IP Library Granted Patent US 12,430,047
Granted Patent B2
US 12,430,047 · App. 18/393,118 · Granted Sep 30, 2025

Maintaining control information for storage devices

Inventor: Eric D. Seppanen (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F3/0629G06F3/0604G06F3/0605G06F3/061G06F3/0632G06F3/0659G06F3/0665G06F3/067G06F3/0673G06F3/0689G06F12/0238G06F11/1076G06F2212/1024G06F2212/217G06F2212/222G06F2212/261G06F2212/263G06F2212/7205G06F2212/7207
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,430,047
App. No.
18/393,118
Granted
Sep 30, 2025
Kind
B2
Abstract

Dynamically managing control information in a storage device, including: querying, by an array management module executing on a storage array controller, the storage device for a location of control information for the storage device, the control information describing the state of one or more memory blocks in the storage device; and issuing, by the array management module in dependence upon the location of the control information for the storage device, a request to retrieve the control information for the storage device.

Claims (30)

1. A method comprising:

in response to receiving an alert indicating an updated state for a memory block in a storage device, querying, by a storage controller, the storage device for a location in the storage device identifiable as storing control information; and

updating, by the storage controller, the control information obtained for the storage device stored in the storage device to indicate the updated state for the memory block.

2. The method of claim 1 wherein the storage device includes control information of a plurality of types, and wherein querying the storage device further comprises querying the storage device for the location storing the control information of a predetermined type.

3. The method of claim 1 further comprising querying the storage device for the location storing the control information for the storage device during start-up of the storage controller.

4. The method of claim 1 further comprising causing the storage device to scan a portion of each memory block to identify memory blocks that comprise the control information for the storage device.

5. The method of claim 1 wherein the control information comprises an indication that the memory block contains boot code for the storage controller.

6. The method of claim 1 wherein the control information comprises an indication of a number of program-erase cycles that have been performed on the memory block.

7. The method of claim 1 wherein the control information describes a state of one or more memory blocks that are external to the location storing the control information.

8. An apparatus comprising:

a memory; and

a processor, operatively coupled to the memory, configured to:

in response to receiving an alert indicating an updated state for a memory block in a storage device, query, by a storage controller, the storage device for a location in the storage device identifiable as storing control information; and

update, by the storage controller, the control information obtained for the storage device stored in the storage device to indicate the updated state for the memory block.

9. The apparatus of claim 8 wherein the storage device includes the control information of a plurality of types and wherein the processor is further configured to query the storage device for the location storing the control information for the storage device, further comprising querying the storage device for the location storing the control information of a predetermined type.

10. The apparatus of claim 8 wherein the processor is further configured to query the storage device for the location storing the control information for the storage device during start-up of the storage controller.

11. The apparatus of claim 8 wherein the processor is further configured to scan a portion of each memory block to identify memory blocks that comprise the control information for the storage device.

12. The apparatus of claim 8 wherein the control information comprises an indication that the memory block contains boot code for the storage controller.

13. The apparatus of claim 8 wherein the control information comprises an indication of a number of program-erase cycles that have been performed on the memory block.

14. The apparatus of claim 8 wherein the control information describes the state of one or more memory blocks that are external to the location storing the control information.

15. A non-transitory computer readable storage medium storing instructions, which when executed, cause a processor to:

in response to receiving an alert indicating an updated state for a memory block in a storage device, query, by a storage controller, the storage device for a location in the storage device identifiable as storing control information; and

update, by the storage controller, the control information obtained for the storage device stored in the storage device to indicate the updated state for the memory block.

16. The computer readable storage medium of claim 15 wherein the storage device includes control information of a plurality of types, and wherein the processor is further configured to:

query the storage device for the location storing the control information for the storage device further comprising querying the storage device for the location storing the control information storing a predetermined type.

17. The computer readable storage medium of claim 15 wherein the processor is further configured to:

query the storage device for the location storing the control information for the storage device during start-up of the storage controller.

18. The computer readable storage medium of claim 15 wherein the processor is further configured to scan a portion of each memory block to identify memory blocks that comprise the control information for the storage device.

19. The computer readable storage medium of claim 15 wherein the control information comprises an indication that the memory block contains boot code for the storage controller.

20. The computer readable storage medium of claim 15 wherein the control information comprises an indication of a number of program-erase cycles that have been performed on the memory block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2023
From: SEPPANEN, ERIC D.
To: PURE STORAGE, INC.
Reel/Frame 065939/0216 →
Continuity (5)
Continuation 17489195 · Sep 29, 2021
Continuation 16436020 · Jun 10, 2019
Continuation 15414760 · Jan 25, 2017
Continuation 14736240 · Jun 10, 2015
Related Publication 20240231651A1 · Jul 11, 2024
References Cited (34)
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8055893B2 · Locker · 2011 [cited by examiner]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 9183218B1 · Wallace · 2015 [cited by examiner]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 20060161726A1 · Lasser · 2006 [cited by examiner]
US 20060288153A1 · Tanaka · 2006 [cited by examiner]
US 20080082865A1 · Matsuoka · 2008 [cited by examiner]
US 20080256141A1 · Wayda et al. · 2008 [cited by applicant]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
Hwang K., et al., “RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing,” Proceedings of the Ninth International Symposium on High-performance Distributed Computing, IEEE Computer Society, Los Alamitos… [cited by applicant]
Stalzer M.A., “FlashBlades: System Architecture and Applications,” Proceedings of the 2nd Workshop on Architectures and Systems for Big Data, Association for Computing Machinery, New York, NY, 2012, pp. 10-14. [cited by applicant]
Storer M.W., et al., “Pergamum: Replacing Tape with Energy Efficient, Reliable, Disk-Based Archival Storage,” 6TH Usenix Conference on File and Storage Technologies (FAST'08), San Jose, CA, USA, Feb. 26-29, 2008, 16 Pag… [cited by applicant]