CN102567213B - Writing balancing method of phase change memory - Google Patents

Writing balancing method of phase change memory Download PDF

Info

Publication number
CN102567213B
CN102567213B CN 201110391502 CN201110391502A CN102567213B CN 102567213 B CN102567213 B CN 102567213B CN 201110391502 CN201110391502 CN 201110391502 CN 201110391502 A CN201110391502 A CN 201110391502A CN 102567213 B CN102567213 B CN 102567213B
Authority
CN
China
Prior art keywords
array
number
line
step
row
Prior art date
Application number
CN 201110391502
Other languages
Chinese (zh)
Other versions
CN102567213A (en
Inventor
周功业
谢雅旋
章征海
陈进才
Original Assignee
华中科技大学
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 华中科技大学 filed Critical 华中科技大学
Priority to CN 201110391502 priority Critical patent/CN102567213B/en
Publication of CN102567213A publication Critical patent/CN102567213A/en
Application granted granted Critical
Publication of CN102567213B publication Critical patent/CN102567213B/en

Links

Abstract

本发明提供一种相变存储器的写均衡方法,包括:将一个大容量的相变存储系统分成多个存储区域,每个区域包含多个存储阵列,每个阵列又包含多个存储行,每个存储行由多个字节组成,而且在同一个区域,文件数据以条带化方法存储以增加数据地址映射的散化度,阵列内部用邻行拷贝算法进行写均衡即维护一个空白行指针,将与该指针相邻的上一行的有效数据拷贝到该指针所指向位置,以此达到这两个存储行的写均衡,而所有阵列的空白行以隔行映射的方式映射到特殊阵列上,以提高特殊阵列的散化度。 The present invention provides a write equalization method for a phase change memory, comprising: a large-capacity phase change memory system is divided into a plurality of storage regions, each region comprising a plurality of memory arrays, each in turn comprising a plurality of memory rows, each a memory row by a plurality of bytes, and in the same area, file data striping method for storing to increase the dispersion degree of data address mapping, the internal array write equalization adjacent row copy algorithm i.e. maintains a blank row pointer , adjacent the pointer valid data row are copied to the pointer points to the position, in order to achieve writing these two memory rows equilibrium, and blank lines in all of the array as interlace mapping is mapped to the special array, to improve the dispersion degree of special array. 本发明能加大数据地址映射的散化度,更有效地抵御重复写相同存储单元的恶意攻击,以达到整个存储系统的写均衡,从而延长存储系统的寿命和利用率。 The present invention can increase the dispersion degree of data address mapping, more effective against re-writable same memory cell malicious attacks, in order to achieve the write equalization entire storage system, thereby extending the life and efficiency of the storage system.

Description

相变存储器的写均衡方法 Write equalization phase change memory

技术领域 FIELD

[0001] 本发明属于计算机存储设备技术领域,具体涉及一种相变存储器的写均衡方法。 [0001] The present invention pertains to computer storage technology equipment, particularly relates to a write equalization method for a phase change memory.

背景技术 Background technique

[0002]相变存储器(Phase Change-Random Access Memory,简称PCRAM 或PCM)是一种新型的电阻式非易失性半导体存储器,它以硫系化合物材料为存储介质,利用加工到纳米尺寸的相变材料在晶态(材料呈低阻状态)与非晶态(材料呈高阻状态)时所呈现出显著的阻值差异性来实现数据存储。 [0002] PCM (Phase Change-Random Access Memory, referred to as PCRAM or PCM) is a new resistive nonvolatile semiconductor memory, it chalcogenide compound material as the storage medium, by the processing to the nano-sized phase change material in the crystalline state (material low resistance state) and an amorphous (material in high-impedance state) exhibited significant resistance differences enable data storage. PCRAM具有一位可变性、非易失性、读写速度快、存储密度高等诸多优良特性,非常适合作为高密度的独立式或者嵌入式的存储器。 PCRAM having a variability, nonvolatile, read and write speed, a storage density higher many fine features, is very suitable for stand-alone or embedded in a high-density memory. 但是目前相变存储系统的寿命只能达到几年甚至更少,远不能满足用户的需求,因为相变存储器有耐写次数的限制(107_108 次)。 But now the phase change storage life of the system can only reach a few years or even less, can not meet the needs of users, because the phase-change memory has a limited number of write-resistant number (107_108 times).

[0003] 存储器的写均衡主要是描述将从文件系统给出的数据逻辑地址(Logical Address,简称LA),依据一定的策略,映射到物理地址(Physical Address,简称PA)的过程, 以期能最大限度地平衡各个存储单元的写次数,从而延长整个存储系统的寿命。 [0003] write leveling memory is mainly describing the process data logical address from the file system given by (Logical Address, referred to as LA), based on a certain strategy, mapped to a physical address (Physical Address, referred to PA), with a view to the greatest limit balance the respective memory cell write cycles, thereby extending the life of the entire storage system. 传统的写均衡算法,在操作系统层面上维护复杂的映射机制,需要存储大量的映射表(如地址映射表、单元写次数统计表等),而这些表项所需存储容量都达到几百MB级别,消耗较多的存储空间且控制复杂。 Traditional write leveling algorithm, the maintenance at the operating system level, complex mapping mechanisms need to store large amounts of mapping table (such as address mapping table unit to write the number of tables, etc.), and these entries required storage capacity has reached several hundred MB level, consume more storage space and control complex. 针对相变存储器的写均衡方法,目前有相邻行拷贝策略,该方法的主要优点是控制信息量少,操作简单,利于硬件实现。 For write leveling phase change memory, there are currently adjacent rows copy policy, the main advantage of this method is to control the information less, simple operation, for hardware implementation. 然而,该方法也存在一些不足,如无法抵御重复写相同存储单元的攻击;散化度不够;比较适合存储量稀而散的存储系统,不适合大容量密集型的存储系统等。 However, this method also has some disadvantages, such as not resist rewritable attacks the same memory cell; BCH insufficient; more suitable for storage of dilute and dispersed storage system, not suitable for large-capacity-intensive storage systems.

发明内容 SUMMARY

[0004] 本发明目的在于提供一种相变存储器的写均衡方法,其能加大地址映射的散化度,能更有效地抵御重复写相同存储单元的攻击,使整个存储系统写均衡,从而延长存储系统的寿命和提高其安全性及利用率。 [0004] The object of the present invention is to provide a write leveling method for a phase-change memory, which can increase the dispersion degree of address mapping can be more effective against re-writable attacks the same memory cell, so that the whole storage system write equalization, thereby extend the life of storage systems and to improve its safety and efficiency.

[0005] 本发明是通过以下技术方案实现的: [0005] The present invention is achieved by the following technical solutions:

[0006] 一种相变存储器的写均衡方法,包括以下步骤: [0006] The write equalization method for a phase change memory, comprising the steps of:

[0007] (1)对相变存储器进行初始化操作:将相变存储器划分为m个区域,每个区域包括η个阵列,每个阵列包括N个有效行和1个特殊行,每个有效行和特殊行均包括b个字节,前m-Ι个区域为非特殊区域,第m个区域设置为特殊区域,并包括一个特殊阵列和多个冗余阵列,阵列的有效行和特殊行的地址均包括三元组(r,1,a),其中r为区域号,1为行号,a为区域内的阵列号,阵列在相变存储器中的阵列编号U = r*m+al,设置下列参数:区域的阵列映射表、阵列的随机密钥表、相变存储器的写次数计数器i的初值为0及其阈值、阵列的写次数计数器j的初值为0及其阈值、阵列的起始行指针Phead的初值为0并指向阵列的首行,阵列的空白行指针Pblank的初值为N并指向阵列的空白行; [0007] (1) phase change memory initialization: a phase change memory into m regions, each region comprising η arrays, each array including N effective lines and a special line, each active line and special lines each comprise b bytes, the former m-Ι areas are non-specific region, the m-th region is set as a special area, and includes an effective line a special array and a plurality of redundant arrays, arrays and special lines address includes the triple (r, a, a), where r is a region number, a line number, a is an array of numbers, an array within a region in the phase change memory array number U = r * m + al, set the following parameters: an array mapping table region, an array of random key table, the phase change Initial number of write counter memory i is 0 and the write cycle counter j is the initial value of the threshold array is 0 and the threshold array initial Value initial Value starting row pointers Phead is 0 and directed to the first row of the array, the array of empty rows pointer Pblank is N and point array of blank lines;

[0008] (2)从相变存储器控制器获取逻辑地址LA,查找阵列映射表,以得到物理地址PA ; [0008] (2) obtained from the phase change memory controller logic address LA, lookup array mapping table to obtain the physical address PA;

[0009] (3)根据物理地址PA判断对相变存储器的操作类型是读操作还是写操作,若是写操作则进入步骤(4),否则直接读出物理地址PA处的数据,结束; [0009] (3) the physical address PA judgment of phase change memory type of operation is a read or write operation, if the write operation proceeds to step (4), or directly read the physical address PA at the data end;

[0010] (4)若操作类型是写操作,则设置写次数计数器i = i+Ι ; [0010] (4) If the operation type is a write operation, set the write cycle counter i = i + Ι;

[0011] (5)判断写次数计数器i是否不小于阈值; [0011] (5) determines the write cycle counter i is not smaller than the threshold value;

[0012] (6)若写次数计数器i不小于阈值,则读取阵列的起始行指针Phead以及空白行指针Pblank,并计算第x个阵列的总写次数wx = Phead*N+(N-Pblank); [0012] (6) If the write cycle counter i is not smaller than the threshold value, the read start line pointer PHEAD array, and a blank row pointer Pblank, and calculates x-th array, the total number of write cycles wx = Phead * N + (N-Pblank );

[0013] (7)计算每个非特殊区域的总写次数为η个阵列的总写次数中的最大值; [0013] (7) The total number of write cycles is calculated for each non-specific region is η maximum total write number array in;

[0014] (8)对非特殊区域的总写次数按照由大到小的顺序进行排序,以找到两两总写次数之间的差大于1000000的两个非特殊区域; [0014] (8) to the total write number of the non-specific region is sorted in descending order, to find a difference between each two of the total number of write cycles is greater than two non-specific regions 1000000;

[0015] (9)对两个非特殊区域中的执行数据和参数的互拷贝操作,并更新阵列映射表,参数包括随机密钥表的表项值、起始行指针、阵列的写次数计数器j、空白行指针; [0015] (9) of the two non-special area to perform data and parameters of mutual copy operation and update the array mapping table parameters including random key table entry value, the starting row pointer, the array write cycle counter j, the blank row pointer;

[0016] (10)查找更新的阵列映射表,以得到更新后的物理地址PA ; [0016] (10) check for updated array mapping table to obtain the physical address PA updated;

[0017] (11)将数据写入更新后的物理地址PA所指向的位置,并进行写后读校验检查: After [0017] (11) writes data of the physical address PA updated pointed, and write read-check:

[0018] (12)读出写入的数据,并与原数据进行比较,以判断二者是否不相同; [0018] (12) reads out the written data, and compared with the original data to determine whether the two are not the same;

[0019] (13)若二者不相同,则将写入的数据拷贝到冗余阵列,并更新随机密钥表的表项值、阵列映射表的表项值以及物理地址PA ; [0019] (13) If they are not the same, the data will be written is copied to the redundant array, and updates the table entry value random key table entry value array mapping tables and the physical address PA;

[0020] (14)设置写次数计数器j = j+1 ; [0020] (14) set the write cycle counter j = j + 1;

[0021] (15)判断写次数计数器j是否不小于阈值; [0021] (15) determines the write cycle counter j is not smaller than the threshold value;

[0022] (16)若写次数计数器j不小于阈值,则将阵列中空白行指针指向的上一行的数据拷贝到空白行,更新空白行指针及写次数计数器j。 [0022] (16) If the write cycle counter j is not smaller than the threshold value, data copy point on will array blank line pointer line to a blank line, updating a blank row pointer and the write cycle counter j.

[0023] 本发明的方法还包括步骤:若操作类型是读操作,则读出物理地址PA处的数据。 [0023] The method of the present invention further comprises the step of: if the operation type is a read operation, the read out data is the physical address PA at.

[0024] 本发明的方法还包括步骤:若写次数计数器i小于阈值,则转入将数据写入更新后的物理地址PA所指向的位置,并进行写后读校验检查的步骤;若二者相同,则转入设置写次数计数器j = j+1的步骤。 [0024] The method of the present invention further comprises the step of: if the number of write counter i is smaller than the threshold value, the process proceeds to the position of the physical address PA after writing data update points, and the step of reading-check-after-write; if two the same person, the process proceeds to set the write cycle counter j = step j + 1 is.

[0025] 本发明的方法步骤(2)还包括以下子步骤: [0025] Method step (2) of the present invention further comprises the substeps of:

[0026] (2-1)根据逻辑地址LA的区域号和阵列号查找阵列映射表中对应区域的阵列:通过区域号定位到数组的行地址,再通过阵列号定位到数组的列地址,取出对应的物理区域号和物理阵列号,从而找到物理阵列; [0026] (2-1) to find based on the logical address LA area number and the array number of the array array mapping table corresponding to the region: the row address regions ID location in the array, and then to the column address of the array by the array number positioning, taken corresponding to a physical area number and the physical array number to find the physical array;

[0027] (2-2)对逻辑地址的行号进行加/解密操作得出中间地址的行号IAL ; [0027] (2-2) is added to the row number of the logical address / decryption line number IAL operating derived intermediate address;

[0028] (2-3)判断行号IAL是否不小于空白行指针,若不小于则进入步骤(2_4),否则进入步骤(2-6); [0028] (2-3) determines the line number IAL is not less than the blank row pointer, if less than proceeds to step (2_4), otherwise, step (2-6);

[0029] (2-4)判断行号IAL指向的是否不是阵列的最后一个有效行,若不是则进入步骤(2-5),否则进入步骤(2-8)。 [0029] (2-4) determines the line number IAL points to the last active line if not an array, if not proceeds to step (2-5), otherwise, step (2-8).

[0030] (2-5)行号IAL 自增1 ; [0030] (2-5) line number IAL is incremented by one;

[0031] (2-6)将行号IAL赋给物理地址PA的行号; [0031] (2-6) The row number IAL assigned to the physical address PA of the line number;

[0032] (2-7)根据物理地址PA的区域号和阵列号得到新的物理地址,并返回最终的物理地址; [0032] (2-7) to give new physical address of the physical address PA of the region number and the array number, and returns the final physical address;

[0033] (2-8)将行号IAL的物理行号映射到特殊阵列上; [0033] (2-8) The row number IAL physical line number mapped to the particular array;

[0034] (2-9)将行号IAL的物理行号赋给物理地址PA的行号,并查找阵列映射表中特殊阵列对应的区域号和阵列号,用区域号更新物理地址PA的区域号和阵列号,以得到最终的物理地址。 [0034] (2-9) physical line number number IAL assigned to the physical address PA of the line number, and find the zone number and the array number of the array map special array corresponding area update physical address PA by a region number number and the array number, to obtain a final physical address.

[0035] 本发明的方法中子步骤(2-8)还包括以下子步骤: [0035] A method for neutron step (2-8) of the present invention further comprises the substeps of:

[0036] (2-8-1)根据阵列在相变存储器中的阵列编号U,计算出阵列的特殊行在特殊阵列的中间地址的行号IASL = 2U ; [0036] (2-8-1) The array IASL = 2U line number the phase change memory array number U, calculating intermediate address specific row special array the array;

[0037] (2-8-2)判断中间地址的行号IASL是否不小于空白行指针,若不小于则进入步骤(2-8-3),否则进入步骤(2-8-4)。 [0037] (2-8-2) determining intermediate address line number IASL is not less than the blank row pointer, if less than proceeds to step (2-8-3), otherwise go to step (2-8-4).

[0038] (2-8-3)行号IASL 自增1 ; [0038] (2-8-3) Line number IASL incremented by one;

[0039] (2-8-4)返回行号IASL。 [0039] (2-8-4) Returns the row number IASL.

[0040] 本发明的方法中步骤(16)还包括以下子步骤: [0040] Method step (16) of the present invention further comprises the substeps of:

[0041] (16-1)判断空白行指针值是否不为0,若是则进入步骤(16-2),否则进入步骤(16-4); [0041] (16-1) is determined blank row pointer value is not 0, if the process proceeds to step (16-2), otherwise go to step (16-4);

[0042] (16-2)判断空白行指针值是否小于N,若是则进入步骤(16-3),否则进入步骤(16-6); [0042] (16-2) is determined blank row pointer value is less than N, if the process proceeds to step (16-3), otherwise go to step (16-6);

[0043] (16-3)将空白行上一行的有效数据拷贝到空白行上,进入步骤(16-8); Valid data [0043] (16-3) the blank lines on the row are copied to a blank line, goes to step (16-8);

[0044] (16-4)通过阵列的阵列编号U映射到特殊阵列的物理行号来计算空白行指针的上一行的行号; [0044] (16-4) U mapped by an array number of the array to the physical line number of a special array to calculate the line number in the blank row pointer;

[0045] (16-5)将上一行的行号所指的有效数据拷贝到空白行,更新空白行指针值为N, 起始行指针Phead加1,进入步骤(16_9); Valid data line number [0045] (16-5) the upper row within the meaning of the copy to a blank line, updating a blank row pointer value is N, the starting row pointer Phead plus 1, go to step (16_9);

[0046] (16-6)通过阵列的阵列编号U映射到特殊阵列的物理行号来计算空白行指针的物理行号; [0046] (16-6) U mapped by an array number of the array to the physical line number of special array to calculate the physical line number of a blank row pointer;

[0047] (16-7)将阵列的最后一个有效行的数据拷贝到空白行指针的物理行号指向的位置,并对特殊阵列进行邻行拷贝操作; [0047] (16-7) copy data last active row of the array to a blank row pointer physical line number points to a position, and a special array adjacent row copy operation;

[0048] (16-8)将空白行指针Pblank减1 ; [0048] (16-8) blank row pointer Pblank minus 1;

[0049] (16-9)将写次数计数器j置0。 [0049] (16-9) the write cycle counter j is set to zero.

[0050] 本发明的方法中子步骤(16-7)包括以下子步骤: [0050] A method for neutron steps of the present invention (16-7) includes the substeps of:

[0051] (16-7-1)写次数计数器j自增1 ; [0051] (16-7-1) to write the number of the counter j is incremented by one;

[0052] (16-7-2)判断写次数计数器j大于其阈值,若是则进入步骤(16-7-3),否则过程结束; [0052] (16-7-2) before writing the number of the counter j is greater than the threshold value, if the process proceeds to step (16-7-3), otherwise the process ends;

[0053] (16-7-3)判断特殊阵列的空白行指针是否指向阵列的第0行若是则进入步骤(16-7-4),否则进入步骤(16-7-6); [0053] (16-7-3) Analyzing special array blank line pointer is pointing to the array row 0 if the process proceeds to step (16-7-4), otherwise go to step (16-7-6);

[0054] (16-7-4)将行号为2n的行的数据拷贝到特殊阵列的空白行,更新空白行指针为2n ; [0054] (16-7-4) The line number copy of the data lines 2n to a special array blank line, updating the blank row pointer 2n;

[0055] (16-7-5)起始行指针Phead自增1,然后进入步骤(16-7-7); [0055] (16-7-5) starting row pointer Phead is incremented by one, and then proceeds to step (16-7-7);

[0056] (16-7-6)将空白行指针上一行的数据拷贝到空白行,空白行指针减1 ; [0056] (16-7-6) blank line data on the pointer line is copied into the blank line, a blank line pointer is decremented;

[0057] (16-7-7)将写次数计数器j置0。 [0057] (16-7-7) will write the number of the counter j is set to zero.

[0058] 本发明具有以下优点: [0058] The present invention has the following advantages:

[0059] (1)存储散化度高:本发明对大容量的存储系统进行合理规划,条带式存储增加阵列地址映射的散化度,而且区域内多阵列的规划利于硬件实现,也符合文件系统中页大小的划分,如1KB,2KB,4KB等; [0059] (1) storing the BCH high: the present invention to a large-capacity storage system and proper planning dispersion degree of striped array increases address map, and the multi-array planning for hardware implementation in the region, in line with file system page size is divided, as 1KB, 2KB, 4KB the like;

[0060] (2)本发明采用动态映射机制,交换写负载悬殊的两区域,更有效地抵御重复写相同单元的恶意攻击,从而进一步延长了整个存储系统的寿命; [0060] (2) according to the present invention, dynamic mapping mechanism to exchange two regions write load disparity, more effective against re-writable same units malicious attacks, thereby further extending the life of the entire storage system;

[0061] (3)本发明对空白行进行统一隔行映射存储,方便硬件实现连续空间的读写,且隔行映射能增加映射散化度; [0061] (3) the invention of blank lines unified interlace mapping storage, easy hardware implementation contiguous space to read and write, and interlace mapping can increase the mapping scatter degree;

[0062] (4)本发明采用写后读校验机制,并有一定的冗余机制,提高系统空间的利用率及安全性。 [0062] (4) The present invention employs the use efficiency and safety of the read-after-write checking mechanism, and a certain redundancy, improving system space.

附图说明 BRIEF DESCRIPTION

[0063] 图1是本发明相变存储器的写均衡方法的流程图。 [0063] FIG. 1 is a flowchart of write equalization method of the present invention, a phase change memory.

[0064] 图2是本发明方法中步骤(2)的细化流程图。 [0064] FIG. 2 is a method of the present invention, in step (2) is a detailed flowchart.

[0065] 图3是本发明方法中子步骤(2-8)的细化流程图。 [0065] FIG. 3 is a detailed flowchart of a method invention neutrons step (2-8) of the present.

[0066] 图4是本发明方法中步骤(16)的细化流程图。 [0066] FIG 4 is a detailed flowchart of a method according to the present invention, the step (16).

[0067] 图5是本发明方法中子步骤(16-7)的细化流程图。 [0067] FIG. 5 is a detailed flowchart of a method invention neutrons step (16-7) of the present.

具体实施方式 Detailed ways

[0068] 首先,对本发明的相关术语进行定义: [0068] First, the relevant terms of the present invention will be defined:

[0069] (1)映射:主要是地址映射,将逻辑地址转化为物理地址的过程,以得到逻辑地址在相变存储器中的实际位置;散化度:一个文件被分为多数据块,而这些数据块不是连续地存储在相变存储器的空间而是分散地存储,它们分散的程度就叫作离散度。 [0069] (1) mapping: mainly address mapping logical addresses into physical addresses of the process to obtain the logical address of the actual position of the phase change memory; bulk degree: a file is divided into a plurality of data blocks, and these data blocks are not continuously stored in the space of the phase change memory but is dispersed stores, their degree of dispersion has been termed dispersion.

[0070] (2)相变存储器存储空间的规划:指的是将整个存储空间划分为多个区域,每个区域包含多个阵列,每个阵列包含多个有效行和一个特殊行,每个有效行和特殊行包含多个字节,且指定最后一个区域为特殊区域,其不存储用户的数据,主要做映射及冗余用,最后一个阵列为特殊阵列,特殊区域的其它阵列为冗余阵列。 [0070] (2) transformation plan memory storage space: refers to the entire memory space is divided into a plurality of regions, each region comprising a plurality of arrays, each array comprising a plurality of effective lines and a special line, each active line and a special line contains a plurality of bytes, and specify the last region is a special area which does not store data, mainly to do mapping and redundancy, and finally one array to another array of special array, a special area for the redundant arrays.

[0071] (3)有效行地址和特殊行地址值由(区域号、行号、阵列号)这3部分组成;阵列编号:是指每个阵列在相变存储器中的位置。 [0071] (3) a valid row address and a particular row address value represented by (area number, line number, the array number) of 3 parts; array No: refers to the position of each array in the phase change memory.

[0072] (4)有效行:其行地址可在阵列内映射;特殊行:其行地址被映射到特殊阵列上, 特殊行被间隔映射到特殊阵列中,特殊行在特殊阵列中的行号为的阵列编号的2倍;空白行:其所指向位置的数据是无效的。 [0072] (4) active lines: which a row address can be mapped within the array; special lines: which row addresses are mapped to a particular array particular line is mapped to a particular array spacing, the line number of special line special array twice array number of the; blank line: its data points to the location is invalid.

[0073] (5)空白行指针:指向阵列的空白行;起始行指针:初始指向每个阵列的首行位置。 [0073] (5) the blank row pointers: pointing to an array of blank lines; starting row pointer: initially points to the first line of each array position.

[0074] (6)区域的阵列映射表:用一个二维数组表示,用区域号可以定位到该数组的行, 用阵列号可定位到该数据的列,用区域号和阵列号初始化该数组。 [0074] (6) an array of map area: indicated by a two-dimensional array, with the region number can be positioned to the row of the array, with the array number can be positioned to the column of the data, with the area number and the array number to initialize the array .

[0075] (7)随机密钥表:运用于对称加密解密算法,由随机函数产生,是一个二维数组, 每个阵列可通过阵列编号找到对应的3个密钥值,各个阵列的密钥值都不同。 [0075] (7) a random key table: apply symmetric encryption decryption algorithm, is generated by a random function is a two-dimensional array, each array can be found in three key corresponding to the value through the array number key for each array values ​​are different.

[0076] (8)邻行拷贝算法:主要思想当达到写次数阈值时,将空白行指针上一行的数据拷贝到空白行,以均衡两者的写次数;在其中,每个阵列可看作一个头尾相接的环形大数组。 [0076] (8) adjacent row copy algorithm: The main idea is reached the write count threshold value, the blank line data copy pointer line to a blank line, the number of times the write both equilibrium; therein, each array can be seen as a head to tail of large arrays ring.

[0077] (9)相变存储器的写次数阈值:可自行设定,可在107级别上,当超过该阈值时,相变存储器对各个区域的写次数进行排序;阵列写次数阈值:可自行设定,一般在100到1000 之间,当超过该阈值时,阵列执行一次邻行拷贝算法。 [0077] (9) a phase change memory write count threshold value: can be set, may be on the 107 level, when the threshold is exceeded, the phase change memory the number of times writing the respective regions are sorted; array write count threshold value: self setting, typically between 100 to 1000, when the threshold is exceeded, the array and a neighbor row copy algorithm.

[0078] (10)特殊阵列:与非特殊阵列不同的是,其不进行行号解密加密操作,只对相变存储器中的总阵列数2倍的特殊行执行邻行拷贝算法,其空白行指针和起始行指针都在特殊阵列内。 [0078] (10) Special array: the non-specific array is different, which is used without line number to decrypt the encrypted operation, only the special line execution adjacent row copy algorithm to the phase change memory the total number of array 2 times that blank lines pointer and start line pointer in a special array.

[0079] 如图1所示,本发明的相变存储器的写均衡方法包括以下步骤: [0079] As shown, the write equalization phase change memory of the present invention comprises a step of:

[0080] (1)对相变存储器进行初始化操作:将相变存储器划分为m个区域,每个区域包括η个阵列,每个阵列包括N个有效行和1个特殊行,每个有效行和特殊行均包括b个字节,前m-Ι个区域为非特殊区域,第m个区域设置为特殊区域,并包括一个特殊阵列和多个冗余阵列,阵列的有效行和特殊行的地址均包括三元组(r,1,a),其中r为区域号,1为行号,a为区域内的阵列号,阵列在相变存储器中的阵列编号U = r*m+al,设置下列参数:区域的阵列映射表、阵列的随机密钥表、相变存储器的写次数计数器i的初值为0及其阈值、阵列的写次数计数器j的初值为0及其阈值、阵列的起始行指针Phead的初值为0并指向阵列的首行,阵列的空白行指针Pblank的初值为N并指向阵列的空白行; [0080] (1) phase change memory initialization: a phase change memory into m regions, each region comprising η arrays, each array including N effective lines and a special line, each active line and special lines each comprise b bytes, the former m-Ι areas are non-specific region, the m-th region is set as a special area, and includes an effective line a special array and a plurality of redundant arrays, arrays and special lines address includes the triple (r, a, a), where r is a region number, a line number, a is an array of numbers, an array within a region in the phase change memory array number U = r * m + al, set the following parameters: an array mapping table region, an array of random key table, the phase change Initial number of write counter memory i is 0 and the write cycle counter j is the initial value of the threshold array is 0 and the threshold array initial Value initial Value starting row pointers Phead is 0 and directed to the first row of the array, the array of empty rows pointer Pblank is N and point array of blank lines;

[0081] (2)从相变存储器控制器获取逻辑地址LA,查找阵列映射表,以得到物理地址PA ; [0081] (2) obtained from the phase change memory controller logic address LA, lookup array mapping table to obtain the physical address PA;

[0082] (3)根据物理地址PA判断对相变存储器的操作类型是读操作还是写操作,若是写操作则进入步骤(4),否则直接读出物理地址PA处的数据,结束; [0082] (3) the physical address PA is determined for phase-change memory operation type is a read or write operation, if the write operation proceeds to step (4), or directly read out data is the physical address PA at the ends;

[0083] (4)若操作类型是写操作,则设置写次数计数器i = i+Ι ; [0083] (4) If the operation type is a write operation, set the write cycle counter i = i + Ι;

[0084] (5)判断写次数计数器i是否不小于阈值;若不小则进入步骤(6),否则进入步骤(11); [0084] (5) determines the write cycle counter i is not smaller than the threshold value; is not smaller proceeds to step (6), otherwise go to step (11);

[0085] (6)若写次数计数器i不小于阈值,则读取阵列的起始行指针Phead以及空白行指针Pblank,并计算第x个阵列的总写次数wx = Phead*N+(N-Pblank); [0085] (6) If the write cycle counter i is not smaller than the threshold value, the read start line pointer PHEAD array, and a blank row pointer Pblank, and calculates x-th array, the total number of write cycles wx = Phead * N + (N-Pblank );

[0086] (7)计算每个非特殊区域的总写次数为η个阵列的总写次数中的最大值; [0086] (7) The total number of write cycles is calculated for each non-specific region is η maximum total write number array in;

[0087] (8)对非特殊区域的总写次数按照由大到小的顺序进行排序,以找到两两总写次数之间的差大于1000000的两个非特殊区域; [0087] (8) to the total write number of the non-specific region is sorted in descending order, to find a difference between each two of the total number of write cycles is greater than two non-specific regions 1000000;

[0088] (9)对两个非特殊区域中的执行数据和参数的互拷贝操作,并更新阵列映射表,参数包括随机密钥表的表项值、起始行指针、阵列的写次数计数器j、空白行指针; [0088] (9) for performing data and parameters of the two non-specific regions of mutual copying operation, and updates the array mapping table, the parameters including a write cycle counter table entry value random key table, starting row pointer, array j, the blank row pointer;

[0089] (10)查找更新的阵列映射表,以得到更新后的物理地址PA ; [0089] (10) check for updated array mapping table to obtain the physical address PA updated;

[0090] (11)将数据写入更新后的物理地址PA所指向的位置,并进行写后读校验检查: After [0090] (11) writes data of the physical address PA updated pointed, and write read-check:

[0091] (12)读出写入的数据,并与原数据进行比较,以判断二者是否不相同;若不相同则进步步骤(13),否则进入步骤(14); [0091] (12) reads out the written data, and compared with the original data to determine whether the two are not the same; if not identical then advances to step (13), otherwise go to step (14);

[0092] (13)若二者不相同,则将写入的数据拷贝到冗余阵列,并更新随机密钥表的表项值、阵列映射表的表项值以及物理地址PA ; [0092] (13) If they are not the same, the data will be written is copied to the redundant array, and updates the table entry value random key table entry value array mapping tables and the physical address PA;

[0093] (14)设置写次数计数器j = j+1 ; [0093] (14) set the write cycle counter j = j + 1;

[0094] (15)判断写次数计数器j是否不小于阈值;若不小于则进入步骤(16)否则结束; [0094] (15) determines the write cycle counter j is not smaller than the threshold value; if less than proceeds to step (16) or the end;

[0095] (16)若写次数计数器j不小于阈值,则将阵列中空白行指针指向的上一行的数据拷贝到空白行,更新空白行指针及写次数计数器j。 [0095] (16) If the write cycle counter j is not smaller than the threshold value, data copy point on will array blank line pointer line to a blank line, updating a blank row pointer and the write cycle counter j.

[0096] 如图2所示,本发明的相变存储器的写均衡方法中步骤(2)包括以下子步骤: [0096] As shown, the write equalization phase change memory of the present invention, in step (2) comprises the substeps of:

[0097] (2-1)根据逻辑地址LA的区域号和阵列号查找阵列映射表中对应区域的阵列:通过区域号定位到数组的行地址,再通过阵列号定位到数组的列地址,取出对应的物理区域号和物理阵列号,从而找到物理阵列; [0097] (2-1) to find based on the logical address LA area number and the array number of the array array mapping table corresponding to the region: the row address regions ID location in the array, and then to the column address of the array by the array number positioning, taken a physical area corresponding to the physical number and the array number to find the physical array;

[0098] (2-2)对逻辑地址的行号进行加/解密操作得出中间地址的行号IAL ; [0098] (2-2) is added to the row number of the logical address / decryption line number IAL operating derived intermediate address;

[0099] (2-3)判断行号IAL是否不小于空白行指针,若不小于则进入步骤(2_4),否则进入步骤(2-6); [0099] (2-3) determines the line number IAL is not less than the blank row pointer, if less than proceeds to step (2_4), otherwise, step (2-6);

[0100] (2-4)判断行号IAL指向的是否不是阵列的最后一个有效行,若不是则进入步骤(2-5),否则进入步骤(2-8)。 [0100] (2-4) determines the line number IAL points to the last active line if not an array, if not proceeds to step (2-5), otherwise, step (2-8).

[0101] (2-5)行号IAL 自增1 ; [0101] (2-5) line number IAL is incremented by one;

[0102] (2-6)将行号IAL赋给物理地址PA的行号; [0102] (2-6) The row number IAL assigned to the physical address PA of the line number;

[0103] (2-7)根据物理地址PA的区域号和阵列号得到新的物理地址,并返回最终的物理地址; [0103] (2-7) to give new physical address of the physical address PA of the region number and the array number, and returns the final physical address;

[0104] (2-8)将行号IAL的物理行号映射到特殊阵列上; [0104] (2-8) The row number IAL physical line number mapped to the particular array;

[0105] (2-9)将行号IAL的物理行号赋给物理地址PA的行号,并查找阵列映射表中特殊阵列对应的区域号和阵列号,用区域号更新物理地址PA的区域号和阵列号,以得到最终的物理地址。 [0105] (2-9) physical line number number IAL assigned to the physical address PA of the line number, and find the zone number and the array number of the array map special array corresponding area update physical address PA by a region number number and the array number, to obtain a final physical address.

[0106] 如图3所示,本发明的相变存储器的写均衡方法中子步骤(2-8)包括以下子步骤: [0106] As shown in FIG. 3, the write equalization method neutron step phase change memory of the present invention (2-8) comprises the substeps of:

[0107] (2-8-1)根据阵列在相变存储器中的阵列编号U,计算出阵列的特殊行在特殊阵列的中间地址的行号IASL = 2U ; [0107] (2-8-1) The array IASL = 2U line number the phase change memory array number U, calculating intermediate address specific row special array the array;

[0108] (2-8-2)判断中间地址的行号IASL是否不小于空白行指针,若不小于则进入步骤(2-8-3),否则进入步骤(2-8-4)。 [0108] (2-8-2) determining intermediate address line number IASL is not less than the blank row pointer, if less than proceeds to step (2-8-3), otherwise go to step (2-8-4).

[0109] (2-8-3)行号IASL 自增1 ; [0109] (2-8-3) Line number IASL incremented by one;

[0110] (2-8-4)返回行号IASL。 [0110] (2-8-4) Returns the row number IASL.

[0111] 如图4所示,本发明的相变存储器的写均衡方法中步骤(16)包括以下子步骤: [0111] As shown in FIG. 4, the write equalization phase change memory of the present invention, the step (16) comprises the substeps of:

[0112] (16-1)判断空白行指针值是否不为0,若是则进入步骤(16-2),否则进入步骤(16-4); [0112] (16-1) is determined blank row pointer value is not 0, if the process proceeds to step (16-2), otherwise go to step (16-4);

[0113] (16-2)判断空白行指针值是否小于N,若是则进入步骤(16-3),否则进入步骤(16-6); [0113] (16-2) is determined blank row pointer value is less than N, if the process proceeds to step (16-3), otherwise go to step (16-6);

[0114] (16-3)将空白行上一行的有效数据拷贝到空白行上,进入步骤(16-8); Valid data [0114] (16-3) the blank lines on the row are copied to a blank line, goes to step (16-8);

[0115] (16-4)通过阵列的阵列编号U映射到特殊阵列的物理行号来计算空白行指针的上一行的行号; [0115] (16-4) U mapped by an array number of the array to the physical line number of a special array to calculate the line number in the blank row pointer;

[0116] (16-5)将上一行的行号所指的有效数据拷贝到空白行,更新空白行指针值为N, 起始行指针Phead加1,进入步骤(16_9); Data valid line number [0116] (16-5) on the line indicated to the copy blank line, the row pointer is updated blank N, plus 1 Phead starting row pointer, go to step (16_9);

[0117] (16-6)通过阵列的阵列编号U映射到特殊阵列的物理行号来计算空白行指针的物理行号; [0117] (16-6) U mapped by an array number of the array to the physical line number of special array to calculate the physical line number of a blank row pointer;

[0118] (16-7)将阵列的最后一个有效行的数据拷贝到空白行指针的物理行号指向的位置,并对特殊阵列进行邻行拷贝操作; [01] (16-7) will be an array of the last valid line of data is copied to a blank row pointer of the physical line numbers point to the location, and the special array o-line copy operation;

[0119] (16-8)将空白行指针Pblank减1 ; [0119] (16-8) blank row pointer Pblank minus 1;

[0120] (16-9)将写次数计数器j置0。 [0120] (16-9) the write cycle counter j is set to zero.

[0121] 如图5所示,本发明的相变存储器的写均衡方法中子步骤(16-7)包括以下子步骤: [0121] As shown in FIG 5, the write equalization method neutron step phase change memory of the present invention (16-7) includes the substeps of:

[0122] (16-7-1)写次数计数器j自增1 ; [0122] (16-7-1) to write the number of the counter j is incremented by one;

[0123] (16-7-2)判断写次数计数器j大于其阈值,若是则进入步骤(16-7-3),否则过程结束; [0123] (16-7-2) before writing the number of the counter j is greater than the threshold value, if the process proceeds to step (16-7-3), otherwise the process ends;

[0124] (16-7-3)判断特殊阵列的空白行指针是否指向阵列的第0行若是则进入步骤(16-7-4),否则进入步骤(16-7-6); [0124] (16-7-3) Analyzing special array blank line pointer is pointing to the array row 0 if the process proceeds to step (16-7-4), otherwise go to step (16-7-6);

[0125] (16-7-4)将行号为2n的行的数据拷贝到特殊阵列的空白行,更新空白行指针为2n ; [0125] (16-7-4) The line number copy of the data lines 2n to a special array blank line, updating the blank row pointer 2n;

[0126] (16-7-5)起始行指针Phead自增1,然后进入步骤(16-7-7); [0126] (16-7-5) starting row pointer Phead is incremented by one, and then proceeds to step (16-7-7);

[0127] (16-7-6)将空白行指针上一行的数据拷贝到空白行,空白行指针减1 ; [0127] (16-7-6) blank line data on the pointer line is copied into the blank line, a blank line pointer is decremented;

[0128] (16-7-7)将写次数计数器j置0。 [0128] (16-7-7) will write the number of the counter j is set to zero.

Claims (5)

1. 一种相变存储器的写均衡方法,包括以下步骤: (1)对相变存储器进行初始化操作:将所述相变存储器划分为m个区域,每个区域包括η个阵列,每个阵列包括Ν个有效行和1个特殊行,每个所述有效行和所述特殊行均包括b个字节,前m-Ι个区域为非特殊区域,第m个区域设置为特殊区域,并包括一个特殊阵列和多个冗余阵列,所述阵列的有效行和所述特殊行的地址均包括三元组(r,1,a),其中r 为区域号,1为行号,a为区域内的阵列号,所述阵列在所述相变存储器中的阵列编号U = r*m+al,设置下列参数:所述区域的阵列映射表、所述阵列的随机密钥表、所述相变存储器的写次数计数器i的初值为0及其阈值、所述阵列的写次数计数器j的初值为0及其阈值、 所述阵列的起始行指针Phead的初值为0并指向所述阵列的首行,所述阵列的空白行指针Pblank的初值为N并指 Write equalization method for a phase change memory, comprising the steps of: (1) phase change memory initialization: the phase change memory into m regions, each region comprising η arrays, each array comprising Ν active lines and a special line, each of the active line and the particular row comprises b bytes, the former m-Ι areas are non-specific region, the m-th region is set as a special area, and includes a special array of effective lines and a plurality of redundant array, the array and the address of the particular line comprises triplet (r, a, a), where r is a region number, a line number, a is array number in the region, said array in the phase change memory array number U = r * m + al, set the following parameters: the area array mapping table, the random key table of the array, the initial phase change memory write cycle counter i is 0 and the threshold value, the write cycle counter j is the initial value of the array is 0 and the threshold value, the initial value of the initial row pointer Phead of the array is 0 and point the first row of the array, the initial value of the blank row pointer Pblank the array is N and means 向所述阵列的空白行; (2)从相变存储器控制器获取逻辑地址LA,查找所述阵列映射表,以得到物理地址PA ; (3)根据所述物理地址PA判断对所述相变存储器的操作类型是读操作还是写操作; (4)若所述操作类型是写操作,则设置所述写次数计数器i = i+1,然后转入步骤(5); 若所述操作类型是读操作,则读出所述物理地址PA处的数据,然后过程结束; (5)判断所述写次数计数器i是否不小于所述阈值; (6)若所述写次数计数器i不小于所述阈值,则读取所述阵列的起始行指针Phead以及空白行指针Pblank,并计算第x个阵列的总写次数wx = Phead*N+(N-Pblank),然后转入步骤(7);若所述写次数计数器i小于所述阈值,则转入步骤(11); (7)计算每个非特殊区域的总写次数为所述η个阵列的总写次数中的最大值; (8)对所述非特殊区域的总写次数按照由大到小的顺序进行排序,以找 (2) obtained from the phase change memory controller logic address LA, searching the array mapping table to obtain the physical address PA;; the blank row of the array (3) in accordance with the physical address PA judgment on the phase change operation type of memory is a read or write operation; and (4) if the operation type is a write operation, set the write cycle counter i = i + 1, then go to step (5); if the operation type is a read operation, data is read at the physical address PA, and the process ends; (5) determines that the writing number counter i is not less than the threshold; (6) if the write counter i is not smaller than the number of threshold value, the read start row pointer PHEAD and blank row pointer Pblank of the array, and calculate the total write x-array number wx = Phead * N + (N-Pblank), and then proceeds to step (7); if the write cycle counter i is smaller than the threshold value, the process proceeds to step (11); (7) calculating the total number of write for each of the non-specific region of the maximum value η total number of write cycles in the array; (8) total number of write cycles of the non-specific region is sorted in descending order, to find 任意两个非特殊区域之间总写次数之间的差大于1000000的两个非特殊区域; (9)对所述两个非特殊区域中的数据和参数执行互拷贝操作,并更新所述阵列映射表, 所述参数包括随机密钥表的表项值、起始行指针、阵列的写次数计数器j、空白行指针; (10)查找所述更新的阵列映射表,以得到更新后的物理地址PA ; (11)将数据写入所述更新后的物理地址PA所指向的位置,并进行写后读校验检查: (12)读出写入的所述数据,并与原数据进行比较,以判断二者是否不相同; (13)若二者不相同,则将写入的所述数据拷贝到所述冗余阵列,并更新所述随机密钥表的表项值、所述阵列映射表的表项值以及所述物理地址PA,然后转入步骤(14);若二者相同,则转入步骤(14); (14)设置所述写次数计数器j = j+1 ; (15)判断所述写次数计数器j是否不小于所述阈值; (16)若所述写 The difference between the total write between any two non-specific regions times is greater than two non-specific regions 1000000; (9) data and parameters to perform the two non-specific regions of mutual copying operation, and updates the array mapping table, the parameters including a write cycle counter value j random key entry table, a pointer start line of the array, the blank row pointer; (10) array to find the updated mapping table, to obtain the updated physical address PA; (11) writing data to the physical location of the updated address PA pointed to, read and write to the parity check: (12) reading out the written data, and compared with the original data to determine whether the two are not the same; (13) if they are not the same, the data will be written is copied to the redundant array, and updating the entry table of values ​​of the random key, said array table entry value mapping table and the physical address PA, and then proceeds to step (14); if they are the same, the process proceeds to step (14); (14) setting the write cycle counter j = j + 1; ( 15) determining the write number counter j is not less than the threshold; (16) if the write 数计数器j不小于所述阈值,则将所述阵列中空白行指针指向的上一行的数据拷贝到所述空白行,更新所述空白行指针及所述写次数计数器j。 Counter j is not less than the threshold, then the array pointer to a blank line on the one line data is copied to the blank line, the blank row pointer and updating the write cycle counter j.
2.根据权利要求1所述的写均衡方法,其特征在于,所述步骤(2)包括以下子步骤: (2-1)根据所述逻辑地址LA的区域号和阵列号查找所述阵列映射表中对应区域的阵列:通过所述区域号定位到数组的行地址,再通过所述阵列号定位到所述数组的列地址,取出对应的物理区域号和物理阵列号,从而找到所述物理阵列; (2-2)对所述逻辑地址的行号进行加/解密操作得出中间地址的行号IAL ; (2-3)判断所述行号IAL是否不小于空白行指针,若不小于则进入步骤(2-4),否则进入步骤(2-6); (2-4)判断所述行号IAL指向的是否不是所述阵列的最后一个有效行,若不是所述阵列的最后一个有效行则进入步骤(2-5),否则进入步骤(2-8); (2-5)所述行号IAL自增1 ; (2-6)将所述行号IAL赋给所述物理地址PA的行号; (2-7)根据所述物理地址PA的区域号和阵列号得到新的物理地址,以得到 The write equalization method according to claim 1, wherein said step (2) comprises the substeps of: (2-1) searching the array mapping in accordance with the logical address LA area number and the array number array region table corresponds to: through said region number is positioned to the row address of the array, and then the column address of the array by the array number positioning, remove the corresponding physical area number and the physical array number, to find the physical array; (2-2) the row number of the logical address will be added / decryption line number IAL obtained intermediate address; (2-3) determines the line number IAL is not less than the blank row pointer, if less than proceeds to step (2-4), otherwise, step (2-6); (2-4) determines the line number IAL point last valid whether the row is not of the array, if it is the last one of the array active line then proceeds to step (2-5), otherwise, step (2-8); (2-5) of the line number IAL is incremented by one; (2-6) the row number IAL assigned to the physical the line number of the address PA; (2-7) obtained according to the new physical address of the physical address PA of the number and the array number region, to afford 终的物理地址并返回; (2-8)将所述行号IAL的物理行号映射到所述特殊阵列上; (2-9)将所述行号IAL的物理行号赋给所述物理地址PA的行号,并查找所述阵列映射表中所述特殊阵列对应的区域号和阵列号,用所述区域号更新所述物理地址PA的区域号和阵列号,以得到最终的物理地址,并返回该物理地址。 Final physical address and return; (2-8) to map the physical line number to the line number of the particular IAL array; (2-9) the physical row number of the row number assigned to the physical IAL address PA of the line number, and find the zone number and the array number of the array mapping table to the specific array corresponding with the area numbers of the updating of the physical address PA area number and an array of numbers, to obtain a final physical address , and returns the physical address.
3.根据权利要求2所述的写均衡方法,其特征在于,所述子步骤(2-8)包括以下子步骤: (2-8-1)根据所述阵列在所述相变存储器中的阵列编号U,计算出所述阵列的特殊行在所述特殊阵列的中间地址的行号IASL = 2U ; (2-8-2)判断所述中间地址的行号IASL是否不小于所述空白行指针,若不小于则进入步骤(2-8-3),否则进入步骤(2-8-4); (2-8-3)所述行号IASL自增1 ; (2-8-4)返回所述行号IASL。 The write equalization method according to claim 2, wherein said sub-step (2-8) includes the substeps of: (2-8-1) according to the array of phase change in the memory array ID U, calculates the particular row of the array of the intermediate address specific array line number IASL = 2U; (2-8-2) determining said intermediate address line number IASL is not smaller than the white line pointer, if less than proceeds to step (2-8-3), otherwise go to step (2-8-4); (2-8-3) of the line number IASL incremented by one; (2-8-4) returns the row number IASL.
4.根据权利要求1所述的写均衡方法,其特征在于,所述步骤(16)包括以下子步骤: (16-1)判断所述空白行指针值是否不为0,若是则进入步骤(16-2),否则进入步骤(16-4); (16-2)判断所述空白行指针值是否小于N,若是则进入步骤(16-3),否则进入步骤(16-6); (16-3)将所述空白行上一行的有效数据拷贝到所述空白行上,然后进入步骤(16-8); (16-4)通过所述阵列的阵列编号U映射到所述特殊阵列的物理行号来计算所述空白行指针的上一行的行号; (16-5)将所述上一行的行号所指的有效数据拷贝到所述空白行,更新所述空白行指针值为N,所述起始行指针Phead加1,然后进入步骤(16_9); (16-6)通过所述阵列的阵列编号U映射到所述特殊阵列的物理行号来计算所述空白行指针的物理行号; (16-7)将所述阵列的最后一个有效行的数据拷贝到所述空白行指针的物理行号指向的 The write equalization method according to claim 1, wherein said step (16) comprises the substeps of: (16-1) determines that the blank row pointer value is not 0, if the process proceeds to step ( 16-2), otherwise go to step (16-4); (16-2) determines that the blank row pointer value is less than N, if the process proceeds to step (16-3), otherwise go to step (16-6); ( 16-3) copy valid data on the blank row line onto the blank line, and then proceeds to step (16-8); (16-4) U is mapped to the specific array by an array number of the array to calculate the blank line pointer on line physical line number of the line number; (16-5) the valid data of the previous line of the line number within the meaning copied to the blank line, updating the blank row pointer value is N, the starting row pointer Phead plus 1, and then proceeds to step (16_9); (16-6) U mapped by an array number of the array to the physical line number of the particular array to calculate the blank row pointer physical line number; (16-7) copy data last active row of the array to the blank row pointer physical line number of points 置,并对所述特殊阵列进行邻行拷贝操作; (16-8)将所述空白行指针Pblank减1 ; (16-9)将所述写次数计数器j置0。 Home, and the special array o-line copy operation; (16-8) to the blank row pointer Pblank minus 1; (16-9) to the write-cycle counter j is set to 0.
5.根据权利要求4所述的写均衡方法,其特征在于,所述子步骤(16-7)包括以下子步骤: (16-7-1)所述写次数计数器j自增1 ; (16-7-2)判断所述写次数计数器j大于其阈值,若是则进入步骤(16-7-3),否则过程结束; (16-7-3)判断所述特殊阵列的空白行指针是否指向所述阵列的第0行若是则进入步骤(16-7-4),否则进入步骤(16-7-6); (16-7-4)将行号为2η的行的数据拷贝到所述特殊阵列的空白行,更新所述空白行指针为2η ; (16-7-5)所述起始行指针Phead自增1,然后进入步骤(16_7_7); (16-7-6)将所述空白行指针上一行的数据拷贝到所述空白行,所述空白行指针自减1 ; (16-7-7)将所述写次数计数器j置0。 The write equalization method as claimed in claim, wherein said sub-step (16-7) includes the substeps of: (16-7-1) the write cycle counter j is incremented by one; (16 -7-2) Analyzing the write cycle counter j is larger than the threshold value, if the process proceeds to step (16-7-3), otherwise the process ends; (16-7-3) determining the specific blank row of the array pointer is pointing the array of row 0 if the process proceeds to step (16-7-4), otherwise go to step (16-7-6); (16-7-4) the line number copy of the data lines 2η to the blank line special array, updating the blank row pointer 2η; the (16-7-5) starting row pointer Phead is incremented by one, and then proceeds to step (16_7_7); (16-7-6) the copy of the data pointer line blank line to the blank line, the blank row pointer decrement 1; (16-7-7) the write cycle counter j is set to zero.
CN 201110391502 2011-11-30 2011-11-30 Writing balancing method of phase change memory CN102567213B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110391502 CN102567213B (en) 2011-11-30 2011-11-30 Writing balancing method of phase change memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110391502 CN102567213B (en) 2011-11-30 2011-11-30 Writing balancing method of phase change memory

Publications (2)

Publication Number Publication Date
CN102567213A CN102567213A (en) 2012-07-11
CN102567213B true CN102567213B (en) 2014-09-24

Family

ID=46412678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110391502 CN102567213B (en) 2011-11-30 2011-11-30 Writing balancing method of phase change memory

Country Status (1)

Country Link
CN (1) CN102567213B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981972A (en) * 2012-12-25 2013-03-20 重庆大学 Wear-leveling method for phase change memory
WO2014142812A1 (en) * 2013-03-12 2014-09-18 Hewlett-Packard Development Company, L.P. Programmable address mapping and memory access operations
CN104714894B (en) * 2015-03-18 2017-08-11 清华大学 Phase change memory wear leveling method and a system based on random mapping hierarchical
CN105678196B (en) * 2015-12-31 2018-12-25 上海交通大学 A kind of malice read-write program monitoring device and method towards nonvolatile memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070103972A1 (en) 2005-11-07 2007-05-10 Yu-Hwan Ro Non-volatile phase-change memory device and method of reading the same
CN101552032A (en) 2008-12-12 2009-10-07 深圳市晶凯电子技术有限公司 Method and device for constructing a high-speed solid state memory disc by using higher-capacity DRAM to join in flash memory medium management
CN101673188A (en) 2008-09-09 2010-03-17 上海华虹Nec电子有限公司 Data access method for solid state disk

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412987B2 (en) * 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US8495281B2 (en) * 2009-12-04 2013-07-23 International Business Machines Corporation Intra-block memory wear leveling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070103972A1 (en) 2005-11-07 2007-05-10 Yu-Hwan Ro Non-volatile phase-change memory device and method of reading the same
CN101673188A (en) 2008-09-09 2010-03-17 上海华虹Nec电子有限公司 Data access method for solid state disk
CN101552032A (en) 2008-12-12 2009-10-07 深圳市晶凯电子技术有限公司 Method and device for constructing a high-speed solid state memory disc by using higher-capacity DRAM to join in flash memory medium management

Also Published As

Publication number Publication date
CN102567213A (en) 2012-07-11

Similar Documents

Publication Publication Date Title
US9251087B2 (en) Apparatus, system, and method for virtual memory management
JP4897524B2 (en) Storage system and write performance degradation prevention method for a storage system
US8725946B2 (en) Mass storage system and method of using hard disk, solid-state media, PCIe edge connector, and raid controller
US8751731B2 (en) Memory super block allocation
CN102257482B (en) Redundant data storage for uniform read latency
US9575882B2 (en) Non-volatile memory interface
KR101919653B1 (en) Methods and devices for avoiding lower page corruption in data storage devices
US8140739B2 (en) Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
US8904096B2 (en) Storage device and information processing system
CN103946812B (en) Apparatus and method for implementing a multi-level memory hierarchy of
US20130191601A1 (en) Apparatus, system, and method for managing a cache
Sun et al. A hybrid solid-state storage architecture for the performance, energy consumption, and lifetime improvement
US20140095775A1 (en) Systems and methods for cache endurance
JP5087347B2 (en) Control method of a semiconductor memory device and a semiconductor memory device
US20110035540A1 (en) Flash blade system architecture and method
US10133663B2 (en) Systems and methods for persistent address space management
US9595318B2 (en) Reduced level cell mode for non-volatile memory
CN101271380B (en) The mixture density memory storage apparatus
JP3753461B2 (en) Data with redundancy parity method writing method and a data storage system
CN101398783B (en) Storage device and deduplication method
Cho et al. KAST: K-associative sector translation for NAND flash memory in real-time systems
DK2433227T3 (en) Scalable indexing in a heterogeneous access memory
CN100524209C (en) Method for updating data in nonvolatile memory array
US20060085626A1 (en) Updating system configuration information
US9665305B1 (en) Tiering data between two deduplication devices

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C14 Grant of patent or utility model
C53 Correction of patent for invention or patent application
COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: ZHOU GONGYE XIE YAXUAN ZHANG ZHENGHAI CHEN JINCAI TO: ZHOU GONGYE XIE YAXUAN ZHANG ZHENGHAI CHEN JINCAI MIAO XIANGSHUI LU PING

EXPY Termination of patent right or utility model