IP Library Granted Patent US 9,213,594
Granted Patent B2
US 9,213,594 · App. 13/354,215 · Granted Dec 15, 2015

Apparatus, system, and method for managing out-of-service conditions

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,213,594
App. No.
13/354,215
Granted
Dec 15, 2015
Kind
B2
Abstract

An adaptive logical storage element comprises a plurality of solid-state storage elements accessible in parallel. The logical storage element includes logical storage units, which may include logical page, logical storage divisions (erase blocks), and so on. Each logical storage unit comprises a plurality of physical storage units. A logical storage unit may include one or more physical storage units that are out-of-service (OOS). The OOS status of logical storage units is tracked by OOS metadata. When data is stored on the logical storage element, padding data is provided to physical storage units that are OOS, and valid and/or parity data is provided to in-service physical storage units. A write data pipeline accesses the OOS metadata to insert padding data, and a read data pipeline accesses the OOS metadata to strip padding data.

Claims (32)

1. A method for managing storage operations, the method comprising:

receiving a request to perform a storage operation on a logical storage unit comprising a plurality of solid state physical storage units of a storage media that are accessible in parallel; and

adapting the storage operation performed on the logical storage unit to account for a physical storage unit of the logical storage unit that is out of service in response to the request;

wherein the storage operation comprises storing data on the logical storage unit, and wherein adapting the storage operation comprises combining padding data with data of the storage operation to mask the out-of-service physical storage units with the padding data.

2. The method of claim 1 , wherein adapting the storage operation comprises masking physical storage units of the logical storage unit that are out of service.

3. The method of claim 1 , further comprising referencing out-of-service metadata of the logical storage unit to identify out-of-service physical storage units of the logical storage unit.

4. The method of claim 3 , further comprising maintaining the out-of-service metadata at one of a page level of granularity, an erase block level of granularity, a die level of granularity, a plane level of granularity, and a storage element level of granularity.

5. The method of claim 1 , further comprising accessing each physical storage unit of the logical storage unit using the same address.

6. The method of claim 1 , further comprising remapping one or more replacement physical storage units into the logical storage unit to replace physical storage units in the first a set in response to a number of out-of-service physical storage units of the logical storage unit exceeding a threshold.

7. The method of claim 1 , further comprising adapting the storage operation without remapping the out of service physical storage unit.

8. An apparatus for performing storage operations, comprising:

a plurality of storage elements; and

a storage controller in parallel communication with each of the plurality of storage elements to form a plurality of logical storage units, each logical storage unit comprising respective physical storage units of the storage elements;

wherein the storage controller is configured to adapt storage operations performed on the logical storage units in accordance with out-of-service metadata that identifies physical storage units that are out of service, wherein the storage controller adapts a storage operation to store data on a logical storage unit by mapping padding data to out-of-service physical storage units of the logical storage unit on a bus coupling the storage controller to the storage elements.

9. The apparatus of claim 8 , wherein the storage controller comprises a switch to combine padding data with data of the storage operation such that the padding data masks the out-of-service physical storage units of the logical storage unit.

10. The apparatus of claim 8 , wherein the storage controller provides the same physical address to each physical storage unit of the logical storage unit and programs data on the logical storage unit using a single program command.

11. The apparatus of claim 10 , wherein the storage controller configures the single program command to bypass out-of-service physical storage units of the logical storage unit.

12. The apparatus of claim 8 , wherein the storage controller adapts a storage operation to read data on a logical storage unit by stripping data corresponding to out-of-service physical storage units from data read from the logical storage unit.

13. The apparatus of claim 8 , wherein the storage controller ignores status pertaining to physical storage units that are out of service.

14. The apparatus of claim 8 , wherein the storage controller identifies a physical storage unit to hold parity data of a logical storage unit using the out-of-service metadata.

15. The apparatus of claim 8 , wherein the storage controller replaces an out-of-service physical storage unit of a logical storage unit with a replacement physical storage unit in response to a number of out-of-service physical storage units of the logical storage unit exceeding a threshold.

16. A computer-readable, non-transitory storage medium comprising instructions to cause a computing device to perform a method, comprising:

receiving a request to perform a storage operation on one of a plurality of logical storage units, each logical storage unit comprising a respective plurality of solid state physical storage units of a storage media that are all accessible in parallel;

referencing out-of-service metadata to identify a physical storage unit of the logical storage unit that is out of service; and

adapting a storage operation performed on the logical storage unit to mask the physical storage unit that is out of service;

wherein adapting the storage operation comprises one of: mapping padding data to the out-of-service physical storage units on a bus that couples the storage controller to the physical storage units of the logical storage unit; and stripping data corresponding to the out-of-service physical storage units from data read from the physical storage units of the logical storage unit.

17. A method for managing storage operations, the method comprising:

receiving a request to perform a storage operation on a logical storage unit comprising a plurality of solid state physical storage units of a storage media that are accessible in parallel; and

adapting the storage operation performed on the logical storage unit to account for a physical storage unit of the logical storage unit that is out of service in response to the request;

wherein the storage operation comprises reading data of the logical storage unit, and wherein adapting the storage operation comprises one of:

stripping data corresponding to the out-of-service physical storage units from data read from the logical storage unit; and

stripping padding data from data read from the logical storage unit, wherein the padding data prevents an ECC codeword from overrunning a storage boundary.

Assignments (9)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0898 →
RELEASE OF SECURITY INTEREST Recorded May 4, 2016
From: FUSION-IO, INC.
To: SANDISK CORPORATION
Reel/Frame 038748/0880 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2016
From: PS12 LUXCO S.A.R.L.
To: LONGITUDE ENTERPRISE FLASH S.A.R.L.
Reel/Frame 038362/0604 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2016
From: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLC
To: PS12 LUXCO S.A.R.L.
Reel/Frame 038362/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2016
From: LONGITUDE ENTERPRISE FLASH SARL
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 038324/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2014
From: FUSION-IO, INC.
To: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLC
Reel/Frame 033419/0748 →
SECURITY INTEREST Recorded Jul 24, 2014
From: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLC
To: FUSION-IO, INC.
Reel/Frame 033410/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2014
From: FUSION-IO, INC.
To: INTELLECTUAL PROPERTY HOLDINGS 2 LLC
Reel/Frame 033390/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: STRASSER, JOHN; FLYNN, DAVID; INSKEEP, BILL
To: FUSION-IO, INC.
Reel/Frame 027987/0066 →