CN107315648A - A kind of method of data-moving performance during raising bad block management - Google Patents

A kind of method of data-moving performance during raising bad block management Download PDF

Info

Publication number
CN107315648A
CN107315648A CN201710513873.6A CN201710513873A CN107315648A CN 107315648 A CN107315648 A CN 107315648A CN 201710513873 A CN201710513873 A CN 201710513873A CN 107315648 A CN107315648 A CN 107315648A
Authority
CN
China
Prior art keywords
data
page
block
bad block
lpa
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
CN201710513873.6A
Other languages
Chinese (zh)
Other versions
CN107315648B (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.)
CHENGDU SANLINGJIA MICROELECTRONIC Co Ltd
Original Assignee
CHENGDU SANLINGJIA MICROELECTRONIC Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHENGDU SANLINGJIA MICROELECTRONIC Co Ltd filed Critical CHENGDU SANLINGJIA MICROELECTRONIC Co Ltd
Priority to CN201710513873.6A priority Critical patent/CN107315648B/en
Publication of CN107315648A publication Critical patent/CN107315648A/en
Application granted granted Critical
Publication of CN107315648B publication Critical patent/CN107315648B/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

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 discloses a kind of method of data-moving performance during raising bad block management, step is specifically included:(1) the step of write-in has physical page address PPA counterlogic page address PLA data structure LPA_LOG in NAND Flash pages;(2) the step of reclaiming bad block data:(2 1) block number reads the data stored in block page and data structure LPA_LOG, obtains the corresponding logical page address PLA of physical page address PPA according to occurring after exception;(2 2) copy block page data is to new page, and re-writes in new page data structure LPA_LOG;The corresponding new physical page address PPA ' of logical page address PLA in the mapping table of (2 3) modified address;(2 4) complete after the moving of all page datas of block, mark the block for bad block and be added into bad block list and be managed.When being moved to bad block data, logical page address PLA can be obtained directly from data structure LPA_LOG by being not required to traversal address mapping table, effectively improve efficiency and performance that bad block data is moved.

Description

A kind of method of data-moving performance during raising bad block management
Technical field
Moved the present invention relates to bad block data, especially it is a kind of improve bad block management when data-moving performance method.
Background technology
Flourishing for semicon industry, occurs in that high performance memory NAND Flash, NAND flash storage Using semiconductor as storage medium, with a high speed, low energy consumption and it is shockproof the advantages of, NAND Flash basic unit of storage is It is made up of block (Block).Every piece is made up of some pages (Page) again.Wherein, minimum read-write cell is page, and minimum erasing unit is Block, it is necessary to which the block at this page of place first is carried out into erasing operation before being programmed to one page.Due to NAND Flash in itself Attribute, the erasing times of monolithic are limited, and as technique is increasingly advanced, capacity is increasing, NAND Flash monolithics Erasing times are less and less, from SLC type NAND Flash 100,000 erasing times to the hundreds of of current TLC types NAND Flash Secondary erasing times, therefore, abrasion equilibrium is particularly important for NAND Flash, good abrasion equilibrium management method It is not only able to improve NAND Flash performances and efficiency, additionally it is possible to greatly extend NAND Flash service life.Based on this, A series of management algorithms for NAND Flash are occurred in that, the core of management algorithm all includes address of cache, abrasion equilibrium, rubbish Rubbish is reclaimed and the several big part compositions of bad block management, and wherein bad block management is one important portion of NAND Flash management algorithms Point.
Due to NAND Flash manufacturing process, manufacturer is it cannot be guaranteed that all bulks of NAND Flash when dispatching from the factory State is all good, and it has been just bad block to have when some dispatch from the factory, and these Huai Kuai producers can be marked when dispatching from the factory, bad block management Algorithm can read the flag bit in initialization, and these blocks are added in bad block list and are managed.Due to NAND Flash In use because various exceptions will also result in the generation of bad block, bad block management algorithm occurs during using Bad block add bad block list and be managed.In this process, if also there are data in the bad block, need to carry out data The process moved, it is necessary to be updated processing to address mapping table after the completion of moving.For Large Copacity solid storage device Speech, in order to pursue high-performance, so majority takes a page mapping mechanism, under this mapping mechanism, due to NAND Flash mappings What table was represented is the mapping relations that logical page address (LPA) arrives physical page address (PPA), you can easily to be found by LPA PPA, but occur when writing data after bad block, it is necessary to the data stored in the block all be copied in new block, Ran Houtong Cross PPA and reversely find LPA, modification LPA and new PPA mapping relations just can guarantee that the normal of data, as shown in Figure 1.For For NAND Flash, capacity is bigger, and address mapping table is also bigger, for example for L85C serial 2Tb capacity NAND Flash has 33536 blocks, and each block has 512 pages, i.e., include 33536*512=17170432 page altogether, pair and page Mapping table is said, 17170432 list items are needed altogether.For Large Copacity SSD, it is necessary to list item then to be multiplied, be The corresponding LPA of PPA are searched out in so many list item to be needed to take a substantial amount of time, and is set to T0, the NAND of correspondence L85C series For Flash, each block have page 512, if carrying out data-moving, it is necessary to time be 512T0, this is for high-speed data It is unacceptable for read-write application.
The content of the invention
The technical problems to be solved by the invention are:Traversal address is not required to for above-mentioned problem there is provided one kind to reflect The high efficiency bad block data moving method of firing table.
The technical solution adopted by the present invention is as follows:
It is a kind of improve bad block management when data-moving performance method, NAND Flash minimum erasure unit be block, block by Page composition, page is divided into data segment and extra segment, and method includes step:
(1) write-in has physical page address PPA counterlogic page address PLA data structure in NAND Flash pages The step of LPA_LOG;
(2) the step of reclaiming bad block data:
(2-1) block number reads the data stored in block page and data structure LPA_LOG, obtains the thing according to occurring after exception Manage the corresponding logical page address PLA of page address PPA;
(2-2) copies block page data to new page, and re-writes in new page data structure LPA_LOG;
The corresponding new physical page address PPA ' of logical page address PLA in the mapping table of (2-3) modified address;
(2-4) is completed after the moving of all page datas of block, and is marked the block for bad block and is added into bad block list and is managed Reason.
Further, data are stored in into NAND Flash pages with user in step (1), NAND Flash are driven at this Write-in has physical page address PPA counterlogic page address PLA data structure LPA_LOG in page extra segment.
Further, block, according to occurring after exception, first can be labeled as bad block to be recycled, preferential answering by block number in step (2) The reading and writing data request of host computer carries out page data and moved again.
In summary, by adopting the above-described technical solution, the beneficial effects of the invention are as follows:With user to NAND Data are stored in Flash page, NAND Flash drivings write-in in this page of extra segment has physical page address PPA counterlogics Page address PLA data structure LPA_LOG, when needing to move bad block data, is not required to travel through address mapping table Physical page address PPA counterlogic page address PLA are directly obtained from data structure LPA_LOG, bad block data is effectively improved The efficiency and performance moved.
Brief description of the drawings
Examples of the present invention will be described by way of reference to the accompanying drawings, wherein:
The method flow diagram for the recovery bad block data that Fig. 1 provides for the present invention
Embodiment
All features disclosed in this specification, or disclosed all methods or during the step of, except mutually exclusive Feature and/or step beyond, can combine in any way.
Any feature disclosed in this specification, unless specifically stated otherwise, can be equivalent by other or with similar purpose Alternative features are replaced.I.e., unless specifically stated otherwise, each feature is an example in a series of equivalent or similar characteristics .
It is a kind of improve bad block management when data-moving performance method, NAND Flash minimum erasure unit be block, block by Page composition, page is divided into data segment and extra segment, and method includes step:
(1) write-in has physical page address PPA counterlogic page address PLA data structure in NAND Flash pages The step of LPA_LOG;
(2) the step of reclaiming bad block data:
(2-1) block number reads the data stored in block page and data structure LPA_LOG, obtains the thing according to occurring after exception Manage the corresponding logical page address PLA of page address PPA;
(2-2) copies block page data to new page, and re-writes in new page data structure LPA_LOG;
The corresponding new physical page address PPA ' of logical page address PLA in the mapping table of (2-3) modified address;
(2-4) is completed after the moving of all page datas of block, and is marked the block for bad block and is added into bad block list and is managed Reason.
To improve write performance, NAND Flash use strange land more new strategy, i.e., one logical page address LPA can correspond to many What is stored on individual physical page address PPA, only one of which physical page address PPA is valid data, and remaining is outdated data, It is used as data collection, or without using.By searching physical page address PPA, logical page address LPA and physical page address are found PPA corresponding relation, could obtain effective data.
Data are stored in into NAND Flash pages with user in step (1), NAND Flash are driven in this page of extra segment It is middle to write the data structure LPA_LOG for having physical page address PPA counterlogic page address PLA.When user is not to NAND When being stored in data in Flash, NAND Flash drivings will not write data structure LPA_LOG in the page.Data structure LPA_ LOG write-in is to be stored in data into NAND Flash pages with user.
By page data from bad block move out when, the data structure LPA_LOG in this page of extra segment is not moved with page data. When page data is copied in new page, NAND Flash drivings, which perform step (1) process and write in the new page extra segment, to be had New physical page address PPA ' counterlogic page address PLA data structure LPA_LOG.
Optimally, block, according to occurring after exception, first can be labeled as on bad block to be recycled, preferential answering by block number in step (2) The reading and writing data request of position machine, treats after the completion of host computer request of data, performs step (2-1), step (2-2), step (2-3) and enter Row bad block data is reclaimed.The block of data exception is first labeled as bad block to be recycled, the number of preferential answering host computer before data record According to read-write requests, efficiency and performance that bad block data is moved are effectively increased.
The invention is not limited in foregoing embodiment.The present invention, which is expanded to, any in this manual to be disclosed New feature or any new combination, and disclose any new method or process the step of or any new combination.

Claims (3)

1. a kind of method of data-moving performance during raising bad block management, NAND Flash minimum erasure units are block, and block is by page Composition, page is divided into data segment and extra segment, it is characterised in that method includes step:
(1) write-in has physical page address PPA counterlogic page address PLA data structure LPA_ in NAND Flash pages The step of LOG;
(2) the step of reclaiming bad block data:
(2-1) block number reads the data stored in block page and data structure LPA_LOG, obtains the Physical Page according to occurring after exception The corresponding logical page address PLA of address PPA;
(2-2) copies block page data to new page, and re-writes in new page data structure LPA_LOG;
The corresponding new physical page address PPA ' of logical page address PLA in the mapping table of (2-3) modified address;
(2-4) is completed after the moving of all page datas of block, and is marked the block for bad block and is added into bad block list and is managed.
2. the method for data-moving performance during a kind of raising bad block management according to claim 1, it is characterised in that step (1) data are stored in into NAND Flash pages with user in, NAND Flash drivings write-in in this page of extra segment has this Physical page address PPA counterlogic page address PLA data structure LPA_LOG.
3. the method for data-moving performance during a kind of raising bad block management according to claim 1, it is characterised in that step (2) block first can be labeled as bad block to be recycled, the reading and writing data request of preferential answering host computer is again by block number according to occurring after exception in Page data is carried out to move.
CN201710513873.6A 2017-06-29 2017-06-29 Method for improving data moving performance during bad block management Active CN107315648B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710513873.6A CN107315648B (en) 2017-06-29 2017-06-29 Method for improving data moving performance during bad block management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710513873.6A CN107315648B (en) 2017-06-29 2017-06-29 Method for improving data moving performance during bad block management

Publications (2)

Publication Number Publication Date
CN107315648A true CN107315648A (en) 2017-11-03
CN107315648B CN107315648B (en) 2020-07-03

Family

ID=60179804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710513873.6A Active CN107315648B (en) 2017-06-29 2017-06-29 Method for improving data moving performance during bad block management

Country Status (1)

Country Link
CN (1) CN107315648B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075211A (en) * 2007-06-08 2007-11-21 马彩艳 Flash memory management based on sector access
CN103559144A (en) * 2013-11-12 2014-02-05 上海华兴数字科技有限公司 Method and device for secure data storage of embedded system
US9122586B2 (en) * 2013-02-06 2015-09-01 Seagate Technology Llc Physical-to-logical address map to speed up a recycle operation in a solid state drive
CN105389266A (en) * 2015-10-16 2016-03-09 联想(北京)有限公司 Data management method and apparatus
CN106528436A (en) * 2015-09-15 2017-03-22 慧荣科技股份有限公司 Data storage device and data maintenance method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075211A (en) * 2007-06-08 2007-11-21 马彩艳 Flash memory management based on sector access
US9122586B2 (en) * 2013-02-06 2015-09-01 Seagate Technology Llc Physical-to-logical address map to speed up a recycle operation in a solid state drive
CN103559144A (en) * 2013-11-12 2014-02-05 上海华兴数字科技有限公司 Method and device for secure data storage of embedded system
CN106528436A (en) * 2015-09-15 2017-03-22 慧荣科技股份有限公司 Data storage device and data maintenance method thereof
CN105389266A (en) * 2015-10-16 2016-03-09 联想(北京)有限公司 Data management method and apparatus

Also Published As

Publication number Publication date
CN107315648B (en) 2020-07-03

Similar Documents

Publication Publication Date Title
US8892814B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US10649661B2 (en) Dynamically resizing logical storage blocks
US20180260317A1 (en) Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
US20080177937A1 (en) Storage apparatus, computer system, and method for managing storage apparatus
TWI537728B (en) Buffer memory management method, memory control circuit unit and memory storage device
US10877898B2 (en) Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
CN106462493B (en) The mitigation of solid-state memory damage
CN112506814B (en) Memory, control method thereof and memory system
CN102646069A (en) Method for prolonging service life of solid-state disk
TW200534092A (en) Non-volatile memory and method with block management system
US9176866B2 (en) Active recycling for solid state drive
KR101403922B1 (en) Apparatus and method for data storing according to an access degree
US20100318726A1 (en) Memory system and memory system managing method
TWI584189B (en) Memory controller, memory storage device, and method for writing data
US8812772B2 (en) Data merging method for non-volatile memory and controller and storage apparatus using the same
CN106598493A (en) Solid state disk address mapping table management method
US11372578B2 (en) Control method for flash memory controller and associated flash memory controller and memory device
CN103970669A (en) Method for accelerating physical-to-logic address mapping of recycling operation in solid-state equipment
TW201303584A (en) Memory storage device, memory controller thereof, and method for identifying valid data
CN113253926A (en) Memory internal index construction method for improving query and memory performance of novel memory
US9329994B2 (en) Memory system
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
Chen et al. Beyond address mapping: A user-oriented multiregional space management design for 3-D NAND flash memory
Chung et al. A high-performance wear-leveling algorithm for flash memory system

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