发明内容
因此,本发明的具体实施例,提供一种在总线效能与所需总线号数之间取得平衡的内存总线接口。在一具体实施例中,描述包含读取数据选通以用于内存总线接口的设备。接口包含用于传递芯片选择信号以指示外围装置何时致动的芯片选择,其中,总线接口在主机装置与外围装置之间提供通讯。接口也包含用于传递差动时脉信号的差动时脉对。读取数据选通包含在接口中,用于传递来自外围装置的读取数据选通信号。接口包含用于传递命令、地址与数据信息的数据总线。读取数据选通指示有效数据何时由外围装置输出到数据总线。
其中,该差动时脉对及该读取数据选通以双倍数据速率方式致能数据的传输。
其中,该数据总线包含8线宽数据总线,且该内存总线接口包括12线接口。
其中,在读取处理中,该差动时脉对的交错处指示该命令与该地址信息的传递,且该读取数据选通信号的转态指示该数据信息的传递。
其中,在写入处理中,该差动时脉对的交错处指示该命令、地址与数据信息的传递。
其中,该时脉对的功能为单端或差动。
其中,该读取数据选通的功能为单端或差动。
其中,该数据总线操作为单倍数据速率总线或双倍数据速率总线。
在另一具体实施例中,揭露一种利用包含读取数据选通以指示有效数据何时呈现的内存总线接口而执行数据处理(data transaction)的方法。数据总线接口在主机装置与外围装置之间提供通讯。本方法包含配置芯片选择以助于芯片选择信号的传递,其中,芯片选择信号指示外围装置何时致动。本方法还包含配置差动时脉对以传递第一时脉信号和第二时脉信号使成为差动时脉信号。本方法还包含配置用于传递来源同步输出时脉的读取数据选通,以作为来自外围装置的读取数据选通信号。数据总线也配置用于传递命令、地址与信息。差动时脉对及读取数据选通以双倍数据速率(DDR)方式致能数据的传输于读取处理和写入处理。
该方法还包括执行该读取处理,其中,该执行该读取处理包括:
于该主机装置上通过引发该芯片选择信号以启始该读取处理,而该第一时脉信号与该第二时脉信号的电压分别为低位准与高位准;
通过该数据总线以该差动时脉信号的三个时脉周期传送读取类命令和目标地址,其中,该读取类命令指示该处理包括读取类型;
指示该读取处理是否属于连续性丛发类型或包裹性丛发类型;
于该主机装置上通过该数据总线自该外围装置接收数据;
于该主机装置上通过该读取数据选通接收读取数据选通信号;以及
于该主机装置上撷取起于该读取数据选通信号的引导边缘的该数据,其中,该读取数据选通信号包括来源同步输出时脉。
该方法还包括:
通过该数据总线以六个时脉转态传送该读取命令和该目标地址;以及
在撷取该数据之前,等待该读取数据选通信号的转态。
该方法还包括:
以多字节丛发模式对各数据值变换该差动时脉信号及该读取数据选通信号。
该方法还包括:
通过置位该芯片选择信号至高位准,而该第一时脉信号为低位准且该第二时脉信号为高位准,以终止该读取处理。
该方法还包括:
一旦该数据备妥,即于该外围装置触发该读取数据选通信号。
该方法还包括执行该写入处理,其中,该执行该写入处理包括:
于该主机装置上通过使该芯片选择转态至低位准,而该第一时脉信号为低位准且该第二时脉信号为高位准,以指示该写入处理的开始;
通过该数据总线以差动时脉信号的三个时脉周期传送写入类命令和目标地址,其中,该写入类命令指示该处理包含写入类型;
指示该写入处理是否属于连续性丛发类型或包裹性丛发类型;以及
通过该数据总线自该主机装置传送数据。
该方法还包括:
使该命令、地址及数据信息于中心对准该第一与第二时脉信号的信号交错处。
该方法还包括:
以多字节丛发模式对各数据值变换该差动时脉信号。
该方法还包括:
通过置位该芯片选择信号至高位准,而该第一时脉信号为低位准且该第二时脉信号为高位准,以终止该写入处理。
在又一具体实施例中,揭露一种利用在主机装置与外围装置之间提供通讯的内存总线接口以执行读取处理的方法。总线接口包含差动时脉信号对、以及指示有效数据何时呈现的读取数据选通信号。差动时脉信号及读取数据选通以DDR方式致能在数据总线上数据的传送于读取处理。更具体地说,用于在内存总线上执行读取处理的方法包含:在第一与第二时脉信号互补时(例如,第一时脉信号为低位准(LOW),且第二时脉信号为高位准(HIGH)),通过置位(assert)芯片选择信号(例如,到低位准)以于主机装置引发(initiate)读取处理。同样地,本方法包含通过数据总线上的差动时脉信号,以三个时脉周期将读取命令及目标地址由主机装置传送至外围装置。本方法也包含于主机装置上通过数据总线接收来自外围装置的数据,以及于主机装置上通过读取数据选通接口接收源自外围装置的读取数据选通信号。本方法还包含于主机装置上撷取起于读取数据选通信号的引导边缘(leading edge)的数据,其中,读取数据选通信号包括来源同步输出时脉。
在又一具体实施例中,揭露一种利用在主机装置与外围装置之间提供通讯的内存总线接口以执行写入处理的方法。总线接口包含提供差动时脉信号的时脉信号对、以及指示有效数据何时呈现的读取数据选通信号。差动时脉信号及读取数据选通以DDR方式致能在数据总线上数据的传输于读取处理。更具体地说,用于在内存总线上执行写入处理的方法包含:在第一时脉信号为低位准且第二时脉信号为高位准时,通过将芯片选择转换至低位准,而于主机装置指示写入处理的开始。本方法也包含通过数据总线以差动时脉信号的三个时脉周期传送写入命令及目标地址。本方法包含通过数据总线传送来自主机装置的数据。
在又一具体实施例中,揭露一种装置,其包括:
主机装置;
内存装置,包括操作于储存数据的内存数组;
处理器;以及
总线接口,在该内存装置与该主机装置之间提供连接,其中,该总线接口包括:
芯片选择,用于传递芯片选择信号以指示外围装置何时致动,其中,该总线接口提供该主机装置与该外围装置之间的通讯;
差动时脉对,用于传递含有第一时脉信号与第二时脉信号的差动时脉信号;
读取数据选通,用于自该外围装置传递读取数据选通信号;以及
数据总线,用于传递命令、地址与数据信息。
其中,该读取数据选通指示读取数据信息的传递。
具体实施方式
现在将详细参考本发明的具体实施例,其实施例是在附图中描述。虽然本发明将连结下文的具体实施例作说明,将理解其意图不在于使本发明局限于下文的具体实施例。相反地,本发明意图涵括如附加的权利要求所界定,并包含有本发明的精神与范畴的替代、修改及均等作法。另外,在下文本发明的详细说明中,提出有许多明确细节以透彻理解本发明。然而,本发明的具体实施例可无需这些明确细节而得以实践。在其它实例中,熟知的方法、程序、组件(component)、以及电路未予以详细说明以免模糊本发明的态样。例如,为了避免模糊本发明,某些熟知的系统配置及处理步骤未予以详细说明。同样地,表示本发明具体实施例的附图属半图解而未依比例绘制,具体而言,图式中有些尺寸为了清晰呈现而夸大。
因此,本发明的具体实施例提供使总线效能与所需总线信号数目之间独特平衡的装置及方法。本发明的其它具体实施例提供以上优点,也提供用于实现具有较低初始延迟及较高持续产量的减少接脚数内存总线接口。本发明又一具体实施例提供以上优点,也提供通过内存总线接口以实现可变延迟架构,其可实现利用数据选通信号以指示何时通过总线传递有效数据。借此,当通过数据总线传递信息时,可消除迄今为止与现有可变延迟总线协议相关的专用“READY”(备妥)或“WAIT”(等待)信号的需求。
图1实现本申请请保护求标的的具体实施例的计算系统100的方块图。作为实施例,计算系统100可包括系统单芯片(SOC),诸如用于提供内存的内存SOC。虽然计算系统100显示及说明在图1中,并具有特定数量与类型的组件(element),但具体实施例仍无需局限于示例性实现。也就是,计算系统100可包括有别于所示的组件,并可包括多于一个所示的组件。例如,系统100可包含比所示的一处理器110更多的处理单元。类似地,在另一实施例中,计算系统100可包含未显示在图1的其它组件。
在最基本的配置中,计算系统100通常包含至少一处理器110以及内存装置104。根据计算装置的确切配置及类型,内存装置104可为挥发式(如随机存取内存(RAM))、非挥发式(如只读存储器(ROM)、闪存等)或两者的某种组合。在一具体实施例中,内存装置104包括或非门型(NOR)闪存数组。计算系统100也可包含另一存储器112(可移除式及/不可移除式),其涵盖但不局限于磁盘、光盘或磁带。储存媒介包含挥发式和非挥发式存储器、可移除式和不可移除式存储器,其可用任何储存信息的方法或技术加以实作,如计算机可读取指令、数据结构、程序模块或其它数据。经由实施例,但非限制,储存媒体包含RAM、ROM、电子可抹除可程序只读存储器(EEPROM)、闪存或其它内存技术,只读型光盘(CD-ROM)、数字视讯光盘(DVD)或其它光学存储器、磁卡(magnetic cassette)、磁带、磁盘存储器或其它磁性储存装置、或任何其它可用于储存所需信息并可通过计算系统100存取的媒体。
因此,计算系统100可包含经由内存总线接口120耦接至内存装置104的主机装置106,总线有助于在主机装置106与内存装置104及一或多个外围装置如外围装置130和135之间的处理。如下所述,内存装置接口120能利用读取数据选通指示有效数据何时出现在总线上以传递数据。
计算系统100也可包含能使计算系统100与其它系统通讯的通讯连接118。通讯连接118为通讯媒体的实施例。经由实施例但非限制,通讯媒体包含诸如有线网络或直接有线连接的有线媒体,以及诸如声频(acoustic)、射频(RF)、红外线及其它无线媒体的无线媒体。
计算系统100可包含诸如键盘、鼠标、笔(pen)、声音输入装置、电玩输入装置(例如摇杆、游戏控制盘、及/或其它类游戏输入装置)、触控输入装置等输入装置116。另外,计算系统100也可包含诸如显示器(例如,计算机屏幕及/或投影系统)、扬声器、打印机、网络外围装置等输出装置114。
图2A为根据本揭露的一具体实施例,并包括指示有效数据何时呈现的读取数据选通230的减少接脚数(RPC)内存总线接口210的示意图200A。就上下文而言,图2A的总线接口210提供与图1的总线120类似的功能,并有助于主机装置与外围装置之间的通讯,诸如图1所示计算系统100的主机装置106与外围装置130或135及/或内存装置104之类。在一具体实施例中,RPC内存总线接口包括并列接口。在另一具体实施例中,RPC内存总线接口包括串行总线接口。
尤其是,RPC内存总线210包含配置用于传递芯片选择(CS#)信号的芯片选择线215。CS#信号包括用于识别何时致动对应的外围装置以执行给予处理的装置致能信号。例如,芯片选择215是配置用于传递CS#信号以指示外围装置何时致动。更具体地说,CS#信号经致能以通知有读取或写入处理或请求处理的外围装置。
另外,RPC接口210包含具有第一时脉线223与第二时脉线225的差动时脉线对220。更具体地说,差动时脉对220是配置用于传递含有两个时脉源的差动参考时脉信号。也就是,差动时脉信号是基于并包括通过第一时脉线223传递的第一时脉(CK)、以及通过第二时脉线225传递的第二时脉(CK#)。含有CK与CK#的差动时脉用于识别何时通过总线接口210抓取特定命令、地址与数据信息。在其它具体实施例中,时脉特征的功能性为单端或差动。
RPC接口210也包含读取数据选通线230。在一具体实施例中,读取数据选通线230是配置用以选择性地传递来自外围装置的读取数据选通(RDS)信号。在一具体实施例中,RDS信号包括来源同步输出时脉。再者,RDS信号是供外围装置用于指示数据总线235上的读取数据何时有效。在具体实施例中,RDS发信号的功能为单端、差动或不出现。
另外,RPC接口210包含数据总线235。数据总线235是配置用于传递特定命令识别码、地址信息与数据信息,并将结合图7以进一步说明。在一具体实施例中,数据总线235是配置成8线宽数据总线,其能够在差动时脉信号的每个边缘传递一个字节(例如8个位)数据。如此,RPC内存总线接口210通过最小、12线主动式信号总线接口,提供低初始延迟及高持续产量。
在一具体实施例中,包含CK和CK#信号的差动时脉对以及RDS信号的使用能以双倍数据速率(DDR)传送数据,其中,数据在每个正常时脉周期是传送两次(twice)。更具体地说,差动时脉及RDS信号致能特定处理与命令识别码、地址信息与数据信息,以DDR方式在数据总线235上传送。在又一具体实施例中,没有CK和CK#两信号,只有一时脉信号用于以单数据传输率的方式传递数据。
如图2A所示,额外的联机及/或接脚可用于额外的信号。例如,一或多电源线及/或接脚是供用于将电源传递至计算系统(如图1的系统100)及/或诸如内存芯片之类的芯片。电源线及/或接脚包含一或多个用于分布系统范围内电源的Vcc线、以及一或多个用于将第二电源分布至芯片上输入/输出组件的VIO线。另外,写入保护线是配置用于传递禁止内存写入功能的写入保护(WP#)信号。同样地,重置线或接脚是配置用于传递重置(RESET#)信号,以初始化并使芯片回到重置或初始状态。再者,一或多个接地线及/或接脚是供用于传递接地至计算系统(例如图1的系统100)及/或内存芯片。例如,一或多个VSSIO接地线分布接地至系统或芯片上的输入/输出组件。并且,一或多个VSS接地线分布系统范围内的接地至系统或芯片。
图2B为根据本揭露的一具体实施例,并描述利用包括读取数据选通以指示有效数据何时呈现的内存总线接口而执行处理的方法的流程图200B。在一具体实施例中,于流程图200B中执行的处理是在图2A的RPC总线接口210上执行,以提供低初始延迟及高、持续产量,有助于系统或芯片上的主机装置与外围装置及/或内存装置之间的通讯。
在260中,RPC接口是配置包含有芯片选择线,其中,此线是配置有助于芯片选择(CS#)信号的传递。下文将搭配图4B,进一步说明CS#信号指示外围装置何时致动以供诸如读取或写入处理之类的处理。
在265中,RPC接口是配置包含有时脉线对,其中,时脉线是配置用于传递第一时脉信号及第二时脉信号以致能差动时脉信号。如此,时脉线对是配置用于传递差动参考时脉时,以识别何时通过总线接口抓取特定命令、地址与数据信息。
在270中,RPC接口是配置包含有读取数据选通线,其中,读取数据选通线是配置用于传递来源同步输出时脉,以作为来自外围装置的读取数据选通(RDS)信号。RDS信号是由外围装置所使用,以指示数据总线上的读取数据何时有效。另外,在另一具体实施例中,RDS信号是双向并由主机装置所使用,以指示数据总线上的写入数据何时有效。如前所述,差动时脉信号对及RDS信号能使数据以DDR方式在数据总线上传送。
在275中,RPC接口是配置包含有数据总线,其中,数据总线是配置用于传递特定命令识别码、地址与数据信息。例如,命令识别码指示当前处理是否为读取处理或写入处理。在一具体实施例中,数据总线是配置成能够一次传递8位数据的8线宽数据总线。
第3A与3B图共同描述利用诸如图2A的接口210所示的RPC内存总线接口以执行读取处理的方法。具体而言,图3A是描述利用内存总线接口以助于主机装置与内存装置间的通讯而执行读取处理的方法的流程图300A。图3B是根据本揭露的一具体实施例,并描述通过RPC内存总线接口以实现图3A概述的读取处理的时序图300B。也就是,时序图300B描述用于读取处理的总线发信号协议。更具体而言,RPC内存线接口包含读取数据选通,以指示有效数据何时呈现在数据总线上。同样地,差动时脉和数据选通信号的使用,能使命令、地址与数据信息以DDR方式用更高的时脉速率传送。
在一具体实施例中,于流程图300A中所执行且在时序图300B中概述的处理,是在图2A的RPC总线接口210上执行,以提供低初始延迟与高、持续产量,有助于在系统或芯片的主机装置与外围装置及/或内存装置之间的通讯。也就是,在流程图300A中执行的处理,是描述在计算系统的主机装置与作为外围装置的内存装置之间对读取处理的实现。
在310中,于主机装置上,读取处理是由主机装置通过在数据总线上置位RPC接口的芯片选择(CS#)信号(例如,高位准或低位准),并传递命令和地址信息予以引发,而时脉信号则具有反向电压(例如,高位准和低位准)。为了说明,如时序图300B所示,在读取请求由主机装置传递至内存装置的读取处理开始时,芯片选择(CS#)信号置位至低位准,而第一时脉信号(CK)则置位为低位准,第二时脉信号(CK#)则为高位准。同样地,在一具体实施例中,于整个读取处理期间,芯片选择(CS#)信号是置位呈低位准。
在320中,读取命令和目标地址信息是通过数据总线,于首六个时脉转变(transition)(例如,三个时脉周期)自主机装置予以传递。也就是,六个时脉边缘是由主机所使用,以指示处理特征给外围内存装置。在具体实施例中,一或多个命令和地址(CAx)位是由主机装置传递至外围内存装置以指示处理特征,并可要求一或多个时脉转变以指示处理特征。为了描述,如时序图300B所示,48个CAx位于一具体实施例中,是在读取处理的初始部分期间通过RPC总线接口予以呈现,图7将有进一步说明。具体而言,处理是于首六个时脉边缘期间,以DDR方式在DQ[7-0]数据总线上,由主机装置传送至外围装置的六字节宽的值予以识别。这些CAx位指示当前处理为读取处理,致使接收外围内存装置理解当前处理为读取请求。另外,信息包含内存中的目标地址,其数据是由外围内存装置所撷取并传回主机装置。如此,外围装置通过RPC接口的数据总线DQ[7-0]存取来自内存的请求数据,并将请求数据传回主机装置。
在图3C中,根据本揭露的一具体实施例,时序图300C表示通过RPC内存总线接口的读取处理,以描述命令和地址位数目需求的变化而指示处理特征。根据本揭露的一具体实施例,时序图300C包含指示有效数据何时呈现的读取数据选通(RDS)。如图所示,时序图300C包含比图3B的时序图300B中所含更少的命令和地址位。也就是,地址位在时序图300C中是通过4个时脉边缘予以传递,其中,时序图300B里需要六个时脉边缘以传递所需的命令和地址位。具体地说,相比于与时序图300B相关联的内存装置,与时序图300C相关联的目标外围内存装置可为需要更少地址位的较低密度装置。如此,较低密度装置依次需要更少的时脉边缘及/或周期以界定命令和地址位置信息。
在330中,数据是通过数据总线由外围内存装置传递并由主机装置接收。如时序图300B所示,数据(Dn…)是由外围内存装置输出。
另外,在340中,读取数据选通(RDS)信号是由外围内存装置传递并由主机装置接收。在一具体实施例中,RDS信号包括来源同步输出时脉。RDS信号是用于指示请求数据何时有效,并可在数据总线上得到。更具体而言,在350中,数据是在RDS信号指示时由主机装置撷取。数据是由主机装置利用边缘对准RDS信号予以撷取。在一具体实施例中,如时序图300B所示,数据是由RDS信号的前缘开始予以撷取。
如图3B所示,在一具体实施例中,延迟是在请求数据返回之前予以考虑(consider)。需要延迟(例如,一或多个虚拟时脉周期)用于致能外围内存装置,以撷取来自内存数组的目标地址的数据,并将数据移至外围装置的输出缓冲器,作为通过数据总线传递至主机装置的准备。在具体实施例中,延迟期(latency period)是由外围装置所决定。延迟期过后,请求数据是由外围装置通过数据总线传递到主机装置,且读取数据选通(RDS)信号是予以置位(例如,高位准或低位准)以指示有效数据。在一具体实施例中,延迟为硬式计数(hard count)延迟期(例如图3B所示的2个时脉周期的延迟期,10个时脉周期等)。例如,硬式计数考量外围内存装置的最大可能延迟期。也就是,延迟是考量外围装置所有区段(section)中最大延迟的最大延迟期。在又一具体实施例中,延迟是最佳化的延迟计数期。也就是,延迟期是视组件或组件区段而定,并可取决于那个外围装置、或外围装置的那个区段正在传递请求数据而改变,将配合图5作进一步说明。延迟期可由外围装置决定,并储存在一或多个延迟缓存器内,将配合图5作进一步说明。在又一具体实施例中,延迟期是外围装置原知(innately known),且延迟期未参考任何延迟计数器及/或缓存器。也就是,外围装置(例如,管理请求数据对输出缓冲器的传输的组件及/或组件电路)原知请求数据何时已撷取并载至输出缓冲器,以及准备好在数据总线上传递,而与任何预定延迟期无关。如此,一旦外围装置得知数据可用于传递,外围装置即通过数据总线配置以传递请求数据,而无关乎任何预定的延迟期。
如时序图300B所示,在一实施例中,RDS信号是在CS#信号置位时立即驱动为低位准。在另一具体实施例中,RDS信号维持高阻抗状态(Hi-z state),直到外围内存装置连同数据的传递驱动RDS信号呈高位准。在又一具体实施例中,RDS信号是在CS#信号一置位时立即驱动呈高位准。
在一具体实施例中,读取丛发(read burst)取决于RPC主控制器和RPC外围装置的配置,以撷取单一数据字节或一串数据字节。在多字节丛发情境中,CK、CK#与RDS信号对于每一笔新数据值持续变换(toggle)。
回到图3A,在360中,读取操作的结束是通过置位芯片选择信号(CS#)至高位准以指示在主机装置上,而此时第一时脉信号为低位准,且第二时脉信号为高位准。例如,如时序图300B所示,读取处理是随着CS#信号返回高位准而终止,此时CK信号是置位为低位准,且CK#信号是置位为高位准。在其它具体实施例中,其它组合为支撑(support),诸如随着CS#信号返回低位准而指示终止,此时CK和CK#信号具有反向的电压(例如,高位准和低位准)。
图4A与图4B共同描述利用如图2A的接口210之类的RPC内存总线接口以执行写入处理的方法。具体而言,图4A是描述利用内存总线接口以执行写入处理而助于主机装置与内存装置之间通讯的方法的流程图400A。图4B是根据本揭露的一具体实施例,并描述通过RPC内存总线接口以实现图4A所概述的写入处理的时序图400B。也就是,时序图400B是描述用于写入处理的总线发信号协议。同样地,差动时脉和数据选通信号的使用,能使命令、地址与数据信息以DDR方式用较高的时脉速率传输。
在410中,于主机装置上,写入处理是将在主机装置与内存装置之间进行的指示呈现在RPC接口的芯片选择线上。更具体地说,写入处理是由主机装置通过引发芯片选择(CS#)信号(例如,高位准或低位准)予以启始,而时脉信号则具有相反的电压(例如,高位准和低位准)。为了描述,如时序图400B所示,在写入处理的开始时,写入命令是由主机装置传递至内存装置,CS#信号是置位至低位准,而第一时脉信号(CK)则置位呈低位准,且第二时脉信号(CK#)是呈高位准。同样地,在一具体实施例中,整个写入处理的期间,芯片选择(CS#)信号是置位为低位准。
在420中,写入命令和目标地址信息是在首六个时脉转态(例如,三个时脉周期)时,通过数据总线自主机装置予以传递。也就是,六个时脉边缘是由主机所使用,以指示处理特征给外围内存装置。在具体实施例中,一或多个命令和地址(CAx)位是由主机装置传递到外围内存装置以指示处理特征,且可请求一或多个时脉转态以指示处理特征。为了描述的目的,如时序图400B所示,48个CAx位是在写入处理的初始部分的期间,通过RPC总线接口予以呈现,将配合图7进一步说明。具体而言,写入处理是由六字节宽的数值予以识别,其在首六个时脉边缘期间,以DDR方式于DQ[7-0]数据总线上从主机装置传输到外围装置。这些CAx位指示当前处理为写入处理。另外,信息包含内存中的目标地址,其数据写入于外围装置中。
在430中,数据是通过数据总线由主机装置传递到外围内存装置。写入处理无需延迟。如时序图400B所示,数据(Dn…)为中心对准CK与CK#信号交错处,由主机装置输出,并写入至外围装置中。
如时序图400B所示,在一具体实施例中,RDS信号是在置位CS#信号时,立即予以置位(例如驱动为低位准或高位准)。在此实例中,RDS信号在整个写入处理期间维持其置位状态。在另一具体实施例中,RDS信号在整个写入处理期间维持高阻抗状态。
在一具体实施例中,写入丛发可取决于RPC主控制器和RPC外围装置的配置,以撷取单一数据的字节或一串数据的字节。在多字节丛发的情境中,CK和CK#信号对于每一笔新数据值持续变换。
回到图4A,在440中,写入操作的结束是通过将芯片选择信号(CS#)置位至高位准而指示于主机装置上,此时第一时脉信号为低位准,且第二时脉信号为高位准。例如,如时序图400B所示,写入处理是随着CS#信号返回高位准而终止,此时CK信号是置位呈低位准,且CK#信号是置位呈高位准。
图5根据本揭露的一具体实施例,并描述能使用RDS信号作为可变延迟闸控机制且作为数据选通,以指示有效数据何时出现的外围控制器。例如,图5是经配置通过RPC总线接口以实现可变延迟读取处理的RPC外围装置530的方块图。
具体而言,图5是根据本揭露的一具体实施例,并经配置通过RPC内存总线接口560,以在主机装置与外围装置之间实现可变延迟读取处理的计算系统505(例如,主机装置)的RPC外围装置530的方块图。在一具体实施例中,外围装置530是经配置在数据备妥输出之时即开始置位RDS信号,而无需等待固定的时脉周期数目才开始读取数据传输。也就是,RDS信号是用于指示主机装置何时呈现各新数据值在数据总线(DQ[7…0])上。再者,本发明的具体实施例中,排除了对旧有可变延迟总线协议相关的专用RREADY或WAIT信号的需求,以指示在数据总线上的有效数据何时可得。
如图5所示,计算系统505(例如,主机装置)包含用于通过RPC内存总线接口560与外围装置530以协调通讯的RPC外围接口530。计算系统505包含中央处理单元540与内存,以供储存嵌入式指令于例如内嵌式只读存储器(ROM)550、及/或内嵌式静态随机存取内存(SRAM)555中。计算系统505也可包含xDRAM控制器537,以供控制诸如xDRAM 535之类的内存装置。
更具体而言,RPC外围装置530提供能立即从外围装置的不同区段得到数据读取的可变延迟特征。也就是,当数据可在数据总线上得到时,外围装置530能依据目标地址的特征决定并计数外围装置于不同区段的变化的初始存取时间。也就是,根据本揭露的一具体实施例,外围装置530能决定外围装置内不同目标地址的延迟特征,并基于延迟特征触发读取数据选通以指示有效数据何时呈现在数据总线上。
例如,在目标地址得以识别与数据得以呈现之间所用的时间是界定为初始延迟。在各种具体实施例中,虽然外围装置依据目标地址可具有许多不同的内部延迟,但在将初始数据值放在数据总线上之前,数据是呈内部暂停(stall)直到预定延迟过去。
作为实施例,闪存装置具有许多不同的目标地址初始延迟特征。读取操作可存取不同的内存区域,包括状态缓存器、SRAM缓冲器、主闪存数组、辅助闪存数组以及ROM数组。所有这些不同的内存区域都具有显著不同的特征存取时间。本揭露的可变延迟机制,通过使目标数据传回主机的时间缩短而得到更佳的整体效能。
更具体地说,外围装置530是配置用于执行可变延迟闸控功能,并提供数据选通功能以指示有效数据何时出现在数据总线上。具体而言,在一具体实施例中,一旦数据备妥以供呈现,外围装置530将引发初始RDS转态边缘(例如,低位准至高位准)。例如,图4B的时序图400B描述通过RPC总线接口的读取处理,其中,RDS的初始转态是以两个时脉初始延迟予以表示。如此,本发明的具体实施例取决于目标地址的延迟特征,使RDS信号的第一升缘较早或较晚转态。
如图5所示,外围装置530包含延迟定时器515、以及一或多个延迟缓存器520。在一具体实施例中,延迟定时器515能决定最佳初始延迟时序,而无关用于内存的不同地址或不同区域的时脉频率。如此,较高的时脉速率使用较大的延迟计数,而较低的时脉速率则使用较少的延迟计数。
在一具体实施例中,延迟定时器515能决定外围装置530中最慢目标位置的最差状况延迟。也就是,延迟缓存器520载有通用于所有内存位置的延迟计数。延迟计数指示在目标地址得以识别与初始数据得以输出之间所需的时脉周期数。如此,依据用于目标位置及/或地址的相关延迟计数、以及目标地址的相对速度,外围装置是配置用于调整何时要开始输出数据(与使RDS信号变换)。
在另一具体实施例中,延迟定时器515能决定用于特定目标位置的延迟,其中,此位置是与一或多内存地址相关联。所决定的延迟可储存在延迟缓存器520内,以供用于对应的目标位置。也就是,延迟缓存器520对于对应的目标地址是载有一或多个延迟计数,以指示在目标地址得以识别与初始数据得以输出之间所需的时脉周期数。如此,外围装置得存取与各目标地址区域相关联的个别延迟缓存器,其中,不同的地址区域具有不同的初始存取时间特征。延迟缓存器520是载有用以最佳化数据产量的特征值。依照那个方式,外围装置530是配置用于决定不同目标地址的延迟特征,并基于延迟特征触发读取数据选通,以指示何时出现有效数据在数据总线上。
图6是根据本发明的一具体实施例,并描述在总线处理的读取或写入处理期间,通过包含内存总线接口的读取数据选通以指示有效数据何时呈现的位布置的位图600。位图600所示的位布置是表示通过RPC总线接口执行,以在读取与写入处理的初始部分期间传输的信息,其已全部描述于上述图1-图5。
如图6所示,其说明主机RPC控制器所输出的命令和地址信息的位分配,以便界定要通过RPC外围装置予以执行的总线处理。命令和地址信息是通过在RPC处理的首六个时脉边缘期间所传送的首六个字节,予以在数据总线上传递。具体而言,48个CAx位是在RPC总线处理(例如,读取或写入处理)的初始部分期间予以呈现。也就是,信息的6个字节是在图6中呈现。例如,第六个字节610包含位47至40,并在CK信号的第一个上升缘予以触发;第五个字节615包含位39至32,并在CK信号的第一个下降缘予以触发;第四个字节620包含位31至24,并在CK信号的第二个上升缘予以触发;第三个字节625包含位23至16,并在CK信号的第二个下降缘予以触发;第二个字节630包含位15至8,并在CK信号的第三个上升缘予以触发;第一个字节635包含位7至0,并在CK信号的第三个下降缘予以触发。
图7是根据本发明的一具体实施例,并表示通过包括有读取数据选通(RDS)信号以指示有效数据何时呈现的内存总线接口而用于总线处理的位功能的表格700。表格700的位功能代表图6的位分配,并说明通过主RPC控制器输出的命令和地址信息,以便界定要由RPC外围装置予以执行的总线处理。
更具体地说,位47(R/W#)识别处理为读取或写入处理。例如,当R/W#=1时,表示读取处理,而R/W#=0时则表示写入处理。同样地,位46(目标)表示目标地址是位于例如主内存或缓存器空间内。例如,目标值为0时表示内存空间,而目标值为1时则表示缓存器空间。位45至16是保留供未来列地址扩充使用。
位37至16(列地址)提供目标地址列部分的信息,列地址位识别该32个字节将存取自内存数组。
位15(丛发类型)表示处理输出的丛发是连续性或包裹性(wrapped)。例如,丛发类型值为0时表示包裹性丛发,而值为1时则表示连续性丛发。更具体而言,包裹性丛发以丛发长度或列存取期望的开始地址,持续到丛发长度结束并环绕至丛发长度的开始处,就配置成32个字节的列的数组而言,直到抵达32字节的信息的末尾。
另一方面,连续性丛发类型再次存取期望的开始地址,并持续到连续性丛发长度的末尾。接着,推测性地将内存中的下一个数据群组带入输出缓冲器以延长当前的丛发长度。此推测性的数组读取持续到芯片选择回到高位准时终止读取丛发。
位14至13是保留给字节致能供RPC RAM组件使用。字节致能值为01时表示位15至8受到标记,字节致能值为10时表示位7至0受到标记。字节致能值是驱动为11供RPC闪存装置之用。另外,位12至4是保留给未来的栏地址扩充。
位3至0(栏地址(Column Address))提供栏地址信息。也就是,栏地址位提供内存数组中目标地址的栏成份。在一具体实施例中,接口支持有8、16或32位字接口。在那种方式下,读取和写入两者是呈对称均衡。在另一具体实施例中,就16位接口而言,有指示器及/或位(例如,位值21)指示那个位或那些字节(上字节或下字节或两者)是有效的。
因此,本发明的具体实施例是提供一种减少接脚数内存总线接口,其提供通过内存总线接口实现可变延迟架构,以实现对数据选通信号的使用而指示何时传递有效数据于总线上。
在以上详述中,本发明的具体实施例已引用数个按照实现可能会有所不同的特定细节予以说明。因此,唯一及排除性的指示,且为本案申请人的意图,在于本发明设有本申请案以特定格式提出的权利要求,其包括任何后续的修正。所以,权利要求书内未特别详述的限制、构件、特性、特征、优点或属性,不应该以任何方式限制权利要求的范畴。因此,详细说明及图式是视为描述性质而不具有限制意义。