JP2009205212A - Memory fault processing system, memory fault processing method, and memory fault processing program - Google Patents

Memory fault processing system, memory fault processing method, and memory fault processing program Download PDF

Info

Publication number
JP2009205212A
JP2009205212A JP2008043924A JP2008043924A JP2009205212A JP 2009205212 A JP2009205212 A JP 2009205212A JP 2008043924 A JP2008043924 A JP 2008043924A JP 2008043924 A JP2008043924 A JP 2008043924A JP 2009205212 A JP2009205212 A JP 2009205212A
Authority
JP
Japan
Prior art keywords
failure
memory
fault
failures
correctable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008043924A
Other languages
Japanese (ja)
Other versions
JP5272443B2 (en
Inventor
Eiichiro Kawaguchi
英一郎 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008043924A priority Critical patent/JP5272443B2/en
Publication of JP2009205212A publication Critical patent/JP2009205212A/en
Application granted granted Critical
Publication of JP5272443B2 publication Critical patent/JP5272443B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To determine whether to continue or stop a process using a memory region according to the use of the process when the correctable defect of the memory occurs. <P>SOLUTION: To an entry registered in a TLB, "a defect frequency" and "a defect threshold " are added. The defect frequency holds the frequency of the correctable defect occurring in a corresponding physical address space. The defect threshold holds the maximum number of correctable defects permitted by the corresponding process. Also, a defect frequency monitoring mechanism connected to the TLB is provided with a function for comparing the defect frequency with the defect threshold, and when the defect frequency exceeds the defect threshold, issuing a signal to stop the process. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、メモリ障害処理システムに関し、特にプロセスの動作を継続するためのメモリ障害処理システムに関する。   The present invention relates to a memory fault processing system, and more particularly to a memory fault processing system for continuing the operation of a process.

通常、同一コンピュータシステム内には、様々な目的を持ったプロセスが動作している。それらのプロセスの中には、訂正可能障害が何回起きようとも動作し続けなければならないプロセスもあれば、訂正可能障害が訂正不可能障害にエスカレーションするのを避けるために即停止しても良いプロセスも存在する。   Usually, processes having various purposes operate in the same computer system. Some of these processes must continue to work no matter how many times a correctable failure occurs, or may be stopped immediately to avoid escalating a correctable failure to an uncorrectable failure. There is also a process.

なお、ここでは、メモリの訂正可能障害とは、ECC(Error Correcting Code)で、訂正が完了した障害を示すものとする。動作し続けなければならないプロセスの例としては、カーネルやミッションクリティカル領域で動作しているアプリケーションソフトウェア(application software)によるプロセス等が挙げられる。反対に、即停止しても良いプロセスの例としては、単純に、プロセッサのアイドル時間を活用して動作しているものであり、失敗してもやり直しの効くアプリケーションソフトウェアによるプロセス等が挙げられる。   Here, it is assumed that the memory correctable fault indicates a fault that has been corrected by ECC (Error Correcting Code). Examples of processes that must continue to operate include processes by application software (application software) operating in the kernel and mission critical areas. On the other hand, as an example of a process that may be stopped immediately, a process using application software that simply operates by utilizing the idle time of the processor and that can be re-executed even if it fails can be cited.

即停止しても良いプロセスが利用しているメモリ空間において訂正可能障害が発生した場合、そのまま当該プロセスを動作させて、訂正可能障害が訂正不可能障害にエスカレーションしてしまうと、即停止しても良いプロセスを継続したがためにシステムダウンが発生することになる。そして、その結果として重要なプロセスまでも止まってしまうという弊害があった。   If a correctable failure occurs in the memory space used by a process that can be stopped immediately, if the correctable failure escalates to a non-correctable failure by operating the process as it is, the process stops immediately. However, the system goes down because the good process is continued. As a result, there is a problem that even important processes are stopped.

関連する技術として、特開平04−343148号公報(特許文献1)に組込型マルチタスクオペレーティングシステムの例外処理方法が開示されている。
この関連技術では、同一タスクが不正なシステムコールを所定回数連続して発行すると、そのタスクを終了する。
As a related technique, Japanese Patent Laid-Open No. 04-343148 (Patent Document 1) discloses an exception handling method for an embedded multitask operating system.
In this related technique, when the same task issues unauthorized system calls for a predetermined number of times, the task is terminated.

また、特開平11−175409号公報(特許文献2)にメモリ制御方式が開示されている。
この関連技術では、物理ページの累積障害数が、予め定めた規定値を超えると、代替処理に入り、その処理の終了を待って動作を完了する。
Japanese Patent Laid-Open No. 11-175409 (Patent Document 2) discloses a memory control system.
In this related technique, when the cumulative number of failures in a physical page exceeds a predetermined value, a substitute process is entered, and the operation is completed after the process is completed.

特開平04−343148号公報Japanese Patent Laid-Open No. 04-343148 特開平11−175409号公報JP-A-11-175409

通常、同一コンピュータシステム内には、様々な目的を持ったプロセスが動作している。その中には、極めて重要なプロセスもあれば、単にプロセッサの空き時間を利用しているだけの重要度の低いプロセスも存在する。しかし、既存の障害処理方法では、一元的に生涯処理を実施しているため、その重要度に応じた適切な処理を施すことができなかった。   Usually, processes having various purposes operate in the same computer system. Some of them are extremely important processes, while others are less important processes that simply use processor idle time. However, in the existing failure processing method, since the lifetime processing is centrally performed, it is impossible to perform an appropriate processing according to the importance.

本発明のメモリ障害処理システムは、物理アドレス空間を利用するプロセスを起動し、TLB(Translation Look−aside Buffer)のエントリに、物理アドレス空間で発生した訂正可能障害の回数を示す障害回数、及びプロセスが許容する最大訂正可能障害数を示す障害閾値を登録し、訂正可能障害は、ECC(Error Correcting Code)で訂正が完了した障害を示し、障害回数を更新した際、障害回数と障害閾値とを比較し、障害回数が障害閾値を超えている場合、プロセスを停止するプロセッサと、物理アドレス空間を有し、訂正可能障害が発生する毎に、障害回数をカウントし、障害回数をプロセッサに通知する障害カウンタ付きメモリユニットとを具備する。   The memory failure processing system according to the present invention starts a process that uses a physical address space, and in a TLB (Translation Look-aside Buffer) entry, the number of failures indicating the number of correctable failures that have occurred in the physical address space, and the process Is registered a failure threshold value indicating the maximum number of correctable failures allowed, and the correctable failure indicates a failure that has been corrected by ECC (Error Correcting Code). When the failure frequency is updated, the failure frequency and the failure threshold value are indicated. In comparison, if the number of failures exceeds the failure threshold, each time a correctable failure occurs with a processor that stops the process and a physical address space, the number of failures is counted and the number of failures is notified to the processor And a memory unit with a fault counter.

本発明のメモリ障害処理方法は、障害カウンタ付きメモリユニットの物理アドレス空間を利用するプロセスを起動するステップと、プロセッサが保持するTLB(Translation Look−aside Buffer)のエントリに、物理アドレス空間で発生した訂正可能障害の回数を示す障害回数、及びプロセスが許容する最大訂正可能障害数を示す障害閾値を登録するステップと、訂正可能障害は、ECC(Error Correcting Code)で訂正が完了した障害を示し、障害カウンタ付きメモリユニット上で、訂正可能障害が発生する毎に、障害回数をカウントし、障害回数をTLBに提供するステップと、TLB上で障害回数を更新した際、障害回数と障害閾値とを比較し、障害回数が障害閾値を超えている場合、プロセスを停止するステップとを含む。   The memory failure processing method of the present invention occurs in the physical address space in the step of starting a process that uses the physical address space of the memory unit with the failure counter and the entry of the TLB (Translation Look-aside Buffer) held by the processor. A step of registering a failure count indicating the number of correctable failures and a failure threshold value indicating the maximum number of correctable failures allowed by the process; and the correctable failure indicates a failure that has been corrected by ECC (Error Collecting Code); Each time a correctable failure occurs on a memory unit with a failure counter, the step of counting the number of failures and providing the number of failures to the TLB, and when the number of failures is updated on the TLB, In comparison, the number of failures exceeds the failure threshold And a step of stopping if the process.

本発明のメモリ障害処理プログラムは、障害カウンタ付きメモリユニットの物理アドレス空間を利用するプロセスを起動するステップと、プロセッサが保持するTLB(Translation Look−aside Buffer)のエントリに、物理アドレス空間で発生した訂正可能障害の回数を示す障害回数、及びプロセスが許容する最大訂正可能障害数を示す障害閾値を登録するステップと、訂正可能障害は、ECC(Error Correcting Code)で訂正が完了した障害を示し、障害カウンタ付きメモリユニット上で、訂正可能障害が発生する毎に、障害回数をカウントし、障害回数をTLBに提供するステップと、TLB上で障害回数を更新した際、障害回数と障害閾値とを比較し、障害回数が障害閾値を超えている場合、プロセスを停止するステップとをプロセッサに実行させるためのプログラムである。   The memory fault processing program of the present invention is generated in the physical address space in the step of starting the process using the physical address space of the memory unit with the fault counter and the entry of the TLB (Translation Look-aside Buffer) held by the processor. A step of registering a failure count indicating the number of correctable failures and a failure threshold value indicating the maximum number of correctable failures allowed by the process; and the correctable failure indicates a failure that has been corrected by ECC (Error Collecting Code); Each time a correctable failure occurs on a memory unit with a failure counter, the step of counting the number of failures and providing the number of failures to the TLB, and when the number of failures is updated on the TLB, Compared, failure count exceeds failure threshold If there is a program for executing a step of stopping the process to the processor.

メモリの訂正可能障害が発生した際、当該メモリ領域を利用しているプロセスの用途に応じて、そのプロセスを継続するか/中止するかの決定ができる。   When a correctable failure occurs in the memory, it is possible to decide whether to continue or stop the process according to the use of the process that uses the memory area.

本発明のメモリ障害処理システムでは、TLB(Translation Look−aside Buffer)に登録されるエントリに「障害回数」、及び、「障害閾値」を追加する。障害回数は、対応する物理アドレス空間で発生した訂正可能障害の回数を保持する。なお、物理アドレス空間は、メモリアドレスによってアクセス可能なメモリ空間を示す。障害閾値は、対応するプロセスが許容する最大訂正可能障害数を保持する。また、TLBに接続される障害回数監視機構は、これら2つを比較し障害回数が障害閾値を超えている場合には、当該プロセスを停止させる信号を発行する機能を有する。   In the memory failure processing system according to the present invention, “failure count” and “failure threshold” are added to entries registered in a TLB (Translation Look-aside Buffer). The number of failures holds the number of correctable failures that occurred in the corresponding physical address space. The physical address space indicates a memory space that can be accessed by a memory address. The failure threshold holds the maximum number of correctable failures allowed by the corresponding process. The failure frequency monitoring mechanism connected to the TLB has a function of comparing these two and issuing a signal for stopping the process when the failure frequency exceeds the failure threshold.

以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1を参照すると、本発明のメモリ障害処理システムは、プロセッサ1と、障害カウンタ付きメモリユニット2を含む。
Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings.
Referring to FIG. 1, the memory fault processing system of the present invention includes a processor 1 and a memory unit 2 with a fault counter.

プロセッサ1は、障害カウンタ付きTLB11と、障害回数監視部12と、オペレーティングシステム(OS:Operating System)13を備える。   The processor 1 includes a TLB 11 with a fault counter, a fault count monitoring unit 12, and an operating system (OS: Operating System) 13.

障害カウンタ付きTLB11は、一般的なTLB機能に加えて、以下の3つのエントリを有している。
(1)第1のエントリは、物理ページを利用しているプロセスを識別するプロセス識別子エントリである。
(2)第2のエントリは、物理ページで発生した障害回数を保持する障害回数エントリである。
(3)第3のエントリは、物理ページを利用しているプロセスが、許容できる障害回数を保持する障害閾値エントリである。
The TLB 11 with a failure counter has the following three entries in addition to the general TLB function.
(1) The first entry is a process identifier entry for identifying a process using a physical page.
(2) The second entry is a failure count entry that holds the number of failures that occurred in the physical page.
(3) The third entry is a failure threshold entry in which a process using a physical page holds an allowable number of failures.

プロセス識別子エントリは、オペレーティングシステム(OS)13により設定される固有の値である。障害回数エントリは、メモリの訂正可能障害が発生したときに、その障害の発生が物理ページにおいて何回目かを示す障害回数を示す値である。ここで、メモリの訂正可能障害とは、ECC(Error Correcting Code)で、訂正が完了した障害を示すものとする。障害カウンタ付きメモリユニット2は、メモリの訂正可能障害が発生する毎に、発生したメモリの訂正可能障害をECCで訂正し、障害回数を更新する。障害閾値エントリは、プロセスの重要度に応じて、プロセスを起動した際に、指定される値である。指定された値が、障害閾値となる。ここでは、これら3つのエントリをTLBエントリと呼ぶ。   The process identifier entry is a unique value set by the operating system (OS) 13. The failure count entry is a value indicating the number of failures indicating how many times the failure has occurred in the physical page when a memory correctable failure occurs. Here, the correctable fault of the memory indicates a fault that has been corrected by ECC (Error Correcting Code). The memory unit 2 with the fault counter corrects the correctable fault of the generated memory with the ECC each time a correctable fault occurs in the memory, and updates the fault count. The failure threshold entry is a value that is specified when a process is started according to the importance of the process. The specified value becomes the failure threshold. Here, these three entries are called TLB entries.

障害回数監視部12は、TLBエントリ中の障害回数と障害閾値を比較し、比較の結果、「障害回数 > 障害閾値」であることを検出した場合、プロセッサ1に対し割り込み信号を発信すると共に、物理ページを利用しているプロセスを示すプロセス識別子を送信する機能を有する。   The failure frequency monitoring unit 12 compares the failure frequency in the TLB entry with the failure threshold value, and if it is detected that “failure frequency> failure threshold value” as a result of the comparison, sends an interrupt signal to the processor 1 and It has a function of transmitting a process identifier indicating a process using a physical page.

オペレーティングシステム(OS)13は、プロセッサ1上で動作し、障害回数監視部12から割り込み信号とプロセス識別子を受信すると、当該プロセスを停止させる機能を有する。但し、実際には、オペレーティングシステム(OS)13は、プロセッサ1の外部で動作するようにすることも可能である。例えば、オペレーティングシステム(OS)13は、プロセッサ1と連携する他のプロセッサ上で動作していても良い。また、オペレーティングシステム(OS)13は、ファームウェア(firmware)、又はアプリケーションソフトウェア(application software)と読み替えても良い。   The operating system (OS) 13 operates on the processor 1 and has a function of stopping the process when receiving an interrupt signal and a process identifier from the failure frequency monitoring unit 12. In practice, however, the operating system (OS) 13 can be operated outside the processor 1. For example, the operating system (OS) 13 may operate on another processor that cooperates with the processor 1. Further, the operating system (OS) 13 may be read as firmware (firmware) or application software (application software).

障害カウンタ付きメモリユニット2は、障害通知部21と、メモリ本体22を備える。   The memory unit 2 with a fault counter includes a fault notification unit 21 and a memory main body 22.

障害通知部21は、メモリ本体22において、訂正可能障害が発生する毎に、その発生事象を、障害アドレス、及び、障害回数と共にプロセッサ1に通知する機能を有する。ここで、障害アドレスとは、障害が発生したアドレスを示す。なお、障害通知部21は、メモリの訂正可能障害が発生する毎に、発生したメモリの訂正可能障害をECCで訂正し、障害回数を更新した後に、障害アドレス、及び、障害回数と共にプロセッサ1に通知するようにしても良い。   The failure notification unit 21 has a function of notifying the processor 1 of the occurrence event together with the failure address and the number of failures each time a correctable failure occurs in the memory main body 22. Here, the failure address indicates an address where a failure has occurred. Whenever a memory correctable failure occurs, the failure notification unit 21 corrects the memory correctable failure that has occurred by ECC and updates the number of failures, and then sends the failure address to the processor 1 together with the failure address and the number of failures. You may make it notify.

メモリ本体22は、物理アドレス空間を最小物理ページ単位毎に分割されており、分割単位毎に、訂正可能障害が何回発生したかを示す障害回数をカウントし保持するカウンタを持っている。ここでは、メモリ本体22は、MM−0からMM−N(Nは任意)に分割されている。また、カウンタは、訂正可能障害が発生する毎に、障害回数を加算する。   The memory body 22 divides the physical address space into minimum physical page units, and has a counter that counts and holds the number of failures indicating how many correctable failures have occurred for each division unit. Here, the memory main body 22 is divided into MM-0 to MM-N (N is arbitrary). The counter adds the number of failures every time a correctable failure occurs.

なお、プロセッサ1の例として、CPU(Central Processing Unit)やマイクロプロセッサ(microprocessor)等の処理装置、又は同様の機能を有する半導体集積回路(IC:Integrated Circuit)が考えられる。また、障害カウンタ付きメモリユニット2の例として、RAM(Random Access Memory)やEEPROM(Electrically Erasable and Programmable Read Only Memory)、フラッシュメモリ(Flash Memory)等の半導体記憶装置が考えられる。但し、実際には、これらの例に限定されない。   As an example of the processor 1, a processing device such as a CPU (Central Processing Unit) or a microprocessor, or a semiconductor integrated circuit (IC: Integrated Circuit) having a similar function is conceivable. Further, as an example of the memory unit 2 with the fault counter, a semiconductor storage device such as a RAM (Random Access Memory), an EEPROM (Electrically Erasable and Programmable Read Only Memory), a flash memory (Flash Memory), or the like is conceivable. However, actually, it is not limited to these examples.

図2を参照して、プロセッサ1の構成例について詳細に説明する。
障害カウンタ付きTLB11は、TLBエントリとして、「仮想ページ番号」、「物理ページ番号」、「プロセス識別子」、「障害回数」、「障害閾値」の各々について、表形式で情報を格納している。
A configuration example of the processor 1 will be described in detail with reference to FIG.
The TLB 11 with a failure counter stores information in a table format for each of “virtual page number”, “physical page number”, “process identifier”, “number of failures”, and “failure threshold” as a TLB entry.

障害回数監視部12は、比較部121と、割り込み通知部122を備える。   The failure frequency monitoring unit 12 includes a comparison unit 121 and an interrupt notification unit 122.

比較部121は、障害カウンタ付きTLB11のTLBエントリ中の「プロセス識別子」、「障害回数」、及び「障害閾値」を取得し、「障害回数」と「障害閾値」を比較し、比較の結果、「障害回数 > 障害閾値」であることを検出した場合、割り込み通知部122に対し、当該「プロセス識別子」を通知する。   The comparison unit 121 acquires “process identifier”, “failure count”, and “failure threshold” in the TLB entry of the TLB 11 with fault counter, compares the “failure count” with the “failure threshold”, When it is detected that “number of failures> failure threshold”, the interrupt notification unit 122 is notified of the “process identifier”.

例えば、訂正可能障害が発生した際に、即停止しても良いプロセスAがあると仮定する。これには単にプロセッサの空き時間を有効利用するようなプロセス等が該当する。プロセスAのように即停止しても良いプロセスの場合、当該プロセスが動作するメモリ空間に対応するTLBエントリの障害閾値は0に設定される。このとき、対応する物理ページPPN0において訂正可能障害が発生した場合、TLB内の対応するエントリの障害回数が更新される。その後、障害回数と障害閾値の比較が実施されると、障害回数が障害閾値を超えることになるため、対応するプロセスAを停止させる信号が発行される。その結果として訂正可能障害が発生したメモリ空間は利用されなくなり、障害のエスカレーションを回避できることになる。同様にプロセスBで見た場合は、障害回数は4、障害閾値は5であり、これは、許容する最大訂正可能障害数を下回っているため、処理は継続されることになる。プロセスCでは、障害閾値は∞になっている。これは、何回訂正可能障害が起きようとも動作し続けなければならないプロセスであることを示している。   For example, assume that there is a process A that may be stopped immediately when a correctable failure occurs. This is simply a process that makes effective use of processor idle time. In the case of a process that can be stopped immediately such as process A, the failure threshold value of the TLB entry corresponding to the memory space in which the process operates is set to zero. At this time, when a correctable failure occurs in the corresponding physical page PPN0, the number of failures of the corresponding entry in the TLB is updated. After that, when the failure frequency is compared with the failure threshold value, the failure frequency exceeds the failure threshold value, so that a signal for stopping the corresponding process A is issued. As a result, the memory space in which a correctable failure has occurred is not used, and failure escalation can be avoided. Similarly, in the case of the process B, the number of failures is 4 and the failure threshold is 5, which is below the maximum number of correctable failures that can be tolerated. Therefore, the processing is continued. In process C, the failure threshold is ∞. This indicates that the process must continue to work no matter how many correctable failures occur.

割り込み通知部122は、比較部121からの「プロセス識別子」の通知に応じて、オペレーティングシステム(OS)13に対し、当該「プロセス識別子」と割り込み信号を発信する。   In response to the notification of the “process identifier” from the comparison unit 121, the interrupt notification unit 122 transmits the “process identifier” and an interrupt signal to the operating system (OS) 13.

次に、本実施形態の動作について詳細に説明する。
図3のフローチャートを参照して、プロセスを起動するときの処理について説明する。
(1)ステップS101
プロセスの起動処理では、プロセスの起動要求が発行される。基本的には、通常のプロセスの起動処理と同じだが、本実施形態では、プロセスの起動と同時に、そのプロセスの重要度、若しくは、その重要度に応じた障害閾値そのものを指定する。重要度を指定した場合には、その重要度に応じた規定の障害閾値を利用するものとするが、今回は、説明の簡単化のために、障害閾値そのものを利用すると仮定して、順次説明を進める。このとき、プロセッサ1のオペレーティングシステム(OS)13は、プロセスの起動要求及び指定された障害閾値に基づいて、障害閾値付きでプロセスを起動する。
(2)ステップS102
障害閾値付きで起動されたプロセスは、オペレーティングシステム(OS)13により、障害カウンタ付きTLB11に登録されるが、そのときのTLBエントリに、そのプロセスの識別子と起動時に指定された障害閾値も同時に登録される。このとき、プロセッサ1のオペレーティングシステム(OS)13は、少なくとも、障害閾値付きで起動されたプロセスの「プロセスの識別子」及び「障害閾値」を障害カウンタ付きTLB11のTLBエントリに登録する。起動時の処理は、これで完了する。
Next, the operation of this embodiment will be described in detail.
With reference to the flowchart of FIG. 3, a process when starting a process will be described.
(1) Step S101
In the process activation process, a process activation request is issued. Basically, it is the same as the normal process activation process, but in this embodiment, simultaneously with the process activation, the importance level of the process or the failure threshold value corresponding to the importance level is specified. When the importance level is specified, the specified failure threshold value corresponding to the importance level is used. However, for the sake of simplicity, this time, it is assumed that the failure threshold value itself is used. To proceed. At this time, the operating system (OS) 13 of the processor 1 starts the process with a failure threshold based on the process startup request and the specified failure threshold.
(2) Step S102
A process started with a failure threshold is registered in the TLB 11 with a failure counter by the operating system (OS) 13, and the identifier of the process and the failure threshold specified at startup are also registered in the TLB entry at the same time. Is done. At this time, the operating system (OS) 13 of the processor 1 registers at least the “process identifier” and the “failure threshold” of the process started with the failure threshold in the TLB entry of the TLB 11 with the failure counter. This completes the startup process.

次に、実際に障害が発生したときの一連の処理について説明する。
図4のフローチャートを参照して、メモリユニット上の処理について説明する。
(1)ステップS201
まず、訂正可能障害が発生した場合、障害カウンタ付きメモリユニット2上で、当該メモリ障害の訂正を実施する。このとき、障害カウンタ付きメモリユニット2は、ECCに基づいて、メモリ障害の訂正を実施する。
(2)ステップS202
次に、障害カウンタ付きメモリユニット2上で最小物理ページ単位毎に備えている障害カウンタを更新する。具体的には、障害カウンタ付きメモリユニット2は、訂正可能障害が発生したアドレスを含む最小物理ページに対応したカウンタを1つインクリメント(increment)する。このとき、障害カウンタ付きメモリユニット2は、メモリ本体22のMM−0からMM−Nの各々に対応したカウンタを1つインクリメントする。
(3)ステップS203
障害カウンタ付きメモリユニット2は、カウンタの更新が完了すると、訂正可能障害が発生したことをプロセッサ1に通知する。このとき、障害カウンタ付きメモリユニット2の障害通知部21は、障害カウンタ付きTLB11に対して、訂正可能障害が発生したアドレスと障害カウンタの値を合わせて通知する。続いて、処理がプロセッサ1側に移る。プロセッサ1上での処理を図5に示す。
Next, a series of processing when a failure actually occurs will be described.
The processing on the memory unit will be described with reference to the flowchart of FIG.
(1) Step S201
First, when a correctable failure occurs, the memory failure is corrected on the memory unit 2 with the failure counter. At this time, the memory unit with a fault counter 2 corrects the memory fault based on the ECC.
(2) Step S202
Next, the failure counter provided for each minimum physical page unit is updated on the memory unit 2 with the failure counter. Specifically, the memory unit with a fault counter 2 increments the counter corresponding to the smallest physical page including the address where the correctable fault has occurred by one. At this time, the memory unit 2 with the fault counter increments the counter corresponding to each of the MM-0 to MM-N of the memory body 22 by one.
(3) Step S203
When the counter update is completed, the memory unit 2 with the fault counter notifies the processor 1 that a correctable fault has occurred. At this time, the failure notification unit 21 of the memory unit 2 with the failure counter notifies the TLB 11 with the failure counter together with the address where the correctable failure has occurred and the value of the failure counter. Subsequently, the processing moves to the processor 1 side. The processing on the processor 1 is shown in FIG.

図5のフローチャートを参照して、プロセッサ上の処理について説明する。
(1)ステップS301
プロセッサ1は、障害カウンタ付きメモリユニット2より障害発生通知を受信し、障害アドレスと障害回数を受理する。このとき、障害カウンタ付きTLB11は、障害通知部21より障害発生通知と共に、障害アドレスと障害回数を受理する。なお、このプロセッサ上の処理において、障害カウンタ付きTLB11が行う処理は、実際には、オペレーティングシステム(OS)13が障害カウンタ付きTLB11に対して行うようにしても良い。
(2)ステップS302
次に、プロセッサ1は、TLB上でこの障害アドレスを含むエントリを検索し、そのエントリが保持している障害回数を更新する。このとき、障害カウンタ付きTLB11は、TLBエントリ中から、この障害アドレスを含むエントリを検索し、発見されたエントリが保持している障害回数を更新する。
(3)ステップS303
プロセッサ1は、障害回数が更新されると、当該障害回数と当該障害閾値を比較する。このとき、障害回数監視部12の比較部121は、障害カウンタ付きTLB11において障害回数が更新されると、当該障害回数と当該障害閾値を比較する。この障害閾値とは、図3のフローで設定されたものであり、障害回数と同じようにTLB上で保持されているものである。プロセッサ1は、障害回数と障害閾値を比較した結果、障害回数が障害閾値以下だった場合には、以降は何もせずに処理を終了する。反対に、プロセッサ1は、障害回数が障害閾値を超えていた場合には、処理を継続する。
(4)ステップS304
プロセッサ1は、障害回数が障害閾値を超えたことをオペレーティングシステム(OS)13に通知する。このとき、プロセッサ1の比較部121は、割り込み通知部122を介して、障害回数が障害閾値を超えたことをオペレーティングシステム(OS)13に通知する。割り込み通知部122は、該TLBエントリにはその物理ページを利用しているプロセス識別子が登録されているため、割り込み信号を発信する際、そのプロセス識別子も同時にオペレーティングシステム(OS)13に通知する。プロセッサ1からオペレーティングシステム(OS)13への通知が発行されるケースでは、処理がオペレーティングシステム(OS)13側に移る。オペレーティングシステム(OS)13上での処理を図6に示す。
Processing on the processor will be described with reference to the flowchart of FIG.
(1) Step S301
The processor 1 receives the failure occurrence notification from the memory unit 2 with the failure counter and accepts the failure address and the number of failures. At this time, the TLB 11 with a failure counter receives the failure address and the number of failures together with the failure occurrence notification from the failure notification unit 21. In this processing on the processor, the processing performed by the TLB 11 with a fault counter may actually be performed by the operating system (OS) 13 on the TLB 11 with a fault counter.
(2) Step S302
Next, the processor 1 searches for an entry including the failure address on the TLB, and updates the number of failures held by the entry. At this time, the TLB 11 with a failure counter searches for an entry including the failure address from the TLB entries, and updates the number of failures held by the found entry.
(3) Step S303
When the failure count is updated, the processor 1 compares the failure count with the failure threshold. At this time, when the failure count is updated in the TLB 11 with the failure counter, the comparison unit 121 of the failure count monitoring unit 12 compares the failure count with the failure threshold. The failure threshold is set in the flow of FIG. 3 and is held on the TLB in the same manner as the number of failures. As a result of comparing the number of failures with the failure threshold, if the number of failures is less than or equal to the failure threshold, the processor 1 ends the process without doing anything thereafter. On the contrary, the processor 1 continues the process when the number of failures exceeds the failure threshold.
(4) Step S304
The processor 1 notifies the operating system (OS) 13 that the number of failures has exceeded the failure threshold. At this time, the comparison unit 121 of the processor 1 notifies the operating system (OS) 13 that the number of failures exceeds the failure threshold via the interrupt notification unit 122. Since the process identifier using the physical page is registered in the TLB entry, the interrupt notification unit 122 notifies the operating system (OS) 13 of the process identifier at the same time when an interrupt signal is transmitted. In a case where a notification from the processor 1 to the operating system (OS) 13 is issued, the processing moves to the operating system (OS) 13 side. The processing on the operating system (OS) 13 is shown in FIG.

図6のフローチャートを参照して、オペレーティングシステム(OS)上の処理について説明する。
(1)ステップS401
オペレーティングシステム(OS)13は、プロセッサ1からの通知と同時にプロセス識別子を受信する。ここでは、オペレーティングシステム(OS)13は、割り込み通知部122からプロセス識別子と割り込み信号を受信する。
(2)ステップS402
オペレーティングシステム(OS)13は、受信されたプロセス識別子に対応するプロセスを強制終了させて処理を完了する。
Processing on the operating system (OS) will be described with reference to the flowchart of FIG.
(1) Step S401
The operating system (OS) 13 receives the process identifier simultaneously with the notification from the processor 1. Here, the operating system (OS) 13 receives a process identifier and an interrupt signal from the interrupt notification unit 122.
(2) Step S402
The operating system (OS) 13 forcibly terminates the process corresponding to the received process identifier and completes the processing.

以上が、本実施形態の動作である。   The above is the operation of the present embodiment.

本実施形態では、訂正可能なメモリ障害のカウンタ/閾値をTLBのエントリに持たせることにより、プロセスの重要度に応じた障害処理機能を実現できる。   In this embodiment, by providing a TLB entry with a correctable memory failure counter / threshold, a failure processing function according to the importance of the process can be realized.

以下に、本発明の第2実施形態について説明する。
本実施形態では、実メモリ空間側にも障害回数を保持し、ページイン/ページアウトの際に、プロセスに応じたメモリ割り当てを実施する。すなわち、ページインで実メモリを割り当てる際に、実メモリ上の障害回数と割り当てられるプロセスの閾値を比較する。閾値∞のような重要プロセスでは、過去に障害が起きているメモリを使用しないようにする。
The second embodiment of the present invention will be described below.
In the present embodiment, the number of failures is also held on the real memory space side, and memory allocation according to the process is performed at the time of page-in / page-out. That is, when real memory is allocated by page-in, the number of failures in the real memory is compared with the threshold value of the allocated process. In an important process such as the threshold ∞, memory that has failed in the past is not used.

なお、本実施形態におけるメモリ障害処理システムは、プロセッサ1と、障害カウンタ付きメモリユニット2を含む。プロセッサ1及び障害カウンタ付きメモリユニット2については、基本的に、第1実施形態と同様である。   Note that the memory failure processing system in this embodiment includes a processor 1 and a memory unit 2 with a failure counter. The processor 1 and the memory unit with fault counter 2 are basically the same as those in the first embodiment.

具体的に、本実施形態の動作について説明する。
図7のフローチャートを参照して、ページインで実メモリを割り当てる処理について説明する。
(1)ステップS501
プロセッサ1は、ページインが開始された場合、まず、障害カウンタ付きメモリユニット2上のページイン対象になる物理メモリ空間を検索する。このとき、オペレーティングシステム(OS)13は、ページインが開始された場合、メモリ本体22から、ページイン対象になる物理メモリ空間を検索する。
(2)ステップS502
プロセッサ1は、検出された物理メモリ空間の障害が規定値以下であった場合には、ページインが実施可能であると判断する。このとき、オペレーティングシステム(OS)13は、検出された物理メモリ空間の障害が規定値以下であった場合、検出された物理メモリ空間に対して、ページインが実施可能であると判断する。ここでは、規定値は、予め設定された値であり、例えば、閾値∞のような重要プロセスでは、”0”と設定される。この場合、プロセッサ1は、今までに一度も障害が発生していないメモリ空間を利用するようにする。
(3)ステップS503
プロセッサ1は、障害回数が規定値以下でなかった場合には、最大検索回数を調査し、最大検索回数以下の場合には、ページイン対象になる物理メモリ空間を検索する処理に戻り、再び、規定値が小さい物理メモリ空間の検出に努める。このとき、オペレーティングシステム(OS)13は、障害回数が規定値以下でなかった場合には、最大検索回数を調査し、最大検索回数以下の場合には、再度、規定値が小さい物理メモリ空間を検索する。但し、仮に、一回も障害が発生したことのないページが存在しない場合等は、期待されたページが存在しないことになるので、ここでは、最大検索回数を設けており、プロセッサ1は、最大検索回数を超えた場合には、処理を継続し、やむを得ず障害が発生したことのある物理メモリ空間でもページインを実施することとする。このとき、オペレーティングシステム(OS)13は、最大検索回数を超えた場合、障害が発生したことのある物理メモリ空間でもページインが実施可能であると判断する。
(4)ステップS504
プロセッサ1は、ページイン対象になる物理メモリ空間を決定する。このとき、オペレーティングシステム(OS)13は、ページインが実施可能であると判断した物理メモリ空間を、ページイン対象になる物理メモリ空間として決定する。
Specifically, the operation of this embodiment will be described.
With reference to the flowchart of FIG. 7, a process of allocating real memory by page-in will be described.
(1) Step S501
When page-in is started, the processor 1 first searches for a physical memory space to be paged-in on the memory unit 2 with a fault counter. At this time, when page-in is started, the operating system (OS) 13 searches the memory main body 22 for a physical memory space to be paged-in.
(2) Step S502
When the detected failure in the physical memory space is equal to or less than the specified value, the processor 1 determines that page-in can be performed. At this time, the operating system (OS) 13 determines that the page-in can be performed on the detected physical memory space when the detected failure of the physical memory space is equal to or less than the specified value. Here, the specified value is a preset value, and is set to “0” in an important process such as a threshold ∞, for example. In this case, the processor 1 uses a memory space that has never failed.
(3) Step S503
If the number of failures is not less than or equal to the specified value, the processor 1 checks the maximum number of searches. If the number of failures is less than or equal to the maximum number of searches, the processor 1 returns to the process of searching for a physical memory space to be paged in. Try to detect physical memory space with a small specified value. At this time, the operating system (OS) 13 investigates the maximum number of searches if the number of failures is not less than the specified value. If the number of failures is not more than the maximum number of searches, the operating system (OS) 13 again sets a physical memory space having a smaller specified value. Search for. However, if there is no page in which a failure has never occurred, the expected page does not exist. Therefore, the maximum number of searches is provided here, and the processor 1 If the number of searches is exceeded, the processing is continued, and page-in is performed even in a physical memory space where a failure has inevitably occurred. At this time, when the maximum number of searches is exceeded, the operating system (OS) 13 determines that page-in can be performed even in a physical memory space where a failure has occurred.
(4) Step S504
The processor 1 determines a physical memory space to be paged in. At this time, the operating system (OS) 13 determines a physical memory space that is determined to be page-in as a physical memory space to be paged-in.

以上の動作を繰り返すことにより、重要なプロセスには、常に安全な物理メモリ空間を割り当てられるようになる。   By repeating the above operations, a safe physical memory space can always be assigned to an important process.

以上のように、本発明は、TLBに登録されるエントリに「障害回数」、及び、「障害閾値」を追加することで実現する。障害回数は、対応する物理アドレス空間で発生した訂正可能障害の回数を保持する。障害閾値は、対応するプロセスが許容する最大訂正可能障害数を保持する。また、TLBに接続される障害回数監視機構は、これら2つを比較し障害回数が障害閾値を超えている場合には、当該プロセスを停止させる信号を発行する機能を有する。   As described above, the present invention is realized by adding the “failure count” and the “failure threshold” to the entry registered in the TLB. The number of failures holds the number of correctable failures that occurred in the corresponding physical address space. The failure threshold holds the maximum number of correctable failures allowed by the corresponding process. The failure frequency monitoring mechanism connected to the TLB has a function of comparing these two and issuing a signal for stopping the process when the failure frequency exceeds the failure threshold.

なお、実メモリ空間側にも障害回数を保持しているため、ページイン/ページアウトの際に、プロセスに応じたメモリ割り当てを実施することも可能である。すなわち、ページインで実メモリを割り当てる際に、実メモリ上の障害回数と割り当てられるプロセスの閾値を比較し、閾値∞のような重要プロセスでは、過去に障害が起きているメモリを使用しないようにすることができる。   Since the number of failures is also held on the real memory space side, it is possible to perform memory allocation according to the process at the time of page-in / page-out. That is, when allocating real memory during page-in, compare the number of failures in the real memory with the threshold of the allocated process, and do not use memory that has failed in the past in critical processes such as the threshold ∞. can do.

本発明は、小規模から大規模までのあらゆるコンピュータに適用可能であるが、柔軟な障害処理方式を備えるため、ミッションクリティカルな領域で動作する計算機において特に有効である。   The present invention can be applied to any computer from a small scale to a large scale, but is particularly effective in a computer that operates in a mission critical area because it has a flexible failure processing method.

図1は、本発明のメモリ障害処理システムの構成例を示す図である。FIG. 1 is a diagram showing a configuration example of a memory failure processing system according to the present invention. 図2は、プロセッサの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a processor. 図3は、プロセスを起動するときの処理を示すフローチャートである。FIG. 3 is a flowchart showing a process when starting a process. 図4は、メモリユニット上の処理を示すフローチャートである。FIG. 4 is a flowchart showing processing on the memory unit. 図5は、プロセッサ上の処理を示すフローチャートである。FIG. 5 is a flowchart showing processing on the processor. 図6は、オペレーティングシステム(OS)上の処理を示すフローチャートである。FIG. 6 is a flowchart showing processing on the operating system (OS). 図7は、ページインで実メモリを割り当てる処理を示すフローチャートである。FIG. 7 is a flowchart showing a process of allocating real memory by page-in.

符号の説明Explanation of symbols

1… プロセッサ
11… 障害カウンタ付きTLB
12… 障害回数監視部
121… 比較部
122… 割り込み通知部
13… オペレーティングシステム(OS)
2… 障害カウンタ付きメモリユニット
21… 障害通知部
22… メモリ本体
1 ... Processor 11 ... TLB with fault counter
DESCRIPTION OF SYMBOLS 12 ... Failure frequency monitoring part 121 ... Comparison part 122 ... Interrupt notification part 13 ... Operating system (OS)
2 ... Memory unit with fault counter 21 ... Fault notification unit 22 ... Memory body

Claims (21)

物理アドレス空間を利用するプロセスを起動し、TLB(Translation Look−aside Buffer)のエントリに、前記物理アドレス空間で発生した訂正可能障害の回数を示す障害回数、及び前記プロセスが許容する最大訂正可能障害数を示す障害閾値を登録し、前記訂正可能障害は、ECC(Error Correcting Code)で訂正が完了した障害を示し、前記障害回数を更新した際、前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを停止するプロセッサと、
前記物理アドレス空間を有し、前記訂正可能障害が発生する毎に、前記障害回数をカウントし、前記障害回数を前記プロセッサに通知する障害カウンタ付きメモリユニットと
を具備する
メモリ障害処理システム。
A process that uses the physical address space is started, and the number of failures indicating the number of correctable failures that occurred in the physical address space is entered in a TLB (Translation Look-aside Buffer) entry, and the maximum correctable failure allowed by the process A failure threshold indicating a number is registered, and the correctable failure indicates a failure that has been corrected by ECC (Error Correcting Code), and when the failure count is updated, the failure count is compared with the failure threshold; A processor that stops the process if the failure count exceeds the failure threshold;
A memory fault processing system comprising the physical address space, and comprising a memory unit with a fault counter that counts the fault count and notifies the processor of the fault count each time the correctable fault occurs.
請求項1に記載のメモリ障害処理システムであって、
前記プロセッサは、
前記TLBを有し、前記TLBのエントリに、前記プロセスを識別するプロセス識別子、前記障害回数、及び前記障害閾値を格納する障害カウンタ付きTLBと、
前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを起動したオペレーティングシステム(OS)に対し、割り込み信号を発信すると共に、前記プロセス識別子を送信する障害回数監視手段と
を具備する
メモリ障害処理システム。
The memory fault handling system according to claim 1,
The processor is
A TLB with a failure counter that has the TLB and stores a process identifier for identifying the process, the number of failures, and the failure threshold in the TLB entry;
The failure frequency is compared with the failure threshold value. When the failure frequency exceeds the failure threshold value, an interrupt signal is transmitted to the operating system (OS) that started the process and the process identifier is transmitted. And a memory failure processing system comprising: a failure frequency monitoring means.
請求項2に記載のメモリ障害処理システムであって、
前記障害回数監視手段は、
前記TLB上で前記障害回数が更新されると、前記プロセス識別子、前記障害回数、及び前記障害閾値を参照し、前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセス識別子の通知を行う比較手段と、
前記プロセス識別子の通知に応じて、前記オペレーティングシステム(OS)に対し、前記プロセス識別子と前記割り込み信号とを発信する割り込み通知手段と
を具備する
メモリ障害処理システム。
The memory fault handling system according to claim 2,
The failure frequency monitoring means includes
When the number of failures is updated on the TLB, the process identifier, the number of failures, and the failure threshold are referred to, the failure times are compared with the failure threshold, and the number of failures exceeds the failure threshold. A comparison means for notifying the process identifier;
A memory failure processing system comprising: interrupt notification means for transmitting the process identifier and the interrupt signal to the operating system (OS) in response to the notification of the process identifier.
請求項1乃至3のいずれか一項に記載のメモリ障害処理システムであって、
前記障害カウンタ付きメモリユニットは、
前記物理アドレス空間を最小物理ページ単位毎に分割されており、分割単位毎に、前記障害回数をカウントし保持するカウンタを有するメモリ本体と、
前記メモリ本体において前記訂正可能障害が発生する毎に、障害アドレス及び前記障害回数を前記プロセッサに通知する障害通知手段と
を具備する
メモリ障害処理システム。
The memory fault processing system according to any one of claims 1 to 3,
The memory unit with the fault counter is
The physical address space is divided into minimum physical page units, and a memory main body having a counter for counting and holding the number of failures for each division unit;
A memory fault processing system comprising fault notification means for notifying the processor of a fault address and the fault count each time the correctable fault occurs in the memory body.
請求項4に記載のメモリ障害処理システムであって、
前記障害カウンタ付きメモリユニットは、前記訂正可能障害が発生した場合、前記ECCに基づいて、前記訂正可能障害の訂正を実施し、前記訂正可能障害が発生したアドレスを含む最小物理ページに対応した前記障害回数をカウントし、
前記プロセッサは、前記障害カウンタ付きメモリユニットから前記障害アドレス及び前記障害回数を取得し、前記TLB上で前記障害アドレスに対応するエントリを検索し、発見されたエントリに格納された前記障害回数を更新し、前記障害回数が更新されると、前記エントリに格納された前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを停止する
メモリ障害処理システム。
The memory fault handling system according to claim 4,
When the correctable failure occurs, the memory unit with the failure counter performs correction of the correctable failure based on the ECC, and the memory unit with the failure counter corresponds to the minimum physical page including the address where the correctable failure has occurred. Count the number of failures,
The processor acquires the failure address and the failure count from the memory unit with the failure counter, searches an entry corresponding to the failure address on the TLB, and updates the failure count stored in the found entry. When the failure count is updated, the failure count stored in the entry is compared with the failure threshold, and the process is stopped when the failure count exceeds the failure threshold. system.
請求項1乃至5のいずれか一項に記載のメモリ障害処理システムであって、
前記プロセッサは、ページインが開始された場合、前記障害カウンタ付きメモリユニット上のページイン対象になる物理メモリ空間を検索し、前記検出された物理メモリ空間の障害が規定値以下である場合、前記検出された物理メモリ空間に対して、ページインが実施可能であると判断する
メモリ障害処理システム。
A memory fault processing system according to any one of claims 1 to 5,
When the page-in is started, the processor searches for a physical memory space to be paged in on the memory unit with the fault counter, and when the detected physical memory space fault is equal to or less than a predetermined value, A memory failure processing system that determines that page-in is possible for the detected physical memory space.
請求項6に記載のメモリ障害処理システムであって、
前記プロセッサは、前記検出された物理メモリ空間の障害が規定値以下でない場合、最大検索回数を調査し、前記最大検索回数以下の場合には、規定値が小さい物理メモリ空間を検索し、最大検索回数を超えた場合、障害が発生したことのある物理メモリ空間でもページインが実施可能であると判断する
メモリ障害処理システム。
The memory fault handling system according to claim 6,
The processor investigates the maximum number of searches when the detected failure of the physical memory space is not less than a specified value, and searches for a physical memory space with a smaller specified value if the failure is less than the specified number of searches, A memory failure processing system that, when the number of times is exceeded, determines that page-in is possible even in a physical memory space where a failure has occurred.
障害カウンタ付きメモリユニットの物理アドレス空間を利用するプロセスを起動するステップと、
プロセッサが保持するTLB(Translation Look−aside Buffer)のエントリに、前記物理アドレス空間で発生した訂正可能障害の回数を示す障害回数、及び前記プロセスが許容する最大訂正可能障害数を示す障害閾値を登録するステップと、前記訂正可能障害は、ECC(Error Correcting Code)で訂正が完了した障害を示し、
前記障害カウンタ付きメモリユニット上で、前記訂正可能障害が発生する毎に、前記障害回数をカウントし、前記障害回数を前記TLBに提供するステップと、
前記TLB上で前記障害回数を更新した際、前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを停止するステップと
を含む
メモリ障害処理方法。
Starting a process that uses the physical address space of the memory unit with the fault counter;
Registered in the TLB (Translation Look-aside Buffer) entry held by the processor is a failure count indicating the number of correctable failures that occurred in the physical address space, and a failure threshold value indicating the maximum number of correctable failures allowed by the process. And the correctable fault indicates a fault that has been corrected by ECC (Error Correcting Code),
Each time the correctable fault occurs on the memory unit with the fault counter, the fault count is counted, and the fault count is provided to the TLB;
A memory fault processing method comprising: comparing the fault count with the fault threshold when the fault count is updated on the TLB, and stopping the process if the fault count exceeds the fault threshold .
請求項8に記載のメモリ障害処理方法であって、
前記TLBのエントリに、前記プロセスを識別するプロセス識別子、前記障害回数、及び前記障害閾値を格納するステップと、
前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを起動したオペレーティングシステム(OS)に対し、割り込み信号を発信すると共に、前記プロセス識別子を送信するステップと
を更に含む
メモリ障害処理方法。
The memory failure processing method according to claim 8,
Storing a process identifier for identifying the process, the number of failures, and the failure threshold in the TLB entry;
The failure frequency is compared with the failure threshold value. When the failure frequency exceeds the failure threshold value, an interrupt signal is transmitted to the operating system (OS) that started the process and the process identifier is transmitted. And a memory fault handling method.
請求項9に記載のメモリ障害処理方法であって、
前記TLB上で前記障害回数が更新されると、前記プロセス識別子、前記障害回数、及び前記障害閾値を参照し、前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセス識別子の通知を行うステップと、
前記プロセス識別子の通知に応じて、前記オペレーティングシステム(OS)に対し、前記プロセス識別子と前記割り込み信号とを発信するステップと
を更に含む
メモリ障害処理方法。
The memory failure processing method according to claim 9,
When the number of failures is updated on the TLB, the process identifier, the number of failures, and the failure threshold are referred to, the failure times are compared with the failure threshold, and the number of failures exceeds the failure threshold. If not, the step of notifying the process identifier,
A memory failure processing method further comprising: sending the process identifier and the interrupt signal to the operating system (OS) in response to the notification of the process identifier.
請求項8乃至10のいずれか一項に記載のメモリ障害処理方法であって、
前記物理アドレス空間を最小物理ページ単位毎に分割し、分割単位毎に、前記障害回数をカウントし保持するステップと、
前記訂正可能障害が発生する毎に、障害アドレス及び前記障害回数を通知するステップと
を更に含む
メモリ障害処理方法。
A memory failure processing method according to any one of claims 8 to 10,
Dividing the physical address space into minimum physical page units, and counting and holding the number of failures for each division unit;
And a step of notifying the failure address and the number of failures each time the correctable failure occurs.
請求項11に記載のメモリ障害処理方法であって、
前記訂正可能障害が発生した場合、前記障害カウンタ付きメモリユニット上で、前記ECCに基づいて、前記訂正可能障害の訂正を実施し、前記訂正可能障害が発生したアドレスを含む最小物理ページに対応した前記障害回数をカウントするステップと、
前記障害カウンタ付きメモリユニットから前記障害アドレス及び前記障害回数を取得し、前記TLB上で前記障害アドレスに対応するエントリを検索し、発見されたエントリに格納された前記障害回数を更新するステップと、
前記障害回数が更新されると、前記エントリに格納された前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを停止するステップと
を更に含む
メモリ障害処理方法。
The memory failure processing method according to claim 11,
When the correctable failure occurs, the correctable failure is corrected based on the ECC on the memory unit with the failure counter, and the minimum physical page including the address where the correctable failure has occurred is supported. Counting the number of failures;
Obtaining the failure address and the failure count from the memory unit with the failure counter, searching an entry corresponding to the failure address on the TLB, and updating the failure count stored in the found entry;
When the failure count is updated, the failure count stored in the entry is compared with the failure threshold, and if the failure count exceeds the failure threshold, the process is further stopped. Memory failure handling method.
請求項8乃至12のいずれか一項に記載のメモリ障害処理方法であって、
ページインが開始された場合、前記障害カウンタ付きメモリユニット上のページイン対象になる物理メモリ空間を検索するステップと、
前記検出された物理メモリ空間の障害が規定値以下である場合、前記検出された物理メモリ空間に対して、ページインが実施可能であると判断するステップと
を更に含む
メモリ障害処理方法。
A memory failure processing method according to any one of claims 8 to 12,
When page-in is started, searching for a physical memory space to be paged-in on the memory unit with a fault counter; and
And a step of determining that page-in can be performed on the detected physical memory space when the detected failure of the physical memory space is equal to or less than a predetermined value.
請求項13に記載のメモリ障害処理方法であって、
前記検出された物理メモリ空間の障害が規定値以下でない場合、最大検索回数を調査するステップと、
前記最大検索回数以下の場合には、規定値が小さい物理メモリ空間を検索するステップと、
最大検索回数を超えた場合、障害が発生したことのある物理メモリ空間でもページインが実施可能であると判断するステップと
を更に含む
メモリ障害処理方法。
The memory failure processing method according to claim 13,
If the detected physical memory space failure is not less than or equal to a prescribed value, investigating the maximum number of searches;
If the maximum number of searches is less than or equal to, searching for a physical memory space with a small specified value;
And a step of determining that page-in can be performed even in a physical memory space where a failure has occurred when the maximum number of searches is exceeded.
障害カウンタ付きメモリユニットの物理アドレス空間を利用するプロセスを起動するステップと、
プロセッサが保持するTLB(Translation Look−aside Buffer)のエントリに、前記物理アドレス空間で発生した訂正可能障害の回数を示す障害回数、及び前記プロセスが許容する最大訂正可能障害数を示す障害閾値を登録するステップと、前記訂正可能障害は、ECC(Error Correcting Code)で訂正が完了した障害を示し、
前記障害カウンタ付きメモリユニット上で、前記訂正可能障害が発生する毎に、前記障害回数をカウントし、前記障害回数を前記TLBに提供するステップと、
前記TLB上で前記障害回数を更新した際、前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを停止するステップと
をプロセッサに実行させるための
メモリ障害処理プログラム。
Starting a process that uses the physical address space of the memory unit with the fault counter;
Registered in the TLB (Translation Look-aside Buffer) entry held by the processor is a failure count indicating the number of correctable failures that occurred in the physical address space, and a failure threshold value indicating the maximum number of correctable failures allowed by the process. And the correctable fault indicates a fault that has been corrected by ECC (Error Correcting Code),
Each time the correctable fault occurs on the memory unit with the fault counter, the fault count is counted, and the fault count is provided to the TLB;
When the failure count is updated on the TLB, the failure count is compared with the failure threshold, and if the failure count exceeds the failure threshold, the processor is caused to stop the process. Memory fault handling program.
請求項15に記載のメモリ障害処理プログラムであって、
前記TLBのエントリに、前記プロセスを識別するプロセス識別子、前記障害回数、及び前記障害閾値を格納するステップと、
前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを起動したオペレーティングシステム(OS)に対し、割り込み信号を発信すると共に、前記プロセス識別子を送信するステップと
を更にプロセッサに実行させるための
メモリ障害処理プログラム。
The memory failure processing program according to claim 15,
Storing a process identifier for identifying the process, the number of failures, and the failure threshold in the TLB entry;
The failure frequency is compared with the failure threshold value. When the failure frequency exceeds the failure threshold value, an interrupt signal is transmitted to the operating system (OS) that started the process and the process identifier is transmitted. And a memory failure processing program for causing the processor to further execute the step of performing.
請求項16に記載のメモリ障害処理プログラムであって、
前記TLB上で前記障害回数が更新されると、前記プロセス識別子、前記障害回数、及び前記障害閾値を参照し、前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセス識別子の通知を行うステップと、
前記プロセス識別子の通知に応じて、前記オペレーティングシステム(OS)に対し、前記プロセス識別子と前記割り込み信号とを発信するステップと
を更にプロセッサに実行させるための
メモリ障害処理プログラム。
The memory failure processing program according to claim 16,
When the number of failures is updated on the TLB, the process identifier, the number of failures, and the failure threshold are referred to, the failure times are compared with the failure threshold, and the number of failures exceeds the failure threshold. If not, the step of notifying the process identifier,
A memory failure processing program for causing a processor to further execute a step of transmitting the process identifier and the interrupt signal to the operating system (OS) in response to the notification of the process identifier.
請求項15乃至17のいずれか一項に記載のメモリ障害処理プログラムであって、
前記物理アドレス空間を最小物理ページ単位毎に分割し、分割単位毎に、前記障害回数をカウントし保持するステップと、
前記訂正可能障害が発生する毎に、障害アドレス及び前記障害回数を通知するステップと
を更にプロセッサに実行させるための
メモリ障害処理プログラム。
A memory failure processing program according to any one of claims 15 to 17,
Dividing the physical address space into minimum physical page units, and counting and holding the number of failures for each division unit;
A memory failure processing program for causing a processor to further execute a step of notifying a failure address and the number of failures each time the correctable failure occurs.
請求項18に記載のメモリ障害処理プログラムであって、
前記訂正可能障害が発生した場合、前記障害カウンタ付きメモリユニット上で、前記ECCに基づいて、前記訂正可能障害の訂正を実施し、前記訂正可能障害が発生したアドレスをプロセッサに実行させるための最小物理ページに対応した前記障害回数をカウントするステップと、
前記障害カウンタ付きメモリユニットから前記障害アドレス及び前記障害回数を取得し、前記TLB上で前記障害アドレスに対応するエントリを検索し、発見されたエントリに格納された前記障害回数を更新するステップと、
前記障害回数が更新されると、前記エントリに格納された前記障害回数と前記障害閾値とを比較し、前記障害回数が前記障害閾値を超えている場合、前記プロセスを停止するステップと
を更にプロセッサに実行させるための
メモリ障害処理プログラム。
The memory failure processing program according to claim 18,
When the correctable failure occurs, the minimum for performing correction of the correctable failure on the memory unit with the failure counter based on the ECC and causing the processor to execute the address where the correctable failure has occurred Counting the number of failures corresponding to a physical page;
Obtaining the failure address and the failure count from the memory unit with the failure counter, searching an entry corresponding to the failure address on the TLB, and updating the failure count stored in the found entry;
When the failure count is updated, the failure count stored in the entry is compared with the failure threshold, and the process is stopped when the failure count exceeds the failure threshold. Memory failure processing program for execution.
請求項15乃至19のいずれか一項に記載のメモリ障害処理プログラムであって、
ページインが開始された場合、前記障害カウンタ付きメモリユニット上のページイン対象になる物理メモリ空間を検索するステップと、
前記検出された物理メモリ空間の障害が規定値以下である場合、前記検出された物理メモリ空間に対して、ページインが実施可能であると判断するステップと
を更にプロセッサに実行させるための
メモリ障害処理プログラム。
A memory failure processing program according to any one of claims 15 to 19,
When page-in is started, searching for a physical memory space to be paged-in on the memory unit with a fault counter; and
A memory failure for causing the processor to further execute a step of determining that page-in can be performed on the detected physical memory space when the detected failure of the physical memory space is equal to or less than a predetermined value; Processing program.
請求項20に記載のメモリ障害処理プログラムであって、
前記検出された物理メモリ空間の障害が規定値以下でない場合、最大検索回数を調査するステップと、
前記最大検索回数以下の場合には、規定値が小さい物理メモリ空間を検索するステップと、
最大検索回数を超えた場合、障害が発生したことのある物理メモリ空間でもページインが実施可能であると判断するステップと
を更にプロセッサに実行させるための
メモリ障害処理プログラム。
The memory failure processing program according to claim 20,
If the detected physical memory space failure is not less than or equal to a prescribed value, investigating the maximum number of searches;
If the maximum number of searches is less than or equal to, searching for a physical memory space with a small specified value;
A memory failure processing program for causing a processor to further execute a step of determining that page-in can be performed even in a physical memory space where a failure has occurred when the maximum number of searches is exceeded.
JP2008043924A 2008-02-26 2008-02-26 Memory fault processing system, memory fault processing method, and memory fault processing program Expired - Fee Related JP5272443B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008043924A JP5272443B2 (en) 2008-02-26 2008-02-26 Memory fault processing system, memory fault processing method, and memory fault processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008043924A JP5272443B2 (en) 2008-02-26 2008-02-26 Memory fault processing system, memory fault processing method, and memory fault processing program

Publications (2)

Publication Number Publication Date
JP2009205212A true JP2009205212A (en) 2009-09-10
JP5272443B2 JP5272443B2 (en) 2013-08-28

Family

ID=41147443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008043924A Expired - Fee Related JP5272443B2 (en) 2008-02-26 2008-02-26 Memory fault processing system, memory fault processing method, and memory fault processing program

Country Status (1)

Country Link
JP (1) JP5272443B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63124156A (en) * 1986-11-14 1988-05-27 Hitachi Ltd Memory error detecting method
JPH02126340A (en) * 1988-11-05 1990-05-15 Fuji Xerox Co Ltd Data processing system
JPH06175934A (en) * 1992-12-01 1994-06-24 Oki Electric Ind Co Ltd One bit error processing system
JPH1097473A (en) * 1996-09-24 1998-04-14 Hitachi Ltd Memory error repairing and diagnosing device
JPH113290A (en) * 1997-06-11 1999-01-06 Hitachi Ltd Memory control system
JPH11175409A (en) * 1997-12-05 1999-07-02 Nec Corp Memory control system
JP2003006055A (en) * 2001-06-20 2003-01-10 Mitsubishi Electric Corp Semiconductor storage device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63124156A (en) * 1986-11-14 1988-05-27 Hitachi Ltd Memory error detecting method
JPH02126340A (en) * 1988-11-05 1990-05-15 Fuji Xerox Co Ltd Data processing system
JPH06175934A (en) * 1992-12-01 1994-06-24 Oki Electric Ind Co Ltd One bit error processing system
JPH1097473A (en) * 1996-09-24 1998-04-14 Hitachi Ltd Memory error repairing and diagnosing device
JPH113290A (en) * 1997-06-11 1999-01-06 Hitachi Ltd Memory control system
JPH11175409A (en) * 1997-12-05 1999-07-02 Nec Corp Memory control system
JP2003006055A (en) * 2001-06-20 2003-01-10 Mitsubishi Electric Corp Semiconductor storage device

Also Published As

Publication number Publication date
JP5272443B2 (en) 2013-08-28

Similar Documents

Publication Publication Date Title
US8060698B2 (en) Method and apparatus for controlling degradation data in cache
US8583960B2 (en) Processor device and program
CN106803429B (en) Electronic device with fault monitoring for memory and associated method
US20060253740A1 (en) System and method for hardware error reporting and recovery
JP4834721B2 (en) Memory control device and memory control method
JP2002278848A (en) Method, apparatus, and program for cache threshold processing for predictively reporting fault of array bit line or driver
JP2014167708A (en) Failure recovery device, failure recovery method, and failure recovery program
JP5618204B2 (en) Fault processing apparatus, information processing apparatus using the same, and fault processing method for information processing apparatus
JP5451087B2 (en) Fault processing apparatus and method
US10489244B2 (en) Systems and methods for detecting and correcting memory corruptions in software
WO2017162049A1 (en) Method and device for monitoring memory data of drive module
US20120096335A1 (en) Data processing method and semiconductor integrated circuit
US8261137B2 (en) Apparatus, a method and a program thereof
WO2024041093A1 (en) Memory fault processing method and related device thereof
JP5272443B2 (en) Memory fault processing system, memory fault processing method, and memory fault processing program
JP2016181055A (en) Information processing apparatus
JP5510562B2 (en) Memory management method, memory management device, and memory management circuit
US20190034252A1 (en) Processor error event handler
US7584388B2 (en) Error notification method and information processing apparatus
CN102479119A (en) Method for dynamically switching memory mode for protecting damaged memory cell data
EP3882774A1 (en) Data processing device and data processing method
JP5645262B2 (en) Information processing device
JP5018140B2 (en) Multiprocessor system, task scheduling method, and task scheduling program
US10061630B2 (en) Image forming apparatus that ensures operation while HDD is inoperative, and recording medium therefor
US20080301498A1 (en) Control device and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130429

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5272443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees