用于多存储体存储器调度的方法

文档序号:6763457阅读:148来源:国知局
专利名称:用于多存储体存储器调度的方法
技术领域
本发明涉及一种调度和控制对多存储体(multibank)存储器进行访问的方法,并且涉及一种使用这种方法从记录介质读取和/或写入记录介质的装置。
背景技术
在下文中参考同步动态随机存储器(SDRAM)来解释本发明。但是,本发明可适用于任何一种动态随机存储器,例如,双数据速率RAM(DDR-RAM)、增强性同步DRAM(ESDRAM)、同步链接DRAM(SLDRAM)、Rambus DRAM(RDRAM)等。而且,本发明还适用于单通道静态随机存储器(单通道SRAM)。
典型的SDRAM模块包括四个独立的存储体。每个存储体由行组成,而行又是由列组成。为了对数据进行访问,通过命令“激活”打开相应存储体上的相应行以进行读写。在需要2至4个周期的激活之后,通过将“读”或“写”命令与列地址一起发送来开始数据传送。在传送之后,对存储体进行又需要2至4个周期的预充电,从而减活所打开的行并且为下一个“激活”命令准备存储体。命令“预充电”关闭所打开的行。
典型地,突发传送用于通过仅一个“读”或“写”命令来读或写多个数据。访问开始于一个选定位置(列)并且持续所编程的数目的位置。在开始新的突发之后,命令总线就闲置了,并且可以用于激活其它存储体或对其它存储体进行预充电。
通常,SDRAM用于同时存储CPU指令和数据。通过超高速缓冲存储器来访问SDRAM。以下列方法来实现线性访问第一存储体第一行、第二存储体第一行、第三存储体第一行、第四存储体第一行、第一存储体第二行等等。假设一个线性访问,这就允许在CPU/超高速缓冲存储器实际想要访问下一个存储体上的行之前,通过激活该行来隐藏等待时间。
在一种用于从记录介质读取和/或写入记录介质的装置中,例如,诸如数字化视频光盘(DVD)等的光记录介质,单SDRAM模块有利于为片上CPU存储指令和数据,并且有利于缓冲记录介质的驱动与主机之间的实时数据流。在这种情况下,为了满足CPU等待时间的限制,缓冲输入和输出流的突发长度需要减少到只有几个拍。但是,甚至使用四拍突发也不能实现计时和吞吐量限制,因为由四个接口,即,CPU-指令、CPU-数据、输入流、和输出流,所引发的费用与随机访问一样。尤其是,对缓冲器的读和写访问是以随机顺序进行的。因此,由于下一行是未知的,所以不可能预先激活缓冲存储体。
为了解决这个问题,并且消除由于“激活”和“预充电”命令所引起的等待时间,可以用静态RAM(SRAM)来替换SDRAM模块。选择性地,可以增加模块的数目来减少单模块的工作负荷,或者可以扩展模块与专用集成电路(ASIC)之间的数据总线的宽度来增加带宽。但是,这些方案需要附加布线,所以通常受到IC设计的限制。因此,这个方案通常是不可行的。另一个方案在于分离缓冲器输入和输出,这可以通过大型片上SRAM缓冲两个或两个以上完整行来执行。但是,在这种情况下,需要非常复杂的逻辑电路来控制数据流。

发明内容
所有以上方案的都花费过大。本发明的一个目的就是提供一种用于DRAM调度和控制的选择性的方案。
根据本发明,一种用于控制对具有至少两个存储体的多存储体存储器进行访问的方法包括以下步骤将输入流写入第一存储体;当接收到对第一存储体的读命令时,将所述输入流的写操作切换到第二存储体;以及当接收到对第二存储体的读命令时,将所述输入流的写操作切换回第一存储体。
这种方法为存储器调度和控制提供了一种经济而又较不复杂的方案。数据缓冲器覆盖了至少两个被线性访问的存储体。用输入流填满第一存储体,直到从缓冲控制接收到对这个存储体的读命令为止。在这种情况下,将输入流切换到第二存储体。如果输出流需要访问第二存储体,输入流则返回第一存储体。直到输出流想要读相同的存储体,输入流才离开它的存储体。
这样,每个接口都在它自己的存储体上工作。在依然执行当前的访问的同时,计划和准备下一次访问。因此,在当前突发结束之后,可以立刻打开下一次访问的行和发出随后的突发。由所有接口的存储体激活或预充电所引起的所有等待时间被完全隐藏在突发传送之后,并且整个带宽可用于数据传送。将所有剩余的等待时间最小化到调度程序队列中的突发的长度之和,也就是说,在其之后可以开始突发的延迟仅依赖于调度程序队列中的突发的长度。如果DRAM空闲,则突发可以立刻开始而不用激活行,因为对缓冲器的任何后续访问对相同的行来说呈线性。该方法对用于访问(读和写)光驱动器的ATAPI命令组和读在前功能是完全兼容的。
最好地,所述方法进一步包括以下步骤从第一存储体读取输出流;当到达先前在第一存储体中所写入的输入流的末端时,将输出流的读操作切换到第二存储体;以及当到达先前在第二存储体中所写入的输入流的末端时,将所述输出流的读操作切换回第一存储体。
按照对第一存储体的读命令,输出流开始对第一存储体进行读取。当它到达先前在这个存储体中所写入的输入流的末端时,在这个存储体中就没有其它数据可用了,因为当接收到读命令时,输入流的写操作已经切换到第二存储体。因此,输出流也需要切换到第二存储体,以便访问其它的数据。这当然就意味着输入流的写操作又切换回第一存储体。当输出流到达先前在第二存储体中所写入的输入流的末端时,它又切换回第一存储体等等。
有利地,所述方法进一步包括以下步骤当将输入流的写操作从第一存储体切换到第二存储体时,用第一指针来标记第一存储体中的输入流的最后位置;以及当将输入流的写操作从第二存储体切换到第一存储体时,用第二指针来标记第二存储体中的输入流的最后位置。
为了在输入和输出功能之间可靠地切换每个存储体,需要复杂的指针控制。通过分别标记第一或第二存储体中输入流的最后位置,明显地简化了对输出流的切换处理的控制。
在有利的改进中,所述方法进一步包括以下步骤用另一个指针来标记存储体中的完整输出块的大小;以及仅当已经将至少一个完整输出块写入存储体时,使能对存储体的读访问。
用输入流填满第一存储体,直到到达先前设置的指针(块指针)为止。然后将信号发送给缓冲控制器,表示在存储体中有一个完整的块可以使用。只有现在才允许输出流对这个存储体进行读取。如果刚一从这个存储体读取就到达了块指针,则输出停止直到请求下一个块为止。同时,为第二存储体设置另一个块指针,其中已经将输入流的写操作切换到第二存储体。提供块指针和监视是否已经到达块指针确保了只有当一个完整输出块是可用时才可以对存储体进行读访问,其中所述完整输出块是可以处理的数据流的最小单元。
最好地,多存储体存储器是动态随机存储器,即SDRAM。这样,根据本发明的方法可以充分利用存储器的流线型技术结构。
有利地,所述方法进一步包括以下步骤保持存储体的激活行打开,直到发出刷新周期为止,或直到通过突发到达所述行的末端为止。这就可以为每个单址(single access)节约大约十个周期的等待时间。
最好地,存储体是单通道静态随机存储器模块。这样,将输入数据写入第一模块,直到接收到对这个模块的读请求为止。然后将输入数据写入第二模块,同时从第一模块读取数据。从而可以同时执行读操作和写操作。另一个优势在于,更昂贵和更复杂的特定大小的双通道SRAM模块可以用两个其一半大小的单通道SRAM模块来代替,即,两个具有512字节的单通道SRAM模块可以替换一个具有1024字节的双通道SRAM模块。
有利地,为数据缓冲提供两个以上的存储体。这就允许缓冲大量的数据。但是,通过这个措施并没有进一步加强总性能。
根据本发明的另一个方面,所述方法进一步包括以下步骤将输入流和输出流从CPU-指令和CPU-数据中物理分离出来;以及将CPU-指令和CPU-数据存储在除了第一存储体和第二存储体之外的其它存储体的至少一个中。
如果物理分离了CPU-指令和CPU-数据,这相当于所谓的哈佛结构(Harvard architecture),可以将它们分别存储在典型的SDRAM的四个存储体的剩余两个存储体上。指令存储体和数据存储体上的行还保持激活状态,从而可以利用空间和时间的定位。
有利地,一种用于控制对具有至少两个存储体的多存储体存储器进行访问的设备执行根据本发明的方法。
最好地,一种从记录介质(例如光记录介质)读取和/或写入记录介质的装置使用根据本发明的方法,或包括如本发明所述的用于控制对具有至少两个存储体进行访问的设备。


为了更好地理解本发明,在以下参照附图的描述中说明示例性实施例。需要理解的是,本发明并不局限于这个示例性实施例,并且在不背离本发明的范围的情况下可以对所描述的特征进行适宜的组合和/或修改。在附图中图1示出了在一序列的状态中使用根据本发明的方法对两个SDRAM存储体的访问;图2示出了在SDRAM存储体上的数据传送期间的等待时间;以及图3示出了使用根据本发明的方法的用于从记录介质读取的装置。
具体实施例方式
在图1中示出了使用根据本发明的方法的对SDRAM的两个存储体1、2的访问。为了简单起见,将访问划分为存储体的一序列的状态,这些状态在图1的部分a)至j)中示出。为了更加清楚,在图中只将一个单个完整输出块写入一个存储体1、2。当然,可以依次将多个输出块写入存储体。当开始访问时,存储体1、2都是空的,这对应于图1a)。如部分b)所示,在左存储体1中,设置指针5来标记输出块的大小。现在将来自驱动器的输入流6存储在左存储体1中,这在部分c)中示出。一旦到达指针5就可以读取缓冲器。继续对左存储体1的写操作,直到出现读访问为止。这在部分d)中示出。这样,第一存储体1被多个输出块填满。在对左存储体1的进行了第一读访问之后,将输入流6切换到右存储体2,并且用另一个指针7来标记它在左存储体1上的最后位置,这在部分e)中示出。如部分f)和g)所示,同时激活输入流6和输出流8,直到已经从左存储体1中读取完整输出块大小位置。在右存储体2中,设置一个新的指针9来标记输出块的大小,这在部分h)中示出。当到达这个指针9时,读取左存储体1直到到达跳跃点(jump point)7为止。这在部分i)中示出。然后读取右存储体2,强迫输入流切换回空的左存储体1。部分j)中所示的这种情况和部分f)中所示的情况相同,所以左存储体1和右存储体2交换。一旦进行切换,用另一个指针10来标记右存储体2上的输入流的最后位置。这个访问方案可以扩展到两个以上的存储体。这样,一旦在存储体之间进行切换,就可以在至少两个存储体中进行选择来对输入流进行写操作。例如,可以根据每个存储体的总工作负载来进行这个选择。
图2中示出了在SDRAM存储体1、2上的数据传送期间的等待时间。将数据传送划分为出现在命令总线3上的数据传送和出现在数据总线4上的数据传送。
图2a)描述了仅对一个SDRAM存储体所进行典型的随机读/写访问。首先激活来自那个存储体的行。然后发出对那个行的写命令,并且开始数据传送。在那之后,给出预充电命令以关闭行并且对下一行访问进行预充电。然后激活相同存储体上的另一行,发出对那个行的读命令,并且在由“读”命令所导致的延迟之后开始数据传送。
在图2b)中示出了覆盖一个以上的存储体的SDRAM访问。首先激活来自第一存储体的行。然后发出对来自第一存储体的那个行的写命令,并且开始数据传送。同时,激活来自第二存储体的行。然后给出对来自第二存储体的那个行的读命令,并且在由于“读”命令所导致的延迟之后开始数据传送。需要注意的是,这个例子中的写命令将导致来自第二存储体的数据传送直接连接到第一存储体的数据传送。
图2c)示出了对在相同存储体上的已经打开的行的单突发。在这种情况下,每次都处理写命令而不在那个行上延迟。
图3中示出了使用根据本发明的方法的从记录介质20(例如,光记录介质)读取的装置。从记录介质20中读取数据,并且通过诸如用于纠错的预处理块21来预处理数据。通过第一接口23将预处理数据作为输入流传送给集成电路22,该集成电路在其它功能当中控制装置内的数据传送。集成电路22通过第二接口24与诸如ATA总线等的数据总线28连接。通过使用这个数据总线28,输出所请求的数据以进行进一步的处理。微控制器29通过第三接口25与集成电路22连接,例如以便控制集成电路22的设置或请求特定数据。集成电路包括具有多个SDRAM存储体1、2的内部缓冲器26,用以缓冲所有输入数据。通过调度程序27来控制数据通信业务,所述调度程序执行参照图1所述的方法,用以处理缓冲器访问。在附图中,将输入流和输出流从来自微控制器29的指令和微控制器数据中物理分离出来。
权利要求
1.一种控制对具有至少两个存储体(1、2)的多存储体存储器进行访问的方法,所述方法包括步骤将输入流(6)写入第一存储体(1);当接收到对所述第一存储体(1)的读命令时,将所述输入流(6)的写操作切换到第二存储体(2);和当接收到对所述第二存储体(2)的读命令时,将所述输入流(6)的写操作切换回所述第一存储体(1)。
2.如权利要求1所述的方法,进一步包括步骤从所述第一存储体(1)读取输出流(8);当到达先前在所述第一存储体(1)中所写入的输入流(6)的末端时,将所述输出流(8)的读操作切换到所述第二存储体(2);和当到达先前在所述第二存储体(2)中所写入的输入流(6)的末端时,将所述输出流(8)的读操作切换回所述第一存储体(1)。
3.根据如权利要求1或2所述的方法,进一步包括步骤当将所述输入流(6)的写操作从所述第一存储体(1)切换到所述第二存储体(2)时,用第一指针(7)来标记所述第一存储体(1)中的所述输入流(6)的最后位置;和当将所述输入流(6)的写操作从所述第二存储体(2)切换到所述第一存储体(1)时,用第二指针(10)来标记所述第二存储体(2)中的所述输入流(6)的最后位置。
4.如权利要求1至3中的任一权利要求所述的方法,进一步包括步骤用另一个指针(5、9)来标记存储体(1、2)中的完整输出块的大小;和仅当已经将至少一个完整输出块写入所述存储体(1、2)时,使能对存储体(1、2)的读访问。
5.如权利要求1至4中的任一权利要求所述的方法,其特征在于所述多存储体存储器是动态随机存储器。
6.如权利要求1至5中的任一权利要求所述的方法,进一步包括步骤保持存储体(1、2)的激活行打开,直到发出刷新周期为止,或直到通过读突发到达所述行的末端为止。
7.如权利要求1至4中的任一权利要求所述的方法,其特征在于所述存储体(1、2)是单通道静态随机存储器模块。
8.如权利要求1至7中的任一权利要求所述的方法,进一步包括步骤为数据缓冲提供两个以上的存储体。
9.如权利要求8所述的方法,进一步包括步骤将输入流(6)和输出流(8)从CPU-指令和CPU-数据中物理分离出来;和将所述CPU-指令和所述CPU-数据存储在除了所述第一存储体(1)和所述第二存储体(2)之外的剩余存储体的至少一个中。
10.一种用于控制对具有至少两个存储体(1、2)的多存储体存储器进行访问的设备,其特征在于所述设备执行如权利要求1至9中的任一权利要求所述的方法。
11.一种从记录介质读取和/或写入记录介质的装置,其特征在于所述装置使用如权利要求1至9中的任一权利要求所述的方法,或包括如权利要求10所述的用于控制对具有至少两个存储体(1、2)的多存储体存储器进行访问的设备。
全文摘要
本发明涉及一种用于调度和控制对具有至少两个存储体(1、2)的多存储体存储器进行访问的方法,并且涉及一种使用所述方法从记录介质读取和/或写入记录介质的装置。根据本发明,所述方法包括步骤将输入流(6)写入第一存储体(1);当接收到对第一存储体(1)的读命令时,将输入流(6)的写操作切换到第二存储体(2),以及当接收到对第二存储体(2)的读命令时,将输入流(6)的歇操作的切换回第一存储体(1)。
文档编号G11C11/407GK1591670SQ200410057580
公开日2005年3月9日 申请日期2004年8月20日 优先权日2003年9月2日
发明者蒂姆·尼格迈耶, 托马斯·布龙 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1