CN110968544B - 一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统 - Google Patents

一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统 Download PDF

Info

Publication number
CN110968544B
CN110968544B CN201911154402.6A CN201911154402A CN110968544B CN 110968544 B CN110968544 B CN 110968544B CN 201911154402 A CN201911154402 A CN 201911154402A CN 110968544 B CN110968544 B CN 110968544B
Authority
CN
China
Prior art keywords
data
estt
mram
unit
way selector
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.)
Active
Application number
CN201911154402.6A
Other languages
English (en)
Other versions
CN110968544A (zh
Inventor
刘冬生
刘星杰
卢楷文
张聪
刘波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Hikstor Technology Co Ltd
Original Assignee
Huazhong University of Science and Technology
Hikstor Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology, Hikstor Technology Co Ltd filed Critical Huazhong University of Science and Technology
Priority to CN201911154402.6A priority Critical patent/CN110968544B/zh
Publication of CN110968544A publication Critical patent/CN110968544A/zh
Application granted granted Critical
Publication of CN110968544B publication Critical patent/CN110968544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mram Or Spin Memory Techniques (AREA)

Abstract

本发明公开了一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,包括:存储器控制模块、eSTT‑MRAM;所述存储器控制模块用于分别采用三组存储器控制信号对eSTT‑MRAM进行取指、读写和程序下载操作,完成对eSTT‑MRAM的时分复用;所述eSTT‑MRAM用于使电流极化形成自旋电流,并通过自旋电流中的自旋电子将自旋矩传递给自由层的磁矩,使其依据自旋电流的方向而发生转动,实现写入信息“0”或“1”,存储速度快。通过将eSTT‑MRAM划分为更多的功能区,将不同类型的传统存储器在SoC中执行的功能集中在一片eSTT‑MRAM上,实现功能更复杂的单一存储系统,大大提高了系统的存储速度,减小了存储系统的面积。

Description

一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统
技术领域
本发明属于存储器应用领域,更具体地,涉及一种基于嵌入式自旋转移力矩磁随机存储器(Embedded Spin-transfer torque Magnetic RAM,eSTT-MRAM)的系统芯片(System on Chip,SoC)存储系统。
背景技术
SoC技术的出现改变了传统嵌入式系统的设计观念,基于IP核的设计技术已成为嵌入式系统设计的主流。SoC的优势之一在于可以使用软硬件结合的方式实现各种复杂的功能,将硬件实现的效率高,速度快和软件实现的简单,低成本等优势结合在一起,以求达到性能和成本的折中。在SoC中,存储系统是联系硬件和软件的纽带。处理器从存储系统中读取程序,通过执行程序对硬件进行控制,执行程序的过程中也会产生临时数据存放在存储系统中。对于可编程SoC来说,存储系统还直接与上位机进行通信。因此,在SoC中,存储系统往往是数据交互最频繁的地方,存储系统的性能直接影响到整个SoC的执行效率。研究更高效的存储系统对提高SoC整体性能有着非常重要的意义。
传统的嵌入式SoC的存储系统一般是由易失性存储器(如SRAM、DRAM)和非易失性存储器(如EEPROM、eFlash)组合构成的多层次存储系统。这种基于传统存储器的多层存储系统由于采用了多种存储器相互配合的工作模式,可以在一定程度上缓解高速处理器与低速存储设备之间速度不匹配的问题。但其在工作过程中程序和数据往往会在不同的类型的存储器之间进行搬移,极大地影响了效率。不同类型的存储器在布局时需要保持一定的间隔,并且存储器种类的不同会导致驱动逻辑有很大的区别,需要设计不同的驱动电路,这导致了多层存储系统会占用较大的面积。此外,传统存储器由于工艺和结构上的限制,性能方面已经达到了瓶颈,速度、存储密度等指标都很难再有所突破。鉴于以上原因,现有的SoC存储系统存在着存储速度慢、占用面积大的问题,已经成为了限制嵌入式SoC性能提高的主要因素。随着信息技术的发展和大数据处理技术的普及,物联网应用对嵌入式SoC的性能有了更高的要求,现有的SoC存储系统已经很难满足市场需求。
综上所述,提出一种存储速度快、占用面积小的SoC存储系统是亟待解决的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,其目的在于解决现有技术中由于采用多层存储系统,数据和程序需在各个存储器之间进行转移而导致的存储速度慢的问题。
为实现上述目的,本发明提供了一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,包括:存储器控制模块、eSTT-MRAM;
其中,存储器控制模块的输入端分别与高级高性能总线(Advanced High-performance Bus,AHB)和上位机的异步收发传输器相连,存储器控制模块的输出端与eSTT-MRAM相连;
存储器控制模块用于分别采用三组存储器控制信号对eSTT-MRAM进行取指、读写和程序下载操作,完成对eSTT-MRAM的时分复用,形成单一存储系统,避免了系统工作过程中,数据和程序在各个存储器之间繁琐的转移工作;
eSTT-MRAM用于使电流极化形成自旋电流,并通过自旋电流中的自旋电子将自旋矩传递给自由层的磁矩,使其依据自旋电流的方向而发生转动,实现写入信息“0”或“1”。
进一步优选地,存储器控制模块包括程序读取单元、数据读写单元、程序下载单元、存储控制单元;
其中,程序读取单元、数据读写单元和存储控制单元的输入端分别连接在AHB上,程序下载单元的输入端通过数据线与上位机的异步收发传输器相连,程序读取单元、数据读写单元和程序下载单元的输出端分别与存储控制单元的输入端相连,存储控制单元的输出端与eSTT-MRAM的输入端相连;
程序读取单元用于通过AHB总线信号获得对应指令的地址,并基于该地址控制读取eSTT-MRAM中存储的程序,实现处理器取指令操作;
数据读写单元用于将AHB总线信号转换成eSTT-MRAM的读写使能控制信号、待读写数据及其地址,实现对eSTT-MRAM中存储的用户数据或临时数据进行读写操作;
程序下载单元用于将上位机通过串口传输来的程序数据进行整理,排列为处理器可以识别的指令,并将其写入到eSTT-MRAM对应的地址;
存储控制单元用于根据AHB总线信号和程序下载单元的输入数据状态来确定程序读取单元、数据读写单元以及程序下载单元对eSTT-MRAM的控制权限。
进一步优选地,程序下载单元包括UART接口电路、写入数据寄存器、循环计数器、地址寄存器;
其中,UART接口电路的输入端通过数据线与上位机相连,UART接口电路的输出端与写入数据寄存器的输入端相连,写入数据寄存器、循环计数器以及地址寄存器的输出端分别与存储控制单元相连;
UART接口电路用于基于UART协议每次接收1比特上位机发送的数据存放在UART接口的数据缓冲器中,并且当接收满一字节时,将该字节数据传输到写入数据寄存器中;
写入数据寄存器用于接收上述数据缓冲器传输过来的字节数据,根据循环计数器的计数状态确定当前字节存放的位置,并将接收到的满32位的比特数据发送给eSTT-MRAM后进行清零操作;
循环计数器用于对写入数据寄存器接受到的字节个数进行循环计数,并将计数状态发送给写入数据寄存器,当写入数据寄存器接收满32位比特数据时,循环计数器发出数据有效信号,使能eSTT-MRAM;
地址寄存器用于对eSTT-MRAM写入32位比特数据的次数进行计数,得到eSTT-MRAM上写入下一个32位比特数据的地址。
进一步优选地,存储控制单元包括第一与门、第二与门、非门、第一二路选择器、第二二路选择器、第三二路选择器、第一或门、第二或门;
其中,第一与门的第一输入端、第二与门第一、第二输入端以及非门的输入端共同连接在AHB总线上,非门的输出端与第一与门的第二输入端相连,第一与门的输出端与第一二路选择器的控制端相连,第一二路选择器的第一输入端与程序读取单元的输出端相连,第一二路选择器的输出端与第二二路选择器的第一输入端相连,第二二路选择器的第二输入端与数据读写单元的输出端相连,第二二路选择器的控制端与第二与门的输出端相连,第二二路选择器的输出端与第三二路选择器的第二输入端相连,第三二路选择器的第一输入端以及控制端分别与程序下载单元的输出端和级联的第一或门与第二或门的输出端相连,其中级联的第一或门和第二或门的输入端与程序下载单元的输出端向量,第三二路选择器的输出端与eSTT-MRAM的输入端相连;
将程序读取单元、数据读写单元、程序下载单元的输出的信号分别从第一二路选择器、第二二路选择器、第三二路选择器输入到存储控制单元中;
将AHB总线控制信号HSEL1和取反后的HWRITE1输入到第一二路选择器的控制端,用于控制第一二路选择器的输出,当HSEL1&
Figure BDA0002284411030000041
为高电平时,第一二路选择器输出程序读取单元输入的信号;
将AHB总线控制信号HSEL2和HTRANS2[1]输入到第二二路选择器的控制端,用于控制第二二路选择器的输出,当HSEL2&
Figure BDA0002284411030000051
为高电平时,第二二路选择器输出程序读取单元输入的信号,反之,第二二路选择器输出数据读写单元输入的信号;
将程序下载单元输入的32位比特数据按位进行或操作后输入到第三二路选择器的控制端,用于控制第三二路选择器的输出,当控制当程序下载单元输入的32位比特数据全为零时,将第二二路选择器的输出结果输出到eSTT-MRAM,否则将出程序下载单元输入的信号输出到eSTT-MRAM。
进一步优选地,程序下载单元对eSTT-MRAM有最高控制优先级,当控制当程序下载单元输入的32位比特数据并不全为零时,优先将程序下载单元输入的信号输入到eSTT-MRAM。
进一步优选地,上述程序读取单元和所述数据读写单元中相同的控制和数据信号可以复用对应的逻辑电路,以进一步减小存储系统所占的面积。
进一步优选地,上述基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统应用于存储器应用领域。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明提出了一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,分别采用三组存储器控制信号对eSTT-MRAM进行取指、读写和程序下载操作,完成对eSTT-MRAM的时分复用,形成单一存储系统,在运行过程中,程序不需要进行搬运,数据的转移也仅是从存储器的一段地址空间移到另一段地址空间中,不需要跨存储器进行移动,避免了数据在总线上传输以及存储器频繁使能和关闭所耗费的时间,提高了系统的存储速度。另外,eSTT-MRAM使用全电流写入模式,通过改变自由层磁矩的自旋电流方向实现信息的写入,并通过检测存储单元电阻将信息读出。这种读写模式为eSTT-MRAM提供了同SRAM相近的存储速度,单一存储系统可以充分利用eSTT-MRAM读写速度快以及非易失性的优势,提高了SoC整体运行和存储速度。
2、由于eSTT-MRAM所具备的功能越多,速度优势就越为明显,本发明所提出的一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统将eSTT-MRAM划分为更多的功能区,实现功能更复杂的单一存储系统,大大提高了存储速度。
3、不同存储器由于结构和制作工艺的不同,相互之间往往需要有一定的间隔,本发明所提出的一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,将不同类型的传统存储器在SoC中执行的功能集中在一片eSTT-MRAM上形成单一存储系统,避免了多种存储器在系统芯片中布局困难的问题,当所需的存储容量在目前eSTT-MRAM能达到的范围内时,相同容量的情况下,使用本发明所提供的单一存储系统所占用的面积要小于多种存储器的面积之和,对于面积资源非常有限的SoC具有重要意义。
4、本发明所提出的一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,在存储器控制模块中复用了各个功能区控制和数据信号中逻辑相同的部分,简化了驱动电路的复杂性,提高了系统的整体效率。
附图说明
图1是本发明所提供的一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统结构示意图;
图2是本发明所提供的一种程序读取单元的整体结构示意图;
图3是本发明所提供的数据读写单元的整体结构示意图;
图4是发明所提供的程序下载单元的整体结构示意图;
图5是发明所提供的程序下载单元从上位机下载程序数据的流程图;
图6是发明所提供的存储控制单元的整体结构示意图;
图7是发明所提供的存储控制单元的电路图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为实现上述目的,本发明提供了一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,如图1所示,包括:存储器控制模块1、eSTT-MRAM2;
其中,存储器控制模块1的输入端分别与AHB和上位机的异步收发传输器相连,存储器控制模块的输出端与eSTT-MRAM2相连;
存储器控制模块1用于分别采用三组存储器控制信号对eSTT-MRAM2进行取指、读写和程序下载操作,完成对eSTT-MRAM2的时分复用;通过本发明所提供的存储器控制模块可以实现单一存储系统,避免了系统工作过程中,数据和程序在各个存储器之间繁琐的转移工作,并且大大减小了存储系统的面积消耗。
eSTT-MRAM2用于使电流极化形成自旋电流,并通过自旋电流中的自旋电子将自旋矩传递给自由层的磁矩,使其依据自旋电流的方向而发生转动,实现写入信息“0”或“1”。eSTT-MRAM2由三层结构的磁隧道结组成,分别为自由层,固定层和氧化层。采用全电流写入模式,通过固定层使电流极化,形成自旋电流,自旋电流中的自旋电子将自旋矩传递给自由层的磁矩,使其依据自旋电流的方向而发生转动,实现写入信息“0”或“1”,具有高集成度、低静态功耗、非易失性以及高速访问速度等优势。另外,eSTT-MRAM采用了垂直MTJ结构作为其基本存储单元,这种存储结构以及高效的全电流写入模式的应用使得MTJ具有很小的横截面积,可以大大减小存储系统的面积。
具体的,存储器控制模块包括程序读取单元11、数据读写单元12、程序下载单元13、存储控制单元14;
其中,程序读取单元11、数据读写单元12和存储控制单元14的输入端分别连接在AHB上,程序下载单元13的输入端通过数据线与上位机的异步收发传输器相连,程序读取单元11、数据读写单元12和程序下载单元13的输出端分别与存储控制单元14的输入端相连,存储控制单元14的输出端与eSTT-MRAM的输入端相连;
程序读取单元11用于通过AHB总线信号获得对应指令的地址,并基于该地址控制读取eSTT-MRAM中存储的程序,实现处理器取指令操作;
具体的,本实施例中,程序读取单元11的整体结构示意图如2所示,程序读取单元11中输入的总线信号包括HSEL1、HREADY1、HADDR1、HTRANS1、HWRITE1,根据AHB总线协议可知,HSEL1为从选择信号,HREADY1为从准备信号,HREADY1为高表示从指出传输结束,HREADY1为低表示从需延长传输周期,HADDR1表示地址总线信号,HTRANS1表示当前传输类型,HWRITE1为读写信号,HWRITE1为高表示写信号,HWRITE1为低表示读信号。HSEL1、HREADY1分别连接到与门120的输入端,与门120的输出端作为使能信号接到触发器111、113和114。同时该信号还作为了二路选择器115的选择信号。二路选择器115的输出作为eSTT-MRAM的地址信号ADDR1。HREADY1信号和HSEL1信号还分别接到了D触发器112的使能端和输入端。触发器112的输出信号HSEL_r和触发器113的输出信号HTRANS_r[1]连接到与门117的输入端。与门117的输出端和触发器114的输出信号HWRITE_r经过非门119后的信号作为与门118的输入信号,与门118的输出信号作为二路选择器116的控制信号。当控制信号为1时,eSTT-MRAM上对应地址ADDR1处的32bit数据被加载到32bit读数据总线HRDATA1上,输出给处理器。由于读程序过程只对存储器进行读数据操作,因此此时eSTT-MRAM的写使能信号保持为高电平(低电平有效)。
数据读写单元12用于将AHB总线信号转换成eSTT-MRAM的读写使能控制信号、待读写数据及其地址,实现对eSTT-MRAM中存储的用户数据或临时数据进行读写操作;
具体的,本实施例中,数据读写单元12的整体结构示意图如3所示,与程序读取单元11的电路结构类似,不同的是程序读取单元12涉及到对存储器读和写两种操作,因此需要增加和修改写数据时相关信号的控制逻辑,程序读取单元12增加了一些eSTT-MRAM写使能信号WEN的控制逻辑。此时,二路选择器1211的控制信号是HSEL1信号、cstate[0]信号和nstate[0]信号经过三输入与门127得到的信号,其中cstate[0]和nstate[0]为模块内部状态机产生的信号,标示了模块当前的状态。输入32bit的写数据总线HWDATA2经过触发器124连接到存储器的数据输入端。写使能信号根据状态标示位cstate[1]确定,当cstate[1]为1时,表明当前是写数据操作,WEN信号为0,反之,为读数据操作,WEN信号为1。
程序下载单元13用于将上位机通过串口传输来的程序数据进行整理,排列为处理器可以识别的指令,并将其写入到eSTT-MRAM对应的地址;
具体的,如图4所示为程序下载单元13的整体结构示意图,程序下载单元包括UART接口电路、写入数据寄存器、循环计数器、地址寄存器;
其中,UART接口电路的输入端通过数据线与上位机相连,UART接口电路的输出端与写入数据寄存器的输入端相连,写入数据寄存器、循环计数器以及地址寄存器的输出端分别与存储控制单元相连;
UART接口电路用于基于UART协议每次接收1比特上位机发送的数据存放在UART接口的数据缓冲器中,并且当接收满一字节时,将该字节数据传输到写入数据寄存器中;
写入数据寄存器用于接收上述数据缓冲器传输过来的字节数据,根据循环计数器的计数状态确定当前字节存放的位置,并将接收到的满32位的比特数据发送给eSTT-MRAM后进行清零操作;
循环计数器用于对写入数据寄存器接受到的字节个数进行循环计数,并将计数状态发送给写入数据寄存器,当写入数据寄存器接收满32位比特数据时,循环计数器发出数据有效信号,使能eSTT-MRAM;
地址寄存器用于对eSTT-MRAM写入32位比特数据的次数进行计数,得到eSTT-MRAM上写入下一个32位比特数据的地址。
具体的,如图5所示为程序下载单元13从上位机下载程序数据的流程图,根据UART协议,该模块每次接受1bit上位机发送的数据,存放在UART接口的数据缓冲器中,当接受满一字节数据后,数据有效标志vld置为1,该字节数据传输到寄存器组中进行保存,由于串口先发送低位字节,因此先接受到的数据存放在寄存器组的低位寄存器中。本实施例中计数器设置为从0到3循环计数,每当寄存器组接受到一字节的数据时,计数器state加1,计数器的计数状态对应着当前字节数据存放在寄存器组中的位置,本实施例中,当state=0时,将接收到的8比特数据依次存储在写入数据寄存器的低8位即第31位到第24位din[31:24];当state=1时,将接收到的8比特数据放置在写入数据寄存器的第23位到第16位,即din[23:16]处;当state=2时,将接收到的8比特数据放置在写入数据寄存器的第15位到第8位,即din[15:8]处;当state=3时,将接收到的8比特数据放置在写入数据寄存器的第7位到第0位,即din[7:0]处。每当写入数据寄存器接收满32bit数据时,计数器发出数据有效信号en=1,使能存储器,将该32bit数据写入eSTT-MRAM中。写入后数据寄存器组清零,同时地址寄存器中地址ADDR加1,作为下一32bit数据的地址。当写入数据寄存器中存储的数据全为0则表明上位机已经没有程序数据继续发送了。由于程序里面是不存在32bit全为0的指令的,所以当检测到输入存储器的32bit数据中,有不为0的位,则说明当前上位机正在发送程序,若全为零,则表明程序已经发完了,下载结束。
存储控制单元14用于根据AHB总线信号和程序下载单元的输入数据状态来确定程序读取单元、数据读写单元以及程序下载单元对eSTT-MRAM的控制权限。
具体的,存储控制单元14的整体结构示意图如图6所示,其中,Mem_signal1信号组、Mem_signal2信号组、Mem_signal3信号组分别由程序读取单元11、数据读写单元12、程序下载单元13产生,根据AHB总线信号判断是使用Mem_signal1信号组还是Mem_signal2信号组,通过判断是否接受到上位机数据决定是否使用Mem_signal3信号组,其中,程序下载模块生成Mem_signal3信号组的权限最高,当其有效时,屏蔽掉其余两组信号,即下载程序时,自动停止程序的执行。
更进一步的,存储控制单元14的电路图如图7所示,包括第一与门141、第二与门142、非门143、第一二路选择器144、第二二路选择器145、第三二路选择器146、第一或门147、第二或门148;其中,第一与门141的第一输入端、第二与门142第一、第二输入端以及非门143的输入端共同连接在AHB总线上,非门143的输出端与第一与门141的第二输入端相连,第一与门141的输出端与第一二路选择器144的控制端相连,第一二路选择器144的第一输入端与程序读取单元的输出端相连,第一二路选择器144的第二输入端接入10位0比特数据,第一二路选择器144的输出端与第二二路选择器145的第一输入端相连,第二二路选择器145的第二输入端与数据读写单元的输出端相连,第二二路选择器145的控制端与第二与门142的输出端相连,第二二路选择器145的输出端与第三二路选择器146的第二输入端相连,第三二路选择器146的第一输入端以及控制端分别与程序下载单元的输出端和级联的第一或门147与第二或门148的输出端相连,其中级联的第一或门147和第二或门148的输入端与程序下载单元的输出端向量,第三二路选择器146的输出端与eSTT-MRAM的输入端相连;
将程序读取单元11、数据读写单元12、程序下载单元13的输出的信号分别从第一二路选择器144、第二二路选择器145、第三二路选择器146输入到存储控制单元14中;
由于总线协议的规定,当前地址对应的数据要在下一周期才会出现在AHB数据总线上,因此在写数据时,需要对地址进行一个周期的保存,以保证数据和地址是对应的,而读数据时,由于从eSTT-MRAM中读出数据也需要一个周期,因此直接将当前总线地址映射到eSTT-MRAM对应地址即可。两个功能区分别映射到两段不同的总线地址,因此可以通过AHB总线地址判断当前是哪一组信号对eSTT-MRAM进行控制。在图6的地址控制电路中,HSEL1信号和HSEL2信号反映的便是当前AHB总线地址所在区间。当总线地址处于程序存储区时,HSEL1为高电平;当总线地址处于数据存储区时,HSEL2为高电平。同时,两个模块中相同的控制和数据信号可以复用对应的逻辑电路,以进一步减小存储系统所占面积。
具体的,将AHB总线控制信号HSEL1和取反后的HWRITE1输入到第一二路选择器144的控制端,用于控制第一二路选择器144的输出,当HSEL1&
Figure BDA0002284411030000121
为高电平时,第一二路选择器144输出程序读取单元输入的信号;第一二路选择器144的输出信号和数据读写单元12的输出信号作为第二二路选择器145的输入信号,将AHB总线控制信号HSEL2和HTRANS2[1]输入到第二二路选择器145的控制端,用于控制第二二路选择器145的输出,当HSEL2&
Figure BDA0002284411030000122
为高电平时,第二二路选择器145输出程序读取单元输入的信号,反之,第二二路选择器145输出数据读写单元输入的信号;第二二路选择器145的输出信号和程序下载单元13的输出的信号共同输入到第三二路选择器146中,将程序下载单元13输入的32位比特数据按位进行或操作后输入到第三二路选择器146的控制端,用于控制第三二路选择器146的输出。通过判断是否接受到上位机数据来决定是否输出程序下载单元输入的信号。由于不存在32bit全为零的指令,当程序下载单元13输入的32位比特数据是否全为零,认为程序下载单元13当前未接受到指令,eSTT-MRAM与处理器进行数据交换。当控制当程序下载单元输入的32位比特数据全为零时,则将第二二路选择器145的输出结果输出到eSTT-MRAM,否则将出程序下载单元13输入的信号输出到eSTT-MRAM。其中,DIN[i]为程序下载模块中写入数据寄存器内第i比特数据。将各个bit位相或得到的信号作为第三二路选择器146的控制信号。
本发明提供了一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,分别采用三组存储器控制信号对eSTT-MRAM进行取指、读写和程序下载操作,完成对eSTT-MRAM的时分复用,形成单一存储系统,避免了系统工作过程中,数据和程序在各个存储器之间繁琐的转移工作,程序不需要进行搬运,数据的转移也是从存储器的一段地址空间移到另一段地址空间中,不需要跨存储器进行移动,避免了数据在总线上传输以及存储器频繁使能和关闭所耗费的时间,大大提高了系统的运行和存储速度。另外,eSTT-MRAM使用全电流写入模式改变自由层磁矩的自旋电流方向,实现信息的写入,并通过检测存储单元电阻将信息读出。这种读写模式为eSTT-MRAM提供了同SRAM相近的存储速度,存储速度较快,本发明所实现的单一存储系统充分利用了eSTT-MRAM读写速度快以及非易失性的优势,大大提高了SoC整体的运行速度和存储速度。进一步的,不同存储器由于结构和制作工艺的不同,相互之间往往需要有一定的间隔。本发明所提供的SoC存储系统所形成的单一存储系统,避免了多种存储器在系统芯片中布局困难的问题,另外本发明所提供的存储器控制模块还可以复用各个功能区控制和数据信号中逻辑相同的部分,从而简化存储器驱动电路的复杂性,进一步减小了存储系统的面积消耗,当所需的存储容量在目前eSTT-MRAM能达到的范围内时,相同容量的情况下,使用单一存储系统所占面积要小于多种存储器的面积之和,对于面积资源非常有限的SoC具有重要意义。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,其特征在于,包括:存储器控制模块和eSTT-MRAM;
所述存储器控制模块的输入端分别与AHB和上位机的异步收发传输器相连,所述存储器控制模块的输出端与所述eSTT-MRAM相连;
所述存储器控制模块用于分别采用三组存储器控制信号对eSTT-MRAM进行取指、读写和程序下载操作,完成对eSTT-MRAM的时分复用;
所述eSTT-MRAM用于使电流极化形成自旋电流,并通过自旋电流中的自旋电子将自旋矩传递给自由层的磁矩,使其依据自旋电流的方向而发生转动,实现写入信息“0”或“1”;
所述存储器控制模块包括程序读取单元、数据读写单元、程序下载单元和存储控制单元;
所述程序读取单元、所述数据读写单元和所述存储控制单元的输入端分别连接在AHB上,所述程序下载单元的输入端通过数据线与上位机的异步收发传输器相连,所述程序读取单元、所述数据读写单元和所述程序下载单元的输出端分别与所述存储控制单元的输入端相连,所述存储控制单元的输出端与所述eSTT-MRAM的输入端相连;
所述程序读取单元用于通过AHB总线信号获得对应指令的地址,并基于该地址控制读取eSTT-MRAM中存储的程序,实现处理器取指令操作;
所述数据读写单元用于将AHB总线信号转换成eSTT-MRAM的读写使能控制信号、待读写数据及其地址,实现对eSTT-MRAM中存储的用户数据或临时数据进行读写操作;
所述程序下载单元用于将上位机通过串口传输来的程序数据进行整理,排列为处理器可以识别的指令,并将其写入到eSTT-MRAM对应的地址;
所述存储控制单元用于根据AHB总线信号和程序下载单元的输入数据状态来确定程序读取单元、数据读写单元以及程序下载单元对eSTT-MRAM的控制权限。
2.根据权利要求1所述的基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,其特征在于,所述程序下载单元包括UART接口电路、写入数据寄存器、循环计数器和地址寄存器;
其中,所述UART接口电路的输入端通过数据线与上位机相连,所述UART接口电路的输出端与所述写入数据寄存器的输入端相连,所述写入数据寄存器、所述循环计数器以及所述地址寄存器的输出端分别与所述存储控制单元相连;
所述UART接口电路用于基于UART协议每次接收1比特上位机发送的数据存放在UART接口的数据缓冲器中,并且当接收满一字节时,将该字节数据传输到写入数据寄存器中;
所述写入数据寄存器用于接收上述数据缓冲器传输过来的字节数据,根据循环计数器的计数状态确定当前字节存放的位置,并将接收到的满32位的比特数据发送给eSTT-MRAM后进行清零操作;
所述循环计数器用于对写入数据寄存器接受到的字节个数进行循环计数,并将计数状态发送给写入数据寄存器,当写入数据寄存器接收满32位比特数据时,循环计数器发出数据有效信号,使能eSTT-MRAM;
所述地址寄存器用于对eSTT-MRAM写入32位比特数据的次数进行计数,得到eSTT-MRAM上写入下一个32位比特数据的地址。
3.根据权利要求1所述的基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,其特征在于,所述存储控制单元包括第一与门、第二与门、非门、第一二路选择器、第二二路选择器、第三二路选择器、第一或门和第二或门;
第一与门的第一输入端、第二与门第一、第二输入端以及非门的输入端共同连接在AHB总线上,非门的输出端与第一与门的第二输入端相连,第一与门的输出端与第一二路选择器的控制端相连,第一二路选择器的第一输入端与程序读取单元的输出端相连,第一二路选择器的输出端与第二二路选择器的第一输入端相连,第二二路选择器的第二输入端与数据读写单元的输出端相连,第二二路选择器的控制端与第二与门的输出端相连,第二二路选择器的输出端与第三二路选择器的第二输入端相连,第三二路选择器的第一输入端以及控制端分别与程序下载单元的输出端和级联的第一或门与第二或门的输出端相连,其中级联的第一或门和第二或门的输入端与程序下载单元的输出端向量,第三二路选择器的输出端与eSTT-MRAM的输入端相连;
将程序读取单元、数据读写单元、程序下载单元的输出的信号分别从第一二路选择器、第二二路选择器、第三二路选择器输入到存储控制单元中;
将AHB总线控制信号HSEL1和取反后的HWRITE1输入到第一二路选择器的控制端,用于控制第一二路选择器的输出,当
Figure FDA0003189512160000031
为高电平时,第一二路选择器输出程序读取单元输入的信号;
将AHB总线控制信号HSEL2和HTRANS2[1]输入到第二二路选择器的控制端,用于控制第二二路选择器的输出,当
Figure FDA0003189512160000032
为高电平时,第二二路选择器输出程序读取单元输入的信号,反之,第二二路选择器输出数据读写单元输入的信号;
将程序下载单元输入的32位比特数据按位进行或操作后输入到第三二路选择器的控制端,用于控制第三二路选择器的输出,当程序下载单元输入的32位比特数据全为零时,将第二二路选择器的输出结果输出到eSTT-MRAM,否则将程序下载单元输入的信号输出到eSTT-MRAM。
4.根据权利要求3所述的基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,其特征在于,所述程序下载单元对eSTT-MRAM有最高控制优先级,当程序下载单元输入的32位比特数据并不全为零时,优先将程序下载单元输入的信号输入到eSTT-MRAM。
5.根据权利要求1所述的基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,其特征在于,所述程序读取单元和所述数据读写单元中相同的控制和数据信号可以复用对应的逻辑电路。
6.根据权利要求1所述的基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统,其特征在于,应用于存储器应用领域。
CN201911154402.6A 2019-11-22 2019-11-22 一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统 Active CN110968544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911154402.6A CN110968544B (zh) 2019-11-22 2019-11-22 一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911154402.6A CN110968544B (zh) 2019-11-22 2019-11-22 一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统

Publications (2)

Publication Number Publication Date
CN110968544A CN110968544A (zh) 2020-04-07
CN110968544B true CN110968544B (zh) 2021-10-08

Family

ID=70031380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911154402.6A Active CN110968544B (zh) 2019-11-22 2019-11-22 一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统

Country Status (1)

Country Link
CN (1) CN110968544B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617396B (zh) * 2022-10-09 2023-08-29 上海燧原科技有限公司 应用于新型人工智能处理器的寄存器分配方法及装置
CN117459268A (zh) * 2023-10-25 2024-01-26 合芯科技(苏州)有限公司 基于硬件式访问权限管理的计算系统、方法及总线设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159611A (zh) * 2015-09-01 2015-12-16 南京伍安信息科技有限公司 一种具有数据抽取加密功能的微控制器芯片
CN105527889A (zh) * 2015-12-08 2016-04-27 中电海康集团有限公司 一种采用stt-mram作为单一存储器的微控制器
CN106201902A (zh) * 2016-06-24 2016-12-07 中电海康集团有限公司 一种sram位元与非易失性存储位元组成的复合阵列模块及其读写控制方法
CN109656477A (zh) * 2018-12-11 2019-04-19 华中科技大学 一种基于STT-MRAM的非接触式智能卡SoC

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101604042B1 (ko) * 2009-12-30 2016-03-16 삼성전자주식회사 자기 메모리 및 그 동작방법
KR20170045803A (ko) * 2015-10-20 2017-04-28 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159611A (zh) * 2015-09-01 2015-12-16 南京伍安信息科技有限公司 一种具有数据抽取加密功能的微控制器芯片
CN105527889A (zh) * 2015-12-08 2016-04-27 中电海康集团有限公司 一种采用stt-mram作为单一存储器的微控制器
CN106201902A (zh) * 2016-06-24 2016-12-07 中电海康集团有限公司 一种sram位元与非易失性存储位元组成的复合阵列模块及其读写控制方法
CN109656477A (zh) * 2018-12-11 2019-04-19 华中科技大学 一种基于STT-MRAM的非接触式智能卡SoC

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Design and Hardware Implementation of a STT-MRAM Based SoC Architecture;Jiawang Hu; Dongsheng Liu; Cong Zhang; Changxing Li; Hualong Zha;《2018 IEEE Asia Pacific Conference on Circuits and Systems (APCCAS)》;20181030;全文 *
Embedded STT-MRAM opportunities in new system hierarchies;Daein Kang; Yong-Bin Kim;《2015 International SoC Design Conference (ISOCC)》;20160211;全文 *
Novel smart card SoC memory architecture based on embedded STT-MRAM;Kaiwen Lu; Fengze Yan; Xingjie Liu; Dongsheng Liu; Bo Liu,etc;《2019 IEEE 13th International Conference on ASIC (ASICON)》;20191101;全文1-4页 *

Also Published As

Publication number Publication date
CN110968544A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN101667451B (zh) 高速数据交换接口的数据缓存器及其数据缓存控制方法
CN110347635B (zh) 一种基于多层总线的异构多核微处理器
CN103744644B (zh) 采用四核结构搭建的四核处理器系统及数据交换方法
CN110968544B (zh) 一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统
CN103246625B (zh) 一种数据与地址共用引脚自适应调整访存粒度的方法
CN102567280B (zh) 一种基于dsp和fpga的计算机硬件平台设计方法
CN102622192B (zh) 一种弱相关多端口并行存储控制器
CN105183662A (zh) 一种无cache一致性协议的分布式共享片上存储架构
CN107085560A (zh) 一种emif接口与ahb/apb时序桥接电路及其控制方法
KR20170141205A (ko) Dsp 엔진 및 향상된 컨텍스트 스위치 기능부를 구비한 중앙 처리 유닛
CN203812236U (zh) 一种基于处理器和现场可编程门阵列的数据交换系统
WO2023160192A1 (zh) 一种用于总线的互联装置
CN108052750A (zh) 基于fpga的spi flash控制器及其设计方法
US20110271075A1 (en) System on chip including unified input/output memory management unit
CN101825997A (zh) 一种异步先入先出存储器
CN104035898B (zh) 一种基于vliw类型处理器的访存系统
CN102262595A (zh) 一种微处理器扩展寻址方法
CN110827891B (zh) 信号转换单元、存储器以及应用于存储器的驱动方法
WO2023283886A1 (zh) 一种寄存器阵列电路和访问寄存器阵列的方法
CN105893036A (zh) 一种嵌入式系统的兼容式加速器扩展方法
US20220011966A1 (en) Reduced network load with combined put or get and receiver-managed offset
CN109388344B (zh) 一种基于带宽扩展交叉编址的双端口sram访问控制系统及方法
CN106445679A (zh) 一种控制系统程序空间共享装置及方法
CN107807888B (zh) 一种用于soc架构的数据预取系统及其方法
CN115103032B (zh) 通信协议控制电路和芯片

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant