一种降低多层自旋转移矩磁存储器能耗的编解码方法技术

技术编号:16820688 阅读:45 留言:0更新日期:2017-12-16 14:44
本发明专利技术公开了降低多层自旋转移矩磁存储器能耗的编解码方法,属于数据编解码技术领域。本发明专利技术包括编码和解码:编码发生在写数据时,编码时需要根据存储体中已有的缓存行数据、标志位数据和即将写入的缓存行数据,对即将写入的缓存行数据编码生成新的缓存行数据和新的标志位数据,主要包括三个步骤:读出数据;对Hard bit进行编码;对Soft bit进行编码;解码主要发生在读请求读取数据时,解码过程中从存储体中读取的数据包含一定位数的缓存行数据和一定位数的标志位数据,它们的比例可以根据实际需求确定,解码得到的数据为一个缓存行的数据。本发明专利技术将MLC STT‑RAM的Hard bit和Soft bit分开编码减少写过程中所需的状态变迁HT和ST的数量,能够有效降低MLC STT‑RAM的写能耗。

A codec method for reducing energy consumption of multilayer spin transfer moment magnetic memory

The invention discloses a codec method for reducing energy consumption of multi-layer spin transfer moment magnetic memory, and belongs to the field of data codec technology. The present invention includes: encoding and decoding encoding in writing data, encoding required under the cache line, data storage in the existing flag and data will be written into the cache line of data, the data will be written into the cache line encoding form symbol cache line new data and new data, mainly includes three steps: read data; encoding Hard bit encoding Soft; bit; decoding occurs mainly in reading request to read data, read data from a memory bank logo contains a digit in the process of decoding the cache line data and certain digit data, their ratio can be determined according to the actual needs of the decoded data for a cache line of data. The MLC STT RAM Hard bit and Soft bit separate encoding to reduce the number of write required in the process of state transition HT and ST, can effectively reduce the energy consumption of MLC STT writing RAM.

【技术实现步骤摘要】
一种降低多层自旋转移矩磁存储器能耗的编解码方法
本专利技术属于数据编解码
,更具体地,涉及一种降低多层自旋转移矩磁存储器能耗的编解码方法。
技术介绍
自旋转移矩磁存储器(STT-RAM,Spin-transfertorquemagneticrandomaccessmemory)是一种通过自旋电流实现信息写入的非易失存储器。它主要由一个选通晶体管和一个磁隧道结(MTJ,MagneticTunnelJunction)组成。选通晶体管用来选中这个单元,从而对这个单元进行读和写。磁隧道结用来存储信息。磁隧道结由三部分构成:自由层,绝缘层,参考层。当给一个STT-RAM存储单元施加写电流时,这个写电流会流经MTJ,写过程如图1所示。电流流经自由层时,电流会被极化形成自旋极化电流,自旋极化电流会改变自由层的磁场方向,实现信息的写入。参考层的磁场很强,不会随着电流方向的改变而改变。当施加一个从上向下的写电流时,自由层的磁矩方向会与参考层的磁矩方向平行同向,此时整个MTJ呈现低电阻的状态,一般用来表示逻辑值“0”。当施加一个从下往上的写电流时,自由层的磁矩方向会与参考层的磁矩方向平行反向,此时整个MTJ呈现高电阻的状态,一般用来表示逻辑值“1”。STT-RAM具有大容量、低漏电功耗和非易失的特性,很可能取代传统的静态随机存取存储器(SRAM,StaticRandomAccessMemory)技术,用作下一代处理器的缓存。多层自旋转移矩磁存储器(MLCSTT-RAM)是指每个存储单元能够存储两位或者更多位结构的STT-RAM。相比单层单元(SLC),多层单元(MLC)在一个单元存储多位,因此具有更大容量的优势。典型的MLCSTT-RAM的结构如图2所示。MLCSTT-RAM同样是由访问晶体管和MTJ构成。不同的是,MLC结构中,MTJ的自由层具有两个区域,即硬区域(HardDomain)和软区域(SoftDomain)。这两个区域分别用来存储两位的数据。一般HardDomain存储两位中的高位,同时这位也叫作硬位(Hardbit)。SoftDomain存储两位中的低位,这位也叫做软位(Softbit)。MLCSTT-RAM的写能耗很高,甚至可以达到SRAM的10倍。将MLCSTT-RAM应用到实际处理器缓存中时,它的写能耗高的特性会抵消低漏电功耗的优势。因此降低MLCSTT-RAM的写能耗是一个非常关键的问题。MLCSTT-RAM的写过程中存在写干扰的问题。由于Hardbit对应的HardDomain相比存储Softbit的SoftDomain面积更大、磁性更强,当对Hardbit进行写的时候需要施加较大的写电流,这个写电流足以改变SoftDomain,从而导致Hardbit和Softbit同时被写,这个现象被称为MLCSTT-RAM的写干扰。而Softbit需要的写电流不足以改变HardDomain,写Softbit不会干扰Hardbit。因为MLCSTT-RAM的两位之间存在写干扰的问题,它的写过程较复杂,其状态变迁如图3所示。MLCSTT-RAM写操作中可能经历的状态变迁可以分为四种:ZT(ZeroTransition):MTJ状态无变化。要写入的值和已经存储的值一样,比如说要写01,MLC本来存储的就是01。ST(SoftTransition):只有Softbit发生变化,比如00变为01,10变为11。HT(HardTransition):Hardbit发生变化,同时Softbit会随着Hardbit的写而也被写,比如00变为11,01变为11,10变为00,11变为00。TT(TwoStepTransition):两步传输,状态变迁分为两步,比如从00变为10,需要一次HT,首先从00变为11,然后还需要一次ST,从11变为10。这种基于状态变迁的写入方式跟其它的MLC非易失存储器,比如说相变存储器(PCM,PhaseChangeMemory)具有明显的不同。MLCPCM的编程方式是基于Program-and-Verify。Program-and-Verify的方式首先给单元施加一个Set或者Reset的脉冲,然后通过多个迭代的小的脉冲和读,来确保阻值达到了规定的范围。这样编程方式的差异使得一些降低MLC的PCM写能耗的编码方式对MLC的STT-RAM不适用。现有的减少MLCSTT-RAM写能耗的方法可以分为两类。一类是通过将MLC的两位分开,分别组成两个不同特性的缓存行。由Softbit组成的缓存行具有读慢写快的特性,而Hardbit组成的缓存行具有读快写慢的特性。将频繁读和频繁写的数据分别映射到由Softbit的缓存行和Hardbit的缓存行可以提升性能,降低能耗。但是这种方式中,写Hardbit的缓存行会覆盖写Softbit的缓存行,因此写Hardbit的缓存行完成以后需要对Softbit的缓存行重写。重写会造成不必要的能耗开销。第二类是改变逻辑值到阻值的映射关系。这种方法是基于“MLC的写能耗与即将写入到单元的值非常相关”的特性。但是这个特性在MLC的STT-RAM中不存在,因此这种方法不适用于MLC的STT-RAM。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种降低多层自旋转移矩磁存储器能耗的编解码方法,其目的在于将MLCSTT-RAM的Hardbit和Softbit分开编码,通过分别对Hardbit编码来减少HT的数量,分别对Softbit编码来减少ST的数量,由此解决多层自旋转移矩磁存储器应用于系统中导致高写能耗的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种降低多层自旋转移矩磁存储器能耗的编解码方法,所述编码具体包括以下步骤:(1)根据待写入缓存行数据的地址读取旧的缓存行数据D和旧的标志位T;(2)对Hardbit进行编码,包括以下子步骤:(21)将待写入的缓存行数据设为N,将N的所有Hardbit组成NH,将N的所有Softbit组成NS;初始化待写入标志位的位数等于T的位数,待写入标志位为全0,待写入标志位的所有Hardbit组成THN,待写入标志位的所有Softbit组成TSN;将D的所有Hardbit组成DH,所有Softbit组成DS;将T的所有Hardbit组成TH,所有Softbit组成TS;(22)将NH与DH按位异或得到NHXOR,TH与相同位数的0异或得到THXOR;(23)将NHXOR和TH作为编码的输入,编码得到新的待写入标志位的Hardbit,即THN’,新的待写入缓存行数据的Hardbit,即NH’;(3)对Softbit进行编码,包括以下子步骤:(31)将NH’和NS的第一位取出,组成两位的二进制数b1b0,将DH和DS的第一位取出,组成两位的二进制数a1a0,a1a0与b1b0执行位运算:得到新数据DS’的第一位,依次对NH’、NS、DH和DS第一位后的每一位数据执行以上相同的操作,得到新数据DS’;(32)将THN’和TSN的第一位取出,组成两位的二进制数b1b0,将TH和TS的第一位取出,组成两位的二进制数a1a0,a1a0与b1b0执行位运算:得到新数据TS’的第一位,依次对THN’、TSN、TH和TS第一位后本文档来自技高网
...
一种降低多层自旋转移矩磁存储器能耗的编解码方法

【技术保护点】
一种降低多层自旋转移矩磁存储器能耗的编解码方法,其特征在于,所述编码具体包括以下步骤:(1)根据待写入缓存行数据的地址读取旧的缓存行数据D和旧的标志位T;(2)对Hard bit进行编码,包括以下子步骤:(21)将待写入的缓存行数据设为N,将N的所有Hard bit组成NH,将N的所有Soft bit组成NS;初始化待写入标志位的位数等于T的位数,待写入标志位为全0,待写入标志位的所有Hard bit组成THN,待写入标志位的所有Soft bit组成TSN;将D的所有Hard bit组成DH,所有Soft bit组成DS;将T的所有Hard bit组成TH,所有Soft bit组成TS;(22)将NH与DH按位异或得到NHXOR,TH与相同位数的0异或得到THXOR;(23)将NHXOR和TH作为编码的输入,编码得到新的待写入标志位的Hard bit,即THN’,新的待写入缓存行数据的Hard bit,即NH’;(3)对Soft bit进行编码,包括以下子步骤:(31)将NH’和NS的第一位取出,组成两位的二进制数b1b0,将DH和DS的第一位取出,组成两位的二进制数a1a0,a1a0与b1b0执行位运算:...

【技术特征摘要】
1.一种降低多层自旋转移矩磁存储器能耗的编解码方法,其特征在于,所述编码具体包括以下步骤:(1)根据待写入缓存行数据的地址读取旧的缓存行数据D和旧的标志位T;(2)对Hardbit进行编码,包括以下子步骤:(21)将待写入的缓存行数据设为N,将N的所有Hardbit组成NH,将N的所有Softbit组成NS;初始化待写入标志位的位数等于T的位数,待写入标志位为全0,待写入标志位的所有Hardbit组成THN,待写入标志位的所有Softbit组成TSN;将D的所有Hardbit组成DH,所有Softbit组成DS;将T的所有Hardbit组成TH,所有Softbit组成TS;(22)将NH与DH按位异或得到NHXOR,TH与相同位数的0异或得到THXOR;(23)将NHXOR和TH作为编码的输入,编码得到新的待写入标志位的Hardbit,即THN’,新的待写入缓存行数据的Hardbit,即NH’;(3)对Softbit进行编码,包括以下子步骤:(31)将NH’和NS的第一位取出,组成两位的二进制数b1b0,将DH和DS的第一位取出,组成两位的二进制数a1a0,a1a0与b1b0执行位运算:得到新数据DS’的第一位,依次对NH’、NS、DH和DS第一位后的每一位数据执行以上相同的操作,得到新数据DS’;(32)将THN’和TSN的第一位取出,组成两位的二进制数b1b0,将TH和TS的第一位取出,组成两位的二进制数a1a0,a1a0与b1b0执行位运算:得到新数据TS’的第一位,依次对THN’、TSN、TH和TS第一位后的每一位数据执行以上相同的操作,得到新数据TS’;(33)将DS’和TS’作为编码的输入,编码得到新的待写入标志位的Softbit:TSN’,新的待写入缓存行数据的Softbit:NS’;(4)组成编码后缓存行数据{NH’,NS’},编码后标志位{THN’,TSN’}。...

【专利技术属性】
技术研发人员:冯丹童薇刘景宁徐洁吴兵杨明顺
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1