JP6003735B2 - DIMM simulated fault generation method and DIMM simulated fault generation apparatus - Google Patents
DIMM simulated fault generation method and DIMM simulated fault generation apparatus Download PDFInfo
- Publication number
- JP6003735B2 JP6003735B2 JP2013055521A JP2013055521A JP6003735B2 JP 6003735 B2 JP6003735 B2 JP 6003735B2 JP 2013055521 A JP2013055521 A JP 2013055521A JP 2013055521 A JP2013055521 A JP 2013055521A JP 6003735 B2 JP6003735 B2 JP 6003735B2
- Authority
- JP
- Japan
- Prior art keywords
- dimm
- read
- simulated fault
- command
- fault generation
- 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.)
- Active
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Description
本発明は、DIMM擬似故障発生方法およびDIMM擬似故障発生装置に関する。 The present invention relates to a DIMM simulated fault generation method and a DIMM simulated fault generation apparatus.
メモリに擬似故障を発生させる技術が開示されている(例えば、特許文献1〜4参照)。特許文献4では、メモリコントローラの誤り訂正機能の検証のために、メモリの出力信号をクランプすることによって、メモリの障害を再現する技術が開示されている。
Techniques for causing a pseudo failure in a memory are disclosed (for example, see
クランプの動作速度は、メモリとの通信速度に追随させる必要がある。しかしながら、近年の通信速度向上により、従来のクランプの動作速度がメモリとの通信速度に追随できなくなっている。特に、連続したリードコマンドに対して、最初のリードデータのみクランプさせたいにもかかわらず、クランプさせたくない次のリードデータまでクランプするおそれがある。 The operation speed of the clamp needs to follow the communication speed with the memory. However, with the recent improvement in communication speed, the operation speed of the conventional clamp cannot follow the communication speed with the memory. In particular, with respect to continuous read commands, there is a possibility that only the first read data is clamped but the next read data that is not desired to be clamped is clamped.
本発明は上記課題に鑑みなされたものであり、適切なクランプを実現することができるDIMM擬似故障発生方法およびDIMM擬似故障発生装置を提供することを目的とする。 The present invention has been made in view of the above problems, and an object thereof is to provide a DIMM simulated fault generation method and a DIMM simulated fault generation apparatus capable of realizing appropriate clamping.
上記課題を解決するために、明細書開示のDIMM擬似故障発生方法は、CPUがリードコマンドを出力した後にリードデータが読みだされるDIMMに対して擬似故障を発生させるDIMM擬似故障発生方法であって、リードコマンドの間隔を判定し、所定間隔以内にリードコマンドが複数回出力された場合にはクランプを禁止する。 In order to solve the above-mentioned problem, the DIMM simulated fault generation method disclosed in the specification is a DIMM simulated fault generation method in which a simulated fault is generated in a DIMM from which read data is read after the CPU outputs a read command. Thus, the read command interval is determined, and clamping is prohibited when the read command is output a plurality of times within a predetermined interval.
明細書開示のDIMM擬似故障発生装置およびDIMM擬似故障発生方法によれば、適切なクランプを実現することができる。 According to the DIMM simulated fault generation device and the DIMM simulated fault generation method disclosed in the specification, an appropriate clamp can be realized.
実施例の説明に先立って、クランプについて説明する。多くの情報処理装置では、1つ以上のCPU(Central Processing Unit)に接続されるDIMM(Dual Inline Memory Module)が搭載されている。DIMMには、メモリ容量、動作速度、実装形状、動作方式、データ長の違い等により、さまざまな種類がある。DIMMのメモリ容量は、搭載するメモリ素子の容量、数量等によって決まる。DIMMの動作速度は、搭載するメモリ素子の動作可能速度、CPUやDIMMを搭載するマザーボードが供給するクロック周波数等によって決まる。DIMMの実装形状は、マザーボードに実装するコネクタの種類によって決まる。DIMMの動作方式は、メモリ素子の動作規格であるDDR2,DDR3,SDRAMに基づいて決まる。DIMMのデータ長は、ECC(Error Check and Correction)付きは72ビット、ECCなしは64ビットである。 Prior to the description of the embodiments, the clamp will be described. Many information processing apparatuses include a DIMM (Dual Inline Memory Module) connected to one or more CPUs (Central Processing Units). There are various types of DIMMs depending on differences in memory capacity, operation speed, mounting shape, operation method, data length, and the like. The memory capacity of the DIMM is determined by the capacity and quantity of the memory elements to be mounted. The operation speed of the DIMM is determined by the operable speed of the mounted memory element, the clock frequency supplied by the motherboard on which the CPU and DIMM are mounted, and the like. The mounting shape of the DIMM is determined by the type of connector mounted on the motherboard. The operation method of the DIMM is determined based on DDR2, DDR3, and SDRAM, which are operation standards of the memory element. The data length of the DIMM is 72 bits with ECC (Error Check and Correction) and 64 bits without ECC.
高信頼性を求めるマザーボードに搭載するDIMMはECC付きであり、読み出しデータ64ビットに加えて8ビットのECCを付加し、読み出し72ビット中の1ビットの誤りと位置を検出し、2ビット以上の誤りを検出する機能を持つ。また、近年では、1ビット誤りの連続発生が2ビット誤りの可能性を高めるため、単位時間当たりに発生する1ビット誤りの回数が閾値を越えた場合には、該当のDIMMを切り離し、メモリ容量を減少させて安定動作を継続する機能を持たせている。この機能は、DIMMを接続するCPUまたはDIMMを制御する専用回路MAC(Memory Access Controller)やBIOS(Basic Input Output System)で行われており、製品開発において、ECC機能が正しく動作することをテストしている。 DIMM mounted on motherboards that require high reliability is equipped with ECC, adds 8-bit ECC in addition to 64-bit read data, detects 1-bit errors and positions in 72-bit read, and detects 2 bits or more. Has a function to detect errors. In recent years, the continuous occurrence of 1-bit errors increases the possibility of 2-bit errors. Therefore, when the number of 1-bit errors generated per unit time exceeds a threshold, the corresponding DIMM is disconnected and the memory capacity is increased. The function to continue the stable operation by reducing the. This function is performed by the CPU that connects the DIMM or the dedicated circuit MAC (Memory Access Controller) and BIOS (Basic Input Output System) that control the DIMM. In product development, this function is tested to ensure correct operation. ing.
ECC機能は、DIMMから読み出されるリードデータをクランプによって1から0に反転させることで動作テストを行っている。図1は、クランプについて説明するための図である。図1を参照して、DIMMから「1000」がエラー試験用のリードデータとして読み出されている。このリードデータを含む期間(図1では2ns)をクランプすることによって、1ビットデータが出力される時間以上にクランプが行われても、最初の1ビットデータのみを縮退させることができる。 The ECC function performs an operation test by inverting read data read from the DIMM from 1 to 0 by clamping. FIG. 1 is a diagram for explaining a clamp. Referring to FIG. 1, “1000” is read from the DIMM as read data for error testing. By clamping the period including the read data (2 ns in FIG. 1), only the first 1-bit data can be degenerated even if clamping is performed for a time longer than the time when 1-bit data is output.
DIMMの動作速度は、実装されるメモリ素子が動作できる速度のクロックをマザーボードから供給することによって決まる。近年、メモリ素子の動作速度は高速化されており、当該高速化の傾向は継続している。メモリ素子の高速化によってクロック周波数が高速になると、クランプ期間が固定されていれば、図2のように、リードデータに対して相対的にクランプ期間が延長されることになる。クランプ期間は、クランプを行う半導体素子の動作速度によって決まり、図2では、一例として2nsである。 The operation speed of the DIMM is determined by supplying a clock at a speed at which the mounted memory element can operate from the motherboard. In recent years, the operating speed of memory elements has been increased, and the trend of increasing the speed has continued. When the clock frequency is increased by increasing the speed of the memory element, if the clamp period is fixed, the clamp period is extended relative to the read data as shown in FIG. The clamping period is determined by the operation speed of the semiconductor element that performs clamping, and is 2 ns as an example in FIG.
図2において、エラー試験用のリードデータ1の(1)〜(4)は、あらかじめ準備されており、一例として「1000」である。なお、エラー試験用のリードデータは、いずれか1つが「1」であって、他が「0」であればよい。リードデータ1の次に読み出されるリードデータ2は、あらかじめ準備されたものではなく、(5)〜(8)は、DIMMにアクセスするCPUが示すアドレス位置のデータである。図2の例では、リードデータ1の(1)からクランプした場合に、リードデータ2の(5)および(6)までクランプ期間が継続することになる。この場合、(5)および(6)に「1」が含まれていれば、クランプによって当該「1」が反転によって誤りデータとなる。この結果、誤りデータは1回発生するべきところ、2回以上発生することになる。すなわち、連続したリードコマンドに対して、最初のリードデータのみクランプさせたいにもかかわらず、クランプさせたくない次のリードデータまでクランプされることになる。
In FIG. 2, (1) to (4) of the read
以下の実施例では、適切なクランプを実現することができるDIMM擬似故障発生装置およびDIMM擬似故障発生方法について説明する。 In the following embodiments, a DIMM simulated fault generation apparatus and a DIMM simulated fault generation method capable of realizing appropriate clamping will be described.
図3は、実施例1に係るDIMM擬似故障発生装置100のブロック図である。図3を参照して、CPU−DIMMインタフェース200は、マザーボードに実装されるDIMMコネクタである。DIMM擬似故障発生装置100は、論理回路などによって構成され、CPU−DIMMインタフェース200に実装される。DIMM擬似故障発生装置100は、DIMMコネクタ10を備える。DIMM300は、DIMMコネクタ10に実装される。
FIG. 3 is a block diagram of the DIMM simulated
また、DIMM擬似故障発生装置100は、アドレス判定部20、コマンド判定部30、コマンド間隔判定部40、テスト制御部50、クランプ実行部60、およびBUSスイッチ70を備える。アドレス判定部20は、CPUからのリードコマンドが所望アドレスであるかを判定する。コマンド判定部30は、CS信号(CS#)とRAS信号(RAS#)とCAS信号(CAS#)とWE信号(WE#)との組み合わせが一例として「0101」である場合に、リードコマンドが出力されたと判定する。
Further, the DIMM simulated
コマンド間隔判定部40は、リードコマンドが出力されたとコマンド判定部30が判定した後に、所定間隔(本実施例では一例として4クロック)をクロック信号(#CLK)の数で計測し、その間に複数のリードコマンドが出力されていないことを判定する。テスト制御部50は、CPUからのリードコマンドが所望アドレスであるとアドレス判定部20が判定したことと、コマンド間隔判定部40が上記所定間隔内にリードコマンドが複数出力されていないことを確認する。テスト制御部50で当該確認がなされると、クランプ実行部60は、テスト制御部50の指示に従って、リードコマンドが出力されてから所定時間経過後に、クランプ期間だけBUSスイッチ70をオンする。BUSスイッチ70がオンすると、リードデータの一部(一例として4ビット)が接地されることによってクランプが実施される。また、テスト制御部50は、エラー試験に関する情報をパネル部400に表示させる。
After the
続いて、DIMM擬似故障発生装置100の動作の詳細について説明する。なお、一例として、クロック間隔を0.625nsとし、クランプ期間を2nsとし、リードコマンドの時間幅を0.31nsとし、リードコマンドが出力されてからリードデータが出力されるまでの所定時間が5τで固定されているとする。
Next, details of the operation of the DIMM
CPUがDIMMに対してデータの読み出しを行う場合(リードコマンドが出力される場合)、信号の組み合わせで表される(CS#,RAS#,CAS#,WE#)が「0101」になる。図4の例では、リードコマンドaが出力されてから5τ後にリードデータa1〜a4が出力されている。また、リードコマンドaが出力されてから3τ後にリードコマンドbが出力され、リードコマンドbが出力されてから5τ後にリードデータb1〜b4が出力されている。図4の例では、リードコマンドaが、データ誤りを所望するアドレスを有している。 When the CPU reads data from the DIMM (when a read command is output), (CS #, RAS #, CAS #, WE #) represented by a combination of signals becomes “0101”. In the example of FIG. 4, read data a1 to a4 are output 5τ after the read command a is output. Further, the read command b is output 3τ after the read command a is output, and the read data b1 to b4 are output 5τ after the read command b is output. In the example of FIG. 4, the read command a has an address where a data error is desired.
この場合、リードコマンドaにて(a1,a2,a3,a4)=「1000」の読み出しにクランプを行うことによって(a1,a2,a3,a4)=「0000」となってデータ誤りが発生する。図4の例では、リードコマンドaとリードコマンドbとの間隔がクランプ期間よりも小さいため、図5のように、リードデータb1〜b4にもデータ誤りが発生しうる。しかしながら、本実施例においては、コマンド間隔判定部40がクランプ期間内に複数回リードコマンドが出力されたと判定した場合には、図6のように、クランプ実行部60はクランプを実行しない。それにより、リードデータb1〜b4にデータ誤りが発生することが防止される。
In this case, a read error of (a1, a2, a3, a4) = “1000” is clamped by the read command a, so that (a1, a2, a3, a4) = “0000” and a data error occurs. . In the example of FIG. 4, since the interval between the read command a and the read command b is smaller than the clamp period, a data error can also occur in the read data b1 to b4 as shown in FIG. However, in the present embodiment, when the command
図7の例では、リードコマンドaとリードコマンドbとの間隔がクランプ期間よりも大きいため、クランプ期間内にリードデータb1〜b4が出力されない。この場合には、コマンド間隔判定部40がクランプ期間内に1回だけリードコマンドが出力されたと判定するため、クランプ実行部60はクランプを実行する。このように、リードコマンドaがCPUから出力されてからクランプ期間以内にリードコマンドbが出力された場合にはクランプは禁止され、リードコマンドaがCPUから出力されてからクランプ期間以上の後にリードコマンドbが出力された場合にはクランプが行われる。このように、本実施例によれば、適切なクランプを実現することができる。その結果、DIMMの動作速度が高速化しても、確実にデータ誤りを指定回数発生させることが可能である。また、マザーボードのデータ誤り検出・修正機能、誤り回数係数機能などの確認を容易に行うことができるようになる。
In the example of FIG. 7, since the interval between the read command a and the read command b is larger than the clamp period, the read data b1 to b4 are not output within the clamp period. In this case, since the command
図8は、DIMM擬似故障発生装置100の動作を表すフローチャートの一例である。図8を参照して、コマンド判定部30は、CS#が「0」であるか否かを判定する(ステップS1)。ステップS1で「Yes」と判定された場合、コマンド判定部30は、RAS#が「1」であるか否かを判定する(ステップS2)。ステップS2で「Yes」と判定された場合、コマンド判定部30は、CAS#が「0」であるか否かを判定する(ステップS3)。ステップS3で「Yes」と判定された場合、コマンド判定部30は、WE#が「1」であるか否かを判定する(ステップS4)。ステップS1〜S4の実行によって、リードコマンドが出力されたか否かを判定することができる。なお、ステップS1〜ステップS4で「No」と判定された場合、ステップS1が再度実行される。
FIG. 8 is an example of a flowchart showing the operation of the DIMM
ステップS4で「Yes」と判定された場合、アドレス判定部20は、リードコマンドのアドレスADRがデータ誤りを所望するアドレスであるか否かを判定する(ステップS5)。ステップS5で「No」と判定された場合、ステップS1が再度実行される。ステップS5で「Yes」と判定された場合、コマンド間隔判定部40は、パラメータTimerに「4」を格納する(ステップS6)。パラメータTimerは、クロック数をカウントするためのパラメータである。
If “Yes” is determined in step S4, the
次に、コマンド間隔判定部40は、CLK#が「0」であるか否かを判定する(ステップS7)。ステップS7の実行によって、1クロックが経過したか否かを判定することができる。ステップS7で「No」と判定された場合(CLK#=1)、ステップS7が再度実行される。ステップS7で「Yes」と判定された場合、コマンド間隔判定部40は、パラメータTimerから「1」を減ずる(ステップS8)。
Next, the command
次に、コマンド間隔判定部40は、CS#が「0」であるか否かを判定する(ステップS9)。ステップS9で「Yes」と判定された場合、コマンド間隔判定部40は、RAS#が「1」であるか否かを判定する(ステップS10)。ステップS10で「Yes」と判定された場合、コマンド間隔判定部40は、CAS#が「0」であるか否かを判定する(ステップS11)。ステップS11で「Yes」と判定された場合、コマンド間隔判定部40は、WE#が「1」であるか否かを判定する(ステップS12)。ステップS9〜S12の実行によって、4クロックの間にリードコマンドが再度出力されたか否かを判定することができる。
Next, the command
ステップS12で「Yes」と判定された場合、コマンド間隔判定部40は、パラメータTimerに「4」を格納する(ステップS13)。次に、コマンド間隔判定部40は、CLK#が「0」であるか否かを判定する(ステップS14)。ステップS14の実行によって、1クロックが経過したか否かを判定することができる。ステップS14で「No」と判定された場合、ステップS14が再度実行される。ステップS14で「Yes」と判定された場合、コマンド間隔判定部40は、パラメータTimerから「1」を減ずる(ステップS15)。次に、コマンド間隔判定部40は、パラメータTimerが1以上であるか否かを判定する(ステップS16)。ステップS16で「Yes」と判定された場合、ステップS14が再度実行される。ステップS16で「No」と判定された場合、ステップS1が再度実行される。
When it is determined as “Yes” in Step S12, the command
ステップS9〜ステップS12で「No」と判定された場合、クランプ実行部60は、パラメータTimerが1以上であるか否かを判定する(ステップS17)。ステップS17で「Yes」と判定された場合、ステップ7が再度実行される。ステップS17で「No」と判定された場合、クランプ実行部60は、リードコマンドが出力されてから所定時間経過後(例えば5τ後)、BUSスイッチ70をクランプ期間だけオンする(ステップS18)。ステップS17,S18の実行によって、4クロックの期間にリードコマンドが1回出力された場合に、クランプが実行される。その後、フローチャートの実行が終了する。
When it is determined “No” in Steps S9 to S12, the
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims. It can be changed.
10 DIMMコネクタ
20 アドレス判定部
30 コマンド判定部
40 コマンド間隔判定部
50 テスト制御部
60 クランプ実行部
70 BUSスイッチ
100 DIMM擬似故障発生装置
200 CPU−DIMMインタフェース
300 DIMM
400 パネル部
DESCRIPTION OF
400 Panel section
Claims (4)
リードコマンドの間隔を判定し、
所定間隔以内にリードコマンドが複数回出力された場合にはクランプを禁止する、ことを特徴とするDIMM擬似故障発生方法。 A DIMM simulated fault generation method for generating a simulated fault in a DIMM from which read data is read after the CPU outputs a read command,
Determine the interval between read commands,
A DIMM simulated fault generation method, wherein clamping is prohibited when a read command is output a plurality of times within a predetermined interval.
リードコマンドの間隔を判定するコマンド間隔判定部と、
所定間隔以内にリードコマンドが複数回出力された場合にはクランプを禁止するクランプ実行部と、を備えることを特徴とするDIMM擬似故障発生装置。 A DIMM simulated fault generator for generating a simulated fault for a DIMM from which read data is read after the CPU outputs a read command,
A command interval determining unit for determining an interval between read commands;
And a clamp execution unit that prohibits clamping when a read command is output a plurality of times within a predetermined interval.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013055521A JP6003735B2 (en) | 2013-03-18 | 2013-03-18 | DIMM simulated fault generation method and DIMM simulated fault generation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013055521A JP6003735B2 (en) | 2013-03-18 | 2013-03-18 | DIMM simulated fault generation method and DIMM simulated fault generation apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014182499A JP2014182499A (en) | 2014-09-29 |
JP6003735B2 true JP6003735B2 (en) | 2016-10-05 |
Family
ID=51701169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013055521A Active JP6003735B2 (en) | 2013-03-18 | 2013-03-18 | DIMM simulated fault generation method and DIMM simulated fault generation apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6003735B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6799287B1 (en) * | 2000-05-01 | 2004-09-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for verifying error correcting codes |
JP3986898B2 (en) * | 2002-06-20 | 2007-10-03 | 富士通株式会社 | Memory simulated fault injection device |
JP3940713B2 (en) * | 2003-09-01 | 2007-07-04 | 株式会社東芝 | Semiconductor device |
JP5544878B2 (en) * | 2009-12-25 | 2014-07-09 | 富士通株式会社 | Failure control device, processor core, arithmetic processing device, information processing device, and simulated failure control method |
JP5510107B2 (en) * | 2010-06-22 | 2014-06-04 | 富士通株式会社 | Error correction test method |
-
2013
- 2013-03-18 JP JP2013055521A patent/JP6003735B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014182499A (en) | 2014-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430538B (en) | Dynamic application of ECC based on error type | |
KR101031436B1 (en) | Reliability, availability, and serviceability solutions for memory technology | |
US7624225B2 (en) | System and method for providing synchronous dynamic random access memory (SDRAM) mode register shadowing in a memory system | |
KR102210327B1 (en) | Memory device having error inform function | |
US9818492B2 (en) | Method for testing a memory and memory system | |
EP3625800B1 (en) | Systems and methods for frequency mode detection and implementation | |
US9087615B2 (en) | Memory margin management | |
TWI635503B (en) | Semiconductor memory apparatus and operating method thereof | |
US20140181429A1 (en) | Multi-dimensional hardware data training between memory controller and memory | |
JP6096930B2 (en) | Unique and non-clonal platform identifier using data-dependent circuit path response | |
KR20180080683A (en) | Method of correcting error in a memory | |
CN101908383B (en) | Test apparatus and test method | |
US9183125B2 (en) | DDR receiver enable cycle training | |
JP5510107B2 (en) | Error correction test method | |
JP6003735B2 (en) | DIMM simulated fault generation method and DIMM simulated fault generation apparatus | |
JP2010026896A (en) | Memory system, and memory error cause specifying method | |
JP5006121B2 (en) | Logic verification device and logic verification method | |
KR20150035687A (en) | Systems and methods for detecting a dimm seating error | |
JP2014016925A (en) | Information processing system, data switching method and program | |
JP2005149503A (en) | System and method for testing memory using dma | |
WO2017152534A1 (en) | Method and device for acquiring ddr odt parameter | |
US8254189B2 (en) | Method for tuning control signal associated with at least one memory device | |
US20140136910A1 (en) | Data communication apparatus and control method | |
JP6108478B2 (en) | Computer device, address translation device, and program | |
Lingambudi et al. | Timing correlation between clock & data strobe with dynamic rank switching in DDR3 RDIMMs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160728 |
|
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: 20160809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160822 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 6003735 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |