具体实施方式
现在参考附图描述本发明的实施例。但是,本发明的技术领域并不局限于这些实施例,因而覆盖了专利权利要求及其等同物中描述的主题。
[图像存储器的存储器映射和映射存储器中涉及的问题]
图1示出根据本实施例的图像存储器的存储器映射。在图1中,具有显示设备10的图像处理系统中的显示图像数据被存储在图像存储器15中。显示图像数据由关于每个像素的亮度信号Y和色差信号Ca和Cb以及每个像素的RGB灰度级信号的数据构成,其中每个信号例如由8比特(1字节)数据构成。
同时,图像存储器15一般由诸如SDRAM这样的高容量高速度半导体存储器设备构成,在这种半导体存储器设备中,集成电路形成在半导体衬底上。这种图像存储器由多个存储体Bank0至3(图1所示的四个存储体)构成,其中每个Bank0-3具有多个块BLK-0,并且每个块具有多条字线WL、位线BL以及位于字线和位线的交点处的存储器单元MC。每个存储器单元由栅极连接到字线的MOS晶体管(未示出)和连接到晶体管的电容器构成。在图1所示的示例中,四个存储体分别与存储体地址BA0至3相关联,字线与行地址RA0至7相关联,位线与列地址CA0至127相关联。存储体内的字线由存储体地址BA和行地址RA的组合选择,字线由列地址CA选择。4个字节的数据项BY0至3由存储体地址BA、行地址RA和列地址CA访问。由于1字节由8个比特构成,因此4个字节的数据项,即4×8=32比特数据在一次访问中与存储器的输入/输出端子相关联,然后执行读或写。一般来说,上述1字节数据(8比特数据)对应于一个像素的信号。通过在一次访问中输入/输出4字节数据项,指示针对图像数据每单位时间可访问的像素数的带宽可得以增大。
根据用于显示图像数据的存储器映射12,其中每一个由存储体地址BA和行地址RA指定的页区域14按行和列放置。如放大区域14E中所示,一个页区域14具有由列地址CA0至127指定的128个存储器单位区域,每个存储器单位区域存储了4个字节的数据项BY0至3。4个字节的数据项BY0至3经由存储器的总共32个输入/输出端子,即经由输入/输出端子DQ0至7、DQ8至15、DQ16至23和DQ24至31被输入/输出。每个字节的8比特数据对应于一个像素的信号数据。
存储器映射图12适合于以高速操作诸如SDRAM这样的由多个存储体构成的图像存储器15。响应于与存储体地址BA和行地址RA一起提供的激活命令,SDRAM执行以下激活操作:驱动所选存储体内所选字线,将存储在存储器单元中的数据读到位线中,激活与位线相关联的读出放大器以放大位线电势,然后响应于与列地址CA一起提供的读命令,执行用于从所选位线读取数据的读操作。或者,在执行激活操作之后,SDRAM响应于与列地址CA和写数据一起提供的写命令,执行将写数据写入所选位线中的写操作。利用预充电命令的预充电操作在读操作或写操作之后被执行,然后激活操作和读或写操作被再次执行。这样,在SDRAM中,每个存储体可独立地执行激活操作、读操作和写操作。
根据图1所示的存储器映射图12,不同的存储体地址BA0至3被指派给彼此垂直和水平相邻的页区域14。具体而言,存储体地址BA0和1被交替布置在存储器映射图12中的奇数行中,而存储体地址BA2和3被交替布置在偶数行中。此外,行地址RA0至7在存储器映射图12的光栅方向(行方向)上被反复递增2,并且存储器映射图12中的每一行在每四个行地址RA0至3和RA4至7后卷绕。
通过采用用于在不使具有相同存储体的页区域在行方向或列方向上彼此相邻的情况下分配图像上的页区域的存储器映射,可以在利用两个存储体同时执行激活操作和读/写操作的同时对图像存储器进行水平访问,从而访问效率可得以提高,其中水平访问是对图像存储器进行的代表性访问,即其中页区域14在行方向上移动并且一个页区域被选择的访问。这同样适用于图像存储器在垂直方向上被访问的情况。
图2示出图像存储器中的两种访问。图2(A)所示的水平访问是通常发生在输入/输出视频帧图像时的访问,并且对应于用于从左上到右下在水平方向20上访问图像的光栅扫描。另一方面,图2(B)所示的矩形访问是通常发生在压缩或扩展MPEG图像等等时的访问,并且对应于用于在具有任意纵横比的矩形22内在箭头24的方向上从左上到右下访问图像的操作。矩形区域22对应于作为用于提取MPEG图像的运动向量的目标的块等等。
一般来说,在使用图像存储器的图像系统中,传送作为帧存储器的图像存储器的传送速率被设置为快于图像显示操作的速度,以便在通过水平访问图像存储器而读取的图像数据被显示在屏幕上的同时,新的帧数据被利用矩形访问创建,并且该帧数据被连续创建和输出。因此,水平访问和矩形访问在实际图像系统中都被进行。
在水平访问中,扫描是在水平方向20上执行的,因而存储器访问可在同时激活相邻存储体的同时高效地进行。另一方面,在矩形访问中,不会使得要访问的矩形区域22的位置超出单个存储体和存储体内的页区域,从而可通过执行用于指定存储体地址BA和行地址RA的单次激活操作来访问矩形区域22内的数据,因而可执行高效的存储器访问,就像水平访问那样。
图3示出水平访问的问题。图3示出了在上述存储器映射图12中在水平方向20上进行的水平访问的定时图30。在此定时图中,在水平访问(图中的20)存储器映射图12的第四行中的页区域时(BA0/RA4、BA1/RA4、BA0/RA5、BA1/RA5),自动刷新命令AREF被生成。定时图30示出了命令CMD、时钟CLK、存储体地址BA、行地址RA、列地址CA和输入/输出端子DQ。
作为前提,突发长度BL被设置为4。当对具有BA0/RA4的页区域执行激活操作并且利用读命令RD33发布指令以读取具有BA0/CA0的页区域时,四个32比特数据项在预定的等待时间(在图中是四个时钟)之后在四个时钟周期中相继从输入/输出端子DQ输出。具体而言,页区域BA0/RA4内相应列地址CA0至3中的四个32比特数据项中的每一个被相继输出四次。此突发操作作为标准是SDRAM所必需的。上述操作暗示图1中放大的页区域14E内的列地址CA0至3中的每一个的每个4字节(32比特)数据项被相继输出四次。
接下来,页区域BA1/RA4的4个字节的数据项利用激活命令ACT34和读命令RD35被输出。类似地,页区域BA0/RA5的4个字节的数据项利用激活命令ACT36和读命令RD37被输出,并且页区域BA1/RA5的4个字节的数据项利用激活命令ACT38和读命令RD39被输出。
此时,当用于指定行地址RA的自动刷新命令AREF40被生成时,配置图像存储器的SDRAM存储器并行地对所有并入的存储体即存储体BA0至3执行刷新操作。具体而言,相应的四个存储体内的相应的行地址RA6的字线被同时驱动,相应的读出放大器被激活,重写被执行,然后预充电操作被执行。该刷新操作是对图3所示的存储器映射图12内的四个页区域31执行的。因此,在刷新操作时段tREF期间,水平访问(箭头20)暂时停止。在刷新操作时段tREF之后,下一页区域BA0/RA6被利用激活命令ACT41和读命令RD(未示出)再次访问,从而水平访问被重新启动。
由于刷新操作是利用刷新命令AREF对四个存储体同时执行的,因此当在进行水平访问的同时生成刷新命令时,水平访问被暂时停止,因而有效带宽变窄。这是水平访问中发生的问题。
图4示出矩形访问的第一问题。图4(A)示出水平访问的示例,图4(B)示出矩形访问的示例。两个示例都是超过由列地址CA选择的存储器单位区域(4字节区域)45的边界的访问。如上所述,根据公知的存储器映射图,由存储体地址BA和行地址RA指定的页区域14被分割成由列地址CA0至27选择的多个存储器单位区域45,并且四个字节的数据项BY0至3被单个列地址CA同时访问。每个字节的8比特数据对应于一个像素的信号。
因此,虽然水平访问是相对较经济地进行的,但在矩形访问中却会发生不必要的数据输入/输出,因而有效带宽减小。
在图4(A)所示的水平访问中,当访问区域22A时,在用于指定页区域BA0/RA0的激活命令ACT之后,对于列地址CA0至3发布四个读命令RD,并且列地址CA0至3中的每一个的4字节的数据项BY0至3被相继输入/输出。在这种情况下,区域22A包含从列地址CA0的字节BY2和3到列地址CA3的字节BY0和1的片段。因此,在与列地址CA0相对应的4字节数据的输入/输出DQ中,字节BY0和1的数据项是不需要的,而在与列地址CA3相对应的4字节数据的输入/输出DQ中,字节BY2和3的数据项也是不需要的。因此,有效输出数据的量是12字节/16字节。
另一方面,在图4(B)所示的矩形访问中,当访问矩形区域22B时,在用于指定页区域BA0/RA0的激活命令ACT之后,对于列地址CA0、1、4、5、8和9发布六个读命令RD,并且列地址CA0、1、4、5、8和9中的每一个的4字节的数据项BY0至3被相继输入/输出。但是,矩形区域22B不匹配由列地址选择的存储器单位区域(4字节区域)45的边界并且超过了4字节区域的边界,因而4字节的数据项BY0至3中的每一个中有一半是不必要的数据。具体而言,有效输出数据量是12字节/24字节。图4(B)示出了最坏情况。
如上所述,即使要被访问的数据具有相同数目的字节,在矩形访问中,需要通过发送读命令RD六次来输入/输出24字节的数据,而在水平访问中,通过发送读命令RD四次就可输入/输出16字节的数据。因此,在超过由单个列地址选择的4字节区域(存储器单位区域)45的边界的矩形访问中,有效带宽减小了。这是矩形访问的第一问题。
图5示出矩形访问的第二问题。矩形访问是对任意矩形区域进行的访问,有时超过相邻页区域14的边界14BOU。图5示出矩形区域22(A)是同一页区域BA1/RA6内的16字节区域的情况,以及矩形区域22(B)是覆盖四个相邻页区域BA3/RA2、BA2/RA3、BA1/RA6和BA0/RA7的16字节区域的情况。
在矩形区域22(A)的情况下,可通过对页区域BA1/RA6发布激活命令ACT(图中的50)一次并对列地址CA6、7、10和11发布读命令RD(图中的52)四次来输入/输出16字节的数据,如定时图中所示。
另一方面,在矩形区域22(B)的情况下,只有对页区域BA3/RA2、BA2/RA3、BA1/RA6和BA0/RA7发布激活命令ACT(图中的54)四次并对列地址CA127(BA3)、CA124(BA2)、CA3(BA1)和CA0(BA0)发布读命令RD(图中的56)四次,才能输入/输出14字节的数据,如定时图中所示。具体而言,在矩形区域22包括相邻页区域的情况下,激活操作被发布若干次以对不同存储体执行激活操作,并且读命令RD或写命令WR必须针对相应存储体内的列地址发布。因此,每单位时间能够访问的数据量减少了,并且有效带宽变窄了。
在图5所示的矩形区域22(B)在由列地址选择的存储器单位区域(4字节区域)的中间被分割的情况下,图4中所示的第一问题同时发生,因而需要多个激活命令(第二问题),并且在与读命令相对应的输入/输出数据DQ中包含有不必要的数据(第一问题),导致有效带宽的减小。
如上所述,当在图像存储器中采用利用SDRAM的结构特性的存储器映射的情况下,存在以下问题:第一问题,即由于在执行水平访问时发生刷新命令而引起水平访问被停止;第二问题,即当矩形访问区域超过由列地址选择的存储器单位区域(4字节数据)的边界时生成不必要的输入/输出数据;以及第三问题,即当矩形访问区域超过由存储体地址指定的页区域的边界时需要发布多个存储体激活命令。
[对本实施例的总体描述]
以下将简要描述用于解决这些问题的配置和操作。
本实施例是为了解决由刷新操作导致的访问中止,由矩形访问导致的访问效率降低以及其他问题,其中,首先,在水平访问时刷新操作可与访问操作一起在后台执行,其次,在矩形访问时实现了高效访问偏离或超过由列地址选择的存储器单位(4字节区域)的区域的功能,第三,实现了高效访问超过页区域的边界并包含多个页区域的矩形区域的功能。
图6示出本实施例中执行的整体操作。如上所述,在利用图像存储器的图像系统中,水平访问和矩形访问都被生成。图6所示的示例是这样一个示例,在该示例中,对存储器映射图12的第一行中具有存储体地址BA0和BA1的页区域的水平访问20-1、对第二行中的页区域BA2/RA2的矩形访问22和对第二行中具有存储体地址BA2和BA3的页区域的水平访问20-2被顺序生成。在矩形访问22中,访问是对一页区域BA2/RA2内超过存储器单位区域(4字节区域)45的矩形区域进行的。
在这种情况下,在矩形访问中,访问是在存储器的任意存储体中生成的,而在水平访问中,访问仅在某个时间段内在预定存储体中生成。例如,在存储器映射图12的第一行中的水平访问中,仅在存储体BA0和1中生成访问,而在第二行中的存储体BA2和3中则没有生成访问。另一方面,在第二行中的水平访问中,仅在存储体BA2和3中生成访问,而在第一行中的存储体BA0和1中则没有生成访问。
因此,在水平访问20-1中,用于指定在未来一段时间中其中不生成访问的存储体的后台刷新命令BREN在存储器访问进行之前被发布,并且其中不生成访问的存储体的信息SA=2/3被通知给存储器。具体而言,在由后台刷新命令BREN指定的存储体SA中允许后续的自动刷新操作。因此,对于被应用刷新操作的存储体SA=2,3,不允许正常访问。
在图6所示的水平访问20-1中,用于允许执行后续刷新操作的刷新存储体信息SA(图中的61)与后台刷新命令BREN(图中的60)一起发布,随后利用激活命令ACT对页区域BA0/RA0执行激活操作,然后列地址CA0的4字节的数据项BY0至3通过读命令RD(BA0,CA0)被输出到输入/输出端子DQ。类似地,利用激活命令ACT对页区域BA1/RA0执行激活操作,然后列地址CA0的4字节的数据项BY0至3通过读命令RD(BA1,CA0)被输出到输入/输出端子DQ。但是,图6省略了对与BL=4相对应的四个4字节数据项的输出的图示。
在该水平访问20-1的时段期间,当由图像存储器内的后台刷新命令BREN激活的自动刷新请求(未示出)被发布时,刷新操作在存储体BA2和3上开始。但是,在水平访问中,访问仅在存储体BA0和1中生成,并且不同的存储体可在SDRAM中独立地执行激活操作,因而可以防止水平访问被对存储体BA2和3执行的刷新操作所干扰和停止。
接下来,在图6所示的矩形访问中,矩形区域22处于同一页区域BA2/RA中,并且包含2个字节BY2和3(即列地址CA0的后一半)和2个字节BY0和1(即列地址CA1的前一半)。在这种情况下,根据SDRAM的一般读命令,读命令RD需要对列地址CA0和1发布两次。
但是,在本实施例中,读命令RD(图中的62)被发布给列地址CA0(图中的63),并且关于访问的字节组合信息SB(图中的64)被提供,从而与字节组合信息SB相对应的4个字节可自动地被与输入/输出端子DQ关联起来。在上述示例中,意味着2个字节后的字节的字节偏移信息SB=2被指定为字节组合信息SB,从而,在列地址CA0的4个字节的数据项中,2个字节之后的字节BY2和3的数据项被自动与相邻的列地址CA1的4个字节的数据项中的前两个字节BY0和1的数据项一起输出。
在图6所示的矩形访问中,在针对页区域BA2/RA2的激活命令ACT被发布之后,用于指定BA2/CA0(图中的63)的读命令RD62与字节组合信息SB=2(图中的64)一起被发布。该字节组合信息SB=2指示4个字节的数据项的组合,其中包括4字节区域内的前2个字节之后的字节BY2。换言之,该字节组合信息SB=2指示4字节区域的第一字节位置(起始字节)是BY2。响应于此,图像存储器将列地址CA0的4个字节的数据项的前2个字节之后(或从起始字节BY2起)的字节BY2和3的数据项以及列地址CA1的字节BY0和1的数据项与4字节的输入/输出端子DQ关联起来,以便向其输出。存储器控制器不需要向列地址CA0和1发布读命令RD两次。此外,只有所需的数据被输出到输入/输出端子DQ的所有4个字节,因而不必要的数据不被输出,访问效率提高了。
此外,当指定BA2/CA4的读命令RD与组合信息SB=2一起被发布时,图像存储器输出由列地址CA4和5的2字节数据构成的4字节数据。当指定BA2/CA8的读命令RD与组合信息SB=2一起被发布时,图像存储器输出由列地址CA8和9的2字节数据构成的4字节数据。当指定BA2/CA12的读命令RD与组合信息SB=2一起被发布时,图像存储器输出由列地址CA12和13的2字节数据构成的4字节数据。
结果,即使矩形访问区域22包括八个列地址CA0、1、4、5、8、9、12和13的存储器单位区域(四字节区域),也只需要向列地址CA0、4、8和12发布读命令RD四次,并且不必要的数据不被输出到输入/输出端子,因而访问效率可提高两倍。
在矩形访问之后的水平访问20-2中,由于存储器映射图12的第二行中的页区域被访问,因而在一段时间内在存储体BA0和1中不生成正常访问。因此,正如上述说明中所述,SA=1与后台刷新命令BREN(图中的65)一起被指定,作为关于其中可执行刷新操作的存储体(图中的66)的存储体信息SA,并且在存储体BA0和1中允许与对后续存储体BA2和3的正常访问并行地执行自动刷新操作。
如上所述,水平访问20-1和20-2允许自动刷新操作在正常访问进行时在后台进行,但是矩形访问不允许后台自动刷新操作。结果,在水平访问20-1中,正常访问操作可与存储体BA2和3中的刷新操作并行地在存储体BA0和1中执行,而在水平访问20-2中,正常访问操作可与存储体BA0和1中的刷新操作并行地在存储体BA2和3中执行。因此,可以防止水平访问被刷新操作干扰,并且可以防止有效带宽减小。
此外,在矩形访问中,禁止后台刷新操作。因此,可以防止对任意区域进行的矩形访问被刷新操作停止。因此,可以完全防止有效带宽减小。
另外,在矩形访问中,字节组合信息SB是与读命令一起指定的,从而通过将任意字节与作为起始区域的读命令的列地址CA相组合而获得的组合字节数据可被输出到4字节的输入/输出端子DQ。字节组合信息SB也可在激活命令之前与用于设置模式寄存器的命令一起被指定。
图7示出本实施例的整体操作的另一示例。该示例是这样一个示例,在该示例中,对存储器映射图的第一行中的页区域的水平访问20-1、矩形访问22和对存储器映射图的第二行中的页区域的水平访问20-2被顺序执行。在矩形访问22中,矩形区域22超过了页区域的边界14BOU并且包含四个页区域BA3/RA2、BA2/RA3、BA1/RA6和BA0/RA7。
与图6一样,在水平访问20-1和20-2中,刷新存储体信息SA与后台刷新命令BREN一起被发布,从而在目标存储体中允许了后续的自动刷新操作,并且防止了水平访问被刷新操作所干扰。在对具有多个区域(即多个存储体)的矩形区域22的矩形访问中,多存储体信息SA′与激活命令ACT一起被发布,作为关于同时经历激活操作的存储体的存储体信息。响应于此,图像存储器同时对由多存储体信息SA′指定的并且具有与激活命令ACT一起发布的地址信息BA,RA的左上存储体的多个存储体的页区域执行激活操作。结果,响应于一个激活命令ACT,可同时对多个存储体执行激活操作。然后,对于每个存储体的读命令RD与存储体地址BA和列地址CA一起被发布,从而由每个存储体的列地址CA选择的存储器单位区域(4存储体区域)的四存储体数据项可被输出到输入/输出端子DQ。
在图7所示的矩形访问的示例中,用于指定左上片段中的页区域的地址信息项BA3和RA2(图中的71)与激活命令ACT(图中的70)一起被发布,并且同时多存储体信息SA′=0-3(图中的72)被发布。响应于此,图像存储器同时对四个存储体BA3、BA2、BA1和BA0执行激活操作,这四个存储体是由多存储体信息SA′指定的,其中将左上页区域的存储体BA3置于前面;并且顺序输出由后续的四个读命令RD指定的存储体BA/列CA的4个字节的数据项。这同样适用于写命令。在图中,BA3/CA127、BA2/CA124、BA1/CA3和BA0/CA0响应于四个读命令被提供,并且这些存储器区域的4个字节的数据项被输出。
如果多存储体信息SA′指示“横向的两个存储体”,则与由激活命令ACT提供的存储体地址BA相对应的左上存储体右侧的存储体也同时经历激活操作。如果多存储体信息SA′指示“垂直方向的两个存储体”,则位于左上存储体下方的存储体也同时经历激活操作。类似地,如果多存储体信息SA′指示“横向和垂直方向的四个存储体”,则位于左上存储体的右侧、下方和右下方的四个存储体也同时经历激活操作。因此,为了自动地对多个存储体执行激活操作,优选在寄存器等等中预先设置指示存储器映射图的相应行中的行地址RA如何布置或者具体而言指示行地址按什么单位卷绕的信息(行地址步长信息)。
在图7所示的矩形访问方法中,当除了激活命令ACT处的多存储体信息SA′外,图6中描述的字节组合信息SB也与读命令RD一起被发布时,超过页区域14的边界14BOU并被列地址CA选择的存储器单位区域(四存储体区域)的部分字节组合可自动地与输入/输出端子DQ相关联。
图8是根据本实施例的图像处理系统的配置图。图像处理系统由与存储器控制器相对应的图像处理芯片80和用于存储作为图像处理的目标的图像数据的图像存储器芯片86构成。图像处理芯片80和存储器芯片86分别是其中集成电路被形成在单个半导体衬底上的半导体芯片。
图像处理芯片80具有:用于执行图像处理的图像处理控制器81,例如对例如MPEG的图像压缩和扩展作出响应的编码器或解码器;以及存储器控制器82,用于响应于从图像处理控制器81发布的包括图像区域规格的存储器访问请求控制对图像存储器芯片86的访问。存储器控制器82具有:用于控制水平访问中的后台刷新操作的后台刷新控制器84;用于控制矩形访问中对存储器单位区域(4字节区域)中的任意字节组合的访问的字节边界控制器85;以及用于控制矩形访问中对多个区域的访问的多存储体激活控制器83。通过执行这些控制操作,每个操作中所需的命令、存储体地址、行地址、列地址、字节组合信息SB、刷新存储体信息SA、多存储体信息SA′等等被发布到图像存储器86。
图像存储器86具有存储器核心92内的多个存储体Bank0至3,并且还具有用于主要控制激活操作的行控制器87、用于控制读或写操作的列控制器90以及后台刷新控制器89,这些控制器对存储器核心92执行控制。行控制器87具有多存储体激活控制器88,列控制器90具有字节边界控制器91。行解码器RowDec、列解码器ColDec、存储器区域MA、读出放大器群组SA和用于将存储器区域MA与输入/输出端子DQ关联起来的输入/输出单元93被设置在存储体Bank0至3中的每一个中。
图9是根据本实施例的图像存储器的配置图。在存储器芯片86中,输入/输出端子群组93不仅具有时钟CLK,还具有由RAS、CAS、WE和CS构成的命令端子,存储体地址端子BA0和BA1,刷新存储体信息端子SA0和SA1,多个地址端子Add,具有预定数目的比特的字节组合信息端子SB,具有预定数目的比特的数据输入/输出端子DQ,以及多存储体信息端子SA′(未示出)。
应当注意,在上述字节边界功能、多存储体访问功能和后台刷新功能中所需的端子SB、SA′和SA可利用公共的专用引脚来实现。这些信息项与不同的命令一起提供,因而专用引脚处的输入数据可响应于提供的命令被设置到相应的寄存器。
另外,这些端子SB、SA′和SA可利用未使用的端子来实现。例如,在行地址在地址端子Add0至12处输入并且列地址在地址端子Add0至9处输入的情况下,在列地址被输入时地址端子Add10至12就未被使用。因此,控制数据SB、SA′和SA可从输入列地址时未使用的地址端子Add10至12输入。
外部端子群组93分别经由缓冲器94连接到内部电路。上述命令群组被输入到命令控制器95,并且与命令相对应的控制信号被提供给内部电路。另外,响应于模式寄存器设置命令,命令控制器95基于提供到地址引脚Add的设置数据将预定的设置值设置到模式寄存器96。由模式寄存器96设置的设置信息被提供到内部电路。行控制器87具有多存储体激活所需的多存储体激活控制器88和行地址计算器97。激活脉冲被从多存储体激活控制器88提供到要激活的存储体。此外,要激活的行地址被从行地址计算器97提供到每个存储体。存储体Bank0至3是利用指定存储体内将被刷新的行地址的刷新行地址指定器98提供的。刷新行地址指定器98例如具有用于生成在自动生成刷新命令时所需的行地址的刷新计数器。存储体的内部配置如上所述。
下面,顺序地参考图6和图7中图示的字节边界功能、多存储体激活功能和后台刷新功能详细描述图像存储器和存储器控制器。
<<字节边界>>
图10是用于说明字节边界功能的图。该图示出了某个存储体内由行地址RA和列地址CA选择的字节群组(或比特群组)。如上所述,在该示例中,4字节的数据区域(存储器单位区域)被行地址RA和列地址CA选择,并且与输入/输出端子DQ0至31的32个比特相关联。因此,行地址RA和列地址CA交点中的数字,即“0123”,分别指示字节BY0、BY1、BY2和BY3。另外,数据区域的容量可为4比特而不是4字节。在这种情况下,4比特的数据区域(存储器单位区域)被行地址RA和列地址CA选择,并与输入/输出端子DQ0至3的4个比特相关联。为了简化,以下是4字节数据区域的示例。
图10(A)是一个传统示例,其中4字节的数据区域由行地址RA和列地址CA唯一确定,并且4字节数据区域(存储器单位区域)100和101中每一个的32个比特始终与输入/输出端子DQ0至31相关联。
另一方面,图10(B)示出了本实施例,其中由行地址RA和列地址CA指定的4字节区域被置于前面,并且字节的任何组合都被与输入/输出端子DQ0至31关联起来。在图中,由RA=0和CA=0选择的4字节区域100完全与输入/输出端子DQ0至31相关联。另一方面,从由RA=2和CA=1选择的4字节区域的两字节偏移之后的第三字节开始的4字节区域102与输入/输出端子DQ0至31相关联。在这种情况下,用于确定由RA=2和CA=1选择的4字节区域的哪一个字节要被置于前面的第一信息(起始字节)以及关于4个字节在从前面字节起在递增方向或递减方向上连续布置或在递增方向或递减方向上每隔一个字节布置的字节顺序的第二信息(大端排序和小端排序)与读命令或写命令一起被提供。
然后,图像存储器的输入/输出单元基于由第一和第二信息组成的字节组合信息从与一页内的不同列地址CA相对应的字节数据中提取总共4个字节,并将该4个字节与输入/输出端子DQ0至31关联起来。然后,所需的4字节数据从32比特输入/输出端子DQ输入/输出一次。
图11是字节边界功能的定时图。该示例示出了访问存储器映射图12内的4字节区域102的示例。首先,激活命令ACT(图中的110)与存储体地址BA=0和行地址RA=2一起被提供,相应的页区域随后经历激活操作,读命令RD(图中的111)与存储体地址BA=0和列地址CA=1(图中的112)一起被提供,并且作为字节组合信息113,指示字节偏移量或起始字节的第一信息SB=2(图中的114)与指示组合样式的第二信息BMP=UP(图中的115)一起被提供。
图像存储器基于字节组合信息SB=2和BMR=UP,以由DQ16-23、DQ24-31、DQ0-7和DQ8-15所示的方式,将作为由列地址CA=1选择的4字节区域的后一半的2字节数据(BY2,3)与作为由列地址CA=2选择的4字节区域的前一半的2字节数据(BY0,1)关联起来。该关联是在输入/输出单元93中由图9所示的字节边界控制器91执行的。因此,即使在数据具有不同列地址的情况下,也可通过提供读命令RD一次来将采取任何组合的4字节数据与输入/输出端子DQ关联起来。这同样适用于写命令。
在图11中,虽然由行地址RA和列地址CA选择的4字节区域是4比特区域,但也可以应用同样的字节边界功能。在这种情况下,4比特区域的4比特数据与输入/输出端子DQ0至3相关联。
图12是用于说明用于不同映射的字节边界功能的图。在图12中,为了简化,要由行地址RA和列地址CA选择的存储器单位区域由4比特构成。图12的左侧示出了表明图像的像素和存储器空间之间的关系的存储器映射12-1和12-2,图12中的中央示出了存储器的逻辑空间15-1和15-2,图12的右侧示出了与图12的左侧和中央相对应的定时图。
指示由行地址RA和列地址CA选择的4比特区域内的4个比特的“0至3”被示出在存储器逻辑空间15-1和15-2中的每一个内,并且分别对应于输入/输出端子DQ0至3。另外,指示与图像的像素相对应的每个存储器逻辑空间内的4个比特的“0至3”被示出在左侧的存储器映射12-1和12-2中的每一个内。具体而言,该存储器映射表明图像的每个像素是如何与存储器的输入/输出端子DQ0至3中的每一个相关联的。
在图像系统中,系统设计者可自由地将一个图像像素与利用一定的地址BA、RA和CA同时访问的任何4比特输入/输出端子DQ0至3关联起来。映射12-1是将图中从左到右布置的四个像素映射到在与地址的递增方向(从左到右)相同的方向上布置的输入/输出端子DQ0至3的示例,并且该映射被称为“大端排序”。另一方面,映射12-2是将四个像素映射到在与地址的递增方向相反的方向上布置的输入/输出端子DQ0至3的示例,并且该映射被称为“小端排序”。
在映射12-1和映射12-2中,矩形访问在图像左上角的第6像素到第9像素之间的四个像素123和127中生成。但是,这种映射是以与存储器内4个比特的方向相反的方向来执行的,因而需要不同的访问。具体而言,在映射12-1的情况下,必须按CA=1内的DQ1、CA=1内的DQ2、CA=1内的DQ3和CA=2内的DQ0的顺序针对图像中从左到右布置的像素输入/输出数据,如箭头120所示。另一方面,在映射12-2的情况下,必须按CA=1内的DQ2、CA=1内的DQ1、CA=1内的DQ0和CA=2内的DQ3的顺序针对图像中从左到右布置的像素输入/输出数据,如箭头124所示。
比特组合信息项SB、BMR被设置以便对这样的不同类型的映射作出响应。具体而言,在映射12-1的情况下,如图中的121所示,由BA=0和CA=1构成的起始地址和由SB=1和BMR=UP构成的比特组合信息与读命令RD一起被发布,并且响应于该发布,CA=1的3个比特即DQ1、2和3以及CA=2的DQ0被同时输出,如图中122所示。
另一方面,在映射12-2的情况下,如图中的125所示,由BA=0和CA=1构成的起始地址和由SB=1和BMR=DOWN构成的比特组合信息与读命令RD一起被发布,并且响应于该发布,CA=1的3个比特即DQ0、1和2以及CA=2的DQ3被同时输出,如图中126所示。
这样,比特组合信息SB和BMR是根据诸如大端排序和小端排序之类的不同的存储器映射来指定的,从而图像存储器可响应于系统侧的存储器映射同时输入/输出4个比特。通过增加这种比特组合信息的类型,可对各种映射类型实现灵活的4比特访问。
图13是用于说明图12所示的大端排序和小端排序的图。图13在右侧和左侧示出了图像处理系统,其使用了输入/输出比特宽度由4个比特组成的存储器,其中左侧是使用存储器的输入/输出端子DQ的方向即DQ0至3作为前向方向的大端排序系统,而右侧是使用存储器的DQ的方向即DQ3至DQ0作为前向方向的小端排序系统。
屏幕中的像素位置(X0至X11)指示同一屏幕中的物理位置。每个像素位置具有的“关于每个像素的信息”在两个系统中都被标注为“A”至“L”,这意味着两个系统都显示相同的图像。
在大端排序系统中,像素位置X0至3与存储器的地址CA0的DQ0至3相关联,像素位置X 4至7与存储器的地址CA1的DQ0至3相关联,像素位置X8至11与存储器的地址CA2的DQ0至3相关联。
另一方面,在小端排序系统中,像素位置X0至3与存储器的地址CA0的DQ3至0相关联,像素位置X4至7与存储器的地址CA1的DQ3至0相关联,像素位置X8至11与存储器的地址CA2的DQ3至0相关联。
具体而言,当比较两个系统时,在大端排序中图像处理系统内的像素X0至3中的每一个与输入/输出端子T0至3中的每一个之间的关系与小端排序中的是相反的。因此,像素位置X0的像素信息“A”在大端排序系统和小端排序系统中被存储在不同的存储器单元的物理位置(CA0的DQ0和CA0的DQ3)中。
在这里,在图像处理系统生成对像素位置X5至8的像素信息“F-G-H-I”的矩形访问(图中的130)的情况下,在大端排序系统和小端排序系统中存储器必须访问不同存储器单元的物理位置132和134。因此,需要被提供给存储器的信息项的最低限度量是三个信息项,即关于系统是大端排序(UP)还是小端排序(DOWN)的信息BMR,以某个比特作为起始点的地址CA,以及作为地址内的起始点的比特的位置信息SB。
当利用地址RA、CA访问的存储器单位区域是4字节区域(字节群组)时,大端排序和小端排序是相同的。图14是用于说明专用存储器映射中的字节边界功能的图。与图12一样,图14在左侧示出了存储器映射12,在中央示出了存储器逻辑空间15,在右侧示出了相应的定时图。
在图中,左侧的存储器映射12分别示出了存储器的哪个比特被分配给帧图像内的每个像素。在该示例中,一个像素由2比特的信息构成。例如,偶数比特保存关于亮度的数据,而奇数比特保存关于色差的数据。
分组-1是指只收集从第二像素到第五像素的像素的亮度信息(偶数比特)的矩形访问,分组-2是指只收集从左上角的第二像素到第五像素的像素的色差信息(奇数比特)的矩形访问。在这种情况下,虽然两个分组-1/2都是对图像左上角的第二像素到第五像素进行的矩形访问,但是由于由箭头140示出的亮度(偶数比特)和由箭头144示出的色差(奇数比特)之间的差异,在定时图中示出的从图像处理系统到存储器和输入/输出端子DQ的访问如下。分组-1:对于利用CA=0/SB=2、BMR=AL(指定每隔一个比特收集4个比特)的访问(图中的141),CA=1的DQ0、CA=2的DQ0、CA=0的DQ2和CA=1的DQ2分别与输入/输出端子DQ0至3相关联(图中的142)。分组-2:对于利用CA=0/SB=3、BMR=AL(指定每隔一个比特收集4个比特)的访问(图中的145),CA=2的DQ1、CA=1的DQ1和3以及CA=0的DQ3分别与输入/输出端子DQ0至3相关联(图中的146)。
这样,相同的DQ(例如分组-1中的DQ0和DQ2)在不同列地址的4比特区域内被同时访问,因而用于将数据传送到输入/输出端子DQ的输入/输出单元需要执行为某些数据切换端子的处理,即,使用不同DQ的数据总线的处理。
图15是用于说明图14所示的专用存储器映射的图。图15示出了使用输入/输出比特宽度由4个比特组成的存储器的图像处理系统,并且具体示出了使用存储器的偶数DQ作为关于每个像素的亮度信息并使用奇数DQ作为关于每个像素的色差信息的图像处理系统。图15(A)示出了只有亮度信息被访问的情况,而图15(B)示出了只有色差信息被访问的情况。
屏幕上的像素位置(X0至5)指示左侧和右侧屏幕上的相同物理位置。像素位置分别保存“A、C、E、G、I、K”作为“亮度信息”,并分别保存“B、D、F、H、J、L”作为“色差信息”。
在这里,在图像处理系统生成对像素位置X1至4的亮度信息“C-E-G-I”的矩形访问151的情况下,存储器必须只访问偶数DQ(图中的153),如图15(A)所示。在图像处理系统生成对色差信息“D-F-H-J”的矩形访问152的情况下,存储器必须只访问奇数DQ(图中的154),如图15(B)所示。
为了进行这种访问存储器需要接收的最低限度信息项是三个信息项,即指示系统是否采取将亮度信息保存在偶数DQ中并将色差信息保存在奇数DQ中的方法(是否需要每隔一个DQ进行访问)的信息(BMR=AL),以某个比特作为起始点的地址(CA),以及作为地址的4比特区域中的起始点的比特的位置信息(SB)。列地址CA和比特组合信息SB和BMR已在图14中说明。
在这种情况下,由于利用不同的地址访问了相同的DQ(例如分组-1中的DQ0和DQ2),因此用于将数据传送到输入/输出端子的输入/输出单元需要执行切换端子的处理以便使用不同DQ的数据总线。因此,由白圈和黑圈示出的多个开关被设置在存储器中,并且这些开关是基于上述信息SB和MBR来控制的。
图16是示出矩形访问中的字节边界功能的定时图。该矩形访问是访问图6所示的矩形区域22的示例。如上所述,在矩形访问中,为了从由列地址CA选择的存储器单位区域(4字节区域或4比特区域)内的任意字节位置(或比特位置)读取字节数据(比特数据)的任意组合,需要第一信息SB和第二信息BMR,即字节组合信息166。
图16(A)是字节组合信息项SB和BMR与读命令RD一起提供的示例。存储体地址BA=2和行地址RA=2与激活命令ACT(图中的161)一起提供,并且指示起始字节(起始比特)的位置的第一信息SB=2(图中的164)和指示字节(比特)组合的第二信息BMR=V(图中的165)连同存储体地址BA=2和列地址CA=0与下一个读命令RD(图中的162)一起提供。因此,图6所示的矩形区域22的前4个字节(4个比特)被输出到输入/输出端子DQ。矩形区域22的4个字节(4个比特)的其余三个组合也由相同的存储体地址BA、列地址CA和字节组合信息项SB和BMR指定。
在图16(B)中,在字节组合信息项SB和BMR中,第二信息BMR(图中的165)在寄存器访问模式中在激活命令ACT被发布之前与模式寄存器设置命令EMRS(图中的167)一起提供,并且该第二信息BMR被记录在模式寄存器中。在后续的矩形访问中,基于该第二信息BMR进行列访问。除了第二信息BMR外,该矩形访问中的激活命令ACT(图中的161)和读命令RD(图中的162)与图16(A)中所示的相同。
上述第二信息BMR=V可能具有关于大端排序(V=UP)、小端排序(V=DOWN)以及亮度信息被存储在偶数DQ中而色差信息被存储在奇数DQ中(V=AL)的情况的各种信息。
按图16的(A)和(B)的任何方法,图像系统可在矩形访问中实现字节边界功能。
图17是用于实现字节边界功能的图像处理系统的配置图。与图8一样,用于控制图像存储器86的存储器控制器82被设置在图像存储器86中。地址信息BA、RA和CA,由指示由地址信息选择的4字节区域(或4比特区域)内的起始字节(起始比特)的第一信息SB和指示字节组合的第二信息BMR构成的字节组合信息(比特组合信息)166,以及操作命令ACT、RD和EMRS被从存储器控制器82提供到图像存储器86。
如上所述,在定时图(A)中,读命令RD或写命令WT(未示出)是与字节组合信息SB和BMR(图中的166)一起提供的。另外,在定时图(B)中,模式寄存器设置命令EMRS(图中的167)是与第二信息BMR一起提供的,而读命令RD或写命令WT(未示出)是与第一信息SB一起提供的。
图18示出字节边界功能。该图示出了与图6相同的矩形访问。图10之后的图说明了由列地址CA选择的4比特存储器单位区域的示例。但是,在如上所述的存储器单位区域由4个字节组成的情况下,仍能通过字节边界功能进行矩形访问。图18示出了这种情况。
在图18所示的示例中,存储体地址BA、列地址CA以及由第一信息SB和第二信息BMR构成的字节组合信息166与读命令RD(图中的167)一起被发布,以便有效地访问页区域14(BA=0,RA=0)内的矩形访问22。响应于该发布,矩形区域22内的4个字节的数据项BY0至3被同时输出到输入/输出端子DQ。在写命令WT的情况下执行同样的操作。具体而言,响应于第一读命令RD,CA1、CA1、CA0和CA0内的字节数据项分别与输入/输出端子DQ的四个4字节端子BY0至3相关联,并且响应于下一读命令RD,CA5、CAS、CA4和CA4内的字节数据项分别与输入/输出端子DQ的四个4字节端子BY0至3相关联。响应于其余读命令RD的每个列地址和每个输入/输出端子之间的关系如图所示。
这样,即使在输入/输出端子DQ的宽度是4个比特或32个比特(4个字节)的情况下,仍能实现比特边界或字节边界功能。
图19是实现简化字节边界功能的图像处理系统的配置图。如上所述,在系统设计中,可以选择两种存储器映射类型(即大端排序和小端排序)中的任何一种。因此,在上述实施例,对于小端排序指定BMR=UP而对于小端排序指定BMR=DOWN,作为字节组合信息的第二信息BMR,以便即使在进行逐字节偏移的矩形访问时图像的每个像素也可与存储器空间内的一个字节位置相关联。
在图19所示的示例中,在存储器映射12中的系统被设计为具有与小端排序相对应的配置的情况下,即使可对存储器空间15中的系统执行仅用于大端排序的字节边界功能,整个系统也可通过在图像存储器86和存储器控制器82之间设置用于切换输入/输出端子的切换装置190来实现用于小端排序的字节边界功能。
具体而言,在系统侧的存储器映射被设计用于小端排序的情况下,提供了切换装置190来将图像存储器86中的输入/输出端子0至3切换到存储器控制器82中的3至0。结果,对于图像存储器,系统侧看起来是在对大端排序作出响应。因此,即使系统被配置为具有仅针对第二信息BMR=UP的存储器,也可以实现用于小端排序的字节边界功能。
图20是用于说明实现图19所示的简化字节边界功能的图像处理系统的图。图20(1)示出图像处理系统80和图像存储器86经由连接输入/输出端子T0至3而不切换它们的连接单元200彼此相连的示例。图20(2)示出图像处理系统80和图像存储器86经由切换输入/输出端子的连接单元190彼此相连的示例。在任一种情况下,图像存储器86都具有仅用于大端排序的字节边界功能,而图像处理系统80是小端排序型的,它为了关联4比特数据(输入/输出比特宽度)而将像素位置X0至3关联到输入/输出端子T3至0。
在图20(1)中,在以地址(A)为单位进行访问的情况下,屏幕上的像素位置(X0至7)与存储器侧的地址(CA)一一关联(X0至3和CA=0,X4至7和CA=1),因而不存在问题。但是,在信号SB被指定为以比特(B)为单位进行访问的情况下,在只存在与大端排序相对应的比特边界功能(只有BMR=UP)的存储器中,像素位置的偏移(X1至4(BCDE),图中的200)不匹配存储器单元的物理位置的偏移(CBAH,图中的201),因而错误的数据CBAH被传送。在这种情况下,存储器单元上的BCDE可利用与小端排序相对应的比特边界功能(BMR=DOWN)来输出。但是,如果在存储器中提供了对大端排序和小端排序都能作出响应的比特边界功能,则会导致成本增加。
因此,如图20(2)所示,提供了用于交叉连接系统侧和存储器侧的输入/输出端子的连接单元190,以便图像上的像素X0至3对应于存储器单元上的DQ0至3,从而用于小端排序的图像处理系统80在存储器86看来就是一个用于大端排序的系统。因此,像素位置的偏移200与存储器单元的物理位置的偏移202相匹配,因而即使为了对大端排序作出响应而在偏移比特的同时进行访问,也能传送正常数据BCDE。
如上所述,通过利用能够执行交叉转换以切换连接系统和存储器的端子的连接单元190,即使在存储器具有用于大端排序的比特边界(或字节边界)功能的情况下,也可在图像处理系统中实现用于小端排序的比特边界(或字节边界)功能。此外,在具有用于大端排序和小端排序两者的比特边界(字节边界)功能的存储器的情况下,存储器和系统可经由进行连接而不切换端子的连接单元200彼此相连。
图21是示出具有字节边界功能的存储器的示意性配置的图。该存储器配置了具有至少一个或任意数目(Nb)个比特的比特群组,并且具有输入/输出端子(Nb×N),它是比特的任意数目(Nb)的倍数(N),即两倍或更多倍。数目高于预定倍数(N)的多个比特群组(Ng)配置了整个存储区域(Nb×Ng)。能够选择多个比特群组(Ng)中的任何一个的地址信息与第一操作代码同步地被接收。由地址信息选择的一个比特群组被视为起始点,并且与倍数(N)相同数目的比特群组根据预定规则被选择。与所选比特群组相对应的多个比特(Nb×N)经由输入/输出端子(Nb×N)同时递送和接收存储的信息。
上述任意数目的比特(Nb)意味着包括比特单位和字节单位两者的概念,并且根据上述实施例Nb=8(1字节)被设置。另外,倍数(N)说明任意数目的比特(Nb)的多倍的数据项是从一个地址访问的,并且Nb×N对应于输入/输出端子的数目。根据上述实施例N=4被设置,因而倍数对应于输入/输出端子,其数目等于4字节。更具体地说,输入/输出端子的数目是Nb×N,因而输入/输出端子的数目=32(=8×4)。
另外,指示多个(Ng)比特群组的Ng是存储器具有的所有比特或字节(Nb个比特的群组)的群组的数目,并且等于将整个存储区域的容量除以Nb而获得的数字。通常,数目Ng远大于作为一次输入/输出的比特群组的数目的倍数(N)。例如,在64兆比特存储器的情况下,如果Nb=1,则Ng=64M,而如果Nb=8,那么Ng=8M。根据前述示例,当考虑64兆比特存储器时,如果Nb=8,则Ng=8M。根据前述示例,能够选择任何一个比特群组的地址信息是指示作为地址(BA、RA、CA)的起始点的比特的信息(SB),其中由地址(BA、RA、CA)限制到4个字节的数据被指示作为起始点的字节的信息(SB)限于以某个字节作为起始点。
根据某个规则选择与倍数(N)相同数目的比特群组意味着根据前述示例多个字节根据关于与起始字节同时被选择的字节的组合的信息(BMR)被选择。由于N=4,因此当BMR=UP时,上行方向上的连续4个字节可从任意字节开始被同时访问。
图像处理系统经由32比特(=Nb×N)输入/输出端子访问由能够选择任何一个比特群组(根据前述示例是1个字节)的信息(BA、RA、CA)、关于作为起始点的字节的信息(SB)和关于被同时访问的字节的组合的信息(BMR)选择的4个字节。
图21所示的存储器设备的存储器的量是64比特。因此,存在八个(Ng=8)Nb=8的比特群组。地址(BA、RA、CA)和起始字节(SB)由总共3个比特构成,因而一个比特群组是从Ng=8个比特群组中选择出来的。此外,被同时访问的比特群组(N=4)是由组合信息(BMR)来确定的。因此,在图21所示的示例中,第二群组由地址(BA、RA、CA)和起始字节(SB)选择,并且第二群组之后的四个群组(群组2至群组5)利用组合信息BMR=UP从输入/输出端子被同时访问。
如果在同样的64比特存储器中地址被递增1,则比特单位为4(Nb=4)的比特群组的数目是16(Ng=16),并且如果输入/输出端子保持为Nb×N=32,那么预定的倍数则变成了8(N=8),因而七个其他的比特群组被组合信息BMR选择。
[具有字节边界功能的存储器]
接下来详细描述具有字节边界功能的图像存储器的配置。根据字节边界功能,超出存储器单位区域(4字节区域)的4字节数据可被选择,其中存储器单位区域由列地址选择。因此,用于输入/输出4字节所需数据的功能被添加到存储器。下面,为了简化,描述了只有第一信息(SB)(称为“起始字节”或“起始比特”)被提供作为字节组合信息的示例。第二信息BMR只是UP的示例。
[内部列控制的示例]
首先,描述在存储器侧执行的列控制的若干具体示例。
图22示出具有字节边界功能的图像存储器的第一示例。图23是用于说明图22中的操作的图。
如图22所示,与图9所示的图像存储器相同的组件被应用以相同的标号。地址信号A被多重系统输入。行地址RA被锁存到行地址缓冲器94R中,并且列地址CA被锁存到列地址缓冲器94C中。行控制器87将行地址RA提供到所选存储器存储体92的行解码器223。列缓冲器94C内的列地址CA也被提供到所选存储器存储体的列解码器222。
存储器存储体92被划分成字节区域0至3,这是四个存储器块。每个字节区域具有存储器单元阵列224、第二放大器225、一对数据锁存器226和227以及数据总线开关228,并且在一次访问中输入/输出一个字节(8比特)的数据。总共32个比特(4个字节)的数据被从四字节区域中输入/输出到I/O总线。I/O总线经由缓冲器连接到输入/输出端子DQ0至31的32个比特。应当注意,图22只示出了一个存储器存储体92,而剩余的三个存储器存储体被省略了。
列控制器90具有用于控制操作列解码器222的定时的列定时控制器220,以及用于控制数据锁存电路226和227以及数据总线开关228的数据锁存选择器221。数据锁存选择器221响应于列地址CA和起始字节SB控制字节区域0至3中的每一个内的数据锁存电路226和227以及数据总线开关228。
如图23所示,假定行地址RA0的页区域内从列地址CA0的第二字节到列地址CA1的第一字节的4字节数据被访问。因此,确立起始字节SB=1。
图23所示的存储器芯片86示出了存储器空间和输入/输出端子DQ之间的关系。在图23中,由列地址CA一次选择的存储器单位区域的4字节数据项由Q00至15指示。具体而言,4字节数据项Q00至03由列地址CA0选择,而4字节数据项Q04至07由列地址CA1选择。
图23的右侧示出了定时图。首先存储体地址(未示出)和行地址RA0与激活命令ACT一起被提供,使得相应存储体内的字线被驱动,然后读出放大器被激活。然后,列地址CA0和作为存储体组合信息的起始字节信号SB=1与读命令RD一起被提供。响应于此,所选存储器存储体92内的列解码器222以时间共享方式将与列地址CA0相对应的内部解码信号222D和与通过将CA0递增1而获得的CA1相对应的内部解码信号222D输出到四字节区域0至3。分别与CA0和CA1相对应的两个1字节数据项被缓存到每个字节区域中的数据锁存电路226和227。然后,数据总线开关228把根据每字节区域中CA0和SB1的组合而选择的1字节数据项中的任何一个从数据锁存电路226和227输出到I/O总线。具体而言,CA0的数据项Q01、Q02和Q03以及CA1的数据项Q04被输出到I/O总线。当执行写操作时,1字节数据被从I/O总线输入到任一个数据锁存电路中。
具体而言,列解码器在一次访问中选择相当于每个字节区域中的一个字节的列线(位线)。当执行读操作时,相当于1字节的数据从每个字节区域的存储器单元阵列224被选择,然后被第二放大器225放大并被缓存到数据锁存电路226和227。此时,由相同列地址CA映射的存储器单元在每个字节区域中被访问。为了实现跨越列地址能够选择的存储器单位区域(四字节区域)的边界进行的字节边界访问,列解码器222在结束第一访问之后再次选择列线。该列线的地址是CA1,这是前一地址CA0之后的地址。从存储器单元阵列224读取的1字节数据被第二放大器放大,并被缓存到与第一访问不同的数据锁存电路227。
因此,在数据锁存电路226和227中存在其大小是输入/输出端子DQ在一次访问中所需的4字节数据的两倍的8字节数据项,因而数据总线开关228从缓存到每个字节区域的数据锁存电路的2字节数据中选择1字节数据,即一半数据,并将该数据传送到I/O总线。数据锁存选择器221响应于列地址CA0和起始字节信号SB=1控制每个字节区域内的数据锁存电路226和227上的缓存操作和数据总线开关228上的切换操作。因此,与不同的列地址CA0和CA1相对应的字节数据可从每个字节区域被传送到I/O总线。
结果,如图23所示,4字节数据项Q04、Q01、Q02和Q03经由I/O总线分别被传送到输入/输出端子DQ。这样,输入/输出单元93由第二放大器225、数据锁存电路226和227以及数据总线开关228配置而成。
图24示出具有字节边界功能的图像存储器的第二示例。图25是用于说明图24所示的操作的图。
图24所示的配置与图22的不同之处在于在存储器存储体92内的每个字节区域0至3中,存储器单元阵列被划分成两个阵列224-0和224-1,并且在每个阵列中提供了第二放大器225和数据锁存电路226和227。一对存储器单元阵列224-0和224-1对应于偶数列地址CA(CA[0]=0)和奇数列地址CA(CA[0]=1)。列解码器222不以时间共享的方式从给定的列地址CA0输出CA0和CA1的解码信号,而是将两个解码信号222D0和222D1同时输出到该对存储器单元阵列224-0和224-1。响应于此,该对存储器单元阵列各自向数据锁存电路226和227输出1字节数据。因此,字节区域同时缓存所提供的列地址CA和通过将该列地址CA递增1而获得的列地址的2字节数据。然后,数据锁存选择器221响应于列地址CA和起始字节信号SB控制数据总线开关228的切换,并且将所需的1字节数据传送到输入/输出总线。四个字节区域中的每一个输出1字节数据,因而总共4字节数据被从输入/输出端子DQ输出。
在写命令的情况下,提供到输入/输出端子DQ的4字节数据经由响应于列地址CA和起始字节信号SB被切换和控制的数据总线开关228被存储到两个数据锁存电路226或227中,然后被写入到两个存储器单元阵列224-0或224-1。
图25示出当起始字节信号SB=1并且突发长度BL=4时执行的操作。列地址CA0和起始字节信号SB=1与读命令RD一起被提供,并且当突发长度BL=4被模式寄存器设置时,列解码器222将与列地址CA0和CA1相对应的解码信号222D0、222D1同时提供到字节区域0至3中的每一个,其中列地址CA1是通过将列地址CA0递增1而获得的。响应于此,每个字节区域的一对存储器单元阵列224-0和224-1各自经由第二放大器225向数据锁存电路226和227输出1字节数据。因此,从每个字节区域缓存2字节数据。然后,基于列地址CA和起始字节信号SB,数据锁存选择器221向数据总线开关228提供用于选择每个字节区域中的数据锁存电路中的任何一个的数据(四个字节区域中的1比特,即总共4比特)的控制信号S221,然后控制数据总线开关内的切换操作。结果,4字节数据项Q04和Q01至03在第一周期中被传送到I/O总线。
在图25中,由于突发长度BL=4,因此列解码器222响应于由列定时控制器220执行的控制发布与列地址CA2、CA3相对应的解码信号222D0和222D1,以便进一步将8字节数据缓存到数据锁存电路226和227。由于数据锁存电路226和227也需要保存CA0和CA1的8字节数据,因此每个数据锁存电路被配置为能够保存2字节数据。结果,新的8字节数据Q08至15被锁存到数据锁存电路。然后,数据总线开关228向输入/输出总线传送前一时钟周期中保存的8字节数据Q00至07和当前时钟周期中保存的8字节数据Q08至15中的4字节数据Q05至08。因此,在这种情况下数据锁存选择器221的选择信号S221由8个比特(每个字节区域中2个比特)组成。
在下一时钟周期中,列解码器222发布与列地址CA4和CA5相对应的解码信号222D0和222D1,并且进一步将8字节数据Q16至Q23缓存到数据锁存电路。然后,数据总线开关228传送4字节数据Q09至12。在下一时钟周期中,数据总线开关228将4字节数据Q13至16传送到输入/输出总线。此时,不必缓存来自存储器单元阵列的新的8字节数据。
如上所述,写操作被执行,以使得如果突发长度BL为4,则4字节数据在四个周期中被提供到输入/输出端子DQ,然后经由数据总线开关228被存储在数据锁存电路226和227中。然后,响应于来自列解码器222的列地址CA0、1、CA2、3和CA4、5的解码信号,总共16字节数据在三个周期中被写入存储器单元阵列。
图26示出具有字节边界功能的图像存储器的第二示例的修改示例(1)的操作。在图25所示的示例中,字节区域0至3中的每一个将2字节数据缓存到一对数据锁存电路226和227。但是,在图26所示的修改示例中,在读命令RD之后的第一列控制中,列解码器222同时发布列地址CA0和CA1的内部解码信号222D0和222D1,并且每个字节区域同时将2字节数据缓存到该对数据锁存电路。然后,在后续缓存操作中,列解码器222交替发布偶数(CA2、CA4)的内部解码信号222D0和奇数(CA3)的内部解码信号222D1,并且每个字节区域交替地将1字节数据缓存到该对数据锁存电路226和227。
具体而言,8字节数据Q00至07首先被缓存,然后4字节数据Q08至11、Q12至15以及Q16至19被缓存到数据锁存电路。然后,数据总线开关228将要传送的4字节数据DQ1至4、Q05至08、Q09至12和Q13至16顺序传送到输入/输出总线。在这种情况下,数据锁存选择器221的选择信号S221也由8个比特(每个字节区域中2个比特)组成。如上所述,在读操作中,存储器单元阵列利用列地址的解码信号在四个周期中将数据缓存到数据锁存电路,并且从数据锁存电路对输入/输出总线的数据传送操作也在四个周期中执行。
在写操作的情况下,同样,4字节数据在四个周期中被提供到输入/输出端子DQ,并且在四个周期中经由数据总线开关228被存储在数据锁存电路226和227中。然后,响应于来自列解码器222的列地址CA0/1、CA2、CA3和CA4的解码信号,总共16字节数据在四个周期中被写入存储器单元阵列。
图27示出具有字节边界功能的图像存储器的第二示例的修改示例(2)的操作。该示例被应用到DDR(双数据速率)。DDR的SDRAM在时钟CLK的上升沿和拖尾沿都执行从DQ端子的数据输入和输出。具体而言,4字节数据Q05至08在上升沿被输入/输出,而4字节数据Q09至12在拖尾沿被输入/输出。
由于这样一来输入/输出速率被加倍,因此必须使存储器中需要被缓存的数据量加倍。在图27所示的示例中,16字节数据Q00至03、Q04至07、Q08至11和Q12至15在读命令RD之后的第一缓存周期中被同时缓存到数据锁存电路,并且16字节数据中的4个字节即Q05至08在时钟的上升沿被传送到I/O总线,而接下来的4字节数据Q09至12在时钟的拖尾沿被传送到I/O总线。
为了实现图27所示的对16字节数据的这种集体缓存,在图24所示的每个字节区域0至3内,存储器被划分成四个存储器单元阵列,并且在每个阵列中提供了第二放大器和数据锁存电路。然后,在每个字节区域中,列解码器222响应于起始列地址CA1将相应的列地址CA0至3的内部解码信号提供给四个存储器单元阵列,然后4字节数据被缓存到四个数据锁存电路。然后,由数据总线开关228选择的数据锁存电路的1字节数据被数据缓存选择信号S221从四个数据锁存电路传送到输入/输出总线。在图中,核心总线对应于存储器单元阵列的输入/输出总线,并且核心总线的数据被缓存到数据锁存电路。
应当注意,图27所示的示例是在不考虑输入列地址CA的LSB(CA[0])的情况下配置的,并且在输入列地址CA0或CA1的情况下与列地址CA0至3相对应的数据项始终被访问。具体而言,不论输入列地址是被指定为奇数还是偶数,要被配对的列地址都是固定的。
此外,在下一时钟周期中,列解码器222向四个存储器单元阵列发布列地址CA4至7的内部解码信号,并且还将4字节数据缓存到四个数据锁存电路。因此,16字节数据Q16至31被锁存到数据锁存电路,并且16字节数据中所选的4字节数据即Q13至16以及4字节数据Q17至20分别在时钟的上升沿和拖尾沿被输出。
在写操作中,写数据在与上述方向相反的方向上经由数据锁存电路从输入/输出端子DQ被写入存储器单元阵列中。
在图27的情况下,同样,数据锁存选择信号S221是由每个字节区域中的2个比特即总共8个比特组成的控制信号。这种数据锁存选择信号是由列控制器90内的数据锁存选择器220响应于列地址CA和起始字节信号SB而生成的。
图28示出具有字节边界功能的图像存储器的第二示例的修改示例(3)的操作。与图27一样,图28是与DDR相对应的操作示例,并且与图27的差异在于在列方向上将要同时访问的列地址的组合根据输入列地址CA是被指定为奇数还是偶数而有所不同。具体而言,与通过将输入列地址CA递增1、2和3而获得的CA相对应的数据项被同时访问。换言之,在输入列地址CA1的情况下,CA1、CA2、CA3和CA4的数据项被访问。具体而言,列解码器监视输入列地址CA的LSB(CA[0])以确定要同时访问的列地址。
如图28所示,列解码器针对输入列地址CA1生成CA1至4的内部解码信号22D0至3,然后每个字节区域的4字节数据即总16字节数据被缓存到数据锁存电路。然后,CA5至8的内部解码信号222D0至3在下一时钟周期中被生成,并且6字节数据被缓存。因此,要缓存的16字节数据是通过偏移图27中的4个字节来获得的。
因此,图28所示的读操作和写操作可按与图27相同的存储器配置实现。
图29示出具有字节边界功能的图像存储器的第三示例。另外,图30是用于说明图29所示的操作的图。在第三示例中,通过在一次列访问中访问字节区域0至3中的每一个,将字节边界功能要输入/输出的4字节数据Q01至04传送到/传送自输入/输出总线。具体而言,与上述第一和第二示例不同,为了访问与相邻列地址的存储器单位区域相对应的4字节数据,不从相邻列地址的多个存储器单位区域缓存8字节数据或16字节数据。
如图29所示,列控制器90具有列地址控制器290,并且向存储器存储体92内的字节区域0至3中的每一个内的列偏移器电路291提供指示是否要将列地址CA偏移1的偏移控制信号S290。每个字节区域具有列偏移器291,用于对列偏移器的输出进行解码的列解码器222、用于利用内部解码信号222D输入/输出1字节数据的存储器单元阵列224、第二放大器、数据锁存电路226以及数据总线开关228。每个字节区域内的列偏移器291响应于偏移控制信号S290通过将列地址CA偏移或不偏移1来将列地址输出到列解码器222。数据锁存电路226只需要保存1字节数据。因此,数据总线开关228始终选择数据锁存电路226内的1字节数据并将该数据传送到I/O总线。
根据示出操作的图30,列地址控制器290响应于输入列地址CA0和起始字节信号SB对字节区域0的列偏移器291执行控制以便将列地址CA0偏移1以生成CA1,并且还对其他字节区域1至3的列偏移器执行控制以便不将列地址CA0偏移1。结果,在字节区域0中,1字节数据Q04基于与列地址CA1相对应的内部解码信号222D被访问,并且被锁存到数据锁存电路226。另外,在其他字节区域1至3中,1字节数据Q01、Q02和Q03分别基于与列地址CA0相对应的内部解码信号222D被访问,并且被锁存到数据锁存电路226。
如上所述,在图29和图30所示的第三示例中,列地址具有复杂的配置,这是因为列地址是在与要访问的4字节数据相关联的存储器内部生成的,但是对大于4字节数据的字节数据的缓存操作可被消除。因此,输入/输出单元93中的配置可得以简化,并且存储器存储体内的功率消耗可得以降低。
在读操作中,与从每个字节区域中的列解码器222提供的列地址相对应的1字节数据被输出到数据锁存电路226,然后经由数据总线开关228被传送到输入/输出端子DQ。在写操作中,输入到输入/输出端子DQ的4字节数据经由每个字节区域中的数据总线开关228被锁存到数据锁存电路226。然后,锁存的数据从每个字节区域中的列解码器222中被写入到与列地址相对应的存储器。
在由列地址选择的存储器单位区域由4比特构成的情况下,图22所示的存储体内的四个字节区域被配置为4比特区域,并且数据的多个组合或一个组合按比特单位1从每个比特区域被访问。
[对与输入/输出端子的关系的控制]
接下来,描述控制图像存储器内的输入/输出端子DQ和存储器单元阵列内的总线或数据锁存电路之间的联系的示例。
图31示出到具有字节边界功能的图像存储器的输入/输出端子的联系手段。图32示出图31的操作。在到输入/输出端子的联系手段中,如图32所示,与存储器空间内的列地址CA相对应的4字节数据始终与一组输入/输出端子DQ[7:0]至DQ[31:24]相关联,并且其间的关系不会动态地切换。具体而言,输入/输出端子DQ和存储器内的总线(存储器单元阵列224的输入/输出总线)之间的每个关系(分配联系)始终是固定的,而不受起始字节信号SB的影响。因此,即使起始字节信号SB在写入时和读取时是不同的,在写入时要输入的输入/输出端子DQ也与在读取时要输出的输入/输出端子DQ相同。
图31示出了当访问延伸跨越由列地址CA选择的4字节区域的4字节数据时连接DQ端子的方法。该图假定了从列地址CA0的4字节区域中的Byte 1(Q01)执行的读操作(SB=1)。
在输入/输出端子DQ不被切换的情况下,作为Byte 1的数据存储的数据被输出到与Byte 1相对应的DQ端子,而不依赖于起始字节信号SB。因此,存储器单元阵列224和输入/输出缓冲器94I/O之间的连接始终被固定地分配。因此,执行对起始字节信号SB的指定只是为了确定存储器单元阵列224中的列地址CA的哪条总线应当被连接到输入/输出缓冲器94I/O.
图31所示的示例是与图22所示的第一示例和图24所示的第二示例相对应的配置示例,其中字节区域0至3中的每一个被分配到一对区域(奇数列地址CA[0]=0和偶数列地址CA[0]=1)。具体而言,与图24一样,存在与两个列地址CA(即奇数列地址和偶数列地址)相对应的存储器单元区域,并且该存储器单元区域被进一步划分成四个字节区域。字节区域Byte 0区域至Byte 3区域包括列解码器到数据锁存电路。在读操作的情况下,大小为一次访问所需数据的两倍的数据被从字节区域输出,并且数据的一半即4字节数据在数据总线开关228的一组开关(图中的八个方块)中的每一个处被连接到输入/输出缓冲器94I/O。
这样,如果输入/输出端子DQ不被切换,那么从存储器单元的Byte 1区域输出的数据Q 01肯定会连接到与输入/输出缓冲器94I/O的Byte 1相对应的输入/输出端子DQ[15:8]。因此,利用字节开始信号SB对数据总线开关228的控制意味着对把输入/输出缓冲器94I/O连接到与两个列地址CA相对应的区域的数据锁存电路中的任何一个的控制。
图24所示的相应的四个字节区域0至3内的数据总线开关228被总体示为图31的数据总线开关228。因此,每个字节区域的数据总线开关228由与图31内的相同输入/输出端子DQ相对应的一对开关构成。
图33示出到具有字节边界功能的图像存储器的输入/输出端子的联系手段。图34示出图33所示的操作。在到输入/输出端子的联系手段中,如图34所示,与存储器空间内的列地址CA相对应的4字节数据从根据起始字节信号SB的起始字节开始,顺序地与输入/输出端子群组DQ[7:0]至DQ[31:24]相关联,并且存储器单元阵列224和输入/输出端子DQ的每个群组之间的关系被动态地切换。具体而言,输入/输出端子DQ和存储器的总线之间的每个关系(分配联系)被起始字节信号SB所影响,因而发生改变。因此,如果起始字节信号SB在写入时和读取时不同,那么在写入时要输入的输入/输出端子DQ则与在读取时要输出的输入/输出端子DQ不同。
从图34清楚可见,在起始字节SB=1的情况下,存储器内的数据项Q01至04与输入/输出端子群组DQ[7:0]至DQ[31:24]相关联。具体而言,存储器单元阵列内的总线或数据锁存电路与输入/输出端子群组之间的联系被配置成使得起始字节数据与输入/输出端子DQ[7:0]相关联,而剩余的3字节数据根据起始字节信号SB顺序地与剩余的输入/输出端子DQ相关联。因此,图33所示的数据总线开关228具有一组输入/输出总线I/O总线,存储器单元阵列224的总线或数据锁存电路,以及所有交点位置处的开关。这些开关的群组受到数据锁存选择器221利用数据锁存选择信号S221进行的接通/断开(ON/OFF)控制,从而上述动态关联可得以实现。
这样,根据起始字节信号SB针对存储器单元阵列内的总线或数据锁存电路切换输入/输出端子DQ。具体而言,从存储器单元阵列内的字节区域Byte 1输出的字节数据Q01在SB=“1”时被连接到与输入/输出缓冲器94I/O的Byte 0相对应的DQ[7:0],并且如果SB=“1”则还被连接到DQ[15:8]。字节区域Byte 1的字节数据Q05在SB=“3”时连接到DQ[23:16],并且在SB=“2”时还连接到DQ[31:24]。具体而言,图33所示的处于闭合状态的四个开关的位置根据起始字节信号SB被向右偏移。
接下来,参考对与输入/输出端子的联系的控制描述对大端排序和小端排序之间的联系的控制。
图35是具有字节边界功能并能够与排序相对应的图像存储器的配置图(1)。在该示例中,与参考图19和图20描述的图像存储器一样,存储器核心350内的配置仅与大端排序(上行模式)相对应。具体而言,只描述了字节边界操作中从与起始字节信号SB相对应的字节位置起在上行模式下访问4字节数据的功能。即使在这种情况下,数据总线开关228的开关群组也被控制,从而,用于大端排序的图像系统和用于小端排序的图像系统都能实现适当数据的输入和输出。
在图中,模式寄存器96被提供以第二信息BMR,作为指示上行模式或下行模式的字节组合信息,并且模式被设置为任何一种模式。但是,具有图29所示的列解码器、存储器单元阵列和第二放大器等等的存储器核心350只对上行模式控制作出响应。具体而言,列控制电路只具有上行模式控制器351,而不具有下行模式控制器。
图35(A)示出了上行模式的数据总线开关228。具体而言,在上行模式(即大端排序)的情况下,存储器核心350被上行模式控制器351控制为上行模式。因此,数据总线开关228将数据锁存电路226的4字节数据即Byte 0至3直接连接到输入/输出缓冲器94I/O。具体而言,存储器核心350核心数据总线cdb00z至cdb31z被直接连接到I/O数据总线pdb00z至pdb31z。
另一方面,图35(B)示出了下行模式下的数据总线开关228。具体而言,在下行模式(即小端排序)的情况下,存储器核心350被上行模式控制器351控制为上行模式,但数据总线开关228却将数据锁存电路226的4字节数据即Byte 0、1、2和3与输入/输出缓冲器94I/O的4字节数据即Byte 3、2、1和0关联起来。在这种情况下,核心总线cdbxxz和I/O总线pdbxxz以字节为单位互换。
在示出数据总线开关228的图35(B)中的示例中,在图像存储器86内提供了与图19和20所示的输入/输出端子的切换装置190相同的装置。这样,存储器核心被配置成能够对大端排序或小端排序作出响应,并且上述数据总线开关228被提供来根据下行模式或上行模式互换其开关,从而图像存储器能够对两种排序作出响应。
图36是具有字节边界功能并能够与排序相对应的图像存储器的配置图(2)。与图35一样,该图像存储器具有仅能够与上行模式控制相对应的存储器核心配置,并且数据总线开关228根据在模式寄存器96中设置的第二信息BMR=UP/DOWN被切换,从而图像存储器可对两种模式作出响应。与图35的差异在于数据总线开关228所执行的数据切换被执行成使得MSB(DQ31)和LSB(DQ00)被互换。具体而言,除了4个字节外,每个字节中的8比特数据也被改变了。
图37是具有字节边界功能并能够与排序相对应的图像存储器的配置图(3)。该图像存储器对应于图29所示的图像存储器,其中相应的存储器核心350内的相应的四个字节区域的列地址的组合被控制为响应于操作模式而改变,并且从与起始字节信号SB相对应的字节起在上行方向或下行方向上延伸的4字节数据从四个存储器阵列被输入/输出。
例如,当如图30所示的列地址CA0和起始字节SB=1时,四个字节区域Byte 0至3的内部列地址在上行模式下分别变为CA1、CA0、CA0和CA0,并且数据项Q04、Q01、Q02和Q03从4字节的输入/输出端子DQ输入/输出。另一方面,在下行模式的情况下,列地址分别变为CA0、CA0、CA1和CA1,并且数据项Q00、Q01、Q06和Q07从4字节的输入/输出端子DQ输入/输出。
这样,要被提供给相应存储器核心内的四个字节区域Byte 0至3的列地址被列偏移器291根据上行模式或下行模式而切换。然后,由起始字节信号SB和模式信号BMR唯一确定的列地址的组合经由列偏移器291被提供到每个存储器核心350的每个字节区域。该列偏移器291根据上行模式/下行模式Up/Down选择需要切换的两个列地址之一,这两个列地址是从来自列地址控制器90A的四个列地址caby0z至caby3z中选择出来的。具体而言,在字节区域Byte 0中,caby0z或caby3z被选择。在字节区域Byte 1中,caby1z或caby2z被选择。在字节区域Byte 2中,caby1z或caby2z被选择。另外,在字节区域Byte 3中,caby0z或caby3z被选择。
在单数据速率(SDR)的情况下,4字节数据只能在一次访问中被访问,因而如参考图29所述,保存在与每个字节区域相对应的数据锁存电路中的1字节数据可直接被传送到输入/输出总线。
另一方面,在双数据速率(DDR)的情况下,8字节数据的4个字节需要在一次访问中被输入/输出。因此,在图29所示的配置中,字节区域Byte 0至3中的每一个被提供以一块偶数列地址(CA[0]=0)和一块奇数列地址(CA[0]=1),然后由起始字节信号SB和模式信号BMR唯一确定的列地址的组合被从列偏移器291提供到该对块,并且所需的4字节数据被数据总线开关228选择并被传送到输入/输出总线I/O总线。在这种情况下,数据总线开关228内的每个开关响应于从数据锁存选择器221发送来的控制信号dabyaz至dabydz选择偶数块或奇数块的数据,并且将所选数据传送到输入/输出总线I/O总线。因此,数据总线的列地址daby0z至daby3z被从列地址控制器90B提供到数据锁存选择器221,数据锁存选择器221根据上行模式/下行模式Up/Down选择需要切换的两个字节之一,或者四个字节区域。切换候选的组合与上述列偏移器291相同。
如图37所示,通过控制列地址的组合,数据总线开关228内的开关数目可得以减少。具体而言,在图35和36所示的数据总线开关中,当输入/输出端子DQ的数目是N个字节时,需要2N*8个开关。但是,通过控制列地址的组合,如图37所示,在列偏移器291和数据总线开关228中分别需要2N个开关,因而总共需要4N个开关。因此,开关数目可以减少到图35和36所示的开关数目的1/4。
图38是图37所示的DDR存储器的上行模式的操作定时图。在该示例中,列地址是CA1且起始字节信号SB是1,并且存储在大端排序的存储器86中的数据项DQ05至08被读出。具体而言,数据项Q00至19和与存储器86内的列地址相对应的输入/输出端子DQ之间的关系如图所示。
如上所述,在DDR存储器的情况下,存储器单元阵列内的每个字节区域具有一块偶数列地址(CA[0]=0)和一块奇数列地址(CA[0]=1),然后列地址的受控组合caby被提供到这些块,并且用于切换数据总线的列地址的受控组合daby被提供到数据总线开关228。
具体而言,CA1被输入作为基准列地址CA。与该输入一起,提供到字节区域Byte 0至3中的每一个内的偶数块(CA[0]=“0”)和奇数块(CA[0]=“1”)的列地址CA被控制。列地址CA2的列线在偶数块的区域(CA[0]=“0”)中被激活。列地址CA3的列线在字节区域Byte 0中被激活,列地址CA1的列线在奇数块的区域(CA[0]=“1”)中的字节区域Byte 1、2和3中被激活。
结果,数据项Q05至12被输出到存储器核心的核心总线。具体而言,数据项Q08至11被输出到偶数块的核心总线,而数据项Q5至7以及Q12被输出到奇数块的核心总线。
在DDR存储器中,必须将该8字节数据中的4字节数据传送到I/O总线。在这里,基于起始字节信号SB和列地址CA,数据总线开关仅选择字节区域Byte 0中的偶数块(CA[0]=“0”)的数据。结果,数据项Q05至08可被输出到输入/输出端子DQ。
在这里,在偶数块区域和奇数块区域(CA[0]=“0”/“1”)中的每一个中,内部列地址cabyaz选择caby0z,内部列地址cabybz选择caby1z,cabycz选择caby2z,并且cabydz选择caby3z。类似地,在偶数块区域和奇数块区域(CA[0]=“0”/“1”)中的每一个中,数据总线的列地址dabyaz选择daby0z。类似地,dabybz选择daby1z,dabycz选择daby2z,并且dabydz选择daby3z。
图39是图37所示的DDR存储器的下行模式的操作定时图。在该示例中,列地址是CA1且起始字节信号SB是2,并且存储在小端排序的存储器86中的数据项DQ05至08被读出。具体而言,数据项Q00至19和与存储器86内的列地址相对应的输入/输出端子DQ之间的关系如图所示。与图38的差异在于4字节数据和输入/输出端子DQ之间的关系与图38所示的相反。
在这种情况下,CA1被输入作为基准列地址CA。与该输入一起,提供到字节区域Byte 0至3中的每一个内的偶数块(CA[0]=“0”)和奇数块(CA[0]=“1”)的列地址CA被控制。列地址CA2的列线在偶数块(CA[0]=“0”)中被激活。列地址CA3的列线在字节区域Byte 3中被激活,列地址CA1的列线在奇数块(CA[0]=“1”)中的字节区域Byte 2、1和0中被激活。
结果,数据项Q05至12被输出到存储器核心的核心总线。具体而言,数据项Q08至11被输出到偶数块的核心总线,而数据项Q5至7以及Q12被输出到奇数块的核心总线。
在DDR存储器中,必须将该8字节数据中的4字节数据传送到I/O总线。在这里,基于起始字节信号SB和列地址CA,数据总线开关仅选择字节区域Byte 3中的偶数块(CA[0]=“0”)的数据Q08,并且对于余下的字节区域选择奇数块的数据项Q05至07。因此,4字节数据项Q05至08可被输出到输入/输出端子DQ。
在这里,在偶数块区域和奇数块区域(CA[0]=“0”/“1”)中的每一个中,内部列地址cabyaz选择caby3z,内部列地址cabybz选择caby2z,cabycz选择caby1z,并且cabydz选择caby0z。类似地,在偶数块区域和奇数块区域(CA[0]=“0”/“1”)中的每一个中,数据总线的列地址dabyaz选择daby3z。类似地,dabybz选择daby2z,dabycz选择daby1z,并且dabydz选择daby0z。
如上所述,当比较图39中的下行模式与图38中的上行模式时,cabyz和dabyz在字节区域Byte 0和Byte 3之间以及字节区域Byte 1和Byte 2之间被切换,从而模式可对应于采取两类排序(大端排序和小端排序)的字节数据项的布置。图40是用于说明指定字节边界功能的边界的方法的图。在该图中,在跨越列地址CA[7:0]=#n和#n+1的相邻四个字节区域的边界进行访问的字节边界功能中,考虑了基于起始字节SB执行边界指定方法的情况和基于偏移值SV执行边界指定方法的情况。起始字节SB=N意味着从字节N起跨4个字节进行访问,偏移值SV=N意味着从相对于列地址的4字节区域的边界偏移N个字节的位置起跨4个字节进行访问。
在这种情况下,起始字节SB和偏移值SV在上行模式和下行模式中根据两种排序模式而变化。具体而言,在上行模式的情况下,由于字节数据项是以Byte 0至3的方式布置的,因此SB和SV相同。但是,在下行模式的情况下,字节数据项是以Byte 3至0的方式布置的,因而SB和SV不同且处于相反关系。
因此,在图像存储器只具有起始字节信号SB端子而内部结构根据偏移值SV被控制的情况下,必须根据模式是上行模式还是下行模式来决定是不颠倒还是颠倒起始字节信号SB以获得偏移值SV。这同样适用于图像存储器只具有偏移值SV端子而内部结构根据起始字节SB被控制的情况。
图41示出起始字节SB和偏移值SV的转换电路。转换电路410由2个比特410[0]、410[1]组成,并且由CMOS传输门412和413以及反相器414和415构成。起始字节信号SB根据指示上行模式或下行模式的计数型信号不被颠倒或颠倒以获得偏移值SV。如转换电路410的真值表411所示,在上行模式的情况下SB不被颠倒以变为SV,但在下行模式的情况下SB被颠倒以变为SV。
[矩形访问中的列地址控制]
如图1所示,在用于将图像存储器的存储器空间与图像的像素关联起来的存储器映射12和14E中,在由存储体地址BA和行地址RA选择的页区域14内,根据图像中的像素矩阵的布置执行映射以便以预定的卷绕宽度(CA Wrap)卷绕由列地址CA选择的存储器单位区域(4字节区域)。在图1所示的示例中,列地址CA在页区域14内以4为单位被卷绕。即,列地址的卷绕宽度CA Wrap是4。列地址的该卷绕宽度也被称为列地址的“步长”。
通过以预定的卷绕宽度卷绕由列地址选择的存储器单位区域的这种映射,在图像存储器中频繁进行的矩形访问的效率可得以提高。具体而言,在页区域经历利用激活命令的激活操作的同时,读命令和写命令根据要访问的矩形区域被反复发布,从而可对同一页区域内的矩形区域进行访问。由于可通过执行激活操作一次对同一页区域内的矩形区域进行访问,因此可进行高效的访问。
如图16所示,在这种矩形访问中,必须反复发布读命令RD、存储体地址BA、列地址CA和起始字节信号SB。但是,如果存储器的映射信息或者更具体而言页区域的列地址CA的卷绕宽度(CA Wrap)已知,则可以提供矩形区域的起始列地址CA、矩形宽度和矩形大小,以便图像存储器能够在内部自动发布要访问的列地址,从而矩形区域的图像数据可被访问。在这种情况下,读命令和列地址可被发布一次,因而不必像图16中那样多次发布它们。
图42是用于说明利用字节边界功能的自动矩形访问的图。在该示例中,要访问的数据区域由存储器映射421中的箭头示出。在该存储器映射中,列地址CA在页区域14内以8为单位被卷绕。因而,列地址卷绕宽度CA Wrap是8。因此,页区域14右端的列地址CA是#07、#0F、#17和#1F(十六进制),并且卷绕宽度CA Wrap是8。另外,要被访问的矩形区域的起始地址CA是CA=#B,起始字节SB=2,矩形区域的宽度Rwidth=2个时钟(4个字节×2个时钟=8个字节),并且矩形区域的大小是突发长度BL=8(4×8=32)。因此,矩形区域的高度是BL/Rwidth=4。
图43是自动矩形访问的定时图。图44是自动矩形访问中所需的内部列地址计算器的配置图。为了执行图42所示的矩形访问,列地址CA=#0B/#0C、#0C/#0D、#13/#14、#14/#15、#1B/#1C、#1C/#1D、#23/#24和#24/#25可在存储器内响应于提供的列地址CA=#0B和SB=2被发布。具体而言,在第一访问中,Byte 2和3访问CA=#0B,而Byte 0和1访问CA=#0C。在第二访问中,列地址CA前进1,因而Byte 2和3访问CA=#0C,而Byte 0和1访问CA=#0D。在该示例中,由于矩形宽度RWidth=2,因此第三访问是对卷绕的列地址CA=#13和#14进行的,而不是列地址CA被偏移1之后的位置。因此,必须根据列地址卷绕宽度CA Wrap和矩形宽度Rwidth计算第三列地址。当利用Byte 2和3考虑该第三地址时,要访问的第三CA是基于当前列地址CA=#0C(=12(十进制))、CA Wrap=8以及RWidth=2利用图43所示的公式(CA+CA Wrap-Rwidth+1)以CA=12+8-2+1=19(十进制)=#13(十六进制)的形式获得的。图44示出列控制器90内的列地址计算器。该计算器具有:列地址计数器440,其同步于与时钟定时同步的内部时钟pclenz将从外部提供的列地址CA和卷绕的列地址CA(Wrap)递增1;计算机441,其将CA Wrap与列地址计数器的计数值相加并减去RWidth;开关442,用于在矩形区域被卷绕时选择计算机441的输出;矩形宽度计数器444,其对同步时钟pclenz计数并且在访问期间在水平访问上对计数值进行计数;以及比较器445,其检测到矩形宽度计数器444的水平计数值widthz与矩形宽度Rwidth相匹配,并且为开关442生成切换信号wrapz。
参考图43所示的定时图进行说明。首先,假定矩形区域大小在模式寄存器中被设置为突发长度BL=8,并且页区域内列地址CA的卷绕宽度CA Wrap=8也被设置在模式寄存器中。然后,起始列地址CA=#0B、起始字节SB=2和要访问的矩形区域的矩形宽度Rwidth=2在激活命令之后与读命令430一起被提供。响应于此,定时时钟pclenz与时钟同步地被生成,矩形宽度计数器444随后在访问期间在水平方向上对计数值widthz进行上行计数,并且列地址计数器440从起始列地址CA=#0B开始进行上行计数。
针对第一访问发布的内部列地址caz[7:0]是CA=#0B/#0C,如图43所示。在第二访问中,响应于通过利用列地址计数器440将caz=#B递增1而获得的列地址caz[7:0]=#C,#0C/#0D被输出。在第三访问中,矩形区域需要以矩形宽度为单位被卷绕,因而计算机441的计算值被开关442选择,列地址caz[7:0]=#03被输出,并且在响应于该输出执行卷绕之后,列地址CA=#13/#14被生成。在第四访问中,#14/#15被生成。在第五访问中,矩形区域被卷绕并且#1B/#1C被生成。然后,#1C/#1D、#23/#24和#24/#25被类似地生成。
与该自动矩形访问相对应的图像存储器的配置例如在图29中示出,其中与字节边界功能相对应的四个列地址的组合被提供到四个字节区域Byte 0至3。具体而言,图43所示的内部列地址caz的组合被提供到每个字节区域中的列解码器。结果,这些列地址的数据项分别被从四个字节区域输出。
在上述示例中,矩形访问时的矩形宽度Rwidth是与读命令一起提供的,但是矩形宽度Rwidth可预先利用模式寄存器设置命令设置在模式寄存器中。或者,矩形大小BL和矩形宽度Rwidth可与读命令一起提供。列地址的卷绕宽度CA Wrap由图像系统预先设置,因而卷绕宽度CA Wrap最好利用模式寄存器设置命令来设置。
这样,在矩形访问的情况下,如果提供了作为起始点的列地址CA、矩形宽度Rwidth和矩形大小(BL),那么就可基于预先设置的列地址的卷绕宽度CA Wrap自动生成要访问的内部列地址。因此,可通过发布读命令一次来进行矩形访问。
[页区域边界的字节边界功能]
字节边界功能可高效地访问跨越由列地址选择的存储器单位区域(4字节区域)的边界的预定字节(4个字节)的数据。但是,在执行跨页区域边界的矩形访问的情况下,相邻页区域需要利用另一激活命令再次经历激活操作。
图45示出当由字节边界功能所进行的访问到达页区域的末尾时执行的存储器操作的示例。该图示出了页区域由列地址CA[7:0]=#00至#FF和右端的CA=#FF构成的示例。在这种情况下,当图中箭头所示的4字节数据项被利用字节边界功能访问时,当SB=0时这4字节数据可在上行模式中输出,但是当SB=1、2和3时,左端的字节数据可在在页区域右端掉转(turn at the right end)之后被访问。具体而言,在该示例中,在同一页区域内再次执行访问,而不执行新的激活操作。另一方面,在下行模式的情况下,当SB=0、1和2时必须在左端掉转以移动到右端(卷绕,Wrap),仅当SB=3时才不需要执行掉转。
如果进行上述访问,则不必要的数据会被输出。为了从上一页区域的末尾对相邻页区域进行访问,必须发布新的激活操作对相邻页区域执行激活操作。
图46示出当由字节边界功能所进行的访问到达页区域的末尾时执行的存储器操作的另一示例。在该示例中,突发长度BL被设置为8。当确立BL=8时,每个存储体内的突发计数器利用BL=8的计数器宽度对内部列地址反复计数。具体而言,在图46所示的示例中,由突发计数器生成的内部列地址由宽度8的CA=#k8至#kF(16比特符号)构成。即使在其中访问区域被这种计数器划分成使用突发长度BL作为基准的矩形区域的存储器的情况下,当如图45中那样在突发长度区域CA=#k8至#kF的右端使用字节边界功能时,就会产生与图45相同的问题。在图46所示的示例中,在上行模式时卷绕发生在SB=1、2和3时,而在下行模式时卷绕发生在SB=0、1和2时。因此,不必要的数据被输出。
图47示出当由字节边界功能所进行的访问到达页区域的末尾时执行的存储器操作的另一示例。在该示例中,字节边界功能是利用参考图7描述的矩形访问中的多存储体访问功能实现的。具体而言,行地址RA=#n由激活命令ACT指定。如果在读命令RD被发布时作为基准点的列地址CA是页区域右端的CA=#FF,那么就超过页区域的边界PB进行访问,如箭头所示。
具体而言,在上行模式中,当SB=1、2和3时,对RA=#n的页区域内的CA=#FF的字节数据以及RA=#n+1的页区域内的CA=#00的字节数据进行访问。在下行模式中,当SB=0、1和2时,对RA=#n的页区域内的CA=#FF的字节数据以及RA=#n+1的页区域内的CA=#00的字节数据进行访问。在这种情况下,需要对相邻页区域进行访问,因而具有与激活命令ACT一起提供的行地址RA=#n的页区域被激活,并且响应于与读命令RD一起提供的列地址CA=#FF和起始字节信号SB=2,具有相邻行地址RA=#n+1的页区域被激活。从而,多个存储体内的字线响应于一个激活命令ACT而被激活。
当执行控制以使得多个存储体被同时激活时,所需区域的数据可被经济地输入/输出,即使在页区域末尾处需要字节边界功能时也是如此。
[字节边界功能的其他应用]
在将图像数据存储到存储器并访问与任意像素相对应的数据时,字节边界功能可高效地输入/输出数据。在除图像存储器之外的其他应用中,字节边界功能也具有同样的益处。
图48至图50是用于说明字节边界功能的其他应用的图。图48和49对应于传统示例,图50对应于本实施例。根据存储器的配置。多个字节区域被分配到同一列地址CA,并且在一次访问中对分配到同一列地址CA的多个字节数据项进行访问。在这种结构中,当处理分配到同一列地址CA的固定字节大小(字配置)的数据时,可高效地访问存储器。
但是,存在系统要处理的数据的大小小于存储器的字配置的大小的情况。作为对这种情况的对策,有一种进行填充(padding)以便使字配置大小或更小的数据不会延伸跨越多个列地址CA区域的方法。在图48所示的示例中,存储器的字配置被设置为4字节(见图中的483),并且要处理的数据的大小单位可能是1字节(图中280的格式A)、2字节(同一处的格式B)或4字节(同一处的格式C)。因此,通过将数据存储在Byte0是基准点的位置中,防止了4字节数据延伸跨越列地址CA。2字节数据被存储在Byte 0和Byte 2是基准点的位置中。1字节数据可被存储在Byte0、Byte 1、Byte 2和Byte 3中任何一个是基准点的位置中。
假定存在这样的情况,即大小为2字节、4字节、1字节、2字节、2字节和1字节的数据0至5被连续存储在存储器中,就像图中所示的写数据482那样。在这种情况下,通过执行如图中481那样的写操作,在存储器内的若干字节区域中执行了填充,如图中483所示,并且实际上总共有4字节的区域未被用于存储数据。在这种情况下,存储器的量未被有效使用。但是,通过利用列地址CA以4字节为单位输出数据,每个数据项可在一次列地址访问中被读取,因而读取速度增大了。
但是,为了消除上述的冗余存储容量,可以在不执行填充的情况下将数据项连续存储在存储器的字节区域中。例如,如图49中491所示,数据在三个周期中利用写命令WR被写入,然后数据可被存储在存储器内的字节区域中,如图中493所示。
通过以图49所示的方式写入数据,可以有效地利用存储器的存储容量。但是,在数据被跨越不同的列地址区域存储的情况下,例如数据3中的2字节数据项B03和B13或者数据1中的4字节数据项C01至31,在传统存储器中读和写无法在一次访问中执行,因而需要进行两次访问。如图中491所示,读命令RD需要被发布两次以读取数据4,从而降低了访问效率。
因此,如图50中500所示,通过发布读命令RD一次并利用字节边界功能指定起始字节信号SB=3,延伸跨越不同的列地址的数据3(B03和B13)可被访问。因此,具有字节边界功能的存储器可实现存储器可用性的改善,而不会降低访问性能。
[用于字节边界功能的存储器控制器]
接下来描述用于字节边界功能的存储器控制器。图像处理系统是参考图8描述的,其中图像处理控制器81和存储器控制部分(存储器控制器)82被包括在图像处理系统内的图像处理芯片80中。
图51是图像处理系统的配置图。与图8一样,图像处理系统由图像处理控制器81、存储器控制器82和图像存储器86构成。图像处理控制器81被配置为执行例如MPEG解码处理。图像处理部分81具有:熵解码处理器510,经编码和压缩的流数据STM被输入其中;逆量化和逆DCT处理器511,用于基于DCT系数DCT-F执行数据处理;内预测部分512;互预测部分513,用于使存储器控制器82基于运动向量MV和宏块划分信息MBdiv读取参考图像;以及过程选择部分515。存储器控制器82执行存储器控制,包括图像处理控制器81和图像存储器86之间的命令和地址的发布。从过程选择部分515输出的经解码的图像数据D-IMG被存储器控制器82存储到图像存储器86中。另外,互预测部分513的参考图像读取控制器514经由存储器控制器82从图像存储器86获取参考图像的数据R-IMG,并且将参考图像的数据发送到过程选择部分515。
MPEG解码器基于根据运动向量从存储器读取的过去图像或未来图像内的参考图像R-IMG并且基于参考图像和当前图像数据之间的差别数据对当前图像数据进行解码。因此,频繁地执行这样一个操作,其中位于运动向量位置的矩形参考图像被从暂时存储在图像存储器86中的图像读出。在该矩形访问控制中,通过使用具有字节边界功能的图像存储器86和与字节边界功能相对应的存储器控制器82,可提高访问效率。
图52示出存储器控制部分(存储器控制器)的输入和输出信号。图53是用于说明作为帧图像内的读取目标的参考图像区域的图。在帧图像FM-IMG中,左上方表示像素坐标的原点(0,0)。为了指定矩形参考图像RIMG的区域,需要矩形左上的坐标(POSX,POSY)以及长度和宽度的大小SIZEY和SIZEX。因此,图像处理部分内的参考图像读取控制器514将指定参考图像RIMG的区域的上述信息项(POSX,POSY)、SIZEY和SIZEX提供给存储器控制器82。此外,直接存储器访问控制信号DMA-CON在参考图像读取控制器514和存储器控制器82之间被输入/输出。
另一方面,存储器控制器82基于指定参考图像区域的信息项(POSX,POSY)、SIZEY和SIZEX计算存储器空间内的地址Add(存储体地址、行地址、列地址),并将命令CMD、地址Add、多存储体访问信息SA′、起始字节信号SB、写数据Data等等提供给存储器86。另外,存储器控制器82接收从存储器86读取的读数据Data。
图54是存储器控制器的详细配置图。存储器控制器82具有接口控制器541-1至N和地址/命令生成部分542-1至N,其中接口控制器541-1至N接收要访问的图像区域的信息项POSX、POSY、SIZEX和SIZEY以及来自如上述图像处理控制器中那样请求访问存储器的访问请求源块81-1至81-N的写数据Data,地址/命令生成部分542-1至N经由这些接口部分接收上述参考图像信息项并且生成地址和命令。这些接口控制器和地址/命令生成部分应当由仲裁电路540来激活或仲裁。被仲裁电路540选择和激活的地址/命令生成部分542经由选择器SEL将命令CMD、地址Add(存储体地址、行地址、列地址)、多存储体访问信息SA′、起始字节信号SB等等发布给存储器86。因此,对于被仲裁选择的访问请求源块,存储器控制器82控制对存储器86进行的访问并且读数据或写数据。另外,存储器控制器82以所需频率向存储器作出刷新请求。
由存储器控制器82发布的命令CMD例如包括模式寄存器设置命令、激活命令、读命令、写命令、预充电命令、刷新命令和正常SDRAM中所需的其他命令。此外,在存储器控制器82内的设置寄存器543中,设置了帧图像FM-IMG的左上像素的地址、存储器映射信息和关于存储器86中提供的功能的信息。存储器中提供的功能是多存储体访问功能、切换与排序相对应的数据布置的功能以及其他功能。存储器中提供的功能的存在性(控制目标)在设置寄存器543中设置。
图55是用于说明由参考图像读取控制器514中的互预测部分513执行的计算的图。在MPEG图像的情况下,宏块MB是处理的单位。宏块MB由16×16像素的亮度数据以及8×8像素的色差(Cb,Cr)数据(Y:U:V=4:2:0)构成。包括通过将宏块MB一分为四而获得的8×8像素的亮度数据的1/4宏块QMB是用于处理运动向量MV和参考图像RIMG的单位。当当前被处理的宏块MB的左上坐标是(MBaddrx,MBaddry),其宏块划分信息是Mbdivx、Mbdivy,并且运动向量是MV=(MVx,MVy)时,计算处理器515利用图中所示的计算公式来获得参考图像RIMG的左上坐标(POSX,POSY)、宽度SIZEX和高度SIZEY。该宽度SIZEX被设置为在对存储器的一次访问中输入/输出的字节数目的倍数,并且高度SIZEY被设置为垂直方向上的像素数。
按上述方式计算的参考图像指定信息(POSX,POSY)、SIZEY和SIZEX从参考图像控制器514被输出到存储器控制器82,并且基于参考图像指定信息、存储器映射信息和设置寄存器542中设置的帧区域中的左上地址,存储器控制器82内的命令/地址生成部分542生成矩形访问中所需的存储器空间的地址。
图56示出由参考图像读取控制器514中的互预测部分513执行的计算的示例。这是图55的具体示例。首先,宏块MB的左上坐标是(MBaddrx,MBaddry)=(0和0),宏块划分信息是Mbdivx、Mbdivy=8,并且运动向量MV=(MVx,MVy)=(13和4),因而参考图像RIMG的左上坐标(POSX,POSY)、宽度SIZEX和高度SIZEY在下列计算中获得:
POSX=0+8+13=21
POSY=0+8+4=12
SIZEX=8,SIZEY=8
参考图像RIMG的矩形区域不符合由列地址选择的4字节区域的单位。为了使该矩形区域符合4字节区域的单位,需要访问具有左上坐标(20和12)、宽度12和高度8的区域,例如图56中的放大区域E-RIMG。但是,通过使用字节边界功能,可跨越4字节单位的边界进行具有字节单位的访问。这样,当对诸如MPEG图像这样的参考图像数据进行访问时,字节边界功能对提高访问效率作出了贡献。
图57示出存储器映射的示例。与图1所示的存储器映射12一样,图像的像素和存储器空间内的页区域14就像在存储器映射12中那样与彼此关联,并且相邻的页区域被部署为具有不同的存储体地址BA。页区域14是由存储体地址BA和行地址RA选择的区域,并且每个页区域14由分别由列地址选择的多个存储器单位区域(4字节区域)构成。在图57所示的示例中,每个页区域14是用于存储64像素×16像素的图像数据的单位。
图58示出存储器映射12中的页区域14的配置。由存储体BANK0内的行地址RA0指定的页区域14具有由列地址CA0至255指示的存储器单位区域。每个列地址选择4个字节,并且每个列地址CA的卷绕宽度(步长宽度)是16。因此,页区域14具有64(=4×16)个字节的宽度和16(=256/16)个字节的高度。
图59示出图56所示的参考图像区域在存储器映射图上的布置。如图59所示,参考图像区域RIMG具有左上坐标(21和12)、宽度8和高度8,因而对应于宽度为8字节且高度为8字节的存储器区域,该存储器区域从作为前导地址的列地址CA5中的字节BY1开始形成。具体而言,矩形访问区域中的左端591相对于从列地址CA获得的边界590偏移1个字节(图中的592)。因此,存储体地址BA0和行地址RA0与激活命令ACT一起被发布到具有上述字节边界功能的存储器,并且起始列地址CA5、CA6至117和CA118以及起始字节信号SB=1与读命令RD(或写命令WR)一起被连续发布。另外,对于具有图42至44所示的自动内部列地址生成功能的存储器,列地址卷绕宽度CA Wrap=16被设置,并且起始列地址CA5、起始字节信号SB=1、矩形宽度Rwidth=2以及突发长度BL=16与读命令RD(或写命令WR)一起被发布。
图60示出参考图像区域在存储器映射图上的另一布置。在该图中,参考图像区域RIMG延伸跨越相邻页区域14-0和14-1。具体而言,参考图像区域RIMG超过了页区域的边界600。在这种情况下,如果存储器具有图7所述的多存储体访问功能,那么通过发布多存储体访问信息SA′,就可利用激活命令一次来进行访问。在存储器不具有多存储体访问功能的情况下,需要向存储体BANK 0和1多次发布激活命令来进行访问。因此,存储器控制器需要预先在寄存器中设置要控制的图像存储器是否具有多存储体访问功能,然后对图像存储器的访问控制需要响应于该设置信息被改变。
图61是针对没有字节边界功能的存储器的存储器控制器的定时图。这是对图59所示的参考图像RIMG的访问示例。传统的SDRAM不具有字节边界功能。在这种情况下,存储器控制器必须执行图61所示的控制。
在图61中,示出了在参考图像读取控制器和存储器控制器之间交换的信号610以及在存储器控制器和图像存储器之间交换的信号611。如上所述,参考图像读取控制器514将关于左上坐标POSX、POSY、宽度SIZEX和高度SIZEY的信息与对存储器的访问请求REQ一起发送到存储器控制器,存储器控制器随后响应于发送的信息返回确认信号ACK。假定存储器映射信息和帧图像的左上原点的地址预先在设置寄存器中设置。
响应于该访问请求REQ,存储器控制器向图像存储器发布激活命令ACT、存储体地址BA=0和行地址RA=0,并且致使存储器执行激活操作。然后,存储器控制器同步于时钟CLK发布读命令RD、存储体地址BA=0和列地址CA5、6、7至117、118、119(24次),并且24次接收4字节数据。然后,存储器控制器将选通信号STB的电平改变为H电平,并且将接收到的数据发送到读取控制器。
图62是针对具有字节边界功能的存储器的存储器控制器的定时图。该图示出了对图59所示的参考图像RIMG的访问示例,并且控制是在存储器具有字节边界功能时执行的。在该图中,示出了在参考图像读取控制器和存储器控制器之间交换的信号620以及在存储器控制器和图像存储器之间交换的信号621。
在这种情况下,与图61所示相同的信号被从参考图像读取控制器发送到存储器控制器。存储器控制器向图像存储器发布激活命令ACT、存储体地址BA=0和行地址RA=0,并且致使存储器执行激活操作。然后,存储器控制器发布读命令RD、存储体地址BA=0、列地址CA=5、6至117、118(16次)和起始字节信号SB=01,并且16次接收4字节数据。此外,存储器控制器将选通信号STB的电平改变为H电平,并且将接收到的64字节数据发送到读取控制器。由于存储器具有字节边界功能,因此读命令可以只被发布16次,从而提高了访问效率。
另外,虽然未示出,但是在具有图42至44所示的自动内部列地址生成功能的存储器中,列地址卷绕宽度CA Wrap=16可被预先设置,并且起始列地址CA5、起始字节信号SB=01、矩形宽度Rwidth=2和突发长度BL=16可与读命令RD一起被发布。响应于该发布,图像存储器在内部自动生成列地址,并且在16个周期中输出矩形区域的4字节数据。存储器控制器连续16次接收4字节数据。
图63是针对没有字节边界功能和多存储体访问功能的存储器的存储器控制器的定时图。该示例是图60所示的参考图像RIMG被访问的示例,并且示出了对不具有多存储体访问功能的图像存储器执行的控制。在图中,示出了在参考图像读取控制器和存储器控制器之间交换的信号630以及在存储器控制器和图像存储器之间交换的信号631。
如图45所示,没有多存储体功能的存储器无法访问跨越存储体边界的区域。因此,在这种情况下,存储器控制器发布激活命令ACT、BA=0和RA=0以使页区域14-0执行激活操作,还发布读命令RD、存储体地址BA=0和列地址CA=15至127,并且接收8字节的数据。此外,存储器控制器发布激活命令ACT、BA=1和RA=0以使页区域14-1执行激活操作,还发布读命令RD、存储体地址BA=1和列地址CA=0、1至112和113,并且接收16字节的数据。存储器控制器随后将接收到的24字节数据发送到参考图像读取控制器。
图64是针对具有多存储体访问功能和字节边界功能的存储器的存储器控制器的定时图。该图也是图60所示的参考图像RIMG被访问的示例。在图中,示出了在参考图像读取控制器和存储器控制器之间交换的信号640以及在存储器控制器和图像存储器之间交换的信号641。
存储器控制器与激活命令ACT一起发布存储体地址BA=0、行地址RA=0以及多存储体访问信息SA′=10(表明对横向的两个相邻存储体的访问)。响应于该发布,图像存储器对存储体BA=0执行激活操作。存储器控制器随后与读命令RD一起顺序发布起始字节信号SB=01、存储体地址BA和列地址CA。响应于该列地址CA=15,图像存储器对BA=1的存储体执行激活操作。存储器控制器响应于发布了16次的读命令RD接收16字节数据。此外,存储器控制器将接收到的16字节数据发送到参考图像读取控制器。
这样,即使在数据跨不同存储体边界的情况下,存储器控制器也可向具有多存储体访问功能的存储器发布激活命令一次。
图65是存储器控制器的控制操作的流程图。首先,主机CPU在存储器控制器内的设置寄存器中设置多存储体激活功能的开启/关闭(S1)。参考图像读取控制器基于运动向量信息、宏块划分信息和目标宏块信息计算参考图像块的坐标(POSX,POSY)和大小(SIZEX,SIZEY)(S2),并且将矩形访问请求与用于矩形访问的矩形访问参数一起发布给存储器控制器(S3)。
存储器控制器基于这些矩形参数(POSX,POSY)(SIZEX,SIZEY)以及在设置寄存器中设置的存储器映射图信息和关于帧图像地址的信息计算在进行矩形访问将要发布的BA、RA、CA、SB和SA′(S4)。当多存储体激活功能开启时(S5中的“是”),存储器控制器接收读数据,同时将BA、RA和SA′与激活命令ACT一起发布,并且还将BA、CA和SB与读命令RD一起发布(S6、S7和S8)。在写操作的情况下,存储器控制器输出写数据,同时将BA、CA和SB与写命令WR而不是读命令一起顺序发布。
此外,当多存储体激活功能关闭时(S5中的“否”),存储器控制器检查被请求的矩形是否延伸跨越了页区域(即存储体)(S9)。如果矩形没有延伸跨越存储体(S9中的“否”),那么存储器控制器接收读数据,同时将BA和RA与激活命令ACT一起发布,并且还将BA、CA和SB与读命令RD一起发布(S10、11和12)。在写操作的情况下,存储器控制器输出写数据,同时将BA、CA和SB与写命令WR而不是读命令一起顺序发布。
此外,如果矩形延伸跨越存储体(S9中的“是”),那么字节边界功能就不能被使用,因此存储器控制器计算图56所示的放大矩形区域E-RIMG的坐标POSX和宽度SIZEX,并且计算与计算出的坐标和宽度相对应的左上坐标的地址BA、RA和CA(S13)。然后,存储器控制器接收读数据,同时将BA和RA与激活命令ACT一起向放大矩形区域发布,并且还将BA和CA与读命令RD一起向放大矩形区域发布(S15、16和17)。然后,一旦对存储体内的左上坐标的读取完成(S17中的“是”和S14中的“是”),则生成预充电命令一次。然后,对下一存储体生成激活命令,并且接收读数据,同时将BA和CA与读命令RD一起顺序发布(S19、S16和17)。一旦存储体内的所有数据项都被接收(S17中的“是”)并且对所有数据项的读取都完成(S18),存储器控制则结束。
应当注意,当在存储器控制器的设置寄存器中字节边界功能被设置为关闭时,存储器控制器通过执行图65的配置S13至S18来发布激活命令、读命令和所需的地址,与图61一样。
这样,存储器控制器可将字节边界功能的开启和关闭以及多存储体激活功能的开启和关闭设置到内置的设置寄存器中,并且根据要控制的图像存储器的功能适当地发布所需的命令和地址以及多存储体信息、起始字节信息和诸如上行模式、下行模式和交替之类的字节组合信息。
图66是存储器控制器的控制操作的流程图。在该示例中,存储器控制器能够设置要控制的图像存储器是否具有图35和36所示的根据排序切换输入/输出数据的功能。首先,主机CPU将图像存储器内的输出数据重布置功能的存在性设置到存储器控制器的设置寄存器中(S20)。参考图像读取控制器随后基于运动向量信息、宏块划分信息和目标宏块信息计算参考图像图像块的坐标(POSX和POSY)以及大小(SIZEX和SIZEY)(S21),并且将矩形访问请求与矩形访问的矩形访问参数一起发布到存储器控制器(S22)。
接下来,存储器控制器基于这些矩形参数(POSX和POSY)(SIZEX和SIZEY)以及在设置寄存器中设置的存储器映射图信息和关于帧图像地址的信息计算在进行矩形访问时要发布的BA、RA、CA、SB和SA′(S23)。然后,当输出数据重布置功能被设置为开启时(S24中的“是”),存储器控制器将存储体地址BA、行地址RA和多存储体信息SA′与激活命令一起发布,并且还将存储体地址BA、列地址CA和起始字节信息SB与读命令一起发布(S25)。然后,存储器控制器反复发布读命令、BA、CA和SB,直到对所有数据项的读取都已完成为止(S26和S27)。
另一方面,当输出数据重置功能被设置为关闭时(S24中的“否”),存储器控制器将存储体地址BA、行地址RA和多存储体信息SA′与激活命令一起发布,并且还将存储体地址BA、列地址CA和起始字节信息SB与读命令一起发布(S25)。然后,存储器控制器反复发布读命令、BA、CA和SB,直到对所有数据项的读取都已完成为止,并且重新布置数据项以便使接收到的数据项按原始图像数据项的顺序布置(S28、S29和S30)。
上述图65和66可根据设置寄存器中的设置项被适当地组合。
应当注意,本实施例说明了存储这样的数字图像数据的图像存储器的示例,在这种数字图像数据中,二维地布置有多个像素的图像数据项。但是,本发明不仅可应用到用于存储图像数据的图像存储器,还可应用到基于预定的映射规则存储除图像数据外的其他二维布置数据的存储器设备。当存储的数据项被二维地布置时,在二维布置数据内的任意矩形区域被访问的情况下,有时延伸跨越多个存储器单位区域的数据需要被访问。在这种情况下也可应用本发明。
<<多存储体访问>>
下面描述用于防止在访问具有多个页区域的矩形区域时引起的访问效率降低(这是矩形访问的问题)的多存储体访问。在矩形访问中涉及的多存储体访问功能已经参考图7进行了描述。
图67是根据本实施例的多存储体访问的示意性说明图。相对于图像存储器对矩形区域进行的访问是在任意空间中生成的。因此,在某些情况下,矩形访问区域22跨越了存储器映射图12中页区域的边界,如图67所示。在图67所示的示例中,矩形访问区域22包括四个页区域(页区域BA3和RA0,页区域BA2和RA1,页区域BA1和RA4,以及页区域BA0和RA5)。
根据存储器映射12,彼此水平和垂直相邻的页区域被分配到不同的存储体。因此,为了访问图67中所示的矩形区域22,存储器设备86内的这四个存储体Bank0至Bank3必须按Bank3、Bank2、Bank1和Bank0的顺序访问。在SDRAM中,一旦存储体地址BA和行地址RA被指定并且激活命令被提供,SDRAM(页区域)的存储体内的字线就被激活。其后,被激活的页区域内的存储器单位区域响应于指定存储体地址BA和列地址CA的读命令或写命令而被访问。由此,为了访问矩形访问区域22,存储器控制器必须向存储器设备发布用于这四个存储体的激活命令四次。这种存储器控制导致访问效率的降低。
因此,在本实施例中,存储器设备被设置在模式寄存器中,该模式寄存器在其中并入了响应于扩展模式寄存器设置命令EMRS(图中的标号670)而与命令一起提供的行地址步长信息RS=4(图中的标号671),如图67中的定时图所示。行地址步长信息RS指示在存储器映射12中的行方向上行地址RA被卷绕的单位。在图67所示的示例中,由于行地址RA0-RA3、RA4-RA7被卷绕,因此RS是4。由于在正常的图像系统中存储器映射12不被频繁改变,因此行地址步长信息RS优选地在图像系统被激活时设置在存储器设备内的模式寄存器中。
一旦矩形访问被生成,存储器设备就被提供以存储体地址BA=3、行地址RA=0和多存储体信息SA′=4(图中的标号673)以及激活命令ACT(图中的标号672)。更具体而言,一旦存储器控制器检测到要访问的矩形区域跨越了存储器映射图上的四个页区域,即访问需要对四个存储体进行,存储器控制器就响应于从图像处理单元发送来的矩形访问请求,将访问目标存储体的数目(即“4”)作为多存储体信息SA′提供给图像存储器设备。
响应于该激活命令ACT和多存储体信息SA′,存储器设备激活存储体BA3、在行方向上与其相邻的存储体BA2、在列方向上与其相邻的存储体BA1和右下方的存储体BA0。在这种情况下,图像存储器内的行控制器生成用于多个存储体中的每一个的存储体激活信号,并且还基于与激活命令ACT一起提供的存储体地址BA=3、行地址RA=0和多存储体信息SA′=4以及存储在模式寄存器中的行地址步长信息RS=4生成作为每个存储体内的激活操作的目标的行地址。根据图中所示的存储器映射12,作为激活操作的目标的这四个行地址相对于所提供的行地址RA分别是RA、RA+1、RA+RS、RA+RS+1。这四个行地址响应于所提供的存储体地址BA被提供给相应的四个存储体。然后,存储器设备内的多个存储体基于在图像存储器内生成的存储体激活信号和行地址执行激活操作。
因此,在图67所示的示例中,总共四个页区域,即页区域BA3和RA0,页区域BA2和RA1,页区域BA1和RA4,以及页区域BA0和RA5,响应于单个激活命令ACT而被激活。在具体激活操作中,字线WL被激活,读出放大器被激活,并且分别与存储器单元内的数据项相对应的位线的电势被放大。
然后,存储器设备反复提供读命令RD(图中的标号674)以及存储体地址BA和列地址CA,并响应于读命令中的每一个读取由存储体地址BA和列地址CA指定的相应存储器单位区域的数据项。在写命令的情况下,存储器设备将数据项写入与存储体地址BA和列地址CA相对应的存储器单位区域中,这两个地址是与写命令一起提供的。在图67所示的示例中,存储体地址BA=3、2、1和0被与四个读命令RD一起提供,并且对四个存储体顺序进行列访问。
这样,根据本实施例的多存储体访问功能,存储器设备对单个读命令(第一操作命令)作出响应,以基于要提供的行地址RA和存储体地址BA、多存储体信息SA′以及预先设置的行地址步长信息RS提前对多个访问目标存储体的页区域执行激活操作。因此,在后续的列访问中,存储体地址BA和列地址CA适当地被与读命令或写命令一起提供,从而执行矩形访问。
应当注意,在图67所示的示例中,存储器设备基于存储器映射12中的行地址步长信息RS=4计算多个存储体的行地址。因此,如果存储器映射12不同,则用于获得行地址的算术表达式也是不同的。因而,存储器映射信息也可利用扩展模式寄存器设置命令EMRS与行地址一起设置。或者,可以根据存储器映射信息混淆(shuffle)存储体地址比特以计算存储器设备中与预定存储器映射相对应的行地址。
另外,在图67所示的示例中,尽管多存储体信息SA′指示4,但是在SA′=2(代表横向方向上的两个存储体)、SA′=3(代表垂直方向上的两个存储体)或者SA′=1(代表每单位存储体)被提供的情况下,相关存储体也分别被激活。指示四种类型的上述多存储体信息SA′由两个比特构成。
图68是用于说明根据本实施例的多存储体访问的图。在图68中,矩形区域22是访问目标区域。该矩形访问区域22具有四个页区域,即四个存储体14-0、14-1、14-2和14-3,并且在横向方向上宽两个时钟(8个字节),在垂直方向上高8行,其顶部具有存储器单位区域BA3、RA2、CA127。因此,用于指定矩形访问区域22的多存储体信息SA′可以是a)矩形区域的大小信息(=宽度W、高度H)或b)关于存储体数目的信息(=4),这些信息在图中示出。
下文中参考图69和图70描述与上述两种类型的多存储体信息SA′相对应的存储器设备的操作。
图69是用于多存储体信息SA′是关于存储体数目的信息(=4)的情况的定时图。图69示出了图67的定时图,包括用于输入/输出端子DQ的四个字节BY0至3的输出数据的列地址CA(图中的标号691),以及存储体Bank0至3(图中的标号690)中的每一个的访问状态(激活状态)。
首先,存储器设备利用扩展模式寄存器设置命令EMRS将存储器映射中的行地址的步长数数据RS=4设置到模式寄存器。然后,响应于用于指定引导页区域的存储体地址BA3和行地址RA2,以及多存储体信息SA′=4(图中的标号673)(存储体地址BA3、行地址RA2和多存储体信息SA′是与激活命令ACT一起提供的),存储器设备生成四个存储体Bank0至2内的行地址RA7、6和3,并对与包括所提供的行地址RA2(图中的标号690)在内的四个行地址相对应的页区域执行激活操作。结果,四个存储体进入激活状态,现在在存储器设备内可以进行对其的存储器访问。
其后,地址BA3/CA127、BA2/CA124、BA1/CA3和BA0/CA0等等被与十六个读命令RD(图中的标号674)一起提供,响应于此,存储器设备在预定等待时间后将4字节数据分别从相应的存储体输出到输入/输出端子DQ。
提供SA′=4作为多存储体信息SA′表明对2×2页区域进行访问,以使得存储器设备可以响应于激活命令ACT对四个存储体执行激活操作。而且,一旦提供了引导存储体的行地址RA,就可以基于行地址步长信息RS计算其余存储体的行地址。
图70是用于多存储体信息SA′是矩形区域的大小信息(W=8字节、H=8行)的情况的定时图。该定时图也示出了输入/输出端子DQ和四个存储体Bank0至3中的每一个的访问状态。
行地址步长数数据RS=4(图中的标号671)和页区域内的列地址的步长数数据CST=128(图中的标号677)利用扩展模式寄存器设置命令EMRS被设置在模式寄存器中。另外,存储体地址BA3和行地址RA2被与激活命令ACT(图中的标号672)一起提供,并且矩形访问区域的大小信息8×8(图中的标号676)被提供作为多存储体信息SA′(图中的标号675)。响应于该激活命令,存储器设备对具有所提供的地址BA3和RA2(图中的标号700)的页区域执行激活操作。存储器设备随后获得要访问的其余存储体Bank0、1和2,以及基于步长数数据CST=128的行地址RA7、6和3,与第一读命令RD一起提供的列地址CA127,和矩形大小信息8×8,并对这些存储体中的每一个的页区域(图中的标号701)执行激活操作。
其后,存储器设备响应于十六个读命令(图中的标号674)将4字节数据从相应存储体中的每一个输出到输入/输出端子DQ(图中的标号702)。
这样,当矩形大小被提供作为多存储体信息SA′时,存储器设备基于所提供的列地址和存储器映射(列地址步长数CST)确定访问是否跨越多个存储体,生成用于作为激活操作目标的每个存储体的激活信号,以及每个存储体的行地址,并顺序执行激活操作。因此,在提供引导列地址CA=127后对存储体Bank0、1和2执行激活操作。
图71是具有多存储体访问功能的存储器设备的配置图。该图与图9中所示的存储器设备的配置图相同。在存储器设备86中,为了实现多存储体访问功能,行控制器87具有:多存储体激活控制器88,其生成被提供给要激活的存储体的脉冲存储体激活信号actpz0至3;和行地址计算器97,其生成要激活的每个存储体的行地址RA。另外,存储器设备具有用于提供多存储体信息SA′的专用端子SP0和SP1。
命令控制器95对从指定命令的信号RAS、CAS、WE和CS的组合中提供的命令解码。存储器映射的行地址步长数数据RS被与扩展模式寄存器设置命令EMRS一起从地址端子Add提供,并且行地址步长数数据RS被设置到模式寄存器96中。在这种情况下,被设置的数据类型由存储体地址BA指定,并且步长数数据RS被设置到与该存储体地址BA相对应的寄存器区域中。
命令控制器95响应于激活命令ACT生成指示对行侧的操作开始的激活脉冲actpz。多存储体激活控制器88将该激活脉冲actpz分发到要激活的存储体,要激活的存储体是根据所提供的存储体地址BA和多存储体信息SA′确定的。该要分发的脉冲信号是存储体激活信号actpz0至3。多存储体信息SA′在激活命令ACT被发布时被从专用端子SP0和SP1输入。另外,行地址RA被从地址端子Add输入。
而且,行地址计算器97基于要提供的存储体地址BA和行地址RA、设置在模式寄存器96中的步长数数据RS和存储器映射生成四个行地址RA、RA+1、RA+RS和RA+RS+1。然后,这四个行地址被提供到一组2×2存储体,这组2×2存储体在左上部分具有拥有所提供的存储体地址BA的存储体。
每个存储体具有拥有存储器阵列MA和解码器Dec的存储器核心以及控制存储器核心的核心控制器(未示出)。核心控制器响应于上述存储体激活信号actpz0至3对每个存储体内的存储器核心执行激活控制。在这种情况下,上述存储体地址BA被提供给每个行解码器,相应字线被驱动,然后一组读出放大器被激活。这就是在存储体中执行的激活操作(活动操作)。
下文中具体描述选择要在存储器设备内激活的存储体的操作、控制存储体激活的定时的操作、行地址生成操作和存储器映射中的存储体分配设置操作,作为在多存储体访问中所需的功能。
[选择存储体]
图72和图73是示出多存储体激活控制器88的第一示例的图。图72示出了多存储体激活控制器88的配置和定时图。在第一示例中,2比特的存储体数数据被提供作为多存储体信息SA′。
定时图与上述示例相同,其中与扩展模式寄存器设置命令EMRS一起,寄存器设置数据V和步长数数据RS被分别输入到存储体地址端子BA和地址端子ADD,然后被设置到模式寄存器中。此外,存储体地址BA、行地址RA和多存储体信息SA′被与激活命令ACT一起输入。
存储器设备同步于时钟CLK将输入到每个输入缓冲器94的多存储体信息项SA′0、1和存储体地址BA0、1锁存到锁存电路720。多存储体激活控制器88具有对存储体地址BA0和1解码以生成四个存储体选择信号bnkz<3:0>的存储体解码器88A;以及响应于存储体选择信号生成利用激活脉冲actpz分配的存储体激活信号actpz<3:0>。
图73示出了与要访问的矩形区域相对应的存储体解码器88A的逻辑状态。图73(A)示出了四类矩形区域以及与其相对应的多存储体信息项SA′(00、01、10、11)。图73(B)是示出由存储体解码器执行的逻辑处理的表。如图所示,在SA′=00的情况下,被激活的存储体数目是1,并且存储体解码器88A对存储体地址BA0和BA1解码。因此,存储体解码器88A使得只有由所提供的存储体地址BA0和BA1选择的一个存储体的存储体选择信号bnkz<3:0>变为H电平。与该操作一起,只在被选择的存储体中生成存储体激活信号actpz<3:0>。
在SA′=01的情况下,在水平方向上有两个存储体要激活,因而存储体解码器88A简并(忽略)存储体地址BA0,并使得只由存储体地址BA1选择的两个存储体的存储体选择信号bnkz<3:0>变为H电平。与该操作一起,生成了由所提供的存储体地址选择的存储体和在行方向上的相邻存储体的存储体激活信号actpz<3:0>。
在SA′=10的情况下,在水平方向上有两个存储体要激活,因而存储体解码器88A简并(忽略)存储体地址BA1,并使得只由存储体地址BA0选择的两个存储体的存储体选择信号bnkz<3:0>变为H电平。与该操作一起,生成了由所提供的存储体地址选择的存储体和在列方向上的相邻存储体的存储体激活信号actpz<3:0>。
在SA′=11的情况下,在水平和垂直方向上总共有四个存储体要激活,因而存储体解码器88A简并(忽略)存储体地址BA0和BA1,并使得所有四个存储体的存储体选择信号bnkz<3:0>变为H电平。与该操作一起,生成了在行和列方向上与由所提供的存储体地址选择的存储体相邻的四个存储体的存储体激活信号actpz<3:0>。
由存储体解码器执行的存储体地址的简并是使得相应存储体地址BA和其反相信号/BA变为H电平的控制。因此,存储体解码器88A忽略这些存储体地址,并利用剩余的存储体地址选择存储体。
图74和图75是示出多存储体激活控制器88的第二示例的图。图74示出了多存储体激活控制器88的配置和定时图。在第二示例中,3比特的同时激活存储体数据项SA′0至2被提供作为多存储体信息SA′。
图75(A)示出了存储器映射12与存储体地址BA0和BA1的联系。更具体而言,相对于所提供的存储体地址BA0和BA1,通过反转存储体地址BA0并对其解码可以选择右侧的存储体,通过反转存储体地址BA1并对其解码可以选择下方的存储体,通过反转这两个存储体地址BA0和BA1并对其解码可以选择右下方的存储体。
图75(B)示出了同时激活存储体数据项SA′0至2、要选择的存储体以及由存储体解码器执行的逻辑处理。更具体而言,在SA′0=H的情况下,存储体解码器反转并输入BA0以便除了由所提供的地址选择的存储体外还选择右侧的存储体。在SA′1=H的情况下,存储体解码器反转并输入BA1以便除了由所提供的地址选择的存储体外还选择下方的存储体。此外,在SA′2=H的情况下,存储体解码器反转并输入BA0和BA1以便除了由所提供的地址选择的存储体外还选择右下方的存储体。
返回图74,多存储体激活控制器88具有四个存储体解码器88A0至3、对存储体解码器的四个解码信号进行逻辑求和处理的OR电路88C,以及存储体激活脉冲输出电路88B。激活脉冲输出电路88B与图72所示的相同。这四个存储体解码器88A0至3从底部开始是对所提供的存储体地址BA0和BA1解码以选择左上存储体的解码器、反转BA0以选择右侧存储体的解码器、反转BA1以选择下方存储体的解码器、以及反转BA0和BA1以选择右下存储体的解码器。因此,顶部的三个存储体解码器根据同时激活存储体数据项SA′0至2被激活并且输出相应的存储体选择信号bnkz<3:0>。
根据上述第二示例,左上引导存储体由所提供的存储体地址选择,并且右侧、下方和右下方存储体据此由3比特的同时激活存储体数据项SA′0至2选择。因此,在倾斜方向上的两个存储体可以同时被激活,或者三个存储体可以同时被激活,并且要同时激活的存储体的组合可以灵活改变。因此,第二示例可以适应于对专用区域的访问。
图76和图77是示出多存储体激活控制器88的第三示例的图。图76示出了多存储体激活控制器88的配置和定时图。在第三示例中,矩形大小信息W和H被从专用输入端子SP输入作为多存储体信息。因此,多存储体激活控制器88具有激活存储体判决电路88D。激活存储体判决电路88D基于页区域内的列地址的步长数数据CST、矩形大小信息W和H以及列地址CA确定要同时激活的存储体。
如图76的定时图所示,存储器设备输入存储器映射中行地址的步长数RS和页区域内列地址的步长数数据CST,以及扩展模式寄存器设置命令EMRS,并且将这些步长数RS和步长数数据CST设置到模式寄存器。随后,存储器设备输入存储体地址BA、行地址RA和矩形区域大小数据W、H以及激活命令ACT。此时,当存储器设备的地址以非多路方式输入时,列地址CA也与激活命令ACT一起输入。由于一般的SDRAM以多路方式输入地址,因此列地址CA也与读命令或写命令一起输入,如图70所示。
多存储体激活控制器88的激活存储体判决电路88D基于步长数数据CST、矩形大小信息W、H和列地址CA确定要同时激活的存储体。该判决算法在图77中示出。
图77(A)示出了关于存储器映射的页区域内部的信息。具体而言,根据通用存储器映射,当列地址由M比特CA[M-1:0]构成,并且步长数CST=2S时,在页区域14中水平方向由低位列地址CA[S-1:0]映射,垂直方向由高位列地址CA[M-1:S]映射。具体而言,根据要输入的列地址CA,在水平方向上页区域14的位置可以由列地址CA的低位S比特确定,而其在垂直方向上的位置可以由高位M-S比特确定。因此,如果页区域内水平方向的位置和列地址的步长数2S之间的差异小于矩形区域的宽度W,则这意味着矩形区域跨越了水平方向上的存储体,而如果垂直方向的位置和页区域的高度2M-S之间的差异小于矩形区域的高度H,则这意味着矩形区域跨越了垂直方向上的存储体。
如图77(B)的激活存储体判决算法中所示的,(1)跨越水平方向上的存储体(页区域)的条件是2S-CA[S-1:0]<W,并且(2)跨越垂直方向上的存储体(页区域)的条件是2M-S-CA[M-1:S]<H,这是相对于输入的列地址CA而言。
为了说明图77(C)中所示的示例,页区域14X具有由7比特的列地址CA[6:0]选择的128个存储器单位区域,其中在行方向上步长数CST是16。如果对于这种页区域14X输入列地址CA=77(十进制数字)、矩形大小W=8(8个时钟、32个字节)且H=8、低位地址CA[3:0]是13并且高位地址CA[6:4]是4,因而根据以上条件确定存储体可以在水平方向和垂直方向上跨越。
激活存储体判决电路88D使用上述判决算法来确定要同时激活的存储体。结果,激活存储体判决电路88D输出存储体地址简并信号88E到存储体解码器88A。具体而言,在水平方向上的存储体被跨越的情况下,存储体地址BA0被简并,并且在垂直方向上的存储体被跨越的情况下,存储体地址BA1被简并。该简并信号88E与图72中所示的多存储体信息SA′0、1相同。
更具体而言,在第三示例中,存储体控制器在第一和第二示例中执行的激活存储体判决功能被提供在存储器设备中。如果上述激活存储体判决算法被提供在存储器控制器内,则图72中所示的多存储体信息SA′0、1可以被从存储器控制器提供到存储器设备。
如上所述,为了实现多存储体激活功能,多存储体激活控制器88基于输入数据要激活的存储体的存储体选择信号bnkz<3:0>,还基于生成的存储体选择信号bnkz<3:0>生成存储体激活信号actpz<3:0>,并且控制要激活的存储体的激活操作。
[存储体激活定时]
多存储体激活控制器88将存储体激活信号actpz<3:0>提供到要激活的存储体,并且每个存储体响应于该存储体激活信号开始对页区域的激活操作。在这种情况下,优选地控制用于激活多个存储体的定时。例如,可以考虑用于同时执行对多个存储体的激活控制的控制以及用于执行在不同定时对多个存储体的激活操作的控制。在前一情况下,对于用于输入后续读命令或写命令的定时没有限制。另一方面,在后一情况下,多个存储体不同时执行激活操作,因而可以避免消耗电流的瞬时增大。
图78示出了存储体激活定时的示例1。在该示例中,多个存储体同时经历激活操作。如上所述,多存储体激活控制器88具有用于选择要激活的存储体的存储体解码器88A和用于基于激活存储体选择信号bnk<3:0>将从命令控制器95获得的激活脉冲actpz分发到选择的存储体的存储体激活脉冲输出电路88B。如图中的定时图所示,存储体激活脉冲输出电路88B由四个AND门构成,并且在同一定时输出存储体激活信号actpz<3:0>。
存储体Bank0至3中的每一个具有包括存储器单元阵列的存储器核心781和用于控制存储器核心的核心控制电路780。响应于存储体激活信号actpz<3:0>,每个核心控制电路780激活存储器核心781内的行解码器,驱动与行地址相对应的字线,并激活一行读出放大器。
在图78所示的示例1中,要激活的多个存储体响应于激活命令ACT同时经历激活操作,因而后续的读命令或写命令可以被顺序输入以访问这多个存储体。
图79是示出存储体激活定时的示例2的图。在该示例中,多个存储体在不同定时顺序经历激活操作。命令控制器95除了命令解码器95A和脉冲形成电路95B外还具有三个延迟电路791、792、793。这三个延迟电路响应于激活存储体数信号790而被激活,并且将由脉冲形成电路95B生成的激活脉冲actpz0延迟预定的时间段,以生成三个延迟激活脉冲actpz1至3。激活脉冲actpz0和延迟激活脉冲actpz1至3被提供到存储体激活脉冲输出电路88B的四个选择器SEL。
多存储体激活控制器88由激活存储体控制电路88C和存储体激活脉冲输出电路88B构成。激活存储体控制电路88C并入有上述存储体解码器的功能,基于所提供的存储体地址BA[1:0]和多存储体数据SA′[1:0]确定对要激活的存储体执行激活的顺序,并将选择信号795提供给选择器SEL。该选择信号795由8个比特构成。选择信号的两比特被提供给每个选择器,并且每个选择器响应于选择信号795将存储体激活信号actpz<3:0>输出到要激活的存储体。
应当注意,延迟电路791至793根据激活存储体数数据790生成必要的延迟激活脉冲actpz1至3,并从而实现了功率的节省。
图80是用于说明由激活存储体控制电路88C执行的存储体激活定时控制的逻辑的图。图80示出了对于多存储体数据SA′[1:0]=11、01、10的情况关于激活四个存储体(在二进制显示中是2比特)的顺序的数据的表800、801和802。
在多存储体数据SA′[1:0]=11的情况下,所有四个存储体都被激活,并且激活顺序(00、01、10、11)根据所提供的存储体地址BA[1:0]而不同,如激活顺序数据表800所示。例如,在所提供的存储体地址BA[1:0]=00的情况下,激活控制按存储体Bank0、1、2和3的顺序执行。表800中所示的激活顺序数据(8比特的00、01、10、11)对应于由图79中所示的激活存储体控制电路88C生成的8比特选择信号795。具体而言,四个选择器SEL中的每一个选择激活脉冲actpz0和三个延迟激活脉冲actpz1、actpz2和actpz3。结果,存储体激活信号actpz<0>至<3>被顺序生成。
此外,在所提供的存储体地址BA[1:0]=01的情况下,激活控制按存储体Bank1、0、3和2的顺序执行。在这种情况下,存储体激活信号actpz<0>至<3>被示在图79的定时图中。表800中所示的激活顺序数据(8比特的01、00、11、10)被提供给选择器作为选择信号795,并且四个选择器SEL中的每一个在选择器的顶部开始选择延迟激活脉冲actpz1、激活脉冲actpz0以及延迟激活脉冲actpz3和actpz2。结果,如定时图所示,存储体激活信号actpz<1>、<0>、<3>和<2>按这一顺序生成。
类似地,在多存储体数据SA′[1:0]=01的情况下,水平方向上的两个存储体被激活,并且如激活顺序数据表801中所示,两个激活顺序数据项(00、01)响应于所提供的存储体地址BA[1:0]而被生成。
类似地,在多存储体数据SA′[1:0]=10的情况下,垂直方向上的两个存储体被激活,并且如激活顺序数据表802中所示,两个激活顺序数据项(00、10)响应于所提供的存储体地址BA[1:0]而被生成。根据该表802,为了激活这两个存储体,激活脉冲actpz0和延迟激活脉冲actpz2被用于生成存储体激活信号,因为表802和表800是公共的。具体而言,如表802下方的定时图803中所示,在激活脉冲actpz0和延迟激活脉冲actpz2的定时,响应于所提供的激活命令ACT而生成内部激活命令ACT。
因此,在多存储体数据SA′[1:0]=10的情况下,可以生成表804中所示的激活顺序数据(00、01),来替代表802中所示的数据。在这种情况下,如表804下方的定时图805中所示,在激活脉冲actpz0和延迟激活脉冲actpz1的定时,响应于所提供的激活命令ACT而生成内部激活命令ACT。具体而言,要同时激活的两个存储体在不同定时被相继激活。
图81是示出存储体激活定时的示例3的图。在该示例中,多个存储体在不同定时相继经历激活操作。在图81中,提供了与时钟CLK同步操作的触发器电路810至812,来替代图79中所示的延迟电路791至793。其他配置与图79中所示的相同。激活存储体控制电路88C也如图79和图80中描述的一样。
根据该示例3,由于延迟电路是与时钟CLK同步的触发器电路810至812,因此三个延迟激活脉冲actpz1至3是在与时钟CLK同步的延迟定时根据激活脉冲actpz0生成的。具体而言,如图81的定时图中所示,存储体激活信号actpz<0>至<3>与时钟CLK同步地被顺序输出。因此,当时钟CLK加速时,存储体激活信号actpz<0>至<3>遵循加速并且以高速被顺序生成,并且当时钟CLK减速时,存储体激活信号actpz<0>至<3>据此以低速被顺序生成。因此,可以操作时钟同步。
[生成行地址]
本实施例的多存储体访问功能响应于输入一次的激活命令ACT、存储体地址和行地址,对需要访问的存储体的所有页区域执行激活控制。因此,基于所提供的存储体地址和行地址,需要确定需要激活的存储体,并且需要生成用于指定需要激活的页区域的行地址。
图82是用于说明在本实施例的多存储体访问中的行地址的生成的图。该图示出了存储器映射12、逻辑值表820,逻辑值表820示出了与矩形访问区域RC0至3相对应的提供的存储体地址BA0、1,以及作为激活每个存储体的目标的行地址RA。存储器映射12与上述的映射相同,其中在行和列方向上布置的页区域中,彼此垂直和水平相邻的页区域的存储体彼此不同,并且对于彼此垂直和水平相邻的每四个存储体Bank0至3,行地址递增1。
根据该存储器映射12,在要访问矩形区域RC0的情况下,从所提供的存储体地址BA=BA0(=00)和所提供的行地址RA=RA0很清楚看出,要同时激活的页区域的地址是BA0/RA0、BA1/RA0、BA2/RA0、BA3/RA0。在矩形区域RC1的情况下,从所提供的存储体地址BA=BA1(=01)和行地址RA=RA0很清楚看出,要同时激活的页区域的地址是BA1/RA0、BA0/RA1、BA3/RA0、BA2/RA1。在矩形区域RC2的情况下,从所提供的存储体地址BA=BA2(=10)和行地址RA=RA0很清楚看出,要同时激活的页区域的地址是BA2/RA0、BA3/RA0、BA0/RA(0+RS)、BA2/RA(0+RS)。在矩形区域RC3的情况下,从所提供的存储体地址BA=BA3(=11)和行地址RA=RA0很清楚看出,要同时激活的页区域的地址是BA3/RA0、BA2/RA(0+1)、BA1/RA(0+RS)、BA2/RA(0+RS+1)。
为了概括上述地址,在所提供的行地址是RA并且存储器映射12的行地址的步长数是RS的情况下,要在存储体Bank0至3中的每一个中生成的行地址响应于所提供的存储体地址BA0、BA1而如逻辑值表820中所示。具体而言,要生成的行地址如下所示:
BA=00:RA、RA、RA、RA
BA=01:RA+1、RA、RA+1、RA
BA=10:RA+RS、RA+RS、RA、RA
BA=11:RA+RS+1、RA+RS、RA+1、RA
因此,图71中所示的行地址计算器97响应于所提供的存储体地址BA和行地址RA在存储体Bank0至3中的每一个中生成如逻辑值表820中所示的行地址。
图83是示出根据本实施例的行地址计算器的示例1的图。行地址计算器97具有:用于将0、1、RS、RS+1加上所提供的行地址RA的地址加法器831至834;选择器SEL,每个选择器SEL选择地址加法器的输出中的任何一个,并将所选择的输出提供到每个存储体的地址解码器836;以及将选择信号835提供到选择器SEL的行地址控制电路830。行地址控制电路830响应于提供的存储体地址BA生成如图82的逻辑值表821中所示的选择信号(每个2比特,总共8比特)。而且,行地址的步长数数据RS和RS+1被从模式寄存器96分别提供到地址加法器833和834,并且固定值“0”和“1”分别被提供到地址加法器831和832。因此,加法器831原样输出所提供的行地址RA。
例如,在所提供的存储体地址BA=01的情况下,行地址控制电路830生成“01、00、01、00”作为选择信号835,响应于此,每个选择器SEL在顶部开始选择RA+1、RA、RA+1、RA,并将所选择的行地址分别提供到存储体的地址解码器836。在存储体中,所选择的存储体的地址解码器836响应于上述存储体激活信号actpz<3:0>而被激活,然后激活的地址解码器对上述行地址RA+1、RA、RA+1、RA解码,并且相应的字线被激活。
图84是示出根据本实施例的行地址计算器的示例2的图。在该示例中,行地址计算器97具有四个地址加法器841至844和行地址控制电路830,这四个地址加法器841至844将选择器SEL选择的常数0、1、RS、RS+1加上提供的行地址RA,并且行地址控制电路830将选择信号835提供到选择器SEL。行地址控制电路830与图83中所示的相同。然后,响应于行地址控制电路830的选择信号,每个选择器SEL选择这四个常数0、1、RS、RS+1中的任何一个,并将所选择的常数输出到地址加法器。具体而言,行地址计算器97利用选择器来选择常数0、1、RS、RS+1中的任何一个以相加到所提供的行地址RA,并将所选择的常数发送到地址加法器。图83中所示的行地址计算器97利用选择器来选择这四个地址加法器中的任何一个的输出,而图84中所示的行地址计算器97利用选择器来选择四个常数中的任何一个。这是这两个行地址计算器之间的唯一差别。
如上所述,行地址计算器97根据提供的行地址RA生成四个必需的行地址。因此,存储器设备可以通过利用单个激活命令输入行地址来在内部生成四个必需的行地址,从而可以激活多个存储体。
[存储器映射设置]
为了实现多存储体激活功能,必须在存储器设备中设置存储器映射信息。例如,如参考图82所述,基于存储器映射12选择在四个矩形访问区域RC0至3中要激活的存储体,并计算要生成的行地址。因此,如果上层系统的存储器映射不同,则存储器设备需要改变用于确定要激活的页区域的处理。
图85是示出存储器映射的两个示例的图。存储器映射12A与前述存储器映射相同,其中存储体Bank0、1布置在奇数行中,存储体Bank2、3布置在偶数行中,行地址RA如图所示布置。另外,如存储器映射12B中所示,偶数存储体Bank0、2布置在奇数行中,奇数存储体Bank1、3布置在偶数行中,并且行地址RA按与图12A相同的方式布置。
图86是示出用于上述两种类型的存储器映射的存储体地址切换电路861的图。在图86(B)的配置图中,输入缓冲器94被提供在时钟端子CLK、专用输入端子SP0和存储体地址端子BA0、BA1中,并且还提供了用于与时钟CLK同步地锁存信号的锁存电路860。
如图86(A)的定时图所示,设置数据V被从存储体地址端子BA输入,存储器映射信息AR被从专用端子SP0输入,行地址的步长数数据RS被从地址端子ADD输入,这些输入中的每一个都与扩展模式寄存器设置命令EMRS一起输入。然后,设置数据V、存储器映射信息AR和步长数数据RS被设置到模式寄存器96中。
响应于设置到模式寄存器96中的存储器映射信息AR,存储体地址切换电路861的选择器SEL选择2比特存储体地址BA0或BA1,以分别生成内部存储体地址ba0z和ba1z。如图所示,在存储器映射信息AR=L的情况下,内部存储体地址被设置为ba0z=BA0且ba1z=BA1,而在存储器映射信息AR=H的情况下,内部存储体地址被设置为ba0z=BA1且ba1z=BA0。
这样,通过基于存储器映射信息AR利用输入部分来切换存储体地址BA0、BA1,在存储器设备中并入的存储体选择功能和行地址生成功能可以基于公共的存储器映射12A配置。
应当注意,在上述实施例中,尽管多存储体信息(SA′)、同时激活存储体数据(SA′0至2)、矩形区域大小数据(W、H)等等被从专用输入端子SP输入,但是这些输入也可以由未使用的端子实现。例如,在读操作中,如果行地址由地址端子Add0至12输入而列地址由地址端子Add0至9输入,则地址端子Add10至12在输入列地址时未被使用。因此,这些控制数据项SA′、W、H等等可以在输入列地址时从这些未使用的地址端子Add10至12输入。本发明可以应用于这种情况。
而且,由扩展模式寄存器设置命令EMRS设置到模式寄存器中的各种信息项并不限于以上实施例的描述,因而本发明的可应用范围包括从地址端子输入这些各种信息项。
<<多存储体访问和字节边界>>
已经描述了存储器设备具有字节边界功能以对跨越由存储体地址和列地址选择的存储器单位区域的边界的矩形访问作出响应。还描述了存储器设备具有多存储体访问功能以对矩形访问是跨越由存储体地址和行地址选择的页区域的边界进行的情况作出响应。这里,在矩形访问区域跨越了页区域以及存储器单位区域的边界的情况下,这两种功能都可以允许通过激活命令的单次输入进行访问,并且可以消除不必要的数据输出。这种情况的具体示例在下文中描述。
图87示出了示出生成多存储体访问和字节边界的情况的定时图。该图示出了这样的示例,其中矩形访问区域22延伸超过了页区域以跨越多个存储体BA3、BA2、BA1和BA0,并且需要使列地址延伸超过存储器单位区域。在该示例中,设置了多存储体信息SA′=4(=11)且起始字节信号SB=2。
图88是具有多存储体访问功能和字节边界功能的存储器设备的配置图。尽管为了简化只有两个存储体Bank2、3被示在该存储器设备86中,但是存储器设备86实际具有两个更多的存储体Bank0、1(未示出)。用于存储器映射的列地址的步长数数据RS和列地址的步长数数据CST被预先设置在模式寄存器96中。
提供了多存储体激活控制器88和行地址计算器97-2、97-3作为行控制器,多存储体激活控制器88根据存储体地址BA和多存储体信息SA′生成要激活的存储体的存储体激活信号actpz<3:0>,行地址计算器97-2、97-3根据存储体地址BA、行地址RA和行地址的步长数数据RS计算每个存储体的行地址。这些行地址计算器97-2、97-3各自是参考图83和图84所述的配置的一部分。另外,如参考图78所描述的,存储体激活信号actpz也被提供到每个存储体的核心控制器。然而,在图88中省略了核心控制器的图示。
列控制器90具有列地址控制器290-2、290-3,其根据提供的列地址CA和存储体地址BA,以及起始字节信号SB和列地址的步长数数据CST生成每个存储体中的内部列地址I-CA-2、3。这些列地址控制器290与图44中所示的列地址生成部分相同,并且向其添加了存储体地址BA、当存储体边界被跨越时在字节边界处所需的列地址。应当注意,步长数数据CST与图44中所示的列地址卷绕数据CA Wrap相同。
而且,列控制器90基于提供的存储体地址BA和列地址CA以及起始字节信号SB生成用于选择每个存储体内的字节区域Byte0至3的数据的控制信号S221。每个存储体内的这四个字节区域Byte0至3内的数据锁存电路由控制信号S221选择,并且所选择的数据锁存电路连接到输入/输出I/O总线。每个存储体内字节区域Byte0至3的配置和操作与参考图22、24和29所描述的相同。由于每个存储体具有四个字节区域,因此上述控制信号S221是由4×4=16比特构成的选择信号。
下面描述在访问图87中所示的矩形区域22时执行的操作。如图87的定时图所示,列地址的步长数数据CST=4(图中的标号871)和行地址的步长数数据RS=4(图中的标号872)被与扩展模式寄存器设置命令EMRS一起输入,并且被设置到模式寄存器96中。
接着,具有矩形访问的左上部分的像素的页区域的存储体地址BA和行地址RA,以及多存储体信息SA′=4(图中的标号873)被与激活命令ACT(图中的标号876)一起输入。当SA′=4时,同时激活2×2=4个存储体。响应于此,多存储体激活控制器88将存储体激活信号actpz<3:0>输出到这四个存储体。此外,行地址计算器97-2、3计算每个存储体的行地址。然后,这四个存储体的行解码器对所计算的行地址解码以驱动相应的字线,然后存储体被激活。
其后,存储体地址BA=3、列地址CA126、起始字节信号SB=2(图中的标号874)和字节组合信息的第二信息BMR=UP(图中的标号875)被与读命令RD(图中的标号877)一起输入。与该存储体地址BA相对应的Bank3的列地址控制器290-3基于所提供的列地址CA=126和起始字节信号SB=2生成列地址CA=126、127,并输出列地址CA=127作为内部列地址I-CA-3。因此,Bank3使得字节区域Byte0至3中的每一个在列地址126、127上输出数据。然后,响应于从数据锁存选择器221输入的控制信号S221,字节区域Byte2、3和字节区域Byte0、1分别在列地址CA=126上输出数据到I/O总线,并在列地址CA=127上输出数据到I/O总线。
接着,存储体地址BA=3、列地址CA=127、SB=2和BMR=UP被与读命令RD一起输入。响应于此,列地址控制器290-3生成内部列地址I-CA-3=127,并且Bank3输出列地址127的4字节数据。另一方面,列地址控制器290-2根据存储体地址BA=3、列地址CA=127和起始字节信号SB=2检测到数据需要从Bank2读取,并且参考列地址的步长数数据CST以输出Bank2的列地址CA=124作为内部列地址I-CA-2。因此,Bank2读取列地址CA=124的4字节数据。然后,数据锁存选择器221基于存储体地址BA=3、列地址CA=127和起始字节信号SB=2生成控制信号S221,并且关于字节区域Byte2、3的数据和关于字节区域Byte0、1的数据分别被从Bank3和Bank2输出到I/O总线。
随后,与存储体地址BA=1相对应的列地址CA=2、3、6、7...被与读命令RD一起输入,列地址控制器290类似地生成所需的列地址,数据锁存选择器221生成所需的控制信号S221,并且与起始字节信号SB=2相对应的位置的4字节数据被从同一存储体或相邻存储体输出。
尽管以上描述是关于读命令的操作的,但是在写命令的情况下执行相同的列访问控制。
根据本实施例,相对于跨页区域进行并且跨越了多个存储体的矩形访问,访问可以基于起始字节信号SB和字节组合信息BMR从存储器单位区域内的任意字节(或比特)进行到4字节数据(或4比特数据)。
[对多存储体访问作出响应的存储器控制器]
下面描述用于控制具有多存储体访问功能的存储器设备的存储器控制器。如参考图69和图70所描述的,存储器控制器预先将行地址的步长数数据RS、存储器映射信息AR等等设置到存储器设备内的模式寄存器,响应于从存储器访问源发送来的矩形访问请求向存储器设备发布激活命令ACT、存储体地址BA、行地址RA和多存储体信息SA′,并且还发布存储体地址BA和列地址CA以及读命令RD或写命令WR。因此,存储器控制器需要响应于存储器访问请求生成多存储体访问功能所需的上述地址或数据。下面将描述这种存储器控制器的配置和操作。
图89是示出存储器映射的示例的图。存储器映射12对应于帧图像。如上所述,在该存储器映射12中,存储体地址BA0、1被分配到以矩阵形式布置的页区域14的奇数行,而存储体地址BA2、3被分配到偶数行。在每行中行地址RA顺序递增1,并且行地址步长数RS是RS=4。页区域14中的每一个由16像素×32行构成,其中由具有四个像素的数据(4字节数据)构成的存储器单位区域由一个列地址指定。因此,一个页区域14具有512/4=128个列地址区域(存储器单位区域)。
在该存储器映射12中,八个页区域布置在水平方向上,四个页区域布置在垂直方向上。因此,在该存储器映射12中,水平方向上的像素数是128(=16像素×八个页区域),并且垂直方向上的像素数也是128(=32行×四个页区域)。下文中基于该存储器映射描述各种计算过程。
图90是根据本实施例的存储器控制器的配置图。与图54一样,存储器控制器82接收来自多个访问源块81-1至81-n的存储器访问请求,并响应于被仲裁电路540许可的存储器访问请求对存储器设备86执行访问控制。具体而言,存储器控制器82具有与访问源块81-1至81-n相对应的接口IF_1至IF_n,并且还具有响应于访问请求生成地址和命令的序列器SEQ_1至SEQ_n。
因此,接口IF_1至IF_n与访问请求源块81交换数据。有两种类型的从访问源块进行的访问:水平访问和矩形访问。仲裁电路540仲裁从接口发送来的访问请求,并输出访问指令到已获取访问权限的序列器SEQ_n。选择器SEL随后响应于从仲裁电路540发送来的选择信号S540从序列器SEQ_1至SEQ_n中选择命令和地址,并将所选择的命令和地址输出到存储器设备86。选择器SEL还响应于选择信号S540从接口IF_1至IF_n中选择数据线Data。
在寄存器543中,从主机CPU设置各种参数。这些参数包括关于存储器设备86是否具有字节边界功能和多存储体访问功能的功能数据。另外,配置参数包括帧图像上左上像素的行地址ROW_BASE_ADR,帧图像的水平方向上的像素数PICTURE_MAX_XSIZE,等等。
存储器设备86是具有上述字节边界功能和多存储体访问功能的图像存储器。图90中所示的存储器控制器82和存储器设备86配置图像处理系统。
图91是示出访问源块和接口之间的信号的图。图91(A)示出了在进行矩形访问时发送的信号,图91(B)示出了在进行水平访问时发送的信号。访问源块81-n输出访问请求信号REQ和关于访问目标区域的数据。下文中描述在进行这两种访问时执行的信号发送。
图92是用于说明关于访问目标区域的数据的图。关于帧图像FM-IMG的数据被存储在存储器设备的逻辑地址空间S86中。如上所述,该帧图像FM-IMG的左上像素的行地址ROW_BASE_ADR和帧图像的水平方向上的像素数PICTURE_MAX_XSIZE被设置在寄存器543中。在该帧图像内的访问区域RIMG是矩形目标区域的情况下,该帧内的左上像素的帧像素坐标(X_POS,Y_POS)、水平方向上矩形区域的大小X_SIZE和垂直方向上矩形区域的大小Y_SIZE被从访问源块81-n提供到存储器控制器内的接口IF_n。
应当注意,帧图像FM-IMG对应于图89中的存储器映射12。具体而言,帧图像FM-IMG的左上像素对应于具有存储体地址BA=0和本地行地址RA=0的页区域的左上像素。因此,存储器的逻辑地址空间的行地址可以从帧图像FM-IMG的左上像素的行地址ROW_BASE_ADR和帧内的本地行地址RA获得。
图93是访问源块和接口之间的信号的定时图。在图93(A)所示的矩形访问(在读取时)中,访问源块81-n使得读/写指令信号RXW变为H电平(读),并且输出访问目标区域数据X/Y_POS、X/Y_SIZE,同时声明访问请求REQ。响应于此,存储器控制器发回确认ACK,在执行了预定的仲裁处理后对存储器设备86执行访问控制,并获取读数据。然后,存储器控制器的接口IF_n输出读数据RDATA(Data(A0至A7)),同时声明使能信号EN。该使能信号EN被提前一个时钟周期声明,并且预先一个时钟周期求反。
另一方面,在图93(B)所示的矩形访问(在写入时)中,访问源块81-n使得读/写指令信号RXW变为L电平(写),并且输出访问目标区域数据X/Y_POS、X/Y_SIZE,同时声明访问请求REQ。响应于此,存储器控制器发回确认ACK,在执行了预定的仲裁处理后对存储器设备86执行访问控制,并接收写数据WDATA(Data(A0至A7)),同时声明使能信号EN。该使能信号EN也被提前一个时钟周期声明,并且预先一个时钟周期求反。
在水平访问的情况下,访问源块也提供水平访问的引导地址ADR和水平访问大小SIZE,在读情况下接收读数据RDATA,并在写情况下输出写数据WDATA。具体而言,如图91所示,访问源块提供水平访问引导地址ADR、水平访问大小SIZE和读/写指令信号RXW,同时声明访问请求REQ。响应于此,接口发回确认信号ACK。然后,存储器控制器执行存储器访问,并输出读数据RDATA,同时声明使能信号。此外,在写入时,存储器控制器在执行存储器访问之前接收写数据WDATA,同时声明使能信号EN。
图94是示出存储器控制器的示意性操作的图。这些操作步骤按标号1至4的顺序执行。首先,访问请求源块81n发布访问请求REQ,然后响应于该访问请求REQ,接口IF_n将访问请求传送到仲裁电路540。接着,如果存储器设备86可被访问并且访问请求源的优先级为最高,则仲裁电路540发送确认信号ACK到接口IF_n,并输出命令发布开始指令START到序列器SEQ_n。响应于该命令发布开始指令START,序列器SEQ_n从接口IF_n接收命令发布所需的各种参数,例如X/Y_POS和X/Y_SIZE。
序列器SEQ_n基于上述参数和在寄存器中设置的参数发布命令,并开始访问存储器设备86。根据命令的发布状态,序列器SEQ_n发布与数据量相对应的使能信号EN,并且该使能信号EN经由接口IF_n被发送到访问请求源81_n。在执行读取的情况下,读数据响应于上述使能信号EN经由接口IF_n被从存储器设备86发送到访问请求源81_n。在执行写入的情况下,写数据响应于上述使能信号EN经由接口IF_n被从访问请求源81_n传送到存储器设备86。
这样,在命令被发布给存储器设备86的访问控制过程期间,序列器SEQ_n向仲裁电路540声明指示数据正被访问的激活信号ACTIVE。一旦对存储器的访问结束,激活信号ACTIVE就被求反。
图95是序列器SEQ的配置图。序列器SEQ具有:用于控制整个序列器的控制器940;中间参数生成部分941,其根据从接口IF_n传送来的访问目标区域数据X/Y_POS、X/Y_SIZE,设置在寄存器543中的帧图像FM-IMG的左上像素的行地址ROW_BASE_ADR,以及帧图像的水平方向上的像素数PICTURE_MAX_XSIZE生成中间参数;以及命令/地址生成部分942,其基于中间参数生成命令和地址并将命令和地址输出到存储器设备86。
图96是用于说明用于生成中间参数的计算方程的图。在该示例中,帧图像FM-IMG内的矩形区域RIMG被访问,如图96(A)所示,并且其数据项如下所示:
PICTURE_MAX_XSIZE=128
ROW_BASE_ADR=0
(X_POS,Y_POS)=(28,94)
(X_SIZE,Y_SIZE)=(8,4)
而且,图96(B)示出了在矩形区域RIMG附近的四个页区域BA1/RA4、BA0/RA5、BA3/RA4和BA2/RA5中水平方向上的像素数和垂直方向上的像素数(行数)。这些信息项按下面描述的方式被生成作为中间参数。
中间参数生成部分941利用下面的计算生成中间参数。
(1)在矩形数据RIMG跨越了四个页区域的情况下,左上存储体地址BA可以按随后描述的方式获得。在以下方式中,首先,获得帧图像FM-IMG内矩形数据RIMG的左上像素的帧像素坐标(X_POS,Y_POS),并且分别将这些坐标除以页区域的水平像素数16和垂直像素数32,从而获得存储体X的地址BA_X_ADR和存储体Y的地址BA_Y_ADR。在这一除法中获得的每个余数被舍入(rounded)。
BA_X_ADR=X_POS/16
BA_Y_ADR=Y_POS/32
存储体X的地址BA_X_ADR和存储体Y的地址BA_Y_ADR各自指示矩形区域的左上像素对应于存储器映射12中水平方向上或垂直方向上的哪一页区域。应当注意,存储器映射12的左上部分位于水平方向上的第0页区域和垂直方向上的第0页区域处。
下面的存储体地址BA[1:0]是取决于所获得的存储体X的地址BA_X_ADR和存储体Y的地址BA_Y_ADR是奇数还是偶数而获得的。
如果BA_X_ADR是偶数并且BA_Y_ADR是偶数,则左上BA=0;
如果BA_X_ADR是奇数并且BA_Y_ADR是偶数,则左上BA=1;
如果BA_X_ADR是偶数并且BA_Y_ADR是奇数,则左上BA=2;
如果BA_X_ADR是奇数并且BA_Y_ADR是奇数,则左上BA=3;
(2)右侧的存储体地址BA、下方的存储体地址BA和右下方的存储体地址BA按以下方式获得。具体而言,根据存储器映射12,右侧BA、下方BA和右下BA根据在上述(1)中获得的左上BA[1:0]按如下所示方式获得。应当注意,“~”意思是反相存储体地址。
右侧BA=[左上BA[1],~左上BA[0]]
下方BA=[~左上BA[1],左上BA[0]]
右下BA=[~左上BA[1],~左上BA[0]]
根据图96中所示的示例,确立了(X_POS,Y_POS)=(28,94),因而对于左上存储体地址BA,确立了
BA_X_ADR=X_POS/16=28/16=1
BA_Y_ADR=Y_POS/32=94/32=2。
另外,由于BA_X_ADR=1是奇数并且BA_Y_ADR=2是偶数,因此确立了左上存储体地址BA[1:0]=01。即,可以获得BA1。
而且,右侧BA、下方BA、右下BA,即BA0、BA3、BA2可以根据左上BA=2′b01按以下方式获得。
右侧BA=[左上BA[1],~左上BA[0]]=[00]=0
下方BA=[~左上BA[1],左上BA[0]]=[11]=3
右下BA=[~左上BA[1],~左上BA[0]]=[10]=2
(3)存储器的逻辑地址空间S86内的访问起始行地址ROW_ADR如下所示。
ROW_ADR=ROW_BASE_ADR+[PICTURE_MAX_XSIZE/(16*2)]*[Y_POS/(32*2)]+X_POS/(16*2)
具体而言,ROW_BASE_ADR是帧图像的左上像素的行地址,PICTURE_MAX_XSIZE/(16*2)是帧内水平方向上的行地址步长数,Y_POS/(32*2)指示矩形区域RIMG的左上像素位于帧内的垂直方向上的哪个数(图96中的标号961),X_POS/(16*2)指示矩形区域RIMG的左上像素位于帧内的水平方向上的哪个数(图96中的标号962)。
根据图96中所示的示例,PICTURE_MAX_XSIZE=128,ROW_BASE_ADR=0,并且设置了(X_POS,Y_POS)=(28,94),因而确立了ROW_ADR=ROW_BASE_ADR+[PICTURE_MAX_XSIZE/(16*2)]*[Y_POS/(32*2)]+X_POS/(16*2)=0+(128/32)*[94/(32*1)]+28/(16*2)=4。
(4)存储器的逻辑地址空间S86中的访问起始列地址COL_ADR是页内的列地址,并且按如下方式获得:
COL_ADR=4*Y_POS%32+(X_POS/4)%4
这里[%]是余数。具体而言,页区域内的列地址的步长数是4,页区域中的水平方向上的列数是4,并且垂直方向上的行数是32,如图89所示,因而Y_POS%32指示BA1、BA4的页区域内的行数,而(X_POS/4)%4指示页区域内的列数。
根据图96中所示的示例,访问起始列地址可以按如下方式获得:
COL_ADR=4*Y_POS%32+(X_POS/4)%4=4*94%32+(28/4)%4=120+3=123
(5)随后,由于页区域的水平方向上的像素数是16并且页区域的垂直轴内的像素数是32,则存储体内的X坐标(BA_X_POS)和Y坐标(BA_Y_POS)按如下方式获得:
BA_X_POS=X_POS%16
BA_Y_POS=Y_POS%32
该结果对应于图96(C)中所示的右上存储体(BA1/RA4)内的矩形区域RIMG的右上像素的坐标(BA_X_POS,BA_Y_POS)。
(6)指示矩形区域RIMG是否跨越存储体(页区域)的X方向BANK跨越标志和Y方向BANK跨越标志根据在(5)中获得的存储体内的X和Y坐标(即BA_X_POS,BA_Y_POS)和水平方向和垂直方向上矩形区域RIMG的大小(即X/Y_SIZE)按如下方式获得:
如果BA_X_POS+X_SIZE>15,则X方向BANK跨越标志=1;
如果BA_Y_POS+Y_SIZE>31,则Y方向BANK跨越标志=1
具体而言,如图96(C)所示,如果通过将矩形区域大小X/Y_SIZE加上矩形区域RIMG的左上像素的坐标(BA_X_POS,BA_Y_POS)而获得的值超过了页区域的水平方向大小15和垂直方向大小31,则意味着存储体被跨越。
为了利用图96中所示的示例描述以上的(5)和(6),存储体内的X坐标和Y坐标定义如下:
BA_X_POS=X_POS%16=28%16=12
BA_Y_POS=Y_POS%32=94%32=30
X方向BANK跨越标志和Y方向BANK跨越标志定义如下:
BA_X_POS+X_SIZE=12+8=20,其高于15,因而X方向BANK跨越标志=1,并且
BA_Y_POS+Y_SIZE=30+4=34,其高于31,因而Y方向BANK跨越标志=1,
因而该存储体在X和Y方向上都被RIMG跨越。
(7)随后,跨越四个存储体的矩形区域的X、Y方向的大小,即1ST_X_SIZE、2ND_X_SIZE、1ST_Y_SIZE、2ND_Y_SIZE按如下方式计算:
如图96(C)所示,如果BANK在X方向上被跨越,则BANK左侧的X_SIZE是1ST_X_SIZE,右侧的X_SIZE是2ND_X_SIZE。如果BANK在Y方向上被跨越,则BANK左侧的Y_SIZE是1ST_Y_SIZE,右侧的Y_SIZE是2ND_Y_SIZE。如果BANK不被跨越,则只有1ST_X_SIZE和1ST_Y_SIZE是有效的。因此,
如果X方向BANK跨越标志=1,
则1ST_X_SIZE=16-BA_X_POS
2ND_X_SIZE=X_SIZE-1ST_X_SIZE
如果X方向BANK跨越标志=0,
则1ST_X_SIZE=X_SIZE
如果Y方向BANK跨越标志=1,
则1ST_Y_SIZE=32-BA_Y_POS
2ND_Y_SIZE=Y_SIZE-1ST_Y_SIZE
如果Y方向BANK跨越标志=0,
则1ST_Y_SIZE=Y_SIZE
当应用图96中所示的示例时,由于X方向BANK跨越标志=1,因此
1ST_X_SIZE=16-BA_X_POS=16-12=4
2ND_X_SIZE=X_SIZE-1ST_X_SIZE=8-4=4
并且由于Y方向BANK跨越标志=1,因此
1ST_Y_SIZE=32-BA_Y_POS=32-30=2
2ND_Y_SIZE=Y_SIZE-1ST_Y_SIZE=4-2=2
(8)最后,行地址步长信息RS是指示当在水平方向上从左端到右端扫描帧图像12(FM_IMG)时行地址增大多少的数,并且通过下面的计算获得:
RS=PICTURE_MAX_XSIZE/(16*2)
在图96所示的示例中,RS按以下方式获得:
RS=PICTURE_MAX_XSIZE/(16*2)=128/32=4
如上所述,中间参数生成部分94利用以上方程计算中间参数(1)至(8),并将结果输出到命令/地址生成部分942。然后,命令/地址生成部分942基于中间参数生成命令、存储体地址BA、行地址RA、列地址CA、行地址步长信息RS和多存储体信息SA′。
图97是命令/地址生成部分的操作流程图。该图以椭圆形示出了所生成的命令。首先,存储器控制器发布正常模式寄存器设置命令MRS以对存储器设备内的模式寄存器执行各种初始设置(S40)。这些初始设置在正常SDRAM中执行。然后,存储器控制器进入备用状态(S41)。然后,当从访问源块81接收到访问请求时,中间参数生成部分941根据从访问源块接收的访问目标区域数据X/Y_POS和X/Y_SIZE、在寄存器543内设置的帧图像内的左上像素的行地址ROW_BASE_ADR和水平方向上的像素数PICTURE_MAX_XSIZE生成上述中间参数(S42)。
由于要控制的存储器设备是否具有多存储体访问功能被设置在寄存器543中,因此检查这一事项(S43)。如果多存储体访问功能未被设置,则执行正常控制操作以根据存储体数目反复地发布激活命令ACT和读命令RD(或写命令)(S44)。
在设置了多存储体访问功能的情况下,命令/地址生成部分942基于存储体跨越标志Flag[X:Y]确定存储体数目(S46)。结果,命令/地址生成部分942根据存储体跨越标志Flag[X:Y]生成多存储体信息SA′[1:0]。其间的关系如下所示:
Flag[X:Y]=00 SA′[1:0]=00(一个存储体被激活)
Flag[X:Y]=10 SA′[1:0]=01(两个存储体在X方向上被激活)
Flag[X:Y]=01 SA′[1:0]=10(两个存储体在Y方向上被激活)
Flag[X:Y]=11 SA′[1:0]=11(四个存储体被激活)
因此,命令/地址生成部分942发布多存储体信息SA′以及激活命令ACT、引导存储体地址BA和引导行地址RA(S80、S70、S60、S50)。
在四个存储体被同时激活的情况下,存储器控制器内的命令/地址生成部分942发布多存储体信息SA′=11以及激活命令ACT和行地址RA(S50)。然后,命令/地址生成部分942发布读命令或写命令以及左上存储体内的列地址CA(S51)。该读或写命令被反复发布,同时递增列地址与左上存储体内的X方向上的访问大小相对应的次数(即1ST_X_SIZE=N次)。而且,读命令或写命令被与右侧存储体内的列地址CA一起发布(S52)。该读或写命令被反复发布,同时递增列地址与左上存储体内的X方向上的访问大小相对应的次数(即2ND_X_SIZE=N次)。然后,线数递增1(S53),并且步骤S51、S52和S53被重复,直到线数超过了1ST_Y_SIZE为止,1ST_Y_SIZE是左上存储体内Y方向上的访问大小(S54)。
随后,命令/地址生成部分942发布读命令或写命令以及下方存储体的列地址CA(S55)。该读或写命令被反复发布,同时递增列地址与下方存储体内的X方向上的访问大小相对应的次数(即1ST_X_SIZE=N次)。此外,读命令或写命令被与右下存储体内的列地址CA一起发布(S56)。该读或写命令被反复发布,同时递增列地址与右侧存储体内的X方向上的访问大小相对应的次数(即2ND_X_SIZE=N次)。然后线数被递增1(S57),并且步骤S55、S56和S58被重复,直到线数超过了2ND_Y_SIZE为止,2ND_Y_SIZE是下方存储体内Y方向上的访问大小(S58)。
命令/地址生成部分942基于存储器映射图根据作为中间参数的引导列地址COL_ADR=123和列地址步长数数据CST=4获得要与上述读或写命令一起发布的列地址。
在两个存储体在X方向上被同时激活的情况下,存储器控制器内的命令/地址生成部分942发布多存储体信息SA′=01以及激活命令ACT和行地址RA(S60)。然后,读或写命令和列地址被向左上存储体发布N次(S61),并且读或写命令和列地址被向右侧存储体发布N次(S62)。这些步骤S61、S62和S63被重复,直到线数超过了1ST_Y_SIZE为止(S64)。
在两个存储体在Y方向上被同时激活的情况下,存储器控制器内的命令/地址生成部分942发布多存储体信息SA′=10以及激活命令ACT和行地址RA(S70)。然后,读或写命令和列地址被向左上存储体发布N次(S71),并且这些步骤S71和S72被重复,直到线数超过了1ST_Y_SIZE为止(S73)。类似地,读或写命令和列地址被发布到下方存储体(S74、S75、S76)。
最后,在只有一个存储体被激活的情况下,存储器控制器内的命令/地址生成部分942发布激活命令ACT、行地址RA和多存储体信息SA′=00(S80)。然后,读或写命令和列地址被向左上存储体发布N次(S81),并且这些步骤S81和S82被重复,直到线数超过了1ST_Y_SIZE为止(S83)。
如上所述,一旦从访问源块接收到访问请求REQ和访问目标区域数据X/Y_POS、X/Y_SIZE,存储器控制器82就根据设置在寄存器543中的帧区域的行地址ROW_BASE_ADR和水平方向上的像素数PICTURE_MAX_XSIZE生成中间参数,然后确定要同时激活的存储体数目,发布与判决结果相对应的多存储体信息SA′,然后同时激活存储器设备内的存储体。因此,多个存储体可以通过发布激活命令一次而被激活,从而可以高效地执行存储器访问。
图98是存储器控制器和存储器设备之间的定时图。这是示出了对跨越了四个存储体的矩形区域RIMG进行访问的情况(如图96所示)的定时图。首先,存储器控制器发布扩展模式寄存器设置命令EMRS和行地址步长信息RS4,并且将行地址步长信息RS设置到存储器设备中的寄存器内。随后,存储器控制器发布激活命令ACT、左上存储体地址BA1、引导行地址RA4和多存储体信息SA′(1,1)。响应于此,四个存储体在存储器设备中被同时激活。
在图98所示的示例中,多存储体信息SA′被从列地址端子CA输入。然而,在存储器设备采用用于从公共地址端子输入行地址RA和列地址CA的地址复用配置时,多存储体信息SA′需要从专用端子SP输入,如图72所示。
此外,存储器控制器反复地发布读命令RD、存储体地址BA和列地址CA。如图96(B)所示,存储体地址BA和列地址CA如下所示:(BA,CA)=(1,123)、(0,120)、(1,127)、(0,124)、(3,3)、(2,0)、(3,7)、(2,4)。响应于此,图98中所示的像素坐标(X_POS,Y_POS)的4字节数据被从存储器的4字节输入/输出端子BY0至3输出,并且存储器控制器接收这些4字节数据项。这样,激活命令ACT只被发布一次。
在多个存储体利用多存储体访问功能通过单个激活命令激活的情况下,当字节边界功能被用于访问4字节区域中部的图像数据时,存储器控制器发布读或写命令、存储体地址BA、列地址CA、起始字节信息SB和存储体映射图信息BMR,如图87所示。因此,存储器控制器可以减少读或写命令被发布的次数,并且还可以利用单次访问接收或输出对于所有数据总线有效的数据。
应当注意,以上实施例描述了存储数字图像数据的图像存储器的示例,在数字图像数据中,多个像素的图像数据项二维布置。然而,本发明不仅可以应用于用于存储图像数据的图像存储器,还可以应用于也可基于预定映射规则存储除了图像以外的二维阵列式数据项的存储器设备。如果所存储的数据项是二维布置的,则有时在访问二维阵列式数据内的任何矩形区域时需要访问多个页区域的数据项。在这种情况下也可应用本发明
<<后台刷新>>
已参考图6描述了后台刷新的概况。具体而言,在存储器控制器致使存储器设备在预定的一段时间中对特定存储体相继执行访问操作(例如水平访问)的情况下,存储器控制器指定未被访问的存储体,并且发布后台刷新命令以致使存储器设备对指定的存储体执行刷新操作。存储器控制器随后在此刷新操作期间发布正常操作命令,从而致使存储器设备对其中未执行刷新操作的存储体执行正常访问操作。
图99是本实施例中的后台刷新的示意性图示。图99(A)示出了后台刷新操作,图99(B)示出了存储器设备的配置。存储器设备86具有存储器单元区域990内的第一区域991和第二区域992。第一和第二区域991和992对应于存储体区域,并且其中每一个能够独立地执行激活操作、读和写操作以及预充电操作。此外,存储器设备86具有用于从存储器控制器82输入操作代码993、994的输入电路995,以及用于响应于操作代码致使存储器单元区域的第一和第二区域991和992中的任何一个执行刷新操作并且致使另一个执行正常存储器操作的控制电路996。操作代码是由例如存储器控制器发布的命令。或者,操作代码是特定输入端子的信号值和命令的组合。
如图99(A)所示,控制电路996响应于第一操作代码993在存储器内的第一区域991上开始刷新操作997。该第一操作代码993对应于图6所示的后台刷新命令BREN。同步于该第一操作代码993,或者在第一操作代码993被发布之前,刷新目标区域(第一区域)被设置,并且响应于单个后台刷新命令要执行的刷新操作的数目(刷新突发长度)和在单个刷新周期中要同时刷新的存储器的块数目(刷新块计数)也被设置。响应于这些设置,控制电路996致使刷新目标区域(第一区域)执行刷新操作997。
后台刷新仅在存储器设备内的部分区域(第一区域)中执行。因此,在除刷新目标区域之外的区域的情况下,正常存储器操作可与后台刷新并行地被执行。然后,控制电路996响应于从存储器控制器发送来的第二操作代码在所选的第二区域992中执行与第二操作代码994相对应的正常存储器操作998。第二操作代码994例如是激活命令、读/写命令之类的。具体而言,控制电路996甚至在由第一区域991执行的刷新操作997完成之前就响应于第二操作代码994致使第二区域992执行正常存储器操作998。控制电路996还甚至在由第二区域992执行的正常存储器操作998完成之前就响应于第一操作代码993致使第一区域991执行刷新操作997。
这样,在本实施例的后台刷新中,第一区域中的刷新操作和第二区域中的正常存储器操作可以无需等待另一操作完成就能被执行。因此,可以防止由于在存储器设备内的所有区域中执行刷新操作而在刷新操作时段期间中断正常存储器操作,从而防止有效访问效率降低。
图100是其中执行了本实施例的后台刷新的存储器系统的示意性图示。存储器系统1000由存储器控制器82和存储器设备86构成。存储器设备86与图99所示的相同,存储器控制器82由刷新控制电路1001、复用器MUX和输出电路1004构成。刷新控制电路1001具有分别执行存储器的第一和第二区域991和992的刷新控制的第一和第二控制电路1002和1003。具体而言,在后台刷新功能中,在存储器设备致使第一或第二区域991或992执行刷新操作的同时,存储器设备致使另一区域执行正常存储器操作。为此,需要第一和第二区域991和992单独地受到刷新控制。
根据存储器刷新规范,所有存储器区域都需要被刷新的时间段和刷新操作被执行的次数被限定。例如,在64兆比特存储器中,限定“64ms/4096周期”。在这种情况下,为了在64ms内刷新所有的64兆比特的单元,刷新操作以每15.6μs(=64ms/4096)的频率被执行,其中16千比特(=64M/4096)的单元在一次刷新操作中被刷新。
另一方面,在如图100所示存储器单元区域990由第一和第二区域991和992构成的情况下,每个区域中的所有32兆比特的单元都需要在64ms内被刷新2048次。因此,为了通过在两个区域间随机切换而对第一和第二区域执行刷新操作,需要单独控制第一和第二区域的控制电路1002和1003。
图101是用于控制后台刷新的存储器控制器的操作流程图。在图像处理系统中,图像处理设备输出存储器操作请求到存储器控制器,并且响应于存储器操作请求在存储器控制器内发生存储器操作事件。此外,在存储器控制器内还发生刷新处理事件。因此,存储器操作事件和刷新处理事件需要被调整。在上述示例中,在水平访问的情况下,如果两个事件没有发生在同一区域(存储体)内,那么即使在关于一个事件的处理尚未完成的情况下,也可发布针对另一事件的命令。
例如,如果发生刷新事件,则存储器控制器生成第一操作代码和第一区域信息(1010),并且即使第二区域上的操作尚未完成(1011中的“否”),如果第一区域和第二区域不同(1012中的“否”),那么存储器控制器也发布第一操作代码(1013)。如果作为刷新事件目标的第一区域与被操作的第二区域相同(1012中的“是”),则处理被保持待命状态,直到第二区域的操作完成(1011中的“是”)。
类似地,一旦发生存储器事件,存储器控制器则生成第二操作代码和第二区域信息(1014),并且即使第一区域上的操作尚未完成(1015中的“否”),如果第二区域和第一区域不同(1016中的“否”),那么存储器控制器也利用如上所述的方式发布第二操作代码(1017)。如果作为存储器操作事件目标的第二区域与被操作的第一区域相同(1016中的“是”),则处理被保持待命状态,直到第一区域上的操作完成(1015中的“是”)。
图102是示出根据本实施例后台刷新和水平访问之间的关系的图。在存储器映射图12中,在对存储体BA0和BA1执行水平访问1020期间,在存储体BA2和BA3中执行后台刷新。类似地,在对存储体BA2和BA3执行水平访问1021期间,在存储体BA0和BA1中执行后台刷新。这同样适用于水平访问1022和1023。这样,当相继开始执行水平访问时,可以确定在某一段时间中其中未生成访问的存储体,从而可对这个其中未进行访问的存储体执行刷新操作。通过执行这种控制,不会发生在水平访问期间对所有存储体发布刷新操作命令并且因此水平访问被中断的情况。因此,在图像数据或其他二维阵列式数据被进行光栅扫描并被从左上到右下访问的情况下,可以消除由刷新操作导致的死周期,由此可执行高速光栅扫描。
图103是示出根据本实施例后台刷新与水平访问和矩形访问的关系的图。示出了这样一个示例,其中在上述水平访问1020和1021之间生成矩形访问1024。在由图像存储器、存储器控制器和图像处设备构成的图像处理系统的情况下,针对图像存储器请求水平访问和矩形访问的组合。在矩形访问中,每当对图像数据执行压缩/扩展处理时,就访问存储器的任意地址,因此难以预测哪个存储体被访问。另一方面,在水平访问中,在某一段时间中仅在特定存储体中生成访问,而在其余存储体中则不生成访问。
因此,在水平访问1020中,后台刷新命令BREN(图中的标号60)与指示刷新目标存储体的刷新存储体信息SA(图中的标号61)一起被输入。在该示例中,水平访问1020是针对存储体BA0、BA1生成的,因而刷新目标存储体是BA2和BA3。响应于后台刷新命令BREN,存储器设备内的控制电路指令刷新目标存储体BA2和BA3执行刷新操作。在该水平访问1020中,激活命令ACT与存储体地址BA=0和行地址RA=0一起被输入,BA0和RA0的页区域被激活,然后读命令RD与存储体地址BA=0和列地址CA=0一起被输入,并且数据被读取。类似地,激活命令ACT与存储体地址BA=1和行地址RA=0一起被输入,BA1和RA0的页区域被激活,然后读命令RD与存储体地址BA=1和列地址CA=0一起被输入,并且数据被读取。在水平访问中,这些操作在某一段时间中被重复。同时,刷新操作在存储体BA2和BA3中被重复。
与上述类似的操作在水平访问1021中也被执行。具体而言,后台刷新命令BREN(图中的标号65)与作为刷新存储体信息SA(图中的标号66)的BA0、1一起被输入,并且刷新操作在存储体BA0、1中被执行。与该刷新操作并行地,激活命令和读命令被重复地输入,由此对存储体BA2、3执行水平访问操作。在矩形访问1024期间,不执行后台刷新操作。
上述后台刷新命令BREN对应于第一代码。另外,激活命令ACT和读命令RD或写命令WT(未示出)对应于第二代码。
图104是用于说明根据本实施例执行后台刷新的次数和块数的图。当在某一段时间中仅在特定存储体中生成访问或者当生成水平访问时,对其中未生成访问的存储体执行后台刷新。在本实施例中,除了指示刷新目标存储体的刷新存储体信息SA外,还从存储器控制器向存储器设备提供刷新突发长度RBL和刷新块计数RBC,其中刷新突发长度RBL指示响应于单个后台刷新命令BREN执行刷新的次数,刷新块计数RBC指示在信号刷新操作中同时刷新的块数,或者准确地说是字线的数目。
具体而言,在水平访问中,根据访问目标图像的大小,在某一段时间中重复访问一部分存储体。但是,水平访问的时间段会发生变化,并且水平访问是随机发生的。因此,要求在水平访问期间在刷新目标存储体中在所需数目的地址上执行刷新操作。例如,在在水平访问时段T期间需要在地址N上执行刷新操作的情况下,如果满足T÷τ≥N,则可对一个块(一条字线)执行N次刷新操作,其中τ是在单次刷新操作中需要的周期时间。但是,如果不满足T÷τ≥N,那么多个块(多条字线)同时经历单次刷新操作,由此N的数目实际上需要减小。同时经历刷新操作的块的数目是刷新块计数RBC。
此外,如果访问目标数据的大小大于预定大小,水平访问时段则被延长某个量。在这种情况下,可通过针对单个后台刷新命令BREN重复刷新操作多次来减少发布的命令的数目。在这种情况下,在水平访问时段T期间可执行的刷新的次数是T÷τ,这是刷新突发长度RBL。通过在水平访问开始时指定刷新突发长度RBL,在水平访问时段T结束的时刻刷新周期也结束,因而存储器设备之后立即可以发布激活命令以进入正常存储器操作的周期。
返回图104,对于存储体Bank0由图中的四个块Block-0至3构成的示例,示出了刷新突发长度RBL和刷新块计数RBC的三个组合的示例。每个块具有字线WL、位线BL和分别连接到位线BL的一组读出放大器S/A。四个块Block-0至3中的每一个具有该组读出放大器S/A,并且能够同时执行刷新操作。应当注意,刷新操作由激活操作和预充电操作构成。另外,正常操作由激活操作、读或写操作和预充电操作构成。
图104(A)示出了RBL=2和RBC=1的示例。响应于后台刷新命令BREN,刷新操作被块Block-0的字线WL0和WL1连续执行,并且响应于后续的命令BREN,刷新操作被块Block-1的字线WL0和WL1连续执行。在这种情况下,由于RBC=1,因此刷新操作仅在一个块中执行,因而刷新操作中消耗的电流量可得以减小。
图104(B)示出了RBL=1和RBC=4的示例。响应于后台刷新命令BREN,刷新操作被相应的四个块Block-0至3的字线WL0同时执行。虽然只有一个刷新周期被执行,但是刷新被四个块同时执行,因而四个地址被刷新。但是,即刻消耗了大量电流。
最后,图104(C)示出了RBL=2和RBC=2的示例。响应于后台刷新命令BREN,刷新操作分别被两个块Block-0、1的字线WL0和字线WL1连续执行。因此,要被刷新的行地址的数目为4。但是,由于刷新操作被两个存储器块同时执行,因此即刻消耗的电流量低于图104(B)的示例中即刻消耗的电流量。
如上所述,在本实施例的后台刷新中,指示刷新目标存储体的刷新存储体信息SA、刷新突发长度RBL和刷新块计数RBC与命令BREN或者寄存器设置命令EMRS一起被输入,以便灵活地对随机水平访问的发生和时段作出响应。
顺便说一下,存储器控制器可通过设置刷新突发长度RBL来致使存储器设备执行后台刷新操作多次,但是一旦刷新操作被启动,如果与刷新突发长度RBL相对应的刷新操作的数目无法改变则不太方便。因此,正如下面将描述的,在本实施例中,刷新突发长度RBL可通过添加被增大或者被重置以获得新的突发长度RBL,或者刷新操作可被停止。为了灵活地对随机水平访问作出响应,可利用添加突发长度RBL的功能预先发布后台刷新命令。重置突发长度的功能可在新的水平访问被生成时被使用。此外,当曾一度被设置的刷新突发长度RBL过长时,用于停止刷新操作的命令生效。
此外,在本实施例中,可以使用在所有剩余地址上执行刷新操作的全部刷新命令。因此,可以强制没有有效数据的存储器区域执行刷新操作以重置刷新计数器。这将在下面描述。
图105是根据本实施例的后台刷新操作的定时图。图105(A)示出了这样一个示例,其中当对存储体BA2、3进行水平访问1020时致使存储体BA0、1执行刷新操作,其中刷新突发长度RBL和刷新块计数RBC(图中的标号1052)与BREN(图中的标号60)一起被发布到存储器设备。然后,与水平访问相对应的激活命令ACT和读命令RD被重复发布。
另一方面,在图105(B)中,在水平访问1020被启动之前,刷新突发长度RBL和刷新块计数RBC与扩展模式寄存器设置命令EMRS(图中的标号1051)一起被发布(图中的标号1053)。因此,存储器设备将RBL和RBC设置到内部模式寄存器中。然后,在水平访问1020中,刷新存储体信息SA与后台刷新命令BREN(图中的标号1054)一起被提供,响应于此,存储器设备执行与寄存的RBL和RBC相对应的刷新操作。然后,与水平访问相对应的激活命令ACT和读命令RD被重复发布。
如上所述,刷新突发长度RBL和刷新块计数RBC可以每次与命令BREN一起被设置,或者预先被设置到模式寄存器中。通过将刷新突发长度RBL和刷新块计数RBC设置到模式寄存器中,刷新突发长度RBL和刷新块计数RBC不必每次与命令BREN一起被设置。
图106是用于说明根据本实施例的刷新突发长度的图。图106(A)是示出针对自动刷新命令AREF执行一次刷新的情况的定时图。另一方面,图106(B)是示出根据本实施例针对单个后台刷新命令BREN执行多次(RBL)刷新的情况的定时图。两幅图都示出了在对存储体BA2、3的水平访问期间对存储体BA0、1执行刷新的示例。
如图106(A)所示,刷新存储体信息(0、1)与自动刷新命令AREF一起被提供到存储体地址端子BA,刷新控制信号refz在存储器设备中被设到H电平,并且刷新操作REF被执行。在经过命令之间的时间tRRD之后,激活命令ACT被发布到BA2和BA3,响应于此,读命令RD被发布到BA2和BA3,然后预充电命令PRE被发布到BA2和BA3。然后,在第10号时钟的定时再次发布自动刷新命令AREF,并且对存储体BA0、1执行刷新。因此,响应于单个自动刷新命令AREF仅执行刷新操作REF一次,因而有必要发布自动刷新命令AREF多次。
另一方面,如图106(B)所示,响应于后台刷新BREN,刷新操作REF被重复多次,次数对应于预先设置的刷新突发长度RBL。具体而言,存储器内的控制电路激活刷新控制信号refz以执行刷新操作,并且在其完成后还响应于刷新间隔信号refintvalx激活刷新控制信号refz以执行刷新操作。这样,刷新操作被重复了对应于刷新突发长度RBL的次数。因此,不必多次发布刷新命令。更具体而言,在第10号时钟不发布刷新命令。因此,由于在图中所示的时间1060之前第二刷新操作提早完成,因此刷新操作周期变得相当短。因此,通过设置刷新突发长度RBL并自动执行刷新多次,存储器控制器可更高效地发布命令。
图107是用于说明根据本实施例的刷新突发长度的图。图107(A)是示出刷新突发长度RBL被指定以执行后台刷新的情况的定时图,图107(B)是示出在不指定RBL的情况下执行后台刷新的情况的定时图。但是,两幅图都示出了响应于命令BREN多次执行刷新操作的示例。
在图107(A)的情况下,响应于后台刷新命令BREN(图中的标号1070),存储器设备利用预先设置的刷新突发长度RBL在内部重复刷新操作REF。因此,内部刷新操作完成,并且对存储体BA0、1执行的预充电操作在第20号时钟结束。因此,存储器控制器可在第21号时钟向存储体BA0发布激活命令ACT(图中的标号1071)以执行正常访问。
另一方面,在图107(B)的情况下,由于未指定执行刷新的次数,因此存储器设备响应于命令BREN(图中的标号1072)在内部重复刷新操作REF。存储器控制器在第21号时钟向存储体BA0发布预充电命令PRE(图中的标号1073)以停止重复的刷新操作。但是,新的内部刷新操作REF在第20号时钟被启动,因而该刷新操作无法响应于预充电命令PRE在第21号时钟被停止。因此,存储器控制器要等到启动的刷新操作完成为止才能发布激活命令ACT(图中的标号1074),并且最终可在发布预充电命令PRE之后经过REFC时间(约数十ns)后发布激活命令ACT,其中REFC时间是刷新操作所需的时间。具体而言,如果没有预先指定执行刷新的次数,存储器控制器则需要通过发布预充电命令来停止刷新操作。但是,由于无法通过发布用于停止刷新操作的预充电命令立即停止刷新操作,对接下来要发布的激活命令的发布因而变得延迟。
上述专利文献6,即美国专利申请公布No.US2005/0265104A1中描述的发明对应于以上描述的图107(B)。另一方面,本实施例对应于图107(A)。
以上已描述了后台刷新功能的概况。下面描述用于实现该功能的存储器设备的配置。
[具有后台刷新功能的存储器设备]
图108是具有后台刷新功能的整个存储器设备的配置图。在图中,一组输入端子93分别示出了时钟CLK、命令信号/CS、/RAS、/CAS、/WE、2比特存储体地址BA<1:0>和14比特地址A<13:0)的端子,并且每个输入信号同步于时钟CLK被输入到输入缓冲器94并被锁存到锁存电路720中。在图9中的命令控制器95内提供命令解码器1080,并且该命令解码器1080对命令信号/CS、/RAS、/CAS和/WE进行译码,以输出模式寄存器设置脉冲信号mrspz、激活脉冲信号actpz、刷新脉冲信号refpz和预充电脉冲信号prepz,作为与命令EMRS、ACT、BREN和PRE相对应的内部控制信号。存储体地址BA<1:0>被锁存并变为内部存储体地址baz<1:0>,基于此,正常存储体解码器1081生成存储体选择信号bnkz<0:3>。此外,刷新存储体解码器1082基于存储体地址baz<1:0>、从地址端子输入的信号以及在模式寄存器96中设置的设置值modez*生成刷新存储体选择信号ref_bnkz<0:3>。模式寄存器96响应于模式寄存器设置脉冲信号mrspz设置从存储体地址baz<1:0>和地址az<13:0>输入的设置值。
存储器设备86除了上述控制电路外还具有四个存储体92。每个存储体具有包括存储器单元阵列、解码器和读出放大器的核心1086,用于控制核心的核心控制电路1085,用于生成每个存储体的刷新地址(行地址)REF_RA的刷新地址计数器1083,以及用于锁存从外部提供的地址az<13:0>或者刷新地址REF_RA中的每一个的地址锁存电路1084。虽然该图只示出了存储体Bank0的详细配置,但其他存储体Bank1、2、和3具有相同的配置。
响应于激活脉冲信号actpz,如果存储体选择信号bnkz<0:3>处于被选择状态,则每个存储体的核心控制电路1085激活内部核心,其中激活脉冲信号actpz是响应于激活命令ACT生成的。在这种情况下,地址锁存电路1084锁存从外部提供的地址az<13:0>,将地址提供到核心1086内的解码器。响应于刷新脉冲信号refpz,如果刷新存储体选择信号ref_bnkz<0:3>处于被选择状态,则核心控制电路1085激活内部核心并且致使核心执行刷新操作,其中刷新脉冲信号refpz是响应于后台刷新命令BREN生成的。在这种情况下,地址锁存电路1084锁存刷新地址计数器1083的刷新地址REF_RA,并且将地址提供到核心内的解码器。
[存储器设备的存储体的配置示例]
图109是具有后台刷新功能的存储器设备的存储体的配置图。图109示出了图108所示的四个存储体的配置。所有的四个存储体Bank0至3都具有刷新地址计数器1083、地址锁存电路1084、核心1086和核心控制电路1085。存储体选择信号bnkz<0:3>和刷新存储体选择信号ref_bnkz<0:3>被输入到四个存储体Bank0至3中的每一个,并且当这些信号处于被选择状态时,核心控制电路1085响应于激活脉冲信号actpz使核心进入激活状态,并且还响应于刷新脉冲信号refpz使核心进入激活状态。在该示例中,由于每个存储体具有刷新地址计数器1083,因此可在每个存储体上独立地执行刷新控制。因此,在一个存储体执行正常存储器操作的同时,可对其余存储体中的一个、两个或三个存储体执行刷新控制。对每个存储体独立地执行的刷新控制已参考图100描述。
图110是具有后台刷新功能的存储器设备的存储体的另一配置图。在该示例中,Bank0至3中的每一个具有核心1086、地址锁存电路1084和核心控制电路1085。此外,在两个存储体Bank0和1中的每一个中提供了刷新地址计数器1100,并且刷新地址REF_RA被提供到两个Bank0和1。此外,在两个存储体Bank2和3中的每一个中提供了刷新地址计数器1101,并且刷新地址REF_RA被提供到Bank2和3二者。在该示例中,可对每两个存储体独立地执行刷新控制。具体而言,在Bank0和1执行正常存储器操作的同时,可同时对Bank2和3执行刷新操作,反之亦可。当然,四个存储体也可同时经历刷新操作。
图111是存储器设备的存储体的另一个配置。在该示例中,在存储体内没有设置刷新地址计数器,而是在地址解码器1111和字驱动器1113之间提供了指示字线的指针1112。在正常存储器操作中,在每个存储体中设置的地址锁存电路1100响应于激活脉冲信号actpz被激活,并且锁存外部地址az<13:0>。每个存储体内的地址解码器1111在存储体选择信号bnkz<0:3>处于被选择状态时被激活,并且对地址进行译码。被解码器选择的字驱动器1113驱动字线,并且使存储器单元区域1114进入激活状态。然后,放大器控制电路1115在预定的定时激活读出放大器1116。
另一方面,在后台刷新时,当刷新存储体选择信号ref_bnkz<0:3>处于被选择状态时,指针1112被刷新脉冲信号refpz激活,与处于被选择状态的指针相对应的字驱动器1113驱动字线,并且刷新操作被存储器单元区域1114和读出放大器1116执行。一旦刷新操作结束,指针1112就将下一指针改为被选择状态。这样,每当刷新操作结束时,该组指针1112就相继移动被选择的位置,以便存储器单元区域内的字线可顺序被驱动。
在图111所示的示例中,在所有四个存储体中都分别提供了用于刷新的指针1112,因而可独立地对四个存储体执行刷新控制。
图112是用于说明根据本实施例的后台刷新操作的图。图112(A)是传统示例,其中一旦接收到自动刷新命令AREF,存储器设备即对所有的内部存储体执行刷新操作。该图示出了执行的刷新的次数为1的示例。在刷新周期tREFC中,无法执行正常存储器操作,因而在从第9号时钟接收到激活命令ACT后再次执行正常存储器操作。
另一方面,图112(B)示出了本实施例,其中存储器设备响应于后台刷新命令BREN,对由存储体地址BA指定的存储体BA0和1启动刷新操作。与此并行地,存储器设备接收与存储体BA2和BA3相对应的读命令RD和激活命令ACT,并且执行读操作。在接收读命令RD之后,存储器设备接收预充电命令PRE,并且致使存储体BA2和BA3执行预充电操作。
应当注意,在图112(B)所示的示例中,与后台刷新命令BREN同时地,刷新存储体信息“0、1”和刷新突发长度“8”分别从存储体地址端子BA和地址端子Add输入。但是,如图所示,刷新存储体信息“0、1”可从专门提供的端子SA输入,并且刷新突发长度“8”和刷新块计数“1”可分别从端子RBL和RBC输入。
如图112所示,根据本实施例的后台刷新功能,刷新操作与正常存储器操作并行执行,因而正常存储器操作不被刷新操作中断。
[刷新存储体解码器、核心控制电路和地址锁存电路]
接下来,描述图118至111所示的刷新存储体解码器、核心控制电路和地址锁存电路。应当注意,存储体地址BA<1:0>和要选择的存储体之问的关系在下面示出,作为前提。
被BA<1>=0和BA<0>=0选择的存储体是Bank0
被BA<1>=0和BA<0>=1选择的存储体是Bank1
被BA<1>=1和BA<0>=0选择的存储体是Bank2
被BA<1>=1和BA<0>=1选择的存储体是Bank3
图113是示出第一和第二刷新存储体解码器的电路的图。当存储器设备对每两个存储体执行刷新操作时应用图113(A)所示的刷新存储体解码器1082(1)的第一示例,并且当后台刷新命令BREN被输入时执行控制以基于存储体地址端子BA<1>的逻辑选择Bank0、1或Bank2、3。因此,存储体地址端子BA<1>的逻辑有效(V:有效),而存储体地址端子BA<0>的逻辑无效(不关心)。具体而言,如果存储体地址端子BA<1>=H,则刷新存储体选择信号ref_bnkz<2,3>=H,因而Bank2、3被选择。如果存储体地址端子BA<1>=L,则刷新存储体选择信号ref_bnkz<0,1>=H,因而Bank0、1被选择。
当存储器设备对每两个存储体执行刷新操作时应用图113(B)所示的刷新存储体解码器1082(2)的第二示例,并且当后台刷新命令BREN被输入时执行控制以基于存储体地址端子BA<0>的逻辑选择Bank0、2或Bank1、3。因此,存储体地址端子BA<1>的逻辑无效(不关心)。具体操作与第一示例的相同。
在在水平方向上配置一行的存储体的组合是Bank0、1(或Bank2、3)的情况下,最好将第一示例用于在水平访问时执行的后台刷新。另一方面,在在水平方向上配置一行的存储体的组合是Bank0、2(或Bank1、3)的情况下,最好将第二示例用作后台刷新。水平方向上的存储体的组合取决于使用存储器的存储器系统的存储器映射。因此,根据存储器映射,存储器设备需要具有第一或第二示例的刷新存储体解码器。
图114是示出第三刷新存储体解码器的电路的图。第三刷新存储体解码器1082(3)的示例是通过组合第一和第二示例获得的。第三刷新存储体解码器1082(3)具有四个选择器SEL,用于根据在模式寄存器中设置的设置值modez选择存储体地址baz<0>侧的译码信号或baz<1>侧的译码信号。如图中的逻辑值表所示,如果modez=1,则存储体地址baz<1>变得有效(V:有效),由此baz<1>侧的译码信号在刷新存储体选择信号ref_bnkz<0,1>和ref_bnkz<2,3>的组合中被选择。另一方面,如果modez=0,则存储体地址baz<0>变得有效(V:有效),由此baz<0>侧的译码信号在刷新存储体选择信号ref_bnkz<0,2>和ref_bnkz<1,3>的组合中被选择。因此,通过预先根据存储器映射在模式寄存器中设置设置值modez,可以对任何类型的存储器映射作出响应。
图115是示出第四刷新存储体解码器的电路的图。在第四刷新存储体解码器1082(4)中,存储体选择模式由在模式寄存器中设置的2比特设置值modez<1:0>切换。四类存储体选择模式如下,如图中的表所示。
(1)当modez<1:0>=1,1时,由存储体地址端子BA<1>和BA<0>指定的一个存储体被选择。具体而言,仅从四个存储体中选择一个存储体。
(2)当modez<1:0>=1,0时,由存储体地址端子BA<1>选择的两个存储体的组合,即Bank0、1或Bank2、3被选择。
(3)当modez<1:0>=0,1时,由存储体地址端子BA<0>选择的两个存储体的组合,即Bank0、2或Bank1、3被选择。
(4)当modez<1:0>=0,0时,所有的刷新存储体选择信号ref_bnkz<0:3>进入被选择状态。
因此,一旦刷新命令BREN被输入,刷新就在四个存储体中执行。
在刷新存储体解码器1082(4)中,存储体地址baz<0>被输入其中的两个与非门在modez<0>=1时被激活,预译码信号ba0x,z变为1或0,并且存储体在刷新存储体选择信号ref_bnkz<0,2>、<1,3>的组合中被选择。另一方面,存储体地址baz<1>被输入其中的两个与非门在modez<1>=1时被激活,预译码信号balx,z变为1或0,并且存储体在刷新存储体选择信号ref_bnkz<0,1>、<2,3>的组合中被选择。
在该示例的情况下,在具有在水平方向上配置一行的Bank0、1(Bank2、3)的组合的系统中,模式寄存器设置值可被设置到modez<1:0>=1,0。此外,在具有在水平方向上配置一行的Bank0、2(Bank1、3)的组合的系统中,模式寄存器设置值可被设置到modez<1:0>=0,1。此外,在以存储体为单位执行刷新的系统中,modez<1:0>=1,1可被设置,并且在以传统方式对所有存储体同时执行刷新的系统中,modez<1:0>=0,0可被设置。
图116是示出第五刷新存储体解码器的电路的图。第五刷新存储体解码器1082(5)可利用与命令BREN同时提供的2比特地址端子A<1:0>切换存储体选择模式(1个存储体、2个存储体、2个存储体或4个存储体)。具体而言,在该示例中,从2比特地址端子A<1:0>输入的设置值取代图115所示的第四示例的模式寄存器设置值modez<1:0>被使用。存储体选择模式的切换与图115的相同。根据第五示例,可在每次发布命令BREN时改变刷新存储体选择的组合。因此,即使在矩形模式的情况下,也可改变刷新目标存储体选择的组合以在后台执行刷新。
图117是示出第六刷新存储体解码器的电路的图。当刷新命令BREN被输入时,第六刷新存储体解码器1082(6)可使用存储体地址端子BA<1>、BA<0>,以指定同时执行刷新的两个存储体的组合。两个存储体的组合的切换与图114所示的第三示例相同,但是第五示例的组合切换可在不使用模式寄存器设置值而是只使用与命令一起输入的存储体地址端子BA<1>、BA<0>的逻辑的情况下执行。
刷新存储体解码器1082(6)输入由正常存储体解码器从存储体地址BA<1:0>生成的存储体选择信号bnkz<3:0>,然后生成刷新存储体选择信号ref_bnkz<0:3>。
首先,如存储器映射图1170中所示,在其中在水平方向上配置一行的存储体的组合是Bank0、1(或者Bank2、3)的系统中,如果BA<1>=0并且BA<0>=0,则存储体选择信号bnkz<0>被选择(bankz<0>=高,其余为低),并且Bank0和Bank1被选择。如果BA<1>=1并且BA<0>=1,则存储体选择信号bnkz<3>被选择(bankz<3>=高,其余为低),并且Bank2和Bank3被选择。
另一方面,如存储器映射图1171所示,在其中在水平方向上配置一行的存储体的组合是Bank0、2(或者Bank1、3)的系统中,如果BA<1>=0并且BA<0>=1,则存储体选择信号bnkz<1>被选择,并且Bank1和Bank3被选择。如果BA<1>=1并且BA<0>=0,则存储体选择信号bnkz<2>被选择,并且Bank0和Bank2被选择。
图118是示出第七刷新存储体解码器的电路的图。第七刷新存储体解码器1082(7)响应于与命令BREN一起输入的4比特地址端子A<3:0>选择一个刷新目标存储体。例如,地址端子A<0>与Bank0相关联,地址端子A<1>与Bank1相关联,地址端子A<2>与Bank2相关联,而地址端子A<3>与Bank3相关联。然后,当输入后台刷新命令时,
(1)如果A<3>=0,A<2>=0,A<1>=1并且A<0>=1,则Bank0和Bank1被选择,
(2)如果A<3>=1,A<2>=1,A<1>=0并且A<0>=0,则Bank2和Bank3被选择,
(3)如果A<3>=0,A<2>=1,A<1>=0并且A<0>=1,则Bank0和Bank2被选择,
(4)如果A<3>=1,A<2>=0,A<1>=1并且A<0>=0,则Bank1和Bank3被选择,并且
(5)如果A<3>=1,A<2>=1,A<1>=1并且A<0>=1,则Bank0、Bank1、Bank2和Bank3都被选择。
(6)如果A<3:0>中的任何一个为1,则一个相应的存储体被选择。在这种情况下,存储体地址端子BA<1:0>或者其余地址端子A<13:4>被忽略。
图119是核心控制电路的配置图。如图108所示,在每个存储体中都提供了核心控制电路。在图示示例中,核心控制电路响应于刷新命令只执行刷新操作一次。下面将描述本实施例的用于控制执行次数与刷新突发长度RBL相对应的刷新操作的控制电路。
首先,该核心控制电路1085具有响应于激活脉冲信号actpz、刷新脉冲信号refpz和预充电脉冲信号prepz生成各种定时信号的定时控制电路1190和响应于刷新脉冲信号refpz控制刷新的刷新控制电路1191。由两个与非门构成的RS触发器FF1锁存激活状态,并且RS触发器FF3锁存刷新状态。设置输入1192和重置输入1193被输入到RS触发器FF1。此外,设置输入1194和重置输入1195被输入到RS触发器FF3。
在图中,激活状态信号rasz在H电平表明激活状态,而在L电平则表明预充电状态。均衡信号eqlonz在H电平均衡存储器单元区域的一对位线,而在L电平则取消均衡。字线激活信号wlonz在H电平激活字线,而在L电平则解除激活字线。读出放大器激活信号saonz在H电平激活读出放大器,而在L电平则解除激活读出放大器。响应于激活命令ACT,命令解码器使激活脉冲信号actpz变为H电平。当刷新命令被输入时,刷新脉冲信号refpz变为H电平。当预充电命令PRE被输入时,预充电脉冲信号prepz变为H电平。存储体选择信号bnkz<#>是正常存储体解码器的输出信号,并且在bnkz<#>变为H电平时指定执行激活或预充电操作的存储体。标号“#”是存储体的号码。刷新存储体选择信号ref_bnkz<#>是刷新存储体解码器的输出信号,并且在ref_bnkz<#>变为H电平时用于指定执行刷新操作的存储体。
图120是示出核心控制电路的操作的定时图。命令解码器(未示出)响应于第0时钟的自动刷新命令AREF生成刷新脉冲信号refpz,由此由ref_bnkz指定的存储体的RS触发器FF1和FF3被设置。结果,激活状态信号rasz变为H电平,均衡信号eqlonz变为L电平,并且字线激活信号wlonz在经过延迟电路DELAY-2的延迟时间之后变为H电平。响应于此,被行地址选择的字线被驱动。接下来,读出放大器激活信号saonz在经过延迟电路DELAY-3的延迟时间之后变为H电平,由此读出放大器被激活并且重写被执行。
另一方面,在RS触发器FF3被设置的状态下,刷新激活状态信号ref_rasz也变为H电平。刷新预充电脉冲ref_prepz在与门1196使读出放大器激活信号saonz出现上升沿起经过延迟电路DELAY-4的延迟时间之后变为H电平,并且RS触发器FF3和FF1被重置。通过重置RS触发器FF1,激活状态信号rasz变为L电平,字线激活信号wlonz也变为L电平,并且字线变为L电平。然后,均衡信号eqlonz在经过DELAY-1的延迟时间之后变为H电平,然后存储器单元的一对位线被均衡,并且存储器单元区域的预充电完成。结果,预充电操作的一个周期结束。
应当注意,在正常操作中,一旦与在第9时钟接收到的激活命令ACT相对应的激活脉冲信号actpz变为H电平,则RS触发器FF1被设置,均衡信号eqlonz变为L电平,信号rasz、wlonz和saonz顺序变为H电平,并且存储器单元区域被激活。然后,一旦与预充电命令PRE相对应的预充电脉冲prepz变为H电平,则RS触发器FF1被重置,信号rasz、wlonz和saonz顺序变为L电平,然后均衡信号eqlonz变为H电平,并且存储器单元区域被预充电。这是正常操作的一个周期。在正常操作时,刷新控制电路1191不被操作。
如上所述,刷新操作由激活操作和预充电操作构成,而正常操作由激活操作、读或写操作以及预充电操作构成。应当注意,在图120中省略了对读命令或写命令的图示。在下面描述的刷新突发操作中,上述预充电的一个周期被重复多次,次数对应于刷新突发长度。
图121是示出地址锁存电路的配置和操作的图。如图108所示,在每个存储体中提供了地址锁存电路1084,并且该地址锁存电路1084向存储器核心输出行地址RA<13:0>。因此,图中所示的13个地址锁存电路1084是并行设置的。如果存储体选择信号bnkz<#>处于H电平,则开关1201导通,并且地址锁存电路响应于激活脉冲信号actpz将从外部发送来的地址信号az<13:0>锁存在锁存电路1200中。另一方面,如果刷新存储体选择信号ref_bnkz<#>处于H电平,则开关1202导通,并且地址锁存电路响应于刷新脉冲信号refpz将刷新地址计数器1083的刷新地址REF_RA<13:0>锁存在锁存电路1200中。
此外,如图121的定时图所示,刷新行地址选通脉冲信号Ref_ra_strbpz响应于刷新脉冲信号refpz被生成,响应于此刷新地址计数器1083递增地址。响应于后续的刷新脉冲信号refpz,递增后的刷新地址REF_RA<13:0>被锁存在锁存电路1200中。
[刷新突发控制]
接下来,描述本实施例的后台刷新操作特有的刷新突发控制。在刷新突发控制中,存储器设备响应于单个后台刷新命令重复执行刷新操作与刷新突发长度相对应的多次。因此,如图106所示,可以减少命令发布次数,并且可以提高访问效率。
图122是示出刷新突发操作的定时图。有该示例中,在图中所示的右上方存储器映射图12中,在对第一行执行刷新操作的同时,水平地访问第二行。在第0时钟,刷新存储体信息SA=0、1和刷新突发长度RBL=4与后台刷新命令BREN一起被从存储器控制器提供到存储器设备。此外,虽然刷新块计数RBC也被提供,但是在此示例中省略了它。如图105所示,刷新存储体信息SA和刷新突发长度RBL被利用模式寄存器设置命令设置在模式寄存器中,或者与刷新命令BREN一起提供。这些项被提供到的外部端子例如是存储体地址端子、地址端子、专用的端子等等。下面描述具体示例。
一旦在第0时钟接收到后台刷新命令BREN,存储器设备就对Bank0、1反复执行刷新操作四次。此外,存储器控制器在第2、4号时钟向Bank2、3发布激活命令ACT,在第5、7号时钟发布读命令RD,并且还在第8、9号时钟发布预充电命令PRE。类似地,在第11、13号时钟激活命令ACT被发布到Bank2、3,并且读命令RD和预充电命令PRE也被发布。响应于此,存储器设备对Bank2、3执行激活操作。对Bank2、3执行的激活操作是与对Bank0、1执行的刷新操作并行执行的。
通过指定刷新突发长度RBL,四个刷新操作在第16时钟完成,并且在时钟19之后激活命令ACT立即可被发布到Bank0、1。
图123是控制刷新突发操作的核心控制电路的配置图。通过参考图119和图120,该核心控制电路变得更清楚。核心控制电路1085除了图119所示的定时控制电路1190和刷新控制电路1191外,还具有其中设置了刷新突发长度RBL的刷新突发长度寄存器1231、用于对刷新操作的数目进行计数的刷新突发长度计数器1230,以及通过比较刷新突发长度寄存器1231和刷新突发长度计数器1230的输出来检测刷新突发操作的结束的刷新突发结束检测电路1232。图123所示的核心控制电路1085是这样一个示例,其中刷新突发长度RBL(四个比特:1至16次)与后台刷新命令BREN一起被输入到地址端子A<7:4>中(对应于图105(A))。
如图中的表1231T所示,与从地址端子az<7:4>输入的4比特信息相对应的刷新突发长度RBL=1至16被设置在刷新突发长度寄存器1231中,刷新突发长度在表1231T中示出。该设置是在响应于后台刷新命令BREN生成的刷新脉冲信号refpz和刷新存储体选择信号ref_bnkz<#>等于高时执行的。
当刷新脉冲信号refpz=H并且刷新存储体选择信号ref_bnkz<#>=H时,刷新突发长度计数器1230被设置。每当刷新操作的一个周期结束时,刷新控制电路1191就输出一个用于指导下一刷新操作的内部刷新脉冲信号int_refpz(=H),响应于此刷新突发长度计数器1230递增计数值。然后,当计数器1230的计数值与在刷新突发长度寄存器1231中设置的突发长度RBL匹配时,刷新突发结束检测电路1232输出刷新突发结束信号rb_endz(=H)。响应于此,刷新控制电路1191重置锁存刷新状态的RS触发器电路,并且停止输出后续的内部刷新脉冲信号int_refpz和刷新预充电脉冲信号ref_prepz。
图124是控制刷新突发操作的核心控制电路的另一配置图。该核心控制电路1085是这样一个示例,其中与模式寄存器设置命令EMRS一起输入到地址端子az<7:4>的刷新突发长度RBL被设置在模式寄存器96中(对应于图105(B))。响应于模式寄存器设置脉冲mrspz,输入到地址端子az<7:4>的4比特数据被设置为刷新突发长度(图123所示的表1231T),并且将要输入到存储体地址端子baz<1:0>的关于刷新目标存储体的信息也被设置。此外,刷新块计数RBC也被设置。
刷新突发结束检测电路1232从模式寄存器96输入指示刷新突发长度的信号modez<7:4>,并且将这些信号与刷新突发长度计数器1230的计数值相比较。其他配置与图123所示的相同。
图125示出了核心控制电路内的定时控制电路1190和刷新控制电路1191的详细电路图。图中箭头1250至1254所示的配置被添加到了图119所示的配置。具体而言,锁存刷新状态的RS触发器FF2响应于由刷新命令BREN生成的刷新脉冲信号refpz被设置,从而由箭头1250示出的刷新状态信号ref_statez被设置到H电平。在刷新突发操作期间该刷新状态信号ref_statez被保持为H。
为了控制刷新操作的重复,一旦均衡信号eqlonz在刷新周期结束时变为H电平,刷新控制电路1191就在经过DELAY-5的延迟时间后使内部刷新脉冲信号int_refpz(箭头1251、1252)变为H电平(DELAY-0的脉冲宽度)。该内部刷新脉冲信号int_refpz设置RS触发器FF1(箭头1253),并且指导下一刷新周期的开始。该内部刷新脉冲信号int_refpz递增刷新计数器,如上所述。
然后,为了停止刷新操作,在刷新控制电路1191中,当刷新突发结束信号rb_endz(箭头1254)在与突发长度相对应的刷新周期结束时变为H电平时,并且当刷新预充电脉冲信号ref_prepz在刷新操作周期结束时变为H电平时,RS触发器FF2被重置输入1195重置,并且刷新状态信号ref_statez被重置到L。结果,与门1197的输出固定为L电平,并且指导下一刷新周期的开始的内部刷新脉冲信号int_refpz不再被输出。
图126示出了核心控制电路内的定时控制电路1190和刷新控制电路1191的另一详细电路图。该核心控制电路的刷新控制电路1191具有由刷新状态信号ref_statez的H电平激活的振荡器1260,用来取代图125所示的与门1197或延迟电路DELAY-5。振荡器1260以与刷新周期基本相同的频率振荡,并且持续输出用于指令下一刷新周期的开始的内部刷新脉冲信号int_refpz。当在刷新操作的一个周期结束时刷新突发结束信号rb_endz变为H电平并且刷新预充电脉冲信号ref_prepz变为H电平时,RS触发器FF2被重置,刷新状态信号ref_statez被重置到L,并且振荡器1260被停止。其他配置与图124所示的相同。
在说明图127和128之后参考图129描述图125和126所示的核心控制电路的详细操作。
图127是示出刷新突发长度计数器1230、刷新突发长度寄存器1231和刷新突发结束检测电路1232的配置图。该图是图123的具体示例,并且还是没有图124所示的寄存器的具体示例。刷新突发长度计数器1230内的计数器响应于刷新脉冲信号refpz被重置到“0”,并且响应于用于指导刷新周期的开始的内部刷新脉冲信号int_refpz被递增。计数器值rblcz<3:0>被输出到刷新突发结束检测电路1232。
刷新突发长度寄存器响应于刷新脉冲信号refpz锁存地址端子az<7:4>的信号,并且向刷新突发结束检测电路1232输出指示刷新突发长度的被锁存的rblrz<3:0>。
刷新突发结束检测电路1232将计数器值rblcz<3:0>与刷新突发长度rblrz<3:0>相比较,并且在两者匹配时输出刷新突发结束信号rb_endz。后续的刷新操作被该刷新突发结束信号rb_endz停止。
图128是地址锁存电路的配置图。除了图121所示的配置外,还存在这样一个配置,其中地址锁存电路1084响应于由箭头1280示出的内部刷新脉冲信号int_refpz经由开关1202将刷新地址REF_RA<13:0>锁存到锁存电路1200中,其中刷新地址REF_RA<13:0>是刷新地址计数器1083的输出。具体而言,在刷新突发操作中,为了重复刷新周期,内部刷新脉冲信号int_refpz(=H)被重复输出。因此,响应于此,地址锁存电路1084需要锁存来自刷新地址计数器1083的新的刷新地址,并且递增该计数器。
图129是刷新突发操作的定时图。参考图129和图130说明由图125至128所示的核心控制电路执行的刷新突发操作。首先,响应于后台刷新命令BREN,刷新突发操作被启动。在此示例中,同样指定了刷新目标存储体Bank0、1和刷新突发长度RBL=4。
刷新脉冲信号refpz被刷新命令BREN输出,响应于此,地址端子A<7>至A<4>的值被并入到刷新目标存储体Bank0和1的刷新突发长度寄存器1231中。图中的rblrz<3:0>=0011b是突发长度RBL=4的示例。同时,Bank0和1的刷新突发长度计数器1230的计数器值被重置到rblcz<3:0>=0000b。此外,刷新状态信号ref_statez被刷新控制电路1191内的RS触发器FF2设置到H电平。
此时,定时控制电路1190内的RS触发器FF1也被设置,激活状态信号rasz=高被设置,并且刷新周期操作被启动。同时,定时控制电路1190将均衡信号eqlonz设置为低,将字线激活信号wlonz设置为高,并且将读出放大器激活信号saonz设置为H电平,就像图120那样(未示出)。因此,Bank0和1进入激活状态,并且单元的数据被重写。
在从读出放大器激活信号saonz被输入起经过延迟时间DELAY-4之后,刷新预充电信号ref_prepz被与门1196输出,RS触发器FF1被重置,激活状态信号rasz被设置为低,均衡信号eqlonz被设置为高,并且预充电操作被启动。此时,刷新突发长度寄存器1231的值与刷新突发长度计数器1230的值不同(rblrz<3:0>≠rblcz<3:0>),因而刷新突发结束信号rb_endz保持为低。
刷新控制电路1191在从均衡信号eqlonz=高被设置起经过延迟时间DELAY-5之后经由与门1197输出内部刷新脉冲信号int_refpz,设置RS触发器FF1,并且启动后续的刷新操作。此时,刷新突发长度计数器的值被向上计数,变为0001b。此外,地址锁存电路1084(图128)锁存刷新地址计数器1083的计数值。然后,类似的刷新操作被重复。
一旦第三内部刷新脉冲信号int_refpz被输出,并且第四刷新操作被启动,刷新突发长度计数器的值就被向上计数,变为rblcz<3:0>=0011b。此时,刷新突发长度寄存器的值rblrz<3:0>与刷新突发长度计数器的值rblcz<3:0>彼此相等(rblrz<3:0>=rblcz<3:0>=0011b),并且刷新突发结束检测电路1232设置刷新突发结束信号rb_endz=高。一旦第四刷新操作结束,预充电信号ref_prepz就被输出,并且激活状态信号rasz变为低。但是,刷新结束信号rb_endz=高,因而RS触发器FF2被重置输入1195重置,结果刷新状态信号ref_statez转变到低状态。当均衡信号eqlonz在预充电操作被执行时被设置到高时,用于启动后续刷新操作的内部刷新脉冲信号int_refpz根据ref_statez=低而不被输出,因而第四刷新突发操作结束。
在图126所示的示例中,内部刷新脉冲信号int_refpz同样被振荡器1260输出。但是,当第四刷新操作被启动并且刷新状态信号ref_statez被重置到L时,振荡器1260被停止,然后内部刷新脉冲信号int_refpz不被输出。结果,刷新操作第四次被停止。
[刷新突发停止控制]
刷新突发功能输入后台刷新命令一次并且按指定的突发长度重复刷新周期,因而命令的输入次数可得以减少并且访问效率可得以提高。但是,如果突发长度更长,并且直到已启动的后台刷新操作结束为止才允许访问存储体,那么存储器控制的灵活性就丧失了。因此,本实施例的存储器设备具有刷新突发停止功能。
图130是示出刷新突发停止操作的概况的图。存储器设备在第0时钟输入后台刷新命令BREN,并且对存储体BNK0、1启动刷新操作四次(=突发长度RBL)。但是,一旦存储器设备在第四刷新周期期间输入停止命令STOP,那么在进行中的刷新周期结束之后后续的刷新周期就不被启动。由于进行中的刷新周期无法被停止,因此利用停止命令STOP执行的停止操作意味着新的刷新周期不被启动。
停止命令STOP例如由刷新命令(例如/CS=L、/RAS=L、/CAS=L、/WE=H)和在命令输入时获得的地址端子的信号指定。具体而言,停止命令具有与刷新命令相同的命令信号,并且由地址端子信号区分。或者,预充电命令(例如/CS=L、/RAS=L、/CAS=H、/WE=L)被用作停止命令STOP。
图131是具有刷新突发停止功能的核心控制电路的配置图。图123和124所示的核心控制电路的刷新控制电路1191由刷新状态控制电路1191B和刷新状态控制电路1191构成。命令解码器1080响应于后台刷新命令输出刷新脉冲信号refpz,并且响应于停止命令输出刷新停止脉冲信号ref_stoppz。
刷新状态控制电路1191B响应于刷新脉冲信号refpz将刷新状态信号ref_statez设置到H电平,并且响应于刷新停止脉冲信号ref_stoppz将刷新状态信号ref_statez重置到L电平。利用该刷新状态信号ref_statez,刷新控制电路1191执行的刷新的开始和停止被控制。另外,刷新控制电路1191在刷新周期被指示刷新周期结束的刷新突发结束信号rb_endz所结束时如上所述地结束刷新操作,刷新周期的数目对应于突发长度。
图132示出了刷新状态控制电路的电路图。图132(A)示出了由后台刷新命令BREN和地址端子信号提供停止命令的示例。图132(B)示出了预充电命令被提供作为停止命令的示例。并入其中的RS触发器FF2对应于图125和126所示的RS触发器FF2,并且控制指示刷新状态或刷新停止状态的刷新状态信号ref_statez。
在刷新状态控制电路1191B中的任何一个中,RS触发器FF2被刷新脉冲信号refpz=H所设置,以获得刷新状态信号ref_statez=H,并且响应于刷新突发结束信号rb_endz<#>=H和刷新预充电脉冲信号ref_prepz=H被与非门1321所重置,以获得刷新状态信号ref_statez=L。以上是正常刷新突发操作。
然后,在图132(A)中,响应于由停止命令生成的刷新停止脉冲信号ref_stoppz,RS触发器FF2经由反相器1322被重置,并且刷新状态信号ref_statez=L被设置。在这种情况下,只有刷新目标存储体内的RS触发器FF2处于设置状态(刷新状态ref_statez=H),因而只有刷新目标存储体内的RS触发器FF2响应于存储器设备内的公共刷新停止脉冲信号ref_stoppz=H被重置。
另一方面,在如图132(B)中,响应于响应预充电命令生成的预充电脉冲信号prepz=H,仅在由刷新存储体选择信号ref_bnkz<#>所选择的存储体中重置RS触发器FF2。在正常操作周期中,刷新存储体选择信号ref_bnkz<#>=L被设置,因而RS触发器FF2不被预充电命令所重置。
图133示出了核心控制电路的定时控制电路1190和刷新控制电路1191的电路图。与图125的电路图的不同之处在于除了图132所示的刷新控制电路1191的RS触发器FF2之外,还提供了用于管理刷新操作中的激活状态和预充电状态的RS触发器FF3,并且该RS触发器FF3生成刷新激活状态信号ref_rasz。然后,与门1332基于刷新激活状态信号ref_rasz=H输出用于在刷新周期期间指导预充电的刷新预充电脉冲信号ref_prepz,而不考虑刷新状态信号ref_statez的状态。该刷新激活状态信号ref_rasz的操作与刷新期间激活状态信号rasz的操作相同。
此外,与图125的不同之处在于仲裁电路1334监视从用于指导预充电的开始的均衡信号eqlonz=H被输入起经过延迟时间DELAY-5后到来的定时,以及由于停止命令或预充电命令而出现的刷新状态信号ref_statez=L的定时。当刷新状态信号ref_statez=H时,仲裁电路1334输出用于指导新的刷新周期的开始的内部刷新脉冲信号int_refpz=H,并且在刷新状态信号ref_statez=L时不输出用于指导新刷新周期的开始的内部刷新脉冲信号int_refpz=H。
图134示出了核心控制电路的定时控制电路1190和刷新控制电路1191的另一电路图。在该示例中,取代图133所示的与门1333,提供了振荡器1260,并且该示例对应于图126所示的示例。与图126一样,振荡器1260在刷新状态信号ref_statez=H时进入使能状态,并且输出用于指导后续刷新周期的开始的内部刷新脉冲信号int_refpz=H。当刷新状态信号ref_statez=L时振荡器进入禁用状态。然后,仲裁电路1334监视振荡器的输出和刷新状态信号ref_statez的定时,在刷新状态信号ref_statez为H时致使振荡器输出通过,并且在刷新状态信号ref_statez为L时禁止振荡器输出通过。
图135是示出图133的操作的定时图。图133和图134所示的定时控制电路1190和刷新控制电路1191的操作如下。响应于由于后台刷新命令BREN而出现的刷新脉冲信号refpz=H,RS触发器FF1和FF3被设置,并且激活状态信号rasz和刷新激活状态信号ref_rasz变为H电平。响应于此,字线和读出放大器被驱动,并且激活操作被执行。
当激活操作结束时,响应于读出放大器激活信号saonz=H,在经过延迟时间DELAY-4之后,刷新预充电脉冲信号ref_prepz=H被输出,RS触发器FF1和FF3被重置,并且激活状态信号rasz和刷新激活状态信号ref_rasz变为L电平。因此,预充电操作被启动。在从用于启动预充电操作的均衡信号eqlonz被输入起经过延迟时间DELAY-5之后,用于指导后续刷新周期的开始的内部刷新脉冲信号int_refpz=H被输出,由此后续的刷新周期被启动。
然后,停止命令STOP在第三刷新周期的激活操作期间被输入。响应于此,刷新停止脉冲信号ref_stoppz=H从命令解码器输出,并且刷新状态控制电路1191B输出刷新状态信号ref_statez=L。在指示第三刷新周期中激活操作的结束的定时,即在从读出放大器激活信号saonz=H被输入起经过延迟时间DELAY-4之后到来的定时,与门1332基于刷新激活状态信号ref_rasz=H输出用于指导预充电的开始的刷新预充电脉冲信号ref_prepz=H。因此,第三刷新周期中的预充电操作被可靠地执行。
响应于刷新预充电脉冲信号ref_prepz=H,RS触发器FF1和FF3被重置,并且均衡信号eqlonz=H被设置,由此预充电操作被启动。然后,在经过延迟时间DELAY-5之后到来的定时,仲裁电路1334基于刷新状态信号ref_statez=L,不输出用于指导后续刷新周期的开始的内部刷新脉冲信号int_refpz=H。
这样,根据上述核心控制电路,一旦要在任意定时输入的停止命令STOP被利用刷新状态信号ref_statez和刷新激活状态信号ref_rasz生成,进入中的刷新周期的预充电操作就被可靠地结束,并且在停止命令STOP被输入之后新的刷新周期被禁止开始。
图136示出了实现刷新停止功能的命令解码器的电路图。当/CS=L、/RAS=L、/CAS=L并且/WE=H时命令解码器1080的节点1361变为H电平。然后,地址端子A<8>1360变为L电平,并且当az<8>=L时刷新脉冲信号refpz被与门1363设置到H,由此刷新操作被启动。另一方面,当地址端子A<8>1360处于H电平并且az<8>=H时,刷新停止脉冲信号ref_stoppz被与门1362设置到H,由此刷新操作被停止。
[向下计数刷新突发控制]
接下来描述利用向下计数器执行刷新突发控制的实施例。在上述示例中,刷新突发计数器对于每个刷新周期被向上计数,但是在下面的实施例中,对于每个刷新周期,每个刷新突发计数器被向下计数,并且当刷新突发计数器的所有计数值都变为0时,刷新突发操作结束。因此,所有的刷新突发计数器响应于后台刷新操作期间输入的停止命令被重置到零,由此停止控制可得以执行。
利用该向下计数器,新的后台刷新命令可在刷新突发操作结束之前被输入,从而用于将刷新突发计数器覆写到由新命令指定的突发长度的命令以及用于将由新命令添加的突发长度添加到当前刷新突发计数器的控制可得以执行。
此外,以下实施例描述了以下情况:虽然刷新地址计数器在每个刷新周期中被递增或递减,但是利用用于在内部刷新所有剩余刷新地址的全部刷新命令,执行了用于将刷新地址计数器从现有计数值返回到初始值的控制。
图137是执行向下计数刷新突发控制的核心控制电路1085的配置图。在该示例中,刷新的开始和停止是利用后台刷新命令BREN和地址端子A<5>来控制的。
与图131的电路图一样,核心控制电路1085具有为对核心执行的激活操作和预充电操作生成控制信号的定时控制电路1190和在后台刷新操作中执行刷新控制的刷新控制电路1191。此外,核心控制电路具有刷新突发长度寄存器1231和刷新突发长度计数器1230,该刷新突发长度寄存器1231响应于刷新脉冲信号refpz设置从地址端子A<3:0>输入的刷新突发长度RBL,该刷新突发长度计数器1230响应于刷新脉冲信号refpz输入刷新突发长度RBL,被下行信号downz向下计数,并且响应于与停止命令相对应的地址端子A<5>将所有计数值设置到0。
刷新突发操作被利用与后台刷新命令相对应的刷新脉冲信号refpz启动,并且对于每个刷新周期,下行信号downz被输出,由此刷新突发长度计数器1230被向下计数,并且用于指导后续刷新周期开始的内部刷新脉冲信号int_refpz被输出。刷新控制电路1191在刷新突发长度计数器的所有计数值rblcz<3:0>不全是零(L电平)的时段期间重复上述刷新周期操作。如果所有计数值rblcz<3:0>变为零(L电平),则刷新控制电路1191不输出用于指导新刷新周期的开始的内部刷新脉冲信号int_refpz。如果由于来自地址端子A<5>的停止命令所有计数值rblcz<3:0>都变为零(L电平),则刷新控制电路1191也不再输出内部刷新脉冲信号int_refpz。
图137所示的核心控制电路1085具有刷新地址比较电路1370。该刷新地址比较电路1370响应于全部刷新命令REFALL将全部刷新信号rblcallz设置到H,并且监视刷新地址计数器1083的刷新地址ref_az<13:0>。当刷新地址比较电路1370检测到所有刷新地址ref_az<13:0>都为H时,刷新地址比较电路1370将全部刷新信号rblcallz设置到L。响应于全部刷新命令REFALL,内部刷新脉冲信号int_refpz被输出,由此刷新操作被启动。在直到刷新地址计数器1083的所有刷新地址ref_az<13:0>变为H为止全部刷新信号rblcallz=H的时段期间,刷新控制电路1191持续输出内部刷新脉冲信号int_refpz。然后,当全部刷新信号rblcallz由于刷新地址ref_az<13:0>=全H而变为L时,刷新控制电路1191停止输出内部刷新脉冲信号int_refpz,由此后续的刷新周期不再被生成。应当注意,刷新地址计数器1083响应于读出放大器激活信号saonz而对刷新地址ref_az<13:0>进行向下计数。向下计数可响应于内部刷新脉冲信号int_refpz而不是响应于该读出放大器激活信号saonz执行。
图138是示出刷新突发长度寄存器1231中设置的刷新突发长度和地址端子A<3:0>之间的关系的真值表。地址端子A<3:0>的值被直接设置在寄存器1231中,作为刷新突发长度。
图139是执行向下计数刷新突发控制的核心控制电路1085的配置图。在该电路中,响应于停止命令REFSTOP,刷新突发长度计数器1230被重置到ALL=0。其他配置与图137所示的电路图中的相同。
图140示出核心控制电路1085内的定时控制电路1190和刷新控制电路1191的电路图。如上所述,定时控制电路1190具有响应于信号(即在正常操作时输入的激活脉冲信号actpz、在后台刷新操作时输入的刷新脉冲信号refpz和在刷新存储体操作期间输入的内部刷新脉冲信号int_refpz)而被设置的RS触发器FF1。当触发器FF1被设置时,激活状态信号rasz<#>等被输出,由此核心经历激活操作。
然后,刷新控制电路1191在激活状态信号rasz<#>变为L电平后经过延迟时间DELAY-6之后将刷新间隔信号refitvalx设置到H,并且输出用于指导后续刷新周期的开始的内部刷新脉冲信号int_refpz。此外,刷新控制电路1191响应于字线驱动信号wlonz<#>=H输出延迟时间DELAY-7的脉冲宽度的下行信号downz=H,并且对刷新突发长度计数器1230的计数值进行向下计数。
当所有的刷新突发长度计数值rblcz<3:0>=L并且当全部刷新信号rblcallz=L时,与非门1400的输出变为L电平,由此内部刷新脉冲信号int_refpz的输出经由与门1401被禁止。在正常状态中,全部刷新信号rblcallz=L,因而当所有的刷新突发长度计数值rblcz<3:0>在刷新突发操作期间变为L时,内部刷新脉冲信号int_refpz的输出被禁止。此外,在与全部刷新命令相对应的全部刷新信号rblcallz为H的时段期间,内部刷新脉冲信号int_refpz被输出,而不论刷新突发长度计数值rblcz<3:0>为何。
应当注意,图140所示的地址端子A<10>是用于指导对SDRAM具有的所有存储体的预充电操作的信号,并且它重置RS触发器FF1以控制预充电操作。下面描述上述电路的具体操作。
图141和图142各自示出了刷新突发长度寄存器1231和刷新突发长度计数器1230的电路图。图141是停止命令由后台刷新命令BREN和地址端子A<5>输入的示例,而图142是停止命令由专用命令REFSTOP输入的示例。两幅图的其他配置相同。
刷新突发长度寄存器1231响应于刷新脉冲信号refpz将来自地址端子A<3:0>的刷新突发长度并入锁存电路1410、1412中。门1411、1413直接输出锁存的值作为刷新突发长度寄存器值rblrz<3:0>,因为通常下行信号downz和自刷新模式信号srefz都处于L电平。此外,刷新突发长度寄存器1231响应于指导SDRAM的传统刷新操作的自刷新信号srefz=H将寄存器值rblrz<3:0>设置到0001。
刷新突发长度计数器1230具有向下计数器1414,该向下计数器1414响应于刷新脉冲信号refpz=H并入寄存器值rblrz<3:0>,并且响应于下行信号downz=H对寄存器值进行向下计数。向下计数器1414响应于与停止命令相对应的地址端子A<5>=H和刷新脉冲信号refpz=H(响应于图142所示的示例中的刷新停止命令REFSTOP)将所有rblcz<3:0>重置到L。
图143示出了刷新地址计数器1083和刷新地址比较电路1370的电路图。刷新地址计数器1083是14比特计数器,响应于刷新存储体选择信号ref_bnkz<#>=H和读出放大器激活信号saonz<#>=H对刷新地址ref_az<13:0>进行向下计数。
刷新地址比较电路1370具有响应于全部刷新命令REFALL被设置的RS触发器FF4,以及用于检测是否所有的刷新地址ref_az<13:0>都为H的一组与非门1432。在正常状态下,RS触发器FF4被重置,节点1430处于H电平,并且全部刷新信号rblcallz为L。然后,RS触发器FF4响应于全部刷新命令REFALL被设置,由此节点1430变为L电平,并且全部刷新信号rblcallz变为H。在rblcallz=H的时段期间,刷新操作被刷新控制电路1191重复,并且每当读出放大器激活信号saonz变为H时刷新地址计数器1083就被向下计数。当所有的刷新地址ref_az<13:0>都从L变为H时,与非门群组1432检测到该变化,使节点1431变为H电平,并且将全部刷新信号rblcallz设置到L。响应于此,刷新控制电路1191停止刷新操作,并且RS触发器FF4被重置。因此,用于对刷新地址计数器1083内的所有剩余地址进行刷新的全部刷新操作结束。
图144是示出向下计数核心控制电路的RBL为3的情况的定时图。刷新脉冲信号refpz=H响应于后台刷新命令BREN被生成,响应于此,图141和142所示的寄存器1231和计数器1230被重置,并且刷新突发长度寄存器值rblrz<3:0>和刷新突发长度计数值rblcz<3:0>都被设置到0011b。图140所示的刷新控制电路1191的与非门1400的输出由于rblcz<3:0>=0011b而从L变到H,并且内部刷新脉冲信号int_refpz=H被输出。另外,图140所示的定时控制电路1190的RS触发器FF1被设置,激活状态信号rasz变为H电平,并且刷新控制电路1191利用与门1402将刷新间隔信号refitvalx设置到L,由此内部刷新脉冲信号int_refpz=L被设置。
然后,核心经历激活操作,并且刷新控制电路1191响应于读出放大器激活信号saonz=H经由与门1430输出下行信号downz=H。响应于此,图141和142所示的刷新突发长度计数器1230对计数值rblcz<3:0>进行向下计数。刷新控制电路1191在从激活状态信号rasz变为L电平起经过延迟时间DELAY-6之后将刷新间隔信号refitvalx设置到H,并且输出内部刷新脉冲信号int_refpz。
然后,一旦上述刷新周期被重复了三次,刷新突发长度计数器的计数值rblcz<3:0>就变为0000b,然后刷新控制电路1191的与非门1400的输出变为L电平,并且后续的内部刷新脉冲信号int_refpz不被与门1401输出。这样,突发长度为3的刷新操作结束。
图145是由向下计数核心控制电路执行的刷新停止操作的定时图。在该示例中,在刷新突发长度=3的刷新操作期间,刷新操作被停止命令停止。一旦刷新开始命令被后台刷新命令BREN和地址端子A<5>=L所输入,刷新操作就被启动。启动操作与图144所示的相同。然后,当刷新停止命令被第7时钟的后台刷新命令BREN和地址端子A<5>=H所输入时,刷新突发长度计数器1230(图141)被重置,并且其计数值rblcz<3:0>变为0000b。响应于此,刷新控制电路1191的与非门1400的输出变为L电平,并且后续的内部刷新脉冲信号int_refpz不被输出。应当注意,刷新周期的预充电由定时控制电路1190以与对正常操作的控制相同的方式控制。
图146是向下计数核心控制电路的刷新停止操作的定时图。与图145不同,停止控制由刷新停止命令REFSTOP执行。其他配置与图145所示的相同。
图147是示出向下计数核心控制电路的全部刷新操作的定时图。响应于全部刷新命令REFALL,REFALL=H被设置,刷新地址比较电路1370(图143)的RS触发器FF4被设置,节点1430变为L电平,并且全部刷新信号rblcallz=H被设置。因此,刷新控制电路1191(图140)的与非门1400的输出变为H电平,并且内部刷新脉冲信号int_refpz=H被输出,由此刷新周期被启动。
刷新地址计数器1083(图143)的刷新地址ref_az<13:0>在每个刷新周期中被向下计数。当所有的ref_az<13:0>都为L(计数值0000h)并且所有的ref_az<13:0>都为H(计数值3FFFh)时,与非门群组(图143)检测到这种变化,由此全部刷新信号rblcallz=L被设置,刷新控制电路1191(图140)的与非门1400变为L电平,然后内部刷新脉冲信号int_refpz的输出被停止。因此,在每个剩余刷新地址上执行的刷新操作结束,并且刷新地址计数器1081的计数值都被重置到1。
图148是示出用于重置刷新命令的操作的定时图,该操作由向下计数核心控制电路执行。在该图中,在第一后台刷新命令BREN时,刷新突发长度RBL=14(A<3:0>=1110b)被设置以启动刷新操作,并且刷新突发长度计数器在每个刷新操作中被向下计数。然后,在刷新突发长度计数器值rblcz<3:0>变为0000b之前,在第二命令BREN时,刷新突发长度RBL=2(A<3:0>=0010b)进一步被输入,并且新的刷新突发长度RBL=2(A<3:0>=0010b)被添加到这些计数值rblcz<3:0>=1011b,由此计数值rblcz<3:0>变为1101b(剩余13次)。
这样,在刷新突发控制中提供了利用新的后台刷新命令添加刷新突发长度的功能,由此存储器控制器可优先发布后台刷新命令以便在未来执行后台刷新操作。
图149是示出用于重置刷新命令的操作的定时图,该操作由向下计数核心控制电路执行。在该示例中,在第二命令BREN时刷新突发长度RBL=2(A<3:0>=0010b)被输入,此时新的刷新突发长度RBL=2(A<3:0>=0010b)取代计数值rblcz<3:0>被覆写,并且计数值rblcz<3:0>变为0010b(剩余两次)。
这样,在刷新突发控制中提供了利用新的后台刷新命令重写刷新突发长度的功能,由此存储器控制器可取消曾经启动的后台刷新操作,以启动新的后台刷新操作。通过如图148和149所示利用新的后台刷新命令添加和重写突发长度RBL,在刷新操作被启动之后,其内容可被自由改变,于是存储器控制器的控制灵活性可得以提高。
[激活和刷新互锁控制]
接下来描述用于互锁激活操作和刷新操作的控制。在上述实施例中,正常存储器操作中的激活命令ACT和后台刷新操作中命令BREN是不同的命令。存储器控制器单独发布这些命令,从而致使存储器设备执行正常存储器操作和后台刷新操作。
另一方面,在以下实施例中,执行设置以结合预先处于模式寄存器之类的之中的激活命令执行后台刷新操作,由此存储器设备响应于用于正常存储器操作的激活命令的输入在所选存储体中执行正常激活操作并在刷新目标存储体中执行刷新操作。提供这种功能以便存储器控制器不必发布后台刷新命令。
图150是示出激活和刷新互锁控制的定时图。在第2时钟,激活命令ACT和存储体地址BA=2被输入,响应于此存储器设备在BANK2中执行激活操作并且在BANK1中执行刷新操作。此外,在第4时钟,如图中的表中所示,激活命令ACT和存储体地址BA=3被输入,响应于此存储器设备在BANK3中执行激活操作,并且在BANK0中执行刷新操作。
具体而言,如图中的表中所示,响应于与激活命令ACT一起输入的存储体地址BA<1:0>的值,存储器设备在特定存储体中执行刷新操作。更具体而言,如果BANK0被激活命令所选择,则刷新操作在BANK3中执行,如果BANK1被激活命令选择,则刷新操作在BANK2中执行,如果BANK2被激活命令选择,则刷新操作在BANK1中执行,而如果BANK3被激活命令选择,则刷新操作在BANK0中执行。通过使用这种组合,即使在图117所示的存储器映射1170或1171中,在进行水平访问时发布的激活命令也可被用于对不是水平访问目标的存储体执行后台刷新。
在本实施例中,响应于激活命令ACT,后台刷新操作被执行一次。因此,刷新突发长度RBL固定为1。
图151是激活和刷新互锁控制中的刷新存储体解码器的电路图。当模式值modez=H时,刷新存储体解码器1082内的与门群组1510响应于由正常存储体解码器输出的每个存储体选择信号bnkz<#>=H而输出刷新存储体选择信号ref_bnkz<#>=H。正常激活操作中被选择的存储体和刷新选择存储体之间的关系如图150的表中所示。另一方面,当模式值modez=L时,与门群组1510将刷新存储体选择信号ref_bnkz<3:0>全部设置为L,并且禁止协同执行的刷新操作。
模式值modez=H/L被模式寄存器设置命令EMRS预先设置在并入的寄存器中。或者,模式值modez=H/L从预定的外部端子输入。因此,根据上述示例,优选地,在水平访问的情况下模式值modez=H被设置,并且后台刷新操作结合激活命令ACT被执行。在矩形访问的情况下,优选地,模式值modez=L被设置,并且后台刷新操作被禁止。
图152是激活和刷新互锁控制中的核心控制电路的电路图。在每个存储体中提供了核心控制电路1085,因而在存储体中执行的控制由于存储体选择信号bnkz<#>和刷新存储体选择信号ref_bnkz<#>而彼此区分。首先,在所选的存储体中(bnkz<#>=H),定时控制电路1190的RS触发器FF1响应于激活脉冲信号actpz=H经由与非门1520被设置,并且激活状态信号rasz变为H电平,由此核心经历激活操作。
另一方面,在刷新选择存储体中(ref_bnkz<#>=H),RS触发器FF1响应于激活脉冲信号actpz=H经由与非门1521被设置,并且激活状态信号rasz变为H电平,由此核心经历激活操作。同时,刷新控制电路1191内的RS触发器FF3也响应于激活脉冲信号actpz=H而经由与非门1522被设置,并且刷新激活状态信号ref_rasz被设置到H电平。通过将激活状态信号rasz设置到H电平而启动刷新操作,然后响应于读出放大器激活信号saonz=H而利用刷新预充电脉冲信号ref_prepz=H重置RS触发器FF1,由此执行预充电操作。同时,RS触发器FF3被重置。
图153是激活和刷新互锁控制中的地址锁存电路的电路图。该电路也在每个存储体中提供。在所选存储体中(bnkz<#>=H),地址锁存电路1084响应于激活脉冲信号actpz=H将外部地址az<13:0>锁存在锁存电路1200中。另一方面,在刷新选择存储体中(ref_bnkz<#>=H),锁存电路1200响应于激活脉冲信号actpz=H而锁存刷新地址计数器1083的刷新地址ref_az<13:0>。此外,响应于正常刷新脉冲信号refpz=H,锁存电路1200也锁存刷新地址ref_az<13:0>。其他配置与图128所示的相同。
如上所述,响应于正常激活命令,正常激活操作和后台刷新操作根据预先设置的存储体组合被并行执行。
[利用刷新块计数进行的控制]
接下来描述根据本实施例的利用刷新块计数RBC执行的控制。在本实施例的后台刷新操作中,除了限定刷新周期的数目的刷新突发长度RBL外,还可设置在单个刷新周期中同时激活的块的数目(字线数目)RBC。
通过增大刷新块计数RBC,可同时在更多个刷新地址上执行刷新。因此,当能够执行后台刷新的时段较短时,希望刷新块计数RBC较大。另一方面,如果增大了刷新块计数RBC,则会同时在更多的字线上执行刷新操作,于是即刻消耗的功率量增大了。因此,如果能够执行后台刷新的时段较长,则希望刷新块计数尽可能得小。因而,存储器控制器根据能够执行后台刷新的时段和功率消耗状况将刷新块计数RBC设置到最优值。
图154是存储体电路的配置图。如参考图108所述,每个存储体92具有刷新地址计数器1083、地址锁存电路1084、配置核心电路的存储器单元阵列1086M和行解码器1086D。存储器单元阵列1086M具有四个块RBLK0至3,它们由存储器单元阵列MCA0至3和读出放大器列对SA00、01至SA30、31组成。所有的四个块RBLK0至3都具有读出放大器列SA,因而被同时激活以便刷新操作可得以执行。然后,刷新地址计数器1083的计数值REF_A<13:0>的较高的两个比特之一或两者简并(反相或同相地址被设置到H电平)。由于该简并,输入到行解码器1086D的行地址RA<13:0>变为能够执行以下操作中的任何一个的地址:同时激活四个块RBLK0至3,同时激活两个块以及激活一个块。
图155是示出对与刷新块计数相对应的核心内的存储器块的控制的图。在刷新块计数RBC=1的情况下(modez<1:0>=00),作为核心内的刷新目标的存储器块RBLK0的字线WL响应于后台刷新命令BREN而被驱动,由此刷新操作被执行。在刷新块计数RBC=2的情况下(modez<1:0>=01),作为核心内的刷新目标的两个存储器块RBLK0、2的字线WL响应于后台刷新命令BREN而被驱动,由此刷新操作被执行。在刷新块计数RBC=4的情况下(modez<1:0>=11),作为核心内的刷新目标的四个存储器块RBLK0、1、2和3的字线WL响应于后台刷新命令BREN而被驱动,由此刷新操作被执行。
图156是地址锁存电路的电路图。如图中的真值表所示,1、2或4指示被在模式寄存器中设置的设置刷新块计数RBC的信号modez<0>至<1>同时激活的字线的数目。
地址锁存电路1084具有锁存14比特行地址的较高的2比特地址的同相信号和反相信号的锁存群组1564和锁存较低的12比特地址的锁存群组1565。锁存群组1564响应于激活脉冲信号actpz而锁存外部地址az<13>和<12>的同相信号和由反相器1566和1567获得的反相信号。类似地,锁存群组1564响应于刷新脉冲信号refpz而锁存刷新地址REF_A<13>和<12>的同相信号和由反相器1568和1569获得的反相信号。但是,响应于在模式寄存器中设置的信号modez<0>和<1>,与非门1560至1563致使刷新地址REF_A<13>和<12>的同相信号和反相信号简并到H电平。因此,多个存储器块的字线可被同时驱动。
图157是行解码器内的预解码器电路的电路图。该预解码器电路利用较高的2比特行地址的同相信号raz<12>和<13>和反相信号rax<12>和<13>的组合生成用于选择四个存储器块的块选择信号rblkz<3:0>。预解码器电路执行的操作在图中的表中示出。
图156和图157所示的操作如下。
首先,在RBC=1,modez<0>=modez<1>=0的情况下,
raz<13>和REF_A<13>同相,rax<13>和REF_A<13>反相,并且
raz<12>和REF_A<12>同相,rax<12>和REF_A<12>反相。
四个块RBLK之一被预解码器1086D所选择,由此所选块的一个字线WL被激活。
接下来,在RBC=2,modez<0>=1,modez<1>=0的情况下,raz<13>被设置到高,rax<13>也被设置到高,raz<12>和REF_A<12>同相,并且rax<12>和REF_A<12>反相。于是,四个块RBLK中的两个被预解码器电路1086D所选择,由此所选块的两条字线WL被激活。
最后,在RBC=4,modez<0>=1,modez<1>=1的情况下,raz<13>被设置到高,rax<13>也被设置到高,raz<12>被设置到高,并且rax<12>也被设置到高。于是,四个块RBLK都被预解码器电路1086D选择,由此所选块的四条字线WL被激活。
以上是对具有后台刷新功能的存储器设备的说明。接下来描述控制存储器设备并使存储器设备执行后台刷新操作的存储器控制器。
[控制后台刷新的存储器控制器]
为了使存储器设备执行后台刷新功能,存储器控制器需要向存储器设备提供后台刷新命令BREN、刷新存储体信息SA和刷新突发长度RBL。此外,存储器控制器最好向存储器设备提供刷新块计数RBC。下面描述控制后台刷新的存储器控制器。
图158是具有后台刷新功能的存储器系统的配置图。图像处理设备81向存储器控制器82输出用于访问二维阵列式图像数据的水平访问请求或矩形访问请求,并且存储器控制器对存储器设备86执行访问控制。图像处理设备81向存储器控制器82输出访问请求信号REQ、访问类型信号ATYP、图像地址ADR、图像大小信号SIZE和读/写信号RWX,响应于此存储器控制器82以确认信号ACK作为答复。此外,在断言选通信号STB的同时,利用数据总线DATA传送写数据或读数据。
基于从图像处理设备81发送来的访问请求和各种信息,存储器控制器82在水平访问的情况下向存储器设备86输出后台刷新命令、刷新存储体信息SA、刷新突发长度RBL和刷新块计数RBC,并且还向存储器设备86输出与水平访问相对应的激活命令CMD、存储体地址BA、行地址RA、读或写命令CMS、存储体地址BA和列地址CA。此外,存储器控制器82向存储器设备86输出与矩形访问相对应的类似信号。然后,存储器控制器82在写访问的情况下向存储器设备86输出写数据DQ,而在读访问的情况下从存储器设备86输入读数据DQ。
图159是示出存储器映射的示例的图。该图示出了存储器控制器82从图像处理设备81接收的各种信息项之间的关系。该存储器映射12对应于由总共2048个像素构成的帧图像数据,其中64个像素布置在X方向上,32个像素布置在Y方向上。由8×8像素构成的块与由存储体地址BA和行地址RA指定的页区域相关联。每个像素例如具有图像数据的一个字节。在页区域中,奇数行与存储体地址BA0、BA1相关联,偶数行与存储体地址BA2、BA3相关联。
在这种存储器映射图12中,左上像素对应于图像地址ADR=0x00、POSX,POSY=0,9。第一行中的右端像素对应于图像地址ADR=0x03F,POSX,POSY=0,63。第32行中的左端像素对应于图像地址ADR=0x7C0,POSX,POSY=31,0。在这种情况下,图像地址ADR可由访问区域中的左上像素的位置信息POSX,POSY来表达。具体而言,对于12比特的图像地址ADR[11:0],
POSY[5:0]=ADR[11:6],POSX[5:0]=ADR[5:0]。
因此,存储器控制器82可从接收自图像处理设备81的图像地址ADR获得访问区域的左上像素的位置信息POSX和POSY。应当注意,在图159所示的示例中,由于在垂直方向上有32个像素,因此垂直方向上的位置信息POSY[5:0]可具有5个比特。
接下来,访问区域的水平方向上的大小SIZEX和垂直方向上的大小SIZEY分别由图像大小信号SIZE和访问类型信号ATYP提供。具体而言,SIZEY=SIZE,并且SIZEY=ATYP。在水平访问的情况下,SIZEY=ATYP=0_0000b被提供,而在矩形访问的情况下,SIZEY=ATYP的值是除0以外的任何值。因此,存储器控制器82可基于访问类型信号ATYP的值是否为0来辨别访问是水平访问还是矩形访问。
图160是示出水平访问和矩形访问中的前方像素地址和大小信息的图。在水平访问(A)的情况下,前方像素地址和大小是SIZEX=SIZE,SIZEY=ATYP=0,如图所示。在矩形访问(B)的情况下,前方像素地址和大小是SIZEX=SIZE,SIZEY=ATYP,如图所示。
另外,基于存储器映射图12,存储器控制器82可从访问区域的左上像素的位置信息POSX,POSY获得访问区域中的前方像素的存储体地址BA和行地址RA。存储器控制器82可基于访问区域的左上像素的位置信息POSX和POSY以及大小信息SIZE和ATYP辨别是否访问多个存储体。
此外,存储器控制器82可基于大小信号SIZE和ATYP获得访问存储器设备的像素的数目,并且还可确定在与向图像处理设备至少传送关于像素数目的数据所需的时钟周期数目相对应的时间段中不生成下一存储器访问请求。存储器控制器82还可基于这样的时间段获得后台刷新中的刷新突发长度RBL,并且还可获得刷新块计数RBC。
图161是存储器控制器的配置图。该存储器控制器82具有水平访问判决部分1610、刷新突发长度RBL计算器1611、激活存储体号码生成部分1612、后台刷新存储体号码生成部分1613、存储器接口1614、并入存储器接口1614中的控制器1615,等等。这些组件配置了图90所示的多个序列器SEQ之一。因此,图161所示的多个序列器SEQ是根据多个访问源提供的。
水平访问判决部分1610使用第一比较器CMP1来判定指示垂直方向上的大小SIZEY的访问类型信号ATYP是否为“0”。如果ATYP=0,则第一比较器CMP1的输出为“1”。水平访问判决部分1610还使用第二比较器CMP2来判定指示水平方向上的大小SIZEX的大小信号SIZE是否超过了单个刷新周期中的时钟数目MEMREF。如果SIZE≥MEMREF,则第二比较器CMP2的输出为“1”。因此,如果两个比较器的输出都为“1”,则与门输出后台刷新使能信号“1”,并且请求控制器1615发布后台刷新命令。上述时钟数目MEMREF例如是在存储器控制器内的寄存器中设置的。
接下来,刷新突发长度RBL计算器1611计算后台刷新中的刷新突发长度RBL。具体而言,通过将水平方向大小SIZE除以时钟数目MEMREF,可获得可能的刷新周期数目。该除法由移位电路SFT执行。然后,刷新突发长度RBL以0至15或1至16的形式被地址端子A[7:4]输出到存储器设备,例如如图123和图138所示。
另外,激活存储体号码生成部分1612具有加法器ADD、第三比较器CMP3、解码器DEC0、选择器SEL0和解码器DEC1。解码器DEC1参考表将输入信号转换到输出信号。激活存储体号码生成部分1612基于从图像处理设备提供来的大小信号SIZE和图像地址ADR,获得与访问区域相对应的存储体地址。该存储体地址BA[1:0]指示将与激活命令一起输出的存储体号码。
图163是用于说明激活存储体号码生成部分的解码器DEC0和选择器SEL0的表。在激活存储体号码生成部分1612中,加法器ADD将图像地址ADR的较低的3比特ADR[2:0]与作为水平方向大小的大小信号SIZE相加。图像地址的较低的3比特ADR[2:0]是关于前方像素的水平方向位置的位置信息POSX=ADR[5:0]的较低的三比特,并且是指示图159所示的存储器映射图12中由8×8个像素组成的页区域内的像素的位置的信息。然后,比较器CMP3判定通过将水平方向大小SIZE与图像地址ADR的较低的3比特ADR[2:0]相加而获得的值是否超过“8”。如果该值不超过“8”,则只有一个页区域被水平访问,因而只有一个存储体经历激活操作。如果该值超过“8”,则多个页区域被水平访问,因而两个存储体必须经历激活操作。然后,解码器DEC0基于指示一个存储体或两个存储体激活的比较器CMP3的输出以及ADR[9]=POSY[3]和ADR[3]=POSX[3](这是访问区域中的前方像素的位置信息的第四比特)而输出选择器SEL0的选择控制信号0至7。
在图159所示的存储器映射图中,每个页区域由8×8个像素构成,因而作为前方像素的位置信息POSX,POSY的第四比特的ADR[9]=POSY[3]和ADR[3]=POSX[3]之间的关系以及存储体地址BA[1:0]如下。
ADR[9]=POSY[3],ADR[3]=POSX[3]=0,0,BA[1:0]=0,0(存储体BA0)
ADR[9]=POSY[3],ADR[3]=POSX[3]=0,1,BA[1:0]=0,1(存储体BA1)
ADR[9]=POSY[3],ADR[3]=POSX[3]=1,0,BA[1:0]=1,0(存储体BA2)
ADR[9]=POSY[3],ADR[3]=POSX[3]=1,1,BA[1:0]=1,1(存储体BA3)
另外,在与图159所示不同的存储器映射图中,与上述存储体地址的关系不同。
图163示出了与加法器ADD的输出SIZE+ADR[2:0]和ADR[9]=POSY[3]、ADR[3]=POSX[3]的组合相对应的解码器DEC0的输出信号(SEL0的选择控制信号0至7)。此外,图163示出了根据解码器DEC0的输出信号(SEL0的选择控制信号0至7)被选择的选择器SEL0的输入端子ACTBA0至7。
具体而言,对于SIZE+ADR[2:0]超过或不超过8的情况下,解码器DEC0针对ADR[9]=POSY[3]、ADR[3]=POSX[3]的四个组合输出输出“0”至“7”。如上所述,ADR[9]=POSY[3]、ADR[3]=POSX[3]的四个组合与访问区域的前方像素所在的存储体地址相关联。另外,在SIZE+ADR[2:0]不超过8的情况下,只有一个存储体可能是激活的,并且在[SIZE+ADR[2:0]]超过8的情况下,必须激活两个存储体。
图161所示的激活存储体号码生成部分1612具有响应于由解码器DEC0的输出0至7构成的选择信号选择寄存器543的设置到ACTBA0至7的值的选择器SEL0,以及将由选择器SEL0选择的寄存器543的设置值ACTBA0至7转换为激活存储体号码ACT_BA[1:0]的解码器DEC1。
图164是用于说明寄存器543的可被设置到ACTBL的值000b至111b的含义的表。应当注意,“b”表示二进制符号。设置值000b至011b对应于根据访问区域经历激活操作的激活存储体是BA0至3中的任何一个的情况,并且设置值100b、101b、110b和111b分别对应于激活存储体是BA0和1、BA0和2、BA2和3或者BA1和3的情况。根据存储器映射图Map1、2并且根据后台刷新是在两个存储体中还是一个存储体中执行,针对正常存储器操作中激活的存储体,作为后台刷新操作的目标的存储体如图164所示。具体而言,后台刷新操作目标存储体如下。
在激活存储体BA0的情况下(设置值000b),在两存储体刷新中刷新存储体是BA2和3(Map1)或BA1和3(Map2),在一存储体刷新中刷新存储体是BA2(Map1)或BA1(Map2)。
在激活存储体BA1的情况下(设置值001b),在两存储体刷新中刷新存储体是BA2和3(Map1)或BA0和2(Map2),在一存储体刷新中刷新存储体是BA3(Map1)或BA0(Map2)。
在激活存储体BA2的情况下(设置值010b),在两存储体刷新中刷新存储体是BA0和1(Map1)或BA1和3(Map2),在一存储体刷新中刷新存储体是BA0(Map1)或BA3(Map2)。
在激活存储体BA3的情况下(设置值011b),在两存储体刷新中刷新存储体是BA0和1(Map1)或BA0和2(Map2),在一存储体刷新中刷新存储体是BA1(Map1)或BA2(Map2)。
在激活存储体BA0和1的情况下(设置值100b),在两存储体刷新中刷新存储体是BA2和3(Map1),在一存储体刷新中刷新存储体是BA2或3(Map1)。存储器映射图Map2不可应用。
在激活存储体BA0和2的情况下(设置值101b),在两存储体刷新中刷新存储体是BA1和3(Map2),在一存储体刷新中刷新存储体是BA1或3(Map2)。存储器映射图Map1不可应用。
在激活存储体BA2和3的情况下(设置值110b),在两存储体刷新中刷新存储体是BA0和1(Map1),在一存储体刷新中刷新存储体是BA0或1(Map1)。存储器映射图Map2不可应用。
在激活存储体BA1和3的情况下(设置值111b),在两存储体刷新中刷新存储体是BA0和2(Map2),在一存储体刷新中刷新存储体是BA0或2(Map2)。存储器映射图Map1不可应用。
通过如上所述将设置值限定到寄存器543中,可以任意设置系统中要采用的存储器映射,激活存储体号码ACT_BA[1:0]根据刷新是两存储体刷新还是一存储体刷新以及后台刷新存储体号码BR_BA[1:0]、BR_A[3:0]而对应于解码器DEC0的输出0至7的八种情况。
图165是示出解码器DEC1的转换表的图。激活存储体与选择器SEL0的输出(DEC1的输入)0至7相关联。该关系也在图164中示出。在这里,描述与寄存器设置值的示例相对应的解码器DEC1的操作。
图166是示出由与寄存器设置值的第一示例相对应的解码器DEC1执行的转换操作的表。第一示例的寄存器设置值对应于存储器映射Map1,并且“01234466”被设置在选择器SEL0的八个输入端子中。联同于此,解码器DEC1响应于选择器SEL0的输出值“01234466”,参考图165的表生成图166所示的输出(DEC1输出),其中选择器SEL0的输出值“01234466”是根据选择器SEL0的选择信号(解码器DEC0的输出信号)来选择的。当选择器输出值是“0123”时,一个存储体被选择,而当选择器输出值是“4466”时,两个存储体被选择。
图167是示出与寄存器设置值的第二示例相对应的解码器DEC1的转换操作的表。第二示例的寄存器设置值对应于存储器映射图Map2,并且“01235577”被设置在选择器SEL0的八个输入端子中。联同于此,解码器DEC1响应于选择器SEL0的输出值“01235577”,参考图165的表生成图167所示的输出(DEC1输出)。同样,在这种情况下,当选择器输出值是“0123”时,一个存储体被选择,而当选择器输出值是“5577”时,两个存储体被选择。
图161所示的后台刷新存储体号码生成部分1613具有利用选择器SEL0的输出的较低的两个比特来选择在寄存器543的BRBA0至3中设置的设置值的选择器SEL1,以及将选择器输出转换为刷新目标存储体号码BR_BA[1:0]、BR_A[3:0]的解码器DEC2。后台刷新目标存储体号码BR_BA[1:0]对应于执行两存储体刷新的情况,并且例如对应于图117所示的存储体地址BA[1:0]。此外,后台刷新目标存储体号码BR_BA[3:0]对应于执行一存储体刷新的情况,并且例如对应于图118所示的地址端子A[3:0]。
图168是示出选择器SEL1的操作的表。通过用选择器SEL0的较低的两个比特作为选择信号来选择在寄存器543中设置的BRBA0至3的值。
图169是示出解码器DEC2的转换表的表。解码器输入(DEC2,输入)是可根据BRBA0至3设置在寄存器543中的值0至7,其中值“0、1、2、3”对应于刷新存储体0至3的一存储体刷新。此外,在Map1被使用时值“4”和“6”对应于两存储体刷新,并且存储体0和1、2和3被刷新。另外,在Map2被使用时值“5”和“7”对应于两存储体刷新,并且存储体0和2、1和3被刷新。同样,在这种情况下,任何值都可根据存储器映射图Map1或Map2并且根据刷新是一存储体刷新还是两存储体刷新而被设置在寄存器543中。
图170是示出在第一寄存器设置值的情况下解码器DEC2的操作的图。该示例被应用到存储器映射图Map1中的两存储体刷新,并且BRBA0至3在第一寄存器设置值的情况下分别为“6644”。选择器SEL1根据选择器SEL0的输出的较低的两个比特选择这些设置值,并且解码器DEC2参考转换表(图169)输出后台刷新存储体号码BA[1:0]。具体而言,如果解码器DEC2的输入为“6”,则存储体Bank2和3被刷新,而如果输入为“4”,则存储体Bank0和1被刷新。
图171是示出在第二寄存器设置值的情况下解码器DEC2的操作的图。该示例被应用到存储器映射图Map2中的两存储体刷新,并且BRBA0至3在第二寄存器设置值的情况下分别为“7755”。选择器SEL1根据选择器SEL0的输出的较低的两个比特选择这些设置值,并且解码器DEC2参考转换表(图169)输出后台刷新存储体号码BA[1:0]。具体而言,如果解码器DEC2的输入为“7”,则存储体Bank1和3被刷新,而如果输入为“5”,则存储体Bank0和2被刷新。
图172是示出在第三寄存器设置值的情况下解码器DEC2的操作的图。该示例被应用到存储器映射图Map1中的一存储体刷新,并且BRBA0至3在第三寄存器设置值的情况下分别为“2301”。选择器SEL1根据选择器SEL0的输出的较低的两个比特选择这些设置值,并且解码器DEC2参考转换表(图169)输出后台刷新存储体号码A[3:0]。具体而言,根据解码器DEC2的输入“2、3、0、1”,Bank2、3、0、1分别被刷新。
图173是示出在第四寄存器设置值的情况下解码器DEC2的操作的图。该示例被应用到存储器映射图Map2中的一存储体刷新,并且BRBA0至3在第四寄存器设置值的情况下分别为“1302”。选择器SEL1根据选择器SEL0的输出的较低的两个比特选择这些设置值,并且解码器DEC2参考转换表(图169)输出后台刷新存储体号码A[3:0]。具体而言,根据解码器DEC2的输入“1、3、0、2”,Bank1、3、0、2分别被刷新。
如上所述,针对正常访问操作中的激活存储体,只存在刷新目标存储体的四类组合。因此,选择器SEL1的输入限于四个,但是选择器SEL1的四个输入中的任何一个都根据选择器SEL0的三比特输出值的较低的两个比特被选择,由此与激活存储体相对应的刷新存储体可被生成。
返回图161,后台刷新模式信号BRMD被输入到控制器1615。该模式信号BRMD是指示刷新是四存储体刷新还是两存储体或一存储体刷新的信号,并且被设置到寄存器543中。在模式信号BRMD是四存储体刷新的情况下,后台刷新操作被禁止。
在响应于后台刷新使能信号BR_EN向命令CMD输出命令时,控制器1615将与命令BREN、ACT相对应的选择信号S2、S3、S4分别提供给选择器SEL2、3、4。在后台刷新使能信号BR_EN处于H电平的情况下,控制器1615在输出命令BREN时使选择器SEL2选择刷新突发长度RBL_A[7:4],使选择器SEL3选择后台刷新存储体号码BR_BA[1:0],并且使选择器SEL4选择后台刷新地址BR_A[3:0]。结果,刷新突发长度RBL从地址端子A[7:4]输出,并且后台刷新存储体号码BR_BA[1:0]从存储体地址端子BA[1:0]输出。控制器1615随后在输出命令ACT时使选择器SEL2选择其他A[7:4],使选择器SEL3选择激活存储体号码ACT_BA[1:0],并且使选择器SEL4选择其他A[3:0]。结果,正常地址A[7:4]从地址端子A[7:4]输出,并且激活目标选择存储体地址BA[1:0]从存储体地址端子BA[1:0]输出。
图162是存储器控制器的操作的定时图。在该示例中,图像处理设备81在从第3号时钟起断言访问请求信号REQ的同时输出图像地址ADR=0x000、大小信号SIZE=32、访问类型信号ATYP=000b以及读/写信号RWX=H,并且在从第22号时钟起断言选通信号STB的同时在32个时钟周期中输入32字节的读数据DATA。
另一方面,存储器控制器82基于图像地址ADR=0x000、大小信号SIZE=32以及访问类型信号ATYP=000b确定向图像数据的前方像素的位置,即POSX,POSY=0,0、激活存储体ACT_BA=BA0,BA1、行地址RA0,A1以及列地址CA0进行水平访问,并且确定在刷新突发长度RBL=4时对存储体BR_BA=BA2,BA3执行后台刷新。存储器控制器82随后在第6时钟输出后台刷新命令BREN、刷新存储体BA2,3以及刷新突发长度RBL=4,还在第8时钟输出激活命令ACT、存储体地址BA0以及行地址RA0,在第10时钟输出激活命令ACT、存储体地址BA1和行地址RA1,然后输出读命令RD、存储体地址BA0和列地址CA0,然后输出读命令RD、存储体地址BA1和列地址CA0,并且输出预充电命令PRE、存储体地址BA0、预充电命令PRE以及存储体地址BA1。每个读命令的突发长度BL是8。因此,存储器控制器还输出两对上述命令ACT、RD、PRE。结果,从存储器设备的数据端子DQ接收到32字节的数据d0至d31。然后,存储器控制器从第22号时钟起在32个时钟周期中向图像处理设备输出数据d0至d31。
存储器控制器82向存储器输出适当的刷新块计数RBC以及寄存器设置命令EMRS,并且将刷新块计数RBC和寄存器设置命令EMRS设置到存储器的寄存器中。在这种情况下,存储器控制器82考虑到刷新块计数RBC(从大小信号SIZE获得的数据),根据数据传送所需的时钟周期数确定刷新突发长度RBL。此外,存储器控制器82向存储器输出刷新突发长度RBL以及寄存器设置命令EMRS,并且将刷新突发长度RBL和寄存器设置命令EMRS设置到存储器内的寄存器中。
<<输入参数的方法>>
以上描述了对存储诸如图像数据这样的二维阵列式数据的存储器设备执行的各种访问和刷新的功能。在这种情况下,实现各种功能所需的参数是从存储器控制器输入到存储器设备的。下面描述输入这些参数的方法。
图174是示出字节边界中的起始字节信号SB的图。如上所述,在字节边界中,指示存储器单位区域的四个字节内的前方字节的起始字节信号SB被输入到存储器设备。在图174中,在访问目标是跨越由存储体0、1和行地址RA5选择的两个相邻页区域的区域1740的情况下,起始字节信号SB=2被提供给存储器设备。因此,处于具有存储体0和行地址RA5的页区域内的由列地址CA7选择的四字节数据B0至B3之中的两字节数据B2和B3以及处于具有存储体0和行地址RA5的页区域内的由列地址CA4选择的四字节数据B0至B3之中的两字节数据B0、B1与输入/输出端子相关联,并且四字节数据被输入/输出。四字节数据的关联对应于存储器映射图12处于上行模式的情况。在下行模式中,四字节数据的关联不同。
此外,在存储器设备中,由于相邻页区域的列地址CA4是根据访问区域1740的列地址CA7来计算的,因此页区域内的列地址的步长号数据CST预先在寄存器中被设置为4。
图175是示出字节组合数据的第一信息SB(起始字节)和第二信息BMR之间的关系的图。在图175的上半部分,第二信息BMR对应于上行模式,而在下半部分第二信息BMR对应于下行模式。这些部分中的每一个示出了根据起始字节SB=0至3与输入/输出端子相关联的4字节组合。上行模式如图174所示。在下行模式中,4字节区域内的四个字节的布置与上行模式的情况相反。联同于此,与输入/输出端子相关联的4字节组合和起始字节SB之间的关系与上行模式的情况相反。第二信息BMR也被输入到存储器设备,并且根据需要被设置。
图176是示出行地址步长RS的图。在多存储体访问中,基于矩形访问页区域1760的左上页区域的存储体地址和行地址,存储器设备获得剩余的存储体地址和行地址。为此,需要行地址的步长信息RS作为关于存储器映射图12的信息。因此,存储器设备输入行地址步长信息RS并且根据需要将行地址步长信息RS设置到寄存器中。在矩形访问区域1760的情况下,存储体地址BA3和行地址RA1与激活命令一起被提供,并且在四存储体访问的情况下(多存储体信息SA′=4),行地址RA1、RA5、RA6基于RS=4被获得。
图177是示出存储器映射信息AR的图。该图示出了两类存储器映射。例如,在类型A的情况下AR=0被输入,而在类型B的情况下AR=1被输入到存储器设备中,并且两者都被设置到寄存器中。在多存储体访问中,访问目标存储体是基于存储器映射信息AR来计算的。此外,即使在后台刷新中,刷新目标存储体是基于存储器映射信息AR来获得的。在类型A中,奇数行由存储体0、1构成,而偶数行由存储体2、3构成。在类型B中,奇数行由存储体0、2构成,而偶数行由存储体1、3构成。行地址RA相同。图176的示例示出了类型A。
图178是示出后台刷新中的刷新突发长度RBL和刷新块计数RBC的图。在后台刷新中,响应于命令,刷新操作被重复与刷新突发长度RBL相对应的次数,并且每个刷新操作在数目等于刷新块计数RBC的块中并行执行。图178(A)是RBC=2并且RBL=6的示例,其中利用总共12条字线执行刷新六次。图178(8)是RBC=3并且RBL=4的示例,同样,在这种情况下,利用总共12条字线执行刷新四次。图178(C)是RBC=4和RBL=3的示例,同样,在这种情况下,利用总共12条字线执行刷新三次。
如上所述,存储器设备需要输入所需参数以实现各种访问。作为输入这些参数的方法,存在使用专用输入端子的方法,以及使用未使用的地址输入端子的方法。此外,输入参数的方法根据存储器设备是由单数据速率SDRAM还是双数据速率SDRAM构成而有所不同。输入参数的方法还根据地址是经历多重输入(复用系统)还是非重多输入(非复用系统)而有所不同。这些问题在下面描述。
图179是示出存储器设备的专用输入端子、其输入缓冲器以及模式寄存器的配置的图。由专用输入端子SP输入的参数信号被输入到专用输入缓冲器1790,锁存的信号1792随后被设置到模式寄存器1791中,并且设置信号1793被提供到未示出的内部电路。但是,在与参数信号相对应的功能(字节边界功能、多存储体访问功能、后台刷新功能)被禁用的情况下,相应的参数需要被设置到默认值。
在这里,根据指示功能是被使能还是禁用的使能信号1794,如果功能被使能,则输入的参数被设置在模式寄存器1791中,而如果功能被禁用,则默认值被设置到模式寄存器1791中作为参数。此外,如果功能被使能,输入缓冲器1790则从专用输入端子SP引入信号,而如果功能被禁用,则使能信号1794被箝位到H电平。因此,在禁用的功能的情况下,不必利用接合线连接专用输入端子SP和输入缓冲器1790。
图180是示出存储器设备内的专用输入端子、其输入缓冲器以及模式寄存器的配置的图。在这里示出了这样的示例,即在各种参数中,起始字节SB、多存储体信息SA′以及刷新存储体信息SA被从专用输入端子输入。
两比特起始字节SB被从专用输入端子SP0输入,然后被引入到输入缓冲器1790-0,并且被设置到模式寄存器1791-0中。设置到模式寄存器1791-0中的操作是响应于模式寄存器设置脉冲MRSPZ执行的。但是,在使能信号1800被禁用的情况下,模式寄存器1790-1被设置为默认值(SB=0,起始字节=0),并且输入缓冲器1790-0的输出被箝位。该使能信号1800是从模式寄存器MRS、接合选项、熔丝电路等等(未示出)提供的。
类似地,两比特多存储体信息SA′随后被从专用输入端子SP1输入,并被引入到输入缓冲器1790-1中,并且被设置到模式寄存器1791-1中。设置到模式寄存器1791-1中的操作是响应于模式寄存器设置脉冲MRSPZ执行的。在使能信号1800被禁用的情况下,模式寄存器的值按与上述相同的方式被设置为默认值(SA′=0,只有一个存储体被选择),并且输入缓冲器的输出被箝位。
类似地,两比特刷新存储体信息SA被从专用输入端子SP2输入,并被设置到模式寄存器1791-2中。此外,在使能信号1802被禁用的情况下,模式寄存器的值按与上述相同的方式被设置为默认值(SA=3,所有存储体都被选择),并且输入缓冲器的输出被箝位。两比特信息项SB、SA′是分别从两个专用端子并行输入的。或者,这些信息项可从一个专用端子串行地输入。
图181是示出模式寄存器的示例的图。在该示例中,上述参数被从地址端子输入并被设置到模式寄存器中。该图示出了模式寄存器区域1810、1811和1812。地址端子A0至A6的设置值和输入值根据存储体地址BA0、BA1以及同步时钟的上升沿RiseEdge和下降沿FallEdge的每种组合示出。
首先,当模式寄存器设置命令MRS与存储体地址BA0=0、BA1=0一起被输入时,从地址端子A0至A2输入的突发长度和从地址端子A3至A5输入的读等待时间在时钟上升沿RiseEdge被设置到模式寄存器1810中,而从地址端子A0至A2输入的写恢复值在下降沿FallEdge被设置。
接下来,当模式寄存器设置命令MRS与存储体地址BA0=1、BA1=0一起被输入时,从地址端子A0至A5输入的值(未示出)在时钟上升沿RiseEdge被设置到模式寄存器1811中,并且从地址端子A0至A4输入的字节偏移功能标志BS、字节组合信息的第二信息BMR、多存储体功能标志MB、后台刷新功能标志BR和存储器映射信息AR在下降沿FallEdge被设置。应当注意,只示出了指示信号是被使能还是禁用的信息项。但是,如上所述,也可设置指示字节偏移信息SB、多存储体信息SA′、刷新存储体信息SA、刷新块计数RBC之类的信息。
此外,当模式寄存器设置命令MRS与存储体地址BA0=0、BA1=1一起被输入时,从地址端子A0至A5输入的行地址步长信息RS在时钟上升沿RiseEdge被设置到模式寄存器1812中,并且从地址端子A0至A5输入的行地址步长信息RS在下降沿FallEdge被设置。
应当注意,当在存储体地址为BA0=1、BA1=1时执行测试设置时,使用了模式寄存器区域。表1813示出了与存储体地址BA0、BA1的组合相对应的正常模式寄存器MRS和扩展模式寄存器EMRS。此外,表1814至1819分别示出了模式寄存器区域1811中地址端子A0至A6的值以及它们的设置值。
图182是示出使能信号生成电路的示例的图。图182(A)示出了由接合选项设置的使能信号生成电路1820、1821。使能信号生成电路1820具有接合操作端子1825、电源端子Vdd和地端子Vss。接合操作端子1825利用接合线连接到电源端子Vdd,由此使能信号1794变为Vdd,并且专用访问功能被使能。另一方面,使能信号生成电路1821利用接合线连接接合操作端子1825和地端子Vss,由此使能信号1794变为Vss,并且禁用访问功能。
图182(B)示出了由熔丝FS设置的使能信号生成电路1822、1823。使能信号生成电路1822由电源Vdd、地电源Vss、电阻R1和熔丝F2构成,并且使能信号1794变为Vdd并进入使能状态。使能信号生成电路1823不熔合熔丝,因而使能信号1794变为Vss并进入禁用状态。
图183是示出单数据速率(SDR)中的输入方法的图。该图示出了从专用端子(专用引脚0、1)输入参数的示例。在图中的(A)中,同步于时钟CLK(实线)的上升沿,联同后台刷新命令BREN一起,存储体地址BA0、BA1被从存储体地址端子输入,并且刷新存储体信息SA0、SA1被从专用端子输入。在图中的(B)中,同步于时钟CLK的上升沿,联同激活命令ACT一起,存储体地址BA0、BA1被从存储体地址端子输入,并且多存储体信息SA′0、SA′1被从专用端子输入。虽然没有示出,但诸如RBL、RBC、AR、RST、CS之类的参数同步于时钟CLK的上升沿与扩展模式寄存器设置命令EMRS一起从专用端子输入。
图184是示出双数据速率(DDR)中的输入方法的图。在该示例中,同样,参数是从专用端子(专用引脚)输入的。每个命令和每个参数之间的关系与图183所示的相同。由于在图184中示出了双数据速率,因此存储体地址BA0、1以及参数SA0、SA1、SA′0、SA′1、SB0和SB1是同步于时钟的上升沿和下降沿输入的。
接下来,描述不使用专用端子而从未使用的地址端子输入参数的方法。
图185是示出使用ADQ复用输入系统的输入方法的图。在ADQ复用输入系统中,地址输入端子和数据输入/输出端子由公共的端子配置,其中命令与地址一起输入,然后数据被输入/输出。于是,在地址端子的数目大于数据端子的数目的情况下,在输入/输出命令时,参数可与地址一起从公共端子输入。
图185(A)示出了具有公共端子ADQ(A/DQ0至A/DQ20,21比特)和数据端子DQ(DQ21至DQ31,11比特)的输入电路的配置。地址和数据共享公共的端子ADQ,并且只有数据使用数据端子DQ。这些数据端子DQ可用于输入参数。公共端子ADQ连接到地址缓冲器1850和输入/输出缓冲器1852-0,并且地址缓冲器1850和输入/输出缓冲器1852-0分别连接到地址锁存电路1851和存储器单元1853-0。另外,数据端子DQ连接到专用缓冲器1854和输入/输出缓冲器1852-1,并且专用缓冲器1854和输入/输出缓冲器1852-1分别连接到模式选择器1855和存储器单元1853-1。
图185(B)示出了定时图,并且是SDR的示例。首先,21比特地址ADD与写命令WR一起从公共端子ADQ输入,并且参数SP从数据端子DQ输入。地址ADD被引入到地址缓冲器1850中,并且参数SP被引入到专用缓冲器1854中。在从命令WR被输入起经过三个时钟之后,32比特数据被从公共端子ADQ和数据端子DQ输入。如果命令是读命令,则数据被输出。与命令一起输入的参数SP例如是多存储体信息SA′、刷新存储体信息SA、起始字节SB之类的。
在ADQ复用中,行和列地址是与命令一起同时输入的,然后数据被输入/输出,而不用像SDRAM中那样以时分方式输入激活命令和写命令。因此,当命令和地址被输入时,参数可从未使用的数据端子DQ输入。
图186是示出使用地址复用输入系统的输入方法的图。作为地址复用输入系统,有用于SDRAM的输入系统之类的。地址端子Add被行地址和列地址共享,并且行地址和列地址分别在RAS周期和CAS周期从公共的地址端子Add输入。但是,在由于存储器单元阵列的配置而造成行地址的数目大于列地址的数目的情况下,参数可从在CAS周期时未使用的地址端子输入。例如,起始字节SB可在CAS周期输入。
图186(A)示出了输入电路的配置,其中地址端子Add(Add0至7,8比特)连接到地址缓冲器1850-0、1850-1,并且地址缓冲器分别连接到行地址锁存电路1851-0和列地址锁存电路1851-1。另外,地址端子Add(Add8至13,6比特)连接到地址缓冲器1850-2和起始字节缓冲器1860,并且地址缓冲器1850-2和起始字节缓冲器1860分别连接到行地址锁存电路1851-2和起始字节选择器电路1861。
图186(B)示出了定时图,并且是SDR的示例。首先,激活命令AC和14比特行地址RA在RAS周期从地址端子Add[7:0]、Add[13:8]输入,并且8比特列地址CA和起始字节SB[1:0]与读或写命令RD/WR一起在CAS周期分别从地址端子Add[7:0]和地址端子Add[13:8]中的任何一个输入。
图187是示出在双数据速率(DDR)中使用地址复用系统的输入方法的图。在输入激活命令ACT的RAS周期,14比特行地址RA同步于时钟上升沿从地址端子Add[7:0]和Add[13:8]输入,并且参数SP同步于时钟下降沿从地址端子Add[7:0]和Add[13:8]输入。该参数SP例如是行地址步长信息RS、存储器映射图信息AR、多存储体信息SA′之类的。
另外,在输入读或写命令RD/WR的CAS周期,8比特列地址CA同步于时钟上升沿从地址端子Add[7:0]输入,并且参数SP同步于时钟下降沿从地址端子Add[7:0]输入。该参数SP例如是起始字节SB、列地址步长信息CST、访问矩形大小信息(W、H)、字节组合第二信息BMR(UP、DOWN、ALL、EVEN、ODD)之类的。
在DDR和地址复用系统的情况下,总共有四个输入定时,因而未使用的地址端子可用于输入参数。
图188是示出在双数据速率(DDR)中使用地址复用系统的输入方法的图。在该示例中,地址端子的数目减少到八比特,即Add[5:0]和Add[7:6]。在DDR和地址复用系统的情况下,总共有四个输入定时,因而即使地址端子的数目如上所述减少了,未使用的地址端子也仍然存在。因此,参数可从未使用的地址端子输入。
首先,在输入激活命令ACT的RAS周期,8比特行地址RA同步于时钟上升沿从地址端子Add[5:0]和Add[7:6]输入,6比特行地址RA同步于时钟下降沿从地址端子Add[5:0]输入,并且参数SP从地址端子Add[7:6]输入。该参数SP例如是多存储体信息SA′、行地址步长信息RS、存储器映射图信息AR之类的。
另外,在输入读或写命令RD/WR的CAS周期,8比特列地址CA同步于时钟上升沿从地址端子Add[5:0]和Add[7:6]输入,并且参数SP同步于时钟下降沿从地址端子Add[5:0]、Add[7:6]输入。该参数SP例如是起始字节SB、列地址步长信息CST、访问矩形大小信息(W、H)、比特组合第二信息BMR(UP、DOWN、ALL、EVEN、ODD)之类的。
如上所述,实现字节边界访问、多存储体访问和后台刷新的特殊功能所需的参数可从专用端子或未使用的地址端子输入。输入最优参数的方法被选择,该方法对应于存储器设备的输入系统。
根据本发明,使存储器核心执行设置在刷新目标存储体中的与多个刷新计数相对应的多次刷新操作,因而在后台刷新操作结束之后的很短时间内就可以对刷新目标存储体启动正常存储器操作,于是可防止有效带宽的减小。
根据本发明,在由其他存储器存储体执行的正常存储器操作期间,使存储器核心执行设置在刷新目标存储体中的与多个刷新计数相对应的多次刷新操作,因而可并行执行刷新操作和正常存储器操作,于是可防止由刷新操作导致的正常存储器操作中有效带宽的减小。此外,在正常存储器操作期间执行的后台刷新操作的次数是预先设置的,因而在后台刷新操作结束之后的很短时间内就可以在刷新目标存储体中启动正常存储器操作,于是可防止有效带宽的减小。
此外,由于存储器设备在水平访问时段期间在特定存储体处重复普通存储器操作,因此存储器设备在所选存储体处执行普通存储器操作,并且在除水平访问目标存储体外的刷新目标存储体处执行刷新操作。另一方面,由于无法预测在矩形访问时段期间哪个存储体将会是存储器访问目标存储体,因此禁止将刷新操作和普通存储器操作一起执行。因此,在后台刷新操作期间可继续水平访问,从而有效带宽可以更大。
本申请基于2006年12月22日递交的在先日本专利申请No.2006-345415、2007年1月19日递交的在先日本专利申请No.2007-10763以及2007年2月7日递交的在先日本专利申请No.2007-27827并要求它们的优先权,这里通过引用将这些申请的全部内容并入。