(57)【特許請求の範囲】
【請求項１】
ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定手段と、
前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析手段と、
前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の前記論理ブロックアドレスを生成する演算手段と、
前記コマンド解析手段による判断と前記演算手段によって生成された前記論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断する制御手段と、
前記制御手段により前記フラッシュメモリに対するアクセスが許可されたときに、前記演算手段によって生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセス手段とを備え、
前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、
前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、
ことを特徴とするメモリコントローラ。
【請求項２】
前記アクセス手段は、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルを備え、該アドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
フラッシュメモリと、該フラッシュメモリを制御する請求項１又は２に記載のメモリコントローラと、を備えるメモリシステム。
【請求項４】
ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定ステップと、
前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析ステップと、
前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の前記論理ブロックアドレスを生成する演算ステップと、
前記コマンド解析ステップでの判断と前記演算ステップによって生成された前記論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断するアクセス可否判断ステップと、
前記アクセス可否判断ステップで前記フラッシュメモリに対するアクセスが許可されたときに、前記演算ステップで生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセスステップとを有し、
前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、
前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、
ことを特徴とするフラッシュメモリの制御方法。
【請求項５】
前記アクセスステップでは、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項４に記載のフラッシュメモリの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリコントローラに関し、さらに詳細には、一般ユーザによるデータの読み出し及び／又は書き込みが禁止される不可視領域を形成可能なメモリコントローラに関する。また、本発明はメモリシステムに関し、さらに詳細には、一般ユーザによるデータの読み出し及び／又は書き込みが禁止される不可視領域を備えるメモリシステムに関する。さらに、本発明はメモリの制御方法に関し、さらに詳細には、一般ユーザによるデータの読み出し及び／又は書き込みが禁止される不可視領域を形成することができるメモリの制御方法に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータに代表されるホストコンピュータの外部記憶装置として、フラッシュメモリが用いられることがある。フラッシュメモリは不揮発性半導体メモリの一種であり、ＥＥＰＲＯＭ等に比べて大容量化が容易であることから、ハードディスク装置を代替するものとして期待されている。
【０００３】
ホストコンピュータの外部記憶装置としてフラッシュメモリを用いる場合、ホストコンピュータより与えられる各種命令（コマンド）に基づいてフラッシュメモリを制御するメモリコントローラが必要とされる。例えば、ホストコンピュータより所定のホストアドレスに対するデータの読み出しが指示された場合、メモリコントローラは、かかるホストアドレスをフラッシュメモリ内の物理アドレスに変換するとともに、この物理アドレスを用いてフラッシュメモリに対してデータの読み出しを実行し、同様に、ホストコンピュータより所定のホストアドレスに対するデータの書き込みが指示された場合、メモリコントローラは、かかるホストアドレスをフラッシュメモリ内の物理アドレスに変換するとともに、この物理アドレスを用いてフラッシュメモリに対してデータの書き込みを実行する。
【０００４】
したがって、ユーザは、ホストコンピュータを操作することによってフラッシュメモリ内の全領域に対してアクセスすることができ、全領域をユーザエリアとして利用することが可能となる。
【０００５】
【発明が解決しようとする課題】
ところが、フラッシュメモリの一部の用途においては、フラッシュメモリ内の所定の領域を不可視領域とし、一般ユーザによるデータの読み出しや書き込みを禁止したいという要望が存在する。しかしながら、従来のメモリコントローラを用いた場合、フラッシュメモリ内の全領域がユーザエリアとして開放されていることから、このような要望を満たすことができなかった。
【０００６】
このような問題は、フラッシュメモリを用いたメモリシステムのみならず、ハードディスク装置やＣＤ−ＲＯＭ等、他の記録媒体を用いたメモリシステムにおいても同様に存在する。
【０００７】
したがって、本発明の目的は、一般ユーザによるデータの読み出し及び／又は書き込みが禁止される不可視領域を形成可能なメモリコントローラを提供することである。
【０００８】
また、本発明の他の目的は、一般ユーザによるデータの読み出し及び／又は書き込みが禁止される不可視領域を備えるメモリシステムを提供することである。
【０００９】
また、本発明のさらに他の目的は、一般ユーザによるデータの読み出し及び／又は書き込みが禁止される不可視領域を形成することができるメモリの制御方法を提供することである。
【００１０】
【課題を解決するための手段】
本発明のかかる目的は、ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定手段と、前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析手段と、前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の論理ブロックアドレスを生成する演算手段と、前記コマンド解析手段による判断と前記演算手段によって生成された論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断する制御手段と、前記制御手段により前記フラッシュメモリに対するアクセスが許可されたときに、前記演算手段によって生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセス手段とを備え、前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、ことを特徴とするメモリコントローラによって達成される。
【００１１】
例えば、前記アクセス手段は、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルを備え、該アドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換する。
【００１２】
本発明のフラッシュメモリシステムは、フラッシュメモリと、上述のメモリコントローラと、から構成される。
【００１３】
本発明のフラッシュメモリの制御方法は、ホストコンピュータから与えられるアクセス領域を指示するホストアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、前記ホストコンピュータから与えられるホストアドレスに基づいて特定される論理ブロックアドレスの領域に対して、ユーザ領域と不可視領域を設定する不可視領域設定ステップと、前記ホストコンピュータから与えられる前記フラッシュメモリに対するアクセスを要求するコマンドが前記ユーザ領域と前記不可視領域の双方にアクセス可能なコマンドであるか又は前記ユーザ領域だけにアクセス可能なコマンドであるかを判断するコマンド解析ステップと、前記ホストコンピュータから前記コマンドと共に与えられるホストアドレスに基づいてアクセス対象の論理ブロックアドレスを生成する演算ステップと、前記コマンド解析ステップでの判断と前記演算ステップによって生成された論理ブロックアドレスに基づいて前記フラッシュメモリに対するアクセスの可否を判断するアクセス可否判断ステップと、前記アクセス可否判断ステップで前記フラッシュメモリに対するアクセスが許可されたときに、前記演算ステップで生成された前記論理ブロックアドレスを、前記物理ブロックに割り当てられている物理ブロックアドレスにアドレス変換テーブルにより変換し、該変換によって得られた前記物理ブロックアドレスによって特定される前記物理ブロックにアクセスするアクセスステップとを有し、前記アドレス変換テーブルは、前記ユーザ領域に属する前記論理ブロックアドレスと前記不可視領域に属する前記論理ブロックアドレスとを、前記論理ブロックアドレスの順番とは異なる疎散された物理ブロックアドレスに変換し、前記ユーザ領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域と前記不可視領域に属する前記論理ブロックアドレスに対応する前記物理ブロックアドレスの領域とは、前記フラッシュメモリ上において混在した状態となっている、ことを特徴とする。
【００１４】
例えば、前記アクセスステップでは、前記論理ブロックアドレスと前記物理ブロックアドレスとの対応関係を記述したアドレス変換テーブルに基づいて前記論理ブロックアドレスを前記物理ブロックアドレスに変換する。
【００３４】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の好ましい実施態様について詳細に説明する。
【００３５】
図１は、本発明の好ましい実施態様にかかるメモリシステム１を用いたコンピュータシステムを概略的に示すブロック図である。
【００３６】
図１に示すように、本実施態様にかかるメモリシステム１は、コントローラ２及びフラッシュメモリ３を備え、コネクタ４を介してホストコンピュータ５と接続することによってホストコンピュータ５の外部記憶装置として用いることができる。また、図１に示すように、コントローラ２とコネクタ４とは内部バス６によって接続されており、コントローラ２とフラッシュメモリ３とは内部バス７によって接続されている。ホストコンピュータ５としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置を用いることができる。
【００３７】
図２は、コントローラ２の構成を概略的に示すブロック図である。
【００３８】
図２に示すように、コントローラ２は、コントローラ２の全体の動作を制御する制御部１０と、ホストコンピュータ５より与えられる命令（コマンド）を解析するコマンド解析部１１と、ホストコンピュータ５より与えられるホストアドレスをフラッシュメモリ３の物理アドレスに変換するアドレス変換部１２と、不可視領域を定義する不可視領域設定部１３とを備え、特に限定されるものではないが、一つの半導体チップ上に集積することが望ましい。
【００３９】
図３は、フラッシュメモリ３の構成を概略的に示す図である。
【００４０】
図３に示すように、フラッシュメモリ３はそれぞれ物理ブロックアドレスが割り当てられた複数の物理ブロックによって構成される。これら物理ブロックはそれぞれ複数のメモリセルからなり、データの消去単位を構成している。フラッシュメモリ３においては、メモリセルごとにその状態を書込状態（論理値＝０）から消去状態（論理値＝１）に変化させることはできず、メモリセルを書込状態から消去状態に変化させる場合は、当該メモリセルが属する物理ブロックを構成する全てのメモリセルを一括して消去状態とする必要がある。逆に、各メモリセルごとに、その状態を消去状態から書込状態に変化させることは可能である。
【００４１】
次に、コントローラ２に含まれるアドレス変換部１２の機能について説明する。
【００４２】
アドレス変換部１２には、ＳＲＡＭ等の揮発性の高速メモリが含まれ、ホストアドレスに基づいて論理ブロックアドレスを生成するとともに、かかる論理ブロックアドレスをフラッシュメモリ３の物理ブロックアドレスに変換する機能を有している。ホストアドレスに基づく論理ブロックアドレスの生成は、除算等の簡単な演算により行われるが、その詳細については本発明と直接関係がないため説明を省略する。ここで、アドレス変換部１２によって論理ブロックアドレスを物理ブロックアドレスに変換する必要性について説明する。
【００４３】
上述のとおり、フラッシュメモリ３においては、メモリセル単位で消去状態（論理値＝１）から書込状態（論理値＝０）へ変化させることはできる一方、メモリセル単位で書込状態から消去状態へ変化させることはできず、メモリセルを書込状態から消去状態へ変化させる場合には、物理ブロック単位で行う必要がある。このことは、既にデータの書き込まれている物理ブロックに対して、これと異なるデータを直接上書きすることができないことを意味する。したがって、メモリシステム１においては、ホストコンピュータ５からのホストアドレスに基づき生成される論理ブロックアドレスと、フラッシュメモリ３内の物理ブロックアドレスとの関係を固定させることはできず、データの上書きが要求される度に、両者の関係を動的に変化させる必要がある。これを可能とするためには、ＳＲＡＭ等の揮発性の高速メモリを用いて、ホストアドレスに基づいて生成された論理ブロックアドレスと、これに対応するフラッシュメモリ３上の物理ブロックアドレスとの関係を示すアドレス変換テーブル等を形成し、これを用いて変換を行う必要が生じるのである。
【００４４】
図４は、物理ブロックと論理ブロックとの関係を模式的に表す図である。
【００４５】
図４に示すように、本実施態様においては、論理的なアドレス空間は論理ブロック＃０〜＃ｎからなるｎ＋１個の論理ブロックによって構成されている。論理的なアドレス空間を構成する論理ブロックの数と、フラッシュメモリ３を構成する物理ブロックの数とは必ずしも一致せず、論理ブロックの数の方が物理ブロックの数よりも少なくなっている。これは、物理ブロックの一部がデータの書き込みに備えて待機している冗長ブロックとして用いられるためである。また、図４に示されている矢印は、各論理ブロックとこれに対応する物理ブロックとの関係を示しており、両者は固定的な関係にはない。両者の関係は、上述のとおりアドレス変換部１２によって保持されている。
【００４６】
ここで、ｎ＋１個の論理ブロック＃０〜＃ｎのうち、論理ブロック＃０〜＃ｍまでの論理ブロックはユーザ領域２１として用いられ、論理ブロック＃ｍ＋１〜＃ｎまでの論理ブロックは不可視領域２２として用いられる。ユーザ領域２１はホストコンピュータ５を操作する一般ユーザが通常アクセス可能な領域であり、不可視領域２２は、通常の操作においてはアクセスできない領域である。ユーザ領域２１と不可視領域２２との境界は、コントローラ２内の不可視領域設定部１３によって定義される。上述のとおり、フラッシュメモリ３上においては、各データは、対応するホストアドレス順に並んで格納されず、アドレス変換テーブルに基づき疎散（シャッフル）された状態で格納されることから、フラッシュメモリ３上においては、ユーザ領域２１に対応する物理ブロックと不可視領域２２に対応する物理ブロックとが混在した状態となっており、アドレス変換部１２に含まれるアドレス変換テーブルを参照しない限り、各物理ブロックがユーザ領域２１に対応する物理ブロックであるのか、不可視領域２２に対応する物理ブロックであるのかを区別することはできない。
【００４７】
次に、コントローラ２に含まれるコマンド解析部１１の機能について説明する。
【００４８】
本実施態様においては、コマンド解析部１１が解析可能なコマンドとして、少なくとも、第１の読み出しコマンドＲ１、第２の読み出しコマンドＲ２、第１の書き込みコマンドＷ１及び第２の書き込みコマンドＷ２が含まれている。
【００４９】
第１の読み出しコマンドＲ１は通常の読み出しコマンドであり、ホストコンピュータ５よりこれを用いたデータの読み出しが要求され、コマンド解析部１１がこれを解析すると、コントローラ２内の制御部１０は、ユーザ領域２１に対するデータの読み出しを許可する。したがって、このような第１の読み出しコマンドＲ１としては、本実施態様にかかるメモリシステム１が準拠する規格により定められる通常の読み出しコマンド（例えば、ＡＴＡ規格では２０Ｈ）を割り当てることが好ましい。一方、第２の読み出しコマンドＲ２は特殊な読み出しコマンドであり、ホストコンピュータ５よりこれを用いたデータの読み出しが要求され、コマンド解析部１１がこれを解析すると、コントローラ２内の制御部１０は、ユーザ領域２１及び不可視領域２２の両方に対するデータの読み出しを許可する。したがって、このような第２の読み出しコマンドＲ２としては、本実施態様にかかるメモリシステム１が準拠する規格により定められていない空きコマンドを割り当てることが好ましい。
【００５０】
また、第１の書き込みコマンドＷ１は通常の書き込みコマンドであり、ホストコンピュータ５よりこれを用いたデータの書き込みが要求され、コマンド解析部１１がこれを解析すると、コントローラ２内の制御部１０は、ユーザ領域２１に対するデータの書き込みを許可する。したがって、このような第１の書き込みコマンドＷ１としては、本実施態様にかかるメモリシステム１が準拠する規格により定められる通常の書き込みコマンド（例えば、ＡＴＡ規格では３０Ｈ）を割り当てることが好ましい。一方、第２の書き込みコマンドＷ２は特殊な書き込みコマンドであり、ホストコンピュータ５よりこれを用いたデータの書き込みが要求され、コマンド解析部１１がこれを解析すると、コントローラ２内の制御部１０は、ユーザ領域２１及び不可視領域２２の両方に対するデータの書き込みを許可する。したがって、このような第２の書き込みコマンドＷ２としては、本実施態様にかかるメモリシステム１が準拠する規格により定められていない空きコマンドを割り当てることが好ましい。
【００５１】
次に、コントローラ２に含まれる不可視領域設定部１３の機能について説明する。
【００５２】
不可視領域設定部１３は、フラッシュメモリ３により構成される論理的なアドレス空間のうち、ユーザ領域２１として使用可能な範囲を定義する要素であり、ユーザ領域２１を構成する最後の論理ブロックのアドレス（ユーザ領域２１の最大論理ブロックアドレス）が設定される。例えば、上述のように、ユーザ領域２１を構成する最後の論理ブロックが論理ブロック＃ｍであれば、不可視領域設定部１３には論理ブロックアドレスｍが設定される。かかる設定は、コントローラ２の製造時において行い、その変更ができないように構成しても構わないし、また、ホストコンピュータ５側から特殊なコマンドを発行することによって変更可能に構成しても構わない。これにより、不可視領域設定部１３に定義されたユーザ領域２１の範囲外の領域は、不可視領域２２として取り扱われる。
【００５３】
また、図１に示すように、ホストコンピュータ５には、第１のドライバ４１及び第２のドライバ４２が備えられており、メモリシステム１に対するアクセスはこれら第１のドライバ４１又は第２のドライバ４２を介して行われる。特に限定されるものではないが、これら第１のドライバ４１及び第２のドライバ４２は通常ソフトウェアにより実現され、ホストコンピュータ５内のＯＳ（基本ソフト）の一部に組み込まれることによりその機能が実現される。
【００５４】
ここで、第１のドライバ４１は、ホストコンピュータ５を使用する一般ユーザが通常使用するドライバであり、メモリシステム１に通常アクセスする場合には、この第１のドライバ４１が用いられる。一方、第２のドライバ４２は、一般ユーザは使用しない特殊なドライバであり、これを用いてメモリシステム１にアクセスするためには、正しいパスワード等を入力し認証を得る必要がある。したがって、図１に示すコンピュータシステムにおいて、ホストコンピュータ５内に常時第２のドライバ４２を組み込んでおく必要はなく、これが必要となったときに初めて組み込んでも構わない。
【００５５】
また、第１のドライバ４１を介してメモリシステム１に対するデータの読み出しを行う場合、第１の読み出しコマンドＲ１が用いられ、第１のドライバ４１を介してメモリシステム１に対するデータの書き込みを行う場合、第１の書き込みコマンドＷ１が用いられる。一方、第２のドライバ４２を介してメモリシステム１に対するデータの読み出しを行う場合、第２の読み出しコマンドＲ２が用いられ、第２のドライバ４２を介してメモリシステム１に対するデータの書き込みを行う場合、第２の書き込みコマンドＷ２が用いられる。
【００５６】
次に、本実施態様にかかるメモリシステム１の動作について説明する。
【００５７】
まず、本実施態様にかかるメモリシステム１がホストコンピュータ５に装着されると、コントローラ２内の制御部１０は、フラッシュメモリ３に対する初期設定動作を行い、最大論理ブロックアドレスを算出する。図４に示したとおり、本実施態様における最大論理ブロックアドレスはｎである。尚、最大論理ブロックアドレスの算出は、フラッシュメモリ３を構成する利用可能な物理ブロック数から、冗長ブロックとして割り当てられる物理ブロックの数を減じることによって行うことができる。
【００５８】
次に、制御部１０は、不可視領域設定部１３に設定されている論理ブロックアドレス（ｍ）をホストコンピュータ５に組み込まれている第１のドライバ４１に対して送出するとともに、上記算出された最大論理ブロックアドレス（ｎ）をホストコンピュータ５に組み込まれている第２のドライバ４２に対して送出する。これにより、第１のドライバ４１ではメモリシステム１において利用可能な最大論理ブロックアドレスがｍであると認識され、第２のドライバ４２ではメモリシステム１において利用可能な最大論理ブロックアドレスがｎであると認識される。すなわち、第１のドライバ４１を介したメモリシステム１へのアクセスにおいては、ホストアドレスとして論理ブロックアドレス＃０〜＃ｍに対応するホストアドレスが用いられることになり、一方、第２のドライバ４２を介したメモリシステム１へのアクセスにおいては、ホストアドレスとして論理ブロックアドレス＃０〜＃ｎに対応するホストアドレスが用いられることになる。
【００５９】
これにより、一般ユーザが使用する第１のドライバ４１からは、メモリシステム１において利用可能な領域がユーザ領域２１のみであるように見えるので、不可視領域２２へのアクセスは行われなくなる。
【００６０】
そして、ホストコンピュータ５より第１のドライバ４１を介し、第１の読み出しコマンドＲ１を用いたユーザ領域２１へのアクセス（データの読み出し）が要求されると、コントローラ２内のコマンド解析部１１により第１の読み出しコマンドＲ１が解析され、制御部１０は、ユーザ領域２１に対するデータの読み出しを許可する。同様に、ホストコンピュータ５より第１のドライバ４１を介し、第１の書き込みコマンドＷ１を用いたユーザ領域２１へのアクセス（データの書き込み）が要求されると、コントローラ２内のコマンド解析部１１により第１の書き込みコマンドＷ１が解析され、制御部１０は、ユーザ領域２１に対するデータの書き込みを許可する。
【００６１】
また、上述のとおり、ホストコンピュータ５に組み込まれた第１のドライバ４１からは、メモリシステム１において利用可能な領域がユーザ領域２１のみであるように見えるはずであるが、仮に、第１の読み出しコマンドＲ１又は第１の書き込みコマンドＷ１を用いた不可視領域２２へのアクセスが要求された場合には、これらコマンドにてアクセス可能な範囲を超えていることから、制御部１０はこれを拒否する。
【００６２】
これにより、一般的なユーザは、メモリシステム１内に不可視領域２２が存在することを認識できないとともに、仮に不可視領域２２の存在を認識しアクセスを試みたとしてもこれが拒否されることから、事実上、不可視領域２２に対するアクセスは不可能となる。
【００６３】
一方、パスワード等による認証が必要な第２のドライバ４２からは、メモリシステム１において利用可能な領域がユーザ領域２１と不可視領域２２の両方であるように見えるので、ユーザ領域２１と不可視領域２２の両方に対してアクセスすることが可能となる。
【００６４】
そして、ホストコンピュータ５より第２のドライバ４２を介し、第２の読み出しコマンドＲ２を用いたユーザ領域２１又は不可視領域２２へのアクセス（データの読み出し）が要求されると、コントローラ２内のコマンド解析部１１により第２の読み出しコマンドＲ２が解析され、制御部１０は、ユーザ領域２１又は不可視領域２２に対するデータの読み出しを許可する。同様に、ホストコンピュータ５より第２のドライバ４２を介し、第２の書き込みコマンドＷ２を用いたユーザ領域２１又は不可視領域２２へのアクセス（データの書き込み）が要求されると、コントローラ２内のコマンド解析部１１により第２の書き込みコマンドＷ２が解析され、制御部１０は、ユーザ領域２１又は不可視領域２２に対するデータの書き込みを許可する。
【００６５】
以上説明したように、本実施態様にかかるメモリシステム１では、利用可能な論理ブロックアドレスのうちの一部を不可視領域２２として定義し、第１のドライバ４１を用いた通常のアクセスにおいてはかかる不可視領域２２へのアクセスができないように構成していることから、所定の領域を不可視領域とし、一般ユーザによるデータの読み出しや書き込みを禁止したいという要望を満たすことが可能となる。
【００６６】
また、本実施態様にかかるメモリシステム１では、第１のドライバ４１に対して、不可視領域設定部１３に設定されている論理ブロックアドレス（ｍ）を最大論理ブロックアドレスとして送出していることから、一般ユーザは不可視領域２２の存在を認識することができず、不正なアクセスが効果的に予防される。さらに、本実施態様においては、不可視領域２２へアクセスする場合、第１のドライバ４１が用いるコマンド（第１の読み出しコマンドＲ１、第１の書き込みコマンドＷ１）とは異なる特殊なコマンド（第２の読み出しコマンドＲ２、第２の書き込みコマンドＷ２）が必要であることから、仮に、一般ユーザが不可視領域２２の存在を認識しアクセスを試みたとしても、これを拒否することが可能となる。しかも、これら特殊なコマンド（第２の読み出しコマンドＲ２、第２の書き込みコマンドＷ２）の発行は、パスワード等による認証が必要な第２のドライバ４２が行うことから、一般ユーザによる不可視領域２２へのアクセスは極めて困難となる。
【００６７】
さらに、本実施態様にかかるメモリシステム１では、記録媒体としてフラッシュメモリ３が用いられているため、論理ブロックと物理ブロックとの関係が固定的でなく、フラッシュメモリ３内において、ユーザ領域２１に対応する物理ブロックと不可視領域２２に対応する物理ブロックとが混在して存在する。このため、アドレス変換部１２を参照しない限り、どの物理ブロックが不可視領域２２に対応する物理ブロックであるのか特定することすら不可能である。
【００６８】
以上より、本実施態様においては、一般ユーザによる不可視領域２２へのアクセスは事実上不可能であり、上記要望を確実に満たすことが可能となる。
【００６９】
本発明は、以上の実施態様に限定されることなく、特許請求の範囲に記載された発明の範囲内で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【００７０】
例えば、上記実施態様においては、メモリシステム１を構成する記録媒体としてフラッシュメモリ３を用いているが、本発明は記録媒体としてフラッシュメモリを用いたシステムに限定されるものではなく、ハードディスクやＣＤ−ＲＯＭ等、他の記録媒体を用いたシステムへの適用も可能である。
【００７１】
また、上記実施態様においては、メモリシステム１がホストコンピュータ５に装着されたことに応答して、不可視領域設定部１３に設定されている論理ブロックアドレス（ｍ）を第１のドライバ４１に対して送出するとともに、算出された最大論理ブロックアドレス（ｎ）を第２のドライバ４２に対して送出しているが、算出された最大論理ブロックアドレス（ｎ）の送出をパスワード等による第２のドライバ４２に対する認証が行われた後に行っても構わない。このようにすれば、第２のドライバ４２に対する認証が行われない限り、ホストコンピュータ５側は実際の最大論理ブロックアドレス（ｎ）を全く知り得ないので、不可視領域２２に対する不正なアクセスの可能性をより排除することができる。
【００７２】
さらに、上記実施態様においては、不可視領域２２に対してアクセスを行う場合に用いるコマンドとして、第２の読み出しコマンドＲ２及び第２の書き込みコマンドＷ２を割り当てているが、不可視領域２２に対していかなる書き込みコマンドをも割り当てないことによって、不可視領域２２を読み出し専用領域としても構わない。
【００７３】
また、本発明において、手段とは、必ずしも物理的手段を意味するものではなく、各手段の機能がソフトウエアによって実現される場合も包含する。さらに、一つの手段の機能が二以上の物理的手段により実現されても、二以上の手段の機能が一つの物理的手段により実現されてもよい。
【００７４】
【発明の効果】
以上説明したように、本発明では、利用可能な論理アドレスのうちの一部を不可視領域として定義し、通常のアクセスにおいてはかかる不可視領域へのアクセスができないように構成していることから、所定の領域を不可視領域とし、一般ユーザによるデータの読み出しや書き込みを禁止したいという要望を満たすことが可能となる。
【図面の簡単な説明】
【図１】本発明の好ましい実施態様にかかるメモリシステム１を用いたコンピュータシステムを概略的に示すブロック図である。
【図２】コントローラ２の構成を概略的に示すブロック図である。
【図３】フラッシュメモリ３の構成を概略的に示す図である。
【図４】物理ブロックと論理ブロックとの関係を模式的に表す図である。
【符号の説明】
１  メモリシステム
２  コントローラ
３  フラッシュメモリ
４  コネクタ
５  ホストコンピュータ
６，７  内部バス
１０  制御部
１１  コマンド解析部
１２  アドレス変換部
１３  不可視領域設定部
２１  ユーザ領域
２２  不可視領域
４１  第１のドライバ
４２  第２のドライバ
【図１】
0003979826.tif 000002
【図２】
0003979826.tif 000003
【図３】
0003979826.tif 000004
【図４】
0003979826.tif 000005