【手続補正書】
【提出日】平成22年6月21日(2010.6.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたダイレクト・メモリ・アクセス（ＤＭＡ）コントローラと、
前記ＤＭＡコントローラ及び前記少なくとも１つのプロセッサに結合されたメモリと、  前記メモリ内に存在して前記少なくとも１つのプロセッサにより実行される仮想メモリ・マネージャとを含む装置であって、前記仮想メモリ・マネージャは、前記メモリ内に一時的ブロックを作り、前記ＤＭＡコントローラによる将来の書込みが前記一時的ブロックに書き込まれるように前記ＤＭＡコントローラ内のアドレス変換テーブルを変更し、データを前記メモリ内の第１ブロックから第２ブロックに移動し、前記第１ブロックから前記第２ブロックへの前記データ移動の後に、前記ＤＭＡコントローラによる前記一時的ブロックへの書込みが前記仮想メモリ・マネージャによる前記第１ブロックから前記第２ブロックへの前記データ移動の間に行われたか否かを判定し、もし前記判定が肯定ならば、前記第１ブロックから前記第２ブロックへの前記データ移動中に前記ＤＭＡコントローラによって一時的場所に書き込まれたデータを前記一時的場所から前記第２ブロックに書き込む、
前記装置。
【請求項２】
前記装置は複数のビットを含むハードウェア・レジスタを更に含んでおり、各ビットは前記メモリの画定されたブロックに対応し、各ビットの値は、そのビットに対応する前記画定されたブロックに前記ＤＭＡコントローラがデータを書き込んだならば１であり、そのビットに対応する前記画定されたブロックに前記ＤＭＡコントローラがデータを書き込まなかったならば０である、請求項１の装置。
【請求項３】
前記ハードウェア・レジスタは改変記録レジスタを含む、請求項２の装置。
【請求項４】
前記ハードウェア・レジスタは前記ＤＭＡコントローラ内に存在する、請求項２の装置。
【請求項５】
前記ハードウェア・レジスタの１である各ビットは、メモリの対応するブロックの中のデータが前記第２ブロックに書き込まれたときに０に変更される、請求項２の装置。
【請求項６】
メモリにおいて第１ブロックから第２ブロックにデータを移動する、コンピュータにより実行される方法であって、
（Ａ）前記メモリ内に一時的ブロックを作るステップと、
（Ｂ）ＤＭＡコントローラ内のアドレス変換テーブルを、前記ＤＭＡコントローラによる将来の書込みが前記一時的ブロックに書き込まれるように、変更するステップと、
（Ｃ）データを前記メモリ内の第１ブロックから第２ブロックに移動するステップと、
（Ｄ）ステップ（Ｃ）における前記データ移動の後に、前記ＤＭＡコントローラによる前記一時的ブロックへの書込みがステップ（Ｃ）における前記データ移動の間に行われたか否かを判定するステップと、
（Ｅ）前記ＤＭＡコントローラによる前記一時的ブロックへの書込みがステップ（Ｃ）における前記データ移動の間に行われたならば、ステップ（Ｃ）における前記データ移動の間に前記ＤＭＡコントローラによって書き込まれた前記データを一時的場所から前記第２ブロックに書き込むステップと、
を含む、前記方法。
【請求項７】
（Ｆ）ステップ（Ｅ）における前記データの前記書き込みの間に前記ＤＭＡコントローラにより前記一時的ブロックへの書込みが行われたならば、ステップ（Ｅ）における前記データの前記書き込みの間に前記ＤＭＡコントローラにより書き込まれた前記データを前記一時的場所から前記第２ブロックに書きこむステップを更に含む、請求項６の方法。
【請求項８】
（Ｇ）ステップ（Ｆ）における前記データの前記書き込みの間に前記ＤＭＡコントローラが前記一時的場所にデータを書き込まなくなるまでステップ（Ｆ）を反復するステップを更に含む、請求項７の方法。
【請求項９】
ステップ（Ｄ）は、前記ＤＭＡコントローラによる前記一時的ブロックの変更を反映するハードウェア・レジスタの状態を調べることによって実行される、請求項８の方法。
【請求項１０】
前記ハードウェア・レジスタは前記ＤＭＡコントローラ内に存在する、請求項９の方法。
【請求項１１】
前記ハードウェア・レジスタは複数のビットを含み、各ビットは前記メモリの画定されたブロックに対応し、各ビットの値は、そのビットに対応する前記画定されたブロックに前記ＤＭＡコントローラがデータを書き込んだならば１であり、そのビットに対応する前記画定されたブロックに前記ＤＭＡコントローラがデータを書き込まなかったならば０である、請求項９の方法。
【請求項１２】
前記ハードウェア・レジスタの１である各ビットは、メモリの対応するブロックの中のデータが前記第２ブロックに書き込まれたときに０に変更される、請求項１１の方法。
【請求項１３】
仮想メモリ・マネージャを提供するようにデータ処理装置の動作を制御するためのコンピュータ可読プログラム・コードにおいて実現される命令のセットを含むコンピュータ・プログラムであって、前記仮想メモリ・マネージャは、
メモリ内に一時的ブロックを作り、
ＤＭＡコントローラによる将来の書込みが前記一時的ブロックに書き込まれるように前記ＤＭＡコントローラ内のアドレス変換テーブルを変更し、
データを前記メモリ内の第１ブロックから第２ブロックに移動し、
前記第１ブロックから前記第２ブロックへの前記データ移動の後に、前記ＤＭＡコントローラによる前記一時的ブロックへの書込みが前記仮想メモリ・マネージャによる前記第１ブロックから前記第２ブロックへの前記データ移動の間に行われたか否かを判定し、
もし前記判定が肯定ならば、前記第１ブロックから前記第２ブロックへの前記データ移動中に前記ＤＭＡコントローラによって一時的場所に書き込まれたデータを前記一時的場所から前記第２ブロックに書き込む、
前記コンピュータ・プログラム。
【請求項１４】
（Ａ）請求項１３のコンピュータ・プログラムと、
（Ｂ）前記コンピュータ・プログラムを担持するコンピュータ可読信号担持媒体と、
を含むコンピュータ・プログラム製品。
【請求項１５】
前記コンピュータ可読信号担持媒体は記録可能な媒体を含む、請求項１４のコンピュータ・プログラム製品。
【請求項１６】
前記コンピュータ可読信号担持媒体は伝送媒体を含む、請求項１４のコンピュータ・プログラム製品。
【請求項１７】
前記仮想メモリ・マネージャは、前記第１ブロックから前記第２ブロックへの前記データ移動の後に、ハードウェア・レジスタを読むことによって、前記仮想メモリ・マネージャによる前記第１ブロックから前記第２ブロックへの前記データ移動の間に前記ＤＭＡコントローラによる前記一時的ブロックへの書込みが行われたか否かを判定し、前記ハードウェア・レジスタは複数のビットを含み、各ビットは前記メモリ内のデータの画定されたブロックに対応し、各ビットの値は、そのビットに対応する前記画定されたブロックに前記ＤＭＡコントローラがデータを書き込んだならば１であり、そのビットに対応する前記画定されたブロックに前記ＤＭＡコントローラがデータを書き込まなかったならば０である、請求項１３のコンピュータ・プログラム製品。
【請求項１８】
前記ハードウェア・レジスタは改変記録レジスタを含む、請求項１７のコンピュータ・プログラム製品。
【請求項１９】
前記ハードウェア・レジスタは前記ＤＭＡコントローラ内に存在する、請求項１７のコンピュータ・プログラム製品。
【請求項２０】
前記ハードウェア・レジスタの１である各ビットは、メモリの対応するブロックの中のデータが前記第２ブロックに書き込まれたときに０に変更される、請求項１７のコンピュータ・プログラム製品。