CN1975682B - 实施目录组织以选择性地优化性能或可靠性的方法和设备 - Google Patents
实施目录组织以选择性地优化性能或可靠性的方法和设备 Download PDFInfo
- Publication number
- CN1975682B CN1975682B CN2006101470298A CN200610147029A CN1975682B CN 1975682 B CN1975682 B CN 1975682B CN 2006101470298 A CN2006101470298 A CN 2006101470298A CN 200610147029 A CN200610147029 A CN 200610147029A CN 1975682 B CN1975682 B CN 1975682B
- Authority
- CN
- China
- Prior art keywords
- catalogue
- reliability
- performance
- user
- pattern
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/082—Associative directories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
提供了一种用于实施目录组织以选择性地优化计算机系统中的性能或可靠性的方法和设备。目录包括用户选择操作模式,包括性能模式和可靠性模式。在可靠性模式中,更多的目录位用于错误校正和检测。在性能模式中,不用于错误校正和检测的回收目录位用于更多的结合。
Description
技术领域
本发明主要涉及数据处理领域,以及更具体地,涉及一种方法和设备用于实施目录结构以选择性地优化计算机系统中的性能或可靠性。
背景技术
多处理计算机系统包括多个处理器,每个处理器用于执行计算任务。一个特定的计算任务可以在一个处理器上执行,同时其他的处理器执行其他的与其无关的计算任务。作为选择,在多个处理器之间分布特定计算任务的组件,以降低执行整个计算任务所需的时间。
一个在商业上可用的多处理计算机系统是对称多处理器(SMP)系统。一个SMP计算机系统通常包括通过高速缓存层连接到共享总线的多个处理器。连接到共享总线的存储器被系统中多个处理器所共享。
很多计算机系统在主存储器上有两层高速缓存,分别称为L1和L2高速缓存。在L1和L2高速缓存之间以及在L2高速缓存和主存储器之间的传输单元称为高速缓存线。当前,典型的计算机系统具有固定的线尺寸,通常对于L1及L2高速缓存的线尺寸相同。用于跟踪高速缓存线的目录包括高速缓存目录、探听过滤器以及远程目录。
目录有多种结合方式,该结合典型地具有保留标签信息或部分高速缓存线地址;状态域,例如变更的、专有的、共享的、无效的(MESI)状态,典型地用于高速缓存管理;以及ECC域,用于提供错误校正和/或错误检测信息。因为一个结合的所有类被并行访问,所以错误校正/检测位通常包括所有在单次目录访问中检索到的结合的类。这样做是为了效率以便分配用于错误校正/检测的位数目最小。
错误校正/检测能在每个目录条目中分开地完成,代价是一个额外的存储单元用于保留额外的错误校正/检测位。
在有些计算机应用中,性能比可靠性更重要。如果错误发生,应用可以重启。这样的例子是工程和科学计算。通过从之前的已知状态重启可以在错误发生后恢复结果。
在其他的计算机应用中,可靠性比性能更重要。如果错误发生,就会对业务产生重大的影响。这样的例子是业务交易计算。如果在交易过程中发生错误,将无法再恢复这个交易。
在获得最好的性能或以最佳的稳定性运行间存在折衷。例如,用于提供高可靠性的错误检测和校正逻辑会消耗宝贵的集成电路裸片面积(silicon real estate),而集成电路裸片面积也可替代用于提升性能。错误检测和校正在计算机逻辑中也增加了到关键路径的延时。
需要有一种能够有效地优化计算机系统性能或可靠性的机制。理想情况下,用户能够根据特定的应用选择为性能或可靠性配置同一块硅。
发明内容
本发明的主要方面是提供一种方法和设备,用于实施目录组织以选择性地优化计算机系统中的性能或可靠性。本发明的另一个重要方面是提供这种方法和设备,用于实施目录组织以选择性地充分优化计算机系统中的性能或可靠性而不会带来负面影响,并克服现有技术安排中的许多缺点。
简而言之,提供了一种方法和设备,用于实施目录组织以选择性地优化计算机系统中的性能或可靠性。目录包括用户选择操作模式,其中用户选择操作模式包括性能模式和可靠性模式。在可靠性模式中,具有预定义的目录位数目的目录行用于错误校正和检测。在性能模式中,不用于错误校正和检测的回收(reclaim)目录位用于更多的结合。
根据本发明的特征,一个或多个目录位在性能模式中用于奇偶校验检查。在初始程序载入(IPL)时或在运行时间期间选择性能模式或可靠性模式。当用户选择的操作模式在运行时间期间被改变时,在模式发生变化前提供一个目录刷新。
根据本发明的特征,可选地,性能模式或可靠性模式被选择用于特定的应用,并且目录包括用于性能模式和可靠性模式的并发条目。每个目录行在目录的每一行包括一个位,用于指定该行当前使用的目录格式,允许两种格式在同一目录阵列中共存。当用户选择的操作模式在运行时间期间变化时,不需要针对变化的模式的目录刷新。
附图说明
本发明和上述及其他目标和优点可以从对附图中示出的本发明优选实施例的下面的详细描述中得到最好的理解:
图1是用于表示示例性计算机系统的框图,其根据优选的实施例用于实施选择性的目录组织以实现性能或可靠性;
图2A、2B和2C是示出根据优选实施例的各个示例性的选择性目录组织的框图表示,该选择性目录组织用于实现性能或可靠性;以及
图3是示出根据优选的实施例的示例性用于选择性地实施性能或可靠性的写和读目录的逻辑实施的框图。
具体实施方式
根据本发明的特征,提供一个控制寄存器,其配置目录行的排列。如果给定的应用需要高可靠性,则将更多的目录位用于错误校正/检测。如果高性能最关键而错误可以容忍,则将较少位或者零位会用于错误校正,并且可将这些错误校正位用于结合的更多方式。结合的更多方式可以使目录跟踪更多的高速缓存线,带来更高的性能。
根据本发明的特征,目录中的预定义的阵列存储位例如被用于在高可靠性模式操作中支持完整的单错校正双错检测(SECDED)。在高性能模式中,这些在目录中的存储位被取代用于额外的目录条目(标签/MESI)。任何备用位可选地被用为简单奇偶检查以提供单位错误检测。
现在参照附图,在图1中,所示的高速缓存相关的对称多处理器(SMP)计算机系统整体上标识为标号100,用于实施根据优选实施例的选择性目录组织以实现性能或可靠性。计算机系统100包括多个处理器0-N102,每个包含各自的第一高速缓存L1存储器0-N104和第二更高层L2高速缓存0-N106,它们通过互连或共享系统总线108连接到共享存储器110和耦合到共享存储器110的存储器控制器112。
在简化形式中所示的计算机系统100足以用于理解本发明。应当理解本发明并不局限于与图1所示的高速缓存相关的对称多处理器(SMP)计算机系统100一起使用。例如,计算机系统100并不局限于所示的两层高速缓存104、106,也能够使用多个附加分布式高速缓存。
根据本发明的特征,用户可以针对根据优选实施例的用于实现高性能或高可靠性的选择性目录组织,选择可靠性模式或性能模式。用户也能选择例如在白天以高可靠性模式运行,然后用户在晚上运行那些容易恢复但需要优化的性能的程序,所以用户为夜间运行选择高性能模式。
根据本发明的特征,用户可以在初始程序载入(IPL)时选择可靠性模式或性能模式。这种模式可以在运行时间中改变,但是必须在模式变化前进行目录刷新。
根据本发明的特征,目录中的每一行的位可以指定当前用于这一行的目录格式,允许两种格式在同一阵列中共存。这种方法允许用户在运行时间中切换模式而不需实施目录刷新。
图2A、2B和2C示出一个例子的实施,其使用一个128位宽1024深的阵列的目录,用于实施根据优选实施例的选择性目录组织以实现性能和可靠性。应当理解,图示的实施支持也可以由用户改变的高性能和高可靠性模式,以便在初识程序载入(IPL)和运行时间期间进行模式切换。
参照图2A,每个目录行包括整体上由标号200标识的多个域,包含标签域202,如10位标签;和状态域204,如用于变更、专有、共享、无效(MESI)状态的4个位。根据优选实施例,标签域202以及状态域204包含在目录条目中,用于实现性能和可靠性。
参照图2B,图示一个示例性目录行,整体上由标号210标识,用于实施根据优选实施例的性能模式。对于示例性的128位宽的阵列格式,性能模式目录行210包括目录位0-69上的奇偶校验位127和目录位70-126上的奇偶校验位128。
参照图2C,图示一个示例性目录行,整体上由标号250标识,用于实施根据优选实施例的可靠性模式。。对于示例性的128位宽的阵列格式,可靠性模式目录行250包括ECC域,所述多个ECC域包括提供错误检测和错误校正信息的ECC位112-128。
参照图3,图示一个示例性读和写目录的逻辑实施,整体上由标号300标识,用于根据优选实施例选择性地实施性能或可靠性。控制寄存器302接收针对性能模式或可靠性模式用户选择的操作模式的输入。一对多路复用器304、306分别接收输入8和ECC以及ECC和奇偶校验位,并且响应于由控制寄存器302施加的用于所选性能模式或可靠性模式的选择控制性号,将各个结合输入耦合到目录阵列310。在性能模式中,由14位/路+1个奇偶校验位结合的9路使用127位宽的目录阵列310。在可靠性模式中,由14位/路+16ECC位结合的8路使用128位宽的目录阵列310。在可靠性模式中,8以外的结合类没有被使用。
应当理解本发明可以应用于任何支持对于存储内容进行错误校正和/或检测的存储应用,例如,包括图1的计算机系统100中所示的数据高速缓存104、106和主存储器110。
本发明参考在附图中所示的本发明实施例的细节进行了描述,这些细节并不意在限制附加的权利要求中要求保护的本发明的范围。
Claims (16)
1.一种用于实施目录组织以选择性地优化计算机系统中的性能或可靠性的方法,包括:
接收性能模式和可靠性模式的用户选择操作模式;
响应于可靠性模式的用户选择操作模式,提供具有预定义数量的用于错误校正和检测的目录位的目录行;以及
响应于性能模式的用户选择操作模式,提供具有少于所述预定义数量的用于错误校正和检测的目录位的目录行;
其中接收用户选择操作模式还包括接收在运行时间过程中用户选择的性能模式或用户选择的可靠性模式,以及其中响应于在运行时间过程中用户选择操作模式的变化,在模式变化前提供目录刷新。
2.根据权利要求1所述的用于实施目录组织以选择性地优化性能或可靠性的方法,还包括:响应于所述性能模式的用户选择操作模式,提供预定义目录位用于奇偶校验。
3.根据权利要求1所述的用于实施目录组织以选择性地优化性能或可靠性的方法,还包括:提供所述目录行的每一行都具有格式位,所述格式位识别所述目录行的可靠性模式或性能模式的目录格式。
4.根据权利要求3所述的用于实施目录组织以选择性地优化性能或可靠性的方法,还包括:提供用于性能模式和可靠性模式的并发目录行。
5.根据权利要求1所述的用于实施目录组织以选择性地优化性能或可靠性的方法,其中接收用户选择操作模式还包括接收在初始程序载入IPL过程中用户选择的性能模式或用户选择的可靠性模式。
6.根据权利要求1所述的用于实施目录组织以选择性地优化性能或可靠性的方法,还包括:响应于性能模式的用户选择操作模式,提供比可靠性模式更多的目录条目。
7.根据权利要求1所述的用于实施目录组织以选择性地优化性能或可靠性的方法,还包括:提供每个目录行都具有包含预定义位的标签域和包含预定义位的状态域。
8.根据权利要求1所述的用于实施目录组织以选择性地优化性能或可靠性的方法,还包括:响应于性能模式的用户选择操作模式,提供比可靠性模式更多的结合方式。
9.一种用于实施目录组织以选择性地优化计算机系统中的性能或可靠性的设备,包括:
用于接收性能模式和可靠性模式的用户选择操作模式的装置;
用于响应于可靠性模式的用户选择操作模式而提供具有预定义数量的用于错误校正和检测的目录位的目录行的装置;以及
用于响应于性能模式的用户选择操作模式而提供具有少于所述预定义数量的用于错误校正和检测的目录位的目录行的装置;
其中用于接收性能模式和可靠性模式的用户选择操作模式的装置还包括:用于接收在运行时间过程中用户选择的性能模式或用户选择的可靠性模式的装置,以及用于响应于在运行时间过程中用户选择操作模式的变化而在模式变化前提供目录刷新的装置。
10.根据权利要求9所述的用于实施目录组织以选择性地优化性能或可靠性的设备,还包括:用于响应于所述性能模式的用户选择操作模式而提供预定义目录位用于奇偶校验的装置。
11.根据权利要求9所述的用于实施目录组织以选择性地优化性能或可靠性的设备,还包括:用于提供所述目录行的每一行都具有格式位的装置,所述格式位识别所述目录行的可靠性模式或性能模式的目录格式。
12.根据权利要求11所述的用于实施目录组织以选择性地优化性能或可靠性的设备,还包括:用于提供用于性能模式和可靠性模式的并发目录行的装置。
13.根据权利要求9所述的用于实施目录组织以选择性地优化性能或可靠性的设备,其中用于接收性能模式和可靠性模式的用户选择操作模式的装置包括:用于接收在初始程序载入IPL过程中用户选择的性能模式或用户选择的可靠性模式的装置。
14.根据权利要求9所述的用于实施目录组织以选择性地优化性能或可靠性的设备,还包括:用于响应于性能模式的用户选择操作模式而提供比可靠性模式更多的目录条目的装置。
15.根据权利要求9所述的用于实施目录组织以选择性地优化性能或可靠性的设备,还包括:用于提供每个目录行都具有包含预定义位的标签域和包含预定义位的状态域的装置。
16.根据权利要求9所述的用于实施目录组织以选择性地优化性能或可靠性的设备,还包括:用于响应于性能模式的用户选择操作模式而提供比可靠性模式更多的结合方式的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/290,894 | 2005-11-30 | ||
US11/290,894 US7707463B2 (en) | 2005-11-30 | 2005-11-30 | Implementing directory organization to selectively optimize performance or reliability |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1975682A CN1975682A (zh) | 2007-06-06 |
CN1975682B true CN1975682B (zh) | 2012-10-03 |
Family
ID=38125765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101470298A Active CN1975682B (zh) | 2005-11-30 | 2006-11-13 | 实施目录组织以选择性地优化性能或可靠性的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7707463B2 (zh) |
CN (1) | CN1975682B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589742B2 (en) * | 2009-03-09 | 2013-11-19 | William Marsh Rice University | Computing device using inexact computing architecture processor |
US9753858B2 (en) | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
JP5464226B2 (ja) | 2012-03-30 | 2014-04-09 | 富士通株式会社 | 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム |
US20130346695A1 (en) * | 2012-06-25 | 2013-12-26 | Advanced Micro Devices, Inc. | Integrated circuit with high reliability cache controller and method therefor |
US8812915B2 (en) * | 2012-09-27 | 2014-08-19 | Hewlett-Packard Development Company, L.P. | Determining whether a right to use memory modules in a reliability mode has been acquired |
US8984368B2 (en) | 2012-10-11 | 2015-03-17 | Advanced Micro Devices, Inc. | High reliability memory controller |
US10375038B2 (en) | 2016-11-30 | 2019-08-06 | International Business Machines Corporation | Symmetric multiprocessing management |
US11126498B2 (en) | 2019-02-19 | 2021-09-21 | Micron Technology, Inc. | Memory device with configurable error correction modes |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875464A (en) * | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5019971A (en) * | 1987-04-13 | 1991-05-28 | Prime Computer, Inc. | High availability cache organization |
US5515529A (en) * | 1994-03-25 | 1996-05-07 | Bull Hn Information Syst | Central processor with duplicate basic processing units employing multiplexed data signals to reduce inter-unit conductor count |
US5958068A (en) * | 1997-04-14 | 1999-09-28 | International Business Machines Corporation | Cache array defect functional bypassing using repair mask |
US6212631B1 (en) * | 1999-01-15 | 2001-04-03 | Dell Usa, L.P. | Method and apparatus for automatic L2 cache ECC configuration in a computer system |
US6505308B1 (en) * | 1999-10-28 | 2003-01-07 | Lsi Logic Corporation | Fast built-in self-repair circuit |
US6826580B2 (en) * | 2000-01-20 | 2004-11-30 | Emc Corporation | Distributed storage resource management in a storage area network |
US6732234B1 (en) * | 2000-08-07 | 2004-05-04 | Broadcom Corporation | Direct access mode for a cache |
US6671822B1 (en) * | 2000-08-31 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache |
JP2002222061A (ja) * | 2001-01-25 | 2002-08-09 | Hitachi Ltd | 記憶領域を設定する方法、記憶装置およびプログラム記憶媒体 |
US6691252B2 (en) * | 2001-02-23 | 2004-02-10 | Hewlett-Packard Development Company, L.P. | Cache test sequence for single-ported row repair CAM |
US6571317B2 (en) * | 2001-05-01 | 2003-05-27 | Broadcom Corporation | Replacement data error detector |
US6871297B2 (en) * | 2002-04-11 | 2005-03-22 | Lsi Logic Corporation | Power-on state machine implementation with a counter to control the scan for products with hard-BISR memories |
US7017094B2 (en) * | 2002-11-26 | 2006-03-21 | International Business Machines Corporation | Performance built-in self test system for a device and a method of use |
US7225300B1 (en) * | 2004-09-15 | 2007-05-29 | Azul Systems, Inc | Duplicate snoop tags partitioned across multiple processor/cache chips in a multi-processor system |
-
2005
- 2005-11-30 US US11/290,894 patent/US7707463B2/en active Active
-
2006
- 2006-11-13 CN CN2006101470298A patent/CN1975682B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875464A (en) * | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
Also Published As
Publication number | Publication date |
---|---|
US20070168762A1 (en) | 2007-07-19 |
CN1975682A (zh) | 2007-06-06 |
US7707463B2 (en) | 2010-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1975682B (zh) | 实施目录组织以选择性地优化性能或可靠性的方法和设备 | |
CN101981541B (zh) | 使用闪存和有限功能存储器控制器来引导电子设备 | |
CN102216904B (zh) | 用于数据处理系统中的高速缓存的可编程错误动作 | |
CN1894662B (zh) | 作为用于执行引导码的ram的处理器缓存存储器 | |
CN101369247B (zh) | 创建存储器缺陷映射表并使用该映射表优化性能的方法 | |
CN1799034B (zh) | 利用基于树的结构的设备、系统和方法 | |
CN106463179B (zh) | 利用存储器控制器处理数据错误事件的方法、装置和系统 | |
CN100401246C (zh) | 用于备选锁定设施连接路径的装置、系统和方法 | |
CN101292226B (zh) | 用于线程通信和同步的设备、系统和方法 | |
JP2007535760A (ja) | 開発インターフェースに対する適用性を有するデータ処理システム内におけるマスキング | |
CN101627372A (zh) | 选择性地利用多个异类固态存储位置 | |
CN102138129A (zh) | 用于数据处理系统中的统一高速缓存的错误检测方案 | |
CN102576569A (zh) | 原位内存退火 | |
CN105359109A (zh) | 基于次计算机中的存储器错误移动主计算机中的对象 | |
CN105550155A (zh) | 用于多处理器系统的探听过滤器以及相关探听过滤方法 | |
CN101116063A (zh) | 具有高速缓存内存之系统及访问方法 | |
CN102495742A (zh) | Bios的刷新方法和装置、以及计算机 | |
CN101676887B (zh) | 一种基于ahb总线结构的总线监听方法及装置 | |
KR20180092715A (ko) | 동작들의 횟수에 기초하여 복제된 데이터를 관리하는 스토리지 장치 | |
US6199153B1 (en) | Method and apparatus for minimizing pincount needed by external memory control chip for multiprocessors with limited memory size requirements | |
CN104636271B (zh) | 访问命令/地址寄存器装置中存储的数据 | |
US20100268999A1 (en) | Memory testing with snoop capabilities in a data processing system | |
US8587981B2 (en) | Memory, computing system and method for checkpointing | |
US7747896B1 (en) | Dual ported replicated data cache | |
KR102586741B1 (ko) | 메모리 시스템 및 그것의 동작방법 |
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 |