JP6679122B1 - メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 - Google Patents
メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 Download PDFInfo
- Publication number
- JP6679122B1 JP6679122B1 JP2019051453A JP2019051453A JP6679122B1 JP 6679122 B1 JP6679122 B1 JP 6679122B1 JP 2019051453 A JP2019051453 A JP 2019051453A JP 2019051453 A JP2019051453 A JP 2019051453A JP 6679122 B1 JP6679122 B1 JP 6679122B1
- Authority
- JP
- Japan
- Prior art keywords
- memory
- error
- occurrence
- software
- notification
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract 67
- 230000010485 coping Effects 0.000 title claims abstract 9
- 230000010365 information processing Effects 0.000 title claims 2
- 230000006870 function Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 abstract 1
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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
-
- 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/0793—Remedial or corrective actions
-
- 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
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
HWは、あるDRAMでCEの発生回数が閾値に到達した場合、故障と判断して予備のDRAMへデータを移す機能(以下、HW機能と記載する場合がある。)を備えている。一方、SWは、ページオフラインという機能を装備している。SWは、メモリ上でのCE発生の通知を受けると、ページ単位で回数をカウントして、あるページで発生したCEの発生回数が閾値に到達した場合、そのページを無効化するようカーネルへ指示する。カーネルは、そのページに有効なデータがあるがその時点で未使用であれば、別の物理ページへデータを移して、元のページを使用しないように制御する。これをページオフライン機能(以下、SW機能と記載する場合がある。)と呼ぶ。
(構成)
図1は、本発明の一実施形態に係るコンピュータシステムの一例を示す図である。
図1に示すように、コンピュータシステム400は、HW(ハードウェア)300と、FW(ファームウェア)200と、OS(オペレーティングシステム)100と、SW(ソフトウェア)000と、を備えている。
SW000は、メモリエラー監視ソフトウェア010を含んでいる。メモリエラー監視ソフトウェア010は、SW機能の実行を指示する。
図2(a)にDIMM330の構成例を示す。DIMM330は、ランク1、ランク2を含む。ランクは、メモリモジュールのブロックを示し、メモリコントローラ320は、ランク単位でメモリモジュールを管理する。ランク1は、複数のDRAM3311a〜3311cと、少なくとも1つの予備DRAM3312を備えている。ランク2は、複数のDRAM3321a〜3321cと、少なくとも1つの予備DRAM3322を備えている。なお、DRAM3311a〜3311cの区別が必要ないときには、DRAM3311と記載する。DRAM3321a〜3321cの区別が必要ないときには、DRAM3321と記載する。また、ランクの区別も必要なくDIMM330に含まれるDRAMを指すときには、DRAM3301、予備DRAMを指すときには予備DRAM3302と記載する。なお、ランクの数やDRAMの数は、図示するものに限定されない。
CE回数カウント機能321は、DRAM3301ごとにメモリCEの発生回数をカウントする。
ECC訂正機能322は、DRAM3301でメモリCEが発生するとECC訂正を行う。
DRAMコピー機能323は、例えば、DRAM3301から予備DARM3302に切り替えるときに、切り替え対象のDRAM3301から予備DARM3302へデータのコピーを行う。例えば、DRAM3311aに閾値回数以上のメモリCEが発生した場合、DRAM3311aから、同じランク1の予備DRAM3312へデータのコピーが実行される。
BIOS通知機能324は、予備DARM3302への切り替え前にメモリCEの発生回数が所定の閾値を上回った場合、メモリCEの発生をFW200へ通知する。
SW通知機能325は、予備DARM3302へ切り替えた後に、さらにメモリCEが発生した場合、メモリCEの発生をSW000(メモリエラー監視ソフトウェア010)へ通知する。
図3(a)にメモリエラー監視ソフトウェア010の構成例を示す。メモリエラー監視ソフトウェア010は、CE発生箇所特定手段011と、メモリエラー管理テーブル参照手段012と、CE発生回数カウント手段013と、ページオフライン指示手段014とを有している。
CE発生箇所特定手段011は、メモリCEが発生したDRAM3301を特定する。
メモリエラー管理テーブル参照手段012は、後述するメモリエラー管理テーブル500を参照して、メモリCEが発生したDRAM3301について、予備DRAM3302へのデータコピーが実行済みか否かを示す情報を取得する。
CE発生回数カウント手段013は、メモリコントローラ320から通知されたメモリCEの回数をページ単位でカウントする。
ページオフライン指示手段014は、CE発生回数カウント手段013がカウントしたCEの発生回数が閾値を超えると、メモリCEの発生回数が閾値を超えたページを無効化するようにKernel110へ指示する。
ページデータコピー手段111は、ページ無効化の前に無効化対象のページから有効なページへデータをコピーする。
ページ無効化手段112は、メモリエラー監視ソフトウェア010(ページオフライン指示手段014)から指定されたページを無効化する。
CE発生箇所特定手段211は、メモリCEが発生したDRAM3301を特定する。
メモリエラー管理テーブル更新手段212は、後述するメモリエラー管理テーブル500のデータコピーを行ったDRAM3301の位置に対応するデータへ、HW機能が実行済みであることを示す情報を登録する。
DRAMコピー指示手段213は、メモリCEの発生回数が閾値を超えたDRAM3301について、そのDRAM3301のデータを予備DRAM3302へコピーするようメモリコントローラ320へ指示する。これは、HW機能の実行指示である。
BIOS通知有効無効手段214は、DRAM3301でメモリCEが発生した場合、BIOS210にメモリCEの発生を通知するか否かを設定する。
SW通知有効無効手段215は、DRAM3301でメモリCEが発生した場合、メモリエラー監視ソフトウェア010にメモリCEの発生を通知するか否かを設定する。
図4に示すようにメモリエラー管理テーブル500は、CPUテーブル501を含む。CPUテーブル501は、メモリコントローラテーブル502を含む。メモリコントローラテーブル502は、チャネルテーブル503を含む。チャネルテーブル503は、ランクテーブル504を含む。
コンピュータシステム400がこのような構成の場合、図示するように、メモリエラー管理テーブル500は、CPU1〜CPU4に対応するCPUテーブル501−1〜501−4を含む。また、例えば、CPU1に対応するCPUテーブル501は、メモリコントローラテーブル502−1〜502−2を含む。また、例えば、メモリコントローラテーブル502−1は、チャネルテーブル503−1〜503−3を含む。また、例えば、チャネルテーブル503−1は、ランクテーブル504−1〜504−7を含む。
そして、ランクテーブル504−1〜504−7の各々には、HW機能が実行済みであることを示す値(例えば、0xFF)、又は、HW機能が未実行であることを示す値(例えば、0x00)が格納される。初期状態では、ランクテーブル504−1〜504−7の各々には、「0x00」の値が格納されている。そして、BIOS210は、メモリコントローラ320にHW機能の実行を指示すると、当該DRAM3301を含むランクに対応するランクテーブル504(例えば、ランクテーブル504−1)に「0xFF」を書き込む。メモリエラー監視ソフトウェア010は、「0xFF」が格納されていることを確認してから、ページ無効化の指示を行う。これにより、まず、HW機能を動作し、その後、SW機能を動作させるという処理の順序が確保される。
次にメモリCE発生時の動作について説明する。
図5は、本発明の一実施形態に係る制御の一例を示す第1のフローチャートである。
図5にCE発生時の通知先の初期設定を行う処理を示す。
BIOS210は、BIOS通知有効無効手段214を使ってメモリコントローラ320に対してメモリCEの発生をBIOS210へ通知するよう設定しておく(ステップS1)。また、BIOS210は、SW通知有効無効手段215を使ってメモリコントローラ320に対してメモリCEの発生をSW000へ通知しないように設定しておく(ステップS2)。メモリコントローラ320は、この設定を受け取って、BIOS通知機能324とSW通知機能325の有効、無効設定を行う。これらの初期設定により、ECCで訂正されたメモリCEが閾値を越えて発生した場合、その通知は、BIOS通知機能324により、BIOS210へ通知される。次に初期設定がされた状態でメモリCEが発生したときの動作を、図6を参照して説明する。
メモリCEが発生したメモリコントローラ320は、ECC訂正機能322を使ってメモリCEを訂正する(ステップS11)。次にメモリコントローラ320は、CE回数カウント機能321を使ってメモリCEの発生回数をカウントする(ステップS12)。メモリコントローラ320は、メモリCEの発生回数が閾値に到達したか否かを確認する(ステップS13)。閾値に到達していない場合、図6に示す処理を終了する。閾値に到達した場合、メモリコントローラ320は、BIOS通知機能324を使って、メモリCEの発生をBIOS210へ通知する(ステップS14)。
メモリCEの発生がBIOS210へ通知されると、始めにHW機能を使ってエラーが発生したDRAMのデータを予備DRAMへ移す。次に図7を参照してこの処理を説明する。
メモリCE発生の通知を受信したBIOS210は、DRAMコピー指示手段213を使ってメモリコントローラ320に対して、メモリCEが発生したDRAM3301のデータを予備DRAM3302へコピーするよう指示する(ステップS21)。メモリコントローラ320は、この指示を受けて、DRAMコピー機能323を使って、指定されたDRAM3301から同じランクの予備DRAM3302へのデータのコピーを行って、HW機能を動作させる。次にBIOS210は、CE発生箇所特定手段211を使ってメモリCEが発生したDRAM3301を特定する(ステップS22)。次にBIOS210は、メモリエラー管理テーブル更新手段212を使ってメモリCEが発生したDRAM3301の位置をメモリエラー管理テーブル500に登録する(ステップS23)。例えば、メモリCEが発生したDRAMの位置が、「CPU1−メモリコントローラ1−チャネル1−ランク1」であった場合、図4に例示で示されるメモリエラー管理テーブル500の「CPU1−メモリコントローラ1−チャネル1−ランク1」に該当する箇所にHW機能動作済み(ステップ1動作済み)を示す値(例えば、「0xFF」)を登録する。次に、BIOS210は、BIOS通知有効無効手段214を使ってメモリコントローラ320に対して、HW機能動作済みのランクで発生したメモリCEをBIOS210へ通知しないよう設定する(ステップS24)。最後に、BIOS210は、SW通知有効無効手段215を使って、メモリコントローラ320に対して、HW機能動作済みのランクに属する何れかのDRAM3301におけるメモリCEの発生をSW000(メモリエラー監視ソフトウェア010)へ通知するよう設定する(ステップS25)。これにより、HW機能を動作させたランクで、その後、他のDRAM3301等でメモリCEが発生すると、そのメモリCEの発生はメモリエラー監視ソフトウェア010へ通知される。これは、HW機能が既に動作済みの場合、予備DRAM3302が無いため、SW機能で対処する必要があるためである。メモリCEの発生回数は、メモリエラー監視ソフトウェア010でカウントされ、閾値を上回るようになると、SW機能を使って、エラーが発生したページのデータを別のページに移す。その場合の処理の流れを図8に示す。
メモリコントローラ320は、メモリCEの発生を検出すると、ECC訂正機能322を使ってメモリCE訂正する(ステップS31)。次にメモリコントローラ320は、HW機能動作済みであることに基づいて(CE回数をカウントせずに)、SW通知機能325を使ってメモリCEの発生をメモリエラー監視ソフトウェア010へ通知する(ステップS32)。メモリCEの発生が通知されたメモリエラー監視ソフトウェア010の動作を、図9を参照して説明する。
メモリエラー監視ソフトウェア010は、CE発生箇所特定手段011を使ってCEが発生したDRAM3301を特定する(ステップS41)。次にメモリエラー監視ソフトウェア010は、メモリエラー管理テーブル参照手段012を使って、ステップS41で特定したメモリCEが発生したDRAM3301の位置をキーにして、メモリエラー管理テーブル500を検索して、HW機能が既に動作済みか否かを調べる(ステップ42及びステップS43)。HW機能がまだ動作していない場合は、図9の処理を終了する。HW機能が既に動作済みの場合、メモリエラー監視ソフトウェア010は、CE発生回数カウント手段013を使ってCE発生回数をページ単位でカウントする(ステップS44)。CE発生回数カウント手段013は、ステップS41で特定されたDRAM3301に対応する(マッピングされた)ページについてCE発生回数をカウントする。メモリエラー監視ソフトウェア010は、CE発生回数が閾値に到達したか否かを確認する(ステップS45)。閾値に到達していない場合、図9の処理を終了する。閾値に到達した場合、メモリエラー監視ソフトウェア010は、ページオフライン指示手段014を使って、無効化するページを指定して、Kernel110に対して、ページオフラインを指示する(ステップS46)。
図10を参照して、ページオフラインを指示されたKernel110の動作を説明する。Kernel110は、ページデータコピー手段111を使って、メモリエラー監視ソフトウェア010から指定されたページ上のデータを別のページへコピーする(ステップS51)。次にKernel110は、ページ無効化手段112を使って、メモリエラー監視ソフトウェア010から指定されたメモリCEが発生したページを使わないよう無効化する(ステップS52)。これにより、SW機能が実行済みとなる。
例えば、図7のステップS22において、BIOS210は、メモリCEが発生したDRAMの位置が、「CPU1−メモリコントローラ1−チャネル1−ランク1」であると特定すると、ステップS23において、BIOS210は、図4に例示するメモリエラー管理テーブル500の「CPU1−メモリコントローラ1−チャネル1−ランク1」に該当する箇所にHW機能(予備DRAMへのデータコピー)が動作済みであることを示す値を登録する。そして、図9の処理のステップS41において、メモリエラー監視ソフトウェア010は、メモリCEが発生したDRAMの位置が、「CPU1−メモリコントローラ1−チャネル1−ランク1」であると特定すると、メモリエラー管理テーブル500の「CPU1−メモリコントローラ1−チャネル1−ランク1」に該当する箇所を参照して、HW機能が動作済みであることを確認する。そして、メモリエラー監視ソフトウェア010は、ステップS44においてCE発生回数をカウントし、閾値に到達していた場合、ステップS46においてSW機能(ページオフライン)を動作させる。このように本実施形態では、メモリエラー管理テーブル500に基づいて、HW機能が実行済みであることが確認されてから、SW機能を動作させる。
さらにメモリCEが発生した場合には、その時点で、SW機能を動作させることで、メモリCEが複数個所で同時に発生しUCEとなり、コンピュータシステム400がシステムダウンすることを防止できる。
また、メモリエラー監視ソフトウェア010は、メモリエラー管理テーブル500でDRAM3301の位置を確認して、そのメモリ位置に対応するページを無効化するので、無効化対象のページを検索する必要が無く効率的である。
従って、メモリの大容量化に伴いエラーの発生頻度が増加する可能性のあるインメモリ・コンピューティング環境においても、滞りなく、メモリ障害への対処を行うことができる。
図11に示すようにメモリ障害対処システム10は、少なくともソフトウェア20と、ファームウェア30と、メモリコントローラ40とを含む。
メモリコントローラ40は、メモリエラー(CE)の発生を検出すると、メモリエラーの発生をファームウェア30またはソフトウェア20へ通知するエラー発生通知部41を有する。
ソフトウェア20は、メモリコントローラ320からメモリエラー発生の通知を受けると、メモリエラーが発生したメモリに対応するページを無効化するようカーネルに指示するページ無効化指示部21を有する。
ファームウェア30は、メモリコントローラ40がメモリエラーの発生を検出した時のメモリエラー発生の通知先(ソフトウェア20またはファームウェア30)をメモリコントローラ40へ設定する通知先設定部32と、メモリコントローラ40からメモリエラー発生の通知を受けると、メモリエラーが発生したメモリから予備メモリへの切り替えをメモリコントローラ40へ指示する予備メモリ切替指示部31と、を有する。
上記の実施形態の構成と対比すると、ソフトウェア20はメモリエラー監視ソフトウェア010に対応し、ファームウェア30はBIOS210に対応し、メモリコントローラ40はメモリコントローラ230に対応する。
また、エラー発生通知部41はBIOS通知機能324およびSW通知機能325に対応し、ページ無効化指示部21はページオフライン指示手段014に対応し、予備メモリ切替指示部31はDRAMコピー指示手段213に対応し、通知先設定部32はBIOS通知有効無効手段214およびSW通知有効無効手段215に対応する。
010・・・メモリエラー監視ソフトウェア
011・・・CE発生箇所特定手段
012・・・メモリエラー管理テーブル参照手段
013・・・CE発生回数カウント手段
014・・・ページオフライン指示手段
100・・・OS
110・・・Kernel
111・・・ページデータコピー手段
112・・・ページ無効化手段
200・・・FW
210・・・BIOS
211・・・CE発生箇所特定手段
212・・・メモリエラー管理テーブル更新手段
213・・・DRAMコピー指示手段
214・・・BIOS通知有効無効手段
215・・・SW通知有効無効手段
300・・・HW
310・・・CPU
320・・・メモリコントローラ
321・・・CE回数カウント機能
322・・・ECC訂正機能
323・・・DRAMコピー機能
324・・・BIOS通知機能
325・・・SW通知機能
330・・・DIMM
3311、3321・・・DRAM
400・・・コンピュータシステム
500・・・メモリエラー管理テーブル
501・・・CPUテーブル
502・・・メモリコントローラテーブル
503・・・チャネルテーブル
504・・・ランクテーブル
Claims (8)
- メモリコントローラと、
ファームウェアと、
ソフトウェアと、
を含み、
前記メモリコントローラは、
メモリエラーの発生を検出すると、前記メモリエラーの発生を通知先の設定に基づいて、前記ファームウェアまたは前記ソフトウェアへ通知するエラー発生通知部、を有し、
前記ファームウェアは、
前記通知先を前記メモリコントローラへ設定する通知先設定部と、
前記メモリコントローラから前記メモリエラーの発生の通知を受けると、前記メモリエラーが発生したメモリから予備メモリへの切り替えを指示する予備メモリ切替指示部と、を有し、
前記ソフトウェアは、
前記メモリコントローラから前記メモリエラーの発生の通知を受けると、前記メモリエラーが発生したメモリに対応するページを無効化する指示を行う無効化指示部、を有する、
メモリ障害対処システム。 - 前記通知先設定部は、前記予備メモリへの切り替え前においては、前記通知先を前記ファームウェアに設定し、前記予備メモリへの切り替え後には、前記通知先を前記ソフトウェアに設定する、
請求項1に記載のメモリ障害対処システム。 - 前記ファームウェアは、前記メモリコントローラが管理する全てのメモリについて、前記予備メモリへ切り替え済みか否かを示す情報を登録するメモリエラー管理テーブルを、前記ファームウェアから更新可能、且つ、前記ソフトウェアから参照可能に記憶する、
請求項1または請求項2に記載のメモリ障害対処システム。 - 前記ファームウェアは、前記予備メモリへの切り替えを指示すると、前記メモリエラー管理テーブルにおける切り替え対象の前記メモリについて、前記予備メモリへ切り替え済みであること示す情報を登録する、
請求項3に記載のメモリ障害対処システム。 - 前記ソフトウェアは、前記メモリエラー管理テーブルを参照して、前記メモリエラーが発生したメモリについて、前記切り替え済みであること示す情報が登録されている場合に限り、前記ページの無効化を指示する、
請求項3または請求項4に記載のメモリ障害対処システム。 - 前記ソフトウェアは、前記メモリエラー管理テーブルに登録された前記メモリの位置に基づいて、その位置に対応する前記ページの無効化を指示する、
請求項3から請求項5の何れか1項に記載のメモリ障害対処システム。 - 請求項1から請求項6の何れか1項に記載のメモリ障害対処システムを含む、
情報処理装置。 - ファームウェアが、メモリエラーが発生した場合の通知先をメモリコントローラへ設定するステップと、
前記メモリコントローラが、メモリエラーの発生を検出すると、前記通知先の設定に基づいて、前記メモリエラーの発生を前記ファームウェアまたはソフトウェアへ通知するステップと、
前記ファームウェアが、前記メモリコントローラから前記メモリエラーの発生の通知を受け取った場合、前記メモリエラーが発生したメモリから予備メモリへの切り替えを指示するステップと、
前記ソフトウェアが、前記メモリコントローラから前記メモリエラーの発生の通知を受け取った場合、前記メモリエラーが発生したメモリに対応するページを無効化する指示を行うステップと
を有する、メモリ障害対処方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019051453A JP6679122B1 (ja) | 2019-03-19 | 2019-03-19 | メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 |
US17/437,193 US11726888B2 (en) | 2019-03-19 | 2020-03-16 | Memory fault handling system, information processing device, and memory fault handling method |
PCT/JP2020/011396 WO2020189617A1 (ja) | 2019-03-19 | 2020-03-16 | メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019051453A JP6679122B1 (ja) | 2019-03-19 | 2019-03-19 | メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6679122B1 true JP6679122B1 (ja) | 2020-04-15 |
JP2020154591A JP2020154591A (ja) | 2020-09-24 |
Family
ID=70166575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019051453A Active JP6679122B1 (ja) | 2019-03-19 | 2019-03-19 | メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11726888B2 (ja) |
JP (1) | JP6679122B1 (ja) |
WO (1) | WO2020189617A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12019503B2 (en) | 2022-05-18 | 2024-06-25 | Samsung Electronics Co., Ltd. | Systems and methods for expandable memory error handling |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175409A (ja) | 1997-12-05 | 1999-07-02 | Nec Corp | メモリ制御方式 |
JP2003303139A (ja) | 2002-04-09 | 2003-10-24 | Nec Corp | 冗長メモリモジュールおよびメモリコントローラ |
JPWO2008099786A1 (ja) | 2007-02-13 | 2010-05-27 | 日本電気株式会社 | メモリ障害復旧方法、情報処理装置およびプログラム |
JP4877396B2 (ja) * | 2010-01-20 | 2012-02-15 | 日本電気株式会社 | メモリ障害処理システム、および、メモリ障害処理方法 |
TW201220186A (en) * | 2010-11-04 | 2012-05-16 | Inventec Corp | Data protection method for damaged memory cells |
EP3206127B1 (en) * | 2013-11-22 | 2019-03-06 | Huawei Technologies Co., Ltd. | Method, computer, and apparatus for migrating memory data |
US9299457B2 (en) | 2014-02-23 | 2016-03-29 | Qualcomm Incorporated | Kernel masking of DRAM defects |
US10824524B2 (en) * | 2018-11-02 | 2020-11-03 | Dell Products L.P. | Systems and methods for providing continuous memory redundancy, availability, and serviceability using dynamic address space mirroring |
-
2019
- 2019-03-19 JP JP2019051453A patent/JP6679122B1/ja active Active
-
2020
- 2020-03-16 WO PCT/JP2020/011396 patent/WO2020189617A1/ja active Application Filing
- 2020-03-16 US US17/437,193 patent/US11726888B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2020189617A1 (ja) | 2020-09-24 |
US11726888B2 (en) | 2023-08-15 |
JP2020154591A (ja) | 2020-09-24 |
US20220171686A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1310430C (en) | Hot standby memory copy system | |
JP6882662B2 (ja) | マイグレーションプログラム、情報処理装置およびマイグレーション方法 | |
US7734949B2 (en) | Information error recovery apparatus and methods | |
US7321986B2 (en) | Configuring cache memory from a storage controller | |
KR101615833B1 (ko) | 데이터 신뢰성을 검출하기 위한 방법 및 장치 | |
US20140310464A1 (en) | Parallel destaging with replicated cache pinning | |
US20140189199A1 (en) | False power failure alert impact mitigation | |
US11630731B2 (en) | System and device for data recovery for ephemeral storage | |
US8321628B2 (en) | Storage system, storage control device, and method | |
US20120226832A1 (en) | Data transfer device, ft server and data transfer method | |
JP2012208896A (ja) | ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム | |
JP2006302288A (ja) | コンピュータプロセッサ用の外部状態キャッシュ | |
JP2003345528A (ja) | 記憶システム | |
JP5556192B2 (ja) | ストレージシステム | |
CN110597779A (zh) | 一种分布式文件系统中的数据读写方法及相关装置 | |
JP6679122B1 (ja) | メモリ障害対処システム、情報処理装置及びメモリ障害対処方法 | |
JP6335336B2 (ja) | ストレージシステムおよびその制御方法 | |
JP4877396B2 (ja) | メモリ障害処理システム、および、メモリ障害処理方法 | |
JP2548475B2 (ja) | アレイディスク装置のデータ復元量制御方法 | |
JP2010191499A (ja) | ストレージシステム | |
US20120210067A1 (en) | Mirroring device and mirroring recovery method | |
JP7212510B2 (ja) | 電源管理装置、電源管理方法、及び電源管理プログラム | |
JP2014026589A (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
JP5691227B2 (ja) | ストレージ装置及びその制御方法 | |
JP5251690B2 (ja) | 遠隔コピーシステムおよび遠隔コピー方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190319 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200207 |
|
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: 20200218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200312 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6679122 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |