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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-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
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.
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)
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)
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 |
-
2020
- 2020-04-12 CN CN202010282653.9A patent/CN111488126B/en active Active
Patent Citations (5)
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)
Title |
---|
毛宇: "磁盘阵列及磁盘块级容量提升技术研究", 《中国博士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (7)
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 |