Patents by Inventor David C. Stallmo

David C. Stallmo 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: 6289398
    Abstract: A RAID-compatible data storage system which allows incremental increases in storage capacity at a cost that is proportional to the increase in capacity. The system does not require changes to the host system. The control and interface functions previously performed by a single (or redundant) central data storage device controller are distributed among a number of modular control units (MCUs). Each MCU is preferably physically coupled to a data storage device to form a basic, low-cost integrated storage node. One of two bus ports interfaces an MCU with the host computer on a host bus, and the other bus port interfaces an MCU with one or more data storage devices coupled to the MCU by a data storage device bus. The serial interface ports provide a means by which each of the MCUs may communicate with each other MCU to facilitate the implementation of a memory array architecture.
    Type: Grant
    Filed: July 27, 1998
    Date of Patent: September 11, 2001
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, William A. Brant, Randy Hall
  • Patent number: 6052759
    Abstract: A Redundant Array of Independent Disks (RAID) system that is adaptable to host Input/Output traffic, wherein the RAID configuration is hidden from the host computer, and wherein the system uses various methods for striping and organizing data across the array when disks are added or removed. The system dynamically determines the RAID configuration used to store host data. To maximize response time and avoid a write penalty, small write operations are mapped into RAID 1 configurations, and medium and large write operations are mapped into RAID 3 configurations. The data are migrated into RAID 5 configurations as a background operation, to minimize the disk space lost. The system hides configuration changes necessary for the addition and/or removal of disks to/from the disk array by unstriping data, adding or deleting (removing) a disk and then restriping data over all the disks.
    Type: Grant
    Filed: November 12, 1998
    Date of Patent: April 18, 2000
    Inventors: David C. Stallmo, Randy K. Hall
  • Patent number: 5911779
    Abstract: A fault-tolerant storage device array using a copyback cache storage unit for temporary storage. When a Write occurs to the RAID system, the data is immediately written to the first available location in the copyback cache storage unit. Upon completion of the Write to the copyback cache storage unit, the host CPU is immediately informed that the Write was successful. Thereafter, further storage unit accesses by the CPU can continue without waiting for an error-correction block update for the data just written. In a first embodiment of the invention, Read-Modify-Write operations are performed during idle time. In a second embodiment of the invention, normal Read-Modify-Write operation by the RAID system controller continue use Write data in the controller's buffer memory. In a third embodiment, at least two controllers, each associated with one copyback cache storage unit, copy Write data from controller buffers to the associated copyback cache storage unit.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: June 15, 1999
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, William A. Brant
  • Patent number: 5875456
    Abstract: A Redundant Array of Independent Disks (RAID) system that is adaptable to host Input/Output traffic, wherein the RAID configuration is hidden from the host computer, and wherein the system uses various methods for striping and organizing data across the array when disks are added or removed. The system dynamically determines the RAID configuration used to store host data. To maximize response time and avoid a write penalty, small write operations are mapped into RAID 1 configurations, and medium and large write operations are mapped into RAID 3 configurations. The data are migrated into RAID 5 configurations as a background operation, to minimize the disk space lost. The system hides configuration changes necessary for the addition and/or removal of disks to/from the disk array by unstriping data, adding or deleting (removing) a disk and then restriping data over all the disks.
    Type: Grant
    Filed: August 17, 1995
    Date of Patent: February 23, 1999
    Assignee: nStor Corporation
    Inventors: David C. Stallmo, Randy K. Hall
  • Patent number: 5787459
    Abstract: A RAID-compatible data storage system which allows incremental increases in storage capacity at a cost that is proportional to the increase in capacity. The system does not require changes to the host system. The control and interface functions previously performed by a single (or redundant) central data storage device controller are distributed among a number of modular control units (MCUs). Each MCU is preferably physically coupled to a data storage device to form a basic, low-cost integrated storage node. One of two bus ports interfaces an MCU with the host computer on a host bus, and the other bus port interfaces an MCU with one or more data storage devices coupled to the MCU by a data storage device bus. The serial interface ports provide a means by which each of the MCUs may communicate with each other MCU to facilitate the implementation of a memory array architecture.
    Type: Grant
    Filed: December 27, 1995
    Date of Patent: July 28, 1998
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, William A. Brant, Randy Hall
  • Patent number: 5689678
    Abstract: A RAID-compatible data storage system which allows incremental increases in storage capacity at a cost that is proportional to the increase in capacity. The system does not require changes to the host system. The control and interface functions previously performed by a single (or redundant) central data storage device controller are distributed among a number of modular control units (MCUs). Each MCU is preferably physically coupled to a data storage device to form a basic, low-cost integrated storage node. One of two bus ports interfaces an MCU with the host computer on a host bus, and the other bus port interfaces an MCU with one or more data storage devices coupled to the MCU by a data storage device bus. The serial interface ports provide a means by which each of the MCUs may communicate with each other MCU to facilitate the implementation of a memory array architecture.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: November 18, 1997
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, William A. Brant, Randy Hall
  • Patent number: 5657468
    Abstract: A RAID disk array that is adaptable to host I/O traffic, wherein the RAID configuration is hidden from the host computer. The system dynamically determines the RAID configuration used to store host data to maximize response time performance and minimize the loss of disk space used for data protection. To maximize response time and avoid a write penalty, small write operations are mapped into RAID 1 configurations, and medium and large write operations are mapped into RAID 3 configurations. These segments are migrated into RAID 5 configurations as a background operation, to minimize the disk space lost. The system hides configuration changes necessary for the addition and/or deletion of disks to the disk array. While these changes are in progress, the disk array remains on-line and all host data is available for access and modification.
    Type: Grant
    Filed: August 17, 1995
    Date of Patent: August 12, 1997
    Assignee: Ambex Technologies, Inc.
    Inventors: David C. Stallmo, Randy K. Hall
  • Patent number: 5617530
    Abstract: A fault-tolerant storage device array using a copyback cache storage unit for temporary storage. When a Write occurs to the RAID system, the data is immediately written to the first available location in the copyback cache storage unit. Upon completion of the Write to the copyback cache storage unit, the host CPU is immediately informed that the Write was successful. Thereafter, further storage unit accesses by the CPU can continue without waiting for an error-correction block update for the data just written. In a first embodiment of the invention, Read-Modify-Write operations are performed during idle time. In a second embodiment of the invention, normal Read-Modify-Write operation by the RAID system controller continue use Write data in the controller's buffer memory. In a third embodiment, at least two controllers, each associated with one copyback cache storage unit, copy Write data from controller buffers to the associated copyback cache storage unit.
    Type: Grant
    Filed: December 27, 1995
    Date of Patent: April 1, 1997
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, William A. Brant
  • Patent number: 5613059
    Abstract: A method for on-line restoration of redundancy information in a redundant array storage system. The invention provides alternative methods of restoring valid data to a storage unit after a Write failure caused by a temporary storage unit fault. In the first preferred method, a valid redundancy block is generated for the corresponding data blocks on all storage units. Resubmitting the interrupted Write operation causes the old (and potentially corrupted) data block to be "subtracted" out of the re-computed redundancy block. The uncorrupted new data block is written over the old data block, and is "added" into the re-computed redundancy block to create a new, corrected redundancy block. The new, corrected redundancy block is written to the appropriate storage unit. In the second preferred method, a new redundancy block is generated from all valid data blocks and the new data block. The new redundancy block and the new data block are then written to the appropriate storage units.
    Type: Grant
    Filed: December 1, 1994
    Date of Patent: March 18, 1997
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, William A. Brant, David Gordon
  • Patent number: 5548711
    Abstract: An array controller including a DATA-RAM and a SHADOW-RAM. Both the DATA-RAM and the SHADOW-RAM are coupled to a first and second memory interface. Each memory interface has the ability to independently communicate the contents of the SHADOW-RAM over a controller-controller data link to at least one other similar array controller. The memory interface also interfaces the DATA-RAM and the SHADOW-RAM to a CPU, the data storage units of the RAID system, and the controller processor. Write data received from the CPU is stored in the two independent memories in order to ensure that pending Write data (i.e., Write data that has not yet been written to the RAID system, including any copyback cache device) will not be lost. In addition, the two memory interfaces provide redundant access routes which allow Write data to be retrieved by another array controller if the controller processor fails.
    Type: Grant
    Filed: December 22, 1994
    Date of Patent: August 20, 1996
    Assignee: EMC Corporation
    Inventors: William A. Brant, Gary Neben, Michael E. Nielson, David C. Stallmo
  • Patent number: 5546535
    Abstract: A redundant array storage system including storage units divided into two logical arrays. The redundant array storage system further includes a plurality of array control units which are all fully utilized to control data transfers between the logical arrays and a central processing unit, each controller being capable of taking over the task of a failed controller. In normal operation, each redundant array controller may only access data stored in a logical array assigned to that controller. If the other redundant array controller fails, the remaining controller may access the data stored in the logical array assigned to the failed controller only through a secondary control process that is independent from the primary control process of the remaining controller. Thus, the invention prevents parity data associated with user data placed in storage from being corrupted by attempts of two or more array control units to access the same redundancy group of data concurrently.
    Type: Grant
    Filed: January 13, 1995
    Date of Patent: August 13, 1996
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, Anthony Andrews, Candace Brinkman
  • Patent number: 5526482
    Abstract: A fault-tolerant storage device array using a copyback cache storage unit for temporary storage. When a Write occurs to the RAID system, the data is immediately written to the first available location in the copyback cache storage unit. Upon completion of the Write to the copyback cache storage unit, the host CPU is immediately informed that the Write was successful. Thereafter, further storage unit accesses by the CPU can continue without waiting for an error-correction block update for the data just written. In a first embodiment of the invention, Read-Modify-Write operations are performed during idle time. In a second embodiment of the invention, normal Read-Modify-Write operation by the RAID system controller continue use Write data in the controller's buffer memory. In a third embodiment, at least two controllers, each associated with one copyback cache storage unit, copy Write data from controller buffers to the associated copyback cache storage unit.
    Type: Grant
    Filed: August 26, 1993
    Date of Patent: June 11, 1996
    Assignee: EMC Corporation
    Inventors: David C. Stallmo, William A. Brant
  • Patent number: 5519844
    Abstract: A redundant array storage system that can be configured as a RAID 1, 3, 4, or 5 system, or any combination of these configurations. The invention includes a configuration data structure for addressing a redundant array storage system, and a method for configuring a redundant array storage system during an initialization process. The redundant array storage system includes a set of physical storage units which are accessible in terms of block numbers. The physical storage units are each configured as one or more logical storage units. Each logical storage unit is addressed in terms of a channel number, storage unit number, starting block number, offset number, and number of blocks to be transferred. Once logical storage units are defined, logical volumes are defined as one or more logical storage units, each logical volume having a depth characteristic. After the logical volumes are defined, redundancy groups are defined as one or more logical volumes. A redundancy level is specified for each redundancy group.
    Type: Grant
    Filed: March 21, 1994
    Date of Patent: May 21, 1996
    Assignee: EMC Corporation
    Inventor: David C. Stallmo
  • Patent number: 5390187
    Abstract: A method for on-line reconstruction of a failed storage unit in a redundant array system. After providing a replacement storage unit for the failed storage unit, reconstruction begins for each data stripe in the array. General reconstruction consists of applying an error-correction operation (such as an XOR operation on data blocks and a corresponding parity block) to the data blocks from the remaining storage units in the redundancy group, and storing the result in the corresponding block of the replacement storage unit. If a Read operation is requested by the CPU for a data block on the replacement storage unit, then a concurrent Read task is executed which reconstructs the stripe containing the requested data block. If a Read operation is requested by the CPU for a data block not on the replacement storage unit, a concurrent Read task is executed which performs a normal Read.
    Type: Grant
    Filed: February 16, 1993
    Date of Patent: February 14, 1995
    Assignee: EMC Corporation
    Inventor: David C. Stallmo
  • Patent number: 5274799
    Abstract: A fault-tolerant storage device array using a copyback cache storage unit for temporary storage. When a Write occurs to the RAID system, the data is immediately written to the first available location in the copyback cache storage unit. Upon completion of the Write to the copyback cache storage unit, the host CPU is immediately informed that the Write was successful. Thereafter, further storage unit accesses by the CPU can continue without waiting for an error-correction block update for the data just written. In a first embodiment of the invention, during idle time for relevant storage units of the storage system, an error-correction block is computed for each "pending" data block on the copyback cache storage unit, and the data block and corresponding error-correction block are copied to their proper location in the RAID system.
    Type: Grant
    Filed: January 4, 1991
    Date of Patent: December 28, 1993
    Assignee: Array Technology Corporation
    Inventors: William A. Brant, David C. Stallmo, Mark Walker, Albert Lui
  • Patent number: 5235601
    Abstract: A method for on-line restoration of redundancy information in a redundant array storage system. The invention provides alternative methods of restoring valid data to a storage unit after a Write failure caused by a temporary storage unit fault. In the first preferred method, a valid redundancy block is generated for the corresponding data blocks on all storage units. Resubmitting the interrupted Write operation causes the old (and potentially corrupted) data block to be "subtracted" out of the re-computed redundancy block. The uncorrupted new data block is written over the old data block, and is "added" into the recomputed redundancy block to create a new, corrected redundancy block. The new, corrected redundancy block is written to the appropriate storage unit. In the second preferred method, a new redundancy block is generated from all valid data blocks and the new data block. The new redundancy block and the new data block are then written to the appropriate storage units.
    Type: Grant
    Filed: December 21, 1990
    Date of Patent: August 10, 1993
    Assignee: Array Technology Corporation
    Inventors: David C. Stallmo, William A. Brant, David Gordon
  • Patent number: 5208813
    Abstract: A method for on-line reconstruction of a failed storage unit in a redundant array system. After providing a replacement storage unit for the failed storage unit, reconstruction begins for each data stripe in the array. General reconstruction consists of applying an error-correction operation (such as an XOR operation on data blocks and a corresponding parity block) to the data blocks from the remaining storage units in the redundancy group, and storing the result in the corresponding block of the replacement storage unit. If a Read operation is requested by the CPU for a data block on the replacement storage unit, then a concurrent Read task is executed which reconstructs the stripe containing the requested data block. If a Read operation is requested by the CPU for a data block not on the replacement storage unit, a concurrent Read task is executed which performs a normal Read.
    Type: Grant
    Filed: October 23, 1990
    Date of Patent: May 4, 1993
    Assignee: Array Technology Corporation
    Inventor: David C. Stallmo
  • Patent number: 5148432
    Abstract: An arrayed disk drive system for providing memory to a computer, said arrayed system having a plurality of disk drives configured to form an array, said arrayed disk drives accessed by a plurality of channels, each channel accessing a plurality of disk drives, including a means for controlling the logical configuration of the arrayed disk drives to appear to the computer as any conceivable arrangement of disk drives, whereby the arrayed disk drive may appear to the computer as the plurality of disk drives, or as one large disk drive comprised of all the arrayed disk drives, or any combination in between. A means for providing a plurality of levels of redundancy on data read or written by the computer to the arrayed disk drives is provided, as well as means controlled by the controlling means for enabling from none to the plurality of levels of redundancy to operate on data being read or written from the arrayed disk drives.
    Type: Grant
    Filed: September 3, 1991
    Date of Patent: September 15, 1992
    Assignee: Array Technology Corporation
    Inventors: David W. Gordon, David C. Stallmo, David M. Warner, William A. Brant, Walter A. Hubis