Patents by Inventor John R. Kloeppner
John R. Kloeppner 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: 9110796Abstract: Apparatus and circuitry are provided for supporting collection and/or verification of data integrity information. A circuitry in a storage controller is provided for creating and/or verifying a Data Integrity Block (“DIB”). The circuitry comprises a processor interface for coupling with the processor of the storage controller. The circuitry also comprises a memory interface for coupling with a cache memory of the storage controller. By reading a plurality of Data Integrity Fields (“DIFs”) from the cache memory through the memory interface based on information received from the processor, the DIB is created in that each DIF in the DIB corresponds to a respective data block.Type: GrantFiled: January 27, 2009Date of Patent: August 18, 2015Assignee: Avago Technologies General IP (Singapore) Pte LtdInventors: Dennis E. Gates, John R. Kloeppner
-
Patent number: 9019708Abstract: Apparatus and systems for improved access to storage devices from the sides of sleds mounted in storage enclosures. Embodiments provide apparatus and systems for a sled in a storage enclosure that provides access to storage devices on either side of the sled when the sled is slid forward out of its enclosure. Multiple sleds may be enclosed within a single enclosure to permit access to a portion of the storage devices in the enclosure hence reducing the problems of instability of the rack if the enclosure is mounted near the top of the rack.Type: GrantFiled: August 25, 2011Date of Patent: April 28, 2015Assignee: LSI CorporationInventors: Macen Shinsato, Mohamad H. El-Batal, Robert E. Stubbs, Jason M. Stuhlsatz, John R. Kloeppner
-
Patent number: 8756371Abstract: Methods and apparatus for improved calculation of redundancy information in RAID storage controllers. Features and aspects hereof provide for a firmware/software element (FPE) for generating redundancy information in combination with a custom logic circuit (HPE) designed to generate redundancy information. A scheduler element operable on a processor of a storage controller along with the FPE determines which of the FPE and HPE is best suited to rapidly complete a new redundancy computation operation and activates or queues the new operation for performance by the selected component.Type: GrantFiled: October 12, 2011Date of Patent: June 17, 2014Assignee: LSI CorporationInventors: Randy K. Hall, Dennis E. Gates, Randolph W Sterns, John R. Kloeppner, Mohamad H. El-Batal
-
Publication number: 20130205065Abstract: Methods and structure for an improved solid-state drive (SSD) for use in caching applications. An improved SSD comprises both volatile and non-volatile memory. The volatile memory provides improved performance as compared to present SSDs for use in caching application. The improved SSD senses impending failure of external power applied to the SSD and, while adequate power remains, copies cached data from the volatile memory to the non-volatile memory to retain the data through the power loss. In some embodiments, a local power source may be present to assure sufficient time for the SSD to save cached data in the non-volatile memory. Since the volatile memory (e.g., DRAM) is used for the primary caching function and the non-volatile memory is rarely used, performance, reliability and cost goals are achieved for write cache applications.Type: ApplicationFiled: February 2, 2012Publication date: August 8, 2013Applicant: LSI CORPORATIONInventors: John R. Kloeppner, Mohamad H. El-Batal
-
Publication number: 20130097376Abstract: Methods and apparatus for improved calculation of redundancy information in RAID storage controllers. Features and aspects hereof provide for a firmware/software element (FPE) for generating redundancy information in combination with a custom logic circuit (HPE) designed to generate redundancy information. A scheduler element operable on a processor of a storage controller along with the FPE determines which of the FPE and HPE is best suited to rapidly complete a new redundancy computation operation and activates or queues the new operation for performance by the selected component.Type: ApplicationFiled: October 12, 2011Publication date: April 18, 2013Applicant: LSI CORPORATIONInventors: Randy K. Hall, Dennis E. Gates, Randolph W. Sterns, John R. Kloeppner, Mohamad H. El-Batal
-
Publication number: 20130050955Abstract: Apparatus and systems for improved access to storage devices from the sides of sleds mounted in storage enclosures. Embodiments provide apparatus and systems for a sled in a storage enclosure that provides access to storage devices on either side of the sled when the sled is slid forward out of its enclosure. Multiple sleds may be enclosed within a single enclosure to permit access to a portion of the storage devices in the enclosure hence reducing the problems of instability of the rack if the enclosure is mounted near the top of the rack.Type: ApplicationFiled: August 25, 2011Publication date: February 28, 2013Applicant: LSI CORPORATIONInventors: Macen Shinsato, Mohamad H. El-Batal, Robert E. Stubbs, Jason M. Stuhlsatz, John R. Kloeppner
-
Publication number: 20110238938Abstract: A method includes multicasting an Input/Output (I/O) data associated with a host computing device through a multicast device associated with a storage controller coupled to another storage controller in a redundant configuration, and minoring, through the multicasting, the I/O data across the storage controller and the another storage controller through a bus utilized to couple the storage controller and the another storage controller. The method also includes transmitting an early write status message to the host computing device following the minoring of the I/O data across the storage controller and the another storage controller. The early write status message is associated with a successful completion of the mirroring of the I/O data across the storage controller and the another storage controller prior to the I/O data being written to a storage device associated therewith.Type: ApplicationFiled: October 30, 2008Publication date: September 29, 2011Applicant: LSI CorporationInventors: John R Kloeppner, Mohamad El-Batal
-
Patent number: 7913027Abstract: A configurable storage array controller can be configured to either a single-processor configuration or a multi-processor configuration by configuring a data bus switch system.Type: GrantFiled: April 7, 2009Date of Patent: March 22, 2011Assignee: LSI CorporationInventors: John R. Kloeppner, Jeremy D. Stover, Dennis E. Gates, Jason M. Stuhlsatz, Robert E. Stubbs, Mohamad El-Batal
-
Publication number: 20100257301Abstract: A configurable storage array controller can be configured to either a single-processor configuration or a multi-processor configuration by configuring a data bus switch system.Type: ApplicationFiled: April 7, 2009Publication date: October 7, 2010Applicant: LSI CORPORATIONInventors: John R. Kloeppner, Jeremy D. Stover, Dennis E. Gates, Jason M. Stuhlsatz, Robert E. Stubbs, Mohamad El-Batal
-
Publication number: 20100191910Abstract: Apparatus and circuitry are provided for supporting collection and/or verification of data integrity information. A circuitry in a storage controller is provided for creating and/or verifying a Data Integrity Block (“DIB”). The circuitry comprises a processor interface for coupling with the processor of the storage controller. The circuitry also comprises a memory interface for coupling with a cache memory of the storage controller. By reading a plurality of Data Integrity Fields (“DIFs”) from the cache memory through the memory interface based on information received from the processor, the DIB is created in that each DIF in the DIB corresponds to a respective data block.Type: ApplicationFiled: January 27, 2009Publication date: July 29, 2010Inventors: Dennis E. Gates, John R. Kloeppner
-
Patent number: 7676617Abstract: A method for verifying the proper communication of data packets from an initiator device on a PCIe data bus to a target device on the data bus. A target-specific counter on the initiator is synchronized to an initiator-specific counter on the target with the same value. The initiator writes the value of the target-specific counter into the tag field of the packet header, and also writes an identifier of the initiator into the header. Then the initiator sends the packet to the target on the PCIe data bus. Upon receipt of the packet, the target reads the identifier and checks the value against the appropriate initiator-specific counter on the target. When the value is not equal to the initiator-specific counter on the target, then it generates an error message. An additional memory write with specific data is posted from the initiator to the target. A memory read is posted of the additional memory write location from the initiator to the target.Type: GrantFiled: March 31, 2008Date of Patent: March 9, 2010Assignee: LSI CorporationInventor: John R. Kloeppner
-
Publication number: 20090248942Abstract: A method for verifying the proper communication of data packets from an initiator device on a PCIe data bus to a target device on the data bus. A target-specific counter on the initiator is synchronized to an initiator-specific counter on the target with the same value. The initiator writes the value of the target-specific counter into the tag field of the packet header, and also writes an identifier of the initiator into the header. Then the initiator sends the packet to the target on the PCIe data bus. Upon receipt of the packet, the target reads the identifier and checks the value against the appropriate initiator-specific counter on the target. When the value is not equal to the initiator-specific counter on the target, then it generates an error message. An additional memory write with specific data is posted from the initiator to the target. A memory read is posted of the additional memory write location from the initiator to the target.Type: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Applicant: LSI CORPORATIONInventor: John R. Kloeppner
-
Patent number: 7562176Abstract: Apparatus, systems and methods for clustering multiple PCI Express hierarchies to enable access of components in different hierarchies. Each PCI Express hierarchy includes a root device as well as a cluster port for coupling each hierarchy to each other hierarchy of a physical cluster through a PCI Express switched fabric. Memory addresses and transaction IDs are re-mapped by the cluster port of each hierarchy to partition the PCI Express space of the system of multiple hierarchies. A first portion of the partitioned space is reserved for access to local components within a hierarchy. A second portion of the space is used to access remote components of other hierarchies from within a different first hierarchy. The address and transaction ID values exchanged in such remote transactions are re-mapped and used by the cluster port of each hierarchy to route exchanges between hierarchies using standard PCIe root devices, endpoint devices, and switches.Type: GrantFiled: February 28, 2007Date of Patent: July 14, 2009Assignee: LSI CorporationInventors: John R. Kloeppner, Dennis E. Gates, Robert E. Stubbs, Mohamad H. El-Batal, Russell J. Henry, Charles E. Nichols
-
Publication number: 20080209099Abstract: Apparatus, systems and methods for clustering multiple PCI Express hierarchies to enable access of components in different hierarchies. Each PCI Express hierarchy includes a root device as well as a cluster port for coupling each hierarchy to each other hierarchy of a physical cluster through a PCI Express switched fabric. Memory addresses and transaction IDs are re-mapped by the cluster port of each hierarchy to partition the PCI Express space of the system of multiple hierarchies. A first portion of the partitioned space is reserved for access to local components within a hierarchy. A second portion of the space is used to access remote components of other hierarchies from within a different first hierarchy. The address and transaction ID values exchanged in such remote transactions are re-mapped and used by the cluster port of each hierarchy to route exchanges between hierarchies using standard PCIe root devices, endpoint devices, and switches.Type: ApplicationFiled: February 28, 2007Publication date: August 28, 2008Inventors: John R. Kloeppner, Dennis E. Gates, Robert E. Stubbs, Mohamad H. El-Batal, Russell J. Henry, Charles E. Nichols
-
Patent number: 7043622Abstract: Systems and methods for handling I/O requests from a host system to a storage system. A system includes an I/O module for processing I/O requests from a host system, a virtualized storage element, and a communication medium coupling the I/O module to the virtualized storage elements. The virtualized storage element includes a mapping table for translating virtual storage locations into physical storage locations and a plurality of physical storage locations. The virtualized storage element generates base virtual addresses using the mapping table to communicate the base virtual addresses to the I/O module. The I/O module generates specific virtual addresses using the base virtual addresses and using information derived from the I/O requests. The I/O module uses the specific virtual addresses in communication with the virtualized storage element to identify the physical storage locations in the virtualized storage element.Type: GrantFiled: December 23, 2002Date of Patent: May 9, 2006Assignee: LSI Logic CorporationInventors: Russell J. Henry, Bret S. Weber, Dennis E. Gates, John R. Kloeppner, Keith W. Holt
-
Patent number: 7035995Abstract: A hardware assisted searching mechanism is provided that offloads the processor from searching operations. In a preferred embodiment, the hardware assisted searching mechanism performs a binary search of an associated 32 bit register against a binary search table that is set up by the firmware of the storage system. From this binary search table, an index into other structures stored in firmware is obtained that may be used to identify a target device. For example, when a search is to be performed due to receipt of an I/O operation, the firmware, i.e. software instructions stored in the persistent memory chip that are executed by the system processor, writes a 32 bit value to a hardware register that is used by the hardware assisted searching mechanism of the present invention. The hardware assisted searching mechanism performs a binary search of a binary search table based on the contents of the hardware register and returns an index of the entry in another hardware register.Type: GrantFiled: December 11, 2002Date of Patent: April 25, 2006Assignee: LSI Logic CorporationInventors: Russell J. Henry, Bret S. Weber, Dennis E. Gates, John R. Kloeppner, Keith William Holt
-
Patent number: 6917990Abstract: Methods and associated structure for improving storage system performance by reducing latency associated with communication medium transactions internal to a storage subsystem. In one aspect of the present invention, an I/O control element associated with a storage system transmits prefetch read requests to an associated storage element of the storage system in response to receipt of a host system request. This allows the storage element to commence data transfer to the I/O element in advance of the I/O element returning the data to the host system. Subsequent transfers of data from the storage element to the I/O element then overlap the transfer of data from the I/O element to the host.Type: GrantFiled: December 23, 2002Date of Patent: July 12, 2005Assignee: LSI Logic CorporationInventors: Russell J. Henry, Bret S. Weber, Dennis E. Gates, John R. Kloeppner, Keith W. Holt
-
Publication number: 20040122987Abstract: Methods and associated structure for improving storage system performance by reducing latency associated with communication medium transactions internal to a storage subsystem. In one aspect of the present invention, an I/O control element associated with a storage system transmits prefetch read requests to an associated storage element of the storage system in response to receipt of a host system request. This allows the storage element to commence data transfer to the I/O element in advance of the I/O element returning the data to the host system. Subsequent transfers of data from the storage element to the I/O element then overlap the transfer of data from the I/O element to the host.Type: ApplicationFiled: December 23, 2002Publication date: June 24, 2004Inventors: Russell J. Henry, Bret S. Weber, Dennis E. Gates, John R. Kloeppner, Keith W. Holt
-
Publication number: 20040123017Abstract: Systems and methods for handling I/O requests from a host system to a storage system. A system includes an I/O module for processing I/O requests from a host system, a virtualized storage element, and a communication medium coupling the I/O module to the virtualized storage elements. The virtualized storage element includes a mapping table for translating virtual storage locations into physical storage locations and a plurality of physical storage locations. The virtualized storage element generates base virtual addresses using the mapping table to communicate the base virtual addresses to the I/O module. The I/O module generates specific virtual addresses using the base virtual addresses and using information derived from the I/O requests. The I/O module uses the specific virtual addresses in communication with the virtualized storage element to identify the physical storage locations in the virtualized storage element.Type: ApplicationFiled: December 23, 2002Publication date: June 24, 2004Inventors: Russell J. Henry, Bret S. Weber, Dennis E. Gates, John R. Kloeppner, Keith W. Holt
-
Publication number: 20040117596Abstract: A hardware assisted searching mechanism is provided that offloads the processor from searching operations. In a preferred embodiment, the hardware assisted searching mechanism performs a binary search of an associated 32 bit register against a binary search table that is set up by the firmware of the storage system. From this binary search table, an index into other structures stored in firmware is obtained that may be used to identify a target device. For example, when a search is to be performed due to receipt of an I/O operation, the firmware, i.e. software instructions stored in the persistent memory chip that are executed by the system processor, writes a 32 bit value to a hardware register that is used by the hardware assisted searching mechanism of the present invention. The hardware assisted searching mechanism performs a binary search of a binary search table based on the contents of the hardware register and returns an index of the entry in another hardware register.Type: ApplicationFiled: December 11, 2002Publication date: June 17, 2004Inventors: Russell J. Henry, Bret S. Weber, Dennis E. Gates, John R. Kloeppner, Keith William Holt