专利名称:存储器系统、其访问控制方法和计算机程序的制作方法
技术领域:
本发明涉及存储器系统、用于存储器系统的i方问控制方法和计算机禾呈 序,在存储器系统中,存储器控律幡等等管理对存储器的访问。
背景技术:
一般而言,存储器访问的效率是通过执行所谓的调度(scheduling)来 实现的,该调度用于重布置由单个存储器控制器从主机群组(master group)接收的访问请求以优化存储器访问。
例如,JP-A-11-167546公开了一种用于连接到存储器控制器的总线仲 裁器的仲裁技术。
在该技术中,存储器访问的效率是通过以下方式实现的管理来自牛寺 定主机的访问请求的存储体信息(bank information),并在固定时段内掩 蔽来自其他主机的对正被访问并处于忙状态的存储体的访问请求。
例如,日本专利No. 3092566公开了一种用于将连接到存储器控制器 的存储器的存储体状态发送到存储器控制器外部以增大存储器访问的速度 的技术。
在该技术中,存储体状态被通知给主机,并且对正被访问并处于忙状 态的存储体的访问请求的发出受到控制。
发明内容
然而,在用于通过执行调度来实现存储器访问的效率的技术中,通过 重布置访问请求进行优化的范围局限于在请求队列中接收的请求。 因此,存储器访问被局部优化,而没有在整个系统中得到优化。 在JP-A-11-167546公开的技术中,为了在固定时段内掩蔽来自其他主 机的访问请求,必须澄清从存储器控制器对访问请求的接收直到实际访问为止的周期(cycle)。
当存储器控制器再次执行调度时,仅当获得调度结果时,才发现直到 存储器被实际访问为止的周期。
因此,难以适当地设置用于掩蔽来自其他主^l的访问请求的时段。
当掩蔽时段太长时,来自其他主机的访问一直等待。
难以连续地执行其他主机对同一存储体和同一页面的访问。因此,访 问效率下降。
在日本专利No. 3092566公开的技术中,必需允许各个主机在考虑到 存储器的存储体状态的情况下发出访问请求。因此,基于主机连接到开放 协议总线这样的假设,在主机IP等等中进行校正可能是必需的。
因而,希望提供一种存储器系统、用于该存储器系统的访问控制方法 和计算机程序,其可以实现整个系统的优化,适当地设置用于掩蔽来自其 他主机的访问请求的 时段,并且实现对同一存f诸4本和同一页面的连续i方问 的效率且并不总是需要在连接到特定总线期间进行校正。
根据本发明的第一实施例,提供了一种存储器系统,包括具有多个 存储体的存储器;包括请求队列和存储体监视器并且控制对存储器的访问 的存储器控制器;包括能够请求对存储器的访问的多个主机的主机群组; 以及连接在存储器控制器和主机群组之间的系统总线,在系统总线中布置 有仲裁器。请求队列具有用于接收通过系统总线从主机群组发出的访问请 求并且适当地重布置所接收的访问请求的调度功能,并且向仲裁器提f共队 列信息。存储体监视器监视关于存储器的各个存储体的信息并且向仲裁器 提供该存储体信息。仲裁器基于提供给它的队列信息和存储体信息来对从 主机群组的主机并行发出的请求进行仲裁,并将仲裁信息作为访问控制信 息发送到存储器控制器。
优选地,仲裁器向存储器控制器发送请求以减少补偿周期(penalty cycle) o
优选地,除了请求的数据以外,该请求中还形成有存储体地址、行地 址和列地址和/或请求发出主机ID和优先级信息。
优选地,存储体信息包括关于在存储体中当前打开的页面的信息。优选地,队列信息包括关于被请求队列中置于待命(standby)状态的 请求所访问的存储体和页面的信息、关于该请求是读请求还是写请求的信 息、以及请求发出主机ID和优先级信息。
根据本发明的第二实施例,提供了一种用于存储器系统的访问控制方
法,包括以下步骤执行用于接收通过系统总线从主^L群组发出的对包括
多个存储体的存储器的访问请求并且适当地重布置所接收的访问请求的调
度;向该系统的仲裁器提供通过调度在请求队列中置于待命状态的队列信 息;监视关于存储器的存储体的信息;向仲裁器提供通过监视获得的存储 体信息;在仲裁器中基于提供给仲裁器的队列信息和存储体信息来对从主 机群组的主机并行发出的请求进行仲裁;以及根据通过仲裁获得的信息来 管理对存储器的访问。
根据本发明的第三实施例,提供了一种用于使得计算机执行对存储器 系统的访问控制的计算机程序,包括以下处理用于执行用于接收通过系 统总线从主机群组发出的对包括多个存储体的存储器的访问请求并且适当 地重布置所接收的访问请求的调度的处理;用于向该系统的仲裁器提供通 过调度在请求队列中置于待命状态的队列信息的处理;用于监视关于存储 器的存储体的信息的处理;用于向仲裁器提供通过监丰见获得的存f诸体信息 的处理;用于在仲裁器中基于提供给仲裁器的队列信息和存储体信息来对 从主机群组的主机并行发出的请求进行仲裁的处理;以及用于根据通过仲 裁获得的信息来管理对存储器的访问的处理。
根据本发明的实施例,存储器控制器的请求队列接收通过系统总线从 主机群组发出的对包括多个存储体的存储器的访问请求。
请求队列执行用于适当地重布置所接收的访问请求的调度,并且向系 统总线上的仲裁器提供调度的队列信息。
存储器监视器监视关于存储器的存储体的信息并且向仲裁器提供存储 体信息。
仲裁器基于提供给仲裁器的队列信息和存储体信息来对从主机群组的 主机并行发出的请求进行仲裁,并将仲裁信息作为访问控制信息发送到存 储器控制器。根据本发明的实施例,存在可以优化整个系统并且适当地设置用于掩 蔽来自其他主禾几的访问请求的时段的效果。还存在可以实现对同 一存储体 和同一页面的连续访问的效率并且并不总是需要在连接到特定总线期间进 行校正的效果。
图1是根据本发明实施例的存储器系统的配置示例的视图2是用于说明当连接有DDR2-SDRAM (DDR667 5-5-5)时的读取 时定时周期的视图3是用于说明当读访问连续、存储体地址相同、且行地i止不同时的 读取时定时周期的视图4是用于说明当读访问连续且存储体地址不同时的读取时定时周期 的视图5是用于说明当读访问连续、存储体地址相同、且行地址相同时的 读取时定时周期的视图6是用于说明当连接有DDR2-SDRAM (DDR667 5-5-5)时的单次 写访问的定时访问的视图7是用于说明当写访问连续、存储体地址相同、且行地址不同时的 写入时定时周期的视图8是用于说明当写访问连续且存储体地址不同时的写入时定时周期 的视图9是用于说明当写访问连续、存储体地址相同、且行地址相同时的 写入时定时周期的禾见图10是一般存储器系统中对访问请求的仲裁的概念图11是在根据该实施例的存储器系统中对访问请求的仲裁的概念
图12是图IO所示的存储器系统中的访问示例的视图; 图13是图IO所示的存储器系统中的仲裁处理的流程图14是图11所示的存储器系统中的访问示例的视7图15是图11所示的存储器系统中的仲裁处理的流程图;以及
图16是用于阐明图12和14之间的差别的表,其中示出了存储器所接
收的访问请求的顺序和当请求的存储体地址和页面彼此一致时(当预充电
命令非必要时)发生的补偿周期的示例。
具体实施例方式
下面参考
本发明的实施例。
图1是根据本实施例的存储器系统的配置示例的视图。
如图l所示,存储器系统IO包括存储器11、系统总线12、存储器控 制器13、主机群组14、请求队列15、存储体监视器16和仲裁器17。
存储器11例如是存在于SoC外部的动态存储器(SDR/DDR-SDRAM)。
存储器ll具有多个(在图l所示的示例中是四个)存储体ll-O至ll-3。当执行存储器i方问时,存储体中的一页被打开并访问。
系统总线12执行存储器控制器13和主机群组14之间的数据交换。 仲裁器17被布置在系统总线12中。
存储器控制器13存在于SoC中并且控制对存储器11的访问。 主机群组14存在于SoC中并且包括多个主机14-0、 14-1、 14-2等
等。主机群组14可以通过系统总线12和存储器控制器13请求对存储器ll的访问。
作为主机群组14的元素的主机14-0、 14-1等等向存储器11发出写请 求和读请求。
除了请求数据以外, 一个请求中还形成有存储体地址、行地址、列地
址和其他信息,例如请求发出主机ID和优先级信息。
请求队列15被布置在存储器控制器13中并且接收通过系统总线12从
主机群组14发出的访问请求。
请求队列15具有用于适当地重布置所接收的访问请求的调度功能。 请求队列15向系统总线12上的仲裁器17提供队列信息。 存储体监视器16被布置在存储器控制器13中并且监视关于存储器11的各个存《诸体的信息。
存储体监视器16向系统总线12上的仲裁器17提供存储体信息。
仲裁器17伴随着系统总线12,并且具有仲裁从主机群组14的主机并 行发出的请求并向存储器控制器13发送这些请求的功能。
存储器系统IO基于由请求队列15和存储体监视器16输出的队列信息 和存储体信息来优化存储器访问的吞吐量(后面将说明)。
存储体信息包括关于在存储体11-0至11-3中当前打开的页面的信
阜
'E、 o
队列信息包括关于被请求队列中置于待命状态的请求所访问的存储体 和页面的信息、关于该请求是读请求还是写请求的信息、以及请求发出主 机ID和优先级信息。
存储器系统10被配置为动态存储器系统,该系统根据存储器控制器 13中的存储器状态和调度器状态来确定并改变访问的优先级顺序。
存储器系统10向系统总线12上的仲裁器17通知被存储器控制器13 管理的存储器的存储体状态和存储在请求队列15中的访问请求信息。
存储器系统10具有执行对请求的仲裁以改善存储器访问的吞吐量的 功能。
更具体而言,在存储器系统10中,存储器控制器13向总线上的仲裁 器17通知包括存储器11的存储体的页面打开信息的存储体信息以及请求 队列15中作为请求信息的关于存储体、行、读和写等等的信息。
因此,存储器系统10可以针对整个系统来优化请求队列15中的调度。
除了请求队列15中作为请求信息的关于存储体、行以及读和写的信 息以外,存储器系统IO还向仲裁器17通知请求的请求发出主机ID和优 先级信息。
因此,存储器系统10可以针对整个系统来优化请求队列15中的调度。
下面参考图2至9说明与根据该实施例的存储器系统IO不同的、当存 储体信息等等不被通知给仲裁器17时在读取时和写入吋的定时周期。在说明了这些内容之后,说明根据该实施例的存储器系统10的优点 等等。
图2中示出了在连接有DDR2-SDRAM (DDR667 5-5-5)吋的读取时 定时周期。
作为示例,下面的说明涉及的是在突发长度为4时的读取时定时周期。
SDRAM的地址被划分为三种地址,艮口,存储体地址、行地址和列地址。
当从SDRAM读取数据时,控制线和地址线被驱动以发送活动命令 ACT。
活动命令ACT包括存储体地址和行地址。SDRAM将指定存储体的一 页设置为活动状态。
读命令R在活动命令ACT之后的五个周期(在T6)被发送。读命令 R包括存储体地址和列地址。当读命令和活动命令ACT被组合时, SDRAM的所有地±止者卩被指定。
读数据在读命令R之后的五个周期(在Tll)被返回(0、 1、 2和3 被返回,因为突发长度为4)。
下面说明当读i方问连续时的读取时定时周期。
图3中示出了当存储体地址相同但是行地址不同时的读取时定时周 期。图4中示出了当存储体地址不同时的读取时定时周期。图5中示出了 当存储体地址相同并且行地址也相同时的读取时定时周期。
当存储体地址相同但是行地址不同时,即,当发生一页的误命中 (mishit)时,有必要关闭当前活动页面并激活不同的页面。
因此,如图3所示,根据预充电命令PRE被首先访问的一页被解除激 活。该命令是在前一活动命令ACT之后的十五个周期(在T16)发出的。
在预充电命令PRE之后的五个周期(在T21),活动命令被再次发 出。根据与上述相同的过程,访问在三十二个周期中(在T33处)完成。
当存储体地址不同时,由于对于每个存储体一页可以被激活(由于 SDRAM的特性),因此没有必要对界面角军除激活(与页面误命中的情况不同)。
然而,由于在DDR667中指定的访问参数,如图4所示,在连续的读
数据之间发生了两个周期的空闲。'
因此,访问在十六个周期中(在T17处)完成。
当存储体地址相同并且行地址也相同时,由于要访问的一页已经在第 一读访问中激活,因此没有必要发出活动命令。因此,可以仅利用读命令 R来访问该页面。如图5所示,在读数据之间不发生周期空闲。
因此,访问在十四个周期中(在T15处)完成。
这样,在连续的读访问中,多次访问之间所必需的开销(补偿周期) 按照相同存储体和相同行地址访问、不同存储体地址访问、以及相同存储 体和不同行地址访问的顺序增大。
下面说明写入时的定时周期。
图6中示出了单次写访问的定时。图7中示出了对相同存储体和不同 行地址的连续写访问的定时。图8中示出了对不同存储体地址的连续写访 问的定时。图9中示出了对相同存储体和相同行地址的连续写访问的定 时。
可以看出,以上参考图7至9关于连续读地址的说明也适用于连续写 访问时。
如图2至9所示,在连续请求中,取决于存储体和行(页面)地址是
相同还是不同的,补偿周期发生明显的改变。
为了指示出根据该实施例的存储器系统IO的优点,作为示例,将图
10所示的一般存储器系统中对访问请求的仲裁和图11所示的根据该实施
例的存储器系统中对访问请求的仲裁进行对比。
图IO是一般存储器系统中对访问请求的仲裁的概念图。
图11是根据该实施例的存储器系统中对访问请求的仲裁的^S念图。
图12是图IO所示的存储器系统中的访问示例的视图。
图13是图10所示的存储器系统中的仲裁处理的流程图。
图14是图11所示的存储器系统中的访问示例的视图。
图15是图11所示的存储器系统中的仲裁处理的流程图。在图10中,为了便于理解,与图1和11中所示相同的功能单元用相 同的标号和符号来表示。
假定仲裁器17采用简单轮询系统来按照从主丰几群组14的主机14-0开 始的顺序对ID向上计数。
假定六个请求发出主机中的主机14-0、 14-2禾口 14-4向存储器11的存 储体ll-O发出读访问请求。假定主机14-1、 14-3禾口 14-5向存储体11-1发 出读i方问请求。
作i定对存储体11-0的i方问请求的行地址不t皮lt匕重叠,并且对存储体 11-1的访问请求的所有行i也i止相同。
另夕卜,假定除了一个队列以外的存储器控制器13中的请求队列15被 填充有对存储体11-0的读访问请求(没有行地址的重叠)。假定存储器 11的存储体11-0至11-3从预充电状态开始。
由于仲裁器17采用简单轮询系统,因此在图IO所示的系统配置中, 访问请求按照从主机14-0的访问请求开始的顺序被存储在存储器控制器 13的i青求队列15中(ST1禾口 ST2)。
在这种情况下,对存储体11-0的读访问请求被发出给存储器11 (请 求队列15中的任何一个请求)。
随后,仲裁器17将主丰几14-1的访问请求传递给存储器控制器13。
请求队列15中的请求是对存储体11-0的另一页的读访问和对存储体 11-1的读访问。因此,具有更少补偿周期的对存储体ll-l的访问请求被发 出给存储器ll (ST3)。
仲裁器17将主机14-2的访问请求传递给存储器控制器13。
在这种情况下,请求队列15中的请求仅仅是对存储体11-0的另一页 的读访问。因此,对存储体ll-O的读访问请求被发出给存储器11。
之后,该处理重复。
在图11所示的系统配置中,访问请求按照从主机14-0的访问请求开 始的顺序被存储在存储器控制器13的请求队列15中(ST11)。
在这种情况下,对存储体11-0的读访问请求被发出给存储器11 (请 求队列15中的任何一个请求)。存储体监视器16向仲裁器17通知存储体11-0的页面3处于打开状态(ST12至ST14)。
随后,仲裁器17确认对存储体11-0的同一页的访问请求没有从主机 群组14发出,并将来自主机14-1的访问请求传递给存储器控制器13。
请求队列15中的请求是对存储体11-0的另一页的读访问和对存储体 ll-l的读访问。因此,具有更少补偿周期的对存储体11-1的访问请求被发 出给存《诸器11 (ST15)。
存储器控制器13中的存储体监视器16向仲裁器17通知存储体11-1 的页面O处于打开状态。
在简单轮询系统中,仲裁器17将来自主机14-2的访问请求传递给存 储器控制器13。
在这种情况下,存储体监视器16已经通知了存储体11-1的页面0处 于打开状态。因此,具有更接近于O的补偿周期的对主机14-3或主机14-5 的访问请求被传递给存储器控制器13并被直接发出给存储器11。
图16是用于阐明图12和14之间的差别的表。在图16中,示出了存 储器所接收的访问请求的顺序和当请求的存储体地址和页面彼此一致时 (当预充电命令非必要时)发生的补偿周期的示例。
从图16中可见,在根据该实施例的存储器系统中,与现有系统相比 减少了操作期间的补偿周期。
根据该实施例,在存储器系统10中,存储器控制器13向总线上的仲 裁器17通知包括存储器11的存储体的页面打开信息的存储体信息以及关 于存储体、行、读和写等等的信息(作为请求队列15中的请求信息)。 仲裁器17对从主机群组14的主机并行发出的请求进行仲裁并将这些请求 发送到存储器控制器13。
换句话说.,仲裁器17单个(unitarily)不仅通过在存储器控制器13的 请求队列15中进行调度而执行局部优化,还在考虑到由存储体监视器16 提供的存储体信息和由请求队列15提供的队列信息的情况下执行仲裁。
因此,根据该实施例,可以获得下面说明的效果。
由于系统总线12中的仲裁器17单个在考虑到由存储体监视器16提供 的存储体信息和由请求队列15提供的队列信息的情况下执行仲裁,因此可以在更宽的范围内执行访问请求的优化。由于系统总线12中的仲裁器17向存储器控制器13发送请求以减少补 偿周期,因此可以改善芯片和存储器之间的吞吐量。以上详细说明的方法也可以形成为与该过程相对应的计算禾几禾呈序,并 且可以由诸如CPU之类的计算机执行。这种计算机程序可以存储在诸如半导体存储器、磁盘、光盘或软盘 (floppy,注册商禾示)之类的记录介质中。设置有记录介质的i十算机可以 访问记录介质并手丸《亍计算机程序。本申请包含与2008年6月19日向日本专利局提交的日本在先专利申 请JP 2008-160652中公开的内容相关的主题,该申请的全部内容通过引用 结合于此。本领域技术人员应当理解,取决于设计需求和其他因素,可以发生各 种修改、组合、子组合和变更,只要这些修改、组合、子组合和变更在所 附权利要求或其等同物的范围内。
权利要求
1.一种存储器系统,包括具有多个存储体的存储器;包括请求队列和存储体监视器并且控制对所述存储器的访问的存储器控制器;包括能够请求对所述存储器的访问的多个主机的主机群组;以及连接在所述存储器控制器和所述主机群组之间的系统总线,在所述系统总线中布置有仲裁器,其中所述请求队列具有用于接收通过所述系统总线从所述主机群组发出的访问请求并且适当地重布置所接收的访问请求的调度功能,并且向所述仲裁器提供队列信息,所述存储体监视器监视关于所述存储器的各个存储体的信息并且向所述仲裁器提供存储体信息,并且所述仲裁器基于提供给它的所述队列信息和所述存储体信息来对从所述主机群组的主机并行发出的请求进行仲裁,并将仲裁信息作为访问控制信息发送到所述存储器控制器。
2. 如权利要求1所述的存储器系统,其中所述仲裁器向所述存储器控 制器发送i青求以减少补偿周期。
3. 如权利要求2所述的存储器系统,其中除了所述请求的数据以外, 所述请求中还形成有存储体地址、行地址和列地址禾口/或请求发出主机ID 和优先级{言息。
4. 如权利要求1至3中的任何一个所述的存储器系统,其中所述存储 体信息包括关于所述存储体中当前打开的页面的信息。
5. 如权利要求1至3中的任何一个所述的存储器系统,其中所述队列 信息包括关于所述请求队列中被置于待命状态的请求所访问的存储体和页 面的信息、关于该请求是读请求还是写请求的信息、以及请求发出主机ID 和优先级信息。
6. 如权利要求1至3中的任何一个所述的存储器系统,其中所述存储体信息包括关于所述存储体中当前打开的页面的信息,并且 所述队列信息包括关于所述请求队列中被置于待命状态的请求所访问的存储体和页面的信息、关于该请求是读请求还是写请求的信息、以及请求发出主机ID和优先级信息。
7. —种用于存储器系统的访问控制方法,包括以下步骤 执行用于接收通过系统总线,人主机群组发出的对包括多个存储体的存储器的访问请求并且适当地重布置所接收的访问请求的调度;向该系统的仲裁器提供通过调度而在请求队列中置于待命状态的队列 信息;监视关于所述存储器的存储体的信息; 向所述仲裁器提供通过监视获得的存储体信息;在所述仲裁器中基于提供给所述仲裁器的所述队列信息和所述存储体 信息来对从所述主机群组的主机并行发出的请求进行仲裁;以及 根据通过仲裁获得的信息来管理对所述存储器的访问。
8. —种用于使得计算机执行对存储器系统的访问控制的计算机程序, 包括以下处理用于执行用于接收通过系统总线从主机群组发出的对包括多个存储体的存储器的访问请求并且适当地重布置所接收的访问请求的调度的处理; 用于向该系统的仲裁器提供通过调度而在请求队列中置于待命状态的队列信息的处理;用于监视关于所述存储器的存储体的信息的处理;用于向所述仲裁器提供通过监视获得的存储体信息的处理;用于在所述仲裁器中基于提供给所述仲裁器的所述队列信息和所述存储体信息来对从所述主机群组的主机并行发出的请求进行仲裁的处理;以及用于根据通过仲裁获得的信息来管理对所述存储器的访问的处理。
全文摘要
本发明公开了存储器系统、其访问控制方法和计算机程序。存储器系统包括具有多个存储体的存储器;包括请求队列和存储体监视器并控制对存储器的访问的存储器控制器;包括能请求对存储器的访问的多个主机的主机群组;以及连接在存储器控制器和主机群组之间且布置有仲裁器的系统总线,其中请求队列具有用于接收通过系统总线从主机群组发出的访问请求并且适当地重布置所接收的访问请求的调度功能并且向仲裁器提供队列信息,存储体监视器监视关于存储器的各个存储体的信息并且向仲裁器提供该存储体信息,并且仲裁器基于提供给它的队列信息和存储体信息来对从主机群组的主机并行发出的请求进行仲裁,并将仲裁信息作为访问控制信息发送到存储器控制器。
文档编号G06F12/00GK101609438SQ20091014632
公开日2009年12月23日 申请日期2009年6月19日 优先权日2008年6月19日
发明者片野由人, 田中英夫 申请人:索尼株式会社