存储器控制装置的制造方法_5

文档序号:8449186阅读:来源:国知局
时从存储器105输入data-0008,如上所述,由于在标号1202的定时输出dRead-0008,因此,在标号1204的定时从存储器105输入dRead-0008。
[0342]由于输入的数据(图12的data-0008)是末尾数据(S400为YES),另外,包含后续的有效载荷数据(S401为YES),因此,输入的数据存储至内部缓冲器A109。
[0343]另外,能够通过输入的数据(图12的data-0008)和前次值保存部104的数据(图12的data-0004)进行数据的排列(S305为YES),因此,数据排列部103对数据进行排列,ECC订正部102进行ECC订正,并将ECC订正后的要求有效载荷数据(图12的data-0004)输出至请求要求源101 (S205、S206)。
[0344]另外,0008h地址(图2)的数据(图12的data-0004)保存至前次值保存部104。
[0345]在图12的例子中,如果不利用命令发出间隔控制部114对dRead-0008的输出定时进行调整,而在标号1201的定时输出dRead-0008,则在标号1203的定时从存储器105输A data-0008ο
[0346]在该情况下,data-0008在标号1206的定时输入至前次值保存部104,如标号1205所示,会与内部缓冲器A109内的data-0004输入至前次值保存部104的定时发生冲突。
[0347]因此,data-0008和data-0004中的某一方会消失。
[0348]与其相对,在本实施方式中,命令发出间隔控制部114在标号1202的定时输出dRead-0008,因此,在标号1204的定时从存储器105输入data-0008。
[0349]并且,在标号1204的定时进行输入的情况下,data-0008输入至前次值保存部104的定时是标号1207的定时,不会发生数据的冲突。
[0350]下面,使用图8、图9、以及图13,对在内部缓冲器A109基础上还存在内部缓冲器B1090的存储器控制装置100的动作例进行说明。
[0351]在这里,假设出下述的例子,说明存储器控制装置100的动作,即,作为第I读取请求,从请求要求源101受理从OOOOh地址(图1)读取4字节的读取请求,作为第2读取请求,在与第I读取请求相对应而将要求有效载荷数据返送之前,从请求要求源101受理从0014h地址(图1)读取4字节的读取请求。
[0352]此外,如图13的“内部缓冲器B的地址”以及“内部缓冲器B”所示,假设通过在先的针对OOlOh地址(图1)的读取请求而在内部缓冲器B1090中存储有0018h地址(图2)的数据(图13的data-0018)。
[0353]此外,在图13中,为了表示data-0018持续保存在内部缓冲器B1090中,通过双重线表现 data-0018。
[0354]首先,存储器地址变换部106从请求要求源101受理从OOOOh地址(图1)读取4字节的读取请求(图13的sRead-0000) (S201)。
[0355]然后,命中判定部113判定受理的读取请求是否命中于内部缓冲器A109或者内部缓冲器B1090所存储的数据(S301)。
[0356]此外,在该时刻,由于在内部缓冲器A109中没有存储数据,另外,内部缓冲器B1090的数据与读取请求所要求的地址不一致,因此,S301的判定结果是No。
[0357]然后,存储器地址变换部106生成指示从OOOOh地址(图2)和0004h地址(图2)进行读取的读取命令(图13的dRead-ΟΟΟΟ和dRead-0004),并将生成的读取命令输出至存储器 105(S202) ο
[0358]然后,内部缓冲器管理部107确认在末尾数据中是否包含后续的有效载荷数据(S505),在该情况下,由于在来自0004h地址(图2)的读取数据中包含后续的有效载荷数据,因此内部缓冲器管理部107将内部缓冲器信息储存部112的“内部缓冲器A的地址”、“距离信息A”的值更新(S507)。
[0359]其结果,如图13的“内部缓冲器A的地址”栏所示,在“内部缓冲器A的地址”中记述“OOOOh地址”,在“距离信息A”中记述“4”。
[0360]另外,存储器地址变换部106将读取数据(图13的dRead-ΟΟΟΟ和dRead-0004)、以及存储器数据输入命令存储至FIFO缓冲器110(S501)。
[0361]在这里,假设存储器地址变换部106从请求要求源101受理了从0014h地址(图1)读取4字节的读取请求(图13的sRead-0014) (S201)。
[0362]如上所述,在内部缓冲器B1090中,缓存有与0014h地址(图1)相对应的0018h地址(图2)的数据和OOlCh地址(图2)的数据中的OOlSh地址(图2)的数据(图13的data-0018),因此,S301 的判定是 YES。
[0363]因此,存储器地址变换部106生成指示从OOlCh地址(图2)进行读取的读取命令(图 13 的 dRead-001C) (S302)。
[0364]然后,命令发出间隔控制部114空出与用于利用内部缓冲器B1090的数据的时间(用于避免数据的冲突的时间)相对应的间隔而将读取命令(图13的dRead-OOlC)输出至存储器105。
[0365]相对于来自请求要求源101的读取请求(图13的sRead-0014)的输入定时,将读取命令(图13的dRead-001C)在图13的标号1301的定时输出至存储器105。
[0366]但是,在本实施方式中,相对于能够输出读取命令的定时,命令发出间隔控制部114使读取命令的输出定时延迟I个间隙的量,并在标号1302的定时将读取命令(图13的dRead-001C)输出至存储器105。
[0367]然后,内部缓冲器管理部107确认在末尾数据中是否包含后续的有效载荷数据(S505),在该情况下,在来自OOlCh地址(图2)的读取数据中包含后续的有效载荷数据,因此,内部缓冲器管理部107将内部缓冲器信息储存部112的“内部缓冲器B的地址”、“距离信息B”的值更新(S507) ο
[0368]其结果,如图13的“内部缓冲器B的地址”栏所示,在“内部缓冲器B的地址”中记述“0014h地址”,在“距离信息B”中记述“4”。
[0369]另外,存储器地址变换部106将读取数据(图13的dRead-OOlC)、读取请求(图13的sRead-0014)、存储器数据输入命令、以及内部缓冲器数据输入命令存储至FIFO缓冲器 110(S501) ο
[0370]此外,在本例中,在内部缓冲器数据输入命令中,指示的是将内部缓冲器B1090的数据输入。
[0371]另一方,在利用内部缓冲器A109的数据的情况下,在内部缓冲器数据输入命令中,指示的是将内部缓冲器A109的数据输入。
[0372]与上述的动作并行地,数据排列部103从FIFO缓冲器110中取出最前端的读取命令(图13的dRead-ΟΟΟΟ和dRead-0004)和存储器数据输入命令(S502、S503)。
[0373]在该情况下,没有利用内部缓冲器A109,因此,S504是NO,如图13所示,数据选择部108从存储器105输入OOOOh地址(图2)的数据(图13的data-0000) (S203)。
[0374]并且,输入的数据(图13的data-0000)不是末尾数据(S400为NO),因此,没有存储至内部缓冲器A109。
[0375]另外,仅通过输入的数据(图13的data-0000)无法进行数据的排列(S305为NO),因此,等待来自存储器105的下一个数据的输入。
[0376]另外,此时,OOOOh地址(图2)的数据(图13的data-0000)保存至前次值保存部
104。
[0377]然后,数据选择部108从存储器105输入0004h地址(图2)的数据(图13的data-0004)(S203)。
[0378]由于输入的数据(图13的data-0004)是末尾数据(S400为YES),另外,包含后续的有效载荷数据(S401为YES),因此,输入的数据存储至内部缓冲器A109。
[0379]另外,能够通过输入的数据(图13的data-0004)和前次值保存部104的数据(图13的data-0000)进行数据的排列(S305为YES),因此,数据排列部103对数据进行排列,ECC订正部102进行ECC订正,并将ECC订正后的要求有效载荷数据(图13的data-0000)输出至请求要求源101 (S205、S206)。
[0380]另外,0004h地址(图2)的数据(图13的data-0004)保存至前次值保存部104。
[0381]另外,数据排列部103从FIFO缓冲器110中取出下一个读取数据(图13的dRead-001C)、内部缓冲器数据输入命令、以及存储器数据输入命令(S502、S503)。
[0382]在该情况下,由于利用内部缓冲器B1090,因此,S504为YES,内部缓冲器B1090内的数据(图13的data-0018)输出至数据排列部103(S303)。
[0383]对于来自内部缓冲器B1090的数据(图13的data-0018)和前次值保存部104的数据(图13的data-0004),无法进行数据的排列(S305为NO),因此,等待来自存储器105的下一个数据的输入。
[0384]另外,此时,来自内部缓冲器A109的数据(图13的data-0018)保存至前次值保存部104。
[0385]然后,数据选择部108从存储器105输入OOlCh地址(图2)的数据(图13的data-001C)(S203)。
[0386]此外,如果在标号1301的定时从命令发出间隔控制部114向存储器105输出dRead-001C,则在标号1303的定时从存储器105输入data_001C,但如上所述,由于在标号1302的定时输出有dRead-001C,因此,在标号1304的定时从存储器105输入data_001C。
[0387]由于输入的数据(图13的data-001C)是末尾数据(S400为YES),另外,包含后续的有效载荷数据(S401为YES),因此,输入的数据存储至内部缓冲器B1090。
[0388]另外,能够通过输入的数据(图13的data-001C)和前次值保存部104的数据(图13的data-0018)进行数据的排列(S305为YES),因此,数据排列部103对数据进行排列,ECC订正部102进行ECC订正,并将ECC订正后的要求有效载荷数据(图13的data_0014)输出至请求要求源101 (S205、S206)。
[0389]另外,OOlCh地址(图2)的数据(图13的data_001C)保存至前次值保存部104。
[0390]此外,在上述的内容中,将I个地址的量的数据(4字节的数据)存储至内部缓冲器A109以及内部缓冲器B1090,但也可以将大于或等于2个地址的量的数据存储至内部缓冲器A109以及内部缓冲器B1090。
[0391]另外,在将来自请求要求源101的读取请求中作为对象的图1形式的地址变换成图2的形式的地址后,大于或等于3个的地址成为读出候补地址、并且大于或等于3个的读出候补地址中的前2个地址的数据已缓存在内部缓冲器A109或者内部缓冲器B1090的情况下,存储器地址变换部106生成指示对除了该2个地址以外的地址处的数据即第3个地址及其以后的地址处的数据进行读取的读取命令(部分读取命令)。
[0392]另外,在上述的内容中,命令发出间隔控制部114使由存储器地址变换部106生成的部分读取命令的输出定时延迟I个间隙的量而将该部分读取命令输出至存储器105。
[0393]对此,也可以通过存储器地址变换部106相对于通常的生成定时延迟I个间隙的量而生成部分读取命令,从而避免来自存储器105的读取数据和来自内部缓冲器A109的数据之间发生冲突。
[0394]另外,本实施方式的存储器控制装置100与实施方式I相同,也能够应对每次整数倍于4字节的读取请求。
[0395]另外,在使用大于或等于3个内部缓冲器的情况下,也能够按照本实施方式所说明的步骤进行处理。
[0396]上面,在本实施方式中,说明了用于支持流水线型存储器的存储器控制装置,该存储器控制装置具有下述单元:
[0397](a)存储已对存储器发出的请求的单元
[0398](b)对命令发出间隔进行控制并使下一个向存储器发出的命令的发出延迟的单
J L.ο
[0399]实施方式3
[0400]在实施方式2中,在利用内部缓冲器A109的数据的情况下,无条件地空出针对存储器105的读取命令的发出间隔,但是,在受理来自请求要求源101的读取请求的时刻已经空出大于或等于利用内部缓冲器A109的时间的情况下,即,在不会引起数据冲突的情况下,无需空出读取命令的发出间隔。
[0401]在本实施方式中,说明通过进行下述控制从而有效地发出读取命令的方式,所述控制为检测尚未空出用于利用内部缓冲器A109的时间这一情况,并仅在该情况下空出命令发出间隔。
[0402]图10表示本实施方式所涉及的存储器控制装置100的结构例。
[0403]与图7相比,在图10中追加有发出间隔判定部115。
[0404]发出间隔判定部115判定要向存储器105发出的部分读取命令和在该部分读取命令之前刚发出的读取命令(全区域读取命令、部分读取命令中的某一个)之间的发出间隔在当前是否已空出大于或等于一定量的时间。
[0405]具体地说,发出间隔判定部115判断从最后输出读取命令(全区域读取命令、部分读取命令中的某一个)开始的经过时间是否超过实施方式2中所说明的发出间隔(延迟时间
[0406]命令发出间隔控制部114在从最后输出读取命令开始的经过时间超过实施方式2中所说明的发出间隔(延迟时间)的情况下,不空出间隔就将部分读取命令输出至存储器
105。
[0407]此外,发出间隔判定部115将最后输出读取命令的时刻作为最近一次读取的发出时刻进行保存,判定该最近一次读取的发出时刻与当前时刻的差是否超过实施方式2中所说明的发出间隔(延迟时间)。
[0408]在本实施方式中,发出间隔判定部115也相当于命令输出部的例子。
[0409]下面,参照图11以及图14,说明本实施方式所涉及的存储器控制装置100的动作。
[0410]此外
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1