LU101617B1 - Method for improving the efficiency of reconstructing no mapping tables - Google Patents
Method for improving the efficiency of reconstructing no mapping tables Download PDFInfo
- Publication number
- LU101617B1 LU101617B1 LU101617A LU101617A LU101617B1 LU 101617 B1 LU101617 B1 LU 101617B1 LU 101617 A LU101617 A LU 101617A LU 101617 A LU101617 A LU 101617A LU 101617 B1 LU101617 B1 LU 101617B1
- Authority
- LU
- Luxembourg
- Prior art keywords
- mapping table
- mapping
- solid
- state hard
- hard disk
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
A method for improving the efficiency of reconstructing no mapping table, characterized in that when a mapping table and a no mapping table are updated to a nand flash, the mapping table is first updated, then the update is written, and finally a write end flag is added, and when the solid-state hard disk is powered on, the end flag is first checked and if the end flag is correct, data of the no mapping table is continued to be read from the nand flash as initial data of the no mapping table in a cache of a solid-state hard disk controller; and if the end flag is abnormal, the mapping table is re-scanned to generate new initial data of the no mapping table, and information of the no mapping table in the nand flash is updated.
Description
BL-5124 METHOD FOR IMPROVING THE EFFICIENCY OF RECONSTRUCTING NO 10101617 | MAPPING TABLES Technical field ; The present invention relates to a solid-state hard disk control technology, and in particular to a method for improving the efficiency of reconstructing no mapping tables.
; 10 Technical background Existing solid-state hard disks generally use physical page-based page mapping, | physical block-based block mapping, and a hybrid mapping based on the above : two for the mapping of logical addresses to physical addresses. Due to a small / 15 mapping granularity, page mapping may bring about the problem of a mapping . table being too large; block mapping reduces the size of the mapping table to a | certain extent, but it is limited by the granular characteristics; and hybrid mapping | also brings about the problem of response delay.
In solid-state storage devices, a host reads data according to the Logical Block | Address (LBA) number to identify which piece of data to read. When the host reads data that has not been written to the Logical Block Address (LBA), at this time, the ; solid-state storage device needs to return a special (such as ail 0) data to the host ; to indicate that this data has not been written. The internal implementation of | 25 solid-state devices may use a mapping table to indicate which Logical Block | Addresses (LBAs) have not been written. These data are referred to as no mapping } data, and the operation of the host to read these no mapping data is referred to as no mapping reading. Some devices improve the performance of the host's no ; mapping reading by adding no mapping tables. The principle of no mapping table is as follows: the mapping granularity of a normal mapping table is a unit of 4 KB, namely, a physical address for storing 4 KB data recorded by each piece of Ev
| mapping information of the mapping table.
It is assumed that the host needs tolu101617 read 4 MB of data, 4 MB/4 KB = 1024 pieces of mapping information are required to | read all 4 MB data.
However, the no mapping table may enlarge the granularity of | the mapping.
For example, the mapping information is recorded according to the | 5 granularity of 4 MB.
When the host reads the mapping information of 4 MB, it only | needs to read one piece of mapping information to obtain a location of the data in ) the solid-state hard disk.
Generally, the amount of time it takes to find mapping has ; a small impact on the reading performance.
Generally, a large granularity of | mapping is not used for reading and writing, but it has a large impact on the no | 10 mapping reading performance.
These no mapping readings do not need to read data of a nand flash, and the data can be obtained if only the mapping table needs ’ to be accessed.
Thus, the speed of the mapping table to access the data will affect ; the performance of no mapping reading.
The reconstruction of the no mapping table is usually reconstructed by scanning the entire mapping table during the power-on process.
When the mapping table is large, the reconstruction of the entire ; scanning takes longer.
Summary of the invention In view of the above defects, an objective of the present invention is how to improve the efficiency of reconstructing no mapping tables. . In order to solve the above problem, the present invention proposes a method for ; improving the efficiency of reconstructing no mapping tables, characterized in that , 25 a solid-state hard disk controller creates a no mapping table in a cache of the / solid-state hard disk controller simultaneously when creating a mapping table, and | updates the no mapping table to a nand flash synchronously while the mapping | table is updated to the nand flash, and when a solid-state hard disk is powered on, , data of the no mapping table is read from the nand flash as initial data of the no . 30 mapping table in the cache of the solid-state hard disk controller.
. lu101617 ; The method for improving the efficiency of reconstructing the no mapping table, ; characterized in that the mapping unit of the no mapping table is larger than the ; mapping unit of the mapping table.
/ 5 ; The method for improving the efficiency of reconstructing the no mapping table, ; characterized by further comprising a check code calculated according to the no | mapping table and the mapping table, wherein the check code is used to determine | whether the no mapping table is consistent with the mapping table.
| 10 The method for improving the efficiency of reconstructing the no mapping table, characterized in that when the mapping table and the no mapping table are | updated to the nand flash, the mapping table is first updated, then the update is i written, and finally a write end flag is added, and when the solid-state hard disk is ; 15 powered on, the end flag is first checked and if the end flag is correct, the data of | the no mapping table is continued to be read from the nand flash as the initial data | of the no mapping table in the cache of the solid-state hard disk controller; and if the end flag is abnormal, the mapping table is re-scanned to generate new initial | data of the no mapping table, and Information of the no mapping table in the nand ; 20 flash is updated.
7 A solid-state hard disk, characterized in that a solid-state hard disk controller | creates a no mapping table in a cache of the solid-state hard disk controller ; simultaneously when creating a mapping table, and updates the no mapping table ; 25 to a nand flash synchronously while the mapping table is updated to the nand flash, | and when a solid-state hard disk is powered on, data of the no mapping table is read from the nand flash as initial data of the no mapping table in the cache of the | solid-state hard disk controller.
The solid-state hard disk, characterized in that the mapping unit of the no mapping ee N
| table is larger than the mapping unit of the mapping table. lu101617 | The solid-state hard disk, characterized by further comprising a check code | calculated according to the no mapping table and the mapping table, wherein the | 5 check code is used to determine whether the no mapping table is consistent with | the mapping table.
| The solid-state hard disk, characterized in that when the mapping table and the no . mapping table are updated to the nand flash, the mapping table is first updated, | 10 then the update is written, and finally a write end flag is added, and when the ‘ solid-state hard disk is powered on, the end flag is first checked and if the end flag ; is correct, the data of the no mapping table is continued to be read from the nand | flash as the initial data of the no mapping table in the cache of the solid-state hard ; disk controller; and if the end flag is abnormal, the mapping table is re-scanned to | 15 generate new initial data of the no mapping table, and information of the no | mapping table in the nand flash is updated.
: The beneficial effects of the present invention are as follows: by writing a no | mapping table to the nand flash, the no mapping table can be directly read from the | 20 nand flash to generate after being powered on, and it is not necessary to traverse the entire mapping table to speed up the speed of generating the no mapping table. ; Brief description of the drawings | 25 Fig. 1 is an update and refresh diagram of a mapping table; Fig. 2 is a generation diagram of a general no mapping table; | Fig. 3 is a diagram of a fast reconstruction method of a no mapping table; and | 30 | Fig. 4 is an update process diagram of a no mapping table. Eee ET
‘ lu101617 | Detailed description of the embodiments | The technical solutions in the embodiments of the present invention will be clearly | 5 and completely described below with reference to the accompanying drawings in ’ the embodiments of the present invention. Obviously, the described embodiments | are only a part of the embodiments of the present invention, and not all the embodiments. All other embodiments obtained by those of ordinary skill in the art ; based on the embodiments in the present invention without creative efforts are | 10 within the scope of the present invention.
; Fig. 1 is an update and refresh diagram of a mapping table. Generally, it is a | process of updating the mapping table and writing a nand flash. The data writing , operation of the host or the TRIM command will cause the mapping table to be | 15 updated. Taking 128GB as an example, the size of the mapping table is 128MB. Each update will only update this 128 MB part of the data. When the amount of : update reaches a certain threshold (that is, when the data beyond a certain ) threshold of the 128 MB has been modified), the mapping table will be written to the ; nand flash to ensure that the mapping table can be saved after being powered off. ; 20 | Fig. 2 is a generation diagram of a general no mapping table, and describes a ; generation method of the no mapping table in a general case. After being powered on, the entire mapping table is divided into several sections of the same size, and | the values of all mapping tables in these sections are traversed. If all are no ; 25 mapping, a corresponding field of the no mapping table is set to 1, otherwise 0.
; Fig. 3 is a diagram of a fast reconstruction method of a no mapping table, and ! describes a new storage reconstruction method of the no mapping table. The entire no mapping table is stored and reconstructed together with the mapping table. ; 30 When the mapping table is written to a nand flash, the no mapping table is written ee
| 6 ; to the nand flash simultaneously. When the mapping table is read from the nandlu101617 ; flash, the no mapping table is read simultaneously.
/ Fig. 4 is an update process diagram of a no mapping table, and describes the update method of the no mapping table. Since the no mapping table needs to be , written to the nand flash with the mapping table, the no mapping table must be ; updated together with the mapping table. Therefore, the no mapping table needs to | be updated in the process of updating the mapping table. The update method of the ; no mapping table is relatively simple, and the rules are as follows: [ 10 ; A) If old mapping information is no mapping, and new mapping information is valid, | a corresponding no mapping table is set to false, | B) The old mapping information is valid, and the new mapping information is invalid. The no mapping table is scanned correspondingly to the entire piece of mapping | information. If all mapping information is Invalid, the no mapping table is set to true, otherwise false.
| No modification is required in other cases.
; 20 | Disclosed above is only one embodiment of the present invention, and of course, | the scope of the claims of the present invention cannot be defined by this. Those of . ordinary skill in the art can understand that all or part of the processes for | implementing the above embodiments and equivalent changes made according to ‘ 25 the claims of the present invention still fall within the scope covered by the present ; invention. eee ee
Claims (8)
- | Claims u101617 , 1. A method for improving the efficiency of reconstructing no mapping tables, | characterized in that a solid-state hard disk controller creates a no mapping table in ; 5 a cache of the solid-state hard disk controller simultaneously when creating a , mapping table, and updates the no mapping table to a nand flash synchronously | while the mapping table is updated to the nand flash, and when the solid-state hard . disk is powered on, data of the no mapping table is read from the nand flash as | initial data of the no mapping table in the cache of the solid-state hard disk | 10 controller.
- 2. The method for improving the efficiency of reconstructing the no mapping tables : according to claim 1, characterized in that the mapping unit of the no mapping table ; is larger than the mapping unit of the mapping table. | 15 ;
- 3. The method for improving the efficiency of reconstructing the no mapping tables | according to claim 2, characterized by further comprising a check code calculated ; according to the no mapping table and the mapping table, wherein the check code : is used to determine whether the no mapping table is consistent with the mapping | 20 table.|
- 4. The method for improving the efficiency of reconstructing the no mapping tables | according to claim 2, characterized in that when the mapping table and the no ; mapping table are updated to the nand flash, the mapping table is first updated, | 25 then the update is written, and finally a write end flag is added, and when the | solid-state hard disk is powered on, the end flag is first checked and if the end flag | is correct, the data of the no mapping table is continued to be read from the nand | flash as the initial data of the no mapping table in the cache of the solid-state hard disk controller; and if the end flag is abnormal, the mapping table is re-scanned to generate new initial data of the no mapping table, and information of the no| .; mapping table in the nand flash is updated. lu101617 ,
- 5. À solid-state hard disk, characterized in that the solid-state hard disk controller | creates a no mapping table in a cache of the solid-state hard disk controller | 5 simultaneously when creating a mapping table, and updates the no mapping table | to a nand flash synchronously while the mapping table is updated to the nand flash, | and when the solid-state hard disk is powered on, data of the no mapping table is ! read from the nand flash as initial data of the no mapping table in the cache of the : solid-state hard disk controller.| 0 |
- 6. The solid-state hard disk according to claim 5, characterized in that the mapping ; unit of the no mapping table is larger than the mapping unit of the mapping table.|
- 7. The solid-state hard disk according to claim 5 or 6, characterized by further | 15 comprising a check code calculated according to the no mapping table and the mapping table, wherein the check code is used to determine whether the no : mapping table is consistent with the mapping table.,
- 8. The solid-state hard disk according to claim 5 or 6, characterized in that when ; 20 the mapping table and the no mapping table are updated to the nand flash, the ; mapping table is first updated, then the update is written, and finally a write end flag | is added, and when the solid-state hard disk is powered on, the end flag is first ; checked and if the end flag is correct, the data of the no mapping table is continued | to be read from the nand flash as the initial data of the no mapping table in the ; 25 cache of the solid-state hard disk controller; and if the end flag is abnormal, the ; mapping table is re-scanned to generate new initial data of the no mapping table, | and information of the no mapping table in the nand flash is updated. ———— eee EE
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811016962.0A CN109271329A (en) | 2018-09-01 | 2018-09-01 | A method of it improves and rebuilds non-mapping table efficiency |
Publications (1)
Publication Number | Publication Date |
---|---|
LU101617B1 true LU101617B1 (en) | 2020-05-25 |
Family
ID=65187680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
LU101617A LU101617B1 (en) | 2018-09-01 | 2018-11-22 | Method for improving the efficiency of reconstructing no mapping tables |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109271329A (en) |
LU (1) | LU101617B1 (en) |
WO (1) | WO2020042387A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11748023B2 (en) * | 2019-11-29 | 2023-09-05 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058784B2 (en) * | 2003-07-04 | 2006-06-06 | Solid State System Co., Ltd. | Method for managing access operation on nonvolatile memory and block structure thereof |
CN102043727B (en) * | 2009-10-10 | 2014-04-02 | 成都市华为赛门铁克科技有限公司 | Method and device for recovering solid-state hard disc mapping table |
CN104461387B (en) * | 2014-12-02 | 2018-04-27 | 记忆科技(深圳)有限公司 | It is a kind of to improve method of the solid state hard disc to the reading performance of non-mapping area |
CN107193758A (en) * | 2017-05-19 | 2017-09-22 | 记忆科技(深圳)有限公司 | The mapping table management method and solid state hard disc of a kind of solid state hard disc |
CN107832237B (en) * | 2017-11-22 | 2020-09-01 | 深圳忆联信息***有限公司 | Method for quickly reconstructing unmapped table and solid state disk |
-
2018
- 2018-09-01 CN CN201811016962.0A patent/CN109271329A/en active Pending
- 2018-11-22 LU LU101617A patent/LU101617B1/en active IP Right Grant
- 2018-11-22 WO PCT/CN2018/116813 patent/WO2020042387A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN109271329A (en) | 2019-01-25 |
WO2020042387A1 (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832237B (en) | Method for quickly reconstructing unmapped table and solid state disk | |
US9910602B2 (en) | Device and memory system for storing and recovering page table data upon power loss | |
US7711923B2 (en) | Persistent flash memory mapping table | |
US8762661B2 (en) | System and method of managing metadata | |
CN113508382B (en) | Selective erasure of data in SSDs | |
US20200117368A1 (en) | Method for achieving data copying in ftl of solid state drive, system and solid state drive | |
CN111752487B (en) | Data recovery method and device and solid state disk | |
US8174912B2 (en) | Systems and methods for circular buffering control in a memory device | |
US20100088459A1 (en) | Improved Hybrid Drive | |
US10740251B2 (en) | Hybrid drive translation layer | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
US20180150390A1 (en) | Data Storage Device and Operating Method Therefor | |
KR101297442B1 (en) | Nand flash memory including demand-based flash translation layer considering spatial locality | |
CN110109845B (en) | Cache data management method and device, computer equipment and storage medium | |
US10552335B2 (en) | Method and electronic device for a mapping table in a solid-state memory | |
US20180157597A1 (en) | Ddr storage adapter | |
CN112631950B (en) | L2P table saving method, system, device and medium | |
US20150074336A1 (en) | Memory system, controller and method of controlling memory system | |
US9262096B2 (en) | Dynamic address mapping for finish in the field | |
TW201303584A (en) | Memory storage device, memory controller thereof, and method for identifying valid data | |
JP2015135603A (en) | Storage device and method of selecting storage area to which data is written | |
LU101617B1 (en) | Method for improving the efficiency of reconstructing no mapping tables | |
US9846647B2 (en) | Cache device and control method threreof | |
JP2006099802A (en) | Storage controller, and control method for cache memory | |
CN111443874B (en) | Solid-state disk memory cache management method and device based on content awareness and solid-state disk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Patent granted |
Effective date: 20200525 |