Method for optimizing garbage collection efficiency, storage device and electronic equipment
By monitoring the number of empty blocks in solid-state storage devices and performing garbage collection at different rates according to different conditions, the problem of GC speed acceleration when empty blocks are reduced is solved, and the write speed is optimized and the fluctuations in read and write speed are reduced.
Patent Information
- Application Number
- CN202510672036.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-23
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2045-05-23
AI Technical Summary
When the number of empty blocks of solid state storage devices decreases, the garbage collection (GC) speed increases, resulting in large fluctuations in read and write speeds, and the prior art starts GC when there are fewer empty blocks, resulting in a decrease in the writing speed of some data.
Provides a method to optimize garbage collection efficiency, by monitoring the number of remaining empty blocks, performing garbage collection at different rates in response to different trigger conditions. Specifically, it includes: performing early garbage collection at a first rate when the first trigger condition is met; and performing garbage collection at a second rate greater than the first rate when the second trigger condition is met.
By garbage collection and adjusting the programming data volume of the GC process in advance, the write speed of the storage device is optimized, and the read and write speed decrease caused by GC is avoided.
Smart Images

Figure CN120179574A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of storage technologies, and in particular, to a method for optimizing garbage collection efficiency, a storage device, and an electronic device. Background Art
[0002] The read and write processes of solid-state storage devices using flash memory (Nand Flash) as the storage medium are essentially different from those of traditional HDDs. Especially in terms of writing, HDDs can directly overwrite the data stored on the magnetic disk, while NAND storage devices cannot. The performance of erasing first and then writing makes solid-state storage devices have an additional erasing operation. The non-uniformity between the write unit (Page) and the erase unit (Block) makes solid-state storage devices constantly move around among different blocks. There will be both valid data and invalid data on some blocks. When the amount of invalid data is excessive, garbage collection (GC) needs to be performed to clean it up, that is, move the valid data to a new block, then empty the old block, and then the old block can be used again.
[0003] Generally, when the number of empty blocks in the storage device is less than a certain amount, GC will be started. As the number of empty blocks decreases, the required GC speed becomes faster, which may cause the read and write speed fluctuations of the storage device to become larger. In addition, in general GC processes, blocks are not released in advance when the number of empty blocks is less than a certain amount. For the case where the host continuously overwrites data and the degree of continuous overwriting of the sent data is large, there will be very little valid data on some data blocks. At this time, GC is still started when the number of empty blocks is small, resulting in the write speed of some data dropping too low. Summary of the Invention
[0004] To solve the above technical problems, the present invention provides a method for optimizing garbage collection efficiency, a storage device, and an electronic device.
[0005] For this purpose, a first aspect of the present invention provides a method for optimizing garbage collection efficiency, including: in response to a write data request from a host, monitoring whether a first recycling trigger condition is met; in response to meeting the first trigger condition, performing early garbage collection at a first rate; monitoring whether a second trigger condition is met; in response to meeting the second trigger condition, performing garbage collection at a second rate, where the second rate is greater than the first rate.
[0006] In a specific embodiment, the monitoring of whether the first recycling trigger condition is met includes: judging whether the number of remaining empty blocks meets a first preset condition; if the number of remaining empty blocks meets the first preset condition, obtaining the amount of valid data in each written block; Determine the total amount of valid data in the N blocks with the least amount of valid data, where N is a natural number; Determine whether the total amount is less than the total capacity of an empty block; If the total amount is less than the total capacity of an empty block, it is confirmed that the first recycling trigger condition is met.
[0007] In a specific embodiment, the monitoring of whether the first recycling trigger condition is met includes: Determine whether the number of remaining empty blocks meets the first preset condition; If the number of remaining empty blocks meets the first preset condition, it is confirmed that the first recycling trigger condition is met.
[0008] In a specific embodiment, the determination of whether the number of remaining empty blocks meets the first preset condition includes: Determine whether the ratio of the number of remaining empty blocks to the total number of blocks is no longer greater than the first preset threshold; or Determine whether the number of remaining empty blocks is no longer less than the first quantity threshold.
[0009] In a specific embodiment, the monitoring of whether the first recycling trigger condition is met includes: Obtain the amount of valid data in each written block; Determine the total amount of valid data in the N blocks with the least amount of valid data, where N is a natural number; Determine whether the total amount is less than the total capacity of an empty block; If the total amount is less than the total capacity of an empty block, it is confirmed that the first recycling trigger condition is met.
[0010] In a specific embodiment, the performing of the early garbage collection at the first rate includes: Perform the early garbage collection based on the amount of data programmed for one garbage collection, where the amount of data programmed for one garbage collection depends on the type of storage device.
[0011] In a specific embodiment, the monitoring of whether the second trigger condition is met includes: determining whether the second trigger condition is met based on the number of remaining empty blocks.
[0012] In a specific embodiment, the monitoring of whether the second trigger condition is met includes: Determine whether the number of remaining empty blocks meets the second preset condition, where the second preset condition includes one of the following ranges: First range: The third quantity threshold < the number of remaining empty blocks ≤ the second quantity threshold; Second range: The fourth quantity threshold < the number of remaining empty blocks ≤ the third quantity threshold; Third range: The number of remaining empty blocks ≤ the fourth quantity threshold.
[0013] In a specific embodiment, in response to satisfying the second trigger condition, garbage collection is performed at a second rate, including: Select a corresponding garbage collection mode based on the range satisfied by the number of the remaining empty blocks; Perform garbage collection at the second rate according to the corresponding garbage collection mode, where the second rate corresponding to the first range is greater than the second rate corresponding to the second range, and the second rate corresponding to the second range is greater than the second rate corresponding to the third range.
[0014] In a specific embodiment, the garbage collection uses one of a greedy algorithm, a cost-benefit algorithm, and a window algorithm.
[0015] The second aspect of the present invention provides a device for optimizing garbage collection efficiency, including: A first monitoring module, which monitors whether the first garbage collection trigger condition is satisfied in response to a write data request from a host; A first execution module, which performs early garbage collection at a first rate in response to satisfying the first trigger condition; A second monitoring module, which monitors whether the second trigger condition is satisfied; A second execution module, which performs garbage collection at a second rate in response to satisfying the second trigger condition, where the second rate is greater than the first rate.
[0016] The third aspect of the present invention provides a storage device, including a controller and a flash memory module, where a program is included in the flash memory module, and when the program is executed by the controller, the method described in the first aspect of the present invention is implemented.
[0017] The fourth aspect of the present invention provides an electronic device, including a host and the storage device described in the third aspect of the present invention.
[0018] Compared with the prior art, the beneficial effects of the present invention are: The method of the present invention can not only enter the early GC process to organize data according to the remaining number of empty blocks and release blocks in advance, but also change the amount of data programmed in the GC process according to the remaining number of empty blocks, so that the partial write speed will not drop too low after starting GC. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for the description of the specific embodiments or the prior art.
[0020] Figure 1It is a schematic diagram of a storage device according to an embodiment of the present invention; Figure 2 It is a flowchart of a method for optimizing garbage collection efficiency according to an embodiment of the present invention; Figure 3 It is a flowchart of monitoring whether a first recycling trigger condition is met according to an embodiment of the present invention; Figure 4 It is a flowchart of monitoring whether a first recycling trigger condition is met according to another embodiment of the present invention; Figure 5 It is a flowchart of monitoring whether a first recycling trigger condition is met according to still another embodiment of the present invention; Figure 6 It is a flowchart of performing garbage collection at a second rate according to still another embodiment of the present invention. Detailed implementation manners
[0021] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
[0022] Figure 1 It is a schematic diagram of a storage device 12 according to an embodiment of the present invention. The storage device 12 includes a flash memory module 125 and a flash memory controller 120, and the flash memory controller 120 is used to access the flash memory module 125. According to this embodiment, the flash memory controller 120 includes a processor, control logic, buffer storage, and interface logic. The processor is used to execute program code to control the access to the flash memory module. Typically, the flash memory module includes a plurality of flash memory chips, and each flash memory chip includes a plurality of blocks, and the flash memory controller erases data from the flash memory module in units of blocks. In addition, a block can record a specific number of data pages, and the flash memory controller writes data to the flash memory module in units of data pages. In one example, the flash memory module is a three-dimensional NAND-type flash (3D NAND-type flash) module.
[0023] A flash memory controller that executes program code through a processor can utilize its own internal components to perform many control operations. For example, it uses control logic to control the access operations of the flash memory module (especially the access operations to at least one block or at least one data page), performs required buffering processing using a buffer memory, and uses interface logic to communicate with a host (HostDevice) 10. The buffer memory is implemented using random access memory (Random Access Memory, RAM). For example, the buffer memory can be static random access memory (Static RAM, SRAM), but the present invention is not limited thereto.
[0024] In one embodiment, the storage device 12 can be a portable memory device (e.g., a memory card compliant with the SD / MMC, CF, MS, XD standards), and the host 10 is an electronic device that can be connected to the storage device, such as a mobile phone, a laptop computer, a desktop computer, a dash cam, and so on. In another embodiment, the storage device 12 can be a solid-state drive or an embedded storage device compliant with the Universal Flash Storage (UFS) or Embedded Multi MediaCard (EMMC) specification, to be disposed in an electronic device, such as in a mobile phone, a laptop computer, or a desktop computer. At this time, the host 10 can be a processor of the electronic device.
[0025] Therefore, a first aspect of the present invention provides a method for optimizing garbage collection efficiency, as Figure 2 shown, including: S10. In response to a write data request from the host, monitor whether a first recycling trigger condition is satisfied.
[0026] In an example, when the host 10 sends a write request to the storage device, the flash memory controller 120 of the storage device 12 starts to execute the method of the present invention and monitors whether the first recycling trigger condition is satisfied.
[0027] In a specific embodiment, the monitoring of whether the first recycling trigger condition is satisfied, as Figure 3 shown, includes: S100. Determine whether the number of remaining empty blocks satisfies a first preset condition; For example, the total number of blocks in the flash memory module 125 is 1000, divided into written blocks and empty blocks. In an example, the number of remaining blocks is 450.
[0028] In this case, two judgment logics can be preset.
[0029] The first method is to judge from the proportion, that is, to judge whether the ratio of the number of remaining empty blocks to the total number of blocks is no longer greater than the first preset threshold. For example, the first preset threshold is set to 50% in advance. When the proportion of the number of remaining empty blocks is less than 50%, it is determined that the first preset condition is satisfied. For example, in the above example, the number of remaining blocks is 450, and the proportion of the total number of blocks is less than 50%, so it is determined that the first preset condition is satisfied.
[0030] The second method is to judge directly from the quantity, that is, to judge whether the number of remaining empty blocks is no longer less than the first quantity threshold. For example, the first quantity threshold is set to 500 in advance. When the number of remaining blocks is less than 500, it is determined that the first preset condition is satisfied. For example, in the above example, the number of remaining blocks is 450, which is less than 500, so it is determined that the first preset condition is satisfied.
[0031] Those skilled in the art can understand that the first method has better generalization in programming. Since the judgment criterion of proportion is adopted, it is not necessary to consider the total number of blocks in different flash memory modules.
[0032] S102. If the number of remaining empty blocks meets the first preset condition, obtain the amount of valid data in each written block.
[0033] The controller can obtain the amount of valid pages in the written blocks (i.e., the amount of pages with written data) by reading the metadata or mapping table stored in the flash memory module.
[0034] On the other hand, if the number of remaining empty blocks does not meet the first preset condition, the method ends and no other actions are performed.
[0035] S104. Determine the total amount of valid data in the N blocks with the least amount of valid data, where N is a natural number; In one example, sort the amounts of valid data in all written blocks from smallest to largest, and select the first 5 written blocks (i.e., N is selected as 5). Those skilled in the art can understand that the selection of N can be based on the actual situation, such as whether it is desired to trigger garbage collection earlier or later.
[0036] S106. Judge whether the total amount is less than the total capacity of an empty block.
[0037] In one example, the total capacity of an empty block is 512 pages (taking TLC as an example); on the other hand, the amounts of valid pages in the top 5 written blocks are 50, 70, 90, 90, and 100 respectively, and the total amount is 400. In this case, the total amount is less than the total capacity.
[0038] S108. If the total amount is less than the total capacity of an empty block, confirm that the first recycling trigger condition is satisfied.
[0039] On the other hand, if the number of remaining empty blocks does not meet the first preset condition, the method ends and the remaining actions are not executed.
[0040] In the above example, the judgment is first made at the block level and then at the page level. Only when both levels meet the preset requirements, the subsequent early recycling strategy is executed to release the empty blocks in advance, so as to reduce the impact on the write operation as late as possible. However, in practice, this standard is sometimes too high, and instead, it is desired to perform garbage collection in advance at the expense of the write operation speed to a certain extent. For this reason, the present invention provides another implementation.
[0041] In another alternative embodiment, the monitoring of whether the first recycling trigger condition is met, as Figure 4 shown, includes: S110. Determine whether the number of remaining empty blocks meets the first preset condition; For example, the total number of blocks in the flash memory module 125 is 1000, which are divided into written blocks and empty blocks. In one example, the number of remaining blocks is 450.
[0042] In this case, two judgment logics can be preset.
[0043] The first is to judge from the proportion, that is, to judge whether the ratio of the number of remaining empty blocks to the total number of blocks is no longer greater than the first preset threshold. For example, the first preset threshold is preset to 50%. When the proportion of the number of remaining empty blocks is less than 50%, it is determined that the first preset condition is met. For example, in the above example, the number of remaining blocks is 450, and the proportion of the total number of blocks is less than 50%, so it is determined that the first preset condition is met.
[0044] The second is to directly judge from the quantity, that is, to judge whether the number of remaining empty blocks is no longer less than the first quantity threshold. For example, the first quantity threshold is preset to 500. When the number of remaining blocks is less than 500, it is determined that the first preset condition is met. For example, in the above example, the number of remaining blocks is 450, which is less than 500, so it is determined that the first preset condition is met.
[0045] Those skilled in the art can understand that the first method has better generalization in programming. Since the judgment standard of proportion is adopted, it is not necessary to consider the total number of blocks in different flash memory modules.
[0046] S112. If the number of remaining empty blocks meets the first preset condition, it is confirmed that the first recycling trigger condition is met.
[0047] The controller can obtain the amount of valid pages in the written blocks (i.e., the amount of pages with written data) by reading the metadata or mapping table stored in the flash memory module.
[0048] In this embodiment, it is only determined at the block level whether the first recycling trigger condition is satisfied. If it is satisfied, the subsequent early garbage collection strategy is executed.
[0049] In an alternative embodiment, the monitoring of whether the first recycling trigger condition is satisfied is as follows Figure 5 shown and includes: S130. Obtain the amount of valid data in each written block; The controller can obtain the amount of valid pages (i.e., the amount of pages with written data) in the written block by reading the metadata or mapping table stored in the flash memory module.
[0050] S132. Determine the total amount of valid data in the N blocks with the least amount of valid data, where N is a natural number; In one example, the amounts of valid data in all written blocks are sorted from smallest to largest, and the first 5 written blocks are selected (i.e., N is selected as 5). Those skilled in the art can understand that the selection of N can be made according to the actual situation, such as whether it is desired that the early garbage collection intervenes earlier or later.
[0051] S134. Determine whether the total amount is less than the total capacity of an empty block; In one example, the total capacity of an empty block is 512 pages (taking TLC as an example); on the other hand, the amounts of valid pages in the top 5 written blocks are 50, 70, 90, 90, and 100 respectively, and the total amount is 400. In this case, the total amount is less than the total capacity.
[0052] S136. If the total amount is less than the total capacity of an empty block, confirm that the first recycling trigger condition is satisfied.
[0053] In this embodiment, it is only determined at the page level whether the first recycling trigger condition is satisfied. If it is satisfied, the subsequent early garbage collection strategy is executed.
[0054] S12. In response to satisfying the first trigger condition, perform early garbage collection at the first rate.
[0055] In a specific embodiment, common garbage collection strategies include: Greedy Algorithm; Cost-Benefit Algorithm; Window Algorithm, etc. This application can select a suitable algorithm as the early garbage collection strategy, and this application does not make any limitations in this regard.
[0056] In a specific embodiment, the early garbage collection is performed based on the preset amount of data programmed for one garbage collection, where the preset amount of data programmed for one garbage collection depends on the type of storage device.
[0057] When performing early garbage collection at the first rate, what the present invention does is to slowly organize the data, which will have a little impact on writing, and the writing speed is still greater than the writing speed at the second rate mentioned later.
[0058] The garbage collection at the first rate is also related to the writing behavior at the front end. Since there will be a behavior of repeatedly writing data at the front end, if the probability of repeated writing is high, then the garbage collection is started, and the first rate can meet the requirement of releasing enough empty blocks, thus avoiding entering the garbage collection at the second rate.
[0059] In one example, the amount of data programmed in one GC process is set to the size of one word line. According to different types of storage devices, the size of one word line is also different.
[0060] For example, for TLC, the number of pages programmed at one time is 3; for SLC, the number of pages programmed at one time is 1; for MLC, the number of pages programmed at one time is 2.
[0061] S14. Monitor whether the second trigger condition is satisfied.
[0062] The controller monitors whether the preset second trigger condition is satisfied.
[0063] In a specific embodiment, the monitoring of whether the second trigger condition is satisfied includes: Judge whether the number of remaining empty blocks satisfies the second preset condition, wherein the second preset condition includes one of the following ranges: The first range: the third quantity threshold < the number of remaining empty blocks ≤ the second quantity threshold; The second range: the fourth quantity threshold < the number of remaining empty blocks ≤ the third quantity threshold; The third range: the number of remaining empty blocks ≤ the fourth quantity threshold.
[0064] In one example, the second quantity threshold is 9, the third quantity threshold is 6, and the fourth quantity threshold is 3.
[0065] S16. In response to satisfying the second trigger condition, perform garbage collection at the second rate, where the second rate is greater than the first rate.
[0066] When it is judged that the second trigger condition is satisfied, that is, when it is judged that the number of remaining empty blocks falls into any one of the above first, second, or third ranges, garbage collection can be performed at a second rate higher than the first rate. Those skilled in the art can understand that the faster the rate of garbage collection, the slower the partial writing speed will be.
[0067] At this time, if early garbage collection is also being performed, the first rate can be increased to the second rate to execute the same garbage collection policy; or early garbage collection can be stopped to execute a different garbage collection policy at the second rate, such as the Greedy Algorithm, the Cost-Benefit Algorithm, or the Window Algorithm, etc. This application can select a suitable algorithm as the garbage collection policy, and this application does not limit this.
[0068] In a specific embodiment, in response to satisfying the second trigger condition, garbage collection is performed at the second rate, as Figure 6 shown, including: S160. Select a corresponding garbage collection mode based on the range satisfied by the number of remaining empty blocks; Continuing with the above example, the first range corresponds to the first garbage collection mode; the second range corresponds to the second garbage collection mode; the third range corresponds to the third garbage collection mode.
[0069] S162. Perform garbage collection at the second rate according to the corresponding garbage collection mode, where the second rate corresponding to the first range is greater than the second rate corresponding to the second range, and the second rate corresponding to the second range is greater than the second rate corresponding to the third range.
[0070] Taking the TLC flash memory module as an example, the second rate corresponding to the first range is that the number of pages programmed at one time is 9; the second rate corresponding to the second range is that the number of pages programmed at one time is 27; the second rate corresponding to the third range is that the number of pages programmed at one time is 96.
[0071] Programming a fixed number of pages each time can ensure that the time for each entry into garbage collection is relatively average, preventing the risk that the write speed will drop too low due to one entry into garbage collection.
[0072] The method of the present invention can not only enter the early GC process to slowly organize data according to the remaining number of empty blocks and release blocks in advance, but also select different GC modes according to the remaining number of empty blocks, change the amount of data programmed at one time in the GC process, so that the partial write speed will not drop too low after starting GC.
[0073] It should be noted that the above method for optimizing garbage collection efficiency is not only applicable to the scenario of user data writing, but also equally applicable to the scenario of mapping table data writing. In data storage, some dedicated blocks are usually allocated to store mapping table data, and some are allocated from the remaining blocks to store user data. However, both mapping table data and user data require garbage collection, so the optimization method proposed by the present invention is also equally applicable.
[0074] The second aspect of the present invention provides a storage device, as Figure 1 shown, including a controller and a flash memory module. The flash memory module includes a program, and when the program is executed by the controller, it implements the method described in the first aspect of the present invention.
[0075] The third aspect of the present invention provides an electronic device, as Figure 1 shown, including a host and the storage device described in the second aspect of the present invention.
[0076] The fourth aspect of the present invention provides a device for optimizing garbage collection efficiency, including: A first monitoring module that monitors whether a first garbage collection trigger condition is met in response to a write data request from the host; A first execution module that performs early garbage collection at a first rate in response to the first trigger condition being met; A second monitoring module that monitors whether a second trigger condition is met; A second execution module that performs garbage collection at a second rate in response to the second trigger condition being met, where the second rate is greater than the first rate.
[0077] It should be noted that although the above embodiments describe the various steps in a specific order, those skilled in the art can understand that in order to achieve the effects of the present application, it is not necessary for different steps to be executed in such an order. They can be executed simultaneously (in parallel) or in other orders, and these adjusted solutions are equivalent technical solutions to the technical solutions described in the present application, and thus will also fall within the protection scope of the present application.
[0078] The above embodiments are only specific embodiments of the present invention, used to illustrate the technical solutions of the present invention, rather than limiting them. The protection scope of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: any person skilled in the art within the technical scope disclosed by the present invention can still modify or improve the technical solutions described in the foregoing embodiments, or perform equivalent substitution on some of the technical features; and these modifications, changes or substitutions do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered by the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.
Claims
1. A method for optimizing garbage collection efficiency, characterized in that, Including: In response to a write data request from the host, monitor whether the first garbage collection trigger condition is met; In response to meeting the first trigger condition, perform early garbage collection at a first rate; Monitor whether the second trigger condition is met; In response to meeting the second trigger condition, perform garbage collection at a second rate, where the second rate is greater than the first rate.
2. The method according to claim 1, characterized in that, The monitoring of whether the first garbage collection trigger condition is met includes: Judge whether the number of remaining empty blocks meets a first preset condition; If the number of remaining empty blocks meets the first preset condition, confirm that the first garbage collection trigger condition is met.
3. The method according to claim 2, characterized in that, The judging of whether the number of remaining empty blocks meets the first preset condition includes: Judge whether the ratio of the number of remaining empty blocks to the total number of blocks is no longer greater than a first preset threshold; or Judge whether the number of remaining empty blocks is no longer less than a first quantity threshold.
4. The method according to claim 1, characterized in that, The monitoring of whether the first garbage collection trigger condition is met includes: Obtain the amount of valid data in each written block; Determine the total amount of valid data in the N blocks with the least amount of valid data, where N is a natural number; Judge whether the total amount is less than the total capacity of an empty block; If the total amount is less than the total capacity of an empty block, confirm that the first garbage collection trigger condition is met.
5. The method according to claim 1, characterized in that, The performing of the early garbage collection at the first rate includes: Perform the early garbage collection based on the amount of data programmed for one garbage collection, where the amount of data programmed for one garbage collection depends on the type of storage device.
6. The method according to claim 1, characterized in that, The monitoring of whether the second trigger condition is met includes: judging whether the second trigger condition is met based on the number of remaining empty blocks.
7. The method according to any one of claims 1-6, characterized in that, The garbage collection uses one of a greedy algorithm, a cost-benefit algorithm, and a window algorithm.
8. An apparatus for optimizing garbage collection efficiency, characterized in that, Including: A first monitoring module that, in response to a write data request from the host, monitors whether the first garbage collection trigger condition is met; A first execution module that, in response to meeting the first trigger condition, performs early garbage collection at a first rate; A second monitoring module that monitors whether the second trigger condition is met; A second execution module that, in response to meeting the second trigger condition, performs garbage collection at a second rate, where the second rate is greater than the first rate.
9. A storage device, comprising a controller and a flash memory module, characterized in that, The flash memory module includes a program that, when executed by the controller, implements the method according to any one of claims 1-7.
10. An electronic device, characterized in that, Including a host and the storage device according to claim 9.
Citation Information
Patent Citations
Data storage device for dynamically executing garbage collection
CN110058794A
Memory space garbage collection processing method and device, equipment and medium
CN112749102A
Garbage collection method in a solid state drive
RU2759503C1
Balanced method for controlling a speed of writing in a flash memory
TWI795249B
Valid page threshold based garbage collection for solid state drive
US20140032817A1
Cited By
Memory control method and storage device
CN122111883A
Memory control method and storage device
CN122111883B