Counting method and storage device
Patent Information
- Application Number
- CN202410075142.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-18
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2044-01-18
AI Technical Summary
[0002]在面对闪存存储产品容量越做越大的趋势之下,算法需要记录管理的闪存磨耗记录表(Program/Erase Count Table,P/E Count Table)所占用的内存空间也随之增大,闪存磨耗记录表是需要不断累计的,所以算法运行时会不定时地将闪存磨耗记录表写入闪存保持,以面对闪存存储产品于使用时可能面临多次断电复电重新启动后依然能正确记录闪存磨耗记录表,但是,由于闪存磨耗记录表所占用的内存空间越来越大,闪存磨耗记录表回存写入闪存的消耗也越来越大,以单个容量32GBytes闪存颗粒由2048个数据块组成为例,每个数据块的磨耗记录使用2Bytes做记录,则需要占用4KB(2048*2Bytes=4KBytes)的内存大小,使用当前主流的4信道,每个信道包含4个CE的闪存控制芯片搭配16颗容量32GB的闪存颗粒组成的容量512GB闪存存储产品,其磨耗记录表就需要占用64KB(16*4KB),至此,闪存磨耗记录表在内存中所需要占用的内存资源,以及回存到闪存中的消耗都需要占用较大的内存空间,在闪存使用过程中会占用闪存的部分使用寿命
[0041]相比起现有的直接在内存上建立闪存磨耗记录表来记录闪存的擦除数据的方案来说,本申请的记数方法通过设立数据块擦除子列表和数据块擦除总表,数据块擦除子列表记录数据块的擦除信息并批次更新到数据块擦除总表中,使得在统计数据块的擦除次数时仅需在内存上占用较小的内存空间,减少闪存磨耗记录表在内存中所需要占用的内存资源,且由于是数据块擦除子列表批次更新到数据块擦除总表中,在更新时所需的回存消耗也能够进一步降低,一定程度上延长闪存的使用寿命。
Smart Images

Figure CN117908792B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and more particularly to a counting method and a storage device. Background Technology
[0002] As flash storage products become increasingly larger, the memory space required for the Program / Erase Count Table (P / E Count Table) that the algorithm needs to record and manage also increases. Since the P / E Count Table needs to be continuously accumulated, the algorithm periodically writes the P / E Count Table back to flash memory during runtime. This ensures that the P / E Count Table can be correctly recorded even after multiple power outages and restarts during flash storage product use. However, as the memory space occupied by the P / E Count Table increases, the overhead of writing the P / E Count Table back to flash memory also increases. For example, a single 32GB flash memory chip consists of 2048 data blocks, and the P / E Count Table for each data block uses 2GB of memory. If ytes is used for recording, it requires 4KB (2048*2Bytes=4KBytes) of memory. Using the current mainstream 4-channel, each channel contains 4 CE flash memory controller chips and 16 32GB flash memory chips to form a 512GB flash memory storage product, its wear record table will require 64KB (16*4KB). Thus, the memory resources required by the flash wear record table in memory, as well as the consumption of writing back to flash memory, all require a large amount of memory space, which will consume part of the lifespan of the flash memory during use. Summary of the Invention
[0003] The purpose of this application is to provide a counting method and storage device that reduces the memory resources required by the flash memory wear record table in memory by establishing a data block erase sublist and a data block erase master list.
[0004] This application discloses a counting method for recording the wear and tear of flash memory in a storage device, including the following steps:
[0005] Create a master table for data block erasure in non-volatile memory;
[0006] Create a data block erase sublist in the temporary storage;
[0007] Obtain data block erasure information;
[0008] Record data is generated based on the erasure information, the record data is used to identify the data block, and the record data is updated to the data block erasure sublist;
[0009] When the recorded data in the data block erase sublist reaches a preset threshold, the data block erase master table is retrieved from the non-volatile memory and sent to the temporary memory. The data block erase master table is then updated according to the data block erase sublist and stored back to the non-volatile memory.
[0010] Clear the data block to erase the record data in the sublist so that it can be counted again.
[0011] Optionally, the step of retrieving the total data block erasure table from non-volatile memory to temporary memory when the recorded data in the data block erasure sublist reaches a preset threshold, updating the total data block erasure table according to the data block erasure sublist, and storing the updated total data block erasure table back to non-volatile memory includes:
[0012] When the number of records in the sublist to be erased by the data block reaches a preset threshold;
[0013] Recall the data block from non-volatile memory to erase the master table to temporary memory;
[0014] Read the record data of the data block erase sublist in sequence. When the record data of each data block is read, increment the wear statistics count corresponding to the record data of that data block in the data block erase total table by 1.
[0015] After reading all the record data in the data block erase sublist, the updated data block erase master table is stored back to non-volatile memory;
[0016] The data block erasure summary table records wear statistics for all data blocks, and the wear statistics consist of the wear count of all data blocks.
[0017] Optionally, the erasure information is the address of the data block.
[0018] Optionally, the step of obtaining the erasure information of the data block and updating the record data of the data block erasure sublist according to the erasure information includes:
[0019] An erase operation was detected on the data block.
[0020] Obtain the erase information of the data block where the erase operation occurred;
[0021] The addresses of the data blocks are arranged into a data string according to the erasure order of the data blocks;
[0022] Record the data string in the data block erase sublist;
[0023] The data string is formed by arranging the addresses of the data blocks according to the erasure order of the data blocks.
[0024] Optionally, the preset threshold for the record data of the data block erase sublist is a storage threshold;
[0025] The storage limit of the data block erasure sublist is X bytes, and the storage threshold is between 0.7X and 0.85X bytes.
[0026] Optionally, the preset threshold for the record data of the data block erase sublist is a record count threshold;
[0027] The maximum number of records to be erased in the data block erase sublist is Y times, and the threshold number of records is between 0.7Y and 0.85Y times.
[0028] Optionally, the preset threshold for the recorded data in the data block erasure sublist is the upper storage limit threshold of the data block erasure sublist.
[0029] Optionally, when the storage device is powered off, the following steps are performed:
[0030] Use backup power from storage devices;
[0031] The data block erase master table is retrieved from non-volatile memory and sent to temporary memory. After updating the data block erase master table based on the current record data of the data block erase sublist, it is stored back to non-volatile memory.
[0032] This application also discloses a counting method for recording the wear and tear of flash memory in a storage device, including the following steps:
[0033] Create a master table for data block erasure in non-volatile memory;
[0034] Create a data block erase sublist and a spare erase list in the temporary storage;
[0035] Obtain data block erasure information, generate record data based on the erasure information, the record data is used to identify the data block, and update the record data to the data block erasure sublist until the record data in the data block erasure sublist reaches a preset threshold;
[0036] Pause the use of the data block erase sublist to record data block erase information, and continue to record data block erase information using the spare erase list;
[0037] Retrieve the data block erase master table from non-volatile memory to temporary memory, update the data block erase master table based on the data block erase sublist, clear the record data of the data block erase sublist, and suspend the use of the standby erase list;
[0038] After updating the data block erasure master table based on the backup erasure list, it is stored back to non-volatile memory. The data block erasure sublist is used to continue recording the erasure information of data blocks until the records in the data block erasure sublist reach a preset threshold. The steps of pausing the use of the data block erasure sublist to record the erasure information of data blocks and using the backup erasure list to continue recording the erasure information of data blocks are repeated.
[0039] This application also discloses a storage device, including flash memory, memory, and a data recording control module. The flash memory has a data block erasure master table, the memory has a data block erasure sub-list, and the data recording control module is connected to the flash memory and the memory.
[0040] The data recording control module drives the flash memory and the memory according to the counting method described above to record the wear and tear of the flash memory.
[0041] Compared to existing methods that directly create a flash memory wear record table in memory to record flash memory erase data, the counting method in this application establishes a data block erase sublist and a data block erase master table. The data block erase sublist records the erase information of data blocks and updates it to the data block erase master table in batches. This means that only a small amount of memory space is needed when counting the number of erase blocks, reducing the memory resources required by the flash memory wear record table in memory. Furthermore, since the data block erase sublist updates the data block erase master table in batches, the write-back overhead required during the update can be further reduced, which can extend the lifespan of the flash memory to a certain extent. Attached Figure Description
[0042] The accompanying drawings, which form part of the specification, are used to provide a further understanding of the embodiments of this application and illustrate the implementation methods of this application, together with the textual description, to explain the principles of this application. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any creative effort. In the drawings:
[0043] Figure 1 This is a flowchart illustrating the steps of a counting method according to the first embodiment of this application;
[0044] Figure 2 This is a schematic diagram illustrating some steps of a counting method according to the first embodiment of this application;
[0045] Figure 3 This is a schematic diagram illustrating some steps of a counting method according to the first embodiment of this application;
[0046] Figure 4This is a flowchart illustrating the steps of a counting method according to the second embodiment of this application;
[0047] Figure 5 This is a flowchart illustrating the steps of a counting method according to the third embodiment of this application;
[0048] Figure 6 This is a schematic diagram of the structure of a storage device according to the fourth embodiment of this application.
[0049] Among them, 100 is a storage device; 200 is a flash memory; 300 is a memory; and 400 is a data recording and control module. Detailed Implementation
[0050] It should be understood that the terminology, specific structural and functional details used herein are merely for describing particular embodiments and are representative. However, this application may be implemented in many alternative forms and should not be construed as being limited to the embodiments set forth herein.
[0051] In the description of this application, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating relative importance or implying the number of technical features indicated. Therefore, unless otherwise stated, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature; "multiple" means two or more. The term "comprising" and any variations thereof mean non-exclusive inclusion, where one or more other features, integers, steps, operations, units, components, and / or combinations thereof may be present or added.
[0052] In addition, terms such as “center,” “horizontal,” “up,” “down,” “left,” “right,” “vertical,” “horizontal,” “top,” “bottom,” “inner,” and “outer” that indicate orientation or positional relationship are based on the orientation or relative positional relationship shown in the accompanying drawings. They are only for the purpose of simplifying the description of this application and do not indicate that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application.
[0053] Furthermore, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium, or internal connections between two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0054] The present application will now be described in detail with reference to the accompanying drawings and optional embodiments. It should be noted that, without conflict, the various embodiments or technical features described below can be arbitrarily combined to form new embodiments.
[0055] like Figure 1 As shown, as a first embodiment of this application, a counting method is disclosed for recording the wear and tear of flash memory in a storage device. The counting method includes the following steps:
[0056] Create a master table for data block erasure in non-volatile memory;
[0057] Create a data block erase sublist in the temporary storage;
[0058] Obtain data block erasure information;
[0059] Record data is generated based on the erasure information, the record data is used to identify the data block, and the record data is updated to the data block erasure sublist;
[0060] Specifically, when a data block is erased, the data block erase sublist located in the temporary storage records the erase information of the erased data block, and records it according to the order in which the data blocks are erased. It can be understood that the memory occupied by the data block erase sublist is related to the number of erase information records in the data block erase sublist. The more erase information recorded in the data block erase sublist, the larger the memory occupied.
[0061] When the recorded data in the data block erase sublist reaches a preset threshold, the data block erase master table is retrieved from the non-volatile memory and sent to the temporary memory. The data block erase master table is then updated according to the data block erase sublist and stored back to the non-volatile memory after the updated data block erase master table is sent back to the non-volatile memory.
[0062] Specifically, when the recorded data in the data block erasure sublist reaches a preset threshold, recording stops and waits to be written into the data block erasure master table. The data block erasure master table is retrieved from non-volatile memory to temporary memory, and the data in the data block erasure master table is updated sequentially based on the data recorded in the data block erasure sublist that has reached the preset threshold. After the data block erasure master table is updated, it is then stored back in non-volatile memory.
[0063] Clear the record data in the data block erase sublist to recount until the records in the data block erase sublist reach a preset threshold, then repeat the previous step to update the total data block erase table located in non-volatile memory.
[0064] The counting method described in this application establishes a data block erase sublist and a data block erase master table. The data block erase master table is stored in non-volatile memory, while the data block erase sublist is stored in temporary memory. When a data block is erased, the erase information is recorded only through the data block erase sublist, without using the data block erase master table. This allows for recording data block erase information with only a small amount of memory in the temporary memory (i.e., the size of one data block erase sublist). Furthermore, when the number of records in the data block erase sublist reaches a preset threshold, the erase information recorded in the data block erase sublist is sequentially updated to the data block erase master table and stored in non-volatile memory. Therefore, during long-term use, the memory size occupied by the data block erase sublist will not become excessive over time. In summary, compared to existing methods that directly establish a flash memory wear record table in memory to record flash memory erase data, the counting method in this application establishes a data block erase sub-list and a data block erase master table. The data block erase sub-list records the erase information of data blocks and updates it to the data block erase master table in batches. This reduces the memory space required in memory when counting the number of erases of data blocks, thus reducing the memory resources required by the flash memory wear record table in memory. Furthermore, since the data block erase sub-list updates the data block erase master table in batches, the write-back overhead required during updates can be further reduced, extending the lifespan of flash memory to a certain extent. It is understood that the non-volatile memory is flash memory, the temporary memory is RAM, the flash memory does not lose data when power is off, while the RAM loses data when power is off.
[0065] Furthermore, such as Figure 2 As shown, the steps of retrieving the total data block erasure table from non-volatile memory to temporary memory when the recorded data in the data block erasure sublist reaches a preset threshold, updating the total data block erasure table according to the data block erasure sublist, and storing the updated total data block erasure table back to non-volatile memory include:
[0066] When the number of records in the sublist to be erased by the data block reaches a preset threshold;
[0067] Recall the data block from non-volatile memory to erase the master table to temporary memory;
[0068] Read the record data of the data block erase sublist in sequence. When the erase information of each data block is read, increment the wear statistics number corresponding to the erase information of that data block in the total data block erase table by 1.
[0069] Specifically, the data block erasure master table contains wear statistics for all data blocks. When the record data of the data block erasure sublist is read, the wear statistics of the corresponding data block in the data block erasure master table are found and the count is incremented by 1 to record it. This process continues until all erasure information recorded in the data block erasure sublist is updated to the data block erasure master table.
[0070] After reading all the record data in the data block erase sublist, the updated data block erase master table is stored back to non-volatile memory;
[0071] The data block erase summary table records wear statistics for all data blocks, and the wear statistics consist of the wear count for all data blocks.
[0072] In this embodiment, the recorded data is the address of a data block or unique identifier of the data block. As long as the erasure information can identify the specific data block, it is acceptable. The erasure information includes the address of the data block so that when the erasure information of the data block is obtained, it can be known that the data block has been erased. When updating the data block erasure master table, the data block erasure master table counts the wear data of all data blocks. The data block erasure master table will increase the wear count of the corresponding data block according to the erasure information recorded in the data block erasure sublist, according to the number of times the erasure information appears, to ensure the accuracy of the wear statistics of the data block erasure master table and to be directly applied to the wear-leveling technology.
[0073] Furthermore, such as Figure 3 As shown, the steps of obtaining the erasure information of the data block and updating the record data of the data block erasure sublist according to the erasure information include:
[0074] An erase operation was detected on the data block.
[0075] Obtain the erase information of the data block where the erase operation occurred;
[0076] The addresses of the data blocks are arranged into a data string according to the erasure order of the data blocks;
[0077] Specifically, data blocks can be erased sequentially or in batches, such as erasing three or five data blocks simultaneously. In this case, the addresses of the data blocks are arranged into a data string according to the erasure order and recorded in the data block erasure sublist so as to update the data block erasure master table.
[0078] Record the data string in the data block erase sublist;
[0079] The data string is formed by arranging the addresses of the data blocks according to the erasure order of the data blocks.
[0080] The following example uses an array of length 128 as the data block erase sublist:
[0081] At the start, the data block erase sublist is empty;
[0082] Unsigned long Block_erase_list
[128] ;
[0083] When performing a data block erase, assuming the order is block23, block27, block1132, block1130, block100, block99, block100, and block1132, the data block erase sublist will be displayed as follows:
[0084] Block_erase_list={23,27,1132,1130,100,99,100,1132}
[0085] The data block erasure sublist records the addresses of the erased data blocks sequentially until the recorded data in the data block erasure sublist reaches a preset threshold. Then, the recorded data is updated to the main data block erasure table, and the data block erasure sublist is cleared to start counting again.
[0086] Furthermore, the preset threshold for the data block erasure sublist can be set in two ways, which will be described in detail below:
[0087] The first setting method is as follows: the preset threshold for the recorded data in the data block erasure sublist is a storage threshold, and the upper limit of the storage of the data block erasure sublist is X bytes. The storage threshold is between 0.7X and 0.85X bytes, where X bytes is determined by the size of the storage device, that is, by the number of data blocks. The more data blocks there are, the larger the address of a data block recorded in the data block erasure sublist will be. The address of the data block is determined by the arrangement order of the data blocks. The later the data block is in the order, the larger the number of bytes required for the address of the data block. The storage threshold is set between 0.7X and 0.85X bytes. The data eraser list should be between 85 bytes to avoid exceeding the total record limit of the data block eraser sublist when recording erase information of data blocks, which would result in incomplete data. Of course, the preset threshold of the data block eraser sublist can also be set outside the range of 0.7X to 0.85 bytes. The preset threshold of the data recorded in the data block eraser sublist is the storage limit threshold of the data block eraser sublist. This ensures that the data block eraser sublist is updated to the total data block eraser table only after it is full of erase information of data blocks, which reduces the number of times the total data block eraser table is written back to non-volatile memory to a certain extent.
[0088] The second configuration involves setting a preset threshold for the number of records in the data block erase sublist as a record count threshold. The maximum number of records in the data block erase sublist is set to Y times, with the record count threshold ranging from 0.7Y to 0.85Y times. Here, Y times is determined by the number of data blocks in the storage device. Setting the maximum record count between 0.7Y and 0.85Y avoids situations where, during batch data block erasure, the number of data block addresses that need to be recorded exceeds the remaining record count in the data block erase sublist, necessitating updating the overall data block erase table before recording in the data block erase sublist. Designers can choose between these two configurations based on the storage device's design; no restrictions are imposed here.
[0089] like Figure 4 As shown, as a second embodiment of this application, a counting method is disclosed for recording the wear and tear of flash memory in a storage device. When the storage device experiences a power outage, the following steps are performed:
[0090] Use backup power from storage devices;
[0091] Specifically, the backup power source for the storage device can be a micro battery or a micro dry cell battery, which can provide the power required for the short-term operation of the non-volatile memory and temporary memory in the event of a power outage.
[0092] The data block erase master table is retrieved from non-volatile memory and sent to temporary memory. After updating the data block erase master table based on the current record data of the data block erase sublist, it is stored back into non-volatile memory.
[0093] The counting method in this embodiment can still update the erase information recorded in the data block erase sublist when the storage device is powered off by using the backup power supply of the storage device, so as to record it in the data block erase master table. This avoids the direct loss of the erase information recorded in the data block erase sublist when the power is off, which would cause the recorded data in the data block erase master table to be inaccurate compared with the actual wear and tear of the flash memory.
[0094] like Figure 5 As shown, as a third embodiment of this application, a counting method is disclosed for recording the wear and tear of flash memory in a storage device, including the following steps:
[0095] Create a master table for data block erasure in non-volatile memory;
[0096] Create a data block erase sublist and a spare erase list in the temporary storage;
[0097] Obtain the erasure information of the data block, generate record data based on the erasure information, the record data is used to identify the data block, and update the data block erasure sublist with the record data until the record data of the data block erasure sublist reaches a preset threshold;
[0098] Pause the use of the data block erase sublist to record data block erase information, and continue to record data block erase information using the spare erase list;
[0099] Specifically, when the recorded data in the data block erasure sublist reaches a preset threshold, the use of the data block erasure sublist for recording is suspended, and the backup erasure list is used to continue recording the data block erasure information. This ensures that the recording of data block erasure information can continue even as the recorded data in the data block erasure sublist is updated to the data block erasure master table.
[0100] Retrieve the data block erase master table from non-volatile memory to temporary memory, update the data block erase master table based on the data block erase sublist, clear the record data of the data block erase sublist, and suspend the use of the standby erase list;
[0101] Specifically, after the record data of the data block erase sublist is updated to the data block erase master table, the record data of the data block erase sublist is cleared so that the data block erase sublist can be reused to record the data block erase information, and the use of the backup erase list is suspended.
[0102] After updating the data block erasure master table based on the backup erasure list, it is stored back to non-volatile memory. The data block erasure sublist is used to continue recording the erasure information of data blocks until the records in the data block erasure sublist reach a preset threshold. The steps of pausing the use of the data block erasure sublist to record the erasure information of data blocks and using the backup erasure list to continue recording the erasure information of data blocks are repeated.
[0103] In this embodiment, the counting method, when the number of records in the data block erasure sublist reaches a preset threshold, can call the backup erasure list to continue recording the data block erasure information. This ensures that even when the data recorded in the data block erasure sublist is updated to the total data block erasure table, the recording of data block erasure information can continue. Furthermore, after the total data block erasure table is updated, the data block erasure sublist will take over the work of the backup erasure list to continue recording the data block erasure information. This ensures that the backup erasure list records data during the process of updating the data recorded in the data block erasure sublist to the total data block erasure table. The erase information of the recorded data blocks can be written to the data block erase master table to update the data block erase master table. Then, the updated data block erase master table is stored back into the non-volatile memory. In general, the counting method of this embodiment sets up a backup erase list. During the process of updating the recorded data of the data block erase sublist to the data block erase master table, that is, when the data block erase sublist stops working after reaching a preset threshold, the backup erase list can continue to record the erase information of the data blocks, so that the storage device can work uninterruptedly and avoid the omission of the recording of the erase information of the data blocks.
[0104] like Figure 6 As shown in the fourth embodiment of this application, a storage device 100 is disclosed. The storage device 100 includes a flash memory 200, a memory 300, and a data recording control module 400. The flash memory 200 has a data block erasure master table, and the memory 300 has a data block erasure sub-list. The data recording control module 400 is connected to the flash memory 200 and the memory 300. The data recording control module 400 drives the flash memory 200 and the memory 300 according to the counting method described in the above embodiment to record the wear and tear of the flash memory 200, so as to facilitate the detection and control of the wear and tear of each data block using the average wear and tear technique based on the data block erasure master table.
[0105] The storage device of this application establishes a data block erasure sublist and a data block erasure master table. The data block erasure sublist records the erasure information of data blocks and updates it to the data block erasure master table in batches. This reduces the memory space required in memory when counting the number of data block erasures, thereby reducing the memory resources required by the flash memory wear record table. Furthermore, since the data block erasure sublist updates the data block erasure master table in batches, the write-back consumption required during the update can be further reduced, thus extending the lifespan of the flash memory to a certain extent.
[0106] It should be noted that the limitations on each step involved in this solution are not considered as limiting the order of steps, provided that they do not affect the implementation of the specific solution. The steps listed first can be executed first, later, or even simultaneously. As long as this solution can be implemented, it should be considered to fall within the scope of protection of this application.
[0107] It should be noted that the inventive concept of this application can form many embodiments, but due to the limited space of the application documents, they cannot all be listed. Therefore, without conflict, the embodiments described above or the technical features can be arbitrarily combined to form new embodiments. After the embodiments or technical features are combined, the original technical effect will be enhanced.
[0108] The above description, in conjunction with specific optional embodiments, provides a further detailed explanation of this application and should not be construed as limiting the specific implementation of this application to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of this application, and all such modifications or substitutions should be considered within the scope of protection of this application.
Claims
1. A counting method for recording the wear and tear of flash memory in a storage device, characterized in that, Including the following steps: Create a master table for data block erasure in non-volatile memory; Create a data block erase sublist and a spare erase list in the temporary storage; Obtain data block erasure information, generate record data based on the erasure information, the record data is used to identify the data block, and update the record data to the data block erasure sublist until the record data in the data block erasure sublist reaches a preset threshold; Pause the use of the data block erase sublist to record data block erase information, and continue to record data block erase information using the spare erase list; Retrieve the data block erase master table from non-volatile memory to temporary memory, update the data block erase master table based on the data block erase sublist, clear the record data of the data block erase sublist, and suspend the use of the standby erase list; After updating the data block erasure master table based on the backup erasure list, it is stored back to non-volatile memory. The data block erasure sublist is used to continue recording the erasure information of data blocks until the records in the data block erasure sublist reach a preset threshold. The steps of pausing the use of the data block erasure sublist to record the erasure information of data blocks and using the backup erasure list to continue recording the erasure information of data blocks are repeated.
2. A storage device, characterized in that, It includes flash memory, memory, and a data recording control module. The flash memory contains a master data block erasure table, and the memory contains a sub-list of data block erasures. The data recording control module is connected to the flash memory and the memory. The data recording control module drives the flash memory and the memory according to the counting method described in claim 1 to record the wear and tear of the flash memory.
Citation Information
Patent Citations
A storage control method, system, and apparatus suitable for Internet storage systems.
CN102279712A
Mapping table management method and memory
CN116737613A