IP Library Granted Patent US 10,394,651
Granted Patent B2
US 10,394,651 · App. 15/204,485 · Granted Aug 27, 2019

Computing system with circular-shift recovery mechanism and method of operation thereof

Inventors: Xiaojie Zhang (Saratoga, CA); Bing Fan (San Diego, CA)
Assignee: CNEX LABS, Inc.
G06F11/1076G06F3/064G06F3/0619G06F3/0689H03M13/13H03M13/154H03M13/3761
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 10,394,651
App. No.
15/204,485
Granted
Aug 27, 2019
Kind
B2
Abstract

A computing system includes an array of storage devices configured to provide access to storage data and check data corresponding to a data block length; and a storage engine, coupled to the array of storage devices, configured to: detect one more erroneous data, one more erroneous check data, or a combination thereof for representing the storage data, the check data, or a combination thereof inaccessible or failing a status check process after initial storage thereof, determine a prime shift factor for representing a smallest prime number not less than a block unit-quantity, wherein the block unit-quantity is for representing a quantity of shift units within the data block length, and iteratively generate a target recovery set based on a circular-shift mechanism utilizing the prime shift factor for recovering the one more erroneous data, the one more erroneous check data, or a combination thereof.

Claims (84)

1. A computing system comprising:

an array of storage devices configured to provide access to storage data and check data corresponding to a data block length; and

a storage engine, coupled to the array of storage devices, configured to:

detect one more erroneous data, one more erroneous check data, or a combination thereof for representing the storage data, the check data, or a combination thereof inaccessible or failing a status check process after initial storage thereof,

determine a prime shift factor for representing a smallest prime number not less than a block unit-quantity, wherein the block unit-quantity is for representing a quantity of shift units within the data block length, and

iteratively generate a target recovery set based on a circular-shift mechanism utilizing the prime shift factor for recovering originally stored data from the one more erroneous data, the one more erroneous check data, or a combination thereof.

2. The system as claimed in claim 1 wherein the storage engine is configured to:

determine a target encoding data;

generate a target appended block with an extended block length based on the prime shift factor with the extended block length greater than the data block length;

generate a target parity component based on the target appended block, the target parity component corresponding to the target encoding data; and

wherein:

the array of storage devices is configured to store the storage data and the check data based on storing the target encoding data and the target parity component.

3. The system as claimed in claim 1 wherein the storage engine is configured to:

calculate an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

generate the target recovery set based on the circular-shift mechanism utilizing a shifting index positively incrementing by the erasure separation and circularly shifting by the prime shift factor.

4. The system as claimed in claim 1 wherein the storage engine is configured to:

calculate an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

generate the target recovery set based on the circular-shift mechanism utilizing a shifting index negatively incrementing by the erasure separation and circularly shifting by the prime shift factor.

5. The system as claimed in claim 1 wherein the storage engine is configured to:

calculate an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

initialize a shifting index based on offsetting the erasure separation by a predetermined constant and circularly shifting by the prime shift factor.

6. The system as claimed in claim 1 wherein the storage engine is configured to:

detect two or more of the erroneous data, the erroneous check data, or a combination thereof;

calculate an erasure separation based on two or more of the erroneous data, the erroneous check data, or a combination thereof; and

calculate a base set based on combining the storage data, the check data, or a combination thereof excluding the two or more of the erroneous data, the erroneous check data, or a combination thereof; and

iteratively generate the target recovery set based on the erasure separation and the base set along with the circular-shift mechanism.

7. The system as claimed in claim 6 wherein the storage engine is configured to:

determine a target encoding data;

generate a target appended block based on appending an added data to the target encoding data, with the added data having a length corresponding to a multiple of the shift units;

generate a target parity component based on combining portions within the target appended block for encoding the target encoding data; and

wherein:

the array of storage devices is configured to store the storage data and the check data based on storing the target encoding data and the target parity component.

8. The system as claimed in claim 1 wherein the storage engine is configured to generate the target recovery set based on the circular-shift mechanism simultaneously implementing a first shift mechanism and a second shift mechanism, wherein the first shift mechanism and the second shift mechanism increment in opposite directions.

9. The system as claimed in claim 1 wherein the storage engine is configured to:

determine error component identifications for identifying or locating the two or more of the erroneous data, the erroneous check data, or a combination thereof; and

calculate the erasure separation based on a difference between the error component identifications.

10. The system as claimed in claim 1 wherein the storage engine is configured to:

generate a first remaining result based on combining the storage data, the check data, or a combination thereof excluding the two or more of the erroneous data, the erroneous check data, or a combination thereof with the combining process utilizing a first adjustment;

generate a second remaining result based on combining the storage data, the check data, or a combination thereof excluding the two or more of the erroneous data, the erroneous check data, or a combination thereof with the combining process utilizing a second adjustment different from the first adjustment; and

calculate the base set based on combining the first remaining result and the second remaining result.

11. A method of operation of a computing system comprising:

providing access to storage data and check data corresponding to a data block length;

detecting one more erroneous data, one more erroneous check data, or a combination thereof for representing the storage data, the check data, or a combination thereof inaccessible or failing a status check process after initial storage thereof;

determining a prime shift factor for representing a smallest prime number not less than a block unit-quantity, wherein the block unit-quantity is for representing a quantity of shift units within the data block length; and

iteratively generating, with a storage engine, a target recovery set based on a circular-shift mechanism utilizing the prime shift factor for recovering originally stored data from the one more erroneous data, the one more erroneous check data, or a combination thereof.

12. The method as claimed in claim 11 further comprising:

determining a target encoding data;

generating a target appended block with an extended block length based on the prime shift factor with the extended block length greater than the data block length;

generating a target parity component based on the target appended block, the target parity component corresponding to the target encoding data; and

storing the storage data and the check data based on storing the target encoding data and the target parity component.

13. The method as claimed in claim 11 further comprising:

calculating an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

wherein:

generating the target recovery set includes generating the target recovery set based on the circular-shift mechanism utilizing a shifting index positively incrementing by the erasure separation and circularly shifting by the prime shift factor.

14. The method as claimed in claim 11 further comprising:

calculating an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

wherein:

generating the target recovery set includes generating the target recovery set based on the circular-shift mechanism utilizing a shifting index negatively incrementing by the erasure separation and circularly shifting by the prime shift factor.

15. The method as claimed in claim 11 further comprising:

calculating an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

wherein:

generating the target recovery set includes initializing a shifting index based on offsetting the erasure separation by a predetermined constant and circularly shifting by the prime shift factor.

16. A non-transitory computer readable medium including instructions for execution, the instructions comprising:

providing access to storage data and check data corresponding to a data block length;

detecting one more erroneous data, one more erroneous check data, or a combination thereof for representing the storage data, the check data, or a combination thereof inaccessible or failing a status check process after initial storage thereof;

determining a prime shift factor for representing a smallest prime number not less than a block unit-quantity, wherein the block unit-quantity is for representing a quantity of shift units within the data block length; and

iteratively generating a target recovery set based on a circular-shift mechanism utilizing the prime shift factor for recovering the one more erroneous data, the one more erroneous check data, or a combination thereof.

17. The medium as claimed in claim 16 with instructions further comprising:

determining a target encoding data;

generating a target appended block with an extended block length based on the prime shift factor with the extended block length greater than the data block length;

generating a target parity component based on the target appended block, the target parity component corresponding to the target encoding data; and

storing the storage data and the check data based on storing the target encoding data and the target parity component.

18. The medium as claimed in claim 16 with instructions further comprising:

calculating an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

wherein:

generating the target recovery set includes generating the target recovery set based on the circular-shift mechanism utilizing a shifting index positively incrementing by the erasure separation and circularly shifting by the prime shift factor.

19. The medium as claimed in claim 16 with instructions further comprising:

calculating an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

wherein:

generating the target recovery set includes generating the target recovery set based on the circular-shift mechanism utilizing a shifting index negatively incrementing by the erasure separation and circularly shifting by the prime shift factor.

20. The medium as claimed in claim 16 with instructions further comprising:

calculating an erasure separation based on the one more erroneous data, the one more erroneous check data, or a combination thereof; and

wherein:

generating the target recovery set includes initializing a shifting index based on offsetting the erasure separation by a predetermined constant and circularly shifting by the prime shift factor.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2022
From: CNEX LABS, INC.
To: POINT FINANCIAL, INC.
Reel/Frame 058951/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2021
From: CNEX LABS, INC.
To: POINT FINANCIAL, INC
Reel/Frame 058266/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2016
From: ZHANG, XIAOJIE; FAN, BING
To: CNEX LABS, INC
Reel/Frame 039103/0098 →
Continuity (2)
Provisional Application 62272471 · Dec 29, 2015
Related Publication 20170185482A1 · Jun 29, 2017