IP Library › Granted Patent US 11,775,391
Granted Patent B2
US 11,775,391 · App. 17/109,017 · Granted Oct 3, 2023

RAID system with fault resilient storage devices

Inventors: Sung Wook Ryu (Palo Alto, CA); Yang Seok Ki (Palo Alto, CA); Dong Gi Daniel Lee (Saratoga, CA); Changho Choi (San Jose, CA); Ehsan Najafabadi (San Jose, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F11/1428G06F3/065G06F3/0619G06F3/0634G06F3/0644G06F3/0649G06F3/0673G06F3/0679G06F11/0772G06F11/1068G06F11/1076G06F11/1484G06F11/203G06F11/2089G06F11/2094G06F11/3034G06F11/3037G06F11/3072G06F11/327G06F11/3409G06F12/0882G06F12/1009G06F2201/85G06F2212/262
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 11,775,391
App. No.
17/109,017
Granted
Oct 3, 2023
Kind
B2
Abstract

A storage system, and a method for operating a storage system. In some embodiments, the system includes a first storage device and a second storage device, and the method includes: determining that the first storage device is in a read-only state and that the second storage device is in a read-write state; performing a write operation, of a first stripe, to the storage system; performing a first read operation, of a second stripe, from the storage system; and performing a second read operation, of the first stripe, from the storage system, wherein: the performing of the write operation includes: writing a portion of the first stripe to the second storage device, and making an entry in a mapping table for the first stripe.

Claims (98)

1. A method for operating a storage system comprising a first storage device and a second storage device, the method comprising:

determining that the first storage device is in a read-only state and that the second storage device is in a read-write state, wherein the first storage device is associated with a first identifier and the second storage device is associated with a second identifier;

assigning a third identifier to the second storage device in response to determining that the first storage device is in the read-only state;

performing a write operation, of a first stripe, to the storage system;

performing a first read operation, of a second stripe, from the storage system; and

performing a second read operation, of the first stripe, from the storage system,

wherein:

the performing of the write operation comprises:

identifying the third identifier;

writing a portion of the first stripe to the second storage device based on identifying of the third identifier, and

making an entry in a mapping table for the first stripe;

the performing of the first read operation comprises reading a portion of the second stripe from the first storage device and the second storage device; and

the performing of the second read operation comprises:

determining that the mapping table includes an entry for the first stripe, and

reading the portion of the first stripe from the second storage device.

2. The method of claim 1 , wherein:

the storage system comprises a plurality of storage devices including the first storage device and the second storage device;

the determining that the second storage device is in the read-write state comprises determining that one or more remaining storage devices other than the first storage device are in the read-write state, the remaining storage devices including the second storage device; and

the performing of the write operation comprises writing the first stripe to the remaining storage devices.

3. The method of claim 2 , wherein the performing of the first read operation comprises:

determining that the second stripe is open-mapped within the plurality of storage devices, and

reading the second stripe from the plurality of storage devices.

4. The method of claim 2 , further comprising reassigning drive identification numbers to the remaining storage devices, wherein the third identifier is a reassigned drive identification number for the second storage device, wherein:

each of the plurality of storage devices has an original drive identification number, wherein the second identifier is an original drive identification for the second storage device, and the reassigning comprises:

assigning, to each of the plurality of storage devices having an identification number less than the original drive identification number of the first storage device, a respective original drive identification number; and

assigning, to each of the plurality of storage devices having an identification number greater than the original drive identification number of the first storage device, a respective original drive identification number less one.

5. The method of claim 2 , wherein the performing of the second read operation comprises:

reading the first stripe from the remaining storage devices, and

reading a strip of the first stripe from a storage device at an address based on the mapping table.

6. The method of claim 5 , further comprising reassigning drive identification numbers to the remaining storage devices, wherein:

each of the plurality of storage devices has an original drive identification number, and the reassigning comprises assigning, to each storage device having an identification number less than the original drive identification number of the first storage device, the respective original drive identification number.

7. The method of claim 6 , wherein the reassigning further comprises assigning, to each storage device having an identification number greater than the original drive identification number of the first storage device, the respective original drive identification number less one.

8. The method of claim 6 , wherein the original drive identification number of the first storage device is n, and the reading of the strip of the first stripe comprises reading the strip from the storage device having a reassigned identification number n.

9. A system for storing data, the system comprising:

a first storage device,

a second storage device, and

a processing circuit connected to the first storage device and to the second storage device,

the processing circuit is configured with logic that causes the processing circuit to:

determine that the first storage device is in a read-only state and that the second storage device is in a read-write state, wherein the first storage device is associated with a first identifier and the second storage device is associated with a second identifier;

assigning a third identifier to the second storage device in response to determining that the first storage device is in the read-only state;

perform a write operation, of a first stripe;

perform a first read operation, of a second stripe; and

perform a second read operation, of the first stripe,

wherein:

the logic that causes the processor to perform the write operation comprises logic that causes the processor to:

identify the third identifier;

write a portion of the first stripe to the second storage device based on logic that causes the processor to identify the third identifier, and

make an entry in a mapping table for the first stripe;

the logic that causes the processor to perform the first read operation comprises logic that causes the processor to read a portion of the second stripe from the first storage device and the second storage device; and

the logic that causes the processor to perform the second read operation comprises logic that causes the processor to:

determine that the mapping table includes an entry for the first stripe, and

read the portion of the first stripe from the second storage device.

10. The system of claim 9 , comprising a plurality of storage devices including the first storage device and the second storage device, wherein:

the logic that causes the processing circuit to determine that the second storage device is in the read-write state comprises logic that causes the processing circuit to determine that one or more remaining storage devices other than the first storage device are in the read-write state, the remaining storage devices including the second storage device; and

the logic that causes the processing circuit to perform the write operation comprises logic that causes the processing circuit to write the first stripe to the remaining storage devices.

11. The system of claim 10 , wherein the logic that causes the processing circuit to perform the first read operation comprises logic that causes the processing circuit to:

determine that the second stripe is open-mapped within the plurality of storage devices, and

read the second stripe from the plurality of storage devices.

12. The system of claim 10 , wherein the logic further causes the processing circuit to reassign drive identification numbers to the remaining storage devices, wherein the third identifier is a reassigned drive identification number for the second storage device, wherein:

each of the plurality of storage devices has an original drive identification number, wherein the second identifier is an original drive identification for the second storage device, and the logic that causes the processing circuit to reassign comprises logic that causes the processing circuit to:

assign, to each of the plurality of storage devices having an identification number less than the original drive identification number of the first storage device, a respective original drive identification number; and

assign, to each of the plurality of storage devices having an identification number greater than the original drive identification number of the first storage device, a respective original drive identification number less one.

13. The system of claim 10 , wherein the logic that causes the processing circuit to perform the second read operation comprises logic that causes the processing circuit to:

read the first stripe from the remaining storage devices, and

read a strip of the first stripe from one of the plurality of storage devices at an address based on the mapping table.

14. The system of claim 13 , wherein the logic further causes the processing circuit to reassign drive identification numbers to the remaining storage devices, wherein:

each of the plurality of storage devices has an original drive identification number, and the logic that causes the processing circuit to reassign includes logic that causes the processing logic to assign, to each of the plurality of storage devices having an identification number less than the original drive identification number of the first storage device, a respective original drive identification number.

15. The system of claim 14 , wherein the logic further causes the processing circuit to assign, to each of the plurality of storage devices having an identification number greater than the original drive identification number of the first storage device, a respective original drive identification number less one.

16. The system of claim 14 , wherein the original drive identification number of the first storage device is n, and the reading of the strip of the first stripe comprises reading the strip from the storage device having a reassigned identification number n.

17. A system for storing data, the system comprising:

a first storage device,

a second storage device, and

means for processing, connected to the first storage device and to the second storage device,

the means for processing being configured to:

determine that the first storage device is in a read-only state and that the second storage device is in a read-write state, wherein the first storage device is associated with a first identifier and the second storage device is associated with a second identifier;

assigning a third identifier to the second storage device in response to determining that the first storage device is in the read-only state;

perform a write operation, of a first stripe;

perform a first read operation, of a second stripe; and

perform a second read operation, of the first stripe,

wherein:

performing of the write operation comprises:

identifying the third identifier;

writing a portion of the first stripe to the second storage device based on identifying of the third identifier, and

making an entry in a mapping table for the first stripe;

performing of the first read operation comprises reading a portion of the second stripe from the first storage device and the second storage device; and

performing of the second read operation comprises:

determining that the mapping table includes an entry for the first stripe, and

reading the portion of the first stripe from the second storage device.

18. The system of claim 17 , comprising a plurality of storage devices including the first storage device and the second storage device, wherein:

determining that the second storage device is in the read-write state comprises determining that one or more remaining storage devices other than the first storage device are in the read-write state, the remaining storage devices including the second storage device; and

the performing of the write operation comprises writing the first stripe to the remaining storage devices.

19. The system of claim 18 , wherein the performing of the first read operation comprises:

determining that the second stripe is open-mapped within the plurality of storage devices, and

reading the second stripe from the plurality of storage devices.

20. The system of claim 18 , wherein the means for processing is further configured to reassign drive identification numbers to the remaining storage devices, wherein the third identifier is a reassigned drive identification number for the second storage device, wherein:

each of the plurality of storage devices has an original drive identification number, wherein the second identifier is an original drive identification for the second storage device, and the reassigning comprises:

assigning, to each of the plurality of storage devices having an identification number less than the original drive identification number of the first storage device, a respective original drive identification number; and

assigning, to each of the plurality of storage devices having an identification number greater than the original drive identification number of the first storage device, a respective original drive identification number less one.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2022
From: RYU, SUNG WOOK; KI, YANG SEOK; LEE, DONG GI; CHOI, CHANGHO; NAJAFABADI, EHSAN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 059812/0965 →
Continuity (4)
Provisional Application 63057744 · Jul 28, 2020
Provisional Application 63052854 · Jul 16, 2020
Provisional Application 63051158 · Jul 13, 2020
Related Publication 20220012142A1 · Jan 13, 2022