JP2009523280A - プロテクションシステム及びその動作方法 - Google Patents

プロテクションシステム及びその動作方法 Download PDF

Info

Publication number
JP2009523280A
JP2009523280A JP2008549792A JP2008549792A JP2009523280A JP 2009523280 A JP2009523280 A JP 2009523280A JP 2008549792 A JP2008549792 A JP 2008549792A JP 2008549792 A JP2008549792 A JP 2008549792A JP 2009523280 A JP2009523280 A JP 2009523280A
Authority
JP
Japan
Prior art keywords
memory
access
slave
function
protection
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
JP2008549792A
Other languages
English (en)
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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2009523280A publication Critical patent/JP2009523280A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

システム(200)は、複数のマスタ装置(205,240,250,265)に動作的に接続される1以上のスレーブ要素(275,280,285,290,295)を有する。中央プロテクションファンクション(270)は、第1通信バス(235)に動作的に接続され、1以上のスレーブ要素(275,280,285,290,295)と複数のマスタ装置(205,240,250,265)との間のデータフローを通信バス(235)を介し制御するよう構成される。

Description

発明の詳細な説明
[発明の分野]
本発明の実施例は、マイクロプロセッサシステムにおけるメモリ及び周辺装置などのスレーブ装置のプロテクトに関する。本発明は、限定されるものでないが、エンハンストメモリプロテクションシステムに適用可能であり、これにより、ファンクションは、中央処理ユニット(CPU)、ダイレクトメモリアクセス(DMA)、コプロセッサなどのマスタ装置からのメモリ及び周辺装置のアクセスを制御及びプロテクトする。
[発明の背景]
マイクロプロセッサアーキテクチャの分野では、バスマスタとして知られているアーキテクチャ要素が通信バスを介したバスデータ伝送を開始するのに利用される。このようなアーキテクチャ要素は、メイン処理コア、ダイレクトメモリアクセス(DMA)、コプロセッサなどから構成されるかもしれない。マイクロプロセッサアーキテクチャは、しばしば図1に示されるように、マスタ装置からのスレーブメモリ要素への許可されていないアクセスに対してプロテクトするプロテクション機構により構成される。
図1の典型的なマイクロプロセッサアーキテクチャ100の一例は、メモリ管理ユニット(MMU)115とメモリキャッシュ120に動作的に接続されたメインコアを有する。メインCPUコア105は、バス又はクロスバースイッチ135を介しマイクロプロセッサアーキテクチャ100内の各種装置及びファンクションに動作的に接続される。CPUコア105は、バスマスタとして主として動作する。
クロスバースイッチ135はまた、外部のマスタインタフェース105及びDMA要素140に接続される。クロスバースイッチはまた、一連のインタフェース要素145に動作的に接続される。これらの要素は“スレーブ”として知られており、周辺装置としてフラッシュメモリ、SRAM(Static Random Access Memory)及び/又はROM(Read Only Memory)から構成されるかもしれない。これらスレーブ要素はまた、割り込みコントローラ125を介しCPUコア105に動作的に接続される。
本発明に関して、マスタ装置は、バスデータ伝送を開始する機能と、バスアービトレーションをリクエストする機能とを有する装置として定義されるかもしれない。潜在的に複数のバスマスタ装置を有するシステムでは、各マスタ装置は、何れのマスタが所望されるリソースの所有を取得するかについて、所定のルールセットに基づく機構に同意する必要がある。他方、スレーブ装置は、バスリクエストを開始する機能を有さず、バスデータ伝送を開始することができない装置として定義されるかもしれない。実際、データを有するスレーブ装置は、当該データを要求するマスタ装置によりアクセスされる。
特に、典型的なマイクロプロセッサアーキテクチャ100は、プロセッサメインコアに設けられるメモリ管理ユニット(MMU)又はメモリプロテクションユニット(MPU)(図示せず)を利用して、メモリ装置及び周辺装置に対するプロテクションを提供する。
現在のアーキテクチャに使用されるMMUは、1つのマスタ装置から複数のスレーブ装置へのアクセスしかプロテクトしない。
さらに、MMUは、典型的には“ページベース”である。これは、これらのページの粒度が大変粗いことを意味する。ここでの粒度(granularity)とは、各エントリのサイズを意味する。これは、“埋め込み”の世界において多数のアプリケーション要求にとって非効率なものとなる。大部分のケースにおいて、MMUの機構はCPUコアでのみ利用可能である。
現在のシステムに使用されるMPUは、すべての又は複数の宛先をプロテクトする。しかしながら、MPUは、1つのマスタ装置により開始されるトランザクションしかプロテクトしない。
いくつかのマスタ装置(DMA、EBI(External Bus Interface)など)がアウトバウンドデータフローのためのプロテクションを提供することが知られている。また、いくつかのスレーブ装置がインバウンドデータフローのためのプロテクションを有していることが知られている。このため、メモリ装置の様々なプロテクションレベルは、装置に対するデータフローイン/アウトについて、アーキテクチャにおけるプロテクションスキームの不整合をもたらす。既知の手段は、コンフリクトした設定がその分散的な性質により生じる可能性があるとき、メモリマップ全体をプロテクトすることはできない。
マイクロプロセッサアーキテクチャにおける追加的なマスタ装置又はバスマスタ装置は、それらのメモリマップアクセスにおいて制限されないか、又はそれらはスレーブ装置の不十分なプロテクションしか提供しない。このため、現在のアプローチは、メモリマップされたアクセスについて分散的で一貫しない設定しか可能にしない。分散的なメモリプロテクションは、上述したように、MMU又はMPUを利用して現在利用可能であり、これは、DMAコントローラやEBIなどの他のマスタ装置を介し利用するための限定的な設定しか提供しないか、又はCPUコア105によるアクセスを制限する。プロテクション設定は、各マスタ装置によって独立にのみ利用可能である。これは、設定数が不十分であるか、又は無効な設定が利用されているとき、一貫しない設定コンフィギュレーションを招く可能性がある。
いくつかのマイクロプロセッサアーキテクチャは、特定のモジュールに対するインバウンドプロテクションを提供する。他のマイクロプロセッサアーキテクチャは、各マスタ装置(例えば、インバウンド:MPC5554スレーブバスブリッジ、アウトバウンド:PowerQuiccIIIのATMUなど)のアウトバウンドプロテクションを提供する。インバウンドデータ伝送は、EBIなどの外部接続された周辺装置の1つを介し開始される集積回路へのデータフローである。アウトバウンド伝送は、ATMU(Address Translation and Mapping Unit)周辺装置を通過するデータフローである。このような伝送は、CPUコア105により開始され、データ伝送は、集積回路の境界に送信される。しかしながら、MMUはメインコアの許可されていないアクセスに対してプロテクトすることしか知られていない。
このため、今日のマイクロプロセッサアーキテクチャは、しばしばメインCPUコアによる誤ったアクセスからメモリ及び周辺装置をプロテクトするためのMPU/MMUしか設けていない。これは、特に“http://en.wikipedia.org/wiki/System−on−a−chipに定義されるようなシステム・オン・チップ(SoC)装置について当てはまる。
しかしながら、本発明の分野では、可能性のあるすべてのマスタ装置とメモリ宛先を網羅するSoC装置のための完全制御及びプロテクトされたメモリアクセスが必要とされる。将来のSoCは、特に安全性とセキュリティの適用のため、より高いレベルのメモリマッププロテクション及び制御されたメモリマップアクセスを必要とすることが予想される。
このため、例えば、マイクロプロセッサ内のメモリ要素などのスレーブ要素のための改良されたプロテクションシステム及びその動作方法が必要とされる。
[発明の概要]
本発明の特徴によると、添付した請求項に記載されるようなプロテクションシステム及びそのためのプロテクション方法が提供される。
[発明の実施例の説明]
本発明の一実施例は、PowerPCと共に使用するマイクロプロセッサベースメモリシステムに関して説明される。しかしながら、ここに記載される発明の概念は任意のタイプのメモリシステム又はSoCに実現可能であることは、当業者に理解されるであろう。特に、発明の概念は、Freescale SemiconductorTMにより製造されるxGateTM、コプロセッサ、DMAなどの複数のバスマスタを有した任意のSoCプロセッサ又はマイクロプロセッサに適用可能であることが想定される。
図2を参照するに、本発明の一実施例によるメモリプロテクションシステム200が示される。メモリプロテクションシステム200は、SoCとして後述される1つの集積回路上に設けられていると説明される。特に本発明の一実施例は、中央メモリプロテクション(CMP)ファンクション270を提案する。メモリプロテクションの“中央”という性質は、バスデータ伝送が中央メモリプロテクションファンクション270を通ることなくSoC上で開始されることを保証することを意図している。SoC内のCMPファンクション270の中心位置は、プロテクションシステム内のすべてのバスデータ伝送の完全な観察可能性を保証する。
CMPファンクション270は、CPU、DMA、EBIなどであるかを問わず、マスタ装置により開始される各データ伝送を処理、チェック及び応答するよう構成される。一実施例では、データ伝送の処理は、CMPファンクション270に割り当てられたプロテクション設定に従って実行される。ここで、チェックは、CMPファンクション270に割り当てられた設定に従って実行され、アクションはCMPファンクション270の設定に基づく。プロテクション設定は、CMP内の特定のレジスタにより実現され、これらは偶発的な変更に対してプロテクトされる。
本発明の一実施例では、SoC上で実行されるプロセスは、以下のステップを有する。メインプロセッサなどのマスタ装置は、通信バス235を介しRAM(Random Access Memory)のエリアなど、スレーブメモリへのアクセスを開始する。CMPファンクション270は、アクセスリクエストを評価し、リクエストされたメモリエリアがCMPファンクション270の設定に従ってアクセス可能であるか判断する。このアクセスが可能である場合、CMPファンクション270はアクセスを許可し、アクセスリクエストは、介入なく処理される。
メモリエリアへのアクセスが許可されていない場合、エラー又は警告フラグがCMPファンクション270により提示され、メモリエリアの違反が、例えば、割り込み信号及び/又はバス伝送中止信号などを介し通知可能である。このように、1以上の特定のメモリエリアの設定がコアによるライトアクセスのみの許可に限定される場合、他の何れかのライトアクセス、すなわち、DMAやコプロセッサによるライトアクセスは、エラー又は警告フラグを生じさせる。この通知は、違反の原因をさらに調べるのに利用される。メインコアは違反を処理することが可能であるか、又は違反はリクエストを行ったマスタにより処理可能である。
従って、CMPファンクション270にプログラムされた設定に応答して、メモリなどのスレーブ要素へのすべてのアクセスは、何れかの又はすべてのバスマスタ装置による1以上のスレーブ要素へのアクセスが許可されているか判断するため、CMPファンクション270の設定に対してチェックされる。許可されていないアクセスリクエストを決定すると、CMPファンクション270の設定のチェックの後に、エラー又は警告フラグが発行される。
本発明の一実施例では、CMPファンクション270は、いくつかのマスタ装置による、また本発明のさらなる実施例ではすべてのマスタ装置によるRAM、フラッシュメモリ、周辺要素などのスレーブSoC要素へのすべてのメモリアクセス及びアクセス権限を管理及びプロテクトするよう構成される。このように、SoC上のすべてのバスデータ伝送は、CMPファンクション270により観察及び制御される。
一実施例では、CMPファンクション270は、図2において4*5クロスバースイッチ235として示されるクロスバースイッチ235に動作的に接続される。しかしながら、CMPファンクション270はこのコンフィギュレーションに限定されず、他の何れかのマルチマスタ装置マイクロプロセッサアーキテクチャ/コンフィギュレーションにおいて利用可能であることが想定される。コア205は、4*5クロスバースイッチ235を介しマイクロプロセッサアーキテクチャ200内の各種マスタ装置及びファンクションに動作的に接続される。
4*5クロスバースイッチ235はまた、外部マスタインタフェース250を介すると共に、外部バスインタフェース255に直接的に接続される。さらに、4*5クロスバースイッチ235はまた、コプロセッサ265及びDMA240に接続される。コア205、コプロセッサ265、DMA240及び外部バスインタフェースは、SoCのバスマスタ210である。
4*5クロスバースイッチ235はまた、入出力ポートでありうる一連のスレーブ装置285、290、295に動作的に接続される。さらに、4*5クロスバースイッチ235は、フラッシュメモリ275とある形式のRAM280に動作的に接続される。フラッシュメモリ275、RAM280及びスレーブ装置285、290、295は、SoCのバススレーブ要素230である。
図2に図示されていないが、割り込みコントローラが、CMPファンクション270の設定違反があるときを示すため、SoC機能により利用される。違反の指標はまた、当業者により理解されるように、他の何れか適切な手段を介し表示及び処理可能であることが想定される。
このため、本発明の一実施例によると、CMPファンクション270は、マスタ装置と通信バスとの間のインタフェースをとり、図示されたケースで説明されたように、それはクロスバースイッチ235などの中央に設けられる。このように、CMPファンクション270は、偶発的な又は意図的な侵入アクセスから外部(スレーブ)及び内部メモリをプロテクトするよう構成される。
さらに一実施例では、このアーキテクチャのCMPファンクション270は、外部バスインタフェース255又は何れかのデバッグポート(図示せず)を介しメモリ要素などの1以上のスレーブ要素へのアクセスを禁止又は制限するよう構成される。これは、コードラナウェイ(code runaway)、ランダムな又は所望されないデータ上書き処理などの問題に対するプロテクトをすると共に、外部バスインタフェース又はデバッグポートなどを介した許可されていないデータのリードアウトを禁止するSoCの安全性の機能を増大させる。
一実施例では、CMPファンクション270は、すべてのメモリマップアクセスがCMPファンクション270を通過する必要があり、アクセスリクエストの有効性がチェック可能となるように構成される。このため、CMPファンクション270は、すべてのメモリマップアクセス(“リード”及び/又は“ライト”処理)が完全に制御されるように構成される。
CMPファンクション270が機能的な観点からSoC内に中心的に配置されるとき、CMPファンクション270は1つのプログラミングポイントとして利用可能であることが想定される。このように、制御の中心点の利用は、対応するオペレーティングシステム(OS)の機能をサポートするため効果的に利用可能である。一実施例では、OSはメインコア205上のソフトウェアとして実行され、すなわち、OSソフトウェアの部分がCMRファンクション270を構成する。
また、“ワンタイム(one−time)”設定などのCMP設定が、SoCのセキュリティ及び/又は安全性を向上させるため利用及び実行可能であることが想定される。このような“ワンタイム”設定機能の効果は、当該設定の変更が不可となる、すなわち、“ワンタイム”設定機能は侵入を禁止し、セキュリティの向上をもたらすことである。プログラミングのシングルポイントのさらなる効果は、ハードウェアの実現を通じて、無効な設定を排除するためクロスチェックが実行可能であるということである。
さらに本発明の拡張された実施例では、CMPファンクション270は、SoC内のデータフローを許可又は制限するための一貫した設定を可能にするよう構成される。この一貫した設定は、分散メモリプロテクトスキームをサポートする現在のマイクロプロセッサアーキテクチャにおいて一般的な問題である矛盾した設定を不可能にすることを確実にする。このため、無効なデータフローが不可とされるため、一貫した設定の利用はSoCの安全性とセキュリティ機能を向上させる。
特に本発明の一実施例では、CMPファンクション270は、SoC内のデータフロー全体、すなわち、チップの内部のすべてのデータフローを制御する。この結果、CMPファンクション270は、外部バスと共にメモリ要素及び周辺モジュールをプロテクトする。
一実施例では、プロテクトされたメモリエリアへのアクセスはCMPファンクション270によりインターセプトされ、これにより、CPUコアにより処理される必要があるアクセスエラーが生じる。このため、概してインターセプトされたアクセスは効果的にブロックされる。アクセスの粒度は、例えば、マイクロプロセッサの動作を読み出し専用アクセス、リード/ライトアクセス又は書き込み専用アクセスに制限するためのものとすることが可能である。
本発明のさらなる拡張された実施例では、CMPファンクション270は、CMPファンクション270の設定の有効性をチェックするため、ハードウェアサポートを設けるよう構成される。CMPファンクション270は、特定のメモリエリアがアクセス不可であるか、又は矛盾したコンフィギュレーションで設定されているか内部的にチェックするよう構成される。例えば、RAMメモリエリアは読み出し専用として設定されるかもしれない。すなわち、何れのデータも当該メモリ位置に書き込み不可とされる。
本発明のさらなる拡張された実施例では、CMPファンクション270が動的に最新のメモリスペースをアドレス指定するように、典型的には、仮想・物理アドレス変換を実行するマスタ装置のMMUに動作的に説明されることが想定される。
また、スレーブ(メモリ)要素又は周辺装置の複雑なルールが実現可能であることが想定される。さらなる例は、RAM又は他の何れかのスレーブエリアへのアクセスが、例えば、リードアクセスが許可されていないライトアクセスに対してのみ設定されるものである。例えば、すべてのメモリエリアが1つのマスタ装置によってのみ書き込み可能であるが、おそらく複数のマスタ装置により読み出し可能であるか確認するため、他のチェックが実行可能であることが想定される。
本発明のさらなる拡張された実施例では、CMPファンクション270の導入は、マイクロプロセッサ装置監視動作モード又はユーザ動作モードにおいて利用可能であることが想定される。このような動作モードでは、マイクロプロセッサシステム200における無効にされたソフトウェア又はアプリケーションが実行可能であるが、特にSoCのメモリへのアクセスは制限される。この動作モードでは、信頼されたオペレーティングシステムカーネルと関連する装置ドライバが、メモリへの完全なアクセス権限を有して実行可能である。しかしながら、信頼されたOSカーネルは、OSにより開始された各タスクのアクセスを制限するかもしれない。
上述されるような改良されたプロテクションシステムは、以下の効果の少なくとも1以上を提供することを意図することが理解されるであろう。
i)本発明の概念は、各スレーブメモリ要素に付属される各プロテクションユニットを設けることを不要にする。
ii)本発明の概念は、特にSoCの内部におけるすべてではないが、かなりの個数のメモリ要素及び周辺装置のアクセスの拡張されたプロテクション及び制御を提供する。
iii)本発明の概念は、Freescale装置MPC5554、MPC5200、X12などの複数のバスマスタを有する何れかのSoCプロセッサに適用可能である。
iv)複数のマスタ装置を有するマイクロプロセッサ(XGate、中央処理ユニット(CPU)、DMA、コプロセッサなど)は、より高いレベルの安全性とセキュリティ機能の効果を有する。
v)本発明の概念は、サイズMMUページに比較して、より良好なメモリプロテクションアクセスの粒度を提供する。
vi)本発明の概念は、すべてのスレーブ装置に対するプロテクションを提供する。
vii)中央メモリプロテクション機能は、メモリ及び周辺装置プロテクションシステムのための単一のプログラミングモデルを実現する。本発明のコンテクストでは、周辺装置はスレーブとマスタSoC要素からなる。
特に、上述した本発明の概念は、半導体メーカーによってFreescaleTM野MPC5xxxファミリなど、複数のバスマスタを有する何れかのプロセッサアーキテクチャに適用可能であることが想定される。さらに、本発明の概念は、より高いレベルの安全性とセキュリティ機能の利益を有する複数のマスタ装置を有する何れかの回路又は装置(XGate、CPU、DMA、コプロセッサなど)に適用可能である。
さらに、半導体メーカーは、スタンドアローン装置SoC、ASIC(Application−Specific Integrated Circuit)及び/又は他の何れかのサブシステムマイクロプロセッサ要素の設計において本発明の概念を利用可能であることが想定される。
当業者は、他のアプリケーションにおいて、上述した本発明の概念を有する他のファンクション/回路/装置及び/又は他の技術が利用可能であることを理解するであろう。例えば、本発明の一実施例は、SoC内に設けられ、通信バスに付属する中央メモリ処理ファンクション270を参照して説明されたが、本発明の概念は、各要素が1つのICに共存しない分散回路において利用可能であることが想定される。このため、中央処理ファンクションを利用する本発明の概念は、装置内に設けられた“クロスバースイッチ”による利用に限定されず、複数のマスタ装置とスレーブ装置のために機能する何れかの共通のバスにより等しく利用可能であることが想定される。
本発明の実施例の特定の及び好適な実現形態が上述されたが、当業者はこのような発明の概念の変更及び改良を容易に適用可能であることは明らかである。
従って、従来の構成による上述した問題点が実質的に軽減される改良されたプロテクションシステムが説明された。
図1は、許可されたメモリマップエリアしかアクセスしないプロテクションとMMUを介したバスマスタ装置のプロテクションを提供する既知のマイクロプロセッサアーキテクチャを示す。 図2は、本発明の一実施例によるメモリプロテクションシステムを示す。

Claims (4)

  1. 複数のマスタ装置(205,240,250,265)に動作的に接続される1以上のスレーブ要素(275,280,285,290,295)を有するシステム(200)であって、
    第1通信バス(235)に動作的に接続され、前記1以上のスレーブ要素(275,280,285,290,295)と前記複数のマスタ装置(205,240,250,265)との間のデータフローを前記通信バス(235)を介し制御するよう構成され、前記1以上のスレーブ要素(275,280,285,290,295)へのアクセスをプロテクトするよう構成される中央プロテクションファンクション(270)を有するシステム。
  2. 前記1以上のスレーブ要素は、スレーブメモリ要素(275,280)であり、
    前記中央プロテクションファンクション(270)は、前記1以上のスレーブメモリ要素(275,280)へのアクセスをプロテクトするよう構成される、請求項1記載のシステム。
  3. 前記中央プロテクションファンクション(270)は、前記1以上のスレーブメモリ要素(275,280)にアクセスするためのリクエストを受け付け、前記1以上のスレーブメモリ要素(275,280)のリクエストされたメモリエリアが有効にアクセス可能であるか判断する、請求項2記載のシステム。
  4. 前記中央プロテクションファンクション(270)は、前記リクエストされたメモリエリアが有効にアクセス可能であると判断された場合、前記通信バスが前記リクエストをサポートすることを可能とする、請求項3記載のシステム。
JP2008549792A 2006-01-13 2006-01-13 プロテクションシステム及びその動作方法 Pending JP2009523280A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2006/050211 WO2007079985A1 (en) 2006-01-13 2006-01-13 Protection system and method of operation therein

Publications (1)

Publication Number Publication Date
JP2009523280A true JP2009523280A (ja) 2009-06-18

Family

ID=36282873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008549792A Pending JP2009523280A (ja) 2006-01-13 2006-01-13 プロテクションシステム及びその動作方法

Country Status (4)

Country Link
US (1) US8806654B2 (ja)
EP (1) EP1977363B1 (ja)
JP (1) JP2009523280A (ja)
WO (1) WO2007079985A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014048904A (ja) * 2012-08-31 2014-03-17 Fuji Electric Co Ltd 制御装置、そのデータ保護方法およびデータ保護解除方法
JP2016516228A (ja) * 2013-02-28 2016-06-02 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
JP2017004522A (ja) * 2015-06-09 2017-01-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836318B2 (en) * 2014-02-21 2017-12-05 Infineon Technologies Ag Safety hypervisor function
US9268970B2 (en) 2014-03-20 2016-02-23 Analog Devices, Inc. System and method for security-aware master
US9213866B1 (en) * 2014-04-01 2015-12-15 Xilinx, Inc. Circuits for and methods of preventing unauthorized access in an integrated circuit
US10558604B2 (en) * 2017-12-20 2020-02-11 Qualcomm Incorporated Communication interface transaction security
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
GB201810659D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
GB201810662D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
GB201810653D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
US10805262B1 (en) * 2019-06-10 2020-10-13 Banner Engineering Corp. Modbus system having actual and virtual slave addresses and slave sensors
JP7381603B2 (ja) * 2019-12-05 2023-11-15 オリンパス株式会社 データ転送装置およびデータ転送方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316649A (ja) * 2002-04-26 2003-11-07 Mitsubishi Electric Corp マイクロプロセッサ
JP2004334410A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 情報処理装置及びプロセッサ
JP2005124225A (ja) * 1996-12-31 2005-05-12 Motorola Inc ワイヤレス通信装置において電子情報を機密化する装置および方法
JP2005523519A (ja) * 2002-04-18 2005-08-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能
WO2005121979A1 (ja) * 2004-06-14 2005-12-22 Matsushita Electric Industrial Co., Ltd. アクセス制御装置及びアクセス制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811215A (en) * 1986-12-12 1989-03-07 Intergraph Corporation Instruction execution accelerator for a pipelined digital machine with virtual memory
JPS63220342A (ja) * 1987-03-10 1988-09-13 Fujitsu Ltd ブロツクアクセス方式
US6874013B2 (en) * 1999-05-24 2005-03-29 Koninklijke Philips Electronics N.V. Data processing arrangement and memory system
US6487562B1 (en) * 1999-12-20 2002-11-26 Emc Corporation Dynamically modifying system parameters in data storage system
DE10040093C1 (de) * 2000-08-16 2002-02-14 Infineon Technologies Ag Speicherzellenanordnung
JP2003060627A (ja) * 2001-08-13 2003-02-28 Oki Electric Ind Co Ltd クロック乗せ換え回路
JP4350565B2 (ja) * 2003-03-27 2009-10-21 キヤノン株式会社 情報処理装置および方法
JP4412981B2 (ja) * 2003-11-26 2010-02-10 株式会社日立製作所 ストレージシステム及同システムにおけるデータキャッシング方法
JP4480427B2 (ja) * 2004-03-12 2010-06-16 パナソニック株式会社 リソース管理装置
US20060282588A1 (en) * 2005-06-09 2006-12-14 Jonah Proujansky-Bell Processor system that allows for simultaneous access by multiple requestors to a target with multiple ports
KR100866951B1 (ko) * 2005-10-28 2008-11-05 삼성전자주식회사 메모리에 저장된 데이터를 보호할 수 있는 프로그래머블프로세서 및 방법
US7725663B2 (en) * 2007-10-31 2010-05-25 Agere Systems Inc. Memory protection system and method
US8650440B2 (en) * 2008-01-16 2014-02-11 Freescale Semiconductor, Inc. Processor based system having ECC based check and access validation information means

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005124225A (ja) * 1996-12-31 2005-05-12 Motorola Inc ワイヤレス通信装置において電子情報を機密化する装置および方法
JP2005523519A (ja) * 2002-04-18 2005-08-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能
JP2003316649A (ja) * 2002-04-26 2003-11-07 Mitsubishi Electric Corp マイクロプロセッサ
JP2004334410A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 情報処理装置及びプロセッサ
WO2005121979A1 (ja) * 2004-06-14 2005-12-22 Matsushita Electric Industrial Co., Ltd. アクセス制御装置及びアクセス制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014048904A (ja) * 2012-08-31 2014-03-17 Fuji Electric Co Ltd 制御装置、そのデータ保護方法およびデータ保護解除方法
JP2016516228A (ja) * 2013-02-28 2016-06-02 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
JP2017004522A (ja) * 2015-06-09 2017-01-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ

Also Published As

Publication number Publication date
EP1977363A1 (en) 2008-10-08
US8806654B2 (en) 2014-08-12
WO2007079985A1 (en) 2007-07-19
EP1977363B1 (en) 2016-10-26
US20100186080A1 (en) 2010-07-22

Similar Documents

Publication Publication Date Title
EP1977363B1 (en) Protection system and method of operation therein
US7406711B2 (en) Method and apparatus for enforcing independence of processors on a single IC
US9489332B2 (en) System and method for virtual hardware memory protection
EP1742152B1 (en) Method and system for a multi-sharing memory access control
US7444668B2 (en) Method and apparatus for determining access permission
US8307416B2 (en) Data structures for use in firewalls
US20030110306A1 (en) Method and system for use of a field programmable gate array (FPGA) cell for controlling access to on-chip functions of a system on a chip (SOC) integrated circuit
KR20000022083A (ko) 컴퓨터 시스템의 i/o 어드레스 공간으로 매핑된 레지스터에대한 액세스 제어시스템
JP2016516228A (ja) システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
JP5433349B2 (ja) データプロセッサ
JP7213879B2 (ja) 間接アクセスメモリコントローラ用のメモリ保護装置
EP3814960B1 (en) Secure-aware bus system
WO2008030727A2 (en) Access control of memory space in microprocessor systems
US8635685B2 (en) Value generator coupled to firewall programmable qualifier data structure logics
US12013931B2 (en) Method and system for freedom from interference (FFI)
CN115374041A (zh) 总线解码器
WO2007008595A2 (en) Method and system for a multi-sharing security firewall

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110801

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120424