Device and method for managing die groups
First Claim
1. A method of managing a storage system that comprises a storage controller and non-volatile memory, the non-volatile memory comprising a plurality of die and each die comprising a plurality of subunits, the method comprising:
- at the storage controller coupled with the non-volatile memory;
for each of the plurality of die, obtaining an endurance metric;
sorting the plurality of die into a plurality of die groups based on their corresponding endurance metrics, wherein each die group includes one or more die and each die group is associated with a corresponding range of endurance metrics, and wherein a plurality of the die groups each includes two or more die;
storing a die group mapping in the storage controller that indicates which die are assigned to each die group of the plurality of die groups, wherein the storage controller includes a logical address to physical address mapping distinct from the die group mapping; and
in response to a write command specifying a set of write data, writing the set of write data to the non-volatile memory by writing in parallel distinct respective subsets of the set of write data to distinct respective die assigned to a single die group of the plurality of die groups.
3 Assignments
0 Petitions
Accused Products
Abstract
The embodiments described herein methods and devices that enhance the endurance of a non-volatile memory (e.g., flash memory). The method includes obtaining, for each of the plurality of die, an endurance metric. The method also includes sorting the plurality of die into a plurality of die groups based on their corresponding endurance metrics, where each die group includes one or more die and each die group is associated with a range of endurance metrics. In response to a write command specifying a set of write data, the method further includes writing the write data to the non-volatile memory by writing in parallel subsets of the write data to the one or more die assigned to a single die group of the plurality of die groups.
-
Citations
23 Claims
-
1. A method of managing a storage system that comprises a storage controller and non-volatile memory, the non-volatile memory comprising a plurality of die and each die comprising a plurality of subunits, the method comprising:
at the storage controller coupled with the non-volatile memory; for each of the plurality of die, obtaining an endurance metric; sorting the plurality of die into a plurality of die groups based on their corresponding endurance metrics, wherein each die group includes one or more die and each die group is associated with a corresponding range of endurance metrics, and wherein a plurality of the die groups each includes two or more die; storing a die group mapping in the storage controller that indicates which die are assigned to each die group of the plurality of die groups, wherein the storage controller includes a logical address to physical address mapping distinct from the die group mapping; and in response to a write command specifying a set of write data, writing the set of write data to the non-volatile memory by writing in parallel distinct respective subsets of the set of write data to distinct respective die assigned to a single die group of the plurality of die groups. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. 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 non-volatile memory comprising a plurality of die, each die comprising a plurality of subunits; and a storage controller memory storing instructions, which, when executed by the one or more processors, cause the storage controller to perform operations comprising; for each of the plurality of die, obtaining an endurance metric; sorting the plurality of die into a plurality of die groups based on their corresponding endurance metrics, wherein each die group includes one or more die and each die group is associated with a corresponding range of endurance metrics, and wherein a plurality of the die groups each includes two or more die; storing a die group mapping in the storage controller that indicates which die are assigned to each die group of the plurality of die groups, wherein the storage controller includes a logical address to physical address mapping distinct from the die group mapping; and in response to a write command specifying a set of write data, writing the set of write data to the non-volatile memory by writing in parallel distinct respective subsets of the set of write data to distinct respective die assigned to a single die group of the plurality of die groups. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage medium, storing one or more programs for execution by one or more processors of a storage controller communicatively coupled with non-volatile memory comprising a plurality of die and each die comprising a plurality of subunits, the one or more programs including instructions that when executed by the one or more processors cause the storage controller to:
-
for each of the plurality of die, obtain an endurance metric; sort the plurality of die into a plurality of die groups based on their corresponding endurance metrics, wherein each die group includes one or more die and each die group is associated with a corresponding range of endurance metrics, and wherein a plurality of the die groups each includes two or more die; storing a die group mapping in the storage controller that indicates which die are assigned to each die group of the plurality of die groups, wherein the storage controller includes a logical address to physical address mapping distinct from the die group mapping; and in response to a write command specifying a set of write data, write the set of write data to the non-volatile memory by writing in parallel distinct respective subsets of the set of write data to distinct respective die assigned to a single die group of the plurality of die groups. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification