JP2005032020A - 記憶装置 - Google Patents
記憶装置Info
- Publication number
- JP2005032020A JP2005032020A JP2003271213A JP2003271213A JP2005032020A JP 2005032020 A JP2005032020 A JP 2005032020A JP 2003271213 A JP2003271213 A JP 2003271213A JP 2003271213 A JP2003271213 A JP 2003271213A JP 2005032020 A JP2005032020 A JP 2005032020A
- Authority
- JP
- Japan
- Prior art keywords
- address
- state
- holding unit
- write
- value
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
【課題】 複数のプロセスで同一メモリを使用する場合、書き込みを行ったプロセスではない他プロセスによってメモリに保持されている内容の読み出しが可能であり、機密性が低下する。
【解決手段】 何れのプロセス01がメモリに書き込みを行ったかを状態保持部11に記憶し、メモリの内容を読み出そうとしているプロセスにより書き込みが行われたデータであるか、否かにより、メモリに保持されているデータにマスク機構12によって演算を施すことで機密性を高める。
【選択図】 図1
【解決手段】 何れのプロセス01がメモリに書き込みを行ったかを状態保持部11に記憶し、メモリの内容を読み出そうとしているプロセスにより書き込みが行われたデータであるか、否かにより、メモリに保持されているデータにマスク機構12によって演算を施すことで機密性を高める。
【選択図】 図1
Description
本発明は、情報処理システムおける複数のプロセス間での機密性を持った記憶装置に関する。
従来の記憶装置では、(特許文献1)に見られるように、書き換え可能な読み出し専用記憶装置に関して読み出しを制限している。
特表平8−503093号公報
しかしながら、従来の記憶装置では読み出し専用記憶装置に関するものであり、記憶領域への書き込みを行ったことによる読み出し許可を与えるだけでは、複数のプロセスにより共有される読み出し書き込み可能な記憶装置の記憶内容の機密性を保つことが出来ない。
本発明は、リセット前の処理により保存された情報をリセット後の処理により読み出すことができない、リセット前の処理の機密性を高めることが可能な記憶装置を提供することを目的とする。
本発明の請求項1記載の記憶装置は、アクセスアドレスバスによって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保存されている値を保持データバスへ出力し、書き込み制御信号を有効にすることにより書き込みデータバスの値が前記アクセスアドレスバスで示されるアドレスの記憶領域に保存するデータ保持部と、一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する状態保持部と、前記保持データバスからの出力を前記状態保持部の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御するマスク機構とを備えたことを特徴とする。
本発明の請求項2記載の記憶装置は、請求項1において、書き込みアドレスの書き込み状態を保持している状態保持部の値を記憶装置外部からの強制許可信号により一括して変更可能に、前記状態保持部と前記マスク機構の間に前記強制許可信号により制御される演算器を設けたことを特徴とする。
本発明の請求項3記載の記憶装置は、請求項1において、前記状態保持部の一括状態変更信号の入力に、記憶装置外部からの複数の一括状態変更信号を演算する信号の演算器を設けて、前記状態保持部の保持値を変更可能に構成したことを特徴とする。
本発明の請求項4記載の記憶装置は、請求項1において、前記状態保持部は、第1の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第1の状態保持部と、第2の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第2の状態保持部と、前記第1,第2の状態保持部の出力を演算する演算器とを備え、前記マスク機構では前記保持データバスからの出力を前記演算器の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御することを特徴とする。
本発明の請求項5記載の記憶装置は、請求項1において、前記マスク機構は、前記保持データバスからの出力を前記状態保持部の出力により演算を実行する第1の演算器群と、前記保持データバスからの出力を前記状態保持部の出力により前記第1の演算器群とは異なる演算を実行する第2の演算器群と、前記第1の演算器群の出力と前記第2の演算器群の出力を「許可状態」と「不許可状態」を指定する演算器選択信号に応じて選択して読み出しデータとして出力するセレクタとを備えたことを特徴とする。
本発明の請求項6記載の記憶装置は、請求項1において、前記データ保持部への特定のアクセスアドレスを検出するアクセスアドレス一致検出機構を備え、前記アクセスアドレス一致検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成したことを特徴とする。
本発明の請求項7記載の記憶装置は、請求項1において、前記データ保持部への特定アクセスパターンを検出する特定シーケンス検出機構を備え、前記特定シーケンス検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成したことを特徴とする。
以上のように本発明の記憶装置によると、アクセスアドレスバスによって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保存されている値を保持データバスへ出力し、書き込み制御信号を有効にすることにより書き込みデータバスの値が前記アクセスアドレスバスで示されるアドレスの記憶領域に保存するデータ保持部と、一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する状態保持部と、前記保持データバスからの出力を前記状態保持部の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御するマスク機構とを備えているので、リセット前の処理により保存された情報をリセット後の処理により読み出すことは不可能であるため、リセット前の処理の機密性を高めることが可能となる。
以下、本発明を各実施の形態に基づいて説明する。
(実施の形態1)
図1〜図6は本発明の(実施の形態1)を示す。
図1〜図6は本発明の(実施の形態1)を示す。
図1は(実施の形態1)の記憶装置を示す。
なお、図1にはこの記憶装置1を制御する処理装置01も同時に示している。
処理装置01はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス13、書き込み制御信号14、アクセスアドレスバス15、一括状態変更信号16および読み出しデータバス17を用いて、記憶装置1に対して情報を保存、読み出しを行う。制御装置01はリセット時に一括状態信号16を有効にする。
記憶装置1は、データ保持部10、状態保持部11およびマスク機構12から構成される。マスク機構12は論理積演算器群121から構成されている。
記憶装置1は、前記書き込みデータバス13、書き込み制御信号14、アクセスアドレスバス15、一括状態変更信号16を入力に持ち、また、読み出しデータバス17を出力として持つ。
データ保持部10は、書き込みデータバス13、書き込み制御信号14およびアクセスアドレスバス15を入力に持ち、保持データバス18を出力として持つ。
状態保持部11は、一括状態変更信号16、書き込み制御信号14およびアクセスアドレスバス15を入力に持ち、状態信号19を出力として持つ。
マスク機構12は、データ保持部10の出力である保持データバス18と状態保持部11の出力である状態信号19とを入力に持ち、読み出しデータバス17を出力としてもつ。
論理積演算器群121は、マスク機構12に入力される保持データバス18と状態信号19とを入力に持ち、読み出しデータバス17に出力する。
データ保持部10は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス15によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス18へ出力する。また、データ保持部10は書き込み制御信号14を有効にすることにより書き込みデータバス13の値が、アクセスアドレスバス15で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
状態保持部11は読み出し書き込み可能な記憶装置であり、データ保持部10の記憶領域と同数の1ビット幅の記憶領域群からなる。また、状態保持部11は一括状態変更信号16を有効にすることで、書き込み制御信号14の有効、無効にかかわらず、一括して、状態保持部11内の記憶領域に保持している値が「0」へと変化する。また、書き込み制御信号14が有効である場合、アクセスアドレスバス15によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「1」へと変化する。
以下、状態保持部11内の記憶領域に保持している値が「0」であることを不許可状態、また「1」であることを許可状態と呼ぶ。
マスク機構12は、構成要素である論理積演算器群121により保持データバス18の各ビットと状態信号19との論理積演算が実施され、その演算結果を読み出しデータバス17へ出力する。
図1の記憶装置を用いて、図2の処理シーケンスを実行した場合の動作を説明する。
図2は、前記処理装置01により20で示す処理A、処理装置01がリセット状態となるリセットシーケンス21、22で示す処理Bが順に実行されることを示している。
20で示す処理Aは、その処理内容が処理A−0、アドレス04へのライトである200、処理A−1、アドレス04へのリードである201、処理A−2を順に実行することを示している。
22で示す処理Bは、その処理内容が処理B−0、アドレス04へのリードである220、処理B−1、アドレス04へのライトである221、処理B−2、アドレス04のリードである222を順に実行することを示している。
処理A−0、処理A−1、処理A−2、処理B−0、処理B−1および処理B−2は、記憶装置1に対してアクセスを伴わない処理装置01の処理を示している。
処理装置01が起動直後である時のデータ保持部10および状態保持部11の内部状態を図3に示す。
データ保持部10に保持されている値はすべて不定であり、また、状態保持部11内に保持されている値は不許可状態である。
処理Aである20の処理過程の1つであるアドレス04へのライトである200の実行完了後のデータ保持部10および状態保持部11の内部状態を、図4に示す。
アドレス04へのライトである200の実行完了により、データ保持部10のアドレス04に対応する記憶領域に書き込みデータバス13の値が保持されると同時に、状態保持部11のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
処理Aである20の処理過程の1つであるアドレス04へのリードである201の実行について説明する。
アドレス04へのリードである201を実行時、データ保持部10のアドレス04に対応する記憶領域にはアドレス04へのライトである200の実行により書き込まれた値が保持されているため、保持データバス18にはアドレス04へのライトである200の実行により書き込まれた値が出力される。
また、状態保持部11のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号19には「1」が出力される。
よって、論理積演算器群121により読み出しデータバス17には論理積演算結果として保持データバス18と同一値が出力されることとなり、アドレス04へのライトである200の実行により書き込まれた値を読み出すことが可能である。
次に、リセットシーケンス21の実行完了後のデータ保持部10および状態保持部11の内部状態を図5に示す。
リセットシーケンス21では、処理装置01によって一括状態信号16が有効となることにより、記憶装置1においては、データ保持部10には変化がないが、状態保持部11の保持している値がすべて不許可状態「0」へと変化する。
次に、処理Bである22の処理過程の1つであるアドレス04へのリードである220の実行について説明する。
アドレス04へのリードである220を実行時、データ保持部10のアドレス04に対応する記憶領域にはアドレス04へのライトである200の実行により書き込まれた値が保持されているため、保持データバス18にはアドレス04へのライトである200の実行により書き込まれた値が出力される。
しかしながら、リセットシーケンス21の実行により、状態保持部11のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されているので、状態信号19には「0」が出力される。
よって、論理積演算器群121により読み出しデータバス17には論理積演算結果として保持データバス18と異なる値が出力されることとなり、アドレス04へのライトである200の実行により書き込まれた値を読み出すことは不可能となる。
次に、処理Bである22の処理過程の1つであるアドレス04へのライトである221の実行完了後のデータ保持部10および状態保持部11の内部状態を図6に示す。
アドレス04へのライトである221の実行完了によりデータ保持部10のアドレス04に対応する記憶領域に書き込みデータバス13の値が保持されると、これと同時に、状態保持部11のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
これにより、データ保持部10のアドレス04に対応する記憶領域に保持される値は、処理Aである20の処理過程の1つであるアドレス04へのライトである200の実行により保持されていた値が破壊され、処理Bである22の処理過程の1つであるアドレス04へのライトである221の実行による値が保持されることになる。
次に、処理Bである22の処理過程の1つであるアドレス04へのリードである222の実行について説明する。
アドレス04へのリードである222を実行時、データ保持部10のアドレス04に対応する記憶領域にはアドレス04へのライトである221の実行により書き込まれた値が保持されているため、保持データバス18にはアドレス04へのライトである221の実行により書き込まれた値が出力される。
また、状態保持部11のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号19には「1」が出力される。
よって、論理積演算器群121により読み出しデータバス17には論理積演算結果として保持データバス18と同一値が出力されることとなり、アドレス04へのライトである221の実行により書き込まれた値を読み出すことが可能である。
以上のように本実施の形態による記憶装置では、リセット前の処理により保存された情報をリセット後の処理により読み出すことは不可能であるため、リセット前の処理の機密性を高めることが可能となる。
(実施の形態2)
図7〜図13は本発明の(実施の形態2)を示す。
図7〜図13は本発明の(実施の形態2)を示す。
図7は(実施の形態2)の記憶装置を示す。
なお、図7にはこの記憶装置を制御する処理装置03も同時に示している。また、(実施の形態2)では書き込みアドレスの書き込み状態を保持している状態保持部31の値にかかわらず、記憶装置外部からの強制許可信号391によりマスク機構32を制御可能とするために、例えば図7では、論理和演算器393が設けられている点が(実施の形態1)とは異なっている。
処理装置03はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス33、書き込み制御信号34、アクセスアドレスバス35、一括状態変更信号36および読み出しデータバス37を用いて記憶装置3に対して情報を保存、読み出しを行う。制御装置03はリセット時に一括状態信号36を有効にし、また、スーパーバイザモードで処理を実行時には強制許可信号391を有効にする。
記憶装置3は、データ保持部30、状態保持部31、マスク機構32および論理和演算器393から構成される。マスク機構32は論理積演算器群321から構成されている。
記憶装置3は、書き込みデータバス33、書き込み制御信号34、アクセスアドレスバス35、一括状態変更信号36および強制許可信号391を入力に持ち、また、読み出しデータバス37を出力として持つ。
データ保持部30は、書き込みデータバス33、書き込み制御信号34およびアクセスアドレスバス35を入力に持ち、保持データバス38を出力として持つ。
状態保持部31は、一括状態変更信号36、書き込み制御信号34およびアクセスアドレスバス35を入力に持ち、状態信号390を出力として持つ。
論理和演算器393は状態信号390と強制許可信号391を入力とし、マスク制御信号392を出力する。
マスク機構32は、データ保持部30の出力である保持データバス38と論理和演算器の出力であるマスク信号392とを入力に持ち、読み出しデータバス37を出力としてもつ。
論理積演算器群321は、マスク機構32に入力される保持データバス38とマスク信号392とを入力に持ち、読み出しデータバス37に出力する。
データ保持部30は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス35によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス38へ出力する。また、書き込み制御信号34を有効にすることにより書き込みデータバス33の値が、アクセスアドレスバス35で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
状態保持部31は読み出し書き込み可能な記憶装置であり、データ保持部30の記憶領域と同数の1ビット幅の記憶領域群からなる。また、状態保持部31は一括状態変更信号36を有効にすることで、書き込み制御信号34の有効、無効にかかわらず、一括して、状態保持部31内の記憶領域に保持している値が「0」へと変化する。また、書き込み制御信号34が有効である場合、アクセスアドレスバス35によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「1」へと変化する。以下、状態保持部31内の記憶領域に保持している値が「0」であることを不許可状態、また、「1」であることを許可状態と呼ぶ。
論理和演算器393は、状態信号390と強制許可信号391を入力として、論理和演算を実行しその出力をマスク制御信号392を出力する。
マスク機構32は構成要素である論理積演算器群321により保持データバス38の各ビットとマスク信号392との論理積演算が実施され、その演算結果を読み出しデータバス37へ出力する。
図7の記憶装置を用いて、図8の処理シーケンスを実行した場合の動作を説明する。
図8は、処理装置03により40で示す処理A、リセットシーケンス41、処理Bである42、リセットシーケンスである43、スーパーバイザリード44が順に実行されることを示している。
また、40で示す処理Aは、その処理内容が処理A−0、アドレス04へのライトである400、処理A−1、アドレス04へのリードである401、処理A−2を順に実行することを示している。
リセットシーケンス41,43では、処理装置03がリセット状態となる事を示している。
42で示す処理Bは、その処理内容が処理B−0、アドレス04へのリードである420、処理B−1、アドレス04へのライトである421、処理B−2、アドレス04のリードである422を順に実行することを示している。
スーパーバイザリード44では、処理装置03はスーパーバイザモードでアドレス04へリードを実行することを示している。
また、処理A−0、処理A−1、処理A−2、処理B−0、処理B−1および処理B−2は、記憶装置3に対してアクセスを伴わない処理装置03の処理を示している。
処理装置03が起動直後である時のデータ保持部30および状態保持部31の内部状態を図9に示す。
データ保持部30に保持されている値はすべて不定であり、また、状態保持部31内に保持されている値は不許可状態である。
次に、処理Aである40の処理過程の1つであるアドレス04へのライトである400の実行完了後のデータ保持部30および状態保持部31の内部状態を図10に示す。
アドレス04へのライトである400の実行完了によりデータ保持部30のアドレス04に対応する記憶領域に書き込みデータバス33の値が保持されると同時に、状態保持部31のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
次に、処理Aである40の処理過程の1つであるアドレス04へのリードである401の実行について説明する。
アドレス04へのリードである401を実行時、データ保持部30のアドレス04に対応する記憶領域にはアドレス04へのライトである400の実行により書き込まれた値が保持されているため、保持データバス38にはアドレス04へのライトである400の実行により書き込まれた値が出力される。
また、状態保持部31のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されており、またユーザモードでの処理であることから強制許可信号391は無効を示す「0」である。これにより、マスク制御信号392には「1」が出力される。
よって、論理積演算器群321により読み出しデータバス37には論理積演算結果として保持データバス38と同一値が出力されることとなり、アドレス04へのライトである400の実行により書き込まれた値を読み出すことが可能である。
次に、リセットシーケンスである41実行完了後のデータ保持部30および状態保持部31の内部状態を図11に示す。
リセットシーケンスでは処理装置03によって一括状態信号36が有効となることにより、記憶装置3においては、データ保持部30には変化がないが、状態保持部31の保持している値がすべて不許可状態「0」へと変化する。
次に、処理Bである42の処理過程の1つであるアドレス04へのリードである420の実行について説明する。
アドレス04へのリードである420を実行時、データ保持部30のアドレス04に対応する記憶領域にはアドレス04へのライトである400の実行により書き込まれた値が保持されているため、保持データバス38にはアドレス04へのライトである400の実行により書き込まれた値が出力される。
しかしながら、リセットシーケンス41の実行により、状態保持部31のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されており、またユーザモードでの処理であることから強制許可信号391は無効を示す「0」である。よって、マスク制御信号392には「0」が出力される。
よって、論理積演算器群321により読み出しデータバス37には論理積演算結果として保持データバス38と異なる値が出力されることとなり、アドレス04へのライトである400の実行により書き込まれた値を読み出すことは不可能となる。
次に、処理Bである42の処理過程の1つであるアドレス04へのライトである421の実行完了後のデータ保持部30および状態保持部31の内部状態を図12に示す。
アドレス04へのライトである421の実行完了によりデータ保持部30のアドレス04に対応する記憶領域に書き込みデータバス33の値が保持されると同時に、状態保持部31のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
これにより、データ保持部30のアドレス04に対応する記憶領域に保持される値は、処理Aである40の処理過程の1つであるアドレス04へのライトである400の実行により保持されていた値が破壊され、処理Bである42の処理過程の1つであるアドレス04へのライトである421の実行による値が保持されることになる。
次に、処理Bである42の処理過程の1つであるアドレス04へのリードである422の実行について説明する。
アドレス04へのリードである422を実行時、データ保持部30のアドレス04に対応する記憶領域にはアドレス04へのライトである421の実行により書き込まれた値が保持されているため、保持データバス38にはアドレス04へのライトである421の実行により書き込まれた値が出力される。
また、状態保持部31のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、マスク制御信号392には「1」が出力される。
よって、論理積演算器群321により読み出しデータバス37には論理積演算結果として保持データバス38と同一値が出力されることとなり、アドレス04へのライトである421の実行により書き込まれた値を読み出すことが可能である。
次に、リセットシーケンス43の実行完了後のデータ保持部30および状態保持部31の内部状態を図13に示す。
リセットシーケンスでは処理装置03によって一括状態信号36が有効となることにより、記憶装置3においては、データ保持部30には変化がないが、状態保持部31の保持している値がすべて不許可状態「0」へと変化する。
次に、スーパーバイザリード44実行時の動作について説明する。
スーパーバイザモードでの実行であるので、処理装置03により記憶装置3に対して強制許可信号391は有効を示す「1」となる。
これにより、状態保持部31に保持されている値にかかわらず、マスク制御信号392は許可を示す「1」を出力する。
したがって、すべてのアドレスに対してデータ保持部30に保持されているデータがマスク機構32により読み出しデータバス37に出力される。
以上のように本実施の形態による記憶装置では、通常プロセスはリセット前の処理により保存された情報をリセット後に読み出すことが不可能であることから、リセット前の処理の機密性を高めることが可能であり、また、スーパーバイザプロセスはリセット前の処理により保存された情報をリセット後にも読み出すことが可能であり、管理性を向上させることが可能である。これにより、機密性と管理性の両立が可能となる。
(実施の形態3)
図14〜図21は本発明の(実施の形態3)を示す。
図14〜図21は本発明の(実施の形態3)を示す。
なお、図14には記憶装置を制御する処理装置05も同時に示している。また、(実施の形態3)では状態保持部51の保持値を変更可能にするために、例えば図14では、論理和演算器563が設けられている点が(実施の形態1)とは異なっている。さらに詳しくは、状態保持部51の一括状態変更信号56の入力に、記憶装置外部からの複数の一括状態変更信号561,562を演算する論理和演算器563が設けられている。
処理装置05はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス53、書き込み制御信号54、アクセスアドレスバス55、第1の一括状態変更信号561、第2の一括状態変更信号562および読み出しデータバス57を用いて記憶装置5に対して情報を保存、読み出しを行う。制御装置05がリセット時に第1の一括状態変更信号561には第1の一括状態変更信号561が有効であることを示す「1」が出力され、また、プロセス切り替えシーケンス実行時に第2の一括状態変更信号562には第2の一括状態変更信号562が有効であることを示す「1」が出力される。
記憶装置5は、データ保持部50、状態保持部51、マスク機構52および論理和演算器563から構成される。マスク機構52は論理積演算器群521から構成されている。
記憶装置5は、書き込みデータバス53、書き込み制御信号54、アクセスアドレスバス55、第1の一括状態変更信号561、第2の一括状態変更信号562を入力に持ち、また、読み出しデータバス57を出力として持つ。
データ保持部50は、書き込みデータバス53、書き込み制御信号54およびアクセスアドレスバス55を入力に持ち、保持データバス58を出力として持つ。
状態保持部51は、一括状態変更信号56、書き込み制御信号54およびアクセスアドレスバス55を入力に持ち、状態信号59を出力として持つ。
マスク機構52は、データ保持部50の出力である保持データバス58と状態保持部51の出力である状態信号59とを入力に持ち、読み出しデータバス57を出力としてもつ。
論理積演算器群521は、マスク機構52に入力される保持データバス58と状態信号59とを入力に持ち、読み出しデータバス57に出力する。
論理和演算器563は、第1,第2の一括状態変更信号561,562を入力にもち、一括状態変更信号56を出力に持つ。
データ保持部50は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス55によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス58へ出力する。また、書き込み制御信号54を有効にすることにより書き込みデータバス53の値が、アクセスアドレスバス55で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
状態保持部51は読み出し書き込み可能な記憶装置であり、データ保持部50の記憶領域と同数の1ビット幅の記憶領域群からなる。また、状態保持部51は一括状態変更信号56を有効にすることで、書き込み制御信号54の有効、無効にかかわらず、一括して、状態保持部51内の記憶領域に保持している値が「0」へと変化する。また、書き込み制御信号54が有効である場合、アクセスアドレスバス55によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「1」へと変化する。以下、状態保持部51内の記憶領域に保持している値が「0」であることを不許可状態、また、「1」であることを許可状態と呼ぶ。
マスク機構52は、構成要素である論理積演算器群521により保持データバス58の各ビットと状態信号59との論理積演算が実施され、その演算結果を読み出しデータバス57へ出力する。
論理和演算器563は、その入力である第1の一括状態変更信号561と第2の一括状態変更信号562の論理和演算を実施し、演算結果を一括状態変更信号56へ出力する。
図14の記憶装置を用いて、図15の処理シーケンスを実行した場合の動作を説明する。
図15は処理装置05により、60で示される処理A、リセットシーケンス61、62で示される処理B、プロセス切り替えシーケンス63、64で示される処理Cが順に実行されることを示している。
また、60で示される処理Aは、その処理内容が処理A−0、アドレス04へのライトである600、処理A−1、アドレス04へのリードである601、処理A−2を順に実行することを示している。
リセットシーケンス61では、処理装置05がリセット状態となる事を示している。
62で示される処理Bは、その処理内容が処理B−0、アドレス04へのリードである620、処理B−1、アドレス04へのライトである621、処理B−2、アドレス04のリードである622を順に実行することを示している。
プロセス切り替えシーケンス63では、処理装置05がプロセス切り替えシーケンスとなる事を示している。
64で示される処理Cは、その処理内容が処理C−0、アドレス04へのリードである640、処理C−1、アドレス04へのライトである641、処理C−2、アドレス04のリードである642を順に実行することを示している。
また、処理A−0、処理A−1、処理A−2、処理B−0、処理B−1、処理B−2、処理C−0、処理C−1および処理C−2は記憶装置5に対してアクセスを伴わない処理装置05の処理を示している。
処理装置05が起動直後である時のデータ保持部50および状態保持部51の内部状態を図16に示す。
データ保持部50に保持されている値はすべて不定であり、また、状態保持部51内に保持されている値は不許可状態である。
次に、60で示す処理Aの処理過程の1つであるアドレス04へのライトである600の実行完了後のデータ保持部50および状態保持部51の内部状態を図17に示す。
アドレス04へのライトである600の実行完了によりデータ保持部50のアドレス04に対応する記憶領域に書き込みデータバス53の値が保持されると同時に、状態保持部51のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
次に、60で示す処理Aの処理過程の1つであるアドレス04へのリードである601の実行について説明する。
アドレス04へのリードである601を実行時、データ保持部50のアドレス04に対応する記憶領域にはアドレス04へのライトである600の実行により書き込まれた値が保持されているため、保持データバス58にはアドレス04へのライトである600の実行により書き込まれた値が出力される。
また、状態保持部51のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号59には「1」が出力される。
よって、論理積演算器群521により読み出しデータバス57には論理積演算結果として保持データバス58と同一値が出力されることとなり、アドレス04へのライトである600の実行により書き込まれた値を読み出すことが可能である。
次に、リセットシーケンス61の実行完了後のデータ保持部50および状態保持部51の内部状態を図18に示す。
リセットシーケンスでは処理装置05によって第1の一括状態変更信号561が有効となることで、状態変更信号56が有効となり、記憶装置5においては、データ保持部50には変化がないが、状態保持部51の保持している値がすべて不許可状態「0」へと変化する。
次に、処理Bである62の処理過程の1つであるアドレス04へのリードである620の実行について説明する。
アドレス04へのリードである620を実行時、データ保持部50のアドレス04に対応する記憶領域にはアドレス04へのライトである600の実行により書き込まれた値が保持されているため、保持データバス58にはアドレス04へのライトである600の実行により書き込まれた値が出力される。
しかしながら、リセットシーケンス61の実行により、状態保持部51のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されているので、状態信号59には「0」が出力される。
よって、論理積演算器群521により読み出しデータバス57には論理積演算結果として保持データバス58と異なる値が出力されることとなり、アドレス04へのライトである600の実行により書き込まれた値を読み出すことは不可能となる。
次に、処理Bである62の処理過程の1つであるアドレス04へのライトである621の実行完了後のデータ保持部50および状態保持部51の内部状態を図19に示す。
アドレス04へのライトである621の実行完了によりデータ保持部50のアドレス04に対応する記憶領域に書き込みデータバス53の値が保持されると同時に、状態保持部51のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
これにより、データ保持部50のアドレス04に対応する記憶領域に保持される値は、処理Aである60の処理過程の1つであるアドレス04へのライトである600の実行により保持されていた値が破壊され、処理Bである62の処理過程の1つであるアドレス04へのライトである621の実行による値が保持されることになる。
次に、62で示す処理Bの処理過程の1つであるアドレス04へのリードである622の実行について説明する。
アドレス04へのリードである622を実行時、データ保持部50のアドレス04に対応する記憶領域にはアドレス04へのライトである621の実行により書き込まれた値が保持されているため、保持データバス58にはアドレス04へのライトである621の実行により書き込まれた値が出力される。
また、状態保持部51のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号59には「1」が出力される。
よって、論理積演算器群521により読み出しデータバス57には論理積演算結果として保持データバス58と同一値が出力されることとなり、アドレス04へのライトである621の実行により書き込まれた値を読み出すことが可能である。
次に、プロセス切り替えシーケンスである63の実行完了後のデータ保持部50および状態保持部51の内部状態を図20に示す。
プロセス切り替えシーケンスでは処理装置05によって第2の一括状態変更信号562が有効となることで、状態変更信号56が有効となり、記憶装置においては、データ保持部50には変化がないが、状態保持部51の保持している値がすべて不許可状態「0」へと変化する。
次に、64で示す処理Cの処理過程の1つであるアドレス04へのリードである640の実行について説明する。
アドレス04へのリードである640を実行時、データ保持部50のアドレス04に対応する記憶領域にはアドレス04へのライトである621の実行により書き込まれた値が保持されているため、保持データバス58にはアドレス04へのライトである621の実行により書き込まれた値が出力される。
しかしながら、プロセス切り替えシーケンス63の実行により、状態保持部51のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されているので、状態信号59には「0」が出力される。
よって、論理積演算器群521により読み出しデータバス57には論理積演算結果として保持データバス58と異なる値が出力されることとなり、アドレス04へのライトである621の実行により書き込まれた値を読み出すことは不可能となる。
次に、64で示す処理Cの処理過程の1つであるアドレス04へのライトである641の実行完了後のデータ保持部50および状態保持部51の内部状態を図21に示す。
アドレス04へのライトである641の実行完了によりデータ保持部50のアドレス04に対応する記憶領域に書き込みデータバス53の値が保持されると同時に、状態保持部51のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
これにより、データ保持部50のアドレス04に対応する記憶領域に保持される値は、62で示す処理Bの処理過程の1つであるアドレス04へのライトである621の実行により保持されていた値が破壊され、処理Cである64の処理過程の1つであるアドレス04へのライトである641の実行による値が保持されることになる。
次に、64で示す処理Cの処理過程の1つであるアドレス04へのリードである642の実行について説明する。
アドレス04へのリードである642を実行時、データ保持部50のアドレス04に対応する記憶領域にはアドレス04へのライトである641の実行により書き込まれた値が保持されているため、保持データバス58にはアドレス04へのライトである641の実行により書き込まれた値が出力される。
また、状態保持部51のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号59には「1」が出力される。
よって、論理積演算器群521により読み出しデータバス57には論理積演算結果として保持データバス58と同一値が出力されることとなり、アドレス04へのライトである641の実行により書き込まれた値を読み出すことが可能である。
このように本実施の形態による記憶装置では、前処理により保存された情報をリセット後の処理により読み出すことは不可能であり、リセットやプロセス切り替えなど複数要因による機密性確保が必要な複数のイベントに対応できる。これにより機密性を高めることが可能となる。
(実施の形態4)
図22〜図28は本発明の(実施の形態4)を示す。
図22〜図28は本発明の(実施の形態4)を示す。
なお、図22には記憶装置を制御する処理装置07も同時に示している。また、(実施の形態4)では状態保持部51の保持値を変更可能にするために、状態保持部71の内部に第1状態保持部711と第2状態保持部712および論理和演算器715が設けられている点が(実施の形態1)とは異なっている。
処理装置07はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス73、書き込み制御信号74、アクセスアドレスバス75、第1ブロック一括状態変更信号761、第2ブロック一括状態変更信号762および読み出しデータバス77を用いて記憶装置7に対して情報を保存、読み出しを行う。制御装置07はリセット時に第2ブロック一括状態信号762を有効にする。
記憶装置7は、データ保持部70、状態保持部71およびマスク機構72から構成される。マスク機構72は論理積演算器群721から構成されている。
記憶装置7は、書き込みデータバス73、書き込み制御信号74、アクセスアドレスバス75、第1ブロック一括状態変更信号761、第2ブロック一括状態変更信号762を入力に持ち、また、読み出しデータバス77を出力として持つ。
データ保持部70は、書き込みデータバス73、書き込み制御信号74およびアクセスアドレスバス75を入力に持ち、保持データバス78を出力として持つ。
状態保持部71は、第1ブロック一括状態変更信号761、第2ブロック一括状態信号762、書き込み制御信号74およびアクセスアドレスバス75を入力に持ち、第1状態保持部711、第2状態保持部712、第1状態信号713、第2状態信号714、論理和演算器715から構成され、状態信号79を出力として持つ。
マスク機構72は、データ保持部70の出力である保持データバス78と状態保持部71の出力である状態信号79とを入力に持ち、読み出しデータバス77を出力としてもつ。
論理積演算器群721は、マスク機構72に入力される保持データバス78と状態信号79とを入力に持ち、読み出しデータバス77に出力する。
データ保持部70は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス75によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス78へ出力する。また、書き込み制御信号74を有効にすることにより書き込みデータバス73の値が、アクセスアドレスバス75で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。本構成例では説明のため、データ保持部70の記憶領域数はアドレス00からアドレス07までの8つとする。
状態保持部71は読み出し書き込み可能な記憶装置であり、データ保持部70の記憶領域と同数の1ビット幅の記憶領域群を第1状態保持部711と第2状態保持部712を合わせて実現している。また、第1状態保持部711は第1ブロック一括状態変更信号761を有効にすることで、書き込み制御信号74の有効、無効にかかわらず、一括して、第1状態保持部711内の記憶領域に保持している値が「0」へと変化する。同様に第2状態保持部712は第2ブロック一括状態変更信号762を有効にすることで、書き込み制御信号74の有効、無効にかかわらず、一括して、第2状態保持部712内の記憶領域に保持している値が「0」へと変化する。
また、書き込み制御信号74が有効である場合、アクセスアドレスバス75によって与えられた値をアドレスとして、第1状態保持部711もしくは第2状態保持部712のどちらかのアクセスアドレスに対応した記憶領域に保持している値は「1」へと変化する。以下、状態保持部11内の記憶領域に保持している値が「0」であることを不許可状態、また、「1」であることを許可状態と呼ぶ。
本構成例では説明のため、第1状態保持部711はアドレス00からアドレス03までの記憶領域の状態の保持を担当し、第2状態保持部712はアドレス04からアドレス07までの記憶領域の状態の保持を担当するものとする。
また、第1状態保持部711からはアクセスアドレス75によって与えられた値が担当するアドレスであった場合、そのアドレスに対する状態信号を第1状態信号713に出力し、担当するアドレスでなかった場合は0を出力する。
同様に第2状態保持部712からはアクセスアドレス75によって与えられた値が担当するアドレスであった場合、そのアドレスに対する状態信号を第2状態信号714に出力し、担当するアドレスでなかった場合は0を出力する。
論理和演算器715は第1状態信号713と第2状態信号714の論理和演算結果を状態信号79として出力する。
マスク機構72は構成要素である論理積演算器群721により保持データバス78の各ビットと状態信号79との論理積演算が実施され、その演算結果を読み出しデータバス77へ出力する。
図22記憶装置を用いて、図23の処理シーケンスを実行した場合の動作を説明する。
図23は処理装置07により、処理Aである80、リセットシーケンスである81、処理Bである82が順に実行されることを示している。
また、処理Aである80はその処理内容が処理A−0、アドレス04へのライトである800、処理A−1、アドレス04へのリードである801、処理A−2、アドレス00へのライトである802、処理A−3、アドレス00へのリードである803、処理A−4を順に実行することを示している。
81のリセットシーケンスでは処理装置がリセット状態となる事を示している。
処理Bである82はその処理内容が処理B−0、アドレス04へのリードである820、処理B−1、アドレス04へのライトである821、処理B−2、アドレス04のリードである822、処理B−3、アドレス00のリードである823を順に実行することを示している。
また、処理A−0、処理A−1、処理A−2、処理A−3、処理A−4、処理B−0、処理B−1、処理B−2および処理B−3は記憶装置7に対してアクセスを伴わない処理装置07の処理を示している。
処理装置07が起動直後である時のデータ保持部70および状態保持部71の内部状態を図24に示す。
データ保持部70に保持されている値はすべて不定であり、また、状態保持部71内に保持されている値は不許可状態である。
次に、処理Aである80の処理過程の1つであるアドレス04へのライトである800の実行完了後のデータ保持部70および状態保持部71の内部状態を図25に示す。
アドレス04へのライトである800の実行完了によりデータ保持部70のアドレス04に対応する記憶領域に書き込みデータバス73の値が保持されると同時に、状態保持部71のアドレス04に対応する記憶領域は第2状態保持部712であり、第2状態保持部712内のアドレス04に対応する記憶領域には許可状態「1」を保持する。
次に、処理Aである80の処理過程の1つであるアドレス04へのリードである801の実行について説明する。
アドレス04へのリードである801を実行時、データ保持部70のアドレス04に対応する記憶領域にはアドレス04へのライトである800の実行により書き込まれた値が保持されているため、保持データバス78にはアドレス04へのライトである800の実行により書き込まれた値が出力される。
また、状態保持部71内のアドレス04に対応する記憶領域である第2状態保持部712に保持される値は許可状態「1」が保持されているので、論理和演算器715を経て、状態信号79には「1」が出力される。
よって、論理積演算器群721により読み出しデータバス77には論理積演算結果として保持データバス78と同一値が出力されることとなり、アドレス04へのライトである800の実行により書き込まれた値を読み出すことが可能である。
次に、処理Aである80の処理過程の1つであるアドレス00へのライトである802の実行完了後のデータ保持部70および状態保持部71の内部状態を図26に示す。
アドレス00へのライトである802の実行完了によりデータ保持部70のアドレス00に対応する記憶領域に書き込みデータバス73の値が保持されると同時に、状態保持部71のアドレス00に対応する記憶領域は第1状態保持部711であり、第1状態保持部711内のアドレス00に対応する記憶領域には許可状態「1」を保持する。
次に、処理Aである80の処理過程の1つであるアドレス00へのリードである803の実行について説明する。
アドレス00へのリードである803を実行時、データ保持部70のアドレス00に対応する記憶領域にはアドレス00へのライトである802の実行により書き込まれた値が保持されているため、保持データバス78にはアドレス00へのライトである802の実行により書き込まれた値が出力される。
また、状態保持部71内のアドレス00に対応する記憶領域である第1状態保持部711に保持される値は許可状態「1」が保持されているので、論理和演算器715を経て、状態信号79には「1」が出力される。
よって、論理積演算器群721により読み出しデータバス77には論理積演算結果として保持データバス78と同一値が出力されることとなり、アドレス00へのライトである802の実行により書き込まれた値を読み出すことが可能である。
次に、リセットシーケンスである81実行完了後のデータ保持部70および状態保持部71の内部状態を図27に示す。
リセットシーケンスでは処理装置07によって第2ブロック一括状態変更信号762が有効となることにより、記憶装置7においては、データ保持部70には変化がないが、第2状態保持部712の保持している値がすべて不許可状態「0」へと変化する。つまり、状態保持部71としてはアドレス04からアドレス07までの状態が不許可を示す「0」へと変化する。
次に、処理Bである82の処理過程の1つであるアドレス04へのリードである820の実行について説明する。
アドレス04へのリードである820を実行時、データ保持部70のアドレス04に対応する記憶領域にはアドレス04へのライトである800の実行により書き込まれた値が保持されているため、保持データバス78にはアドレス04へのライトである800の実行により書き込まれた値が出力される。
しかしながら、リセットシーケンスである81の実行により、状態保持部71のアドレス04に対応する第2状態保持部712内の記憶領域に保持される値は不許可状態「0」が保持されているので、第2状態信号714を経由して、状態信号79には「0」が出力される。
よって、論理積演算器群721により読み出しデータバス77には論理積演算結果として保持データバス78と異なる値が出力されることとなり、アドレス04へのライトである800の実行により書き込まれた値を読み出すことは不可能となる。
次に、処理Bである22の処理過程の1つであるアドレス04へのライトである821の実行完了後のデータ保持部70および状態保持部71の内部状態を図28に示す。
アドレス04へのライトである821の実行完了によりデータ保持部70のアドレス04に対応する記憶領域に書き込みデータバス73の値が保持されると同時に、状態保持部71のアドレス04に対応する記憶領域は第2状態保持部712であり、第2状態保持部712内のアドレス04に対応する記憶領域には許可状態「1」を保持する。
これにより、データ保持部70のアドレス04に対応する記憶領域に保持される値は、処理Aである80の処理過程の1つであるアドレス04へのライトである800の実行により保持されていた値が破壊され、処理Bである82の処理過程の1つであるアドレス04へのライトである821の実行による値が保持されることになる。
次に、処理Bである82の処理過程の1つであるアドレス04へのリードである822の実行について説明する。
アドレス04へのリードである822を実行時、データ保持部70のアドレス04に対応する記憶領域にはアドレス04へのライトである821の実行により書き込まれた値が保持されているため、保持データバス78にはアドレス04へのライトである821の実行により書き込まれた値が出力される。
また、状態保持部71内のアドレス04に対応する記憶領域である第2状態保持部712に保持される値は許可状態「1」が保持されているので、論理和演算器715を経て、状態信号79には「1」が出力される。
よって、論理積演算器群721により読み出しデータバス77には論理積演算結果として保持データバス78と同一値が出力されることとなり、アドレス04へのライトである821の実行により書き込まれた値を読み出すことが可能である。
次に、処理Bである82の処理過程の1つであるアドレス00へのリードである823の実行について説明する。リセットシーケンス81を実行後ではあるが、リセットシーケンスでは第2状態保持部712内の情報のみが不許可を示す「0」となるため、リセットシーケンスにより第1状態保持部711は変化していない。
アドレス00へのリードである822を実行時、データ保持部70のアドレス00に対応する記憶領域にはアドレス00へのライトである802の実行により書き込まれた値が保持されているため、保持データバス78にはアドレス00へのライトである802の実行により書き込まれた値が出力される。
また、状態保持部71内のアドレス00に対応する記憶領域である第1状態保持部711に保持される値は許可状態「1」が保持されているので、論理和演算器715を経て、状態信号79には「1」が出力される。
よって、論理積演算器群721により読み出しデータバス77には論理積演算結果として保持データバス78と同一値が出力されることとなり、アドレス00へのライトである802の実行により書き込まれた値、つまり、リセットシーケンス以前処理により書き込まれた値を読み出すことが可能である。
以上のように本実施の形態による記憶装置では、前処理により保存された情報をリセット後の処理により読み出すことは不可能な領域と可能な領域の両方を提供できる。これにより機密性の確保とデータ受け渡し領域としての柔軟性を両立させることが可能となる。
この(実施の形態4)の状態保持部71では、第1,第2の状態保持部711,712の2つを有していたが、3以上の保持部の出力を演算器715などで演算する構成であっても同様に実施できる。
この(実施の形態4)は(実施の形態1)だけではなく、(実施の形態2)(実施の形態3)においても同様に実施できる。
(実施の形態5)
図29〜図33は本発明の(実施の形態5)を示す。
図29〜図33は本発明の(実施の形態5)を示す。
なお、図29には記憶装置を制御する処理装置09も同時に示している。また、(実施の形態5)ではマスク機構92が、第1の演算器群と第2の演算器群とで構成されている点が(実施の形態1)とは異なっている。
処理装置09はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス93、書き込み制御信号94、アクセスアドレスバス95、一括状態変更信号96および読み出しデータバスを用いて記憶装置9に対して情報を保存、読み出しを行う。制御装置09はリセット時に一括状態信号96を有効にする。
記憶装置9はデータ保持部90、状態保持部91およびマスク機構92から構成される。
マスク機構92は、論理積演算器群921、否定論理積演算器群922、演算器選択機構923、セレクタ924から構成されている。
記憶装置9は、書き込みデータバス93、書き込み制御信号94、アクセスアドレスバス95、一括状態変更信号96を入力に持ち、また、読み出しデータバス97を出力として持つ。
データ保持部90は、書き込みデータバス93、書き込み制御信号94およびアクセスアドレスバス95を入力に持ち、保持データバス98を出力として持つ。
状態保持部91は、一括状態変更信号96、書き込み制御信号94およびアクセスアドレスバス95を入力に持ち、状態信号99を出力として持つ。
マスク機構92はデータ保持部90の出力である保持データバス98と状態保持部91の出力である状態信号99とを入力に持ち、読み出しデータバス97を出力としてもつ。
論理積演算器群921は、マスク機構92に入力される保持データバス98と状態信号99とを入力に持ち、セレクタ924に出力する。
否定論理積演算器群922は、マスク機構92に入力される保持データバス98と状態信号99とを入力に持ち、セレクタ924に出力する。
演算器選択機構923はランダムな値を演算器選択信号925としてセレクタ924に出力する。
セレクタ924は、論理積演算器群921の出力と、否定論理積演算器群922の出力と、演算器選択信号925を入力に持ち、演算器選択信号925が「0」の時は論理積演算器群921の出力を、演算器選択信号925が「1」の時は否定論理積演算器群922の出力を選択し、読み出しデータバス97へ出力する。
データ保持部90は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス95によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス98へ出力する。また、書き込み制御信号94を有効にすることにより書き込みデータバス93の値が、アクセスアドレスバス95で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
状態保持部91は読み出し書き込み可能な記憶装置であり、データ保持部90の記憶領域と同数の1ビット幅の記憶領域群からなる。また、状態保持部91は一括状態変更信号96を有効にすることで、書き込み制御信号94の有効、無効にかかわらず、一括して、状態保持部91内の記憶領域に保持している値が「0」へと変化する。また、書き込み制御信号94が有効である場合、アクセスアドレスバス95によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「1」へと変化する。以下、状態保持部91内の記憶領域に保持している値が「0」であることを不許可状態、また、「1」であることを許可状態と呼ぶ。
マスク機構92は、構成要素である論理積演算器群921と否定論理積演算器群922により保持データバス98の各ビットと状態信号99との演算が実施され、その演算結果を演算器選択機構923の出力である演算器選択信号925を制御信号としてセレクタ924により読み出しデータバス97へ出力する。
図29の記憶装置を用いて、図30の処理シーケンスを実行した場合の動作を説明する。
図30は処理装置9により、処理Aである100、リセットシーケンスである101、処理Bである102が順に実行されることを示している。
また、処理Aである100はその処理内容が処理A−0、アドレス04へのライトである1000、処理A−1、アドレス04へのリードである1001、処理A−2を順に実行することを示している。
101のリセットシーケンスでは処理装置がリセット状態となる事を示している。
処理Bである102はその処理内容が処理B−0、アドレス04へのリードである1020、処理B−1、アドレス04へのリードである1021を順に実行することを示している。
また、処理A−0、処理A−1、処理A−2、処理B−0、処理B−1、および処理B−2は記憶装置9に対してアクセスを伴わない処理装置09の処理を示している。
処理装置09が起動直後である時のデータ保持部90および状態保持部91の内部状態を図30に示す。
データ保持部90に保持されている値はすべて不定であり、また、状態保持部91内に保持されている値は不許可状態である。
次に、処理Aである100の処理過程の1つであるアドレス04へのライトである1000の実行完了後のデータ保持部90および状態保持部91の内部状態を図31に示す。
アドレス04へのライトである1000の実行完了によりデータ保持部90のアドレス04に対応する記憶領域に書き込みデータバス93の値が保持されると同時に、状態保持部91のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
次に、処理Aである100の処理過程の1つであるアドレス04へのリードである1001の実行について説明する。
アドレス04へのリードである1001を実行時、データ保持部90のアドレス04に対応する記憶領域にはアドレス04へのライトである1000の実行により書き込まれた値が保持されているため、保持データバス98にはアドレス04へのライトである1000の実行により書き込まれた値が出力される。
また、状態保持部91のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号99には「1」が出力される。
よって、論理積演算器群921および否定論理積演算器群922のどちらの出力にも保持データバス18と同一値が出力されることとなり、アドレス04へのライトである200の実行により書き込まれた値を読み出すことが可能である。
次に、リセットシーケンスである101実行完了後のデータ保持部90および状態保持部91の内部状態を図33に示す。
リセットシーケンスでは処理装置09によって一括状態信号96が有効となることにより、記憶装置9においては、データ保持部90には変化がないが、状態保持部91の保持している値がすべて不許可状態「0」へと変化する。
次に、処理Bである102の処理過程の1つであるアドレス04へのリードである1020の実行について説明する。
アドレス04へのリードである1020を実行時、データ保持部90のアドレス04に対応する記憶領域にはアドレス04へのライトである1000の実行により書き込まれた値が保持されているため、保持データバス98にはアドレス04へのライトである1000の実行により書き込まれた値が出力される。
しかしながら、リセットシーケンスである101の実行により、状態保持部91のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されているので、状態信号99には「0」が出力される。
ここで、演算器選択機構923により出力されている演算器選択信号925により論理積演算器群921もしくは、否定論理積演算器群922の出力が選択される。演算器選択信号925がいかなる値であっても、論理積演算結果として保持データバス98と異なる値が読み出しデータバス97へ出力されることとなり、アドレス04へのライトである1000の実行により書き込まれた値を読み出すことは不可能となる。たとえば、演算器選択信号925に「0」がランダムな値として出力されていたとし、論理積演算器群921の出力がセレクタにより選択されるため、読み出しデータバス97には「0」を連結したデータが出力されることになる。
次に、処理Bである102の処理過程の1つであるアドレス04へのリードである1021の実行について説明する。ここでは、演算器選択信号925にランダムな値として「1」が出力されているとする。アドレス04へのリードである1021を実行時、データ保持部90のアドレス04に対応する記憶領域にはアドレス04へのライトである1000の実行により書き込まれた値が保持されているため、保持データバス98にはアドレス04へのライトである1000の実行により書き込まれた値が出力される。
しかしながら、リセットシーケンスである101の実行により、状態保持部91のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されているので、状態信号99には「0」が出力される。
ここで、演算器選択機構923により出力されている演算器選択信号925が「1」であることにより否定論理積演算器群922の出力が選択される。否定論理積演算器群922の出力がセレクタにより選択されるため、読み出しデータバス97には「1」を連結したデータが出力されることになる。
以上のように本実施の形態による記憶装置では、前処理により保存された情報をリセット後の処理により読み出すことは不可能である。また、許可されていない読み出しデータを複数生成できることで、読み出されたデータからの内部回路構造解析をより困難なものにすることが出来る。
この(実施の形態5)のマスク機構92を構成する演算器群921,922の数は2つであったが、3以上であっても同様に実施できる。
この(実施の形態5)は(実施の形態1)だけではなく、(実施の形態2)(実施の形態3)(実施の形態4)においても同様に実施できる。
(実施の形態6)
図34〜図39は本発明の(実施の形態6)を示す。
図34〜図39は本発明の(実施の形態6)を示す。
なお、図34には記憶装置を制御する処理装置0011も同時に示している。また、(実施の形態6)ではデータ保持部1100への特定のアクセスアドレスを検出するアクセスアドレス一致検出機構1110を備え、前記アクセスアドレス一致検出機構1110の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成している点が(実施の形態1)とは異なっている。
処理装置0011はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス1103、書き込み制御信号1104、アクセスアドレスバス1105、および読み出しデータバス1107を用いて記憶装置11に対して情報を保存、読み出しを行う。
記憶装置11は、データ保持部1100、状態保持部1101、アクセスアドレス一致検出機構1110およびマスク機構1102から構成される。マスク機構1102は論理積演算器群11021から構成されている。
記憶装置11は、書き込みデータバス1103、書き込み制御信号1104、アクセスアドレスバス1105を入力に持ち、また、読み出しデータバス1107を出力として持つ。
データ保持部1100は、書き込みデータバス1103、書き込み制御信号1104およびアクセスアドレスバス1105を入力に持ち、保持データバス1108を出力として持つ。
状態保持部1101は、一括状態変更信号1106、書き込み制御信号1104およびアクセスアドレスバス1105を入力に持ち、状態信号1109を出力として持つ。
マスク機構1102は、データ保持部1100の出力である保持データバス1108と状態保持部1101の出力である状態信号1109とを入力に持ち、読み出しデータバス1107を出力としてもつ。
論理積演算器群11021は、マスク機構1102に入力される保持データバス1108と状態信号1109とを入力に持ち、読み出しデータバス1107に出力する。
アクセスアドレス一致検出機構1110は、アクセスアドレスバス1105を入力に持ち、一括状態変更信号1106を出力にもつ。
データ保持部1100は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス1105によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス1108へ出力する。また、書き込み制御信号1104を有効にすることにより書き込みデータバス1103の値が、アクセスアドレスバス1105で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
状態保持部1101は読み出し書き込み可能な記憶装置であり、データ保持部1100の記憶領域と同数の1ビット幅の記憶領域群からなる。また、状態保持部1101は一括状態変更信号1106を有効にすることで、書き込み制御信号1104の有効、無効にかかわらず、一括して、状態保持部1101内の記憶領域に保持している値が「0」へと変化する。また、書き込み制御信号1104が有効である場合、アクセスアドレスバス1105によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「1」へと変化する。以下、状態保持部1101内の記憶領域に保持している値が「0」であることを不許可状態、また、「1」であることを許可状態と呼ぶ。
マスク機構1102は、構成要素である論理積演算器群11021により保持データバス1108の各ビットと状態信号1109との論理積演算が実施され、その演算結果を読み出しデータバス1107へ出力する。
アクセスアドレス一致検出機構1110は、アクセスアドレスバス1105の値があらかじめ決められた値と一致する場合、出力である一括状態変更信号1106に有効をあらわす値を出力し、アクセスアドレスバス1105の値があらかじめ決められた値ではない場合は一括状態変更信号1106に無効を出力する。ここではあらかじめ決められた値を「07」とする。
図34の記憶装置を用いて、図35の処理シーケンスを実行した場合の動作を説明する。
図34は処理装置0011により、処理Aである120、処理Bである122が順に実行されることを示している。
また、処理Aである120はその処理内容が処理A−0、アドレス04へのライトである1200、処理A−1、アドレス04へのリードである1201、処理A−2、特定アドレス(07)へのアクセスである1202を順に実行することを示している。
処理Bである122はその処理内容が処理B−0、アドレス04へのリードである1220、処理B−1、アドレス04へのライトである1221、処理B−2、アドレス04のリードである1222を順に実行することを示している。
また、処理A−0、処理A−1、処理A−2、処理B−0、処理B−1および処理B−2は記憶装置11に対してアクセスを伴わない処理装置0011の処理を示している。
また、処理A−0、処理A−1、処理A−2、処理B−0、処理B−1および処理B−2は記憶装置11に対してアクセスを伴わない処理装置0011の処理を示している。
処理装置0011が起動直後である時のデータ保持部1100および状態保持部1101の内部状態を図36に示す。
データ保持部1100に保持されている値はすべて不定であり、また、状態保持部1101内に保持されている値は不許可状態である。
次に、処理Aである120の処理過程の1つであるアドレス04へのライトである1200の実行完了後のデータ保持部1100および状態保持部1101の内部状態を図36に示す。
アドレス04へのライトである1200の実行完了によりデータ保持部1100のアドレス04に対応する記憶領域に書き込みデータバス1103の値が保持されると同時に、状態保持部1101のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
次に、処理Aである120の処理過程の1つであるアドレス04へのリードである1201の実行について説明する。
アドレス04へのリードである1201を実行時、データ保持部1100のアドレス04に対応する記憶領域にはアドレス04へのライトである1200の実行により書き込まれた値が保持されているため、保持データバス1108にはアドレス04へのライトである1200の実行により書き込まれた値が出力される。
また、状態保持部1101のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号1109には「1」が出力される。
よって、論理積演算器群11021により読み出しデータバス1107には論理積演算結果として保持データバス1108と同一値が出力されることとなり、アドレス04へのライトである1200の実行により書き込まれた値を読み出すことが可能である。
次に、処理Aである120の処理過程の1つである特定アドレス(07)へのリードである1202の実行について説明する。
実行完了後のデータ保持部1100および状態保持部1101の内部状態を図38に示す。
アクセスアドレスバスの値が07となることから、アクセスアドレス一致検出機構により1106一括状態信号1106が有効となることにより、記憶装置11においては、データ保持部1100には変化がないが、状態保持部1101の保持している値がすべて不許可状態「0」へと変化する。
次に、処理Bである122の処理過程の1つであるアドレス04へのリードである1220の実行について説明する。
アドレス04へのリードである1220を実行時、データ保持部1100のアドレス04に対応する記憶領域にはアドレス04へのライトである1200の実行により書き込まれた値が保持されているため、保持データバス1108にはアドレス04へのライトである1200の実行により書き込まれた値が出力される。
しかしながら、特定アドレスへのアクセスである1202の実行により、状態保持部1101のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されているので、状態信号1109には「0」が出力される。
よって、論理積演算器群11021により読み出しデータバス1107には論理積演算結果として保持データバス1108と異なる値が出力されることとなり、アドレス04へのライトである1200の実行により書き込まれた値を読み出すことは不可能となる。
次に、処理Bである122の処理過程の1つであるアドレス04へのライトである1221の実行完了後のデータ保持部1100および状態保持部11の内部状態を図39に示す。
アドレス04へのライトである1221の実行完了によりデータ保持部1100のアドレス04に対応する記憶領域に書き込みデータバス1103の値が保持されると同時に、状態保持部1101のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
これにより、データ保持部1100のアドレス04に対応する記憶領域に保持される値は、処理Aである120の処理過程の1つであるアドレス04へのライトである1200の実行により保持されていた値が破壊され、処理Bである22の処理過程の1つであるアドレス04へのライトである1221の実行による値が保持されることになる。
次に、処理Bである122の処理過程の1つであるアドレス04へのリードである1222の実行について説明する。
アドレス04へのリードである1222を実行時、データ保持部1100のアドレス04に対応する記憶領域にはアドレス04へのライトである1221の実行により書き込まれた値が保持されているため、保持データバス1108にはアドレス04へのライトである1221の実行により書き込まれた値が出力される。
また、状態保持部1101のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号19には「1」が出力される。
よって、論理積演算器群11021により読み出しデータバス1107には論理積演算結果として保持データバス1108と同一値が出力されることとなり、アドレス04へのライトである1221の実行により書き込まれた値を読み出すことが可能である。
以上のように本実施の形態による記憶装置では、リセット信号など外部からのなんらかの一括状態変更信号を必要とすることなく、前処理により保存された情報を後処理により読み出すことを不可能とすることができる。
この(実施の形態6)は(実施の形態1)だけではなく、(実施の形態2)(実施の形態3)(実施の形態4)(実施の形態5)においても同様に実施できる。
(実施の形態7)
図40〜図45は本発明の(実施の形態7)を示す。
図40〜図45は本発明の(実施の形態7)を示す。
なお、図40には記憶装置を制御する処理装置0013も同時に示している。また、(実施の形態7)ではデータ保持部1300への特定アクセスパターンを検出する特定シーケンス検出機構1310を備え、特定シーケンス検出機構1310の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部1301の内容を変更可能に構成している点が(実施の形態1)とは異なっている。
処理装置0013はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス1303、書き込み制御信号1304、アクセスアドレスバス1305、および読み出しデータバス1307を用いて記憶装置13に対して情報を保存、読み出しを行う。
記憶装置13は、データ保持部1300、状態保持部1301、特定シーケンス検出機構1310およびマスク機構1302から構成される。マスク機構1302は論理積演算器群13021から構成されている。
記憶装置13は、書き込みデータバス1303、書き込み制御信号1304、アクセスアドレスバス1305を入力に持ち、また、読み出しデータバス1307を出力として持つ。
データ保持部1300は書き込みデータバス1303、書き込み制御信号1304およびアクセスアドレスバス1305を入力に持ち、保持データバス1308を出力として持つ。
状態保持部1301は、一括状態変更信号1306、書き込み制御信号1304およびアクセスアドレスバス1305を入力に持ち、状態信号1309を出力として持つ。
マスク機構1302は、データ保持部1300の出力である保持データバス1308と状態保持部1301の出力である状態信号1309とを入力に持ち、読み出しデータバス1307を出力としてもつ。
論理積演算器群13021はマスク機構1302に入力される保持データバス1308と状態信号1309とを入力に持ち、読み出しデータバス1307に出力する。
特定シーケンス検出機構1310は、アクセスアドレスバス1305を入力に持ち、一括状態変更信号1306を出力にもつ。
データ保持部1300は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス1305によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス1308へ出力する。また、書き込み制御信号1304を有効にすることにより書き込みデータバス1303の値が、アクセスアドレスバス1305で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
状態保持部1301は読み出し書き込み可能な記憶装置であり、データ保持部1300の記憶領域と同数の1ビット幅の記憶領域群からなる。また、状態保持部1301は一括状態変更信号1306を有効にすることで、書き込み制御信号1304の有効、無効にかかわらず、一括して、状態保持部1301内の記憶領域に保持している値が「0」へと変化する。また、書き込み制御信号1304が有効である場合、アクセスアドレスバス1305によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「1」へと変化する。以下、状態保持部1301内の記憶領域に保持している値が「0」であることを不許可状態、また、「1」であることを許可状態と呼ぶ。
マスク機構1302は構成要素である論理積演算器群13021により保持データバス1308の各ビットと状態信号1309との論理積演算が実施され、その演算結果を読み出しデータバス1307へ出力する。
特定シーケンス検出機構1310は書き込み制御信号13041、読み出し制御信号13042から記憶装置13への書き込み、読み込み順序とがあらかじめ決められた順序と一致する場合、出力である一括状態変更信号1306に有効をあらわす値を出力し、記憶装置13への書き込み、読み込み順序とがあらかじめ決められた順序と一致しない場合は一括状態変更信号1306に無効を出力する。以下、あらかじめ決められた記憶装置13への書き込み、読み込み順序のことを特定シーケンスと呼ぶ。
図40の記憶装置を用いて、図41の処理シーケンスを実行した場合の動作を説明する。
図41は処理装置0013により、処理Aである140、処理Bである142が順に実行されることを示している。
また、処理Aである140はその処理内容が処理A−0、アドレス04へのライトである1400、処理A−1、アドレス04へのリードである1401、処理A−2、特定シーケンスの実施である1402を順に実行することを示している。
処理Bである142はその処理内容が処理B−0、アドレス04へのリードである1420、処理B−1、アドレス04へのライトである1421、処理B−2、アドレス04のリードである1422を順に実行することを示している。
また、処理A−0、処理A−1、処理A−2、処理B−0、処理B−1および処理B−2は記憶装置13に対してアクセスを伴わない処理装置0013の処理を示している。
また、処理A−0、処理A−1、処理A−2、処理B−0、処理B−1および処理B−2は記憶装置13に対してアクセスを伴わない処理装置0013の処理を示している。
処理装置0013が起動直後である時のデータ保持部1300および状態保持部1301の内部状態を図42に示す。
データ保持部1300に保持されている値はすべて不定であり、また、状態保持部1301内に保持されている値は不許可状態である。
次に、処理Aである140の処理過程の1つであるアドレス04へのライトである1400の実行完了後のデータ保持部1300および状態保持部1301の内部状態を図43に示す。
アドレス04へのライトである1400の実行完了によりデータ保持部1300のアドレス04に対応する記憶領域に書き込みデータバス1303の値が保持されると同時に、状態保持部1301のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
次に、処理Aである140の処理過程の1つであるアドレス04へのリードである1401の実行について説明する。
アドレス04へのリードである1401を実行時、データ保持部1300のアドレス04に対応する記憶領域にはアドレス04へのライトである1400の実行により書き込まれた値が保持されているため、保持データバス1308にはアドレス04へのライトである1400の実行により書き込まれた値が出力される。
また、状態保持部1301のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号1309には「1」が出力される。
よって、論理積演算器群13021により読み出しデータバス1307には論理積演算結果として保持データバス1308と同一値が出力されることとなり、アドレス04へのライトである1400の実行により書き込まれた値を読み出すことが可能である。
次に、処理Aである140の処理過程の1つである特定シーケンスの実施である1402の実行について説明する。
実行完了後のデータ保持部1300および状態保持部1301の内部状態を図44に示す。
特定シーケンスの実施により、特定シーケンス検出機構により1306一括状態信号1306が有効となることにより、記憶装置13においては、データ保持部1300には変化がないが、状態保持部1301の保持している値がすべて不許可状態「0」へと変化する。
次に、処理Bである142の処理過程の1つであるアドレス04へのリードである1420の実行について説明する。
アドレス04へのリードである1420を実行時、データ保持部1300のアドレス04に対応する記憶領域にはアドレス04へのライトである1400の実行により書き込まれた値が保持されているため、保持データバス1308にはアドレス04へのライトである1400の実行により書き込まれた値が出力される。
しかしながら、特定シーケンスの実施である1402の実行により、状態保持部1301のアドレス04に対応する記憶領域に保持される値は不許可状態「0」が保持されているので、状態信号1309には「0」が出力される。
よって、論理積演算器群13021により読み出しデータバス1307には論理積演算結果として保持データバス1308と異なる値が出力されることとなり、アドレス04へのライトである1400の実行により書き込まれた値を読み出すことは不可能となる。
次に、処理Bである142の処理過程の1つであるアドレス04へのライトである1421の実行完了後のデータ保持部1300および状態保持部13の内部状態を図45に示す。
アドレス04へのライトである1421の実行完了によりデータ保持部1300のアドレス04に対応する記憶領域に書き込みデータバス1303の値が保持されると同時に、状態保持部1301のアドレス04に対応する記憶領域に保持される値は許可状態「1」を保持する。
これにより、データ保持部1300のアドレス04に対応する記憶領域に保持される値は、処理Aである140の処理過程の1つであるアドレス04へのライトである1400の実行により保持されていた値が破壊され、処理Bである142の処理過程の1つであるアドレス04へのライトである1421の実行による値が保持されることになる。
次に、処理Bである142の処理過程の1つであるアドレス04へのリードである1422の実行について説明する。
アドレス04へのリードである1422を実行時、データ保持部1300のアドレス04に対応する記憶領域にはアドレス04へのライトである1421の実行により書き込まれた値が保持されているため、保持データバス1308にはアドレス04へのライトである1421の実行により書き込まれた値が出力される。
また、状態保持部1301のアドレス04に対応する記憶領域に保持される値は許可状態「1」が保持されているので、状態信号1309には「1」が出力される。
よって、論理積演算器群13021により読み出しデータバス1307には論理積演算結果として保持データバス1308と同一値が出力されることとなり、アドレス04へのライトである1421の実行により書き込まれた値を読み出すことが可能である。
以上のように本実施の形態による記憶装置では、リセット信号など外部からのなんらかの一括状態変更信号を必要せず、また、特定アドレスを無駄にすることなく、前処理により保存された情報を後処理により読み出すことを不可能とすることができる。
この(実施の形態7)は(実施の形態1)だけではなく、(実施の形態2)(実施の形態3)(実施の形態4)(実施の形態5)においても同様に実施できる。
01 処理装置
1 記憶装置
10 データ保持部
11 状態保持部
12 マスク機構
13 書き込みデータバス
14 書き込み制御信号
15 アクセスアドレスバス
16 一括状態変更信号
17 読み出しデータバス
18 保持データバス
19 状態信号
121 論理積演算器群
20 処理A
21 リセット処理
22 処理B
03 処理装置
3 記憶装置
30 データ保持部
31 状態保持部
32 マスク機構
33 書き込みデータバス
34 書き込み制御信号
35 アクセスアドレスバス
36 一括状態変更信号
37 読み出しデータバス
38 保持データバス
390 状態信号
391 強制許可信号
392 マスク制御信号
393 論理和演算器
321 論理積演算器群
05 処理装置
5 記憶装置
50 データ保持部
51 状態保持部
52 マスク機構
53 書き込みデータバス
54 書き込み制御信号
55 アクセスアドレスバス
56 一括状態変更信号
57 読み出しデータバス
58 保持データバス
59 状態信号
521 論理積演算器群
561 第1の一括状態変更信号
562 第2の一括状態変更信号
563 論理和演算器
60 処理A
61 リセット処理
62 処理B
63 プロセス切り替え処理
64 処理C
07 処理装置
7 記憶装置
70 データ保持部
71 状態保持部
72 マスク機構
73 書き込みデータバス
74 書き込み制御信号
75 アクセスアドレスバス
77 読み出しデータバス
78 保持データバス
79 状態信号
711 第1状態保持部
712 第2状態保持部
713 第1状態信号
714 第2状態信号
715 論理和演算器
721 論理積演算器群
761 第1ブロック一括状態変更信号
762 第2ブロック一括状態変更信号
80 処理A
81 リセット処理
82 処理B
09 処理装置
9 記憶装置
90 データ保持部
91 状態保持部
92 マスク機構
93 書き込みデータバス
94 書き込み制御信号
95 アクセスアドレスバス
96 一括状態変更信号
97 読み出しデータバス
98 保持データバス
99 状態信号
921 論理積演算器群
922 否定論理積演算器群
923 演算器選択機構
924 セレクタ
925 演算器選択信号
100 処理A
101 リセット処理
102 処理B
0011 処理装置
11 記憶装置
1100 データ保持部
1101 状態保持部
1102 マスク機構
1103 書き込みデータバス
1104 書き込み制御信号
1105 アクセスアドレスバス
1106 一括状態変更信号
1107 読み出しデータバス
1108 保持データバス
1109 状態信号
1110 アクセスアドレス一致検出機構
11021 論理積演算器群
120 処理A
122 処理B
0013 処理装置
13 記憶装置
1300 データ保持部
1301 状態保持部
1302 マスク機構
1303 書き込みデータバス
1305 アクセスアドレスバス
1306 一括状態変更信号
1307 読み出しデータバス
1308 保持データバス
1309 状態信号
1310 特定シーケンス検出機構
13021 論理積演算器群
13041 書き込み制御信号
13042 読み出し制御信号
140 処理A
142 処理B
1 記憶装置
10 データ保持部
11 状態保持部
12 マスク機構
13 書き込みデータバス
14 書き込み制御信号
15 アクセスアドレスバス
16 一括状態変更信号
17 読み出しデータバス
18 保持データバス
19 状態信号
121 論理積演算器群
20 処理A
21 リセット処理
22 処理B
03 処理装置
3 記憶装置
30 データ保持部
31 状態保持部
32 マスク機構
33 書き込みデータバス
34 書き込み制御信号
35 アクセスアドレスバス
36 一括状態変更信号
37 読み出しデータバス
38 保持データバス
390 状態信号
391 強制許可信号
392 マスク制御信号
393 論理和演算器
321 論理積演算器群
05 処理装置
5 記憶装置
50 データ保持部
51 状態保持部
52 マスク機構
53 書き込みデータバス
54 書き込み制御信号
55 アクセスアドレスバス
56 一括状態変更信号
57 読み出しデータバス
58 保持データバス
59 状態信号
521 論理積演算器群
561 第1の一括状態変更信号
562 第2の一括状態変更信号
563 論理和演算器
60 処理A
61 リセット処理
62 処理B
63 プロセス切り替え処理
64 処理C
07 処理装置
7 記憶装置
70 データ保持部
71 状態保持部
72 マスク機構
73 書き込みデータバス
74 書き込み制御信号
75 アクセスアドレスバス
77 読み出しデータバス
78 保持データバス
79 状態信号
711 第1状態保持部
712 第2状態保持部
713 第1状態信号
714 第2状態信号
715 論理和演算器
721 論理積演算器群
761 第1ブロック一括状態変更信号
762 第2ブロック一括状態変更信号
80 処理A
81 リセット処理
82 処理B
09 処理装置
9 記憶装置
90 データ保持部
91 状態保持部
92 マスク機構
93 書き込みデータバス
94 書き込み制御信号
95 アクセスアドレスバス
96 一括状態変更信号
97 読み出しデータバス
98 保持データバス
99 状態信号
921 論理積演算器群
922 否定論理積演算器群
923 演算器選択機構
924 セレクタ
925 演算器選択信号
100 処理A
101 リセット処理
102 処理B
0011 処理装置
11 記憶装置
1100 データ保持部
1101 状態保持部
1102 マスク機構
1103 書き込みデータバス
1104 書き込み制御信号
1105 アクセスアドレスバス
1106 一括状態変更信号
1107 読み出しデータバス
1108 保持データバス
1109 状態信号
1110 アクセスアドレス一致検出機構
11021 論理積演算器群
120 処理A
122 処理B
0013 処理装置
13 記憶装置
1300 データ保持部
1301 状態保持部
1302 マスク機構
1303 書き込みデータバス
1305 アクセスアドレスバス
1306 一括状態変更信号
1307 読み出しデータバス
1308 保持データバス
1309 状態信号
1310 特定シーケンス検出機構
13021 論理積演算器群
13041 書き込み制御信号
13042 読み出し制御信号
140 処理A
142 処理B
Claims (7)
- アクセスアドレスバスによって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保存されている値を保持データバスへ出力し、書き込み制御信号を有効にすることにより書き込みデータバスの値が前記アクセスアドレスバスで示されるアドレスの記憶領域に保存するデータ保持部と、
一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する状態保持部と、
前記保持データバスからの出力を前記状態保持部の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御するマスク機構と
を備えた記憶装置。 - 書き込みアドレスの書き込み状態を保持している状態保持部の値にかかわらず、記憶装置外部からの強制許可信号により前記マスク機構を制御可能とする、前記状態保持部と前記マスク機構の間に前記強制許可信号により制御される演算器を設けた
請求項1に記載の記憶装置。 - 前記状態保持部の一括状態変更信号の入力に、記憶装置外部からの複数の一括状態変更信号を演算する信号の演算器を設けて、前記状態保持部の保持値を変更可能に構成した
請求項1に記載の記憶装置。 - 状態保持部は、
第1の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第1の状態保持部と、
第2の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第2の状態保持部と、
前記第1,第2の状態保持部の出力を演算する演算器と
を備え、前記マスク機構では前記保持データバスからの出力を前記演算器の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御する
請求項1に記載の記憶装置。 - 前記マスク機構は、
前記保持データバスからの出力を前記状態保持部の出力より演算を実行する第1の演算器群と、
前記保持データバスからの出力を前記状態保持部の出力により前記第1の演算器群とは異なる演算を実行する第2の演算器群と、
前記第1の演算器群の出力と前記第2の演算器群の出力を「許可状態」と「不許可状態」を指定する演算器選択信号に応じて選択して読み出しデータとして出力するセレクタと
を備えた請求項1に記載の記憶装置。 - 前記データ保持部への特定のアクセスアドレスを検出するアクセスアドレス一致検出機構を備え、前記アクセスアドレス一致検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成した
請求項1に記載の記憶装置。 - 前記データ保持部への特定アクセスパターンを検出する特定シーケンス検出機構を備え、前記特定シーケンス検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成した
請求項1に記載の記憶装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003271213A JP2005032020A (ja) | 2003-07-07 | 2003-07-07 | 記憶装置 |
| US10/885,083 US6987697B2 (en) | 2003-07-07 | 2004-07-07 | Memory device |
| CN200410063618.9A CN1269048C (zh) | 2003-07-07 | 2004-07-07 | 存储装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003271213A JP2005032020A (ja) | 2003-07-07 | 2003-07-07 | 記憶装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005032020A true JP2005032020A (ja) | 2005-02-03 |
Family
ID=33562645
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003271213A Pending JP2005032020A (ja) | 2003-07-07 | 2003-07-07 | 記憶装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6987697B2 (ja) |
| JP (1) | JP2005032020A (ja) |
| CN (1) | CN1269048C (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8156286B2 (en) * | 2008-12-30 | 2012-04-10 | Advanced Micro Devices, Inc. | Processor and method for using an instruction hint to prevent hardware prefetch from using certain memory accesses in prefetch calculations |
| DE102010041748A1 (de) | 2010-09-30 | 2012-04-05 | Carl Zeiss Microimaging Gmbh | Vorrichtungen und Verfahren zur spektroskopischen Untersuchung von Proben |
| DE102010041749A1 (de) | 2010-09-30 | 2012-04-05 | Carl Zeiss Microlmaging Gmbh | Messeinrichtungen und Vorrichtungen zur spektroskopischen Untersuchung von Proben |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0344890A (ja) * | 1989-07-12 | 1991-02-26 | Toshiba Corp | 半導体記憶装置のデータ出力制御回路 |
| US5465341A (en) | 1992-10-23 | 1995-11-07 | Vlsi Technology, Inc. | Verifiable security circuitry for preventing unauthorized access to programmed read only memory |
| GB9418772D0 (en) * | 1994-09-16 | 1994-11-02 | Ionica L3 Limited | Digital telephony |
| JP3520810B2 (ja) * | 1999-07-02 | 2004-04-19 | 日本電気株式会社 | バックアップ機能を有するデータ保持回路 |
| US20010025343A1 (en) * | 2000-03-27 | 2001-09-27 | Roy Chrisop | Random bit mask generation for obscuring data on nonvolatile memory device |
-
2003
- 2003-07-07 JP JP2003271213A patent/JP2005032020A/ja active Pending
-
2004
- 2004-07-07 CN CN200410063618.9A patent/CN1269048C/zh not_active Expired - Fee Related
- 2004-07-07 US US10/885,083 patent/US6987697B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CN1577297A (zh) | 2005-02-09 |
| CN1269048C (zh) | 2006-08-09 |
| US20050007828A1 (en) | 2005-01-13 |
| US6987697B2 (en) | 2006-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101714411B (zh) | 安全存储器接口 | |
| US20080016415A1 (en) | Evaluation system and method | |
| CN111742296B (zh) | 用于数据处理的装置、方法和计算机可读存储介质 | |
| JP2005032020A (ja) | 記憶装置 | |
| JPS6388636A (ja) | マイクロコンピユ−タ | |
| CN1185574C (zh) | 具有内置测试功能的处理器及其处理方法 | |
| US10997087B2 (en) | Direct memory access | |
| US7783691B2 (en) | Sharing of a logic operator having a work register | |
| CN107634826B (zh) | 一种基于zynq器件的加密方法和系统 | |
| US7333106B1 (en) | Method and apparatus for Z-buffer operations | |
| JP5245617B2 (ja) | レジスタ制御回路およびレジスタ制御方法 | |
| JP2007058450A (ja) | 半導体集積回路 | |
| US20080126756A1 (en) | Data processing apparatus and data processing method | |
| JPH044630B2 (ja) | ||
| US5854919A (en) | Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit | |
| JP2000029508A (ja) | プログラマブルコントローラ | |
| JP2755646B2 (ja) | データ駆動型データ処理装置 | |
| JP2015014934A (ja) | メモリ制御装置及びメモリ制御方法 | |
| JPH06309236A (ja) | メモリの不正書込み検出回路 | |
| KR900010178Y1 (ko) | 램 출력 보호회로 | |
| JP2025180480A (ja) | 演算装置とその故障検出方法 | |
| CN101452416B (zh) | 存储器存取控制装置与相关方法 | |
| JP2006236233A (ja) | 割り込みレベル選択回路 | |
| JPH05143366A (ja) | 割込制御回路 | |
| JP2002311827A (ja) | 情報処理装置 |