IP Library Granted Patent US 9,021,231
Granted Patent B2
US 9,021,231 · App. 13/601,243 · Granted Apr 28, 2015

Storage control system with write amplification control mechanism and method of operation thereof

Inventors: James Fitzpatrick (Sudbury, MA); Bernardo Rub (Sudbury, MA); Mark Dancho (Chandler, AZ); James Higgins (Chandler, AZ); Ryan Jones (Mesa, AZ)
Assignee: Smart Storage Systems, Inc.
G06F11/3409G06F11/3485G06F11/3442G06F2201/88
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,021,231
App. No.
13/601,243
Filed
Aug 31, 2012
Granted
Apr 28, 2015
Kind
B2
Examiner
DOAN, DUC T
Art Unit
2135
USPC
711/173
Abstract

A method of operation of a storage control system includes: partitioning logical addresses into a number of subdrives, the logical addresses associated with a memory device; and monitoring a data write measure of one of the subdrives.

Claims (42)

1. A method of operation in a non-volatile storage device, comprising:

assigning, to each subdrive of respective subdrives of the non-volatile storage device, respective logical addresses of a logical address space in accordance with a quantity of host writes to each of the respective logical addresses;

assigning to each subdrive of the respective subdrives a portion of a total over-provisioning capacity of the non-volatile storage device in accordance with a write workload of the subdrive, wherein the write workload of the subdrive is in accordance with a quantity of host writes to the subdrive; and

monitoring the quantity of host writes to each of the respective subdrives.

2. The method as claimed in claim 1 further comprising:

designating active states to each subdrive of the respective subdrives in accordance with the write workload of the subdrive, the designated active states corresponding to a range of subdrive write workloads; and

in conjunction with writing data to the non-volatile storage device by a host system, re-assigning one of the logical addresses from a subdrive with a designated state corresponding to a first subdrive workload to another subdrive with a designated state corresponding to a second subdrive workload higher than the first subdrive workload.

3. The method as claimed in claim 2 further comprising:

in conjunction with garbage collection, re-assigning one of the logical addresses from the subdrive with the designated state corresponding to the second subdrive workload to the subdrive with the designated state corresponding to the first subdrive workload.

4. The method as claimed in claim 1 further comprising:

determining current over-provisioning capacities and target over-provisioning capacities for one or more of the respective subdrives; and

re-assigning one or more blocks of the non-volatile storage device from one of the subdrives to another one of the subdrives in accordance with differences between the target over-provisioning capacities and the current over-provisioning capacities for the one or more of the respective subdrives.

5. The method as claimed in claim 4 further comprising:

identifying a subdrive for garbage collection in accordance with the differences between the target over-provisioning capacities and the current over-provisioning capacities for the respective subdrives.

6. The method as claimed in claim 1 , further comprising:

calculating the portion of the total over-provisioning capacity to assign to each subdrive of the respective subdrives in accordance with the write workload of the subdrive and a subdrive logical capacity of the subdrive.

7. The method as claimed in claim 1 , wherein the respective subdrives of the non-volatile storage device have a plurality of different sizes.

8. A method of operation of a storage control system comprising:

assigning, to each subdrive of a set of respective subdrives of a non-volatile storage device, respective logical addresses of a logical address space;

monitoring a data write measure of one of the subdrives; and

identifying a recommended subdrive based on the data write measure.

9. The method as claimed in claim 8 further comprising assigning one of the logical addresses towards a most-written subdrive when write data is written to the one of the logical addresses, the logical addresses are for writing by a host system.

10. The method as claimed in claim 8 further comprising assigning one of the logical addresses to a less-written subdrive when the one of the logical addresses is recycled.

11. The method as claimed in claim 8 further comprising calculating a subdrive over-provisioning capacity for one or more of the subdrives based on a subdrive logical capacity associated with the one of the subdrives.

12. The method as claimed in claim 8 further comprising organizing a block of the one of the subdrives into a sparse pool based on a number of valid pages of the block, the blocks selected based on a calculated reliability condition.

13. A non-volatile storage device, comprising:

a subdrive assignment module for assigning respective logical addresses of a logical address space to each subdrive of respective subdrives of the non-volatile storage device in accordance with a quantity of host writes to each of the respective logical addresses;

a data monitor module, coupled to the subdrive assignment module, for monitoring the quantity of host writes to each of the respective subdrives; and

an over-provisioning manager module, coupled to the data monitor module, for identifying a subdrive to recommend for garbage collection in accordance with a write workload of each subdrive of the respective subdrives.

14. The non-volatile storage device as claimed in claim 13 , wherein the over-provisioning manager module is also for calculating subdrive over-provisioning capacities for one or more of the respective subdrives,

wherein the calculated subdrive over-provisioning capacities are in accordance with the write workload of each subdrive of the respective subdrives, and

wherein the write workload of each subdrive of the respective subdrives is in accordance with a quantity of host writes to the subdrive.

15. The non-volatile storage device as claimed in claim 14 wherein the over-provisioning manager module is for calculating the subdrive over-provisioning capacities for the one or more of the respective subdrives based on subdrive logical capacities associated with the respective subdrives.

16. The non-volatile storage device as claimed in claim 13 , wherein the over-provisioning manager module is also for assigning to each subdrive of the respective subdrives a portion of a total over-provisioning capacity of the non-volatile storage device in accordance with the write workload of the subdrive, wherein the write workload of the subdrive is in accordance with a quantity of host writes to the subdrive.

17. The non-volatile storage device as claimed in claim 13 wherein the subdrive assignment module is also for:

designating active states to each subdrive of the respective subdrives in accordance with the write workload of the subdrive, the designated active states corresponding to a range of subdrive write workloads; and

in conjunction with writing data to the non-volatile storage device by a host system, re-assigning one of the logical addresses from a subdrive with a designated state corresponding to a first subdrive workload to another subdrive with a designated state corresponding to a second subdrive workload higher than the first subdrive workload.

18. The non-volatile storage device as claimed in claim 17 wherein the subdrive assignment module is for re-assigning one of the logical addresses from the subdrive with the designated state corresponding to the second subdrive workload to the subdrive with the designated state corresponding to the first subdrive workload in conjunction with garbage collection.

19. The non-volatile storage device as claimed in claim 13 wherein the over-provisioning manager module is further for:

determining current over-provisioning capacities and target over-provisioning capacities for one or more of the subdrives; and

re-assigning one or more blocks of the non-volatile storage device from one of the subdrives to another one of the subdrives in accordance with differences between the target over-provisioning capacities and the current over-provisioning capacities for the one or more of the subdrives.

20. The non-volatile storage device as claimed in claim 13 , wherein the respective subdrives of the non-volatile storage device have a plurality of different sizes.

Assignments (3)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2016
From: SMART STORAGE SYSTEMS, INC
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038290/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2012
From: FITZPATRICK, JAMES; RUB, BERNARDO; DANCHO, MARK; HIGGINS, JAMES; JONES, RYAN
To: SMART STORAGE SYSTEMS, INC.
Reel/Frame 028887/0657 →
Continuity (2)
Provisional Application 61530918 · Sep 2, 2011
Related Publication 20130061019A1 · Mar 7, 2013