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

文档序号:8449186阅读:359来源:国知局
存储器控制装置的制造方法
【技术领域】
[0001]本发明涉及一种对要求从存储器读出有效载荷数据的读取请求进行处理的技术。
【背景技术】
[0002]为了提高存储器的可靠性,有时在有效载荷数据中附加ECC(Error CorrectingCode)、奇偶校验位。
[0003]通常,在宽度方向上追加专用于所附加的ECC、奇偶校验位的存储器元件(水平ECC、水平奇偶校验)。
[0004]例如,可以想到并非X8位结构的存储器,而是使用特殊的X9位结构的存储器。
[0005]但是,存储器元件的追加、特殊存储器的采用,大多在成本方面是不利的,或者难于得到部件。
[0006]作为其解决对策之一,有时采用通过不在宽度方向上保存ECC而在深度方向上保存ECC,由此不需要在宽度方向上增加存储器的垂直ECC、垂直奇偶校验(下面记载为垂直ECC)。
[0007]例如,考虑在如图1所示的存储器结构中通过垂直ECC方式,附加ECC的情况。
[0008]在图1中,在I个地址处,存储有4个各自的数据宽度是I字节的有效载荷数据。
[0009]在图1的存储器结构中,如果通过垂直ECC,对每4字节的有效载荷数据附加I字节的ECC,则形成如图2所示的数据的配置。
[0010]在对采用了垂直ECC的存储器从连续的地址进行读取的情况下,如果第2次从存储器进行读取的数据(第2数据)包含ECC,则该数据也可用于后续的从连续地址进行的读取。
[0011]在由读取请求的要求源通过图1的数据配置对有效载荷数据进行管理、由存储器通过图2的数据配置对有效载荷数据和ECC进行管理的情况下,如果存在图1的OOOOh地址的数据(D0?D3)的读取请求,则进行下面的数据读取。
[0012]从存储器按照图2的OOOOh地址的数据(D0?D3)、0004h地址的数据(ECC0?D6)的顺序进行读出,使用ECCO对读出的DO?D3进行错误订正,将错误订正后的DO?D3输出至要求源。
[0013]并且,在存在图1的0004h地址的数据(D4?D7)的读取请求的情况下,进行下面的数据读取。
[0014]从存储器按照图2的0004h地址的数据(ECC0?D6)、0008h地址的数据(D7?D9)的顺序进行读出,使用ECCl对读出的D4?D7进行错误订正,将错误订正后的D4?D7输出至要求源。
[0015]如上所述,在读取对象的地址连续的情况下,需要将第2数据(在上面的例子中,图2的0004h地址的数据)从存储器读取2次。
[0016]但是,在存储器访问中存在一定的开销(overhead)的情况较多(例如,在DRAM (Dynamic Random Access Memory)中,如果对同一个存储块进行操作(ACT),则产生无法访问的期间),如果将第2数据读取2次,则发生性能损耗,效率不高。
[0017]另外,由于每次存储器访问都会消耗电力,因此,如果将第2数据读取2次,则电力消耗变多。
[0018]关于伴有奇偶校验结果的数据转送技术,存在下述技术,S卩,针对连续的访问,以在奇偶校验结果输出之前不接受下一次的读取请求的方式进行总线控制,使读取请求在奇偶校验后的数据转送之前进行等待(例如,专利文献I)。
[0019]专利文献1:日本特开平5 - 233471号公报

【发明内容】

[0020]在专利文献I的方式中,能够保障从读取请求直到读取数据返回的一次传输处理(transit1n) 一定会完成,但是,存在无法支持向流水线型存储器的数据转送的课题。
[0021]本发明就是鉴于上述的情况而提出的,其主要目的在于,即使对于流水线型存储器,也避免重复的数据读出,高效地利用有限的存储带宽,另外,抑制存储器访问中的电力消耗。
[0022]本发明所涉及的存储器控制装置,其通过流水线方式对要求从存储器读出有效载荷数据的读取请求进行处理,在该存储器中,具有分别对呈规定的数据宽度的数据进行存储的多个地址,针对呈所述数据宽度的有效载荷数据设定错误订正数据,存在对应关系的错误订正数据和呈所述数据宽度的有效载荷数据横跨相邻的2个地址而存储,以地址为单位进行数据的读出,
[0023]该存储器控制装置的特征在于,具有:
[0024]缓存区域,其缓存从所述存储器读出的数据;
[0025]读取请求输入部,其用于将读取请求输入,该读取请求要求读出整数倍于所述数据宽度的量的有效载荷数据;
[0026]缓存判定部,其判定存储有要求有效载荷数据和对应错误订正数据的大于或等于2个地址即读出候补地址中的某地址处的数据是否已经缓存或者预定要缓存至所述缓存区域,其中,该要求有效载荷数据是由所述读取请求输入部输入的读取请求所要求的有效载荷数据,该对应错误订正数据是用于对所述要求有效载荷数据进行错误订正的错误订正数据;以及
[0027]命令输出部,其在由所述缓存判定部判定为大于或等于2个读出候补地址中的某地址处的数据已经缓存或者预定要缓存至所述缓存区域的情况下,将指示从除了缓存地址以外的地址读出数据的部分读取命令,在从能够向所述存储器输出所述部分读取命令的定时开始经过规定的延迟时间之后,输出至所述存储器,其中,该缓存地址是大于或等于2个读出候补地址中数据已经缓存或者预定要缓存至所述缓存区域的地址。
[0028]发明的效果
[0029]在本发明中,在从能够向存储器输出部分读取命令的定时(timing)开始经过规定的延迟时间之后,将指示从读出候补地址中除了缓存地址以外的地址读出数据的部分读取命令输出至存储器。
[0030]关于缓存地址处的数据,通过使用缓存区域的数据,从而能够避免重复数据的读出,有效地利用有限的存储带宽,另外,能够抑制存储器访问中的电力消耗。
[0031]另外,在经过延迟时间之后,将部分读取命令输出至存储器,由此,即使对于流水线型的存储器,也能够避免从缓存区域实现的缓存地址处的数据的输入与从存储器实现的除了缓存地址以外的地址处的数据的输入之间发生冲突。
【附图说明】
[0032]图1是表示实施方式I所涉及的不包含ECC的数据的配置例的图。
[0033]图2是表示实施方式I所涉及的附加有垂直ECC的数据的配置例的图。
[0034]图3是表示实施方式I所涉及的存储器控制装置、请求要求源以及存储器的图。
[0035]图4是表示实施方式I所涉及的存储器控制装置的动作例的流程图。
[0036]图5是表示实施方式I所涉及的存储器控制装置的动作例的图。
[0037]图6是表示实施方式I所涉及的存储器控制装置的动作例的图。
[0038]图7是表示实施方式2所涉及的存储器控制装置、请求要求源以及存储器的图。
[0039]图8是表示实施方式2所涉及的存储器控制装置的动作例的流程图。
[0040]图9是表示实施方式2所涉及的存储器控制装置的动作例的流程图。
[0041]图10是表示实施方式3所涉及的存储器控制装置、请求要求源以及存储器的图。
[0042]图11是表示实施方式3所涉及的存储器控制装置的动作例的流程图。
[0043]图12是表示实施方式2所涉及的存储器控制装置的动作例的时序图。
[0044]图13是表示实施方式2所涉及的存储器控制装置的动作例的时序图。
[0045]图14是表示实施方式3所涉及的存储器控制装置的动作例的时序图。
【具体实施方式】
[0046]在实施方式I中说明支持非流水线型存储器的存储器控制装置,在实施方式2以及3中说明支持流水线型存储器的存储器控制装置。
[0047]在实施方式I的存储器控制装置中,为了避免第2数据的重复读取,使用前次值保存部和内部缓冲器。
[0048]对于支持流水线型存储器的实施方式2以及3的存储器控制装置,为了避免第2数据的重复读取,同样地使用前次值保存部和内部缓冲器。
[0049]存储器控制装置的前次值保存部和内部缓冲器的使用方法在实施方式I?3中是通用的,因此,考虑到易于理解,在实施方式I中,说明非流水线方式的存储器控制装置的动作。
[0050]并且,以实施方式I中的动作为前提,在实施方式2以及3中说明流水线方式所特有的动作。
[0051]另外,对在实施方式I?3中通用的请求要求源以及存储器上的地址和数据的关系进行说明。
[0052]例如,存在如图1所示的地址与数据宽度是4字节的数据(D0?D3f)。
[0053]图2示出向每4字节附加I字节ECC而形成的垂直ECC的存储器配置。
[0054]成为在数据之后配置ECC的顺序,但这只是一个例子,对于ECC的配置方法,只要是在相邻的前后2行中配置数据和ECC即可。
[0055]例如,“EEC0”也可以配置在有效载荷数据“D0”之前。
[0056]另外,分配至相同地址的数据能够扩展,例如可以将数据宽度扩展为,在OOOOh地址处是DO?D3、ECCO、D4?D6,在下面的0008h地址处是D7、ECCl、D8?Db、ECC2、Dc。
[0057]其原因在于,即使在该情况下,依然处于一部分有效载荷数据和ECC横跨相邻的2个地址这样的对应关系。
[0058]实施方式I
[0059]图3表示实施方式I所涉及的存储器控制装置100、请求要求源101以及存储器105。
[0060]在图3中,请求要求源101向存储器105发出读取、写入请求。
[0061]下面,限定于请求要求源101发出要求从存储器105读出有效载荷数据的读取请求的情况而进行说明。
[0062]请求要求源101 例如是 CPU (Central Processing Unit) ο
[0063]此外,在请求要求源101中,例如按照图1所示的形式,掌握了有效载荷数据的配置。
[0064]另外,在存储器105中,例如按照图2所示的形式,配置有有效载荷数据和作为错误订正数据的ECC。
[0065]以地址为单位,从存储器105进行数据的读出。
[0066]此外,存储器105是作为存储器控制装置100的控制对象的存储器。
[0067]存储器控制装置100由存储器地址变换部106、内部缓冲器A109、内部缓冲器管理部107、内部缓冲器信息储存部112、命中判定部113、前次值保存部104、数据选择部108、数据排列部103、以及ECC订正部102构成。
[0068]存储器控制装置100的各结构要素例如是元件、器件、电路这样的硬件。
[0069]存储器控制装置100的各结构要素例如是芯片组内的半导体电路组。
[0070]另外,例如,也可以使用程序而实现存储器地址变换部106、内部缓冲器管理部107、内部缓冲器信息储存部112、数据选择部108、数据排列部103以及ECC订正部102。
[0071]存储器地址变换部106输入来自请求要求源101的读取请求。
[0072]然后,存储器地址变换部106将输入的读取请求的地址变换为配置有垂直ECC的存储器105上的地址。
[0073]例如,在从请求要求源101收到图1的OOOOh地址的数据(D0?D3)的读取请求的情况下,存储器地址变换部106进行向图2的OOOOh地址的数据(D0?D3)和0004h地址的数据(ECC0?D6)的地址变换。
[0074]此外,将由存储器地址变换部106进行地址变换后的地址称为读出候补地址(在上面的例子中,图2的OOOOh地址和0004h地址是读出候补地址)。
[0075]另外,将来自请求要求源101的读取请求所要求的有效载荷数据称为要求有效载荷数据(在上面的例子中,DO?D3是要求有效载荷数据)。
[0076]另外,将用于要求有效载荷数据的错误订正的ECC称为对应错误订正数据或者对应ECC (在上面的例子中,ECCO是对应错误订正数据)。
[0077]并且,存储器地址变换部106基于地址变换结果以及命中判定部113的判定结果,将指示数据读取的读取命令输出至存储器105。
[0078]此外,在本说明书中,将存储器地址变换部106从请求要求源101输入的信息称为读取请求,将存储器地址变换部106输出至存储器105的信息称为读取命令。
[0079]在命中判定部113中为命中判定的情况下,存储器地址变换部106将部分读取命令输出至存储器105。
[0080]部分读取命令是指示从读出候补地址中的、除了已经缓存至内部缓冲器A109的地址(称为缓存地址)以外的地址读出数据的命令。
[0081]另外,在命中判定部113中为未命中判定的情况下,存储器地址变换部106将全区域读取命令输出至存储器105。
[0082]全区域读取命令是指示从读出候补地址的全部区域读出数据的命令。
[0083]此外,存储器地址变换部106相当于读取请求输入部以及命令输出部的例子。
[0084]在内部缓冲器A109中存储通过先前的读取命令从存储器105读取的数据。
[0085]内部缓冲器A109是缓存区域的例子。
[0086]此外,在图1中仅图示了 I个内部缓冲器,但是,能够配置多个内部缓冲器。
[0087]内部缓冲器管理部107进行内部缓冲器A109的管理。
[0088]更具体地说,内部缓冲器管理部107在从存储器105读取的数据中选择想要储存至内部缓冲器A109的数据,并将选择出的数据存储至内部缓冲器A109。
[0089]在根据由存储器地址变换部106输出的读取命令而从存储器105读出的数据中的、末尾的数据(称为末尾数据)中包含既不是要求有效载荷数据也不是对应ECC的数据的情况下,内部缓冲器管理部107将该末尾数据存储至内部缓冲器A109。
[0090]例如,在从请求要求源101发出图1的OOOOh地址的数据(D0?D3)的读取请求的情况下,通过存储器地址变换部106,向图2的OOOOh地址的数据(D0?D3)和0004h地址的数据(ECC0?D6)进行地址变换。
[0091]在OOOOh地址的数据(D0?D3)没有存储在内部缓冲器A109的情况下,为未命中判定,输出指示对OOOOh地址的数据和0004h地址的数据进行读取的全区域读取命令。
[0092]在与该全区域读取命令相对应而从存储器105读取的末尾数据(0004h地址)中包含ECCO?D6。
[0093]ECCO相当于对应ECC,但D4?D6不是要求有效载荷数据。
[009
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1