KR100922409B1 - Information processing device and memory anomaly monitoring method - Google Patents
Information processing device and memory anomaly monitoring method Download PDFInfo
- Publication number
- KR100922409B1 KR100922409B1 KR1020077021685A KR20077021685A KR100922409B1 KR 100922409 B1 KR100922409 B1 KR 100922409B1 KR 1020077021685 A KR1020077021685 A KR 1020077021685A KR 20077021685 A KR20077021685 A KR 20077021685A KR 100922409 B1 KR100922409 B1 KR 100922409B1
- Authority
- KR
- South Korea
- Prior art keywords
- error
- memory
- area
- memory controller
- monitoring
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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
Abstract
본 발명은 OS와 펌웨어를 실행하는 CPU와, CPU에 접속되고, 복수의 메모리로의 기록과 독출의 제어와, 에러의 감시를 행하는 복수의 메모리 컨트롤러와, 복수의 메모리 컨트롤러의 각각에 접속되는 복수의 메모리를 갖는 정보 처리 장치를 제공하는 것을 목적으로 한다. 메모리 컨트롤러는 이 메모리 컨트롤러에 접속되는 복수의 메모리의 메모리 영역을 순차적으로 독입하여 에러 영역의 감시를 행하고, 펌웨어는 에러 영역에 대응하는 메모리 컨트롤러가 파악하는 어드레스를 OS가 파악하는 논리 어드레스로 변환하여 OS에 공급하는 것을 특징으로 한다.The present invention relates to a CPU executing an OS and firmware, a plurality of memory controllers connected to the CPU, a plurality of memory controllers for controlling the writing and reading into a plurality of memories, monitoring of errors, and a plurality of memory controllers, respectively. It is an object of the present invention to provide an information processing apparatus having a memory. The memory controller sequentially reads memory regions of a plurality of memories connected to the memory controller and monitors the error regions. The firmware converts the address identified by the memory controller corresponding to the error region into a logical address determined by the OS. It is characterized by supplying to the OS.
Description
본 발명은 메모리 컨트롤러를 이용한 정보 처리 장치에 관한 것으로서, 특히, 메모리의 실장 용량에 상관없이 메모리의 이상 감시를 행하는 정보 처리 장치에 관한 것이다.BACKGROUND OF THE
최근, 시스템의 대규모화에 따라 실장되는 메모리의 양은 증가하고, 높은 신뢰성이 요구되고 있다. 메모리의 고장 지점을 신속히 검출하는 것은 대용량 메모리로 높은 신뢰성을 유지하기 위해서는 필수로 되어 있다. 그 때문에, 메모리의 진단이나 감시는 불가결하다.In recent years, as the size of a system increases, the amount of memory to be mounted increases, and high reliability is required. Detecting a memory failure point quickly is essential for maintaining high reliability with a large memory capacity. Therefore, diagnosis and monitoring of the memory are indispensable.
도 1은 종래의 메모리 감시를 설명한 도면이다. CPU(3)에서는 운영 체계(이하 OS)가 동작하고 있다. 또한, CPU(3)에는 메모리(2i-2l)가 접속되어 있다.1 is a diagram illustrating a conventional memory monitoring. The operating system (hereinafter OS) is operating in the
종래의 메모리의 이상 감시에서는, OS로부터의 지시에 의해 CPU가 메모리(2i-2l) 내의 전 메모리 영역을 감시하고 있었다. 이 경우, OS는 실장된 메모리(2i-2l) 내의 전 영역에 대하여, CPU(3)를 통해 독출 처리를 행한다. 독출이 불가능하였던 영역은 에러 영역으로 진단되어 사용 가능 영역에서 제외하는 축퇴(縮退) 처리가 행해진다.In the conventional abnormal monitoring of the memory, the CPU monitors all the memory areas in the memory 2i-2l by an instruction from the OS. In this case, the OS performs read processing through the
OS는 OS 자신이 축퇴한 영역의 정보를 유지하여 논리 어드레스의 연속성을 자신으로 확보한다. 또한, OS는 메모리의 실장량이나 하드웨어 구성을 미리 파악하고 있다.The OS maintains information of the area in which the OS itself degenerates, thereby ensuring continuity of logical addresses. In addition, the OS knows in advance the amount of memory mounted and the hardware configuration.
이러한, OS로부터의 지시에 의해 CPU가 전 메모리 영역을 감시하는 수법에서는, 메모리 용량이 방대한 대규모 시스템에 있어서는 운용시의 부하가 지나치게 크다. 또한, 감시 처리에 지나치게 시간이 걸린다고 하는 문제점도 안고 있었다. CPU의 부하를 경감시키기 위해서 메모리 영역의 독출을 CPU 이외의 하드웨어가 행하는 메모리 감시를 생각할 수 있다. 메모리 영역의 독출과, 독출된 데이터에 있어서의 에러 유무의 확인을 CPU 이외의 하드웨어가 행함으로써, CPU의 부하를 경감시킬 수 있다.In such a technique in which the CPU monitors the entire memory area by the instruction from the OS, the load at the time of operation is too large in a large-scale system with a large memory capacity. Moreover, there also existed a problem that monitoring process took too much time. In order to reduce the load on the CPU, a memory monitoring in which hardware other than the CPU reads the memory area can be considered. The CPU load can be reduced by reading out the memory area and confirming whether there is an error in the read data by hardware other than the CPU.
도 2는 메모리 영역으로의 액세스를 CPU 이외의 하드웨어가 행하는 메모리 감시의 예이다. CPU(3)에서는 OS가 동작하고 있다. 그리고, CPU(3)에는 메모리의 제어 및 감시를 행하는 하드웨어인 컨트롤러(C1∼C3)가 접속되어 있다. 또한, 컨트롤러(C1)에는 메모리(2m과 2n), 컨트롤러(C2)에는 메모리(2o와 2p), 컨트롤러(C3)에는 메모리(2q와 2r)가 각각 접속되어 있다.2 is an example of memory monitoring in which hardware other than the CPU performs access to a memory area. The OS is operating in the
컨트롤러(C1∼C3)는 통상 액세스시에는 OS로부터의 요구에 따라 접속되어 있는 메모리에 대한 액세스를 제어하고 있지만, 메모리 감시시에는 메모리로부터의 데이터의 독입을 행하고, 에러를 검지한 경우에는 보유한 레지스터의 특정 비트를 변화시켜 OS에 알린다.The controllers C1 to C3 control access to the connected memory in response to a request from the OS during normal access. However, the controller C1 to C3 reads data from the memory during memory monitoring, and retains the registers when an error is detected. Notify the OS by changing a specific bit of.
이 경우도, OS는 메모리의 실장량이나 하드웨어 구성을 미리 파악하고 있다. 또한, OS 자신이 이전에 축퇴한 영역의 정보를 유지하고, 논리 어드레스의 연속성을 스스로 확보한다.Also in this case, the OS knows in advance the amount of mounting of the memory and the hardware configuration. In addition, the OS itself retains the information of the previously degenerate area, and secures the continuity of logical addresses by itself.
여기서, CPU의 부담을 경감시키는 하드웨어 감시 시스템으로서는 특허 문헌 1에 기재한 기술이 있다. 이 기술은 에러의 처리를 펌웨어에 행함으로써, 에러에 의한 애플리케이션의 빈번한 중단을 억제하여 CPU의 부담을 줄이는 것이다. 그러나, 특허 문헌 1에 기재한 기술은 하드웨어 전반에 관한 것으로서, 메모리의 감시를 행하는 것은 아니다.Here, as the hardware monitoring system for reducing the burden on the CPU, there is a technique described in
특허 문헌 1: 일본 특허 공개 제2000-57016호 공보Patent Document 1: Japanese Patent Application Laid-Open No. 2000-57016
발명이 해결하고자 하는 과제Problems to be Solved by the Invention
도 2에 도시된 바와 같이, CPU 이외의 하드웨어에 의해 메모리의 이상 감시를 행하는 경우에 있어서도, 메모리의 확장에 의해 메모리의 어드레스가 종래의 아키텍쳐에 의한 어드레스로부터 변경될 가능성이 있다. 메모리의 확장에 대응하기 위해서는 아키텍쳐마다 대응하는 논리 어드레스로의 변환이 행해져야만 하지만, 그것을 OS에 행하게 하면 공통 OS로 모든 아키텍쳐에 대응할 수 없게 된다. 또한, 하드웨어에 의해 아키텍쳐의 변경에 대응하면, 아키텍쳐마다 추가의 하드웨어를 실장할 필요가 생기게 되어 비용 증가나 개발 공정수 증가를 초래하게 된다.As shown in Fig. 2, even when abnormality monitoring of the memory is performed by hardware other than the CPU, there is a possibility that the address of the memory is changed from the address of the conventional architecture due to the expansion of the memory. In order to cope with the expansion of the memory, translation to a corresponding logical address must be performed for each architecture. However, if the OS is executed, the common OS cannot cope with all the architectures. In addition, in response to the change of the architecture by hardware, it is necessary to mount additional hardware for each architecture, resulting in an increase in cost and an increase in the number of development processes.
그래서, 본 발명의 목적은 CPU가 직접적으로 메모리의 감시를 행하지 않고, 다른 아키텍쳐에의 대응을 OS나 하드웨어 이외의 수단으로 행하는 메모리 감시가 가능한 정보 처리 장치를 제공하는 것에 있다.It is therefore an object of the present invention to provide an information processing apparatus capable of monitoring a memory in which the CPU does not directly monitor the memory, but performs a response to another architecture by means other than the OS or hardware.
과제를 해결하기 위한 수단Means to solve the problem
상기 과제를 해결하기 위해서, 본 발명의 제1 측면에 따르면, OS와 펌웨어를 실행하는 CPU와, 상기 CPU에 접속되어 복수의 메모리로의 기록과 독출의 제어와, 에러의 감시를 행하는 복수의 메모리 컨트롤러와, 상기 복수의 메모리 컨트롤러의 각각에 접속되는 상기 복수의 메모리를 갖는 정보 처리 장치로서, 상기 메모리 컨트롤러는 이 메모리 컨트롤러에 접속되는 상기 복수의 메모리의 메모리 영역을 순차적으로 독입하고, 에러 영역의 감시를 행하며, 상기 펌웨어는 상기 에러 영역에 대응하는 상기 메모리 컨트롤러가 파악하는 어드레스를 상기 OS가 파악하는 논리 어드레스로 변환하여 상기 OS에 공급하는 것을 특징으로 한다.In order to solve the above problems, according to a first aspect of the present invention, a CPU for executing an OS and firmware, and a plurality of memories connected to the CPU to control writing and reading to a plurality of memories, and to monitor errors An information processing apparatus having a controller and the plurality of memories connected to each of the plurality of memory controllers, the memory controller sequentially reading memory regions of the plurality of memories connected to the memory controller, The monitoring is performed, and the firmware converts an address grasped by the memory controller corresponding to the error area into a logical address grasped by the OS, and supplies the same to the OS.
상기 발명의 제1 측면에 있어서, 바람직한 실시예에서는, 상기 펌웨어는 상기 메모리 컨트롤러에 의해 검지된 상기 에러 영역이, 이전의 독입에 의해 에러 영역이라고 검지되어 사용 가능 영역에서 제외된 영역인지 여부를 판단하고, 이전에 제외되어 있으면 메모리 영역의 독입을 재개하는 것을 특징으로 한다.In a first aspect of the invention, in a preferred embodiment, the firmware determines whether the error area detected by the memory controller is an area detected as an error area by a previous read and excluded from the usable area. And, if previously excluded, resuming reading of the memory area is resumed.
상기 발명의 제1 측면에 있어서, 보다 바람직한 실시예에서는, 상기 펌웨어는 상기 에러 영역의 데이터가 복원 가능한지 여부의 판단을 행하고, 상기 에러 영역의 데이터가 복원 가능하면, 상기 에러 영역을 검지한 상기 메모리 컨트롤러는 상기 에러 영역에 재기록을 행하는 것을 특징으로 한다.In a first preferred aspect of the invention, in a more preferred embodiment, the firmware determines whether data in the error area can be restored, and if the data in the error area is recoverable, the memory that detected the error area. The controller is characterized in that rewriting is performed in the error area.
상기 발명의 제1 측면에 있어서, 보다 바람직한 실시예에서는, 상기 복수의 메모리 컨트롤러는 각각 독립적으로 상기 메모리의 에러 감시를 행하는 것을 특징으로 한다.In a first aspect of the invention, in a more preferred embodiment, the plurality of memory controllers each independently perform error monitoring of the memory.
또한, 상기 발명의 제2 측면에 있어서, 바람직한 실시예에서는, OS와 펌웨어를 실행하는 CPU와, 상기 CPU에 접속되고, 복수의 메모리로의 기록과 독출의 제어와, 에러의 감시를 행하는 복수의 메모리 컨트롤러와, 상기 복수의 메모리 컨트롤러의 각각에 접속되는 상기 복수의 메모리를 갖는 정보 처리 장치에 있어서의 메모리 이상 감시 방법으로서, 상기 메모리 컨트롤러에 의해 이 메모리 컨트롤러에 접속되는 상기 복수의 메모리의 메모리 영역을 순차적으로 독입하고, 에러 영역의 감시를 행하는 독입 공정과, 상기 펌웨어에 의해 상기 에러 영역에 대응하는 상기 메모리 컨트롤러가 파악하는 어드레스를 상기 OS가 파악하는 논리 어드레스로 변환하여 상기 OS에 공급하는 변환 공정을 포함하는 것을 특징으로 한다.Further, in the second aspect of the present invention, in a preferred embodiment, a plurality of CPUs executing an OS and firmware, a plurality of CPUs connected to the CPU, control of writing and reading to a plurality of memories, and monitoring of errors A memory abnormality monitoring method in an information processing apparatus having a memory controller and the plurality of memories connected to each of the plurality of memory controllers, the method comprising: a memory region of the plurality of memories connected to the memory controller by the memory controller Reading step sequentially and monitoring the error area, and converting the address grasped by the memory controller corresponding to the error area by the firmware into a logical address grasped by the OS and supplying the address to the OS. It characterized by including a process.
상기 발명의 제2 측면에 있어서, 바람직한 실시예에서는, 상기 펌웨어에 의해, 상기 메모리 컨트롤러에 의해 검지된 상기 에러 영역이 이전의 독입에 의해 에러 영역이라고 검지되어 사용 가능 영역에서 제외된 영역인지 여부를 판단하고, 이전에 제외되어 있으면 메모리 영역의 독입을 재개하는 축퇴 판단 공정을 포함하는 것을 특징으로 한다.In a second aspect of the invention, in a preferred embodiment, it is determined whether the error area detected by the memory controller by the firmware is an area detected by the previous read as an error area and excluded from the usable area. And a degeneracy determination step of resuming reading of the memory area if it has been previously excluded.
상기 발명의 제2 측면에 있어서, 바람직한 실시예에서는, 상기 펌웨어에 의해, 상기 에러 영역의 데이터가 복원 가능한지 여부의 판단을 행하고, 상기 에러 영역의 데이터가 복원 가능하면, 상기 에러 영역을 검지한 상기 메모리 컨트롤러는 상기 에러 영역에 재기록을 행하는 복원 판단 공정을 포함하는 것을 특징으로 한다.In the second aspect of the present invention, in a preferred embodiment, the firmware determines whether the data in the error area can be restored, and if the data in the error area is recoverable, the error area detected. The memory controller includes a restoration determination step of rewriting the error area.
효과effect
본 발명의 정보 처리 장치는 아키텍쳐의 변경에 따른 논리 어드레스의 변경을 펌웨어에 의해 행함으로써, 추가의 하드웨어를 도입하여 비용 증가나 개발 공정수 증가를 초래하지 않고, 공통 OS를 모든 아키텍쳐에 적용할 수 있게 된다.In the information processing apparatus of the present invention, by changing the logical address according to the architecture change by firmware, a common OS can be applied to all architectures without introducing additional hardware and causing an increase in cost or an increase in the number of development processes. Will be.
도 1은 종래의 메모리 감시를 설명한 도면.1 is a diagram illustrating a conventional memory monitoring.
도 2는 메모리 영역으로의 액세스를 CPU 이외의 하드웨어가 행하는 메모리 감시의 예를 도시한 도면.2 is a diagram showing an example of memory monitoring in which hardware other than the CPU performs access to a memory area.
도 3은 본 발명의 실시 형태에 있어서의 정보 처리 장치의 구성도.3 is a configuration diagram of an information processing device according to an embodiment of the present invention.
도 4는 메모리 컨트롤러의 구성과 통상 액세스시의 동작을 도시한 도면.Fig. 4 is a diagram showing the configuration of the memory controller and the operation during normal access.
도 5는 메모리 컨트롤러의 구성과 메모리 감시시의 동작을 도시한 도면.Fig. 5 is a diagram showing the configuration of the memory controller and the operation during memory monitoring.
도 6은 본 발명의 실시 형태에 있어서의 메모리 감시의 간단한 동작 흐름을 도시한 도면.Fig. 6 is a diagram showing a simple operation flow of memory monitoring in the embodiment of the present invention.
도 7은 본 발명의 실시 형태에 있어서의 메모리 감시의 상세한 동작 흐름을 도시한 도면.Fig. 7 is a diagram showing a detailed operation flow of memory monitoring in the embodiment of the present invention.
도 8은 본 발명의 실시 형태에 있어서의 메모리 감시 정지의 동작 흐름을 도시한 도면.Fig. 8 is a diagram showing an operation flow of memory monitoring stop in the embodiment of the present invention.
도 9는 본 발명의 실시 형태에 있어서의 메모리 감시에 있어서의 OS의 에러 감시의 동작 흐름을 도시한 도면.Fig. 9 is a diagram showing the operation flow of error monitoring of the OS in memory monitoring in the embodiment of the present invention.
이하, 도면에 따라 본 발명의 실시 형태에 대해서 설명한다. 단, 본 발명의 기술적 범위는 이들 실시 형태에 한정되지 않고, 특허청구범위에 기재된 사항과 그 균등물까지 미치는 것이다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment of this invention is described according to drawing. However, the technical scope of the present invention is not limited to these embodiments and extends to the matters described in the claims and their equivalents.
도 3은 본 발명의 실시 형태에 있어서의 정보 처리 장치의 구성도이다. 본 실시 형태의 정보 처리 장치는 CPU(3)를 가지며, OS 및 펌웨어(도면 중에서는 Firm)의 명령을 실행하고 있다. CPU(3)는 시스템 컨트롤러(4)를 통해 복수의 메모리 컨트롤러(도면 중에서는 MAC)(1a∼1d)에 접속되어 있다. 시스템 컨트롤러(4)는 통상의 메모리 액세스시에 있어서, CPU(3)로부터 수취한 논리 어드레스를 각각의 메모리 컨트롤러(1a∼1d) 내에서 사용되는 메모리 컨트롤러 어드레스로 변환한다. 메모리 컨트롤러(1a∼1d)는 메모리(2a∼2h)에 대한 기록이나 독출의 관리 및 메모리 감시를 행하는 하드웨어이다.3 is a configuration diagram of an information processing apparatus according to the embodiment of the present invention. The information processing apparatus of this embodiment has a
도 4는 메모리 컨트롤러의 구성과 통상 액세스시의 동작을 도시한 도면이다. 메모리 컨트롤러(1)는 주로 메모리 감시 제어부(11), 레지스터(12), 에러 진단부(13), 에러 정정부(14), 메모리 관리부(15)로 구성되어 있다. 통상 액세스시에 있어서, OS가 CPU(3)를 통해 메모리(2)에 대하여 액세스를 행하는 경우, 우선, CPU(3)로부터 시스템 컨트롤러(4)에 대하여 액세스하는 영역의 논리 어드레스가 공급된다. 시스템 컨트롤러(4)는 논리 어드레스를 수신하여 대응하는 메모리 컨트롤러(1) 상의 메모리 컨트롤러 어드레스(도면 중에서는 MAC 어드레스)로 변환한다. 메모리 컨트롤러 어드레스의 공급을 받은 메모리 컨트롤러(1) 내의 메모리 관리부(15)는 메모리(2) 상의 대응하는 영역의 데이터에 액세스한다. 메모리(2)는 대응하는 영역의 데이터를 메모리 컨트롤러(1) 내의 에러 진단부(13)와 에러 정정 부(14)에 공급한다.Fig. 4 is a diagram showing the configuration of the memory controller and the operation during normal access. The
메모리(2)로부터 공급된 데이터에 에러가 존재하지 않는 경우, 그 데이터는 메모리 컨트롤러(1)로부터 출력되고, CPU(3)를 통해 OS가 수신한다.If no error exists in the data supplied from the memory 2, the data is output from the
메모리(2)로부터 공급된 데이터에 에러가 존재하는 경우, 에러 진단부(13)는 에러를 검출하고, 그 에러가 정정 가능한지 여부를 판단한다. 검출된 에러가 정정 불능인 경우, 에러 정정부(14)는 정정 불능인 에러를 포함하는 데이터라고 하는 정보를 부가하여 데이터를 OS에 송신한다. 그 때, 에러 진단부(13)는 에러 수정의 가부, 에러 영역의 어드레스 정보, 통상 액세스시의 에러인지 메모리 진단시의 에러인지 등의 정보를 레지스터(12)에 기록한다.If an error exists in the data supplied from the memory 2, the
에러 정정부(14)는 공급된 데이터의 에러가 정정 가능하면, 정정한 데이터를 메모리 컨트롤러(1)로부터 출력하고, CPU(3)를 통하여 OS에 공급한다. 그 때, 에러 진단부(13)는 에러 수정의 가부, 에러 영역의 어드레스 정보, 통상 액세스시의 에러인지 메모리 감시시의 에러인지 등의 정보를 레지스터(12)에 기록한다.If the error of the supplied data is correctable, the
또한, 통상시의 동작에 있어서 메모리 감시 제어부(11)는 사용되지 않는다.In addition, the memory
도 5는 메모리 컨트롤러의 구성과 메모리 감시시의 동작을 도시한 도면이다. OS는 CPU(3)를 통해 펌웨어에 대하여 메모리 감시의 개시를 지시한다. 펌웨어는 CPU(3)를 통해 메모리 컨트롤러(1) 내의 레지스터(12)에 기록을 행하고, 메모리 감시를 시작하게 한다. 펌웨어로부터의 레지스터(12)에 대한 기록을 확인한 메모리 감시 제어부(11)는 메모리(2)에 대한 데이터의 독출을 순차적으로 행한다. 메모리(2)는 메모리 감시 제어부(11)로부터 공급되는 메모리 컨트롤러 어드레스에 대응 하는 데이터를, 메모리 컨트롤러(1) 내의 에러 진단부(13)와 에러 정정부(14)에 대하여 공급한다.5 is a diagram illustrating the configuration of a memory controller and an operation during memory monitoring. The OS instructs the
에러 진단부(13)에 대하여 공급된 데이터에 에러가 존재하지 않는 경우, 에러 진단부(13)는 메모리 감시 제어부(11)에 대하여 에러가 존재하지 않는 것을 통지한다. 이것을 수신하여 메모리 감시 제어부(11)는 다음 영역을 독출하기 위해서 메모리(2)에 대하여 액세스를 행한다.When no error exists in the data supplied to the
에러 진단부(13)에 대하여 공급된 데이터에 에러가 존재한 경우, 에러 진단부(13)는 그 에러가 수정 가능한지를 판단한다. 그리고, 에러 진단부(13)는 에러가 존재한 것 및 에러 수정의 가부, 에러 영역의 어드레스 정보, 통상 액세스시의 에러인지 메모리 감시시의 에러인지 등의 정보를 메모리 감시 제어부(11)에 통지한다. 그것을 수신하여 메모리 감시 제어부(11)는 메모리 감시를 일시 중단한다. 그리고, 메모리 감시 제어부(11)는 에러 진단부(13)로부터 얻은 정보를 레지스터(12)에 기록한다.If an error exists in the data supplied to the
메모리 컨트롤러(1)는 펌웨어나 OS와의 정보 교환을 위해 레지스터(12)를 갖고 있다. 감시의 스타트나 스톱 등의 제어를 행하는 컨트롤 레지스터에는 감시 제어 레지스터(RG1), 리스타트 어드레스 레지스터(RG2), 리라이트 어드레스 레지스터(RG3)의 3종류가 존재한다.The
감시 제어 레지스터(RG1)에는 감시 개시 비트(B1), 리스타트 어드레스 비트(B2), 감시 정지 비트(B3), 감시 상태 비트(B4), 리라이트 비트(B5), 리라이트 리셋 비트(B6), 수정 가능 에러 비트(B7), 수정 불능 에러 비트(B8), 비교 에러 비 트(B9) 등의 각 비트가 존재한다.The supervisory control register RG1 includes a supervisory start bit B1, a restart address bit B2, a supervisory stop bit B3, a supervisory status bit B4, a rewrite bit B5, and a rewrite reset bit B6. , Bits such as a correctable error bit B7, an uncorrectable error bit B8, a comparison error bit B9, and the like.
또한, 메모리 컨트롤러(1) 내의 레지스터(12)에는 에러 정보 등을 유지하는 로그 레지스터가 존재한다. 로그 레지스터는 주로 에러 어드레스 레지스터(RG4), 에러 로그 레지스터(RG5), 고정 장해 어드레스 레지스터(RG6), 고정 장해 로그 레지스터(RG7)의 4종류이다.In the
도 6은 본 발명의 실시 형태에 있어서의 메모리 감시의 간단한 동작 흐름이다. 이 도면에서는, 위에서 아래로 시계열로 단계가 설명되어 있고, 파선으로 구획된 칼럼은 동일한 하드웨어 또는 소프트웨어로 행해지는 단계를 표시하고 있다. OS로부터의 지시를 받아 펌웨어는 모든 메모리 컨트롤러(1a∼1d)의 레지스터(12)에 기록을 행하고, 메모리 감시의 개시를 지시한다(단계 W1). 메모리 감시의 개시 지시를 받은 메모리 컨트롤러(1a∼1d)는 자신에게 접속되어 있는 메모리(2)의 영역의 독입을 시작한다(단계 W2a∼W2d). 메모리 컨트롤러(1b)에 있어서 에러가 검지되면(단계 W3b), 에러 수정의 가부, 에러 영역의 어드레스 정보, 통상 액세스시의 에러인지 메모리 감시시의 에러인지 등의 정보가 메모리 컨트롤러(1b) 내의 레지스터(12)에 메모리 감시 제어부(11)에 의해 기록된다(단계 W4b). 레지스터(12)에 기록된 정보는 펌웨어가 액세스하여, 축퇴 정보의 체크, 재기록 지시 등의 에러 처리(단계 W5b)가 행해진 후, 메모리 감시가 재개된다(단계 W6b).6 is a simple operation flow of memory monitoring in the embodiment of the present invention. In this figure, steps are described in time series from top to bottom, and the columns delimited by dashed lines indicate steps performed in the same hardware or software. Upon receiving the instruction from the OS, the firmware writes to the
다른 메모리 컨트롤러에 에러가 검출된(단계 W3c) 경우에도, 마찬가지로, 에러 수정의 가부, 에러 영역의 어드레스 정보, 통상 액세스시의 에러인지 메모리 감시시의 에러인지 등의 정보가 메모리 컨트롤러(1c) 내의 레지스터(12)에 메모리 감 시 제어부(11)에 의해 기록된다(단계 W4c). 레지스터(12)에 기록된 정보는 펌웨어가 액세스하여, 축퇴 정보의 체크, 재기록의 지시 등의 에러 처리(단계 W5c)가 행해진 후, 메모리 감시가 재개된다(단계 W6c).Even when an error is detected in the other memory controller (step W3c), similarly, information such as whether or not the error is corrected, address information of the error area, and whether it is an error in normal access or an error in memory monitoring is stored in the memory controller 1c. In the
OS는 일정 시간 간격으로 모든 메모리 컨트롤러(1a∼1d)의 레지스터(12)에 대하여 액세스하여, 에러가 발생하지 않는지 여부를 확인한다(단계 W7). 메모리 컨트롤러(1b와 1c)에 있어서 에러의 발생을 확인하면, 이들 에러에 관한 정보를 펌웨어에 대하여 요구한다(단계 W8). 에러에 관한 정보가 요구된 펌웨어는 에러가 발생한 메모리 컨트롤러(1b와 1c)에 액세스하여, 에러에 관한 정보를 OS에 대하여 제공한다(단계 W9). OS는 이 정보를 수신하여 축퇴시키는 등의 처리를 행한다(단계 W10).The OS accesses the
여기서, 드문 경우이기는 하지만, 동일한 메모리 컨트롤러에 있어서 2개의 에러가 검출된 경우에 대해서 설명한다. 단계 W7에 있어서 OS가 에러 정보에 액세스하기 전에 또 하나의 에러가 메모리 컨트롤러(1b)에 의해 검지된 경우, 단계 W4b에서 레지스터(11)에 기록된 정보는 덮어쓰기되어 OS는 나중에 발생한 에러의 정보만을 얻는다.Here, a rare case will be described in which two errors are detected in the same memory controller. If another error is detected by the
도 7은 본 발명의 실시 형태에 있어서의 메모리 감시의 상세한 동작 흐름이다. 처음에, OS가 메모리 감시의 개시를 결정한다(단계 S1). 이때, OS는 CPU를 통하여 펌웨어에 대하여 메모리 감시 개시 지시(I1)를 보낸다. 메모리 감시 개시 지시(I1)를 수취한 펌웨어는 메모리 컨트롤러(1) 내의 감시 제어 레지스터(RG1)의 감시 스타트 비트(B1)를 1로 한다(단계 S2).7 is a detailed operation flow of memory monitoring in the embodiment of the present invention. Initially, the OS determines to start memory monitoring (step S1). At this time, the OS sends a memory monitoring start instruction I1 to the firmware via the CPU. The firmware which has received the memory monitoring start instruction I1 sets the monitoring start bit B1 of the monitoring control register RG1 in the
OS는 메모리 감시의 개시를 결정한 후, 에러 상태 확인의 개시(단계 U1), 메모리 감시의 종료(단계 T1)를 행하지만, 이들 처리에 관해서는 뒤에 도 8, 도 9를 이용하여 설명한다.After determining the start of memory monitoring, the OS starts error state checking (step U1) and ends memory monitoring (step T1). However, these processes will be described later with reference to FIGS. 8 and 9.
메모리 컨트롤러(1)는 감시 제어 레지스터(RG1)의 감시 스타트 비트(B1)가 1이 된 것을 수신하여 메모리 감시를 시작한다(단계 S3). 시작된 메모리 감시는 OS가 메모리 감시 정지 지시(I2)를 펌웨어에 보낼 때까지 계속할 수 있고, 그동안, 메모리 컨트롤러(1)는 메모리의 영역을 독입하고(단계 S4), 전 영역이 종료되면 일정 시간의 간격을 두고 다시 독입을 시작한다(단계 S3).The
그 때에, 메모리 컨트롤러(1) 내의 에러 진단부(13)는 메모리(2) 내에서 에러가 발생하지 않는지를 체크하고(단계 S5), 에러가 발생한 시점에서 메모리 감시 제어부(11)는 메모리 감시를 정지한다(단계 S6). 그 후, 메모리 감시 제어부(11)는 에러의 종류에 따라 감시 제어 레지스터(RG1)의 수정 가능 에러 비트(B7) 또는 수정 불능 에러 비트(B8)를 1로 한다(단계 S7). 또한, 에러 위치의 정보는 에러 어드레스 레지스터(RG4)나 에러 로그 레지스터(RG5) 등에 기록된다.At that time, the
다음에, 펌웨어는 감시 제어 레지스터의 수정 가능 에러 비트(B7) 또는 수정 불능 에러 비트(B8)가 1이 된 것을 수신하여 축퇴의 확인을 행한다. 축퇴라고 하는 것은 메모리(2) 내의 에러 영역을 사용 가능 영역에서 제외한 것이다. 펌웨어는 메모리 컨트롤러(1)의 감시 제어 레지스터(RG1)에 기록된 정보 등으로부터, 이미 축퇴된 영역인지 여부를 판단한다(단계 S8).Next, the firmware receives that the correctable error bit B7 or the uncorrectable error bit B8 of the monitoring control register has become 1 to confirm degeneracy. The degeneracy is to exclude the error area in the memory 2 from the usable area. The firmware determines whether or not the area is already degenerate from the information recorded in the monitoring control register RG1 of the
에러 영역이 축퇴된 영역인 경우, 펌웨어는 그 영역을 피하여 메모리 감시를 재개한다(단계 S9). 그 때, 메모리 컨트롤러(1)의 리스타트 어드레스 레지스터(RG2)에는 재개하는 영역의 어드레스 정보가 설정되고, 감시 제어 레지스터(RG1)의 리스타트 어드레스 비트(B2)에 1이 설정된다. 이들 레지스터의 정보를 수신하여 메모리 감시 제어부(11)는 메모리 감시를 재개한다.If the error area is a degenerate area, the firmware avoids the area and resumes memory monitoring (step S9). At that time, the address information of the resuming area is set in the restart address register RG2 of the
에러 영역이 축퇴되어 있지 않은 영역인 경우, 그 에러가 복원 가능한지 여부의 확인이 레지스터(11)를 통해서 행해진다(단계 S10). 여기서 복원 가능한 에러라고 하는 것은 어떠한 에러인지를 설명한다. 본 실시 형태에서는, 에러 검출을 실현하기 위해서 ECC(Error Check and Correct memory) 메모리를 이용한다. 복원 가능한 에러라고 하는 것은 메모리에 저장된 데이터가 변화됨으로써 부정기적으로 발생하는 소프트 에러를 말한다. 소프트 에러라고 하는 것은 회로의 문제로 발생하는 것이 아니라, 에러의 복원 기능에 의해 데이터를 수정하면 재발생하지 않는 데이터 에러를 말한다. 에러의 복원 기능에서는, 검출한 수정 가능한 에러에 대하여 정정 코드에 기초하여 에러의 수정이 행해진다. 정정 코드는 MAC와 메모리 사이에서 데이터를 처리할 때에 MAC 내부에서 생성되는 코드이다.In the case where the error area is not degenerate, whether or not the error can be restored is checked through the register 11 (step S10). Here, what is called a recoverable error describes what kind of error it is. In the present embodiment, an ECC (Error Check and Correct Memory) memory is used to realize error detection. The recoverable error refers to a soft error that occurs randomly due to a change in data stored in the memory. The soft error does not occur due to a circuit problem, but refers to a data error that does not occur again when data is modified by the error recovery function. In the error recovery function, an error is corrected based on a correction code for the detected correctable error. The correction code is a code generated inside the MAC when processing data between the MAC and the memory.
복원 가능한 에러라면, 원래 기록되어 있어야 할 데이터를 특정하는 것이 가능해지기 때문에, 그 데이터를 한번 더 기록하도록 펌웨어가 메모리 컨트롤러(1)에 대하여 지시를 보낸다(단계 S11). 이 때, 리라이트 어드레스 레지스터(RG3)에는 리라이트해야 할 영역의 어드레스가 설정되고, 감시 제어 레지스터(RG1)의 리라이트 비트에는 1이 설정된다. 이들 레지스터(11)로의 기록은 메모리 컨트롤러(1) 내의 메모리 감시 제어부(11)에 의해 처리되고, 메모리 감시 제어부(11)는 원래 기록되 어 있어야 할 데이터의 리라이트를 시작한다. 그 때, 다시 에러가 발생하는지 여부를 감시하고(단계 13), 에러가 발생하면 하드웨어에 기인한 고정 장해라고 판단되어(단계 S14), 그 정보는 고정 장해 어드레스 레지스터(RG6)나 고정 장해 로그 레지스터(RG7)에 기록된다(단계 S15). 또한, 단계 S13에 있어서 에러가 발생하지 않는 경우는, 소프트 에러라고 판단된다. 이 정보는 에러 어드레스 레지스터(RG4)나 에러 로그 레지스터(RG5)에 기록된다(단계 S15). 단계 S15에 있어서 레지스터(11)에 기록된 후, 펌웨어는 메모리 컨트롤러(1)에 대하여 메모리 감시의 재개를 지시한다(단계 S16).If it is a recoverable error, since it becomes possible to specify the data to be originally recorded, the firmware sends an instruction to the
또한, 단계 S10에 있어서 복원 불능한 에러라고 판단된 경우에는, 에러 영역에 리라이트는 행해지지 않고, 펌웨어는 메모리 컨트롤러(1)에 대하여 메모리 감시의 재개를 지시한다(단계 S16).If it is determined in step S10 that the error cannot be restored, rewriting is not performed in the error area, and the firmware instructs the
메모리 컨트롤러(1)는 메모리 감시를 재개하고(단계 S17), 에러의 발생의 검출(단계 S5)로 되돌아간다. 이 메모리 감시의 동작 흐름은 메모리 감시의 정지 처리가 행해질 때까지 반복된다.The
도 8은 본 발명의 실시 형태에 있어서의 메모리 감시 정지의 동작 흐름이다. 처음에, OS가 메모리 감시의 정지를 결정한다(단계 T1). 이때, OS는 CPU를 통하여 펌웨어에 대하여 메모리 감시 정지 지시(I2)를 보낸다. 메모리 감시 개시 지시(I2)를 수취한 펌웨어는 메모리 컨트롤러(1) 내의 감시 제어 레지스터(RG1)의 감시 정지 비트(B3)를 1로 한다(단계 T2). 메모리 컨트롤러(1) 내의 메모리 감시부(11)는 감시 제어 레지스터(RG1)의 감시 정지 비트(B3)가 1이 된 것을 수신하여 메모리 감 시를 정지한다(단계 T3).8 is an operation flow of memory monitoring stop in the embodiment of the present invention. Initially, the OS determines to stop the memory monitoring (step T1). At this time, the OS sends a memory monitoring stop instruction I2 to the firmware via the CPU. The firmware which has received the memory monitoring start instruction I2 sets the monitoring stop bit B3 of the monitoring control register RG1 in the
도 9는 본 발명의 실시 형태에 있어서의 메모리 감시에 있어서의 OS의 에러 감시의 동작 흐름이다. OS는 메모리 감시를 개시한 후, 에러의 검출 상태의 감시를 시작한다(단계 U1). 이때, OS는 CPU를 통하여 펌웨어에 대하여 메모리 감시 확인 지시(I3)를 보낸다. 메모리 감시 확인 지시(I3)를 수취한 펌웨어는 메모리 컨트롤러(1) 내의 감시 제어 레지스터(RG1)의 각 비트를 감시한다(단계 U2). 이 때, 에러가 검출되어 있지 않으면 단계 U1로 되돌아가서 일정 시간을 두고 다시 에러의 검출 상태의 확인을 시작한다.Fig. 9 is an operational flow of error monitoring of the OS in memory monitoring in the embodiment of the present invention. After starting the memory monitoring, the OS starts monitoring the detection state of the error (step U1). At this time, the OS sends a memory monitoring confirmation instruction I3 to the firmware via the CPU. The firmware which has received the memory monitoring confirmation instruction I3 monitors each bit of the monitoring control register RG1 in the memory controller 1 (step U2). At this time, if no error is detected, the process returns to step U1, and the confirmation of the error detection state is started again after a certain time.
메모리 컨트롤러(1)에 있어서 에러가 검출되어 있으면, OS는 펌웨어에 대하여 에러 정보를 요구한다(단계 U3). 이것을 수신하여 펌웨어는 메모리 컨트롤러(1)의 레지스터(12)에 저장된 정보로부터 OS에 통지해야 할 에러 정보를 작성하여 통지한다(단계 U4). 여기서의 에러 정보라고 하는 것은, OS가 파악할 수 있는 논리 어드레스와, 상기 에러가 고정 장해인가 또는 소프트 에러인가 하는 등의 정보이다. 펌웨어로부터 OS에 에러 정보가 통지되고, OS는 이것을 바탕으로 논리 어드레스의 처리 등을 행한다(단계 U5). 단계 U5의후, 단계 U1로 되돌아가 일정 시간을 두고 다시 에러의 검출 상태의 확인이 시작된다.If an error is detected in the
펌웨어는 모든 메모리 컨트롤러(1)로부터의 정보를 통합하여 논리 어드레스로 변환하여 OS에 에러 정보를 전달하기 때문에, OS는 논리 어드레스로의 변환을 행할 필요가 없다. 또한, 펌웨어는 아키텍쳐에 따라 메모리 컨트롤러(1)가 검출한 에러 위치의 어드레스 변환을 행하여 처리 후의 논리 어드레스를 OS에 제공한다. OS는 펌웨어로부터 수취한 논리 어드레스에 기초하여 에러 처리를 실행한다.Since the firmware integrates the information from all the
이와 같이 하여, 아키텍쳐의 변경에 따른 논리 어드레스의 변경을 펌웨어에 의해 행함으로써, 추가의 하드웨어를 도입하여 비용 증가나 개발 공정수 증가를 초래하지 않고, 공통 OS를 모든 아키텍쳐에 적용하는 것이 가능해진다.In this way, by changing the logical address according to the architecture change by firmware, it is possible to apply additional hardware to apply the common OS to all architectures without causing an increase in cost or an increase in the number of development processes.
대규모 시스템에서는, 메모리 실장량이 많은 데다가 높은 신뢰성이 요구된다. 메모리의 고장 지점을 신속히 검출하는 것은 대용량 메모리로 높은 신뢰성을 유지하기 위해서는 필수이며, 메모리의 진단이나 감시는 그 때문에 불가결하다. 본 발명은 하드웨어의 구성의 차이에 상관없이 공통 OS를 이용하여 메모리의 감시를 행하는 것을 가능하게 한다.In large systems, a large amount of memory is required and high reliability is required. Detecting the point of failure of a memory quickly is essential for maintaining high reliability with a large memory, and diagnosis and monitoring of the memory are therefore indispensable. The present invention makes it possible to monitor the memory using a common OS regardless of the difference in hardware configuration.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020077021685A KR100922409B1 (en) | 2005-03-24 | 2005-03-24 | Information processing device and memory anomaly monitoring method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020077021685A KR100922409B1 (en) | 2005-03-24 | 2005-03-24 | Information processing device and memory anomaly monitoring method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070110095A KR20070110095A (en) | 2007-11-15 |
KR100922409B1 true KR100922409B1 (en) | 2009-10-16 |
Family
ID=39064291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077021685A KR100922409B1 (en) | 2005-03-24 | 2005-03-24 | Information processing device and memory anomaly monitoring method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100922409B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5293062B2 (en) * | 2008-10-03 | 2013-09-18 | 富士通株式会社 | Computer apparatus, memory diagnosis method, and memory diagnosis control program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5462735A (en) | 1977-10-28 | 1979-05-21 | Toshiba Corp | Memory control system |
JPH0883218A (en) * | 1994-09-14 | 1996-03-26 | Toshiba Corp | Computer system |
JP2000057016A (en) | 1998-08-13 | 2000-02-25 | Nec Corp | Light fault processing system |
US6158025A (en) * | 1997-07-28 | 2000-12-05 | Intergraph Corporation | Apparatus and method for memory error detection |
-
2005
- 2005-03-24 KR KR1020077021685A patent/KR100922409B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5462735A (en) | 1977-10-28 | 1979-05-21 | Toshiba Corp | Memory control system |
JPH0883218A (en) * | 1994-09-14 | 1996-03-26 | Toshiba Corp | Computer system |
US6158025A (en) * | 1997-07-28 | 2000-12-05 | Intergraph Corporation | Apparatus and method for memory error detection |
JP2000057016A (en) | 1998-08-13 | 2000-02-25 | Nec Corp | Light fault processing system |
Also Published As
Publication number | Publication date |
---|---|
KR20070110095A (en) | 2007-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4523639B2 (en) | Memory error address management by firmware | |
JP2548480B2 (en) | Disk device diagnostic method for array disk device | |
JPH0950424A (en) | Dump sampling device and dump sampling method | |
KR100922409B1 (en) | Information processing device and memory anomaly monitoring method | |
EP1589427B1 (en) | Boot control system | |
JPH11154099A (en) | Data processor | |
JP4853083B2 (en) | Computer system, data normality confirmation method, and program | |
JP2005092695A (en) | Duplication controller, and method for determining equalization mode thereof | |
JP3191282B2 (en) | Failure information data collection method | |
JP2010061258A (en) | Duplex processor system and processor duplex method | |
JP2904117B2 (en) | Device storage unit redundancy method and device | |
JP4209866B2 (en) | Monitoring device, monitoring method, and information processing device | |
JP2002044693A (en) | Controller of electronic exchange | |
JPS6356751A (en) | Memory patrol control system | |
JP4494263B2 (en) | Service system redundancy method | |
JPS6077252A (en) | Input/output control device | |
JPH10187202A (en) | Microprocessor controller | |
JPH05265876A (en) | Error report processing system | |
JPH0423120A (en) | Method and device for automatic allocation of alternate block in array disk device | |
JPH0365743A (en) | Fault finding method for main storage device | |
JPH0135369B2 (en) | ||
JPH07244613A (en) | Dual-memory control method | |
JPH08305637A (en) | Storage | |
JPH11167498A (en) | Data processor | |
JPS6121539A (en) | Generation management system of data file |
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: 20120924 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130924 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |