説明

書き換え可能ディスク装置をシミュレーションするためのフラッシュメモリー記憶システム、フラッシュメモリー制御器、コンピューターシステムおよびその方法

【課題】書き換え可能ディスク装置をシミュレートするフラッシュメモリー記憶システムを提供する。
【解決手段】フラッシュメモリーチップとコネクターと制御器とを含むフラッシュメモリー記憶システムが提供される。フラッシュメモリーチップが多数の実体ブロックを有する。コネクターがホストシステムに連結されるよう配列される。制御器がフラッシュメモリーチップおよびコネクターに連結される。制御器が多数の論理ブロックを配列するとともに、論理ブロックを実体ブロックの一部にマップする。また、制御器が更にホストシステムからの少なくとも1つの書き換え可能ディスク指令を識別するとともに、書き換え可能ディスク指令に従ってホストシステムからのデータを論理ブロックの少なくとも1つにマップされたへ実体ブロックに書き込む。従って、書き換え可能ディスクがフラッシュメモリー記憶システムを使用することによりシミュレーションされる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、一般的にフラッシュメモリー記憶システムに関し、特に、書き換え可能ディスク装置(Rewritable Disc Device)をシミュレーションするためのフラッシュメモリー記憶システム、フラッシュメモリー制御器、そのフラッシュメモリー記憶システムを装備したコンピューターシステムおよび書き換え可能ディスクをシミュレーションする方法に関する。
【背景技術】
【0002】
書き換え可能なデジタル多用途ディスク (DVD = Digital Versatile Disc)ドライブは、光学ディスク記憶装置である。DVDは、その大容量のために、高画質ビデオデータ、高品質オーディオデータおよび大量データを保存するため、次第に従来のCD(Compact Disc)に置き換えられてきている。DVDは、DVDドライブの光学ピックアップを介してアクセスされなければならない。しかし、DVDドライブ2002(図1Aに図示)の大きな体積および高い電力消費の故に、スモールコンピューター(例えば、ネットブック)は、通常、いかなるDVDドライブも装備できず、ユーザーにとって非常に不便である。また、DVDドライブ2002が機械的光学ピックアップを使用して、DVD 2004からデータ読み出し又はDVD 2004へデータを焼き付けるので、DVDドライブ2002のアクセス速度が非常に遅い。さらに、DVD 2004の体積が大きく、持ち運びに不便である。
【0003】
上記の問題は、もしもDVDドライブ2002がフラッシュメモリー(Flash Memory)を有するフラッシュドライブ2006に置き換えられるならば、フラッシュメモリーのデータ非揮発性、低い電力消費、小さい体積および非機械的構造を蓄積媒体(storage medium)とする故に、解決可能である。
【0004】
フラッシュメモリーをその蓄積媒体として使用するユニバーサルシリアルバス(Universal Serial Bus = USB)記憶装置が特許文献1に開示されており、そのうち、USB記憶装置がCD-ROM装置をシミュレートして、USB記憶装置に保存されているデータがアクシデントによって削除されることを防止できる。しかし、ユーザーは、USB記憶装置によりシミュレートされたCD-ROM装置を使用することによりデータを書き換えられないので、データ書き換え性の要求(requirement of data rewritability)を満足させることができない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許第7,111,121号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、この発明の目的は、書き換え可能ディスク装置をシミュレートできるフラッシュメモリー記憶システムを提供することにある。
【0007】
この発明の目的は、フラッシュメモリーチップを使用することにより書き換え可能蓄積媒体をシミュレーションできるフラッシュメモリー制御器を提供することにある。
【0008】
この発明の目的は、書き換え可能ディスク指令に従って、フラッシュメモリー記憶装置にアクセスできるコンピューターシステムを提供することにある。
【0009】
この発明の目的は、フラッシュメモリー記憶装置を使用することによって、書き換え可能ディスクをシミュレーションできる方法を提供することにある。
【課題を解決するための手段】
【0010】
この発明の実施形態がフラッシュメモリーチップとコネクターと制御器とを含むフラッシュメモリー記憶システムを提供する。フラッシュメモリーチップが多数の実体ブロックを有する。コネクターがホストシステムに連結されるよう配列される。制御器がフラッシュメモリーチップおよびコネクターに連結される。制御器が多数の論理ブロックを配列するとともに、論理ブロックを実体ブロックの一部にマップする(map 「写像する」とも言う)。また、制御器が更にホストシステムからの少なくとも1つの書き換え可能ディスク指令を識別とともに、少なくとも1つの書き換え可能ディスク指令に従ってホストシステムからのデータを論理ブロックの少なくとも一部にマップされたへ実体ブロックに書き込む。
【0011】
この発明がフラッシュメモリーチップとコネクターと制御器とを含むフラッシュメモリー記憶システムを提供する。フラッシュメモリーチップが多数の実体ブロックを有する。コネクターがホストシステムに連結されるよう配列される。制御器がフラッシュメモリーチップおよびコネクターに連結される。制御器が多数の論理ブロックを配列するとともに、論理ブロックを実体ブロックの一部にマップする。実体ブロックの1つが書き換え可能なディスク装置の少なくとも1つの管理情報を保存する。制御器および前記書き換え可能なディスク装置の少なくとも1つの管理情報を配列することにより、フラッシュメモリー記憶システムがホストに連結される時、ホストが論理ブロックの少なくとも一部を書き換え可能なディスク装置の書き換え可能な蓄積媒体として識別することを許すものである。
【0012】
この発明は、フラッシュメモリーチップの多数の実体ブロックを管理するためのフラッシュメモリー制御器を提供する。フラッシュメモリー制御器がマイクロプロセッサーユニットとフラッシュメモリーインターフェースユニットとホストインターフェースユニットとメモリー管理ユニットとを含む。フラッシュメモリーインターフェースユニットがマイクロプロセッサーユニットに連結されるとともに、フラッシュメモリーチップに連結されるよう配列される。ホストインターフェースユニットがマイクロプロセッサーユニットに連結されるとともに、ホストシステムに連結されるよう配列される。メモリー管理ユニットがマイクロプロセッサーユニット連結される。メモリー管理ユニットが多数の論理ブロックに配列するとともに、論理ブロックを実体ブロックの一部にマップする。また、メモリー管理ユニットがホストシステムからの少なくとも1つの書き換え可能なディスク指令を識別するとともに、少なくとも1つの書き換え可能なディスク指令に従ってホストシステムからのデータを論理ブロックの少なくとも一部にマップされた実体ブロックへ書き込むものである。
【0013】
この発明は、中央処理ユニット(CPU)とメインメモリーと埋め込み式フラッシュメモリー記憶装置とを含むコンピューターシステムを提供する。埋め込み式フラッシュメモリー記憶装置がCPUに連結されるとともに、フラッシュメモリーチップと制御器とを含み、そのうち、フラッシュメモリーチップが多数の実体ブロックを有し、かつ制御器がフラッシュメモリーチップに連結される。制御器が多数の論理ブロックに配列され、かつ論理ブロックを実体ブロックの一部にマップする。また、制御器がCPUから少なくとも1つの書き換え可能なディスク指令を識別するとともに、書き換え可能なディスク指令に従って、論理ブロックの少なくとも一部にマップされた実体ブロックへデータを書き込むものである。
【0014】
この発明は、CPUとメインメモリーとカードリーダーと取外し可能なメモリーカードとを含むコンピューターシステムを提供する。カードリーダーがCPUに連結されるとともに、カードリーダー制御器を有し、そのうち、カードリーダー制御器がカードリーダーが書き換え可能なディスク装置であるとCPUへ宣言する。取外し可能なメモリーカードがカードリーダーにプラグされる。取外し可能なメモリーカードがフラッシュメモリーチップとメモリーカード制御器とを含み、そのうち、フラッシュメモリーチップが多数の実体ブロックを有し、かつメモリーカード制御器がフラッシュメモリーチップに連結される。メモリーカード制御器が多数の論理ブロックに配列されるとともに、多数の論理ブロックを実体ブロックの一部にマップする。また、メモリーカード制御器がCPUから少なくとも1つの書き換え可能なディスク指令を識別するとともに、書き換え可能なディスク指令に従って、論理ブロックの少なくとも一部にマップされた実体ブロックへデータを書き込む。
【0015】
この発明は、カードリーダーと前記取外し可能なメモリーカードとを含むフラッシュメモリー記憶システムを提供する。カードリーダーがカードリーダー制御器を含むとともに、カードリーダー制御器がカードリーダーが書き換え可能なディスク装置であるとホストシステムへ宣言するよう配列される。取外し可能なメモリーカードがカードリーダーにプラグされる。取外し可能なメモリーカードがフラッシュメモリーチップとメモリーカード制御器とを含み、そのうち、フラッシュメモリーチップが多数の実体ブロックを有するとともに、メモリーカード制御器がフラッシュメモリーチップに連結される。メモリーカード制御器が多数の論理ブロックを配列するとともに、論理ブロックを実体ブロックの一部にマップする。カードリーダー制御器がホストシステムから少なくとも1つの書き換え可能なディスク指令を識別するとともに、書き換え可能なディスク指令に従って、論理ブロックの少なくとも一部にマップされた実体ブロックへホストシステムからのデータを書き込む。
【0016】
この発明は、フラッシュメモリー記憶装置を使用することにより書き換え可能なディスク装置をシミュレーションする方法を提供する。フラッシュメモリー記憶装置がフラッシュメモリーチップを有し、そのうち、フラッシュメモリーチップが多数の実体ブロックを有する。この方法は、多数の論理ブロックを配列するとともに、論理ブロックを実体ブロックの一部にマップするものであり、そのうち、論理ブロックが多数の論理アドレスを有し、実体ブロックが多数の実体アドレスを有するとともに、論理アドレスおよび実体アドレス間に存在する関係をマップすることを含む。この発明は、また、書き換え可能なディスク装置の少なくとも1つの管理情報に従って、ホストシステムへ応答してフラッシュメモリー記憶装置へアクセスすることを含む。この発明は、更に、ホストシステムにより与えられる少なくとも1つの前記書換可能なディスク指令の1つの書き込み指令に従って、変換パラメーターを使用して書き込み論理アドレスおよびデータ量を計算することを含み、そのうち、書き込み論理アドレスが論理アドレスの1つである。
【0017】
上記したように、この発明の実施形態に従ったフラッシュメモリー記憶装置、フラッシュメモリー制御器、コンピューターシステムおよび方法は、フラッシュメモリーチップを使用することにより書き換え可能なディスクをシミュレーションできる。
【発明の効果】
【0018】
つまり、この発明の実施形態中、書き換え可能なDVD装置は、フラッシュメモリー記憶装置を使用することによりシミュレーションされるとともに、様々なデータ操作が様々な書き換え可能なDVD指令に従って、シミュレーションされた書き換え可能なDVD装置上で実施される。フラッシュメモリー記憶システムのアクセス速度が一般的な書き換え可能なDVD装置のそれよりも速いので、フラッシュメモリー記憶装置を使用することによりシミュレーションされた書き換え可能なDVD装置は、一般的な書き換え可能なDVD装置よりも速いアクセス速度を有する。また、フラッシュメモリー記憶装置を使用することによりシミュレーションされた書き換え可能なDVD装置は、いかなる機械的な光学ピックアップも必要としない。従って、書き換え可能なDVD装置のサイズが大幅に削減される。それにより、フラッシュメモリー記憶装置を使用することによりシミュレーションされた書き換え可能なDVD装置は、小型ネットブック中に配置できる。
【図面の簡単な説明】
【0019】
【図1A】従来の書き換え可能ディスク装置およびフラッシュドライブを示す図である。
【図1B】この発明の第1の実施形態にかかるホストシステムおよびフラッシュメモリー記憶装置を示すブロック図である。
【図1C】この発明の実施形態にかかるコンピューター、入力/出力装置およびフラッシュメモリー記憶装置を示す説明図である。
【図2】この発明の実施形態にかかるフラッシュメモリーチップを示すブロック説明図である。
【図3】この発明の実施形態にかかる論理ブロックの構成を示す説明図である。
【図4】この発明の実施形態にかかる書き換え可能なデジタル多用途ディスク(DVD)をシミュレーションする方法を示すフローチャート(流れ図)である。
【図5】この発明の第2の実施形態にかかるフラッシュメモリー記憶システムを示すブロック図である。
【発明を実施するための形態】
【0020】
以下、この発明を実施するための形態を図面に基づいて説明する。
一般的に言って、フラッシュメモリー記憶装置(フラッシュメモリー記憶システムとも言う)は、フラッシュメモリーチップと制御器(制御回路とも言う)とを含む。フラッシュメモリー記憶装置は、ホストシステムと一緒に使用されて、ホストシステムがフラッシュメモリー記憶装置へデータを書き込んだりフラッシュメモリー記憶装置からデータを読み出したりできる。加えて、フラッシュメモリー記憶装置は、また、嵌め込み式(embeded)フラッシュメモリーと、ホストシステム上で実質的に実行されて嵌め込み式フラッシュメモリーの制御器として供されるソフトウェアとを含み得る。
【0021】
図1Bは、この発明の第1の実施形態にかかるホストシステムおよびフラッシュメモリー記憶装置を示すブロック図である。
【0022】
図1Bにおいて、ホストシステム1000がコンピューター1100と入力/出力(input/output=I/O)装置1106とを含む。
【0023】
コンピューター1100が中央処理ユニット(CPU)1102とメインメモリー1104とシステムバス1108とデータ伝送インターフェース1110とメインディスクドライブ1112とを含む。コンピューター1100がディスクトップコンピューターまたはノートブックコンピューターで有り得る。
【0024】
CPU 1102がマンドを解釈するとともに、主要な操作を実行する。メインメモリー1104が一時的にデータおよびプログラムを保存するために配列される。システムバス1108がホストシステム1000の多様なコンポーネントに接続するために配列される。データ伝送インターフェース1110が様々な周辺機器に接続するために配列される。メインディスクドライブ1112が操作システム(Operation System = OS)1122および焼き付けプログラム1124をインストールするために配置される。OS 1122がホストシステム1000のハードウェアおよびソフトウェアを管理するために配列される。この実施形態中、OS 1122がMicrosoft Windows(登録商標)7であり得る。しかし、この発明は、それに限定されるものではない。焼き付けプログラム1124は、ユーザーがデータをフラッシュメモリー記憶装置100に焼き付ける又は同者(same)からデータを消去するようなユーザーインターフェースを提供するために配列される。
【0025】
図1Cに示すように、I/O 装置1106がマウス1202とキーボード1204とディスプレイ1206とプリンター1208とを含む。注意すべきは、図1Cに示めされたデバイスは、I/O 装置1106を限定しようというものではないとともに、I/O 装置1106が更に他のデバイスを含み得ることである。
【0026】
この実施形態中、フラッシュメモリー記憶装置100は、データ伝送インターフェース1110を介してホストシステム1000の他のコンポーネントに連結される。ホストシステム1000は、CPU 1102とメインメモリー1104とI/O 装置1106とメインディスクドライブ1112との操作を介してフラッシュメモリー記憶装置100へデータを書き込む又はフラッシュメモリー記憶装置100からデータを読み出すことができる。フラッシュメモリー記憶装置100は、図1Cに示すように、フラッシュドライブ1212、メモリーカード1214、固態ドライバー(Solid State Driver = SSD)1216または嵌め込み式記憶装置1218であることができる。注意すべきことは、もしフラッシュメモリー記憶装置100が嵌め込み式記憶装置(即ち、嵌め込み式記憶装置1218)として履行されるならば、嵌め込み式フラッシュメモリー記憶装置100は、ホストシステム1000のマザーボード(図示せず)に直接嵌め込まれることである。
【0027】
フラッシュメモリー記憶装置100がコネクター102とフラッシュメモリー制御器104とフラッシュメモリーチップ106とを含む。
【0028】
コネクター102がフラッシュメモリー制御器104に連結されるとともに、ホストシステム1000に連結されるよう配列される。この実施形態中、コネクター102がユニバーサルシリアルバス(Universal Serial Bus = USB)コネクターである。しかし、この発明は、それに限定されるものではないとともに、コネクター102は、また、パラレルアドバンスドテクノロジーアタッチメント(Parallel Advanced Technology Attachment = PATA)コネクター、シリアルアドバンスドテクノロジーアタッチメント(Serial Advanced Technology Attachment = SATA)コネクター、IEEE(Institute of Electrical and Electronics Engineers)1394コネクター、周辺部品相互連絡(Peripheral Component Interconnect = PCI)高速コネクター、安全デジタル(Secure Digital)インターフェースコネクター、メモリースティック(Memory Stick = MS)インターフェースコネクター、マルチメディアカード(Multi Media Card = MMC)インターフェースコネクター、コンパクトフラッシュ(登録商標)(Compact Flash = CF)インターフェースコネクター、総合デバイス電子(Integrated Device Electronic = IDE)コネクターまたは他の適合するコネクターで有り得る。
【0029】
フラッシュメモリー制御器104は、ハードウェアまたはファームウェア(firmware)の形式で履行された多数の論理ゲート、あるいは制御指令を実行するために配列されるとともに、ホストシステム1000の指令に従ってフラッシュメモリーチップ106で様々なデータ操作を実施する。フラッシュメモリー制御器104がマイクロプロセッサーユニット202とホストインターフェースユニット206とフラッシュメモリーインターフェースユニット208を含む。
【0030】
マイクロプロセッサーユニット202は、フラッシュメモリー制御器104のメイン制御ユニットであるとともに、それがメモリー管理ユニット204とホストインターフェースユニット206とフラッシュメモリーインターフェースユニット208と合作してフラッシュメモリー記憶装置100の様々な操作を実行する。
【0031】
メモリー管理ユニット204がマイクロプロセッサーユニット202に連結されるとともに、この実施形態に従って、データ書き込みメカニズムおよびブロック管理メカニズムを実行するために配列される。とりわけ、メモリー管理ユニット204は、フラッシュメモリー記憶装置100が書き換え可能なデジタル多用途ディスク (Digital Versatile Disc = DVD)装置であるとホストシステム1000に宣言し、書き換え可能なDVD装置の管理情報を確立するとともに、管理情報に基づいてフラッシュメモリー記憶装置100へアクセスするようホストシステム1000へ応答する。
【0032】
例えば、メモリー管理ユニット204は、フラッシュメモリー記憶装置100がDVD+RW規格、DVD-RW規格、DVD-RAM規格またはBlu-Ray Disc(BD)規格に適合するディスク装置であるとホストシステム1000に対して宣言する。その後、メモリー管理ユニット204がホストシステム1000から受信した書き換え可能なDVD指令を識別し、かつ書き換え可能なDVD指令に従ってフラッシュメモリーチップ106を操作する。例えば、フラッシュメモリーチップ106がホストシステム1000から受信したデータを書き換え可能なDVD指令に従ってフラッシュメモリーチップ106へ焼き付ける。つまり、ホストシステム1000のユーザーが書き換え可能なDVD装置の焼き付けプログラムを介してフラッシュメモリー記憶装置100を操作する時、メモリー管理ユニット204が焼き付け指令を識別し、かつ焼き付け指令に従ってフラッシュメモリーチップ106上で様々なデータ操作を実施する。以下、メモリー管理ユニット204の操作が添付図面とともに詳述される。
【0033】
この実施形態中、メモリー管理ユニット204がファームウェア形式(firmware form)でフラッシュメモリー制御器104中で履行される。例えば、メモリー管理ユニット204がプログラムメモリー(例えば、Read Only Memory = ROM)に焼き付けられた多数の制御指令を含むとともに、プログラムメモリーがメモリー管理ユニット204中に嵌め込まれる。フラッシュメモリー記憶装置100が操作中である時、メモリー管理ユニット204の制御指令がマイクロプロセッサーユニット202によって実行され、この発明の実施形態に従って、焼き付けメカニズム(例えば、データの読み出し、書き込み、消去)およびフラッシュメモリー管理メカニズムを達成する。
【0034】
この発明の他の実施形態中、メモリー管理ユニット204の制御指令がプログラムコードとして特定領域(例えば、システムデータを專門に保存するためのフラッシュメモリーチップ中のシステム領域)に保存される。同様に、メモリー管理ユニット204の制御指令は、フラッシュメモリー記憶装置100が操作中である時、マイクロプロセッサーユニット202によって実行される。また、更に他の実施形態中、メモリー管理ユニット204がまたファームウェアとしてフラッシュメモリー制御器104中で履行される。
【0035】
ホストインターフェースユニット206がマイクロプロセッサーユニット202に連結されるとともに、ホストシステム1000からの指令およびデータを受信かつ識別する。つまり、ホストシステム1000から受信した指令およびデータは、ホストインターフェースユニット206を介してマイクロプロセッサーユニット202へ伝送される。この実施形態中、ホストインターフェースユニット206は、コネクター102に対応するUSBインターフェースである。しかし、この発明は、それに限定されるものではないとともに、ホストインターフェースユニット206は、PATAインターフェース、SATAインターフェース、IEEE 1394インターフェース、PCI高速インターフェース、SDインターフェース、MSインターフェース、MMCインターフェース、CFインターフェース、IEDインターフェースまたは他の適合する伝送インターフェースで有り得る。
【0036】
フラッシュメモリーインターフェースユニット208がマイクロプロセッサーユニット202に連結され、かつフラッシュメモリーチップ106にアクセスするよう配列される。即ち、フラッシュメモリーチップ106へ書き込まれるデータは、フラッシュメモリーインターフェースユニット208によりフラッシュメモリーチップ106が受け入れることのできるフォーマットに変換される。
【0037】
この発明の実施形態中、フラッシュメモリー制御器104が更にバッファーメモリー252と電源管理ユニット254とエラー訂正ユニット256とを含む。
【0038】
バッファーメモリー252がマイクロプロセッサーユニット202に連結されるとともに、ホストシステム1000から受信したデータおよび指令またはフラッシュメモリーチップ106から受信したデータを一時的に保存する。
【0039】
電源管理ユニット254がマイクロプロセッサーユニット202に連結され、かつフラッシュメモリー記憶装置100の電源供給を制御するよう配列される。
【0040】
エラー訂正ユニット256がマイクロプロセッサーユニット202に連結されるとともに、エラー訂正手続を実行するよう配列されてデータの正確性を確保する。具体的には、メモリー管理ユニット204がホストシステム1000から書き込み指令を受信した時、エラー訂正ユニット256が書き込み指令に対応するデータのためにエラー検査訂正(Error Checking and Correcting = ECC)コードを発生させるとともに、メモリー管理ユニット204がデータおよび対応するECCコードを共にフラッシュメモリーチップ106へ書き込む。続いて、メモリー管理ユニット204がフラッシュメモリーチップ106からデータを読み出す時、それは、データに対応するECCコードも読み出すとともに、エラー訂正ユニット256がECCコードに従ってエラー訂正手続を実行する。
【0041】
フラッシュメモリーチップ106がフラッシュメモリー制御器104に連結され、かつデータを保存するよう配列される。フラッシュメモリーチップ106が多数の実体ブロックを有する。フラッシュメモリー中、各実体ブロックは、最小消去ユニットである。つまり、各実体ブロックが一緒に消去される最小数量のメモリーセルを含む。各実体ブロックが多数の実体アドレスを有する。この実施形態中、実体アドレスは、実体ページである。しかし、この発明は、それに限定されない。各実体ページは、最小プログラムユニットである。即ち、各実体ページは、データを書き込み又は読み出すための最小ユニットである。各実体ページは、通常、ユーザーデータ領域および冗長領域(redundant area)を含む。ユーザーデータ領域がユーザーデータを保存する一方、冗長領域がシステムデータ(例えば、ECCコード)を保存する。この実施形態中、フラッシュメモリーチップ106は、マルチレベルセル(Multi Level Cell = MLC)NANDフラッシュメモリーチップである。しかし、この発明は、それに限定されないとともに、フラッシュメモリーチップ106がシングルレベルセル(Single Level Cell = SLC)NANDフラッシュメモリーチップでも有り得る。
【0042】
図2は、この発明の実施形態にかかるフラッシュメモリーチップを示すブロック説明図である。
【0043】
図2において、フラッシュメモリーチップ106が実体ブロックPBA(0)-PBA(N)を有する。各実体ブロックが最小消去ユニットである。つまり、各実体ブロックが一緒に消去される最小数量のメモリーセルを含む。各実体ブロックが128の実体アドレス(即ち、実体ページ)を有する。しかし、この発明は、それに限定されないとともに、この発明の他の実施形態中、各実体ブロックが64, 256または他の適合する数量の実体アドレスを有することもあり得る。
【0044】
メモリー管理ユニット204が実体ブロックPBA(0)-PBA(N)を論理的にシステム領域(system area)302と蓄積領域(storage area)304と交替領域(replacement area)306とに分類する。
【0045】
論理的にシステム領域302に属する実体ブロックPBA(0)-PBA(S)が、フラッシュメモリーの製造業者および型番、各実体ブロックに対応する実体アドレスの数量のような、システムデータを記録するために使用される。
【0046】
論理的に蓄積領域304(図2中央に符号)に属する実体ブロックPBA(S+1)-PBA(A)が、ホストシステム1000によって書き込まれたデータを保存するために使用される。つまり、フラッシュメモリー記憶装置100は、蓄積領域304中の実体ブロックを使用してホストシステム1000から受信したデータを実際に保存する。具体的には、蓄積領域304中の実体ブロックPBA(S+1)-PBA(A)が更にデータ領域304aと予備領域304bとに分類され、そのうち、データ領域304a中の実体ブロックPBA(S+1)-PBA(D)がデータを包含する実体ブロックであり、予備領域304b中の実体ブロックPBA(D+1)-PBA(A)がまだデータの保存に使用されていない実体ブロックである。さらに詳細には、メモリー管理ユニット204が予備領域304bから実体ブロックを得てデータを得られた実体ブロックへ書き込む時、得られた実体ブロックがデータ領域304aに連合され、かつデータ領域304aに連合された実体ブロックが消去された時、消去された実体ブロックは、予備領域304bに連合される。
【0047】
論理的に交替領域306に属する実体ブロックPBA(A+1)-PBA(N)は、交替実体ブロックである。例えば、フラッシュメモリーチップ106が製造された時、その4%の実体ブロックが交替の目的で確保(reserved)されている。つまり、システム領域302および蓄積領域304中の実体ブロックが損傷した時、交替領域306中に確保された実体ブロックは、損傷した実体ブロック(即ち、悪いブロック)と置き換えるために使用できる。このように、もし未だ交替領域306中に正常な実体ブロックがあるとともに、実体ブロックが損傷された場合、メモリー管理ユニット204が交替領域306から正常な実体ブロックを手に入れて損傷した実体ブロックと置き換える。もしも交替領域306中に正常な実体ブロックがなく、かつ実体ブロックが損傷された場合、フラッシュメモリー記憶装置100は、書き込み保護(write protected)状態と宣言されるとともに、書き込みデータとして使用することができない。
【0048】
注意すべきは、フラッシュメモリー記憶装置100の操作中、実体ブロックPBA(0)-PBA(N)がシステム領域302、データ領域304a、予備領域304bおよび交替領域306に分類されるという分類関係は、ダイナミックに変化することである。つまり、メモリー管理ユニット204が元は予備領域304bに属する1つの実体ブロック(例えば、実体ブロックPBA(D+2))にデータを書き込む時、実体ブロックがデータ領域304aに連合される。あるいは、データ領域304a(又は予備領域304b)中の実体ブロックが損傷されたため、交替領域306から得られた実体ブロックによって置き換えられる時、元は交替領域306に属する実体ブロックがデータ領域304a(又は予備領域304b)に連合される。
【0049】
フラッシュメモリー記憶装置100が蓄積領域304中の実体ブロックをかわるがわる使用してホストシステム1000から受信したデータを保存するので、メモリー管理ユニット204は、論理ブロックLBA(0)-LBA(L)を提供してホストシステム1000によりアクセスさせる。具体的には、各論理ブロックが多数の論理アドレスを含むとともに、各論理アドレスが実体ブロックの実体アドレスにマップされる。従って、ホストシステム1000のOS 1122が論理アドレスに従って単純にデータにアクセスする一方、メモリー管理ユニット204が対応する実体アドレス中のデータに実際にアクセスする。この実施形態中、メモリー管理ユニット204が論理ブロックLBA(0)-LBA(L)を蓄積領域304中の実体ブロックにマップするとともに、論理ブロック-実体ブロックマップテーブル(logical block-physical block mapping table)中に論理ブロックおよび実体ブロック間のマップ関係を記録する。この実施形態中、ホストシステム1000により書き込まれるデータが蓄積領域304に属する実体ブロックへ書き込まれるとともに、ホストシステム1000は、システム領域302および交替領域306中の実体ブロックにアクセスできない。
【0050】
図3は、この発明の実施形態にかかるロジックブロックの構成を示す説明図である。
【0051】
図3において、メモリー管理ユニット204が論理ブロックLBA(0)-LBA(L)を第1論理ユニット360と第2論理ユニット380とに分類し、第1論理ユニット360が論理ブロックLBA(0)-LBA(G)を含み、第2論理ユニット380が論理ブロックLBA(G+1)-LBA(L)を含む。
【0052】
この実施形態中、メモリー管理ユニット204が第1論理ユニット360を書き換え可能なDVDディスク(例えば、DVD+RW規格、DVD-RW規格、DVD-RAM規格またはBlue-Ray Disc(BD)規格に適合するディスク装置)として配列するとともに、第2論理ユニット380を大容量記憶装置(例えば、ファイル配置テーブル32(File Allocation Table 32 = FAT32)フォーマットまたはNTFSフォーマットに適合する大容量記憶装置)として配列する。
【0053】
とりわけ、この実施形態中、フラッシュメモリー記憶装置100がホストシステム1000に連結されるとともに、ホストシステム1000のCPU 1102が、フラッシュメモリー記憶装置100が書き換え可能なDVD装置および大容量記憶装置からなると識別する。
【0054】
具体的には、ホストシステム1000のCPU 1102がフラッシュメモリー記憶装置100からの装置特徴を要請する時、メモリー管理ユニット204は、フラッシュメモリー記憶装置100が大容量記憶カテゴリーであるとともに、第1論理ユニット360と第2論理ユニット380とを有することをホストシステム1000に宣言する。その後、CPU 1102がフラッシュメモリー記憶装置100から第1論理ユニット360の装置特徴を要請する(例えば、CPU 1102が0×12指令を介して第1論理ユニット360の装置特徴について質問する)時、メモリー管理ユニット204は、第1論理ユニット360が書き換え可能なDVD装置であるとホストシステム1000に宣言する(例えば、メモリー管理ユニット204がホストシステム1000に0×05メッセージで応答する)とともに、CPU 1102がフラッシュメモリー記憶装置100から第2論理ユニット380の装置特徴を要請する時、メモリー管理ユニット204は、第2論理ユニット380が大容量記憶装置であると宣言する(例えば、メモリー管理ユニット204がホストシステム1000に0×00メッセージで応答する)。従って、ホストシステム1000がフラッシュメモリー記憶装置100の書き換え可能なDVD装置(即ち、第1論理ユニット360)に焼き付けようとする時、メモリー管理ユニット204は、ホストシステム1000から受信したディスク指令に従って、ホストシステム1000からのデータを第1論理ユニット360の論理ブロックLBA(0)-LBA(G)にマップされた実体ブロックへ書き込む。また、ホストシステム1000がフラッシュメモリー記憶装置100の大容量記憶装置(即ち、第2論理ユニット380)に保存しょうとする時、ホストシステム1000から受信したディスク指令に従って、ホストシステム1000からのデータを第2論理ユニット380の論理ブロックLBA(G+1)-LBA(L)にマップされた実体ブロックへ書き込む。
【0055】
注意すべきは、この実施形態中、たとえメモリー管理ユニット204が論理ブロックLBA(0)-LBA(L)を書き換え可能なDVDフォーマットを有する第1論理ユニット360およびディスクフォーマットを有する第2論理ユニット380へ分類するとしても、この発明は、それに限定されるものではないことである。例えば、この発明の他の実施形態中、第2論理ユニット380は、また、コンパクトディスク読み出し専用メモリー(Compact Disk-Read Only Memory = DC-ROM)として配列され得る。あるいは、この発明の更に別の実施形態中、第2論理ユニット380は、また、他の書き換え可能なDVD装置であり得るとともに、メモリー管理ユニット204は、第2論理ユニット380が書き換え可能なDVD装置(例えば、例えば、DVD+RW規格、DVD-RW規格、DVD-RAM規格またはBD規格に適合するディスク装置)であるとホストシステム1000に宣言するとともに、書き換え可能なDVD指令に従って第2論理ユニット380中のデータにアクセスする。更に、この発明のなお別な実施形態中、メモリー管理ユニット204は、また、全ての論理ブロックLBA(0)-LBA(L)を書き換え可能なDVD装置として配列する、あるいは、論理ブロックLBA(0)-LBA(L)をより多くの論理ユニットに分類するとともに、これらの論理ブロックをそれぞれ書き換え可能なDVD装置、大容量記憶装置またはコンパクトディスク読み出し専用メモリー装置として配列する。
【0056】
ここで、フラッシュメモリー制御器104のメモリー管理ユニット204が通常操作パターンに従って、ホストシステム1000からのディスク指令を実行して、第2論理ユニット380上で様々なデータ操作を実施する。また、フラッシュメモリー記憶装置100が第1論理ユニット360に与えられた書き換え可能なDVD指令を受信する時、メモリー管理ユニット204が適切なメッセージに応答して第1論理ユニット360を使用する書き換え可能なDVDをシミュレートする。以下、メモリー管理ユニット204の操作メカニズムが詳細に記述される。
【0057】
この発明の実施形態中、ホストシステム1000のCPU 1102が蓄積媒体特徴照会指令(例えば、書き換え可能なDVD指令の0×46指令)をフラッシュメモリー記憶装置100へ送信して第1論理ユニット360の蓄積媒体特徴を入手する時、メモリー管理ユニット204は、単一層書き換え可能DVDメッセージをホストシステム1000へ送信する。従って、CPU 1102が第1論理ユニット360の蓄積媒体を単一層(single layer)書き換え可能DVDとして識別する。注意すべきことは、この発明の他の実施形態中、メモリー管理ユニット204が第1論理ユニット360の容量に従って対応する蓄積媒体特徴を送信することもあり得ることである。例えば、もし第1論理ユニット360の容量が4.7GBより小さいか等しい場合、メモリー管理ユニット204が単一層書き換え可能DVDメッセージをホストシステム1000へ送信する。もしも第1論理ユニット360の容量が8.5GBより大きいか等しい場合、メモリー管理ユニット204が二重層(double layer)書き換え可能DVDメッセージをホストシステム1000へ送信する。
【0058】
この発明の実施形態中、ホストシステム1000のCPU 1102が容量照会指令(例えば、書き換え可能なDVD指令の0×25指令)をフラッシュメモリー記憶装置100へ送信して第1論理ユニット360の容量を入手する時、メモリー管理ユニット204は、第1論理ユニット360の容量値をホストシステム1000へ送り返す。例えば、もし総容量が15GBであれば、メモリー管理ユニット204は、第1論理ユニット360の容量が15GBであるとホストシステム1000に宣言する。注意すべきことは、この発明の他の実施形態中、メモリー管理ユニット204は、総容量がサポート(支持)される時、書き換え可能なDVDの設計仕様に従ってホストシステム1000へ応答することもあり得ることである。例えば、メモリー管理ユニット204は、もし総容量が15GBであれば、第1論理ユニット360の容量が4.7GBであるとホストシステム1000に宣言するとともに、メモリー管理ユニット204は、第1論理ユニット360が単一層書き換え可能DVDであると宣言する。さらに、メモリー管理ユニット204は、もし総容量が15GBであれば、第1論理ユニット360の容量が8.5GBであるとホストシステム1000に宣言するとともに、メモリー管理ユニット204は、第1論理ユニット360が二重層書き換え可能DVDであると宣言する。
【0059】
この発明の実施形態中、メモリー管理ユニット204は、書き換え可能DVDブランクフラッグ(blank flag)を確立する。ここで、書き換え可能DVDブランクフラッグは、書き換え可能DVD装置の管理情報の1つであり、かつ第1論理ユニット360の蓄積状態を記録する。例えば、もしもフラッシュメモリー記憶装置100が製造されたばかりで何のデータも書き込まれていない場合、書き換え可能DVDブランクフラッグは、「ブランク状態」(blank status)として標示される。もしデータが既にフラッシュメモリー記憶装置100の第1論理ユニット360へ書き込まれていれば、書き換え可能DVDブランクフラッグは、「非ブランク状態」(non-blank status)として標示される。この実施形態中、書き換え可能DVDブランクフラッグ中の「0」が「ブランク状態」を表す一方、「1」が「非ブランク状態」を表す。詳しくは、書き換え可能DVDの同一蓄積アドレスにデータが再焼き付けされる時、書き換え可能DVD全体が先ず消去されなければならない。かくして、ホストシステム1000がクリアー指令(例えば、書き換え可能DVD 指令の0×A1指令)を使用して第1論理ユニット360をクリアーする。しかし、フラッシュメモリーチップ106中の実体ブロックのユニットにおいてデータが消去されるため、データがその実体ブロックへ書き込まれる時にだけ、実体ブロックが消去される。CPU 1102がクリアー指令をフラッシュメモリー記憶装置100へ送信する時、メモリー管理ユニット204は、「ブランク状態」として書き換え可能DVDブランクフラッグを標示するとともに、クリアー指令が既に実行されたとホストシステム1000へ応答する。注意すべきは、メモリー管理ユニット204が第1論理ユニット360にマップされた実体ブロックを実際に消去する訳ではないので、フラッシュメモリー記憶装置100がクリアー指令を実行するための速度は、一般の書き換え可能DVD装置が同じ事を行う速度より格段に速いことである。
【0060】
また、CPU 1102がフォーマット指令(例えば、書き換え可能DVD 指令の0×04指令)またはセクション閉鎖指令(例えば、書き換え可能DVD 指令の0×5B指令)をフラッシュメモリー記憶装置100へ送信する時、メモリー管理ユニット204が書き換え可能DVDブランクフラッグを「非ブランク状態」として標示する。
【0061】
とりわけ、CPU 1102が読み出し指令(例えば、書き換え可能DVD 指令の0×28指令)をフラッシュメモリー記憶装置100へ送信して、第1論理ユニット360からデータを読み出す時、メモリー管理ユニット204は、書き換え可能DVDブランクフラッグが「ブランク状態」であるか否か判定する。もし書き換え可能DVDブランクフラッグが「ブランク状態」を標示している場合、メモリー管理ユニット204は、ヌル値(null value)をホストシステム1000へ直接送信する。もしも書き換え可能DVDブランクフラッグが「非ブランク状態」を標示している場合、メモリー管理ユニット204は、ホストシステム1000のために、読み出し指令により標示された論理アドレスに従って第1論理ユニット360にマップされた実体ブロックからデータを読み出す。
【0062】
例えば、この実施形態中、メモリー管理ユニット204が書き換え可能DVDブランクフラッグをシステム領域302(図2右上)の実体ブロックへ保存する。しかし、この発明は、それに限定されるものではないとともに、この発明の他の実施形態中、書き換え可能DVDブランクフラッグは、また、他の非揮発メモリー(例えば、フラッシュメモリー制御器104中に追加的に配置された非揮発メモリー)へ保存することもできる。
【0063】
この発明の実施形態中、メモリー管理ユニット204が書き込み容量パラメーターを確立する。ここで、書き込み容量パラメーターは、書き換え可能DVD装置の管理情報の1つであり、第1論理ユニット360の書き込み容量を記録する。詳細には、書き換え可能DVD装置中、データが書き換え可能DVDの蓄積アドレスへ順番に焼き付けられる。従って、ホストシステム1000は、第1論理ユニット360中の次の書き込み可能照会指令(例えば、書き換え可能DVD 指令の0×52指令)を使用して、第1論理ユニット360中の次の書き込み可能アドレスについて照会する。CPU 1102が書き込み指令(例えば、書き換え可能DVD 指令の0×2A指令)をフラッシュメモリー記憶装置100へ送信して、第1論理ユニット360へデータを焼き付ける時、メモリー管理ユニット204が書き込むべき論理アドレスに対応する論理ブロックにマップされた実体ブロックへデータを書き込むとともに、書き込みデータの容量に従って書き込み容量パラメーターを更新する。また、CPU 1102がフォーマット指令またはクリアー指令をフラッシュメモリー記憶装置100へ送信する時、メモリー管理ユニット204が書き込み容量パラメーターを初期化する(例えば、書き込み容量パラメーターがゼロにリセットされる)。とりわけ、CPU 1102が次の書き込み可能アドレス照会指令をフラッシュメモリー記憶装置100へ送信する時、メモリー管理ユニット204は、書き込み容量パラメーターに従って次の書き込み可能アドレスをホストシステム1000へ応答する。
【0064】
特記すべきは、一般の書き換え可能DVD装置が書き換え可能DVD上でセクション閉鎖指令を実行する時、書き換え可能DVDの蓄積アドレスにおいてセクション閉鎖が発生するとともに、セクション閉鎖後に後続するデータが焼き付けられなければならないことである。従って、この実施形態中、CPU 1102がセクション閉鎖指令をフラッシュメモリー記憶装置100へ送信する時、たとえホストシステム1000が何のデータも書き込まなくても、メモリー管理ユニット204は、なお閉鎖セクションのサイズに従って書き込み容量パラメーターを更新する。
【0065】
同様に、この実施形態中、メモリー管理ユニット204が書き込み容量パラメーターをシステム領域302(図2右上)の実体ブロックへ保存する。しかし、この発明は、それに限定されるものではないとともに、この発明の他の実施形態中、書き込み容量パラメーターは、また、他の非揮発メモリー(例えば、フラッシュメモリー制御器104中に追加的に配置された非揮発メモリー)へ保存することもできる。
【0066】
この発明の他の実施形態中、ホストシステム1000のCPU 1102が読み出し指令または書き込み指令をフラッシュメモリー記憶装置100へ送信して、第1論理ユニット360からデータを読み出す又は第1論理ユニット360へデータを焼き付ける時、メモリー管理ユニット204が変換パラメーターを使用して、読み出し指令または書き込み指令により標示された論理アドレスおよびデータ容量を計算する。詳しくは、論理アクセスユニットがDVDシステム中に2048バイトを有する一方、論理アクセスユニットがフラッシュメモリーシステム中に512バイトを有する。従って、変換パラメーターが4(=2048/512)に設定される。例えば、CPU 1102が論理アドレス「512」から開始して512ユニットのデータを読み出そうとする時、メモリー管理ユニット204は、論理アドレス「2048」にマップされた実体アドレスから開始して2048ユニットのデータを読み出す。
【0067】
この発明の実施形態中、ホストシステム1000のCPU 1102がエラー訂正データ照会指令をフラッシュメモリー記憶装置100へ送信する時、メモリー管理ユニット204は、不支持メッセージ(non-support message)をホストシステム1000へ送り返す。詳細には、DVDシステムが適切なエラー訂正アルゴリズムを使用してDVDに保存されたデータの正確性を確保する。この実施形態中、DVDシステムは、フラッシュメモリーシステムに適していない。かくして、エラー訂正ユニット256(図1B)がフラッシュメモリーシステムには適したエラー検査訂正(Error Checking and Correcting = ECC)コードを使用してデータ正確性を確保する。従って、CPU 1102が第1論理ユニット360からエラー訂正データを読み出そうとする時、ホストシステム1000からのエラー訂正データ照会指令を拒絶する。
【0068】
DVDシステム中、ホストシステム1000は、分/秒/フレーム(Minute/Second/Frame = MSF)読み出し指令(例えば、書き換え可能DVD 指令の0×B9指令)を使用して、分/秒/フレームのパラメーターでデータを読み出すことができる。この発明の実施形態中、ホストシステム1000のCPU 1102がMSF読み出し指令をフラッシュメモリー記憶装置100へ送信する時、メモリー管理ユニット204は、下記の数式(1)を介してMSF読み出し指令により標示された論理アドレスを計算する。
LBA=((M×60+S-2)×75+F)×4…(1)
【0069】
式中、LBAが前記フラッシュメモリー中のMSF読み出し指令に対応する論理アドレスを表し、MがMSF読み出し指令の分パラメーターを表し、SがMSF読み出し指令の秒パラメーターを表し、FがMSF読み出し指令のフレームパラメーターを表すものである。つまり、1分のデータが18000(= 60×75×4)の実体ブロック中に保存されるとともに、各実体アドレスが512バイトを有し、かつ1フレームのデータが4つの実体アドレス中に保存されるとともに、各実体アドレスが512バイトを有する。
【0070】
DVDシステム中、ホストシステム1000がディスク排出(eject)指令を使用して書き換え可能なDVD装置中の書き換え可能なDVDを排出する。とりわけ、DVDシステム中、書き換え可能なDVDの焼き付けが完了した後、DVDの蓄積情報が変化しているので、ホストシステム1000がDVDを排出するよう要請するとともに、再びDVDが書き換え可能なDVD装置に挿入された後、DVDの蓄積情報を再読み出しする。しかし、フラッシュメモリー記憶システム中、全ての蓄積情報(例えば、論理ブロック-実体ブロックマップテーブル)が一時的にバッファーメモリー252(図1B)中に保存される。これにより、メモリー管理ユニット204は、フラッシュメモリー記憶装置100に対してプラグを抜いたり差し込んだりする(unplug and re-plug)必要なしに、第1論理ユニット360の最新情報を入手できる。この発明の実施形態中、ホストシステム1000のCPU 1102がディスク排出指令をフラッシュメモリー記憶装置100へ送信する時、メモリー管理ユニット204は、受信済みメッセージでホストシステム1000に応答するが、いかなる動作も起こさない。続いてCPU 1102が第1論理ユニット360を照会する時、メモリー管理ユニット204は、準備完了(ready)メッセージをホストシステム1000へ直接返送する。
【0071】
この発明の実施形態中、メモリー管理ユニット204は、第1論理ユニット360が「書き込み保護状態」または「非書き込み保護状態」にあるかどうかを記録するために、書き込み保護フラッグを設定する。具体的には、ユーザーが応用プログラムを介してベンダー(vendor 製造業者)指令を使用することにより第1論理ユニット360の非書き込み保護フラッグを設定できる。例えば、もしもユーザーがデータを第1論理ユニット360に保存したくなくて誤って削除した場合、ユーザーは、ホストシステム1000にインストールされた応用プログラムを介してベンダー指令を発行することにより、メモリー管理ユニット204に「書き込み保護状態」として書き込み保護フラッグを設定するよう要請できる。
【0072】
この発明の別の実施形態中、書き込み保護フラッグを変更する時、応用プログラムがユーザーに認証パスワードを尋ねるとともに、認証パスワードおよびセットされるデータをメモリー管理ユニット204へ送信する。そして、メモリー管理ユニット204がユーザーにより入力された認証パスワードをベンダーパスワードと比較する。メモリー管理ユニット204は、ユーザーにより入力された認証パスワードがベンダーパスワードと一致する時のみ、ユーザーの要求に従って書き込み保護フラッグを変更する。ここで、メモリー管理ユニット204は、書き込み保護フラッグおよびベンダーパスワードをシステム領域302(図2右上)に保存する。しかし、この発明は、それに限定されるものではないとともに、この発明の他の実施形態中、書き込み保護フラッグおよびベンダーパスワードは、また、他の非揮発メモリー(例えば、フラッシュメモリー制御器104中に追加的に配置された非揮発メモリー)へ保存することもできる。
【0073】
この発明の実施形態中、ホストシステム1000のCPU 1102がクリアー指令、フォーマット指令またはセクション閉鎖指令をフラッシュメモリー記憶装置100に送信する時、メモリー管理ユニット204は、書き込み保護フラッグが「書き込み保護状態」であるかどうか判定する。書き込み保護フラッグが「書き込み保護状態」を標示している時、メモリー管理ユニット204は、エラーメッセージをホストシステム1000へ送り返すか如何なる動作も起こさない。エラーメッセージは、「書き込み保護されている(即ち、ASCコード0×27およびSenseKeyコード0×07)」、「媒体が存在しない(即ち、ASCコード0×3AおよびSenseKeyコード0×02)」、「媒体が変更中(即ち、ASCコード0×28およびSenseKeyコード0×06)」、「指令が支持されてない(即ち、ASCコード0×20およびSenseKeyコード0×05)」、「指令パラメーターエラー(即ち、ASCコード0×24およびSenseKeyコード0×05)」、「データ書き込みエラー(即ち、ASCコード0×03およびSenseKeyコード0×03)」または「データ書き込みエラー(即ち、ASCコード0×11およびSenseKeyコード0×03)」で有り得る。
【0074】
もし書き込み保護フラッグが「書き込み保護状態」を標示していれば、上記したエラーメッセージの1つでホストシステム1000へ応答する以外に、この発明の別の実施形態中、メモリー管理ユニット204は、また、蓄積媒体特徴を直接に変更してホストシステム1000がいかなる書き込み又はクリアー指令を発行することを防止できる。例えば、ホストシステム1000のCPU 1102が蓄積媒体特徴照会指令をフラッシュメモリー記憶装置100に送る時、メモリー管理ユニット204は、書き込み保護フラッグが「書き込み保護状態」を標示しているかどうか判定する。もし書き込み保護フラッグが「書き込み保護状態」を標示していれば、メモリー管理ユニット204は、単一層読み出し専用DVDメッセージまたは二重層読み出し専用DVDメッセージをホストシステム1000へ返送して、第1論理ユニット360が読み出し専用DVDであることをホストシステム1000に通知する。
【0075】
図4は、この発明の実施形態にかかる書き換え可能なデジタル多用途ディスク(DVD)をシミュレーションする方法を示すフローチャート(流れ図)である。
【0076】
図4において、ステップS401中、メモリー管理ユニット204が多数の論理ブロック(例えば、LBA(0)-LBA(L))を配列するとともに、論理ブロックをフラッシュメモリーチップ106の実体ブロックの一部にマップする(図2)。
【0077】
そして、ステップS403中、メモリー管理ユニット204が論理ブロックの一部を1つの論理ユニット(例えば、第1論理ユニット360)に分類する(図3)。ステップS405中、メモリー管理ユニット204が論理ユニットを書き換え可能なDVD蓄積媒体として配列する。
【0078】
次に、ステップS407中、メモリー管理ユニット204は、論理ユニットが書き換え可能なDVD装置であるとホストシステム1000に宣言する。ステップS409中、メモリー管理ユニット204がホストシステム1000から書き換え可能なDVD指令を受信したことを識別するとともに、書き換え可能なDVD指令に従ってホストシステム1000から受信したデータを論理ブロックにマップされた実体ブロック中へ記録する。メモリー管理ユニット204が書き換え可能なDVD指令を識別するメカニズムは、上述したから、ここでは記述しない。
【0079】
図5は、この発明の第2の実施形態にかかるフラッシュメモリー記憶システムを示すブロック図である。
【0080】
図5において、フラッシュメモリー記憶システム500がカードリーダー502と取外し可能なメモリーカード504とを含む。
【0081】
カードリーダー502がコネクター512とカードリーダー制御器514とメモリーカード連接インターフェースユニット516とを含む。
【0082】
コネクター512がホストシステム1000(図1B)に連結するよう配列される。この実施形態中、コネクター512がUSBコネクターである。しかし、この発明は、それに限定されるものではないとともに、コネクター512は、また、PATAコネクター、SATAコネクター、IEEE 1394コネクター、PCI高速コネクター、IEDコネクターまたは他の適合する伝送コネクターで有り得る。この実施形態中、カードリーダー502がコネクター512を介して分離方式で(in a detachable manner)ホストシステム1000に連結される。しかし、この発明は、それに限定されるものではないとともに、この発明の他の実施形態中、カードリーダー502は、固定方式で(in fixed manner)ホストシステム1000に連結され得る。
【0083】
カードリーダー制御器514がコネクター512に連結されるとともに、カードリーダー502の操作を制御するよう配列される。とりわけ、この実施形態中、カードリーダー制御器514は、カードリーダー502が書き換え可能なDVD装置であるとホストシステム1000に対して宣言する。例えば、カードリーダー制御器514は、カードリーダー502がDVD+RW規格、DVD-RW規格、DVD-RAM規格またはBD規格に適合するディスク装置であるとホストシステム1000に対して宣言する。また、カードリーダー制御器514は、ホストシステム1000から受信した書き換え可能なDVD指令を識別し、かつ書き換え可能なDVD指令に従って取外し可能なメモリーカード504を操作する。ホストシステム1000から受信した書き換え可能なDVD指令に応答するメカニズムは、上述したので、ここでは記述しない。
【0084】
メモリーカード連接インターフェースユニット516がカードリーダー制御器514に連結されるとともに、取外し可能なメモリーカード504に連結するよう配列される。
【0085】
取外し可能なメモリーカード504が分離可能な方式でカードリーダー502にプラグされる。取外し可能なメモリーカード50がメモリーカード制御器522とフラッシュメモリーチップ524とを含む。
【0086】
メモリーカード制御器522が論理ブロックを配列するとともに、論理ブロックを実体ブロックにマップするので、ホストシステム1000がカードリーダー502を介して取外し可能なメモリーカード504中のフラッシュメモリーチップ524にアクセスできる。
【0087】
具体的には、カードリーダー制御器514は、取外し可能なメモリーカード504が書き換え可能なDVDであるとホストシステム1000に対して宣言するとともに、ホストシステム1000からの書き換え可能なDVD指令を識別し、かつメモリーカード制御器522がフラッシュメモリーチップ524のブロック管理メカニズムを実行し、かつカードリーダー制御器514の指令に従ってフラッシュメモリーチップ524を操作する。
【0088】
この実施形態中、フラッシュメモリーチップ524がフラッシュメモリーチップ106と同一であるから、フラッシュメモリーチップ524の構造および機能は、ここでは記述しない。
【0089】
以上のごとく、この発明を実施形態により開示したが、もとより、この発明を限定するためのものではなく、当業者であれば容易に理解できるように、この発明の技術思想の範囲内において、適当な変更ならびに修正が当然なされうるものであるから、その特許権保護の範囲は、特許請求の範囲および、それと均等な領域を基準として定めなければならない。
【符号の説明】
【0090】
100 フラッシュメモリー記憶装置
102 コネクター
104 フラッシュメモリー制御器
106 フラッシュメモリーチップ
202 マイクロプロセッサーユニット
204 メモリー管理ユニット
206 ホストインターフェースユニット
208 フラッシュメモリーインターフェースユニット
252 バッファーメモリー
254 電源管理ユニット
256 エラー訂正ユニット
302 システム領域
304 蓄積領域
304a データ領域
304b 予備領域
306 交替領域
360 第1論理ユニット
380 第2論理ユニット
502 カードリーダー
504 取外し可能なメモリーカード
512 コネクター
514 カードリーダー制御器
516 メモリーカード連接インターフェースユニット
522 メモリーカード制御器
524 フラッシュメモリーチップ
1000 ホストシステム
1100 コンピューター
1102 中央処理ユニット
1104 メインメモリー
1106 入力/出力装置
1108 システムバス
1110 データ伝送インターフェース
1112 メインディスクドライブ
1122 操作システム(Operation System = OS)
1124 焼き付けプログラム
1202 マウス
1204 キーボード
1206 ディスプレイ
1208 プリンター
1212 フラッシュドライブ1214 メモリーカード
1216 固態ドライバー(Solid State Driver = SSD)
1218 嵌め込み式記憶装置
2002 デジタル多用途ディスク(Digital Versatile Disc = DVD)ドライブ
2004 デジタル多用途ディスク(Digital Versatile Disc = DVD)
2006 フラッシュドライブ
PBA(0)-PBA(N) 実体ブロック
LBA(0)-LBA(L) 論理ブロック

【特許請求の範囲】
【請求項1】
多数の実体ブロックを有するフラッシュメモリーチップと、
ホストシステムに連結されるよう配列されるコネクターと、
前記フラッシュメモリーチップおよび前記コネクターに連結され、かつ多数の論理ブロックを配列されるとともに、前記論理ブロックを前記実体ブロックの一部にマップする制御器とを備え、
そのうち、前記制御器が更に前記ホストシステムからの少なくとも1つの書き換え可能ディスク指令を識別するために配列されるとともに、少なくとも1つの前記書き換え可能ディスク指令に従って前記ホストシステムからのデータを前記論理ブロックの少なくとも一部にマップされたへ実体ブロックに書き込む、フラッシュメモリー記憶システム。
【請求項2】
前記制御器が、書き換え可能なディスク装置の少なくとも1つの管理情報を確立するとともに、前記書き換え可能なディスク装置の少なくとも1つの管理情報を前記実体ブロックの1つに保存する請求項1記載のフラッシュメモリー記憶システム。
【請求項3】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が、蓄積状態情報を含むとともに、前記蓄積状態情報が、前記論理ブロックの少なくとも一部の蓄積状態を記録する請求項2記載のフラッシュメモリー記憶システム。
【請求項4】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が、書き込み容量パラメーターを含むとともに、前記書き込み容量パラメーターが、前記論理ブロックの少なくとも一部の書き込み容量を記録する請求項2記載のフラッシュメモリー記憶システム。
【請求項5】
フラッシュメモリー記憶システムであり、
多数の実体ブロックを有するフラッシュメモリーチップと、
ホストシステムに連結されるよう配列されるコネクターと、
前記フラッシュメモリーチップおよび前記コネクターに連結され、かつ多数の論理ブロックを配列されるとともに、前記論理ブロックを前記実体ブロックの一部にマップする制御器とを備え、
そのうち、前記実体ブロックの1つが書き換え可能なディスク装置の少なくとも1つの管理情報を保存するとともに、前記フラッシュメモリー記憶システムが前記制御器および前記書き換え可能なディスク装置の少なくとも1つの管理情報を配列することにより前記ホストに連結される時、前記フラッシュメモリー記憶システムが、前記ホストが前記論理ブロックの少なくとも一部を前記書き換え可能なディスク装置の書き換え可能な蓄積媒体として識別することを許すものである、フラッシュメモリー記憶システム。
【請求項6】
前記制御器は、前記制御器が前記ホストシステムから蓄積媒体特性照会指令を受信した時、単一層書き換え可能DVDメッセージまたは二重層書き換え可能DVDメッセージを前記ホストシステムへ送り返すものである請求項5記載のフラッシュメモリー記憶システム。
【請求項7】
前記制御器は、前記ホストシステムから容量照会指令を受信した時、容量値を前記ホストシステムへ送り返すものであり、
そのうち、前記容量値が前記フラッシュメモリーチップより小さいか等しいものである請求項5記載のフラッシュメモリー記憶システム。
【請求項8】
さらに、不揮発メモリーを含み、そのうち、前記書き換え可能なディスク装置の少なくとも1つの管理情報が、前記不揮発メモリー中に保存されるものである請求項5記載のフラッシュメモリー記憶システム。
【請求項9】
前記書き換え可能なディスク装置の少なくとも1つの管理情報が、蓄積状態情報を含むとともに、前記蓄積状態情報が前記論理ブロックの少なくとも一部の蓄積状態を記録するものである請求項5記載のフラッシュメモリー記憶システム。
【請求項10】
前記制御器が前記ホストシステムからクリアー指令を受信する時、前記制御器が前記蓄積状態情報をブランク状態としてマークするものである請求項9記載のフラッシュメモリー記憶システム。
【請求項11】
前記制御器が前記ホストシステムからフォーマット指令またはセクション閉鎖指令を受信する時、前記蓄積状態情報を非ブランク状態としてマークするものである請求項9記載のフラッシュメモリー記憶システム。
【請求項12】
前記制御器が前記ホストシステムから読み出し指令を受信する時、前記制御器は、前記蓄積状態情報がブランク状態を指示するか否か判定するものであり、
そのうち、前記蓄積状態情報が前記ブランク状態を指示する時、前記制御器が前記ホストシステムへヌル値を送り返すものである請求項9記載のフラッシュメモリー記憶システム。
【請求項13】
前記書き換え可能なディスク装置の少なくとも1つの管理情報が、書き込み容量パラメーターを含むとともに、前記書き込み容量パラメーターが前記論理ブロックの少なくとも一部の書き込み容量を記録するものである請求項5記載のフラッシュメモリー記憶システム。
【請求項14】
前記制御器が前記ホストシステムからフォーマット指令またはクリアー指令を受信する時、前記制御器が前記書き込み容量パラメーターを初期化するものである請求項13記載のフラッシュメモリー記憶システム。
【請求項15】
前記制御器が前記ホストシステムから書き込み指令を受信するとともに、前記論理ブロックの少なくとも一部にマップされた前記実体ブロックへ前記データを書き込んだ後、前記制御器が前記書き込み容量パラメーターを更新する請求項13記載のフラッシュメモリー記憶システム。
【請求項16】
前記制御器が前記ホストシステムから次の書き込み可能アドレス照会指令を受信した時、前記制御器は、前記書き込み容量パラメーターに従って次の書き込み可能アドレスを前記ホストシステムへ送り返すものである請求項13記載のフラッシュメモリー記憶システム。
【請求項17】
前記制御器が前記ホストシステムから読み出し指令または書き込み指令を受信した時、前記制御器が、変換パラメーターを使用して前記読み出し指令または前記書き込み指令により指示された論理アドレスおよびデータ容量を計算する請求項5記載のフラッシュメモリー記憶システム。
【請求項18】
前記制御器が前記ホストシステムからエラー訂正データ照会指令を受信した時、前記制御器が、非支援メッセージを前記ホストシステムへ送り返すものである請求項5記載のフラッシュメモリー記憶システム。
【請求項19】
前記制御器が前記ホストシステムからMSF読み出し指令を受信した時、前記制御器が、下記する数式(1)を介して前記MSF読み出し指令に対応する論理アドレスを計算するものであり、
LBA=((M×60+S-2)×75+F)×4…(1)
そのうち、LBAが前記フラッシュメモリーチップ中の前記MSF読み出し指令に対応する前記論理アドレスを表し、Mが前記MSF読み出し指令の分パラメーターを表し、Sが前記MSF読み出し指令の秒パラメーターを表し、Fが前記MSF読み出し指令のフレームパラメーターを表すものである、請求項5記載のフラッシュメモリー記憶システム。
【請求項20】
前記制御器が前記ホストシステムからディスク排出指令を受信した時、前記制御器が、受信済みメッセージまたは準備済みメッセージを前記ホストシステムへ送り返すものである請求項5記載のフラッシュメモリー記憶システム。
【請求項21】
前記ホストシステムが、ディスク装置の書き換え可能な蓄積媒体、コンパクトディスク読み出し専用メモリー(CD-ROM)装置の読み出し専用蓄積媒体または書き換え可能なディスク装置の書き換え可能な蓄積媒体を前記論理ブロックの別な部分として識別するものである請求項5記載のフラッシュメモリー記憶システム。
【請求項22】
前記制御器が、指令に従って書き込み保護情報を設定するとともに、前記書き込み保護情報を前記実体ブロックの1つに書き込み、そのうち、前記書き込み保護情報が前記論理ブロックの前記一部が書き込み保護状態または非書き込み保護状態にあるかどうかを記録する請求項5記載のフラッシュメモリー記憶システム。
【請求項23】
前記制御器が前記ホストシステムからクリアー指令、フォーマット指令またはセクション閉鎖指令を受信した時、前記制御器は、前記書き込み保護情報が前記書き込み保護状態を指示しているか否か判定し、
そのうち、前記書き込み保護情報が前記書き込み保護状態を指示している時、前記制御器が前記ホストシステムへエラーメッセージを送り返すものである請求項22記載のフラッシュメモリー記憶システム。
【請求項24】
前記制御器が前記ホストシステムから蓄積媒体特性照会指令を受信した時、前記制御器は、前記書き込み保護情報が前記書き込み保護状態を指示しているかどうか判定し、
そのうち、前記書き込み保護情報が前記書き込み保護状態を指示している時、前記制御器が前記ホストシステムへ単一層読み出し専用DVDメッセージまたは二重層読み出し専用DVDメッセージを送り返すものである請求項22記載のフラッシュメモリー記憶システム。
【請求項25】
フラッシュメモリー制御器であり、フラッシュメモリーチップの多数の実体ブロックを管理するためのものであって、前記フラッシュメモリー制御器が、
マイクロプロセッサーユニットと、
前記マイクロプロセッサーユニットに連結されるとともに、前記フラッシュメモリーチップに連結されるよう配列されるフラッシュメモリーインターフェースユニットと、
前記マイクロプロセッサーユニットに連結されるとともに、ホストシステムに連結されるよう配列されるホストインターフェースユニットと、
前記マイクロプロセッサーユニット連結されるとともに、多数の論理ブロックに配列され、かつ前記した多数の論理ブロックを前記した多数の実体ブロックの一部にマップするメモリー管理ユニットとを含み、
そのうち、前記メモリー管理ユニットが前記ホストシステムからの少なくとも1つの書き換え可能なディスク指令を識別するとともに、前記した少なくとも1つの書き換え可能なディスク指令に従って前記ホストシステムからのデータを前記した多数の論理ブロックの少なくとも一部にマップされた前記した多数の実体ブロックへ書き込むものである、フラッシュメモリー制御器。
【請求項26】
前記メモリー管理ユニットが、書き換え可能なディスク装置の少なくとも1つの管理情報を確立するとともに、前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報を前記した多数の実体ブロックの1つへ保存するものである請求項25記載のフラッシュメモリー制御器。
【請求項27】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が蓄積状態情報を含むとともに、前記蓄積状態情報が前記した多数の論理ブロックの少なくとも1つの蓄積状態を記録するものである、請求項26記載のフラッシュメモリー制御器。
【請求項28】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が書き込み容量パラメーターを含むとともに、前記書き込み容量パラメーターが前記した多数の論理ブロックの少なくとも1つの書き込み容量を記録するものである、請求項26記載のフラッシュメモリー制御器。
【請求項29】
コンピューターシステムであって、
中央処理ユニット(CPU)と、
前記CPUに連結されたメインメモリーと、
前記CPUに連結された埋め込み式フラッシュメモリー記憶装置とを含み、そのうち、前記埋め込み式フラッシュメモリー記憶装置が、
多数の実体ブロックを有するフラッシュメモリーチップと、
前記フラッシュメモリーチップに連結されるとともに、多数の論理ブロックに配列され、かつ前記した多数の論理ブロックを前記した複数の実体ブロックの一部にマップする制御器とを含み、
そのうち、前記制御器が前記CPUから少なくとも1つの書き換え可能なディスク指令を識別するとともに、前記書き換え可能なディスク指令に従って、前記した多数の論理ブロックの少なくとも一部にマップされた前記した多数の実体ブロックへデータを書き込むものである、コンピューターシステム。
【請求項30】
前記制御器が、書き換え可能なディスク装置の少なくとも1つの管理情報を確立するとともに、前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報を前記した多数の実体ブロックの1つに蓄積するものである請求項29記載のコンピューターシステム。
【請求項31】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が、蓄積状態情報を含むとともに、前記蓄積状態情報が前記した多数の論理ブロックの少なくとも一部分の蓄積状態を記録するものである請求項30記載のコンピューターシステム。
【請求項32】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が、書き込み容量パラメーターを含むとともに、前記書き込み容量パラメーターが多数の論理ブロックの少なくとも一部分の書き込み容量を記録するものである請求項30記載のコンピューターシステム。
【請求項33】
コンピューターシステムであって、
CPUと、
前記CPUに連結されたメインメモリーと、
前記CPUに連結されたカードリーダーであり、そのうち、前記カードリーダーがカードリーダー制御器を含むとともに、前記カードリーダー制御器は、前記カードリーダーが書き換え可能なディスク装置であるとCPUへ宣言するよう配列されるものである、カードリーダーと、
前記カードリーダーにプラグされた取外し可能なメモリーカードとを含み、そのうち、前記取外し可能なメモリーカードが、
多数の実体ブロックを有するフラッシュメモリーチップと、
フラッシュメモリーチップに連結されるとともに、多数の論理ブロックに配列され、かつ前記した多数の論理ブロックを前記した複数の実体ブロックの一部にマップするメモリーカード制御器とを含み、
そのうち、前記カードリーダー制御器が前記CPUから少なくとも1つの書き換え可能なディスク指令を識別するとともに、前記書き換え可能なディスク指令に従って、前記した多数の論理ブロックの少なくとも一部にマップされた前記した多数の実体ブロックへデータを書き込む、コンピューターシステム。
【請求項34】
フラッシュメモリー記憶システムであって、
カードリーダー制御器を含むカードリーダーであり、そのうち、前記カードリーダー制御器は、前記カードリーダーが書き換え可能なディスク装置であるとホストシステムへ宣言するよう配列されるものであるカードリーダーと、
前記カードリーダーにプラグされた取外し可能なメモリーカードとを含み、そのうち、前記取外し可能なメモリーカードが、
多数の実体ブロックを有するフラッシュメモリーチップと、
フラッシュメモリーチップに連結されるとともに、多数の論理ブロックに配列されるよう配列され、かつ前記した多数の論理ブロックを前記した複数の実体ブロックの一部にマップするメモリーカード制御器とを含み、
そのうち、前記カードリーダー制御器が前記ホストシステムから少なくとも1つの書き換え可能なディスク指令を識別するとともに、前記書き換え可能なディスク指令に従って、前記した多数の論理ブロックの少なくとも一部にマップされた前記した多数の実体ブロックへ前記ホストシステムからのデータを書き込む、フラッシュメモリー記憶システム。
【請求項35】
フラッシュメモリー記憶装置を使用することにより書き換え可能なディスク装置をシミュレーションする方法であって、そのうち、前記フラッシュメモリー記憶装置が、フラッシュメモリーチップを有するとともに、前記フラッシュメモリーチップが多数の実体ブロックを有し、前記シミュレーション方法が、
多数の論理ブロックを配列するとともに、前記した多数の論理ブロックを前記した多数の実体ブロックの一部にマップするものであり、そのうち、前記した多数の論理ブロックが多数の論理アドレスを有し、前記した多数の実体ブロックが多数の実体アドレスを有するとともに、前記した多数の論理アドレスおよび前記した多数の実体アドレス間に存在する関係をマップすることと、
前記書き換え可能なディスク装置の少なくとも1つの管理情報を前記した多数の実体ブロックの1つに保存することと、
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報に従って、ホストシステムへ応答して前記フラッシュメモリー記憶装置へアクセスすることと、
前記ホストシステムにより与えられる少なくとも1つの前記書換可能なディスク指令の1つの書き込み指令に従って、変換パラメーターを使用して書き込み論理アドレスおよびデータ量を計算することと、を含むシミュレーション方法。
【請求項36】
前記書き換え可能なディスク指令に従ってデータが前記した多数の実体ブロックの1つに書き込まれるとともに、書き込みエラーが発生した時、前記データが前記した多数の実体ブロックの別な1つに書き込まれるものである請求項35記載のシミュレーション方法。
【請求項37】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が蓄積状態情報を含むとともに、前記蓄積状態情報が前記した多数の論理ブロックの少なくとも一部の蓄積状態を記録するものである請求項35記載のシミュレーション方法。
【請求項38】
前記書き換え可能なディスク装置の前記した少なくとも1つの管理情報が書き込み容量パラメーターを含むとともに、前記書き込み容量パラメーターが前記した多数の論理ブロックの少なくとも一部の書き込み容量を記録するものである請求項35記載のシミュレーション方法。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−123863(P2011−123863A)
【公開日】平成23年6月23日(2011.6.23)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−117729(P2010−117729)
【出願日】平成22年5月21日(2010.5.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MEMORY STICK
【出願人】(509285089)群聯電子股▲ふん▼有限公司 (5)
【Fターム(参考)】