(57)【要約】【課題】  新規なフラッシュメモリに対応可能なメモリコントローラ、当該メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法を提供することを目的とする。【解決手段】  フラッシュメモリから当該フラッシュメモリの品種を特定するための品種識別情報を取得し、読み出し専用の第１のデバイス情報記憶手段に当該品種識別情報に対応するデバイス情報が格納されているか否かを判別する。格納されていないと判別した場合、書き換え可能な第２のデバイス情報記憶手段に当該品種識別情報に対応するデバイス情報が格納されているか否かを判別する。第１又は第２のデバイス情報記憶手段に、当該品種識別情報に対応するデバイス情報が格納されていると判別した場合、当該デバイス情報を取得し、当該デバイス情報を前記フラッシュメモリにアクセスするためのインターフェース手段に設定する。【選択図】図５
2006338481.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答してフラッシュメモリを制御することにより、前記フラッシュメモリへのアクセスを実行するメモリコントローラであって、
設定されたデバイス情報により定められる仕様で、前記フラッシュメモリへのアクセスを実行する、フラッシュメモリインターフェース手段と、
読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第１のデバイス情報記憶手段と、
書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第２のデバイス情報記憶手段と、
制御対象となる前記フラッシュメモリが有する品種識別情報を取得する品種識別情報取得手段と、
前記品種識別情報取得手段が取得した前記品種識別情報に対応したデバイス情報を、前記第１のデバイス情報記憶手段又は前記第２のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定するデバイス情報設定手段と、から構成される、
ことを特徴とするメモリコントローラ。
【請求項２】
前記第２のデバイス情報記憶手段は、前記第１のデバイス情報記憶手段が記憶していない品種のフラッシュメモリに対応するデバイス情報を記憶し、
前記デバイス情報設定手段は、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第１のデバイス情報記憶手段に記録されている場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第１のデバイス情報記憶手段から取得し、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第１のデバイス情報記憶手段に記録されていない場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第２のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定する、
ことを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記第１のデバイス情報記憶手段及び前記第２のデバイス情報記憶手段は、前記フラッシュメモリにアクセスするための仕様を定義するデバイス情報のうち、少なくとも最小限のデバイス情報を含む第１のデバイス情報を記憶し、
前記フラッシュメモリは、デバイス情報のうち、前記第１のデバイス情報に含まれない第２のデバイス情報を、所定のメモリ領域に記憶し、
前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記第１のデバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記第２のデバイス情報を読み出して前記デバイス情報設定手段に供給し、
前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記第２のデバイス情報を前記フラッシュメモリインターフェース手段に設定する、
ことを特徴とする請求項１又は２に記載のメモリコントローラ。
【請求項４】
前記第１のデバイス情報記憶手段及び前記第２のデバイス情報記憶手段は、前記フラッシュメモリにアクセスするための仕様を定義するデバイス情報のうち、最小限のデバイス情報である必須デバイス情報を記憶し、
前記フラッシュメモリは、デバイス情報のうち、前記必須デバイス情報に含まれない任意デバイス情報を、所定のメモリ領域に記憶し、
前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記必須デバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記任意デバイス情報を読み出して前記デバイス情報設定手段に供給し、
前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記任意デバイス情報を前記フラッシュメモリインターフェース手段に設定する、
ことを特徴とする請求項１から３のいずれか１項に記載のメモリコントローラ。
【請求項５】
請求項１乃至４のいずれか１項に記載のメモリコントローラと、フラッシュメモリとを備えることを特徴とするフラッシュメモリシステム。
【請求項６】
フラッシュメモリから当該フラッシュメモリの品種を特定するための品種識別情報を取得する品種識別情報取得ステップと、
読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第１のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第１の判別ステップと、
前記第１の判別ステップで格納されていないと判別した場合に、書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第２のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第２の判別ステップと、
前記第１の判別ステップ又は第２の判別ステップにおいて、前記品種識別情報取得ステップで取得した品種識別情報に対応するデバイス情報が格納されていると判別した場合に、前記第１のデバイス情報記憶手段又は前記第２のデバイス情報記憶手段から、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報を取得する、デバイス情報取得ステップと、
前記デバイス情報取得ステップで取得したデバイス情報を、前記フラッシュメモリにアクセスするためのインターフェース手段に設定する、デバイス情報設定ステップと、から構成される、
ことを特徴とするフラッシュメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ及び当該メモリコントローラを備えるフラッシュメモリシステムに関する。
【背景技術】
【０００２】
近年、不揮発性の記憶媒体であるフラッシュメモリの開発が盛んに行われ、デジタルカメラ等の情報機器の記憶媒体として普及している。
【０００３】
情報機器によるフラッシュメモリへのアクセスを制御するために、メモリコントローラが用いられる。フラッシュメモリは、品種によってアクセスの際の仕様（容量、ブロックサイズ、データ幅、セル構造、読み出しスピード等）が異なるため、各品種の仕様に対応したメモリコントローラが必要となる。
【０００４】
フラッシュメモリの品種毎に、別々にメモリコントローラを開発するのでは、フラッシュメモリの多様化にメモリコントローラの開発が追いつかないという状況が生じる。
【０００５】
このため、フラッシュメモリの品種を識別して、品種に対応した仕様でフラッシュメモリへのアクセスを制御できるメモリコントローラが提案されている（例えば特許文献１を参照）。このようなメモリコントローラは、多くの場合、フラッシュメモリが有する識別情報を読み出す。そして、メモリコントローラ内部に設けられたＲＯＭに格納されたデバイス情報の中から当該フラッシュメモリの識別情報に対応するデバイス情報を取得し、取得したデバイス情報に応じた仕様でフラッシュメモリへのアクセスを制御する。
【特許文献１】特開平１０−３３６５６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、新たな品種のフラッシュメモリが開発された場合には、その品種に対応したデバイス情報がメモリコントローラのＲＯＭに格納されていないことがある。これに対して、新たなフラッシュメモリが開発される度に、ＲＯＭを交換するという対応策が考えられるが、これを実行することは非常に煩雑である。
【０００７】
本発明は上記の実情に鑑みてなされたもので、新規なフラッシュメモリに対応可能なメモリコントローラ、当該メモリコントローラを備えるフラッシュメモリシステム、及び、フラッシュメモリの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の観点に係るメモリコントローラは、フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答してフラッシュメモリを制御することにより、前記フラッシュメモリへのアクセスを実行するメモリコントローラであって、設定されたデバイス情報により定められる仕様で、前記フラッシュメモリへのアクセスを実行する、フラッシュメモリインターフェース手段と、読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第１のデバイス情報記憶手段と、書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第２のデバイス情報記憶手段と、制御対象となる前記フラッシュメモリが有する品種識別情報を取得する品種識別情報取得手段と、前記品種識別情報取得手段が取得した前記品種識別情報に対応したデバイス情報を、前記第１のデバイス情報記憶手段又は前記第２のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定するデバイス情報設定手段と、から構成される、ことを特徴とする。
【０００９】
前記第２のデバイス情報記憶手段は、前記第１のデバイス情報記憶手段が記憶していない品種のフラッシュメモリに対応するデバイス情報を記憶し、前記デバイス情報設定手段は、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第１のデバイス情報記憶手段に記録されている場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第１のデバイス情報記憶手段から取得し、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第１のデバイス情報記憶手段に記録されていない場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第２のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定してもよい。
【００１０】
前記第１のデバイス情報記憶手段及び前記第２のデバイス情報記憶手段は、前記フラッシュメモリにアクセスするための仕様を定義するデバイス情報のうち、少なくとも最小限のデバイス情報を含む第１のデバイス情報を記憶し、前記フラッシュメモリは、デバイス情報のうち、前記第１のデバイス情報に含まれない第２のデバイス情報を、所定のメモリ領域に記憶し、前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記第１のデバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記第２のデバイス情報を読み出して前記デバイス情報設定手段に供給し、前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記第２のデバイス情報を前記フラッシュメモリインターフェース手段に設定してもよい。
【００１１】
前記第１のデバイス情報記憶手段及び前記第２のデバイス情報記憶手段は、前記フラッシュメモリにアクセスするための仕様を定義するデバイス情報のうち、最小限のデバイス情報である必須デバイス情報を記憶し、前記フラッシュメモリは、デバイス情報のうち、前記必須デバイス情報に含まれない任意デバイス情報を、所定のメモリ領域に記憶し、前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記必須デバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記任意デバイス情報を読み出して前記デバイス情報設定手段に供給し、前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記任意デバイス情報を前記フラッシュメモリインターフェース手段に設定してもよい。
【００１２】
本発明の第２の観点に係るフラッシュメモリシステムは、上記の特徴のうち少なくともいずれか一つを有するメモリコントローラと、フラッシュメモリとを備えることを特徴とする。
【００１３】
本発明の第３の観点に係るフラッシュメモリの制御方法は、フラッシュメモリから当該フラッシュメモリの品種を特定するための品種識別情報を取得する品種識別情報取得ステップと、読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第１のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第１の判別ステップと、前記第１の判別ステップで格納されていないと判別した場合に、書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第２のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第２の判別ステップと、前記第１の判別ステップ又は第２の判別ステップにおいて、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されていると判別した場合に、前記第１のデバイス情報記憶手段又は前記第２のデバイス情報記憶手段から、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報を取得する、デバイス情報取得ステップと、前記デバイス情報取得ステップで取得したデバイス情報を、前記フラッシュメモリにアクセスするためのインターフェース手段に設定する、デバイス情報設定ステップと、から構成される、ことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、メモリコントローラが書き換え可能な不揮発性記憶媒体を備え、当該不揮発性記憶媒体に新規のフラッシュメモリに対応するデバイス情報を記憶する。このため、本発明のメモリコントローラ、フラッシュメモリシステム、及び、フラッシュメモリの制御方法は、新規のフラッシュメモリに対応できる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【００１６】
[フラッシュメモリシステムの説明]
図１は、本発明に係るフラッシュメモリシステム１を概略的に示すブロック図である。図１に示したようにフラッシュメモリシステム１は、フラッシュメモリ２と、それを制御するコントローラ３で構成されている。
【００１７】
なお、フラッシュメモリシステム１は、外部バス１３を介してホストシステム４と接続される。ホストシステム４は、ホストシステム４の全体の動作を制御するためのＣＰＵ（Central Processing Unit）、フラッシュメモリシステム１との情報の授受を担うコンパニオンチップ等から構成される。ホストシステム４は、例えば、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。
【００１８】
コントローラ３は、マイクロプロセッサ６と、ホストインターフェースブロック７と、ワークエリア８と、バッファ９と、フラッシュメモリインターフェースブロック１０と、ＥＣＣ（エラー・コレクション・コード）ブロック１１と、ＲＯＭ（Read Only Memory）１２と、ＦＲＡＭ（Ferroelectric Random Access Memory）１５と、から構成される。これら機能ブロックによって構成されるコントローラ３は、一つの半導体チップ上に集積される。以下に各機能ブロックについて説明する。
【００１９】
マイクロプロセッサ６は、ＲＯＭ１２に記録されたプログラムに従って、コントローラ３の全体の動作を制御する。マイクロプロセッサ６は、例えば、フラッシュメモリシステム１の起動時にフラッシュメモリ２の品種に対応したデバイス情報を設定するための、デバイス情報設定処理を実行するように各部を制御する。
【００２０】
ホストインターフェースブロック７は、ホストシステム４とデータ、アドレス情報、ステータス情報、外部コマンド情報等の授受を行なう。すなわち、フラッシュメモリシステム１とホストシステム４は、外部バス１３を介して相互に接続される。かかる状態において、ホストシステム４よりフラッシュメモリシステム１に供給されるデータ等は、ホストインターフェースブロック７を入口としてコントローラ３の内部に取り込まれ、フラッシュメモリシステム１からホストシステム４に供給されるデータ等は、ホストインターフェースブロック７を出口としてホストシステム４に供給される。
【００２１】
より詳細には、ホストインターフェースブロック７は、ホストシステム４より供給されるホストアドレス及び外部コマンドを一時的に格納するコマンドレジスタ、書き込み又は読み出しを行うデータのサイズを格納するセクタ数レジスタ、書き込み又は読み出しを行うデータのアドレスを格納するＬＢＡ（Logical Block Addressing）レジスタ、等を有する。そして、これらのレジスタを介してホストシステム４との情報の授受を行う。
【００２２】
ワークエリア８は、フラッシュメモリ２の制御に必要なデータが一時的に格納される作業領域であり、複数のＳＲＡＭ（Static Random Access Memory）セルによって構成される。
【００２３】
バッファ９は、フラッシュメモリ２から読出したデータ及びフラッシュメモリ２に書込むデータを一時的に保持する。
【００２４】
フラッシュメモリインターフェースブロック１０は、内部バス１４を介して、フラッシュメモリ２とデータ、アドレス情報、ステータス情報、内部コマンド情報等の授受を行う。フラッシュメモリインターフェースブロック１０は、ブロックサイズ、データ幅、セル構造、読み出しスピード、記憶容量等のデバイス情報を設定されることによって、様々な品種のフラッシュメモリ２へのアクセスに対応することを可能とする。
【００２５】
以下、デバイス情報について、簡単に説明する。
ブロックサイズは、フラッシュメモリ２におけるデータの消去単位であるブロックのサイズを定義するデバイス情報で、例えば、スモールブロック（Ｓ）とラージブロック（Ｌ）とが設定可能とされる。
データ幅は、フラッシュメモリ２が内部バス１４を介して送受信できるデータのビット数を定義するデバイス情報で、例えば、８ビットと１６ビットとが設定可能とされる。
セル構造は、フラッシュメモリ２を構成するメモリセルの構造を定義するデバイス情報で、例えば、シングルレベルセル（ＳＬ）とマルチレベルセル（ＭＬ）とが設定可能とされる。
読み出しスピードは、フラッシュメモリ２に書き込まれているデータを読み出す際のスピード（より具体的にはリードイネーブル信号のパルス周期）を定義するデバイス情報である。読み出しスピードは、例えば、３０ｎｓ、５０ｎｓ等が設定可能とされる。
記憶容量は、フラッシュメモリ２の記憶容量を定義するデバイス情報で、例えば、３２Ｍｂ、６４Ｍｂ、１２８Ｍｂ等が設定可能とされる。
【００２６】
また、フラッシュメモリインターフェースブロック１０は、フラッシュメモリシステム１の起動時に、マイクロプロセッサ６による制御に従い、フラッシュメモリ２にデバイスＩＤ読み出し命令を送る。そして、これに応答してフラッシュメモリ２から出力されるデバイスＩＤ（メーカコード、デバイスコード及び拡張コード）を受け取ってマイクロプロセッサ６に供給する。
【００２７】
ＥＣＣブロック１１は、フラッシュメモリ２に書込むデータに付加されるエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する。
【００２８】
ＲＯＭ１２は、不揮発性の記憶素子で、格納したデータを書き換えることができない。ＲＯＭ１２は、マイクロプロセッサ６による処理の手順を定義するプログラムを格納する。ＲＯＭ１２は、例えば、後述するデバイス情報設定処理の手順を定義するプログラムを格納する。
【００２９】
また、ＲＯＭ１２は、上記のプログラムの他、フラッシュメモリ２にアクセスする際に設定する必要があるデバイス情報をフラッシュメモリ２の品種に対応付けた第１のデバイス情報テーブルを格納する。図３に示すように、第１のデバイス情報テーブルは、フラッシュメモリ２の品種に対応付けて、フラッシュメモリ２にアクセスする際に必要となる最小限のデバイス情報である、ブロックサイズと、データ幅と、セル構造とを格納する。
【００３０】
ここで、最小限のデバイス情報のみが既知である場合、これに含まれない任意デバイス情報である記憶容量と読み出しスピードについては、以下のような仮の値を設定すれば、フラッシュメモリ２へのアクセスが可能となる。すなわち、記憶容量には最小の容量値を設定し、読み出しスピードには最低速の読み出しスピードを設定する。このとき、コントローラ３がアクセス可能なメモリ空間は、フラッシュメモリ２の有するメモリ空間のうち、最小の容量値に対応するメモリ空間となる。また、より高速な読み出しが可能な品種のフラッシュメモリ２が接続された場合でも、最低速の読み出しスピードとなる。
【００３１】
ＦＲＡＭ１５は、不揮発性の記憶媒体で、格納したデータを書き換えることや、データを書き加えることが可能である。ＦＲＡＭ１５は、図３に示すように、ＲＯＭ１２に格納される第１のデバイス情報テーブルと同種の情報を記録する第２のデバイス情報テーブルを格納する。第２のデバイス情報テーブルは、例えば、新規のフラッシュメモリ２が開発された場合や、後述するデバイス情報設定処理においてエラー情報が通知された場合に、ホストシステム４により更新される。
【００３２】
上述の第１又は第２のデバイス情報テーブルに格納される最小限のデバイス情報のみでは、フラッシュメモリ２に効率的にアクセスをすることはできない。一般に、フラッシュメモリ２に効率的なアクセスをするためには、上記の最小限のデバイス情報の他に、フラッシュメモリ２の記憶容量や読み出しスピード等のデバイス情報が要求される。本実施の形態のコントローラ３は、後述するデバイス情報設定処理において、最小限のデバイス情報以外のデバイス情報を、フラッシュメモリ２の所定のページから読み出し、当該読み出したデバイス情報を再設定して、以後のアクセスを実行する。
なお、最小限のデバイス情報以外のデバイス情報であっても、デバイスコードに基づいて一意に定まる記憶容量については、前記第１と第２のデバイス情報テーブルに格納するようにしてもよい。
【００３３】
[フラッシュメモリの説明]
次に、フラッシュメモリ２について説明する。図２に示すように、フラッシュメモリ２は、ホストシステム４によって利用される記憶領域であるメモリ部２１と、フラッシュメモリ２の品種を識別するためのデバイスＩＤを保持するデバイスＩＤ保持部２２とから構成される。
【００３４】
図４は、メモリ部２１のメモリ構造を概略的に示す図である。図４に示したように、フラッシュメモリ２はデータの読み出し及び書き込みにおける処理単位であるページと、データの消去単位であるブロックで構成されている。
【００３５】
上記ページは、例えば、５１２バイトのユーザ領域２５と、１６バイトの冗長領域２６によって構成される。ユーザ領域２５は、主に、ホストシステム４から供給されるデータが格納される領域であり、冗長領域２６は、エラーコレクションコード、ブロックステータス等の付加情報が格納される領域である。
【００３６】
エラーコレクションコードは、ユーザ領域２５に格納されたデータに含まれる誤りを訂正するための付加情報であり、ＥＣＣブロック１１によって生成される。このエラーコレクションコードに基づき、ユーザ領域２５に格納されたデータに含まれる誤りが所定数以下であれば、その誤りが訂正される。
【００３７】
ブロックステータスは、そのブロックが不良ブロック（正常にデータの書込み等を行なうことができないブロック）であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
【００３８】
フラッシュメモリ２は、メモリ部２１の所定のページに当該フラッシュメモリ２に対するアクセスに最小限必要なデバイス情報以外のデバイス情報（本実施の形態では、記憶容量と読み出しスピード）を格納する。つまり、メモリ部２１の所定のページには、上述の第１及び第２のデバイス情報テーブルに格納されていないデバイス情報が格納される。デバイス情報は、フラッシュメモリシステム１の起動時にコントローラ３によって読み出される。
【００３９】
デバイスＩＤ保持部２２は、フラッシュメモリ２の品種を特定するためのメーカコード、デバイスコード及び拡張コードを保持する。フラッシュメモリ２は、コントローラ３からデバイスＩＤ読み出し命令を受け取ると、これに応答して、内部バス１４を介して、デバイスＩＤ保持部２２に格納されているデバイスＩＤをコントローラ３に供給する。
【００４０】
次に、このように構成されるフラッシュメモリシステム１の動作について、説明する。
【００４１】
[起動時の動作の説明]
フラッシュメモリシステム１の起動時に、コントローラ３は、フラッシュメモリ２の品種に対応したデバイス情報を設定するための、デバイス情報設定処理を実行する。
【００４２】
以下、デバイス情報設定処理の手順について、図５に示すフローチャートを参照して説明する。
デバイス情報設定処理は、フラッシュメモリシステム１に電源が投入されることにより開始される。
【００４３】
デバイス情報設定処理が開始されると、コントローラ３のマイクロプロセッサ６は、フラッシュメモリインターフェースブロック１０を制御して、デバイスＩＤ読み出し命令をフラッシュメモリ２に送出し、これに応答してフラッシュメモリ２から出力されるデバイスコード（デバイスＩＤに含まれるデバイスコード）を取得する（ステップＳ１００）。
【００４４】
次に、マイクロプロセッサ６は、ＲＯＭ１２に格納された第１のデバイス情報テーブルを検索し、ステップＳ１００で取得したデバイスコードに対応するデバイス情報が有るか否かを判別する（ステップＳ１１０）。
【００４５】
第１のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がある場合（ステップＳ１１０；Ｙｅｓ）、マイクロプロセッサ６は、処理をステップＳ１４０に進める。
【００４６】
一方、第１のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がない場合（ステップＳ１１０；Ｎｏ）、マイクロプロセッサ６は、ＦＲＡＭ１５に格納された第２のデバイス情報テーブルを検索し、ステップＳ１００で取得したデバイスコードに対応するデバイス情報が有るか否かを判別する（ステップＳ１２０）。
【００４７】
第２のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がある場合（ステップＳ１２０；Ｙｅｓ）、マイクロプロセッサ６は、処理をステップＳ１４０に進める。
【００４８】
一方、第２のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がない場合（ステップＳ１２０；Ｎｏ）、マイクロプロセッサ６は、ホストインターフェースブロック７及び外部バス１３を介して、接続されたフラッシュメモリ２が未対応の品種である旨を示すエラー情報をホストシステム４に通知し（ステップＳ１３０）、デバイス情報設定処理を終了する。
【００４９】
なお、エラー情報を受け取ったホストシステム４は、これに応答して、フラッシュメモリ２に対応するデバイス情報を取得し、第２のデバイス情報テーブルを更新する処理を実行するようにしてもよい。
【００５０】
第１又は第２のデバイス情報テーブルに、取得したデバイスコードに対応するデバイス情報がある場合、ステップＳ１４０において、マイクロプロセッサ６は、第１又は第２のデバイス情報テーブルから、当該デバイスコードに対応するデバイス情報を取得する（ステップＳ１４０）。なお、このとき取得するデバイス情報には、フラッシュメモリ２のメモリ部２１にアクセスするために必要とされる最小限のデバイス情報（ブロックサイズ、データ幅、及び、セル構造）が含まれる。つまり、第１及び第２のデバイス情報テーブルには、少なくともフラッシュメモリ２のメモリ部２１にアクセスするために必要とされるデバイス情報を格納しておく。
【００５１】
次に、マイクロプロセッサ６は、取得した最小限のデバイス情報を、フラッシュメモリインターフェースブロック１０に設定する。また、読み出しスピードを定義するデバイス情報を、最低速度の読み出しスピードとなるように設定し、記憶容量を最小の記憶容量に設定する（ステップＳ１５０）。このとき、設定する読み出しスピード及び記憶容量は、仮の設定値である。なお、第１及び第２のデバイス情報テーブルに、記憶容量を格納する場合には、記憶容量はデバイス情報テーブルに格納されている値に設定する。
【００５２】
次に、マイクロプロセッサ６は、フラッシュメモリインターフェースブロック１０及び内部バス１４を介して、フラッシュメモリ２のメモリ部２１の所定のページから、最小限のデバイス情報以外のデバイス情報（読み出しスピード及び記憶容量）を読み出す（ステップＳ１６０）。そして、マイクロプロセッサ６は、読み出したデバイス情報をフラッシュメモリインターフェースブロック１０に再設定して（ステップＳ１７０）、デバイス情報設定処理を終了する。
【００５３】
上記のデバイス情報設定処理によって、デバイス情報が適切に設定されると、コントローラ３は、設定されたデバイス情報に基づいてフラッシュメモリ２への以後のアクセスを制御する。
【００５４】
以上で説明したように、本実施の形態のフラッシュメモリシステム１は、コントローラ３にデバイス情報を追加することができる不揮発性の記憶媒体（ＦＲＡＭ１５）を備えるため、ＲＯＭ１２を更新することなく新規な品種のフラッシュメモリ２に対応できる。
【００５５】
また、本実施の形態のフラッシュメモリシステム１は、第１又は第２のデバイス情報テーブルに格納されるデバイス情報が、必要最小限のデバイス情報に限られ、他のデバイス情報はフラッシュメモリ２の所定のページから読み出すこととしている。このため、ＲＯＭ１２及びＦＲＡＭ１５におけるフラッシュメモリ一品種当たりの記憶容量を最小限度に抑制することができる。別の観点から見れば、一定の記憶容量のＲＯＭ１２及びＦＲＡＭ１５によって最多の品種のフラッシュメモリに対応することができる。
【００５６】
上記の実施の形態では、第１又は第２のデバイス情報テーブルに、最小限のデバイス情報のみを格納する場合を例に説明したが、第１又は第２のデバイス情報テーブルには他のデバイス情報も格納するようにしてもよい。この場合、デバイス情報設定処理において、フラッシュメモリ２の所定のページに記録された他のデバイス情報を取得するための手順を省略することができる。
【００５７】
上記の実施の形態では、ＲＯＭに第１のデバイス情報テーブルを設け、既知の品種のフラッシュメモリに対応するデバイス情報を予め格納する場合を例に説明した。しかし、ＲＯＭに第１のデバイス情報テーブルを設けることなく、ＦＲＡＭの第２のデバイス情報テーブルに、全ての品種についてのデバイス情報を記録するようにしてもよい。
【００５８】
上記の実施の形態では、メモリコントローラが、第２のデバイス情報テーブルを格納する不揮発性の記憶媒体としてＦＲＡＭを備える場合を例に説明した。しかし、当該不揮発性の記憶媒体はＦＲＡＭに限られない。例えば、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ハードディスク等で構成されてもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。
【図２】フラッシュメモリの構成を示すブロック図である。
【図３】第１及び第２のデバイス情報テーブルのフォーマットを示す図である。
【図４】フラッシュメモリのメモリ部のメモリ構造を概略的に示す図である。
【図５】デバイス情報設定処理の手順を説明するためのフローチャートである。
【符号の説明】
【００６０】
１    フラッシュメモリシステム
２    フラッシュメモリ
３    コントローラ
４    ホストシステム
６    マイクロプロセッサ
７    ホストインターフェースブロック
８    ワークエリア
９    バッファ
１０  フラッシュメモリインターフェースブロック
１１  ＥＣＣブロック
１２  ＲＯＭ
１３  外部バス
１４  内部バス
１５  ＦＲＡＭ
２１  メモリ部
２２  デバイスＩＤ保持部
２５  ユーザ領域
２６  冗長領域
【図１】
2006338481.tif 000003
【図２】
2006338481.tif 000004
【図３】
2006338481.tif 000005
【図４】
2006338481.tif 000006
【図５】
2006338481.tif 000007