KR20080059021A - 정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을기록한 컴퓨터 판독가능한 기록 매체 - Google Patents

정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을기록한 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR20080059021A
KR20080059021A KR1020070098125A KR20070098125A KR20080059021A KR 20080059021 A KR20080059021 A KR 20080059021A KR 1020070098125 A KR1020070098125 A KR 1020070098125A KR 20070098125 A KR20070098125 A KR 20070098125A KR 20080059021 A KR20080059021 A KR 20080059021A
Authority
KR
South Korea
Prior art keywords
history
memory
data
error
storage
Prior art date
Application number
KR1020070098125A
Other languages
English (en)
Other versions
KR100951831B1 (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 KR20080059021A publication Critical patent/KR20080059021A/ko
Application granted granted Critical
Publication of KR100951831B1 publication Critical patent/KR100951831B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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

Landscapes

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

Abstract

본 발명은 데이터를 복수의 메모리에 할당하여, 각각의 메모리를 제어하는 메모리 컨트롤러를 동기하여 처리하는 정보 처리 장치에 있어서 발생하는 정정 불가능한 에러를 정정하는 것을 목적으로 한다.
본원 발명에 관한 정보 처리 장치는 데이터를 복수로 분할하는 제어 수단과, 분할 데이터를 저장하는 복수의 저장 수단과, 각 저장 수단에 대응하여, 분할 데이터의 기록, 또는 분할 데이터의 판독을 행하는 복수의 저장 제어 수단과, 처리의 이력을 기억하는 복수의 이력 기억 수단과, 상기 처리의 에러를 검출하는 에러 검출 수단과, 상기 에러를 정정하는 취지를 나타내는 에러 정정 신호를 생성하는 에러 정정 신호 생성 수단과, 각 이력 기억 수단에 대응하여, 상기 에러 정정 신호에 기초하여 각 이력 기억 수단의 이력의 기억을 정지하는 복수의 이력 정지 수단으로 이루어지는 것을 특징으로 한다.

Description

정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체{INFORMATION PROCESSING APPARATUS, HISTORY MANAGEMENT METHOD AND COMPUTER-READABLE RECORDING MEDIUM FOR RECORDING HISTORY MANAGEMENT PROGRAM}
본 발명은 에러 발생시에 처리 이력의 기록을 정지하는 정보 처리 장치에 있어서의 에러 해석에 관한 것이다.
데이터를 복수의 메모리에 할당하여, 각각의 메모리를 제어하는 메모리 컨트롤러를 동기하여 처리하는 서버에 있어서, 에러가 발생하는 것이 있다. 에러 해석수단으로서, 각각의 메모리 컨트롤러는 데이터 처리에 대한 동작 이력과 처리하는 데이터를 이력 메모리에 기록해 둔다(이하, 동작 이력과 데이터를 합쳐서 로그라고 부름). 그리고 에러가 발생한 경우, 에러가 발생한 메모리 컨트롤러는 로그의 기록을 정지한다. 서버의 사용자는 에러 발생시의 로그를 참조함으로써, 에러의 해석을 행할 수 있다.
그러나, 에러가 발생한 메모리 컨트롤러가 갖는 로그만을 이용하여 해석할 수 있는 에러는 극히 단순한 에러에 한정되고, 모든 에러에 대응할 수 없는 것이 현재 상태이다.
보다 상세한 에러 해석을 행하기 위해서는, 비교 대상이 되는 에러가 발생하지 않는 데이터 처리에 대한 로그라고 하는 동기하여 데이터 처리를 행하고 있는 다른 메모리 컨트롤러에 있어서의 로그가 필요해진다. 그러나 이력 메모리는 메모리 용량 삭감을 위해, 기억하는 로그가 용량 이상이 되었을 때, 오래된 로그를 순서대로 삭제하여, 새로운 로그를 덮어쓰는 구성으로 되어 있다. 또한 에러를 발생하지 않는 데이터 처리에 대한 로그의 기록은 정지하지 않는다. 그 때문에, 서버는 비교 대상이 되는 에러를 발생하지 않는 메모리 컨트롤러의 로그를 적절히 취득할 수 없었다.
에러 발생시에 액세스 이력을 정지하는 공지 문헌으로서 이하의 것이 있다.
[특허 문헌 1] 일본 특허 공개 평 제6-266584호 공보
특허 문헌 1에 기재한 집적 회로는 입력되는 데이터를 받아들이는 동시에, 오래된 데이터를 소거하면서, 가장 새로운 데이터로부터 소정 사이클 전까지의 데이터를 유지하는 액세스 트레이스 메모리와, 이상이 발생한 경우에 액세스 트레이스 메모리의 갱신 처리를 정지하는 메모리 제어부를 갖는다.
그러나, 서버는 에러가 발생하지 않는 데이터 처리에 대한 로그의 기록을 정지할 수 없고, 로그를 비교한 충분한 에러 해석을 행하는 것은 할 수 없다.
본 발명은 데이터를 복수의 메모리에 할당하여, 각각의 메모리를 제어하는 메모리 컨트롤러를 동기하여 처리하는 정보 처리 장치에 있어서 발생하는 더블 에러등의 소위 정정 불가능한 에러(Uncorrectable error 이하, UE)를 정정하는 것을 목적으로 한다.
본원 발명에 관한 정보 처리 장치는 데이터의 기록 또는 판독의 처리를 행하고 상기 처리의 이력을 관리하는 정보 처리 장치에 있어서, 상기 데이터를 복수의 분할 데이터로 분할하는 제어 수단과, 상기 제어 수단이 분할한 복수의 상기 분할 데이터를 저장하는 복수의 저장 수단과, 각 저장 수단에 대응하여, 각 저장 수단에 상기 분할 데이터를 기록, 또는 각 저장 수단으로부터 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 수단과, 각 저장 제어 수단이 행하는 처리의 이력을 기억하는 복수의 이력 기억 수단과, 상기 저장 제어 수단에 있어서의 상기 처리의 에러를 검출하는 에러 검출 수단과, 상기 에러 검출 수단에 있어서 검출한 에러를 정정하는 취지를 나타내는 에러 정정 신호를 생성하는 에러 정정 신호 생성 수단과, 각 이력 기억 수단에 대응하여, 상기 에러 정정 신호에 기초하여 각 이력 기억 수단의 이력의 기억을 정지하는 복수의 이력 정지 수단으로 구성되는 것을 특징으로 한다.
또한 본원 발명에 관한 정보 처리 장치는, 상기 에러 정정 신호 생성 수단이, 에러 정정 신호를 동기하여 복수의 상기 이력 정지 수단에 송신하는 것을 특징으로 한다.
또한 본원 발명에 관한 정보 처리 장치는 상기 제어 수단이 상기 분할 데이 터를 용장하여 생성하는 것을 특징으로 한다.
또한 본원 발명에 관한 이력 관리 방법은 데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 이력 관리 방법에 있어서, 상기 데이터를 복수의 분할 데이터로 분할하는 분할 순서와, 복수의 상기 분할 데이터를 복수의 저장부에 저장하는 저장 순서와, 각 저장부에 상기 분할 데이터를 기록, 또는 각 저장부에서 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 순서와, 각 저장 제어 순서가 행하는 처리의 이력을 기억하는 이력 기억 순서와, 상기 저장 제어 순서에 있어서, 상기 처리의 에러를 검출하는 에러 검출 순서와, 상기 에러 검출 순서에 있어서 검출한 에러를 정정하는 취지를 나타내는 에러 정정 신호를 생성하는 에러 정정 신호 생성 순서와, 상기 에러 정정 신호에 기초하여 각 이력 기억 순서에 있어서의 이력의 기억을 정지하는 복수의 이력 정지 순서로 이루어지는 것을 특징으로 한다.
또한 본원 발명에 관한 이력 해석 프로그램은 데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 이력 관리 프로그램에 있어서, 상기 데이터를 복수의 분할 데이터로 분할하는 분할 단계와, 복수의 상기 분할 데이터를 복수의 저장부에 저장하는 저장 단계와, 각 저장부에 상기 분할 데이터를 기록, 또는 각 저장부에서 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 단계와, 각 저장 제어 단계가 행하는 처리의 이력을 기억하는 이력 기억 단계와, 상기 저장 제어 단계에 있어서, 상기 처리의 에러를 검출하는 에러 검출 단계와, 상기 에러 검출 단계에 있어서 검출한 에러를 정정하는 취지를 나타내는 에러 정정 신호 를 생성하는 에러 정정 신호 생성 단계와, 상기 에러 정정 신호에 기초하여 각 이력 기억 단계에 있어서의 이력의 기억을 정지하는 복수의 이력 정지 단계를 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명에 따르면, 데이터를 복수의 메모리에 할당하여, 각각의 메모리를 제어하는 메모리 컨트롤러를 동기하여 처리하는 정보 처리 장치에 있어서, UE에 기인하는 동기 신호를 이용하여, 에러가 발생하지 않는 데이터 처리의 로그 기록도 정지하고, 로그를 이용한 UE의 정정을 행할 수 있다.
(실시예 1)
본 실시예에서는 Non-Mirror 모드에 대해 설명한다.
<서버(100)의 개념도>
도 1은 본 실시예에 관한 정보 처리 장치(100)의 개념도이다. 정보 처리 장치는 서버, 퍼스널 컴퓨터 등의 데이터 처리를 행하는 장치를 총괄적으로 나타내고 있고, 본 실시예에서는 이하, 정보 처리 장치를 서버라고 부른다.
서버(100)는 시스템 컨트롤러(System Controler)(1O1), CPU(Central Processing Unit)(102, 103, l04, 105), 메모리 컨트롤러(Memory Controler)(106, 107, 108, 109), 메모리(Memory)(110, 111, 112, 113)로 구성된다. 서버(100)는 Non-Mirror 모드로 동작한다. Non-Mirror 모드란, 서버(100)가 메모리(110, 111, 112, 113)를 하나의 캐쉬 라인으로서 취급하고, 메모리(110, 111, 112, 113)를 동 기하여 제어하는 모드이다. 본 실시예에서는 데이터(116)가 분할 데이터(117, 118, 119, 120)로 분할된다. 그리고 메모리(110)에 분할 데이터(117), 메모리(111)에 분할 데이터(118), 메모리(112)에 분할 데이터(119), 메모리(113)에 분할 데이터(120)가 저장된다.
[시스템 컨트롤러]
시스템 컨트롤러(101)는 CPU(102, 103, 104, 105)로부터의 명령을 통괄하여 제어한다. 시스템 컨트롤러(101)는 CPU(102, 103, 104, 105)로부터의 명령에 기초하여, 메모리 컨트롤러(106, 107, 108, 109)를 동기하여 제어한다.
메모리 컨트롤러(106, 107, 108, 109)는 동기하여, 각각 메모리(110, 111, 112, 113)에의 메모리 액세스를 행하여, 데이터의 기록, 판독을 행한다.
시스템 컨트롤러(101)는 어드레스 변환 테이블(Address Lookup Table)(114)을 갖고 있다. 그리고 CPU(102, 103, 104, 105)로부터 전송된 데이터는 모든 메모리 영역에서의 어드레스를 갖고 있다. 시스템 컨트롤러(101)는 CPU(102, 103, 104, 105)로부터 전송된 데이터의 어드레스를 어드레스 변환 테이블(114)을 이용하여, 메모리 컨트롤러(106, 107, 108, 109)에 할당하고, 각 메모리 컨트롤러(106, 107, 108, 109)에서의 메모리 액세스에 있어서의 어드레스로 변환한다. 시스템 컨트롤러(101)는 메모리(110, 111, 112, 113)에서의 어드레스를 메모리 컨트롤러(106, 107, 108, 109)로 전송한다.
시스템 컨트롤러(101)는 변환한 어드레스를 대응하는 데이터와 별도로 어드레스 패킷으로서 메모리 컨트롤러(106, 107, 108, 109)에 전송한다. 데이터와 어 드레스 패킷은 각각 ID를 갖고 있고, 대응이 행해져 있다. 메모리 컨트롤러(106, 107, 108, 109)는 데이터와 어드레스 패킷을 수신하면, 데이터와 어드레스 패킷이 갖는 ID에 의해, 대응하는 데이터와 어드레스 패킷인지의 여부를 판단한다.
도 4는 본 실시예에 관한 어드레스 패킷이다. 어드레스 패킷(400)은 ID(401), CMD(Command)(402), LIA(LDX Interface Address)(403)로 구성되어 있다. ID(401)는 데이터와 대응이 행해진 정보이다. CMD(402)는 메모리(110, 111, 112, 113)에 있어서의 메모리 액세스 명령을 도시하는 정보이다. LIA(403)는 메모리 컨트롤러(106, 107, 108, 109)에 있어서의, 메모리(110, 111, 112, 113)의 어드레스를 도시하는 정보이다.
또한 시스템 컨트롤러(101)는 스크럽 컨트롤러(115)를 갖고 있다. 스크럽 컨트롤러(115)는 메모리 컨트롤러(106, 107, 108, 109)에 있어서 메모리 리드 에러가 발생한 경우에, 에러가 발생한 메모리 어드레스에 대해, 리드 후 정정 재기록 동작(이후, 스크럽 라이트라고 부름)을 메모리 컨트롤러(106, 107, 108, 109)에 명령하는 제어 수단이다.
[메모리 컨트롤러]
도 2는 본 실시예에 관한 메모리 컨트롤러(106)의 구성도이다. 메모리 컨트롤러(107, 108, 109)도 메모리 컨트롤러(106)와 동등한 구성으로 되어있다. 메모리 컨트롤러(106, 107, 108, 109)는 동기하여, 각각 메모리(110, 111, 112, 113)에의 메모리 액세스를 행하고, 데이터의 기록, 판독을 행하는 처리 수단이다. 메모리 컨트롤러(106, 107, 108, 109)는 서버(100) 전체에 있어서의 메모리(110, 111, 112, 113)에의 액세스를 고속화하는 것이다.
그리고 메모리 컨트롤러(106)는 메모리(110)에의 데이터의 기록, 메모리(110)로부터의 데이터의 판독 제어를 행한다.
메모리 컨트롤러(106)는 이력 메모리(201)(History Memory), 메모리 액세스 인터페이스(202), 에러 검출 회로(203, 204), 어드레스 컨트롤러(205), 이력 정지 회로(206)로 구성된다.
메모리 액세스 인터페이스(202)는 메모리(110)에 데이터의 기록, 메모리(110)로부터의 데이터의 판독을 행한다. 그리고 메모리 액세스 인터페이스(202)는 이력 메모리(201)에, 「메모리 액세스 인터페이스(202)가 메모리(110)에 기록하는 또는 메모리(110)로부터 판독하는 데이터」와 「기록, 판독의 처리 이력」을 기록한다. 본 실시예에 있어서, 「기록, 판독의 처리 이력」은 메모리 액세스 인터페이스(202)가 기록 제어 또는 판독 제어를 행한 시간 간격, 기록 제어 또는 판독 제어를 행한 데이터의 어드레스이다.
그리고 도 5는 이력 테이블(500)이다. 이력 테이블(500)에는 「ENTRY501」, 「CMD502」, 「ADDRESS503」, 「DATA504」, 「DATA Valid505」가 기록되어 있다.
「ENTRY501」은 「메모리 액세스 인터페이스(202)가 메모리 액세스 제어를 행한 액세스의 시간 간격」, 「CMD502」는 「메모리 액세스 명령의 종류」, 「ADDRESS503」는 「메모리 액세스 인터페이스(202)가 메모리 액세스 제어한 어드레스」, 「DATA504」는 「메모리 액세스 인터페이스(202)가 메모리(110)에 기록하는 또는 메모리(110)로부터 판독하는 데이터」이다.「DATA Valid505」는 「메모리 액 세스 인터페이스(202)가 메모리(110)에 데이터의 기록 제어 또는 메모리(110)로부터 데이터의 판독 제어를 행한 것을 도시하는 플래그」이다.
동일하게 하여 도 6은 이력 테이블(600)이다. 「ENTRY601」은 「메모리 액세스 인터페이스(202)가 메모리 액세스 제어를 행한 액세스의 시간 간격」, 「CMD602」은「메모리 액세스 명령의 종류」, 「ADDRESS603」는 「메모리 액세스 인터페이스(202)가 메모리 액세스 제어한 어드레스」, 「DATA604」는 「메모리 액세스 인터페이스(202)가 메모리(110)에 기록하는 또는 메모리(110)로부터 판독하는 데이터」, 「DATA Valid605」는「메모리 액세스 인터페이스(202)가 메모리(110)에 데이터의 기록 제어 또는 메모리(110)로부터 데이터의 판독 제어를 행한 것을 도시하는 플래그」이다.
이력 테이블(500, 600)의 용량이 이력 메모리(201)의 용량 이상으로 되었을 때, 이력 메모리(201)는 오래된 이력을 삭제하고, 새로운 이력을 덮어쓰는 구성으로 되어 있다.
도 5는 에러 검출 회로(203, 204)가 에러를 검출한 경우의 이력 테이블(500)이다. 에러 검출 회로(203, 204)가 에러를 검출한 경우, 에러를 검출한 시간으로부터 일정한 시간 후에 이력 메모리(201)의 갱신이 정지한다. 이것은 에러 검출 회로(203, 204)가 에러를 검출하고 나서 이력 메모리(201)가 갱신 정지하기 위해 신호를 수신할 때까지 일정한 에러 전파 시간이 비슷해지기 때문이다. 이력 메모리(201)의 갱신의 정지 이력으로부터 어떤 액세스에 의해 에러를 검출했는지를 알 수 있다.
도 6은 에러 검출 회로(203, 204)가 에러를 검출하지 않은 경우의 이력 테이블(600)이다. 에러 검출 회로(203, 204)가 에러를 검출하지 않은 경우는, 어드레스 컨트롤러(205)는 이력의 갱신을 행하고 있다. 사용자가 이력 테이블(600)을 참조할때, 이력 메모리(201)의 갱신의 일시정지를 행한다.
에러 검출 회로(203)는 메모리 액세스 인터페이스(202)가 메모리(110)로부터 데이터를 판독했을 때의 에러를 검출하는 회로이다. 에러 검출 회로(204)는 메모리(110)에 데이터를 기록했을 때의 에러를 검출하는 회로이다. 에러 검출 회로(203, 204)는 예컨대 S4EC-D4ED 회로이다. S4EC-D4ED 회로는 4비트 싱글 블록 에러 정정, 4비트 더블 블록 에러 검출을 행하는 회로이다. 에러는 정정 가능 에러(Correctable Error 이후, CE)와, 정정 불가능한 에러(UE)라고 하는 에러이다. UE는 예컨대 더블 블록 에러 등이다. 더블 블록 에러는 데이터 내에 2블록에 걸치는 비트 에러가 존재하는 에러이다. 일반적으로 데이터 중에 존재하는 N 비트의 오류를 정정하기 위해서는, 부호의 최소 거리가 2N + 1 이상일 필요가 있다. 본 실시예에 관한 에러 검출 회로(203, 204)에 있어서의 부호의 최소 거리는 2N + 1이며, N 비트까지의 에러만 정정 가능한 회로이다.
에러 검출 회로(203)는 메모리(110)로부터의 데이터의 판독에 있어서 에러를 검출한 경우, 에러 검출 신호를 어드레스 컨트롤러(205)에 보낸다. 에러 검출 회로(203)로부터 에러 검출 신호를 수신한 어드레스 컨트롤러(205)는 이력 메모리(201)에 메모리 액세스 인터페이스로부터 기록되어 있는 메모리 액세스 시의 어드레스, 메모리 액세스 시의 명령, 메모리 액세스 시의 데이터, 이들과 함께 기록 하고 있는 메모리 액세스 시간 간격의 갱신을 정지한다. 에러 검출 회로(204)는 메모리(110)에의 데이터 기록에 있어서 에러를 검출한 경우, 에러 검출 신호를 어드레스 컨트롤러(205)에 보낸다.
어드레스 컨트롤러(205)는 에러 검출 회로(204)로부터 에러 검출 신호를 수신하면, 메모리 컨트롤러(106)가 행하는 이력 메모리(201)에의 메모리 액세스의 로그의 기록을 정지한다. 여기서 로그는「ENTRY」, 「CMD」, 「Address」, 「DATA」, 「DATA Valid」이다.
[어드레스 컨트롤러(205), 이력 정지 회로(206)]
어드레스 컨트롤러(205)는 메모리 액세스 인터페이스로부터 보내어지는 메모리 액세스의 이력을 이력 메모리(201)에 기록할 때의 이력 메모리(201)의 어드레스를 생성하여 이력 메모리(201)를 제어하는 기능을 갖고 있다. 또한 에러 검출 회로(203)가 메모리 리드 에러를 검출한 경우, 에러 검출 회로(203)는 시스템 컨트롤러(101)에 스크럽 라이트 처리를 요구한다. 즉 에러 검출 회로(203)가 메모리(110)로부터의 데이터의 판독에 있어서 에러를 검출한 경우에는, 다시 에러를 검출한 데이터의 어드레스와 동일 어드레스의 데이터 판독을 행하고, 데이터의 정정 후 재기록 동작을 요구하는 것을 시스템 컨트롤러(101)에 의뢰한다. 이 때 에러 검출 회로(203)는 이력 정지 회로(206)를 통해 시스템 컨트롤러(101)에 요구한다. 이력 정지 회로(206)는 시스템 컨트롤러(101)로부터의 스크럽 라이트 명령의 신호를 수신하고, 이 스크럽 라이트 명령의 신호를 어드레스 컨트롤러(205)에 송신한다. 어드레스 컨트롤러(205)는 스크럽 라이트 명령의 신호를 수신하면, 이력 메모 리(205)의 갱신을 정지하는 제어를 행한다. 시스템 컨트롤러(101)는 스크럽 라이트 명령의 신호를 다른 메모리 컨트롤러(107, 108, 109)가 갖는 이력 정지 회로에 동기하여 송신한다.
여기서 동기하여 스크럽 라이트 명령의 신호를 보낸다는 것은, 스크럽 라이트 명령의 신호를 메모리 컨트롤러(106, 107, 108, 109)에 동일한 타이밍으로 송신한다는 것이다. 메모리 컨트롤러(106, 107, 108, 109) 각각의 이력 정지 회로는 스크럽 라이트 명령의 신호를 수신하면, 어드레스 컨트롤러를 통해, 이력 메모리의 갱신 처리를 정지한다. 메모리 컨트롤러(106, 107, 108, 109)는 각각이 갖는 이력 메모리의 처리 이력 갱신을 막을 수 있다. 이에 따라, 메모리 액세스의 에러 발생 시에, 모든 메모리 컨트롤러(106, 107, 108, 109)의 이력 메모리 이력을 참조할 수 있고, 에러를 상세하게 해석할 수 있다.
메모리(110, 111, 112, 113)는 데이터를 저장하는 것이고, 메모리 컨트롤러(106, 107, 108, 109)에 의해 제어되어 있다.
<128바이트의 데이터가 메모리에 기록되는 구체예>
다음에 CPU(102, 103, 104, 105)에 저장되는 데이터가 128바이트의 경우를 예로 들어, 에러 발생 시에 이력 메모리(201)의 갱신을 정지하는 것을 설명한다.
도 3은 메모리 컨트롤러(106)에 있어서, 에러가 발생한 경우의 서버(100)의 구성도이다.
CPU(102, 103, l04, 105)가 갖는 캐쉬 메모리는 128바이트의 데이터가 각각 저장하는 것이 가능하다. 그리고 CPU(102)가 갖는 캐쉬 메모리에 128바이트의 데 이터가 저장되어 있다. 캐쉬 메모리는 CPU(102) 내부에 설치된 기억 장치이다. CPU(102)가 사용하는 빈도가 높은 데이터를 캐쉬 메모리에 저장함으로써, 메모리(110, 111, 112, 113)에의 액세스를 삭감할 수 있고, 처리를 고속으로 행할 수 있다.
CPU(102)는 128바이트의 데이터를 메모리(110, 111, 112, 113)로부터 캐쉬 메모리에 저장하는 경우, 시스템 컨트롤러(101)에 액세스하고 메모리 리드를 행한다.
CPU(102)는 시스템 상에 다수 구성되는 메모리 시스템의 전영역을 나타내는 어드레스 PA에서 시스템 컨트롤러(101)에 액세스를 행한다.
시스템 컨트롤러(101)는 상기 어드레스 PA를 어드레스 변환 테이블(114)을 사용하여, 메모리 컨트롤러(106)가 메모리 액세스에 사용할 수 있는 메모리(110) 상의 어드레스 MA로 변환한다.
또한 시스템 컨트롤러(101)는 메모리 컨트롤러(106)에 다수 접속되는 메모리(도시하지 않음)의 선택을 할 수 있도록 메모리의 선택 정보를 부가하고, MA와 함께 LIA로 변환한다.
여기서 128바이트의 캐쉬 메모리의 데이터는 32바이트 씩의 분할 데이터(117, 118, 119, 120)에 나누어져 있다. 메모리(110, 111, 112, 113)는 각각, 분할 데이터(117, 118, 119, 120)를 저장하고 있다. 시스템 컨트롤러(101)는 4개의 메모리 컨트롤러(110, 111, 112, 113)를 동기 제어하여, 메모리 컨트롤러(110, 111, 112, 113)은 메모리(110, 111, 112, 113)에 동기하여 메모리 액세스를 행한 다. 시스템 컨트롤러(101)는 CPU(102, 103, 104, 105)로부터의 메모리 액세스를 제어하는 컨트롤러이므로, 하나의 메모리 액세스에 의한 메모리 컨트롤러(106, 107, 108, 109)에의 명령 및 데이터의 송수신 제어는 동기하여 행한 쪽이 효율적이고, 처리를 고속화할 수 있다.
시스템 컨트롤러(101)는 시스템 컨트롤러(101)의 기억부에서의 32바이트의 분할 데이터(117, 118, 119, 120)의 어드레스를 메모리 컨트롤러(106, 107, 108, 109)에 있어서의 어드레스로 변환한다. 시스템 컨트롤러(101)는 어드레스 변환 테이블(114)을 참조하여, 분할 데이터(117, 118, 119, 120)의 어드레스 변환을 행한다.
도 7은 어드레스 패킷이다. 어드레스 패킷(701)은 메모리 컨트롤러(106)에 송신된다. 어드레스 패킷(702)은 메모리 컨트롤러(107)에 송신된다. 어드레스 패킷(703)은 메모리 컨트롤러(108)에 송신된다. 어드레스 패킷(704)은 메모리 컨트롤러(109)에 송신된다. 어드레스 패킷(701)은 ID7011, CMD7012, LIA7013으로 구성되어 있다. 어드레스 패킷(702)은 ID7021, CMD7022, LIA7023로 구성되어 있다. 어드레스 패킷(703)은 ID7031, CMD7032, LIA7033로 구성되어 있다. 어드레스 패킷(704)은 ID7041, CMD7042, LIA7043로 구성되어 있다. ID7011은 메모리 컨트롤러(106)가 리드 요청을 관리하는 정보이다. 동일하게 ID7021은 메모리 컨트롤러(107)가 리드 요청을 관리하는 정보이다. ID7031은 메모리 컨트롤러(108)가 리드 요청을 관리하는 정보이다. lD7041은 메모리 컨트롤러(109)가 리드 요청을 관리하는 정보이다. CMD7012는 메모리(110)에 있어서의 메모리 액세스 명령을 도시 하는 정보이다. 동일하게 CMD7022는 메모리(111)에 있어서의 메모리 액세스 명령을 도시하는 정보이다. CMD7032는 메모리(112)에 있어서의 메모리 액세스 명령을 도시하는 정보이다. CMD7042는 메모리(113)에 있어서의 메모리 액세스 명령을 도시하는 정보이다. LlA7013은 메모리 컨트롤러(106)에 있어서의 메모리 액세스의 어드레스를 도시하는 정보이다. 동일하게 LIA7023은 메모리 컨트롤러(107)에 있어서의 메모리 액세스의 어드레스를 도시하는 정보이다. LIA7033은 메모리 컨트롤러(119)에 있어서의 메모리 액세스의 어드레스를 도시하는 정보이다. LIA7043은 메모리 컨트롤러(109)에 있어서의 메모리 액세스의 어드레스를 도시하는 정보이다.
시스템 컨트롤러(101)는 메모리 액세스 인터페이스(202)에 어드레스 패킷(701)을 전송한다. 동일하게 시스템 컨트롤러(1010)는 메모리 액세스 인터페이스에 어드레스 패킷을 전송한다.
어드레스 패킷(701)을 수신한 메모리 액세스 인터페이스(202)는 패킷 내의 LIA7013에서 MA를 추출하여, 추출한 상기 MA에 따라 메모리(110)로부터 분할 데이터(117)를 얻는다.
메모리 컨트롤러(106)는 에러 검출 회로(203)에 의해 분할 데이터(117)에 있어서의 에러의 유무를 판단한다. 동일하게 하여 메모리 컨트롤러(l07, 108, 109)도 각각이 갖는 에러 검출 회로에 의해, 각각이 수신하는 분할 데이터(118, 119, 120)에 있어서의 에러의 유무를 판단한다.
메모리 컨트롤러(106)에 있어서, 메모리 액세스 인터페이스(202)는 이력 메모리(201)에, 「메모리 액세스 시간 간격」을 나타내는 「ENTRY」, 「메모리 액세 스 시의 명령」을 나타내는 「CMD」, 「LIA7013」 및 「분할 데이터(117)」, 「메모리 액세스 인터페이스(202)가 메모리(110)에 데이터의 기록 제어 또는 메모리(110)로부터 데이터의 판독 제어를 행한 것을 나타내는 플래그」를 나타내는 「DATA Valid」를 기록한다. 동일하게 하여 메모리 컨트롤러(107, 108, 109)에 있어서, 각각의 메모리 액세스 인터페이스는 각각의 이력 메모리(201)에, 메모리 액세스 시간 간격을 나타내는 「ENTRY」, 메모리 액세스 시의 명령을 나타내는 「CMD」, 메모리 액세스 어드레스를 포함하는 LIA를 나타내는 「Address」, 리드 데이터를 나타내는 「DATA」 및 메모리 액세스 인터페이스가 메모리에 데이터의 기록 제어 또는 메모리로부터 데이터의 판독 제어를 행한 것을 나타내는 플래그를 나타내는 「DATA Valid」를 기록한다.
메모리 컨트롤러(106)에 있어서, 에러 검출 회로(203)가 분할 데이터(117)의 에러를 검출한 경우, 에러 검출 회로(203)는 에러 검출 신호를 이력 메모리 정지 신호로서, 어드레스 컨트롤러(205)에 송신한다. 어드레스 컨트롤러(205)는 「메모리 액세스 시간 간격」, 「메모리 액세스 시의 명령」, 「LIA7013」, 「분할 데이터(117)」의 기록을 계속하고 있는 이력 메모리(201)에 대해, 상기 에러 검출 신호에 의해 이력 메모리(201)에의 기록을 정지한다.
그리고 어드레스 컨트롤러(205)는 에러 검출 신호를 수신하면, 이력 정지 회로(206)를 통해, 시스템 컨트롤러(101)에 스크럽 라이트 요구 의뢰 정보를 패킷의 형식으로 송신한다. 스크럽 라이트 요구 의뢰 정보는 에러 정정 후 재기록 처리의 요구를 의뢰하는 취지를 나타내는 정보이다.
시스템 컨트롤러(101)는 스크럽 라이트 요구 의뢰 정보를 수신하면, 스크럽컨트롤러(115)를 이용하여 스크럽 라이트 명령을 메모리 컨트롤러(106, 107, 108, 109)에 동기하여 송신한다. 메모리 컨트롤러(106, 107, 108, 109)는 각각의 이력 정지 회로에 의해 스크럽 라이트 명령을 이력 메모리(201)의 기록 정지 신호로서 수신한다. 스크럽 라이트 명령을 수신하면, 이력 정지 회로는 어드레스 컨트롤러를 통해, 이력 메모리의 갱신 처리를 정지한다.
메모리 컨트롤러(106, 107, 108, 109)는 각각의 이력 메모리의 처리 이력 갱신을 막을 수 있다. 그 때문에, 서버(100)는 에러 발생 시에 있어서의 128바이트의 데이터를, 메모리 컨트롤러(106, 107, 108, 109)의 이력 메모리로부터 참조할 수 있고, 에러를 상세하게 해석할 수 있다.
[이력 갱신 정지의 흐름도]
도 8은 본 실시예에 있어서의 이력 메모리(201)를 정지하는 흐름도이다.
메모리 액세스 인터페이스(201)는 시스템 컨트롤러(101)로부터의 명령에 기초하여, 메모리(110)로부터 분할 데이터를 판독한다(단계 S801). 메모리 액세스 인터페이스(201)는 판독한 분할 데이터를 에러 검출 회로(203)에 전송한다.
에러 검출 회로(203)는 분할 데이터(203)에 있어서의 에러의 유무를 판단한다(단계 S802). 에러의 유무 판단은, 예컨대, S4EC-D4ED와 같은 ECC 회로와 동일하게, 에러를 검출 대상이 되는 데이터와, 그 용장으로서 코드화되어 보내어지는 체크 비트와의 비교 연산에 의해 행해진다.
에러 검출 회로(203)가 에러를 검출하지 않은 경우(단계 S802 아니오(NO)), 에러 검출의 처리는 종료한다. 에러 검출 회로(203)가 에러를 검출한 경우(단계 S802 예(YES)), 에러 검출 회로(203)는 어드레스 컨트롤러(205)를 통해, 자신의 메모리 컨트롤러 내의 이력 메모리를 정지하고, 리드 데이터의 재판독 명령을 시스템 컨트롤러(101)에 요구한다(단계 S803). 시스템 컨트롤러(101)는 분할 데이터의 스크럽 라이트의 명령을 모든 메모리 컨트롤러(106, 107, 108, 109)에 동기하여 송신한다. 메모리 컨트롤러(106, 107, 108, 109)는 분할 데이터의 스크럽 라이트의 명령을 수신하여 (단계 S804), 수신한 재판독 명령에 기초하여, 각각의 이력 메모리를 정지한다(단계 S805).
(실시예 2)
본 실시예에서는 Mirror 모드에 대해 설명한다.
<서버(900)의 개념도>
도 9는 본 실시예에 관한 서버(100)의 개념도이다.
서버(100)는 시스템 컨트롤러(901), CPU(Central Proccsslng Unit)(902, 903, 904, 905), 메모리 컨트롤러(906, 907, 908, 909), 메모리(910, 911, 912, 913)로 구성된다. 서버(900)는 Mirror 모드로 동작한다. Mirror 모드란, 서버(900)가 메모리(910, 911)의 조와 메모리(912, 913)의 조에 동일한 데이터를 저장하여, 메모리(910, 911, 912, 913)를 동기하여 제어하는 모드이다. 본 실시예에서는, 데이터(916)와 데이터(917)는 동일한 내용의 데이터이다. 또한 메모리(910)에 저장되는 분할 데이터(918)와 메모리(912)에 저장되는 분할 데이터(920)는 동일 내용의 분할 데이터이다. 동일하게 메모리(911)에 저장되는 분할 데이터(919)와 메모리(913)에 저장되는 분할 데이터(921)는 동일 내용의 분할 데이터이다.
도 10은 메모리 컨트롤러(906)에 있어서, 에러가 발생한 경우의 서버(900)의 구성도이다.
우선 CPU(902, 903, 904, 905)가 갖는 캐쉬 메모리는 128바이트의 데이터가 각각 저장하는 것이 가능하다. 그리고 CPU(902)가 갖는 캐쉬 메모리에 128바이트의 데이터가 저장되어 있다. 캐쉬 메모리는 CPU(902) 내부에 설치된 기억 장치이다. CPU(902)가 사용하는 빈도가 높은 데이터를 캐쉬 메모리에 저장함으로써, 메모리(910, 911, 912, 913)에의 액세스를 삭감할 수 있고, 처리를 고속으로 행할 수 있다.
CPU(902)는 이 128바이트의 데이터(916, 917)를 메모리(910, 911, 912, 913)로부터 캐쉬 메모리에 저장할 때, 시스템 컨트롤러(901)에 액세스하여 메모리 리드를 행한다. 시스템 컨트롤러(901)는 데이터(916)를 복사하여, 데이터(917)를 생성한다. 데이터(916)와 데이터(917)는 동일 내용을 도시하는 데이터이다.
CPU(902)는 시스템 상에 다수 구성되는 메모리 시스템의 모든 영역을 나타내는 어드레스 PA에서 시스템 컨트롤러(901)에 액세스를 행한다. 시스템 컨트롤러(901)는 상기 어드레스 PA를 어드레스 변환 테이블(914)을 사용하여, 메모리 컨트롤러(906)가 메모리 액세스에 사용할 수 있는 메모리(910) 상의 어드레스 MA로 변환한다. 또한 시스템 컨트롤러(901)는 메모리 컨트롤러(906)에 다수 접속되는 메모리(도시하지 않음)의 선택을 할 수 있도록 메모리의 선택 정보를 부가하여, MA와 함께 LIA로 변환된다.
여기서 128바이트의 캐쉬 메모리의 데이터(916)는 64바이트의 분할 데이터(918, 919)로 나누어진다. 동일하게 하여 128바이트의 캐쉬 메모리의 데이터(917)는 64바이트의 분할 데이터(920, 921)로 나누어진다. 메모리(910, 911, 912, 913)는 각각 분할 데이터(918, 919, 920, 921)를 저장하고 있다. 시스템 컨트롤러(901)는 4개의 메모리 컨트롤러(906, 907, 908, 909)를 동기 제어하고, 메모리 컨트롤러(906, 907, 908, 909)는 메모리(910, 911, 912, 913)에 동기하여 메모리 액세스를 행한다. 시스템 컨트롤러(901)는 CPU(902, 903, 904, 905)로부터의 메모리 액세스를 제어하는 컨트롤러이므로, 하나의 메모리 액세스에 의한 메모리 컨트롤러(906, 907, 908, 909)에의 명령 및 데이터의 송수신 제어는 동기하여 행한 쪽이 효율적이고, 처리를 고속화하할 수 있다.
시스템 컨트롤러(901)는 시스템 컨트롤러(101)의 기억부에 있어서의 64바이트의 분할 데이터(918, 919, 920, 921)의 어드레스를 메모리 컨트롤러(906, 907, 908, 909)에 있어서의 어드레스로 변환한다. 시스템 컨트롤러(901)는 어드레스 변환 테이블(914)을 참조하여, 메모리 리드를 행하는 어드레스 PA의 어드레스 변환을행한다. 시스템 컨트롤러(901)는 변환한 어드레스를 메모리 컨트롤러(906, 907, 908, 909)에 전송한다.
Non-Mirror 모드의 경우와 동일하게, 어드레스 패킷은 함께 ID를 가지고, ID에 의해 관리가 행해지고 있다. 그리고 어드레스 패킷은 메모리(910)의 어드레스를 포함하고 있다.
메모리 컨트롤러(906)에 전송된 어드레스 패킷(1201)은 메모리 액세스 인터 페이스(1102)에 의해, CMD12012로부터 메모리 액세스를 위한 명령을, LIA12013로부터 메모리 액세스를 위한 어드레스 MA를 추출하여, 메모리(910)에 대해 메모리 액세스를 행한다.
메모리(910)는 메모리 컨트롤러(906)로부터의 명령에 따른 동작을 하고, 리드 명령의 경우는, 분할 데이터 64바이트 분량을 8바이트씩 8회에 나누어 메모리 컨트롤러(906)에 전송한다. 동일하게 메모리(911, 912, 913)로부터도 메모리 컨트롤러(907, 908, 909)에 8바이트 씩 8회에 나누어 분할 데이터를 전송한다.
메모리 컨트롤러(906)는 시스템 컨트롤러(901)에 64바이트의 분할 데이터(918)를 전송한다. 메모리 컨트롤러(906)는 분할 데이터(918)를 8바이트씩, 8회에 나누어 시스템 컨트롤러(901)에 전송한다. 이 때 메모리 컨트롤러(906)는 미리 수취하고 있었던 어드레스 패킷(1201)에 부가되어 있던 ID12011을 데이터 패킷에 부가하여 시스템 컨트롤러(901)에 전송한다. 시스템 컨트롤러(901)는 자신이 관리하는 ID와 ID12011을 비교하여, 리드 명령과 분할 데이터(918)의 대응을 행한다. 동일하게 메모리 컨트롤러(907)는 시스템 컨트롤러(901)에 64바이트의 분할 데이터(919)를 전송한다. 시스템 컨트롤러(901)는 분할 데이터(918, 919)를 연결하여, 128바이트의 데이터(916)를 생성한다. 시스템 컨트롤러(901)는 데이터(916)를 CPU에 전송하여, CPU 내의 캐쉬 메모리에 저장한다. 동일하게 메모리 컨트롤러(908, 909)는 시스템 컨트롤러(901)에 64바이트의 분할 데이터(920, 921)를 전송한다. 메모리 컨트롤러(908, 909)는 각각 분할 데이터(920, 921)를 8바이트씩, 8회에 나누어 시스템 컨트롤러(901)에 전송한다. 이 때 메모리 컨트롤러(908, 909)는 미리 수취하고 있었던 어드레스 패킷(1202, 1203)에 부가되어 있던 ID12031, 12041을 데이터 패킷에 부가하여 시스템 컨트롤러(901)에 전송한다. 시스템 컨트롤러(901)는 자신이 관리하는 ID와 ID12031, 12041를 비교하여, 리드 명령과 분할 데이터(920, 921)의 대응을 행한다. 시스템 컨트롤러(901)는 분할 데이터(920, 921)를 연결하여, 128바이트의 데이터(917)를 생성한다. 시스템 컨트롤러(901)는 데이터(917)를 CPU에 전송하여, CPU 내의 캐쉬 메모리에 저장한다.
이 일련의 메모리 리드 동작의 중에서 메모리 컨트롤러(906) 중의 에러 검출 회로(1103)는 분할 데이터(918)의 에러의 유무를 판단한다. 분할 데이터(918)의 에러의 유무의 판단은 구체적으로는 이하와 같이 행한다. 우선 검출 회로(1104)가분할 데이터(918)에 대응하는 체크 비트를 생성한다. 메모리 액세스 인터페이스(1102)는 체크 비트는 분할 데이터(918)와 함께 메모리(910)에 저장한다. 그리고 메모리 액세스 인터페이스(1102)는 메모리(910)보다 체크 비트와 분할 데이터(918)를 판독하여 에러 검출 회로(1103)에 전송한다. 그리고 에러 검출 회로(1102)는 분할 데이터(918)의 에러 유무의 판단을, 체크 비트와 분할 데이터(918)를 EOR 연산에 의해 산출한다.
또한 메모리 액세스 인터페이스(1102)는 메모리 컨트롤러(906)에 있어서의 메모리 리드 액세스를 이력 메모리(1101)에 기록한다. 이에 따라 사용자는 이력 메모리(1101)에 기록된 내용을 해석할 수 있고, 어떠한 메모리 액세스가 행해졌는지, 어떠한 데이터가 송수신 되었는지를 알 수 있다.
에러 검출 회로(1103)를 분할 데이터(918)의 리드 에러를 검출하면, 에러 검 출 회로(1103)는 이력 메모리(1101)의 어드레스 관리 회로인 어드레스 컨트롤러(1105)에 에러 검출 신호를 송신한다.
어드레스 컨트롤러(1105)는 에러 검출 신호를 수신한 후, 이력 메모리(1101)의 어드레스 생성을 정지하고, 이력 메모리(1101)의 갱신 동작을 정지한다.
또한 분할 데이터(918)의 리드 에러를 검출한 에러 검출 회로(1103)는 메모리(910) 내의 데이터를 정정하기 위해, 스크럽 라이트 처리를 시스템 컨트롤러(901)에 의뢰한다. 스크럽 라이트 처리 의뢰를 받은 시스템 컨트롤러(901)는 4개의 메모리 컨트롤러(906, 907, 908, 909)에 대해, 스크럽 라이트 명령을 송신한다. 4개의 메모리 컨트롤러(906, 907, 908, 909)를 동기하여 제어하므로, 시스템 컨트롤러(901)는 4개의 메모리 컨트롤러(906, 907, 908, 909) 모두에 스크럽 라이트 명령을 송신한다.
시스템 컨트롤러(901)로부터 스크럽 라이트 명령을 수신한 메모리 컨트롤러(906)는 이력 정지 회로(1106) 내에 있는 스크럽 컨트롤러에 의해 스크럽 라이트를 실행한다.
또한 이력 정지 회로(1106)는 스크럽 라이트 명령을 수신하면, 이력 메모리(1101)를 정지하므로, 어드레스 컨트롤러(1105)에 이력 메모리 정지 신호를 송신하여, 이력 메모리(1101)의 어드레스 생성을 정지한다.
메모리 컨트롤러(906)에 있어서, 메모리 액세스 인터페이스(1102)는 이력 메모리(1101)에 메모리 액세스 인터페이스(202)가 메모리 액세스 제어를 행한 액세스의 시간 간격 「ENTRY」, 메모리 액세스 명령의 종류 「CMD」, 메모리 액세스 인터 페이스(202)가 메모리 액세스 제어한 어드레스 「ADDRESS」, 메모리 액세스 인터페이스(202)가 메모리(110)에 기록 또는 메모리(110)로부터 판독하는 데이터「DATA」, 메모리 액세스 인터페이스(202)가 메모리(110)에 데이터의 기록 제어 또는 메모리(110)로부터 데이터의 판독 제어를 행한 것을 나타내는 플래그「DATA Valid」를 기록한다.
동일하게 메모리 컨트롤러(907, 908, 909)의 메모리 액세스 인터페이스는 각각의 메모리 컨트롤러(907, 908, 909)가 갖는 이력 메모리에, 메모리 액세스 인터페이스가 메모리 액세스 제어를 행한 액세스의 시간 간격 「ENTRY」, 메모리 액세스 명령의 종류 「CMD」, 메모리 액세스 인터페이스가 메모리 액세스 제어한 어드레스「ADDRESS」, 메모리 액세스 인터페이스가 메모리에 기록하는 또는 메모리로부터 판독하는 데이터「DATA」, 메모리 액세스 인터페이스가 메모리에 데이터의 기록 제어 또는 메모리로부터 데이터의 판독 제어를 행한 것을 나타내는 플래그「DATA Valid」를 기록한다.
메모리 컨트롤러(906)에 있어서, 에러 검출 회로(1104)가 분할 데이터(918)의 에러를 검출한 경우, 에러 검출 회로(1104)는 에러 검출 신호를 이력 메모리 정지 신호로서 어드레스 컨트롤러(1105)에 전송한다.
그리고 어드레스 컨트롤러(1105)는 에러 검출의 신호를 수신하면, 이력 메모리(1105)의 갱신을 정지한다. 에러 검출 회로(1104)는 다시금, 이력 정지 회로(1106)를 통해, 시스템 컨트롤러(901)에 스크럽 라이트 요구 의뢰 정보를 패킷의 형식으로 송신한다. 스크럽 라이트 요구 의뢰 정보는 에러 정정 후 재기록 처리의 요구를 의뢰하는 취지를 나타내는 정보이다.
시스템 컨트롤러(901)는 스크럽 라이트 요구 의뢰 정보를 수신하면, 스크럽 컨트롤러(914)를 이용하여 스크럽 라이트 요구 정보를 메모리 컨트롤러(906, 907, 908, 909)에 동기하여 송신한다. 메모리 컨트롤러(906, 907, 908, 909)는 각각의 이력 정지 회로에 의해 스크럽 라이트 요구 신호를 수신한다. 스크럽 라이트 요구 정보를 수신하면, 이력 정지 회로는 어드레스 컨트롤러를 통해, 이력 메모리의 갱신 처리를 정지한다.
메모리 컨트롤러(906, 907, 90·8, 909)는 각각의 이력 메모리의 처리 이력 갱신을 막을 수 있다. 그 때문에, 서버(900)는 에러 발생 시에 있어서의 128바이트의 데이터를 메모리 컨트롤러(106, 107, 108, 109)의 이력 메모리로부터 참조할 수 있고, 에러를 상세하게 해석할 수 있다. Mirror 모드에 있어서, 분할 데이터(918)와 분할 데이터(920)는 동일한 내용의 데이터이므로, 「이력 메모리(1101)에 기록되어 있는 이력 테이블」과 「메모리 컨트롤러(908)가 갖는 이력 메모리에 기록되어 있는 이력 테이블」을 비교함으로써, 에러가 발생한 경우의 이력 테이블과 에러가 발생하지 않는 경우의 이력 테이블을 비교할 수 있다. 이에 따라 에러의 해석을 에러 검출 회로로 정정할 수 없었던 에러이더라도 행하는 것이 가능해진다.
도 13은 이력 테이블(1300)이다. 이력 테이블(1300)에는 「ENTRY1301」, 「CMD1302」, 「ADDRESS1303」, 「DATA1304」, 「DATA Valid1305」이 기록되어 있다.
「ENTRY1301」는 「메모리 액세스 인터페이스(1102)가 메모리 액세스 제어를 행한 액세스의 시간 간격」, 「CMD1302」는 「메모리 액세스 명령의 종류」, 「ADDRESS1303」는 「메모리 액세스 인터페이스(1102)가 메모리 액세스 제어한 어드레스」, 「DATA1304」는 「메모리 액세스 인터페이스(1102)가 메모리(910)에 기록하는 또는 메모리(910)로부터 판독하는 데이터」이다. 「DATA Valid1305」는 「메모리 액세스 인터페이스(1102)가 메모리(910)에 데이터의 기록 제어 또는 메모리(910)로부터 데이터의 판독 제어를 행한 것을 나타내는 플래그」이다.
동일하게 도 14는 이력 테이블(1400)이다. 「ENTRY1401」는 「메모리 액세스 인터페이스(1102)가 메모리 액세스 제어를 행한 액세스의 시간 간격」, 「CMD1402」는 「메모리 액세스 명령의 종류」, 「ADDRESS1403」은 「메모리 액세스 인터페이스(1102)가 메모리 액세스 제어한 어드레스」, 「DATA1404」는 「메모리 액세스 인터페이스(1102)가 메모리(910)에 기록하는 또는 메모리(910)로부터 판독하는 데이터」, 「DATA Valid1405」는 「메모리 액세스 인터페이스(1102)가 메모리(910)에 데이터의 기록 제어 또는 메모리(910)로부터 데이터의 판독 제어를 행한 것을 도시하는 플래그」이다.
이력 테이블(1300, 1400)의 용량이 이력 메모리(901)의 용량 이상이 되었을 때, 이력 메모리(901)는 오래된 이력을 삭제하고, 새로운 이력을 덮어쓰는 구성으로 되어 있다.
또한 본원 발명에 있어서의 제어 수단이 행하는 처리는 본 실시예에 있어서의 시스템 컨트롤러(101, 901)가 실행하는 처리에 포함되는 것이다. 본원 발명에 있어서의 저장 수단이 행하는 처리는 본 실시예에 있어서의 메모리(110, 111, 112, 113, 910, 911, 912, 913)이 실행하는 처리에 포함되는 것이다. 본원 발명에 있어서의 저장 제어 수단이 행하는 처리는 본 실시예에 있어서의 메모리 컨트롤러(106, 107, 108, 109, 906, 907, 908, 909)가 실행하는 처리에 포함되는 것이다. 본원 발명에 있어서의 이력 기억 수단이 행하는 처리는 본실시예에 있어서의 이력 메모리(201, 901)가 실행하는 처리에 포함되는 것이다. 본원 발명에 있어서의 에러 검출 수단이 행하는 처리는 본 실시예에 있어서의 에러 검출 회로(203, 204, 903, 904)가 실행하는 처리에 포함되는 것이다. 본원 발명에 있어서의 에러 정정 신호 생성 수단은 본 실시예에 있어서의 스크럽 컨트롤러가 실행하는 처리에 포함되는 것이다. 본원 발명에 있어서의 이력 정지 수단은 본 실시예에 있어서의 어드레스 컨트롤러가 실행하는 처리에 포함되는 것이다.
다음으로, 이상 진술한 정보 처리 장치의 실시형태로부터 추출되는 기술적 사상을 청구항의 기재 형식에 준하여 부기로서 열거한다. 본 발명에 관한 기술적 사상은 상위 개념으로부터 하위 개념까지, 여러 가지 레벨이나 변경에 의해 파악할 수 있는 것이며, 이하의 부기에 본 발명이 한정되지 않는다.
(부기 1)
데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 정보 처리 장치에 있어서,
상기 데이터를 복수의 분할 데이터로 분할하는 제어 수단과,
상기 제어 수단이 분할한 복수의 상기 분할 데이터를 저장하는 복수의 저장 수단과,
각 저장 수단에 대응하여, 각 저장 수단에 상기 분할 데이터를 기록, 또는 각 저장 수단으로부터 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 수단과,
각 저장 제어 수단이 행하는 처리의 이력을 기억하는 복수의 이력 기억 수단과,
상기 저장 제어 수단에 있어서의 상기 처리의 에러를 검출하는 에러 검출 수단과,
상기 에러 검출 수단에 있어서 검출한 에러를 정정하는 취지를 도시하는 에러 정정 신호를 생성하는 에러 정정 신호 생성 수단과,
각 이력 기억 수단에 대응하여, 상기 에러 정정 신호에 기초하여 각 이력 기억 수단의 이력의 기억을 정지하는 복수의 이력 정지 수단
으로 구성되는 것을 특징으로 하는 정보 처리 장치.
(부기 2)
부기 1에 기재한 정보 처리 장치에 있어서,
상기 에러 정정 신호 생성 수단은, 에러 정정 신호를 동기하여 복수의 상기 이력 정지 수단에 송신하는 것을 특징으로 하는 정보 처리 장치.
(부기 3)
부기 1에 기재한 정보 처리 장치에 있어서,
상기 제어 수단은 상기 분할 데이터를 용장하여 생성하는 것을 특징으로 하는 정보 처리 장치.
(부기 4)
부기 1에 기재한 정보 처리 장치에 있어서,
상기 제어 수단은 상기 분할 데이터의 상기 저장 수단에서의 어드레스를 관리하는 것을 특징으로 하는 정보 처리 장치.
(부기 5)
부기 4에 기재한 정보 처리 장치에 있어서,
상기 제어 수단은 어드레스 변환 테이블을 이용하여, 상기 제어 수단에서의 상기 분할 데이터의 어드레스와 상기 분할 데이터의 상기 저장 수단에서의 어드레스를 대응시켜 관리하는 것을 특징으로 하는 정보 처리 장치.
(부기 6)
부기 1에 기재한 정보 처리 장치에 있어서,
상기 이력 기억 수단은 상기 이력의 용량이 소정의 용량 이상으로 된 경우에는 기억한 이력을 오래된 순으로 삭제하고, 새로운 이력을 덮어쓰는 것을 특징으로 하는 정보 처리 장치.
(부기 7)
데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 이력 관리 방법에 있어서,
상기 데이터를 복수의 분할 데이터로 분할하는 분할 순서와,
복수의 상기 분할 데이터를 복수의 저장부에 저장하는 저장 순서와,
각 저장부에 상기 분할 데이터를 기록, 또는 각 저장부에서 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 순서와,
각 저장 제어 순서가 행하는 처리의 이력을 기억하는 이력 기억 순서와,
상기 저장 제어 순서에 있어서, 상기 처리의 에러를 검출하는 에러 검출 순서와,
상기 에러 검출 순서에 있어서 검출한 에러를 정정하는 취지를 도시하는 에러 정정 신호를 생성하는 에러 정정 신호 생성 순서와,
상기 에러 정정 신호에 기초하여 각 이력 기억 순서에 있어서의 이력의 기억을 정지하는 복수의 이력 정지 순서
로 이루어지는 것을 특징으로 하는 이력 관리 방법.
(부기 8)
데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 이력 관리 프로그램에 있어서,
상기 데이터를 복수의 분할 데이터로 분할하는 분할 단계와,
복수의 상기 분할 데이터를 복수의 저장부에 저장하는 저장 단계와,
각 저장부에 상기 분할 데이터를 기록, 또는 각 저장부에서 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 단계와,
각 저장 제어 단계가 행하는 처리의 이력을 기억하는 이력 기억 단계와,
상기 저장 제어 단계에 있어서, 상기 처리의 에러를 검출하는 에러 검출 단계와,
상기 에러 검출 단계에 있어서 검출한 에러를 정정하는 취지를 도시하는 에 러 정정 신호를 생성하는 에러 정정 신호 생성 단계와,
상기 에러 정정 신호에 기초하여 각 이력 기억 단계에 있어서의 이력의 기억을 정지하는 복수의 이력 정지 단계
를 컴퓨터에 실행시키는 것을 특징으로 하는 이력 관리 프로그램.
도 1은 본 실시예에 관한 Non-Mirror 모드의 서버(100)의 구성도.
도 2는 본 실시예에 관한 메모리 컨트롤러(106)의 구성도.
도 3은 본 실시예에 관한 에러가 발생한 경우의 서버(100)의 구성도.
도 4는 본 실시예에 관한 어드레스 패킷(400).
도 5는 본 실시예에 관한 어드레스 변환 테이블(500).
도 6은 본 실시예에 관한 어드레스 변환 테이블(600).
도 7은 본 실시예에 관한 어드레스 패킷.
도 8은 본 실시예에 있어서의 이력 메모리(201)를 정지하는 흐름도.
도 9는 본 실시예에 관한 Mirror 모드의 서버(900)의 구성도.
도 10은 본 실시예에 관한 에러가 발생한 경우의 서버(100)의 구성도.
도 11은 본 실시예에 관한 메모리 컨트롤러(906)의 구성도.
도 12는 본 실시예에 관한 어드레스 패킷.
도 13은 본 실시예에 관한 어드레스 변환 테이블(1300).
도 14는 본 실시예에 관한 어드레스 변환 테이블(1400).
<도면의 주요 부분에 대한 부호의 설명>
100 : 서버 101: 시스템 컨트롤러
102: CPU 103: CPU
104: CPU 105: CPU
106: 메모리 컨트롤러 107: 메모리 컨트롤러
108: 메모리 컨트롤러 109: 메모리 컨트롤러
110: 메모리 111: 메모리
112: 메모리 113: 메모리
201: 이력 메모리 202: 메모리 액세스 인터페이스
203: 에러 검출 회로 204: 에러 검출 회로
205: 어드레스 컨트롤러 206: 이력 정지 회로

Claims (5)

  1. 데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 정보 처리 장치에 있어서,
    상기 데이터를 복수의 분할 데이터로 분할하는 제어 수단과,
    상기 제어 수단이 분할한 복수의 상기 분할 데이터를 저장하는 복수의 저장 수단과,
    각 저장 수단에 대응하여, 각 저장 수단에 상기 분할 데이터를 기록, 또는 각 저장 수단으로부터 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 수단과,
    각 저장 제어 수단이 행하는 처리의 이력을 기억하는 복수의 이력 기억 수단과,
    상기 저장 제어 수단에 있어서의 상기 처리의 에러를 검출하는 에러 검출 수단과,
    상기 에러 검출 수단에 있어서 검출한 에러를 정정하는 취지를 도시하는 에러 정정 신호를 생성하는 에러 정정 신호 생성 수단과,
    각 이력 기억 수단에 대응하여, 상기 에러 정정 신호에 기초하여 각 이력 기억 수단의 이력의 기억을 정지하는 복수의 이력 정지 수단
    으로 구성되는 것을 특징으로 하는 정보 처리 장치.
  2. 제1항에 있어서, 상기 에러 정정 신호 생성 수단은 에러 정정 신호를 동기하여 복수의 상기 이력 정지 수단에 송신하는 것을 특징으로 하는 정보 처리 장치.
  3. 제1항에 있어서, 상기 제어 수단은 상기 분할 데이터를 용장하여 생성하는 것을 특징으로 하는 정보 처리 장치.
  4. 데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 이력 관리 방법에 있어서,
    상기 데이터를 복수의 분할 데이터로 분할하는 분할 단계와,
    복수의 상기 분할 데이터를 복수의 저장부에 저장하는 저장 단계와,
    각 저장부에 상기 분할 데이터를 기록, 또는 각 저장부에서 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 단계와,
    각 저장 제어 순서가 행하는 처리의 이력을 기억하는 이력 기억 단계와,
    상기 저장 제어 순서에 있어서, 상기 처리의 에러를 검출하는 에러 검출 단계와,
    상기 에러 검출 순서에 있어서 검출한 에러를 정정하는 취지를 도시하는 에러 정정 신호를 생성하는 에러 정정 신호 생성 단계와,
    상기 에러 정정 신호에 기초하여 각 이력 기억 순서에 있어서의 이력의 기억을 정지하는 복수의 이력 정지 단계
    로 이루어지는 것을 특징으로 하는 이력 관리 방법.
  5. 데이터의 기록 또는 판독의 처리를 행하여, 상기 처리의 이력을 관리하는 이력 관리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 데이터를 복수의 분할 데이터로 분할하는 분할 단계와,
    복수의 상기 분할 데이터를 복수의 저장부에 저장하는 저장 단계와,
    각 저장부에 상기 분할 데이터를 기록, 또는 각 저장부에서 분할 데이터를 판독하는 처리를 행하는 복수의 저장 제어 단계와,
    각 저장 제어 단계가 행하는 처리의 이력을 기억하는 이력 기억 단계와,
    상기 저장 제어 단계에 있어서, 상기 처리의 에러를 검출하는 에러 검출 단계와,
    상기 에러 검출 단계에 있어서 검출한 에러를 정정하는 취지를 나타내는 에러 정정 신호를 생성하는 에러 정정 신호 생성 단계와,
    상기 에러 정정 신호에 기초하여 각 이력 기억 단계에 있어서의 이력의 기억을 정지하는 복수의 이력 정지 단계
    를 컴퓨터에 실행시키는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
KR1020070098125A 2006-12-22 2007-09-28 정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을기록한 컴퓨터 판독가능한 기록 매체 KR100951831B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00346687 2006-12-22
JP2006346687A JP5076488B2 (ja) 2006-12-22 2006-12-22 情報処理装置、履歴管理方法、履歴管理プログラム

Publications (2)

Publication Number Publication Date
KR20080059021A true KR20080059021A (ko) 2008-06-26
KR100951831B1 KR100951831B1 (ko) 2010-04-12

Family

ID=39485098

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070098125A KR100951831B1 (ko) 2006-12-22 2007-09-28 정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을기록한 컴퓨터 판독가능한 기록 매체

Country Status (5)

Country Link
US (1) US8479071B2 (ko)
EP (1) EP1953645A3 (ko)
JP (1) JP5076488B2 (ko)
KR (1) KR100951831B1 (ko)
CN (1) CN101206612B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5267166B2 (ja) * 2009-01-30 2013-08-21 ソニー株式会社 インターフェース装置、演算処理装置、インターフェース生成装置、および回路生成装置
US8903064B2 (en) * 2009-09-30 2014-12-02 Shoretel, Inc. Maintaining history information for a user across multiple types of end points
JP2011258055A (ja) * 2010-06-10 2011-12-22 Fujitsu Ltd 情報処理システム及び情報処理システムの障害処理方法
US10282320B2 (en) * 2010-08-03 2019-05-07 Continental Teves Ag & Co. Ohg Three-stage memory arrangement
DE102011052510A1 (de) * 2011-08-09 2013-02-14 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Verarbeitung von Daten eines Steuergeräts in einem Datenkommunikationsgerät
US9323767B2 (en) * 2012-10-01 2016-04-26 Longsand Limited Performance and scalability in an intelligent data operating layer system
JP2014182847A (ja) * 2013-03-18 2014-09-29 Toshiba Corp エラー訂正方法、エラー訂正装置、および情報記憶装置。
US9866446B2 (en) * 2013-08-26 2018-01-09 Akarsh Belagodu Data retrieval system
US10241860B2 (en) * 2016-08-15 2019-03-26 Samsung Electronics Co., Ltd. Method of executing data scrubbing inside a smart storage device
JP6984499B2 (ja) * 2018-03-12 2021-12-22 オムロン株式会社 FA(Factory Automation)システム、コントローラ、および制御方法
US11393550B2 (en) 2018-09-14 2022-07-19 Rambus Inc. Memory system with error detection

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6074052A (ja) 1983-09-30 1985-04-26 Fujitsu Ltd ヒストリ・メモリ制御方式
JPH02157953A (ja) * 1988-12-09 1990-06-18 Nippon Telegr & Teleph Corp <Ntt> 記憶サブシステム
JPH0392950A (ja) * 1989-09-06 1991-04-18 Nec Corp マイクロプログラム制御装置
JPH04106627A (ja) * 1990-08-27 1992-04-08 Canon Inc 情報処理装置
US5819109A (en) * 1992-12-07 1998-10-06 Digital Equipment Corporation System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
JPH06266584A (ja) 1993-03-16 1994-09-22 Toshiba Corp 集積回路
US5774647A (en) 1996-05-15 1998-06-30 Hewlett-Packard Company Management of memory modules
JP2000187621A (ja) 1998-12-22 2000-07-04 Nec Ibaraki Ltd Scsi制御装置
US6493656B1 (en) 1999-02-26 2002-12-10 Compaq Computer Corporation, Inc. Drive error logging
US6349357B1 (en) * 1999-03-04 2002-02-19 Sun Microsystems, Inc. Storage architecture providing scalable performance through independent control and data transfer paths
JP2000267883A (ja) 1999-03-19 2000-09-29 Nec Ibaraki Ltd トレーサメモリ制御装置
JP2001109589A (ja) * 1999-10-13 2001-04-20 Sony Corp データ蓄積装置及びデータ蓄積方法
US7076767B1 (en) * 1999-12-30 2006-07-11 Unisys Corporation Method for controlling and collecting information in a data processing system
JP3964634B2 (ja) * 2001-06-14 2007-08-22 株式会社東芝 同期コード生成方法、情報記録方法、情報再生方法、情報再生装置及び情報記憶媒体
US6792568B2 (en) * 2001-07-31 2004-09-14 Hewlett Packard Development Co. Lp Data transfer and storage device and method
JP2005019668A (ja) 2003-06-26 2005-01-20 Shindengen Electric Mfg Co Ltd 半導体装置
US20050076113A1 (en) * 2003-09-12 2005-04-07 Finisar Corporation Network analysis sample management process
JP2005196680A (ja) * 2004-01-09 2005-07-21 Ricoh Co Ltd コンピュータシステム
JP4106627B2 (ja) 2004-03-12 2008-06-25 中央化学株式会社 蒸し器および調理方法
US20060107159A1 (en) 2004-10-19 2006-05-18 Quantum Corporation Intelligent storage of device state in response to error condition
JP2007025777A (ja) * 2005-07-12 2007-02-01 Oki Electric Ind Co Ltd データ誤り検出・訂正方法及びデータ誤り検出・訂正機能付きメモリ装置

Also Published As

Publication number Publication date
CN101206612B (zh) 2012-04-04
EP1953645A3 (en) 2010-07-21
US8479071B2 (en) 2013-07-02
JP2008158800A (ja) 2008-07-10
EP1953645A2 (en) 2008-08-06
JP5076488B2 (ja) 2012-11-21
US20080155369A1 (en) 2008-06-26
CN101206612A (zh) 2008-06-25
KR100951831B1 (ko) 2010-04-12

Similar Documents

Publication Publication Date Title
KR100951831B1 (ko) 정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을기록한 컴퓨터 판독가능한 기록 매체
JP2020528624A5 (ko)
JP2006252530A (ja) ディスクライト抜け検出装置およびディスクライト抜け検出方法
US9710378B2 (en) Writing an address conversion table for nonvolatile memory wear leveling
US11029885B2 (en) Memory controller for controlling multiple types of flash memories, and memory system
CN108255414B (zh) 固态硬盘访问方法及装置
JP4884721B2 (ja) 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法
EP3029570A1 (en) Bad track repairing method and apparatus
CN108604201B (zh) 一种快照回滚方法、装置、存储控制器和系统
US20150347224A1 (en) Storage control apparatus and method therefor
US8533560B2 (en) Controller, data storage device and program product
KR102628851B1 (ko) 반도체 장치 및 그것을 구비한 반도체 시스템
US8418029B2 (en) Storage control device and storage control method
US10586039B2 (en) Information processing apparatus
JP5213061B2 (ja) ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム
CN114840364A (zh) 对内存中的存储数据进行备份的方法、装置及电子设备
JP6175566B2 (ja) ストレージシステム及び記憶制御方法
CN109445686B (zh) 一种存储磁盘以及存取数据的方法
CN110764693A (zh) 一种提高Nand flash数据稳定性的方法以及装置
CN111984460B (zh) 元数据的恢复方法及装置
KR20140042312A (ko) 반도체 장치 및 그 동작 방법
JP2007249508A (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
JP6076524B1 (ja) メモリ制御装置、制御方法及び制御プログラム
JP2021022324A (ja) 記憶制御装置および記憶制御プログラム
JP2013205856A (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: 20130321

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140319

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee