(57)【特許請求の範囲】
【請求項１】
１つ以上のメモリ基板からなるメモリ装置の検証処理を実行する検証装置であって、
所定のメモリ領域を提供する前記メモリ装置と、
前記メモリ装置の動作試験を実行する制御部と、
を備え、
前記制御部は、
１つまたは複数の試験プロセスにより前記メモリ装置のメモリ領域を所定の容量に定めて、そのメモリ領域に対して所定時間のデータの書き込み／読み取り処理を含む動作試験を実行し、前記試験プロセスによる前記動作試験の進行状況に応じて、前記試験プロセスにより実行される前記メモリ領域の試験範囲の容量の補正値を算出する
ことを特徴とする、検証装置。
【請求項２】
前記制御部は、
前記メモリ装置の所定範囲のメモリ領域を前記試験プロセスの試験範囲の容量として設定し、
前記メモリ領域に対する前記動作試験の実行時間と、前記動作試験でアクセスしたメモリ容量と、前記設定された前記試験プロセスの試験範囲の容量とから、前記試験プロセスにより動作試験を行った場合の前記試験範囲の試験完了までの完了予測時間を算出し、
前記試験プロセスの完了予測時間の平均値を動作試験完了目標時間とし、
前記試験プロセスごとに前記動作試験完了目標時間内で実行可能な前記メモリ領域の容量を算出し、
前記試験プロセスごとに前記動作試験完了目標時間内で実行可能な前記メモリ領域の容量と、前記試験プロセスに予め設定された前記試験プロセスの試験範囲の容量との差分に応じて、前記試験プロセスにより実行される前記メモリ領域の試験範囲の容量の補正値を算出する
ことを特徴とする、請求項１に記載の検証装置。
【請求項３】
前記制御部は、
前記算出された前記メモリ領域の試験範囲の容量の補正値をもとに、前記試験プロセス
の試験範囲の容量を補正して、前記試験プロセスに前記補正された試験範囲の容量分の前記メモリ領域の動作試験を実行させる
ことを特徴とする、請求項１に記載の検証装置。
【請求項４】
前記制御部は、複数の演算処理装置から構成され、
前記複数の演算処理装置と前記メモリ装置とは、メモリ装置が含む複数のメモリ毎に特定の演算処理装置にメモリバスで直結されて、
前記演算処理装置に内蔵された複数のコアがそれぞれ並列に演算処理を実行する
ことを特徴とする、請求項１に記載の検証装置。
【請求項５】
前記試験プロセスはオペレーティングシステム上で起動され、
前記試験プロセスは、試験範囲の容量分の前記メモリ領域の確保をオペレーティングシステムに実行するよう依頼し、かつ、確保した容量分の前記メモリ領域について書き込み／読み取り処理を実行する
ことを特徴とする、請求項１に記載の検証装置。
【請求項６】
１つ以上のメモリ基板からなるメモリ装置の検証処理を実行する検証装置における検証方法であって、
前記検証装置は、所定範囲のメモリ領域を提供する前記メモリ装置と、前記メモリ装置の動作試験を実行する制御部と、を備え、
前記制御部が、１つまたは複数の試験プロセスにより前記メモリ装置のメモリ領域を所定の容量に定めて、そのメモリ領域に対して所定時間のデータの書き込み／読み取り処理を含む動作試験を実行させる第１のステップと、
前記制御部が、前記試験プロセスによる前記動作試験の進行状況に応じて、前記試験プロセスにより実行される前記メモリ領域の試験範囲の容量の補正値を算出する第２のステップと
を含むことを特徴とする、検証方法。
【請求項７】
前記制御部が、前記第１のステップにおいて、
前記メモリ装置の所定範囲のメモリ領域を前記試験プロセスの試験範囲の容量として設定し、
前記制御部が、前記第２のステップにおいて、
前記メモリ領域に対する前記動作試験の実行時間と、前記動作試験でアクセスしたメモリ容量と、前記設定された前記試験プロセスの試験範囲の容量とから、前記試験プロセスにより動作試験を行った場合の前記試験範囲の試験完了までの完了予測時間を算出し、
前記試験プロセスの完了予測時間の平均値を動作試験完了目標時間とし、
前記試験プロセスごとに前記動作試験完了目標時間内で実行可能な前記メモリ領域の容量を算出し、
前記試験プロセスごとに前記動作試験完了目標時間内で実行可能な前記メモリ領域の容量と、前記試験プロセスに予め設定された前記試験プロセスの試験範囲の容量との差分に応じて、前記試験プロセスにより実行される前記メモリ領域の試験範囲の容量の補正値を算出する
ことを特徴とする、請求項６に記載の検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証装置及び検証方法に関し、メモリ装置を検証する検証装置及び検証方法に適用して好適なるものである。
【背景技術】
【０００２】
一般に、コンピュータシステムは、１枚以上の基板からなる複数のメモリ装置を搭載した計算機と当該計算機を管理するコンソールとから構成される。このようなコンピュータシステムにおけるメモリ装置の動作試験を行う場合、作業者は、検証プログラムを計算機にロードして起動させる。起動された検証プログラムは、計算機に搭載されたメモリ装置を認識し、コンソールを介して入力される開始指示に基づいてメモリ装置の動作試験を実行する。
【０００３】
上記した検証プログラムがオペレーティングシステム（以降、ＯＳと略称して説明する場合もある。）上で動作する場合には、検証対象となるメモリの確保をＯＳに依頼することによりメモリ装置の検証を行う。具体的に、検証プログラムは、ＯＳに対してメモリ取得要求を行ってメモリを確保し、確保したメモリの全領域にメモリアクセスする。そして、メモリの取得ができなくなるまでメモリの確保及びメモリアクセスを行うことにより、管理領域等を除く全領域へのメモリアクセスを完了したこととしている。最後に、ＯＳに対してメモリの解放を要求して、確保したメモリのすべてを解放する。以上がＯＳ上で動作する検証プログラムの動作である。
【０００４】
ところで近年、メモリ装置の大容量化が進んだ結果、メモリテストの実行時間が、周辺装置のテスト時間に比して無視できないほどの長時間を要するようになってきている。メモリ容量が最大６４ＧＢ程度であれば、周辺装置の検証時間よりも短時間で終了していたため、メモリ装置の検証時間は無視できる程度のものであったが、近年、メモリ容量が１ＴＢを超えるようになりメモリ装置の検証時間が無視できないほどの長時間を要するようになってきている。
【０００５】
そこで、近年のプロセッサに標準で搭載されているマルチコアを効果的に利用するマルチプロセスの技術を用いて、複数のプロセスで同時に各種装置の動作試験を実行することが行われている（例えば、特許文献１及び特許文献２）。複数の中央処理装置を搭載したコンピュータシステムでは、中央処理装置とメモリ装置とが専用のメモリバスで直結している構成が主流となっている。また、各中央処理装置にはコアが複数内蔵されており、これらのコアはそれぞれ並列して演算等の処理を行うことができる。このようなコンピュータシステムにおいて、メモリ装置の試験を行う場合には、複数のプロセスで試験を行うことにより、各中央処理装置内のコアでプロセスが分散して実行される。これにより、各中央処理装置とメモリ装置との間で並列にデータ転送が行われ、転送速度が上がる。
【０００６】
例えば、特許文献１では、一定時間あたりのスループットをもとに、プロセス数を増減することにより転送速度をさらに向上させる技術が開示されている。また、特許文献２では、負荷の軽いプロセッサを特定し、そのプロセッサに負荷を分散することにより転送速度をさらに向上させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１２８８６８号公報
【特許文献２】特開２００８−１９１９４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記した特許文献１または特許文献２における技術では、メモリ装置の大容量化に伴う動作試験時間の増大化に対しては不十分であった。すなわち、中央処理装置とメモリ装置とが専用のメモリバスで直結しているコンピュータシステムにおいては、一定数以上のプロセスを増やしてもプロセス間で帯域幅が分割されるのみであるため、特許文献１の技術を用いてもスループットは向上しない。また、ＯＳ上で動作するアプリケーションでは、検証プログラムを実行するプロセッサを特定してプロセスを生成することができないため、特許文献２の技術を用いてプロセスを再配置しようとするとプロセスの削除や生成に伴うオーバーヘッドが大きくなり実行時間の短縮効果は得られないという問題があった。
【０００９】
本発明は以上の点を考慮してなされたもので、試験プロセス数を増減させずにメモリ装置の動作試験の処理時間を短縮させることが可能な検証装置及び検証方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するために本発明においては、１つ以上のメモリ基板からなるメモリ装置の検証処理を実行する検証装置であって、所定のメモリ領域を提供する前記メモリ装置と、前記メモリ装置の動作試験を実行する制御部と、を備え、前記制御部は、  １つまたは複数の試験プロセスにより前記メモリ装置のメモリ領域を所定の容量に定めて、そのメモリ領域に対して所定時間のデータの書き込み／読み取り処理を含む動作試験を実行し、前記試験プロセスによる前記動作試験の進行状況に応じて、前記試験プロセスにより実行される前記メモリ領域の試験範囲の容量の補正値を算出することを特徴とする、検証装置が提供される。
【００１１】
かかる構成によれば、試験プロセス数を増減させずにメモリ装置の動作試験の処理時間を短縮させて、大容量のメモリ装置の動作試験を効率的に行うことができる。
【発明の効果】
【００１２】
本発明によれば、大容量のメモリ装置の動作試験を効率的に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図である。
【図２】同実施形態にかかるメモリ装置を説明する概念図である。
【図３Ａ】同実施形態にかかる従来のメモリアクセスについて説明する概念図である。
【図３Ｂ】同実施形態にかかる従来のメモリアクセスについて説明する概念図である。
【図３Ｃ】同実施形態にかかる従来のメモリアクセスについて説明する概念図である。
【図４】同実施形態にかかる計算機の機能構成を示すブロック図である。
【図５】同実施形態にかかるメモリ装置の検証処理の詳細を示すタイミングチャートである。
【図６】同実施形態にかかるメモリのアロケーションテーブルについて説明する概念図である。
【図７Ａ】同実施形態にかかる進捗テーブルの一例を示す図表である。
【図７Ｂ】同実施形態にかかる進捗テーブルの一例を示す図表である。
【図８Ａ】同実施形態にかかる各プロセスの動作状況を説明する概念図である。
【図８Ｂ】同実施形態にかかる各プロセスの動作状況を説明する概念図である。
【図８Ｃ】同実施形態にかかる各プロセスの動作状況を説明する概念図である。
【発明を実施するための形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）コンピュータシステムの構成
まず、本実施の形態にかかるコンピュータシステムの構成について説明する。図１は、コンピュータシステム１の構成を示すブロック図である。図１に示すように、コンピュータシステム１は、計算機１００と管理者が各種指示を入力するコンソール１０５とから構成される。
【００１６】
計算機１００は、ＣＰＵ１０１、メモリ装置１０２及びストレージ装置１０４などを備える。
【００１７】
ＣＰＵ１０１は、演算処理装置および制御装置として機能し、各種プログラムに従って計算機１００内の動作全般を制御する。また、ＣＰＵ１０１は、マイクロプロセッサであってもよい。ＣＰＵ１０１は、本発明の制御部として機能し、実際には、ＣＰＵ１０１が後述する検証プログラムを起動させることによって検証処理が実行される。
【００１８】
メモリ装置１０２は、１枚以上の基板からなり、複数のメモリ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄ（以降、メモリ１０３と称して説明する場合もある。）を含む。メモリ１０３は、例えば、ＲＯＭやＲＡＭなどである。ＲＯＭは、ＣＰＵ１０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭは、ＣＰＵ１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。
【００１９】
ストレージ装置１０４は、本実施形態にかかる計算機１００の記憶部の一例として構成されたデータ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ストレージ装置１０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）で構成される。このストレージ装置１０４は、ハードディスクを駆動し、ＣＰＵ１０１が実行するプログラムや各種データを格納する。
【００２０】
コンソール１０５は、入力装置または出力装置から構成される。入力装置は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ１０１に出力する入力制御回路などから構成されている。また、出力装置は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｓｐｌａｙ）装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置などで構成される。
【００２１】
コンピュータシステム１においてメモリ装置の動作試験を行う場合には、作業者が、動作試験の指示として、コンソール１０５を介してメモリテスト開始指示を入力するとともに、検証プログラムを計算機１００にロードして起動させる。計算機１００において起動された検証プログラムは、試験対象のメモリ装置１０２を検索してコンソール１０５の表示画面に一覧表示させる。作業者によりコンソール１０５を介して試験対象のメモリ１０３が選択され、試験開始の指示が入力されると、検証プログラムは、選択されたメモリ１０３に対して動作試験を行う。このとき、コンソール１０５を介して入力される作業者からの指示は、試験対象となるメモリ装置の選択指示である。試験対象のメモリ容量は、特別の指示がない限り、メモリ装置の全メモリ容量である。そして、検証プログラムは、動作試験の対象となるメモリ容量と予め取得したコア数から、動作試験を実行するプロセス数と、各プロセスで実行するテスト容量を算出する。
【００２２】
図２は、本実施形態にかかるメモリ装置１０２を説明する概念図である。本実施形態にかかるメモリ装置１０２は、図２に示すように、ＣＰＵ１０１とメモリ１０３とが専用のメモリバス１０６で直結されている。また、ＣＰＵ１０１には、複数のコア１０７が内蔵されており、これらのコアはそれぞれ並列に演算等の処理を実行することができる。このような計算機１００においてメモリ装置１０２の試験を実行する場合には、ＯＳにより各ＣＰＵ１０１内のコアにプロセスが分散して実行されることにより、各ＣＰＵ１０１とメモリ１０３との間で並列にデータ転送が行われ、データ転送速度を上げることが可能となる。
【００２３】
ここで、図３Ａ〜図３Ｃを参照して、従来技術により複数のプロセスでメモリアクセスを行った場合について説明する。図３Ａ〜図３Ｃは、従来のメモリアクセスについて説明する概念図である。複数のプロセスでメモリアクセスを行う場合、初めに、テスト対象のメモリ容量をプロセス数で等分した量を、１つのプロセスがアクセスするメモリ容量とする。図３Ａ〜図３Ｃは、所定のメモリ容量を８つのプロセス数で等分したイメージを示す図である。
【００２４】
従来技術において、８つのプロセスで動作試験が進められると、各プロセスにＯＳが割り当てたプロセッサの処理状況により、プロセス毎に処理速度の差が生じる。図３Ｂは、各プロセスで処理速度の差が生じたイメージを示す図である。このようなプロセッサの処理状況による処理速度の差は、メモリが大容量になるほど顕著となる。そして、すべてのプロセスが、割り当てられた全領域に対してメモリアクセスを行って動作試験が完了する。図３Ｃは、各プロセッサの動作試験がすべて完了したイメージを示す図である。
【００２５】
ここで、ＣＰＵ１０１とメモリ装置１０２との間のデータ転送速度を上げるために、動作試験を実行するプロセス数を増やしたり、負荷の軽いプロセッサを特定して、そのプロセッサに負荷を分散したりすることが考えられる。しかし、図２に示すように、ＣＰＵ１０１とメモリ１０３とが専用のメモリバスで直結している計算機１００においては、一定数以上プロセスを増やしても、プロセス間で帯域幅が分割されるのみで、スループットの向上には繋がらない。また、本実施形態における検証プログラムは、ＯＳ上で動作するため、プロセスが実行するプロセッサを特定してプロセスを生成することができない。このため、負荷の軽いプロセッサにプロセスを実行させるためには、一旦プロセスを削除して再度プロセスを生成しなければならない。このようなプロセスの再配置は、プロセス削除及び生成に伴うオーバーヘッドが大きく、動作試験の実行時間の短縮効果は少ない。そこで、本実施の形態では、プロセス数の数を増減させずに、プロセスの待機時間を減少させることによりメモリ装置の動作試験時間の短縮を図ることを目的としている。
【００２６】
（２）計算機の機能構成
次に、計算機１００の機能構成について説明する。図４は、計算機１００の機能構成を示すブロック図である。図４に示すように、計算機１００は、ＯＳ（図示せず）上で動作する検証プログラム１１０を備える。検証プログラム１１０は、実行時間予測部１１１、プロセス進捗管理部１１２及び実行容量補正部１１３から構成される。
【００２７】
実行時間予測部１１１は、試験対象となるメモリ装置１０２の容量を取得して、メモリ装置１０２の動作試験の実行時間を予測する機能を有する。具体的に、実行時間予測部１１１は、ＣＰＵ１０１の構成情報を取得して、ＣＰＵ１０１全体のコア数を求めて、動作試験を実行するプロセス数及び、１つのプロセスがアクセスするメモリ装置１０２の容量を決定する。そして、実行時間予測部１１１は、決定したプロセスを生成して、各プロセスによりメモリアクセスを実行する。実行時間予測部１１１は、一定容量のメモリアクセスを実行した後、プロセス進捗管理部１１２に、一定容量のメモリアクセスを終了したことを通知する。
【００２８】
プロセス進捗管理部１１２は、実行時間予測部１１１から通知されたメモリ装置１０２の動作試験の実行量と実行時間から、各プロセスの動作試験対象のメモリ容量を計算する。具体的に、プロセス進捗管理部１１２は、メモリ装置１０２の動作試験の予定終了時間と全試験プロセスの予定終了時間の平均値を算出し、平均処理時間で処理できるテスト容量と最初に配分されたテスト容量との差分を求める。そして、最初に配分されたテスト容量よりも処理の進んでいないプロセスについて、当該プロセスが予定終了時間で処理を終了させるためのテスト容量を算出する。また、動作試験の実行時間の早いプロセスに対して、動作試験処理が遅延しているプロセスから減算したテスト容量分をもとのテスト容量に加算する。
【００２９】
実行容量補正部１１３は、各プロセスに対して、プロセス進捗管理部１１２により求められたテスト容量分の動作試験を実行するよう指示する。実行容量補正部１１３から動作試験の実行を指示されたプロセスは、新たなメモリ容量分を終了するまで動作試験を実行する。
【００３０】
このように、本実施の形態では、プロセス数の数を増減させず、また、各プロセスに割り当てられたプロセッサを再配置させることなく、プロセスの待機時間を減少させ、処理時間を短縮させて効率的にメモリ装置１０２の全領域の試験を実行することができる。
【００３１】
（３）計算機の動作の詳細
次に、計算機１００におけるメモリ装置１０２の検証処理の詳細について説明する。図５は、メモリ装置１０２の検証処理の詳細を示すタイミングチャートである。コンソール１０５を介して作業者から検証開始指示が入力されて検証プログラム１１０が起動すると、検証プログラム１１０本体のプロセスがＯＳ上のプロセスとして処理を開始する。
【００３２】
まず、検証プログラム１１０は、ＯＳ１１６に空きメモリ容量の取得を要求する（Ｓ１０１）。ステップＳ１０１において検証プログラム１１０から空きメモリ容量の取得を要求されたＯＳ１１６は、空きメモリ容量を検出して検証プログラム１１０に通知する（Ｓ１０２）。
【００３３】
そして、検証プログラム１１０は、予め取得していたＣＰＵ１０１のコア１０７の数と、ステップＳ１０２において取得した空きメモリ容量とから以下の数式（１）及び数式（２）により動作試験を実行するプロセス数（試験プロセス数）及び１つの試験プロセスにおいて実行するメモリのテスト容量をそれぞれ決定する。
【００３４】
試験プロセス数＝コア数      ・・・（１）
【００３５】
試験プロセスあたりのテスト容量＝試験対象メモリ容量／試験プロセス数・・・（２）
【００３６】
そして、検証プログラム１１０は、Ｆｏｒｋ命令を発行して（Ｓ１０３）、数式（２）により算出した試験プロセス数分の試験プロセス１１５を生成する（Ｓ１０４）。
【００３７】
ステップＳ１０４において生成された試験プロセス１１５は、Ｍａｌｌｏｃ命令を発行して（Ｓ１０５）、ＯＳ１１６の制御のもと、一定の小容量のメモリを確保する（Ｓ１０６）。ＯＳ１１６は、ＯＳ１１６が管理しているメモリ１０３の空き領域の一部を試験プロセス１１５に割り当てて、割り当てた領域の情報をアロケーションテーブルに登録する。
【００３８】
ここで、ＯＳ１１６によって割り当てられるメモリ１０３について説明する。図６は、メモリ１０３のアロケーションテーブルについて説明する概念図である。図６に示すように、メモリ１０３には、アロケーションテーブル１２１及びステップＳ１０６において確保された領域１２２が含まれる。例えば、ステップＳ１０６において、領域１２２が確保されると、領域１２２の開始位置「Ｓ１」及び終了位置「Ｅ１」がアロケーションテーブル１２１に登録される。このように、アロケーションテーブル１２１には、試験プロセス１１５によるＭａｌｌｏｃ命令によって確保された領域の開始位置と終了位置の情報（（Ｓ１，Ｅ１）、（Ｓ２，Ｅ２）、（Ｓ３，Ｅ３））が登録される。アロケーションテーブル１２１は、ＯＳの種類により異なるが、一般的には割り当てられたメモリ１０３の仮想開始アドレスと大きさや、実際に割り当てた物理アドレスと割り当てた領域の範囲などが登録される。
【００３９】
図５に戻り、試験プロセス１１５は、ステップＳ１０６において確保されたメモリ１０３に対して、Ｗｒｉｔｅ／Ｒｅａｄ命令を発行して（Ｓ１０７）、書込み試験及び読み込み試験を実行する（Ｓ１０８）。試験プロセス１１５は、ステップＳ１０８において、ステップＳ１０６で確保されたメモリ１０３のすべての書込み試験及び読み込み試験が終了した後、さらに、メモリ確保（Ｓ１１０）及び確保したメモリ１０３への書き込み試験及び読み込み試験を繰り返し実行する（Ｓ１１２）。
【００４０】
試験プロセス１１５は、メモリ確保および確保したメモリ１０３への書き込み試験及び読み込み試験を一定時間繰り返す。例えば、３０秒程度ステップＳ１０６のメモリ確保からステップＳ１０８の書き込み試験及び読み込み試験を繰り返した後、本体プロセスである検証プログラム１１０に試験結果を報告する（Ｓ１１３）。ステップＳ１１３において、試験プロセス１１５は、メモリ１０３の試験結果を報告するとともに、試験を行ったメモリ容量の情報も報告する。
【００４１】
ステップＳ１１３において、試験プロセス１１５から試験結果を報告された検証プログラム１１０は、以下の数式（３）により、試験プロセス１１５の動作試験の処理時間を算出する。
【００４２】
試験プロセスの処理時間＝試験プロセスから報告を受けた時刻−テスト開始時刻・・・（３）
【００４３】
また、数式（３）により算出した処理時間から、数式（４）により、この試験プロセスで動作試験を進めた場合の動作試験の処理完了予定時間を算出する。
【００４４】
試験プロセスの処理完了予定時間＝試験プロセスのテスト残容量／（試験プロセスのテスト済容量／試験プロセスの処理時間）・・・（４）
【００４５】
検証プログラム１１０は、上記数式（３）及び数式（４）の計算をすべての試験プロセス１１５に対して実行し、後述する進捗テーブル５００に記録する。そして、各試験プロセス１１５において予測した処理完了予定時間の平均値を算出し、算出した平均処理時間内に動作試験を完了することを目標とする。すなわち、平均処理時間が動作試験の完了目標時間となる。そして、検証プログラム１１０は、数式（５）により、各試験プロセス１１５において、完了目標時間内でテスト可能なテスト容量を算出する。
【００４６】
完了目標時間でテスト可能な容量＝完了目標時間×（試験プロセスのテスト済容量）／試験プロセスの処理時間・・・（５）
【００４７】
さらに、検証プログラム１１０は、数式（６）により、当初設定された試験プロセス１１５のテスト容量と、完了目標時間内でテスト可能なテスト容量との差分を算出する。
【００４８】
試験プロセスのテスト容量との差分＝試験プロセスのテスト容量−完了目標時間内でテスト可能な容量・・・（６）
【００４９】
数式（６）により算出された試験プロセスのテスト容量との差分値が、完了目標時間で試験を完了させるための補正対象の値となる。この補正対象の値を以下、補正値と称して説明する。補正値及び上記の算出結果は、進捗テーブル５００に記録される。
【００５０】
ここで、図７Ａ、図７Ｂ及び図８Ａ〜図８Ｃを参照して、動作試験の補正処理について説明する。図７Ａは、テスト容量補正前の進捗テーブル５００Ａを示し、図７Ｂは、テスト容量補正後の進捗テーブル５００Ｂを示す。また、図８Ａ〜図８Ｃは、メモリ１０３の動作試験を実行する各プロセスの動作状況を説明する概念図である。
【００５１】
図７Ａに示すように、進捗テーブル５００は、プロセス欄５０１、テスト容量欄５０２、処理時間欄５０３、処理済容量欄５０４、完了予定時間欄５０５、残容量欄５０６、平均完了予定時間で処理可能な容量欄５０７及び補正値欄５０８から構成される。
【００５２】
プロセス欄５０１には、生成されたプロセスを識別する情報が格納される。テスト容量欄５０２には、各プロセスに最初に割り振られたテスト容量の値が格納される。処理時間欄５０３には、動作試験を実施した時間が格納される。処理済容量欄５０４には、動作試験が完了したテスト容量の値が格納される。完了予定時間欄５０５には、上記した数式（４）により算出された動作試験処理の完了予定時間が格納される。残容量欄５０６には、テスト容量から処理済み容量を減算した動作試験対象の残りのテスト容量の値が格納される。平均完了予定時間で処理可能な容量欄５０７には、上記した数式（５）により算出された完了目標時間でテスト可能な容量の値が格納される。補正値欄５０８には、上記した数式（６）により算出された試験プロセスのテスト容量と完了目標時間内でテスト可能な容量との差分値が格納される。
【００５３】
８つのプロセスの平均完了予定時間は、完了予定時間欄５０５のすべての値を加算して、該加算値をプロセス数で減算した時間（１３５）である。
テスト容量補正前の平均完了予定時間=(60+120+120+240+60+120+240+120)/8=135
【００５４】
図７Ａでは、例えば、プロセス１及びプロセス５の補正値は「−８０」であり、動作試験の処理が平均より進んでいることを示す。また、プロセス４及びプロセス７の補正値は「２８」であり、動作試験の処理が平均より遅延していることを示す。例えば、各プロセスの動作状況は、図８Ａに示すように、プロセス１及びプロセス５が実行したテスト容量が多く、プロセス４及びプロセス７が実行したテスト容量が少ない。そこで、図８Ｂに示すように、処理の進んでいないプロセス４及びプロセス７のテスト容量を、処理の進んでいるプロセス１及びプロセス７のテスト容量に加算する。処理の進んでいないプロセス４及びプロセス７のテスト容量を、処理の進んでいるプロセス１及びプロセス７のテスト容量に加算した後の各プロセスのテスト容量を図８Ｃに示す。このように、プロセス４及びプロセス７に割り当てられているテスト容量を、プロセス１及びプロセス５のテスト容量に加算することにより、８つのプロセスの処理速度を均一化して、メモリ装置１０２の動作試験全体の処理時間を短縮することができる。
【００５５】
また、図７Ｂは、試験プロセス１１５間の動作試験の進捗の差を補正した後、所定時間経過後の進捗テーブル５００Ｂを示す。図７Ｂでは、例えば、プロセス２〜４、プロセス６〜８の補正値は「３」または「５」であり動作試験の処理が平均より遅延していることを示す。しかし、平均値と比して「３」または「５」程度のずれであれば、各プロセスに割り当てられたテスト容量を変更することなく動作試験を続行させてもよい。図７Ｂのテスト容量補正前の平均完了予定時間は、(86+120+120+135+86+120+120+135)/8=115となり、補正前の平均完了時間135よりプロセス全体の処理時間が短縮していることがわかる。
【００５６】
図５に戻り、検証プログラム１１０は、ステップＳ１１３の試験プロセス１１５からの動作試験の状況の結果報告を受けて、上記したように、補正値と補正対象プロセスとを決定する（Ｓ１１４）。
【００５７】
そして、検証プログラム１１０は、ステップＳ１１４において決定した補正対象の試験プロセス１１５に対して、割込み処理により試験容量の補正値を転送する（Ｓ１１５）。ステップＳ１１５において、検証プログラム１１０から試験容量の補正値を転送された試験プロセス１１５は、補正後のテスト容量に基づいて、メモリの確保（Ｓ１１７）及びメモリへの書き込み試験及び読み込み試験（Ｓ１１９）を実行する。
【００５８】
試験プロセス１１５が、割り振られたテスト容量に対する動作試験をすべて完了すると、本体プロセスである検証プログラム１１０に動作試験を終了したことを示す終了報告を行う（Ｓ１２０）。ステップＳ１２０において、検証プログラム１１０に終了報告をした試験プロセス１１５は、検証プログラム１１０からの割込み処理がなされるまでスリープする。
【００５９】
検証プログラム１１０は、すべての試験プロセス１１５からの終了報告がなされた時点で、すべての試験プロセス１１５に対して割込みを行う（Ｓ１２１）。試験プロセス１１５は、ステップＳ１２１において検証プログラム１１０からの割込みを受けて、ＯＳに対してメモリ解放を要求するＦｒｅｅ命令を発行する（Ｓ１２２）。ＯＳ１１６は、ステップＳ１２２における試験プロセス１１５からのメモリ解放要求に応じて、確保したすべてのメモリ１０３の解放と、使用したアロケーションテーブルの削除を行う（Ｓ１２３）。
【００６０】
ステップＳ１２３において、メモリが解放されたことをＯＳ１１６から通知された試験プロセス１１５は、プロセスを終了する（Ｓ１２４）。ステップＳ１２４において、試験プロセス１１５は、プロセスを終了する際に、動作試験を行ったテスト容量を検証プログラム１１０に報告する。
【００６１】
検証プログラム１１０は、ステップＳ１２４においてすべての試験プロセス１１５が終了した後に、試験プロセス１１５の動作試験結果を集計して、検証処理を終了する（Ｓ１２５）。
【００６２】
（４）本実施の形態の効果
以上のように、本実施の形態によれば、検証プログラム１１０は、試験対象のメモリ装置１０２の容量を取得し、ＣＰＵ１０１の構成情報を取得してＣＰＵ１０１のコア数を取得する。そして、動作試験を実行する試験プロセス１１５の数と、１つの試験プロセス１１５がアクセスするテスト容量を決定して、決定した数分の試験プロセスを生成する。各試験プロセス１１５は、設定されたメモリ容量分についてメモリアクセスを実行して、一定容量のメモリアクセスが終了した後に、動作試験結果及び動作試験処理時間を検証プログラム１１０に報告する。検証プログラム１１０は、各試験プロセス１１５における動作試験の実行容量と実行時間とから、動作試験の予定終了時間とすべての動作試験の予定終了時間の平均値を算出する。そして、その平均処理時間で処理可能なテスト容量と、最初に各試験プロセス１１５に設定されたテスト容量との差分を算出する。検証プログラム１１０は、他の試験プロセスより処理が進んでいない試験プロセスに割り当てられているテスト容量を、動作試験の実行時間の早い試験プロセスのテスト容量に加える。これにより、試験プロセス１１５の処理時間の偏りをなくし、試験プロセス１１５の待機時間を減少させて、メモリ装置１０２の動作試験全体の処理時間を短縮することが可能となる。
【００６３】
（５）他の実施の形態
例えば、本明細書の計算機１００の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、計算機１００の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。なお、計算機１００は、本発明の検証装置としての機能を有する。
【００６４】
また、計算機１００などに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述した計算機１００の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
【００６５】
また、上述の実施形態においては、計算機１００に格納されている各種プログラムに基づいて、計算機１００のＣＰＵ１０１が本発明の各種機能を実現しているが、かかる例に限定されない。例えば、ＣＰＵ１０１を計算機１００とは別体の他の装置に設けて、当該ＣＰＵ１０１と協同して各種機能を実現するようにしてもよい。また、計算機１００に格納されている各種プログラムを計算機１００とは別体の他の装置に設けて、当該プログラムがＣＰＵ１０１に呼び出されることにより各種機能を実現するようにしてもよい。
【符号の説明】
【００６６】
１００    計算機
１０２    メモリ装置
１０３    メモリ
１０４    ストレージ装置
１０５    コンソール
１０６    メモリバス
１１０    検証プログラム
１１１    実行時間予測部
１１２    プロセス進捗管理部
１１３    実行容量補正部
１１５    試験プロセス
【図１】
0005833972.tif 000002
【図２】
0005833972.tif 000003
【図４】
0005833972.tif 000004
【図５】
0005833972.tif 000005
【図６】
0005833972.tif 000006
【図７Ａ】
0005833972.tif 000007
【図７Ｂ】
0005833972.tif 000008
【図３Ａ】
0005833972.tif 000009
【図３Ｂ】
0005833972.tif 000010
【図３Ｃ】
0005833972.tif 000011
【図８Ａ】
0005833972.tif 000012
【図８Ｂ】
0005833972.tif 000013
【図８Ｃ】
0005833972.tif 000014