IP Library Granted Patent US 11,003,369
Granted Patent B1
US 11,003,369 · App. 16/246,771 · Granted May 11, 2021

Performing a tune-up procedure on a storage device during a boot process

Inventors: Andrew Bernat (Mountain View, CA); Wei Tang (San Jose, CA)
Assignee: Pure Storage, Inc.
G06F3/0632G06F3/0604G06F3/0673G06F9/4401
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,003,369
App. No.
16/246,771
Granted
May 11, 2021
Kind
B1
Abstract

Performing a tune-up procedure on a storage device including determining, during a boot process, that a first storage device is available for a tune-up procedure, wherein the tune-up procedure prepares the first storage device for use after being offline; reserving the first storage device to perform the tune-up procedure, wherein reserving the first storage device prevents another system from performing the tune-up procedure on the first storage device; and executing the tune-up procedure on the first storage device.

Claims (38)

1. A method comprising:

reserving, during a boot process, a first storage device on which to perform a tune-up procedure, wherein the tune-up procedure prepares the first storage device for use after being offline and reserving the first storage device prevents another system from performing the tune-up procedure on the first storage device; and

executing the tune-up procedure on the first storage device, including reconfiguring the first storage device to compensate for voltage degradation of the first storage device experienced while the first storage device was offline.

2. The method of claim 1 , wherein reserving the first storage device to perform the tune-up procedure comprises:

periodically updating a reservation count for the first storage device.

3. The method of claim 2 , further comprising:

indicating that the first storage device has undergone the tune-up procedure and is ready for use including ceasing updating the reservation count.

4. The method of claim 1 , further comprising:

delaying reserving a second storage device to perform the tune-up procedure including detecting that the second storage device is reserved and is currently undergoing a tune-up procedure, wherein detecting that the second storage device is reserved and is currently undergoing a tune-up procedure comprises detecting that a reservation count for the second storage device is periodically being updated.

5. The method of claim 1 , further comprising:

restarting the tune-up procedure for a second storage device, including, in response to detecting that the second storage device is reserved and that a reservation count for the second storage device is not being periodically updated, reserving the second storage device by storing a tune-up reservation key on the second storage device and periodically updating the reservation count for the second storage device.

6. The method of claim 2 , further comprising storing a tune-up reservation key on the first storage device including storing a bit pattern on the first storage device that identifies a controller performing the tune-up procedure.

7. The method of claim 1 , wherein determining, during the boot process, that the first storage device is available for the tune-up procedure comprises determining that a reservation count for the first storage device is not being periodically updated.

8. The method of claim 1 , wherein compensating for the voltage degradation of the first storage device comprises recalibrating voltage thresholds used to determine values stored in cells.

9. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

reserving, during a boot process, a first storage device on which to perform a tune-up procedure, wherein the tune-up procedure prepares the first storage device for use after being offline and reserving the first storage device prevents another system from performing the tune-up procedure on the first storage device; and

executing the tune-up procedure on the first storage device, including reconfiguring the first storage device to compensate for voltage degradation of the first storage device experienced while the first storage device was offline.

10. The apparatus of claim 9 , wherein reserving the first storage device to perform the tune-up procedure comprises:

periodically updating a reservation count for the first storage device.

11. The apparatus of claim 10 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

indicating that the first storage device has undergone the tune-up procedure and is ready for use including ceasing updating the reservation count.

12. The apparatus of claim 9 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

delaying reserving a second storage device to perform the tune-up procedure including detecting that the second storage device is reserved and is currently undergoing a tune-up procedure, wherein detecting that the second storage device is reserved and is currently undergoing a tune-up procedure comprises detecting that a reservation count for the second storage device is periodically being updated.

13. The apparatus of claim 9 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

restarting the tune-up procedure for a second storage device, including, in response to detecting that the second storage device is reserved and that a reservation count for the second storage device is not being periodically updated, reserving the second storage device by storing a tune-up reservation key on the second storage device and periodically updating the reservation count for the second storage device.

14. The apparatus of claim 10 , further comprising storing a tune-up reservation key on the first storage device including storing a bit pattern on the first storage device that identifies a controller performing the tune-up procedure.

15. The apparatus of claim 9 , wherein determining, during the boot process, that the first storage device is available for the tune-up procedure comprises determining that a reservation count for the first storage device is not being periodically updated.

16. A storage system comprising a plurality of storage devices, wherein the storage system is configured to carry out the steps of:

reserving, during a boot process, a first storage device on which to perform a tune-up procedure, wherein the tune-up procedure prepares the first storage device for use after being offline and reserving the first storage device prevents another system from performing the tune-up procedure on the first storage device; and

executing the tune-up procedure on the first storage device, including reconfiguring the first storage device to compensate for voltage degradation of the first storage device experienced while the first storage device was offline.

17. The storage system of claim 16 , wherein reserving the first storage device to perform the tune-up procedure comprises:

periodically updating a reservation count for the first storage device.

18. The storage system of claim 17 , further configured to carry out the steps of:

indicating that the first storage device has undergone the tune-up procedure and is ready for use including ceasing updating the reservation count.

19. The storage system of claim 16 , further configured to carry out the steps of:

delaying reserving a second storage device to perform the tune-up procedure including detecting that the second storage device is reserved and is currently undergoing a tune-up procedure, wherein detecting that the second storage device is reserved and is currently undergoing a tune-up procedure comprises detecting that a reservation count for the second storage device is periodically being updated.

20. The storage system of claim 16 , further configured to carry out the steps of:

restarting the tune-up procedure for a second storage device, including, in response to detecting that the second storage device is reserved and that a reservation count for the second storage device is not being periodically updated, reserving the second storage device by storing a tune-up reservation key on the second storage device and periodically updating the reservation count for the second storage device.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: BERNAT, ANDREW; TANG, WEI
To: PURE STORAGE, INC.
Reel/Frame 047987/0583 →
Cited By (1)
US 12,511,062