Techniques for directed data migration
First Claim
1. A memory controller integrated circuit to control flash memory, the flash memory having a plurality of storage locations disposed within structural elements of the flash memory, the memory controller integrated circuit comprising:
- a host interface to receive write commands, data to be written into the nonvolatile memory in association with respective ones of the write commands, and back reference information associated with the respective data, wherein each one of the write commands is accompanied by a respective address, the respective address to determine one of the structural elements to serve as destination for respective data;
circuitry to store the back reference information in a manner indexed to at least one of a portion of the respective address or the destination in which the respective data is stored;
a memory interface to transmit data to the flash memory for storage therein in response to the write commands;
circuitry to transfer move data from a storage location in a given one of the structural elements in the flash memory to a storage destination outside of the given one in association with a flash memory maintenance operation;
circuitry to retrieve back reference information respective to the move data and to transmit the retrieved back reference information to a host;
wherein the memory controller integrated circuit is not to transfer to the host the move data in association with the transfer to the storage destination; and
wherein the retrieved back reference information transmitted to the host comprises data which identifies to the host at least one level of indirection used by the host to identify the respective address given a base reference used by the host to access the respective data corresponding to the back reference information.
2 Assignments
0 Petitions
Accused Products
Abstract
A host stores “context” metadata for logical block addresses (LBAs) in a manner tied to physical location. Notwithstanding log-structured or copy on write processes, the host is then provided with immediate context when the host is called upon to assist a memory controller with data identified by physical location, for example, for memory reconfiguration, garbage collection, wear leveling or other processes. The metadata for example can provide the host with insight as to which data may be moved to enhance performance optimization and where that data can be placed. In one embodiment, the host writes back one or more references that span multiple layers of indirection in concert with write of the underlying data; in another embodiment, the context can point to other metadata.
-
Citations
23 Claims
-
1. A memory controller integrated circuit to control flash memory, the flash memory having a plurality of storage locations disposed within structural elements of the flash memory, the memory controller integrated circuit comprising:
-
a host interface to receive write commands, data to be written into the nonvolatile memory in association with respective ones of the write commands, and back reference information associated with the respective data, wherein each one of the write commands is accompanied by a respective address, the respective address to determine one of the structural elements to serve as destination for respective data; circuitry to store the back reference information in a manner indexed to at least one of a portion of the respective address or the destination in which the respective data is stored; a memory interface to transmit data to the flash memory for storage therein in response to the write commands; circuitry to transfer move data from a storage location in a given one of the structural elements in the flash memory to a storage destination outside of the given one in association with a flash memory maintenance operation; circuitry to retrieve back reference information respective to the move data and to transmit the retrieved back reference information to a host; wherein the memory controller integrated circuit is not to transfer to the host the move data in association with the transfer to the storage destination; and wherein the retrieved back reference information transmitted to the host comprises data which identifies to the host at least one level of indirection used by the host to identify the respective address given a base reference used by the host to access the respective data corresponding to the back reference information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A memory controller integrated circuit to control flash memory, the flash memory having a plurality of storage locations disposed within structural elements of the flash memory, the memory controller integrated circuit comprising:
-
a host interface to receive write commands, data to be written into the nonvolatile memory in association with respective ones of the write commands, and back reference information associated with respective data, wherein each one of the write commands is accompanied by a respective address, the respective address to determine one of the structural elements to serve as a destination for the data associated with the one of the write commands; circuitry to store the back reference information in a manner indexed to at least one of a portion of the respective address or the destination in which the respective data is stored; a memory interface to transmit data to the flash memory for storage therein in response to the write commands; circuitry to transfer move data from a storage location in a given one of the structural elements in the flash memory to a storage destination outside of the given one in association with a flash memory maintenance operation; and circuitry to retrieve back reference information respective to the move data and to transmit the retrieved back reference information to a host; wherein the memory controller integrated circuit is not to transfer the move data to the host in association with the transfer of the move data to the storage destination, the storage destination outside of the given one is a storage location in another one of the structural elements, and the retrieved back reference information transmitted to the host comprises data which identifies to the host at least one level of indirection used by the host to identify the respective address given a base reference used by the host to access the respective data corresponding to the back reference information. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A memory controller integrated circuit to control flash memory, the flash memory having a plurality of storage locations disposed within structural elements of the flash memory, the memory controller integrated circuit comprising:
-
a host interface to receive write commands, data to be written into the nonvolatile memory in association with respective ones of the write commands, and back reference information associated with respective data, wherein each one of the write commands is accompanied by a respective address, the respective address to determine one of the structural elements to serve as a destination for the data associated with the one of the write commands; circuitry to store the back reference information in a manner indexed to at least one of a portion of the respective address or the destination in which the respective data is stored; a memory interface to transmit data to the flash memory for storage therein in response to the write commands; circuitry to transfer move data from a storage location in a given one of the structural elements in the flash memory to a storage destination outside of the given one in association with a flash memory maintenance operation; and circuitry to retrieve back reference information respective to the move data and to transmit the retrieved back reference information to a host; wherein the memory controller integrated circuit is not to transfer the move data to the host, in association with the transfer to the storage destination, the flash memory comprises a first storage drive to be controlled by said memory controller integrated circuit, said storage destination comprises a storage location in another storage drive that is not to be controlled by said memory controller integrated circuit, and the back reference information comprises information sufficient to identify a forward reference identification of the respective data, said forward reference identification adapted to span multiple layers of indirection, relative to a file system of the host, and the retrieved back reference information transmitted to the host comprises data which identifies to the host at least one level of indirection used by the host to identify the respective address given a base reference used by the host to access the respective data corresponding to the back reference information. - View Dependent Claims (23)
-
Specification