【手続補正書】
【提出日】平成28年9月29日(2016.9.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データストレージデバイスであって、
それぞれが複数の物理ページを記憶するように構成される複数の不揮発性メモリデバイスであって、前記複数の物理ページのそれぞれが、前記複数の不揮発メモリデバイス内の所定の物理位置に記憶される、複数の不揮発性メモリデバイスと、
コントローラが、複数の論理ページ（Ｌ−ページ）に記憶されたデータの、１以上の物理ページ内に、物理位置を決定可能にするように構成される論理物理アドレス変換マップを含む揮発性メモリと、を備え、
前記コントローラは、前記複数の不揮発性メモリデバイスと接続され、前記複数の不揮発性メモリデバイスへデータを書き込み、かつ前記複数の不揮発性メモリデバイスからデータを読み出すように構成されるコントローラであって、前記データは、前記複数の論理ページ（Ｌ−ページ）に記憶され、前記複数のＬ−ページのそれぞれは、前記コントローラが、前記論理物理アドレス変換マップを用いて前記物理ページの１以上に記憶されたデータを論理参照可能にするように構成されるＬ−ページ番号と関連付けられ、前記論理物理アドレス変換マップにおけるエントリは、Ｌ−ページ番号と、Ｌ−ページの長さ又は前記論理物理アドレス変換マップにおけるエントリに適用される誤り訂正符号ビットのサイズのうちの少なくとも一方との関連付けを含み、
前記コントローラは、前記複数の不揮発メモリデバイスに、物理論理対応を定義する複数のジャーナルを維持するように構成され、前記複数のジャーナルのそれぞれは、ジャーナル番号に関連付けられ、各ジャーナルは、所定の範囲の物理ページをカバーし、かつ複数のジャーナルエントリを含み、各エントリは、１以上の物理ページを各Ｌ−ページに関連付けるように構成され、前記コントローラは、起動すると、前記複数のジャーナルを読み出し、読みだした前記複数のジャーナルから前記揮発性メモリに記憶された前記論理物理アドレス変換マップを再構築するように構成される、データストレージデバイス。
【請求項２】
前記コントローラは、前記複数のＬ−ページの１つへ更新されると、前記複数のジャーナルの１つに新たなエントリを生成するように更に構成される請求項１に記載のデータストレージデバイス。
【請求項３】
変換データのパワーセーフコピーを維持するための前記不揮発性メモリデバイスへの書き込み動作は、前記論理物理アドレス変換マップの少なくとも一部を保存する代わりに新たに生成されたジャーナルエントリによって開始されるように構成され、ライトアンプリフィケーションが減少する、請求項２に記載のデータストレージデバイス。
【請求項４】
前記新たなエントリは、更新されたＬ−ページのスタートの、物理ページ内の、物理位置を示す請求項２に記載のデータストレージデバイス。
【請求項５】
前記コントローラは、更新前のＬ−ページの長さに対応する量により占められる空き領域を更新するように更に構成される請求項２に記載のデータストレージデバイス。
【請求項６】
前記複数のＬ−ページの少なくとも１つは、物理ページ境界に位置合わせされない請求項１に記載のデータストレージデバイス。
【請求項７】
前記物理ページは、誤り訂正符号（ＥＣＣ）ページ（Ｅ−ページ）として実装され、前記複数のデバイスは、複数のフラッシュメモリブロックを含み、各フラッシュメモリブロックは、複数のフラッシュメモリページ（Ｆ−ページ）を含み、前記Ｆ−ページのそれぞれは、複数の前記Ｅ−ページを含み、複数の前記Ｅ−ページのそれぞれは、前記複数のデバイス内の所定の物理位置に記憶される、請求項１に記載のデータストレージデバイス。
【請求項８】
前記コントローラは、更新されたＬ−ページのＬ−ページ番号によって参照されたデータの、１以上の物理ページ内に、前記物理位置で前記論理物理アドレス変換マップを更新するようにさらに構成される請求項２に記載のデータストレージデバイス。
【請求項９】
それぞれがデバイスごとに１以上のフラッシュメモリブロックを含む複数のスーパーブロック（Ｓ−ブロック）を更に備え、前記複数のジャーナルエントリのそれぞれは、前記Ｓ−ブロックの前記物理ページの１以上を各Ｌ−ページに関連付けるように構成される請求項１に記載のデータストレージデバイス。
【請求項１０】
前記コントローラは、少なくとも、
ガベージコレクションを行うために、前記複数のＳ−ブロックの１つを選択し、
選択されたＳ−ブロックに対するジャーナルにおける各エントリを前記論理物理アドレス変換マップにおけるエントリと比較し、有効であるエントリ及び有効でないエントリを指定し、
有効なエントリに対応する前記Ｌ−ページを読み出し、
読みだした前記Ｌ−ページを、前記複数の不揮発性メモリデバイス内の各物理アドレスに書き込み、
前記各物理アドレスを指し示すために、前記有効なエントリについての前記論理物理アドレス変換マップを更新し、
前記論理物理アドレス変換マップが更新された前記エントリについての新たなジャーナルエントリを生成する、
ことによりガベージコレクションを行うように更に構成される請求項９に記載のデータストレージデバイス。
【請求項１１】
前記コントローラは、少なくとも、
ガベージコレクションを行うために、前記複数のＳ−ブロックの１つを選択し、
選択された前記Ｓ−ブロックの前記物理ページを読み出し、
選択された前記Ｓ−ブロックの読み出した前記物理ページにおけるＬ−ページ番号を前記論理物理アドレス変換マップにおけるエントリと比較し、有効であるエントリ及び有効でないエントリを指定し、
有効なエントリに対応するＬ−ページを、前記複数の不揮発性メモリデバイス内の各物理アドレスに書き込み、
前記各物理アドレスを指し示すために、前記有効なエントリについての前記論理物理アドレス変換マップを更新し、
前記論理物理アドレス変換マップが更新された前記エントリについての新たなジャーナルエントリを生成する、
ことによりガベージコレクションを行うように更に構成される請求項９に記載のデータストレージデバイス。
【請求項１２】
前記選択することは、選択するためのＳ−ブロックを決定する際に空き領域及び書き込み消去（ｐｒｏｇｒａｍ  ｅｒａｓｅ（ＰＥ））カウントを重み付けすることを含む請求項１０に記載のデータストレージデバイス。
【請求項１３】
各ジャーナル番号は、前記ジャーナルによりカバーされる第１の物理ページのアドレスの所定数の最上位ビットを含む請求項１に記載のデータストレージデバイス。
【請求項１４】
前記複数のジャーナルエントリのそれぞれは、
Ｌ−ページ番号と、
物理アドレス位置と、を含む請求項１に記載のデータストレージデバイス。
【請求項１５】
前記複数のジャーナルエントリのそれぞれは、
Ｌ−ページ番号と、
物理ページの物理アドレス位置と、
Ｌ−ページサイズと、を含む請求項１に記載のデータストレージデバイス。
【請求項１６】
前記複数のジャーナルエントリのそれぞれは、
Ｌ−ページのスタートを含む物理ページのアドレスの所定数の最下位ビットと、
アドレスと、
Ｌ−ページサイズと、
前記物理ページへのオフセットと、を含む請求項１に記載のデータストレージデバイス。
【請求項１７】
前記複数のＬ−ページは、圧縮及びサイズを変更するように構成され、複数のジャーナル番号は、小さいサイズで大きな番号のＬ−ページを参照する、又は大きなサイズで小さな番号のＬ−ページを参照するように構成される請求項１に記載のデータストレージデバイス。
【請求項１８】
前記コントローラは、更に、所定の順序で開始すると、前記複数のジャーナルを読み出すように構成され、かつ、連続的に読み出された複数のジャーナルに基づいて、前記揮発性メモリに記憶された前記論理物理アドレス変換マップを再構築するように構成される請求項１に記載のデータストレージデバイス。
【請求項１９】
前記コントローラは、更に、前記複数のジャーナルに基づいてジャーナルマップを構築するように構成される請求項１に記載のデータストレージデバイス。
【請求項２０】
前記コントローラは、更に、
所定の順序で開始すると、前記複数のジャーナルを読み出し、
連続的に読み出された前記複数のジャーナルに基づいて、前記不揮発性メモリデバイスに記憶された前記ジャーナルのマップを構築し、
前記揮発性メモリにおける前記ジャーナルの構築されたマップを記憶する
ように構成される請求項１に記載のデータストレージデバイス。
【請求項２１】
与えられたＬ−ページに関連付けられたジャーナルエントリのうち、前記与えられたＬ−ページに関連付けられた、最後に更新された（ｌａｓｔ−ｉｎ−ｔｉｍｅ  ｕｐｄａｔｅｄ）ジャーナルエントリのみが有効である請求項１に記載のデータストレージデバイス。
【請求項２２】
前記コントローラは、更に、前記揮発性メモリにおける前記複数のジャーナルのシステムジャーナルマップを維持するように構成され、前記システムジャーナルマップにおける各エントリは、前記複数のジャーナルの１つが記憶される前記不揮発性メモリデバイスにおける位置を指し示す請求項１に記載のデータストレージデバイス。
【請求項２３】
揮発性メモリ及び複数の不揮発性メモリデバイスを備えるデータストレージデバイスを制御する方法であって、前記複数の不揮発性メモリデバイスのそれぞれが、複数の物理ページを記憶するように構成され、前記複数の物理ページのそれぞれが、前記複数の不揮発性メモリデバイス内の所定の物理位置で記憶され、前記方法は、
複数の論理ページ（Ｌ−ページ）にデータを記憶するステップであって、前記複数のＬ−ページのそれぞれは、コントローラが１以上の前記物理ページに記憶されたデータを論理参照可能にするように構成されるＬ−ページ番号と関連付けられる、ステップと、
前記揮発性メモリに論理物理アドレス変換マップを維持するステップであって、前記論理物理アドレス変換マップは、各Ｌ−ページに記憶されたデータの、前記物理ページの１以上内に、物理位置を決定可能にするように構成され、前記論理物理アドレス変換マップにおけるエントリは、Ｌ−ページ番号と、Ｌ−ページの長さ又は前記論理物理アドレス変換マップにおけるエントリに適用される誤り訂正符号ビットのサイズのうちの少なくとも一方との関連付けを含む、ステップと、
前記複数の不揮発性メモリデバイスに物理論理対応を定義する複数のジャーナルを維持するステップであって、前記複数のジャーナルのそれぞれは、ジャーナル番号に関連付けられ、各ジャーナルは、物理ページの所定の範囲をカバーし、かつ複数のジャーナルエントリをそれぞれ含み、各エントリは、１以上の前記物理ページを各Ｌ−ページに関連付けるように構成される、ステップと、
起動すると、前記複数のジャーナルを読み出し、前記複数のジャーナルにおける読み出されたエントリに基づいて前記揮発性メモリに記憶された前記論理物理アドレス変換マップを再構築するステップと、を備える方法。
【請求項２４】
前記複数のＬ−ページの１つへ更新されると、前記複数のジャーナルの１つに新たなエントリを生成するステップを更に備える請求項２３に記載の方法。
【請求項２５】
前記論理物理アドレス変換マップの少なくとも一部を保存する代わりに新たに生成されたジャーナルエントリに基づいて変換データのパワーセーフコピーを維持するために、前記不揮発性メモリデバイスへの書き込み動作を開始し、ライトアンプリフィケーションが減少する、ステップを更に備える請求項２４に記載の方法。
【請求項２６】
前記新たなエントリは、更新されたＬ−ページのスタートの、物理ページ内に、物理位置を示す請求項２４に記載の方法。
【請求項２７】
更新前のＬ−ページの長さに対応する量により占められる空き領域を更新するステップを更に備える請求項２４に記載の方法。
【請求項２８】
前記記憶するステップは、物理ページ境界に位置合わせされない位置に前記複数のＬ−ページの少なくとも１つを記憶することを含む請求項２３に記載の方法。
【請求項２９】
前記物理ページは、誤り訂正符号（ＥＣＣ）ページ（Ｅ−ページ）として実装され、前記複数のデバイスは、複数のフラッシュメモリブロックを含み、各フラッシュメモリブロックは、複数のフラッシュメモリページ（Ｆ−ページ）を含み、前記Ｆ−ページのそれぞれは、複数の前記Ｅ−ページを含み、複数の前記Ｅ−ページのそれぞれは、前記複数のデバイス内の所定の物理位置に記憶される、請求項２３に記載の方法。
【請求項３０】
更新されたＬ−ページのＬ−ページ番号によって参照されたデータの、１以上の物理ページ内に、前記物理位置で前記論理物理アドレス変換マップを更新するステップを更に備える請求項２３に記載の方法。
【請求項３１】
前記複数のデバイスは、それぞれがデバイスごとに１以上のフラッシュメモリブロックを含む複数のスーパーブロック（Ｓ−ブロック）を備え、前記複数のジャーナルエントリのそれぞれは、前記Ｓ−ブロックの前記物理ページの１以上を各Ｌ−ページに関連付けるように構成される、請求項２３に記載の方法。
【請求項３２】
ガベージコレクションを行うために、前記複数のＳ−ブロックの１つを選択するステップと、
選択された前記Ｓ−ブロックに対するジャーナルにおける各エントリを前記論理物理アドレス変換マップにおけるエントリと比較し、有効であるエントリ及び有効でないエントリを指定するステップと、
前記有効なエントリに対応する前記Ｌ−ページを読み出すステップと、
読み出したＬ−ページを、前記複数の不揮発性メモリデバイス内の各物理アドレスに書き込むステップと、
前記各物理アドレスを指し示すために、前記有効なエントリについての前記論理物理アドレス変換マップを更新するステップと、
前記論理物理アドレス変換マップが更新された前記エントリについての新たなジャーナルエントリを生成するステップと、を更に備える請求項３１に記載の方法。
【請求項３３】
ガベージコレクションを行うために、前記複数のＳ−ブロックの１つを選択するステップと、
選択された前記Ｓ−ブロックの前記物理ページを読み出すステップと、
選択された前記Ｓ−ブロックの読み出した前記物理ページにおけるＬ−ページ番号を前記論理物理アドレス変換マップにおけるエントリと比較し、有効であるエントリ及び有効でないエントリを指定するステップと、
有効なエントリに対応するＬ−ページを、前記複数の不揮発性メモリデバイス内の各物理アドレスに書き込むステップと、
前記各物理アドレスを指し示すために、前記有効なエントリについての前記論理物理アドレス変換マップを更新するステップと、
前記論理物理アドレス変換マップが更新された前記エントリについての新たなジャーナルエントリを生成するステップと、を更に備える請求項３１に記載の方法。
【請求項３４】
前記選択するステップは、選択するためのＳ−ブロックを決定する際に空き領域及び書き込み消去（ｐｒｏｇｒａｍ  ｅｒａｓｅ（ＰＥ））カウントを重み付けすることを含む請求項３２に記載の方法。
【請求項３５】
前記ジャーナル番号は、前記ジャーナルによりカバーされる第１の物理ページのアドレスの所定数の最上位ビットを含む請求項３４に記載の方法。
【請求項３６】
前記複数のジャーナルエントリのそれぞれは、
Ｌ−ページ番号と、
物理アドレス位置と、を含む請求項２３に記載の方法。
【請求項３７】
前記複数のジャーナルエントリのそれぞれは、
Ｌ−ページ番号と、
物理ページの物理アドレス位置と、
Ｌ−ページサイズと、を含む請求項２３に記載の方法。
【請求項３８】
前記複数のジャーナルエントリのそれぞれは、
Ｌ−ページのスタートを含む物理ページのアドレスの所定数の最下位ビットと、
アドレスと、
Ｌ−ページサイズと、
前記物理ページへのオフセットと、を含む請求項２３に記載の方法。
【請求項３９】
前記複数のＬ−ページのサイズが変化するように前記複数のＬ−ページを選択的に圧縮するステップを更に備え、前記複数のジャーナルは、小さいサイズで大きな番号のＬ−ページを参照する、又は大きなサイズで小さな番号のＬ−ページを参照するように構成される請求項２３に記載の方法。
【請求項４０】
前記論理物理アドレス変換マップを開始及び再構築すると、前記複数のジャーナルを読み出すステップは、所定の順序で開始すると、前記複数のジャーナルを読み出し、かつ連続的に読み出された複数のジャーナルに基づいて、前記揮発性メモリに記憶された前記論理物理アドレス変換マップを再構築することを含む請求項２３に記載の方法。
【請求項４１】
前記コントローラは、更に、前記複数のジャーナルに基づいてジャーナルマップを構築するように構成される請求項２３に記載の方法。
【請求項４２】
所定の順序で開始すると、前記複数のジャーナルを読み出すステップと、
連続的に読み出された前記複数のジャーナルに基づいて、前記不揮発性メモリデバイスに記憶された前記ジャーナルのマップを構築するステップと、
前記揮発性メモリにおける前記ジャーナルの構築されたマップを記憶するステップと、を更に備える請求項２３に記載の方法。
【請求項４３】
与えられたＬ−ページに関連付けられたジャーナルエントリのうち、前記与えられたＬ−ページに関連付けられた、最後に更新された（ｌａｓｔ−ｉｎ−ｔｉｍｅ  ｕｐｄａｔｅｄ）ジャーナルエントリのみが有効である請求項２３に記載の方法。
【請求項４４】
前記揮発性メモリにおける前記複数のジャーナルのシステムジャーナルマップを維持するステップであって、前記システムジャーナルマップにおける各エントリは、前記複数のジャーナルの１つが記憶される前記不揮発性メモリデバイスにおける位置を指し示す、ステップを更に備える請求項２３に記載の方法。
【請求項４５】
データストレージデバイスコントローラであって、
揮発性メモリ及び複数の不揮発性メモリデバイスと接続されたプロセッサであって、前記複数の不揮発性メモリデバイスのそれぞれは、複数の不揮発性メモリデバイス内の所定の物理位置における複数の物理ページを記憶するように構成され、前記プロセッサは、更に、前記複数の不揮発性メモリデバイスへデータを書き込み、かつ前記複数の不揮発性メモリデバイスからデータを読み出すように構成され、前記データは、複数の論理ページ（Ｌ−ページ）に記憶され、前記複数のＬ−ページのそれぞれは、前記プロセッサが、前記物理ページの１以上に記憶されたデータを論理参照可能にするように構成されるＬ−ページ番号と関連付けられ、前記揮発性メモリは、前記プロセッサが、各Ｌ−ページに記憶されたデータの、１以上の物理ページ内に、物理位置を決定可能に構成された論理物理アドレス変換マップを記憶するように構成される、プロセッサを備え、
前記論理物理アドレス変換マップにおけるエントリは、Ｌ−ページ番号と、Ｌ−ページの長さ又は前記論理物理アドレス変換マップにおけるエントリに適用される誤り訂正符号ビットのサイズのうちの少なくとも一方との関連付けを含み、
前記プロセッサは、前記複数の不揮発性メモリデバイスに、物理論理対応を定義する複数のジャーナルを維持するように構成され、前記複数のジャーナルのそれぞれは、ジャーナル番号と関連付けられ、各ジャーナルは、所定の範囲の物理ページをカバーし、かつ複数のジャーナルエントリを含み、各エントリは、１以上の物理ページを各Ｌ−ページに関連付けるように構成され、前記プロセッサは、更に、読み出した前記複数のジャーナルから前記不揮発性メモリデバイスに記憶された前記論理物理アドレス変換マップを開始及び再構築すると、前記複数のジャーナルを読み出すように構成される、データストレージデバイスコントローラ。