CN102760489B - Flash block selecting method and data storage device - Google Patents

Flash block selecting method and data storage device Download PDF

Info

Publication number
CN102760489B
CN102760489B CN201110112932.1A CN201110112932A CN102760489B CN 102760489 B CN102760489 B CN 102760489B CN 201110112932 A CN201110112932 A CN 201110112932A CN 102760489 B CN102760489 B CN 102760489B
Authority
CN
China
Prior art keywords
block
extreme value
mark
flash memory
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110112932.1A
Other languages
Chinese (zh)
Other versions
CN102760489A (en
Inventor
乔梦麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to CN201110112932.1A priority Critical patent/CN102760489B/en
Publication of CN102760489A publication Critical patent/CN102760489A/en
Application granted granted Critical
Publication of CN102760489B publication Critical patent/CN102760489B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention provides a flash block selecting method and a data storage device. The flash block selecting method comprises the steps of: firstly, dividing a flash memory into multiply block big groups, dividing each block big group into multiple block groups, wherein each block group comprises a second number of block groups; secondly, recording fractions corresponding to blocks of the flash in a scrod record table; thirdly, recording a first extreme value of the fraction corresponding to the block included in each block group, a second extreme of the fraction corresponding to the block included by each block big group, and a total extreme of the fractions corresponding to the blocks in the flash in an extreme record table; and finally, determining a sacrifice block to be applied from the blocks of the flash according to the total extreme recorded in the extreme record table.

Description

Flash memory block choosing method and data memory device
Technical field
The invention relates to flash memory, relate to flash memory block especially and choose.
Background technology
Flash memory comprises multiple block (block), and each block comprises the multiple pages (page) in order to storage data.When controller for by data storing to flash memory, one of them block must be selected, for storage data from multiple blocks of flash memory.In order to manage the data storing of block in flash memory, controller also must select one of them from multiple blocks of flash memory sometimes, to delete the data stored by choice area block." sacrifice block " (victim block) is referred to as by the block selected.Therefore, controller often must select one to sacrifice block from multiple blocks of flash memory, deletes or data storing for data.
In general, when controller is selected to sacrifice block, not the carrying out of blindness is selected, but selects according to mark (score) height of each block in flash memory.Controller may be marked to all blocks in flash memory in advance, then selects to sacrifice block according to mark height.Such as, if the higher block of mark is more applicable to becoming sacrifice block, then controller selects the block of the maximal value corresponding to mark as sacrifice block; And if the lower block of mark is more applicable to becoming sacrifice block, then controller selects the block of the minimum value corresponding to mark as sacrifice block.Therefore, when controller is selected to sacrifice block, the extreme value (extreme value) of mark must be found out in the mark in advance by all blocks of flash memory.
Finding extreme value is not part nothing the matter.First, controller must safeguard a fractional data string, and this fractional data string records the mark of blocks all in flash memory.Then, controller must find mark maximum value according to fractional data within the quite short time.For example, according to the specification of flash memory, when main frame sends a write order to controller, self-controller is received write order and is started to start at, and controller only can spend 200ms data to be write at the most.Therefore, the time of controller search mark extreme value cannot more than 200ms.
Controller finds the time of the required cost of mark maximum value relevant with the data structure of fractional data string.For example, Figure 1A is the schematic diagram of the fractional data storing flash memory block in a serial fashion.The mark S of X block 1~ S xsequentially save as data storage element 101 ~ 10X, and controller data storage element 101 ~ 10X must be searched one by one, just mark S can be found 1~ S xin extreme value.Therefore, the longest to the time needed for the fractional data search extreme value stored in a serial fashion.
Figure 1B is the schematic diagram of the fractional data storing flash memory block in binary tree mode.One node of binary tree is mitogenetic is left subtree (left subtree) and right subtree (right subtree), wherein the node data value of left subtree is all less than the data value of root node, and the node data value of right subtree is all greater than the data value of root node.Therefore, the data extreme value stored in binary tree is the lower right node of binary tree.Such as, the fractional data S stored by binary tree 120 in Figure 1B 1~ S 12in maximum value be node 128 store mark S 6.Although be easy to find extreme value with the data structure storage data of binary tree, when new data is for stored in needing the at substantial time during binary tree.Such as when for by mark S 12during stored in binary tree 120, need successively to carry out comparing of mark size with node 121,123,125,127,130, expend the much time.When the data stored in binary tree the more time, safeguard that the data of binary tree must expend the too much time, be unfavorable for the data access of controller.
Therefore, need a kind of data structure, can allow controller within the short time, record the mark of flash memory block, can allow again controller within the short time, hunt out the extreme value of flash memory block mark.
Summary of the invention
In view of this, the object of the present invention is to provide a kind of flash memory block choosing method, to solve known techniques Problems existing.First, multiple blocks of a flash memory are divided into multiple block group, wherein each block group comprises the block of one first number.Then, these blocks group is divided into multiple block jumpbogroup, wherein each block jumpbogroup comprises the block group of one second number.Then, in a scoring record sheet, record the mark (score) that these blocks of this flash memory are corresponding.Then, in an extreme value record sheet, record one first extreme value (extreme value) of mark corresponding to block that each these blocks group comprises, a total extreme value of mark that all these blocks of a secondary extremal of mark that block that each these block jumpbogroup comprises is corresponding and this flash memory are corresponding.When the mark that the target block in these blocks is corresponding has amendment, this first extreme value of this target block, this secondary extremal and this total ratio of extreme values is corresponded to comparatively, to determine whether this first extreme value, this secondary extremal and this total extreme value to be replaced into mark after this amendment by mark after this amendment and this extreme value record sheet.Finally, block (victim block) is sacrificed for utilization according to this total extreme value recorded in this extreme value record sheet from these block determining one of this flash memory.
The invention provides a kind of data memory device.In an embodiment, this data memory device comprises a flash memory, a random access memory and a controller.First, this flash memory comprises multiple block jumpbogroup, and wherein each block jumpbogroup comprises the block group of one first number, and each block group comprises the block of one second number.This random access memory stores scoring record sheet and an extreme value record sheet, wherein record the mark (score) that these blocks of this flash memory are corresponding in this scoring record sheet, and record one first extreme value (extreme value) of mark corresponding to block that each these blocks group comprises in this extreme value record sheet, a total extreme value of mark that all these blocks of a secondary extremal of mark that block that each these block jumpbogroup comprises is corresponding and this flash memory are corresponding.This controller sacrifices block (victim block) for utilization according to this total extreme value recorded in this extreme value record sheet from these block determining one of this flash memory, and when the mark that the target block in these blocks is corresponding has amendment, this first extreme value of this target block and this secondary extremal and this total ratio of extreme values is corresponded to comparatively, to determine whether this first extreme value, this secondary extremal and this total extreme value to be replaced into mark after this amendment by mark after this amendment and this extreme value record sheet.
In order to above and other objects of the present invention, feature and advantage can be become apparent, several preferred embodiment cited below particularly, and coordinate appended diagram, be described in detail below:
Accompanying drawing explanation
Figure 1A is the schematic diagram of the fractional data storing flash memory block in a serial fashion;
Figure 1B is the schematic diagram of the fractional data storing flash memory block in binary tree mode;
Fig. 2 is the block diagram according to data memory device of the present invention;
Fig. 3 is the schematic diagram hived off according to flash memory block of the present invention;
Fig. 4 is the schematic diagram according to scoring record sheet of the present invention;
Fig. 5 is the schematic diagram according to extreme value record sheet of the present invention;
Fig. 6 is the process flow diagram of the maintaining method according to extreme value record sheet of the present invention;
Fig. 7 is according to the process flow diagram of extreme value record sheet of the present invention from the method for flash memory selected block.
Embodiment
Fig. 2 is the block diagram according to data memory device 200 of the present invention.In an embodiment, data memory device 200 comprises controller 202, flash memory 204 and a random access memory 206.Flash memory 204 comprises multiple block 221 ~ 22Y, and these blocks 221 ~ 22Y is respectively in order to storage data.All block 221 ~ 22Y of flash memory 204 are divided into multiple block jumpbogroup, and each block jumpbogroup is divided into again multiple block group, and each block group comprises the block of a fixed number.Scoring record sheet 212 and an extreme value record sheet 214 is stored in random access memory 206.The mark (score) of all block 221 ~ 22Z in flash memory 204 is recorded in scoring record sheet 212.The extreme value of the mark of all blocks in the extreme value of the block mark in the extreme value of the block mark in each block group, each block jumpbogroup and flash memory 204 is recorded in extreme value record sheet 214.The extreme value (extreme value) of the mark recorded in extreme value record sheet 214 can be the maximum value or minimum value of mark.
Controller 202 maintains the scoring record sheet 212 and extreme value record sheet 214 that store in random access memory 206.When before data memory device 200 power-off, because random access memory 206 cannot keep data under non-transformer supply, the scoring record sheet 212 stored in random access memory 206 and extreme value record sheet 214 turns are stored in a particular block of flash memory 204 by controller 202.After data memory device 200 re-powers, controller 202 reads the data of scoring record sheet 212 and extreme value record sheet 214 in the particular block of flash memory 204, then scoring record sheet 212 and extreme value record sheet 214 is stored in random access memory 206.
When controller 202 needs to determine a sacrifice block (victim block) in multiple block 221 ~ 22Y of flash memory 204, controller 202 reads the extreme value in the mark of all blocks in flash memory 204 from extreme value record sheet 214, then selects the block of this extreme value corresponding as sacrifice block from flash memory 204.Suppose that controller 202 is for choosing a sacrifice block with from these sacrificial region block delete data from flash memory 204.In an embodiment, the mark of block is the deletion number of times of block (erase count) or active page number (valid page count).Delete the number of times that number of times represents a block once deleted data, and active page number represents the number of the page of the storage valid data that a block comprises.Therefore, the lower block of number of times is deleted or the lower block of active page number is more suitable as the candidate of sacrificing block.Therefore, controller 202 reads the minimal value of deleting number of times or active page number from extreme value record sheet 214, then self-appraisal member record table 212 determines to correspond to this minimizing block as sacrifice block, and the data of sacrificing block are deleted by final order flash memory 204.
Fig. 3 is the schematic diagram hived off according to flash memory block of the present invention.Flash memory comprises multiple block, and first these blocks are divided into N number of block jumpbogroup A ~ N.Then, each block jumpbogroup A ~ N is divided into again K block group, and wherein each block group comprises Z block.For example, block jumpbogroup A is divided into block group A 1~ A k, and block group A 1comprise block A 11~ A 1Z, and block group A kcomprise block A k1~ A kZ.Block jumpbogroup N is divided into block group N 1~ N k, and block group N 1comprise block N 11~ N 1Z, and block group N kcomprise block N k1~ N kZ.Therefore, total (Z × K × N) individual block in flash memory.In an embodiment, the value of Z is 8 (=2 3), the value of K is 8 (=2 3), and the value of N is 256 (=2 8), therefore have 2 in flash memory 14individual block.
Fig. 4 is the schematic diagram according to scoring record sheet 400 of the present invention.Scoring record sheet 400 records the fractional value of all blocks in flash memory.Suppose to comprise block jumpbogroup A ~ N in flash memory, each block jumpbogroup comprises K block group, and each block group comprises Z block, then record sheet 400 of marking records the fractional value of (Z × K × N) individual block.Such as, block jumpbogroup A comprises block group A 1~ A k, wherein block group A 1comprise block A 11~ A 1Z, block group A kcomprise block A k1~ A kZ, then record sheet 400 of marking records block A 11~ A 1Zmark S a11~ S a1Zand block A k1~ A kZmark S aK1~ S aKZ.Block jumpbogroup N comprises block group N 1~ N k, wherein block group N 1comprise block N 11~ N 1Z, block group N kcomprise block N k1~ N kZ, then record sheet 400 of marking records block N 11~ N 1Zmark S n11~ S n1Zand block N k1~ N kZmark S nK1~ S nKZ.
Fig. 5 is the schematic diagram according to extreme value record sheet 500 of the present invention.Suppose in flash memory, to comprise block jumpbogroup A, B ..., N, each block jumpbogroup comprises K block group, each block group comprises Z block, then extreme value record sheet 500 records the mark extreme value of (K × N) individual block group, the mark extreme value X of N number of block jumpbogroup respectively a~ X n, and flash memory in the mark extreme value X of all blocks total.For example, block jumpbogroup A comprises block group A 1, A 2..., A k, therefore extreme value record sheet 500 records block group A respectively 1, A 2..., A kmark extreme value X a1, X a2..., X aK, then by mark extreme value X a1, X a2..., X aKmiddlely compare the extreme value X that can draw block jumpbogroup A a.Block jumpbogroup N comprises block group N 1, N 2..., N k, therefore extreme value record sheet 500 records block group N respectively 1, N 2..., N kmark extreme value X n1, X n2..., X nK, then by mark extreme value X n1, X n2..., X nKmiddlely compare the extreme value X that can draw block jumpbogroup N n.As the extreme value X of all block jumpbogroup A, B ..., N a, X b..., X nafter all obtaining, then can by extreme value X a, X b..., X nmutually compare the mark extreme value X obtaining all blocks total.
Fig. 6 is the process flow diagram of the maintaining method 600 according to extreme value record sheet of the present invention.When the mark making block corresponding when the access of block factor data produces variation, the extreme value data of the extreme value record sheet 214 stored in random access memory 206 revised by controller 202 according to method 600.First, at least one target block of controller 202 on flash memory 204 carries out the data access (step 602) affecting mark.For example, hypothetical target block is the block group N belonging to block jumpbogroup N in Fig. 4 1block N 1Q, and block N 1Qmark by S n1Qchange to S n1Q'.Then, the mark (step 604) of scoring record sheet 212 this target block stored in random access memory 206 revised by controller 202.Then, controller 202 reads the mark extreme value (step 606) of a target block group corresponding to this target block in extreme value record sheet 214.Then, after controller 202 determines the amendment of whether this target block, mark exceedes the mark extreme value (step 608) of this target block group.If mark exceedes the mark extreme value of this target block group after the amendment of target block, then the mark extreme value of this target block group in extreme value record sheet 214 is revised as mark (step 610) after the amendment of this target block by controller 202.Such as, in Fig. 5, target block N 1Qaffiliated block group N 1mark extreme value be X n1, therefore controller 202 comparison score extreme value X n1with target block N 1Qamendment after mark S n1Q.If target block N 1Qamendment after mark S n1Qexceed target block N 1Qaffiliated block group N 1mark extreme value X n1, then controller 202 is by target block N 1Qaffiliated block group N 1mark extreme value X n1be revised as target block N 1Qamendment after mark S n1Q.
Then, if mark exceedes the mark extreme value of this target block group after the amendment of target block, then controller 202 continues the mark extreme value (step 612) reading target block jumpbogroup corresponding to this target block in extreme value record sheet 214.Then, after controller 202 determines the amendment of whether this target block, mark exceedes the mark extreme value (step 614) of this target block jumpbogroup.If mark exceedes the mark extreme value of this target block jumpbogroup after the amendment of target block, then the mark extreme value of this target block jumpbogroup in extreme value record sheet 214 is revised as mark (step 616) after the amendment of this target block by controller 202.Such as, in Fig. 5, target block N 1Qthe mark extreme value of affiliated block jumpbogroup N is X n, therefore controller 202 comparison score extreme value X nwith target block N 1Qamendment after mark S n1Q.If target block N 1Qamendment after mark S n1Qexceed target block N 1the mark extreme value X of affiliated block jumpbogroup N n, then controller 202 is by target block N 1Qthe mark extreme value X of affiliated block jumpbogroup N nbe revised as target block N 1Qamendment after mark S n1Q.
Then, if mark exceedes the mark extreme value of this target block jumpbogroup after the amendment of target block, then controller 202 continues in extreme value record sheet 214, read the total extreme value (step 618) of a mark.Then, after the amendment of controller 202 more whether this target block, mark exceedes the total extreme value (step 620) of this mark.If mark exceedes the total extreme value of this mark after the amendment of this target block, then the total extreme value of this mark in extreme value record sheet 214 is revised as mark (step 622) after the amendment of this target block by controller 212.Such as, in Fig. 5, the total extreme value of mark of all blocks belonging to flash memory 204 is X total, the therefore total extreme value X of controller 202 comparison score totalwith target block N 1Qamendment after mark S n1Q.If target block N 1Qamendment after mark S n1Qthe total extreme value of mark exceeding all blocks that flash memory 204 comprises is X total, then the total extreme value of mark of all blocks belonging to flash memory 204 is X by controller 202 totalbe revised as target block N 1Qamendment after mark S n1Q.Therefore, controller 202 only needs target block N 1Qamendment after mark S n1Qrespectively with the mark extreme value X of target block group n1, target block jumpbogroup mark extreme value X n, with the total extreme value X of mark ncompare, just can determine whether need to revise the extreme value data X stored in extreme value record sheet 214 n1, X n, X total.Compared with the known techniques of Figure 1A and Figure 1B, the time according to service data required for the present invention is obviously lower, and therefore the present invention compares known techniques and has obvious advantage.
Fig. 7 is according to the process flow diagram of extreme value record sheet 214 of the present invention from the method 700 of flash memory 204 selected block.First, controller 202 reads the total extreme value X of a mark from extreme value record sheet 214 total(step 702).Then, controller 202 chooses the total extreme value X of this mark in multiple block 221 ~ 22Y of flash memory 204 totala corresponding target block (step 704).Then, controller 202 determines that this target block is a sacrifice block (step 706).Then, controller 202 orders this flash memory 204 to carry out data deletion (step 708) to this sacrifice block.Therefore, controller 202 only needs to read the total extreme value X in extreme value record sheet 214 totaljust one can be selected in multiple block 221 ~ 22Y of flash memory 204 to sacrifice block.Compared with the known techniques of Figure 1A and Figure 1B, the time according to search extreme value required for the present invention is obviously lower, and therefore the present invention compares known techniques and has obvious advantage.
Although the present invention discloses as above with preferred embodiment; so itself and be not used to limit the present invention; any those who familiarize themselves with the technology; without departing from the spirit and scope of the present invention; when doing a little change and retouching, therefore protection scope of the present invention is when being as the criterion depending on the accompanying claim person of defining.

Claims (14)

1. a flash memory block choosing method, comprises the following steps:
One flash memory is divided into multiple block jumpbogroup, and wherein each block jumpbogroup comprises the block of one first number;
Each these block jumpbogroup is divided into multiple block group, and wherein each block group comprises the block group of one second number;
The mark that these blocks of this flash memory are corresponding is recorded in a scoring record sheet;
In an extreme value record sheet, record one first extreme value of mark corresponding to block that each these blocks group comprises, a total extreme value of mark that all these blocks of a secondary extremal of mark that block that each these block jumpbogroup comprises is corresponding and this flash memory are corresponding;
When the mark that the target block in these blocks is corresponding has amendment, this first extreme value of this target block and this secondary extremal and this total ratio of extreme values will be corresponded to comparatively, to determine whether this first extreme value, this secondary extremal and this total extreme value to be replaced into mark after this amendment in mark after this amendment and this extreme value record sheet; And
Block is sacrificed for utilization from these block determining one of this flash memory according to this total extreme value recorded in this extreme value record sheet.
2. flash memory block choosing method as claimed in claim 1, it is characterized in that, these first extreme values are respectively the minimal value of the mark corresponding to block that these blocks group comprises, these secondary extremals are respectively the minimal value of the mark corresponding to block that these block jumpbogroups comprise, and the minimal value of the mark corresponding to all these blocks that this total extreme value is this flash memory.
3. flash memory block choosing method as claimed in claim 1, it is characterized in that, these first extreme values are respectively the maximum value of the mark corresponding to block that these blocks group comprises, these secondary extremals are respectively the maximum value of the mark corresponding to block that these block jumpbogroups comprise, and the maximum value of the mark corresponding to all these blocks that this total extreme value is this flash memory.
4. flash memory block choosing method as claimed in claim 1, is characterized in that, after this amendment, mark comprises with corresponding to this first extreme value of this target block and the comparison step of this secondary extremal and this total extreme value:
Target first extreme value corresponding to a target block group comprising this target block is read in this extreme value record sheet;
Mark and this target first extreme value after this amendment of this target block of comparison;
When mark after this amendment exceedes this target first extreme value, this target first extreme value is replaced into mark after this amendment, and in this extreme value record sheet, reads the target secondary extremal corresponding to a target block jumpbogroup comprising this target block;
Mark and this target secondary extremal after this amendment of this target block of comparison;
When mark after this amendment exceedes this target secondary extremal, this target secondary extremal is replaced into mark after this amendment, and reads this total extreme value in this extreme value record sheet;
Mark and this total extreme value after this amendment of this target block of comparison; And
When mark after this amendment exceedes this total extreme value, this total extreme value is replaced into mark after this amendment.
5. flash memory block choosing method as claimed in claim 1, it is characterized in that, this deciding step of this sacrifice block comprises:
This total extreme value is read from this extreme value record sheet;
This block corresponding to total extreme value is chosen as this sacrifice block in these blocks of this flash memory; And
This flash memory is ordered to carry out data processing to this sacrifice block.
6. flash memory block choosing method as claimed in claim 1, it is characterized in that, when the data memory device comprising this flash memory is powered, this scoring record sheet and this extreme value record sheet are stored in a random access memory of this data memory device, and when this data memory device comprising this flash memory is not powered, this scoring record sheet and this extreme value record sheet are stored in a block of this flash memory.
7. the flash memory block choosing method as described in claim the 1, is characterized in that, these marks that these blocks are corresponding are deletion number of times or valid data number of pages.
8. a data memory device, comprising:
One flash memory, comprises multiple block jumpbogroup, and wherein each block jumpbogroup comprises the block group of one first number, and each block group comprises the block of one second number;
One random access memory, store scoring record sheet and an extreme value record sheet, wherein record the mark that these blocks of this flash memory are corresponding in this scoring record sheet, and record one first extreme value of mark corresponding to block that each these blocks group comprises in this extreme value record sheet, a total extreme value of mark that all these blocks of a secondary extremal of mark that block that each these block jumpbogroup comprises is corresponding and this flash memory are corresponding; And
One controller, block is sacrificed for utilization from these block determining one of this flash memory according to this total extreme value recorded in this extreme value record sheet, and when the mark that the target block in these blocks is corresponding has amendment, this first extreme value of this target block and this secondary extremal and this total ratio of extreme values is corresponded to comparatively, to determine whether this first extreme value, this secondary extremal and this total extreme value to be replaced into mark after this amendment by mark after this amendment and this extreme value record sheet.
9. data memory device as claimed in claim 8, it is characterized in that, these first extreme values are respectively the minimal value of the mark corresponding to block that these blocks group comprises, these secondary extremals are respectively the minimal value of the mark corresponding to block that these block jumpbogroups comprise, and the minimal value of the mark corresponding to all these blocks that this total extreme value is this flash memory.
10. data memory device as claimed in claim 8, it is characterized in that, these first extreme values are respectively the maximum value of the mark corresponding to block that these blocks group comprises, these secondary extremals are respectively the maximum value of the mark corresponding to block that these block jumpbogroups comprise, and the maximum value of the mark corresponding to all these blocks that this total extreme value is this flash memory.
11. data memory devices as claimed in claim 8, it is characterized in that, mark and these the first extreme values after this controller compares this amendment, these secondary extremals, and during this total extreme value, this controller reads target first extreme value corresponding to a target block group comprising this target block in this extreme value record sheet, mark and this target first extreme value after this amendment of this target block of comparison, mark after this target first extreme value being replaced into this amendment when mark after this amendment exceedes this target first extreme value also reads the target secondary extremal corresponding to a target block jumpbogroup comprising this target block in this extreme value record sheet, mark and this target secondary extremal after this amendment of this target block of comparison, mark after this target secondary extremal being replaced into this amendment when mark after this amendment exceedes this target secondary extremal also reads this total extreme value in this extreme value record sheet, mark and this total extreme value after this amendment of this target block of comparison, and when mark after this amendment exceedes this total extreme value, this total extreme value is replaced into mark after this amendment.
12. data memory devices as claimed in claim 8, it is characterized in that, this controller reads this total extreme value from this extreme value record sheet, in these blocks of this flash memory, choose this block corresponding to total extreme value as this sacrifice block, and order this flash memory to carry out data processing to this sacrifice block.
13. data memory device as claimed in claim 8, is characterized in that, before the power supply of this data memory device is terminated, this controller by this scoring record sheet and this extreme value record sheet from this random access memory transferring storage in a block of this flash memory.
14. data memory devices as claimed in claim 8, is characterized in that, these marks that these blocks are corresponding are deletion number of times or valid data number of pages.
CN201110112932.1A 2011-04-25 2011-04-25 Flash block selecting method and data storage device Active CN102760489B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110112932.1A CN102760489B (en) 2011-04-25 2011-04-25 Flash block selecting method and data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110112932.1A CN102760489B (en) 2011-04-25 2011-04-25 Flash block selecting method and data storage device

Publications (2)

Publication Number Publication Date
CN102760489A CN102760489A (en) 2012-10-31
CN102760489B true CN102760489B (en) 2015-06-03

Family

ID=47054916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110112932.1A Active CN102760489B (en) 2011-04-25 2011-04-25 Flash block selecting method and data storage device

Country Status (1)

Country Link
CN (1) CN102760489B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI611408B (en) * 2015-11-25 2018-01-11 旺宏電子股份有限公司 Erasing method for memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397707B2 (en) * 2000-09-14 2008-07-08 Sandisk Corporation Compressed event counting technique and application to a flash memory system
CN101582052A (en) * 2008-05-15 2009-11-18 慧国(上海)软件科技有限公司 Memory module and method for performing wear-leveling of memory module
CN101989458A (en) * 2009-07-31 2011-03-23 慧帝科技(深圳)有限公司 Method and memory device for averagely using a plurality of blocks of a flash memory, and controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397707B2 (en) * 2000-09-14 2008-07-08 Sandisk Corporation Compressed event counting technique and application to a flash memory system
CN101582052A (en) * 2008-05-15 2009-11-18 慧国(上海)软件科技有限公司 Memory module and method for performing wear-leveling of memory module
CN101989458A (en) * 2009-07-31 2011-03-23 慧帝科技(深圳)有限公司 Method and memory device for averagely using a plurality of blocks of a flash memory, and controller

Also Published As

Publication number Publication date
CN102760489A (en) 2012-10-31

Similar Documents

Publication Publication Date Title
TWI423023B (en) Data selection method for flash memory and data storage device
EP2711856B1 (en) Method and device for metadata query
US8225029B2 (en) Data storage processing method, data searching method and devices thereof
US9280459B2 (en) Block grouping method for garbage collection of solid state drive
US6742078B1 (en) Management, data link structure and calculating method for flash memory
CN102622434B (en) Data storage method, data searching method and device
CN102646069A (en) Method for prolonging service life of solid-state disk
CN104598386B (en) By following the trail of and reusing solid-state drive block using two level map index
US20170364300A1 (en) Controller, flash memory apparatus, method for identifying data block stability, and method for storing data in flash memory apparatus
CN108073522A (en) Garbage collection method for data storage device
CN101826107A (en) Hash data processing method and device
CN106502587A (en) Data in magnetic disk management method and magnetic disk control unit
CN107391774A (en) The rubbish recovering method of JFS based on data de-duplication
CN109918316B (en) Method and system for reducing FTL address mapping space
CN105224532A (en) Data processing method and device
CN103970669A (en) Method for accelerating physical-to-logic address mapping of recycling operation in solid-state equipment
CN109542842B (en) Video sequence storage and query method compatible with fat32 file system and device thereof
CN104035925A (en) Data storage method and device and storage system
CN107817945A (en) A kind of method for reading data and system for mixing internal storage structure
CN104933051A (en) File storage space recovery method and device
CN109408416B (en) Address mapping table entry page management method and device
US20190278706A1 (en) Memory system and operating method thereof
CN102760489B (en) Flash block selecting method and data storage device
CN103473179B (en) Background system and method for deleting repeating data in solid state disk
CN106897315B (en) KV item validity acquisition method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant