JP3979826B2 - メモリコントローラ、メモリシステム及びメモリの制御方法 - Google Patents
メモリコントローラ、メモリシステム及びメモリの制御方法 Download PDFInfo
- Publication number
- JP3979826B2 JP3979826B2 JP2001348359A JP2001348359A JP3979826B2 JP 3979826 B2 JP3979826 B2 JP 3979826B2 JP 2001348359 A JP2001348359 A JP 2001348359A JP 2001348359 A JP2001348359 A JP 2001348359A JP 3979826 B2 JP3979826 B2 JP 3979826B2
- Authority
- JP
- Japan
- Prior art keywords
- block address
- area
- address
- logical block
- access
- 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
Links
Images
Description
【発明の属する技術分野】
本発明はメモリコントローラに関し、さらに詳細には、一般ユーザによるデータの読み出し及び/又は書き込みが禁止される不可視領域を形成可能なメモリコントローラに関する。また、本発明はメモリシステムに関し、さらに詳細には、一般ユーザによるデータの読み出し及び/又は書き込みが禁止される不可視領域を備えるメモリシステムに関する。さらに、本発明はメモリの制御方法に関し、さらに詳細には、一般ユーザによるデータの読み出し及び/又は書き込みが禁止される不可視領域を形成することができるメモリの制御方法に関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータに代表されるホストコンピュータの外部記憶装置として、フラッシュメモリが用いられることがある。フラッシュメモリは不揮発性半導体メモリの一種であり、EEPROM等に比べて大容量化が容易であることから、ハードディスク装置を代替するものとして期待されている。
【0003】
ホストコンピュータの外部記憶装置としてフラッシュメモリを用いる場合、ホストコンピュータより与えられる各種命令(コマンド)に基づいてフラッシュメモリを制御するメモリコントローラが必要とされる。例えば、ホストコンピュータより所定のホストアドレスに対するデータの読み出しが指示された場合、メモリコントローラは、かかるホストアドレスをフラッシュメモリ内の物理アドレスに変換するとともに、この物理アドレスを用いてフラッシュメモリに対してデータの読み出しを実行し、同様に、ホストコンピュータより所定のホストアドレスに対するデータの書き込みが指示された場合、メモリコントローラは、かかるホストアドレスをフラッシュメモリ内の物理アドレスに変換するとともに、この物理アドレスを用いてフラッシュメモリに対してデータの書き込みを実行する。
【0004】
したがって、ユーザは、ホストコンピュータを操作することによってフラッシュメモリ内の全領域に対してアクセスすることができ、全領域をユーザエリアとして利用することが可能となる。
【0005】
【発明が解決しようとする課題】
ところが、フラッシュメモリの一部の用途においては、フラッシュメモリ内の所定の領域を不可視領域とし、一般ユーザによるデータの読み出しや書き込みを禁止したいという要望が存在する。しかしながら、従来のメモリコントローラを用いた場合、フラッシュメモリ内の全領域がユーザエリアとして開放されていることから、このような要望を満たすことができなかった。
【0006】
このような問題は、フラッシュメモリを用いたメモリシステムのみならず、ハードディスク装置やCD−ROM等、他の記録媒体を用いたメモリシステムにおいても同様に存在する。
【0007】
したがって、本発明の目的は、一般ユーザによるデータの読み出し及び/又は書き込みが禁止される不可視領域を形成可能なメモリコントローラを提供することである。
【0008】
また、本発明の他の目的は、一般ユーザによるデータの読み出し及び/又は書き込みが禁止される不可視領域を備えるメモリシステムを提供することである。
【0009】
また、本発明のさらに他の目的は、一般ユーザによるデータの読み出し及び/又は書き込みが禁止される不可視領域を形成することができるメモリの制御方法を提供することである。
【0010】
【課題を解決するための手段】
本発明のかかる目的は、ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定手段と、前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析手段と、前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の論理ブロックアドレスを生成する演算手段と、前記コマンド解析手段による判断と前記演算手段によって生成された論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断する制御手段と、前記制御手段により前記フラッシュメモリに対するアクセスが許可されたときに、前記演算手段によって生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセス手段とを備え、前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、ことを特徴とするメモリコントローラによって達成される。
【0011】
例えば、前記アクセス手段は、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルを備え、該アドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換する。
【0012】
本発明のフラッシュメモリシステムは、フラッシュメモリと、上述のメモリコントローラと、から構成される。
【0013】
本発明のフラッシュメモリの制御方法は、ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定ステップと、前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析ステップと、前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の論理ブロックアドレスを生成する演算ステップと、前記コマンド解析ステップでの判断と前記演算ステップによって生成された論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断するアクセス可否判断ステップと、前記アクセス可否判断ステップで前記フラッシュメモリに対するアクセスが許可されたときに、前記演算ステップで生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセスステップとを有し、前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、ことを特徴とする。
【0014】
例えば、前記アクセスステップでは、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換する。
【0034】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の好ましい実施態様について詳細に説明する。
【0035】
図1は、本発明の好ましい実施態様にかかるメモリシステム1を用いたコンピュータシステムを概略的に示すブロック図である。
【0036】
図1に示すように、本実施態様にかかるメモリシステム1は、コントローラ2及びフラッシュメモリ3を備え、コネクタ4を介してホストコンピュータ5と接続することによってホストコンピュータ5の外部記憶装置として用いることができる。また、図1に示すように、コントローラ2とコネクタ4とは内部バス6によって接続されており、コントローラ2とフラッシュメモリ3とは内部バス7によって接続されている。ホストコンピュータ5としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置を用いることができる。
【0037】
図2は、コントローラ2の構成を概略的に示すブロック図である。
【0038】
図2に示すように、コントローラ2は、コントローラ2の全体の動作を制御する制御部10と、ホストコンピュータ5より与えられる命令(コマンド)を解析するコマンド解析部11と、ホストコンピュータ5より与えられるホストアドレスをフラッシュメモリ3の物理アドレスに変換するアドレス変換部12と、不可視領域を定義する不可視領域設定部13とを備え、特に限定されるものではないが、一つの半導体チップ上に集積することが望ましい。
【0039】
図3は、フラッシュメモリ3の構成を概略的に示す図である。
【0040】
図3に示すように、フラッシュメモリ3はそれぞれ物理ブロックアドレスが割り当てられた複数の物理ブロックによって構成される。これら物理ブロックはそれぞれ複数のメモリセルからなり、データの消去単位を構成している。フラッシュメモリ3においては、メモリセルごとにその状態を書込状態(論理値=0)から消去状態(論理値=1)に変化させることはできず、メモリセルを書込状態から消去状態に変化させる場合は、当該メモリセルが属する物理ブロックを構成する全てのメモリセルを一括して消去状態とする必要がある。逆に、各メモリセルごとに、その状態を消去状態から書込状態に変化させることは可能である。
【0041】
次に、コントローラ2に含まれるアドレス変換部12の機能について説明する。
【0042】
アドレス変換部12には、SRAM等の揮発性の高速メモリが含まれ、ホストアドレスに基づいて論理ブロックアドレスを生成するとともに、かかる論理ブロックアドレスをフラッシュメモリ3の物理ブロックアドレスに変換する機能を有している。ホストアドレスに基づく論理ブロックアドレスの生成は、除算等の簡単な演算により行われるが、その詳細については本発明と直接関係がないため説明を省略する。ここで、アドレス変換部12によって論理ブロックアドレスを物理ブロックアドレスに変換する必要性について説明する。
【0043】
上述のとおり、フラッシュメモリ3においては、メモリセル単位で消去状態(論理値=1)から書込状態(論理値=0)へ変化させることはできる一方、メモリセル単位で書込状態から消去状態へ変化させることはできず、メモリセルを書込状態から消去状態へ変化させる場合には、物理ブロック単位で行う必要がある。このことは、既にデータの書き込まれている物理ブロックに対して、これと異なるデータを直接上書きすることができないことを意味する。したがって、メモリシステム1においては、ホストコンピュータ5からのホストアドレスに基づき生成される論理ブロックアドレスと、フラッシュメモリ3内の物理ブロックアドレスとの関係を固定させることはできず、データの上書きが要求される度に、両者の関係を動的に変化させる必要がある。これを可能とするためには、SRAM等の揮発性の高速メモリを用いて、ホストアドレスに基づいて生成された論理ブロックアドレスと、これに対応するフラッシュメモリ3上の物理ブロックアドレスとの関係を示すアドレス変換テーブル等を形成し、これを用いて変換を行う必要が生じるのである。
【0044】
図4は、物理ブロックと論理ブロックとの関係を模式的に表す図である。
【0045】
図4に示すように、本実施態様においては、論理的なアドレス空間は論理ブロック#0〜#nからなるn+1個の論理ブロックによって構成されている。論理的なアドレス空間を構成する論理ブロックの数と、フラッシュメモリ3を構成する物理ブロックの数とは必ずしも一致せず、論理ブロックの数の方が物理ブロックの数よりも少なくなっている。これは、物理ブロックの一部がデータの書き込みに備えて待機している冗長ブロックとして用いられるためである。また、図4に示されている矢印は、各論理ブロックとこれに対応する物理ブロックとの関係を示しており、両者は固定的な関係にはない。両者の関係は、上述のとおりアドレス変換部12によって保持されている。
【0046】
ここで、n+1個の論理ブロック#0〜#nのうち、論理ブロック#0〜#mまでの論理ブロックはユーザ領域21として用いられ、論理ブロック#m+1〜#nまでの論理ブロックは不可視領域22として用いられる。ユーザ領域21はホストコンピュータ5を操作する一般ユーザが通常アクセス可能な領域であり、不可視領域22は、通常の操作においてはアクセスできない領域である。ユーザ領域21と不可視領域22との境界は、コントローラ2内の不可視領域設定部13によって定義される。上述のとおり、フラッシュメモリ3上においては、各データは、対応するホストアドレス順に並んで格納されず、アドレス変換テーブルに基づき疎散(シャッフル)された状態で格納されることから、フラッシュメモリ3上においては、ユーザ領域21に対応する物理ブロックと不可視領域22に対応する物理ブロックとが混在した状態となっており、アドレス変換部12に含まれるアドレス変換テーブルを参照しない限り、各物理ブロックがユーザ領域21に対応する物理ブロックであるのか、不可視領域22に対応する物理ブロックであるのかを区別することはできない。
【0047】
次に、コントローラ2に含まれるコマンド解析部11の機能について説明する。
【0048】
本実施態様においては、コマンド解析部11が解析可能なコマンドとして、少なくとも、第1の読み出しコマンドR1、第2の読み出しコマンドR2、第1の書き込みコマンドW1及び第2の書き込みコマンドW2が含まれている。
【0049】
第1の読み出しコマンドR1は通常の読み出しコマンドであり、ホストコンピュータ5よりこれを用いたデータの読み出しが要求され、コマンド解析部11がこれを解析すると、コントローラ2内の制御部10は、ユーザ領域21に対するデータの読み出しを許可する。したがって、このような第1の読み出しコマンドR1としては、本実施態様にかかるメモリシステム1が準拠する規格により定められる通常の読み出しコマンド(例えば、ATA規格では20H)を割り当てることが好ましい。一方、第2の読み出しコマンドR2は特殊な読み出しコマンドであり、ホストコンピュータ5よりこれを用いたデータの読み出しが要求され、コマンド解析部11がこれを解析すると、コントローラ2内の制御部10は、ユーザ領域21及び不可視領域22の両方に対するデータの読み出しを許可する。したがって、このような第2の読み出しコマンドR2としては、本実施態様にかかるメモリシステム1が準拠する規格により定められていない空きコマンドを割り当てることが好ましい。
【0050】
また、第1の書き込みコマンドW1は通常の書き込みコマンドであり、ホストコンピュータ5よりこれを用いたデータの書き込みが要求され、コマンド解析部11がこれを解析すると、コントローラ2内の制御部10は、ユーザ領域21に対するデータの書き込みを許可する。したがって、このような第1の書き込みコマンドW1としては、本実施態様にかかるメモリシステム1が準拠する規格により定められる通常の書き込みコマンド(例えば、ATA規格では30H)を割り当てることが好ましい。一方、第2の書き込みコマンドW2は特殊な書き込みコマンドであり、ホストコンピュータ5よりこれを用いたデータの書き込みが要求され、コマンド解析部11がこれを解析すると、コントローラ2内の制御部10は、ユーザ領域21及び不可視領域22の両方に対するデータの書き込みを許可する。したがって、このような第2の書き込みコマンドW2としては、本実施態様にかかるメモリシステム1が準拠する規格により定められていない空きコマンドを割り当てることが好ましい。
【0051】
次に、コントローラ2に含まれる不可視領域設定部13の機能について説明する。
【0052】
不可視領域設定部13は、フラッシュメモリ3により構成される論理的なアドレス空間のうち、ユーザ領域21として使用可能な範囲を定義する要素であり、ユーザ領域21を構成する最後の論理ブロックのアドレス(ユーザ領域21の最大論理ブロックアドレス)が設定される。例えば、上述のように、ユーザ領域21を構成する最後の論理ブロックが論理ブロック#mであれば、不可視領域設定部13には論理ブロックアドレスmが設定される。かかる設定は、コントローラ2の製造時において行い、その変更ができないように構成しても構わないし、また、ホストコンピュータ5側から特殊なコマンドを発行することによって変更可能に構成しても構わない。これにより、不可視領域設定部13に定義されたユーザ領域21の範囲外の領域は、不可視領域22として取り扱われる。
【0053】
また、図1に示すように、ホストコンピュータ5には、第1のドライバ41及び第2のドライバ42が備えられており、メモリシステム1に対するアクセスはこれら第1のドライバ41又は第2のドライバ42を介して行われる。特に限定されるものではないが、これら第1のドライバ41及び第2のドライバ42は通常ソフトウェアにより実現され、ホストコンピュータ5内のOS(基本ソフト)の一部に組み込まれることによりその機能が実現される。
【0054】
ここで、第1のドライバ41は、ホストコンピュータ5を使用する一般ユーザが通常使用するドライバであり、メモリシステム1に通常アクセスする場合には、この第1のドライバ41が用いられる。一方、第2のドライバ42は、一般ユーザは使用しない特殊なドライバであり、これを用いてメモリシステム1にアクセスするためには、正しいパスワード等を入力し認証を得る必要がある。したがって、図1に示すコンピュータシステムにおいて、ホストコンピュータ5内に常時第2のドライバ42を組み込んでおく必要はなく、これが必要となったときに初めて組み込んでも構わない。
【0055】
また、第1のドライバ41を介してメモリシステム1に対するデータの読み出しを行う場合、第1の読み出しコマンドR1が用いられ、第1のドライバ41を介してメモリシステム1に対するデータの書き込みを行う場合、第1の書き込みコマンドW1が用いられる。一方、第2のドライバ42を介してメモリシステム1に対するデータの読み出しを行う場合、第2の読み出しコマンドR2が用いられ、第2のドライバ42を介してメモリシステム1に対するデータの書き込みを行う場合、第2の書き込みコマンドW2が用いられる。
【0056】
次に、本実施態様にかかるメモリシステム1の動作について説明する。
【0057】
まず、本実施態様にかかるメモリシステム1がホストコンピュータ5に装着されると、コントローラ2内の制御部10は、フラッシュメモリ3に対する初期設定動作を行い、最大論理ブロックアドレスを算出する。図4に示したとおり、本実施態様における最大論理ブロックアドレスはnである。尚、最大論理ブロックアドレスの算出は、フラッシュメモリ3を構成する利用可能な物理ブロック数から、冗長ブロックとして割り当てられる物理ブロックの数を減じることによって行うことができる。
【0058】
次に、制御部10は、不可視領域設定部13に設定されている論理ブロックアドレス(m)をホストコンピュータ5に組み込まれている第1のドライバ41に対して送出するとともに、上記算出された最大論理ブロックアドレス(n)をホストコンピュータ5に組み込まれている第2のドライバ42に対して送出する。これにより、第1のドライバ41ではメモリシステム1において利用可能な最大論理ブロックアドレスがmであると認識され、第2のドライバ42ではメモリシステム1において利用可能な最大論理ブロックアドレスがnであると認識される。すなわち、第1のドライバ41を介したメモリシステム1へのアクセスにおいては、ホストアドレスとして論理ブロックアドレス#0〜#mに対応するホストアドレスが用いられることになり、一方、第2のドライバ42を介したメモリシステム1へのアクセスにおいては、ホストアドレスとして論理ブロックアドレス#0〜#nに対応するホストアドレスが用いられることになる。
【0059】
これにより、一般ユーザが使用する第1のドライバ41からは、メモリシステム1において利用可能な領域がユーザ領域21のみであるように見えるので、不可視領域22へのアクセスは行われなくなる。
【0060】
そして、ホストコンピュータ5より第1のドライバ41を介し、第1の読み出しコマンドR1を用いたユーザ領域21へのアクセス(データの読み出し)が要求されると、コントローラ2内のコマンド解析部11により第1の読み出しコマンドR1が解析され、制御部10は、ユーザ領域21に対するデータの読み出しを許可する。同様に、ホストコンピュータ5より第1のドライバ41を介し、第1の書き込みコマンドW1を用いたユーザ領域21へのアクセス(データの書き込み)が要求されると、コントローラ2内のコマンド解析部11により第1の書き込みコマンドW1が解析され、制御部10は、ユーザ領域21に対するデータの書き込みを許可する。
【0061】
また、上述のとおり、ホストコンピュータ5に組み込まれた第1のドライバ41からは、メモリシステム1において利用可能な領域がユーザ領域21のみであるように見えるはずであるが、仮に、第1の読み出しコマンドR1又は第1の書き込みコマンドW1を用いた不可視領域22へのアクセスが要求された場合には、これらコマンドにてアクセス可能な範囲を超えていることから、制御部10はこれを拒否する。
【0062】
これにより、一般的なユーザは、メモリシステム1内に不可視領域22が存在することを認識できないとともに、仮に不可視領域22の存在を認識しアクセスを試みたとしてもこれが拒否されることから、事実上、不可視領域22に対するアクセスは不可能となる。
【0063】
一方、パスワード等による認証が必要な第2のドライバ42からは、メモリシステム1において利用可能な領域がユーザ領域21と不可視領域22の両方であるように見えるので、ユーザ領域21と不可視領域22の両方に対してアクセスすることが可能となる。
【0064】
そして、ホストコンピュータ5より第2のドライバ42を介し、第2の読み出しコマンドR2を用いたユーザ領域21又は不可視領域22へのアクセス(データの読み出し)が要求されると、コントローラ2内のコマンド解析部11により第2の読み出しコマンドR2が解析され、制御部10は、ユーザ領域21又は不可視領域22に対するデータの読み出しを許可する。同様に、ホストコンピュータ5より第2のドライバ42を介し、第2の書き込みコマンドW2を用いたユーザ領域21又は不可視領域22へのアクセス(データの書き込み)が要求されると、コントローラ2内のコマンド解析部11により第2の書き込みコマンドW2が解析され、制御部10は、ユーザ領域21又は不可視領域22に対するデータの書き込みを許可する。
【0065】
以上説明したように、本実施態様にかかるメモリシステム1では、利用可能な論理ブロックアドレスのうちの一部を不可視領域22として定義し、第1のドライバ41を用いた通常のアクセスにおいてはかかる不可視領域22へのアクセスができないように構成していることから、所定の領域を不可視領域とし、一般ユーザによるデータの読み出しや書き込みを禁止したいという要望を満たすことが可能となる。
【0066】
また、本実施態様にかかるメモリシステム1では、第1のドライバ41に対して、不可視領域設定部13に設定されている論理ブロックアドレス(m)を最大論理ブロックアドレスとして送出していることから、一般ユーザは不可視領域22の存在を認識することができず、不正なアクセスが効果的に予防される。さらに、本実施態様においては、不可視領域22へアクセスする場合、第1のドライバ41が用いるコマンド(第1の読み出しコマンドR1、第1の書き込みコマンドW1)とは異なる特殊なコマンド(第2の読み出しコマンドR2、第2の書き込みコマンドW2)が必要であることから、仮に、一般ユーザが不可視領域22の存在を認識しアクセスを試みたとしても、これを拒否することが可能となる。しかも、これら特殊なコマンド(第2の読み出しコマンドR2、第2の書き込みコマンドW2)の発行は、パスワード等による認証が必要な第2のドライバ42が行うことから、一般ユーザによる不可視領域22へのアクセスは極めて困難となる。
【0067】
さらに、本実施態様にかかるメモリシステム1では、記録媒体としてフラッシュメモリ3が用いられているため、論理ブロックと物理ブロックとの関係が固定的でなく、フラッシュメモリ3内において、ユーザ領域21に対応する物理ブロックと不可視領域22に対応する物理ブロックとが混在して存在する。このため、アドレス変換部12を参照しない限り、どの物理ブロックが不可視領域22に対応する物理ブロックであるのか特定することすら不可能である。
【0068】
以上より、本実施態様においては、一般ユーザによる不可視領域22へのアクセスは事実上不可能であり、上記要望を確実に満たすことが可能となる。
【0069】
本発明は、以上の実施態様に限定されることなく、特許請求の範囲に記載された発明の範囲内で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【0070】
例えば、上記実施態様においては、メモリシステム1を構成する記録媒体としてフラッシュメモリ3を用いているが、本発明は記録媒体としてフラッシュメモリを用いたシステムに限定されるものではなく、ハードディスクやCD−ROM等、他の記録媒体を用いたシステムへの適用も可能である。
【0071】
また、上記実施態様においては、メモリシステム1がホストコンピュータ5に装着されたことに応答して、不可視領域設定部13に設定されている論理ブロックアドレス(m)を第1のドライバ41に対して送出するとともに、算出された最大論理ブロックアドレス(n)を第2のドライバ42に対して送出しているが、算出された最大論理ブロックアドレス(n)の送出をパスワード等による第2のドライバ42に対する認証が行われた後に行っても構わない。このようにすれば、第2のドライバ42に対する認証が行われない限り、ホストコンピュータ5側は実際の最大論理ブロックアドレス(n)を全く知り得ないので、不可視領域22に対する不正なアクセスの可能性をより排除することができる。
【0072】
さらに、上記実施態様においては、不可視領域22に対してアクセスを行う場合に用いるコマンドとして、第2の読み出しコマンドR2及び第2の書き込みコマンドW2を割り当てているが、不可視領域22に対していかなる書き込みコマンドをも割り当てないことによって、不可視領域22を読み出し専用領域としても構わない。
【0073】
また、本発明において、手段とは、必ずしも物理的手段を意味するものではなく、各手段の機能がソフトウエアによって実現される場合も包含する。さらに、一つの手段の機能が二以上の物理的手段により実現されても、二以上の手段の機能が一つの物理的手段により実現されてもよい。
【0074】
【発明の効果】
以上説明したように、本発明では、利用可能な論理アドレスのうちの一部を不可視領域として定義し、通常のアクセスにおいてはかかる不可視領域へのアクセスができないように構成していることから、所定の領域を不可視領域とし、一般ユーザによるデータの読み出しや書き込みを禁止したいという要望を満たすことが可能となる。
【図面の簡単な説明】
【図1】本発明の好ましい実施態様にかかるメモリシステム1を用いたコンピュータシステムを概略的に示すブロック図である。
【図2】コントローラ2の構成を概略的に示すブロック図である。
【図3】フラッシュメモリ3の構成を概略的に示す図である。
【図4】物理ブロックと論理ブロックとの関係を模式的に表す図である。
【符号の説明】
1 メモリシステム
2 コントローラ
3 フラッシュメモリ
4 コネクタ
5 ホストコンピュータ
6,7 内部バス
10 制御部
11 コマンド解析部
12 アドレス変換部
13 不可視領域設定部
21 ユーザ領域
22 不可視領域
41 第1のドライバ
42 第2のドライバ
Claims (5)
- ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定手段と、
前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析手段と、
前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の前記論理ブロックアドレスを生成する演算手段と、
前記コマンド解析手段による判断と前記演算手段によって生成された前記論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断する制御手段と、
前記制御手段により前記フラッシュメモリに対するアクセスが許可されたときに、前記演算手段によって生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセス手段とを備え、
前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、
前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、
ことを特徴とするメモリコントローラ。 - 前記アクセス手段は、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルを備え、該アドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項1に記載のメモリコントローラ。
- フラッシュメモリと、該フラッシュメモリを制御する請求項1又は2に記載のメモリコントローラと、を備えるメモリシステム。
- ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定ステップと、
前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析ステップと、
前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の前記論理ブロックアドレスを生成する演算ステップと、
前記コマンド解析ステップでの判断と前記演算ステップによって生成された前記論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断するアクセス可否判断ステップと、
前記アクセス可否判断ステップで前記フラッシュメモリに対するアクセスが許可されたときに、前記演算ステップで生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセスステップとを有し、
前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、
前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、
ことを特徴とするフラッシュメモリの制御方法。 - 前記アクセスステップでは、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項4に記載のフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001348359A JP3979826B2 (ja) | 2001-11-14 | 2001-11-14 | メモリコントローラ、メモリシステム及びメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001348359A JP3979826B2 (ja) | 2001-11-14 | 2001-11-14 | メモリコントローラ、メモリシステム及びメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003150450A JP2003150450A (ja) | 2003-05-23 |
JP3979826B2 true JP3979826B2 (ja) | 2007-09-19 |
Family
ID=19161188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001348359A Expired - Fee Related JP3979826B2 (ja) | 2001-11-14 | 2001-11-14 | メモリコントローラ、メモリシステム及びメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3979826B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181228A (ja) | 2007-01-23 | 2008-08-07 | Sony Corp | 管理システムおよび管理方法、端末装置、管理サーバ、並びにプログラム |
JP2009211245A (ja) * | 2008-03-03 | 2009-09-17 | Nec Access Technica Ltd | フラッシュメモリ制御システムおよび制御方法 |
JP5612514B2 (ja) * | 2010-03-24 | 2014-10-22 | パナソニック株式会社 | 不揮発性メモリコントローラ及び不揮発性記憶装置 |
US9740518B2 (en) | 2012-09-12 | 2017-08-22 | Nxp Usa, Inc. | Conflict detection circuit for resolving access conflict to peripheral device by multiple virtual machines |
WO2014080248A1 (en) | 2012-11-23 | 2014-05-30 | Freescale Semiconductor, Inc. | System on chip |
WO2015008108A1 (en) | 2013-07-18 | 2015-01-22 | Freescale Semiconductor, Inc. | Charge pump circuit, phase locked loop apparatus, integrated circuit, and method of manufacture of a charge pump |
US9781120B2 (en) | 2013-07-18 | 2017-10-03 | Nxp Usa, Inc. | System on chip and method therefor |
US9225527B1 (en) | 2014-08-29 | 2015-12-29 | Coban Technologies, Inc. | Hidden plug-in storage drive for data integrity |
US9307317B2 (en) | 2014-08-29 | 2016-04-05 | Coban Technologies, Inc. | Wireless programmable microphone apparatus and system for integrated surveillance system devices |
US9690719B2 (en) | 2014-09-11 | 2017-06-27 | Nxp Usa, Inc. | Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof |
US10165171B2 (en) | 2016-01-22 | 2018-12-25 | Coban Technologies, Inc. | Systems, apparatuses, and methods for controlling audiovisual apparatuses |
US10370102B2 (en) | 2016-05-09 | 2019-08-06 | Coban Technologies, Inc. | Systems, apparatuses and methods for unmanned aerial vehicle |
US10152858B2 (en) | 2016-05-09 | 2018-12-11 | Coban Technologies, Inc. | Systems, apparatuses and methods for triggering actions based on data capture and characterization |
US10789840B2 (en) | 2016-05-09 | 2020-09-29 | Coban Technologies, Inc. | Systems, apparatuses and methods for detecting driving behavior and triggering actions based on detected driving behavior |
JP7309700B2 (ja) * | 2018-05-21 | 2023-07-18 | フェリカネットワークス株式会社 | 携帯端末およびicチップの管理方法 |
WO2024057507A1 (ja) * | 2022-09-15 | 2024-03-21 | 三菱電機株式会社 | プログラム処理装置、プログラム処理方法、およびプログラム処理プログラム |
-
2001
- 2001-11-14 JP JP2001348359A patent/JP3979826B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003150450A (ja) | 2003-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3979826B2 (ja) | メモリコントローラ、メモリシステム及びメモリの制御方法 | |
US7054990B1 (en) | External storage device using non-volatile semiconductor memory | |
JP3942807B2 (ja) | ブロックアラインメント機能付き半導体記憶装置 | |
TWI282496B (en) | Method for partitioning memory mass storage device and device thereof | |
US7797490B2 (en) | Memory card authentication system, memory card host device, memory card, storage area switching method, and storage area switching program | |
US7500093B2 (en) | Startup program execution method, device, storage medium, and program | |
US8583888B2 (en) | Method to qualify access to a block storage device via augmentation of the device'S controller and firmware flow | |
JPH0844628A (ja) | 不揮発性メモリ、およびそれを用いたメモリカード、情報処理装置、ならびに不揮発性メモリのソフトウェアライトプロテクト制御方法 | |
JPH1131102A (ja) | データ記憶システム及び同システムに適用するアクセス制御方法 | |
US8380666B2 (en) | File management device and storage device for managing mapping information between a first file system and a second file system | |
KR100745603B1 (ko) | 보안 멀티미디어 카드 및 그것을 포함하는 메모리 카드시스템 | |
JPH1185609A (ja) | 半導体記憶装置及びそのデータ管理方法 | |
TWI437430B (zh) | 動態切換分割區方法、記憶卡控制器與記憶卡儲存系統及電腦程式產品 | |
JP2005508039A (ja) | 目標セキュリティを決定する物理アドレスベースのセキュリティのための方法および装置 | |
JP2008146642A (ja) | マルチオペレーティングシステム環境下でハードディスクを保護するための装置、システム、および方法 | |
JPH076132A (ja) | インタフェイス制御装置 | |
US20020069315A1 (en) | Memory apparatus and memory access restricting method | |
JPH01277993A (ja) | 携帯可能電子装置 | |
US11216390B2 (en) | Storage device, memory access control system, and memory access control method | |
JP4478458B2 (ja) | 所望のセキュリティを用いた入出力デバイスにアクセスするための方法及び装置 | |
KR20070081996A (ko) | 유니버셜 시리얼 버스 저장 시스템 및 그 제어 방법 | |
US7797502B2 (en) | Method to control the access in a flash memory and system for the implementation of such a method | |
CN114444141B (zh) | 固态硬盘和固态硬盘数据保护方法、装置及设备 | |
JP4773757B2 (ja) | 領域管理型メモリ装置 | |
JP2003122630A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040922 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20051130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070514 |
|
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: 20070619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070626 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100706 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110706 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120706 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |