Techniques for data migration based on per-data metrics and memory degradation
First Claim
1. A memory controller integrated circuit to control nonvolatile memory, comprising:
- an interface to receive commands from a host;
logic to update metadata values for respective logical addresses corresponding to data stored in the nonvolatile memory in response to data access operations commanded by the host, to identify a subset of the one or more of the metadata values which meet at least one criterion and, in response to identification of the one or more metadata values which meet the at least one criterion, to transmit to the host a notification; and
logic to maintain wear information associated with independently erasable units of physical memory locations in the nonvolatile memory, and to identify at least one of the independently erasable units dependent on the respective wear information as a candidate relocation target destination in which to relocate data within the nonvolatile memory which corresponds to a specific logical address to a different physical storage location, the data corresponding to the specific logical address selected dependent on the subset;
wherein each metadata value represents at least one of prior read of data associated with a corresponding one of the logical addresses, frequency of read of the data associated with the corresponding one of the logical addresses, age since last write of the data associated with the corresponding one of the logical addresses, or frequency of write of the data associated with the corresponding one of the logical addresses;
wherein the memory controller integrated circuit is to receive a command from the host to move the data corresponding to the specific logical address in response to the notification to the host; and
wherein the memory controller integrated circuit comprises logic to execute the move of the data corresponding to the specific logical address to the candidate relocation target destination in response to the command to move.
2 Assignments
0 Petitions
Accused Products
Abstract
This disclosure provides techniques for managing memory which match per-data metrics to those of other data or to memory destination. In one embodiment, wear data is tracked for at least one tier of nonvolatile memory (e.g., flash memory) and a measure of data persistence (e.g., age, write frequency, etc.) is generated or tracked for each data item. Memory wear management based on these individually-generated or tracked metrics is enhanced by storing or migrating data in a manner where persistent data is stored in relatively worn memory locations (e.g., relatively more-worn flash memory) while temporary data is stored in memory that is less worn or is less susceptible to wear. Other data placement or migration techniques are also disclosed.
159 Citations
32 Claims
-
1. A memory controller integrated circuit to control nonvolatile memory, comprising:
-
an interface to receive commands from a host; logic to update metadata values for respective logical addresses corresponding to data stored in the nonvolatile memory in response to data access operations commanded by the host, to identify a subset of the one or more of the metadata values which meet at least one criterion and, in response to identification of the one or more metadata values which meet the at least one criterion, to transmit to the host a notification; and logic to maintain wear information associated with independently erasable units of physical memory locations in the nonvolatile memory, and to identify at least one of the independently erasable units dependent on the respective wear information as a candidate relocation target destination in which to relocate data within the nonvolatile memory which corresponds to a specific logical address to a different physical storage location, the data corresponding to the specific logical address selected dependent on the subset; wherein each metadata value represents at least one of prior read of data associated with a corresponding one of the logical addresses, frequency of read of the data associated with the corresponding one of the logical addresses, age since last write of the data associated with the corresponding one of the logical addresses, or frequency of write of the data associated with the corresponding one of the logical addresses; wherein the memory controller integrated circuit is to receive a command from the host to move the data corresponding to the specific logical address in response to the notification to the host; and wherein the memory controller integrated circuit comprises logic to execute the move of the data corresponding to the specific logical address to the candidate relocation target destination in response to the command to move. - View Dependent Claims (2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 27, 28)
-
-
7. A memory controller integrated circuit to control flash memory, comprising:
-
an interface to receive commands from a host; logic to update metadata values for respective pages of data stored in the flash memory in response to data access operations commanded by the host, each page of data being associated with a respective logical address, to identify one or more of the pages of data corresponding to a subset of the metadata values which meet at least one criterion and, in response to identification of the one or more of the respective pages of data, to transmit to the host a notification; and logic to maintain wear information associated with independent erase units (EUs) of the flash memory, each EU representing physical storage locations within the flash memory, and to identify at least one of the EUs dependent on the respective wear information as a candidate relocation target destination in which to relocate data within the flash memory which corresponds to a specific logical address, the data corresponding to the specific logical address selected dependent on the subset; wherein each metadata value represents at least one of prior read of a corresponding one of the respective pages of data, frequency of read of the corresponding one of the respective pages of data, age since last write of the corresponding one of the respective pages of data, or frequency of write of the corresponding one of the respective pages of data; wherein the memory controller integrated circuit is to receive a command from the host to move data corresponding to the specific logical address in response to the notification to the host; and wherein the memory controller integrated circuit comprises logic to execute the move of the data corresponding to the specific logical address to the candidate relocation target destination in response to the command to move. - View Dependent Claims (8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 29, 30)
-
-
26. A storage drive, comprising:
-
flash memory; a memory controller integrated circuit to control the flash memory, the memory controller integrated circuit comprising an interface to receive commands from a host, logic to update metadata values for respective pages of data stored in the flash memory in response to data access operations commanded by the host, each of the pages of data corresponding to a respective logical address, to identify one or more of the pages of data corresponding to a subset of the metadata values which meet at least one criterion and, in response to identification of the one or more of the respective pages of data, to transmit to the host a notification, and logic to maintain wear information associated with independent erase units (EUs) of the flash memory, each EU representing physical storage locations in said flash memory, and to identify at least one of the EUs dependent on the respective wear information as a candidate relocation target destination in which to relocate data corresponding to a specific logical address, the data corresponding to the specific logical address selected dependent on the subset, wherein each metadata value represents at least one of prior read of a corresponding one of the respective pages of data, frequency of read of the corresponding one of the pages of data, age since last write of the corresponding one of the respective pages of data, or frequency of write of the corresponding one of the pages of data, wherein the memory controller integrated circuit is to receive a command from the host to move the data corresponding to the specific logical address in response to the notification to the host, and wherein the memory controller integrated circuit comprises logic to execute the move of the data corresponding to the specific logical address to the candidate relocation target destination in response to the command to move. - View Dependent Claims (31, 32)
-
Specification