CN1825473A - 存储器控制装置、改变存储器地址的方法以及存储系统 - Google Patents
存储器控制装置、改变存储器地址的方法以及存储系统 Download PDFInfo
- Publication number
- CN1825473A CN1825473A CNA2006100078923A CN200610007892A CN1825473A CN 1825473 A CN1825473 A CN 1825473A CN A2006100078923 A CNA2006100078923 A CN A2006100078923A CN 200610007892 A CN200610007892 A CN 200610007892A CN 1825473 A CN1825473 A CN 1825473A
- Authority
- CN
- China
- Prior art keywords
- memory
- address
- access
- module
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
本发明提供一种存储器控制装置、改变存储器地址的方法以及存储系统。该存储器控制装置检测存储器访问并与串行连接的多个存储器模块通信。该存储器控制装置根据在检测步骤中对存储器访问的检测来改变对该多个存储器模块的地址的分配。
Description
技术领域
本发明涉及一种访问控制装置、用于改变存储器地址的方法以及存储系统。
背景技术
随着近年来半导体技术的进步,处理器和LSI的内部工作频率正显著高速化。也需要提高外部连接到LSI的存储器,特别是使用DRAM的主存储器的工作频率,并且近年来正在进行存储器模块的高速化。
在此情况下,需要改变使用DRAM的存储器模块的结构和配置以响应这种速度上的提高。传统上,对于PC 133(工作在133MHz时钟频率的SDRAM以及用于插入该SDRAM的DIMM的标准)存储器模块等,在无缓冲配置(未连接(使用)缓冲器芯片的配置)中,即使按原样将从控制器输出的命令和数据二者的信号分配到模块内的存储器模块,也不会出现问题。然而,对于DDR 400(DDR SDRAM标准之一,是对应于最高400MHz(200MHz DDR)存储器时钟的规范)存储器模块等,出现以下问题。
即,当配置包括多个DDR 400存储器模块等时,当命令系统信号被分配并提供给数量较多的存储器模块时,板上的信号负荷增加。其结果是,信号传送延迟增加,并且对于无缓冲配置不能保证高速工作。
因此,命令系统信号被锁存在安装在每个存储器模块内的寄存器中,并通过将该信号分配到每个存储器模块来减少板上的信号负荷,以保证高速工作。
由于此时板上的数据的信号负荷与系统命令信号相比较小,因此其对高速工作的影响小。
然而,当构造使用多个存储器模块配置的、能够实现甚至更快速度例如DDR2/DDR3的系统时,不再能忽视由每个数据信号的分配所引起的板上的负荷,并且其对高速工作具有影响。
作为保证该高速工作的结构,例如,正在研究图14所示的面向实用的结构。在图14中,使用“点对点”高速串行接口技术,当进行命令和数据的传送时,用各存储器模块内的缓冲器临时缓冲该命令和数据,然后传送。下面,使用图14来说明该配置的存储器模块的操作。
从存储器控制电路1401发出的存储器命令被传送到存储器模块1406至1409内的缓冲器1411。每个缓冲器1411判断是对其自身的模块还是对另一模块进行访问。如果是对其自身的模块进行访问,则该缓冲器将命令分配到该模块内的DRAM 1410。如果是对另一模块进行访问,则将命令传送到下一模块。
写数据与存储器命令一起传送。对于读数据,以存储器命令的相反方向通过缓冲器1411将该数据传送到存储器控制电路1401侧。
在图14所示的配置中,命令和数据在所连接的模块之间串行传送,因此,到距离LSI更远的模块的命令或写数据的到达周期被延迟。此外,对于读数据,距离LSI越远的模块的等待时间(latency)倾向于越长。
例如,对于对与图14所示的存储器控制电路1401最近的存储器模块1406的存储器访问,存储器访问等待时间对于命令或写数据是一列缓冲器1411的量,并且对于读数据也是一列的量。
对于对与存储器控制电路1401最远的存储器模块1409的存储器访问,存储器访问等待时间对于命令或写数据是四列缓冲器1411的量,并且对于读数据也是四列的量。因此,根据存储器模块的物理位置,访问等待时间有很大不同。
与上述图14所示的系统相对照,在图15所示的使用传统存储器模块的系统中,命令或数据被分配至存储器模块1506至1509中的每一个。因此,对于每个DRAM 1510,访问等待时间是相同的,并且无论存储器访问被发送到哪个区域,访问性能都是相同的。
然而,当使用图14所示的存储器模块时,访问等待时间根据要访问的存储器模块而显著不同。
例如,在图14中,在向存储器模块1406发出大量存储器访问的情况和向存储器模块1409发出大量存储器访问的情况之间,访问响应有很大不同。因此,存储器访问的类型将显著影响系统性能。
发明内容
本发明是为了解决以上问题而做出的,本发明的目的在于防止访问能高速工作的存储器模块的性能的降低。
本发明的另一目的在于提供一种存储器控制装置,包括:检测装置,用于检测存储器访问;通信装置,用于与串行连接的多个存储器模块通信;以及改变装置,用于根据由该检测装置对存储器访问的检测来改变对该多个存储器模块的地址的分配。
本发明的又一目的在于提供一种改变存储器地址的方法,包括:检测步骤,用于检测存储器访问;通信步骤,用于与串行连接的多个存储器模块通信;以及改变步骤,用于根据在该检测步骤中对存储器访问的检测来改变对该多个存储器模块的地址的分配。
本发明的再一目的在于提供一种存储系统,具有存储器控制器和串行连接到该存储器控制器的多个存储器模块,其中,该存储器控制器根据对存储器访问的检测来改变对该多个存储器模块的地址的分配。
通过下面对实施例的说明,本发明的其它目的是显而易见的。
附图说明
图1是示出其中第一实施例的存储系统的配置的例子的视图;
图2是示出第一实施例的存储器控制电路101的配置的例子的视图;
图3A和图3B是示出第一实施例的存储器信息寄存器205的配置和设置例子的视图;
图4是示出存储器模块的地址映射的视图;
图5是示出其中第二实施例的存储器控制电路501的配置的例子的视图;
图6是示出图5中所示的访问计数器505的配置的例子的视图;
图7是示出对应于各存储区的存储器模块和存储体(bank),以及存储器访问计数的具体例子的视图;
图8是示出物理地址和片内地址(address on a chip)之间相互关系的视图;
图9是示出转换后的物理地址和片内地址之间相互关系的视图;
图10是示出其中第三实施例的存储器控制电路1001的配置的例子的视图;
图11是示出图10中所示的页变换计数器1005的配置的例子的视图;
图12是示出对应于各存储区的存储器模块和存储体,以及页变换计数的具体例子的视图;
图13是示出根据其中第四实施例复制存储数据的视图;
图14是示出使用能高速工作的存储器模块的系统的配置的例子的视图;以及
图15是示出使用传统存储器模块的系统的配置的例子的视图。
具体实施方式
下面将参考附图来详细说明实施本发明的方式。采用以下系统作为例子来说明实施例。更具体来说,在该实施例的系统中,从图1所示的存储器控制电路101以链的形式连接四组存储器模块106至109。在该系统中,每个存储器模块具有多个DRAM 110以及接收命令和数据并将其向下游传送的缓冲器111。
在该例子中,对于物理位置与存储器控制电路101最近的存储器模块106,访问等待时间最短,而对于物理位置与存储器控制电路101最远的存储器模块109,访问等待时间最长。
第一实施例
图1是示出第一实施例的存储系统的配置的例子的视图。在第一实施例中,存储器控制电路101包括存储器信息寄存器103、访问模式判断设置单元104和存储器接口105。
使用图2来说明第一实施例的存储器控制电路101的配置和控制。
图2是示出第一实施例的存储器控制电路101的配置的例子的视图。在图2中,附图标记202表示存储器访问接口,其通过存储器访问总线201与存储器模块单元102的存储器模块106至109中的每一个交换访问命令和数据。附图标记205表示存储器信息寄存器,其通过寄存器访问总线203存储存储器模块单元102的存储器模块106至109中的每一个的操作设置或状态。
存储器信息寄存器205由存储器配置信息寄存器209和存储器地址设置寄存器210构成。存储器配置信息寄存器209指定并保持对存储器模块106至109中的每一个的超前的访问等待时间。存储器地址设置寄存器210指定存储空间和存储器模块106至109中的每一个的地址分配。
附图标记204表示访问模式判断设置单元,其将所进行的访问的内容作为访问模式211输入到存储器模块106至109中的每一个,并基于该分析的结果来设置存储器信息寄存器205。访问模式判断设置单元204包括:访问模式判断单元207,其判断对存储器的访问模式211;以及存储器地址设置单元208。
访问模式判断单元207基于所输入的访问模式211来分析对存储器进行的访问的访问内容。然后,存储器地址设置单元208基于该分析的结果来确定存储器模块106至109中的每一个的物理地址和片内存储空间的分配。
附图标记212表示存储器控制核心单元,其控制对存储器模块106至109中的每一个的每个DRAM 110的存储器访问内容。根据来自图中未示出的CPU的访问指令,存储器控制核心单元212接收要写入存储器模块单元102中的存储器写数据213,并发送从存储器模块单元102读出的存储器读数据214。
现在使用图3A和图3B来说明存储器信息寄存器205的配置。在第一实施例中,四组存储器模块106、107、108以及109连接到存储器控制电路101。因此,存储器信息寄存器205的存储器配置信息寄存器209和存储器地址设置寄存器210具有四组对应的寄存器区域。
图3A和图3B是示出第一实施例的存储器信息寄存器205的配置和设置例子的视图。图3A是示出存储器配置信息寄存器209的配置和设置例子的视图,图3B是示出存储器地址设置寄存器210的配置和设置例子的视图。
存储器配置信息寄存器209包括5个区域。第一区域存储标志301作为用于连接存储器模块的配置信息,该标志301表示存储器模块是被启用还是被禁用。在第二区域中,设置存储体的个数302。第三区域存储行地址的个数303作为地址信息。在第四区域中,设置列地址的个数304。在第五区域中,设置物理距离信息305作为每个存储器模块的等待时间。
例如,使用标志来设置存储体的个数302,用“0”表示连接具有4个存储体的模块,“1”表示连接具有8个存储体的模块。此外,从存储器模块106至109中距存储器控制电路101物理距离最短的模块开始,以“0”、“1”、“2”和“3”的顺序设置每个存储器模块的物理距离信息305。
存储器地址设置寄存器210具有存储区低地址寄存器字段(memory area lower address register field)306和存储区高地址寄存器字段307。通过指定下限(lower limit)区域的开始地址的MSB8位和上限(higher limit)区域的结束地址的MSB8位来对每个存储器模块执行地址区域的指定。
例如,当存储器模块的配置为存储体的个数是4、行地址的个数是13、列地址的个数是10时,存储器配置信息寄存器209被设置为如图3A所示。更具体来说,基于存储体的个数是4的信息,存储体的个数302的寄存器设置值被设置为“0”,行地址的个数303的寄存器设置值被设置为“0xd”,列地址的个数304的寄存器设置值被设置为“0xa”。
此外,当寄存器地址映射被配置为图4所示的附图标记401至404所示时,存储器地址设置寄存器210被设置为如图3B所示。更具体来说,“0x00”和“0x10”、“0x10”和“0x20”、“0x20”和“0x30”以及“0x30”和“0x40”被分别设置在存储器地址设置寄存器210中的对应于各存储器模块106至109的存储区低地址寄存器字段306和存储区高地址寄存器字段307中。
接下来,说明基于由访问模式判断设置单元204输入的访问模式211在存储器信息寄存器205中进行设置的处理。
作为访问模式211,访问模式判断设置单元204输入访问内容,该访问内容示出正被读或写的存储器模块106至109中的区域的地址。然后基于通过分析该访问内容而获得的结果,访问模式判断设置单元204生成并设置存储器信息寄存器205的存储器配置信息寄存器209和存储器地址设置寄存器210的写入值。
更具体来说,当访问模式判断单元207通过所输入的访问模式211判断为存储器模块108距存储器控制电路101的物理距离比存储器模块106近更好时,以如下方式来设置存储器配置信息寄存器209。即,存储器地址设置单元208生成要写入作为存储器地址改变对象的存储器模块106的物理距离信息305中的值“2”,并生成要写入存储器模块108的物理距离信息305的值“0”。然后,将以该方式生成的值设置在存储器配置信息寄存器209中,作为新的存储器地址设置值。
通过分析上述访问模式211,根据与对存储器的访问频率有关的信息来改变要分配给每个存储器模块的片内存储空间和地址。因此,在读取时的访问等待时间对每个存储器模块不同的存储系统中,能抑制存储器控制电路101的等待时间的增加,从而防止存储器访问性能的下降。
在第一实施例中,还可以通过使用软件来实现访问模式判断单元207和存储器地址设置单元208。
例如,可通过软件例如程序而不通过图2所示的硬件电路来实现访问模式判断单元207和存储器地址设置单元208。在此情况下,通过处理器来实现访问模式判断单元207和存储器地址设置单元208的处理内容。
此外,当使用软件来处理时,可采用将作为存储器地址设置单元208的执行结果的新的存储器地址值直接写入存储器地址设置寄存器210中的配置。特别地,当使用软件来实现电路时,可以减小硬件电路的尺寸,并且与使用硬件来配置电路的情况相同,在具有不同访问等待时间的存储系统中可以改变存储器地址的分配。还可以防止存储器访问性能的下降。
根据第一实施例,在访问等待时间对每个存储器模块不同的存储器的存储器控制电路中,根据访问模式来改变存储空间和每个存储器模块的地址分配。因此,可以防止由等待时间的增加而引起的存储器访问性能的下降。
第二实施例
接下来,参考附图详细说明本发明的第二实施例。
图5是示出第二实施例的存储器控制电路501的配置的例子的视图。以与图2中相同的符号来表示具有与图2中的用于第一实施例的组件相同功能的组件,并在此省略其说明。该实施例的存储系统的配置也与图1中的相同。
在图5中,附图标记502表示第二实施例的访问模式判断设置单元。访问模式判断设置单元502包括分别对应于图2所示的访问模式判断单元207和存储器地址设置单元208的访问模式判断单元503和存储器地址设置单元504。访问模式判断设置单元502还包括用于检测对存储器模块的访问频率的访问计数器505。
现在说明第二实施例的访问计数器505的配置和操作。访问计数器505是N位计数器(N是任意自然数),存储器控制核心单元212每次接收到存储器访问请求,该计数器递增1,当计数值到达最大值时,该计数器从0开始再次计数。计数值从0到达最大值的间隔被认为是访问测量单位。
访问计数器505具有对应于分区区域的个数的存储器访问计数器,该分区区域的个数是基于存储器模块的个数和各存储器模块的存储体的个数的。
更具体来说,如图6所示,访问计数器505包括分别对应于存储器模块和存储体的多个存储器访问计数器。也就是说,存储器访问计数器601对应于存储器模块106的存储体0,存储器访问计数器602对应于存储器模块107的存储体0。此外,存储器访问计数器603对应于存储器模块108的存储体0,存储器访问计数器604对应于存储器模块109的存储体0。
因此,如本实施例所述,当存储器包括四个存储器模块,且每个存储器模块包含四个存储体时,总共提供16个计数器作为存储器访问计数器505。
通过测量对每个存储器模块的每个存储体的存储器访问频率,检测应该设置于在物理上更靠近存储器控制电路的位置处的存储器模块区域,并且将该信息用作用于改变要分配给存储区的存储器地址的信息。
图7是示出对应于每个存储区的存储器模块和存储体,以及存储器访问计数的具体例子的视图。为了便于说明,图7中仅示出存储器模块106至109中的每个的存储体0。
在图7中,存储区1至存储区4被定义为片内存储区,并且它们被示出为对应于作为物理地址的存储器模块106的存储体0区域至存储器模块109的存储体0区域。存储器访问计数701示出在每个存储器地址的存储器被激活的次数。
更具体来说,图7所示的例子表示对对应于存储区1的存储器模块106的存储体0区域发生了15次存储器访问。
此外,如果假定片内地址和物理地址之间的相互关系为例如如图8所示,则对作为片内地址的存储区1至4的访问导致对下列物理地址的访问。即,片内地址的存储区1访问物理地址的存储器模块106的存储体0区域,存储区2访问存储器模块107的存储体0区域。此外,存储区3访问存储器模块108的存储体0区域,存储区4访问存储器模块109的存储体0区域。
这样,根据第二实施例,通过基于图7所示的对存储器模块的存储体区域的访问计数701,将访问数量大的存储区转换为物理上靠近存储器控制电路的存储器地址区域,以改善访问等待时间。
也就是说,当根据存储器访问计数对一存储器模块存在很多访问时,将片内地址改变为物理上靠近存储器控制电路的存储器模块。此外,当对一存储器模块的访问少时,将片内地址改变为物理上远离存储器控制电路的存储器模块。
具体地,在图7所示的存储器访问计数701的情况下,图8所示的片内地址和物理地址之间的对应被转换为图9所示的片内地址和物理地址之间的对应。因此,在转换前后片内地址的存储区2和存储区4没有改变,它们分别指向物理地址的存储器模块107的存储体0区域和存储器模块109的存储体0区域。然而,存储区1从存储器模块106的存储体0区域转换为存储器模块108的存储体0区域。此外,存储区3从存储器模块108的存储体0区域转换为存储器模块106的存储体0区域(由图9中的虚线来表示)。
这样,通过根据存储器访问计数来对片内地址适当改变物理地址的地址分配,可以降低由访问等待时间而引起的性能下降。
根据第二实施例,对每个分区存储空间计算由存储器控制电路实际发出的存储器访问的数量,并且将对其发出了大量存储器访问的存储空间的地址分配改变为具有小等待时间的存储器模块的地址分配。因此,可以防止由响应于操作条件的等待时间的增加而引起的存储器访问性能的下降。
第三实施例
接下来,将参考附图详细说明本发明的第三实施例。
图10是示出第三实施例的存储器控制电路1001的配置的例子的视图。以与图2中相同的符号来表示具有与图2中的用于第一实施例的组件相同功能的组件,并在此省略其说明。该实施例的存储系统的配置也与图1的相同。
在图10中,附图标记1002表示第三实施例的访问模式判断设置单元。访问模式判断设置单元1002包括对应于图2所示的访问模式判断单元207和存储器地址设置单元208的访问模式判断单元1003和存储器地址设置单元1004。访问模式判断设置单元1002还包括页(page)变换计数器1005,该页变换计数器1005对存储器模块中的页变换进行计数。
现在说明第三实施例的页变换计数器1005的配置和操作。页变换计数器1005是对存储器模块的每个区域的页变换数量进行计数的N位计数器(N是任意自然数)。更具体来说,当存储器控制核心单元212接收到存储器访问请求时,判断相关地址的页(地址所属的存储体,以及该存储体中的行)被激活(打开)还是未被激活(关闭)。当该页未被激活时,页变换计数器1005判断为该访问表示页变换并且将页变换计数递增1,当计数值到达最大值时,从0开始再次计数。在此,计数值从0到达最大值的间隔被作为访问测量单位。
页变换计数器1005具有对应于分区区域的个数的页变换计数器,该分区区域的个数是基于存储器模块的个数和每个存储器模块的存储体的个数的。
更具体来说,如图11所示,页变换计数器1005包括对应于如下所述的各存储器模块和存储体的多个页变换访问计数器。也就是说,页变换计数器1101对应于存储器模块106的存储体0,页变换计数器1102对应于存储器模块107的存储体0。此外,页变换计数器1103对应于存储器模块108的存储体0,页变换计数器1104对应于存储器模块109的存储体0。
因此,如本实施例所述,当存储器包括四个存储器模块,且每个存储器模块包括四个存储体时,总共提供16个计数器作为页变换计数器1005。
因此,通过计算每个存储器模块的每个存储体的页变换计数,检测应该设置于在物理上更靠近存储器控制电路的位置处的存储器模块区域,并且将该信息用作用于改变要分配给存储区的存储器地址的信息。
图12是示出对应于每个存储区的存储器模块和存储体,以及页变换计数的具体例子的视图。为了便于说明,图12中仅示出存储器模块106至109中的每个的存储体0。
在图12中,存储区1至存储区4被定义为片内存储区,并且它们被示出为对应于作为物理地址的存储器模块106的存储体0区域至存储器模块109的存储体0区域。还示出了每个存储器地址处的存储器的页变换计数1201。
更具体来说,图12所示的例子表示对应于存储区1的存储器模块106的存储体0区域发生了15次页变换。
此外,如果假定片内地址和物理地址之间的相互关系是例如第二实施例所使用的图8所示的相互关系,则进行如下访问。即,片内地址的存储区1访问物理地址的存储器模块106的存储体0区域,存储区2访问存储器模块107的存储体0区域。此外,存储区3访问存储器模块108的存储体0区域,存储区4访问存储器模块109的存储体0区域。
因此,根据第三实施例,通过基于对图12所示的存储器模块的存储体区域的页变换计数1201,将页变换数量大的存储区转换为物理上靠近存储器控制电路的存储器地址区域,以改善访问等待时间。
也就是说,当根据页变换计数对一存储器模块存在很多页变换时,将片内地址改变为物理上靠近存储器控制电路的存储器模块的片内地址。否则,当对一存储器模块存在很少页变换时,将片内地址改变为物理上远离存储器控制电路的存储器模块的片内地址。
具体地,在图12所示的页变换计数1201的情况下,图8所示的片内地址和物理地址之间的对应被转换为图9所示的片内地址和物理地址之间的对应。因此,在变换前后,片内地址的存储区2和存储区4没有改变,它们分别指向物理地址的存储器模块107的存储体0区域和存储器模块109的存储体0区域。然而,存储区1被从存储器模块106的存储体0区域转换为存储器模块108的存储体0区域。此外,存储区3被从存储器模块108的存储体0区域转换为存储器模块106的存储体0区域(由图9中的虚线来表示)。
当每个存储器模块包括多个存储体(多个页)时,考虑到对多个页的页变换来改变上述片内地址。
这样,通过根据对存储器的激活区域和非激活区域的页变换计数来适当改变相对于物理地址的片内地址的地址分配,可以减少由于访问等待时间而引起的性能下降。
根据第三实施例,对每个分区存储空间计算由存储器控制电路实际发出的页变换的数量,并将页变换数量大的存储空间的地址分配改变为等待时间少的存储器模块的地址分配。因此,可以减少由等待时间的增加而引起的页错误后果的影响,并且还可以保持页变换少的存储空间的传输宽度(tansfer width),以实现最佳的存储器访问性能。
第四实施例
接下来,参考附图详细说明本发明的第四实施例。
在第一至第三实施例中,当判断为需要存储器地址改变时,存储器控制核心单元212停止对存储器的访问,并改变片内地址的物理地址的地址分配。在第四实施例中,还执行复制存储器模块的数据的操作。
如图7所示,对于每个存储器模块,计数对存储器的访问次数,当根据存储器访问计数701出现需要交换存储区1的存储数据和存储区3的存储数据时,执行以下存储数据的替换。即,对由存储器地址设置寄存器210的存储区低地址寄存器字段306和存储区高地址寄存器字段307所确定的存储器模块的特定区域中所包含的存储数据执行替换。
图13是示出根据第四实施例复制存储数据的视图。如图13所示,当改变存储器模块108的存储体0区域和存储器模块106的存储体0区域的分配时,以如下方式复制存储数据。即,提供任意缓冲器区域1301用于临时存储存储数据,存储器模块108的存储体0区域1302和存储器模块106的存储体0区域1303二者的存储数据被临时复制。之后,通过将该存储数据复制到新分配的存储器模块的改变目的地存储器地址,可以保持该存储数据的互换性。
因此,在完成了将数据复制到作为存储器地址替换对象的存储器地址的阶段,存储器控制核心单元212重新开始对该存储器模块的访问,从而能够在新的存储器地址读取存储数据而没有任何问题。
根据第四实施例,通过在改变存储空间和存储器模块的地址分配时执行存储器复制,在改变该分配后仍可使用改变前存储在相关空间中的存储数据。
注意,本发明可应用于由多个装置(例如,主计算机、接口装置、读取器、打印机等)构成的系统或者包括单个装置(例如,复印机或传真装置)的装置。
此外,还可以这样实现本发明的目的,将记录有实现上述实施例的功能的软件的程序代码的存储介质提供给系统或装置,由该系统或装置的计算机(CPU或MPU)读取存储在所提供的存储介质上的程序代码,然后执行该程序代码。
在此情况下,从存储介质读取的程序代码本身实现上述实施例的功能,并且存储该程序代码的存储介质构成本发明。
可用于提供程序代码的存储介质的例子包括软盘(floppydisk,注册商标)、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失性存储卡、以及ROM。
此外,除了通过由计算机执行所读取的程序代码来实现上述根据实施例的功能的情况以外,运行在计算机上的操作系统等也可以基于该程序代码的指令来执行全部或部分实际处理,从而可通过该处理来实现上述实施例的功能。
此外,在将从存储介质读取的程序代码写入插在计算机中的功能扩展板或连接到计算机的功能扩展单元所提供的存储器中之后,安装在该功能扩展板或功能扩展单元上的CPU等基于该程序代码的指令执行全部或部分实际处理,从而可通过该处理来实现上述实施例的功能。
尽管以上说明基于本发明的优选实施例,但是本发明不局限于上述实施例,在所附权利要求的范围内可对其进行各种修改。
Claims (12)
1.一种存储器控制装置,包括:
检测装置,用于检测存储器访问;
通信装置,用于与串行连接的多个存储器模块通信;
改变装置,用于根据由该检测装置对存储器访问的检测来改变对该多个存储器模块的地址的分配。
2.根据权利要求1所述的存储器控制装置,其特征在于,该改变装置根据对多个存储区中的每一个的存储器访问的检测来改变要分配给多个存储区的该多个存储器模块的地址。
3.根据权利要求1所述的存储器控制装置,其特征在于,该改变装置根据对该多个存储器模块中被关闭的页的存储器访问的检测来改变对该多个存储器模块的地址的分配。
4.根据权利要求1所述的存储器控制装置,其特征在于,该改变装置将改变分配前的地址的数据写入改变分配后的地址中。
5.一种改变存储器地址的方法,包括:
检测步骤,用于检测存储器访问;
通信步骤,用于与串行连接的多个存储器模块通信;以及
改变步骤,用于根据在该检测步骤中对存储器访问的检测来改变对该多个存储器模块的地址的分配。
6.根据权利要求5所述的改变存储器地址的方法,其特征在于,该改变步骤根据对多个存储区中的每一个的存储器访问的检测来改变要分配给多个存储区的该多个存储器模块的地址。
7.根据权利要求5所述的改变存储器地址的方法,其特征在于,该改变步骤根据对该多个存储器模块中被关闭的页的存储器访问的检测来改变对该多个存储器模块的地址的分配。
8.根据权利要求5所述的改变存储器地址的方法,其特征在于,该改变步骤将改变分配前的地址的数据写入改变分配后的地址中。
9.一种存储系统,包括:
存储器控制器;以及
串行连接到该存储器控制器的多个存储器模块;
其中,该存储器控制器根据对存储器访问的检测来改变对该多个存储器模块的地址的分配。
10.根据权利要求9所述的存储系统,其特征在于,该存储器控制器根据对多个存储区中的每一个的存储器访问的检测来改变要分配给多个存储区的该多个存储器模块的地址。
11.根据权利要求9所述的存储系统,其特征在于,该存储器控制器根据对该多个存储器模块中被关闭的页的存储器访问的检测来改变对该多个存储器模块的地址的分配。
12.根据权利要求9所述的存储系统,其特征在于,该存储器控制器将改变分配前的地址的数据写入改变分配后的地址中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005051369 | 2005-02-25 | ||
JP2005051369A JP2006236105A (ja) | 2005-02-25 | 2005-02-25 | アクセス制御装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1825473A true CN1825473A (zh) | 2006-08-30 |
Family
ID=36933127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100078923A Pending CN1825473A (zh) | 2005-02-25 | 2006-02-23 | 存储器控制装置、改变存储器地址的方法以及存储系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060195665A1 (zh) |
JP (1) | JP2006236105A (zh) |
CN (1) | CN1825473A (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904639B2 (en) * | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
JP2008242731A (ja) * | 2007-03-27 | 2008-10-09 | Oki Electric Ind Co Ltd | マイクロプロセッサ設計プログラム、マイクロプロセッサ設計装置及びマイクロプロセッサ |
JP5171448B2 (ja) * | 2007-07-31 | 2013-03-27 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
WO2010016817A1 (en) * | 2008-08-08 | 2010-02-11 | Hewlett-Packard Development Company, L.P. | Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules |
JP2011081732A (ja) * | 2009-10-09 | 2011-04-21 | Elpida Memory Inc | 半導体装置及びその調整方法並びにデータ処理システム |
JP2011192343A (ja) | 2010-03-12 | 2011-09-29 | Elpida Memory Inc | 半導体装置及びそのリフレッシュ制御方法並びにコンピュータシステム |
CN111158600B (zh) * | 2019-12-30 | 2023-10-27 | 中国人民解放军国防科技大学 | 一种提升高带宽存储器(hbm)访问效率的装置和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571325B1 (en) * | 1999-09-23 | 2003-05-27 | Rambus Inc. | Pipelined memory controller and method of controlling access to memory devices in a memory system |
JP4159415B2 (ja) * | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
US7222224B2 (en) * | 2004-05-21 | 2007-05-22 | Rambus Inc. | System and method for improving performance in computer memory systems supporting multiple memory access latencies |
-
2005
- 2005-02-25 JP JP2005051369A patent/JP2006236105A/ja not_active Withdrawn
-
2006
- 2006-02-02 US US11/345,388 patent/US20060195665A1/en not_active Abandoned
- 2006-02-23 CN CNA2006100078923A patent/CN1825473A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20060195665A1 (en) | 2006-08-31 |
JP2006236105A (ja) | 2006-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9244842B2 (en) | Data storage device with copy command | |
CN1825473A (zh) | 存储器控制装置、改变存储器地址的方法以及存储系统 | |
US10268407B1 (en) | Method and apparatus for specifying read voltage offsets for a read command | |
US10289313B2 (en) | Method and apparatus for improving sequential reading in NAND flash | |
CN1252605C (zh) | 重排多个数据存取指令的方法与装置 | |
US20050289317A1 (en) | Method and related apparatus for accessing memory | |
US20110055457A1 (en) | Method for giving program commands to flash memory, and controller and storage system using the same | |
JP2008021314A (ja) | データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ | |
CN1180430A (zh) | 不按顺序执行读写指令的存储器控制器 | |
CN1702776A (zh) | 存储卡、半导体装置和半导体存储器的控制方法 | |
EP3926451A1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
US12001283B2 (en) | Energy efficient storage of error-correction-detection information | |
CN1040104A (zh) | 用于双母线微机系统的延迟高速存贮器写操作启动电路 | |
CN1435758A (zh) | 存储装置、数据处理方法以及数据处理程序 | |
CN1127022C (zh) | 具有地址变换的数据处理方法及设备 | |
CN1503948A (zh) | 流水线化的ata设备初始化 | |
CN1136503C (zh) | 闪烁存储系统 | |
US10331385B2 (en) | Cooperative write-back cache flushing for storage devices | |
TW202213331A (zh) | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
CN1253792C (zh) | 测试高内存地址的控制电路及控制方法 | |
TWI769040B (zh) | 記憶體控制器以及伺服器 | |
CN1735855A (zh) | 用于处理数据传送的方法和装置 | |
CN1940898A (zh) | 存储控制器 | |
Du et al. | Dual-page mode: Exploring parallelism in MLC flash SSDs | |
CN1639700A (zh) | 通过数据总线传输数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20060830 |