支持在存储器装置中提高吞吐量的制作方法

文档序号:12071221阅读:255来源:国知局
支持在存储器装置中提高吞吐量的制作方法

本发明总体上涉及半导体存储器装置领域。更具体地,本发明的实施方式涉及存储器装置中的吞吐量提高。



背景技术:

非易失性存储器(NVM)在诸如固态硬盘驱动器、可去除数字图像卡等的应用中越来越多地被发现。然而,NVM可能在某些应用中受限,诸如在用于被缓存的CPU(cached CPU)的就地执行时。在这种情况下,对于一些协议(诸如SPI协议)来说,从NVM提取指令的等待时间可能过长。与接口协议相关的读取等待时间问题也可能发生在其它类型的存储器装置中。

附图说明

图1是示例代码和包括NVM的数据存储构造的框图。

图2是根据本发明的实施方式的示例主机和存储器装置布置的框图。

图3是根据本发明的实施方式的示例存储器装置的框图。

图4是示例快速读取定时的波形图。

图5是用于顺序提取的示例地址分配的图。

图6是根据本发明的实施方式的用于顺序提取命令的第一示例定时图的波形图。

图7是根据本发明的实施方式的用于顺序提取命令的第二示例定时图的波形图。

图8是根据本发明的实施方式的示例提取控制和排序的框图。

图9是根据本发明的实施方式的在回绕(wrap-around)模式中利用卷绕(wrap)的第一示例突发读取的波形图。

图10是根据本发明的实施方式的在回绕模式中利用卷绕的第一示例突发读取的波形图。

图11是根据本发明的实施方式的在连续模式中利用卷绕的第二示例突发读取的波形图。

图12是根据本发明的实施方式的在连续模式中利用卷绕的第二示例突发读取的波形图。

图13是根据本发明的实施方式的控制NVM装置的方法示例的流程图。

具体实施方式

下面,对本发明的具体实施方式进行详细说明,附图中例示了其示例。虽然本发明将结合优选实施方式进行描述,但应当明白,它们不旨在将本发明限制成这些实施方式。与此相反,本发明旨在覆盖可以包括在如所附权利要求书所限定的本发明的精神和范围内的另选例、修改例以及等同物。而且,在本发明的下列详细描述中,阐述了许多具体细节,以便提供对本发明的详尽理解。然而,本领域技术人员容易明白,本发明可以在不需要这些具体细节的情况下来实践。在其它情况下,公知方法、过程、处理、组件、结构以及电路未进行详细描述,以免不必要地使本本发明的多个方面难以理解。

下面详细描述的一些部分从针对计算机、处理器、控制器、装置和/或存储器内的数据流、信号或波形的过程、程序、逻辑模块、功能模块、处理、示意性符号和/或操作的其它符号性表述方面来呈现。这些描述和表述被数据处理领域的技术人员通常所使用,以向本领域其它技术人员有效地表达他们工作的实质。通常来说,尽管不必要,但被操纵的量采取能够在计算机或数据处理系统中存储、传递、组合、比较以及以其它方式工作的电气、磁、光或量子信号的形式。已经证实,主要出于常见用法的理由,把这些信号称为比特、波、波形、流、值、元素、符号、字符、项(terms)、数字等在有些时候是便利的。

具体实施方式适于任何形式的存储器装置,包括非易失性存储器(NVM),诸如闪存、M-RAM、E2ROM、导电桥接随机存取存储器[CBRAM]、电阻式RAM[ReRAM]等。如在此所述,写入操作可以是NVM装置上的任何操作,其旨在改变该装置上的存储器位置中的至少一个的状态。写入操作可以包括程序操作(例如,从1至0改变数据状态)和擦除操作(例如,从0至1改变数据状态)。读取操作可以包括访问和确定装置上的存储器位置中的至少一个(例如,一个字节的数据)的状态。

如在此所述,就地执行是中央处理单元(CPU)工作的模式,由此,存储器装置(例如,NVM)是程序存储器层级的一部分。在这种布置中,程序代码中的至少一些可以从NVM直接提取出并且被装载到CPU和/或关联缓存中。然而,在不支持就地执行的系统中,NVM的一些或全部内容可以首先被复制到存储器层级中的存储器装置中,并接着可以通过CPU从该存储器提取该程序代码。而且如在此所述,串行NVM可以是具有到主机CPU的串行的或符合特定串行接口标准的接口的NVM装置。例如,尽管在某些实施方式中可以利用任何合适的接口(诸如各种类型的串行和/或并行接口),这种接口可以包括串行外围接口(SPI)和内置集成电路(I2C)。

在用于就地执行时,在许多串行NVM装置中使用的SPI协议可能具有各种低效率。在一些情况下,作为提取操作的一部分,CPU可能花费大约50个循环来存取16个指令字节。第一字节可以具有相对高的等待时间(例如,50-(2*16)=18个循环)。而且,该速率表示相对低的SPI总线利用率(例如,32/50=84%)。由此,由当前SPI协议所带来的额外等待时间和低总线利用率会显著影响CPU/主机装置的性能。

许多现代CPU利用指令缓存,以缩减针对存取的NVM等待时间的敏感性。在许多情况下,具有指令缓存的CPU的NVM访问模式是非常独特的。由非顺序提取(NSF)产生的典型缓存未命中可以导致对缓存行的请求,并且还可以包括首先对关键字或字节的请求,接着是在关键字节或字之后的、用于填充缓存行的末端的顺序的字节或字,然后是“回绕(wrap around)”以使该缓存行开始。而且,具有很大可能性的是,作为在NSF之后的顺序提取(SF),下一个顺序缓存行将被主机请求。另外,按照定义,顺序提取的地址可以是在先前或初始请求(例如,来自NSF)之后的缓存行的地址。在特定实施方式中,NVM装置(或嵌入式电路)及其接口协议可以被设计为更好地处理这种顺序提取请求,由此潜在地改进NVM的等待时间、吞吐量和/或效率。

标准SPI读取命令可以以片选(CS_)变为低电平有效开始,随后是操作码(例如,8位)、地址(例如,24位,或者在一些装置中较少)、可选模式(例如,8位)、N个虚设字节(dummy byte)(例如,每个字节是8位,并且N通常是可配置的)以及M个数据字节(例如,M×8位字节)。而且,突发读取请求是对数据字节序列的请求。根据NVM的特定配置,读取突发可以带来来自顺序地址的数据,其中地址可以回绕或可以不回绕至CPU的缓存行的开始地址。当启用卷绕模式(例如,经由控制寄存器)时,可以从由读取命令提供的字节地址开始读取固定长度和自然对齐的具有例如8、16、32或64字节的组,并接着在该组或CPU的缓存行的对齐边界处回绕。

现在参照图1,示出了示例代码和包括NVM的数据存储配置的框图。在具体实施方式中,NVM装置适于宽泛种类的系统布置,包括嵌入式、独立式和/或缓存层级布置。示例100(诸如对于具有片上SRAM的引导NVM,可以实现良好的性能和功率)可能特别适于相对小的系统。示例120(诸如对于具有外部DRAM/PSRAM的引导NVM来说)可能适于较大的系统,可以在存储器大小方面具有灵活性,并且具有处理的可扩展性。示例140(诸如对于嵌入式NVM应用来说)可能特别适于中型系统。在示例160中,诸如对于中到大的系统来说,可以在就地执行布置中支持存储器大小的灵活性和处理的可扩展性。

现在参照图2,示出了根据本发明的实施方式的示例主机和串行存储器装置布置的示意性框图200。在该具体示例中,主机502可以经由串行接口(例如,四通道或八通道SPI)与NVM存储器装置204连接;然而,在某些实施方式中,可以支持任何合适的接口。例如,主机202可以是任何类型的处理器或控制器(例如,CPU、MCU、DSP、通用处理器等),并且NVM存储器装置204可以是任何类型的非易失性存储器装置(例如,闪存、CBRAM、磁性RAM,ReRAM等)。NVM存储器装置204因此可以以各种存储器技术中的任一种实现。在一些情况下,NVM存储器装置204可以是串行闪存,该串行闪存可以以更传统的非易失性存储器实现,或者以CBRAM/ReRAM电阻式切换存储器技术实现。

各种接口信号(诸如在SPI接口中的)可以被包括以用于主机202与NVM存储器装置204之间的通信。例如,串行时钟(SCK)可以向NVM存储器装置204提供时钟,并且可以被用于控制去往和来自该装置的数据流。命令、地址和输入数据(例如,在串行输入引脚上)可以在SCK的转换上被锁存,而在输出数据(例如,在串行输出引脚上)可以在SCK的转换或数据选通(DS)上被时钟输出。

可以利用片选(CS_)来选择(诸如从多个这种存储器装置中)NVM存储器装置204,或者以其它方式作为访问该装置的方式。当片选信号被解除断言(例如,处于高电平)时,NVM存储器装置204也将被取消选择,并且可以被置于待机模式。激活片选信号(例如,经由CS_上的高到低转变)可以被用于开始操作,并且将片选信号返回至高电平可以被用于终止操作。对于内部自定时操作(例如,程序或擦除循环)来说,即使在该操作期间片选被解除断言,NVM存储器装置204也可以在特定的进行中的操作完成之前不进入待机模式。

双向数据(例如,1、4或8字节宽)可以经由串行输入/输出信号包括在主机202与NVM存储器装置204之间的接口中。另选的是,可以在一些接口中使用单向数据信令。在一些情况下,串行输入可以被用于包括命令和地址序列的数据输入。例如,串行输入引脚上的数据可以在SCK的上升沿被锁存,并且如果装置被取消选择(例如,当片选信号被解除断言时),则可以忽略串行输入引脚上的数据。数据可以经由串行输出信号从NVM存储器装置204输出。例如,串行输出上的数据可以在SCK的下降沿上被时钟输出,并且当装置被取消选择时(例如,当片选信号被解除断言时),串行输出信号可以处于高阻抗状态。

在一个实施方式中,存储器装置可以包括:(i)接口,该接口被配置为从主机接收针对关键字节的第一读取命令;(ii)存储器阵列,该存储器阵列被配置为存储多个字节的数据,其中,所述关键字节驻留在所述存储器阵列的第一组中,并且其中,执行所述第一读取命令包括从所述存储器阵列读取所述关键字节,并将所述关键字节提供给所述主机;(iii)控制器,该控制器被配置为,执行读取所述第一组中的下一字节;(iv)输出缓冲器,该输出缓冲器被配置为,当在所述接口上接收到时钟脉冲时,从所述第一组输出所述下一字节,其中,所述控制器和所述输出缓冲器被配置为,针对所述第一组中的每个字节,重复对下一字节的所述读取和所述输出;(v)所述控制器被配置为,读取所述存储器阵列的第二组中的第一字节,其中,所述第二组相继于所述第一组,并且其中,每个组被分配给缓存行;以及(vi)所述输出缓冲器被配置为,当在所述接口上接收到时钟脉冲时,从所述第二组输出第一字节。

如在此使用的,存储器阵列的“组”可以包括存储器装置上的多个字节的数据。在许多应用中,该“数据”实际上可以是要由CPU或主机装置(例如,202)执行的指令。另外,每个组可以被分配给主机的缓存行,或者以其它方式对应于主机的缓存行(诸如在嵌入式缓存或其它缓存装置中)。也就是说,缓存行与组(在存储器阵列中)的大小相同,并且组中的缓存行的地址边界相同。在如本文所述的一些情况下,术语“组”和“缓存行”可以互换地使用,因为地址边界和其中的字节数量相同。而且,如在此使用的,存储器阵列组中的“下一字节”可以是组中的下一顺序或连续寻址字节,诸如增量寻址字节。如果先前读取的字节是组中的最后一个或最高寻址字节,则“下一字节”可以是组中的第一个或最低寻址字节,并且与组地址对齐。后者的情况是“回绕”函数的一部分,下面将对其进行更详细描述。另外,除了在回绕情况下,“顺序”的字节或组可以指示下一字节/组具有作为序列中的下一个增量地址的地址的下一字节/组,由此,下一字节可以在组内从最后一个字节回绕至第一字节。

现在参照图3,示出了根据本发明的实施方式的示例存储器装置的框图。NVM存储器装置204可以包括接口控制和逻辑302,接口控制和逻辑302可以管理接口(例如,SPI接口),并且解码命令和地址信息。控制和保护逻辑304可以包括用于读取和写入存储器阵列的控制电路,包括用于字节存取和组寻址/排序的地址映射和控制,如下面将更详细地讨论的。例如,控制和保护逻辑304可以包括命令解码器、用于命令执行参数(例如,读取参数、程序/擦除参数等)的寄存器以及用于命令执行的控制器。

I/O缓冲器和锁存器306可以控制来自接口控制和逻辑302的数据输入以及去往接口控制和逻辑302的数据输出。例如,可以经由锁存器306中的I/O缓冲器来容纳从存储器阵列316读取的数据的基于片选(CS_)的控制和基于时钟(SCK)的控制。也就是说,如本文所述,可以通过在突发读取和顺序提取操作期间切换SCK,来控制I/O缓冲器和锁存器606中的寄存器/锁存器。SRAM数据缓冲器308可以在存储器阵列316与I/O缓冲器和锁存器306之间缓冲/存储数据。地址锁存器块310可以经由接口控制逻辑302接收地址信息,并且可以将锁存的地址提供给X解码器312以用于行地址,并且提供给Y解码器314以用于列地址。可以经由地址锁存块310和/或控制和保护逻辑304执行地址的递增。Y解码器314可以向Y门控(Y-Gating)318提供列地址,Y门控318可以包括传输门(pass gate)或类似,以复用去往/来自存储器阵列316的I/O行。如上所述,存储器阵列316可以包括非易失性存储器单元(例如,CBRAM、ReRAM、闪存等)的阵列。

现在参照图4,示出了示例读取定时的波形图400。该特定示例仅示出两个模式和虚设循环(dummy cycles),但是在典型的NVM装置中,当以全频运行时,该数量可以更多。例如,SPI命令和数据可以在一个、两个、四个(在四通道SPI中)或八个(在八通道SPI中)线路上串行发送。在示例性全单传递速率(STR)或单数据速率(SDR)四通道SPI模式中,每个时钟循环可以发送4个比特,并且时钟可以上升到大约100MHz或在一些情况下更高。某些实施方式也适于双传递速率(DTR)或双数据速率(DDR)应用。在该示例中,在完全STR四通道SPI模式中的SPI读取命令的定时可以如下:操作码(例如,8位)-2个时钟循环、地址(例如,24位,但在一些装置中可以更多,或者在其它装置中更少)-6个时钟循环、模式(例如,8位)-2个时钟循环、N个虚设字节(例如,每个字节为8位,并且N可配置)-2×N个时钟循环及M个数据(例如,M×8位字节)-2×M个时钟循环。因此,在本示例中,存取或带来16字节数据所需的循环数为:2+6+2+N×2+16×2,因此N=3时,总共为48个循环。

在特定实施方式中,NVM装置和/或与主机的接口可以被优化以支持顺序提取操作,该顺序提取操作可以至少部分地并且在一些情况下完全地被隐含(implied)。例如,如果跟随NSF的读取请求是顺序提取,则取决于缓存行大小(其也可以反映在NVM的配置寄存器中),可以将地址隐含为8、16、32或64字节的自然对齐的组/缓存行的开始地址。因为顺序提取是相对常见的,所以可以针对这种操作来设计和准备NVM,并且用于顺序提取操作的命令可以做得尽可能短,或者由于该命令是隐含命令而可以被完全去除。

因此,在特定实施方式中,存储器装置可以自动地进行顺序提取操作,其中在请求时(例如,经由时钟的切换)将顺序提取到的数据输出至主机。这种方法可以显著提高接口上的总线利用率。顺序提取的第一字节的数据可以由NVM装置提前读取,诸如在读取分配给缓存行的先前“组”的最后字节之后立即读取(或在其期间以流水线方式读取)。由此,可以不需要与顺序提取相关联的地址、模式和/或虚设字节。而且,在某些情况下,也可以避免与顺序提取相关联的操作码字节。如上所述,顺序提取操作可以是实质上隐含的命令,并由此不需要经由接口来应用附加的操作码。

现在参照图5,示出了用于顺序提取的示例地址分配的图500。可以修改NVM以提前读取或者预先提取顺序提取的第一字节的数据,诸如在读取前一组/缓存行的最后字节之后立即读取。例如,如果针对16字节的缓存行大小来配置NVM,并且装置正在使用24位地址(3个地址字节),则前一缓存行的地址可以被视为:该地址的4个最低有效位(LSB)可以指向缓存行内的特定字节,而该地址的20个最高有效位(MSB)可以指向分配给该特定缓存行的组地址。由此,下一缓存行的第一字节的地址可以具有B3:0=0,并且G19:0可以等于前一组/缓存行的G19:0,但是递增1。NVM还可以维持在一组内存取的字节的计数,并且当计数达到组大小时,可以形成下一组/缓存行的地址(例如,在地址锁存器610处)。

现在参照图6,示出了根据本发明实施方式的用于顺序提取命令的第一示例定时图的波形图。特定实施方式可以包括支持顺序提取操作的SPI命令结构。在一些情况下,顺序提取操作可以是完全隐含的,并由此可以在SPI接口上没有明确命令(explicit command)的情况下进行。在其它情况下,顺序提取操作可以作为明确命令的结果来进行,但是具有与其相关联的隐含参数,由此简化了命令结构。

示例600表示具有隐含参数的明确顺序提取命令。例如,顺序提取的第一字节(例如,字节1)的地址可以被隐含,并且可以由NVM装置预先准备数据。而且,可以利用指示来通知NVM,CPU/主机实际上正在请求顺序提取。在该示例中,顺序提取SPI命令可以被用于提供这种指示。NVM可以准备好在该顺序提取命令之后立即将数据发送回至CPU,而无需地址、模式和/或虚设字节。利用先前讨论的SPI读取定时的示例,在这种情况下,使16字节的顺序提取数据所需的循环数可以是:2+16×2=34个循环,这比NSF所需的循环少48-34=14个循环(例如,快了几乎30%)。

现在参照图7,示出了根据本发明实施方式的、用于顺序提取命令的第二示例定时图的波形图。在示例700中,顺序提取命令可以完全被隐含为先前明确(例如,非顺序)读取命令的延续。主机可以通过在保持片选为被断言(例如,低)的同时切换时钟(例如,SCK),来向NVM装置指示其希望接收顺序提取的数据。如果主机尚未做出该确定,则可以通过保持高或低并且不切换来暂停时钟。由于顺序提取的下一组的第一字节的地址可以被内部地暗示和确定,并且数据也可以提前被准备,因此,时钟切换指示可以被用于向NVM通知CPU实际上正在请求顺序提取的数据。在时钟暂停期间I/O引脚的值(例如,高、低或三态)可以取决于在此暂停期间SCK是保持在高电平还是低电平。

在特定实施方式中,顺序提取可以被认为是或隐含为先前SPI命令的延续。例如,当MCU/CPU/主机上的SPI控制器检测到缓存行中的所有字节都被读取时,SPI时钟可以停止(暂停),同时保持片选(CS_)为低电平。如果要由CPU请求顺序提取,则控制器可以再次开始切换SPI时钟(SCK),并且可以经由输出缓冲器/驱动器(例如,606)立即从NVM输出数据。然而,如果CPU请求对NVM的任何其它类型的访问,诸如对不同地址的读取(例如,非顺序的)或任何类型的写操作,则控制器可以解除断言CS_(例如,引起高电平)达至少一个循环,并接着启动新命令。利用先前讨论的SPI读取定时的示例,使16字节的顺序提取数据所需的循环数可以是:16×2=32个循环,这比NSF所需的循环少48-32=16个循环(例如,快了几乎33%)。

例如,在具有100ns的访问时间的以133MHz运行的闪存NVM装置上(例如,在四通道SPI SDR上)提取下一连续的16字节缓存行的定时可以包括循环的数量从54减少到32,命令为(1字节)2个时钟循环(为下一连续行而被消除)、地址为(3字节)6个时钟循环(为下一连续行而被消除)、模式加虚设字节为14个时钟循环(为下一连续行而被消除),并且数据是(16字节)32个时钟循环。在四通道SPI DDR上,循环的数量可以从34减少到16、命令为(1字节)1个时钟循环(为下一连续行而被消除)、地址为(3字节)3个时钟循环(为下一连续行而被消除)、模式加虚设字节14个时钟循环(为下一连续行而被消除),以及数据为(16字节)16个时钟循环。在八通道SPI DDR上,循环的数量可以从24减少到8,命令为(1字节)0.5个时钟循环(为下一连续行而被消除)、地址为(3字节)1.5个时钟循环(为下一连续行而被消除)、模式加虚设字节14个时钟循环(为下一连续行而被消除),以及数据为(16字节)8个时钟循环。

在处理指令缓存未命中时,CPU可以要求在数据的关键字节被提取之后通过主机处理器来提取缓存行的剩余部分,特定实施方式支持自动访问下一字节,以完成对分配给所请求的缓存行的完整组的读取。关键“字节X”可以被首先从NVM装置输出,随后是该组的剩余字节,包括回绕到在组对齐地址处的第一字节。另外,NVM装置可以支持任何合适的组/缓存行大小,如8、16或32字节,并且在一些情况下为64字节。缓存行大小在NVM装置上是可配置的(例如,通过寄存器设置)。

如所示出的,前一组的最后字节可以由前进的下一组的第一字节跟随,因此该访问接着进入组/缓存行N+1的第一字节。可以基于SCK的切换有条件地提供下一组的该第一字节(例如,在组对齐地址处),并且可以由NVM装置准备就绪而没有额外的等待时间。如果CPU/主机提出(解除断言)片选,则可以不提供组N+1的该第一字节数据。然而,只要片选保持断言并且时钟(例如,SCK)继续切换,就可以仅用一个明确命令读出连续的数据(诸如甚至存储在NVM装置中的全部数据)。如果主机处理器在任何时候都不需要数据,则可以暂停时钟。只要片选保持低电平有效,NVM装置就可以在每个时钟(例如,SCK)边缘或转换上时钟输出数据,并且可以继续自动循环到下一个顺序字节。

现在参照图8,示出了根据本发明的实施方式的示例提取控制和排序的框图800。某些实施方式可以支持对NVM存储器204的组中的字节进行访问的各种排序,诸如针对隐含的顺序提取命令。响应于明确读取命令,可以请求关键字节(例如,字节X)。在随后的顺序提取操作中,回绕提取可以首先经由部分1发生,然后是部分2,以便完成组N的完整读取。可以对顺序的组N+1进行下一个顺序提取,从字节0开始,接着是字节1,依此类推,直到字节M。按这种方式,可以有条件地提取分配给下一缓存行的下一组,而不需要新的命令、地址、模式和/或虚设字节。

在特定实施方式中,可以支持回绕(例如,在关键字节的组内)和从存储器阵列读取下一组的连续模式两者。可以利用针对关键字节的初始非顺序读取命令的各种命令,以请求NVM装置在给定模式下工作。例如,在QPI模式和八进制模式中,“具有卷绕的突发读取”命令可以被用于执行具有“回绕”特征的读取操作。作为在一个突发中填充完整缓存行而不管读取从缓存行中的哪个字节开始的有效方式,具有缓存的MCU可以从该特征受益。这可以改进MCU系统中的代码执行性能,因为MCU可以首先在那一刻接收所需的数据,接着是缓存行的剩余部分,而不向NVM装置发送额外的命令或地址。

操作的连续模式还可以改进MCU/主机性能。如果需要,该模式可以允许MCU直接加载下一缓存行,而不需要将额外的命令或地址发送给NVM装置。例如,这可以在不增加系统时钟速度的情况下将典型MCU系统的性能提高40%或更多。可以通过NVM装置上的读取参数寄存器(例如,在控制和保护逻辑604中)中的指定位(例如,W7-W5位)来控制“利用卷绕的突发读取”命令的行为。例如,卷绕长度可以由任一模式中的位W6-W5设置,且可以在任何其它模式中保持有效,或者被重新配置(诸如通过设置读取参数命令)。

第一组可以以回绕方式(例如,从字节X到字节M、接着从字节0回绕到字节X-1)读取,随后按顺序次序连续读取。按这种方式,在某些实施方式中,,可以将一些方法中的第一和第二命令有效地融合成一个命令,由此第二命令是开始于下一组的连续读取命令。而且,这种命令“融合”可以基本上被跳过(bypass),例如通过对片选信号解除断言。而且,第二命令可以具有隐含的参数(地址、模式、虚设字节等)和/或第二命令可以是完全隐含的命令。

许多处理器将提取缓存行,处理该缓存行,然后请求下一缓存行,诸如通过再次切换时钟。用于处理器/主机确定是否实际需要下一缓存行的延迟可以低至仅是无时钟暂停的下一时钟脉冲,或者在暂停时钟的情况下该延迟可以是任意长的。如在此描述的“时钟脉冲”可以是全时钟脉冲、半时钟脉冲,或者仅仅是时钟信号的转换边缘。而且,如所示出的,特定实施方式支持分配给缓存行(例如,N)的给定组内的字节的回绕读取,然后向前进行至被分配给下一缓存行的下一组(例如,从缓存行N+1的字节0开始)。而且,特定实施方式适于各种存储器装置和接口,如NVM装置和SPI接口。

现在参照图9,示出了根据本发明的实施方式的在回绕模式中的具有卷绕的第一示例突发读取的波形图900。例如,如果读取参数寄存器的位W7被清除,则NVM装置可以按连续模式操作。“具有卷绕的突发读取”命令可以读取到固定长度部分(例如,组)的末尾,然后回绕到该部分的开头,并且只要在SCK上提供附加时钟脉冲,就持续读取同一缓存行。可以没有因回绕而造成的额外延迟,并且组的第一字节可以紧接在最后字节之后,如图9所示。例如,这种操作的模式可以提供与其它装置的兼容性,并用于不支持连续模式的MCU。

现在参照图10,示出了根据本发明的实施方式的在回绕模式中的具有卷绕的第二示例突发读取的波形图。在示例1000中,卷绕长度被设置成8(例如,经由读取参数寄存器),并且所请求的地址是1E34h,以读取关键字节。NVM装置可以首先读取地址lE34h,随后是lE35h、lE36h以及lE37h。该读取访问接着可以回绕,并且要读出的下一地址可以是1E30h,随后是1E31h、1E32h,然后是1E3h。如果读取操作继续,则装置将从地址1E34h输出数据,然后从地址1E35h输出数据,依此类推。只要NVM装置被时钟控制(例如,经由SCK切换)并且CS_保持被断言(例如,低电平),NVM装置就可以以这种方式连续地读取数据。

现在参照图11,示出了根据本发明的实施方式的在连续模式中具有卷绕的第一示例突发读取的波形图1100。例如,如果W7被设置(例如,经由读取参数寄存器),则NVM装置可以在连续模式下操作。对于其中具有关键字节的第一缓存行来说,连续模式可以按与上述回绕模式相同或基本上相同的方式操作。“具有卷绕的突发读取”命令可以读取到缓存行的末尾,回绕到开头,并且继续读取同一缓存行,直到第一缓存行的所有字节已经被读出一次为止。

在下一时钟循环中,NVM装置(例如,经由控制电路304)可以接着在下一组的开始处开始读取,如图11所示。只要SCK被时钟控制并且片选保持被断言,NVM装置就可以连续地读取。可以没有因回绕而造成的额外外部延迟,并且下一组的第一字节可以紧跟在当前组的最后字节之后。也可以没有因跳到下一组而造成的额外延迟,并且下一组的第一字节可以紧跟在从前一组读取的最后字节之后,而与跳跃发生在缓存行中何处无关。

现在参照图12,示出了根据本发明的实施方式的在连续模式中的具有卷绕的第二示例突发读取的波形图。在示例1200中,可以将卷绕长度(例如,经由读取参数寄存器)设置为8,并且所请求的地址(例如,对于关键字节)是1E34h。NVM装置可以首先读取1E34h处的数据以访问关键字节,随后是lE35h、1E36h,然后是lE37h。该访问接着可以回绕,并且要访问以读出的下一地址可以是1E30h,随后是1E31h、1E32h,然后是1E3h。如果读出操作继续,则NVM装置可以输出来自地址1E38h(下一个缓存行的第一字节)的数据,随后输出来自地址1E39h的数据,等等。只要通过SCK切换对NVM装置进行时钟控制并且CS_保持被断言,NVM装置就可以以这种方式连续地读出数据。

在一个实施方式中,一种控制存储器装置的方法可以包括:(i)经由接口从主机接收针对关键字节的第一读取命令,其中,所述关键字节驻留在所述存储器装置上的存储器阵列的第一组中;(ii)响应于所述第一读取命令,从所述存储器阵列读取所述关键字节,并将所述关键字节提供给所述主机;(iii)读取所述第一组中的下一字节;(iv)当在所述接口上接收到时钟脉冲时,从所述第一组输出所述下一字节;(v)针对所述第一组中的每个字节,重复对下一字节的所述读取和对下一字节的所述输出;(vi)读取所述存储器阵列的第二组中的第一字节,其中,所述第二组相继于所述第一组,并且其中,每个组被分配给缓存行;以及(vii)当在所述接口上接收到时钟脉冲时,从所述第二组输出第一字节。

现在参照图13,示出了根据本发明的实施方式的控制NVM装置的示例方法1300的流程图。在1302,可以经由接口(例如,302)从主机接收针对关键字节的读取命令。该关键字节可以驻留在NVM装置上的一组存储器阵列(例如,316)中,并且该组可以被分配给主机202的缓存行。在1304,响应于读取命令,可以读取和输出来自存储器阵列的关键字节(例如,经由IO缓冲器306)。在1306,可以从存储器阵列读取该组中的下一字节。如果在1308接收到时钟脉冲(例如,SCK切换),则在1310可以从NVM装置输出来自该组的下一字节。可以重复步骤1306、1308以及1310,直到在1312处已经读取了对应于缓存行的完整组为止。例如,该完整组读取可以包括回绕到具有与该组地址对齐的地址的字节。在1314处,可以读取下一组存储器阵列中的第一字节,并且可以响应于在1308处接收到的时钟脉冲而在1310处提供输出。所述下一组可以相继于包含数据的关键字节的组,并且所述下一组可以被分配给主机202的下一缓存行。

在特定实施方式中,可以针对通常发生的顺序提取来优化所述系统,同时如果CPU/主机实际上不需要执行顺序提取操作,则准备好执行另一类型的事务。如上所示,可以利用连续读取操作,其中主机能够通过对片选引脚解除断言来中止该操作,诸如当CPU需要执行除了隐含的顺序提取之外的事务时。

如本文所示的SPI定时和相关联的图仅用作示例,但特定实施方式也适于支持其它操作模式和/或操作类型的SPI协议。具体来说,以上的一些示例可以在单数据速率中利用4-4-4命令模式(4个引脚用于操作码、4个用于地址,并且4个用于数据),但特定实施方式也适于其它命令模式。示例命令模式在JEDEC串行闪存可发现参数(SFDP)规范JESD216B(JESD216A的修订,2013年7月)中指定,其可从JEDEC网站获得。

虽然上述示例包括某些存储器单元和可编程阻抗装置的电路、操作以及各种结构实现,但本领域技术人员将认识到,根据实施方式可以使用其它技术和/或单元结构。而且,虽然主要通过本文中的示例描述了NVM装置和SPI接口,但特定实施方式也可应用于其它类型的存储器装置和/或接口。而且,本领域技术人员应当认识到,根据实施方式还可以使用其它装置电路布置、架构、元件等。而且,在CBRAM示例中,电阻级别、操作条件等取决于可编程阻抗部件的保持力、耐久性、切换速度以及变型需求。

对本发明具体实施方式的前述描述已经出于例示和描述的目的而呈现。它们不是旨在排它或将本发明限制成所公开的精确形式,而是鉴于上述教导,可以显而易见地进行多种修改和变化。选择并描述这些实施方式,以便最佳地说明本发明的原理及其实践应用,由此使得本领域其它技术人员能够最佳地利用本发明和具有如适于预期特定用途的各种修改例的各种实施方式。本发明的范围旨在通过所附于此的权利要求书及其等同物来限定。

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