CN101292229B - 用于控制存储器的方法和设备 - Google Patents

用于控制存储器的方法和设备 Download PDF

Info

Publication number
CN101292229B
CN101292229B CN2005800518645A CN200580051864A CN101292229B CN 101292229 B CN101292229 B CN 101292229B CN 2005800518645 A CN2005800518645 A CN 2005800518645A CN 200580051864 A CN200580051864 A CN 200580051864A CN 101292229 B CN101292229 B CN 101292229B
Authority
CN
China
Prior art keywords
address
zone
route
actual
logical
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.)
Expired - Fee Related
Application number
CN2005800518645A
Other languages
English (en)
Other versions
CN101292229A (zh
Inventor
中田浩作
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101292229A publication Critical patent/CN101292229A/zh
Application granted granted Critical
Publication of CN101292229B publication Critical patent/CN101292229B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Abstract

使用被划分为N个区域的逻辑地址空间的CPU的逻辑地址被转换为由路线数量(W)确定的实际地址,并且多个存储元件在交错控制下被通过包括元件选择地址和存储元件地址的实际地址访问。包括存储元件的实际地址空间被划分为(N×Wmax)个区域,其中,N是在CPU逻辑地址空间中的区域的数量,Wmax是交错控制的路线的最大数量。对于所有路线数量通用的实际地址可用性表格被建立并被保存,该实际地址可用性表格中记录有可用性信息。当检测到存储元件的异常时,禁止使用信息被记录在实际地址可用性表中的包括异常位置的区域中。每次启动或者重新配置系统时,与通过交错控制的路线数量而确定的存储器配置相对应,通过使用实际地址可用性表格将逻辑地址空间划分为N个区域,以产生逻辑地址可用性表,其中,逻辑地址可用性表记录了可使用信息和禁止使用信息,从而确定逻辑地址空间中被CPU使用的区域。

Description

用于控制存储器的方法和设备
本申请是2005年12月28日提交的PCT/JP2005/024053的继续。 
技术领域
本发明涉及一种存储器控制方法、程序和装置,以及用于访问由多个存储器模块形成的存储器的设备,具体地,本发明涉及根据存储器模块的异常部分而在CPU的地址空间中设置禁止使用区域的存储器控制方法、程序和装置。 
背景技术
迄今为止,在诸如用于多CPU配置的计算机系统的主存储器的存储设备中,在电路板上安装了作为可独立访问的存储元件的多个存储器模块(也被称为存储体),由此构成存储设备,并且用于这样的存储设备的存储器模块不能避免由存储器模块的生产过程引起的质量波动。由于由此存储器模块的生产引起的质量波动,经常出现发生异常的情况,在这种情况中,当存储器模块被安装并用于存储设备中时,不能在一部分地址中执行正常的读取和写入。当检测到存储器异常时,重要的是指定引起存储器异常的存储器模块,并且从系统消除该异常部分,从而稳定地操作系统。对于一旦被识别为异常的存储器模块,即使通过改变交错控制的路线的数量来改变存储器配置,为了改善操作系统中的健壮性、在启动操作后发生故障时的故障维修工作时间和维修成本的节省,也需要不将其结合在系统中,直到交换了所述异常存储器模块为止。因此,在传统的存储设备中,当通过存储器控制器的硬件功能而检测到存储器异常时,指定引起存储器异常的存储器模块,并且从系统中消除异常部分。即,存储器控制器将从CPU看到的存储器模块的地址空间划分为适当大小的区域,并且当检测到存储器模块的异常时,针对存储器退化执行存储器控制,以使对应于异常 
即,本发明提供了一种用于将逻辑地址转换为实际地址并从而访问存储器的存储器控制方法,该方法包括以下步骤: 
当检测到存储器异常时,在实际地址区域使用表中与检测到异常的存储器对应的区域中记录禁止使用信息,所述实际地址区域使用表被记录了关于存储器的实际地址空间的可以使用信息;并且 
根据所述实际地址区域使用表产生逻辑地址使用表,所述逻辑地址区域使用表记录了关于逻辑地址空间中的每个区域的可以使用信息或者禁止使用信息。 
发明内容
本发明提供了一种存储器控制方法。 
即,本发明提供了一种用于将来自CPU的逻辑地址转换为由元件选择地址和存储元件地址形成的实际地址并从而访问多个存储元件的存储器控制方法,该方法包括: 
交错控制步骤,用于将使用被划分为N个区域的逻辑地址空间的CPU的逻辑地址转换为通过路线数量W确定的实际地址,从而通过交错控制来访问多个存储元件,并且能够通过不同的路线数量W的指定来重新配置存储器配置,所述交错控制是为所述路线数量W个存储器模块指定相同的地址并且在通过模块选择地址交替地转换模块时访问模块的控制; 
实际地址区域管理步骤,用于当检测到存储元件的异常时,将由多个存储元件形成的实际地址空间划分为CPU逻辑地址空间的区域数量N与交错控制的最大路线数量Wmax相乘的多个区域(N×Wmax),并且准备对记录有使用信息的所有路线数量都通用的实际地址区域使用表,并且在所述实际地址区域使用表的包括异常部分的区域中记录禁止使用信息;以及 
逻辑地址区域管理步骤,用于通过对应于通过交错控制步骤的路线数量W确定的存储器配置,根据实际地址区域使用表产生逻辑地址区域使用表,并且确定逻辑地址空间中被CPU使用的区域,其中,逻辑地址区域使用表记录了关于逻辑地址空间中的每个区域的可以使用信息或者禁止使用信息。 
在此,交错控制步骤通过指定任何不同的路线数量W(路线数量W 是2的幂)来重新配置存储器配置。 
(1-2路线转换) 
当交错控制步骤能够通过将路线数量指定为1或者2来执行存储器重新配置时,提供了一种存储器控制方法, 
其中,所述实际地址管理步骤(例如,在括号中示出下述情况:其中,CPU地址是10位,存储元件地址是A7到A0的8位,并且元件选择地址是B1到B0的2位)产生实际地址区域使用表,实际地址区域使用表记录了在每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将CPU逻辑地址空间的区域数量N与按照4位地址(B1、B0、A7和A0)的交错控制的最大路线数量2相乘(N×2)而划分得到的,所述4位地址是元件选择地址的低位2位(B1、B0)、实际地址的最高有效位(A7)和实际地址的最低有效位(A0);并且 
其中,在通过一路线确定交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备一路线逻辑地址区域使用表,并且确定逻辑地址空间中被CPU使用的区域,其中,一路线逻辑地址区域使用表记录了在按照3位地址(B1、B0和A7)N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是元件选择地址的低位2位(B1和B0)和实际地址区域使用表的实际地址的最高有效位(A7),并且 
此外,其中,在通过二路线确定交错控制步骤的存储器配置的情况下,逻辑地址区域管理步骤准备二路线逻辑地址区域使用表,并且确定逻辑地址空间中被CPU使用的区域,其中,所述二路线逻辑地址区域使用表记录了在按照3位地址(B1、A0和A7)N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是元件选择地址的低位的第2位(B1)、实际地址区域使用表的实际地址的最低有效位(A0)和实际地址的最高有效位(A7)。 
(1-2-4路线转换) 
当交错控制步骤可以通过将路线数量指定为1、2或者4来重新配置存储器时,实际地址管理步骤(例如,在括号中示出下述情况:其中,CPU地址是10位,存储元件地址是A7到A0的8位,并且元件选择地址 是B1到B0的2位)产生实际地址区域使用表,实际地址区域使用表记录了在每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将CPU逻辑地址空间的区域数量N与按照5位地址(B1、B0、A7、A1和A0)的交错控制的最大路线数量4相乘(N×4)而划分得到的,所述5位地址是元件选择地址的低位2位(B1、B0)、实际地址的最高有效位(A7)、实际地址的低位2位(A1,A0),并且在通过一路线确定交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备一路线逻辑地址区域使用表,并且确定逻辑地址空间中被CPU使用的区域,其中,一路线逻辑地址区域使用表记录了在按照3位地址(B1、B0和A7)N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是元件选择地址的低位2位(B1和B0)和实际地址区域使用表的实际地址的最高有效位(A7);并且此外, 
在通过二路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备二路线逻辑地址区域使用表,并且确定逻辑地址空间中被CPU使用的区域,其中,二路线逻辑地址区域使用表记录了在按照3位地址(B1、A0和A7)N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是元件选择地址的低位的第2位(B1)、实际地址区域使用表的实际地址的最低有效位(A0)和实际地址的最高有效位(A7),并且此外, 
在通过四路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备四路线逻辑地址区域使用表,并且确定逻辑地址空间中被CPU使用的区域,其中,四路线逻辑地址区域使用表记录了在按照3位地址(A1、A0和A7)N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是元件选择地址的低位2位(A1和A0)和实际地址区域使用表的实际地址的最高有效位(A7)。 
(装置) 
本发明提供了一种存储器控制装置,用于将来自CPU的逻辑地址转换为由元件选择地址和存储元件地址形成的实际地址并且访问多个存储元件。即,本发明提供的存储器控制装置包括: 
交错控制单元,该交错控制单元用于将使用被划分为N个区域的逻辑地址空间的CPU的逻辑地址转换为通过路线数量W确定的实际地址,并且通过交错控制来访问多个存储元件,并且能够通过不同的路线数量W的指定来重新配置存储器配置,所述交错控制是为所述路线数量W个存储器模块指定相同的地址并且在通过模块选择地址交替地转换模块时访问模块的控制; 
实际地址区域管理单元,用于当检测到存储元件的异常时,将由多个存储元件形成的实际地址空间划分为CPU逻辑地址空间的区域数量N与交错控制的最大路线数量Wmax相乘的多个区域(N×Wmax),并且准备对记录了可以使用信息的所有路线数量通用的实际地址区域使用表,并且在实际地址区域使用表的包括异常部分的区域中记录禁止使用信息;以及 
逻辑地址区域管理单元,用于通过对应于通过所述交错控制步骤的路线数量W确定的存储器配置,根据实际地址区域使用表产生逻辑地址区域使用表,并且确定逻辑地址空间中被CPU使用的区域,所述逻辑地址区域使用表记录了关于逻辑地址空间中的每个区域的可以使用信息或者禁止使用信息。 
本发明提供了一种信息处理装置。即,本发明提供的信息处理装置包括: 
处理单元; 
存储单元,该存储单元连接到处理单元,并且用于存储信息;以及 
存储器控制单元,该存储器控制单元用于控制对存储单元的访问, 
其中,所述存储器控制单元包括: 
控制单元,该控制单元用于将来自CPU的逻辑地址转换为实际地址,并访问存储单元; 
实际地址管理控制单元,该实际地址管理控制单元用于在第一表格中记录关于存储单元中检测到异常的区域的禁止使用信息,所述第一表格存储了所述存储单元的每个实际地址空间区域的关于存储单元的可以使用信息或者不可以使用信息; 
逻辑地址区域管理单元,该逻辑地址区域管理单元用于根据第一表格的内容来更新逻辑地址区域使用表的内容,所述逻辑地址区域使用表记录了关于逻辑地址空间中的每个区域的可以使用信息或者不可以使用信息。 
按照本发明,使用存储元件地址作为参考来执行对从CPU看到的存储模块的可以使用区域的管理。存储器地址不依赖于存储器的配置改变,而是按照存储元件而被确定的。当存储器异常部分相同时,用于指示其异常位置的存储单元地址不改变。按照关于此存储元件可以使用的区域的信息,准备实际地址区域使用表,并且该实际地址区域使用表被转换为逻辑地址区域使用表,该逻辑地址区域使用表作为与此时的存储器配置对应的从CPU看到的地址的可以使用区域的信息,并且根据来自此逻辑地址区域使用表的信息,确定存储器可以使用区域。 
因此,按照关于存储单元地址可以使用的区域的信息,仅仅要求准备和保存实际地址区域使用表,而不要求保存从对应于交错控制的路线数量的每个存储器配置的不同CPU地址看到的存储器可以使用信息,从而使得 对存储器可以使用区域的管理变得很容易。 
此外,当存储元件地址和从CPU看到的地址的对应关系根据存储器配置的改变而被改变时,可以在改变之前接管基于存储器异常部分的存储器退化信息,并且可以简单地准备在从新的CPU看到的地址的存储器退化信息。 
附图说明
图1是包括本发明的存储器控制装置的计算机系统的方框图; 
图2是在图1中的存储器控制器的地址转换机制的说明性示图; 
图3是按照一路线交错的存储器配置的地址转换机制的说明性示图; 
图4是与图3中的一路线交错的地址转换对应的地址图的说明性示图; 
图5是按照一路线交错对存储器模块进行访问的说明性示图; 
图6是通过二路线交错的存储器配置的地址转换机制的说明性示图; 
图7A和7B是与图6中的二路线交错的地址转换对应的地址图的说明性示图; 
图8是按照二路线交错对存储器模块进行访问的说明性示图; 
图9是当CPU地址空间被作为区域8时对于交错控制的路线数量的实际地址空间的被划分的区域编号,以及CPU地址和实际地址之间的对应关系的说明性示图; 
图10A-10C是当可以通过一路线和二路线重新配置存储器配置时准备的存储元件地址的实际地址区域使用表,和根据该表准备的在一路线存储器配置时的CPU的逻辑地址区域使用表的说明性示图; 
图11A-11C是当可以通过一路线和二路线重新配置存储器配置时准备的存储元件地址的实际地址区域使用表,和根据该表准备的在二路线存储器配置时的CPU的逻辑地址区域使用表的说明性示图; 
图12是在本发明的存储元件地址的实际地址区域使用表准备处理的流程图; 
图13是计算机系统根据通过在图12中的处理而准备的实际地址区域 使用表来准备与路线数量对应的存储器配置的逻辑地址区域使用表并且确定CPU的使用区域的流程图; 
图14是在图13中的步骤S6的一路线存储器配置时准备逻辑地址区域使用表的处理的流程图; 
图15是按照图14的二路线存储器配置准备逻辑地址区域使用表的处理的流程图; 
图16是由四路线交错的存储器配置进行地址转换机制的说明性示图; 
图17是与图16中的四路线交错的地址转换对应的地址图的说明性示图; 
图18是按照图17的地址图的说明性示图; 
图19是按照四路线交错对存储器模块进行访问的说明性示图; 
图20A和20B是当可以通过一路线、二路线或者四路线重新配置存储器时准备的存储元件地址的实际地址区域使用表,以及根据该表配置一路线存储器时准备CPU的逻辑地址区域使用表的处理的说明性示图; 
图21A和21B是当可以通过一路线、二路线或者四路线重新配置存储器时准备的存储元件地址的实际地址区域使用表,以及根据该表配置二路线存储器时准备CPU的逻辑地址区域使用表的处理的说明性示图; 
图22A和22B是当可以通过一路线、二路线或者四路线重新配置存储器时准备的存储元件地址的实际地址区域使用表,以及根据该表配置四路线存储器时准备CPU的逻辑地址区域使用表的处理的说明性示图; 
图23是根据图22A和22B中的实际地址区域使用表准备的逻辑地址区域使用表的说明性示图; 
图24是根据与一路线、二路线或者四路线对应的实际地址区域使用表在配置一路线存储器时准备逻辑地址区域使用表的处理的流程图; 
图25是根据与一路线、二路线或者四路线对应的实际地址区域使用表在配置二路线存储器时准备逻辑地址区域使用表的处理的流程图;以及 
图26是根据与一路线、二路线或者四路线对应的实际地址区域使用表在配置四路线存储器时准备逻辑地址区域使用表的处理的流程图。 
具体实施方式
图1是配置有本发明的存储器控制装置的计算机系统的框图。在图1中,包括本发明的存储器控制装置的存储器控制器10与CPU 12-1到12-4和存储器模块14-1到14-4连接。存储器控制器10包括交错控制单元16、实际地址区域管理单元18和逻辑地址区域管理单元20,并且还与实际地址区域管理文件22连接。存储器控制器10的交错控制单元16可以通过指定不同路线数量W来重新配置存储器配置,并且通过诸如一路线、二路线和四路线的路线数量(例如,所述路线数量W为2的幂)的存储器配置来执行交错控制。在此,所述交错控制是为多个存储器模块指定相同的地址并且在通过模块选择地址交替地转换模块时访问模块的控制,并且,与依序选择并访问存储器模块的情况相比,所述交错控制在预先指定了地址的状态中转换模块,因此,可以对存储器模块执行高速操作。二路线交错表示这样的控制:通过二路线交错,在两个存储器模块上指定同一地址,从而转换模块;并且四路线表示这样的控制:在为4个模块指定同一地址的状态中,依序转换模块并且访问模块。另外,一路线交错控制表示这样的访问:存储器模块正在被依序选择的同时被访问,并且不在多个存储器模块上指定一个地址,因此,一路线交错控制表示没有交错的访问,为了使说明容易,在下面的描述中,没有交错的控制被称为一路线交错控制。此外,在交错控制单元16中,为了处理在存储器模块14-1到14-4侧的存储器故障,执行区域使用管理,其中,由CPU 12-1到12-4的CPU地址看到的逻辑地址空间被划分为多个区域,例如N个区域,并且,当检测到存储器异常时,与异常部分对应的区域被禁止使用。CPU空间中的这个使用管理区域已经按照惯例被划分为CPU的地址空间的划分区域,以准备记录了区域使用信息(即,可以使用或者禁止使用信息)的逻辑地址区域使用表,并且根据该表,确定逻辑地址空间中被CPU使用的区域。但是,在本发明中,用于管理CPU的此逻辑地址空间的逻辑地址区域使用表不是固定保存在存储器控制器10中,并且根据存储器模块14-1到14-4侧的存储元件地址,准备并保存可被转换为CPU的逻辑地址空间的逻辑地址区域使用表的实际地址区域使用表。即,配置在存储器控制器10中的实际地址区 域管理单元18将由存储器模块14-1到14-4形成的实际地址空间划分为多个区域(N×Wmax),N×Wmax是CPU侧的逻辑地址空间的区域数量W乘以由交错控制单元16可重新配置的不同路线数量W中的最大路线数量Wmax,并且实际地址区域管理单元18准备可由所有的路线数量的存储器配置共享的实际地址区域使用表,所述表记录了处于初始状态的每个划分区域的可以使用信息。 
当检测到存储器模块14-1到14-4的异常时,在实际地址区域使用表的包括异常部分的区域中记录禁止使用信息。在实际地址区域管理文件22中存储了由实际地址区域管理单元18准备的、对于可通过交错控制单元16重新配置存储器配置的所有路线数量通用的实际地址区域使用表。当在交错控制单元16中对计算机系统升级或者重新配置存储器配置时,存储器控制器10的逻辑地址区域管理单元20根据存储在实际地址区域管理文件22中的实际地址区域使用表,将CPU侧的逻辑地址空间划分为N个区域,并且准备记录了每种情况下的可以使用信息或者禁止使用信息的逻辑地址区域使用表,并且在升级或重新配置存储器时,根据所准备的逻辑地址区域使用表确定逻辑地址空间中被CPU 12-1到12-4使用的区域。按照这种方式,在本发明的存储器控制中,当能够产生从存储器模块14-1到14-4的实际地址看到的在CPU侧的逻辑地址空间的区域的实际地址区域使用表被准备并被存储用于根据交错控制单元16的路线数量来确定存储器配置时,通过与此路线数量确定的存储器配置对应的转换处理,在各种情况下根据在实际地址区域管理文件22中保存的实际地址区域使用表来准备与此时的路线数量的交错控制对应的逻辑地址区域使用表,并且可以确定逻辑地址空间中被CPU使用的区域。 
结果,即使存储器控制器10中的存储器配置被改变,在改变之后也接管改变之前的区域使用信息,并且简单地产生关于CPU的地址空间中的区域的可以使用信息或者禁止使用信息,从而可以不将位于存储器模块14-1到14-4的任何位置的异常部分结合到CPU侧的区域中。针对本发明的这种存储器控制,将具体说明作为示例的下述情况:其中,可通过交错控制单元16将路线数量指定为1或者2来重新配置存储器。 
图2是能够通过设置在图1中的存储器控制器10的路线数量来重新配置交错控制的存储器配置的地址转换机制的说明性示图。在图2中,存储器模块14-1到14-4分别是256字节,并且将1024字节的总体大小作为示例。对于由存储器模块14-1到14-4形成的这样的1024字节的存储空间,CPU 12-1到12-4侧将所述存储空间划分为N=8个区域,以管理可以使用的信息。CPU侧的一个区域的大小是128字节。 
可以通过来自CPU 12-1到12-4的C9-C0这10位CPU地址来访问由存储器模块14-1到14-4形成的1024字节存储器空间。因此,存储器控制器10配置有用于保存C9-C0这10位CPU地址的输入地址寄存器26。另一方面,存储器模块14-1到14-4的实际地址由访问存储器模块14-1到14-4的每个的A7-A0的8位存储元件地址和用于选择存储器模块14-1到14-4的B1和B2的2位元件选择地址形成。因此,存储器模块14-1到14-4侧配置有用于存储存储元件地址A7-A0的输出地址寄存器28以及用于保存元件选择地址B1和B0的模块选择寄存器30,并且,模块选择寄存器30的地址被输入到存储器模块选择器32,并且通过B1和B0=00、01、10和11,可以依序选择存储器模块14-1到14-4。在输入地址寄存器26和输出地址寄存器28之间配置有选择器34和36。选择器34执行对输入地址寄存器26的高位C9和C8 2位与输出地址寄存器28的低位A1和A0 2位的转换连接。选择器36执行对输入地址寄存器26的高位C9和C8 2位与具有低位C1和C0 2位的模块选择寄存器30的元件选择位B1和B0的转换连接。在此,对存储器控制器10的交错控制中的路线数量以通过一路线、二路线和四路线这三路线来转换存储器配置作为示例,并且通过选择器34和36的转换连接,允许建立用于通过一路线、二路线或者四路线实现地址转换机制的连接。因此,通过模块选择寄存器30和针对输入地址寄存器26、输出地址寄存器28和存储器模块选择器32配置的选择器34和36,可以构造通过交错控制的路线存储器配置24。 
图3是按照一路线交错的存储器配置的地址转换机制的说明性示图。在图3中,存储器控制器10通过图2中所示的经由选择器34和36的连接转换为所示的一路线存储器配置24-1的输入地址寄存器26建立输出地址 寄存器28和模块选择寄存器30的连接,并且结果,来自处于被保持在输入地址寄存器26中的状态中的CPU 12-1到12-4的C9-C0这10位CPU地址被转换为输出地址寄存器28的存储器模块14-1到14-4的A7-A0这8位存储元件地址和用于模块选择的元件选择地址B1和B0,从而按照一路线交错来执行存储器访问。一路线存储器配置24-1是没有交错的情况,并且在这种情况下,CPU地址的高位的C9和C8 2位被转换为元件选择地址B1和B0,并且CPU地址的低位C7-C0 8位被转换为存储器元件地址A7-A0,以便被访问。 
图4是与图3中的一路线交错的地址转换对应的一路线地址图38-1的说明性示图。在图4中,该一路线地址图38-1通过将它们划分为存储器选择和存储器地址而在上列中显示作为实际地址的CPU地址C9-C0和元素选择地址B1和B0以及存储元件地址A7-A0,并且当CPU地址C9-C0按顺序从全0改变成全1时,示出了地址位和对应于该地址位的地址十进制表示。 
图5是通过一路线交错对存储器模块进行访问的说明性示图,并且在这种情况下的访问是很简单的,并且,虽然由虚线所示的四个存储器模块14-1到14-4被划分为从CPU侧看到的8个区域42-1到42-8,但是当CPU地址依序从全0改变为全1时,可以以存储器模块14-1到14-3的顺序(即,以从CPU侧看到的区域42-1到42-8的顺序,如箭头标记44-1到44-8所示)进行访问。在此,假定在图3的存储器模块14-1的地址[11111111]中,即按照十进制表示编号为255地址中,发生了不能读取和写入数据的存储器异常,并且该地址是图4中的一路线地址图38-1中的异常部分40,并且从CPU地址C9-C0来看,该地址变为[0011111111],并且即使以十进制表示来表示,该地址也变为与编号255相同的地址。 
图6是按照二路线交错配置存储器的地址转换机制的说明性示图。在图6中的存储器控制器10中,通过将交错控制的路线数量W指定为二路线,建立了针对在二路线存储器配置24-2中所示的输入地址寄存器26的输出地址寄存器28和配置在存储器模块选择器32中的模块选择寄存器30之间的连接。 
图7A和7B是与图6中的二路线交错的地址转换对应的二路线地址图38-2的说明性示图。在此二路线交错控制中,如在图8中的存储器模块14-1到14-4中所示,在通过初始地址(如箭头标记60-1所示)指定作为存储器模块14-1和存储器模块14-2的相同地址的状态中,对于由在两个存储器模块14-1到14-2的CPU侧的划分数量确定的128字节单元的区域,存储器模块14-1到14-2通过元件选择地址而被依序转换,从而执行对这两个地址部分的访问。该控制是针对存储器模块14-1到14-2的前半区域执行的,并且在此控制之后,针对后半区域重复此控制。随后,对于之后的存储器模块14-3和14-4(如箭头标记60-3和60-4所示),通过指定相同地址来顺序读取被划分为128字节的前半区域以及通过指定相同地址来顺序读取后半区域被重复。这样,为了将CPU地址C9-C0从全0改变成全1,针对存储器模块14-1到14-2,按照此二路线交错的在图7A和7B中的二路线地址图38-2可以被划分为偶数编号地址区域58-1和奇数编号地址区域58-2,针对存储器模块14-3到14-4,其可以被划分为偶数编号地址区域58-3和奇数编号地址区域58-4。在前半的偶数编号地址区域58-1和奇数编号地址区域58-2中,如在存储器选择地址中所示,元件选择地址B1和B0被交替地改变为“00”和“01”,以便执行二路线交错控制,其中,在对两个存储器模块14-1和14-2指定同一地址的状态中执行模块选择。这对于与后半的偶数编号地址区域58-3和奇数编号地址区域58-4的存储器模块14-3到14-4也成立。在此二路线地址图38-2中,图4中所示的一路线地址图38-1中的异常部分40可以按照相同地址位置存储在该图中。 
图9是在本发明中的在存储器控制中的CPU地址空间的被划分区域数量N、交错路线数量W、实际地址空间的被划分区域数量M(被给予CPU地址空间的被划分区域数量N乘以最大数量Wmax的值)以及CPU和对应的实际存储器地址之间的对应关系的说明性示图。即,图9中的对应关系表表示在每种存储器配置中的地址转换机制的转换关系,假定N=8、W=1、2、4,并且M=8、16和32。 
图10A-10C是当可以通过图1中的存储器控制器10的交错控制单元 16按照一路线和二路线重新配置存储器时,由实际地址区域管理单元18产生的实际地址区域使用表以及由逻辑地址区域管理单元20根据实际地址区域使用表准备的一路线存储器配置使用的逻辑地址区域使用表的说明性示图。图10A是用于根据在图10B中所示的实际地址区域使用表48准备图10C中所示的一路线逻辑地址区域使用表50-1的一路线搜索寄存器46-1。首先,图10B中的实际地址区域使用表48,如项目栏54中所示,存储有通过使用包括存储器模块14-1到14-4的实际地址和存储元件地址的元件选择地址划分成由图9中的对应关系表确定的16个区域而获得的使用标记。与通过对实际地址区域使用表48的上部的说明而增加的项目52类似,在此实际地址区域使用表48中存储的实际地址通过图3中的一路线存储器配置24-1中所示的地址转换机制而与CPU地址的C9、C8、C7和C04位对应。在此,使用“O”作为可以使用信息来描述实际地址区域使用表48的使用标记,并且使用“X”作为禁止使用信息来记录在图4中所示的包括异常部分40的区域。当根据此实际地址区域使用表48准备一路线交错的存储器配置所需的在图10C中的一路线逻辑地址区域使用表50-1时,通过使用在图10A中的一路线搜索寄存器46-1来查看实际地址区域使用表48的使用标记。一路线搜索寄存器46-1由区域X、Y和Z以及[0/1]和具有使用标记的存储区域形成,并且当查看实际地址区域使用表48时,存储 
X=B1, 
Y=B0, 
Z=A7, 
和A0=0/1, 
并且查看4位地址的两个区域,其中,高位的3位是相同的,第四位被改变成0或者1。通过这样的一路线搜索寄存器46-1对实际地址区域使用表48的查看(如在表格右侧的箭头标记所示)来查看关于各个区域对56-1到56-8的两个区域的使用标记是可以使用“O”还是禁止使用“X”,并且当来自两个区域的使用标记都是可以使用“O”时,使得与图10C中的区域对应的使用标记为可以使用“O”,并且当其中任何一个是禁止使用 “X”时,在图10C中的逻辑地址区域使用表50-1的使用标被认为是禁止使用“X”。当查看根据实际地址区域使用表48准备的一路线逻辑地址区域使用表50-1时,发现CPU区域中的第二区域#1为禁止使用“X”。 
图11A-11C是在通过二路线交错控制来配置存储器时,通过使用在图10B中所示的相同的实际地址区域使用表48来准备二路线逻辑地址区域使用表的处理的说明性示图。图11A是执行根据图11B中的实际地址区域使用表48来准备在图11C中的二路线逻辑地址区域使用表50-2的查看的二路线搜索寄存器46-2。该二路线搜索寄存器46-2从高位侧起存储着X=B1、B0=0/1、Z=A7和Y=A0,并且查看通过相应的4位区域而确定的区域的使用标记。使用此二路线搜索寄存器46-2对实际地址区域使用表48的查看使得当相对于由右侧箭头标记所示的区域对62-1到62-8的两个区域的使用标记都是可以使用“O”时,对应于图11C中的二路线逻辑地址区域使用表50-2的区域的使用标记为可以使用“O”,并且当其中任何一个区域是禁止使用“X”时,对应于二路线逻辑地址区域使用表50-2的区域的使用标记为禁止使用“X”。结果,在按照二路线交错控制的存储器配置中,二路线逻辑地址区域使用表50-2中包括存储器异常部分的CPU区域被确定为第四CPU区域#3。 
图12是在本发明中用于准备从存储器元件地址可见的实际地址区域使用表的处理的流程图。在图12中,在步骤S1,用于实际地址区域使用表的准备处理读取逻辑地址空间的被划分区域数量N,例如N=8,并且在步骤S2,读取可配置存储器的路线数量W,例如W=1、2和4,并且在步骤S3,将逻辑地址空间的区域数量N乘以最大路线数量Wmax,由此计算实际地址空间的被划分区域数量M。例如,当可以在一路线和二路线之间转换时,16个区域的划分数量被确定为M=8×2=16。随后,在步骤S4,例如,当如图10B中所示的一路线和二路线重新配置成为可能时,准备实际地址区域使用表,其通过使用元件选择地址B1、B0和存储器元件地址的最高有效位A7和最低有效位A0这4位来将区域划分为16个部分,并将可以使用“O”作为其使用标记,即,初始准备时的使用信息。 
图13是计算机系统从通过在图12中的处理而准备的实际地址区域使 用表来根据交错控制的路线数量来准备存储器配置的逻辑地址表,并且确定CPU的使用区域的流程图。在图13中,在步骤S1,计算机系统执行伴随电源启动的初始化和诊断,并且在步骤S2,如果也检测到存储器异常,则在步骤S3,计算机系统获取异常存储器模块的元件选择地址和存储元件地址,并且在步骤S4,计算机系统在与已经准备的实际地址区域使用表的异常部分对应的划分区域中写入禁止使用信息。不必说,如果在步骤S2,没有检测到存储器异常,则跳过步骤S3和步骤S4的处理。随后,在步骤S5,获取存储器配置的路线数量,并且在步骤S6,根据实际地址区域使用表准备通过路线数量确定的存储器配置的逻辑地址区域使用表,从而确定CPU的使用区域。随后,在步骤S7,伴随计算机的引导处理,执行操作系统的安装,并且在步骤S8,开始由应用程序执行的操作处理。在此操作处理期间,在步骤S9,当存储器配置被改变时,处理返回到步骤S5,获取伴随此存储器配置的改变的改变之后的路线数量,并且在步骤S6,从实际地址区域使用表准备通过在存储器配置改变后的路线数量确定的存储器配置的逻辑地址区域使用表,以确定CPU的使用区域,并且通过经由重新启动从步骤S7安装操作系统等,开始步骤S8的由应用程序执行的操作处理。 
图14是通过图13的步骤S6配置一路线存储器时准备逻辑地址区域使用表的处理的流程图。在图14中,在步骤S1,当确定通过交错的存储器配置是一路线时,处理进行到步骤S2,并且在图10A中的一路线搜索寄存器46-1中的实际地址区域使用表48的实际地址侧设置位之后,在步骤S3,地址X和Y被设置为全部0,并且在步骤S4,根据地址X、Y和Z来查看实际地址区域使用表48中的区域A0=0和A0=1中的使用标记。在步骤S5,当两个区域都是允许使用“O”时,跳过步骤S6,并且当两个区域的至少任意一个是禁止使用“X”时,在步骤S6,在图10C中的一路线交错一路线实际地址区域使用表50-1中与此时的地址X、Y和Z对应的区域中写入禁止使用“X”。随后,在步骤S7,查看地址X、Y和Z是否是最后的地址,并且当它们不是最后地址时,在步骤S8,将地址X、Y和Z递增1,并且重复从步骤S4起的处理。 
图15是在图14后配置二路线存储器时准备逻辑地址区域使用表的处理的流程图。在图15中,在步骤S9,当确定存储器配置是二路线时,处理进行到步骤步骤S10,并且将图11B中的实际地址区域使用表48的地址设置到图11A中所示的二路线搜索寄存器46-2中。随后,在步骤S11,在将地址X、Y和Z设置为全0的初始值后,在步骤S12,根据地址X和Y来查看B0=0和B0=1的两个区域的使用标记。随后,在步骤S13,当两个区域中的使用标记都是允许使用“O”时,跳过步骤S14。当至少任意一个是禁止使用“X”时,处理进行到步骤S14,图11C中所示的二路线实际地址区域使用表50-2中与地址X、Y和Z对应的的区域被写入禁止使用“X”。随后,在步骤S15,查看地址X、Y和Z是否是最后地址,并且如果不是,则处理返回到步骤S16,以便将地址X、Y和Z递增1,从而重复从步骤S12起的处理。接着,将描述在图1中的存储器控制器10中配置的交错控制单元16中,当一路线、二路线和四路线存储器配置有可以作为通过交错控制的存储器配置时的实际地址区域使用表的准备和根据该实际地址区域使用表产生逻辑地址区域使用表的准备。 
图16是按照四路线交错的存储器配置的地址转换机制的说明性示图,并且对于存储器控制器10中的输入地址寄存器26,输出地址寄存器28和模块选择寄存器30如图所示连接,从而建立四路线存储器配置24-3。 
图17和18是与图16中的四路线交错的地址转换对应的四路线地址图38-3的说明性示图。 
图19是按照四路线交错对存储器进行访问的说明性示图。在图19中,在四路线交错控制中,具有大小256字节的存储器模块14-1到14-4根据CPU侧的划分数量8而被划分为128字节的区域,并且如箭头标记66-1到66-3所示,在对于存储器模块14-1到14-4的前半部分指定同一地址的状态中,通过元件选择地址依序选择存储器模块14-1、14-2、14-3和14-4,从而执行四路线交错的访问。 
在对存储器模块14-1到14-4的前半区域重复此操作后,在对于存储器模块14-1到14-4指定同一地址的状态中,如箭头标记68-1、68-2和68- 3所示,通过元件选择地址来依序转换后半部分的区域,从而重复按照四路线交错的访问。在图17和18中按照此四路线交错控制的四路线地址图38-3中,首先,如在第一地址区域64-1中所示,对于存储器模块14-1到14-4的每个存储器模块,通过跳过诸如在地址十进制表示中所示的地址数0、4、8、...的每四个地址而按照四路线交错执行访问,随后,与第二地址区域64-2类似,通过按照十进制视图的地址数量1、5、7、...的四地址布置来执行交错,并且此外,在第三地址区域64-3中,执行诸如地址数量2、6、12、...的四路线交错的访问,并且此外,如图18中的第四地址区域64-4中所示,执行通过诸如地址数量3、7、11、...的四路线交错的访问。 
图20A和20B是当可以按照一路线、二路线和四路线来重新配置存储器时准备的实际地址区域使用表以及在配置一路线存储器时根据该实际地址区域使用表准备的CPU地址的逻辑地址区域使用表的处理的说明性示图。图20A是一路线搜索寄存器70-1的说明性示图,该一路线搜索寄存器70-1用于根据图20B中的实际地址区域使用表72来准备一路线逻辑地址表。首先,与图20B中的一路线、二路线和四路线对应的实际地址区域使用表72通过下述方式来将实际地址区域划分为32个区域:通过将存储器地址位A1另外增加到图10B中所示的与一路线和二路线对应的的实际地址区域使用表48,从而使实际地址区域使用表48成为4位。图20A中的一路线交错搜索寄存器70-1把存储器地址的地址位A1=0/1添加到图10A中的一路线搜索寄存器70-1,并且通过使用此一路线寄存器70-1来查看实际地址区域使用表72,以便可以准备与图10C中所示相同的一路线逻辑地址区域使用表50-1。当对于78-1到78-8中每个由4个区域构成的组,四个区域的使用标记都为可以使用“O”时,通过一路线搜索寄存器70-1对实际地址区域使用表72的查看以与图10C中的一路线逻辑地址区域使用表50-1对应的使用标记来记录可以使用“O”。当形成一个组的区域中的至少一个是禁止使用“X”时,图10C中的一路线逻辑地址区域使用表50-1的使用标记被写为禁止使用“X”。 
图21A和21B示出通过图21A中的二路线搜索寄存器70-2使用图 20B中的实际地址区域使用表72进行查看来准备与图11C相同的二路线逻辑地址区域使用表50-2的处理。。在这种情况下,通过二路线搜索寄存器70-2来查看在实际地址区域使用表72中由右侧箭头标记所示的具有四个区域的组80-1到80-8的使用标记中的每一个,并且当四个区域的使用标记全部是可以使用“O”时,二路线实际地址区域使用表50-2被标记为可以使用“O”,并且当四个区域的至少任意一个是禁止使用“X”时,二路线实际地址区域使用表50-2被标记为禁止使用“X”。 
图22A和22B是通过使用与图20B中相同的实际地址区域使用表72来准备与四路线存储器配置对应的逻辑地址区域使用表的处理的说明性示图,图22A是用于对实际地址区域使用表72的进行查看的四路线搜索寄存器70-3,并且设置 
X=A1, 
Y=A0, 
Z=A7, 
B0=0/1, 
并且,B1=0/1。 
即,当将地址X、Y和Z从000改变到111时,针对每个位置,B1和B0被改变为四级00、01、10和11,从而查看实际地址区域使用表72。通过使用此四路线搜索寄存器70-3对实际地址区域使用表72的查看,对于由该图右侧的箭头标记所示的具有四个区域的组82-1到82-8,当四个区域的使用标记全部是可以使用“O”时,图23中的四路线逻辑地址区域使用表50-3的相应使用标记被标记为可以使用“O”。另一方面,当四个区域的使用标记中的至少任意一个是禁止使用“X”时,图23中的四路线逻辑地址区域使用表50-3的使用标记被存储为禁止使用“X”。当查看图23中根据实际地址区域使用表48准备的四路线实际地址区域使用表50-3时,CPU区域的第八区域#7为禁止使用“X”。以这种方式,当根据一路线、二路线和四路线重新配置存储器配置时,从存储元件地址可见的实际地址区域使用表72被准备并被存储,并且其后,通过所述查看来准备与各个路线数量对应的逻辑地址区域使用表,即,每次建立存储器配置时, 执行对与确定存储器配置的交错控制的路线数量对应的实际地址区域使用表的转换操作,从而可以确定在CPU侧可以使用的区域。 
图24示出了在配置一路线存储器时,根据图20A和20B的实际地址区域使用表准备逻辑地址区域使用表的处理。在步骤S1,当确定一路线时,在步骤S2,将实际地址区域使用表72的地址设置到一路线搜索寄存器70-1,并且在步骤S3,在对地址X、Y和Z被设置初始值后,在步骤S4,根据地址X、Y和Z查看四个区域A1、A0=00、01、10和11的使用标记。随后,在步骤S5,当所有四个区域都允许使用时,跳过步骤S6,并且当四个区域的至少任意一个是禁止使用,在步骤S6,一路线逻辑地址区域使用表的地址X、Y和Z标记为禁止使用。重复这样的处理,直到在步骤S7确定了地址X、Y和Z的最后地址为止,同时在步骤S8递增地址X和Y。 
图25是在二路线存储器配置时根据图21A和21B中的实际地址区域使用表72准备逻辑地址区域使用表的处理的流程图。在图25中,在步骤S9,当确定二路线存储器配置时,在步骤S10,实际地址区域使用表72的地址被设置到二路线搜索寄存器70-2,并且在步骤S11,在对地址X、Y和Z设置初始地址后,在步骤S12,根据地址X、Y和Z来查看四个区域A1、B0=00、01、10和11的使用标记。随后,在步骤S13,当所有四个区域都允许使用“O”时,跳过步骤S14,并且当四个区域的至少任意一个是禁止使用“X”时,在步骤S14,二路线实际地址区域使用表的地址为X、Y和Z的区域被标记为禁止使用“X”。重复从步骤S12起的处理,直到在步骤S15确定最后的地址为止,同时在步骤S16递增所述地址。 
图26是在配置四路线时根据图22和23中的实际地址区域使用表72准备逻辑地址区域使用表50-3的处理的流程图。在图26中,在步骤S17,当确定四路线存储器配置时,在步骤S18,实际地址区域使用表72的地址被设置到四路线搜索寄存器70-3,并且在步骤S19,在对地址X、Y和Z被设置初始值后,在步骤S20,根据地址X、Y、Z来查看四个区域B1、B0=00、01、10和11的使用标记。随后,在步骤S21,当所有四个 区域都是允许使用“o”时,跳过步骤S22,并且当四个区域中的至少任意一个是禁止使用“X”时,处理进行到步骤S22,并且图23中的四路线逻辑地址区域使用表50-3的使用标记被标记为禁止使用“X”。重复从步骤S20起的处理,直到在步骤S23确定最后的地址为止,同时在步骤S24递增所述地址。此外,本发明提供了一种由计算机系统的存储器控制器(,即,存储器控制设备)执行的程序,并且此程序具有在图12、13、14、15、24、25和26中的流程图中所示的内容。 
此外,虽然上述实施例将CPU的逻辑地址空间的划分数量N取值为N=8,并且交错控制的路线数量被取作一路线、二路线和四路线的情况作为示例,但是,可以按照需要来任意设置CPU空间的划分数量N和交错控制的路线数量W,并且优选地,每个数被设置为2的幂。 
此外,虽然,为了容易说明,上述实施例将每个存储器模块的大小取作256字节的情况作为示例,但是,此存储器模块的存储器大小也可按照需要采用适当的值。 
此外,虽然上述实施例将在启动计算机系统时和在重新配置存储器时根据实际地址区域使用表准备逻辑地址区域使用表的处理作为示例,但是,除此之外,还可以在适当的存储器配置时(诸如伴随电源故障而重新启动时,以及由于系统改变而导致重新配置时以及当检测到对于存储器模块的新的异常部分时),执行根据此实际地址区域使用表的准备处理。 
特别地,对于存储器模块的故障检测,当每次执行异常检测时,最好执行将所存储的实际地址区域使用表的对应区域的允许标记重新写为禁止使用的处理。结果,可以执行这样一种控制:其反映在CPU侧的存储器区域的使用上,实时地反映了由于存储器异常而导致的退步情况。 
此外,本发明包括不损害其目的和优点的适当的修改,并且,本发明不受上述实施例所示的数字的任何限制。 

Claims (15)

1.一种存储器控制方法,用于将来自CPU的逻辑地址转换为由元件选择地址和存储元件地址形成的实际地址并且访问多个存储元件,所述存储器控制方法包括:
交错控制步骤,用于将把逻辑地址空间划分成N个区域的所述CPU的逻辑地址转换为通过路线数量W确定的实际地址,并且通过交错控制来访问所述多个存储元件,并且能够通过不同的路线数量W的指定来重新配置存储器配置,所述交错控制是为所述路线数量W个存储器模块指定相同的地址并且在通过模块选择地址交替地转换模块时访问模块的控制;
实际地址区域管理步骤,用于当检测到存储元件的异常时,通过将由所述多个存储元件形成的实际地址空间划分为所述CPU逻辑地址空间的区域数量N与所述交错控制的最大路线数量Wmax相乘的多个区域,在记录有使用信息的实际地址区域使用表中包括异常部分的区域中记录禁止使用信息;以及
逻辑地址区域管理步骤,用于通过对应于通过所述交错控制步骤的所述路线数量W确定的存储器配置,根据所述实际地址区域使用表产生逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述逻辑地址区域使用表记录了关于所述逻辑地址空间中的每个区域的可以使用信息或者禁止使用信息。
2.按照权利要求1的存储器控制方法,其中,所述交错控制步骤通过指定任何不同的路线数量W来重新配置所述存储器配置,所述路线数量W是2的幂。
3.按照权利要求1的存储器控制方法,其中,所述交错控制步骤能够通过将所述路线数量指定为1或者2来重新配置所述存储器,
其中,所述实际地址管理步骤产生实际地址区域使用表,所述实际地址区域使用表记录了在每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将所述CPU逻辑地址空间的区域数量N与按照4位地址的所述交错控制的最大路线数量2相乘而划分得到的,所述4位地址是元件选择地址的低位2位、实际地址的最高有效位和所述实际地址的最低有效位,
其中,在通过一路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备一路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,其中,所述一路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位和所述实际地址区域使用表的所述实际地址的最高有效位,并且
此外,其中,在通过二路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备二路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,其中,所述二路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位的第2位、所述实际地址区域使用表的所述实际地址的最低有效位和所述实际地址的最高有效位。
4.按照权利要求1的存储器控制方法,其中,所述交错控制步骤能够通过将所述路线数量指定为1或者2来重新配置所述存储器,
其中,所述实际地址管理步骤产生实际地址区域使用表,所述实际地址区域使用表记录了在每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将所述CPU逻辑地址空间的区域数量N与按照4位地址的交错控制的最大路线数量2相乘而划分得到的,所述4位地址是所述元件选择地址的低位2位、所述实际地址的最高有效位和所述实际地址的最低有效位。
5.按照权利要求1的存储器控制方法,其中,所述交错控制步骤能够通过将所述路线数量指定为1或者2来重新配置所述存储器,
其中,在通过一路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备一路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述一路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位和所述实际地址区域使用表的所述实际地址的最低有效位。
6.按照权利要求1的存储器控制方法,其中
所述交错控制步骤能够通过将所述路线数量指定为1或者2来重新配置所述存储器,
其中,在通过一路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备二路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,其中,二路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位的第二位和所述实际地址区域使用表的所述实际地址的最高有效位。
7.按照权利要求1的存储器控制方法,其中,所述交错控制步骤能够通过将所述路线数量指定为1、2或者4来重新配置存储器,
其中,所述实际地址管理步骤产生实际地址区域使用表,所述实际地址区域使用表记录了在每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将CPU逻辑地址空间的区域数量N与按照5位地址的交错控制的最大路线数量4相乘而划分得到的,所述5位地址是所述元件选择地址的低位2位、所述实际地址的最高有效位、所述实际地址的低位2位,
其中,在通过一路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备一路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述一路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位和所述实际地址区域使用表的所述实际地址的最高有效位,
此外,其中,在通过二路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备二路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,二路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位的第2位、所述实际地址区域使用表的所述实际地址的最低有效位和所述实际地址的最高有效位,
并且此外,其中,在通过四路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备四路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述四路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位、所述实际地址区域使用表的所述实际地址的最高有效位。
8.按照权利要求1的存储器控制方法,其中,所述交错控制步骤能够通过将所述路线数量指定为1、2或者4来重新配置所述存储器,
其中,所述实际地址管理步骤产生实际地址区域使用表,所述实际地址区域使用表记录了在每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将所述CPU逻辑地址空间的区域数量N与按照5位地址的交错控制的最大路线数量4相乘而划分得到的,所述5位地址是所述元件选择地址的低位2位、所述实际地址的最高有效位、所述实际地址的低位2位。
9.按照权利要求1的存储器控制方法,其中,
所述交错控制步骤能够通过将所述路线数量指定为1、2或者4来重新配置所述存储器,
其中,在通过一路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备一路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述一路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位和所述实际地址区域使用表的所述实际地址的最高有效位。
10.按照权利要求1的存储器控制方法,其中,
所述交错控制步骤能够通过将所述路线数量指定为1、2或者4来重新配置所述存储器,
其中,在通过二路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备二路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述二路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位的第2位、所述实际地址区域使用表的所述实际地址的最低有效位和所述实际地址的最高有效位。
11.按照权利要求1的存储器控制方法,其中,
所述交错控制步骤能够通过将所述路线数量指定为1、2或者4来重新配置所述存储器,
其中,在通过四路线确定所述交错控制步骤的存储器配置的情况下,所述逻辑地址区域管理步骤准备四路线逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述四路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位和所述实际地址区域使用表的所述实际地址的最高有效位。
12.一种存储器控制装置,用于将来自CPU的逻辑地址转换为由元件选择地址和存储元件地址形成的实际地址并且访问多个存储元件,所述存储器控制装置包括:
交错控制单元,用于将将把逻辑地址空间划分成N个区域的所述CPU的逻辑地址转换为通过路线数量W确定的实际地址,并且通过交错控制来访问所述多个存储元件,并且能够通过不同的路线数量W的指定来重新配置存储器配置,所述交错控制是为所述路线数量W个存储器模块指定相同的地址并且在通过模块选择地址交替地转换模块时访问模块的控制;
实际地址区域管理单元,用于当检测到存储元件的异常时,通过将由所述多个存储元件形成的实际地址空间划分为逻辑地址空间的区域数量N与所述交错控制的最大路线数量Wmax相乘的多个区域,并准备记录有使用信息的对所有路线数量通用的实际地址区域使用表,来在记录有使用信息的实际地址区域使用表中包括异常部分的区域中记录禁止使用信息,以及
逻辑地址区域管理单元,用于通过对应于通过所述交错控制单元的所述路线数量W确定的存储器配置,根据所述实际地址区域使用表产生逻辑地址区域使用表,并且确定所述逻辑地址空间中被所述CPU使用的区域,所述逻辑地址区域使用表记录了所述逻辑地址空间中的每个区域中的可以使用信息或者禁止使用信息。
13.按照权利要求12的存储器控制装置,其中,所述交错控制单元通过指定任何不同的路线数量W来重新配置所述存储器配置,所述路线数量W是2的幂。
14.按照权利要求12的存储器控制装置,其中,所述交错控制单元能够通过将所述路线数量指定为1或者2来重新配置存储器,
其中,所述实际地址管理单元产生实际地址区域使用表,所述实际地址区域使用表记录了每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将CPU逻辑地址空间的区域数量N与按照4位地址的交错控制的最大路线数量2相乘而划分得到的,所述4位地址是所述元件选择地址的低位2位、所述实际地址的最高有效位和所述实际地址的最低有效位,
其中,在通过一路线确定交错控制单元的存储器配置的情况下,所述逻辑地址区域管理单元准备一路线逻辑地址区域使用表,并确定所述逻辑地址空间中被所述CPU使用的区域,所述一路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位和所述实际地址区域使用表的所述实际地址的最高有效位,并且
此外,其中,在通过二路线确定所述交错控制单元的存储器配置的情况下,所述逻辑地址区域管理单元准备二路线逻辑地址区域使用表,并确定所述逻辑地址空间中被所述CPU使用的区域,所述二路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位的第2位、所述实际地址区域使用表的所述实际地址的最低有效位和所述实际地址的最高有效位。
15.按照权利要求12的存储器控制装置,其中,所述交错控制单元能够通过将所述路线数量指定为1、2或者4来重新配置存储器,
其中,所述实际地址管理单元产生实际地址区域使用表,所述实际地址区域使用表记录了每个区域中的允许使用信息或者禁止使用信息,所述每个区域是通过将CPU逻辑地址空间的区域数量N与按照5位地址的交错控制的最大路线数量4相乘而划分得到的,所述5位地址是所述元件选择地址的低位2位、所述实际地址的最高有效位、所述实际地址的低位2位,
其中,在通过一路线确定交错控制单元的存储器配置的情况下,所述逻辑地址区域管理单元准备一路线逻辑地址区域使用表,并确定所述逻辑地址空间中被所述CPU使用的区域,所述一路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位和所述实际地址区域使用表的所述实际地址的最高有效位,
此外,其中,在通过二路线确定所述交错控制单元的存储器配置的情况下,所述逻辑地址区域管理单元准备二路线逻辑地址区域使用表,并确定所述逻辑地址空间中被所述CPU使用的区域,所述二路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位的第2位、所述实际地址区域使用表的所述实际地址的最低有效位和所述实际地址的最高有效位,
并且此外,其中,在通过四路线确定所述交错控制单元的存储器配置的情况下,所述逻辑地址区域管理单元准备四路线逻辑地址区域使用表,并确定所述逻辑地址空间中被所述CPU使用的区域,四路线逻辑地址区域使用表记录了在按照3位地址N分的每个区域中的允许使用信息或者禁止使用信息,所述3位地址是所述元件选择地址的低位2位、所述实际地址区域使用表的所述实际地址的最高有效位。
CN2005800518645A 2005-12-28 2005-12-28 用于控制存储器的方法和设备 Expired - Fee Related CN101292229B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/024053 WO2007077595A1 (ja) 2005-12-28 2005-12-28 メモリ制御方法、プログラム及び装置

Publications (2)

Publication Number Publication Date
CN101292229A CN101292229A (zh) 2008-10-22
CN101292229B true CN101292229B (zh) 2012-05-30

Family

ID=38227962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800518645A Expired - Fee Related CN101292229B (zh) 2005-12-28 2005-12-28 用于控制存储器的方法和设备

Country Status (6)

Country Link
US (1) US8219881B2 (zh)
EP (1) EP1967955A4 (zh)
JP (1) JP4810542B2 (zh)
KR (1) KR101011171B1 (zh)
CN (1) CN101292229B (zh)
WO (1) WO2007077595A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101553651B1 (ko) * 2009-10-13 2015-09-17 삼성전자 주식회사 다중 뱅크 메모리 액세스 장치
US9256531B2 (en) 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
CN103197999B (zh) * 2013-03-22 2016-08-03 北京百度网讯科技有限公司 一种内存故障自动定位方法及装置
US9495291B2 (en) * 2013-09-27 2016-11-15 Qualcomm Incorporated Configurable spreading function for memory interleaving
US9043638B1 (en) * 2014-11-14 2015-05-26 Quanta Computer Inc. Method for enhancing memory fault tolerance

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1198226A (zh) * 1995-09-27 1998-11-04 记忆体公共有限公司 存储系统
CN1241786A (zh) * 1998-06-30 2000-01-19 索尼株式会社 数据存储器、数据处理系统和方法
WO2002099809A2 (de) * 2001-06-05 2002-12-12 Infineon Technologies Ag Verfahren und vorrichtung zum ausblenden von nicht funktionstüchtigen speicherzellen

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5532188A (en) * 1978-08-29 1980-03-06 Nec Corp Reconstruction controller of memory module
JPS5552600A (en) * 1978-10-13 1980-04-17 Nec Corp Main memory unit
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
JPH01156852A (ja) * 1987-12-15 1989-06-20 Nec Corp インターリーブ制御方式
JPH02166543A (ja) 1988-12-21 1990-06-27 Nec Ibaraki Ltd 複数メモリ用動作制御装置
JPH0430231A (ja) * 1990-05-25 1992-02-03 Hitachi Ltd 主記憶アドレッシング方式
JPH04145557A (ja) 1990-10-05 1992-05-19 Nec Corp 記憶装置の障害処理方式
JPH04165548A (ja) 1990-10-30 1992-06-11 Fujitsu Ltd メモリアドレス制御方式
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
CA2116985C (en) * 1993-03-11 1999-09-21 Cynthia J. Burns Memory system
US5524231A (en) * 1993-06-30 1996-06-04 Intel Corporation Nonvolatile memory card with an address table and an address translation logic for mapping out defective blocks within the memory card
JP3645709B2 (ja) * 1998-04-28 2005-05-11 日本電気エンジニアリング株式会社 記憶装置
US6748480B2 (en) * 1999-12-27 2004-06-08 Gregory V. Chudnovsky Multi-bank, fault-tolerant, high-performance memory addressing system and method
JP3741258B2 (ja) * 2000-03-31 2006-02-01 シャープ株式会社 半導体記憶装置およびその救済方法
JP2002278836A (ja) * 2001-03-15 2002-09-27 Oki Electric Ind Co Ltd キャッシュメモリ
US6874070B2 (en) * 2002-02-22 2005-03-29 Hewlett-Packard Development Company, L.P. System and method for memory interleaving using cell map with entry grouping for higher-way interleaving
JP4145557B2 (ja) 2002-04-24 2008-09-03 東芝機械株式会社 主軸端面清掃機能を有する自動工具交換装置およびそのシーケンス制御装置
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
JP4165548B2 (ja) 2005-10-06 2008-10-15 株式会社日立製作所 利用条件販売型デジタルコンテンツ販売電子モールシステム
US7486537B2 (en) * 2006-07-31 2009-02-03 Sandisk 3D Llc Method for using a mixed-use memory array with different data states

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1198226A (zh) * 1995-09-27 1998-11-04 记忆体公共有限公司 存储系统
CN1241786A (zh) * 1998-06-30 2000-01-19 索尼株式会社 数据存储器、数据处理系统和方法
WO2002099809A2 (de) * 2001-06-05 2002-12-12 Infineon Technologies Ag Verfahren und vorrichtung zum ausblenden von nicht funktionstüchtigen speicherzellen

Also Published As

Publication number Publication date
US20080189493A1 (en) 2008-08-07
JPWO2007077595A1 (ja) 2009-06-04
EP1967955A4 (en) 2009-10-21
JP4810542B2 (ja) 2011-11-09
US8219881B2 (en) 2012-07-10
WO2007077595A1 (ja) 2007-07-12
CN101292229A (zh) 2008-10-22
KR101011171B1 (ko) 2011-01-26
KR20080049824A (ko) 2008-06-04
EP1967955A1 (en) 2008-09-10

Similar Documents

Publication Publication Date Title
CN100432872C (zh) 基于可分配的技术目标的工业控制方法
CN101739304B (zh) 用于测量设备的设备描述的产生
CN101292229B (zh) 用于控制存储器的方法和设备
CN1890630B (zh) 在寄存器和存储器之间移动数据的数据处理设备和方法
CN1894659B (zh) 在寄存器和存储器之间移动数据的数据处理设备和方法
CN1936869B (zh) 用于翻译地址的方法和系统
CN102667649A (zh) 基于多处理器的可编程逻辑控制器及其操作方法
CA2061599A1 (en) Storage-programmable control system
CN104169897B (zh) Pci高速地址解码的方法
US5668974A (en) Memory with variable levels of interleaving and associated configurator circuit
KR20110121568A (ko) 플랜트 제어 시스템 및 프로그램 재배치 방법
CN100437484C (zh) 多端口装置、配置该装置的方法及含该装置的计算机系统
CN105045635B (zh) 配置表文件的生成方法
KR20210050795A (ko) 철도 설비용 호환형 제어장치 및 이를 이용한 응용소프트웨어의 호환 방법
TW460832B (en) Editing apparatus and generating method for physical conversion definition
JP4778312B2 (ja) データ処理装置、プログラム、エディタ装置および記録媒体
CN107786367A (zh) 一种虚拟网元的配置方法和装置
CN100356346C (zh) 利用控制器映射在极端数据率存储器系统中的单元的方法和装置
US6636925B1 (en) Bus interface circuit preparation apparatus and recording medium
US5615218A (en) Test pattern generation device for semiconductor testing apparatus
US20070055810A1 (en) Memory access control device and processing system having same
JP4282961B2 (ja) 制御コントローラにおけるデータの入出力定義を行うシステム
SE458888B (sv) Saett vid digital dator foer tilldelning av oeversaettningsdata och nyckeltillstaand till dataminnen samt adressoeversaettare
US20070142946A1 (en) Method for the start-up of numerical controls of machine tools or production machinery and numerical control for machine tools or production machinery
EP4250093A1 (en) Memory configuration within a data processing system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530

Termination date: 20151228

EXPY Termination of patent right or utility model