【手続補正書】
【提出日】令和2年1月27日(2020.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
増加された容量、改善された寿命、及び改善されたレイテンシを有するメモリモジュールの重複メモリ除去方法であって、
複数のハッシュテーブル（Ｈａｓｈ  ｔａｂｌｅ）の各々がハッシュ関数に対応し、各々が複数のウェイ（Ｗａｙｓ）を含む複数の物理的なバケット（ｂｕｃｋｅｔ）を含み、各々がデータを格納するように構成された前記複数のハッシュテーブルを含むハッシュテーブルアレイを識別する段階と、
複数の仮想バケット（Ｖｉｒｔｕａｌ  ｂｕｃｋｅｔ）の各々が前記複数の物理的なバケットのいくつかを含み、各々が前記複数の仮想バケットの中の他の仮想バケットと前記複数の物理的なバケットの中の少なくとも１つを共有する前記複数の仮想バケットを識別する段階と、
ハッシュ値（Ｈａｓｈ  ｖａｌｕｅ）を生成するために複数のハッシュ関数の中の該当するハッシュ関数に従ってデータブロックをハッシング（Ｈａｓｈｉｎｇ）する段階と、
前記複数の物理的なバケットの中の意図された物理的なバケットが前記ハッシュ値に従って前記データブロックのための使用可能な空間を有するか否かを判定する段階と、
前記意図された物理的なバケットが使用可能な空間を有さない場合、前記意図された物理的なバケットとして前記複数の仮想バケットの中の１つと同一である前記複数の物理的なバケットの隣接位置の前記複数の物理的なバケットの中の１つが前記データブロックのための使用可能な空間を有するか否かを判定する段階と、
前記意図された物理的なバケットが使用可能な空間を有する場合、前記意図された物理的なバケットに前記データブロックを格納する段階と、を有することを特徴とするメモリモジュールの重複メモリ除去方法。
【請求項２】
前記隣接位置の前記複数の物理的なバケットの中の１つが使用可能な空間を有し、前記意図された物理的なバケットが使用可能な空間を有さない場合、前記隣接位置の前記複数の物理的なバケットの中の１つに前記データブロックを格納する段階を更に含むことを特徴とする請求項１に記載のメモリモジュールの重複メモリ除去方法。
【請求項３】
前記複数のハッシュ関数の中の該当するハッシュ関数に関連する前記ハッシュテーブルの前記複数の物理的なバケットの全部がいっぱいに満たされている場合、前記ハッシュテーブルアレイの前記複数のハッシュテーブルの他のハッシュテーブルに対応する前記複数のハッシュ関数の中の他のハッシュ関数に従って前記データブロックをハッシングする段階と、
前記複数のハッシュテーブルの中の他のハッシュテーブルに前記データブロックを格納する段階と、を更に含むことを特徴とする請求項１に記載のメモリモジュールの重複メモリ除去方法。
【請求項４】
前記ハッシュテーブルアレイの前記複数のハッシュテーブルの全部の前記複数の物理的なバケットの全部がいっぱいに満たされている場合、バッファメモリに前記データブロックを格納する段階を更に含むことを特徴とする請求項１に記載のメモリモジュールの重複メモリ除去方法。
【請求項５】
仮想バケットインデックス（ｉｎｄｅｘ）を含む物理的なラインＩＤ（Ｐｈｙｓｉｃａｌ  ｌｉｎｅ  ＩＤ：ＰＬＩＤ）を用いて前記複数の物理的なバケットの該当するグループに前記複数の仮想バケットの各々を関連させる段階を更に含むことを特徴とする請求項１に記載のメモリモジュールの重複メモリ除去方法。
【請求項６】
前記データブロックに対応する書込み要請を受信する段階と、
前記データブロックが前記意図された物理的なバケットを有する前記複数の仮想バケットの中の１つに格納される時に前記書込み要請を捨てる段階と、
前記ハッシュテーブルの参照カウントラインをアップデートする段階と、を更に含むことを特徴とする請求項１に記載のメモリモジュールの重複メモリ除去方法。
【請求項７】
増加された容量、改善された寿命、及び改善されたレイテンシを有し、重複メモリ除去のためのダイナミックランダムアクセスメモリ（ＤＲＡＭ）メモリモジュールであって、
ＤＲＡＭを含むＤＲＡＭメモリモジュールは、ハッシュテーブルアレイ内に複数のハッシュテーブルを有し、
前記複数のハッシュテーブルの各々は、
各々がデータを格納するための複数のウェイを含む複数の物理的なバケットと、
前記複数の物理的なバケットのいくつかを含む複数の仮想バケットと、を含み、
前記ＤＲＡＭメモリモジュールは、
前記格納されたデータを検索するためのメモリインターフェイスとインターフェイスして、前記メモリインターフェイスに前記検索されたデータを伝送し、
前記ハッシュテーブルアレイにデータブロックを格納するために前記メモリインターフェイスから書込み要請を受信し、
前記複数の物理的なバケットの意図された物理的なバケットを決定するために前記データブロックでハッシュ関数を遂行し、
前記意図された物理的なバケット、又は前記意図された物理的なバケットが属する前記複数の仮想バケットの中の任意の仮想バケットに位置する前記複数の物理的なバケットの隣接位置の前記複数の物理的なバケットの中のいずれか１つに、前記データブロックが事前に格納されたか否かを判定し、
前記データブロックが事前に格納されていない場合、及び前記意図された物理的なバケット又は前記隣接位置の前記複数の物理的なバケットの中のいずれか１つが使用可能な空間を有する場合、前記データブロックを前記意図された物理的なバケット又は前記隣接位置の前記複数の物理的なバケットの中のいずれか１つに格納するように構成されることを特徴とする重複メモリ除去のためのＤＲＡＭメモリモジュール。
【請求項８】
前記ＤＲＡＭは、隣接位置の前記複数の物理的なバケット及び前記意図された物理的なバケットの全部がいっぱいに満たされている場合にデータを格納するためのバッファメモリを更に含むことを特徴とする請求項７に記載の重複メモリ除去のためのＤＲＡＭメモリモジュール。
【請求項９】
前記ＤＲＡＭメモリモジュールは、
前記隣接位置の前記複数の物理的なバケット及び前記意図された物理的なバケットがいっぱいに満たされているか否かを判定し、
前記隣接位置の前記複数の物理的なバケット及び前記意図された物理的なバケットの全部がいっぱいに満たされている場合、前記意図された物理的なバケットではなく、前記複数のハッシュテーブルの中の異なるハッシュテーブルに他の意図された物理的なバケットを決定するために前記データブロックで他のハッシュ関数を遂行するように構成されることを特徴とする請求項７に記載の重複メモリ除去のためのＤＲＡＭメモリモジュール。
【請求項１０】
前記ＤＲＡＭは、前記ハッシュテーブルアレイの前記複数のハッシュテーブルの全部の前記複数の物理的なバケットの全部がいっぱいに満たされている場合にデータを格納するためのバッファメモリを更に含むことを特徴とする請求項９に記載の重複メモリ除去のためのＤＲＡＭメモリモジュール。
【請求項１１】
増加された容量、改善された寿命、及び改善されたレイテンシを有するメモリモジュールの重複メモリ除去方法であって、
複数のハッシュテーブルの各々が複数の物理的なバケットを含み、前記複数の物理的なバケットの各々が複数のウェイを含み、前記複数の物理的なバケットの各々が前記複数の物理的なバケットのいくつかを含む仮想バケットに関連する前記複数のハッシュテーブルを含むハッシュテーブルアレイにデータブロックを格納するために前記データブロックに対応する書込み要請を受信する段階と、
ハッシュ値を生成するために該当するハッシュ関数に従って前記データブロックをハッシングする段階と、
前記ハッシュ値に基づいて前記複数の物理的なバケットの中の意図された物理的なバケットを決定する段階と、
前記意図された物理的なバケットに同一のデータブロックが格納されているか否かを判定する段階と、
前記同一のデータブロックが前記意図された物理的なバケットに格納されていない場合、前記意図された物理的なバケットとして前記複数の仮想バケットの中の同一の仮想バケットの前記複数の物理的なバケットの中の他の１つに前記同一のデータブロックが格納されているか否かを判定する段階と、
前記意図された物理的なバケットが使用可能な空間を有する場合、前記意図された物理的なバケットに前記データブロックを格納する段階と、を含むことを特徴とするメモリモジュールの重複メモリ除去方法。
【請求項１２】
前記意図された物理的なバケットとして前記複数の仮想バケットの中の同一の仮想バケットの前記複数の物理的なバケットの中の他の任意の物理的なバケットに前記同一のデータブロックが格納されない場合、前記意図された物理的なバケットがいっぱいに満たされているか否かを判定する段階を更に含むことを特徴とする請求項１１に記載のメモリモジュールの重複メモリ除去方法。
【請求項１３】
前記意図された物理的なバケットがいっぱいに満たされている場合、前記意図された物理的なバケットとして前記複数の仮想バケットの中の同一の仮想バケットの前記複数の物理的なバケットの中の他の全部がいっぱいに満たされているか否かを判定する段階と、
前記複数の物理的なバケットの中の他の１つがいっぱいに満たされていない場合、前記複数の物理的なバケットの中の１つに前記データブロックを格納する段階と、を更に含むことを特徴とする請求項１２に記載のメモリモジュールの重複メモリ除去方法。
【請求項１４】
前記意図された物理的なバケットとして前記複数の仮想バケットの中の同一の仮想バケットの前記複数の物理的なバケットの中の他の全部がいっぱいに満たされている場合、前記データブロックをバッファメモリに格納する段階を更に含むことを特徴とする請求項１３に記載のメモリモジュールの重複メモリ除去方法。
【請求項１５】
前記複数の物理的なバケットの中の他の全部がいっぱいに満たされている場合、前記物理的なバケットとして前記複数のハッシュテーブルの中の同一のハッシュテーブルに前記複数の物理的なバケットの中の他の全部がいっぱいに満たされているか否かを判定する段階と、
前記複数のハッシュテーブルの中の同一のハッシュテーブルに前記複数の物理的なバケットの全部がいっぱいに満たされている場合、前記ハッシュテーブルアレイの前記複数のハッシュテーブルの中の他のハッシュテーブルが使用可能な空間を有するか否かを判定する段階と、
前記複数のハッシュテーブルの中の他のハッシュテーブルが使用可能な空間を有する場合、前記複数のハッシュテーブルの中の他のハッシュテーブルに対応する他のハッシュ関数に従って前記データブロックをハッシングする段階と、
前記複数のハッシュテーブルの中の他のハッシュテーブルに前記データブロックを格納する段階と、を更に含むことを特徴とする請求項１３に記載のメモリモジュールの重複メモリ除去方法。
【請求項１６】
前記ハッシュテーブルアレイの前記複数のハッシュテーブルの中の他のハッシュテーブルが使用可能な空間を有さない場合、前記データブロックをバッファメモリに格納する段階を更に含むことを特徴とする請求項１５に記載のメモリモジュールの重複メモリ除去方法。
【請求項１７】
前記同一のデータブロックが格納されない場合、前記意図された物理的なバケットを含む前記複数の仮想バケットの中の１つの前記複数の物理的なバケットの中の１つに前記データブロックを格納する段階と、
前記データブロックが格納される前記複数の物理的なバケットの中の１つに対応する物理的なラインＩＤ（ＰＬＩＤ）を生成する段階と、
アドレス検索テーブルに前記ＰＬＩＤを格納する段階と、を更に含むことを特徴とする請求項１４に記載のメモリモジュールの重複メモリ除去方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】メモリモジュールの重複メモリ除去方法、及びそのためのＤＲＡＭメモリモジュール
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明はメモリモジュールの重複メモリ除去方法、及びそのためのメモリモジュールに係り、より詳しくは、重複除去アプリケーションを直ちに処理する効率的なメモリモジュールの重複メモリ除去方法、及びそのためのＤＲＡＭメモリモジュールに関する。