Utilizing a flash memory drive which includes single-level cell flash memory and multi-level cell flash memory

US10854290B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10854290-B1
Application numberUS-201514751507-A
CountryUS
Kind codeB1
Filing dateJun 26, 2015
Priority dateJun 26, 2015
Publication dateDec 1, 2020
Grant dateDec 1, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. 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. 2. A method as in claim 1 wherein performing the data placement operations includes detecting existence of hot data in the SLC flash memory; and wherein storing the hot data in the SLC flash memory includes, in response to detecting existence of the hot data in the SLC flash memory, maintaining placement of the hot data in the SLC flash memory. 3. A method as in claim 1 wherein detecting the existence of the cold data in the SLC flash memory includes: identifying the existence of the cold data in the SLC flash memory based on access frequency. 4. A method as in claim 1 wherein detecting the existence of the cold data in the SLC flash memory includes: identifying the existence of the cold data in the SLC flash memory based on most recent access time. 5. A method as in claim 1 wherein performing the data placement operations further includes detecting existence of hot data in the MLC flash memory; and wherein storing the hot data in the SLC flash memory includes, in response to detecting the existence of the hot data in the MLC flash memory, moving the hot data from the MLC flash memory into the SLC flash memory. 6. A method as in claim 5 wherein performing the data placement operations further includes detecting existence of cold data in the MLC flash memory; and wherein storing the cold data in the MLC flash memory includes, in response to detecting the existence of the cold data in the MLC flash memory, maintaining placement of the cold data in the MLC flash memory. 7. A method as in claim 5 wherein moving the hot data from the MLC flash memory into the SLC flash memory is performed in response to detection of the occurrence of the idle time event. 8. A method as in claim 5 wherein detecting the existence of the hot data in the MLC flash memory includes: identifying the existence of the hot data in the MLC flash memory based on access frequency. 9. A method as in claim 5 wherein detecting the existence of the hot data in the MLC flash memory includes: identifying the existence of the hot data in the MLC flash memory based on most recent access time. 10. A method as in claim 1 wherein the data written to the flash memory drive is initially saved in the SLC flash memory; and wherein performing the data placement operations includes labeling data as hot data and cold data while the data is initially saved in the SLC flash memory. 11. A method as in claim 1 wherein the flash memory drive further includes a dynamic random access memory (DRAM) cache; wherein the data written to the flash memory drive is initially cached in the DRAM cache; and wherein performing the data placement operations includes labeling data as hot data and cold data while the data is initially cached in the DRAM cache. 12. 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. 13. A flash memory drive as in claim 12 wherein the control circuitry, when performing the data placement operations, is further constructed and arranged to detect existence of hot data in the MLC flash memory; and wherein the control circuitry, when storing the hot data in the SLC flash memory, is constructed and arranged to, in response to detecting the existence of the hot data in the MLC flash memory, move the hot data from the MLC flash memory into the SLC flash memory. 14. A flash memory drive as in claim 12 wherein the control circuitry, when performing the data placement operations, is further constructed and arranged to detect existence of hot data in the MLC flash memory; and wherein the control circuitry, when storing the hot data in the SLC flash memory, is constructed and arranged to, in response to (i) detecting the existence of the hot data in the MLC flash memory and (ii) the idle time event, move the hot data from the MLC flash memory into the SLC flash memory. 15. A flash memory drive as in claim 14 wherein the data written to the flash memory drive is initially saved in the SLC flash memory; and wherein the control circuitry, when performing the data placement operations, is constructed and arranged to label data as hot data and cold data while the data initially resides in the SLC flash memory. 16. A flash memory drive as in claim 14 , further comprising: a dynamic random access memory (DRAM) cache coupled to the control circuitry; wherein the data written to the flash memory drive is initially cached in the DRAM cache; and wherein the control circuitry, when performing the data placement operations, is constructed and arranged to label data as hot data and cold data while the data is initially cached in the DRAM cache. 17. 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

Assignees

Inventors

Classifications

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Capacity control, e.g. partitioning, end-of-life degradation · CPC title

  • Power efficiency · CPC title

  • Cleaning, compaction, garbage collection, erase control · CPC title

  • Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10854290B1 cover?
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…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G11C11/5628. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 01 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).