JP4780304B2 - 半導体メモリおよびデータアクセス方法 - Google Patents

半導体メモリおよびデータアクセス方法 Download PDF

Info

Publication number
JP4780304B2
JP4780304B2 JP2006035076A JP2006035076A JP4780304B2 JP 4780304 B2 JP4780304 B2 JP 4780304B2 JP 2006035076 A JP2006035076 A JP 2006035076A JP 2006035076 A JP2006035076 A JP 2006035076A JP 4780304 B2 JP4780304 B2 JP 4780304B2
Authority
JP
Japan
Prior art keywords
operation mode
address
address information
command
storage unit
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.)
Expired - Fee Related
Application number
JP2006035076A
Other languages
English (en)
Other versions
JP2007213478A (ja
Inventor
崇 押切
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2006035076A priority Critical patent/JP4780304B2/ja
Priority to US11/668,735 priority patent/US7739467B2/en
Priority to EP07002560A priority patent/EP1818941B1/en
Priority to DE602007002416T priority patent/DE602007002416D1/de
Publication of JP2007213478A publication Critical patent/JP2007213478A/ja
Application granted granted Critical
Publication of JP4780304B2 publication Critical patent/JP4780304B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Storage Device Security (AREA)
  • Read Only Memory (AREA)

Description

本発明は、半導体メモリのセキュリティ技術に関する。
半導体メモリに格納されたデータの不正な読み出しを防ぐために、あるいは半導体メモリに対する不正なデータの書き込みを防ぐために暗号技術が用いられている。半導体メモリに対するコマンドを暗号化することで、コマンドの観測を困難にし、不正なコマンドの生成を現実的に不可能となるようにするのである。
また、書き込みプロテクトに特化した他の実現方法として、メモリアレイを一定容量のブロックに分割し、各ブロックに書き込みをプロテクトするためのフラグビット(不揮発性メモリにより実現)を設けるという方法がある。システムは、書き込みを行う前に書き込み対象のブロックに対応するフラグビットを書き込み可能状態にし、その状態で書き込み対象ブロックへの書き込みを行う。そして、書き込みが終わった後、フラグビットを書き込み無効状態(プロテクト状態)にすることで、書き込みをプロテクトするという方式である。
下記特許文献1は、メモリブロック内にプロテクトフラグを格納する半導体メモリに関するものである。ホストから書き込みコマンドが入力されると、プロテクトフラグの内容をチェックし、書き込み可能状態となっている場合のみ、データ書き込みを履行することとしている。
特開2005−108273号公報
上述したように、暗号技術を用いることで、コマンドの観測を困難にすることができる。しかし、コマンドを暗号化させた場合、処理速度が低下するという問題がある。これは、暗号化されたコマンドは所定のアルゴリズムを用いて復号化する必要があり、この処理の負荷が大きいからである。この問題を回避するために、処理負荷の小さいスクランブル処理を利用する方法も考えられるが、スクランブル処理はセキュリティが弱いため、コマンドが解読される可能性が高くなるという問題がある。
また、上述したフラグビットを設けて書き込みプロテクトを行う方法であるが、この方式も、セキュリティという観点からは半導体メモリを保護できる技術ではない。つまり、この方法は、悪意ある第3者による書き込みをプロテクトするというよりは、書き込みシステムのソフトウェア暴走などによる意図しない書き込みを防ぐという目的のための技術だからである。
上記特許文献1で開示されている技術についても、プロテクトフラグが立っている場合にはデータの書き込みを行わないよう制御するものであり、不正なプログラムによりプロテクトフラグが操作されるということまでを想定し、それら不正な行為に対する対策を講じた技術ではない。
そこで、本発明は前記問題点に鑑み、半導体メモリに対するセキュリティを高める技術を提供することを目的とする。
上記課題を解決するため、請求項1記載の発明は、データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作するメモリであって、前記第1動作モードは、前記第2動作モードよりもコマンドに対して高いセキュリティが施されるモードであり、前記コントロール回路は、現在の動作モードを記憶する動作モード記憶部と、前記入出力回路を介して外部より入力されるコマンドを判別するコマンド判別回路と、を備え、前記コマンド判別回路は、少なくとも前記第1動作モードにおいて入力するコマンドに施されたセキュリティを解除してコマンドを解読する手段と、前記第1動作モードにおいて入力するコマンドから第1アドレス情報を取得する手段と、前記第2動作モードにおいて入力するコマンドから第2アドレス情報を取得する手段と、を含み、前記コントロール回路は、前記コマンド判別回路が前記第1動作モードにおいて取得した前記第1アドレス情報を記憶するアドレス情報記憶部と、前記コマンド判別回路が前記第2動作モードにおいて取得した前記第2アドレス情報またはその一部と、前記アドレス情報記憶部に格納されている前記第1アドレス情報またはその一部とから指定アドレスを生成するアドレス生成回路と、を備え、前記コントロール回路は、前記アドレス生成回路より出力された指定アドレスを用いて前記データ記憶部へのアクセスを行うことを特徴とする。
請求項2記載の発明は、請求項1に記載の半導体メモリにおいて、前記第1アドレス情報が、前記指定アドレスの上位ビットアドレスを構成し、前記第2アドレス情報が、前記指定アドレスの下位ビットアドレスを構成することを特徴とする。
請求項3記載の発明は、請求項2に記載の半導体メモリにおいて、前記データ記憶部は、複数のブロックで管理され、前記上位ビットアドレスは、前記データ記憶部のブロックアドレスであり、前記コマンド判別回路によって前記上位ビットアドレスが取得されることにより、当該上位ビットアドレスで指定されるブロック内の記憶領域に対しては、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とする。
請求項4記載の発明は、請求項3に記載の半導体メモリにおいて、前記上位ビットアドレスで指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とする。
請求項5記載の発明は、データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作するメモリであって、前記第1動作モードは、前記第2動作モードよりもコマンドに対して高いセキュリティが施されるモードであり、前記コントロール回路は、現在の動作モードを記憶する動作モード記憶部と、前記入出力回路を介して外部より入力されるコマンドを判別するコマンド判別回路と、を備え、前記コマンド判別回路は、少なくとも前記第1動作モードにおいて入力するコマンドに施されたセキュリティを解除してコマンドを解読する手段と、前記第1動作モードにおいて入力するコマンドから第1アドレス情報を取得する手段と、前記第2動作モードにおいて入力するコマンドから第2アドレス情報を取得する手段と、を含み、前記コントロール回路は、前記コマンド判別回路が前記第1動作モードにおいて取得した前記第1アドレス情報を記憶するアドレス情報記憶部と、前記コマンド判別回路が前記第2動作モードにおいて取得した前記第2アドレス情報またはその一部と、前記アドレス情報記憶部に格納されている前記第1アドレス情報またはその一部とを比較して、両者が一致する場合にのみ前記第2アドレス情報またはその一部から指定アドレスを生成するアドレス生成回路と、を備え、前記コントロール回路は、前記アドレス生成回路より出力された指定アドレスを用いて前記データ記憶部へのアクセスを行うことを特徴とする。
請求項6記載の発明は、請求項5に記載の半導体メモリにおいて、前記データ記憶部は、複数のブロックで管理され、前記第1アドレス情報は、前記データ記憶部のブロックアドレスであり、前記第2アドレス情報は、前記データ記憶部のアクセス単位に対応したアドレスであり、前記アドレス生成回路は、前記第2アドレス情報に含まれる上位のブロックアドレスが前記第1アドレス情報と一致する場合に、前記第2アドレス情報を指定アドレスとして出力することを特徴とする。
請求項7記載の発明は、請求項6に記載の半導体メモリにおいて、前記コマンド判別回路によって前記第1アドレス情報が取得されることにより、当該第1アドレス情報で指定されるブロック内の記憶領域に対しては、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とする。
請求項8記載の発明は、請求項7に記載の半導体メモリにおいて、前記第1アドレス情報で指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とする。
請求項9記載の発明は、請求項3、請求項4、請求項6ないし請求項8のいずれかに記載の半導体メモリにおいて、前記データ記憶部は、異なるビット長のブロックアドレスが混在する複数のブロックから構成されることを特徴とする。
請求項10記載の発明は、請求項1ないし請求項9のいずれかに記載の半導体メモリにおいて、前記第1動作モードにおいて入力するコマンドに認証値が含まれており、前記第2動作モードにおいて入力するコマンドに含まれている認証値が、前記第1動作モードにおいて入力した認証値と一致する場合のみ、前記データ記憶部へのアクセスを許可することを特徴とする。
請求項11記載の発明は、データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作する半導体メモリにおいて前記データ記憶部にアクセスする方法であって、a)前記半導体メモリが、前記第2動作モードよりもコマンドに対して高いセキュリティが施される前記第1動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、b)前記コントロール回路が、前記第1動作モードにおいて入力したコマンドから第1アドレス情報を取得する工程と、c)前記半導体メモリが、前記第2動作モードに遷移する工程と、d)前記半導体メモリが、前記第2動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、e)前記コントロール回路が、前記第2動作モードにおいて入力したコマンドから第2アドレス情報を取得する工程と、f)前記コントロール回路が、前記第1アドレス情報またはその一部と、前記第2アドレス情報またはその一部とから指定アドレスを生成する工程と、g)前記コントロール回路が、生成した前記指定アドレスを用いて前記データ記憶部へのアクセスを行う工程と、を備えることを特徴とする。
請求項12記載の発明は、請求項11に記載のデータアクセス方法において、前記第1アドレス情報が、前記指定アドレスの上位ビットアドレスを構成し、前記第2アドレス情報が、前記指定アドレスの下位ビットアドレスを構成することを特徴とする。
請求項13記載の発明は、請求項12に記載のデータアクセス方法において、前記データ記憶部は、複数のブロックで管理され、前記上位ビットアドレスは、前記データ記憶部のブロックアドレスであり、前記工程a)〜c)を実行することにより、前記上位ビットアドレスが取得された後は、当該上位ビットアドレスで指定されるブロック内の記憶領域に対しては、前記工程d)〜g)を繰り返すことにより、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とする。
請求項14記載の発明は、請求項13に記載のデータアクセス方法において、前記上位ビットアドレスで指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とする。
請求項15記載の発明は、データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作する半導体メモリにおいて前記データ記憶部にアクセスする方法であって、a)前記半導体メモリが、前記第2動作モードよりもコマンドに対して高いセキュリティが施される前記第1動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、b)前記コントロール回路が、前記第1動作モードにおいて入力したコマンドから第1アドレス情報を取得する工程と、c)前記半導体メモリが、前記第2動作モードに遷移する工程と、d)前記半導体メモリが、前記第2動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、e)前記コントロール回路が、前記第2動作モードにおいて入力したコマンドから第2アドレス情報を取得する工程と、f)前記コントロール回路が、前記第1アドレス情報またはその一部と、前記第2アドレス情報またはその一部とを比較して、両者が一致する場合にのみ前記第2アドレス情報またはその一部から指定アドレスを生成する工程と、g)前記コントロール回路が、生成した前記指定アドレスを用いて前記データ記憶部へのアクセスを行う工程と、を備えることを特徴とする。
請求項16記載の発明は、請求項15に記載のデータアクセス方法において、前記データ記憶部は、複数のブロックで管理され、前記第1アドレス情報は、前記データ記憶部のブロックアドレスであり、前記第2アドレス情報は、前記データ記憶部のアクセス単位に対応したアドレスであり、前記工程f)は、前記第2アドレス情報に含まれる上位のブロックアドレスが前記第1アドレス情報と一致する場合に、前記第2アドレス情報を指定アドレスとして出力することを特徴とする。
請求項17記載の発明は、請求項16に記載のデータアクセス方法において、前記工程a)〜c)により前記第1アドレス情報が取得されることにより、当該第1アドレス情報で指定されるブロック内の記憶領域に対しては、前記工程d)〜g)を繰り返すことにより、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とする。
請求項18記載の発明は、請求項17に記載のデータアクセス方法において、前記第1アドレス情報で指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とする。
請求項19記載の発明は、請求項13、請求項14、請求項16ないし請求項18のいずれかに記載のデータアクセス方法において、前記データ記憶部は、異なるビット長のブロックアドレスが混在する複数のブロックから構成されることを特徴とする。
請求項20記載の発明は、請求項11ないし請求項19のいずれかに記載のデータアクセス方法において、前記第1動作モードにおいて入力するコマンドに認証値が含まれており、前記第2動作モードにおいて入力するコマンドに含まれている認証値が、前記第1動作モードにおいて入力した認証値と一致する場合のみ、前記データ記憶部へのアクセスを許可することを特徴とする。
本発明の半導体メモリは、第2動作モードにおいて取得した第2アドレス情報またはその一部と、第2動作モードよりもセキュリティの高い第1動作モードにおいて取得した第1アドレス情報またはその一部とから指定アドレスを生成し、指定アドレスを用いてデータ記憶部へアクセスする。データ記憶部へアクセスするためには、セキュリティの強さの異なる2つのモードにおいてコマンドを発行する必要があり、コマンドを解析することが困難となる。これにより、不正なデータの読み出しや書き込みを有効に防止することができる。
また、データ記憶部が、複数のブロックで管理され、第1動作モードにおいてブロックアドレスが取得されることにより、指定されるブロックに対しては、第2動作モードにおいて連続的にアクセス可能となる。これにより、セキュリティの高い第1動作モードにおいて、ブロックごとのアクセス制御を行いつつ、第2動作モードにおいて連続処理を可能として処理速度が低下することを防止できる。
また、本発明の半導体メモリは、第2動作モードにおいて取得した第2アドレス情報またはその一部と、第2動作モードよりもセキュリティの高い第1動作モードにおいて取得した第1アドレス情報またはその一部とを比較して、一致した場合にのみ第2アドレス情報またはその一部から指定アドレスを生成し、指定アドレスを用いてデータ記憶部へアクセスする。データ記憶部へアクセスするためには、セキュリティの強さの異なる2つのモードにおいてコマンドを発行する必要があり、コマンドを解析することが困難となる。これにより、不正なデータの読み出しや書き込みを有効に防止することができる。
また、データ記憶部は、複数のブロックで管理され、第1アドレス情報が取得されることにより、第1アドレス情報で指定されるブロックに対しては、第2動作モードにおいて連続的にアクセス可能である。これにより、セキュリティを強化しつつ処理速度の低下を防ぐことが可能である。
{第1の実施の形態}
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係る情報処理装置1と半導体メモリ2とを示す図である。情報処理装置1は、CPU11、RAM12およびメモリスロット13を備えている。情報処理装置1は、メモリスロット13に装着された半導体メモリ2からデータを読み出し、CPU11、RAM12を利用して、各種のデータ処理を実行する。あるいは、半導体メモリ2に対してデータの書き込み処理を実行する。
情報処理装置1としては、たとえば、PDA(Personal Digital
Assistance)、セットトップボックス、ゲーム装置などが考えられる。情報処理装置1が、PDAやセットトップボックスである場合には、半導体メモリ2は、アプリケーションプログラムやコンテンツデータなどが記録されるメモリであり、情報処理装置1がゲーム装置である場合には、半導体メモリ2は、ゲームカートリッジである。
図2は、半導体メモリ2のブロック図である。半導体メモリ2は、情報を記憶する多数のメモリセルからなる不揮発性メモリであるメモリアレイ21と、メモリアレイ21に対するアクセスをコントロールするためのコントロール回路22と、情報処理装置1との間でデータやコマンドを入出力するための回路であるI/Oバッファ23とを備えている。
コントロール回路22は、コマンド判別回路221、アドレス情報記憶部222、動作モード記憶部223、アドレス生成回路224を備えている。
コマンド判別回路221は、I/Oバッファ23を介して情報処理装置1から入力するコマンドの内容を判別する回路である。情報処理装置1によって生成されたコマンドが、データの読み出しコマンドである場合には、コマンドには読み出し命令と読み出しアドレスが含まれている。また、コマンドが書き込みコマンドである場合には、コマンドには書き込み命令と書き込みアドレスが含まれる。これら読み出し/書き込みコマンドは、情報処理装置1のCPU11によって生成され、Commandバスを介して半導体メモリ2に転送される。そして、I/Oバッファ23を介してコマンド判別回路221に入力されるのである。また、コマンドが書き込みコマンドである場合には、CPU11によって生成された書き込みデータが、Dataバスを介して半導体メモリ2に転送される。そして、I/Oバッファ23を介してコマンド判別回路221に入力されるのである。なお、本実施の形態においては、図2に示すように、CommandバスとDataバスを共通のバスを利用して多重化するようにしているが、それぞれに独立したバスを設けるようにしてもよい。
コマンド判別回路221は、入力したコマンドの内容を判別し、読み出しコマンドである場合には、メモリアレイ21に対して読み出し制御信号(Control Signal)を送出する。また、書き込みコマンドである場合には、書き込み制御信号(Control Signal)を送出する。また、コマンド判別回路221は、読み出しコマンドあるいは書き込みコマンドから、読み出しアドレスあるいは書き込みアドレスを取得する。さらに、コマンド判別回路221は、コマンドが書き込みコマンドである場合には、入力した書き込みデータ(Write Data)をメモリアレイ21に送出する。コマンド判別回路221は、また、Dataバスを介してデータを外部に出力するためにI/Oバッファ23のディレクション切り替えを行う。
動作モード記憶部223は、この半導体メモリ2の現在の動作モードの情報を格納する記憶部である。本実施の形態の半導体メモリ2は、2つの動作モードを切替えて動作可能としている。第1動作モードは、コマンドが暗号化されるモードである。つまり、コマンドが高いセキュリティで保護されるモードである。第2動作モードは、コマンドがスクランブルされるモードである。第2動作モードは、第1動作モードよりは、セキュリティ強度は劣るが、第1動作モードより高速な処理が可能な動作モードである。このように、本実施の形態の半導体メモリ2は、セキュリティは非常に高いが、処理負荷の大きい第1動作モードと、セキュリティは第1動作モードよりは低下するが、処理負荷の小さい第2動作モードを切替えながら動作可能としている。
ここでは、スクランブル処理とは、ビット演算あるいはビット操作によって情報を攪乱する処理であり、暗号処理とは、所定のアルゴリズムを用いてデータ自体を解読不可能な状態にする処理を想定しているが、これは一例である。本質的には、情報処理装置1と半導体メモリ2との間で転送されるコマンドに対するセキュリティの強さが、第2動作モードに比べて第1動作モードの方が高くなっていることである。したがって、第2動作モードでは、全くセキュリティを掛けずに生のコマンドを転送し、第1動作モードでは、スクランブル処理を含め様々な強さの暗号化を利用するようにしてもよい。また、第2動作モードは、第1動作モードに比べてセキュリティの強度は低下するが、処理負荷が小さいという点も重要な条件である。
動作モードの切り替えは、情報処理装置1によって行われる。CPU11によって動作モードの切り替えコマンドが生成され、このコマンドがI/Oバッファ23を介してコマンド判別回路221に入力される。コマンド判別回路221は、動作モードの切り替えコマンドを入力すると、動作モード記憶部223に記憶されている動作モード情報を書き換えるのである。コントロール回路22は、動作モード記憶部223に格納されている情報に従って動作を行う。
また、コマンド判別回路221は、暗号化されたコマンドを復号するための復号回路と、スクランブルされているコマンドをデスクランブルするためのデスクランブル回路とを備えている。コマンド判別回路221は、現在の動作モードが第1動作モードである場合には、入力したコマンドを復号回路によって復号し、命令とアドレス情報を取得する。現在の動作モードが第2動作モードである場合には、入力したコマンドをデスクランブル回路によってデスクランブルし、命令とアドレス情報を取得する。
アドレス情報記憶部222は、コマンド判別回路221が第1動作モードにおいて入力したコマンドに含まれていたアドレス(このアドレスを第1アドレス情報31と呼ぶ。)を格納する記憶部である。コマンド判別回路221は、第1動作モードへのモード切り替えコマンドを入力し、動作モードを第1動作モードに切替えた後、続いて入力したコマンドを復号回路によって復号する。そして、復号されたコマンドに含まれていた第1アドレス情報31をアドレス情報記憶部222に格納するのである。
アドレス生成回路224は、コマンド判別回路221が第2動作モードにおいて入力したコマンドに含まれていたアドレス(このアドレスを第2アドレス情報32と呼ぶ。)を入力する。コマンド判別回路221は、第2動作モードへのモード切り替えコマンドを入力し、動作モードを第2動作モードに切替えた後、続いて入力したコマンドをデスクランブル回路によってデスクランブルする。そして、デスクランブルされたコマンドに含まれていた第2アドレス情報32をアドレス生成回路224に出力するのである。そして、アドレス生成回路224は、入力した第2アドレス情報32とアドレス情報記憶部222に格納されている第1アドレス情報31とから指定アドレス33を生成する。指定アドレス33とは、メモリアレイ21に与えられるアドレスであって、読み出しコマンドについては、読み出しアドレスであり、書き込みコマンドについては、書き込みアドレスである。
具体的には、アドレス生成回路224は、第1アドレス情報31を上位アドレスビットとし、第2アドレス情報32を下位アドレスビットとする指定アドレス33を生成する。たとえば、メモリアレイ21が、1K×1Byte=1KByteのメモリアレイである場合を考える。つまり、1Kのアドレス空間を持ったメモリアレイであり、1Byteのデータ格納可能な記憶領域に、それぞれ10ビットのアドレスが付与されている。この場合であれば、たとえば、4ビットの第1アドレス情報31と6ビットの第2アドレス情報32とから10ビットの指定アドレス33を生成する。
以上説明した半導体メモリ2および情報処理装置1によるデータ読み出し/書き込み処理の流れについて図3および図4を参照しながら説明する。
図3を参照して全体の処理の流れを説明する。まず、半導体メモリ2が、第1動作モードに遷移する(ステップS1)。つまり、情報処理装置1から入力するコマンドは、暗号化により高いセキュリティが掛けられるモードに遷移する。この状態において、第三者は、任意のコマンドを発行してメモリアレイ21にアクセスすることは非常に困難となっている。この遷移は、情報処理装置1より発行されたモード切り替えコマンドにより実行される。また、情報処理装置1が起動した直後に半導体メモリ2が第1動作モードに遷移するように、情報処理装置1のローダープログラムによってモードが制御されてもよい。
半導体メモリ2が、第1動作モードで動作している状態で、情報処理装置1より暗号化コマンドが生成され、出力される。半導体メモリ2は、暗号化コマンドを入力する(ステップS2)。なお、この暗号化コマンドは、第1アドレス情報31を設定するために情報処理装置1によって生成されたアドレス設定コマンドである。
次に、コマンド判別回路221が、復号回路によって暗号化コマンドを復号化し、第1アドレス情報31を抽出する(ステップS3)。
そして、コマンド判別回路221は、抽出した第1アドレス情報31をアドレス情報記憶部222に格納する(ステップS4)。
次に、情報処理装置1において、第2動作モードへの切り替えコマンドが生成され、出力される。半導体メモリ2は、第2動作モードへの切り替えコマンドを入力する(ステップS5)。なお、この切り替えコマンドは、暗号化されている。
コマンド判別回路221は、モード切り替えコマンドを入力すると、このコマンドを復号する。そして、コマンドが第2動作モードへの切り替えコマンドであることを判別し、現在の動作モードを第2動作モードとする情報を動作モード記憶部223に格納する。これにより、半導体メモリ2は、第2動作モードへ遷移する(ステップS6)。つまり、第1動作モードよりはセキュリティの強度は低下するが、処理速度が第1動作モードよりも高速なモードである。
半導体メモリ2が第2動作モードに遷移している状態で、情報処理装置1は、スクランブルされたコマンドを生成し、出力する。半導体メモリ2は、スクランブルされたコマンドを入力する(ステップS7)。
コマンド判別回路221は、デスクランブル回路により入力したコマンドをデスクランブルする。そして、コマンドから第2アドレス情報32を抽出する(ステップS8)。この第2アドレス情報32が含まれていたコマンドは、たとえば、スクランブルされた読み出しコマンドである。つまり、読み出し命令とともに第2アドレス情報32が格納されたコマンドである。あるいは、読み出し命令が格納されたコマンドとは別に、第2アドレス情報32を設定するために生成されたコマンドであってもよい。
そして、コマンド判別回路221は、第2アドレス情報32をアドレス生成回路224に出力する(ステップS9)。アドレス生成回路224は、コマンド判別回路221から第2アドレス情報32を入力すると、この第2アドレス情報32と、アドレス情報記憶部222に格納されている第1アドレス情報31とから指定アドレス33を生成する(ステップS10)。
図4は、指定アドレス33の生成処理のフローチャートである。この実施の形態においては、第1アドレス情報31は、メモリアレイ21に出力する指定アドレス33の上位4ビットを構成し、第2アドレス情報32は、メモリアレイ21に出力する指定アドレス33の下位6ビットを構成している。したがって、アドレス生成回路224は、第1アドレス情報31を上位4ビット、第2アドレス情報32を下位6ビットとする10ビットの指定アドレス33を生成する(ステップS21)。
再び、図3に戻り、アドレス生成回路224は、生成した指定アドレス33をメモリアレイ21に与えるのである(ステップS11)。これにより、コマンドが読み出しコマンドである場合には、制御信号(Control Signal)としてread命令がメモリアレイ21に与えられることにより、指定アドレス33で指定されたアドレスに格納されたデータが読み出される。読み出されたデータは、読み出しデータバス、I/Oバッファ23を介して情報処理装置1に転送される。このとき、コマンド判別回路221によってI/Oバッファ23のディレクションが切替えられ、データ出力可能な状態となっている。コマンドが書き込みコマンドである場合には、制御信号(Control Signal)としてwrite命令がメモリアレイ21に与えられるとともに、データバスを介して書き込みデータがメモリアレイ21に与えられることにより、指定アドレス33で指定されたアドレスにデータが書き込まれるのである。
このように、本実施の形態の半導体メモリ2は、セキュリティ強度が高い第1動作モードにおいて抽出した第1アドレス情報31と、セキュリティ強度は第1動作モードより低いが処理負荷の小さい第2動作モードにおいて抽出した第2アドレス情報32を用いてメモリアレイ21にアクセスする。したがって、セキュリティの異なるモードで発行された複数のコマンドからアドレスが生成されることになり、コマンドの解析が非常に困難となる。これにより、不正なデータの読み出しや書き込みを有効に防止することが可能である。また、第1動作モードによって強固なセキュリティを確保しながら、第2動作モードに遷移することで処理速度の向上を図っているので、データのセキュリティと効率的な転送を両立可能な構成となっている。
なお、上記の実施の形態においては、第1アドレス情報31と第2アドレス情報32全てを利用して指定アドレス33を生成するようにしたが、第1アドレス情報31の全部あるいはその一部と、第2アドレス情報32の全部あるいはその一部とから指定アドレス33を生成するようにしてもよい。また、上位4ビット、下位6ビットから10ビットの指定アドレス33を生成するようにしたが、上位、下位のビット数や全体のビット数は一例であり、特に限定されるものではない。
また、上記の実施の形態においては、第1アドレス情報31は、指定アドレス33の上位4ビットを構成し、第2アドレス情報32は、指定アドレス33の下位6ビットを構成している。したがって、第1アドレス情報31によりメモリアレイ21のブロックアドレスを指定するようにすれば、セキュリティ強度の高い第1動作モードにおいて、ブロック単位のアクセス制御を行うことが可能である。
たとえば、上述したようにメモリアレイ21が1K×1Byte=1KByteのメモリアレイであるとする。そして、このメモリを16のブロックに分割する。この場合、10ビットのアドレスのうち、上位4ビットはブロックを指定するアドレスとなる。これにより、アドレス情報記憶部222に第1アドレス情報31が格納されることで、この第1アドレス情報31で指定されるブロックに対するアクセスを許可することと等価となる。つまり、第2動作モードにおいては、第2アドレス情報を入力することで、第1アドレス情報31で指定されるブロック内の任意のアドレスにアクセス可能となるのである。一方、第1アドレス情報31で指定されるブロック以外のブロックについては、実質的にアクセスが不可能となっており、高いセキュリティが確保されている。
したがって、第2動作モードに遷移した後は、連続して下位ビットである第2アドレス情報を情報処理装置1から半導体メモリ2に転送することで、アクセスが許可されたブロック内の領域に連続的にアクセス可能となる。つまり、セキュリティ強度の高い第1動作モードで、ブロック単位で強度の高いアクセス制限を行い、第1動作モードで第1アドレス情報31が設定された場合には、比較的処理が高速な第2動作モードを利用し、データアクセスを行うのである。
そして、異なるブロックにアクセスする場合には、情報処理装置1から、再び、第1動作モードに遷移するコマンドを出力する。そして、第1動作モードに遷移した後、異なるブロックを指定する第1アドレス情報31を半導体メモリ2に与えるのである。そして、さらに、第2動作モードへのモード切り替えコマンドを出力する。これにより、第2動作モードで、再び連続してブロック内のデータにアクセス可能となるのである。
{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。第2の実施の形態における情報処理装置1および半導体メモリ2の構成も図1および図2で示したものと同様である。第2の実施の形態においては、アドレス生成回路224における指定アドレス33の生成処理方法が異なる。
コントロール回路22が、第1アドレス情報31および第2アドレス情報32を抽出して指定アドレス33を出力する処理の全体の流れも、図3のフローチャートで示した処理と同様である。ただし、第1アドレス情報31は、ブロック単位で管理されたメモリアレイ21のブロックアドレスであり、第2アドレス情報32は、ブロックアドレスを含めた全体のアドレス(バイトアドレス)である。たとえば、メモリアレイ21のアドレス空間が10ビットであり、このメモリアレイ21が16のブロックに分割されている場合には、ブロックアドレスは4ビットであるので、第1アドレス情報31は4ビットであり、第2アドレス情報32は10ビットである。
図5を参照しながら、アドレス生成処理について説明する。図3のステップS9において、コマンド判別回路221がアドレス生成回路224に対して第2アドレス情報32を出力する。アドレス生成回路224は、第2アドレス情報32を入力すると、その第2アドレス情報32の上位4ビットと、アドレス情報記憶部222に格納されている第1アドレス情報31とを比較する(ステップS31)。
アドレス情報記憶部222には、ブロックアドレスである第1アドレス情報(4ビット)31が格納されており、10ビットの第2アドレス情報32の上位4ビットが第1アドレス情報31と一致するかどうかを比較するのである。この両者が一致するということは、第2アドレス情報32で指定される記憶領域が、アドレス情報記憶部222に格納されている第1アドレス情報31で指定されるブロック内の領域であることを意味している。つまり、第1アドレス情報31によって、セキュリティが解除されたブロック内を第2アドレス情報32で指定していることを意味している。
両者が一致する場合(ステップS32でYES)には、第2アドレス情報32を指定アドレスとしてメモリアレイ21に出力する(ステップS33)。これにより、コマンドが読み出しコマンドである場合には、制御信号(Control Signal)としてread命令がメモリアレイ21に与えられることにより、指定アドレスで指定されたアドレスに格納されたデータが読み出される。読み出されたデータは、読み出しデータバス、I/Oバッファ23を介して情報処理装置1に転送される。コマンドが書き込みコマンドである場合には、制御信号(Control Signal)としてwrite命令がメモリアレイ21に与えられるとともに、データバスを介して書き込みデータがメモリアレイ21に与えられることにより、指定アドレス33で指定されたアドレスにデータが書き込まれるのである。
また、両者が一致しない場合(ステップS32でNO)には、エラー処理を実行する(ステップS34)。具体的には、メモリアレイ21へのアクセスを拒否するとともに、エラー信号を情報処理装置1に転送する。
このように、本実施の形態の半導体メモリ2は、セキュリティ強度が高い第1動作モードにおいて抽出した第1アドレス情報31と、セキュリティ強度は第1動作モードより低いが処理負荷の小さい第2動作モードにおいて抽出した第2アドレス情報32を比較し、その一部が一致した場合のみメモリアレイ21にアクセス可能となる。したがって、セキュリティの異なるモードで発行された複数のコマンドがアクセスの可否の判断に用いられるので、コマンドの解析が非常に困難となる。これにより、不正なデータの読み出しや書き込みを有効に防止することが可能である。また、第1動作モードによって強固なセキュリティを確保しながら、第2動作モードに遷移することで処理速度の向上を図っているので、データのセキュリティと効率的な転送を両立可能な構成となっている。
なお、この実施の形態においては、第1アドレス情報31と第2アドレス情報32の一部(上位4ビット)を比較して一致した場合に、第1アドレス情報31で指定されたブロック内の領域へのアクセスを許可することとしたが、第1アドレス情報31がブロックアドレスであるというのは、一例である。本実施の形態は、本質的には、第1動作モードにおいて抽出された第1アドレス情報31と、第2動作モードにおいて抽出された第2アドレス情報32を比較し、その比較結果に応じてアクセスの可否を判断することである。したがって、第1アドレス情報31の全部あるいは一部を比較対象としてもよいし、第2アドレス情報32の全部あるいは一部を比較対象としてもよい。そして、第1アドレス情報31がブロックアドレスでない場合にも、もちろん適用可能である。また、ブロックアドレスが4ビットであり、全体のアドレスが10ビットである場合を例に説明したが、これは一例で特に限定されるものではない。
第1アドレス情報31がブロックアドレスである場合には、第1の実施の形態と同様、アドレス情報記憶部222に第1アドレス情報31が格納されることで、この第1アドレス情報31で指定されるブロックに対するアクセスを許可することと等価と考えることができる。つまり、第2動作モードにおいて入力する第2アドレス情報32が、同じブロック領域内のアドレスである場合には、任意のアドレスにアクセス可能となるのである。
したがって、第2動作モードに遷移した後は、連続して第2アドレス情報32を情報処理装置1から半導体メモリ2に転送することで、アクセスが許可されたブロック内の複数の領域に連続的にアクセス可能となる。つまり、セキュリティ強度の高い第1動作モードにおいて、ブロック単位で強度の高いアクセス制限を行い、第1動作モードで第1アドレス情報31が設定された場合には、比較的処理が高速な第2動作モードを利用し、データアクセスを行うのである。一方、第1アドレス情報31で指定されるブロック以外のブロックについては、実質的にアクセスが不可能となっており、高いセキュリティが確保されている。
そして、異なるブロックにアクセスする場合には、情報処理装置1から、再び、第1動作モードに遷移するコマンドを出力する。そして、第1動作モードに遷移した後、異なるブロックを指定する第1アドレス情報31を半導体メモリ2に与えるのである。そして、さらに、第2動作モードへのモード切り替えコマンドを出力する。これにより、第2動作モードで、再び連続してブロック内のデータにアクセス可能となるのである。
{変形例1}
第1および第2の実施の形態に係る半導体メモリ2に対するセキュリティをさらに向上させる方法について説明する。情報処理装置1は、第1動作モードにおいて、第1アドレス情報を出力する他に、任意ビット長の認証値を出力するのである。つまり、暗号化された第1アドレス情報31の他に、暗号化された認証値を出力するのである。この認証値は、第1アドレス情報31を転送するコマンドに含まれていても良いし、別のコマンドを発行して転送するようにしてもよい。
そして、情報処理装置1は、第2動作モードにおいて、第2アドレス情報32を転送するコマンドに再び認証値を含めるのである。そして、コマンド判別回路221は、第1動作モードで入力した認証値をレジスタ等に格納しておき、第2動作モードで入力した認証値が一致した場合にのみ、アドレス生成回路224に対して第2アドレス情報32を出力するようにするのである。これにより、さらなるセキュリティの向上を図ることが可能である。
{変形例2}
第1および第2の実施の形態において、第1アドレス情報31をブロックアドレスとすることにより、メモリアレイ21に対するブロック単位でのアクセスコントロールが可能となることを説明した。そして、上記の実施の形態においては、たとえば、ブロックアドレスが4ビットで、バイトアドレス(全体のアドレス)が10ビットである場合を説明したが、この全体のアドレスに対するブロックアドレスの比はメモリアレイ21内で一定でなくてもよい。
たとえば、上記の実施の形態では、ブロックアドレスを4ビットとして、1KByteのメモリアレイ21を16個のブロックに分割して管理したが、そのうちの1番目のブロックについては、ブロックアドレスを5ビットとして、さらに、ブロックを2分割して管理するようにしてもよい。
このような半導体メモリ2にアクセスするために、第1の方法としては、情報処理装置1から半導体メモリ2に対して、ブロックアドレスの比率情報をコマンドによって転送する方法である。たとえば、コマンドによってブロックアドレスの比率が4/10(4ビット)であるという情報が半導体メモリ2に送られる。コマンド判別回路221は、たとえば、動作モード記憶部223に、現在の動作モード情報としてブロックアドレスの比率情報も格納するようにする。そして、その後、コマンドによって第1アドレス情報31あるいは第2アドレス情報32を入力した際には、このブロックアドレスの比率情報に従って、それらアドレスの抽出を行うのである。
第2の方法は、第2の実施の形態で採用できる方法である。第1動作モードにおいて、転送する第1アドレス情報31を、ブロックアドレスだけでなく、ブロックアドレスを含めた全体アドレスとする方法である。たとえば、第2動作モードに遷移した後に最初に転送する読み出しコマンドに含まれる第2アドレス情報32と同じアドレスを第1アドレス情報31として用いればよい。
これにより、コマンド判別回路221は、第1アドレス情報31で指定されたアドレスが、どのブロックに属するアドレスであるかを判別することが可能である。そして、コマンド判別回路221は、各ブロックについて、ブロックアドレスの比率情報を参照可能にしておけば、第1アドレス情報31からブロックアドレスを抽出することが可能となる。したがって、コマンドによってブロックアドレスの比率情報を転送することなく、異なるブロックに対するコマンドをそのまま転送すれば、半導体メモリ2において、ブロックを判別し、第1アドレス情報31および第2アドレス情報32を抽出可能である。
このように、本実施の形態の半導体メモリ2は、ブロックアドレスのビット長が異なるブロックから構成されている場合にも適用可能である。たとえば、セキュリティを高くしたいデータについては、ブロックアドレスのビット長が長いブロックに格納するとか、データの読み出し速度を高速にしたい場合には、ブロックアドレスのビット長が短いブロックに格納するというカスタマイズが可能である。ブロックアドレスのビット長が短い場合には、ブロックサイズが大きく、第2動作モードで多くのデータを連続的に読み出し可能である。逆に、ブロックサイズが小さければ、頻繁に第1動作モードに遷移してブロックを変更しなければならないので、処理速度は低下するが、セキュリティは高くなるからである。
{その他の変形例}
第2の実施の形態の変形例として、第1アドレス情報31と第2アドレス情報32とを同じアドレス長にしてもよい。上記の実施の形態であれば、第1アドレス情報31と第2アドレス情報32のいずれについても完全な10ビットのアドレスを用いるのである。この場合、メモリアレイ21の最小アクセス単位とブロック単位が同じ単位となる。したがって、全ての記憶領域にアクセスするためには、一旦第1動作モードに遷移し、ブロックを変更する必要が生じる。このため、処理速度の低下は免れないが、セキュリティは非常に高くなるので、処理速度よりセキュリティの強化が強く望まれる製品で用いるなどすればよい。あるいは、第1アドレス情報31を完全な10ビットのアドレスとし、第2アドレス情報32は0ビットとしてもよい。つまり、第1動作モードにおいて第1アドレス情報31を設定し、第2動作モードではアドレスを指定しないRead/Writeコマンドを発行するのである。この場合にも、メモリアレイ21の最小アクセス単位とブロック単位が同じ単位となり、処理速度の低下は免れないが、非常にセキュリティの高いシステムとなる。
また、上記の実施の形態においては、メモリアレイ21のアクセスの最小単位をByte単位としているが、アクセス単位は、ページ単位であってももちろんよい。例えば、1Page=4Byteなどのページ単位でアクセスするメモリであってもよい。
このように、本実施の形態の半導体メモリ2は、不正なデータの読み出しや、不正なデータの書き込みを防止することが可能である。情報処理装置1がゲーム装置である場合、半導体メモリ2に格納されたゲームプログラムが不正に読み出されることを有効に防止することができる。また、ゲーム装置である情報処理装置1がネットワーク経由でゲームプログラムをダウンロードし、半導体メモリ2にゲームプログラムを格納するというサービス形態が想定されるが、この場合にも、不正な方法によりゲームプログラムがゲームカートリッジに格納されることを有効に防止することが可能である。
半導体メモリにアクセスする情報処理装置のブロック図である。 半導体メモリの機能ブロック図である。 第1、第2アドレス情報の抽出から指定アドレスの出力に関わるコントロール回路のフローチャートである。 第1の実施の形態における指定アドレスの生成に関するフローチャートである。 第2の実施の形態における指定アドレスの生成に関するフローチャートである。
符号の説明
1 情報処理装置
2 半導体メモリ
21 メモリアレイ
22 コントロール回路
221 コマンド判別回路
222 アドレス情報記憶部
223 動作モード記憶部
224 アドレス生成回路

Claims (20)

  1. データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作するメモリであって、
    前記第1動作モードは、前記第2動作モードよりもコマンドに対して高いセキュリティが施されるモードであり、
    前記コントロール回路は、
    現在の動作モードを記憶する動作モード記憶部と、
    前記入出力回路を介して外部より入力されるコマンドを判別するコマンド判別回路と、
    を備え、
    前記コマンド判別回路は、
    少なくとも前記第1動作モードにおいて入力するコマンドに施されたセキュリティを解除してコマンドを解読する手段と、
    前記第1動作モードにおいて入力するコマンドから第1アドレス情報を取得する手段と、
    前記第2動作モードにおいて入力するコマンドから第2アドレス情報を取得する手段と、
    を含み、
    前記コントロール回路は、
    前記コマンド判別回路が前記第1動作モードにおいて取得した前記第1アドレス情報を記憶するアドレス情報記憶部と、
    前記コマンド判別回路が前記第2動作モードにおいて取得した前記第2アドレス情報またはその一部と、前記アドレス情報記憶部に格納されている前記第1アドレス情報またはその一部とから指定アドレスを生成するアドレス生成回路と、
    を備え、
    前記コントロール回路は、前記アドレス生成回路より出力された指定アドレスを用いて前記データ記憶部へのアクセスを行うことを特徴とする半導体メモリ。
  2. 請求項1に記載の半導体メモリにおいて、
    前記第1アドレス情報が、前記指定アドレスの上位ビットアドレスを構成し、前記第2アドレス情報が、前記指定アドレスの下位ビットアドレスを構成することを特徴とする半導体メモリ。
  3. 請求項2に記載の半導体メモリにおいて、
    前記データ記憶部は、複数のブロックで管理され、前記上位ビットアドレスは、前記データ記憶部のブロックアドレスであり、前記コマンド判別回路によって前記上位ビットアドレスが取得されることにより、当該上位ビットアドレスで指定されるブロック内の記憶領域に対しては、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とする半導体メモリ。
  4. 請求項3に記載の半導体メモリにおいて、
    前記上位ビットアドレスで指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とする半導体メモリ。
  5. データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作するメモリであって、
    前記第1動作モードは、前記第2動作モードよりもコマンドに対して高いセキュリティが施されるモードであり、
    前記コントロール回路は、
    現在の動作モードを記憶する動作モード記憶部と、
    前記入出力回路を介して外部より入力されるコマンドを判別するコマンド判別回路と、
    を備え、
    前記コマンド判別回路は、
    少なくとも前記第1動作モードにおいて入力するコマンドに施されたセキュリティを解除してコマンドを解読する手段と、
    前記第1動作モードにおいて入力するコマンドから第1アドレス情報を取得する手段と、
    前記第2動作モードにおいて入力するコマンドから第2アドレス情報を取得する手段と、
    を含み、
    前記コントロール回路は、
    前記コマンド判別回路が前記第1動作モードにおいて取得した前記第1アドレス情報を記憶するアドレス情報記憶部と、
    前記コマンド判別回路が前記第2動作モードにおいて取得した前記第2アドレス情報またはその一部と、前記アドレス情報記憶部に格納されている前記第1アドレス情報またはその一部とを比較して、両者が一致する場合にのみ前記第2アドレス情報またはその一部から指定アドレスを生成するアドレス生成回路と、
    を備え、
    前記コントロール回路は、前記アドレス生成回路より出力された指定アドレスを用いて前記データ記憶部へのアクセスを行うことを特徴とする半導体メモリ。
  6. 請求項5に記載の半導体メモリにおいて、
    前記データ記憶部は、複数のブロックで管理され、前記第1アドレス情報は、前記データ記憶部のブロックアドレスであり、前記第2アドレス情報は、前記データ記憶部のアクセス単位に対応したアドレスであり、前記アドレス生成回路は、前記第2アドレス情報に含まれる上位のブロックアドレスが前記第1アドレス情報と一致する場合に、前記第2アドレス情報を指定アドレスとして出力することを特徴とする半導体メモリ。
  7. 請求項6に記載の半導体メモリにおいて、
    前記コマンド判別回路によって前記第1アドレス情報が取得されることにより、当該第1アドレス情報で指定されるブロック内の記憶領域に対しては、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とする半導体メモリ。
  8. 請求項7に記載の半導体メモリにおいて、
    前記第1アドレス情報で指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とする半導体メモリ。
  9. 請求項3、請求項4、請求項6ないし請求項8のいずれかに記載の半導体メモリにおいて、
    前記データ記憶部は、異なるビット長のブロックアドレスが混在する複数のブロックから構成されることを特徴とする半導体メモリ。
  10. 請求項1ないし請求項9のいずれかに記載の半導体メモリにおいて、
    前記第1動作モードにおいて入力するコマンドに認証値が含まれており、前記第2動作モードにおいて入力するコマンドに含まれている認証値が、前記第1動作モードにおいて入力した認証値と一致する場合のみ、前記データ記憶部へのアクセスを許可することを特徴とする半導体メモリ。
  11. データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作する半導体メモリにおいて前記データ記憶部にアクセスする方法であって、
    a)前記半導体メモリが、前記第2動作モードよりもコマンドに対して高いセキュリティが施される前記第1動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、
    b)前記コントロール回路が、前記第1動作モードにおいて入力したコマンドから第1アドレス情報を取得する工程と、
    c)前記半導体メモリが、前記第2動作モードに遷移する工程と、
    d)前記半導体メモリが、前記第2動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、
    e)前記コントロール回路が、前記第2動作モードにおいて入力したコマンドから第2アドレス情報を取得する工程と、
    f)前記コントロール回路が、前記第1アドレス情報またはその一部と、前記第2アドレス情報またはその一部とから指定アドレスを生成する工程と、
    g)前記コントロール回路が、生成した前記指定アドレスを用いて前記データ記憶部へのアクセスを行う工程と、
    を備えることを特徴とするデータアクセス方法。
  12. 請求項11に記載のデータアクセス方法において、
    前記第1アドレス情報が、前記指定アドレスの上位ビットアドレスを構成し、前記第2アドレス情報が、前記指定アドレスの下位ビットアドレスを構成することを特徴とするデータアクセス方法。
  13. 請求項12に記載のデータアクセス方法において、
    前記データ記憶部は、複数のブロックで管理され、前記上位ビットアドレスは、前記データ記憶部のブロックアドレスであり、前記工程a)〜c)を実行することにより、前記上位ビットアドレスが取得された後は、当該上位ビットアドレスで指定されるブロック内の記憶領域に対しては、前記工程d)〜g)を繰り返すことにより、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とするデータアクセス方法。
  14. 請求項13に記載のデータアクセス方法において、
    前記上位ビットアドレスで指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とするデータアクセス方法。
  15. データ記憶部とコントロール回路と入出力回路とを備え、第1動作モードと第2動作モードとを切替えながら動作する半導体メモリにおいて前記データ記憶部にアクセスする方法であって、
    a)前記半導体メモリが、前記第2動作モードよりもコマンドに対して高いセキュリティが施される前記第1動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、
    b)前記コントロール回路が、前記第1動作モードにおいて入力したコマンドから第1アドレス情報を取得する工程と、
    c)前記半導体メモリが、前記第2動作モードに遷移する工程と、
    d)前記半導体メモリが、前記第2動作モードで動作している状態において、前記コントロール回路が、外部からコマンドを入力する工程と、
    e)前記コントロール回路が、前記第2動作モードにおいて入力したコマンドから第2アドレス情報を取得する工程と、
    f)前記コントロール回路が、前記第1アドレス情報またはその一部と、前記第2アドレス情報またはその一部とを比較して、両者が一致する場合にのみ前記第2アドレス情報またはその一部から指定アドレスを生成する工程と、
    g)前記コントロール回路が、生成した前記指定アドレスを用いて前記データ記憶部へのアクセスを行う工程と、
    を備えることを特徴とするデータアクセス方法。
  16. 請求項15に記載のデータアクセス方法において、
    前記データ記憶部は、複数のブロックで管理され、前記第1アドレス情報は、前記データ記憶部のブロックアドレスであり、前記第2アドレス情報は、前記データ記憶部のアクセス単位に対応したアドレスであり、
    前記工程f)は、前記第2アドレス情報に含まれる上位のブロックアドレスが前記第1アドレス情報と一致する場合に、前記第2アドレス情報を指定アドレスとして出力することを特徴とするデータアクセス方法。
  17. 請求項16に記載のデータアクセス方法において、
    前記工程a)〜c)により前記第1アドレス情報が取得されることにより、当該第1アドレス情報で指定されるブロック内の記憶領域に対しては、前記工程d)〜g)を繰り返すことにより、前記第2動作モードにおいて連続的にアクセス可能としたことを特徴とするデータアクセス方法。
  18. 請求項17に記載のデータアクセス方法において、
    前記第1アドレス情報で指定されるブロック以外のブロックに対しては、前記第2動作モードにおいて実質的にアクセス不可能であることを特徴とするデータアクセス方法。
  19. 請求項13、請求項14、請求項16ないし請求項18のいずれかに記載のデータアクセス方法において、
    前記データ記憶部は、異なるビット長のブロックアドレスが混在する複数のブロックから構成されることを特徴とするデータアクセス方法。
  20. 請求項11ないし請求項19のいずれかに記載のデータアクセス方法において、
    前記第1動作モードにおいて入力するコマンドに認証値が含まれており、前記第2動作モードにおいて入力するコマンドに含まれている認証値が、前記第1動作モードにおいて入力した認証値と一致する場合のみ、前記データ記憶部へのアクセスを許可することを特徴とするデータアクセス方法。
JP2006035076A 2006-02-13 2006-02-13 半導体メモリおよびデータアクセス方法 Expired - Fee Related JP4780304B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006035076A JP4780304B2 (ja) 2006-02-13 2006-02-13 半導体メモリおよびデータアクセス方法
US11/668,735 US7739467B2 (en) 2006-02-13 2007-01-30 Semiconductor memory and data access method
EP07002560A EP1818941B1 (en) 2006-02-13 2007-02-06 Semiconductor memory and data access method
DE602007002416T DE602007002416D1 (de) 2006-02-13 2007-02-06 Halbleiterspeicher und Datenzugangsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006035076A JP4780304B2 (ja) 2006-02-13 2006-02-13 半導体メモリおよびデータアクセス方法

Publications (2)

Publication Number Publication Date
JP2007213478A JP2007213478A (ja) 2007-08-23
JP4780304B2 true JP4780304B2 (ja) 2011-09-28

Family

ID=38113219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006035076A Expired - Fee Related JP4780304B2 (ja) 2006-02-13 2006-02-13 半導体メモリおよびデータアクセス方法

Country Status (4)

Country Link
US (1) US7739467B2 (ja)
EP (1) EP1818941B1 (ja)
JP (1) JP4780304B2 (ja)
DE (1) DE602007002416D1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005108273A (ja) * 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
JP5258244B2 (ja) * 2007-09-25 2013-08-07 セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー 半導体集積回路
JP5319238B2 (ja) * 2008-10-29 2013-10-16 真二 栗本 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム
US8756387B2 (en) * 2010-03-05 2014-06-17 International Business Machines Corporation Method and apparatus for optimizing the performance of a storage system
JP5685150B2 (ja) * 2011-06-08 2015-03-18 キヤノン株式会社 電子機器及びその制御方法
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US8667607B2 (en) * 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9436600B2 (en) 2013-06-11 2016-09-06 Svic No. 28 New Technology Business Investment L.L.P. Non-volatile memory storage for multi-channel memory system
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
CN105632543B (zh) * 2014-11-21 2018-03-30 松下知识产权经营株式会社 具有防篡改性的非易失性存储装置及集成电路卡
US11726672B2 (en) 2020-12-24 2023-08-15 Samsung Electronics Co., Ltd. Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4482979A (en) * 1982-02-04 1984-11-13 May George A Video computing system with automatically refreshed memory
JP2820048B2 (ja) * 1995-01-18 1998-11-05 日本電気株式会社 画像処理システムとその記憶装置およびそのアクセス方法
KR20010011667A (ko) 1999-07-29 2001-02-15 이종우 보안 기능을 갖는 키보드 및 이를 이용한 시스템
JP3734408B2 (ja) * 2000-07-03 2006-01-11 シャープ株式会社 半導体記憶装置
DE10338701A1 (de) 2003-08-22 2005-03-17 Infineon Technologies Ag Controller
JP2005108273A (ja) 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
US7093091B2 (en) * 2003-09-26 2006-08-15 Atmel Corporation Selectable block protection for non-volatile memory
CA2536610C (en) 2004-02-05 2013-04-30 Research In Motion Limited Debugging port security interface
JP4337675B2 (ja) * 2004-07-23 2009-09-30 ソニー株式会社 暗号処理装置および暗号処理方法
US7770027B2 (en) * 2004-11-15 2010-08-03 Nintendo Co., Ltd. Semiconductor memory device

Also Published As

Publication number Publication date
DE602007002416D1 (de) 2009-10-29
US20070192627A1 (en) 2007-08-16
US7739467B2 (en) 2010-06-15
EP1818941B1 (en) 2009-09-16
JP2007213478A (ja) 2007-08-23
EP1818941A3 (en) 2008-03-12
EP1818941A2 (en) 2007-08-15

Similar Documents

Publication Publication Date Title
JP4780304B2 (ja) 半導体メモリおよびデータアクセス方法
US8347114B2 (en) Method and apparatus for enforcing a predetermined memory mapping
JP4299679B2 (ja) 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能
US8781127B2 (en) Device with privileged memory and applications thereof
US20170046281A1 (en) Address dependent data encryption
US20140164793A1 (en) Cryptographic information association to memory regions
CN103824032A (zh) 在微控制器中用于数据安全性处理的方法和装置
US8612774B2 (en) Secure OTP using external memory
US20070266242A1 (en) Memory device
JP2010509662A (ja) 外部不揮発性メモリに記憶された情報の暗号化のための方法およびシステム
JP2007328619A (ja) メモリシステム
US10389530B2 (en) Secure method for processing content stored within a component, and corresponding component
JP2009071838A (ja) 電子デバイスにおけるセキュリティ・フィーチャー
JP4119882B2 (ja) メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
KR20050086782A (ko) 컨텐츠 처리 칩, 장치 및 방법
KR20180059217A (ko) 메모리 데이터 보안 처리 장치 및 방법
JP2008009717A (ja) 情報処理端末およびコンテンツ書き込みシステム
CN111512308A (zh) 一种存储控制器、文件处理方法、装置及***
WO2002005098A1 (en) A secure data storage device
US8095805B2 (en) Security flash memory, data encryption device and method for accessing security flash memory
KR20140088414A (ko) 보안 데이터의 저장 검증을 위한 메모리 장치, 보안 데이터 저장 검증 시스템 및 그 검증 방법
JP2005172866A (ja) 暗号化/復号化システム
JP2008003774A (ja) マイクロコンピュータ
JP5055487B2 (ja) 半導体メモリおよび情報処理システム
JP2007074505A (ja) 暗号化/復号化装置、電子機器及び暗号化/復号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090130

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110614

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110621

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4780304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees