CN106445740A - Control method and control system for NAND flash memory data in solid state disk - Google Patents

Control method and control system for NAND flash memory data in solid state disk Download PDF

Info

Publication number
CN106445740A
CN106445740A CN201610841610.3A CN201610841610A CN106445740A CN 106445740 A CN106445740 A CN 106445740A CN 201610841610 A CN201610841610 A CN 201610841610A CN 106445740 A CN106445740 A CN 106445740A
Authority
CN
China
Prior art keywords
data
block
physical
page
write
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.)
Pending
Application number
CN201610841610.3A
Other languages
Chinese (zh)
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.)
Shenzhen Vast Information Technology Co Ltd
Original Assignee
Shenzhen Vast Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Vast Information Technology Co Ltd filed Critical Shenzhen Vast Information Technology Co Ltd
Priority to CN201610841610.3A priority Critical patent/CN106445740A/en
Publication of CN106445740A publication Critical patent/CN106445740A/en
Pending legal-status Critical Current

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/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/1448Management of the data involved in backup or backup restore

Landscapes

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

Abstract

The invention provides a control method and control system for NAND flash memory data in a solid state disk. Storage space of the solid state disk comprises multiple flash memories, wherein one memory is taken as first storage space, and the rest flash memories are taken as second storage space. The invention is characterized in that the control method comprises the steps that whether to-be-written data is important data is judged, wherein the to-be-written data will be written to a corresponding position in the second storage space if the data is not the important data, and the to-be-written data will be written to a corresponding position in the first storage space and the to-be-written data will be written to the corresponding position in the second storage space if the data is the important data; and whether new to-be-written data exists is judged, wherein the step of judging whether the to-be-written data is the important data will be started if the new to-be-written data exists, and the step will be ended if the new to-be-written data does not exist. The technical scheme provided by the invention has the advantages that a bit error rate of NAND FLASH can be effectively reduced; and data reliability of the storage system can be effectively enhanced.

Description

The control method of nand flash memory data and control system in solid state hard disc
Technical field
The present invention relates to technical field of memory, in more particularly, to a kind of solid state hard disc the control method of nand flash memory data and Control system.
Background technology
SSD (Solid State Disk) refers to the solid state hard disc forming using nand flash memory (Flash), its special feature It is do not have frame for movement, using traditional NAND Flash characteristic, make the function of reading and writing in the way of block write and erasing, Highly dependent upon the technical design of read-write therefore in the efficiency of read-write.SSD, compared with current conventional hard, has low consumption Electric, shatter-proof, stability is high, low temperature resistant the advantages of.SSD upper due to data be to leave on semiconductor memory, can be less than one In the time of millisecond, the memory element of optional position is completed with I/O (input/output) operation, therefore many application programs is being come Say that in the most key I/O performance indications IOps (i.e. how many times IO action per second), SSD can reach the 50 of standard machinery hard disk ~800 times.
The advantage of SSD is mainly reflected in two aspects:Response time is short and read-write efficiency is high;SSD is with solid-state chip simultaneously As storage medium, its work shock resistance reaches 15G (10~1000Hz), is 15 times of conventional hard, impact resistance reaches To 1500G (0.5ms), it is 27 times of conventional hard, efficiently improves the stability of SSD.
In recent years, the production technology of 3D nand flash memory is significantly improved, and the memory capacity of nand flash memory was in the past ten Increase more than 1,000 times in year, the growth of memory capacity has benefited from persistently reducing the processing procedure of flash memory and is continuously increased single storage The memory capacity of unit.But it is accompanied by the growth of memory capacity, the reliability of nand flash memory and performance are but more and more lower, NAND The probability of flash memory generation bit bit flipping is very high, and its bit error rate can reach 10-5Or more.The read-write error of 3D nand flash memory It is not isolated, a read-write operation may cause the interference closing on Physical Page.As shown in figure 1, in nand flash memory, right In the programming (programming unit A and B) of a Physical Page, not only can interfere with same physical block closes on Physical Page (programming unit E), and can interfere with Z-direction close on physical location (programming unit C and D).
Content of the invention
Present invention seek to address that 3D nand flash memory bit error rate height leads to reliability and performance in solid state hard disc in prior art Increasingly lower technical problem, provides the control method of nand flash memory data and control system in a kind of solid state hard disc.
Embodiments of the invention provide a kind of control method of nand flash memory data in solid state hard disc, described solid state hard disc Memory space includes multiple flash memories, wherein one flash memory as the first memory space, remaining flash memory as the second memory space, its It is characterised by:Described control method comprises the following steps:
Judge whether data to be written is significant data, if it is not, then writing in the relevant position of described second memory space Enter described data to be written;
If so, write described data to be written in the relevant position of described first memory space, and described second The relevant position of memory space writes described data to be written;
Judge whether new data to be written, if so, enter and described judge whether data to be written is important number According to step;If it is not, end step.
Embodiments of the invention additionally provide a kind of control system of nand flash memory data in solid state hard disc, and described solid-state is hard The memory space of disk includes multiple flash memories, and, as the first memory space, remaining flash memory is empty as the second storage for wherein one flash memory Between, described control system includes:Data judge module, Backup Data writing module, general data writing module and end operation Module;
Data judge module, for judging whether data to be written is significant data;
Backup Data writing module, for when data to be written is significant data, in described first memory space Relevant position writes described data to be written;
General data writing module, the relevant position for described second memory space writes described data to be written;
End operation module, for end operation.
Technical scheme compared with prior art, has the beneficial effects that:By the storage in solid state hard disc is empty Between be divided into the first memory space and the second memory space, when important flash data is stored in the second memory space, simultaneously will Important flash data is backed up in the first memory space, can be effectively reduced the bit error rate of nand flash memory, effectively simultaneously Strengthen the data reliability of storage system.
Brief description
Fig. 1 is the programming interference schematic diagram of NAND FLASH in prior art;
Fig. 2 is the schematic diagram of significant data and general data write operation order in 3D NAND FLASH of the present invention;
Fig. 3 is the schematic flow sheet of significant data and general data write operation in 3D NAND FLASH of the present invention;
Fig. 4 is the schematic flow sheet triggering garbage reclamation mechanism in 3D NAND FLASH of the present invention;
Fig. 5 is the schematic flow sheet of the garbage reclamation of significant data and general data in 3D NAND FLASH of the present invention;
Fig. 6 is the comparison schematic diagram of the bit error rate in 3D NAND FLASH of the present invention;
Fig. 7 is the control system composition structural representation of 3D nand flash memory data of the present invention;
Fig. 8 is the structure composition schematic diagram of garbage reclamation mechanism in 3D nand flash memory data control system of the present invention;
Fig. 9 is the structure composition schematic diagram of data write operation mechanism in 3D nand flash memory data control system of the present invention.
Specific embodiment
Embodiments of the invention are described below in detail, the example of described embodiment is shown in the drawings, wherein from start to finish The element that same or similar label represents same or similar element or has same or like function.Below with reference to attached The embodiment of figure description is exemplary it is intended to be used for explaining the present invention, and is not considered as limiting the invention.
Most of SSD adopt same method storage significant data and insignificant data now, simultaneously in data storage The distribution of FLASH is that order selects FLASH, and order selects blank physical block.But it is as growth and the figure of SSD storage capacity The programming interference of the NAND FLASH shown in 1, the probability of nand flash memory generation bit bit flipping is very high, and its bit error rate can reach 10-5 or more.And the control method of 3D nand flash memory data takes backup mainly for significant data in the SSD of the present invention The method of storage, can effectively strengthen the data reliability of storage system.
Specifically, in one embodiment of the invention solid state hard disc nand flash memory data control method, wherein said solid-state The memory space of hard disk includes multiple flash memories, and wherein one flash memory is Store_Import memory space as the first memory space, Remaining flash memory is Store_Common memory space as the second memory space, and described control method comprises the following steps:
Judge whether data to be written is significant data, if it is not, then writing in the relevant position of described second memory space Enter described data to be written;
If so, write described data to be written in the relevant position of described first memory space, and described second The relevant position of memory space writes described data to be written;
Judge whether new data to be written, if so, enter and described judge whether data to be written is important number According to step;If it is not, end step.
In being embodied as, Fig. 2 is that the flow process of the control method of one embodiment of the invention 3D nand flash memory data is illustrated Figure, described control method comprises the following steps:
Step S100, when carrying out the write operation of data, first determines whether whether data to be write is significant data, if It is then to enter step S200, if it is not, then entering step S300;
Step S200, controls the write operation carrying out data in Store_Import memory space, subsequently into step S300;
Step S300, controls the write operation carrying out data in Store_Common memory space;And determine whether new Data write, if so, then repeat the above steps;If it is not, end step.
Because the data/address bus of current Nand Flash is 8bit, maximum is provided that the reading rate of 25MB/s and 3MB/s Writing rate it is clear that SSD provided that this speed to be user unacceptable, the commonly used multiple passages of current SSD controller with When parallel work-flow multi-disc Flash, similar RAID0, such read or write speed can be greatly improved.In above example, excellent Selection of land, SSD controller controls m*n FLASH, wherein m to represent Flash channel number, and n represents corresponding to Flash passage FLASH number.First, SSD controller can select the FLASH corresponding to a FlASH passage as the thing of important data backup Reason space S tore_Import memory space, other FLASH passages are as storage space S tore_Common of data storage Memory space.That is, the backup of data when system is judged to significant data, will be carried out in Store_Import memory space.
In conjunction with concretely comprising the following steps of the write operation shown in Fig. 3, carrying out data in corresponding Store_Common memory space:
Step S310, when carrying out the write operation of data, obtains logical block according to the logical page number (LPN) of data to be write Number and block in page deviation number;
Step S320, obtains the entrance physical block number of the corresponding physical block chain of described logical block number (LBN) according to default mapping table, Wherein said physical block chain includes a basic block as entrance physical block and multiple replacement block for updating the data and delays Rush block;
Step S330, judges that in block described in the corresponding basic block of described entrance physical block number, the corresponding Physical Page of page deviation number is The no free time, if it is, entering step S370, if not, enter step S340;
Step S340, searches the whether available free Physical Page of each replacement block in described current physical block chain, if entering Step S370, enters step S350 if not;
Step S350, searches the whether available free Physical Page of buffer stopper in described current physical block chain, if entering step S370, enters step S360 if not;
Step S360, redistributes data block, replicates effective data page, using buffer stopper as new basic block, and to former Basic block and replacement block carry out the erasing reclaimer operation of physical block;
Step S370, carries out the write of data in described free physical page.
Preferably, also, carry out in corresponding Store_Import memory space the concrete steps of write operation of data with The concrete steps of the write operation carrying out data in corresponding Store_Common memory space are essentially identical, specially:
Step S210, when carrying out the write operation of data, obtains logical block according to the logical page number (LPN) of data to be write Number and block in page deviation number;
Step S220, obtains the entrance physical block number of the corresponding physical block chain of described logical block number (LBN) according to default mapping table, Wherein said physical block chain includes a basic block as entrance physical block and multiple replacement block for updating the data and delays Rush block;
Step S230, judges that in block described in the corresponding basic block of described entrance physical block number, the corresponding Physical Page of page deviation number is The no free time, if it is, entering step S270, if not, enter step S240;
Step S240, searches the whether available free Physical Page of each replacement block in described current physical block chain, if entering Step S270, enters step S250 if not;
Step S250, searches the whether available free Physical Page of buffer stopper in described current physical block chain, if entering step S270, enters step S260 if not;
Step S260, redistributes data block, replicates effective data page, using buffer stopper as new basic block, and to former Basic block and replacement block carry out the erasing reclaimer operation of physical block;
Step S270, carries out the write of data in described free physical page.
In being embodied as, for SSD flash chip, if described SSD flash chip can be divided into dried layer, if every layer can be divided into Dry row, and have some physical blocks in often going, each physical block has several Physical Page.
In step S210, S310, operating system sends write operation requests first, and storage management system calculates and patrols accordingly Collect page deviation number offset in block log_block and block, in such as each physical block, have page_per_block=32 thing Reason page, and write the logical page number (LPN) log_page=38 of data, its corresponding logical block number (LBN) log_block is log_page/page_ Per_block=38/36=1, in its corresponding piece, page deviation number offset is log_page%page_per_block= 38%36=2, then in step S220, S320, storage management system checks that logical block number (LBN) arrives the mapping table of physical block number, obtains The entrance physical block of physical block chain must be corresponded to, i.e. physical block number phy_block of basic block.
In step S230, S330, each physical block chain only one of which basic block, this basic block is as the entrance thing of block chain Reason block.Such as logical page number (LPN) is log_page, has page_per_block Physical Page, then in basic block in each physical block In, logical page (LPAGE) is only stored in data on log_page%page_per_block Physical Page.
In step S240, S340 and step S250, in S350, each physical block chain has multiple replacement blocks and a buffering Block, when data is updated, and when the corresponding Physical Page of basic block has data, then updates the data according to physical page number size, Sequentially in write replacement block.That is when the Physical Page in basic block is carried out with data renewal, then update the data according to physics Page number size, sequentially in write replacement block.In addition in the type of organization of physical block chain, by by the physical block in physical block chain It is divided into basic block, replacement block and buffer stopper, for the logical page (LPAGE) frequently carrying out data renewal, the replacement block for updating the data can Ensure that the effectively utilizes in space, decreasing erasing times and to because being replicated with during erasing imitating the time of data, carrying The high performance of chip.
Some restrictions are had based on NAND FLASH, one is that it does not support local update, must be wiped before data write Division operation.Two is that operation granularity is asymmetric:Read-write operation is all in units of page, and erasing operation must be in units of block.Therefore, Further, as shown in figure 4, before carrying out the write operation of data, that is, before step S100, further comprising the steps of:
Step S010, checks and records the number of FLASH empty physical block;
Step S020, judges whether the number of FLASH empty physical block is less than default free block threshold values, if it is, Enter step S030, if it is not, then entering step S100;
Step S030, carries out garbage reclamation to the plurality of flash memory.
Further, as shown in figure 5, the step of described garbage reclamation mechanism, specially:
Step S031, searches the most logical block of the corresponding number of physical block, and enters step S032;
Step S032, judges whether the data being write in this logical block is significant data, if it is, entering step S033, if it is not, then enter step S035;
Step S033, is searching new blank physical block in Store_Import memory space, is patrolling described in order reading Collect the corresponding physical block of block, and the data of latest update in the relative Physical Page of each physical block is write the phase of blank physical block To in Physical Page, and enter step S034;
Step S034, corresponding for logical block physical block is wiped, the newly blank thing after the corresponding erasing of logical block simultaneously Reason block;
Step S035, searches new blank physical block in Store_Common memory space, sequentially reads described logic The corresponding physical block of block, and the data of latest update in the relative Physical Page of each physical block is write the relative of blank physical block In Physical Page, and enter step S036;
Step S036, corresponding for logical block physical block is wiped, the newly blank thing after the corresponding erasing of logical block simultaneously Stream block.
In conjunction with shown in Fig. 6 it is assumed that the memory capacity of each Physical Page (Physical Page) is 2Kbytes (i.e. 16384 Bit), the bit error rate of nand flash memory is 10-5, and come using the ECC of SECDED (error code correction, two error code error detections) Detection and correction error code.
So, Fig. 6 (a) illustrates the situation on a Physical Page more than an error code, in this case, physics Page P0 is not provided that correct data, and the probability that it occurs is 1.20*10-2.If this Physical Page saves significant data, occur Error code will directly influence the normal work of nand flash memory storage system.
Fig. 6 (b) illustrates Physical Page P0 more than an error code, and its redundancy backup Physical Page P1 has less than two mistakes The situation of code.It is appreciated that Physical Page P0 here is located at Store_Common storage sky according to the above embodiments of the present invention Between physical block in, Physical Page P1 be located at Store_Import memory space physical block in, memory space utilize Physical Page P1 This redundancy backup, even if data cannot be read from Physical Page P0, Physical Page P1 still can provide just data.This situation The probability occurring is 1.19*10-2, it has been approximately equal to the probit of situation (a).
We also note that, even if Physical Page and its redundancy backup Physical Page have the error code of two, we still have Chance carries out error correction.The error code that Fig. 6 (c) illustrates Physical Page P2 occurs position and the error code of its redundancy backup P3 position to occur not Two Physical Page just can all be carried out error correction using simple xor operation by same situation.For situation Fig. 6 (d), Wo Menke At least to detect the error code of two.And the probability occurring in Fig. 6 (e) is 9.6714*10-13.
Above example illustrates, can effectively strengthen the data reliability of storage system using redundancy backup, can be effectively Reduce the bit error rate of NAND FLASH.
In being embodied as, as shown in fig. 7, the present invention also provides a kind of control system of 3D nand flash memory data in SSD System, described control system includes:Data judge module 10, Backup Data writing module 20, general data writing module 30 and knot Bundle operation module 40;
Data judge module 10, for judging whether data to be write is significant data;
Backup Data writing module 20, when being judged as significant data for data judge module, it is right that significant data is write The corresponding position of Store_Import memory space answered;
General data writing module 30, is used for writing data into the corresponding position of corresponding Store_Common memory space Put;
End operation module 40, for end operation step.
Further, in conjunction with shown in Fig. 9, described Backup Data writing module 20 and general data writing module 30 are respectively all Including signal generating unit 21,31, mapping relations set up unit 22,32, determining unit 23,33, and 30, write operation unit 24,34, write Enter to search allocation unit 25,35, data allocation unit 26,36 and erasing reclaimer operation unit 27,37.
Signal generating unit 21,31, for when carrying out the write operation of data, obtaining according to the logical page number (LPN) of data to be write Page deviation number in logical block number (LBN) and block;
Mapping relations set up unit 22,32, correspond to physical block for obtaining described logical block number (LBN) according to default mapping table The entrance physical block number of chain, wherein said physical block chain include a basic block as entrance physical block and multiple for updating The replacement block of data;
Determining unit 23,33, for judging page deviation number pair in block described in the corresponding basic block of described entrance physical block number Answer Physical Page whether idle or whether there are valid data, if it is, entering write operation unit 24,34, if not, enter writing Enter to search allocation unit 25,35;
Write operation unit 24,34, for carrying out the write of data in described free physical page;
Whether allocation unit 25,35 is searched in write, available free for searching each replacement block in described current physical block chain Physical Page, if it is, entering write operation unit 24,34, if it is not, then enter data allocation unit 26,36;
Data allocation unit 26,36, whether there is free physical for searching the buffer stopper in described current physical block chain Page, if it is, entering write operation unit 24,34, if not, redistributing data block, replicates effective data page, with buffer stopper As new basic block, and enter described erasing reclaimer operation unit 27,37;
Erasing reclaimer operation unit 27,37, for carrying out the erasing reclaimer operation of physical block to former basic block and replacement block.
In being embodied as, for 3D flash chip, if described 3D flash chip can be divided into dried layer, every layer can be divided into some OK, and often there are some physical blocks in going, each physical block has several Physical Page.
In signal generating unit, operating system sends write operation requests first, and signal generating unit calculates corresponding logical block number (LBN) There is page_per_block=32 Physical Page in page deviation number offset in log_block and block, such as each physical block, and Write the logical page number (LPN) log_page=38 of data, its corresponding logical block number (LBN) log_block is log_page/page_per_ Block=38/36=1, in its corresponding piece, page deviation number offset is log_page%page_per_block=38%36 =2, then mapping relations set up module 20 and check that logical block number (LBN) arrives the mapping table of physical block number, obtain entering of corresponding physical block chain Mouth physical block, i.e. physical block number phy_block of basic block.
Set up in unit in mapping relations, each physical block chain only one of which basic block, this basic block enters as block chain Mouth physical block.Such as logical page number (LPN) is log_page, has page_per_block Physical Page, then in base in each physical block In this block, logical page (LPAGE) is only stored in data on log_page%page_per_block Physical Page.Each physical block chain has multiple Replacement block, when data is updated, and when the corresponding Physical Page of basic block has data, then updates the data big according to physical page number Little, sequentially in write replacement block.That is when the Physical Page in basic block is carried out with data renewal, then update the data according to thing Reason page number size, sequentially in write replacement block.In addition in the type of organization of physical block chain, by by the physics in physical block chain Block is divided into basic block and replacement block, and for the logical page (LPAGE) frequently carrying out data renewal, the replacement block for updating the data can be protected Demonstrate,prove the effectively utilizes in space, having decreased erasing times and to because being replicated with during erasing imitating the time of data, improve The performance of chip.
In determining units, if the offset Physical Page in phy_block is idle, write number in this Physical Page According to;Otherwise, sequentially search the whether available free Physical Page of replacement block in current physical block chain.If leisureless thing in block chain Reason page, then distribution free physical block is to current physical block chain.Newly assigned free physical block is put in current physical block chain Tail end, and on first Physical Page of described free physical block write data.
Preferably, described control system also includes a control module, for selecting corresponding to wherein one FlASH passage FLASH be labeled as Store_Import memory space, the corresponding FLASH of other FLASH passage is labeled as Store_ Common memory space.When writing data, data is divided into significant data and general data, and general data is stored in Store_ In Common memory space, significant data should be stored in Store_Common memory space, also Store_ to be stored in In Import memory space.When significant data updates, the data storage method of renewal is also such.
Further, described control system also includes acquisition module 101, comparison module 102, returns module 104 and rubbish Rubbish recycling module 103;
Acquisition module 101, for the number of acquisition and recording flash empty physical block;
Whether comparison module 102, for comparing the number of FLASH empty physical block less than default free block threshold values;
Garbage reclamation module 103, for when comparison module output result is to be, carrying out rubbish to the plurality of flash memory and returning Receive;
Return module 104, for when comparison module output result is to be, entering data judge module 10.
Specifically, described garbage reclamation module 103 includes searching judging unit, and Backup Data reads performance element, backup Data wipes unit, and general data reads performance element and general data erasing unit;
Search judging unit, for when comparison module output result is to be, searching the corresponding number of physical block most Logical block, and judge whether the data being write in this logical block is significant data;
Backup Data reads performance element, for searching new blank physical block in described first memory space, sequentially Read the corresponding physical block of described logical block, and the data of latest update in the relative Physical Page of each physical block is write blank In the relative Physical Page of physical block;
Backup Data wipes unit, for wiping the corresponding physical block of logical block in described first memory space;
General data reads performance element, for searching new blank physical block in described second memory space, sequentially Read the corresponding physical block of described logical block, and the data of latest update in the relative Physical Page of each physical block is write blank In the relative Physical Page of physical block;
General data wipes unit, for wiping the corresponding physical block of logical block in described second memory space.
In above-mentioned garbage reclamation mechanism, first look at whether the corresponding data of this logical block is significant data, if It is significant data, first in Store_Import memory space, read the physics in all physical blocks corresponding to logical block The latest data of page, by the number on all physical blocks in blank block new for the data reading write, corresponding to erasing logical block According to logical block corresponding blank physical block simultaneously.Then, in Store_Common memory space, read the institute corresponding to logical block There is the latest data of the Physical Page in physical block, by blank block new for the data reading write, wipe corresponding to logical block Data on all physical blocks, logical block corresponding blank physical block simultaneously.If not significant data, only need to be in Store_ In Common memory space, read the latest data of the Physical Page in all physical blocks corresponding to logical block, the number that will read According to writing in new blank block, wipe the data on all physical blocks corresponding to logical block, simultaneously logical block corresponding blank thing Reason block.
The control method of 3D nand flash memory data and control system in the 3SSD of the present invention, by drawing NAND FLASH It is divided into Store_Import memory space and Store_Common memory space, important flash data is stored in Store_ Import memory space is backed up, and can be effectively reduced the bit error rate of NAND FLASH, effectively strengthens storage system simultaneously Data reliability.
In the description of this specification, reference term " embodiment ", " some embodiments ", " example ", " specifically show The description of example " or " some examples " etc. means specific features, structure, material or the spy describing with reference to this embodiment or example Point is contained at least one embodiment or the example of the present invention.In this manual, to the schematic representation of above-mentioned term not Identical embodiment or example must be directed to.And, the specific features of description, structure, material or feature can be in office Combine in an appropriate manner in one or more embodiments or example.Additionally, in the case of not conflicting, the skill of this area The feature of the different embodiments described in this specification or example and different embodiment or example can be tied by art personnel Close and combine.
Although embodiments of the invention have been shown and described above it is to be understood that above-described embodiment is example Property it is impossible to be interpreted as limitation of the present invention, those of ordinary skill in the art within the scope of the invention can be to above-mentioned Embodiment is changed, changes, replacing and modification.

Claims (10)

1. in a kind of solid state hard disc nand flash memory data control method, the memory space of described solid state hard disc includes multiple sudden strains of a muscle Deposit, wherein one flash memory as the first memory space, remaining flash memory as the second memory space it is characterised in that:Described control Method comprises the following steps:
Judge whether data to be written is significant data, if it is not, then writing institute in the relevant position of described second memory space State data to be written;
If so, write described data to be written in the relevant position of described first memory space, and in the described second storage The relevant position in space writes described data to be written;
Judge whether new data to be written, if so, enter and described judge whether data to be written is significant data Step;If it is not, end step.
2. control method according to claim 1 it is characterised in that:In the write of the relevant position of described second memory space The step of described data to be written or the step writing described data to be written in the relevant position of described first memory space, tool Body is:
Page deviation number in logical block number (LBN) and block is obtained according to the logical page number (LPN) of data to be written;
Obtain the entrance physical block number of the corresponding physical block chain of described logical block number (LBN), wherein said physical block according to default mapping table Chain includes a basic block as entrance physical block, multiple replacement block for updating the data and buffer stopper;
Judge in block described in the corresponding basic block of described entrance physical block number, whether the corresponding Physical Page of page deviation number is idle, if It is to carry out the write of described data to be written;
If not, search the whether available free Physical Page of each replacement block in described current physical block chain, if it is, in the described free time Carry out the write of described data to be written in Physical Page;
If it is not, then the buffer stopper searched in described current physical block chain whether there is free physical page, if it is, in described sky Carry out the write of described data to be written in not busy Physical Page;If it is not, then redistributing data block, replicate effective data page, with Buffer stopper is as new basic block, and former basic block and replacement block are carried out with the erasing reclaimer operation of physical block.
3. control method as claimed in claim 1 it is characterised in that:Judging whether data to be write is significant data Before step, also include step:
Check the number of described flash memory empty physical block;
Whether the number judging described flash memory empty physical block is less than default free block threshold values;
If so, garbage reclamation is carried out to the plurality of flash memory;
If it is not, then entering the step whether described judgement data to be write is significant data.
4. control method as claimed in claim 3 it is characterised in that:Described garbage reclamation is carried out to the plurality of flash memory, tool Body includes:
Search the most logical block of the corresponding number of physical block;
Judge whether the data being write in this logical block is significant data;
If it is not, then directly searching new blank physical block in the second memory space, sequentially read the corresponding thing of described logical block Reason block, and the data of latest update in the relative Physical Page of each physical block is write in the relative Physical Page of blank physical block, Corresponding for logical block physical block is wiped, the new blank physical block after the corresponding erasing of logical block simultaneously;
If so, search new blank physical block in the first memory space, sequentially read the corresponding physical block of described logical block, and The data of latest update in the relative Physical Page of each physical block is write in the relative Physical Page of blank physical block, by logical block Corresponding physical block is wiped, the new blank physical block after the corresponding erasing of logical block simultaneously.
5. control method as claimed in claim 1 it is characterised in that:The memory space of described solid state hard disc includes m*n sudden strain of a muscle Deposit, wherein m represents Flash channel number, n represents the FLASH number corresponding to Flash passage, m and n is just whole more than 1 Number.
6. in a kind of solid state hard disc nand flash memory data control system, the memory space of described solid state hard disc includes multiple sudden strains of a muscle Deposit, wherein one flash memory as the first memory space, remaining flash memory as the second memory space it is characterised in that:Described control System includes:Data judge module, Backup Data writing module, general data writing module and end operation module;
Data judge module, for judging whether data to be written is significant data;
Backup Data writing module, for when data to be written is significant data, corresponding in described first memory space Position writes described data to be written;
General data writing module, the relevant position for described second memory space writes described data to be written;
End operation module, for end operation.
7. control system according to claim 6 it is characterised in that:Described Backup Data writing module and general data are write Enter module and all include signal generating unit, mapping relations set up unit, determining unit, write operation unit, and allocation unit is searched in write, Data allocation unit, and erasing reclaimer operation unit;
Signal generating unit, for obtaining page deviation number in logical block number (LBN) and block according to the logical page number (LPN) writing data to be written;
Mapping relations set up unit, for obtaining the entrance thing of the corresponding physical block chain of described logical block number (LBN) according to default mapping table Reason block number, wherein said physical block chain includes a basic block as entrance physical block and multiple replacement for updating the data Block and buffer stopper;
Determining unit, for judging that in block described in the corresponding basic block of described entrance physical block number, the corresponding Physical Page of page deviation number is The no free time, if it is, when carrying out write operation, entering write operation unit, if not, when carrying out write operation, enter write Search allocation unit;
Write operation unit, for carrying out the write of data in described free physical page;
Distribute module is searched in write, for searching the whether available free Physical Page of each replacement block in described current physical block chain, such as Fruit is to enter write operation unit, if not, when carrying out write operation, entering data allocation unit;
Data allocation unit, whether there is free physical page for searching the buffer stopper in described current physical block chain, if it is, Entering write operation unit, if not, redistributing data block, replicating effective data page, using buffer stopper as new basic block, And enter described erasing reclaimer operation unit;
Erasing reclaimer operation unit, for carrying out the erasing reclaimer operation of physical block to former basic block and replacement block.
8. control system as claimed in claim 6 it is characterised in that:Described control system also includes acquisition module, compares mould Block, returns module and garbage reclamation module;
Acquisition module, for checking the number of described flash memory empty physical block;
Whether comparison module, for judging the number of described flash memory empty physical block less than default free block threshold values;
Garbage reclamation module, for when comparison module output result is to be, carrying out garbage reclamation to the plurality of flash memory;
Return module, for when comparison module output result is to be, entering data judge module.
9. control system as claimed in claim 8 it is characterised in that:Described garbage reclamation module includes searching judging unit, Backup Data reads performance element, and Backup Data wipes unit, and general data reads performance element and general data erasing unit;
Search judging unit, for when comparison module output result is to be, searching the most logic of the corresponding number of physical block Block, and judge whether the data being write in this logical block is significant data;
Backup Data reads performance element, and for searching new blank physical block in described first memory space, order reads The corresponding physical block of described logical block, and the data of latest update in the relative Physical Page of each physical block is write blank physical In the relative Physical Page of block;
Backup Data wipes unit, for wiping the corresponding physical block of logical block in described first memory space;
General data reads performance element, and for searching new blank physical block in described second memory space, order reads The corresponding physical block of described logical block, and the data of latest update in the relative Physical Page of each physical block is write blank physical In the relative Physical Page of block;
General data wipes unit, for wiping the corresponding physical block of logical block in described second memory space.
10. control system according to claim 6 it is characterised in that:The memory space of described solid state hard disc includes m*n Flash memory, wherein m represent Flash channel number, and n represents the FLASH number corresponding to Flash passage, m and n more than 1 is just Integer.
CN201610841610.3A 2016-09-22 2016-09-22 Control method and control system for NAND flash memory data in solid state disk Pending CN106445740A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610841610.3A CN106445740A (en) 2016-09-22 2016-09-22 Control method and control system for NAND flash memory data in solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610841610.3A CN106445740A (en) 2016-09-22 2016-09-22 Control method and control system for NAND flash memory data in solid state disk

Publications (1)

Publication Number Publication Date
CN106445740A true CN106445740A (en) 2017-02-22

Family

ID=58167074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610841610.3A Pending CN106445740A (en) 2016-09-22 2016-09-22 Control method and control system for NAND flash memory data in solid state disk

Country Status (1)

Country Link
CN (1) CN106445740A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577619A (en) * 2017-07-20 2018-01-12 深圳大学 A kind of data write-in, read method and device
CN107678697A (en) * 2017-10-24 2018-02-09 江苏都万电子科技有限公司 A kind of asymmetric backup storage method of data and memory
CN107729174A (en) * 2016-08-11 2018-02-23 爱思开海力士有限公司 Band length is changed in flash memory device
CN109324979A (en) * 2018-08-20 2019-02-12 华中科技大学 The data buffer storage division methods and data distributing method of 3D flash memory solid-state disk system
CN109656748A (en) * 2018-12-10 2019-04-19 华中科技大学 A method of the MLC nand flash memory bit error rate is reduced by data pattern remapping
CN110908594A (en) * 2018-09-18 2020-03-24 爱思开海力士有限公司 Operation method of memory system and memory system
CN111177020A (en) * 2018-11-13 2020-05-19 爱思开海力士有限公司 Storage device and operation method thereof
CN111210858A (en) * 2019-12-24 2020-05-29 山东大学 Method and system for relieving write interference of phase change memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0616285A3 (en) * 1993-03-19 1995-11-08 Siemens Ag Backing up method for customized data in a communication system.
CN102214143A (en) * 2010-04-06 2011-10-12 深圳市江波龙电子有限公司 Method and device for managing multilayer unit flash memory, and storage equipment
CN102508788A (en) * 2011-09-28 2012-06-20 成都市华为赛门铁克科技有限公司 SSD (solid state drive) and SSD garbage collection method and device
CN102591748A (en) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 Solid state disc and power failure protection method and system thereof
CN105677578A (en) * 2016-01-08 2016-06-15 深圳大学 Control method and system for 3D flash memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0616285A3 (en) * 1993-03-19 1995-11-08 Siemens Ag Backing up method for customized data in a communication system.
CN102214143A (en) * 2010-04-06 2011-10-12 深圳市江波龙电子有限公司 Method and device for managing multilayer unit flash memory, and storage equipment
CN102508788A (en) * 2011-09-28 2012-06-20 成都市华为赛门铁克科技有限公司 SSD (solid state drive) and SSD garbage collection method and device
CN102591748A (en) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 Solid state disc and power failure protection method and system thereof
CN105677578A (en) * 2016-01-08 2016-06-15 深圳大学 Control method and system for 3D flash memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘洋: "《信息存储技术原理分析》", 31 December 2014, 经济管理出版社 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729174B (en) * 2016-08-11 2020-12-25 爱思开海力士有限公司 Memory device, method of storing data thereof, and controller thereof
CN107729174A (en) * 2016-08-11 2018-02-23 爱思开海力士有限公司 Band length is changed in flash memory device
CN107577619A (en) * 2017-07-20 2018-01-12 深圳大学 A kind of data write-in, read method and device
CN107678697A (en) * 2017-10-24 2018-02-09 江苏都万电子科技有限公司 A kind of asymmetric backup storage method of data and memory
CN109324979A (en) * 2018-08-20 2019-02-12 华中科技大学 The data buffer storage division methods and data distributing method of 3D flash memory solid-state disk system
CN109324979B (en) * 2018-08-20 2020-10-16 华中科技大学 Data cache dividing method and data distribution method of 3D flash memory solid-state disk system
CN110908594A (en) * 2018-09-18 2020-03-24 爱思开海力士有限公司 Operation method of memory system and memory system
CN110908594B (en) * 2018-09-18 2023-08-25 爱思开海力士有限公司 Memory system and operation method thereof
CN111177020A (en) * 2018-11-13 2020-05-19 爱思开海力士有限公司 Storage device and operation method thereof
CN111177020B (en) * 2018-11-13 2023-05-05 爱思开海力士有限公司 Memory device and method of operating the same
CN109656748A (en) * 2018-12-10 2019-04-19 华中科技大学 A method of the MLC nand flash memory bit error rate is reduced by data pattern remapping
CN111210858A (en) * 2019-12-24 2020-05-29 山东大学 Method and system for relieving write interference of phase change memory
CN111210858B (en) * 2019-12-24 2021-11-09 山东大学 Method and system for relieving write interference of phase change memory

Similar Documents

Publication Publication Date Title
CN106445740A (en) Control method and control system for NAND flash memory data in solid state disk
CN103488583B (en) The solid-state disk implementation method that a kind of high-performance is highly reliable
CN102012867B (en) Data storage system
CN103377010B (en) The system and method for managing the unreliable memory in data-storage system
CN102646069B (en) Method for prolonging service life of solid-state disk
CN101354681B (en) Memory system, abrasion equilibrium method and apparatus of non-volatile memory
US8904089B2 (en) Method for performing block management/Flash memory management, and associated memory device and controller thereof
CN103425600B (en) Address mapping method in a kind of solid-state disk flash translation layer (FTL)
US7856528B1 (en) Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system
KR101551584B1 (en) Block management schemes in hybrid slc/mlc memory
CN105159622B (en) A kind of method and system reducing SSD read-write IO time delay
TWI399644B (en) Block management method for a non-volatile memory
CN103631536B (en) A kind of method utilizing the invalid data of SSD to optimize RAID5/6 write performance
CN105573681A (en) Method and system for establishing RAID in SSD
CN103136121A (en) Cache management method for solid-state disc
CN107221351B (en) Optimization processing method of error correcting code in solid-state disk system and application thereof
CN101923448A (en) Method for reading and writing conversion layer of NAND flash memory
CN102521160A (en) Write buffer detector, addressing method of written data and parallel channel write method
CN109710541B (en) Optimization method for Greedy garbage collection of NAND Flash main control chip
CN109671458A (en) The method of management flash memory module and relevant flash controller
CN102063266A (en) Nonvolatile memory controller and method for writing data to nonvolatile memory
CN110874186A (en) Flash memory controller and related access method and electronic device
CN105260325A (en) Method for collecting garbage blocks in solid state disks
CN105988719B (en) Storage device and its method for handling data
CN116364148A (en) Wear balancing method and system for distributed full flash memory system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170222

RJ01 Rejection of invention patent application after publication