IP Library Granted Patent US 9,582,202
Granted Patent B2
US 9,582,202 · App. 14/621,121 · Granted Feb 28, 2017

Process and apparatus to reduce declared capacity of a storage device by moving data

Inventors: Allen Samuels (San Jose, CA); Warren Fritz Kruger (Sunnyvale, CA); Linh Tien Truong (San Jose, CA)
Assignee: SANDISK TECHNOLOGIES LLC
G06F3/0616G06F3/061G06F3/0655G06F3/0679G06F12/0246G06F12/0253G06F2212/1036G06F2212/26G06F2212/7201G06F2212/7204G06F2212/7208G06F2212/7211
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,582,202
App. No.
14/621,121
Granted
Feb 28, 2017
Kind
B2
Abstract

Systems, methods and/or devices are used to reduce declared capacity of non-volatile memory of a storage device in a storage system. In one aspect, the method includes, detecting an amelioration trigger for reducing declared capacity of non-volatile memory of a storage device, and in accordance with the detected amelioration trigger, performing an amelioration process to reduce declared capacity of the non-volatile memory of the storage device, the performing including: moving a portion of data used by a host from the storage device to another storage device of the storage system, and reducing declared capacity of the non-volatile memory of the storage device. In some embodiments, the storage device includes one or more flash memory devices. In some embodiments, the detecting, the performing, or both are performed by the storage device, or by one or more subsystems of the storage system distinct from the storage device, or by the host.

Claims (82)

1. A method of managing a storage system having a plurality of storage devices, the method comprising:

detecting an amelioration trigger for reducing declared capacity of non-volatile memory of a first storage device of the storage system, wherein declared capacity is storage capacity available to a host;

in accordance with the detected amelioration trigger, performing an amelioration process to reduce declared capacity of the non-volatile memory of the first storage device, the performing including:

moving a portion of data that is used by the host from the first storage device to another storage device of the storage system; and

reducing declared capacity of the non-volatile memory of the first storage device;

prior to detecting the amelioration trigger, detecting a first wear condition of the non-volatile memory of the first storage device, wherein a total storage capacity of the non-volatile memory of the first storage device includes declared capacity and over-provisioning; and

in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the first storage device without reducing declared capacity of the non-volatile memory of the first storage device.

2. The method of claim 1 , wherein detecting the amelioration trigger comprises detecting a second wear condition distinct from the first wear condition.

3. The method of claim 1 , wherein the host includes a client on behalf of which data is stored in the storage system.

4. The method of claim 1 , wherein the host includes a cluster controller of the storage system.

5. The method of claim 1 , wherein detecting the amelioration trigger, performing the amelioration process, or both detecting the amelioration trigger and performing the amelioration process are performed by the host.

6. The method of claim 1 , wherein detecting the amelioration trigger, performing the amelioration process, or both detecting the amelioration trigger and performing the amelioration process are performed by one or more subsystems of the storage system distinct from the first storage device.

7. The method of claim 1 , wherein moving the portion of data that is used by the host includes moving the portion of data that is used by the host in accordance with one or more parameters for the amelioration process.

8. The method of claim 1 , wherein moving the portion of data that is used by the host includes:

moving data associated with one or more virtual logical addresses, including updating a virtual address mapping module.

9. The method of claim 1 , wherein moving the portion of the data includes selecting one or more logical addresses of that data so as to minimize performance degradation.

10. The method of claim 1 , wherein moving the portion of the data further includes selecting one or more logical addresses of that data so as to minimize overhead from garbage collection.

11. The method of claim 1 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes:

invalidating one or more logical address entries, associated with the portion of data, of a mapping table, the mapping table used to translate logical addresses in a logical address space to physical addresses in a physical address space of the first storage device.

12. The method of claim 11 , wherein reducing declared capacity of the non-volatile memory of the first storage device includes trimming logical addresses associated with the data moved from the first storage device.

13. The method of claim 1 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes advertising a reduced declared capacity of the non-volatile memory of the first storage device.

14. The method of claim 1 , further comprising:

after beginning performance of the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device, detecting an indication to abort the reduction in declared capacity of the non-volatile memory of the first storage device; and

in response to detecting the indication to abort the reduction in declared capacity of the non-volatile memory of the first storage device, aborting performance of the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device.

15. The method of claim 1 , wherein the first storage device comprises one or more flash memory devices.

16. A storage system, comprising:

a storage medium;

one or more processors; and

memory storing one or more programs, which when executed by the one or more processors cause the storage system to perform operations comprising:

detecting an amelioration trigger for reducing declared capacity of non-volatile memory of a first storage device of the storage system, wherein declared capacity is storage capacity available to a host;

in accordance with the detected amelioration trigger, performing an amelioration process to reduce declared capacity of the non-volatile memory of the first storage device, the performing including:

moving a portion of data that is used by the host from the first storage device to another storage device of the storage system; and

reducing declared capacity of the non-volatile memory of the first storage device;

prior to detecting the amelioration trigger, detecting a first wear condition of the non-volatile memory of the first storage device, wherein a total storage capacity of the non-volatile memory of the first storage device includes declared capacity and over-provisioning, and

in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the first storage device without reducing declared capacity of the non-volatile memory of the first storage device.

17. The storage system of claim 16 , wherein detecting the amelioration trigger comprises detecting a second wear condition distinct from the first wear condition.

18. The storage system of claim 16 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes:

invalidating one or more logical address entries, associated with the portion of data, of a mapping table, the mapping table used to translate logical addresses in a logical address space to physical addresses in a physical address space of the first storage device.

19. The storage system of claim 18 , wherein reducing declared capacity of the non-volatile memory of the first storage device includes trimming logical addresses associated with the data moved from the first storage device.

20. The storage system of claim 16 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes advertising a reduced declared capacity of the non-volatile memory of the first storage device.

21. The storage system of claim 16 , wherein the first storage device comprises one or more flash memory devices.

22. A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of a storage system, the one or more programs including instructions for:

detecting an amelioration trigger for reducing declared capacity of non-volatile memory of a first storage device of the storage system, wherein declared capacity is storage capacity available to a host;

in accordance with the detected amelioration trigger, performing an amelioration process to reduce declared capacity of the non-volatile memory of the first storage device, the performing including:

moving a portion of data that is used by the host from the first storage device to another storage device of the storage system; and

reducing declared capacity of the non-volatile memory of the first storage device;

prior to detecting the amelioration trigger, detecting a first wear condition of the non-volatile memory of the first storage device, wherein a total storage capacity of the non-volatile memory of the first storage device includes declared capacity and over-provisioning; and

in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the first storage device without reducing declared capacity of the non-volatile memory of the first storage device.

23. The non-transitory computer readable storage medium of claim 22 , wherein detecting the amelioration trigger comprises detecting a second wear condition distinct from the first wear condition.

24. The non-transitory computer readable storage medium of claim 22 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes:

invalidating one or more logical address entries, associated with the portion of data, of a mapping table, the mapping table used to translate logical addresses in a logical address space to physical addresses in a physical address space of the first storage device.

25. The non-transitory computer readable storage medium of claim 24 , wherein reducing declared capacity of the non-volatile memory of the first storage device includes trimming logical addresses associated with the data moved from the first storage device.

26. The non-transitory computer readable storage medium of claim 22 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes advertising a reduced declared capacity of the non-volatile memory of the first storage device.

27. The non-transitory computer readable storage medium of claim 22 , wherein the first storage device comprises one or more flash memory devices.

28. A storage system, comprising:

one or more storage devices; and

a host to which the one or more storage devices are operatively coupled, the host including:

one or more processors; and

host memory storing one or more programs, which when executed by the one or more processors cause the host to perform operations comprising:

detecting an amelioration trigger for reducing declared capacity of non-volatile memory of a first storage device of the storage system, wherein declared capacity is storage capacity available to the host;

in accordance with the detected amelioration trigger, performing an amelioration process to reduce declared capacity of the non-volatile memory of the first storage device, the performing including:

moving a portion of data that is used by the host from the first storage device to another storage device of the storage system; and

reducing declared capacity of the non-volatile memory of the first storage device;

prior to detecting the amelioration trigger, detecting a first wear condition of the non-volatile memory of the first storage device, wherein a total storage capacity of the non-volatile memory of the first storage device includes declared capacity and over-provisioning; and

in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the first storage device without reducing declared capacity of the non-volatile memory of the first storage device.

29. The storage system of claim 28 , wherein detecting the amelioration trigger comprises detecting a second wear condition distinct from the first wear condition.

30. The storage system of claim 28 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes:

invalidating one or more logical address entries, associated with the portion of data, of a mapping table, the mapping table used to translate logical addresses in a logical address space to physical addresses in a physical address space of the first storage device.

31. The storage system of claim 30 , wherein reducing declared capacity of the non-volatile memory of the first storage device includes trimming logical addresses associated with the data moved from the first storage device.

32. The storage system of claim 28 , wherein the first storage device comprises one or more flash memory devices.

33. A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of a host system, the one or more programs including instructions for:

detecting an amelioration trigger for reducing declared capacity of non-volatile memory of a first storage device of a storage system, the first storage device coupled to the host system, wherein declared capacity is storage capacity available to the host system;

in accordance with the detected amelioration trigger, performing an amelioration process to reduce declared capacity of the non-volatile memory of the first storage device, the performing including:

moving a portion of data that is used by the host system from the first storage device to another storage device of the storage system; and

reducing declared capacity of the non-volatile memory of the first storage device;

prior to detecting the amelioration trigger, detecting a first wear condition of the non-volatile memory of the first storage device, wherein a total storage capacity of the non-volatile memory of the first storage device includes declared capacity and over-provisioning; and

in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the first storage device without reducing declared capacity of the non-volatile memory of the first storage device.

34. The non-transitory computer readable storage medium of claim 33 , wherein detecting the amelioration trigger comprises detecting a second wear condition distinct from the first wear condition.

35. The non-transitory computer readable storage medium of claim 33 , wherein performing the amelioration process to reduce declared capacity of the non-volatile memory of the first storage device further includes:

invalidating one or more logical address entries, associated with the portion of data, of a mapping table, the mapping table used to translate logical addresses in a logical address space to physical addresses in a physical address space of the first storage device.

36. The non-transitory computer readable storage medium of claim 35 , wherein reducing declared capacity of the non-volatile memory of the first storage device includes trimming logical addresses associated with the data moved from the first storage device.

37. The non-transitory computer readable storage medium of claim 33 , wherein the first storage device comprises one or more flash memory devices.

Assignments (2)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2015
From: SAMUELS, ALLEN; KRUGER, WARREN FRITZ; TRUONG, LINH TIEN
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 035085/0802 →
Continuity (2)
Provisional Application 62044976 · Sep 2, 2014
Related Publication 20160062679A1 · Mar 3, 2016