IP Library Granted Patent US 11,704,066
Granted Patent B2
US 11,704,066 · App. 17/348,325 · Granted Jul 18, 2023

Heterogeneous erase blocks

Inventors: Eric D. Seppanen (Mountain View, CA); Andrew R. Bernat (Mountain View, CA); Timothy W. Brennan (San Francisco, CA); Mark L. McAuliffe (San Francisco, CA); Neil Buda Vachharajani (Menlo Park, CA)
Assignee: PURE STORAGE, INC.
G06F3/0659G06F3/0604G06F3/064G06F3/0631G06F3/0652G06F3/0688G06F12/0246G06F12/0253G11C16/16
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,704,066
App. No.
17/348,325
Granted
Jul 18, 2023
Kind
B2
Abstract

A method of using flash storage devices with different sized erase blocks is provided. The method includes allocating a plurality of erase blocks of heterogeneous erase block sizes to a RAID stripe, to form a tile pattern having the heterogeneous erase block sizes in the RAID stripe. The method includes writing the RAID stripe across the flash storage devices in accordance with the allocating, and stopping the writing the RAID stripe, responsive to contents of the RAID stripe reaching a threshold.

Claims (42)

1. A method, comprising:

allocating a plurality of erase blocks of differing erase block sizes to a RAID stripe, to form a pattern;

writing the RAID stripe across the flash storage devices in accordance with the allocating; and

executing a garbage collection process in the flash storage devices wherein portions of the differing erase block sizes are collected for transfer, wherein the allocating comprises allocating the plurality of erase blocks from the flash storage devices such that each column in the RAID stripe has erase blocks from a same flash storage device.

2. The method of claim 1 , further comprising:

re-allocating one or more remaining unwritten portions of the plurality of erase blocks to a further RAID stripe.

3. The method of claim 1 , further comprising:

writing metadata in the RAID stripe at predefined offsets so that each of the plurality of erase blocks begins with a metadata section.

4. The method of claim 1 , further comprising:

performing the garbage collection in the flash storage devices, with the RAID stripe as a single element for the garbage collection.

5. The method of claim 1 , further comprising:

erasing at least one of the plurality of erase blocks, responsive to determining all data in the at least one of the plurality of erase blocks is obsoleted.

6. The method of claim 1 , wherein the allocating comprises:

combining a plurality of erase blocks of smaller erase block sizes to form one or more block units each having a combined block size greater than or equal to another of the plurality of erase blocks.

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

allocating a plurality of erase blocks of differing erase block sizes to a RAID stripe, to form a pattern;

writing the RAID stripe across the flash storage devices in accordance with the allocating; and

executing a garbage collection process in the flash storage devices wherein portions of the differing erase block sizes are collected for transfer, wherein the writing the RAID stripe comprises assigning erase blocks from each of the differing flash storage devices to a same column in the RAID stripe.

8. The computer-readable media of claim 7 , wherein the method further comprises:

assigning unused portions of the plurality of erase blocks to a further RAID stripe.

9. The computer-readable media of claim 7 , wherein the method further comprises:

writing metadata in the RAID stripe at intervals of an offset, the offset a common divisor of the heterogeneous erase block sizes, to begin each of the plurality of erase blocks with a metadata section.

10. The computer-readable media of claim 7 , wherein the method further comprises:

defining the RAID stripe as a single element for garbage collection.

11. The computer-readable media of claim 7 , wherein the method further comprises:

forming a combined block from two or more of the plurality of erase blocks, of smaller erase block sizes, to have a combined block size greater than or equal to a further one of the plurality of erase blocks.

12. A storage system, comprising:

a plurality of flash storage devices having heterogeneous erase block sizes; and

at least one processor, configurable to:

allocate a plurality of erase blocks of differing erase block sizes to a RAID stripe, to form a pattern, wherein the pattern comprises differing columns having erase blocks from differing ones of the plurality of flash storage devices;

write the RAID stripe across the flash storage devices in accordance with the allocating; and

execute a garbage collection process in the flash storage devices wherein portions of the differing erase block sizes are collected for transfer.

13. The storage system of claim 12 , wherein the at least one processor is further configurable to:

assign unused portions of the erase blocks of the RAID stripe to a further RAID stripe.

14. The storage system of claim 12 , wherein the at least one processor is further configurable to:

write, at predefined offsets, metadata to the RAID stripe having the heterogeneous erase block sizes, to begin each of the erase blocks in the RAID stripe with a metadata section.

15. The storage system of claim 12 , wherein the at least one processor is further configurable to:

perform the garbage collection in the plurality of flash storage devices, using the RAID stripe having the heterogeneous erase block sizes as a single element.

16. The storage system of claim 12 , wherein the at least one processor is further configurable to:

perform the garbage collection in the plurality of flash storage devices, to collect portions of erase blocks and to erase and reclaim one or more of the plurality of erase blocks having obsoleted data.

17. The storage system of claim 12 , wherein the at least one processor is further configurable to:

form a block unit having a combined block size greater than or equal to erase block size of one of the plurality of erase blocks, from two or more erase blocks of smaller erase block sizes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2023
From: BERNAT, ANDREW R.; BRENNAN, TIMOTHY W.; MCAULIFFE, MARK L.; SEPPANEN, ERIC D.; VACHHARAJANI, NEIL BUDA
To: PURE STORAGE, INC.
Reel/Frame 062729/0313 →
Continuity (3)
Continuation 16700930 · Dec 2, 2019
Continuation 15799950 · Oct 31, 2017
Related Publication 20210311667A1 · Oct 7, 2021