IP Library Granted Patent US 9,443,591
Granted Patent B2
US 9,443,591 · App. 13/748,260 · Granted Sep 13, 2016

Storage device out-of-space handling

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 9,443,591
App. No.
13/748,260
Granted
Sep 13, 2016
Kind
B2
Abstract

Described embodiments detect an impending out-of-space (OOS) condition of a media. On startup, a media controller determines whether an impending OOS indicator is set from a previous startup. If the impending OOS indicator is not set, it is determined whether a free pool size has reached a threshold. The free pool is blocks of the solid-state media available to be written with data. If the free pool size has not reached the first threshold, while the startup time is less than a maximum startup time, garbage collection is performed on the solid-state media to accumulate blocks to the free pool. If the startup time reaches the maximum startup time and the free pool size has not reached the threshold, the impending OOS indicator is set and the media is operated in impending OOS mode. Otherwise, if the free pool size reaches the threshold, the media is operated in normal mode.

Claims (93)

1. A method of detecting, by a media controller coupled to a host device and a solid-state media, an impending out-of-space (OOS) condition of the solid-state media, the solid-state media having a physical storage capacity, the method comprising:

on startup of the media controller:

determining, by the media controller, whether an impending OOS indicator of the solid-state media is set from a previous startup of the media controller;

if the impending OOS indicator is not set:

determining, whether an OOS condition of the solid-state media has occurred, by determining whether a free pool size of the solid-state drive has reached a first threshold, wherein the free pool comprises blocks of the solid-state media available to be written with data;

if the OOS condition of the solid-state media has occurred:

setting the impending OOS indicator and operating the solid-state media in an impending OOS operation mode;

otherwise, if the OOS condition has not occurred:

operating the solid-state media in a normal operation mode;

wherein, the normal operation mode comprises:

checking, periodically, whether the free pool size of the solid-state drive becomes less than a second threshold and, if so:

operating the solid-state media in a write stall operation mode, wherein, in the write stall operation mode, the media controller limits write operations from the host device to the solid-state media to a predetermined, non-zero, maximum data throughput, thereby preserving free space on the solid-state media; and

if the free pool size has not reached the first threshold:

while a current startup time of the media controller is less than a maximum startup time, performing garbage collection on the solid-state media to accumulate additional blocks to the free pool;

if the current startup time reaches the maximum startup time and the free pool size has not reached the first threshold:

setting the impending OOS indicator and operating the solid-state media in the impending OOS operation mode;

otherwise, if the free pool size reaches or exceeds the first threshold:

operating the solid-state media in the normal operation mode.

2. The method of claim 1 , wherein the first threshold is 1% of the physical storage capacity of the solid-state media.

3. The method of claim 1 , further comprising:

if the impending OOS indicator of the solid-state media is set from a previous startup of the media controller:

determining whether used space of the solid-state media is below a safe threshold and, if so:

clearing the impending OOS indicator;

otherwise:

maintaining the impending OOS indicator and operating the solid-state media in the impending OOS operation mode.

4. The method of claim 3 , wherein the safe threshold is 95% of the physical storage capacity of the solid-state media.

5. The method of claim 1 , wherein the predetermined maximum data throughput is 100 KB/sec.

6. The method of claim 1 , wherein write operations are limited to a predetermined data size.

7. The method of claim 1 , further comprising, during the write stall operation mode:

checking, periodically, whether the free pool size of the solid-state drive remains less than a second threshold and, if so:

continuing operating the solid-state media in a write stall operation mode;

otherwise:

operating the solid-state media in the normal operation mode.

8. The method of claim 1 , further comprising, during the write stall operation mode:

restarting the host device and media controller.

9. The method of claim 1 , wherein the second threshold is a write stall limit of the solid-state media, and the write stall limit is 0.9% of the physical storage capacity of the solid-state media.

10. The method of claim 1 , further comprising:

notifying the host device that the solid-state media is operating in the impending OOS operation mode.

11. The method of claim 10 , wherein, in response to receiving the notification that the solid-state media is operating in the impending OOS operation mode, the host device provides a notification to a user of the host device.

12. The method of claim 11 , further comprising:

receiving, by the host device, commands from the user to delete data from the solid-state media; and

sending, by the host device, a TRIM command to the media controller; and

in response to the TRIM command, erasing, by the media controller, one or more blocks of the solid-state media.

13. The method of claim 1 , wherein the impending OOS indicator is persistently stored in a root file system of the solid-state media.

14. A non-transitory machine-readable medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method of detecting, by a media controller coupled to a host device and a solid-state media, an impending out-of-space (OOS) condition of the solid-state media, the solid-state media having a physical storage capacity, the method comprising:

on startup of the media controller:

determining, by the media controller, whether an impending OOS indicator of the solid-state media is set from a previous startup of the media controller;

if the impending OOS indicator is not set:

determining, by the media controller, whether a free pool size of the solid-state drive has reached a first threshold, wherein the free pool comprises blocks of the solid-state media available to be written with data;

if the free pool size has not reached the first threshold:

while a current startup time of the media controller is less than a maximum startup time, performing garbage collection on the solid-state media to accumulate additional blocks to the free pool;

if the current startup time reaches the maximum startup time and the free pool size has not reached the first threshold:

 setting the impending OOS indicator and operating the solid-state media in an impending OOS operation mode;

otherwise, if the free pool size reaches or exceeds the first threshold:

 operating the solid-state media in a normal operation mode; and

during the normal operation mode:

checking, periodically, whether the free pool size of the solid-state drive becomes less than a second threshold and, if so:

operating the solid-state media in a write stall operation mode, wherein, in the write stall operation mode, the media controller limits write operations from the host device to the solid-state media to a predetermined, non-zero, maximum data throughput, thereby preserving free space on the solid-state media; and

if the free pool size has not reached the first threshold:

while a current startup time of the media controller is less than a maximum startup time, performing garbage collection on the solid-state media to accumulate additional blocks to the free pool;

if the current startup time reaches the maximum startup time and the free pool size has not reached the first threshold:

setting the impending OOS indicator and operating the solid-state media in the impending OOS operation mode;

otherwise, if the free pool size reaches or exceeds the first threshold:

operating the solid-state media in the normal operation mode.

15. The non-transitory machine-readable medium of claim 14 , further comprising:

if the impending OOS indicator of the solid-state media is set from a previous startup of the media controller:

determining whether used space of the solid-state media is below a safe threshold and, if so:

clearing the impending OOS indicator;

otherwise:

maintaining the impending OOS indicator and operating the solid-state media in the impending OOS operation mode.

16. A media controller for a solid-state media having a physical storage capacity, the media controller configured to detect an impending out-of-space (OOS) condition of the solid-state media, the media controller comprising:

an input/output interface configured to communicate with a host device coupled to the media controller;

a control processor coupled to the input/output interface, the control processor configured to, on startup of the media controller:

determine whether an impending OOS indicator of the solid-state media is set from a previous startup of the media controller;

if the impending OOS indicator is not set:

determine whether a free pool size of the solid-state drive has reached a first threshold, the free pool comprising blocks of the solid-state media available to be written with data;

if the free pool size has not reached the first threshold:

while a current startup time of the media controller is less than a maximum startup time, perform garbage collection on the solid-state media to accumulate additional blocks to the free pool;

if the current startup time reaches the maximum startup time and the free pool size has not reached the first threshold:

 set the impending OOS indicator and operate the solid-state media in an impending OOS operation mode;

otherwise, if the free pool size reaches or exceeds the first threshold:

 operate the solid-state media in a normal operation mode;

if the impending OOS indicator of the solid-state media is set from a previous startup of the media controller:

determine whether used space of the solid-state media is below a safe threshold and, if so: clear the impending OOS indicator;

otherwise: maintain the impending OOS indicator and operate the solid-state media in the impending OOS operation mode;

check, periodically during normal operation mode, whether the free pool size of the solid-state drive becomes less than a second threshold and, if so:

operate the solid-state media in a write stall operation mode, wherein, in the write stall operation mode, the media controller limits write operations from the host device to the solid-state media to a predetermined, non-zero, maximum data throughput, thereby preserving free space on the solid-state media; and

if the free pool size has not reached the first threshold:

while a current startup time of the media controller is less than a maximum startup time, performing garbage collection on the solid-state media to accumulate additional blocks to the free pool;

if the current startup time reaches the maximum startup time and the free pool size has not reached the first threshold:

setting the impending OOS indicator and operating the solid-state media in the impending OOS operation mode;

otherwise, if the free pool size reaches or exceeds the first threshold:

operating the solid-state media in the normal operation mode.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034770/0859 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2013
From: BARYUDIN, LEONID; COHEN, EARL T.
To: LSI CORPORATION
Reel/Frame 029680/0840 →