記憶装置に記憶されたデータに対するリード要求を受信する受信部と、記憶装置に記憶されたデータにエラーが生じているか否かを判別するため、当該データの読出しを要求する検査リード要求を所定の時間毎に発行する検査リード要求発行部とを有するメモリ制御装置であって、前記検査リード要求発行部は、次回発行する検査リード要求の対象となるメモリアドレスを生成するアドレス生成部と、所定の時間毎に、前記アドレス生成部が生成したメモリアドレスを対象とする検査リード要求を発行する発行部と、前記受信部が受信したリード要求の対象となるメモリアドレスを取得するアドレス取得部と、前記アドレス生成部が生成したメモリアドレスと、前記アドレス取得部が取得したメモリアドレスとを比較し、両メモリアドレスが一致した場合には、前記発行部に当該メモリアドレスに対する検査リード要求の発行をキャンセルさせる取消部とを有することを特徴とするメモリ制御装置。前記取得部は、前記受信部がリード要求を受信する毎に、当該リード要求の対象となるメモリアドレスを取得し、前記取消部は、前記取得部がメモリアドレスを取得する毎に、当該リード要求の対象となるメモリアドレスと、前記アドレス生成部が生成したメモリアドレスとを比較することとを特徴とする請求項1に記載のメモリ制御装置。前記検査リード要求発行部は、前記取得部が取得したメモリアドレスを一定の時間記憶する複数のアドレス記憶部と、前記取得部が取得したメモリアドレスを、いずれかのアドレス記憶部に格納するアドレス格納部とをさらに有し、前記取消部は、前記アドレス生成部が生成したメモリアドレスと、各アドレス記憶部に記憶されたメモリアドレスとを比較し、いずれかのアドレス記憶部に格納されたメモリアドレスと前記アドレス生成部が生成したメモリアドレスとが一致した場合には、前記発行部による当該メモリアドレスに対する検査リード要求の発行をキャンセルさせることを特徴とする請求項1に記載のメモリ制御装置。前記検査リード要求発行部は、前記複数のアドレス記憶部のいずれかとそれぞれ対応付けられた複数のバリッド記憶部と、前記アドレス格納部がメモリアドレスを格納したアドレス記憶部と対応するバリッド記憶部にバリッドビットを格納するバリッド格納部と、前記バリッド格納部がバリッドビットを格納してから、所定の時間が経過した後に、当該バリッドビットを消去するバリッドビット消去部とをさらに有し、前記アドレス格納部は、前記バリッドビットが格納されていないバリッド記憶部と対応するアドレス記憶部に前記メモリアドレスを格納し、前記取消部は、前記バリッドビットが格納されていないバリッド記憶部と対応するアドレス記憶部に格納されたメモリアドレスと、前記生成部が生成したメモリアドレスとを比較することを特徴とする請求項3に記載のメモリ制御装置。前記アドレス格納部は、前記取得部が新たに取得したメモリアドレスと同一のメモリアドレスが既にいずれかのアドレス記憶部に格納されていた場合には、当該新たに取得したメモリアドレスを前記アドレス記憶部に格納しないことを特徴とする請求項3または4に記載のメモリ制御装置。前記生成部は、毎回異なるメモリアドレスを生成することを特徴とする請求項1~4のいずれか1つに記載のメモリ制御装置。当該記憶装置に記憶されたデータにエラーが生じているか否かを判別するため、当該データの読出しを要求する検査リード要求を所定の時間毎に発行する制御装置が実行する制御方法であって、記憶装置に記憶されたデータに対するリード要求を受信し、前記受信したリード要求の対象となるメモリアドレスを取得し、次回発行する検査リード要求の対象となるメモリアドレスを生成し、前記生成したメモリアドレスと、前記取得したメモリアドレスとを比較し、両メモリアドレスが一致した場合には、当該メモリアドレスに対する検査リード要求の発行をキャンセルする処理を実行させることを特徴とする制御方法。しかしながら、上述した一定時間おきにパトロール処理を実行する技術では、パトロール処理をデータの読み取り処理よりも優先して実行するので、データの読み取り処理や書き込み処理に係るメモリアクセスが阻害される。この結果、システムの性能が低下するという問題があった。例えば、メモリコントローラ40は、DIMM42に記憶されたデータのエラーが訂正不能なエラーに発展するのを防止するため、DIMM42が有する各メモリアドレスに対して、1日に1回の割合でパトロールを実行する。しかし、DIMM42に容量が増加するにつれて、1日に発行するパトロール要求の数が増加するため、パトロール要求を発行する間隔が短くなる。この結果、メモリコントローラ40は、パトロール要求によるメモリアクセスの回数を増やしてしまい、リード要求やライト要求によるメモリアクセス性能が低下する。また、メモリコントローラ40は、パトロール処理を一定の時間間隔で行うことにより、エラーが発生する確率に対応する。このため、メモリコントローラ40は、リード要求やライト要求の発行頻度が低い時間帯に、パトロール処理を片寄せして実行した場合には、訂正不可能なエラーを防ぐという目的を果たすことができない。なお、リード要求やライト要求を受信した際に、スクラブ処理の実行を中止することで、リード要求やライト要求によるメモリアクセスの回数を改善する処理も考えられる。しかし、スクラブ処理の実行を中止した場合には、訂正不可能なエラーが発生する確率を増加させてしまうため、DIMMエラーによるシステムダウンの発生率を悪化させてしまう。1つの側面では本発明は、リード要求やライト要求によるメモリアクセスを円滑に行うことを目的とする。1つの側面では、記憶装置に記憶されたデータに対するリード要求を受信する受信部を有するメモリ制御装置である。また、メモリ制御装置は、記憶装置に記憶されたデータにエラーが生じているか否かを判別するため、当該データの読出しを要求する検査リード要求を所定の時間毎に発行する検査リード要求発行部を有する。この検査リード要求発行部は、次回発行する検査リード要求の対象となるメモリアドレスを生成する。また、検査リード要求発行部は、所定の時間毎に、生成したメモリアドレスを対象とする検査リード要求を発行する。また、検査リード要求発行部は、受信したリード要求の対象となるメモリアドレスを取得し、生成したメモリアドレスと、取得したメモリアドレスとを比較する。そして、検査リード要求発行部は、両メモリアドレスが一致した場合には、生成したメモリアドレスに対する検査リード要求の発行をキャンセルする。本願に開示の技術は、一つの態様によれば、リード要求やライト要求によるメモリアクセスが円滑に行われ、ひいてはシステムの性能を向上させることも可能となる。以下に添付図面を参照して本願に係るメモリ制御装置および制御方法について説明する。以下の実施例1では、図1を用いて、メモリ制御装置の一例として、メモリコントローラを有するシステムボードの一例を説明する。図1は、実施例1に係るシステムボードを説明するための図である。図1に示すように、システムボード1は、複数のCPU2~2bと、ブリッジチップ4を有する。また、システムボードは、複数のDIMM3~3gを有する。DIMM3およびDIMM3aは、ブリッジチップ4と接続され、DIMM3b、3cは、CPU2bに接続され、DIMM3d、3eは、CPU2aに接続され、DIMM3f、3gは、CPU2に接続される。また、各DIMM3~3gに格納される各データには、エラーの検出および1ビットのエラーの訂正を行うことができる誤り訂正符号ECC:ErrorCorrectionCodeが付与されている。このようなシステムボード1においては、各CPU2~2bは、自身に接続されたDIMMだけではなく、他のCPUおよびブリッジチップ4と接続されたDIMM3、3aに対して、データの読出しおよび書込みを行う事ができる。例えば、CPU2は、ブリッジチップ4に接続されたDIMM3に対してデータの読出し又は書込みを行う場合には、ブリッジチップ4に対して、データの読出しを要求するリード要求、または、データの書込みを要求するライト要求を送信する。なお、CPU2~2bは、ライト要求を送信する場合には、メモリに書込むデータをライト要求とともに送信する。ブリッジチップ4は、CPU2~2bから、リード要求を受信した場合には、DIMM3、3aからリード要求の対象となるデータの読出しを行い、読み出したデータを要求元のCPUへ送信する。また、ブリッジチップ4は、CPU2~2bから、ライト要求と書込むデータとを受信した場合には、DIMM3、3aに対して、受信したデータの書込みを行う。ここで、ブリッジチップ4は、DIMM3、3aに格納されたデータにエラーが発生し、エラーが発生したデータを読み出した際にさらなるエラーが付加されることで、訂正不可能なエラーが発生するのを防止するため、一定時間おきにパトロール処理を実行する。具体的には、ブリッジチップ4は、パトロール対象となるDIMM3、3aのメモリアドレスを生成し、生成したメモリアドレスに対して、一定時間おきに、パトロール要求を発行する。そして、ブリッジチップ4は、読み出したデータからエラーが検出されなかった場合には、読出したデータを破棄し、読み出したデータからエラーが検出された場合には、スクラブリード要求とスクラブライト要求とを発行する。その後、ブリッジチップ4は、スクラブリード要求によって読み出されたデータの訂正を行い、訂正されたデータをスクラブライト要求により、メモリに格納する。以下、図を用いて、実施例1に係るブリッジチップ4について説明する。図2は、実施例1に係るブリッジチップを説明するための図である。図2に示す例では、ブリッジチップは、チップセット5とメモリコントローラ10とを有する。チップセット5は、CPU2、2bからリード要求とライト要求を受信し、受信したリード要求、または、ライト要求をメモリコントローラ10に送信する。そして、チップセット5は、リード要求の対象となるデータをメモリコントローラ10から受信した場合には、受信したデータをリード要求の要求元となるCPU例えば、CPU2へ、送信する。また、チップセット5は、ライト要求とともに、DIMM3、3aに書込むデータを受信した場合には、ライト要求とともに、データをメモリコントローラ10へ送信する。また、チップセット5は、メモリコントローラ10に対して、訂正可能なエラーが訂正不可能なエラーに発展しないように、DIMM3、3aに格納されたデータに対するパトロール処理を実行させる。具体的には、チップセット5は、メモリコントローラ10との間にイネーブル線を有しており、メモリコントローラ10にパトロール処理を実行させる間は、イネーブル線を介してHighを入力し続ける。また、チップセット5は、パトロール処理を停止させる場合には、イネーブル線を介してLowを入力し続ける。メモリコントローラ10は、所定の時間おきに、あらかじめ生成されたメモリアドレスに対してパトロール要求を発行する、また、メモリコントローラ10は、所定の時間おきに、次回発行されるパトロール要求の対象となるメモリアドレスを生成する。また、メモリコントローラ10は、リード要求を受信した場合には、リード要求の対象となるメモリアドレスを取得する。また、メモリコントローラ10は、生成したメモリアドレスと、リード要求の対象となるメモリアドレスとを比較する。そして、メモリコントローラ10は、リード要求の対象となるメモリアドレスと生成したメモリアドレスとが一致した場合には、パトロール要求の発行をキャンセルする。以下、図を用いて、実施例1に係るメモリコントローラ10の一例を説明する。図3は、実施例1に係るメモリコントローラの一例を説明するための図である。図3に示す例では、メモリコントローラ10は、パトロール制御部11、バッファ12、スクラブ制御部13、アービタ14、バッファ15、16、20、エラーチェッカ17、エラー訂正部18、アービタ19、経路選択部28を有する。メモリコントローラ10は、図3中Aに示すイネーブル線を介して、チップセット5からのイネーブル信号をパトロール制御部11に入力する。また、メモリコントローラ10は、図3中Bに示す経路を介して、チップセット5から受信したリード要求をバッファ12に格納する。ここで、リード要求は、要求する処理の内容が読取りであることを示すReadCommand以下、リードコマンドと記載すると、読み取り対象となるメモリアドレスであるReadAddress以下、リードアドレスと記載するとを有する。また、メモリコントローラ10は、図3中Cに示す経路を介して、チップセット5から受信したリード要求をパトロール制御部11に伝達する。つまり、メモリコントローラ10は、リードコマンドとリードアドレスとをパトロール制御部11に伝達する。パトロール制御部11は、図3中Aに示すイネーブル線を介して、チップセット5からHighのイネーブル信号が入力されている場合には、所定の時間おきに、パトロール要求を発行する。また、パトロール制御部11は、Lowのイネーブル信号が入力されている場合には、パトロール要求の発行を行わない。また、パトロール制御部11は、所定の時間ごとに、次回発行するパトロール要求の対象となるメモリアドレスを生成する。そして、パトロール制御部11は、生成したメモリアドレスに対するパトロール要求を、所定の時間おきに、図3中Dに示す経路を介して、アービタ14に発行する。また、パトロール制御部11は、また、パトロール制御部11は、図3中Cに示す経路を介して、受信したリード要求を取得し、取得したリード要求の対象となるメモリアドレスを取得する。そして、パトロール制御部11は、生成したメモリアドレスと取得したリード要求の対象となるメモリアドレスとを比較し、両メモリアドレスが一致した場合には、次回のパトロール要求の発行をキャンセルする。つまり、パトロール制御部11は、次回のパトロール要求の対象となるメモリアドレスを生成してから、パトロール要求を発行するまでの間に、同一メモリアドレスに対するリード要求が受信された場合には、パトロール要求の発行をキャンセルする。また、パトロール制御部11は、スクラブ制御部13から各要求の発行を禁止する旨の通知を受信した場合には、パトロール要求の発行を停止する。また、パトロール制御部11は、スクラブ制御部13から各要求の発行禁止を解除する旨の通知を受信した場合には、パトロール要求の発行を再開する。また、パトロール制御部11は、パトロール要求をアービタ14へ発行し、アービタ14から各要求を実行した旨を示すTakenを受信した場合には、パトロール要求の発行を取り下げる。次に、図4を用いて、パトロール制御部11の一例について説明する。図4は、実施例1に係るパトロール制御部の一例を説明するための図である。図1に示す例では、パトロール制御部11は、発行間隔タイマ21、パトロールアドレス生成部22、比較器23、ANDゲート24、RSフリップフロップ25、ORゲート26、ANDゲート27を有する。なお、図4中A、Dに示す経路は、図3中A、Dに示す経路であり、図4中R、Sに示す経路は、図3中Cに示す経路と対応する。また、図4に示す例では、パトロール制御部11は、図3中Aに示す経路を介して、イネーブル信号を発行間隔タイマ21に入力する。また、図4に示す例では、パトロール制御部11は、図4中Rに示す経路を介してリードアドレスを比較器23に入力し、図4中Sに示す経路を介して、リードコマンドをANDゲート24に入力する。ここで、リードコマンドは、リード要求が受信されたことを示すバリッドとして用いられる。発行間隔タイマ50は、図4中Oに示すように、イネーブル信号がHighである場合は、所定の時間おきに、タイミング通知をパトロールアドレス生成部22に送信する。また、発行間隔タイマ50は、図4中Pに示すように、タイミング通知を発行すると同時に、パトロール要求の発行を示すPatrolValid以下、パトロールバリッドと記載するを、発行し、パトロールバリッドをANDゲート27に入力する。パトロールアドレス生成部22は、所定の時間おきに、次回発行されるパトロール要求の対象となるメモリアドレスであるパトロールアドレスを生成する。また、パトロールアドレス生成部22は、新たなパトロールアドレスを生成する場合には、前回生成したパトロールアドレスとは異なるパトロールアドレスを生成する。具体的には、パトロールアドレス生成部22は、発行間隔タイマ21からタイミング通知を受信した場合には、前回生成したパトロールアドレスに1をインクリメントしたパトロールアドレスを生成する。そして、パトロールアドレス生成部22は、生成したパトロールアドレスを図4中Qに示す経路から出力し続ける。また、パトロールアドレス生成部22は、発行間隔タイマ21からタイミング通知を受信した場合には、前回生成したパトロールアドレスをパトロールバリッドとともに、ANDゲート27に入力する。比較器23は、パトロールアドレス生成部22が生成したパトロールアドレスと、図4中Rに示す経路を介して取得したリードアドレスとを比較し、パトロールアドレスとリードアドレスとが一致する場合には、ANDゲート24に対して1を出力する。ANDゲート24は、図4中Sに示す経路を介して受信したリードバリッドと比較器23との論理積を算出し、算出した論理積を出力する。つまり、ANDゲート24は、比較器の出力が1でリードバリッドが1の場合には、1を出力し、それ以外の場合には0を出力する。換言すると、ANDゲート24は、メモリコントローラ10がリード要求を受信し、かつ、比較器23がリードアドレスと次回発行されるパトロール要求のパトロールアドレスとが一致すると判別した場合には、1を出力する。RSフリップフロップ25は、ANDゲート24の出力をキャンセルフラグとして保持するフリップフロップである。また、RSフリップフロップ25は、図4中Pに示す経路を介して、発行間隔タイマ21がパトロールバリッドを出力した場合には、保持した値をリセットする。つまり、RSフリップフロップ25は、ANDゲート24の出力が1である場合には、Set端子から入力された1をキャンセルフラグとして保持し、Q端子から1を出力し続ける。また、RSフリップフロップ25は、発行間隔タイマ21がパトロールバリッドとして1を出力した場合には、保持した値をリセットしQ端子から0を出力する。換言すると、RSフリップフロップ25は、次回発行されるパトロール要求のパトロールアドレスと、パトロールアドレスを発行するまでの間に受信した各リード要求のリードアドレスとが一致した場合には、パトロールキャンセルフラグを保持する。そして、RSフリップフロップ25は、後述するように、発行間隔タイマ21がパトロールバリッドを発行すると、キャンセルフラグを消去する。ORゲート26は、RSフリップフロップ25のSet端子に入力される値とRSフリップフロップ25のQ端子から出力される値との論理和を算出し、算出した論理和を出力する。つまり、ORゲート26は、ANDゲート24の出力が1、または、RSフリップフロップ25の出力が1である場合に、1を出力する。換言すると、ORゲート26は、メモリコントローラ10がリード要求を受信し、かつ、比較器23がリードアドレスと次回発行されるパトロール要求のパトロールアドレスとが一致する場合、又は、キャンセルフラグが1である場合に1を出力する。つまり、ORゲート26は、RSフリップフロップ25の出力と、RSフリップフロップをバイパスした比較結果との論理和を算出する。このため、パトロール制御部11は、パトロール要求を発行すると同時に受信したリード要求のリードアドレスとパトロールアドレスとが一致する場合にも、パトロール要求の発行をキャンセルすることができる。ANDゲート27は、発行間隔タイマ21が発行したパトロールバリッドとパトロールアドレスを有するパトロール要求の入力と、ORゲート26の出力の反転入力とを受付ける。そして、ANDゲート27は、ORゲート26の出力が1である場合には、パトロール要求を出力せず、ORゲート26の出力が0である場合には、図4中Dに示す経路を介して、パトロール要求をアービタ14へ発行する。つまり、ANDゲート27は、リード要求を受信し、かつ、比較器23がリードアドレスと次回発行されるパトロール要求のパトロールアドレスとが一致すると判別した場合、又は、キャンセルフラグが1である場合に、パトロール要求をキャンセルする。換言すると、ANDゲート27は、パトロール要求の発行と同時に受信したリード要求のリードアドレスが、発行するパトロール要求のパトロールアドレスと一致する場合、又は、キャンセルフラグが1である場合には、パトロール要求の発行をキャンセルする。図5は、実施例1に係るパトロール制御部がパトロール要求を発行するタイミングを説明するためのタイムチャートである。図5には、発行間隔タイマ21がタイミング通知およびパトロールバリッドを発行するタイミング、パトロールアドレス生成部22が生成するパトロールアドレスを示す。また、図5には、リード要求を受信したタイミング、受信したリード要求に係るリードアドレス、RSフリップフロップ25にキャンセルフラグが格納されるタイミング、パトロール要求の発行タイミングを示す。図5中T1において、パトロールアドレス生成部22がパトロールアドレス0を保持するとともに、発行間隔タイマ21がタイミング通知とパトロールバリッドとを発行する。このため、パトロール制御部11は、メモリアドレス0に対するパトロール要求を発行する。次に、図5中T2において、パトロールアドレス生成部22は、新たなパトロールアドレス1を生成する。また、パトロール制御部11は、リードアドレス3を対象とするリード要求を受信するが、パトロールアドレスと一致しないため、キャンセルフラグの設定は行わない。次に、図5中T3において、メモリコントローラ10は、リードアドレス1を対象とするリード要求を受信する。すると、パトロールアドレス11は、生成したパトロールアドレスとリードアドレスとが一致すると判別し、図5中T4において、キャンセルフラグ1をRSフリップフロップ25に格納する。また、メモリコントローラ10は、図5中T4、~T5において、リードアドレス2、8を対象とするリード要求を受信する。ここで、パトロール制御部11は、図5中T4にて既にキャンセルフラグをRSフリップフロップ25に格納しており、生成したパトロールアドレスとは異なるリードアドレスを取得した場合にも、キャンセルフラグを消去せず、保持する。そして、パトロール制御部11は、図5中T6において、タイミング通知とパトロールバリッドを発行するが、キャンセルフラグ1がRSフリップフロップ25に格納されているため、パトロール要求の発行をキャンセルする。そして、パトロール制御部11は、図5中T7において、RSフリップフロップ25に格納されたキャンセルフラグを0にリセットするとともに、新たなパトロールアドレス2を生成する。また、パトロール制御部11は、図5中T7~T9にいたるまで、上述した処理と同様の処理を実行する。ここで、図5中T10において、パトロール制御部11は、タイミング通知とパトロールバリッドとが発行されるとともに、メモリコントローラ10がリードアドレス2を対象とするリード要求を受信する。図5中T10に示すように、パトロール制御部11は、タイミング通知とパトロールバリッドを発行するが、この時、パトロールアドレスとリードアドレスが一致する為、ORゲート26でRSフリップフロップをバイパスしてANDゲート27にキャンセル信号を入力し、パトロール要求の発行をキャンセルする。そして、パトロール制御部11は、図5中T11において、RSフリップフロップ25に格納されたキャンセルフラグを0にリセットするとともに、新たなパトロールアドレス3を生成する。このように、パトロール制御部11は、次回発行するパトロール要求のパトロールアドレスと、パトロール要求を発行するまでに受信したリード要求のリードアドレスとを比較する。そして、パトロール制御部11は、パトロールアドレスとリードアドレスとが一致する場合には、パトロールアドレスの発行をキャンセルする。また、パトロール制御部11は、パトロール要求のパトロールアドレスと同じリードアドレスを対象とするリード要求をパトロール要求の発行と同時に受信した場合にも、パトロールアドレスの発行をキャンセルする。ここで、メモリコントローラ10がリード要求を発行した場合には、リードアドレスに格納されているデータが読み出され、後述するエラーチェッカ17およびエラー訂正部18によりエラーの検出およびエラーの訂正が行われる。このため、パトロール制御部11は、次回発行するパトロール要求と同一のメモリアドレスを対象とするリード要求を受信した場合には、パトロール要求をキャンセルしても、訂正不能なエラーが発生する確率を悪化させることがない。この結果、パトロール制御部11は、データに訂正不能なエラーが発生する確率を悪化させることなく、リード要求に係るメモリアクセス率を向上させるので、システムの性能悪化を防ぐことができる。なお、パトロール制御部11が、スクラブ制御部13から各要求の発行を禁止する旨の通知を受信した場合には、任意の方法でパトロール要求の発行を停止してよい。例えば、パトロール制御部11は、図4中Dに示す経路にFETFieldeffecttransistor等のスイッチを設け、スクラブ制御部13から各要求の発行を禁止する旨の通知を受信した場合には、図4中Dに示す経路を電気的に断線させることとしてもよい。図3に戻って、バッファ12は、チップセット5から送信されるリード要求およびライト要求を受信し、一時的に記憶するバッファである。例えば、バッファ12は、チップセット5からリード要求を受信した場合には、受信したリード要求を記憶すると共に、図3中Fに示す経路を介して、アービタ14に対して、リード要求の発行を行う。そして、バッファ12は、アービタ14から、リード要求を発行した旨を示すTakenを受信した場合には、発行したリード要求を消去する。また、バッファ12は、スクラブ制御部13から各要求の発行を禁止する旨の通知を受信した場合には、チップセット5から受信したリード要求およびライト要求の発行を停止する。また、バッファ12は、スクラブ制御部13から各要求の発行禁止を解除する旨の通知を受信した場合には、リード要求またはライト要求の発行を再開する。なお、バッファ12がリード要求を受信するタイミング、つまり、各CPU2~2bがリード要求を発行するタイミングは、パトロール要求が発行されるタイミングとは無関係であるため、バッファ12は、リード要求を不定期に受信することとなる。スクラブ制御部13は、エラーチェッカ17がDIMM3、3aから読み出されたデータからエラーを検出した場合には、エラーを訂正するスクラブ処理を実行する。具体的には、スクラブ制御部13は、エラーチェッカ17からエラーを検出した旨を示す通知を受信した場合には、データの同一性を保持するため、パトロール制御部11とバッファ12とに、各要求の発行を禁止する旨の通知を送信する。そして、スクラブ制御部13は、図3中Gに示すように、エラーチェッカ17がエラーを検出したメモリアドレスに対して、スクラブリード要求を発行する。ここで、スクラブ制御部13は、エラーチェッカ17がエラーを検出したメモリアドレスを任意の方法で取得することができる。例えば、スクラブ制御部13は、アービタ14から、リード要求または、パトロール要求の対象となるメモリアドレスを取得する。そして、スクラブ制御部13は、エラーチェッカ17からエラーを検出した旨の通知を受信した場合には、直前に取得したメモリアドレスに対して、スクラブリード要求を発行することとしてもよい。また、スクラブ制御部13は、スクラブリード要求を発行した結果、エラーチェッカ17がエラーを検出し、エラー訂正部18がエラーを訂正した場合には、図3中Gに示すように、スクラブライト要求をアービタ14に発行する。これと同時に、スクラブ制御部13は、図3中Kに示すように、アービタ19に対して、エラー訂正部18から図3中Iに示す経路を介してアービタ19に入力されるデータを選択する旨の信号を送信する。その後、スクラブ制御部13は、パトロール制御部11およびバッファ12に、各要求の発行禁止を解除する旨の通知を送信する。アービタ14は、パトロール制御部11が発行したパトロール要求と、バッファ12が発行したリード要求又はライト要求と、スクラブ制御部13が発行したスクラブリード要求またはスクラブライト要求との調停を行う調停器である。具体的には、アービタ14は、各部11~13が発行した各要求を、スクラブリード要求、スクラブライト要求、パトロール要求、リード要求、ライト要求の順に優先して調停する。そして、アービタ14は、調停に勝利した要求を実行するコマンドを、図3中Eに示すように、バッファ15を介してDIMM3、3aに対して発行する。また、アービタ14は、DIMM3、3aに対して発行したコマンドの内容を経路選択部28に通知する。具体的には、アービタ14は、発行したコマンドの内容が、リード要求であるか、パトロール要求であるか、スクラブリード要求であるかを経路選択部28に通知する。以下、図6を用いて、アービタ14が実行する調停の一例について説明する。図6は、実施例1に係るアービタが実行する処理の一例を説明するための図である。図6に示す例では、パトロール制御部11が発行したパトロール要求とバッファ12が発行したリード要求との調停を行う処理について説明する。図6に示す例では、アービタ14は、パトロール制御部11からパトロール要求の発行を受付けると同時に、バッファ12からリード要求の発行を受付ける図6中1。このような場合には、パトロール要求とリード要求とが競合するので、アービタ14は、パトロール要求とリード要求との調停を行う図6中2。ここで、アービタ14は、パトロール要求をリード要求よりも優先して発行するので、パトロール要求を実行するコマンドをDIMM3、3aに対して発行する図6中3。そして、アービタ14は、パトロール要求を実行したことを示すTakenをパトロール制御部11へ送信する図6中4。なお、スクラブリード要求およびスクラブライト要求は、スクラブ制御部13が、パトロール制御部11およびバッファ12に各要求の発行を禁止してから発行される要求であるため、実際にアービタ14で競合することは無い。しかし、アービタ14における回路として矛盾状態が生じないようにするため、スクラブリード要求およびスクラブライト要求を他の要求よりも優先する優先度がアービタ14に設定されている。また、リード要求は、連続的に発行されるため、パトロール要求の優先度をリード要求の優先度よりも低くした場合には、一向にパトロール要求が実行されなくなる。この結果、DIMM3、3aに記憶されたデータに訂正不可能なエラーが生じる確立が高くなるので、パトロール要求は、リード要求よりも優先して実行される。バッファ15は、アービタ14が発行したコマンドをDIMM3、3aに送信するバッファである。また、バッファ16は、バッファ20とともに双方向バッファの一部であり、DIMM3、3aと送受信されるデータの流れを制御する。また、バッファ16は、DIMM3、3aから読み出されたデータ以下、リードデータと記載を、図3中Hに示す経路を介して、エラーチェッカ17とエラー訂正部18へ送信するバッファである。ここで、リードデータには、ビット反転等のエラーの検出およびエラーの訂正を行うためのECCが付与されている。また、バッファ16は、エラーチェッカ17、および、エラー訂正部18側からのデータがDIMM3、3a側に流れないようにするため、設置される。エラーチェッカ17は、DIMM3、3aから読み出されたリードデータからエラーを検出する。具体的には、エラーチェッカ17は、バッファ16からリードデータを受信する。そして、エラーチェッカ17は、受信したリードデータに付与されているECCを用いて、受信したリードデータにエラーが発生しているか否かを判別する。そして、エラーチェッカ17は、読み出されたデータからエラーを検出した場合には、図3中Jに示すように、エラー訂正部18およびスクラブ制御部13にエラーが検出された旨を通知する。エラー訂正部18は、バッファ16からリードデータを受信するとともに、エラーチェッカ17からエラーを検出した旨の通知を受信した場合には、バッファ16から受信したリードデータに付与されたECCを用いて、エラーの訂正を行う。そして、エラー訂正部18は、エラーを訂正したリードデータを経路選択部28に送信する。また、エラー訂正部18は、エラーチェッカ17からエラーを検出した旨の通知を受信しなかった場合には、バッファ16から受信したリードデータを経路選択部28に送信する。アービタ19は、スクラブ制御部13から何ら通知を受けていない場合には、図3中Nに示す経路を介して、チップセット5から送信されたDIMM3、3aに書込まれるデータを受信する。そして、アービタ19は、受信したデータを図3中Lに示す経路を介して、バッファ20に送信する。また、アービタ19は、スクラブ制御部13から図3中Iに示す経路を介してアービタ19に入力されるデータを選択する旨の通知を受信した場合には、図3中Iに示す経路から受信するデータ、つまり、スクラブリード要求に係るデータを受信する。そして、アービタ19は、受信したデータを図3中Lに示す経路を介して、バッファ20に送信する。ここで、アービタ19が送信するデータには、ECCが付与されているものとする。バッファ20は、アービタ19から受信したデータをライトデータとしてDIMM3、3aに送信する。また、バッファ20は、DIMM3、3aから読み出されたデータがアービタ19側に流れないようにするため、設置される。経路選択部28は、エラー訂正部18からリードデータを受信する。また、経路選択部28は、アービタ14から、受信したリードデータがリード要求によって読み出されたものであるか、パトロール要求によって読み出されたものであるか、スクラブリード要求によって読み出されたものであるかを示す通知を受信する。そして、経路選択部28は、エラー訂正部18から受信したリードデータがリード要求によって読み出されたリードデータである場合には、図3中Mに示す経路を介して、チップセット5に受信したリードデータを送信する。また、経路選択部28は、エラー訂正部18から受信したリードデータがパトロール要求によって読み出されたリードデータである場合には、受信したリードデータを破棄する。また、経路選択部28は、エラー訂正部18から受信したリードデータがスクラブリード要求によって読み出されたリードデータである場合には、図3中Iに示す経路を介して、アービタ19へ受信したリードデータを送信する。例えば、メモリコントローラ10、パトロール制御部11、スクラブ制御部13、アービタ14、エラーチェッカ17、エラー訂正部18、アービタ19、経路選択部28、発行間隔タイマ21、パトロールアドレス生成部22とは、電子回路である。ここで、電子回路の例として、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路などを適用する。また、バッファ12とは、RAMRandomAccessMemory、フラッシュメモリflashmemoryなどの半導体メモリ素子などの記憶装置である。[メモリコントローラ10が実行する処理の流れ]次に、図を用いて、メモリコントローラ10が実行する処理の流れについて説明する。まず、図7を用いて、メモリコントローラ10がDIMM3、3aからデータを読み込み、データを訂正する処理について説明する。図7は、実施例1に係るメモリコントローラが実行する処理の流れ説明するためのフローチャートである。図7に示す例では、メモリコントローラ10は、チップセット5からリード要求を受信した場合、または、パトロール要求を発行するタイミングとなったことを契機として、処理を開始する。まず、メモリコントローラ10は、リード要求またはパトロール要求を発行するステップS11。次に、メモリコントローラ10は、DIMM3、3aから読み出されたリードデータにエラーが発生しているか否かを判別するステップS12。そして、メモリコントローラ10は、エラーが発生していると判別した場合にはステップS12肯定リードデータがパトロール要求により読み出されたデータであるか否かを判別するステップS13。また、メモリコントローラ10は、リードデータがパトロール要求により読み出されたリードデータではないと判別した場合にはステップS13否定、リードデータのエラーを訂正するステップS14。そして、メモリコントローラ10は、エラーを訂正したリードデータをチップセット5に送出するステップS15。一方、メモリコントローラ10は、リードデータがパトロール要求により読み出されたリードデータであると判別した場合にはステップS13肯定、リードデータを破棄するステップS16。続いて、メモリコントローラ10は、スクラブリード要求を発行しステップS17、DIMM3、3aから読み出されたデータのエラーを訂正するステップS18。その後、メモリコントローラ10は、エラーを訂正したデータをDIMM3、3aに格納するため、スクラブライト要求を発行しステップS19、エラーを訂正したデータをDIMM3、3aに格納した後、処理を終了する。また、メモリコントローラ10は、エラーが検出されなかった場合にはステップS12否定、リードデータがパトロール要求により読み出されたデータであるか否かを判別するステップS20。そして、メモリコントローラ10は、リードデータがパトロール要求により読み出されたデータであると判別した場合にはステップS20肯定、リードデータを破棄しステップS21、処理を終了する。一方、メモリコントローラ10は、リードデータがパトロール要求により読み出されたデータではないと判別した場合にはステップS20否定、リードデータをチップセット5に出力しステップS22、処理を終了する。次に、図8を用いて、メモリコントローラ10が、受信したリード要求のリードアドレスと、生成したパトロールアドレスとを比較し、一致する場合には、パトロール要求の発行をキャンセルする処理について説明する。図8は、実施例1に係るメモリコントローラがパトロール要求をキャンセルする処理を説明するためのフローチャートである。なお、図8に示す処理は、上述した実施例1を適宜一般化した処理の流れについて説明するフローチャートである。なお、図8に示す例では、メモリコントローラ10は、リード要求を受信したか否かを判別しステップS100、リード要求を受信したことを契機としてステップS100肯定処理を開始する。まず、メモリコントローラ10は、受信したリード要求のリードアドレスと、生成したパトロールアドレスとが一致するか否かを判別するステップS101。そして、メモリコントローラ10は、リードアドレスとパトロールアドレスとが一致すると判別した場合にはステップS101肯定、以下の処理を実行する。すなわち、メモリコントローラ10は、パトロール要求発行のキャンセルフラグを生成し、生成したキャンセルフラグをレジスタ、すなわちRSフリップフロップ25に格納するステップS102。次に、メモリコントローラ10は、パトロール要求を発行するタイミングであるか否かを判別しステップS103、パトロール要求を発行するタイミングである場合にはステップS103肯定、以下の処理を実行する。すなわち、メモリコントローラ10は、パトロール要求発行のキャンセルフラグがレジスタに保持されているか否かを判別するステップS104。そして、メモリコントローラ10は、キャンセルフラグがレジスタに保持されていると判別した場合にはステップS104肯定、パトロール要求の発行をキャンセルするステップS105。また、メモリコントローラ10は、パトロール要求発行のキャンセルフラグがレジスタに保持されていないと判別した場合にはステップS104否定、パトロール要求を発行するステップS106。その後、メモリコントローラ10は、次回発行するパトロール要求の対象となるパトロールアドレスを生成しステップS107、再度リード要求を受信したか否かを判別するステップS100。また、メモリコントローラ10は、リード要求を受信していない場合にはステップS100否定、再度リード要求を受信したか否かを判別する。また、メモリコントローラは、パトロール要求を発行するタイミングではない場合にはステップS103否定、リード要求を受信したか否かを判別するステップS100。[実施例1の効果]上述したように、メモリコントローラ10は、次回発行するパトロール要求の対象となるパトロールアドレスを生成し、所定の時間おきに生成したパトロールアドレスに対するパトロール要求を発行する。また、メモリコントローラ10は、リード要求を受信した場合には、受信したリード要求の対象となるリードアドレスと、生成したパトロールアドレスとを比較する。そして、メモリコントローラ10は、リードアドレスとパトロールアドレスとが一致した場合には、パトロール要求の発行をキャンセルする。このため、メモリコントローラ10は、データに訂正不能なエラーが発生する確率を悪化させることなく、リード要求に係るメモリアクセスの阻害を防止し、システムの性能劣化を防ぐことができる。つまり、パトロール要求は、DIMM3、3aに格納されたデータを利用するアプリケーション等の動作とは関係が無い検査リード要求であるため、パトロール要求の回数が多くなると、リード要求の実行が阻害される結果、システムの性能が悪化する。しかし、メモリコントローラ10は、リードアドレスとパトロールアドレスとが一致する場合には、パトロール要求の発行をキャンセルする。このため、メモリコントローラ10は、リード要求が調停負けせずに発行される結果、リード要求に係るメモリアクセス性能を向上させ、システムの性能低下を防ぐことができる。また、メモリコントローラ10は、リード要求により読み出されたリードデータについても、エラーが検出された場合には、パトロール要求により読み出されたリードデータ同様、スクラブライト要求とスクラブリード要求によるエラーの検出および訂正を行う。このため、メモリコントローラ10は、次回発行するパトロールアドレスと同じメモリアドレスを対象とするリード要求を発行した場合には、パトロール要求を発行するのと同等の効果を得ることができる。この結果、メモリコントローラ10は、リードアドレスとパトロールアドレスとが一致した場合は、パトロール要求の発行をキャンセルするので、DIMMエラーによるシステムダウンの発生率を悪化させることなく、DIMMアクセスの時間を増やすことができる。また、メモリコントローラ10は、リード要求を受信する毎に、受信したリード要求の対象となるリードアドレスと次回発行するパトロールアドレスとを比較し、リードアドレスとパトロールアドレスとが一致する場合には、パトロール要求の発行をキャンセルする。このため、メモリコントローラ10は、リード要求が連続して発行される場合にも、適切にパトロール要求のキャンセルを行うことができる。以下の実施例2では、複数のメールアドレスとパトロールアドレスとを比較するパトロール制御部を有するメモリコントローラ10aについて説明する。なお、メモリコントローラ10aは、実施例1に係るメモリコントローラ10と同様の機能および構成を有するものとし、図面での説明を省略する。すなわち、メモリコントローラ10aは、パトロール制御部11に対応するパトロール制御部11aを有する点以外は、実施例1に係るメモリコントローラ10と同様の装置である。図9を用いて、メモリコントローラ10aが有するパトロール制御部11aについて説明する。図9は、実施例2に係るパトロール制御部を説明するための図である。なお、図9に示す例では、図4に示す各部と同様の機能を有する部、および、図9に示す経路と同一の信号が送受信される経路については、同一の符号を付し、以下の説明を省略する。図9に示すように、パトロール制御部11aは、アドレスバッファ回路30を有する。アドレスバッファ回路30は、図9中Qに示すように、パトロールアドレス生成部22が生成したパトロールアドレスを取得する。また、アドレスバッファ回路30は、図9中Uに示すように、発行間隔タイマ21が発行したパトロールバリッドを取得する。また、アドレスバッファ回路30は、図9中Sに示すように、リードコマンドを取得する。また、アドレスバッファ回路30は、図9中Rに示すように、リードアドレスを取得する。アドレスバッファ回路30は、リード要求の対象となるリードアドレスを一定の時間記憶しうる複数の記憶部を有する。そして、アドレスバッファ回路30は、パトロールバリッドを受信した場合には、各記憶部に格納されたリードアドレスと、パトロールアドレスとを比較する。その後、アドレスバッファ回路30は、いずれかの記憶部に格納されたリードアドレスと、パトロールアドレスとが一致した場合には、ANDゲート27に1を反転入力し、パトロール要求の発行をキャンセルする。以下、図を用いて、アドレスバッファ回路30の具体例を説明する。図10は、実施例2に係るアドレスバッファ回路の一例を説明するための図である。なお、図10中aに示す経路は、図9中Sに示す経路と対応し、図10中cに示す経路は、図9中Rに示す経路と対応する。また、図10中P、Q、Uに示す経路は、図9中のP、Q、Uに示す経路と対応する。図10に示す例では、アドレスバッファ回路30は、Readdetarmination31、DuplicationCompare32、ANDゲート33、Counter34、アドレスバッファ35を有する。また、アドレスバッファ回路30は、PatrolAddressCompare36、Timier37Counter38、バリッドバッファ39を有する。アドレスバッファ35は、セレクタ1と10個のバッファ1~10とを有し、バリッドバッファ39は、セレクタ2と10個のバリッド1~10とを有する。各バッファ1~10は、それぞれ、各バリッド1~10対応付けられている。各バッファ1~10には、リード要求の対象となるリードアドレスが格納され、各バリッド1~10のうち、リードアドレスが格納されたバッファと対応するバリッドには、バリッドビットが格納される。つまり、バリッドビットは、有効なリードアドレスを示すバリッドビットである。Readdetamination31は、図10中aに示す経路を介して、リードコマンド、または、ライトコマンドを受信する。そして、Readdetermination31は、受信したコマンドがリードコマンドである場合には、図10中bに示す経路を介して、バリッドビットを出力し、ANDゲート33に入力する。また、Readdetamination31は、ライトコマンドを受信した場合には、バリッドビットを出力しない。ここで、Readdetamination31がバリッドビットを出力しない場合には、各バッファ1~10にリードアドレスが格納されることが無い。このため、以下の説明においては、パトロール制御部11aが、リードコマンドとリードアドレスとを取得したものとして、説明を行う。DuplicationCompare32は、図10中cに示す経路を介して、リードアドレスを取得する。また、DuplicationCompare32は、図10中dに示す経路を介して、アドレスバッファ35の各バッファ1~10に格納されたリードアドレスを取得する。また、DupulicationCompare32は、図10中eに示す経路を介して、バリッドバッファ39の各バリッド1~10に格納されたバリッドビットを取得する。そして、DuplicationCompare32は、各バッファ1~10に格納されたリードアドレスのうち、バリッドビットが格納されたバリッドと対応付けられたバッファに格納されていたリードアドレスと、受信したリードアドレスとを比較する。そして、DuplicationCompare32は、いずれかのリードアドレスと受信したリードアドレスとが一致した場合には、図10中fに示す経路を介して、ANDゲート33に1を出力する。ここで、ANDゲート33は、DuplicationCompare32からの出力を反転した状態で取得する。このため、DupulicationCompare32は、受信したリードアドレスと同一のリードアドレスがアドレスバッファ35に記憶されていた場合には、新たに受信したリードアドレスの記憶をキャンセルする。この結果、アドレスバッファ回路30は、アドレスバッファ35およびバリッドバッファ39の容量を節約し、回路規模の小型化や、回路構成の簡易化を図ることができる。ADNゲート33は、DuplicationCompare32が0を出力した場合には、Readdetarmination31から出力されたバリッドビットを出力する。また、ADNゲート33は、DuplicationCompare32が1を出力した場合には、Readdetarmination31から出力されたバリッドビットの出力を行わない。また、ANDゲート33は、バリッドビットをアドレスバッファ35のセレクタ1とバリッドバッファ39のセレクタ2に送信する。なお、ANDゲート33が各セレクタ1、2に送信したバリッドビットは、ライトイネーブル信号として用いられる。Counter34は、図10中gに示す経路を介して、バリッドビットを取得した場合には、アドレスバッファ35が有する各バッファ1~10のうち、受信したリード要求のリードアドレスを格納するバッファを選択する。例えば、Counter34は、1~10までの数値を反復的にカウントするカウンタであり、バリッドビットを取得した場合には、カウンタの値を1だけインクリメントする。そして、Counter34は、図10中hに示す経路を介して、カウンタの値をアドレスバッファ35のセレクタ1と、バリッドバッファ39のセレクタ2に送信する。具体例で説明すると、Couter34は、カウンタの値が4である際に、バリッドビットを取得した場合には、カウンタの値を5とし、カウンタの値5をアドレスバッファ35のセレクタ1とバリッドバッファ39のセレクタ2に送信する。セレクタ1は、図10中iに示す経路を介して、リードアドレスを取得する。また、セレクタ1は、図10中hに示す経路を介して、Counter34の値を取得する。そして、セレクタ1は、ANDゲート33からバリッドビット、すなわち、ライトイネーブル信号を受信した場合には、受信したリードアドレスを、Counter34の値が示すバッファに格納する。例えば、セレクタ1は、Counter34から5を受信した際に、リードアドレスと、ライトイネーブル信号とを受信した場合には、バッファ5にリードアドレスを格納する。つまり、セレクタ1は、バリッドビットが格納されていないバリッドと対応するバッファにリードメモリを格納する。セレクタ2は、図10中hに示す経路を介して、Counter34の値を取得するとともに、ANDゲート33から、バリッドビット、つまり、ライトイネーブル信号を受信した場合には、以下の処理を実行する。すなわち、Counter34から受信した値が示すバリッドに、バリッドビットを格納する。例えば、セレクタ2は、Counter34から5を取得し、ANDゲート33からバリッドビットを取得した場合には、バリッド5にバリッドビットを格納する。なお、図10中jに示す接続は、バリッドバッファ39が有する各バリッド1~10をセットするための信号経路を示す。Timer37は、各バッファ1~10のいずれかがリードアドレスを記憶してから所定の時間が経過した場合には、リードアドレスを記憶したバッファと対応付けられたバリッドに格納されたバリッドビットを消去する。例えば、Timier37は、バリッドバッファ39が有するバリッド1~10のいずれかにバリッドビットが格納された場合には、カウントを開始し、カウントがあらかじめ設定された値となった場合には、図10中kに示す経路にバリッドを出力する。Counter38は、図10中kに示す経路にバリッドビットが出力された場合には、バリッドバッファ39が有する各バリッド1~10のうち、バリッドビットを消去するバリッドを選択する。例えば、Counter38は、Counter34と同様に、1~10までの数値を反復的にカウントするカウンタであり、バリッドビットを取得した場合には、カウンタの値を1だけインクリメントする。そして、Counter38は、図10中lに示す経路を介して、カウンタの値をバリッドバッファ39のセレクタ2へ送信する。具体例で説明すると、Counter38は、カウンタの値が4である際に、Timier37がバリッドビットを出力した場合には、カウンタの値を5とし、カウンタの値5をバリッドバッファ39のセレクタ2へ送信する。また、Timer37およびCounter38は、全バリッド1~10にバリッドビットが格納されていない場合には、カウントおよびインクリメントを停止する。セレクタ2は、上述した処理に加えて、図10中kに示す経路を介してバリッドビットを受信し、図10中lに示す経路を介してカウンタの値を受信した場合には、カウンタの値が示すバリッドに格納されたバリッドビットを消去する。例えば、セレクタ2は、図10中kに示す経路を介してバリッドビットを受信するとともに、図10中lに示す経路から5を受信した場合には、バリッド5に格納されたバリッドビットを消去する。つまり、セレクタ2は、バリッド5に格納されたバリッドビットを消去することで、アドレスバッファ35が有するバッファ5に格納されたリードアドレスを無効化する。換言すると、Counter38は、バリッドビットを格納してから、所定の時間が経過した後に、バリッドビットを消去する。このように、インクリメントにて生成した値を用いて、バリッドビットを消去する対象を決定するので、各バリッド1~10に記憶されたバリッドビットに歯抜けが存在する場合にも、歯抜けとなっているバリッドビットを消去させ、回路を簡略化する。また、セレクタ2は、図10中mに示す経路を介して、PatrolAddressCompare36から信号を受信した場合には、バリッドバッファ39が有する各バリッド1~10に格納されたバリッドビットを消去する。なお、図10中nに示す複数の接続は、各バリッド1~10に格納されたバリッドビットを消去するための信号線となる。PatrolAddressCompare36は、図10中Qに示す経路を介して、パトロールアドレスを取得する。また、PatrolAddressCompare36は、図10中oに示す経路を介して、アドレスバッファ35が有する各バッファ1~10に格納されたリードアドレスを取得する。また、PatrolAddressCompare36は、図10中pに示す経路を介して、バリッドバッファ39が有する各バリッド1~10に格納されたバリッドビットを取得する。なお、PatrolAddressCompare36は、これらパトロールアドレス、リードアドレス、バリッドビットは、常に取得し続けている。また、PatrolAddressCompare36は、図10中Uに示す経路を介して、パトロールバリッドを受信した場合には、以下の処理を実行する。すなわち、PatrolAddressCompare36は、各バッファ1~10のうち、対応付けられたバリッドにバリッドビットが格納されたバッファに格納された1つまたは複数のリードアドレスと、パトロールアドレスとを比較する。そして、PatrolAddressCompare36は、リードアドレスとパトロールアドレスとが一致した場合には、図10中qに示す経路を介して、ANDゲート27に1を入力する。つまり、PatrolAddressCompare36は、リードアドレスとパトロールアドレスとが一致した場合には、パトロール要求の発行をキャンセルする。なお、例えば、PatrolAddressCompare36の機能は、以下のように実現することができる。例えば、各バッファ1~10と各バリッド1~10とをそれぞれXORゲートで接続することで、バリッドビットが格納されたバリッドと対応付けられたバッファに格納されたリードアドレスのみを有効化する。そして、この10個のXORゲートの出力とパトロールアドレスとを比較器により比較し、10個の比較結果をORゲートによって集合させることで、PatrolAddressCompare36が出力する信号を生成することができる。例えば、Readdetarmination31、DuplicationCompare32、Counter34、38、PatrolAddressCompare36、Timer37とは、電子回路である。ここで、電子回路の例として、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路などを適用する。また、アドレスバッファ35、バリッドバッファ39とは、RAMRandomAccessMemory、フラッシュメモリflashmemoryなどの半導体メモリ素子などの記憶装置である。[パトロール制御部11aが実行する処理の流れ]次に、図を用いて、パトロール制御部11aが実行する処理の流れについて説明する。まず、図11を用いて、パトロール制御部11aがリードアドレスをバッファに記憶する処理の流れの一例について説明する。図11は、実施例2に係るパトロール制御部が、リードアドレスをバッファに記憶する処理の流れの一例を説明するための図である。図11に示す例では、パトロール制御部11aは、リード要求を受信したことをトリガとして処理を開始するステップS200肯定。まず、パトロール制御部11aは、受信したリード要求のリードアドレスと、パトロールアドレス生成部22が生成したパトロールアドレスとが一致するか否かを判別するステップS201。そして、パトロール制御部11aは、リードアドレスとパトロールアドレスとが一致すると判別した場合にはステップS201肯定、アドレスバッファ35にリードアドレスを蓄積するステップS202。また、パトロール制御部11aは、リードアドレスとパトロールアドレスとが一致しないと判別した場合にはステップS201否定、リードアドレスの蓄積を行わずに、新たなリード要求を受信したか否かを判別するステップS200。次に、図12を用いて、パトロール制御部11aが蓄積したリードアドレスとパトロールアドレスとを比較し、パトロールをキャンセルするか否かを判別する処理の流れについて説明する。図12は、実施例2に係るパトロール制御部がパトロール要求の発行をキャンセルするか否かを判別する処理の流れの一例を説明するための図である。なお、パトロール制御部11aは、図12に示す処理を、図11に示す処理とは独立して実行する。図12に示す例では、パトロール制御部11aは、パトロール要求の発行タイミングであるか否かを判別するステップS301。次に、パトロール制御部11aは、パトロール要求の発行タイミングであると判別した場合にはステップS301肯定、蓄積したリードアドレスとパトロールアドレスとが一致するか否かを判別するステップS302。そして、パトロール制御部11aは、蓄積したいずれかのリードアドレスとパトロールアドレスとが一致すると判別した場合にはステップS302肯定、パトロール要求の発行をキャンセルするステップS303。次に、パトロール制御部11aは、次回発行するパトロール要求のパトロールアドレスを生成しステップS304、アドレスバッファ35に蓄積されたリードアドレスを消去するステップS305。その後、パトロール制御部11aは、再度、パトロール要求を発行するタイミングであるか否かを判別するステップS301。また、パトロール制御部11aは、蓄積した全てのリードアドレスとパトロールアドレスとが一致しないと判別した場合にはステップS302否定、パトロール要求を発行するステップS306。その後、パトロール制御部11aは、次回発行するパトロール要求のパトロールアドレスを生成しステップS307、再度、パトロール要求を発行するタイミングであるか否かを判別するステップS301。また、パトロール制御部11aは、パトロール要求の発行タイミングではないと判別した場合にはステップS301否定、パトロール要求の発行タイミングであるか否かを再度判別するステップS301。[実施例2の効果]上述したように、メモリコントローラ10aは、複数のバッファ1~10と、各バッファ1~10に対応付けられたバリッド1~10を有する。そして、メモリコントローラ10aは、リードアドレスをバッファ1~10のうち、いずれかのバッファに格納する。また、メモリコントローラ10aは、パトロール要求を発行するタイミングで、各バッファ1~10に格納されたリードアドレスと、生成したパトロールアドレスとを比較する。そして、メモリコントローラ10aは、いずれかのリードアドレスと生成したパトロールアドレスとが一致した場合には、パトロール要求の発行をキャンセルする。つまり、メモリコントローラ10aは、パトロール要求を発行するよりも長い周期で、パトロールアドレスと同じリードアドレスを対象とするリード要求が発行されていた場合には、パトロール要求の発行をキャンセルする。このため、メモリコントローラ10aは、DIMMエラーの発生を押さえつつ、リード要求によるDIMMアクセスの阻害を防止し、リード要求やライト要求によるメモリアクセスを円滑に行う。また、メモリコントローラ10aは、各バッファ1~10と対応付けられた複数のバリッド1~10を有し、リードアドレスを格納したバッファと対応付けられたバリッドにバリッドビットを格納する。そして、メモリコントローラ10aは、各バッファ1~10のうち、対応付けられたバリッドにバリッドビットが格納されているバッファに格納されたリードアドレスとパトロールアドレスとを比較する。このため、メモリコントローラ10aは、各バッファ1~10に格納されたリードアドレスの更新を容易にすることができる。また、メモリコントローラ10aは、バリッドビットを格納してから所定の時間が経過した場合には、格納したバリッドビットを消去する。つまり、メモリコントローラ10aは、リードアドレスをバッファに格納してから所定の時間が経過した場合には、リードアドレスを無効化し、パトロールアドレスとの比較を行わない。このため、メモリコントローラ10aは、複数のリードアドレスとパトロールアドレスとの比較を、簡易な回路構成で行う事ができる。具体的には、メモリコントローラ10aは、バッファ1とバリッド1との排他的論理和と、バッファ2とバリッド2との排他的論理和といったように、各バッファ1~10と各バリッド1~10との排他的論理和を取る。そして、メモリコントローラ10aは、各排他的論理和の結果の論理和を取ることで、所定の時間間隔以内に受信した複数のリード要求のリードアドレスと、パトロールアドレスとが一致するか否かの結果を取得することができる。このように、メモリコントローラ10aは、簡易な回路構成で、リードアドレスとパトロールアドレスとを比較することができる。また、メモリコントローラ10aは、新たに受信したリード要求の対象となるリードアドレスが、いずれかのバッファに格納されている場合には、新たに受信したリード要求のリードアドレスを格納しない。このため、メモリコントローラ10aは、アドレスバッファ35とバリッドバッファ39との容量を削減することができる。すなわち、通常のシステムにおいては、同じメモリアドレスに対するリード要求が連続して発行される。ここで、メモリコントローラ10aは、同じリードアドレスを対象とするリード要求が連続した場合には、後続のリード要求の対象となるリードアドレスを重複して記憶することなく、破棄する。このため、メモリコントローラ10aは、アドレスバッファ35とバリッドバッファ39との容量を削減することができる。なお、メモリコントローラ10aは、後続のリード要求の対象となるリードアドレスを重複して記憶しなかったとしても、先に受信したリード要求によって、データの読み出しを行う。この結果、メモリコントローラ10aは、読み出したデータからエラーの検出および訂正を行う結果、訂正不可能なエラーの発生を防ぐことができる。なお、メモリコントローラ10aは、パトロール要求の発行と同時にパトロールアドレスと同一のリードアドレスを蓄積した場合には、パトロール要求をキャンセルするとともに、蓄積したリードアドレスによって次回のパトロール要求をキャンセルする。つまり、メモリコントローラ10aは、パトロール要求の発行と同時に同一のメモリアドレスを対象とするリード要求のリードアドレスを受信した場合には、このメモリアドレスに対するパトロール要求が2週分出力されない。しかし、メモリコントローラ10aは、リード要求を発行する結果、エラーが発生している場合には、スクラブリード要求およびスクラブライト要求を発行し、エラーの訂正を行うので、訂正不可能なエラーを防ぐことができる。これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例3として本発明に含まれる他の実施例を説明する。1バッファについて上述したアドレスバッファ回路30は、10個のバッファ1~10を有するアドレスバッファ35と、10個のバリッド1~10を有するバリッドバッファ39とを有していた。しかし、実施例は、これに限定されるものではなく、アドレスバッファ35は、任意の数のバッファを有してよく、バリッドバッファ39は、任意の数のバリッドを有しても良い。また、アドレスバッファ回路30は、アドレスバッファ35とバリッドバッファ39とを異なるバッファとして有するが、実施例はこれに限定されるものではない。例えば、アドレスバッファ35は、リードアドレスとバリッドビットを記憶する複数のバッファラインを有し、各バッファラインに格納されたリードアドレスとバリッドビットとを用いて、上述した処理を行うこととしてもよい。2システムボードについて上述したメモリコントローラ10は、システムボード1上に設置されたブリッジチップ4に搭載された。しかし、実施例はこれに限定されるものではない。例えば、メモリコントローラ10は、各CPU2~2bの内部に搭載されてもよい。すなわち、メモリコントローラ10は、ブリッジチップ4のみならず、DIMMに対してアクセスを行う任意の装置内に設置することができる。