【手続補正書】
【提出日】令和2年8月18日(2020.8.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソリッドステートドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ：ＳＳＤ）であって、
データを格納するフラッシュメモリと、
前記ソリッドステートドライブ内の複数の装置ストリームに対する支援手段と、
提出キュー及びチャンクストリームマッパ（ｃｈｕｎｋ−ｔｏ−ｓｔｒｅａｍ  ｍａｐｐｅｒ）のための格納部を含み、複数の書込み命令に応答して前記フラッシュメモリに対するデータ書込みを管理するソリッドステートドライブ制御器と、
フラッシュ変換階層と、を有し、
前記フラッシュ変換階層は、論理ブロックアドレス（ＬＢＡ、ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ）を含む書込み命令を受信する受信機と、
前記論理ブロックアドレスをチャンク識別子（ｃｈｕｎｋ  ＩＤ）にマッピングする論理ブロックアドレスマッパと、
前記チャンクストリームマッパを用いて前記チャンク識別子に基づき、ストリーム識別子を選択するストリーム選択ロジックと、
前記ストリーム識別子を前記書込み命令に追加するストリーム識別子アダー（ａｄｄｅｒ）と、
前記チャンク識別子を前記提出キューに配置するキューアー（ｑｕｅｕｅｒ）と、
前記チャンク識別子を前記提出キューから除去し、前記チャンクストリームマッパを更新する背景ロジック（ｂａｃｋｇｒｏｕｎｄ  ｌｏｇｉｃ）と、を含むことを特徴とするソリッドステートドライブ。
【請求項２】
前記チャンクストリームマッパは、順次、頻度、最新表（Ｓｅｑｕｅｎｔｉａｌ、Ｆｒｅｑｕｅｎｃｙ、Ｒｅｃｅｎｃｙ  ｔａｂｌｅ：以下、ＳＦＲ表と記す）を含み、前記ＳＦＲ表は、前記チャンク識別子及び前記チャンク識別子に対する前記ストリーム識別子を含むことを特徴とする請求項１に記載のソリッドステートドライブ。
【請求項３】
前記背景ロジックは、前記論理ブロックアドレスが以前の書込み命令の第２論理ブロックアドレスに順次的であれば、以前のストリームを選択する順次（ｓｅｑｕｅｎｔｉａｌｉｔｙ）ロジックを含むことを特徴とする請求項２に記載のソリッドステートドライブ。
【請求項４】
前記背景ロジックは、前記チャンク識別子に対する現在のアクセス時間、前記チャンク識別子に対する以前のアクセス時間、及び減衰期間に基づいて最新ウェイト（ｗｅｉｇｈｔ）を計算する最新ロジックと、
前記最新ウェイトに基づいて前記チャンク識別子に対するアクセスカウントを調節し、調節されたアクセスカウントを生成するアクセスカウント調節器と、
前記チャンク識別子に対する前記調節されたアクセスカウントに基づいて前記ストリーム識別子を調節するストリーム識別子調節器と、を含むことを特徴とする請求項２に記載のソリッドステートドライブ。
【請求項５】
前記チャンクストリームマッパは、ノードエントリ（ｎｏｄｅ  ｅｎｔｒｙ）を含み、前記ノードエントリは、前記チャンク識別子及び前記チャンク識別子に対する前記ストリーム識別子を含むことを特徴とする請求項１に記載のソリッドステートドライブ。
【請求項６】
前記背景ロジックは、前記チャンク識別子に基づいて前記ストリーム識別子を昇格（ｐｒｏｍｏｔｅ）する時を判断する昇格ロジックと、
前記チャンク識別子に対する前記ストリーム識別子に応答して、複数のストリーム識別子に対応する複数のキューの内の第１番目のキューに前記チャンク識別子を配置する第２キューアーと、
前記チャンク識別子に基づいて前記ストリーム識別子を降格する時を判断する降格ロジックと、を含むことを特徴とする請求項５に記載のソリッドステートドライブ。
【請求項７】
前記降格ロジックは、前記チャンク識別子に対する有効期限が経過したか否かを判断する比較器と、
前記チャンク識別子に対する前記有効期限が経過した時、前記ストリーム識別子を減らすデクリメンタ（ｄｅｃｒｅｍｅｎｔｏｒ）と、を含み、
前記第２キューアーは、前記チャンク識別子に対する前記減少されたストリーム識別子に応答して、前記複数のストリーム識別子に対応する前記複数のキューの中の第２番目のキューに前記チャンク識別子を配置するように動作することを特徴とする請求項６に記載のソリッドステートドライブ。
【請求項８】
マシン（ｍａｃｈｉｎｅ）によって実行される時、以下のような結果物（ｒｅｓｕｌｔ）となる命令が格納された非一時的な記憶媒体であって、
前記結果物は、
ソリッドステートドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ：ＳＳＤ）に対する論理ブロックアドレス（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ：ＬＢＡ）を含む書込み命令を受信する受信機と、
前記論理ブロックアドレスをチャンク識別子（ｉｄｅｎｔｉｆｉｅｒ：ＩＤ）にマッピングする論理ブロックアドレスマッパと、
ホストコンピュータシステムのメモリに格納されたチャンクストリームマッパを用いて前記チャンク識別子に基づいてストリーム識別子を選択するストリーム選択ロジックと、
前記ストリーム識別子を前記書込み命令に追加するストリーム識別子アダーと、
前記チャンク識別子を前記メモリに格納された提出キューに配置するキューアーと、
前記提出キューから前記チャンク識別子を除去し、前記チャンクストリームマッパを更新する背景ロジックと、を有することを特徴とする非一時的な記憶媒体。
【請求項９】
前記チャンクストリームマッパは、順次、頻度、最新表（Ｓｅｑｕｅｎｔｉａｌ、Ｆｒｅｑｕｅｎｃｙ、Ｒｅｃｅｎｃｙ  ｔａｂｌｅ：以下、ＳＦＲ表と記す）を含み、前記ＳＦＲ表は、前記チャンク識別子及び前記チャンク識別子に対する前記ストリーム識別子を含むことを特徴とする請求項８に記載の非一時的な記憶媒体。
【請求項１０】
前記背景ロジックは、前記論理ブロックアドレスが以前の書込み命令の第２論理ブロックアドレスに順次的であれば、以前のストリームを選択する順次ロジックを含むことを特徴とする請求項９に記載の非一時的な記憶媒体。
【請求項１１】
前記背景ロジックは、前記チャンク識別子に対する現在のアクセス時間、前記チャンク識別子に対する以前のアクセス時間、及び減衰期間に基づいて最新ウェイトを計算する最新ロジックと、
前記最新ウェイトに基づいて前記チャンク識別子に対するアクセスカウントを調節し、調節されたアクセスカウントを生成するアクセスカウント調節器と、
前記チャンク識別子に対する前記調節されたアクセスカウントに基づいて前記ストリーム識別子を調節するストリーム識別子調節器と、を含むことを特徴とする請求項９に記載の非一時的な記憶媒体。
【請求項１２】
前記チャンクストリームマッパは、ノードエントリを含み、前記ノードエントリは、前記チャンク識別子及び前記チャンク識別子に対する前記ストリーム識別子を含むことを特徴とする請求項８に記載の非一時的な記憶媒体。
【請求項１３】
前記背景ロジックは、前記チャンク識別子に基づいて前記ストリーム識別子を昇格する時を判断する昇格ロジックと、
前記チャンク識別子に対する前記ストリーム識別子に応答して、複数のストリーム識別子に対応する複数のキューの内の第１番目のキューに前記チャンク識別子を配置する第２キューアーと、
前記チャンク識別子に基づいて前記ストリーム識別子を降格する時を判断する降格ロジックと、を含むことを特徴とする請求項１２に記載の非一時的な記憶媒体。
【請求項１４】
前記降格ロジックは、前記チャンク識別子に対する有効期限が経過したか否かを判断する比較器と、
前記チャンク識別子に対する前記有効期限が経過した時、前記ストリーム識別子を減らすデクリメンタと、を含み、
前記第２キューアーは、前記チャンク識別子に対する前記減少されたストリーム識別子に応答して、前記複数のストリーム識別子に対応する前記複数のキューの中の第２番目のキューに前記チャンク識別子を配置するように動作することを特徴とする請求項１３に記載の非一時的な記憶媒体。
【請求項１５】
ソフトウェアソースから書込み命令を受信する段階と、
前記書込み命令で論理ブロックアドレス（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ：ＬＢＡ）を判断する段階と、
前記論理ブロックアドレスを含むソリッドステートドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ：ＳＳＤ）でチャンクに対するチャンク識別子（ｉｄｅｎｔｉｆｉｅｒ：ＩＤ）を識別する段階と、
前記チャンク識別子と関連するストリーム識別子にアクセスする段階と、
前記ストリーム識別子を前記書込み命令に割り当てる段階と、
前記割り当てられたストリーム識別子を用いて前記ソリッドステートドライブで前記書込み命令を処理する段階と、
前記チャンク識別子と関連した前記ストリーム識別子の背景更新（ｂａｃｋｇｒｏｕｎｄ  ｕｐｄａｔｅ）を遂行する段階と、を有することを特徴とするストリーム識別子割り当て方法。
【請求項１６】
前記論理ブロックアドレスが第２書込み命令の第２論理ブロックアドレスに順次的である否かを判断する段階と、
前記論理ブロックアドレスが前記第２書込み命令の前記第２論理ブロックアドレスに順次的である場合、前記第２書込み命令に割り当てられた第２ストリーム識別子を判断する段階と、
前記書込み命令に前記第２ストリーム識別子を割り当てる段階と、をさらに有することを特徴とする請求項１５に記載のストリーム識別子割り当て方法。
【請求項１７】
前記チャンク識別子と関連した前記ストリーム識別子の背景更新を遂行する段階は、前記チャンク識別子を提出キューに追加する段階と、
前記チャンク識別子が前記提出キューの先頭にある時、前記チャンク識別子を前記提出キューから除去する段階と、を含むことを特徴とする請求項１５に記載のストリーム識別子割り当て方法。
【請求項１８】
前記チャンク識別子と関連した前記ストリーム識別子の背景更新を遂行する段階は、前記チャンク識別子に対するアクセスカウントを増加させる段階と、
前記チャンク識別子に対する現在のアクセス時間及び以前のアクセス時間に応答して前記チャンク識別子に対する最新ウェイトを計算する段階と、
前記最新ウェイトに応答して前記チャンク識別子に対する前記アクセスカウントを更新する段階と、
前記更新されたアクセスカウントに応答して前記チャンク識別子に対する前記ストリーム識別子を判断する段階と、を含むことを特徴とする請求項１５に記載のストリーム識別子割り当て方法。
【請求項１９】
前記チャンク識別子と関連した前記ストリーム識別子の背景更新を遂行する段階は、前記チャンク識別子を複数のキューの中の１つである前記ストリーム識別子に対応するキューに配置する段階と、
前記チャンク識別子が前記キューの先頭に到達する時、前記チャンク識別子を降格するか否かを判断する段階と、を含むことを特徴とする請求項１５に記載のストリーム識別子割り当て方法。
【請求項２０】
前記チャンク識別子と関連した前記ストリーム識別子の背景更新を遂行する段階は、アクセスカウント及び装置寿命に応答して前記チャンク識別子に対する有効期限を判断する段階を含み、
前記チャンク識別子が前記キューの先頭に到達する時、前記チャンク識別子を降格するか否かを判断する段階は、前記チャンク識別子に対する前記有効期限が経過した時、前記ストリーム識別子に対応する前記キューから前記チャンク識別子を除去する段階と、
前記ストリーム識別子を減少する段階と、
前記チャンク識別子を前記減少したストリーム識別子に対応する第２キューに配置する段階と、を含むことを特徴とする請求項１９に記載のストリーム識別子割り当て方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】ソリッドステートドライブ及び非一時的な記憶媒体並びにストリーム識別子割り当て方法
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明はソリッドステートドライブ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅｓ：ＳＳＤｓ）に関し、特に、マルチストリームソリッドステートドライブでストリームを管理するソリッドステートドライブ及び非一時的な記憶媒体並びにストリーム識別子割り当て方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明は上記従来のソリッドステートドライブでのマルチストリームにおける問題点に鑑みてなされたものであって、本発明の目的は、チャンクのアクセス特性を反映してストリーム識別子を割り当て、管理することができるソリッドステートドライブを提供する。
また、本発明の他の目的はコンピューティングシステム用の非一時的な記憶媒体並びにストリーム識別子割り当て方法を提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上記目的を達成するためになされた本発明による非一時的な記憶媒体は、マシン（ｍａｃｈｉｎｅ）によって実行される時、以下のような結果物（ｒｅｓｕｌｔ）となる命令が格納された非一時的な記憶媒体であって、前記結果物は、ソリッドステートドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ：ＳＳＤ）に対する論理ブロックアドレス（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ：ＬＢＡ）を含む書込み命令を受信する受信機と、前記論理ブロックアドレスをチャンク識別子（ｉｄｅｎｔｉｆｉｅｒ：ＩＤ）にマッピングする論理ブロックアドレスマッパと、ホストコンピュータシステムのメモリに格納されたチャンクストリームマッパを用いて前記チャンク識別子に基づいてストリーム識別子を選択するストリーム選択ロジックと、前記ストリーム識別子を前記書込み命令に追加するストリーム識別子アダーと、前記チャンク識別子を前記メモリに格納された提出キューに配置するキューアーと、前記提出キューから前記チャンク識別子を除去し、前記チャンクストリームマッパを更新する背景ロジックと、を有することを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明に係るソリッドステートドライブ及び非一時的な記憶媒体並びにストリーム識別子割り当て方法によれば、順次、頻度、及び最新を考慮してストリーム識別子が割り当てられる。
また、アクセスカウント及び有効期限を考慮してチャンクに割り当てられたストリーム識別子が調節される。
したがって、チャンクのアクセス特性を反映してストリーム識別子を割り当て、管理することができる自動ストリーム検出及び割り当てアルゴリズムを提供できるという効果がある。