存储设备的初始化的制作方法

文档序号:19285720发布日期:2019-11-29 23:31阅读:566来源:国知局
存储设备的初始化的制作方法

本公开涉及用于访问计算系统中的存储器的技术,并且特别地但非排他地,涉及用于初始化存储器中的位(bit)的技术。

在计算系统中,不同的应用(或进程)可以使用相同的存储器,由此后续应用能够访问或恢复来自先前应用所使用的存储器的数据,并且由此恢复的数据可能包括敏感/安全性信息。例如,在具有持久存储器的系统中在从电源故障重新启动之后可能发生这样的访问。

为了防止这样的访问,或者为了提高应用(例如,加密操作)的效率,存储器或其一部分可以在被应用访问之前被初始化。

这种初始化可能包括针对初始化的内核归零(kernelzeroing),因此数据将不会泄露给另一个进程。

此外,linux在页面被写入时执行懒惰(lazy)初始化,即,“写入时复制(copy-on-write)”,而freebsd通过在多个时钟周期内初始化存储器的多个页面并维持用于分配的存储器池来进行急切(eager)初始化。在如在c中通过memset的分配之后,或者在如在c++或c#中由构造函数隐式地初始化之后,需要用户空间应用以初始化堆存储器页面,。

另外,例如,为了虚拟机间安全/数据隐私,管理程序在将物理页面分配给另一个机器之前在多个时钟周期内初始化这些页面。

但是,随着存储器容量和应用需求的增长,初始化正在成为时间和能耗增加的进程。因此,需要用于实现初始化的改进方法。



技术实现要素:

根据第一技术,提供了一种系统,该系统包括:存储设备,该存储设备具有包括耦合到相应的第一信号线和第二信号线的多个位单元的存储部分,以及用于经由第一信号线和第二信号线改变多个位单元的存储器状态的控制逻辑;存储器控制器,耦合到存储设备,以将一个或多个初始化信号传送到存储设备;其中存储设备用于响应于一个或多个初始化信号在时钟周期内初始化存储部分。

根据另一个技术,提供了一种初始化存储设备上的存储的一部分的方法,该方法包括:至少部分地基于来自总线主控器的指令在存储器控制器处生成初始化信号以初始化存储的所述部分,存储的所述部分包括耦合到相应的第一信号线和第二信号线的多个位单元;在存储设备处解码初始化信号;在存储设备处在时钟周期内初始化所述存储部分。

根据另一个技术,提供了一种承载代码的非瞬态数据载体,所述代码当在处理器上实现时,使得处理器执行该方法。

根据另一个技术,提供了一种存储器控制器,该存储器控制器包括:一个或多个缓冲器,用于接收来自总线主控器的访问请求;仲裁器,用于确定执行访问请求的顺序;信号接口,用于至少部分地基于访问请求生成硬件信号;并且其中硬件信号包括以下中的一个或多个:初始化信号、初始化地址信号、初始化范围信号和初始化数据信号。

根据另一个技术,提供了一种存储设备,该存储设备具有可寻址部分和控制逻辑,所述可寻址部分包括耦合到相应的第一信号线和第二信号线的多个位单元,所述控制逻辑用于改变位单元的存储器状态;其中存储设备用于在时钟周期内初始化多个位单元。

附图说明

图1示意性地示出了根据实施例的计算系统的框图;

图2示意性地示出了根据实施例的存储器控制器的框图;

图3a示意性地示出了根据现有技术布置的存储器和存储器控制器的框图。

图3b示意性地示出了用于初始化图3a的存储器的一部分的时序图;

图4a示意性地示出了根据使用本技术的实施例的存储器控制器和存储器的示图;

图4b示意性地示出了用于初始化图4a的存储器的一部分的时序图;

图4c和图4d示意性地示出了根据使用本技术的实施例的存储器控制器和存储器的示图;

图5示意性地示出了根据使用本技术的实施例的存储器阵列的体系架构;

图6示出了示出根据使用本技术的实施例的初始化存储器的一部分的进程的示例流程图。

在整个说明书中,所使用的相似编号将用于描述相似的特征。

图1示意性地示出了计算系统1的框图,计算系统1包括总线主控器2,其在本示例中包括处理器2。

处理器可以包括通用处理器、网络处理器、应用处理器(例如,如在移动电话中所使用的),或其它类型的处理器(包括精简指令集计算机(risc)处理器或复杂指令集计算机(cisc)处理器)。此外,处理器2可以具有单个或多个核。

在本示例中,处理器2包括本地存储器4,其被描绘为用于高速缓存处理器2本地的数据(l1d)和指令(l1i)的级别1(l1)高速缓存4。

互连或总线6(下文称为“系统总线”6)将处理器2耦合到存储器控制器8,存储器控制器8经由互连或总线12(下文称为“存储器总线”12)耦合到存储设备10,存储设备10在说明性示例中包括存储器10。

存储器控制器8接收由处理器2生成的读或写请求,并响应于读或写请求而生成访问存储器10的信号,如下所述。

存储器10包括控制逻辑,用于解码从存储器控制器接收到的信号并相应地提供读或写访问。

在实施例中,存储器10包括多个可寻址的位单元。将认识到的是,如本文提到的“位单元”包括能够存储值、符号、参数或条件以表示其存储器状态的电路或电路的一部分。

存储器10可以是非易失性存储器,诸如纳米线存储器、铁电晶体管随机存取存储器(fetram)、磁阻随机存取存储器(mram)、闪存存储器、自旋扭矩转移随机存取存储器(sttram)、stt磁性ram(sttmram)、诸如相变存储器(pcm)的3d交叉点存储器、具有nand/nor存储器的ssd、利用相关电子材料(cem)的存储器等。在一些实施例中,nvm存储器10可以包括存储类存储器(scm)。

在其它实施例中,存储器10可以是易失性存储器,诸如随机存取存储器(ram)(例如,静态ram(sram)或动态ram(dram))。

虽然没有具体绘出,但是系统1中可以设置其它逻辑。

例如,如图1中所绘出的,可以在系统总线6和存储器控制器10之间设置共享的级别2(l2)高速缓存14,由此l2高速缓存14可以用于存储由处理器2使用的数据和/或指令。

作为另一个示例,系统1可以包括其它存储(未示出),诸如硬盘驱动器(hdd),或者可以包括附加的或替代的总线主控器(描绘为(一个或多个)总线主控器3),其可以包括以下中的一个或多个:(一个或多个)处理器、(一个或多个)图形处理单元(gpu)、(一个或多个)直接存储器访问(dma)控制器和(一个或多个)输入/输出(i/o)接口,但是该列表并非详尽无遗。

图2示意性地示出了根据实施例的存储器控制器8的框图,由此存储器控制器8包括用于存储访问请求的缓冲器或队列,由此访问请求可以包括来自处理器的针对存储器的一部分的读/写(例如,初始化)请求。

在本公开的上下文中,存储器的目标部分的初始化通常是指将相同的值、符号、参数或条件写入到目标部分的所有位单元以使得所有位单元表示相同的存储器状态的过程。

在图2中,队列被说明性地描绘为写队列20和读队列22。队列可以作为先进先出(fifo)队列操作。

描绘为仲裁器24的仲裁机制确定执行访问请求的顺序,并且仲裁器24可以基于系统的效率、可预测性、速度和灵活性要求中的一个或多个来执行仲裁,但是将认识到的是,该列表并非详尽无遗,并且可以基于其它系统要求或用户指令来执行仲裁。

接口(i/f)26响应于执行的读和写请求生成硬件/电信号。由存储器控制器8生成的信号可以包括地址信号(a)和数据信号(dq)、时钟信号(clk)、写使能(we)信号、用于访问存储器的读/写(r/w)信号,如本领域技术人员将理解的。

在使用本技术的实施例中,信号接口26还生成其它信号以初始化存储器的一部分,如下面将更详细描述的。

接口(i/f)26也可以接收信号(例如,来自图3a、图4a和图4c-d中描绘的存储器的输出信号(rq)),并生成要传送到总线主控器的响应信号(rsp)。在本说明性示例中,存储器控制器8包括用于存储接收到的信号的响应队列28,由此响应队列28可以作为fifo操作。

图3a示意性地示出了根据现有技术布置的存储器100和存储器控制器102的框图,而图3b示意性地示出了用于初始化存储器100的一部分的时序图。

在现有技术布置中,存储器100包括控制逻辑103、104,用于解码从存储器控制器102接收到的信号中的一个或多个信号。

存储器100还包括多个位单元,在本说明性示例中,这些位单元布置在包括“m”行和“l”列的体(bank)或阵列105中,由此每个位单元具有由行和列的交叉点定义的唯一地址,由此位单元的行耦合到被布置为字线wl(0)至wl(m)的相应信号线并且经由该相应信号线可寻址,而位单元的列耦合到被布置为位线bl(0)至bl(l)的相应信号线并且经由该相应信号线可寻址。

存储器100还包括读取逻辑108,用于确定(一个或多个)位单元的存储器状态,并相应地生成输出(rq)。

在本布置中,为了初始化存储器的字线的位单元,并且如图3b中所描绘的,存储器控制器102生成地址信号(ao)以识别要初始化的第一目标位单元或字,由此在第一时钟周期中在地址总线106上提供地址信号,由此目标位单元可以是第一字线上的字的第一位单元。

存储器控制器102也在数据总线107上提供数据信号(dq),由此数据信号(dq)定义要存储或写入到第一目标位单元的存储器状态。

如图3b中所描绘的,在解码地址和数据信号时,控制逻辑103、104驱动相应的字线和位线,并在第一时钟周期期间在字的(一个或多个)第一目标位单元中存储(dq)的解码的存储器状态。

存储器控制器102对要初始化的存储器的部分中的剩余地址中的每个剩余地址重复操作,其中地址(a1,a2等)在连续的时钟周期中从存储器控制器102发送到控制逻辑103、104,如图3b中所绘出的。

因此,将认识到的是,初始化不同的位单元或字包括在多个时钟周期内执行的串行操作,其中在每个时钟周期数据被存储在一个位单元或字中。

考虑到这一点,在多个时钟周期内初始化存储器的一部分(例如存储器的32kb)将导致应用暂停(stalling),直到存储器的该部分的初始化完成,这可能导致系统1中的处理延迟。

此外,将存储器状态写入到位单元将引起写电流。以stt-mram作为说明性示例,将存储器写入到stt-mram的位单元汲取大约1ma,由此汲取的电流将取决于在相同时钟周期内被写入的位单元的数量而增加。

作为说明性示例,在单个时钟周期期间将存储器状态写入到包括stt-mram存储器的32kb的多个位单元将汲取大约32a。

在相同的时钟周期内写入其它类型的nv存储器(诸如闪存存储器或pcm)的类似大小的部分(例如32kb)可以吸取相似量值的电流,使得在任何一个时钟周期内写入的位单元的数量取决于应用而被控制为一个字或更少。

图4a示意性地示出了根据使用本技术的实施例的存储器控制器8和存储器10的框图,而图4b示意性地示出了用于在时钟周期内初始化存储器10的一部分的时序图。

在本说明性示例中,存储器10包括多个位单元,所述多个位单元在本说明性示例中布置在包括“m”行和“l”列的体或阵列205中,由此,如上所述,每个位单元具有由行和列的交叉点定义的唯一地址,由此位单元的行耦合到在本说明性示例中被布置为字线wl(0)至wl(m)的相应第一信号线并且经由该相应第一信号线可寻址,而位单元的列耦合到被布置为位线bl(0)至bl(l)的第二信号线并且经由该第二信号线可寻址。

在本公开的上下文中,信号线包括用于传送信号的导体,由此“字线”传送信号以在读操作或写操作(例如,初始化操作)中选择一个或多个位单元,同时“位线”传送用于控制或驱动一个或多个位单元以在写操作中改变其存储器状态或者在读操作中感测其存储器状态的信号。

如上所述,存储器控制器8被配置为响应于来自总线主控器(未示出)的访问请求,生成硬件/电信号,诸如地址信号(a)和数据信号(dq),以发起对阵列205中的一个或多个目标位单元的读或写访问。

存储器控制器8还被配置为生成包括初始化地址(ia)信号、初始化范围(ir)信号和初始化数据(id)信号的一个或多个初始化信号,其包括响应于来自总线主控器的指令而生成的硬件/电信号。

在一些实施例中,存储器控制器8可以生成初始化(i)信号,指示用于存储器10执行初始化操作的命令。例如,初始化信号(i)可以包括(一个或多个)编码位,存储器10将其解码并识别为初始化存储器10的一部分的命令。但是,在替代实施例中,存储器10可以将初始化地址(ia)信号、初始化范围(ir)信号和初始化数据(id)信号中的一个或多个识别为初始化存储器10的一部分的(一个或多个)命令。例如,初始化(i)信号可以编码在这些信号之一中,诸如编码在初始化地址(ia)信号中的最低位中。

在本说明性示例中,初始化地址(ia)信号包括目标部分的第一地址或起始地址,由此第一地址可以指代位单元、字或字线。

初始化范围(ir)信号指定直到目标部分的最终地址或结束地址的地址,由此范围可以在第一地址开始。在示例中,初始化范围(ir)信号可以是用于指定从第一地址到最后地址的范围中的所有地址的偏移值。在实施例中,目标部分的地址是连续的位单元地址。

将认识到的是,该范围可以指定存储器的一部分,诸如字、页面的一部分、一个或多个页面或直到整个存储器的阵列。

在示例中,初始化地址范围(ir)信号可以包括在到存储器10的单个输入线上提供的一个或多个位。在其它示例中,初始化地址(ir)范围信号可以在诸如范围总线209的总线线路上提供。

初始化数据(id)信号指定要存储在目标部分的位单元中以表示其位单元的存储器状态(下文称为“初始化状态”)的特定值、符号、参数或条件,由此解码接收到的初始化数据(id)信号的控制逻辑203、204将把初始化状态存储到目标部分的位单元。

在实施例中,初始化数据(id)信号可以在到存储器10单个输入线上提供,或者在诸如数据总线207的总线线路上提供。在其它实施例中,初始化数据(id)信号可以是数据(dq)信号和/或在数据总线107上提供(如以上图3a所示)。在其它示例中,初始化数据(id)信号可以是可选的,由此当存储器10将接收到的信号识别为初始化存储器10的一部分的命令时,可以在初始化操作期间将默认初始化状态(例如,全部“1”或“0”)写入到位单元中的一个或多个位单元。这样的接收信号可以包括初始化信号(i)、初始化地址(ia)信号和初始化范围(ir)信号。

在操作中,存储器控制器8从总线主控器接收初始化存储器10的目标部分的访问请求。

响应于访问请求,并且如图4b所绘出的,存储器控制器8生成初始化(i)信号,指示用于存储器10执行初始化操作的命令。如上所述,初始化(i)信号是可选的。存储器控制器还生成指定目标部分的第一地址的初始化地址(ia)信号,以及指定要初始化的目标部分的所有地址的初始化范围(ir)信号。

存储器控制器8还生成初始化数据(id)信号,其指定要存储在目标部分的位单元中的初始化状态。如上所述,初始化数据(id)信号可以是可选的,由此在替代示例中,当存储器10将接收信号识别为初始化存储器10的一部分的命令时,可以在初始化操作期间将默认初始化状态(例如,全部“1”或“0”)写入到位单元中的一个或多个位单元。

控制逻辑203、204接收并解码初始化信号(i)、初始化地址信号(ia)和初始化范围(ir)信号以识别目标部分的位单元,并且解码初始化数据信号(id)以识别要存储在其中的初始化状态。

然后,控制逻辑203、204生成初始化字线信号(iwl)以选择相应的位单元并初始化位线信号(ibl)并控制或驱动所选择的位单元以在相同的时钟周期内(例如,在时钟信号(clk)的上升边沿)在所选择的位单元中存储所需的初始化状态。

因此,与图3a的布置对比,可以在相同的时钟周期内初始化不同字线上的多个位单元。

如以上所讨论的,随着存储器容量和应用需求增加,初始化足够的存储器以开始应用(例如,在启动或应用的请求之后)的时间快速增长。因此,与在多个时钟周期内执行的图3a的现有技术布置相比,在单个时钟周期中初始化存储器的一部分意味着,可以更快地执行用于应用的启动过程或存储器的一部分的初始化。

虽然图4b将初始化信号(i)、(ia)、(ir)和(id)描绘为在相同周期内生成,但这仅用于说明目的,并且这些信号可以在不同时钟周期期间生成。此外,虽然图4b将初始化操作描绘为在紧接着生成初始化信号之后的时钟周期中执行,但是初始化操作可以在生成初始化信号之后的任何数量的时钟周期执行。将认识到的是,时钟信号可以由pll(锁相环)、cdr(时钟数据恢复)或任何合适的生成装置生成。

在实施例中,存储器10可以生成确认信号(ack)以确认初始化操作已经发起和/或完成。可以在读取逻辑验证目标位单元的初始化状态之后执行这种确认。

图4c示意性地示出了根据另一个实施例的存储器控制器8和存储器10的框图。

存储器控制器8和存储器10类似于上面在图4a中描述的那些,由此控制逻辑203、204解码初始化信号(例如,初始化(i)信号、初始化地址(ia)信号和初始化范围(ir)信号)以识别需要初始化操作并识别要初始化的目标部分,并且解码初始化数据(id)信号以识别要存储在其目标位单元中的初始化状态。

在本说明性实施例中,存储器10包括以逻辑门形式的其它逻辑,其输出用于选择相应的字线,由此,在本说明性示例中,逻辑门包括“or”门210。

如上面在图4a和图4b中所描述的,控制逻辑203、204可以通过生成初始化字线信号(iwl)来选择具有与其耦合的目标位单元的字线,并且通过生成初始化位线信号(ibl)来控制或驱动位线以将初始化状态写入或存储到与位线耦合的目标位单元,其中初始化字线信号(iwl)在本实施例中用作到各个逻辑门的第一输入。

此外,图4c中描绘的控制逻辑204至少部分地基于初始化信号(例如(i)、(ia)、(ir)、(id))中的一个或多个生成初始化选择(is)信号,由此初始化选择(is)信号用作到相应逻辑门210的第二输入,以当被断言时使所有逻辑门210选择所有相应的字线。

然后,可以通过至少部分地基于解码的初始化数据(id)信号控制位线,将由初始化数据(id)信号指定的初始化状态写入到所有目标位单元。

因此,逻辑门210的输出可以用于使用至少部分地基于初始化地址(ia)信号和/或初始化范围(ir)信号生成的相应初始化字线信号(iwl)来单独地选择字线中的一个或多个字线。

替代地,逻辑门210可以用于响应于(is)信号基本上同时选择阵列205中的所有字线,而不是要求控制逻辑203生成单独的初始化字线(iwl)信号。

与其他方式将花费的相比,这样的功能可以减少初始化多个目标位单元所花费的时间。

图4d示意性地示出了根据另一个实施例的存储器控制器8和存储器10的框图。存储器控制器8和存储器10类似于上面在图4c中描述的那些。

图4d的逻辑门包括“and”门310,其中初始化字线信号(iwl)用作到相应字线上的相应and门310的第一输入。

在本实施例中,控制逻辑204还至少部分地基于初始化信号(例如(i)、(ia)、(ir)、(id))中的一个或多个生成初始化选择信号(is),由此(is)被提供为and门310的第二输入,使得目标字线将仅在初始化选择(is)信号被断言并且一个或多个初始化字线信号(iwl)被控制逻辑203、204断言时才被选择。

因此,在本实施例中,(is)信号可以用作控制信号,由此仅当(is)和对应的初始化字线信号(iwl)被断言时,(一个或多个)特定位单元的初始化状态才将被存储或写入。

这种功能可以防止将错误的初始化状态写入到非目标位单元。

虽然图4c和图4d中的逻辑门210、310分别被描绘为or和and门,但是权利要求在这方面不受限制,并且逻辑门可以包括被布置为提供任何逻辑操作(例如,nor、nand、nor等)的一个或多个逻辑门。

如上所述,存储器10可以是易失性存储器或非易失性(nv)存储器,由此nv存储器可以包括存储类存储器(scm)。

图5是上面图4a到图4d的存储器阵列205的示例体系架构的示意图。

如上所述,存储器阵列205包括以行(m)和列(l)布置并且可以通过控制逻辑403、404寻址的多个位单元402(在图5中绘出了其中的四个位单元402a-d),如先前所描述的。

在本说明性示例中,每个位单元402a-d包括耦合在相应位线和传导元件406的第一端子之间的存储元件405,而传导元件406的第二端子耦合到参考节点408。

在本说明性示例中,传导元件406的第三端子(例如,栅极端子)耦合到相应的字线,由此可以经由相应的字线控制传导元件的操作状态。

在本公开的上下文中,“传导元件”包括能够取决于其操作状态控制其第一和第二端子之间的电流流动的电路元件,如上所述,其操作状态可以经由它的第三端子来控制。例如,当处于“接通”或“闭合”状态时,传导元件406允许电流在它的第一和第二端子之间通过,而在“关断”或“打开”状态时,传导元件406防止基本上所有电流在它的第一和第二端子之间通过。

此外,“参考节点”包括在电路中被维持在特定电压电平或相对于电路中的另一个节点被维持在特定电压差的节点。在一个示例中,参考节点408可以包括或连接到地节点。在其它特定实施例中,参考节点408可以被维持在相对于地节点的电压的特定电压处。

在图5所绘出的说明性示例中,存储元件405包括相关电子开关(ces),其具有夹在导电端子之间的相关电子材料(cem)。

通过跨ces的导电端子施加包括在第一电流密度(jset)(j(a/μm2))下的第一电压(vset)的第一编程信号(ps1),可以将ces置于包括低阻抗或导电状态的第一阻抗状态,由此第一阻抗状态表示位单元的第一存储器状态。

通过跨ces的导电端子施加包括在电流密度(jreset)下的第二电压(vreset)的第二编程信号(ps2),也可以将ces置于包括高阻抗或绝缘状态的第二阻抗状态,由此第二阻抗状态表示位单元的第二存储器状态。在实施例中,|vset|>|vreset|并且|jreset|>|jset|。

在本公开的上下文中,“阻抗状态”意味着ces的可检测阻抗状态,其表示相关联的位单元的存储器状态。

此外,应该理解的是,术语“低阻抗状态”和“高阻抗状态”是相对术语,并不特定于阻抗、电导或电容的任何特定值。例如,当处于低阻抗状态时,ces可以比当ces处于高阻抗状态时更导电(或更不绝缘)。

用于将ces置于特定阻抗状态的编程信号(ps1或ps2)可以由控制逻辑204经由相应的位线生成或供应。此外,可以(例如,通过控制逻辑)控制编程信号的电压(v)和电流密度(j)两者以切换ces的阻抗状态。例如,当ces处于第一阻抗状态,并且施加电压(vreset)时,ces将直到电流密度处于所需的值(jreset)才会切换到第二阻抗状态。

在本说明性示例中,当控制逻辑203选择对应的字线时,编程信号(ps1)或(ps2)经由传导元件410、412被施加到相应位线,由此,在本说明性示例中,使用编程控制信号(pcs)控制传导元件410、412的操作状态,该编程控制信号(pcs)可以至少部分地基于来自存储器控制器404的初始化数据(id)信号在控制逻辑404处生成,或者编程控制信号(pcs)可以基于要写入到位单元中的一个或多个位单元的默认初始化状态。

传导元件410、412可以是晶体管,诸如场效应晶体管(fet)。在图5的说明性示例中,传导元件410是nfet,而传导元件412是pfet,使得当pcs为高(例如,逻辑1)时,传导元件410处于闭合或“接通”状态并且传导元件412处于打开或“关断”状态,使得第一编程信号(ps1)被施加到目标ces。

类似地,当pcs为低(例如,逻辑0)时,传导元件412处于闭合或“接通”状态,并且传导元件410处于打开或“关断”状态,使得第二编程信号(ps2)被施加到目标ces的位线。

因此,将理解的是,ces中的一个或多个ces的阻抗状态可以通过至少部分地基于来自存储器控制器的初始化数据(id)信号向其施加第一或第二编程信号(ps1或ps2)来控制。

在典型的操作中,与写入到其它类型的存储器(诸如stt-mram)的位单元相比,在使用第一编程信号(ps1)或第二编程信号(ps2)写入到包括ces存储元件的位单元时的写电流减少。

因此,将认识到的是,与其它存储类型相比,能够以减少的写电流在单个周期期间写入或初始化大量的ces存储元件。

将理解的是,上述传导元件406、410、412不限于是fet,并且可以是任何合适类型的晶体管,诸如双极结型晶体管(bjt)。还将理解的是,传导元件406、410、412也不限于是晶体管,并且诸如二极管、可变电阻器等的其它类型的器件可以用作传导元件,并且要求保护的主题在这方面不受限制。

还将理解的是,本体系架构仅作为说明性示例提供,并且可以使用用于存储器阵列的任何合适的体系架构。例如,阵列205不限于具有图5所绘出的布置中的ces存储元件,而是本技术可以与布置为存储值、符号、参数或条件作为相关联的位单元的存储器状态的不同存储元件一起使用。作为说明性示例,存储元件405可以包括布置为存储值、符号、参数或条件作为相关联的位单元的存储器状态的一个或多个电阻器(例如,可变电阻器)、一个或多个电容器和/或一个或多个晶体管。

图6示出了示出初始化存储器的一部分的过程的示例流程图。

在步骤s500处,该过程开始。

在步骤s502处,总线主控器(诸如处理器)生成指定初始化存储器的一部分(例如,字、页面、整个阵列、整个存储器等)的访问请求的软件指令,并将指令传送到存储器控制器。如上所述,在本公开的上下文中,存储器的一部分的初始化通常是指将相同的值、符号、参数或条件写入到目标部分的所有位单元使得所有位单元表示相同的初始化状态的过程。

在步骤s504处,存储器控制器将软件指令转换成硬件/电信号并将信号传送到存储器。

在本实施例中,硬件信号包括初始化(i)信号、包括要初始化的部分的地址的初始化地址(ia)信号、指定要初始化的存储器部分中的地址的范围的初始化范围(ir)信号,以及指定要写入到指定位单元的初始化状态的初始化数据(id)信号。

在步骤s506处,存储器中的控制逻辑对来自存储器控制器的硬件信号进行解码,并且在步骤s508处选择适当的字线,并且至少部分地基于初始化数据(id)信号将初始化状态写入到目标部分的位单元。

位单元包括用于存储值、符号、参数或条件作为相关联的位单元的存储器状态的(一个或多个)存储元件。在实施例中,(一个或多个)存储元件包括(一个或多个)ces,由此初始化ces意味着至少部分地基于初始化数据(id)信号施加编程信号以将ces置于高阻抗或低阻抗状态。与其它类型的存储元件(诸如stt-mram、nand或nor闪存等)相比,使用ces作为阵列中的存储元件减少了写电流。

在步骤510处,控制逻辑可选地生成确认信号(ack)以确认初始化操作被发起和/或完成。

在步骤512处,该过程结束。

在前面的描述中,描述了各种细节以提供对各种实施例的理解。但是,将认识到的是,可以在没有这些具体细节的情况下实践各种实施例。

在其它情况下,没有详细描述公知的方法、过程、组件和逻辑以免模糊特定实施例。此外,实施例的各个方面可以使用各种装置来执行,诸如硬件(例如,电路,诸如集成半导体电路)、软件(例如,计算机程序代码),或硬件和软件的某种组合。

出于本公开的目的,对“逻辑”的引用意味着或者硬件、软件或者其某种组合。

如上所述,并且如图5所绘出的,阵列205的位单元的存储元件可以包括ces。在这种上下文中,ces可能表现出从低阻抗(和低电容)状态到高阻抗(和高电容)状态的突然导体/绝缘体转变,或反之亦然,这是由cem中的电子相关性而不是固态结构相变(例如,如在相变存储器(pcm)设备中发生的晶体/非晶体变化或如在电阻性ram设备中发生的丝状物形成)引起的。

在实施例中,与熔化/凝固或丝状物形成对比,cem中的突然导体/绝缘体转变可以响应于量子力学现象。ces中的阻抗状态之间的这种量子力学转变可以在若干方面中的任何一个方面中理解。

在实施例中,可以根据mott转变来理解第一和第二阻抗状态之间的量子力学转变。例如,当满足第一mott转变条件时,cem可以从高阻抗状态切换到低阻抗状态,并且当满足第二mott转变条件时,cem可以从低阻抗状态切换到高阻抗状态。下面将更详细地描述不同的mott转变条件。

在一个方面,处于第二阻抗状态的ces的阻抗可能比处于第一阻抗状态的ces的阻抗大多于100倍。

在实施例中,cem包括开关区域(s),该区域被布置成与半导体上的(c/s/c)布置中(例如,在堆叠布置中)的导电区域(c)电接触(例如,夹在其间)。导电区域(c)可以包括任何合适的材料,并且可以包括转变金属氧化物,并且还可以包括任何包括类金属特性的材料,包括例如多晶硅或掺杂半导体。在实施例中,导电区域(c)可以附加地或替代地包括选自包括以下的组的材料:铝、镉、铬、钴、铜、金、铁、锰、汞、钼、镍、钯、铼、钌、银、锡、钛、钒和锌(可以与阳离子(诸如氧或其它类型的配体)链接)或其组合。

根据实施例,开关区域(s)可以包括任何转变金属氧化物(tmo)材料,诸如例如钙钛矿、mott绝缘体、电荷交换绝缘体以及anderson无序绝缘体。

在特定实现中,开关区域(s)材料可以包括开关材料,诸如氧化镍、氧化钴、氧化铁、氧化钇和钙钛矿,诸如cr掺杂的钛酸锶、钛酸镧和锰酸盐族(包括镨钙(praesydiumcalcium)、锰酸盐、和亚锰酸镨镧(praesydiumlanthanummanganite)),这仅仅是提供了几个示例。特别地,结合具有不完全的d和f轨道外壳的元素的氧化物可以表现出足够的电阻开关特性,以用作开关区域(s)材料。在实施例中,可以在没有电铸的情况下制备ces。

其它实现可以采用其它转变金属化合物作为开关区域(s)材料而不背离要求保护的主题。例如,{m(chxn)2br}br2,其中m可以包括pt、pd或ni,并且chxn包括1r、2r-环己烷二胺(1r,2r-cyclohexanediamine),并且可以使用其它此类金属络合物而不背离要求保护的主题。

在一方面,cem可以包括作为tmo可变电阻材料的材料,但是应该理解的是,这些仅仅是示例性的,并不旨在限制要求保护的主题。

特定实现也可以采用其它可变电阻材料。虽然公开了氧化镍nio作为上述一种特定的tmo,但是nio材料也可以掺杂有外部配体,这可以稳定可变电阻特性。特别地,本文公开的nio可变电阻材料可以包括含碳配体,其可以由nio(cx)指示。在这里,本领域技术人员可以简单地通过平衡化合价来确定任何具体的含碳配体以及含碳配体与nio的任何具体组合的x值。在另一个特定示例中,掺杂有外部配体的nio可以被表达为nio(lx),其中lx是配体元素或化合物,并且x指示用于一个单元的nio的配体单元的数量。本领域技术人员可以简单地通过平衡化合价来确定任何具体配体以及配体与nio或任何其它转变金属的任何具体组合的x值。

此外,端子可以包括与导电区域(c)相同的材料,使得导电区域(c)可以用作端子。在用于端子的材料和导电区域(c)不相同的实施例中,优选地匹配不同的材料以减少边界相互作用或表面缺陷的影响,否则会影响ces的性能。例如,材料应当匹配,以确保cem和端子的电特性(例如,电导率)和/或化学特性(例如,热膨胀系数匹配)不会对ces元件的操作产生负面影响。

虽然上述实施例描绘了包括行和列的存储器阵列,但是权利要求在这方面不受限制,并且位单元可以以经由信号线被适当地选择和驱动的任何适当的配置进行布置。

用于执行本技术的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,包括面向对象的编程语言和常规的过程式编程语言。

例如,用于执行本技术的操作的程序代码可以包括常规的编程语言(解释型或编译型)的源代码、目标代码或可执行代码,诸如c,或汇编代码,用于设置或控制asic(专用集成电路)或fpga(现场可编程门阵列)的代码,或用于硬件描述语言的代码,诸如verilogtm或vhdl(超高速集成电路硬件描述语言)。

在说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可以被包括在至少一个实现中。在说明书中各处出现的短语“在一个实施例中”可以或可以不全都指代相同的实施例。

而且,在说明书和权利要求书中,可以使用术语“耦合”和“连接”以及它们的派生词。在一些实施例中,“连接”可以用于指示两个或更多个元件彼此直接物理或电接触。“耦合”可以意味着两个或更多个元件直接物理或电接触。但是,“耦合”还可以意味着两个或更多个元件可以不彼此直接接触,但是仍然可以彼此协作或交互。

本领域技术人员将清楚,可以对前述示例性实施例进行许多改进和修改而不脱离本技术的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1