(57)【特許請求の範囲】
【請求項１】
データを記憶する方法において、
複数のメモリユニットを含むメモリに記憶するため各論理的アドレスに関連したデータアイテムを受信する段階と、
前記複数のメモリユニットの性能特性の各推定値を得る段階であって、各メモリユニットの前記性能特性は、プログラミングに利用できる前記メモリユニット内のメモリブロックの各カウントの表示と、各メモリユニットに適用されるメモリアクセスコマンドの各期間とを含む、段階と、
前記推定値に基づき、前記論理的アドレスを複数のメモリユニットの各物理的記憶位置へマップするマッピングを、前記メモリユニットにわたり性能特性のバランスをとるように適応させる段階であって、前記性能特性のバランスをとることは、各メモリユニットに適用されるメモリアクセスコマンドの前記各期間による決定に従って、頻繁にアクセスされるデータを高速メモリユニットに書き込み、稀にアクセスされるデータを低速メモリユニットに書き込むことを含む、段階と、
前記データアイテムを、前記適応されたマッピングに従って物理的記憶位置に記憶する段階と、を含み、
前記データアイテムを記憶する段階は、前記メモリユニットに各重みを指定する重み付けラウンドロビンスケジューリングスキームに従って前記メモリユニット間に前記データアイテムを分配することを含み、
前記マッピングを適応させる段階は、１つ以上の重みを変更することを含み、
前記重みを変更することは、各々の異なる第１及び第２の形式のメモリアクセスコマンドに対して異なる第１及び第２の重みを所与のメモリユニットに指定することを含み、
前記メモリアクセスコマンドの形式は、読み取り、書き込み及び消去コマンドを含む、方法。
【請求項２】
マッピングを適応させる前記段階は、所与のメモリユニットへマップされる論理的アドレスの合計数を変更することを含む、請求項１に記載の方法。
【請求項３】
推定値を得る前記段階は、メモリ又はメモリユニットの製造中に前記複数のメモリユニットに対する性能特性を評価することを含む、請求項１に記載の方法。
【請求項４】
推定値を得る前記段階は、メモリがホストシステム内で動作している間に前記複数のメモリユニットに対する性能特性を評価することを含む、請求項１に記載の方法。
【請求項５】
マッピングを適応させる前記段階は、マッピングの初期設定に従ってメモリにデータアイテムを最初に記憶し、その後に、マッピングを適応させ、その適応されたマッピングに従ってメモリにデータアイテムを記憶するように１つ以上のデータアイテムをコピーすることを含む、請求項１に記載の方法。
【請求項６】
各メモリユニットの性能特性は、メモリユニット内の欠陥メモリブロックの各カウントの表示を含む、請求項１に記載の方法。
【請求項７】
複数のメモリユニットを含むメモリと通信するように構成されたメモリインターフェイスと、
前記メモリインターフェイスに接続されたプロセッサであって、
メモリに記憶するため各論理的アドレスに関連したデータアイテムを受信し、
複数のメモリユニットの性能特性の各推定値を得、各メモリユニットの前記性能特性は、プログラミングに利用できる前記メモリユニット内のメモリブロックの各カウントを表し、各メモリユニットの前記性能特性は、各メモリユニットに適用されるメモリアクセスコマンドの各期間を含み、
その推定値に基づいて、論理的アドレスを複数のメモリユニット内の各物理的記憶位置へマップするマッピングを適応させ、それにより、前記メモリユニットにわたり性能特性のバランスをとり、前記性能特性のバランスをとることは、各メモリユニットに適用されるメモリアクセスコマンドの前記各期間による決定に従って、頻繁にアクセスされるデータを高速メモリユニットに書き込み、稀にアクセスされるデータを低速メモリユニットに書き込むことを含み、
その適応されたマッピングに従って物理的記憶位置にデータアイテムを記憶し、前記データアイテムを記憶することは、前記メモリユニットに各重みを指定する重み付けラウンドロビンスケジューリングスキームに従って前記メモリユニット間に前記データアイテムを分配することを含み、前記マッピングを適応させることは、１つ以上の重みを変更することを含み、前記重みを変更することは、各々の異なる第１及び第２の形式のメモリアクセスコマンドに対して異なる第１及び第２の重みを所与のメモリユニットに指定することを含み、前記メモリアクセスコマンドの形式は、読み取り、書き込み及び消去コマンドを含む、ように構成されたプロセッサと、
を備えたデータ記憶装置。
【請求項８】
前記プロセッサは、メモリがホストシステム内で動作している間に複数のメモリユニットに対する性能特性を評価するように構成された、請求項７に記載の装置。
【請求項９】
前記プロセッサは、マッピングの初期設定に従ってメモリにデータアイテムを最初に記憶し、その後に、マッピングを適応させ、その適応されたマッピングに従ってメモリにデータアイテムを記憶するように１つ以上のデータアイテムをコピーするよう構成された、請求項７に記載の装置。
【請求項１０】
各メモリユニットの性能特性は、メモリユニット内の欠陥メモリブロックの各カウントの表示を含む、請求項７に記載の装置。
【請求項１１】
各メモリユニットの性能特性は、メモリユニットの各読み取りエラー性能の表示を含む、請求項７に記載の装置。
【請求項１２】
各メモリユニットの性能特性は、メモリユニットの各耐久性を表わす、請求項７に記載の装置。
【請求項１３】
各メモリユニットの性能特性は、メモリユニットに記憶されたデータへのアクセスの各頻度の表示を含む、請求項７に記載の装置。
【請求項１４】
各メモリユニットの性能特性は、メモリユニットにおける実行が保留となっているメモリアクセスコマンドの各カウントの表示を含む、請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、メモリ装置に関するもので、より詳細には、論理的／物理的アドレスマッピングの方法及びシステムに関する。
【０００２】
関連出願の相互参照：本出願は、２０１１年９月２０日に出願された米国プロビジョナル特許出願第６１／５３６，５９７の利益を主張するもので、その開示は、参考としてここに援用される。
【背景技術】
【０００３】
フラッシュ装置のような不揮発性メモリ装置へのデータ記憶は、論理的アドレスをメモリの物理的記憶位置へ変換することをしばしば含む。論理的アドレスを物理的アドレスへマッピングするための種々の技術が知られている。例えば、参考としてここに援用する米国特許第７，６３１，１３８号は、ホスト使用特性に基づいてフラッシュメモリアドレスマッピングの適応モードスイッチングを行う技術を説明している。幾つかの実施形態において、コントローラは、ホストプログラミング及びコントローラデータ合併パターンに応答してデータセクタをメモリのブロック及びメタブロックへマップする仕方をスイッチングし、性能を改善すると共に消耗を減少させる。
【発明の概要】
【０００４】
ここに述べる本発明の一実施形態は、データ記憶方法を提供する。この方法は、複数のメモリユニットを含むメモリに記憶するため各論理的アドレスに関連したデータアイテムを受信することを含む。複数のメモリユニットに対し性能特性の各推定値が得られる。その推定値に基づき、論理的アドレスを複数のメモリユニットの各物理的記憶位置へマップするマッピングは、メモリユニットにわたり性能特性のバランスをとるように適応される。データアイテムは、その適応されたマッピングに従って物理的記憶位置に記憶される。
【０００５】
ある実施形態では、マッピングを適応させることは、所与のメモリユニットへマップされる論理的アドレスの合計数を変更することを含む。一実施形態において、データアイテムを記憶することは、メモリユニットに各重みを指定する重み付けラウンドロビンスケジューリングスキームに従ってメモリユニット間にデータアイテムを分配することを含み、そしてマッピングを適応させることは、１つ以上の重みを変更することを含む。この重みを変更することは、各々の異なる第１及び第２の形式のメモリアクセスコマンドに対して異なる第１及び第２の重みを所与のメモリユニットに指定することを含む。
【０００６】
別の実施形態では、推定値を得ることは、メモリ又はメモリユニットの製造中に複数のメモリユニットに対して性能特性を評価することを含む。それに加えて又はそれとは別に、推定値を得ることは、メモリがホストシステム内で動作している間に複数のメモリユニットに対して性能特性を評価することを含む。
【０００７】
ここに開示する実施形態では、マッピングを適応させることは、マッピングの初期設定に従ってメモリにデータアイテムを最初に記憶し、その後、マッピングを適応させ、その適応されたマッピングに従ってメモリにデータアイテムを記憶するように１つ以上のデータアイテムをコピーすることを含む。
【０００８】
種々の例示的な実施形態において、各メモリユニットの性能特性は、プログラミングに利用できるメモリユニット内のメモリブロックの各カウント、メモリユニット内の欠陥メモリブロックの各カウント、メモリユニットに適用されるメモリアクセスコマンドの各期間、メモリユニットの各読み取りエラー性能、メモリユニットの各耐久性、メモリユニットに記憶されたデータへのアクセスの各頻度、及び／又はメモリユニットにおける実行が保留となっているメモリアクセスコマンドの各カウントを表わす。
【０００９】
更に、本発明の一実施形態によれば、インターフェイス及びプロセッサを備えたデータ記憶装置が提供される。インターフェイスは、複数のメモリユニットを含むメモリと通信するように構成される。プロセッサは、メモリに記憶するため各論理的アドレスに関連したデータアイテムを受信し、複数のメモリユニットに対する性能特性の各推定値を得、その推定値に基づいて、論理的アドレスを複数のメモリユニット内の各物理的記憶位置へマップするマッピングを、それらメモリユニットにわたり性能特性のバランスをとるように適応させ、そしてその適応されたマッピングに従って物理的記憶位置にデータアイテムを記憶するように構成される。
【００１０】
又、本発明の一実施形態によれば、メモリ及びプロセッサを備えたデータ記憶装置が提供される。メモリは、複数のメモリユニットを含む。プロセッサは、メモリに記憶するため各論理的アドレスに関連したデータアイテムを受信し、複数のメモリユニットに対する性能特性の各推定値を得、その推定値に基づいて、論理的アドレスを複数のメモリユニット内の各物理的記憶位置へマップするマッピングを、それらメモリユニットにわたり性能特性のバランスをとるように適応させ、そしてその適応されたマッピングに従って物理的記憶位置にデータアイテムを記憶するように構成される。
【００１１】
本発明は、添付図面を参照した実施形態の以下の詳細な説明から完全に理解されるであろう。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態によるデータ記憶システムを概略的に示すブロック図である。
【図２】本発明の一実施形態による論理的／物理的アドレスマッピング方法を概略的に示すフローチャートである。
【発明を実施するための形態】
【００１３】
概略
複数のメモリユニットから幾つかの形式のメモリ装置が構成される。例えば、ソリッドステートドライブ（ＳＳＤ）は、典型的に、フラッシュダイのような複数の不揮発性メモリダイを備えている。多数の実際的なシナリオにおいて、所与のメモリ装置内のメモリユニットは、空きメモリブロックの数、不良ブロックの数、メモリアクセスレイテンシー、エラー性能、予想耐久性、頻繁に使用されるデータ・対・稀に使用されるデータの存在、及び／又は実行が現在保留中であるコマンドの数、等の特性が互いに相違する。ある相違は、メモリユニットが製造されたときに既に存在し、そしてある相違は、ホストシステムにおけるメモリ装置の寿命の間に発生する。
【００１４】
ここに述べる本発明の実施形態は、データ記憶のための改良された方法及びシステムを提供する。ここに開示される技術は、複数のメモリユニットに記憶するためのデータを、個々のメモリユニットの推定特性に基づいて分散させる。
【００１５】
典型的なフローにおいて、メモリコントローラ又は他のプロセッサは、上述した例示的な特性のような各メモリユニットの１つ以上の特性を推定する。プロセッサは、種々のメモリユニットに記憶するための到来データを、メモリ装置にわたって特性のバランスをとるように分散させる。
【００１６】
例えば、プロセッサは、データに関連した仮想アドレスをメモリユニットの物理的位置へ変換する仮想的・対・物理的（Ｖ−Ｐ）アドレスマッピングを、メモリユニットの推定測定に基づいて適応させる。換言すれば、プロセッサは、メモリユニットへの論理的ブロックアドレス（ＬＢＡ）の指定を推定特性に基づいて適応させる。このようにＶ−Ｐマッピングを適応させることで、プロセッサは、メモリ装置の寿命、記憶レイテンシー、又はエラー性能のような特性のバランスをとることができる。
【００１７】
原理的には、メモリユニットの特性を考慮せずに、Ｖ−Ｐマッピングを静的に又は適応式に定義することが可能である。しかしながら、そのような解決策では、おそらく、最も性能の低いメモリユニットがメモリ装置の全体的性能を支配することになる。対照的に、ここに開示する技術は、Ｖ−Ｐマッピングを各メモリユニットの実際の個々の特性に適応させ、その結果、メモリ装置の性能が全体的に良好なものとなる。
【００１８】
システムの説明
図１は、本発明の一実施形態によるデータ記憶システム２０を概略的に示すブロック図である。システム２０は、メモリ装置２２及びホスト２４を備えている。メモリ装置２２は、ホスト２４から記憶のためのデータを受け容れ、それをメモリに記憶し、メモリからデータを検索し、それをホストへ供給する。
【００１９】
種々の実施形態において、メモリ装置２２は、例えば、個人用又は移動コンピューティング装置或いは企業用システムのためのデータを記憶するソリッドステートドライブ（ＳＳＤ）、或いはセルラーホン、メディアプレーヤ、デジタルカメラ又は他のホストのためのデータを記憶するマイクロセキュアデジタル（μＳＤ）カードを含む。別の実施形態では、メモリ装置２２は、データが記憶及び検索される他の適当なアプリケーションに使用されると共に、他の適当なホストと共に使用される。
【００２０】
メモリ装置２２は、複数のメモリユニット２８を含む。ここに示す例では、各メモリユニット２８は、複数の不揮発性アナログメモリセルより成る各フラッシュダイを含む。従って、ここでは、「メモリユニット」及び「ダイ」という語が交換可能に使用される。メモリセルは、例えば、ＮＡＮＤフラッシュセル、ＮＯＲ又は電荷トラップフラッシュ（ＣＴＦ）フラッシュセル、相変化ＲＡＭ（ＰＲＡＭ、これは相変化メモリＰＣＭとも称される）セル、ニトライドリードオンリメモリ（ＮＲＯＭ）セル、強誘電性ＲＡＭ（ＦＲＡＭ（登録商標））及び／又は磁気ＲＡＭ（ＭＲＡＭ）セル、又は他の適当なメモリ技術を含む。
【００２１】
本特許出願及び特許請求の範囲の文脈において、「アナログメモリセル」という語は、電圧又は電荷のような物理的パラメータの連続的アナログ値を保持するメモリセルを記述するのに使用される。上述した形式のような、適当な形式のアナログメモリセルを使用することができる。ここに示す例では、各メモリユニット２８は、ＮＡＮＤフラッシュセルの不揮発性メモリを含む。セルに記憶される電荷レベル及び／又はセルに書き込まれ及び読み出されるアナログ電圧又は電流は、ここでは、総体的に、アナログ値又は記憶値と称される。
【００２２】
メモリ装置２２は、プログラミングレベルとも称される各メモリ状態をとるようにセルをプログラミングすることにより、アナログメモリセルにデータを記憶する。プログラミングレベルは、考えられるレベルの限定セットから選択され、各レベルは、ある公称記憶値に対応している。例えば、２ビット／セルＭＬＣは、４つの考えられる公称記憶値の１つをセルに書き込むことにより４つの考えられるプログラミングレベルの１つをとるようにプログラムされる。メモリセルは、典型的に、行及び列に配列される。典型的に、所与のメモリユニットは、複数の消去ブロック（メモリブロックとも称される）、即ち一緒に消去されるメモリセルのグループを含む。
【００２３】
種々の実施形態において、各メモリユニット２８は、パッケージされた装置又は非パッケージ型の半導体チップ又はダイを含む。一般的に、メモリ装置２２は、望ましい形式及びサイズの適当な数のメモリ装置を含む。
【００２４】
メモリ装置２２は、メモリコントローラ３２を備え、このコントローラは、ホスト２４からのデータを受け容れて、それをメモリユニット２８に記憶すると共に、メモリユニットからデータを検索して、それをホストに与える。メモリコントローラ３２は、ホスト２４と通信するためのホストインターフェイス３６と、メモリユニット２８と通信するためのメモリインターフェイス４０と、記憶され及び検索されたデータを処理するプロセッサ４４とを備えている。例えば、プロセッサ４４は、記憶のためのデータをエラー修正コード（ＥＣＣ）でエンコードし、そしてメモリから読み取られたデータのＥＣＣをデコードする。プロセッサ４４の機能は、例えば、適当な中央処理ユニット（ＣＰＵ）で実行されるソフトウェアを使用し、又はハードウェア（例えば、状態マシン又は他のロジック）を使用し、又はソフトウェア及びハードウェア要素の組み合わせを使用して、実施される。
【００２５】
メモリコントローラ３２、特に、プロセッサ４４は、ハードウェアで実施される。或いは又、メモリコントローラは、適当なソフトウェアを実行するマイクロプロセッサ、又はハードウェア及びソフトウェア要素の組み合わせを含んでもよい。ある実施形態では、プロセッサ４４は、ここに述べる機能を実行するようソフトウェアでプログラムされた汎用プロセッサを含む。ソフトウェアは、例えば、ネットワークを経て電子的形態でプロセッサへダウンロードされるか、或いはそれとは別に又はそれに加えて、磁気、光学又は電子メモリのような有形のメモリに設けられ及び／又は記憶されてもよい。
【００２６】
図１のシステム構成は、概念の明瞭化のために単純に示された例示的構成である。他の適当なメモリシステム構成を使用することもできる。例えば、ある実施形態では、２つ以上のメモリコントローラ３２が同じホストに接続されてもよい。本発明の原理を理解する上で必要のない要素、例えば、種々のインターフェイス、アドレス回路、タイミング及びシーケンス回路、並びにデバッグ回路は、明瞭化のために図面から省略されている。
【００２７】
図１に示す例示的なシステム構成では、メモリユニット２８及びメモリコントローラ３２は、個別の集積回路（ＩＣ）として実施される。しかしながら、別の実施形態では、メモリユニット及びメモリコントローラは、単一のマルチチップパッケージ（ＭＣＰ）又はシステムオンチップ（ＳｏＣ）において個別の半導体ダイ上に一体化され、そして内部バスにより相互接続される。更に、それとは別に、１つ以上のメモリユニットが配置される同じダイ上にメモリコントローラ回路の幾つか又は全部が常駐してもよい。更に、それとは別に、メモリコントローラ３２の機能の幾つか又は全部がソフトウェアで具現化されて、ホスト２４又は他の形式のメモリコントローラにより実行されてもよい。ある実施形態では、ホスト２４及びメモリコントローラ３２は、同じ装置パッケージにおいて同じダイ又は個別のダイ上に製造されてもよい。
【００２８】
推定ダイ特性に基づくＮＡＮＤダイへの論理的アドレスの指定
メモリ装置２２において、メモリコントローラ３２は、メモリユニット２８にデータをページ単位で書き込むが、消去は、メモリブロック全体に適用される。データは、消去されたページのみに書き込まれ、それ故、データをその場で更新することはできない。フラッシュメモリのこの特性により、メモリコントローラ３２のプロセッサ４４は、典型的に、仮想的・対・物理的（Ｖ−Ｐ）アドレスマッピングスキームを適用する。Ｖ−Ｐマッピングを使用するときには、記憶のためのデータアイテムが、論理的ブロックアドレス（ＬＢＡ）とも称される各仮想アドレスと共に、ホスト２４から受け取られる。プロセッサ４４は、仮想アドレスを、データを記憶すべきメモリユニット２８内の各物理的記憶位置へと変換する。
【００２９】
従って、データアイテムを更新することは、更新されたデータアイテムを別の物理的な記憶位置へ書き込み、データの以前のバージョンを無効とマークし、そしてデータアイテムの新たな物理的記憶位置を指示するようにＶ−Ｐアドレスマッピングを動的に更新することを含む。
【００３０】
ある実施形態では、プロセッサ４４は、個々のフラッシュダイ２８の幾つかの特性を推定し、そしてその推定された特性に基づいてＶ−Ｐアドレスマッピングを適応させる。典型的に、プロセッサ４４は、複数のダイにわたり特性のバランスをとるようにＶ−Ｐマッピングを適用させる。
【００３１】
以下のリストは、プロセッサ４４が各ダイ２８に対して推定する特性の幾つかの例を示している。又、このリストは、Ｖ−Ｐマッピングを適応させることにより各特性のバランスをとるための理論的根拠も示す。
【００３２】
・消去されて新たなプログラミングに利用可能なダイにおけるメモリブロックの数。典型的に、各ダイには同様の数の空きブロックがあることが望ましい。この種のバランスをとることで、メモリコントローラは、ダイ２８におけるデータの記憶及び検索の並列性を最大にすることができる。
【００３３】
・欠陥メモリブロック（不良ブロック）の数。欠陥ブロックは、製造中又はホストシステムでの使用中に識別されて不良とマークされる。不良ブロックは、メモリ装置のオーバープロビジョニングを減少し、最終的に、データロスを引き起こすことがある。並列性を最大にするためにダイ当たりの不良ブロック数のバランスをとることが望ましい。更に、多数の不良ブロックをもつダイは、低い頻度で使用されるか、又は全く無視される。
【００３４】
・ダイにおいて所与の形式のメモリアクセスコマンド（例えば、プログラム、読み取り又は消去コマンド）を遂行するのに必要な期間。種々のダイにおける実行時間の差に基づいてメモリアクセスオペレーションを分配することは、全記憶レイテンシーを減少する上で役立つ。例えば、頻繁にアクセスされるデータは、高速のダイに書き込まれ、そして滅多にアクセスされないデータは、低速のダイに書き込まれる。
【００３５】
・ダイのエラー性能、例えば、ダイからのデータの読み出しにおいて修正されるエラーの数。種々のダイのエラー性能の差に基づいてメモリアクセスオペレーションを分散することは、全エラー確立を減少する上で助けとなる。この種のバランスをとることで、管理オーバーヘッドも減少できる。というのは、エラー傾向のあるダイは、典型的に、メモリコントローラに高い管理オーバーヘッドを招く。
【００３６】
・ダイの推定耐久性、例えば、ダイがその寿命の終わりに達するまでに残っているプログラミング及び消去（Ｐ／Ｅ）の予想数。耐久性は、最大値又は平均耐久性として定量化され、そして製造中に、及び／又はホストシステムにおけるメモリ装置の使用の寿命に沿って、推定される。種々のダイの予想耐久性のバランスをとることで、メモリ装置の全体的な耐久性が改善される。
【００３７】
・ダイにおける頻繁に使用される（ホット）データ及び／又は滅多に使用されない（コールド）データの存在。この特性のバランスをとることで、レイテンシーが減少されると共に、ユーザの経験が改善される。
【００３８】
・ダイにおける実行が現在保留となっているメモリアクセスコマンドの数。例えば、あまりビジーでないダイに優先権を与えることで、この特性のバランスをとると、並列性が高くなると共に、メモリ装置の全体的なレイテンシーが減少される。
【００３９】
上述した特性及びバランス基準は、一例として単純に選択されたものである。別の実施形態では、プロセッサ４４は、他の適当なダイ特性に基づいてＶ−Ｐマッピングを適応させる。ある実施形態では、プロセッサ４４は、ダイごとに複数の異なる特性を推定し、そしてそれら推定値の組み合わせに基づいてＶ−Ｐマッピングを適応させる。
【００４０】
各々の特性は、ダイ２８又はメモリ装置２２のいずれかの製造中に推定され、このケースでは、プロセッサ４４は、外部ソースから推定値に関する情報を受け容れる。それに加えて又はそれとは別に、プロセッサ４４は、ホストシステムにおけるメモリ装置２２の動作中に所与の特性を推定又は再推定する。例えば、プロセッサ４４は、製造テストから各ダイの予想耐久性の初期推定値を受け容れ、そしてホストシステムにおけるメモリ装置の動作中に耐久性を再推定する。多数の不良ブロックに対して同様のプロセスを遂行することができる。
【００４１】
種々の実施形態において、プロセッサ４４は、Ｖ−Ｐマッピングを異なる仕方で適応させる。例示的な実施形態では、プロセッサ４４は、重み付けラウンドロビンスケジューリングスキームを使用して、ＬＢＡを物理的記憶位置へマップする。そのようなプロセスでは、プロセッサ４４は、メモリユニット２８の間を繰り返し交番させる。所与の時点で、繰り返し交番順序に従い、メモリユニットの１つが、次に到来するデータアイテムを記憶する次のメモリユニットとして選択される。データアイテムを記憶のために受け取ると、プロセッサ４４は、データアイテムの論理的アドレスを、現在選択されているメモリユニット内の物理的記憶位置へマップさせる。
【００４２】
重み付けラウンドロビンスキームを使用するとき、プロセッサ４４は、各重みを各メモリユニット２８に指定する。重みは、繰り返し交番順序でそのメモリユニットにデータが記憶される相対的な頻度を定義する。例えば、あるメモリユニットの重みが別のメモリユニットの重みの２倍である場合には、プロセッサ４４は、典型的に、前者のメモリユニットに、後者のメモリユニットのデータ量の２倍を記憶する。
【００４３】
ある実施形態では、プロセッサ４４は、重み付けラウンドロビンスキームに使用される重みを適応させることで（推定ダイ特性に基づいて）Ｖ−Ｐマッピングを適応させる。典型的に、（例えば、予想耐久性が高いか又は不良ブロックの数が少ないために）データアイテムを高い頻度で記憶するメモリユニットには大きな重みが指定され、そしてその逆のことも言える。プロセッサ４４は、メモリユニットの特性のばらつきを追跡するために、時間と共に重みを変更する。ある実施形態では、プロセッサ４４は、異なるメモリアクセスオペレーションに対して異なる重みを使用する。例示的な実施形態において、プロセッサ４４は、異なる使用パターンに対して異なる重みを指定し、例えば、ランダム記憶に対して１組の重みを、そして順次記憶に対して別の組の重みを指定する。
【００４４】
図２は、本発明の一実施形態による論理的・対・物理的アドレスマッピングの方法を概略的に示すフローチャートである。この方法は、メモリコントローラ３２のプロセッサ４４が、特性推定ステップ５０において、メモリダイ２８の各特性を推定することで開始される。
【００４５】
推定ダイ特性に基づいて、プロセッサ４４は、重み指定ステップ５４において、ラウンドロビンスケジューリングスキームに使用されるべきダイ２８の各重みを定義する。プロセッサ４４は、マッピングステップ５８において、到来データアイテムの論理的アドレスを、重みに基づいて各物理的位置へマップする。換言すれば、プロセッサ４４は、重み付けラウンドロビンスケジューリングスキームにおいてＬＢＡをダイ２８へマップし、ここで、重みは、推定ダイ特性に基づいて決定される。プロセッサ４４は、記憶ステップ６２において、そのマッピングに基づいてデータアイテムをダイ２８に記憶する。
【００４６】
別の実施形態では、プロセッサ４４は、必ずしもラウンドロビンスケジューリングを含まない他の適当な仕方でＶ−Ｐマッピングを適応させそして適用する。
【００４７】
ある実施形態では、プロセッサ４４は、Ｖ−Ｐマッピングを、記憶のために受け取ったデータアイテムにリアルタイムで適応させる。それらの実施形態では、プロセッサ４４は、適応されたマッピングに基づきホスト２４から受け容れられた各データアイテムを記憶する。
【００４８】
別の実施形態では、プロセッサ４４は、オフラインバックグランドプロセスにおいてＶ−Ｐマッピングを適応させる。これらの実施形態では、プロセッサ４４は、Ｖ−Ｐマッピングの初期設定に従って到来データアイテムを最初に記憶し、その後、Ｖ−Ｐマッピングを適応させ、そしてデータアイテムの少なくとも幾つかを、その適応されたＶ−Ｐマッピングに従って別の物理的記憶位置へコピーする。
【００４９】
例示的実施形態において、プロセッサ４４は、書き込みレイテンシーを最適化するＶ−Ｐマッピング、例えば、各メモリダイ２８の平均プログラミング時間に基づくマッピングに従って到来データアイテムを最初に記憶する。その後に、プロセッサ４４は、読み出しレイテンシーを最適化するためのＶ−Ｐマッピングを、例えば、各メモリダイ２８の平均読み出し時間に基づくマッピングへと変更する。このバックグランド技術は、プログラミング及び読み出しレイテンシーの両方を最適化する。
【００５０】
ここに述べた実施形態は、主として、フラッシュダイに向けられたが、ここに述べた方法及びシステムは、望ましいサイズの他の適当なメモリユニット、例えば、パッケージされた装置、又はダイ内のブロックのグループ（例えば、メモリプレーン）の特性に基づいてＶ−Ｐマッピングを適応させるのにも使用できる。
【００５１】
従って、以上に述べた実施形態は、一例に過ぎず、本発明は、特に図示して上述したものに限定されないことが明らかであろう。むしろ、本発明の範囲は、上述した種々の特徴の組み合わせ及びサブ組み合わせと、従来技術に開示されておらずに以上の説明を読んだときに当業者に明らかとなるその変更及び修正との両方を包含する。本特許出願に参考として援用された文書は、本出願の一体的部分とみなすべきであるが、それらの援用された文書に定義された用語が、本出願に明示的又は暗示的になされた定義と矛盾する場合には、本出願における定義だけを考慮するものとする。
【符号の説明】
【００５２】
２０：データ記憶システム
２２：メモリ装置
２４：ホスト
２８：メモリユニット
３２：メモリコントローラ
３６：ホストインターフェイス
４０：メモリインターフェイス
４４：プロセッサ
【図１】
0005923844.tif 000002
【図２】
0005923844.tif 000003