CN108733510A - Data storage device and mapping table reconstruction method - Google Patents

Data storage device and mapping table reconstruction method Download PDF

Info

Publication number
CN108733510A
CN108733510A CN201710473881.2A CN201710473881A CN108733510A CN 108733510 A CN108733510 A CN 108733510A CN 201710473881 A CN201710473881 A CN 201710473881A CN 108733510 A CN108733510 A CN 108733510A
Authority
CN
China
Prior art keywords
mentioned
data
block
mapping table
address mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710473881.2A
Other languages
Chinese (zh)
Other versions
CN108733510B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN108733510A publication Critical patent/CN108733510A/en
Application granted granted Critical
Publication of CN108733510B publication Critical patent/CN108733510B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

The invention relates to a data storage device and a mapping table rebuilding method. The non-volatile memory stores a data block. The microcontroller selects a source block and a destination block from the data blocks and copies effective data of the source block to the destination block, and when one of the effective data is damaged and cannot be repaired, the microcontroller records an uncorrectable error bit corresponding to the one of the effective data to the destination block.

Description

Data memory device and mapping table method for reconstructing
Technical field
The present invention is about data reconstruction techniques, particularly with regard to a kind of logic suitable for data memory device to entity Address mapping table (logical-to-physical address mapping table) method for reconstructing.
Background technology
With the evolution of computer technology, various dense storage device is gradually developed, wherein being again most wide with memory The storage medium used, in general, other according to storage characteristic, memory can divide into volatility (volatile) and deposit again Reservoir and non-volatile (non-volatile) memory, the wherein data stored by volatile storage can be in power supply supplies Have no progeny disappearance, even and if the data stored by non-volatility memorizer still can be saved when power is off, as long as again Power supply can read internal storage data.
It by taking non-volatility memorizer as an example, is widely used in electronic product in recent years, especially portable electricity Sub- product is (such as:Mobile phone, digital still camera and mini game machine etc.), to preserve data for a long time.Have on the market at present Many kinds of different types of non-volatility memorizers, including:Flash memory (flash memory), magnetic-resistance random access are deposited Reservoir (Magneto-resistive RAM), ferroelectric RAM (Ferroelectric RAM), resistor type random access Access memory (Resistive RAM) and spin transfer torque random access memory (Spin Transfer Torque-RAM, STT-RAM) etc..
During the use of non-volatility memorizer, need to carry out the logical address at managing main frame end and non-with mapping table Mapping relations between the physical address at volatile storage end, to realize correct data access operation.However, in use If improper power-off or power-off suddenly occurs, it would be possible to the damage of internal storage data is caused, such as:Mapping table is damaged.Therefore, there is an urgent need for have A kind of mapping table method for reconstructing can effectively solve the problem that the problem of mapping table is damaged.
Invention content
To solve the above-mentioned problems, a kind of data memory device of present invention proposition and mapping table method for reconstructing, will especially patrol It collects to unrepairable mistake (uncorrectable error, UNC error) bit in physical address mapping table and backups to reality Body is standby to logical address mapping table (physical-to-logical address mapping table) and/or data page With area (data page spare area) so that also can quickly be rebuild when rebuilding logic to physical address mapping table can not Repair wrong bit.
One embodiment of the invention provides a kind of data memory device, including a non-volatility memorizer and a micro-control Device processed.Above-mentioned non-volatility memorizer includes multiple data blocks.Above-mentioned microcontroller chooses one from above-mentioned data block Source area block and a mesh block and by it is above-mentioned come source area block multiple valid data with being copied to above-mentioned mesh block, have when above-mentioned When the one of effect data is damaged and can not be repaired, the unrepairable error bit corresponding to the above-mentioned one by above-mentioned valid data Member records to above-mentioned mesh block.
Preferably, above-mentioned unrepairable mistake bit is a block terminal of with being recorded in above-mentioned mesh block, or Person, a spare area of above-mentioned unrepairable mistake bit with being recorded in above-mentioned mesh block.
Another embodiment of the present invention provides a kind of data memory device, including a non-volatility memorizer and one micro- Controller.Above-mentioned non-volatility memorizer includes multiple data blocks.Above-mentioned microcontroller is read in each above-mentioned data block An entity to logical address mapping table, each above-mentioned entity to logical address mapping table includes a unrepairable mistake bit, And the sequencing according to above-mentioned entity to logical address mapping table establishes a logic to physical address mapping table, wherein above-mentioned Logic to physical address mapping table include above-mentioned unrepairable mistake bit.
Preferably, above-mentioned entity is stored in the block terminal of above-mentioned data block to logical address mapping table.On The sequencing for stating data block is recorded in a period of time sequence table, alternatively, the sequencing of above-mentioned data block is with reference on each It states a time stab of data block and determines.
Another embodiment of the present invention provides a kind of mapping table method for reconstructing, is suitable for a data memory device, above-mentioned Mapping table method for reconstructing includes the following steps:Enable the space of a non-volatility memorizer of above-mentioned data memory device be divided into A few system information block and an at least data block;And in an above system information area logic in the block to physical address When mapping table is damaged, one is read from an above-mentioned data field entity in the block to logical address mapping table or a data page spare area Unrepairable mistake bit, to rebuild above-mentioned logic to physical address mapping table.
Preferably, mapping table method for reconstructing is further comprising the steps of:When writing data to above-mentioned data block, Above-mentioned unrepairable mistake bit is read from above-mentioned logic to physical address mapping table and is written to above-mentioned entity to logical address Mapping table or above-mentioned data page spare area;When mistake but occurs from above-mentioned data block reading data, executes a data and repair Multiple program;And when above-mentioned data repair procedure fails, above-mentioned in above-mentioned logic to physical address mapping table can not be repaiied Multiple mistake bit is set as " true ".
Above-mentioned logic indicates a host to the mapping information of above-mentioned non-volatility memorizer to physical address mapping table, Last time entity is to logical address mapping table also indicating above-mentioned non-volatility memorizer to the mapping information of above-mentioned host.
Above-mentioned entity is stored in a block terminal of above-mentioned data block to logical address mapping table.
Above-mentioned data page spare area is also storing the metadata of each data page in above-mentioned data block.
About other additional features and advantages of the invention, the those skilled in the art in this field is not departing from this hair In bright spirit and scope, when can be according to the data memory device and mapping table method for reconstructing disclosed in this case implementation A little changing and retouching is done to obtain.
Description of the drawings
Figure 1A and Figure 1B is the schematic diagram for the physical space configuration for showing an example flash memory.
Fig. 2 is the schematic diagram of the data memory device according to one embodiment of the invention.
Fig. 3 is shown with the schematic diagram for the H2F mapping tables that logical address is index.
Fig. 4 is the flow chart of the H2F mapping table method for reconstructing according to one embodiment of the invention.
Symbol description
100 flash memories;
102 data areas;
104 spare areas;
200 data memory devices;
210 flash memories;
Block pond is programmed on 211 lines;
212 system information block ponds;
213 idle block ponds;
214 data block ponds;
220 control units;
221 microcontrollers;
222 random access memory;
223 read-only memory;
300 hosts;
S401~S405 number of steps;
BLK#1, BLK#2, BLK#Z physical blocks;
U#i, U# (i+1), U# (i+2), U# (i+3) storage element;
BLK# physical block numbers;
U# storage elements are numbered;
H2F_H#1, H2F_H#2 host block mapping table;
H2F H2F mapping tables;
F2H F2H mapping tables;
EOB block terminals.
Specific implementation mode
What this section was described is preferred embodiment of the present invention, it is therefore intended that illustrate the present invention spirit rather than to Limit protection scope of the present invention, it should be understood that the following example can come real via software, hardware, firmware or above-mentioned arbitrary combination It is existing.
Non-volatility memorizer includes:Flash memory, magnetic random access memory, ferro-electric random access storage Device, resistance-type memory, spin transfer torque random access memory etc. have the characteristic for preserving data for a long time.Below Especially illustrated by taking flash memory as an example.
Present-day data storage device is commonly used to realize memory card (memory often using flash memory as storage medium Card), universal serial bus flash memory device (USB flash device) and solid hard disc (Solid State Drive, SSD) etc. products.One of which application is to adopt multi-die package, and flash memory and its controller are packaged together, Referred to as embedded flash memory module is (such as:Embedded multi-media card (embedded MultiMedia Card, eMMC)).
It can be applied in a variety of electronic devices by the data memory device of storage medium of flash memory, including:Wisdom Type mobile phone, object wearing device, tablet computer and virtual reality equipment etc., and in general, the so centre in electronic device Reason unit (Central Processing Unit, CPU) can be considered as operating a host of the data memory device.
Figure 1A and Figure 1B is the schematic diagram for the physical space configuration for showing an example flash memory.
As shown in Figure 1A, the data storage space of flash memory 100 can be divided into multiple blocks (or physical blocks (physical block)) BLK#1, BLK#2 ... BLK#Z, wherein Z are positive integer.Each physical blocks include multiple Physical Page (physical page), or data page (data page) is can be described as, such as:256 data pages.
As shown in Figure 1B, each data page includes data area (data area) 102 and spare area (spare area)104.Data area 102 can be further divided into multiple storage element U#i, U# (i+1), U# (i+2), U# (i+3), warp With postponing, the logical address at corresponding host end stores data.There are many forms for the logical address of host side, for example, with logic area Block address (Logical Block Address, LBA) or universe host page (Global Host Page, GHP) are numbered.
It is 16KB (Kilo-Byte, kilobit tuple), storage element U#i, U# in the size of an embodiment, data area 102 (i+1), U# (i+2), U# (i+3) size be respectively 4KB, each storage element can be mapped to 8 logical block addresses (such as: LBA#0~LBA#7) or correspond to 1 universe host page.
Spare area 104 is used for storing the metadata (metadata) of affiliated data page, including mapping information and block Identification code.Block identification code to physical blocks belonging to recording block identification code.Information is mapped to indicate storage element U# I, the logical address for the host side that U# (i+1), U# (i+2), the content stored by U# (i+3) correspond to.For example, mapping money News can record the number of 4 sections of logical block addresses (each section of number for including 8 logical block addresses) or 4 universe host pages. It is illustrated by taking universe host page as an example below, but not limited to this.
Fig. 2 is the schematic diagram of the data memory device according to one embodiment of the invention.Data memory device 200 includes Flash memory 210 and control unit 220, wherein control unit 220 are coupled between host 300 and flash memory 210, And the instruction assigned according to host 300 is (such as:Read, be written or reset etc.) operating flash memory 210.
Control unit 220 includes microcontroller 221, random access memory 222 and read-only memory 223, wherein Random access memory 222 may be disposed at the same crystal grain (die) with microcontroller 221, or be fabricated separately, thereby increases and it is possible to space Limited (compared to large scale DRAM).For example, a safety digit (Secure Digital, SD) card can be used 512KB's Static RAM (Static Random Access Memory, SRAM) realizes random access memory 222.
Read-only memory 223 is storing read-only procedure code (e.g., ROM code).Microcontroller 221 can be loaded into and execute Read-only procedure code stored by read-only memory 223 and/or programming (in-system on the line of flash memory 210 Programming, ISP) program on line stored by block pond 211, to be operated, and using depositing at random in operating Access to memory 222 makees dynamic information storage.The running content of microcontroller 221 also particularly including:Dynamic arranges flash memory Mapping information between 210 logical address (visual angle of host 300) and physical address (visual angle of flash memory 210), packet Host is included to memory cache (Host to Flash, H2F) mapping table (referred to as H2F mapping tables after text) and data block Respective memory cache is to host (Flash to Host, F2H) mapping table (text after referred to as F2H mapping tables).
The space configuration of flash memory 210 includes:Block pond 211 is programmed on line, system information block pond 212, is left unused Block pond 213 and data block pond 214.
Block in system information block pond 212 is deposited to stocking system information, including the non-volatile formula of H2F mapping tables Storage, the example of H2F mapping tables Fig. 3 will be described further after text.
Block in idle block pond 213 can be configured by microcontroller 221 to store data (for example, as active block Data or the target block as garbage reclamation is written in receiving host 300), and pending data storage is completed (to write full or interrupt not Recycling) i.e. pushed data block pond 214 is defined as data block.
Block in data block pond 214 is referred to alternatively as data block again, be by physical address define Lai data Storage space, that is, the data to be read of host 300 true position.F2H mapping tables are stored in corresponding block In block terminal (End of Block, EOB), and block terminal is preferably stored in the most end data page of corresponding block.
Under general running, the control unit 220 of data memory device 200 can dynamically arrange mapping table, including:H2F maps Table and F2H mapping tables.H2F mapping tables can be index with universe host page, record the data (significant figure of each universe host page According to) be stored to which physical address of flash memory 210, that is, which physical areas which data page in the block or which One storage element.F2H mapping tables then can record in described physical blocks, the content institute stored by data page or storage element Why is the universe host page corresponded to.It follows that mapping table, which is data memory device 200, operates required important evidence.
Fig. 3 is shown with the schematic diagram for the H2F mapping tables that logical address is index.Each project in H2F mapping tables (entry) data of record Different Logic address (e.g., logical block addresses or universe host page) are to be stored to flash Which storage element (U# is denoted as in figure) of which physical blocks (BLK# is denoted as in figure), i.e. physics object location in device 100.? In one embodiment, the data length of logical address and physics object location is 32 bits, wherein the data length of BLK# is 16 bits, The data length of U# is also 16 bits.And in order to which in response to huge storage space, H2F mapping tables can be with host block (host Block it is) unit, is subdivided into host block mapping table H2F_H#0, H2F_H#1 ... etc..In an embodiment, each host block The size of mapping table is 64KB.Those host block mapping tables H2F_H#0, H2F_H#1 ... can be with an index list managements.
In the present invention, each project in H2F mapping tables is closed in addition to record universe host page is corresponding with physical address Except system, also records a unrepairable mistake (uncorrectable error, UNC error) bit and (be denoted as UNC in figure Bit), whether once it had been read out the mistake that unrepairable occurs to the universe host page belonging to indicating.Implement one Example, unrepairable mistake bit can be the not used bits of any one of each project, in preferably each project 31st bit of logical address or the 31st bit of physics object location or the 15th bit.
The unrepairable in H2F mapping tables corresponding to each valid data (logical address or physical address) is wrong at the beginning Accidentally the preset value of bit is all " false (false) ".When data memory device 200 executes garbage collection (garbage Collection) or when other data-moving mechanism, a block for coming source area block and a mesh can be chosen, wherein carry out source area block There is maximum to smear to write number (erase count) or smear the number for writing that number is more than a preset value preferably in data block pond 214 It is more than the data of a preset value according to block, or with maximum wrong bit number (error bit count) or wrong bit number Block, such as physical blocks BLK#1;Purpose block is preferably in idle block pond 213, and there is minimum to smear the idle area for writing number Idle block in block, any or queue, such as physical blocks BLK#2.Wherein, garbage collection or other data-moving mechanism compared with It is good to be executed under background mode, it can also be executed under foreground mode.When valid data origin source area block moves (or duplication) to mesh Block when, if come a physics object location of source area block valid data damage, data memory device 200 can first carry out data Repair procedure attempts to repair the valid data damaged, and when data repair procedure fails, then identification is the mistake of unrepairable And the unrepairable mistake bit corresponding to this valid data in H2F mapping tables is set as " true ".Finally, data memory device 200 can stop moving (or duplication) this valid data, and update the unrepairable in this H2F mapping table corresponding to this valid data Mistake bit;Or valid data of this damage are directly moved into (or replicate) to purpose block, and update this in H2F mapping tables and have Unrepairable mistake bit corresponding to effect data and unrepairable mistake bit corresponding to this valid data is stored to spare Region 104, and in purpose block be written EOB information when, by the unrepairable mistake bit corresponding to this valid data be written to F2H mapping tables.In an embodiment, errors repair code (Error Correction Code, ECC) can be used in data repair procedure Mechanism realize error detection and reparation, the operating mechanism about errors repair code will be further illustrated in follow-up.
After this, when host 300 is intended to read this valid data, data memory device 200 exists according to this valid data Unrepairable mistake bit in H2F mapping tables directly responds the digital independent requirement of host 300.Once unrepairable mistake Bit is set as " true ", then data memory device 200 can direct omitted data reading operation, that is, omit to flash memory 210 Operation, directly return unrepairable mistake or read error to host 300, thus, effectively promote data memory device 200 total system efficiency.In addition, the present invention proposes that a mapping table method for reconstructing can be together with unrepairable mistake bit together Quickly rebuild.
In the present invention, in addition to H2F mapping tables have record valid data unrepairable mistake bit, F2H mapping tables with And the spare area of each data page also has the unrepairable mistake bit for recording this valid data.Therefore, when H2F mapping tables are ruined When damage, microcontroller 221 can be during rebuilding H2F mapping tables, according to the unrepairable in F2H mapping tables or spare area Mistake bit quickly rebuilds the unrepairable mistake bit in H2F mapping tables.
Fig. 4 is the flow chart of the H2F mapping table method for reconstructing according to one embodiment of the invention.In this embodiment, H2F Mapping table method for reconstructing is suitable for a data memory device, such as data memory device 200, in particular, in the data memory device In, unrepairable mistake bit is recorded in addition to H2F mapping tables have, the spare area of F2H mapping tables and data page also has record Unrepairable mistake bit.
First, when data memory device detects the damage of H2F mapping tables (step S401), the first repair procedure can be executed Attempt the errors repair code (Error Correction Code, ECC) contained in the H2F mapping tables and directly repairs H2F mapping tables (step S402), wherein H2F mapping tables are the data area 102 for the block being stored in system information block pond 212, mistake Repair the spare area 104 that code is the block being stored in system information block pond 212.
The reason of causing H2F mapping tables to damage has very much, such as:Transmission line occurs during digital independent or write-in Loosen or the improper power-off of data memory device or suddenly power-off or storage medium entity abrasion.
In an embodiment, H2F mapping tables can in each byte (word) (such as:32 bits) in an embedded check code (checksum) and errors repair code, wherein check code are calculated when data are written to the byte according to data content , later, when reading data, new check code can be recalculated again according to data content, if new check code and elder generation The check code of preceding write-in is different, then it represents that data damage then uses errors repair code to attempt repair data, however, mistake is repaiied Multiple code has its limit for repairing damage data, is only capable of repairing the damage data of limited bit number, if the data damaged are more than can The bit number of reparation, then repairing failure.
Subsequent steps S402, if repairing successfully, flow terminates;Conversely, if repairing failure, executes the second repair procedure Attempt to rebuild H2F mapping tables (step S403) according to F2H mapping tables.
Particularly, the second repair procedure includes:According to the F2H mapping tables of data block, for example, physical blocks BLK#2 Block terminal stored by F2H mapping tables, the physical address recorded reversely pushes back out to the correspondence of universe host page Correspondence of the universe host page to physical address, you can rebuild the mapping information in H2F mapping tables;And by F2H mapping tables The unrepairable mistake bit recorded copies to the unrepairable mistake bit in the H2F mapping tables of reconstruction.Due to data field The number of data block can exceed that 1 in block pond 214, therefore, when reading the F2H mapping tables of data block, preferably foundation The time stab (timestamp) that sequential list (linklist) or while being established according to data block are recorded comes determination data area The reading order of the F2H mapping tables of block.
Subsequent steps S403, if rebuilding successfully, flow terminates;Conversely, if reconstruction failure, executes third repair procedure Attempt the spare area according to data block, such as:The spare area 104 of physical blocks BLK#2, to rebuild H2F mapping tables (step Rapid S404).
Particularly, third repair procedure includes:The mapping information recorded according to each spare area (indicates physics Correspondence of the address to universe host page), reversely push back out universe host page to physical address correspondence, you can rebuild Mapping information in H2F mapping tables;And the unrepairable mistake bit that each spare area is recorded is copied into reconstruction Unrepairable mistake bit in H2F mapping tables.
Subsequent steps S404, if rebuilding successfully, flow terminates;Conversely, if reconstruction failure, generates error messages, refer to Show that data damage (step S405) occurs for data memory device, then flow terminates.
It is connected in an embodiment if first all can not repair/rebuild H2F mapping tables to third repair procedure The host of data memory device, such as:Resetting may be selected (such as when receiving error messages in host 300:It reinitializes) Data memory device.
Though the present invention is disclosed as above with various embodiments, however it is only exemplary reference rather than to limit the model of the present invention It encloses, any those skilled in the art, without departing from the spirit and scope of the present invention, when can do a little change and retouching. Therefore above-described embodiment is not limited to the scope of the present invention, protection scope of the present invention when be defined by tbe claims for It is accurate.

Claims (13)

1. a kind of data memory device, including:
One non-volatility memorizer, including multiple data blocks;And
One microcontroller, chosen from above-mentioned data block one with coming source area block and a mesh block and by it is above-mentioned come source area block Block has when the one of above-mentioned valid data is damaged and can not be repaired by above-mentioned multiple valid data with being copied to above-mentioned mesh It imitates the unrepairable mistake bit corresponding to the above-mentioned one of data and records to above-mentioned mesh block.
2. data memory device as described in claim 1, which is characterized in that above-mentioned unrepairable mistake bit is recorded in above-mentioned Mesh block a block terminal.
3. data memory device as described in claim 1, which is characterized in that above-mentioned unrepairable mistake bit is recorded in above-mentioned Mesh block a spare area.
4. a kind of data memory device, including:
One non-volatility memorizer, including multiple data blocks;And
One microcontroller reads each above-mentioned data field entity in the block to logical address mapping table, and each above-mentioned entity arrives Logical address mapping table is suitable including a unrepairable mistake bit, and the priority according to above-mentioned entity to logical address mapping table Sequence establishes a logic to physical address mapping table, wherein above-mentioned logic to physical address mapping table include above-mentioned unrepairable mistake Bit.
5. data memory device as claimed in claim 4, which is characterized in that the sequencing of above-mentioned data block is recorded in one In sequential list.
6. data memory device as claimed in claim 4, which is characterized in that the sequencing of above-mentioned data block is with reference to each One time stab of above-mentioned data block and determine.
7. data memory device as claimed in claim 4, which is characterized in that above-mentioned entity is stored in logical address mapping table The block terminal of above-mentioned data block.
8. a kind of mapping table method for reconstructing is suitable for a data memory device, including:
The space of a non-volatility memorizer of above-mentioned data memory device is enabled to be divided into an at least system information block and extremely A few data block;And
It is real from above-mentioned data field in the block one when in above system information area, a logic in the block is damaged to physical address mapping table Body reads a unrepairable mistake bit to logical address mapping table or a data page spare area, to rebuild above-mentioned logic in fact Body address mapping table.
9. mapping table method for reconstructing as claimed in claim 8, which is characterized in that further include:Writing data to above-mentioned data When block, above-mentioned unrepairable mistake bit is read from above-mentioned logic to physical address mapping table and is written to above-mentioned entity to patrolling Collect address mapping table or above-mentioned data page spare area.
10. mapping table method for reconstructing as claimed in claim 8, which is characterized in that further include:
When mistake but occurs from above-mentioned data block reading data, a data repair procedure is executed;And
When above-mentioned data repair procedure fails, by the above-mentioned unrepairable error bit in above-mentioned logic to physical address mapping table Member is set as "true".
11. mapping table method for reconstructing as claimed in claim 8, which is characterized in that above-mentioned logic to physical address mapping table is used To indicate a host to the mapping information of above-mentioned non-volatility memorizer, last time entity to logical address mapping table is also indicating Above-mentioned non-volatility memorizer to above-mentioned host mapping information.
12. mapping table method for reconstructing as claimed in claim 8, which is characterized in that above-mentioned entity to logical address mapping table stores up It is stored in a block terminal of above-mentioned data block.
13. mapping table method for reconstructing as claimed in claim 8, which is characterized in that above-mentioned data page spare area is also storing up Deposit the metadata of each data page in above-mentioned data block.
CN201710473881.2A 2017-04-25 2017-06-21 Data storage device and mapping table reconstruction method Active CN108733510B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106113731 2017-04-25
TW106113731A TWI639917B (en) 2017-04-25 2017-04-25 Data storage devices and methods for rebuilding a mapping table thereof

Publications (2)

Publication Number Publication Date
CN108733510A true CN108733510A (en) 2018-11-02
CN108733510B CN108733510B (en) 2023-03-28

Family

ID=63852310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710473881.2A Active CN108733510B (en) 2017-04-25 2017-06-21 Data storage device and mapping table reconstruction method

Country Status (3)

Country Link
US (2) US10635525B2 (en)
CN (1) CN108733510B (en)
TW (1) TWI639917B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597712A (en) * 2018-11-27 2019-04-09 杭州宏杉科技股份有限公司 Space allocation method and device
CN110704337A (en) * 2019-09-23 2020-01-17 深圳忆联信息***有限公司 Mapping table reconstruction method and device based on solid state disk and computer equipment
CN111324289A (en) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 Memory device
CN111367697A (en) * 2018-12-25 2020-07-03 北京兆易创新科技股份有限公司 Error processing method and device
CN111400201A (en) * 2020-03-19 2020-07-10 合肥兆芯电子有限公司 Data sorting method of flash memory, storage device and control circuit unit
CN111399758A (en) * 2019-01-02 2020-07-10 慧荣科技股份有限公司 Data storage device, access device and data processing method
CN111813703A (en) * 2019-04-10 2020-10-23 慧荣科技股份有限公司 Data storage device and method for updating logical-to-physical address mapping table
CN113971964A (en) * 2020-07-24 2022-01-25 深圳市江波龙电子股份有限公司 Data recovery method, storage device and terminal device
CN115563026A (en) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 Mapping table reconstruction method and data storage device

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI639917B (en) * 2017-04-25 2018-11-01 慧榮科技股份有限公司 Data storage devices and methods for rebuilding a mapping table thereof
CN109582599B (en) * 2017-09-29 2023-12-22 上海宝存信息科技有限公司 Data storage device and non-volatile memory operation method
KR20200113047A (en) * 2019-03-20 2020-10-06 삼성전자주식회사 Operation method of open-channel storage device
US10877900B1 (en) * 2019-06-26 2020-12-29 Western Digital Technologies, Inc. Enabling faster and regulated device initialization times
CN113641597B (en) * 2020-04-27 2024-07-12 慧荣科技股份有限公司 Method and apparatus for managing data storage and computer readable storage medium
CN111581022B (en) * 2020-04-30 2022-07-08 江苏芯盛智能科技有限公司 Data recovery method and system
KR20210137679A (en) * 2020-05-11 2021-11-18 에스케이하이닉스 주식회사 Memory controller
CN113918082B (en) * 2020-07-08 2024-03-08 慧荣科技股份有限公司 Computer readable storage medium, method and apparatus for configuring reliable command
US11527300B2 (en) 2020-08-26 2022-12-13 Western Digital Technologies, Inc. Level dependent error correction code protection in multi-level non-volatile memory
US11436083B2 (en) 2020-09-04 2022-09-06 Western Digital Technologies, Inc. Data address management in non-volatile memory
CN112634975A (en) * 2020-12-24 2021-04-09 杭州华澜微电子股份有限公司 Data storage error correction method and device and electronic equipment
US11556467B1 (en) * 2021-07-13 2023-01-17 Micron Technology, Inc. Optimizing garbage collection that uses a logical-to-physical table search
KR20230013558A (en) * 2021-07-19 2023-01-26 에스케이하이닉스 주식회사 Memory controller, operating method thereof, and computing system including thereof
CN115202933A (en) * 2022-07-19 2022-10-18 合肥兆芯电子有限公司 Mapping table rebuilding method, memory storage device and memory control circuit unit

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016719A1 (en) * 2004-04-09 2007-01-18 Nobuhiro Ono Memory device including nonvolatile memory and memory controller
CN101046803A (en) * 2006-03-28 2007-10-03 大唐移动通信设备有限公司 Safety management method and device of file system
US20130124782A1 (en) * 2011-11-11 2013-05-16 Lite-On It Corporation Solid state drive and method for constructing logical-to-physical table thereof
TW201339835A (en) * 2012-03-29 2013-10-01 Phison Electronics Corp Data writing method, and memory controller and memory storage device using the same
CN103377143A (en) * 2012-04-27 2013-10-30 群联电子股份有限公司 Memorizer management method, memorizer controller and memorizer memory device
CN103631721A (en) * 2012-08-23 2014-03-12 华为技术有限公司 Method and system for isolating bad blocks in internal storage
CN103902406A (en) * 2012-12-31 2014-07-02 杨威锋 Technology for preserving and recovering mapping table information of high-reliability solid state storage equipment
CN104166636A (en) * 2013-05-17 2014-11-26 宇瞻科技股份有限公司 Memory storage device and restoration method thereof and memory controller
CN104750625A (en) * 2013-12-26 2015-07-01 慧荣科技股份有限公司 Data storage device and flash memory control method
CN105740157A (en) * 2014-11-03 2016-07-06 慧荣科技股份有限公司 Data storage device and flash memory control method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202007009033U1 (en) * 2007-06-26 2007-08-30 Kiekert Ag Electronic condition detection device
US20100325374A1 (en) 2009-06-17 2010-12-23 Sun Microsystems, Inc. Dynamically configuring memory interleaving for locality and performance isolation
US8327092B2 (en) 2009-09-21 2012-12-04 Freescale Semiconductor, Inc. Memory device configurable as interleaved or non-interleaved memory
TWI407310B (en) * 2009-10-09 2013-09-01 Silicon Motion Inc Data storage device and data access method
US8407449B1 (en) * 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
TWI455142B (en) * 2010-04-08 2014-10-01 Silicon Motion Inc Data storage device and data read method of a flash memory
US9003102B2 (en) * 2011-08-26 2015-04-07 Sandisk Technologies Inc. Controller with extended status register and method of use therewith
US20130179726A1 (en) 2012-01-08 2013-07-11 Synology Incorporated Automatic remapping in redundant array of independent disks and related raid
US9047922B2 (en) * 2012-01-27 2015-06-02 Seagate Technology Llc Autonomous event logging for drive failure analysis
US8954694B2 (en) * 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9400745B2 (en) * 2013-11-06 2016-07-26 International Business Machines Corporation Physical address management in solid state memory
TWI579696B (en) * 2015-11-06 2017-04-21 群聯電子股份有限公司 Method and system for data rebuilding and memory control circuit unit thereof
TWI639917B (en) * 2017-04-25 2018-11-01 慧榮科技股份有限公司 Data storage devices and methods for rebuilding a mapping table thereof

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016719A1 (en) * 2004-04-09 2007-01-18 Nobuhiro Ono Memory device including nonvolatile memory and memory controller
CN101046803A (en) * 2006-03-28 2007-10-03 大唐移动通信设备有限公司 Safety management method and device of file system
US20130124782A1 (en) * 2011-11-11 2013-05-16 Lite-On It Corporation Solid state drive and method for constructing logical-to-physical table thereof
TW201339835A (en) * 2012-03-29 2013-10-01 Phison Electronics Corp Data writing method, and memory controller and memory storage device using the same
CN103377143A (en) * 2012-04-27 2013-10-30 群联电子股份有限公司 Memorizer management method, memorizer controller and memorizer memory device
CN103631721A (en) * 2012-08-23 2014-03-12 华为技术有限公司 Method and system for isolating bad blocks in internal storage
CN103902406A (en) * 2012-12-31 2014-07-02 杨威锋 Technology for preserving and recovering mapping table information of high-reliability solid state storage equipment
CN104166636A (en) * 2013-05-17 2014-11-26 宇瞻科技股份有限公司 Memory storage device and restoration method thereof and memory controller
CN104750625A (en) * 2013-12-26 2015-07-01 慧荣科技股份有限公司 Data storage device and flash memory control method
CN105740157A (en) * 2014-11-03 2016-07-06 慧荣科技股份有限公司 Data storage device and flash memory control method

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597712A (en) * 2018-11-27 2019-04-09 杭州宏杉科技股份有限公司 Space allocation method and device
CN111324289B (en) * 2018-12-14 2024-02-20 兆易创新科技集团股份有限公司 Memory device
CN111324289A (en) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 Memory device
CN111367697A (en) * 2018-12-25 2020-07-03 北京兆易创新科技股份有限公司 Error processing method and device
CN111399758B (en) * 2019-01-02 2023-08-01 慧荣科技股份有限公司 Data storage device, access device and data processing method
CN111399758A (en) * 2019-01-02 2020-07-10 慧荣科技股份有限公司 Data storage device, access device and data processing method
CN111813703A (en) * 2019-04-10 2020-10-23 慧荣科技股份有限公司 Data storage device and method for updating logical-to-physical address mapping table
WO2021056963A1 (en) * 2019-09-23 2021-04-01 深圳忆联信息***有限公司 Mapping table reconstruction method and apparatus based on solid-state disk, and computer device
CN110704337B (en) * 2019-09-23 2021-01-19 深圳忆联信息***有限公司 Mapping table reconstruction method and device based on solid state disk and computer equipment
US11816038B2 (en) 2019-09-23 2023-11-14 Shenzhen Unionmemory Information System Limited Method and apparatus of mapping table reconstruction based on SSD, and computer device
CN110704337A (en) * 2019-09-23 2020-01-17 深圳忆联信息***有限公司 Mapping table reconstruction method and device based on solid state disk and computer equipment
US11341039B2 (en) 2020-03-19 2022-05-24 Hefei Core Storage Electronic Limited Data arrangement method of flash memory, flash memory storage device and flash memory control circuit unit
CN111400201A (en) * 2020-03-19 2020-07-10 合肥兆芯电子有限公司 Data sorting method of flash memory, storage device and control circuit unit
CN113971964A (en) * 2020-07-24 2022-01-25 深圳市江波龙电子股份有限公司 Data recovery method, storage device and terminal device
CN113971964B (en) * 2020-07-24 2023-08-04 深圳市江波龙电子股份有限公司 Data recovery method, storage device and terminal device
CN115563026A (en) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 Mapping table reconstruction method and data storage device

Also Published As

Publication number Publication date
US20180307558A1 (en) 2018-10-25
US20200218602A1 (en) 2020-07-09
TWI639917B (en) 2018-11-01
US10635525B2 (en) 2020-04-28
TW201839611A (en) 2018-11-01
US11249840B2 (en) 2022-02-15
CN108733510B (en) 2023-03-28

Similar Documents

Publication Publication Date Title
CN108733510A (en) Data storage device and mapping table reconstruction method
US11232041B2 (en) Memory addressing
TWI645404B (en) Data storage device and control method for non-volatile memory
CN105122220B (en) Atom writing commands in solid state drive are supported
US10061710B2 (en) Storage device
US8037232B2 (en) Data protection method for power failure and controller using the same
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
TW202011195A (en) Mapping table updating method
TW201933102A (en) Method for reusing destination block related to garbage collection in memory device, associated memory device and controller thereof, and associated electronic device
CN110058796A (en) Data memory device
CN104699413B (en) Data managing method, memory storage apparatus and memorizer control circuit unit
US10061694B2 (en) Memory system and method for controlling non-volatile memory
US20090172256A1 (en) Data writing method for flash memory, and flash memory controller and storage device thereof
TWI646535B (en) Data storage device and non-volatile memory operation method
TWI454913B (en) Data writing method, memory controller and memory storage device
EP3627328A1 (en) Storage device and operating method of storage device
TWI498899B (en) Data writing method, memory controller and memory storage apparatus
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
US20170010810A1 (en) Method and Apparatus for Providing Wear Leveling to Non-Volatile Memory with Limited Program Cycles Using Flash Translation Layer
CN109521944A (en) data storage device and data storage method
CN109426441A (en) data storage device and operation method thereof
CN108958961A (en) Data memory device and error in data management method
CN108920386B (en) Wear leveling and access method, equipment and storage medium for nonvolatile memory
US20230236964A1 (en) Storage controller deallocating memory block, method of operating the same, and method of operating storage device including the same
US11269534B2 (en) Data storage device and non-volatile memory control method

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