高时钟速率下的连续读取突发支持的制作方法

文档序号:6398649阅读:236来源:国知局
专利名称:高时钟速率下的连续读取突发支持的制作方法
技术领域
本发明的实施例一般涉及存储器装置。
背景技术
一般而言,存储器是指保留数字数据的计算机组件及记录媒体。数据储存为计算机的一种核心功能及基本组件。依据计算装置的确切配置及类型,系统存储器可为易失性(例如RAM)、非易失性(例如ROM、闪速存储器等)或该二者的某些组合。存储器装置通常与计算机系统内的主机装置接口并交互。有时希望计算机系统内的主机装置使用高时钟速率(high clock rate)。较快的时钟速率受欢迎有多种原因。较快的时钟速率最小化为一事务处理(transaction)指定序列指令及地址信息所需的时间,从而使指定的指令操作能够较早开始。另外,较快的时钟速率最小化在存储器装置与主机之间的数据总线上传输数据所需的时间。而且,较快的时钟速率缩短整个读取或写入事务处理所需的总时间量,使存储器装置返回待机状态,以释放数据总线供下一事务处理使用。不幸的是,通常,主机装置采用高时钟速率导致存储器装置的数据输出速率不足以支持无缝数据传输(gapless data transfer)。

发明内容
鉴于上述现有技术的缺点,本发明提供一种高时钟速率下的连续读取突发支持,进而维持无缝数据传输。本发明提供的一种存储器装置,其包括:存储器阵列,用以储存数据;初始延迟寄存器,用以储存延迟时间;以及输出缓冲区,耦接该存储器阵列,其中,该输出缓冲区在向主机装置传输该数据之前储存该数据,其中,该存储器装置输出信号以暂停该传输,直至该数据已储存于该输出缓冲区中。 本发明提供一种装置,包括:存储器装置,用以支持向主机装置的连续读取突发,其中,输出信号暂停传输;总线接口,提供该存储器装置与该主机装置之间的连接;以及处理器。本发明还提供一种方法,包括:自计算机系统上的存储器装置请求数据,其中,该存储器装置包括用以储存延迟时间的初始延迟寄存器;自该存储器装置内的阵列检索该数据的页面或部分页面;保持输出信号空闲直至该数据的页面或部分页面被储存于输出缓冲区中且被置于数据总线上;以及在向主机装置传输该数据的页面或部分页面的同时切换该输出信号,以向该主机装置表示该数据的页面或部分页面在该数据总线上可用。


附图以示例方式说明而非限制本发明的实施例。图1为籍以可实施本发明主题的实施例的计算系统的方块图;图2为依据本发明的实施例的示例存储器装置的方块图3为依据本发明的实施例用以说明存储器装置的功能的时序图;图4为依据本发明的实施例用以说明存储器装置的功能的另一时序图;以及图5描述依据本发明的一些实施例支持高时钟速率下连续读取突发(burst)的示例过程的流程图。
具体实施例方式下面详细参照实施例,附图显示其示例。尽管将参照附图描述该些实施例,但应当理解,其并非意图限制该些实施例。相反,该些实施例意图覆盖替代、变更及等同。而且,在下面的详细说明中给出诸多特定细节以供透彻理解实施例。不过,本领域的技术人员应当意识到,可在不具有该些特定细节的情况下实施该些实施例。在其它情况下,为避免不必要地模糊该些实施例的态样,对已知的方法、程序、组件以及电路未作详细描述。本发明的实施例涉及用于计算系统的存储器装置。该存储器装置包括存储器阵列、初始延迟寄存器、输出缓冲区以及输出信号。该存储器阵列可用以储存数据。该初始延迟寄存器用以储存用于定义的延迟时间。该输出缓冲区耦接该存储器阵列并在向该计算系统内的主机装置传输该存储器阵列的该数据之前储存该数据。输出信号用于暂停(stall)传输,直至该存储器阵列的该数据被储存于该输出缓冲区中。该存储器装置在自该存储器阵列的数据提取速率(data extraction rate)不足以支持该输出缓冲区的输出速率时,尤其是在使用高时钟速率时,支持连续突发读取操作。图1为籍以可实施本发明主题的实施例的计算系统100的方块图。尽管图1中所示的计算系统100具有特定数量及类型的组件,但本发明的实施例不必限于该示例实施。亦即,计算系统100可包括图中所示组件以外的组件,且包括的所示组件可不止一个。例如,相较图中所示的一个处理器110,计算系统100可包括大量处理单元。类似地,在另一示例中,计算系统100可包括未显示于图1中的额外组件。在最基本的配 置中,计算系统100通常包括至少一处理器110以及存储器装置104。依据计算装置的确切配置及类型,存储器装置104可为易失性(例如RAM)、非易失性(例如ROM、闪速存储器等)或该两者的某些组合。计算系统100还可包括额外的储存装置112(可移除和/或不可移除),其包括但不限于磁盘或光盘或磁带。储存媒体包括易失性及非易失性储存、可移除及不可移除储存,其以任意信息储存方法或技术例如计算机可读指令、数据结构、程序模块或其它数据实施。例如但非限制,储存媒体包括RAM、ROM、EEPR0M、闪速存储器或其它存储器技术、CD-ROM、数字视频盘(DVD)或其它光储存、磁盒、磁带、磁盘储存或其它磁储存装置、或可用于储存期望信息并可由计算系统100访问的任意其它媒体。另外,计算系统100可包括经由总线耦接存储器装置104的主机装置106。该总线帮助主机装置106与存储器装置104之间的事务处理。在本实施例中,存储器装置104包括输出缓冲区220 (见图2)、初始延迟寄存器221 (见图2)以及存储器阵列222 (见图2)。如下所述,存储器装置104在自存储器阵列222 (见图2)的数据提取速率不足以支持输出缓冲区220 (见图2)的输出速率时支持连续突发读取操作。计算系统100还可包括一个或多个通信连接118以使计算系统100与其它系统通信。通信连接118为通信媒体示例。例如但非限制,通信媒体包括有线媒体,例如有线网络或直接有线连接,以及无线媒体,例如声、RF、红外或其它无线媒体。
计算系统100可包括一个或多个输入装置116,例如键盘、鼠标、笔、声音输入装置、游戏输入装置(例如操纵杆、游戏控制垫和/或其它类型的游戏输入装置)、触摸输入装置等。另外,计算系统100还可包括一个或多个输出装置114,例如显示器(例如计算机监控器和/或投影系统)、扬声器、打印机、网络周边设备等。图2为依据本发明的一实施例的示例存储器装置的方块图。在一实施例中,该存储器装置104包括输出缓冲区220、初始延迟寄存器221以及存储器阵列222。存储器装置104经由数个输入输出信号与主机装置106 (图1)接口。由存储器装置104使用以与主机装置106(图1)接口的该输入输出信号包括选择信号228、时钟信号230、八位数据总线234以及输出信号236。在一实施例中,输出信号236为读取数据选通(read data strobe)。存储器阵列222用以储存数据于存储器装置104内。存储器阵列222顺序储存数据于被称作页面224的数个固定长度的连续虚拟存储器的区块中。在一实施例中,页面224可为32字节长度的数据。存储器阵列222耦接输出缓冲区220。响应主机装置106 (图1)发起的读取请求,存储器装置104可向主机装置106 (图1)传输数据。在该传输之前,主机装置106 (图1)指定要执行的指令以及开始该传输的存储器阵列222内的目标地址。主机装置106 (图1)可能向存储器装置104发送高频时钟信号230,致使自存储器阵列222的数据提取速率不足以支持输出缓冲区220的输出数据速率。输出缓冲区220用于在向主机装置106 (图1)传输数据的页面或部分页面之前,临时储存驻留于存储器阵列222中的数据的页面224。自存储器阵列222提取各数据的页面224并将其储存于输出缓冲区220中。在多页面传输中,在提取第一数据的页面224并将其储存于输出缓冲区220中后,较佳地,将该数据的页面224转移至以主机装置106 (图1)为目的地的数据总线234的同时,自存储器装置222提取要储存于输出缓冲区220中的下一数据的页面224。不过, 如前所述,主机装置106 (图1)可能向存储器装置104发送高频率时钟信号230,致使自存储器阵列222的数据提取速率不足以支持输出缓冲区220的输出数据速率。初始延迟寄存器221用于储存用户定义的参数。在一实施例中,该用户定义的参数为延迟时间。该延迟时间为访问存储器阵列222所需的时钟周期数。如该延迟时间小于输出缓冲区220将数据的页面224输出到数据总线234上所需的时钟周期数,将能够提取、储存以及无缝传输各页面224。但是,如该延迟时间大于输出缓冲区220将数据的页面224输出到数据总线234上所需的时钟周期数,则需要某种管理以维持无缝数据传输。无缝数据传输是指在一数据的页面的结束与下一数据的页面的开始之间的传输中不存在延迟的传输。在本发明的一实施例中,输出信号236用以提供维持无缝数据传输所需的时序管理。输出信号236由存储器装置104产生,用以暂停传输以确保向主机装置106(图1)无缝传输各数据的页面224。在一实施例中,该输出信号为读取数据选通。当输出缓冲区220等待来自存储器阵列222的下一数据的页面224时,输出信号236将保持空闲。输出信号236将保持空闲直至下一数据的页面224到达输出缓冲区220且被置于数据总线234上。一旦下一数据的页面224在输出缓冲区220中可用,即将该下一数据的页面224驱动至数据总线234上,且输出信号236将以预定频率切换。籍由暂停传输,存储器装置104确保向主机装置106 (图1)的无缝数据传输,同时该主机持续向存储器装置104提供时钟信号。图3为依据本发明的一实施例用以说明存储器装置的功能的时序图。该时序图说明存储器装置104 (图1)所提供的暂停机制的细节。主机装置106 (图1)向该存储器装置提供时钟信号230。时钟信号230以预定频率持续振荡。当主机装置106 (图1)向存储器装置104 (图1)发起读取请求时,低态有效(active low)选择信号228被置为无效(deassert),以选择计算机总线中的存储器装置104 (图1)。数据总线234用以在存储器装置104 (图1)与主机装置106 (图1)之间传输数据。主机装置106 (图1)与存储器装置104 (图1)之间的事务处理开始于主机装置106 (图1)的读取请求。主机装置106 (图1)提供开始数据的读取操作的初始地址338。在指定开始数据的读取操作的初始地址338后,存储器装置104 (图1)可向主机装置106(图1)开始传输请求数据的初始页面346。在一实施例中,数据的初始页面346可为32字节长度。在另一实施例中,存储器装置104 (图1)使用X8DDR接口,从而需要16个时钟输出32字节数据的页面224 (图2)。如自存储器阵列222 (图2)中检索32字节数据的页面224 (图2)需要的时钟周期数比输出该数据需要的时钟周期数长,则必须在每传输32字节页面224 (图2)之间的连续突发中插入暂停348。在主机装置106 (图1)启动传输前,输出信号236保持空闲状态。有两种情况需要插入暂停。第一种情况发生于自存储器装置104 (图1)的传输开始时,需要来自存储器阵列222 (图2)的初始数据的页面346。在初始页面传输开始340,输出信号236自空闲状态转换为振荡状态。输出信号236持续振荡,直至初始页面传输结束344。初始数据的页面346提取自自初始地址338起的存储器阵列222 (图2),储存于输出缓存区220 (图2)中,且在初始页面传输开始340与初始页面传输结束344之间传输至主机装置106 (图1)。初始数据的页面346所需的暂停348取决于该突发传输的初始地址338、页面224 (图2)的大小以及初始延迟寄存器221 (图2)中储存的延迟时间。在特定示例中,该读取请求的初始地址338为0x02,要传输的初始页面346为30字节。在一实施例中, 初始延迟寄存器221 (图2)中储存的延迟时间可为20个时钟周期。在初始页面传输开始340与初始页面传输结束344之间具有14个时钟周期。假设一 x8 DDR接口,需要16个时钟周期输出32字节数据的页面224 (图2)。采用下面的公式计算初始数据的页面346与后续数据的页面350之间所需的暂停348:Initial_Boundary_Crossing_Pause_Clocks=Latency_Cap_Clocks-(0utput_Clocks-(Initial_Address mod Output_Clocks)).
在该示例中,6个时钟周期的暂停348 [6= (20-(16- (2modl6)))]。在初始页面传输结束344与后续页面传输开始342之间需要6个时钟周期的暂停348。在暂停348开始时,输出信号236自振荡状态转回空闲状态。该暂停确保数据传输暂停,直至后续数据的页面350填充输出缓冲区220 (图2)并准备被置于数据总线234上。若不暂停数据传输,则由于自存储器阵列222 (图2)的数据提取速率不足以匹配输出缓冲区220 (图2)的输出速率而使输出缓冲区220 (图2)在等待后续数据的页面350时出现饥饿。籍由暂停数据传输,输出缓冲区220 (图2)将不会饥饿。图4为依据本发明的一实施例用以说明存储器装置的功能的另一时序图。该时序图说明由存储器装置104 (图1)提供的暂停机制的细节。主机装置106 (图1)向存储器装置104 (图1)提供时钟信号230。时钟信号230以预定的频率持续振荡。当主机装置106(图1)向存储器装置104 (图1)发起读取请求时,低态有效选择信号228被置为无效,以选择计算机总线中的存储器装置104 (图1)。数据总线234用以在存储器装置104 (图1)与主机装置106 (图1)之间传输数据。需要暂停插入的第二种情况发生于已自存储器阵列222 (图2)提取初始数据的页面346并将其储存于输出缓冲区220中(图2)且置于数据总线234上后。在初始页面传输结束344 (图3)时,输出信号236自振荡状态转为空闲状态。输出信号236保持空闲直至下一页面传输开始342 (图3)。下一数据的页面350提取自自页面224 (图2)的开头开始的存储器阵列222 (图2),储存于输出缓冲区220 (图2)并在下一页面传输开始342与下一页面传输结束352之间传输至主机装置106 (图1)。下一数据的页面350所需的暂停取决于页面224 (图2)的大小以及初始延迟寄存器221 (图2)中储存的延迟时间。在特定示例中,可假定初始数据的页面346 (图3)之后的所有后续数据的页面都使用完整的16个时钟向主机装置106 (图1)输出数据。在一实施例中,初始延迟寄存器221 (图2)所储存的延迟时间可为20个时钟周期。在下一页面传输开始342 (图3)与下一页面传输结束352之间有16个时钟周期。假设一 x8 DDR接口,需要16个时钟周期输出32字节数据的页面224(图2)。采用下面的公式计算下一数据的页面350与下一数据的页面356之间所需的暂停348:Subsequent_Boundary_Crossing_Pause_Clocks=Latency_Cap_Clocks-Output_Clocks.
在该特定示例中,有4个时钟周期[4=20-16]的暂停353。在下一页面传输结束352与再下一页面传输开始354之间需要4个时钟周期暂停353。在暂停353开始时,输出信号236自振荡状态转回空闲状态。该暂停确保数据传输暂停,直至再下一数据的页面356填充输出缓冲区220 (图2)并准备被置于数据总线234上。若不暂停数据传输,则由于自存储器阵列222 (图2)的数据提取速率不足以匹配输出缓冲区220 (图2)的输出速率而使输出缓冲区220 (图2)在等待下一数据的页面350时出现饥饿。籍由暂停数据传输,输出缓冲区220 (图2)将不会饥 饿。图5描述依据本发明的一些实施例支持高时钟速率下连续读取突发的示例过程的流程图。在方块502,自系统上的存储器装置请求数据。在一些实施例中,该存储器装置可为闪速存储器装置。例如,图3描述由主机装置发送至存储器装置的指定初始地址的读取请求。在一些实施例中,初始延迟寄存器用以储存用户定义的参数。在一实施例中,该用户定义的参数为延迟时间。该延迟时间为访问存储器阵列所需的时钟周期数。如该延迟时间小于输出缓冲区输出数据的页面到数据总线上所需的时钟周期数,将能够提取、储存并无缝传输每一页面。不过,如该延迟时间大于输出缓冲区输出数据的页面到数据总线上所需的时钟周期数,则需要某种管理以维持无缝数据传输。在方块504中,自该存储器装置内的存储器阵列检索数据的页面。该存储器装置用以储存数据。例如,图2描述该存储器装置内的该存储器阵列中储存的数据的页面。在一些实施例中,该存储器阵列顺序储存数据于被称作页面的数个固定长度的连续虚拟存储器的区块中。在一实施例中,页面可为32字节长度的数据。该存储器阵列耦接输出缓冲区。在方块506中,输出信号保持空闲直至该数据的页面被储存于输出缓冲区中且被置于数据总线上。例如,图2描述耦接该存储器装置内的该存储器阵列的输出缓冲区。在一些实施例中,该输出缓冲区用以在向主机装置传输数据之前临时储存驻留于该存储器阵列中的该数据的页面。自该存储器阵列提取各数据的页面并将其储存于该输出缓冲区中。在提取第一数据的页面并将其储存于该输出缓冲区中后,较佳地,将该数据的页面转移至以该主机装置为目的地的数据总线的同时,自该存储器阵列提取要储存于该输出缓冲区中的下一数据的页面。在一些实施例中,该输出信号由该存储器装置产生,用以暂停传输以确保向主机装置无缝传输各数据的页面。在一实施例中,该输出信号为读取数据选通。当该输出缓冲区等待来自该存储器阵列的下一数据的页面时,该输出信号将保持空闲。该输出信号将保持空闲直至该下一数据的页面到达该输出缓冲区并被置于该数据总线上。一旦该下一数据的页面可用,即将该下一页面驱动至该数据总线上,且该输出信号将以预定频率切换。籍由暂停传输,该存储器装置确保向主机装置的无缝传输,同时该主机持续向该存储器装置提供时钟信号而无任何暂停。在另一实施例中,初始数据的页面所需的暂停取决于突发传输的初始地址、页面大小以及初始延迟寄存器中储存的延迟时间。后续数据的页面所需的暂停取决于页面大小以及初始延迟寄存器中储存的延迟时间。在方块508中,在向主机装置传输该数据的页面的同时切换该输出信号,以表不该数据的页面在该数据总线上可用。例如,图3描述输出信号在初始数据的页面传输后自空闲状态转为振荡状态。在一实施例中,在该初始页面传输结束时,该输出信号自空闲状态转为振荡状态。在下一页面传输开始与下一页面传输结束之间保持振荡。该下一数据的页面提取自该页面开始的存储器阵列、储存于该输出缓冲区中并在该下一页面传输开始与该下一页面传输结束之间传输至该主机装置。一旦该存储器装置与该主机装置之间的该数据传输完成,在方块506中, 该输出信号自振荡状态转回空闲状态。
权利要求
1.一种存储器装置,包括: 存储器阵列,用以储存数据; 初始延迟寄存器,用以储存延迟时间;以及 输出缓冲区,耦接该存储器阵列,其中,该输出缓冲区在向主机装置传输该数据之前储存该数据,其中,该存储器装置输出信号以暂停该传输,直至该数据已储存于该输出缓冲区中。
2.如权利要求1所述的存储器装置,其中,该数据包括初始数据的页面以及后续数据的页面。
3.如权利要求2所述的存储器装置,其中,该存储器装置为非易失性存储器装置。
4.如权利要求1所述的存储器装置,其中,该延迟时间对应自该存储器阵列提取数据的页面且在该输出缓冲区中储存该数据的页面所需的时钟周期数。
5.如权利要求1所述的存储器装置,其中,在向该主机装置进行该数据的该传输之后,该输出信号保持空闲数个时钟周期。
6.如权利要求5所述的存储器装置,其中,该时钟周期数取决于向该主机装置进行该数据的该传输所需的时钟周期数以及该延迟时间。
7.如权利要求5所述的存储器装置,其中,该时钟周期数取决于向该主机装置进行该数据的该传输所需的时钟周期数、该延迟时间以及向该主机装置进行该数据的该传输的起始地址。
8.如权利要求1所述的 存储器装置,其中,在向该主机装置进行该数据的该传输期间,该输出信号以预定频率切换。
9.如权利要求1所述的存储器装置,其中,向该主机装置进行的该传输经由数据总线发生,该数据总线的工作频率快于该存储器阵列输出该数据的频率。
10.如权利要求1所述的存储器装置,其中,该输出信号为读取数据选通。
11.一种装置,包括: 存储器装置,用以支持向主机装置的连续读取突发,其中,输出信号暂停传输; 总线接口,提供该存储器装置与该主机装置之间的连接;以及 处理器。
12.如权利要求11所述的装置,其中,该存储器装置进一步包括: 存储器阵列,用以储存数据;以及 输出缓冲区,耦接该存储器阵列,其中,该输出缓冲区在向该主机装置传输该数据之前储存该数据,其中,该输出信号暂停该传输直至该数据已储存于该输出缓冲区中。
13.如权利要求12所述的装置,其中: 在向该主机装置进行该数据的该传输之后,该输出信号保持空闲数个时钟周期;以及 在向该主机装置进行该数据的该传输期间,该输出信号以预定频率切换。
14.如权利要求12所述的装置,其中,该传输经由该总线接口发生,该总线接口的工作频率快于该存储器阵列输出该数据的频率。
15.—种方法,包括: 自计算机系统上的存储器装置请求数据,其中,该存储器装置包括用以储存延迟时间的初始延迟寄存器;自该存储器装置内的阵列检索该数据的页面或部分页面; 保持输出信号空闲直至该数据的页面或部分页面被储存于输出缓冲区中且被置于数据总线上;以及 在向主机装置传输该数据的页面或部分页面的同时切换该输出信号,以向该主机装置表示该数据的页面或部分页面在该数据总线上可用。
16.如权利要求15所述的方法,其中,该延迟时间对应自该存储器阵列提取该数据的页面且在该输出缓冲区中储存该数据的页面所需的时钟周期数。
17.如权利要求15所述的方法,其中,该保持进一步包括在向该主机装置进行该数据的该传输之后,该输出信号保持空闲数个时钟周期。
18.如权利要求17所述的方法,其中,该时钟周期数取决于向该主机装置进行该数据的该传输所需的时钟周期数以及该延迟时间。
19.如权利要求17所述的方法,其中,该时钟周期数取决于向该主机装置进行该数据的该传输所需的时钟周期数、该延迟时间以及向该主机装置进行该数据的该传输的起始地址。
20.如权利要求15所述的方法,其中,该切换进一步包括在向该主机装置进行该数据的该传输期间,以 预定频率切换该输出信号。
全文摘要
本发明揭露一种高时钟速率下的连续读取突发支持,其中,一种存储器装置包括存储器阵列、输出缓冲区、初始延迟寄存器以及输出信号。通常,与该存储器装置接口的主机装置采用高时钟速率,致使该存储器装置的数据提取速率不足以支持无缝数据传输。该输出信号用以在自该存储器阵列的数据提取速率不足以支持该输出缓冲区的输出速率时暂停该存储器装置与该主机装置之间的传输。
文档编号G06F13/16GK103226525SQ201310030270
公开日2013年7月31日 申请日期2013年1月25日 优先权日2012年1月25日
发明者C·A·兹特劳 申请人:斯班逊有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1