【手続補正書】
【提出日】平成28年7月6日(2016.7.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オンチップの不揮発性キャッシュメモリのウェアレベリングのための方法であって、
前記キャッシュメモリへのメモリ書込み動作の数が閾値に達するときにキャッシュセットに対する複数のメモリ位置スワップ動作を実行することによって前記オンチップの不揮発性キャッシュメモリの前記キャッシュセットを動的に循環させるステップであって、各スワップ動作が、スワップされたキャッシュセットの内容を無効にするステップ、および、前記スワップされたキャッシュセットのうちの少なくとも2つの内容を前記キャッシュセット間で移動せずに、前記スワップされたキャッシュセットのうちの前記少なくとも2つのマッピングを一度にスワップし、完全なスワップ循環の後に少なくとも1ステップにより前記キャッシュセットをシフトすることによって他のキャッシュセットのメモリ内容はそのままにするステップを含む、ステップと、
前記スワップされたキャッシュセットを追跡して論理キャッシュセット数を物理キャッシュセット数に変換するステップと
を含む、方法。
【請求項２】
前記キャッシュセットを動的に循環させるステップがさらに、
グローバルカウンタで前記キャッシュメモリへのメモリ書込み動作の数を数えるステップと、
前記グローバルカウンタが前記閾値に達するときに前記複数のメモリ位置スワップ動作を起動させるステップと、
前記グローバルカウンタをリセットするステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記キャッシュセットを動的に循環させるステップが、
Nが前記キャッシュメモリ内の前記キャッシュセットの数であり、スワップレジスタ(SwapReg)を(前記SwapReg+1)mod(N-1)にセットするステップと、
前記SwapRegがゼロであるときにシフトレジスタ(ShiftReg)を(前記ShiftReg+1)mod Nにセットするステップと
を含む、請求項2に記載の方法。
【請求項４】
前記キャッシュメモリへの各メモリ書込み動作についてグローバルカウンタの値を増やすことによって前記グローバルカウンタで前記キャッシュメモリへのメモリ書込み動作の数を数えるステップと、
前記グローバルカウンタが閾値に等しいときに、スワップ動作を実行し、スワップカウンタの値を増やすステップと、
Nが前記キャッシュメモリ内の前記キャッシュセットの数であり、スワップカウンタ値がN-1に等しいときに、シフトカウンタの値を増やし、前記スワップカウンタ値をリセットするステップと、
シフトカウンタ値がNに等しいときに、前記シフトカウンタをリセットするステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
前記スワップされたキャッシュセットのうちの前記少なくとも2つのメモリ位置をスワップするステップが、
書き戻しバッファに前記少なくとも2つのスワップされたキャッシュセット内の汚染データを記憶するステップと、
前記少なくとも2つのスワップされたキャッシュセット内の他のデータを無効にするステップと
を含む、請求項1に記載の方法。
【請求項６】
入力論理セット数が前記スワップカウンタ値に等しいときに出力物理セット数を前記シフトカウンタ値にセットするステップと、
前記入力論理セット数が前記スワップカウンタ値より大きいときに前記出力物理セット数を(前記入力論理セット数+前記シフトカウンタ値)modulo Nにセットするステップと、
前記入力論理セット数が前記スワップカウンタ値より小さいときに前記出力物理セット数を(前記入力論理セット数+前記シフトカウンタ値+1)modulo Nにセットするステップと
によって、入力キャッシュセット数を出力キャッシュセット数に変換するステップをさらに含む、請求項4に記載の方法。
【請求項７】
前記スワップされたキャッシュセットを追跡するステップが、
入力物理セット数が前記シフトカウンタ値に等しいときに出力論理セット数を前記スワップカウンタ値にセットするステップと、
(前記入力物理セット数-前記シフトカウンタ値)modulo Nが前記スワップカウンタ値より大きいときに前記出力論理セット数を(前記入力物理セット数-前記シフトカウンタ値)modulo Nにセットするステップと、
その他の場合に、前記出力論理セット数を(前記入力物理セット数-前記シフトカウンタ値-1)modulo Nにセットするステップと
を含む、請求項4に記載の方法。
【請求項８】
前記キャッシュメモリを携帯電話、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンタテイメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または定位置データユニットに統合するステップをさらに含む、請求項1に記載の方法。
【請求項９】
オンチップの不揮発性キャッシュメモリの複数のキャッシュセットに対する各メモリ位置スワップ動作の後に更新し、各N-1メモリ位置スワップ動作でリセットする、Nが前記キャッシュメモリ内のキャッシュセットの数である、第1のレジスタと、
前記オンチップの不揮発性キャッシュメモリの前記複数のキャッシュセットに対するあらゆるN-1メモリ位置スワップ動作の後に更新し、(N2-N)メモリ位置スワップ動作ごとにリセットする、第2のレジスタと
を備え、前記第1のレジスタおよび前記第2のレジスタが、前記キャッシュセットの論理的位置と物理的位置との関係を追跡し、各スワップ動作が、スワップされたキャッシュセットの内容を無効にするステップ、および、前記スワップされたキャッシュセットのうちの少なくとも2つの内容を前記キャッシュセット間で移動せずに、前記スワップされたキャッシュセットのうちの前記少なくとも2つのマッピングを一度にスワップし、完全なスワップ循環の後に少なくとも1ステップにより前記キャッシュセットをシフトすることによって他のキャッシュセットのメモリ内容はそのままにするステップを含む、キャッシュコントローラ。
【請求項１０】
2つのメモリ位置を動的にスワップすることと、前記第1のレジスタおよび前記第2のレジスタを使用し、前記キャッシュセットの前記スワップ動作を追跡して論理キャッシュセット数を物理キャッシュセット数に変換することとを行うように動作可能な、請求項9に記載のキャッシュコントローラ。
【請求項１１】
前記第1のレジスタが、メモリスワップ動作が実行されるときに(SwapReg+1)mod(N-1)にセットされるスワップレジスタ(SwapReg)である、請求項9に記載のキャッシュコントローラ。
【請求項１２】
前記第2のレジスタが、前記SwapRegがゼロに等しいときに(ShiftReg+1)mod Nにセットされるシフトレジスタ(ShiftReg)である、請求項11に記載のキャッシュコントローラ。
【請求項１３】
前記第1のレジスタが、メモリスワップ動作が実行されるときに(SwapReg+1)mod(N-1)にセットされるスワップレジスタ(SwapReg)であり、
前記第2のレジスタが、前記SwapRegがゼロに等しいときに(ShiftReg+1)mod Nにセットされるシフトレジスタ(ShiftReg)である、請求項9に記載のキャッシュコントローラ。
【請求項１４】
前記キャッシュコントローラが、2つのメモリ位置を動的にスワップすることと、前記SwapRegおよび前記ShiftRegを使用し、前記キャッシュセットの前記スワップ動作を追跡して論理キャッシュセット数を物理キャッシュセット数に変換することとを行うように動作可能な、請求項13に記載のキャッシュコントローラ。
【請求項１５】
前記キャッシュコントローラが、書込みカウンタレジスタが閾値に等しいときに前記メモリ位置スワップ動作を起動させるように動作可能な、請求項9に記載のキャッシュコントローラ。
【請求項１６】
携帯電話、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンタテイメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または定位置データユニットに統合された、請求項9に記載のキャッシュコントローラ。
【請求項１７】
不揮発性のオンチップキャッシュメモリのウェアレベリングのためのキャッシュコントローラであって、
前記キャッシュメモリへのメモリ書込み動作の数が閾値に達するときにキャッシュセットに対する複数のメモリ位置スワップ動作を実行することによって前記不揮発性のオンチップキャッシュメモリの前記キャッシュセットを動的に循環させるための手段であって、各スワップ動作が、スワップされたキャッシュセットの内容を無効にするステップ、および、前記スワップされたキャッシュセットのうちの少なくとも2つの内容を前記キャッシュセット間で移動せずに、前記スワップされたキャッシュセットのうちの前記少なくとも2つのマッピングを一度にスワップし、完全なスワップ循環の後に少なくとも1ステップにより前記キャッシュセットをシフトすることによって他のキャッシュセットのメモリ内容はそのままにするステップを含む、手段と、
前記スワップされたキャッシュセットを追跡して論理キャッシュセット数を物理キャッシュセット数に変換するための手段と
を備える、キャッシュコントローラ。
【請求項１８】
携帯電話、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンタテイメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または定位置データユニットに統合された、請求項17に記載のキャッシュコントローラ。
【請求項１９】
オンチップの不揮発性キャッシュメモリのウェアレベリングのための方法であって、
前記キャッシュメモリへのメモリ書込み動作の数が閾値に達するときにキャッシュセットに対する複数のメモリ位置スワップ動作を実行することによって前記オンチップの不揮発性キャッシュメモリの前記キャッシュセットを動的に循環させるステップであって、各スワップ動作が、スワップされたキャッシュセットの内容を無効にするステップ、および、前記スワップされたキャッシュセットのうちの少なくとも2つの内容を前記キャッシュセット間で移動せずに、前記スワップされたキャッシュセットのうちの前記少なくとも2つのマッピングを一度にスワップし、完全なスワップ循環の後に少なくとも1ステップにより前記キャッシュセットをシフトすることによって他のキャッシュセットのメモリ内容はそのままにするステップを含む、ステップと、
前記スワップされたキャッシュセットを追跡して論理キャッシュセット数を物理キャッシュセット数に変換するステップと
を含む、方法。
【請求項２０】
前記キャッシュメモリを携帯電話、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンタテイメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または定位置データユニットに統合するステップをさらに含む、請求項19に記載の方法。