CN1315057C - Method of remapping flash memory - Google Patents

Method of remapping flash memory Download PDF

Info

Publication number
CN1315057C
CN1315057C CNB2005100052562A CN200510005256A CN1315057C CN 1315057 C CN1315057 C CN 1315057C CN B2005100052562 A CNB2005100052562 A CN B2005100052562A CN 200510005256 A CN200510005256 A CN 200510005256A CN 1315057 C CN1315057 C CN 1315057C
Authority
CN
China
Prior art keywords
physical location
logical block
expenditure
mapped
sector
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
CNB2005100052562A
Other languages
Chinese (zh)
Other versions
CN1652089A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1652089A publication Critical patent/CN1652089A/en
Application granted granted Critical
Publication of CN1315057C publication Critical patent/CN1315057C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

A method of re-mapping a flash memory, which minimizes the number of times the flash memory, is accessed and helps to evenly use the entire area of the flash memory, is provided. The method includes arranging a plurality of physical units (101) yet to be mapped according to their erase count values (ECNT), and sequentially mapping the physical units (101) to a logic unit (100) in such a manner that a physical unit (101) having a smaller erase count value is mapped to the logic unit (100) ahead of a (101) having a larger erase count value.

Description

The method of remapping flash memory
Technical field
The present invention relates to a kind of method of remapping flash memory, more particularly, relate to a kind of method that minimizes the accessed number of times of flash memory and can make the mapping flash memory that the whole zone of flash memory can on average be used.
Background technology
Usually, household electrical appliance, communicator and use such as being used to store and the nonvolatile memory of the memory storage of deal with data such as the embedded system of set top box.
Flash memory is a type of nonvolatile memory, and wherein data can be wiped and override by electricity.So flash memory is suitable for mancarried device because of their consumption rates based on the few energy of the storage medium of magnetic disk memory, but as the hard disk access, and have the size of compression.
Because the ardware feature of flash memory is different from traditional random-access memory (ram), non-volatile memory medium or magnetic storage medium, the data that are recorded on the flash memory are that unit is wiped free of with the piece.
In other words, in flash memory, data are recorded in as on the sector of the logical operations unit of main frame (sector), and wipe the data that are recorded on this sector by whole pieces that deletion comprises this sector.
The performance of flash memory because being recorded in unit on the flash memory with it, data is different from from flash memory unit, so may worsen with its obliterated data.
The former thus thereby deterioration for the performance that prevents flash memory, logical address and physical address are proposed.
In other words, in order to carry out the data read or write, predetermined logical address is changed physical address into flash memory by multiple algorithm.In the case, consider the physical condition of flash memory, can be by carrying out the performance that mapping comes the optimization flash memory.
The flash translation layer is the software of help as the use of the flash memory of block assembly, and supports to be used for effectively managing the method that remaps of flash memory usually.
At this, the method that remaps allows mapping about the logical block number (LBN) (LBN) of giving given data and the management of information of the relation between the physical block number (PBN).By so doing, even relevant PBN changes, the data that are recorded in the flash memory are also always accessible by identical logical block number (LBN).
In other words, with reference to Figure 1A and 1B, when being used for being issued by the request of using predetermined logic piece number (LBN) to read or write data, predetermined LBN is mapped as logical unit number (LUN) and is mapped as physical location number (PUN) with reference to LUN to the PUN mapping table to the LUN mapping table with reference to LBN.
Below with the brief explanation physical location.With reference to Fig. 2 A and 2B, physical location 10 and 20 comprises erase unit head (EUH) 11 and 21, piece allocation map table (BAM) 12 and 22 and the piece group 13 and 23 of storage data respectively.
EUH11 and 21 storages are about the various metadata of each physical location.BAM12 and 22 can be registered as at least one piece under each EUH.
In addition, BAM12 and 22 also can be registered as such as the piece in the space of the redundancy array of NAND flash memory.
BAM12 and 22 information that can store about the piece of each physical location are as the LBN and the status information of the piece of each physical location.
Therefore, when being used for the request that data are write the predetermined logic piece is issued, corresponding PUN is obtained with the predetermined logic piece, and data are written among recordable of BAM of PUN then.Thereafter, the address of predetermined logic piece is recorded among the BAM of PUN.
For example, shown in Fig. 3 A and 3B, when being used for that the request that data are write logical block 3 is issued twice, in response to second request, data are written among into the BAM of the PUN of empty piece the 4th, and the sequence number of logical block 3 is recorded among the 4th of BAM.
Can with mode mode much at one reading of data from the predetermined logic piece of data being write in the predetermined logic piece.
Circle counting (lap count) is used the block state information that is used to restore data under wrong situation with indication.
In other words, predetermined block can exist with free state (1111), effective status or deletion state (0000).Effective status is divided into s0 (1110), s1 (1100) and s2 (1000), and it satisfies following recurrence relation:
S0<s1, s1<s2, and s2<s0
Wherein<expression two states interim order.
Therefore, if in current data, make a mistake, then can recover current data by data before using or subsequently.
For example, suppose to make a mistake in the 5th data or the 5th data data afterwards, two valid data are then arranged, its circle counting is respectively 1110 and 1100 as shown in Figure 4.
At this, because circle count value 1110 is before circle count value 1100, so if adopt data reconstruction method based on subsequent data, then the data of right-hand side are deleted.
In flash memory, logical block is mapped as physical location one by one.The sector of predetermined logic unit by the situation of frequent updating under or do not have in the predetermined logic unit under the situation of sky sector, empty reason unit is assigned to the predetermined logic unit, and effective sector of predetermined logic unit is copied to empty reason unit.
Because the physical location of flash memory can only be wiped free of limited number of times, so the physical location of flash memory will on average be used the permanance that is increased flash memory.
Yet,, clearly restriction is being arranged aspect the permanance that increases flash memory because usually empty reason unit is used in arbitrary mode of each the erasability of not considering them.
In addition, empty reason unit needs other operation so that data are write in the flash memory to the distribution of logical block, has therefore reduced the efficient of data being write flash memory.
Summary of the invention
The invention provides a kind of method of remapping flash memory, it helps the average permanance of using the whole zone of flash memory and therefore increasing flash memory.
Therefore the present invention also provides a kind of method of remapping flash memory, and it minimizes flash memory by the number of times of access and quick response to user's request is provided.
According to an aspect of the present invention, a kind of method of remapping flash memory is provided, comprise: the erase count value according to them is arranged not mapped as yet a plurality of physical locations, and the mode that always was mapped to logical block with this physical location with minimum erase count value before all the other physical locations sequentially is mapped to logical block with physical location.
Physical location can have the depth value that indication is mapped to physical location the order of logical block.
Physical location with maximum depth value can be determined the up-to-date logical block that is mapped to.
The method of remapping flash memory also can comprise: if there is not mapped as yet physical location, then come to produce empty reason unit by carrying out squeeze operation in logical block.
Physical location with maximum depth value can be excluded outside squeeze operation.
The generation of logical block hollow physical location can comprise: select one of a plurality of physical locations in the logical block with lowest compression expense, the drawing in one's expenditure of selecting of physical location is defined as drawing in one's expenditure of logical block, and at least one effective sector of the physical location selected is copied to the white space of logical block, and the physical location of selecting is got rid of outside the tabulation of the physical location that is mapped to logical block.
Drawing in one's expenditure of physical location can and be duplicated the required time of at least one effective sector that the expense of effective sector of physical location is confirmed as duplicating physical location based on effective number of sectors of physical location.
If being stored in the position of the logic sector in the physical location is fixed, then can obtain drawing in one's expenditure of physical location by using following equation: C=Sv*Cc+Se*We, wherein, C is drawing in one's expenditure of physical location, Sv is effective number of sectors of physical location, Cc is the expense of duplicating effective sector of physical location, and Se is the quantity of the empty sector of corresponding logical block, and We is each weighting of sky sector.
If being stored in the position of the logic sector of physical location is not fixed, then can obtain drawing in one's expenditure of physical location by using following equation: C=Sv*Cc, wherein, C is drawing in one's expenditure of physical location, Sv is effective number of sectors of physical location, and Cc is the expense of duplicating effective sector of physical location.
If effective sector of physical location can not be copied to the white space of respective logic unit, then can be added to drawing in one's expenditure of respective logic unit as empty being managed the unit assignment overhead that the unit is assigned to the expense of respective logic unit.
Can with the required time of metadata of writing physical location the unit assignment overhead be set based on wiping the required time of physical location.
Can obtain drawing in one's expenditure of physical location by using following equation C=Sv*Cc, wherein, C is drawing in one's expenditure of physical location, and Sv is effective number of sectors of physical location, and Cc is the expense of duplicating effective sector of physical location.
The drawing in one's expenditure of physical location that can have the second lowest compression expense is added to drawing in one's expenditure of respective logic unit.
The generation of the empty reason unit in the logical block also comprises: if be not used in the empty storage space of effective sector of duplicating the logical block with lowest compression expense, then search for physical location with second lowest compression expense, to be scheduled to empty reason unit maps to logical block, and at least one effective sector of the physical location selected copied to the white space of logical block, and the physical location of selecting is got rid of outside the tabulation of the physical location that is mapped to logical block.
The method of remapping flash memory also comprises: the maximal value and the minimum value of erase count value of determining to be mapped to the physical location of predetermined logic unit, if and the difference of the maximal value of the erase count value of physical location and minimum value is then carried out squeeze operation greater than predetermined value.
The execution of squeeze operation can comprise carries out squeeze operation to the physical location with minimum erase count value.
Description of drawings
By below in conjunction with the detailed description of accompanying drawing to exemplary embodiment, above-mentioned and other aspects of the present invention will become apparent, wherein:
Figure 1A and 1B illustrate the diagrammatic sketch of LBN to LUN mapping table and PBN to the PUN mapping table;
Fig. 2 A and 2B are the diagrammatic sketch that the structure of typical physical unit is shown;
Fig. 3 A and 3B illustrate the diagrammatic sketch of data being write the typical method of physical location;
Fig. 4 is the diagrammatic sketch that typical case's circle counting is shown;
Fig. 5 is the diagrammatic sketch that the structure of typical bulk flash memory is shown;
Fig. 6 illustrates the diagrammatic sketch in the metadata store zone of logical block according to an exemplary embodiment of the present;
Fig. 7 illustrates the diagrammatic sketch of the data storage areas of logical block according to an exemplary embodiment of the present;
Fig. 8 is the diagrammatic sketch that logical block is shown and is mapped to the physical location of logical block;
Fig. 9 is the diagrammatic sketch that the physical location that is not mapped to logical block as yet and arranges according to their erase count value is shown;
Figure 10 is a process flow diagram of according to an exemplary embodiment of the present invention data being write the method for logic sector;
Figure 11 is the process flow diagram of compression method according to an exemplary embodiment of the present invention;
Figure 12 is the diagrammatic sketch that the situation that the position that is stored in the logic sector in the physical location is fixed is shown;
Figure 13 is the diagrammatic sketch that the loose situation in position of the logic sector that is stored in the physical location is shown;
Figure 14 to 16 is illustrated under the situation that the position that is stored in the logic sector in the physical location is fixed the diagrammatic sketch of compression method according to an exemplary embodiment of the present invention;
Figure 17 to 19 is illustrated under the loose situation in the position that is stored in the logic sector in the physical location diagrammatic sketch of compression method according to an exemplary embodiment of the present invention;
Figure 20 is the process flow diagram of powerful compression method according to an exemplary embodiment of the present invention; And
Figure 21 to 24 is the diagrammatic sketch that are illustrated in the squeeze operation in the powerful according to an exemplary embodiment of the present invention compression method.
Embodiment
Can more easily understand the present invention and finish method of the present invention with reference to the following detailed description of exemplary embodiment and accompanying drawing.Yet the present invention can be implemented with different forms, and will can not be constituted as and be limited to exemplary embodiment set forth herein.On the contrary, openly will be fully notion of the present invention will be passed to those skilled in the art with complete and general completely thereby these embodiment are provided this, and the present invention will only be limited by claims.Label identical in the instructions refers to components identical all the time.
Now with reference to the accompanying drawing that exemplary embodiment of the present is shown the present invention is described more fully.
Flash memory is classified as fritter flash memory and bulk flash memory usually.
And the fritter flash memory has the logical operations unit and the physical operations unit of identical size, and the bulk flash memory has the physical operations unit than the big or small big size of logical operations unit.
At this, be commonly referred to as the sector as the logical operations unit of the data manipulation unit that uses by the user, and be commonly referred to as page or leaf as the physical operations unit of the data manipulation unit that in flash memory, uses.
The big I of logic and physical operations unit changes according to the type of the equipment that adopts flash memory.
Fig. 5 is the diagrammatic sketch that the structure of bulk flash memory is shown.With reference to Fig. 5, the bulk flash memory comprises a plurality of 101.Each of piece 101 is made up of a plurality of pages or leaves 102.Logical block 100 is by at least one piece 101, and promptly at least one physical location is formed.Each that is included within least one will be known as physical location below the piece.
Logical block 100 is classified as the logical block of mapping or the logical block of non-mapping.In the logical block of mapping when having effective sector, the logical block of non-mapping does not have effective sector and therefore can be mapped afterwards.
Logical block 100 comprises that the logical unit number (LUN) of respective logic unit is stored in metadata store zone 110 and data storage data storage areas 120 therein wherein.
Fig. 6 is the diagrammatic sketch that the metadata store zone 110 among Fig. 5 is shown.With reference to Fig. 6, metadata store zone 110 comprises that regulation is mapped to the erase count information (ECNT) 113 of the erase count value of the depth information 112 of order of physical location of logical block and the physical location that expression is mapped to logical block.
The up-to-date physical location that is mapped to logical block has maximum depth value and is confirmed as up-to-date data.
Fig. 7 is the diagrammatic sketch that the data storage areas 120 of Fig. 5 is shown.With reference to Fig. 7, data storage areas 120 comprises that the physical sector 121 and the logic sector number (LSN) of physical sector 121 that data are stored in wherein are stored in wherein metadata 122.
Fig. 8 is the diagrammatic sketch that logical block is shown and is mapped to the physical location of logical block.
With reference to Fig. 8, according to the physical location of its depth value arrangement mappings to identical logical block.Physical location with big depth value is considered to than the physical location data updated with less depth value.
The physical location of flash memory can have different permanance, promptly different erase count value.In order to increase the permanance of flash memory, the physical location with less erase count value will be used before the physical location with big erase count value.
In the method for the remapping flash memory according to an exemplary embodiment of the present invention that helps the average whole a plurality of physical locations that use flash memory, in the mode of following physical location than the physical location of big erase count value that has as shown in Figure 9, arrange not mapped as yet physical location according to their erase count value with less erase count value.
Not mapped as yet physical location does not have effective sector and therefore can be mapped afterwards.
In the physical location mapped mode before the physical location with big erase count value with less erase count value, not mapped as yet physical location will be mapped to logical block.
Figure 10 is a process flow diagram of according to an exemplary embodiment of the present invention data being write the method for logic sector.With reference to Figure 10, at operation steps S110, the LUN that tentation data will be stored in wherein is searched.
In operation steps S120, determine whether have the sky storage space by the logical block of searched LUN appointment.
In operation steps S130, if logical block has the sky storage space, then tentation data is stored in the logical block.
In operation steps S140,, then determine whether to be mapped in addition the physical location of logical block if logical block does not have the sky storage space.
In operation steps S150, if the physical location that can be mapped to logical block is in addition arranged, one of physical location that then has minimum erase count value is selected.In operation steps S160, the physical location of selection is mapped to logical block in addition.
Thereafter, Yu Ding data are written to the physical location that is mapped to logical block in addition.
If in operation steps S140, there is not to be mapped in addition the physical location of logical block, then in operation steps S170, by producing not mapped as yet physical location to being carried out squeeze operation by the current physical location that is mapped to other logical block, and one of the physical location with minimum erase count value that produces is selected and be mapped to logical block thereafter.
At this, squeeze operation is current with N by the physical location replay is mapped to: the logical block of 1 mapping ratio mapping is to have mapping ratio N-1: 1 (wherein N>2) produce the processing of at least one empty reason unit.
In other words, in this squeeze operation, one of a plurality of physical locations that are mapped to logical block are selected, and effective sector of the physical location of selecting is copied to the sector of other physical location, therefore produce at least one empty reason unit.
Write on reference to Figure 11 and more fully describe squeeze operation.With reference to Figure 11, in operation steps S171, the logical block with lowest compression expense is mapped to its each a plurality of logical blocks selected from least one physical location.
In order to obtain each draw in one's expenditure of logical block, the drawing in one's expenditure of physical location that is mapped to the respective logic unit will be calculated.Consider the quantity of effective sector of respective physical unit, be mapped to the required time of effective sector that the respective physical unit is duplicated in each the obtained conduct that draws in one's expenditure of the physical location of logical block.
In other words, the drawing in one's expenditure of physical location that is mapped to the respective logic unit is used for the empty reason required time of unit of respective logic unit corresponding to generation, and by using flash memory to be come obtained by the number of times of access.
The access of flash memory comprises wipes physical location, writes the sector, duplicates the sector, and writes the sector.
For example, suppose that the expense of wiping physical location is 10, the expense of then writing the sector is 3, and the expense of duplicating the sector is 4, and the expense of reading the sector is 1.Therefore, if physical location is wiped free of and in squeeze operation altogether 12 sectors be replicated and be used for the predetermined logic unit, then drawing in one's expenditure of predetermined logic unit is 58.
Thereafter, the minimum value in the drawing in one's expenditure of the physical location that is mapped to the respective logic unit is confirmed as drawing in one's expenditure of respective logic unit.
Among the physical location that is mapped to the respective logic unit, distribute to the respective logic unit because always needed that by duplicating of effective sector of the up-to-date physical location that is mapped to the respective logic unit empty is managed the unit, so be excluded outside squeeze operation by the up-to-date physical location that is mapped to the respective logic unit.
Therefore, although it is the minimum value that draws in one's expenditure that is mapped to the physical location of respective logic unit, also will be confirmed as the compression of respective logic unit by up-to-date the drawing in one's expenditure of physical location that is mapped to the respective logic unit.
Effective sector of the physical location that draws in one's expenditure that is confirmed as the respective logic unit can not be copied to the white space of respective logic unit if it draws in one's expenditure, then empty reason unit will be assigned to the respective logic unit, and therefore empty be managed the unit and distributed to the expense of respective logic unit and be added to drawing in one's expenditure of respective logic unit.
One of the physical location of respective logic unit that is mapped to the second lowest compression expense is selected, and it draws in one's expenditure and is added to drawing in one's expenditure of respective logic unit.
In this way, in operation steps S171, at least one physical location be mapped to its each logical block each draw in one's expenditure obtainedly, and it is searched to have of logical block of lowest compression expense.
In operation steps S172, be mapped to the logical block of search and have a physical location A of lowest compression expense searched.
In operation steps S173, determine whether the duplicating of effective sector of physical location A needs empty reason unit.
In operation steps S174, if do not need empty reason unit to duplicate effective sector of physical location A, then effective sector of physical location A is copied to the white space of the logical block of search.
In operation steps S175, finish if effective sector of physical location A is copied to the white space of the logical block of search, then physical location A is excluded outside the tabulation of the physical location of the logical block that is mapped to search.
In operation steps S176,, then be mapped to the logical block of search and have a physical location B of the second lowest compression expense searched if duplicating of effective sector of physical location A needs empty reason unit.
In operation steps S177, empty reason unit is assigned to the logical block of search.
In operation steps S178, empty reason unit is mapped to the logical block of search.
In operation steps S179, physical location B is copied to empty reason unit.
In operation steps S180, physical location B is excluded outside the tabulation of the physical location of the logical block that is mapped to search, and compression method return step S175.
Whether squeeze operation can be the slightly different result that provides who fixes according to the position that is stored in the logic sector in the physical location.
In other words, as shown in figure 12, the position that is stored in the logic sector in the physical location can be fixed, or as shown in figure 13, can not be fixed.
Figure 14 to 16 is illustrated under the situation that the position that is stored in the logic sector in the physical location is fixed the diagrammatic sketch of compression method according to an exemplary embodiment of the present invention.
With reference to Figure 14, a plurality of physical locations are mapped to logical block.To particularly, logic sector 0 to 3 is stored in logical block 0, logic sector 4 to 7 is stored in logical block 2, and logic sector 8 to 11 is stored in logical block 3.
Physical location 7,5 and 4 is mapped to logical block 0, and physical location 2 and 1 is mapped to logical block 1, and physical location 0 is mapped to logical block 2.
As mentioned above, in order to obtain drawing in one's expenditure of logical block, the drawing in one's expenditure of physical location that is mapped to this logical block will be calculated.
Drawing in one's expenditure of each of physical location by using following equation: C=Sv*Cc+Se*We to obtain to be mapped to logical block, wherein, C is drawing in one's expenditure of respective physical unit, Sv is effective number of sectors of respective physical unit, Cc is the expense of duplicating effective sector of respective physical unit, Se is the quantity of the empty sector of corresponding logical block, and We is each weighting of sky sector.
For example, if replication overhead Cc be 3 and weighting We be 0.5, then be mapped to logical block 0 the drawing in one's expenditure and be 4.5 of physical location 7 (=1*3+3*0.5), be mapped to logical block 0 the drawing in one's expenditure and be 6.5 of physical location 5 (=2*3+1*0.5), and be mapped to logical block 0 the drawing in one's expenditure and be 3 of physical location 4 (=1*3+0*0.5).
At this, even physical location 7 has the lowest compression expense, it is also because it is confirmed as latest data and is excluded outside squeeze operation based on its depth value.Therefore, the physical location 4 with second lowest compression expense is selected, and an effective sector of physical location 4 is copied to physical location 5.
Drawing in one's expenditure of physical location 4, promptly 3, be confirmed as drawing in one's expenditure of logical block 0.
Simultaneously, as obtaining in the mode identical with the mode of physical location 7,5 and 4, the drawing in one's expenditure of physical location 2 that is mapped to logical block 1 is 4.5.The drawing in one's expenditure of physical location 1 that is mapped to logical block 1 is 4.
In the case, because physical location 2 is determined by the up-to-date logical block 1 that is mapped to, it is excluded outside squeeze operation.Therefore, an effective sector of physical location 1 is copied to physical location 2, and drawing in one's expenditure of physical location 1 is confirmed as drawing in one's expenditure of logical block 1.
In the case, a nearly physical location, promptly physical location 0, is copied to logical block 2.Therefore, physical location 2 is excluded outside squeeze operation.
At this, to write under the situation of logic sector 11 for example, logic sector 11 is stored in the logical block 2.
Yet logical block 2 does not have the sky sector, and by squeeze operation, empty reason unit is used for logical block 2 by generation.
As mentioned above, in logical block 0,1 and 2, logical block 0 has the lowest compression expense, and in the physical location 7,5 and 4 that is mapped to logical block 0, physical location 4 has the lowest compression expense.
Therefore, as shown in figure 15, an effective sector of physical location 4 is copied to physical location 5, and physical location is excluded outside the tabulation of the physical location that is mapped to logical block 0.
Thereafter, as shown in figure 16, the physical location 4 that has been excluded outside the tabulation of the physical location that is mapped to logical block 0 is mapped to logical block 2, and physical sector 11 is stored in the physical location 4.
Describing the position that is stored in the logic sector in the physical location now with reference to Figure 17 to 19 is loose replacement situation, and it is illustrated under the loose situation in the position that is stored in the logic sector in the physical location compression method according to an exemplary embodiment of the present invention.With reference to Figure 17, a plurality of physical locations are mapped to logical block.Suppose altogether 4 logic sectors by sequential storage in the white space of a logical block.
Logic sector 0 to 3 is stored in the logical block 0, and logic sector 4 to 7 is stored in logical block 2, and logic sector 8 to 11 is stored in logical block 3.
Physical location 7,5 and 4 is mapped to logical block 0, and physical location 2 and 1 is mapped to logical block 1, and physical location 0 is mapped to logical block 2.
Logical block 0,1 and 2 drawing in one's expenditure of each are calculated when the beginning of initialization system and can be updated when it need be updated.
By using following equation C=Sv*Cc to obtain drawing in one's expenditure of physical location, wherein, C is drawing in one's expenditure of physical location, and Sv is effective number of sectors of physical location, and Cc is the replication overhead of physical location.
By using following equation Q=Uc+Iw to obtain empty is managed the expense that logical block is distributed in the unit, wherein, Q is the assignment overhead of logical block, and Uc is the expense of erase unit, and Iw is an expense of writing metadata.
For example, if replication overhead Cc is 3, then cell erasure expense Uc is 10, and it is 2 that metadata is write expense Iw, drawing in one's expenditure of physical location 7 be 3 (=1*3), drawing in one's expenditure of physical location 5 be 6 (=2*3), and the drawing in one's expenditure and be 3 of physical location 4 (=1*3).
Because physical location 7 is determined and is mapped to logical block 0 by up-to-date, so drawing in one's expenditure of physical location 4 is confirmed as drawing in one's expenditure of logical block 0.
In addition, drawing in one's expenditure of physical location 2 be 3 (=1*3), and the drawing in one's expenditure and be 9 of physical location 1 (=3*3).Because physical location 2 is determined and is mapped to logical block 1 by up-to-date, so drawing in one's expenditure of physical location 1 is confirmed as drawing in one's expenditure of logical block 1.
In the case,, will be assigned with, and therefore drawing in one's expenditure of logical block 1 will be updated so empty is managed the unit because three effective sectors of physical location 1 can not be copied to logical block 1.Therefore, by 12 unit assignment overhead is added to drawing in one's expenditure of physical location 1, promptly 9, upgrade drawing in one's expenditure of logical block 1.Therefore, the expense as a result of logical block 1 is 21.
Because physical location 2 has the second lowest compression expense, thus by with the drawing in one's expenditure of physical location 2, promptly 3, be added to drawing in one's expenditure of physical location 1, promptly 21, just upgrade drawing in one's expenditure of logical block 1.Therefore, the expense as a result of logical block 1 is 24.
Simultaneously, because physical location only, promptly physical location 0, is mapped to logical block 2, so logical block 2 is excluded outside squeeze operation.
Writing, for example logic sector 11, situation under, logic sector 11 is stored in the logical block 2.
Yet logical block 2 does not have the sky sector, and therefore squeeze operation need be performed.Be determined as the logical block as a result 0 of the squeeze operation of logical block 0,1 and 2 and have the lowest compression expense.
In addition, among the physical location 7,5 and 4 that is mapped to logical block 0, physical location 7 and 4 is determined has the lowest compression expense, but because physical location 7 is determined and is mapped to logical block 0 by up-to-date, so physical location 4 is finally selected.Therefore, an effective sector of physical location 4 is copied to the empty sector of logical block 0, in this case, does not need the distribution of empty reason sector.
Therefore, as shown in figure 18, be copied to the empty sector of physical location 7 as the logic sector of effective sector of physical location 4, and physical location 4 is excluded outside the tabulation of the physical location that is mapped to logical block 0 thereafter.
Thereafter, as shown in figure 19, because it has minimum erase count value and is re-mapped to logical block 2, so the physical location 4 that has been excluded outside the tabulation of the physical location that is mapped to logical block 0 is selected from still mapped a plurality of physical locations.
Therefore, logic sector 11 is written to first sector of the physical location 4 that is re-mapped to logical block 2.
In the present embodiment, among not mapped as yet a plurality of physical locations, before all the other physical locations, use physical location with minimum erase count value.
If not mapped seldom as yet physical location is only arranged, then loss adjustment (wear leveling) operation and squeeze operation can be performed so that guarantee the use average to physical location.
In addition, if in the maximal value of the erase count value of physical location and the difference between the minimum value outside preset range, the effective sector that then has the physical location of minimum erase count value is copied to the empty sector of respective logic unit, and the physical location with minimum erase count value is excluded outside the tabulation of the physical location that is mapped to the respective logic unit.
The method of the write data of using this type of loss adjustment operation is described now with reference to Figure 20.
With reference to Figure 20, in operation steps S210, the LUN that tentation data will be stored thereon is searched.
In operation steps S220, determine whether have blank storage space by the logical block of searched LUN indication.
In operation steps S230, if logical block has blank storage space, then tentation data is stored in the blank storage space of logical block.
In operation steps S240,, then determine whether by the physical location that can be mapped to logical block in addition if logical block does not have the sky storage space.
In operation steps S250, if the physical location that can be mapped to logical block is in addition arranged, one of physical location that then has minimum erase count value is selected.
In operation steps S260, the physical location of selection is re-mapped to logical block.
Thereafter, tentation data is written in the white space of physical location of the selection that is remapped to logical block.
In operation steps S270, if there is not to be mapped in addition the physical location of logical block, then not mapped as yet physical location can be produced by squeeze operation, and one of the physical location that produces is re-mapped to logical block.
The logical block that is mapped to a physical location on it such as only having of the logical block among Figure 21 0 is excluded outside squeeze operation.
With reference to Figure 21, drawing in one's expenditure of physical location 2 be 9 (=1*9), drawing in one's expenditure of physical location 0 be 6 (=2*3), and the drawing in one's expenditure and be 3 of physical location 6 (=1*3).
Because it is determined and is mapped to logical block 1 by up-to-date, physical location 2 is excluded outside squeeze operation.Therefore, the physical location 6 with lowest compression expense is confirmed as drawing in one's expenditure of logical block 1.
Because effective sector of physical location 6 can not be copied to the empty sector of logical block 1, so empty reason unit will be assigned with.Therefore, will upgrade drawing in one's expenditure of logical block 1 by 12 unit assignment overhead is added to drawing in one's expenditure of physical location 4.
Therefore, the result of logical block 1 draws in one's expenditure and becomes 15.In addition, in physical location 2 and 0, physical location 2 has the lowest compression expense.
Therefore, also will be by with the drawing in one's expenditure of physical location 2, promptly 3, be added to logical block 1 before upgrade draw in one's expenditure, promptly 15, upgrade drawing in one's expenditure of logical block 1.Therefore, the expense as a result of logical block 1 becomes 18.
Drawing in one's expenditure of physical location 4 be 3 (=1*3), and the drawing in one's expenditure and be 9 of physical location 1 (=3*3).Because physical location 4 is determined and is mapped to logical block 3 by up-to-date, so drawing in one's expenditure of physical location 1 is confirmed as drawing in one's expenditure of logical block 3.Because whole white spaces that can not be copied to logical block 3 of 3 effective sectors of physical location 1, so empty reason unit will be assigned with.
Therefore, will upgrade drawing in one's expenditure of logical block 3 by 12 unit assignment overhead is added to drawing in one's expenditure of physical location 1.Therefore, to draw in one's expenditure be 21 to the result of logical block 3.
In addition, also will be by with the drawing in one's expenditure of physical location 4, promptly 3, be added to logical block 3 before upgrade draw in one's expenditure, promptly 21, upgrade drawing in one's expenditure of logical block 1.
Therefore, the result of logical block 3 draws in one's expenditure and becomes 24.
Drawing in one's expenditure of physical location 7 be 3 (=1*3), and the drawing in one's expenditure and be 9 of physical location 9 (=3*3).
Because physical location 7 is determined and is mapped to logical block 4 by up-to-date, so drawing in one's expenditure of physical location 4 is confirmed as drawing in one's expenditure of logical block 4.
Because whole white spaces that can not be copied to logical block 4 of 3 effective sectors, so empty reason unit will be assigned with.
Therefore, will upgrade drawing in one's expenditure of logical block 4 by 12 unit assignment overhead is added to drawing in one's expenditure of physical location 9.Therefore, to draw in one's expenditure be 21 to the result of logical block 4.
In addition, also will be by with the drawing in one's expenditure of physical location 7, promptly 3, be added to logical block 3 before upgrade draw in one's expenditure, promptly 21, upgrade drawing in one's expenditure of logical block 3.Therefore, the result of logical block 3 draws in one's expenditure and becomes 24.
The method of logic sector 0 being write the logical block 0 with sky sector is described now with reference to Figure 21 to 23.
In logical block 0,1,2 and 3, logical block 1 has the lowest compression expense.In physical location 2,0 and 6, physical location 6 has the lowest compression expense.
Because logical block 1 does not have the sky sector, so effective sector of physical location 6 can not be copied to logical block 1.
Therefore, empty reason unit will be assigned with.Therefore, as shown in figure 22, the physical location that is not assigned with as yet is re-mapped to logical block 1.
Physical location 2 has the second lowest compression expense, and effective sector of physical location 2 is copied to the physical location that is remapped to logical block 1, and physical location 2 is got rid of from the tabulation of the physical location that is mapped to logical block 1 thereafter.
Thereafter, effective sector of physical location 6 is copied to the physical location that is remapped to logical block 1, and physical location 6 is excluded from the tabulation of the physical location that is mapped to logical block 1 thereafter.
Therefore, as shown in figure 23, physical location 6 and 2 is classified as not mapped as yet physical location.Because physical location 6 has by the low erase count value of physical location 2, physical location 6 is re-mapped to logical block 0.
With reference to Figure 20, in operation steps S280, determine that the maximal value of erase count value of physical location and the difference between the minimum value are whether outside preset range.In operation steps S290, if the maximal value of the erase count value of physical location and the difference between the minimum value outside preset range, then loss adjustment operation is forced to carry out.
In other words, as shown in Figure 24, minimum value and maximal value in the erase count value of physical location 1 to 9 are detected, and determine whether difference therebetween is not less than predetermined value.
At this, physical location 8 has 121 maximum erase count value, and physical location 9 has 21 minimum erase count value.Therefore, the difference between maximum erase count value and the minimum erase count value is 100.
Therefore, if predetermined value is 100, then physical location 9 is forced to get rid of outside squeeze operation.
Although described according to the present invention the method for remapping flash memory with reference to exemplary embodiment and figure, to understand above-mentioned exemplary embodiment only is for illustrative purposes, and be not interpreted as limitation of the present invention, and the whole changes and the equivalent intention that fall within the scope of the claims are comprised in this.
Method according to remapping flash memory of the present invention has the following advantages.
At first, can be by having big erase count value with the physical location with littler erase count value Physical location before be mapped to the mode of logical block, according to their erase count value with the physics list Unit sequentially is mapped to logical block and evenly uses not yet mapped physical location. Therefore, can increase The durability of flash memory.
The second, can data be write in the processing of flash memory flash memory be deposited by being minimized in The number of times of getting provides the quick response to user's request.

Claims (22)

1, a kind of method of remapping flash memory comprises:
Arrange not mapped as yet a plurality of physical locations according to corresponding erase count value; And
The mode that always was mapped to logical block with the physical location with minimum erase count value before all the other physical locations sequentially is mapped to logical block with the order that shines upon with a plurality of physical locations,
A plurality of physical locations sequentially are being mapped in the logical block, and each of a plurality of physical locations has the respective depth value that indication is mapped to a plurality of physical locations the order of logical block.
2, the physical location that the method for claim 1, wherein has a maximum depth value is determined by the up-to-date logical block that is mapped to.
3, method as claimed in claim 2 also comprises:
If there is not still mapped physical location, then come in logical block, to produce empty reason unit by carrying out squeeze operation.
4, method as claimed in claim 3, wherein, the physical location with maximum depth value is excluded outside squeeze operation.
5, method as claimed in claim 4, wherein, the generation of logical block hollow physical location comprises:
Selection is mapped to one of a plurality of physical locations of the logical block with lowest compression expense;
The lowest compression expense of the physical location selected is defined as drawing in one's expenditure of logical block; And
At least one effective sector of the physical location selected is copied to the white space of logical block, and the physical location of selecting is got rid of outside the tabulation of the physical location that is mapped to logical block.
6, method as claimed in claim 5, wherein, based on the effective number of sectors of the physical location of selecting and the expense of effective sector of duplicating the physical location of selection, the drawing in one's expenditure of the physical location of selection is confirmed as duplicating the required time of at least one effective sector of the physical location of selection.
7, method as claimed in claim 6, wherein, if being stored in the position of the logic sector in the physical location of selection is fixed, then by using drawing in one's expenditure of physical location that following equation: C=Sv*Cc+Se*We obtains to select, wherein, C is drawing in one's expenditure of the physical location selected, Sv is effective number of sectors of the physical location of selection, Cc is the expense of effective sector of duplicating the physical location of selection, Se is the quantity of the empty sector of logical block, and We is each weighting of sky sector.
8, method as claimed in claim 6, wherein, if being stored in the position of the logic sector of physical location is not fixed, then by using drawing in one's expenditure of physical location that following equation: C=Sv*Cc obtains to select, wherein, C is drawing in one's expenditure of the physical location selected, and Sv is effective number of sectors of the physical location selected, and Cc is the expense of effective sector of duplicating the physical location of selection.
9, method as claimed in claim 7, wherein, if effective sector of the physical location of selecting can not be copied to the white space of logical block, then be added to drawing in one's expenditure of logical block as empty being managed the unit assignment overhead that the unit is assigned to the expense of logical block.
10, method as claimed in claim 9 wherein, is provided with the unit assignment overhead based on wiping the required time of physical location with the required time of metadata of writing physical location.
11, method as claimed in claim 10, wherein, by using drawing in one's expenditure of physical location that following equation C=Sv*Cc obtains to select, wherein, C is drawing in one's expenditure of physical location, Sv is effective number of sectors of the physical location selected, and Cc is the expense of effective sector of duplicating the physical location of selection.
12, method as claimed in claim 11, wherein, the drawing in one's expenditure of physical location with second lowest compression expense is added to drawing in one's expenditure of logical block.
13, method as claimed in claim 12, wherein, the empty reason unit that produces in the logical block also comprises:
If be not used in the empty storage space of effective sector of duplicating logical block, then search for physical location with second lowest compression expense with lowest compression expense;
To be scheduled to empty reason unit maps to logical block; And
At least one effective sector of the physical location selected is copied to the predetermined empty reason unit of logical block, and the physical location of selecting is got rid of outside the tabulation of the physical location that is mapped to logical block.
14, method as claimed in claim 12 also comprises:
Determine to be mapped to the maximal value of erase count value of physical location of predetermined logic unit and the minimum value of erase count value; And
If the maximal value of the erase count value of physical location and the difference of minimum value are then carried out squeeze operation greater than predetermined value.
15, method as claimed in claim 12, wherein, the execution of squeeze operation comprises carries out squeeze operation to the physical location of the minimum value with erase count value.
16, method as claimed in claim 8, wherein, if effective sector of the physical location of selecting can not be copied to the white space of logical block, then be added to drawing in one's expenditure of logical block as empty being managed the unit assignment overhead that the unit is assigned to the expense of logical block.
17, method as claimed in claim 16 wherein, is provided with the unit assignment overhead based on wiping the required time of physical location with the required time of metadata of writing physical location.
18, method as claimed in claim 17, wherein, by using drawing in one's expenditure of physical location that following equation C=Sv*Cc obtains to select, wherein, C is drawing in one's expenditure of the physical location selected, Sv is effective number of sectors of the physical location selected, and Cc is the expense of effective sector of duplicating the physical location of selection.
19, method as claimed in claim 18, wherein, the drawing in one's expenditure of physical location with second lowest compression expense is added to drawing in one's expenditure of logical block.
20, method as claimed in claim 19, wherein, the empty reason unit that produces in the logical block also comprises:
If be not used in the empty storage space of effective sector of duplicating logical block, then search for physical location with second lowest compression expense with lowest compression expense;
To be scheduled to empty reason unit maps to logical block; And
At least one effective sector of the physical location selected is copied to the predetermined empty reason unit of logical block, and the physical location of selecting is got rid of outside the tabulation of the physical location that is mapped to logical block.
21, method as claimed in claim 19 also comprises:
Determine to be mapped to the maximal value of erase count value of physical location of predetermined logic unit and the minimum value of erase count value; And
If the maximal value of the erase count value of physical location and the difference of minimum value are then carried out squeeze operation greater than predetermined value.
22, method as claimed in claim 19, wherein, the execution of squeeze operation comprises carries out squeeze operation to the physical location of the minimum value with erase count value.
CNB2005100052562A 2004-02-06 2005-02-03 Method of remapping flash memory Active CN1315057C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR8068/04 2004-02-06
KR10-2004-0008068A KR100526190B1 (en) 2004-02-06 2004-02-06 Remapping method for flash memory
KR8068/2004 2004-02-06

Publications (2)

Publication Number Publication Date
CN1652089A CN1652089A (en) 2005-08-10
CN1315057C true CN1315057C (en) 2007-05-09

Family

ID=34676016

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100052562A Active CN1315057C (en) 2004-02-06 2005-02-03 Method of remapping flash memory

Country Status (5)

Country Link
US (1) US7516295B2 (en)
EP (1) EP1562122A3 (en)
JP (1) JP4185058B2 (en)
KR (1) KR100526190B1 (en)
CN (1) CN1315057C (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
JP5008845B2 (en) 2005-09-01 2012-08-22 株式会社日立製作所 Storage system, storage apparatus and control method thereof
US20070180167A1 (en) * 2006-02-02 2007-08-02 Seagate Technology Llc Dynamic partition mapping in a hot-pluggable data storage apparatus
KR100781517B1 (en) * 2006-02-16 2007-12-03 삼성전자주식회사 Mapping table managing apparatus and method for nonvolatile memory
KR100791325B1 (en) * 2006-10-27 2008-01-03 삼성전자주식회사 Apparatus and method for managing nonvolatile memory
US8719501B2 (en) * 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
KR101354152B1 (en) * 2006-12-18 2014-01-27 삼성전자주식회사 Method for command scheduling of virtual file system embodied in non-volatile data storage and apparatus thereof
JP4292225B2 (en) * 2007-12-17 2009-07-08 株式会社東芝 Information recording apparatus and information recording method
KR100964374B1 (en) * 2007-12-17 2010-06-17 한국전자통신연구원 Device and Method for Managing Memory in RFID Tag
KR101077339B1 (en) 2007-12-28 2011-10-26 가부시끼가이샤 도시바 Semiconductor storage device
JP4675985B2 (en) 2008-03-01 2011-04-27 株式会社東芝 Memory system
JP4498426B2 (en) * 2008-03-01 2010-07-07 株式会社東芝 Memory system
JP4745356B2 (en) * 2008-03-01 2011-08-10 株式会社東芝 Memory system
KR101067457B1 (en) * 2008-03-01 2011-09-27 가부시끼가이샤 도시바 Memory system
US8275928B2 (en) * 2008-05-15 2012-09-25 Silicon Motion, Inc. Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
JP4683438B2 (en) * 2008-06-13 2011-05-18 讀賣テレビ放送株式会社 Data broadcasting system, data broadcasting method and program
TWI410976B (en) * 2008-11-18 2013-10-01 Lite On It Corp Reliability test method for solid storage medium
JP4821844B2 (en) * 2008-12-22 2011-11-24 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4821845B2 (en) * 2008-12-22 2011-11-24 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
US8700840B2 (en) 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
JP4952740B2 (en) * 2009-04-13 2012-06-13 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
US8296503B2 (en) * 2009-05-26 2012-10-23 Mediatek Inc. Data updating and recovering methods for a non-volatile memory array
TWI410795B (en) * 2009-06-23 2013-10-01 Phison Electronics Corp Data writing method for flash memory and control circuit and storage system using the same
US8463983B2 (en) * 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
US8055942B2 (en) * 2009-12-03 2011-11-08 Seagate Technology Llc Data storage devices and methods for power-on initialization
JP5609683B2 (en) * 2011-01-31 2014-10-22 ソニー株式会社 Memory device and memory system
TWI494948B (en) * 2011-01-31 2015-08-01 Phison Electronics Corp Data writing method for a non-volatile memory module, memory controller and memory storage apparatus
JP2012203443A (en) 2011-03-23 2012-10-22 Toshiba Corp Memory system and control method of memory system
US9177609B2 (en) 2011-06-30 2015-11-03 Sandisk Technologies Inc. Smart bridge for memory core
US9208070B2 (en) * 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
CN104008061B (en) * 2013-02-22 2018-01-23 华为技术有限公司 Method for recovering internal storage and device
TWI571882B (en) * 2016-02-19 2017-02-21 群聯電子股份有限公司 Wear leveling method, memory control circuit unit and memory storage device
TWI584292B (en) * 2016-09-08 2017-05-21 群聯電子股份有限公司 Memory erase method, memory control circuit unit and memory storage apparatus
KR102507140B1 (en) * 2017-11-13 2023-03-08 에스케이하이닉스 주식회사 Data storage device and operating method thereof
KR102512727B1 (en) * 2017-12-22 2023-03-22 삼성전자주식회사 Storage device performing garbage collection, and garbage collection method of a storage device
US11860947B2 (en) * 2019-01-31 2024-01-02 International Business Machines Corporation Deleted data restoration
US11061598B2 (en) * 2019-03-25 2021-07-13 Western Digital Technologies, Inc. Optimized handling of multiple copies in storage management
CN111290716A (en) * 2020-03-05 2020-06-16 莆田学院 Abrasion balance processing method based on Norflash

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1156280A (en) * 1996-01-30 1997-08-06 Tdk株式会社 Flash memory system
US5737742A (en) * 1994-06-29 1998-04-07 Hitachi, Ltd. Memory system using flash memory and method of controlling the memory system
US5819307A (en) * 1994-10-20 1998-10-06 Fujitsu Limited Control method in which frequency of data erasures is limited
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6069827A (en) * 1995-09-27 2000-05-30 Memory Corporation Plc Memory system
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473765A (en) * 1994-01-24 1995-12-05 3Com Corporation Apparatus for using flash memory as a floppy disk emulator in a computer system
GB2317721B (en) * 1996-09-30 2001-09-12 Nokia Mobile Phones Ltd Memory device
KR100297986B1 (en) 1998-03-13 2001-10-25 김영환 Wear levelling system of flash memory cell array and wear levelling method thereof
JP3544859B2 (en) * 1998-05-11 2004-07-21 富士通株式会社 Secondary storage device using nonvolatile semiconductor memory
KR100644602B1 (en) * 2000-10-11 2006-11-10 삼성전자주식회사 Method for driving remapping for flash memory and flash memory architecture thereto
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4772214B2 (en) 2001-06-08 2011-09-14 ルネサスエレクトロニクス株式会社 Nonvolatile memory device and rewrite control method thereof
US6621746B1 (en) * 2002-02-27 2003-09-16 Microsoft Corporation Monitoring entropic conditions of a flash memory device as an indicator for invoking erasure operations
KR100914646B1 (en) 2002-08-31 2009-08-28 지인정보기술 주식회사 Management Scheme for Flash Memory with the Multi-Plane Architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737742A (en) * 1994-06-29 1998-04-07 Hitachi, Ltd. Memory system using flash memory and method of controlling the memory system
US5819307A (en) * 1994-10-20 1998-10-06 Fujitsu Limited Control method in which frequency of data erasures is limited
US6069827A (en) * 1995-09-27 2000-05-30 Memory Corporation Plc Memory system
CN1156280A (en) * 1996-01-30 1997-08-06 Tdk株式会社 Flash memory system
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers

Also Published As

Publication number Publication date
JP4185058B2 (en) 2008-11-19
EP1562122A3 (en) 2007-05-02
KR20050079576A (en) 2005-08-10
KR100526190B1 (en) 2005-11-03
JP2005222550A (en) 2005-08-18
US20050174849A1 (en) 2005-08-11
CN1652089A (en) 2005-08-10
US7516295B2 (en) 2009-04-07
EP1562122A2 (en) 2005-08-10

Similar Documents

Publication Publication Date Title
CN1315057C (en) Method of remapping flash memory
CN1256732C (en) Flash memory and control method
CN1278243C (en) Flash memory apparatus and method for merging data stored in the same
CN1276358C (en) Memory
CN1295706C (en) Non-volatile memory, recording apparatus and recording method
CN101046771A (en) Storage system using flash memories, average read-write method for the same system and average read-write program for the same system
CN1834932A (en) Storage control apparatus and method
CN1752947A (en) Memory storage, storage controlling method, and computer product
CN1947100A (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
CN101042674A (en) Nonvolatile storage device and data writing method thereof
CN101051286A (en) Storage system
CN1493026A (en) Memory device and record regenerator using it
CN1623201A (en) Information recording medium, recording apparatus, reproduction apparatus, recording method, reproduction method and defect management method
CN1601654A (en) Semiconductor nonvolatile memory device
CN101078999A (en) Method and system for accomplishing data backup and recovery
CN1648876A (en) Data management apparatus and method of flash memory
CN1805049A (en) Method of data access in nonvolatile storage in embedded system
CN1197082C (en) Method for using storage, two-dimensional data access storage and operation processing equipment
CN1645516A (en) Data recovery apparatus and method used for flash memory
CN101030223A (en) Apparatus, method, and computer program for processing information
CN1366633A (en) Disk memory device, data pre-head method, and recorded medium
CN1627271A (en) Flash memory and mapping control apparatus and method for flash memory
CN1904859A (en) Composite type recording apparatus, data writing method and data writing program
CN101065725A (en) Command supply device
CN1731402A (en) Method and apparatus for accelerating file system operation by using coprocessor

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