JP7447755B2 - メモリエラー検出・訂正システム、メモリエラー検出・訂正方法 - Google Patents

メモリエラー検出・訂正システム、メモリエラー検出・訂正方法 Download PDF

Info

Publication number
JP7447755B2
JP7447755B2 JP2020165011A JP2020165011A JP7447755B2 JP 7447755 B2 JP7447755 B2 JP 7447755B2 JP 2020165011 A JP2020165011 A JP 2020165011A JP 2020165011 A JP2020165011 A JP 2020165011A JP 7447755 B2 JP7447755 B2 JP 7447755B2
Authority
JP
Japan
Prior art keywords
memory
cpu
core
backup
data
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
Application number
JP2020165011A
Other languages
English (en)
Other versions
JP2022056987A (ja
Inventor
右悟 斎賀
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.)
Meidensha Corp
Original Assignee
Meidensha 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 Meidensha Corp filed Critical Meidensha Corp
Priority to JP2020165011A priority Critical patent/JP7447755B2/ja
Publication of JP2022056987A publication Critical patent/JP2022056987A/ja
Application granted granted Critical
Publication of JP7447755B2 publication Critical patent/JP7447755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、例えば制御機器などの電子機器に搭載されたメモリに発生する異常を検出・訂正する技術に関する。
近年、メモリ容量の増加や製造プロセスの微細化を背景として、制御機器の通常運用中のソフトエラー、即ちメモリ上のデータの異常なビット反転が問題となっている。ソフトエラーは一時的に生ずる頻度が低い確率的な事象であるため再現試験を行って不具合原因を調査する方法は適用できない。
またソフトエラーは、中性子線などの影響により発生するため、メモリを使用する場合に完全に防ぐことは不可能である。その対策としてECCメモリ(Error Checking and Correction memory)や、ソフトエラーを起こしにくいタイプのフラッシュメモリなどを利用してソフトエラーを防ぐ手法が採られている。
ただし、価格の問題などでECC付きのメモリの使用が難しく、ソフトエラーの発生しやすい安価なメモリを使用せざるを得ない場合がある。この場合には、特許文献1のように、データを多面持ちして多数決でソフトエラーを検出・訂正する手法が知られている。
特開2013-109532
マルチコアまたはマルチCPUのシステムのうち各コアまたは各CPUで固定的に割り当てられた処理が動作する、非対称な並列処理システムにおいてECC付きメモリを用いたり、メモリの多面持ちによる多数決の手法を用いたりすることは可能である。
しかしながら、使用できるメモリに制約がある場合、例えばMPU(Micro-Processing Unit)に内蔵された非ECCメモリ(以降CPU内蔵メモリ)のみを各コアまたは各CPUに固定的に割り当てられた処理に使用する制約などがあり、かつメモリ容量に余裕がない場合には、いずれの方法も使用することができない。
本発明は、このような従来の問題を解決するためになされ、非対称な並列処理システムにおいて効率的にソフトエラーを検出・訂正する技術を提供することを解決課題とする。
(1)本発明の一態様は、マルチコアまたはマルチCPUのシステムのうち各コアまたは各CPUで固定的に割り当てられた処理が動作する、非対称な並列処理システムにおいて、
各コアまたは各CPUから前記処理実行のためにアクセスするメモリと、
各コアまたは各CPUからアクセス可能なECCメモリであるバックアップメモリと、
を備え、
前記マルチコアまたはマルチCPUのシステムの起動時に前記メモリの指定領域を前記バックアップメモリにコピーし、
前記マルチコアまたはマルチCPUのシステムのアイドル時に前記メモリの前記指定領域と前記バックアップメモリのバックアップ領域とを比較し、
前記比較の結果、データのビット反転が見つかった場合に、前記バックアップメモリの前記バックアップ領域のデータで前記メモリのデータを訂正することを特徴としている。
(2)本発明の他の態様は、マルチコアまたはマルチCPUのシステムのうち各コアまたは各CPUで固定的に割り当てられた処理が動作し、
各コアまたは各CPUから前記処理実行のためにアクセスするメモリと、
各コアまたは各CPUからアクセス可能なECCメモリであるバックアップメモリと、
を備えた非対称な並列処理システムの実行する方法であって、
前記マルチコアまたはマルチCPUのシステムの起動時に前記メモリの指定領域を前記バックアップメモリにコピーするステップと、
前記マルチコアまたはマルチCPUのシステムのアイドル時に前記メモリの前記指定領域と前記バックアップメモリのバックアップ領域とを比較するステップと、
前記比較の結果、データのビット反転が見つかった場合に、前記バックアップメモリの前記バックアップ領域のデータで前記メモリのデータを訂正するステップと、
を有することを特徴としている。
本発明によれば、マルチコアまたはマルチCPUのシステムのうち各コアまたは各CPUで固定的に割り当てられた処理が動作する、非対称な並列処理システムにおいて、効率的にソフトエラーを検出・訂正する技術を提供することができる。
本発明の実施形態に係るメモリエラー検出・訂正システムの概略構成図。 同 処理例1および処理例2の起動時ハンドラの処理フローを示すチャート図。 同 処理例1の処理フローを示すチャート図。 同 処理例2の処理のフローを示すチャート図。
以下、本発明の実施形態に係るメモリエラー検出・訂正システムを説明する。このメモリエラー検出・訂正システムは、マルチコアまたはマルチCPUのシステムのうち各コアまたは各CPUで固定的に割り当てられた処理が動作する、非対称な並列処理を行う組込みシステムを対象とする。
具体的には、各CPUに割り当てたOSで別々のシステム(例えばPLC「Programmable Logic Controller」とテレコン「遠隔無線装置」等)を起動し、各システムのソフトエラーを検出・訂正するような場合である。
図1~図4に基づきメモリエラー検出・訂正システムの実施例を説明する。ここではマルチCPUへの適用例を示し、図中の1,2はマルチCPUの各CPUを示している。
(1)構成例
図1中の10は、前記メモリエラー検出・訂正システムを示している。ここでは前記メモリエラー検出・訂正システム10は、CPU1,2を実装したコンピュータによって構成されている。このCPU1,2毎に個別のOS5,6が搭載され、それぞれの処理が並列に実行されている。
このとき各OS5,6は、デュアルポートRAMの共有メモリ3を介したCPU1,2間の通信により相互にデータ交換自在となっている。また、前記コンピュータのメモリのうち、ソフトエラーの発生確率の高いメモリのデータのバックアップが作成されるデュアルポートRAMのバックアップメモリ4を備えている。このバックアップメモリ4は、前記コンピュータに搭載され、データ転送時の誤り訂正符号の付加と検証に対応したECCメモリを用いる。
CPU1内蔵メモリ1aのコピー4aはCPU1内蔵メモリのうちメモリエラーを検出する対象領域のデータをコピーしたもので、同様にCPU2内蔵メモリ2aのコピー4bはCPU1内蔵メモリのうちメモリエラーを検出する対象領域のデータをコピーしたものである。
(2)処理内容
図2~図4に基づき前記メモリエラー検出・訂正システムの処理例を説明する。ここで処理例1はそれぞれのCPU1,2からメモリエラー検出・訂正を行う処理例を示し、処理例2はCPU1,2のいずれか片方からメモリエラー検出・訂正を行う処理例を示している。
また、図2~図4中のS01,S03,S05,S07,S09,S10,S11,S12は、CPU1側のOS5の実行するハンドラまたはタスクの処理ステップを示している。一方、S02,S04,S06,S08は、CPU2側のOS6の実行するハンドラまたはタスクの処理ステップを示している。
≪処理例1≫
図2および図3に基づき処理例1を説明する。
S01,S02:前記コンピュータの電源ONによりOS5が先に起動し、図2に示すように、OS6の起動処理を実行する(S01)。これによりOS6が起動し(S02)、S03,S04以降のメモリエラー検出・訂正の処理が実行される。
S03,S04:各OS5,6は、起動時ハンドラを実行し、メモリエラーを検出する対象領域として、前記内蔵メモリ1a,2aのデータを記憶装置4のバックアップ領域4a,4bにコピーし、それぞれのバックアップを作成する。
S05~S08:各OS5,6は、アイドルタスク(最も優先度の低いタスク)を起動し、図3に示す自身の前記内蔵メモリ1a,2aのメモリエラー検出・訂正を行う。
すなわち、アイドルタスク内の処理として、前記CPU内蔵メモリ1aのデータと、前記バックアップ領域4aのバックアップとを比較する(S05)。また、同様に前記内蔵メモリ2aのデータと、前記バックアップ領域4bのバックアップとを比較する(S06)。
そして、S05,S06の比較の結果、前記CPU内蔵メモリ1a,2aのデータにピット化けの異常が確認されれば、該データの値を訂正する(S07,S08)。その後、S05,S06に戻って処理を繰り返す。このときS05,S06の比較の結果、異常が確認されない場合、S07,S08の訂正をすることなく、S05,S06に戻って処理を繰り返す。
このように前記メモリエラー検出・訂正システムによれば、S07,S08で前記CPU内蔵メモリ1a,2aのデータ値が訂正される。したがって、ECCメモリの容量を必要最低限とすることができ、各コアまたはCPUに最適な構成(例えば高速なMPU内蔵メモリを使用する構成)を使用することを妨げない。
≪処理例2≫
図4に基づき処理例2を説明する。処理例2は、前述のメモリエラー検出・訂正を片方のCPU上で実行する点で処理例1と異なる。ここでは一例として、メモリエラー検出・訂正をCPU1上のOS5側で起動したアイドルタスクで実行する処理例を説明する。起動時処理およびアイドルタスクの起動は処理例1と同様であるため説明を省略し、アイドルタスク内のメモリエラー検出・訂正の処理についてのみ説明する。
S11,S12:まず、自CPU1の内蔵メモリ1aについて、S05,S07と同様のメモリエラー検出・訂正を実行する。
S13,S14: S11,S12のメモリエラー検出・訂正後に他CPU2の内蔵メモリ2aのメモリエラー検出・訂正が行われる。このとき各OS5,6は、共有メモリ3を介したCPU1,2間の通信を行い、OS5から起動したアイドルタスクがCPU2内蔵メモリ2aのデータを取得することを可能とする。
その後、前記CPU2内蔵メモリ2aのデータと前記バックアップ領域4bのバックアップとを比較する(S13)。S13の比較の結果、前記CPU2内蔵メモリ2aのデータにピット化けの異常が確認されれば、CPU1,2間の通信を行い、CPU2に通知する(S14)。これにより通知を受け取った側では、自身の前記内蔵メモリ2aの異常を知ることができ、該データの値を修復することが可能となる。
その後、S11に戻って処理動作を繰り返す。このときS13の比較の結果、異常が確認されない場合、S10の通知をすることなく、S11に戻って処理動作を繰り返す。
(3)その他
本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えば起動時に作成されるバックアップは、前記内蔵メモリ1a,2aのデータに限定されず、他のメモリでも同様にバックアップを作成して検出・訂正することが可能である。
また、マルチコアの場合には、共有メモリ3はシングルポートのメモリとし、バックアップ対象のメモリはコア内蔵メモリでなくてもよい点が異なるが、マルチCPUの場合と同様に検出・訂正が可能である。
さらに前記起動時ハンドラおよび前記アイドルタスクはOS5,6から起動されるものとして実装するだけでなく、OSレスの実行環境において、それぞれ割込みベクタテーブルから直接起動されるハンドラと、非割込み時にCPUを占有して処理を行うメインタスク内のルーチンとして実装することも可能である。その場合、メインタスクの処理時間に応じて、メモリエラー検出・訂正の処理を繰り返す回数を制限する必要がある。
1,2…CPU
1a,2a…CPU内蔵メモリ
3…共有メモリ
4…バックアップメモリ(ECCメモリ)
4a,4b…バックアップ領域
5,6…OS
10…メモリエラー検出・訂正システム

Claims (4)

  1. マルチコアまたはマルチCPUのシステムのうち各コアまたは各CPUで固定的に割り当てられた処理が動作する、非対称な並列処理システムにおいて、
    各コアまたは各CPUから前記処理実行のためにアクセスするメモリと、
    各コアまたは各CPUからアクセス可能なECCメモリであるバックアップメモリと、
    を備え、
    前記マルチコアまたはマルチCPUのシステムの起動時に前記メモリの指定領域を前記バックアップメモリにコピーし、
    前記マルチコアまたはマルチCPUのシステムのアイドル時に前記メモリの前記指定領域と前記バックアップメモリのバックアップ領域とを比較し、
    前記比較の結果、データのビット反転が見つかった場合に、前記バックアップメモリの前記バックアップ領域のデータで前記メモリのデータを訂正する
    ことを特徴とするメモリエラー検出・訂正システム。
  2. 前記アイドル時に一方のコアまたはCPUが、
    コア間またはCPU間通信によって他方のコアまたはCPUの前記メモリについて前記指定領域のデータを取得し、
    前記取得した前記指定領域のデータと前記バックアップメモリの前記バックアップ領域とを比較し、
    前記比較の結果、データのビット反転が見つかった場合に、他方のコアまたはCPUに通知する
    ことを特徴とする請求項1記載のメモリエラー検出・訂正システム。
  3. マルチコアまたはマルチCPUのシステムのうち各コアまたは各CPUで固定的に割り当てられた処理が動作し、
    各コアまたは各CPUから前記処理実行のためにアクセスするメモリと、
    各コアまたは各CPUからアクセス可能なECCメモリであるバックアップメモリと、
    を備えた非対称な並列処理システムの実行する方法であって、
    前記マルチコアまたはマルチCPUのシステムの起動時に前記メモリの指定領域を前記バックアップメモリにコピーするステップと、
    前記マルチコアまたはマルチCPUのシステムのアイドル時に前記メモリの前記指定領域と前記バックアップメモリのバックアップ領域とを比較するステップと、
    前記比較の結果、データのビット反転が見つかった場合に、前記バックアップメモリの前記バックアップ領域のデータで前記メモリのデータを訂正するステップと、
    を有することを特徴とするメモリエラー検出・訂正方法。
  4. 前記アイドル時に一方のコアまたはCPUが、
    コア間またはCPU間通信によって他方のコアまたはCPUの前記メモリについて前記指定領域のデータを取得するステップと、
    前記取得した前記指定領域のデータと前記バックアップメモリの前記バックアップ領域とを比較するステップと、
    前記比較の結果、データのビット反転が見つかった場合に、他方のコアまたはCPUに通知するステップと、
    をさらに有することを特徴とする請求項3記載のメモリエラー検出・訂正方法。
JP2020165011A 2020-09-30 2020-09-30 メモリエラー検出・訂正システム、メモリエラー検出・訂正方法 Active JP7447755B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020165011A JP7447755B2 (ja) 2020-09-30 2020-09-30 メモリエラー検出・訂正システム、メモリエラー検出・訂正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020165011A JP7447755B2 (ja) 2020-09-30 2020-09-30 メモリエラー検出・訂正システム、メモリエラー検出・訂正方法

Publications (2)

Publication Number Publication Date
JP2022056987A JP2022056987A (ja) 2022-04-11
JP7447755B2 true JP7447755B2 (ja) 2024-03-12

Family

ID=81110714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020165011A Active JP7447755B2 (ja) 2020-09-30 2020-09-30 メモリエラー検出・訂正システム、メモリエラー検出・訂正方法

Country Status (1)

Country Link
JP (1) JP7447755B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006059382A (ja) 2002-12-27 2006-03-02 Omron Corp プログラマブルコントローラ用ユニット及びメモリ自動復旧方法
JP2007018414A (ja) 2005-07-11 2007-01-25 Hitachi Ltd メモリビットエラーの訂正機能を有する制御装置
WO2010109631A1 (ja) 2009-03-26 2010-09-30 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2012198805A (ja) 2011-03-22 2012-10-18 Denso Corp 制御装置
JP2014232420A (ja) 2013-05-29 2014-12-11 スパンション エルエルシー マイクロコントローラ及び誤り検出方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006059382A (ja) 2002-12-27 2006-03-02 Omron Corp プログラマブルコントローラ用ユニット及びメモリ自動復旧方法
JP2007018414A (ja) 2005-07-11 2007-01-25 Hitachi Ltd メモリビットエラーの訂正機能を有する制御装置
WO2010109631A1 (ja) 2009-03-26 2010-09-30 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2012198805A (ja) 2011-03-22 2012-10-18 Denso Corp 制御装置
JP2014232420A (ja) 2013-05-29 2014-12-11 スパンション エルエルシー マイクロコントローラ及び誤り検出方法

Also Published As

Publication number Publication date
JP2022056987A (ja) 2022-04-11

Similar Documents

Publication Publication Date Title
US11119838B2 (en) Techniques for handling errors in persistent memory
US8689041B2 (en) Method for protecting data in damaged memory cells by dynamically switching memory mode
US10705902B2 (en) Crash log storage and retrieval using boot partitions in solid state systems
US9921914B2 (en) Redundant array of independent disks (RAID) write hole solutions
US8782469B2 (en) Request processing system provided with multi-core processor
US20140089760A1 (en) Storage of codeword portions
CN104798059B (zh) 在检查点外部处理写入数据的多个计算机系统
JP4349532B2 (ja) メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
WO2023109880A1 (zh) 一种业务恢复方法、数据处理单元及相关设备
CN111221675B (zh) 用于ram错误检测逻辑的自诊断的方法和装置
JP7447755B2 (ja) メモリエラー検出・訂正システム、メモリエラー検出・訂正方法
JP5486139B2 (ja) ソフトエラーのクリティカリティの分類およびクリティカリティに基づくソフトエラーの緩和
EP4280064A1 (en) Systems and methods for expandable memory error handling
US20120017116A1 (en) Memory control device, memory device, and memory control method
JP6802764B2 (ja) 演算装置
El-Bayoumi An enhanced algorithm for memory systematic faults detection in multicore architectures suitable for mixed-critical automotive applications
EP3968162B1 (en) Mitigating single-event upsets using containerization
EP4303731A2 (en) Electronic device managing corrected error and operating method of electronic device
US7584271B2 (en) Method, system, and computer readable medium for delaying the configuration of a shared resource
US7895493B2 (en) Bus failure management method and system
US20060107004A1 (en) Recovery from failure in data storage systems
US20190250854A1 (en) System on chip and method for accessing memory within system on chip
JP2018013988A (ja) 制御装置、制御方法および制御プログラム、ならびに、組込み機器
CN116483600A (zh) 内存故障处理方法及计算机设备
JP2006244285A (ja) 共有ディスクアレイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240116

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: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240212

R150 Certificate of patent or registration of utility model

Ref document number: 7447755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150