IP Library Granted Patent US 9,684,560
Granted Patent B2
US 9,684,560 · App. 15/089,957 · Granted Jun 20, 2017

Apparatus, system, and method to increase data integrity in a redundant storage system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,684,560
App. No.
15/089,957
Granted
Jun 20, 2017
Kind
B2
Abstract

In various embodiments, an apparatus, system, and method may increase data integrity in a redundant storage system. In one embodiment, a request is received for data stored at a storage system having a plurality of storage elements, where one or more of the plurality of storage elements include parity information. A determination is made that one of the plurality of storage elements is unavailable, the unavailable storage element being a functional storage element and including at least a portion of the data. Responsive to the determination, the data is reconstructed based on at least a portion of the parity information and data from one or more of the plurality of storage elements other than the unavailable storage element; a response is provided to the request such that the response includes the reconstructed data.

Claims (38)

1. A method for increasing data integrity in a non-volatile storage system, the method comprising:

receiving a request to read data from an Error Correction Code (‘ECC’) chunk spanning N storage elements of an array of N+P storage elements, the N storage elements each storing a portion of the ECC chunk and the P storage elements storing a copy of the data stored in the N storage elements;

reading data from the N storage elements; and

responsive to determining that the data read from the N storage elements comprise errors,

reconstructing the data read from the N storage elements by substituting data identified as comprising errors with substitute data read from the P storage elements; and

providing a response to the request, wherein the response includes the reconstructed data.

2. The method of claim 1 , wherein the received request is a request to read data from a logical page spanning the N+P storage elements.

3. The method of claim 1 , further comprising:

determining that a storage element of the N storage elements is unavailable; and

reconfiguring the N storage elements of the array other than the unavailable storage element to store the reconstructed data.

4. The method of claim 3 , wherein determining the storage element is unavailable comprises:

determining that a number of times data stored in the storage element comprises an error is greater than a threshold number.

5. The method of claim 1 , wherein the reconstructed data comprises a number of bit errors above a correctable bit threshold.

6. An apparatus for managing data stored in a non-volatile storage system, the apparatus comprising:

a receive module configured to receive a request to read data from an Error Correction Code (‘ECC’) chunk spanning N storage elements of an array of N+P storage elements, the N storage elements each storing a portion of the ECC chunk and the P storage elements storing a copy of the data stored in the N storage elements;

a read module configured to read data from the N storage elements; and

a regeneration module configured to reconstruct the read data by substituting data identified as comprising errors with substitute data read from the P storage elements and provide a response to the request, the response including the reconstructed data;

wherein the receive module, the read module and the regeneration module comprise one or more of hardware circuits or memory having program instructions written therein.

7. The apparatus of claim 6 , wherein the received request is a request to read data from a logical page spanning the N+P storage elements.

8. The apparatus of claim 6 , further comprising:

a detection apparatus configured to determine that a storage element of the N storage elements is unavailable; and

a reconfiguration apparatus configured to reconfigure the N storage elements of the array other than the unavailable storage element to store the reconstructed data.

9. The apparatus of claim 8 , wherein determining that the storage element is unavailable comprises:

the detection apparatus determining that a number of times data stored in the storage element comprises an error is greater than a threshold number.

10. The apparatus of claim 6 , wherein the reconstructed data comprises a number of bit errors above a correctable bit threshold.

11. A non-transient computer readable medium comprising instructions to perform a method for increasing data integrity in a non-volatile storage system, the method comprising:

receiving a request to read data from an Error Correction Code (‘ECC’) chunk spanning N storage elements of an array of N+P storage elements, the N storage elements each storing a portion of the ECC chunk and the P storage elements storing a copy of the data stored in the N storage elements;

reading data from the N storage elements; and

responsive to determining that the data read from the N storage elements comprise errors,

reconstructing the data read from the N storage elements by substituting data identified as comprising errors with substitute data read from the P storage elements; and

providing a response to the request, wherein the response includes the reconstructed data.

12. The non-transient computer readable medium of claim 11 , wherein the received request is a request to read data from a logical page spanning the N+P storage elements.

13. The method of claim 11 , further comprising:

determining that a storage element of the N storage elements is unavailable; and

reconfiguring the N storage elements of the array other than the unavailable storage element to store the reconstructed data.

14. The non-transient computer readable medium of claim 13 , wherein determining that the storage element is unavailable comprises:

determining that a number of times data stored in the storage element comprises an error is greater than a threshold number.

15. The non-transient computer readable medium of claim 11 , wherein the reconstructed data comprises a number of bit errors above a correctable bit threshold.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 053654 FRAME: 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 15, 2021
From: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
To: UNIFICATION TECHNOLOGIES LLC
Reel/Frame 058134/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Nov 15, 2021
From: UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 058223/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: FIO SEMICONDUCTOR TECHNOLOGIES, LLC
To: ACACIA RESEARCH GROUP LLC
Reel/Frame 052095/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: ACACIA RESEARCH GROUP LLC
To: UNIFICATION TECHNOLOGIES LLC
Reel/Frame 052096/0225 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT DOCUMENT FILED PREVIOUSLY RECORDED ON REEL 047702 FRAME 0413. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 16, 2019
From: LONGITUDE ENTERPRISE FLASH S.A.R.I.
To: FIO SEMICONDUCTOR TECHNOLOGIES, LLC
Reel/Frame 048918/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2018
From: LONGITUDE ENTERPRISE FLASH S.A.R.I.
To: FIO SEMICONDUCTOR TECHNOLOGIES LIMITED
Reel/Frame 047702/0413 →