具体实施方式
下面,参照附图说明本发明的实施方式。在下面的说明中,对相同的构成要素标注相同的标号。这些构成要素的名称及功能也相同。因此,有时会省略有关这些构成要素的详细说明。
<第1实施方式>
图1是表示第1实施方式的数据存储装置1000的结构的框图。
数据存储装置1000包括存储器管理装置(MMU(Memory ManagementUnit))100、DRAM200、DRAM控制电路210。
存储器管理装置100按照作为存储器管理方式的段(segment)方式来管理存储器即DRAM200的状态。存储器管理装置100进行将逻辑地址变换为物理地址的处理,详细情况将在后面进行说明。
DRAM200具有进行自动刷新(auto refresh)的功能和进行自刷新(selfrefresh)的功能,以便保存被存储在该DRAM200中的数据。自动刷新是按照未图示的外部的电路的指示进行的。自动刷新是公知的处理,因而不进行详细说明。
DRAM200尤其具有执行对该DRAM200的一部分进行自刷新的部分自刷新(partial self refresh)的功能。并且,DRAM200是对应基于内存库交错(存储交错)的存取的存储器。所谓内存库交错是指通过并行地向多个内存库进行存取来实现存储器的存取的高速化的方法。另外,基于内存库交错的处理是公知技术,因而不进行详细说明。
另外,在DRAM200中,进行自刷新所需要的功率小于进行自动刷新所需要的功率。
在本说明书中,所谓“存取”是指数据的存放(存储)和数据的读出的总括性表述。
另外,作为存储器管理装置100管理的对象的存储器不限于DRAM,只要是为了保存数据而需要定期进行自动刷新的易失性存储器,也可以是DRAM以外的易失性存储器。
图2是用于说明DRAM200的图。
在图2中,为了进行说明而示出了用于管理DRAM200的段表T10。段表T10包括多个段,详细情况将在后面进行说明。段表示用于进行从逻辑地址向物理地址的变换的信息。另外,本实施方式中的段还表示用于确保区域的信息。
DRAM200包括呈矩阵状配置的u(4以上的整数)个存储区域C10。该u个存储区域C10构成n(2以上的整数)行p(2以上的整数)列的矩阵(下面称为区域矩阵)。利用与区域矩阵中的p个列分别对应的n个存储区域C10构成一个内存库。
即,DRAM200包括p个内存库。
p个内存库分别对应于区域矩阵的p个列。p个内存库分别由与对应于该内存库的区域矩阵的列相对应的n个存储区域形成。在本实施方式中,设p=8。即,作为一例,DRAM200包括8个内存库(内存库BK0、BK1、BK2、BK3、BK4、BK5、BK6、BK7)。
另外,包含于DRAM200中的内存库的数量不限于8,例如也可以是4、16、24等。
u个存储区域C10分别利用行地址和列地址进行确定。
另外,DRAM200也可以由多个DRAM构成。并且,在物理存储空间中,u个存储区域C10也可以不呈矩阵状配置。在这种情况下,图2所示的n个存储区域C10在逻辑存储空间中呈矩阵状配置。
即,DRAM200包括在物理存储空间或者逻辑存储空间中呈矩阵状配置的u个存储区域C10。
在DRAM200中,允许向由段确保的一个以上的存储区域C10进行存取。下面,将由段确保的存储区域C10也称为确保区域。确保区域是能够进行存取的区域。另外,下面将段不能确保的存储区域C10也称为不确保区域。不确保区域是不能进行存取的区域。
另外,下面将DRAM200的所有的存储区域C10也称为全部存储区域。下面,将DRAM200的所有的存储区域C10的合计容量也称为最大存储容量。即,全部存储区域的容量是最大存储容量。
由u个存储区域C10中与区域矩阵中的n个行分别对应的p个存储区域C10形成与行对应的区域(下面,也称为单位区域)。即,由与区域矩阵中的n个行分别对应的p个存储区域C10形成一个单位区域。单位区域是作为基于内存库交错的存取的对象的区域。由u个存储区域C10形成n个单位区域。即,作为存储器的DRAM200包括n个单位区域。
n个单位区域分别与区域矩阵的n个行对应。并且,n个单位区域分别由与对应于该单位区域的区域矩阵的行相对应的p个存储区域形成。
DRAM200包括单位区域RW[1]、RW[2]、…、RW[n]。
下面,将各个单位区域RW[1]、RW[2]、…、RW[n]简称为单位区域RW。即,DRAM200包括n个单位区域RW。即,DRAM200的存储区域整体被划分为n个单位区域RW。n个单位区域RW各自的容量是相同的。
另外,构成段表T10的段的数量与单位区域RW的数量相同。
即,段表T10包括段SG[1]、SG[2]、…、SG[n]。段SG[1]、SG[2]、…、SG[n]分别对应于逻辑地址LAD[1]、LAD[2]、…、LAD[n]。
下面,将各个段SG[1]、SG[2]、…、SG[n]简称为段SG。即,段表T10由n个段SG构成。段SG表示向作为存储器的DRAM200进行存取所需要的信息,详细情况将在后面进行说明。即,段SG是向作为存储器的DRAM200进行存取所需要的信息。
另外,构成段表T10的段的数量也可以与单位区域RW的数量不同。例如,也可以是一个段SG对应于多个单位区域RW。
另外,区域矩阵的行和列分别对应于单位区域和内存库,但不限于此。区域矩阵的行和列也可以分别对应于内存库和单位区域。
另外,下面将各个逻辑地址LAD[1]、LAD[2]、…、LAD[n]简称为逻辑地址LAD。
并且,在本实施方式中,作为一例,假设n个单位区域RW分别由8个存储区域C10构成。构成各个单位区域RW的8个存储区域C10分别是对应于内存库的区域。下面,将对应于内存库的存储区域C10简称为内存库对应区域。
例如,在单位区域RW[1]中,对应于内存库BK0的存储区域C10是对应于内存库BK0的内存库对应区域。
n个单位区域RW分别利用与该单位区域RW对应的段SG所表示的各种信息进行管理。
图3是用于说明段SG的图。
参照图3,段SG表示有效判定信息FG、物理地址SD、确保容量CP。有效判定信息FG是示出用于表示该有效判定信息FG的段SG是否有效的信息。有效判定信息FG表示“有效”或者“无效”。在有效判定信息FG表示“有效”的情况下,表示该有效判定信息FG的段SG是有效的。在有效判定信息FG表示“无效”的情况下,表示该有效判定信息FG的段SG是无效的。
另外,在初始状态下,包含于段表T10中的n个段SG分别表示的有效判定信息FG表示“无效”。
即,n个段分别示出用于表示该段是否有效的有效判定信息FG。
物理地址SD是n个单位区域RW中任意一个单位区域RW的开头地址(开始地址)。各个单位区域RW的开头地址对应于图2的行地址。即,利用段SG所表示的物理地址SD确定出的单位区域RW对应于该段SG。n个段SG分别表示的物理地址SD是彼此不同的单位区域RW的开头地址。
由此,n个段SG分别对应于n个单位区域RW。即,n个单位区域RW分别与向作为存储器的DRAM200进行存取所需要的n个段对应。并且,n个段SG分别表示与该段SG对应的单位区域RW的开头地址(物理地址SD)。
在此,作为一例,段SG[1]所表示的物理地址SD是单位区域RW[2]的开头地址,段SG[n]所表示的物理地址SD是单位区域RW[1]的开头地址。
在这种情况下,如图2所示,作为一例,段SG[1]对应于单位区域RW[2],段SG[n]对应于单位区域RW[1]。如前面所述,各个段SG对应于逻辑地址LAD。
因此,通过利用段表T10,能够在DRAM200中,利用连续的逻辑地址向物理地址不连续的存取对象的各个存储区域C10进行存取。
确保容量CP是在与表示该确保容量CP的段SG对应的单位区域RW中,该段SG确保的容量。
另外,在初始状态下,包含于段表T10中的n个段SG分别表示的确保容量CP被设定为0(字节)。
在段方式中,段SG所表示的确保容量CP的最大容量可以根据DRAM200的容量而变化。
在此,作为一例,假设段SG[n]所表示的物理地址SD是单位区域RW[1]的开头地址(开始地址)。并且,作为一例,假设确保容量CP表示4个存储区域C10的合计容量。在这种情况下,在DRAM200的单位区域RW[1]中,分别与内存库BK0~BK3对应的4个内存库对应区域(存储区域C10)是确保区域。
即,确保容量CP是用于确定表示该确保容量CP的段SG确保的存储区域即确保区域的确定信息。即,n个段SG分别表示用于确定确保区域的确定信息(确保容量CP)。
即,n个段SG分别表示用于确定形成与该段对应的单位区域的p个存储区域中该段确保的存储区域即确保区域的确定信息。
再次参照图1,存储器管理装置100具有地址变换电路110、控制部120。
地址变换电路110进行用于将逻辑地址变换为物理地址的处理,详细情况将在后面进行说明。
控制部120包括段设定部121、功耗控制部122、存储器容量监视部123、容量设定部124。
段设定部121具有用于管理DRAM200的前述的段表T10。
存储器容量监视部123监视由段确保的区域的容量,详细情况将在后面进行说明。
容量设定部124进行用于设定段SG的确保容量CP的处理,详细情况将在后面进行说明。
功耗控制部122随时监视段表T10,在具有未使用内存库时进行用于抑制DRAM200的功耗的处理,详细情况将在后面进行说明。
由地址变换电路110进行的处理是由存储器管理装置(MMU)进行的公知的处理,因而不重复详细说明。下面进行简单说明。
地址变换电路110接收从外部的CPU(Central Processing Unit:中央处理单元)等发送的存储器存取请求RQ。存储器存取请求RQ是用于向DRAM200中的特定的单位区域RW进行存取的请求。在存储器存取请求RQ中示出了与存取对象的单位区域RW对应的逻辑地址LAD。
另外,在存储器存取请求RQ中示出了数据存放指示及数据读出指示中的任意一种指示。数据存放指示是用于存放数据的指示。数据读出指示是用于读出数据的指示。另外,在存储器存取请求RQ表示数据存放指示的情况下,在该存储器存取请求RQ中也附加有存放对象的数据。
地址变换电路110每当接收到存储器存取请求RQ时就进行地址变换处理。
在地址变换处理中,地址变换电路110参照段表T10,选择与存储器存取请求RQ所表示的逻辑地址LAD对应的段SG。
并且,地址变换电路110取得所选择的段SG表示的物理地址SD,作为存取对象的单位区域RW的物理地址。即,地址变换电路110将存储器存取请求RQ所表示的逻辑地址LAD变换为物理地址。
当在段表T10中由地址变换电路110选择的段SG的有效判定信息FG表示“无效”的情况下,段设定部121变更有效判定信息FG,使得该有效判定信息FG表示“有效”。
另外,段设定部121设定有效判定信息FG的变更、以及由地址变换电路110选择的段SG的确保容量CP的值,详细情况将在后面进行说明。
由此,所选择的段SG被更新,并且段表T10也被更新。
即,在每当进行需要段更新的处理、即用于向单位区域RW进行存取的处理时,段设定部121将需要更新的该段所表示的确定信息(确保容量CP)进行更新。其中,进行需要段更新的处理、即用于向单位区域进行存取的处理,是使用需要段更新的存储器存取请求RQ进行的上述地址变换处理。
即,进行需要段更新的处理、即用于向单位区域进行存取的处理,是用于随着存储器(DRAM200)的状态的变化而向存储器(DRAM200)进行存取的处理。
段设定部121将需要更新的该段所表示的确定信息(确保容量CP)进行更新的处理,是动态确定(设定)p个内存库中作为存取对象的内存库的处理。
并且,地址变换电路110将存储器存取请求RQ所表示的逻辑地址LAD置换为所取得的物理地址,由此生成存储器存取请求RQA,将该存储器存取请求RQA发送给DRAM控制电路210。即,存储器存取请求RQA与存储器存取请求RQ相比,不同之处在于,其表示所取得的物理地址代替了逻辑地址LAD。
DRAM控制电路210按照存储器存取请求RQA向DRAM200进行存取。
具体地讲,在存储器存取请求RQA表示数据存放指示的情况下,DRAM控制电路210使用内存库交错来进行用于将附加在存储器存取请求RQA中的数据存放在DRAM200中的数据存放处理。在该数据存放处理中,数据被存放的区域是与存储器存取请求RQA表示的物理地址对应的单位区域RW。
另一方面,在存储器存取请求RQA表示数据读出指示的情况下,DRAM控制电路210使用内存库交错来进行用于从DRAM200读出数据的数据读出处理。在该数据读出处理中,被读出数据的区域是与存储器存取请求RQA表示的物理地址对应的单位区域RW。
在数据读出处理中,DRAM控制电路210将所读出的数据,通过地址变换电路110发送给外部的CPU等。
另外,DRAM控制电路210在接收到后述的存取区域限制指示的情况下,仅向DRAM200中按照存取区域限制指示指定的区域进行存取,详细情况将在后面进行说明。
另外,在过去的段方式中,在向存储器进行存取的期间中,由段确保的区域的容量是固定的。
另一方面,在本实施方式中,DRAM200的容量是固定的,在向DRAM200进行存取的期间中,动态地改变段SG表示的确保容量CP。即,在各个单位区域RW中,动态地改变被允许存取的存储区域C10的数量。即,在向DRAM200进行的存取中,行地址是固定的,使列地址(内存库)变化。
即,在本实施方式中,通过根据内存库交错来改变作为存取的对象的内存库对应区域的数量,由此产生不允许内存库整体的存取的该内存库。
在本实施方式中,按照内存库对应区域的容量单位分阶段地切换确保容量CP。在根据内存库交错向存储器进行存取的情况下,为了不降低存取效率地进行存储器存取,最少需要4个内存库。
即,在8内存库结构的存储器中,对确保容量CP设定的容量是5种容量中的任意一种容量。该5种容量分别是4、5、6、7、8个内存库对应区域的容量。
在本实施方式中,为了简化说明,将对确保容量CP设定的容量设为4个内存库对应区域的容量和8个内存库对应区域的容量(单位区域RW的容量)这两种进行说明。下面,将单位区域RW的容量也称为单位区域最大容量。
存储器容量监视部123在每当经过规定时间(例如1微秒)时,进行用于监视DRAM200中的全部确保区域的合计容量的容量监视处理。即,存储器容量监视部123随时监视DRAM200中的全部确保区域的合计容量。
在容量监视处理中,存储器容量监视部123确定包含于段表T10中的n个段SG中、有效判定信息FG表示“有效”的所有段SG。下面,将有效判定信息FG表示“有效”的段SG也称为有效段。
并且,存储器容量监视部123将所有有效段分别表示的确保容量CP相加,由此计算出DRAM200中的全部确保区域的合计容量。下面,将DRAM200中的全部确保区域的合计容量也称为确保区域合计容量。
存储器容量监视部123每当计算出确保区域合计容量时,将确保区域合计容量通知容量设定部124。并且,该容量监视处理结束。
另外,在容量监视处理中,也可以计算确保区域合计容量相对于DRAM200的最大存储容量的比例作为容量确保率。
在此,作为一例,假设最大存储容量为1000兆字节。另外,作为一例,假设确保区域合计容量为500兆字节。在这种情况下,容量确保率为0.5(50%)。
在此,假设DRAM200的容量确保率为50%。在这种情况下,例如n个段SG分别表示的确保容量CP达到与表示该确保容量CP的段SG对应的单位区域RW的容量的50%。
在此,作为一例,假设DRAM200包括8个内存库。在这种情况下,能够使用DRAM200的全部存储区域中的4个内存库,使DRAM200交错地进行动作。在这种情况下,n个段SG全部有效。
即,在物理存储空间中(实际上),只有DRAM200的全部存储区域的一半存储区域是确保区域,该全部存储区域的剩余一半存储区域尽管是能够进行数据存放的状态,但是未被利用。
下面,将在单位区域RW中利用k(自然数)个内存库对应区域的基于交错的动作称为k内存库交错动作。例如,将在单位区域RW中利用4个内存库对应区域的基于交错的动作称为4内存库交错动作。
但是,由于n个段SG是有效的,因而在逻辑存储空间中视为利用DRAM200的全部存储区域。因此,导致不能再在DRAM200中进行数据的存放。
为了防止这种情况,在本实施方式中进行根据DRAM200中的确保区域合计容量,将确保容量CP设定为第1容量及第2容量中的任意一种容量的处理(下面称为容量设定处理)。
在此,作为一例,假设第1容量是4个内存库对应区域的容量。作为一例,假设第2容量是单位区域RW的容量(单位区域最大容量)。即,假设第2容量是8个内存库对应区域的容量。即,作为确定信息的确保容量CP是根据与内存库对应的一个存储区域的容量单位而设定的。
另外,第2容量不限于8个内存库对应区域的容量,只要是比4个内存库对应区域的容量大的容量即可。例如,第2容量也可以是7个内存库对应区域的容量。
在本实施方式中,通过容量设定处理,能够防止尽管存在能够进行数据存放的存储区域C10,但是却不能设定段SG的确保容量CP的状态。
具体地讲,存储器容量监视部123在每当将确保区域合计容量通知容量设定部124时进行容量设定处理。
图4是容量设定处理的流程图。
参照图4,在步骤S110,容量设定部124判定最新的确保区域合计容量是否为规定的第1阈值TH1以下。第1阈值TH1是小于DRAM200的最大存储容量的一半的值。即,第1阈值TH1是小于DRAM200的u个存储区域C10的合计容量的一半的值。
作为一例,假设第1阈值TH1是DRAM200的最大存储容量的3/8。另外,第1阈值TH1不限于最大存储容量的3/8,例如也可以是最大存储容量的2/8~最大存储容量的3/8的范围内的值。
即,容量设定部124判定是否满足与存储器的确保状态相关的规定条件。在这种情况下,与存储器的确保状态相关的规定条件,是指最新的确保区域合计容量为规定的第1阈值TH1以下的条件。即,与存储器的状态相关的规定条件,是指利用各个段SG所表示的最新的确定信息(确保容量CP)所确定的全部确保区域的合计容量为规定的第1阈值TH1以下的条件。
在满足上述规定条件的情况下、即确保区域合计容量为规定的第1阈值TH1以下的情况下(步骤S110:是),容量设定部124进行步骤S121的处理。
在步骤S121,容量设定部124向段设定部121发送第1容量设定指示,以便将段SG的确保容量CP设定为第1容量。
段设定部121在接收到第1容量设定指示的情况下,将在前述的地址变换处理中由地址变换电路110选择的段SG的确保容量CP设定为第1容量,直到接收到后述的第2容量设定指示。
功耗控制部122始终监视包含于段表T10中的各个段SG的状态。
在段SG的确保容量CP被设定为第1容量的情况下,功耗控制部122向DRAM控制电路210发送用于限制存取对象的区域的存取区域限制指示。
DRAM控制电路210在接收到存取区域限制指示的情况下,仅向利用该存取区域限制指示所指定的区域进行存取。
在此,作为一例,假设第1容量是4个内存库对应区域的容量。在这种情况下,功耗控制部122发送的存取区域限制指示,是用于仅向包含于单位区域RW中的8个内存库对应区域中的与内存库BK0~BK3对应的内存库对应区域进行存取的指示。另外,作为一例,假设DRAM控制电路210接收到用于向单位区域RW[2]进行存取的存储器存取请求RQA。
在这种情况下,DRAM控制电路210按照存取区域限制指示和存储器存取请求RQA,仅向包含于单位区域RW[2]中的8个内存库对应区域中与内存库BK0~BK3对应的内存库对应区域进行存取。
在这种情况下,DRAM控制电路210在按照前述的存储器存取请求RQA向与被设定为该第1容量的段SG对应的单位区域RW进行存取时,仅向该单位区域RW中与第1容量对应的部分进行存取。
另一方面,在确保区域合计容量大于第1阈值TH1的情况下(步骤S110:否),容量设定部124进行步骤S122的处理。
在步骤S122,容量设定部124向段设定部121发送第2容量设定指示,以便将段SG的确保容量CP设定为第2容量。
段设定部121在接收到第2容量设定指示的情况下,将在前述的地址变换处理中由地址变换电路110选择的段SG的确保容量CP设定为第2容量,直到接收到第1容量设定指示。
即,控制部120(容量设定部124和段设定部121)进行的步骤S121、S122的处理,是用于动态地确定(设定)前述p个内存库中作为存取对象的内存库的处理。即,控制部120(容量设定部124和段设定部121)进行的容量设定处理,是用于动态地确定(设定)前述p个内存库中作为存取对象的内存库的处理。换言之,控制部120进行的容量设定处理是用于动态地确定存储器(DRAM200)中作为存取对象的该存储器的一部分存储器的处理。
功耗控制部122始终相对于其它处理而独立地进行利用段表T10的功耗控制处理。即,功耗控制部122随时监视段表T10。
图5是功耗控制处理的流程图。
在步骤S210,功耗控制部122参照最新的段表T10,判定是否存在未使用内存库。所谓未使用内存库是指构成该未使用内存库的所有存储区域C10是不确保区域的内存库。即,未使用内存库是指构成该未使用内存库的所有存储区域C10不可进行存取的内存库。换言之,未使用内存库是指没有被确定(设定)为存取对象的内存库、即不是存取对象的内存库。
例如,在图2所示的构成内存库BK7的n个存储区域C10是不确保区域的情况下,内存库BK7是未使用内存库。
具体地讲,功耗控制部122判定段表T10所表示的n个段SG分别表示的n个确保容量CP是否均不表示第2容量。该n个确保容量CP均不表示第2容量的情况,例如是指该n个确保容量CP分别被设定为第1容量或者0的情况。
在该n个确保容量CP均不表示第2容量的情况下,功耗控制部122判定为存在未使用内存库。另一方面,在该n个确保容量CP中至少一个确保容量CP表示第2容量的情况下,功耗控制部122判定为不存在未使用内存库。
在步骤S210,如果判定为是,则处理进入到步骤S220。另一方面,在步骤S210,如果判定为否,则再次进行步骤S210的处理。
即,每当进行用于随着存储器(DRAM200)的确保状态的变化而向存储器进行存取的处理时,在满足与存储器的确保状态相关的规定条件的情况下、而且是p个内存库中存在不是存取对象(不可进行存取)的未使用内存库的情况下,由控制部120(功耗控制部122)进行步骤S220的功耗降低处理。
上述的与存储器的确保状态相关的规定条件,是指最新的确保区域合计容量为规定的第1阈值TH1以下的条件。即,与存储器的确保状态相关的规定条件,是指利用各个段SG所表示的最新的确定信息(确保容量CP)确定出的全部确保区域的合计容量为规定的第1阈值TH1以下的条件。
另外,如前面所述,用于随着存储器(DRAM200)的确保状态的变化而向存储器进行存取的处理,是需要段更新的处理、即用于向单位区域进行存取的处理。
在步骤S220,由功耗控制部122进行功耗降低处理。在功耗降低处理中,功耗控制部122将用于对未使用内存库进行自刷新的自刷新指示(命令),通过DRAM控制电路210发送给DRAM200。并且,该功耗降低处理结束。
DRAM200按照所接收到的自刷新指示,针对利用该自刷新指示所指定的该未使用内存库进行自刷新。即,DRAM200进行部分自刷新。即,功耗降低处理是由功耗控制部122(控制部120)控制存储器(DRAM200)的处理,以便对未使用内存库进行自刷新。
另外,针对内存库BK0~BK7中被进行了自刷新的未使用内存库以外的内存库,进行前述的自动刷新。进行自刷新的时间间隔与进行自动刷新的时间间隔大致相同。如前面所述,进行自刷新所需要的功率小于进行自动刷新所需要的功率。
因此,能够进行用于保持被存储在DRAM200中的数据的处理,并且降低未使用内存库的功耗。即,功耗降低处理是由功耗控制部122(控制部120)控制存储器(DRAM200)的处理,以便使该未使用内存库的功耗低于除了该未使用内存库以外的内存库。
被进行了自刷新的未使用内存库不能进行存取,因而在逻辑存储空间中视为该未使用内存库在使用中。
另外,为了防止DRAM200的每单位时间(例如1小时)的功耗的增加,功耗控制部122在发送自刷新指示后,不向DRAM控制电路210再次发送自刷新指示,直到经过规定时间(例如1秒)。并且,该功耗降低处理结束,再次进行步骤S210的处理。
下面,说明存储器管理装置100的动作的一例。
图6是用于说明存储器管理装置100的动作的一例的图。
在此,作为一例,假设与存储器管理装置100对应的DRAM200由8个内存库构成。另外,假设在存储器管理装置100中进行前述的容量监视处理、图4所示的容量设定处理、及图5所示的功耗控制处理。
参照图6,纵轴表示由存储器容量监视部123随时计算出的前述的确保区域合计容量。在图6中,“MAX”表示DRAM200的最大存储容量。“MAX/2”表示DRAM200的全部存储区域的一半容量。“TH1”表示前述的第1阈值TH1。即,作为一例,第1阈值TH1是小于DRAM200的u个存储区域C10的合计容量的一半的值。
另外,每当至少一个段SG有效时,确保区域合计容量即变化。
在期间T1,确保区域合计容量是最大存储容量的一半以下。因此,在图4中的步骤S110判定为是,进行前述的步骤S121的处理。由此,功耗控制部122向DRAM控制电路210发送用于限制存取对象的区域的存取区域限制指示。
DRAM控制电路210在接收到存取区域限制指示的情况下,仅向利用该存取区域限制指示所指定的区域进行存取。在此,作为一例,存取区域限制指示是用于使仅向单位区域RW中与内存库BK0~BK3对应的内存库对应区域进行存取的指示。
在这种情况下,通过图5所示的功耗控制处理,判定为存在未使用内存库(BK4~BK7)(S210:是),并进行步骤S220的功耗降低处理。
通过该功耗降低处理,DRAM200对内存库BK4~BK7进行自刷新。由此,能够进行用于保持被存储在DRAM200中的数据的处理,并且降低未使用内存库的功耗。
图7是表示期间T1中的DRAM200的状态的一例的图。
在图7中,关于确保区域已在前面进行说明,因而不重复详细的说明。
如前面所述,被进行了自刷新的未使用内存库不能进行存取,因而在逻辑存储空间中视为该未使用内存库在使用中。
在此,例如假设DRAM200进行8内存库交错动作,段SG的确保容量CP被设定为8个内存库对应区域的容量。在这种情况下,假设DRAM200进行4内存库交错动作需要使用两个段。因此,相对于实际的确保容量,在逻辑存储空间中看得到的容量在4内存库交错时是8内存库交错时的2倍。
下面,说明容量设定部124切换由段确保的确保容量CP的定时。
如前面所述,在确保区域合计容量是第1阈值TH1以下、而且是存在未使用内存库的情况下,进行自刷新。
另一方面,如图6所示,在期间T1刚刚过去后,在确保区域合计容量大于第1阈值TH1的情况下,容量设定部124将由下一个变为有效的段确保的确保容量CP设定为前述的第2容量(单位区域最大容量)。在此,所谓下一个变为有效的段,是指无效的段SG、而且是由容量设定部124进行处理后的最新的段SG的下一个段SG。
同时,功耗控制部122将用于停止执行自刷新的自刷新停止指示(命令),通过DRAM控制电路210发送给DRAM200。
DRAM200按照自刷新停止指示停止执行自刷新。即,部分自刷新的执行被停止。由此,DRAM200的内存库BK0~BK7能够使用。
在期间T2中,通过前述的段设定部121的处理,由重新变为有效的段SG确保的确保容量CP被设定为第2容量(单位区域最大容量)。由此,向DRAM200的存取成为基于8内存库交错的存取。
图8是表示期间T2中的DRAM200的状态的一例的图。
在图8中,关于确保区域及不确保区域已在前面进行说明,因而不重复详细的说明。
在图8中,在单位区域RW[1]中,4个内存库对应区域均是确保区域。即,在单位区域RW[1]中进行4内存库交错动作。另外,在单位区域RW[3]中,8个内存库对应区域均是确保区域。即,在单位区域RW[3]中进行8内存库交错动作。
即,在期间T2中,在DRAM200中混合存在进行4内存库交错动作的单位区域RW[1]、和进行8内存库交错动作的单位区域RW[3]。
在这种情况下,在进行4内存库交错动作的单位区域RW[1]中,分别与内存库BK4~BK7对应的4个不确保区域保持不能使用的状态不变。
在图6所示的期间T2中,在用于使针对单位区域RW[1]进行4内存库交错动作的处理(对应于存储器存取请求的处理)结束的情况下,单位区域RW[1]被释放。具体地讲,段设定部121将与单位区域RW[1]对应的段SG设定为无效。
并且,在期间T2中,当再一次出现用于使用单位区域RW[1]的存储器存取请求的情况下,段设定部121将与单位区域RW[1]对应的段SG设定为有效,并且将该段SG的确保容量CP设定为第2容量(单位区域最大容量)。由此,对于该单位区域RW[1]能够进行8内存库交错动作。
在图6中,期间T3是确保区域合计容量为第1阈值TH1以下的期间。即,当在确保区域合计容量大于第1阈值TH1的期间T2中确保区域合计容量达到第1阈值TH1以下时,进入到期间T3。即,从期间T2向期间T3的转移,与从期间T1向期间T2的转移相同地使用第1阈值TH1。
在确保区域合计容量达到第1阈值TH1以下时,容量设定部124通过前述的图4所示的容量设定处理,将由下一个变为有效的段确保的确保容量CP设定为第1容量(单位区域最大容量的一半)。即,对于与确保容量CP设定为第1容量的段对应的单位区域RW能够进行4内存库交错动作。
在这种情况下,功耗控制部122向DRAM控制电路210发送用于使在与内存库BK0~BK3分别对应的4个内存库对应区域中进行交错动作的指示。具体地讲,如前面所述,功耗控制部122向DRAM控制电路210发送用于限制存取对象的区域的存取区域限制指示。
并且,在作为进行8内存库交错动作的对象的单位区域RW消失的时刻,功耗控制部122通过DRAM控制电路210向DRAM200发送自刷新指示。即,进行图5所示的步骤S220的处理。
如以上说明的那样,根据本实施方式,在进行基于内存库交错的存取的期间,使用段SG随时计算确保区域合计容量,根据该确保区域合计容量来改变由段确保的确保容量CP。
即,在各个单位区域RW中动态变更作为交错的对象的内存库对应区域的数量,在存在未使用内存库的情况下,对该未使用内存库进行自刷新。由此,在进行基于内存库交错的存取时能够有效抑制DRAM200的功耗,而且不会降低数据的传输效率。
即,在确保区域合计容量为第1阈值TH1以下的情况下,减小段SG确保的容量。即,减少作为基于内存库交错的存取的对象的内存库对应区域的数量。由此,产生未使用内存库。并且,对该未使用内存库进行自刷新。因此,能够有效抑制DRAM200的功耗。
即,根据本实施方式,每当在对应基于内存库交错的存取的存储器中进行伴随有存储器的确保状态变化的处理时,在满足与存储器的确保状态相关的规定条件的情况下(S110:是)、而且是存在未使用内存库的情况下,进行控制存储器的功耗降低处理,以便使未使用内存库的功耗低于除了该未使用内存库以外的内存库。
由此,在存储器的确保状态变化时,在满足与存储器的确保状态相关的规定条件的情况下、而且是存在未使用内存库的情况下,能够抑制未使用内存库的功耗。
即,能够抑制随着对应基于内存库交错的存取的存储器的确保状态的变化而产生的未使用内存库的功耗。因此,能够根据存储器的确保状态的变化而有效抑制存储器的功耗。
另外,在本实施方式中使用了确保区域合计容量,但不限于此。也可以使用确保区域合计容量相对于最大存储容量的比例即前述的容量确保率,动态地变更作为交错的对象的内存库对应区域的数量。
另外,在本实施方式中采用了部分自刷新来降低DRAM200的功耗,但不限于此。例如,也可以通过停止对前述不确保区域的电力供给,降低DRAM200的功耗。
<第2实施方式>
在本实施方式中,说明用于使容量设定部124根据两个要素来执行设定确保容量CP的处理的结构。该两个要素是指前述的确保区域合计容量和有效段数。所谓有效段数是指有效判定信息FG表示“有效”的段SG的数量。
图9是表示第2实施方式的数据存储装置1000A的结构的框图。
参照图9,与图1所示的数据存储装置1000相比,数据存储装置1000A的不同之处是包括存储器管理装置100A来取代存储器管理装置100。除此以外的数据存储装置1000A的结构与数据存储装置1000相同,因而不重复详细的说明。
与图1所示的存储器管理装置100相比,存储器管理装置100A的不同之处是具有控制部120A来取代控制部120。除此以外的存储器管理装置100A的结构与存储器管理装置100相同,因而不重复详细的说明。
与图1所示的控制部120相比,控制部120A的不同之处是包括段设定部121A来取代段设定部121,以及包括容量设定部124A来取代容量设定部124。除此以外的控制部120A的结构与控制部120相同,因而不重复详细的说明。
段设定部121A具有与段设定部121相同的结构。即,段设定部121A具有段表T10。
并且,段设定部121A进行与段设定部121相同的处理。即,每当进行地址变换处理时,段设定部121A与段设定部121相同地根据需要进行有效判定信息FG的变更、以及用于更新段SG的处理。
即,每当进行需要段更新的处理、即用于向单位区域进行存取的处理时,段设定部121A将需要更新的该段所表示的确定信息以及需要更新的该段所表示的有效判定信息中的至少一种信息进行更新。其中,需要段更新的处理、即向单位区域进行存取的处理,是使用需要段更新的存储器存取请求RQ进行的上述的地址变换处理。
即,需要段更新的处理、即向单位区域进行存取的处理,是用于随着存储器(DRAM200)的状态的变化而向存储器(DRAM200)进行存取的处理。
段设定部121A将需要更新的该段所表示的确定信息以及需要更新的该段所表示的有效判定信息中的至少一种信息进行更新的处理,是动态确定(设定)p个内存库中作为存取对象的内存库的处理。
每当包含于段表T10中的有效段数有变化时,段设定部121A还将该有效段数通知容量设定部124A。由此,容量设定部124A始终掌握有效段数。
另外,不限于有效段数,也可以将有效段率通知容量设定部124A。有效段率是指有效段数相对于段SG的总数的比例。
存储器容量监视部123进行与第1实施方式相同的容量监视处理。即,存储器容量监视部123计算确保区域合计容量,每当计算出确保区域合计容量时,将确保区域合计容量通知容量设定部124A。
由此,随时从存储器容量监视部123将确保区域合计容量通知容量设定部124A。因此,容量设定部124A始终掌握确保区域合计容量。
在本实施方式中,每当存储器容量监视部123将确保区域合计容量通知容量设定部124A时,进行容量设定处理A。
图10是容量设定处理A的流程图。
参照图10,在步骤S110A,容量设定部124A判定最新的确保区域合计容量是否为规定的第1阈值TH1以下,而且判定最新的有效段数是否为规定的第2阈值TH2以下。第1阈值TH1如前面所述是小于DRAM200的u个存储区域C10的合计容量(最大存储容量)的一半的值。第2阈值TH2是小于n/2的值。
即,容量设定部124A判定是否满足与存储器的确保状态相关的规定条件。在这种情况下,与该存储器的确保状态相关的规定条件是指这样的条件:利用各个段SG所表示的最新的确定信息(确保容量CP)确定的所有确保区域的合计容量为规定的第1阈值TH1以下,而且有效的段的数量为规定的第2阈值TH2以下。
另外,在第1阈值TH1是小于DRAM200的最大存储容量的一半的值的情况下,第2阈值TH2也可以是小于n/2的值以外的值。例如,第2阈值TH2也可以是诸如满足关系式n/2≦TH2≦3n/4的值。
另外,在第2阈值TH2是小于n/2的值的情况下,第1阈值TH1也可以是小于DRAM200的最大存储容量的一半的值以外的值。例如,第1阈值TH1也可以是最大存储容量的一半的值以上、而且小于该最大存储容量的范围内的值。
在步骤S110A,如果判定为是,则处理进入到步骤S121A。另一方面,在步骤S110A,如果判定为否,则处理进入到步骤S122A。
在步骤S121A,进行与步骤S121相同的处理,因而不重复详细的说明。即,容量设定部124A向段设定部121A发送第1容量设定指示,以便将段SG的确保容量CP设定为第1容量。
段设定部121A在接收到第1容量设定指示的情况下,将在前述的地址变换处理中由地址变换电路110选择的段SG的确保容量CP设定为第1容量,直到接收到第2容量设定指示。
在步骤S122A,进行与步骤S122相同的处理,因而不重复详细的说明。即,容量设定部124A向段设定部121A发送第2容量设定指示,以便将段SG的确保容量CP设定为第2容量。
段设定部121A在接收到第2容量设定指示的情况下,将在前述的地址变换处理中由地址变换电路110选择的段SG的确保容量CP设定为第2容量,直到接收到第1容量设定指示。
即,控制部120A(容量设定部124A和段设定部121A)进行的步骤S121A、S122A的处理,是用于动态地确定(设定)前述p个内存库中作为存取对象的内存库的处理。即,控制部120A(容量设定部124A和段设定部121A)进行的容量设定处理A,是用于动态地确定(设定)前述p个内存库中作为存取对象的内存库的处理。换言之,控制部120A进行的容量设定处理A是用于动态地确定存储器(DRAM200)中作为存取对象的该存储器的一部分存储器的处理。
另外,功耗控制部122进行前述的图5所示的功耗控制处理。
下面,说明存储器管理装置100A的动作的一例。
图11是用于说明存储器管理装置100A的动作的一例的图。在此,作为一例,假设与存储器管理装置100A对应的DRAM200由8个内存库构成。另外,假设在存储器管理装置100A中进行前述的容量监视处理、图10所示的容量设定处理、以及图5所示的功耗控制处理。
在图11中,关于与图6所示的用语相同的用语已在前面进行说明,因而不重复详细的说明。在图11中,左侧的纵轴表示确保区域合计容量,右侧的纵轴表示有效段数。“TH2”表示第2阈值TH2。
在图11中,特性线L1是表示确保区域合计容量随着时间经过的变化的线。特性线L2是表示有效段数随着时间经过的变化的线。
假设在存储器管理装置100A开始动作时,DRAM200进行4内存库交错动作。
在期间T11,确保区域合计容量为第1阈值TH1以下,有效段数为第2阈值TH2以下。因此,在期间T11,容量设定部124A进行用于将由段确保的确保容量CP设定为第2容量的处理。即,在期间T11,段设定部121A将设定对象的段SG的确保容量CP设定为第1容量(单位区域最大容量的一半)。
另外,在期间T11,与图6所示的期间T1相同地,通过图5所示的功耗控制处理来进行功耗降低处理。即,进行部分自刷新。
在期间T12的前期(开头的期间),确保区域合计容量为第1阈值TH1以下,但是有效段数大于第2阈值TH2。
因此,在图10中的步骤S110A判定为否,容量设定部124A进行步骤S122A的处理。由此,容量设定部124A将由下一个变为有效的段确保的确保容量CP设定为前述的第2容量(单位区域最大容量)。在这种情况下,对于与被设定为第2容量的段SG对应的单位区域RW进行8内存库交错动作。
在期间T12的后期(最后的期间),有效段数为第2阈值TH2以下,但是确保区域合计容量大于第1阈值TH1。因此,在图10中的步骤S110A判定为否,容量设定部124A进行步骤S122A的处理。由此,在期间T12的后期(最后的期间),段设定部121A将设定对象的段SG的确保容量CP设定为第2容量(单位区域最大容量)。
另外,在期间T12,通过进行与图6所示的期间T2相同的处理,停止执行自刷新。
在期间T13,确保区域合计容量为第1阈值TH1以下,有效段数为第2阈值TH2以下。因此,在期间T13,容量设定部124A进行用于将由段确保的确保容量CP设定为第2容量的处理。即,在期间T13,段设定部121A将设定对象的段SG的确保容量CP设定为第1容量(单位区域最大容量的一半)。
另外,在期间T13,与图6所示的期间T3相同地,通过图5所示的功耗控制处理来进行功耗降低处理。即,进行部分自刷新。
另外,除容量设定部124A以外的段设定部121A、功耗控制部122、存储器容量监视部123等,进行与在第1实施方式中说明的处理相同的处理。
如以上说明的那样,根据本实施方式,利用确保区域合计容量和有效段数这两个要素,判定是否对DRAM200中的未使用内存库进行自刷新。由此,与第1实施方式相比,能够更精细地控制DRAM200的功耗的状态。即,在进行基于内存库交错的存取时能够有效抑制DRAM200的功耗,而且不会降低数据的传输效率。
即,在本实施方式中能够得到与第1实施方式相同的效果。即,能够抑制随着对应基于内存库交错的存取的存储器的确保状态的变化而产生的未使用内存库的功耗。因此,能够根据存储器的确保状态的变化而有效抑制存储器的功耗。
另外,能够防止尽管存在有可能在混合进行4内存库交错动作和8内存库交错动作的期间中产生的、能够进行数据存放的存储区域C10,但是却不能设定段SG的确保容量CP的状态。
另外,在本实施方式中使用了有效段数,但不限于此。也可以使用前述的有效段率取代有效段数来进行处理。
另外,作为用于切换对确保容量CP设定的值的基准的要素,不限于确保区域合计容量、容量确保率、有效段数、有效段率等,也可以是其它的要素。
<第3实施方式>
在本实施方式中说明具有数据存储装置1000或者数据存储装置1000A的图像处理装置。作为一例,在本实施方式中说明具有数据存储装置1000的图像处理装置。
图12是表示第3实施方式的图像处理装置2000的结构的框图。作为一例,图像处理装置2000是摄像装置。摄像装置例如是网络摄像机、车载摄像机、数字视频摄像机、数字静止摄像机。
参照图12,图像处理装置2000包括数据存储装置1000、CPU301、记录介质接口310、编码部321、解码部322、图像尺寸变更部330、显示部340。
包含于数据存储装置1000中的各个部分已在第1实施方式中说明,因而不重复详细的说明。另外,作为一例,假设DRAM200包括8个内存库。
CPU301控制存储器管理装置100。并且,CPU301向地址变换电路110发送前述的存储器存取请求RQ。另外,CPU301能够与记录介质接口310进行通信。
记录介质接口310与未图示的记录介质连接。
编码部321对图像进行编码。解码部322对被编码的图像进行解码。图像尺寸变更部330将图像缩小或者放大。
显示部340是显示图像的显示装置。另外,显示部340也可以是向外部的显示设备发送图像数据的装置。即,显示部340也可以是控制外部的显示设备的装置。
在本实施方式中说明图像的再现处理。作为一例,假设该图像是依据于JPEG(Joint Photographic Experts Group:联合图像专家组)方式的图像。
在未图示的记录介质中存储有按照JPEG方式进行了编码的图像数据。假设该图像数据是通过摄像得到的图像的数据。
在再现处理中,CPU301通过记录介质接口310从记录介质读出图像数据。并且,CPU301利用存储器管理装置100进行将该图像数据存放在DRAM200中的处理。
解码部322利用存储器管理装置100从DRAM200读出图像数据,并对该图像数据进行解码,由此得到表示图像的YC数据。YC数据是由Y(亮度)数据和C(色差)数据构成的数据。
并且,解码部322利用存储器管理装置100进行在DRAM200中的、与存储有图像数据的区域不同的区域中存放YC数据的处理。
图像尺寸变更部330利用存储器管理装置100从DRAM200读出YC数据。并且,图像尺寸变更部330将该YC数据表示的图像放大或者缩小。下面,将表示经由图像尺寸变更部330被放大或者缩小后的图像的YC数据称为已变更YC数据。
并且,图像尺寸变更部330利用存储器管理装置100进行在DRAM200中的、与存储有图像数据及YC数据的区域不同的区域中存放已变更YC数据的处理。
CPU301从DRAM200读出显示对象的YC数据,并向显示部340发送该YC数据。
显示部340显示所接收到的YC数据所表示的图像。下面,将显示部340对显示对象的YC数据所表示的图像进行显示的处理称为图像显示处理。
通过以上的再现处理,能够再现所拍摄的图像。
图13是表示基于上述再现处理的确保区域合计容量的变化的图。
参照图13,在期间T21,在再现处理开始时,CPU301进行将从记录介质读出的图像数据存放在DRAM200中的处理、和解码部322从DRAM200读出图像数据的处理。下面,将CPU301把图像数据存放在DRAM200中的处理称为图像数据存放处理。
在再现处理开始时,处理对象数据仅是图像数据,确保区域合计容量是最大存储容量的1/8。因此,功耗控制部122向DRAM控制电路210发送用于使仅向与内存库BK0~BK3对应的内存库对应区域进行存取的存取区域限制指示。由此,DRAM200进行4内存库交错动作。
此时,内存库BK4~BK7是未使用内存库。因此,通过进行图5所示的功耗控制处理,DRAM200对内存库BK4~BK7进行自刷新。即,DRAM200进行部分自刷新。由此,能够降低未使用内存库的功耗。
在期间T22,在图像数据已经被存放在DRAM200中的状态下,还将通过解码部322进行解码得到的YC数据存放在DRAM200中。因此,与期间T21相比,期间T22的确保区域合计容量增加。但是,在期间T22,确保区域合计容量为第1阈值TH1以下。因此,在期间T22,与期间T21相同地,DRAM200进行4内存库交错动作。
在期间T23,将由图像尺寸变更部330变更图像的尺寸后的YC数据存放在DRAM200中。在期间T23,确保区域合计容量大于第1阈值TH1。在刚刚从期间T22进入期间T23后,容量设定部124将由下一个变为有效的段确保的确保容量CP设定为前述的第2容量(单位区域最大容量)。
同时,功耗控制部122将用于停止执行自刷新的自刷新停止指示(命令),通过DRAM控制电路210发送给DRAM200。
DRAM200按照自刷新停止指示来停止执行自刷新。即,部分自刷新的执行被停止。由此,DRAM200的内存库BK0~BK7能够使用。
期间T24是进行用于显示再现对象的YC数据的多个处理的期间。
下面,将前述的解码部322存放YC数据的处理称为YC数据存放处理。另外,下面将图像尺寸变更部330从DRAM200读出YC数据的处理称为YC数据读出处理。另外,下面将图像尺寸变更部330把已变更YC数据存放在DRAM200中的处理称为已变更YC数据存放处理。另外,下面将CPU301读出显示对象的YC数据的处理称为显示对象YC数据读出处理。
在期间T24,进行YC数据存放处理、YC数据读出处理、已变更YC数据存放处理、显示对象YC数据读出处理、前述的图像显示处理。
与期间T23相同地,期间T24的确保区域合计容量大于第1阈值TH1。因此,期间T24是DRAM200能够进行8内存库交错动作的期间。
在期间T25,前述的图像数据存放处理和前述的YC数据存放处理结束。另外,在期间T25,进行已变更YC数据存放处理和显示对象YC数据读出处理。在期间T25,确保区域合计容量大于第1阈值TH1。因此,与期间T24相同地,期间T25是DRAM200能够进行8内存库交错动作的期间。
在期间T26,已变更YC数据存放处理结束。在期间T26仅进行前述的显示对象YC数据读出处理和图像显示处理。在期间T26,确保区域合计容量为第1阈值TH1以下,因此DRAM200能够进行4内存库交错动作。
但是,显示对象YC数据读出处理是通过8内存库交错动作而实现的。因此,在这种状态下不能对内存库BK4~BK7进行部分自刷新。
因此,利用DMA(直接存储器存取),将构成显示对象的YC数据的Y数据和C数据中、在内存库BK4~BK7中已使用的数据,传输给空闲区域的内存库BK0~BK3。即,在DMA传输中继续读出8内存库的数据,在DMA传输完成后,进行变更处理对象的段并读出两个4内存库的数据的处理。
由此,对内存库BK4~BK7进行部分自刷新。此时,需要将由段确保的确保容量CP设定为第1容量(最大存储容量的1/2),将段使用的数量设为2倍。
以上说明的JPEG图像的再现处理是显示被解码后的图像数据的处理。另外,在上述的再现处理中,显示对象YC数据读出处理几乎占用了所有时间,因而能够有效抑制DRAM200的功耗。
上述的图像处理装置2000的存储器管理装置100将DRAM200用作外部存储器。在这种情况下,存储器管理装置100往往是将外部存储器的大部分用作工作存储器。
例如,在前述的图像处理装置2000(例如摄像机)中,确保1帧量的用于在处理之前存储图像数据的存储区域,只要处理一结束就将该存储区域释放,并反复进行该动作。因此,在上述图像处理装置2000中,存储器的确保区域合计容量在随时增减。因此,在图像处理装置2000进行的再现处理中本发明是有效的。
另外,图像处理装置2000也可以具有数据存储装置1000A来取代数据存储装置1000。在这种情况下,上述再现处理是利用存储器管理装置100A进行的。另外,利用存储器管理装置100A进行的再现处理与在图12、图13中说明的再现处理相同,因而不重复详细的说明。
即,图像处理装置2000利用存储器管理装置100或者存储器管理装置100A进行图像处理。
(功能框图)
图14是表示存储器管理装置400的特征性功能结构的框图。存储器管理装置400相当于存储器管理装置100或者存储器管理装置100A。即,图14是表示存储器管理装置100或者存储器管理装置100A具有的功能中、与本发明相关的主要功能的框图。另外,为了便于说明,在图14中也示出了存储器420。
存储器420是对应基于内存库交错的存取的存储器。存储器420包括p(2以上的整数)个内存库。存储器420相当于DRAM200。
存储器管理装置400管理存储器420的状态。
存储器管理装置400从功能上讲具有控制部410。
控制部410进行动态地确定存储器420的所述p个内存库中作为存取对象的内存库的处理。
另外,在满足与所述存储器420的确保状态相关的规定条件的情况下、而且是所述p个内存库中存在不是存取对象的未使用内存库的情况下,控制部410还进行控制所述存储器的功耗降低处理,以便使该未使用内存库的功耗低于除了该未使用内存库以外的内存库。控制部410相当于控制部120或者控制部120A。
另外,包含于存储器管理装置400中的控制部410也可以利用LSI(Large Scale Integration:大规模集成电路)等硬件构成。另外,控制部410也可以是由CPU等处理器执行的程序的模块。
以上根据实施方式说明了本发明的存储器管理装置或者数据存储装置,但是本发明不限于这些实施方式。只要不脱离本发明的宗旨,对本实施方式实施本领域技术人员想到的各种变形而得到方式、或者将不同实施方式中的构成要素进行组合而构建的方式,均包含在本发明的范围之内。
另外,构成上述存储器管理装置的多个构成要素的全部或者一部分也可以利用硬件构成。并且,构成上述存储器管理装置的多个构成要素的全部或者一部分也可以是由CPU(Central Processing Unit)等执行的程序的模块。
另外,构成上述的存储器管理装置100或者存储器管理装置100A的多个构成要素的全部或者一部分也可以由一个系统LSI(Large ScaleIntegration:大规模集成电路)构成。系统LSI可以是在一个芯片上集成多个构成要素制得的超多功能LSI,具体地讲,可以是包括微处理器、ROM(Read Only Memory:只读存储器)、RAM(Random Access Memory:随机存取存储器)等在内构成的计算机系统。
例如,存储器管理装置100或者存储器管理装置100A也可以由一个系统LSI(集成电路)构成。即,存储器管理装置100或者存储器管理装置100A也可以是集成电路。
另外,本发明也可以实现为将存储器管理装置100或者存储器管理装置100A具有的特征性的构成部分的动作作为步骤的存储器管理方法。并且,本发明也可以实现为使计算机执行这种存储器管理方法所包含的各个步骤的程序。并且,本发明也可以实现为存储这种程序的计算机可读的记录介质。并且,该程序也可以通过因特网等传输介质进行发布。
此次公开的实施方式仅是所有方面中的示例,不能认为是限制性的方式。本发明的范围不在于上述的说明,而在于利用权利要求书公开的内容,并且包含与权利要求书同等意义及范围内的所有变更。
产业上的可利用性
本发明是进行基于内存库交错的存取的装置,能够应用于被要求低功耗的装置。
标号说明
100、100A、400存储器管理装置;110地址变换电路;120、120A、410控制部;121、121A段设定部;122功耗控制部;123存储器容量监视部;124、124A容量设定部;200DRAM;210DRAM控制电路;301CPU;420存储器;1000、1000A数据存储装置;2000图像处理装置。