(57)【要約】  ホストコンピュータ（５）とのデータ伝送のために使用されるポータブルデータストレージデバイスを動作可能にするインターフェース（３）と、インターフェースを制御するためのインターフェースコントローラ（７）とを含むポータブルデータストレージデバイスを開示している。また、不揮発性メモリへのデータの書き込み、およびデータの読み込みを制御するためのマスターコントロールユニット（９）を有している。不揮発性メモリは少なくとも１つの単層セルフラッシュメモリ（１１）と少なくとも１つの多層セルフラッシュメモリ（１３）を含んでいる。書き込み指令を受け取ると、マスターコントロールユニット（９）は、指令に含まれたデータをいずれのメモリに書き込むべきかを判定し、データを同様に適切に書き込み、読み込み指令を受け取ると、マスターコントロールユニット（９）はメモリ（１１，１３）における適切な１つからのデータを読み込み、データをデバイスの外部に伝送する。
2009524145.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）ホストコンピュータとデータ伝送を行うために使用されるポータブルデータストレージデバイスを動作可能とするためのインターフェース、
（ｂ）前記インターフェースを制御するためのインターフェースコントローラ、
（ｃ）少なくとも１つの単層セル（ＳＬＣ）フラッシュメモリと少なくとも１つの多層セル（ＭＬＣ）フラッシュメモリを備える不揮発性メモリ、および
（ｄ）前記不揮発性メモリにデータへの書き込み、および前記不揮発性メモリからのデータの読み込みを制御するためのマスターコントローラ、を有するポータブルデータストレージデバイスであって、
前記マスターコントローラは、
前記インターフェースが前記ホストから書き込み指令を受け取ったとき、前記フラッシュメモリの中から１つのフラッシュメモリを識別するように、そして識別されたフラッシュメモリに書き込み指令により特定されたデータを書き込むように、および
前記インターフェースが前記ホストから読み込み指令を受け取ったとき、前記フラッシュメモリの中から１つのフラッシュメモリを識別するように、そして識別されたフラッシュメモリからのデータを読み込むように、構成されているポータブルデータストレージデバイス。
【請求項２】
マスターコントロールユニットは、前記指令に含まれた論理アドレスに基づいて、およびマッピングテーブルを使用して前記フラッシュメモリを識別するように構成されており、前記マッピングテーブルは、物理アドレスと論理アドレスとの間のマッピングを記憶するように構成されており、前記マッピングテーブルにおいて、論理アドレスのシーケンスがＳＬＣアドレスのブロックの所定の数、およびＭＬＣアドレスのブロックの所定の数と交互に対応するよう構成されている請求項１に記載のデバイス。
【請求項３】
前記単層セルフラッシュメモリのブロックの所定の数は、前記多層セルフラッシュメモリのブロックの所定の数より高い請求項２に記載のデバイス。
【請求項４】
前記単層セルフラッシュメモリのブロックの所定の数が２であり、前記多層セルフラッシュメモリのブロックの所定の数が１である請求項３に記載のデバイス。
【請求項５】
（ａ）ホストコンピュータとデータ伝送を行うために使用されるポータブルデータストレージデバイスを動作可能とするためのインターフェース、
（ｂ）前記インターフェースを制御するためのインターフェースコントローラ、
（ｃ）少なくとも１つの単層セル（ＳＬＣ）フラッシュメモリと少なくとも１つの多層セル（ＭＬＣ）フラッシュメモリを備える不揮発性メモリ、および
（ｄ）前記不揮発性メモリにデータへの書き込み、および前記不揮発性メモリからのデータの読み込みを制御するためのマスターコントローラ、を有するポータブルデータストレージデバイスにおけるデータ格納方法であって、
前記方法は、
（ｉ）前記ホストからの書き込み指令を受け取ること、
（ｉｉ）前記フラッシュメモリの中から１つのフラッシュメモリを識別すること、
（ｉｉｉ）前記識別されたフラッシュメモリに書き込み指令により特定されたデータを書き込むこと、を有するデータ格納方法。
【請求項６】
前記フラッシュメモリを識別する前記ステップ（ｉｉ）は、前記書き込み指令から１つの論理アドレスを抽出すること、およびマッピングテーブルから前記不揮発性メモリにおける物理アドレスを取得することを含み、前記マッピングテーブルは、物理アドレスと論理アドレスとの間のマッピングを記憶し、前記マッピングテーブルにおいて、論理アドレスのシーケンスがＳＬＣアドレスのブロックの所定の数、およびＭＬＣアドレスのブロックの所定の数と交互に対応する請求項５に記載の方法。
【請求項７】
前記単層セルフラッシュメモリのブロックの所定の数は、前記多層セルフラッシュメモリのブロックの所定の数より高い請求項６に記載の方法。
【請求項８】
前記単層セルフラッシュメモリのブロックの予め定められた数が２であり、前記多層セルフラッシュメモリのブロックの予め定められた数が１である請求項７に記載の方法。
【請求項９】
データを書き込む前記ステップ（ｉｉｉ）は、
取得された物理アドレスを有する不揮発性メモリが消去されたか否かを判定すること、
前記判定が肯定的であれば、取得された物理アドレスに前記データを書き込むこと、および
前記判定が否定的であれば、前記論理アドレスに新しいブロックを割り当てること、を含み、
前記取得された物理アドレスおよび前記割り当てられたブロックは、両方が単層セル（ＳＬＣ）フラッシュメモリである、若しくは両方が多層セル（ＭＬＣ）フラッシュメモリである請求項６乃至８のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフラッシュメモリを用いるポータブルデータストレージデバイスに関する。
【背景技術】
【０００２】
近年、内部フラッシュメモリを有するポータブルデータストレージデバイスを設けることが一般的なことになってきている。そのようなデバイスは、発明の名称が「ポータブルデータストレージデバイス」という国際出願PCT/SG00/00029に開示されている。そこには、コンピュータ（又は他のデバイス）のＵＳＢソケットに差し込まれる一体型のＵＳＢプラグを有するポータブルデータストレージデバイスが記載されている。ポータブルデータストレージデバイスはユーザのデータを格納するためのフラッシュメモリを備えている。市販されているデバイスのメモリサイズは、一般的には少なくとも８ＭＢであり、場合によってはそれより大きいものが用いられている。デバイスの全体のサイズは一般的には握り拳に入るような十分に小さな大きさである。
【０００３】
一般的に、市販されているデバイスは、ＮＡＮＤフラッシュメモリを用いている。ＮＡＮＤフラッシュメモリは、単層セル（「ＳＬＣ」）フラッシュメモリおよび多層セル（「ＭＬＣ」）フラッシュメモリ、の２つの型式が入手可能である。ＳＬＣは、現在、高い読み／書き速度および長い寿命を有しているが、ＭＬＣはセル当たり１ビット以上（一般的には２ビット）の記憶が可能に製造されており、ＳＬＣより格納されたビット当たりの価格は安いものである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、複数のフラッシュメモリデバイスを内蔵するポータブルデータストレージデバイスからデータを記憶し、取り込むための新規で有用な方法を提供することを目的とするものであり、特にフラッシュメモリデバイスがＳＬＣおよびＭＬＣのフラッシュメモリデバイスの両方を備えることを提案するものである。
【０００５】
これは、ＳＬＣおよびＭＬＣの相対的に有利な点の間を交替するデバイスを提供することを可能とするものである。例えば、デバイスの実質的に半分のメモリがＳＬＣにより提供され、そこでそのデバイスはＳＬＣとＭＬＣのものとの間の略中間スピードを有しているが、デバイスはＭＬＣ単独で使用されていた場合より安くなる。
【０００６】
基本的には、最初にＳＬＣだけを用いるように、（例えば、デバイスがＳＬＣの容量を超えて記憶しなければならないデータの量まで）ポータブルデータストレージデバイスを構成することは可能であろう、それはポータブルデータストレージデバイスの性能が、全データ記憶の機能が最初にＳＬＣを使用して達成した場合と同じくらい高いことを意味している。しかしながら、これは、ＳＬＣが使い果たされると同時に性能が急激に落ち込み、デバイスはＭＬＣの使用を始めなければならない。したがって、本発明の好適な実施例は、ＳＬＣおよびＭＬＣの両方を初めから使用してデータを記憶するものである。
【課題を解決するための手段】
【０００７】
本発明の１つの形態において、論理アドレスのシーケンスがＳＬＣアドレスの１つ以上のブロックに対応し、その次にはＭＬＣアドレスの１つ以上のブロックに対応し、その次にはＳＬＣアドレスの１つ以上のブロック等に対応するように、論理アドレス（即ち、ホストによりポータブルデータストレージデバイスに送られたコマンドのアドレス）は、割り当てられる。したがって、大きな量のデータ（多くのブロック）がポータブルストレージデバイスにおける論理アドレスのシーケンスに書き込まれるとき、ＳＬＣメモリおよびＭＬＣメモリの両方に書き込まれる。論理アドレスのシーケンスは、特に、ＳＬＣアドレスのブロックの既定の数およびＭＬＣアドレスのブロックの既定の数に交互に対応してもよい。
【０００８】
例えば、ＭＬＣメモリの実現された幾つかにおいては、ＭＬＣブロックがＳＬＣメモリのブロックの２倍の大きさであるので、論理アドレスのシーケンスは、ＳＬＣの２つのブロックに対応し、その次にはＭＬＣの１つのブロックに対応し、その次にはＳＬＣの２つのブロック等に対応してもよい。これは、一般的には、大きな量のデータがＳＬＣおよびＭＬＣメモリの同じ量に書き込まれていくことを意味する。
【０００９】
論理および物理メモリアドレスの間の対応関係は、マッピングテーブルにより与えられる。一般的なフラッシュメモリ書き込み方式において、物理アドレスのブロックの各々の連続性は、マスターコントロールユニットの制御下における論理アドレスの各セットに対応するようになるので、この対応関係は時間と共に変化する。しかしながら、論理アドレスの所定のセットがいつもＳＬＣメモリのブロックと対応付けられるように、またはいつもＭＬＣメモリのブロックと対応付けられるように、マッピングテーブルが変化することを保証するように構成してもよい。
【発明を実施するための最良の形態】
【００１０】
本発明の一実施例であるポータブルデータストレージデバイスは、図１に模式的に示されている。ポータブルデータストレージデバイスは、ＵＳＢインターフェース３を有する筐体１を含む。ＵＳＢインターフェースは、外部デバイス、例えばホストコンピュータ５のシリアルバス（代表的にはＵＳＢソケット）に電気的に接続されていてもよい。ＵＳＢインターフェース３は、筐体１と一体化されており、ホスト５のソケットに挿入するＵＳＢプラグでもよい。その代わりに、他の実施例においては、ＵＳＢインターフェース３は、ＵＳＢケーブルのプラグが差し込まれるソケットでもよい。
【００１１】
さらに、ポータブルデータストレージデバイスは、ＵＳＢインターフェース３を制御するＵＳＢコントローラ７を含む。使用中において、ホスト５は、それ自身とポータブルデータストレージデバイスとの間でデータを相互に伝送する。ホストコンピュータ５からＵＳＢインターフェース３へ伝送されたデータは、ＵＳＢコントローラ７を介してデータパケットの形式でマスターコントロールユニット９に送られる。同様に、インターフェースコントローラ７は、マスターコントロールユニット９から受け取ったデータをインターフェース３を介して送るように構成されている。
【００１２】
マスターコントロールユニット９は、例えば８ビットバスであるバス１０に接続されている。バス１０は、さらに、ＳＬＣ型ＮＡＮＤフラッシュメモリ１１およびＭＬＣ型ＮＡＮＤフラッシュメモリ１３に接続されている。これらの２つのメモリのそれぞれは、１つ以上の物理的に分割された集積回路を含んでもよい。メモリ１１，１３は、ページのブロックで構成されている。代表的には、データの物理的なページは２０４８バイトで構成されている。代表的には、ＳＬＣメモリユニット１１におけるデータのブロックは、６４ページで構成され、ＭＬＣフラッシュメモリユニットにおけるデータのブロックは、１２８ページで構成されている。
【００１３】
更に、マスターコントロールユニット９は、コントロールライン１５の各セットにより、フラッシュメモリ１１，１３のそれぞれに接続されている。コントロールラインの各セットは、ＥＮＡＢＬＥ、ＡＬＥ、ＷＲＩＴＥおよびＲＥＡＤ信号という制御信号を伝送する。
【００１４】
マスターコントロールユニット９がメモリにデータを書き込むことを実行するとき、２つのメモリ１１，１３の１つにＥＮＡＢＬＥ信号を送ることにより、そのメモリが動作可能な状態となる（したがって、２つのメモリ１１，１３のうちの１つは、１度は動作可能な状態となる。）。同時に、マスターコントロールユニット９は、動作可能なメモリにＡＬＥ信号およびＷＲＩＴＥ信号を送る。そこで、マスターコントロールユニット９は、アドレスデータ及び記憶されるべきデータを動作可能なメモリに８ビットバスを介して書き込む。動作可能なメモリユニット１１，１３は、アドレスデータにより示された位置にデータを記憶する。動作可能でないメモリユニット１１，１３は動作しない。
【００１５】
同様に、メモリコントロールユニットがメモリ１１，１３の１つからデータを読むことを実行するとき、メモリコントロールユニットはそのメモリにＥＮＡＢＬＥ信号を送るためにコントロールラインの１つを使用して、そのメモリ１１，１３を動作可能とする。そこで、メモリコントロールユニットは、他のコントロールラインを使用して動作可能なメモリにＡＬＥ信号およびＲＥＡＤ信号を送り、そして８ビットバスを使用して動作可能なメモリにアドレスデータを送る。動作可能なメモリ１１，１３は、アドレスデータに対応する物理的な位置にデータをバス１０により伝送する。
【００１６】
本実施例により実行されるアルゴリズムを以下に説明する。説明を簡単にするために、ＳＬＣ型ＮＡＮＤフラッシュメモリユニット１１およびＭＬＣ型ＮＡＮＤフラッシュメモリユニット１３は、それぞれが異なるアドレスマッピングテーブルを有しており、このアドレスマッピングテーブルは論理アドレスに対する各メモリ１１，１３内の物理アドレスをそれぞれにマッピングする。これらのアドレスマッピングテーブルは、一般的にはポータブルデータストレージデバイス内のＲＡＭ（図示無し）に記憶されており、これらをあわせて単一のマスターマッピングテーブルが構成されている。
【００１７】
代表的な例において、ホスト３から受け取った、またはホスト３に伝送されたデータは、５１２バイトのサイズの論理ページに構成されている。しかしながら、前述のように、一般的には、データの物理的ページは２０４８バイトで構成されている。一般的に、ＳＬＣメモリユニット１１におけるデータのブロックは６４ページで構成されており、ＭＬＣフラッシュメモリユニットのデータのブロックは１２８ページで構成されている。
【００１８】
図２を参照すると、特に図２Ａを参照すると、ポータブルデータストレージデバイスがホスト３にプラグが差し込まれたとき、初期プロセスが開始し（ステップ２１）、マスターコントロールユニット９およびＵＳＢコントローラユニット７を初期化し、ホスト３がフラッシュのＩＤおよび、その位置と容量を判定する。
【００１９】
初期プロセスの後、マスターコントロールユニット９はホスト３からの指令（データパケット）を受け取る準備を行う（ステップ２３）。一度、ホスト３からの指令を受け取ると、マスターコントロールユニット９は受け取ったパケットが読み込みパケットか書き込みパケットかを判定する（ステップ２５）。
【００２０】
もしデータパケットが読み込みパケットであれば、マスターコントロールユニット９は、論理アドレスに対応するメモリ１１，１３がいずれであるかを、そのパケットにより特定された論理アドレスに基づき算出する（ステップ２６）。そこで、それぞれのアドレスマッピングテーブルにより特定されたアドレスで判定されたメモリ１１，１３からのデータが読み込まれ（ステップ２７）、そして次のパケットが受け取られるまで、その方法は終了となる（これは、ステップ２３に戻るボックス「５」として図２に示されている。）。
【００２１】
一方、もしデータパケットが書き込みパケットであれば、マスターコントロールユニット９は、ページ１を書き込むべきいずれかのメモリ１１，１３を算出する（ステップ２８）。
【００２２】
ＮＡＮＤフラッシュメモリ１１，１３の型式が選択された後、マスターコントロールユニット９は、ＲＡＭから対応するアドレスマッピングテーブルをリコールし（ステップ２９）、それを論理アドレスに対応する物理アドレスを検出するために使用する。
【００２３】
その次に、マスターコントロールユニットは物理アドレスのページが消去されたか否かを判定する（ステップ３０）。もし消去されていなければ、マスターコントロールユニットは、新しいブロックを選択し、論理アドレスに対応するページの直前の古いブロックのページを新しいブロックにコピーする、そして書き込みパケットにおけるデータを論理アドレスに対応する新しいブロックのページに書き込む動作を実行する（ステップ３１）。
【００２４】
この方法は、次に、図２Ｃに示されたフロー図の部分に行く。ステップ３６において、丁度書き込まれたページが新しいブロックの最後のページであるか否かを判定する。もしそうであれば、メモリマッピングアドレステーブルは、更新され、古いブロックは消去され（ステップ３７）、そしてこの方法は終了する。反対に、ステップ３６において判定が否定的であれば、この方法は、連続的に続くページに関して他の書き込みパケットが所定時間内に到着しているか否かをモニターする（ステップ３８）。もし到着していれば、そのページのためのデータが同じ新しいブロックに書き込まれ（ステップ３９）、そしてその次にこの方法はステップ３６に戻る。逆に、もし、到着していなければ、ステップ４０において、マスターコントロールユニット９は古いブロックの連続するページを新しいブロックにコピーし、その次にステップ３７へ行き、マッピングテーブルを更新し、古いブロックを消去する。そこで、この方法は再び終了する。
【００２５】
図２Ａを参照すると、ステップ３０において、判定が肯定的であれば、書き込み動作は、フラッシュのどの型式が書き込まれているかによって決まるＳＬＣまたはＭＬＣコマンドを使用して実行される（ステップ３２）。この動作において、マスターコントロールユニット９は、書き込み動作の準備のため、ＮＡＮＤフラッシュメモリ１１，１３をチップイネーブルにするように、選択されたＮＡＮＤフラッシュメモリ１１，１３にＥＮＡＢＬＥ制御信号を送る。その次に、マスターコントロールユニット９は、ＮＡＮＤフラッシュメモリ１１，１３における物理アドレスを特定するデータ、およびそこに書き込まれるデータを送る。
【００２６】
ページがフラッシュメモリ１１，１３に書き込まれた後においては、マスターコントロールユニット９がホスト５から入ってくる書き込みパケットをモニターする（ステップ３３）。もし書き込みパケットを定められた時間内に受信しなかった場合には、書き込まれたデータをそのフラッシュにプログラミングするステップが実行される（ステップ３４）。（書き込みステップ３２は、データがフラッシュメモリの中にあることを意味しているが、もし電源が遮断された場合、プログラミングステップ３４無しではそのデータが失われるであろう。以下のプログラミングステップ３４では、そのデータが電源遮断されても保持されるであろう。）
【００２７】
しかしながら、もしステップ３３で新しいパケットを受け取ったと判定したとき、この方法は図２Ｂに示されたフロー図の部分に行く。ステップ４５において、新しいパケットが書き込みパケットか否かが判定される。もし書き込みパケットでなければ、この方法はステップ３４に戻る。反対に、もし書き込みパケットであるなら、この方法は、ステップ３２において実行された書き込み動作が物理ページの最後の部分か否かが判定される（ステップ４６）。もしそうであるなら、ステップ４７において新しいページが選択される。
【００２８】
如何なる場合においても、新しい書き込みパケットのための対応する物理アドレスは、ステップ４８において、適切なアドレスマッピングテーブルから判定される。ステップ４９において、この物理アドレスを有するページが消去されたか否かが判定される。もし消去されていなければ、ステップ５１は、図２Ａのステップ３１と同等のことを実行し、そこでこの方法は図２Ｃのステップに行く。若しくは、もしそうならば、書き込み動作（ステップ５０）が実行され（図２Ａのステップ３２と同等）、そしてこの方法はステップ３３に戻る。
【００２９】
前述のように、マスターマッピングテーブル（即ち、２つのアドレスマッピングテーブル）は、論理アドレスと物理アドレスとの間のマッピングを判定する。上記のように、ＳＬＣメモリ１１の大きなブロックは、代表的には６４ページ有しており、一方、ＭＬＣメモリ１３の大きなブロックは１２８ページ有している。この場合において、マスターマッピングテーブルは、論理アドレスのシーケンスがＳＬＣメモリ１１の２つのブロックに対応し、その次にＭＬＣメモリ１３の１つのブロックに対応し、その次にＳＬＣメモリ１１の２つのブロック等に対応するようになっている。したがって、もしデータが連続的な論理アドレスに書き込まれた場合、マスターコントロールユニット９はＳＬＣフラッシュメモリ１１を動作可能な状態とし、そのメモリ１１にデータの１つのブロックを送り、そしてその次にマスターコントロールユニット９はＭＬＣフラッシュメモリユニット１３を動作可能な状態とし、そのメモリユニット１３にデータの２つのブロックを送る。このプロセスは、データの所望のブロックの全てが各フラッシュメモリユニットに送られるまで繰り返される。
【００３０】
ｉ  もしデータがＳＬＣフラッシュメモリ１１に書き込まれるものであるなら、マスターコントロールユニット９はＭＬＣメモリ１３に切り換える前にＳＬＣメモリ１１に２つのブロックを書き込む。
ｉｉ  もしデータがＭＬＣフラッシュメモリ１３に書き込まれるものであるなら、マスターコントロールユニット９は１つのブロックだけを書き込む。丁度書き込まれたページがブロックの最後のページであると判定されたとき、マスターコントロールユニット９は次の書き込み動作のために、ＳＬＣフラッシュメモリ１１を動作可能な状態とする。
【００３１】
ステップ３１および５１において、新しい物理ブロックが論理アドレスのセットと関連しているとき、もし論理アドレスの所定のセットがＳＬＣメモリに予め対応していたならば、真実であるとしてこれを続け、そして、もし論理アドレスの所定のセットがＭＬＣメモリに予め対応していたならば、真実であるとしてこれを続ける。言い換えれば、各アドレスマッピングテーブルは、論理アドレスがそれらの間で取り替えられることなく独立して更新される。
【００３２】
本発明のただ１つの実施例を詳細に述べたが、当業者には明確であるように、多くの変形例が請求の範囲の範囲内で可能である。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施例の概略ブロック図である。
【図２Ａ】図１の実施例の動作のフロー図であり、図２は図２Ａ、図２Ｂおよび図２Ｃで構成される。
【図２Ｂ】図１の実施例の動作のフロー図であり、図２は図２Ａ、図２Ｂおよび図２Ｃで構成される。
【図２Ｃ】図１の実施例の動作のフロー図であり、図２は図２Ａ、図２Ｂおよび図２Ｃで構成される。
【図１】
2009524145.tif 000003
【図２Ａ】
2009524145.tif 000004
【図２Ｂ】
2009524145.tif 000005
【図２Ｃ】
2009524145.tif 000006
【手続補正書】
【提出日】平成21年2月10日(2009.2.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（ａ）ホストコンピュータとデータ伝送を行うために使用されるポータブルデータストレージデバイスを動作可能とするためのインターフェース、
（ｂ）前記インターフェースを制御するためのインターフェースコントローラ、
（ｃ）少なくとも１つの単層セル（ＳＬＣ）フラッシュメモリと少なくとも１つの多層セル（ＭＬＣ）フラッシュメモリを備える不揮発性メモリ、および
（ｄ）前記不揮発性メモリにデータへの書き込み、および前記不揮発性メモリからのデータの読み込みを制御するためのマスターコントローラ、を有するポータブルデータストレージデバイスであって、
前記マスターコントローラは、
前記インターフェースが前記ホストから書き込み指令を受け取ったとき、前記フラッシュメモリの中から１つのフラッシュメモリを識別するように、そして識別されたフラッシュメモリに書き込み指令により特定されたデータを書き込むように、および
前記インターフェースが前記ホストから読み込み指令を受け取ったとき、前記フラッシュメモリの中から１つのフラッシュメモリを識別するように、そして識別されたフラッシュメモリからのデータを読み込むように、構成されており、
前記マスターコントローラは、さらに、前記指令に含まれた論理アドレスに基づいて、およびマッピングテーブルを使用して前記フラッシュメモリを識別するように構成されており、前記マッピングテーブルは、物理アドレスと論理アドレスとの間のマッピングを記憶するように構成されており、前記マッピングテーブルにおいて、論理アドレスのシーケンスがＳＬＣアドレスのブロックの所定の数、およびＭＬＣアドレスのブロックの所定の数と交互に対応するよう構成されているポータブルデータストレージデバイス。
【請求項２】
前記単層セルフラッシュメモリのブロックの所定の数は、前記多層セルフラッシュメモリのブロックの所定の数より高い請求項１に記載のデバイス。
【請求項３】
前記単層セルフラッシュメモリのブロックの所定の数が２であり、前記多層セルフラッシュメモリのブロックの所定の数が１である請求項２に記載のデバイス。
【請求項４】
（ａ）ホストコンピュータとデータ伝送を行うために使用されるポータブルデータストレージデバイスを動作可能とするためのインターフェース、
（ｂ）前記インターフェースを制御するためのインターフェースコントローラ、
（ｃ）少なくとも１つの単層セル（ＳＬＣ）フラッシュメモリと少なくとも１つの多層セル（ＭＬＣ）フラッシュメモリを備える不揮発性メモリ、および
（ｄ）前記不揮発性メモリにデータへの書き込み、および前記不揮発性メモリからのデータの読み込みを制御するためのマスターコントローラ、を有するポータブルデータストレージデバイスにおけるデータ格納方法であって、
前記方法は、
（ｉ）前記ホストからの書き込み指令を受け取ること、
（ｉｉ）前記フラッシュメモリの中から１つのフラッシュメモリを識別すること、
（ｉｉｉ）前記識別されたフラッシュメモリに書き込み指令により特定されたデータを書き込むこと、を有し、
前記フラッシュメモリを識別する前記ステップ（ｉｉ）は、前記書き込み指令から１つの論理アドレスを抽出すること、およびマッピングテーブルから前記不揮発性メモリにおける物理アドレスを取得することを含み、前記マッピングテーブルは、物理アドレスと論理アドレスとの間のマッピングを記憶し、前記マッピングテーブルにおいて、論理アドレスのシーケンスがＳＬＣアドレスのブロックの所定の数、およびＭＬＣアドレスのブロックの所定の数と交互に対応する、データ格納方法。
【請求項５】
前記単層セルフラッシュメモリのブロックの所定の数は、前記多層セルフラッシュメモリのブロックの所定の数より高い請求項４に記載の方法。
【請求項６】
前記単層セルフラッシュメモリのブロックの予め定められた数が２であり、前記多層セルフラッシュメモリのブロックの予め定められた数が１である請求項５に記載の方法。
【請求項７】
データを書き込む前記ステップ（ｉｉｉ）は、
取得された物理アドレスを有する不揮発性メモリが消去されたか否かを判定すること、
前記判定が肯定的であれば、取得された物理アドレスに前記データを書き込むこと、および
前記判定が否定的であれば、前記論理アドレスに新しいブロックを割り当てること、を含み、
前記取得された物理アドレスおよび前記割り当てられたブロックは、両方が単層セル（ＳＬＣ）フラッシュメモリである、若しくは両方が多層セル（ＭＬＣ）フラッシュメモリである請求項４乃至６のいずれか一項に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
代表的な例において、ホスト５から受け取った、またはホスト５に伝送されたデータは、５１２バイトのサイズの論理ページに構成されている。しかしながら、前述のように、一般的には、データの物理的ページは２０４８バイトで構成されている。一般的に、ＳＬＣメモリユニット１１におけるデータのブロックは６４ページで構成されており、ＭＬＣフラッシュメモリユニットのデータのブロックは１２８ページで構成されている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
図２を参照すると、特に図２Ａを参照すると、ポータブルデータストレージデバイスがホスト５にプラグが差し込まれたとき、初期プロセスが開始し（ステップ２１）、マスターコントロールユニット９およびＵＳＢコントローラユニット７を初期化し、ホスト５がフラッシュのＩＤおよび、その位置と容量を判定する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
初期プロセスの後、マスターコントロールユニット９はホスト５からの指令（データパケット）を受け取る準備を行う（ステップ２３）。一度、ホスト５からの指令を受け取ると、マスターコントロールユニット９は受け取ったパケットが読み込みパケットか書き込みパケットかを判定する（ステップ２５）。
【国際調査報告】
2009524145.tif 000007
2009524145.tif 000008
2009524145.tif 000009