IP Library Granted Patent US 10,481,979
Granted Patent B2
US 10,481,979 · App. 15/718,031 · Granted Nov 19, 2019

Storage system, computing system, and methods thereof

Inventors: Marcin Pioch (Gdansk, PL); Kapil Karkra (Chandler, AZ); Piotr Wysocki (Gdansk, PL); Slawomir Ptak (Gdansk, PL)
Assignee: Intel Corporation
G06F11/1076G06F11/1068G11C29/52G11C29/74
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,481,979
App. No.
15/718,031
Granted
Nov 19, 2019
Kind
B2
Abstract

According to various aspects, a storage system is provided, the storage system including a multiplicity of storage devices, and one or more processors configured to store user data on the multiplicity of storage devices, the stored user data being distributed among the multiplicity of storage devices together with redundancy data and with log data; generate a classification associated with the redundancy data and the log data to provide classified redundancy data and classified log data, and write the classified redundancy data and the classified log data on the respective storage device of the multiplicity of storage devices according to the classification associated therewith.

Claims (50)

1. A storage system, comprising:

one or more processors configured to

divide at least three storage devices into strips,

provide a plurality of stripes, each stripe of the plurality of stripes comprising at least three strips,

receive user data,

distribute the user data along the plurality of stripes together with parity data associated with the user data such that each stripe of the plurality of stripes comprises at least two data strips and at least one parity strip associated with the at least two data strips, and

write the user data and the parity data to each storage device of the at least three storage devices based on a first data stream directed to a first storage region of a respective storage device of the at least three storage devices and a second data stream directed to a second storage region of the respective storage device of the at least three storage devices,

wherein the second storage region is different from the first storage region,

the first data stream comprising the parity data, and

the second data stream comprising the user data.

2. The storage system of claim 1 ,

the at least two data strips comprising user data and the at least one parity strip comprising parity data.

3. The storage system of claim 2 ,

wherein the one or more processors are further configured to

write log data associated with the writing of the user data and the parity data to the at least three storage devices.

4. The storage system of claim 3 ,

the log data comprising write hole protection data.

5. The storage system of claim 3 ,

wherein the one or more processors are configured to distribute the log data across the at least three storage devices.

6. The storage system of claim 3 ,

wherein the one or more processors are further configured to

write the log data to each storage device of the at least three storage devices based on a third data stream directed to a third storage region of the respective storage device of the at least three storage devices,

the third storage region is different from the first storage region and the second storage region.

7. The storage system of claim 1 ,

the first data stream being substantially free of the user data.

8. The storage system of claim 1 ,

the second data stream being substantially free of the parity data.

9. The storage system of claim 1 ,

wherein each storage device of the at least three storage devices has a first granularity associated with writing data and a second granularity greater than the first granularity associated with updating or deleting data.

10. The storage system of claim 1 ,

wherein each storage device of the at least three storage devices comprises a solid state drive.

11. The storage system of claim 1 ,

wherein the one or more processors are configured to

write the user data and the parity data respectively with a corresponding write block size, and

erase the user data and the parity data respectively with a corresponding erase block size, the erase block size being greater than the write block size.

12. A method for operating a storage system, the method comprising:

operating a multiplicity of storage devices as a redundant array of independent drives,

receiving user data and storing the received user data on the multiplicity of storage in a striping configuration,

calculating parity data corresponding to the received user data,

generating a parity classification associated at least with the parity data corresponding to a physical data placement of the parity data and the user data on each of the multiplicity of storage devices according to the parity classification, and

writing the parity data to each storage device of the multiplicity of storage devices via a first stream and writing the user data to each of the multiplicity of storage devices via a second stream according to the parity classification.

13. A method for operating a storage system, the method comprising:

operating a multiplicity of storage devices as a redundant array of independent drives,

receiving user data and storing the received user data on the multiplicity of storage in a striping configuration,

calculating parity data corresponding to the received user data,

generating a parity classification associated at least with the parity data corresponding to a physical data placement of the parity data and the user data on each of the multiplicity of storage devices according to the parity classification,

providing log data associated with the received user data and the generated parity data,

generating a log classification associated at least with the log data corresponding to a physical data placement of the log data on each of the multiplicity of storage devices according to the log data classification,

writing the parity data to each of the multiplicity of storage devices via a first stream and writing the user data to each of the multiplicity of storage devices via a second stream according to the parity classification, and

writing the log data to each of the multiplicity of storage devices via the first data stream or a third stream.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072792/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: PIOCH, MARCIN; KARKRA, KAPIL; WYSOCKI, PIOTR; PTAK, SLAWOMIR
To: INTEL CORPORATION
Reel/Frame 044077/0652 →
Continuity (1)
Related Publication 20190095281A1 · Mar 28, 2019