(57)【特許請求の範囲】
【請求項１】
処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第１領域に書き込み、
前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、
前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送するとともに、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、試験方法。
【請求項２】
前記第１領域から前記第２領域への転送及び前記第２領域から前記第１領域への転送を所定の回数実行するとともに、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、請求項１記載の試験方法。
【請求項３】
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、請求項１又は請求項２記載の試験方法。
【請求項４】
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、請求項３記載の試験方法。
【請求項５】
前記比較は、前記第１領域から前記第２領域への転送及び前記第２領域から前記第１領域への転送が所定の回数実行された後に行なわれることを特徴とする、請求項１〜４のいずれか１項記載の試験方法。
【請求項６】
処理部と記憶部とを有する情報処理装置において、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第１領域に書き込み、
前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、
前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送するとともに、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、
処理を前記情報処理装置に実行させる、試験プログラム。
【請求項７】
処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、
前記処理部は、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第１領域に書き込む発生部と、
前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送する転送部と、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えることを特徴とする、試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、情報処理装置で用いられる記憶装置の試験を行なう試験方法，試験プログラム，及び試験装置に関する。
【背景技術】
【０００２】
サーバ等のコンピュータシステムでは、ＲＡＭ（Random Access Memory）等のメモリ（記憶装置）に対して、メモリ試験が行なわれることがある（例えば、特許文献１及び２）。メモリ試験としては、例えば、電圧変動及びノイズマージン不足等の要因によるメモリ障害の検出を目的としたものがある。このメモリ試験では、試験を短時間で行なうため、加速試験によりメモリに負荷を与えることが知られている。
【０００３】
加速試験としては、例えば、単位時間当たりのメモリへのデータの転送量を増やすことや、メモリ全てを試験する代わりにメモリ内の異なった代表のアドレス先へ偏りなくデータを転送することが挙げられる。
上述した加速試験を実現するための有効な手段の１つとして、ブロック転送が知られている。ブロック転送においては、下記のような手法が用いられている。
【０００４】
例えば、ブロック転送においては、データの転送によってデータが壊れていないか否かを検出するため、転送元のデータと転送先のデータとを比較する手法が用いられている。
また、ブロック転送を行なう場合、メモリへ負荷を掛ける目的で転送を複数回繰り返すが、同じメモリの領域への同一データの書き込みを避けるため、転送元のアドレスと転送先のアドレスとをずらす手法が用いられている。
【０００５】
なお、転送元のアドレスと転送先のアドレスとをずらす値としては、例えば、ＣＰＵ（Central Processing Unit）のキャッシュサイズ分の値が挙げられる。転送元のアドレスと転送先のアドレスとをＣＰＵのキャッシュサイズ分ずらす場合、キャッシュ内のデータがバースト転送により連続転送される。
なお、バースト転送とは、ＣＰＵのキャッシュサイズをメモリのバス幅で除算した回数に分けて、キャッシュ内のデータを連続転送する機能である。例えば、ＣＰＵのキャッシュサイズが３２バイト（Byte）であり、メモリのバス幅が８バイトである場合、キャッシュ内の３２バイトのデータは、８バイトずつ４回に分けて連続転送される。
【０００６】
バースト転送中は、データの転送が中断されることはなく、キャッシュ内のデータの連続性が保証される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−３３４８９９号公報
【特許文献２】特開２００２−３４３０９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
近年、コンピュータシステムの大規模化及び大容量化の要求に伴い、メモリ容量は増加の一途をたどっている。従来のメモリ障害の検出を目的としたメモリ試験手法では、メモリ容量の増加に起因して、試験時間が増加している。
一方、電圧変動及びノイズマージン不足等の要因によるメモリ障害の検出を目的とした試験では、試験を短時間で行なうことが要求される。
【０００９】
上述したブロック転送を用いたメモリ試験では、試験を短時間で実行させることや試験精度を向上させることについて、以下の（ｉ）〜（iii）に示す問題が挙げられる。
（ｉ）転送元のデータと転送先のデータとを比較する方法では、転送元及び転送先のデータが一致するか否かを判断するが、データそのものが壊れているか否かまでは検出することができない。例えば、データを転送する前に転送元のデータが既に壊れていた場合、壊れたデータを転送先に書き込むことになり、データを比較しても障害を検出することができない。
【００１０】
図１１は、メモリの記憶領域の転送元及び転送先のデータ比較後に転送元のデータが壊れた場合の、データ転送及び比較の結果を示す図である。
例えば、図１１に示すように、転送元及び転送先のデータを比較して（図１１中、左上）互いに一致していることが検出された後、転送元のデータにエラーが発生した場合、壊れたデータが転送先に転送される（図１１中、右上）。このとき、転送元及び転送先には、いずれも壊れたデータが保持されているため、転送元及び転送先のデータを比較して（図１１中、左下）一致していることが検出される。
【００１１】
従って、転送元及び転送先のデータ比較後に転送元のデータが壊れた場合、転送元及び転送先のデータ比較では、エラーが検出されない（図１１中、右下）。
（ii）転送を複数回繰り返した後、試験領域（転送元／転送先）のデータが正常であること、即ち転送が正常に行なえたことを保証するためには、予めブロック転送をシミュレーションしておき、期待値のデータを用意しておく必要がある。そのためには、大量のデータ（期待値のデータ等）を外部記憶装置等から読み込んで比較を行なうため、比較に多くの時間を要する。
【００１２】
また、転送元のデータと転送先のデータとを、転送を行なう都度比較するため、比較に多くの時間を要する。
（iii）転送元と転送先のアドレスをキャッシュサイズ分ずらす場合、キャッシュ内のデータはバースト転送により必ず連続転送されるが、キャッシュを跨ぐデータはバースト転送の境界でデータの転送が中断されてしまう。ノイズパターンを使用した試験では、転送する前後のデータが連続することにより、有効な試験を行なうことができる。従って、キャッシュを跨ぐデータは、バースト転送の境界でデータ転送が中断されてしまうため、試験精度が低下する。
【００１３】
なお、ノイズパターンとは複数のデータが集まったことによるノイズマージンを検証するデータであり、例えば、クロストークノイズを発生させ易い“５５５５…（Ｈ）”と“ＡＡＡＡ…（Ｈ）”とを交互に発生させたデータ等が挙げられる。
図１２は、メモリのバス幅を８バイト、バースト転送単位を３２バイトとし、転送先と転送元のアドレスをバースト転送単位ずらすバースト転送を行なった際の、メモリの記憶領域内のデータの配置を示す図である。
【００１４】
図１３は、図１２に示すバースト転送を行なった際に発生するデータパターンを示す図であり、図１４は、図１２に示すバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
図１２〜図１４において、“ａ”から“ｈ”及び“Ａ”から“Ｈ”で示すブロックは、それぞれ８バイトの単位パターンを示す。上述の如く、キャッシュサイズをバースト転送の単位転送サイズとしているため、ＣＰＵは、キャッシュサイズ３２バイトからメモリバス幅（＝単位パターンサイズ）８バイトを除算した値、即ち４つのブロックを一度のバースト転送で転送する。
【００１５】
図１２に示す例では、メモリの記憶領域のうちの試験領域４００において、転送元の領域４００Ｂ内のデータを転送先の領域４００Ａにバースト転送する。このとき、領域４００Ａにデータを転送する開始アドレスは、領域４００Ａの先頭アドレスからバースト転送単位（３２バイト）ずらしたアドレスとなる。
従って、図１２中、転送前の領域４００Ａにおける、“ｅ”で示すブロックのアドレスを転送開始アドレスとして、領域４００Ｂ内のデータが３２バイト単位でバースト転送される。
【００１６】
このように、バースト転送の際に転送先のアドレスをバースト転送単位ずらす場合、連続したデータとして表れるデータの並びは、図１３に示す“ＡＢＣＤ”及び“ＥＦＧＨ”の２通りのみとなる。
例えば、図１４に示すように、バースト転送の実行により、バースト転送の境界は“Ａ”と“Ｈ”との間及び“Ｄ”と“Ｅ”との間である。従って、複数回バースト転送を繰り返しても、これらのバースト転送の境界では、データの転送が中断される。
【００１７】
このように、転送元と転送先のアドレスをキャッシュサイズ分ずらす場合、キャッシュを跨ぐデータは、バースト転送の境界でデータ転送が中断されてしまうため、試験精度が低下する。
上述の点に鑑み、本件の目的の一つは、情報処理装置の記憶部に対する試験にかかる時間を短縮することである。
【００１８】
また、本件の目的の一つは、情報処理装置の記憶部に対する試験精度を向上することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【００１９】
本件の試験方法は、処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第１領域に書き込み、前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送するとともに、前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証するものである。
【００２０】
また、本件の試験プログラムは、処理部と記憶部とを有する情報処理装置において、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第１領域に書き込み、前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送するとともに、前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、処理を前記情報処理装置に実行させるものである。
【００２１】
さらに、本件の試験装置は、処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、前記処理部は、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第１領域に書き込む発生部と、前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送する転送部と、前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えるものである。
【発明の効果】
【００２２】
開示の技術によれば、情報処理装置の記憶部に対する試験にかかる時間を短縮することができる。
また、開示の技術によれば、情報処理装置の記憶部に対する試験精度を向上することができる。
【図面の簡単な説明】
【００２３】
【図１】本実施形態の一例としての情報処理装置のハードウェアの構成例を示す図である。
【図２】本実施形態の一例としての情報処理装置の機能構成例を示すブロック図である。
【図３】本実施形態の一例としてのメモリ試験に用いられるシフトパターンの一例を示す図である。
【図４】本実施形態の一例としてのメモリ試験に用いられるノイズパターンの一例を示す図である。
【図５】本実施形態の一例としてのテストパターン転送部によるバースト転送手順を説明するための図である。
【図６】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際のメモリの試験領域内のデータの配置を示す図である。
【図７】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際に発生するデータパターンを示す図である。
【図８】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
【図９】本実施形態の一例としての判定部によるメモリの試験領域内の隣接するデータの比較を示す図である。
【図１０】本実施形態の一例としてのメモリの試験方法を説明するためのフローチャートである。
【図１１】メモリの試験領域の転送元及び転送先のデータ比較後に転送元のデータが壊れた場合の、データ転送及び比較の結果を示す図である。
【図１２】バースト転送を行なった際のメモリの記憶領域内のデータの配置を示す図である。
【図１３】バースト転送を行なった際に発生するデータパターンを示す図である。
【図１４】バースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施の形態を説明する。
〔１〕本実施形態の構成
図１は、本実施形態の一例としての情報処理装置１のハードウェアの構成例を示す図であり、図２は、本実施形態の一例としての情報処理装置１の機能構成例を示す図である。
図１に示す情報処理装置１は、メモリ障害の検出を目的とした試験をブロック転送を用いてメモリ（記憶部）４の試験領域４０に対して行なう。
【００２５】
ここで、情報処理装置１は、ＣＰＵ（処理部）２，及び上述したメモリ４を備えるとともに、ＣＰＵ２とメモリ４との間で転送されるデータ及びそのデータの参照情報を保持するキャッシュ３，並びにＣＰＵ２からメモリ４へのアクセスを制御するメモリ制御部６を備える。また、情報処理装置１は、ＨＤＤ（Hard Disk Drive）等のＩ／Ｏ装置５，及びＩ／Ｏ装置５とＣＰＵ２との間の入出力制御を行なうＩ／Ｏ制御部７を備える。
【００２６】
本実施形態においては、キャッシュ３のキャッシュサイズが３２バイトである場合について例示する。
メモリ４は、図２に示すように、ＣＰＵ２によってメモリ試験が行なわれる対象の領域である試験領域４０を含む。以下、メモリ試験に用いられる試験領域４０の前半の領域を領域（第１領域）４０Ａといい、試験領域４０の後半の領域を領域（第２領域）４０Ｂという。
【００２７】
領域４０Ａの容量と領域４０Ｂの容量とは、同じであることが好ましく、本実施形態においては、領域４０Ａの容量と領域４０Ｂの容量とが同じものとして説明する。以下、領域４０Ａを単に領域Ａといい、領域４０Ｂを単に領域Ｂという。
また、メモリ４は、バス幅が８バイトのバスによってＣＰＵ２と接続される。なお、メモリ４としては、例えばＲＡＭが挙げられる。
【００２８】
本実施形態においては、情報処理装置１は、ＣＰＵ２がＩ／Ｏ装置５に格納された試験プログラム４１をメモリ４に読み込んで実行することで、メモリ４の試験領域４０に対する試験が実施される。なお、情報処理装置１は、ＣＰＵ２により、メモリ４の試験領域４０に対する書き込み及び読み出しを正しく行なえるか否かを試験する。
ＣＰＵ２は、メモリ試験において、メモリ４の試験領域４０に対するデータの書き込みをバースト転送によって行なう。本実施形態においては、バースト転送は、ＣＰＵ２がキャッシュサイズの３２バイトを４回に分けてメモリバス幅の８バイトずつ連続転送することによって行なわれる。
【００２９】
また、図２に示すように、ＣＰＵ２は、テストパターン発生部（発生部）２１，テストパターン転送部（転送部）２２，及び判定部２３としての機能を備える。
テストパターン発生部２１は、隣接した基礎パターンが同一である基礎パターン対、即ち同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターン４２を生成し、試験領域４０のうちの領域Ａに書き込む。このとき、テストパターン発生部２１は、領域Ａの先頭アドレスを書込開始アドレスとして、テストパターン４２を書き込む。
【００３０】
なお、テストパターン４２は、基礎パターン対を複数含んでも良い。以下、テストパターン４２が、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含む場合について例示する。
テストパターン４２としては、例えば図３に示すシフトパターン４２１や図４に示すノイズパターン４２２が挙げられる。
【００３１】
図３は、本実施形態の一例としてのメモリ試験に用いられるシフトパターン４２１の一例を示す図であり、図４は、本実施形態の一例としてのメモリ試験に用いられるノイズパターン４２２の一例を示す図である。なお、図３及び図４中の数値は全て１６進数表記である。
シフトパターン４２１は、図３に示すように、“０〜７”バイト，“８〜Ｆ”バイト，“１０〜１７”バイト等のように、メモリ４のバス幅と同じ８バイト長の基礎パターン対を複数含む。８バイト長のそれぞれの基礎パターン対は、同一の４バイトの基礎パターンを隣り合わせて配設される。例えば、“８〜Ｆ”バイト目の基礎パターン対は、データ列“０００００００１（Ｈ）”の４バイトの基礎パターンが、前半４バイトの“８〜Ｂ”バイトと、後半４バイトの“Ｃ〜Ｆ”バイトとに配設されたパターンである。
【００３２】
図３に示すシフトパターン４２１は、“０〜７”バイトの基礎パターン対における“７”バイト目は、“００（Ｈ）”（“００００００００（２）”）であり、“８〜Ｆ”バイトの基礎パターン対における“Ｆ”バイト目は、“０１（Ｈ）”（“０００００００１（２）”）である。また、“１０〜１７”バイトの基礎パターン対における“１７”バイト目は、“０２（Ｈ）”（“００００００１０（２）”）であり、“１８〜１Ｆ”バイトの基礎パターン対における“１Ｆ”バイト目は、“０４（Ｈ）”（“０００００１００（２）”）である。さらに、“２０〜２７”バイトの基礎パターン対における“２７”バイト目は、“０８（Ｈ）”（“００００１０００（２）”）であり、“２８〜２Ｆ”バイトの基礎パターン対における“２Ｆ”バイト目は、“１０（Ｈ）”（“０００１００００（２）”）である。
【００３３】
このように、図３に示すシフトパターン４２１は、基礎パターン対毎に、基礎パターン内の値のうちの“１（２）”がセットされたビットを二進数で１ビットずつ左にシフトしたものである。
なお、シフトパターン４２１は、図３に示すものに限定されず、例えば、最初の基礎パターン対（“０〜７”バイト）における基礎パターン内の値に“１（２）”がセットされていても良い。また、基礎パターン対毎に、基礎パターン内の値のうちの“１（２）”がセットされたビットを二進数で少なくとも１ビットずつ右又は左にシフトしたものであっても良い。さらに、基礎パターン内に“１（２）”がセットされたビットが２つ以上あっても良い。
【００３４】
また、図３に示すシフトパターン４２１は、“ｘｘ０〜ｘｘ７”バイトの基礎パターン対における“ｘｘ４”バイト目は、“８０（Ｈ）”（“１０００００００（２）”）であり、“ｘｘ８〜ｘｘＦ”バイトの基礎パターン対における“ｘｘＦ”バイト目は、“０４（Ｈ）”（“００００１０００（２）”）であるが、これに限定されない。
例えば、図３に示すシフトパターン４２１における、“０〜７”バイトの基礎パターン対から“ｘｘ０〜ｘｘ７”バイトの基礎パターン対までを１つのセットとして、このセットを複数連続させてシフトパターン４２１を形成しても良い。従って、この場合、“ｘｘ８〜ｘｘＦ”バイトの基礎パターン対における“ｘｘＦ”バイト目は、“００（Ｈ）”（“００００００００（２）”）としても良い。
【００３５】
または、シフトパターン４２１における全ての基礎パターン対のそれぞれが、他の基礎パターン対と異なるように基礎パターンを決定しても良い。従って、この場合、“ｘｘ８〜ｘｘＦ”バイトの基礎パターン対における“ｘｘＦ”バイト目は、例えば“１１（Ｈ）”（“０００１０００１（２）”）としても良い。なお、一部の基礎パターン対が他の基礎パターン対と同一のものとなるように基礎パターンを決定しても良い。
【００３６】
図４に示すノイズパターン４２２も、図３に示すシフトパターン４２１と同様に、メモリ４のバス幅と同じ８バイト長の基礎パターン対を複数含み、それぞれの基礎パターン対は、同一の４バイトの基礎パターンを隣り合わせて配設される。即ち、４バイトの基礎パターンを２つ隣り合わせて８バイトのバウンダリとした基礎パターン対が、８バイトのバス幅のメモリバスを転送されることになる。
【００３７】
図４に示すノイズパターン４２２は、“０〜７”バイトの基礎パターン対における“７”バイト目は、“５５（Ｈ）”（“０１０１０１０１（２）”）であり、“８〜Ｆ”バイトの基礎パターン対における“Ｆ”バイト目は、“ＡＡ（Ｈ）”（“１０１０１０１０（２）”）である。
このように、図４に示すノイズパターン４２２は、基礎パターンに“０（２）”と“１（２）”とが交互にセットされたチェッカーパターンであり、基礎パターン対毎に、基礎パターン内の値のうちの“１（２）”がセットされたビットを二進数で１ビットずつ左又は右にシフトしたものである。
【００３８】
なお、ノイズパターン４２２は、図４に示すものに限定されず、例えば、“０〜７”バイトの基礎パターン対における“７”バイト目は、“００（Ｈ）”（“００００００００（２）”）であり、“８〜Ｆ”バイトの基礎パターン対における“Ｆ”バイト目は、“ＦＦ（Ｈ）”（“１１１１１１１１（２）”）であっても良い。即ち、ノイズパターン４２２は、基礎パターン対毎に、交互に“０（２）”と“１（２）”とがセットされても良い。
【００３９】
なお、シフトパターン４２１及びノイズパターン４２２は、いずれも、上述した基礎パターン対を一部だけに含み、他のパターンは任意のものとしても良い。
試験領域４０内のテストパターン４２は、テストパターン発生部２１によるテストパターンの発生と、後述するテストパターン転送部２２による転送とが終了すると、以下の検証に用いられる。
【００４０】
テストパターン４２としてシフトパターン４２１を用いた場合は、試験領域４０内のシフトパターン４２１は、例えばメモリ４のセル間リーク等の検証に用いて好適である。
一方、テストパターン４２としてノイズパターン４２２を用いた場合は、試験領域４０内のノイズパターン４２２は、ノイズマージンの検証に用いて好適である。
また、テストパターン４２は、本実施形態においては、領域Ａ又は領域Ｂの領域の容量と同じサイズのデータである。
【００４１】
なお、テストパターン発生部２１は、領域Ａに書き込むテストパターン４２を、情報処理装置１に備えられた図示しないユーザインタフェースを介してユーザによって任意に指定（パターンを入力）されて生成しても良いし、予め試験プログラム４１に含まれるテストパターン４２を読み出しても良い。また、テストパターン発生部２１は、領域Ａに書き込むテストパターン４２を、予め用意された基礎パターンを任意に組み合わせて生成しても良い。
【００４２】
テストパターン転送部２２は、テストパターン発生部２１によって領域Ａに書き込まれたテストパターン４２を、領域Ａと領域Ｂとの間で所定の回数転送する。
このテストパターン転送部２２は、アドレス／レングス生成部２２１及び転送処理部２２２を備える。
アドレス／レングス生成部２２１は、テストパターン発生部２１によって領域Ａに書き込まれたテストパターン４２を領域Ａと領域Ｂとの間で転送するための、転送元の領域における転送元アドレスと、転送先の領域における転送先アドレス（転送開始アドレス）と、転送するテストパターン４２の長さ（転送レングス）とを生成（算出，決定）する。
【００４３】
また、アドレス／レングス生成部２２１は、領域Ｂから領域Ａへテストパターン４２を転送する際には、転送元アドレスと転送先アドレスとを所定のシフト量αだけずらすように、転送元アドレス，転送先アドレス，及びテストパターン４２の転送レングスを生成する。
転送処理部２２２は、アドレス／レングス生成部２２１により生成された転送元アドレス，転送先アドレス，及びテストパターン４２の転送レングスに基づいて、領域Ａと領域Ｂとの間でテストパターン４２を転送する。具体的には、転送処理部２２２は、転送元の領域における転送元アドレスを始点とする転送レングス分の領域に書き込まれているデータを複写して、転送先アドレスを始点とする転送レングス分の領域に上書き（転写）する。
【００４４】
このように、テストパターン転送部２２は、アドレス／レングス生成部２２１及び転送処理部２２２によって、テストパターン発生部２１によって領域Ａに書き込まれたテストパターン４２を、領域Ａと領域Ｂとの間で所定の回数繰り返し転送する。
テストパターン転送部２２の具体的な機能については、後述する。
判定部２３は、テストパターン転送部２２によってテストパターン４２の転送が行なわれた領域Ａ及び領域Ｂ、即ち試験領域４０におけるデータの正常性を検証する。つまり、判定部２３は、試験領域４０に対する書き込み及び読み出しを正しく行なえるか否かを検証する。
【００４５】
具体的には、判定部２３は、領域Ａあるいは領域Ｂの一方から他方に転送されたテストパターン４２における基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、隣り合わせて配設された基礎パターン同士が等しいか否かを判定する。
図９は、本実施形態の一例としての判定部２３によるメモリ４の試験領域４０内の隣接するデータの比較を示す図である。
【００４６】
判定部２３は、図９に示すように、試験領域４０に転送されたテストパターン４２におけるそれぞれの基礎パターン対について、隣り合わせて配設された基礎パターン同士を比較して二つの基礎パターンが同一か否かを判定する。
判定部２３がテストパターン４２における全ての基礎パターン対について、各基礎パターン対の二つの基礎パターンが同一であると判定した場合は、判定部２３は、メモリ４におけるデータの転送は正常であると判断する。
【００４７】
なお、転送部２２による所定の回数の転送が終了し、判定部２３によりデータの転送は正常であると判定された場合、試験領域４０に転送されたテストパターン４２は、シフトパターン４２１やノイズパターン４２２のデータとして、上述の如き種々の検証に用いることができる。これらの種々の検証については、既知の手法を用いることができるため、その説明は省略する。
【００４８】
一方、判定部２３がいずれかの基礎パターン対の二つの基礎パターンが同一でないと判定した場合は、判定部２３は、メモリ４におけるデータの転送に障害が発生していると判断し、エラーを出力する。エラーの出力方法としては、例えば情報処理装置１の図示しないモニタにエラーメッセージを表示したり、Ｉ／Ｏ装置５のＨＤＤ等にエラーログを格納することが挙げられる。
【００４９】
次に、本実施形態の一例としてのテストパターン転送部２２の具体的な機能を、図５〜図８を用いて説明する。
図５は、本実施形態の一例としてのテストパターン転送部２２によるバースト転送手順を説明するための図である。図５において（１）が付された矢印は、テストパターン転送部２２による領域Ａから領域Ｂへのバースト転送を示し、（２）及び（３）が付された矢印は、領域Ｂから領域Ａへのバースト転送を示す。
【００５０】
また、図６は、本実施形態の一例としてのテストパターン転送部２２がバースト転送を行なった際のメモリ４の試験領域４０内のデータの配置を示す図である。
なお、図６（ａ）は、テストパターン転送部２２によるバースト転送（１）が実行された場合の試験領域４０を示す図であり、図６（ｂ）は、テストパターン転送部２２によるバースト転送（２）における転送データ及び転送先位置を示す図である。また、図６（ｃ）は、テストパターン転送部２２によるバースト転送（２）が実行された場合の試験領域４０を示す図であり、図６（ｄ）は、テストパターン転送部２２によるバースト転送（３）における転送データ及び転送先位置を示す図である。さらに、図６（ｅ）は、テストパターン転送部２２によるバースト転送（３）が実行された場合の試験領域４０を示す図であり、図６（ｆ）は、図６（ｅ）に示す試験領域４０においてテストパターン転送部２２によるバースト転送（１）が実行された場合の試験領域４０を示す図である。
【００５１】
さらに、図７は、本実施形態の一例としてのテストパターン転送部２２がバースト転送を行なった際に発生するデータパターンを示す図であり、図８は、本実施形態の一例としてのテストパターン転送部２２がバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
なお、図８（ａ）は、テストパターン転送部２２が図６（ａ）〜図６（ｅ）に示す１回目のバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。また、図８（ｂ）は、テストパターン転送部２２が図６（ｅ）に示す試験領域４０において、図６（ｆ）に示すバースト転送（１）及びその後のバースト転送（２）〜（３）（２回目のバースト転送）を行なった際に転送される、バースト転送単位のデータを示す図である。
【００５２】
テストパターン転送部２２は、アドレス／レングス生成部２２１及び転送処理部２２２によって、図５に示す転送（１）〜（３）の一連の転送を所定の回数繰り返す。以下、テストパターン転送部２２によるテストパターン４２の領域Ａから領域Ｂへの転送（１）をステップ１とし、領域Ｂから領域Ａへの転送（２），（３）をステップ２として説明する。
【００５３】
〔１−１〕ステップ１（領域Ａから領域Ｂへの転送（１））
アドレス／レングス生成部２２１及び転送処理部２２２は、テストパターン発生部２１によって領域Ａに書き込まれたテストパターン４２を、図５に示す転送（１）において領域Ｂに転送する。
アドレス／レングス生成部２２１は、転送（１）において、転送元アドレスを領域Ａの先頭アドレスに決定し、転送先アドレスを領域Ｂの先頭アドレスに決定するとともに、テストパターン４２の転送レングスを領域Ａのサイズ（＝領域Ｂのサイズ）に決定する。
【００５４】
転送処理部２２２は、アドレス／レングス生成部２２１により生成された転送元アドレス，転送先アドレス及び転送レングスに基づいて、領域Ａの先頭アドレスを始点として領域Ａのサイズ分のデータ（テストパターン４２）を、領域Ｂの転送先アドレスを始点として領域Ｂのサイズ分の領域に転送（コピー）する。
〔１−２〕ステップ２（領域Ｂから領域Ａへの転送（２）（３））
アドレス／レングス生成部２２１及び転送処理部２２２は、図５に示す転送（２）及び（３）において、領域Ｂに転送されたテストパターン４２を領域Ａに転送する。
【００５５】
このとき、上述のように、アドレス／レングス生成部２２１は、領域Ｂから領域Ａへテストパターン４２を転送する際には、所定のシフト量αに基づいて、転送元アドレス，転送先アドレス，及びテストパターン４２の転送レングスを生成する。
所定のシフト量αは、例えば、ＣＰＵ２によるメモリ４の試験領域４０に対するテストパターン４２の単位転送サイズ（本実施形態においてはバースト転送サイズ）とメモリ４のバス幅との差分値となる。
【００５６】
従って、本実施形態における所定のシフト量αは、バースト転送サイズの３２バイトとメモリバス幅の８バイトとの差分値である２４バイトとなる。
〔１−２−１〕ステップ２−１（領域Ｂから領域Ａへの転送（２））
アドレス／レングス生成部２２１は、転送（２）において、転送元アドレスを領域Ｂの先頭アドレスに決定する。また、アドレス／レングス生成部２２１は、転送先アドレス（第１転送先アドレス，第１転送開始アドレス）を、データパターン発生部２１により領域Ａにテストパターン４２が書き込まれた際の書込開始アドレス（即ち領域Ａの先頭アドレス）から所定のシフト量αだけシフト（例えば、加算）されたアドレスに決定する。
【００５７】
さらに、アドレス／レングス生成部２２１は、テストパターン４２の転送レングスとして領域Ｂのサイズから所定のシフト量αを減じたサイズを生成（決定）する。即ち、アドレス／レングス生成部２２１は、転送レングスを、領域Ｂの先頭アドレスと、領域Ｂの最終アドレスから所定のシフト量αを減じたアドレスと、の間の領域のサイズに決定する。
図６に示す例では、アドレス／レングス生成部２２１は、転送元アドレスを領域Ｂの先頭アドレスに決定する。また、アドレス／レングス生成部２２１は、第１転送先アドレスを、図６（ｂ）に示す如く、領域Ａの先頭アドレスから所定のシフト量αである２４バイトだけシフトされたアドレスに決定する。
【００５８】
さらに、アドレス／レングス生成部２２１は、転送レングスを、図６（ａ）に示す如く、領域Ｂの先頭アドレスと、領域Ｂの最終アドレスから所定のシフト量αである２４バイトを減じたアドレスと、の間の領域のサイズに決定する。
なお、図６において、“ａ”〜“ｈ”及び“Ａ”〜“Ｈ”で示す各ブロックは、それぞれ８バイトの基礎パターン対を示す。上述の如く本実施形態においては、キャッシュサイズをバースト転送の単位転送サイズとしているため、テストパターン転送部２２は、キャッシュサイズ３２バイトからメモリバス幅（＝基礎パターン対サイズ）８バイトを除算した値、即ち４つのブロックを一度のバースト転送で転送する。
【００５９】
なお、図６に示す例では、便宜上、テストパターン発生部２１により領域Ａに書き込まれたテストパターン４２を“ａ”〜“ｈ”で表し、図５に示す転送（１）において領域Ｂに転送されたテストパターン４２を“Ａ”〜“Ｈ”で表すが、“ａ”〜“ｈ”は、それぞれ“Ａ”〜“Ｈ”と同一のデータである。従って、図６（ａ）に示す状態においては、領域Ａ及び領域Ｂにおけるそれぞれのテストパターン４２は同一のものである。
【００６０】
また、図６に示す例では、テストパターン４２は、便宜上、基礎パターン対“Ａ”〜“Ｈ”（“ａ”〜“ｈ”）の並びを繰り返し循環させたデータとして表すが、これに限定されない。例えば、上述の如く、テストパターン４２内の全ての基礎パターン対が、他の基礎パターン対と異なるものとなるように基礎パターンを決定しても良く、一部の基礎パターン対が他の基礎パターン対と同一のものとなるように基礎パターンを決定しても良い。
【００６１】
そして、転送処理部２２２は、図５に示す転送（２）において、領域Ｂの先頭アドレスを始点とし、領域Ｂのサイズから所定のシフト量αを減じたサイズ分の連続するデータ（テストパターン４２の一部）を、領域Ａの先頭アドレスから所定のシフト量αだけシフトされたアドレスを始点とする同一サイズの領域に転送（コピー）する。即ち、転送処理部２２２は、領域Ａの先頭アドレスから所定のシフト量αだけシフトしたアドレスを第１転送先アドレスとして、領域Ｂの先頭アドレスと、領域Ｂの最終アドレスから所定のシフト量αを減じたアドレスとの間の領域のテストパターン４２を転送する。
【００６２】
図６に示す例では、転送処理部２２２は、図６（ｂ）及び図６（ｃ）に示す如く、領域Ｂの先頭アドレスと、領域Ｂの最終アドレスから所定のシフト量αである２４バイトを減じたアドレスとの間の領域のテストパターン４２を転送する。このときの転送先の領域Ａの第１転送先アドレスは、領域Ａの先頭アドレスから所定のシフト量αである２４バイトだけシフトしたアドレスとなる。
【００６３】
〔１−２−２〕ステップ２−２（領域Ｂから領域Ａへの転送（３））
一方、アドレス／レングス生成部２２１は、図５に示す転送（３）において、転送元アドレスを、領域Ｂの最終アドレスから所定のシフト量αを減じたアドレスに決定し、転送先アドレス（第２転送先アドレス，第２転送開始アドレス）を、領域Ａの先頭アドレスに決定する。
【００６４】
また、アドレス／レングス生成部２２１は、テストパターン４２の転送レングスを、所定のシフト量αのサイズに決定する。
図６に示す例では、アドレス／レングス生成部２２１は、図６（ｃ）に示す如く、転送元アドレスを、領域Ｂの最終アドレスから所定のシフト量αである２４バイトを減じたアドレスに決定する。また、アドレス／レングス生成部２２１は、第２転送先アドレスを、領域Ａの先頭アドレスに決定する。
【００６５】
さらに、アドレス／レングス生成部２２１は、図６（ｄ）に示す如く、転送レングスを、所定のシフト量αである２４バイトのサイズに決定する。
そして、転送処理部２２２は、図５に示す転送（３）において、領域Ｂの最終アドレスから所定のシフト量αを減じたアドレスから、所定のシフト量αのサイズ分のデータ（テストパターン４２の一部）を、第２転送先アドレスである領域Ａの先頭アドレスに転送する。
【００６６】
図６に示す例では、転送処理部２２２は、図６（ｄ）及び図６（ｅ）に示す如く、領域Ｂの最終アドレスから所定のシフト量αを減じたアドレスを先頭として、所定のシフト量αのサイズ分のデータ（テストパターン４２の一部）を転送する。このときの転送先の領域Ａの第２転送先アドレスは、領域Ａの先頭アドレスである。
テストパターン転送部２２は、転送（３）の転送を行なった後、転送を所定の回数実行したか否かを判断し、所定の回数実行していないと判断した場合には、さらに転送（１）〜（３）の転送を繰り返す。
【００６７】
図６に示す例では、テストパターン転送部２２は、転送（３）の転送を行なった後（図６（ｅ）参照）、転送を所定の回数実行したか否かを判断し、所定の回数実行していないと判断した場合には、次の転送（１）〜（３）を実行する。このとき、テストパターン転送部２２は、次の転送（１）として、図６（ｅ）に示す領域Ａ内のデータを領域Ｂに転送するとともに（図６（ｆ）参照）、図６（ｆ）に示す試験領域４０に対して、上述の如き手順により転送（２）及び（３）を実行する。
【００６８】
上述のように、ＣＰＵ２は、テストパターン転送部２２によって、図５に示す転送（１）〜（３）の転送を所定の回数実行することにより、メモリ４の試験領域４０に対するメモリ試験を実施する。
このように、テストパターン転送部２２が転送（１）〜（３）のバースト転送を１回実行すると、転送後の試験領域４０において連続したデータとして表れるデータの並びは、転送前の試験領域４０において連続したデータとして表れるデータの並びから所定のシフト量αだけずれることになる（図６（ａ）及び図６（ｆ）参照）。
【００６９】
図６に示す例においては、転送前の試験領域４０において連続したデータとして表れるデータの並び、即ちバースト転送の単位転送サイズに収まるデータは、“ａｂｃｄ”及び“ｅｆｇｈ”（“ＡＢＣＤ”及び“ＥＦＧＨ”）である。
一方、転送後の試験領域４０において連続したデータとして表れるデータの並び、即ちバースト転送の単位転送サイズに収まるデータは、“ＦＧＨＡ”及び“ＢＣＤＥ”となる。
【００７０】
従って、テストパターン転送部２２がバースト転送（１）〜（３）を所定の回数実行することにより、試験領域４０において連続したデータとして表れるデータの並びは、図７に示す８通りとなる。なお、この試験領域４０において連続したデータとして表れるデータの並びの種類（数）は、バースト転送の単位転送サイズ（キャッシュ３のキャッシュサイズ），基礎パターン対のサイズ（メモリ４のバス幅），基礎パターンのバリエーション，及び基礎パターン対の配置条件等に応じて異なる。
【００７１】
このように、図５に示す転送（２）及び（３）の転送において、転送元と転送先のアドレスを図６に示す所定のシフト量αだけずらす場合、キャッシュ３を跨ぐデータがシフトされるため、バースト転送の境界でデータ転送が中断される位置を可変とすることができる。
例えば、図８（ａ）に示すように、１回目のバースト転送（１）〜（３）の実行では、バースト転送の境界は“Ａ”と“Ｂ”との間及び“Ｅ”と“Ｆ”との間であるが、図８（ｂ）に示すように、２回目のバースト転送（１）〜（３）の実行では、バースト転送の境界は“Ｂ”と“Ｃ”との間及び“Ｆ”と“Ｇ”との間である。
【００７２】
このように、本実施形態の一例としてのテストパターン転送部２２によれば、転送元と転送先のアドレスを所定のシフト量αだけずらすことにより、転送（１）〜（３）を実行する回数に応じてバースト転送の境界位置を可変とすることができる。即ち、データを転送する際に、転送先アドレスをバースト転送の単位転送サイズからメモリバス幅を引いた値ずらすことで、前後の基礎パターン対がキャッシュ３内で連続する全ての種類のテストパターン４２を発生させることができる。
【００７３】
従って、メモリ試験において、テストパターン４２における隣接する試験データについて、様々な組み合わせでキャッシュ３内で連続したデータとしてバースト転送することができるため、試験精度を向上させることができる。
なお、判定部２３による判定は、上述したテストパターン転送部２２による転送（１）〜（３）の処理が実施される度に行なうことができる。
【００７４】
これにより、判定部２３によって、隣接する基礎パターンが等しくないと判定された場合に、エラーを検出した時点で処理を終了することができるため、試験時間の短縮を図ることができるとともに、エラーの発生した試験領域４０のアドレスを特定することができる。
また、判定部２３による判定は、上述したテストパターン転送部２２による転送（１）〜（３）の処理が所定の回数実行された後に行なうこともできる。
【００７５】
これにより、判定部２３による判定をテストパターン転送部２２による転送（１）〜（３）の処理が実施される度に行なう場合と比べて、試験時間の大幅な短縮を図ることができる。
以下、本実施形態においては、判定部２３による判定は、上述したテストパターン転送部２２による転送（１）〜（３）の処理が所定の回数実行された後に行なうものとして説明する。
【００７６】
〔２〕本実施形態の動作
次に、上述の如く構成された本実施形態の一例としてのテストパターン発生部２１，テストパターン転送部２２，及び判定部２３によるメモリ４の試験領域４０に対する試験方法を説明する。
図１０は、本実施形態の一例としてのメモリ４の試験方法を説明するためのフローチャートである。
【００７７】
はじめに、ＣＰＵ２のテストパターン発生部２１により、テストパターン４２が生成又はメモリ４等から読み出され、メモリ４の試験領域４０のうちの領域Ａに書き込まれる（ステップＳ１）。なお、書き込まれるテストパターン４２は、領域Ａの容量と同サイズである。また、書込開始アドレスは、領域Ａの先頭アドレスである。
次に、テストパターン転送部２２によって、領域Ａに書き込まれたテストパターン４２が領域Ｂへバースト転送（コピー）される（ステップＳ２；転送（１））。このときの転送は、領域Ａの先頭アドレスを転送元アドレスとし、領域Ｂの先頭アドレスを転送先アドレスとして、領域Ａの容量（＝領域Ｂの容量）と同サイズのテストパターン４２を転送することにより行なわれる。
【００７８】
次いで、テストパターン転送部２２によって、領域Ｂの先頭アドレスと、領域Ｂの最終アドレスから所定のシフト量αを減じたアドレスとの間の領域のテストパターン４２が領域Ａへバースト転送（コピー）される（ステップＳ３；転送（２））。このときの転送は、領域Ａの先頭アドレスから所定のシフト量αだけシフトしたアドレスを第１転送先アドレスとして、領域Ｂの容量から所定のシフト量αを減じたサイズのテストパターン４２を転送することにより行なわれる。
【００７９】
また、テストパターン転送部２２によって、領域Ｂの最終アドレスから所定のシフト量αを減じたアドレスと、領域Ｂの最終アドレスとの間の領域のテストパターン４２が領域Ａへバースト転送（コピー）される（ステップＳ４；転送（３））。このときの転送は、領域Ａの先頭アドレスを第２転送先アドレスとして、所定のシフト量αのサイズのテストパターン４２を転送することにより行なわれる。
【００８０】
そして、テストパターン転送部２２により、ステップＳ２〜Ｓ４（転送（１）〜（３））の一連の処理が予め指定された回数実施されたか否かが判定される（ステップＳ５）。
ステップＳ２〜Ｓ４の一連の処理が予め指定された回数実施されていない場合には（ステップＳ５のＮｏルート）、ステップＳ２の処理に戻る。
一方、予め指定された回数実施された場合には（ステップＳ５のＹｅｓルート）、判定部２３により、試験領域４０に転送されたテストパターン４２における基礎パターン対について、隣り合わせて配設された基礎パターン同士が比較され、これら基礎パターン同士が等しいか否かが判定される（ステップＳ６）。
【００８１】
このとき、判定部２３により、比較対象の基礎パターン対を示す比較領域に基づいて、比較領域のうちの前半の基礎パターンと後半の基礎パターンとが等しいか否かが判断される。なお、比較領域は、試験領域４０の先頭アドレスと、試験領域４０の先頭アドレスから基礎パターン対のサイズ分シフトしたアドレスとの間の領域が初期値となる。
判定部２３により、比較領域に対応する基礎パターン対の基礎パターン同士が等しくないと判定された場合には（ステップＳ６のＮｏルート）、判定部２３により、メモリ４におけるデータの転送に障害が発生していると判断され、エラーメッセージが出力される（ステップＳ７）。
【００８２】
一方、判定部２３により、比較領域に対応する基礎パターン対の基礎パターン同士が等しいと判定された場合には（ステップＳ６のＹｅｓルート）、判定部２３により、ステップＳ６における比較を試験領域４０の全ての領域について行なったか否かが判断される（ステップＳ８）。この判断は、例えば判定部２３により、比較領域が示すアドレスが試験領域４０の最終アドレスを示すか否かが判断されることにより行なわれる。
【００８３】
判定部２３により、ステップＳ６における比較を試験領域４０の全ての領域について行なっていないと判断された場合には（ステップＳ８のＮｏルート）、判定部２３により、比較領域が更新され（ステップＳ９）、ステップＳ６の処理に戻る。このとき、ステップＳ６においては、更新された比較領域に基づいて、当該比較領域に対応する基礎パターン対の基礎パターン同士が比較される。
【００８４】
なお、ステップＳ９の処理における比較領域の更新は、比較領域のアドレスに基礎パターン対のサイズ（８バイト）が加算されることにより行なわれる。
一方、判定部２３により、ステップＳ６における比較を試験領域４０の全ての領域について行なったと判断された場合には（ステップＳ８のＹｅｓルート）、判定部２３により、メモリ試験による試験領域４０に対するデータの転送が正常であると判断され、処理が終了する。処理の終了後、試験領域４０に転送されたテストパターン４２は、上述の如く、シフトパターン４２１やノイズパターン４２２のデータとして、その後の種々の検証に用いることができる。
【００８５】
上述のように、本実施形態の一例としてのテストパターン発生部２１によれば、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含むテストパターン４２が生成される。また、本実施形態の一例としての判定部２３によれば、テストパターン転送部２２によって試験領域４０に転送されたテストパターン４２におけるそれぞれの基礎パターン対について、隣り合わせて配設された基礎パターン同士が比較される。
【００８６】
このように、各基礎パターン対における隣接する基礎パターン同士を同じ値にすることにより、試験領域４０内でテストパターン４２の転送が繰り返し行なわれた場合でも、転送されたデータの正常性を保証することができる。
従って、隣接する基礎パターン同士が同じデータであるか否かを判断するだけで、試験領域４０に対するデータの転送が正常に行なわれたか否かを判断することができる。これにより、バースト転送を繰り返した結果データと予めシミュレーションした期待値データとを比較する処理や、バースト転送を行なう毎に転送元のデータと転送先のデータとを比較する処理が不要となり、試験時間の短縮を図ることができる。
【００８７】
また、本実施形態の一例としてのテストパターン転送部２２によれば、第２領域４０Ｂに転送されたテストパターン４２が、第１領域４０Ａにテストパターン４２が書き込まれた際の書込開始アドレスから所定のシフト量αだけシフトされたアドレスを転送先アドレスとして、領域Ａに転送される。
このように、転送元と転送先のアドレスを所定のシフト量αだけずらすことにより、転送（１）〜（３）を実行する回数に応じてバースト転送の境界位置を可変とすることができる。即ち、データを転送する際に、転送先アドレスをバースト転送の単位転送サイズからメモリバス幅を引いた値ずらすことで、前後の基礎パターン対がキャッシュ３内で連続する全ての種類のテストパターン４２を発生させることができる。
【００８８】
従って、メモリ試験において、テストパターン４２における隣接する試験データについて、様々な組み合わせでキャッシュ３内で連続したデータとしてバースト転送することができるため、試験精度を向上させることができる。
さらに、本実施形態の一例としての各基礎パターン対は、同一の基礎パターンを隣り合わせて配設されている。また、テストパターン発生部２１が初めに用意したテストパターン４２を、バースト転送の境界位置を可変としてバースト転送をすることができる。
【００８９】
従って、バースト転送の境界位置を変更した複数のテストパターンを生成することなく、テストパターン４２を所定の回数転送することで様々な組み合わせでキャッシュ３内で連続したデータとしてバースト転送することができる。
このため、テストパターン発生部２１によるテストパターンの生成，及び判定部２３によるデータの比較時間を短縮することができる。
【００９０】
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、本実施形態において、テストパターン転送部２２は、転送（２）（図１０に示すステップＳ３）を実行した後に、転送（３）（図１０に示すステップＳ４）を実行するものとして説明したが、これに限定されない。例えば、テストパターン転送部２２は、転送（３）（図１０に示すステップＳ４）を実行した後に、転送（２）（図１０に示すステップＳ３）を実行しても良い。
【００９１】
また、本実施形態において、所定のシフト量αは、バースト転送の単位転送サイズとメモリバス幅との差分値であると説明したが、これに限定されず、所定のシフト量αをメモリバス幅としても良い。
さらに、本実施形態において、バースト転送によるデータの分割数を４つとして説明したが、これに限定されず、キャッシュ３のキャッシュサイズとメモリ４のバス幅とに応じて、任意の値とすることができる。
【００９２】
また、本実施形態において、基礎パターン対を８バイトとし、基礎パターンを４バイトとして説明したが、これに限定されず、メモリ４のバス幅に応じて、基礎パターン対及び基礎パターンのサイズを決定することができる。例えば、メモリ４のバス幅が１６バイトであれば、基礎パターンをメモリバス幅の半分の８バイトとし、基礎パターン対はこの基礎パターンを２つ隣り合わせた１６バイトとすることができる。
【００９３】
さらに、本実施形態において、処理部であるＣＰＵ２によって、メモリ４の試験領域４０にテストパターン４２がバースト転送されるものとして説明したが、これに限定されるものではない。例えば、情報処理装置１が処理部としてＤＭＡ（Direct Memory Access）コントローラを備え、ＤＭＡコントローラにテストパターン発生部２１及びテストパターン転送部２２としての動作を実行させても良い。
【００９４】
これにより、ＣＰＵ２がテストパターン発生部２１及びテストパターン転送部２２としての機能を持つ場合と比べて、ＣＰＵ２の負荷を抑えることができる。
なお、これらのテストパターン発生部（発生部）２１，テストパターン転送部（転送部）２２，アドレス／レングス生成部２２１，転送処理部２２２，及び判定部２３としての機能を実現するためのプログラム（試験プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしても良い。
【００９５】
テストパターン発生部２１，テストパターン転送部２２，アドレス／レングス生成部２２１，転送処理部２２２，及び判定部２３としての機能を実現する際には、内部記憶装置（本実施形態では情報処理装置１のメモリ（記憶部）４及びＩ／Ｏ装置５等）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態では情報処理装置１のＣＰＵ（処理部）２）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしても良い。
【００９６】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。また、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、情報処理装置１がコンピュータとしての機能を有しているのである。
【００９７】
〔４〕付記
そして、本発明は、以下に示すように要約することができる。
（付記１）
処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第１領域に書き込み、
前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、
前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送するとともに、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、試験方法。
【００９８】
（付記２）
前記第１領域から前記第２領域への転送及び前記第２領域から前記第１領域への転送を所定の回数実行するとともに、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、付記１記載の試験方法。
【００９９】
（付記３）
前記テストパターンは、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含み、
前記基礎パターン同士の比較は、前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおけるそれぞれの基礎パターン対について、前記隣り合わせて配設された基礎パターン同士を比較することにより行なわれることを特徴とする、付記１又は付記２記載の試験方法。
【０１００】
（付記４）
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、付記１〜３のいずれか１つに記載の試験方法。
（付記５）
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、付記４記載の試験方法。
【０１０１】
（付記６）
前記第１領域と前記第２領域とは同じ容量の領域であり、
前記生成されるテストパターンは、前記第１領域又は前記第２領域の容量と同サイズであるとともに、
前記テストパターンの前記第１領域への書き込みは、前記第１領域の先頭アドレスを前記書込開始アドレスとして、前記テストパターンを書き込むことにより行なわれ、
前記第１領域に書き込まれたテストパターンの前記第２領域への転送は、前記第２領域の先頭アドレスを転送開始アドレスとして、前記テストパターンを転送することにより行なわれるとともに、
前記第２領域に転送されたテストパターンの前記第１領域への転送は、前記第１領域の先頭アドレスから前記所定のシフト量だけシフトしたアドレスを第１転送開始アドレスとして、前記第２領域の先頭アドレスと、前記第２領域の最終アドレスから前記所定のシフト量を減じたアドレスとの間の領域のテストパターンを転送する一方、前記第１領域の先頭アドレスを第２転送開始アドレスとして、前記第２領域の最終アドレスから前記所定のシフト量を減じたアドレスと、前記第２領域の最終アドレスとの間の領域のテストパターンを転送することにより行なわれることを特徴とする、付記１〜５のいずれか１つに記載の試験方法。
【０１０２】
（付記７）
前記比較は、前記第１領域から前記第２領域への転送及び前記第２領域から前記第１領域への転送が所定の回数実行された後に行なわれることを特徴とする、付記１〜６のいずれか１つに記載の試験方法。
（付記８）
前記比較は、前記第１領域から前記第２領域への転送及び前記第２領域から前記第１領域への転送が実行される毎に行なわれることを特徴とする、付記１〜６のいずれか１つに記載の試験方法。
【０１０３】
（付記９）
処理部と記憶部とを有する情報処理装置において、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第１領域に書き込み、
前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、
前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送するとともに、
前記第１領域あるいは前記第２試験領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、
処理を前記情報処理装置に実行させる、試験プログラム。
【０１０４】
（付記１０）
前記第１領域から前記第２領域への転送及び前記第２領域から前記第１領域への転送を所定の回数実行するとともに、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、付記９記載の試験プログラム。
【０１０５】
（付記１１）
前記テストパターンは、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含み、
前記基礎パターン同士の比較は、前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおけるそれぞれの基礎パターン対について、前記隣り合わせて配設された基礎パターン同士を比較することにより行なわれることを特徴とする、付記９又は付記１０記載の試験プログラム。
【０１０６】
（付記１２）
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、付記９〜１１のいずれか１つに記載の試験プログラム。
（付記１３）
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、付記１２記載の試験プログラム。
【０１０７】
（付記１４）
前記比較は、前記第１領域から前記第２領域への転送及び前記第２領域から前記第１領域への転送が所定の回数実行された後に行なわれることを特徴とする、付記９〜１３のいずれか１つに記載の試験プログラム。
（付記１５）
処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、
前記処理部は、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第１領域に書き込む発生部と、
前記第１領域に書き込まれたテストパターンを、前記試験領域のうちの第２領域に転送し、前記第２領域に転送されたテストパターンを、前記第１領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第１領域に転送する転送部と、
前記第１領域あるいは前記第２領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えることを特徴とする、試験装置。
【符号の説明】
【０１０８】
１    情報処理装置
２    ＣＰＵ（処理部）
２１    テストパターン発生部（発生部）
２２    テストパターン転送部（転送部）
２２１    アドレス／レングス生成部
２２２    転送処理部
２３    判定部
３    キャッシュ
４    メモリ（記憶部）
４０    試験領域
４００    試験領域
４０Ａ    領域（領域Ａ，第１領域）
４００Ａ    領域（領域Ａ）
４０Ｂ    領域（領域Ｂ，第２領域）
４００Ｂ    領域（領域Ｂ）
４１    試験プログラム
４２    テストパターン
４２１    シフトパターン
４２２    ノイズパターン
５    Ｉ／Ｏ装置
６    メモリ制御部
７    Ｉ／Ｏ制御部
【図１】
0005565340.tif 000002
【図２】
0005565340.tif 000003
【図３】
0005565340.tif 000004
【図４】
0005565340.tif 000005
【図５】
0005565340.tif 000006
【図６】
0005565340.tif 000007
【図７】
0005565340.tif 000008
【図８】
0005565340.tif 000009
【図９】
0005565340.tif 000010
【図１０】
0005565340.tif 000011
【図１１】
0005565340.tif 000012
【図１２】
0005565340.tif 000013
【図１３】
0005565340.tif 000014
【図１４】
0005565340.tif 000015