WO1998038576B1 - Fly-by xor - Google Patents
Fly-by xorInfo
- 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
Links
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 claims 9
- 230000001808 coupling Effects 0.000 claims 5
- 238000010168 coupling process Methods 0.000 claims 5
- 238000005859 coupling reaction Methods 0.000 claims 5
- 230000000977 initiatory Effects 0.000 claims 3
- 230000002452 interceptive Effects 0.000 claims 3
- 230000000875 corresponding Effects 0.000 claims 1
- 238000000034 method Methods 0.000 claims 1
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
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE69814579T DE69814579T2 (en) | 1997-02-28 | 1998-02-27 | PARALLEL WORKING EXCLUSIVE OR UNIT |
EP98908761A EP0927395B1 (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 |
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 |
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)
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 |
DE60038448T2 (en) | 1999-10-14 | 2009-04-02 | Bluearc Uk Ltd. | DEVICE AND METHOD FOR HARDWARE DEVELOPMENT OR HARDWARE ACCELERATION OF 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 |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6636879B1 (en) * | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US6952797B1 (en) | 2000-10-25 | 2005-10-04 | Andy Kahn | Block-appended checksums |
US20020161846A1 (en) | 2001-01-29 | 2002-10-31 | Ulrich Thomas R. | Data path controller architecture |
US6862692B2 (en) * | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US7054927B2 (en) | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
US6990667B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US6990547B2 (en) * | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Replacing file system processors by hot swapping |
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 |
US8171414B2 (en) * | 2001-05-22 | 2012-05-01 | Netapp, Inc. | System and method for consolidated reporting of characteristics for a group of file systems |
US7739614B1 (en) | 2001-05-22 | 2010-06-15 | Netapp, Inc. | System and method for consolidated reporting of characteristics for a group of directories |
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 |
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 |
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 |
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 |
US7539991B2 (en) | 2002-03-21 | 2009-05-26 | Netapp, Inc. | Method and apparatus for decomposing I/O tasks 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 |
US7254813B2 (en) * | 2002-03-21 | 2007-08-07 | Network Appliance, Inc. | Method and apparatus for resource allocation in a raid system |
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 |
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 |
US7664913B2 (en) * | 2003-03-21 | 2010-02-16 | Netapp, Inc. | Query-based spares management technique |
US7424637B1 (en) | 2003-03-21 | 2008-09-09 | Networks Appliance, Inc. | Technique for managing addition of disks to a volume of a storage system |
US7328364B1 (en) | 2003-03-21 | 2008-02-05 | Network Appliance, Inc. | Technique for coherent suspension of I/O operations in a RAID subsystem |
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 |
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 |
US7293152B1 (en) | 2003-04-23 | 2007-11-06 | Network Appliance, Inc. | Consistent logical naming of initiator groups |
US7437530B1 (en) | 2003-04-24 | 2008-10-14 | Network Appliance, Inc. | System and method for mapping file block numbers to logical block addresses |
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 |
US7330862B1 (en) | 2003-04-25 | 2008-02-12 | Network Appliance, Inc. | Zero copy write datapath |
US7603553B1 (en) | 2003-04-25 | 2009-10-13 | Netapp, Inc. | System and method to make file handles opaque to clients |
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 |
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 |
US7529894B2 (en) * | 2005-08-17 | 2009-05-05 | Sun Microsystems, Inc. | Use of FBDIMM channel as memory channel and coherence channel |
US7398360B2 (en) * | 2005-08-17 | 2008-07-08 | Sun Microsystems, Inc. | Multi-socket symmetric multiprocessing (SMP) system for chip multi-threaded (CMT) processors |
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 |
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 |
US10936239B2 (en) | 2019-01-29 | 2021-03-02 | EMC IP Holding Company LLC | Cluster contraction of a mapped redundant array of independent nodes |
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 |
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 |
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 |
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)
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 |
-
1997
- 1997-02-28 US US08/808,396 patent/US5950225A/en not_active Expired - Lifetime
-
1998
- 1998-02-27 DE DE69814579T patent/DE69814579T2/en not_active Expired - Lifetime
- 1998-02-27 JP JP10537872A patent/JP2000514941A/en active Pending
- 1998-02-27 KR KR10-1998-0708645A patent/KR100352039B1/en not_active IP Right Cessation
- 1998-02-27 EP EP98908761A patent/EP0927395B1/en not_active Expired - Lifetime
- 1998-02-27 CN CNB988003813A patent/CN1242330C/en not_active Expired - Fee Related
- 1998-02-27 WO PCT/US1998/003833 patent/WO1998038576A1/en active IP Right Grant
- 1998-02-27 AU AU66710/98A patent/AU6671098A/en not_active Abandoned
- 1998-02-27 AT AT98908761T patent/ATE240551T1/en not_active IP Right Cessation
- 1998-02-27 EP EP03000767A patent/EP1310874A3/en not_active Ceased
-
1999
- 1999-11-30 HK HK99105557A patent/HK1020624A1/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1998038576B1 (en) | Fly-by xor | |
EP0927395B1 (en) | Fly-by xor | |
WO1998038576A9 (en) | Fly-by xor | |
US5435000A (en) | Central processing unit using dual basic processing units and combined result bus | |
KR950033893A (en) | Data processing systems | |
EP0316252B1 (en) | Storage addressing error detection | |
EP0797141A1 (en) | Computer system | |
US7194607B2 (en) | Method and apparatus for command translation and enforcement of ordering of commands | |
US7152129B2 (en) | Apparatus having an inter-module data transfer confirming function, storage controlling apparatus, and interface module for the apparatus | |
US6618831B2 (en) | Increasing performance with memory compression | |
US5838892A (en) | Method and apparatus for calculating an error detecting code block in a disk drive controller | |
US6243823B1 (en) | Method and system for boot-time deconfiguration of a memory in a processing system | |
US6920593B2 (en) | Logical verification apparatus and method for memory control circuit | |
US6215558B1 (en) | Data processing apparatus and method | |
US20040039971A1 (en) | Dumping using limited system address space | |
WO2000014645A1 (en) | Method and apparatus for comparing an address sent on a bus to a device's assigned address or addresses | |
EP1770529A2 (en) | Appartaus with dual writing function and storage control apparatus | |
CA2252553C (en) | Fly-by xor for generating parity for data gleaned from a bus | |
EP0013885A3 (en) | Parity check device for a register array | |
JPS60502073A (en) | Circuit device that combines one-chip microprocessor | |
US20050044300A1 (en) | Apparatus with dual writing function, and storage control apparatus | |
JPS6015758A (en) | Buffer memory | |
GB2013942A (en) | Data processing system incorporating cache stores | |
JPS58182761A (en) | Data checking system | |
JPS58223854A (en) | Data processing system |