CN106527997A - NAND flash bad block reutilization method and device based on sequence expansion - Google Patents

NAND flash bad block reutilization method and device based on sequence expansion Download PDF

Info

Publication number
CN106527997A
CN106527997A CN201611060525.XA CN201611060525A CN106527997A CN 106527997 A CN106527997 A CN 106527997A CN 201611060525 A CN201611060525 A CN 201611060525A CN 106527997 A CN106527997 A CN 106527997A
Authority
CN
China
Prior art keywords
data
bad block
sequence
module
nand flash
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
CN201611060525.XA
Other languages
Chinese (zh)
Other versions
CN106527997B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201611060525.XA priority Critical patent/CN106527997B/en
Publication of CN106527997A publication Critical patent/CN106527997A/en
Application granted granted Critical
Publication of CN106527997B publication Critical patent/CN106527997B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

The invention provides an NAND flash bad block reutilization method and device based on sequence expansion. The NAND flash bad block recycling method and device are used for solving the technical problems that through an existing bad block processing method, the utilization rate of a bad block is low, and adaptability is poor. The processing method comprises the steps that original test data is acquired; an initial sequence expansion code length L and a judgment threshold P are set; the original test data is subjected to sequence expansion; the data obtained after sequence expansion is written into a bad block; the data is read out of the bad block; the data read out of the bad block is subjected to de-expansion; the data obtained after de-expansion is recovered; whether the recovered data is consistent with the original test data or not is detected; if yes, reutilization of the bad block is realized; if not, n corresponding to L and P is changed into n+1, and the steps are repeated. The processing device comprises a data acquisition module, a sequence expansion module, a data writing-in module, a data reading-out module, a de-expansion module, a data recovery module and a data detection module. Through the NAND flash bad block reutilization method and device, the utilization rate of the bad block is high, the writing-in data volume of a flash memory is large, and the service life is long.

Description

Based on the bad block recycling method of nand flash memory and device that expand sequence
Technical field
The invention belongs to communication technique field, is related to a kind of bad block recycling method of nand flash memory and device, especially relates to And it is a kind of based on the bad block recycling method of nand flash memory and device that expand sequence, can be used for the storage such as USB flash disk and solid state hard disc and set It is standby.
Background technology
Flash memory (Flash) is a kind of nonvolatile semiconductor memory chip, with small volume, it is low in energy consumption, be difficult by thing The advantage of reason destruction, is the preferable storage medium of mobile digital product.
It is several that flash storage can be divided into AND, NAND, NOR and DiNOR etc. according to inside structure and the technology that implements Kind, at present with nand flash memory as main flow memorizer.Nand flash memory has that capacity is big, small volume, low in energy consumption, random read-write performance Well, the advantages of cost performance is high, so as to be widely applied.Nand flash memory from framework for be again divided into three kinds:SLC (Single Level Cell), MLC (Multi Level Cell) and TLC (Triple Level Cell), due to MLC framves Comprehensive advantage of the nand flash memory of structure at aspects such as speed, life-span and prices, has obtained generally adopting for industry.Nand flash memory Basic unit of storage in technology is " page ", and some pages constitute a block, and block capacity is equal to the product of page capacity and number of pages in block, In the block of different flash memories, number of pages is not quite similar, usually page 16~page 512.The programming of flash memory before writing must in units of page First must wipe;Then in units of block, nand flash memory is made up of multiple pieces of serial arrangements for the erasing of flash memory.Nand flash memory is a kind of Order read equipment, it only can just be accessed by page with the I/O ports of 8 or 16 bits in units of data.Nand flash memory exists When reading with erasable continuous Large Copacity file, speed advantage is obvious, but speed is slow during random access memory, because it can not be by byte Write.Nand flash memory easily produces bad block, and in the physical mechanism that bad block is damaged usually page, some bits can not be programmed, generally It is 1 can not to be programmed to 0, it is discrete independent that it occurs bit-errors.If the bit number that can not be programmed in one page exceedes During the ECC maximum checking features of chip setting, " bad block " will be referred to as and be abandoned.Such as magnesium light company MT29F512G08 chips, its ECC check ability are 1100 byte error correction, 40 bit, i.e., when the mistake ratio in every 1100 byte When special number is more than 40, this block will be identified as bad block and be not used, and cause substantial amounts of waste.
Two kinds are broadly divided into the processing method of bad block at present, are Shift Method and recycling method respectively.
Shift Method refers to that with a controller management bad block, when to bad block access data, controller will in design Data are transferred to predetermined standby replacement region, complete to guarantee data security.Such as Chinese patent application, Authorization Notice No. is CN103593301B, discloses a kind of bad block management method and system, including operating system performs the receive data from destination address According to monitoring from the destination address data that read and inconsistent after comparing with the data of original write;By the destination address The memory area of sensing is set to bad block region, and sets up replacement region corresponding with the bad block region;The data that will be stored It is written in the replacement region.Although the method can ensure that the correct storage of data, but be thrown during realization completely The bad block for still possessing most of normal memory cells has been abandoned, the waste of memory space has been caused.
Recycling method is referred to and bad block is utilized by related algorithm or instrument.Such as Chinese patent application, authorizes Notification number is CN101859604B, discloses a kind of Application way of flash memory bad block, and the method is first by production tool software Scanning flash memory, finds bad block therein and records in flash controller;The flash memory for finding to production tool software scans again is bad Tuber is scanned again according to the screening conditions of " being available for utilizing " for being previously set, and the bad block for meeting screening conditions is labeled and remembers Record waits to be used in flash controller;The bad block for not meeting screening conditions is then labeled as real bad block and is recorded in flash memory In controller, do not use;The repetition scanning and labeling process are until all flash memory bad blocks are all labeled and record;Finally will Meeting the bad block of the screening conditions of " be available for utilize " in flash memory, to be placed on replacement area etc. to be used.The invention using those can be Special very small part in bad block to some data sensitives, that is, bad block, and the common bad block to being left to be in the great majority Can only give it up., in the case where flash capacity is continuously increased, the flash memory space of waste will be increasing for this.Can See, prior art is very poor using the adaptability of flash memory bad block, can not be adapted to all bad blocks, and finding one kind can be with unconfined The method utilized to flash memory bad block is particularly important.
The content of the invention
It is an object of the invention to overcome the defect that above-mentioned prior art is present, it is proposed that a kind of based on the NAND for expanding sequence Flash memory bad block recycling method and device, it is intended to improve the utilization rate of bad block, improve the bad adaptability of bad block recycling Problem, extends the service life of nand flash memory.
To achieve these goals, the technical scheme taken of the present invention is:
Based on the bad block recycling method of nand flash memory for expanding sequence, comprise the following steps:
(1) data acquisition module will write the data of bad block in obtaining External memory equipment, obtain original test data;
(2) the initial length L for arranging despreading code sequence is 3, and decision threshold P is 2, and wherein L=2n-1, P=L-n+1, n are expansion The exponent number of sequence code, and n >=2;
(3) expand block and utilize despreading code sequence, expansion sequence is carried out to original test data, obtain expanding data after sequence;
(4) after Data write. module will expand sequence, data are write in the bad block of nand flash memory;
(5) data read-out module reads the data in nand flash memory bad block, obtains treating despread data;
(6) despreading module treats despread data using despreading code sequence carries out despreading process, data after being de-spread;
(7) data recovery module is made decisions to every L bit datas successively according to decision threshold P, and be restored data;
(8) data detection module will recover data and original test data is compared, and whether judge two kinds of data Unanimously, the recycling of bad block is if so, then realized, is terminated;If it is not, n is changed to n+1, execution step 3 then.
The above-mentioned bad block recycling method of nand flash memory based on expansion sequence, the acquisition external storage described in step 1 set The data of bad block will be write in standby, will be obtained by direct memory access mode.
It is above-mentioned based on the bad block recycling method of nand flash memory for expanding sequence, data after the expansion sequence described in step 3 are Step-by-step XOR is carried out by original test data and despreading code sequence and processes what is obtained, data after the despreading described in step 6 are logical Cross and treat that despread data carries out step-by-step XOR with despreading code sequence and processes what is obtained.
The above-mentioned bad block recycling method of nand flash memory based on expansion sequence, the bad block are referred to beyond flash controller The flash block of ECC error correction scope.
The above-mentioned bad block recycling method of nand flash memory based on expansion sequence, step 1~step 8 are all based on FPGA realities Existing.
It is above-mentioned based on expand sequence the bad block recycling method of nand flash memory, described in step 7 to every L bit datas according to Secondary to make decisions, its decision method is that, if having P or more than P 1 in per L bit datas, it is 1 to recover data, if there is P Individual or individual more than P 0, then it is 0 to recover data.
It is above-mentioned based on the bad block recycling method of nand flash memory for expanding sequence, data and original will be recovered described in step 8 Beginning test data is compared, and refers to that will recover data and original test data carries out step-by-step XOR process, and to result It is analyzed realization.
It is a kind of based on expand sequence the bad block reusing device of nand flash memory, it is characterised in that including data acquisition module, Expand block, Data write. module, data read-out module, despreading module, data recovery module and detection module, wherein,
Data acquisition module, for obtaining the original test data in External memory equipment;
Expand block, expansion sequence is carried out to the data that will write bad block for the despreading code sequence by length for L;
Data write. module, is written in corresponding nand flash memory bad block for will expand data after sequence;
Data read-out module, for reading data after the expansion sequence in bad block;
Despreading module, the despreading code sequence for the data to reading from bad block by same length for L are carried out at despreading Reason;
Data recovery module, for the data after despreading are carried out data recovery;
Whether data detection module is consistent with original test data for detecting recovery data.
The present invention compared with prior art, has the advantage that.
The present invention is due to existing in nand flash memory in the case that bad block can not be utilized, bad by writing nand flash memory The data of block are write after carrying out expansion sequence again, through follow-up despreading process and data recovery, can be realized to all in theory Reuse more than the nand flash memory bad block of flash controller ECC check ability, extend the available storage of nand flash memory, The write data volume of nand flash memory is increased, the utilization rate of flash memory bad block compared with prior art, is improve, bad block weight is improved The problem of the bad adaptability for utilizing again, so as to reduce the number of times of nand flash memory erasing, and then extends the use of nand flash memory Life-span.
Description of the drawings
Fig. 1 is that the present invention realizes FB(flow block) based on the nand flash memory bad block recycling method for expanding sequence;
Fig. 2 is structural representation of the present invention based on the bad block reusing device of nand flash memory for expanding sequence;
Fig. 3 is the operating diagram for expanding block and Data write. module in Fig. 2 embodiments during n=2;
Fig. 4 is the despreading module and data recovery module operating diagram in Fig. 2 embodiments during n=2;
Fig. 5 is data detection module operation principle schematic diagram in Fig. 2 embodiments.
Specific embodiment
Below in conjunction with drawings and Examples, the present invention is described in further detail;
It is with reference to Fig. 1, a kind of based on the bad block recycling method of nand flash memory for expanding sequence, comprise the following steps:
Step S10, obtains original test data;
MT29F512G08 of the nand flash memory chip using magnesium light company in the present embodiment, per page of the chip are 16K+1216 Byte, each block are constituted by page 512, and size is 8192K+608K bytes, and chip total capacity is 512Gb.
In the present embodiment, obtain original test data and refer to, the data of bad block in obtaining External memory equipment, will be write, One section is intercepted, as original test data;As the every page of size of flash memory in the present embodiment is 16K, so selecting to intercept (16/L) data of K bytes, as original test data so when despreading code sequence length is L, after expanding series processing Write data become 16K, and just one page, facilitates data to write.
In the present embodiment, External memory equipment is the such as desktop computer of the electronic equipment with memory space.Specifically, can pass through PCI-e interfaces are by way of direct memory access by the caching of the data transfer stored in desktop computer to FPGA;In directly Deposit access refer to external equipment not by CPU directly with Installed System Memory exchange data, data reading speed is fast, efficiency high;
Step S11, arranges initial despreading code sequence length L and decision threshold P;
In the present embodiment, initial despreading code sequence length L is set to into 3, decision threshold P is set to 2, and wherein despreading code sequence is long Degree L=2n-1, decision threshold P=L-n+1, n >=2;Length is that 3 despreading code sequence adopts 110 sequences, and this despreading code sequence is 2 ranks Pseudo noise code, length are that 5 despreading code sequence adopts 10011 sequences, shortened code of this yard for 3 rank pseudo noise codes;Sequence will initially be expanded Row code length L is set to 3 decision threshold P and is set to 2, is because so can both having solved in bad block discrete single-bit error and can With the increase write data volume of maximal efficiency;When despreading code sequence length is 3, the data volume that is written efficiently into of bad block is changed into original bad / 3rd of block size, with should despreading code sequence length be L when, the data volume that is written efficiently into of bad block is changed into original bad block size L/mono-;Using pseudo-random sequence, despreading code sequence is because that pseudo-random sequence has good randomness and balance;
Step S12, carries out expansion series processing with the despreading code sequence that length is L to original test data;
In the present embodiment, it is that original test data carries out step-by-step XOR with despreading code sequence to expand series processing;
In the present embodiment, expand the specific works schema reference Fig. 3 top half of series processing;
Step S13, by the bad block of the data write nand flash memory expanded after sequence;
Bad block described in the present embodiment refers to the nand flash memory bad block beyond ECC check ability, whether right as bad block Which data sensitive present invention is without restriction;ECC (Error Correcting Code) is a kind of data error detection error correction algorithm, Code is compiled to data storage by way of increasing redundant data, for solving to there is a small amount of bit reversal in nand flash memory Problem;Refer to more than ECC check ability, the ECC check of each flash controller has maximum error correcting capability, such as the present embodiment In ECC error correction ability be exactly 40 bit of every 1100 byte error correction, i.e., when the error bit number in 1100 bytes is more than 40, this Individual block is just identified as bad block;
In the present embodiment, data write is to realize nand flash memory interface write timing by FPGA, will expand the data after sequence In the bad block of write nand flash memory.It should be noted that should wipe to the bad block before data write, bad block is kept In normal bit be all one state, as shown in Fig. 3 fourth lines;In the present embodiment, block erasing operation needs 3 address cycles, first First command word 60H is wiped by FPGA transmission blocks first, the block address of the needs erasing in 3 cycles is then sent, is finally sent Second command word D0H of block erasing;Data write operation needs 5 address cycles, sends data write the by FPGA first One command word 80H, then sends address in the block in 5 cycles, then sends 16K data to be written, finally sends data and writes Second command word 10H for entering;
In the present embodiment, the specific works schema reference Fig. 3 the latter half of data write;
Step S14, data is read from the bad block, obtains treating despread data;
In the present embodiment, data read-out is to realize nand flash memory interface readout sequence by FPGA, by data from nand flash memory Bad block in read;Data read-out operation in the present embodiment needs 5 address cycles, is sent the of data read-out first by FPGA One command word 00H, then sends address in the block of 5 address cycles, finally sends second command word of data read-out 30H;
Step S15, will treat that despread data despreading code sequence carries out despreading process;
In the present embodiment, it is that data to be de-spread are carried out step-by-step XOR process with former despreading code sequence that despreading is processed;
In the present embodiment, the specific works schema reference Fig. 4 top half for processing is de-spread;
Data after despreading are carried out data recovery by step S16;
In the present embodiment, despreading code sequence length L is 3, and decision threshold P is 2, the specific works schema reference figure of data recovery 4 the latter half;
Step S17, whether detection recovers data consistent with original test data;
In the present embodiment, Data Detection is by former data and recovery data are carried out step-by-step XOR, if in as a result There is 1 appearance then to illustrate that recovery data and original test data are incomplete same, illustrate that this expands the fault-tolerant ability of sequence method also not Can need to change a bigger expansion sequence method of fault-tolerant ability for reusing bad block;If there is no 1 appearance, number is illustrated Correct according to read-write, this fault-tolerant ability for expanding sequence solution can be reused to bad block;
In the present embodiment, specific works schema reference Fig. 5 of Data Detection;
In the present embodiment, Data Detection is used carries out step-by-step XOR process with data are recovered by original test data, Testing result is obtained by analysis processing result;Should appreciate that and subtract each other and can also reach with data are recovered by original test data Said function, it is also within the scope of the present invention using other similar operations in order to reach Data Detection;
N corresponding with despreading code sequence length L and decision threshold P is changed to n+1 by step S18;
In the present embodiment, when step S17 has problems, there are continuous 2 bit-errors in illustrating nand flash memory bad block, initially In the case of expansion sequence method can not evade continuous 2 bit-errors, sequence length increase should be expanded, and corresponding decision gate is changed Limit value so as to which fault-tolerant ability is higher.When n is 2, the fault-tolerant ability of the bad block recycling method of this nand flash memory is 1 bit, is held Wrong ability is embodied in L-P, and with the increase of n, fault-tolerant ability is also increasing;
With reference to Fig. 2, a kind of bad block reusing device of nand flash memory based on expansion sequence, including data acquisition module B100, expansion block B101, Data write. module B102, data read-out module B103, despreading module B104, data recovery mould Block B105 and data detection module B106;Wherein modules are ordered into linking together, be connected with each other order can not overturn and Replace;
Data acquisition module B100, for obtaining the data that bad block will be write in External memory equipment;
In the present embodiment, FPGA is by way of PCI-e interface direct memory access by the data stored in desktop computer Transmit into the data register of FPGA;
Expand block B101, the data to obtaining from External memory equipment are expanded with the despreading code sequence that length is L Series processing;
Expand sequence and refer to the operation that initial data is expanded by corresponding computing by using sequence length, in the present embodiment, expand Series processing is that source data carries out step-by-step XOR with despreading code sequence;
Data write. module B102, in the bad block for the data write nand flash memory that will expand after sequence;
Data write. module is referred to and is required according to the corresponding time sequence of chip by certain instrument, write data into and store single In unit;In the present embodiment, data write is to realize nand flash memory interface write timing by FPGA, and the data expanded after sequence are write Enter in the bad block of nand flash memory.It should be noted that the bad block should be wiped before data write, in keeping bad block Normal memory cell be all one state;
Data read-out module B103, data to be written are read from the bad block;
Data read-out module is referred to and is required according to the corresponding time sequence of chip by certain instrument, by data from memory element Read;In the present embodiment, data read-out is to realize nand flash memory interface readout sequence by FPGA, by data from nand flash memory Read in bad block.
Despreading module B104, for will treat that despread data carries out despreading process with the despreading code sequence that same length is L;
The algorithm that data de-spreading operation expands series of operations with data is identical, and expansion sequence is also identical;In the present embodiment, It is that data to be de-spread are carried out step-by-step XOR process with former despreading code sequence that despreading is processed;
Data recovery module B105, for the data after despreading are carried out data recovery;
Data recovery refers to and former data is made decisions by certain recovery standard that be restored data;In the present embodiment, When despreading code sequence length L is 3, and decision threshold P is 2, data recovery is made decisions to every 3 bit data successively, if there is 2 Or more than 21 appearance, then it is 1 to recover initial data;If there is 2 or more than 20 appearance, it is 0 to recover initial data;
Data detection module B106, whether detection recovers data consistent with original test data;
Data Detection refers to that by related operation analytic operation result draws judged result;In the present embodiment, comparing Be by former data and the data that recover are carried out step-by-step XOR process, as a result in illustrate to recover data if having 1 appearance It is incomplete same with initial data, illustrate that this fault-tolerant ability for expanding sequence solution can't need to change for processing this bad block The bigger expansion sequence solution of one fault-tolerant ability;If there is no 1 appearance, illustrate that reading and writing data is correct;
In the present embodiment, when B106 detections are gone wrong, in illustrating nand flash memory, there are continuous 2 bit-errors, initial situation Under expansion sequence pattern can not evade continuous 2 bit-errors, despreading code sequence length should be increased, and change corresponding decision threshold Value so as to which fault-tolerant ability strengthens;
With reference to Fig. 3, the operating diagram for expanding block and Data write. module when being n=2 in Fig. 2 embodiments, its In;
The first row represents original test data, in the present embodiment, by the data cutout 16/3K obtained in External memory equipment One section of size is used as original test data;
Second row represents the despreading code sequence that despreading code sequence length L is as 3, from 110 sequences as initial expansion in the present embodiment Sequence code;
The third line is the data after the expansion sequence obtained after original test data carries out step-by-step XOR process with despreading code sequence, Wherein original test data is 16/3K sizes, and despreading code sequence length L is 3, so size of data is 16K after the expansion sequence for obtaining, The size of flash memory one page exactly in the present embodiment;
Fourth line simulates the memory element in nand flash memory, and wherein each square frame represents a memory element, runic side Frame is represented and can not be programmed that error bit;
Fifth line be expand sequence after data write bad block in state, it is seen that except other normal memory cells of error bit Data because data write and change;
With reference to Fig. 4, the despreading module and data recovery module operating diagram when being n=2 in Fig. 2 embodiments, wherein;
The first row represents that what is read from bad block treats despread data;
Second row represents initial despreading code sequence during data expansion series of operations;
The third line represents data after the despreading obtained after despread data carries out step-by-step xor operation with despreading code sequence;
Fourth line represents the recovery data after data recovery, and to data after the despreading in the third line, every 3 bit data is carried out Judgement, if 2 or more than 2 is 1, then it is 1 to recover data.If 2 or 2 data above are 0, then recover data For 0, the size of the recovery data for obtaining is 1/3rd of data after despreading;
With reference to Fig. 5, it is data detection module operation principle schematic diagram in Fig. 2 embodiments, wherein;
The first row represents original test data;
Second row represents the recovery data obtained through data recovery;
The third line represents the testing result that original test data and recovery data are obtained after carrying out step-by-step XOR, shows full 0 Then represent that original test data is identical with data are recovered, it was demonstrated that the read-write to bad block is completely correct, if having 1 in testing result Occur, then it represents that reading and writing data goes wrong;
The preferred embodiments of the present invention are these are only, is not thereby limited the scope of the invention, it is every using this Equivalent structure and equivalent flow conversion that bright description and accompanying drawing content are done, or directly or indirectly it is used in other related skills Art field, includes within the scope of the present invention in the same manner.

Claims (8)

1. it is a kind of based on the bad block recycling method of nand flash memory for expanding sequence, it is characterised in that to comprise the following steps:
(1) data acquisition module will write the data of bad block in obtaining External memory equipment, obtain original test data;
(2) the initial length L for arranging despreading code sequence is 3, and decision threshold P is 2, and wherein L=2n-1, P=L-n+1, n are expansion sequence The exponent number of code, and n >=2;
(3) expand block and utilize despreading code sequence, expansion sequence is carried out to original test data, obtain expanding data after sequence;
(4) after Data write. module will expand sequence, data are write in the bad block of nand flash memory;
(5) data read-out module reads the data in nand flash memory bad block, obtains treating despread data;
(6) despreading module treats despread data using despreading code sequence carries out despreading process, data after being de-spread;
(7) data recovery module is made decisions to every L bit datas successively according to decision threshold P, and be restored data;
(8) data detection module will recover data and original test data is compared, and judge whether two kinds of data are consistent, If so, the recycling of bad block is then realized, is terminated;If it is not, n is changed to n+1, execution step 3 then.
2. it is according to claim 1 based on the bad block recycling method of nand flash memory for expanding sequence, it is characterised in that step The data of bad block will be write in acquisition External memory equipment described in 1, will be obtained by direct memory access mode.
3. it is according to claim 1 based on the bad block recycling method of nand flash memory for expanding sequence, it is characterised in that step Data after expansion sequence described in 3, carry out the process of step-by-step XOR by original test data and despreading code sequence and obtain, step Data after despreading described in 6, are obtained by treating that despread data and despreading code sequence carry out the process of step-by-step XOR.
4. it is according to claim 1 based on the bad block recycling method of nand flash memory for expanding sequence, it is characterised in that described Bad block, refers to the flash block beyond flash controller ECC error correction scope.
5. it is according to claim 1 based on the bad block recycling method of nand flash memory for expanding sequence, it is characterised in that step 1~step 8, is all based on FPGA realizations.
6. it is according to claim 1 based on the bad block recycling method of nand flash memory for expanding sequence, it is characterised in that step Made decisions to every L bit datas successively described in 7, its decision method is, if having P in per L bit datas or more than P 1, then it is 1 to recover data, if there is P or more than P 0, it is 0 to recover data.
7. it is according to claim 1 based on the bad block recycling method of nand flash memory for expanding sequence, it is characterised in that step To recover data and original test data described in 8 is compared, refer to will recover data and original test data carry out by Position XOR is processed, and is analyzed realization to result.
8. it is a kind of based on the bad block reusing device of nand flash memory for expanding sequence, it is characterised in that including data acquisition module, to expand Block, Data write. module, data read-out module, despreading module, data recovery module and detection module, wherein,
Data acquisition module, for obtaining the original test data in External memory equipment;
Expand block, expansion sequence is carried out to the data that will write bad block for the despreading code sequence by length for L;
Data write. module, is written in corresponding nand flash memory bad block for will expand data after sequence;
Data read-out module, for reading data after the expansion sequence in bad block;
Despreading module, the despreading code sequence for the data to reading from bad block by same length for L carry out despreading process;
Data recovery module, for the data after despreading are carried out data recovery;
Whether data detection module is consistent with original test data for detecting recovery data.
CN201611060525.XA 2016-11-25 2016-11-25 Method and device based on the NAND Flash bad block recycling for expanding sequence Active CN106527997B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611060525.XA CN106527997B (en) 2016-11-25 2016-11-25 Method and device based on the NAND Flash bad block recycling for expanding sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611060525.XA CN106527997B (en) 2016-11-25 2016-11-25 Method and device based on the NAND Flash bad block recycling for expanding sequence

Publications (2)

Publication Number Publication Date
CN106527997A true CN106527997A (en) 2017-03-22
CN106527997B CN106527997B (en) 2019-07-16

Family

ID=58357401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611060525.XA Active CN106527997B (en) 2016-11-25 2016-11-25 Method and device based on the NAND Flash bad block recycling for expanding sequence

Country Status (1)

Country Link
CN (1) CN106527997B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829358A (en) * 2018-06-29 2018-11-16 郑州云海信息技术有限公司 The bad block management method and solid state hard disk of solid state hard disk
CN110570898A (en) * 2019-08-13 2019-12-13 深圳市金泰克半导体有限公司 Method and device for detecting data processing speed of memory
CN112216333A (en) * 2020-09-30 2021-01-12 深圳市宏旺微电子有限公司 Chip testing method and device
CN112347007A (en) * 2020-10-14 2021-02-09 歌尔科技有限公司 Flash memory data protection method and device, electronic equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139087A (en) * 1992-10-29 1994-05-20 Toshiba Corp Check point restart system
CN101593157A (en) * 2008-05-27 2009-12-02 中兴通讯股份有限公司 The bad block management method of nandflash and device
US20120060054A1 (en) * 2009-04-10 2012-03-08 Nationz Technologies Inc. Method for using bad blocks of flash memory
CN103218177A (en) * 2013-04-19 2013-07-24 杭州电子科技大学 NAND Flash storage system with function of data balanced processing
US8650343B1 (en) * 2007-08-30 2014-02-11 Virident Systems, Inc. Methods for upgrading, diagnosing, and maintaining replaceable non-volatile memory
CN103593301A (en) * 2013-11-20 2014-02-19 北京旋极信息技术股份有限公司 Bad block management method and system
CN103645965A (en) * 2013-11-28 2014-03-19 陕西千山航空电子有限责任公司 NAND-FLASH bad block recovery method based on ECCs
CN105843749A (en) * 2016-03-24 2016-08-10 浙江大学 NAND Flash fault-tolerance method based on FPGA (Field Programmable Gate Array)

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139087A (en) * 1992-10-29 1994-05-20 Toshiba Corp Check point restart system
US8650343B1 (en) * 2007-08-30 2014-02-11 Virident Systems, Inc. Methods for upgrading, diagnosing, and maintaining replaceable non-volatile memory
CN101593157A (en) * 2008-05-27 2009-12-02 中兴通讯股份有限公司 The bad block management method of nandflash and device
US20120060054A1 (en) * 2009-04-10 2012-03-08 Nationz Technologies Inc. Method for using bad blocks of flash memory
CN103218177A (en) * 2013-04-19 2013-07-24 杭州电子科技大学 NAND Flash storage system with function of data balanced processing
CN103593301A (en) * 2013-11-20 2014-02-19 北京旋极信息技术股份有限公司 Bad block management method and system
CN103645965A (en) * 2013-11-28 2014-03-19 陕西千山航空电子有限责任公司 NAND-FLASH bad block recovery method based on ECCs
CN105843749A (en) * 2016-03-24 2016-08-10 浙江大学 NAND Flash fault-tolerance method based on FPGA (Field Programmable Gate Array)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
乔立岩 等: "一种新型NAND Flash坏块管理算法的研究与实现", 《电子测量技术》 *
张雯 等: "一种多通道NAND Flash阵列的坏块管理方案", 《电子器件》 *
胡宁 等: "基于分组的NandFlash块管理方法", 《微电子学与计算机》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829358A (en) * 2018-06-29 2018-11-16 郑州云海信息技术有限公司 The bad block management method and solid state hard disk of solid state hard disk
CN108829358B (en) * 2018-06-29 2021-06-29 郑州云海信息技术有限公司 Bad block management method of solid state disk and solid state disk
CN110570898A (en) * 2019-08-13 2019-12-13 深圳市金泰克半导体有限公司 Method and device for detecting data processing speed of memory
CN112216333A (en) * 2020-09-30 2021-01-12 深圳市宏旺微电子有限公司 Chip testing method and device
CN112216333B (en) * 2020-09-30 2024-02-06 深圳市宏旺微电子有限公司 Chip testing method and device
CN112347007A (en) * 2020-10-14 2021-02-09 歌尔科技有限公司 Flash memory data protection method and device, electronic equipment and storage medium
CN112347007B (en) * 2020-10-14 2022-12-09 歌尔科技有限公司 Flash memory data protection method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN106527997B (en) 2019-07-16

Similar Documents

Publication Publication Date Title
KR101623119B1 (en) Error control method of solid state drive
US8132045B2 (en) Program failure handling in nonvolatile memory
US8307241B2 (en) Data recovery in multi-level cell nonvolatile memory
KR101491943B1 (en) Transaction log recovery
US8806301B2 (en) Data writing method for a flash memory, and controller and storage system using the same
CN106527997B (en) Method and device based on the NAND Flash bad block recycling for expanding sequence
TWI451249B (en) Data merging method for non-volatile memory and controller and stoarge apparatus using the same
US9514042B2 (en) Method for managing memory apparatus to perform writing control according to monitored data amount of received data, associated memory apparatus thereof and associated controller thereof
US20160266791A1 (en) Memory control circuit unit, memory storage apparatus and data accessing method
CN101800071A (en) Solid state disk device and program fail processing method thereof
CN101339806A (en) Apparatus and method to prevent data loss in nonvolatile memory
TWI606339B (en) Data storage device and data maintenance method thereof
CN105260325A (en) Method for collecting garbage blocks in solid state disks
CN105808371A (en) Data backup and recovery method, control chip and storage device
CN104765695A (en) NAND FLASH bad block management system and method
US20170004052A1 (en) Systems and Methods for Performing Data Recovery in a Memory System
TWI540428B (en) Data writing method, memory controller and memory storage apparatus
US20230266884A1 (en) Operating method for storage controller and storage system including same
CN102902626A (en) Block management method, memory controller and memory storing device
CN103106148A (en) Block management method, storage controller and storage storing device
TWI446170B (en) Data writing method, memory controller and memory storage apparatus
TWI521346B (en) Data merging method for non-volatile memory and controller and stoarge apparatus using the same
US10824340B2 (en) Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus
US20210374294A1 (en) Data storage device and data processing method
US9830077B2 (en) Data writing method, memory control circuit unit and memory storage apparatus

Legal Events

Date Code Title Description
C06 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