KR100449693B1 - Apparatus and method for preserving data in write buffer of CPU - Google Patents
Apparatus and method for preserving data in write buffer of CPU Download PDFInfo
- Publication number
- KR100449693B1 KR100449693B1 KR1019970002659A KR19970002659A KR100449693B1 KR 100449693 B1 KR100449693 B1 KR 100449693B1 KR 1019970002659 A KR1019970002659 A KR 1019970002659A KR 19970002659 A KR19970002659 A KR 19970002659A KR 100449693 B1 KR100449693 B1 KR 100449693B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- buffer
- cache memory
- exception
- write buffer
- 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/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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
본 발명은 고장허용 컴퓨터에서의 중앙처리장치(Central Processing Unit : 이하에서 CPU라 한다)와 캐쉬 메모리 간의 데이터 흐름을 제어하는 장치 및 그 방법에 관한 것으로서, 특히 고장허용 컴퓨터의 중앙처리장치에 구비된 쓰기버퍼에 일시 저장된 데이터가 예외 에러 발생시에 분실되는 것을 방지하는 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and a method for controlling data flow between a central processing unit (CPU) and a cache memory in a fault-tolerant computer. In particular, the present invention relates to a central processing unit of a fault-tolerant computer. An apparatus and a method for preventing data temporarily stored in a write buffer from being lost when an exception error occurs.
종래의 CPU 중에는 그 내부에서 처리된 데이터를 주메모리에 쓰는 쓰기동작(Write Operation) 시에 상기 데이터를 일시 저장하여 두는 쓰기버퍼(write buffer)를 구비하고 있는 것이 있다. 장애허용 컴퓨터(fault_tolerant computer)가 상기 쓰기버퍼를 구비한 CPU와 캐쉬 메모리를 구비한 경우, 쓰기동작 시에 상기 쓰기버퍼에 일시 저장된 데이터는 상기 캐쉬 메모리로 전달된다.Some conventional CPUs have a write buffer for temporarily storing the data during a write operation in which the data processed therein is written to the main memory. When a fault_tolerant computer includes a CPU with the write buffer and a cache memory, data temporarily stored in the write buffer is transferred to the cache memory during a write operation.
그런데, 장애허용 시스템이 쓰기동작을 할 때, 더 이상 상기 CPU의 데이터를 캐쉬 메모리로 전달하면 안되는 경우가 있다. 이때, 예외 에러를 유발시켜 상기 CPU의 동작이 더 이상 진행되지 못하도록 하더라도, 상기 CPU 내에 구비된 쓰기버퍼의 데이터는 자동적으로 출력된다. 그리하여, 출력된 데이터는 상기 캐쉬 메모리에 정상적으로 전달되지 못하고 분실된다.However, when a fault-tolerant system performs a write operation, there is a case where data of the CPU should no longer be transferred to the cache memory. At this time, even if the operation of the CPU is prevented from proceeding by causing an exception error, the data of the write buffer provided in the CPU is automatically output. Thus, the output data is not delivered to the cache memory normally and is lost.
도 1은 종래의 CPU와 캐쉬 메모리의 블락 구성도이다. CPU(100)가 쓰기 동작을 수행하면, 상기 쓰기동작의 대상이 되는 데이터는 상기 CPU(100) 밖으로 나가기 전에 일단 쓰기버퍼(110)에 저장된다. 그 다음, 상기 CPU(100) 외부의 버스(120)를 사용할 수 있을 때, 상기 CPU(100)는 상기 쓰기버퍼(110)에 저장되어 있는 데이터를 상기 캐쉬 메모리(130)에 쓴다. 이때, 예외 에러가 발생되면, 더 이상의 데이터가 상기 캐쉬 메모리(130)에 쓰여져서는 안된다. 그러나, 상기 CPU(100)는 예외 에러를 받은 이후에도 상기 쓰기버퍼(110)에 일시 저장된 데이터는 상기 캐쉬 메모리(130)에 쓰여지도록 하기 위해 상기 CPU 밖으로 전달되어, 컴퓨터 시스템은 그 데이터를 잃어버리게 된다.1 is a block diagram of a conventional CPU and cache memory. When the
본 발명은 상기의 문제점을 해결하기 위하여 창작된 것으로서, 예외 에러 발생시 CPU 내의 쓰기버퍼에 있는 데이터의 일관성을 유지하기 위한 CPU 내의 쓰기 버퍼 데이터 보존 장치 및 그 방법을 제공함을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object thereof is to provide a write buffer data preservation apparatus and a method thereof for maintaining consistency of data in a write buffer in a CPU when an exception error occurs.
도 1은 종래의 CPU와 캐쉬 메모리의 블락 구성도이다.1 is a block diagram of a conventional CPU and cache memory.
도 2는 본 발명에 의한 CPU 내의 쓰기버퍼 데이터 보존 장치가 구현된 CPU와 캐쉬 메모리의 블락 구성도이다.2 is a block diagram of a CPU and a cache memory in which a write buffer data storage device in a CPU according to the present invention is implemented.
도 3은 본 발명에 의한 CPU 내의 쓰기버퍼 데이터 보존 방법에 대한 흐름도이다.3 is a flowchart illustrating a write buffer data storage method in the CPU according to the present invention.
도 4는 도 3에 도시된 장애 회복 단계에 대한 상세 흐름도이다.FIG. 4 is a detailed flowchart of the disaster recovery step shown in FIG. 3.
상기의 목적을 달성하기 위하여, 쓰기동작 시 데이터를 일시 저장하는 쓰기버퍼를 구비한 중앙처리장치, 캐쉬 메모리 및 주메모리를 구비한 고장허용 컴퓨터에서의 본 발명에 의한 중앙처리장치 내의 쓰기버퍼 데이터 보존 장치는 상기 쓰기버퍼의 데이터를 상기 캐쉬 메모리에 쓸 수 없는 상황을 감지하고, 이를 나타내는 제어신호를 발생시키는 장애 감지기; 상기 장애 감지기로부터 제어신호를 받아, 상기 쓰기버퍼에서 출력되는 데이터 정보를 일시 저장하는 장애회복 버퍼; 및 상기 캐쉬 메모리의 데이터를 상기 주메모리에 쓰고, 상기 장애회복 버퍼에 저장된 데이터를 상기 캐쉬 메모리에 쓰는 예외처리기를 포함함을 특징으로 하고, 상기 중앙처리장치는 상기 장애 감지기로부터 제어신호를 전달받고, 상기 예외처리기를 호출하는 것을 특징으로 한다.In order to achieve the above object, write buffer data storage in the central processing unit according to the present invention in a fault-tolerant computer having a write buffer for temporarily storing data during a write operation, a cache memory, and a main memory. The apparatus may further include: a fault detector configured to detect a situation in which data of the write buffer cannot be written to the cache memory and generate a control signal indicating the situation; A fault recovery buffer which receives a control signal from the fault detector and temporarily stores data information output from the write buffer; And an exception processor that writes data from the cache memory to the main memory and writes data stored in the failover buffer into the cache memory. The CPU receives the control signal from the failure detector. Call the exception handler.
상기의 다른 목적을 달성하기 위하여, 쓰기버퍼를 구비한 중앙처리장치, 캐쉬 메모리, 주메모리, 상기 캐쉬 메모리에서 발생하는 예외에러를 감지하는 장애 감지기, 상기 중앙처리장치에 포함된 쓰기버퍼의 데이터를 일시 저장하는 장애회복 버퍼 및 상기 캐쉬 메모리에서 발생하는 예외에러를 처리하는 예외 처리기를 구비한 고장허용 컴퓨터에서의 본 발명에 의한 쓰기버퍼 데이터 보존 방법은 상기 장애감지기가 상기 쓰기버퍼의 데이터를 상기 캐쉬 메모리에 쓸 수 없는 상황을 감지하고 이를 나타내는 제어신호를 생성하는 제1단계; 상기 장애 감지기에서 생성된 제어신호에 의해 상기 쓰기버퍼에서 출력된 데이터 정보가 상기 장애회복 버퍼에 일시 저장되는 제2단계; 상기 중앙처리장치가 상기 장애 감지기에서 생성된 제어신호를 받아, 상기 예외처리기를 호출하는 제3단계; 및 상기 예외처리기가 상기 캐쉬버퍼에서 발생한 예외에러를 처리하는 제4단계를 포함함을 특징으로 한다.In order to achieve the above object, a central processing unit having a write buffer, a cache memory, a main memory, a fault detector for detecting an exception error occurring in the cache memory, the data of the write buffer included in the central processing unit In a fault-tolerant computer having a fault-tolerant buffer for temporarily storing an exception and an exception handler for handling an exception error occurring in the cache memory, the write buffer data preservation method according to the present invention is characterized in that the fault detector stores the data in the write buffer. Detecting a situation in which the memory cannot be written to and generating a control signal indicating the situation; A second step of temporarily storing data information output from the write buffer by the control signal generated by the failure detector in the failure recovery buffer; A third step of receiving, by the central processing unit, the control signal generated by the failure detector and calling the exception processor; And a fourth step of processing the exception error generated in the cache buffer by the exception handler.
도 2는 본 발명에 의한 CPU 내의 쓰기버퍼 데이터 보존 장치가 구현된 CPU와 캐쉬 메모리의 블락 구성도이다. 도 2에 의하면, 본 발명에 의한 CPU(200) 내의 쓰기버퍼(210) 데이터 보존장치는 장애 감지기(250), 장애회복 버퍼(260) 및 예외 처리기(270)를 포함하여 구성된다.2 is a block diagram of a CPU and a cache memory in which a write buffer data storage device in a CPU according to the present invention is implemented. Referring to FIG. 2, the
상기 장애 감지기(250)는 상기 쓰기버퍼(210)의 데이터를 상기 캐쉬 메모리(230)에 쓸 수 없는 상황을 감지하고, 상기 쓰기버퍼(210)에서 출력되는 데이터를 상기 장애회복 버퍼에 저장하도록 제어신호를 발생한다. 한편, 상기 장애 감지기는 상기 CPU(210)에 예외 에러 발생을 알리는 제어신호를 전달한다.The
상기 장애회복 버퍼(260)는 상기 장애 감지기(250)로부터 제어신호를 받고, 상기 쓰기버퍼(210)에서 출력된 데이터 정보(즉, 데이터, 주소, 데이터의 크기 등)를 일시 저장한다. 상기 장애회복 버퍼(260)의 크기는 최소한 상기 CPU(200)에서 예외 에러를 인지한 후 밖으로 내보낼 수 있는 데이터의 수보다 하나 더 커야 한다. 상기 장애회복 버퍼(260)는 퍼스트_인_퍼스트_아웃(FIFO) 형태의 버퍼로 구성하는 것이 바람직하다.The
상기 예외처리기(270)는 주메모리(240)에 저장되어 있는 소프트웨어로서, 상기 CPU(200)이 상기 장애 감지기(250)로부터 예외 에러 발생을 알리는 제어신호를받은 경우에 상기 CPU(200)에 의해 호출되어 다음과 같은 작업을 한다. 상기 예외처리기(270)는 상기 캐쉬 메모리(230)의 장애를 처리하고, 상기 장애회복 버퍼(260)에 저장된 데이터를 상기 캐쉬 메모리에 쓰는 작업을 한다.The exception processor 270 is software stored in the
도 3은 본 발명에 의한 CPU 내의 쓰기버퍼 데이터 보존 방법에 대한 흐름도이다. 도 3에 의하면, 본 발명에 의한 중앙처리장치 내의 쓰기버퍼 데이터를 보존하는 과정은 다음과 같다.3 is a flowchart illustrating a write buffer data storage method in the CPU according to the present invention. Referring to Fig. 3, the process of storing write buffer data in the central processing unit according to the present invention is as follows.
먼저, 상기 쓰기버퍼(210)의 데이터를 상기 캐쉬 메모리(230)에 쓸 수 없는 상황이 발생하면, 상기 장애 감지기(250)에 의해 이와같은 상황이 감지되고(300단계), 제어신호가 발생된다(310단계).First, when a situation in which data of the
다음, 상기 장애 감지기(250)의 제어신호에 의해 상기 쓰기버퍼(210)에서 출력된 데이터 정보가 상기 장애회복 버퍼에 일시 저장되고(320단계), 상기 장애 감지기(250)의 제어신호를 받은 CPU(200)에 의해 상기 예외처리기(270)가 호출된다(330단계).Next, the data information output from the
그리하여, 상기 예외처리기(270)에 의해 장애가 회복된다(340단계).Thus, the failure is recovered by the exception handler 270 (step 340).
도 4는 도 3에 도시된 장애 회복 단계(340단계)에 대한 상세 흐름도이다. 예외 에러가 발생하고 상기 CPU(200)가 모든 데이터를 상기 CPU(200) 밖으로 축출한 다음, 상기 CPU(200)는 예외 처리 루틴(Exception Handler Routine)을 수행하게 된다. 상기 예외 처리기(270)에서는 상기 캐쉬 메모리에 있는 더티 데이터(Dirty Data) 블럭을 모두 상기 주메모리(240)에 쓴다(400,410단계). 여기에서, 더티 데이터 블럭이라 함은 캐쉬 메모리에 저장된 데이터가 변경되어, 동일한 블럭의 주메모리의 데이터와 그 내용이 다른 블럭을 말한다.FIG. 4 is a detailed flowchart of the disaster recovery step (340) shown in FIG. After an exception error occurs and the
이후, 상기 캐쉬 메모리(230)를 비운 다음, 상기 장애회복 버퍼(260)에 저장된 데이터가 있으면, 그 데이터를 하나씩 꺼내어 상기 캐쉬 메모리(230)에 쓰고(420,430단계), 상기 캐쉬 메모리(230)의 더티 데이터를 다시 한번 주메모리(240)에 쓴다(440단계).Thereafter, the
그 다음, 상기 장애회복 버퍼를 클리어(Clear)하고(450단계), 상기 예외 처리 루틴을 종료한다.Then, the failover buffer is cleared (step 450), and the exception handling routine ends.
본 발명에 의하면, 쓰기버퍼를 내장하고 있는 CPU를 사용하는 장애허용 컴퓨터 시스템의 캐쉬 메모리에 어떠한 예외 에러가 발생하더라도 데이터의 손실을 방지할 수 있다.According to the present invention, data loss can be prevented even if any exception error occurs in the cache memory of a fault-tolerant computer system using a CPU incorporating a write buffer.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970002659A KR100449693B1 (en) | 1997-01-29 | 1997-01-29 | Apparatus and method for preserving data in write buffer of CPU |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970002659A KR100449693B1 (en) | 1997-01-29 | 1997-01-29 | Apparatus and method for preserving data in write buffer of CPU |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980066884A KR19980066884A (en) | 1998-10-15 |
KR100449693B1 true KR100449693B1 (en) | 2004-10-14 |
Family
ID=37366821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970002659A KR100449693B1 (en) | 1997-01-29 | 1997-01-29 | Apparatus and method for preserving data in write buffer of CPU |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100449693B1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR870008825U (en) * | 1985-11-05 | 1987-06-13 | 삼성전자주식회사 | Computer data retention circuit |
KR890000969A (en) * | 1987-06-18 | 1989-03-17 | 아오이 죠이찌 | Backup storage of data for preservation of information processing equipment |
KR890702122A (en) * | 1987-06-02 | 1989-12-22 | 스토리지 컴퓨터 | Fault tolerance and error correction storage system |
KR900002188A (en) * | 1988-07-30 | 1990-02-28 | 최근선 | Data preservation system at power off |
KR910015825U (en) * | 1990-02-20 | 1991-09-25 | 대우통신 주식회사 | Data retention circuit of storage device |
KR920010447A (en) * | 1990-11-23 | 1992-06-26 | 백중영 | Data loss prevention circuit between CPUs using dual port RAM |
JPH0535616A (en) * | 1991-07-31 | 1993-02-12 | Nec Corp | Data transfer system |
JPH08185371A (en) * | 1994-12-27 | 1996-07-16 | Nkk Corp | Bus arbitration device |
-
1997
- 1997-01-29 KR KR1019970002659A patent/KR100449693B1/en not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR870008825U (en) * | 1985-11-05 | 1987-06-13 | 삼성전자주식회사 | Computer data retention circuit |
KR890702122A (en) * | 1987-06-02 | 1989-12-22 | 스토리지 컴퓨터 | Fault tolerance and error correction storage system |
KR890000969A (en) * | 1987-06-18 | 1989-03-17 | 아오이 죠이찌 | Backup storage of data for preservation of information processing equipment |
KR900002188A (en) * | 1988-07-30 | 1990-02-28 | 최근선 | Data preservation system at power off |
KR910015825U (en) * | 1990-02-20 | 1991-09-25 | 대우통신 주식회사 | Data retention circuit of storage device |
KR920010447A (en) * | 1990-11-23 | 1992-06-26 | 백중영 | Data loss prevention circuit between CPUs using dual port RAM |
JPH0535616A (en) * | 1991-07-31 | 1993-02-12 | Nec Corp | Data transfer system |
JPH08185371A (en) * | 1994-12-27 | 1996-07-16 | Nkk Corp | Bus arbitration device |
Also Published As
Publication number | Publication date |
---|---|
KR19980066884A (en) | 1998-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2790034B2 (en) | Non-operational memory update method | |
JPH04338849A (en) | Excessive error correction method | |
EP0552717B1 (en) | Data processing system and method using virtual storage system | |
KR100449693B1 (en) | Apparatus and method for preserving data in write buffer of CPU | |
JP3070453B2 (en) | Memory failure recovery method and recovery system for computer system | |
JP2786065B2 (en) | Memory data copy method | |
EP0113982B1 (en) | A data processing system | |
JPH04266141A (en) | Stack overflow detection system | |
JP3162459B2 (en) | Data processing device | |
JP2759824B2 (en) | Address error detection method for data storage device | |
JP2002215431A (en) | Information processor and method of outputting trace log information | |
US5592680A (en) | Abnormal packet processing system | |
JPH0217550A (en) | Trouble processing system for multiprocessor system | |
JPH07219796A (en) | Information processor | |
JPH02297235A (en) | Memory data protecting circuit | |
JPH043237A (en) | Main storage device protecting system | |
JPWO2004051492A1 (en) | Storage device that compresses the same input value | |
JPS63129440A (en) | Store through buffer device | |
JPH04155552A (en) | Cache memory fault deciding system | |
JPH04257044A (en) | Bus parity error generating position detecting system | |
JPS63278159A (en) | Information processor | |
JPS59207099A (en) | Information processor | |
JPS60110047A (en) | Error correction system | |
JPH0488434A (en) | Data processor | |
JPH05241905A (en) | Processor device |
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: 20070830 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |