CN105808156B - Method for writing data into solid state disk and solid state disk - Google Patents

Method for writing data into solid state disk and solid state disk Download PDF

Info

Publication number
CN105808156B
CN105808156B CN201410852946.0A CN201410852946A CN105808156B CN 105808156 B CN105808156 B CN 105808156B CN 201410852946 A CN201410852946 A CN 201410852946A CN 105808156 B CN105808156 B CN 105808156B
Authority
CN
China
Prior art keywords
data
area
written data
nvm
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410852946.0A
Other languages
Chinese (zh)
Other versions
CN105808156A (en
Inventor
吴黎明
黄斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410852946.0A priority Critical patent/CN105808156B/en
Priority to CN202010311530.3A priority patent/CN111638852A/en
Priority to PCT/CN2015/098109 priority patent/WO2016107442A1/en
Publication of CN105808156A publication Critical patent/CN105808156A/en
Application granted granted Critical
Publication of CN105808156B publication Critical patent/CN105808156B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Abstract

The embodiment of the invention provides a method for writing data into a solid state disk and the solid state disk. The SSD comprises a controller and a memory, wherein a storage medium of the memory comprises a NAND Flash and an NVM, and the NVM comprises a writing area. The method comprises the following steps: receiving a write operation request, wherein the write operation request comprises pre-written data; determining that pre-written data is not stored in the write area; write the pre-write data to the write area. According to the embodiment of the invention, the pre-written data is written into the writing area of the NVM, so that the access to the NAND Flash can be reduced, namely the access frequency of the NAND Flash in the SSD is reduced, and the abrasion to the NAND Flash is reduced; moreover, due to the non-volatile characteristic of the NVM, data stored in the NVM is not lost when power is lost, so that the SSD does not need a capacitor to provide backup power when power supply is interrupted. For the above reasons, the service life of the SSD according to the embodiment of the present invention is increased.

Description

Method for writing data into solid state disk and solid state disk
Technical Field
The embodiment of the invention relates to a storage technology, in particular to a method for writing data into a solid state disk and the solid state disk.
Background
Solid State Drives (SSD), fixed disk for short, are widely used in servers, desktop computers, notebooks, mobile devices, game machines, etc.
As shown in fig. 1, the SSD 10 mostly employs a semiconductor NAND Flash14 as a storage medium of the memory; and provide backup power through the capacitor 15 to avoid the data in the memory 13 from being lost when power is lost; the controller 12 receives a read/write operation request from the host 11 and reads and writes the memory 13 or the NAND Flash 14.
In the prior art, when the read-write operation request is for the NAND Flash14, the data corresponding to the read operation request is read from the NAND Flash14 to the memory 13 through the memory 13 as an intermediary, and then returned to the host 11; or, the data corresponding to the write operation request is written into the memory 13 first, and then is transferred to the NAND Flash 14. Thus, if the data corresponding to the write operation request cached in the memory 13 is not transferred to the NAND Flash14, the power supply is interrupted, and the capacitor 15 is required to provide the backup power to write the data in the memory 13 to the NAND Flash 14.
However, based on historical data statistics, NAND Flash and capacitors are the main sources of failure for SSDs. Therefore, in the SSD, the existence of the capacitor and the excessive reading and writing to the NAND Flash may result in a short service life of the SSD.
Disclosure of Invention
The embodiment of the invention provides a method for writing data into a solid state disk and the solid state disk, so that the service life of an SSD is prolonged, and the reliability of the SSD is improved.
In a first aspect, an embodiment of the present invention provides a method for writing data into a solid state disk SSD, where the SSD includes a controller and a memory, a storage medium of the memory includes a NAND Flash and a nonvolatile memory NVM, and the NVM includes a write area, where the method includes:
receiving a write operation request, wherein the write operation request comprises pre-written data;
determining that the pre-written data is not stored in the write area;
writing the pre-written data to the write area.
According to the first aspect, in a first possible implementation manner of the first aspect, the method further includes:
judging whether the pre-written data is stored in the NAND Flash or not;
and if the pre-written data is stored in the NAND Flash, setting the page storing the pre-written data in the NAND Flash as invalid.
According to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, after the writing the pre-written data into the write area, the method further includes:
and storing a mapping relation, wherein the mapping relation comprises a corresponding relation between the logic address of the pre-written data and the position of the pre-written data written in the writing area.
According to the first aspect and any one of the first to second possible implementation manners of the first aspect, in a third possible implementation manner of the first aspect, the method further includes:
judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not;
and when the accessed frequency of the pre-written data reaches the preset threshold value, migrating the pre-written data to the read area.
According to the first aspect and any one of the first to third possible implementation manners of the first aspect, in a fourth possible implementation manner of the first aspect, the method further includes:
judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value or not;
and when the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to the read area of the NVM.
In a second aspect, an embodiment of the present invention provides a method for writing data into a solid state disk SSD, where the SSD includes a controller and a memory, a storage medium of the memory includes a NAND Flash and a non-volatile memory NVM, and the NVM includes a write area and a read area, where the method includes:
receiving a write operation request, wherein the write operation request comprises pre-written data;
determining that the pre-written data has been stored in the read region;
migrating the pre-written data in the read area to the write area.
According to the second aspect, in a first possible implementation manner of the second aspect, after the migrating the pre-written data in the read area to the write area, the method further includes:
updating a first mapping relationship to be a second mapping relationship, where the first mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the read area, and the second mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the write area.
According to the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the method further includes:
judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not;
and when the accessed frequency of the pre-written data reaches the preset threshold value, migrating the pre-written data to the read area.
According to the second aspect and any one of the first to second possible implementation manners of the second aspect, in a third possible implementation manner of the second aspect, the method further includes:
judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value or not;
and when the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to the read area of the NVM.
According to the second aspect and any one of the first to third possible implementation manners of the second aspect, in a fourth possible implementation manner of the second aspect, the NVM further includes a free area, and after the pre-write data in the read area is migrated to the write area, the method further includes:
and in the idle area, adjusting N pages from the pages reserved for the writing area to the reading area, wherein N is the number of pages corresponding to the pre-written data.
In a third aspect, an embodiment of the present invention provides a solid state disk SSD, which includes a controller and a memory, a storage medium of the memory includes a NAND Flash and a nonvolatile memory NVM, the NVM includes a write area, wherein,
the controller is used for receiving a write operation request, and the write operation request comprises pre-written data; determining that the pre-written data is not stored in the write area; writing the pre-written data into the writing area;
the write area is used for storing the pre-written data.
According to the third aspect, in a first possible implementation manner of the third aspect, the controller is further configured to:
judging whether the pre-written data is stored in the NAND Flash or not;
and if the pre-written data is stored in the NAND Flash, setting the page storing the pre-written data in the NAND Flash as invalid.
According to the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect, the controller is further configured to:
and storing a mapping relation, wherein the mapping relation comprises a corresponding relation between a logic address of pre-written data and a position of the pre-written data written in the writing area.
According to the third aspect and any one of the first to second possible implementation manners of the third aspect, in a third possible implementation manner of the third aspect, the controller is further configured to:
judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not;
and when the accessed frequency of the pre-written data reaches the preset threshold value, migrating the pre-written data to the read area.
According to the third aspect and any one of the first to third possible implementation manners of the third aspect, in a fourth possible implementation manner of the third aspect, the controller is further configured to:
judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value or not;
and when the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to the read area of the NVM.
In a fourth aspect, an embodiment of the present invention provides a solid state disk SSD, which includes a controller and a memory, a storage medium of the memory includes a NAND Flash and a nonvolatile memory NVM, the NVM includes a write area and a read area, wherein,
the controller is used for receiving a write operation request, and the write operation request comprises pre-written data; determining that the pre-written data has been stored in the read region; and migrating the pre-written data in the read area to the write area.
According to a fourth aspect, in a first possible implementation manner of the fourth aspect, the controller is further configured to:
updating a first mapping relationship to be a second mapping relationship, where the first mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the read area, and the second mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the write area.
In a second possible implementation manner of the fourth aspect, according to the fourth aspect or the first possible implementation manner of the fourth aspect, the controller is further configured to:
judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not;
and when the accessed frequency of the pre-written data reaches the preset threshold value, migrating the pre-written data to the read area.
According to the fourth aspect and any one of the first to the second possible implementation manners of the fourth aspect, in a third possible implementation manner of the fourth aspect, the controller is further configured to:
judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value or not;
and when the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to the read area of the NVM.
According to the fourth aspect and any one of the first to third possible implementation manners of the fourth aspect, in a fourth possible implementation manner of the fourth aspect, the NVM further includes a free area, and the controller is further configured to:
and in the idle area, adjusting N pages from the pages reserved for the writing area to the reading area, wherein N is the number of pages corresponding to the pre-written data.
The embodiment of the invention provides a method for writing data into a solid state disk and the solid state disk, and pre-written data is written into a writing area of an NVM (non volatile memory), so that access to NAND Flash can be reduced, namely the access frequency of the NAND Flash in an SSD (solid state disk) is reduced, and the abrasion to the NAND Flash is reduced; moreover, due to the non-volatile characteristic of the NVM, data stored in the NVM is not lost when power is lost, so that the SSD does not need a capacitor to provide backup power when power supply is interrupted. For the above reasons, the service life of the SSD according to the embodiment of the present invention is increased.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
FIG. 1 is a schematic diagram of an application scenario of a prior art SSD;
FIG. 2 is a schematic diagram of data stored in a memory cell of an SLC;
FIG. 3 is a schematic diagram of data stored in a memory cell of an MLC;
FIG. 4 is a schematic diagram of an SSD in accordance with the present invention;
FIG. 5 is a diagram of an exemplary structure of an NVM in an SSD in accordance with the present invention;
FIG. 6 is a flowchart of a first embodiment of a method for writing data to an SSD according to the present invention;
FIG. 7 is a flowchart of a second embodiment of a method for writing data to an SSD according to the present invention;
FIG. 8 is a diagram illustrating an example of a mapping relationship in an embodiment of the invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the prior art, NAND Flash is a physical medium for actually storing data in SSD. The NAND Flash includes Single Level Cell (SLC), multi-Level Cell (MLC), and Triple Level Cell (TLC). In the enterprise-level storage area, SLC and MLC are mainly used. TLC media have low erasure counts and are currently used primarily in consumer grade electronics.
SLC technology is characterized by a thinner oxide film between the floating gate and the source, and by applying a voltage to the charge on the floating gate and then passing through the source during data writing, the stored charge can be erased, and by this means, 1 cell can be stored, which provides fast programming and reading. However, this technique is limited by Silicon efficiency (Silicon efficiency), and an advanced process enhancement technique is required to improve the SLC processing technique.
The SLC stores 1-bit data in each memory cell, and whether the stored data is "0" or "1" is determined based on a voltage threshold. For the writing, i.e. programming, of the NAND Flash, that is, charging the NAND Flash, so that the voltage of the NAND Flash exceeds the voltage determination point a shown in fig. 2, the memory cell represents "0", i.e. written; if there is no charge or the voltage threshold is below voltage decision point A, a "1" is indicated, i.e., erased, with the horizontal axis representing voltage in FIG. 2.
The successful MLC was first developed by intel corporation in 1997, 9 months, and its function is to store two units of information into a Floating Gate (english), and then use the charges with different potentials to control the accurate reading and writing through the voltage stored in the memory. MLC stores two bits of data per cell by using a large number of voltage levels, and the data density is large. SLC stores two values, 0 and 1, while MLC can store more than 4 values at a time. Thus, MLC has a relatively high storage density.
As shown in fig. 3, the MLC stores 2 bits of data in each memory cell, and the stored data is "00", or "01", or "10", or "11" is also based on the determination of the voltage threshold. When the voltage is less than voltage decision point B, it represents "11"; when the voltage is between voltage decision point B and voltage decision point C, it represents "10"; voltage between voltage decision point C and voltage decision point D, then represents "01"; and the voltage reaches the voltage determination point D or more, it indicates "00".
One memory cell of TLC can store 3 bits, so 8 levels of potential are needed for encoding and decoding. Essentially, TLC belongs to MLC.
Currently, research efforts regarding new storage media are underway, and various new technologies or new types of storage media are emerging. Examples of the new storage medium include Phase Change Random Access Memory (PCRAM/PCM), Magnetoresistive Random Access Memory (MRAM), Resistive Random Access Memory (RRAM/ReRAM), spin transfer torque Random Access Memory (STT-RAM), and the like, which are not limited by the present invention.
These new types of storage media mentioned above belong to the non-volatile storage media (NVM). In the foreseeable future, NANDFlash will exist as the primary storage medium for a long time based on the considerations of protecting existing investments and costs. Meanwhile, the novel nonvolatile storage medium will gradually play an important role until gradually replacing NAND Flash. In this evolution, there may be situations where multiple media coexist on the same SSD.
For the above reasons, the embodiment of the present invention provides an SSD.
As shown in fig. 4, the SSD 40 includes a controller 42 and a memory whose storage media include a NAND Flash44 and an NVM 43.
The difference between the NVM and the normal memory is that the NVM media itself has the characteristic of not losing data when power is down. Based on this characteristic, the NVM has the following functional characteristics: caching writing, namely, completing a complete page in the NVM, and judging whether to transfer the page to the NAND Flash according to the accessed frequency of the page and the capacity of the NVM; the read is accelerated, migrating the data that is accessed frequently to NVM.
FIG. 5 illustrates region partitioning of an NVM. As shown in fig. 5, NVM 50 may include 4 logical regions: a metadata area 51, a read area 52, a write area 53, and a free area 54, which enable partition management of the NVM. The effect of each region is as follows:
a metadata area 51 for storing metadata of the SSD. For example, the metadata may be a mapping relationship, a First-in-First-out (FIFO) doubly linked list corresponding to the write operation, and the like.
The read area 52 is used for read acceleration, and pages in the SSD, which are accessed more frequently (i.e., read times) than or equal to a predetermined threshold, are migrated to the read area 52.
The write area 53 is written first for all write operations to the SSD. And eliminating after the area is full according to the strategy of least accessed frequency.
A free area 54, which is shared by the read area 52 and the write area 53, provides free pages for read or write operations, which are shared in proportion to the read area 52 and the write area 53.
It is added that the ratio of the write area and the read area in the NVM is adjustable. In general, the write region is much larger than the read region, and in particular, there may be only a write region and no read region in the NVM. In addition, different application scenarios have different requirements on the performance and the erasing times of the SSD. Therefore, based on the service life of the SSD, the performance of the SSD and the cost consideration, the SSD meeting the required erasing times can be configured according to the actual service requirements of the user, and a product with higher cost performance is provided for the user by allocating the matching proportion of the NVM and the NAND, so that the additional expenditure caused by over-configuration is avoided, and the resource utilization rate is improved.
Specifically, the controller 42 is configured to execute the technical solution protected by the following method embodiment, for example, the technical solution shown in fig. 6, to implement writing data into a write area of the NVM 43, where the write area is used for storing pre-written data. Among them, the NVM has the capability of addressing by Byte (Byte), writing data in bit (bit) units, and rewriting by bit.
As shown in fig. 6, an embodiment of the present invention provides a method of writing data to an SSD, which may be performed by a controller in the SSD. The method comprises the following steps:
s601, receiving a write operation request, wherein the write operation request comprises pre-written data.
S602, determining that the pre-written data is not stored in the writing area.
S603, writing the pre-written data into the writing area.
Specifically, all write operations to the SSD 40 are first written to the write area.
For the above-described pre-write data to be written to the SSD 40, the pre-write data may already be stored in the write area, and therefore, S602 is executed to first determine that the pre-write data is not stored in the write area.
According to the embodiment of the invention, the pre-written data is written into the writing area of the NVM, so that the access to the NAND Flash can be reduced, namely the access frequency of the NAND Flash in the SSD is reduced, and the abrasion to the NAND Flash is reduced; moreover, due to the non-volatile characteristic of the NVM, data stored in the NVM is not lost when power is lost, so that the SSD does not need a capacitor to provide backup power when power supply is interrupted. For the above reasons, the service life of the SSD according to the embodiment of the present invention is increased.
In the above embodiment, the method of writing data to the SSD may further include: judging whether the pre-written data is stored in NAND Flash; and if the pre-written data is stored in the NAND Flash, setting the page storing the pre-written data in the NAND Flash as invalid. The embodiment can avoid the waste of storage space caused by storing two identical data in the SSD.
Further, after S603, the method may further include: and storing a mapping relation, wherein the mapping relation comprises a corresponding relation between the logic address of the pre-written data and the position of the pre-written data written in the writing area. Referring also to fig. 4, according to the mapping relationship, the controller 42 can conveniently read and write the NVM 43 and the NAND Flash 44.
Since the read area of the NVM 43 is used for storing data with an access frequency (i.e. read times) higher than or equal to a preset threshold and the NAND Flash44 is used for storing data with an access frequency (i.e. read times) lower than a preset threshold, the method may further include: judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not; and when the accessed frequency of the pre-written data reaches a preset threshold value, migrating the pre-written data to the read area so as to migrate the pre-written data from the write area to the read area and accelerate the reading of the pre-written data.
Similarly, the method may further include: judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to a preset threshold value or not; when the accessed frequency of the page in the NAND Flash is greater than or equal to a preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to a reading area of the NVM so as to transfer the data from the NAND Flash to the reading area, accelerating the reading of the data, storing the frequently modified data and other hot data in the NVM by utilizing the time locality and the space locality of the data, and reducing the abrasion to the NAND Flash.
In addition, the controller 42 may also be used to perform the steps shown in FIG. 7. As shown in fig. 7, an embodiment of the present invention provides a method for writing data into an SSD, where the method includes:
s701, receiving a write operation request, wherein the write operation request comprises pre-written data.
S702, determining that the pre-written data is stored in the read area.
And S703, migrating the pre-written data in the reading area to the writing area.
Specifically, the node corresponding to the pre-written data in the second doubly linked list may be updated to the tail of the first doubly linked list. Each node in the first bidirectional linked list is used for storing the logical address of each page in the writing area; each node in the second doubly linked list is used for storing the logical address of each page in the read area. To implement mutual migration of data stored in the read and write regions in the NVM.
If the pre-written data is stored in the read area of the NVM, the pre-written data is migrated to the write area, and only the nodes in the read area are migrated to the write area in the specific implementation.
The embodiment of the invention transfers the pre-written data stored in the read area to the write area, the transfer only relates to two different areas in the NVM and is unrelated to the NAND Flash, therefore, the access to the NAND Flash can be reduced, namely, the access frequency of the NAND Flash in the SSD is reduced, thereby reducing the abrasion to the NAND Flash; moreover, due to the non-volatile characteristic of the NVM, data stored in the NVM is not lost when power is lost, so that the SSD does not need a capacitor to provide backup power when power supply is interrupted. For the above reasons, the service life of the SSD according to the embodiment of the present invention is increased.
In the above embodiment, after S703, the method may further include: and updating the first mapping relation to be the second mapping relation. The first mapping relation comprises a corresponding relation between the logical address of the pre-written data and the position of the pre-written data in the read area; the second mapping relationship includes a correspondence relationship between a logical address of the pre-written data and a position of the pre-written data in the write area. Referring also to fig. 4, according to the mapping relationship, the controller 42 can conveniently read and write the NVM 43 and the NAND Flash 44.
Since the read area of the NVM 43 is used for storing data with an access frequency (i.e. read times) higher than or equal to a preset threshold and the NAND Flash44 is used for storing data with an access frequency (i.e. read times) lower than the preset threshold, the method may further include: judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not; and when the accessed frequency of the pre-written data reaches a preset threshold value, migrating the pre-written data to the read area so as to migrate the pre-written data from the write area to the read area and accelerate the reading of the pre-written data.
Similarly, the method may further include: judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to a preset threshold value or not; when the accessed frequency of the page in the NAND Flash is greater than or equal to a preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to a reading area of the NVM so as to transfer the data from the NAND Flash to the reading area, accelerating the reading of the data, storing the frequently modified data and other hot data in the NVM by utilizing the time locality and the space locality of the data, and reducing the abrasion to the NAND Flash.
Further, the NVM 43 may further include a free area, and after S703, the method may further include: and in the free area, adjusting N pages from the pages reserved for the writing area to the reading area, wherein N is the number of pages corresponding to the pre-written data.
For the case where the pre-written data is stored in the SSD, the controller 42 needs to obtain the storage location to determine the subsequent operation. Specifically, the following application scenarios are described.
In the first application scenario, the pre-written data is already stored in NAND Flash in SSD. The application scenario includes at least two implementations.
In a first implementation, the pre-written data occupies a complete page in NAND Flash. At this time, the mapping relationship is updated, that is, the logical address of the pre-written data points to the position where the pre-written data is written in the write area. The mapping relationship comprises the corresponding relationship between the logical addresses and the physical addresses of all pages in the SSD.
In a second implementation, the pre-written data occupies an incomplete page in the NAND Flash. At this time, migrating data except for the part of the page corresponding to the pre-written data in the NAND flash, which is in the same range as the logical address of the pre-written data, to a writing area of the NVM; in the writing area, combining the written pre-written data and the data migrated to the writing area to form a new page; and then updating the pointing direction of the logical address of the pre-written data in the mapping relation to point to the address of the new page.
The two implementation modes are different in that: the first implementation mode is used for explaining that the size of the pre-written data is exactly integral multiple of the page in the NAND Flash, at the moment, the corresponding relation between the logical address and the physical address in the mapping relation only needs to be updated, and in the mapping relation, the corresponding relation between the logical address of the pre-written data and the physical address in the NVM is increased; the second implementation is used to explain processing when the size of the pre-written data is not an integer multiple of a page in NAND Flash.
For example, the size of the pre-written data is 4KB, and the pre-written data is already stored in the first page of NAND Flash, where the page size is 8KB, and the first page corresponds to a logical address and a physical address in the mapping relationship. When the pre-written data is written, migrating data except for a part of the first page in the same range as the logical address of the pre-written data to a writing area; in the writing area, combining the pre-written data and the data migrated to the writing area to form a new page; and then updating the orientation of the logical address of the pre-written data in the mapping relation preset mapping relation, so that the logical address points to the address of the new combined page.
Optionally, the address of the new page is saved to the tail of the first bi-directional linked list, and each node in the first bi-directional linked list is used for storing the logical address of each page in the write area.
Specifically, each node in the first doubly linked list is used to represent a page in the write region. The nodes are provided with a precursor pointer and a successor pointer, the precursor pointer points to the precursor node of the first bidirectional linked list, and the successor pointer points to the successor node of the first bidirectional linked list; in addition, the node also includes the logical address of the page. The size of the write area determines the number of nodes contained in the first doubly linked list. And recording the sequence of each page in the writing area by adopting the first bidirectional chain table, thereby facilitating the management of the writing area. For example, when data is written, the information of the corresponding page is inserted into the tail of the first doubly linked list; when eliminated, pages are selected from the head of the first doubly linked list.
In a second application scenario, the pre-write data is already stored in the write area of the NVM in the SSD. Under the application scene, the method at least comprises the following implementation modes: receiving a write operation request sent by a requester, wherein the write operation request comprises pre-written data; determining that the pre-written data is stored in a writing area; the pre-written data is rewritten at a position where the pre-written data is stored in the writing area.
And adjusting the node corresponding to the pre-written data in the first bidirectional linked list to the tail part of the first bidirectional linked list. In the application scenario, internal migration of data stored in the write area is realized. And if the pre-written data is stored in the writing area, migrating the nodes corresponding to the pre-written data in the first bidirectional linked list to the tail part of the first bidirectional linked list.
Optionally, after S603, the method may further include: and storing the address of the page corresponding to the pre-written data to the tail part of the first bidirectional linked list.
Updating the count of written pages in the NVM according to the number of pages corresponding to the pre-written data; if the judgment count is larger than or equal to the first threshold value, transferring the pages with the first threshold value number from the NVM to the NAND Flash so as to realize that the NVM has enough space for writing new data and/or transferring data stored in other areas in the SSD and realize the dynamic adjustment of the data stored in the SSD.
Particularly, before the pre-written data is written into the writing area, if the writing area is judged to be full, the reading times of pages corresponding to a junction in the first bidirectional linked list are judged to be larger than or equal to a second threshold value from the head of the first bidirectional linked list, and then the data in the pages with the page number corresponding to the pre-written data are migrated to the reading area; and storing the address of the page corresponding to the data in the page in the read area to a second bidirectional linked list, wherein each node in the second bidirectional linked list is used for storing the logic address of each page in the read area. Similar to the writing area, the reading area corresponds to a second bidirectional linked list, and the structure of the second bidirectional linked list is the same as that of the first bidirectional linked list, which is not described herein again.
Before transferring the data in the page with the page number corresponding to the pre-written data to the read area, if the read area is judged to be full, or if the write area is judged to be full, starting from the head of the first bidirectional linked list, and judging that the reading frequency of the page corresponding to the junction in the first bidirectional linked list is smaller than a second threshold value, starting from the head of the second bidirectional linked list, transferring the data in the page with the page number corresponding to the pre-written data to the NAND Flash to update the data in the read area in real time, and when the storage space is insufficient, transferring the data with low accessed frequency to the NAND Flash in time, thereby further ensuring the performance of the SSD.
Meanwhile, accumulating the migration times corresponding to the NAND Flash; and if the migration times are judged to be larger than or equal to a third threshold value, selecting the pages with the number of the third threshold value from the NVM to migrate to the NAND Flash, wherein the selected pages are the pages with the number of the third threshold value from the head of the first bidirectional linked list corresponding to the writing area, and the third threshold value is determined by the proportion of the NVM and the NAND Flash in the SSD. The embodiment can balance the data stored in the NAND Flash and the NVM in the SSD, and avoid the waste of the storage space of the NAND Flash caused by the fact that all the data are stored in the NVM.
In the second application scenario, the pre-written data is already stored in the write area, and at this time, while overwriting, whether the storage space in each area in the NVM and the NAND Flash is sufficient is considered, and the data stored therein is adjusted according to the above description, so as to ensure that each storage medium in the SSD has sufficient space to meet the above requirements.
In summary, the data stored in the SSD is substantially stored in the NVM or the NAND Flash. Specifically, the NVM stores data that is accessed frequently, and the NAND Flash stores data that is accessed less frequently. The accessed frequency can be determined in various ways, for example, a preset threshold is set, the storage position of the data is obtained according to the comparison between the accessed frequency of the data and the preset threshold within a fixed time, and at this time, the accessed frequency of the page where the data is located is stored in the mapping relation; or the position of the page where the data is located in the above mapping relationship reflects the accessed frequency of the data, and so on, and the invention is not limited. The following is a reading of stored data in a SSD of the present invention in several specific embodiments.
On the basis of the above embodiment, the method may further include: and accumulating the reading times of the page where the pre-read data is located, wherein the mapping relation comprises the reading times of all pages in the SSD. In this embodiment, the accessed frequency of the data may be represented by the number of reads, and the number of reads is included in the preset mapping relationship. Alternatively, the accessed frequency of the data can be realized in other forms, which are not described in detail herein.
Wherein the mapping relationship can be represented in the form of a mapping table as shown in fig. 8. In fig. 8, each block represents a basic mapping unit, which is, for example, 4KB or 8KB in size. Correspondingly, a structure may be used to represent the fields corresponding to the preset mapping relationship. Wherein, the field corresponding to the single mapping relation comprises the physical address of NVM or NAND; an indication bit for indicating that the page to which the box corresponds is located in NVM or NAND, for example, the indication bit may be represented by one bit (bit) bit; and the read count of the page corresponding to that box. Note that the size of the page varies with the size of the page in the NAND. The size of a page in the prior art is typically 4KB/8KB, but the invention is not so limited.
In one embodiment, the physical address of the pre-read data is located in NAND Flash. After accumulating the number of reads of the page on which the pre-read data is located, the method may further include: and for each page where the pre-read data is located, if the reading times of the page where the pre-read data is located are judged to be larger than or equal to the second threshold value and the NVM has a free page, migrating the data in the page where the reading times are larger than or equal to the second threshold value to the free page in the NVM. According to the embodiment of the invention, the data which is originally stored in the NAND Flash and has the access frequency higher than the second threshold value is migrated to the NVM, so that the dynamic adjustment of the stored data in the SSD is realized, and the NAND Flash is prevented from being accessed too much. And storing the data with the read times larger than or equal to the second threshold value into the NVM, wherein the data reading speed can be improved compared with the data stored in the NAND Flash, and the data which is frequently modified and other hot spot data are stored in the NVM by utilizing the time locality and the space locality of the data, so that the abrasion to the NAND Flash is reduced.
Optionally, after the data in the NAND Flash is migrated to the NVM, the number of migration times corresponding to the NAND Flash may also be accumulated. Therefore, the number of pages transferred from the NAND Flash to the NVM can be obtained, so that the proportion of the occupied space of the NAND Flash and the NVM in the SSD is reasonably adjusted, or data with the same number of pages in the NVM is transferred to the NAND Flash.
Further, when the NVM includes a read area, if it is determined that the read time of the page where the pre-read data is located is greater than or equal to the second threshold and there is a free page in the NVM, migrating the data in the page whose read time is greater than or equal to the second threshold to the NVM may include: and if the reading times of the page where the pre-read data is located are judged to be larger than or equal to the second threshold value, and the reading area comprises the idle page, migrating the data in the page of which the reading times are larger than or equal to the second threshold value to the idle page of the reading area.
On the basis, if the migration times are determined to be larger than or equal to a third threshold value, selecting pages with the number of the third threshold value from the NVM to be migrated to the NAND Flash, wherein the third threshold value is determined by the proportion of the NVM and the NAND Flash in the SSD. In the SSD, if the space occupied by the NVM is larger than the space occupied by the NAND Flash, the third threshold value is smaller; correspondingly, if the space occupied by the NVM is smaller than the space occupied by the NAND Flash, the third threshold is larger.
In another embodiment, the NVM includes a write region. If the physical address of the pre-read data is located in the write area of the NVM, after the accumulating the number of reads of the page where the pre-read data is located, the method may further include: and updating the address of the page where the pre-read data is located to the tail part of the first bidirectional linked list, wherein each node in the first bidirectional linked list is used for storing the logic address of each page in the write area.
As can be seen from the above embodiments, the metadata area may store the first bidirectional linked list, the second bidirectional linked list, the preset mapping relationship, and the like.
By combining the embodiments, the embodiment of the invention stores the data with high access frequency in the NVM, thereby reducing the access to the NAND Flash, namely reducing the access frequency of the NAND Flash in the SSD and reducing the abrasion to the NAND Flash; moreover, due to the non-volatile characteristic of the NVM, data stored in the NVM is not lost when power is lost, so that the SSD does not need a capacitor to provide backup power when power supply is interrupted. For the above reasons, the service life of the SSD according to the embodiment of the present invention is increased.
In practical applications, the embodiments of the present invention do not limit the size of reading and writing, and may be reading or writing in any size. However, there is a basic management granularity for the predetermined mapping relationship, e.g. mapping table, of SSD, such as 4KB, or 8KB, or even 16 KB. This management granularity is typically the same as or may be different than the page (page) size of the NAND Flash. In addition, the basic management unit of SDD reading and writing is a page.
The size of the read and write operation requests issued by the host to the SSD may be arbitrary. Taking the page size of 8KB as an example: if the data to be read is large and 32KB, 4 pages need to be read, and the related data is gathered together and fed back to the host; if the data read is small, 2KB, then only the corresponding 2KB of data is returned to the host.
In the embodiment of the invention, the SSD adopts the NAND Flash and the NVM to store data in a grading way, namely, the data is stored in the NAND Flash or the NVM, and due to the nonvolatile characteristic of the NVM, the problem of data power failure loss can not be caused under the condition that the SSD does not contain a capacitor, and the service life of the SSD can be prolonged due to the fact that the SSD does not contain the capacitor, so that the reliability of the SSD is greatly improved.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods may be implemented in other ways. For example, the above-described device embodiments are merely illustrative, and for example, the division of the units or modules is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or modules may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or modules, and may be in an electrical, mechanical or other form.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
Those of ordinary skill in the art will understand that: all or a portion of the steps of implementing the above-described method embodiments may be performed by hardware associated with program instructions. The program may be stored in a computer-readable storage medium. When executed, the program performs steps comprising the method embodiments described above; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A method of writing data to a Solid State Disk (SSD), the SSD comprising a controller and a memory, wherein a storage medium of the memory comprises a NAND Flash and a non-volatile memory (NVM), the NVM comprising a write area and a read area, the method comprising:
receiving a write operation request, wherein the write operation request comprises pre-written data;
determining that the pre-written data has been stored in the read region;
migrating the pre-written data in the read area to the write area.
2. The method of claim 1, wherein after the migrating the pre-write data in the read region to the write region, the method further comprises:
updating a first mapping relationship to be a second mapping relationship, where the first mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the read area, and the second mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the write area.
3. The method according to claim 1 or 2, characterized in that the method further comprises:
judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not;
and when the accessed frequency of the pre-written data reaches the preset threshold value, migrating the pre-written data to the read area.
4. The method according to claim 1 or 2, characterized in that the method further comprises:
judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to a preset threshold value or not;
and when the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to the read area of the NVM.
5. The method of claim 1 or 2, wherein the NVM further comprises a free region, and wherein after migrating the pre-write data in the read region to the write region, the method further comprises:
and in the idle area, adjusting N pages from the pages reserved for the writing area to the reading area, wherein N is the number of pages corresponding to the pre-written data.
6. A Solid State Disk (SSD) comprising a controller and a memory, characterized in that the storage medium of the memory comprises a NAND Flash and a non-volatile memory (NVM), the NVM comprising a write area and a read area, wherein,
the controller is used for receiving a write operation request, and the write operation request comprises pre-written data; determining that the pre-written data has been stored in the read region; and migrating the pre-written data in the read area to the write area.
7. The SSD of claim 6, wherein the controller is further configured to:
updating a first mapping relationship to be a second mapping relationship, where the first mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the read area, and the second mapping relationship includes a correspondence between a logical address of the pre-written data and a position of the pre-written data in the write area.
8. The SSD of claim 6 or 7, wherein the controller is further configured to:
judging whether the accessed frequency of the pre-written data reaches a preset threshold value or not;
and when the accessed frequency of the pre-written data reaches the preset threshold value, migrating the pre-written data to the read area.
9. The SSD of claim 6 or 7, wherein the controller is further configured to:
judging whether the accessed frequency of the page in the NAND Flash is greater than or equal to a preset threshold value or not;
and when the accessed frequency of the page in the NAND Flash is greater than or equal to the preset threshold value, transferring the data in the page with the accessed frequency greater than or equal to the preset threshold value to the read area of the NVM.
10. The SSD of claim 6 or 7, wherein the NVM further comprises a free area, the controller being further configured to:
and in the idle area, adjusting N pages from the pages reserved for the writing area to the reading area, wherein N is the number of pages corresponding to the pre-written data.
CN201410852946.0A 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk Active CN105808156B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410852946.0A CN105808156B (en) 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk
CN202010311530.3A CN111638852A (en) 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk
PCT/CN2015/098109 WO2016107442A1 (en) 2014-12-31 2015-12-21 Method for writing data to solid state drive and solid state drive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410852946.0A CN105808156B (en) 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010311530.3A Division CN111638852A (en) 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk

Publications (2)

Publication Number Publication Date
CN105808156A CN105808156A (en) 2016-07-27
CN105808156B true CN105808156B (en) 2020-04-28

Family

ID=56284227

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410852946.0A Active CN105808156B (en) 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk
CN202010311530.3A Pending CN111638852A (en) 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010311530.3A Pending CN111638852A (en) 2014-12-31 2014-12-31 Method for writing data into solid state disk and solid state disk

Country Status (2)

Country Link
CN (2) CN105808156B (en)
WO (1) WO2016107442A1 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI607448B (en) * 2016-09-07 2017-12-01 群聯電子股份有限公司 Data writing method, memory control circuit unit and mempry storage apparatus
CN109119106B (en) * 2017-06-26 2022-08-02 中兴通讯股份有限公司 Data storage method, device and computer readable storage medium
CN110109915B (en) * 2018-01-18 2024-01-05 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for managing hash tables
CN110286995B (en) * 2018-03-19 2022-02-25 北京兆易创新科技股份有限公司 Data reading and writing method and device
CN110389712B (en) * 2018-04-20 2022-12-23 杭州海康存储科技有限公司 Data writing method and device, solid state disk and computer readable storage medium
CN108984124B (en) * 2018-07-13 2022-03-25 深圳忆联信息系统有限公司 Method and device for reducing write amplification, computer equipment and storage medium
CN109144422A (en) * 2018-08-31 2019-01-04 浪潮电子信息产业股份有限公司 A kind of data writing method of solid state hard disk, device, equipment and storage medium
CN110908926B (en) * 2018-09-14 2022-03-22 慧荣科技股份有限公司 Data storage device and writing method of logical-to-physical address mapping table
CN111367463B (en) * 2018-12-25 2023-05-09 兆易创新科技集团股份有限公司 Storage space management method and device
KR20200091199A (en) * 2019-01-22 2020-07-30 에스케이하이닉스 주식회사 Storage device, computing system having the storage device and operating method thereof
CN111581117A (en) * 2019-02-19 2020-08-25 睿宽智能科技有限公司 Solid state disk unmapped address redirection method
CN111897744A (en) * 2019-05-05 2020-11-06 北京兆易创新科技股份有限公司 Data writing method and device, electronic equipment and storage medium
CN110515549B (en) * 2019-08-16 2022-03-22 浪潮电子信息产业股份有限公司 Data migration method and device
CN110989924B (en) * 2019-10-30 2022-10-18 烽火通信科技股份有限公司 Metadata storage performance optimization method and storage server
CN110795045B (en) * 2019-10-30 2024-04-09 中国科学院微电子研究所 Data migration method and system of hybrid memory and electronic equipment
CN111208940A (en) * 2019-12-24 2020-05-29 华东师范大学 Read-write separation method based on multi-channel flash memory
CN111143279B (en) * 2019-12-29 2022-04-22 浪潮电子信息产业股份有限公司 Data migration method, device and equipment and readable storage medium
CN111758086B (en) * 2020-05-22 2021-06-22 长江存储科技有限责任公司 Method for refreshing mapping table of SSD
EP4187363A4 (en) * 2020-07-31 2023-09-06 Huawei Technologies Co., Ltd. Storage controller, storage control method, solid state disk and storage system
CN112435706B (en) * 2020-11-05 2023-06-30 北京中电华大电子设计有限责任公司 Nonvolatile memory application level erasing life evaluation method
CN112717419A (en) * 2021-01-04 2021-04-30 厦门梦加网络科技股份有限公司 Game data storage method
CN113254364B (en) * 2021-05-24 2022-07-19 山东创恒科技发展有限公司 Information storage device for embedded system
CN113760782A (en) * 2021-08-23 2021-12-07 南京森根科技股份有限公司 Dynamically adjustable annular cache system and control method thereof
CN113835639B (en) * 2021-09-26 2024-03-19 深圳大普微电子科技有限公司 I/O request processing method, device, equipment and readable storage medium
CN114328281B (en) * 2021-11-30 2023-11-14 苏州浪潮智能科技有限公司 Solid state disk abnormal power failure processing method and device, electronic equipment and medium
CN115657972B (en) * 2022-12-27 2023-06-06 北京特纳飞电子技术有限公司 Solid state disk writing control method and device and solid state disk
CN115904255B (en) * 2023-01-19 2023-05-16 苏州浪潮智能科技有限公司 Data request method, device, equipment and storage medium
CN116627354B (en) * 2023-07-20 2023-09-15 湖南博匠信息科技有限公司 High-performance data writing method and data recording equipment for solid state disk

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673188A (en) * 2008-09-09 2010-03-17 上海华虹Nec电子有限公司 Data access method for solid state disk
CN102646069A (en) * 2012-02-23 2012-08-22 华中科技大学 Method for prolonging service life of solid-state disk
CN103377152A (en) * 2012-04-26 2013-10-30 深圳市朗科科技股份有限公司 Write operation control method and write operation device for solid state disk
CN103885728A (en) * 2014-04-04 2014-06-25 华中科技大学 Magnetic disk cache system based on solid-state disk
US8856423B1 (en) * 2007-04-10 2014-10-07 Marvell International Ltd. Dual-purpose nonvolatile memory for code and data storage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205335A (en) * 2008-02-27 2009-09-10 Hitachi Ltd Storage system using two kinds of memory devices for cache and method for controlling the storage system
CN102955787A (en) * 2011-08-22 2013-03-06 陈思达 Using method for file directory table, file writing method and main circuit board, CPU (central processing unit) and external storage applying same
CN102360273A (en) * 2011-09-26 2012-02-22 北京邦诺存储科技有限公司 Equipment and method for controlling cooperative storage of memory and nonvolatile caching device
CN102591748A (en) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 Solid state disc and power failure protection method and system thereof
CN103473186A (en) * 2012-06-07 2013-12-25 鸿富锦精密工业(深圳)有限公司 SSD (solid state disc) data protection circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856423B1 (en) * 2007-04-10 2014-10-07 Marvell International Ltd. Dual-purpose nonvolatile memory for code and data storage
CN101673188A (en) * 2008-09-09 2010-03-17 上海华虹Nec电子有限公司 Data access method for solid state disk
CN102646069A (en) * 2012-02-23 2012-08-22 华中科技大学 Method for prolonging service life of solid-state disk
CN103377152A (en) * 2012-04-26 2013-10-30 深圳市朗科科技股份有限公司 Write operation control method and write operation device for solid state disk
CN103885728A (en) * 2014-04-04 2014-06-25 华中科技大学 Magnetic disk cache system based on solid-state disk

Also Published As

Publication number Publication date
CN111638852A (en) 2020-09-08
CN105808156A (en) 2016-07-27
WO2016107442A1 (en) 2016-07-07

Similar Documents

Publication Publication Date Title
CN105808156B (en) Method for writing data into solid state disk and solid state disk
US10387243B2 (en) Managing data arrangement in a super block
JP7366795B2 (en) Memory system and control method
KR102147359B1 (en) Method for managing non-volatile memory device, and non-volatile memory device
US10282286B2 (en) Address mapping using a data unit type that is variable
US10503411B2 (en) Data storage device and method for operating non-volatile memory
US10310766B2 (en) Memory system and data relocating method
US10360155B1 (en) Multi-tier memory management
US9268681B2 (en) Heterogeneous data paths for systems having tiered memories
JP6166476B2 (en) Memory module and information processing system
US20190095100A1 (en) Block Clearing Method
US20230176965A1 (en) Media management based on data access metrics
US11782847B2 (en) Performing a media management operation based on a sequence identifier for a block
US11645006B2 (en) Read performance of memory devices
US9619165B1 (en) Convertible leaf memory mapping
JP5300496B2 (en) Semiconductor memory device, host device, and semiconductor memory system
CN112130749B (en) Data storage device and non-volatile memory control method
US20190012260A1 (en) Flash memory package and storage system including flash memory package
JP2019148913A (en) Memory system
KR20200076923A (en) Storage device, controller and operating method of storage device thereof
US11829650B2 (en) Memory sub-system data migration
KR20220114078A (en) Perform media management actions based on changing the write mode of data blocks in the cache
US11036414B2 (en) Data storage device and control method for non-volatile memory with high-efficiency garbage collection
CN115458013A (en) Storage device and operation method thereof
KR20210013483A (en) Computing system including nonvolatile memory module and operating method of the nonvolatile memory module

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant