Patents by Inventor Steven R. Kleiman

Steven R. Kleiman 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: 7263629
    Abstract: A uniform and symmetric, double failure-correcting technique protects against two or fewer disk failures in a disk array of a storage system. A RAID system of the storage system generates two disks worth of “redundant” information for storage in the array, wherein the redundant information (e.g., parity) is illustratively derived from computations along both diagonal parity sets (“diagonals”) and row parity sets (“rows”). Specifically, the RAID system computes row parity along rows of the array and diagonal parity along diagonals of the array. However, the contents of the redundant (parity) information disks interact such that neither disk contains purely (solely) diagonal or row redundancy information; the redundant information is generated using diagonal parity results in row parity computations (and vice versa).
    Type: Grant
    Filed: November 24, 2003
    Date of Patent: August 28, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Peter F. Corbett, Robert M. English, Steven R. Kleiman
  • Patent number: 7257676
    Abstract: A semi-static distribution technique distributes parity across disks of an array. According to the technique, parity is distributed (assigned) across the disks of the array in a manner that maintains a fixed pattern of parity blocks among the stripes of the disks. When one or more disks are added to the array, the semi-static technique redistributes parity in a way that does not require recalculation of parity or moving of any data blocks. Notably, the parity information is not actually moved; the technique merely involves a change in the assignment (or reservation) for some of the parity blocks of each pre-existing disk to the newly added disk.
    Type: Grant
    Filed: December 5, 2006
    Date of Patent: August 14, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Peter F. Corbett, Steven R. Kleiman, Robert M. English
  • Patent number: 7203892
    Abstract: A “row-diagonal” (R-D) parity technique reduces overhead of computing diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of two storage devices in the array. The diagonal parity is computed along diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the diagonal parity sets except one is stored on the diagonal parity disk. The R-D parity technique provides a uniform stripe depth and an optimal amount of parity information.
    Type: Grant
    Filed: December 16, 2005
    Date of Patent: April 10, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Peter F. Corbett, Steven R. Kleiman, Robert M. English
  • Patent number: 7200715
    Abstract: The invention features a method for controlling storage of data in a plurality of storage devices each including storage blocks, for example, in a RAID array. The method includes receiving a plurality of write requests associated with data, and buffering the write requests. A file system defines a group of storage blocks, responsive to disk topology information. The group includes a plurality of storage blocks in each of the plurality of storage devices. Each data block of the data to be written is associated with a respective one of the storage blocks, for transmitting the association to the plurality of storage devices.
    Type: Grant
    Filed: March 21, 2002
    Date of Patent: April 3, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Steven R. Kleiman, Rajesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7185144
    Abstract: A semi-static distribution technique distributes parity across disks of an array. According to the technique, parity is distributed (assigned) across the disks of the array in a manner that maintains a fixed pattern of parity blocks among the stripes of the disks. When one or more disks are added to the array, the semi-static technique redistributes parity in a way that does not require recalculation of parity or moving of any data blocks. Notably, the parity information is not actually moved; the technique merely involves a change in the assignment (or reservation) for some of the parity blocks of each pre-existing disk to the newly added disk.
    Type: Grant
    Filed: November 24, 2003
    Date of Patent: February 27, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Peter F. Corbett, Steven R. Kleiman, Robert M. English
  • Patent number: 7174352
    Abstract: The invention provides a method and system for duplicating all or part of a file system while maintaining consistent copies of the file system. The file server maintains a set of snapshots, each indicating a set of storage blocks making up a consistent copy of the file system as it was at a known time. Each snapshot can be used for a purpose other than maintaining the coherency of the file system, such as duplicating or transferring a backup copy of the file system to a destination storage medium. In a preferred embodiment, the snapshots can be manipulated to identify sets of storage blocks in the file system for incremental backup or copying, or to provide a file system backup that is both complete and relatively inexpensive.
    Type: Grant
    Filed: May 10, 2001
    Date of Patent: February 6, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Steven R. Kleiman, David Hitz, Guy Harris, Sean W. O'Malley, Michael Malcolm, James Lau, Byron Rakitzis
  • Patent number: 7143249
    Abstract: In one embodiment, a first storage device and a second storage device form a mirror. When the first storage device loses synchronization with the second storage device, data present in the second storage device but not in the first storage device are identified. The identified data are then copied to the first storage device. In one embodiment, a method of rebuilding data in a storage device includes the act of replacing a failed storage device with a replacement storage device. Up-to-date data for the failed storage device, which may be stored in a corresponding mirror, may then be copied to the replacement storage device. Thereafter, the replacement storage device and any other storage devices that have lost synchronization with their mirror are resynchronized.
    Type: Grant
    Filed: August 19, 2002
    Date of Patent: November 28, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Stephen H. Strange, Srinivasan Viswanathan, Douglas P. Doucette, Steven R. Kleiman
  • Patent number: 7130873
    Abstract: The invention provides techniques for duplicating all or part of a file system while maintaining consistent copies of the file system. A preferred embodiment reads data from the source file system (mapped according to a first storage block arrangement) creates an image stream and writes this data onto the destination file system (in accordance with a second storage block arrangement). Thus, the invention allows an image transfer between file systems that have dissimilar characteristics. An intermediate storage medium can be used to store or transmit the data read from the source file system before writing the data to the destination file system. (For example, the intermediate storage medium can include a magnetic tape or other archival device, or a network.) Another aspect of the invention writes the data to the intermediate storage medium using a normalized or implied block list.
    Type: Grant
    Filed: June 2, 2003
    Date of Patent: October 31, 2006
    Assignee: Network Appliance Inc.
    Inventors: Steven R. Kleiman, David Hitz, Norman Hutchinson, Sean O'Malley
  • Patent number: 7096379
    Abstract: The invention provides a method and system for recovery of file system data in file servers having mirrored file system volumes. The invention makes use of a “snapshot” feature of a robust file system (the “WAFL File System”) disclosed in the Incorporated Disclosures, to rapidly determined which of two or more mirrored volumes is most up-to-date, and which file blocks of the most recent mirrored volume have been changed from each one of the mirrored file systems. In a preferred embodiment, among a plurality of mirrored volumes, the invention rapidly determines which is the most up-to-date by examining a consistency point number maintained by the WAFL File System at each mirrored volume. The invention rapidly pairwise determines what blocks are shared between that most up-to-date mirrored volume and each other mirrored volume, in response to a snapshot of the file system maintained at each mirrored volume and are stored in common pairwise between each mirrored volume and the most up-to-date mirrored volume.
    Type: Grant
    Filed: November 21, 2003
    Date of Patent: August 22, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Srinivasan Viswanathan, Steven R. Kleiman
  • Patent number: 7080278
    Abstract: A technique efficiently corrects multiple storage device failures in a storage array. The storage array comprises a plurality of concatenated sub-arrays, wherein each sub-array includes a set of data storage devices and a local parity storage device that stores values used to correct a failure of a single device within a row of blocks, e.g., a row parity set, in the sub-array. Each sub-array is assigned diagonal parity sets identically, as if it were the only one present using a double failure protection encoding method. The array further includes a single, global parity storage device holding diagonal parity computed by logically adding together equivalent diagonal parity sets in each of the sub-arrays.
    Type: Grant
    Filed: March 8, 2002
    Date of Patent: July 18, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Steven R. Kleiman, Robert M. English, Peter F. Corbett
  • Patent number: 7073115
    Abstract: A technique efficiently corrects multiple storage device failures in a storage array using a combination of a single diagonal parity group and multiple row parity groups. The storage array includes a plurality of concatenated sub-arrays, wherein each sub-array includes a set of data storage devices and a parity storage device. Each row parity group is associated with a sub-array of the array. The array further includes a global parity storage device holding diagonal parity computed across the concatenation of the sub-arrays. Instead of requiring that each parity group contain both a row parity device and a diagonal parity device, the array is composed of a collection of row parity groups. Diagonal parity is calculated across the full array.
    Type: Grant
    Filed: December 28, 2001
    Date of Patent: July 4, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Robert M. English, Peter F. Corbett, Steven R. Kleiman
  • Patent number: 7024586
    Abstract: On disk failure, the storage system migrates only those disk blocks that included allocated data, and treats unallocated disk blocks as being logically zero when possible. When there is no spare disk, the source data block is logically set to zero and parity is recalculated for the RAID stripe associated with the source data block. When there is a spare, unallocated blocks on the spare are logically or physically set to zero upon migration. Write operations for the failed disk are redirected to other non-failing disks, and a record of which in-use disk blocks have been thus “migrated” to those other non-failing disks in maintained. Unused disk blocks are proactively set to zero. A target mirror copy is created using information regarding allocated disk blocks, by copying those blocks including allocated data or parity, and by clearing at the mirror those blocks not including any allocated data or parity.
    Type: Grant
    Filed: June 24, 2002
    Date of Patent: April 4, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Steven R. Kleiman, Stephen H. Strange
  • Patent number: 7003714
    Abstract: A data storage system, such as RAID, upgraded dynamically including multiple stages, providing error checking data without taking the system off-line. Checksums are computed from the data and placed in block 63 of the same disk. The combination of parity bits across the parity disk, the remaining uncorrupted data in the data disks, and checksums within each disk includes sufficient information to enable restoration of corrupt data. The system is upgraded by reserving permanent checksum blocks, writing the checksums to a volume block number, and placing the checksums in permanently reserved checksum block locations after first moving data already there to unreserved blocks.
    Type: Grant
    Filed: April 26, 2004
    Date of Patent: February 21, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Rajesh Sundaram, Srinivvasan Viswanathan, Alan Rowe, Steven R. Kleiman, John K. Edwards
  • Patent number: 6993701
    Abstract: A “row-diagonal” (R-D) parity technique reduces overhead of computing diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of two storage devices in the array. The diagonal parity is computed along diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the diagonal parity sets except one is stored on the diagonal parity disk. The R-D parity technique provides a uniform stripe depth and an optimal amount of parity information.
    Type: Grant
    Filed: December 28, 2001
    Date of Patent: January 31, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Peter F. Corbett, Steven R. Kleiman, Robert M. English
  • Patent number: 6993539
    Abstract: A system and method for remote asynchronous replication or mirroring of changes in a source file system snapshot in a destination replica file system using a scan (via a scanner) of the blocks that make up two versions of a snapshot of the source file system, which identifies changed blocks in the respective snapshot files based upon differences in volume block numbers identified in a scan of the logical file block index of each snapshot. Trees of blocks associated with the files are traversed, bypassing unchanged pointers between versions and walking down to identify the changes in the hierarchy of the tree. These changes are transmitted to the destination mirror or replicated snapshot. This technique allows regular files, directories, inodes and any other hierarchical structure to be efficiently scanned to determine differences between versions thereof.
    Type: Grant
    Filed: March 19, 2002
    Date of Patent: January 31, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Michael L. Federwisch, Shane S. Owara, Stephen L. Manley, Steven R. Kleiman
  • Patent number: 6952797
    Abstract: A method and apparatus for a reliable data storage system using block level checksums appended to data blocks. Files are stored on hard disks in storage blocks, including data blocks and block-appended checksums. The block-appended checksum includes a checksum of the data block, a VBN, a DBN, and an embedded checksum for checking the integrity of the block-appended checksum itself. A file system includes file blocks with associated block-appended checksum to the data blocks. The file blocks with block-appended checksums are written to storage blocks. In a preferred embodiment a collection of disk drives are formatted with 520 bytes of data per sector. For each 4,096-byte file block, a corresponding 64-byte block-appended checksum is appended to the file block with the first 7 sectors including most of the file block data while the 8th sector includes the remaining file block data and the 64-byte block-appended checksum.
    Type: Grant
    Filed: October 25, 2000
    Date of Patent: October 4, 2005
    Inventors: Andy Kahn, Rajesh Sundaram, Srinivasan Viswanathan, Steven R. Kleiman
  • Patent number: 6829720
    Abstract: The invention provides a storage system, and a method for operating a storage system, that provides for relatively rapid and reliable takeover among a plurality of independent file servers. Each file server maintains a reliable communication path to the others. Each file server maintains its own state in reliable memory. Each file server regularly confirms the state of the other file servers. Each file server labels messages on the redundant communication paths, so as to allow other file servers to combine the redundant communication paths into a single ordered stream of messages. Each file server maintains its own state in its persistent memory and compares that state with the ordered stream of messages, so as to determine whether other file servers have progressed beyond the file server's own last known state.
    Type: Grant
    Filed: December 16, 2002
    Date of Patent: December 7, 2004
    Assignee: Network Appliance, Inc.
    Inventors: Scott Schoenthal, Alan Rowe, Steven R. Kleiman
  • Publication number: 20040205387
    Abstract: The invention features a method for controlling storage of data in a plurality of storage devices each including storage blocks, for example, in a RAID array. The method includes receiving a plurality of write requests associated with data, and buffering the write requests. A file system defines a group of storage blocks, responsive to disk topology information. The group includes a plurality of storage blocks in each of the plurality of storage devices. Each data block of the data to be written is associated with a respective one of the storage blocks, for transmitting the association to the plurality of storage devices.
    Type: Application
    Filed: April 2, 2004
    Publication date: October 14, 2004
    Inventors: Steven R. Kleiman, Raiesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • Publication number: 20040153736
    Abstract: The invention provides a method and system for recovery of file system data in file servers having mirrored file system volumes. The invention makes use of a “snapshot” feature of a robust file system (the “WAFL File System”) disclosed in the Incorporated Disclosures, to rapidly determined which of two or more mirrored volumes is most up-to-date, and which file blocks of the most recent mirrored volume have been changed from each one of the mirrored file systems. In a preferred embodiment, among a plurality of mirrored volumes, the invention rapidly determines which is the most up-to-date by examining a consistency point number maintained by the WAFL File System at each mirrored volume.
    Type: Application
    Filed: November 21, 2003
    Publication date: August 5, 2004
    Applicant: Network Appliance, Inc.
    Inventors: Srinivasan Viswanathan, Steven R. Kleiman
  • Patent number: 6728922
    Abstract: A data storage system, such as RAID, upgraded dynamically including multiple stages, providing error checking data without taking the system off-line. Checksums are computed from the data and placed in block 63 of the same disk. The combination of parity bits across the parity disk, the remaining uncorrupted data in the data disks, and checksums within each disk includes sufficient information to enable restoration of corrupt data. The system is upgraded by reserving permanent checksum blocks, writing the checksums to a volume block number, and placing the checksums in permanently reserved checksum block locations after first moving data already there to unreserved blocks.
    Type: Grant
    Filed: August 18, 2000
    Date of Patent: April 27, 2004
    Assignee: Network Appliance, Inc.
    Inventors: Rajesh Sundaram, Srinivvasan Viswanathan, Alan Rowe, Steven R. Kleiman, John K. Edwards