説明

セキュアメモリインターフェース

【課題】セキュアメモリインターフェースを提供すること。
【解決手段】セキュアメモリインターフェースは、セキュアモードが活性化された場合に、メモリ装置に対する欠陥注入を探知するように読出部、書込部、及びモード選択部を含む。モード選択部は、データプロセッシング部から生成されたメモリアクセス情報を使用してセキュアモードを活性化または非活性化する。従って、データプロセッシング部はメモリ装置に保存されたセキュアデータの量と位置を柔軟に指定することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ装置及びデータプロセッシング部を含む電子システムに関する。より詳しくは、データプロセッシング部を通じてメモリ装置へのセキュアアクセスまたは通常のアクセスを柔軟に制御する電子システムに関する。
【背景技術】
【0002】
メモリ装置は、レーザーまたはレントゲンの使用などによる欠陥注入攻撃(fault injection attack)を受けやすい。例えば、レーザーとレントゲンはメモリ装置内のビットの状態を変更させることができる精密な攻撃が可能である。特に、レーザーはレジスタ、RAM(random access memory)、EEP(electrically erasable and programmable)、フラッシュメモリ装置などを欠陥注入するのに適している。このような欠陥注入は、永久的であるかまたは一時的であってもよい。
【0003】
また、このような欠陥注入攻撃は、暗証番号を露出させるかまたはメモリに書込まれた内容を流出させるのに使用してもよい。メモリ装置に保存された情報の誤用または悪用を防ぐためにこのようなメモリ装置への欠陥注入(fault injection)を検出することが必要である。
【0004】
従来の技術において、レーザー光源を検出するためにレーザー検出器が使用された。しかし、レーザー検出器は、メモリ装置に対するレーザー攻撃を検出するのに適合ではない。
【0005】
また、他の従来技術においては、メモリ装置はエラー検出コードを保存して適応される。この場合、メモリ装置は前記メモリ装置内部の欠陥注入攻撃を検出する。しかし、メモリ装置内部に検出コードを実装するこのような方法は、メモリ装置のシリコン面積を増加させる。さらに、ビットの状態がメモリ装置外部のバスを通じて変更されると、エラー検出コードはこのようなメモリ装置の外部から発生した欠陥注入を検出できない可能性がある。
【0006】
従来技術では、メモリ装置はメモリ装置内部で欠陥注入を検出するために余分のデータを保存するハードウェア冗長(redundancy)を含むことができる。しかし、このような保存冗長によって特に大きなシリコン面積を有する高容量のメモリ装置において、シリコン面積が重複される結果が発生する。また、保存冗長のデータ検証によってメモリ装置の動作が遅くなることがあることがある。
【0007】
また、別の従来技術において、メモリ装置にアクセスするCPU(central processing unit)のようなデータプロセッシング部はデータのインテグリティ(integrity)を確認するソフトウェアを含む。しかし、メモリ装置に保存されたこのようなソフトウェアもやはり欠陥注入攻撃を受けやすい。さらに、CPUのソフトウェアに対するコードの大きさと実行時間が追加的データ検証機能によって増加する。
【0008】
従って、メモリ装置の内部及びメモリ装置のバスにまたはバスからなどメモリ装置の外部の欠陥注入を検出するための効率的なメカニズムが要求される。
【発明の概要】
【発明が解決しようとする課題】
【0009】
前述のような問題点を解決するために、本発明は欠陥注入を自動的に検出するように作動するセキュアメモリインターフェースを提供することを一目的とする。
【課題を解決するための手段】
【0010】
前記目的を達成するために、本発明の一実施形態によるセキュアメモリインターフェースは、読出部及びモード選択部を含む。読出部はセキュアモードが活性化された場合、メモリ装置から受信された初期読出データからエラー検出コードを分離してデータプロセッシング部に送信される最終読出データを生成する。モード選択部は、前記データプロセッシング部から生成されたメモリアクセス情報を使用して前記セキュアモードを活性化または非活性化させる。
【0011】
一実施形態において、前記読出部は前記セキュアモードが非活性化された場合、前記初期読出データから前記エラー検出コードを分離せずに前記最終読出データを生成することができる。
【0012】
一実施形態において、前記メモリアクセス情報は、命令語名称を含んでもよい。この場合、前記モード選択部は、前記命令語名称がセキュア読出命令語に該当する場合、前記セキュアモードを活性化させ、前記命令語名称が通常の読出命令語に該当する場合、前記セキュアモードを非活性化させる命令語デコーダーを含んでもよい。前記読出部及び前記命令語デコーダーは、前記データプロセッシング部、即ち、中央処理装置(CPU:Central Processing Unit)内部に配置されてもよい。
【0013】
他の実施形態において、前記メモリアクセス情報は前記初期読出データのためにアクセスされる前記メモリ装置のアドレスを含んでもよい。この場合、前記モード選択部は、前記アクセスされるメモリ装置のアドレスがセキュアアドレスである場合、前記セキュアモードを活性化させ、前記アクセスされるメモリ装置のアドレスが非セキュアアドレスである場合、前記セキュアモードを非活性化させるアドレスデコーダーを含んでもよい。前記アドレスデコーダーは、前記アクセスされるメモリ装置のアドレスを生成するCPUである前記データプロセッシング部の外部に配置されてもよい。
【0014】
また他の実施形態において、前記メモリアクセス情報はレジスタ名称を含んでもよい。この場合、前記モード選択部は、前記レジスタ名称が前記セキュアモードの活性化または非活性化に相応するかを示す各々のレジスタフラグを含んでもよい。前記読出部と前記各々のレジスタフラグは、CPUである前記データプロセッシング部の内部に配置されることができる。
【0015】
一実施形態において、前記読出部はデミキサ(demixer)、エンコーダー、及び比較器を含んでもよい。前記デミキサは、前記セキュアモードが活性化された場合、前記初期読出データから前記エラー検出コードを分離して前記最終読出データを生成し、前記セキュアモードが非活性化された場合、前記初期読出データから前記エラー検出コードを分離せずに前記最終読出データを生成する。前記エンコーダーは相応するアドレスまたは前記最終読出データのうち、少なくとも何れかの1つから予想エラー検出コードを生成する。前記比較器は前記初期読出データから分離された前記エラー検出コードと前記予想エラー検出コードを比較してエラー検出信号を生成する。
【0016】
他の実施形態において、前記読出部は状態機械(state machine)及び幅選択器をさらに含むことができる。前記状態機械は、前記メモリアクセス情報からメモリアドレス及び読出イネーブル信号を生成して前記メモリ装置から前記初期読出データを読み出す。前記幅選択器は、前記エンコーダーと前記デミキサの動作を制御する、少なくとも1つのデータ幅制御信号によるメモリデータ幅を有する前記初期読出データを読み出すように前記状態機械を制御する。
【0017】
一実施形態において、前記メモリデータ幅は前記メモリ装置に相応し、前記少なくとも1つのデータ幅制御信号は、前記データプロセッシング部のプロセッシングデータ幅に相応することができる。
【0018】
一実施形態において、前記データプロセッシング部はバスによって前記メモリ装置から分離されたCPUであってもよい。前記データプロセッシング部及び前記メモリ装置は、1つの集積回路チップで製作されてもよい。他の実施形態において、前記データプロセッシング部及び前記メモリ装置は2つの分離された集積回路チップで製作されてもよい。
【0019】
他の実施形態において、前記セキュアメモリインターフェースは、前記セキュアモードが活性化された場合、初期書込データ及び前記エラー検出コードから前記メモリ装置に書込むための最終書込データを生成する書込部をさらに含んでもよい。前記書込部は、前記セキュアモードが非活性化された場合、前記エラー検出コードなしで前記初期書込データから前記最終書込データを生成する。
【0020】
一実施形態において、前記書込部及び前記読出部は、ハードウェア論理ゲートで前記CPU内に具現されることができる。
【0021】
前記メモリアクセス情報が命令語名称を含む場合、前記命令語デコーダーは前記命令語名称がセキュア書込命令語に該当する場合、前記セキュアモードを活性化させ、前記命令語名称が通常の書込命令語に該当する場合、前記セキュアモードを非活性化させることができる。
【0022】
一実施形態において、前記書込部はエンコーダー及びミキサを含んでもよい。前記エンコーダーは相応するアドレスまたは前記初期書込データのうち、少なくとも1つから前記エラー検出コードを生成する。前記ミキサは、前記セキュアモードが活性化された場合、前記初期書込データ及び前記エラー検出コードから混合書込データを生成し、前記セキュアモードが非活性化された場合、前記エラー検出コード無しで前記初期書込データから前記混合書込データを生成する。前記混合書込データは、前記最終書込データを決める。
【0023】
他の実施形態において、前記書込部は状態機械及び幅選択器をさらに含んでもよい。前記状態機械は、前記混合書込データから前記最終書込データ、書込イネーブル信号、及び前記最終書込データを保存する前記メモリ装置のメモリアドレスを生成する。前記幅選択器は、前記エンコーダーと前記ミキサの動作を制御する少なくとも1つのデータ幅制御信号によるメモリデータ幅を有する前記最終書込データを生成するように前記状態機械を制御する。本発明の一実施形態に従った電子システムは、メモリ装置、データプロセッシング部、及びインターフェース部を含む。前記データプロセッシング部は、メモリ装置に対するアクセス種類を指定する少なくとも1つのアドレスビットまたはレジスタ名称を含むメモリアクセス情報を生成する。前記インターフェース部は、前記メモリアクセス方法によって指定された前記アクセス種類に基づいて前記メモリ装置にアクセスする。一実施形態において、前記アクセス種類は、セキュアアクセスまたは非セキュアアクセスを含んでもよい。前記データプロセッシング部から生成された前記少なくとも1つのアドレスビットは、前記メモリ装置に対する前記アクセス種類を決定することができる。他の実施形態において、前記データプロセッシング部から生成された前記レジスタ名称は前記メモリ装置に対する前記アクセス種類を決定することができる。
【0024】
このような方式で、CPUはセキュアアクセスのためにメモリ装置に保存されたデータの量と位置を柔軟に指定することができる。欠陥注入はハードウェアで具現された書込部と読出部を使用するCPUで指定された前記データによって検出される。従って、書込部と読出部のシリコン面積の増加は、どの容量のメモリ装置においても大きな影響を及ぼさない。さらに、メモリ装置内またはCPUとメモリ装置との間のバスで発生する欠陥注入が効率的に検出される。
【0025】
本文に開示されている本発明の実施形態に対して、特定の構造的乃至は機能的説明は、単に本発明の実施形態を説明するための目的で例示されたもので、本発明の実施形態は多様な形態で実施することができ、本文に説明された実施形態に限定されることと解釈されてはいけない。
【0026】
本発明は多様な変更を加えることができ、様々な形態を有することができるため、特定実施例を図面に例示し、本明細書に詳しく説明する。しかし、これは本発明を特定の開示形態に対して限定しようとすることではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物、ないしは代替物を含むことと理解されるべきである。各図面を説明しながら類似する参照符号を、類似する構成要素に対して使用した。
【0027】
第1、第2などの用語は多様な構成要素を説明するにあたって使用することができるが、各構成要素は使用される用語によって限定されるものではない。各用語は1つの構成要素を他の構成要素と区別する目的で使用されるものであって、例えば、明細書中において、第1構成要素を第2構成要素に書き換えることも可能であり、同様に第2構成要素を第1構成要素とすることができる。
【0028】
有る構成要素が他の構成要素に「連結されて」いるかまたは「接続されて」いると言及された際には、その他の構成要素に直接的に連結されているかまたは接続されていることもあるが、中間に他の構成要素が存在することもあると理解するべきである。反面、有る構成要素が他の構成要素に「直接連結されて」いるかまたは「直接接続されて」いると言及された際には、中間に他の構成要素が存在しないことと理解するべきである。構成要素間の関係を説明する他の表現、即ち、「〜間に」と「すぐ〜間に」、または「〜に隣接する」と「〜に直接隣接する」なども同様に解釈するべきである。
【0029】
本明細書で使用する用語は、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部分品、またはこれらを組み合わせたものが存在することを指定しようとすることであって、1つまたはそれ以上の別の特徴、数字、段階、動作、構成要素、部分品、またはこれらを組み合わせたものの存在または付加可能性を予め排除しないことと理解されるべきである。
【0030】
また、別に定義しない限り、技術的或いは科学的用語を含んで、ここにおいて使用される全ての用語は本発明が属する技術分野で通常の知識を有する者であれば、一般的に理解されることと同一な意味を有する。一般的に使用される辞書において定義する用語と同じ用語は関連技術の文脈上に有する意味と一致する意味を有することと理解されるべきで、本明細書において明白に定義しない限り、理想的或いは形式的な意味として解釈しない。
【図面の簡単な説明】
【0031】
【図1】本発明の一実施形態によるセキュアメモリインターフェースを含む電子システムのブロック図である。
【図2】本発明の一実施形態による図1のセキュアメモリインターフェースを示すブロック図である。
【図3】本発明の一実施形態による図2のセキュアメモリインターフェースに含まれた書込部を示すブロック図である。
【図4】本発明の一実施形態による図3の書込部に含まれた幅選択器を示す回路図である。
【図5】本発明の一実施形態による図3の書込部に含まれたエラー検出コードを生成するエンコーダーを示すブロック図である。
【図6】本発明の一実施形態による図2のセキュアメモリインターフェースに含まれた読出部を示すブロック図である。
【図7】本発明の一実施形態による図3及び図6の書込部及び/または読出部に含まれたモード選択部として命令語デコーダーを含むCPUを示すブロック図である。
【図8】本発明の一実施形態による図3及び図6の書込部及び/または読出部に含まれたモード選択部としてアドレスデコーダーを含むCPUを示すブロック図である。
【図9】本発明の他の実施形態によるCPUの外部にモード選択部が配置された図8の変形例を示すブロック図である。
【図10】本発明の一実施形態によるセキュアモードの活性化または非活性化を示すように使用されるCPUアドレスビットを示した図である。
【図11】本発明の一実施形態による図3及び図6の書込部及び/または読出部に含まれたモード選択部としてフラグレジスタを含むCPUを示すブロック図である。
【図12】本発明の一実施形態によるフラグレジスタ及びアドレスデコーダーがモード選択部のために使用される場合にセキュアモードの活性化または非活性化を示す表である。
【図13】本発明の一実施形態によるCPUとセキュアモードの活性化または非活性化によるメモリ装置のデータ幅を示す表である。
【図14】本発明の一実施形態による図2のセキュアメモリインターフェースと図3の書込部動作による段階を示すフローチャートである。
【図15】本発明の一実施形態による図2のセキュアメモリインターフェースと図6の読出部の動作による段階を示すフローチャートである。
【図16】本発明の一実施形態による図5のエンコーダーに入力される入力値を示す表である。
【図17】本発明の一実施形態による図5のエンコーダーから出力される出力値を示す表である。
【発明を実施するための最良の形態】
【0032】
以下、添付図面を参照しつつ、本発明の望ましい実施形態をより詳しく説明する。図面上の同一構成要素に対しては同一参照符号を使用し、同一構成要素に対して重複される説明は省略する。
【0033】
図1は、メモリ装置102、データプロセッシング部104、及びバス106を含む電子システム100を示すブロック図である。本発明の一実施形態によると、電子システム100は、スマートカード110に構成要素として含まれてもよい。しかし、本発明はこれに限定されず、電子システム100は他のアプリケーションに適用されてもよい。本発明のメモリ装置102及びデータプロセッシング部104は1つの集積回路チップで製作されてもよく、2つの分離された集積回路チップで製作されてもよい。
【0034】
メモリ装置102とデータプロセッシング部104は、バス106を通じて信号を交換する。本発明の実施形態によると、データプロセッシング部104は、セキュアメモリインターフェース108(即ち、インターフェース部)を含むCPU(Central Processing Unit)であってもよい。
【0035】
図1及び図2を参照すると、セキュアメモリインターフェース108は、モード選択部112、書込部114、及び読出部116を含む。書込部114は、メモリ装置102の指定されたアドレスにデータを書込するためにCPU104からアドレス(CPUアドレス)とデータ(CPUデータ)を受信する。読出部116は、メモリ装置102の指定されたアドレスからデータを読み出すためにCPU104からアドレス(CPUアドレス)を受信する。
【0036】
モード選択部112は、書込部114及び読出部116の動作に対するセキュアモードを活性化または非活性化させる。書込部114及び読出部116は、モード選択部112による前記セキュアモードの活性化または非活性化に従って各々セキュアモードまたは非セキュアモードで動作する。モード選択部112は前記セキュアモードの活性化または非活性化を示すセキュアモードイネーブル信号(SMI_Enable)を生成する。
【0037】
図3は、本発明の一実施形態に従った図2の書込部114を示すブロック図である。書込部114は、幅選択器202、エンコーダー204、ミキサ(mixer)206、及びメモリ書込有限状態機械(memory write finite state machine)208を含む。
【0038】
図1、図2、及び図3を参照すると、CPU104は、CPU104とメモリ装置102で処理されるビット数(即ち、CPUデータ幅またはさらに一般的にプロセッシングデータ幅)を示すResister_Width信号である「24」、「16」、及び「8」のうち、何れかの1つを活性化させる。例えば、CPU104は、1回に8ビット、16ビット、または24ビットのデータのうちの1つを生成してメモリ装置102に提供するかまたはメモリ装置102から8ビット、16ビット、または24ビットのデータのうちの1つを受信する。
【0039】
図13は、前記CPUデータ幅に従ってメモリ装置102を占有するデータビットを示す表である。第1列902は、8ビット、16ビット、または24ビットのようなCPUデータ幅の典型的な例を示す。第2列904は、前記セキュアモードが非活性化された場合、前記8ビット、16ビット、または24ビットのCPUデータ幅の各々に相応するメモリ装置102に保存されたビット数を示す。第3列906は、前記セキュアモードが発生化された場合、前記8ビット、16ビット、または24ビットのCPUデータ幅の各々に相応するメモリ装置102に保存されたビット数を示す。
【0040】
前記セキュアモードが非活性化された場合、CPU104から生成された前記8ビットデータは、8ビットでメモリ装置102に保存される。これと類似に、前記セキュアモードが非活性化された場合、CPU104から生成された前記16ビットデータは、16ビットでメモリ装置102に保存される。また、前記セキュアモードが非活性化された場合、CPU104から生成された前記24ビットデータは所定のビット値で設定された8ビットのデータが追加されて32ビットでメモリ装置102に保存される。
【0041】
前記セキュアモードが活性化された場合、CPU104から生成された前記8ビットデータはエラー検出コードが追加されて16ビットでメモリ装置102に保存される。これと類似に前記セキュアモードが活性化された場合、CPU104から生成された前記16ビットのエラー検出コードが追加されて32ビットでメモリ装置102に保存される。また、前記セキュアモードが活性化された場合、CPU104から生成された前記24ビットデータは、8ビットのエラー検出コードが追加されて32ビットでメモリ装置102に保存される。
【0042】
図13の表の第4例908は、前記セキュアモードが非活性化状態から活性化状態になった場合における、CPU104から生成されたビット数(即ち、CPUデータ幅)に対するメモリ装置102に保存されたビット数(即ち、メモリデータ幅)の倍数(即ち、大きさ増加因子(size increase factor))の増加比率を示す。前記CPUデータ幅が8ビットまたは16ビットである場合、前記セキュアモードが活性化されると、前記CPU104から生成されたビット数に対するメモリ装置102に保存されたビット数の倍数は2倍に増加する。前記CPUデータ幅が24ビットである場合、前記セキュアモードが活性化されても前記CPU104から生成されたビット数に対するメモリ装置102に保存されたビット数の倍数は1に維持される。
【0043】
図13の表の第5列910は、前記CPUデータ幅が8ビット、16ビット、または24ビットである場合、前記セキュアモードの活性化に従ったセキュア等級を示す。前記CPUデータ幅が8ビットまたは16ビットである場合、前記エラー検出コードが結合されると、メモリ装置102に保存されるビット数が2倍に増加するため、前記セキュア等級(即ち、欠陥注入を検出する能力)は非常に高い。前記CPUデータ幅が24ビットである場合、前記エラー検出コードが決合されると、メモリ装置102に保存されるビット数が2倍より少なく増加されるため、前記セキュア等級は高いが、前記CPUデータ幅が8ビットまたは16ビットである場合よりは低い。
【0044】
図3及び図13を参照すると、幅選択器202は、メモリ書込有限状態機械208が8ビット、16ビット、または32ビットで前記メモリデータを生成するように前記メモリデータ幅信号「8」、「16」、及び「32」のうちの1つを活性化する。図4は、前記CPUデータ幅信号である「8」、「16」、及び「24」のうちの何れが活性化されたかに従って、また前記セキュアモードイネーブル信号(SMI_Enable)が活性化されたかに従って、前記メモリデータ幅信号である「8」、「16」、及び「32」のうちの1つを活性化する幅選択器202の一例を示す回路図である。
【0045】
図4を参照すると、幅選択器202はインバーター220、第1〜第4論理積ゲート(222,224,226,228)と第1及び第2論理和ゲート(232,234)を含む。前記セキュアモードイネーブル信号(SMI_Enable)は、インバーター220、第1論理積ゲート222、及び第3論理積ゲート226に印加される。前記CPUデータ幅信号「24」は、第1論理和ゲート232に印加され、前記CPUデータ幅信号「16」は第1及び第2論理積ゲート(222,224)に印加され、前記CPUデータ幅信号「8」は、第3及び第4論理積ゲート(226,228)に印加される。
【0046】
インバーター220、第1〜第4論理積ゲート(222,224,226,228)及び第1及び第2論理和ゲート(232,234)は、図4に示したように接続される。第1論理和ゲート232は前記メモリデータ幅信号「32」を出力し、第2論理和ゲート234は、前記メモリデータ幅信号「16」を出力し、第4論理和ゲート228は、前記メモリデータ幅信号「8」を出力する。図4及び図13を参照すると、図13の第1列902及び第2列904に示したように、前記CPUデータ幅信号「8」、「16」、及び「24」のうちの1つが活性化され、前記セキュアモードが非活性化された場合、前記メモリデータ幅信号「8」、「16」、及び「32」のうち、相応する1つが活性化される。
【0047】
他の実施形態において、図13の第1列902及び第3列906に示したように、前記CPUデータ幅信号「8」、「16」、及び「24」のうちの1つが活性化され前記セキュアモードが活性化された場合、前記メモリデータ幅信号「16」及び「32」のうち、相応する1つが活性化される。図3を参照すると、前記メモリデータ幅信号「8」、「16」、及び「32」は前記メモリデータ幅信号「8」、「16」、及び「32」のうちの何れが活性化されるかによって8ビット、16ビット、または32ビットの前記メモリデータを生成するメモリ書込有限状態機械208に印加される。
【0048】
図5は、前記セキュアモードが活性化された場合に使用される前記エラー検出コード(EDC)を生成するエンコーダー204を示すブロック図である。図5に示した例示的なエンコーダー204は前記エラー検出コードを生成するためにCPU104から生成される前記CPUデータを使用する。しかし、本発明はCPU104から生成される前記CPUデータ及び前記CPUアドレスから前記エラー検出コードを生成するエンコーダーで具現されてもよい。この場合、セキュアメモリインターフェース108は、前記データ及び前記アドレス情報に対する欠陥注入を検出することができる。
【0049】
図16は、本発明の一実施形態に従って前記CPUデータ幅信号「8」、「16」、及び「24」各々を活性化するために図5のエンコーダー204に入力される値を示す表である。図17は、本発明の一実施形態に従って前記CPUデータ幅信号「8」、「16」、及び「24」各々を活性化するために図5のエンコーダー204から出力される値を示す表である。
【0050】
図5の実施形態を参照すると、エンコーダー204は8ビットの入力信号「E」242、8ビットの入力信号「Rh」244、及び8ビットの入力信号「Rl」248を含む。また、エンコーダー204は、8ビットの出力信号「EDC_out_H」258及び8ビットの出力信号「EDC_out_L」260を含む。
【0051】
図5、図16、及び図17の実施形態を参照すると、前記CPUデータ幅が8ビットである場合、入力信号「Rl」248は前記CPUデータを含む反面、入力信号「E」242及び入力信号「Rh」244は定義されない(即ち、図16のX)。またこの場合、出力信号「EDC_out_L」260は有効である反面、出力信号「EDC_out_H」258は定義されない。従って、前記CPUデータ幅が8ビットである場合、出力信号「EDC_out_L」260はミキサ206で使用される前記8ビットのエラー検出コード(EDC)を含む。
【0052】
他の実施形態において、前記CPUデータ幅が16ビットである場合、入力信号「Rl」248は前記CPUデータの下位バイトを含み、入力信号「Rh」244は前記CPUデータの上位バイトを含み、入力信号「E」242は「0」に固定される。またこの場合、出力信号「EDC_out_L」260及び出力信号「EDC_out_H」258は有効である。従って、前記CPUデータ幅が16ビットである場合、出力信号「EDC_out_L」260及び出力信号「EDC_out_H」258はミキサ206で使用される前記16ビットのエラー検出コード(EDC)を含む。
【0053】
前記CPUデータ幅が24ビットである場合、入力信号「Rl」248は前記CPUデータの下位バイトを含み、入力信号「Rh」244は、前記CPUデータの中間バイトを含み、入力信号「E」242は、前記CPUデータの上位バイトを含む。またこの場合、出力信号「EDC_out_H」260は、有効である反面、出力信号「EDC_out_L」258は定義されない。従って、前記CPUデータ幅が24ビットである場合、出力信号「EDC_out_H」260はミキサ206で使用される前記8ビットのエラー検出コード(EDC)を含む。
【0054】
また、本発明の一実施形態において、エンコーダー204は、前記CPUデータ幅信号「16」であってもよい1ビットの制御信号である「Ctrl_16bits_Access」246に従って動作する。また、エンコーダー204は予め決定されたデータレジスタ250、下位ビットコーダ252、上位ビットコーダ256、及びマルチプレクサ254を含む。「Ctrl_16bits_Access」信号246は予め決定されたデータレジスタ250の出力または下位ビットコーダ252の出力のうちの1つを出力するマルチプレクサ254を制御する。
【0055】
「Ctrl_16bits_Access」信号246は、CPU104が16ビットのCPUデータ幅を有する16ビットデータを生成する場合、論理ハイ状態で活性化される。この場合、マルチプレクサ254は上位ビットコーダ256に入力される、予め決定されたビットパターンである前記予め決定されたデータレジスタ250の出力(例えば、0×00または0×FF)を選択する。
【0056】
結果的に、上位ビットコーダ256は、8ビットの出力信号「EDC_out_H」258を生成するために8ビットの入力信号「Rh」244を使用する反面、入力信号「E」242はCPUによって「0」に設定される。またこの場合、下位ビットコーダ252は、8ビットの出力信号「EDC_out_L」260を生成するために8ビットの入力信号「Rl」248を使用する。図3及び図5を参照すると、前記16ビットのCPUデータ幅を有することによって、「Ctrl_16bits_Access」信号246が活性化される場合に、出力信号「EDC_out_H」258及び出力信号「EDC_out_L」260を合算した総16ビットの前記エラー検出信号がミキサ206で利用可能である。
【0057】
「Ctrl_16bits_Access」信号246は、CPU104が前記8ビットまたは24ビットのCPUデータ幅を有する8ビットまたは24ビットデータを生成する場合、論理ロー状態に非活性化される。前記2つの場合、下位ビットコーダ252は、ミキサ206及びマルチプレクサ254で利用可能な8ビットの出力信号「EDC_out_L」260を生成するために8ビットの入力信号「Rl」248のみを使用する。前記2つの場合、マルチプレクサ254は上位ビットコーダ256に入力するように前記下位ビットコーダ252の出力を選択する。
【0058】
前記ビットコーダ256は、ミキサ206で使用可能な8ビットのEDC出力信号「EDC_out_H」258を生成するために入力信号「Rh」244、入力信号「E」242、及び前記下位ビットコーダ252の出力を使用する。前記8ビットのCPUデータ幅を有する場合、出力信号「EDC_out_L」260のみが有効でありミキサ206で使用され、出力信号「EDC_out_H」258は無視される。前記24ビットのCPUデータ幅を有する場合、出力信号「EDC_out_H」258のみが有効でありミキサ206で使用され、出力信号「EDC_out_L」260は無視される。
【0059】
図2及び図3を参照すると、CPU104が書込動作のためにメモリ装置102にアクセスする場合、セキュアメモリインターフェース108及び書込部114は、図14のフローチャートに従って動作する。CPU104は、書込命令語名称、アクセスされるメモリ装置102のアドレスを示すCPUアドレス及びメモリ装置102に書込まれるCPUデータを含む書込コマンドのような書込メモリアクセス情報を生成する(図14のステップS701)。前記CPUアドレスは前記CPUデータを保存するメモリ装置102の位置を示す。CPU104は前記書込メモリアクセス情報の一部として前記CPUデータに保存する各々のレジスタ名称を生成することができる。
【0060】
モード選択部112は、前記書込メモリアクセス情報から前記セキュアモードがCPUによって活性化されたかの有無を判断する(図14のステップS702)。本発明の一実施形態において、図7は、モード選択部112が命令語名称デコーダーに具現された場合を示す。この場合、CPU104は相応する前記命令語名称を有する前記書込コマンドによって前記セキュアモードの活性化または非活性化を指定する。
【0061】
例えば、前記書込コマンドは前記セキュアモードの非活性化を示す通常の書込命令語名称及び前記セキュアモードの活性化を示すセキュア書込命令語を含む。この場合、図7のモード選択部112は、前記命令語名称に従って前記セキュアモードイネーブル信号(SMI_Enable)の活性化または非活性化するように前記命令語名称を復号化する。図7の実施形態において、CPU104は通常の読出命令語、セキュア読出命令語、通常の書込命令語及びセキュア書込命令語を含む追加的な命令語3つを実行することができる。各々の通常の書込命令語及び通常の読出命令語はセキュアモードイネーブル信号(SMI_Enable)が非活性化されるようにし、各々のセキュア書込命令語及びセキュア読出命令語はセキュアモードイネーブル信号(SMI_Enable)が活性化されるようにする。
【0062】
図8は、本発明の他の実施形態に従ってアドレスデコーダー264に具現されたモード選択部112を示す。この場合、CPU104は、CPU104内のアドレス生成器262によって生成された前記CPUアドレスを有する前記書込コマンドによって前記セキュアモードの活性化または非活性化を指定する。図10に示したように、CPUアドレスのビット数は16メガバイトのメモリ容量を指定するのに充分である。しかし、実際にスマートカードのような装置に含まれた電子システム100の全てのメモリ装置の総容量はアドレス可能なメモリ容量より充分に小さい。
【0063】
従って、CPU104から生成された前記CPUアドレスの一部ビットは、メモリ装置102のアドレスを指定するのに必要ではないために前記セキュアモードの活性化または非活性化を指定するのに使用してもよい。この場合、アドレスデコーダー264は、前記セキュアモードの活性化または非活性化を示すセキュアモードイネーブル信号(SMI_Enable)を活性化または非活性化するために、アドレス生成器262から生成された前記CPUアドレスを復号化する。例えば、アドレスデコーダー264は、アドレス生成器262から生成された各々のCPUアドレスが前記セキュアモードの活性化を示すセキュアアクセスであるかまたは前記セキュアモードの非活性化を示す非セキュアアドレスであるかを決定するアドレスフィルタを含む。
【0064】
図9は、本発明の他の実施形態に従ってアドレスデコーダー265がCPU104の外部に具現される場合を示した図である。図9のアドレス生成器262は、図8のアドレス生成器262と類似に動作する。しかし、図9において、電子システム100のCPU104の変更を最小化させるためにアドレスデコーダー265を有するモード選択部112は、CPU104の外部に具現される。
【0065】
図11は、本発明の他の実施形態に従ってモード選択部112がCPU104の複数のデータレジスタ760に相応するフラグレジスタ750に具現される場合を示す。前記複数のデータレジスタ760各々は、CPU104とメモリ装置102との間に処理される各々の前記CPUデータを保存する。書込/読出コマンドを生成する際、CPU104は、前記CPUデータを保存する前記レジスタの各々の識別名(identifier、即ち、相応するレジスタ名称)を指定する。
【0066】
フラグレジスタ750は、複数のレジスタフラグを含み、前記レジスタフラグ各々は、複数のデータレジスタ760のうち、相応するデータレジスタに対する活性化または非活性化の有無を示すように設定される。例えば、レジスタフラグ#1は、レジスタ#1と相応し、レジスタフラグ#2は、レジスタ#2と相応する。図11のモード選択部112は、レジスタマルチプレクサ762を通じて前記CPUデータを出力するようにデータレジスタ760のうち、Resister_Select信号によって選択された1つに相応するレジスタフラグを出力するフラグマルチプレクサ752を含む。
【0067】
この場合、CPU104は、前記CPUデータに相応する各々のレジスタ名称を含む書込/読出コマンドを生成する。フラグレジスタ750のうちの相応する1つ及びデータレジスタ760のうちの相応する1つに保存された前記CPUデータ出力するようにフラグマルチプレクサ752及びレジスタマルチプレクサ762を制御するために前記Resister_Select信号は、前記各々のレジスタ名称に従って生成される。フラグマルチプレクサ752から選択された前記レジスタフラグはセキュアモードイネーブル信号(SMI_Enable)である。
【0068】
図11の実施形態において、フラグレジスタ750の各々のフラグはCPU104でプログラム可能である。図11の実施形態は、スタック動作(stack operation)における各々のポインタのためのメモリ装置102へのアクセスがセキュアかまたは非セキュアかを自動的に示すフラグレジスタ750によるCPU104のスタック動作に特に有用である。
【0069】
図12は、アドレスデコーダー(264または265)及びプレグレジスタ750を全て含むモード選択部112を有する本発明の他の実施形態を示す図である。この場合CPU104から生成される前記メモリアクセス情報内の前記レジスタ名称及び前記CPUアドレスは図12の表に従って前記セキュアモードの活性化または非活性化を決定することに使用される。
【0070】
図12の表の第1行771を参照すると、前記レジスタ名称のフラグは前記セキュアモードの非活性化を示し、前記CPUアドレスは前記セキュアモードの非活性化を示す。この場合、前記セキュアモードの非活性化のためにセキュアモードイネーブル信号(SMI_Enable)は非活性化される。図12の表の第2行772を参照すると、前記レジスタ名称のフラグは前記セキュアモードの非活性化を示すが、前記CPUアドレスは前記セキュアモードの活性化を示す。この場合、前記セキュアモードの活性化のためにセキュアモードイネーブル信号(SMI_Enable)は活性化される。
【0071】
図12の表の第3行773を参照すると、前記レジスタ名称のフラグは前記セキュアモードの活性化を示すが、前記CPUアドレスは、前記セキュアモードの非活性化を示す。この場合、前記セキュアモードの活性化のためにセキュアモードイネーブル信号(SMI_Enable)は活性化される。図12の表の第4行774を参照すると、前記レジスタ名称のフラグは前記セキュアモードの活性化を示し、前記CPUアドレスは前記セキュアモードの活性化を示す。この場合、前記セキュアモードの活性化のためにセキュアモードイネーブル信号(SMI_Enable)は活性化される。図12の方法において、前記レジスタ名称または前記CPUアドレスのうち、少なくとも1つが前記セキュアモードの活性化を示す場合、前記セキュアモードの活性化のためにセキュアモードイネーブル信号(SMI_Enable)は活性化される。
【0072】
CPU104から生成されるメモリアドレス情報は、次の例のように一連の読出/書込コマンドを含む。
【0073】
write_8 R0 @0×100
secure_write_16 A8 @0×10A
read_8 R1 @0×102
secure_read_24 A8 @0×10A
【0074】
前記例示コマンド「write_8 R0 @0×100」は、前記セキュアモードの非活性化及び8ビットのCPUデータ幅を有する通常の書込を示す命令語名称「write_8」、メモリ装置102に書き込まれる前記CPUデータを含むレジスタ名称「R0」及び前記書込動作にアクセスされるためのメモリ装置102のアドレスを示すCPUアドレス「0×100」を含む。
【0075】
前記例示コマンド「secure_write_16 A8 @0×10A」は前記セキュアモードの活性化及び16ビットのCPUデータ幅を有するセキュア書込を示す命令語名称「secure_write_16」、メモリ装置102に書き込まれる前記CPUデータを含むレジスタ名称「A8」及び前記書込み動作にアクセスされるためのメモリ装置102のアドレスを示すCPUアドレス「0×10A」を含む。
【0076】
前記例示コマンド「read_8 R1 @0×102」は前記セキュアモードの非活性化及び8ビットのCPUデータ幅を有する読出を示す命令語名称「read_8」、メモリ装置102から読み出された前記データを受信するレジスタ名称「R1」及び前記読出動作にアクセスするためのメモリ装置102のアドレスを占めすCPUアドレスである「0×102」を含む。
【0077】
前記例示コマンド「secure_read_24 A8 @0×10A」は前記セキュアモードの活性化及び24ビットのCPUデータ幅を有するセキュア読出を示す命令語名称「secure_read_24」、メモリ装置102から読み出された前記データを受信するレジスタ名称「A8」及び前記読出動作にアクセスされるためのメモリ装置102のアドレスを示すCPUアドレスである「0×10A」を含む。
【0078】
再び、図3及び図14を参照すると、前記セキュアモードがセキュアモードイネーブル信号(SMI_Enable)に従って非活性化された場合(図14のステップS703)、ミキサ206は前記CPUデータ(即ち、初期書込データ)として前記混合データをメモリ書込有限状態機械208に出力する(図14のステップS704)。結果的に、メモリ書込有限状態機械208は前記書込みイネーブル信号の活性化に従ってメモリ装置102に前記メモリデータとして前記CPUデータ(即ち、初期記入データ)を伝達し、前記メモリアドレスとして前記CPUアドレスを伝達する(図14のステップS707)。従って、前記メモリデータはメモリ装置102の前記メモリアドレスに書き込まれる。メモリ装置102に書き込まれた前記メモリデータの大きさは、図4及び図13を参照して前述説明した幅選択器202の出力に従う。
【0079】
他の実施形態において、前記セキュアモードがセキュアモードイネーブル信号(SMI_Enable)に従って活性化された場合(図14のステップS703)、エンコーダー204はCPU104から生成された前記CPUデータ(即ち、初期書込データ)及び/または相応する前記CPUアドレスを使用して前記エラー検出コード(EDC)を生成する。前記エラー検出コード(EDC)のビット数は、図5、図16、及び図17を参照して、前述説明した前記CPUデータ幅を従う(図14のステップS705)。
【0080】
前記エラー検出コード(EDC)は前記請求項CPUデータ幅に従って多数のビットを有する混合書込データを生成するミキサ206によって前記CPUデータ(即ち、初期書込データ)と混合される(図14のステップS706)。結果的に、書込み有限状態機械208は、前記混合書込データから前記メモリデータ(即ち、最終書込みデータ)及び前記メモリアドレスを生成する(図14のステップS707)。前記メモリデータのビット数は図4及び図13を参照して、前述説明した幅選択器202から生成された前記メモリデータ幅信号「8」、「16」、及び「32」に従う。メモリ装置102は、メモリ装置102の前記メモリアドレスに前記メモリデータを受信し、保存する。このような方式で、図14のステップ707から前記セキュアモードが活性化された場合、セキュア書込み動作のためにメモリ装置102に保存された前記メモリデータは前記エラー検出コード(EDC)と統合される。
【0081】
図6は、本発明の実施形態に従う図2の読出部116を示すブロック図である。読出部116は、幅選択器252、エンコーダー254、デミキサ256、メモリ読出有限状態機械258、及び比較器260を含む。本発明の一実施形態に従うと、図6の読出部116の幅選択器252及びエンコーダー254は図3の書込部114の幅選択器202及びエンコーダー204と類似に具現される。図6の読出部116のデミキサ256は、前記データから前記エラー検出コード(EDC)を分離するために、図3の書込部114のミキサ206と逆の動作をする。
【0082】
図2及び図6を参照すると、セキュアメモリインターフェース108及び読出部116の前記構成要素である幅選択器252、エンコーダー254、デミキサ256、メモリ読出有限状態機械258、及び比較器260は、CPU104が読出動作のためにメモリ装置102にアクセスする場合、図15のフローチャートに従って動作する。CPU104は読出命令語名称及びアクセスするためのメモリ装置102のアドレスを示すCPUアドレスを含む読出コマンドのような読出メモリアクセス情報を生成する(図15のステップS801)。前記CPUアドレスは、前記CPUデータが読み出されるメモリ装置102の位置を示す。
【0083】
モード選択部112は、前記読出メモリアクセス情報から前記セキュアモードがCPUによって活性化されたかの有無を判断する(図15のステップS802)。モード選択器112は、前述説明した図7、8、9、10、11、及び12の実施形態のうち、何れかの1つに従って具現されることができる。
【0084】
さらに、メモリ読出有限状態機械258は、前記読出イネーブル信号の活性化に従ってメモリ装置102に前記メモリアドレスとして前記CPUアドレスを伝達する(図15のステップS803)。結果的に、メモリ装置102は、メモリ装置102の前記メモリアドレスから前記メモリデータを初期読出データとしてメモリ読出有限状態機械258に伝送する(図15のステップS804)。前記初期読出データのビット数は図4及び図13を参照して、前述説明した幅選択器252から生成された前記メモリデータ幅信号「8」、「16」、及び「32」に従う。
【0085】
前記セキュアモードがセキュアモードイネーブル信号(SMI_Enable)に従って非活性化された場合(図15のステップS805)、デミキサ256は前記初期読出データからどのエラー検出コードも分離せず、前記初期読出データから最終読出データ(即ち、前記CPUデータ)を生成する(図15のステップS806)。前記最終読出データ(即ち、CPUデータ)はCPU104に伝送され、活性化された前記CPUデータ幅信号「8」、「16」、及び「24」に相応する前記最終読出データのビット数を有する。
【0086】
他の実施形態において、前記セキュアモードがセキュアモードイネーブル信号(SMI_Enable)に従って活性化された場合(図15のステップS805)、デミキサ256は前記初期読出データからエラー検出コードを分離して前記初期読出データから最終読出データ(即ち、CPUデータ)を生成する(図15のステップS807)。結果的に、エンコーダー254は少なくとも1つの前記CPUアドレス及び前記最終読出データを使用する予想エラー検出コード(EDC)を生成する(図15のステップS808)。その後、比較器260は、エンコーダー254から生成された前記予想エラー検出コードとデミキサ256によって前記初期読出データから生成された計算されたエラー検出コード(EDC)を比較してエラー検出信号(SMI_Error)を生成する(図15のステップS809)。
【0087】
エンコーダー254から生成された前記予想エラー検出コードがデミキサ256によって前記初期読出データから生成された前記計算されたエラー検出コードEDCと実質的に同じではないと、比較器260は、メモリ読出有限状態機械258から受信された前記初期読出データによって欠陥注入が検出されたことを示すためにエラー検出信号(SMI_Error)を活性化する。電子システム100に前記初期読出データに対する前記欠陥注入が通知される。
【0088】
本発明の一実施形態において、書込部114と読出部116は、CPU104内において、各々ハードウェア論理ゲートで具現されてもよい。前記追加的なハードウェア論理ゲートはCPU104内において相対的に小さいシリコン面積を占める。欠陥注入はCPU104によって指定された前記セキュアデータに対してCPU104のハードウェアに具現された書込部114と読出部116を使用して検出される。従って、書込部114と読出部116に従ってシリコン面積の増加は、高容量のメモリ装置102においても大きな影響は及ぼさない。
【0089】
さらに、メモリ装置102内において、またはCPU104とメモリ装置102間のバス106で発生された欠陥注入が効率的に検出される。また、CPU104はメモリ装置102の容量に関わらずメモリ装置に保存された前記セキュアデータの量と位置を柔軟に指定することができる。
【0090】
前述説明した内容は、本発明の実施形態を示すのみで、本発明を限定しようとする意図ではない。従って、図示して説明した多数の構成要素は本発明の実施形態を示すのみである。さらに、本発明の一実施形態によると、ここの発明の詳細な説明に与えられた書込部114と読出部116の構成要素は、ハードウェア論理ゲートで具現されてもよい。しかし、書込部114と読出部116の構成要素はハードウェア及び/またはソフトウェアの組合せで具現されてもよい。
【0091】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【0092】
前述のような本発明の実施形態に従ったセキュアメモリインターフェースはCPU内において相対的に小さい面積を占める。さらに、メモリ装置内でまたはCPUとメモリ装置と間のバスで発生する欠陥注入が効率的に検出される。また、CPUはメモリ装置の容量に関係なくメモリ装置に保存された前記セキュアデータの量と位置を柔軟に指定することができる。
【符号の説明】
【0093】
100 電子システム
102 メモリ装置
104 データプロセッシング部(CPU)
106 バス
108 セキュアメモリインターフェース
110 スマートカード
112 モード選択部
114 書込部
116 読出部
202、252 幅選択器
204、254 エンコーダー
206 ミキサ
208 メモリ書込有限状態機械
256 デミキサ
258 メモリ読出有限状態機械
260 比較器
264、265 アドレス生成器
750 フラグレジスタ
SMI_Enable セキュアモードイネーブル信号
SMI_Error エラー検出信号
EDC エラー検出コード

【特許請求の範囲】
【請求項1】
セキュアモードが活性化された場合に、メモリ装置から受信された初期読出データからエラー検出コードを分離してデータプロセッシング部に送信される最終読出しデータを生成する読出部と、
前記データプロセッシング部からのメモリアクセス情報を使用して前記セキュアモードを活性化または非活性化させるモード選択部と、を含むことを特徴とするセキュアメモリインターフェース。
【請求項2】
前記読出部は、
前記セキュアモードが非活性化された場合に、前記初期読出データから前記エラー検出コードを分離せず、前記最終読出データを生成することを特徴とする請求項1記載のセキュアメモリインターフェース。
【請求項3】
前記メモリアクセス情報は、命令語名称を含み、
前記モード選択部は、前記命令語名称がセキュア読出命令語に該当する場合に、前記セキュアモードを活性化させ、前記命令語名称が通常の読出命令語に該当する場合に、前記セキュアモードを非活性化させる命令語デコーダーを含むことを特徴とする請求項2記載のセキュアメモリインターフェース。
【請求項4】
前記読出部及び前記命令語デコーダーは、中央処理装置CPUである前記データプロセッシング部の内部に配置されることを特徴とする請求項3記載のセキュアメモリインターフェース。
【請求項5】
前記メモリアクセス情報は、前記初期読出データのためにアクセスされる前記メモリ装置のアドレスを含み、
前記モード選択部は、前記アクセスされるメモリ装置のアドレスがセキュアアドレスである場合に、前記セキュアモードを活性化させ、前記アクセスされるメモリ装置のアドレスが非セキュアアドレスである場合に、前記セキュアモードを非活性化させるアドレスデコーダーを含むことを特徴とする請求項2記載のセキュアメモリインターフェース。
【請求項6】
前記アドレスデコーダーは、前記アクセスされるメモリ装置のアドレスを生成するCPUである前記データプロセッシング部の外部に配置されることを特徴とする請求項5記載のセキュアメモリインターフェース。
【請求項7】
前記メモリアクセス情報はレジスタ名称を含み、
前記モード選択部は、前記レジスタ名称が前記セキュアモードの活性化または非活性化に相応するかの有無を示す各々のレジスタフラグを含むことを特徴とする請求項2記載のセキュアメモリインターフェース。
【請求項8】
前記読出部と前記各々のレジスタフラグは、CPUである前記データプロセッシング部の内部に配置されることを特徴とする請求項7記載のセキュアメモリインターフェース。
【請求項9】
前記読出部は、
前記セキュアモードが非活性化された場合に、前記初期読出データから前記エラー検出コードを分離して前記最終読出データを生成し、前記セキュアモードが非活性化された場合に、前記初期読出データから前記エラー検出コードを分離せず前記最終読出データを生成するデミキサ(demixer)と、
相応するアドレスまたは最終読出しデータのうち、少なくとも何れかの1つから予想エラー検出コードを生成するエンコーダーと、
前記初期読出データから分離された前記エラー検出コードと前記予想エラー検出コードを比較してエラー検出信号を生成する比較器と、
を含むことを特徴とする請求項1記載のセキュアメモリインターフェース。
【請求項10】
前記読出部は、
前記メモリアクセス情報からメモリアドレス及び読出イネーブル信号を生成して前記メモリ装置から前記初期読出データを読み出す状態機械と、
少なくとも1つのデータ幅制御信号に従ったメモリデータ幅を有する前記初期読出データを読み出すように前記状態機械を制御する幅選択器と、をさらに含み、
前記少なくとも1つのデータ幅制御信号は、前記エンコーダーと前記デミキサの動作も制御することを特徴とする請求項9記載のセキュアメモリインターフェース。
【請求項11】
前記メモリデータ幅は、前記メモリ装置に相応し、
前記少なくとも1つのデータ幅制御信号は、前記データプロセッシング部のプロセッシングデータ幅に相応することを特徴とする請求項10記載のセキュアメモリインターフェース。
【請求項12】
前記データプロセッシング部は、バスによって前記メモリ装置から分離されたCPUであることを特徴とする請求項11記載のセキュアメモリインターフェース。
【請求項13】
前記データプロセッシング部及び前記メモリ装置は、1つの集積回路チップで製作されることを特徴とする請求項12記載のセキュアメモリインターフェース。
【請求項14】
前記データプロセッシング部及び前記メモリ装置は2つの分離された集積回路チップで製作されることを特徴とする請求項12記載のセキュアメモリインターフェース。
【請求項15】
セキュアモードが活性化された場合に、初期書込データ及び前記エラー検出コードから前記メモリ装置に書込まれるための最終書込データを生成し、前記セキュアモードが非活性化された場合に、前記エラー検出コード無しで前記初期書込データから前記最終書込データを生成する書込部をさらに含むことを特徴とする請求項1記載のセキュアメモリインターフェース。
【請求項16】
前記書込部及び前記読出部は、ハードウェア論理ゲートで具現されることを特徴とする請求項15記載のセキュアメモリインターフェース。
【請求項17】
セキュアモードが活性化された場合に、初期書込データ及びエラー検出コードからメモリ装置に書込されるための最終書込データを生成する書込部と、
データプロセッシング部から生成されたメモリアクセス情報を使用して前記セキュアモードを活性化または非活性化させるモード選択部と、を含むことを特徴とするセキュアメモリインターフェース。
【請求項18】
前記書込部は、
前記セキュアモードが非活性化された場合に、前記エラー検出コード無しで前記初期書込データから前記最終書込データを生成することを特徴とする請求項17記載のセキュアメモリインターフェース。
【請求項19】
前記メモリアクセス情報は、命令語名称を含み、
前記モード選択部は、前記命令語名称がセキュア書込命令語に該当する場合に、前記セキュアモードを活性化させ、前記命令語名称が通常の書込命令語に該当する場合に、前記セキュアモードを非活性化させる命令語デコーダーを含むことを特徴とする請求項18記載のセキュアメモリインターフェース。
【請求項20】
前記メモリアクセス情報は、アクセスされる前記メモリ装置のアドレスを含み、
前記モード選択部は、前記アクセスされるメモリ装置のアドレスがセキュアアドレスである場合に、前記セキュアモードを活性化させ、前記アクセスされるメモリ装置のアドレスが非セキュアアドレスである場合に、前記セキュアモードを非活性化させるアドレスデコーダーを含むことを特徴とする請求項18記載のセキュアメモリインターフェース。
【請求項21】
前記メモリアクセス情報は、レジスタ名称を含み、
前記モード選択部は、前記アドレス名称が前記セキュアモードの活性化または非活性化に相応するかの有無を示す各々のレジスタフラグを含むことを特徴とする請求項18記載のセキュアメモリインターフェース。
【請求項22】
前記書込部は、
相応するアドレスまたは前記初期書込データのうち、少なくとも1つから前記エラー検出コードを生成するエンコーダーと、
前記セキュアモードが活性化された場合に、前記初期書込データ及び前記エラー検出コードから混合書込データを生成し、前記セキュアモードが非活性化された場合に、前記エラー検出コード無しで前記初期書込データから前記混合書込データを生成するミキサ(mixer)を含み、
前記混合書込データは前記最終書込データを決めることを特徴とする請求項18記載のセキュアメモリインターフェース。
【請求項23】
前記書込部は、
前記混合書込データから前記最終書込データ、書込イネーブル信号及び前記最終書込データを保存する前記メモリ装置のメモリアドレスを生成する状態機械と、
少なくとも1つのデータ幅制御信号によるメモリデータ幅を有する前記最終書込データを生成するように前記状態機械を制御する幅選択器をさらに含み、
前記少なくとも1つのデータ幅制御信号は、前記データプロセッシング部のプロセッシングデータ幅に相応し、
前記少なくとも1つのデータ幅制御信号は、前記エンコーダーと前記ミキサの動作を制御することを特徴とする請求項22記載のセキュアメモリインターフェース。
【請求項24】
前記データプロセッシング部は、バスによって前記メモリ装置から分離されたCPUであることを特徴とする請求項23記載のセキュアメモリインターフェース。
【請求項25】
前記データプロセッシング部及び前記メモリ装置は1つの集積回路チップで製作されることを特徴とする請求項24記載のセキュアメモリインターフェース。
【請求項26】
前記データプロセッシング部及び前記メモリ装置は、2つの分離された集積回路チップで製作されることを特徴とする請求項24記載のセキュアメモリインターフェース。
【請求項27】
セキュアモードが活性化された場合に、メモリ装置から受信された初期読出データからエラー検出コードを分離してデータプロセッシング部へ送信される最終読出データを生成する段階と、
前記データプロセッシング部から生成されたメモリアクセス情報を使用して前記セキュアモードを活性化または非活性化させる段階と、を含むことを特徴とするメモリ装置のセキュアアクセス方法。
【請求項28】
前記セキュアモードが非活性化された場合に、前記初期読出データから前記エラー検出コードを分離せずに前記最終読出データを生成する段階をさらに含むことを特徴とする請求項27記載のメモリ装置のセキュアアクセス方法。
【請求項29】
前記メモリアクセス情報は、命令語名称を含み、前記メモリ装置のセキュアアクセス方法は、
前記命令語名称がセキュア読出命令語に該当する場合に、前記セキュアモードを活性化させる段階と、
前記命令語名称が通常の読出命令語に該当する場合に、前記セキュアモードを非活性化させる段階と、をさらに含むことを特徴とする請求項28記載のメモリ装置のセキュアアクセス方法。
【請求項30】
前記メモリアクセス情報は、前記初期読出データのためにアクセスされる前記メモリ装置のアドレスを含み、前記メモリ装置のセキュアアクセス方法は、
前記アクセスされるメモリ装置のアドレスがセキュアアドレスである場合に、前記セキュアモードを活性化させる段階と、
前記アクセスされるメモリ装置のアドレスが非セキュアアドレスである場合に、前記セキュアモードを非活性化させる段階と、をさらに含むことを特徴とする請求項28記載のメモリ装置のセキュアアクセス方法。
【請求項31】
前記メモリアクセス情報は、レジスタ名称を含み、
各々のレジスタフラグは、前記レジスタ名称が前記セキュアモードの活性化または非活性化に相応するかの有無を示すことを特徴とする請求項28記載のメモリ装置のセキュアアクセス方法。
【請求項32】
相応するアドレスまたは前記最終読出データのうち、少なくとも1つから予想エラー検出コードを生成する段階と、
前記初期読出データから分離された前記エラー検出コードと前記予想エラー検出コードとを比較してエラー検出信号を生成する段階と、をさらに含むことを特徴とする請求項28記載のメモリ装置のセキュアアクセス方法。
【請求項33】
前記メモリアクセス情報からメモリアドレス及び読出イネーブル信号を生成して前記メモリ装置から前記初期読出データを読み出す段階と、
少なくとも1つのデータ幅制御信号によるメモリデータ幅を有する前記初期読出データを読出すにように状態機械を制御する段階と、をさらに含み、
前記少なくとも1つのデータ幅制御信号は、前記データプロセッシング部のプロセッシングデータ幅に相応することを特徴とする請求項32記載のメモリ装置のセキュアアクセス方法。
【請求項34】
前記データプロセッシング部は、バスによって前記メモリ装置から分離されたCPUであることを特徴とする請求項33記載のメモリ装置のセキュアアクセス方法。
【請求項35】
前記データプロセッシング部及び前記メモリ装置は、1つの集積回路チップで製作されたことを特徴とする請求項34記載のメモリ装置のセキュアアクセス方法。
【請求項36】
前記データプロセッシング部及び前記メモリ装置は、2つの分離された集積回路チップで製作されることを特徴とする請求項34記載のメモリ装置のセキュアアクセス方法。
【請求項37】
前記セキュアモードが活性化された場合に、初期書込データ及び前記エラー検出コードから前記メモリ装置に書込されるための最終書込データを生成する段階と、
前記セキュアモードが非活性化された場合に、前記エラー検出コード無しで前記初期書込データから前記最終書込データを生成する段階と、をさらに含むことを特徴とする請求項27記載のメモリ装置のセキュアアクセス方法。
【請求項38】
セキュアモードが活性化された場合に、初期書込データ及びエラー検出コードからメモリ装置に書込まれるための最終書込データを生成する段階と、
データプロセッシング部から生成されたメモリアクセス情報を使用して前記セキュアモードを活性化または非活性化させる段階と、を含むことを特徴とするメモリ装置のセキュアアクセス方法。
【請求項39】
前記セキュアモードが非活性化された場合に、前記エラー検出コード無しで前記初期書込データから前記最終書込データを生成する段階をさらに含むことを特徴とする請求項38記載のメモリ装置のセキュアアクセス方法。
【請求項40】
前記メモリアクセス情報は、命令語名称を含み、前記メモリ装置のセキュアアクセス方法は、
前記命令語名称がセキュア書込命令語に該当する場合に、前記セキュアモードを活性化させる段階と、
前記命令語が通常の書込命令語に該当する場合に、前記セキュアモードを非活性化させる段階と、をさらに含むことを特徴とする請求項39記載のメモリ装置のセキュアアクセス方法。
【請求項41】
前記メモリアクセス情報は、アクセスされる前記メモリ装置のアドレスを含み、前記メモリ装置のセキュアアクセス方法は、
前記アクセスされるメモリ装置のアドレスがセキュアアドレスである場合に、前記セキュアモードを活性化させる段階と、
前記アクセスされるメモリ装置のアドレスが非セキュアアドレスである場合に、前記セキュアモードを非活性化させる段階と、をさらに含むことを特徴とする請求項39記載のメモリ装置のセキュアアクセス方法。
【請求項42】
前記メモリアクセス情報は、レジスタ名称を含み、
各々のレジスタフラグは、前記レジスタ名称が前記セキュアモードの活性化または非活性化に相応するかの有無を示すことを特徴とする請求項39記載のメモリ装置のセキュアアクセス方法。
【請求項43】
相応するアドレスまたは前記初期書込データのうち、少なくとも1つから前記エラー検出コードを生成する段階と、
前記セキュアモードが活性化される場合に、前記初期書込データ及び前記エラー検出コードから混合書込データを生成し、前記セキュアモードが非活性化される場合に、前記エラー検出コード無しで前記初期書込データから前記混合書込データを生成する段階と、をさらに含み、
前記混合書込データは、前記最終書込データを決定することを特徴とする請求項39記載のメモリ装置のセキュアアクセス方法。
【請求項44】
前記混合書込データから前記最終書込データ、書込イネーブル信号、及び前記最終書込データを保存する前記メモリ装置のメモリアドレスを生成する段階と、
少なくとも1つのデータ幅制御信号によるメモリデータ幅を有する前記最終書込データを生成する段階と、をさらに含み、
前記少なくとも1つのデータ幅制御信号は、前記データプロセッシング部のプロセッシングデータ幅に相応することを特徴とする請求項43記載のメモリ装置のセキュアアクセス方法。
【請求項45】
前記データプロセッシング部は、バスによって前記メモリ装置から分離されたCPUであることを特徴とする請求項44記載のメモリ装置のセキュアアクセス方法。
【請求項46】
前記データプロセッシング部及び前記メモリ装置は、1つの集積回路チップで製作されたことを特徴とする請求項45記載のメモリ装置のセキュアアクセス方法。
【請求項47】
前記データプロセッシング部及び前記メモリ装置は、2つの分離された集積回路チップで製作されることを特徴とする請求項45記載のメモリ装置のセキュアアクセス方法。
【請求項48】
メモリ装置に対するアクセス種類を指定する、少なくとも1つのアドレスビットまたはレジスタ名称を含むメモリアクセス情報を生成する段階と、
前記メモリアクセス情報によって指定された前記アクセス種類に基づいて前記メモリ装置にアクセスする段階と、を含むことを特徴とするメモリ装置のアクセス方法。
【請求項49】
前記アクセス種類は、セキュアアクセスまたは非セキュアアクセスを含むことを特徴とする請求項48記載のメモリ装置のアクセス方法。
【請求項50】
データプロセッシング部から生成された前記少なくとも1つのアドレスビットは、前記メモリ装置に対する前記アクセス種類を決めることを特徴とする請求項48記載のメモリ装置のアクセス方法。
【請求項51】
前記データプロセッシング部から生成された前記レジスタ名称は、前記メモリ装置に対する前記アクセス種類を決めることを特徴とする請求項48記載のメモリ装置のアクセス方法。
【請求項52】
メモリ装置と、
前記メモリ装置に対するアクセス種類を指定する少なくとも1つのアドレスビットまたはレジスタ名称を含むメモリアクセス情報を生成するデータプロセッシング部と、
前記メモリアクセス情報によって指定された前記アクセス種類に基づいて前記メモリ装置にアクセスするインターフェース部と、を含むことを特徴とする電子システム。
【請求項53】
前記アクセス種類は、セキュアアクセスまたは非セキュアアクセスを含むことを特徴とする請求項52記載の電子システム。
【請求項54】
前記データプロセッシング部から生成された前記少なくとも1つのアドレスビットは、前記メモリ装置に対する前記アクセス種類を決めることを特徴とする請求項52記載の電子システム。
【請求項55】
前記データプロセッシング部から生成された前記レジスタ名称は、前記メモリ装置に対する前記アクセス種類を決めることを特徴とする請求項52記載の電子システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2010−86523(P2010−86523A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2009−187810(P2009−187810)
【出願日】平成21年8月13日(2009.8.13)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】SAMSUNG ELECTRONICS CO.,LTD.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si,Gyeonggi−do 442−742(KR)
【Fターム(参考)】