Disk Array Patents (Class 714/770)
  • Patent number: 7290199
    Abstract: During a parity update of a parity stripe in a disk array, constant values used in finite field arithmetic are algebraically combined in order to reduce the number of buffers and steps needed to update multiple parity values when a change in data occurs. In one implementation, for example, the contents of a buffer that stores the product of a delta value associated with the change in data and a first constant, which is used to update a first parity value, are multiplied by a value representative of the ratio of a second constant, which is used to update a second parity value, and the first constant.
    Type: Grant
    Filed: November 19, 2004
    Date of Patent: October 30, 2007
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Patent number: 7290184
    Abstract: Method and apparatus for evaluating different digital data channel configurations. A digital data channel stores input data to a recordable medium and retrieves readback data from the medium. The input data are arranged into an input sequence of symbols of selected symbol length, and the readback data are arranged into an output sequence of symbols of the selected symbol length. Comparing the output sequence to the input sequence allows identification of the number of erroneous symbols for the selected symbol length. Different input and output sequences are generated using different symbol lengths from the same input and output data. In this way, error rate performance can be predicted for different error correction code (ECC) and run length limited (RLL) encoding scheme combinations. The steps are carried out by an emulation system preferably comprising a field programmable gate array (FPGA) which inhibits and emulates selected portions of the digital data channel.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: October 30, 2007
    Assignee: Seagate Technology LLC
    Inventors: Nikki M. Bruner, John E. Young
  • Patent number: 7266716
    Abstract: A method of recovering a stripe of erasure coded data begins with sending query messages to storage devices. The method continues with receiving query reply messages from at least a first quorum of the storage devices. The query reply messages include a minimum number of the stripe blocks needed to decode the stripe. Following this, the stripe of erasure coded data is encoded. Next, a write message is sent to each of the storage devices, which include a timestamp and the stripe block destined for the storage device. The method concludes with receiving a write reply message from at least a second quorum of the storage devices indicating that the stripe block was successfully stored. The first and second quorums each meet a quorum condition of a number such that any two selections of the number of the stripe blocks intersect in the minimum number of the stripe blocks.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: September 4, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch
  • 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: 7246301
    Abstract: A method for error correction in a storage array is provided in which a data section comprising multiple data stripes are read following an indication that a volume of the storage array is degraded. An evaluation is made as to whether the data of the data section has been compromised. The evaluation may be performed by an exclusive-OR checksum operation performed on the bits of the data section. If the data of the data section has not been compromised, a rebuild of the multiple data stripes in the affected volume is not required and is not performed. If the data of the data section has been compromised, a rebuild of the data of the data stripes of the evaluated data section is performed in the affected volume. This process continues until all of the data stripes of the storage array have been evaluated.
    Type: Grant
    Filed: June 13, 2003
    Date of Patent: July 17, 2007
    Assignee: Dell Products L.P.
    Inventor: Rohit Chawla
  • Patent number: 7246259
    Abstract: A disk array utilizes a surviving relationship algorithm for generating parity terms. During a drive failure, a script corresponding to the failure mode (e.g., single storage element failure or dual storage element failure) is executed. The script reconstructs data by deriving a surviving relationship matrix from a seed matrix, sending the resulting surviving relationship matrix to parity/data generators in the storage controller, and generating P parity and Q parity symbols based on the inputs from the relationship matrix. The surviving relationship matrix is independent of symbol position (i.e., row, column, or diagonal) and further ensures that all data is reconstructable after single or dual storage element failures.
    Type: Grant
    Filed: August 27, 2004
    Date of Patent: July 17, 2007
    Assignee: Aristos Logic Coporation
    Inventors: Sanjay Subbarao, Kenneth W. Brinkerhoff
  • Patent number: 7237178
    Abstract: In a hard disk drive, a channel detector produces a first detected sequence based on a first signal. A decoder includes an error-correction decoder that produces first data based on the first detected sequence when a number of symbols in error in the first detected sequence is less than, or equal to, a predetermined number, and that asserts a failure indication when the number of symbols in error in the first detected sequence is greater than the predetermined number. When the error-correction decoder asserts the failure indication for the first detected sequence, a controller causes the channel detector to produce a second detected sequence based on a second signal, and identifies corresponding symbols of the first and second detected sequences that differ. The decoder produces second data based on the symbols identified by the controller and at least one of the first and second detected sequences.
    Type: Grant
    Filed: September 26, 2003
    Date of Patent: June 26, 2007
    Assignee: Marvell International Ltd.
    Inventors: Pantas Sutardja, Zining Wu
  • Patent number: 7219297
    Abstract: A synchronization variable intended for a second clock signal is generated from a first clock signal and a phase variation signal. A first approximation of the second clock signal is determined, and other approximations close to the first approximation are also determined. An error is calculated for each of the approximations, and the best approximation is taken as the second clock signal.
    Type: Grant
    Filed: January 30, 2002
    Date of Patent: May 15, 2007
    Assignee: STMicroelectronics SA
    Inventor: Fabienne Dreville
  • Patent number: 7219289
    Abstract: An improved and extended Reed-Solomon-like method for providing a redundancy of m?3 is disclosed. A general expression of the codes is described, as well as a systematic criterion for proving correctness and finding decoding algorithms for values of m?3. Examples of codes are given for m=3, 4, 5, based on primitive elements of a finite field of dimension N where N is 8, 16 or 32. A Horner's method and accumulator apparatus are described for XOR-efficient evaluation of polynomials with variable vector coefficients and constant sparse square matrix abscissa. A power balancing technique is described to further improve the XOR efficiency of the algorithms. XOR-efficient decoding methods are also described. A tower coordinate technique to efficiently carry out finite field multiplication or inversion for large dimension N forms a basis for one decoding method.
    Type: Grant
    Filed: March 15, 2005
    Date of Patent: May 15, 2007
    Assignee: Tandberg Data Corporation
    Inventor: Lawrence John Dickson
  • Patent number: 7213158
    Abstract: The disclosed methods provide a reliable and secure method of automatically backing up a client's data on a personal computer by using excess storage capacity on a set of one or more predetermined computers, without the need for dedicated servers, server disks, removable storage media, or intervention by a user to assist with the storage devices. The methods of the present invention permit a user, be it an individual or a large company, to inexpensively and securely back up information without the need to acquire additional expensive hardware.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: May 1, 2007
    Assignee: Lenovo (Singapore) Pte. Ltd.
    Inventors: David Frederick Bantz, David Carroll Challener, John Peter Karidis
  • Patent number: 7210091
    Abstract: A method, system, and article of manufacture for recovering from a track format error detected by a host computer associated with a storage controller associated with a storage disk array. The recovery method begins with saving a copy of the track format information associated with the data track that triggered the track format error in a predetermined location. Next, the track format information associated with the data track that caused the error is invalidated and the subject data is restaged. Subsequently, the restaged data is compared to the saved copy of the track format information to determine if the track format error exists with respect to the restaged data. If the track format error is detected with respect to the restaged data, the method further consists of reconstructing the data, preferably by performing a reconstruct read recovery.
    Type: Grant
    Filed: November 20, 2003
    Date of Patent: April 24, 2007
    Assignee: International Business Machines Corporation
    Inventors: Colleen R. Stouffer, Karl A. Nielsen, Kenneth W. Todd, David F. Mannenbach
  • Patent number: 7206991
    Abstract: A mechanism is provided for migration between stripe storage and redundant parity striped storage. When a disk is added to a disk array, the mechanism migrates from RAID 0 to RAID 5. For each row, the mechanism calculates parity for the row and, if the parity position is not the new drive, the mechanism writes the data from the parity position to the new drive and writes the parity to the parity stripe position. If a drive fails, the mechanism migrates back from RAID 5 to RAID 0. For each row, if the parity position is not the failed drive, reads the data from remaining drives, XORs the data stripes to get failed drive data, and writes the failed drive data to the parity position. If a read or write is received for the failed drive, the mechanism simply redirects the read or write to the parity position.
    Type: Grant
    Filed: October 15, 2003
    Date of Patent: April 17, 2007
    Assignee: LSI Logic Corporation
    Inventors: Paresh Chatterjee, Basavaraj Gurupadappa Hallyal, Senthil Murugan Thangaraj, Narasimhulu Dharanikumar Kotte, Ramya Subramanian
  • 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: 7194675
    Abstract: A backup system includes a first storage device having first storage areas in which an update log of recorded data is stored; a second storage device having second storage areas which are paired with the first storage areas respectively and in which a copy of the update log is stored; and a disk controller. The state of a pair of first and second storage areas is changed from a non-pair state in which the update log is not stored in the pair of first and second storage areas to a pair state. The state of another pair of first and second storage areas is changed from a pair state to a non-pair state. The disk controller includes first and second disk controllers for controlling the first and second storage devices, respectively. The changes of pair/non-pair states are executed by the first disk controller.
    Type: Grant
    Filed: August 4, 2004
    Date of Patent: March 20, 2007
    Assignee: Hitachi, Ltd.
    Inventors: Nobuo Kawamura, Yoshio Suzuki, Satoru Watanabe
  • Patent number: 7188270
    Abstract: A two-dimensional parity method and system for rotating parity information in a disk array, such as a RAID, to provide multiple disk fault tolerance with reduced write bottlenecks, is presented. The method includes forming a plurality of blocks, each block comprising a plurality of stripes extending across multiple disks, reserving at least one stripe in each block for parity, dividing each block into a plurality of chunks, wherein at least one of the chunks in the block comprises parity information, and shifting the position of each parity chunk in each block to a different disk with respect to the parity chunk in adjacent blocks. The method further includes shifting the position of each parity strip in the at least one stripe in each block to a different disk with respect to the parity chunk in adjacent blocks. A system for translating information in a disk array includes an array controller configured to shift parity chunks and parity strips.
    Type: Grant
    Filed: November 21, 2002
    Date of Patent: March 6, 2007
    Assignee: Adaptec, Inc.
    Inventors: Sanjeeb Nanda, Tommy Robert Treadway
  • Patent number: 7178092
    Abstract: A disk drive is disclosed which has a read/write channel utilizing a turbo coding/decoding method. In decimating a parity sequence of an RSC code sequence, a puncture unit included in a turbo codec executes a decimation process based on a coding rate (puncture rate) determined in view of a dominant error event.
    Type: Grant
    Filed: January 14, 2003
    Date of Patent: February 13, 2007
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Manabu Akamatsu
  • Patent number: 7174496
    Abstract: An apparatus, method, and an optical storage medium to generate an error correction block include a data block generation unit processing digital data on a byte-by-byte basis and arranging the processed digital data from 0th to (N?1)th columns and from 0th to (M?1)th rows to form (M×N) data blocks. A matrix block generation unit arranges the (M×N) data blocks in K rows according to a data transmission sequence to form a matrix block. A first codeword generation unit adds a first error correction check word of 2×K bytes to each of N columns to form a first codeword of ((K×M)+2×K) bytes. A second codeword generation unit adds a second error correction check word of P bytes to each of ((K×M)+2×K) rows to form a second codeword of (N+P) bytes.
    Type: Grant
    Filed: January 3, 2003
    Date of Patent: February 6, 2007
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sung-hyu Han, Yoon-woo Lee, Sang-hyun Ryu, Young-im Ju, Sung-hee Hwang
  • Patent number: 7162681
    Abstract: An information reproducing apparatus, in which a disk having correction data recorded thereon is placed, acquires region information indicative of a region corresponding to the correction data after load processing is performed by a ROM loader. Then, under the control of a CPU, the apparatus determines the correction data to be used for correcting a reproducing program based on the region information, reads the correction data from a lead out area or its outer region on the disk, temporarily retains the read correction data in a first RAM or a second RAM, and then stores the correction data to be resident in a nonvolatile first flash memory or a second flash memory, to correct the reproducing program based on the correction data. The information reproducing apparatus thereafter reproduces user data recorded on the disk according to the corrected reproducing program.
    Type: Grant
    Filed: June 12, 2002
    Date of Patent: January 9, 2007
    Assignee: Pioneer Corporation
    Inventor: Kazuo Kuroda
  • Patent number: 7159165
    Abstract: An optical recording medium, a data recording or reproducing apparatus, and a data recording or reproducing method used by the data recording or reproducing apparatus. In a method of recording data on an optical disc, each of a plurality of error correction code (ECC) blocks is divided into a plurality of partitions. Next, data from the partitions is interleaved so that each of the ECC blocks is alternately and equally selected to generate a recording block. The generated recording block is modulated and recorded on an optical disc. As a result, the optical recording medium, the data recording apparatus, and the data recording method used by the apparatus are compatible with the format of a conventional digital versatile disc (DVD) and have higher error correction rates. In a reproducing method, the recording block is deinterleaved.
    Type: Grant
    Filed: December 20, 2001
    Date of Patent: January 2, 2007
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sung-hee Hwang, Yoon-woo Lee, Sung-hyu Han, Sang-hyun Ryu
  • Patent number: 7159166
    Abstract: An error correction method is provided as follows: handling a 2-event error generated very frequently as an object of correction; sequentially finding CRC data for a generated event of an error handled as the defined object of correction at any arbitrary bit position of reproduced data by implementation of a cyclic-replacement process; carrying out an exclusive-addition process of the CRC data to CRC data of the reproduced data in order to virtually carry out a tentative-correction process on a 1-event error at a first bit position; further finding CRC data generated after the tentative-correction process in order to detect a 1-event error at a second bit position; and correcting the 1-event error completing the tentative-correction process at the first position and the 1-event error at the second bit position.
    Type: Grant
    Filed: September 17, 2003
    Date of Patent: January 2, 2007
    Assignee: Hitachi Global Storage Technologies Japan, Ltd.
    Inventor: Hiroyuki Tsuchinaga
  • Patent number: 7134066
    Abstract: The Hamming distance of an array of storage devices is increased by generating a parity check matrix based on column equations that are formed using an orthogonal parity code and includes a higher-order multiplier that changes each column. The higher order multiplier is selected to generate a finite basic field of a predetermined number of elements. The array has M rows and N columns, such that M is greater than or equal to three and N is greater than or equal to three. Row 1 through row M?2 of the array each have n–p data storage devices and p parity storage devices. Row M?1 of the array has n?(p+1) data storage devices and (p+1) parity storage devices. Lastly, row M of the array has N parity storage devices.
    Type: Grant
    Filed: October 20, 2003
    Date of Patent: November 7, 2006
    Assignee: International Business Machines Corporation
    Inventors: Martin Aureliano Hassner, Steven R. Hetzler, Tetsuya Tamura, Barry Marshall Trager, Shmuel Winograd
  • Patent number: 7133965
    Abstract: An redundant array of independent disks (RAID) storage device is provided. The RAID comprises M number of storage devices, and the storage blocks of the same J-column in each storage device comprises complete stripe blocks and at least a plurality of partially complete stripe blocks. Inside the same stripe block, the total number of the storage blocks (L) is smaller than the number of the storage device (M), and the quantity of the storage blocks (M) is not multiple of storage blocks (L).
    Type: Grant
    Filed: February 13, 2004
    Date of Patent: November 7, 2006
    Assignee: Promise Technology, Inc.
    Inventor: Hung Ming Chien
  • Patent number: 7130367
    Abstract: A digital delay lock loop (DLL) circuit for receiving parallel data and clock signals, deserializing the high speed parallel data to low speed data, and for improving setup and hold times. A DLL circuit for an N-bit datapath, includes a clock DLL configured to provide a clock signal pulse within an eye opening of each of N data signals. The DLL circuit further includes N data DLLs, each being configured to adjust a delay of a data signal to substantially center the eye opening of the data signal on the clock signal pulse.
    Type: Grant
    Filed: April 9, 2002
    Date of Patent: October 31, 2006
    Assignee: Applied Micro Circuits Corporation
    Inventors: Wei Fu, Joseph J. Balardeta, James Corona
  • Patent number: 7111227
    Abstract: A disk controller includes memory that is accessible by both a microprocessor and hardware parity logic. Parity-related operations are identified by scenario, and parity coefficient subsets are stored in a memory table for each different parity-related calculation scenario. To perform a particular parity-related operation, the microprocessor determines the operation's scenario and identifies the corresponding coefficient subset. The hardware parity logic is then instructed to perform the appropriate parity computation, using the identified coefficient subset. In one embodiment, parity segments are calculated by a parity segment calculation module that is embodied as an application specific integrated circuit (ASIC).
    Type: Grant
    Filed: December 4, 2003
    Date of Patent: September 19, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Barry J. Oldfield, Robert A. Rust
  • Patent number: 7103826
    Abstract: The present invention is broadly directed to a memory system comprising a a host integrated circuit component, at least two data memories, at least one parity memory for storing parity information corresponding to data stored in a corresponding address space of the data memories, and at least two controller integrated circuits. Each controller integrated circuit (IC) comprises memory control logic configurable to control communications between the controller IC and data memories directly connected to the controller IC, parity logic configurable to compute parity information for data communicated to or from the data memories, logic configurable to communicate the parity information to or from a companion IC, and logic configurable to communicated data to or from a companion IC.
    Type: Grant
    Filed: July 31, 2003
    Date of Patent: September 5, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Larry Thayer, Eric McCutcheon Rentschler, Michael Kennard Tayler
  • Patent number: 7093159
    Abstract: A two-dimensional parity method and system that provides four-disk fault tolerance in an array of disks, such as a RAID system, is presented. The method includes arranging strips containing data in the disk array into horizontal, diagonal, and stepped parity sets, each parity set including at least one data strip as a member and no single data strip is repeated in any one parity set. The horizontal, diagonal, and stepped parities are than stored in respective disks and stripes of the array. In the event of up to a four simultaneous disk failures, lost data can be reconstructed by using the corresponding stored horizontal, diagonal, and stepped parity information and the data stored on the remaining intact disks.
    Type: Grant
    Filed: December 12, 2002
    Date of Patent: August 15, 2006
    Assignee: Adaptec, Inc.
    Inventor: Sanjeeb Nanda
  • Patent number: 7093182
    Abstract: Method and apparatus for providing data recovery in a one or multiple disk loss situation in a RAID5 like system. A data storage apparatus has a plurality of n disks storing data comprising a plurality of n data groupings stored across the plurality of n disks. Each one of the n data groupings comprises a data portion and a redundancy portion. The size of the data portion relative to the redundancy portion is as H to Q, where H/Q<(n?m)/m, where m is the maximum number of disks that may be lost at any given time. Advantageously, the n data portions are recoverable from any and all combinations of n-m data grouping(s) on n?m disk(s) when the other m data grouping(s) are unavailable, where 1?m<n.
    Type: Grant
    Filed: February 20, 2003
    Date of Patent: August 15, 2006
    Assignee: Inostor Corporation
    Inventor: Lawrence John Dickson
  • Patent number: 7076607
    Abstract: A system, method, and apparatus are disclosed for storing segmented data and corresponding parity data with modules configured to functionally execute the necessary steps of storing segmented data and corresponding parity data. These modules, in the described embodiments, include a designation module that designates a first set of data, from parity data and a plurality of segmented data, as surplus data and designates the remaining data as primary data. A storage module stores the primary data in main electronic storage devices in a distributed manner and stores a first copy of the surplus data on a first main electronic storage device and a second copy of the surplus data on a second main electronic storage device. An optional auxiliary storage module selectively activates an auxiliary electronic storage device and stores the surplus data on the auxiliary storage device. Beneficially, selective activation of the auxiliary electronic storage conserves power.
    Type: Grant
    Filed: January 24, 2003
    Date of Patent: July 11, 2006
    Assignee: International Business Machines Corporation
    Inventors: Yohichi Miwa, Aya Minami, Tsuyoshi Motoki
  • 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: 7032125
    Abstract: The present invention is a method and system for associating metadata with user data in a storage array in a manner that provides independence between metadata management and a storage controller's cache block size. Metadata may be associated with user data according to multiple fashions in order to provide a desired performance benefit. In one example, the metadata may be associated according to a segment basis to maximize random I/O performance and may be associated according to a stripe basis to maximize sequential I/O performance.
    Type: Grant
    Filed: April 25, 2002
    Date of Patent: April 18, 2006
    Assignee: LSI Logic Corporation
    Inventors: Keith W. Holt, William P. Delaney
  • Patent number: 7024525
    Abstract: Setting a plurality of table entries in a storage device includes subdividing the table entries into a N tasks, placing each of the N tasks in a memory location disposed within the storage device and accessible by a plurality of internal devices, the plurality of the internal devices accessing the memory location to retrieve at least one of the N tasks, and each of the plurality of the internal devices setting table entries corresponding to at least one of the N tasks retrieved from the memory location. Setting table entries may also include setting logical device table entries to indicate corresponding tracks contain invalid data in connection with operation of remote data transfer between multiple storage devices.
    Type: Grant
    Filed: August 10, 2005
    Date of Patent: April 4, 2006
    Assignee: EMC Corporation
    Inventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky
  • 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: 7024614
    Abstract: A disk drive is disclosed comprising a microprocessor for executing a disk command. The microprocessor initializes a configuration data structure comprising a plurality of configuration parameters with default values. The microprocessor modifies at least one of the configuration parameters with a custom value to generate a custom configuration data structure, and the microprocessor executes the disk command using the custom configuration data structure.
    Type: Grant
    Filed: December 24, 2002
    Date of Patent: April 4, 2006
    Assignee: Western Digital Technologies, Inc.
    Inventors: Gregory B. Thelin, Michael S. Rothberg
  • Patent number: 7007222
    Abstract: An apparatus for accessing DVD data is provided. In the apparatus for accessing the data of a DVD, a row data buffer and an error detection code file are added. The row data buffer stores the row data from the row data interface, and the error detection code file records the error detection code stored in the memory. When an error occurs in the error detection code, the error detection code in the error detection code file may be modified. In addition to the normal data access, the method of accessing DVD data only re-access when a certain error occurs during RSPC decoding.
    Type: Grant
    Filed: October 3, 2003
    Date of Patent: February 28, 2006
    Assignee: MediaTek Inc.
    Inventor: Wei-Hung Huang
  • Patent number: 6996752
    Abstract: A system, method, and computer program product in a data processing system for increasing data storage performance. The data processing system includes multiple primary storage devices and a spare storage device. A logical volume definition is established that defines logical volumes utilizing the primary storage devices. A failure of one of the primary storage devices is detected. Data that was stored on the failed primary storage device at the time the failure was detected is constructed on the spare storage device. The spare storage device is then assigned in the logical volume definition such that the spare storage device becomes a primary storage device. The reference to the failed primary storage device is removed from the logical volume definition.
    Type: Grant
    Filed: May 13, 2002
    Date of Patent: February 7, 2006
    Assignee: LSI Logic Corporation
    Inventors: William A. Hetrick, Stanley E. Krehbiel, Jr., Joseph Grant Moore, Carey Wayne Lewis
  • 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: 6985971
    Abstract: An array configuration testing method is proposed for multiple disk-array system containing at least one disk array. The method comprises steps of: reading array configuration; acquiring a quantity of disk drives in the array; reading the serial check sum of all disk drives in the array; and comparing the quantity of disk drives in the array and another quantity of disk drives deduced from the serial check sum of all disk drives in the array. The method further comprises steps of: acquiring the disk sequence/function of the array in the array configuration; comparing the disk sequence/function with another disk sequence/function deduced from the serial check sum of each disk drive in one array. The method cross-examines the serial check sum of each disk drive in the same array and the quantity of disk drives in the array as well as disk sequence/function record in order to check data integrity in the array configuration.
    Type: Grant
    Filed: July 25, 2003
    Date of Patent: January 10, 2006
    Assignee: Via Technologies Inc.
    Inventors: Jerry Wang, Wilson Hu
  • Patent number: 6983335
    Abstract: A disk drive managing method manages disk drive in multiple disk-array system containing at least one disk-array. Each array has at least one disk drive with an array configuration. The array configuration comprises an array signature and serial check sum of each disk drive in the array. The method comprises steps of: detecting each disk drive in the system; reading an array configuration from the detected disk drive; validating the array signature of the disk drive being corrective or not; reading the serial check sum of other disk drive from the same array; recognizing the disk-array being recorded or not; and recording from the disk drive. The method can be used to manage single disk-array system, multiple disk-array system or span array system.
    Type: Grant
    Filed: July 25, 2003
    Date of Patent: January 3, 2006
    Assignee: Via Technologies, Inc.
    Inventors: Jerry Wang, Wilson Hu
  • Patent number: 6961892
    Abstract: An address information detecting apparatus in accordance with the present invention is arranged such that a first interpolation address generating section generates a first interpolation address according to a consistent signal supplied from an address comparison section, and a second interpolation address generating section generates a second interpolation address according to an error detection signal supplied from a CRC error detecting section. When a detected address is consistent with at least either of the first and second interpolation addresses and also no error is discovered according to the error detection signal, the detected address is adopted as absolute location information, whereas in situations other than the above, the first interpolation address is adopted as the absolute location information. On this account, even if an address error is mis-detected, the malfunction of the apparatus is prevented and proper recording/reproduction can be carried out.
    Type: Grant
    Filed: July 3, 2002
    Date of Patent: November 1, 2005
    Assignee: Sharp Kabushiki Kaisha
    Inventor: Masaaki Hanano
  • Patent number: 6961868
    Abstract: The disclosed invention stores files in a set of independent, functionally equal pieces. These pieces are placed on different servers of a distributed network to achieve a pre-determined level of fault tolerance. Terms of fault tolerance are defined in terms of amount of unavailable sites in the network allowing receipt and access to the data file. Maximal and minimal number of pieces available are variable method parameters. The minimal amount of data pieces k needed to restore a data file is defined. The size of each piece is approximately equal to 1/k of the original file size. The maximal amounts of pieces are defined during distribution operation and depend upon a requested fault tolerance level. Redundancy in data storage is minimized and varies dynamically by changing the total amount of pieces available. Significant increase in data transfer rate is possible because all file pieces could be transferred parallel and independently.
    Type: Grant
    Filed: July 31, 2001
    Date of Patent: November 1, 2005
    Assignee: SWsoft Holdings, Ltd.
    Inventors: Alexander Tormasov, Mikhail Khassine, Serguei Beloussov, Stanislav Protassov
  • 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: 6944726
    Abstract: Setting a plurality of table entries in a storage device includes subdividing the table entries into a N tasks, placing each of the N tasks in a memory location disposed within the storage device and accessible by a plurality of internal devices, the plurality of the internal devices accessing the memory location to retrieve at least one of the N tasks, and each of the plurality of the internal devices setting table entries corresponding to at least one of the N tasks retrieved from the memory location. Setting table entries may also include setting logical device table entries to indicate corresponding tracks contain invalid data in connection with operation of remote data transfer between multiple storage devices.
    Type: Grant
    Filed: August 20, 2002
    Date of Patent: September 13, 2005
    Assignee: EMC Corporation
    Inventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky
  • Patent number: 6934904
    Abstract: Data integrity errors in a redundant storage array are handled by storing a plurality of data blocks having a horizontal redundant relationship and storing a plurality of checksums, each checksum having a vertical redundant relationship with a corresponding one of the plurality of data blocks. In response to detection of a data integrity error in at least one of the plurality of data blocks, the vertical redundant relationships between each of the checksums in the plurality of checksums and the corresponding data blocks are reviewed and the horizontal redundant relationship between the data block having the data integrity error and the remaining data blocks in the plurality of data blocks is also reviewed. The results of these reviews of the redundant relationships can be used to diagnose and repair the data integrity error.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: August 23, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Nisha D. Talagala, Chia Y. Wu
  • Patent number: 6928578
    Abstract: A data storage system that includes computer coupled to disk array controller which is coupled to data storage devices. First procedure provides a method to perform data consistency checking and correction of user data stored in data sectors on a data stripe. Each data sector includes data header and data stripe includes a parity sector, and parity sector includes a parity header. Data stripe is distributed across storage devices. Provides each data header with first code to provide a check for the user data stored in the data header's data segment, provides the parity header with second code to provide a check for a set of parity data stored in parity sector, and provides the parity header with third code by encoding each respective first code with second code. Third code enables user to check consistency of user data and parity data without respective operations on each byte of data in both data sectors and parity sector.
    Type: Grant
    Filed: May 10, 2001
    Date of Patent: August 9, 2005
    Assignee: International Business Machines Corporation
    Inventors: John Edward Archibald, Jr., Brian Dennis McKean
  • Patent number: 6883131
    Abstract: A method for operating a data processing system is provided. The method includes receiving a plurality of data segments, and for each of the plurality of data segments, generating an error correction code (ECC) corresponding to the data segment, said ECC providing at least one-bit error correction capability. Finally, an extended parity segment is calculated from the plurality of data segments and the corresponding ECCs, said extended parity segment including a parity segment calculated from the plurality of data segments and a parity ECC calculated from the corresponding ECCs.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: April 19, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: John D. Acton
  • Patent number: 6877126
    Abstract: A multi-beam optical disc system is disclosed for recording on DVD or CD optical discs. Recorded data includes inner and outer error protection codes applied to data blocks having a predetermined size. Each block comprises several sectors. Multi-channel read-out provides in parallel a set of N sub-sequences, without restriction to the block or sub-block boundaries. Sector ID codes are detected within each channel to identify a series of sub-blocks forming a part of a data block and, even in the absence of data from the start of the block, outer error protection circuitry processes the sub-blocks to accumulate a partial error protection syndrome for the block. Upon reaching the end of the block, a syndrome for a next block within the subsequence is accumulated.
    Type: Grant
    Filed: December 18, 2001
    Date of Patent: April 5, 2005
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: Trevor G. R. Hall, Peter Kollig
  • Patent number: 6851082
    Abstract: A concentrated parity technique allows construction of an extended array that is tolerant of any one or two storage device failures and that enables storage of more than one parity block on a single storage device of the array. The concentrated parity technique uses a conventional, per stripe, distributed parity assignment of data blocks to parity sets, with a restriction that precludes certain parity deltas. Yet, this restriction enables construction of the extended array having data blocks stored on a first set of devices that is disjoint from a second set of devices storing parity blocks, to thereby enable storage of more than one parity block per stripe on a single device.
    Type: Grant
    Filed: November 13, 2001
    Date of Patent: February 1, 2005
    Assignee: Network Appliance, Inc.
    Inventor: Peter F. Corbett
  • Publication number: 20040268208
    Abstract: A method of determining branch metric values in a detector is provided. The method includes receiving time variant signal samples, and computing the branch metric values as a function of transition jitter statistics corresponding to the signal samples. A detector configured to determine branch metric values as a function of transition jitter statistics corresponding to signal samples is also provided.
    Type: Application
    Filed: June 27, 2003
    Publication date: December 30, 2004
    Applicant: Seagate Technology LLC
    Inventor: William M. Radich
  • Patent number: 6836820
    Abstract: The invention provides flexible disabling of disk sets. One or more disks in a RAID subsystem may be identified as temporarily inactive. The disk or disks are then marked as inactive by setting one of a set of bits associated with each disk in the RAID subsystem. If an inactivated disk is a data disk, marking it as inactive also marks it as read only. If an inactivated disk is a parity disk, the RAID group to which it supplies parity is also inactivated and a file system must look to a mirror of the inactivated RAID subsystem for its data. When a data disk is reactivated it is marked as read/write by clearing its associated bit. When a parity disk is reactivated it is also marked as read/write by clearing its bit, however, it is not available for use until it has synchronized its operation with its mirror.
    Type: Grant
    Filed: February 25, 2002
    Date of Patent: December 28, 2004
    Assignee: Network Appliance, Inc.
    Inventors: Srinivasan Viswanathan, Douglas P. Doucette
  • Patent number: RE39421
    Abstract: A disk drive array controller and method carries out disk drive data transfers not only concurrently but also synchronously with respect to all of the drives in the array. For synchronous operation, only a single-channel DMA is required to manage the buffer memory. A single, common strobe is coupled to all of the drives for synchronous read and write operations, thereby reducing controller complexity and pin count. A ring-structure drive data bus together with double buffering techniques allows use of a single, common shift clock instead of a series of staggered strobes as required in prior art for multiplexing/demultiplexing buffer memory data, again providing for reduced controller complexity and pin count in a preferred integrated circuit embodiment of the new disk array controller. Methods and circuitry also are disclosed for generating and storing redundant data (e.g. “check” or parity data) “on the fly” during a write operation to a RAID array.
    Type: Grant
    Filed: May 22, 2003
    Date of Patent: December 5, 2006
    Assignee: NetCell Corporation
    Inventor: Michael C. Stolowitz