This disclosure relates to storage systems and, more specifically, to the architecture of storage systems that utilize nonvolatile memory storage media. Still more particularly, the present disclosure relates to data placement and migration techniques that facilitate more efficient integration and utilization of nonvolatile memory, especially flash-based storage, in heterogeneous storage systems.

BACKGROUND

Storage systems, from embedded to datacenter, utilize storage media to store user data written to the system and to retrieve that data on a user's request. Storage systems can be homogeneous, built from the uniform storage media with the same access and/or endurance characteristics, or heterogeneous, comprising multiple media types as distinguished by their latency, throughput, endurance or other performance factors. Media of the same type in such a system are organized in tiers, with each tier characterized by its underlying media type-specific features. The different media characteristics in heterogeneous systems can provide advantages that are leveraged during system operation. For example, in personal computer systems, dynamic random access memory (“DRAM”) provides very quick access but does not retain data once power is removed, whereas a hard disk drive (“HDD”) provides relatively slow access compared to DRAM but retains data once power is removed; many systems will therefore use DRAM as “active memory” to provide for quick data retrieval and storage of frequently used data while the computer is in active use, while data which is less frequently used (and all data to be retained when such systems are shut down) is committed to the HDD. However, because of different access latencies and management requirements can affect pipelining, which is directly tied to speed of operation in many systems, it is typically desired to place data intelligently (i.e., to deliberately select an appropriate “tier” for storing data in a heterogeneous system); for example, data that is mostly read and is not frequently overwritten such as audio files can be placed in relatively slow access memory (such as a HDD or other nonvolatile memory) while data that is frequently overwritten can be placed in DRAM or other fast access volatile memory.

What is needed are techniques for more efficiently managing operation of nonvolatile memory. Still more particularly, what is needed are techniques for more efficiently managing memory in a heterogeneous memory system. The present invention addresses these needs and provides further, related advantages.

