CN105068938A - Wear balancing method of non-volatile memory based on multi-level cell - Google Patents
Wear balancing method of non-volatile memory based on multi-level cell Download PDFInfo
- Publication number
- CN105068938A CN105068938A CN201510490972.8A CN201510490972A CN105068938A CN 105068938 A CN105068938 A CN 105068938A CN 201510490972 A CN201510490972 A CN 201510490972A CN 105068938 A CN105068938 A CN 105068938A
- Authority
- CN
- China
- Prior art keywords
- sub
- storage areas
- storage area
- cold
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013507 mapping Methods 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims 7
- 238000005299 abrasion Methods 0.000 claims 6
- 230000008901 benefit Effects 0.000 abstract description 11
- 230000001186 cumulative effect Effects 0.000 description 19
- 230000015556 catabolic process Effects 0.000 description 9
- 238000006731 degradation reaction Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 239000010410 layer Substances 0.000 description 6
- 239000002356 single layer Substances 0.000 description 5
- 235000012431 wafers Nutrition 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 101100130592 Caenorhabditis elegans mlc-4 gene Proteins 0.000 description 2
- 101710109784 Myosin regulatory light chain 12B Proteins 0.000 description 2
- 101710092698 Myosin regulatory light chain 2 Proteins 0.000 description 2
- 101710112127 Myosin regulatory light chain 2, skeletal muscle isoform Proteins 0.000 description 2
- 101710105127 Myosin regulatory light chain 2, ventricular/cardiac muscle isoform Proteins 0.000 description 2
- 102100026925 Myosin regulatory light chain 2, ventricular/cardiac muscle isoform Human genes 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012884 algebraic function Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种基于多层单元的非易失内存系统的磨损均衡方法。包括:将非易失内存系统的存储区域的每个晶元划分为多个子存储区域;对每个子存储区域,在其每执行P个写请求之后,使用基于代数的磨损均衡算法随机交换该子存储区域的物理行中的数据;在非易失内存系统的存储区域每执行T个写请求之后,从各子存储区域中选取一个“热”子存储区域和一个“冷”子存储区域进行数据交换;其中,T为区域交换间隔,为预定值或随机数,“热”子存储区域是指累积写次数较多的子存储区域,“冷”子存储区域是指累积写次数较少的子存储区域。本发明结合了基于表格的磨损均衡算法和基于代数的磨损均衡算法的优势,具有高寿命和安全可靠的优点。
The invention discloses a wear leveling method of a non-volatile memory system based on multi-level units. Including: dividing each wafer in the storage area of the non-volatile memory system into multiple sub-storage areas; for each sub-storage area, after each execution of P write requests, use an algebra-based wear leveling algorithm to randomly exchange the sub-storage area Data in the physical row of the storage area; after every T write requests are executed in the storage area of the non-volatile memory system, a "hot" sub-storage area and a "cold" sub-storage area are selected from each sub-storage area for data Exchange; wherein, T is the area exchange interval, which is a predetermined value or a random number. storage area. The invention combines the advantages of the table-based wear leveling algorithm and the algebra-based wear leveling algorithm, and has the advantages of long service life, safety and reliability.
Description
技术领域technical field
本发明属于固态存储领域,更具体地,涉及一种基于多层单元的非易失内存系统的磨损均衡方法。The invention belongs to the field of solid-state storage, and more specifically relates to a wear leveling method of a multi-level unit-based nonvolatile memory system.
背景技术Background technique
随着多核技术的发展,计算机系统对内存的需求越来越高,包括容量、功耗、性能、可扩展性等多个方面。传统的动态随机存取存储器(DynamicRandomAccessMemory,DRAM)内存由于受到可扩展性和漏电功耗的约束,面对新的应用环境,其发展受到了限制。With the development of multi-core technology, computer systems have higher and higher requirements for memory, including capacity, power consumption, performance, scalability and other aspects. The development of traditional dynamic random access memory (Dynamic Random Access Memory, DRAM) is limited in the face of new application environments due to the constraints of scalability and leakage power consumption.
新型非易失存储(Non-VolatileMemory,NVM)技术的出现,为内存系统的发展提供了一种新的解决思路。当前的新型非易失存储器主要有相变存储器(PhaseChangeMemory,PCM)和忆阻器(ResistiveRandomAccessMemory,RRAM)等,它们具有容量大、功耗低、性能高的优点,是下一代内存最有竞争力的候选者。相比DRAM技术,这些非易失存储器在能耗、性能、可扩展性等方面具有显著的优势,引起学术界和产业界大量的关注,当前基于非易失内存的研究也是一个热点方向。The emergence of new non-volatile memory (Non-VolatileMemory, NVM) technology provides a new solution for the development of memory systems. The current new non-volatile memory mainly includes phase change memory (PhaseChangeMemory, PCM) and memristor (ResistiveRandomAccessMemory, RRAM), which have the advantages of large capacity, low power consumption and high performance, and are the most competitive for next-generation memory. candidates. Compared with DRAM technology, these non-volatile memories have significant advantages in terms of energy consumption, performance, and scalability, and have attracted a lot of attention from academia and industry. The current research based on non-volatile memories is also a hot topic.
为了提高NVM芯片的性价比,多层单元技术(Multi-LevelCell,MLC)将会被应用到NVM系统中,这使得一个单元可以存储2个或者4个数据位,因此,MLC-2/MLC-4芯片相对其单层的版本(Single-LevelCell,SLC)具有更大容量和更低的价格优势。但是由于材料限制和过度编程操作,导致MLC-2/MLC-4芯片的耐久性比其单层的版本降低100倍。其较低的耐久性限制所带来的寿命问题,成为了它们扮演内主存角色的主要瓶颈。在SLC技术中,PCM芯片中每个单元的最大写次数是107~108,而RRAM是108~1012。在MLC技术中,PCM芯片中每个单元的耐久性是105~106,而RRAM可以达到107。均匀的写访问可以使得NVM芯片达到几年的使用寿命,但是不均匀的写访问可以使得一些存储单元在几秒钟内被磨穿,从而导致内存失效。因此,利用磨损均衡技术,把不均衡的上层写访问转化为均衡的底层写访问,以延长这些NVM系统的使用寿命,显得格外重要。In order to improve the cost performance of NVM chips, multi-level cell technology (Multi-LevelCell, MLC) will be applied to the NVM system, which allows a cell to store 2 or 4 data bits, therefore, MLC-2/MLC-4 Compared with its single-layer version (Single-LevelCell, SLC), the chip has larger capacity and lower price advantages. But due to material limitations and over-programming operations, the endurance of MLC-2/MLC-4 chips is 100 times lower than that of their single-layer versions. The longevity issues posed by their low endurance limit became the main bottleneck for them to play the main memory role. In the SLC technology, the maximum write times of each unit in the PCM chip is 10 7 -10 8 , while that of the RRAM is 10 8 -10 12 . In MLC technology, the durability of each unit in the PCM chip is 10 5 -10 6 , while RRAM can reach 10 7 . Uniform write access can make NVM chips last for several years, but uneven write access can cause some memory cells to wear out within seconds, leading to memory failure. Therefore, it is particularly important to use wear leveling technology to convert unbalanced upper-layer write accesses into balanced lower-layer write accesses to prolong the service life of these NVM systems.
针对非易失内存的磨损均衡算法,已有的研究工作可以分为两类——基于表格的磨损均衡算法(TBWL)和基于代数的磨损均衡算法(AWL)。(1)基于表格的磨损均衡算法:该类算法记录了每个逻辑块和物理块的映射关系,同时也统计了每个逻辑块的写次数。通过周期性的交换写次数最高和最低的块来平衡块之间的写差距。典型的基于表格的磨损均衡算法有行交换(LineSwapping)、段交换(SegmentSwapping),页交换(PageSwapping)等。它们的区别是最小交换单元的粒度不同,其存储空间开销和交换的时间开销有很大差距。为了达到高的寿命,映射和交换单元的粒度要求足够小,例如行交换,但是这会招致非常高的空间开销。除此之外,大部分的基于表格的磨损算法采用确定的交换策略,这使得恶意的程序可以猜测出待交换区域的新位置,从而对一个特定区域进行强力攻击,导致这个区域的所有行都被磨穿。(2)基于代数的磨损均衡算法:典型的算法有Start-Gap和SecurityRefresh等。基于代数的磨损均衡算法通过代数映射,周期性的移动物理行,通过大量的行交换从概率上使得“热”的逻辑行可以移动到各个物理行上,其物理地址可以通过给定的逻辑地址和代数函数计算获得。基于代数的磨损均衡算法具有低开销,高安全性的优点,目前已经被应用在基于NVM的原型平台中。For the wear leveling algorithm of non-volatile memory, the existing research work can be divided into two categories - table-based wear leveling algorithm (TBWL) and algebra-based wear leveling algorithm (AWL). (1) Table-based wear leveling algorithm: This type of algorithm records the mapping relationship between each logical block and physical block, and also counts the write times of each logical block. Write gaps between blocks are balanced by periodically exchanging blocks with the highest and lowest write counts. Typical table-based wear leveling algorithms include line swapping (LineSwapping), segment swapping (SegmentSwapping), page swapping (PageSwapping), etc. The difference between them is that the granularity of the smallest switching unit is different, and there is a big gap between the storage space overhead and the switching time overhead. To achieve a high lifetime, the granularity of mapping and swapping units is required to be small enough, such as row swapping, but this incurs a very high space overhead. In addition, most table-based wear and tear algorithms use a deterministic swap strategy, which allows malicious programs to guess the new location of the area to be swapped, so as to carry out a brute force attack on a specific area, causing all rows in this area to be destroyed. worn out. (2) Algebra-based wear leveling algorithm: Typical algorithms include Start-Gap and SecurityRefresh. The algebra-based wear leveling algorithm periodically moves physical rows through algebraic mapping, and through a large number of row exchanges, the "hot" logical row can be moved to each physical row in probability, and its physical address can pass a given logical address and algebraic functions to obtain. The algebra-based wear leveling algorithm has the advantages of low overhead and high security, and has been applied in the prototype platform based on NVM.
随着MLC技术应用到NVM系统中,内存容量成倍增加导致了基于表格的磨损均衡算法的空间开销也伴随着大量增加,例如在64GB的系统中,空间开销达到2.5GB,无法应用到真实的系统。而耐久性下降导致基于代数磨损均衡算法交换的次数降低,不充足的交换次数导致不平衡的写分布问题,从而直接导致低的使用寿命。为了提升基于代数的磨损均衡算法的效率,典型的方法有提高交换频率和增加区域数量。提高交换频率会导致性能下降,而增加区域数量会恶化区域间不平衡的写通信量,反而降低使用寿命。With the application of MLC technology to the NVM system, the memory capacity has doubled, resulting in a large increase in the space overhead of the wear leveling algorithm based on the table. For example, in a 64GB system, the space overhead reaches 2.5GB, which cannot be applied to real system. The decrease in durability leads to a reduction in the number of exchanges based on the algebraic wear leveling algorithm. Insufficient exchange times lead to unbalanced write distribution, which directly leads to a low service life. In order to improve the efficiency of the algebra-based wear leveling algorithm, typical methods include increasing the exchange frequency and increasing the number of regions. Increasing the swap frequency will lead to performance degradation, and increasing the number of regions will worsen the unbalanced write traffic between regions, which will reduce the service life.
发明内容Contents of the invention
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于多层单元的非易失内存系统的磨损均衡方法,有机结合了基于表格的磨损均衡算法和基于代数的磨损均衡算法的优势并且克服了各自的缺陷,具有高寿命和安全可靠的优点。Aiming at the above defects or improvement needs of the prior art, the present invention provides a wear leveling method based on a multi-layer unit non-volatile memory system, which organically combines the advantages of a table-based wear leveling algorithm and an algebra-based wear leveling algorithm And overcome their respective defects, with long life and the advantages of safety and reliability.
为实现上述目的,本发明提供了一种基于多层单元的非易失内存系统的磨损均衡方法,其特征在于,包括如下步骤:(1)将非易失内存系统的存储区域的每个晶元划分为多个子存储区域,每个子存储区域由若干个物理行组成;(2)对每个子存储区域,在其每执行P个写请求之后,使用基于代数的磨损均衡算法随机交换该子存储区域的物理行中的数据,从而实现子存储区域内部的写次数平衡;其中,P为预定的基于代数的磨损均衡算法的交换周期;(3)在非易失内存系统的存储区域每执行T个写请求之后,从各子存储区域中选取一个“热”子存储区域和一个“冷”子存储区域进行数据交换,从而实现子存储区域之间的写次数平衡;其中,T为区域交换间隔,为预定值或随机数,“热”子存储区域是指访问较频繁,累积写次数较多的子存储区域,“冷”子存储区域是指访问不频繁,累积写次数较少的子存储区域。In order to achieve the above object, the present invention provides a wear leveling method of a non-volatile memory system based on multi-level units, which is characterized in that it includes the following steps: (1) each chip in the storage area of the non-volatile memory system The unit is divided into multiple sub-storage areas, and each sub-storage area is composed of several physical rows; (2) For each sub-storage area, after each execution of P write requests, the sub-storage area is randomly exchanged using an algebra-based wear leveling algorithm The data in the physical row of the area, so as to realize the balance of write times inside the sub-storage area; where, P is the exchange cycle of the predetermined algebra-based wear leveling algorithm; (3) every time T is executed in the storage area of the non-volatile memory system After a write request, a "hot" sub-storage area and a "cold" sub-storage area are selected from each sub-storage area for data exchange, so as to achieve a balance of write times between the sub-storage areas; where T is the area exchange interval , is a predetermined value or a random number, the "hot" sub-storage area refers to the sub-storage area with more frequent access and more cumulative write times, and the "cold" sub-storage area refers to the sub-storage area with less frequent access and less cumulative write times area.
优选地,T为预定值,所述步骤(3)进一步包括如下步骤:(3-1)计算子存储区域的平均累积写次数将累积写次数高于平均值的子存储区域作为“热”子存储区域,将累积写次数低于平均值的子存储区域作为“冷”子存储区域;其中,n为子存储区域的个数,wi为第i个子存储区域的累积写次数;(3-2)计算各“热”子存储区域的权值和各“冷”子存储区域的权值进而计算“热”子存储区域的权值总和和“冷”子存储区域的权值总和(3-3)生成随机数X1和X2,使得(3-4)将X1顺序逐一减去“热”子存储区域的权值,当X1≤0时,选中对应的“热”子存储区域,将X2顺序逐一减去“冷”子存储区域的权值,当X2≤0时,选中对应的“冷”子存储区域;(3-5)交换选中的“热”子存储区域和选中的“冷”子存储区域的所有物理行的数据,执行T个写请求之后,返回步骤(3-1)。Preferably, T is a predetermined value, and the step (3) further includes the following steps: (3-1) calculating the average cumulative write times of the sub-storage area A sub-storage area with a cumulative write count higher than the average value is regarded as a "hot" sub-storage area, and a sub-storage area with a cumulative write count lower than the average value is regarded as a "cold" sub-storage area; wherein, n is the number of sub-storage areas , w i is the cumulative write times of the i-th sub-storage area; (3-2) Calculate the weight of each "hot" sub-storage area and the weights of each "cold" sub-storage region Then calculate the sum of the weights of the "hot" sub-storage area and the sum of the weights of the "cold" sub-storage regions (3-3) Generate random numbers X 1 and X 2 such that (3-4) Sequentially subtract the weight of the "hot" sub-storage area from X 1 one by one. When X 1 ≤ 0, select the corresponding "hot" sub-storage area, and subtract the weight of the "cold" sub-storage area from X 2 one by one. The weight of the storage area, when X 2 ≤ 0, select the corresponding "cold" sub-storage area; (3-5) exchange all physical rows of the selected "hot" sub-storage area and the selected "cold" sub-storage area data, after executing T write requests, return to step (3-1).
优选地,T为随机数,所述步骤(3)进一步包括如下步骤:(3-1)生成随机数N,计算得到区域交换间隔T=N*K,其中,K是每个子存储区域包含的物理行数;(3-2)在执行T个写请求后,将累积写次数最多的子存储区域作为“热”子存储区域,将累积写次数最少的子存储区域作为“冷”子存储区域;(3-3)交换“热”子存储区域和“冷”子存储区域的所有物理行的数据,返回步骤(3-1)。Preferably, T is a random number, and the step (3) further includes the following steps: (3-1) generating a random number N, and calculating the area exchange interval T=N*K, wherein K is the Number of physical rows; (3-2) After executing T write requests, use the sub-storage area with the largest cumulative write times as the "hot" sub-storage area, and use the sub-storage area with the least cumulative write times as the "cold" sub-storage area ; (3-3) Exchanging the data of all physical rows of the "hot" sub-storage area and the "cold" sub-storage area, and returning to step (3-1).
优选地,通过如下方法完成“热”子存储区域和“冷”子存储区域的数据交换:(A1)计算待交换的“热”子存储区域和“冷”子存储区域的单个物理行的交换间隔t=T/K,其中,K是每个子存储区域包含的物理行数;(A2)每执行t个写请求,就从待交换的“热”子存储区域中选取一个物理行,与待交换的“冷”子存储区域中偏移地址相同的物理行进行数据交换,直至完成待交换的“热”子存储区域和“冷”子存储区域的所有物理行的数据交换。Preferably, the data exchange of the "hot" sub-storage area and the "cold" sub-storage area is accomplished by (A1) calculating the exchange of a single physical row of the "hot" sub-storage area and the "cold" sub-storage area to be exchanged Interval t=T/K, wherein, K is the number of physical lines that each sub-storage area contains; (A2) every time t write requests are executed, a physical line is selected from the "hot" sub-storage area to be exchanged, and The physical rows with the same offset address in the exchanged "cold" sub-storage area perform data exchange until the data exchange of all physical rows in the "hot" sub-storage area and the "cold" sub-storage area to be exchanged is completed.
优选地,所述步骤(2)中,由数据交换引起的内存读写操作直接在晶元内部执行,不占用内存控制器和总线资源。Preferably, in the step (2), the memory read and write operations caused by data exchange are directly executed inside the wafer, without occupying memory controller and bus resources.
优选地,所述步骤(3)由内存控制器执行,由数据交换引起的内存读写操作占用总线资源。Preferably, the step (3) is executed by a memory controller, and memory read and write operations caused by data exchange occupy bus resources.
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:Generally speaking, compared with the prior art, the above technical solution conceived by the present invention has the following beneficial effects:
1、有机结合了基于表格的磨损均衡算法和基于代数的磨损均衡算法。其核心思想是把整个空间划分为很多个子存储区域,在区域内部采用基于代数的磨损均衡算法,在区域之间采用基于表格的磨损均衡算法,从而实现低的空间开销和高的使用寿命。1. It organically combines the table-based wear leveling algorithm and the algebra-based wear leveling algorithm. Its core idea is to divide the entire space into many sub-storage areas, adopt algebra-based wear leveling algorithm inside the area, and use table-based wear leveling algorithm between areas, so as to achieve low space overhead and high service life.
2、在NVM晶元(bank)中执行单层的基于代数的磨损均衡算法,即各个子存储区域之间完全独立,这既避免了由基于代数的磨损均衡算法发送出的额外请求占用总线导致性能降级问题,同时使得上层的内存控制器可以精确记录每个存储子区域的累积写次数。2. Execute a single-layer algebra-based wear leveling algorithm in the NVM wafer (bank), that is, each sub-storage area is completely independent, which avoids the additional requests sent by the algebra-based wear leveling algorithm to occupy the bus. Performance degradation problem, while enabling the upper memory controller to accurately record the cumulative write times of each storage sub-area.
3、在内存控制器中执行基于表格的子存储区域磨损均衡算法,可以有效利用更多的硬件资源,采用更复杂的交换策略平衡所有晶元内部和晶元之间的子存储区域的写次数,同时获得高的使用寿命和安全性。3. Execute the table-based sub-storage area wear leveling algorithm in the memory controller, which can effectively use more hardware resources and adopt more complex exchange strategies to balance the write times of all sub-storage areas within and between wafers , while obtaining high service life and safety.
附图说明Description of drawings
图1是本发明实施例的基于多层单元的非易失内存系统的磨损均衡方法的原理示意图;1 is a schematic diagram of the principle of a wear leveling method for a non-volatile memory system based on multi-level cells according to an embodiment of the present invention;
图2是细粒度的交换方法的原理示意图。FIG. 2 is a schematic diagram of the principle of the fine-grained exchange method.
具体实施方式Detailed ways
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.
为了便于理解本发明,首先对本发明中出现的以下名词进行解释:In order to facilitate understanding of the present invention, at first the following nouns appearing in the present invention are explained:
物理行:内存系统最基本的访问单元。在不同的系统中,行大小可以不同,通常一个行大小可以为64字节,128字节,256字节。Physical row: The most basic access unit of the memory system. In different systems, the row size can be different, usually a row size can be 64 bytes, 128 bytes, 256 bytes.
子存储区域:由若干个物理行组成,通常一个子存储区域可以由2048、4096或8192个行组成。Sub-storage area: composed of several physical rows, usually a sub-storage area can be composed of 2048, 4096 or 8192 rows.
物理地址:物理设备所对应的地址,它是一个真实地址。Physical address: The address corresponding to the physical device, which is a real address.
逻辑地址:上层应用程序请求的地址,是一个虚拟地址。Logical address: The address requested by the upper application program, which is a virtual address.
“热”子存储区域:特指访问较频繁,累积写次数较多的子存储区域。"Hot" sub-storage area: specifically refers to a sub-storage area with frequent access and a large number of accumulated write times.
“冷”子存储区域:特指访问不频繁,累积写次数较少的子存储区域。"Cold" sub-storage area: specifically refers to a sub-storage area that is accessed infrequently and has a small cumulative number of writes.
图1是本发明实施例的基于多层单元的非易失内存系统的磨损均衡方法的原理示意图。非易失内存控制器中包含区域交换、地址映射和请求队列模块。地址映射表统计了每个逻辑区域号对应的物理区域号,累积的写次数和最近一次交换的时间。累积写次数和交换时间是为了精确地进行冷热区域的交换。除此之外,区域交换还需要使用一个寄存器组,包含4个寄存器,其中两个寄存器分别记录当前正在交换的区域,一个寄存器记录已经交换行数,最后一个寄存器记录内存累积写入次数,这个寄存器用来触发区域交换。单层的基于代数的磨损均衡模块集成在NVMbank中,每个基于代数的磨损均衡模块独立管理一个区域。基于代数的磨损均衡模块使用纯硬件实现,具有低开销和低延时的优势。FIG. 1 is a schematic diagram of a wear leveling method for a non-volatile memory system based on multi-level cells according to an embodiment of the present invention. The non-volatile memory controller contains the area swap, address map, and request queue modules. The address mapping table counts the physical area number corresponding to each logical area number, the accumulated write times and the time of the latest exchange. The cumulative write count and swap time are for accurate swapping of hot and cold regions. In addition, area exchange also needs to use a register set, including 4 registers, two of which record the area currently being exchanged, one register records the number of rows that have been exchanged, and the last register records the cumulative write times of the memory. Registers are used to trigger zone swaps. The single-layer algebra-based wear leveling module is integrated in NVMbank, and each algebra-based wear leveling module independently manages an area. The algebra-based wear leveling module is implemented using pure hardware, which has the advantages of low overhead and low latency.
除此之外,针对基于表格的磨损均衡算法安全性较差的问题,本发明使用了一种随机交换策略,使得恶意的程序无法猜测交换时间和新的物理位置。同时本发明设计了一种细粒度的交换方式,可以避免区域交换时的性能降级。In addition, aiming at the poor security of the table-based wear leveling algorithm, the present invention uses a random exchange strategy, so that malicious programs cannot guess the exchange time and new physical location. At the same time, the present invention designs a fine-grained exchange mode, which can avoid performance degradation during area exchange.
为了平衡一个区域内部各个行之间不均衡的写分布,本发明使用单层的基于代数的磨损均衡算法独立地管理各个区域,使得写次数多的“热”行可以快速的与这个区域内的其他行进行交换,避免一个行被过早的磨穿。典型的基于代数的磨损均衡算法有Start-Gap和SecurityRefresh。Start-Gap是在每个区域内部预留一个空白行,周期性的交换空白行和其邻居行。Start-Gap需要3个寄存器,分别存储最小逻辑地址对应的物理地址,空白行指针和写计数器。SecurityRefresh周期性的把所有行移动一个随机的偏移,每轮交换完成后,再随机生成一个新的秘钥(key),作为下一轮移动的距离。SecurityRefresh需要4个寄存器,分别存放上一轮的秘钥,当前轮的秘钥,当前内部交换指针和写计数器。基于代数的磨损均衡算法以非常低的计算和存储开销平衡区域内部各行之间的写次数。在代数映射中,逻辑行地址与物理行地址存在函数映射关系,通过简单的代数计算,就可以得到逻辑行地址所对应的物理行地址。在本发明中,每个区域都独立进行基于代数的磨损均衡策略,以使得“热”的区域可以进行更多有效的移动。基于代数的磨损模块使用纯硬件实现,具有低延时的优势。In order to balance the unbalanced write distribution among rows in a region, the present invention uses a single-layer algebra-based wear leveling algorithm to manage each region independently, so that the "hot" row with a large number of writes can be quickly compared with the rows in the region. Other rows are swapped to avoid premature wear-through of one row. Typical algebra-based wear leveling algorithms include Start-Gap and SecurityRefresh. Start-Gap is to reserve a blank line inside each area, and periodically exchange the blank line with its neighbors. Start-Gap needs 3 registers, which respectively store the physical address corresponding to the minimum logical address, the blank line pointer and the write counter. SecurityRefresh periodically moves all rows by a random offset. After each round of exchange, a new secret key (key) is randomly generated as the moving distance for the next round. SecurityRefresh requires 4 registers to store the secret key of the previous round, the secret key of the current round, the current internal exchange pointer and the write counter. An algebra-based wear leveling algorithm balances the number of writes between rows within a region with very low computational and storage overhead. In algebraic mapping, there is a functional mapping relationship between the logical row address and the physical row address, and the physical row address corresponding to the logical row address can be obtained through simple algebraic calculation. In the present invention, each region independently implements an algebra-based wear leveling strategy, so that "hot" regions can move more efficiently. The algebra-based wear module is implemented using pure hardware, which has the advantage of low latency.
如上所述,基于代数的磨损均衡算法使得在非易失内存中的每一个区域内部,都能很好的达到负载均衡的目标。As mentioned above, the wear leveling algorithm based on algebra makes it possible to well achieve the goal of load balancing within each area in the non-volatile memory.
本发明实施例的基于多层单元的非易失内存系统的磨损均衡方法包括如下步骤:The wear leveling method of the non-volatile memory system based on the multi-layer unit in the embodiment of the present invention comprises the following steps:
(1)将NVM系统的存储区域的每个晶元划分为多个子存储区域,每个子存储区域由若干个物理行组成。(1) Each wafer in the storage area of the NVM system is divided into multiple sub-storage areas, and each sub-storage area is composed of several physical rows.
(2)对每个子存储区域,在其每执行P个写请求之后,使用基于代数的磨损均衡算法随机交换该子存储区域的物理行中的数据,从而实现子存储区域内部的写次数平衡。(2) For each sub-storage area, after each execution of P write requests, use an algebra-based wear leveling algorithm to randomly exchange the data in the physical row of the sub-storage area, so as to achieve the balance of write times inside the sub-storage area.
其中,由数据交换引起的内存读写操作直接在晶元内部执行,不占用内存控制器和总线资源;P为基于代数的磨损均衡算法的交换周期,为预定值,综合考虑本发明的磨损均衡方法的寿命和性能选取P的值。优选地,P∈(8,128),此时,本发明的磨损均衡方法的寿命适中,同时其性能降级维持在0.78%和12.5%之间。Among them, the memory read and write operations caused by data exchange are directly executed inside the chip, and do not occupy memory controller and bus resources; P is the exchange period of the algebra-based wear leveling algorithm, which is a predetermined value, and the wear leveling of the present invention is considered comprehensively. The value of P is chosen for the lifetime and performance of the method. Preferably, P∈(8,128), at which point the wear leveling method of the present invention has a moderate lifespan while its performance degradation is maintained between 0.78% and 12.5%.
(3)在NVM系统的存储区域每执行T个写请求之后,从各子存储区域中选取一个“热”子存储区域和一个“冷”子存储区域进行数据交换,从而实现子存储区域之间的写次数平衡。(3) After each execution of T write requests in the storage area of the NVM system, a "hot" sub-storage area and a "cold" sub-storage area are selected from each sub-storage area for data exchange, thereby realizing The number of writes is balanced.
其中,T为预定值或随机数,“热”子存储区域是指访问较频繁,累积写次数较多的子存储区域,“冷”子存储区域是指访问不频繁,累积写次数较少的子存储区域。该步骤由内存控制器执行,由数据交换引起的内存读写操作占用总线资源。Among them, T is a predetermined value or a random number, the "hot" sub-storage area refers to the sub-storage area with more frequent access and more cumulative write times, and the "cold" sub-storage area refers to the sub-storage area with infrequent access and less cumulative write times sub storage area. This step is performed by the memory controller, and memory read and write operations caused by data exchange occupy bus resources.
通过执行上述步骤(2)和(3),分别在不同层次完成子存储区域内部和子存储区域之间的写次数平衡,从而实现磨损均衡。By performing the above steps (2) and (3), the balance of write times within the sub-storage areas and between the sub-storage areas is completed at different levels, thereby achieving wear leveling.
为了平衡区域之间的写通信量并且避免强力的区域攻击,采用传统的确定性的交换算法,例如周期性的交换最冷和最热的区域,会导致恶意的程序跟踪并强力攻击特定的物理区域,致使设备很早就失效。例如一个包含2048个行的区域,采用确定性的算法,被恶意磨穿只需要39分钟,为了避免这种现象,本发明设计了一种基于加权的随机选择算法或者动态随机调整交换周期来完成区域之间的交换。因此恶意的程序无法探测出被交换区域的新位置和交换时间,从而有效的避免攻击。In order to balance the write traffic between areas and avoid brute-force area attacks, traditional deterministic exchange algorithms, such as periodically exchanging the coldest and hottest areas, will cause malicious programs to track and brute-force attack specific physical area, resulting in early failure of the device. For example, for an area containing 2048 rows, using a deterministic algorithm, it only takes 39 minutes to be worn out maliciously. In order to avoid this phenomenon, the present invention designs a weighted random selection algorithm or dynamically adjusts the exchange cycle to complete exchange between regions. Therefore, malicious programs cannot detect the new location and exchange time of the exchanged area, thereby effectively avoiding attacks.
在本发明的一个实施例中,通过基于加权的随机选择算法选择出待交换的“冷”子存储区域和“热”子存储区域,上述步骤(3)进一步包括如下步骤:In one embodiment of the present invention, the "cold" sub-storage area and the "hot" sub-storage area to be exchanged are selected by a weight-based random selection algorithm, and above-mentioned step (3) further includes the following steps:
(3-1)计算子存储区域的平均累积写次数将累积写次数高于平均值的子存储区域作为“热”子存储区域,将累积写次数低于平均值的子存储区域作为“冷”子存储区域;其中,n为子存储区域的个数,wi为第i个子存储区域的累积写次数。(3-1) Calculate the average cumulative write times of the sub-storage area A sub-storage area with a cumulative write count higher than the average value is regarded as a "hot" sub-storage area, and a sub-storage area with a cumulative write count lower than the average value is regarded as a "cold" sub-storage area; wherein, n is the number of sub-storage areas , w i is the cumulative write times of the i-th sub-storage area.
(3-2)计算各“热”子存储区域的权值和各“冷”子存储区域的权值进而计算“热”子存储区域的权值总和和“冷”子存储区域的权值总和 (3-2) Calculate the weight of each "hot" sub-storage area and the weights of each "cold" sub-storage region Then calculate the sum of the weights of the "hot" sub-storage area and the sum of the weights of the "cold" sub-storage regions
(3-3)生成随机数X1和X2,使得
(3-4)将X1顺序逐一减去“热”子存储区域的权值,当X1≤0时,选中对应的“热”子存储区域,将X2顺序逐一减去“冷”子存储区域的权值,当X2≤0时,选中对应的“冷”子存储区域。(3-4) Sequentially subtract the weight of the "hot" sub-storage area from X 1 one by one. When X 1 ≤ 0, select the corresponding "hot" sub-storage area, and subtract the weight of the "cold" sub-storage area from X 2 one by one. The weight of the storage area. When X 2 ≤ 0, the corresponding "cold" sub-storage area is selected.
(3-5)交换选中的“热”子存储区域和选中的“冷”子存储区域的所有物理行的数据,执行T个写请求之后,返回步骤(3-1)。(3-5) Exchanging the data of all the physical rows of the selected "hot" sub-storage area and the selected "cold" sub-storage area, and returning to step (3-1) after executing T write requests.
其中,T为区域交换间隔,为预定值,综合考虑磨损均衡方法的寿命和性能选取T的值。优选地,T=128*K,此时,磨损均衡方法的寿命适中,同时其性能降级维持在1.56%左右,其中,K为是每个子存储区域包含的物理行数。Wherein, T is the area exchange interval, which is a predetermined value, and the value of T is selected comprehensively considering the lifetime and performance of the wear leveling method. Preferably, T=128*K, at this time, the lifetime of the wear leveling method is moderate, and its performance degradation is maintained at about 1.56%, where K is the number of physical rows contained in each sub-storage area.
在本发明的一个实施例中,通过动态随机调整交换间隔的方法选择出待交换的“冷”子存储区域和“热”子存储区域,上述步骤(3)进一步包括如下步骤:In one embodiment of the present invention, the "cold" sub-storage area and the "hot" sub-storage area to be exchanged are selected by dynamically randomly adjusting the exchange interval method, and the above-mentioned step (3) further includes the following steps:
(3-1)生成随机数N,计算得到区域交换间隔T=N*K,其中,K是每个子存储区域包含的物理行数。(3-1) Generate a random number N, and calculate an area exchange interval T=N*K, where K is the number of physical rows contained in each sub-storage area.
N越小,该磨损均衡方法的寿命越长,但同时会导致其性能下降,反之亦然。优选地,N∈(64,256),此时磨损均衡方法的寿命适中,同时其性能降级维持在3.13%和0.78%之间。The smaller N is, the longer the lifetime of the wear leveling method will be, but at the same time it will cause its performance to degrade, and vice versa. Preferably, N∈(64,256), at which point the lifetime of the wear leveling method is moderate while its performance degradation is maintained between 3.13% and 0.78%.
(3-2)在执行T个写请求后,将累积写次数最多的子存储区域作为“热”子存储区域,将累积写次数最少的子存储区域作为“冷”子存储区域。(3-2) After executing T write requests, use the sub-storage area with the largest accumulated write times as the "hot" sub-storage area, and use the sub-storage area with the least accumulated write times as the "cold" sub-storage area.
(3-3)交换“热”子存储区域和“冷”子存储区域的所有物理行的数据,返回步骤(3-1)。(3-3) Exchange the data of all physical rows of the "hot" sub-storage area and the "cold" sub-storage area, and return to step (3-1).
在对两个子存储区域进行数据交换时,会迁移两个子存储区域的所有物理行,交换的请求占满请求队列,这会阻塞正常执行的请求。此时,NVM内存无法提供上层的服务。例如,一个子存储区域包含2048个行,完成数据交换需要6.1ms。为了避免性能降级,本发明实施例采用细粒度的交换方法,逐次迁移所有物理行的数据。When exchanging data between two sub-storage areas, all physical rows of the two sub-storage areas will be migrated, and the exchanged requests will fill up the request queue, which will block normal execution requests. At this time, NVM memory cannot provide upper-layer services. For example, a sub-storage area contains 2048 rows, and it takes 6.1ms to complete the data exchange. In order to avoid performance degradation, the embodiment of the present invention adopts a fine-grained exchange method to migrate data of all physical rows one by one.
细粒度的交换方法包括如下步骤:The fine-grained exchange method includes the following steps:
(A1)计算待交换的“热”子存储区域和“冷”子存储区域的单个物理行的交换间隔t=T/K。(A1) Calculate the exchange interval t=T/K of a single physical row of the "hot" sub-storage area and the "cold" sub-storage area to be exchanged.
(A2)每执行t个写请求,就从待交换的“热”子存储区域中选取一个物理行,与待交换的“冷”子存储区域中偏移地址相同的物理行进行数据交换,直至完成待交换的“热”子存储区域和“冷”子存储区域的所有物理行的数据交换。(A2) Every time t write requests are executed, a physical row is selected from the "hot" sub-storage area to be exchanged, and the data is exchanged with the physical row with the same offset address in the "cold" sub-storage area to be exchanged until Complete the data exchange of all physical rows of the "hot" sub-storage area and the "cold" sub-storage area to be exchanged.
具体地,如图2所示,将待交换的区域号存储到寄存器中,每执行t个写请求,就从待交换的两个区域中选取偏移相同的两个行交换,即从两个区域中分别读取一个行的数据,并写到对方的位置去,同时交换指针加1,当交换指针值达到N时,交换完成,清除寄存器的值。Specifically, as shown in Figure 2, store the number of the area to be exchanged in the register, and each time t write requests are executed, two rows with the same offset are selected from the two areas to be exchanged for exchange, that is, from the two The data of one row is read in the area, and written to the position of the other party. At the same time, the exchange pointer is incremented by 1. When the exchange pointer value reaches N, the exchange is completed and the value of the register is cleared.
下面从空间开销、时间开销、额外写开销和性能影响等方面对本发明的基于多层单元的非易失内存系统的磨损均衡方法进行评估。The following evaluates the wear leveling method of the non-volatile memory system based on multi-level units in the present invention from the aspects of space overhead, time overhead, additional write overhead, and performance impact.
我们把地址映射表存储在SRAM中,便于容量扩展,支持更多数量的bank。用四个32位的寄存器存储区域交换时所需要的值。假设整个非易失内存的容量C=64GB,其包含有M个子存储区域(M=65536),每个子存储区域需要12个字节的存储空间,分别使用一个4字节的空间存储物理地址,累积写次数和最近交换时间。所有的空间开销为:OSUM=(3*M*4+4*4)字节=(12*M+16)字节=256KB。可见,本发明的基于多层单元的非易失内存系统的磨损均衡方法对硬件资源的要求很低。We store the address mapping table in SRAM to facilitate capacity expansion and support more banks. Use four 32-bit registers to store the values needed for area swapping. Assuming that the capacity of the entire non-volatile memory C=64GB, it contains M sub-storage areas (M=65536), each sub-storage area requires 12 bytes of storage space, and uses a 4-byte space to store the physical address, Cumulative write count and last swap time. All space overhead is: OSUM=(3*M*4+4*4) bytes=(12*M+16) bytes=256KB. It can be seen that the wear leveling method of the non-volatile memory system based on multi-layer units of the present invention has very low requirements on hardware resources.
本发明的方法存在两部分时间开销:地址转换的时间开销和执行区域选择算法的时间开销。内存请求在控制器内部需要进行逻辑区域地址到物理区域地址的转换,因此需要在SRAM中查找地址映射表,查表的时间为3~5个处理周期。内存请求在非易失晶元内部需要进行逻辑偏移地址到物理偏移地址的抓换,需要1~2个处理周期。相对于读写操作消耗的时间,这个延时可以忽略。而执行基于加权的随机选择算法需要访问SRAM中的所有数据,消耗的时间达到微秒级别,我们在后台执行,从而隐藏执行时间,缓解其对正常请求的影响。The method of the present invention has two parts of time overhead: the time overhead of address conversion and the time overhead of executing the area selection algorithm. The memory request needs to be converted from the logical area address to the physical area address inside the controller, so the address mapping table needs to be looked up in the SRAM, and the time for looking up the table is 3 to 5 processing cycles. The memory request needs to be switched from the logical offset address to the physical offset address inside the non-volatile wafer, which requires 1 to 2 processing cycles. Compared with the time consumed by read and write operations, this delay can be ignored. However, the execution of the weight-based random selection algorithm needs to access all the data in the SRAM, and the consumption time reaches the microsecond level. We execute it in the background, thereby hiding the execution time and mitigating its impact on normal requests.
额外写开销和性能影响:由于磨损均衡算法引入了额外的请求,这些交换请求会阻塞正常的请求的执行,并且占用系统总线和其他硬件资源,导致了性能降级。额外写开销计算公式是1/P+2/t,其中P是基于代数的磨损均衡算法的交换周期,t是子存储区域的单个物理行的交换间隔。通常t=128,P=8~64,此时额外写开销分别是3.1%~14.1%。而我们采用分层的磨损均衡结构可以有效缓解高的基于代数的磨损均衡算法的开销对系统性能的影响,因此系统性能降级的主要影响是在控制器内部执行的存储子区域的交换,此开销对性能的影响维持在1.56%左右。Additional write overhead and performance impact: Since the wear leveling algorithm introduces additional requests, these exchange requests will block the execution of normal requests and occupy the system bus and other hardware resources, resulting in performance degradation. The formula for calculating the additional write overhead is 1/P+2/t, where P is the exchange period of the algebra-based wear leveling algorithm, and t is the exchange interval of a single physical row in the sub-storage area. Usually t=128, P=8-64, and the additional write overhead is 3.1%-14.1% at this time. However, we adopt a layered wear leveling structure that can effectively alleviate the impact of the high overhead of the algebra-based wear leveling algorithm on system performance. Therefore, the main impact of system performance degradation is the exchange of storage sub-areas performed inside the controller. This overhead The impact on performance remains around 1.56%.
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。Those skilled in the art can easily understand that the above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention, All should be included within the protection scope of the present invention.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510490972.8A CN105068938B (en) | 2015-08-12 | 2015-08-12 | A kind of abrasion equilibrium method of the nonvolatile memory based on multilevel-cell |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510490972.8A CN105068938B (en) | 2015-08-12 | 2015-08-12 | A kind of abrasion equilibrium method of the nonvolatile memory based on multilevel-cell |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105068938A true CN105068938A (en) | 2015-11-18 |
CN105068938B CN105068938B (en) | 2018-04-24 |
Family
ID=54498315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510490972.8A Active CN105068938B (en) | 2015-08-12 | 2015-08-12 | A kind of abrasion equilibrium method of the nonvolatile memory based on multilevel-cell |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105068938B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955891A (en) * | 2016-04-25 | 2016-09-21 | 华中科技大学 | Double-layer wear-leveling method and system |
CN106980799A (en) * | 2017-03-10 | 2017-07-25 | 华中科技大学 | The nonvolatile memory encryption system that a kind of abrasion equilibrium is perceived |
CN108920386A (en) * | 2018-07-20 | 2018-11-30 | 中兴通讯股份有限公司 | Abrasion equilibrium and access method, equipment and storage medium towards Nonvolatile memory |
CN110175385A (en) * | 2019-05-20 | 2019-08-27 | 山东大学 | A kind of non-volatile FPGA layout optimization method and system based on performance abrasion equilibrium |
CN110362268A (en) * | 2018-04-10 | 2019-10-22 | 阿里巴巴集团控股有限公司 | Abrasion equilibrium treating method and apparatus |
TWI718492B (en) * | 2019-03-12 | 2021-02-11 | 群聯電子股份有限公司 | Data storing method, memory storage apparatus and memory control circuit unit |
CN113918478A (en) * | 2020-07-10 | 2022-01-11 | 美光科技公司 | Memory wear management |
-
2015
- 2015-08-12 CN CN201510490972.8A patent/CN105068938B/en active Active
Non-Patent Citations (2)
Title |
---|
LEE B C等: "Phase-change technology and the future of main memory", 《IEEE MICRO》 * |
PINGZHOU,ET AL: "A Durable and Energy Efficient Main Memory Using Phase Change Memory Technology", 《PROCEEDINGS OF THE 36TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955891A (en) * | 2016-04-25 | 2016-09-21 | 华中科技大学 | Double-layer wear-leveling method and system |
CN105955891B (en) * | 2016-04-25 | 2018-12-14 | 华中科技大学 | A kind of bilayer abrasion equilibrium method and system |
CN106980799A (en) * | 2017-03-10 | 2017-07-25 | 华中科技大学 | The nonvolatile memory encryption system that a kind of abrasion equilibrium is perceived |
CN110362268A (en) * | 2018-04-10 | 2019-10-22 | 阿里巴巴集团控股有限公司 | Abrasion equilibrium treating method and apparatus |
CN110362268B (en) * | 2018-04-10 | 2023-10-03 | 阿里巴巴集团控股有限公司 | Wear balance processing method and device |
CN108920386A (en) * | 2018-07-20 | 2018-11-30 | 中兴通讯股份有限公司 | Abrasion equilibrium and access method, equipment and storage medium towards Nonvolatile memory |
CN108920386B (en) * | 2018-07-20 | 2020-06-26 | 中兴通讯股份有限公司 | Wear leveling and access method, equipment and storage medium for nonvolatile memory |
US11320989B2 (en) | 2018-07-20 | 2022-05-03 | Zte Corporation | Wear leveling and access method and device for non-volatile memory, and storage medium |
TWI718492B (en) * | 2019-03-12 | 2021-02-11 | 群聯電子股份有限公司 | Data storing method, memory storage apparatus and memory control circuit unit |
CN110175385A (en) * | 2019-05-20 | 2019-08-27 | 山东大学 | A kind of non-volatile FPGA layout optimization method and system based on performance abrasion equilibrium |
CN113918478A (en) * | 2020-07-10 | 2022-01-11 | 美光科技公司 | Memory wear management |
Also Published As
Publication number | Publication date |
---|---|
CN105068938B (en) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105068938B (en) | A kind of abrasion equilibrium method of the nonvolatile memory based on multilevel-cell | |
Yoon et al. | Efficient data mapping and buffering techniques for multilevel cell phase-change memories | |
Seong et al. | Security refresh: Prevent malicious wear-out and increase durability for phase-change memory with dynamically randomized address mapping | |
Chen et al. | Age-based PCM wear leveling with nearly zero search cost | |
Mutlu | Memory scaling: A systems architecture perspective | |
Meza et al. | Evaluating row buffer locality in future non-volatile main memories | |
KR20170131376A (en) | Cost-optimized single-level cell mode nonvolatile memory for multi-level cell mode nonvolatile memory | |
Shin et al. | Adaptive page grouping for energy efficiency in hybrid PRAM-DRAM main memory | |
CN104380262A (en) | Bad block management mechanism | |
Yun et al. | Bloom filter-based dynamic wear leveling for phase-change RAM | |
Hoseinzadeh et al. | Reducing access latency of MLC PCMs through line striping | |
Wen et al. | Wear leveling for crossbar resistive memory | |
Wu et al. | CAR: Securing PCM main memory system with cache address remapping | |
CN102999441B (en) | Fine granularity memory access method | |
Syu et al. | High-endurance hybrid cache design in CMP architecture with cache partitioning and access-aware policy | |
Chang et al. | Improving PCM endurance with a constant-cost wear leveling design | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
Mittal | Using cache-coloring to mitigate inter-set write variation in non-volatile caches | |
US11055228B2 (en) | Caching bypass mechanism for a multi-level memory | |
Kim et al. | Write performance improvement by hiding R drift latency in phase-change RAM | |
Behnam et al. | R-cache: A highly set-associative in-package cache using memristive arrays | |
Zhou et al. | Increasing lifetime and security of phase-change memory with endurance variation | |
Chen et al. | DRAM write-only-cache for improving lifetime of phase change memory | |
Awad et al. | Performance analysis for using non-volatile memory dimms: opportunities and challenges | |
CN111290706B (en) | Double-layer read-write wear balancing method based on bloom filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |