《存储器存取控制器、系统及用于最优化存储器存取时间的方法.pdf》由会员分享,可在线阅读,更多相关《存储器存取控制器、系统及用于最优化存储器存取时间的方法.pdf(31页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102356385A43申请公布日20120215CN102356385ACN102356385A21申请号201080012764222申请日2010031912/407,91020090320USG06F13/16200601G06F12/06200601G06F12/0820060171申请人高通股份有限公司地址美国加利福尼亚州72发明人斯里尼瓦斯马达利迪提维贾亚拉卡什米西拉马格瑞74专利代理机构北京律盟知识产权代理有限责任公司11287代理人宋献涛54发明名称存储器存取控制器、系统及用于最优化存储器存取时间的方法57摘要本发明揭示一种可配置存储器存取控制器及相关系统及。
2、方法。在本文中所描述的实施例中,所述可配置存储器控制器适于为给定存储器系统中的多个存储器组中的每一者提供单独的存储器存取配置。为每一存储器组提供的所述存储器存取配置可为维持每一存储器组中的至少一个存储器页开放或关闭。以此方式,可在个别化基础上为每一存储器组提供存储器存取配置,以基于每一存储器组中的数据活动性的类型而最优化存储器存取时间。在本文中所描述的实施例中,所述存储器控制器还可经配置以允许一个或一个以上存储器组的动态配置。动态配置涉及改变或越权控制特定存储器组的所述存储器存取配置以最优化存储器存取时间。30优先权数据85PCT申请进入国家阶段日2011091986PCT申请的申请数据PCT。
3、/US2010/0279812010031987PCT申请的公布数据WO2010/108096EN2010092351INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书14页附图13页CN102356395A1/3页21一种存储器控制器,其包含控制器,其经配置以根据为多个存储器组中的每一者提供的存储器存取配置来存取对应于含于所述多个存储器组中的每一者中的至少一个存储器页的至少一个存储器位置;其中所述控制器可配置以基于为所述多个存储器组中的每一者提供的所述存储器存取配置来关闭所述至少一个存储器页或维持所述至少一个存储器页开放。2根据权利要求1所述的存储器控制器,其中所。
4、述存储器存取配置包含至少一个维持开放存储器页及至少一个关闭存储器页。3根据权利要求1所述的存储器控制器,进一步包含所述控制器中的含有所述存储器存取配置的一个或一个以上内部寄存器。4根据权利要求1所述的存储器控制器,进一步包含所述控制器中的一个或一个以上动态存储器存取配置寄存器。5根据权利要求1所述的存储器控制器,其中所述控制器经进一步配置以确定用于所述多个存储器组中的存储器组的所述存储器存取配置是否经配置以维持存储器页开放。6根据权利要求5所述的存储器控制器,其中所述控制器经进一步配置以在用于所述存储器组的所述存储器存取配置经配置以关闭存储器页的情况下开放所述存储器组中的存储器页。7根据权利要。
5、求5所述的存储器控制器,其中所述控制器经进一步配置以确定所述多个存储器组中的存储器组中的存储器页是否开放。8根据权利要求7所述的存储器控制器,其中所述控制器经进一步配置以在所述控制器确定所述存储器页已开放的情况下存取所述存储器页而无需首先开放所述存储器页。9根据权利要求7所述的存储器控制器,其中所述控制器经进一步配置以在所述控制器确定含有存储器地址的所述存储器页未开放的情况下关闭先前开放的存储器页。10根据权利要求1所述的存储器控制器,其中所述控制器经进一步配置以确定用于所述多个存储器组中的存储器组的所述存储器存取配置是否应动态地改变。11根据权利要求10所述的存储器控制器,其中所述控制器经配。
6、置以确定用于所述多个存储器组中的存储器组的所述存储器存取配置是否应随一个或一个以上存储器存取请求而动态地改变。12根据权利要求10所述的存储器控制器,其中所述控制器经配置以确定用于所述多个存储器组中的存储器组的所述存储器存取配置是否应随存储器存取请求的预测而动态地改变。13根据权利要求1所述的存储器控制器,其集成于至少一个半导体裸片中。14根据权利要求1所述的存储器控制器,其进一步包含装置,所述装置选自由以下各物组成的群组机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、计算机、便携式计算机、桌上型计算机、个人数字助理PDA、监视器、计算机监视器、。
7、电视、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘DVD播放器及便携式数字视频播放器,所述存储器控制器集成到所述装置中。15一种存取存储器系统中的存储器的方法,其包含在存储器控制器处接收包含存储器地址的存储器存取请求;权利要求书CN102356385ACN102356395A2/3页3确定用于含有所述存储器地址的存储器组的存储器存取配置是否经配置以关闭存储器页或维持所述存储器页开放;存取用于含有至少一个存储器页的存储器组的存储器存取配置,其中所述存储器存取配置提供用于多个存储器组中的每一者以关闭所述至少一个存储器页或维持所述。
8、至少一个存储器页开放;及基于所述存储器存取配置而关闭含有所述存储器地址的所述存储器组中的存储器页或维持含有所述存储器地址的所述存储器组中的所述存储器页开放。16根据权利要求15所述的方法,其进一步包含确定用于所述存储器组的所述存储器存取配置是否经配置以在存取之后关闭其存储器页或维持其存储器页开放。17根据权利要求15所述的方法,其进一步包含存取所述存储器页以存取存储于所述存储器地址处的数据。18根据权利要求17所述的方法,其进一步包含在用于所述存储器组的所述存储器存取配置经配置以关闭存储器页的情况下在存取所述存储器页之前开放所述存储器页。19根据权利要求16所述的方法,其进一步包含确定所述存储。
9、器页在存取所述存储器页之前是否开放。20根据权利要求19所述的方法,其进一步包含在所述存储器页开放的情况下存取所述存储器页而无需首先开放所述存储器页。21根据权利要求19所述的方法,其进一步包含在含有所述存储器地址的所述存储器页未开放的情况下关闭先前开放的存储器页。22根据权利要求15所述的方法,其进一步包含确定用于含有所述存储器地址的所述存储器组的所述存储器存取配置是否应动态地改变。23根据权利要求22所述的方法,其进一步包含通过暂时越权控制所述存储器存取配置或存储用于所述存储器存取配置的新配置而动态地改变用于含有所述存储器地址的所述存储器组的所述存储器存取配置。24根据权利要求22所述的方。
10、法,其进一步包含审阅一个或一个以上未决存储器存取请求;及基于所述一个或一个以上未决存储器存取请求而动态地改变所述存储器存取配置。25根据权利要求22所述的方法,其进一步包含预测对所述存储器组的未来存储器存取请求;及基于预测对所述存储器组的未来存储器存取请求而动态地改变所述存储器组的所述存储器存取配置。26一种存储器系统,其包含多个存储器组,每一存储器组含有至少一个存储器页;及存储器控制器,其经配置以根据为所述多个存储器组中的每一者提供的存储器存取配置来存取对应于含于所述多个存储器组中的每一者中的所述至少一个存储器页的至少一个存储器位置;其中所述存储器控制器经配置以基于为所述多个存储器组中的每一。
11、者提供的所述存储器存取配置来关闭所述存储器页或维持所述存储器页开放。27根据权利要求26所述的存储器系统,其中所述存储器存取配置包含至少一个维持权利要求书CN102356385ACN102356395A3/3页4开放存储器页及至少一个关闭存储器页。28根据权利要求26所述的存储器系统,其中所述存储器控制器经进一步配置以确定用于所述多个存储器组中的存储器组的所述存储器存取配置是否经配置以维持存储器页开放。29根据权利要求26所述的存储器系统,其中所述存储器控制器经进一步配置以确定用于所述多个存储器组中的存储器组的所述存储器存取配置是否应动态地改变。30根据权利要求29所述的存储器系统,其中所述存。
12、储器控制器经进一步配置以动态地改变用于所述多个存储器组中的存储器组的所述存储器存取配置。31根据权利要求26所述的存储器系统,其集成于至少一个半导体裸片中。32一种存储器控制器,其包含控制器,其经配置以根据为多个存储器组中的每一者提供的存储器存取配置来存取对应于含于所述多个存储器组中的每一者中的至少一个存储器页的至少一个存储器位置;及用于配置所述存储器控制器的装置,其用以基于为所述多个存储器组中的每一者提供的所述存储器存取配置来关闭所述至少一个存储器页或维持所述至少一个存储器页开放。33一种存取存储器系统中的存储器的方法,其包含用于在存储器控制器处接收包含存储器地址的存储器存取请求的步骤;用于。
13、存取用于含有至少一个存储器页的存储器组的存储器存取配置的步骤,其中所述存储器存取配置提供用于多个存储器组中的每一者以关闭所述至少一个存储器页或维持所述至少一个存储器页开放;用于确定用于所述存储器组的所述存储器存取配置是否经配置以关闭所述至少一个存储器页或维持所述至少一个存储器页开放的步骤;及用于基于所述存储器存取配置而关闭含有所述存储器地址的所述存储器组中的存储器页或维持含有所述存储器地址的所述存储器组中的所述存储器页开放的步骤。权利要求书CN102356385ACN102356395A1/14页5存储器存取控制器、系统及用于最优化存储器存取时间的方法技术领域0001本申请案的技术大体上涉及存。
14、储器存取控制器及相关系统以及用于最优化基于处理器的系统中的存储器存取时间的方法。背景技术0002基于处理器的系统包括基于中央处理单元CPU的系统通常将动态存储器用作系统存储器。动态存储器比静态存储器便宜,因为与每静态存储器位通常所需的多个晶体管相对比,动态存储器中每存储器位通常需要仅一个晶体管。然而,使用动态存储器具有取舍。动态存储器存取时间通常比静态存储器存取时间长。存取动态存储器涉及两个离散任务,所述两个任务均需要处理时间。首先,开放对应于待存取的存储器组中的所要存储器位置的存储器页即,行。这也被称为“行选择”,其指代二维行及列存储器布置。其次,存取存储器页内的所要存储器位置。这也被称为“。
15、列选择”。通过使用动态存储器所引起的存储器存取时间增加可在减小的带宽与在给定时间中所执行的指令数目例如,每秒百万指令MIPS两方面影响CPU性能。0003为了减轻在基于处理器的系统中采用动态存储器时的增加的存储器存取时间,存储器控制器可经配置以在存取存储器页之后保持或维持给定存储器组内的存储器页开放。在存储器组中的存取之后保持或维持存储器页开放可在连续存储器存取同一存储器页的情况下改善存储器存取时间性能。不需要处理时间来关闭存储器页且重新开放其供随后存取。然而,由于在存取之后保持或维持存储器组中的存储器页开放,因此存在取舍。举例来说,如果CPU希望从同一存储器组中的不同存储器页存取数据,则与两。
16、个任务相对比,必须执行三个任务。首先,必须关闭存储器组中的当前开放的存储器页。其次,必须开放含有待存取的所要存储器位置的新存储器页。接着,存取存储器页内的所要存储器位置。在可开放新存储器页之前关闭先前存取的存储器页中所引起的额外处理时间导致减小的带宽且减小CPU的MIPS。0004配置存储器控制器以在存取之后保持或维持存储器页开放对于某些存储器应用可为理想的,尤其对于涉及存取连续存储器位置的那些应用,例如,视频、图形及显示存储器应用及其它应用作为实例。在这些情况下,存储器页关闭较不频繁地发生,因为连续存储器存取是针对给定存储器组中的同一存储器页。然而,配置存储器控制器以在存储器存取之后保持或维。
17、持存储器页开放可能对于其它存储器存取应用不理想,例如,具有高速缓冲存储功能的CPU存取。这是由于连续存储器存取将不可能针对给定存储器组中的同一存储器页。因此,归因于在可开放新存储器页之前关闭先前存取的存储器页中所涉及的增加的处理时间,存储器存取时间将增加。发明内容0005实施方式中所揭示的实施例包括存储器存取控制器及相关系统及方法。存储器控说明书CN102356385ACN102356395A2/14页6制器可配置以为给定存储器系统中的多个存储器组中的每一者提供单独的存储器存取配置。为每一存储器组提供的存储器存取配置可为在存储器存取之后保持或维持每一存储器组中的至少一个存储器页开放或关闭。以此。
18、方式,可在个别化基础上为每一存储器组提供存储器存取配置,以基于存储于每一存储器组中的数据的类型而最优化存储器存取时间。举例来说,如果存储器组经配置以存储通常涉及对同一存储器页中的存储器位置的连续存储器存取的数据,则存储器组可经配置以在每一存取之后维持其存储器页开放。由于在连续存取同一存储器页之间将不必重新开放存储器页,因此将实现存储器存取时间节省。然而,如果存储器组通常涉及对不同存储器页中的存储器位置的连续存储器存取,则所述存储器组可经配置以在每一存取之后关闭其存储器页。以此方式,存储器存取时间损失不会因必须首先关闭先前存取的存储器页以执行对同一存储器组中的不同存储器页的存储器存取而引起。00。
19、06在实施方式的实施例中,可将静态或动态配置提供用于每一存储器组。静态配置涉及提供用于存储器组的存储器存取配置,以在每一存取之后保持或维持其存储器页开放或关闭。可在初始化或起动期间将静态配置提供用于存储器组。可在无更改的运行时间期间维持静态配置。存储器控制器可经配置以在运行时间期间允许存储器组的动态配置。动态配置涉及改变特定存储器组的存储器存取配置以进一步最优化存储器存取时间。动态配置可涉及存储器存取配置的暂时越权控制OVERRIDE或永久改变至少直到下一永久配置改变为止。存储器存取配置的暂时越权控制将自动导致配置返回先前静态存储器存取配置。0007可基于对给定存储器页的未来未决存储器存取的审。
20、阅、或对给定存储器组的未来存储器存取是否将可能针对同一存储器页的预测来执行动态存储器存取配置。在此情况下,视审阅或预测而定,可通过动态地改变给定存储器组的存储器存取配置来实现另外的存储器存取时间节省。附图说明0008图1为作为示范性基于处理器的系统的一部分的示范性可配置存储器控制器及相关联存储器的图;0009图2为说明给定存储器组中的示范性存储器页存取的表格图,借此当将维持存储器页开放配置提供用于存储器组时实现存储器存取时间节省;0010图3为说明给定存储器组中的示范性存储器页存取的表格图,借此当将维持存储器页开放配置提供用于存储器组时实现存储器存取时间损失;0011图4为提供于存储器控制器中。
21、以用于确定存储器组中的存储器页是否开放的示范性内部寄存器的图;0012图5为提供于存储器控制器中以存储用于存储器组中的每一者的存储器存取配置的示范性内部寄存器的图;0013图6及图7为说明用于基于针对存储器组的提供于存储器控制器中的存储器存取配置来存取所述存储器组的存储器页中的数据的示范性过程的流程图;0014图8到图10为说明用于存取存储器组的存储器页中的数据的另一示范性过程的流程图,其中可将动态存储器存取配置提供用于存储器组;说明书CN102356385ACN102356395A3/14页70015图11及图12为存储器控制器的示范性存储器请求队列的图;0016图13为说明用于存取存储器组。
22、的存储器页中的数据的另一示范性过程的流程图,其中可将基于预测性的动态存储器存取配置提供用于存储器组;0017图14为提供于存储器控制器中以用于启用或停用动态存储器存取配置的示范性内部寄存器的图;0018图15为提供于存储器控制器中以用于在存储器组的基础上启用或停用动态存储器存取配置的示范性内部寄存器的图;及0019图16为示范性基于处理器的系统的框图,所述系统包括图1的经配置以为提供于系统存储器中的每一存储器组提供存储器存取配置的存储器控制器。具体实施方式0020现参看图式,描述本发明的若干示范性实施例。词“示范性”在本文中用于表示“充当实例、例子或说明”。不必将本文中描述为“示范性”的任何实。
23、施例解释为比其它实施例优选或有利。0021实施方式中所揭示的实施例包括存储器存取控制器及相关系统及方法。存储器控制器可配置以提供用于给定存储器系统中的多个存储器组中的每一者的单独存储器存取配置。为每一存储器组提供的存储器存取配置可为在存储器存取之后保持或维持每一存储器组中的至少一个存储器页开放或关闭。以此方式,可在个别化基础上为每一存储器组提供存储器存取配置,以基于存储于每一存储器组中的数据的类型而最优化存储器存取时间。举例来说,如果存储器组经配置以存储通常涉及对同一存储器页中的存储器位置的连续存储器存取的数据,则存储器组可经配置以在每一存取之后维持其存储器页开放。由于在连续存取同一存储器页之。
24、间将不必重新开放存储器页,因此将实现存储器存取时间节省。然而,如果存储器组通常涉及对不同存储器页中的存储器位置的连续存储器存取,则所述存储器组可经配置以在每一存取之后关闭其存储器页。以此方式,存储器存取时间损失不会由于必须首先关闭先前存取的存储器页以执行对同一存储器组中的不同存储器页的存储器存取而引起。0022图1说明示范性存储器系统10。存储器系统10采用可配置存储器控制器12,其经配置以提供用于存储器系统10中的每一存储器组的单独存储器存取配置。存储器控制器12对去往及来自存储器14的数据流负责。在所说明的实例中,存储器控制器12负责控制去往及来自两个动态存储器芯片14A、14B的数据流。。
25、在此实例中,每一存储器芯片14A、14B为16位双数据速率DDR动态随机存取存储器DRAM芯片,其标记为DDR0及DDR1。关于此,用于驱动两个DDRDRAM存储器芯片14A、14B的存储器控制器12可为DDR存储器控制器。DDR存储器控制器可比单数据速率SDR存储器控制器更复杂,但其允许在不增加时钟速率或总线宽度的情况下将两倍的数据传送到存储器单元。然而,存储器芯片14A、14B可为任何类型的动态存储器。实例包括SDRAM、DDR、DDR2、DDR3、MDDR移动DDR、LPDDR及LPDDR2。存储器控制器12可为与其存储器芯片兼容的任何类型的存储器控制器。此外,如所说明的存储器控制器12。
26、可作为单独装置提供于母板或其它印刷电路板PCB上,或集成于至少一个CPU或半导体裸片上,其可减小存储器等待时间。0023存储器控制器12控制经由存储器总线16去往及来自存储器芯片14A、14B的数据说明书CN102356385ACN102356395A4/14页8流。在此实例中,存储器总线16包括两个芯片选择CS0、CS118、20;分别用于每一存储器芯片14A、14B。芯片选择18、20由存储器控制器12选择性启用以使得能够存取含有所要存储器位置的存储器芯片14A、14B。存储器控制器12一次仅启用存储器芯片14A、14B中的一者,以使得一次仅一个DDRDRAM存储器芯片14A、14B断言数。
27、据总线DATA22上的数据以避免数据冲突。存储器总线16还包括地址/控制总线ADDR/CTRL24,其允许存储器控制器12控制存取于存储器芯片14A、14B中的存储器地址以用于将数据写入到存储器14或从存储器14读取数据。存储器总线16还包括时钟信号CLK26以同步存储器控制器12与存储器芯片14A、14B之间的时序以用于存储器存取。在此实例中,在用于DDRDRAM存储器芯片14A、14B的存储器系统10的时钟信号CLK26的上升及下降存取上传送数据。0024每一DDRDRAM存储器芯片14A、14B含有多个存储器组,其通常被称为元件28。存储器组为存储器的逻辑单元,其大小由系统的CPU确定。。
28、在图1的所说明实例中,DDR存储器芯片14A、14B为16位,所述情况意味着其经设计以用于16位CPU,需要存储器组28一次提供16位的信息。在所说明的实例中,每一DDRDRAM存储器芯片14A、14B含有四个存储器组。图1中仅说明DDRDRAM存储器芯片DDR014A的四个存储器组B0、B1、B2及B328A、28B、28C、28D;然而,DDRDRAM存储器芯片DDR114B也含有类似的存储器组及存储器页。因此对于每一DDRDRAM存储器芯片14A、14B,存储器组及存储器页在本文中通常分别被称为元件28及29。0025将每一存储器组28组织为具有“行”及“列”的网格状图案。存储于DDRD。
29、RAM存储器芯片14A、14B中的数据进入由特定信息的行及列的坐标所界定的块中。每一行被称为存储器页29。为了存取DDRDRAM存储器芯片14A、14B中的存储器14,存储器控制器12断言芯片选择CS0或CS118、20且发出存储器页开放命令,所述存储器页开放命令激活如由ADDR/CTRL总线22上的地址所指示的某一存储器页29。此命令通常花费少许时钟循环。在开放所要存储器页29之后,如“读取”或“写入”的列地址30由存储器控制器12发出以存取所要存储器位置中的数据。当请求对存储器组28中的另一存储器页29的存取时,存储器控制器12必须减活或关闭当前激活的存储器页29,所述情况通常花费少许时钟。
30、循环。因此,对存储器芯片14A、14B中的数据的存储器存取通常涉及开放含有所要存储器位置的存储器页29以用于写入或读取数据,及接着在存储器存取完成之后关闭存储器页29。以此方式,不同的存储器页29随后可由存储器控制器12存取。0026如果对给定存储器组28中的同一存储器页29进行连续存储器存取,则可在存储器页29在第一存储器存取之后保持开放的情况下节省时钟循环。以此方式,对同一存储器页29的随后存储器存取将不需要重新开放存储器页29。总时钟循环节省的量取决于对同一存储器页29的连续存储器存取的数目。以下将关于图5通过实例更详细论述此情况。然而,如果通常对不同存储器页29进行存储器存取,则在存取。
31、之后保持或维持存储器页29开放可导致时钟循环损失。这是由于在可开放随后存储器存取的存储器页29之前,存储器控制器12将首先必须关闭先前维持开放的存储器页29。时钟循环损失的量取决于对不同存储器页29的连续存储器存取的数目。以下将关于图6通过实例更详细论述此情况。0027根据本文中所描述的实施例,存储器控制器12可配置以个别地提供用于存储器组28中的每一者的存储器存取配置。存储器存取配置是存储于存储器控制器12中或对存储器控制器12可存取以指示从特定存储器组28存取的存储器页29在存取之后维持开放说明书CN102356385ACN102356395A5/14页9还是关闭的配置。关于此,可经由不允。
32、许用于每一存储器组28的存储器存取配置的存储器系统10来实现存储器系统10的总存储器存取时间节省。举例来说,图1的存储器系统10中的DDRDRAM存储器芯片14A可经设计以将系统数据存储于其存储器组28中,所述存储器组28通常涉及随机存储器存取,其中连续存储器存取通常不涉及对同一存储器页29中的存储器位置的存取。实例包括CPU系统存储器,其包括高速缓冲存储器存取。在此情况下,提供用于DDRDRAM存储器芯片14A的存储器组28的存储器存取配置以在每一存取之后关闭存储器页29将防止因存储器控制器12必须在可存取给定存储器组28中的新存储器页29之前首先关闭先前存取的存储器页29而导致的存储器存取。
33、损失。另一方面,DDRDRAM存储器芯片14B可经设计以存储应用程序或其它类型的数据,例如,视频、图形或基于显示的数据,其中通常连续存取同一存储器页29。在此情况下,提供用于DDRDRAM存储器芯片14B的存储器组28的存储器存取配置以在每一存取之后维持其存储器页29开放将导致存储器存取时间节省。这是由于对同一存储器页29的连续存储器存取将不需要针对每一存取开放存储器页29。0028应注意虽然先前实例提供用于给定DDRDRAM存储器芯片14A、14B的所有存储器组28的相同存储器存取配置,但可为相同DDRDRAM存储器芯片14A、14B内的每一存储器组28提供不同的存储器存取配置。这通过图2及。
34、图3中所陈述的存储器存取实例进一步说明。0029图2及图3提供存储器存取时间节省的其它实例,其可通过可配置以将存储器存取配置提供到存储器14中的每一存储器组28的存储器控制器12来实现。图2中说明第一存储器存取实例36。如本文中所说明,展示全部针对存储器组B028A的一系列八8个存储器存取请求70。前四个存储器存取请求全部针对存储器页0。后四个存储器存取请求全部针对存储器页1。如果存储器组B0由存储器控制器12配置以在每一存取之后关闭存储器页,则每一存储器存取在此实例中将产生6个时钟循环,以开放且关闭对应于待存取的存储器位置的存储器页29。然而,如果存储器组B0经配置以在每一存取之后保持或维持。
35、其存储器页29开放,则每一存储器存取视是否在连续存储器存取请求之间存取同一存储器页29而定将产生不同的存储器存取时间。举例来说,第一存储器存取将涉及六6个循环开放对应于待存取的存储器位置的存储器页29的三3个循环,及存取开放的存储器页29中的存储器位置的三3个循环。然而,下三个存储器存取请求仅将花费三3个时钟循环,从而导致三3个时钟循环存取节省,因为存储器页0根据存储器存取配置在存储器组B0中保持开放。0030仅在存取不同存储器页29时,将发生存储器存取损失。如图2的第五号存储器存取请求所示,当首先存取存储器页1时,需要九9个时钟循环。这是由于存储器控制器12必须在其可开放存储器页1之前关闭存。
36、储器页0。在此实例中对于总共六6个时钟循环,每一存储器页开放需要三3个时钟循环。对存储器位置的存取引起另外三3个时钟循环,从而达到总共九9个时钟循环。因此,如果提供用于存储器组B0的存储器存取配置以在每一存取之后关闭存储器页29,则与所需的六6个时钟循环相比产生三3个时钟循环损失。然而,由于随后连续存取存储器页0三次,因此针对每一存取实现三3个时钟循环存储器存取节省,因为维持存储器页1开放。因此,在此实例中提供用于存储器组B0的存储器存取配置以在每一存取之后保持其存储器页29开放在存储器存取时间方面更说明书CN102356385ACN102356395A6/14页10为有利,因为对存储器组B0。
37、的存储器存取请求通常导致对同一存储器页29的连续存储器存取。概述图2中的存储器存取实例36,十五15个时钟循环的总存储器存取时间节省通过提供用于存储器组B0以在每一存取之后保持其存储器页29开放与在每一存取之后关闭其存储器页29相对比的存储器存取配置来实现。0031图3说明另一存储器存取实例38,其包括对存储器组28的一系列九9个存储器存取请求72,其中总存储器存取损失因提供存储器存取配置以在每一存取之后保持存储器页29开放而发生。如所说明,存储器组B1经存取九次。连续存储器存取请求通常涉及存取存储器组B1内的不同存储器页29,如所说明。因此,在可执行新存储器存取之前需要存储器控制器12更频繁。
38、地关闭先前开放的存储器页29,因而导致九9个时钟循环及三3个时钟循环存储器存取损失。然而,如果将存储器存取配置提供用于存储器组B1以在每一存取之后关闭存储器页,则对于九个存储器存取请求将需要较少的总时钟循环。尽管在此情况下每一存储器存取请求将引起六6个时钟循环,且因此未实现存储器存取节省,但将也不会带来存储器存取损失。因此在此实例中,提供用于存储器组B1的存储器存取配置以在每一存取之后关闭存储器页在存储器存取时间方面更为有利,因为对存储器组B1的存储器存取请求通常导致对不同存储器页29的连续存储器存取。概述图3中的实例,通过提供用于存储器组B1以在每一存取之后关闭其存储器页29与在每一存取之后。
39、保持其存储器页29开放相对比的存储器存取配置来实现十二12个时钟循环的总存储器存取时间节省。0032一旦经由存储器总线16存取所要存储器位置,则存储器控制器12可将存取的数据提供到系统总线31。在所说明的实例中,系统总线31为不同于存储器总线16的总线。然而,在其它系统中,存储器总线16及系统总线31可为相同总线。存取的数据由存储器控制器12经由系统总线31提供到基于处理器的系统中的另一组件。在图1的所说明实例中,系统总线31包括地址/控制/写入数据ADDR/CTRL/W_DATA总线32,其接收待存取的存储器位置的地址以及待写入到存储器14的任何数据。还提供读取数据总线34R_DATA以载运。
40、从存储器14读取的数据。存储器控制器12将来自存储器14中的读取存储器位置的数据断言到R_DATA总线34上。0033图4及图5说明内部寄存器的实例,其可提供于存储器控制器12中以控制存储器存取且配置存储器存取配置。特定来说,将存储器存取配置提供用于每一存储器组28以控制其中的存储器页29是否在每一存储器存取之后维持开放。如图4中所说明,可提供内部寄存器40,其包括页地址PAGE_ADDR寄存器42及页开放PAGE_OPEN寄存器44。PAGE_ADDR寄存器42含有当前保持于存储器系统10的存储器14中的存储器页29的物理地址。众所周知,PAGE_ADDR寄存器42可用于存储器控制器12中以。
41、避免某些操作系统的地址表的过度使用。PAGE_OPEN寄存器44指示给定存储器组28中的存储器页29是否开放。0034图5说明在存储器控制器12内部的组开放页启用BANK_OPEN_PAGE_EN寄存器46的实例。BANK_OPEN_PAGE_EN寄存器46可配置以控制在对存储器组28的每一存储器存取之后每一存储器组28是否保持其存储器页29开放。以此方式且如上所论述,存储器控制器12可基于对存储器组28的存储器存取的设计及可能的使用及特性而个别地提供用于每一存储器组28的配置。如所说明,在此实例中BANK_OPEN_PAGE_EN寄存器46为8位寄存器。这是由于存在总共八个存储器组28提供于。
42、图1中的存储器系统10的DDRDRAM存说明书CN102356385ACN102356395A7/14页11储器芯片14A、14B中。组B0B3包括于DDRDRAM存储器芯片14A、14B中的每一者中。为第一存储器芯片14A中在位位置七7到4中的存储器组29中的每一者提供存储器存取配置。为第二DDRDRAM存储器芯片14B中在位位置三3到零0中的存储器组29中的每一者提供存储器存取配置。存储于用于给定存储器组28的BANK_OPEN_PAGE_EN寄存器46中的位中的逻辑“1”指示在每一存取之后维持所述存储器组28的存储器页29开放。存储于用于给定存储器组28的BANK_OPEN_PAGE_E。
43、N寄存器46中的位中的逻辑“0”指示在每一存取之后关闭所述存储器组28的存储器页29。0035可通过发出适当命令以设定存储器控制器12中的BANK_OPEN_PAGE_EN寄存器46的位来为DDRDRAM存储器芯片14A、14B提供存储器存取配置。命令经由系统总线31发出到存储器控制器12。这允许CPU未图示或其它处理器或电子设备提供用于DDRDRAM存储器芯片14A、14B的存储器存取配置。这还允许存储器存取配置由存储器系统10的设计者根据需要通过对设定BANK_OPEN_PAGE_EN寄存器46的位的软件进行编程来提供。可在起动或加电时、在运行时间期间或任何其它所要时间设定存储器存取配置。。
44、存储器存取配置可在起动或加电时具有默认设定。默认设定可为在每一存取之后关闭存储器页例如,BANK_OPEN_PAGE_EN寄存器46等于或设定为“00000000”,或在每一存取之后维持存储器页开放例如,BANK_OPEN_PAGE_EN寄存器46等于或设定为“11111111”。存储器存取配置可经配置为静态配置,其意味着存储器存取配置保持永久存储于BANK_OPEN_PAGE_EN寄存器46中。现将论述存储器存取配置的静态控制及使用静态存储器存取配置的存储器存取的实例。0036图6说明使用由BANK_OPEN_PAGE_EN寄存器46提供的存储器存取配置由存储器控制器12对存储器组28中的存。
45、储器页29的示范性存储器存取的流程图。在此实例中,BANK_OPEN_PAGE_EN寄存器46已针对存储器组28中的每一者经配置为在每一存取之后维持开放或关闭其存储器页29。存储器控制器12咨询BANK_OPEN_PAGE_EN寄存器46以确定是否在对存储器页29的存取之后维持开放或关闭给定存储器组28中的存储器页29。处理可用存储器控制器12的微代码来实施。应注意虽然示范性存储器存取过程通过流程图中的依序任务提供,但这些动作通常由存储器控制器12以管线架构执行以在可能时处理多个存储器存取请求。0037在此实例中,过程通过存储器控制器12首先接收对存储器14内的特定存储器地址的存储器存取请求而。
46、开始框50。存储器存取请求可为读取请求或写入请求。存储器控制器12经由系统总线31接收待存取的存储器地址,如先前所描述。如果存储器存取请求为写入数据,则存储器控制器12还经由系统总线31接收待写入到存储器14的经接收存储器地址中的数据。0038存储器控制器12确定哪一存储器组28及存储器组28内的存储器页29对应于存储器存取请求中的经接收存储器地址框52。因此存储器控制器12可启用含有存储器请求的所要存储器位置的用于DDRDRAM存储器芯片14A、14B的正确芯片选择CS。存储器控制器12还使用此信息以激活对应于待存取存储器位置的DDRDRAM存储器芯片14A、14B中的正确存储器页29及列。。
47、存储器控制器12接着确定为含有待存取存储器位置的存储器组28提供的存储器存取配置是否用于使其存储器页29在每一存取之后维持开放或关闭决策54。关于此,存储器控制器12咨询BANK_OPEN_PAGE_EN寄存器46。如果在每一说明书CN102356385ACN102356395A8/14页12存取之后关闭,则这意味着在可存取存储器页29中的存储器位置之前首先开放对应于存储器位置的存储器页29。关于此,如图7中所说明,存储器控制器12开放对应于待存取存储器位置的存储器页29框56。更新PAGE_OPEN及PAGEADDR寄存器44、42以相应地指示当前开放的存储器页29框58。存储器控制器12接。
48、着直接存取从开放的存储器页29所请求的存储器位置框60。存储器控制器12接着关闭经存取存储器位置的当前开放的存储器页29框62。再次更新PAGE_OPEN及PAGEADDR寄存器44、42以指示存储器页29不再开放框64。存储器存取请求过程接着针对此特定存储器存取请求而结束框66。一个或一个以上其它存储器存取请求可继续在存储器控制器12的管线中执行。0039然而,如果存储器控制器12确定为含有待存取的存储器位置的存储器组28提供存储器存取配置以在每一存取之后维持开放经由BANK_OPEN_PAGE_EN寄存器46决策54,则存储器控制器12可能够在不必首先开放含有存储器位置的存储器页29的情况。
49、下直接存取所要的存储器位置。这将带来存储器存取时间节省。关于此,如图6中所说明,存储器控制器12确定对应于待存取的存储器位置的存储器页29是否已开放决策68。关于此咨询PAGE_ADDR及PAGE_OPEN寄存器42、44。如果对应于待存取的存储器位置的存储器页29已开放,则存储器控制器12在此后不关闭存储器页29的情况下直接存取所请求的存储器位置框70,且存储器存取请求结束框72。由于所存取的存储器页29保持开放,因此不更新PAGE_OPEN及PAGEADDR寄存器44、42。0040存储器存取由存储器控制器12在比原本需要的时钟循环少的时钟循环中进行,因为在此情况下在存取存储器位置之前存储。
50、器控制器12不必首先开放含有待存取的存储器位置的存储器页29。因此,在此实例中,对同一存储器页29的连续存储器存取将带来存储器存取时间节省,因为在可存取存储器位置之前存储器控制器12将不必首先开放存储器页29。作为实例,如果开放存储器页29需要存储器控制器12的时钟循环,则可在对同一存储器页29的连续存储器存取之间实现三个时钟循环存取时间节省。先前通过图2及图3中的实例论述且说明可针对由存储器系统10所采用的存储器存取所实现的存储器存取时间节省及损失。0041如果存储器控制器12确定对应于待存取的存储器位置的存储器页29尚未开放决策68,则当前可开放不对应于待存取的存储器位置的另一存储器页29。