試験方法,試験プログラム,及び試験装置
【課題】情報処理装置の記憶部に対する試験にかかる時間の短縮又は試験精度の向上を実現する。
【解決手段】同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターン42を、記憶部4の試験領域40のうちの第1領域40Aに書き込み、書き込まれた前記テストパターン42を前記試験領域40のうちの第2領域40Bに転送し、転送されたテストパターン42を、前記第1領域40Aにおける前記書き込みが行なわれたアドレスから所定のシフト量だけシフトされたアドレスに転送するとともに、前記第1領域40Aあるいは前記第2領域40Bの一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士が等しいか否かを比較、判定することにより前記試験領域40に対する書き込み及び読み出しを正しく行なえるか否かを検証する。
【解決手段】同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターン42を、記憶部4の試験領域40のうちの第1領域40Aに書き込み、書き込まれた前記テストパターン42を前記試験領域40のうちの第2領域40Bに転送し、転送されたテストパターン42を、前記第1領域40Aにおける前記書き込みが行なわれたアドレスから所定のシフト量だけシフトされたアドレスに転送するとともに、前記第1領域40Aあるいは前記第2領域40Bの一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士が等しいか否かを比較、判定することにより前記試験領域40に対する書き込み及び読み出しを正しく行なえるか否かを検証する。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、情報処理装置で用いられる記憶装置の試験を行なう試験方法,試験プログラム,及び試験装置に関する。
【背景技術】
【0002】
サーバ等のコンピュータシステムでは、RAM(Random Access Memory)等のメモリ(記憶装置)に対して、メモリ試験が行なわれることがある(例えば、特許文献1及び2)。メモリ試験としては、例えば、電圧変動及びノイズマージン不足等の要因によるメモリ障害の検出を目的としたものがある。このメモリ試験では、試験を短時間で行なうため、加速試験によりメモリに負荷を与えることが知られている。
【0003】
加速試験としては、例えば、単位時間当たりのメモリへのデータの転送量を増やすことや、メモリ全てを試験する代わりにメモリ内の異なった代表のアドレス先へ偏りなくデータを転送することが挙げられる。
上述した加速試験を実現するための有効な手段の1つとして、ブロック転送が知られている。ブロック転送においては、下記のような手法が用いられている。
【0004】
例えば、ブロック転送においては、データの転送によってデータが壊れていないか否かを検出するため、転送元のデータと転送先のデータとを比較する手法が用いられている。
また、ブロック転送を行なう場合、メモリへ負荷を掛ける目的で転送を複数回繰り返すが、同じメモリの領域への同一データの書き込みを避けるため、転送元のアドレスと転送先のアドレスとをずらす手法が用いられている。
【0005】
なお、転送元のアドレスと転送先のアドレスとをずらす値としては、例えば、CPU(Central Processing Unit)のキャッシュサイズ分の値が挙げられる。転送元のアドレスと転送先のアドレスとをCPUのキャッシュサイズ分ずらす場合、キャッシュ内のデータがバースト転送により連続転送される。
なお、バースト転送とは、CPUのキャッシュサイズをメモリのバス幅で除算した回数に分けて、キャッシュ内のデータを連続転送する機能である。例えば、CPUのキャッシュサイズが32バイト(Byte)であり、メモリのバス幅が8バイトである場合、キャッシュ内の32バイトのデータは、8バイトずつ4回に分けて連続転送される。
【0006】
バースト転送中は、データの転送が中断されることはなく、キャッシュ内のデータの連続性が保証される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平5−334899号公報
【特許文献2】特開2002−343097号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
近年、コンピュータシステムの大規模化及び大容量化の要求に伴い、メモリ容量は増加の一途をたどっている。従来のメモリ障害の検出を目的としたメモリ試験手法では、メモリ容量の増加に起因して、試験時間が増加している。
一方、電圧変動及びノイズマージン不足等の要因によるメモリ障害の検出を目的とした試験では、試験を短時間で行なうことが要求される。
【0009】
上述したブロック転送を用いたメモリ試験では、試験を短時間で実行させることや試験精度を向上させることについて、以下の(i)〜(iii)に示す問題が挙げられる。
(i)転送元のデータと転送先のデータとを比較する方法では、転送元及び転送先のデータが一致するか否かを判断するが、データそのものが壊れているか否かまでは検出することができない。例えば、データを転送する前に転送元のデータが既に壊れていた場合、壊れたデータを転送先に書き込むことになり、データを比較しても障害を検出することができない。
【0010】
図11は、メモリの記憶領域の転送元及び転送先のデータ比較後に転送元のデータが壊れた場合の、データ転送及び比較の結果を示す図である。
例えば、図11に示すように、転送元及び転送先のデータを比較して(図11中、左上)互いに一致していることが検出された後、転送元のデータにエラーが発生した場合、壊れたデータが転送先に転送される(図11中、右上)。このとき、転送元及び転送先には、いずれも壊れたデータが保持されているため、転送元及び転送先のデータを比較して(図11中、左下)一致していることが検出される。
【0011】
従って、転送元及び転送先のデータ比較後に転送元のデータが壊れた場合、転送元及び転送先のデータ比較では、エラーが検出されない(図11中、右下)。
(ii)転送を複数回繰り返した後、試験領域(転送元/転送先)のデータが正常であること、即ち転送が正常に行なえたことを保証するためには、予めブロック転送をシミュレーションしておき、期待値のデータを用意しておく必要がある。そのためには、大量のデータ(期待値のデータ等)を外部記憶装置等から読み込んで比較を行なうため、比較に多くの時間を要する。
【0012】
また、転送元のデータと転送先のデータとを、転送を行なう都度比較するため、比較に多くの時間を要する。
(iii)転送元と転送先のアドレスをキャッシュサイズ分ずらす場合、キャッシュ内のデータはバースト転送により必ず連続転送されるが、キャッシュを跨ぐデータはバースト転送の境界でデータの転送が中断されてしまう。ノイズパターンを使用した試験では、転送する前後のデータが連続することにより、有効な試験を行なうことができる。従って、キャッシュを跨ぐデータは、バースト転送の境界でデータ転送が中断されてしまうため、試験精度が低下する。
【0013】
なお、ノイズパターンとは複数のデータが集まったことによるノイズマージンを検証するデータであり、例えば、クロストークノイズを発生させ易い“5555…(H)”と“AAAA…(H)”とを交互に発生させたデータ等が挙げられる。
図12は、メモリのバス幅を8バイト、バースト転送単位を32バイトとし、転送先と転送元のアドレスをバースト転送単位ずらすバースト転送を行なった際の、メモリの記憶領域内のデータの配置を示す図である。
【0014】
図13は、図12に示すバースト転送を行なった際に発生するデータパターンを示す図であり、図14は、図12に示すバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
図12〜図14において、“a”から“h”及び“A”から“H”で示すブロックは、それぞれ8バイトの単位パターンを示す。上述の如く、キャッシュサイズをバースト転送の単位転送サイズとしているため、CPUは、キャッシュサイズ32バイトからメモリバス幅(=単位パターンサイズ)8バイトを除算した値、即ち4つのブロックを一度のバースト転送で転送する。
【0015】
図12に示す例では、メモリの記憶領域のうちの試験領域400において、転送元の領域400B内のデータを転送先の領域400Aにバースト転送する。このとき、領域400Aにデータを転送する開始アドレスは、領域400Aの先頭アドレスからバースト転送単位(32バイト)ずらしたアドレスとなる。
従って、図12中、転送前の領域400Aにおける、“e”で示すブロックのアドレスを転送開始アドレスとして、領域400B内のデータが32バイト単位でバースト転送される。
【0016】
このように、バースト転送の際に転送先のアドレスをバースト転送単位ずらす場合、連続したデータとして表れるデータの並びは、図13に示す“ABCD”及び“EFGH”の2通りのみとなる。
例えば、図14に示すように、バースト転送の実行により、バースト転送の境界は“A”と“H”との間及び“D”と“E”との間である。従って、複数回バースト転送を繰り返しても、これらのバースト転送の境界では、データの転送が中断される。
【0017】
このように、転送元と転送先のアドレスをキャッシュサイズ分ずらす場合、キャッシュを跨ぐデータは、バースト転送の境界でデータ転送が中断されてしまうため、試験精度が低下する。
上述の点に鑑み、本件の目的の一つは、情報処理装置の記憶部に対する試験にかかる時間を短縮することである。
【0018】
また、本件の目的の一つは、情報処理装置の記憶部に対する試験精度を向上することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【0019】
本件の試験方法は、処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込み、前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証するものである。
【0020】
また、本件の試験プログラムは、処理部と記憶部とを有する情報処理装置において、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第1領域に書き込み、前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、処理を前記情報処理装置に実行させるものである。
【0021】
さらに、本件の試験装置は、処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、前記処理部は、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込む発生部と、前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送する転送部と、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えるものである。
【発明の効果】
【0022】
開示の技術によれば、情報処理装置の記憶部に対する試験にかかる時間を短縮することができる。
また、開示の技術によれば、情報処理装置の記憶部に対する試験精度を向上することができる。
【図面の簡単な説明】
【0023】
【図1】本実施形態の一例としての情報処理装置のハードウェアの構成例を示す図である。
【図2】本実施形態の一例としての情報処理装置の機能構成例を示すブロック図である。
【図3】本実施形態の一例としてのメモリ試験に用いられるシフトパターンの一例を示す図である。
【図4】本実施形態の一例としてのメモリ試験に用いられるノイズパターンの一例を示す図である。
【図5】本実施形態の一例としてのテストパターン転送部によるバースト転送手順を説明するための図である。
【図6】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際のメモリの試験領域内のデータの配置を示す図である。
【図7】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際に発生するデータパターンを示す図である。
【図8】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
【図9】本実施形態の一例としての判定部によるメモリの試験領域内の隣接するデータの比較を示す図である。
【図10】本実施形態の一例としてのメモリの試験方法を説明するためのフローチャートである。
【図11】メモリの試験領域の転送元及び転送先のデータ比較後に転送元のデータが壊れた場合の、データ転送及び比較の結果を示す図である。
【図12】バースト転送を行なった際のメモリの記憶領域内のデータの配置を示す図である。
【図13】バースト転送を行なった際に発生するデータパターンを示す図である。
【図14】バースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施の形態を説明する。
〔1〕本実施形態の構成
図1は、本実施形態の一例としての情報処理装置1のハードウェアの構成例を示す図であり、図2は、本実施形態の一例としての情報処理装置1の機能構成例を示す図である。
図1に示す情報処理装置1は、メモリ障害の検出を目的とした試験をブロック転送を用いてメモリ(記憶部)4の試験領域40に対して行なう。
【0025】
ここで、情報処理装置1は、CPU(処理部)2,及び上述したメモリ4を備えるとともに、CPU2とメモリ4との間で転送されるデータ及びそのデータの参照情報を保持するキャッシュ3,並びにCPU2からメモリ4へのアクセスを制御するメモリ制御部6を備える。また、情報処理装置1は、HDD(Hard Disk Drive)等のI/O装置5,及びI/O装置5とCPU2との間の入出力制御を行なうI/O制御部7を備える。
【0026】
本実施形態においては、キャッシュ3のキャッシュサイズが32バイトである場合について例示する。
メモリ4は、図2に示すように、CPU2によってメモリ試験が行なわれる対象の領域である試験領域40を含む。以下、メモリ試験に用いられる試験領域40の前半の領域を領域(第1領域)40Aといい、試験領域40の後半の領域を領域(第2領域)40Bという。
【0027】
領域40Aの容量と領域40Bの容量とは、同じであることが好ましく、本実施形態においては、領域40Aの容量と領域40Bの容量とが同じものとして説明する。以下、領域40Aを単に領域Aといい、領域40Bを単に領域Bという。
また、メモリ4は、バス幅が8バイトのバスによってCPU2と接続される。なお、メモリ4としては、例えばRAMが挙げられる。
【0028】
本実施形態においては、情報処理装置1は、CPU2がI/O装置5に格納された試験プログラム41をメモリ4に読み込んで実行することで、メモリ4の試験領域40に対する試験が実施される。なお、情報処理装置1は、CPU2により、メモリ4の試験領域40に対する書き込み及び読み出しを正しく行なえるか否かを試験する。
CPU2は、メモリ試験において、メモリ4の試験領域40に対するデータの書き込みをバースト転送によって行なう。本実施形態においては、バースト転送は、CPU2がキャッシュサイズの32バイトを4回に分けてメモリバス幅の8バイトずつ連続転送することによって行なわれる。
【0029】
また、図2に示すように、CPU2は、テストパターン発生部(発生部)21,テストパターン転送部(転送部)22,及び判定部23としての機能を備える。
テストパターン発生部21は、隣接した基礎パターンが同一である基礎パターン対、即ち同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターン42を生成し、試験領域40のうちの領域Aに書き込む。このとき、テストパターン発生部21は、領域Aの先頭アドレスを書込開始アドレスとして、テストパターン42を書き込む。
【0030】
なお、テストパターン42は、基礎パターン対を複数含んでも良い。以下、テストパターン42が、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含む場合について例示する。
テストパターン42としては、例えば図3に示すシフトパターン421や図4に示すノイズパターン422が挙げられる。
【0031】
図3は、本実施形態の一例としてのメモリ試験に用いられるシフトパターン421の一例を示す図であり、図4は、本実施形態の一例としてのメモリ試験に用いられるノイズパターン422の一例を示す図である。なお、図3及び図4中の数値は全て16進数表記である。
シフトパターン421は、図3に示すように、“0〜7”バイト,“8〜F”バイト,“10〜17”バイト等のように、メモリ4のバス幅と同じ8バイト長の基礎パターン対を複数含む。8バイト長のそれぞれの基礎パターン対は、同一の4バイトの基礎パターンを隣り合わせて配設される。例えば、“8〜F”バイト目の基礎パターン対は、データ列“00000001(H)”の4バイトの基礎パターンが、前半4バイトの“8〜B”バイトと、後半4バイトの“C〜F”バイトとに配設されたパターンである。
【0032】
図3に示すシフトパターン421は、“0〜7”バイトの基礎パターン対における“7”バイト目は、“00(H)”(“00000000(2)”)であり、“8〜F”バイトの基礎パターン対における“F”バイト目は、“01(H)”(“00000001(2)”)である。また、“10〜17”バイトの基礎パターン対における“17”バイト目は、“02(H)”(“00000010(2)”)であり、“18〜1F”バイトの基礎パターン対における“1F”バイト目は、“04(H)”(“00000100(2)”)である。さらに、“20〜27”バイトの基礎パターン対における“27”バイト目は、“08(H)”(“00001000(2)”)であり、“28〜2F”バイトの基礎パターン対における“2F”バイト目は、“10(H)”(“00010000(2)”)である。
【0033】
このように、図3に示すシフトパターン421は、基礎パターン対毎に、基礎パターン内の値のうちの“1(2)”がセットされたビットを二進数で1ビットずつ左にシフトしたものである。
なお、シフトパターン421は、図3に示すものに限定されず、例えば、最初の基礎パターン対(“0〜7”バイト)における基礎パターン内の値に“1(2)”がセットされていても良い。また、基礎パターン対毎に、基礎パターン内の値のうちの“1(2)”がセットされたビットを二進数で少なくとも1ビットずつ右又は左にシフトしたものであっても良い。さらに、基礎パターン内に“1(2)”がセットされたビットが2つ以上あっても良い。
【0034】
また、図3に示すシフトパターン421は、“xx0〜xx7”バイトの基礎パターン対における“xx4”バイト目は、“80(H)”(“10000000(2)”)であり、“xx8〜xxF”バイトの基礎パターン対における“xxF”バイト目は、“04(H)”(“00001000(2)”)であるが、これに限定されない。
例えば、図3に示すシフトパターン421における、“0〜7”バイトの基礎パターン対から“xx0〜xx7”バイトの基礎パターン対までを1つのセットとして、このセットを複数連続させてシフトパターン421を形成しても良い。従って、この場合、“xx8〜xxF”バイトの基礎パターン対における“xxF”バイト目は、“00(H)”(“00000000(2)”)としても良い。
【0035】
または、シフトパターン421における全ての基礎パターン対のそれぞれが、他の基礎パターン対と異なるように基礎パターンを決定しても良い。従って、この場合、“xx8〜xxF”バイトの基礎パターン対における“xxF”バイト目は、例えば“11(H)”(“00010001(2)”)としても良い。なお、一部の基礎パターン対が他の基礎パターン対と同一のものとなるように基礎パターンを決定しても良い。
【0036】
図4に示すノイズパターン422も、図3に示すシフトパターン421と同様に、メモリ4のバス幅と同じ8バイト長の基礎パターン対を複数含み、それぞれの基礎パターン対は、同一の4バイトの基礎パターンを隣り合わせて配設される。即ち、4バイトの基礎パターンを2つ隣り合わせて8バイトのバウンダリとした基礎パターン対が、8バイトのバス幅のメモリバスを転送されることになる。
【0037】
図4に示すノイズパターン422は、“0〜7”バイトの基礎パターン対における“7”バイト目は、“55(H)”(“01010101(2)”)であり、“8〜F”バイトの基礎パターン対における“F”バイト目は、“AA(H)”(“10101010(2)”)である。
このように、図4に示すノイズパターン422は、基礎パターンに“0(2)”と“1(2)”とが交互にセットされたチェッカーパターンであり、基礎パターン対毎に、基礎パターン内の値のうちの“1(2)”がセットされたビットを二進数で1ビットずつ左又は右にシフトしたものである。
【0038】
なお、ノイズパターン422は、図4に示すものに限定されず、例えば、“0〜7”バイトの基礎パターン対における“7”バイト目は、“00(H)”(“00000000(2)”)であり、“8〜F”バイトの基礎パターン対における“F”バイト目は、“FF(H)”(“11111111(2)”)であっても良い。即ち、ノイズパターン422は、基礎パターン対毎に、交互に“0(2)”と“1(2)”とがセットされても良い。
【0039】
なお、シフトパターン421及びノイズパターン422は、いずれも、上述した基礎パターン対を一部だけに含み、他のパターンは任意のものとしても良い。
試験領域40内のテストパターン42は、テストパターン発生部21によるテストパターンの発生と、後述するテストパターン転送部22による転送とが終了すると、以下の検証に用いられる。
【0040】
テストパターン42としてシフトパターン421を用いた場合は、試験領域40内のシフトパターン421は、例えばメモリ4のセル間リーク等の検証に用いて好適である。
一方、テストパターン42としてノイズパターン422を用いた場合は、試験領域40内のノイズパターン422は、ノイズマージンの検証に用いて好適である。
また、テストパターン42は、本実施形態においては、領域A又は領域Bの領域の容量と同じサイズのデータである。
【0041】
なお、テストパターン発生部21は、領域Aに書き込むテストパターン42を、情報処理装置1に備えられた図示しないユーザインタフェースを介してユーザによって任意に指定(パターンを入力)されて生成しても良いし、予め試験プログラム41に含まれるテストパターン42を読み出しても良い。また、テストパターン発生部21は、領域Aに書き込むテストパターン42を、予め用意された基礎パターンを任意に組み合わせて生成しても良い。
【0042】
テストパターン転送部22は、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を、領域Aと領域Bとの間で所定の回数転送する。
このテストパターン転送部22は、アドレス/レングス生成部221及び転送処理部222を備える。
アドレス/レングス生成部221は、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を領域Aと領域Bとの間で転送するための、転送元の領域における転送元アドレスと、転送先の領域における転送先アドレス(転送開始アドレス)と、転送するテストパターン42の長さ(転送レングス)とを生成(算出,決定)する。
【0043】
また、アドレス/レングス生成部221は、領域Bから領域Aへテストパターン42を転送する際には、転送元アドレスと転送先アドレスとを所定のシフト量αだけずらすように、転送元アドレス,転送先アドレス,及びテストパターン42の転送レングスを生成する。
転送処理部222は、アドレス/レングス生成部221により生成された転送元アドレス,転送先アドレス,及びテストパターン42の転送レングスに基づいて、領域Aと領域Bとの間でテストパターン42を転送する。具体的には、転送処理部222は、転送元の領域における転送元アドレスを始点とする転送レングス分の領域に書き込まれているデータを複写して、転送先アドレスを始点とする転送レングス分の領域に上書き(転写)する。
【0044】
このように、テストパターン転送部22は、アドレス/レングス生成部221及び転送処理部222によって、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を、領域Aと領域Bとの間で所定の回数繰り返し転送する。
テストパターン転送部22の具体的な機能については、後述する。
判定部23は、テストパターン転送部22によってテストパターン42の転送が行なわれた領域A及び領域B、即ち試験領域40におけるデータの正常性を検証する。つまり、判定部23は、試験領域40に対する書き込み及び読み出しを正しく行なえるか否かを検証する。
【0045】
具体的には、判定部23は、領域Aあるいは領域Bの一方から他方に転送されたテストパターン42における基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、隣り合わせて配設された基礎パターン同士が等しいか否かを判定する。
図9は、本実施形態の一例としての判定部23によるメモリ4の試験領域40内の隣接するデータの比較を示す図である。
【0046】
判定部23は、図9に示すように、試験領域40に転送されたテストパターン42におけるそれぞれの基礎パターン対について、隣り合わせて配設された基礎パターン同士を比較して二つの基礎パターンが同一か否かを判定する。
判定部23がテストパターン42における全ての基礎パターン対について、各基礎パターン対の二つの基礎パターンが同一であると判定した場合は、判定部23は、メモリ4におけるデータの転送は正常であると判断する。
【0047】
なお、転送部22による所定の回数の転送が終了し、判定部23によりデータの転送は正常であると判定された場合、試験領域40に転送されたテストパターン42は、シフトパターン421やノイズパターン422のデータとして、上述の如き種々の検証に用いることができる。これらの種々の検証については、既知の手法を用いることができるため、その説明は省略する。
【0048】
一方、判定部23がいずれかの基礎パターン対の二つの基礎パターンが同一でないと判定した場合は、判定部23は、メモリ4におけるデータの転送に障害が発生していると判断し、エラーを出力する。エラーの出力方法としては、例えば情報処理装置1の図示しないモニタにエラーメッセージを表示したり、I/O装置5のHDD等にエラーログを格納することが挙げられる。
【0049】
次に、本実施形態の一例としてのテストパターン転送部22の具体的な機能を、図5〜図8を用いて説明する。
図5は、本実施形態の一例としてのテストパターン転送部22によるバースト転送手順を説明するための図である。図5において(1)が付された矢印は、テストパターン転送部22による領域Aから領域Bへのバースト転送を示し、(2)及び(3)が付された矢印は、領域Bから領域Aへのバースト転送を示す。
【0050】
また、図6は、本実施形態の一例としてのテストパターン転送部22がバースト転送を行なった際のメモリ4の試験領域40内のデータの配置を示す図である。
なお、図6(a)は、テストパターン転送部22によるバースト転送(1)が実行された場合の試験領域40を示す図であり、図6(b)は、テストパターン転送部22によるバースト転送(2)における転送データ及び転送先位置を示す図である。また、図6(c)は、テストパターン転送部22によるバースト転送(2)が実行された場合の試験領域40を示す図であり、図6(d)は、テストパターン転送部22によるバースト転送(3)における転送データ及び転送先位置を示す図である。さらに、図6(e)は、テストパターン転送部22によるバースト転送(3)が実行された場合の試験領域40を示す図であり、図6(f)は、図6(e)に示す試験領域40においてテストパターン転送部22によるバースト転送(1)が実行された場合の試験領域40を示す図である。
【0051】
さらに、図7は、本実施形態の一例としてのテストパターン転送部22がバースト転送を行なった際に発生するデータパターンを示す図であり、図8は、本実施形態の一例としてのテストパターン転送部22がバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
なお、図8(a)は、テストパターン転送部22が図6(a)〜図6(e)に示す1回目のバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。また、図8(b)は、テストパターン転送部22が図6(e)に示す試験領域40において、図6(f)に示すバースト転送(1)及びその後のバースト転送(2)〜(3)(2回目のバースト転送)を行なった際に転送される、バースト転送単位のデータを示す図である。
【0052】
テストパターン転送部22は、アドレス/レングス生成部221及び転送処理部222によって、図5に示す転送(1)〜(3)の一連の転送を所定の回数繰り返す。以下、テストパターン転送部22によるテストパターン42の領域Aから領域Bへの転送(1)をステップ1とし、領域Bから領域Aへの転送(2),(3)をステップ2として説明する。
【0053】
〔1−1〕ステップ1(領域Aから領域Bへの転送(1))
アドレス/レングス生成部221及び転送処理部222は、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を、図5に示す転送(1)において領域Bに転送する。
アドレス/レングス生成部221は、転送(1)において、転送元アドレスを領域Aの先頭アドレスに決定し、転送先アドレスを領域Bの先頭アドレスに決定するとともに、テストパターン42の転送レングスを領域Aのサイズ(=領域Bのサイズ)に決定する。
【0054】
転送処理部222は、アドレス/レングス生成部221により生成された転送元アドレス,転送先アドレス及び転送レングスに基づいて、領域Aの先頭アドレスを始点として領域Aのサイズ分のデータ(テストパターン42)を、領域Bの転送先アドレスを始点として領域Bのサイズ分の領域に転送(コピー)する。
〔1−2〕ステップ2(領域Bから領域Aへの転送(2)(3))
アドレス/レングス生成部221及び転送処理部222は、図5に示す転送(2)及び(3)において、領域Bに転送されたテストパターン42を領域Aに転送する。
【0055】
このとき、上述のように、アドレス/レングス生成部221は、領域Bから領域Aへテストパターン42を転送する際には、所定のシフト量αに基づいて、転送元アドレス,転送先アドレス,及びテストパターン42の転送レングスを生成する。
所定のシフト量αは、例えば、CPU2によるメモリ4の試験領域40に対するテストパターン42の単位転送サイズ(本実施形態においてはバースト転送サイズ)とメモリ4のバス幅との差分値となる。
【0056】
従って、本実施形態における所定のシフト量αは、バースト転送サイズの32バイトとメモリバス幅の8バイトとの差分値である24バイトとなる。
〔1−2−1〕ステップ2−1(領域Bから領域Aへの転送(2))
アドレス/レングス生成部221は、転送(2)において、転送元アドレスを領域Bの先頭アドレスに決定する。また、アドレス/レングス生成部221は、転送先アドレス(第1転送先アドレス,第1転送開始アドレス)を、データパターン発生部21により領域Aにテストパターン42が書き込まれた際の書込開始アドレス(即ち領域Aの先頭アドレス)から所定のシフト量αだけシフト(例えば、加算)されたアドレスに決定する。
【0057】
さらに、アドレス/レングス生成部221は、テストパターン42の転送レングスとして領域Bのサイズから所定のシフト量αを減じたサイズを生成(決定)する。即ち、アドレス/レングス生成部221は、転送レングスを、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αを減じたアドレスと、の間の領域のサイズに決定する。
図6に示す例では、アドレス/レングス生成部221は、転送元アドレスを領域Bの先頭アドレスに決定する。また、アドレス/レングス生成部221は、第1転送先アドレスを、図6(b)に示す如く、領域Aの先頭アドレスから所定のシフト量αである24バイトだけシフトされたアドレスに決定する。
【0058】
さらに、アドレス/レングス生成部221は、転送レングスを、図6(a)に示す如く、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αである24バイトを減じたアドレスと、の間の領域のサイズに決定する。
なお、図6において、“a”〜“h”及び“A”〜“H”で示す各ブロックは、それぞれ8バイトの基礎パターン対を示す。上述の如く本実施形態においては、キャッシュサイズをバースト転送の単位転送サイズとしているため、テストパターン転送部22は、キャッシュサイズ32バイトからメモリバス幅(=基礎パターン対サイズ)8バイトを除算した値、即ち4つのブロックを一度のバースト転送で転送する。
【0059】
なお、図6に示す例では、便宜上、テストパターン発生部21により領域Aに書き込まれたテストパターン42を“a”〜“h”で表し、図5に示す転送(1)において領域Bに転送されたテストパターン42を“A”〜“H”で表すが、“a”〜“h”は、それぞれ“A”〜“H”と同一のデータである。従って、図6(a)に示す状態においては、領域A及び領域Bにおけるそれぞれのテストパターン42は同一のものである。
【0060】
また、図6に示す例では、テストパターン42は、便宜上、基礎パターン対“A”〜“H”(“a”〜“h”)の並びを繰り返し循環させたデータとして表すが、これに限定されない。例えば、上述の如く、テストパターン42内の全ての基礎パターン対が、他の基礎パターン対と異なるものとなるように基礎パターンを決定しても良く、一部の基礎パターン対が他の基礎パターン対と同一のものとなるように基礎パターンを決定しても良い。
【0061】
そして、転送処理部222は、図5に示す転送(2)において、領域Bの先頭アドレスを始点とし、領域Bのサイズから所定のシフト量αを減じたサイズ分の連続するデータ(テストパターン42の一部)を、領域Aの先頭アドレスから所定のシフト量αだけシフトされたアドレスを始点とする同一サイズの領域に転送(コピー)する。即ち、転送処理部222は、領域Aの先頭アドレスから所定のシフト量αだけシフトしたアドレスを第1転送先アドレスとして、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αを減じたアドレスとの間の領域のテストパターン42を転送する。
【0062】
図6に示す例では、転送処理部222は、図6(b)及び図6(c)に示す如く、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αである24バイトを減じたアドレスとの間の領域のテストパターン42を転送する。このときの転送先の領域Aの第1転送先アドレスは、領域Aの先頭アドレスから所定のシフト量αである24バイトだけシフトしたアドレスとなる。
【0063】
〔1−2−2〕ステップ2−2(領域Bから領域Aへの転送(3))
一方、アドレス/レングス生成部221は、図5に示す転送(3)において、転送元アドレスを、領域Bの最終アドレスから所定のシフト量αを減じたアドレスに決定し、転送先アドレス(第2転送先アドレス,第2転送開始アドレス)を、領域Aの先頭アドレスに決定する。
【0064】
また、アドレス/レングス生成部221は、テストパターン42の転送レングスを、所定のシフト量αのサイズに決定する。
図6に示す例では、アドレス/レングス生成部221は、図6(c)に示す如く、転送元アドレスを、領域Bの最終アドレスから所定のシフト量αである24バイトを減じたアドレスに決定する。また、アドレス/レングス生成部221は、第2転送先アドレスを、領域Aの先頭アドレスに決定する。
【0065】
さらに、アドレス/レングス生成部221は、図6(d)に示す如く、転送レングスを、所定のシフト量αである24バイトのサイズに決定する。
そして、転送処理部222は、図5に示す転送(3)において、領域Bの最終アドレスから所定のシフト量αを減じたアドレスから、所定のシフト量αのサイズ分のデータ(テストパターン42の一部)を、第2転送先アドレスである領域Aの先頭アドレスに転送する。
【0066】
図6に示す例では、転送処理部222は、図6(d)及び図6(e)に示す如く、領域Bの最終アドレスから所定のシフト量αを減じたアドレスを先頭として、所定のシフト量αのサイズ分のデータ(テストパターン42の一部)を転送する。このときの転送先の領域Aの第2転送先アドレスは、領域Aの先頭アドレスである。
テストパターン転送部22は、転送(3)の転送を行なった後、転送を所定の回数実行したか否かを判断し、所定の回数実行していないと判断した場合には、さらに転送(1)〜(3)の転送を繰り返す。
【0067】
図6に示す例では、テストパターン転送部22は、転送(3)の転送を行なった後(図6(e)参照)、転送を所定の回数実行したか否かを判断し、所定の回数実行していないと判断した場合には、次の転送(1)〜(3)を実行する。このとき、テストパターン転送部22は、次の転送(1)として、図6(e)に示す領域A内のデータを領域Bに転送するとともに(図6(f)参照)、図6(f)に示す試験領域40に対して、上述の如き手順により転送(2)及び(3)を実行する。
【0068】
上述のように、CPU2は、テストパターン転送部22によって、図5に示す転送(1)〜(3)の転送を所定の回数実行することにより、メモリ4の試験領域40に対するメモリ試験を実施する。
このように、テストパターン転送部22が転送(1)〜(3)のバースト転送を1回実行すると、転送後の試験領域40において連続したデータとして表れるデータの並びは、転送前の試験領域40において連続したデータとして表れるデータの並びから所定のシフト量αだけずれることになる(図6(a)及び図6(f)参照)。
【0069】
図6に示す例においては、転送前の試験領域40において連続したデータとして表れるデータの並び、即ちバースト転送の単位転送サイズに収まるデータは、“abcd”及び“efgh”(“ABCD”及び“EFGH”)である。
一方、転送後の試験領域40において連続したデータとして表れるデータの並び、即ちバースト転送の単位転送サイズに収まるデータは、“FGHA”及び“BCDE”となる。
【0070】
従って、テストパターン転送部22がバースト転送(1)〜(3)を所定の回数実行することにより、試験領域40において連続したデータとして表れるデータの並びは、図7に示す8通りとなる。なお、この試験領域40において連続したデータとして表れるデータの並びの種類(数)は、バースト転送の単位転送サイズ(キャッシュ3のキャッシュサイズ),基礎パターン対のサイズ(メモリ4のバス幅),基礎パターンのバリエーション,及び基礎パターン対の配置条件等に応じて異なる。
【0071】
このように、図5に示す転送(2)及び(3)の転送において、転送元と転送先のアドレスを図6に示す所定のシフト量αだけずらす場合、キャッシュ3を跨ぐデータがシフトされるため、バースト転送の境界でデータ転送が中断される位置を可変とすることができる。
例えば、図8(a)に示すように、1回目のバースト転送(1)〜(3)の実行では、バースト転送の境界は“A”と“B”との間及び“E”と“F”との間であるが、図8(b)に示すように、2回目のバースト転送(1)〜(3)の実行では、バースト転送の境界は“B”と“C”との間及び“F”と“G”との間である。
【0072】
このように、本実施形態の一例としてのテストパターン転送部22によれば、転送元と転送先のアドレスを所定のシフト量αだけずらすことにより、転送(1)〜(3)を実行する回数に応じてバースト転送の境界位置を可変とすることができる。即ち、データを転送する際に、転送先アドレスをバースト転送の単位転送サイズからメモリバス幅を引いた値ずらすことで、前後の基礎パターン対がキャッシュ3内で連続する全ての種類のテストパターン42を発生させることができる。
【0073】
従って、メモリ試験において、テストパターン42における隣接する試験データについて、様々な組み合わせでキャッシュ3内で連続したデータとしてバースト転送することができるため、試験精度を向上させることができる。
なお、判定部23による判定は、上述したテストパターン転送部22による転送(1)〜(3)の処理が実施される度に行なうことができる。
【0074】
これにより、判定部23によって、隣接する基礎パターンが等しくないと判定された場合に、エラーを検出した時点で処理を終了することができるため、試験時間の短縮を図ることができるとともに、エラーの発生した試験領域40のアドレスを特定することができる。
また、判定部23による判定は、上述したテストパターン転送部22による転送(1)〜(3)の処理が所定の回数実行された後に行なうこともできる。
【0075】
これにより、判定部23による判定をテストパターン転送部22による転送(1)〜(3)の処理が実施される度に行なう場合と比べて、試験時間の大幅な短縮を図ることができる。
以下、本実施形態においては、判定部23による判定は、上述したテストパターン転送部22による転送(1)〜(3)の処理が所定の回数実行された後に行なうものとして説明する。
【0076】
〔2〕本実施形態の動作
次に、上述の如く構成された本実施形態の一例としてのテストパターン発生部21,テストパターン転送部22,及び判定部23によるメモリ4の試験領域40に対する試験方法を説明する。
図10は、本実施形態の一例としてのメモリ4の試験方法を説明するためのフローチャートである。
【0077】
はじめに、CPU2のテストパターン発生部21により、テストパターン42が生成又はメモリ4等から読み出され、メモリ4の試験領域40のうちの領域Aに書き込まれる(ステップS1)。なお、書き込まれるテストパターン42は、領域Aの容量と同サイズである。また、書込開始アドレスは、領域Aの先頭アドレスである。
次に、テストパターン転送部22によって、領域Aに書き込まれたテストパターン42が領域Bへバースト転送(コピー)される(ステップS2;転送(1))。このときの転送は、領域Aの先頭アドレスを転送元アドレスとし、領域Bの先頭アドレスを転送先アドレスとして、領域Aの容量(=領域Bの容量)と同サイズのテストパターン42を転送することにより行なわれる。
【0078】
次いで、テストパターン転送部22によって、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αを減じたアドレスとの間の領域のテストパターン42が領域Aへバースト転送(コピー)される(ステップS3;転送(2))。このときの転送は、領域Aの先頭アドレスから所定のシフト量αだけシフトしたアドレスを第1転送先アドレスとして、領域Bの容量から所定のシフト量αを減じたサイズのテストパターン42を転送することにより行なわれる。
【0079】
また、テストパターン転送部22によって、領域Bの最終アドレスから所定のシフト量αを減じたアドレスと、領域Bの最終アドレスとの間の領域のテストパターン42が領域Aへバースト転送(コピー)される(ステップS4;転送(3))。このときの転送は、領域Aの先頭アドレスを第2転送先アドレスとして、所定のシフト量αのサイズのテストパターン42を転送することにより行なわれる。
【0080】
そして、テストパターン転送部22により、ステップS2〜S4(転送(1)〜(3))の一連の処理が予め指定された回数実施されたか否かが判定される(ステップS5)。
ステップS2〜S4の一連の処理が予め指定された回数実施されていない場合には(ステップS5のNoルート)、ステップS2の処理に戻る。
一方、予め指定された回数実施された場合には(ステップS5のYesルート)、判定部23により、試験領域40に転送されたテストパターン42における基礎パターン対について、隣り合わせて配設された基礎パターン同士が比較され、これら基礎パターン同士が等しいか否かが判定される(ステップS6)。
【0081】
このとき、判定部23により、比較対象の基礎パターン対を示す比較領域に基づいて、比較領域のうちの前半の基礎パターンと後半の基礎パターンとが等しいか否かが判断される。なお、比較領域は、試験領域40の先頭アドレスと、試験領域40の先頭アドレスから基礎パターン対のサイズ分シフトしたアドレスとの間の領域が初期値となる。
判定部23により、比較領域に対応する基礎パターン対の基礎パターン同士が等しくないと判定された場合には(ステップS6のNoルート)、判定部23により、メモリ4におけるデータの転送に障害が発生していると判断され、エラーメッセージが出力される(ステップS7)。
【0082】
一方、判定部23により、比較領域に対応する基礎パターン対の基礎パターン同士が等しいと判定された場合には(ステップS6のYesルート)、判定部23により、ステップS6における比較を試験領域40の全ての領域について行なったか否かが判断される(ステップS8)。この判断は、例えば判定部23により、比較領域が示すアドレスが試験領域40の最終アドレスを示すか否かが判断されることにより行なわれる。
【0083】
判定部23により、ステップS6における比較を試験領域40の全ての領域について行なっていないと判断された場合には(ステップS8のNoルート)、判定部23により、比較領域が更新され(ステップS9)、ステップS6の処理に戻る。このとき、ステップS6においては、更新された比較領域に基づいて、当該比較領域に対応する基礎パターン対の基礎パターン同士が比較される。
【0084】
なお、ステップS9の処理における比較領域の更新は、比較領域のアドレスに基礎パターン対のサイズ(8バイト)が加算されることにより行なわれる。
一方、判定部23により、ステップS6における比較を試験領域40の全ての領域について行なったと判断された場合には(ステップS8のYesルート)、判定部23により、メモリ試験による試験領域40に対するデータの転送が正常であると判断され、処理が終了する。処理の終了後、試験領域40に転送されたテストパターン42は、上述の如く、シフトパターン421やノイズパターン422のデータとして、その後の種々の検証に用いることができる。
【0085】
上述のように、本実施形態の一例としてのテストパターン発生部21によれば、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含むテストパターン42が生成される。また、本実施形態の一例としての判定部23によれば、テストパターン転送部22によって試験領域40に転送されたテストパターン42におけるそれぞれの基礎パターン対について、隣り合わせて配設された基礎パターン同士が比較される。
【0086】
このように、各基礎パターン対における隣接する基礎パターン同士を同じ値にすることにより、試験領域40内でテストパターン42の転送が繰り返し行なわれた場合でも、転送されたデータの正常性を保証することができる。
従って、隣接する基礎パターン同士が同じデータであるか否かを判断するだけで、試験領域40に対するデータの転送が正常に行なわれたか否かを判断することができる。これにより、バースト転送を繰り返した結果データと予めシミュレーションした期待値データとを比較する処理や、バースト転送を行なう毎に転送元のデータと転送先のデータとを比較する処理が不要となり、試験時間の短縮を図ることができる。
【0087】
また、本実施形態の一例としてのテストパターン転送部22によれば、第2領域40Bに転送されたテストパターン42が、第1領域40Aにテストパターン42が書き込まれた際の書込開始アドレスから所定のシフト量αだけシフトされたアドレスを転送先アドレスとして、領域Aに転送される。
このように、転送元と転送先のアドレスを所定のシフト量αだけずらすことにより、転送(1)〜(3)を実行する回数に応じてバースト転送の境界位置を可変とすることができる。即ち、データを転送する際に、転送先アドレスをバースト転送の単位転送サイズからメモリバス幅を引いた値ずらすことで、前後の基礎パターン対がキャッシュ3内で連続する全ての種類のテストパターン42を発生させることができる。
【0088】
従って、メモリ試験において、テストパターン42における隣接する試験データについて、様々な組み合わせでキャッシュ3内で連続したデータとしてバースト転送することができるため、試験精度を向上させることができる。
さらに、本実施形態の一例としての各基礎パターン対は、同一の基礎パターンを隣り合わせて配設されている。また、テストパターン発生部21が初めに用意したテストパターン42を、バースト転送の境界位置を可変としてバースト転送をすることができる。
【0089】
従って、バースト転送の境界位置を変更した複数のテストパターンを生成することなく、テストパターン42を所定の回数転送することで様々な組み合わせでキャッシュ3内で連続したデータとしてバースト転送することができる。
このため、テストパターン発生部21によるテストパターンの生成,及び判定部23によるデータの比較時間を短縮することができる。
【0090】
〔3〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、本実施形態において、テストパターン転送部22は、転送(2)(図10に示すステップS3)を実行した後に、転送(3)(図10に示すステップS4)を実行するものとして説明したが、これに限定されない。例えば、テストパターン転送部22は、転送(3)(図10に示すステップS4)を実行した後に、転送(2)(図10に示すステップS3)を実行しても良い。
【0091】
また、本実施形態において、所定のシフト量αは、バースト転送の単位転送サイズとメモリバス幅との差分値であると説明したが、これに限定されず、所定のシフト量αをメモリバス幅としても良い。
さらに、本実施形態において、バースト転送によるデータの分割数を4つとして説明したが、これに限定されず、キャッシュ3のキャッシュサイズとメモリ4のバス幅とに応じて、任意の値とすることができる。
【0092】
また、本実施形態において、基礎パターン対を8バイトとし、基礎パターンを4バイトとして説明したが、これに限定されず、メモリ4のバス幅に応じて、基礎パターン対及び基礎パターンのサイズを決定することができる。例えば、メモリ4のバス幅が16バイトであれば、基礎パターンをメモリバス幅の半分の8バイトとし、基礎パターン対はこの基礎パターンを2つ隣り合わせた16バイトとすることができる。
【0093】
さらに、本実施形態において、処理部であるCPU2によって、メモリ4の試験領域40にテストパターン42がバースト転送されるものとして説明したが、これに限定されるものではない。例えば、情報処理装置1が処理部としてDMA(Direct Memory Access)コントローラを備え、DMAコントローラにテストパターン発生部21及びテストパターン転送部22としての動作を実行させても良い。
【0094】
これにより、CPU2がテストパターン発生部21及びテストパターン転送部22としての機能を持つ場合と比べて、CPU2の負荷を抑えることができる。
なお、これらのテストパターン発生部(発生部)21,テストパターン転送部(転送部)22,アドレス/レングス生成部221,転送処理部222,及び判定部23としての機能を実現するためのプログラム(試験プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしても良い。
【0095】
テストパターン発生部21,テストパターン転送部22,アドレス/レングス生成部221,転送処理部222,及び判定部23としての機能を実現する際には、内部記憶装置(本実施形態では情報処理装置1のメモリ(記憶部)4及びI/O装置5等)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態では情報処理装置1のCPU(処理部)2)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしても良い。
【0096】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。また、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、情報処理装置1がコンピュータとしての機能を有しているのである。
【0097】
〔4〕付記
そして、本発明は、以下に示すように要約することができる。
(付記1)
処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、試験方法。
【0098】
(付記2)
前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送を所定の回数実行するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、付記1記載の試験方法。
【0099】
(付記3)
前記テストパターンは、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含み、
前記基礎パターン同士の比較は、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおけるそれぞれの基礎パターン対について、前記隣り合わせて配設された基礎パターン同士を比較することにより行なわれることを特徴とする、付記1又は付記2記載の試験方法。
【0100】
(付記4)
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、付記1〜3のいずれか1つに記載の試験方法。
(付記5)
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、付記4記載の試験方法。
【0101】
(付記6)
前記第1領域と前記第2領域とは同じ容量の領域であり、
前記生成されるテストパターンは、前記第1領域又は前記第2領域の容量と同サイズであるとともに、
前記テストパターンの前記第1領域への書き込みは、前記第1領域の先頭アドレスを前記書込開始アドレスとして、前記テストパターンを書き込むことにより行なわれ、
前記第1領域に書き込まれたテストパターンの前記第2領域への転送は、前記第2領域の先頭アドレスを転送開始アドレスとして、前記テストパターンを転送することにより行なわれるとともに、
前記第2領域に転送されたテストパターンの前記第1領域への転送は、前記第1領域の先頭アドレスから前記所定のシフト量だけシフトしたアドレスを第1転送開始アドレスとして、前記第2領域の先頭アドレスと、前記第2領域の最終アドレスから前記所定のシフト量を減じたアドレスとの間の領域のテストパターンを転送する一方、前記第1領域の先頭アドレスを第2転送開始アドレスとして、前記第2領域の最終アドレスから前記所定のシフト量を減じたアドレスと、前記第2領域の最終アドレスとの間の領域のテストパターンを転送することにより行なわれることを特徴とする、付記1〜5のいずれか1つに記載の試験方法。
【0102】
(付記7)
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が所定の回数実行された後に行なわれることを特徴とする、付記1〜6のいずれか1つに記載の試験方法。
(付記8)
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が実行される毎に行なわれることを特徴とする、付記1〜6のいずれか1つに記載の試験方法。
【0103】
(付記9)
処理部と記憶部とを有する情報処理装置において、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2試験領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、
処理を前記情報処理装置に実行させる、試験プログラム。
【0104】
(付記10)
前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送を所定の回数実行するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、付記9記載の試験プログラム。
【0105】
(付記11)
前記テストパターンは、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含み、
前記基礎パターン同士の比較は、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおけるそれぞれの基礎パターン対について、前記隣り合わせて配設された基礎パターン同士を比較することにより行なわれることを特徴とする、付記9又は付記10記載の試験プログラム。
【0106】
(付記12)
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、付記9〜11のいずれか1つに記載の試験プログラム。
(付記13)
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、付記12記載の試験プログラム。
【0107】
(付記14)
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が所定の回数実行された後に行なわれることを特徴とする、付記9〜13のいずれか1つに記載の試験プログラム。
(付記15)
処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、
前記処理部は、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込む発生部と、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送する転送部と、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えることを特徴とする、試験装置。
【符号の説明】
【0108】
1 情報処理装置
2 CPU(処理部)
21 テストパターン発生部(発生部)
22 テストパターン転送部(転送部)
221 アドレス/レングス生成部
222 転送処理部
23 判定部
3 キャッシュ
4 メモリ(記憶部)
40 試験領域
400 試験領域
40A 領域(領域A,第1領域)
400A 領域(領域A)
40B 領域(領域B,第2領域)
400B 領域(領域B)
41 試験プログラム
42 テストパターン
421 シフトパターン
422 ノイズパターン
5 I/O装置
6 メモリ制御部
7 I/O制御部
【技術分野】
【0001】
本件は、情報処理装置で用いられる記憶装置の試験を行なう試験方法,試験プログラム,及び試験装置に関する。
【背景技術】
【0002】
サーバ等のコンピュータシステムでは、RAM(Random Access Memory)等のメモリ(記憶装置)に対して、メモリ試験が行なわれることがある(例えば、特許文献1及び2)。メモリ試験としては、例えば、電圧変動及びノイズマージン不足等の要因によるメモリ障害の検出を目的としたものがある。このメモリ試験では、試験を短時間で行なうため、加速試験によりメモリに負荷を与えることが知られている。
【0003】
加速試験としては、例えば、単位時間当たりのメモリへのデータの転送量を増やすことや、メモリ全てを試験する代わりにメモリ内の異なった代表のアドレス先へ偏りなくデータを転送することが挙げられる。
上述した加速試験を実現するための有効な手段の1つとして、ブロック転送が知られている。ブロック転送においては、下記のような手法が用いられている。
【0004】
例えば、ブロック転送においては、データの転送によってデータが壊れていないか否かを検出するため、転送元のデータと転送先のデータとを比較する手法が用いられている。
また、ブロック転送を行なう場合、メモリへ負荷を掛ける目的で転送を複数回繰り返すが、同じメモリの領域への同一データの書き込みを避けるため、転送元のアドレスと転送先のアドレスとをずらす手法が用いられている。
【0005】
なお、転送元のアドレスと転送先のアドレスとをずらす値としては、例えば、CPU(Central Processing Unit)のキャッシュサイズ分の値が挙げられる。転送元のアドレスと転送先のアドレスとをCPUのキャッシュサイズ分ずらす場合、キャッシュ内のデータがバースト転送により連続転送される。
なお、バースト転送とは、CPUのキャッシュサイズをメモリのバス幅で除算した回数に分けて、キャッシュ内のデータを連続転送する機能である。例えば、CPUのキャッシュサイズが32バイト(Byte)であり、メモリのバス幅が8バイトである場合、キャッシュ内の32バイトのデータは、8バイトずつ4回に分けて連続転送される。
【0006】
バースト転送中は、データの転送が中断されることはなく、キャッシュ内のデータの連続性が保証される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平5−334899号公報
【特許文献2】特開2002−343097号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
近年、コンピュータシステムの大規模化及び大容量化の要求に伴い、メモリ容量は増加の一途をたどっている。従来のメモリ障害の検出を目的としたメモリ試験手法では、メモリ容量の増加に起因して、試験時間が増加している。
一方、電圧変動及びノイズマージン不足等の要因によるメモリ障害の検出を目的とした試験では、試験を短時間で行なうことが要求される。
【0009】
上述したブロック転送を用いたメモリ試験では、試験を短時間で実行させることや試験精度を向上させることについて、以下の(i)〜(iii)に示す問題が挙げられる。
(i)転送元のデータと転送先のデータとを比較する方法では、転送元及び転送先のデータが一致するか否かを判断するが、データそのものが壊れているか否かまでは検出することができない。例えば、データを転送する前に転送元のデータが既に壊れていた場合、壊れたデータを転送先に書き込むことになり、データを比較しても障害を検出することができない。
【0010】
図11は、メモリの記憶領域の転送元及び転送先のデータ比較後に転送元のデータが壊れた場合の、データ転送及び比較の結果を示す図である。
例えば、図11に示すように、転送元及び転送先のデータを比較して(図11中、左上)互いに一致していることが検出された後、転送元のデータにエラーが発生した場合、壊れたデータが転送先に転送される(図11中、右上)。このとき、転送元及び転送先には、いずれも壊れたデータが保持されているため、転送元及び転送先のデータを比較して(図11中、左下)一致していることが検出される。
【0011】
従って、転送元及び転送先のデータ比較後に転送元のデータが壊れた場合、転送元及び転送先のデータ比較では、エラーが検出されない(図11中、右下)。
(ii)転送を複数回繰り返した後、試験領域(転送元/転送先)のデータが正常であること、即ち転送が正常に行なえたことを保証するためには、予めブロック転送をシミュレーションしておき、期待値のデータを用意しておく必要がある。そのためには、大量のデータ(期待値のデータ等)を外部記憶装置等から読み込んで比較を行なうため、比較に多くの時間を要する。
【0012】
また、転送元のデータと転送先のデータとを、転送を行なう都度比較するため、比較に多くの時間を要する。
(iii)転送元と転送先のアドレスをキャッシュサイズ分ずらす場合、キャッシュ内のデータはバースト転送により必ず連続転送されるが、キャッシュを跨ぐデータはバースト転送の境界でデータの転送が中断されてしまう。ノイズパターンを使用した試験では、転送する前後のデータが連続することにより、有効な試験を行なうことができる。従って、キャッシュを跨ぐデータは、バースト転送の境界でデータ転送が中断されてしまうため、試験精度が低下する。
【0013】
なお、ノイズパターンとは複数のデータが集まったことによるノイズマージンを検証するデータであり、例えば、クロストークノイズを発生させ易い“5555…(H)”と“AAAA…(H)”とを交互に発生させたデータ等が挙げられる。
図12は、メモリのバス幅を8バイト、バースト転送単位を32バイトとし、転送先と転送元のアドレスをバースト転送単位ずらすバースト転送を行なった際の、メモリの記憶領域内のデータの配置を示す図である。
【0014】
図13は、図12に示すバースト転送を行なった際に発生するデータパターンを示す図であり、図14は、図12に示すバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
図12〜図14において、“a”から“h”及び“A”から“H”で示すブロックは、それぞれ8バイトの単位パターンを示す。上述の如く、キャッシュサイズをバースト転送の単位転送サイズとしているため、CPUは、キャッシュサイズ32バイトからメモリバス幅(=単位パターンサイズ)8バイトを除算した値、即ち4つのブロックを一度のバースト転送で転送する。
【0015】
図12に示す例では、メモリの記憶領域のうちの試験領域400において、転送元の領域400B内のデータを転送先の領域400Aにバースト転送する。このとき、領域400Aにデータを転送する開始アドレスは、領域400Aの先頭アドレスからバースト転送単位(32バイト)ずらしたアドレスとなる。
従って、図12中、転送前の領域400Aにおける、“e”で示すブロックのアドレスを転送開始アドレスとして、領域400B内のデータが32バイト単位でバースト転送される。
【0016】
このように、バースト転送の際に転送先のアドレスをバースト転送単位ずらす場合、連続したデータとして表れるデータの並びは、図13に示す“ABCD”及び“EFGH”の2通りのみとなる。
例えば、図14に示すように、バースト転送の実行により、バースト転送の境界は“A”と“H”との間及び“D”と“E”との間である。従って、複数回バースト転送を繰り返しても、これらのバースト転送の境界では、データの転送が中断される。
【0017】
このように、転送元と転送先のアドレスをキャッシュサイズ分ずらす場合、キャッシュを跨ぐデータは、バースト転送の境界でデータ転送が中断されてしまうため、試験精度が低下する。
上述の点に鑑み、本件の目的の一つは、情報処理装置の記憶部に対する試験にかかる時間を短縮することである。
【0018】
また、本件の目的の一つは、情報処理装置の記憶部に対する試験精度を向上することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【0019】
本件の試験方法は、処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込み、前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証するものである。
【0020】
また、本件の試験プログラムは、処理部と記憶部とを有する情報処理装置において、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第1領域に書き込み、前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、処理を前記情報処理装置に実行させるものである。
【0021】
さらに、本件の試験装置は、処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、前記処理部は、同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込む発生部と、前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送する転送部と、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えるものである。
【発明の効果】
【0022】
開示の技術によれば、情報処理装置の記憶部に対する試験にかかる時間を短縮することができる。
また、開示の技術によれば、情報処理装置の記憶部に対する試験精度を向上することができる。
【図面の簡単な説明】
【0023】
【図1】本実施形態の一例としての情報処理装置のハードウェアの構成例を示す図である。
【図2】本実施形態の一例としての情報処理装置の機能構成例を示すブロック図である。
【図3】本実施形態の一例としてのメモリ試験に用いられるシフトパターンの一例を示す図である。
【図4】本実施形態の一例としてのメモリ試験に用いられるノイズパターンの一例を示す図である。
【図5】本実施形態の一例としてのテストパターン転送部によるバースト転送手順を説明するための図である。
【図6】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際のメモリの試験領域内のデータの配置を示す図である。
【図7】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際に発生するデータパターンを示す図である。
【図8】本実施形態の一例としてのテストパターン転送部がバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
【図9】本実施形態の一例としての判定部によるメモリの試験領域内の隣接するデータの比較を示す図である。
【図10】本実施形態の一例としてのメモリの試験方法を説明するためのフローチャートである。
【図11】メモリの試験領域の転送元及び転送先のデータ比較後に転送元のデータが壊れた場合の、データ転送及び比較の結果を示す図である。
【図12】バースト転送を行なった際のメモリの記憶領域内のデータの配置を示す図である。
【図13】バースト転送を行なった際に発生するデータパターンを示す図である。
【図14】バースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施の形態を説明する。
〔1〕本実施形態の構成
図1は、本実施形態の一例としての情報処理装置1のハードウェアの構成例を示す図であり、図2は、本実施形態の一例としての情報処理装置1の機能構成例を示す図である。
図1に示す情報処理装置1は、メモリ障害の検出を目的とした試験をブロック転送を用いてメモリ(記憶部)4の試験領域40に対して行なう。
【0025】
ここで、情報処理装置1は、CPU(処理部)2,及び上述したメモリ4を備えるとともに、CPU2とメモリ4との間で転送されるデータ及びそのデータの参照情報を保持するキャッシュ3,並びにCPU2からメモリ4へのアクセスを制御するメモリ制御部6を備える。また、情報処理装置1は、HDD(Hard Disk Drive)等のI/O装置5,及びI/O装置5とCPU2との間の入出力制御を行なうI/O制御部7を備える。
【0026】
本実施形態においては、キャッシュ3のキャッシュサイズが32バイトである場合について例示する。
メモリ4は、図2に示すように、CPU2によってメモリ試験が行なわれる対象の領域である試験領域40を含む。以下、メモリ試験に用いられる試験領域40の前半の領域を領域(第1領域)40Aといい、試験領域40の後半の領域を領域(第2領域)40Bという。
【0027】
領域40Aの容量と領域40Bの容量とは、同じであることが好ましく、本実施形態においては、領域40Aの容量と領域40Bの容量とが同じものとして説明する。以下、領域40Aを単に領域Aといい、領域40Bを単に領域Bという。
また、メモリ4は、バス幅が8バイトのバスによってCPU2と接続される。なお、メモリ4としては、例えばRAMが挙げられる。
【0028】
本実施形態においては、情報処理装置1は、CPU2がI/O装置5に格納された試験プログラム41をメモリ4に読み込んで実行することで、メモリ4の試験領域40に対する試験が実施される。なお、情報処理装置1は、CPU2により、メモリ4の試験領域40に対する書き込み及び読み出しを正しく行なえるか否かを試験する。
CPU2は、メモリ試験において、メモリ4の試験領域40に対するデータの書き込みをバースト転送によって行なう。本実施形態においては、バースト転送は、CPU2がキャッシュサイズの32バイトを4回に分けてメモリバス幅の8バイトずつ連続転送することによって行なわれる。
【0029】
また、図2に示すように、CPU2は、テストパターン発生部(発生部)21,テストパターン転送部(転送部)22,及び判定部23としての機能を備える。
テストパターン発生部21は、隣接した基礎パターンが同一である基礎パターン対、即ち同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターン42を生成し、試験領域40のうちの領域Aに書き込む。このとき、テストパターン発生部21は、領域Aの先頭アドレスを書込開始アドレスとして、テストパターン42を書き込む。
【0030】
なお、テストパターン42は、基礎パターン対を複数含んでも良い。以下、テストパターン42が、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含む場合について例示する。
テストパターン42としては、例えば図3に示すシフトパターン421や図4に示すノイズパターン422が挙げられる。
【0031】
図3は、本実施形態の一例としてのメモリ試験に用いられるシフトパターン421の一例を示す図であり、図4は、本実施形態の一例としてのメモリ試験に用いられるノイズパターン422の一例を示す図である。なお、図3及び図4中の数値は全て16進数表記である。
シフトパターン421は、図3に示すように、“0〜7”バイト,“8〜F”バイト,“10〜17”バイト等のように、メモリ4のバス幅と同じ8バイト長の基礎パターン対を複数含む。8バイト長のそれぞれの基礎パターン対は、同一の4バイトの基礎パターンを隣り合わせて配設される。例えば、“8〜F”バイト目の基礎パターン対は、データ列“00000001(H)”の4バイトの基礎パターンが、前半4バイトの“8〜B”バイトと、後半4バイトの“C〜F”バイトとに配設されたパターンである。
【0032】
図3に示すシフトパターン421は、“0〜7”バイトの基礎パターン対における“7”バイト目は、“00(H)”(“00000000(2)”)であり、“8〜F”バイトの基礎パターン対における“F”バイト目は、“01(H)”(“00000001(2)”)である。また、“10〜17”バイトの基礎パターン対における“17”バイト目は、“02(H)”(“00000010(2)”)であり、“18〜1F”バイトの基礎パターン対における“1F”バイト目は、“04(H)”(“00000100(2)”)である。さらに、“20〜27”バイトの基礎パターン対における“27”バイト目は、“08(H)”(“00001000(2)”)であり、“28〜2F”バイトの基礎パターン対における“2F”バイト目は、“10(H)”(“00010000(2)”)である。
【0033】
このように、図3に示すシフトパターン421は、基礎パターン対毎に、基礎パターン内の値のうちの“1(2)”がセットされたビットを二進数で1ビットずつ左にシフトしたものである。
なお、シフトパターン421は、図3に示すものに限定されず、例えば、最初の基礎パターン対(“0〜7”バイト)における基礎パターン内の値に“1(2)”がセットされていても良い。また、基礎パターン対毎に、基礎パターン内の値のうちの“1(2)”がセットされたビットを二進数で少なくとも1ビットずつ右又は左にシフトしたものであっても良い。さらに、基礎パターン内に“1(2)”がセットされたビットが2つ以上あっても良い。
【0034】
また、図3に示すシフトパターン421は、“xx0〜xx7”バイトの基礎パターン対における“xx4”バイト目は、“80(H)”(“10000000(2)”)であり、“xx8〜xxF”バイトの基礎パターン対における“xxF”バイト目は、“04(H)”(“00001000(2)”)であるが、これに限定されない。
例えば、図3に示すシフトパターン421における、“0〜7”バイトの基礎パターン対から“xx0〜xx7”バイトの基礎パターン対までを1つのセットとして、このセットを複数連続させてシフトパターン421を形成しても良い。従って、この場合、“xx8〜xxF”バイトの基礎パターン対における“xxF”バイト目は、“00(H)”(“00000000(2)”)としても良い。
【0035】
または、シフトパターン421における全ての基礎パターン対のそれぞれが、他の基礎パターン対と異なるように基礎パターンを決定しても良い。従って、この場合、“xx8〜xxF”バイトの基礎パターン対における“xxF”バイト目は、例えば“11(H)”(“00010001(2)”)としても良い。なお、一部の基礎パターン対が他の基礎パターン対と同一のものとなるように基礎パターンを決定しても良い。
【0036】
図4に示すノイズパターン422も、図3に示すシフトパターン421と同様に、メモリ4のバス幅と同じ8バイト長の基礎パターン対を複数含み、それぞれの基礎パターン対は、同一の4バイトの基礎パターンを隣り合わせて配設される。即ち、4バイトの基礎パターンを2つ隣り合わせて8バイトのバウンダリとした基礎パターン対が、8バイトのバス幅のメモリバスを転送されることになる。
【0037】
図4に示すノイズパターン422は、“0〜7”バイトの基礎パターン対における“7”バイト目は、“55(H)”(“01010101(2)”)であり、“8〜F”バイトの基礎パターン対における“F”バイト目は、“AA(H)”(“10101010(2)”)である。
このように、図4に示すノイズパターン422は、基礎パターンに“0(2)”と“1(2)”とが交互にセットされたチェッカーパターンであり、基礎パターン対毎に、基礎パターン内の値のうちの“1(2)”がセットされたビットを二進数で1ビットずつ左又は右にシフトしたものである。
【0038】
なお、ノイズパターン422は、図4に示すものに限定されず、例えば、“0〜7”バイトの基礎パターン対における“7”バイト目は、“00(H)”(“00000000(2)”)であり、“8〜F”バイトの基礎パターン対における“F”バイト目は、“FF(H)”(“11111111(2)”)であっても良い。即ち、ノイズパターン422は、基礎パターン対毎に、交互に“0(2)”と“1(2)”とがセットされても良い。
【0039】
なお、シフトパターン421及びノイズパターン422は、いずれも、上述した基礎パターン対を一部だけに含み、他のパターンは任意のものとしても良い。
試験領域40内のテストパターン42は、テストパターン発生部21によるテストパターンの発生と、後述するテストパターン転送部22による転送とが終了すると、以下の検証に用いられる。
【0040】
テストパターン42としてシフトパターン421を用いた場合は、試験領域40内のシフトパターン421は、例えばメモリ4のセル間リーク等の検証に用いて好適である。
一方、テストパターン42としてノイズパターン422を用いた場合は、試験領域40内のノイズパターン422は、ノイズマージンの検証に用いて好適である。
また、テストパターン42は、本実施形態においては、領域A又は領域Bの領域の容量と同じサイズのデータである。
【0041】
なお、テストパターン発生部21は、領域Aに書き込むテストパターン42を、情報処理装置1に備えられた図示しないユーザインタフェースを介してユーザによって任意に指定(パターンを入力)されて生成しても良いし、予め試験プログラム41に含まれるテストパターン42を読み出しても良い。また、テストパターン発生部21は、領域Aに書き込むテストパターン42を、予め用意された基礎パターンを任意に組み合わせて生成しても良い。
【0042】
テストパターン転送部22は、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を、領域Aと領域Bとの間で所定の回数転送する。
このテストパターン転送部22は、アドレス/レングス生成部221及び転送処理部222を備える。
アドレス/レングス生成部221は、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を領域Aと領域Bとの間で転送するための、転送元の領域における転送元アドレスと、転送先の領域における転送先アドレス(転送開始アドレス)と、転送するテストパターン42の長さ(転送レングス)とを生成(算出,決定)する。
【0043】
また、アドレス/レングス生成部221は、領域Bから領域Aへテストパターン42を転送する際には、転送元アドレスと転送先アドレスとを所定のシフト量αだけずらすように、転送元アドレス,転送先アドレス,及びテストパターン42の転送レングスを生成する。
転送処理部222は、アドレス/レングス生成部221により生成された転送元アドレス,転送先アドレス,及びテストパターン42の転送レングスに基づいて、領域Aと領域Bとの間でテストパターン42を転送する。具体的には、転送処理部222は、転送元の領域における転送元アドレスを始点とする転送レングス分の領域に書き込まれているデータを複写して、転送先アドレスを始点とする転送レングス分の領域に上書き(転写)する。
【0044】
このように、テストパターン転送部22は、アドレス/レングス生成部221及び転送処理部222によって、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を、領域Aと領域Bとの間で所定の回数繰り返し転送する。
テストパターン転送部22の具体的な機能については、後述する。
判定部23は、テストパターン転送部22によってテストパターン42の転送が行なわれた領域A及び領域B、即ち試験領域40におけるデータの正常性を検証する。つまり、判定部23は、試験領域40に対する書き込み及び読み出しを正しく行なえるか否かを検証する。
【0045】
具体的には、判定部23は、領域Aあるいは領域Bの一方から他方に転送されたテストパターン42における基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、隣り合わせて配設された基礎パターン同士が等しいか否かを判定する。
図9は、本実施形態の一例としての判定部23によるメモリ4の試験領域40内の隣接するデータの比較を示す図である。
【0046】
判定部23は、図9に示すように、試験領域40に転送されたテストパターン42におけるそれぞれの基礎パターン対について、隣り合わせて配設された基礎パターン同士を比較して二つの基礎パターンが同一か否かを判定する。
判定部23がテストパターン42における全ての基礎パターン対について、各基礎パターン対の二つの基礎パターンが同一であると判定した場合は、判定部23は、メモリ4におけるデータの転送は正常であると判断する。
【0047】
なお、転送部22による所定の回数の転送が終了し、判定部23によりデータの転送は正常であると判定された場合、試験領域40に転送されたテストパターン42は、シフトパターン421やノイズパターン422のデータとして、上述の如き種々の検証に用いることができる。これらの種々の検証については、既知の手法を用いることができるため、その説明は省略する。
【0048】
一方、判定部23がいずれかの基礎パターン対の二つの基礎パターンが同一でないと判定した場合は、判定部23は、メモリ4におけるデータの転送に障害が発生していると判断し、エラーを出力する。エラーの出力方法としては、例えば情報処理装置1の図示しないモニタにエラーメッセージを表示したり、I/O装置5のHDD等にエラーログを格納することが挙げられる。
【0049】
次に、本実施形態の一例としてのテストパターン転送部22の具体的な機能を、図5〜図8を用いて説明する。
図5は、本実施形態の一例としてのテストパターン転送部22によるバースト転送手順を説明するための図である。図5において(1)が付された矢印は、テストパターン転送部22による領域Aから領域Bへのバースト転送を示し、(2)及び(3)が付された矢印は、領域Bから領域Aへのバースト転送を示す。
【0050】
また、図6は、本実施形態の一例としてのテストパターン転送部22がバースト転送を行なった際のメモリ4の試験領域40内のデータの配置を示す図である。
なお、図6(a)は、テストパターン転送部22によるバースト転送(1)が実行された場合の試験領域40を示す図であり、図6(b)は、テストパターン転送部22によるバースト転送(2)における転送データ及び転送先位置を示す図である。また、図6(c)は、テストパターン転送部22によるバースト転送(2)が実行された場合の試験領域40を示す図であり、図6(d)は、テストパターン転送部22によるバースト転送(3)における転送データ及び転送先位置を示す図である。さらに、図6(e)は、テストパターン転送部22によるバースト転送(3)が実行された場合の試験領域40を示す図であり、図6(f)は、図6(e)に示す試験領域40においてテストパターン転送部22によるバースト転送(1)が実行された場合の試験領域40を示す図である。
【0051】
さらに、図7は、本実施形態の一例としてのテストパターン転送部22がバースト転送を行なった際に発生するデータパターンを示す図であり、図8は、本実施形態の一例としてのテストパターン転送部22がバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。
なお、図8(a)は、テストパターン転送部22が図6(a)〜図6(e)に示す1回目のバースト転送を行なった際に転送される、バースト転送単位のデータを示す図である。また、図8(b)は、テストパターン転送部22が図6(e)に示す試験領域40において、図6(f)に示すバースト転送(1)及びその後のバースト転送(2)〜(3)(2回目のバースト転送)を行なった際に転送される、バースト転送単位のデータを示す図である。
【0052】
テストパターン転送部22は、アドレス/レングス生成部221及び転送処理部222によって、図5に示す転送(1)〜(3)の一連の転送を所定の回数繰り返す。以下、テストパターン転送部22によるテストパターン42の領域Aから領域Bへの転送(1)をステップ1とし、領域Bから領域Aへの転送(2),(3)をステップ2として説明する。
【0053】
〔1−1〕ステップ1(領域Aから領域Bへの転送(1))
アドレス/レングス生成部221及び転送処理部222は、テストパターン発生部21によって領域Aに書き込まれたテストパターン42を、図5に示す転送(1)において領域Bに転送する。
アドレス/レングス生成部221は、転送(1)において、転送元アドレスを領域Aの先頭アドレスに決定し、転送先アドレスを領域Bの先頭アドレスに決定するとともに、テストパターン42の転送レングスを領域Aのサイズ(=領域Bのサイズ)に決定する。
【0054】
転送処理部222は、アドレス/レングス生成部221により生成された転送元アドレス,転送先アドレス及び転送レングスに基づいて、領域Aの先頭アドレスを始点として領域Aのサイズ分のデータ(テストパターン42)を、領域Bの転送先アドレスを始点として領域Bのサイズ分の領域に転送(コピー)する。
〔1−2〕ステップ2(領域Bから領域Aへの転送(2)(3))
アドレス/レングス生成部221及び転送処理部222は、図5に示す転送(2)及び(3)において、領域Bに転送されたテストパターン42を領域Aに転送する。
【0055】
このとき、上述のように、アドレス/レングス生成部221は、領域Bから領域Aへテストパターン42を転送する際には、所定のシフト量αに基づいて、転送元アドレス,転送先アドレス,及びテストパターン42の転送レングスを生成する。
所定のシフト量αは、例えば、CPU2によるメモリ4の試験領域40に対するテストパターン42の単位転送サイズ(本実施形態においてはバースト転送サイズ)とメモリ4のバス幅との差分値となる。
【0056】
従って、本実施形態における所定のシフト量αは、バースト転送サイズの32バイトとメモリバス幅の8バイトとの差分値である24バイトとなる。
〔1−2−1〕ステップ2−1(領域Bから領域Aへの転送(2))
アドレス/レングス生成部221は、転送(2)において、転送元アドレスを領域Bの先頭アドレスに決定する。また、アドレス/レングス生成部221は、転送先アドレス(第1転送先アドレス,第1転送開始アドレス)を、データパターン発生部21により領域Aにテストパターン42が書き込まれた際の書込開始アドレス(即ち領域Aの先頭アドレス)から所定のシフト量αだけシフト(例えば、加算)されたアドレスに決定する。
【0057】
さらに、アドレス/レングス生成部221は、テストパターン42の転送レングスとして領域Bのサイズから所定のシフト量αを減じたサイズを生成(決定)する。即ち、アドレス/レングス生成部221は、転送レングスを、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αを減じたアドレスと、の間の領域のサイズに決定する。
図6に示す例では、アドレス/レングス生成部221は、転送元アドレスを領域Bの先頭アドレスに決定する。また、アドレス/レングス生成部221は、第1転送先アドレスを、図6(b)に示す如く、領域Aの先頭アドレスから所定のシフト量αである24バイトだけシフトされたアドレスに決定する。
【0058】
さらに、アドレス/レングス生成部221は、転送レングスを、図6(a)に示す如く、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αである24バイトを減じたアドレスと、の間の領域のサイズに決定する。
なお、図6において、“a”〜“h”及び“A”〜“H”で示す各ブロックは、それぞれ8バイトの基礎パターン対を示す。上述の如く本実施形態においては、キャッシュサイズをバースト転送の単位転送サイズとしているため、テストパターン転送部22は、キャッシュサイズ32バイトからメモリバス幅(=基礎パターン対サイズ)8バイトを除算した値、即ち4つのブロックを一度のバースト転送で転送する。
【0059】
なお、図6に示す例では、便宜上、テストパターン発生部21により領域Aに書き込まれたテストパターン42を“a”〜“h”で表し、図5に示す転送(1)において領域Bに転送されたテストパターン42を“A”〜“H”で表すが、“a”〜“h”は、それぞれ“A”〜“H”と同一のデータである。従って、図6(a)に示す状態においては、領域A及び領域Bにおけるそれぞれのテストパターン42は同一のものである。
【0060】
また、図6に示す例では、テストパターン42は、便宜上、基礎パターン対“A”〜“H”(“a”〜“h”)の並びを繰り返し循環させたデータとして表すが、これに限定されない。例えば、上述の如く、テストパターン42内の全ての基礎パターン対が、他の基礎パターン対と異なるものとなるように基礎パターンを決定しても良く、一部の基礎パターン対が他の基礎パターン対と同一のものとなるように基礎パターンを決定しても良い。
【0061】
そして、転送処理部222は、図5に示す転送(2)において、領域Bの先頭アドレスを始点とし、領域Bのサイズから所定のシフト量αを減じたサイズ分の連続するデータ(テストパターン42の一部)を、領域Aの先頭アドレスから所定のシフト量αだけシフトされたアドレスを始点とする同一サイズの領域に転送(コピー)する。即ち、転送処理部222は、領域Aの先頭アドレスから所定のシフト量αだけシフトしたアドレスを第1転送先アドレスとして、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αを減じたアドレスとの間の領域のテストパターン42を転送する。
【0062】
図6に示す例では、転送処理部222は、図6(b)及び図6(c)に示す如く、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αである24バイトを減じたアドレスとの間の領域のテストパターン42を転送する。このときの転送先の領域Aの第1転送先アドレスは、領域Aの先頭アドレスから所定のシフト量αである24バイトだけシフトしたアドレスとなる。
【0063】
〔1−2−2〕ステップ2−2(領域Bから領域Aへの転送(3))
一方、アドレス/レングス生成部221は、図5に示す転送(3)において、転送元アドレスを、領域Bの最終アドレスから所定のシフト量αを減じたアドレスに決定し、転送先アドレス(第2転送先アドレス,第2転送開始アドレス)を、領域Aの先頭アドレスに決定する。
【0064】
また、アドレス/レングス生成部221は、テストパターン42の転送レングスを、所定のシフト量αのサイズに決定する。
図6に示す例では、アドレス/レングス生成部221は、図6(c)に示す如く、転送元アドレスを、領域Bの最終アドレスから所定のシフト量αである24バイトを減じたアドレスに決定する。また、アドレス/レングス生成部221は、第2転送先アドレスを、領域Aの先頭アドレスに決定する。
【0065】
さらに、アドレス/レングス生成部221は、図6(d)に示す如く、転送レングスを、所定のシフト量αである24バイトのサイズに決定する。
そして、転送処理部222は、図5に示す転送(3)において、領域Bの最終アドレスから所定のシフト量αを減じたアドレスから、所定のシフト量αのサイズ分のデータ(テストパターン42の一部)を、第2転送先アドレスである領域Aの先頭アドレスに転送する。
【0066】
図6に示す例では、転送処理部222は、図6(d)及び図6(e)に示す如く、領域Bの最終アドレスから所定のシフト量αを減じたアドレスを先頭として、所定のシフト量αのサイズ分のデータ(テストパターン42の一部)を転送する。このときの転送先の領域Aの第2転送先アドレスは、領域Aの先頭アドレスである。
テストパターン転送部22は、転送(3)の転送を行なった後、転送を所定の回数実行したか否かを判断し、所定の回数実行していないと判断した場合には、さらに転送(1)〜(3)の転送を繰り返す。
【0067】
図6に示す例では、テストパターン転送部22は、転送(3)の転送を行なった後(図6(e)参照)、転送を所定の回数実行したか否かを判断し、所定の回数実行していないと判断した場合には、次の転送(1)〜(3)を実行する。このとき、テストパターン転送部22は、次の転送(1)として、図6(e)に示す領域A内のデータを領域Bに転送するとともに(図6(f)参照)、図6(f)に示す試験領域40に対して、上述の如き手順により転送(2)及び(3)を実行する。
【0068】
上述のように、CPU2は、テストパターン転送部22によって、図5に示す転送(1)〜(3)の転送を所定の回数実行することにより、メモリ4の試験領域40に対するメモリ試験を実施する。
このように、テストパターン転送部22が転送(1)〜(3)のバースト転送を1回実行すると、転送後の試験領域40において連続したデータとして表れるデータの並びは、転送前の試験領域40において連続したデータとして表れるデータの並びから所定のシフト量αだけずれることになる(図6(a)及び図6(f)参照)。
【0069】
図6に示す例においては、転送前の試験領域40において連続したデータとして表れるデータの並び、即ちバースト転送の単位転送サイズに収まるデータは、“abcd”及び“efgh”(“ABCD”及び“EFGH”)である。
一方、転送後の試験領域40において連続したデータとして表れるデータの並び、即ちバースト転送の単位転送サイズに収まるデータは、“FGHA”及び“BCDE”となる。
【0070】
従って、テストパターン転送部22がバースト転送(1)〜(3)を所定の回数実行することにより、試験領域40において連続したデータとして表れるデータの並びは、図7に示す8通りとなる。なお、この試験領域40において連続したデータとして表れるデータの並びの種類(数)は、バースト転送の単位転送サイズ(キャッシュ3のキャッシュサイズ),基礎パターン対のサイズ(メモリ4のバス幅),基礎パターンのバリエーション,及び基礎パターン対の配置条件等に応じて異なる。
【0071】
このように、図5に示す転送(2)及び(3)の転送において、転送元と転送先のアドレスを図6に示す所定のシフト量αだけずらす場合、キャッシュ3を跨ぐデータがシフトされるため、バースト転送の境界でデータ転送が中断される位置を可変とすることができる。
例えば、図8(a)に示すように、1回目のバースト転送(1)〜(3)の実行では、バースト転送の境界は“A”と“B”との間及び“E”と“F”との間であるが、図8(b)に示すように、2回目のバースト転送(1)〜(3)の実行では、バースト転送の境界は“B”と“C”との間及び“F”と“G”との間である。
【0072】
このように、本実施形態の一例としてのテストパターン転送部22によれば、転送元と転送先のアドレスを所定のシフト量αだけずらすことにより、転送(1)〜(3)を実行する回数に応じてバースト転送の境界位置を可変とすることができる。即ち、データを転送する際に、転送先アドレスをバースト転送の単位転送サイズからメモリバス幅を引いた値ずらすことで、前後の基礎パターン対がキャッシュ3内で連続する全ての種類のテストパターン42を発生させることができる。
【0073】
従って、メモリ試験において、テストパターン42における隣接する試験データについて、様々な組み合わせでキャッシュ3内で連続したデータとしてバースト転送することができるため、試験精度を向上させることができる。
なお、判定部23による判定は、上述したテストパターン転送部22による転送(1)〜(3)の処理が実施される度に行なうことができる。
【0074】
これにより、判定部23によって、隣接する基礎パターンが等しくないと判定された場合に、エラーを検出した時点で処理を終了することができるため、試験時間の短縮を図ることができるとともに、エラーの発生した試験領域40のアドレスを特定することができる。
また、判定部23による判定は、上述したテストパターン転送部22による転送(1)〜(3)の処理が所定の回数実行された後に行なうこともできる。
【0075】
これにより、判定部23による判定をテストパターン転送部22による転送(1)〜(3)の処理が実施される度に行なう場合と比べて、試験時間の大幅な短縮を図ることができる。
以下、本実施形態においては、判定部23による判定は、上述したテストパターン転送部22による転送(1)〜(3)の処理が所定の回数実行された後に行なうものとして説明する。
【0076】
〔2〕本実施形態の動作
次に、上述の如く構成された本実施形態の一例としてのテストパターン発生部21,テストパターン転送部22,及び判定部23によるメモリ4の試験領域40に対する試験方法を説明する。
図10は、本実施形態の一例としてのメモリ4の試験方法を説明するためのフローチャートである。
【0077】
はじめに、CPU2のテストパターン発生部21により、テストパターン42が生成又はメモリ4等から読み出され、メモリ4の試験領域40のうちの領域Aに書き込まれる(ステップS1)。なお、書き込まれるテストパターン42は、領域Aの容量と同サイズである。また、書込開始アドレスは、領域Aの先頭アドレスである。
次に、テストパターン転送部22によって、領域Aに書き込まれたテストパターン42が領域Bへバースト転送(コピー)される(ステップS2;転送(1))。このときの転送は、領域Aの先頭アドレスを転送元アドレスとし、領域Bの先頭アドレスを転送先アドレスとして、領域Aの容量(=領域Bの容量)と同サイズのテストパターン42を転送することにより行なわれる。
【0078】
次いで、テストパターン転送部22によって、領域Bの先頭アドレスと、領域Bの最終アドレスから所定のシフト量αを減じたアドレスとの間の領域のテストパターン42が領域Aへバースト転送(コピー)される(ステップS3;転送(2))。このときの転送は、領域Aの先頭アドレスから所定のシフト量αだけシフトしたアドレスを第1転送先アドレスとして、領域Bの容量から所定のシフト量αを減じたサイズのテストパターン42を転送することにより行なわれる。
【0079】
また、テストパターン転送部22によって、領域Bの最終アドレスから所定のシフト量αを減じたアドレスと、領域Bの最終アドレスとの間の領域のテストパターン42が領域Aへバースト転送(コピー)される(ステップS4;転送(3))。このときの転送は、領域Aの先頭アドレスを第2転送先アドレスとして、所定のシフト量αのサイズのテストパターン42を転送することにより行なわれる。
【0080】
そして、テストパターン転送部22により、ステップS2〜S4(転送(1)〜(3))の一連の処理が予め指定された回数実施されたか否かが判定される(ステップS5)。
ステップS2〜S4の一連の処理が予め指定された回数実施されていない場合には(ステップS5のNoルート)、ステップS2の処理に戻る。
一方、予め指定された回数実施された場合には(ステップS5のYesルート)、判定部23により、試験領域40に転送されたテストパターン42における基礎パターン対について、隣り合わせて配設された基礎パターン同士が比較され、これら基礎パターン同士が等しいか否かが判定される(ステップS6)。
【0081】
このとき、判定部23により、比較対象の基礎パターン対を示す比較領域に基づいて、比較領域のうちの前半の基礎パターンと後半の基礎パターンとが等しいか否かが判断される。なお、比較領域は、試験領域40の先頭アドレスと、試験領域40の先頭アドレスから基礎パターン対のサイズ分シフトしたアドレスとの間の領域が初期値となる。
判定部23により、比較領域に対応する基礎パターン対の基礎パターン同士が等しくないと判定された場合には(ステップS6のNoルート)、判定部23により、メモリ4におけるデータの転送に障害が発生していると判断され、エラーメッセージが出力される(ステップS7)。
【0082】
一方、判定部23により、比較領域に対応する基礎パターン対の基礎パターン同士が等しいと判定された場合には(ステップS6のYesルート)、判定部23により、ステップS6における比較を試験領域40の全ての領域について行なったか否かが判断される(ステップS8)。この判断は、例えば判定部23により、比較領域が示すアドレスが試験領域40の最終アドレスを示すか否かが判断されることにより行なわれる。
【0083】
判定部23により、ステップS6における比較を試験領域40の全ての領域について行なっていないと判断された場合には(ステップS8のNoルート)、判定部23により、比較領域が更新され(ステップS9)、ステップS6の処理に戻る。このとき、ステップS6においては、更新された比較領域に基づいて、当該比較領域に対応する基礎パターン対の基礎パターン同士が比較される。
【0084】
なお、ステップS9の処理における比較領域の更新は、比較領域のアドレスに基礎パターン対のサイズ(8バイト)が加算されることにより行なわれる。
一方、判定部23により、ステップS6における比較を試験領域40の全ての領域について行なったと判断された場合には(ステップS8のYesルート)、判定部23により、メモリ試験による試験領域40に対するデータの転送が正常であると判断され、処理が終了する。処理の終了後、試験領域40に転送されたテストパターン42は、上述の如く、シフトパターン421やノイズパターン422のデータとして、その後の種々の検証に用いることができる。
【0085】
上述のように、本実施形態の一例としてのテストパターン発生部21によれば、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含むテストパターン42が生成される。また、本実施形態の一例としての判定部23によれば、テストパターン転送部22によって試験領域40に転送されたテストパターン42におけるそれぞれの基礎パターン対について、隣り合わせて配設された基礎パターン同士が比較される。
【0086】
このように、各基礎パターン対における隣接する基礎パターン同士を同じ値にすることにより、試験領域40内でテストパターン42の転送が繰り返し行なわれた場合でも、転送されたデータの正常性を保証することができる。
従って、隣接する基礎パターン同士が同じデータであるか否かを判断するだけで、試験領域40に対するデータの転送が正常に行なわれたか否かを判断することができる。これにより、バースト転送を繰り返した結果データと予めシミュレーションした期待値データとを比較する処理や、バースト転送を行なう毎に転送元のデータと転送先のデータとを比較する処理が不要となり、試験時間の短縮を図ることができる。
【0087】
また、本実施形態の一例としてのテストパターン転送部22によれば、第2領域40Bに転送されたテストパターン42が、第1領域40Aにテストパターン42が書き込まれた際の書込開始アドレスから所定のシフト量αだけシフトされたアドレスを転送先アドレスとして、領域Aに転送される。
このように、転送元と転送先のアドレスを所定のシフト量αだけずらすことにより、転送(1)〜(3)を実行する回数に応じてバースト転送の境界位置を可変とすることができる。即ち、データを転送する際に、転送先アドレスをバースト転送の単位転送サイズからメモリバス幅を引いた値ずらすことで、前後の基礎パターン対がキャッシュ3内で連続する全ての種類のテストパターン42を発生させることができる。
【0088】
従って、メモリ試験において、テストパターン42における隣接する試験データについて、様々な組み合わせでキャッシュ3内で連続したデータとしてバースト転送することができるため、試験精度を向上させることができる。
さらに、本実施形態の一例としての各基礎パターン対は、同一の基礎パターンを隣り合わせて配設されている。また、テストパターン発生部21が初めに用意したテストパターン42を、バースト転送の境界位置を可変としてバースト転送をすることができる。
【0089】
従って、バースト転送の境界位置を変更した複数のテストパターンを生成することなく、テストパターン42を所定の回数転送することで様々な組み合わせでキャッシュ3内で連続したデータとしてバースト転送することができる。
このため、テストパターン発生部21によるテストパターンの生成,及び判定部23によるデータの比較時間を短縮することができる。
【0090】
〔3〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、本実施形態において、テストパターン転送部22は、転送(2)(図10に示すステップS3)を実行した後に、転送(3)(図10に示すステップS4)を実行するものとして説明したが、これに限定されない。例えば、テストパターン転送部22は、転送(3)(図10に示すステップS4)を実行した後に、転送(2)(図10に示すステップS3)を実行しても良い。
【0091】
また、本実施形態において、所定のシフト量αは、バースト転送の単位転送サイズとメモリバス幅との差分値であると説明したが、これに限定されず、所定のシフト量αをメモリバス幅としても良い。
さらに、本実施形態において、バースト転送によるデータの分割数を4つとして説明したが、これに限定されず、キャッシュ3のキャッシュサイズとメモリ4のバス幅とに応じて、任意の値とすることができる。
【0092】
また、本実施形態において、基礎パターン対を8バイトとし、基礎パターンを4バイトとして説明したが、これに限定されず、メモリ4のバス幅に応じて、基礎パターン対及び基礎パターンのサイズを決定することができる。例えば、メモリ4のバス幅が16バイトであれば、基礎パターンをメモリバス幅の半分の8バイトとし、基礎パターン対はこの基礎パターンを2つ隣り合わせた16バイトとすることができる。
【0093】
さらに、本実施形態において、処理部であるCPU2によって、メモリ4の試験領域40にテストパターン42がバースト転送されるものとして説明したが、これに限定されるものではない。例えば、情報処理装置1が処理部としてDMA(Direct Memory Access)コントローラを備え、DMAコントローラにテストパターン発生部21及びテストパターン転送部22としての動作を実行させても良い。
【0094】
これにより、CPU2がテストパターン発生部21及びテストパターン転送部22としての機能を持つ場合と比べて、CPU2の負荷を抑えることができる。
なお、これらのテストパターン発生部(発生部)21,テストパターン転送部(転送部)22,アドレス/レングス生成部221,転送処理部222,及び判定部23としての機能を実現するためのプログラム(試験プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしても良い。
【0095】
テストパターン発生部21,テストパターン転送部22,アドレス/レングス生成部221,転送処理部222,及び判定部23としての機能を実現する際には、内部記憶装置(本実施形態では情報処理装置1のメモリ(記憶部)4及びI/O装置5等)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態では情報処理装置1のCPU(処理部)2)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしても良い。
【0096】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。また、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、情報処理装置1がコンピュータとしての機能を有しているのである。
【0097】
〔4〕付記
そして、本発明は、以下に示すように要約することができる。
(付記1)
処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、試験方法。
【0098】
(付記2)
前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送を所定の回数実行するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、付記1記載の試験方法。
【0099】
(付記3)
前記テストパターンは、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含み、
前記基礎パターン同士の比較は、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおけるそれぞれの基礎パターン対について、前記隣り合わせて配設された基礎パターン同士を比較することにより行なわれることを特徴とする、付記1又は付記2記載の試験方法。
【0100】
(付記4)
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、付記1〜3のいずれか1つに記載の試験方法。
(付記5)
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、付記4記載の試験方法。
【0101】
(付記6)
前記第1領域と前記第2領域とは同じ容量の領域であり、
前記生成されるテストパターンは、前記第1領域又は前記第2領域の容量と同サイズであるとともに、
前記テストパターンの前記第1領域への書き込みは、前記第1領域の先頭アドレスを前記書込開始アドレスとして、前記テストパターンを書き込むことにより行なわれ、
前記第1領域に書き込まれたテストパターンの前記第2領域への転送は、前記第2領域の先頭アドレスを転送開始アドレスとして、前記テストパターンを転送することにより行なわれるとともに、
前記第2領域に転送されたテストパターンの前記第1領域への転送は、前記第1領域の先頭アドレスから前記所定のシフト量だけシフトしたアドレスを第1転送開始アドレスとして、前記第2領域の先頭アドレスと、前記第2領域の最終アドレスから前記所定のシフト量を減じたアドレスとの間の領域のテストパターンを転送する一方、前記第1領域の先頭アドレスを第2転送開始アドレスとして、前記第2領域の最終アドレスから前記所定のシフト量を減じたアドレスと、前記第2領域の最終アドレスとの間の領域のテストパターンを転送することにより行なわれることを特徴とする、付記1〜5のいずれか1つに記載の試験方法。
【0102】
(付記7)
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が所定の回数実行された後に行なわれることを特徴とする、付記1〜6のいずれか1つに記載の試験方法。
(付記8)
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が実行される毎に行なわれることを特徴とする、付記1〜6のいずれか1つに記載の試験方法。
【0103】
(付記9)
処理部と記憶部とを有する情報処理装置において、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2試験領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、
処理を前記情報処理装置に実行させる、試験プログラム。
【0104】
(付記10)
前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送を所定の回数実行するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、付記9記載の試験プログラム。
【0105】
(付記11)
前記テストパターンは、同一の基礎パターンを隣り合わせて配設した基礎パターン対を複数含み、
前記基礎パターン同士の比較は、前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおけるそれぞれの基礎パターン対について、前記隣り合わせて配設された基礎パターン同士を比較することにより行なわれることを特徴とする、付記9又は付記10記載の試験プログラム。
【0106】
(付記12)
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、付記9〜11のいずれか1つに記載の試験プログラム。
(付記13)
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、付記12記載の試験プログラム。
【0107】
(付記14)
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が所定の回数実行された後に行なわれることを特徴とする、付記9〜13のいずれか1つに記載の試験プログラム。
(付記15)
処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、
前記処理部は、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込む発生部と、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送する転送部と、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えることを特徴とする、試験装置。
【符号の説明】
【0108】
1 情報処理装置
2 CPU(処理部)
21 テストパターン発生部(発生部)
22 テストパターン転送部(転送部)
221 アドレス/レングス生成部
222 転送処理部
23 判定部
3 キャッシュ
4 メモリ(記憶部)
40 試験領域
400 試験領域
40A 領域(領域A,第1領域)
400A 領域(領域A)
40B 領域(領域B,第2領域)
400B 領域(領域B)
41 試験プログラム
42 テストパターン
421 シフトパターン
422 ノイズパターン
5 I/O装置
6 メモリ制御部
7 I/O制御部
【特許請求の範囲】
【請求項1】
処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、試験方法。
【請求項2】
前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送を所定の回数実行するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、請求項1記載の試験方法。
【請求項3】
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、請求項1又は請求項2記載の試験方法。
【請求項4】
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、請求項3記載の試験方法。
【請求項5】
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が所定の回数実行された後に行なわれることを特徴とする、請求項1〜4のいずれか1項記載の試験方法。
【請求項6】
処理部と記憶部とを有する情報処理装置において、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、
処理を前記情報処理装置に実行させる、試験プログラム。
【請求項7】
処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、
前記処理部は、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込む発生部と、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送する転送部と、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えることを特徴とする、試験装置。
【請求項1】
処理部と記憶部とを有する情報処理装置における前記記憶部の試験領域に対する書き込み及び読み出しを正しく行なえるか否かを前記処理部により試験する試験方法であって、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、試験方法。
【請求項2】
前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送を所定の回数実行するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証することを特徴とする、請求項1記載の試験方法。
【請求項3】
前記所定のシフト量は、前記処理部による前記試験領域に対するテストパターンの単位転送サイズと前記記憶部のバス幅との差分値、または、前記記憶部のバス幅であることを特徴とする、請求項1又は請求項2記載の試験方法。
【請求項4】
前記処理部による前記試験領域に対するテストパターンの転送は、バースト転送により行なわれ、
前記基礎パターン対は、それぞれ前記記憶部のバス幅と同じサイズであることを特徴とする、請求項3記載の試験方法。
【請求項5】
前記比較は、前記第1領域から前記第2領域への転送及び前記第2領域から前記第1領域への転送が所定の回数実行された後に行なわれることを特徴とする、請求項1〜4のいずれか1項記載の試験方法。
【請求項6】
処理部と記憶部とを有する情報処理装置において、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記記憶部の試験領域のうちの第1領域に書き込み、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、
前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送するとともに、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する、
処理を前記情報処理装置に実行させる、試験プログラム。
【請求項7】
処理部と記憶部とを有し、前記記憶部の試験領域に対する試験を行なう試験装置において、
前記処理部は、
同一の基礎パターンを隣り合わせて配設した基礎パターン対を含むテストパターンを、前記試験領域のうちの第1領域に書き込む発生部と、
前記第1領域に書き込まれたテストパターンを、前記試験領域のうちの第2領域に転送し、前記第2領域に転送されたテストパターンを、前記第1領域に前記テストパターンが書き込まれた際の書込開始アドレスから所定のシフト量だけシフトされたアドレスを転送開始アドレスとして、前記第1領域に転送する転送部と、
前記第1領域あるいは前記第2領域の一方から他方に転送されたテストパターンにおける基礎パターン対の隣り合わせて配設された基礎パターン同士を比較して、前記隣り合わせて配設された基礎パターン同士が等しいか否かを判定することにより前記試験領域に対する書き込み及び読み出しを正しく行なえるか否かを検証する判定部とを備えることを特徴とする、試験装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−174327(P2012−174327A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−38292(P2011−38292)
【出願日】平成23年2月24日(2011.2.24)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月24日(2011.2.24)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]