(57)【要約】  固体メモリシステムは、第１書き込みサイクル寿命を有する第１不揮発性半導体（ＮＶＳ）メモリと、第１書き込みサイクル寿命と異なる第２書き込みサイクル寿命を有する第２不揮発性半導体（ＮＶＳ）メモリと、ウェアレベリングモジュールと、を備える。ウェアレベリングモジュールは、第１および第２書き込みサイクル寿命に基づいて第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成し、第１および第２消耗レベルに基づいて、第１および第２ＮＶＳメモリのいずれかの物理アドレスに論理アドレスをマッピングする。【選択図】  図３
2010512569.tif 000002
【特許請求の範囲】
【請求項１】
第１書き込みサイクル寿命を有する第１不揮発性半導体（ＮＶＳ）メモリと、
前記第１書き込みサイクル寿命と異なる第２書き込みサイクル寿命を有する第２不揮発性半導体（ＮＶＳ）メモリと、
前記第１および第２書き込みサイクル寿命に基づいて、前記第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成し、前記第１および第２消耗レベルに基づいて、前記第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングする、ウェアレベリングモジュールと、を備える、固体メモリシステム。
【請求項２】
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、請求項１に記載の固体メモリシステム。
【請求項３】
前記ウェアレベリングモジュールは、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする、請求項１に記載の固体メモリシステム。
【請求項４】
前記第１ＮＶＳメモリは、前記第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する、請求項１に記載の固体メモリシステム。
【請求項５】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信するマッピングモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、請求項１に記載の固体メモリシステム。
【請求項６】
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記２論理アドレスのマッピングをバイアスする、請求項５に記載の固体メモリシステム。
【請求項７】
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する書き込みモニタモジュールをさらに備える、請求項５に記載の固体メモリシステム。
【請求項８】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、請求項１に記載の固体メモリシステム。
【請求項９】
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする、請求項８に記載の固体メモリシステム。
【請求項１０】
劣化テストモジュールをさらに備え、
前記劣化テストモジュールは、
第１所定時間に前記物理アドレスの１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成し、
第２所定時間に前記物理アドレスの前記１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成し、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する、請求項１に記載の固体メモリシステム。
【請求項１１】
前記ウェアレベリングモジュールは、前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする、請求項１０に記載の固体メモリシステム。
【請求項１２】
前記第２消耗レベルが第１所定閾値以上の場合、前記ウェアレベリングモジュールは前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングし、
前記第１消耗レベルが第２所定閾値以上の場合、前記ウェアレベリングモジュールは、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする、請求項１に記載の固体メモリシステム。
【請求項１３】
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、請求項１に記載の固体メモリシステム。
【請求項１４】
前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する、請求項１に記載の固体メモリシステム。
【請求項１５】
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、請求項１４に記載の固体メモリシステム。
【請求項１６】
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、請求項１に記載の固体メモリシステム。
【請求項１７】
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、請求項１６に記載の固体メモリシステム。
【請求項１８】
前記第１書き込みサイクル寿命は前記第２書き込みサイクル寿命より短い、請求項１に記載の固体メモリシステム。
【請求項１９】
第１および第２不揮発性半導体（ＮＶＳ）メモリにそれぞれ対応する第１および第２書き込みサイクル寿命に基づいて、前記第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成する段階と、
前記第１および第２消耗レベルに基づいて前記第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングする段階と、を備える、方法。
【請求項２０】
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、請求項１９に記載の方法。
【請求項２１】
前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする段階をさらに備える、請求項１９に記載の方法。
【請求項２２】
前記第１ＮＶＳメモリは、前記第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する、請求項１９に記載の方法。
【請求項２３】
前記第１書き込みサイクル寿命は前記第２書き込みサイクル寿命より短い、請求項１９に記載の方法。
【請求項２４】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする段階と、をさらに備える、請求項１９に記載の方法。
【請求項２５】
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、請求項２４に記載の方法。
【請求項２６】
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、
前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える、請求項２４に記載の方法。
【請求項２７】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする段階と、をさらに備える、請求項１９に記載の方法。
【請求項２８】
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、請求項２７に記載の方法。
【請求項２９】
第１所定時間に前記物理アドレスの１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成する段階と、
第２所定時間に前記物理アドレスの前記１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成する段階と、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する段階と、をさらに備える、請求項１９に記載の方法。
【請求項３０】
前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする段階をさらに備える、請求項２９に記載の方法。
【請求項３１】
前記第２消耗レベルが第１所定閾値以上の場合、前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングする段階と、
前記第１消耗レベルが第２所定閾値以上の場合、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする段階と、をさらに備える、請求項１９に記載の方法。
【請求項３２】
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階を備える、請求項１９に記載の方法。
【請求項３３】
前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える、請求項１９に記載の方法。
【請求項３４】
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える、請求項３３に記載の方法。
【請求項３５】
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、請求項１９に記載の方法。
【請求項３６】
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、請求項３５に記載の方法。
【請求項３７】
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、請求項１に記載の固体メモリシステム。
【請求項３８】
前記第１ＮＶＳメモリは第１アクセス時間を有し、
前記第２ＮＶＳメモリは、前記第１アクセス時間より短い第２アクセス時間を有し、
前記ウェアレベリングモジュールは、第１論理アドレスを前記第１ＮＶＳメモリにマッピングし、第２論理アドレスを前記第２ＮＶＳメモリにマッピングし、
前記第１論理アドレスは、前記第２論理アドレスよりもアクセスの頻度が低い、請求項１に記載の固体メモリシステム。
【請求項３９】
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、請求項１９に記載の方法。
【請求項４０】
前記第１ＮＶＳメモリは第１アクセス時間を有し、
前記第２ＮＶＳメモリは、前記第１アクセス時間より短い第２アクセス時間を有し、
前記方法は、第１論理アドレスを前記第１ＮＶＳメモリにマッピングし、第２論理アドレスを前記第２ＮＶＳメモリにマッピングする段階をさらに備え、
前記第１論理アドレスは、前記第２論理アドレスよりもアクセスの頻度が低い、請求項１９に記載の方法。
【請求項４１】
第１アクセス時間および第１容量を有する第１不揮発性半導体（ＮＶＳ）メモリと、
前記第１アクセス時間より短い第２アクセス時間、および、前記第１容量とは異なる第２容量を有する第２不揮発性半導体（ＮＶＳ）メモリと、
前記第１アクセス時間、前記第２アクセス時間、前記第１容量、および前記第２容量のうち少なくとも１つに基づいて、前記第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングするマッピングモジュールと、を備える、固体メモリシステム。
【請求項４２】
前記マッピングモジュールは、前記第２ＮＶＳメモリにデータをキャッシュする、請求項４１に記載の固体メモリシステム。
【請求項４３】
前記第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタするウェアレベリングモジュールをさらに備え、
前記第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する、請求項４１に記載の固体メモリシステム。
【請求項４４】
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、請求項４３に記載の固体メモリシステム。
【請求項４５】
前記ウェアレベリングモジュールは、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする、請求項４３に記載の固体メモリシステム。
【請求項４６】
前記マッピングモジュールは、前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信し、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、請求項４３に記載の固体メモリシステム。
【請求項４７】
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする、請求項４６に記載の固体メモリシステム。
【請求項４８】
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する書き込みモニタモジュールをさらに備える、請求項４６に記載の固体メモリシステム。
【請求項４９】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、請求項４３に記載の固体メモリシステム。
【請求項５０】
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする、請求項４９に記載の固体メモリシステム。
【請求項５１】
劣化テストモジュールをさらに備え、
前記劣化テストモジュールは、
第１所定時間に前記物理アドレスの１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成し、
第２所定時間に前記物理アドレスの前記１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成し、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する、請求項４３に記載の固体メモリシステム。
【請求項５２】
前記ウェアレベリングモジュールは、前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする、請求項５１に記載の固体メモリシステム。
【請求項５３】
前記第２消耗レベルが所定の閾値以上の場合、前記ウェアレベリングモジュールは前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングし、
前記第１消耗レベルが所定の閾値以上の場合、前記ウェアレベリングモジュールは、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする、請求項４１に記載の固体メモリシステム。
【請求項５４】
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、請求項４１に記載の固体メモリシステム。
【請求項５５】
前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する、請求項４１に記載の固体メモリシステム。
【請求項５６】
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、請求項５５に記載の固体メモリシステム。
【請求項５７】
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、請求項４１に記載の固体メモリシステム。
【請求項５８】
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、請求項５７に記載の固体メモリシステム。
【請求項５９】
論理アドレスを含むアクセスコマンドを受信する段階と、
前記論理アドレスを、第１アクセス時間、第２アクセス時間、第１容量、および第２容量のうち少なくとも１つに基づいて、第１および第２不揮発性半導体（ＮＶＳ）メモリのうちいずれかの物理アドレスにマッピングする段階と、を備え、
前記第１ＮＶＳメモリは、前記第１アクセス時間および前記第１容量を有し、
前記第２ＮＶＳメモリは、前記第１アクセス時間より短い前記第２アクセス時間と、前記第１容量より小さい前記第２容量とを有する、方法。
【請求項６０】
前記第２ＮＶＳメモリにデータをキャッシュする段階をさらに備える、請求項５９に記載の方法。
【請求項６１】
前記第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタする段階をさらに備え、
前記第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する、請求項５９に記載の方法。
【請求項６２】
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、請求項６１に記載の方法。
【請求項６３】
前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする段階をさらに備える、請求項６１に記載の方法。
【請求項６４】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、請求項６１に記載の方法。
【請求項６５】
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、請求項６４に記載の方法。
【請求項６６】
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、
前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える、請求項６４に記載の方法。
【請求項６７】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする段階と、をさらに備える、請求項６１に記載の方法。
【請求項６８】
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、請求項６７に記載の方法。
【請求項６９】
第１所定時間に前記物理アドレスの１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成する段階と、
第２所定時間に前記物理アドレスの前記１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成する段階と、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する段階と、をさらに備える、請求項６１に記載の方法。
【請求項７０】
前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする段階をさらに備える、請求項６９に記載の方法。
【請求項７１】
前記第２消耗レベルが所定の閾値以上の場合、前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングする段階と、
前記第１消耗レベルが所定の閾値以上の場合、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする段階と、をさらに備える、請求項５９に記載の方法。
【請求項７２】
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階を備える、請求項５９に記載の方法。
【請求項７３】
前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える、請求項５９に記載の方法。
【請求項７４】
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える、請求項７３に記載の方法。
【請求項７５】
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、請求項５９に記載の方法。
【請求項７６】
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、請求項７５に記載の方法。
【請求項７７】
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、請求項４１に記載の固体メモリシステム。
【請求項７８】
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、請求項５９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００７年１２月７日出願の米国出願番号第１１／９５２，６４８および２００６年１２月１１日出願の米国仮出願番号６０／８６９，４９３の恩恵を享受する。これら出願の開示の全体をここに参照として組み込む。
【０００２】
本開示は、固体メモリに係り、より詳しくはハイブリッド不揮発性固体メモリに係る。
【背景技術】
【０００３】
ここに記載する背景技術は、本開示の主旨を述べることを目的としている。本背景技術に記載されている範囲の現在の発明者の業績は、および、出願時にはさもなくば先行技術となりえない記載の側面は、いずれも、本開示に対する先行技術であると明示も、暗に自認もしたことにはならない。
【０００４】
電荷記憶デバイスを利用するフラッシュメモリチップは、半導体ベースの大容量記憶デバイスの主流なチップタイプとなっている。電荷記憶デバイスは、記憶データファイルが音楽および画像ファイルを含む用途には特に適している。しかしながら電荷記憶デバイスには書き込みサイクル数に制限があり、制限を越えた後はデータ記憶を確実に行えなくなる。
【０００５】
書き込みサイクル数が制限されていても、取り外し可能なＵＳＢ（universal serial bus）ドライブ、ＭＰ３（MPEG Layer 3）、およびデジタルカメラメモリカード等の多くの用途においては問題がない場合がある。しかし、コンピュータシステム内蔵の主要データドライブの代替物として考えると、書き込みサイクル数が制限されていると問題がある場合がある。
【０００６】
１記憶セルについて１ビットを記憶する低密度フラッシュデバイスは、通常１００，０００書き込みサイクルという桁の使用寿命を有する。フラッシュデバイスはコスト低減を目的として１記憶セルについて２ビットを記憶する場合がある。しかし１記憶セルについて２ビットを記憶すると、デバイスの使用寿命は１０，０００書き込みサイクルの桁のレベルにまで低減される。
【０００７】
フラッシュデバイスは、特に大容量記憶の一部を仮想メモリページ空間として利用する場合、大容量記憶装置として機能するのに十分な寿命を有しない場合がある。仮想メモリページ空間は、ＲＡＭ（ランダムアクセスメモリ）内に利用可能な空間が少ない場合、ＲＡＭからのデータを記憶すべくオペレーティングシステムにより利用される。ここではあくまで一例として、フラッシュメモリチップが２ＧＢ（ギガバイト）の容量を有してよいことにして、１セルについて２ビットを記憶して、約４ＭＢ／ｓ（メガバイト／秒）の書き込みスループットを有してよいことにする。このようなフラッシュメモリチップでは、理論上、５００秒毎にチップに１ビットを書き込むことができる（つまり、２Ｅ９バイト／４Ｅ６バイト／ｓ）。
【０００８】
そうすると、理論上は各ビットを５Ｅ６秒という短期間において１０，０００回も書き込めることになり（１Ｅ４サイクル＊５Ｅ２秒）、これは２ヶ月未満である。しかし実際には、殆どのドライブは１００パーセントのデューティサイクルでの書き込みはできない。より現実的な書き込みデューティサイクルは１０％程であり、これもコンピュータが継続的にアクティブであり、仮想メモリページ動作を行う場合に起こることが多い。１０％の書き込みデューティサイクルでは、フラッシュデバイスの使用寿命は約２０ヶ月で枯渇してしまう。これに比して、磁気ハードディスク記憶デバイスは通常、予想寿命が１０年を上回る。
【０００９】
図１は先行技術による固体ディスクの機能ブロック図である。固体ディスク１００は、コントローラ１０２およびフラッシュメモリ１０４を含む。コントローラ１０２はホスト（不図示）から命令およびデータを受信する。メモリアクセスが必要な場合、コントローラ１０２はフラッシュメモリ１０４にデータを読み書きして、ホストにこの情報を伝達する。
【００１０】
フラッシュメモリ１０４の１領域は、書き込みまたは消去が所定回数行われた後で記憶が確実には行われない可能性がある。この所定回数は、フラッシュメモリ１０４の書き込みサイクル寿命と称される。ひとたびフラッシュメモリ１０４の書き込みサイクル寿命に達してしまうと、コントローラ１０２はフラッシュメモリ１０４に対して確実にデータ記憶ができなくなり、固体ディスク１００は利用できなくなることがある。
【発明の開示】
【００１１】
固体メモリシステムは、第１書き込みサイクル寿命を有する第１不揮発性半導体（ＮＶＳ）メモリと、第１書き込みサイクル寿命と異なる第２書き込みサイクル寿命を有する第２不揮発性半導体（ＮＶＳ）メモリと、ウェアレベリングモジュールと、を備える。ウェアレベリングモジュールは、第１および第２書き込みサイクル寿命に基づいて第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成し、第１および第２消耗レベルに基づいて、第１および第２ＮＶＳメモリのいずれかの物理アドレスに論理アドレスをマッピングする。
【００１２】
第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。ウェアレベリングモジュールは、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする。第１ＮＶＳメモリは、第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する。
【００１３】
さらに、固体メモリシステムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信するマッピングモジュールをさらに備え、ウェアレベリングモジュールは、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。
【００１４】
またさらに、ウェアレベリングモジュールは、第１ＮＶＳメモリの物理アドレスへの２論理アドレスのマッピングをバイアスする。固体メモリシステムは、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する書き込みモニタモジュールをさらに備える。
【００１５】
さらに、固体メモリシステムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、ウェアレベリングモジュールは、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。ウェアレベリングモジュールは、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする。
【００１６】
さらに、固体メモリシステムは、劣化テストモジュールをさらに備え、劣化テストモジュールは、第１所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成し、第２所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成し、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する。
【００１７】
またさらに、ウェアレベリングモジュールは、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする。第２消耗レベルが第１所定閾値以上の場合、ウェアレベリングモジュールは論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングし、第１消耗レベルが第２所定閾値以上の場合、ウェアレベリングモジュールは、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする。
【００１８】
所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、ウェアレベリングモジュールは、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。ウェアレベリングモジュールは、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する。
【００１９】
さらに、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、ウェアレベリングモジュールは、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。第１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。第１書き込みサイクル寿命は第２書き込みサイクル寿命より短い。
【００２０】
方法は、第１および第２不揮発性半導体（ＮＶＳ）メモリにそれぞれ対応する第１および第２書き込みサイクル寿命に基づいて、第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成する段階と、第１および第２消耗レベルに基づいて第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングする段階と、を備える。
【００２１】
また、第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。方法は、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする段階をさらに備える。
【００２２】
さらにまた、第１ＮＶＳメモリは、第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する。第１書き込みサイクル寿命は第２書き込みサイクル寿命より短い。方法は、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする段階と、をさらに備える。
【００２３】
またさらに、方法は、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。方法は、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える。
【００２４】
さらに、方法は、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする段階と、をさらに備える。方法は、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。
【００２５】
方法は、第１所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成する段階と、第２所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成する段階と、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する段階と、をさらに備える。
【００２６】
また、方法は、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする段階をさらに備える。方法は、第２消耗レベルが第１所定閾値以上の場合、論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングする段階と、第１消耗レベルが第２所定閾値以上の場合、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする段階と、をさらに備える。
【００２７】
また、所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階を備える。方法は、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える。
【００２８】
また、方法は、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える。第１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。
【００２９】
固体メモリシステムを動作させるのにプロセッサが利用すべく記憶されるコンピュータプログラムは、第１および第２不揮発性半導体（ＮＶＳ）メモリにそれぞれ対応する第１および第２書き込みサイクル寿命に基づいて、第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成する段階と、第１および第２消耗レベルに基づいて第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングする段階と、を備える。
【００３０】
また、第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。コンピュータプログラムは、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする段階をさらに備える。
【００３１】
さらにまた、第１ＮＶＳメモリは、第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する。第１書き込みサイクル寿命は第２書き込みサイクル寿命より短い。方法は、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする段階と、をさらに備える。
【００３２】
またさらに、コンピュータプログラムは、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。コンピュータプログラムは、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える。
【００３３】
さらに、コンピュータプログラムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする段階と、をさらに備える。コンピュータプログラムは、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。
【００３４】
コンピュータプログラムは、第１所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成する段階と、第２所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成する段階と、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する段階と、をさらに備える。
【００３５】
また、コンピュータプログラムは、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする段階をさらに備える。コンピュータプログラムは、第２消耗レベルが第１所定閾値以上の場合、論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングする段階と、第１消耗レベルが第２所定閾値以上の場合、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする段階と、をさらに備える。
【００３６】
また、所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階を備える。コンピュータプログラムは、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える。
【００３７】
また、コンピュータプログラムは、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える。第１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。
【００３８】
固体メモリシステムは、第１書き込みサイクル寿命を有する第１不揮発性半導体（ＮＶＳ）メモリと、第１書き込みサイクル寿命と異なる第２書き込みサイクル寿命を有する第２不揮発性半導体（ＮＶＳ）メモリと、ウェアレベリング手段と、を備える。ウェアレベリング手段は、第１および第２書き込みサイクル寿命に基づいて第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成し、第１および第２消耗レベルに基づいて、第１および第２ＮＶＳメモリのいずれかの物理アドレスに論理アドレスをマッピングする。
【００３９】
第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。ウェアレベリング手段は、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする。第１ＮＶＳメモリは、第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する。
【００４０】
さらに、第１書き込みサイクル寿命は、第２書き込みサイクル寿命より短い。さらに、固体メモリシステムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信するマッピング手段をさらに備え、ウェアレベリング手段は、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。
【００４１】
またさらに、ウェアレベリング手段は、第１ＮＶＳメモリの物理アドレスへの２論理アドレスのマッピングをバイアスする。固体メモリシステムは、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する書き込みモニタ手段をさらに備える。
【００４２】
さらに、固体メモリシステムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタ手段をさらに備え、ウェアレベリング手段は、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。ウェアレベリング手段は、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする。
【００４３】
さらに、固体メモリシステムは、劣化テスト手段をさらに備え、劣化テスト手段は、第１所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成し、第２所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成し、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する。
【００４４】
またさらに、ウェアレベリング手段は、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする。第２消耗レベルが第１所定閾値以上の場合、ウェアレベリング手段は論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングし、第１消耗レベルが第２所定閾値以上の場合、ウェアレベリング手段は、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする。
【００４５】
所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、ウェアレベリング手段は、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。ウェアレベリング手段は、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する。
【００４６】
さらに、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、ウェアレベリング手段は、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。第１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。
【００４７】
固体メモリシステムは、第１アクセス時間および第１容量を有する第１不揮発性半導体（ＮＶＳ）メモリと、第１アクセス時間より短い第２アクセス時間、および、第１容量とは異なる第２容量を有する第２不揮発性半導体（ＮＶＳ）メモリと、第１アクセス時間、第２アクセス時間、第１容量、および第２容量のうち少なくとも１つに基づいて、第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングするマッピングモジュールと、を備える。
【００４８】
マッピングモジュールは、第２ＮＶＳメモリにデータをキャッシュする。固体メモリシステムは、第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタするウェアレベリングモジュールをさらに備え、第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する。
【００４９】
さらに、第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。ウェアレベリングモジュールは、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする。
【００５０】
またさらに、マッピングモジュールは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信し、ウェアレベリングモジュールは、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。ウェアレベリングモジュールは、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする。
【００５１】
さらに、固体メモリシステムは、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する書き込みモニタモジュールをさらに備える。固体メモリシステムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、ウェアレベリングモジュールは、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。
【００５２】
ウェアレベリングモジュールは、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする。固体メモリシステムは、劣化テストモジュールをさらに備え、劣化テストモジュールは、第１所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成し、第２所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成し、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する。
【００５３】
ウェアレベリングモジュールは、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする。第２消耗レベルが所定の閾値以上の場合、ウェアレベリングモジュールは論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングし、第１消耗レベルが所定の閾値以上の場合、ウェアレベリングモジュールは、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする。
【００５４】
さらに、所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、ウェアレベリングモジュールは、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。ウェアレベリングモジュールは、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する。
【００５５】
さらに、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、ウェアレベリングモジュールは、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。第１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。
【００５６】
方法は、論理アドレスを含むアクセスコマンドを受信する段階と、論理アドレスを、第１アクセス時間、第２アクセス時間、第１容量、および第２容量のうち少なくとも１つに基づいて、第１および第２不揮発性半導体（ＮＶＳ）メモリのうちいずれかの物理アドレスにマッピングする段階と、を備え、第１ＮＶＳメモリは、第１アクセス時間および第１容量を有し、第２ＮＶＳメモリは、第１アクセス時間より短い第２アクセス時間と、第１容量より小さい第２容量とを有する。
【００５７】
方法は、第２ＮＶＳメモリにデータをキャッシュする段階をさらに備える。方法は、第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタする段階をさらに備え、第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する。第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。
【００５８】
さらに、方法は、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする段階をさらに備える。方法は、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。
【００５９】
またさらに、方法は、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。方法は、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える。方法は、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする段階と、をさらに備える。
【００６０】
また、方法は、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。方法は、第１所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成する段階と、第２所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成する段階と、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する段階と、をさらに備える。
【００６１】
また、方法は、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする段階をさらに備える。方法は、第２消耗レベルが所定の閾値以上の場合、論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングする段階と、第１消耗レベルが所定の閾値以上の場合、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする段階と、をさらに備える。
【００６２】
またさらに、方法は、所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階を備える。方法は、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える。
【００６３】
また、方法は、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える。１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。
【００６４】
固体メモリシステムを動作させるのにプロセッサが利用すべく記憶されるコンピュータプログラムは、論理アドレスを含むアクセスコマンドを受信する段階と、論理アドレスを、第１アクセス時間、第２アクセス時間、第１容量、および第２容量のうち少なくとも１つに基づいて、第１および第２不揮発性半導体（ＮＶＳ）メモリのうちいずれかの物理アドレスにマッピングする段階と、を備え、第１ＮＶＳメモリは、第１アクセス時間および第１容量を有し、第２ＮＶＳメモリは、第１アクセス時間より短い第２アクセス時間と、第１容量より小さい第２容量とを有する。
【００６５】
コンピュータプログラムは、第２ＮＶＳメモリにデータをキャッシュする段階をさらに備える。方法は、第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタする段階をさらに備え、第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する。第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。
【００６６】
さらに、コンピュータプログラムは、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする段階をさらに備える。コンピュータプログラムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。
【００６７】
またさらに、コンピュータプログラムは、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。コンピュータプログラムは、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える。
【００６８】
コンピュータプログラムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする段階と、をさらに備える。また、コンピュータプログラムは、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする段階をさらに備える。
【００６９】
コンピュータプログラムは、第１所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成する段階と、第２所定時間に物理アドレスの１つにデータを書き込む段階と、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成する段階と、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する段階と、をさらに備える。
【００７０】
また、コンピュータプログラムは、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする段階をさらに備える。コンピュータプログラムは、第２消耗レベルが所定の閾値以上の場合、論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングする段階と、第１消耗レベルが所定の閾値以上の場合、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする段階と、をさらに備える。
【００７１】
またさらに、コンピュータプログラムは、所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階を備える。コンピュータプログラムは、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える。
【００７２】
また、コンピュータプログラムは、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える。１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。
【００７３】
固体メモリシステムは、第１アクセス時間および第１容量を有する第１不揮発性半導体（ＮＶＳ）メモリと、第１アクセス時間より短い第２アクセス時間、および、第１容量とは異なる第２容量を有する第２不揮発性半導体（ＮＶＳ）メモリと、第１アクセス時間、第２アクセス時間、第１容量、および第２容量のうち少なくとも１つに基づいて、第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングするマッピング手段と、を備える。
【００７４】
マッピング手段は、第２ＮＶＳメモリにデータをキャッシュする。固体メモリシステムは、第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタするウェアレベリング手段をさらに備え、第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する。さらに、第１消耗レベルは、第１ＮＶＳメモリに行われた書き込み動作の第１数の、第１書き込みサイクル寿命に対する割合に実質的に基づき、第２消耗レベルは、第２ＮＶＳメモリに行われた書き込み動作の第２数の、第２書き込みサイクル寿命に対する割合に実質的に基づく。
【００７５】
ウェアレベリング手段は、第２消耗レベルが第１消耗レベルより小さい場合、第２メモリの物理アドレスに論理アドレスをマッピングする。またさらに、マッピング手段は、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信し、ウェアレベリング手段は、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。
【００７６】
ウェアレベリング手段は、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする。さらに、固体メモリシステムは、第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、後続するデータ書き込み頻度に基づいて第１および第２のデータ書き込み頻度を更新する書き込みモニタ手段をさらに備える。
【００７７】
固体メモリシステムは、論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、ウェアレベリング手段は、第１のデータ書き込み頻度が第２のデータ書き込み頻度より多く、第２消耗レベルが第１消耗レベルより小さい場合、第２ＮＶＳメモリの物理アドレスへの第１論理アドレスのマッピングをバイアスする。ウェアレベリング手段は、第１ＮＶＳメモリの物理アドレスへの第２論理アドレスのマッピングをバイアスする。
【００７８】
固体メモリシステムは、劣化テストモジュールをさらに備え、劣化テストモジュールは、第１所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第１記憶データを生成し、第２所定時間に物理アドレスの１つにデータを書き込み、物理アドレスの１つからデータを読み出すことで、第２記憶データを生成し、第１および第２記憶データに基づいて、物理アドレスの１つに対する劣化値を生成する。
【００７９】
ウェアレベリング手段は、劣化値に基づいて、物理アドレスの１つに論理アドレスの１つをマッピングする。第２消耗レベルが所定の閾値以上の場合、ウェアレベリング手段は論理アドレスを第１ＮＶＳメモリの物理アドレスにマッピングし、第１消耗レベルが所定の閾値以上の場合、ウェアレベリング手段は、論理アドレスを第２ＮＶＳメモリの物理アドレスにマッピングする。
【００８０】
さらに、所定期間中に第１ＮＶＳメモリの物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、ウェアレベリング手段は、第２ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。ウェアレベリング手段は、第２ＮＶＳメモリの物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する。
【００８１】
さらに、第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、ウェアレベリング手段は、第１ＮＶＳメモリの物理アドレスの第２ブロックへの、第１ブロックからの論理アドレスの対応するもののマッピングをバイアスする。第１ＮＶＳメモリはフラッシュデバイスを含み、第２ＮＶＳメモリは相変化メモリデバイスを含む。第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む。
【００８２】
さらに、上述のシステムおよび方法は、１以上のプロセッサが実効するコンピュータプログラムにより実装される。コンピュータプログラムは、メモリ、不揮発性データ記憶装置および／または他の適切な有形記憶媒体にあってもよい。
【００８３】
本開示のさらなる利用可能な領域は、以下に記載する詳細な記載から明らかとなろう。詳細な記載および具体的例示は、本開示の好適な実施形態を示してはいるが、あくまで例示を目的としており、本開示の範囲を制限する意図は持たないことを理解されたい。
【図面の簡単な説明】
【００８４】
本開示は、詳細な説明と添付図面とからよりよく理解される。
【００８５】
【図１】先行技術による固体ディスクドライブの機能ブロック図である。
【００８６】
【図２】本開示による固体ディスクドライブの機能ブロック図である。
【００８７】
【図３】ウェアレべリングモジュールを含む固体ディスクドライブの機能ブロック図である。
【００８８】
【図４Ａ】図３のウェアレべリングモジュールと書き込みモニタモジュールとを含む固体ディスクドライブの機能ブロック図である。
【００８９】
【図４Ｂ】図３のウェアレべリングモジュールと書き込みマッピングモジュールとを含む固体ディスクドライブの機能ブロック図である。
【００９０】
【図５】劣化テストモジュールと、書き込みモニタモジュールおよび書き込みマッピングモジュールを含む図３のウェアレベリングモジュールとを含む固体ディスクドライブの機能ブロック図である。
【００９１】
【図６】マッピングモジュールと、書き込みモニタモジュールおよび書き込みマッピングモジュールを含む図３のウェアレベリングモジュールとを含む固体ディスクドライブの機能ブロック図である。
【００９２】
【図７Ａ】図２−５に示す固体ディスクドライブの動作方法の例示的フローチャートである。
【図７Ｂ】図２−５に示す固体ディスクドライブの動作方法の例示的フローチャートである。
【図７Ｃ】図２−５に示す固体ディスクドライブの動作方法の例示的フローチャートである。
【図７Ｄ】図２−５に示す固体ディスクドライブの動作方法の例示的フローチャートである。
【図７Ｅ】図２−５に示す固体ディスクドライブの動作方法の例示的フローチャートである。
【００９３】
【図８】図６に示す固体ディスクドライブの動作方法の例示的フローチャートである。
【００９４】
【図９Ａ】高精細テレビの機能ブロック図である。
【００９５】
【図９Ｂ】車両制御システムの機能ブロック図である。
【００９６】
【図９Ｃ】セルラー式電話機の機能ブロック図である。
【００９７】
【図９Ｄ】セットトップボックスの機能ブロック図である。
【００９８】
【図９Ｅ】携帯デバイスの機能ブロック図である。
【発明を実施するための最良の形態】
【００９９】
以下の開示は性質上単に例示を目的としており、開示、アプリケーション、または利用を制限することは全く意図していない。明瞭化目的から、図面間で同じ参照番号は同様の部材を示す。ここで利用される、Ａ、Ｂ、およびＣの少なくとも１つ、という言い回しは、非排他的論理和を利用する論理（ＡまたはＢまたはＣ）を意味するよう解釈されるべきである。方法内の段階は、本開示の原理を変更しないのであれば他の順番で行われても良い。ここで利用される、「基づいて」「実質的に基づいて」などの用語は、ある値が、別の値の関数である、別の値に比例している、別の値とともに変化する、および／または別の値と関連性を有する、ということを指す。値は、１以上の他の値の関数であっても、それに比例していても、それとともに変化しても、および／または、それと関連性を有していてもよい。
【０１００】
ここで利用されるモジュールという用語は、特定用途向けＩＣ（ＡＳＩＣ）、電子回路、１以上のソフトウェアまたはファームウェアプログラムを実行するプロセッサ（共有、専用、またはグループ）およびメモリ、組み合わせである論理回路、および／または記載された機能を提供する他の適切なコンポーネントのことであってよい。
【０１０１】
窒化物読み出し専用メモリ（ＮＲＯＭ）およびＮＡＮＤフラッシュなどの電荷記憶に基づくフラッシュデバイスのコストは近年下がってきている。同時に、新たな高密度メモリ技術が開発されている。これらメモリ技術の幾らかは、相変化メモリ（ＰＣＭ）をはじめとして、電荷記憶に基づくフラッシュデバイスよりも顕著に高い書き込み耐久性能を提供することができる。しかし、新興技術なので、これらメモリの記憶容量、アクセス時間、および／またはコスト面は、フラッシュメモリのものと比して劣る。
【０１０２】
固体メモリシステムを両方の種類のメモリを利用して構築することで、新たなメモリ技術の長い書き込みサイクル寿命と、従来の技術の低コスト性とを組み合わせることができる。大容量の低コストメモリを、高い書き込みサイクル寿命を有する小容量のメモリと組み合わせることができる。高い書き込みサイクル寿命を有するメモリは、オペレーティングシステムページングデータのような頻繁に変化するデータを記憶するのに利用されうる。
【０１０３】
図２は例示的固体メモリシステムを示す。固体メモリシステムは、コンピュータシステムの固体ディスクとして利用されてよい。単に１例ではあるが、例えば２ＧＢのＰＣＭチップのようなＰＣＭチップを、ＮＡＮＤフラッシュデバイスまたはＮＲＯＭフラッシュデバイスと組み合わせることができる。ＰＣＭメモリの書き込みサイクル寿命が１Ｅ１３書き込みサイクルの桁に到達する日も近いと思われる。１Ｅ７書き込みサイクルを超える書き込みサイクル寿命を有するＰＣＭチップが入手可能である。１Ｅ７書き込みサイクルを有するＰＣＭチップは、１Ｅ４書き込みサイクルに耐えられる２ビット／セルフラッシュデバイスの１０００倍長い書き込みサイクル寿命を有する。
【０１０４】
ＰＣＭチップは、フラッシュデバイスよりも速いデータスループットを提供する。例えば、ＰＣＭチップは、フラッシュデバイスよりも１００倍速いデータスループットを提供することができる。ＰＣＭチップがいくらフラッシュデバイスより１００倍速いデータスループットを提供しようと、１０００倍大きな書き込みサイクル寿命は、フラッシュデバイスより１０倍長い有効書き込みサイクル寿命を生じる。例えば、１０％の書き込みデューティサイクルでは、ＰＣＭチップがフラッシュデバイスより１００倍速いデータスループットを提供する場合でも、ＰＣＭチップの寿命が終わるまでに１５．９年かかる。
【０１０５】
図２は、本開示による例示的固体ディスク２００の機能ブロック図を示す。固体ディスク２００は、コントローラ２０２と、第１固体不揮発性メモリ２０４および第２固体不揮発性メモリ２０６とを含む。本開示の残りの部分にわたり、固体不揮発性メモリは集積回路（ＩＣ）として実装されてよい。コントローラ２０２は、ホスト２２０からアクセス要求を受信する。コントローラ２０２は、アクセス要求を第１固体不揮発性メモリ２０４または第２固体不揮発性メモリ２０６へ送るが、これは以下で説明する。
【０１０６】
単に１例ではあるが、第１固体不揮発性メモリ２０４は、比較的安価な不揮発性メモリアレイを含んで大容量を有してよい。第２固体不揮発性メモリ２０６は、第１固体不揮発性メモリ２０４よりも長い書き込みサイクル寿命を有するが、より高価であり、より小さな容量を有してよい。様々な実装例においては、ホスト２２０は、コントローラ２０２に対して、比較的頻繁に変わるデータに対応する論理アドレスおよび比較的あまり頻繁に変わらないデータに対応する論理アドレスを示す。
【０１０７】
コントローラ２０２は、第２固定不揮発性メモリ２０６の物理アドレスに、比較的頻繁に変わるデータに対応する論理アドレスをマッピングしてよい。コントローラ２０２は、第１固定不揮発性メモリ２０４の物理アドレスに、比較的あまり頻繁に変わらないデータに対応する論理アドレスをマッピングしてよい。
【０１０８】
第１固定不揮発性メモリ２０４は、シングルレベルセル（ＳＬＣ）フラッシュメモリまたはマルチレベルセル（ＭＬＣ）フラッシュメモリを含みうる。第２固定不揮発性メモリ２０６は、シングルレベルセル（ＳＬＣ）フラッシュメモリまたはマルチレベルセル（ＭＬＣ）フラッシュメモリを含みうる。
【０１０９】
詳細な説明の前に、図面の簡単な説明を施す。図３は、ウェアレベリングモジュールを含む例示的な固体ディスクを示す。ウェアレベリングモジュールは、ホスト２２０からの論理アドレス間の、第１および第２固体メモリ２０４および２０６の物理アドレスへのマッピングを制御する。ウェアレベリングモジュールはこのマッピングを、ホストからの情報に基づいて行ってよい。
【０１１０】
これに代えてまたはこれに加えて、ウェアレベリングモジュールは、複数の固体不揮発性メモリにわたる消耗を計測または推定して、これら固体不揮発性メモリ間の消耗を均等化するようマッピングを変更することができる。ウェアレベリングモジュールの目的は、固体不揮発性メモリの全ての領域にわたる消耗をレベリングして、これら固体不揮発性メモリの領域の残りのものの前に１つの領域が消耗してしまわないようにすることでありうる。
【０１１１】
様々な不揮発性メモリでは、ブロックへのデータの書き込みには、全ブロックへの消去または書き込みを要する場合がある。このようなブロック中心メモリにおいては、ウェアレベリングモジュールは、各ブロックに行った消去または書き込みの回数を記録しておいてよい。書き込み要求がホストから到着すると、ウェアレベリングモジュールは、利用可能なブロックの中で最も書き込みが少ないメモリのブロックを選択してよい。その後ウェアレベリングモジュールは、入力される論理アドレスを、このブロックの物理アドレスにマッピングする。時が経つと、書き込み動作の分布はメモリブロック間で実質的に均等化されうる。
【０１１２】
図４Ａおよび４Ｂは、ウェアレベリングを制御する手助けをする追加的なモジュールを含む。図４Ａにおいては、ウェアレベリングモジュールは、各論理アドレスにデータがどのくらい頻繁に書き込まれたかを判断する。比較的頻繁な書き込みまたは消去対象の論理アドレスは、あまり消耗していない物理アドレスへマッピングされるべきである。
【０１１３】
図４Ｂにおいては、書き込みマッピングモジュールは、ホスト２２０から書き込み頻度情報を受信する。書き込み頻度情報は、比較的頻繁な変更が予想されるデータに対応する論理アドレス、および／または、比較的頻繁な変更が予想されないデータに対応する論理アドレスを特定する。さらに、書き込みマッピングモジュールは、図４Ａにあるように、論理アドレスにどのくらい頻繁にデータが実際に書き込まれたかを特定してもよい。図５は、残りの寿命を書き込みまたは消去数に基づいて推定するのに加えて、あるいはその代わりに、メモリの劣化よび結果生じる残りの寿命を実験的に決定した固体ディスクを示す。
【０１１４】
図６は、第１および第２固体不揮発性メモリの組み合わせをデータキャッシュに利用する固体ディスクを示す。第１固体不揮発性メモリは安価であってよく、故に高い記憶容量を有しうる。第２固体不揮発性メモリは第１メモリよりも速いアクセス時間を有しうるが、より高価でありえ、故に容量が小さいことが多い。第１および第２メモリは両方とも高い書き込みサイクル寿命を有してよい。
【０１１５】
マッピングモジュールを利用して、アクセス時間についての考慮に基づいて、ホストから第１および第２メモリへの論理アドレスのマッピングを行ってよい。マッピングモジュールは、迅速なアクセス時間が望ましかったり望ましくなかったりするアドレスのリストのような、ホストからのアクセス時間情報を受信してよい。この代わりにまたはこれに加えて、マッピングモジュールは、論理アドレスへのアクセスをモニタして、どの論理アドレスに対してアクセス時間を低減すると最も利点が大きいかを判断してよい。低いアクセス時間が重要である論理アドレスを、短いアクセス時間を有する第２メモリにマッピングしてよい。
【０１１６】
本明細書のアクセス時間には、例えば、読み出し時間、書き込み時間、および／または、読み出し、書き込み、または消去時間のうち１以上を組み込んだアクセス時間の組み合わせが含まれてよい。例えば、アクセス時間の組み合わせは、読み出し、書き込み、および消去時間の平均であってよい。特定の論理アドレスを第２メモリへマッピングさせることで、ホストは速いブート時間またはアプリケーション起動のような動作についての記憶を最適化することができる。マッピングモジュールはさらに、第１および第２メモリのいずれか１つの領域が時期尚早に消耗してしまわないようにマッピングを適合させるウェアレベリングモジュールと連通してもよい。
【０１１７】
図７Ａ−７Ｅは、図４Ａ−５に示すコントローラが実行する例示的な段階を示す。図８は、図６のコントローラが行う例示的な段階を示す。図２−８に示すシステムおよび方法の詳細な説明を以下で行う。
【０１１８】
図３では、固体ディスク２５０がコントローラ２５２と、第１固体不揮発性メモリ２０４および第２固体不揮発性メモリ２０６とを含む。コントローラ２５２はホスト２２０と通信する。コントローラ２５２は、ウェアレベリングモジュール２６０と、第１メモリインタフェース２６２および第２メモリインタフェース２６４とを含む。ウェアレベリングモジュール２６０は、第１および第２固体不揮発性メモリ２０４と、それぞれ第１および第２メモリインタフェース２６２および２６４を介して通信する。
【０１１９】
ウェアレベリングモジュール２６０は、ホスト２２０から論理アドレスを受信する。論理アドレスは、第１メモリインタフェース２６２および／または第２メモリインタフェース２６４と関連付けられた物理アドレスに変換される。書き込み動作中、ホスト２２０からのデータが第１メモリインタフェース２６２を介して第１固体不揮発性メモリ２０４へ、または、第２メモリインタフェース２６４を介して第２固体不揮発性メモリ２０６へ、書き込まれる。読み出し動作中、第１または第２メモリインタフェース２６２および２６４をそれぞれ介して、第１または第２固体不揮発性メモリ２０４および２０６へ、ホスト２２０からデータが提供される。
【０１２０】
単に１例ではあるが、第１固体不揮発性メモリ２０４は、１容量メガバイトについて比較的安価であってよく、故に、大容量を有してよい。第２固体不揮発性メモリ２０６は、第１固体不揮発性メモリ２０４よりも長い書き込みサイクル寿命を有するが、より高価であり、より小さな容量を有してよい。
【０１２１】
第１および第２固体不揮発性メモリ２０４および２０６は、ブロック単位で書き込みおよび／または消去が行われてよい。例えば、１ブロックの１バイトを消去するのに、ブロック全体を消去してよい。さらに、１ブロックに１バイトを書き込むのに、ブロックの全てのバイトを書き込んでよい。ウェアレベリングモジュール２６０は、第１および第２固体不揮発性メモリ２０４および２０６のそれぞれのブロックに行われた書き込みおよび／または消去動作数を記録および記憶してよい。
【０１２２】
ウェアレベリングモジュール２６０は、正規版の書き込みおよび／または消去サイクルカウントを利用してよい。例えば、第１固体不揮発性メモリ２０４の１ブロックに行われる書き込みサイクル数を、第１固体不揮発性メモリ２０４の１ブロックが耐えられる全書き込みサイクル数で除算してよい。第２固体不揮発性メモリ２０６の１ブロックの正規版の書き込みサイクルカウントは、そのブロックに既に行われた書き込みサイクル数を、そのブロックが耐えられる書き込みサイクル数で除算することで得てよい。
【０１２３】
ウェアレベリングモジュール２６０は、最小正規化書き込みサイクルカウントを有するブロックに新たなデータを書き込んでよい。書き込みサイクルカウントが小数部分を有するのを避けるべく、メモリ２０４および２０６それぞれの書き込みサイクル寿命に基づいた定数で書き込みサイクルカウントを乗算することで、書き込みサイクルカウントを正規化することができる。例えば、第１固体不揮発性メモリ２０４の１ブロックに行われた書き込みサイクル数を、ある割合で乗算してよい。この割合は、第２固体不揮発性メモリ２０６を、第１固体不揮発性メモリ２０４の書き込みサイクル寿命で除算した値であってよい。
【０１２４】
様々な実装例においては、書き込みサイクルカウントは部分的にしか正規化されなくてよい。例えば、第２固体不揮発性メモリ２０６の書き込みサイクル寿命は、第１固体不揮発性メモリ２０４の書き込みサイクル寿命より顕著に長くてよい。この場合、第１固体不揮発性メモリ２０４の書き込みサイクルは、実際の書き込みサイクル寿命より短い書き込みサイクル寿命を利用して正規化されてよい。これにより、ウェアレベリングモジュール２６０が、第２固体不揮発性メモリ２０６に対してアドレスを割り当てる方向に過度にバイアスされることがなくなりうる。
【０１２５】
正規化は、所定の係数を利用して行われてもよい。例えば、第１固体不揮発性メモリ２０４の書き込みサイクル寿命が１Ｅ６である場合、および固体ディスク２５０の任意のアプリケーションに対しては、第２の固体不揮発性メモリ２０６に必要な書き込みサイクル寿命は１Ｅ９であり、正規化は１０００の係数を利用して行われてよい。係数は推定値を四捨五入したものであってもよく、正確な計算値でなくてもよい。例えば、１，０００の係数を、それぞれ書き込みサイクル寿命が４．５Ｅ６および６．３Ｅ９のときに利用することもできる。
【０１２６】
ウェアレベリングモジュール２６０は、記憶データが所定の期間不変である第１ブロックを特定するデータシフトモジュール２６１を含みうる。このようなデータは静的データと称される。静的データは、第１ブロックよりも頻度の高い書き込みサイクルを経た第２メモリブロックへ移動されてよい。ウェアレベリングモジュール２６０は、元々は第１ブロックの物理アドレスにマッピングされていた論理アドレスを、第２ブロックの物理アドレスにマッピングしてよい。静的データは現在第２ブロックに記憶されているので、第２ブロックの書き込みサイクル数はより少なくなっていてよい。
【０１２７】
さらに、静的データは、第２固体不揮発性メモリ２０６から第１固体不揮発性メモリ２０４へシフトされてよい。例えば、データシフトモジュール２６１は、第２固体不揮発性メモリ２０６の最小利用ブロック（ＬＵＢ）を特定してよい。あるブロックに所定の期間に行われた書き込み動作数が、所定の閾値以下である場合、そのブロックはＬＵＢと称される。第２固体不揮発性メモリ２０６内の利用可能な、または入手可能なメモリの量が所定の閾値まで下回ったら、ウェアレベリングモジュール２６０は、ＬＵＢを第１固体不揮発性メモリ２０４の１ブロックへマッピングしてよい。
【０１２８】
しばしば、第１固体不揮発性メモリ２０４の第１ブロックに行われた書き込み動作の数は、所定の閾値を上回ることがある。ウェアレベリングモジュール２６０は、元々は第１ブロックにマッピングされていた論理アドレスのマッピングを、第２固体不揮発性メモリ２０６の第２ブロックにバイアスして、第１固体不揮発性メモリ２０４の消耗を低減してよい。
【０１２９】
図４Ａを参照すると、固体ディスク３００は、ホスト２２０をインタフェースするコントローラ３０２を含む。コントローラ３０２は、ウェアレベリングモジュール２６０と、書き込みモニタモジュール３０６と、第１メモリインタフェース２６２および第２メモリインタフェース２６４とを含む。書き込みモニタモジュール３０６は、ホスト２２０から受信した論理アドレスをモニタする。書き込みモニタモジュール３０６は、さらに、読み出しまたは書き込み動作が起こっているか否かを示す制御信号を受信してもよい。さらに、書き込みモニタモジュール３０６は、データが論理アドレスに書き込まれる頻度を計測することで、データが頻繁に書き込まれている論理アドレスを記録する。この情報はウェアレベリングモジュール２６０へ提供され、これにより論理アドレスが第２固体不揮発性メモリ２０６にバイアスされる。
【０１３０】
図４Ｂを参照すると、固体ディスク３５０は、ホスト２２０をインタフェースするコントローラ３５２を含む。コントローラ３５２は、ウェアレベリングモジュール２６０と、書き込みマッピングモジュール３５６と、第１メモリインタフェース２６２および第２メモリインタフェース２６４とを含む。書き込みマッピングモジュール３５６は、より頻繁に書き込まれた論理アドレスを示すホスト２２０からのアドレス情報を受信する。この情報はウェアレベリングモジュール２６０へ提供され、ここで、論理アドレスが第２固体不揮発性メモリ２０６にバイアスされる。
【０１３１】
書き込みマッピングモジュール３５６は、さらに、図４Ａの書き込みモニタモジュール３０６に類似した機能をも含みうる。書き込みマッピングモジュール３５６は、故に、計測された書き込み頻度データに基づいて、記憶されている書き込み頻度データを更新してよい。さらに、書き込みマッピングモジュール３５６は、ホスト２２０が提供しなかった論理アドレスへの書き込み頻度を判断してよい。つまり、書き込み頻度データは、論理アドレスが所定の期間アクセスされなかった場合にも調節されてよい。ウェアレベリングモジュール２６０は、第２固体不揮発性メモリ２０６に書き込みが頻繁に行われたとしてフラグされている論理アドレスに対応する全てのデータを記憶することができる。
【０１３２】
第２固体不揮発性メモリ２０６が満杯である場合、書き込み動作を第１固体不揮発性メモリ２０４に割り当ててよく、その逆も同様である。第２固体不揮発性メモリ２０６から第１固体不揮発性メモリ２０４にデータをリマッピングおよび移動させて、第２固体不揮発性メモリ２０６にスペースを設けてもよく、その逆も同様である。あるいは、第２または第１固体不揮発性メモリ２０６、２０４の消耗レベルが所定の閾値以上である場合には、データを第１または第２固体不揮発性メモリ２０４、２０６のみにマッピングしてもよい。なお、第１および第２固体不揮発性メモリ２０４、２０６の消耗レベルの所定の閾値は、互いに異なっていても同じでもよい。さらに、所定の閾値は、異なる時点ごとに変えてもよい。例えば、ひとたびある数の書き込み動作が第１固定不揮発性メモリ２０４に行われたら、行われた書き込み動作を考慮して所定の閾値を調節してよい。
【０１３３】
ウェアレベリングモジュール２６０は、さらに、書き込みモニタモジュール３０６および書き込みマッピングモジュール３５６を実装してよい。ここからは、ウェアレベリングモジュール２６０は、さらに、書き込みモニタモジュール３０６および書き込みマッピングモジュール３５６を含んでよい。
【０１３４】
図５を参照すると、固体ディスク４００は、ホスト２２０をインタフェースするコントローラ４０２を含む。コントローラ４０２は、ウェアレベリングモジュール２６０と、劣化テストモジュール４０６と、第１メモリインタフェース２６２および第２メモリインタフェース２６４とを含む。劣化テストモジュール４０６は、第１および第２固体不揮発性メモリ２０４および２０６をテストして、それらの記憶能力が劣化したか否かを判断する。
【０１３５】
様々な実装例においては、劣化テストモジュール４０６は、第１固体不揮発性メモリ２０４のみをテストしてもよい、というのは、第１固体不揮発性メモリ２０４の書き込みサイクル寿命は、第２固体不揮発性メモリ２０６の書き込みサイクル寿命より短いからである。劣化テストモジュール４０６は定期的に劣化テストを行ってよい。劣化テストモジュール４０６は、停止期間待ってよく、この間に劣化テストモジュール４０６はアドレスおよびデータを第１および／または第２メモリインタフェース２６２および２６４に提供してよい。
【０１３６】
劣化テストモジュール４０６は、第１および／または第２固体不揮発性メモリ２０４および２０６の選択された領域に、データを書き込み、その後そこからデータを読み出してよい。そして、劣化テストモジュール４０６は、読み出しデータを書き込みデータと比較してよい。さらに、劣化テストモジュール４０６は、先行する劣化テストの繰り返しにより書き込まれたデータを読み出してよい。
【０１３７】
あるいは、劣化テストモジュール４０６は、同じデータを、１回目と２回目とで同じ物理アドレスに書き込んでもよい。この２回いずれとも、劣化テストモジュール４０６は、書き込みデータを読み出してもよい。劣化テストモジュール４０６は、２回いずれもに読み出されたデータを比較することで、または、２回目に読み出されたデータを書き込みデータと比較することで、物理アドレスの劣化値を判断してよい。
【０１３８】
ウェアレベリングモジュール２６０は、劣化テストモジュール４０６が計測した劣化値に基づいてそのマッピングを適合させてよい。例えば、劣化テストモジュール４０６は、劣化量に基づいて、１ブロックの最大書き込みサイクルカウントを推定してよい。そしてウェアレベリングモジュール２６０は、この最大書き込みサイクルカウントを正規化に利用してよい。
【０１３９】
あるいは、ウェアレベリングモジュール２６０は、割り当て決定を行うべく、１ブロックに残る書き込みサイクルの数を利用してよい。固体不揮発性メモリ２０４および２０６のいずれかが、使用寿命の終わり（例えば、所定の閾値）に近づいた場合、ウェアレベリングモジュール２６０は、全ての新たな書き込みをメモリ２０４および２０６のうち他方へ割り当ててよい。
【０１４０】
ウェアレベリングモジュール２６０はさらに、劣化テストモジュール４０６を実装してよい。ここからは、ウェアレベリングモジュール２６０は劣化テストモジュール４０６を含む。
【０１４１】
図６では、より速いアクセス時間を有する小さな固体不揮発性メモリを、より遅いアクセス時間を有する大きな固体不揮発性メモリと組み合わせて利用してよい。固体ディスク４５０は、コントローラ４６０、第１固体不揮発性メモリ４６２、および、第２固体不揮発性メモリ４６４を含む。第１固体不揮発性メモリ４６２は安価であり、高い記憶容量と高い書き込み寿命とを有するが、読み出し／書き込み速度（つまりアクセス時間）が遅くてよい。第２固体不揮発性メモリ４６４は、第１固体不揮発性メモリ４６２と比して、記憶容量が低く、より高価であり、高い書き込みサイクル寿命を有してより速いアクセス時間を有してよい。
【０１４２】
第２固体不揮発性メモリ４６４は、書き込みアクセス時間、読み出しアクセス時間、消去時間、プログラム時間、または累積アクセス時間が、第１固体不揮発性メモリ４６２より短くてよい。故に、第２固定不揮発性メモリ４６４はデータをキャッシュするのに利用されてよい。コントローラ４６０は、ウェアレベリングモジュール２６０とマッピングモジュール４６５とを含みうる。ウェアレベリングモジュール２６０は、さらに、マッピングモジュールを実装しる。マッピングモジュール４６５は、第１および第２固体不揮発性メモリ４６２、４６４のアクセス時間および／または記憶能力に基づいて、第１および第２固体不揮発性メモリ４６２、４６４のうちいずれかの物理アドレスに、論理アドレスをマッピングしてよい。
【０１４３】
具体的には、マッピングモジュールは、データが論理アドレスに書き込まれうる頻度およびアクセス時間に関して、ホスト２２０からデータを受信してよい。マッピングモジュール４６５は、他より頻繁に、および／または他より迅速に書き込まれる論理アドレスを、第２固体不揮発性メモリ４６４の物理アドレスにマッピングしてよい。他の論理アドレスは全て、第１不揮発性メモリ４６２の物理アドレスにマッピングされてよい。実際の書き込み頻度アクセス時間は、データを書き込むときに書き込み頻度および／またはアクセス時間を計測することで更新されてよい。このとき、マッピングモジュール４６５は、読み出し／書き込み／消去動作中に、固体ディスク４５０に行われる全てのアクセスについての総アクセス時間を最小化してよい。
【０１４４】
ホスト２２０が実行するアプリケーションに応じて、マッピングモジュール４６５は、第１および第２固体不揮発性メモリ４６２、４６４のいずれかに論理アドレスをマッピングするとき、さらなる係数を考慮してよい。係数は、書き込まれたブロック長、およびブロックが書き込まれる必要のあるアクセス時間を含んでよいが、これらに限られない。
【０１４５】
図７Ａ‐７Ｅは、互いに異なる書き込みサイクル寿命および記憶能力を有する第１および第２ＮＶＳメモリを利用するハイブリッド不揮発性固体（ＮＶＳ）メモリシステムを提供する方法５００を示す。第１ＮＶＳメモリは、第２ＮＶＳメモリより書き込みサイクル寿命が低く、容量が高い。
【０１４６】
図７Ａでは、方法５００はステップ５０２から始まる。制御は、ホストからデータが書き込まれる論理アドレスの書き込み頻度を受信する（ステップ５０４）。制御は、低い書き込み頻度を有する（例えば、所定の閾値より低い書き込み頻度を有する）論理アドレスを、第１ＮＶＳメモリにマッピングする（ステップ５０６）。制御は、高い書き込み頻度を有する（例えば所定の閾値より大きい書き込み頻度を有する）論理アドレスを、第２ＮＶＳメモリにマッピングする（ステップ５０８）。
【０１４７】
制御は、ステップ５１０で、ステップ５０６および５０８で生成されたマッピングに応じて、第１および／または第２ＮＶＳメモリへデータを書き込む。制御は、データが実際に論理アドレスに書き込まれる実際の書き込み頻度を計測して、マッピングを更新する（ステップ５１２）。
【０１４８】
図７Ｂのステップ５１４で、制御は、データシフト分析を行う時間が来たか否かを判断する。ステップ５１４の結果が否定的であった場合、制御は、ステップ５１６で、劣化分析を行う時間が来たか否かを判断する。ステップ５１６の結果が否定的であった場合、制御は、ステップ５１８で、消耗レベル分析を行う時間が来たか否かを判断する。ステップ５１４の結果が否定的であった場合、制御はステップ５１０へ戻る。
【０１４９】
図７Ｃでは、ステップ５１４の結果が肯定的であった場合、制御は、ステップ５２０で、所定期間の第１ＮＶＳメモリの第１ブロックへの書き込み動作数が所定の閾値以上か否かを判断する。ステップ５２０の結果が否定的であった場合、制御はステップ５１６へ戻る。ステップ５２０の結果が肯定的であった場合、制御は、ステップ５２２で、第２ＮＶＳメモリの第２ブロックに、第１ブロックに対応する論理アドレスをマッピングする。
【０１５０】
制御は、ステップ５２４で、第２ＮＶＳメモリで利用可能なメモリが所定の閾値未満か否かを判断する。ステップ５２４の結果が否定的であった場合、制御はステップ５１６に戻る。ステップ５２４の結果が肯定的であった場合、制御は、ステップ５２６で、第２ＮＶＳメモリの１ブロックをＬＵＢであると特定する。制御は、ステップ５２８で、ＬＵＢに対応する論理アドレスを第１ＮＶＳメモリの１ブロックにマッピングして、制御はステップ５１６へ戻る。
【０１５１】
図７Ｄにおいて、ステップ５１６の結果が肯定的であった場合、制御は、ステップ５３０で、第１の時間に物理アドレスにデータを書き込む。制御は、ステップ５３２で、物理アドレスからデータを読み出す（read back）。制御は、ステップ５３４で、第２の時間に（つまり、第１の時間の後、所定期間の後に）物理アドレスにデータを書き込む。制御は、ステップ５３６で、物理アドレスからデータを読み出す。制御は、ステップ５３８で、ステップ５３２で読み出したデータを、ステップ５３６で読み出したデータと比較して、物理アドレスの劣化値を生成する。制御はステップ５４０でマッピングを更新して、ステップ５１８へ戻る。
【０１５２】
図７Ｅを参照すると、ステップ５１８の結果が肯定的であった場合、制御は、ステップ５４２で、第１および第２メモリに行った書き込み動作数と第１および第２メモリの書き込みサイクル寿命の格付けとにそれぞれ基づいて、第１および第２ＮＶＳメモリの消耗レベルを生成する。制御は、ステップ５４４で、第２ＮＶＳメモリの消耗レベルが所定の閾値より大きいか否かを判断する。ステップ５４４の結果が肯定的であった場合、制御は、ステップ５４６で、全ての論理ブロックを、第１ＮＶＳメモリの物理ブロックへマッピングして、制御はステップ５１０へ戻る。
【０１５３】
ステップ５４４の結果が否定的であった場合、制御は、ステップ５４８で、第１ＮＶＳメモリの消耗レベルが所定の閾値より大きいか否かを判断する。ステップ５４８の結果が肯定的であった場合、制御は、ステップ５５０で、全ての論理ブロックを、第２ＮＶＳメモリの物理ブロックへマッピングして、制御はステップ５１０へ戻る。ステップ５４８の結果が否定的であった場合、制御はステップ５１０へ戻る。
【０１５４】
図８は、互いに異なるアクセス時間および記憶能力を有する第１および第２ＮＶＳメモリを利用してデータをキャッシュするハイブリッド不揮発性固体（ＮＶＳ）メモリシステムを提供する方法６００を示す。第１ＮＶＳメモリは第２ＮＶＳメモリより高いアクセス時間と高い容量とを有する。第１および第２ＮＶＳメモリは、高い書き込みサイクル寿命を有する。
【０１５５】
方法６００はステップ６０２から始まる。制御は、ステップ６０４で、ホストから論理アドレスへデータを書き込む際の書き込み頻度およびアクセス時間要件に関するデータを受信する。制御は、ステップ６０６で、低い書き込み頻度を有する（例えば、所定の閾値未満の書き込み頻度を有する）、および／または、より遅いアクセス時間を要する論理アドレスを、第１ＮＶＳメモリにマッピングする。制御は、ステップ６０６で、高い書き込み頻度を有する（例えば、所定の閾値より高い書き込み頻度を有する）、および／または、より速いアクセス時間を要する論理アドレスを、第２ＮＶＳメモリにマッピングする。制御は、ステップ６０８で、低い書き込み頻度を有する（例えば、所定の閾値より低い書き込み頻度を有する）、および／または、より遅いアクセス時間を要する論理アドレスを、第１ＮＶＳメモリにマッピングする。
【０１５６】
ステップ６１０で、制御は、ステップ６０６および６０８で生成されたマッピングに応じて、第１および／または第２ＮＶＳメモリへデータを書き込む。制御は、データが実際に論理アドレスに書き込まれるときの実際の書き込み頻度および／または実際のアクセス時間を計測して、マッピングを更新する（ステップ６１２）。制御は、図７Ａ‐７Ｅに示す方法５００のステップ５１４から始まる一連のステップを実行する（ステップ６１４）。
【０１５７】
本開示の原理によるウェアレベリングモジュールは、第１および第２不揮発性半導体メモリ（第１および第２メモリと称される）の各ブロックの消耗レベルを判断してよい。ブロックという用語は、同時に書き込みおよび／または消去されねばならないメモリセル群のことを表す。あくまで説明目的から、ブロックという用語は、同時に消去されるメモリセル群について使用され、１メモリセルの消耗レベルは、経てきた消去サイクル数に基づく。
【０１５８】
個々のメモリセルは消去開始時にはプログラミングされていないこともありそれ程の消耗はしていないかもしれないが、１ブロック内のメモリセルは、同じ数の消去を経ている。しかし、ウェアレベリングモジュールは、１ブロックのメモリセルの消耗レベルを、そのブロックが経てきた消去サイクル数で推定してよい。
【０１５９】
ウェアレベリングモジュールは、第１および第２メモリの各ブロックが経てきた消去数を記録してよい。例えば、この数は、第１および／または第２メモリの特定の領域、ウェアレベリングモジュールの別個のワーキングメモリ内、または各々のブロックと共に記憶されてよい。単に１例ではあるが、ユーザデータ用には利用されていない所定のブロック領域を利用してそのブロックが消去された全回数を記憶してよい。ブロックが消去される場合、ウェアレベリングモジュールはその値を読み取り、その値を増分し、増分された値を、そのブロックの消去の後に書き込んでよい。
【０１６０】
均一なメモリアーキテクチャにおいては、消去カウントは、ブロックの消耗レベルとして利用することができる。しかし、第１および第２メモリは、互いに異なる寿命を有することもある（つまり各メモリセルが耐久できる消去数が異なっていることを意味する）。様々な実装例においては、第２メモリのほうが第１メモリよりも寿命が長い。故に各ブロックが耐久できる消去数も、第１メモリより第２メモリのほうが多い。
【０１６１】
このように、１ブロックに行われた消去数は第１メモリのブロックと第２メモリのブロックとの適切な比較とはならない場合がある。適切に比較しようと思うと、消去数を正規化することが考えられる。正規化の１方法は、消去カウントを、そのメモリの１ブロックが耐久できると予想される全消去カウント数で除算することである。単に１例ではあるが、第１メモリは１０，０００の書き込みサイクル寿命を有しており、第２メモリは１００，０００の書き込みサイクル寿命を有している。
【０１６２】
１，０００回消去された第１メモリの１ブロックは１／１０の正規化消耗レベルを有して、１，０００回消去された第２メモリの１ブロックは１／１００の正規化消耗レベルを有する。ひとたび消耗レベルが正規化されると、ウェアレベリングアルゴリズムを、第１および第２メモリ両方の全てのブロックにわたり、あたかも全てのブロックが同じ書き込みサイクル寿命を有する１メモリを形成しているかのように、利用することができるようになる。本明細書の消耗レベルは、特にそうでないと明記されない限り、正規化消耗レベルである。
【０１６３】
小数部分を避ける正規化の別の方法は、第１メモリ（より低い書き込みサイクル寿命を有する）のブロックの消去カウントを、書き込みサイクル寿命の割合で乗算することである。本例においては、１０（１００，０００／１０，０００）の割合である。１，０００回消去された第１メモリの１ブロックは１０，０００の正規化消耗レベルを有して、１，０００回消去された第２メモリの１ブロックは１，０００の正規化消耗レベルを有する。
【０１６４】
論理アドレスの書き込み要求がウェアレベリングモジュールに到着すると、ウェアレベリングモジュールは、その論理アドレスが既に物理アドレスにマッピングされているか否かを判断してよい。判断が肯定的であれば、ウェアレベリングモジュールは、その物理アドレスに書き込みを行う。その書き込みに、ブロック消去が必要ということであれば、ウェアレベリングモジュールは、より低い消耗レベルの未利用ブロックが存在するか否かを判断してよい。判断が肯定的であれば、ウェアレベリングモジュールは、一番低い消耗レベルを有する未利用ブロックに書き込みを行ってよい。
【０１６５】
まだマッピングされていない論理アドレスへの書き込み要求については、ウェアレベリングモジュールは、一番低い消耗レベルを有する未利用ブロックに論理アドレスをマッピングしてよい。ウェアレベリングモジュールが、その論理アドレスは比較的あまり頻繁には書き直されないと予想する場合、ウェアレベリングモジュールは、その論理アドレスを、一番高い消耗レベルを有する未利用ブロックにマッピングしてもよい。
【０１６６】
ウェアレベリングモジュールが、アクセス頻度を推定するのに良いデータを有している場合、ウェアレベリングモジュールは、未利用ブロックからデータを移動させて、入力される書き込み用にそのブロックに空けておいてもよい。このようにすると、比較的頻繁にアクセスされるブロック用に入力される書き込みは、低い消耗レベルのブロックに書き込むことができるようになる。加えて、比較的頻繁にアクセスされないブロック用に入力される書き込みは、高い消耗レベルを有するブロックに書き込むことができるようになる。移動されたデータは、その移動されたデータがどのくらいの頻度で書き直されることが予想されるかに基づいて選択された未利用ブロックに配置することができる。
【０１６７】
例えば定期的になど、様々なときに、ウェアレベリングモジュールは、ブロックの消耗レベルを分析して、比較的頻繁に書き直された論理アドレスを、低い消耗レベルのブロックにリマッピングしてよい。加えて、ウェアレベリングモジュールは、比較的あまり頻繁に書き直されない論理アドレスを、高い消耗レベルのブロックにリマッピングしてよく、これは静的データシフトとして知られている。リマッピングは、２つのブロック間でデータを交換することであってよい。交換中、ブロックの１つからのデータが未利用ブロックに、一時的な記憶として記憶されてよい。
【０１６８】
ウェアレベリングモジュールは、さらに、書き込みサイクル寿命を超えたブロックのリストを維持してよい。これらブロックに書き込むべき新たなデータがない場合、これらブロックに前に記憶されたデータは他のブロックに書き込まれる。ウェアレベリングモジュールの目的は、いずれのブロックもが他のブロックよりも先に消耗しないようにすることではあるが、ブロックのなかには現実的には早く消耗してしまうものもでてくる。信頼できないブロックを特定して除去することで、固体ディスクが利用不可能になる前に、残りのブロックの全寿命を有効活用できるようになる。
【０１６９】
本開示は、例示目的で、第１および第２固体不揮発性メモリ２０４、２０６を記載してきたが、本開示の教示は他の種類のメモリにも応用できることを理解されたい。加えて、メモリは個々のモジュールに制限されなくてよい。例えば、本開示の教示は、単一のメモリチップ内または多数のメモリチップの多数のメモリゾーンに応用することもできる。各メモリゾーンは、本開示の教示に則りデータを記憶することに利用されうる。
【０１７０】
図９Ａ−９Ｅは、本開示の教示を組み込む様々な例示的実装例を示す。図９Ａでは、本開示の教示は、高精細テレビ（ＨＤＴＶ）９３７の記憶デバイス９４２への実装が可能である。ＨＤＴＶ９３７は、ＨＤＴＶ制御モジュール９３８、ディスプレイ９３９、電源９４０、メモリ９４１、記憶デバイス９４２、ネットワークインタフェース９４３、および外部インタフェース９４５を含む。ネットワークインタフェース９４３が無線ローカルエリアネットワークインタフェースを含む場合、アンテナ（不図示）も含まれうる。
【０１７１】
ＨＤＴＶ９３７は、データをケーブル、ブロードバンドインターネット、および／または衛星を介して送受信できるネットワークインタフェース９４３および／または外部インタフェース９４５から、入力信号を受信しうる。ＨＤＴＶ制御モジュール９３８は、エンコード、デコード、フィルタリング、および／または、フォーマット等の信号処理を入力信号に行い、出力信号を生成してよい。出力信号は、ディスプレイ９３９、メモリ９４１、記憶デバイス９４２、ネットワークインタフェース９４３、および外部インタフェース９４５の１以上に伝達されうる。
【０１７２】
メモリ９４１は、ランダムアクセスメモリ（ＲＡＭ）および／または不揮発性メモリを含みうる。不揮発性メモリは、各メモリセルが２つを超える数の状態を有する、フラッシュメモリ（ＮＡＮＤおよびＮＯＲフラッシュメモリを含む）、相変化メモリ、磁気ＲＡＭ、および多状態メモリ等、任意の適切な種類の半導体または固体メモリを含みうる。記憶デバイス９４２は、ＤＶＤドライブ、および／またはハードディスクドライブ（ＨＤＤ）等の光学記憶ドライブを含みうる。ＨＤＴＶ制御モジュール９３８は、ネットワークインタフェース９４３および／または外部インタフェース９４５を介して外部と通信しうる。電源９４０は、ＨＤＴＶ９３７のコンポーネントに電力を供給する。
【０１７３】
図９Ｂにおいて、本開示の教示は、車両９４６の記憶デバイス９５０に実装されうる。車両９４６は、車両制御システム９４７、電源９４８、メモリ９４９、記憶デバイス９５０、およびネットワークインタフェース９５２を含みうる。ネットワークインタフェース９５２が無線ローカルエリアネットワークインタフェースを含む場合、アンテナ（不図示）も含まれうる。車両制御システム９４７は、パワートレイン制御システム、車体制御システム、娯楽制御システム、アンチロック・ブレーキ・システム（ＡＢＳ）、ナビゲーションシステム、テレマティックスシステム、車線逸脱システム、車間距離適応走行制御システムであってよい。
【０１７４】
車両制御システム９４７は、１以上のセンサ９５４と通信して１以上の出力信号９５６を生成してよい。センサ９５４は、温度センサ、加速センサ、圧力センサ、回転センサ、気流センサ等を含んでよい。出力信号９５６は、エンジン動作パラメータ、送信動作パラメータ、停止パラメータ等を制御してよい。
【０１７５】
電源９４８は、車両９４６のコンポーネントに電力を供給する。車両制御システム９４７は、メモリ９４９および／または記憶デバイス９５０にデータを記憶してよい。メモリ９４９は、ランダムアクセスメモリ（ＲＡＭ）および／または不揮発性メモリを含みうる。不揮発性メモリは、各メモリセルが２つを超える数の状態を有する、フラッシュメモリ（ＮＡＮＤおよびＮＯＲフラッシュメモリを含む）、相変化メモリ、磁気ＲＡＭ、および多状態メモリ等、任意の適切な種類の半導体または固体メモリを含みうる。記憶デバイス９５０は、ＤＶＤドライブ、および／またはハードディスクドライブ（ＨＤＤ）等の光学記憶ドライブを含みうる。車両制御システム９４７は、ネットワークインタフェース９５２を利用して外部と通信しうる。
【０１７６】
図９Ｃでは、本開示の教示は、セルラー式電話機９５８の記憶デバイス９６６に実装されうる。セルラー式電話機９５８は、電話制御モジュール９６０、電源９６２、メモリ９６４、記憶デバイス９６６、およびセルラー式ネットワークインタフェース９６７を含む。セルラー式電話機９５８は、ネットワークインタフェース９６８、マイクロフォン９７０、スピーカおよび／または出力ジャック等の音声出力９７２、ディスプレイ９７４、およびキーパッドおよび／またはポインティングデバイス等のユーザ入力デバイス９７６を含みうる。ネットワークインタフェース９６８が無線ローカルエリアネットワークインタフェースを含む場合、アンテナ（不図示）も含まれうる。
【０１７７】
電話制御モジュール９６０は、セルラー式ネットワークインタフェース９６７、ネットワークインタフェース９６８、マイクロフォン９７０、および／または、ユーザ入力デバイス９７６から、入力信号を受信しうる。電話制御モジュール９６０は、エンコード、デコード、フィルタリング、および／または、フォーマット等の信号処理を行い、出力信号を生成してよい。出力信号は、メモリ９６４、記憶デバイス９６６、およびセルラー式ネットワークインタフェース９６７、ネットワークインタフェース９６８、および音声出力９７２の１以上に伝達されうる。
【０１７８】
メモリ９６４は、ランダムアクセスメモリ（ＲＡＭ）および／または不揮発性メモリを含みうる。不揮発性メモリは、各メモリセルが２つを超える数の状態を有する、フラッシュメモリ（ＮＡＮＤおよびＮＯＲフラッシュメモリを含む）、相変化メモリ、磁気ＲＡＭ、および多状態メモリ等、任意の適切な種類の半導体または固体メモリを含みうる。記憶デバイス９６６は、ＤＶＤドライブ、および／またはハードディスクドライブ（ＨＤＤ）等の光学記憶ドライブを含みうる。電源９６２は、セルラー式電話機９５８のコンポーネントに電力を供給する。
【０１７９】
図９Ｄにおいて、本発明の教示は、セットトップボックス９７８の記憶デバイス９８４に実装されうる。セットトップボックス９７８は、セットトップ制御モジュール９８０、ディスプレイ９８１、電源９８２、メモリ９８３、記憶デバイス９８４、およびネットワークインタフェース９８５を含む。ネットワークインタフェース９８５が無線ローカルエリアネットワークインタフェースを含む場合、アンテナ（不図示）も含まれうる。
【０１８０】
セットトップ制御モジュール９８０は、データをケーブル、ブロードバンドインターネット、および／または衛星を介して送受信できるネットワークインタフェース９８５および外部インタフェース９８７から、入力信号を受信しうる。セットトップ制御モジュール９８０は、エンコード、デコード、フィルタリング、および／または、フォーマット等の信号処理を行い、出力信号を生成してよい。出力信号は、標準および／または高精細形式の音声および／またはビデオ信号を含みうる。出力信号は、ネットワークインタフェース９８５および／またはディスプレイ９８１に伝達されうる。ディスプレイ９８１は、テレビ、プロジェクタ、および／またはモニタを含みうる。
【０１８１】
電源９８２は、セットトップボックス９７８のコンポーネントに電力を供給する。メモリ９８３は、ランダムアクセスメモリ（ＲＡＭ）および／または不揮発性メモリを含みうる。不揮発性メモリは、各メモリセルが２つを超える数の状態を有する、フラッシュメモリ（ＮＡＮＤおよびＮＯＲフラッシュメモリを含む）、相変化メモリ、磁気ＲＡＭ、および多状態メモリ等、任意の適切な種類の半導体または固体メモリを含みうる。記憶デバイス９８４は、ＤＶＤドライブ、および／またはハードディスクドライブ（ＨＤＤ）等の光学記憶ドライブを含みうる。
【０１８２】
図９Ｅにおいて、本開示の教示は、携帯デバイス９８９の記憶デバイス９９３に実装されうる。携帯デバイス９８９は、携帯デバイス制御モジュール９９０、電源９９１、メモリ９９２、記憶デバイス９９３、ネットワークインタフェース９９４、および外部インタフェース９９９を含みうる。ネットワークインタフェース９９４が無線ローカルエリアネットワークインタフェースを含む場合、アンテナ（不図示）も含まれうる。
【０１８３】
携帯デバイス制御モジュール９９０は、ネットワークインタフェース９９４および／または外部インタフェース９９９から入力信号を受信しうる。外部インタフェース９９９はＵＳＢ、赤外線、および／またはイサーネットを含みうる。入力信号は、圧縮音声および／またはビデオを含んでよく、ＭＰ３形式に準拠してよい。加えて、携帯デバイス制御モジュール９９０は、キーパッド、タッチパッド、または個々のボタン等のユーザ入力９９６から入力を受信しうる。携帯デバイス制御モジュール９９０は、エンコード、デコード、フィルタリング、および／または、フォーマット等の信号処理を入力信号に行い、出力信号を生成してよい。
【０１８４】
携帯デバイス制御モジュール９９０は、音声信号を音声出力９９７に出力して、ビデオ信号をディスプレイ９９８に出力してよい。音声出力９９７は、スピーカおよび／または出力ジャックを含みうる。ディスプレイ９９８は、メニュー、アイコン等を含みうるグラフィックユーザインタフェースを提示してよい。電源９９１は、携帯デバイス９８９のコンポーネントに電力を供給する。メモリ９９２は、ランダムアクセスメモリ（ＲＡＭ）および／または不揮発性メモリを含みうる。
【０１８５】
不揮発性メモリは、各メモリセルが２つを超える数の状態を有する、フラッシュメモリ（ＮＡＮＤおよびＮＯＲフラッシュメモリを含む）、相変化メモリ、磁気ＲＡＭ、および多状態メモリ等、任意の適切な種類の半導体または固体メモリを含みうる。記憶デバイス９９３は、ＤＶＤドライブ、および／またはハードディスクドライブ（ＨＤＤ）等の光学記憶ドライブを含みうる。携帯デバイスは、携帯情報端末（ＰＤＡ）、メディアプレーヤ、ラップトップコンピュータ、ゲームコンソール、または他の携帯計算デバイスを含みうる。
【０１８６】
当業者であれば、前述の記載から、本開示の広範な教示が様々な形式で実装されうることを理解しよう。故に、本開示は特定の例を含んではいるが、本開示の真の範囲はそれに限定されるべきではない、というのも他の変形例も図面、明細書、および添付請求項を読めば当業者には明らかであるからである。
【図１】
2010512569.tif 000003
【図２】
2010512569.tif 000004
【図３】
2010512569.tif 000005
【図４Ａ】
2010512569.tif 000006
【図４Ｂ】
2010512569.tif 000007
【図５】
2010512569.tif 000008
【図６】
2010512569.tif 000009
【図７Ａ】
2010512569.tif 000010
【図７Ｂ】
2010512569.tif 000011
【図７Ｃ】
2010512569.tif 000012
【図７Ｄ】
2010512569.tif 000013
【図７Ｅ】
2010512569.tif 000014
【図８】
2010512569.tif 000015
【図９Ａ】
2010512569.tif 000016
【図９Ｂ】
2010512569.tif 000017
【図９Ｃ】
2010512569.tif 000018
【図９Ｄ】
2010512569.tif 000019
【図９Ｅ】
2010512569.tif 000020
【手続補正書】
【提出日】平成21年8月5日(2009.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１書き込みサイクル寿命を有する第１不揮発性半導体（ＮＶＳ）メモリと、
前記第１書き込みサイクル寿命と異なる第２書き込みサイクル寿命を有する第２不揮発性半導体（ＮＶＳ）メモリと、
前記第１および第２書き込みサイクル寿命に基づいて、前記第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成し、前記第１および第２消耗レベルに基づいて、前記第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングする、ウェアレベリングモジュールと、を備える、固体メモリシステム。
【請求項２】
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、請求項１に記載の固体メモリシステム。
【請求項３】
前記ウェアレベリングモジュールは、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする、請求項１に記載の固体メモリシステム。
【請求項４】
前記第１ＮＶＳメモリは、前記第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する、請求項１に記載の固体メモリシステム。
【請求項５】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信するマッピングモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、請求項１に記載の固体メモリシステム。
【請求項６】
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記２論理アドレスのマッピングをバイアスする、請求項５に記載の固体メモリシステム。
【請求項７】
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する書き込みモニタモジュールをさらに備える、請求項５に記載の固体メモリシステム。
【請求項８】
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、請求項１に記載の固体メモリシステム。
【請求項９】
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする、請求項８に記載の固体メモリシステム。
【請求項１０】
劣化テストモジュールをさらに備え、
前記劣化テストモジュールは、
第１所定時間に前記物理アドレスの１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成し、
第２所定時間に前記物理アドレスの前記１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成し、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する、請求項１に記載の固体メモリシステム。
【請求項１１】
前記ウェアレベリングモジュールは、前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする、請求項１０に記載の固体メモリシステム。
【請求項１２】
前記第２消耗レベルが第１所定閾値以上の場合、前記ウェアレベリングモジュールは前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングし、
前記第１消耗レベルが第２所定閾値以上の場合、前記ウェアレベリングモジュールは、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする、請求項１に記載の固体メモリシステム。
【請求項１３】
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、請求項１に記載の固体メモリシステム。
【請求項１４】
前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定し、
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、
請求項１に記載の固体メモリシステム。
【請求項１５】
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、請求項１に記載の固体メモリシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１８６
【補正方法】変更
【補正の内容】
【０１８６】
当業者であれば、前述の記載から、本開示の広範な教示が様々な形式で実装されうることを理解しよう。故に、本開示は特定の例を含んではいるが、本開示の真の範囲はそれに限定されるべきではない、というのも他の変形例も図面、明細書、および添付請求項を読めば当業者には明らかであるからである。
（項目１）
第１書き込みサイクル寿命を有する第１不揮発性半導体（ＮＶＳ）メモリと、
前記第１書き込みサイクル寿命と異なる第２書き込みサイクル寿命を有する第２不揮発性半導体（ＮＶＳ）メモリと、
前記第１および第２書き込みサイクル寿命に基づいて、前記第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成し、前記第１および第２消耗レベルに基づいて、前記第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングする、ウェアレベリングモジュールと、を備える、固体メモリシステム。
（項目２）
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、項目１に記載の固体メモリシステム。
（項目３）
前記ウェアレベリングモジュールは、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする、項目１に記載の固体メモリシステム。
（項目４）
前記第１ＮＶＳメモリは、前記第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する、項目１に記載の固体メモリシステム。
（項目５）
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信するマッピングモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、項目１に記載の固体メモリシステム。
（項目６）
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記２論理アドレスのマッピングをバイアスする、項目５に記載の固体メモリシステム。
（項目７）
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する書き込みモニタモジュールをさらに備える、項目５に記載の固体メモリシステム。
（項目８）
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、項目１に記載の固体メモリシステム。
（項目９）
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする、項目８に記載の固体メモリシステム。
（項目１０）
劣化テストモジュールをさらに備え、
前記劣化テストモジュールは、
第１所定時間に前記物理アドレスの１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成し、
第２所定時間に前記物理アドレスの前記１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成し、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する、項目１に記載の固体メモリシステム。
（項目１１）
前記ウェアレベリングモジュールは、前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする、項目１０に記載の固体メモリシステム。
（項目１２）
前記第２消耗レベルが第１所定閾値以上の場合、前記ウェアレベリングモジュールは前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングし、
前記第１消耗レベルが第２所定閾値以上の場合、前記ウェアレベリングモジュールは、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする、項目１に記載の固体メモリシステム。
（項目１３）
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、項目１に記載の固体メモリシステム。
（項目１４）
前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する、項目１に記載の固体メモリシステム。
（項目１５）
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、項目１４に記載の固体メモリシステム。
（項目１６）
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、項目１に記載の固体メモリシステム。
（項目１７）
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、項目１６に記載の固体メモリシステム。
（項目１８）
前記第１書き込みサイクル寿命は前記第２書き込みサイクル寿命より短い、項目１に記載の固体メモリシステム。
（項目１９）
第１および第２不揮発性半導体（ＮＶＳ）メモリにそれぞれ対応する第１および第２書き込みサイクル寿命に基づいて、前記第１および第２ＮＶＳメモリに対する第１および第２消耗レベルを生成する段階と、
前記第１および第２消耗レベルに基づいて前記第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングする段階と、を備える、方法。
（項目２０）
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、項目１９に記載の方法。
（項目２１）
前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする段階をさらに備える、項目１９に記載の方法。
（項目２２）
前記第１ＮＶＳメモリは、前記第２ＮＶＳメモリの第２記憶容量より大きい第１記憶容量を有する、項目１９に記載の方法。
（項目２３）
前記第１書き込みサイクル寿命は前記第２書き込みサイクル寿命より短い、項目１９に記載の方法。
（項目２４）
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする段階と、をさらに備える、項目１９に記載の方法。
（項目２５）
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、項目２４に記載の方法。
（項目２６）
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、
前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える、項目２４に記載の方法。
（項目２７）
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする段階と、をさらに備える、項目１９に記載の方法。
（項目２８）
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、項目２７に記載の方法。
（項目２９）
第１所定時間に前記物理アドレスの１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成する段階と、
第２所定時間に前記物理アドレスの前記１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成する段階と、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する段階と、をさらに備える、項目１９に記載の方法。
（項目３０）
前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする段階をさらに備える、項目２９に記載の方法。
（項目３１）
前記第２消耗レベルが第１所定閾値以上の場合、前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングする段階と、
前記第１消耗レベルが第２所定閾値以上の場合、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする段階と、をさらに備える、項目１９に記載の方法。
（項目３２）
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階を備える、項目１９に記載の方法。
（項目３３）
前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える、項目１９に記載の方法。
（項目３４）
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える、項目３３に記載の方法。
（項目３５）
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、項目１９に記載の方法。
（項目３６）
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、項目３５に記載の方法。
（項目３７）
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、項目１に記載の固体メモリシステム。
（項目３８）
前記第１ＮＶＳメモリは第１アクセス時間を有し、
前記第２ＮＶＳメモリは、前記第１アクセス時間より短い第２アクセス時間を有し、
前記ウェアレベリングモジュールは、第１論理アドレスを前記第１ＮＶＳメモリにマッピングし、第２論理アドレスを前記第２ＮＶＳメモリにマッピングし、
前記第１論理アドレスは、前記第２論理アドレスよりもアクセスの頻度が低い、項目１に記載の固体メモリシステム。
（項目３９）
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、項目１９に記載の方法。
（項目４０）
前記第１ＮＶＳメモリは第１アクセス時間を有し、
前記第２ＮＶＳメモリは、前記第１アクセス時間より短い第２アクセス時間を有し、
前記方法は、第１論理アドレスを前記第１ＮＶＳメモリにマッピングし、第２論理アドレスを前記第２ＮＶＳメモリにマッピングする段階をさらに備え、
前記第１論理アドレスは、前記第２論理アドレスよりもアクセスの頻度が低い、項目１９に記載の方法。
（項目４１）
第１アクセス時間および第１容量を有する第１不揮発性半導体（ＮＶＳ）メモリと、
前記第１アクセス時間より短い第２アクセス時間、および、前記第１容量とは異なる第２容量を有する第２不揮発性半導体（ＮＶＳ）メモリと、
前記第１アクセス時間、前記第２アクセス時間、前記第１容量、および前記第２容量のうち少なくとも１つに基づいて、前記第１および第２ＮＶＳメモリのうちいずれかの物理アドレスに論理アドレスをマッピングするマッピングモジュールと、を備える、固体メモリシステム。
（項目４２）
前記マッピングモジュールは、前記第２ＮＶＳメモリにデータをキャッシュする、項目４１に記載の固体メモリシステム。
（項目４３）
前記第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタするウェアレベリングモジュールをさらに備え、
前記第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する、項目４１に記載の固体メモリシステム。
（項目４４）
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、項目４３に記載の固体メモリシステム。
（項目４５）
前記ウェアレベリングモジュールは、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする、項目４３に記載の固体メモリシステム。
（項目４６）
前記マッピングモジュールは、前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信し、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、項目４３に記載の固体メモリシステム。
（項目４７）
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする、項目４６に記載の固体メモリシステム。
（項目４８）
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタして、前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する書き込みモニタモジュールをさらに備える、項目４６に記載の固体メモリシステム。
（項目４９）
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する書き込みモニタモジュールをさらに備え、
前記ウェアレベリングモジュールは、前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、項目４３に記載の固体メモリシステム。
（項目５０）
前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする、項目４９に記載の固体メモリシステム。
（項目５１）
劣化テストモジュールをさらに備え、
前記劣化テストモジュールは、
第１所定時間に前記物理アドレスの１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成し、
第２所定時間に前記物理アドレスの前記１つにデータを書き込み、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成し、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する、項目４３に記載の固体メモリシステム。
（項目５２）
前記ウェアレベリングモジュールは、前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする、項目５１に記載の固体メモリシステム。
（項目５３）
前記第２消耗レベルが所定の閾値以上の場合、前記ウェアレベリングモジュールは前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングし、
前記第１消耗レベルが所定の閾値以上の場合、前記ウェアレベリングモジュールは、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする、項目４１に記載の固体メモリシステム。
（項目５４）
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、項目４１に記載の固体メモリシステム。
（項目５５）
前記ウェアレベリングモジュールは、前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する、項目４１に記載の固体メモリシステム。
（項目５６）
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記ウェアレベリングモジュールは、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする、項目５５に記載の固体メモリシステム。
（項目５７）
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、項目４１に記載の固体メモリシステム。
（項目５８）
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、項目５７に記載の固体メモリシステム。
（項目５９）
論理アドレスを含むアクセスコマンドを受信する段階と、
前記論理アドレスを、第１アクセス時間、第２アクセス時間、第１容量、および第２容量のうち少なくとも１つに基づいて、第１および第２不揮発性半導体（ＮＶＳ）メモリのうちいずれかの物理アドレスにマッピングする段階と、を備え、
前記第１ＮＶＳメモリは、前記第１アクセス時間および前記第１容量を有し、
前記第２ＮＶＳメモリは、前記第１アクセス時間より短い前記第２アクセス時間と、前記第１容量より小さい前記第２容量とを有する、方法。
（項目６０）
前記第２ＮＶＳメモリにデータをキャッシュする段階をさらに備える、項目５９に記載の方法。
（項目６１）
前記第１および第２ＮＶＳメモリそれぞれの第１および第２消耗レベルをモニタする段階をさらに備え、
前記第１および第２ＮＶＳメモリはそれぞれ、第１および第２書き込みサイクル寿命を有する、項目５９に記載の方法。
（項目６２）
前記第１消耗レベルは、前記第１ＮＶＳメモリに行われた書き込み動作の第１数の、前記第１書き込みサイクル寿命に対する割合に実質的に基づき、
前記第２消耗レベルは、前記第２ＮＶＳメモリに行われた書き込み動作の第２数の、前記第２書き込みサイクル寿命に対する割合に実質的に基づく、項目６１に記載の方法。
（項目６３）
前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスに前記論理アドレスをマッピングする段階をさらに備える、項目６１に記載の方法。
（項目６４）
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を受信する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする、項目６１に記載の方法。
（項目６５）
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、項目６４に記載の方法。
（項目６６）
前記第１および第２論理アドレスへの後続するデータ書き込み頻度をモニタする段階と、
前記後続するデータ書き込み頻度に基づいて前記第１および第２のデータ書き込み頻度を更新する段階と、をさらに備える、項目６４に記載の方法。
（項目６７）
前記論理アドレス中の第１および第２論理アドレスへの第１および第２のデータ書き込み頻度を計測する段階と、
前記第１のデータ書き込み頻度が前記第２のデータ書き込み頻度より多く、前記第２消耗レベルが前記第１消耗レベルより小さい場合、前記第２ＮＶＳメモリの前記物理アドレスへの前記第１論理アドレスのマッピングをバイアスする段階と、をさらに備える、項目６１に記載の方法。
（項目６８）
前記第１ＮＶＳメモリの前記物理アドレスへの前記第２論理アドレスのマッピングをバイアスする段階をさらに備える、項目６７に記載の方法。
（項目６９）
第１所定時間に前記物理アドレスの１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第１記憶データを生成する段階と、
第２所定時間に前記物理アドレスの前記１つにデータを書き込む段階と、
前記物理アドレスの前記１つからデータを読み出すことで、第２記憶データを生成する段階と、
前記第１および第２記憶データに基づいて、前記物理アドレスの前記１つに対する劣化値を生成する段階と、をさらに備える、項目６１に記載の方法。
（項目７０）
前記劣化値に基づいて、前記物理アドレスの前記１つに前記論理アドレスの１つをマッピングする段階をさらに備える、項目６９に記載の方法。
（項目７１）
前記第２消耗レベルが所定の閾値以上の場合、前記論理アドレスを前記第１ＮＶＳメモリの前記物理アドレスにマッピングする段階と、
前記第１消耗レベルが所定の閾値以上の場合、前記論理アドレスを前記第２ＮＶＳメモリの前記物理アドレスにマッピングする段階と、をさらに備える、項目５９に記載の方法。
（項目７２）
所定期間中に前記第１ＮＶＳメモリの前記物理アドレスの第１ブロックに行われた書き込み動作が所定の閾値以上である場合、前記第２ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階を備える、項目５９に記載の方法。
（項目７３）
前記第２ＮＶＳメモリの前記物理アドレスの第１ブロックを、最小利用ブロック（ＬＵＢ）として特定する段階をさらに備える、項目５９に記載の方法。
（項目７４）
前記第２ＮＶＳメモリで利用可能なメモリが所定の閾値以下である場合、前記第１ＮＶＳメモリの前記物理アドレスの第２ブロックへの、前記第１ブロックからの前記論理アドレスの対応するもののマッピングをバイアスする段階をさらに備える、項目７３に記載の方法。
（項目７５）
前記第１ＮＶＳメモリはフラッシュデバイスを含み、
前記第２ＮＶＳメモリは相変化メモリデバイスを含む、項目５９に記載の方法。
（項目７６）
前記第１ＮＶＳメモリは窒化物読み出し専用メモリ（ＮＲＯＭ）フラッシュデバイスを含む、項目７５に記載の方法。
（項目７７）
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、項目４１に記載の固体メモリシステム。
（項目７８）
前記第２ＮＶＳメモリはシングルレベルセル（ＳＬＣ）フラッシュメモリを含み、
前記第１ＮＶＳメモリはマルチレベルセル（ＭＬＣ）フラッシュメモリを含む、項目５９に記載の方法。
【国際調査報告】
2010512569.tif 000021
2010512569.tif 000022
2010512569.tif 000023