(57)【要約】  ホストからクラスタでデータを受信し、データをページの単位でメモリアレイに書き込む不揮発性メモリシステム内のクラスタ対ページの位置合わせを提供する。位置合わせは、データの論理−物理マッピングにオフセットを用いて各ブロック内で実施される。異なるブロックは異なるオフセットを有することができる。ホストが、異なるクラスタ境界位置を有するデータを送信すると、このデータが位置合わせを維持するように異なるオフセットでデータを書き込むことができる。
2008524703.tif 000002
【特許請求の範囲】
【請求項１】
ホストに接続された不揮発性メモリアレイ内にアドレス可能なデータパケットを記憶する方法であって、前記メモリアレイはブロックの消去単位を有し、前記メモリアレイの１つのブロックはデータの１つの論理ブロックを保持し、アドレス可能なデータパケットから形成された論理ブロックは最初のアドレス可能なデータパケットから最後のアドレス可能なデータパケットに逐次続き、データはクラスタの単位で前記ホストによって割り当てられ、クラスタは複数のアドレス可能なデータパケットを含む、方法において、
ブロック内に記憶するためにホストから受信されたデータに対して論理ブロック境界とクラスタ境界との間のオフセットを決定するステップと、
個々のクラスタ境界がページ境界に位置合わせされるように前記オフセットに従って、前記受信されたデータの複数のクラスタを書き込むように前記ブロック内の物理位置を選択するステップと、
前記最初のアドレス可能なデータパケットを含む最初の部分的クラスタと、前記最後のアドレス可能なデータパケットを含む最後の部分的クラスタとを前記ブロックのページに書き込むステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記最初の部分的クラスタおよび前記最後の部分的クラスタは、前記ブロックの最後のページに書き込まれる方法。
【請求項３】
請求項２記載の方法において、
前記ブロックの前記最後のページに書き込む前に、前記最初の部分的クラスタは、メタブロック外に記憶される方法。
【請求項４】
請求項１記載の方法において、
前記最初の部分的クラスタおよび前記最後の部分的クラスタは、前記ブロックの最初のページに書き込まれる方法。
【請求項５】
請求項４記載の方法において、
前記最初の部分的クラスタが前記ブロックの前記最初のページに直接記憶され、続いて、前記最後の部分的クラスタも前記ブロックの前記最初のページに記憶される方法。
【請求項６】
請求項１記載の方法において、
前記ブロックが複数のページから成り、前記ブロックの全ページが、前記最初の部分的クラスタおよび前記最後の部分的クラスタを含む前記ページを除いて、ページ境界にあるクラスタ境界で記憶されたクラスタを含む方法。
【請求項７】
ホストから受信されたデータのクラスタを記憶する方法であって、クラスタは、ホストによって同時に割り当てられた複数のアドレス可能なデータ単位を含み、ページのプログラミング単位とブロックの消去単位とを有する不揮発性メモリアレイにおいてブロックは複数のページを含む、方法において、
データの複数のクラスタをホストから受信するステップと、
クラスタ境界の位置にかかわらず、前記複数のクラスタを前記メモリアレイのブロックにマッピングするステップと、
クラスタ境界とマッピングされたブロック境界との間のオフセットを導き出すステップと、
前記ブロック内のページのブロックにマッピングされたクラスタおよびクラスタの一部を、前記導き出されたオフセットに従って記憶し、これによって、ブロックへのクラスタの前記マッピングを変更することなしにクラスタ間の境界がページ境界に生じるようにするステップと、
を含む方法。
【請求項８】
請求項７記載の方法において、
前記ブロックにマッピングされた前記クラスタの一部が第１のクラスタの第１部分と第２のクラスタの第２部分とであり、前記第１部分および前記第２部分が前記ブロックのページ内に同時に記憶される方法。
【請求項９】
請求項８記載の方法において、
前記ブロックにマッピングされた前記クラスタおよび前記クラスタの一部が、最初の論理アドレスから最後の論理アドレスまで伸びる逐次データであり、前記第１部分が前記最初の論理アドレスを含み、前記第２部分が前記最後の論理アドレスを含む方法。
【請求項１０】
請求項７記載の方法において、
前記ブロックに対する前記オフセットを指示する値が記録される方法。
【請求項１１】
事前に定義されたクラスタ境界を含むデータを不揮発性メモリアレイのメタブロック内に記憶する方法であって、メタブロックは、並行してプログラムされ消去される２つ以上の消去ブロックを含み、消去ブロックは、前記不揮発性メモリアレイの消去の最小単位であり、論理ブロックは、１つのメタブロック内の前記データに等しいデータから成り、論理群は、１つの消去ブロック内の前記データに等しいデータから成る、方法において、
不揮発性メモリに記憶するために、複数の逐次アドレス可能なデータパケットから成るデータを受信するステップと、
最初のクラスタから第１の１つ以上のアドレス可能なデータパケットを第１の位置に記憶するステップであって、前記最初のクラスタが、第１の論理群から前記第１の１つ以上のアドレス可能なデータパケットを含み、しかも、第２の論理群から第２の１つ以上のアドレス可能なデータパケットを含む、ステップと、
ページ境界がクラスタ境界で生じるように、後に続く逐次アドレス可能なデータパケットを第１のメタブロックのページに記憶するステップと、
最後のクラスタから第３の１つ以上のアドレス可能なデータパケットを前記第１の１つ以上のアドレス可能なデータパケットと一緒に前記メタブロックのページに記憶するステップであって、前記最後のクラスタが、前記第１の論理群から前記第３の１つ以上のアドレス可能なデータパケットを含み、しかも、第３の論理群から第４の１つ以上のアドレス可能なデータパケットを含む、ステップと、
を含む方法。
【請求項１２】
請求項１１記載の方法において、
前記第１の位置は、第２のメタブロック内にある方法。
【請求項１３】
請求項１１記載の方法において、
前記第１の位置が前記メタブロックの前記ページであり、前記第１の１つ以上のアドレス可能なデータパケットを前記メタブロックの前記ページに書き込んだ後、前記第３の１つ以上のアドレス可能なデータパケットが前記メタブロックの前記ページに書き込まれる方法。
【請求項１４】
請求項１１記載の方法において、
前記第１の論理群の前記データが前記第２の論理群の前記データに対して逐次的であり、前記第３の論理群の前記データが前記第１の論理群の前記データに対して逐次的である方法。
【請求項１５】
請求項１１記載の方法において、
前記第１、第２および第３の論理群は、前記第１のメタブロックに記憶された論理ブロック内にある方法。
【請求項１６】
ホストによって送信されたアドレス可能なデータパケットを不揮発性記憶媒体に記憶するメモリシステムにおいて、
アドレス可能なデータパケットをホストから受信するコントローラであって、アドレス可能なデータパケットが、前記ホストによってファイルに割り当てられたクラスタを形成し、クラスタが複数のアドレス可能なデータパケットを含み、逐次アドレス可能なデータパケットの範囲を、クラスタ位置にかかわらず前記コントローラによって論理単位にマッピングする、コントローラと、
前記コントローラと通信する不揮発性メモリアレイであって、前記不揮発性メモリアレイが複数の消去ブロックを有し、消去ブロックが前記メモリアレイの消去の最小単位であり、１つ以上の消去ブロックが、前記論理単位を記憶するために割り当てられ、前記１つ以上の消去ブロックが同時にプログラム可能でかつ消去可能であり、前記１つ以上の消去ブロックが、アドレス可能なデータパケットを記憶するための物理位置を含み、アドレス可能なデータパケットの前記範囲の個々のアドレス可能なデータパケットを記憶するための前記物理位置が、前記論理単位にマッピングされたアドレス可能なデータパケットの前記範囲を変更することなしに前記論理単位内のクラスタにクラスタ対ページの位置合わせを提供するように選択されている、不揮発性メモリアレイと、
を備えるメモリシステム。
【請求項１７】
請求項１６記載のメモリシステムにおいて、
前記論理単位内に一部を含み、前記論理単位外に一部を含むクラスタが、クラスタ対ページの位置合わせなしに前記論理単位内の前記一部を前記論理単位のページ内に同時に記憶させるメモリシステム。
【請求項１８】
請求項１７記載のメモリシステムにおいて、
クラスタの大きさがページの大きさに等しく、前記論理単位内の前記一部が、前記１つ以上の消去ブロックの完全なページを占有するメモリシステム。
【請求項１９】
請求項１６記載のメモリシステムにおいて、
前記１つ以上の消去ブロックが２つ以上の消去ブロックのメタブロックから成り、前記論理単位が論理ブロックであるメモリシステム。
【請求項２０】
請求項１６記載のメモリシステムにおいて、
前記１つ以上の消去ブロックが１つの消去ブロックから成り、前記論理単位が論理群であるメモリシステム。
【請求項２１】
請求項１６記載のメモリシステムにおいて、
前記メモリシステムは、ホストに取り外し可能に接続されたメモリカード内にカプセル化されているメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、不揮発性メモリシステムの動作に関し、特に、このようなメモリシステム内のデータの処理に関する。
【背景技術】
【０００２】
今日、商業的に成功している数多くの不揮発性メモリ製品は、特に、１つ以上の集積回路チップ上に形成されたフラッシュＥＥＰＲＯＭ（電気的に消去可能でプログラム可能な読み出し専用メモリ）セルのアレイを用いる小形形状のファクタカードの形態で用いられている。通常、別個の集積回路チップ上に形成されているが必ずしもそうとは限らないメモリコントローラは、カードが取り外し可能に接続されているホストとインターフェイスをとり、カード内のメモリアレイの動作を制御する。一般的に、このようなコントローラは、マイクロプロセッサ、何らかの不揮発性読み出し専用メモリ（ＲＯＭ）、揮発性ランダムアクセスメモリ（ＲＡＭ）、およびデータのプログラミングおよび読み出し中にデータがコントローラを通過するとデータから誤り訂正符号（ＥＣＣ）を計算する回路のような１つ以上の特殊回路を含む。市販のカードの一部は、コンパクトフラッシュ（登録商標）（ＣＦ）カード、マルチメディアカード（ＭＭＣ）、セキュアデジタル（ＳＤ）カード、パーソナルタグ（Ｐ‐Ｔａｇ）およびメモリスティックカードである。ホストは、パーソナルコンピュータ、ノートブック形コンピュータ、個人用携帯情報端末（ＰＤＡ）、様々なデータ通信装置、デジタルカメラ、携帯電話、携帯オーディオプレーヤ、自動車サウンドシステムおよび類似の機器を含む。幾つかのシステムでは、取り外し可能なカードはコントローラを含まず、ホストが、カード内のメモリアレイの動作を制御する。この種のメモリシステムの例として、スマートメディアカードおよびｘＤカードが挙げられる。従って、カード内のコントローラのソフトウェアまたはホスト内の制御ソフトウェアによってメモリアレイの制御を達成することができる。メモリカードの実施例以外に、この種のメモリを様々な種類のホストシステム内に埋め込むこともできる。取り外し可能な用途および埋め込み用途の双方では、メモリ制御ソフトウェアによって実装された記憶方式に従ってホストデータをメモリアレイ内に記憶することができる。
【０００３】
商業用途で見られる２つの汎用メモリセルアレイ構造は、ＮＯＲおよびＮＡＮＤである。一般的なＮＯＲアレイでは、メモリセルは、列方向に延在する隣接のビット線のソース拡散領域とドレイン拡散領域との間に接続され、セルの行に沿って延在するワード線にはコントロールゲートが接続されている。メモリセルは、ソースとドレインとの間のセルチャネル領域の少なくとも一部分にわたって位置付けられた少なくとも１つの記憶素子を含む。従って、記憶素子上の電荷のプログラムレベルはセルの動作特性を制御し、アドレス指定されたメモリセルに適切な電圧を印加することによってセルを読み出すことができる。このようなセル、メモリシステムでの使用および製造方法の例が、米国特許第５，０７０，０３２号（特許文献１）、第５，０９５，３４４号（特許文献２）、第５，３１３，４２１号（特許文献３）、第５，３１５，５４１号（特許文献４）、第５，３４３，０６３号（特許文献５）、第５，６６１，０５３号（特許文献６）および第６，２２２，７６２号（特許文献７）に示されている。
【０００４】
ＮＡＮＤアレイは、セルの列を形成するため、個々のビット線と基準電位との間の１つ以上の選択トランジスタと一緒に接続された１６または３２のような３つ以上のメモリセルの直列ストリングを用いる。ワード線は、多数のこれら列内のセルにまたがって延在する。ストリングに流れる電流が、アドレス指定されたセルに記憶された電荷のレベルに依存するようにストリング内の残りのセルを確実にオンに転換させることにより列内の個々のセルはプログラミング中に読み出され、ベリファイされる。ＮＡＮＤ構造アレイおよびメモリシステムの一部としての動作の例は、米国特許第５，５７０，３１５号（特許文献８）、第５，７７４，３９７号（特許文献９）、第６，０４６，９３５号（特許文献１０）および第６，５２２，５８０号（特許文献１１）で見られる。
【０００５】
前述した援用されている特許のような現在のフラッシュＥＥＰＲＯＭアレイの電荷記憶素子は、最も一般的には導電性フローティングゲートであり、導電的にドープされたポリシリコン材料から一般的に形成されている。フラッシュＥＥＰＲＯＭシステムで有用であるメモリセルの代替の種類は、導電性フローティングゲートの代わりに非導電性の誘電体材料を用いて、不揮発的に電荷を記憶する。酸化シリコン、窒化シリコンおよび酸化シリコン（ＯＮＯ）から形成された３層誘電体は、メモリセルチャネル上の半導体基板の表面と導電性コントロールゲートとの間に挟まれている。セルは、セルチャネルから窒化物へ電子を注入し、窒化物で電子が捕捉され、限定領域内に記憶されることによってプログラムされ、ホットホールを窒化物へ注入することによって消去される。誘電性の記憶素子を用いる幾つかの特定のセル構造およびアレイが、ハラリらの米国公開特許出願第２００３／０１０９０９３号（特許文献１２）で説明されている。
【０００６】
個々のフラッシュＥＥＲＯＭセルは、１ビット以上のデータを表す電荷量を電荷記憶素子またはユニット内に記憶する。記憶素子の電荷レベルは、セルの記憶状態を読み出す基準として用いられるメモリセルの（一般にＶT と称される）しきい値電圧を制御する。一般に、しきい値電圧のウィンドウ（窓）は、メモリセルの２つ以上の記憶状態の各々にそれぞれ１つ対応する多数の範囲に分割されている。これら範囲は、個々のセルの記憶状態を決定させる公称感知レベルを含む保護帯域によって分離されている。これら記憶レベルは、隣接または他の関連するメモリセル、ページまたはブロックに実行される電荷による妨害プログラム動作、妨害読み出し動作または妨害消去動作の結果として変化する。従って、誤り訂正符号（ＥＣＣ）は一般的にコントローラによって計算され、プログラムされるホストデータと一緒に記憶され、読み出し中、データをベリファイし、必要に応じて、あるレベルのデータ訂正を実行するのに用いられる。また、許容範囲の中心になるように調整された電荷レベルでデータが再度書き込まれる新たな位置にデータを複写することによって、変化した電荷レベルを時々、それらの状態範囲の中心に戻し復元することができる。妨害動作が電荷レベルを所定範囲から大きく変化させ、従って、誤りデータを読み出させる前にこの復元を行うことができる。この処理は、データリフレッシュまたは消し込みと称され、米国特許第５，５３２，９６２号（特許文献１３）および第５，９０９，４４９号（特許文献１４）で説明されている。
【０００７】
大部分の集積回路用途でのように、ある集積回路機能を実装するのに必要とされるシリコン基板領域を縮小させるという圧力は、フラッシュＥＥＰＲＯＭメモリセルアレイの場合にも存在する。所定の大きさのメモリカードおよび他の種類のパッケージの記憶容量を増大させるため、シリコン基板の所定の領域に記憶することができるデジタルデータの量を増大させること、または、容量を増大させ、かつ大きさを減少させることが絶えず望まれている。データの記憶密度を増大させる１つの方法は、１メモリセル当たりおよび／または１記憶ユニットまたは素子当たり２ビット以上のデータを記憶することである。このことは、記憶素子の電荷レベル電圧範囲のウィンドウ（窓）を３つ以上の状態に分割することによって達成される。例えば、このような状態を４つ使用することによって、各セルが２ビットのデータを記憶することが可能となり、８つの状態が１記憶素子当たり３ビットのデータを記憶するなどである。フローティングゲートを用いる多状態のフラッシュＥＥＰＲＯＭ構造およびその動作は、米国特許第５，０４３，９４０号（特許文献１５）および第５，１７２，３３８号（特許文献１６）で説明され、誘電性のフローティングゲートを用いる構造については、前述した米国公開特許出願第２００３／０１０９０９３号（特許文献１２）で説明されている。また、米国特許第５，９３０，１６７号（特許文献１７）および第６，４５６，５２８号（特許文献１８）で説明されているように、多状態メモリセルアレイの選択された部分を、様々な理由で２つの状態（２値）で動作することもできる。
【０００８】
一般的なフラッシュＥＥＰＲＯＭアレイのメモリセルは、同時に消去されるセルの離散的なブロックに分割されている。すなわち、消去ブロックは消去単位であり、最小数のセルは同時に消去できる。一般的に、各消去ブロックはデータの２つ以上のページを記憶し、ページは、プログラミングおよび読み出しの最小単位である。しかし、１つ以上のページを、異なるサブアレイまたはプレーンに並行してプログラムまたは読み出すことができる。一般的に、各ページはデータの１つ以上のセクタを記憶し、セクタの大きさはホストシステムによって定義される。例示的なセクタは、磁気ディスクドライブによって確立された規格に従う５１２バイトのユーザデータと、ユーザデータおよび／またはそれらが記憶される消去ブロックに関する幾らかのバイト数のオーバーヘッド情報とを含む。一般的に、このようなメモリは、各消去ブロック内に１６，３２またはそれ以上のページを有し、各ページが１つまたはごくわずかのホストセクタのデータを記憶するように構成されている。
【０００９】
ユーザデータをメモリアレイ内にプログラムし、そこからユーザデータを読み出す間、並列性の度合いを増大させるため、一般的に、アレイは、プレーンと一般に称されるサブアレイに分割され、プレーンは、データのセクタを幾つかまたはすべてのプレーンの各々に同時にプログラムするかまたはそこから読み出しできるように並列動作を可能にするデータレジスタおよび他の回路を含む。単一集積回路上のアレイをプレーンに物理的に分割することができ、または分離した１つ以上の集積回路チップから各プレーンを形成することができる。このようなメモリの実施例が、米国特許第５，７９８，９６８号（特許文献１９）および第５，８９０，１９２号（特許文献２０）で説明されている。
【００１０】
幾つかのメモリシステムでは、物理メモリセルは２つ以上の区域に分類されている。区域を、物理メモリまたはメモリシステムの任意の区画されたサブセットとすることができ、これらサブセットには、指定された範囲の論理ブロックアドレスがマッピングされる。例えば、６４メガバイトのデータを記憶できるメモリシステムを４つの区域に区画することができ、１区域当たり１６メガバイトのデータを記憶する。次に、論理ブロックアドレスの範囲も４つの群に分割され、１つの群は、４つの各々の区域の消去ブロックに割り当てられる。一般的な実施例において、論理ブロックアドレスは制約されているので、論理ブロックアドレスがマッピングされた単一物理区域の外には各々のデータは決して書き込まれない。アドレス指定、プログラミングおよび読み出し回路を各々有するプレーン（サブアレイ）に分割されたメモリセルアレイでは、各区域は、複数のプレーンから消去ブロックを含むのが好ましく、一般的には、各プレーンから同数の消去ブロックを含む。主として、区域は、論理−物理変換のようなアドレス管理を単純にして、その結果、変換テーブルを小さくし、これらテーブルを保持するのに必要とされるＲＡＭメモリを小さくし、メモリの現在のアクティブな領域をアドレス指定するためのアクセス時間を速めるために用いられているが、制限された性質のため、結果として、最適な消耗平均化に満たないことがある。
【００１１】
メモリを更に効率良く管理するため、消去ブロックを結合して仮想ブロックまたはメタブロックを形成することができる。すなわち、各メタブロックは、各プレーンから１つの消去ブロックを含むように定義されている。メタブロックの使用は、米国特許第６，７６３，４２４号（特許文献２１）で説明されている。本願明細書で参照した他のすべての特許および特許出願と同様に、この特許もその全体が本願明細書において参照により援用されている。メタブロックは、データをプログラムし読み出す出力先としてホスト論理ブロックアドレスによって識別される。同様に、メタブロックの消去ブロックのすべては同時に消去される。このような大規模なブロックおよび／またはメタブロックで動作されるメモリシステム内のコントローラは、ホストから送信された論理ブロックアドレス（ＬＢＡ）と、メモリセルアレイ内の物理ブロック番号（ＰＢＮ）との間の変換を含む多くの機能を実行する。一般的に、ブロック内の個々のページは、ブロックアドレス内のオフセットによって識別される。アドレス変換は、論理ブロック番号（ＬＢＮ）および論理ページの中間の使用を含むことが多い。
【００１２】
メモリがホストに接続されている場合、異なるデータ構造がメモリシステムおよびホストによって用いられる結果として、ある非効率が生じることがある。一般的に、ホストシステムはクラスタとしてデータを管理し、クラスタは一定数のセクタを含む。一般的に、クラスタは、４セクタと６４セクタとの間のデータを含む。しかし、他の数のセクタも可能である。一般的に、ホストは、特定のファイルに対するデータの割り当てをクラスタごとに記録するファイルアロケーションテーブル（ＦＡＴ）を維持する。取り外し可能なメモリカードのメモリシステムのようなメモリシステムは一般的にデータの単位としてクラスタを用いない。一例では、データのクラスタはホストによってメモリカードに送信され、データのクラスタが不揮発性メモリに記憶された場合にメモリカードは信号を戻す。次に、ホストはデータの次のクラスタを送信する。一般的に、クラスタと、クラスタを記憶するのに用いられるページとの間に位置合わせは存在しない。これが意味することは、クラスタを単一ページに書き込むことができるとしても、クラスタがメモリの２つのページに延在するので単一クラスタのデータのプログラミングが２つの書き込み動作を必要とすることがあるということである。このことは、データをメモリにプログラムするのに必要とされる時間を増大させる。
【００１３】
この問題に関する１つの可能な解決策は、クラスタが最初のページから次のページに延在する場合、次のページに記憶すべきクラスタの部分をランダムアクセスメモリ（ＲＡＭ）のような揮発性メモリに記憶し、クラスタが書き込まれたことを示す信号をホストに戻すということである。次のクラスタが受信されると、ＲＡＭ内のデータを複写し、新たなクラスタの一部が全ページ書き込みの一部として次のページに書き込むことができる。次のクラスタの残りは前のようにＲＡＭに記憶される。しかし、幾つかの規格によれば、ＲＡＭへのこのようなデータの記憶は、メモリへの電源が失われた場合、このようなデータを損失する危険性があるために認められていない。
【００１４】
別の解決策は、クラスタ境界をページ境界と位置合わせする一定値によってセクタの物理−論理マッピングが変更されるようにオフセットを実施するということである。しかし、ホストシステムがクラスタ境界の位置を、例えば試験目的で変更する場合、データの位置合わせがずれ、メモリに記憶されたデータのすべてを移動する位置合わせが必要となる。通常、フォーマット設定処理は、ＦＡＴの複写数およびクラスタの大きさのように前のフォーマットパラメータを考慮に入れずに行われる。フォーマット設定中、クラスタとメモリページとの間の最終オフセットの直接制御が存在しない。その結果として、オフセットはフォーマット設定後に異なることがある。従って、この技術は幾つかの欠点を有する。
【００１５】
従って、データのホスト単位の境界がページ境界と位置合わせされるように、データの（クラスタのような）ホスト単位をメモリアレイのページに位置合わせする方法が必要である。また、電源が取り外された場合にホストデータが損失しないように保護するようにこの位置合わせを行う方法が必要である。また、この位置合わせを柔軟に行い、かつホストによって送信されたデータ内のクラスタ境界位置を変更可能にするように行う方法が必要である。
【特許文献１】米国特許第５，０７０，０３２号
【特許文献２】米国特許第５，０９５，３４４号
【特許文献３】米国特許第５，３１３，４２１号
【特許文献４】米国特許第５，３１５，５４１号
【特許文献５】米国特許第５，３４３，０６３号
【特許文献６】米国特許第５，６６１，０５３号
【特許文献７】米国特許第６，２２２，７６２号
【特許文献８】米国特許第５，５７０，３１５号
【特許文献９】米国特許第５，７７４，３９７号
【特許文献１０】米国特許第６，０４６，９３５号
【特許文献１１】米国特許第６，５２２，５８０号
【特許文献１２】米国公開特許出願第２００３／０１０９０９３号
【特許文献１３】米国特許第５，５３２，９６２号
【特許文献１４】米国特許第５，９０９，４４９号
【特許文献１５】米国特許第５，０４３，９４０号
【特許文献１６】米国特許第５，１７２，３３８号
【特許文献１７】米国特許第５，９３０，１６７号
【特許文献１８】米国特許第６，４５６，５２８号
【特許文献１９】米国特許第５，７９８，９６８号
【特許文献２０】米国特許第５，８９０，１９２号
【特許文献２１】米国特許第６，７６３，４２４号
【特許文献２２】米国特許出願第１０／７５０，１５５号
【特許文献２３】米国特許出願第１１／０１６，２８５号
【特許文献２４】米国特許出願第１０／８４１，１１８号
【発明の開示】
【００１６】
ホストデータのクラスタをメモリアレイのページに位置合わせする方法は、オフセットを用いてメモリアレイのブロックにデータを記憶する。オフセットを用いて、セクタは、それらがオフセットを用いなければ記憶されたであろう位置から移動されたメモリアレイ内の位置に記憶される。オフセットをブロックごとに実施することができる。従って、メモリアレイの特定のブロックにマッピングされた論理アドレス（論理ブロック）の範囲に変更がなく、オフセットは、データがブロック内に配置される方法のみに影響を及ぼす。従って、データの一部から他の部分までのオフセットに変更がある場合（例えば、試験目的でホストがクラスタ境界位置を変更する場合）、異なる部分を異なるオフセットで書き込むことができる。
【００１７】
通常、クラスタ境界は論理ブロック境界に位置合わせされていないので、通常、論理ブロックはクラスタ断片で開始および終了し、その中間に多数の完全なクラスタを含む。
【００１８】
一例として、論理ブロックの開始からのクラスタ断片は最初のページの最後に書き込まれる。次に、完全なクラスタが位置合わせされて次のページに書き込まれる。次に、論理群の最後からのクラスタ断片は最初のページに書き込まれ、従って、最初のページを充填する。代替例として、論理ブロックの開始からのクラスタ断片をブロックの最後のページに書き込むことができ、完全なクラスタを残りのページに書き込むことができ、次に、論理ブロックの最後からのクラスタ断片は最終ページに書き込まれる。しかし、前に書き込まれたデータを後の書き込み動作中に破損させる危険性があるため、幾つかのメモリ設計は、２回以上ページに書き込ませない。また、幾つかの設計は、非逐次にページを充填させない。
【００１９】
別の例では、論理ブロックの開始からのクラスタ断片は、スクラッチパッドブロック、またはクラスタ断片が記憶されることになっているブロックの外の他の位置に記憶される。次に、後に続く完全なクラスタは位置合わせされてブロックのページに記憶される。最終のクラスタ断片は、スクラッチパッドブロックから複写された論理ブロックの開始からのクラスタ断片と一緒にブロックの最終ページに書き込まれる。この方式によってページに逐次書き込ませることができ、各ページは１回だけ書き込まれる。
【００２０】
１つの消去ブロックであるブロック、またはメタブロックを形成するように結合された複数の消去ブロックを含むブロックに対して本発明の技術を用いることができる。これら技術を様々な大きさのクラスタおよびページに適用することができ、クラスタの大きさがページの大きさと同じである場合に限定されない。
【発明を実施するための最良の形態】
【００２１】
メモリ構造およびその動作
最初に図１Ａを参照する。フラッシュメモリは、メモリセルアレイおよびコントローラを含む。図示されている例では、２つの集積回路装置（チップ）１１，１３は、メモリセルのアレイ１５および様々な論理回路１７を含む。論理回路１７は、データ、命令および状態回路を介して別個のチップ上のコントローラ１９とインターフェイスをとり、しかも、アドレス指定、データ転送および感知を行い、アレイ１３への他の支援を行う。設けられている記憶容量に応じてメモリアレイチップの数を１から多数とすることができる。メモリセルアレイを単一チップ上に位置付けすることができ、または複数のチップ上にメモリセルをもって構成することができる。代替例として、コントローラと、一部または全部のアレイとを単一集積回路チップ上に結合することができる。しかし、この代替例は現在のところ経済的ではない。
【００２２】
一般的なコントローラ１９は、マイクロプロセッサ２１と、主としてファームウェアを記憶する読み出し専用メモリ（ＲＯＭ）２３と、主としてメモリチップ１１，１３へ書き込むか、そこから読み出されるユーザデータを一時的に記憶するバッファメモリ（ＲＡＭ）２５とを含む。バッファメモリ２５を、揮発性メモリまたは不揮発性メモリとすることができる。回路２７は（１つ以上の）メモリアレイチップとインターフェイスをとり、回路２９は接続部３１を介してホストとインターフェイスをとる。
【００２３】
図１Ａのメモリの接続部３１は、一例として図１Ｂに示されているホストシステムの接続部３１’と結合する。ホストと図１Ａのメモリとの間のデータ転送は、インターフェイス回路３５を介する。また、一般的なホストは、マイクロプロセッサ３７と、ファームウェアコードを記憶するＲＯＭ３９と、ＲＡＭ４１とを含む。他の回路およびサブシステム４３は、特定のホストシステムに応じて大容量磁気データ記憶ディスクドライブ、キーボード用のインターフェイス回路、モニタなどを含むことが多い。このようなホストの幾つかの例として、ディスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、個人用携帯情報端末（ＰＤＡ）、ＭＰ３および他のオーディオプレーヤ、デジタルカメラ、ビデオカメラ、電子ゲーム機、無線および有線電話装置、留守番電話機、音声録音装置、ネットワークルータなどが挙げられる。
【００２４】
図１Ａのメモリは、図１Ｂのホストと取り外し可能に接続できる形態をとるコントローラおよびすべてのメモリアレイ回路装置を含む小形の封入カードとして実装することができる。すなわち、結合している接続部３１，３１’によって、カードを外し別のホストに移動し、または別のカードをホストに接続することによりカードを取り替えることができる。代替例として、コントローラおよび接続部３１を含むカードと電気的かつ機械的に接続可能である別個のカード内にメモリアレイ装置を封入することができる。更なる代替例として、図１Ａのメモリを図１Ｂのホスト内に埋め込むことができ、接続部３１，３１’は取り外せないように形成される。この場合、通常、メモリは、他の構成要素と一緒にホストの筐体内に含まれる。更なる代替例として、メモリチップ１１のようなメモリチップはホストシステムの接続部３１’へそれらの間にメモリコントローラを持たないで直接接続することができる。この場合、メモリコントローラの機能は、ホストシステムのマイクロプロセッサ３７によって実行される。
【００２５】
図２には、メモリアレイの一部を示し、メモリセルは消去ブロックに分類され、各消去ブロック内のセルは、通常同時に生じる単一消去動作の一部として同時に消去可能である。消去ブロックは消去の最小単位である。
【００２６】
図２の個々のメモリセルの消去ブロックの大きさは異なることができる。しかし、１つの商業的に実施されている形態は、個々の消去ブロック内に単一セクタのデータを含む。このようなデータセクタの内容は図３に示されている。ユーザデータ５１は一般的に５１２バイトである。ユーザデータから計算されたＥＣＣ５３と、セクタデータに関連し、および／またはセクタがプログラムされた消去ブロックに関連するパラメータ５５と、パラメータ５５から計算されたＥＣＣ５７とを含むオーバーヘッドデータと、含めることができる任意の他のオーバーヘッドデータとがユーザデータ５１に追加されている。代替例として、ユーザデータ５１およびパラメータ５５の双方から単一ＥＣＣを計算することができる。
【００２７】
パラメータ５５は、消去ブロックによって体験されるプログラム／消去周期の数に関連する量を含むことができ、この量は、各周期または幾つかの周期の後に更新される。この体験からの量が消耗平均化アルゴリズムに用いられる場合、すべての消去ブロックの使用量（消耗）を一様にするため、論理ブロックアドレスは、異なる物理ブロックアドレスに定期的に再マッピングされる。この体験からの量は、異なる消去ブロックによって体験される周期の数の関数としてプログラミング、読み出しおよび／または消去のための電圧および他のパラメータを変更するのにも用いられる。
【００２８】
パラメータ５５は、「ローテーション」と称する、メモリセルの記憶状態の各々に割り当てられたビット値の指標をも含むことができる。このことは、消耗平均化にも有益な効果がある。状況または状態を示す１つ以上のフラグもパラメータ５５に含めることができる。消去ブロックをプログラムおよび／または消去するのに用いるべき電圧レベルの指標をもパラメータ５５内に記憶することができ、これら電圧は、消去ブロックによって体験された周期の数および他の要素が変化すると更新される。パラメータ５５の別の例として、消去ブロック内の任意の欠陥セルの識別子と、この物理ブロックにマッピングされたデータの論理アドレスと、主な消去ブロックに欠陥がある場合には任意の代替消去ブロックのアドレスとが挙げられる。任意のメモリシステムに用いられるパラメータ５５の特定の組み合わせは、設計に従って異なる。また、ユーザデータを含む消去ブロックまたはオーバーヘッドデータが関連する消去ブロック内というよりも、このような機能専用の消去ブロックにオーバーヘッドデータの一部または全部を記憶することができる。
【００２９】
図４の複数セクタの消去ブロックは、図２の単一データセクタの消去ブロックと異なる。一例の消去ブロック５９は依然として消去の最小単位であり、４つのページ０〜３を含み、各ページ０〜３はプログラミングの最小単位である。１つ以上のホストセクタのデータは一般的に、セクタのデータから計算された少なくともＥＣＣを含むオーバーヘッドデータと一緒に各ページに記憶され、図３のデータセクタの形態をとることができる。
【００３０】
全消去ブロックのデータの再書き込みは、通常、消去ブロックプールの利用可能な消去ブロック内に新たなデータをプログラムすることを含み、この場合、元の消去ブロックは消去され消去プール内に配置される。消去ブロックの全ページには満たないページのデータが更新される場合、更新されたデータは一般的に、消去ブロックプールから消去ブロックのページ内に記憶され、残りの変更されなかったページのデータは、元の消去ブロックから新たな消去ブロックへ複写される。次に、元の消去ブロックは消去される。この大規模なブロック管理技術の変形例には、元の消去ブロックからデータを移動しない、またはそれを消去しないで、更新されたデータを別の消去ブロックのページに書き込むことが含まれる。この結果、同じ論理アドレスを有する複数のページを生じさせる。最新のページのデータは、セクタ内のフィールドまたはページオーバーヘッドデータとして記録されたプログラミングの時間のような何らかの都合の良い技術によって識別される。
【００３１】
図５には、更なる複数セクタの消去ブロック配置を示す。この場合、全メモリセルアレイは２つ以上のプレーンに物理的に分割され、図には４つのプレーン０〜３が示されている。各プレーンは、それ自体のデータレジスタ、センス増幅器およびアドレス復号器などを有するので、他のプレーンに大規模に独立して動作できるメモリセルのサブアレイである。単一集積回路装置または複数の装置上にすべてのプレーンを設けることができる。複数の装置の一例では、１つ以上の異なる集積回路装置から各プレーンを形成する。図５の例示的なシステム内の各消去ブロックは１６のページＰ０〜Ｐ１５を含み、各ページは、１つ、２つまたはそれ以上のホストデータセクタおよび幾つかのオーバーヘッドデータの容量を有する。
【００３２】
図６には、別のメモリセル配置を示す。各プレーンは多数の消去ブロックを含む。動作の並列性の度合いを増大させるため、チップの、または異なるチップからの異なるプレーン内の消去ブロックは、メタブロックを形成するように論理的に結合されている。１つのこのようなメタブロックを図６に示す。各メタブロックは論理的にアドレス可能であり、メモリコントローラは、個々のメタブロックを形成する消去ブロックのトラックを割り当て保持する。ホストシステムは、一連のセクタの形態でデータを提供する。この一連のセクタは論理ブロックに分割されている。この場合、論理ブロックは、メモリアレイのメタブロックに含まれるようなデータの同数のセクタを含むデータの論理単位である。メモリコントローラは、各論理ブロックが記憶されている位置のレコードを維持する。例えば、図６のこのような論理ブロック６１は、メタブロックを形成するブロックの物理ブロック番号（ＰＢＮ）へコントローラによってマッピングされた論理ブロックアドレス（ＬＢＡ）によって識別される。メタブロックの全ブロックは同時に消去され、一般的に、各ブロックからのページは同時にプログラムされ読み出される。並行してプログラムされたメタブロックの異なる消去ブロックからの一群のページをメタページと見なすことができる。メタページを、メタブロック構造を用いるメモリシステムのプログラミングの単位と見なすことができる。メタブロックの複数の消去ブロックにまたがって延在する大規模なメタページを用いるデータのプログラミングは高度な並列性を提供し、従って、高いデータ記憶率を可能にする。
【００３３】
メタブロック構造を用いるシステムでは、メタブロックを形成する一群の消去ブロックを単一消去ブロックとして処理することができ、単にブロックと称することもできる。同様に、メタブロックの消去ブロックにまたがって延在する一群のページを単一ページ（またはメタページ）として処理することができる。消去ブロックを結合してメタブロックを形成する構造と、消去ブロックを結合しないでメタブロックを形成する構造との双方で、本願明細書で説明する特定の技術を行うことができる。従って、本願明細書で用いられる「ブロック」なる用語は、単一消去ブロックまたはメタブロックを形成するように結合された一群の消去ブロックのどちらかを意味することができる。同様に、本願明細書で用いられる「ページ」なる用語は、個々の消去ブロックのページまたはメタブロックの消去ブロックにまたがって延在するメタページのどちらかを意味することができる。
【００３４】
図７には、１メタページ当たり４つのセクタを有するメタブロック７２に記憶されたクラスタの位置合わせのずれの一例を示す。データは、一連のクラスタとしてホストから受信され、各クラスタは４つのセクタを備える。クラスタＫは２つの論理ブロックにまたがって延在する。従って、クラスタＫの一部（セクタＸ−３〜Ｘ−１）は第１の論理ブロック７４内にあり、クラスタＫの一部（セクタＸ）は第２の論理ブロック７６内にある。セクタＸは第２の論理ブロックの最初のセクタであるので、メタブロック７２の最初のページ（ページ０）に記憶される。セクタＸが書き込まれると、クラスタＫの書き込みが完了したことを示す信号をホストに送信することができる。次に、ホストはクラスタＫ＋１を送信することができる。クラスタＫ＋１の最初の一部（セクタＸ＋１，Ｘ＋２，Ｘ＋３）は、セクタＸと一緒にページ０に記憶される。しかし、ページは、４セクタのみのデータを記憶するので、セクタＸ＋４を次のページ（ページ１）に記憶する必要がある。ページ１に書き込まれる前にセクタＸ＋４をバッファに記憶することができる。従って、次のページの書き込み動作は、クラスタＫ＋１を記憶するのに必要とされる。同様に、クラスタとページとの間の位置合わせのずれにより各クラスタが２つのページに延在するので、後に続くクラスタＫ＋２〜Ｋ＋Ｎ／４は各々２つの書き込み動作を必要とする。論理ブロック７６の最終クラスタ（クラスタＫ＋Ｎ／４）は部分的に第３の論理ブロック７８の最初のページに書き込まれる。従って、位置合わせのずれは、後に続くメタブロックを通して継続する。この例では、各クラスタが２つの書き込み動作を必要とするので、データを記憶する時間は、各クラスタが単一書き込み動作で書き込まれる場合よりもかなり長くなることがある。この問題は、クラスタがページと同じデータ量を含まない場合にも存在することがある。例えば、クラスタがページよりも小さい場合、幾つかのクラスタを単一ページに書き込むことができるが、その他のクラスタは２つのページに延在する。クラスタがページよりも大きい場合、幾つかのページは１つのクラスタのみからのデータを含むことができるが、幾つかのページは２つのクラスタからのデータを含む。従って、ページの２倍の大きさであるクラスタは、３つの書き込み動作を必要とすることがある。
【００３５】
図８Ａには、本発明の一実施形態に従ってメタブロック７２のホストクラスタをページと位置合わせする一例を示す。前述したように、ホストは一連のクラスタＫ〜Ｋ＋Ｎ／４のデータを順次送信してメモリに記憶する。メモリは複数のメタブロックを含み、メタブロックは、同時にプログラムし消去することができる複数の消去ブロックから形成されている。メタブロックに対応するデータの単位は論理ブロックである。データのクラスタＫ〜Ｋ＋Ｎ／４は３つの論理ブロック７４，７６，７８にまたがって延在する。クラスタＫのセクタＸが受信されると、メタブロック７２の最初のページ（ページ０）に記憶される。セクタＸに対して示された位置は、それがページ０の最後の位置にあることを示す。続いて、クラスタＫ＋１のセクタＸ＋１〜Ｘ＋４が受信されると、それらはページ１に記憶される。クラスタＫ＋１はページ１に位置合わせされているので、クラスタＫとクラスタＫ＋１との間の境界（セクタＸとセクタＸ＋１との間の境界）は、ページ０とページ１との間のページ境界に位置付けられている。従って、クラスタＫ＋１の開始はページ１の開始で始まり、クラスタＫ＋１は、ページ１に位置合わせされたと見なされる。この例では、クラスタの大きさはページの大きさと同じであるので、クラスタＫ＋１はページ１に合わせ、クラスタＫ＋１の最後もページ１の最後に一致する。クラスタＫ＋２は同様にページ２に位置合わせされている。同様に、後に続くクラスタＫ＋３〜Ｋ＋Ｎ／４−１は、それぞれのページ３〜Ｎ／４−１に位置合わせされている。クラスタＫ＋Ｎ／４−１をページＮ／４−１に書き込んだ後で、クラスタＫ＋Ｎ／４がホストから受信される。セクタＸ＋Ｎ−３，Ｘ＋Ｎ−２，Ｘ＋Ｎ−１は、セクタＸと一緒にメタブロック７２の最初のページ（ページ０）に記憶される。従って、メタブロック７２は、論理ブロック７６の先頭からの部分的なクラスタと、論理ブロック７６の尾部からの部分的なクラスタとを含む最初のページ（ページ０）を有する。メタブロックの他のページは各々１つのクラスタを含むので、これらページごとに１つのみの書き込み動作が必要とされる。この１つのみの書き込み動作によって、メモリアレイへのデータの書き込みを、特定の従来技術のシステムに比べて高速にすることができる。
【００３６】
この例のオフセットを、現在の命令の最初の論理アドレスと論理ブロックの最初のセクタの論理アドレスとの間の差から計算することができる。このオフセットを計算する式は、
オフセット＝｛（現在の命令の最初の論理アドレス）ｍｏｄ
（１ページ当たりのセクタ数）｝−（１ページ当たりのセクタ数）
である。従って、図８Ａの例に対して、この計算は、
オフセット＝｛（Ｘ−３）ｍｏｄ（４）｝−４＝１−４＝−３
【００３７】
図８Ｂには、Ｘ＝０である場合の、論理ブロック７６のセクタの論理−物理マッピングにおけるオフセットとして図８Ａの再位置合わせ方式を示す。論理ブロック７６の最初の論理セクタ（セクタＸ）をメタブロック７２の第１の物理アドレスに書き込む代わりに、最初の論理セクタは第４の物理アドレスに書き込まれる。このことを、このセクタのマッピングにおいて−３のオフセットと見なすことができる。零オフセットは、最初の論理セクタを最初の物理位置にマッピングすることである。また、前述したことを、Ｎ−３のオフセットと見なすことができる。その理由は、最初の物理位置に記憶されたセクタがセクタＮ−３であるためである。メタブロック７２の最後に達するまで、後に続くセクタも、−３のオフセットで書き込まれる。次に、論理ブロック７６の最後の３つのセクタＸ＋Ｎ−３，Ｘ＋Ｎ−２，Ｘ＋Ｎ−１はメタブロック７２の開始に書き込まれる。これらセクタも、−３のオフセットで書き込まれたと見なすことができる。メタブロックの論理アドレスは循環する（論理ブロックの最初のアドレスは論理ブロックの最後のアドレスに続くと見なされる）。従って、論理ブロック７６のオフセットを用いてメタブロック７２に記憶されたデータのセクタを見出すことができ、データのセクタごとの索引は必要とされない。この種のオフセット（またはページタグ）を用いるメタブロックへのデータの記憶については、２００３年１２月３０日に出願された「不揮発性メモリおよびブロック管理システムを伴う方法」という米国特許出願第１０／７５０，１５５号（特許文献２２）に更に説明されている。この特許出願は、その全体が本願明細書において参照により援用されている。図８Ａおよび図８Ｂの例は、メタブロック７２の開始で記憶されるように論理ブロック７６の最後から循環される３つのセクタ（Ｘ＋Ｎ−３，Ｘ＋Ｎ−２，Ｘ＋Ｎ−１）を示すが、このように循環されるセクタの数を１から３までとすることができる。所定の論理ブロックに対するオフセットの大きさを１からページ内のセクタ数未満までとすることができる。
【００３８】
特定のメモリ設計は、ブロックの同じページへの複数の書き込み動作をさせないようにする。この種のメモリでは、データがページに書き込まれた後、このページは、追加のデータを書き込ませることができない。その理由は、後に続くプログラミング動作が、記憶されたデータを破損させるおそれがあるためである。この種のメモリでは、セクタＸをプログラムした後、続いてセクタＸ＋Ｎ−３，Ｘ＋Ｎ−２，Ｘ＋Ｎ−１をページ０にプログラムさせることができないので、図８Ａで示された記憶方式を可能とすることができない。また、幾つかの設計では、逐次的な順序のみでページを書き込むことができる。例えば、最初にページ０が書き込まれ、次に、ページ１、ページ２などへ書き込みが続く。ページ１が書き込まれた後、ページ０を書き込むことができないのは、このことが逐次的でないためである。このような設計では、ページ１からページＮ／４−１まで書き込んだ後、ページ０に任意のデータを書き込むことはできない。
【００３９】
図９Ａには、クラスタとページとを位置合わせする位置合わせ方式を実施するのにスクラッチパッドブロック９１を用いる本発明の別の実施形態を示す。スクラッチパッドブロックの使用は、本願と同日に出願された代理人整理番号ＳＮＤＫ．４０６ＵＳ０を有する「スクラッチパッドブロック」という米国特許出願第１１／０１６，２８５号（特許文献２３）で説明されている。この特許出願は、その全体が本願明細書において参照により援用されている。前の例でのように、ホストデータの一連のクラスタ（クラスタＫ〜Ｋ＋Ｎ／４）は、メモリアレイに記憶するためにホストから受信される。クラスタＫは第１の論理ブロック７４からのセクタＸ−３〜Ｘ−１と、第２の論理ブロック７６からのセクタＸとを含む。セクタＸ−３〜Ｘ−１は、第１の論理ブロック７４と関連するメタブロック（図示せず）に記憶されている。セクタＸが受信されると、セクタＸは直接にメタブロック７２に記憶されない。その代わりに、セクタＸは別の位置に記憶される。この例では、この位置はスクラッチパッドブロック９１内である。スクラッチパッドブロック９１は、様々なデータを不揮発性メモリに短期間記憶するのに用いられるメモリアレイのブロックである。セクタＸは不揮発性メモリに記憶されているので、電源がメモリシステムから取り外された場合でも損失しない。代替例として、セクタＸを他の幾つかの不揮発性メモリ、または可能であれば、揮発性メモリに記憶することができる。セクタＸがスクラッチパッドブロック９１に記憶された後、クラスタＫ＋１は受信される。クラスタＫ＋１はページ０に記憶され、ページ０に位置合わせされる。従って、クラスタＫとクラスタＫ＋１との間の境界はページ０の開始境界と一致する。この例では、クラスタの大きさとページの大きさとは同じであるので、クラスタＫ＋１はページ０にぴったり合い、クラスタＫ＋１の最後はページ０の最後と一致する。同様に、後に続くクラスタＫ＋２〜Ｋ＋Ｎ／４−１はページに書き込まれる。クラスタＫ＋Ｎ／４が受信されると、論理ブロック７６からであるクラスタＫ＋Ｎ／４からの３つのセクタ（セクタＸ＋Ｎ−３，Ｘ＋Ｎ−２，Ｘ＋Ｎ−１）は、スクラッチパッドブロック９１から複写されているセクタＸと一緒にページＮ／４−１に書き込まれる。従って、この例では、メタブロック７２の最後のページは、論理ブロック７６の先頭からのクラスタ断片と、論理ブロック７６の尾部からのクラスタ断片とを含む。ページの逐次的な書き込みを必要とせず、同じページへの複数の書き込みを可能にするメモリでは、セクタＸが別の位置に記憶されることなしに受信される場合、セクタＸをページＮ／４−１に書き込むことができる。
【００４０】
この例に対するオフセットを、クラスタ境界とページ境界との間の差から計算することができる。これを、現在の命令の最初の論理アドレスと論理ブロックの開始の論理アドレスとの間の差から見出すことができる。一例では、オフセットを以下の式から計算することができる。
オフセット＝（現在の命令の最初の論理アドレス）ｍｏｄ
（１ページ当たりのセクタ数）
従って、図９Ａでは、現在の命令の最初の論理アドレスはＸ−３である。従って、オフセットは、以下の通りである。
オフセット＝（Ｘ−３）ｍｏｄ（４）＝（Ｘ−４＋１）ｍｏｄ（４）＝１
この例では、位置合わせのオフセットを１から３までのセクタとすることができる。通常、オフセットを（クラスタが、論理ブロック境界と一致する境界位置で受信された場合）０から、１ページ当たりのセクタ数未満の最大値までとすることができる。
【００４１】
図９Ｂには、Ｘ＝０である場合の、論理ブロック７６のセクタの論理−物理マッピングにおけるオフセットとして図９Ａの再位置合わせ方式を示す。論理ブロック７６の最初の論理セクタ（セクタＸ）をメタブロック７２の最初（第１）の物理アドレスに書き込む代わりに、最初の論理セクタは最後の物理アドレスに書き込まれる。このことを、このセクタのマッピングにおいて１のオフセットと見なすことができ、メタブロックのアドレスは循環する（論理ブロック７６の最初のアドレスは論理ブロック７６の最後のアドレスに続くと見なされる）。他のすべてのセクタも１のオフセットで書き込まれる。従って、受信された次のセクタすなわちセクタＸ＋１は最初の物理アドレスに書き込まれるなどである。論理ブロック７６のオフセットを用いてメタブロック７２に記憶されたデータを見出すことができ、データのセクタごとの索引は必要とされない。この種のオフセット（またはページタグ）を用いるメタブロックへのデータの記憶については、米国特許出願第１０／７５０，１５５号（特許文献２２）で更に説明されている。
【００４２】
図８および図９の例は、４つのセクタを各々有するクラスタおよびページを示している。しかし、説明した原理を、様々な大きさのクラスタおよびページに適用することができる。クラスタは複数のページにまたがって延在し、これらページに依然として位置合わせされている。例えば、図１０に示されているように、８つのセクタのクラスタを、４つのセクタを有するページに位置合わせすることができる。図１０のクラスタは、メタブロック７２の２つのページを完全に占有する。これらクラスタが位置合わせされなかった場合、クラスタは３つのページにまたがって延在することがある。従って、位置合わせは、１クラスタ当たりの書き込みの数を３から２へ減少させることによって効率を改善させることができる。この例では、すべてのページ境界がクラスタ境界に一致するというわけではないが、すべてのクラスタ境界はページ境界に一致する。
【００４３】
クラスタをページよりも小さくし、このページに依然として位置合わせすることができる。例えば、クラスタは１６のセクタを含むことができ、ページは６４のセクタを含むことができる。位置合わせなしでは、幾つかのクラスタは２つのページにまたがって延在し、２つの書き込み動作を必要とすることがある。位置合わせを用いると、これらクラスタは単一ページに書き込まれ、従って効率が改善される。この例では、すべてのクラスタ境界がページ境界に一致するというわけではないが、すべてのページ境界がクラスタ境界に一致する。
【００４４】
論理ブロックに対するオフセットを、書き込まれるデータの開始アドレスと論理ブロックの開始アドレスとの間の差から導き出すことができる。論理ブロックの開始はページの開始とされ、ホストはクラスタの開始でデータの書き込みを開始する。従って、これら２つのアドレス間の差は、クラスタ境界と論理ブロック境界との間の差を示す。この差が１ページ当たりのセクタ数で除される場合、オフセットを剰余から計算することができる。剰余が０である場合（この差はページの整数である）、境界を位置合わせしたと見なすことができる。論理ブロックのオフセットを記憶する１つの方法は、論理ブロックの最初の物理アドレスに記憶されたセクタの論理アドレスを記録することである。
【００４５】
メモリに記憶されたホストデータの最初のセクタの論理アドレスからオフセットを導き出すことができる。一般的に、ＤＯＳシステムでは、論理アドレス空間の最初の部分は、ブートセクタ、１つ以上のファイルアロケーションテーブル（ＦＡＴ）、ルートディレクトリおよびサブディレクトリのようなシステム情報に専用である。システム情報の最後に続いて最初のクラスタが始まるようにホストデータはシステム情報の直ぐ後に記憶される。従って、システム情報の論理アドレス範囲が既知である場合、最初のクラスタの開始位置を獲得することができる。（１つ以上の）ＦＡＴおよびディレクトリの位置を記録するブートセクタからシステム情報の論理アドレス範囲を見出すことができる。また、ブートセクタは１クラスタ当たりのセクタ数を指示し、これによって、すべてのクラスタ境界位置をブートセクタから獲得することができる。
【００４６】
幾つかのシステムでは、幾つかの側面で別個に動作できる２つ以上の区画にメモリアレイを区画することができる。アレイの個々の区画は、この区画に対して、システム情報に関する論理アドレス空間の専用部分を有することができる。このようなシステムでは、異なる区画に対して異なるオフセットを、区画に記憶されたホストデータの最初のセクタの位置に従って導き出すことができる。従って、各区画が、ページに位置合わせされたクラスタでデータを記憶するように、同じメモリアレイ内の異なる区画は、異なるオフセットで動作することができる。
【００４７】
本発明の一実施形態によれば、論理ブロックアドレスフォーマットは論理ブロックのオフセット（ページタグ）を含むことができる。従って、メタブロック内のセクタの物理位置を、前のブロックを読み出すことなしに決定することができる。
【００４８】
論理ブロックごとに別個のオフセットは維持されるので、異なる論理ブロックは異なるオフセットを有することができる。ホストがクラスタ境界位置を変更すると、新たなデータに対する位置合わせが変更する。他のメタブロック内に前に書き込まれたデータを新たな位置合わせで再度書き込む必要がないので、このデータを、妨害されない状態に保つことができる。オフセットが、対応する論理ブロックの論理アドレス範囲内のセクタのみに影響を及ぼすので、１つの論理ブロックでのオフセットの変更は、隣接する論理ブロックのオフセットに影響を及ぼす必要がない。同じ論理アドレス範囲は、この範囲内のみに位置合わせを行うオフセットで特定の論理ブロックにマッピングされたままである。
【００４９】
別の実施形態では、前述した原理を、論理ブロックの単位に適用する代わりに論理群の単位に適用することができる。このような実施形態では、オフセットは、論理ブロックに対してではなく論理群に対して計算される。論理群は、メモリアレイの１つの消去ブロック内のデータに等しくデータを保持するデータの単位である。従って、論理ブロックは整数の論理群を含む。論理群の詳細な説明が、２００４年５月７日に出願された「データ境界管理」という米国特許出願第１０／８４１，１１８号（特許文献２４）に提供されている。この特許出願は、その全体が本願明細書において参照により援用されている。幾つかのメモリシステムでは、メモリ内のデータの物理位置を論理群の単位で追跡することができる。このようなメモリシステムでは、オフセットを論理群ごとに導き出すことができる。このようなシステムでは、論理群アドレスフォーマットはこの論理群に対するオフセットを含むことができ、異なる論理群は異なるオフセットを有することができる。他の実施形態では、ブロック内のデータよりも少ないデータを有する単位に対してオフセットを維持することができる。例えば、ブロック内のデータの１／２、１／４または他の何らかの分数を含む単位を用いることができ、異なるオフセットは単位ごとに導き出される。従って、異なる大きさの単位でデータを位置合わせすることができる。
【００５０】
幾つかのメモリシステムでは、様々な理由でオフセットは提供される。例えば、米国特許出願第１０／７５０，１５５号（特許文献２２）では、オフセットによって、最初にデータのセクタを複写することなしに、受信されたデータを迅速に書き込むことができる。このようなオフセットを、本発明に従って計算されたオフセットと結合して、データの記憶に用いられる最終オフセット値を獲得することができる。例えば、論理ブロックの論理アドレス範囲の中間に論理アドレスを有するデータが受信された場合、最初のオフセットに従ってデータをメタブロックの開始に書き込むことができる。しかし、最終オフセットが２つの成分から成るように、追加のオフセットはデータをページ境界に位置合わせすることができる。
【００５１】
前述したように本発明を特定の実施形態に関して充分説明してきたが、様々な変形、代替構造および等価物を用いることができる。従って、前述した説明および図を、本発明の範囲を限定するものと解釈すべきでなく、本発明は特許請求の範囲によって限定される。
【図面の簡単な説明】
【００５２】
【図１Ａ】メモリコントローラおよびメモリアレイ集積回路を含むメモリシステムを示す。
【図１Ｂ】図１Ａのメモリシステムと動作するホストシステムを示す。
【図２】図１Ａのメモリアレイの第１の編成例を示す。
【図３】図１Ａのメモリアレイに記憶されたようなオーバーヘッドデータを有する例示的なホストデータセクタを示す。
【図４】図１Ａのメモリアレイの第２の編成例を示す。
【図５】図１Ａのメモリアレイの第３の編成例を示す。
【図６】図１Ａのメモリアレイの第３の編成例の拡張を示す。
【図７】図１Ａのメモリアレイのようなメモリアレイに記憶されたデータに対する論理単位と物理位置との間の対応を示す。
【図８Ａ】本発明の一実施形態に従ってメモリアレイに記憶されたデータに対する論理単位と物理位置との間の対応を示す。
【図８Ｂ】図８Ａの例の論理−物理マッピングにおけるオフセットの動作を示す。
【図９Ａ】本発明の別の実施形態に従ってメモリアレイに記憶されたデータに対する論理単位と物理位置との間の対応を示す。
【図９Ｂ】図９Ａの例の論理−物理マッピングにおけるオフセットの動作を示す。
【図１Ａ】
2008524703.tif 000003
【図１Ｂ】
2008524703.tif 000004
【図２】
2008524703.tif 000005
【図３】
2008524703.tif 000006
【図４】
2008524703.tif 000007
【図５】
2008524703.tif 000008
【図６】
2008524703.tif 000009
【図７】
2008524703.tif 000010
【図８Ａ】
2008524703.tif 000011
【図８Ｂ】
2008524703.tif 000012
【図９Ａ】
2008524703.tif 000013
【図９Ｂ】
2008524703.tif 000014
【図１０】
2008524703.tif 000015
【国際調査報告】
2008524703.tif 000016
2008524703.tif 000017
2008524703.tif 000018