WO1998038576B1 - Fly-by xor - Google Patents

Fly-by xor

Info

Publication number
WO1998038576B1
WO1998038576B1 PCT/US1998/003833 US9803833W WO9838576B1 WO 1998038576 B1 WO1998038576 B1 WO 1998038576B1 US 9803833 W US9803833 W US 9803833W WO 9838576 B1 WO9838576 B1 WO 9838576B1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
xor
bus
storage devices
Prior art date
Application number
PCT/US1998/003833
Other languages
French (fr)
Other versions
WO1998038576A9 (en
WO1998038576A1 (en
Filing date
Publication date
Priority claimed from US08/808,396 external-priority patent/US5950225A/en
Priority to DE69814579T priority Critical patent/DE69814579T2/en
Priority to CNB988003813A priority patent/CN1242330C/en
Priority to AU66710/98A priority patent/AU6671098A/en
Priority to JP10537872A priority patent/JP2000514941A/en
Priority to CA002252553A priority patent/CA2252553C/en
Application filed filed Critical
Priority to AT98908761T priority patent/ATE240551T1/en
Priority to EP98908761A priority patent/EP0927395B1/en
Publication of WO1998038576A1 publication Critical patent/WO1998038576A1/en
Publication of WO1998038576B1 publication Critical patent/WO1998038576B1/en
Publication of WO1998038576A9 publication Critical patent/WO1998038576A9/en
Priority to HK99105557A priority patent/HK1020624A1/en

Links

Abstract

The invention provides a method and system for performing XOR operations without consuming substantial computing resources. A specialized processor is coupled to the same bus as a set of disk drives; the specialized processor reviews data transfers to and from the disk drives and performs XOR operations on data transferred to and from the disk drives without requiring separate transfers. The specialized processor maintains an XOR accumulator which is used for XOR operations, which records the result of XOR operations, and which is read out upon command of the processor. The XOR accumulator includes one set of accumulator registers for each RAID stripe, for a selected set of RAID stripes. A memory (such as a contents-addressable memory) associates one set of accumulator registers with each selected RAID stripe.

Claims

AMENDED CLAIMS
[received by the International Bureau on 17 September 1998 (17.09.98); original claims 1-11 amended (3 pages)]
1. A method including the steps of reading at least one block of data from a stripe, said stripe including one storage block on each one of a plurality of mass storage devices (140), said step of reading including the step of transferring data from said block of data over a bus (130, 160); and while performing said step of transferring said block of data over said bus, accumulating a result of an XOR operation (354, 453) without interfering with said step of transferring.
2. A method as in claim 1 , wherein said step of reading includes copying said block of data to a memory (120) coupled to a processor (110) using a memory bus (130); said step of transferring data from said block of data includes the step of transferring data over a secondary bus (160) other than said memory bus; and said step of accumulating is responsive to said step of transferring said block of data over said secondary bus.
3. A method as in claim 1, wherein said step of reading includes the step of initiating a DMA transfer (223) from one of said plurality of mass storage devices; said step of transferring said block of data includes the step of performing said DMA transfer; and said step of accumulating is responsive to said DMA transfer.
4. A method as in claim 1, wherein said step of reading includes the step of initiating a DMA transfer (223) from one of said plurality of mass storage devices to a selected memory location; and said selected memory location is ignored by said memory, whereby said DMA transfer to said selected memory location is effective to accumulate said result without storing said block of data in said memory.
5. In a system having a processor (110), a memory (120), a memory bus (130) coupling said processor and said memory, a plurality of mass storage devices (140), and a secondary bus (160) coupling said plurality of mass storage devices to said memory bus, a method including the steps of
21 initiating a DMA operation (223) between at least one of said plurality of mass storage devices and a buffer location in said memory; monitoring said secondary bus for a plurality of addresses in said buffer location; copying data associated with said plurality of addresses into an XOR buffer (190) without interfering with said DMA operation; and accumulating a result of an XOR operation (354, 453) for said data.
6. A method as in claim 5, wherein said buffer location is ignored by said memory, whereby said DMA operation to said buffer location is effective to accumulate said result without storing said data in said memory.
7. A system including a processor (110), a memory bus (130) coupled to said processor, and a memory (120) coupled to said memory bus; a plurality of mass storage devices (140) and a secondary bus (160) coupling said plurality of mass storage devices to said memory bus, whereby said secondary bus is disposed for transferring data to and from one of said plurality of mass storage devices; and an element (180) coupled to said secondary bus, said element including a means for copying data transferred to and from one of said plurality of mass storage devices without interfering with said operation of transferring, and including a means for accumulating (190) a result of an XOR operation (354, 453) for said data.
8. A system as in claim 7, wherein said means for copying includes a plurality of XOR accumulator buffers (340, 440); a device memory (330, 430) disposed for matching a portion of a selected memory address with one of said plurality of XOR accumulator buffers; an XOR operator (354, 453) coupled to said device memory and to said secondary bus, and disposed for performing an XOR operation on data in said device memory and data associated with said selected memory address, and for writing a result of said XOR operation into said device memory.
22
. A system as in claim 7, including a DMA transfer element (310, 320; 410, 420) coupled to one of said plurality of mass storage devices; wherein said DMA transfer element includes a means for recognizing DMA transfers performed by said DMA transfer element, means for copying data from said DMA transfers; and wherein said means for accumulating is responsive to said means for recognizing and said DMA transfers.
10. A system as in claim 7, including a DMA transfer element (310, 320; 410, 420) coupled to one of said plurality of mass storage devices and disposed for performing a DMA transfer (223) from said one of said plurality of mass storage devices and a selected memory location; wherein said selected memory location is ignored by said memory, whereby said DMA transfer to said selected memory location is effective to accumulate said result without storing data in said memory.
11. In a system having a processor (110), a memory (120), a memory bus (130) coupling said processor and said memory, a plurality of mass storage devices (140), and a secondary bus (160) coupling said plurality of mass storage devices to said memory bus, a data structure including a plurality of XOR accumulator buffers (340, 440), each having a result of an XOR operation (354, 453) performed on data; and a table having a plurality of entries, each entry associating a portion of a memory address with one of said plurality of XOR accumulator buffers, said memory address being associated with said data.
23 STATEMENT UNDER ARTICLE 19
Applicant believes the amendments to the claims do not make any impact on the description or the drawings.
The invention is a method and system for accumulating the results of an XOR parity operation on data (associated with a range of addresses) flowing "on-the-fly" as a result of a data transfer to or from a RAID stripe.
Arnott (US 5,335,235) discloses a parity generator that reduces the number of data lines and XOR circuits in the parity generator. Arnott does this by serializing the data sent to XOR circuits through a FIFO (for example, receiving a 4 bytes of data in parallel, serializing each byte through a FIFO and processing each byte by eight XOR circuits. Thus, Arnott need only use eight XOR circuits to process multiple byte data. Arnott' s device is placed on a memory bus. Data from a storage device (or memory) is transferred to Arnott' s device to generate parity data corresponding to the appropriate data boundaries. The parity data so generated can be read from Arnott' s device. The original data and the parity data are then written to a storage device or the parity so generated is used to verify a read operation. The Arnott device does not automatically monitor the bus to acquire the data to be XORed. It appears that the data is transferred by the CPU from memory directly to the device. The Arnott device can only XOR data from one stripe at a time.
The invention monitors data transfers that are directed to or from specified addresses of a memory on the memory bus. If such a data transfer is detected, the invention generates parity information for that data. Thus, the invention generates parity at the same time (and during the same data transfer) as data is transferred between memory and a device. Hence, the invention reduces the number of times data is transferred over the buses to generate parity. The invention is a fly-by device in that the XOR operation is a side affect of the I/O operation. Additionally, the invention monitors all data transfers on the bus and can simultaneously accumulate data from a plurality of data transfers. Thus, the invention can simultaneously generate XOR information from multiple stripes.
24
PCT/US1998/003833 1997-02-28 1998-02-27 Fly-by xor WO1998038576A1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
EP98908761A EP0927395B1 (en) 1997-02-28 1998-02-27 Fly-by xor
CNB988003813A CN1242330C (en) 1997-02-28 1998-02-27 Fly-by XOR method and system
AU66710/98A AU6671098A (en) 1997-02-28 1998-02-27 Fly-by xor
JP10537872A JP2000514941A (en) 1997-02-28 1998-02-27 Parity generation flyval XOR for data collected from the bus
CA002252553A CA2252553C (en) 1997-02-28 1998-02-27 Fly-by xor for generating parity for data gleaned from a bus
DE69814579T DE69814579T2 (en) 1997-02-28 1998-02-27 PARALLEL WORKING EXCLUSIVE OR UNIT
AT98908761T ATE240551T1 (en) 1997-02-28 1998-02-27 PARALLEL WORKING EXCLUSIVE OR UNIT
HK99105557A HK1020624A1 (en) 1997-02-28 1999-11-30 Fly-by-xor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/808,396 1997-02-28
US08/808,396 US5950225A (en) 1997-02-28 1997-02-28 Fly-by XOR for generating parity for data gleaned from a bus

Publications (3)

Publication Number Publication Date
WO1998038576A1 WO1998038576A1 (en) 1998-09-03
WO1998038576B1 true WO1998038576B1 (en) 1998-10-29
WO1998038576A9 WO1998038576A9 (en) 1999-02-11

Family

ID=25198648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/003833 WO1998038576A1 (en) 1997-02-28 1998-02-27 Fly-by xor

Country Status (10)

Country Link
US (1) US5950225A (en)
EP (2) EP0927395B1 (en)
JP (1) JP2000514941A (en)
KR (1) KR100352039B1 (en)
CN (1) CN1242330C (en)
AT (1) ATE240551T1 (en)
AU (1) AU6671098A (en)
DE (1) DE69814579T2 (en)
HK (1) HK1020624A1 (en)
WO (1) WO1998038576A1 (en)

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
JP5220974B2 (en) 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド Apparatus and method for acceleration of hardware execution or operating system functions
US6370616B1 (en) * 2000-04-04 2002-04-09 Compaq Computer Corporation Memory interface controller for datum raid operations with a datum multiplier
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US6636879B1 (en) 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US20020161846A1 (en) 2001-01-29 2002-10-31 Ulrich Thomas R. Data path controller architecture
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6799284B1 (en) 2001-02-28 2004-09-28 Network Appliance, Inc. Reparity bitmap RAID failure recovery
JP4615137B2 (en) * 2001-03-26 2011-01-19 富士通セミコンダクター株式会社 DMA control system enabling flyby transfer to synchronous memory
US7739614B1 (en) 2001-05-22 2010-06-15 Netapp, Inc. System and method for consolidated reporting of characteristics for a group of directories
US8171414B2 (en) * 2001-05-22 2012-05-01 Netapp, Inc. System and method for consolidated reporting of characteristics for a group of file systems
US7249150B1 (en) 2001-07-03 2007-07-24 Network Appliance, Inc. System and method for parallelized replay of an NVRAM log in a storage appliance
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6757695B1 (en) 2001-08-09 2004-06-29 Network Appliance, Inc. System and method for mounting and unmounting storage volumes in a network storage environment
US6851070B1 (en) 2001-08-13 2005-02-01 Network Appliance, Inc. System and method for managing time-limited long-running operations in a data storage system
US6965989B1 (en) 2001-08-14 2005-11-15 Network Appliance, Inc. System and method for fast reboot of a file server
US6883131B2 (en) * 2001-09-28 2005-04-19 Sun Microsystems, Inc. XOR processing incorporating error correction code data protection
US20030084397A1 (en) * 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
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
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
US6871317B1 (en) 2001-11-13 2005-03-22 Network Appliance, Inc. Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
US7613984B2 (en) * 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
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
US7640484B2 (en) * 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
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
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
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
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7426576B1 (en) 2002-09-20 2008-09-16 Network Appliance, Inc. Highly available DNS resolver and method for use of the same
US7171452B1 (en) 2002-10-31 2007-01-30 Network Appliance, Inc. System and method for monitoring cluster partner boot status over a cluster interconnect
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US8041761B1 (en) 2002-12-23 2011-10-18 Netapp, Inc. Virtual filer and IP space based IT configuration transitioning framework
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
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7383378B1 (en) * 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US7457982B2 (en) * 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7293152B1 (en) 2003-04-23 2007-11-06 Network Appliance, Inc. Consistent logical naming of initiator groups
US7739543B1 (en) 2003-04-23 2010-06-15 Netapp, Inc. System and method for transport-level failover for loosely coupled iSCSI target devices
US7260737B1 (en) 2003-04-23 2007-08-21 Network Appliance, Inc. System and method for transport-level failover of FCP devices in a cluster
US7437530B1 (en) 2003-04-24 2008-10-14 Network Appliance, Inc. System and method for mapping file block numbers to logical block addresses
US7330862B1 (en) 2003-04-25 2008-02-12 Network Appliance, Inc. Zero copy write datapath
US7181439B1 (en) * 2003-04-25 2007-02-20 Network Appliance, Inc. System and method for transparently accessing a virtual disk using a file-based protocol
US7577692B1 (en) 2003-04-25 2009-08-18 Netapp, Inc. System and method for reserving space to guarantee file writability in a file system supporting persistent consistency point images
US7437523B1 (en) 2003-04-25 2008-10-14 Network Appliance, Inc. System and method for on-the-fly file folding in a replicated storage system
US7603553B1 (en) 2003-04-25 2009-10-13 Netapp, Inc. System and method to make file handles opaque to clients
US7523201B2 (en) * 2003-07-14 2009-04-21 Network Appliance, Inc. System and method for optimized lun masking
US7593996B2 (en) 2003-07-18 2009-09-22 Netapp, Inc. System and method for establishing a peer connection using reliable RDMA primitives
US7716323B2 (en) * 2003-07-18 2010-05-11 Netapp, Inc. System and method for reliable peer communication in a clustered storage system
US7055014B1 (en) 2003-08-11 2006-05-30 Network Applicance, Inc. User interface system for a multi-protocol storage appliance
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
TWI259356B (en) * 2004-03-26 2006-08-01 Infortrend Technology Inc Apparatus for checking data coherence, controller and storage system having the same and method therefore is disclosed
US20060123312A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US7353340B2 (en) * 2005-08-17 2008-04-01 Sun Microsystems, Inc. Multiple independent coherence planes for maintaining coherency
US7398360B2 (en) * 2005-08-17 2008-07-08 Sun Microsystems, Inc. Multi-socket symmetric multiprocessing (SMP) system for chip multi-threaded (CMT) processors
US7529894B2 (en) * 2005-08-17 2009-05-05 Sun Microsystems, Inc. Use of FBDIMM channel as memory channel and coherence channel
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7509460B2 (en) * 2006-05-04 2009-03-24 Sun Microsystems, Inc. DRAM remote access cache in local memory in a distributed shared memory system
US7844584B1 (en) 2006-06-23 2010-11-30 Netapp, Inc. System and method for persistently storing lock state information
US7979701B1 (en) 2006-09-15 2011-07-12 Netapp, Inc. Cross mapping graphical interface to show encryption relationships between hosts and storage devices
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
US7620669B1 (en) 2006-12-15 2009-11-17 Netapp, Inc. System and method for enhancing log performance
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
US8688798B1 (en) 2009-04-03 2014-04-01 Netapp, Inc. System and method for a shared write address protocol over a remote direct memory access connection
US9646177B2 (en) * 2011-04-29 2017-05-09 Altera Corporation Systems and methods for preventing data remanence in memory systems
US9524107B2 (en) 2014-07-30 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Host-based device drivers for enhancing operations in redundant array of independent disks systems
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10817388B1 (en) 2017-07-21 2020-10-27 EMC IP Holding Company LLC Recovery of tree data in a geographically distributed environment
US10880040B1 (en) 2017-10-23 2020-12-29 EMC IP Holding Company LLC Scale-out distributed erasure coding
US10382554B1 (en) 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US10817374B2 (en) 2018-04-12 2020-10-27 EMC IP Holding Company LLC Meta chunks
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US10936196B2 (en) * 2018-06-15 2021-03-02 EMC IP Holding Company LLC Data convolution for geographically diverse storage
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
US11119683B2 (en) 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10892782B2 (en) 2018-12-21 2021-01-12 EMC IP Holding Company LLC Flexible system and method for combining erasure-coded protection sets
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
US10866766B2 (en) 2019-01-29 2020-12-15 EMC IP Holding Company LLC Affinity sensitive data convolution for data storage systems
US10846003B2 (en) 2019-01-29 2020-11-24 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US11029865B2 (en) 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11119686B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11144220B2 (en) 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146588A (en) * 1990-11-26 1992-09-08 Storage Technology Corporation Redundancy accumulator for disk drive array memory
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5335235A (en) * 1992-07-07 1994-08-02 Digital Equipment Corporation FIFO based parity generator
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5603051A (en) * 1995-06-06 1997-02-11 Hewlett-Packard Company Input/output processor with a local memory providing shared resources for a plurality of input/output interfaces on an I/O bus
US5729705A (en) * 1995-07-24 1998-03-17 Symbios Logic Inc. Method and apparatus for enhancing throughput of disk array data transfers in a controller
US5737744A (en) * 1995-10-13 1998-04-07 Compaq Computer Corporation Disk array controller for performing exclusive or operations
US5742752A (en) * 1995-12-29 1998-04-21 Symbios Logic Inc. Method for performing a RAID stripe write operation using a drive XOR command set
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly

Similar Documents

Publication Publication Date Title
WO1998038576B1 (en) Fly-by xor
EP0927395B1 (en) Fly-by xor
WO1998038576A9 (en) Fly-by xor
US4483003A (en) Fast parity checking in cache tag memory
US5435000A (en) Central processing unit using dual basic processing units and combined result bus
EP0316252B1 (en) Storage addressing error detection
US6658519B1 (en) Bus bridge with embedded input/output (I/O) and transaction tracing capabilities
CN1099492A (en) Processor interface chip for dual-microprocessor processor system
US5463644A (en) Resilient storage system
US7194607B2 (en) Method and apparatus for command translation and enforcement of ordering of commands
US20020099881A1 (en) Method and system for data transfer
US20110041030A1 (en) Storage of data and signature formed from data and address in a memory
US6243823B1 (en) Method and system for boot-time deconfiguration of a memory in a processing system
US5590279A (en) Memory data copying apparatus
US7519779B2 (en) Dumping using limited system address space
US5450543A (en) Flag-based high-speed I/O data transfer
CA2252553C (en) Fly-by xor for generating parity for data gleaned from a bus
EP0013885A3 (en) Parity check device for a register array
JP3071846B2 (en) Parity error detection method and parity error detection circuit
GB2013942A (en) Data processing system incorporating cache stores
JPS58182761A (en) Data checking system
JPWO2004051492A1 (en) Storage device that compresses the same input value
IES941003A2 (en) Computer system
JPS62291236A (en) Ambient equipment controller for computer system
DE69508295D1 (en) Digital processing circuit with test registers