【手続補正書】
【提出日】令和3年12月6日(2021.12.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デデュープ可能な（ｄｅｄｕｐａｂｌｅ）リードキャッシュ及び非デデュープ可能な（ｎｏｎ−ｄｅｄｕｐａｂｌｅ）ライトバッファを含むキャッシュメモリと、
前記デデュープ可能なリードキャッシュを利用してデータのリード及びライトを管理し、前記デデュープ可能なリードキャッシュへのライト要請が成功したか否かを示すライト状態信号を伝送するように動作するデデュープエンジンと、
キャッシュコントローラと、を備え、
前記キャッシュコントローラは、
要請に含まれるアドレスが前記デデュープ可能なリードキャッシュで発見されるか否かをチェックするキャッシュヒット／ミスチェックロジックと、
前記アドレスが前記デデュープ可能なリードキャッシュで発見されることを前記キャッシュヒット／ミスチェックロジックが示す場合、前記キャッシュメモリからの第１データにアクセスするヒットブロックと、
前記アドレスが前記デデュープ可能なリードキャッシュで発見されないことを前記キャッシュヒット／ミスチェックロジックが示す場合、バックエンド大容量メモリからの第２データにアクセスするミスブロックと、
前記デデュープ可能なリードキャッシュ内の前記第１データへのアクセスに関する情報を格納するヒストリーストレージと、を含むことを特徴とするデデュープ可能なキャッシュ。
【請求項２】
前記デデュープ可能なリードキャッシュは、前記デデュープ可能なリードキャッシュに物理的に適合するものよりもより多くのキャッシュラインを格納することをシミュレーションすることを特徴とする請求項１に記載のデデュープ可能なキャッシュ。
【請求項３】
前記キャッシュメモリは、前記デデュープ可能なリードキャッシュ内のキャッシュラインに関する情報を格納するメタデータ領域を更に含むことを特徴とする請求項１に記載のデデュープ可能なキャッシュ。
【請求項４】
前記キャッシュコントローラは、データをライトするための第１ライト要請をプロセッサから受信して前記非デデュープ可能なライトバッファに前記データを格納するように動作し、
前記ヒットブロックは、前記デデュープ可能なリードキャッシュ内のキャッシュラインが前記第１ライト要請によって修正される場合、前記キャッシュラインを無効化させるように前記デデュープエンジンに第２ライト要請を伝送するように動作することを特徴とする請求項１に記載のデデュープ可能なキャッシュ。
【請求項５】
前記第２ライト要請は、前記デデュープ可能なリードキャッシュ内のキャッシュラインに０の値をライトする要請を含むことを特徴とする請求項４に記載のデデュープ可能なキャッシュ。
【請求項６】
前記キャッシュコントローラは、前記キャッシュメモリのメタデータ領域に前記キャッシュラインが有効でないとしてマークするように更に動作することを特徴とする請求項４に記載のデデュープ可能なキャッシュ。
【請求項７】
前記ヒットブロックは、前記第２ライト要請に応答して前記デデュープエンジンから非確認応答（ＮＡＫ）信号を受信し、前記デデュープ可能なリードキャッシュから第２キャッシュラインを除去し、前記デデュープ可能なリードキャッシュから前記第２キャッシュラインを除去した後に前記デデュープエンジンに前記第２ライト要請を再び伝送するように更に動作することを特徴とする請求項４に記載のデデュープ可能なキャッシュ。
【請求項８】
前記キャッシュコントローラは、データをリードするためのリード要請をプロセッサから受信して前記プロセッサに前記データを伝送するように動作し、
前記ミスブロックは、前記バックエンド大容量メモリから前記データをリトリーブして、前記デデュープ可能なリードキャッシュ内に前記データをライトするために前記デデュープエンジンにライト要請を伝送するように動作することを特徴とする請求項１に記載のデデュープ可能なキャッシュ。
【請求項９】
前記ミスブロックは、前記ライト要請に応答して前記デデュープエンジンから非確認応答（ＮＡＫ）信号を受信し、前記デデュープ可能なリードキャッシュからキャッシュラインを除去し、前記デデュープ可能なリードキャッシュから前記キャッシュラインを除去した後に前記デデュープエンジンに前記ライト要請を再び伝送するように更に動作することを特徴とする請求項８に記載のデデュープ可能なキャッシュ。
【請求項１０】
前記デデュープ可能なリードキャッシュは、デデュープメモリを含み、
前記デデュープメモリ内のデータは、デデュープの対象になることを特徴とする請求項１に記載のデデュープ可能なキャッシュ。
【請求項１１】
キャッシュコントローラの動作方法であって、
データをライトするためのライト要請を受信するステップと、
前記データがデデュープ可能な（ｄｅｄｕｐａｂｌｅ）リードキャッシュ内のキャッシュラインに存在すると判定するステップと、
前記デデュープ可能なリードキャッシュ内のキャッシュラインを無効化するステップと、
前記データを非デデュープ可能な（ｎｏｎ−ｄｅｄｕｐａｂｌｅ）ライトバッファに格納するステップと、を有し、
前記デデュープ可能なリードキャッシュは、キャッシュメモリ内の第１領域であり、
前記キャッシュメモリは、第２領域として前記非デデュープ可能なライトバッファを含むことを特徴とする方法。
【請求項１２】
前記デデュープ可能なリードキャッシュ内のキャッシュラインを無効化するステップは、
前記キャッシュメモリ内のメタデータ領域に前記キャッシュラインが有効でないとしてマークするステップと、
デデュープエンジンを介して前記キャッシュラインに０の値をライトするステップと、を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記デデュープ可能なリードキャッシュ内のキャッシュラインを無効化するステップは、前記デデュープエンジンからライト状態信号の確認応答（ＡＣＫ）を受信するステップを更に含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記デデュープ可能なリードキャッシュ内のキャッシュラインを無効化するステップは、
前記デデュープエンジンからライト状態信号の非確認応答（ＮＡＫ）を受信するステップと、
前記デデュープ可能なリードキャッシュから除去するために第２キャッシュラインを選択するステップと、
前記第２キャッシュラインを無効化するステップと、
前記デデュープエンジンを介して前記第２キャッシュラインに０の値をライトするステップと、を更に含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記データを非デデュープ可能なライトバッファに格納するステップは、前記データが前記デデュープ可能なリードキャッシュ内のキャッシュラインに存在するか否かに拘らず、前記データを前記非デデュープ可能なライトバッファに格納するステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１６】
キャッシュコントローラの動作方法であって、
データをリードするためのリード要請を受信するステップと、
前記データがデデュープ可能な（ｄｅｄｕｐａｂｌｅ）リードキャッシュ内の複数のキャッシュラインに存在しないと判定するステップと、
バックエンド大容量メモリから前記データをリードするステップと、
前記デデュープ可能なリードキャッシュ内の第１キャッシュラインを選択するステップと、
前記データを前記第１キャッシュラインにライトすることを試みるためにデデュープエンジンに前記データを提供するステップと、
前記リード要請に応答して前記データを伝送するステップと、を有し、
前記デデュープ可能なリードキャッシュは、キャッシュメモリ内の第１領域であり、
前記キャッシュメモリは、第２領域として非デデュープ可能な（ｎｏｎ−ｄｅｄｕｐａｂｌｅ）ライトバッファを含むことを特徴とする方法。
【請求項１７】
前記デデュープ可能なリードキャッシュ内の第１キャッシュラインを選択するステップは、現在データを格納していない前記デデュープ可能なリードキャッシュ内の第１キャッシュラインを選択するステップを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記デデュープ可能なリードキャッシュ内の第１キャッシュラインを選択するステップは、
前記キャッシュメモリ内のメタデータ領域からのデデュープ可能なリードキャッシュメタデータ及びヒストリーデータに応答して、除去するために現在有効なデータを格納している前記デデュープ可能なリードキャッシュ内の第１キャッシュラインを選択するステップと、
前記第１キャッシュラインを無効化するステップと、を含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記第１キャッシュラインを無効化するステップは、
前記キャッシュメモリ内のメタデータ領域に前記第１キャッシュラインを有効でないとしてマークするステップと、
前記デデュープエンジンを介して前記第１キャッシュラインに０の値をライトするステップと、を含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記データを前記第１キャッシュラインにライトすることを試みるためにデデュープエンジンに前記データを提供するステップは、前記デデュープエンジンからライト状態信号の確認応答（ＡＣＫ）を受信するステップを含むことを特徴とする請求項１６に記載の方法。
【請求項２１】
前記データを前記第１キャッシュラインにライトすることを試みるためにデデュープエンジンに前記データを提供するステップは、
前記デデュープエンジンからライト状態信号の非確認応答（ＮＡＫ）を受信するステップと、
前記キャッシュメモリ内のメタデータ領域からのデデュープ可能なリードキャッシュメタデータ及びヒストリーデータに応答して、除去するために現在有効なデータを格納している前記デデュープ可能なリードキャッシュから第２キャッシュラインを選択するステップと、
前記第２キャッシュラインを無効化するステップと、
前記データを前記選択された第２キャッシュラインにライトすることを試みるために前記デデュープエンジンに前記データを提供するステップと、を含むことを特徴とする請求項１６に記載の方法。