CN1716450A - Method for managing access to flash storage data - Google Patents
Method for managing access to flash storage data Download PDFInfo
- Publication number
- CN1716450A CN1716450A CN 200410062645 CN200410062645A CN1716450A CN 1716450 A CN1716450 A CN 1716450A CN 200410062645 CN200410062645 CN 200410062645 CN 200410062645 A CN200410062645 A CN 200410062645A CN 1716450 A CN1716450 A CN 1716450A
- Authority
- CN
- China
- Prior art keywords
- piece
- bad
- data
- block
- bad piece
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000003860 storage Methods 0.000 title description 4
- 238000005192 partition Methods 0.000 claims description 27
- 230000007547 defect Effects 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 abstract description 6
- 230000002035 prolonged effect Effects 0.000 abstract description 2
- 230000009191 jumping Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000006124 Pilkington process Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013316 zoning Methods 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
The present invention discloses adaptive method for managing access of flash memory data. The flash memory is divided into several regions. The method includes the following steps: 1. checking whether to have bad block record list and if no, establishing one bad block record list; 2. determining the effective logic blocks in each of regions based on the bad block record list; and 3. performing data access on the flash memory based on the determined effective logic blocks. The said method has the advantages similar to those of the memory position floating point method and no demerit of limiting the bad block number each region within 24, and thus has prolonged service life of flash memory.
Description
Technical field
The present invention relates to memory management method, relate in particular to a kind of adaptive method that data access in the flash memory that contains bad piece is managed flash memory.
Background technology
Along with the continuous development of electronic technology, and people are to the continuous rising of the demand of data memory capacity, access speed.Flash (flash memory) medium, advantages such as memory space big, data non-volatile, no mechanical fault cheap for manufacturing cost with it are widely used as data-carrier store.Memory management method to flash memory roughly has two kinds at present: a kind of is the bad piece method of jumping, and another kind of method is the memory location method of floating.
At first introduce the bad piece method of jumping of in the prior art flash memory being carried out storage administration below." jump bad piece " as the term suggests be exactly when operating flash memory, skip bad piece of inoperation when running into bad piece and substitute it with backup block.This method is divided into following a few part to flash memory: data field, exchange area, spare area, bad piece recording areas, its physical arrangement is seen Fig. 1 (a).
Wherein, being described below each several part:
(1) bad piece recording areas
One bad piece record sheet is arranged in bad piece recording areas.This table is set up when flash memory is carried out low-level formatting shown in Fig. 1 (b), and it is safeguarding the physical block of data field and the mutual relationship between the logical block.Represent a logical block with two bytes.Like this, 512 bytes can write down 256 pieces.Represent significance bit information as shown in the figure for first of each piece, wherein 0 presentation logic piece has corresponding physical block; 1 expression does not have corresponding physical block.
(2) stand-by block district
Prepare for the bad piece of data field in the stand-by block district, and its size is relevant with the type of flash memory.For example:
For nand flash memory: the total block data in the flash memory * 2%;
For the MLC flash memory: the total block data in the flash memory * 4%.
(3) swap block district
Prepare for the data field in the access flash memory in the swap block district, and this district's size is: 1-N piece, and determine by the user, but a piece will be arranged at least.
(4) data field
Be specifically designed to store data.
In the bad block method of jumping of prior art, the access of data field is undertaken by sector (sector), and the contrast relationship of physical block and logical block is seen Fig. 2.As shown in Figure 2, in jumping bad piece method, remove bad piece, physical block and logical block equate that Fig. 3 adopts the method flow diagram of jumping bad piece method access data.
When access, at first want the position (step 301) of computational logic piece number, judge whether it is bad piece (step 302) then.If bad piece then calculates logical block number (LBN) (step 303) from bad piece record sheet, determine that according to the logical block number (LBN) that calculates the corresponding physical piece carries out data access (step 304) then; If judge it is not bad piece, then direct accessing data (step 305).
This method has two distinct disadvantage: A, data storage locations to fix, and the piece that can not avoid can the use more too much than other piece cause flash memory shortening in serviceable life.The writing speed of B, data is very slow.Certainly, for the defective that the bad piece number that can occur with respect to the follow-up memory location method of floating can't use during greater than 24, the flash media of jumping bad piece method can use always.This is its advantage.
In order to overcome the shortcoming of jumping bad piece method and to improve read or write speed, another kind of method has appearred--the memory location method of floating." memory location float method " is as the term suggests will prolong the serviceable life of flash memory by the conversion memory location to reach the number of times of writing of each piece of balance exactly.This method is managed flash memory by subregion (ZONE), and it is divided into N subregion to flash memory, and each subregion is made up of 1024 pieces, and wherein logical block is 1000 pieces.The physical arrangement and the data placement of the unsteady method in memory location see Table 1.
Table 1 physical arrangement and data placement
Partition number | Physical block number | Use |
0 | 0 | Whole information record sheet |
1-1023 | Memory block (logical block number (LBN): 0-999) | |
1 | 0-1023 | Memory block (logical block number (LBN): 1000-1999) |
: : | : : | : : |
Last subregion | 0-1023 | Memory block (logical block number (LBN): [last partition number] * 1000-[last partition number] * 1000+999) |
The physical block of the unsteady method in memory location and the corresponding relation of logical block are seen Fig. 4.As seen from the figure, the memory location of logical block is unfixed, to avoid using repeatedly too much a certain physical block in this way.This method is to realize to the table of comparisons of physics by setting up logic, and the table of comparisons is that two bytes of one 1024 size do not have the character type array, as: unsignedint gwL2Ptable[1024], wherein 0~999 has been write down logical block corresponding physical block address.For example: gwL2Ptable[0]=1023, the deposit data of presentation logic piece 0 is in physical block 1023.1000~1023 physical addresss that writing down bad piece and empty piece.The access method of the unsteady method in memory location is seen Fig. 5.
As shown in Figure 5, in the process of the unsteady method access data in the memory location of prior art, at first will be according to LBA (Logical Block Addressing), by calculating partition number and logical block side-play amount (step 501) at logical partition.
Then, by searching the logic-physical block table of comparisons in the flash memory, obtain the physical block address dwSrcBlockAddress that will operate and the physical address dwSpareBlockAddress (step 502) of empty piece.
Then, further judge it is to write data or sense data (step 503) from flash memory to flash memory.
If determine will be from flash memory reading of data, then according to determined physical block address sense data (step 504).End process subsequently.
On the other hand, when determining in flash memory, to write data, then data updated is not copied in the corresponding empty piece, simultaneously new data are write sky piece (step 505).This step is as follows:
I) judge whether this physical block is to have used piece (piece that promptly contains valid data).If not, then directly write the data that need write to this piece; Otherwise enter next step.
If ii) for using piece, at first the data that are not updated in this physical block are copied to (swap block) in the sky piece, the data that needs are write also write the relevant position of this sky piece.
Then, erase operation piece, and new logic-physical block table of comparisons (step 506) more.
Specifically, because before write operation, this logical address is a corresponding physical address (in the table of comparisons).But after the generation write operation (above-mentioned ii) step), this logical address has corresponded on the new physical block, at this moment need to upgrade the corresponding relation in the table of comparisons, this physical address is corresponded on the new physical block (swap block originally), wipe original physical block simultaneously.
This method is regarded 1024 continuous pieces as a subregion, and wherein 1000 pieces are used for data storage.But also there is shortcoming in this method, if the bad piece of a subregion surpasses 24 pieces, flash memory then can occur because the too much out of use shortcoming of bad piece.
Summary of the invention
Above-mentioned defective in view of prior art, purpose of the present invention promptly is to propose a kind of adaptive data access management method, and is in the method, the same with the unsteady method in memory location, still flash memory is regarded as by N continuous subregion and formed, each subregion is made up of several pieces again.But effectively logical block is no longer fixed, but: sum-(empty piece+M bad piece) of piece in subregion, its hollow block be for writing preparation, M bad piece when power-up initializing by checking that bad piece record sheet determines.
Data access management method of the present invention comprises the steps:
(1) checks whether bad piece record sheet is arranged, if not then set up described bad piece record sheet;
(2), determine the effective logical block in each subregion according to bad piece record sheet; With
(3) according to described effective logical block of determining, described flash memory is carried out data access.
Method of the present invention had both been inherited the advantage of the unsteady method in memory location, had overcome its bad piece at a subregion again and had surpassed 24 pieces with regard to obsolete shortcoming, and prolonged the serviceable life of flash memory.
Description of drawings
Fig. 1 (a) is the flash memory structure figure that adopts the bad piece method of jumping of prior art;
Fig. 1 (b) is the structural representation of the bad piece record sheet in jumping bad piece method;
Fig. 2 is the synoptic diagram of physical block and logical block corresponding relation in method is floated in the memory location of prior art;
Fig. 3 is the process flow diagram of the data access method in the bad piece method of the jumping of prior art;
Fig. 4 is physical block and logical block corresponding relation figure in the unsteady method in the memory location of prior art;
Fig. 5 is the access method process flow diagram of the unsteady method in memory location;
Fig. 6 is the process flow diagram according to adaptive data access method of the present invention;
Fig. 7 is bad piece record sheet physical arrangement figure;
Fig. 8 is bad piece entry description figure;
Fig. 9 is that effective logical block of subregion is established process flow diagram;
Figure 10 is the data access procedure chart according to adaptive data access method of the present invention.
Embodiment
Below in conjunction with accompanying drawing, method of the present invention is described in detail.
The present invention is the shortcoming that overcomes the unsteady method in memory location, has proposed the storage administration adaptive approach on the basis of the unsteady method in memory location.Realize that the general flow chart of this method sees accompanying drawing 6.Still flash memory regarded by N continuous subregion the same with the unsteady method in memory location formed, and each subregion is made up of several pieces.For ease of explanation, below be example as a subregion with 1024 pieces.In this case, effectively logical block no longer is 1000 pieces fixing, but 1024-(an empty piece+M bad piece), its hollow block is prepared for write operation, and M bad piece is definite by checking bad piece record sheet when power-up initializing.
In fact, method of the present invention is on the basis of the unsteady method in existing memory location, has used the feature of the bad piece record sheet of jumping bad piece method.But concrete using method is different.In " jumping bad piece method ", bad piece record sheet is to use when searching physical address in the process of write operation.But in the present invention, bad piece record sheet only uses when calculating effective logical block.
As shown in Figure 6, according to a preferred embodiment of the inventive method, its data access management method comprises:
When flash memory powers on, the flash disk control program can be searched bad piece record sheet (step 601), if just do not find flash memory is carried out low-level formatting and sets up this table (step 602), it is writing down the physical address of bad piece, writes down the information of a bad piece with four bytes.Bad piece record sheet is deposited with the good piece of first physics.
Fig. 7 has shown the physical arrangement of the piece that is used to deposit bad piece record sheet.Wherein " bulk state " described the state (each piece all has such bulk state item) of each physical block of flash memory: 0x00 represents that this piece is a bad piece; 0x55 represents that this piece is bad piece record sheet; 0xff represents that this piece is a data block.
Certainly, above-mentioned numerical value is self-defining, can change other value into, and mark just can not change because of storage medium or manufacturer.
Need explanation, in the row of first shown in Fig. 7, except bulk state, other cell has other meaning in the table, but irrelevant with realization of the present invention, therefore for simplicity's sake, is omitted.In addition, the form of other row is identical with first row.
Fig. 8 has shown bad piece entry.As mentioned above, a bad block message represents that with continuous nybble therefore the bad piece entry of 512 bytes can write down 128 bad pieces.The redundancy that also has 16 bytes in addition.
In a bad block message, chip number has write down the flash chip position at piece place, and partition number has then write down the numbering of the subregion at bad piece place.Latter two byte has write down the high address and the low order address of bad piece respectively.
Bad piece record end flag is continuous nybble, and 0xffffffff represents to finish.
The method according to this invention after having determined bad piece record sheet, is determined effective logical block (step 603) of each subregion according to this bad piece record sheet.The same with the unsteady method in the memory location of prior art, method of the present invention is still regarded flash memory by N continuous subregion as and is formed, each subregion also is to be made up of the individual continuous physical block of 1024 (these are self-defining values, also are empirical values, the value that can get other).But effectively the unsteady method in the setting of logical block and memory location is different, no longer is 1000 pieces fixing, but 1024-(an empty piece+M bad piece).Wherein: empty piece is for writing preparation, and M bad piece is definite by checking bad piece record sheet when power-up initializing.
For every physical block maximum number is 8192 flash memory (the physical block number of the flash memory that has is less than 8192), can be with the array such as the unsigned shortgwLogBlockNumbersPerZone[8 of 8 two byte-sized] write down effective logical block of each subregion; With a temporary variable array such as unsigned long ldwTempBuff[128] write down the data of bad piece entry; The bad piece entry of indicating to operate with a variable such as char iBadBlcokRecordItems; The I item of representing bad piece entry with a variable such as unsigned char iBadBlockItems.The definite of effective logical block of each subregion will describe in detail hereinafter.
Then, further determine whether and will carry out data access operation (step 604), then carry out data access (step 605) in this way flash memory, as otherwise wait for next step operational order to flash memory.The detailed process of data access will specify hereinafter.
Below in conjunction with the method for Fig. 9 explanation according to effective logical block of definite each subregion of the present invention.
At first to the array variable gwLogBlockNumbersPerZone[8 of 8 two byte-sized of effective logical block of writing down each subregion] initialization, wherein each is initialized as 1023, and the variable i BadBlcokRecordItems of the bad piece entry that will indicate to operate is initialized as 0 (step 901).
Then, the data of the bad piece item of the iBadBlcokRecordItems that will operate are when reading 1dwTempBuff[128] in the temporary buffer.These data have comprised the situation of per 512 bytes in the bad piece record sheet.Owing to be programming (writing) unit (Sector) that is a minimum with 512 bytes in flash memory, therefore at record be that unit carries out also when reading bad block message with 512 bytes.These data are exactly per 512 bytes in the bad block table.Variate-value in the impact damper is 1dwTempBuff[iBadBlockItems at this moment], and will represent that the variable i BadBlockItems of the I item of bad piece entry is initialized as 0 (step 902).
Then, in step 903, judgment variable value 1dwTempBuff[iBadBlockItems] whether be end mark.
If judge 1dwTempBuff[iBadBlockItems] be end mark, end process then.Otherwise obtain partition number by this value, and the logical block of this respective partition is subtracted one.Promptly carry out gwLogBlockNumbersPerZone[ZoneNo]--and iBadBlockItems++ (step 904).
Next further judge whether to have traveled through bad piece entry, judge promptly in this example whether the variable i BadBlockItems of the I item of the bad piece entry of expression reaches maximal value 128 (step 905).If not, then return step 903 and handle; If not, then proceed to step 906, the value of the variable i BadBlcokRecordItems of the bad piece entry of indicating to operate is added 1 (being iBadBlcokRecordItems++), be back to step 902 then and handle.Up to judging 1dwTempBuff[iBadBlockItems] be end mark till.
By above-mentioned steps, just determined effective logical block of each subregion.
Figure 10 is the process flow diagram that data access according to one embodiment of the present invention is described.As shown in figure 10, in the flash memory that adopts data access management method of the present invention, when determining to carry out data access (step 604 of Fig. 6 and 605), then at first according to the address of the logical block that will operate, by calculating partition number and the logical block side-play amount (step 1001) in logical partition.
Then, by searching the logic-physical block table of comparisons in the flash memory, obtain the physical block address dwSrcBlockAddress that will operate and the physical address dwSpareBlockAddress (step 1002) of empty piece.
Specifically, in step 1002, the current partition number that will operate and physical block address are that the concrete decision step comprises by effective LBA (Logical Block Addressing) decision of LBA (Logical Block Addressing) and each subregion:
(1) partition number (ZoneNo) is set to 0, establishes the block address of LBAddr for operating;
(2) if LBAddr less than the gwLogBlockNumbersPerZone[partition number], then partition number ZoneNo that will operate and LBAOfZone (be illustrated in a zoning unit in logical address) find (LBAOfZone=LBAddr).Otherwise LBAOfZone=LBAddr-gwLogBlockNumbersPerZone[partition number], partition number is added one (being ZoneNo++), continue to judge, up to finding LBAOfZone.
(3) according to the value of the LBAOfZone position of logic-physical block table of comparisons, i.e. gwL2Ptable[LBAOfZone], obtain the pairing physical block address of logical block that will operate;
(4) according to the gwL2Ptable[gwLogBlockNumbersPerZone[partition number]] obtain corresponding empty piece.
Then, further judge it is to write data or sense data (step 1003) from flash memory to flash memory.
If determine will be from flash memory reading of data, then according to determined physical block address sense data (step 1004).End process subsequently.
On the other hand, when determining in flash memory, to write data, then data updated is not copied in the corresponding empty piece, simultaneously new data are write sky piece (step 1005).This step and shown in Figure 5
Prior art is identical.
Then, erase operation piece, and new logic-physical block table of comparisons (step 1006) more.With the update mode of prior art shown in Figure 5 is identical.
The data access process of the unsteady method in the data access process of said method of the present invention and memory location is much the same, all by setting up logic-physical block table of comparisons unsigned intgwL2Ptable[1024] finish.Difference is: the empty piece of the inventive method all is the gwLogBlockNumbersPerZone[partition number that leaves the table of comparisons in] locate, rather than in the 1000th position of the table of comparisons.
More than be not to be qualification to the explanation of the specific embodiment of the invention to invention.Obviously in spirit of the present invention defined by the claims and essential scope, can make various modifications and variations to above-mentioned embodiment of the present invention.Therefore, the protection domain of claim of the present invention will comprise the modifications and variations that these are equal to.
Claims (10)
1. method that the access of flash data is managed, described flash memory is divided into a plurality of continuous subregions, said method comprising the steps of:
(1) checks whether bad piece record sheet is arranged, if not then set up described bad piece record sheet;
(2), determine the effective logical block in the subregion according to bad piece record sheet; With
(3) according to described effective logical block of determining, described flash memory is carried out data access.
2. method according to claim 1 is characterized in that, described step (2) comprising:
(2-1) variable to the array variable of effective logical block of writing down each subregion and the bad piece entry of indicating to operate carries out initialization;
The data of the bad piece item that (2-2) will operate are read in the temporary buffer, and will represent the initialization of variable of the bad piece entry of i item;
(2-3) obtain partition number, and the logical block quantity of this subregion is subtracted one by the variate-value in the described temporary buffer;
(2-4) repeating step (2-2) and processing (2-3) are up to traveling through all bad piece entries.
3. method according to claim 2 is characterized in that, described step (2-3) further comprises:
(2-3-1) judge whether the variate-value in the described temporary buffer is end mark;
If (2-3-2) judge that the variate-value in the described temporary buffer is not an end mark, then the logical block quantity of subregion that will be corresponding with this variate-value subtracts 1, and bad number of blocks value is added 1.
4. method according to claim 3 is characterized in that, it is characterized in that the piece sum in effective logical block number=one subregion in a described subregion-(empty number of blocks+bad number of blocks)
Wherein said empty piece is used for write operation, and bad number of blocks is determined according to bad piece record sheet.
5. method according to claim 4, described empty number of blocks is 1.
6. method according to claim 1 is characterized in that, described bad piece record sheet comprises: bad piece entry, and bulk state item and bad piece record end flag,
Wherein said bad piece entry comprises: bad block message item comprises:
Chip number is used for the position of the flash chip at record block place,
Partition number is used to write down the numbering of the subregion at bad piece place, and
Defect block addresses;
Described bulk state item is represented the state of piece, and described bulk state comprises:
Bad piece,
Bad piece record sheet, and
Data block.
7. according to each described method of aforementioned claim, it is characterized in that described step (3) comprising:
(3-1), determine partition number and the logical block side-play amount in logical partition according to the address of the logical block that will operate;
(3-2) by searching the logic-physical block table of comparisons in the flash memory, obtain the physical block address that to operate and the physical address of empty piece;
(3-3) according to determined physical block address sense data, or, write data to flash memory according to the physical address of resulting physical block address and empty piece.
8. according to stating the described method of claim 7, it is characterized in that described step (3-2) comprising:
(3-2-1) partition number is set to 0, establishes the block address of LBAddr for operating;
If (3-2-2) LBAddr is less than the gwLogBlockNumbersPerZone[partition number], then determine LBAOfZone=LBAddr, otherwise the LBAOfZone=LBAddr-gwLogBlockNumbersPerZone[partition number], partition number is added one, continue to judge, up to finding LBAOfZone;
(3-2-3), obtain the pairing physical block address of logical block that to operate according to the value of the LBAOfZone position of logic-physical block table of comparisons;
(3-2-4) according to the gwL2Ptable[gwLogBlockNumbersPerZone[partition number]] value obtain corresponding empty piece.
9. method according to claim 8 is characterized in that, the described step that writes data in flash memory comprises: data updated is not copied in the corresponding empty piece, simultaneously new data are write the sky piece.
10. method according to claim 9 is characterized in that, further comprises: after finishing data and writing, wipe the used empty piece of write operation, and upgrade described logic-physical block table of comparisons.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100626454A CN100511478C (en) | 2004-06-30 | 2004-06-30 | Method for managing access to flash storage data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100626454A CN100511478C (en) | 2004-06-30 | 2004-06-30 | Method for managing access to flash storage data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1716450A true CN1716450A (en) | 2006-01-04 |
CN100511478C CN100511478C (en) | 2009-07-08 |
Family
ID=35822179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100626454A Expired - Lifetime CN100511478C (en) | 2004-06-30 | 2004-06-30 | Method for managing access to flash storage data |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100511478C (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440172C (en) * | 2006-03-29 | 2008-12-03 | 群联电子股份有限公司 | Flash disk and its using method |
CN101419837A (en) * | 2007-10-22 | 2009-04-29 | 慧荣科技股份有限公司 | Storage device and method for status information access of the storage device |
CN101622676A (en) * | 2007-10-26 | 2010-01-06 | 株式会社东芝 | Memory system |
CN101246741B (en) * | 2007-02-16 | 2010-10-06 | 深圳市芯邦微电子有限公司 | System, device, method and packaging structure using flaw memory |
CN101470663B (en) * | 2007-12-29 | 2011-01-12 | 安凯(广州)微电子技术有限公司 | Method for processing address discontinuity in MTD design of NAND flash memory |
CN102073541A (en) * | 2010-12-28 | 2011-05-25 | 中兴通讯股份有限公司 | Data access method and mobile terminal |
CN101479708B (en) * | 2006-06-28 | 2011-10-05 | 精工爱普生株式会社 | Semiconductor storage device management system, semiconductor storage device, host unit, program and semiconductor storage device management method |
CN101499316B (en) * | 2008-01-30 | 2011-10-19 | 群联电子股份有限公司 | Flash memory block management method and controller employing the same |
CN101425334B (en) * | 2007-10-30 | 2012-02-15 | 北京同方微电子有限公司 | Method for implementing NOR FLASH bad block management and control circuit thereof |
CN102375943A (en) * | 2010-08-16 | 2012-03-14 | 群联电子股份有限公司 | Identification code generation method, memory management method, controller and storage system |
CN101847126B (en) * | 2009-10-27 | 2012-08-22 | 深圳市朗科科技股份有限公司 | Storage equipment partitioning device and method |
CN102662852A (en) * | 2012-03-20 | 2012-09-12 | 山东省科学院自动化研究所 | Method for storing nonvolatile data by using MCU internal data Flash |
US8335885B2 (en) | 2007-10-17 | 2012-12-18 | Silicon Motion, Inc. | Storage device and method of accessing a status thereof |
CN102999436A (en) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | Method and device for generating dynamic partition information in Nand flash memory |
CN103778065A (en) * | 2012-10-25 | 2014-05-07 | 北京兆易创新科技股份有限公司 | Flash memory and bad block managing method thereof |
US8996933B2 (en) | 2010-08-06 | 2015-03-31 | Phison Eletronics Corp. | Memory management method, controller, and storage system |
CN106653090A (en) * | 2016-12-30 | 2017-05-10 | 湖南国科微电子股份有限公司 | Error management method of flash memory for greatly enhancing service time of solid state disk |
CN103744694B (en) * | 2013-12-24 | 2017-08-11 | 武汉烽火众智数字技术有限责任公司 | Dynamic partition searcher and its method based on Nand flash memories |
CN109582239A (en) * | 2018-12-03 | 2019-04-05 | 郑州云海信息技术有限公司 | A kind of store method, device, equipment and the storage medium of SSD bad block table |
-
2004
- 2004-06-30 CN CNB2004100626454A patent/CN100511478C/en not_active Expired - Lifetime
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440172C (en) * | 2006-03-29 | 2008-12-03 | 群联电子股份有限公司 | Flash disk and its using method |
CN101479708B (en) * | 2006-06-28 | 2011-10-05 | 精工爱普生株式会社 | Semiconductor storage device management system, semiconductor storage device, host unit, program and semiconductor storage device management method |
CN101246741B (en) * | 2007-02-16 | 2010-10-06 | 深圳市芯邦微电子有限公司 | System, device, method and packaging structure using flaw memory |
US8335885B2 (en) | 2007-10-17 | 2012-12-18 | Silicon Motion, Inc. | Storage device and method of accessing a status thereof |
CN101419837B (en) * | 2007-10-22 | 2012-01-04 | 慧荣科技股份有限公司 | Storage device and method for status information access of the storage device |
CN101419837A (en) * | 2007-10-22 | 2009-04-29 | 慧荣科技股份有限公司 | Storage device and method for status information access of the storage device |
CN101622676A (en) * | 2007-10-26 | 2010-01-06 | 株式会社东芝 | Memory system |
CN101425334B (en) * | 2007-10-30 | 2012-02-15 | 北京同方微电子有限公司 | Method for implementing NOR FLASH bad block management and control circuit thereof |
CN101470663B (en) * | 2007-12-29 | 2011-01-12 | 安凯(广州)微电子技术有限公司 | Method for processing address discontinuity in MTD design of NAND flash memory |
CN101499316B (en) * | 2008-01-30 | 2011-10-19 | 群联电子股份有限公司 | Flash memory block management method and controller employing the same |
CN101847126B (en) * | 2009-10-27 | 2012-08-22 | 深圳市朗科科技股份有限公司 | Storage equipment partitioning device and method |
US8996933B2 (en) | 2010-08-06 | 2015-03-31 | Phison Eletronics Corp. | Memory management method, controller, and storage system |
CN102375943A (en) * | 2010-08-16 | 2012-03-14 | 群联电子股份有限公司 | Identification code generation method, memory management method, controller and storage system |
CN102073541A (en) * | 2010-12-28 | 2011-05-25 | 中兴通讯股份有限公司 | Data access method and mobile terminal |
CN102662852A (en) * | 2012-03-20 | 2012-09-12 | 山东省科学院自动化研究所 | Method for storing nonvolatile data by using MCU internal data Flash |
CN102662852B (en) * | 2012-03-20 | 2015-05-27 | 山东省科学院自动化研究所 | Method for storing nonvolatile data by using MCU internal data Flash |
CN103778065A (en) * | 2012-10-25 | 2014-05-07 | 北京兆易创新科技股份有限公司 | Flash memory and bad block managing method thereof |
CN103778065B (en) * | 2012-10-25 | 2016-12-21 | 北京兆易创新科技股份有限公司 | A kind of flash memory and the method carrying out bad block management thereof |
WO2014082583A1 (en) * | 2012-11-28 | 2014-06-05 | 华为终端有限公司 | Method and device for generating dynamic partition information in nand flash memory |
CN102999436A (en) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | Method and device for generating dynamic partition information in Nand flash memory |
CN102999436B (en) * | 2012-11-28 | 2015-09-09 | 华为终端有限公司 | The method and apparatus of dynamic partition information is generated in Nand flash memory |
CN103744694B (en) * | 2013-12-24 | 2017-08-11 | 武汉烽火众智数字技术有限责任公司 | Dynamic partition searcher and its method based on Nand flash memories |
CN106653090A (en) * | 2016-12-30 | 2017-05-10 | 湖南国科微电子股份有限公司 | Error management method of flash memory for greatly enhancing service time of solid state disk |
CN109582239A (en) * | 2018-12-03 | 2019-04-05 | 郑州云海信息技术有限公司 | A kind of store method, device, equipment and the storage medium of SSD bad block table |
CN109582239B (en) * | 2018-12-03 | 2022-02-18 | 郑州云海信息技术有限公司 | SSD bad block table storage method, device, equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN100511478C (en) | 2009-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1716450A (en) | Method for managing access to flash storage data | |
US8537613B2 (en) | Multi-layer memory system | |
US8407397B2 (en) | Block management method for flash memory and controller and storage system using the same | |
KR101453264B1 (en) | Method and system for storage address re-mapping for a memory device | |
CN100492322C (en) | Spoilage balance in non-volatile storage systems | |
CN1290021C (en) | Partial block data programming and reading operations in non-volatile memory | |
KR100886520B1 (en) | Method and apparatus for grouping pages within a block | |
US7890550B2 (en) | Flash memory system and garbage collection method thereof | |
CN1701390A (en) | Tracking the most frequently erased blocks in non-volatile memory systems | |
CN1698036A (en) | Tracking the least frequently erased blocks in non-volatile memory systems | |
CN101425041B (en) | Optimizing method for establishing FAT file systems on NAND FLASH memory | |
US8214578B2 (en) | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same | |
CN1701308A (en) | Maintaining erase counts in non-volatile storage systems | |
CN1705936A (en) | Method and apparatus for splitting a logical block | |
CN1902599A (en) | Management of non-volatile memory systems having large erase blocks | |
CN101169760B (en) | Electronic hard disk storage room management method | |
CN101030167A (en) | Flash-memory zone block management | |
CN1701307A (en) | Method and apparatus for managing an erase count block | |
CN101169751A (en) | System with flash memory device and data recovery method thereof | |
CN101634967B (en) | Block management method for flash memory, storage system and controller | |
CN1930635A (en) | Adaptive deterministic grouping of blocks into multi-block units | |
CN103688246A (en) | A non-volatile memory and a method with small logical groups distributed among active SLC and MLC memory partitions | |
JP2011519095A (en) | Method and system for storage address remapping for multi-bank storage devices | |
CN101556555B (en) | Block managing method for flash memory as well as controller and storage system thereof | |
TWI395100B (en) | Method for processing data of flash memory by separating levels and flash memory device thereof |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20090708 |
|
CX01 | Expiry of patent term |