【手続補正書】
【提出日】令和1年10月16日(2019.10.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソリッドステートドライブであって、
第１生存時間を含む第１ストリームのデータを受信し、前記第１生存時間と異なる第２生存時間を含む第２ストリームのデータを受信する受信回路と、
前記第１生存時間に基づいて第１時点に前記ソリッドステートドライブのブロックに前記第１ストリームのデータを書き込むことを選択し、前記第２生存時間に基づいて第２時点に前記ソリッドステートドライブの前記ブロックに前記第２ストリームのデータを書き込むことを選択する選択ロジックと、
前記第１ストリームのデータを前記ソリッドステートドライブの前記ブロックの第１ページに書き込み、前記第２ストリームのデータを前記ソリッドステートドライブの前記ブロックの第２ページに書き込む書込みロジックと、を備え、
前記第１ストリームのデータ及び前記第２ストリームのデータの両方は、前記ブロックがガーベッジコレクションの対象になる前に前記ブロックに書き込まれることを特徴とするソリッドステートドライブ。
【請求項２】
前記ブロックに格納された全てのデータは、前記第１ストリーム及び前記第２ストリームの中のいずれか１つのストリームのデータのみが前記ブロックに書き込まれた場合よりも早く満了すると予測されることを特徴とする請求項１に記載のソリッドステートドライブ。
【請求項３】
前記選択ロジックは、
前記第１ストリームに連関する書込みオペレーションに対する第１平均書込みサイズ及び前記第２ストリームに連関する書込みオペレーションに対する第２平均書込みサイズを演算する平均書込みサイズ演算器と、
前記第１ストリームに対する第１平均書込み到達比率及び前記第２ストリームに対する第２平均書込み到達比率を演算する平均書込み到達比率演算器と、を含むことを特徴とする請求項１に記載のソリッドステートドライブ。
【請求項４】
前記選択ロジックは、前記第１生存時間、前記第２生存時間、前記第１平均書込みサイズ、前記第１平均書込み到達比率、前記第２平均書込みサイズ、及び前記第２平均書込み到達比率の中の少なくとも２つに基づいて前記ソリッドステートドライブのブロックに書き込むストリームを選択するように動作することを特徴とする請求項３に記載のソリッドステートドライブ。
【請求項５】
前記ソリッドステートドライブは、第２次ストリームを生成する第２次ストリーム生成器をさらに含み、
前記選択ロジックは、前記第１ストリーム及び前記第２ストリームの中から前記第２次ストリームに書き込むストリームを選択するストリーム選択ロジックを含み、
前記書込みロジックは、前記第２次ストリームを前記ブロックに書き込むように動作することを特徴とする請求項１に記載のソリッドステートドライブ。
【請求項６】
ソリッドステートドライブに対するソリッドステートドライブコントローラであって、
前記ソリッドステートドライブのブロックに対するブロックの生存時間のためのストレージと、
前記ブロックの生存時間、第１生存時間、及び第２生存時間に基づいて、前記第１生存時間を有する第１ストリーム及び前記第２生存時間を有する第２ストリームの中から前記ブロックに書き込むストリームを選択する選択ロジックと、を備え、
前記第１ストリームのデータ及び前記第２ストリームのデータの両方は、前記ブロックがガーベッジコレクションの対象になる前に前記ブロックに書き込まれることを特徴とするソリッドステートドライブコントローラ。
【請求項７】
前記ブロックに格納された全てのデータは、前記第１ストリーム及び前記第２ストリームの中のいずれか１つのストリームのデータのみが前記ブロックに書き込まれた場合よりも早く満了すると予測されることを特徴とする請求項６に記載のソリッドステートドライブコントローラ。
【請求項８】
前記選択ロジックは、前記ブロックの生存時間、前記第１生存時間、及び前記第２生存時間に基づいて第１時点に前記ブロックに書き込む前記第１ストリームを選択し、前記ブロックの生存時間、前記第１生存時間、及び前記第２生存時間に基づいて第２時点に前記ブロックに書き込む前記第２ストリームを選択するように動作することを特徴とする請求項６に記載のソリッドステートドライブコントローラ。
【請求項９】
前記選択ロジックは、
前記第１ストリームに連関する書込みオペレーションに対する第１平均書込みサイズ及び前記第２ストリームに連関する書込みオペレーションに対する第２平均書込みサイズを演算する平均書込みサイズ演算器と、
前記第１ストリームに対する第１平均書込み到達比率及び前記第２ストリームに対する第２平均書込み到達比率を演算する平均書込み到達比率演算器と、を含むことを特徴とする請求項６に記載のソリッドステートドライブコントローラ。
【請求項１０】
前記選択ロジックは、前記ブロックの生存時間、前記第１生存時間、前記第２生存時間、前記第１平均書込みサイズ、前記第１平均書込み到達比率、前記第２平均書込みサイズ、及び前記第２平均書込み到達比率の中の少なくとも２つに基づいて前記ソリッドステートドライブのブロックに書き込むストリームを選択するように動作することを特徴とする請求項９に記載のソリッドステートドライブコントローラ。
【請求項１１】
前記選択ロジックは、前記ブロックの生存時間、前記第１生存時間、前記第２生存時間、及び第３生存時間に基づいて、前記第１生存時間を有する前記第１ストリーム、前記第２生存時間を有する前記第２ストリーム、及び前記第３生存時間を有する第３ストリームの中から前記ブロックに書き込むストリームを選択するように動作することを特徴とする請求項６に記載のソリッドステートドライブコントローラ。
【請求項１２】
前記ソリッドステートドライブコントローラは、第２次ストリームを生成する第２次ストリーム生成器をさらに含み、
前記選択ロジックは、前記第１ストリーム及び前記第２ストリームの中から前記第２次ストリームに書き込むストリームを選択するストリーム選択ロジックを含み、
前記第２次ストリームは、前記ブロックに書き込まれることを特徴とする請求項６に記載のソリッドステートドライブコントローラ。
【請求項１３】
ソリッドステートドライブの動作方法であって、
ソリッドステートドライブのブロックを識別するステップと、
第１生存時間を含む第１ストリームを受信するステップと、
前記第１生存時間と異なる第２生存時間を含む第２ストリームを受信するステップと、
前記第１生存時間に基づいて第１時点に前記ブロックに前記第１ストリームを書き込むことを選択するステップと、
前記第２生存時間に基づいて第２時点に前記ブロックに前記第２ストリームを書き込むことを選択するステップと、
前記第１ストリームのデータを前記ブロックの第１ページに書き込み、前記第２ストリームのデータを前記ブロックの第２ページに書き込むステップと、を有し、
前記第１ストリームのデータ及び前記第２ストリームのデータの両方は、前記ブロックがガーベッジコレクションの対象になる前に前記ブロックに書き込まれることを特徴とするソリッドステートドライブの動作方法。
【請求項１４】
前記ブロックに格納された全てのデータは、前記第１ストリーム及び前記第２ストリームの中のいずれか１つのストリームのデータのみが前記ブロックに書き込まれた場合よりも早く満了すると予測されることを特徴とする請求項１３に記載のソリッドステートドライブの動作方法。
【請求項１５】
前記ブロックに前記第１ストリームを書き込むこと又は前記第２ストリームを書き込むことを選択するステップは、前記第１生存時間、前記第２生存時間、前記第１ストリームに対する第１平均書込みサイズ、前記第２ストリームに対する第２平均書込みサイズ、前記第１ストリームに対する第１平均書込み到達比率、及び前記第２ストリームに対する第２平均書込み到達比率の中の少なくとも２つに基づいて前記ブロックに前記第１ストリーム又は前記第２ストリームを書き込むことを選択するステップを含むことを特徴とする請求項１３に記載のソリッドステートドライブの動作方法。
【請求項１６】
前記ソリッドステートドライブのブロックを識別するステップは、前記ブロックの生存時間を前記ブロックに連関させるステップを含むことを特徴とする請求項１３に記載のソリッドステートドライブの動作方法。
【請求項１７】
前記ブロックに前記第１ストリームを書き込むこと又は前記第２ストリームを書き込むことを選択するステップは、前記第１生存時間、前記第２生存時間、及び前記ブロックの生存時間に基づいて前記ブロックに前記第１ストリーム又は前記第２ストリームを書き込むことを選択するステップを含むことを特徴とする請求項１６に記載のソリッドステートドライブの動作方法。
【請求項１８】
前記ブロックに前記第１ストリームを書き込むこと又は前記第２ストリームを書き込むことを選択するステップは、前記第１生存時間又は前記第２生存時間の中の前記ブロックの生存時間により近い生存時間に基づいて前記第１ストリーム又は前記第２ストリームの中から前記ブロックに書き込むストリームを選択するステップをさらに含むことを特徴とする請求項１７に記載のソリッドステートドライブの動作方法。
【請求項１９】
前記ソリッドステートドライブの動作方法は、
第２次ストリームを生成するステップと、
前記第２次ストリームを前記ブロックに連関させるステップと、をさらに含み、
前記ブロックに前記第１ストリームを書き込むこと又は前記第２ストリームを書き込むことを選択するステップは、前記第１ストリーム及び前記第２ストリームのデータの中から前記第２次ストリームに割当するデータを選択するステップを含むことを特徴とする請求項１３に記載のソリッドステートドライブの動作方法。
【請求項２０】
前記ソリッドステートドライブの動作方法は、前記第１生存時間及び前記第２生存時間と異なる第３生存時間を含む第３ストリームを受信するステップをさらに含み、
前記ブロックに前記第１ストリームを書き込むこと又は前記第２ストリームを書き込むことを選択するステップは、前記第１生存時間、前記第２生存時間、及び前記第３生存時間に基づいて前記ブロックに前記第１ストリーム、前記第２ストリーム、又は前記第３ストリームの中から前記ブロックに書き込むストリームを選択するステップを含み、
前記第１ストリーム及び前記第２ストリームの両方のデータを前記ブロックに書き込むステップは、前記第１ストリームのデータ、前記第２ストリームのデータ、及び前記第３ストリームのデータを前記ブロックに書き込むステップを含むことを特徴とする請求項１３に記載のソリッドステートドライブの動作方法。
【請求項２１】
前記ブロックに前記第１ストリームを書き込むこと又は前記第２ストリームを書き込むことを選択するステップは、前記ブロックの生存時間を前記ブロックの現在の状態を反映するために更新されたブロック生存時間に変更するステップをさらに含み、
前記第１生存時間又は前記第２生存時間の中の前記ブロックの生存時間により近い生存時間に基づいて前記第１ストリーム又は前記第２ストリームの中から前記ブロックに書き込むストリームを選択するステップは、前記第１生存時間又は前記第２生存時間の中の前記更新されたブロック生存時間により近い生存時間に基づいて、前記第１ストリーム又は前記第２ストリームを書き込むことを選択するステップを含むことを特徴とする請求項１８に記載のソリッドステートドライブの動作方法。