Disk Array Patents (Class 714/770)
  • Patent number: 7899989
    Abstract: A method for writing a logical block into a storage pool includes receiving a request to write the logical block, selecting a block allocation policy, by a file system associated with the storage pool, from a set of allocation policies, obtaining a list of free physical blocks in the storage pool, allocating a physical block from the list of free physical blocks, based on the block allocation policy, and writing the logical block to the physical block.
    Type: Grant
    Filed: April 20, 2006
    Date of Patent: March 1, 2011
    Assignee: Oracle America, Inc.
    Inventors: William H. Moore, Jeffrey S. Bonwick
  • Patent number: 7882420
    Abstract: A method for writing data to a storage pool includes receiving a write operation to write a logical block of data to the storage pool, determining a number (n?1) of physical blocks required to store the logical block of data, generating a parity block using the logical block of data, allocating n physical blocks in the storage pool, writing the parity block in the first of n allocated physical block, and writing the logical block of data across the remaining n?1 allocated physical blocks, where n is less than a number of disks in the storage pool, and where each of the n allocated physical blocks is located on a different disk in the storage pool.
    Type: Grant
    Filed: August 20, 2009
    Date of Patent: February 1, 2011
    Assignee: Oracle America, Inc.
    Inventors: William H. Moore, Jeffrey S. Bonwick, Matthew A. Ahrens
  • Patent number: 7870456
    Abstract: An apparatus and method for recording and/or reproducing data on a disc are provided 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: March 31, 2008
    Date of Patent: January 11, 2011
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sung-hee Hwang, Kyung-geun Lee, Yoon-woo Lee
  • Patent number: 7870460
    Abstract: According to one embodiment, the controller controls a data refresh operation. The data refresh operation comprises a refresh-data read operation of reading L blocks of data by a head from a track to be refreshed on a disk, a data backup-write operation of writing the read data by the head to a backup-track on the disk, and a refresh-write operation of writing the read data by the head to the track to be refreshed after the backup-write operation. The controller sets the number L of blocks to a value that satisfies conditions for completing the backup-write operation and the refresh-write operation within a time corresponding to N revolutions of the disk from completion of the refresh-data read operation.
    Type: Grant
    Filed: October 29, 2009
    Date of Patent: January 11, 2011
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Taro Iketaki, Akio Mizuno, Yasuhiko Ichikawa, Takao Aoki
  • Patent number: 7870464
    Abstract: A system (and method) for a recovery of data from a lost sector in a storage system, which includes a set of readable and lost sectors in a plurality of disks in the storage system, includes identifying a lost sector of at least one disk of the storage system, determining whether the data from the lost sector is capable of being recovered, and, if the data from the lost sector is capable of being recovered, generating a recovery formula for the lost sector and recovering the data from the lost sector based on the recovery formula.
    Type: Grant
    Filed: November 2, 2004
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: James Lee Hafner, John Anthony Tomlin
  • Publication number: 20100325478
    Abstract: A disk controller for controlling disk devices for storing redundant data distributed thereacross, the disk devices providing a logical volume, the disk devices including pool volumes allocatable to one of the logical volume. The disk controller includes a memory for storing information indicating a relationship between the pool volumes and the logical volume; and a processor for performing data reconstruction in accordance with a failure of the disk devices, a process of the data reconstruction, the processor being configured to detect an error in a part of the pool volumes included in the other disk devices when reading data from the pool volumes included in the other disk devices, determine whether the detected pool volume is allocated to the logical volume in reference to the information, and initialize the part of the detected pool volume when the detected pool volume is unallocated to the logical volume.
    Type: Application
    Filed: June 16, 2010
    Publication date: December 23, 2010
    Applicant: FUJITSU LIMITED
    Inventors: Chikashi MAEDA, Mikio Ito, Hidejirou Daikokuya, Kazuhiko Ikeuchi
  • Publication number: 20100325522
    Abstract: A storage device is for restoring the data saved in a nonvolatile memory to a cache memory, even if there is not a read response from the nonvolatile memory. In a data saving operation, parity data of to-be-saved data is generated, and the to-be-saved data and the parity data having CRCs and AIDs added thereto are written into a flash memory. In a data restoring operation, if an operation to read data from the flash memory is not completed within a predetermined period of time, the data reading operation is suspended, and additional data is set. The to-be-saved data having a data error corrected with the parity data is then written into the cache memory.
    Type: Application
    Filed: August 27, 2010
    Publication date: December 23, 2010
    Applicant: FUJITSU LIMITED
    Inventors: Nina Tsukamoto, Sadayuki Ohyama, Yuji Hanaoka
  • Patent number: 7853823
    Abstract: A system (and method) for determining reconstruction formulas for partial strip reconstruction in a storage system in which a plurality of lost strips have been detected, includes using a combination of a direct reconstruction method and a sequential reconstruction method.
    Type: Grant
    Filed: August 6, 2009
    Date of Patent: December 14, 2010
    Assignee: International Business Machines Corporation
    Inventors: Veera W. Deenadhayalan, James Lee Hafner, Krishnakumar Rao Surugucchi
  • Patent number: 7849378
    Abstract: An ID (identification) information, user data, and a control information are disposed each in one block, and subject to an error correction code (ECC). The user data and control information are disposed in an ECC block 1, while the ID information is disposed in an ECC block 2. The ECC blocks 1 and 2 are coded separately for error correction. The blocks thus coded for error correction are disposed in one physical structure, data is modulated, a sync signal is added to the modulated data, and then the data is written to an optical disc having the above data format.
    Type: Grant
    Filed: September 20, 2004
    Date of Patent: December 7, 2010
    Assignee: Sony Corporation
    Inventor: Susumu Sensyu
  • Patent number: 7840878
    Abstract: A system includes a host first-in first-out (FIFO) module, a first encoder module, a control module, a disk FIFO module, and a second encoder module. The host FIFO module receives a block having data and selectively receives a host logical block address (HLBA). The first encoder module generates a first checksum based on the data and the HLBA and generates a first encoded block. The control module appends the HLBA to the first encoded block and generates an appended block. The disk FIFO module receives the block from the host FIFO module. The second encoder module selectively generates a second checksum based on the HLBA and the data in the block received by the disk FIFO module. The second encoder module compares the block received by the disk FIFO module to the block received by the host FIFO module based on the first and second checksums.
    Type: Grant
    Filed: February 27, 2007
    Date of Patent: November 23, 2010
    Assignee: Marvell International Ltd.
    Inventors: Heng Tang, Gregory Burd, Soichi Isono, Son Hong Ho, Vincent Wong, Zining Wu
  • Patent number: 7840877
    Abstract: There is provided a system and method of mass storage. The method includes dividing storage units into standard size 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: Grant
    Filed: October 31, 2006
    Date of Patent: November 23, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Michael B. Jacobson
  • Patent number: 7836379
    Abstract: A system includes a receive module, a control module and a read module. The receive module receives a first block that includes first data, a first cyclic redundancy check (CRC) checksum, and a first error-correcting code (ECC) value. The first CRC checksum and the first ECC value include a logical block address (LBA). The control module generates a first derived CRC checksum based on the first data. The first derived CRC checksum does not include the LBA. The read module reads a second block from a parity disk. The second block includes parity data, a second CRC checksum, and a second ECC value. The second CRC checksum and the second ECC value include the LBA.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: November 16, 2010
    Assignee: Marvell International Ltd.
    Inventors: Paul B. Ricci, Mohammad M. Negahban, Yujun Si
  • Patent number: 7831880
    Abstract: To specify defect management information to be used in a short time in an information recording medium having a defect information area capable of recording plural sets of defect management information and a selection information area capable of recording plural sets of selection information for selecting a set of defect management information from the defect information area. The selection information includes information about a position where the latest management information at the time of writing is written, and history information indicating that the selection information is updated.
    Type: Grant
    Filed: January 25, 2006
    Date of Patent: November 9, 2010
    Assignee: NEC Corporation
    Inventor: Minoru Akiyama
  • Patent number: 7827456
    Abstract: The present invention provides an error correcting method and apparatus for correcting errors in content. In accordance with a method embodiment, a method is provided for correcting errors in content, comprising, determining the types of the errors; sending a download request over a network for downloading error correcting information according to the type of the errors; receiving the error correcting information from the server; and correcting errors with the correcting information.
    Type: Grant
    Filed: March 22, 2005
    Date of Patent: November 2, 2010
    Assignee: Koninklijke Philips Electronics, N.V.
    Inventors: Jiagang Zhang, Jianyi Zhong, Zhongjin Guo, Jacobus Maarten Den Hollander, Anthonius P. G. E. Janssen
  • Patent number: 7827469
    Abstract: An interpretive script language that provides an abstraction layer between redundant array of independent disks (RAID) algorithms and RAID hardware architecture. The interpretive script language provides greater flexibility and performance over conventional RAID processors. The interpretive script language may be used with any RAID hardware architecture, is not dependent on a specific RAID algorithm, and enables efficient communication to a RAID processor from any entity that desires RAID services. The entity requesting RAID services sends a command to a RAID processor, which includes pointers to a script entry point for scripts stored in a table memory in the RAID processor, and pointers to the data and parity (for example, in a buffer memory) on which to perform exclusive OR (XOR) operations.
    Type: Grant
    Filed: December 10, 2008
    Date of Patent: November 2, 2010
    Assignee: ADPT Corporation
    Inventor: Sanjay Subbarao
  • Patent number: 7823009
    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: June 21, 2010
    Date of Patent: October 26, 2010
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander G. Tormasov, Serguei M. Beloussov, Stanislav S. Protassov
  • Publication number: 20100257401
    Abstract: A RAID disk drive controller (FIG. 33) implements disk storage operations, including striping and redundancy operations with multiple disk drives connected via respective SATA ports (520). Configurable data path switch logic (460) provides dynamic configuration of two or more attached drives into one or more arrays. Data transfers are synchronized locally by leveraging the SATA port transport layer FIFO (530). Synchronous transfers allow on-the-fly redundancy (XOR) operations (FIG. 36) for improved performance and reduced hardware complexity. XOR accumulator hardware (FIG. 42-FIG. 43) reduces buffer requirements for multiple DMA channels otherwise required for synchronization, and various narrow and wide striping modes are supported.
    Type: Application
    Filed: December 29, 2009
    Publication date: October 7, 2010
    Inventor: Michael C. Stolowitz
  • Patent number: 7810012
    Abstract: An improved format is disclosed for storing a randomized data block in a storage device. The data block format includes a data field, an identifier (ID) field for storing an identifier that identifies data stored in the data field, and a randomizer seed field for storing a randomizer seed. An error check character generator generates an ID field error check character utilizing said identifier. The randomizer seed includes the ID field error check character.
    Type: Grant
    Filed: August 6, 2003
    Date of Patent: October 5, 2010
    Assignee: Oracle America, Inc.
    Inventors: Keith Gary Boyer, Thomas G. Liehe
  • Publication number: 20100251073
    Abstract: A RAID disk drive controller (FIG. 33) implements disk storage operations, including striping and redundancy operations with multiple disk drives connected via respective SATA ports (520). Configurable data path switch logic (460) provides dynamic configuration of two or more attached drives into one or more arrays. Data transfers are synchronized locally by leveraging the SATA port transport layer FIFO (530). Synchronous transfers allow on-the-fly redundancy (XOR) operations (FIG. 36) for improved performance and reduced hardware complexity. XOR accumulator hardware (FIG. 42-FIG. 43) reduces buffer requirements for multiple DMA channels otherwise required for synchronization, and various narrow and wide striping modes are supported.
    Type: Application
    Filed: December 29, 2009
    Publication date: September 30, 2010
    Inventor: Michael C. Stolowitz
  • Patent number: 7805659
    Abstract: A method of controlling a RAID system including a plurality of disk devices is provided. The method allows for reading data recorded onto an area adjacent to an area where a write error occurs when the write error is detected while data is written into the disk device. When an error is detected from the data read from the adjacent area, the data recorded onto the adjacent area is restored by using a RAID function and the restored data is written into the adjacent area.
    Type: Grant
    Filed: September 26, 2006
    Date of Patent: September 28, 2010
    Assignee: Fujitsu Limited
    Inventor: Eisaku Takahashi
  • Patent number: 7797611
    Abstract: A method for reducing data loss includes a first computing step for computing an intermediate result for each redundancy information entity of a redundancy set by processing respectively associated data information entities of a given data set on at least two main diagonals of a parity check matrix representing an error correction coding scheme. The method further includes a second computing step for computing the information content of the respective redundancy information entity dependent on the respective intermediate result.
    Type: Grant
    Filed: November 9, 2006
    Date of Patent: September 14, 2010
    Assignee: International Business Machines Corporation
    Inventors: Ajay Dholakia, Evangelos Elftheriou, Xiaoyu Hu, Ilias Iliadis
  • Patent number: 7797612
    Abstract: The present disclosure provides a method for generating RAID syndromes. In one embodiment the method may include loading a first data byte of a first disk block and a first data byte of a second disk block from a storage device to an arithmetic logic unit. The method may further include XORing the first data byte of the first disk block and the first data byte of the second disk block to generate a first result and storing the first result in a results buffer. The method may also include iteratively repeating, loading intermediate data bytes corresponding to the first disk block and intermediate data bytes corresponding to the second disk block from the storage device to the arithmetic logic unit. The method may additionally include XORing the intermediate data bytes corresponding to the first disk block and the intermediate data bytes corresponding to the second disk block to generate intermediate results and generating a RAID syndrome based on, at least in part, the intermediate results.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: September 14, 2010
    Assignee: Intel Corporation
    Inventors: Vinodh Gopal, Yogesh Bansal, Gilbert M. Wolrich, Wajdi Feghali, Kirk Yap
  • Patent number: 7783956
    Abstract: A data recorder includes a first memory element including read/write capability, a second memory element including non-volatile memory and a controller for realizing memory management functions. The controller responds to a predetermined triggering event by writing selected data from the first memory element to the second memory element. The selected data include data units that have been modified after a prior triggering event.
    Type: Grant
    Filed: July 12, 2006
    Date of Patent: August 24, 2010
    Assignee: Cronera Systems Incorporated
    Inventors: Gwon Hee Ko, John Massie
  • Patent number: 7779335
    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: May 23, 2008
    Date of Patent: August 17, 2010
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Publication number: 20100199146
    Abstract: In a storage controller provided for a storage system provided with a plurality of disk devices, for controlling to storage data in the plurality of disk devices, an encoding unit encodes data to be stored in the plurality of disk devices by erasure correction coding to obtain encoded data. A storage/reading unit stores the encoded data in the plurality of disk devices and fetches the encoded data from the plurality of disk devices, according to instructions from a personal computer. A transmitting unit transmits the encoded data fetched from the plurality of disk devices by the storage/reading unit to a storage system 1B connected to a storage system 1A via a network.
    Type: Application
    Filed: April 7, 2010
    Publication date: August 5, 2010
    Applicant: FUJITSU LIMITED
    Inventors: Yuichi Sato, Hiroaki Kameyama
  • Patent number: 7743308
    Abstract: A method and system for generating parity symbols and rebuilding data symbols in a RAID system. The method includes receiving a command to generate a desired parity or data symbol using an XOR relationship between some of a plurality of parity and data symbols. A symbol of the plurality of parity and data symbols is input to an XOR accumulator, the symbol being included in the XOR relationship. Additional symbols of the plurality of parity and data symbols are input to the XOR accumulator. Each time that an additional symbol is input and is included in the XOR relationship, an XOR operation is performed between the symbol in the XOR accumulator and the additional symbol, thus obtaining a resulting symbol that replaces the previous symbol in the XOR accumulator. After every symbol included in the XOR relationship has undergone an XOR operation, the symbol in the XOR accumulator is output as the desired parity or data symbol.
    Type: Grant
    Filed: February 9, 2006
    Date of Patent: June 22, 2010
    Assignee: Adaptec, Inc.
    Inventor: Sanjay Subbarao
  • Patent number: 7743275
    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: August 12, 2008
    Date of Patent: June 22, 2010
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander G. Tormasov, Vitali A. Obernikhin
  • Patent number: 7734993
    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 preceding the encoded information. The preceding 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: April 16, 2008
    Date of Patent: June 8, 2010
    Assignee: Agere Systems Inc.
    Inventors: Victor Krachkovsky, Xiaotong Lin
  • Patent number: 7725765
    Abstract: The described methodology provides users with the ability to specify flexible encryption options in a storage system using RAID technology. The users can use the system to achieve a configuration which achieves a desired balance between security and system load/performance. Specifically, one aspect of the methodology enables the user to enable or disable the encryption of the redundant parity information. Change of the data causes change of the parity information and, when parity is not encrypted, a close analysis of parity change may enable one to reconstruct the all or some of the encrypted data. Therefore, when a user chooses the encryption of the parity information, it becomes more difficult to reconstruct the plain data from the encrypted data. The described storage system also provides a function for monitoring and reporting the current or projected utilization of various computer resources including processor and memory utilization, which assists the user in selecting the proper security option.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: May 25, 2010
    Assignee: Hitachi, Ltd.
    Inventors: Hiroshi Arakawa, Nobuyuki Osaki
  • Publication number: 20100088576
    Abstract: Among other disclosed subject matter, a magnetic disk controller includes an interface that receives and transmits data to be written into a magnetic disk. The magnetic disk controller includes a first buffer and a second buffer each of which temporarily stores data that is to be written into at least one sector of the magnetic disk. The magnetic disk controller includes an encoding unit that encodes the data stored in any of the first buffer and the second buffer into data representing a signal to be applied to the magnetic disk. A data width M between the encoding unit and the first and second buffers is at least equal to twice a data width N between the interface and the first and second buffers.
    Type: Application
    Filed: December 9, 2009
    Publication date: April 8, 2010
    Applicant: Marvell Japan K.K.
    Inventors: Soichi Isono, Minoni Tsukada, Tomoki Oura, Koji Takahashi
  • Patent number: 7689877
    Abstract: A method for reconstructing corrupted data, which includes determining a number of non-parity disks (n), selecting a first combination of n-1 non-parity disks, obtaining a first set of physical blocks from the first combination of n-1 non-parity disks, obtaining a parity block associated with the first set of physical blocks, reconstructing a first physical block using the first set of physical blocks and the parity block, combining the first physical block and the first set of physical blocks to obtain a first reconstructed logical block, checksuming the first reconstructed logical block to obtain a first calculated checksum, and determining whether the first calculated checksum is equal to a stored checksum associated with the first reconstructed logical block.
    Type: Grant
    Filed: April 19, 2006
    Date of Patent: March 30, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: William H. Moore, Jeffrey S. Bonwick
  • Patent number: 7685499
    Abstract: An XOR circuit, a RAID device which can recover several failures and method thereof are provided. A Galois field data recovery circuit having two or more sets of Galois Field engine circuits which are used in the XOR circuit, is one which can generate high efficient parity engine and high efficient flow data route and which at the same time correct the three or more failures during operation of the RAID device.
    Type: Grant
    Filed: June 22, 2006
    Date of Patent: March 23, 2010
    Assignee: Accusys, Inc.
    Inventors: Wen-Sen Tsai, Hung-Chi Lin, Feng-Sheng Chu
  • Patent number: 7681104
    Abstract: An efficient method to apply an erasure encoding and decoding scheme across dispersed data stores that receive constant updates. A data store is a persistent memory for storing a data block. Such data stores include, without limitation, a group of disks, a group of disk arrays, or the like. An encoding process applies a sequencing method to assign a sequence number to each data and checksum block as they are modified and updated onto their data stores. The method preferably uses the sequence number to identify data set consistency. The sequencing method allows for self-healing of each individual data store, and it maintains data consistency and correctness within a data block and among a group of data blocks. The inventive technique can be applied on many forms of distributed persistent data stores to provide failure resiliency and to maintain data consistency and correctness.
    Type: Grant
    Filed: August 5, 2005
    Date of Patent: March 16, 2010
    Assignee: BakBone Software, Inc.
    Inventors: Siew Yong Sim-Tang, Semen Alexandrovich Ustimenko
  • Patent number: 7673218
    Abstract: A system for decoding coded data printed in ink on a surface. The coded data includes an encoded bit stream and associated redundancy data, and a registration structure of clock tracks indicative of a position of the coded data in the direction perpendicular to an alignment direction and two alignment lines for each clock track. The system has a store for storing the coded data and a decoder for determining a codeword format for the coded data, reading the coded data from the store using the determined format, correcting errors in the encoded bit stream, and writing the corrected data to the store. The coded data is read so as to de-interleave the encoded bit stream and redundancy data into codewords. The decoder uses an alignment phase-locked loop (PLL) to determine a position of the alignment lines so as to determine the position of each respective track and update the alignment PLL.
    Type: Grant
    Filed: August 27, 2008
    Date of Patent: March 2, 2010
    Assignee: Silverbrook Research Pty Ltd
    Inventors: Paul Lapstun, Kia Silverbrook
  • Patent number: 7668879
    Abstract: Techniques used in an automatic failover configuration having a primary database system, a standby database system, and an observer for preventing divergence among the primary and standby database systems while increasing the availability of the primary database system. In the automatic failover configuration, the primary database system remains available even in the absence of both the standby and the observer as long as the standby and the observer become absent sequentially. The failover configuration further permits automatic failover only when the observer is present and the standby and the primary are synchronized and inhibits state changes during failover. The database systems and the observer have copies of failover configuration state and the techniques include techniques for propagating the most recent version of the state among the databases and the observer and techniques for using carefully-ordered writes to ensure that state changes are propagated in a fashion which prevents divergence.
    Type: Grant
    Filed: November 22, 2006
    Date of Patent: February 23, 2010
    Assignee: Oracle International Corporation
    Inventors: Stephen John Vivian, Robert R. McGulrk, George H. Claborn, Mahesh Baburao Girkar, Benedito Elmo Garin, Jr., Raymond Guzman, Douglas Voss
  • Patent number: 7669107
    Abstract: In a disk array environment such as a Redundant Array of Independent Disks-6 (RAID-6) environment, the overall performance overhead associated with exposed mode operations such as resynchronization, rebuild and exposed mode read operations is reduced through increased parallelism. By selecting only subsets of the possible disks required to solve a parity stripe equation for a particular parity stripe, accesses to one or more disks in a disk array may be omitted, thus freeing the omitted disks to perform other disk accesses. In addition, disk accesses associated with different parity stripes may be overlapped such that the retrieval of data necessary for restoring data for one parity stripe is performed concurrently with the storage of restored data for another parity stripe.
    Type: Grant
    Filed: October 24, 2007
    Date of Patent: February 23, 2010
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Patent number: 7664915
    Abstract: An acceleration unit offloads computationally intensive tasks from a processor. The acceleration unit includes two data processing paths each having an Arithmetic Logical Unit and sharing a single multiplier unit. Each data processing path may perform configurable operations in parallel on a same data. Special multiplexer paths and instructions are provided to allow P and Q type syndromes to be computed on a stripe in a single-pass of the data through the acceleration unit.
    Type: Grant
    Filed: December 19, 2006
    Date of Patent: February 16, 2010
    Assignee: Intel Corporation
    Inventors: Vinodh Gopal, Gilbert Wolrich, Kirk S. Yap, Wajdi K. Feghali, John Vranich, Robert P. Ottavi
  • Patent number: 7661058
    Abstract: A Redundant Array of Inexpensive Disks (RAID) controller comprises a RAID error correction code (ECC) encoder module that receives data for storage and that generates code words for data drives and one or more parity drives, which have physical locations. The code words are generated based on the data and a cyclic code generator polynomial. The logical locations correspond to index positions in the cyclic code generator polynomial. A mapping module maps the physical locations of the data and parity drives to the logical locations. When one of the data drives is removed, the mapping and RAID ECC encoder modules do not modify the map.
    Type: Grant
    Filed: April 17, 2007
    Date of Patent: February 9, 2010
    Assignee: Marvell International Ltd.
    Inventors: Heng Tang, Zining Wu, Gregory Burd, Pantas Sutardja
  • Patent number: 7657823
    Abstract: A Redundant Array of Inexpensive Disks (RAID) controller comprises a RAID error correction code (ECC) encoder module that receives data for storage and that generates code words stored by data drives and one or more parity drives, which have physical locations. The code words are generated based on the data and a cyclic code generator polynomial. Logical locations correspond to an index of the cyclic code generator polynomial. A mapping module maps the physical locations of the data and parity drives to the logical locations. A difference generating module generates a difference code word when data on one of the data drives is modified. The RAID ECC encoder module encodes the difference code word and adds the encoded difference code word to an original code word generated before the modification.
    Type: Grant
    Filed: May 23, 2007
    Date of Patent: February 2, 2010
    Assignee: Marvell International Ltd.
    Inventors: Heng Tang, Zining Wu, Gregory Burd, Pantas Sutardja
  • Patent number: 7646835
    Abstract: A method for automatically calibrating intra-cycle timing relationships between command signals, data signals, and sampling signals for an integrated circuit device. The method includes generating command signals for accessing an integrated circuit component, accessing data signals for conveying data for the integrated circuit component, and accessing sampling signals for controlling the sampling of the data signals. A phase relationship between the command signals, the data signals, and the sampling signals is automatically adjusted to calibrate operation of the integrated circuit device.
    Type: Grant
    Filed: November 17, 2003
    Date of Patent: January 12, 2010
    Inventor: Guillermo J. Rozas
  • Patent number: 7647544
    Abstract: A disk drive is disclosed comprising a disk, a buffer memory, and control circuitry operable to receive a write command from a host, wherein the write command comprises write data and a write data address. Write EDC data is generated in response to the write data and the write data address, wherein the write data and the write EDC data are stored in the buffer memory. The write data is read from the buffer memory, and write check data is generated in response to the write data and the write data address. The write EDC data is read from the buffer memory and compared to the write check data to detect a write error. If the write error is not detected, the write data is written to the disk without writing the write EDC data to the disk.
    Type: Grant
    Filed: November 22, 2005
    Date of Patent: January 12, 2010
    Assignee: Western Digital Technologies, Inc.
    Inventor: John C. Masiewicz
  • Patent number: 7640484
    Abstract: A triple parity (TP) technique reduces overhead of computing diagonal and anti-diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of three 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. Similarly, the anti-diagonal parity is computed along anti-diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the anti-diagonal parity sets except one is stored on the anti-diagonal parity disk. The TP technique provides a uniform stripe depth and an optimal amount of parity information.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: December 29, 2009
    Assignee: NetApp, Inc.
    Inventors: Peter F. Corbett, Atul Goel
  • Patent number: 7626908
    Abstract: An object of the present invention is to record or reproduce time-sequential data to/from recording media exemplified by hard disks at the transfer speed closer to that of the recording medium.
    Type: Grant
    Filed: January 21, 2005
    Date of Patent: December 1, 2009
    Assignee: Sony Corporation
    Inventors: Toshiyuki Nakagawa, Hiroaki Eto
  • Patent number: 7624331
    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: April 24, 2007
    Date of Patent: November 24, 2009
    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
  • Patent number: 7613984
    Abstract: A symmetric triple parity (TP) technique in an array comprising a number p of storage devices, such as disks, with p being a prime number is provided. The p disks are organized as one row parity disk, two symmetric parity disks and p-3 data disks. Phantom diagonal and anti-diagonal parity disks assumed to be present are further assumed to contain a predetermined value, thereby enabling parity encoding/decoding utilizing the phantom (anti-) diagonal disks. Row parity and symmetric parity values are included within the computation of the diagonal and anti-diagonal parities; accordingly, the two symmetric parity and the row parity values may be computed using the same technique as used for a triple parity erasure, i.e., in a symmetric fashion.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: November 3, 2009
    Assignee: NetApp, Inc.
    Inventor: Atul Goel
  • Patent number: 7607068
    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: Grant
    Filed: August 31, 2006
    Date of Patent: October 20, 2009
    Assignee: Intel Corporation
    Inventors: Vinodh Gopal, Gilbert M. Wolrich, Daniel Cutter, Wajdi Feghali, Robert P. Ottavi
  • Patent number: 7596739
    Abstract: A method for writing data to a storage pool includes receiving a write operation to write a logical block of data to the storage pool, determining a number (n?1) of physical blocks required to store the logical block of data, generating a parity block using the logical block of data, allocating n physical blocks in the storage pool, writing the parity block in the first of n allocated physical block, and writing the logical block of data across the remaining n?1 allocated physical blocks, where n is less than a number of disks in the storage pool, and where each of the n allocated physical blocks is located on a different disk in the storage pool.
    Type: Grant
    Filed: May 15, 2006
    Date of Patent: September 29, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: William H. Moore, Jeffrey S. Bonwick, Matthew A. Ahrens
  • Patent number: 7584402
    Abstract: A data storage format for encoding a bit stream on or in a surface. The format includes at least one data portion which encodes a data sequence including the bit stream followed by corresponding redundancy data. The data sequence is formed from interleaved codewords, each of which encodes at least part of the bit stream and redundancy data associated with the respective bit stream part. This allows errors in the data to be corrected by writing corrected data to the store, whilst the bit stream is maintained contiguously.
    Type: Grant
    Filed: March 21, 2005
    Date of Patent: September 1, 2009
    Assignee: Silverbrook Research Pty Ltd
    Inventors: Paul Lapstun, Kia Silverbrook
  • Patent number: 7584403
    Abstract: An information storage medium includes a drive zone having a plurality of physical clusters or ECC blocks. When new drive data is recorded in the drive zone, the new drive data is recorded in a physical cluster or ECC block next to the physical cluster or ECC block containing the most recently recorded drive data. In the method of recording drive data, the drive data is recorded in a physical cluster or ECC block of the drive zone. When the drive zone is updated with the new drive data, the new drive data is recorded in the physical cluster or ECC block adjacent to physical cluster or ECC block containing the most recently drive data. The drive data recording method is applicable to a new format of information storage medium.
    Type: Grant
    Filed: October 25, 2006
    Date of Patent: September 1, 2009
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Kyung-geun Lee, In-oik Park, Jung-wan Ko, Du-seop Yoon
  • Patent number: 7577897
    Abstract: Embodiments of the invention provide a disk device data integrity verification support method that allows data integrity verification of a disk array apparatus without consuming an interface band of disk devices. In one embodiment, arithmetic operations for data integrity verification are divided into those of a first phase that can be performed at least in the disk devices, and those of a second phase that can be performed in the disk array apparatus only. The arithmetic operations of the first phase are conducted using the following procedure: data is read out from a storage medium, saved arithmetic operation interim results are read out, the arithmetic operations using the two sets of data are conducted, and arithmetic operation results are saved as new interim results. During the arithmetic operations of the second phase, arithmetic operation results of the first phase are read out from each disk device and further arithmetic operations are conducted between those arithmetic operation results.
    Type: Grant
    Filed: November 14, 2005
    Date of Patent: August 18, 2009
    Assignee: Hitachi Global Storage Technologies Netherlands B.V.
    Inventor: Tetsuya Uemura