WO1991013394A1 - Data corrections applicable to redundant arrays of independent disks - Google Patents
Data corrections applicable to redundant arrays of independent disks Download PDFInfo
- Publication number
- WO1991013394A1 WO1991013394A1 PCT/US1991/001257 US9101257W WO9113394A1 WO 1991013394 A1 WO1991013394 A1 WO 1991013394A1 US 9101257 W US9101257 W US 9101257W WO 9113394 A1 WO9113394 A1 WO 9113394A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- block
- memory
- physical
- stored
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
- G06F11/1612—Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1007—Addressing errors, i.e. silent errors in RAID, e.g. sector slipping and addressing errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/104—Metadata, i.e. metadata associated with RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Definitions
- the present invention relates to sets of physical mass storage devices that collectively perform as one or more logical mass storage devices.
- the present invention relates to methods and apparatus for maintaining data integrity across such a set of physical mass storage devices.
- Data access performance can be measured by a number of parameters, depending on the relevant application.
- transaction processing such as in banking
- request rates are high and random.
- transfer of large data blocks are common.
- the number of I/Os per second per read/write head in an inexpensive disk is within a factor of two of the large disks. Therefore, the parallel transfer from several inexpensive disks in a RAID architecture, in which a set of inexpensive disks function as a single logical disk drive, produces greater performance than a SLED at a reduced price.
- RAID level 4 remains limited because of access contention for the check disk during write operations. For all write operations, the check disk must be accessed in order to store updated parity data on the check disk for each stripe (i.e., row of sectors) of data into which data is written. Therefore, write operations interfere with each other, even for small data accesses.
- RAID level 5, a variant of RAID level 4, avoids this contention problem on write operations by distributing the parity check data and user data across all disks.
- a readback of the data would not detect that old data is being accessed in place of the data intended to be accessed.
- Small disk drives often do not include special logic to detect a failure to write any data.
- a hardware failure may result in data being written to or read from the wrong disk or wrong sector within a disk due to misrouting of data within the controller for the RAID.
- a method and apparatus for detecting incorrectly routed data within a set of mass storage devices comprises providing a field in each block of stored data that identifies where that data should be located in the device set.
- the field specifies the logical unit number of the device and the logical block number within the logical unit of the data block to which the data is directed.
- This method comprises providing another field in each block of stored data uniquely identifying the write operation by which the data was stored.
- This field preferably includes a time stamp, such as one specifying the time at which the write operation began.
- FIG. l illustrates a prior art channel architecture for routing data to various peripheral devices
- FIG. 2 illustrates a prior art bus architecture for routing data to various peripheral devices
- FIG. 3 illustrates coupling between RAID memories and device controllers in a multiple device mass storage system of a type suitable for use with the present invention
- FIG. 4 illustrates RAID memory 304 of FIG. 3 in greater detail and illustrates hardware used to implement detection of data errors arising from data misdirection and/or hardware failure in accordance with the principles of the present invention
- FIG. 5 illustrates a data block layout that includes additional data fields that enable detection of misdirection (i.e., incorrect placement) of data and/or data errors arising from hardware failure in accordance with the principles of the present invention
- FIG. 7 illustrates an example of the operation of a data group including two mass storage devices.
- FIG. 1 is illustrated the general structure of a conventional channel architecture for routing data from main memory in a central processing unit (CPU) to any of a set of data storage devices 114-126.
- Data emerges from the CPU main memory 101 along any one of a set of channels 102-104 and is selectively directed to one of a set of device controllers 105-113. The selected one of these device controllers then passes this data on to a selected one of the data storage devices attached to that controller.
- These data storage devices can be of a variety of types, including tape storage, single disk storage and RAID memory storage.
- Such storage devices may be coupled to more than one controller to provide multiple data paths between the CPU main memory 101 and the storage device. This is shown, for example, by the coupling of storage device 122 to controllers 111 and 112.
- FIG. 2 illustrates an alternative conventional architecture in which channels 102-104 are replaced by an input/output (I/O) bus 201.
- the data storage devices used in such a system also can be of a variety of types, including tape storage, single disk storage and RAID memory storage. In both of these architectures, during any data access, several switches have to be set to connect CPU main memory 101 to the storage device selected for access. When the storage device is a RAID memory, additional controls must be set to route the data within the RAID memory.
- FIG. 3 shows in greater detail how a pair 301 and 302 of device controllers can be connected to a pair of RAID memories 304 and 305 in a computer system such as is shown in FIG. 1 or FIG. 2.
- Each device controller is connected by a bus or channel 319 to a CPU main memory.
- each RAID memory is attached to at least two device controllers so that there are at least two parallel paths from one or more CPU main memories 101 to that RAID memory.
- each of RAID memories 304 and 305 is connected to device controllers 301 and 302 by busses 311 and 312, respectively.
- bus 311 may also connect device controller 301 to additional RAID memories.
- Such parallel data paths from the CPU to the RAID memory are useful for routing data around a busy or failed device controller.
- each RAID memory Within each RAID memory are a set 306 of disk drive units 307. This set includes an active set 308 of disk drive units 307 and a backup set 309 of disk drive units 307.
- a RAID controller 310 that routes data between device controllers 301 and 302 and the appropriate one or ones of disk drive units 307.
- Hardware protocol controllers 315 in each of the device controllers 301 and 302, and corresponding hardware protocol controllers in the each of RAID memories 304 and 305 handle the transfer of data between device controllers and RAID controllers.
- RAID controller 310 switches the failed unit out of the data path, recreates the failed drive unit's data and thenceforth reroutes that disk drive unit's input data to one of the disk drive units in backup set 309. Controller 310 utilizes the error correcting capability provided by the codes written onto check disks to reconstruct the data of the failed disk drive unit onto the backup unit with which the failed disk drive unit has been replaced.
- the particular method by which data on a drive in a RAID architecture is reconstructed is implementation specific.
- a Reed Solomon coding algorithm is used to calculate the check data that is stored on the check drives.
- this check data is distributed across several physical disk drives in a striped manner, like that of the previously described RAID level 5 architecture.
- a stripe comprises corresponding sectors across a set of disk drives, some of which sectors contain mass storage data and other of which sectors contain check data for the mass storage data sectors within the stripe.
- a stripe may be one or more sectors deep.
- Such stripes on a set of disks are grouped into one or more of what is hereafter referred to as redundancy groups.
- the physical devices comprising the check drives for a particular stripe varies from stripe to stripe.
- the widths of the stripes are equal (i.e., the number of physical storage devices spanned by each stripe) within a redundancy group.
- the particular Reed Solomon coding algorithm used determines (or limits) the number of data blocks that can be reconstructed. For example, the Reed Solomon coding algorithm
- reconstruction is generally accomplished as follows. First, all data blocks across the redundancy group stripe that includes the drive (s) to be reconstructed are read. Also read is the check data corresponding to that stripe. Error correction circuitry (e.g., redundancy group error correction circuitry 408 of FIG. 4) then uses the check data and the valid data blocks to regenerate the data that should have been written to each data block that is inconsistent with the remainder of the stripe.
- the error correction circuitry can be of any suitable type for manipulating the data in accordance with the algorithm of the particular Reed Solomon code used.
- extra fields e.g., fields 501 and 502 of FIG. 5
- these extra fields contain data that identifies where that data should be located in RAID memory.
- the extra field 501 specifies the logical unit nvunber of the device to which the CPU associated with main memory 101 directed the data
- field 502 specifies the logical block number of the data block to which the CPU directed the data.
- FIG. 5 shows a preferred arrangement for a sector-sized block of data as it is stored on a disk drive in accordance with the principles of the present invention.
- each data block 500 stored in a disk drive preferably has several error checking fields in addition to the CPU data 503.
- the first error checking fields 501 and 502 are error checking fields prepended by the device controller 302 during a CPU write request and stripped by device controller 302 during a CPU read request.
- these error checking fields contain the logical unit number 501 and the logical block number 502 for the associated CPU data 503 contained in that data block. Inclusion of these fields allows the disk storage system to detect misdirected data blocks as previously described.
- the third field is the CPU data block 503 as sent from or to CPU bus or channel 319.
- the fourth field is a CRC code 504 appended by device controller 302 on transmission to RAID controller 310 and checked by RAID controller 310. CRC code 504 is checked again and stripped by device controller 302 on receipt from RAID controller 310. Inclusion of this field 504 allows the disk storage system to detect random data errors occurring on the bus between the device controller and the RAID controller.
- the fifth field is a time stamp 505 appended by RAID controller 310 on a write operation and checked and stripped by RAID controller 310 on a read operation. Inclusion of this field allows the disk storage system to detect the failure to write and/or retrieve the correct sector due to disk drive failures and/or power failures.
- the sixth field is a CRC code 506 appended by the RAID controller on a write operation and checked and stripped by the RAID controller on a read operation. As previously described, inclusion of this field allows the disk storage system to detect random bit errors occurring within the data block covering the additional device controller CRC 504 and time stamp 505 fields, during transmission between the disk and the RAID controller.
- the disk drive may append a track identification number and a sector identification number to the stored data for internal drive operations.
- both device 601 and device 602 will be accessed together in the same write command issued to data group 615.
- the new host data block will be written to device 601 with an appended time stamp of the type previously described.
- the same time stamp written to device 601 is written to the block location on device 602 corresponding to the block location on device 601 in which the new host data is written and to 605 and 606 on the corresponding check data blocks.
- the time stamps on devices 601 and 602 are compared. This comparison of time stamps is made to ensure that new data was written to device 601 when the write command to data group 615 was issued.
- data groups 615 and 616 are shown as each comprising two physical devices, such data groups may comprise any plurality of physical devices, or portions of any plurality of physical devices, and may as well be used for applications other than transaction processing such as in data bases, real-time analysis, numerical analysis and image processing.
- a read operation is performed first in which the old data in sectors 1 and 2 is read into buffers 609 and 610 respectively.
- the data in one or both buffers is modified appropriately with the new data, and the data in the buffers are written back to the devices 601 and 602.
- a time stamp is appended to both sectors 1 and 2 as the data is transferred along paths A and B to devices 601 and 602 respectively.
- the data from both sectors is transferred to buffers 609 and 610, and the corresponding time stamps stored with sectors l and 2 are compared during the transfer as indicated by box 702.
- processor 411 deletes the nonvolatile memory entry for the write request, thereby indicating that the recovery operation was successfully completed. If some of the data blocks associated with the write request were written and some were not, then processor 411 determines whether it is within the error correcting capabilities of the RAID controller, using redundancy group error correction circuitry 408, to reconstruct the data blocks that have the oldest time stamp to bring them up to date with the newest data blocks (i.e, the data blocks that were successfully written before the power failure interrupted the write operation) .
- processor 411 When possible, processor 411 carries out procedures to regenerate data where the old data resides and then deletes the nonvolatile memory entry for the write request. If processor 411 determines that the blocks with old data cannot be reconstructed and it is within the error correcting capabilities of correction circuitry 408 to reconstruct the data blocks that have the new time stamp (thereby bringing the data blocks back to the state just prior to the write operation) , then processor 411 carries out procedures to do that, and deletes the nonvolatile memory entry for the write request.
- processor 411 signals an unrecoverable error to all device controllers 301-302 to which RAID memory 304 is connected. In turn, all device controllers 301-302 thus signalled will report this unrecoverable error to all CPUs to which they are connected. In addition, any further data requests to the corrupted area are rejected until the problem is corrected.
- Processor 314 signals the CPU to send data to packet staging memory 313 in device controller 302. In response, the CPU sends data block packets which are staged in packet staging memory 313. From the header information attached to the CPU data, processor 314 determines for which logical unit number and logical block number each packet is intended and prepends that information to the data block. A set of data blocks is sent to RAID controller 310 where it is temporarily stored in the buffers 407 corresponding to the disks for which each data block is intended. This data is transmitted from protocol controller 404 to these buffer memories over bus 406. The data blocks are then transferred to the corresponding drive SCSI interfaces 410 where the logical unit number and logical block number are compared against the expected values previously loaded into registers 412 at interfaces 410.
- the failing data block is regenerated using the disk array including the check disk(s) and correction circuitry 408. If the failure reoccurs and is not within the limits of the error correcting algorithms (because too many data blocks have failed) , then an unrecoverable error is reported to the CPU.
- the present invention provides ways for detecting and correcting errors in a multiple device mass storage system resulting from power failure.
- One skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002076537A CA2076537A1 (en) | 1990-03-02 | 1991-02-27 | Data corrections applicable to redundant arrays of independent disks |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/488,750 US5233618A (en) | 1990-03-02 | 1990-03-02 | Data correcting applicable to redundant arrays of independent disks |
US488,750 | 1990-03-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1991013394A1 true WO1991013394A1 (en) | 1991-09-05 |
Family
ID=23940972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1991/001257 WO1991013394A1 (en) | 1990-03-02 | 1991-02-27 | Data corrections applicable to redundant arrays of independent disks |
Country Status (6)
Country | Link |
---|---|
US (2) | US5233618A (en) |
EP (1) | EP0517823A1 (en) |
JP (1) | JPH05505265A (en) |
AU (1) | AU7460391A (en) |
CA (1) | CA2076537A1 (en) |
WO (1) | WO1991013394A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0689143A1 (en) * | 1994-06-20 | 1995-12-27 | International Business Machines Corporation | Data storage subsystem |
GB2302428B (en) * | 1995-06-21 | 1998-04-29 | Mitsubishi Electric Corp | Multi-media storage system |
EP3244315A1 (en) * | 2016-05-13 | 2017-11-15 | Synology Incorporated | Method and apparatus for performing data recovery in redundant storage system |
Families Citing this family (184)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728832B2 (en) * | 1990-02-26 | 2004-04-27 | Hitachi, Ltd. | Distribution of I/O requests across multiple disk units |
US5680574A (en) * | 1990-02-26 | 1997-10-21 | Hitachi, Ltd. | Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units |
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
US5414818A (en) * | 1990-04-06 | 1995-05-09 | Mti Technology Corporation | Method and apparatus for controlling reselection of a bus by overriding a prioritization protocol |
JP2923702B2 (en) * | 1991-04-01 | 1999-07-26 | 株式会社日立製作所 | Storage device and data restoration method thereof |
JP2743606B2 (en) * | 1991-04-11 | 1998-04-22 | 三菱電機株式会社 | Array type recording device |
DE69223104T2 (en) * | 1991-08-27 | 1998-04-02 | Toshiba Kawasaki Kk | Device for preventing the destruction of computer data read from the storage unit |
JP2550239B2 (en) * | 1991-09-12 | 1996-11-06 | 株式会社日立製作所 | External storage system |
US5369758A (en) * | 1991-11-15 | 1994-11-29 | Fujitsu Limited | Checking for proper locations of storage devices in a storage array |
US5974544A (en) * | 1991-12-17 | 1999-10-26 | Dell Usa, L.P. | Method and controller for defect tracking in a redundant array |
US5313626A (en) * | 1991-12-17 | 1994-05-17 | Jones Craig S | Disk drive array with efficient background rebuilding |
JP3160106B2 (en) * | 1991-12-23 | 2001-04-23 | ヒュンダイ エレクトロニクス アメリカ | How to sort disk arrays |
DE69231873T2 (en) * | 1992-01-08 | 2002-04-04 | Emc Corp | Method for synchronizing reserved areas in a redundant memory arrangement |
JP3058743B2 (en) * | 1992-01-21 | 2000-07-04 | 株式会社日立製作所 | Disk array controller |
JP2855019B2 (en) * | 1992-02-10 | 1999-02-10 | 富士通株式会社 | External storage device data guarantee method and external storage device |
AU653670B2 (en) * | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
JP3575811B2 (en) * | 1992-05-07 | 2004-10-13 | 株式会社日立製作所 | Storage device |
JP2888401B2 (en) * | 1992-08-03 | 1999-05-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Synchronization method for redundant disk drive arrays |
JP3181398B2 (en) * | 1992-10-06 | 2001-07-03 | 三菱電機株式会社 | Array type recording device |
US5504883A (en) * | 1993-02-01 | 1996-04-02 | Lsc, Inc. | Method and apparatus for insuring recovery of file control information for secondary storage systems |
US5504858A (en) * | 1993-06-29 | 1996-04-02 | Digital Equipment Corporation | Method and apparatus for preserving data integrity in a multiple disk raid organized storage system |
US5933839A (en) * | 1993-07-23 | 1999-08-03 | Kabushiki Kaisha Toshiba | Distributed file system for renewing data with high integrity |
JPH07134635A (en) * | 1993-11-10 | 1995-05-23 | Nec Eng Ltd | Disk array device |
JPH07175728A (en) * | 1993-12-20 | 1995-07-14 | Hokkaido Nippon Denki Software Kk | Disk cache data maintenance system |
US5485571A (en) * | 1993-12-23 | 1996-01-16 | International Business Machines Corporation | Method and apparatus for providing distributed sparing with uniform workload distribution in failures |
US5911150A (en) * | 1994-01-25 | 1999-06-08 | Data General Corporation | Data storage tape back-up for data processing systems using a single driver interface unit |
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
US5682517A (en) * | 1994-06-21 | 1997-10-28 | Pitney Bowes Inc. | Method of transferring data to a memory medium in a mailing machine |
US5412668A (en) * | 1994-09-22 | 1995-05-02 | International Business Machines Corporation | Parity striping feature for optical disks |
US5696775A (en) * | 1994-09-23 | 1997-12-09 | Cirrus Logic, Inc. | Method and apparatus for detecting the transfer of a wrong sector |
US5623595A (en) * | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
US5488701A (en) * | 1994-11-17 | 1996-01-30 | International Business Machines Corporation | In log sparing for log structured arrays |
US5640506A (en) * | 1995-02-15 | 1997-06-17 | Mti Technology Corporation | Integrity protection for parity calculation for raid parity cache |
US5574882A (en) * | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
JPH08263226A (en) * | 1995-03-23 | 1996-10-11 | Toshiba Corp | Information storage device |
US5630054A (en) * | 1995-04-18 | 1997-05-13 | Mti Technology Center | Method and apparatus for storing and retrieving error check information |
CA2220974A1 (en) * | 1995-05-22 | 1996-11-28 | Mti Technology Corporation | Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability |
US5737344A (en) * | 1995-05-25 | 1998-04-07 | International Business Machines Corporation | Digital data storage with increased robustness against data loss |
JP3201219B2 (en) * | 1995-05-29 | 2001-08-20 | 三菱電機株式会社 | I / O processing system |
WO1997011426A1 (en) | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US6161192A (en) * | 1995-10-13 | 2000-12-12 | Compaq Computer Corporation | Raid array data storage system with storage device consistency bits and raidset consistency bits |
US5826001A (en) * | 1995-10-13 | 1998-10-20 | Digital Equipment Corporation | Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata |
US5933592A (en) * | 1995-10-13 | 1999-08-03 | Digital Equipment Corporation | Promoting device level error to raidset level error to restore redundacy in a raid array data storage system |
US5862158A (en) * | 1995-11-08 | 1999-01-19 | International Business Machines Corporation | Efficient method for providing fault tolerance against double device failures in multiple device systems |
US5941994A (en) * | 1995-12-22 | 1999-08-24 | Lsi Logic Corporation | Technique for sharing hot spare drives among multiple subsystems |
US5838892A (en) * | 1995-12-29 | 1998-11-17 | Emc Corporation | Method and apparatus for calculating an error detecting code block in a disk drive controller |
US5864738A (en) * | 1996-03-13 | 1999-01-26 | Cray Research, Inc. | Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller |
US5748900A (en) * | 1996-03-13 | 1998-05-05 | Cray Research, Inc. | Adaptive congestion control mechanism for modular computer networks |
US6233704B1 (en) | 1996-03-13 | 2001-05-15 | Silicon Graphics, Inc. | System and method for fault-tolerant transmission of data within a dual ring network |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
US6055577A (en) * | 1996-05-06 | 2000-04-25 | Oracle Corporation | System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth |
US5862313A (en) * | 1996-05-20 | 1999-01-19 | Cray Research, Inc. | Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network |
US5761534A (en) * | 1996-05-20 | 1998-06-02 | Cray Research, Inc. | System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network |
US5805788A (en) * | 1996-05-20 | 1998-09-08 | Cray Research, Inc. | Raid-5 parity generation and data reconstruction |
US20040171028A1 (en) * | 1996-06-06 | 2004-09-02 | Baker Brenda F. | Phosphorous-linked oligomeric compounds and their use in gene modulation |
US5812754A (en) * | 1996-09-18 | 1998-09-22 | Silicon Graphics, Inc. | Raid system with fibre channel arbitrated loop |
US6041423A (en) * | 1996-11-08 | 2000-03-21 | Oracle Corporation | Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment |
US5903733A (en) * | 1997-02-13 | 1999-05-11 | Toshiba America Information Systems, Inc. | Multifunction peripheral controller |
US6018809A (en) * | 1997-03-28 | 2000-01-25 | Emc Corp | Apparatus and method for capturing information off a plurality of bi-directional communication buses |
US5951691A (en) * | 1997-05-16 | 1999-09-14 | International Business Machines Corporation | Method and system for detection and reconstruction of corrupted data in a data storage subsystem |
JP4006780B2 (en) * | 1997-06-30 | 2007-11-14 | ソニー株式会社 | Video signal reproducing apparatus and video signal reproducing method |
US6178520B1 (en) * | 1997-07-31 | 2001-01-23 | Lsi Logic Corporation | Software recognition of drive removal or insertion in a storage system |
JPH1153235A (en) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | Data updating method of disk storage device and disk storage control system |
US6038676A (en) * | 1997-09-25 | 2000-03-14 | International Business Machines Corporation | Method and circuit for data integrity verification during DASD data transfer |
US6085303A (en) * | 1997-11-17 | 2000-07-04 | Cray Research, Inc. | Seralized race-free virtual barrier network |
US5970232A (en) * | 1997-11-17 | 1999-10-19 | Cray Research, Inc. | Router table lookup mechanism |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6115829A (en) * | 1998-04-30 | 2000-09-05 | International Business Machines Corporation | Computer system with transparent processor sparing |
US6189112B1 (en) * | 1998-04-30 | 2001-02-13 | International Business Machines Corporation | Transparent processor sparing |
US6243827B1 (en) | 1998-06-30 | 2001-06-05 | Digi-Data Corporation | Multiple-channel failure detection in raid systems |
US6098190A (en) * | 1998-08-04 | 2000-08-01 | Hewlett-Packard Co. | Method and apparatus for use of a host address to validate accessed data |
US6505247B1 (en) * | 1998-08-21 | 2003-01-07 | National Instruments Corporation | Industrial automation system and method for efficiently transferring time-sensitive and quality-sensitive data |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
US6505306B1 (en) * | 1999-09-15 | 2003-01-07 | International Business Machines Corporation | Redundant bit steering mechanism with delayed switchover of fetch operations during redundant device initialization |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US6480970B1 (en) * | 2000-05-17 | 2002-11-12 | Lsi Logic Corporation | Method of verifying data consistency between local and remote mirrored data storage systems |
US8224776B1 (en) | 2000-07-26 | 2012-07-17 | Kdl Scan Designs Llc | Method and system for hosting entity-specific photo-sharing websites for entity-specific digital cameras |
US6636259B1 (en) | 2000-07-26 | 2003-10-21 | Ipac Acquisition Subsidiary I, Llc | Automatically configuring a web-enabled digital camera to access the internet |
US7287088B1 (en) | 2000-10-06 | 2007-10-23 | Fotomedia Technologies, Llc | Transmission bandwidth and memory requirements reduction in a portable image capture device by eliminating duplicate image transmissions |
US7020835B2 (en) * | 2000-10-19 | 2006-03-28 | Oracle International Corporation | Enhancements to data integrity verification mechanism |
US6928607B2 (en) * | 2000-10-19 | 2005-08-09 | Oracle International Corporation | Data integrity verification mechanism |
US6816982B2 (en) * | 2001-03-13 | 2004-11-09 | Gonen Ravid | Method of and apparatus for computer hard disk drive protection and recovery |
US6886108B2 (en) * | 2001-04-30 | 2005-04-26 | Sun Microsystems, Inc. | Threshold adjustment following forced failure of storage device |
US6934904B2 (en) * | 2001-04-30 | 2005-08-23 | Sun Microsystems, Inc. | Data integrity error handling in a redundant storage array |
JP3823044B2 (en) * | 2001-10-31 | 2006-09-20 | パナソニック モバイルコミュニケーションズ株式会社 | Time stamp value controller |
US7346831B1 (en) | 2001-11-13 | 2008-03-18 | Network Appliance, Inc. | Parity assignment technique for parity declustering in a parity array of a storage system |
US6851082B1 (en) | 2001-11-13 | 2005-02-01 | Network Appliance, Inc. | Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array |
US7073115B2 (en) * | 2001-12-28 | 2006-07-04 | Network Appliance, Inc. | Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups |
US7613984B2 (en) * | 2001-12-28 | 2009-11-03 | Netapp, Inc. | System and method for symmetric triple parity for failing storage devices |
US7640484B2 (en) | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple failures in a storage array |
US8402346B2 (en) * | 2001-12-28 | 2013-03-19 | Netapp, Inc. | N-way parity technique for enabling recovery from up to N storage device failures |
US6993701B2 (en) * | 2001-12-28 | 2006-01-31 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
US7007220B2 (en) * | 2002-03-01 | 2006-02-28 | Broadlogic Network Technologies, Inc. | Error correction coding across multiple channels in content distribution systems |
US7080278B1 (en) | 2002-03-08 | 2006-07-18 | Network Appliance, Inc. | Technique for correcting multiple storage device failures in a storage array |
US7200715B2 (en) * | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US7539991B2 (en) | 2002-03-21 | 2009-05-26 | Netapp, Inc. | Method and apparatus for decomposing I/O tasks in a raid system |
US7254813B2 (en) * | 2002-03-21 | 2007-08-07 | Network Appliance, Inc. | Method and apparatus for resource allocation in a raid system |
US7437727B2 (en) * | 2002-03-21 | 2008-10-14 | Network Appliance, Inc. | Method and apparatus for runtime resource deadlock avoidance in a raid system |
US6976146B1 (en) | 2002-05-21 | 2005-12-13 | Network Appliance, Inc. | System and method for emulating block appended checksums on storage devices by sector stealing |
US20040003172A1 (en) * | 2002-07-01 | 2004-01-01 | Hui Su | Fast disc write mechanism in hard disc drives |
US7185144B2 (en) * | 2003-11-24 | 2007-02-27 | Network Appliance, Inc. | Semi-static distribution technique |
US7328364B1 (en) | 2003-03-21 | 2008-02-05 | Network Appliance, Inc. | Technique for coherent suspension of I/O operations in a RAID subsystem |
US7424637B1 (en) | 2003-03-21 | 2008-09-09 | Networks Appliance, Inc. | Technique for managing addition of disks to a volume of a storage system |
US7111147B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Location-independent RAID group virtual block management |
US7143235B1 (en) | 2003-03-21 | 2006-11-28 | Network Appliance, Inc. | Proposed configuration management behaviors in a raid subsystem |
US7664913B2 (en) * | 2003-03-21 | 2010-02-16 | Netapp, Inc. | Query-based spares management technique |
US7275179B1 (en) | 2003-04-24 | 2007-09-25 | Network Appliance, Inc. | System and method for reducing unrecoverable media errors in a disk subsystem |
US7234101B1 (en) * | 2003-08-27 | 2007-06-19 | Qlogic, Corporation | Method and system for providing data integrity in storage systems |
US7328305B2 (en) | 2003-11-03 | 2008-02-05 | Network Appliance, Inc. | Dynamic parity distribution technique |
US8645622B2 (en) * | 2003-11-18 | 2014-02-04 | International Business Machines Corporation | Method to protect data on a disk drive from uncorrectable media errors |
US7302603B2 (en) * | 2003-11-20 | 2007-11-27 | International Business Machines Corporation | Host-initiated data reconstruction for improved RAID read operations |
US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7366837B2 (en) * | 2003-11-24 | 2008-04-29 | Network Appliance, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7263629B2 (en) * | 2003-11-24 | 2007-08-28 | Network Appliance, Inc. | Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array |
JP2007513424A (en) * | 2003-12-01 | 2007-05-24 | イーエムシー コーポレイション | Virtual ordered writes to multiple storage devices |
US7054883B2 (en) * | 2003-12-01 | 2006-05-30 | Emc Corporation | Virtual ordered writes for multiple storage devices |
GB2436746B (en) * | 2003-12-01 | 2008-02-27 | Emc Corp | Virtual ordered writes for multiple storage devices |
US7228456B2 (en) * | 2003-12-01 | 2007-06-05 | Emc Corporation | Data recovery for virtual ordered writes for multiple storage devices |
US7194640B2 (en) * | 2003-12-08 | 2007-03-20 | Lsi Logic Corporation | Alternate non-volatile memory for robust I/O |
TWI310497B (en) * | 2004-02-06 | 2009-06-01 | Hon Hai Prec Ind Co Ltd | System and method for disk fault tolerance |
US7669190B2 (en) | 2004-05-18 | 2010-02-23 | Qlogic, Corporation | Method and system for efficiently recording processor events in host bus adapters |
US7685128B2 (en) * | 2004-06-10 | 2010-03-23 | International Business Machines Corporation | Remote access agent for caching in a SAN file system |
US7571373B1 (en) * | 2004-08-06 | 2009-08-04 | Nvidia Corporation | Post-transmission disk error correction |
US7577772B2 (en) | 2004-09-08 | 2009-08-18 | Qlogic, Corporation | Method and system for optimizing DMA channel selection |
US20060075281A1 (en) * | 2004-09-27 | 2006-04-06 | Kimmel Jeffrey S | Use of application-level context information to detect corrupted data in a storage system |
US20060080574A1 (en) * | 2004-10-08 | 2006-04-13 | Yasushi Saito | Redundant data storage reconfiguration |
US7401193B1 (en) * | 2004-10-29 | 2008-07-15 | Promise Technology, Inc. | System for storing data |
US7454686B2 (en) | 2004-11-23 | 2008-11-18 | International Business Machines Corporation | Apparatus and method to check data integrity when handling data |
US7392437B2 (en) * | 2005-01-20 | 2008-06-24 | Qlogic, Corporation | Method and system for testing host bus adapters |
US7398460B1 (en) | 2005-01-31 | 2008-07-08 | Network Appliance, Inc. | Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array |
US7627614B2 (en) * | 2005-03-03 | 2009-12-01 | Oracle International Corporation | Lost write detection and repair |
US7281077B2 (en) * | 2005-04-06 | 2007-10-09 | Qlogic, Corporation | Elastic buffer module for PCI express devices |
EP1877903B1 (en) * | 2005-04-29 | 2008-09-03 | Network Appliance, Inc. | System and method for generating consistent images of a set of data objects |
US7386666B1 (en) * | 2005-09-30 | 2008-06-10 | Emc Corporation | Global sparing of storage capacity across multiple storage arrays |
JP4892225B2 (en) * | 2005-10-28 | 2012-03-07 | 株式会社日立ハイテクノロジーズ | Vacuum processing method, vacuum transfer apparatus, and semiconductor processing apparatus |
US8560503B1 (en) | 2006-01-26 | 2013-10-15 | Netapp, Inc. | Content addressable storage system |
US7549021B2 (en) | 2006-02-22 | 2009-06-16 | Seagate Technology Llc | Enhanced data integrity using parallel volatile and non-volatile transfer buffers |
US7836379B1 (en) * | 2006-04-03 | 2010-11-16 | Marvell International Ltd. | Method for computing buffer ECC |
US7840878B1 (en) * | 2006-04-11 | 2010-11-23 | Marvell International Ltd. | Systems and methods for data-path protection |
US8250316B2 (en) * | 2006-06-06 | 2012-08-21 | Seagate Technology Llc | Write caching random data and sequential data simultaneously |
US7634686B2 (en) * | 2006-07-24 | 2009-12-15 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
US8046629B1 (en) | 2006-07-24 | 2011-10-25 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
US7822921B2 (en) | 2006-10-31 | 2010-10-26 | Netapp, Inc. | System and method for optimizing write operations in storage systems |
US7613947B1 (en) | 2006-11-30 | 2009-11-03 | Netapp, Inc. | System and method for storage takeover |
US7647526B1 (en) | 2006-12-06 | 2010-01-12 | Netapp, Inc. | Reducing reconstruct input/output operations in storage systems |
US9330190B2 (en) | 2006-12-11 | 2016-05-03 | Swift Creek Systems, Llc | Method and system for providing data handling information for use by a publish/subscribe client |
US8209587B1 (en) | 2007-04-12 | 2012-06-26 | Netapp, Inc. | System and method for eliminating zeroing of disk drives in RAID arrays |
US8370715B2 (en) * | 2007-04-12 | 2013-02-05 | International Business Machines Corporation | Error checking addressable blocks in storage |
US8898536B2 (en) * | 2007-04-27 | 2014-11-25 | Netapp, Inc. | Multi-core engine for detecting bit errors |
US7840837B2 (en) * | 2007-04-27 | 2010-11-23 | Netapp, Inc. | System and method for protecting memory during system initialization |
US7836331B1 (en) | 2007-05-15 | 2010-11-16 | Netapp, Inc. | System and method for protecting the contents of memory during error conditions |
US7975102B1 (en) | 2007-08-06 | 2011-07-05 | Netapp, Inc. | Technique to avoid cascaded hot spotting |
US7793167B2 (en) * | 2007-08-23 | 2010-09-07 | International Business Machines Corporation | Detection and correction of dropped write errors in a data storage system |
US7793168B2 (en) * | 2007-08-23 | 2010-09-07 | International Business Machines Corporation | Detection and correction of dropped write errors in a data storage system |
US7873878B2 (en) * | 2007-09-24 | 2011-01-18 | International Business Machines Corporation | Data integrity validation in storage systems |
US20090172335A1 (en) * | 2007-12-31 | 2009-07-02 | Anand Krishnamurthi Kulkarni | Flash devices with raid |
US8510370B2 (en) * | 2008-02-26 | 2013-08-13 | Avid Technology, Inc. | Array-based distributed storage system with parity |
KR20110050404A (en) | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | Apparatus, system, and method for detecting and replacing failed data storage |
US9158579B1 (en) | 2008-11-10 | 2015-10-13 | Netapp, Inc. | System having operation queues corresponding to operation execution time |
US8495417B2 (en) * | 2009-01-09 | 2013-07-23 | Netapp, Inc. | System and method for redundancy-protected aggregates |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8417987B1 (en) * | 2009-12-01 | 2013-04-09 | Netapp, Inc. | Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system |
US8719621B1 (en) | 2010-05-05 | 2014-05-06 | Marvell International Ltd. | Solid-state disk cache assisted redundant array of independent disks |
RU2499543C2 (en) * | 2011-02-04 | 2013-11-27 | Александр Иванович Миланич | Method of determining colour vision in numerical way and device for its realisation |
US8667326B2 (en) * | 2011-05-23 | 2014-03-04 | International Business Machines Corporation | Dual hard disk drive system and method for dropped write detection and recovery |
US10152500B2 (en) | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US9454426B2 (en) | 2014-07-07 | 2016-09-27 | International Business Machines Corporation | Codes of length tn invariant under rotations of order n |
US9495247B2 (en) | 2014-10-27 | 2016-11-15 | International Business Machines Corporation | Time multiplexed redundant array of independent tapes |
US9454333B2 (en) | 2014-10-27 | 2016-09-27 | International Business Machines Corporation | Parity logs for RAID systems with variable capacity media |
CN104597843B (en) * | 2014-12-19 | 2017-10-13 | 清能德创电气技术(北京)有限公司 | One kind judges the whether available method of data in storage device |
US9892153B2 (en) | 2014-12-19 | 2018-02-13 | Oracle International Corporation | Detecting lost writes |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
TWI604308B (en) * | 2015-11-18 | 2017-11-01 | 慧榮科技股份有限公司 | Data storage device and data maintenance method thereof |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
US10754989B2 (en) | 2018-03-27 | 2020-08-25 | International Business Machines Corporation | Runtime self-correction for blockchain ledgers |
US10658067B2 (en) * | 2018-05-14 | 2020-05-19 | Micron Technology, Inc. | Managing data disturbance in a memory with asymmetric disturbance effects |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1428407A (en) * | 1972-06-05 | 1976-03-17 | Plessey Co Ltd | Error detection arrangements for data processing input/ output systems |
EP0071315A2 (en) * | 1981-07-31 | 1983-02-09 | Philips Electronics Uk Limited | Digital data apparatus with peripheral unit select |
US4380029A (en) * | 1981-03-13 | 1983-04-12 | Bti Computer Systems | Data recording format and method and apparatus for producing same |
EP0180821A2 (en) * | 1984-11-02 | 1986-05-14 | International Business Machines Corporation | A method of detecting addressing errors in a catalogued memory, and catalogued memory using same |
US4757440A (en) * | 1984-04-02 | 1988-07-12 | Unisys Corporation | Pipelined data stack with access through-checking |
WO1989010594A1 (en) * | 1988-04-22 | 1989-11-02 | Amdahl Corporation | A file system for a plurality of storage classes |
EP0344999A2 (en) * | 1988-05-30 | 1989-12-06 | Kabushiki Kaisha Toshiba | Data transmission system |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3303482A (en) * | 1963-02-25 | 1967-02-07 | Rca Corp | Redundant recording system with parity checking |
US3544777A (en) * | 1967-11-06 | 1970-12-01 | Trw Inc | Two memory self-correcting system |
US3633175A (en) * | 1969-05-15 | 1972-01-04 | Honeywell Inc | Defect-tolerant digital memory system |
DE1963895C3 (en) * | 1969-06-21 | 1973-11-29 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Data memory and data memory control circuit |
CA985869A (en) * | 1972-02-14 | 1976-03-23 | Gary A. Knudson | Panel for self-supporting building, building method and panel forming apparatus |
US3803560A (en) * | 1973-01-03 | 1974-04-09 | Honeywell Inf Systems | Technique for detecting memory failures and to provide for automatically for reconfiguration of the memory modules of a memory system |
US3905023A (en) * | 1973-08-15 | 1975-09-09 | Burroughs Corp | Large scale multi-level information processing system employing improved failsaft techniques |
US3914741A (en) * | 1973-11-01 | 1975-10-21 | Bell Telephone Labor Inc | Fault detection arrangement for digital transmission system |
US3917933A (en) * | 1974-12-17 | 1975-11-04 | Sperry Rand Corp | Error logging in LSI memory storage units using FIFO memory of LSI shift registers |
US4020459A (en) * | 1975-10-28 | 1977-04-26 | Bell Telephone Laboratories, Incorporated | Parity generation and bus matching arrangement for synchronized duplicated data processing units |
US4093985A (en) * | 1976-11-05 | 1978-06-06 | North Electric Company | Memory sparing arrangement |
GB1545169A (en) * | 1977-09-22 | 1979-05-02 | Burroughs Corp | Data processor system including data-save controller for protection against loss of volatile memory information during power failure |
US4339804A (en) * | 1979-07-05 | 1982-07-13 | Ncr Corporation | Memory system wherein individual bits may be updated |
US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
JPS5688549A (en) * | 1979-12-21 | 1981-07-18 | Toshiba Corp | Multiplex system for external memory device in electronic computer system |
JPS5694593A (en) * | 1979-12-27 | 1981-07-31 | Fujitsu Ltd | Storage device |
JPS56163596A (en) * | 1980-05-16 | 1981-12-16 | Fujitsu Ltd | Memory control system |
JPS56169297A (en) * | 1980-05-31 | 1981-12-25 | Matsushita Electric Works Ltd | Memory backup device |
JPS57111893A (en) * | 1980-12-29 | 1982-07-12 | Fujitsu Ltd | Relieving system of defective memory |
JPS57111890A (en) * | 1980-12-29 | 1982-07-12 | Fujitsu Ltd | Storage device |
JPS57195397A (en) * | 1981-05-28 | 1982-12-01 | Nec Corp | Locally doubled storage device |
US4525800A (en) * | 1981-06-01 | 1985-06-25 | General Electric Co. | Enhanced reliability data storage system with second memory for preserving time-dependent progressively updated data from destructive transient conditions |
US4507730A (en) * | 1981-10-01 | 1985-03-26 | Honeywell Information Systems Inc. | Memory system with automatic memory configuration |
US4434487A (en) * | 1981-10-05 | 1984-02-28 | Digital Equipment Corporation | Disk format for secondary storage system |
JPS5883400A (en) * | 1981-11-12 | 1983-05-19 | Fujitsu Ltd | Control system for storage device |
US4468731A (en) * | 1981-12-15 | 1984-08-28 | Honeywell Information Systems Inc. | Identification apparatus for use in a controller to facilitate the diagnosis of faults |
US4464747A (en) * | 1982-02-18 | 1984-08-07 | The Singer Company | High reliability memory |
US4530054A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory |
US4825403A (en) * | 1983-05-16 | 1989-04-25 | Data General Corporation | Apparatus guaranteeing that a controller in a disk drive system receives at least some data from an invalid track sector |
JPS60156152A (en) * | 1984-01-25 | 1985-08-16 | Fujitsu Ltd | Memory information protecting system |
FR2561428B1 (en) * | 1984-03-16 | 1986-09-12 | Bull Sa | DISC MEMORY RECORDING METHOD AND DISC MEMORY SYSTEM |
JPS6199999A (en) * | 1984-10-19 | 1986-05-19 | Hitachi Ltd | Semiconductor storage device |
US4667326A (en) * | 1984-12-20 | 1987-05-19 | Advanced Micro Devices, Inc. | Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives |
US4819205A (en) * | 1985-03-25 | 1989-04-04 | Motorola, Inc. | Memory system having memory elements independently defined as being on-line or off-line |
JPS61264599A (en) * | 1985-05-16 | 1986-11-22 | Fujitsu Ltd | Semiconductor memory device |
US4814971A (en) * | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
EP0248091B1 (en) * | 1986-01-17 | 1990-04-18 | Deere & Company | Adjusting device for sieves |
US4722085A (en) * | 1986-02-03 | 1988-01-26 | Unisys Corp. | High capacity disk storage system having unusually high fault tolerance level and bandpass |
US4958351A (en) * | 1986-02-03 | 1990-09-18 | Unisys Corp. | High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
CA1296103C (en) * | 1987-06-02 | 1992-02-18 | Theodore Jay Goodlander | High-speed, high capacity, fault-tolerant, error-correcting storage system |
US4899342A (en) * | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
US4922456A (en) * | 1988-04-29 | 1990-05-01 | Scientific-Atlanta, Inc. | Method of reducing wearout in a non-volatile memory with double buffer |
US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
AU630635B2 (en) * | 1988-11-14 | 1992-11-05 | Emc Corporation | Arrayed disk drive system and method |
US5148432A (en) * | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5182752A (en) * | 1990-06-29 | 1993-01-26 | Digital Equipment Corporation | Method and apparatus for transferring data between a data bus and a data storage device |
-
1990
- 1990-03-02 US US07/488,750 patent/US5233618A/en not_active Expired - Lifetime
-
1991
- 1991-02-27 CA CA002076537A patent/CA2076537A1/en not_active Abandoned
- 1991-02-27 WO PCT/US1991/001257 patent/WO1991013394A1/en not_active Application Discontinuation
- 1991-02-27 AU AU74603/91A patent/AU7460391A/en not_active Abandoned
- 1991-02-27 EP EP91906009A patent/EP0517823A1/en not_active Withdrawn
- 1991-02-27 JP JP3506038A patent/JPH05505265A/en active Pending
-
1995
- 1995-02-21 US US08/391,332 patent/US5469453A/en not_active Expired - Lifetime
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1428407A (en) * | 1972-06-05 | 1976-03-17 | Plessey Co Ltd | Error detection arrangements for data processing input/ output systems |
US4380029A (en) * | 1981-03-13 | 1983-04-12 | Bti Computer Systems | Data recording format and method and apparatus for producing same |
EP0071315A2 (en) * | 1981-07-31 | 1983-02-09 | Philips Electronics Uk Limited | Digital data apparatus with peripheral unit select |
US4757440A (en) * | 1984-04-02 | 1988-07-12 | Unisys Corporation | Pipelined data stack with access through-checking |
EP0180821A2 (en) * | 1984-11-02 | 1986-05-14 | International Business Machines Corporation | A method of detecting addressing errors in a catalogued memory, and catalogued memory using same |
WO1989010594A1 (en) * | 1988-04-22 | 1989-11-02 | Amdahl Corporation | A file system for a plurality of storage classes |
EP0344999A2 (en) * | 1988-05-30 | 1989-12-06 | Kabushiki Kaisha Toshiba | Data transmission system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0689143A1 (en) * | 1994-06-20 | 1995-12-27 | International Business Machines Corporation | Data storage subsystem |
GB2302428B (en) * | 1995-06-21 | 1998-04-29 | Mitsubishi Electric Corp | Multi-media storage system |
US5758057A (en) * | 1995-06-21 | 1998-05-26 | Mitsubishi Denki Kabushiki Kaisha | Multi-media storage system |
EP3244315A1 (en) * | 2016-05-13 | 2017-11-15 | Synology Incorporated | Method and apparatus for performing data recovery in redundant storage system |
Also Published As
Publication number | Publication date |
---|---|
US5469453A (en) | 1995-11-21 |
AU7460391A (en) | 1991-09-18 |
US5233618A (en) | 1993-08-03 |
CA2076537A1 (en) | 1991-09-03 |
EP0517823A1 (en) | 1992-12-16 |
JPH05505265A (en) | 1993-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5233618A (en) | Data correcting applicable to redundant arrays of independent disks | |
US5195100A (en) | Non-volatile memory storage of write operation identifier in data sotrage device | |
US5959860A (en) | Method and apparatus for operating an array of storage devices | |
US6243827B1 (en) | Multiple-channel failure detection in raid systems | |
JP3129732B2 (en) | Storage array with copy-back cache | |
US6981171B2 (en) | Data storage array employing block verification information to invoke initialization procedures | |
US6282670B1 (en) | Managing defective media in a RAID system | |
US6467023B1 (en) | Method for logical unit creation with immediate availability in a raid storage environment | |
JP3164499B2 (en) | A method for maintaining consistency of parity data in a disk array. | |
US7315976B2 (en) | Method for using CRC as metadata to protect against drive anomaly errors in a storage array | |
EP0369707B1 (en) | Arrayed disk drive system and method | |
US6728922B1 (en) | Dynamic data space | |
US6854071B2 (en) | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system | |
US8402210B2 (en) | Disk array system | |
EP0837393A2 (en) | On-line restoration of redundancy information in a redundant array system | |
US20050229033A1 (en) | Disk array controller and information processing apparatus | |
US7398448B2 (en) | Storage system has the function of preventing drive write error | |
JP2857288B2 (en) | Disk array device | |
US7174476B2 (en) | Methods and structure for improved fault tolerance during initialization of a RAID logical unit | |
JP2004164675A (en) | Disk array device | |
GB2298308A (en) | A disk storage array with a spiralling distribution of redundancy data | |
WO1996041249A2 (en) | Intelligent disk-cache memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AT AU BB BG BR CA CH DE DK ES FI GB HU JP KP KR LK LU MC MG MW NL NO PL RO SD SE SU |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE BF BJ CF CG CH CM DE DK ES FR GA GB GR IT LU ML MR NL SE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2076537 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1991906009 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1991906009 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1991906009 Country of ref document: EP |