CN111488126A - Flash memory block management method and device of self-heating solid state disk and solid state disk - Google Patents

Flash memory block management method and device of self-heating solid state disk and solid state disk Download PDF

Info

Publication number
CN111488126A
CN111488126A CN202010282653.9A CN202010282653A CN111488126A CN 111488126 A CN111488126 A CN 111488126A CN 202010282653 A CN202010282653 A CN 202010282653A CN 111488126 A CN111488126 A CN 111488126A
Authority
CN
China
Prior art keywords
flash memory
memory block
data
write request
solid state
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.)
Granted
Application number
CN202010282653.9A
Other languages
Chinese (zh)
Other versions
CN111488126B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202010282653.9A priority Critical patent/CN111488126B/en
Publication of CN111488126A publication Critical patent/CN111488126A/en
Application granted granted Critical
Publication of CN111488126B publication Critical patent/CN111488126B/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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention discloses a flash memory block management method and device of a self-heating solid state disk and the solid state disk, belonging to the field of flash memory storage devices, wherein a flash memory block is erased or in an initial state, if PE < PEinit, the information of the flash memory block is recorded into a healthy flash memory block list H LL, if PE is equal to PEinit, the information of the flash memory block is recorded into a temporary failure flash memory block list TW L, after the flash memory block in TW L is subjected to heating operation, the information of the flash memory block is transferred from TW L2 into a heated flash memory block list HT L, when the flash memory block in HT L is exhausted by the increased erasing times of the heating operation, the information of the flash memory block is transferred from HT L into TW L, when the total times of the heating operation of the flash memory block in TW L exceed a threshold value, the information of the flash memory block is transferred from TW L into a permanent failure flash memory block list PW L, blocks corresponding to H L and HT L are divided into a common region, and a new flash memory block area capable of being used for self-heating, and a new flash memory area capable of being respectively allocated into a non-usable flash memory area.

Description

Flash memory block management method and device of self-heating solid state disk and solid state disk
Technical Field
The invention belongs to the field of flash memory storage devices, and particularly relates to a flash block management method and device of a self-heating solid state disk and the solid state disk.
Background
In recent years, solid state disks are gradually replacing traditional mechanical hard disks and are widely used in computer storage systems.
The flash memory block in the solid state disk can only bear limited erasing/writing (Program/Erase, P/E) times. When the erasing times of the flash memory blocks in the solid state disk reach the upper limit of the erasing times set by a manufacturer, the flash memory blocks become failure blocks and are moved into a bad block management module. When the total number of the flash memory blocks contained in the bad block management module exceeds a certain value, the solid state disk reaches the end of the service life.
On the basis, the self-heating solid state disk realizes the self-heating recovery technology by arranging a heating device in the flash memory chip. When the flash memory block of the self-heating solid state disk fails, the erasing times can be prolonged for a certain number of times by executing heating operation, so that the service life of the self-heating solid state disk is prolonged. However, each flash block can only perform a limited number of heating operations, and when the limit is exceeded, the flash block will also be permanently disabled and can no longer be heated. On the other hand, performing the heating operation requires a continuous power consumption and energy consumption, which causes a great performance fluctuation and increases the energy consumption especially when a large number of heating operations are performed within a certain period of time, thereby failing to realize a stable solid state disk.
Disclosure of Invention
In view of the defects and the improvement requirements of the prior art, the invention provides a flash memory block management method and device of a self-heating solid state disk and the solid state disk, and aims to postpone a part of unnecessary heating operation so as to prolong the service life of the self-heating solid state disk.
To achieve the above object, according to an aspect of the present invention, there is provided a flash block management method for a self-heating solid state disk, including:
respectively creating a healthy flash memory block list H LL, a temporary failure flash memory block list TW L, a heated flash memory block list HT L and a permanent failure flash memory block list PW L in built-in DRAMs of the self-heating solid state disk in advance, wherein the created lists are used for storing information of flash memory blocks;
when the flash memory block is erased or in an initial state, acquiring the current erasing times PE of the flash memory block, comparing the current erasing times PE with the upper limit PEinit of the erasing times of the flash memory block, if the PE is less than the PEinit, recording the information of the flash memory block into a healthy flash memory block list H LL, and if the PE is equal to the PEinit, recording the information of the flash memory block into a temporary failure flash memory block list TW L;
after the flash memory blocks in the temporary failed flash memory block list TW L are subjected to the heating operation, the information of the flash memory blocks is migrated from the temporary failed flash memory block list TW L to the heated flash memory block list HT L;
migrating the information of the flash memory block from the heated flash memory block list HT L to a temporary failed flash memory block list TW L when the flash memory block in the heated flash memory block list HT L runs out of the erasing times increased for the last heating operation;
when the total number of heating operations performed on the flash memory blocks in the temporary failed flash memory block list TW L exceeds a preset threshold, migrating the information of the flash memory blocks from the temporary failed flash memory block list TW L to a permanent failed flash memory block list PW L;
in the self-heating solid state disk, flash memory blocks corresponding to a healthy flash memory block list H LL and a heated flash memory block list HT L are divided into a common area, flash memory blocks corresponding to a temporary failure flash memory block list TW L are divided into a refreshing area, flash memory blocks corresponding to a permanent failure flash memory block list PW L are divided into an unavailable area, and flash memory blocks in both the common area and the refreshing area can be allocated to a write request.
According to the invention, the flash memory blocks in different states are respectively stored by four different lists according to the information of the erasing times, the heating operation times and the like of the flash memory blocks, so that the flash memory blocks are more accurately managed, and because the temporarily failed flash memory blocks, namely the flash memory blocks recorded in the temporarily failed flash memory block list TW L, do not immediately perform the heating operation but can still be allocated to the writing request, the heating operation of the failed blocks can be postponed, so that the service life of the self-heating solid state disk is prolonged.
Further, the flash memory block management method of the self-heating solid state disk provided by the invention further comprises the following steps:
periodically monitoring the number N of flash memory blocks in a common area, wherein T is less than or equal to NusableIf so, selecting one flash memory block from the refreshing area according to the temporary failure flash memory block list TW L as a flash memory block to be heated, heating the flash memory block, transferring the information of the flash memory block to be heated from the temporary failure flash memory block list TW L to a heated flash memory block list HT L, and re-dividing the flash memory block into common areas;
wherein, TusableIs a preset first threshold value.
When the number of flash memory blocks in the common area is too low, only one flash memory block is selected from the refresh area to execute heating operation each time, so that performance fluctuation caused by excessive heating operation can be avoided under the condition of ensuring enough available flash memory blocks.
Further, the flash memory block to be heated is the flash memory block with the least heating times in the refreshing area.
In the invention, the flash memory block with the least heating times is selected to execute the heating operation in each time of selecting the refreshing area, so that the heating times of the flash memory block can be effectively balanced, and the service life of the self-heating solid state disk is prolonged.
Further, the flash memory block management method of the self-heating solid state disk provided by the invention further comprises the following steps:
the write request is processed as follows:
(S1) searching a mapping table of the self-heating solid state disk according to the logic address lpn of the write request to judge whether the write request is a first write request or an update write request, and if the write request is the first write request, turning to the step (S2); otherwise, go to (S5);
(S2) performing a cooling-heating analysis on the data of the first write request to identify the type of the data, and if the data is cooling data, proceeding to step (S3); if the data is hot data, the process proceeds to step (S4);
(S3) allocating a flash block to the first write request in the normal area, writing the data and recording the current write time of the data as the latest write time T corresponding to the logical address lpnlastAt the place of write requestFinishing the treatment;
(S4) allocating a flash block to the first write request in the refresh area, writing the data and recording the current write time of the data as the latest write time T corresponding to the logical address lpnlastThe write request processing is ended;
(S5) performing a cooling-heating analysis on the data of the update-write request to identify the type of the data, and if the data is cooling data, proceeding to step (S6); if the data is hot data, the process proceeds to step (S7);
(S6) allocating a flash block in the normal area for the update write request, writing the data and setting the latest write time T corresponding to the logical address lpnlastUpdating to the current time, setting the old data corresponding to the updated write request as invalid, and finishing the write request processing;
(S7) allocating a flash block in the refresh area for the write request, writing the data, and setting the latest write time T corresponding to the logical address lpnlastAnd updating to the current time, setting the old data corresponding to the updated write request as invalid, and finishing the write request processing.
Cold data requires a longer data retention time, while hot data requires only a shorter data retention time; according to the invention, based on the access characteristics of cold and hot data and the storage characteristics of different flash memory blocks, the flash memory blocks are allocated to the cold data in the common area, and the flash memory blocks are allocated to the hot data in the refresh area, so that the retention time required by the data can be ensured to be met, and the temporary invalid flash memory blocks are continuously utilized, therefore, the number of heating operations can be effectively reduced, the negative influence of the heating operations on the IO performance of a storage system is reduced, and the performance of the self-heating solid state disk is effectively improved.
Further, when allocating flash memory blocks for the first write request or the update write request in the normal area, the flash memory blocks recorded in the healthy flash memory block list H LL are preferentially allocated, and if all the flash memory blocks recorded in the healthy flash memory block list H LL are allocated, the flash memory blocks recorded in the heated flash memory block list HT L are allocated.
When the flash memory blocks in the common area are distributed, the flash memory blocks recorded in the healthy flash memory block list H LL are preferentially distributed, so that the method is favorable for balancing the erasing and writing times of the flash memory blocks in the common area.
Further, the flash memory block management method of the self-heating solid state disk provided by the invention further comprises the following steps:
and when the flash memory blocks are allocated for the first write request or the update write request in the refresh area, if the allocation is unsuccessful, the flash memory blocks are allocated from the common area.
When the flash memory blocks in the refresh area are distributed, if the distribution is unsuccessful, the flash memory blocks are distributed from the common area, so that the service life and the stability of the self-heating solid state disk can be improved, and the normal processing of the write request can not be influenced.
Further, in step (S5), a cooling-heating degree analysis is performed on the data of the update write request, including:
obtain the latest write time T corresponding to the logical address lpnlastAccording to the current time and the write time TlastCalculating data update frequency TupdateIf T isupdate≥ThotIdentifying the data of the update write request as cold data; otherwise, identifying the data of the update write request as hot data;
wherein, ThotIs a preset second threshold value.
Further, the flash memory block management method of the self-heating solid state disk provided by the invention further comprises the following steps:
after allocating flash memory blocks and writing data in the refresh zone, the data retention time T supported by the allocated flash memory blocks is trackedretentionIf the written data is in the data retention time TretentionAnd if the data is not invalid, migrating the data from the refresh area to the normal area, and setting the old data on the flash memory block as invalid.
When the thermal data is in the data retention time TretentionIt has not been invalidated by arrival, indicating that the data is actually cold data that has not been updated frequently, but was last coldThe analysis is wrongly classified into thermal data; the invention tracks the data retention time of the allocated flash block for the identified hot data if the data is at the data retention time TretentionIf the data is not invalid, the data is migrated from the refresh area to the normal area, so that enough data retention time can be provided for the data, and the reliability of data storage is ensured.
According to another aspect of the present invention, there is provided a flash block management apparatus for a self-heating solid state disk, comprising: a computer-readable storage medium and a processor;
a computer readable storage medium for storing an executable program;
the processor is used for reading an executable program stored in the computer readable storage medium and executing the flash memory block management method of the self-heating solid state disk.
According to yet another aspect of the present invention, there is provided a self-heating solid state disk comprising: the flash memory block management device is internally provided with DRAM, flash memory and the self-heating solid state disk.
Generally, by the above technical solution conceived by the present invention, the following beneficial effects can be obtained:
(1) according to the invention, the flash memory block information in different states is respectively stored by utilizing four different lists according to the information of the erasing times, the heating operation times and the like of the flash memory block, so that the flash memory block is more accurately managed, and the temporarily failed flash memory block can still be allocated to a write request instead of immediately executing the write request, therefore, the heating operation on the failed block can be delayed, and the service life of the self-heating solid state disk is prolonged.
(2) The invention distributes the flash memory blocks for the cold data in the common area and distributes the flash memory blocks for the hot data in the refreshing area based on the access characteristics of the cold data and the hot data and the storage characteristics of different flash memory blocks, and can continuously utilize the temporarily failed flash memory blocks while ensuring that the retention time required by the data is met, therefore, the invention can effectively reduce the times of heating operation, thereby reducing the negative influence of the heating operation on the IO performance of a storage system and effectively improving the performance of the self-heating solid state disk.
Drawings
Fig. 1 is a schematic diagram of a flash block management method for a self-heating solid state disk according to an embodiment of the present invention;
fig. 2 is a flow chart of write request processing according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
In the present application, the terms "first," "second," and the like (if any) in the description and the drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
In order to postpone a part of unnecessary heating operations to prolong the service life of the self-heating solid state disk, in an embodiment of the present invention, a flash block management method for a self-heating solid state disk is provided, as shown in fig. 1, including:
respectively creating a healthy flash memory block list H LL, a temporary failure flash memory block list TW L, a heated flash memory block list HT L and a permanent failure flash memory block list PW L in built-in DRAMs of the self-heating solid state disk in advance, wherein the created lists are used for storing information of flash memory blocks;
when the flash block is erased or in an initial state, acquiring the current erasing and writing frequency PE of the flash block, and comparing the current erasing and writing frequency PE with the erasing and writing frequency upper limit PEinit of the flash block, wherein the erasing and writing frequency upper limit PEinit of the flash block is set by a manufacturer, and in the embodiment, the PEinit is 1000, if the PE < PEinit is shown as a flash block 1 in fig. 1, the information of the flash block is recorded into a healthy flash block list H LL, and if the PE < PEinit is shown as a flash block 2 in fig. 1, the information of the flash block is recorded into a temporary failure flash block list TW L;
after the flash memory block in the temporary failed flash memory block list TW L is subjected to the warming operation, the information of the flash memory block is migrated from the temporary failed flash memory block list TW L to a warmed flash memory block list HT L, such as the flash memory block 3 in FIG. 1;
in this embodiment, the flash memory block is heated for the first time, the increased erasing times is 800, and the erasing times can reach 4000 after heating for many times, when the flash memory block in the heated flash memory block list HT L is used up the erasing times increased by the last heating operation, as shown in the flash memory block 4 in FIG. 1, the information of the flash memory block is transferred from the heated flash memory block list HT L to the temporary failure flash memory block list TW L;
when the total number of heating operations performed on the flash memory blocks in the temporary failed flash memory block list TW L exceeds a preset threshold, the information of the flash memory blocks is migrated from the temporary failed flash memory block list TW L to the permanent failed flash memory block list PW L, as in the flash memory block 5 in fig. 1;
in the self-heating solid state disk, flash memory blocks corresponding to a healthy flash memory block list H LL and a heated flash memory block list HT L are divided into a common area, flash memory blocks corresponding to a temporary failure flash memory block list TW L are divided into a refreshing area, flash memory blocks corresponding to a permanent failure flash memory block list PW L are divided into an unavailable area, and flash memory blocks in both the common area and the refreshing area can be allocated to a write request.
In the traditional self-heating solid state disk, once a flash memory block fails, heating operation is immediately executed; in the embodiment, according to the information of the erasing times, the heating operation times and the like of the flash memory blocks, the four different lists are used for respectively storing the flash memory block information in different states, so that the flash memory blocks are more accurately managed.
In an optional implementation manner, the method for managing flash blocks of a self-heating solid state disk further includes:
periodically monitoring the number N of flash memory blocks in a common area, wherein T is less than or equal to NusableIf so, selecting one flash memory block from the refreshing area according to the temporary failure flash memory block list TW L as a flash memory block to be heated, heating the flash memory block, transferring the information of the flash memory block to be heated from the temporary failure flash memory block list TW L to a heated flash memory block list HT L, and re-dividing the flash memory block into common areas;
wherein, TusableThe preset first threshold value can be flexibly set according to the actual capacity of the self-heating solid state disk, the IO characteristics of the load, and the like, and in this embodiment, T is setusableTotal is 80%, wherein the Total represents the Total number of flash memory blocks in the self-heating solid state disk; only one flash memory block is selected from the refresh area to execute heating operation each time, so that performance fluctuation can be avoided under the condition that enough available flash memory blocks are ensured;
optionally, the selected flash memory block to be heated is the flash memory block with the least heating times in the refresh area, so that the heating times of the flash memory block can be effectively equalized, and the service life of the self-heating solid state disk is prolonged.
Further, the flash memory block management method of the self-heating solid state disk may further include:
as shown in FIG. 2, a write request is processed as follows:
(S1) searching a mapping table of the self-heating solid state disk according to the logic address lpn of the write request to judge whether the write request is a first write request or an update write request, and if the write request is the first write request, turning to the step (S2); otherwise, go to (S5);
the self-heating solid state disk stores the mapping relation from the logical address page number to the physical address page number, the mapping table is searched according to the logical address lpn of the write request, and if the corresponding physical address is found, the write request is an update write request; otherwise, the write request is indicated as a first write request;
(S2) performing a cooling-heating analysis on the data of the first write request to identify the type of the data, and if the data is cooling data, proceeding to step (S3); if the data is hot data, the process proceeds to step (S4);
any cold and hot analysis method can be used to determine whether the requested data is cold data or hot data, which will not be enumerated herein;
(S3) allocating a flash block to the first write request in the normal area, writing the data and recording the current write time of the data as the latest write time T corresponding to the logical address lpnlastThe write request processing is ended;
optionally, when allocating flash memory blocks for the first write request in the normal region, preferentially allocating the flash memory blocks recorded in the healthy flash memory block list H LL, and if all the flash memory blocks recorded in the healthy flash memory block list H LL are allocated, allocating the flash memory blocks recorded in the heated flash memory block list HT L to balance the erase and write times of the flash memory blocks in the normal region;
(S4) allocating a flash block to the first write request in the refresh area, writing the data and recording the current write time of the data as the latest write time T corresponding to the logical address lpnlastThe write request processing is ended;
in this embodiment, when allocating a flash memory block for a first write request in a refresh area, if the allocation is unsuccessful, allocating the flash memory block from a normal area to ensure normal processing of the write request;
(S5) performing a cooling-heating analysis on the data of the update-write request to identify the type of the data, and if the data is cooling data, proceeding to step (S6); if the data is hot data, the process proceeds to step (S7);
in an alternative embodiment, in the step (S5), the cold-hot degree analysis is performed on the data of the update write request, including:
obtain the latest write time T corresponding to the logical address lpnlastAccording to the current time and the write time TlastCalculating data update frequency TupdateIf T isupdate≥ThotIdentifying the data of the update write request as cold data; otherwise, identifying the data of the update write request as hot data;
wherein, ThotThe preset second threshold value can be determined according to the IO characteristics of the loadSex is set accordingly, in the present embodiment, Thot120 minutes;
(S6) allocating a flash block in the normal area for the update write request, writing the data and setting the latest write time T corresponding to the logical address lpnlastUpdating to the current time, setting the old data corresponding to the updated write request as invalid, and finishing the write request processing;
similarly, when allocating flash memory blocks for the update write request in the normal region, the flash memory blocks recorded in the healthy flash memory block list H LL may be preferentially allocated, and if all the flash memory blocks recorded in the healthy flash memory block list H LL are allocated, the flash memory blocks recorded in the heated flash memory block list HT L are allocated to balance the erase and write times of the flash memory blocks in the normal region;
(S7) allocating a flash block in the refresh area for the write request, writing the data, and setting the latest write time T corresponding to the logical address lpnlastUpdating to the current time, setting the old data corresponding to the updated write request as invalid, and finishing the write request processing;
similarly, in this embodiment, when allocating a flash block for an update write request in the refresh area, if the allocation is unsuccessful, the flash block is allocated from the normal area to ensure normal processing of the write request.
Cold data requires a longer data retention time, while hot data requires only a shorter data retention time; in this embodiment, the flash memory blocks in the general area can support a longer data retention time, and the flash memory blocks in the refresh area can only support a shorter data retention time, and this embodiment is based on the access characteristics of cold and hot data and the storage characteristics of different flash memory blocks, and the flash memory blocks are allocated to the cold data in the general area, and the flash memory blocks are allocated to the hot data in the refresh area, so that the retention time required by the data can be ensured to be satisfied, and the temporarily failed flash memory blocks can be continuously utilized, therefore, this embodiment can effectively reduce the number of heating operations IO, thereby reducing the negative impact of the heating operations on the performance of the storage system, and effectively improving the performance of the self-heating solid state disk.
In order to further ensure the reliability of data storage, in an optional implementation manner, the method for managing flash blocks of a self-heating solid state disk further includes:
after allocating flash memory blocks and writing data in the refresh zone, the data retention time T supported by the allocated flash memory blocks is trackedretentionIf the written data is in the data retention time TretentionIf the data is not invalid when the data arrives, the data is actually cold data which is not updated frequently, but the data is wrongly classified into hot data in the last cold-heat degree analysis, the data is migrated from the refresh area to the common area, and the old data on the flash memory block is set to be invalid;
data retention time T that flash memory block can supportretentionCan be according to TretentionCBER represents a bit error rate that can be corrected by an error correction code built in the self-heating solid-state disk, and dr (PE) represents a bit error rate per day when the number of times of erasing is PE.
In another embodiment of the present invention, a flash block management device for a self-heating solid state disk is provided, including: a computer-readable storage medium and a processor;
a computer readable storage medium for storing an executable program;
the processor is used for reading an executable program stored in the computer readable storage medium and executing the flash memory block management method of the self-heating solid state disk provided by the method embodiment.
In yet another embodiment of the present invention, there is provided a self-heating solid state disk, including: the flash memory block management device with built-in DRAM, flash memory and the self-heating solid state disk provided by the embodiment is provided.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (10)

1. A flash memory block management method of a self-heating solid state disk is characterized by comprising the following steps:
respectively creating a healthy flash memory block list H LL, a temporary failure flash memory block list TW L, a heated flash memory block list HT L and a permanent failure flash memory block list PW L in built-in DRAMs of the self-heating solid state disk in advance, wherein the created lists are used for storing information of flash memory blocks;
when the flash memory block is erased or in an initial state, acquiring the current erasing times PE of the flash memory block, comparing the current erasing times PE with the upper limit PEinit of the erasing times of the flash memory block, if the PE is less than the PEinit, recording the information of the flash memory block into the healthy flash memory block list H LL, and if the PE is equal to the PEinit, recording the information of the flash memory block into the temporary failure flash memory block list TW L;
after the flash memory block in the temporarily failed flash memory block list TW L is subjected to a heating operation, migrating the information of the flash memory block from the temporarily failed flash memory block list TW L to the heated flash memory block list HT L;
migrating the information of the flash memory block from the heated flash memory block list HT L to the temporarily disabled flash memory block list TW L when the flash memory block in the heated flash memory block list HT L runs out of the erasing times increased for the last heating operation;
migrating information of a flash memory block in the temporary failed flash memory block list TW L from the temporary failed flash memory block list TW L to the permanently failed flash memory block list PW L when the total number of heating operations performed on the flash memory block exceeds a preset threshold;
in the self-heating solid state disk, flash memory blocks corresponding to the healthy flash memory block list H LL and the heated flash memory block list HT L are divided into a common area, flash memory blocks corresponding to the temporary failure flash memory block list TW L are divided into a refreshing area, flash memory blocks corresponding to the permanent failure flash memory block list PW L are divided into an unavailable area, and the flash memory blocks in the common area and the refreshing area can both be allocated to a write request.
2. The flash block management method for the self-heating solid state disk according to claim 1, further comprising:
periodically monitoring the number N of flash memory blocks in the common area, wherein T is more than or equal to NusableIf so, selecting one flash memory block from the refresh area according to the temporary failure flash memory block list TW L as a flash memory block to be heated, heating the flash memory block, transferring the information of the flash memory block to be heated from the temporary failure flash memory block list TW L to the heated flash memory block list HT L, and re-dividing the flash memory block into the common area;
wherein, TusableIs a preset first threshold value.
3. The flash memory block management method for the self-heating solid state disk according to claim 2, wherein the flash memory block to be heated is a flash memory block with the least heating times in the refresh area.
4. The flash memory block management method of the self-heating solid state disk according to any one of claims 1 to 3, further comprising:
the write request is processed as follows:
(S1) searching a mapping table of the self-heating solid state disk according to the logic address lpn of the write request to judge whether the write request is a first write request or an update write request, and if the write request is the first write request, turning to the step (S2); otherwise, go to (S5);
(S2) performing a cooling-heating analysis on the data of the first write request to identify the type of the data, and if the data is cooling data, proceeding to step (S3); if the data is hot data, the process proceeds to step (S4);
(S3) allocating a flash block to the first write request in the general area, writing data and recording the current write time of the data as the latest write time T corresponding to the logical address lpnlastThe write request processing is ended;
(S4) allocating a flash block to the first write request in the refresh area, writing data and recording the current write time of the data as the latest write time T corresponding to the logical address lpnlastThe write request processing is ended;
(S5) performing a cold-hot analysis on the data of the update-write request to identify the type of the data, and if the data is cold data, proceeding to step (S6); if the data is hot data, the process proceeds to step (S7);
(S6) allocating a flash block in the normal area for the update write request, writing data and setting the latest write time T corresponding to the logical address lpnlastUpdating to the current time, setting the old data corresponding to the updated write request as invalid, and finishing the write request processing;
(S7) allocating a flash block in the refresh area for the write request, writing data and setting the latest write time T corresponding to the logical address lpnlastAnd updating to the current time, setting the old data corresponding to the updated write request as invalid, and finishing the write request processing.
5. The flash memory block management method for the self-heating solid state disk according to claim 4, wherein when allocating flash memory blocks for a first write request or an update write request in the general area, the flash memory blocks recorded in the healthy flash memory block list H LL are preferentially allocated, and if the flash memory blocks recorded in the healthy flash memory block list H LL are all allocated, the flash memory blocks recorded in the heated flash memory block list HT L are allocated.
6. The flash block management method for the self-heating solid state disk of claim 4, further comprising:
and when the flash memory blocks are allocated for the first write request or the updated write request in the refresh area, if the allocation is unsuccessful, allocating the flash memory blocks from the common area.
7. The flash memory block management method for the self-heating solid state disk of claim 4, wherein in the step (S5), performing a cooling and heating analysis on the data of the update write request comprises:
obtaining the latest writing time T corresponding to the logical address lpnlastAccording to the current time and the writing time TlastCalculating data update frequency TupdateIf T isupdate≥ThotIdentifying the data of the update write request as cold data; otherwise, identifying the data of the update write request as hot data;
wherein, ThotIs a preset second threshold value.
8. The flash block management method for the self-heating solid state disk of claim 4, further comprising:
after allocating flash memory blocks and writing data in the refresh area, tracking the data retention time T that can be supported by the allocated flash memory blocksretentionIf the written data is in the data retention time TretentionAnd if the data is not invalid, migrating the data from the refresh area to the common area, and setting the old data on the flash memory block as invalid.
9. A flash block management device of a self-heating solid state disk, comprising: a computer-readable storage medium and a processor;
the computer readable storage medium is used for storing an executable program;
the processor is used for reading an executable program stored in the computer readable storage medium and executing the flash memory block management method of the self-heating solid state disk of any one of claims 1 to 8.
10. A self-heating solid state disk, comprising: flash block management device with built-in DRAM, flash memory and self-heating solid state disk as claimed in claim 9.
CN202010282653.9A 2020-04-12 2020-04-12 Flash memory block management method and device of self-heating solid state disk and solid state disk Active CN111488126B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010282653.9A CN111488126B (en) 2020-04-12 2020-04-12 Flash memory block management method and device of self-heating solid state disk and solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010282653.9A CN111488126B (en) 2020-04-12 2020-04-12 Flash memory block management method and device of self-heating solid state disk and solid state disk

Publications (2)

Publication Number Publication Date
CN111488126A true CN111488126A (en) 2020-08-04
CN111488126B CN111488126B (en) 2021-07-27

Family

ID=71812722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010282653.9A Active CN111488126B (en) 2020-04-12 2020-04-12 Flash memory block management method and device of self-heating solid state disk and solid state disk

Country Status (1)

Country Link
CN (1) CN111488126B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168225A (en) * 2021-12-08 2022-03-11 深圳忆联信息系统有限公司 Method and device for delaying updating of solid state disk mapping table, computer equipment and storage medium
CN116737064A (en) * 2023-03-29 2023-09-12 深圳市领德创科技有限公司 Data management method and system for solid state disk
WO2023206968A1 (en) * 2022-04-29 2023-11-02 浪潮电子信息产业股份有限公司 Data storage method and system, and computer readable storage medium
CN117555491A (en) * 2024-01-11 2024-02-13 武汉麓谷科技有限公司 Method for realizing encryption function of ZNS solid state disk

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081576A (en) * 2011-03-01 2011-06-01 华中科技大学 Flash memory wear balance method
CN102522121A (en) * 2011-12-13 2012-06-27 记忆科技(深圳)有限公司 Solid state disk and automatic restoration method thereof
CN109445695A (en) * 2018-10-19 2019-03-08 郑州云海信息技术有限公司 A kind of data migration method
CN109542358A (en) * 2018-12-03 2019-03-29 浪潮电子信息产业股份有限公司 A kind of cold and hot data separation method of solid state hard disk, device and equipment
CN110515547A (en) * 2019-08-09 2019-11-29 浪潮电子信息产业股份有限公司 A kind of solid state hard disk and computer equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081576A (en) * 2011-03-01 2011-06-01 华中科技大学 Flash memory wear balance method
CN102522121A (en) * 2011-12-13 2012-06-27 记忆科技(深圳)有限公司 Solid state disk and automatic restoration method thereof
CN109445695A (en) * 2018-10-19 2019-03-08 郑州云海信息技术有限公司 A kind of data migration method
CN109542358A (en) * 2018-12-03 2019-03-29 浪潮电子信息产业股份有限公司 A kind of cold and hot data separation method of solid state hard disk, device and equipment
CN110515547A (en) * 2019-08-09 2019-11-29 浪潮电子信息产业股份有限公司 A kind of solid state hard disk and computer equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
毛宇: "磁盘阵列及磁盘块级容量提升技术研究", 《中国博士学位论文全文数据库(电子期刊)信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168225A (en) * 2021-12-08 2022-03-11 深圳忆联信息系统有限公司 Method and device for delaying updating of solid state disk mapping table, computer equipment and storage medium
CN114168225B (en) * 2021-12-08 2024-05-14 深圳忆联信息系统有限公司 Method, device, computer equipment and storage medium for updating solid state disk mapping table in delayed mode
WO2023206968A1 (en) * 2022-04-29 2023-11-02 浪潮电子信息产业股份有限公司 Data storage method and system, and computer readable storage medium
CN116737064A (en) * 2023-03-29 2023-09-12 深圳市领德创科技有限公司 Data management method and system for solid state disk
CN116737064B (en) * 2023-03-29 2024-04-05 深圳市领德创科技有限公司 Data management method and system for solid state disk
CN117555491A (en) * 2024-01-11 2024-02-13 武汉麓谷科技有限公司 Method for realizing encryption function of ZNS solid state disk
CN117555491B (en) * 2024-01-11 2024-03-15 武汉麓谷科技有限公司 Method for realizing encryption function of ZNS solid state disk

Also Published As

Publication number Publication date
CN111488126B (en) 2021-07-27

Similar Documents

Publication Publication Date Title
CN111488126B (en) Flash memory block management method and device of self-heating solid state disk and solid state disk
US9348527B2 (en) Storing data in persistent hybrid memory
US9817588B2 (en) Memory device and operating method of same
CN101425041B (en) Optimizing method for establishing FAT file systems on NAND FLASH memory
CN103092766B (en) A kind of loss equalizing implementation method for NAND FLASH
US20150186225A1 (en) Data storage device and flash memory control method
CN105718206B (en) The flash translation layer (FTL) and its implementation of RAID can be perceived
CN102866956B (en) System and method for data real-time tracking and storage based on solid-state storage medium
US9524238B2 (en) Systems and methods for managing cache of a data storage device
KR20100132244A (en) Memory system and method of managing memory system
JP2013061799A (en) Memory device, control method for memory device and controller
CN101556555B (en) Block managing method for flash memory as well as controller and storage system thereof
CN107710169A (en) The access method and device of a kind of flash memory device
KR20110107845A (en) Memory system and method of controlling memory system
CN101625897A (en) Data write-in method, storage system and controller used for quick flash memory
CN102314321B (en) Storage system, utilization storage system carry out the method and apparatus of data access
US20150205538A1 (en) Storage apparatus and method for selecting storage area where data is written
CN105786722B (en) NVM (non-volatile memory) erasing control method and system based on heterogeneous hybrid memory
CN108563586B (en) Method for separating garbage recovery data and user data in solid-state disk
US20190012260A1 (en) Flash memory package and storage system including flash memory package
US9218294B1 (en) Multi-level logical block address (LBA) mapping table for solid state
JP5579135B2 (en) Data storage device, memory control device, and memory control method
CN116540950B (en) Memory device and control method for writing data thereof
CN110333966B (en) Solid state disk device
US20140068209A1 (en) Accessing remote memory on a memory blade

Legal Events

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