EXTENDING USEFUL LIFE OF A NON-VOLATILE MEMORY BY HEALTH GRADING
First Claim
1. A method in a data storage system including a non-volatile memory array controlled by a controller, the method comprising:
- for each of a plurality of regions of physical memory in the memory array, the controller determining an associated health grade among a plurality of health grades and recording the associated health grade;
the controller establishing a mapping between access heat and the plurality of health grades;
in response to a write request specifying an address, the controller selecting a region of physical memory to service the write request from a pool of available regions of physical memory based on an access heat of the address and the mapping; and
the controller writing data specified by the write request to the selected region of physical memory.
1 Assignment
0 Petitions
Accused Products
Abstract
In at least one embodiment, a controller of a non-volatile memory array determines, for each of a plurality of regions of physical memory in the memory array, an associated health grade among a plurality of health grades and records the associated health grade. The controller also establishes a mapping between access heat and the plurality of health grades. In response to a write request specifying an address, the controller selects a region of physical memory to service the write request from a pool of available regions of physical memory based on an access heat of the address and the mapping and writes data specified by the write request to the selected region of physical memory.
-
Citations
19 Claims
-
1. A method in a data storage system including a non-volatile memory array controlled by a controller, the method comprising:
-
for each of a plurality of regions of physical memory in the memory array, the controller determining an associated health grade among a plurality of health grades and recording the associated health grade; the controller establishing a mapping between access heat and the plurality of health grades; in response to a write request specifying an address, the controller selecting a region of physical memory to service the write request from a pool of available regions of physical memory based on an access heat of the address and the mapping; and the controller writing data specified by the write request to the selected region of physical memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data storage system, comprising:
a controller configured to be coupled to a non-volatile memory array, wherein the controller determines, for each of a plurality of regions of physical memory in the memory array, an associated health grade among a plurality of health grades and records the associated health grade, and wherein the controller establishes a mapping between access heat and the plurality of health grades and, in response to a write request specifying an address, selects a region of physical memory to service the write request from a pool of available regions of physical memory based on an access heat of the address and the mapping, and writes data specified by the write request to the selected region of physical memory. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
14. A program product, comprising:
-
a storage device; and program code stored in the storage device, wherein the program code, when executed by a controller that controls a non-volatile memory array of a data storage system, causes the controller to perform; for each of a plurality of regions of physical memory in the memory array, determining an associated health grade among a plurality of health grades and recording the associated health grade; establishing a mapping between access heat and the plurality of health grades; in response to a write request specifying an address, selecting a region of physical memory to service the write request from a pool of available regions of physical memory based on an access heat of the address and the mapping; and writing data specified by the write request to the selected region of physical memory. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification