Disk Array Patents (Class 714/770)
  • Patent number: 7571373
    Abstract: Method and apparatus for sending data from a disk drive as that data is being read. Error correction and checking is performed after the data is sent, followed by a calculation and transmission of communication cyclic redundancy check information. If error correction and checking identifies a problem, corrected replacement data is determined and sent. Data off-sets can be sent to inform the host system where the corrected data is to be applied.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: August 4, 2009
    Assignee: NVIDIA Corporation
    Inventor: Radoslav Danilak
  • Patent number: 7568143
    Abstract: A system and method of utilizing a network to correct flawed media data. The media device includes a processor, a memory, a network adapter, a removable media interface, an error-correction module, and a communication module. The network device enables the media device to connect to the network and server. The removable media interface enables a user to couple a removable medium to the media device. After a user inserts a removable medium into the removable media interface, the processor and error-correction module examines the removable medium for physical errors. If the number of detected errors exceeds a predetermined threshold, the media device, via the network adapter and the communication module, queries a server for correction data. This correction data may be utilized by the media device to enable successful processing of the data stored on the removable medium.
    Type: Grant
    Filed: January 18, 2006
    Date of Patent: July 28, 2009
    Assignee: International Business Machines Corporation
    Inventors: Mark J. Hamzy, Johnny Meng-Han Shieh
  • Patent number: 7559005
    Abstract: A method is provided for storing data by distributing the data into plural storage units that are accessible independently of one another. The method includes the steps of dividing data to be stored into plural data blocks, generating parity data corresponding to the data blocks, distributing the plural data blocks and the parity data into the storage units to let the storage units store the same, responding to a situation where any of the storage units becomes inaccessible, reconstructing data stored in the storage unit that has become inaccessible before the situation occurs based on data stored in the remaining storage units, dividing the reconstructed data into plural reconstructed data blocks, generating parity data corresponding to the reconstructed data blocks, and distributing the plural reconstructed data blocks and the parity data corresponding thereto into accessible storage units to let the accessible storage units store the same.
    Type: Grant
    Filed: January 19, 2006
    Date of Patent: July 7, 2009
    Assignee: Fujitsu Limited
    Inventors: Masakazu Taguchi, Michio Matsuura
  • Patent number: 7555644
    Abstract: A technique to provision an OS image during a boot-up of a computing server in a utility computing environment using disk array's inherent raw concurrent multi-disk copy mechanism. In one example embodiment, this is achieved by forming a pool of OS image boot-up disks in a disk array using the disk array's internal disk copy routine. An OS image boot-up disk is assigned from the pool of OS image boot-up disks to the computing server upon receiving a request from the computing server. The OS image is then received from the assigned OS image boot-up disk. The computing server then boots-up using the received OS image and runs one or more applications residing in the computing server.
    Type: Grant
    Filed: July 21, 2006
    Date of Patent: June 30, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Karthik G S Bharathy, Guhendran B Devendran
  • Patent number: 7539924
    Abstract: A disk drive is disclosed including a disk having a plurality of data tracks, wherein each data track includes a plurality of data sectors. A head is actuated over the disk for accessing the data sectors. A write command is received from a host, wherein the write command includes a host block and corresponding host block address. The host block is partitioned into a plurality of sub blocks, and a plurality of sub block addresses are generated in response to the host block address, wherein each sub block address corresponds to one of the sub blocks. Error detection code (EDC) data is generated for each sub block in response to the sub block and corresponding sub block address. Each sub block and corresponding EDC data are combined to generate a plurality of partial codewords that are written to the data sectors corresponding to the sub block addresses.
    Type: Grant
    Filed: November 15, 2005
    Date of Patent: May 26, 2009
    Assignee: Western Digital Technologies, Inc.
    Inventors: Steven R. Vasquez, Patrick J. Lee
  • Patent number: 7533319
    Abstract: An apparatus and method for recording and/or reproducing data on a disc using padding information, and a corresponding information storage medium. The recording method includes recording a recording unit block in which invalid data is padded in part of the block and recording padding information indicating that the invalid data is included. According to the method, a disc drive becomes able to distinguish valid data from invalid data in an error correction block such that reliability of reproduction increases and stability of the system is improved.
    Type: Grant
    Filed: May 18, 2004
    Date of Patent: May 12, 2009
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sung-hee Hwang, Kyung-geun Lee, Yoon-woo Lee
  • Patent number: 7533325
    Abstract: The error tolerance of an array of m storage units is increased by using a technique referred to as “dodging.” A plurality of k stripes are stored across the array of storage units in which each stripe has n+r elements that correspond to a symmetric code having a minimum Hamming distance d=r+1. Each respective element of a stripe is stored on a different storage unit. An element is selected when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2. The selected element is also stored on a storage unit having no elements of the recipient stripe. A lost element of the recipient stripe is then rebuilt on the selected element.
    Type: Grant
    Filed: July 14, 2003
    Date of Patent: May 12, 2009
    Assignee: International Business Machines Corporation
    Inventors: Steven Robert Hetzler, Daniel Felix Smith
  • Patent number: 7533323
    Abstract: Data are stored on a random-access storage medium. A user set of data is received. The user set of data is mapped to multiple frames. For each frame, error-correction bytes are generated over the data mapped to that frame. In addition, the data mapped to that frame are written to a number of data blocks of that frame and the error-correction bytes generated for that frame are written to a number of error-correction blocks of that frame. At least one of the number of error-correction blocks and the number of data blocks differs among at least some of the frames.
    Type: Grant
    Filed: July 28, 2005
    Date of Patent: May 12, 2009
    Assignee: Prostor Systems, Inc.
    Inventors: S. Christopher Alaimo, Matthew D. Bondurant, James D. Jones, Christopher Mayne, Robert Sugar
  • Patent number: 7530006
    Abstract: A data recording and reproducing device with a small circuit size is provided that utilizes an iterative decoding technique to realize high-speed data reproduction from a recording medium on which data is recorded at a high density. This data recording and reproducing device records a data block having input data encoded with convolutional codes on a recording medium, reproduces the data block through a partial response channel, and decodes the data block from the reproduced signal, utilizing an iterative decoding technique by which the data block is decoded through iterative decoding using likelihood information. This data recording and reproducing device includes a dividing unit that divides the data block encoded with the convolutional codes into data sub blocks; and a recording unit that records the data sub blocks at non-adjacent locations on the recording medium.
    Type: Grant
    Filed: January 25, 2005
    Date of Patent: May 5, 2009
    Assignee: Fujitsu Limited
    Inventor: Akihiro Itakura
  • Patent number: 7530003
    Abstract: Embodiments of the present invention provide techniques for generating MTR codes with ECC without the use of a second MTR code, while still satisfying the specified constraint.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: May 5, 2009
    Assignee: Hitachi Global Storage Technologies Netherlands B.V.
    Inventors: Yuan Xing Lee, Morishi Izumita
  • Patent number: 7526714
    Abstract: Data coherence checking apparatus, a redundant array of independent disks (RAID) controller and a storage system having the checking apparatus and a method therefor are proposed. The present invention employs an XOR operation unit and an OR operation unit to check the coherence of data to be checked. The XOR operation unit is used to perform XOR operation on the data to be checked. After the XOR operation unit finishes performing the XOR operation on the data of a processing set, it outputs an XOR operation result to the OR operation unit to perform OR operation so as to obtain a check result.
    Type: Grant
    Filed: March 25, 2005
    Date of Patent: April 28, 2009
    Assignee: Infortrend Technology, Inc.
    Inventors: Jui-Yao Pan, Jung-Yao Chen
  • Patent number: 7484137
    Abstract: Geometrically-dependent error rates are used to identify sectors for XORing data in a RAID system for parity purposes in such a way that the probability of failure of any particular group is minimized.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: January 27, 2009
    Assignee: Hitachi Global Storage Technologies Netherlands B.V.
    Inventors: Mario Blaum, Roger Hoyt
  • Publication number: 20090024879
    Abstract: In this parity data generating circuit, a Galois field multiplying calculation is realized by performing data conversion by index table information generated from a Galois field multiplying table so that data for RAID6 are generated. A table check circuit inspects nonconformity of the index table information in advance by using results in which the Galois field multiplying table is indexed from different directions constructed by the longitudinal direction and the transversal direction. Data and parity for making the multiplying calculation are decomposed into plural data and parities by using this table check circuit, and index table information different from each other are allocated to these data and parities. Thus, a longitudinal index table making circuit and a transversal index table making circuit themselves are checked.
    Type: Application
    Filed: August 12, 2008
    Publication date: January 22, 2009
    Applicant: NEC CORPORATION
    Inventor: Eiji KOBAYASHI
  • Patent number: 7475328
    Abstract: A loop status monitoring apparatus monitors a status of an arbitration loop that includes a plurality of devices and a switch that controls connections between the devices, has at least one of loop status detection data, primitive detection data, and frame count data, and includes a failure detecting unit that detects whether an initialization failure, which is a connection failure, has occurred during an initialization of the arbitration loop from the loop status detection data; and a device identifying unit that identifies, when the initialization failure is detected, a device with the initialization failure occurred from the primitive detection data or the frame count data.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: January 6, 2009
    Assignee: Fujitsu Limited
    Inventors: Satoshi Kubota, Hirotaka Shikada
  • Patent number: 7454688
    Abstract: Four ECC blocks are recorded in a burst cutting area of an optical disc. Each ECC block is constituted by a BCA content code of 1 byte, content data length of 1 byte, and content data of 14 bytes. Of the BCA content data, the leading 6 bits are used for application ID and the remaining 2 bits are used for block number. Disc ID is stored in the content data. Since the four ECC blocks exist, the optical disc can be managed individually by four applications at the maximum. Thus it becomes possible to manage the same optical disc by a plurality of applications.
    Type: Grant
    Filed: January 24, 2003
    Date of Patent: November 18, 2008
    Assignees: Sony Corporation, Matsushita Electric Industrial Co., Ltd., Koninklijke Philips Electronics N.V.
    Inventors: Shoei Kobayashi, Susumu Senshu, Tamotsu Yamagami, Makoto Usui, Hideshi Ishihara, Mitsurou Moriya, Cornelis Marinus Schep, Jakob Gerrit Nijboer, Aalbert Stek
  • Publication number: 20080276152
    Abstract: A system and method for error detection in a data storage array includes one or more storage medium interconnected with a controller through a network. A data integrity engine in the controller applies a first error detection process to a data object to create one or more data blocks and associated parity codes. First and second error detection processes are applied to detect and repair errors in the data object.
    Type: Application
    Filed: May 3, 2007
    Publication date: November 6, 2008
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: James P. Hughes
  • Publication number: 20080256420
    Abstract: Provided are a method, system, and article of manufacture for error checking addressable blocks in storage. Addressable blocks of data are stored in a storage in stripes, wherein each stripe includes a plurality of data blocks for one of the addressable blocks and at least one checksum block including checksum data derived from the data blocks for the addressable block. A write request is received to modify data in one of the addressable blocks. The write and updating the checksum are performed in the stripe having the modified addressable block. An indication is made to perform an error checking operation on the stripe for the modified addressable block in response to the write request, wherein the error checking operation reads the data blocks and the checksum in the stripe to determine if the checksum data is accurate. An error handling operation is initiated in response to determining that the checksum data is not accurate.
    Type: Application
    Filed: April 12, 2007
    Publication date: October 16, 2008
    Applicant: International Business Machines Corporation
    Inventors: James Lee Hafner, David Ray Kahler, Robert Akira Kubo, David Frank Mannenbach, Karl Allen Nielsen, James A. O'Connor, Krishnakumar Rao Surugucchi, Richard B. Stelmach
  • Patent number: 7437652
    Abstract: A method for correcting double failures in a storage array has the following steps. A storage array is organized as a plurality of concatenated sub-arrays, each sub-array including a set of data storage devices and a row parity storage device. Row parity is computed for each row of each sub-array. The row parity of a particular sub-array is stored on a row parity storage device of the particular sub-array. A diagonal parity is computed across the concatenated sub-arrays. A double storage device failure is corrected using both the sub-array row parity and the diagonal parity.
    Type: Grant
    Filed: April 12, 2006
    Date of Patent: October 14, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Robert M. English, Peter F. Corbett, Steven R. Kleiman
  • Patent number: 7432824
    Abstract: An endpoint processor includes a processor block, a timer block, a memory block, and analog-to-digital converter. The timer block is arranged to provide a time based signal to the processor block. The memory block cooperates with the processor block. The analog-to-digital converter is arranged to provide an interface between an analog signal and the processor block. The analog signal includes encoded data from a power signal. The processor block is arranged to control a sampling rate that is associated with the analog-to-digital converter such that the analog signal is down-converted as an under-sampled signal. The processor block is arranged to extract the encoded data from the down-converted signal by executing a digital signal processing algorithm that is stored in the memory block. The digital signal processing algorithm is arranged to reject fundamental and harmonic frequencies that are associated with a power-line frequency that is associated with the power signal.
    Type: Grant
    Filed: September 26, 2006
    Date of Patent: October 7, 2008
    Assignee: Hunt Technologies, Inc.
    Inventors: Rolf J. Flen, Stuart L. Haug, Matthew David Ruohoniemi
  • Patent number: 7434136
    Abstract: An ECC determining unit determines whether an error detected by using an ECC has been corrected. When the detected error has not been corrected, an equalizer output sequence transfer unit transfers an equalizer output sequence yk stored in an equalizer output sequence storage unit to a transfer data storage unit in a hard disk controller, so that a high-performance decoding unit (software) performs repetitive decoding, using the transferred equalizer output sequence yk.
    Type: Grant
    Filed: January 28, 2004
    Date of Patent: October 7, 2008
    Assignee: Fujitsu Limited
    Inventors: Kazuhito Ichihara, Takao Sugawara, Akihiro Yamazaki
  • Patent number: 7428691
    Abstract: In the past, storage unit (disk drive) failures were the primary cause of data loss in a storage system. With higher unit reliability and higher bit density, random bit errors have become the primary cause of data loss. Most data recovery mechanisms treat reconstruction of redundant information on the same level as data reconstruction. In reality, data reconstruction is more important and asymmetry between data protection and redundant information protection provides trade-offs of data recoverability against performance. The present invention provides data recovery from both a first number of data block failures due to random bit failures and a second number of storage unit failures while providing update write performance equivalent to data protection mechanisms with lower data recovery capabilities. The level protection from number of data block failures, the number of unit failures, and update write performance are parameterized to select a desired combination.
    Type: Grant
    Filed: November 12, 2003
    Date of Patent: September 23, 2008
    Inventor: Norman Ken Ouchi
  • Patent number: 7421547
    Abstract: Each storage unit is provided with a table for storing a corresponding unit ID and count value. The controller receives a formatting instruction specifying a first unit ID, and updates the count value on a table corresponding to the first unit ID. The controller receives a write command specifying a second unit ID, acquires a count value corresponding to the second unit ID from the table, and attaches the count value to the data, and writes the data to the storage unit. When a read command specifying the second unit ID is received, the controller reads the data from the storage unit, acquires the count value corresponding to the second unit ID from the table, compares this count value and the count value attached to the read data, sends the read data to the transmission source of the command if these values match, and does not send the data to the transmission source of the command if these values do not match.
    Type: Grant
    Filed: October 11, 2005
    Date of Patent: September 2, 2008
    Assignee: Hitachi, Ltd.
    Inventors: Yuko Matsui, Junji Ogawa
  • Patent number: 7418646
    Abstract: In one embodiment, a method is provided that may include generating, at least in part by first circuitry comprised in an integrated circuit, check data based at least in part upon other data, and/or determining at least in part by the first circuitry, one or more locations of the check data and/or the other data in storage. The first circuitry may be capable of regenerating the other data based at least in part upon the check data. The method also may include issuing a request from second circuitry also comprised in the integrated circuit requesting that a wireless communication device transmit the other data, and/or receiving, by the second circuitry, a request issued from the wireless device, to retrieve the other data. Of course, many alternatives, variations, and modifications are possible without departing from this embodiment.
    Type: Grant
    Filed: March 2, 2004
    Date of Patent: August 26, 2008
    Assignee: Intel Corporation
    Inventor: Chet R. Douglas
  • Patent number: 7418645
    Abstract: Techniques for updating cyclic redundancy check (CRC) bytes for data sectors that have been reassigned to a new logical block address (LBA) are provided. The entire set of CRC check bytes is not recalculated each time that a data sector is reassigned to a new LBA. Instead, only the portion of the CRC check bytes effected by the new LBA are updated. An exclusive OR function is performed on the old LBA and the new reassigned LBA for a data sector. Galois Field multiplication is then performed on the result of the XOR function to generate updated portions of CRC bytes that correspond to the reassigned LBA. An exclusive OR function is then performed on the updated portions of the CRC bytes and the old CRC bytes to generate new CRC bytes.
    Type: Grant
    Filed: September 24, 2003
    Date of Patent: August 26, 2008
    Assignee: Hitachi Global Storage Technologies Netherlands B.V.
    Inventor: Vipul Srivastava
  • Patent number: 7418620
    Abstract: Data sets and blocks are stored in a set of independent, functionally equivalent chunks. These chunks are placed on different elements of a distributed network to achieve pre-defined 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 block. Maximal and minimal number of chunks available are variable method parameters. The minimal amount of data chunks K needed to restore a data block is defined. The size of each chunk is approximately 1/K of the original block size. The maximal amounts of chunks 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 chunks available. Significant increase in data transfer rate is possible because all block chunks could be transferred in parallel and independently.
    Type: Grant
    Filed: December 6, 2004
    Date of Patent: August 26, 2008
    Assignee: SWsoft Holdings, Ltd.
    Inventors: Alexander G. Tormasov, Serguei M. Beloussov, Stanislav S. Protassov
  • Patent number: 7415653
    Abstract: A method for storing a data block, involving storing the data block in a storage pool, obtaining a data block location, determining a checksum function for the data block, calculating a data block checksum using the checksum function for the data block, and storing a first indirect block in the storage pool, wherein the first indirect block comprises the data block location, the data block checksum, and a checksum function ID corresponding to the checksum function for the data block.
    Type: Grant
    Filed: April 21, 2004
    Date of Patent: August 19, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey S. Bonwick, Matthew A. Ahrens
  • Patent number: 7409625
    Abstract: A method for enabling recovery from concurrent failure of a plurality of storage devices in a storage array is disclosed. The method stores data on a first plurality of storage devices of the storage array. The first plurality of storage devices may have a number of storage devices equal to a prime number greater then three. Row parity is stored on one or more storage devices of the storage array. A diagonal parity set is computed for the plurality of storage devices. The diagonal parity set is stored on an additional diagonal parity device, the diagonal parity device separate from the first plurality of storage devices.
    Type: Grant
    Filed: February 23, 2007
    Date of Patent: August 5, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Peter F. Corbett, Steven R. Kleiman, Robert M. English
  • Patent number: 7401253
    Abstract: A method, system and article of manufacture for the storing convolution-encoded data on a redundant array of independent storage devices (RAID) is described. The convolution-encoded data comprises error correction coded data to eliminate the need for parity as used in conventional RAID data storage. The number of storage devices may vary to accommodate expansion of storage capacity and provide on demand storage.
    Type: Grant
    Filed: May 9, 2005
    Date of Patent: July 15, 2008
    Assignee: International Business Machines Corporation
    Inventors: Daniel J. Winarski, Craig A. Klein, Nils Haustein
  • Publication number: 20080168331
    Abstract: A memory includes an array of memory cells and an error correction code circuit. The error correction code circuit is configured to receive a first portion of a first data word from an external circuit and a second portion of the first data word from the array of memory cells, combine the first portion and the second portion to provide the first data word, and encode the first data word for writing to the array of memory cells.
    Type: Application
    Filed: January 5, 2007
    Publication date: July 10, 2008
    Inventors: Thomas Vogelsang, Harald Streif, Pete Chlumecky, Josef Schnell
  • Patent number: 7398459
    Abstract: Storing parity information in an external storage with multiple disk drives by determining the number of the storage blocks used as data blocks and the number of the storage blocks used as parity blocks; forming a three-dimensional block matrix of virtual data blocks corresponding to the determined number of the storage blocks; allocating virtual parity blocks to the virtual data block planes; allocating the virtual data blocks and the virtual parity blocks to the storage blocks; calculating parity information based upon data bits respectively stored in the storage blocks corresponding to the virtual data blocks of every virtual data block plane; and storing the calculated parity information in the storage blocks corresponding to the virtual parity blocks. The stored parity information allows any number of error blocks to be recovered, and more particularly allow three or more error blocks per one parity group to be recovered.
    Type: Grant
    Filed: October 28, 2003
    Date of Patent: July 8, 2008
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Hyun-ho Park, Sang-won Oh
  • Patent number: 7392458
    Abstract: When parity checking in a disk array such as a RAID-6 system determines data and parity information is unsynchronized, additional calculations are performed to determine whether the error may be attributed to faulty data on a disk drive or to a more systemic problem such as a faulty controller. In particular, for each particular error detected, the parity generating information is analyzed to determine if each error involves a common disk index. If so, the data can be corrected on that disk; if not other corrective procedures are implemented.
    Type: Grant
    Filed: November 19, 2004
    Date of Patent: June 24, 2008
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Patent number: 7389466
    Abstract: A computer system (10) and method are presented for performing ECC corrections on data contained in a mass data storage device (20). The computer system (10) has a host computer (12) having a CPU (14) and an associated mass data storage device (20). At least some ECC hardware is associated with the mass data storage device (25). A device driver (18) is associated with the host computer (12), which includes software instructions for execution by the CPU (14) for performing at least some ECC functions or instructions on data read from the mass data storage device (20).
    Type: Grant
    Filed: August 12, 1999
    Date of Patent: June 17, 2008
    Assignee: Texas Instruments Incorporated
    Inventors: Tracy D. Harmer, Curtis H. Bruner
  • Patent number: 7386780
    Abstract: Embodiments of the invention include a method and apparatus for encoding data and a system for transmitting and/or storing data, in which the data is encoded and precoded in a manner that does not violate previously established data constraints, such as modulation encoding constraints. The method includes the steps of modulation encoding the data using a modulation code defined by at least one modulation constraint, parity encoding the modulation encoded information, and precoding the encoded information. The precoding step either partially precodes information bits and precodes parity bits, precodes information bits but not parity bits, or precodes both information bits and parity bits in such a manner that does not violate modulation constraints. Also, the parity encoding step can be performed in such a manner that does not violate modulation code constraints.
    Type: Grant
    Filed: February 3, 2005
    Date of Patent: June 10, 2008
    Assignee: Agere Systems Inc.
    Inventors: Victor Krachkovsky, Xiaotong Lin
  • Patent number: 7383490
    Abstract: Methods and apparatus perform fault isolation in multiple node computing systems using commutative error detection values for—example, checksums—to identify and to isolate faulty nodes. When information associated with a reproducible portion of a computer program is injected into a network by a node, a commutative error detection value is calculated. At intervals, node fault detection apparatus associated with the multiple node computer system retrieve commutative error detection values associated with the node and stores them in memory. When the computer program is executed again by the multiple node computer system, new commutative error detection values are created and stored in memory. The node fault detection apparatus identifies faulty nodes by comparing commutative error detection values associated with reproducible portions of the application program generated by a particular node from different runs of the application program. Differences in values indicate a possible faulty node.
    Type: Grant
    Filed: April 14, 2005
    Date of Patent: June 3, 2008
    Assignee: International Business Machines Corporation
    Inventors: Gheorghe Almasi, Matthias Augustin Blumrich, Dong Chen, Paul Coteus, Alan Gara, Mark E. Giampapa, Philip Heidelberger, Dirk I. Hoenicke, Sarabjeet Singh, Burkhard D. Steinmacher-Burow, Todd Takken, Pavlos Vranas
  • Patent number: 7370261
    Abstract: A Redundant Array of Independent Devices uses convolution encoding to provide redundancy of the striped data written to the devices. No parity is utilized in the convolution encoding process. Trellis decoding is used for both reading the data from the RAID and for rebuilding missing encoded data from one or more failed devices, based on a minimal, and preferably zero, Hamming distance for selecting the connected path through the trellis diagram.
    Type: Grant
    Filed: May 9, 2005
    Date of Patent: May 6, 2008
    Assignee: International Business Machines Corporation
    Inventors: Daniel J. Winarski, Craig A. Klein, Nils Haustein
  • Patent number: 7370248
    Abstract: This disclosure describes a technique including operating a redundant disk drive device, wherein the redundant disk drive device includes a primary disk drive and at least one mirror disk drive. At least one of the disk drives is reconfigured within the redundant disk drive system in such a manner that during the reconfiguring, the disk drive is maintained on-line.
    Type: Grant
    Filed: November 7, 2003
    Date of Patent: May 6, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Gunnar Tapper, Gary S. Smith, Marty Guericke, Vijay M. Bellam
  • Publication number: 20080104484
    Abstract: There is provided a system and method of mass storage. The method includes dividing storage units into standard sized blocks and upon receiving a write request from an application, generating EDC data for user application data associated with the write request. The method also includes compressing the user application data using a lossless compression technique and storing the user application data and the EDC data together in a single block in a primary data area if the lossless compression technique is successful.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Inventor: Michael B. Jacobson
  • Patent number: 7356731
    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: January 16, 2007
    Date of Patent: April 8, 2008
    Assignee: Network Applicance, Inc.
    Inventors: Peter F. Corbett, Robert M. English, Steven R. Kleiman
  • Patent number: 7346831
    Abstract: A parity assignment technique enables parity declustering in a large, balanced parity (“super-stripe”) array of a storage system. The balanced array may be constructed by combining a plurality of unbalanced parity stripe arrays, each having parity blocks on a set of storage devices, such as disks, that are disjoint from the set of disks storing the data blocks. The technique distributes the assignment of disks to parity groups among the combined super-stripe array such that all disks contain the same amount of data or parity information. Moreover, the technique ensures that all surviving data disks of the array are loaded uniformly during a reconstruction phase after a single or double disk failure.
    Type: Grant
    Filed: November 13, 2001
    Date of Patent: March 18, 2008
    Assignee: Network Appliance, Inc.
    Inventor: Peter F. Corbett
  • Patent number: 7343546
    Abstract: A method and system for syndrome generation and data recovery is described. The system includes a recovery device coupled to one or more storage devices to recover data in the storage devices. The recovery device includes a first comparator to generate a first parity factor based on data in one or more of the storage devices, a multiplier to multiply data from one or more of the storage devices with a multiplication factor to generate a product, and a second comparator coupled to the multiplier to generate a second parity factor based at least in part on the product.
    Type: Grant
    Filed: December 23, 2004
    Date of Patent: March 11, 2008
    Assignee: Intel Corporation
    Inventors: Samantha J. Edirisooriya, Gregory W. Tse, Mark A. Schmisseur, Robert L. Sheffield
  • Publication number: 20080059865
    Abstract: The present disclosure provides an apparatus and method for generating a Galois-field syndrome. One exemplary method may include loading a first data byte from a first storage device to a first register and loading a second data byte from a second storage device to a second register; ANDing the most significant bit (MSB) of the first data byte and a Galois-field polynomial to generate a first intermediate output; XORing each bit of the first intermediate output with the least significant bits (LSBs) of the first data byte to generate a second intermediate output; MUXing the second intermediate output with each bit of the first data byte to generate a third intermediate output; XORing each bit of the third intermediate output with each bit of the second data byte to generate at a fourth intermediate output; and generating a RAID Q syndrome based on, at least in part, the fourth intermediate output. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.
    Type: Application
    Filed: August 31, 2006
    Publication date: March 6, 2008
    Applicant: INTEL CORPORATION
    Inventors: Vinodh Gopal, Gilbert M. Wolrich, Daniel Cutter, Wajdi Feghali, Robert P. Ottavi
  • Patent number: 7339873
    Abstract: A data recording/reproducing apparatus for use with a disc recording medium having a plurality of either concentric or spiral tracks formed thereon, each of the tracks being divided into a plurality of sectors is provided. The apparatus includes a seeking element for seeking a target track; a data accessing element for accessing data on the target track reached by the seek; and an error correcting element for correcting error in the data based on an error correction code generated by the error correcting element for error correction purposes.
    Type: Grant
    Filed: July 2, 2004
    Date of Patent: March 4, 2008
    Assignee: Sony Corporation
    Inventor: Toshiyuki Nakagawa
  • Patent number: 7330998
    Abstract: In one embodiment, a method is provided. The method of this embodiment may include verifying, at least in part, integrity of first check data and a plurality of data blocks. The first check data may be generated based at least in part upon the plurality of data blocks. The verifying may be based, at least in part, upon second check data and third check data. The second check data may be generated based at least in part upon respective check data. The respective check data may be generated based at least in part upon respective data blocks comprised in the plurality of data blocks. The third check data may be generated based at least in part upon the first check data. Of course, many alternatives, variations, and modifications are possible without departing from this embodiment.
    Type: Grant
    Filed: September 20, 2004
    Date of Patent: February 12, 2008
    Assignee: Intel Corporation
    Inventor: Samantha J. Edirisooriya
  • Patent number: 7328392
    Abstract: A disk array system is provided, which can improve data reliability by verifying addressing correctness of data access by applying a redundant code to user data even if using an HDD compatible with serial ATA, etc. whose sector length cannot be extended. When writing the object data to an HDD, a controller stores partly-extracted data of the object data in a control area and performs an XOR operation between the partly-extracted data and a check code generated by calculations. Then, the operation-resultant data (CC-embedded data) are returned to the object data and written in the HDD. Also, when reading the object data from the HDD, the controller fetches the CC-embedded data, performs an XOR operation between the fetched data and the check code, and compares and collates the operation-resultant data with the partly-extracted data in the control area to check the addressing correctness and restore the user data.
    Type: Grant
    Filed: November 2, 2004
    Date of Patent: February 5, 2008
    Assignee: Hitachi, Ltd.
    Inventors: Takashi Chikusa, Seiki Morita, Toshio Tachibana, Takehiro Maki, Hirotaka Honma
  • Publication number: 20080022189
    Abstract: A scheme in which a first decoder provides first decoding of a signal read from a disk. A second decoder, coupled to an output of the first decoder, combines with the first decoder to provide iterative decoding to recover data stored on the disk when in an iterative mode of operation. However, when in a non-iterative mode of operation, the output of the first decoder is coupled to an error correction code module to apply error correction code (ECC) to the output of the first decoder to recover data stored on the disk by non-iterative decoding.
    Type: Application
    Filed: December 21, 2006
    Publication date: January 24, 2008
    Applicant: Broadcom Corporation, a California Corporation
    Inventors: Andrei E. Vityaev, Thomas V. Souvignier, Gregory L. Silvus
  • Patent number: 7315976
    Abstract: The present invention is directed to a method and system for disk drive data recovery utilizing CRC information and RAID parity. CRC meta data is compared with either the CRC generated from the data read from the disk drive or the CRC generated from the data reconstructed from the parity drive. If the CRC metadata matches the CRC generated from the data read from the disk drive, the data from the disk drive is accepted as valid. Otherwise, another comparison is made between the CRC generated from data reconstructed from RAID parity and the CRC metadata. If there is a match, the reconstructed data is used as the valid data; otherwise, the data read from the disk drive is used as valid data.
    Type: Grant
    Filed: January 31, 2002
    Date of Patent: January 1, 2008
    Assignee: LSI Logic Corporation
    Inventor: Keith W. Holt
  • Publication number: 20070300132
    Abstract: Apparatuses and methods for defect replacement when an optical storage medium is read are provided. When the defect management is LOW, a pick-up head retrieves a set of data from the optical storage medium; a defect detector detects whether there is a defect in the set; if yes, a processor determines whether a replacement for the defect is in the set; and if yes, an interface transmits the replacement from the set.
    Type: Application
    Filed: May 30, 2006
    Publication date: December 27, 2007
    Inventors: Ching-Wen Hsueh, Shih-Hsin Chen
  • Patent number: 7310703
    Abstract: A method of reading data comprises receiving a request for a stripe of erasure coded data, sending read messages to at least a quorum of storage devices, and receiving at least the quorum of reply messages from the devices. The quorum of the reply messages includes at least a minimum number of stripe blocks needed to decode the data. The quorum meets 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. A method of writing data comprises generating a timestamp, encoding the data, sending query messages including the timestamp to the storage devices, receiving query reply messages from each of at least the quorum of the devices, sending write messages to the devices, and receiving a write reply message from each of at least the quorum of the devices.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: December 18, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch
  • Patent number: 7308637
    Abstract: A stable system is provided wherein the influence of disturbance or the like can be reduced. First error correcting code units and second error correcting code units are used, and thereby a wider range of random errors and burst errors are made correctable to avoid retry operation. Thus, stable data reproduction is carried out without degrading transfer rate. Further, the constitution of error correcting blocks is set so that when a head is moved to some track during seek operation, a sector having the second error correcting code recorded therein is the first sector to be read.
    Type: Grant
    Filed: August 18, 2004
    Date of Patent: December 11, 2007
    Assignee: Sony Corporation
    Inventors: Toshiyuki Nakagawa, Yoshio Muraoka, Hiroaki Eto
  • Publication number: 20070266300
    Abstract: An encoder divides the data in which sector data is adjacently connected to a first RS parity generated in Reed Solomon encoding into blocks to and subjects each of the blocks to cyclic Hamming encoding so as to generate Hamming parities. Subsequently, the data in which the Hamming parities are aligned in a row is subjected to Reed Solomon encoding so as to generate a second RS parity, and encoded data in which the first RS parity and the second RS parity are adjacently connected to the sector data is output. A decoder divides the sector data and the first RS parity into n blockes and cyclic Hamming encoding, aligns the parities thereof, corrects errors in the parities by Reed Solomon decoding by the second RS parity, then corrects 1-bit errors in blockes by cyclic Hamming decoding, and further corrects errors of 2 or more bits by Reed Solomon decoding by the first RS parity.
    Type: Application
    Filed: August 31, 2006
    Publication date: November 15, 2007
    Inventors: Toshio Ito, Toshihiko Morita