Patents by Inventor Clark E. Lubbers

Clark E. Lubbers 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: 6915397
    Abstract: A storage system permits virtual storage of user data by implementing a logical disk mapping structure that provides access to user data stored on physical storage media and methods for generating point-in-time copies, or snapshots, of logical disks. A snapshot logical disk is referred to as a predecessor logical disk and the original logical disk is referred to as a successor logical disk. Creating a snapshot involves creating predecessor logical disk mapping data structures and populating the data structures with metadata that maps the predecessor logical disk to the user data stored on physical media. Logical disks include metadata that indicates whether user information is shared between logical disks. Multiple generations of snapshots may be created, and user data may be shared between these generations. Methods are disclosed for maintaining data accuracy when write I/O operations are directed to a logical disk.
    Type: Grant
    Filed: October 22, 2001
    Date of Patent: July 5, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Clark E. Lubbers, James M. Reiser, Anuja Korgaonkar, Randy L. Roberson, Robert G. Bean
  • Patent number: 6895467
    Abstract: Systems, methods and software for implementing a virtualized storage system. Physical storage is carved into units called physical segments. Logical storage is implemented in atomic logical units called RStores comprising a range of virtual address space that when allocated, is bound to a particular group of PSEGs. RStores preferably implement a selected level of data protection. A pool of physical storage devices is carved into redundant storage sets. A plurality of RStores make up a logical disk that is presented to a user. Storage access requests expressed in terms of logical disk addresses are mapped to PSEGs containing data represented by the logical addresses through a split-directory representation of the logical unit.
    Type: Grant
    Filed: October 22, 2001
    Date of Patent: May 17, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Clark E. Lubbers, Keith D. Woestehoff, Jesse L. Yandell, James M. Reiser, Anuja Korgaonkar, Randy L. Roberson, Robert G. Bean
  • Publication number: 20030084241
    Abstract: Systems, methods and software for implementing a virtualized storage system. Physical storage is carved into units called physical segments. Logical storage is implemented in atomic logical units called RStores comprising a range of virtual address space that when allocated, is bound to a particular group of PSEGs. RStores preferably implement a selected level of data protection. A pool of physical storage devices is carved into redundant storage sets. A plurality of RStores make up a logical disk that is presented to a user. Storage access requests expressed in terms of logical disk addresses are mapped to PSEGs containing data represented by the logical addresses through a split-directory representation of the logical unit.
    Type: Application
    Filed: October 22, 2001
    Publication date: May 1, 2003
    Inventors: Clark E. Lubbers, Keith D. Woestehoff, Jesse L. Yandell, James M. Reiser, Anuja Korgaonkar, Randy L. Roberson, Robert G. Bean
  • Publication number: 20030079102
    Abstract: A storage system permits virtual storage of user data by implementing a logical disk mapping structure that provides access to user data stored on physical storage media and methods for generating point-in-time copies, or snapshots, of logical disks. A snapshot logical disk is referred to as a predecessor logical disk and the original logical disk is referred to as a successor logical disk. Creating a snapshot involves creating predecessor logical disk mapping data structures and populating the data structures with metadata that maps the predecessor logical disk to the user data stored on physical media. Logical disks include metadata that indicates whether user information is shared between logical disks. Multiple generations of snapshots may be created, and user data may be shared between these generations. Methods are disclosed for maintaining data accuracy when write I/O operations are directed to a logical disk.
    Type: Application
    Filed: October 22, 2001
    Publication date: April 24, 2003
    Inventors: Clark E. Lubbers, James M. Reiser, Anuja Korgaonkar, Randy L. Roberson, Robert G. Bean
  • Publication number: 20030079014
    Abstract: A management interface for a virtualized storage system including a virtualized logical disk object representing a virtual storage container, wherein the logical disk is an abstract representation of physical storage capacity provided by plurality of physical stores. A virtual disk object represents a virtual storage container. The virtual disk object is an abstract representation of one or more logical disk objects, the virtual disk object including an exposed management interface. Wherein the virtual disk object is managed through the management interface to select the one or more logical disk objects represented by the virtual disk object.
    Type: Application
    Filed: October 22, 2001
    Publication date: April 24, 2003
    Inventors: Clark E. Lubbers, Keith D. Woestehoff, Masami Y. Hua, Richard P. Helliwell, Randy L. Roberson, Robert G. Bean
  • Publication number: 20030079083
    Abstract: A system and method for high performance multi-controller processing is disclosed. Independent Network storage controllers (NSCs) are connected by a high-speed data link. The NSCs control a plurality of storage devices connected by a Fiber Channel Arbitrated Loop (FCAL). To provide redundancy, for a given logical unit of storage one NSC will function as the primary controller and the other NSC will function as a mirror controller. To enhance the efficiency of command-response data transfers between NSCs, mirror memory is correlated with primary memory and named resources are used for command-response data transfers. Methods are disclosed to provide for efficient active mirroring of data.
    Type: Application
    Filed: October 22, 2001
    Publication date: April 24, 2003
    Inventors: Clark E. Lubbers, R. Brian Schow, Wayne Umland, Randy L. Roberson, Robert G. Bean
  • Patent number: 6279078
    Abstract: An apparatus and method for synchronizing a cache mode in a cache memory system in a computer to protect cache operations. The cache memory system has a first controller and a second controller and two cache modules and operates in a plurality of cache modes. The cache mode is stored as metadata in the cache modules and is detected by the first controller to determine the cache mode. Lock signals in the first controller are set in accordance with the cache mode detected to set the cache mode state in the first controller. The second controller copies the cache mode state from the first controller to synchronize both controllers in the same cache mode state. After a failure of the second controller, the first controller may lock access to both caches to recover data previously accessed by the second controller. The second controller restarts and copies the cache mode state from the first controller, so that both controllers return to the cache mode state prior to the failure of the second controller.
    Type: Grant
    Filed: June 28, 1996
    Date of Patent: August 21, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Stephen J. Sicola, Wayne H. Umland, Clark E. Lubbers, Susan G. Elkington
  • Patent number: 6161192
    Abstract: Metadata described herein on a RAID array includes both device metadata and RAIDset metadata. The device metadata has a device FE bit on each storage device corresponding to each RAID protected block on the storage device. The device FE bit indicates if a corresponding RAID protected block is consistent and thereby useable to regenerate data in another RAID protected block in the corresponding RAID protected block's sliver. The user data also has a forced error bit to indicate if a physical block in the user block has inconsistent data, the RAIDset FE bit. The RAID array of storage devices has user data blocks on each storage device RAID protected by being distributed as slivers of blocks across the RAID array of storage devices. Each sliver has a plurality of user data blocks and one parity block. The RAIDset metadata has the RAIDset FE bit corresponding to each RAID protected user data block in the RAID array.
    Type: Grant
    Filed: October 13, 1995
    Date of Patent: December 12, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Clark E. Lubbers, Stephen J. Sicola, Ronald H. McLean, James Perry Jackson, Robert A. Ellis
  • Patent number: 5974506
    Abstract: A cache memory system is enabled into one of a plurality of cache modes in a cache memory system in a computer. The cache memory system has a first controller and two cache memories, the cache memories are partitioned into quadrants with two quadrants in each cache memory. A cache mode detector in the first controller detects a mirror cache mode set for the cache memory system. An address enabler in the first controller enables access to first pair of quadrants, one quadrant in each cache memory, in response to detection of a mirror cache mode. A second controller follows the cache mode set by the cache mode detector and has an address enabler. The address enabler in the second controller enables access to both quadrants in one cache memory in a non-mirror cache mode, and enables the access to a second pair of quadrants, one quadrant in each cache memory, in response to detection of a mirror cache mode by said cache mode detector.
    Type: Grant
    Filed: June 28, 1996
    Date of Patent: October 26, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Stephen J. Sicola, Wayne H. Umland, Thomas F. Fava, Clark E. Lubbers, Susan G. Elkington
  • Patent number: 5933592
    Abstract: A RAID array includes redundant storage devices. Data is distributed across the storage devices, and organized as slivers of RAID protected data blocks. This redundancy provides for the reconstruction of valid data when data at a particular data block of a sliver is found to be inconsistent. However, when more than one data block of a sliver is found to have inconsistent data, reconstruction of the inconsistent data blocks may not be possible. Nonetheless, data consistency can still be restored to that sliver. Consistency is restored to such a sliver by replacing any inconsistent data in a data block with predetermined data and reconstructing the parity data block using the predetermined data. Other data in the RAID array keeps track of those data blocks with the predetermined data to indicate that such blocks do not contain valid data.
    Type: Grant
    Filed: October 13, 1995
    Date of Patent: August 3, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Clark E. Lubbers, Stephen J. Sicola, Ronald H. McLean, James Perry Jackson, Robert A. Ellis
  • Patent number: 5826001
    Abstract: A data block in a RAID array is reconstructed under the control of metadata recorded on the RAID array. The RAID array has a plurality of members, each member being a data storage device. The metadata includes device metadata for data blocks recorded on each member and RAIDset metadata for RAID protected data blocks recorded across the members of the RAID array. The RAID protected data blocks include user data blocks, RAIDset metadata blocks and parity data blocks. The data blocks are reconstructed by detecting from a device FE bit in the device metadata that a bad data block corresponding to or associated with the device FE bit needs to be reconstructed. The data is read from each data block, other than the bad data block, in the same RAID sliver with bad data block. A RAID sliver of data blocks includes all the data blocks in a RAID protected sliver of data blocks.
    Type: Grant
    Filed: October 13, 1995
    Date of Patent: October 20, 1998
    Assignee: Digital Equipment Corporation
    Inventors: Clark E. Lubbers, Stephen J. Sicola, Ronald H. McLean, James Perry Jackson, Robert A. Ellis
  • Patent number: 5774643
    Abstract: Disclosed is a method and apparatus for reconstructing data in a computer system employing a modified RAID 5 data protection scheme. The computer system includes a write back cache composed of non-volatile memory for storing (1) writes outstanding to a device and associated data read, and (2) storing metadata information in the non-volatile memory. The metadata includes a first field containing the logical block number or address (LBN or LBA) of the data, a second field containing the device ID, and a third field containing the block status. From the metadata information it is determined where the write was intended when the crash occurred. An examination is made to determine whether parity is consistent across the slice, and if not, the data in the non-volatile write back cache is used to reconstruct the write that was occurring when the crash occurred to insure consistent parity, so that only those blocks affected by the crash have to be reconstructed.
    Type: Grant
    Filed: October 13, 1995
    Date of Patent: June 30, 1998
    Assignee: Digital Equipment Corporation
    Inventors: Clark E. Lubbers, Susan G. Elkington, Ronald H. McLean
  • Patent number: 5761501
    Abstract: Disclosed herein is a stacked skip list data structure for maintaining select nodes on multiple lists. The data structure includes a primary and a secondary skip list of nodes. Each node in the primary skip list uses at least one forward pointer in a primary array of forward pointers and provides a node level field for storing the level of such node, the level determined by the number of pointers being used. A secondary skip list is stacked on the primary skip list of nodes. It includes a subset (zero or more nodes) occurring on the primary skip list and utilizes zero or more unused forward pointers in the primary array as its forward pointers. Thus, a system agent performing operations on the secondary skip list utilizes the node level in the node level field as an index into the primary array of forward pointers to locate the secondary array of forward pointers.
    Type: Grant
    Filed: October 2, 1995
    Date of Patent: June 2, 1998
    Assignee: Digital Equipment Corporation
    Inventors: Clark E. Lubbers, Susan G. Elkington
  • Patent number: 5684944
    Abstract: A method for atomically updating Error Detection Code (EDC) protected data in memory such that the EDC protection is maintained to the granularity of a single microprocessor machine instruction. The method is employed in a memory system having a volatile storage area and at least one nonvolatile storage area, each of the storage areas storing a copy of the protected data and two copies of its associated error detection code. The volatile and nonvolatile storage areas each have a first storage location for storing one of the copies of the associated error code and a second storage location for storing the other of the copies of the associated error code. In such a system, a chosen field with the data structure in the volatile copy is updated. Once the volatile copy is updated, a new error detection code is computed with the data in the volatile copy. The new error detection code is then written to the first storage location in each of the storage areas, volatile and nonvolatile, one at a time.
    Type: Grant
    Filed: August 14, 1995
    Date of Patent: November 4, 1997
    Inventors: Clark E. Lubbers, Susan G. Elkington
  • Patent number: 5671406
    Abstract: An apparatus and method for performing a skip list insertion sort on a singly linked list of elements is provided. Each element to be sorted includes a key, an element pointer in an element pointer field and a flag bit. Also provided is an indexed array of pointer arrays. If an element is to be inserted at a node level greater than zero, a free pointer array is allocated by storing an index corresponding to the allocated pointer array in the element pointer field and setting the corresponding flag bit. If a free pointer array is not available, then the node level of the element is forced to zero. If the level of the element is either assigned as or forced to zero, the flag bit is not set and the pointer array itself occupies the element pointer field as the element pointer instead of the index. Thus, the pointer to the element pointer field will point directly to the specified pointer array location without having to index into the array of pointer arrays.
    Type: Grant
    Filed: October 18, 1995
    Date of Patent: September 23, 1997
    Assignee: Digital Equipment Corporation
    Inventors: Clark E. Lubbers, Susan G. Elkington
  • Patent number: 5659739
    Abstract: A system and technique for optimizing the efficiency of maintenance operations performed on skip lists of data elements or nodes stored in memory is provided. Each node of a skip list includes a back pointer for pointing to an immediate predecessor node and a node level field for recording the node level associated with the node. The system further includes a system agent for operating on the data structure, the system agent capable of locating the address of the immediate predecessor node pointing to a selected node by using the back pointer in the selected node.
    Type: Grant
    Filed: October 2, 1995
    Date of Patent: August 19, 1997
    Assignee: Digital Equipment Corporation
    Inventors: Clark E. Lubbers, Susan G. Elkington, Richard F. Lary
  • Patent number: 5504858
    Abstract: A data storage system using a RAID array and a logging process and apparatus that identifies a parity block that may not contain the proper parity for its associated data blocks and which prevents such inconsistent parity information from being used in the regeneration of unavailable data. A small fraction of the blocks of each disk are dedicated to storing parity metadata bits. The parity metadata is associated with the parity blocks and identifies whether or not each parity block contains the proper parity information for its associated data blocks or may contain invalid information. The data integrity of the RAID array is preserved by preventing the generation of undetected corrupt data.
    Type: Grant
    Filed: February 8, 1995
    Date of Patent: April 2, 1996
    Assignee: Digital Equipment Corporation
    Inventors: Robert A. Ellis, Clark E. Lubbers, Steven J. Malan, Peter Rivera, Sid Snyder, David W. Thiel, Richard B. Wells
  • Patent number: 5390327
    Abstract: In a storage system having a plurality of disks arranged in a RAID-4 or RAID-5 array, a method of improving the performance and reliability of the array in the absence of a member. The method re-organizes the array into the equivalent of a higher performance and reliability RAID-0 organization while allowing concurrent high performance application access to the array and includes a deliberate reorganization activity concurrent with application access. The method also restores the RAID-4 or RAID-5 organization subsequent to the failure of a member using a replacement member while continuing to allow concurrent high performance application access to the array. In order to perform this reorganization on-line state information is maintained for each parity block, each data block and the array itself. A recently removed disk may be reinserted using an expedited replacement process.
    Type: Grant
    Filed: June 29, 1993
    Date of Patent: February 14, 1995
    Assignee: Digital Equipment Corporation
    Inventors: Clark E. Lubbers, David W. Thiel