WO2019136975A1 - Wear leveling method and device for nonvolatile memory - Google Patents
Wear leveling method and device for nonvolatile memory Download PDFInfo
- Publication number
- WO2019136975A1 WO2019136975A1 PCT/CN2018/099754 CN2018099754W WO2019136975A1 WO 2019136975 A1 WO2019136975 A1 WO 2019136975A1 CN 2018099754 W CN2018099754 W CN 2018099754W WO 2019136975 A1 WO2019136975 A1 WO 2019136975A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- window
- address
- volatile memory
- physical block
- gap
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Definitions
- the present invention relates to the field of memory technologies, and in particular, to a wear leveling method and apparatus for a nonvolatile memory.
- Non-volatile memory devices such as solid state drives or USB flash drives have an internal mapping table to represent the physical address from the received logical address to the internal non-volatile memory.
- the host may need more time to write addresses other than the specific logical block address at runtime.
- a logical address is translated from the host to the physical address by address translation.
- the physical address is used for data reading and writing of non-volatile memory such as flash memory.
- the address translator can include memory that stores the logical address mapped physical address required for address translation.
- the non-volatile memory device is divided into a plurality of block groups and distinguishes different components into different windows.
- the wear leveling algorithm first processes block group 0, and the memory only stores the map data of window 1. Therefore, the size of the memory can be fixed, even if there is a large non-volatile memory to increase the amount of mapping.
- this method only makes the number of writes/erases of the same window consistent and the windows are still uneven.
- An object of the present invention is to provide a wear leveling method and apparatus for a nonvolatile memory to solve the problems set forth in the above background art.
- a wear leveling device for a nonvolatile memory including a host, an address converter, and a nonvolatile memory device, wherein the host is connected to an address converter via a bus, An address translator is coupled to the non-volatile memory device via a bus, the address converter being configured to convert a logical address from the host to a physical address of a physical block directed to the non-volatile memory; the address translator including storage logic A memory that maps information between physical blocks.
- the non-volatile memory device is divided into a window and a gap, and there is a gap between every two adjacent windows; the window includes a physical block image to a logical address, and the gap includes a physics not mapped to a logical address Piece.
- the window further includes a free physical block that is not mapped to a logical address; the physical block moves to a front window of the free physical block when the window bandwidth is changed, and when converted, the pointer to the free physical block is changed to point to the physical block.
- a method of a wear leveling device for a non-volatile memory comprising the steps of:
- non-volatile memory is divided into four windows, window 0, window 1, window 2 and window 3; the window does not occupy all non-volatile memory, and window 0 and window 1, window 1 and window 2, window There is a gap between 2 and window 3 and between window 3 and window 0;
- window 0 moves on its boundary to contact with window 1, that is, the gap between window 0 and window 1 is eliminated;
- window 3 is shifted to the right, window 2 and window 1 are shifted at the appropriate time, and as a result all windows are shifted to the right by a gap;
- the shift can be repeated, so part of window 3 moves to the non-volatile memory of window 0; after all the windows are shifted, the window rotates or runs through the entire non-volatile memory for one cycle and returns to their original The location; if a window is written or erased more than a predetermined number of times, the window moves again.
- An advantage of the present invention over the prior art is that the present invention is capable of adjusting the durability of a non-volatile memory device having a non-volatile memory in the same hardware configuration.
- Figure 1 is a schematic view of the overall structure of the present invention
- Figure 2 is a flow chart of the present invention.
- a wear leveling device for a non-volatile memory including a host 1, an address converter 2, and a non-volatile memory device 3, the host 1 passing through a bus
- An address converter 2 is connected, which is connected to a non-volatile memory device 3 via a bus, the address converter 2 being configured to convert a logical address from the host 1 into a physical block directed to the non-volatile memory Physical address;
- the address converter 2 includes a memory 4 that stores mapping information between logical and physical blocks;
- the non-volatile memory device is divided into windows and gaps, and there is a gap between each two adjacent windows;
- the window includes a physical block map to a logical address, and the gap includes a physical block that is not mapped to a logical address; the window is transferred to a non-volatile memory in which the physical block in the window to be moved
- the mapping is converted to some or all of the physical blocks in the gap; the logical address of the physical block pointing to the
- a method of a wear leveling device for a nonvolatile memory includes the following steps:
- non-volatile memory is divided into four windows, window 0, window 1, window 2 and window 3; the window does not occupy all non-volatile memory, and window 0 and window 1, window 1 and window 2, window There is a gap between 2 and window 3 and between window 3 and window 0;
- window 0 moves on its boundary to contact with window 1, that is, the gap between window 0 and window 1 is eliminated;
- window 3 is shifted to the right, window 2 and window 1 are shifted at the appropriate time, and as a result all windows are shifted to the right by a gap;
- the shift can be repeated, so part of window 3 moves to the non-volatile memory of window 0; after all the windows are shifted, the window rotates or runs through the entire non-volatile memory for one cycle and returns to their original The location; if a window is written or erased more than a predetermined number of times, the window moves again.
- the window is moved to the entire non-volatile memory at least once before the erasure/program durability of the non-volatile memory device of the non-volatile memory fails.
- durability can be predicted or pre-erased/written.
- window shifting does not move the entire window data, but moves the window by changing a small number of mappings.
- one physical block can indicate a logical address of 0-255, and a logical address of the next physical block of 256-511 can be indicated.
- This mapping can vary depending on the new flash memory.
- an example of a logical address pointing to a physical block is as follows. For a multi-level cell flash with 4096 physical blocks of 5000 program/erase cycles, each window includes 1022 physical blocks, each gap including 2 physical blocks 1022 and physical blocks 1023. Logical address 0 is mapped to physical block 1021, logical address 1 is mapped to physical block 2, logical address 2 is mapped to physical block 0, and logical address 1021 is mapped to physical block 1.
- window 0 After window 0 is programmed and/or erased a predetermined number of times, for example, window 0 has been programmed and/or erased 2400 times, window 0 will be shifted by 2 blocks. Logical address 0 is mapped to physical block 1021, logical address 1 is mapped to physical block 2, logical address 2 is mapped to physical block 0, and logical address 1021 is mapped to physical block 1.
- window 0 After window 0 is written or erased a predetermined number of times, for example, the window has been written or erased 2400 times, window 0 will be shifted by 2 blocks. According to the present invention, if the amount of physical quantity is insufficient and/or written in the window, the shifting continues.
- the logical addresses 2 and 1021 originally mapped to the physical block 0 and the physical block 1 are changed to the physical block 1023 mapped to the physical block 1022 and the blank, and the other mappings are not changed.
- logical address 1 is initially mapped to physical block 2, and after shifting, logical address 1 is still mapped to physical block 2.
- the data of physical block 2 is not moved or changed. Therefore, the data movement is only two physical blocks, so the impact on performance is negligible; in step 1, the window for generating the corresponding physical address is obtained, and in step 2, the number of writes or erasures of the flash memory to the inspection window of step 3 is erased. Go to the moving line and move the window.
- the increase in gap size has further advantages, especially in terms of customization. For example, if 25 physical blocks are damaged, the flash memory has a window of 1000 logical addresses corresponding to 1024 physical blocks, and it does not work normally. However, if there are too many failed blocks, the window may move when there is a gap until the window contains more than 1000 available physical blocks in the window.
- the present invention is capable of adjusting the durability of a non-volatile memory device having a non-volatile memory in the same hardware configuration.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Disclosed in the present invention are a wear leveling method and device for a nonvolatile memory, comprising a host, an address converter and a nonvolatile memory device, wherein the host is connected to the address converter by means of a bus, the address converter is connected to the nonvolatile memory device by means of a bus, and the address converter is configured to convert a logical address from the host to a physical address of a physical block pointing to the nonvolatile memory. The address converter comprises a memory which stores mapping information between the logic and the physical block. With the present invention, the durability of a nonvolatile storage device provided with the nonvolatile memory may be adjusted under the same hardware configuration.
Description
本发明涉及存储器技术领域,具体为一种非易失性存储器的磨损均衡方法和装置。The present invention relates to the field of memory technologies, and in particular, to a wear leveling method and apparatus for a nonvolatile memory.
非易失性存储器装置如固态硬盘或U盤有一个内部映射表来表达从接收到的逻辑地址到内部非易失性存储器的物理地址。为了均匀地磨损每个非易失性内存的物理块,在运行时主机可能需要更多的时间来写一些特定的逻辑块地址以外的其他地址。如图一所示,一个逻辑地址从主机藉由地址转换转换到物理地址。物理地址用于非易失性存储器(如闪存)的数据读写。地址转换器可以包括存储地址转换所需逻辑地址映射物理地址的内存。Non-volatile memory devices such as solid state drives or USB flash drives have an internal mapping table to represent the physical address from the received logical address to the internal non-volatile memory. In order to evenly wear the physical blocks of each non-volatile memory, the host may need more time to write addresses other than the specific logical block address at runtime. As shown in Figure 1, a logical address is translated from the host to the physical address by address translation. The physical address is used for data reading and writing of non-volatile memory such as flash memory. The address translator can include memory that stores the logical address mapped physical address required for address translation.
存储映射的内存对成本至关重要。较大的内存增加成本。而且,如果内存的大小不够大,一次就不能获得所有的映像数据。因此如果内存的存储容量不足,可以建立一个窗口来解决这个问题。Storing mapped memory is critical to cost. Larger memory increases costs. Moreover, if the size of the memory is not large enough, all image data cannot be obtained at one time. So if the memory storage capacity is insufficient, you can create a window to solve this problem.
非易失性存储装器装置被分成多个块组,而且区分不同的组分到不同的窗口。例如磨损均衡算法首先处理块组0,内存仅存储窗口1的映射数据。因此内存的大小可以是固定的,即使有较大的非易失性存储器使映射量增大。然而,这种方法只能使相同窗口的写入/擦除数量一致不同窗口仍然不平均。The non-volatile memory device is divided into a plurality of block groups and distinguishes different components into different windows. For example, the wear leveling algorithm first processes block group 0, and the memory only stores the map data of window 1. Therefore, the size of the memory can be fixed, even if there is a large non-volatile memory to increase the amount of mapping. However, this method only makes the number of writes/erases of the same window consistent and the windows are still uneven.
发明内容Summary of the invention
本发明的目的在于提供一种非易失性存储器的磨损均衡方法和 装置,以解决上述背景技术中提出的问题。SUMMARY OF THE INVENTION An object of the present invention is to provide a wear leveling method and apparatus for a nonvolatile memory to solve the problems set forth in the above background art.
为实现上述目的,本发明提供如下技术方案:一种非易失性存储器的磨损均衡装置,包括主机、地址转换器和非易失性存储器装置,所述主机通过总线连接地址转换器,所述地址转换器通过总线连接非易失性存储器装置,所述地址转换器被配置成将来自主机的逻辑地址转换为指向非易失性存储器的物理块的物理地址;所述地址转换器包括存储逻辑和物理块之间的映射信息的存储器。In order to achieve the above object, the present invention provides the following technical solution: a wear leveling device for a nonvolatile memory, including a host, an address converter, and a nonvolatile memory device, wherein the host is connected to an address converter via a bus, An address translator is coupled to the non-volatile memory device via a bus, the address converter being configured to convert a logical address from the host to a physical address of a physical block directed to the non-volatile memory; the address translator including storage logic A memory that maps information between physical blocks.
优选的,所述非易失性存储器装置分为窗口和间隙,每两个相邻窗口之间有一个间隙;所述窗口包括物理块映像到逻辑地址,并且间隙包括没有映射到逻辑地址的物理块。Preferably, the non-volatile memory device is divided into a window and a gap, and there is a gap between every two adjacent windows; the window includes a physical block image to a logical address, and the gap includes a physics not mapped to a logical address Piece.
优选的,所述窗口还包括没有映射到逻辑地址的自由物理块;物理块在窗口带宽改为空闲物理块的前窗移,当转换时,指向空闲物理块的指针被更改为指向物理块。Preferably, the window further includes a free physical block that is not mapped to a logical address; the physical block moves to a front window of the free physical block when the window bandwidth is changed, and when converted, the pointer to the free physical block is changed to point to the physical block.
优选的,一种非易失性存储器的磨损均衡装置的方法,包括以下步骤:Preferably, a method of a wear leveling device for a non-volatile memory, comprising the steps of:
A、非易失性存储器分为即四窗,窗口0,窗口1,窗口2和窗口3;该窗口不占用所有非易失性存储器,并且窗口0和窗口1、窗口1和窗口2、窗口2和窗口3之间以及窗口3和窗口0之间存在间隙;A, non-volatile memory is divided into four windows, window 0, window 1, window 2 and window 3; the window does not occupy all non-volatile memory, and window 0 and window 1, window 1 and window 2, window There is a gap between 2 and window 3 and between window 3 and window 0;
B、窗口0在其边界上移动到与窗口1相接触,即窗口0和窗口1之间的间隙被消除;B, window 0 moves on its boundary to contact with window 1, that is, the gap between window 0 and window 1 is eliminated;
C、然后窗口3被右移,窗口2和窗口1在适当的时间被移位,结果所有的窗口都被右移了一个缺口;C, then window 3 is shifted to the right, window 2 and window 1 are shifted at the appropriate time, and as a result all windows are shifted to the right by a gap;
D、移位可以重复,所以窗口3的一部分移动到窗口0的非易失性存储器;在所有窗口被移位后,窗口通过整个非易失性存储器旋转或运行一个周期,并返回到它们原来的位置;如果一个窗口被写入或擦除超过预定次数,窗口就会再次移动。D, the shift can be repeated, so part of window 3 moves to the non-volatile memory of window 0; after all the windows are shifted, the window rotates or runs through the entire non-volatile memory for one cycle and returns to their original The location; if a window is written or erased more than a predetermined number of times, the window moves again.
与现有技术相比,本发明的有益效果是:本发明能够调整非易失性存储装置在相同硬件配置下具有非易失性存储器的耐久性。An advantage of the present invention over the prior art is that the present invention is capable of adjusting the durability of a non-volatile memory device having a non-volatile memory in the same hardware configuration.
图1为本发明整体结构示意图;Figure 1 is a schematic view of the overall structure of the present invention;
图2为本发明流程图。Figure 2 is a flow chart of the present invention.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
请参阅图1-2,本发明提供一种技术方案:一种非易失性存储器的磨损均衡装置,包括主机1、地址转换器2和非易失性存储器装置3,所述主机1通过总线连接地址转换器2,所述地址转换器2通过总线连接非易失性存储器装置3,所述地址转换器2被配置成将来自主机1的逻辑地址转换为指向非易失性存储器的物理块的物理地址;所述地址转换器2包括存储逻辑和物理块之间的映射信息的存储器4;非易失性存储器装置分为窗口和间隙,每两个相邻窗口之间有一个间 隙;所述窗口包括物理块映像到逻辑地址,并且间隙包括没有映射到逻辑地址的物理块;窗口被转移到非易失性存储器中,在该非易失性存储器中,将要移动的窗口中的物理块的映射转换为间隙中的部分或全部物理块;指向移位窗口的物理块的逻辑地址在切换时被改变为指向所述间隙中的物理块;窗口还包括没有映射到逻辑地址的自由物理块;物理块在窗口带宽改为空闲物理块的前窗移,当转换时,指向空闲物理块的指针被更改为指向物理块。Referring to FIG. 1-2, the present invention provides a technical solution: a wear leveling device for a non-volatile memory, including a host 1, an address converter 2, and a non-volatile memory device 3, the host 1 passing through a bus An address converter 2 is connected, which is connected to a non-volatile memory device 3 via a bus, the address converter 2 being configured to convert a logical address from the host 1 into a physical block directed to the non-volatile memory Physical address; the address converter 2 includes a memory 4 that stores mapping information between logical and physical blocks; the non-volatile memory device is divided into windows and gaps, and there is a gap between each two adjacent windows; The window includes a physical block map to a logical address, and the gap includes a physical block that is not mapped to a logical address; the window is transferred to a non-volatile memory in which the physical block in the window to be moved The mapping is converted to some or all of the physical blocks in the gap; the logical address of the physical block pointing to the shifting window is changed to point to the physical block in the gap when switching; Further comprising a free physical block is not mapped to the logical address; the bandwidth of the physical blocks in the window of the front window to move free physical blocks, when the conversion, the points of free physical block pointer is changed to point to the physical blocks.
本发明中,一种非易失性存储器的磨损均衡装置的方法,包括以下步骤:In the present invention, a method of a wear leveling device for a nonvolatile memory includes the following steps:
A、非易失性存储器分为即四窗,窗口0,窗口1,窗口2和窗口3;该窗口不占用所有非易失性存储器,并且窗口0和窗口1、窗口1和窗口2、窗口2和窗口3之间以及窗口3和窗口0之间存在间隙;A, non-volatile memory is divided into four windows, window 0, window 1, window 2 and window 3; the window does not occupy all non-volatile memory, and window 0 and window 1, window 1 and window 2, window There is a gap between 2 and window 3 and between window 3 and window 0;
B、窗口0在其边界上移动到与窗口1相接触,即窗口0和窗口1之间的间隙被消除;B, window 0 moves on its boundary to contact with window 1, that is, the gap between window 0 and window 1 is eliminated;
C、然后窗口3被右移,窗口2和窗口1在适当的时间被移位,结果所有的窗口都被右移了一个缺口;C, then window 3 is shifted to the right, window 2 and window 1 are shifted at the appropriate time, and as a result all windows are shifted to the right by a gap;
D、移位可以重复,所以窗口3的一部分移动到窗口0的非易失性存储器;在所有窗口被移位后,窗口通过整个非易失性存储器旋转或运行一个周期,并返回到它们原来的位置;如果一个窗口被写入或擦除超过预定次数,窗口就会再次移动。D, the shift can be repeated, so part of window 3 moves to the non-volatile memory of window 0; after all the windows are shifted, the window rotates or runs through the entire non-volatile memory for one cycle and returns to their original The location; if a window is written or erased more than a predetermined number of times, the window moves again.
在非挥发性存储器的非易失性存储器装置的擦除/程序耐久性失效之前,至少一次将窗口移动到整个非易失性存储器。在实践中,可 以预测或预先擦除/写入耐久度。根据本发明,窗口移位不会移动完整的窗口数据,而是通过改变少量映射来移动窗口。The window is moved to the entire non-volatile memory at least once before the erasure/program durability of the non-volatile memory device of the non-volatile memory fails. In practice, durability can be predicted or pre-erased/written. According to the present invention, window shifting does not move the entire window data, but moves the window by changing a small number of mappings.
依据目前的闪存操作,一个物理块可以指出逻辑地址0-255,和下一个物理块的逻辑地址256-511可以指出。这种映射可以根据新的闪速存储器而变化。然而说明一个逻辑地址指向一个物理块的例子如下。对于具有5000个程序/擦除周期的4096个物理块的多级单元闪存,每个窗口包括1022个物理块,每个间隙包括2个物理块1022和物理块1023。逻辑地址0映像到物理块1021,逻辑地址1映像到物理块2,逻辑地址2映像到物理块0,逻辑地址1021映像到物理块1。在窗口0被编程和/或擦除预定次数之后,例如窗口0已被编程和/或擦除2400次,窗口0将移位2个块。逻辑地址0映像到物理块1021,逻辑地址1映像到物理块2,逻辑地址2映像到物理块0,逻辑地址1021映像到物理块1。在窗口0被写入或擦除预定次数之后,例如窗口已被写入或擦除2400次,窗口0将移位2个块。根据本发明,如果在窗口中擦除和/或写入物理量不足的数量,则移位继续进行。在移位之后,将原来映射到物理块0和物理块1的逻辑地址2和1021改变为映射到物理块1022和空白中的物理块1023,而其他映射不改变。例如,逻辑地址1最初映像到物理块2,并且在移位之后,逻辑地址1仍然映像到物理块2。换句话说物理块2的数据不被移动或改变。因此数据移动只是两个物理块,因此对性能的影响是微不足道的;步骤1先得到产生对应物理地址的窗口,步骤2擦除闪存接者前往步骤3检察窗口的写入或擦除次数。到达移动的界线,移动窗口。According to current flash operations, one physical block can indicate a logical address of 0-255, and a logical address of the next physical block of 256-511 can be indicated. This mapping can vary depending on the new flash memory. However, an example of a logical address pointing to a physical block is as follows. For a multi-level cell flash with 4096 physical blocks of 5000 program/erase cycles, each window includes 1022 physical blocks, each gap including 2 physical blocks 1022 and physical blocks 1023. Logical address 0 is mapped to physical block 1021, logical address 1 is mapped to physical block 2, logical address 2 is mapped to physical block 0, and logical address 1021 is mapped to physical block 1. After window 0 is programmed and/or erased a predetermined number of times, for example, window 0 has been programmed and/or erased 2400 times, window 0 will be shifted by 2 blocks. Logical address 0 is mapped to physical block 1021, logical address 1 is mapped to physical block 2, logical address 2 is mapped to physical block 0, and logical address 1021 is mapped to physical block 1. After window 0 is written or erased a predetermined number of times, for example, the window has been written or erased 2400 times, window 0 will be shifted by 2 blocks. According to the present invention, if the amount of physical quantity is insufficient and/or written in the window, the shifting continues. After the shift, the logical addresses 2 and 1021 originally mapped to the physical block 0 and the physical block 1 are changed to the physical block 1023 mapped to the physical block 1022 and the blank, and the other mappings are not changed. For example, logical address 1 is initially mapped to physical block 2, and after shifting, logical address 1 is still mapped to physical block 2. In other words, the data of physical block 2 is not moved or changed. Therefore, the data movement is only two physical blocks, so the impact on performance is negligible; in step 1, the window for generating the corresponding physical address is obtained, and in step 2, the number of writes or erasures of the flash memory to the inspection window of step 3 is erased. Go to the moving line and move the window.
此外,间隙尺寸的增加还有进一步的优势,特别是在定制方面。例如如果有25个物理块被损坏,则闪存具有1024个物理块对应的1000个逻辑地址的窗口,则不能正常工作。然而,如果有太多失败的块,窗口可能会在存在间隙时移动,直到窗口包含超过1000个可用的物理块在窗口中。In addition, the increase in gap size has further advantages, especially in terms of customization. For example, if 25 physical blocks are damaged, the flash memory has a window of 1000 logical addresses corresponding to 1024 physical blocks, and it does not work normally. However, if there are too many failed blocks, the window may move when there is a gap until the window contains more than 1000 available physical blocks in the window.
本发明能够调整非易失性存储装置在相同硬件配置下具有非易失性存储器的耐久性。The present invention is capable of adjusting the durability of a non-volatile memory device having a non-volatile memory in the same hardware configuration.
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。While the embodiments of the present invention have been shown and described, it will be understood by those skilled in the art The scope of the invention is defined by the appended claims and their equivalents.
Claims (4)
- 一种非易失性存储器的磨损均衡装置,包括主机(1)、地址转换器(2)和非易失性存储器装置(3),其特征在于:所述主机(1)通过总线连接地址转换器(2),所述地址转换器(2)通过总线连接非易失性存储器装置(3),所述地址转换器(2)被配置成将来自主机(1)的逻辑地址转换为指向非易失性存储器的物理块的物理地址;所述地址转换器(2)包括存储逻辑和物理块之间的映射信息的存储器(4)。A wear leveling device for a non-volatile memory, comprising a host (1), an address converter (2) and a non-volatile memory device (3), characterized in that: the host (1) is converted by a bus connection address (2), the address converter (2) is connected to the non-volatile memory device (3) via a bus, the address converter (2) being configured to convert the logical address from the host (1) to point non- The physical address of the physical block of the volatile memory; the address translator (2) includes a memory (4) that stores mapping information between the logical and physical blocks.
- 根据权利要求1所述的一种非易失性存储器的磨损均衡装置,其特征在于:所述非易失性存储器装置分为窗口和间隙,每两个相邻窗口之间有一个间隙;所述窗口包括物理块映像到逻辑地址,并且间隙包括没有映射到逻辑地址的物理块。A wear leveling device for a nonvolatile memory according to claim 1, wherein said nonvolatile memory device is divided into a window and a gap, and a gap is formed between each two adjacent windows; The window includes a physical block map to a logical address, and the gap includes physical blocks that are not mapped to logical addresses.
- 根据权利要求2所述的一种非易失性存储器的磨损均衡装置,其特征在于:所述窗口还包括没有映射到逻辑地址的自由物理块;物理块在窗口带宽改为空闲物理块的前窗移,当转换时,指向空闲物理块的指针被更改为指向物理块。A wear leveling apparatus for a nonvolatile memory according to claim 2, wherein said window further comprises a free physical block that is not mapped to a logical address; and the physical block is before the window bandwidth is changed to a free physical block The window is shifted, and when converted, the pointer to the free physical block is changed to point to the physical block.
- 实现权利要求1所述的一种非易失性存储器的磨损均衡装置的方法,其特征在于:包括以下步骤:A method for implementing a wear leveling device for a nonvolatile memory according to claim 1, comprising the steps of:A、非易失性存储器分为即四窗,窗口0,窗口1,窗口2和窗口3;该窗口不占用所有非易失性存储器,并且窗口0和窗口1、窗口1和窗口2、窗口2和窗口3之间以及窗口3和窗口0之间存在间隙;A, non-volatile memory is divided into four windows, window 0, window 1, window 2 and window 3; the window does not occupy all non-volatile memory, and window 0 and window 1, window 1 and window 2, window There is a gap between 2 and window 3 and between window 3 and window 0;B、窗口0在其边界上移动到与窗口1相接触,即窗口0和窗口1之间的间隙被消除;B, window 0 moves on its boundary to contact with window 1, that is, the gap between window 0 and window 1 is eliminated;C、然后窗口3被右移,窗口2和窗口1在适当的时间被移位,结果所有的窗口都被右移了一个缺口;C, then window 3 is shifted to the right, window 2 and window 1 are shifted at the appropriate time, and as a result all windows are shifted to the right by a gap;D、移位可以重复,所以窗口3的一部分移动到窗口0的非易失性存储器;在所有窗口被移位后,窗口通过整个非易失性存储器旋转或运行一个周期,并返回到它们原来的位置;如果一个窗口被写入或擦除超过预定次数,窗口就会再次移动。D, the shift can be repeated, so part of window 3 moves to the non-volatile memory of window 0; after all the windows are shifted, the window rotates or runs through the entire non-volatile memory for one cycle and returns to their original The location; if a window is written or erased more than a predetermined number of times, the window moves again.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810030689.0 | 2018-01-12 | ||
CN201810030689.0A CN107918530A (en) | 2018-01-12 | 2018-01-12 | The abrasion equilibrium method and device of a kind of nonvolatile memory |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019136975A1 true WO2019136975A1 (en) | 2019-07-18 |
Family
ID=61891400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/099754 WO2019136975A1 (en) | 2018-01-12 | 2018-08-09 | Wear leveling method and device for nonvolatile memory |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107918530A (en) |
WO (1) | WO2019136975A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918530A (en) * | 2018-01-12 | 2018-04-17 | 江苏华存电子科技有限公司 | The abrasion equilibrium method and device of a kind of nonvolatile memory |
CN108920386B (en) * | 2018-07-20 | 2020-06-26 | 中兴通讯股份有限公司 | Wear leveling and access method, equipment and storage medium for nonvolatile memory |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419573A (en) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | Storage management method, system and storage apparatus |
CN101477492A (en) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | Circulating rewriting flash memory equalization method used for solid state disk |
CN102087632A (en) * | 2009-12-02 | 2011-06-08 | 群联电子股份有限公司 | Data storage method for flash memory, controller and storage system |
US20140129760A1 (en) * | 2012-11-02 | 2014-05-08 | Samsung Electroncs Co., Ltd. | Non-volatile memory system and host configured to communicate with the same |
CN107025178A (en) * | 2015-09-22 | 2017-08-08 | 三星电子株式会社 | Memory Controller, Nonvolatile memory system and its operating method |
CN107918530A (en) * | 2018-01-12 | 2018-04-17 | 江苏华存电子科技有限公司 | The abrasion equilibrium method and device of a kind of nonvolatile memory |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100483552C (en) * | 2002-10-28 | 2009-04-29 | 桑迪士克股份有限公司 | Automated wear leveling in non-volatile storage systems |
US9003159B2 (en) * | 2009-10-05 | 2015-04-07 | Marvell World Trade Ltd. | Data caching in non-volatile memory |
KR20120081351A (en) * | 2011-01-11 | 2012-07-19 | 에스케이하이닉스 주식회사 | Non-volitile memory device for performing ftl and method thereof |
CN103996412A (en) * | 2013-02-19 | 2014-08-20 | 北京同方微电子有限公司 | Power-fail protection method applied to intelligent-card nonvolatile memories |
-
2018
- 2018-01-12 CN CN201810030689.0A patent/CN107918530A/en active Pending
- 2018-08-09 WO PCT/CN2018/099754 patent/WO2019136975A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419573A (en) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | Storage management method, system and storage apparatus |
CN101477492A (en) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | Circulating rewriting flash memory equalization method used for solid state disk |
CN102087632A (en) * | 2009-12-02 | 2011-06-08 | 群联电子股份有限公司 | Data storage method for flash memory, controller and storage system |
US20140129760A1 (en) * | 2012-11-02 | 2014-05-08 | Samsung Electroncs Co., Ltd. | Non-volatile memory system and host configured to communicate with the same |
CN107025178A (en) * | 2015-09-22 | 2017-08-08 | 三星电子株式会社 | Memory Controller, Nonvolatile memory system and its operating method |
CN107918530A (en) * | 2018-01-12 | 2018-04-17 | 江苏华存电子科技有限公司 | The abrasion equilibrium method and device of a kind of nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
CN107918530A (en) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5728672B2 (en) | Hybrid memory management | |
TWI384481B (en) | Method of wear leveling for non-volatile memory and apparatus using the same | |
US10168913B2 (en) | Data storage device and data maintenance method thereof | |
US7773420B2 (en) | Memory card system including NAND flash memory and SRAM/NOR flash memory, and data storage method thereof | |
US8239619B2 (en) | Method and apparatus for high-speed byte-access in block-based flash memory | |
US8966163B2 (en) | Non-volatile memory device and method for programming the same | |
US20150347291A1 (en) | Flash memory based storage system and operating method | |
US20120173795A1 (en) | Solid state drive with low write amplification | |
US9940058B2 (en) | Data storage device and data maintenance method thereof | |
US10073771B2 (en) | Data storage method and system thereof | |
US20090265505A1 (en) | Data writing method, and flash storage system and controller using the same | |
US20140325118A1 (en) | Data writing method, memory controller and memory storage apparatus | |
US9122583B2 (en) | Memory controller and memory storage device and data writing method | |
US20120179859A1 (en) | Nonvolatile memory apparatus performing ftl function and method for controlling the same | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US10712970B2 (en) | Flash memory controller and associated accessing method and electronic device | |
WO2019136975A1 (en) | Wear leveling method and device for nonvolatile memory | |
US10754771B2 (en) | Storage device and storage control method | |
CN111417933B (en) | Offset-based logical block mapping | |
US9507706B2 (en) | Memory system controller including a multi-resolution internal cache | |
CN116364159A (en) | Select gate reliability | |
KR101027687B1 (en) | Solid State Storage System for Controlling Write Operation and Method of Controlling the Same | |
US11222693B2 (en) | Data management method for memory and memory apparatus using the same | |
KR20230049858A (en) | Memory controller and operating method of memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18900156 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18900156 Country of ref document: EP Kind code of ref document: A1 |