[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100878550B1 - 메모리 컨트롤러 및 메모리 제어 방법 - Google Patents

메모리 컨트롤러 및 메모리 제어 방법 Download PDF

Info

Publication number
KR100878550B1
KR100878550B1 KR1020070048555A KR20070048555A KR100878550B1 KR 100878550 B1 KR100878550 B1 KR 100878550B1 KR 1020070048555 A KR1020070048555 A KR 1020070048555A KR 20070048555 A KR20070048555 A KR 20070048555A KR 100878550 B1 KR100878550 B1 KR 100878550B1
Authority
KR
South Korea
Prior art keywords
error
data
address line
memory
request
Prior art date
Application number
KR1020070048555A
Other languages
English (en)
Other versions
KR20080016435A (ko
Inventor
야스후미 혼다
Original Assignee
후지쯔 가부시끼가이샤
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 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20080016435A publication Critical patent/KR20080016435A/ko
Application granted granted Critical
Publication of KR100878550B1 publication Critical patent/KR100878550B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/846Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by choosing redundant lines at an output stage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 메모리 이중화 시스템에서, 장해 정보에 대하여 실시간으로 대처하는 동시에, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것을 과제로 한다.
LDX# 1 및 LDX# 0은 각각이 소지하는 ECC 정보(ECC 체크를 위한 정보)를 교환하여 ECC 체크를 행하고, 요청 데이터의 일부에 대해서 각각 ECC(Error Correcting Code) 체크를 행하여 어드레스선에 에러가 발생하고 있는지의 여부를 추정한다. 구체적으로는, 예컨대 LDX# 0은 요청 데이터의 일부에 관한 ECC 체크 결과인 신드롬(진단 정보)을 작성하고, 이 신드롬으로부터 파악되는 요청 데이터의 일부에 관한 에러의 상황에 따라 예컨대 요청 데이터의 대부분이 정정 불가능 에러를 일으키고 있는 경우에는 어드레스선에 에러가 발생하고 있는 것으로 추정한다.

Description

메모리 컨트롤러 및 메모리 제어 방법{MEMORY CONTROLLER AND METHOD OF CONTROLLING MEMORY}
도 1은 실시예 1에 따른 메모리 컨트롤러의 개요 및 특징을 설명하기 위한 도면.
도 2는 실시예 1에 따른 메모리 컨트롤러를 적용한 시스템 구성도.
도 3은 실시예 1에 따른 시스템 보드 및 메모리 컨트롤러의 구성을 도시하는 블록도.
도 4는 실시예 1에 따른 메모리 컨트롤러의 처리흐름을 도시하는 흐름도.
도 5는 실시예 2에 따른 시스템 보드 및 메모리 컨트롤러의 구성을 도시하는 블록도.
도 6은 스레시홀드 테이블의 구성예를 도시하는 도면.
도 7은 실시예 2에 따른 메모리 컨트롤러의 처리흐름을 도시하는 흐름도.
도 8은 실시예 3에 따른 시스템 보드 및 메모리 컨트롤러의 구성을 도시하는 블록도.
도 9는 실시예 3에 따른 메모리 컨트롤러의 처리흐름을 도시하는 흐름도.
도 10은 실시예 4에 따른 시스템 보드 구성도.
도 11은 실시예 4에 따른 시스템 보드 구성도.
<도면의 주요 부분에 대한 부호의 설명>
0 내지 3, 0' 내지 3': DIMM
10: MMB
20: GDX
30: GAC
40: SB
50: IOU
본 발명은 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템에서, 이 메모리를 제어하는 메모리 컨트롤러 등에 관한 것이다.
종래부터, 데이터 처리 장치 등에, 예컨대 DIMM(Dual Inline Memory Module) 등을 이용한 메모리 이중화 시스템을 적용함으로써, 데이터 처리 장치 등의 신뢰도를 향상시키는 기술이 개시되어 있다.
예컨대, 특허 문헌 1에서는 메모리 이중화 시스템의 초기 진단시에, 장해 정보를 어드레스 단위로 관리하고, 이중화된 메모리의 편계(片系)에 2비트 이상의 고정 장해를 검출한 경우라도, 다른 시스템으로의 전환을 행하여 리커버리를 도모하는 기능을 유효하게 살리며, 메모리 이중화 시스템의 신뢰성을 향상시키는 기술이 개시되어 있다. 구체적으로는, 초기 진단시에 이중화된 메모리의 편계에 2비트 이상의 고정 장해를 검출한 경우, 대응하는 메모리의 어드레스만을 무효 또는 유효를 지시함과 함께, 이 어드레스에 관한 무효 신호를 출력하여 비교 회로를 무효화시키고, 어드레스가 유효하다고 지시하고 패리티 에러를 검출하지 않는 어드레스를 갖는 메모리의 데이터 사용을 지시함으로써, 메모리 이중화 시스템의 신뢰성을 향상시키고 있다.
[특허 문헌 1] 일본 특허 공개 평7-160587호 공보
그러나 상기한 종래의 기술은 장해 정보에 대해 실시간으로 대처할 수 없는 시스템 다운이 발생할 가능성이 있는 등의 문제점이 있었다.
즉, 상기한 종래의 기술은 메모리 이중화 시스템의 초기 진단에 있어서의 장해 정보에 기초하여, 메모리 이중화 시스템의 신뢰성을 향상하는 기술이기 때문에, 시스템 기동에 보고되는 장해 정보에 대하여 대처할 수 없다고 하는 문제점이 있었다.
또한, 상기한 종래의 기술에 있어서, 메모리 이중화 시스템인 DIMM의 어드레스선은 에러로부터 보호되고 있지 않기 때문에 어드레스선에 에러가 발생하여도 인식되지 않고, 잘못된 어드레스의 데이터를 사용해 버릴 위험이 있었다. 이를 방지하기 위해 복수의 DIMM(예컨대 2개의 DIMM)으로 하나의 ECC(Error Correcting Code) 에러 체크 단위를 편성하는 기술이 있지만, 일정한 확률로 ECC가 일치되어 버림으로써 데이터 깨짐이 발생할 가능성이 있고, ECC의 우발적인 일치에 의한 데 이터 깨짐이 발생하는 것이라면 이중화된 메모리의 시스템 전환을 행하여 에러의 리커버리를 도모하는 경우에도 어느 시스템을 선택해야 할지가 어려우며, 그 결과 시스템 다운이 발생할 가능성이 있다고 하는 문제점이 있었다.
따라서, 본 발명은 전술한 종래 기술의 과제를 해결하기 위해 이루어진 것으로, 메모리 이중화 시스템에서, 장해 정보에 대하여 실시간으로 대처하는 동시에, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능한 메모리 컨트롤러 및 메모리 제어 방법을 제공하는 것을 목적으로 한다.
전술한 과제를 해결하고, 목적을 달성하기 위해 청구항 1에 따른 발명은 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템에서, 이 메모리를 제어하는 메모리 컨트롤러로서, 상기 시스템 내에 있어서 요청이 있었던 경우에, 이 요청마다 실행하는 이 요청에 관한 데이터의 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 에러 추정 수단과, 상기 에러 추정 수단에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는, 상기 요청에 관한 데이터의 에러 데이터를 생성하여, 이 요청에 관한 데이터를 에러 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하는 데이터 전환 제어 수단을 포함하는 것을 특징으로 한다.
또한, 제2항에 따른 발명은 상기의 발명에 있어서, 상기 에러 추정 수단은 접속된 상기 복수의 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 한다.
또한, 제3항에 따른 발명은 상기의 발명에 있어서, 상기 에러 추정 수단은 접속된 상기 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 한다.
또한 제4항에 따른 발명은 상기의 발명에 있어서, 상기 에러 추정 수단은 접속된 상기 복수의 메모리마다 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 한다.
또한, 제5항에 따른 발명은 상기의 발명에 있어서, 상기 에러 추정 수단은 상기 에러 검사 결과로서 얻어지는 정정 불가능 에러의 발생 횟수를 계수하는 동시에, 이 발생 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하는 것을 특징으로 한다.
또한 제6항에 따른 발명은 상기의 발명에 있어서, 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 수단을 더 포함하는 것을 특징으로 한다.
또한, 제7항에 따른 발명은 상기의 발명에 있어서, 상기 에러 추정 수단에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에, 에러 검사를 재시행하여 이 에러 검사의 재시행 결과에 따라 이 어드레스선에 에러가 발생하지 않는 것으로 판정하는 판정 수단을 더 포함하며, 상기 데이터 전환 제어 수단은 상기 판정 수단에 의해 상기 어드레스선에 에러가 발생하지 않는 것으로 판정된 경우에는, 상기 생성된 에러 데이터를 상기 요청에 관한 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터 사용을 복귀하도록 제어하는 것을 특징으로 한다.
또한, 제8항에 따른 발명은 상기 발명에 있어서, 상기 판정 수단은 상기 에러 검사의 재시행 결과로서 얻어지는 에러 없음의 횟수를 계수하는 동시에, 이 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하는 것을 특징으로 한다.
또한, 제9항에 따른 발명은 상기 발명에 있어서, 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 수단을 더 포함하는 것을 특징으로 한다.
또한, 제10항에 따른 발명은 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템에서, 이 메모리를 제어하는 메모리 컨트롤러에 적용되는 메모리 제어 방법으로서, 상기 시스템 내에 있어서 요청이 있었던 경우에, 이 요청마다 실행하는 이 요청에 관한 데이터의 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 에러 추정 공정과, 상기 에러 추정 공정에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는, 상기 요청에 관한 데이터의 에러 데이터를 생성하여, 이 요청에 관한 데이터를 에러 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하는 데이터 전환 제어 공정을 포함하는 것을 특징으로 한다.
[실시예]
이하에 첨부 도면을 참조하여, 본 발명에 따른 메모리 컨트롤러 및 메모리 제어 방법의 실시예를 상세하게 설명한다. 또한 이하에서는 본 발명에 따른 메모리 컨트롤러를 적용한 시스템을 실시예 1로서 설명한 후에, 본 발명에 포함되는 다른 실시예를 설명한다.
[실시예 1]
이하의 실시예 1에서는, 실시예 1에 따른 메모리 컨트롤러의 개요 및 특징, 메모리 컨트롤러의 구성 및 처리를 순서대로 설명하고, 마지막으로 실시예 1에 의한 효과를 설명한다.
[메모리 컨트롤러의 개요 및 특징(실시예 1)]
우선 먼저, 도 1을 이용하여, 실시예 1에 따른 메모리 컨트롤러의 개요 및 특징을 설명한다. 도 1은 실시예 1에 따른 메모리 컨트롤러의 개요 및 특징을 설명하기 위한 도면이다.
실시예 1에 따른 메모리 컨트롤러는 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템(미러)에서 메모리를 제어하는 것을 개요로 하지만, 장해 정보에 대하여 실시간으로 대처하는 동시에, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능한 점에 주된 특징이 있다.
이 주된 특징에 대해서 구체적으로 설명하면 도 1에 도시하는 바와 같이, 실시예 1에 따른 메모리 컨트롤러(LDX# 0 내지 3)를 적용하는 시스템은 DIMM 1에 접속되는 LDX# 1 및 DIMM 0에 접속되는 LDX# 0과, DIMM 3에 접속되는 LDX# 3 및 DIMM 2에 접속되는 LDX# 2로 미러를 구성하고, DIMM 1 및 DIMM 0으로 데이터 단위를 구 성하는 동시에, DIMM 1에 접속되는 LDX# 1 및 DIMM 0에 접속되는 LDX# 0으로 에러 검사 단위인 ECC 체크 단위를 구성하고 있다.
SB(시스템 보드)# 0 내의 CPU 1로부터 어드레스와 함께 데이터의 요청이 출력되면[도 1의 (1) 참조], 예컨대 어드레스선 에러를 발생시키고 있는 DIMM(Dual Inline Memory Module) 0으로부터 요청 데이터의 일부가 LDX(메모리 컨트롤러)# 0에 출력되고[도 1의 (2) 참조], 나머지의 요청 데이터가 DIMM 1로부터 LDX# 1에 출력된다.
LDX# 1 및 LDX# 0은 각각이 소지하는 ECC 정보(ECC 체크를 위한 정보)를 교환하여 ECC 체크를 행하고, 요청 데이터의 일부에 대해서 각각 ECC(Error Correcting Code) 체크를 행하여, 어드레스선에 에러가 발생하고 있는지의 여부를 추정한다[도 1의 (3) 참조]. 구체적으로는, 예컨대 LDX# 0은 요청 데이터의 일부에 관한 ECC 체크 결과인 신드롬(진단 정보)을 작성하고, 이 신드롬으로부터 파악되는 요청 데이터의 일부에 관한 에러의 상황에 따라 예컨대 요청 데이터의 대부분이 정정 불가능 에러를 일으키고 있는 경우에는, 어드레스선에 에러가 발생하고 있는 것으로 추정한다. 또한, LDX# 0이 어드레스선에 에러가 발생하고 있는 것으로 추정하는 경우에는, LDX# 1도 마찬가지로 어드레스선에 에러가 발생하고 있는 것으로 추정한다.
어드레스선에 에러가 발생하고 있는 것으로 추정한 경우에는, LDX# 1 및 LDX# 0은 각각이 관리하는 요청 데이터의 일부에 대해서 에러 데이터를 생성하여, 요청 데이터의 일부를 각각이 생성한 에러 데이터로 전환한다[도 1의 (4) 참조]. 그리고 LDX# 1 및 LDX# 0은 미러의 편계를 구성하는 DIMM 1 및 DIMM 0에 기록되어 있는 데이터를 사용하지 않도록 제어하기 위해, 전환한 에러 데이터를 FLN(비교 회로)에 출력한다[도 1의 (5) 참조].
FLN은 미러의 다른 한 쪽의 편계를 구성하는 LDX# 3 및 LDX# 2로부터 입력된 요청 데이터와, LDX# 1 및 LDX# 0으로부터 입력된 데이터를 비교함에 있어서[도 1의 (6) 참조], LDX# 1 및 LDX# 0으로부터 입력된 데이터가 에러 데이터이기 때문에, 비교의 대상으로서 채용하지 않고, LDX# 3 및 LDX# 2로부터 입력되었거나 요청 데이터를 요청원인 CPU1에 출력한다[도 1의 (7) 참조].
이러한 것으로부터, 실시예 1에 의하면, 전술한 주된 특징과 같이, 메모리가 이중화된 시스템(미러)에 있어서, 어드레스선의 추정 에러 정보 등의 장해 정보에 대하여 실시간으로 대처할 수 있는 동시에, 어드레스선의 에러에 기인하여 데이터 깨짐이 발생하였다고 하여도, 메모리가 이중화된 시스템(미러) 내의 FLN(비교 회로)으로 데이터를 비교시키기 전에, 생성한 에러 데이터로 전환하여 비교시키지 않도록 할 수 있고, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능하다.
[메모리 컨트롤러 등의 구성(실시예 1)]
다음에, 도 2를 이용하여, 실시예 1에 따른 메모리 컨트롤러를 적용한 시스템 구성을 설명하는 동시에, 도 3을 이용하여 실시예 1에 따른 시스템 보드 및 메모리 컨트롤러의 구성을 설명한다. 도 2는 실시예 1에 따른 메모리 컨트롤러를 적용한 시스템 구성도이며, 도 3은 실시예 1에 따른 시스템 보드 및 메모리 컨트롤러 의 구성을 도시하는 블록도이다.
도 2에 도시한 바와 같이, 실시예 1에 따른 메모리 컨트롤러를 적용한 시스템은 MMB(10)와, GDX(Data Crossbar)(20)와, GAC(Address Crossbar)(30)와, SB(시스템 보드)(40)와, IOU(Imput/Output Unit)(50)로 구성된다.
MMB(10)는 GDX(20), GAC(30), SB(40) 및 IOU(50)에 관한 각종 제어를 행하는 제어 장치이다. GDX(20)는 SB(40) 및 IOU(50) 사이에서 데이터를 주고받기 위한 중계 장치이다. GAC(30)는 SB(40) 및 IOU(50)로부터 입력되거나 요청 또는 요청 응답의 중계를 제어하는 중계 장치이다. SB(40)는 DIMM(메모리), LDX(메모리 컨트롤러)나 CPU 등을 배치하여 구성되고, 각종 정보 처리를 제어하는 보드이다. IOU(50)는 외부로부터 접속되는 외부 장치의 입출력 인터페이스를 배치하여 구성되는 보드이다.
다음에, 도 3에 도시하는 바와 같이, SB(40)는 DIMM 3에 접속되는 LDX# 3 및 DIMM 2에 접속되는 LDX# 2와, DIMM 1에 접속되는 LDX# 1 및 DIMM 0에 접속되는 LDX# 0을 배치하여 미러를 구성하는 동시에, CPU 및 FLN을 배치하여 구성된다.
DIMM은 CPU에 의한 각종 처리에 필요한 데이터 및 프로그램을 기억하는 기억 장치이며, DIMM 3 및 DIMM 2, DIMM 1 및 DIMM 0으로 각각 데이터 단위를 구성한다. LDX는 DIMM으로부터 입력되는 각종 정보에 기초하여, DIMM을 제어하는 처리부이다. CPU는 소정의 제어 프로그램, 각종 처리 수순 등을 규정한 프로그램 및 소요 데이터를 저장하기 위한 내부 메모리를 가지며, 이에 따라 여러 가지의 처리를 실행하는 처리부이다. FLN은 미러를 구성하는 각 LDX로부터 입력되는 데이터를 각각 비교 하는 회로를 가지며, 데이터를 CPU 등에 출력하는 처리부이다.
LDX(메모리 컨트롤러)# 0 내지 3은 각각 DIMM 리드 데이터 유지부와, ECC 체크 회로와, 어드레스선 고장 추정 회로와, 전환 제어부와, UE 생성 회로를 포함하여 구성된다.
DIMM 리드 데이터 유지부는 CPU 등의 요청에 따라 DIMM으로부터 판독된 요청 데이터의 일부를 일시적으로 유지하는 유지부이다.
ECC 체크 회로는 DIMM 리드 데이터 유지부에 유지되고 있는 요청 데이터의 일부에 대해서, ECC(Error Correcting Code)에 의한 에러 검사(체크)를 행하고, 그 검사 결과를 어드레스선 고장 추정 회로에 출력하는 회로이다. 또한, ECC 체크 회로는 LDX# 3 내의 ECC 체크 회로 및 LDX# 2 내의 ECC 체크 회로로 하나, LDX# 1 내의 ECC 체크 회로 및 LDX# 0 내의 ECC 체크 회로로 하나의 ECC 체크 단위를 각각 구성하고 있고, ECC 체크 단위를 구성하는 ECC 체크 회로는 ECC 정보(ECC 체크를 위한 정보)를 교환하여 ECC에 의한 에러 검사(체크)를 행한다.
어드레스선 고장 추정 회로는 ECC 체크 회로로부터 입력된 요청 데이터의 일부에 관한 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 회로이다. 구체적으로는 예컨대 LDX# 0은 요청 데이터의 일부에 관한 ECC 체크 결과인 신드롬(진단 정보)을 작성하고, 이 신드롬으로부터 파악되는 요청 데이터의 일부에 관한 에러 상황에 따라 예컨대 요청 데이터의 대부분이 정정 불가능 에러를 일으키고 있는 경우에는, 어드레스선에 에러가 발생하고 있는 것으로 추정한다. 그리고 어드레스선에 에러가 발생하고 있는 것으로 추정한 경우에는, 그 신 호를 전환 제어부에 출력한다. 또한 LDX# 0이 어드레스선에 에러가 발생하고 있는 것으로 추정하는 경우에는, LDX# 1도 마찬가지로 어드레스선에 에러가 발생하고 있는 것으로 추정한다.
전환 제어부는 요청 데이터의 에러 데이터에의 전환을 제어하는 처리부이다. 구체적으로는 어드레스선 고장 추정 회로로부터 어드레스선에 에러가 발생하고 있는 것으로 추정하는 신호가 입력된 경우에는, 요청 데이터의 일부에 대해서 에러 데이터를 생성하는 동시에, 요청 데이터의 일부를 생성한 에러 데이터로 전환하도록 UE 생성 회로에 신호를 출력한다.
UE(정정 불가능 에러) 생성 회로는 요청 데이터에 대해서 정정 불가능 에러가 되는 에러 데이터를 생성하여 전환하는 회로이다. 구체적으로는, 에러 데이터 전환 제어부로부터 입력된 신호에 따라 요청 데이터의 에러 데이터를 생성하여, 요청 데이터를 에러 데이터로 전환한다.
그리고 LDX# 1 및 LDX# 0은 미러의 편계를 구성하는 DIMM 1 및 DIMM 0에 기록되어 있는 데이터를 사용하지 않도록 제어하기 위해, 전환한 에러 데이터를 FLN(비교 회로)에 출력한다. 또한 LDX# 1 및 LDX# 0으로부터 출력된 에러 데이터는 결합되어 요청 데이터에 관한 에러 데이터가 된다.
FLN은 미러의 다른 한 쪽의 편계를 구성하는 LDX# 3 및 LDX# 2로부터 입력된 요청 데이터와, LDX# 1 및 LDX# 0으로부터 입력된 데이터를 비교함에 있어서, LDX# 1 및 LDX# 0으로부터 입력된 데이터가 에러 데이터이기 때문에 비교의 대상으로서 채용하지 않고, LDX# 3 및 LDX# 2로부터 입력된 요청 데이터를 요청원(예컨대 CPU) 에 출력한다.
[메모리 컨트롤러에 의한 처리(실시예 1)]
계속해서, 도 4를 이용하여, 실시예 1에 따른 메모리 컨트롤러(LDX)의 처리를 설명한다. 도 4는 실시예 1에 따른 메모리 컨트롤러의 처리흐름을 도시하는 흐름도이다.
동 도면에 도시하는 바와 같이, 예컨대 DIMM 0으로부터 판독된 요청 데이터의 일부를 접수하면(단계 S401 긍정), LDX# 0은 DIMM 리드 데이터 유지부에 일시적으로 유지한다. 그리고 LDX# 0의 ECC 체크 회로는 DIMM 리드 데이터 유지부에 유지되어 있는 요청 데이터의 일부에 대해서, ECC(Error Correcting Code)에 의한 에러 검사(체크)를 행하고(단계 S402), 그 검사 결과를 어드레스선 고장 추정 회로에 출력한다. 또한, ECC 체크 회로는 ECC 체크 단위를 구성하는 다른 ECC 체크 회로와 ECC 정보(ECC 체크를 위한 정보)를 교환하여 ECC에 의한 에러 검사(체크)를 행한다.
어드레스선 고장 추정 회로는 ECC 체크 회로로부터 입력된 요청 데이터의 일부에 관한 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정한다(단계 S403). 구체적으로는, 예컨대 요청 데이터의 일부에 관한 ECC 체크 결과인 신드롬(진단 정보)을 작성하고, 이 신드롬으로부터 파악되는 요청 데이터의 일부에 관한 에러의 상황에 따라 예컨대 요청 데이터의 대부분이 정정 불가능 에러를 일으키고 있는 경우에는 어드레스선에 에러가 발생하고 있는 것으로 추정한다.
그리고 어드레스선에 에러가 발생하고 있는 것으로 추정한 경우에는(단계 S403 긍정), 어드레스선 고장 추정 회로는 그 신호를 전환 제어부에 출력한다. 전환 제어부는 요청 데이터의 일부를 에러 데이터로 전환하도록 제어한다(단계 S404). 구체적으로는, 어드레스선 고장 추정 회로로부터 어드레스선에 에러가 발생하고 있는 것으로 추정하는 신호가 입력된 경우에는, UE 생성 회로에 요청 데이터의 일부에 대해서 에러 데이터를 생성하여, 요청 데이터의 일부를 생성한 에러 데이터로 전환하도록 신호를 출력한다. 한편 어드레스선 고장 추정 회로는 어드레스선에 에러가 발생하고 있는 것으로 추정하지 않는 경우에는(단계 S403 부정), 특별히 전환 제어부에 신호를 출력하지 않는다.
그리고 LDX# 0은 미러의 편계를 구성하는 DIMM 0에 기록되어 있는 데이터를 사용하지 않도록 제어하기 위해, 전환한 에러 데이터를 FLN(비교 회로)에 출력하고, LDX# 1도 마찬가지로 DIMM 1에 기록되어 있는 데이터를 사용하지 않도록 제어하기 위해, 전환한 에러 데이터를 FLN(비교 회로)에 출력한다(단계 S405).
[실시예 1의 효과]
전술한 바와 같이, 실시예 1에 의하면 시스템 내에 있어서 요청이 있었던 경우에 실행하는 요청 데이터의 에러 검사 결과(예컨대 ECC 체크 결과)에 따라 어드레스선(요청의 데이터 어드레스를 전달하는 선)에 에러가 발생하고 있는지의 여부를 추정하는 동시에, 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는, 요청에 관한 데이터의 에러 데이터를 생성하여 에러 데이터로 전환함으로써, 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하기 때문에, 메모리가 이중화된 시스템(미러)에 있어서, 어드레스선에 에러가 발생하고 있는 것을 추정하는 정보 등의 장해 정보에 대하여 실시간으로 대처하는 동시에, 어드레스선의 에러에 기인하여 데이터 깨짐이 발생하고 있었다고 하여도, 메모리가 이중화된 시스템(미러) 내의 비교 회로로 데이터를 비교시키기 전에, 생성한 에러 데이터로 전환하여 비교시키지 않도록 할 수 있고, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능하다.
또한, 실시예 1에 의하면, 접속된 메모리에 대해서 실행하는 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정하기 때문에, 예컨대 1개의 DIMM에 대해서 하나의 메모리 컨트롤러가 제어하는 시스템 구성으로 하는 경우에 있어서도, 2개의 DIMM에 대해서 하나의 메모리 컨트롤러로 제어하는 시스템 구성으로 하는 경우보다 성능 향상 등을 도모하면서, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능하다.
[실시예 2]
상기한 실시예 1에서는 ECC 체크 회로에 의한 에러 검사 결과로서 취득한 요청 데이터의 에러의 상황(데이터의 파손 상태 등)으로부터, 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 경우를 설명하였지만, 본 발명은 이에 한정되는 것이 아니라, ECC 체크 회로에 있어서의 요청 데이터의 에러 검사에 있어서, 정정 불가능 에러의 발생 횟수를 취득하고, 그 취득한 발생 횟수에 기초하여, 어드레스선에 에러가 발생하고 있는지의 여부를 추정하도록 하여도 좋다. 그래서 이하의 실시예 2에서는, 실시예 2에 따른 메모리 컨트롤러의 구성 및 처리를 순서대로 설명하고, 마지막에 실시예 2에 의한 효과에 대해서 설명한다.
[메모리 컨트롤러의 구성(실시예 2)]
우선, 도 5를 이용하여, 실시예 2에 따른 메모리 컨트롤러의 구성을 설명한다. 도 5는 실시예 2에 따른 시스템 보드 및 메모리 컨트롤러의 구성을 도시하는 블록도이다. 실시예 2에 따른 SB(시스템 보드) 및 메모리 컨트롤러의 구성은 실시예 1에 따른 SB(시스템 보드) 및 메모리 컨트롤러의 구성과 기본적으로 같지만, 이하에 설명하는 점이 다르다.
어드레스선 고장 추정 회로는 카운터, 디코더 및 OPSR을 포함하여 구성된다. 카운터는 ECC 체크 회로의 에러 검사로 검출된 정정 불가능 에러(UE)의 발생 횟수를 계수하는 장치이다. 디코더는 카운터값을 출력하기 위한 장치이다.
또한, OPSR(오퍼레이션 레지스터)은 MMB(10)로부터의 설정을 접수하고, 어드레스선에 에러가 발생하고 있는 것으로 추정하여, 전환 제어부에 요청 데이터의 일부에 관한 에러 데이터에의 전환을 실행시키기 위한 카운터값를 지정하는 장치이며, 예컨대 도 6에 예시하는 바와 같이, 어드레스선에 에러가 발생하고 있는 것으로 추정하기 위한 정정 불가능 에러의 발생 횟수에 대응하여 데이터 전환을 실행하는지의 여부를 기억하여 구성되는 테이블을 소지한다.
그리고 어드레스선 고장 추정 회로는 디코더로부터 출력되는 카운터값이 0PSR로부터 지정된 상한 횟수를 초과하는지의 여부를 판정하고, 판정의 결과, 카운터값이 상한 횟수를 초과하는 경우에는 요청 데이터를 에러 데이터로 전환하도록 전환 제어부에 신호를 출력한다. 또한, 이 상한 횟수에 대해서는 MMB(10)로부터 설정 변경을 접수하여 적절하게 변경할 수 있다.
전환 제어부는 어드레스선 고장 추정 회로로부터 신호가 입력되면 요청 데이터의 에러 데이터에의 전환을 제어한다. 구체적으로는 UE 생성 회로에 요청 데이터의 일부에 대해서 에러 데이터를 생성하여 요청 데이터의 일부를 생성한 에러 데이터로 전환하도록 신호를 출력한다.
또한, OPSR이 소지하는 테이블(도 6 참조)은 어디까지나 일례로서, 이에 한정되지 않고, 적절하게 구성을 변경한 테이블을 생성하여도 좋으며, 어드레스선 고장 추정 회로는 에러 발생 횟수가 상한 횟수를 초과하는지의 여부를 판정 결과에 기초하여, 요청 데이터의 일부를 에러 데이터로 전환하도록 제어하는 경우에 한정되는 것이 아니라, 예컨대 에러의 연속 발생 횟수를 카운트해두고, 에러의 연속 발생 횟수가 소정의 상한 횟수를 넘은 경우에, 어드레스선에 고장이 발생한 것으로 추정하며, 전환 제어부에 요청 데이터의 일부를 에러 데이터로 전환하도록 제어시켜도 좋다.
[메모리 컨트롤러의 처리(실시예 2)]
다음에, 도 7을 이용하여, 실시예 2에 따른 메모리 컨트롤러(LDX)의 처리를 설명한다. 도 7은 실시예 1에 따른 메모리 컨트롤러의 처리흐름을 도시하는 흐름도이다. 또한, 단계 S701, 단계 S702 및 단계 S705의 처리는 도 4를 이용하여, 실시예 1에서 설명한 단계 S401, 단계 S402 및 단계 S405의 단계의 처리와 마찬가지이기 때문에, 이하에서는 단계 S703 및 단계 S704의 처리에 대해서 설명한다.
동 도면에 도시하는 바와 같이, 어드레스선 고장 추정 회로는 ECC 체크 회로로부터 입력된 요청 데이터의 일부에 관한 에러 검사 결과에 따라 어드레스선에 에 러가 발생하고 있는지의 여부를 추정한다(단계 S703). 구체적으로는 디코더로부터 출력되는 카운터값이 OPSR로부터 지정된 상한 횟수를 초과하는지의 여부를 판정하고, 판정의 결과, 카운터값이 상한 횟수를 초과하는 경우에는(단계 S703 긍정) 어드레스선에 에러가 발생하고 있는 것으로 추정하며, 요청 데이터를 에러 데이터로 전환하도록 전환 제어부에 신호를 출력한다. 한편, 어드레스선 고장 추정 회로는 카운터값이 상한 횟수를 초과하지 않는 경우에는(단계 S703 부정), 특별히 전환 제어부에 신호를 출력하지 않는다.
전환 제어부는 어드레스선 고장 추정 회로로부터 신호가 입력되면 요청 데이터의 에러 데이터에의 전환을 제어한다(단계 S704). 구체적으로는 요청 데이터의 일부에 대해서 에러 데이터를 생성하는 동시에, 요청 데이터의 일부를 생성한 에러 데이터로 전환하도록 UE 생성 회로에 신호를 출력한다.
[실시예 2의 효과]
전술한 바와 같이, 실시예 2에 의하면 에러 검사 결과로서 얻어지는 정정 불가능 에러의 발생 횟수를 계수하는 동시에, 발생 횟수가 소정의 상한 횟수를 초과하는 경우에는 어드레스선에 에러가 발생하고 있는 것으로 추정하기 때문에, 간이한 구성에 의해 어드레스선의 에러를 추정할 수 있고, 시스템 다운을 방지하는 것이 가능하다.
또한, 실시예 2에 의하면 어드레스선에 에러가 발생하고 있는 것으로 추정하기 위한 소정의 상한 횟수를 변경하기 때문에, 예컨대 시스템 보수자가 임의로 상한 횟수를 설정함으로써, 시스템 다운을 방지하는 것이 가능하다.
[실시예 3]
또한, 상기한 실시예 2에 있어서, 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에, ECC에 의한 에러 검사를 재시행하여 그 에러 검사의 재시행 결과에 따라 어드레스선에 에러가 발생하지 않는 것으로 판정한 경우에는, 에러 데이터를 요청 데이터로 전환하여, 이중화된 메모리 편계의 데이터 사용을 복귀하도록 하여도 좋다. 그래서 이하의 실시예 3에서는 실시예 3에 따른 메모리 컨트롤러의 구성 및 처리를 순서대로 설명하고, 마지막에 실시예 3에 의한 효과를 설명한다.
[메모리 컨트롤러의 구성(실시예 3)]
우선, 도 8을 이용하여, 실시예 3에 따른 메모리 컨트롤러의 구성을 설명한다. 도 8은 실시예 3에 따른 시스템 보드 및 메모리 컨트롤러의 구성을 도시하는 블록도이다. 실시예 3에 따른 SB(시스템 보드) 및 메모리 컨트롤러의 구성은 상기한 실시예 2에 따른 SB(시스템 보드) 및 메모리 컨트롤러의 구성과 기본적으로 마찬가지이지만, 이하에 설명하는 점이 다르다.
어드레스선 고장 추정 회로는 카운터, 디코더 및 OPSR 외, 복귀용 카운터를 포함하여 구성된다.
OPSR은 MMB(10)로부터의 설정을 접수하고, 어드레스선에 에러가 발생하지 않는 것으로 추정하여, 전환 제어부에 에러 데이터를 원래의 요청 데이터의 일부로 전환하여 복귀시키기 위한 카운터값을 지정한다.
ECC 체크 회로는 어드레스선 고장 추정 회로에 의해 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에는 ECC에 의한 에러 검사를 재시행하여 에러 없 음의 횟수를 계수하고 디코더에 출력한다.
어드레스선 고장 추정 회로는 디코더로부터 출력되는 카운터값이 OPSR로부터 지정된 상한 횟수를 초과하는지의 여부를 판정하고, 판정의 결과, 카운터값이 상한 횟수를 초과하는 경우에는 에러 데이터를 원래의 요청 데이터의 일부로 전환하여 복귀시키도록 전환 제어부에 신호를 출력한다. 또한, 이 상한 횟수에 대해서는 MMB(10)로부터 설정 변경을 접수하여 적절하게 변경할 수 있다.
전환 제어부는 어드레스선 고장 추정 회로로부터 신호가 입력되면 에러 데이터의 요청 데이터에의 전환 복귀를 제어한다. 구체적으로는, 에러 데이터를 원래의 요청 데이터의 일부로 전환하도록 UE 생성 회로에 신호를 출력한다.
또한, 어드레스선 고장 추정 회로는 에러 없음 발생 횟수가 상한 횟수를 초과하는지의 여부를 판정 결과에 기초하여, 에러 데이터를 원래의 요청 데이터부로 전환하도록 제어하는 경우로 한정되는 것이 아니라, 예컨대 에러 없음의 연속 발생 횟수를 카운트해 두고, 에러의 연속 발생 횟수가 소정의 상한 횟수를 넘은 경우에, 어드레스선에 에러가 발생하지 않는 것으로 추정하며, 전환 제어부에 에러 데이터를 원래의 요청 데이터의 일부로 전환하도록 제어시켜도 좋다.
[메모리 컨트롤러에 의한 처리(실시예 3)]
다음에, 도 9를 이용하여, 실시예 3에 따른 메모리 컨트롤러(LDX)의 처리를 설명한다. 도 9는, 실시예 3에 따른 메모리 컨트롤러의 처리흐름을 도시하는 흐름도이다. 또한 이하에서는 어드레스선 고장 회로에 의해 어드레스선에 에러가 발생하고 있는 것으로 추정되고, 요청 데이터를 에러 데이터로 전환한 후의 처리를 설 명한다.
동 도면에 도시하는 바와 같이, 어드레스선 고장 추정 회로에 의해 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에는(단계 S901 긍정), ECC에 의한 에러 검사를 재시행하여(단계 S902) 에러 없음의 횟수를 계수하고 디코더에 출력한다.
어드레스선 고장 추정 회로는 디코더로부터 출력되는 카운터값이 OPSR로부터 지정된 상한 횟수를 초과하는지의 여부를 판정한다(단계 S903). 판정의 결과, 카운터값이 상한 횟수를 초과하는 경우에는(단계 S903 긍정) 어드레스선 고장 추정 회로는 에러 데이터를 원래의 요청 데이터의 일부로 전환하여 복귀시키도록 전환 제어부에 신호를 출력한다. 한편, 어드레스선 고장 추정 회로는 카운터값이 상한 횟수를 초과하지 않는 경우에는(단계 S903 부정), 특별히 전환 제어부에 신호를 출력하지 않는다.
전환 제어부는 어드레스선 고장 추정 회로로부터 신호가 입력되면 에러 데이터에 대한 요청 데이터 전환 복귀를 제어한다(단계 S905). 구체적으로는 에러 데이터를 원래의 요청 데이터의 일부로 전환하도록 UE 생성 회로에 신호를 출력한다.
[실시예 3의 효과]
전술한 바와 같이, 실시예 3에 의하면 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에, 에러 검사를 재시행하여 그 에러 검사의 재시행 결과에 따라 어드레스선에 에러가 발생하지 않는 것으로 판정하는 동시에, 어드레스선에 에러가 발생하지 않는 것으로 판정된 경우에는 생성한 에러 데이터를 요청에 관한 데 이터로 전환함으로써, 이중화된 메모리 편계의 데이터 사용을 복귀하도록 제어하기 때문에, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지할 뿐만 아니라, 예컨대 어드레스선의 에러가 아니라, DIMM 내의 셀 일부의 고장 등에 의한 일시적인 에러의 가능성을 고려하면서, 셀의 고장인 경우에는 그것을 개선함으로써, DIMM이 단일화되어 신뢰성이 저하되는 것을 극력 방지하는 것이 가능하다.
또한, 실시예 3에 의하면 에러 검사의 재시행 결과로서 얻어지는 에러 없음의 횟수를 계수하는 동시에, 그 횟수가 소정의 상한 횟수를 초과하는 경우에는 어드레스선에 에러가 발생하지 않는 것으로 판정하기 때문에, 간이한 구성에 의해 DIMM이 단일화되어 신뢰성이 저하되는 것을 극력 방지하는 것이 가능하다.
또한, 실시예 3에 의하면 어드레스선에 에러가 발생하지 않는 것으로 판정하기 위한 소정의 상한 횟수를 변경하기 때문에, 예컨대 시스템 보수자가 임의로 상한 횟수를 설정함으로써, DIMM이 단일화되어 신뢰성 t가 저하되는 것을 극력 방지하는 것이 가능하다.
[실시예 4]
그런데, 지금까지 본 발명의 실시예에 대해서 설명하였지만, 본 발명은 전술한 실시예 이외에도, 여러 가지의 다른 형태로써 실시되어도 좋은 것이다. 그래서 이하에서는, 본 발명에 포함되는 실시예를 설명한다.
(1) LDX에 접속되는 DIMM의 수
상기한 실시예에서는, LDX(메모리 컨트롤러)에 접속되는 DIMM의 수가 하나인 경우를 설명하였지만, 본 발명은 이에 한정되는 것이 아니라, 복수의 DIMM을 접속 하도록 하여도 좋다.
예컨대, 도 10에 예시하는 바와 같이, LDX# 01에 DIMM 1 및 DIMM 0의 2개의 DIMM을 접속하여, DIMM 1 및 DIMM 0으로부터 데이터 단위를 구성하는 동시에, LDX# 01은 어드레스선의 에러를 추정하기 위해 DIMM 1 및 DIMM 0에 대해서 에러 검사 단위를 구성하는 ECC 체크 회로를 각각 배치하도록 하여도 좋다.
이러한 것으로부터, 접속된 복수의 메모리에 대해서 실행하는 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정하기 때문에, 예컨대 2개의 DIMM에 대해서 하나의 메모리 컨트롤러로 제어하는 시스템 구성으로 하는 경우에 있어서, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능하다.
또한, 도 11에 도시하는 바와 같이, LDX# 0 내지 3에 각각 4개의 DIMM을 접속하여, 예컨대 DIMM 3 및 DIMM 3'으로 데이터 단위를 구성하는 동시에, DIMM 3에 접속되는 LDX# 1 및 DIMM 3'에 접속되는 LDX# 0으로 에러 검사 단위인 ECC 체크 단위를 구성하는 ECC 체크 회로를 LDX# 1 및 LDX# 0의 각각이 배치하고, 상기한 실시예와 마찬가지로, 각 ECC 체크 회로는 각각이 소지하는 ECC 정보(ECC 체크를 위한 정보)를 교환하여 ECC 체크를 행하도록 하여도 좋다.
이러한 것으로부터, 접속된 복수의 메모리 각각에 대해서 실행하는 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정하기 때문에, 예컨대 4개의 DIMM에 대해서 하나의 메모리 컨트롤러가 제어하는 시스템 구성으로 하는 경우에 있어서, 단일화되는 DIMM을 최소한으로 억제하면서, 어드레스선의 에 러를 추정함으로써 시스템 다운을 방지하는 것이 가능하다.
(3) 장치 구성 등
또한, 예컨대 도 3에 도시한 메모리 컨트롤러(LDX# 0)의 각 구성 요소는 기능 개념적인 것이고, 반드시 물리적으로 도시하는 바와 같이 구성되어 있는 것을 요구하지 않는다. 즉 메모리 컨트롤러의 분산·통합의 구체적 형태는 도시한 것에 한정되지 않고, 예컨대 ECC 체크 회로와 어드레스선 고장 추정 회로를 통합하는 등, 그 전부 또는 일부를, 각종 부하나 사용 상황 등에 따라 임의의 단위로 기능적 또는 물리적으로 분산·통합하여 구성할 수 있다.
또한, 상기한 실시예에 있어서 설명한 메모리 컨트롤러(LDX)로써 행해지는 각 처리 기능(어드레스선 고장 추정 처리 기능, 데이터 전환 처리 기능 및 메모리 데이터 복귀 판정 처리 기능)은 그 전부 또는 임의의 일부가, 미리 준비되어 소정의 메모리 등에 기억되어 있는 프로그램을 MMB(10)가 판독하여 실행함으로써 실현될 수 있다.
(부기 1) 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템에서, 이 메모리를 제어하는 메모리 컨트롤러로서,
상기 시스템 내에 있어서 요청이 있었던 경우에, 이 요청마다 실행하는 이 요청에 관한 데이터의 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 에러 추정 수단과,
상기 에러 추정 수단에 의해 상기 어드레스선에 에러가 발생하고 있는 것으 로 추정되는 경우에는, 이 요청에 관한 데이터의 에러 데이터를 생성하여, 이 요청에 관한 데이터를 에러 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하는 데이터 전환 제어 수단을 포함하는 것을 특징으로 하는 메모리 컨트롤러.
(부기 2) 상기 에러 추정 수단은 접속된 상기 복수의 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 부기 1에 기재한 메모리 컨트롤러.
(부기 3) 상기 에러 추정 수단은 접속된 상기 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 부기 1에 기재한 메모리 컨트롤러.
(부기 4) 상기 에러 추정 수단은 접속된 상기 복수의 메모리마다 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 부기 1에 기재한 메모리 컨트롤러.
(부기 5) 상기 에러 추정 수단은 상기 에러 검사 결과로서 얻어지는 정정 불가능 에러의 발생 횟수를 계수하는 동시에, 이 발생 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하는 것을 특징으로 하는 부기 1 내지 부기 4 중 어느 하나에 기재한 메모리 컨트롤러.
(부기 6) 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 수단을 더 포함하는 것을 특징으로 하는 부기 5에 기재한 메모리 컨트롤러.
(부기 7) 상기 에러 추정 수단에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에, 에러 검사를 재시행하여 이 에러 검사의 재시행 결과에 따라 이 어드레스선에 에러가 발생하지 않는 것으로 판정하는 판정 수단을 더 포함하고,
상기 데이터 전환 제어 수단은 상기 판정 수단에 의해 상기 어드레스선에 에러가 발생하지 않는 것으로 판정된 경우에는, 상기 생성된 에러 데이터를 상기 요청에 관한 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터 사용을 복귀하도록 제어하는 것을 특징으로 하는 부기 1 내지 6 중 어느 하나에 기재한 메모리 컨트롤러.
(부기 8) 상기 판정 수단은 상기 에러 검사의 재시행 결과로서 얻어지는 에러 없음의 횟수를 계수하는 동시에, 이 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하는 것을 특징으로 하는 부기 7에 기재한 메모리 컨트롤러.
(부기 9) 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 수단을 더 포함하는 것을 특징으로 하는 메모리 컨트롤러.
(부기 10) 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템에서, 이 메모리를 제어하는 메모리 컨트롤러에 적용되는 메모리 제어 방법으로서,
상기 시스템 내에 있어서 요청이 있었던 경우에, 이 요청마다 실행하는 이 요청에 관한 데이터의 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 에러 추정 공정과,
상기 에러 추정 공정에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는, 상기 요청에 관한 데이터의 에러 데이터를 생성하여, 이 요청에 관한 데이터를 에러 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하는 데이터 전환 제어 공정을 포함하는 것을 특징으로 하는 메모리 제어 방법.
(부기 11) 상기 에러 추정 공정은 접속된 상기 복수의 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 부기 10에 기재한 메모리 제어 방법.
(부기 12) 상기 에러 추정 공정은 접속된 상기 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 부기 10에 기재한 메모리 제어 방법.
(부기 13) 상기 에러 추정 공정은 접속된 상기 복수의 메모리마다 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 부기 10에 기재한 메모리 제어 방법.
(부기 14) 상기 에러 추정 공정은 상기 에러 검사 결과로서 얻어지는 정정 불가능 에러의 발생 횟수를 계수하는 동시에, 이 발생 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하는 것을 특징으로 하는 부기 10 내지 부기 13 중 어느 하나에 기재한 메모리 제어 방법.
(부기 15) 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 공정을 더 포함하는 것을 특징으로 하는 부기 14에 기재한 메모리 제어 방법.
(부기 16) 상기 에러 추정 공정에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에, 에러 검사를 재시행하여 이 에러 검사의 재시행 결과에 따라 이 어드레스선에 에러가 발생하지 않는 것으로 판정하는 판정 공정을 더 포함하고,
상기 데이터 전환 제어 공정은 상기 판정 공정에 의해 상기 어드레스선에 에러가 발생하지 않는 것으로 판정된 경우에는, 상기 생성된 에러 데이터를 상기 요청에 관한 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터 사용을 복귀하도록 제어하는 것을 특징으로 하는 부기 10 내지 부기 15 중 어느 하나에 기재한 메모리 제어 방법.
(부기 17) 상기 판정 공정은 상기 에러 검사의 재시행 결과로서 얻어지는 에러 없음의 횟수를 계수하는 동시에, 이 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하는 것을 특징으로 하는 부기 16에 기재한 메모리 제어 방법.
(부기 18) 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 공정을 더 포함하는 것을 특징으로 하는 부기 17에 기재한 메모리 제어 방법.
(부기 19) 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템에서, 이 메모리를 제어하는 방법을 컴퓨터에 실행시키는 메모리 제어 프로그램으로서,
상기 시스템 내에 있어서 요청이 있었던 경우에, 이 요청마다 실행하는 이 요청에 관한 데이터의 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 에러 추정 수순과,
상기 에러 추정 수순에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는, 상기 요청에 관한 데이터의 에러 데이터를 생성하여, 이 요청에 관한 데이터를 에러 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하는 데이터 전환 제어 수순을 컴퓨터로 하여금 실행시키는 것을 특징으로 하는 메모리 제어 프로그램.
(부기 20) 상기 에러 추정 수순은 접속된 상기 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 부기 19에 기재한 메모리 제어 프로그램.
본 발명에 의하면, 시스템 내에 있어서 요청이 있었던 경우에 실행하는 요청에 관한 데이터의 에러 검사 결과(예컨대 데이터의 에러 상태나 에러 발생 횟수 등의 상황)에 따라 어드레스선(요청의 데이터 어드레스를 전달하는 선)에 에러가 발생하고 있는지의 여부를 추정하는 동시에, 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는 요청에 관한 데이터의 에러 데이터를 생성하여 에러 데이터로 전환함으로써, 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하기 때문에, 메모리가 이중화된 시스템(미러)에 있어서, 어드레스선에 에러가 발생하고 있는 것을 추정하는 정보 등의 장해 정보에 대하여 실시간으로 대처할 수 있는 동시에, 어드레스선의 에러에 기인하여 데이터 깨짐이 발생하였다고 하여도, 메모리가 이중화된 시스템(미러) 내의 비교 회로로 데이터를 비교시키기 전에, 생성한 에러 데이터로 전환하여 비교시키지 않도록 할 수 있고, 어드레스선의 에러를 추정함으로써, 시스템 다운을 방지하는 것이 가능하다.
또한, 본 발명에 의하면, 접속된 복수의 메모리에 대해서 실행하는 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정하기 때문에, 예컨대 2개의 DIMM에 대해서 하나의 메모리 컨트롤러로 제어하는 시스템 구성으로 하는 경우에 있어서, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능하다.
또한, 본 발명에 의하면, 접속된 메모리에 대해서 실행하는 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정하기 때문에, 예컨대 1개의 DIMM에 대해서 하나의 메모리 컨트롤러가 제어하는 시스템 구성으로 한 경우에 있어서도 2개의 DIMM에 대해서 하나의 메모리 컨트롤러로 제어하는 시스템 구성으로 하는 경우보다 성능 향상 등을 도모하면서, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것이 가능하다.
또한, 본 발명에 의하면, 접속된 복수의 메모리 각각에 대해서 실행하는 에러 검사 결과에 따라 어드레스선에 에러가 발생하고 있는지의 여부를 추정하기 때문에, 예컨대 4개의 DIMM에 대해서 하나의 메모리 컨트롤러가 제어하는 시스템 구 성으로 하는 경우에 있어서, 단일화된 DIMM을 최소한으로 억제하면서, 어드레스선의 에러를 추정함으로써, 시스템 다운을 방지하는 것이 가능하다.
또한, 본 발명에 의하면, 에러 검사 결과로서 얻어지는 정정 불가능 에러의 발생 횟수를 계수하는 동시에, 발생 횟수가 소정의 상한 횟수를 초과하는 경우에는, 어드레스선에 에러가 발생하고 있는 것으로 추정하기 때문에, 간이한 구성에 의해 어드레스선의 에러를 추정할 수 있고, 시스템 다운을 방지하는 것이 가능하다.
또한, 본 발명에 의하면 어드레스선에 에러가 발생하고 있는 것으로 추정하기 위한 소정의 상한 횟수를 변경하기 때문에, 예컨대 시스템 보수자가 임의로 상한 횟수를 설정함으로써, 시스템 다운을 방지하는 것이 가능하다.
또한, 본 발명에 의하면, 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에, 에러 검사를 재시행하여 그 에러 검사의 재시행 결과에 따라 어드레스선에 에러가 발생하지 않는 것으로 판정하는 동시에, 어드레스선에 에러가 발생하지 않는 것으로 판정된 경우에는 생성한 에러 데이터를 요청에 관한 데이터로 전환함으로써, 이중화된 메모리 편계의 데이터 사용을 복귀하도록 제어하기 때문에, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지할 뿐만 아니라, 예컨대 어드레스선의 에러가 아니라, DIMM 내의 셀의 일부 고장 등에 의한 일시적인 에러의 가능성을 고려하면서, 셀의 고장인 경우에는 그것을 개선함으로써, DIMM이 단일화되어 신뢰성이 저하되는 것을 극력 방지하는 것이 가능하다.
또한, 본 발명에 의하면 에러 검사의 재시행 결과로서 얻어지는 에러 없음의 횟수를 계수하는 동시에, 그 횟수가 소정의 상한 횟수를 초과하는 경우에는, 어드레스선에 에러가 발생하지 않는 것으로 판정하기 때문에, 간이한 구성에 의해 DIMM이 단일화되어 신뢰성이 저하되는 것을 극력 방지하는 것이 가능하다.
또한, 본 발명에 의하면, 어드레스선에 에러가 발생하지 않는 것으로 판정하기 위한 소정의 상한 횟수를 변경하기 때문에, 예컨대 시스템 보수자가 임의로 상한 횟수를 설정함으로써, DIMM이 단일화되어 신뢰성이 저하되는 것을 극력 방지하는 것이 가능하다.
이상과 같이, 본 발명에 따른 메모리 컨트롤러 및 메모리 제어 방법은 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 이 메모리가 각각 이중화된 시스템에서, 이 메모리를 제어하는 경우에 유용하며, 특히 메모리 이중화 시스템에서, 장해 정보에 대하여 실시간으로 대처하는 동시에, 어드레스선의 에러를 추정함으로써 시스템 다운을 방지하는 것에 적합하다.

Claims (10)

  1. 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고, 상기 메모리가 각각 이중화된 시스템에서, 상기 메모리를 제어하는 메모리 컨트롤러로서,
    어드레스선을 통해 어드레스가 지정됨으로써 메모리에 대하여 데이터 취득 요청이 있었던 경우에, 상기 요청에 관한 데이터에 부가된 ECC(Error Correcting Code)를 이용하여 데이터의 에러 검사를 실행하는 에러 검사 수단과,
    상기 에러 검사 수단에 의한 에러 검사 결과, ECC에 의해 정정 불가능한 정정 불가능 에러의 발생 횟수에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 에러 추정 수단과,
    상기 에러 추정 수단에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는, 상기 요청에 관한 데이터의 에러 데이터를 생성하여, 상기 요청에 관한 데이터를 에러 데이터로 전환함으로써, 상기 이중화된 메모리 편계(片系)의 데이터를 사용하지 않도록 제어하는 데이터 전환 제어 수단을 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  2. 제1항에 있어서, 상기 에러 추정 수단은 접속된 상기 복수의 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 메모리 컨트롤러.
  3. 제1항에 있어서, 상기 에러 추정 수단은 접속된 상기 메모리에 대해서 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여 부를 추정하는 것을 특징으로 하는 메모리 컨트롤러.
  4. 제1항에 있어서, 상기 에러 추정 수단은 접속된 상기 복수의 메모리마다 실행하는 상기 에러 검사 결과에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 것을 특징으로 하는 메모리 컨트롤러.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 에러 추정 수단은 상기 정정 불가능 에러의 발생 횟수를 계수하고, 상기 발생 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하는 것을 특징으로 하는 메모리 컨트롤러.
  6. 제5항에 있어서, 상기 어드레스선에 에러가 발생하고 있는 것으로 추정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 수단을 더 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 에러 추정 수단에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정된 경우에, 에러 검사를 재시행하여 상기 에러 검사의 재시행 결과에 따라 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하는 판정 수단을 더 포함하고,
    상기 데이터 전환 제어 수단은 상기 판정 수단에 의해 상기 어드레스선에 에 러가 발생하지 않는 것으로 판정된 경우에는, 상기 생성된 에러 데이터를 상기 요청에 관한 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터 사용을 복귀하도록 제어하는 것을 특징으로 하는 메모리 컨트롤러.
  8. 제7항에 있어서, 상기 판정 수단은 상기 에러 검사의 재시행 결과로서 얻어지는 에러 없음의 횟수를 계수하고, 상기 횟수가 소정의 상한 횟수를 초과하는 경우에는, 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하는 것을 특징으로 하는 메모리 컨트롤러.
  9. 제8항에 있어서, 상기 어드레스선에 에러가 발생하지 않는 것으로 판정하기 위한 상기 소정의 상한 횟수를 변경하는 변경 수단을 더 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  10. 어드레스선을 각각 포함하는 복수의 메모리로 데이터의 에러 검사 단위를 구성하고 상기 메모리가 각각 이중화된 시스템에서, 상기 메모리를 제어하는 메모리 컨트롤러에 적용되는 메모리 제어 방법으로서,
    어드레스선을 통해 어드레스가 지정됨으로써 메모리에 대하여 데이터 취득 요청이 있었던 경우에, 상기 요청에 관한 데이터에 부가된 ECC(Error Correcting Code)를 이용하여 데이터의 에러 검사를 실행하는 에러 검사 공정과,
    상기 에러 검사 공정에서의 에러 검사 결과, ECC에 의해 정정 불가능한 정정 불가능 에러의 발생 횟수에 따라 상기 어드레스선에 에러가 발생하고 있는지의 여부를 추정하는 에러 추정 공정과,
    상기 에러 추정 공정에 의해 상기 어드레스선에 에러가 발생하고 있는 것으로 추정되는 경우에는, 상기 요청에 관한 데이터의 에러 데이터를 생성하여, 상기 요청에 관한 데이터를 에러 데이터로 전환함으로써, 상기 이중화된 메모리 편계의 데이터를 사용하지 않도록 제어하는 데이터 전환 제어 공정을 포함하는 것을 특징으로 하는 메모리 제어 방법.
KR1020070048555A 2006-08-18 2007-05-18 메모리 컨트롤러 및 메모리 제어 방법 KR100878550B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00223489 2006-08-18
JP2006223489A JP4918824B2 (ja) 2006-08-18 2006-08-18 メモリコントローラおよびメモリ制御方法

Publications (2)

Publication Number Publication Date
KR20080016435A KR20080016435A (ko) 2008-02-21
KR100878550B1 true KR100878550B1 (ko) 2009-01-14

Family

ID=38324123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070048555A KR100878550B1 (ko) 2006-08-18 2007-05-18 메모리 컨트롤러 및 메모리 제어 방법

Country Status (6)

Country Link
US (1) US8667372B2 (ko)
EP (1) EP1890239B1 (ko)
JP (1) JP4918824B2 (ko)
KR (1) KR100878550B1 (ko)
CN (1) CN101127243B (ko)
DE (1) DE602007011535D1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US8352805B2 (en) * 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
JP4962381B2 (ja) * 2008-03-28 2012-06-27 富士通株式会社 情報処理装置、情報処理装置制御方法および情報処理装置制御プログラム
JP5293062B2 (ja) * 2008-10-03 2013-09-18 富士通株式会社 コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
JP5267166B2 (ja) * 2009-01-30 2013-08-21 ソニー株式会社 インターフェース装置、演算処理装置、インターフェース生成装置、および回路生成装置
JP5348248B2 (ja) 2009-09-25 2013-11-20 富士通株式会社 メモリシステム及びメモリシステムの制御方法
US9613715B2 (en) 2014-06-16 2017-04-04 Sandisk Technologies Llc Low-test memory stack for non-volatile storage
US9606882B2 (en) * 2014-07-17 2017-03-28 Sandisk Technologies Llc Methods and systems for die failure testing
US20160055058A1 (en) * 2014-08-19 2016-02-25 Hongzhong Zheng Memory system architecture
US10002043B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10002044B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
KR102214556B1 (ko) * 2014-08-19 2021-02-09 삼성전자주식회사 메모리 장치 및 모듈
US9594623B2 (en) * 2015-03-24 2017-03-14 Nxp Usa, Inc. System on chip and method of updating program code on a system on chip
US9916091B2 (en) 2015-07-13 2018-03-13 Samsung Electronics Co., Ltd. Memory system architecture
US9892024B2 (en) * 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing
DE102016223341A1 (de) * 2016-11-24 2018-05-24 Robert Bosch Gmbh Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen
WO2019190866A1 (en) 2018-03-26 2019-10-03 Rambus Inc. Command/address channel error detection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816484A (ja) * 1994-06-27 1996-01-19 Mitsubishi Electric Corp 二重化メモリシステム
JP2003337758A (ja) * 2003-05-01 2003-11-28 Mitsubishi Electric Corp 二重化メモリシステム
US6792567B2 (en) 2001-04-30 2004-09-14 Stmicroelectronics, Inc. System and method for correcting soft errors in random access memory devices

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55157043A (en) 1979-05-28 1980-12-06 Toshiba Corp Information processor
JPS6035695B2 (ja) * 1980-08-06 1985-08-16 富士通株式会社 メモリ試験方式
JPS57150197A (en) * 1981-03-11 1982-09-16 Nippon Telegr & Teleph Corp <Ntt> Storage circuit
JPS58127242A (ja) 1982-01-25 1983-07-29 Nec Corp 論理回路
JPS592294A (ja) * 1982-06-01 1984-01-07 Fujitsu Ltd メモリ装置の試験方式
JPH0620200B2 (ja) * 1982-10-08 1994-03-16 株式会社日立製作所 データ通信方式
JPS608962A (ja) 1983-06-29 1985-01-17 Fujitsu Ltd 記憶情報一時障害検出方式
NL8400392A (nl) * 1984-02-08 1985-09-02 Philips Nv Inrichting voor de functiebewaking van een geheugeninrichting.
US4774712A (en) * 1986-10-01 1988-09-27 International Business Machines Corporation Redundant storage device having address determined by parity of lower address bits
GB8815239D0 (en) * 1988-06-27 1988-08-03 Wisdom Systems Ltd Memory error protection system
US5058115A (en) * 1989-03-10 1991-10-15 International Business Machines Corp. Fault tolerant computer memory systems and components employing dual level error correction and detection with lock-up feature
JPH02238539A (ja) * 1989-03-13 1990-09-20 Hitachi Ltd メモリ制御方式
US5164944A (en) * 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
JPH05225089A (ja) * 1992-02-07 1993-09-03 Nec Eng Ltd データ転送装置
SE470544B (sv) * 1992-11-24 1994-07-25 Ellemtel Utvecklings Ab För en bitfelsövervakning i en väljarutrustning avsedd anordning
JPH07160587A (ja) * 1993-12-07 1995-06-23 Fujitsu Ltd 多重化メモリ装置
US5768294A (en) * 1995-12-11 1998-06-16 International Business Machines Corporation Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
JPH09288619A (ja) * 1996-04-22 1997-11-04 Mitsubishi Electric Corp 主記憶装置
WO1998001966A1 (fr) * 1996-07-04 1998-01-15 Seiko Instruments Inc. Circuit integre a semi-conducteurs pour les communications et procede de sauvegarde d'une batterie destinee a un tel circuit
US5905858A (en) * 1996-11-01 1999-05-18 Micron Electronics, Inc. System for method memory error handling
US5978953A (en) * 1996-12-19 1999-11-02 Compaq Computer Corporation error detection and correction
JP3199021B2 (ja) * 1998-03-19 2001-08-13 日本電気株式会社 半導体メモリ装置、該半導体メモリ装置の検査方法及び使用方法
US6842867B2 (en) * 2001-01-26 2005-01-11 Dell Products L.P. System and method for identifying memory modules having a failing or defective address
DE10255872B4 (de) * 2002-11-29 2004-09-30 Infineon Technologies Ag Speichermodul und Verfahren zum Betrieb eines Speichermoduls in einem Datenspeichersystem
CN1532701B (zh) * 2003-03-20 2010-04-28 纬创资通股份有限公司 存储器不稳定仍维持系统稳定度的系统及存储器控制方法
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
JP2005056200A (ja) * 2003-08-05 2005-03-03 Hitachi Ltd データ管理方法、ディスク記憶装置およびディスク記憶システム
US7203890B1 (en) * 2004-06-16 2007-04-10 Azul Systems, Inc. Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits
US20060077750A1 (en) * 2004-10-07 2006-04-13 Dell Products L.P. System and method for error detection in a redundant memory system
US7185246B2 (en) * 2004-12-15 2007-02-27 International Business Machines Corporation Monitoring of solid state memory devices in active memory system utilizing redundant devices
KR100877701B1 (ko) * 2006-11-23 2009-01-08 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 리던던시 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816484A (ja) * 1994-06-27 1996-01-19 Mitsubishi Electric Corp 二重化メモリシステム
US6792567B2 (en) 2001-04-30 2004-09-14 Stmicroelectronics, Inc. System and method for correcting soft errors in random access memory devices
JP2003337758A (ja) * 2003-05-01 2003-11-28 Mitsubishi Electric Corp 二重化メモリシステム

Also Published As

Publication number Publication date
JP4918824B2 (ja) 2012-04-18
DE602007011535D1 (de) 2011-02-10
EP1890239A1 (en) 2008-02-20
KR20080016435A (ko) 2008-02-21
US20080046802A1 (en) 2008-02-21
US8667372B2 (en) 2014-03-04
JP2008046979A (ja) 2008-02-28
EP1890239B1 (en) 2010-12-29
CN101127243A (zh) 2008-02-20
CN101127243B (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
KR100878550B1 (ko) 메모리 컨트롤러 및 메모리 제어 방법
US8732532B2 (en) Memory controller and information processing system for failure inspection
KR100720913B1 (ko) 이중화 기억 장치 및 이중화 기억 장치의 제어 방법
JP4456552B2 (ja) 動的代替機能を持つ論理集積回路、これを用いた情報処理装置及び論理集積回路の動的代替方法
JP6408482B2 (ja) プログラマブルデバイス及びこれを用いた電子システム装置
US8261137B2 (en) Apparatus, a method and a program thereof
US8176388B1 (en) System and method for soft error scrubbing
CN115168087A (zh) 一种确定内存故障的修复资源粒度的方法及装置
US20090132866A1 (en) Storage apparatus
US9043655B2 (en) Apparatus and control method
EP3882774B1 (en) Data processing device
JP5964265B2 (ja) 半導体集積回路装置
US8327197B2 (en) Information processing apparatus including transfer device for transferring data
US11030061B2 (en) Single and double chip spare
US9690673B2 (en) Single and double chip spare
JP4292477B2 (ja) 二重化プロセッサ装置
JP2000222294A (ja) 計算機システム及びバス障害回復方法
JPH04111032A (ja) 多重化記憶装置
JPH0922387A (ja) メモリ装置
CN118409907A (zh) 一种基于自主soc工业芯片的可靠性冗余设计方法
JPH01106247A (ja) メモリカード
JP2006277133A (ja) 半導体集積回路及びメモリデータチェック方法
JP2007065890A (ja) エラー情報収集機能を備えた処理装置、およびエラー情報収集方法
JP2009026080A (ja) バスシステム及びバス障害対処方法
JPH0486933A (ja) データ転送制御回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 12