【手続補正書】
【提出日】令和3年5月19日(2021.5.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の処理ユニットと、
１つ又は複数の補助記憶からデータをキャッシュするために使用され、前記複数の処理ユニットによって共有される複数のキャッシュラインを含むキャッシュメモリであって、前記複数のキャッシュライン内のデータと前記１つ又は複数の補助記憶との間の整合性はキャッシュコヒーレンスプロトコル（ＣＣＰ）に従って管理される、キャッシュメモリと、
少なくとも以下の条件、つまり
（ｉ）或る操作が前記複数のキャッシュラインの特定のキャッシュラインと前記１つ又は複数の補助記憶との間の相互作用を引き起こしたこと、
（ｉｉ）前記操作を引き起こした前記複数の処理ユニットの特定の処理ユニットについてロギングが有効にされていること、
（ｉｉｉ）前記特定のキャッシュラインがロギングのパーティシパントであること、及び
（ｉｖ）前記操作に基づいてトレースにログすべきデータがあることを前記ＣＣＰが示していること
が満たされていると判定すること、並びに
前記条件が満たされていると判定することに少なくとも基づいて前記データを前記トレースにログさせることであって、前記データは前記操作を再実行するために使用可能である、ログさせること
を少なくとも行うように計算装置を構成する記憶済みの制御ロジックと
を含む、計算装置。
【請求項２】
前記操作後に前記特定のキャッシュラインがロギングのパーティシパントのままかどうかを示すために、前記記憶済みの制御ロジックが前記特定のキャッシュラインに関連する１つ又は複数のアカウンティングビットを更新するように前記計算装置を更に構成する、請求項１に記載の計算装置。
【請求項３】
前記特定のキャッシュラインに関連する前記１つ又は複数のアカウンティングビットが（ｉ）単一ビット、（ｉｉ）前記複数の処理ユニットの１つにそれぞれ対応する複数のビット、又は（ｉｉｉ）プロセッサインデックス値を記憶する複数のビットのうちの１つを含む、請求項２に記載の計算装置。
【請求項４】
前記特定のキャッシュラインに関連する前記１つ又は複数のアカウンティングビットが、１つ又は複数の補助記憶からのデータをキャッシュするために使用されるキャッシュラインとは別の１つ又は複数の予約済みキャッシュライン内に記憶される、請求項２に記載の計算装置。
【請求項５】
前記データを前記トレースにログさせることが、前記データをバッファに書き込むことを含み、前記バッファから前記トレースファイルにデータをフラッシュすることがメモリバスのアクティビティに基づいて先延ばしされる、請求項１に記載の計算装置。
【請求項６】
前記記憶済みの制御ロジックが、アソシアティブキャッシュ内のグループ及びウェイを参照することによって少なくとも１つのキャッシュ追い出しをログするように前記計算装置を更に構成する、請求項１に記載の計算装置。
【請求項７】
前記ログされるデータが、異なるＣＣＰ状態間の遷移を含む、請求項１に記載の計算装置。
【請求項８】
前記ログされるデータが、書き込み状態から読み出し状態への遷移、書き込み状態から書き込み状態への遷移、又は読み出し状態から書き込み状態への遷移のうちの少なくとも１つを含む、請求項１に記載の計算装置。
【請求項９】
前記ＣＣＰを使用してトレースにログすべきデータがあることを識別することが、読み出し状態から読み出し状態への遷移は前記トレースにログする必要がないことを識別することを含む、請求項１に記載の計算装置。
【請求項１０】
処理ユニットごとのデータが少なくとも１つの別個のデータストリームにログされる、請求項１に記載の計算装置。
【請求項１１】
２つ以上の処理ユニットのデータが同じデータストリームにログされるが、処理ユニット識別子でタグ付けされる、請求項１に記載の計算装置。
【請求項１２】
前記トレースにログすべき前記データが順序付け情報を含む、請求項１に記載の計算装置。
【請求項１３】
前記ログすべきデータがエンクレーブによって前記特定のキャッシュラインに書き込まれるデータを含み、前記データを前記トレースにログさせることが
前記特定のキャッシュラインと前記１つ又は複数の補助記憶との間の前記相互作用を引き起こした前記操作が前記エンクレーブと相互作用するスレッドに対応する場合、前記スレッドに対応するトレースデータストリーム内に前記データをログさせること、又は
前記特定のキャッシュラインと前記１つ又は複数の補助記憶との間の前記相互作用を引き起こした前記操作が前記エンクレーブに対応する場合、前記スレッドに対応する前記トレースデータストリームから分離されるように前記データをログさせること
を含む、請求項１に記載の計算装置。
【請求項１４】
複数の処理ユニット、及び１つ又は複数の補助記憶からデータをキャッシュするために使用され、前記複数の処理ユニットによって共有される複数のキャッシュラインを含むキャッシュメモリを含む計算環境内で実装される方法であって、前記複数のキャッシュライン内のデータと前記１つ又は複数の補助記憶との間の整合性はキャッシュコヒーレンスプロトコルに従って管理され、キャッシュコヒーレンスプロトコル（ＣＣＰ）データを用いたキャッシュベーストレース記録を実行するための方法であり、
少なくとも以下の条件、つまり
（ｉ）或る操作が前記複数のキャッシュラインの特定のキャッシュラインと前記１つ又は複数の補助記憶との間の相互作用を引き起こしたこと、
（ｉｉ）前記操作を引き起こした前記複数の処理ユニットの特定の処理ユニットについてロギングが有効にされていること、
（ｉｉｉ）前記特定のキャッシュラインがロギングのパーティシパントであること、及び
（ｉｖ）前記操作に基づいてトレースにログすべきデータがあることを前記ＣＣＰが示していること
が満たされていると判定すること、並びに
前記条件が満たされていると判定することに少なくとも基づいて前記データを前記トレースにログさせることであって、前記データは前記操作を再実行するために使用可能である、ログさせること
を含む、方法。
【請求項１５】
前記操作後に前記特定のキャッシュラインがロギングのパーティシパントのままかどうかを示すために、前記特定のキャッシュラインに関連する１つ又は複数のアカウンティングビットを更新することを更に含む、請求項１４に記載の方法。
【請求項１６】
前記データを前記トレースにログさせることが、前記データをバッファに書き込むことを含み、前記バッファから前記トレースファイルにデータをフラッシュすることがメモリバスのアクティビティに基づいて先延ばしされる、請求項１４に記載の方法。
【請求項１７】
前記ログされるデータは異なるＣＣＰ状態間の遷移を含む、請求項１４に記載の方法。
【請求項１８】
前記ログされるデータは、書き込み状態から読み出し状態への遷移、書き込み状態から書き込み状態への遷移、又は読み出し状態から書き込み状態への遷移のうちの少なくとも１つを含む、請求項１４に記載の方法。
【請求項１９】
前記ＣＣＰを使用してトレースにログすべきデータがあることを識別することが、読み出し状態から読み出し状態への遷移は前記トレースにログする必要がないことを識別することを含む、請求項１４に記載の方法。
【請求項２０】
複数の処理ユニット、及び１つ又は複数の補助記憶からデータをキャッシュするために使用され、前記複数の処理ユニットによって共有される複数のキャッシュラインを含むキャッシュメモリを含む計算装置において使用するためのコンピュータプログラム製品であって、前記複数のキャッシュライン内のデータと前記１つ又は複数の補助記憶との間の整合性はキャッシュコヒーレンスプロトコル（ＣＣＰ）に従って管理され、前記コンピュータプログラム製品は
少なくとも以下の条件、つまり
（ｉ）或る操作が前記複数のキャッシュラインの特定のキャッシュラインと前記１つ又は複数の補助記憶との間の相互作用を引き起こしたこと、
（ｉｉ）前記操作を引き起こした前記複数の処理ユニットの特定の処理ユニットについてロギングが有効にされていること、
（ｉｉｉ）前記特定のキャッシュラインがロギングのパーティシパントであること、及び
（ｉｖ）前記操作に基づいてトレースにログすべきデータがあることを前記ＣＣＰが示していること
が満たされていると判定すること、並びに
前記条件が満たされていると判定することに少なくとも基づいて前記データを前記トレースにログさせることであって、前記データは前記操作を再実行するために使用可能である、ログさせること
を少なくとも前記計算装置に行わせるために１つ又は複数の処理ユニットによって実行可能なコンピュータ実行可能命令を記憶しているコンピュータ可読媒体を含む、コンピュータプログラム製品。