Patents by Inventor Michael J. Koster

Michael J. Koster has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9164554
    Abstract: Approaches for a non-volatile, solid-state storage system that is capable of supporting high bandwidth and/or random read/write access. The storage system may include a chassis having a bus slot and a disk bay, a master card mounted in the bus slot, and a flash memory card stacked in the disk bay and cabled to the master card. The master card enables one or more flash memory cards to be communicatively coupled to a single PCI Express bus. The master card may split a multi-lane PCI Express bus into a plurality of lanes, where one or more of the flash memory cards communicate over each of the plurality of lanes. Alternately, the master card may includes active circuitry for processing, switching, routing, reformatting, and/or converting the PCI Express bus into one or more busses for a plurality of flash memory cards. The stacked flash memory card is not in an enclosure.
    Type: Grant
    Filed: April 11, 2011
    Date of Patent: October 20, 2015
    Assignee: SANDISK ENTERPRISE IP LLC
    Inventors: Ulrich Bruening, Richard Jordan, Michael J. Koster, Darpan Dinker
  • Patent number: 9047351
    Abstract: Approaches for a distributed storage system that comprises a plurality of nodes. Each node, of the plurality of nodes, executes one or more application processes which are capable of accessing persistent shared memory. The persistent shared memory is implemented by solid state devices physically maintained on each of the plurality of nodes. Each the one or more application processes, maintained on a particular node, of the plurality of nodes, communicates with a shared data fabric (SDF) to access the persistent shared memory. The persistent shared memory comprises a scoreboard implemented in shared DRAM memory that is mapped to a persistent storage. The scoreboard provides a crash tolerant mechanism for enabling application processes to communicate with the shared data fabric (SDF).
    Type: Grant
    Filed: April 11, 2011
    Date of Patent: June 2, 2015
    Assignee: SANDISK ENTERPRISE IP LLC
    Inventors: Thomas A. Riddle, Darpan Dinker, Andrew D. Eckhardt, Michael J. Koster
  • Patent number: 8856593
    Abstract: Data replication in a distributed node system including one or more nodes. A consensus protocol for failure recovery is implemented. Data items and information relating to consensus protocol roles of participant nodes are stored in at least some of the plurality of nodes. Logical logs stored in at least some of the plurality of nodes are created. The logical logs contain additional consensus protocol information including container metadata and replicated data.
    Type: Grant
    Filed: April 12, 2011
    Date of Patent: October 7, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Andrew D. Eckhardt, Michael J. Koster
  • Patent number: 8396937
    Abstract: A method and system for increasing programmability and scalability of a multi-processor network. A system includes two or more nodes coupled via a network with each node comprising a processor unit and memory. The processor unit includes one or more processors and a wiretap unit. The wiretap unit is configured to monitor memory accesses of the processors. A transaction may execute a number of read and/or write operations to memory. The nodes are configured to replicate one or more portions of memory; detect data conflicts to memory; and restore memory to pre-transaction state if needed.
    Type: Grant
    Filed: April 30, 2007
    Date of Patent: March 12, 2013
    Assignee: Oracle America, Inc.
    Inventors: Brian W. O'Krafka, Darpan Dinker, Michael J. Koster
  • Patent number: 8151057
    Abstract: A shared cache is point-to-point connected to a plurality of point-to-point connected processing nodes, wherein the processing nodes may be integrated circuits or multiprocessing systems. In response to a local cache miss, a requesting processing node issues a broadcast for requested data which is observed by the shared cache. If the shared cache has a copy of the requested data, the shared cache forwards the copy of the requested data to the requesting processing node.
    Type: Grant
    Filed: July 15, 2004
    Date of Patent: April 3, 2012
    Assignee: Oracle America, Inc.
    Inventors: Michael J. Koster, Shailendra Deva, Brian W. O'Krafka
  • Publication number: 20120017037
    Abstract: Approaches for a distributed storage system that comprises a plurality of nodes. Each node, of the plurality of nodes, executes one or more application processes which are capable of accessing persistent shared memory. The persistent shared memory is implemented by solid state devices physically maintained on each of the plurality of nodes. Each the one or more application processes, maintained on a particular node, of the plurality of nodes, communicates with a shared data fabric (SDF) to access the persistent shared memory. The persistent shared memory comprises a scoreboard implemented in shared DRAM memory that is mapped to a persistent storage. The scoreboard provides a crash tolerant mechanism for enabling application processes to communicate with the shared data fabric (SDF).
    Type: Application
    Filed: April 11, 2011
    Publication date: January 19, 2012
    Inventors: Thomas A. Riddle, Darpan Dinker, Andrew D. Eckhardt, Michael J. Koster
  • Publication number: 20120011398
    Abstract: Data replication in a distributed node system including one or more nodes. A consensus protocol for failure recovery is implemented. Data items and information relating to consensus protocol roles of participant nodes are stored in at least some of the plurality of nodes. Logical logs stored in at least some of the plurality of nodes are created. The logical logs contain additional consensus protocol information including container metadata and replicated data.
    Type: Application
    Filed: April 12, 2011
    Publication date: January 12, 2012
    Inventors: Andrew D. Eckhardt, Michael J. Koster
  • Publication number: 20120011302
    Abstract: Approaches for a non-volatile, solid-state storage system that is capable of supporting high bandwidth and/or random read/write access. The storage system may include a chassis having a bus slot and a disk bay, a master card mounted in the bus slot, and a flash memory card stacked in the disk bay and cabled to the master card. The master card enables one or more flash memory cards to be communicatively coupled to a single PCI Express bus. The master card may split a multi-lane PCI Express bus into a plurality of lanes, where one or more of the flash memory cards communicate over each of the plurality of lanes. Alternately, the master card may includes active circuitry for processing, switching, routing, reformatting, and/or converting the PCI Express bus into one or more busses for a plurality of flash memory cards. The stacked flash memory card is not in an enclosure.
    Type: Application
    Filed: April 11, 2011
    Publication date: January 12, 2012
    Inventors: Ulrich Bruening, Richard Jordan, Michael J. Koster, Darpan Dinker
  • Patent number: 7856421
    Abstract: A method and system for increasing reliability and availability of a multi-processor network. A system includes a network with at least two nodes, with each node comprising a multi-processor unit (mpu) and memory. The mpu includes one or more processors and a wiretap unit. The wiretap unit and the memory included in the node are coupled to the processors in the node. The wiretap unit is configured to monitor memory accesses of the processors and convey data indicative of such accesses to a second node. The second node maintains a replica of memory in the first node, and is configured to undo modifications to the memory if needed. In the event of a hardware or software fault, the nodes are configured to restart the application on another node.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: December 21, 2010
    Assignee: Oracle America, Inc.
    Inventors: Brian W. O'Krafka, Darpan Dinker, Michael J. Koster
  • Patent number: 7698509
    Abstract: A multiprocessing node has a plurality of point-to-point connected microprocessors. Each of the microprocessors is also point-to-point connected to a filter. In response to a local cache miss, a microprocessor issues a broadcast for the requested data to the filter. The filter, using memory that stores a copy of the tags of data stored in the local cache memories of each of the microprocessors, relays the broadcast to those/microprocessors having copies of the requested data. If the snoop filter memory indicates that none of the microprocessors have a copy of the requested data, the snoop filter may either (i) cancel the broadcast and issue a message back to the requesting microprocessor, or (ii) relay the broadcast to a connected multiprocessing node.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: April 13, 2010
    Assignee: Oracle America, Inc.
    Inventors: Michael J. Koster, Christopher L. Johnson, Brian W. O'Krafka
  • Patent number: 7562190
    Abstract: A proximity interconnect module includes a plurality of processors operatively connected to a plurality of off-chip cache memories by proximity communication. Due to the high bandwidth capability of proximity interconnect, enhancements to the cache protocol to improve latency may be made despite resulting increased bandwidth consumption.
    Type: Grant
    Filed: June 17, 2005
    Date of Patent: July 14, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael J. Koster, Brian W. O'Krafka
  • Patent number: 7496712
    Abstract: A proximity interconnect module includes a plurality of off-chip cache memories. Either disposed external to the proximity interconnect module or on the proximity interconnect module are a plurality of processors that are dependent on the plurality of off-chip cache memories for servicing requests for data. The plurality of off-chip cache memories are operatively connected to either one another or to one or more of the plurality of processors by proximity communication. Each of the plurality of off-chip cache memories may cache certain portions of the physical address space.
    Type: Grant
    Filed: June 17, 2005
    Date of Patent: February 24, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Brian W. O'Krafka, Michael J. Koster
  • Publication number: 20080288556
    Abstract: A method and system for increasing reliability and availability of a multi-processor network. A system includes a network with at least two nodes, with each node comprising a multi-processor unit (mpu) and memory. The mpu includes one or more processors and a wiretap unit. The wiretap unit and the memory included in the node are coupled to the processors in the node. The wiretap unit is configured to monitor memory accesses of the processors and convey data indicative of such accesses to a second node. The second node maintains a replica of memory in the first node, and is configured to undo modifications to the memory if needed. In the event of a hardware or software fault, the nodes are configured to restart the application on another node.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Inventors: Brian W. O'Krafka, Darpan Dinker, Michael J. Koster
  • Patent number: 7444473
    Abstract: A proximity interconnect module includes a plurality of processors operatively connected to a plurality of off-chip cache memories by proximity communication. Due to the high bandwidth capability of proximity interconnect, when an off-chip cache memory is searched for requested data, either the requested data is at the same time searched for in on-chip cache memories of the proximity interconnect module or the requested data is at the same time retrieved from main memory. This reduces latency by reducing serial operations.
    Type: Grant
    Filed: June 17, 2005
    Date of Patent: October 28, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael J. Koster, Brian W. O'Krafka
  • Patent number: 7315919
    Abstract: A cluster of multiprocessing nodes uses snooping-based cache-coherence to maintain consistency among the cache memories of the multiprocessing nodes. One or more of the multiprocessing nodes each maintain a directory table that includes a list of addresses of data last transferred by cache-to-cache transfer transactions. Thus, upon a local cache miss for requested data, a multiprocessing node searches its directory table for an address of the requested data, and if the address is found in the directory table, the multiprocessing node obtains a copy of the requested data from the last destination of the requested data as indicated in the directory table. Thereafter, a message indicating the completion of a cache-to-cache transfer is broadcast to other connected multiprocessing nodes on a “best efforts” basis in which messages are relayed from multiprocessing node to multiprocessing node using low priority status and/or otherwise unused cycles.
    Type: Grant
    Filed: June 15, 2004
    Date of Patent: January 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Brian W. O'Krafka, Michael J. Koster
  • Patent number: 7213106
    Abstract: A point-to-point connected multiprocessing node uses a snooping-based cache-coherence filter to selectively direct relays of data request broadcasts. The filter includes shadow cache lines that are maintained to hold copies of the local cache lines of integrated circuits connected to the filter. The shadow cache lines are provided with additional entries so that if newly referenced data is added to a particular local cache line by “silently” removing an entry in the local cache line, the newly referenced data may be added to the shadow cache line without forcing the “blind” removal of an entry in the shadow cache line.
    Type: Grant
    Filed: August 9, 2004
    Date of Patent: May 1, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael J. Koster, Brian W. O'Krafka
  • Patent number: 7174430
    Abstract: A multiprocessing node in a snooping-based cache-coherent cluster of processing nodes maintains a cache-to-cache transfer prediction directory of addresses of data last transferred by cache-to-cache transfers. In response to a local cache miss, the multiprocessing node may use the cache-to-cache transfer prediction directory to predict a cache-to-cache transfer and issue a restricted broadcast for requested data that allows only cache memories in the cluster to return copies of the requested data to the requesting multiprocessing node, thereby reducing the consumption of bandwidth that would otherwise be consumed by having a home memory return a copy of the requested data in response to an unrestricted broadcast for requested data that allows cache memories and home memories in a cluster to return copies of the requested data to the requesting multiprocessing node.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: February 6, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Brian W. O'Krafka, Michael J. Koster