CN115563026B - Mapping table reconstruction method and data storage device - Google Patents

Mapping table reconstruction method and data storage device Download PDF

Info

Publication number
CN115563026B
CN115563026B CN202211560631.XA CN202211560631A CN115563026B CN 115563026 B CN115563026 B CN 115563026B CN 202211560631 A CN202211560631 A CN 202211560631A CN 115563026 B CN115563026 B CN 115563026B
Authority
CN
China
Prior art keywords
mapping table
logical address
physical address
address
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211560631.XA
Other languages
Chinese (zh)
Other versions
CN115563026A (en
Inventor
苏忠益
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Kangxinwei Storage Technology Co Ltd
Original Assignee
Hefei Kangxinwei Storage Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei Kangxinwei Storage Technology Co Ltd filed Critical Hefei Kangxinwei Storage Technology Co Ltd
Priority to CN202211560631.XA priority Critical patent/CN115563026B/en
Publication of CN115563026A publication Critical patent/CN115563026A/en
Application granted granted Critical
Publication of CN115563026B publication Critical patent/CN115563026B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a mapping table reconstruction method and data storage equipment, and belongs to the technical field of storage. The method for reconstructing the mapping table comprises the following steps: configuring a first cache and a second cache in a controller, wherein the first cache stores a mapping table from a logical address to a physical address during reconstruction, and the second cache stores the mapping table from the physical address to the logical address during reconstruction; rebuilding a mapping table from the logical address to the physical address, and outputting a flash memory block and a next block of a last block which participates in the rebuilding of the mapping table from the logical address to the physical address; rebuilding the mapping table from the physical address to the logical address according to the flash memory block and the block output after rebuilding the mapping table from the logical address to the physical address; and reserving a part of the first cache and a part of the second cache which store the reconstructed mapping table, and releasing other first caches and other second caches. The method for reconstructing the mapping table can improve the efficiency of reconstructing the mapping table.

Description

Mapping table reconstruction method and data storage device
Technical Field
The invention belongs to the technical field of storage, and particularly relates to a mapping table reconstruction method and data storage equipment.
Background
When the storage device is in operation, part or all of the mapping table is read from the nonvolatile memory and is temporarily stored in the volatile memory for energy efficiency. With the continuous operation of the storage device, the mapping table is updated by executing the command issued by the host or the internal command, so that the content of the mapping table temporarily stored on the volatile memory is different from the content of the mapping table in the non-volatile memory. If an abnormal power failure occurs, the contents of the mapping table may be lost. In the process of storage after power failure, due to the lack of the content of the mapping table, abnormity occurs during writing and reading.
Disclosure of Invention
The invention aims to provide a mapping table reconstruction method and data storage equipment, which solve the problem that a mapping table is lost when abnormal power failure occurs.
In order to solve the technical problems, the invention is realized by the following technical scheme:
the invention provides a mapping table reconstruction method, which at least comprises the following steps:
configuring a first cache and a second cache in a controller, wherein the first cache stores a mapping table from a logical address to a physical address during reconstruction, and the second cache stores the mapping table from the physical address to the logical address during reconstruction;
rebuilding the mapping table from the logical address to the physical address, and outputting a flash memory block and a next block of a last block participating in the rebuilding of the mapping table from the logical address to the physical address;
according to the flash memory block and the block output after the reconstructed logical address to physical address mapping table, reconstructing the physical address to logical address mapping table; and
and reserving a part of the first cache and a part of the second cache which store the reconstructed mapping table from the logical address to the physical address and the reconstructed mapping table from the physical address to the logical address, and releasing other first caches and other second caches.
In an embodiment of the present invention, when reconstructing the logical address to physical address mapping table, the method includes the following steps:
reading a logical address to physical address record table in a system flash memory area to obtain physical addresses of each logical address to physical address mapping table; and
a physical address to logical address mapping table and corresponding physical address to logical address data structures are read in a system flash memory.
In an embodiment of the present invention, when reconstructing the logical address to physical address mapping table, the method includes the following steps:
judging whether the flash memory block information in the logical address data structure of the physical address with the operation type of being flushed back in the cache is a valid value or not; and
determining whether the flash block information in the data structure of the physical address to logical address whose operation type is updated in the cache is valid.
In an embodiment of the present invention, when reconstructing the logical address to physical address mapping table, the method includes the following steps:
when the operation type is that the flash memory block information in the data structure from the physical address to the logical address which is flushed back is an invalid value, and the operation type is that the flash memory block information in the data structure from the physical address to the logical address which is updated is an invalid value, the mapping table from the logical address to the physical address does not need to be rebuilt.
In an embodiment of the present invention, when reconstructing the logical address to physical address mapping table, the method includes the following steps:
when the operation type is that the flash memory block information from the refreshed physical address to the logical address data structure is an invalid value, and the operation type is that the flash memory block information from the updated physical address to the logical address data structure is an effective value;
reading a mapping table from a physical address to a logical address of a corresponding block in a flash memory block in a data structure with an updated physical address to logical address, covering the mapping table from the physical address to the logical address with the read mapping table from the physical address to the logical address, and initializing the mapping table from the flash memory block information and the block information corresponding to the mapping table from the physical address to the logical address into the data structure from the physical address to the logical address with the operation type of the flash memory block and the block information; and
and clearing the back flushing flag bits of all the entries in the mapping table from the physical address to the logical address in the cache.
In an embodiment of the present invention, when reconstructing the logical address to physical address mapping table, the method includes the following steps:
when the operation type is the flash memory block information in the data structure of the physical address to the logical address which is flushed back is the effective value, reading all physical address to logical address mapping tables in the rest blocks of the flash memory block in the data flash memory area, and sequentially placing the mapping tables in a cache after the operation type is the physical address to the logical address which is flushed back, and identifying the physical address to the logical address mapping table which is flushed back and the physical address to the logical address mapping table which follows the mapping table as the state to be flushed back.
In an embodiment of the present invention, when reconstructing the logical address to physical address mapping table, the method further includes the following steps:
judging whether the corresponding content of all mapping tables of the physical address to the logical address to be refreshed in the cache is empty, if so, indicating that the rebuilding of the mapping tables of the logical address to the physical address is completed, outputting a final flash memory block and a block, and if not, clearing the refreshing flag bits of all the entries in the mapping tables of the physical address to the logical address and all the subsequent mapping tables of the physical address to the logical address, wherein the operation types of the refreshing flag bits are refreshing;
in the mapping table from the physical address to the logical address to be refreshed, the flash block information and the block information in the mapping table are the same as those from the physical address to the logical address table with the operation type being updated, and the flag bit is refreshed; and
and synchronously refreshing all the mapping tables from the physical address to the logical address in the cache.
In one embodiment of the present invention, clearing the flag bits of all entries in the mapping table from physical address to logical address comprises the following steps:
setting a bit mask in the cache value setting unit to clear all the back-flushing flag bits;
setting the preset value in the cache value setting unit to be zero;
setting the address length in the cache value setting unit as all the range of the back flushing flag bits needing to be cleared; and
and starting a cache value setting unit, and clearing the back-flushing flag bits of all the entries in the required range.
In an embodiment of the present invention, the step of marking the flag bit of the physical address to logical address mapping table to be flushed back by the operation type includes the following steps:
setting a bit mask in a cache searching unit, and comparing the bit mask and flushing back a flag bit;
setting a search value in a cache search unit, wherein the search value is a refresh flag bit;
starting a cache searching unit, and finding out all items marked with the refresh flag bit in a mapping table from the physical address to the logical address with the operation type of updating;
acquiring an address block table according to the search result; and
and marking back a mark bit in the corresponding entry of the mapping table from the target physical address to the logical address according to the address block table.
In an embodiment of the present invention, the step of synchronously flushing all mapping tables from physical addresses to logical addresses in a cache includes the following steps:
judging whether the physical address to logical address entry corresponding to the physical address to logical address mapping table index is marked as a refresh flag bit;
reading a logical address-to-physical address mapping table from the physical address to the logical address entry and storing the mapping table in a first cache;
searching other items belonging to the mapping table from the logical address to the physical address by using a cache searching unit in all the mapping tables from the physical address to the logical address to be flushed back;
and flushing all physical address to logical address entries belonging to the logical address to physical address mapping table back to the logical address to physical address mapping table, and flushing the marks of the flushed physical address to logical address entries back to the flag bits.
In an embodiment of the present invention, the step of searching the remaining entries belonging to the logical address to physical address mapping table in all the mapping tables to be flushed back by using the cache search unit includes the following steps:
setting data pre-searched in a cache search unit as physical address to logical address entries;
setting a bit mask in a cache searching unit, and only displaying the position information of a mapping table from a logical address to a physical address; and
and starting a cache search unit and storing the search result.
In an embodiment of the present invention, when reconstructing the physical address to logical address mapping table, the method includes the following steps:
acquiring flash memory block information and block information output by a mapping table from a reconstructed logical address to a physical address; and
and judging whether the flash memory block corresponding to the flash memory block information is valid or not and judging whether the block exceeds the total block number or not.
In an embodiment of the present invention, when reconstructing the physical address to logical address mapping table, the method includes the following steps:
when the flash memory block corresponding to the flash memory block information is invalid, or the flash memory block corresponding to the flash memory block information is valid and the block exceeds the total block number;
then, the physical address to logical address mapping table and the physical address to logical address data structure are reset to be in a no-data state, and the reconstruction of the physical address to logical address mapping table is completed.
In an embodiment of the present invention, when reconstructing the physical address to logical address mapping table, when the flash memory block corresponding to the flash memory block information is valid and the block does not exceed the total number of blocks, the method further includes the following steps:
judging whether the flash memory block information and the block information have the same data structure from the physical address to the logical address with the operation type of updating, if so, reading a page corresponding to the index from the physical address to the logical address mapping table in the data flash memory area, updating the physical address to the logical address mapping table by the logical address in the metadata of the page, and continuing the index forward until an empty page is read or the tail end of the mapping table is read; if not, the mapping table from the physical address to the logical address and the data structure from the physical address to the logical address are reset to be in a no-data state, the data structure from the physical address to the logical address is initialized by the flash block information and the block information, a page corresponding to the index from the physical address to the logical address mapping table in the data flash area is read, the mapping table from the physical address to the logical address is updated by the logical address in the metadata of the page, and the index continues to move forward until an empty page is read or the end of the mapping table is read.
The present invention also provides a data storage device having stored thereon a computer program which, when executed by a processor, implements the method for reconstructing a mapping table as described above.
As described above, in the method for reconstructing a mapping table and the data storage device provided by the present invention, in the period of reconstructing the mapping table, the first cache and the second cache are configured in the controller for use in reconstructing the mapping table, and after the mapping table is reconstructed, most of the first cache and the second cache are released for use in reading and writing, so that the reconstruction efficiency of the mapping table is improved. When the mapping table from the logical address to the physical address is rebuilt, the mapping table from the physical address to the logical address in all the blocks in the flash memory block is read out, the mapping table from the physical address to the logical address is synchronously flushed back, and the rebuilding speed of the mapping table is accelerated again. The entry of the mapping table from the physical address to the logical address is configured with a back-flushing flag bit to distinguish the entry which has been flushed back, so that repeated back flushing is avoided, and the loss of flash memory blocks is reduced. And the cache searching unit can quickly position the refreshed physical address to the logical address mapping table entry, avoid repeated refreshing and accelerate the reconstruction of the mapping table. Meanwhile, the caching unit can quickly clear the refresh flag bits of all the entries, thereby being beneficial to refreshing the entries of the mapping table from the physical address to the logical address and accelerating the reconstruction of the mapping table. The method for reconstructing the mapping table can reconstruct the mapping table and greatly accelerate the reconstruction efficiency of the mapping table.
Of course, it is not necessary for any product in which the invention is practiced to achieve all of the above-described advantages at the same time.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a block diagram of a data storage device according to the present application.
Fig. 2 is a structural diagram of a mapping table from a physical address to a logical address in the present application.
FIG. 3 is a diagram of a physical address to logical address data structure, and a physical address to logical address data structure and a physical address to logical address mapping table according to the present application.
Fig. 4 is a structure diagram of a mapping table of physical addresses to logical addresses configured backwards in the mapping table of physical addresses to logical addresses whose operation types are flushed back in the present application.
Fig. 5 is a schematic diagram illustrating a cache search unit searching for an entry of a mapping table from a physical address to a logical address that needs to be flushed back in the present application.
FIG. 6 is a diagram illustrating a cache search unit searching for entries that quickly locate a mapping table of physical addresses marked with a refresh flag bit to logical addresses according to the present application.
FIG. 7 is a diagram illustrating a cache unit clearing all entries of a physical address to logical address mapping table marked with a refresh flag bit according to the present application.
Fig. 8 is a flowchart of a mapping table reconstructing method according to the present application.
FIG. 9 is a flowchart illustrating a reconstruction process of a logical address to physical address mapping table according to the present application.
FIG. 10 is a flowchart of clearing the flush back flag bits of all entries in the mapping table from physical address to logical address in the cache according to the present application.
FIG. 11 is a flow chart illustrating the operation of the present application for flushing back a flag bit for a physical address to logical address mapping table tag to be flushed back.
FIG. 12 is a flowchart illustrating the process of flushing all physical address to logical address mapping tables in the cache according to the present application.
FIG. 13 is a flowchart of the present application using a cache search unit to search all mapping tables from physical address to logical address to be flushed back for the remaining entries belonging to the mapping table from logical address to physical address.
FIG. 14 is a flowchart illustrating rebuilding of a physical address to logical address mapping table in a cache according to the present application.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, a data storage device 100 is connected to a host 200 (e.g., an information processing apparatus) via an interface and a power line. The host 200 is configured by, for example, a personal computer, a CPU core, a server connected to a network, or the like. The host 200 performs data access control on the data storage device 100, for example, by sending a write request, a read request, and a delete request to the data storage device 100, performing writing, reading, and deleting of data to the data storage device 100.
Referring to fig. 1, in an embodiment of the present invention, the data storage device 100 may be, for example, a Solid State Disk (SSD). And data storage device 100 may include a controller 110 and a nonvolatile memory unit 120. The nonvolatile memory cell 120 is a nonvolatile memory cell 120 (non-transitory memory) that does not lose data even when power is cut off, and the nonvolatile memory cell 120 may be a NAND flash memory, a vertical NAND (VNAND), a NOR flash memory, a Resistive Random Access Memory (RRAM), a phase change memory (PRAM), a Magnetoresistive Random Access Memory (MRAM), a Ferroelectric Random Access Memory (FRAM), or a spin transfer torque random access memory (STT-RAM). The nonvolatile memory cell 120 may include a memory cell array block connected to word lines, string select lines, ground select lines, and bit lines. Non-volatile memory unit 120 may include a super block that includes a plurality of memory blocks. The plurality of memory blocks may include a plurality of pages. The nonvolatile memory unit 120 may include a two-dimensional (2D) memory array block or a three-dimensional (3D) memory array block. Other types of non-volatile memory cells 120 may also be used. In this embodiment, a structure of a NAND flash memory is described as an example, and it is to be understood that in other embodiments, other types of nonvolatile memory cell 120 structures may be employed.
Referring to fig. 1, in an embodiment of the invention, the nonvolatile memory unit 120 is electrically connected to the memory controller 202 and is used for storing data written by the host 200. The nonvolatile memory unit 120 has a flash block therein. The flash blocks may belong to the same memory die (die) or to different memory dies. Each flash block has a plurality of physical pages, and each physical page has at least one physical sector, wherein the physical pages belonging to the same flash block can be independently written and simultaneously erased. For example, each flash block is composed of 128 physical pages, and each physical page has 8 physical sectors (sectors). That is, in the example of 512 bytes per physical sector, the capacity of each physical page is 4 kilobytes (K). However, in one embodiment, each flash block may be made up of 64 physical pages, 256 physical pages, or any other number of physical pages.
Referring to FIG. 2, a flash block is the minimum unit of erase. That is, each flash block contains the minimum number of memory cells that are erased together. The physical page is the smallest unit that is programmable. That is, the physical page is the smallest unit of write data. However, in some embodiments, the minimum unit of write data may also be a physical sector or other size. Each physical page typically includes a data bit region and a redundancy bit region. The data bit region is used to store user data, and the redundant bit region is used to store system data (e.g., error checking and correcting codes).
Referring to fig. 1, in an embodiment of the invention, the nonvolatile memory unit 120 is a Multi-Level Cell (MLC) NAND flash memory module. In other embodiments, the non-volatile memory unit 120 may be a Single Level Cell (SLC) NAND flash memory module, other flash memory modules, or other memory modules with the same characteristics.
Referring to fig. 1, in an embodiment of the invention, a system flash block (system block) 121, a logical address to physical address flash block (L2P block) 122, a data flash block (data block) 123 and other flash blocks 124 are disposed in a nonvolatile memory unit 120.
Referring to fig. 1, in an embodiment of the present invention, a logical address to physical address (L2P) mapping table is stored in the logical address to physical address flash memory area 122, and each logical address to physical address mapping table stores a physical address corresponding to each logical address.
Referring to fig. 1, in an embodiment of the present invention, user data is stored in the data flash area 123. The flash memory block in each data flash area 123 may be divided into a plurality of blocks (banks), and a physical address to logical address mapping table is stored at the end of each block, and a logical address of each 4K physical page in a block (bank) is recorded in each physical address to logical address mapping table. Physical address to logical address mapping table as shown in fig. 2, each physical address to logical address mapping table includes a plurality of entries, each entry including a logical address and a flush flag bit (flush bit). The flushing flag bit is used for judging whether the logical address of the corresponding entry is flushed back to the mapping table from the logical address to the physical address, so that reconstruction of the mapping table can be assisted. For example, when the flush back flag bit is 1, it indicates that the flush back flag bit exists and the logical address corresponding to the entry has been flushed back to the logical address to physical address mapping table, and when the flush back flag bit is zero, it indicates that the flush back flag bit does not exist and the logical address corresponding to the entry has not been flushed back to the logical address to physical address mapping table.
Referring to FIG. 1, in some embodiments, every 4K physical page is appended with metadata (meta data) containing the logical address of the 4K page.
Referring to FIG. 1, in one embodiment of the present invention, a mapping table of physical addresses to logical addresses, a data structure of physical addresses to logical addresses, and a record table of logical addresses to physical addresses and other necessary data are backed up in the system flash area 121. The physical address-to-logical address mapping table is in one-to-one correspondence with the physical address-to-logical address data structure, and the physical address-to-logical address data structure records the state of the physical address-to-logical address mapping table. Each physical to logical address mapping table needs to be flushed back into the logical to physical address mapping table. The logical address to physical address record table records the physical address of each logical address to physical address mapping table. The logical address-to-physical address recording table records the physical address of each logical address-to-physical address mapping table. When reading the logical address to physical address record table from the system flash area 121, it can be known where the logical address to physical address flash area 122 existed in the last time of the respective logical address to physical address mapping table.
Referring to fig. 1, in one embodiment of the present invention, data is stored in the other flash memory area 124.
Referring to fig. 1, in an embodiment of the invention, a buffer 111 is disposed in the controller 110, and the buffer 111 may be a volatile memory capable of writing or reading data at a high speed, such as a Static Random Access Memory (SRAM), a Dynamic Random Access Memory (DRAM), a latch, a flip-flop, or a register. When the mapping table is rebuilt in the cache 111, most of the cache 111 is configured to be used as a rebuilt mapping table, and when the rebuilding of the mapping table is completed, the cache 111 is released for reading and writing, so that the rebuilding rate of the mapping table is increased.
Referring to fig. 1, in an embodiment of the present invention, when the data storage device operates, the cache 111 stores a mapping table therein. The mapping tables include a most recent logical address to physical address mapping table, a physical address to logical address mapping table, and a physical address to logical address data structure.
Referring to fig. 1, in an embodiment of the present invention, a first cache is configured in the cache 111, and the first cache stores a latest mapping table from a logical address to a physical address. The cache 111 is configured with a second cache, wherein the second cache stores the latest mapping table from physical address to logical address, and the mapping table from physical address to logical address is configured corresponding to the data structure from physical address to logical address. As shown in FIG. 3, the second cache includes both an update and a flush back of the physical address to logical address mapping table and the physical address to logical address data structure. Each physical address to logical address data structure includes a physical address to logical address mapping table pointer, block (bank) information, flash block (block) information, a physical address to logical address mapping table index, and an operation type (op). The physical address-to-logical address mapping table pointer points to a corresponding physical address-to-logical address mapping table, the block information and the flash memory block information respectively represent a block and a flash memory block to which the corresponding physical address-to-logical address mapping table belongs, the physical address-to-logical address mapping table index represents an index of an entry in the physical address-to-logical address mapping table which is about to be operated, and the operation type (op) represents that the corresponding physical address-to-logical address mapping table is in an update operation state or a refresh operation state.
Referring to fig. 4, in some embodiments, when the operation type corresponding to the physical address to logical address mapping table is a refresh operation, a sufficient second cache is configured behind the physical address to logical address mapping table to accommodate the physical address to logical address mapping tables on all blocks, so as to perform the refresh operation of all the physical address to logical address mapping tables synchronously, thereby speeding up the rebuilding of the mapping tables.
Referring to fig. 1, in an embodiment of the present invention, a cache search unit 112 is further configured on the controller for fast searching data in the cache 111. The value to be searched, the search address, the search length, and the bit mask may be set in the cache search unit 112. The setting of the bit mask may ignore the specified bits when searching. As shown in fig. 5, the cache search unit 112 may be used in mapping table rebuilding, and when the logical address to physical address mapping table is updated by using the flushed physical address to logical address mapping table, all entries of the physical address to logical address that need to be flushed back to the logical address to physical address mapping table may be quickly found, so as to speed up the rebuilding of the mapping table. As shown in fig. 6, the cache search unit 112 may also be used in the preparation steps of mapping table reconstruction and physical address to logical address mapping table refresh, and the cache search unit 112 may quickly locate the refreshed entry marked with the refresh flag bit, so as to avoid repeated refresh and accelerate the speed of mapping table reconstruction.
Referring to fig. 1 and 8, in an embodiment of the present invention, a buffer setting unit 113 is further configured on the controller for setting a value on the buffer 111 quickly. The preset value, address, length and bit mask may be set by the cache set unit 113, and the bit mask may be set to skip the designated bits when setting the value. In the reconstruction of the mapping table, in the preparation step of the physical address to logical address mapping table refresh, the refresh flag bits of all entries in the physical address to logical address mapping table need to be quickly cleared, so as to accelerate the speed of the reconstruction of the mapping table.
As shown in fig. 1, the controller 110 is further provided with other units 114, and the other units 114 may perform functions such as garbage collection and wear leveling on the nonvolatile memory unit 120, for example.
Referring to fig. 1 to fig. 2 and fig. 8, a data storage device 100 provided by the present invention is a computer-readable storage device, and a computer program is stored on the data storage device 100, and when the computer program is executed by a processor, the computer program implements the method for reconstructing the mapping table according to the present invention. The method for reconstructing the mapping table provided by the invention comprises the following steps S101 to S107.
S101, initializing cache.
S102, configuring a first cache in the cache, and storing a mapping table from a logical address to a physical address when the mapping table is reconstructed.
S103, configuring a second cache in the cache, and storing a mapping table from the physical address to the logical address when the mapping table is reconstructed.
And S104, reconstructing the mapping table.
S105, withdrawing part of the first cache, and reserving part of the first cache to store the reconstructed logical address-to-physical address mapping table.
S106, a part of the second cache is reclaimed, and a reserved part of the second cache stores the reconstructed physical address-to-logical address mapping table.
And S107, using the recycled first cache and the recycled second cache as reading and writing of data and other functions.
Referring to fig. 8, in an embodiment of the invention, a data structure of the management cache is set when the cache is initialized. Before the mapping table is rebuilt, most of the caches 111 in the controller are configured as a first cache and a second cache, and are used for storing a mapping table from a physical address to a logical address and a mapping table from the logical address to the physical address, so that the rebuilding speed of the mapping table is increased. After the mapping table is rebuilt, the first cache and the second cache except the physical address to logical address mapping table and the logical address to physical address mapping table after the rebuilding are released, and most of the caches 111 are used for reading and writing functions of the storage device, so that the working performance of the storage device is guaranteed. In the application, the reconstruction of the mapping table comprises the reconstruction of the mapping table from the logical address to the physical address and the reconstruction of the mapping table from the physical address to the logical address, and the reconstruction of the mapping table from the logical address to the physical address is firstly carried out and then the reconstruction of the mapping table from the physical address to the logical address is carried out.
Referring to fig. 9, in an embodiment of the invention, rebuilding the mapping table from the logical address to the physical address in the cache 111 includes steps S201 to S212.
S201, reading a logical address to physical address recording table in a system flash memory area to obtain physical addresses of each logical address to physical address mapping table.
S202, reading the mapping table from physical address to logical address and the corresponding data structure from physical address to logical address in the system flash memory.
S203, judging whether the flash block information in the data structure from the physical address with the operation type of being flushed back to the logical address in the cache is a valid value, if so, executing a step S207, otherwise, executing a step S204.
S204, judging whether the operation type in the cache is the flash block information from the updated physical address to the logical address data structure is a valid value, if so, executing the step S205, otherwise, executing the step S212.
In the present application, the operation type in the physical address to logical address data structure corresponding to the physical address to logical address mapping table includes an update state and a refresh state, the physical address to logical address mapping table in the update state is updated after the physical address to logical address mapping table in the refresh state, and when the physical address to logical address mapping table is refreshed, the physical address to logical address mapping table is refreshed from the physical address to logical address mapping table which is updated first. When the mapping table is rebuilt, whether the flash memory block information in the data structure of the physical address and the logical address with the operation type of being flushed back is a valid value is judged, and if the flash memory block information in the data structure of the physical address and the logical address with the operation type of being flushed back is a valid value, the mapping table from the physical address to the logical address corresponding to the data structure of the logical address is flushed back. If the operation type is that the flash block information in the physical address to logical address data structure is an invalid value, then judging whether the operation type is that the flash block information in the physical address to logical address data structure is an valid value, if the operation type is that the flash block information in the physical address to logical address data structure is an valid value, then flushing back from a mapping table from the physical address to the logical address corresponding to the physical address to logical address data structure, if the operation type is that the flash block information in the physical address to logical address data structure is also an invalid value, then the mapping table from the physical address to the logical address in the cache 111 does not need to be rebuilt.
S205, reading the mapping table from physical address to logical address of the corresponding block in the flash memory block with the operation type of update in the data structure from physical address to logical address, covering the mapping table from physical address to logical address with the operation type of refresh in the cache, and initializing the data structure from physical address to logical address with the flash memory block information and block information corresponding to the mapping table from physical address to logical address.
S206, clearing the back flushing flag bits of all the entries in the mapping table from the physical address to the logical address in the cache.
S207, reading all physical address to logical address mapping tables in the rest blocks of the flash memory block in the data flash memory area, sequentially placing the physical address to logical address mapping tables with the operation types of being refreshed back in the cache, and identifying the physical address to logical address mapping tables with the operation types of being refreshed back in the cache and the subsequent physical address to logical address mapping tables as states to be refreshed back.
S208, judging whether the content corresponding to the mapping table from all the physical addresses to be refreshed in the cache to the logical addresses is empty or not. If so, go to step S212, otherwise go to step S209.
S209, clearing the refresh flag bits of all the entries in the physical address to logical address mapping table with the operation type of refresh and all the following physical address to logical address mapping tables.
S210, in the mapping table from the physical address to the logical address to be refreshed, the flash memory block information and the block information are the same as those from the physical address to the logical address with the operation type being updated, and the flag bit is marked to be refreshed. The marked entry position must be the same as the mapping table of physical address to logical address whose operation type is updated.
In some embodiments, as shown in steps S205 to S210, before flushing all physical address to logical address mapping tables, the flushing flag bits of all entries in all physical address to logical address mapping tables that need to be flushed back need to be cleared, so as to facilitate the flushing back of the physical address to logical address mapping tables, but the physical address to logical address mapping tables whose operation types read out from the system flash area 121 are flushed back need to be excluded. The cache unit 113 may be utilized to flush multiple physical to logical address mapping tables simultaneously.
In some embodiments, as shown in steps S205 to S210, before all the physical address to logical address mapping tables are flushed, it is necessary to determine whether the flash memory block and the block to which the physical address to logical address mapping table belongs are the same as the physical address to logical address mapping table whose operation type is updated. If the operation type is the same, the entry marked with the refresh-back flag bit in the mapping table from the updated physical address to the logical address is required to be marked with the refresh-back flag bit according to the operation type so as to avoid repeated refresh-back of the entry. Cache search unit 112 may be utilized to quickly find all entries marked with the swiped-back flag.
S211, synchronously refreshing all the mapping tables from the physical address to the logical address in the cache.
In some embodiments, when a physical address to logical address mapping table is flushed back, physical address to logical address mapping table entries belonging to the same logical address to physical address mapping table can be quickly found out from multiple physical address to logical address mapping tables.
S212, the reconstruction of the mapping table from the logical address to the physical address is completed, and the last flash memory block and the next block of the last block participating in the reconstruction of the mapping table from the logical address to the physical address are output.
In some embodiments, after the rebuilding of the logical address to physical address mapping table is completed, the flash memory block and the next block of the last block participating in the rebuilding of the logical address to physical address mapping table are output, and the physical address to logical address mapping table is rebuilt according to the flash memory block and the block.
As shown in fig. 10, when steps S206 and 209 are executed, steps S301 to S304 are specifically included.
S301, setting a bit mask in the cache value setting unit to clear all the back-flushing flag bits.
And S302, setting the preset value in the cache value setting unit to be zero.
S303, setting the address length in the cache value setting unit to be all the range of the back-flushing flag bits needing to be cleared.
S304, starting a cache value setting unit, and clearing the refresh zone bits of all the entries in the required range.
As shown in fig. 11, when step S210 is executed, step S401 to step S405 are specifically included.
S401, bit masks are set in the cache searching unit, and the bit masks are compared and flag bits are refreshed.
S402, setting a search value in the cache search unit, wherein the search value is a refresh flag bit.
And S403, starting a cache searching unit, and finding out all the entries marked with the refresh flag bit in the mapping table from the physical address to the logical address with the operation type of updating.
S404, acquiring an address block table according to the search result.
S405, according to the address block table, marking a back-flushing flag bit in the corresponding entry of the mapping table from the target physical address to the logical address.
As shown in fig. 12, when step S211 is executed, step S501 to step S505 are specifically included.
S501, judging whether a physical address to logical address entry corresponding to the physical address to logical address mapping table index is marked as a refresh flag bit, if so, executing a step S505, otherwise, executing a step S502.
S502, reading the mapping table from the physical address to the logical address of the logical address entry and storing the mapping table in a first cache.
S503, using the cache searching unit to search the mapping table of all physical addresses to logical addresses to be flushed back for the rest entries belonging to the mapping table of the logical addresses to the physical addresses.
S504, all the physical address to logical address entries belonging to the logical address to physical address mapping table are flushed back to the logical address to physical address mapping table, and the marks of the flushed physical address to logical address entries are flushed back to the flag bits.
And S505, increasing one by the index of the mapping table from the physical address to the logical address.
S506, judging whether the index of the mapping table from the physical address to the logical address reaches the end of the mapping table from the physical address to the logical address which is refreshed last, if the index reaches the end of the mapping table from the physical address to the logical address, ending the process, and if the index does not reach the end of the mapping table from the physical address to the logical address, returning to the step S501.
As shown in fig. 13, when step S503 is executed, step S601 to step S604 are specifically included.
S601, setting data pre-searched in a cache search unit as physical address to logical address entries.
S602, setting a bit mask in a cache searching unit, and only displaying the position information of the mapping table from the logical address to the physical address.
And S603, starting a cache searching unit.
And S604, accessing the search result.
In an embodiment of the present invention, the rebuilding the mapping table from the physical address to the logical address in the cache includes steps S701 to S709.
S701, acquiring the flash memory block information and the block information output by the mapping table from the reconstructed logical address to the physical address.
S702, judging whether the flash memory block corresponding to the flash memory block information is valid, if so, executing the step S703, otherwise, executing the step S704.
S703, determining whether the block exceeds the total number of blocks, if yes, performing step S704, otherwise, performing step S705.
S704, resetting the mapping table from physical address to logical address and the data structure from physical address to logical address to be in the no data state. And step S706 is executed to complete the rebuilding of the physical address to logical address mapping table.
S705, judging whether the flash block information and the block information are the same as the physical address to logical address data structure with the operation type of updating, if so, executing step S707, otherwise, executing steps S708 and 709 in sequence, and then executing step S707.
S707, judging whether the index of the mapping table from the physical address to the logical address points to the end of the mapping table from the physical address to the logical address, if so, executing the step S706, otherwise, executing the step S710.
S708, resetting the mapping table from physical address to logical address and the data structure from physical address to logical address to be in a no-data state.
S709, initializing physical address to logical address data structure with the flash block information and the block information.
S710, reading a page corresponding to the index of the mapping table from the physical address to the logical address in the data flash area.
And S711, judging whether the content in the page is empty, if so, executing the step S706, otherwise, executing the step S712 and returning to the step S707.
S712, the mapping table from the physical address to the logical address is updated by the logical address in the metadata of the page, and the index of the mapping table from the physical address to the logical address is increased accordingly.
In some embodiments, the output flash block information and block information are reconstructed from the logical address to physical address mapping table to determine the physical address to logical address mapping table to be reconstructed. And for rebuilding the mapping table from physical address to logical address, using the second cache and the physical address to logical address data structure whose operation type is updated.
In some embodiments, if the flash block is invalid, it is determined that no physical address to logical address mapping table needs to be rebuilt, and the physical address to logical address mapping table and the physical address to logical address data structure are reset to a no data state.
In some embodiments, if the flash block is valid, but the block exceeds the total number of blocks, it is determined that no physical address to logical address mapping table needs to be rebuilt, and the physical address to logical address mapping table and the physical address to logical address data structure are reset to a no data state.
In some embodiments, if the flash block is valid and the total number of blocks is not exceeded, a physical address to logical address mapping table reconstruction is required.
Before rebuilding the mapping table from physical address to logical address, it is necessary to determine whether the flash block information and the block information are both the same as the mapping table from physical address to logical address whose operation type is updated. If the difference is the same, directly rebuilding, and continuing the progress before power failure. If not, the operation type is reset to be the state of no data in the updated physical address to logical address mapping table and the physical address to logical address data structure, then the physical address to logical address data structure is initialized by the flash block information and the block information, and then the physical address to logical address mapping table is rebuilt.
The reconstruction of the physical address to logical address mapping table is performed by reading the metadata of the pages in the data flash from old to new until a page with blank contents is encountered or the end of the flash block is reached. After reading the metadata of the page, the physical address to logical address mapping table is updated with the logical address in the metadata, and the index value of the physical address to logical address mapping table is increased accordingly. When the flash memory block information and the block information are the same as the data structure of the physical address to the logical address, the page corresponding to the index of the mapping table from the physical address to the logical address in the flash memory area is read, the logical address in the metadata of the page is used for updating the mapping table from the physical address to the logical address, and the index continues to move forward until an empty page is read or the tail end of the mapping table is read; when the flash memory block information, the block information and the operation type are different from the updated physical address to logical address data structure, resetting the physical address to logical address mapping table and the physical address to logical address data structure to be in a no-data state, initializing the physical address to logical address data structure by using the flash memory block information and the block information, reading a page corresponding to the index of the physical address to logical address mapping table in the data flash memory area, updating the physical address to logical address mapping table by using the logical address in the metadata of the page, and continuing the index until the empty page is read or the end of the mapping table is read.
In summary, in the method for reconstructing a mapping table according to the present invention, before reconstructing the mapping table, the first cache and the second cache are configured in the controller to reconstruct the mapping table from the logical address to the physical address and the mapping table from the physical address to the logical address. When the mapping table is rebuilt, the mapping table from the logical address to the physical address is rebuilt firstly, and then the mapping table from the physical address to the logical address is rebuilt according to the flash memory block and the block output by the rebuilt mapping table from the logical address to the physical address.
The embodiments of the invention disclosed above are intended merely to aid in the explanation of the invention. The examples are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and the practical application, to thereby enable others skilled in the art to best utilize the invention. The invention is limited only by the claims and their full scope and equivalents.

Claims (13)

1. A method for reconstructing a mapping table, comprising at least the steps of:
configuring a first cache and a second cache in a controller, wherein the first cache stores a mapping table from a logical address to a physical address during reconstruction, and the second cache stores the mapping table from the physical address to the logical address during reconstruction;
rebuilding the mapping table from the logical address to the physical address, and outputting a flash memory block and a next block of a last block participating in the rebuilding of the mapping table from the logical address to the physical address;
rebuilding the mapping table from the physical address to the logical address according to the rebuilt mapping table from the logical address to the physical address and the output flash memory block and block; and
reserving a part of first cache and a part of second cache which store the reconstructed logical address-to-physical address mapping table and the reconstructed physical address-to-logical address mapping table, and releasing other first caches and other second caches;
when the mapping table from the logical address to the physical address is rebuilt, the method comprises the following steps:
judging whether the flash memory block information in the logical address data structure of the physical address with the operation type of being flushed back in the cache is a valid value or not; judging whether the flash memory block information in the logical address data structure of the physical address with the updated operation type in the cache is a valid value or not;
when the operation type is that the flash memory block information from the refreshed physical address to the logical address data structure is an invalid value and the operation type is that the flash memory block information from the updated physical address to the logical address data structure is an valid value;
reading a mapping table from a physical address to a logical address of a corresponding block in a flash memory block in a data structure with an updated physical address to logical address, covering the mapping table from the physical address to the logical address with the read mapping table from the physical address to the logical address, and initializing the mapping table from the flash memory block information and the block information corresponding to the mapping table from the physical address to the logical address into the data structure from the physical address to the logical address with the operation type of the flash memory block and the block information; and
and clearing the back flushing flag bits of all the entries in the mapping table from the physical address to the logical address in the cache.
2. The method for rebuilding mapping table of claim 1, wherein when rebuilding a logical address to physical address mapping table, the method comprises the following steps:
reading a logical address-to-physical address recording table in a system flash memory area to obtain physical addresses of each logical address-to-physical address mapping table; and
a physical address to logical address mapping table and corresponding physical address to logical address data structures are read in a system flash memory.
3. The method for rebuilding a mapping table according to claim 1, comprising the following steps when rebuilding a logical address to physical address mapping table:
when the operation type is that the flash memory block information in the data structure from the physical address to the logical address which is flushed back is an invalid value, and the operation type is that the flash memory block information in the data structure from the physical address to the logical address which is updated is an invalid value, the mapping table from the logical address to the physical address does not need to be rebuilt.
4. The method for rebuilding a mapping table according to claim 1, comprising the following steps when rebuilding a logical address to physical address mapping table:
when the operation type is the flash memory block information in the data structure of the physical address to the logical address which is flushed back is the effective value, reading all physical address to logical address mapping tables in the rest blocks of the flash memory block in the data flash memory area, and sequentially placing the mapping tables in a cache after the operation type is the physical address to the logical address which is flushed back, and identifying the physical address to the logical address mapping table which is flushed back and the physical address to the logical address mapping table which follows the mapping table as the state to be flushed back.
5. The method for rebuilding a mapping table according to claim 4, further comprising the following steps when rebuilding a logical address to physical address mapping table:
judging whether the corresponding content of all mapping tables of the physical address to the logical address to be flushed back in the cache is empty, if so, indicating that the reconstruction of the mapping tables of the logical address to the physical address is completed, outputting a final flash memory block and a block, and if not, clearing the flushing flag bits of all entries in the mapping tables of the physical address to the logical address which are flushed back and all the subsequent mapping tables of the physical address to the logical address;
in the mapping table from the physical address to the logical address to be refreshed, the flash memory block information and the block information are the same as those from the physical address to the logical address table with the operation type being updated, and the flag bit is marked to be refreshed; and
and synchronously brushing all physical address to logical address mapping tables in the cache.
6. The method for reconstructing a mapping table according to claim 5, wherein clearing the refresh-back flag bits of all entries in the physical address to logical address mapping table comprises the steps of:
setting a bit mask in the cache value setting unit to clear all the back-flushing flag bits;
setting the preset value in the cache value setting unit to be zero;
setting the address length in the cache value setting unit as all the range of the back-flushing flag bits needing to be cleared; and
and starting a cache value setting unit, and clearing the back flushing flag bits of all the entries in the required range.
7. The method for reconstructing a mapping table according to claim 1, wherein the step of flushing the flag bit back to the mapping table flag of the physical address to logical address to be flushed comprises the following steps:
setting a bit mask in a cache searching unit, and comparing the bit mask and brushing back a flag bit;
setting a search value in a cache search unit, wherein the search value is a refresh flag bit;
starting a cache searching unit, and finding out all items marked with the refresh flag bit in a mapping table from the physical address to the logical address with the operation type of updating;
acquiring an address block table according to the search result; and
and marking a back flushing flag bit in the corresponding entry of the mapping table from the target physical address to the logical address according to the address block table.
8. The method of claim 1, wherein synchronizing the flushing of all physical address to logical address mapping tables in the cache comprises the steps of:
judging whether the physical address to logical address entry corresponding to the physical address to logical address mapping table index is marked as a back-flushing flag bit;
reading a logical address-to-physical address mapping table from the physical address to the logical address entry and storing the mapping table in a first cache;
using a cache searching unit to search the remaining entries belonging to the mapping table from the logical address to the logical address in all mapping tables from the physical address to the logical address to be refreshed;
and flushing all physical address to logical address entries belonging to the logical address to physical address mapping table back to the logical address to physical address mapping table, and flushing the marks of the flushed physical address to logical address entries back to the flag bits.
9. The mapping table rebuilding method of claim 8, wherein using the cache search unit to search all physical address to logical address mapping tables to be flushed back for the remaining entries belonging to the logical address to physical address mapping table comprises the following steps:
setting data pre-searched in a cache search unit as physical address to logical address entries;
setting a bit mask in a cache searching unit, and only displaying the position information of a mapping table from a logical address to a physical address; and
and starting a cache search unit and storing the search result.
10. The method for rebuilding a mapping table according to claim 1, comprising the following steps when rebuilding a physical address to logical address mapping table:
acquiring flash memory block information and block information output by a mapping table from a reconstructed logical address to a physical address; and
and judging whether the flash memory block corresponding to the flash memory block information is valid or not and judging whether the block exceeds the total block number or not.
11. The method for rebuilding a mapping table according to claim 10, comprising the following steps when rebuilding a physical address to logical address mapping table:
when the flash memory block corresponding to the flash memory block information is invalid, or the flash memory block corresponding to the flash memory block information is valid and the block exceeds the total block number;
the physical address to logical address mapping table and the physical address to logical address data structure are reset to be in a non-data state, and the reconstruction of the physical address to logical address mapping table is completed.
12. The method for reconstructing a mapping table according to claim 10, wherein when the flash block corresponding to the flash block information is valid and the block does not exceed the total number of blocks when reconstructing the physical address to logical address mapping table, the method further comprises the following steps:
judging whether the flash memory block information and the block information have the same data structure from the physical address to the logical address with the operation type of updating, if so, reading a page corresponding to the index from the physical address to the logical address mapping table in the data flash memory area, updating the physical address to the logical address mapping table by the logical address in the metadata of the page, and continuing the index forward until an empty page is read or the tail end of the mapping table is read; if not, resetting the mapping table from the physical address to the logical address and the data structure from the physical address to the logical address to be in a no-data state, initializing the data structure from the physical address to the logical address by using the flash block information and the block information, reading a page corresponding to the index from the mapping table from the physical address to the logical address in the data flash memory area, updating the mapping table from the physical address to the logical address by using the logical address in the metadata of the page, and continuing the index until an empty page is read or the tail end of the mapping table is read.
13. A data storage device, characterized in that a computer program is stored on the data storage device, which computer program, when being executed by a processor, carries out the method for reconstructing a mapping table according to claim 1.
CN202211560631.XA 2022-12-07 2022-12-07 Mapping table reconstruction method and data storage device Active CN115563026B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211560631.XA CN115563026B (en) 2022-12-07 2022-12-07 Mapping table reconstruction method and data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211560631.XA CN115563026B (en) 2022-12-07 2022-12-07 Mapping table reconstruction method and data storage device

Publications (2)

Publication Number Publication Date
CN115563026A CN115563026A (en) 2023-01-03
CN115563026B true CN115563026B (en) 2023-04-14

Family

ID=84770679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211560631.XA Active CN115563026B (en) 2022-12-07 2022-12-07 Mapping table reconstruction method and data storage device

Country Status (1)

Country Link
CN (1) CN115563026B (en)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244833B2 (en) * 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
US9268682B2 (en) * 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
CN103279366B (en) * 2013-04-24 2016-08-10 中国科学院苏州纳米技术与纳米仿生研究所 Method based on solid state hard disc quick turn-on after solid state hard disc and power down
TWI546666B (en) * 2014-11-03 2016-08-21 慧榮科技股份有限公司 Data storage device and flash memory control method
KR102580123B1 (en) * 2016-05-03 2023-09-20 삼성전자주식회사 Raid storage device and management method thereof
TWI639917B (en) * 2017-04-25 2018-11-01 慧榮科技股份有限公司 Data storage devices and methods for rebuilding a mapping table thereof
CN107992269B (en) * 2017-12-08 2020-01-03 华中科技大学 Transaction writing method based on deduplication SSD
TWI643066B (en) * 2018-01-15 2018-12-01 慧榮科技股份有限公司 Method for reusing destination block related to garbage collection in memory device, associated memory device and controller thereof, and associated electronic device
CN108415851B (en) * 2018-01-18 2021-02-12 珠海全志科技股份有限公司 Method and device for improving starting speed of flash memory equipment
CN110459256A (en) * 2018-05-08 2019-11-15 美光科技公司 The loss of dynamic P2L asynchronous power reduces
KR102624911B1 (en) * 2018-06-13 2024-01-12 삼성전자주식회사 Method for increasing endurance of flash memory by improved metadata management
KR20210000414A (en) * 2019-06-25 2021-01-05 에스케이하이닉스 주식회사 Memory system
CN111966611B (en) * 2020-08-03 2023-12-12 南京扬贺扬微电子科技有限公司 SPI flash memory control chip with logic-to-physical address architecture
CN112860594B (en) * 2021-01-21 2022-11-01 华中科技大学 Solid-state disk address remapping method and device and solid-state disk
US20210223979A1 (en) * 2021-03-16 2021-07-22 Intel Corporation On-ssd-copy techniques using copy-on-write

Also Published As

Publication number Publication date
CN115563026A (en) 2023-01-03

Similar Documents

Publication Publication Date Title
US11789860B2 (en) Logical to physical mapping management using low-latency non-volatile memory
JP6967986B2 (en) Memory system
US10657047B2 (en) Data storage device and method of performing partial garbage collection
KR102042643B1 (en) Managing multiple namespaces in a non-volatile memory (nvm)
US6711663B2 (en) Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
KR101678868B1 (en) Apparatus for flash address translation apparatus and method thereof
TWI645404B (en) Data storage device and control method for non-volatile memory
US10489291B2 (en) Garbage collection method for a data storage apparatus by finding and cleaning a victim block
CN107957961A (en) Storage device, storage system and computing device
US10606760B2 (en) Nonvolatile memory devices and methods of controlling the same
US11397669B2 (en) Data storage device and non-volatile memory control method
US11520696B2 (en) Segregating map data among different die sets in a non-volatile memory
CN108027764B (en) Memory mapping of convertible leaves
US10754555B2 (en) Low overhead mapping for highly sequential data
CN113900584A (en) Memory system, memory controller and method of operating memory system
CN112463647A (en) Reducing the size of the forward mapping table using hashing
US11307979B2 (en) Data storage device and non-volatile memory control method
CN106776361B (en) Caching method and system for large-scale nonvolatile storage medium
CN111338990A (en) Data storage device, data storage method and storage system
US11726921B2 (en) Combined page footer for parallel metadata storage
US20230102184A1 (en) Dynamically sized redundant write buffer with sector-based tracking
CN115563026B (en) Mapping table reconstruction method and data storage device
US11599466B2 (en) Sector-based tracking for a page cache
TW202121413A (en) Data storage device and non-volatile memory control method
US11940925B2 (en) Performing memory access operations with a logical-to-physical mapping table with reduced size

Legal Events

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