JP5423501B2 - Control device, test method and test program - Google Patents

Control device, test method and test program Download PDF

Info

Publication number
JP5423501B2
JP5423501B2 JP2010059835A JP2010059835A JP5423501B2 JP 5423501 B2 JP5423501 B2 JP 5423501B2 JP 2010059835 A JP2010059835 A JP 2010059835A JP 2010059835 A JP2010059835 A JP 2010059835A JP 5423501 B2 JP5423501 B2 JP 5423501B2
Authority
JP
Japan
Prior art keywords
memory
error
slot
address
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010059835A
Other languages
Japanese (ja)
Other versions
JP2011192211A (en
Inventor
智広 又谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010059835A priority Critical patent/JP5423501B2/en
Publication of JP2011192211A publication Critical patent/JP2011192211A/en
Application granted granted Critical
Publication of JP5423501B2 publication Critical patent/JP5423501B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本件は、例えばFB−DIMM(Full Buffered-Dual Inline Memory Module)の負荷試験を行なう技術に関する。   This case relates to a technique for performing a load test of, for example, an FB-DIMM (Full Buffered-Dual Inline Memory Module).

例えば、RAID(Redundant Arrays of Inexpensive Disks)装置のコントロールモジュール等の制御装置においては、メモリを取り付け可能なメモリスロットを複数そなえるものがある。又、これらのメモリスロットに取り付けられたメモリの耐久性等の品質を確認する手法として、制御装置において、メモリスロットに取り付けられたメモリに対して集中的にアクセスを行なう負荷試験が知られている。   For example, some control devices such as a control module of a RAID (Redundant Array of Inexpensive Disks) device have a plurality of memory slots in which a memory can be attached. Further, as a method for confirming the quality such as the durability of the memory attached to these memory slots, a load test is known in which a control device is intensively accessed to the memory attached to the memory slot. .

一般的なDIMM(Dual Inline Memory Module)を用いる場合には、制御装置においては、物理メモリアドレスとメモリコントローラの情報とから、論理アドレスにどのメモリスロット位置のメモリが割り当てられているかを判断することができる。これにより、負荷試験を行なうに際して、特定のメモリスロットに取り付けられたメモリに対して効率的に負荷を与えることができる。   When using a general DIMM (Dual Inline Memory Module), the control device determines which memory slot location is allocated to the logical address from the physical memory address and the information of the memory controller. Can do. Thus, when performing a load test, a load can be efficiently applied to a memory attached to a specific memory slot.

また、近年、メモリチップとやりとりされるコマンド,アドレス及びデータのすべてが一旦バッファチップに蓄えられるFB−DIMM(Fully Buffered DIMM)が知られており、このFB−DIMMをDIMMに代えて制御装置に搭載することが考えられる。FB−DIMMは、AMB(Advanced Memory Buffer)をそなえ、クロックやアドレス,データ等の全ての信号をバッファリングし、高速メモリに対するタイミングマージンを確保することにより高速動作を実現する。   In recent years, FB-DIMM (Fully Buffered DIMM) in which all of commands, addresses, and data exchanged with the memory chip are once stored in a buffer chip is known, and this FB-DIMM is replaced with a DIMM as a control device. It can be installed. The FB-DIMM has an AMB (Advanced Memory Buffer), buffers all signals such as clocks, addresses, and data, and realizes a high-speed operation by securing a timing margin for the high-speed memory.

なお、このFB−DIMMの試験手法として、FB−DIMMのAMBがそなえるメモリコントローラ機能を用いてECC(Error Correcting Code)チェックを行なう手法が知られている(下記特許文献1)。   As an FB-DIMM test method, a method of performing ECC (Error Correcting Code) check using a memory controller function provided by the AMB of the FB-DIMM is known (Patent Document 1 below).

特開2008−262325号公報JP 2008-262325 A

しかしながら、FB−DIMMにおいては、その仕様上、物理メモリアドレスとメモリコントローラの情報とから、論理アドレスにどのメモリスロット位置のメモリが割り当てられているかを判断することができない。従って、このような従来の制御装置にFB−DIMMを用いた場合には、特定のメモリスロットに取り付けられたFB−DIMMに対してメモリアクセスを集中させることができず、集中アクセスによる負荷試験を実施することができないという課題がある。   However, in the FB-DIMM, because of its specifications, it cannot be determined which memory slot position the memory is assigned to the logical address from the physical memory address and the information of the memory controller. Therefore, when an FB-DIMM is used in such a conventional control device, the memory access cannot be concentrated on the FB-DIMM attached to a specific memory slot, and a load test by the concentrated access is performed. There is a problem that it cannot be implemented.

本件の目的の一つは、このような課題に鑑み創案されたもので、メモリをそなえた制御装置において、効率的に負荷試験を実施できるようにすることである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
One of the purposes of the present case was invented in view of such a problem, and is to enable a load test to be efficiently performed in a control device having a memory.
In addition, the present invention is not limited to the above-described object, and other effects of the present invention can be achieved by the functions and effects derived from the respective configurations shown in the embodiments for carrying out the invention which will be described later. Can be positioned as one of

このため、この制御装置は、メモリを接続可能なスロットを複数そなえた制御装置であって、該メモリにかかる検証アドレスを選択する検証アドレス選択部と、該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成部と、該エラー生成部によって発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得部と、該スロット情報取得部によって取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成部と、該マッピング情報作成部によって作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行部とをそなえる。   For this reason, this control device is a control device having a plurality of slots to which a memory can be connected, and a verification address selection unit that selects a verification address related to the memory, and an error is generated by a memory access to the verification address. Slot information acquisition that acquires slot information related to the slot of the memory to which the verification address related to the error is assigned based on the error generation unit and the error response information created for the error generated by the error generation unit A mapping information creating unit that creates mapping information by associating a logical address corresponding to the verification address and the slot information based on the slot information acquired by the slot information acquiring unit, and the mapping information The mapping information created by the creation unit Based on, and an access execution unit for accessing the logical address according to the memory to be tested.

また、この試験方法は、メモリを接続可能なスロットを複数そなえた制御装置における、該メモリの試験方法であって、該メモリにかかる検証アドレスを選択する検証アドレス選択ステップと、該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成ステップと、該エラー発生ステップにおいて発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得ステップと、該スロット情報取得ステップにおいて取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成ステップと、該マッピング情報作成ステップにおいて作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行ステップとをそなえる。   Further, this test method is a test method for a memory in a control device having a plurality of slots to which a memory can be connected, a verification address selection step for selecting a verification address for the memory, and a memory for the verification address. An error generation step for generating an error by access, and slot information relating to the slot of the memory to which the verification address related to the error is assigned based on the error response information generated for the error generated in the error generation step Slot information acquisition step of acquiring mapping information, and mapping information generation for generating mapping information by associating the logical address corresponding to the verification address with the slot information based on the slot information acquired in the slot information acquisition step Step If, and an access execution step, based on the mapping information generated in the mapping information generating step performs access to the logical address according to the memory to be tested.

さらに、この試験プログラムは、メモリを接続可能なスロットを複数そなえたコンピュータにおいて、該メモリの試験を行なう試験機能を該コンピュータに実行させるための試験プログラムであって、該メモリにかかる検証アドレスを選択する検証アドレス選択ステップと、該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成ステップと、該エラー発生ステップにおいて発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得ステップと、該スロット情報取得ステップにおいて取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成ステップと、該マッピング情報作成ステップにおいて作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行ステップとを、該コンピュータに実行させる。   Further, the test program is a test program for causing the computer to execute a test function for testing the memory in a computer having a plurality of slots to which the memory can be connected, and selects a verification address for the memory. A verification address selection step, an error generation step for generating an error by memory access to the verification address, and a verification address related to the error based on the error response information generated for the error generated in the error generation step Slot information acquisition step for acquiring slot information relating to the slot of the memory to which memory is allocated, and a logical address and slot information corresponding to the verification address based on the slot information acquired in the slot information acquisition step Mapping information creating step for creating mapping information by associating with each other, and an access execution step for accessing the logical address of the memory to be tested based on the mapping information created in the mapping information creating step And causing the computer to execute.

開示の技術によれば、以下の少なくともいずれか1つの効果ないし利点が得られる。
(1)各スロット位置のメモリがどの物理メモリアドレスに割当てられているかを知ることができる。
(2)特定のスロットに取り付けられたメモリに対してメモリアクセスを集中させることができ、メモリの負荷試験を効率よく実施することができる。
According to the disclosed technology, at least one of the following effects or advantages can be obtained.
(1) It is possible to know to which physical memory address the memory at each slot position is assigned.
(2) Memory access can be concentrated on the memory installed in a specific slot, and a memory load test can be efficiently performed.

(3)マッピング情報を短時間で作成することができる。
(4)メモリへのメモリアクセス毎にキャッシュリプレースを生じさせ、メモリへのアクセス頻度を高くすることができる。
(5)メモリへの負荷を効率的に高めることができる。
(3) Mapping information can be created in a short time.
(4) It is possible to increase the frequency of access to the memory by causing cache replacement for each memory access to the memory.
(5) The load on the memory can be increased efficiently.

実施形態の一例としてのコントローラモジュールをそなえたRAID装置のハードウェア構成を模式的に示す図である。It is a figure which shows typically the hardware constitutions of the RAID apparatus provided with the controller module as an example of embodiment. 実施形態の一例としてのコントローラモジュールのメモリスロットの構成を模式的に示す図である。It is a figure which shows typically the structure of the memory slot of the controller module as an example of embodiment. FB−DIMMの機能構成を模式的に示す図である。It is a figure which shows typically the function structure of FB-DIMM. 実施形態の一例としての制御装置におけるMAPテーブルの例を示す図である。It is a figure which shows the example of the MAP table in the control apparatus as an example of embodiment. 論理アドレスと物理アドレスの関係を説明するための図である。It is a figure for demonstrating the relationship between a logical address and a physical address. 実施形態の一例としてのコントローラモジュールにおけるMAPテーブルの作成手法を説明するための図である。It is a figure for demonstrating the production method of the MAP table in the controller module as an example of embodiment. 実施形態の一例としてのコントローラモジュールにおけるアクセス実行部によるアクセス手法を説明するための図である。It is a figure for demonstrating the access method by the access execution part in the controller module as an example of embodiment. 実施形態の一例としてのコントロールモジュールにおけるFB−DIMMの負荷試験時の処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process at the time of the load test of FB-DIMM in the control module as an example of embodiment. 実施形態の一例としてのコントローラモジュールにおけるMAPテーブルの作成手法を説明するためのフローチャートである。It is a flowchart for demonstrating the production method of the MAP table in the controller module as an example of embodiment.

以下、図面を参照して実施の形態を説明する。
図1は実施形態の一例としてのコントローラモジュール1をそなえたRAID装置100のハードウェア構成を模式的に示す図、図2はそのメモリスロットの構成を模式的に示す図である。又、図3はFB−DIMMの機能構成を模式的に示す図である。
本コントローラモジュール(制御装置,コンピュータ)1は、例えば、複数の記憶装置(図示省略)がアレイ状に配列されたRAID装置100にそなえられ、RAID装置100における各種制御を行なうものである。
Hereinafter, embodiments will be described with reference to the drawings.
FIG. 1 is a diagram schematically illustrating a hardware configuration of a RAID device 100 including a controller module 1 as an example of an embodiment, and FIG. 2 is a diagram schematically illustrating a configuration of the memory slot. FIG. 3 is a diagram schematically showing the functional configuration of the FB-DIMM.
The controller module (control device, computer) 1 includes, for example, a RAID device 100 in which a plurality of storage devices (not shown) are arranged in an array, and performs various controls in the RAID device 100.

RAID装置100は、図示しないホストコンピュータ等からの入出力要求(例えば、リードコマンドやライトコマンド)に応じて、記憶装置に対して、データの読み出しや書き込み等の処理を行なう。なお、以下、RAID装置100におけるコントローラモジュール1以外の構成については、便宜上、その図示や説明を省略する。
コントローラモジュール1は、図1に示すように、CPU(Central Processing Unit)10,DMA(Direct Memory Access)コントローラ20,メモリコントローラ21及び複数(図1に示す例では16個)のFB−DIMM(メモリ)30−0〜30−15をそなえている。なお、以下、コントローラモジュール1におけるこれら以外の構成については、便宜上、その図示や説明を省略する。
The RAID device 100 performs processing such as data reading and writing on the storage device in response to an input / output request (for example, a read command or a write command) from a host computer (not shown). It should be noted that the illustration and description of components other than the controller module 1 in the RAID device 100 are omitted for convenience.
As shown in FIG. 1, the controller module 1 includes a CPU (Central Processing Unit) 10, a DMA (Direct Memory Access) controller 20, a memory controller 21, and a plurality (16 in the example shown in FIG. 1) of FB-DIMMs (memory ) 30-0 to 30-15. Hereinafter, for the sake of convenience, illustration and description of the other components of the controller module 1 are omitted.

FB−DIMM30−0〜30−15は、データの書込み及び読出しが可能な記憶装置であって、後述するメモリコントローラ21にポイント・ツー・ポイントでシリアル接続される。これらのFB−DIMM30−0〜30−15は、それぞれAMB31(図3参照)をそなえ、このAMB31にクロックやアドレス,データ等の全ての信号をバッファリングして、高速メモリに対するタイミングマージンを確保することにより高速動作を実現する。なお、以下、FB−DIMMを示す符号としては、複数のFB−DIMMのうち1つを特定する必要があるときには符号30−0〜30−15を用いるが、任意のFB−DIMMを指すときには符号30を用いる。   The FB-DIMMs 30-0 to 30-15 are storage devices capable of writing and reading data, and are serially connected to a memory controller 21 described later in a point-to-point manner. Each of these FB-DIMMs 30-0 to 30-15 has an AMB 31 (see FIG. 3), and buffers all signals such as a clock, an address, and data in the AMB 31 to ensure a timing margin for a high-speed memory. To achieve high-speed operation. Hereinafter, as a code indicating the FB-DIMM, the code 30-0 to 30-15 is used when it is necessary to specify one of the plurality of FB-DIMMs, but the code is used to indicate an arbitrary FB-DIMM. 30 is used.

各FB−DIMM30は、図2に示すように、メモリコントローラ21に接続されたスロット(Slot)S0〜S15にそれぞれ取り付けられる。スロットS0〜S15は、それぞれFB−DIMM30をメモリコントローラ21に対してデータを授受可能な状態に取り付けるコネクタである。以下、スロットを示す符号としては、複数のスロットのうち1つを特定する必要があるときには符号S0〜S15を用いるが、任意のスロットを指すときには符号Sを用いる。又、以下、スロットS0〜S15を、符号Sを略して単にスロット0〜15のように表現する場合もある。   Each FB-DIMM 30 is attached to each of slots S0 to S15 connected to the memory controller 21, as shown in FIG. Slots S <b> 0 to S <b> 15 are connectors for attaching the FB-DIMM 30 to the memory controller 21 in a state where data can be exchanged. Hereinafter, as a code indicating a slot, the code S0 to S15 is used when one of a plurality of slots needs to be specified, but the code S is used when indicating an arbitrary slot. In addition, hereinafter, the slots S0 to S15 may be simply expressed as slots 0 to 15 by omitting the symbol S.

図2に示す例においては、各スロットSはブランチ0とブランチ1とに分けて接続され、ブランチ0において、チャネル0にスロットS0,S4,S8,S12が、又、チャネル1にスロットS1,S5,S9,S13が、それぞれシリアルに接続されている。同様に、ブランチ1において、チャネル0にスロットS2,S6,S10,S14が、又、チャネル1にスロットS3,S7,S11,S15が、それぞれシリアルに接続されている。   In the example shown in FIG. 2, each slot S is divided and connected to branch 0 and branch 1. In branch 0, slots S 0, S 4, S 8, S 12 are in channel 0, and slots S 1, S 5 are in channel 1. , S9, and S13 are serially connected. Similarly, in branch 1, slots S2, S6, S10, and S14 are serially connected to channel 0, and slots S3, S7, S11, and S15 are serially connected to channel 1, respectively.

また、これらの複数のスロットSにおいて、同一ブランチ内において隣り合う2つのスロットSどうしがペア(Pair;メモリスロットペア)を形成する。図2に示す例においては、コントローラモジュール1はペア0〜ペア7の8つのペアをそなえている。
すなわち、スロット0とスロット1がペア0を形成し、スロット4とスロット5がペア2を形成する。同様に、スロット8とスロット9がペア4を、スロット12とスロット13がペア6を、スロット2とスロット3とがペア1を、スロット6とスロット7とがペア3を、スロット10とスロット11とがペア5を、スロット14とスロット15とがペア7を、それぞれ形成する。
Further, in the plurality of slots S, two adjacent slots S in the same branch form a pair (Pair; memory slot pair). In the example illustrated in FIG. 2, the controller module 1 includes eight pairs of a pair 0 to a pair 7.
That is, slot 0 and slot 1 form pair 0, and slot 4 and slot 5 form pair 2. Similarly, slot 8 and slot 9 are pair 4, slot 12 and slot 13 are pair 6, slot 2 and slot 3 are pair 1, slot 6 and slot 7 are pair 3, slot 10 and slot 11 are the same. Form a pair 5, and a slot 14 and a slot 15 form a pair 7.

なお、以下、ペアを特定する0〜7の数字(識別情報)をメモリスロットペア番号という場合がある。そして、このメモリスロットペア番号が、FB−DIMM30のスロットに関するスロット情報に相当する。
また、これらの複数のスロットSにおいて、スロット0〜3がランク(Rank)0,1を形成する。そして、シングルランクのFB−DIMM30を搭載する際には、ランク0が用いられ、デュアルランクのFB−DIMM30を搭載する際には、ランク0,1が用いられる。同様に、スロット4〜7がランク2,3を、スロット8〜11がランク4,5を、スロット12〜15がランク6,7を、それぞれ形成する。そして、シングルランクのFB−DIMM30を搭載する際には、ランク2,4,6が用いられ、デュアルランクのFB−DIMM30を搭載する際には、ランク2〜7が用いられる。
Hereinafter, the numbers (identification information) 0 to 7 specifying the pair may be referred to as memory slot pair numbers. The memory slot pair number corresponds to slot information related to the slot of the FB-DIMM 30.
Further, in these plurality of slots S, slots 0 to 3 form ranks 0 and 1. Rank 0 is used when a single rank FB-DIMM 30 is mounted, and ranks 0 and 1 are used when a dual rank FB-DIMM 30 is mounted. Similarly, slots 4 to 7 form ranks 2 and 3, slots 8 to 11 form ranks 4 and 5, and slots 12 to 15 form ranks 6 and 7, respectively. When the single rank FB-DIMM 30 is mounted, ranks 2, 4 and 6 are used, and when the dual rank FB-DIMM 30 is mounted, ranks 2 to 7 are used.

FB−DIMM30は、図3に示すように、AMB31と複数のDRAM(Dynamic Random Access Memory)32とをそなえている。DRAM32はキャパシタに電荷を蓄えることにより情報を記憶する揮発性のメモリである。AMB31は、メモリコントローラ21からの指示に従い、DRAM32へのデータの書き込み、又はDRAM32からのデータの読み出しを行なう。このAMB31は、図3に示すように、ノースバウンド(NorthBound)制御部301,ノースバウンドフレーム作成部302,レジスタアクセス制御部303,DRAM制御部304,サウスバウンド(SouthBound)フレーム解析部305およびサウスバウンド制御部306をそなえている。   As shown in FIG. 3, the FB-DIMM 30 includes an AMB 31 and a plurality of DRAMs (Dynamic Random Access Memory) 32. The DRAM 32 is a volatile memory that stores information by storing electric charge in a capacitor. The AMB 31 writes data to the DRAM 32 or reads data from the DRAM 32 in accordance with an instruction from the memory controller 21. As shown in FIG. 3, the AMB 31 includes a northbound control unit 301, a northbound frame creation unit 302, a register access control unit 303, a DRAM control unit 304, a southbound frame analysis unit 305, and a southbound. A control unit 306 is provided.

なお、図3に示す例においては、便宜上、一部のFB−DIMM30だけを図示するとともに、1つのFB−DIMM30についてだけ、その機能構成を図示している。
FB−DIMM30は、リード方向バスであるシリアルリンク(ノースバウンド)と、ライト方向バスであるシリアルリンク(サウスバウンド)とをそなえている。そして、AMB31は、サウスバウンドを通じてホストとなるメモリコントローラから与えられたシリアルデータを一旦バッファリングし、DRAM32に転送する。このシリアルデータにはDRAM32に与えるアドレス、データ、コマンド情報が含まれており、AMB31内部でDRAMバスデータへの変換が行なわれる。
In the example illustrated in FIG. 3, for convenience, only a part of the FB-DIMMs 30 is illustrated and the functional configuration of only one FB-DIMM 30 is illustrated.
The FB-DIMM 30 includes a serial link (northbound) that is a read direction bus and a serial link (southbound) that is a write direction bus. Then, the AMB 31 once buffers the serial data given from the memory controller serving as the host through the southbound and transfers it to the DRAM 32. This serial data includes address, data, and command information to be given to the DRAM 32 and is converted into DRAM bus data inside the AMB 31.

サウスバウンド制御部306は、メモリコントローラ21から送信されたシリアルデータの転送等を制御するものである。サウスバウンドフレーム解析部305は、メモリコントローラ21から送信されたシリアルデータのヘッダ等を解析して、シリアルデータが当該FB−DIMM30宛であるものであるか等を判断する。
また、DRAM32から読み出されたデータはシリアルデータに変換され、ノースバウンドにのせてメモリコントローラ21へと返される。
The southbound control unit 306 controls transfer of serial data transmitted from the memory controller 21. The southbound frame analysis unit 305 analyzes the header of the serial data transmitted from the memory controller 21 and determines whether the serial data is addressed to the FB-DIMM 30 or the like.
The data read from the DRAM 32 is converted into serial data and returned to the memory controller 21 on the northbound.

ノースバウンドフレーム作成部302は、DRAM32から読み出したデータに基づき、メモリコントローラ21等に送信するシリアルデータを作成する。ノースバウンド制御部301は、メモリコントローラ21へ送信されるシリアルデータの転送等を制御するものである。DRAM制御部304はDRAM32へのデータの書込み及び読出しを制御するものである。レジスタアクセス制御部303は、図示しないFB−DIMM30のレジスタへのアクセスを制御するものである。   The northbound frame creation unit 302 creates serial data to be transmitted to the memory controller 21 and the like based on the data read from the DRAM 32. The northbound control unit 301 controls transfer of serial data transmitted to the memory controller 21 and the like. The DRAM control unit 304 controls writing and reading of data to and from the DRAM 32. The register access control unit 303 controls access to a register of the FB-DIMM 30 (not shown).

そして、本制御装置1のスロットSに取り付けられる複数のFB−DIMM30は、同じ規格に従って形成されている。又、これらのFB−DIMM30においては、必ずしも同じメモリ容量を有する必要はなく、容量の異なるFB−DIMM30を、適宜、組み合わせて使用することができる。なお、これらの複数のFB−DIMM30のうち、最もメモリ容量が少ないFB−DIMM30を最小容量FB−DIMM30といい、そのメモリ容量を最小容量という場合がある。   And the some FB-DIMM30 attached to the slot S of this control apparatus 1 is formed according to the same specification. Further, these FB-DIMMs 30 do not necessarily have the same memory capacity, and FB-DIMMs 30 having different capacities can be used in appropriate combination. Of these plural FB-DIMMs 30, the FB-DIMM 30 with the smallest memory capacity may be referred to as the minimum capacity FB-DIMM 30, and the memory capacity may be referred to as the minimum capacity.

また、上述した複数のFB−DIMM30のうち一部には、後述するMAPテーブルMTが格納される。図1に示す例においては、FB−DIMM30−0にMAPテーブルMTが格納されている状態を示している。すなわち、このFB−DIMM30−0がMAPテーブルMTを格納するマッピング情報格納部として機能する。
なお、このMAPテーブルMTは、必ずしもFB−DIMM30−0に格納する必要はなく、他のFB−DIMM30に格納したり、複数のFB−DIMM30に分散して格納してもよい。すなわち、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
In addition, a MAP table MT described later is stored in a part of the plurality of FB-DIMMs 30 described above. In the example shown in FIG. 1, the MAP table MT is stored in the FB-DIMM 30-0. That is, the FB-DIMM 30-0 functions as a mapping information storage unit that stores the MAP table MT.
The MAP table MT is not necessarily stored in the FB-DIMM 30-0, and may be stored in another FB-DIMM 30 or may be distributed and stored in a plurality of FB-DIMMs 30. That is, various modifications can be made without departing from the spirit of the present embodiment.

DMAコントローラ20は、複数のFB−DIMM30間や、FB−DIMM30とI/Oデバイス(図示省略)等との間のデータ転送を制御するものである。このDMAコントローラ20は、CPU10等を介することなくデータ転送を行なうDMA転送における通信制御を実現する。
メモリコントローラ(MCH:Memory Controller Hub)21は、複数のFB−DIMM30や外部キャッシュメモリチップ(図示省略)等を制御して、CPU10やI/Oデバイス(例えば、グラフィックカード)とのデータ転送をつかさどる。
The DMA controller 20 controls data transfer between a plurality of FB-DIMMs 30 and between the FB-DIMM 30 and an I / O device (not shown). The DMA controller 20 implements communication control in DMA transfer in which data transfer is performed without going through the CPU 10 or the like.
A memory controller (MCH: Memory Controller Hub) 21 controls a plurality of FB-DIMMs 30 and external cache memory chips (not shown) and controls data transfer with the CPU 10 and I / O devices (for example, graphic cards). .

このメモリコントローラ21は、CPU10とCPUバスを介して通信可能に接続されている。又、このメモリコントローラ21には、複数のFB−DIMM30やI/Oデバイスが接続されており、メモリコントローラ21は、CPU10と、これらのメモリ30やI/Oデバイスとの間におけるデータの授受を制御する。
また、メモリコントローラ21は、エラーインジェクション機能をそなえており、FB−DIMM30に意図的にECCエラーを発生させることができる。すなわち、このメモリコントローラ21は、FB−DIMM30へのメモリアクセスによりエラーを発生させるエラー生成部として機能する。なお、このメモリコントローラ21は、後述するCPU10のコア0によるエラー生成指示に従ってECCエラーを発生させる。又、このメモリコントローラ21のエラーインジェクション機能は既知の手法により実現することができ、その詳細な説明は省略する。
The memory controller 21 is communicably connected to the CPU 10 via a CPU bus. The memory controller 21 is connected to a plurality of FB-DIMMs 30 and I / O devices, and the memory controller 21 exchanges data between the CPU 10 and these memories 30 and I / O devices. Control.
In addition, the memory controller 21 has an error injection function, and can intentionally generate an ECC error in the FB-DIMM 30. That is, the memory controller 21 functions as an error generation unit that generates an error by memory access to the FB-DIMM 30. The memory controller 21 generates an ECC error in accordance with an error generation instruction from the core 0 of the CPU 10 described later. The error injection function of the memory controller 21 can be realized by a known method, and detailed description thereof is omitted.

さらに、メモリコントローラ21は、FB−DIMM30へのメモリアクセスにより発生させたエラーに関して、エラー応答情報を作成してCPU10に対して送信する。すなわち、メモリコントローラ21は、発生させたエラーに関してエラー応答情報を作成するエラー応答情報作成部として機能する。
ここで、エラー応答情報としては、例えば、エラーが発生したブランチを特定する情報(エラーブランチ特定情報),エラーが発生したランクを特定する情報(エラーランク特定情報)、及びエラーが発生したチャネルを特定する情報(エラーチャネル特定情報)である。
Further, the memory controller 21 creates error response information and transmits it to the CPU 10 regarding the error generated by the memory access to the FB-DIMM 30. That is, the memory controller 21 functions as an error response information creating unit that creates error response information regarding the generated error.
Here, as the error response information, for example, information for specifying a branch in which an error has occurred (error branch specifying information), information for specifying a rank in which an error has occurred (error rank specifying information), and a channel in which an error has occurred Information to be specified (error channel specifying information).

なお、これらのエラー応答情報としては、チップセットを提供するメーカの仕様等に応じて適宜変更して実現することが望ましい。
CPU10は、メモリやHDD(Hard Disk Drive:磁気記憶装置)等の図示しない記憶装置に格納されたプログラムを実行することにより、種々の演算や制御を行ない、種々の機能を実現するものである。そして、このCPU10は、試験プログラムを実行することにより、本コントローラモジュール1に搭載されたFB−DIMM30の負荷試験を実行する。
It is desirable that these error response information be realized by appropriately changing according to the specifications of the manufacturer that provides the chipset.
The CPU 10 executes various programs and controls and implements various functions by executing a program stored in a storage device (not shown) such as a memory or HDD (Hard Disk Drive). And this CPU10 performs the load test of FB-DIMM30 mounted in this controller module 1 by running a test program.

また、このCPU10は、複数のコア(プロセッサコア)を有するマルチコアプロセッサとして構成されている。そして、これらのコアは、それぞれがプログラムを実行することにより、互いに独立して処理を実行することができる。なお、本実施形態においては、図1に示すように、CPU10が、コア11−0〜11−3の4つのコアを有する4コアプロセッサの例について説明する。   The CPU 10 is configured as a multi-core processor having a plurality of cores (processor cores). These cores can execute processing independently of each other by executing a program. In the present embodiment, as illustrated in FIG. 1, an example of a four-core processor in which the CPU 10 has four cores of cores 11-0 to 11-3 will be described.

なお、以下、コアを示す符号としては、複数のコアのうち1つを特定する必要があるときには符号11−0〜11−3を用いるが、任意のコアを指すときには符号11を用いる。又、以下、コア11−0を単にコア0という場合がある。同様に、コア11−1をコア1、コア11−2をコア2、コア11−3をコア3とそれぞれいう場合がある。
なお、これらの4つのコア0〜コア3は、互いに同じ構成であってもよく、又、少なくとも1つのコアを他のコアと異なる構成をそなえていてもよい。
Hereinafter, as a code indicating the core, the code 11-0 to 11-3 is used when one of the plurality of cores needs to be specified, but the code 11 is used when designating an arbitrary core. Hereinafter, the core 11-0 may be simply referred to as the core 0. Similarly, the core 11-1 may be referred to as a core 1, the core 11-2 may be referred to as a core 2, and the core 11-3 may be referred to as a core 3.
These four cores 0 to 3 may have the same configuration as each other, or at least one core may have a configuration different from other cores.

コア0は、MAPテーブルMTを作成するMAPテーブル作成機能と、MAPテーブルMTを参照して、FB−DIMM30に対してアクセスを行なうことにより、FB−DIMM30に対して負荷を与える負荷付与機能とを実現する。
図4は実施形態の一例としての制御装置1におけるMAPテーブルMTの例を示す図である。MAPテーブルMTは、論理アドレスとメモリスロットペア番号(スロット情報)とを対応付けることにより構成されている。すなわち、MAPテーブルMTは、0〜7の各メモリスロットペア番号に対して、論理アドレスを複数個、関連付けて登録している。ここで、このMAPテーブルMTに登録される論理アドレスは、各メモリスロットペアにそれぞれ割り当てられている物理アドレスに対応するものであり、試験領域という場合がある。なお、図4においては、便宜上、全ての論理アドレスを“xxxxxxxx”と表わしている。
The core 0 has a MAP table creation function for creating the MAP table MT, and a load giving function for giving a load to the FB-DIMM 30 by accessing the FB-DIMM 30 with reference to the MAP table MT. Realize.
FIG. 4 is a diagram illustrating an example of the MAP table MT in the control device 1 as an example of the embodiment. The MAP table MT is configured by associating logical addresses with memory slot pair numbers (slot information). That is, the MAP table MT registers a plurality of logical addresses in association with each of the memory slot pair numbers 0-7. Here, the logical address registered in the MAP table MT corresponds to a physical address assigned to each memory slot pair, and may be referred to as a test area. In FIG. 4, for the sake of convenience, all logical addresses are represented as “xxxxxxxx”.

図5は論理アドレスと物理アドレスの関係を説明するための図である。物理アドレスは、物理空間上の位置を示す情報である。一方、論理アドレスは、論理アドレス空間上の位置を示す情報であって、物理アドレスにアクセスするための情報である。物理メモリ空間における領域には、ページング機能によって論理アドレスが割り当てられる。図5に示す例においては、論理アドレス空間において#0で始まる空間(領域)が物理メモリにおける空間Aに割り当てられている。同様に、論理アドレス空間において#1000で始まる領域が物理メモリにおける空間Bに割り当てられている。又、この論理アドレスは、例えば、CPU10において実行されるプログラムがアクセスを行なう際に用いる。   FIG. 5 is a diagram for explaining the relationship between logical addresses and physical addresses. The physical address is information indicating a position in the physical space. On the other hand, the logical address is information indicating a position in the logical address space, and is information for accessing the physical address. A logical address is assigned to an area in the physical memory space by a paging function. In the example shown in FIG. 5, a space (area) starting with # 0 in the logical address space is allocated to the space A in the physical memory. Similarly, an area beginning with # 1000 in the logical address space is allocated to the space B in the physical memory. The logical address is used when a program executed in the CPU 10 accesses, for example.

また、このMAPテーブルMTのうち、同一の行を構成する一連の論理アドレス、すなわち、メモリスロットペア番号0〜7にそれぞれ対応する同一行の8つの論理アドレスに同じ試験領域番号を付して表わしている。この試験領域番号は、試験領域を識別するための識別情報であり、図5に示す例においては、試験領域番号として整数を用いている。
MAPテーブルMTにおいて、各メモリスロットペア毎の試験領域の数(試験領域数)は、CPU10のキャッシュ(CPUキャッシュ)におけるウェイ数よりも多くそなえられている。ウェイ数は、キャッシュを分割し、1つのインデックスに対して複数のタグアドレス(およびデータ)を持たせるセットアソシエイティブ方式における、キャッシュの分割数を表す。又、1つのウェイのサイズ(ウェイサイズ)はCPU毎に予め設定されている。
In the MAP table MT, a series of logical addresses constituting the same row, that is, eight logical addresses in the same row corresponding to the memory slot pair numbers 0 to 7 are given the same test area number. ing. The test area number is identification information for identifying the test area. In the example shown in FIG. 5, an integer is used as the test area number.
In the MAP table MT, the number of test areas (number of test areas) for each memory slot pair is larger than the number of ways in the CPU 10 cache (CPU cache). The number of ways represents the number of cache divisions in the set associative method in which the cache is divided and a plurality of tag addresses (and data) are assigned to one index. Also, the size of one way (way size) is preset for each CPU.

そして、本実施形態においては、試験領域数をウェイ数よりも多くすることにより、キャッシュミスを必ず生じさせ、キャッシュ(ウェイ)のリプレイスを生じさせることができ、FB−DIMM30へのアクセス頻度を高めることができる。なお、本実施形態においては、試験領域数はウェイ数の2倍以上になるよう作成される。
また、各メモリスロットペア毎の試験領域は、同じキャッシュライン上に割り当てられる領域となるように作成されており(詳細は後述)、他のペア及び他のコアが使用するキャッシュラインとは重ならないようになっている。なお、キャッシュラインとは、キャッシュメモリにデータを格納する際の格納単位であり、キャッシュラインサイズはキャッシュメモリに一度に書き込まれるデータのサイズを表す。
In the present embodiment, by making the number of test areas larger than the number of ways, a cache miss can be surely generated and a cache (way) can be replaced, and the access frequency to the FB-DIMM 30 is increased. be able to. In the present embodiment, the number of test areas is created to be twice or more the number of ways.
In addition, the test area for each memory slot pair is created so as to be an area allocated on the same cache line (details will be described later), and does not overlap with cache lines used by other pairs and other cores. It is like that. The cache line is a storage unit for storing data in the cache memory, and the cache line size represents the size of data written to the cache memory at one time.

なお、ウェイサイズやキャッシュサイズ,キャッシュラインサイズ,ウェイ数等は、例えば、アセンブラのcpuidコマンドを用いて取得することができ、コア0は、このような手法を用いて、これらの情報を取得する。
さらに、このMAPテーブルMTは、少なくとも、CPU10にそなえられた複数のコアのうち、FB−DIMM30の負荷試験を行なうに際してメモリアクセスにかかる負荷試験を行なうコアと同数、作成される。例えば、本実施形態においては、後述の如くコア0,コア1及びコア2の3つのコアがFB−DIMM30のメモリアクセスにかかる負荷試験を行なうので、少なくとも3つのMAPテーブルMTが作成される。
Note that the way size, cache size, cache line size, number of ways, and the like can be obtained using, for example, the cpuid command of the assembler, and the core 0 obtains such information using such a method. .
Further, the MAP tables MT are created at least as many as the cores that perform the load test for the memory access when performing the load test of the FB-DIMM 30 among the plurality of cores provided in the CPU 10. For example, in the present embodiment, as described later, three cores, core 0, core 1, and core 2, perform a load test on memory access of the FB-DIMM 30, so that at least three MAP tables MT are created.

そして、このようなMAPテーブルMTを作成するMAPテーブル作成機能は、コア0が検証アドレス選択部101,エラー生成指示部102,スロット情報取得部103及びテーブル作成部104として機能することにより実現される。
検証アドレス選択部101は、MAPテーブルMTを作成するに際して、FB−DIMM30にかかる検証アドレスを選択するものである。検証アドレスは、スロットSに取り付けられたFB−DIMM30に割り当てられた論理アドレスを特定するべく、検証を行なうためのアクセス対象とする物理アドレスである。
The MAP table creation function for creating such a MAP table MT is realized by the core 0 functioning as the verification address selection unit 101, the error generation instruction unit 102, the slot information acquisition unit 103, and the table creation unit 104. .
The verification address selection unit 101 selects a verification address for the FB-DIMM 30 when creating the MAP table MT. The verification address is a physical address to be accessed for verification in order to specify a logical address assigned to the FB-DIMM 30 attached to the slot S.

この検証アドレス選択部101は、FB−DIMM30における未使用領域であって、CPU10の2次キャッシュ(図示省略)の1ウェイ分と同じサイズの未使用領域を検証アドレス領域として選択する。又、この検証アドレス領域を特定するためのアドレス(例えば、その先頭アドレス)を検証アドレスという。又、以下、検証アドレス領域に対してアクセス等の処理を行なうことを、単に、検証アドレスに対して処理を行なうと表現する場合がある。なお、本実施形態においては、検証アドレス選択部101は、検証アドレスの切り替えに際して、物理メモリ空間において値が小さいメモリアドレスから値が大きいメモリアドレスにかけてアドレスの切り替えを行なうものとする。   The verification address selection unit 101 selects an unused area that is an unused area in the FB-DIMM 30 and has the same size as that of one way of the secondary cache (not shown) of the CPU 10 as a verification address area. An address for specifying the verification address area (for example, its head address) is called a verification address. Further, hereinafter, processing such as access to the verification address area may be simply expressed as processing for the verification address. In this embodiment, when the verification address is switched, the verification address selection unit 101 switches the address from a memory address having a small value to a memory address having a large value in the physical memory space.

そして、この検証アドレス選択部101によって選択された検証アドレスに対して、後述の如く、メモリコントローラ21によるエラーインジェクション機能を用いたECCエラーが意図的に発生される。
エラー生成指示部102は、メモリコントローラ(エラー生成部)21に対して、検証アドレス選択部101によって選択された検証アドレスにECCエラーを発生させるための指示を行なう。具体的には、検証アドレスに対して、あえてECCコードとしてエラーを表す値が含まれたテストデータを書き込ませる。これにより、検証アドレスにおいてECCエラーが検出されることになる。例えば、エラー生成指示部102は、検証アドレスとともにメモリコントローラ21に対して所定のコマンドを発行することにより、このメモリコントローラ21が、FB−DIMM30における検証アドレスに対応する位置にシングルビットエラーを発生させる。なお、この選択した検証アドレスは、例えばFB−DIMM30−1等の所定の記憶領域に格納される。本実施形態においては、検証アドレスは、後述の如く、変数taddrとしてばFB−DIMM30−1の所定の領域に格納される。
Then, as described later, an ECC error using an error injection function by the memory controller 21 is intentionally generated for the verification address selected by the verification address selection unit 101.
The error generation instruction unit 102 instructs the memory controller (error generation unit) 21 to generate an ECC error at the verification address selected by the verification address selection unit 101. Specifically, test data including a value representing an error as an ECC code is written to the verification address. As a result, an ECC error is detected at the verification address. For example, the error generation instruction unit 102 issues a predetermined command to the memory controller 21 together with the verification address, so that the memory controller 21 generates a single bit error at a position corresponding to the verification address in the FB-DIMM 30. . The selected verification address is stored in a predetermined storage area such as the FB-DIMM 30-1. In this embodiment, the verification address is stored in a predetermined area of the FB-DIMM 30-1 as a variable taddr, as will be described later.

また、メモリコントローラ21は、ECCエラーを発生させた検証アドレスからデータのリードを行ない、このエラーインジェクション機能によって発生させたエラーについて、前述の如くエラー応答情報の作成も行なう。
スロット情報取得部103は、メモリコントローラ21によって発生させたエラーに関して作成されたエラー応答情報に基づいて、このエラーにかかる検証アドレスが割り当てられているFB−DIMMのスロットに関するスロット情報を取得する。
In addition, the memory controller 21 reads data from the verification address that caused the ECC error, and also creates error response information for the error generated by the error injection function as described above.
The slot information acquisition unit 103 acquires slot information related to the slot of the FB-DIMM to which the verification address related to this error is assigned based on the error response information generated regarding the error generated by the memory controller 21.

具体的には、スロット情報取得部103は、メモリコントローラ21が作成したエラー応答情報を受信し、このエラー応答情報から、エラーブランチ特定情報,エラーランク特定情報及びエラーチャネル特定情報を抽出する。そして、スロット情報取得部103は、これらのエラーブランチ特定情報,エラーランク特定情報及びエラーチャネル特定情報から、シングルビットエラーが発生したFB−DIMM30のメモリスロットペアを判断する。   Specifically, the slot information acquisition unit 103 receives the error response information created by the memory controller 21, and extracts error branch specifying information, error rank specifying information, and error channel specifying information from the error response information. Then, the slot information acquisition unit 103 determines the memory slot pair of the FB-DIMM 30 in which the single bit error has occurred from these error branch specifying information, error rank specifying information, and error channel specifying information.

具体的には、例えば、インテル社のチップセットにおいては、エラーブランチを特定するエラーブランチ特定情報や、エラーランクを特定するエラーランク特定情報,エラーチャネルを特定するエラーチャネル特定情報として、それぞれ特定のレジスタの特定のビットの値を用いることができる。すなわち、これらのエラーブランチ特定情報,エラーランク特定情報,エラーチャネル特定情報をエラー応答情報として使用することができる。   Specifically, for example, in the Intel chipset, specific error branch specifying information for specifying an error branch, error rank specifying information for specifying an error rank, and error channel specifying information for specifying an error channel are specified respectively. The value of a specific bit of the register can be used. That is, these error branch specifying information, error rank specifying information, and error channel specifying information can be used as error response information.

そして、スロット情報取得部103は、これらの情報を組み合わせることにより、シングルビットエラーが発生したFB−DIMM30のメモリスロットペアを判断することができる。
また、スロット情報取得部103は、この判断したメモリスロットペアのメモリスロットペア番号(スロット情報)をテーブル作成部104に受け渡す。
The slot information acquisition unit 103 can determine the memory slot pair of the FB-DIMM 30 in which a single bit error has occurred by combining these pieces of information.
Further, the slot information acquisition unit 103 passes the determined memory slot pair number (slot information) of the memory slot pair to the table creation unit 104.

テーブル作成部(マッピング情報作成部)104は、スロット情報取得部103によって取得されたメモリスロットペア番号に基づいて、そのメモリスロットペア番号に対して、シングルビットエラーを発生させた検証アドレスに対応する論理アドレスを対応付けて登録することにより、前述の如きMAPテーブルMT(マッピング情報)を作成する。
また、このテーブル作成部104によって作成されたMAPテーブルMTは、例えばFB−DIMM30−1に格納される。すなわち、このFB−DIMM30−1が、テーブル作成部104によって作成されたマップテーブルを格納するマップテーブル格納部として機能する。なお、CPU10においては、このようなマップテーブルが格納された領域やプログラムが格納されたプログラム領域等を認識しており、これらの領域を検証アドレスとして判断することはない。
Based on the memory slot pair number acquired by the slot information acquisition unit 103, the table generation unit (mapping information generation unit) 104 corresponds to the verification address that caused the single bit error for the memory slot pair number. By registering the logical addresses in association with each other, the MAP table MT (mapping information) as described above is created.
Further, the MAP table MT created by the table creation unit 104 is stored in, for example, the FB-DIMM 30-1. That is, the FB-DIMM 30-1 functions as a map table storage unit that stores the map table created by the table creation unit 104. Note that the CPU 10 recognizes an area in which such a map table is stored, a program area in which a program is stored, and the like, and does not determine these areas as verification addresses.

そして、上述の如く、メモリコントローラ21によるシングルビットエラーの生成やエラー応答情報の作成,スロット情報取得部103によるエラー応答情報の取得,テーブル作成部104によるMAPテーブルMTの作成が行なわれると、検証アドレス選択部101は検証アドレスを切り替える。なお、これらの検証アドレスの選択からMAPテーブルMTへの一連の処理は、MAPテーブルMTにおいて、試験領域数が所定数に達するまで繰り返し行なわれる。すなわち、試験領域数がCPU10のキャッシュにおけるウェイ数の2倍以上になるまで繰り返し行なわれる。   As described above, when the memory controller 21 generates a single bit error, creates error response information, acquires the error response information by the slot information acquisition unit 103, and creates the MAP table MT by the table creation unit 104, the verification is performed. The address selection unit 101 switches the verification address. A series of processing from selection of these verification addresses to the MAP table MT is repeated until the number of test areas reaches a predetermined number in the MAP table MT. That is, the test is repeated until the number of test areas becomes twice or more the number of ways in the cache of the CPU 10.

図6は実施形態の一例としてのコントローラモジュール1におけるMAPテーブルMTの作成手法を説明するための図である。この図6に示す例においては、物理メモリ空間においてアドレス#A〜#Bの領域にスロット0〜3が割り当てられており、アドレス#C以降の領域にスロット4,5が割り当てられているものとする。
テーブル作成部104は、メモリ空間の先頭に割り当てられているメモリスロットペア分の項目を用意する。そして、テーブル作成部104は、先ず、アドレス#Aに割り当てられているスロットについて、そのメモリスロットペアをMAPテーブルMTの列項目として作成する。
FIG. 6 is a diagram for explaining a method of creating the MAP table MT in the controller module 1 as an example of the embodiment. In the example shown in FIG. 6, slots 0 to 3 are assigned to areas of addresses #A to #B in the physical memory space, and slots 4 and 5 are assigned to areas after address #C. To do.
The table creation unit 104 prepares items for memory slot pairs assigned at the head of the memory space. Then, the table creation unit 104 first creates the memory slot pair as a column item of the MAP table MT for the slot assigned to the address #A.

そして、検証アドレス選択部101は、アドレス#AからCPU10のキャッシュサイズ単位で検証アドレスを切り替える。すなわち、検証アドレス選択部101は、先に選択したアドレスに対して、キャッシュサイズを加算した値を次の検証アドレスとして選択する。以下、隣接しない離れた位置のアドレスを選択することをアドレススキップもしくはアドレスジャンプという場合がある。又、この際、次のアドレスまでの距離をジャンプ単位といい、例えば、キャッシュサイズだけ離れたアドレスにアドレスジャンプを行なうことを、キャッシュサイズ単位でアドレスジャンプを行なうと表現する場合がある。   The verification address selection unit 101 switches the verification address in units of the cache size of the CPU 10 from the address #A. That is, the verification address selection unit 101 selects a value obtained by adding the cache size to the previously selected address as the next verification address. Hereinafter, selecting addresses at positions that are not adjacent to each other may be referred to as address skip or address jump. In this case, the distance to the next address is called a jump unit. For example, performing an address jump to an address separated by a cache size may be expressed as performing an address jump in units of cache size.

この切り替え先の検証アドレスに対して、メモリコントローラ21によるシングルビットエラーの生成やエラー応答情報の作成,スロット情報取得部103によるエラー応答情報の取得,テーブル作成部104によるMAPテーブルMTへの登録が行なわれる。なお、本実施形態においては、検証アドレス選択部101は、検証アドレスのアドレススキップを行なうに際して、物理メモリ空間においてメモリアドレスが小さい方から大きい方に向けて行なうものとする。   For this verification address of the switching destination, the memory controller 21 generates a single bit error, creates error response information, acquires error response information by the slot information acquisition unit 103, and registers it in the MAP table MT by the table creation unit 104. Done. In the present embodiment, it is assumed that the verification address selection unit 101 performs the address skip of the verification address from the smaller memory address to the larger memory address in the physical memory space.

このような、検証アドレスのキャッシュサイズ単位でのアドレススキップ,シングルビットエラーの生成,エラー応答情報の取得及びMAPテーブルMTへの登録は、MAPテーブルMTにおいて、試験領域の数がスロットに対して予め設定された必要数を満たすまで繰り返し行なわれる。
スロット0〜3について、MAPテーブルMTにおいて試験領域が必要数分確保されると、次に、検証アドレス選択部101は、FB−DIMM30にかかる物理アドレスにおいて、先にメモリアクセスを行なった該検証アドレスから、複数のFB−DIMM30のうちの最小容量サイズ以上(本実施形態では最小容量サイズ)離れた位置を次の検証アドレスとして選択する。すなわち、検証アドレス選択部101は、最小容量サイズ単位でアドレスジャンプを行なう。なお、本実施形態においては、検証アドレス選択部101は、検証アドレスのアドレスジャンプを行なうに際して、物理メモリ空間においてメモリアドレスが小さい方から大きい方に向けて行なうものとする。
Such an address skip in units of the cache size of the verification address, generation of a single bit error, acquisition of error response information, and registration in the MAP table MT are performed in advance in the MAP table MT so that the number of test areas is pre- Repeated until the required number is met.
When the required number of test areas are secured in the MAP table MT for the slots 0 to 3, the verification address selection unit 101 next uses the verification address that has previously performed memory access at the physical address related to the FB-DIMM 30. From the plurality of FB-DIMMs 30, a position away from the minimum capacity size (minimum capacity size in this embodiment) is selected as the next verification address. That is, the verification address selection unit 101 performs an address jump in units of the minimum capacity size. In the present embodiment, it is assumed that the verification address selection unit 101 performs an address jump of a verification address from a smaller memory address to a larger memory address in the physical memory space.

この最小容量サイズ単位でのアドレスジャンプは、新たな検証アドレスが先にMAPテーブルMTへ登録を行なったスロットとは異なるスロットに対応するものになるまで行なうことが望ましい。
そして、この新たな検証アドレスが、先にMAPテーブルMTへ登録を行なったスロットとは異なるスロット(例えば、スロット4,5)に対応するものである場合には、テーブル作成部104は、メモリ空間の先頭に割り当てられているメモリスロットペア分の項目を用意する。テーブル作成部104は、アドレス#Bに割り当てられているスロットについて、そのメモリスロットペアをMAPテーブルMTの列項目として作成する。
The address jump in units of the minimum capacity size is desirably performed until the new verification address corresponds to a slot different from the slot that has been previously registered in the MAP table MT.
When this new verification address corresponds to a slot (for example, slots 4 and 5) different from the slot that has been previously registered in the MAP table MT, the table creation unit 104 stores the memory space. Prepare items for the memory slot pair assigned at the beginning of. The table creation unit 104 creates the memory slot pair as a column item of the MAP table MT for the slot assigned to the address #B.

その後、検証アドレス選択部101は、この新たな検証アドレスからCPU10のキャッシュサイズ単位でアドレススキップを行ない、シングルビットエラーの生成,エラー応答情報の取得及びMAPテーブルMTへの登録を行なう。
このような、スロット4,5についての、検証アドレスのキャッシュサイズ単位でのアドレススキップ,シングルビットエラーの生成,エラー応答情報の取得及びMAPテーブルMTへの登録も、MAPテーブルMTにおいて、試験領域の数がスロットに対して予め設定された必要数を満たすまで繰り返し行なわれる。
Thereafter, the verification address selection unit 101 performs address skip in units of the cache size of the CPU 10 from the new verification address, generates a single bit error, acquires error response information, and registers it in the MAP table MT.
For such slots 4 and 5, address skip in units of cache size of verification addresses, generation of single bit errors, acquisition of error response information and registration in the MAP table MT are also performed in the MAP table MT. This is repeated until the number meets the required number preset for the slot.

なお、本実施形態においては、上記過程において物理メモリ空間においてスキップした空間は、当該MAPテーブルMTに登録されないことにより、当該MAPテーブルMTにかかる試験領域としては使用されないことになる。しかしながら、これらのスキップされた空間中に存在するメモリアドレスは、他のMAPテーブルMTに登録された場合には、この他のMAPテーブルMTにより、試験領域として使用されることとなる。   In the present embodiment, the space skipped in the physical memory space in the above process is not registered in the MAP table MT, so that it is not used as a test area for the MAP table MT. However, when the memory addresses existing in these skipped spaces are registered in another MAP table MT, they are used as test areas by the other MAP table MT.

本コントローラモジュール1においては、上述の如く、物理メモリ空間において、検証アドレスが特定のスロットに割り当てられている領域内にある場合に、MAPテーブルMTへの検証アドレスにかかる登録が試験領域数を満たすまで、アドレススキップとシングルビットエラーの生成,エラー応答情報の取得及びMAPテーブルMTへの登録を繰り返し行なう。このように、メモリ空間をアドレススキップしながらMAPテーブルMTを作成することにより、メモリ空間を短時間で検証することができる。すなわち、これにより、MAPテーブルMTの作成に要する時間を短縮することができる。   In the controller module 1, as described above, when the verification address is in an area assigned to a specific slot in the physical memory space, the registration related to the verification address in the MAP table MT satisfies the number of test areas. Until then, address skip and single bit error generation, error response information acquisition and registration in the MAP table MT are repeated. Thus, by creating the MAP table MT while skipping addresses in the memory space, the memory space can be verified in a short time. That is, this can reduce the time required for creating the MAP table MT.

また、物理メモリ空間において、特定のスロットに関して、MAPテーブルMTへの検証アドレスにかかる登録が試験領域数を満たした場合には、次に、検証アドレスがMAPテーブルMTに未登録な他のスロットに対応するものになるまで、アドレスジャンプとシングルビットエラーの生成,エラー応答情報の取得及びMAPテーブルMTへの登録を繰り返し行なう。これにより、物理メモリ空間内に点在しているスロットに関する領域を短時間で見つけ出すことができ、MAPテーブルMTの作成に要する時間を短縮することができる。   Further, in the physical memory space, when the registration related to the verification address in the MAP table MT for a specific slot satisfies the number of test areas, the verification address is then transferred to another slot that is not registered in the MAP table MT. The address jump, generation of single bit error, acquisition of error response information, and registration in the MAP table MT are repeated until a corresponding one is obtained. As a result, it is possible to find out the areas related to the slots scattered in the physical memory space in a short time, and to shorten the time required to create the MAP table MT.

また、検証アドレス選択部101は、FB−DIMM30にかかる物理アドレスにおいて、先にメモリアクセスを行なった検証アドレスと同一のキャッシュライン上に割り当てられている論理アドレスを次の検証アドレスとして選択する。なお、この同一キャッシュライン上に割り当てられている論理アドレスの選択は、例えば、2次キャッシュサイズ,ウェイ数,キャッシュラインのサイズ及びウェイサイズに基づいて行なわれる。   Also, the verification address selection unit 101 selects a logical address assigned on the same cache line as the verification address that has previously performed memory access as the next verification address in the physical address related to the FB-DIMM 30. The selection of the logical address allocated on the same cache line is performed based on, for example, the secondary cache size, the number of ways, the size of the cache line, and the way size.

さらに、コア0は、FB−DIMM30の負荷試験の実行時においてアクセス実行部105としても機能する。このアクセス実行部105は、テーブル作成部104によって作成されたMAPテーブルMTに基づいて、試験対象のFB−DIMM30にかかる論理アドレスに対してメモリアクセスを行なう。本実施形態においては、コア0はFB−DIMM30にかかる論理アドレスに対するメモリアクセスとして、所定のデータのライトとリードを行なう。   Furthermore, the core 0 also functions as the access execution unit 105 when the load test of the FB-DIMM 30 is executed. Based on the MAP table MT created by the table creation unit 104, the access execution unit 105 performs memory access to the logical address associated with the FB-DIMM 30 to be tested. In this embodiment, the core 0 writes and reads predetermined data as a memory access to the logical address related to the FB-DIMM 30.

さらに、この際、アクセス実行部105は、MAPテーブルMTにおいて同一のメモリスロットペアに関連付けられた複数の論理アドレスに順番にアクセスする。これにより、アクセス実行部105は、そのメモリスロットペアに取り付けられたFB−DIMM30に集中的にメモリアクセスを行なうことができ、特定のFB−DIMM30に効率よく負荷を与えることができる。   Further, at this time, the access execution unit 105 sequentially accesses a plurality of logical addresses associated with the same memory slot pair in the MAP table MT. As a result, the access execution unit 105 can intensively access the FB-DIMM 30 attached to the memory slot pair, and can efficiently apply a load to the specific FB-DIMM 30.

さらに、上述の如く、MAPテーブルMTには、同一のキャッシュライン上に割り当てられている論理アドレスが登録されており、更に、これらの論理アドレスがウェイ数よりも多数の試験領域数となるように登録されている。すなわち、アクセス実行部105は、MAPテーブルMTに基づいて、試験対象である特定のFB−DIMM30に対応付けられた複数の論理アドレスに対して順次アクセスを行なうことにより、同一のキャッシュライン上に割り当てられている論理アドレスであって、ウェイ数よりも多数の論理アドレスに対してアクセスを行なう。   Further, as described above, the logical addresses allocated on the same cache line are registered in the MAP table MT, and further, these logical addresses have a larger number of test areas than the number of ways. It is registered. That is, the access execution unit 105 assigns the same cache line by sequentially accessing a plurality of logical addresses associated with a specific FB-DIMM 30 to be tested based on the MAP table MT. The access is made to a larger number of logical addresses than the number of ways.

図7は実施形態の一例としてのコントローラモジュール1におけるアクセス実行部105によるアクセス手法を説明するための図である。
本コントローラモジュール1においては、以下の(1),(2)の策により、全てのメモリアクセスを特定のFB−DIMM30へのアクセスとすることにより、アクセス頻度を高めることが可能である。
FIG. 7 is a diagram for explaining an access method by the access execution unit 105 in the controller module 1 as an example of the embodiment.
In the controller module 1, the access frequency can be increased by making all memory accesses to the specific FB-DIMM 30 by the following measures (1) and (2).

(1)物理メモリ空間において、CPUキャッシュの同一ラインに割り当てられる複数の領域(図7に示す例では、例えば領域1〜4参照)を確保する。
ここで、確保する領域の数は、CPUキャッシュのウェイ数よりも多数となるようにする。特に、CPU10におけるウェイ(キャッシュ)のリプレイスがランダムに行なわれる場合には、ウェイ数の2倍以上の領域をアクセス先として用意することにより、CPUキャッシュのヒット率を低減し、FB−DIMM30へのアクセス頻度を向上させることができる。従って、ウェイのリプレイス手法が未知である場合には、ウェイ数の2倍以上の領域をアクセス先として用意することが望ましい。
(1) In the physical memory space, a plurality of areas (see, for example, areas 1 to 4 in the example shown in FIG. 7) allocated to the same line of the CPU cache are secured.
Here, the number of areas to be secured is set to be larger than the number of ways of the CPU cache. In particular, when way (cache) replacement in the CPU 10 is performed at random, an area more than twice the number of ways is prepared as an access destination to reduce the CPU cache hit rate and to the FB-DIMM 30. Access frequency can be improved. Therefore, when the way replacement method is unknown, it is desirable to prepare an area of at least twice the number of ways as an access destination.

確保する領域の数がCPUキャッシュのウェイ数の2倍よりも少ない場合には、2順目以降にアクセスしたアドレスがCPUキャッシュにヒットする確率が高くなり、FB−DIMM30へのアクセス頻度が下がる。
(2)各領域の先頭アドレスのみをアクセスアドレスとして使用し、これらの各領域の先頭アドレスに対して順次アクセスする。これにより、1回のメモリアクセス命令実行毎に対象FB−DIMM30へのアクセス頻度を高める。
アクセス実行部105は、各ウェイの同じキャッシュラインnに割当られる複数(ウェイ数の2倍以上の個数)の領域の先頭アドレスへのアクセスを繰り返す。図7においては、物理メモリ空間における互いに異なる領域1〜4へのアクセスを行なう例を示している。アクセス実行部105は、物理メモリ空間における領域1の先頭アドレスへのアクセス(符号a1)、領域2の先頭アドレスへのアクセス(符号a2)、領域3の先頭アドレスへのアクセス(符号a3)、領域4の先頭アドレスへのアクセス(符号a4)の順で順次アクセスを行なう。更に、その後、物理メモリ空間における領域1の先頭アドレスへのアクセス(符号a1)、領域1の先頭アドレスへのアクセス(符号a5)、領域2の先頭アドレスへのアクセス(符号a6)・・・と、上記の各領域1〜4へのアクセスを繰り返し実行する。これにより、符号a3以降のアクセス時において、ウェイ0,1の各キャッシュラインnには、先にアクセスした領域のデータが読み込まれている確率が高くなる。すなわち、メモリアクセス毎にキャッシュリプレースが発生し、FB−DIMM30へのアクセス実頻度を高くすることができる。
When the number of areas to be secured is less than twice the number of ways of the CPU cache, the probability that addresses accessed in the second and subsequent orders will hit the CPU cache increases, and the access frequency to the FB-DIMM 30 decreases.
(2) Only the head address of each area is used as an access address, and the head address of each area is sequentially accessed. This increases the frequency of access to the target FB-DIMM 30 every time a memory access instruction is executed.
The access execution unit 105 repeats the access to the top addresses of a plurality of areas (number of times more than twice the number of ways) allocated to the same cache line n of each way. FIG. 7 shows an example in which different areas 1 to 4 in the physical memory space are accessed. The access execution unit 105 accesses the start address of the area 1 in the physical memory space (reference a1), accesses the start address of the area 2 (reference a2), accesses the start address of the area 3 (reference a3), and the area 4 are sequentially accessed in the order of access to the top address of 4 (reference a4). Further, thereafter, access to the top address of area 1 in the physical memory space (reference a1), access to the top address of area 1 (reference a5), access to the top address of area 2 (reference a6), and so on. The access to each of the areas 1 to 4 is repeatedly executed. Thereby, at the time of access after the code a3, the probability that the data in the previously accessed area is read into the cache lines n of the ways 0 and 1 is increased. That is, cache replacement occurs every memory access, and the actual frequency of access to the FB-DIMM 30 can be increased.

また、コア1,2のそれぞれも、FB−DIMM30の負荷試験の実行時において、コア0と同様にアクセス実行部105として機能する。これらのコア1,2のアクセス実行部105は、コア0のアクセス先と同一のFB−DIMM30に対してメモリアクセスを行なう。この際、これらのコア1,2のアクセス実行部105は、FB−DIMM30―1に格納されているコア1用のMAPテーブルMT及びコア2用のMAPテーブルMTに基づいて、FB−DIMM30に対するメモリアクセスを行なう。   Each of the cores 1 and 2 functions as the access execution unit 105 in the same manner as the core 0 when the load test of the FB-DIMM 30 is executed. The access execution units 105 of the cores 1 and 2 perform memory access to the same FB-DIMM 30 as the access destination of the core 0. At this time, the access execution unit 105 of the cores 1 and 2 stores the memory for the FB-DIMM 30 based on the MAP table MT for the core 1 and the MAP table MT for the core 2 stored in the FB-DIMM 30-1. Access.

特に、本実施形態においては、図3に示すように、コア1はFB−DIMM30にかかる論理アドレスに対するメモリアクセスとして所定のデータのライトを行なう。又、コア2はFB−DIMM30にかかる論理アドレスに対するメモリアクセスとして、データのリードを行なう。
また、コア3は、FB−DIMM30の負荷試験の実行時において、FB−DIMM30のAMB31のレジスタ(図示省略)に対するレジスタアクセスを行なう。このように、FB−DIMM30の負荷試験の実行時において、同一のFB−DIMM30に対して、コア0〜2による互いに異なる種類のメモリアクセスと、コア3によるAMB31のレジスタアクセスとを同時に動作させる。例えば、複数のコアに対して、同じタイミングで指示を行なうことにより、これらのコアが同時に動作する。これにより、AMB31を構成する各モジュールを同時に動作させる。なお、コア3によるレジスタアクセスの具体的手法は、既知の種々の手法により実現することができ、その説明を省略する。
In particular, in the present embodiment, as shown in FIG. 3, the core 1 writes predetermined data as a memory access to a logical address applied to the FB-DIMM 30. The core 2 reads data as a memory access to the logical address applied to the FB-DIMM 30.
Further, the core 3 performs register access to the register (not shown) of the AMB 31 of the FB-DIMM 30 when executing the load test of the FB-DIMM 30. In this way, when executing the load test of the FB-DIMM 30, different types of memory accesses by the cores 0 to 2 and register access of the AMB 31 by the core 3 are simultaneously operated on the same FB-DIMM 30. For example, by instructing a plurality of cores at the same timing, these cores operate simultaneously. Thereby, each module which comprises AMB31 is operated simultaneously. The specific method of register access by the core 3 can be realized by various known methods, and the description thereof is omitted.

そして、処理装置1のCPU10が、試験プログラムを実行することにより、上述した検証アドレス選択部101,エラー生成指示部102,スロット情報取得部103,テーブル作成部104及びアクセス実行部105として機能する。
なお、これらの検証アドレス選択部101,エラー生成指示部102,スロット情報取得部103,テーブル作成部104及びアクセス実行部105としての機能を実現するためのプログラム(試験プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク,種々のメモリカード(例えば、CF(CompactFlash)カードやSDカード)等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
The CPU 10 of the processing apparatus 1 functions as the verification address selection unit 101, the error generation instruction unit 102, the slot information acquisition unit 103, the table creation unit 104, and the access execution unit 105 by executing the test program.
A program (test program) for realizing the functions as the verification address selection unit 101, the error generation instruction unit 102, the slot information acquisition unit 103, the table creation unit 104, and the access execution unit 105 is, for example, a flexible disk, CD (CD-ROM, CD-R, CD-RW, etc.), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, HD DVD, etc.), Blu-ray disc, magnetic disc, optical disc , Magneto-optical disks, various memory cards (for example, CF (CompactFlash) cards and SD cards), and the like, provided in a form recorded on a computer-readable recording medium. Then, the computer reads the program from the recording medium, transfers it to the internal storage device or the external storage device, and uses it. The program may be recorded in a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided from the storage device to the computer via a communication path.

検証アドレス選択部101,エラー生成指示部102,スロット情報取得部103,テーブル作成部104及びアクセス実行部105としての機能を実現する際には、内部記憶装置(本実施形態では例えば、FB−DIMM30)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。   When realizing the functions as the verification address selection unit 101, the error generation instruction unit 102, the slot information acquisition unit 103, the table creation unit 104, and the access execution unit 105, an internal storage device (in this embodiment, for example, the FB-DIMM 30). ) Is executed by a microprocessor of the computer (CPU 10 in this embodiment). At this time, the computer may read and execute the program recorded on the recording medium.

なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、コントローラモジュール1がコンピュータとしての機能を有しているのである。   In the present embodiment, the computer is a concept including hardware and an operating system, and means hardware that operates under the control of the operating system. Further, when an operating system is unnecessary and hardware is operated by an application program alone, the hardware itself corresponds to a computer. The hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium. In this embodiment, the controller module 1 has a function as a computer. It is.

図1に示すTTY(Tele-TYpewriter)端末41は、キーボード等の入力装置とディスプレイやプリンタ等の出力装置とをそなえた入出力端末である。このTTY端末41は、本コントロールモジュール1に通信可能に接続されている。そして、オペレータは、このTTY端末41を介して、種々の入力操作を行なう。例えば、オペレータは、このTTY端末41を用いて、FB−DIMM30の試験プログラムの実行指示を行なう。又、この試験プログラムによる結果等はこのTTY端末41の出力装置を介して出力される。   A TTY (Tele-TYpewriter) terminal 41 shown in FIG. 1 is an input / output terminal including an input device such as a keyboard and an output device such as a display and a printer. The TTY terminal 41 is communicably connected to the control module 1. Then, the operator performs various input operations via the TTY terminal 41. For example, the operator uses the TTY terminal 41 to instruct execution of the test program of the FB-DIMM 30. In addition, the result of the test program is output via the output device of the TTY terminal 41.

上述の如く構成された本コントロールモジュール1におけるFB−DIMM30の負荷試験時の処理を、図8に示すフローチャート(ステップA10〜A50)に従って説明する。
オペレータがTTY端末41からFB−DIMM30の負荷試験開始の指示を入力すると、CPU10により試験プログラムが実行される。これにより、コア0において、任意の論理アドレスに対してエラー生成指示が行なわれ、メモリコントローラ21がその論理アドレスにエラーを生成する(ステップA10)。そして、このエラー生成を行なった論理アドレスからリードを行ない、メモリコントローラ21から得られるエラー応答情報に基づいて、その論理アドレスに対応するスロット位置を割り出す(ステップA20)。
Processing during the load test of the FB-DIMM 30 in the control module 1 configured as described above will be described with reference to the flowchart (steps A10 to A50) shown in FIG.
When an operator inputs an instruction to start a load test of the FB-DIMM 30 from the TTY terminal 41, the CPU 10 executes a test program. As a result, an error generation instruction is given to an arbitrary logical address in the core 0, and the memory controller 21 generates an error at the logical address (step A10). Then, reading is performed from the logical address where the error is generated, and the slot position corresponding to the logical address is determined based on the error response information obtained from the memory controller 21 (step A20).

テーブル作成部104が、ステップA10においてエラー生成を行なった論理アドレスとステップA20において割り出されたスロット情報とを対応付けることによりMAPテーブルMTにエントリする(ステップA30)。なお、本実施形態においては、このMAPテーブルMTは、コア0〜3のうち、メモリアクセス試験を行なうコア0〜3に対応させるべく3種類作成される。   The table creation unit 104 makes an entry in the MAP table MT by associating the logical address that generated the error in Step A10 with the slot information determined in Step A20 (Step A30). In the present embodiment, three types of the MAP table MT are created so as to correspond to the cores 0 to 3 performing the memory access test among the cores 0 to 3.

そして、全メモリスロットペア(スロット)に対して、それぞれ所定数の論理アドレスの抽出が行なわれたか否かを確認する(ステップA40)。ここで、全スロットに対して所定数の論理アドレスが抽出されていない場合には(ステップA40のNOルート参照)、ステップA10に戻る。一方、全スロットに対して所定数の論理アドレスが抽出されている場合には(ステップA40のYESルート参照)、コア0〜3の各アクセス実行部105が、それぞれMAPテーブルMTを参照して、同一のメモリスロットペアにアクセスすべく、互いに異なる論理アドレスに対して同時にメモリアクセス(ライト、リード、ライト&リード)を行なう(ステップA50)。これにより、特定のメモリスロットペアに搭載されたFB−DIMM30に対してメモリアクセスを集中させることができ、効率的にFB−DIMM30の負荷試験を実施することができるのである。   Then, it is confirmed whether or not a predetermined number of logical addresses have been extracted for all memory slot pairs (slots) (step A40). If a predetermined number of logical addresses have not been extracted for all slots (see NO route in step A40), the process returns to step A10. On the other hand, when a predetermined number of logical addresses are extracted for all slots (see YES route in step A40), the access execution units 105 of the cores 0 to 3 refer to the MAP table MT, respectively. In order to access the same memory slot pair, memory accesses (write, read, write & read) are simultaneously performed on different logical addresses (step A50). As a result, the memory access can be concentrated on the FB-DIMM 30 mounted in the specific memory slot pair, and the load test of the FB-DIMM 30 can be efficiently performed.

なお、負荷試験に関して、FB−DIMM30において集中的なメモリアクセスを行なわせた後の処理(例えば、FB−DIMM30の性能評価等)については、既知の種々の手法を適用して実現することができるものであり、便宜上その詳細な説明は省略する。
また、上述したフローチャートにおいて、ステップA10〜A40によりMAPテーブルMTを作成するMAPテーブル作成機能が実現される。
Regarding the load test, processing after intensive memory access is performed in the FB-DIMM 30 (for example, performance evaluation of the FB-DIMM 30) can be realized by applying various known methods. For the sake of convenience, detailed description thereof is omitted.
In the above-described flowchart, the MAP table creation function for creating the MAP table MT is realized by steps A10 to A40.

次に、本コントローラモジュール1におけるMAPテーブルMTの作成手法を、図9に示すフローチャート(ステップB10〜B140)に従って説明する。
先ず、検証アドレス選択部101が、FB−DIMM30におけるシステムの未使用領域を検索する(ステップB10)。具体的には、検証アドレス選択部101は、CPU10の2次キャッシュの1ウェイサイズ分の未使用領域を探す。また、ここで、テーブル作成部104は、メモリスロットペア数に相当する数の列と、ウェイ数の2倍の数の行とからなるブランクのMAPテーブルMTを、負荷試験の実行時にメモリアクセスを担当するコア0〜2の数と同数用意する。以下、このMAPテーブルMTのブランクを埋めることにより、MAPテーブルMTを完成させる。
Next, a method for creating the MAP table MT in the controller module 1 will be described according to the flowchart (steps B10 to B140) shown in FIG.
First, the verification address selection unit 101 searches for an unused area of the system in the FB-DIMM 30 (step B10). Specifically, the verification address selection unit 101 searches for an unused area for the one-way size of the secondary cache of the CPU 10. Here, the table creation unit 104 accesses the blank MAP table MT, which has a number of columns corresponding to the number of memory slot pairs, and a row twice as many as the number of ways, to perform memory access during the load test. Prepare the same number of cores 0 to 2 in charge. Thereafter, the MAP table MT is completed by filling the blank of the MAP table MT.

また、テーブル作成部104は、見つかった未使用領域の先頭の物理アドレスを検証アドレスとして、変数taddrにセットする(ステップB20)。又、エラー生成指示部102は、メモリコントローラ21に対して、ステップB10において検証アドレス選択部101によって選択された検証アドレスにECCエラーを発生させるための指示を行なう(ステップB30:エラー生成指示ステップ)。この指示は、例えば、メモリコントローラ21にエラーインジェクション機能を実行させる所定のコマンドを、taddrに格納されているアドレスとともに送信することにより行なう。メモリコントローラ21は、taddrに格納されているアドレスに対して、エラーインジェクション機能によりECCシングルビットエラーを発生させる。   Further, the table creation unit 104 sets the head physical address of the found unused area as a verification address in the variable taddr (step B20). Further, the error generation instruction unit 102 instructs the memory controller 21 to generate an ECC error at the verification address selected by the verification address selection unit 101 in step B10 (step B30: error generation instruction step). . This instruction is performed, for example, by transmitting a predetermined command for causing the memory controller 21 to execute the error injection function together with the address stored in taddr. The memory controller 21 generates an ECC single bit error with respect to the address stored in taddr by the error injection function.

スロット情報取得部103は、メモリコントローラ21に設定されるエラー情報(エラー発生メモリコントローラ21のブランチ,ランク情報等)から、割り当てられているメモリスロットペア位置を特定する(ステップB40:スロット情報取得ステップ)。
また、スロット情報取得部103は、該当するメモリスロットペアの試験領域数が既に必要数(本実施形態ではウェイ数の2倍)分確保済みであるか否かを判断する(ステップB50)。ここで、該当するメモリスロットペアの試験領域数が必要数に満たない場合には(ステップB50のNOルート参照)、次に、検証アドレスが、該当メモリスロットペアにおいて最初に見つかった試験領域(1個目)であるかを判断する(ステップB60)。すなわち、これから検証アドレスによって埋めようとするブランクがMAPテーブルMTにおける試験領域番号1に相当するものであるか否かを判断する。検証アドレスが該当メモリスロットペアにおいて最初に見つかった(先頭の)試験領域である場合には(ステップB60のYESルート参照)、変数taddrの物理アドレス(検証アドレス)に対応する論理アドレスをMAPテーブルMTにおける当該位置にセットする(ステップB70)。
The slot information acquisition unit 103 specifies the allocated memory slot pair position from the error information (branch, rank information, etc. of the error-occurring memory controller 21) set in the memory controller 21 (step B40: slot information acquisition step) ).
Further, the slot information acquisition unit 103 determines whether or not the required number of test areas of the corresponding memory slot pair has already been secured (twice the number of ways in this embodiment) (step B50). If the number of test areas of the corresponding memory slot pair is less than the required number (see the NO route in step B50), then the verification area is the first test area (1) found in the corresponding memory slot pair. It is determined whether or not (step B60). That is, it is determined whether the blank to be filled with the verification address is equivalent to the test area number 1 in the MAP table MT. When the verification address is the first (first) test area found in the corresponding memory slot pair (see YES route in step B60), the logical address corresponding to the physical address (verification address) of the variable taddr is set in the MAP table MT. (Step B70).

そして、スロット情報取得部103は、必要な試験領域数が確保されたか否かを判断し(ステップB80)、必要な試験領域数が確保できた場合には(ステップB80のYESルート参照)、処理を終了する。又、必要な試験領域数が確保できていない場合には(ステップB80のNOルート参照)、次に、未使用領域(CPU10の2次キャッシュ1ウェイサイズ)分が終了したかを確認する(ステップB100)。すなわち、ステップB10においえ確保した1ウェイサイズ分の未使用領域の全てに対してステップB20〜B40の各処理(検証)を行なったかを判断する。   Then, the slot information acquisition unit 103 determines whether or not the required number of test areas has been secured (step B80). If the required number of test areas has been secured (see YES route in step B80), the processing is performed. Exit. If the required number of test areas is not secured (see NO route in step B80), it is then checked whether the unused area (secondary cache 1-way size of the CPU 10) has been completed (step 10). B100). That is, it is determined whether each process (verification) in steps B20 to B40 has been performed on all unused areas for one way size secured in step B10.

1ウェイサイズ分の未使用領域の全て領域に対して処理が完了していない場合には(ステップB100のNOルート参照)、変数taddrにCPU10のキャッシュラインサイズ分加算する(ステップB110)。すなわち、キャッシュサイズ単位でアドレススキップを行なうことにより、次のキャッシュラインをチェックするのである。その後、ステップB20に戻る。   If processing has not been completed for all unused areas for one way size (see NO route in step B100), the cache line size of the CPU 10 is added to the variable taddr (step B110). That is, the next cache line is checked by performing address skip in units of cache size. Thereafter, the process returns to step B20.

一方、検証アドレスが、該当メモリスロットペアにおいて最初に見つかった試験領域(1個目)ではない場合には(ステップB60のNOルート参照)、次に、検証アドレスが、その検証アドレスが最初に見つかった試験領域と同じCPUキャッシュラインであるか否かを判断する(ステップB90)。ここで、検証アドレスが、最初に見つかった試験領域と同一のCPUキャッシュライン上にある場合には(ステップB90のYESルート参照)、ステップB70に移行する。一方、検証アドレスが、その検証アドレスが最初に見つかった試験領域と同じCPUキャッシュラインでない場合には(ステップB90のNOルート参照)、ステップB100に移行する。これらにより、MAPテーブルMTにおいて、各メモリスロットペア毎の試験領域が同じキャッシュライン上に割り当てられる領域となるようにすることができるのである。   On the other hand, if the verification address is not the first test area (first) found in the corresponding memory slot pair (see NO route in step B60), then the verification address is found first. It is determined whether the CPU cache line is the same as the test area (step B90). Here, if the verification address is on the same CPU cache line as the first found test area (see YES route in step B90), the process proceeds to step B70. On the other hand, if the verification address is not the same CPU cache line as the test area where the verification address was first found (see NO route in step B90), the process proceeds to step B100. Thus, in the MAP table MT, the test area for each memory slot pair can be assigned to the same cache line.

また、1ウェイサイズ分の未使用領域の全て領域に対して処理が完了した場合には(ステップB100のYESルート参照)、確保した1ウェイ分の未使用領域において試験領域が見つかったか否かを確認する(ステップB120)。ここで、1つでも試験領域が見つかった場合には(ステップB120のNOルート参照)、未使用領域の最後のアドレスを開始位置として、次の1ウェイサイズ分の未使用領域を検索して(ステップB130)、ステップB20に戻る。一方、1個も試験領域が見つからなかった場合には(ステップB120のYESルート参照)、未使用領域の先頭アドレスに、実装されているFB−DIMM30の最小容量のペアサイズ分(最小容量サイズ)を加算したアドレスを開始位置として、次の1ウェイサイズ分の未使用領域を検索する(ステップB140)、すなわち、最小容量サイズ単位でアドレスジャンプを行なう。その後、ステップB20に戻る。   When processing is completed for all unused areas for one way size (see YES route in step B100), it is determined whether a test area has been found in the reserved unused areas for one way. Confirm (step B120). If at least one test area is found (see NO route in step B120), the unused area for the next one way size is searched using the last address of the unused area as the start position ( Step B130) and return to Step B20. On the other hand, if no test area is found (see YES route in step B120), the minimum capacity pair size (minimum capacity size) of the installed FB-DIMM 30 at the start address of the unused area. An unused area corresponding to the next one-way size is searched using the address obtained by adding (1) as the start position (step B140), that is, an address jump is performed in units of the minimum capacity size. Thereafter, the process returns to step B20.

このように、実施形態の一例としての コントローラモジュール1によれば、アクセス実行部105が、論理アドレスとメモリスロットペアとを対応付けて作成したMAPテーブルMTに基づいて、FB−DIMM30にアクセスを行なう。これにより、従来手法では物理メモリアドレスからメモリスロット位置を判断できないFB−DIMM30においても、各スロット位置のFB−DIMM30がどの物理メモリアドレスに割当てられているかを知ることができる。すなわち、特定のスロットSに取り付けられたFB−DIMM30に対してメモリアクセスを集中させることができ、FB−DIMM30の負荷試験を効率よく実施することができる。   As described above, according to the controller module 1 as an example of the embodiment, the access execution unit 105 accesses the FB-DIMM 30 based on the MAP table MT created by associating the logical address with the memory slot pair. . Thereby, even in the FB-DIMM 30 in which the memory slot position cannot be determined from the physical memory address in the conventional method, it is possible to know which physical memory address the FB-DIMM 30 at each slot position is assigned. That is, the memory access can be concentrated on the FB-DIMM 30 attached to the specific slot S, and the load test of the FB-DIMM 30 can be efficiently performed.

また、MAPテーブルMTの作成に際して、検証アドレス選択部101が、キャッシュサイズ単位でアドレススキップを行ないながら検証アドレスを決定し、この検証アドレスに対してシングルビットエラーの生成やエラー応答情報の取得、MAPテーブルMTへの登録を繰り返し行なう。更に、MAPテーブルMTにおいて、試験領域数がスロットに対して予め設定された必要数を満たされた後には、検証アドレス選択部101が、最小容量サイズ単位でアドレスジャンプを行なって検証アドレスを決定することにより、MAPテーブルMTを短時間で作成することができる。特に、アドレスジャンプを、複数そなえられたFB−DIMM30のうちの最小容量サイズで行なうことにより、異なるスロットに対応する論理アドレスを効率的に見つけ出すことができる。   Further, when creating the MAP table MT, the verification address selection unit 101 determines a verification address while performing address skip in units of cache size, generates a single bit error for this verification address, acquires error response information, and MAP. Registration in the table MT is repeated. Further, in the MAP table MT, after the required number of test areas is satisfied for the slot, the verification address selection unit 101 performs an address jump in units of the minimum capacity size to determine the verification address. Thus, the MAP table MT can be created in a short time. In particular, by performing an address jump with the minimum capacity size of the plurality of FB-DIMMs 30 provided, logical addresses corresponding to different slots can be found efficiently.

すなわち、メモリ空間全体に各スロットが割り当てられている空間が点在している場合においても、物理メモリ空間における先頭位置から順番にほぼメモリ全体にわたって、スロット位置を特定するための処理を順番に繰り返し行なう必要がなく効率的である。
また、MAPテーブルMTにおいて、メモリスロットペアに関して同一のキャッシュライン上の複数の論理アドレスを対応付けている。そして、アクセス実行部105が、このMAPテーブルMTを参照して、一のメモリスロットペアにかかるFB−DIMM30に対して、ウェイ数よりも多数の論理アドレスに対してアクセスを行なう。これにより、FB−DIMM30へのメモリアクセス毎にキャッシュリプレースが生じ、FB−DIMM30へのアクセス頻度を高くすることができる。
In other words, even in the case where the entire memory space is dotted with spaces to which slots are assigned, the process for specifying the slot position is repeated in order from almost the entire memory in order from the start position in the physical memory space. It is efficient without having to do it.
In the MAP table MT, a plurality of logical addresses on the same cache line are associated with the memory slot pair. Then, the access execution unit 105 refers to the MAP table MT and accesses the FB-DIMM 30 related to one memory slot pair to a larger number of logical addresses than the number of ways. As a result, cache replacement occurs every memory access to the FB-DIMM 30, and the frequency of access to the FB-DIMM 30 can be increased.

FB−DIMM30の負荷試験の実行時において、同一のFB−DIMM30に対して、コア0〜2による互いに異なる種類のメモリアクセスと、コア3によるAMB31のレジスタアクセスとを同時に動作させる。これにより、FB−DIMM30において、AMB31を構成する各モジュールを同時に動作させることができ、又、リード方向バスとライト方向バスとを同時に動作させることができる。これにより、FB−DIMM30への負荷を効率的に高めることができる。   When the load test of the FB-DIMM 30 is executed, different types of memory accesses by the cores 0 to 2 and register access of the AMB 31 by the core 3 are simultaneously operated on the same FB-DIMM 30. Thereby, in the FB-DIMM 30, the modules constituting the AMB 31 can be operated simultaneously, and the read direction bus and the write direction bus can be operated simultaneously. Thereby, the load to FB-DIMM30 can be raised efficiently.

そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、CPU10が4コアである例について説明しているが、これに限定されるものではなく、CPU10が、3以下もしくは5以上のコアをそなえてもよい。
The disclosed technology is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present embodiment.
For example, in the embodiment described above, an example in which the CPU 10 has four cores has been described. However, the present invention is not limited to this, and the CPU 10 may have three or less cores or five or more cores.

また、上述した実施形態においては、CPU10が2ウェイキャッシュ(ウェイ数=2)の例について説明しているが、これに限定されるものではなく、CPU10が3以上のウェイをそなえてもよい。又、CPU10においてキャッシュを分割しない場合についても適用することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
In the above-described embodiment, the CPU 10 describes an example of a 2-way cache (the number of ways = 2). However, the present invention is not limited to this, and the CPU 10 may have 3 or more ways. The present invention can also be applied to a case where the CPU 10 does not divide the cache.
Further, according to the above-described disclosure, this embodiment can be implemented and manufactured by those skilled in the art.

以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
メモリを接続可能なスロットを複数そなえた制御装置であって、
該メモリにかかる検証アドレスを選択する検証アドレス選択部と、
該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成部と、
該エラー生成部によって発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得部と、
該スロット情報取得部によって取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成部と、
該マッピング情報作成部によって作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行部とをそなえることを特徴とする、制御装置。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A control device having a plurality of slots to which a memory can be connected,
A verification address selection unit for selecting a verification address applied to the memory;
An error generator that generates an error by memory access to the verification address;
A slot information acquisition unit that acquires slot information related to the slot of the memory to which the verification address related to the error is assigned based on the error response information created for the error generated by the error generation unit;
A mapping information creating unit that creates mapping information by associating the logical address corresponding to the verification address with the slot information based on the slot information obtained by the slot information obtaining unit;
A control apparatus comprising: an access execution unit that accesses a logical address of a test target memory based on the mapping information created by the mapping information creation unit.

(付記2)
該マッピング情報作成部によって作成された該マッピング情報を格納するマッピング情報格納部をそなえることを特徴とする、付記1記載の制御装置。
(付記3)
該検証アドレス選択部が、該メモリにかかる物理アドレスにおいて、先にメモリアクセスを行なった該検証アドレスから、複数の該メモリのうちの最小容量サイズ以上離れた位置を次の検証アドレスとして選択することを特徴とする、付記1又は付記2記載の制御装置。
(Appendix 2)
The control apparatus according to appendix 1, further comprising a mapping information storage unit that stores the mapping information created by the mapping information creation unit.
(Appendix 3)
The verification address selection unit selects, as a next verification address, a position that is more than the minimum capacity size of the plurality of memories from the verification address that previously performed memory access in the physical address of the memory. The control device according to appendix 1 or appendix 2, characterized by

(付記4)
当該制御装置にそなえられたCPU(Central Processing Unit)が、キャッシュを複数のウェイに分割するマルチウェイ方式である場合において、
該マッピング情報作成部が、該マッピング情報において、一の該スロット情報に関して同一のキャッシュライン上の複数の論理アドレスを対応付けるとともに、
該アクセス実行部が、該マッピング情報を参照して、該一のスロット情報にかかる該メモリに対して、該ウェイ数よりも多数の論理アドレスに対してアクセスを行なうことを特徴とする、付記1〜付記3のいずれか1項に記載の制御装置。
(Appendix 4)
When the CPU (Central Processing Unit) provided in the control device is a multi-way system that divides the cache into a plurality of ways,
The mapping information creating unit associates a plurality of logical addresses on the same cache line with respect to one slot information in the mapping information,
The access execution unit refers to the mapping information, and accesses the memory related to the one slot information to a larger number of logical addresses than the number of ways. The control device according to any one of?

(付記5)
該CPUが複数のコアをそなえる場合において、該複数のコアのうち2以上のコアが、それぞれ該アクセス実行部として、該試験対象のメモリに対して互いに異なる種類のメモリアクセスを同時に行なうことを特徴とする、付記1〜4のいずれか1項に記載の制御装置。
(Appendix 5)
When the CPU has a plurality of cores, two or more of the plurality of cores simultaneously perform different types of memory accesses to the test target memory as the access execution unit, respectively. The control device according to any one of appendices 1 to 4.

(付記6)
該複数のコアのうち該2以上のコアとは異なる他のコアが、該2以上のコアによる各メモリアクセスと同時に、該試験対象のメモリに対するレジスタアクセスを行なうことを特徴とする、付記5記載の制御装置。
(付記7)
メモリを接続可能なスロットを複数そなえた制御装置における、該メモリの試験方法であって、
該メモリにかかる検証アドレスを選択する検証アドレス選択ステップと、
該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成ステップと、
該エラー発生ステップにおいて発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得ステップと、
該スロット情報取得ステップにおいて取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成ステップと、
該マッピング情報作成ステップにおいて作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行ステップとをそなえることを特徴とする、試験方法。
(Appendix 6)
The other core different from the two or more cores among the plurality of cores performs register access to the memory under test simultaneously with each memory access by the two or more cores. Control device.
(Appendix 7)
A test method for a memory in a control device having a plurality of slots to which a memory can be connected, comprising:
A verification address selection step of selecting a verification address applied to the memory;
An error generation step for generating an error by a memory access to the verification address;
A slot information acquisition step for acquiring slot information related to the slot of the memory to which the verification address related to the error is assigned based on the error response information generated for the error generated in the error generation step;
A mapping information creating step for creating mapping information by associating the logical address corresponding to the verification address with the slot information based on the slot information obtained in the slot information obtaining step;
A test method comprising: an access execution step of accessing a logical address related to a memory to be tested based on the mapping information created in the mapping information creation step.

(付記8)
該検証アドレス選択ステップにおいて、該メモリにかかる物理アドレスにおいて、先にメモリアクセスを行なった該検証アドレスから、複数の該メモリのうちの最小容量サイズ以上離れた位置を次の検証アドレスとして選択することを特徴とする、付記7記載の試験方法。
(Appendix 8)
In the verification address selection step, the physical address of the memory is selected as a next verification address a position that is more than the minimum capacity size of the plurality of memories from the verification address that has previously performed memory access. The test method according to appendix 7, characterized by:

(付記9)
当該制御装置にそなえられたCPU(Central Processing Unit)が、キャッシュを複数のウェイに分割するマルチウェイ方式である場合において、
該マッピング情報作成ステップにおいて、該マッピング情報において、一の該スロット情報に関して同一のキャッシュライン上の複数の論理アドレスを対応付けるとともに、
該アクセス実行ステップにおいて、該マッピング情報を参照して、該一のスロット情報にかかる該メモリに対して、該ウェイ数よりも多数の論理アドレスに対してアクセスを行なうことを特徴とする、付記7又は付記8記載の試験方法。
(Appendix 9)
When the CPU (Central Processing Unit) provided in the control device is a multi-way system that divides the cache into a plurality of ways,
In the mapping information creation step, in the mapping information, a plurality of logical addresses on the same cache line are associated with one slot information,
The access execution step refers to the mapping information, and accesses the memory related to the one slot information to a larger number of logical addresses than the number of ways. Or the test method according to Appendix 8.

(付記10)
該CPUが複数のコアをそなえる場合に、該アクセス実行ステップにおいて、該複数のコアのうち2以上のコアが、該それぞれ該試験対象のメモリに対して、互いに異なる種類のメモリアクセスを同時に行なうことを特徴とする、付記7〜9のいずれか1項に記載の試験方法。
(Appendix 10)
When the CPU has a plurality of cores, in the access execution step, two or more of the plurality of cores simultaneously perform different types of memory accesses to the respective memories to be tested. The test method according to any one of appendices 7 to 9, characterized by:

(付記11)
該アクセス実行ステップにおいて、該複数のコアのうち該2以上のコアとは異なる他のコアが、該2以上のコアによる各メモリアクセスと同時に、該試験対象のメモリに対するレジスタアクセスを行なうことを特徴とする、付記10記載の試験方法。
(付記12)
メモリを接続可能なスロットを複数そなえたコンピュータにおいて、該メモリの試験を行なう試験機能を該コンピュータに実行させるための試験プログラムであって、
該メモリにかかる検証アドレスを選択する検証アドレス選択ステップと、
該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成ステップと、
該エラー発生ステップにおいて発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得ステップと、
該スロット情報取得ステップにおいて取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成ステップと、
該マッピング情報作成ステップにおいて作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行ステップとを、該コンピュータに実行させることを特徴とする、試験プログラム。
(Appendix 11)
In the access execution step, another core different from the two or more cores among the plurality of cores performs register access to the memory to be tested simultaneously with each memory access by the two or more cores. The test method according to appendix 10.
(Appendix 12)
A test program for causing a computer to execute a test function for testing the memory in a computer having a plurality of slots to which a memory can be connected,
A verification address selection step of selecting a verification address applied to the memory;
An error generation step for generating an error by a memory access to the verification address;
A slot information acquisition step for acquiring slot information related to the slot of the memory to which the verification address related to the error is assigned based on the error response information generated for the error generated in the error generation step;
A mapping information creating step for creating mapping information by associating the logical address corresponding to the verification address with the slot information based on the slot information obtained in the slot information obtaining step;
A test program for causing the computer to execute an access execution step of accessing a logical address related to a memory to be tested based on the mapping information created in the mapping information creation step.

(付記13)
該検証アドレス選択ステップにおいて、該メモリにかかる物理アドレスにおいて、先にメモリアクセスを行なった該検証アドレスから、複数の該メモリのうちの最小容量サイズ以上離れた位置を次の検証アドレスとして選択させるように、該コンピュータを機能させることを特徴とする、付記12記載の試験プログラム。
(Appendix 13)
In the verification address selection step, the physical address of the memory is selected as a next verification address at a position that is more than the minimum capacity size among the plurality of memories from the verification address that was previously accessed to the memory. The test program according to appendix 12, wherein the computer is caused to function.

(付記14)
当該制御装置にそなえられたCPU(Central Processing Unit)が、キャッシュを複数のウェイに分割するマルチウェイ方式である場合において、
該マッピング情報作成ステップにおいて、該マッピング情報において、一の該スロット情報に関して同一のキャッシュライン上の複数の論理アドレスを対応付けるように、該コンピュータを機能させるとともに、
該アクセス実行ステップにおいて、該マッピング情報を参照して、該一のスロット情報にかかる該メモリに対して、該ウェイ数よりも多数の論理アドレスに対してアクセスを行なわせるように、該コンピュータを機能させることを特徴とする、付記12又は付記13記載の試験プログラム。
(Appendix 14)
When the CPU (Central Processing Unit) provided in the control device is a multi-way system that divides the cache into a plurality of ways,
In the mapping information creating step, the mapping information creating step causes the computer to function so as to associate a plurality of logical addresses on the same cache line with respect to one slot information.
In the access execution step, the computer is made to function so that the memory related to the one slot information is accessed with respect to a larger number of logical addresses than the number of ways with reference to the mapping information. The test program according to supplementary note 12 or supplementary note 13, wherein

(付記15)
該CPUが複数のコアをそなえる場合に、該アクセス実行ステップにおいて、該複数のコアのうち2以上のコアに、該それぞれ該試験対象のメモリに対して、互いに異なる種類のメモリアクセスを同時に行なわせるように、該コンピュータを機能させることを特徴とする、付記12〜14のいずれか1項に記載の試験プログラム。
(Appendix 15)
When the CPU has a plurality of cores, in the access execution step, two or more of the plurality of cores simultaneously perform different types of memory accesses to the respective memories to be tested. Thus, the test program according to any one of appendices 12 to 14, which causes the computer to function.

(付記16)
該アクセス実行ステップにおいて、該複数のコアのうち該2以上のコアとは異なる他のコアが、該2以上のコアによる各メモリアクセスと同時に、該試験対象のメモリに対するレジスタアクセスを行なうように、該コンピュータを機能させることを特徴とする、付記15記載の試験プログラム。
(Appendix 16)
In the access execution step, another core different from the two or more cores among the plurality of cores performs register access to the memory under test simultaneously with each memory access by the two or more cores. The test program according to appendix 15, characterized by causing the computer to function.

1 コントローラモジュール
10 CPU
11−0〜11−3,11 コア
20 DMAコントローラ
21 メモリコントローラ(エラー生成部,エラー応答作成部)
30−0〜30−15,30 FB−DIMM(メモリ)
31 AMB
32 DRAM
41 TTY端末
100 RAID装置
101 検証アドレス選択部
102 エラー生成指示部
103 スロット情報作成部
104 テーブル作成部
105 アクセス実行部
301 ノースバウンド制御部
302 ノースバウンドフレーム作成部
303 レジスタアクセス制御部
304 DRAM制御部
305 サウスバウンドフレーム解析部
306 サウスバウンド制御部
MT MAPテーブル(マッピング情報)
1 Controller module 10 CPU
11-0 to 11-3, 11 core 20 DMA controller 21 memory controller (error generation unit, error response creation unit)
30-0 to 30-15, 30 FB-DIMM (memory)
31 AMB
32 DRAM
41 TTY terminal 100 RAID device 101 Verification address selection unit 102 Error generation instruction unit 103 Slot information creation unit 104 Table creation unit 105 Access execution unit
301 Northbound control unit 302 Northbound frame creation unit 303 Register access control unit 304 DRAM control unit 305 Southbound frame analysis unit 306 Southbound control unit MT MAP table (mapping information)

Claims (5)

メモリを接続可能なスロットを複数そなえた制御装置であって、
該メモリにかかる検証アドレスを選択する検証アドレス選択部と、
該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成部と、
該エラー生成部によって発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得部と、
該スロット情報取得部によって取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成部と、
該マッピング情報作成部によって作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行部とをそなえることを特徴とする、制御装置。
A control device having a plurality of slots to which a memory can be connected,
A verification address selection unit for selecting a verification address applied to the memory;
An error generator that generates an error by memory access to the verification address;
A slot information acquisition unit that acquires slot information related to the slot of the memory to which the verification address related to the error is assigned based on the error response information created for the error generated by the error generation unit;
A mapping information creating unit that creates mapping information by associating the logical address corresponding to the verification address with the slot information based on the slot information obtained by the slot information obtaining unit;
A control apparatus comprising: an access execution unit that accesses a logical address of a test target memory based on the mapping information created by the mapping information creation unit.
該検証アドレス選択部が、該メモリにかかる物理アドレスにおいて、先にメモリアクセスを行なった該検証アドレスから、複数の該メモリのうちの最小容量サイズ以上離れた位置を次の検証アドレスとして選択することを特徴とする、請求項1記載の制御装置。   The verification address selection unit selects, as a next verification address, a position that is more than the minimum capacity size of the plurality of memories from the verification address that previously performed memory access in the physical address of the memory. The control device according to claim 1, wherein: 当該制御装置にそなえられたCPU(Central Processing Unit)が、キャッシュを複数のウェイに分割するマルチウェイ方式である場合において、
該マッピング情報作成部が、該マッピング情報において、一の該スロット情報に関して同一のキャッシュライン上の複数の論理アドレスを対応付けるとともに、
該アクセス実行部が、該マッピング情報を参照して、該一のスロット情報にかかる該メモリに対して、該ウェイ数よりも多数の論理アドレスに対してアクセスを行なうことを特徴とする、請求項1又は2記載の制御装置。
When the CPU (Central Processing Unit) provided in the control device is a multi-way system that divides the cache into a plurality of ways,
The mapping information creating unit associates a plurality of logical addresses on the same cache line with respect to one slot information in the mapping information,
The access execution unit refers to the mapping information, and accesses the memory related to the one slot information to a larger number of logical addresses than the number of ways. 3. The control device according to 1 or 2.
メモリを接続可能なスロットを複数そなえた制御装置における、該メモリの試験方法であって、
該メモリにかかる検証アドレスを選択する検証アドレス選択ステップと、
該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成ステップと、
該エラー発生ステップにおいて発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得ステップと、
該スロット情報取得ステップにおいて取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成ステップと、
該マッピング情報作成ステップにおいて作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行ステップとをそなえることを特徴とする、試験方法。
A test method for a memory in a control device having a plurality of slots to which a memory can be connected, comprising:
A verification address selection step of selecting a verification address applied to the memory;
An error generation step for generating an error by a memory access to the verification address;
A slot information acquisition step for acquiring slot information related to the slot of the memory to which the verification address related to the error is assigned based on the error response information generated for the error generated in the error generation step;
A mapping information creating step for creating mapping information by associating the logical address corresponding to the verification address with the slot information based on the slot information obtained in the slot information obtaining step;
A test method comprising: an access execution step of accessing a logical address related to a memory to be tested based on the mapping information created in the mapping information creation step.
メモリを接続可能なスロットを複数そなえたコンピュータにおいて、該メモリの試験を行なう試験機能を該コンピュータに実行させるための試験プログラムであって、
該メモリにかかる検証アドレスを選択する検証アドレス選択ステップと、
該検証アドレスに対するメモリアクセスによりエラーを発生させるエラー生成ステップと、
該エラー発生ステップにおいて発生させた該エラーに関して作成されたエラー応答情報に基づいて、当該エラーにかかる検証アドレスが割り当てられているメモリの該スロットに関するスロット情報を取得するスロット情報取得ステップと、
該スロット情報取得ステップにおいて取得された該スロット情報に基づいて、該検証アドレスに対応する論理アドレスと該スロット情報とを対応付けることによりマッピング情報を作成するマッピング情報作成ステップと、
該マッピング情報作成ステップにおいて作成された該マッピング情報に基づいて、試験対象のメモリにかかる論理アドレスに対してアクセスを行なうアクセス実行ステップとを、該コンピュータに実行させることを特徴とする、試験プログラム。
A test program for causing a computer to execute a test function for testing the memory in a computer having a plurality of slots to which a memory can be connected,
A verification address selection step of selecting a verification address applied to the memory;
An error generation step for generating an error by a memory access to the verification address;
A slot information acquisition step for acquiring slot information related to the slot of the memory to which the verification address related to the error is assigned based on the error response information generated for the error generated in the error generation step;
A mapping information creating step for creating mapping information by associating the logical address corresponding to the verification address with the slot information based on the slot information obtained in the slot information obtaining step;
A test program for causing the computer to execute an access execution step of accessing a logical address related to a memory to be tested based on the mapping information created in the mapping information creation step.
JP2010059835A 2010-03-16 2010-03-16 Control device, test method and test program Expired - Fee Related JP5423501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010059835A JP5423501B2 (en) 2010-03-16 2010-03-16 Control device, test method and test program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010059835A JP5423501B2 (en) 2010-03-16 2010-03-16 Control device, test method and test program

Publications (2)

Publication Number Publication Date
JP2011192211A JP2011192211A (en) 2011-09-29
JP5423501B2 true JP5423501B2 (en) 2014-02-19

Family

ID=44797017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010059835A Expired - Fee Related JP5423501B2 (en) 2010-03-16 2010-03-16 Control device, test method and test program

Country Status (1)

Country Link
JP (1) JP5423501B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695909A (en) * 1992-09-16 1994-04-08 Hitachi Ltd Method for testing fault processing function of ram
JP3954248B2 (en) * 1999-08-12 2007-08-08 富士通株式会社 Testing method for information processing apparatus
JP3986898B2 (en) * 2002-06-20 2007-10-03 富士通株式会社 Memory simulated fault injection device
JP4834721B2 (en) * 2006-02-24 2011-12-14 富士通株式会社 Memory control device and memory control method
JPWO2007116487A1 (en) * 2006-03-31 2009-08-20 富士通株式会社 MEMORY DEVICE, ERROR CORRECTION SUPPORT METHOD, ITS SUPPORT PROGRAM, MEMORY CARD, CIRCUIT BOARD AND ELECTRONIC DEVICE
JP4617282B2 (en) * 2006-08-31 2011-01-19 富士通株式会社 Load generator and load test method
JP4349532B2 (en) * 2007-04-11 2009-10-21 エヌイーシーコンピュータテクノ株式会社 MEMORY CONTROL DEVICE, MEMORY CONTROL METHOD, INFORMATION PROCESSING SYSTEM, PROGRAM THEREOF, AND STORAGE MEDIUM

Also Published As

Publication number Publication date
JP2011192211A (en) 2011-09-29

Similar Documents

Publication Publication Date Title
US10692582B2 (en) Semiconductor memory device and method of operating the same
US11288019B2 (en) Memory management method and storage controller
US10268407B1 (en) Method and apparatus for specifying read voltage offsets for a read command
US10186325B2 (en) Method and apparatus for shielded read to reduce parasitic capacitive coupling
US11314590B2 (en) Memory device for detecting a defective memory chip
US7404031B2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
CN101369245B (en) A kind of system and method realizing memory defect map
US10909031B2 (en) Memory system and operating method thereof
JP6078888B2 (en) Mixed storage control system and method
KR102135470B1 (en) Method and Apparatus for Built In Redundancy Analysis with Dynamic Fault Reconfiguration
US20090240903A1 (en) Methods and Apparatus for Translating a System Address
JPWO2009153982A1 (en) Multiple-partitioned nonvolatile storage device and system
US10346073B2 (en) Storage control apparatus for selecting member disks to construct new raid group
KR100757128B1 (en) Memory card using flash memory and controlling method thereof
US9535791B2 (en) Storage control device, non-transitory computer-readable recording medium having stored therein program, and control method
JP5423501B2 (en) Control device, test method and test program
US20220318015A1 (en) Enforcing data placement requirements via address bit swapping
US20140244900A1 (en) Non-volatile memory based system ram
JP2012043183A (en) Logic verification apparatus and logic verification program
US11416164B2 (en) Time indicator of super block operations
TWI620191B (en) System for testing memory according to range of physical addresses of memory module and method thereof
KR20140076128A (en) Non-Volatile Memory Apparatus and Operating Method Thereof, and Data Processing System Having the Same
JP6003364B2 (en) Control device, storage device, control method, and control program
KR20210034456A (en) Storage device and method of operating the storage device
JP2009003995A (en) Semiconductor memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5423501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees