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

文档序号:8449186阅读:来源:国知局

[0264]下面,参照图8以及图9对本实施方式所涉及的存储器控制装置100的动作例进行说明。
[0265]S201、S301、S202与实施方式I所说明的相同,因此,省略说明。
[0266]在本实施方式中,在S302中,存储器地址变换部106生成指示对没有保存至内部缓冲器A109的数据进行读取的读取命令(部分读取命令),在S506中,命令发出间隔控制部114空出与用于利用内部缓冲器A109的数据的时间(用于避免数据冲突的时间)相对应的间隔而将读取命令(部分读取命令)输出至存储器105。
[0267]命令发出间隔控制部114在从存储器地址变换部106生成读取命令之后将读取命令输出的通常的定时开始经过规定的延迟时间之后,将读取命令输出至存储器105。
[0268]然后,内部缓冲器管理部107判断在末尾数据中是否包含后续的有效载荷数据(S505)。
[0269]g卩,内部缓冲器管理部107判断在与S202或者S302中生成的读取命令相对应而从存储器105读出的数据中的末尾数据中是否包含后续的有效载荷数据。
[0270]该处理是与图4的S401相同的处理。
[0271]内部缓冲器管理部107与实施方式I相同地,从存储器地址变换部106输入有来自请求要求源101的读取请求以及针对存储器105的读取命令,另外,由于掌握了图1的数据配置以及图2的数据配置,因此,如S505所示,能够判断在末尾数据中是否包含后续的有效载荷数据。
[0272]在末尾数据中包含后续的有效载荷数据的情况下(S505为YES),内部缓冲器管理部107将内部缓冲器信息储存部112的“内部缓冲器A的地址”的值和“距离信息A”的值更新(S507) ο
[0273]但是,在该时刻,内部缓冲器A109的数据没有更新。
[0274]在本实施方式中,为了进行支持流水线型存储器的动作,在从存储器105输入读取数据之前,将内部缓冲器信息储存部112的“内部缓冲器A的地址”以及“距离信息A”的值更新。
[0275]然后,存储器地址变换部106将命令存储至FIFO缓冲器110(S501)。
[0276]具体地说,存储器地址变换部106在S202中生成了全区域读取命令的情况下,生成向数据排列部103做出指示以输入来自存储器105的数据的存储器数据输入命令。
[0277]然后,存储器地址变换部106将全区域读取命令、读取请求、以及存储器数据输入命令存储至FIFO缓冲器110。
[0278]另外,存储器地址变换部106在S302中生成了部分读取命令的情况下,生成向数据排列部103做出指示以输入内部缓冲器A109所保存的数据的内部缓冲器数据输入命令和存储器数据输入命令。
[0279]然后,存储器地址变换部106将部分读取命令、读取请求、内部缓冲器数据输入命令、以及存储器数据输入命令存储至FIFO缓冲器110。
[0280]此外,在完成进行了 ECC订正的要求有效载荷数据的返送之前,在从请求要求源101接受了读取请求的情况下,将命令连续地存储至FIFO缓冲器110。
[0281]与图8的处理并行地,数据排列部103定期地确认在FIFO缓冲器110中是否累积有命令(S502),如果在FIFO缓冲器110中存在命令(S502为YES),则从FIFO缓冲器110中取出命令(S503)。
[0282]如果取出的命令是内部缓冲器数据输入命令,则S504为YES,进行S303的处理。
[0283]如果取出的命令是存储器数据输入命令,则S504为NO,进行S203的处理。
[0284]此外,由于作图上的原因,在图9中,没有示出取出的命令是读取命令以及读取请求的情况的处理,但在取出读取命令以及读取请求的情况下,数据排列部103将取出的读取命令以及读取请求保存至规定的储存区域,并且,再次从FIFO缓冲器110取出命令。
[0285]在S203中,数据选择部108从存储器105输入读取数据,并向内部缓冲器管理部107就读取数据的输入进行通知。
[0286]内部缓冲器管理部107判断输入的读取数据是否是末尾数据(S400),在读取数据是末尾数据的情况下,判断在末尾数据中是否包含后续的有效载荷数据(S401)。
[0287]在末尾数据中包含后续的有效载荷数据的情况下,内部缓冲器管理部107更新内部缓冲器A109的数据(S402)。
[0288]在S303中,内部缓冲器管理部107经由数据选择部108将内部缓冲器A109的数据发送至数据排列部103。
[0289]数据排列部103判断能否进行数据的排列(S305),在能够进行数据的排列的情况下,数据排列部103提取要求有效载荷数据和对应ECC,进行提取的数据的排列(S205)。
[0290]并且,ECC订正部102从数据排列部103获取排列后的数据,在使用ECC数据对要求有效载荷数据进行ECC订正之后,将要求有效载荷数据返送至请求要求源101 (S206)。
[0291]在将要求有效载荷数据全部返送之后,结束处理(S207)。
[0292]此外,S203、S400、S401、S402、S305、S205、S206、S207的动作与图 4 所说明的相同。
[0293]下面,使用图8、图9以及图12,对本实施方式所涉及的存储器控制装置100的动作进行具体说明。
[0294]在这里,假设出下述的例子,说明存储器控制装置100的动作,即,作为第I读取请求,从请求要求源101受理从OOOOh地址(图1)读取4字节的读取请求,在与第I读取请求相对应而将要求有效载荷数据返送之前,作为第2读取请求,从请求要求源101受理从0004h地址(图1)读取4字节的读取请求。
[0295]此外,图12的Tl?Tll表示流水线处理中的各间隙。
[0296]存储器时钟表示请求要求源101、存储器控制装置100、以及存储器105的动作时钟。
[0297]另外,图12的命令(Cl)相当于图7的Cl,命令(C2)相当于图7的C2,命令(C3)相当于图7的C3。
[0298]另外,图12的读取数据(Out)表示从ECC订正部102向请求要求源101的要求有效载荷数据的输出。
[0299]另外,图12的读取数据(In)表示来自存储器105的读取数据的输入。
[0300]另外,sRead-ΟΟΟΟ表示来自请求要求源101的读取请求,表示从OOOOh地址(图1)读取4字节的读取请求。
[0301]另外,sRead-0004表示来自请求要求源101的读取请求,表示从0004h地址(图1)读取4字节的读取请求。
[0302]dRead-ΟΟΟΟ表示针对存储器105的读取命令,表示从OOOOh地址(图2)读取4字节的读取命令。
[0303]dRead-0004表示针对存储器105的读取命令,表示从0004h地址(图2)读取4字节的读取命令。
[0304]dRead-0008表示针对存储器105的读取命令,表示从0008h地址(图2)读取4字节的读取命令。
[0305]位于读取数据(out)以外栏的data-ΟΟΟΟ表示从存储器105读取的OOOOh地址(图2)的数据。
[0306]位于读取数据(out)以外栏的data-0004表示从存储器105读取的0004h地址(图2)的数据。
[0307]位于读取数据(out)栏以外的data-0008表示从存储器105读取的0008h地址(图2)的数据。
[0308]位于读取数据(out)栏的data-ΟΟΟΟ表示输出至请求要求源101的OOOOh地址(图1)的要求有效载荷数据。
[0309]位于读取数据(out)栏的data-0004表示输出至请求要求源101的0004h地址(图1)的要求有效载荷数据。
[0310]首先,存储器地址变换部106从请求要求源101受理从OOOOh地址(图1)读取4字节的读取请求(图12的sRead-0000) (S201)。
[0311]然后,命中判定部113判定受理的读取请求是否命中于内部缓冲器A109所存储的数据(S301)。
[0312]另外,在该时刻,在内部缓冲器A109中没有存储数据,因此,S301的判定结果是
No0
[0313]然后,存储器地址变换部106生成指示从OOOOh地址(图2)和0004h地址(图2)进行读取的读取命令(图12的dRead-ΟΟΟΟ和dRead-0004),并将生成的读取命令输出至存储器 105(S202) ο
[0314]然后,内部缓冲器管理部107确认在末尾数据中是否包含后续的有效载荷数据(S505),在该情况下,由于在来自0004h地址(图2)的读取数据中包含后续的有效载荷数据,因此,内部缓冲器管理部107将内部缓冲器信息储存部112的“内部缓冲器A的地址”、“距离信息A”的值更新(S507)。
[0315]其结果,如图12的“内部缓冲器A的地址”栏所示,在“内部缓冲器A的地址”中记述“OOOOh地址”,在“距离信息A”中记述“4”。
[0316]另外,存储器地址变换部106将读取命令(图12的dRead-ΟΟΟΟ和dRead-0004)、读取请求(图12的sRead-0004)、以及存储器数据输入命令存储至FIFO缓冲器110 (S501)。
[0317]在这里,设为存储器地址变换部106从请求要求源101受理了从0004h地址(图1)读取4字节的读取请求(图12的sRead-0004) (S201)。
[0318]如上所述,在S507的处理中,内部缓冲器信息储存部112的“内部缓冲器A的地址”中记述有“0000h地址”,“距离信息A”中记述有“4”,0004h地址(图2)的数据预定要缓存至内部缓冲器A109,因此,S301的判定是YES。
[0319]因此,存储器地址变换部106生成指示从OOOSh地址(图2)进行读取的读取命令(图 12 的 dRead-0008) (S302)。
[0320]而且,命令发出间隔控制部114空出与用于利用内部缓冲器A109的数据的时间(用于避免数据的冲突的时间)相对应的间隔而将读取命令(图12的dRead-0008)输出至存储器105。
[0321]相对于来自请求要求源101的读取请求(图12的sRead-0004)的输入定时,读取命令(图12的dRead-0008)能够在图12的标号1201的定时输出至存储器105。
[0322]但是,在本实施方式中,相对于能够输出读取命令的定时,命令发出间隔控制部114使读取命令的输出定时延迟I个间隙的量,并在标号1202的定时将读取命令(图12的dRead-0008)输出至存储器105。
[0323]然后,内部缓冲器管理部107确认在末尾数据中是否包含后续的有效载荷数据(S505)。
[0324]在该情况下,在来自OOOSh地址(图2)的读取数据中包含后续的有效载荷数据,因此,内部缓冲器管理部107将内部缓冲器信息储存部112的“内部缓冲器A的地址”、“距离信息A”的值更新(S507)。
[0325]其结果,如图12的“内部缓冲器A的地址”栏所示,在“内部缓冲器A的地址”中记述“0004h地址”,在“距离信息A”中记述“4”。
[0326]另外,存储器地址变换部106将读取命令(图12的dRead-0008)、读取请求(图12的sRead-0004)、存储器数据输入命令、以及内部缓冲器数据输入命令存储至FIFO缓冲器 110(S501) ο
[0327]与上述的动作并行地,数据排列部103从FIFO缓冲器110中取出最前端的读取命令(图12的dRead-ΟΟΟΟ和dRead-0004)和存储器数据输入命令(S502、S503)。
[0328]在该情况下,没有利用内部缓冲器A109,因此,S504为NO,如图12所示,数据选择部108从存储器105输入OOOOh地址(图2)的数据(图12的data-0000) (S203)。
[0329]并且,输入的数据(图12的data-0000)不是末尾数据(S400为NO),因此,没有存储至内部缓冲器A109。
[0330]另外,仅通过输入的数据(图12的data-0000)无法进行数据的排列(S305为NO),因此,等待来自存储器105的下一个数据的输入。
[0331]另外,此时,OOOOh地址(图2)的数据(图12的data-0000)保存至前次值保存部104。
[0332]然后,数据选择部108从存储器105输入0004h地址(图2)的数据(图12的data-0004)(S203)。
[0333]由于输入的数据(图12的data-0004)是末尾数据(S400为YES),另外,包含后续的有效载荷数据(S401为YES),因此,输入的数据存储至内部缓冲器A109。
[0334]另外,能够通过输入的数据(图12的data-0004)和前次值保存部104的数据(图12的data-0000)进行数据的排列(S305为YES),因此,数据排列部103对数据进行排列,ECC订正部102进行ECC订正,将ECC订正后的要求有效载荷数据(图12的data-0000)输出至请求要求源101 (S205、S206)。
[0335]另外,0004h地址(图2)的数据(图12的data-0004)保存至前次值保存部104。
[0336]另外,数据排列部103从FIFO缓冲器110中取出下一个读取命令(图12的dRead-0008)、内部缓冲器数据输入命令、以及存储器数据输入命令(S502、S503)。
[0337]在该情况下,由于利用内部缓冲器A109,因此,S504为YES,内部缓冲器A109内的数据(图12的data-0004)输出至数据排列部103(S303)。
[0338]无法通过来自内部缓冲器A109的数据(图12的data-0004)和前次值保存部104的数据(图12的data-0004)进行数据的排列(S305为NO),因此,等待来自存储器105的下一个数据的输入。
[0339]另外,此时,来自内部缓冲器A109的数据(图12的data-0004)保存至前次值保存部104。
[0340]然后,数据选择部108从存储器105输入0008h地址(图2)的数据(图12的data-0008)(S203)。
[0341]此外,如果在标号1201的定时从命令发出间隔控制部114向存储器105输出dRead-0008,则在标号1203的定
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1