CN102096637A - Nonvolatile memory device and wear leveling method thereof - Google Patents

Nonvolatile memory device and wear leveling method thereof Download PDF

Info

Publication number
CN102096637A
CN102096637A CN2009102540408A CN200910254040A CN102096637A CN 102096637 A CN102096637 A CN 102096637A CN 2009102540408 A CN2009102540408 A CN 2009102540408A CN 200910254040 A CN200910254040 A CN 200910254040A CN 102096637 A CN102096637 A CN 102096637A
Authority
CN
China
Prior art keywords
data
nonvolatile memory
area
storage area
blank array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2009102540408A
Other languages
Chinese (zh)
Inventor
周晓薇
欧富国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asolid Technology Co Ltd
Original Assignee
Asolid Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Asolid Technology Co Ltd filed Critical Asolid Technology Co Ltd
Priority to CN2009102540408A priority Critical patent/CN102096637A/en
Publication of CN102096637A publication Critical patent/CN102096637A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

The invention provides a nonvolatile memory device and a wear leveling method thereof. The wear leveling method comprises the following steps of: firstly, dividing a data storage region and a blank array region according to a plurality of physical block addresses of the nonvolatile memory; secondly, comparing historic programming frequencies of a plurality of data blocks in the blank array region; and finally, exchanging the physical block addresses which correspond to the data blocks with the maximum historic programming frequency in the blank array region with one of the plurality of physical block addresses corresponding to the plurality of data blocks in the data storage region.

Description

Non-volatile memory device and loss averaging method thereof
Technical field
The present invention relates to a kind of nonvolatile memory, and be particularly related to a kind of non-volatile memory device and average (wear leveling) method of loss thereof.
Background technology
Flash memory (flash memory) is that (read only memory, ROM), it allows by erasing and upgrade the data of being stored repeatedly for the ROM (read-only memory) of a kind of (programmable) able to programme.The application of this flash memory in electronic product now is very extensive, and be common at the media as the digital electronic product swapping data such as storage card and carry-on dish.
Usually, flash memory is divided into a plurality of data blocks (block), and is subdivided into the identical data page of many capacity (page) in each data block.At this, flash memory exists a restriction, exactly when flash memory is carried out the renewal of data, after the action that must need to erase at the data block at the place, address that will be updated, newer data is write.Yet it is the restriction that certain life-span (number of times of erasing) arranged that each data block in the flash memory carries out that data erase.In order effectively to promote the serviceable life of flash memory, the technology that prior art proposes a kind of so-called loss average (wear leveling) makes the number of times of erasing of each data block can be comparatively average.
Please refer to Fig. 1~Fig. 3, the synoptic diagram of the average access method of loss of the existing flash memory of Fig. 1~Fig. 3.In Fig. 1, flash memory 110 is divided into 3 subregions according to its entity block address (physical block address) PBA0~PBA767, and the solid block address also is called physical address or physical address.Wherein, solid block address PBA0~PBA255 is the first subregion DIV0, and solid block address PBA256~PBA511 is the second subregion DIV1, and solid block address PBA512~PBA767 is the 3rd subregion DIV2.Then, set up corresponding look-up table 120 at the first subregion DIV0 according to LBA (Logical Block Addressing) LBA0~LBA255.Because the first subregion DIV0 comprises 256 data blocks (corresponding data block is represented in each solid block address).Wherein, the data represented LBA (Logical Block Addressing) (logical block address) of corresponding look-up table 120 storages and the corresponding relation of solid block address.In Fig. 1, LBA (Logical Block Addressing) LBA0 is corresponding with solid block address PBA0.
Then please refer to Fig. 2, existing loss averaging also comprises sets up blank array area 130, and blank array area 130 records are not written into the solid block address of the data block of data.In Fig. 2, the corresponding look-up table 120 in left side is all blank (not being written into) among the figure, and the blank array area 130 in left side then writes down out all solid block address PBA0~PBAN and is all blank among the figure.Yet after carrying out access command 210, because LBA (Logical Block Addressing) LBA0~LBA2 will be written into, therefore, flash memory provides solid block address PBA0, PBA1, PBA2 difference counterlogic block address LBA0, LBA1, LBA2 with the storage data according to the record of blank array area 130.Also therefore, the corresponding look-up table 120 counterlogic block address LBA0 on Fig. 2 right side, the storage field of LBA1, LBA2 deposit solid block address PBA0, PBA1, PBA2 respectively in.And the blank array area 130 on Fig. 2 right side has also removed the record of original solid block address PBA0, PBA1, PBA2.
Then continue with reference to Fig. 3, carry out access command 310 to carry out the renewal of data at LBA (Logical Block Addressing) LBA1, LBA2 this moment.Provide solid block address PBA3, PBA4 to deposit the data that will be updated to LBA (Logical Block Addressing) LBA1, LBA2 in according to blank array area 130 (as Fig. 3 left side).And solid block address PBA0, PBA1 are removed, and add blank array area 130 (shown in Fig. 3 right side).
The existing loss averaging of this kind must exist one to one because of the solid block address of corresponding look-up table 120 with flash memory, and needs sizable storage space, and blank array area 130 also needs many storage spaces.In other words, the existing loss averaging of this kind needs higher cost.
Summary of the invention
The invention provides a kind of non-volatile memory device and loss averaging method thereof, the historical procedures number of times of each piece in can be the effectively average nonvolatile memory is to prolong the serviceable life of nonvolatile memory.
The present invention proposes a kind of loss averaging method of nonvolatile memory, at first, a plurality of solid block address of nonvolatile memory is partitioned into a data storage area and a blank array area.Then, the historical procedures number of times of a plurality of data blocks in the more blank array area.Afterwards, the data block of historical procedures number of times maximum in the blank array area changed be configured in this data storage area, and with a plurality of data blocks in the data storage area change and be configured in this blank array area.
In one embodiment of this invention, when the data storage area need be written into one more during new data, blank array area is used to deposit more new data.
The present invention proposes a kind of storage arrangement, comprises a nonvolatile memory and a controller.Controller couples nonvolatile memory.Controller is partitioned into a data storage area and a blank array area with nonvolatile memory.When controller carries out a loss averaging method, described loss averaging method comprises: the historical procedures number of times of a plurality of data blocks in the more blank array area, change with data block and to be configured in this data storage area, and one of a plurality of data blocks in the data storage area are changed be configured in this blank array area historical procedures number of times maximum in the blank array area.
Based on above-mentioned, utilization of the present invention data block in the data storage area come with blank array area in the maximum data block of historical procedures number of times exchange, to prolong the serviceable life of nonvolatile memory.
For above-mentioned feature and advantage of the present invention can also be become apparent, below especially exemplified by embodiment, and conjunction with figs. is described in detail below.
Description of drawings
The synoptic diagram of the average access method of loss of the existing flash memory of Fig. 1~Fig. 3.
Fig. 4 is the operational flowchart of an embodiment of the loss averaging method of nonvolatile memory of the present invention.
Fig. 5 A~Fig. 5 B and Fig. 6 are the operation chart of embodiment of the loss averaging method of nonvolatile memory of the present invention.
Fig. 7 is the calcspar of the control device of non-volatile storage of one embodiment of the invention.
The main element symbol description:
110: flash memory; 120,520: corresponding look-up table;
130,512: blank array area; 210,310: access command;
510,740: nonvolatile memory; 511: the data storage area;
610: the loss averaging method; 700: storage control device;
710: controller; 720: memory storage;
730: transmission interface; ST0~ST3999: storage field;
EC: historical procedures number of times; DIV0: first subregion;
DIV1: second subregion; DIV2: the 3rd subregion;
PAG000~PAG255: the page;
PBA0~PBA4095, PBAN: solid block address;
S410~S430: the step of storer loss averaging method;
LBA0~LBA245, LBAN, LBAM, LDIV0, LDIV15: LBA (Logical Block Addressing).
Embodiment
Below please refer to Fig. 4, Fig. 4 is the operational flowchart of an embodiment of the loss averaging method of nonvolatile memory of the present invention.And please be simultaneously with reference to Fig. 5 A~Fig. 5 B and Fig. 6 the operation chart of embodiment of loss averaging method of nonvolatile memory of the present invention.Wherein, nonvolatile memory (Non-volatile memory, NVM) for example be mask ROM (Mask Read-OnlyMemory, Mask ROM), programmable read only memory (Programmable Read-Only Memory, PROM), Erasable Programmable Read Only Memory EPROM (Erasable Programmable Read-Only Memory, EPROM), electronic type EPROM (Electrically ErasableProgrammable Read-Only Memory, EEPROM) or flash memory.
In the present embodiment, the step of access nonvolatile memory comprises: at first, step S410 is that the solid block address is partitioned into data storage area and blank array area according to a plurality of physical addresss of nonvolatile memory, and the solid block address also can be referred to as physical address.Shown in Fig. 5 A, nonvolatile memory 510 has solid block address PBA0~PBA4095, and nonvolatile memory 510 is split into data storage area 511 and blank array area 512.Wherein, data storage area 511 in the present embodiment comprises solid block address PBA0~PBA3999, and blank array area 512 is then as comprising solid block address PBA4000~PBA4095 shown in Fig. 5 B.At this division that note that data storage area 511 shown in Fig. 5 A, Fig. 5 B and blank array area 512 example just only, the scope of the included solid block address of restricting data memory block 511 and blank array area 512 not.In fact, the partitioning scheme of data storage area 511 and blank array area 512 can dynamically be adjusted.
In addition, can set up corresponding look-up table, comprise a plurality of storage fields in the wherein corresponding look-up table, in order to the solid block address of storage data storage area 511 according to a plurality of LBA (Logical Block Addressing) of nonvolatile memory 510.Shown in Fig. 5 A, corresponding look-up table 520 is that the LBA0~LBA249 of the LBA0~LBA249 to LDIV 15 according to the LBA (Logical Block Addressing) LDIV0 of nonvolatile memory 510 sets up.Corresponding look-up table 520 comprises storage field ST0~ST3999, and each storage field is wherein all stored each solid block address PBA0~PBA3999 in the data storage area 511.For instance, the data that the storage field ST0 of the LBA0 of counterlogic block address LDIV0 is stored in the corresponding look-up table 520 are solid block address PBA0, and the LBA0 of presentation logic block address LDIV0 is corresponding with solid block address PBA0.Also expression is in the time will carrying out access to the LBA0 of the LBA (Logical Block Addressing) LDIV0 of nonvolatile memory 510, and the solid block address PBA0 that is actually nonvolatile memory 510 carries out access.At this, corresponding look-up table 520 is to be based upon in the memory storage, and this memory storage can be dynamic storage or static memory.
Then, please continue with reference to Fig. 4, write one more during the access command of new data whenever receiving a target logic block address, except carrying out this access command, judge also whether same target logic block address is repeated repeatedly access data at nonvolatile memory 510.For instance, can judge whether same target logic block address is reached preset value (for example 50 times) by the number of times of consecutive access data.(that is the target logic block address is by the number of times of consecutive access data when same target logic block address is repeated repeatedly access data, or the number of times that carries out address/data rearrangement continuously is when reaching preset value), then carry out once the step S420 and the step S430 of loss averaging method shown in Figure 4.
The historical procedures number of times EC of a plurality of data blocks in the more blank array area 512 of step S420.The historical procedures number of times EC of each data block can be recorded in respectively in the spare area (spare area) of affiliated data block in the nonvolatile memory 510.For instance, suppose that some data blocks are divided into 256 page PAG000~PAG255, wherein each page all has 8K bytes of memory space and one 400 byte spare area.The historical procedures number of times EC of this data block can be stored in the spare area of first page PAG000, to write down this data block by the historical number of times of sequencing.Though present embodiment is the explanation that example is carried out log history sequencing number of times EC with the spare area of page PAG000, not as limit.
Historical procedures number of times EC has represented that affiliated data block is once by the number of times of sequencing.For example, when erasing the pairing data block in (erasing) some solid block address, the historical procedures number of times EC that is recorded in the spare area of data block of this solid block address correspondence is added 1.Therefore, the inferior numerical value (count value of promptly erasing) that data block was once erased under historical procedures number of times EC can represent.
In another embodiment, when data being write the pairing data block in some solid block address, the historical procedures number of times EC that is recorded in the spare area of data block of this solid block address correspondence is added 1.Therefore, data block once was written into the inferior numerical value (promptly writing count value) of data under historical procedures number of times EC also can represent.
After the completing steps S420, can know just in all data blocks of blank array area 512 which the data block of historical procedures number of times EC maximum is.When some data blocks of data storage area 511 need be written into more new data, can be from blank array area 512 select a data block deposit more new data, and not directly the data block of data memory area 511 carry out Data Update (comprising the data that read legacy data, erase and write back after the renewal).The operation of rearrangement (resorting) need be done in pending data memory block 511, or the solid block address of data storage area 511 correspondences is can't write data more the time, then chooses in order to deposit more the data block of new data can be erased in order to depositing more new data next time from blank array area 512.So the data block of blank array area 512 can be in nonvolatile memory 510 all data blocks, carries out the most frequent data block of sequencing (programming).
Therefore, step S430 just can exchange one of the pairing a plurality of solid block of a plurality of data blocks address person in the data block pairing solid block address of historical procedures number of times EC maximum in the blank array area 512 and the data storage area 511.That is to say, the data block of historical procedures number of times EC maximum in the blank array area 512 is changed be configured in data storage area 511, and one of them data block of a plurality of data block selection of data storage area 511 changed be configured in blank array area 512.Certainly, when the data block of the data block of data storage area 511 and blank array area 512 exchanged, these two stored contents of data block also will exchange accordingly.
In addition, in some application examples, when data block need be erased previously stored data because of storing new data, the historical procedures number of times EC of this data block also will be erased, therefore after the first historical procedures number of times EC with this data block of palpus reads earlier, carry out erasing of data block again, write back this data block again after just the historical procedures number of times EC that reads can being added 1 afterwards.Because data block is less by the frequency of access in the data storage area 511, and data block is bigger by the frequency of access in the blank array area 512, with the data block in two districts exchange can make nonvolatile memory 510 data block fifty-fifty by access, avoid the minority data block by concentrated area access and shorten serviceable life of nonvolatile memory 510 repeatedly.
For instance, please refer to Fig. 6, before receiving access command, the solid block address of each data block is PBA0~PBA3999 in the data storage area 511, and the solid block address of each data block is PBA4000~PBA4095 in the blank array area 512.After receiving access command, just earlier judge whether the LBA (Logical Block Addressing) of this access command institute access is reached 50 times by the consecutive access data.If find that same LBA (Logical Block Addressing) is really reached 50 times by access continuously, then carry out a loss averaging method 610 (with reference to Fig. 4 and related description).
In the process of carrying out loss averaging method 610, in all data blocks of blank array area 512, select a data block of historical procedures number of times EC maximum.In embodiment illustrated in fig. 6, the data block of solid block address PBA4000, therefore its historical procedures number of times EC maximum (being 100 times) is selected data block with solid block address PBA4000 to change and is configured in data storage area 511.In addition, be configured in blank array area 512 with selecting a data block (for example data block of solid block address PBA0) to change in more than 511 data block in data storage area.In the example shown in Figure 6, the data block of solid block address PBA0, its historical procedures number of times EC is 10 times.
The above-mentioned method of selecting data block from data storage area 511 can the viewing system design requirement and take different selection approaches.For example, can in data storage area 511, select to have the data block of minimum historical procedures number of times EC.Yet, be the data block that hunt out minimum historical procedures number of times EC in the big data block of quantity in data storage area 511, its search process may consume and account for the too many time.In certain embodiments, above-mentionedly 511 changing the data block that is configured in blank array area 512 from the data storage area, is to select at random from a plurality of data blocks of data storage area 511.
In further embodiments, above-mentionedly 511 changing the data block that is configured in blank array area 512 from the data storage area, is selected according to the order of the solid block address of a plurality of data blocks in the data storage area 511.It for example is example with Fig. 6, carrying out the process of loss averaging method 610 specifically, from a plurality of data blocks of data storage area 511, select solid block address reckling (for example PBA0), and carrying out the process of loss averaging method next time, from data storage area 511, select solid block address time little person (for example PBA1), by that analogy.
After finishing loss averaging method 610, the solid block address of the LBA0 of counterlogic block address LDIV0 can change PBA4000 into from PBA0.The rest may be inferred, when having LBA (Logical Block Addressing) to be surpassed 50 times again (for example LBA (Logical Block Addressing) LBA3) by consecutive access next time, can carry out the loss averaging method again according to above-mentioned explanation, and historical procedures number of times EC is the highest in the blank array area 512 data block (be the data block of solid block address PBA4001, it the is 90 times) data block (for example data block of solid block address PBA1) with data storage area 511 is exchanged.
Be not difficult to find that the effectively average access action that disperses the piece of each solid block address of present embodiment is reached the average demand of loss by above-mentioned explanation.
Propose an embodiment at the storage control device in order to the access nonvolatile memory of the present invention and be illustrated with next, the phase makes this area tool know that usually the knowledgeable can understand the present invention and tool easily to implement.
Please refer to Fig. 7, Fig. 7 is the calcspar of the non-volatile memory device of one embodiment of the invention.Storage control device 700 couples nonvolatile memory 740, and nonvolatile memory 740 is carried out access control.Storage control device 700 comprises controller 710, memory storage 720 and transmission interface 730.Wherein, controller 710 is coupled to nonvolatile memory 740.Controller 710 is partitioned into data storage area 511 and blank array area 512 with nonvolatile memory 740.
720 of memory storages couple controller 710.Memory storage 720 is set up corresponding look-up table in order to a plurality of LBA (Logical Block Addressing) of foundation nonvolatile memory 740, comprises a plurality of storage fields in the corresponding look-up table wherein.The solid block address that these storage fields then are used for storing the data storage area.
In addition, when controller 710 receives when writing the access command of new data more at the target logic block address, controller 710 judges whether the target logic block address is repeated repeatedly access data.When controller 710 was judged the target logic block address and is repeated repeatedly access data, controller 710 carried out once above-mentioned loss averaging method.When controller 710 carries out the loss averaging method, described loss averaging method comprises: the historical procedures number of times EC of a plurality of data blocks in the more blank array area 512, be configured in data storage area 511 so that the data block of historical procedures number of times EC maximum in the blank array area 512 is changed, and one of a plurality of data blocks in the data storage area 511 are changed be configured in blank array area 512.。Above-mentioned being correlated with had detailed introduction in the action details of storage control device 700 is believed explanation at the embodiment of nonvolatile memory access method of the present invention.Therefore, no longer the action details of storage control device 700 is carried out repeat specification herein.
It should be noted that storage control device 700 also includes transmission interface 730.Transmission interface 730 couples controller 710, in order to receive the access command that the user is transmitted nonvolatile memory 740.Certainly, transmission interface 730 also can be used for transmitting the data that deposit nonvolatile memory 740 in or read by nonvolatile memory 740.The function of this transmission interface and construction mode, the technology that is well known to those skilled in the art is at this few detailed description.
In sum, the present invention utilizes the historical procedures number of times of each piece of record, and will be exchanged by the solid block address of the maximum data block of historical procedures number of times in the solid block address of data block in the data storage area and the blank array area, with the historical procedures number of times of each piece of effective mean allocation nonvolatile memory, prolong the serviceable life of nonvolatile memory.And, do not need the corresponding look-up table equal with the total volume of nonvolatile memory, do not need extra storer to set up blank array area yet.Effectively under the circuit area of minimum, reach the average access action of loss of nonvolatile memory.
It should be noted that at last: above embodiment only in order to technical scheme of the present invention to be described, is not intended to limit; Although with reference to previous embodiment the present invention is had been described in detail, those of ordinary skill in the art is to be understood that: it still can be made amendment to the technical scheme that aforementioned each embodiment put down in writing, and perhaps part technical characterictic wherein is equal to replacement; And these modifications or replacement do not make the essence of appropriate technical solution break away from the spirit and scope of various embodiments of the present invention technical scheme.

Claims (25)

1. the loss averaging method of a nonvolatile memory comprises:
This nonvolatile memory is partitioned into a data storage area and a blank array area; And
The historical procedures number of times of a plurality of data blocks in relatively should the blank array area; And
The data block of historical procedures number of times maximum in this blank array area changed be configured in this data storage area, and changing of a plurality of data blocks in this data storage area is configured in this blank array area.
2. the loss averaging method of nonvolatile memory according to claim 1 wherein need be written into one more during new data when this data storage area, and this blank array area is used to deposit this more new data.
3. the loss averaging method of nonvolatile memory according to claim 2, wherein write this more the step before the new data comprise and receive an access command that wherein this access command writes this more new data at a target logic block address.
4. the loss averaging method of nonvolatile memory according to claim 2, said write this more the step of new data comprise:
Writing this more during the data block of new data to solid block address correspondence, the historical procedures number of times that is recorded in the spare area of data block of this solid block address correspondence is being added 1.
5. the loss averaging method of nonvolatile memory according to claim 1 wherein when the data block of the solid block address correspondence of erasing, adds 1 with the historical procedures number of times that is recorded in the spare area of data block of this solid block address correspondence.
6. the loss averaging method of nonvolatile memory according to claim 1 also comprises:
When same LBA (Logical Block Addressing) is reached a preset value by the number of times of consecutive access, carry out once described relatively should the blank array area in the historical procedures number of times of a plurality of data blocks, change with the data block of historical procedures number of times maximum in should the blank array area and to be configured in this data storage area, and changing of a plurality of data blocks in this data storage area is configured in this blank array area.
7. the loss averaging method of nonvolatile memory according to claim 1 also comprises:
When the number of times that carries out data rearrangements continuously when a LBA (Logical Block Addressing) reaches a preset value, carry out once described relatively should the blank array area in the historical procedures number of times of a plurality of data blocks, change with the data block of historical procedures number of times maximum in should the blank array area and to be configured in this data storage area, and changing of a plurality of data blocks in this data storage area is configured in this blank array area.
8. the loss averaging method of nonvolatile memory according to claim 1 wherein changes the data block that is configured in this blank array area from this data storage area, is to select at random from described a plurality of data blocks of this data storage area.
9. the loss averaging method of nonvolatile memory according to claim 1 wherein changes the data block that is configured in this blank array area from this data storage area, is selected according to the order of the solid block address of a plurality of data blocks described in this data storage area.
10. the loss averaging method of nonvolatile memory according to claim 1 also comprises:
Set up a corresponding look-up table according to a plurality of LBA (Logical Block Addressing) of this nonvolatile memory, wherein should comprise a plurality of storage fields in the correspondence look-up table, in order to store a plurality of solid block address of this data storage area.
11. the loss averaging method of nonvolatile memory according to claim 10 wherein should be based upon static memory or dynamic storage by the correspondence look-up table.
12. the loss averaging method of nonvolatile memory according to claim 1 also comprises:
Dynamically adjust the memory capacity of this data storage area and this blank array area.
13. a storage arrangement comprises:
One nonvolatile memory; And
One controller, couple this nonvolatile memory, this nonvolatile memory is partitioned into a data storage area and a blank array area, wherein when this controller carries out a loss averaging method, described loss averaging method comprise relatively should the blank array area in the historical procedures number of times of a plurality of data blocks, change with the data block of historical procedures number of times maximum in should the blank array area and to be configured in this data storage area, and changing of a plurality of data blocks in this data storage area is configured in this blank array area.
14. storage arrangement according to claim 13 wherein need be written into one more during new data when this data storage area, this blank array area is used to deposit this more new data.
15. storage arrangement according to claim 14, wherein this controller also receives an access command, and wherein this access command writes this more new data at a target logic block address.
16. storage arrangement according to claim 15 wherein also comprises:
One transmission interface couples this controller, in order to receive this access command.
17. storage arrangement according to claim 14, wherein this controller is also writing this more during the data block of new data to solid block address correspondence, and the historical procedures number of times that is recorded in the spare area of data block of this solid block address correspondence is added 1.
18. storage arrangement according to claim 13, wherein when the data block of a solid block address correspondence is erased, the historical procedures number of times that this controller will be recorded in the spare area of data block of this solid block address correspondence adds 1.
19. storage arrangement according to claim 13, wherein when same LBA (Logical Block Addressing) was reached a preset value by the number of times of consecutive access, this controller carried out once described loss averaging method.
20. storage arrangement according to claim 13, when wherein the number of times that carries out data rearrangements continuously when a LBA (Logical Block Addressing) reached a preset value, this controller carried out once described loss averaging method.
21. storage arrangement according to claim 13, wherein this controller is to select a data block at random to be configured in this blank array area to change from described a plurality of data blocks of this data storage area when carrying out described loss averaging method.
22. storage arrangement according to claim 13, wherein this controller is to select a data block according to the order of solid block address in a plurality of data blocks described in this data storage area to be configured in this blank array area to change when carrying out described loss averaging method.
23. storage arrangement according to claim 13 also comprises:
One memory storage couples this controller, in order to set up a corresponding look-up table according to a plurality of LBA (Logical Block Addressing) of this nonvolatile memory, wherein should comprise a plurality of storage fields in the correspondence look-up table, in order to store a plurality of solid block address of this data storage area.
24. storage control device according to claim 23, wherein this memory storage is static memory or dynamic storage.
25. storage arrangement according to claim 13, wherein this controller is also dynamically adjusted the memory capacity of this data storage area and this blank array area.
CN2009102540408A 2009-12-15 2009-12-15 Nonvolatile memory device and wear leveling method thereof Pending CN102096637A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102540408A CN102096637A (en) 2009-12-15 2009-12-15 Nonvolatile memory device and wear leveling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102540408A CN102096637A (en) 2009-12-15 2009-12-15 Nonvolatile memory device and wear leveling method thereof

Publications (1)

Publication Number Publication Date
CN102096637A true CN102096637A (en) 2011-06-15

Family

ID=44129739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102540408A Pending CN102096637A (en) 2009-12-15 2009-12-15 Nonvolatile memory device and wear leveling method thereof

Country Status (1)

Country Link
CN (1) CN102096637A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981970A (en) * 2012-11-23 2013-03-20 深圳市江波龙电子有限公司 Flash memory management method and system
CN113110797A (en) * 2020-01-10 2021-07-13 祥硕科技股份有限公司 Data storage system, data storage device and management method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981970A (en) * 2012-11-23 2013-03-20 深圳市江波龙电子有限公司 Flash memory management method and system
CN102981970B (en) * 2012-11-23 2016-08-03 深圳市江波龙电子有限公司 Flash memory management method and system
CN113110797A (en) * 2020-01-10 2021-07-13 祥硕科技股份有限公司 Data storage system, data storage device and management method thereof

Similar Documents

Publication Publication Date Title
CN103562842B (en) The method for realizing low write amplification with low reserved space for storage device
CN108182034B (en) Storage system and operation method thereof
EP1700204B1 (en) Data run programming
CN100419714C (en) Flash memory file system
CN101154190B (en) Mapping information managing apparatus and method
CN102693184B (en) Handling dynamic and static data for a system having a non-volatile memory
CN109144887B (en) Memory system and control method for controlling nonvolatile memory
US8239612B2 (en) Memory controller, flash memory system with memory controller, and control method of flash memory
US20190026223A1 (en) Memory system and non-transitory computer readable recording medium
US20050144363A1 (en) Data boundary management
US9104554B2 (en) Storage apparatus, storage controller and method for relocating data in solid state drive
CN102341793A (en) Memory block selection
WO2003027828A1 (en) Method of writing data to non-volatile memory
WO2009096180A1 (en) Memory controller, nonvolatile storage device, and nonvolatile storage system
KR100624973B1 (en) An Efficient Wear-leveling Scheme for Flash MemoryK-leveling
GB2411499A (en) Maintaining erased blocks in a non-volatile memory
CN102096637A (en) Nonvolatile memory device and wear leveling method thereof
CN102023927A (en) Flash memory control device and access method thereof
US11687448B2 (en) Memory system and non-transitory computer readable recording medium
TWI416525B (en) Nonvolatile memory apparatus and wear leveling method thereof
EP2672389B1 (en) Memory controller
CN115576873A (en) Memory system and control method
US10877698B2 (en) Semiconductor device for managing cold addresses of nonvolatile memory device
CN109634514B (en) Method and system for reading and writing data of chip memory
US20240143223A1 (en) Storage device and method of operating the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110615