Utilizing a flash memory drive which includes single-level cell flash memory and multi-level cell flash memory
AssigneeEMC IP Holding Company LLC
InventorsBo Wu, Guangliang Lei, Scott David Von Rhee
Life of this patent
Estimating the term…
Abstract
A technique manages data in a flash memory drive which includes single-level cell (SLC) flash memory and multi-level cell (MLC) flash memory. The technique involves performing, within the flash memory drive, data placement operations on data which has been written to the flash memory drive. The technique further involves, based on the data placement operations, storing hot data in the SLC flash memory. The technique further involves, based on the data placement operations, storing cold data in the MLC flash memory, the hot data being accessed more frequently than the cold data. Such hot data and cold data can be distinguished based on access frequency.
Claims20
In a flash memory drive which includes single-level cell (SLC) flash memory and multi-level cell (MLC) flash memory, a method of managing data, the method comprising:
- within the flash memory drive, performing data placement operations on data which has been written to the flash memory drive;
- based on the data placement operations, storing hot data in the SLC flash memory;
- and
- based on the data placement operations, storing cold data in the MLC flash memory, the hot data being accessed more frequently than the cold data;
- wherein performing the data placement operations includes detecting existence of cold data in the SLC flash memory;
- wherein storing the cold data in the MLC flash memory includes, in response to detecting existence of the cold data in the SLC flash memory, moving the cold data from the SLC flash memory into the MLC flash memory;
- wherein the method further comprises:
- detecting occurrence of an idle time event within the flash memory drive;
- and
- wherein moving the cold data from the SLC flash memory into the MLC flash memory is performed in response to detection of the occurrence of the idle time event.
A flash memory drive, comprising:
- single-level cell (SLC) flash memory;
- multi-level cell (MLC) flash memory;
- and
- control circuitry coupled to the SLC flash memory and the MLC flash memory, the control circuitry being constructed and arranged to:
- perform data placement operations on data which has been written to the flash memory drive,
- based on the data placement operations, store hot data in the SLC flash memory, and
- based on the data placement operations, store cold data in the MLC flash memory, the hot data being accessed more frequently than the cold data;
- wherein the control circuitry, when performing the data placement operations, is constructed and arranged to detect existence of cold data in the SLC flash memory;
- wherein the control circuitry, when storing the cold data in the MLC flash memory, is constructed and arranged to, in response to detecting existence of the cold data in the SLC flash memory, move the cold data from the SLC flash memory into the MLC flash memory;
- wherein the control circuitry is further constructed and arranged to:
- detect occurrence of an idle time event within the flash memory drive;
- and
- wherein moving the cold data from the SLC flash memory into the MLC flash memory is performed in response to detection of the occurrence of the idle time event.
A data storage enclosure, comprising:
- a physical housing;
- a communications interface disposed within the physical housing;
- and
- a set of flash memory drives disposed within the physical housing and electronically coupled to the communications interface, each flash memory drive including:
- single-level cell (SLC) flash memory,
- multi-level cell (MLC) flash memory, and
- control circuitry coupled to the SLC flash memory and the MLC flash memory, the control circuitry being constructed and arranged to (i) perform data placement operations on data which has been written to the flash memory drive through the communications interface, (ii) based on the data placement operations, store hot data in the SLC flash memory, and (iii) based on the data placement operations, store cold data in the MLC flash memory, the hot data being accessed more frequently than the cold data;
- wherein the control circuitry, when performing the data placement operations, is constructed and arranged to detect existence of cold data in the SLC flash memory;
- wherein the control circuitry, when storing the cold data in the MLC flash memory, is constructed and arranged to, in response to detecting existence of the cold data in the SLC flash memory, move the cold data from the SLC flash memory into the MLC flash memory;
- wherein the control circuitry is further constructed and arranged to:
- detect occurrence of an idle time event within the flash memory drive;
- and
- wherein moving the cold data from the SLC flash memory into the MLC flash memory is performed in response to detection of the occurrence of the idle time event.
Dependencies are inferred from the claim text.