Method and System for Migrating Data Between Flash Memory Devices
First Claim
1. A method of managing a storage system that comprises a storage controller and a plurality of flash memory devices, each with a plurality of flash memory blocks, the method comprising:
- at the storage controller;
dividing each of the plurality of flash memory devices into a plurality of logical chunks, wherein each logical chunk includes one or more flash memory blocks;
detecting a predefined trigger condition with respect to a respective flash memory device of the plurality of flash memory devices;
in response to detecting the predefined trigger condition;
selecting one of the plurality of logical chunks of the respective flash memory device for migration in accordance with predefined selection criteria;
storing a replicated logical chunk, comprising a copy of the selected logical chunk, at a second flash memory device different from the respective flash memory device; and
remapping an address of the selected logical chunk to a physical location of the replicated logical chunk; and
decreasing a number of logical chunks associated with the respective flash memory device.
2 Assignments
0 Petitions
Accused Products
Abstract
The embodiments described herein include systems, methods and/or devices that may enhance the endurance of a storage system including a storage medium. The method includes: dividing a plurality of flash memory devices into logical chunks each logical chunk including one or more flash memory blocks; and detecting a trigger condition with respect to a respective flash memory device of the plurality of flash memory devices. In response to detecting the trigger condition, the method includes: selecting one of the logical chunks of the respective flash memory device for migration in accordance with predefined selection criteria; and storing a replicated logical chunk, comprising a copy of the selected logical chunk, at a second flash memory device. The method includes: remapping an address of the selected logical chunk to a physical location of the replicated logical chunk; and decreasing a number of logical chunks associated with the respective flash memory device.
22 Citations
25 Claims
-
1. A method of managing a storage system that comprises a storage controller and a plurality of flash memory devices, each with a plurality of flash memory blocks, the method comprising:
at the storage controller; dividing each of the plurality of flash memory devices into a plurality of logical chunks, wherein each logical chunk includes one or more flash memory blocks; detecting a predefined trigger condition with respect to a respective flash memory device of the plurality of flash memory devices; in response to detecting the predefined trigger condition; selecting one of the plurality of logical chunks of the respective flash memory device for migration in accordance with predefined selection criteria; storing a replicated logical chunk, comprising a copy of the selected logical chunk, at a second flash memory device different from the respective flash memory device; and remapping an address of the selected logical chunk to a physical location of the replicated logical chunk; and decreasing a number of logical chunks associated with the respective flash memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A storage controller, comprising:
-
one or more processors; a host interface configured to couple the storage controller to a host; a storage medium interface configured to couple the storage controller to a storage medium including a plurality of flash memory devices, each with a plurality of flash memory blocks; and a storage controller memory storing instructions, which, when executed by the one or more processors, causes the storage controller to perform operations comprising; dividing each of the plurality of flash memory devices into a plurality of logical chunks, wherein each logical chunk includes one or more flash memory blocks; detecting a predefined trigger condition with respect to a respective flash memory device of the plurality of flash memory devices; in response to detecting the predefined trigger condition; selecting one of the plurality of logical chunks of the respective flash memory device for migration in accordance with predefined selection criteria; and storing a replicated logical chunk, comprising a copy of the selected logical chunk, at a second flash memory device different from the respective flash memory device; and remapping an address of the selected logical chunk to a physical location of the replicated logical chunk; and decreasing a number of logical chunks associated with the respective flash memory device. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A non-transitory computer readable storage medium, storing one or more programs for execution by one or more processors of a storage controller coupled to a storage medium including a plurality of flash memory devices, wherein each flash memory device includes a plurality of flash memory blocks, the one or more programs including instructions that when executed by the one or more processors cause the storage controller to:
-
divide each of the plurality of flash memory devices into a plurality of logical chunks, wherein each logical chunk includes one or more flash memory blocks; detect a predefined trigger condition with respect to a respective flash memory device of the plurality of flash memory devices; in response to detecting the predefined trigger condition; select one of the plurality of logical chunks of the respective flash memory device for migration in accordance with predefined selection criteria; and store a replicated logical chunk, comprising a copy of the selected logical chunk, at a second flash memory device different from the respective flash memory device; and remap an address of the selected logical chunk to a physical location of the replicated logical chunk; and decrease a number of logical chunks associated with the respective flash memory device. - View Dependent Claims (22, 23, 24, 25)
-
Specification