IP Library › Granted Patent US 11,947,968
Granted Patent B2
US 11,947,968 · App. 17/649,396 · Granted Apr 2, 2024

Efficient use of zone in a storage device

Inventors: Ronald Karr (Palo Alto, CA); Mark McAuliffe (San Francisco, CA)
Assignee: PURE STORAGE, INC.
G06F9/4401G06F9/4408G06F12/02
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,947,968
App. No.
17/649,396
Granted
Apr 2, 2024
Kind
B2
Abstract

A system and method for efficient use of zones in a storage system. The method includes: building a frontier set comprising one or more zones of one or more storage devices for writing to; writing data to at least one zone of the one or more zones included in the frontier set; and during a bootup sequence: accessing a frontier set list to identify the one or more zones in the frontier set; and scanning the one or more zones to identify the at least one zone that data was written to.

Claims (34)

1. A computing system comprising:

one or more solid-state storage devices comprising a plurality of zones; and

a storage controller operatively coupled to the one or more storage devices, wherein the storage controller is configured to:

store, using a reserved set of zones, a list of a frontier set comprising one or more zones of the plurality of zones to which data is being written, including cycling through the reserved set of zones for storing the list;

write data to at least one zone of the one or more zones included in the frontier set;

in response to a fault, identify the one or more zones in the frontier set using the list; and

scan the one or more zones to identify the at least one zone that data was written to.

2. The system as recited in claim 1 , wherein the storage controller is further configured to determine a first zone of the at least one zone has been completely written to and a second zone of the at least one zone has been partially written to.

3. The system as recited in claim 2 , wherein the storage controller is further configured to determine a third zone of the at least one zone did not complete a write sufficiently for written data to be usable.

4. The system as recited in claim 1 , wherein the storage controller is further configured to open one or more empty zones included in the frontier set.

5. The system as recited in claim 1 , wherein the storage controller is further configured to store the frontier set list to a set of reserved addresses.

6. The system as recited in claim 5 , wherein the set of reserved addresses identifies zones that are reused in a cyclical pattern.

7. The system as recited in claim 1 , wherein at least one zone of the one or more zones included in the frontier set is in an empty state.

8. A method, comprising:

store, using a reserved set of zones, a list of a frontier set comprising one or more zones of the plurality of zones to which data is being written, including cycling through the reserved set of zones for storing the list;

write data to at least one zone of the one or more zones included in the frontier set;

in response to a fault, identify the one or more zones in the frontier set using the list; and

scan the one or more zones to identify the at least one zone that data was written to. the one or more zones to identify the at least one zone that data was written to.

9. The method of claim 8 , further comprising determining a first zone of the at least one zone has been completely written to and a second zone of the at least one zone that has been partially written to.

10. The method as recited in claim 9 , further comprising determining a third zone of the at least one zone did not complete a write sufficiently for written data to be usable.

11. The method as recited in claim 8 , further comprising opening one or more empty zones included in the frontier set.

12. The method as recited in claim 8 , wherein the method further comprises storing the frontier set list to a set of reserved addresses.

13. The method as recited in claim 12 , wherein the set of reserved addresses is a circular buffer of zones.

14. The method of claim 8 , wherein at least one zone of the one or more zones included in the frontier set is in an empty state.

15. A non-transitory computer readable storage medium storing program instructions executable by a processor to:

store, using a reserved set of zones, a list of a frontier set comprising one or more zones of the plurality of zones to which data is being written, including cycling through the reserved set of zones for storing the list;

write data to at least one zone of the one or more zones included in the frontier set;

in response to a fault, identify the one or more zones in the frontier set using the list; and

scan the one or more zones to identify the at least one zone that data was written to.

16. The non-transitory computer readable storage medium as recited in claim 15 , wherein the program instructions are further executable to determine a first zone of the at least one zone has been completely written to and a second zone of the at least one zone that has been partially written to.

17. The non-transitory computer readable storage medium as recited in claim 16 , wherein the program instructions are further executable to determine a third zone of the at least one zone did not complete a write sufficiently for written data to be usable.

18. The non-transitory computer readable storage medium as recited in claim 15 , wherein the instructions are further executable to open one or more empty zones included in the frontier set.

19. The non-transitory computer readable storage medium as recited in claim 15 , wherein the instructions are further executable to store the frontier set list to a set of reserved addresses.

20. The non-transitory computer readable storage medium as recited in claim 19 , wherein the set of reserved addresses identifies zones that are reused in a cyclical pattern.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2022
From: KARR, RONALD; MCAULIFFE, MARK
To: PURE STORAGE, INC.
Reel/Frame 058827/0715 →
Continuity (4)
Continuation In Part 17522714 · Nov 9, 2021
Continuation 16401369 · May 2, 2019
Continuation 14602052 · Jan 21, 2015
Related Publication 20220156087A1 · May 19, 2022