用于在总线上发送存储器预取命令的方法和设备的制作方法

文档序号:6552877阅读:142来源:国知局
专利名称:用于在总线上发送存储器预取命令的方法和设备的制作方法
技术领域
本公开一般涉及数字系统,更具体而言,涉及用于在处理系统中通过总线发送存储器预取命令的方法和设备。
背景技术
集成电路通过使采用分立装置很难或不可能实现的新应用能够得到实现,而彻底变革了电子工业。集成能使含有数百万个电子元件的复杂电路封装到半导体材料的单个芯片中。结果,诸如计算机、蜂窝式电话、个人数字助理(PDA)等这样的功能强大的计算装置可以缩小成手持式装置。
当今,集成电路被广泛用来实现复杂的电路,诸如通用和专用的处理器。典型的集成处理器包括中央处理单元(CPU)和系统存储器。高带宽系统总线可用来支持这二者之间的通信。总线典型是集成电路上的各元件之间的共享通道或路径。此外,还可以存在外部总线,其可以用来在片上存储器控制器的控制下对低延迟的片外存储器进行存取。
片外存储器通常被格式化成多个页。一页一般与一行存储器相关联。在大多数情况下,存储器控制器能够一次仅仅打开有限数目个页。“打开页”指的是存储器正指向一行存储器并且仅需要来自存储器控制器的列存取命令来读取数据。为了存取存储器的未打开页,存储器控制器必须在提供列存取命令以读取数据之前为存储器提供行存取命令以移动指针。结果,在关闭存储器中的页和打开新页时会有延迟代价。
许多CPU的具体实现包括预取机制,以便对片外存储器装置所经常遇到的高延迟进行补偿。这些CPU可配置成对指令流进行评估,并向将来可能被需要的片外存储器装置请求页,以便减小延迟并提高CPU性能。然而,由于指令流的分支以及CPU的中断,这些预取请求可能经常是不正确的。此外,一旦总线上接受了预取请求,则即使不再需要数据,数据也将从片外存储器中被读出并在总线上传递回CPU。这经常会由于推测性数据在总线上被传递给CPU,而导致总线上的较低带宽,从而延误CPU从片外存储器装置存取后续数据。
许多年前,利用预取命令来将CPU连接于片外存储器装置的方法就已经提供了一种可行的解决方案。然而,随着CPU的操作速度持续按照指数规律增加,越来越需要减小典型地与片外存储器装置相关的延迟。

发明内容
在本发明的一个方面中,提供了一种从存储器中取回数据的方法,该方法包括预测将被需要的数据所来自的存储器地址,向存储器控制器发送对处于预测的存储器地址处的数据的预取命令,向存储器控制器发送对处于预测的存储器地址处的数据的读取请求,以及响应于该读取请求而对处于预测的存储器地址处的数据进行接收。
在本发明的另一方面中,提供了一种从存储器中取回数据的方法,该方法包括预测将被需要的数据所来自的存储器的未打开页中的地址,向存储器控制器发送对处于预测的存储器地址处的数据的预取命令,将预测地址处的数据读入预取缓冲器中,以及从预取缓冲器中丢弃数据。
在本发明的又一方面中,提供了一种处理系统,其包括存储器、存储器控制器和处理器。该处理器配置成预测将被需要的数据所来自的存储器地址,向存储器控制器发送对处于预测的存储器地址处的数据的预取命令,如果预测的存储器地址处的数据被需要则向存储器控制器发送对该数据的读取请求,其中存储器控制器进一步配置成响应于读取请求而将预测的存储器地址处的数据传递给处理器。
在本发明的又一方面中,提供了一种处理系统,其包括存储器,存储器控制器,用于对将被需要的数据所来自的存储器地址进行预测的装置,用于向存储器控制器发送对处于预测的存储器地址处的数据的预取命令的装置,用于在处于预测的存储器地址处的数据被需要时向存储器控制器发送对该数据的读取请求的装置,以及用于接收数据的接收装置,其中存储器控制器进一步配置成响应于读取请求而将处于预测的存储器地址处的数据传递给接收装置。
应能理解,对于本领域技术人员来说,通过以下详细说明,本发明的其它实施例将变得显而易见,其中通过例证的形式示出及说明本发明的不同实施例。如将认识到的那样,在不脱离本发明的精神和范围的情况下,本发明可有其它不同的实施例,并且其一些细节能在其它不同的方面中进行修改。因此,附图和详细说明实际上应被看作是说明性的而非限制性的。


在附图中,以举例的方式而非限制的方式示出了本发明的各方面,在附图中图1是示出带有片外存储器的集成电路的实例的概念性框图;图2是示出带有片外存储器的集成电路的另一个实例的概念性框图;图3是示出用预取命令来减小对SDRAM进行读取操作时的延迟的时序图;图4是示出用预取命令来减小对NAND闪存进行读取操作时的延迟的时序图。
具体实施例方式
以下结合附图所做的详细描述是用于说明本发明的不同实施例的,而不打算仅代表可实现本发明的唯一几个实施例。详细描述包括了用于透彻理解本发明的具体细节。然而,对本领域技术人员而言很明显的是,没有这些具体细节本发明也可以实施。在一些例子中,为了避免模糊本发明的概念,以框图形式显示公知的结构和组件。
将描述带有片外存储器的集成电路的几个实施例,以说明不同的发明性概念。在此描述的至少一个实施例中,集成在芯片上的CPU可以以趋向于减小这样的配置会典型遇到的延迟的方式,来通过存储器控制器与片外存储器相接。本领域技术人员还将很容易理解,这些发明性概念并不限于这样的配置,而可以应用于总线主控装置与存储器通信的任何处理系统上。举例来说,CPU可以使用本公开通篇描述的不同发明性概念来与片上存储器通信。可选地,分立处理器或其它总线主控装置,也可以用来与分立存储器通信。
图1是示出带有片外存储器的集成电路102的概念性框图。片外存储器可以采用具有多页格式的任意存储装置(包括例如存储器、寄存器、网桥或能够取回和存储信息的任何其它装置)来实现。在图1所示的实施例中,片外存储器可包括同步动态随机存取存储器(SDRAM)104和NAND闪存106。CPU 108可通过SDRAM存储器控制器110来存取SDRAM 104,并通过NAND快闪控制器(flashcontroller)112来存取NAND闪存106。CPU 108可以是任何处理元件,包括例如微处理器、数字信号处理器(DSP)、可编程逻辑元件、门或晶体管逻辑的组合、或任何其它处理元件。
集成电路102可包括系统总线114,以将CPU 108连接于SDRAM控制器110和NAND快闪控制器112。系统总线114还可以用于在为了避免模糊不同发明性概念而被省略的其它不同集成元件之间提供通信。系统总线114可以取决于具体应用情况和总体的设计约束而以多种方式来配置。举例来说,系统总线114可被实现为共享总线或点对点的切换连接。
在处理系统的一个实施例中,总线主控装置可用于生成预取命令来存取存储器中的未打开页。举例来说,图1中所示的CPU 108可以通过系统总线114将预取命令发送给SDRAM存储器控制器110。预取命令可包括,通过预计CPU 108在将来对数据的请求而得出的可能由SDRAM存储器控制器110用来存取SDRAM 104中的存储器页的地址。SDRAM存储器控制器110可简单地打开SDRAM 104中的存储器的页,或者可选地,从该页中将一部分或全部数据读入预取缓冲器中。在最简单的配置中,SDRAM存储器控制器110简单地打开SDRAM 104中的存储器的页,并且由于页已经被打开的事实,CPU 108可得到较低延迟的好处,因此,CPU 108不需要来自SDRAM存储器控制器110的行存取命令。在可选配置中,SDRAM存储器控制器110可实现预取缓冲器,其中SDRAM存储器控制器110将从页中读取数据并将读取的数据存入其预取缓冲器中。从页中读取的数据的量可以是预定的,或者可选地,可以用预取命令来广播该数据量。当CPU 108准备读取数据时,它简单地从预取缓冲器中读取数据,其延迟比从SDRAM 104中读取的延迟低得多。如果CPU 108不需要该数据,那么该数据可由SDRAM存储器控制器110丢弃,而不会经过CPU发送到SDRAM总线114上。SDRAM存储器控制器110可利用任意数目的算法来确定CPU 108不需要数据。举例来说,SDRAM存储器控制器110可在它没在预定时间内接收到来自CPU 108的读取请求或者没有接收到预定数目个对不同页的读取请求的情况下丢弃数据。可选地,如果在SDRAM存储器控制器110接收到对预取缓冲器中的数据的读取请求以前,其接收到后续的预取命令,则SDRAM存储器控制器110可丢弃数据。
图1所示的CPU 108可以以类似的方式,通过将预取命令经系统总线114发送到NAND快闪控制器112,来存取NAND闪存106。预取命令可包括可能由NAND快闪控制器112用来存取NAND闪存106中的存储器的未打开页的地址。NAND快闪控制器112可简单地缓存NAND闪存106中的存储器的页,以给CPU 108带来后续读取请求的延迟较低的好处。可选地,通过预计CPU 108在将来对数据的请求,NAND快闪控制器112能将数据从NAND闪存页缓冲器中读入到预取缓冲器中。如果CPU 108不需要数据,那么数据可由NAND快闪控制器112丢弃。NAND快闪控制器112以与前面关于SDRAM控制器而给出的描述相同的方式,或者通过任何其它方法,来确定CPU 108不需要数据。
在到此为止所描述的实施例中,存储器控制器,无论它是SDRAM存储器控制器110、NAND快闪控制器112,还是任意其它的存储器控制器,都不用响应于预取命令而向总线主控装置发送数据。仅仅响应于总线主控装置对包含在预取命令中的相同地址的后续的读取请求,而通过系统总线发送数据。此外,不需要存储器控制器响应于预取命令而将数据读入到预取缓冲器中或者甚至打开存储器中的页。在某些实施例中,预取命令可仅仅提供来自总线主控装置的通知,即,某个地址在将来会被请求的通知,以及如果存储器控制器能做些什么来最小化传输延迟,则它应该这样做,但不要求这样做的通知。
在集成电路102的一个实施例中,系统总线114可采用地址通道、写通道和读通道来实现。地址通道可被CPU 108用来通过适当的存储器控制器来存取片外存储器中的特定位置。边带信令可用来支持预取命令,以及尤其指示CPU 108正在请求读操作还是写操作的其它控制信号。写通道可以用来通过适当的存储器控制器将数据写到片外存储器中,而读通道可以用来通过适当的存储器控制器将数据从片外存储器中读出。这样的总线结构在本领域内是众所周知的。
在集成电路102的可替代实施例中,总线结构可配置成能将地址通道除去。图2示出了这种概念。可通过将写通道重新定义为“发送通道”202来除去地址通道。发送通道202可以用作在CPU 108和适当的存储器控制器之间以时分复用方式发送信息的一般介质。该信息可包括地址信息、控制信号和要被写到片外存储器上的数据。控制信号的一个实例是指示在一次读或写操作中要从片外存储器中读取或要写到片外存储器上的字节数目的信号。控制信号的另一个实例是指示将利用发送通道的哪些字节通路(byte lane)来发送要写到片外存储器上的数据的信号。举例而言,在32比特发送通道202上发送2字节的数据将需要4条字节通路中的2条。该控制信号可用来向适当的存储器控制器指示,发送通道202上的2条字节通路中的哪一条将被用来发送数据。
联系图2描述的各种概念可使用任意数目的协议来实现。在以下的详细说明中,将提出总线协议的一个实例。提出该总线协议是为了说明处理系统的各发明性方面,并为了理解这些发明性方面可用任意适当的协议来实现。下面的表1中显示出了用于发送通道的基本信令协议。在对此处描述的总线结构的实际应用中,本领域技术人员将能很容易地为这种协议改变和/或添加信号。
表1


同样的信令协议可用于以下表2显示的接收通道。
表2

表3中显示了这种信令协议中使用的类型字段的定义。
表3

表4中显示了该信令协议中的有效和传输确认信号的定义。
表4

图3是说明如何用预取命令来减小对SDRAM的读取操作的延迟的一个实例的时序图。为了避免模糊本发明的概念,图3中示出的实例仅限于读取操作。此外,将不示出用于这些读取操作的控制信号。本领域的技术人员将能理解,对于任意给定读取操作,简单地通过增加总线宽度和提供用于识别运载控制信号的字节通路的信令,控制信号就能与地址信息平行地在发送通道上发送。
在此实例中,从SDRAM中的未打开页中存取数据的延迟为七个时钟周期,而从SDRAM中的相同打开页中存取数据的延迟为四个时钟周期。此实例中的前两次读取操作是对SDRAM中的相同页进行的,而第三次读取操作是对SDRAM中的不同页进行的。通过利用预取命令,第三次读取操作的延迟可从七个时钟周期减小到四个时钟周期。
系统时钟302可用来同步CPU和SDRAM之间的通信。系统时钟302被显示为带有二十一个时钟周期,并且为了便于解释将每个周期按顺序进行编号。
在第一时钟周期301期间,对存储器关闭页中的地址进行的第一次读取操作可由CPU启动。这可以通过断言(assert)有效信号301,适当地设置类型字段306和在发送通道308上将第一次读取操作所用的地址A0发送到SDRAM控制器来完成。类型字段306可被SDRAM控制器用来确定CPU正在向SDRAM请求对地址A0处的读取操作。在第一时钟周期301结尾,CPU检测由SDRAM控制器对传输确认信号310进行的断言,并确定该传输已被接收和接受。
响应于第一读取操作请求,SDRAM控制器可打开SDRAM中的适当页并开始从地址A0读取数据。由于SDRAM的延迟,在数据可用之前可能经历七个时钟周期时延。一旦数据是可用的,SDRAM控制器就可断言有效信号312并设置类型字段314以在接收通道316上发送数据传输的信号。此实例中的数据传输需要4个时钟周期以容纳CPU请求的数据量和接收通道316的宽度。随后,可在第八、第九、第十和第十一时钟周期315、317、319和321期间通过接收通道316来将数据从SDRAM控制器发送至CPU。在这些时钟周期中的每个的结尾,SDRAM控制器检测由CPU对传输确认信号318进行的断言,并确定该数据传输已被接收和接受。
在第八个时钟周期315期间,CPU可请求对包含第一读取操作所用的地址A0的SDRAM中的相同页进行第二次读取操作。这可以通过断言有效信号304、适当地设置类型字段306和在发送通道308上将第二次读取操作所用的地址A1发送给SDRAM控制器来完成。类型字段306可被SDRAM控制器用来确定CPU正在向SDRAM请求对地址A1处的读取操作。在第八时钟周期315的结尾,CPU检测SDRAM控制器对传输确认信号310进行的断言,并确定该传输已被接收和接受。
由于SDRAM中的页已被打开,所以SDRAM的延迟减小至四个周期,变得对第十二时钟周期323开头的传输可用。一旦数据可用,SDRAM控制器就可断言有效信号312和设置类型字段314,以在接收通道316上发送数据传输的信号。因为被请求的数据的量和接收通道316的宽度,此实例中的数据发送也需要4个时钟周期,因此,本次数据发送可在第十二、十三、十四和十五时钟周期323、325、327和329期间通过接收通道316来发送。在这些时钟周期中的每个的结尾,SDRAM控制器检测由CPU对传输确认信号318进行的断言,并确定该数据传输已被接收和接受。
在第八时钟周期315期间,CPU还预测它将需要来自SDRAM中的不同页中的地址A2的数据,结果,可在第九时钟周期319通过发送通道308发送预取命令。这可以通过断言有效信号304、设置类型字段306以指示预取命令和在发送通道308上将地址A2发送给SDRAM控制器来完成。响应于该预取命令,SDRAM控制器可开始打开SDRAM中的存储器的新的页,并平行地为第一次读取操作通过接收通道316来向CPU传输数据。在第九时钟周期317的结尾,CPU检测由SDRAM控制器对传输确认信号310进行的断言,并确定预取命令已被接收和接受。
在第十四时钟周期327期间,CPU确定它明确地需要来自SDRAM中的地址A2处的数据,因此发送对该数据的读取请求。这可以通过断言有效信号304、适当地设置类型字段306和在发送通道308上将第三次读取操作所用的地址A2发送给SDRAM控制器来完成。类型字段306可被SDRAM控制器用来确定CPU正在向SDRAM请求对地址A2处的读取操作。在第十四时钟周期327的结尾,CPU检测SDRAM控制器对传输确认信号310进行的断言,并确定本发送已被接收和接受。
由于SDRAM控制器已经打开含地址A2的SDRAM中的存储器的页,所以SDRAM的延迟可减小至四个周期,并且数据变成对第八时钟周期335开头的发送可用。一旦数据可用,SDRAM控制器就可断言有效信号312并设置类型字段314,以在接收通道316上发送数据传输的信号。因为被请求的数据的量和接收通道316的宽度,本实例中的数据发送需要4个时钟周期,因此,可在第十八、第十九、第二十、和第二十一时钟周期335、337、339和341期间通过接收通道316来发送该次数据发送。在这些时钟周期中的每个的结尾,SDRAM控制器检测CPU对传输确认信号318进行的断言,并确定数据发送已被接收和接受。
图4是时序图,其示出了如何可以利用预取命令来减小对NAND闪存进行读取操作时的延迟的实例。以与用来描述关于SDRAM的预取命令的方式相类似的方式,图4中示出的实例仅限于读取操作,并且用于那些读取操作的控制信号并未示出。本领域的技术人员将会理解,简单地通过增加总线宽度并提供用于识别运载控制信号的字节通路的信令,就能通过发送通道与任意给定读取操作所用的地址信息并行地发送控制信号。
在此实例中,CPU将从NAND闪存读取数据,该NAND闪存具有n个周期的延迟。该延迟等于将全页数据(典型为512字节)从NAND闪存读入包含在NAND快闪控制器内的较大读取缓冲器中所需的时间。大多数情况下的初始延迟可能是数百个时钟周期。如果CPU只是简单地向NAND快闪控制器请求对关闭页的数据进行读取操作,CPU可停止工作,同时其等待新页的数据加载到NAND快闪控制器中。通过发布预取命令,NAND快闪控制器能够将数据读入到读取缓冲器中同时CPU可继续执行其它指令。此外,接收通道还可用来为其它读操作向CPU发送数据。这倾向于显著地提高接收通道的利用率。
在第一时钟周期301期间,CPU预测它将需要NAND闪存中的地址A0的数据,因此,CPU可通过发送通道308发送预取命令。这可以通过断言有效信号304、设置类型字段306以指示预取命令和在发送通道308上将预取命令所用的地址A0发送给NAND快闪控制器来完成。响应于预取命令,NAND快闪控制器可开始将存储器的新页从NAND闪存中加载到NAND快闪控制器中的读取缓冲器中。在第一时钟周期301的结尾,CPU检测到由NAND快闪控制器对传输确认信号310进行的断言,并确定该预取命令已被接收和接受。
在大多数情况下,将新页从NAND闪存加载到NAND快闪控制器中的处理需要许多周期来完成。在这段时间期间,CPU可在等待NAND闪存将存储器的新页加载到NAND快闪控制器中的同时,继续从其外部高速缓冲存储器或外部存储器中取指令和执行指令。在时钟周期n401,其中n大于或等于加载NAND快闪控制器中的读取缓冲器所需的时间,CPU可通过断言有效信号304、适当地设置类型字段306和在发送通道308上将地址A0发送给NAND快闪控制器来请求对地址A0的读操作。在n时钟周期401的结尾,CPU检测由NAND快闪控制器对传输确认信号310进行的断言,并确定该发送已被接收和接受。
由于NAND闪存中的读取缓冲器已经加载了来自NAND快闪控制器的存储器的页,所以延迟可减小成CPU通过接收通道读取NAND快闪控制器中的缓冲器所必需的时间。在此实例中,读延迟被减小成四个时钟周期。结果,在CPU请求读操作之后再过四个时钟周期,数据可变成可用。一旦数据可用,NAND快闪控制器就可断言有效信号312并设置类型字段314以在接收通道316上发送数据传输的信号。此实例中的数据发送是在四个时钟周期内通过接收通道316发送的。在这些时钟周期中的每个的结尾,NAND快闪控制器检测由CPU对传输确认信号318进行的断言,并确定该次数据发送已经被接收和接受。
结合本文中所公开的实施例描述的多种示例的逻辑块、模块、电路、元件和/或组件可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件、或设计成执行本文所述功能的以上的任意组合来实现或执行。通用处理器可以是微处理器,但是可替换地,处理器也可以是任何常规的处理器、控制器、微控制器、或状态机。处理器也可以被实现为计算器件的组合,例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器与一个DSP核心的组合、或任意其它此类配置。
结合本文中所公开的实施例描述的方法或算法可以直接用硬件、处理器执行的软件模块、或二者的结合来实施。软件模块可置于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的其它形式的存储介质中。可将存储介质连接到处理器,以便处理器可从存储介质读取信息并向存储介质写入信息。可替换地,存储介质可以被集成在处理器中。
对所公开的实施例的上述说明,是为了使本领域的专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与权利要求相一致的最宽的范围,其中除非特别指出,否则对单一元件的标记并不是指“一个和仅仅一个”,而是指“一个或多个”。此公开中描述的各种实施例的元件的所有结构上和功能上的等效体,无论其对于本领域普通技术人员来说是已知的还是将在以后变成已知的,都在此通过引用将其特意结合到本文中,并且这些等效体应包含在各权利要求中。此外,在此公开的任何内容都不是贡献给公众的,不管此公开内容是否明确地在权利要求中被引用。除了明确地用短语“用于做什么的装置”或者在方法权利要求的情况下用短语“用于做什么的步骤”来陈述的元件外,该权利要求中的元件都不应基于35 U.S.C.§112第六条来解释。
权利要求
1.一种从存储器中取回数据的方法,包括预测将被需要的数据所来自的存储器地址;向存储器控制器发送对处于预测的存储器地址处的数据的预取命令;向所述存储器控制器发送对处于所述预测的存储器地址处的数据的读取请求;响应于所述读取请求而接收处于所述预测的存储器地址处的数据。
2.如权利要求1所述的方法,其中,所述存储器控制器响应于所述预取命令而打开所述存储器中的页,所述页包括处于所述预测的地址处的数据。
3.如权利要求2所述的方法,其中,所述存储器控制器将来自包括处于所述预测的地址处的数据的页中的至少一部分数据读入预取缓冲器中,并且其中,响应于所述读取请求,处于所述预测的地址处的数据从所述预取缓冲器中被接收。
4.如权利要求3所述的方法,其中,读入所述预取缓冲器中的来自所述页中的所述至少一部分数据的大小为预定大小。
5.如权利要求3所述的方法,其中,通过所述预取命令来将读入所述预取缓冲器中的来自所述页中的所述至少一部分数据的大小发送给所述存储器控制器。
6.如权利要求1所述的方法,其中,所述存储器包括SDRAM。
7.如权利要求1所述的方法,其中,所述存储器包括NAND闪存。
8.如权利要求1所述的方法,进一步包括,通过所述预取命令和所述读取请求而将所述预测的地址发送给所述存储器控制器。
9.如权利要求8所述的方法,其中,所述预测的地址在总线的第一通道上被发送给所述存储器控制器,并且其中,响应于所述读取请求而在所述总线的第二通道上接收数据。
10.如权利要求9所述的方法,其中,所述预取命令和所述读取请求在公共通道上被发送给所述存储器控制器。
11.如权利要求10所述的方法,其中,所述预取命令包括第一代码,并且所述读取请求包括与所述第一代码不同的第二代码。
12.如权利要求9所述的方法,进一步包括,在所述总线的所述第一通道上向所述存储器控制器发送与所述预取命令和所述读取请求相关的传输限定符。
13.如权利要求9所述的方法,进一步包括,在所述总线的所述第一通道上发送要被写入所述存储器的数据,并在所述总线的所述第一通道上发送要将所述数据写入所述存储器的地址。
14.一种从存储器中取回数据的方法,包括预测将被需要的数据所来自的存储器的未打开页中的地址;向所述存储器控制器发送对处于预测的存储器地址处的数据的预取命令;将处于所述预测的地址处的数据读入预取缓冲器中;和从所述预取缓冲器中丢弃所述数据。
15.如权利要求14所述的方法,其中,当向所述存储器控制器已发送了预定数目个对所述存储器的一个或多个不同页中的数据的读取请求,而没有向所述存储器控制器发送对处于所述存储器中的预测的地址处的数据的读取请求时,响应于这种情况而从所述预取缓冲器中丢弃所述数据。
16.如权利要求14所述的方法,其中,在没有对处于所述存储器中的预测的地址处的数据的读取请求被发送到所述存储器控制器的情况持续了预定时间后,所述数据从所述预取缓冲器中被丢弃。
17.如权利要求14所述的方法,其中,当在对处于所述存储器中的预测的地址处的数据的读取请求被发送到所述存储器控制器之前,后续的预取命令被发送到所述存储器控制器时,所述预取缓冲器响应于这种情况而丢弃所述数据。
18.一种处理系统,包括存储器;存储器控制器;和处理器,其配置成预测将被需要的数据所来自的存储器地址,向所述存储器控制器发送对处于预测的存储器地址处的数据的预取命令,并在所述数据被需要时向所述存储器控制器发送对处于所述预测的存储器地址处的数据的读取请求;其中,所述存储器控制器进一步配置成响应于所述读取请求而将处于所述预测的存储器地址处的数据传递给所述处理器。
19.如权利要求18所述的处理系统,其中,所述存储器控制器进一步配置成响应于所述预取命令而打开所述存储器中的页,所述页包括处于所述预测的地址处的数据。
20.如权利要求19所述的处理系统,进一步包括预取缓冲器;并且其中,所述存储器控制器进一步配置成将来自包括处于所述预测的地址处的数据的所述页中的至少一部分数据读入所述预取缓冲器中,并响应于所述读取请求而将处于所述预测的地址处的数据从所述预取缓冲器中传递给所述处理器。
21.如权利要求20所述的处理系统,其中,读入所述预取缓冲器中的来自所述页中的所述至少一部分数据的大小为预定大小。
22.如权利要求20所述的处理系统,其中,所述处理器进一步配置成,把将被读入所述预取缓冲器中的来自所述页中的所述至少一部分数据的大小发送给所述预取缓冲器。
23.如权利要求20所述的处理系统,其中,所述预取缓冲器被置于所述存储器控制器中。
24.如权利要求20所述的处理系统,其中,所述存储器控制器进一步配置成,如果所述存储器控制器在接收到所述预取命令之后从所述处理器接收到预定数目个对所述存储器的一个或多个不同页中的数据的读取请求,而没有接收到对对处于所述预测的存储器地址处的数据的读取请求时,则所述存储器控制器丢弃所述预取缓冲器中的数据。
25.如权利要求18所述的处理系统,其中,所述存储器包括SDRAM。
26.如权利要求18所述的处理系统,其中,所述存储器包括NAND闪存。
27.如权利要求18所述的处理系统,其中,所述处理器进一步配置成通过所述预取命令和所述读取请求而将所述预测的地址发送给所述存储器控制器。
28.如权利要求27所述的处理系统,进一步包括将所述处理器连接到所述存储器控制器的总线,所述总线具有第一和第二通道,其中,所述处理器进一步配置成在总线的第一通道上将所述预测的地址发送给所述存储器控制器,并且其中,所述存储器控制器进一步配置成在所述总线的第二通道上将所述数据发送给所述处理器。
29.如权利要求28所述的处理系统,进一步包括所述处理器和所述存储器控制器之间的公共通道,并且其中,所述处理器进一步配置成在所述公共通道上将所述预取命令和所述读取请求发送给所述存储器控制器。
30.如权利要求29所述的处理系统,其中,所述处理器进一步配置成,生成包括所述预取命令的第一代码和包括所述读取请求的第二代码,所述第一代码与所述第二代码不同。
31.如权利要求28所述的处理系统,其中,所述处理器进一步配置成在所述总线的所述第一通道上将与所述预取命令和所述读取请求相关的传输限定符发送给所述存储器控制器。
32.如权利要求28所述的处理系统,其中,所述处理器进一步配置成,在所述总线的所述第一通道上发送要被写入所述存储器的数据,并在所述总线的所述第一通道上发送要将所述数据写入所述存储器的地址。
33.一种处理系统,其包括存储器;存储器控制器;用于预测将被需要的数据所来自的存储器地址的装置;用于向所述存储器控制器发送对处于预测的存储器地址处的数据的预取命令的装置;用于在处于所述预测的存储器地址处的数据被需要时将对所述数据的读取请求发送给所述存储器控制器的装置;和用于接收所述数据的接收装置;其中,所述存储器控制器进一步配置成响应于所述读取请求而将处于所述预测的存储器地址处的数据传递给所述接收装置。
全文摘要
本发明公开了一种处理系统和方法,其中处理器可配置成预测将被需要的数据所来自的存储器地址,向存储器控制器发送对处于预测的存储器地址处的数据的预取命令,如果处于预测的存储器地址处的数据被需要,则向存储器控制器发送对该数据的读取请求。
文档编号G06F9/38GK101048762SQ200580037154
公开日2007年10月3日 申请日期2005年8月26日 优先权日2004年8月27日
发明者R·G·霍夫曼, M·M·谢弗 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1