JP2016177717A - メモリ制御装置及びメモリ制御方法 - Google Patents

メモリ制御装置及びメモリ制御方法 Download PDF

Info

Publication number
JP2016177717A
JP2016177717A JP2015058915A JP2015058915A JP2016177717A JP 2016177717 A JP2016177717 A JP 2016177717A JP 2015058915 A JP2015058915 A JP 2015058915A JP 2015058915 A JP2015058915 A JP 2015058915A JP 2016177717 A JP2016177717 A JP 2016177717A
Authority
JP
Japan
Prior art keywords
memory
program group
data
memory area
area
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.)
Pending
Application number
JP2015058915A
Other languages
English (en)
Inventor
省吾 井手
Shogo Ide
省吾 井手
淳基 今井
Junki IMAI
淳基 今井
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2015058915A priority Critical patent/JP2016177717A/ja
Publication of JP2016177717A publication Critical patent/JP2016177717A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】メモリ干渉を検出する手段としてMPU等の専用のハードウェアを持たないマイコンで、ソフトウェアによるメモリ干渉を検出しようとする場合では、ソフトウェアの処理負荷、メモリ容量、検出速度が課題となる。
【解決手段】データを保持するデータ補償手段を備えたメモリ制御装置において、前記データ補償手段を有効にした第一のメモリ領域にアクセスする第一のプログラム群と前記データ補償手段を無効にして第二のメモリ領域にアクセスする第二のプログラム群を有し,前記第二のプログラム群が前記第一のメモリ領域に書き込みを行った場合に発生する例外処理にて前記第二のプログラム群による前記第一のメモリ領域に対する侵害を検出する。
【選択図】図1

Description

本発明は、ソフトウェアモジュール間におけるメモリアクセスの干渉検出に関するものである。
本発明の従来技術として、特許文献1(特開2013−171467号公報)に記載のものがある。この特許文献1では、メモリに書き込みNoとして乱数とCRCを持たせる事で、データを更新したアプリケーションを検出しデータの保証を行う。
特開2013−171467
複数のソフトウェアモジュールが存在するソフトウェアでは、機能安全等による要求により、ソフトウェアモジュール間で干渉がない事を求められることがある。ソフトウェアモジュール間でのメモリ干渉を検出する手段としてMPU(Memory Protection Unit)などのマイコンハードウェアによる方法や、ソフトウェアによるチェックサムやCRC演算、変数の冗長化などがある。ハードウェアによる検出では専用のハードウェアが必要となる事や、ソフトトウェアで検出する場合は処理負荷の増大、プログラムメモリ容量の増大、検出の応答遅れなどが課題となる。
ソフトウェアモジュール間でのメモリ干渉を検出する手段を、専用のハードウェアを持たないマイコンで実現しようとした場合、以下の課題がある。
上記特許文献1のデータ保証方法によると、CRCを使った検出を行っており、同値頻出が起こるため乱数を使った複雑な処理が必要となる。
ソフトウェアによるメモリ干渉の検出では、侵害された事を検出すべきソフトウェアモジュールが保護すべきメモリ領域を持つ場合、処理を開始する前に使用領域全体のチェックサムやCRCの整合を確認する事で保護すべきソフトウェアのメモリ領域に対する意図しない書き換えの有無を判断できるが、メモリアクセス回数の増大や算出したCRC等の正否判定により、ソフトウェアの処理負荷を増加させることになる。
同様に、変数の冗長化により保護すべきメモリ領域を持つソフトウェアモジュールが、他のソフトウェアモジュールによるメモリ領域への侵害を検出する際も、メモリアクセス回数の増大やソフトウェアの処理負荷増大、メモリ使用量の増加を招く。
以上の事から、メモリ干渉を検出する手段としてMPU等の専用のハードウェアを持たないマイコンで、ソフトウェアによるメモリ干渉を検出しようとする場合では、ソフトウェアの処理負荷、メモリ容量、検出速度が課題となる。
上記課題を解決するために本発明は、データを保持するデータ補償手段を備えたメモリ制御装置において、前記データ補償手段を有効にした第一のメモリ領域にアクセスする第一のプログラム群と前記データ補償手段を無効にして第二のメモリ領域にアクセスする第二のプログラム群を有し,前記第二のプログラム群が前記第一のメモリ領域に書き込みを行った場合に発生する例外処理にて前記第二のプログラム群による前記第一のメモリ領域に対する侵害を検出することを特徴とする。
また前記第一のプログラム群と前記第二のプログラム群および前記第一のメモリ領域と前記第二のメモリ領域に分けて利用することが望ましい。
また、実行するプログラムが前記第一のプログラム群から前記第二のプログラム群へ移行した場合またはその逆に移行した場合において,前記データ補償手段の有効と無効を切り替えることが望ましい。
また、前記データ補償手段は、メモリのデータのエラーを訂正するECC(Error Check and Correction)を行うことが望ましい。
なお、本発明のその他の解決手段は、実行するプログラムがデータ補償手段を有効とした第一のプログラム群が使用するメモリ領域に対し、ECCを無効とした第二のプログラム群のメモリ領域に対するアクセスを例外処理を発生させることで検知するメモリ制御方法である。
本発明の上記解決手段によれば、メモリアクセス時におけるソフトウェアモジュール間のメモリ干渉を、専用のハードウェアであるMPUを実装しないマイコンにおいても、ハードウェアによる検出が可能となり、ソフトウェアで検出する方法に比べソフトウェアの処理負荷を低減できる。また、ソフトウェアで行うチェックサムやCRCによる干渉検出では、効率よく検出を行う為に、保護する領域をまとまった領域で確保する必要があるが、メモリ読み出し毎にECC機能により整合確認を行う為、まとまった領域を確保する必要がない。また、チェックサムやCRCといったソフトウェアによる検知に対して、メモリを読み出したタイミングが侵害検知のタイミングとなるため、検出した際に影響範囲の特定が容易になり、侵害内容に合わせたフェールセーフ処理が容易にできる。
ソフトモジュールとメモリの関係 マイコン構成 侵害検出方法 侵害検出方法(例外処理) メモリ領域の状態(正常) メモリ領域の状態(異常)
以下、本発明の実施例について図面を用いて説明する。
本実施例のメモリ制御装置は、データを保持するデータ補償手段を備えたメモリ制御装置において、前記データ補償手段を有効にした第一のメモリ領域にアクセスする第一のプログラム群と前記データ補償手段を無効にして第二のメモリ領域にアクセスする第二のプログラム群を有し,前記第二のプログラム群が前記第一のメモリ領域に書き込みを行った場合に発生する例外処理にて前記第二のプログラム群による前記第一のメモリ領域に対する侵害を検出することを特徴とするものである。
また前記第一のプログラム群と前記第二のプログラム群および前記第一のメモリ領域と前記第二のメモリ領域に分けて利用することが望ましい。また、実行するプログラムが前記第一のプログラム群から前記第二のプログラム群へ移行した場合またはその逆に移行した場合において,前記データ補償手段の有効と無効を切り替えることが望ましい。
また、前記データ補償手段は、メモリのデータのエラーを訂正するECC(Error Check and Correction)を行うことが望ましい。
なお、本発明のその他の解決手段は、実行するプログラムがデータ補償手段を有効とした第一のプログラム群が使用するメモリ領域に対し、ECCを無効とした第二のプログラム群のメモリ領域に対するアクセスを例外処理を発生させることで検知するメモリ制御方法である。
これらの解決手段によれば、メモリアクセス時におけるソフトウェアモジュール間のメモリ干渉を、専用のハードウェアであるMPUを実装しないマイコンにおいても、ハードウェアによる検出が可能となり、ソフトウェアで検出する方法に比べソフトウェアの処理負荷を低減できる。また、ソフトウェアで行うチェックサムやCRCによる干渉検出では、効率よく検出を行う為に、保護する領域をまとまった領域で確保する必要があるが、メモリ読み出し毎にECC機能により整合確認を行う為、まとまった領域を確保する必要がない。また、チェックサムやCRCといったソフトウェアによる検知に対して、メモリを読み出したタイミングが侵害検知のタイミングとなるため、検出した際に影響範囲の特定が容易になり、侵害内容に合わせたフェールセーフ処理が容易にできる。
このように本実施例ではメモリの持つECC機能の持つ誤り訂正符号による異常検出機能を使い、ソフトウェアモジュール毎にECC機能の有効と無効とを切り替える事で、保護すべきメモリ領域に対するアクセス権を持たないソフトウェアモジュールからの意図しないアクセスを検出する。メモリ干渉の検出には、誤り訂正符号が書き込まれていないメモリに対するECC機能による例外処理の発生を使い、保護すべきメモリ領域を持ち侵害された事を検出すべきソフトウェアモジュールに対しそれ以外のソフトウェアによるメモリ干渉を検出する事で、ソフトウェアで侵害検出を行うチェックサムやCRCを用いた方法に対して低いソフトウェアの処理負荷で実現する。
これにより、メモリアクセス時におけるソフトウェアモジュール間のメモリ干渉を、専用のハードウェアであるMPUを実装しないマイコンにおいても、ハードウェアによる検出が可能となり、ソフトウェアで検出する方法に比べソフトウェアの処理負荷を低減できる。
また、ソフトウェアで行うチェックサムやCRCによる干渉検出では、効率よく検出を行う為に、保護する領域をまとまった領域で確保する必要があるが、メモリ読み出し毎にECC機能により整合確認を行う為、まとまった領域を確保する必要がない。
チェックサムやCRCといったソフトウェアによる検知に対して、メモリを読み出したタイミングが侵害検知のタイミングとなるため、検出した際に影響範囲の特定が容易になり、侵害内容に合わせたフェールセーフ処理が容易にできる。
図2は本実施例を適用するマイクロコンピュータの構成を示す図である。
マイコン20にはIOポート25を備えており,IOポート25から入力した情報を基に所定の演算を行い,結果をポート25から出力する機能を持つ。マイコン20内のCPU21では、ROM24に記憶したプログラムおよびデータに基づいて所定の演算を行う。また、演算に使用する情報を一時的に記憶するRAM 23を有しており、RAM23はデータを記憶する時に誤り訂正符号を記憶する領域を持つ。
CPU21とRAM23の間にはECC22が配置されており,CPU21がRAM23にデータを記憶するときもしくはRAM23から記憶しているデータを読み出す時にECC22を介してデータの授受を行う。ECC22では、記憶するデータに対して誤り訂正符号を付加することで、CPU21へ受け渡す記憶した値の保証を行う。CPU21がデータの読み出しを行う時、ECC22は読み出したデータと誤り訂正符号との照合を行い、一致しない場合、すなわち、データ値が保障されない場合は、例外処理を発生させる。
CPU21の要求によりECC22がRAM23へのアクセスを実施する時、ECC22で実施するRAM23に対するデータの書き込み時に行う誤り訂正符号の付加と、データの読み出し時に行う読み出したデータと誤り訂正符号の照合と例外処理の発生させる機能は、CPU21によって有効と無効とを切り替える事ができる。
この、ECC機能を無効とした状態で書き込みを行ったデータに対し、ECC機能を有効にした状態で読み出しを行った際に発生する例外処理により、ソフトウェアモジュール間のメモリ干渉を検出する。
図1のように、RAM13は保護すべきメモリ領域を持つソフトウェアモジュールAが使用するメモリであり、ソフトウェアモジュールAとは独立したソフトウェアモジュールB 12がデータの書き込みを行ってはならない。このソフトウェアモジュールBのRAM13への書き込みをメモリ干渉として検出する。
図3と図4のフローチャートでは、保護すべきメモリ領域を持つソフトウェアモジュールで実施する処理を処理A(S102)、処理Aとは独立したソフトウェアモジュールで実施する処理を処理B(S104)としたとき、処理Aで使用するメモリに対する処理Bの干渉があったことを検出する流れを示した例である。
処理Aを実施する前に実施する処理(S101)でECC機能を有効とし、処理A(S102)が終了する時、(S103)でECC機能を無効とする。
従って、(S101)と(S103)の間で行われる処理A(S102)のメモリアクセスについては、全て誤り訂正符号付きの処理となる。
一方で処理B(S104)を実施する際は、ECC機能は有効としない状態で処理を行う。従って、処理B(104)でのメモリアクセスについては、全て誤り訂正符号無しのメモリアクセスとなる。
この時のメモリの状態は図5の状態となっている。処理A(S102)が書き込んだ処理A(S102)で書き込みを行うデータは誤り訂正符号が書き込まれた状態となり、処理B(S104)で書き込みを行ったデータは誤り訂正符号領域が不定な状態となる。
この時、処理A(S102)が実施するメモリの読み出しは、自処理の中で書き込みを行ったメモリに対しては、誤り訂正符号が付加されているためECC機能による例外処理は発生しない。
メモリ干渉発生の例として、CPUの異常やアドレスバスの異常により、処理A(S102)が使用するデータ領域に、処理B(S104)が書き込みを行った場合、メモリ領域は図6の状態となる。
図6では処理Aが使用するデータ領域に対して誤り訂正符号領域が不定となっている領域があり、この状態で処理A(S102)がECC有効状態で読み出しを実施すると、誤り訂正符号が付加されていないため、図4の例外処理が発生する。
図4の例外処理の発生は、処理A(S102)で使用するメモリに対し意図しない更新が行われた事になり、処理A(S102)に対する処理B(S104)のメモリ干渉を検知したことになる。
11 ソフトウェアモジュールA
12 ソフトウェアモジュールB
13 RAM
20 マイクロコンピュータ
21 CPU
22 ECC
23 RAM
24 ROM
25 IOポート

Claims (5)

  1. データを保持するデータ補償手段を備えたメモリ制御装置において、
    前記データ補償手段を有効にした第一のメモリ領域にアクセスする第一のプログラム群と前記データ補償手段を無効にして第二のメモリ領域にアクセスする第二のプログラム群を有し,前記第二のプログラム群が前記第一のメモリ領域に書き込みを行った場合に発生する例外処理にて前記第二のプログラム群による前記第一のメモリ領域に対する侵害を検出することを特徴とするメモリ制御装置。
  2. 前記第一のプログラム群と前記第二のプログラム群および前記第一のメモリ領域と前記第二のメモリ領域に分けて利用することを特徴とした請求項1に記載のメモリ制御装置。
  3. 実行するプログラムが前記第一のプログラム群から前記第二のプログラム群へ移行した場合またはその逆に移行した場合において,前記データ補償手段の有効と無効を切り替えることを特徴とした請求項1に記載のメモリ制御装置。
  4. 前記データ補償手段は、メモリのデータのエラーを訂正するECC(Error Check and Correction)を行うことを特徴とする請求項1〜3の何れかに記載のメモリ制御装置。
  5. 実行するプログラムがデータ補償手段を有効とした第一のプログラム群が使用するメモリ領域に対し、ECCを無効とした第二のプログラム群のメモリ領域に対するアクセスを例外処理を発生させることで検知するメモリ制御方法。
JP2015058915A 2015-03-23 2015-03-23 メモリ制御装置及びメモリ制御方法 Pending JP2016177717A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015058915A JP2016177717A (ja) 2015-03-23 2015-03-23 メモリ制御装置及びメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058915A JP2016177717A (ja) 2015-03-23 2015-03-23 メモリ制御装置及びメモリ制御方法

Publications (1)

Publication Number Publication Date
JP2016177717A true JP2016177717A (ja) 2016-10-06

Family

ID=57071400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058915A Pending JP2016177717A (ja) 2015-03-23 2015-03-23 メモリ制御装置及びメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2016177717A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11415371B2 (en) 2017-03-27 2022-08-16 Daikin Industries, Ltd. Heat exchanger and refrigeration apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11415371B2 (en) 2017-03-27 2022-08-16 Daikin Industries, Ltd. Heat exchanger and refrigeration apparatus

Similar Documents

Publication Publication Date Title
US7401234B2 (en) Autonomous memory checker for runtime security assurance and method therefore
EP2598997B1 (en) Method and apparatus to protect segments of memory
US9262631B2 (en) Embedded device and control method thereof
US20130091394A1 (en) Data processing apparatus and validity verification method
US10366018B2 (en) Control apparatus with access monitoring unit configured to request interrupt process
EP3255546B1 (en) Controller
US20160041860A1 (en) Microcomputer and microcomputer system
JP4893427B2 (ja) マイクロコンピュータシステム
CN106815153B (zh) 一种安全存储方法、装置和系统
EP3454216B1 (en) Method for protecting unauthorized data access from a memory
JP2009187314A (ja) 二重化コントローラ・システム、cpuモジュール、そのプログラム
JP2016177717A (ja) メモリ制御装置及びメモリ制御方法
JP6332134B2 (ja) メモリ診断回路
JP4135413B2 (ja) メモリチェックシステムおよびメモリチェック方法、信号処理装置および信号処理装置のメモリチェック方法、ならびに、メモリチェックプログラム
WO2021038923A1 (ja) 制御装置、ユーザプログラムの実行制御方法、およびシステムプログラム
JP2012174198A (ja) 異常検出装置、および異常検出プログラム
US20080270830A1 (en) Data Processing System and Method for Operating a Data Processing System
US20120265904A1 (en) Processor system
JP5446931B2 (ja) 誤り検出訂正装置及びメモリ装置
US20160078226A1 (en) Detection of a security event
CN111352754A (zh) 一种数据存储检错纠错方法及数据存储装置
US20230367912A1 (en) Semiconductor chip apparatus and method for checking the integrity of a memory
WO2016042751A1 (ja) メモリ診断回路
JP6364847B2 (ja) 主記憶アクセス制御装置、主記憶アクセス制御システム、主記憶アクセス制御方法、及び、主記憶アクセス制御プログラム
JP5381151B2 (ja) 情報処理装置、バス制御回路、バス制御方法及びバス制御プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170124