IP Library Granted Patent US 12,093,545
Granted Patent B2
US 12,093,545 · App. 17/570,340 · Granted Sep 17, 2024

Storage system with selectable write modes

Inventors: Ying Gao (San Jose, CA); Boris Feigin (San Francisco, CA); Hari Kannan (Sunnyvale, CA); Igor Ostrovsky (Mountain View, CA); Jeffrey Tofano (San Jose, CA); Svitlana Tumanova (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F3/0634G06F3/0614G06F3/0679G06F3/0689
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 12,093,545
App. No.
17/570,340
Granted
Sep 17, 2024
Kind
B2
Abstract

A storage system has a first memory, a second memory that include solid-state storage memory, and a processing device. The processing device is to select a mode for each portion of data to be written. Selection of the mode is based at least on size of the portion of data. Selection of the mode is from among modes that include a first mode of writing the portion of data in mirrored RAID form to the first memory for later transfer from the first memory to the second memory, a second mode of writing the portion of data in parity-based RAID form to the first memory for later transfer from the first memory to the second memory, and a third mode of writing the portion of data to the second memory, bypassing the first memory. The processing device is to handle portions of data to be written according to such selection.

Claims (42)

1. A storage system, comprising:

a first memory;

a second memory comprising solid-state storage memory; and

a processing device, to:

select a mode for each portion of data to be written, based at least on a comparison of size of the portion of data to corresponding threshold values, from among modes comprising:

a first mode of writing the portion of data in mirrored RAID form to the first memory for later transfer from the first memory to the second memory;

a second mode of writing the portion of data in parity-based RAID form to the first memory for later transfer from the first memory to the second memory; and

a third mode of writing the portion of data to the second memory, bypassing the first memory; and

handle a plurality of portions of data to be written according to such selection, wherein the corresponding threshold values differ for differing types of storage devices of one of the first memory or the second memory.

2. The storage system of claim 1 , wherein:

the processing device, the first memory comprising non-volatile random access memory (NVRAM), the second memory, and each of the first, second and third modes are in distributed computing and distributed storage across a plurality of blades and a plurality of storage devices of the storage system.

3. The storage system of claim 1 , wherein a first threshold of the size of the portion of data is used to select the first mode, a greater, second threshold of the size of the portion of data is used to select the third mode, and the first and second thresholds of the size of the portion of data are used to select the second mode.

4. The storage system of claim 1 , wherein such selection from among the modes is according to differing sets of thresholds across heterogeneous amounts of non-volatile random access memory (NVRAM) as portions of the first memory in a heterogeneous plurality of storage devices of the storage system.

5. The storage system of claim 1 , wherein to select the mode, based at least on the size of the portion of data is further based on at least one from a set of factors comprising a first factor of trading off cost of computing RAID encoding and cost of writing to the first memory for various sizes of the portion of data, a second factor of size of the first memory, and a third factor of throughput to the first memory.

6. The storage system of claim 1 , wherein the processing device is further to use a lower threshold for the size of the portion of data for selecting between the first mode and the second mode, for writing the portion of data to a smaller sized portion of the first memory in a first storage device, and use a higher threshold for the size of the portion of data for selecting between the first mode and the second mode, for writing the portion of data to a larger sized portion of the first memory in a second storage device.

7. The storage system of claim 1 , wherein the processing device is further to use a lower threshold for the size of the portion of data for selecting between the second mode and the third mode, for a first storage device having a smaller sized portion of the first memory, and use a higher threshold for the size of the portion of data for selecting between the second mode and the third mode, for a second storage device having a larger sized portion of the first memory.

8. A method performed by a storage system, comprising:

selecting a mode for each portion of data to be written, based at least on a comparison of size of the portion of data to corresponding threshold values, from among modes comprising:

a first mode of writing the portion of data in mirrored RAID form to a first memory of the storage system for later transfer from the first memory to a second memory of the storage system comprising solid-state storage memory;

a second mode of writing the portion of data in parity-based RAID form to the first memory for later transfer from the first memory to the second memory; and

a third mode of writing the portion of data to the second memory of the storage system, bypassing the first memory;

and

handling a plurality of portions of data to be written according to such selection, wherein the corresponding threshold values differ for differing types of storage devices of one of the first memory or the second memory.

9. The method of claim 8 , wherein:

the first memory comprising non-volatile random access memory (NVRAM), the second memory, and each of the first, second and third modes are in distributed computing and distributed storage across a plurality of blades and a plurality of storage devices of the storage system.

10. The method of claim 8 , wherein a first threshold of the size of the portion of data is used to select the first mode, a greater, second threshold of the size of the portion of data is used to select the third mode, and the first and second thresholds of the size of the portion of data are used to select the second mode.

11. The method of claim 8 , wherein such selecting from among the modes is according to differing sets of thresholds across heterogeneous amounts of non-volatile random access memory (NVRAM) as portions of the first memory in a heterogeneous plurality of storage devices of the storage system.

12. The method of claim 8 , wherein to select the mode, based at least on the size of the portion of data is further based on at least one from a set of factors comprising a first factor of trading off cost of computing RAID encoding and cost of writing to the first memory for various sizes of the portion of data, a second factor of size of the first memory, and a third factor of throughput to the first memory.

13. The method of claim 8 , wherein a lower threshold for the size of the portion of data is used for selecting between the first mode and the second mode, for writing the portion of data to a smaller sized portion of the first memory in a first storage device, and a higher threshold for the size of the portion of data is used for selecting between the first mode and the second mode, for writing the portion of data to a larger sized portion of the first memory in a second storage device.

14. The method of claim 8 , wherein a lower threshold for the size of the portion of data is used for selecting between the second mode and the third mode, for a first storage device having a smaller sized portion of the first memory, and a higher threshold for the size of the portion of data is used for selecting between the second mode and the third mode, for a second storage device having a larger sized portion of the first memory.

15. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processing device, cause the processing device to perform a method comprising:

selecting a mode for each portion of data to be written, based at least on a comparison of size of the portion of data to corresponding threshold values, from among modes comprising:

a first mode of writing the portion of data in mirrored RAID form to a first memory of a storage system for later transfer from the first memory to a second memory of the storage system, comprising solid-state storage memory;

a second mode of writing the portion of data in parity-based RAID form to the first memory for later transfer from the first memory to the second memory; and

a third mode of writing the portion of data to the second memory of the storage system, bypassing the first memory;

and

handling a plurality of portions of data to be written according to such selection, wherein the corresponding threshold values differ for differing types of storage devices of one of the first memory or the second memory.

16. The computer-readable media of claim 15 , wherein a first threshold of the size of the portion of data is used to select the first mode, a greater, second threshold of the size of the portion of data is used to select the third mode, and the first and second thresholds of the size of the portion of data are used to select the second mode.

17. The computer-readable media of claim 15 , wherein such selecting from among the modes is according to differing sets of thresholds across heterogeneous amounts of non-volatile random access memory (NVRAM) as portions of the first memory in a heterogeneous plurality of storage devices of the storage system.

18. The computer-readable media of claim 15 , wherein to select the mode, based at least on the size of the portion of data is further based on at least one from a set of factors comprising a first factor of trading off cost of computing RAID encoding and cost of writing to the first memory for various sizes of the portion of data, a second factor of size of the first memory, and a third factor of throughput to the first memory.

19. The computer-readable media of claim 15 , wherein a lower threshold for the size of the portion of data is used for selecting between the first mode and the second mode, for writing the portion of data to a smaller sized portion of the first memory in a first storage device, and a higher threshold for the size of the portion of data is used for selecting between the first mode and the second mode, for writing the portion of data to a larger sized portion of the first memory in a second storage device.

20. The computer-readable media of claim 15 , wherein a lower threshold for the size of the portion of data is used for selecting between the second mode and the third mode, for a first storage device having a smaller sized portion of the first memory, and a higher threshold for the size of the portion of data is used for selecting between the second mode and the third mode, for a second storage device having a larger sized portion of the first memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2022
From: GAO, YING; FEIGIN, BORIS; KANNAN, HARI; OSTROVSKY, IGOR; TOFANO, JEFFREY; TUMANOVA, SVITLANA
To: PURE STORAGE, INC.
Reel/Frame 059040/0497 →
Continuity (3)
Continuation In Part 17512377 · Oct 27, 2021
Continuation In Part 17139460 · Dec 31, 2020
Related Publication 20220206696A1 · Jun 30, 2022
Cited By (2)
US 12,493,428 US 12,710,870