JP2010026896A - メモリシステム、及び、メモリエラー要因特定方法 - Google Patents

メモリシステム、及び、メモリエラー要因特定方法 Download PDF

Info

Publication number
JP2010026896A
JP2010026896A JP2008189440A JP2008189440A JP2010026896A JP 2010026896 A JP2010026896 A JP 2010026896A JP 2008189440 A JP2008189440 A JP 2008189440A JP 2008189440 A JP2008189440 A JP 2008189440A JP 2010026896 A JP2010026896 A JP 2010026896A
Authority
JP
Japan
Prior art keywords
ecc
unit
data
output
memory
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.)
Withdrawn
Application number
JP2008189440A
Other languages
English (en)
Inventor
Masakatsu Uneme
昌克 采女
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2008189440A priority Critical patent/JP2010026896A/ja
Priority to US12/458,775 priority patent/US20100023839A1/en
Publication of JP2010026896A publication Critical patent/JP2010026896A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】エラーを特定することができるメモリシステムを提供すること。
【解決手段】本発明のメモリシステムによれば、ライト時において、ライトデータをループバックし、そのライトデータがエラーである場合、そのエラーは、第1処理部(51〜53)、第2処理部(56〜58)と入出力部(60)間で発生している。これにより、第1処理部(51〜53)、第2処理部(56〜58)と入出力部(60)間で発生するエラーであるのか、メモリ(8)で発生するエラーであるのかを特定することができる。
【選択図】図3

Description

本発明は、メモリにアクセス可能であり、そのメモリにアクセスするときにエラーが発生する要因を特定するメモリシステム及びその方法に関する。
メモリにアクセスするためのI/F(インターフェース)を有するメモリシステムが開発されている。メモリシステムとして、マイクロコンピュータ・SOC(System On a Chip)・FPGA(Field Programmable Gate Array)等が挙げられる。メモリシステムは、クロック信号に同期して動作する。メモリは、メモリシステムのI/Fがクロック信号に同期して動作するように設計されている。このようなメモリとして、SDRAM(Synchronous Dynamic Random Access Memory)等が挙げられる。
近年、半導体の微細化、メモリアクセスの高速化が進んでいる。これに伴い、再現性の低いメモリエラーの発生が多くなりつつある。再現性の低いメモリエラーとして、例えば、クロストーク等のノイズ起因や、メモリに格納されたデータの一部が反転するようなソフトエラー等が挙げられる。メモリエラーが発生した場合、実装機上のどの部品、あるいは、どの配線が原因かを特定する必要がある。
特開2002−132590号公報(特許文献1)には、メモリエラー切り分け方式が記載されている。この公報では、メモリエラー検出時に、オシロスコープ等の測定器を用いることなく、エラーの要因を切り分けることを目的としている。メモリエラー切り分け方式は、制御回路と入出力部(I/O部)とを具備している。制御回路は、指定アドレス保持回路、ライトデータ保持回路、エラーアドレス保持回路、エラーデータ保持回路を具備している。制御回路は、ライト要求(アドレス・ライトコマンド)に応じてI/O部を介してメモリにライトデータを書き込む。このとき、そのアドレスが指定されたアドレスである場合、制御回路は、そのアドレスを指定アドレス保持回路に保持し、ライトデータをライトデータ保持回路に保持する。リード要求(アドレス・リードコマンド)に応じてリードデータがメモリから読み出される。I/O部は、メモリから読み出されたリードデータを制御回路に出力する。このとき、制御回路は、そのアドレスをエラーアドレス保持回路に保持し、I/O部からのリードデータをエラーデータ保持回路に保持する。制御回路は、エラーデータ保持回路に保持されているリードデータがエラーであるか否かをチェックする。チェックの結果、リードデータがエラーである。この場合、制御回路は、エラーアドレス保持回路に保持されているアドレスと指定アドレス保持回路に保持されているアドレスとを比較する。その結果、一致した場合、ライトデータ保持回路に保持されているライトデータとエラーデータ保持回路に保持されているリードデータとを比較する。制御回路は、その比較の結果を出力する。
特開昭61−95465号公報(特許文献2)には、記憶装置が記載されている。この公報では、メモリエラー検出時に、診断制御用の新規のソフトウェア開発を行うことなく、エラー箇所の交換部品カードの切り分けをある程度まで可能にすることを目的としている。記憶装置は、制御回路とI/O部とを具備している。制御回路は、書き込みデータレジスタ、読み出しデータレジスタ、診断結果レジスタを具備している。制御回路は、ライト要求(アドレス・ライトコマンド)に応じてI/O部を介してメモリにライトデータを書き込む。このとき、制御回路は、ライトデータを書き込みデータレジスタに保持する。次に、リード要求(アドレス・リードコマンド)に応じてリードデータがメモリから読み出される。I/O部は、メモリから読み出されたリードデータを制御回路に出力する。このとき、制御回路は、I/O部からのリードデータを読み出しデータレジスタに保持する。制御回路は、読み出しデータレジスタに保持されているリードデータに対するECCのチェックを行う。チェックの結果、リードデータがエラーである。この場合、制御回路は、書き込みデータレジスタに保持されているライトデータに対するECCのチェックを行い、その結果を診断結果レジスタに格納する。
特開2002−132590号公報 特開昭61−95465号公報
上述のように、メモリエラーが発生した場合、実装機上のどの部品、あるいは、配線が原因かを特定する必要がある。しかし、再現性の低いメモリエラーが発生した場合、それらを特定することは困難である。
特許文献1に記載された技術では、指定アドレス保持回路にアドレスが保持されたときだけ、制御回路は、ライトデータ保持回路に保持されているライトデータとエラーデータ保持回路に保持されているリードデータとを比較する。このため、アドレスが指定されない限り、エラーが発生したか否かを確認することができない。
また、特許文献1に記載された技術では、ライトデータ保持回路からメモリを介してエラーデータ保持回路までに発生するエラーを確認している。即ち、制御回路とメモリ間で発生するエラーを確認している。しかし、制御回路とメモリ間で発生するエラーであるのか、制御回路とI/O部間で発生するエラーであるのかを特定することができない。
特許文献2に記載された技術では、特許文献1に記載された技術のようにアドレスの指定がない。このため、あるアドレスに応じてメモリにライトデータが書き込まれ、そのアドレスに応じてリードデータがメモリから読み出される、という一連の動作しか適用できない。例えば、あるアドレスに応じてメモリにライトデータが書き込まれ、別のアドレスに応じてメモリからリードデータが読み出される場合、エラーが発生したか否かを確認することができない。
また、特許文献2に記載された技術では、書き込みデータレジスタからメモリを介して読み出しデータレジスタまでに発生するエラーを確認している。即ち、制御回路とメモリ間で発生するエラーを確認している。しかし、制御回路とメモリ間で発生するエラーであるのか、制御回路とI/O部間で発生するエラーであるのかを特定することができない。
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明のメモリシステム(5)は、第1処理部(51〜53)と、入出力部(60)と、第2処理部(56〜58)と、を具備している。第1処理部(51〜53)は、ライト時において、ライトデータを受け取り、ライトデータに対する第1ECC(Error Correcting Code)を生成し、ライトデータと第1ECCとを出力する。入出力部(60)は、第1処理部(51〜53)からのライトデータと第1ECCとをメモリ(8)に出力すると共に、それぞれ出力データと第2ECCとして出力する。第2処理部(56〜58)は、出力データと第2ECCとを受け取り、出力データに対する第3ECCを生成し、第2ECCと第3ECCとを比較し、比較の結果と出力データとを出力する。
本発明のメモリシステムによれば、ライト時において、ライトデータをループバックし、そのライトデータがエラーである場合、そのエラーは、第1処理部(51〜53)、第2処理部(56〜58)と入出力部(60)間で発生している。これにより、第1処理部(51〜53)、第2処理部(56〜58)と入出力部(60)間で発生するエラーであるのか、メモリ(8)で発生するエラーであるのかを特定することができる。
以下に添付図面を参照して、本発明の実施形態によるメモリシステムについて詳細に説明する。
(第1実施形態)
図1は、本発明の第1実施形態によるメモリシステムの構成を示している。このメモリシステムは、CPU(Central Processing Unit)1と、ネットワークカード2と、PCI(Peripheral Component Interconect)3と、内部バス4と、メモリコントローラ5と、ローカルバス6と、割込みコントローラ7と、を具備している。メモリコントローラ5は、内部バス4を介して、CPU1、ネットワークカード2、PCI3、メモリコントローラ5、ローカルバス6に接続されている。割込みコントローラ7は、CPU1、ネットワークカード2、PCI3、メモリコントローラ5、ローカルバス6に接続されている。ネットワークカード2、PCI3、メモリコントローラ5、ローカルバス6は、それぞれ、外部のインターフェース(I/F)部に接続されている。メモリコントローラ5は、I/F部を介してメモリに接続されている。
CPU1、ネットワークカード2、PCI3などの書込先から内部バス4を介してメモリコントローラ5に、メモリへのライト要求(アドレス・ライトコマンド)が発生する。この場合、メモリコントローラ5は、ライト要求に応じて、メモリにライトデータを書き込む。CPU1、ネットワークカード2、PCI3などの読出先から内部バス4を介してメモリコントローラ5に、メモリへのリード要求(アドレス・リードコマンド)が発生する。この場合、メモリコントローラ5は、リード要求に応じてメモリからリードデータを読み出す。
図2は、メモリコントローラ5の構成を示している。メモリコントローラ5は、第1処理部51〜53と、第2処理部56〜58と、制御部55と、入出力部(I/Oバッファ部)60と、を具備している。制御部55は、第1処理部51〜53と第2処理部56〜58と入出力部60とを制御する。第1処理部51〜53は、ライトバッファ部51と、ECC発生部52と、第1保持部53と、を具備している。第2処理部56〜58は、リードバッファ56と、ECCチェック部57と、第2保持部58と、を具備している。
制御部55は、書込先からライト要求を受け、このライト要求をメモリに出力する。
ライトバッファ部51は、ライト時において、ライトデータを受け取り、ECC発生部52に出力する。ECC発生部52は、ライトデータに対する第1ECC(Error Correcting Code)を生成し、ライトデータと第1ECCとを第1保持部53に出力する。第1保持部53は、ECC発生部52からのライトデータと第1ECCとを保持し、クロック信号に同期してライトデータと第1ECCとを入出力部60に出力する。
入出力部60は、第1保持部53からのライトデータと第1ECCとをメモリに出力する。このとき、ライトデータと第1ECCは、ライト要求に応じてメモリに書き込まれる。同時に、入出力部60は、ライトデータと第1ECCとをそれぞれ出力データと第2ECCとして第2保持部58に出力する。
第2保持部58は、入出力部60からの出力データと第2ECCとを保持し、クロック信号に同期して出力データと第2ECCとをECCチェック部57に出力する。ECCチェック部57は、第2保持部58からの出力データと第2ECCとを受け取り、出力データに対する第3ECCを生成する。その後、ECCチェック部57は、第2ECCと第3ECCとを比較する。比較の結果、第2ECCと第3ECCとが一致しない。この場合、ECCチェック部57は、第2ECCと第3ECCとが一致しないことを表すエラー情報と、出力データとを出力装置に出力する。例えば出力装置は割込みコントローラ7であるものとする。割込みコントローラ7は、エラー情報に応じて所定の処理を実行する。
本発明の第1実施形態によるメモリシステムによれば、ライト時において、ライトデータをループバックし、そのライトデータがエラーである場合、そのエラーは、第1処理部51〜53、第2処理部56〜58と入出力部60間で発生している。これにより、第1の効果として、第1処理部51〜53、第2処理部56〜58と入出力部60間で発生するエラーであるのか、メモリ8で発生するエラーであるのかを特定することができる。
制御部55は、読出先からリード要求を受け、このリード要求をメモリに出力する。リード要求に応じて、リードデータとそれに対するECCとがメモリから読み出される。また、リード時において、例えば読出先からリード制御信号がECCチェック部57に供給されるものとする。
リード時において、入出力部60は、メモリからのリードデータとそれに対するECCとをそれぞれ出力データと第2ECCとして第2保持部58に出力する。
第2保持部58は、入出力部60からの出力データと第2ECCとを保持し、クロック信号に同期して出力データと第2ECCとをECCチェック部57に出力する。ECCチェック部57は、第2保持部58からの出力データと第2ECCとを受け取り、出力データに対する第3ECCを生成する。その後、ECCチェック部57は、第2ECCと第3ECCとを比較する。比較の結果、第2ECCと第3ECCとが一致しない。この場合、ECCチェック部57は、第2ECCと第3ECCとが一致しないことを表すエラー情報と、出力データとを出力装置(割込みコントローラ7)に出力する。割込みコントローラ7は、エラー情報に応じて所定の処理を実行する。また、ECCチェック部57は、リード制御信号に応じて、出力データをリードデータとしてリードバッファ56に出力する。リードバッファ56は、このリードデータを読出先に出力する。リード制御信号が発生している場合、即ち、リード時では、リードデータは、エラーの有無に関わらず、リードバッファ56を介して読出先に出力される。
ここで、一般的なECC:SECDED(Single error correction、double error detection)である場合、ECCチェック部57は、リードデータに対する1ビットのエラーを訂正して出力する。
本発明の第1実施形態によるメモリシステムによれば、リード時において、リードデータがエラーである場合、そのエラーは、第1処理部51〜53、第2処理部56〜58、入出力部60とメモリ8間で発生している。例えば、ライトデータがエラーではない場合、上記のエラーは、メモリ8で発生しているものと思われる。これにより、第2の効果として、第1処理部51〜53、第2処理部56〜58と入出力部60間で発生するエラーであるのか、メモリ8で発生するエラーであるのかを特定することができる。
図3は、ECC発生部52と第1保持部53とECCチェック部57と第2保持部58と入出力部60とを示している。
メモリコントローラ5は、更に、データ端子61と、ECC端子62と、を具備している。上記のメモリであるメモリ8は、データ端子61、ECC端子62にそれぞれ接続されるデータ端子、ECC端子を具備している。例えば、データ端子61、ECC端子62は、それぞれ、64個、8個であるものとし、メモリコントローラ5の各構成要素は、その個数に応じて構成されている。
入出力部60は、データ出力部601を具備している。データ出力部601は、第1データ出力部(出力バッファ)601−1と、第2データ出力部(出力バッファ)601−2と、を具備している。第1データ出力部601−1は、第1保持部53の出力とデータ端子61との間に設けられている。第2データ出力部601−2は、第1データ出力部601−1の出力と第2保持部58の入力との間に設けられている。
入出力部60は、更に、ECC出力部602を具備している。ECC出力部602は、第1ECC出力部(出力バッファ)602−1と、第2ECC出力部(出力バッファ)602−2と、を具備している。第1ECC出力部602−1は、第1保持部53の出力とデータ端子62との間に設けられている。第2ECC出力部602−2は、第1ECC出力部602−1の出力と第2保持部58の入力との間に設けられている。
第1保持部53は、第1データ保持部(フリップフロップ)531と、第1ECC保持部(フリップフロップ)532と、を具備している。第1データ保持部531は、ECC発生部52と第1データ出力部601−1との間に設けられている。第1ECC保持部532は、ECC発生部52と第1ECC出力部602−1との間に設けられている。第1データ保持部531、第1ECC保持部532には、第1クロック信号としてクロック信号CLKが供給される。
第2保持部58は、第2データ保持部(フリップフロップ)581と、第2ECC保持部(フリップフロップ)582と、を具備している。第2データ保持部581は、第2データ出力部601−2とECCチェック部57との間に設けられている。第2ECC保持部582は、第2ECC出力部602−2とECCチェック部57との間に設けられている。第2データ保持部581、第2ECC保持部582には、第2クロック信号として、第1クロック信号と同じクロック信号CLKが供給される。
本発明の第1実施形態によるメモリシステムによれば、このような構成により、上述の第1、2の効果を実現する。
第2保持部58は、更に、調整部583〜586を具備している。調整部583〜586は、第1遅延部(遅延回路)583と、第2遅延部(遅延回路)584と、第1選択部(セレクタ)585と、第2選択部(セレクタ)586と、を具備している。第1選択部585は、第2データ出力部601−2と第2データ保持部581との間に設けられている。第1遅延部583は、第2データ出力部601−2と第1選択部585との間に設けられている。第2選択部586は、第2ECC出力部602−2と第2ECC保持部582との間に設けられている。第2遅延部584は、第2ECC出力部602−2と第2選択部586との間に設けられている。
第1データ保持部531、第1ECC保持部532からメモリ8への配線による遅延を考慮しない場合、第1選択部585、第2選択部586には、遅延無効信号が供給される。配線による遅延を考慮する場合、第1選択部585、第2選択部586には、遅延有効信号が供給される。ここで、遅延無効信号について図示されていないが、遅延無効信号は、遅延有効信号の信号レベルが反転したものとする。また、第1遅延部583、第2遅延部584には、遅延調整信号が供給される。遅延調整信号については後述する。
第1選択部585は、遅延無効信号に応じて、第2データ出力部601−2の出力と第1遅延部583の出力のうちの、第2データ出力部601−2の出力を選択する。一方、遅延有効信号に応じて、第2データ出力部601−2の出力と第1遅延部583の出力のうちの、第1遅延部583の出力を選択する。第1遅延部583の動作については後述する。
第2選択部586は、遅延無効信号に応じて、第2ECC出力部602−2の出力と第2遅延部584の出力のうちの、第2ECC出力部602−2の出力を選択する。一方、遅延有効信号に応じて、第2ECC出力部602−2の出力と第2遅延部584の出力のうちの、第2遅延部584の出力を選択する。第2遅延部584の動作については後述する。
本発明の第1実施形態によるメモリシステムによれば、このような構成により、第3の効果として、配線による遅延を考慮して、上述のエラーを特定することができる。
図4は、メモリコントローラ5の動作を示すタイミングチャートである。
配線による遅延を考慮しない場合について説明する。
まず、ライト時について説明する。
ECC発生部52は、ライトバッファ部51からのライトデータをライトデータ(DOUTPP)として受け取る。ECC発生部52は、ライトデータ(DOUTPP)に対するECCをECC(ECCOP)として生成する。ECC(ECCOP)は、第1ECCに対応する。ECC発生部52は、ライトデータ(DOUTP)、ECC(ECCOP)をそれぞれ第1データ保持部531、第1ECC保持部532に出力する。
第1データ保持部531は、ECC発生部52からのライトデータ(DOUTP)を受け取って保持し、クロック信号CLKに同期してライトデータ(DOUTP)をライトデータ(DOUT)として第1データ出力部601−1に出力する。第1ECC保持部532は、ECC発生部52からのECC(ECCOP)を受け取って保持し、クロック信号CLKに同期してECC(ECCOP)をECC(ECCO)として第1ECC出力部602−1に出力する。
第1データ出力部601−1は、第1データ保持部531からのライトデータ(DOUT)を、データ端子61を介してメモリ8に出力する。第2データ出力部601−2は、第1データ出力部601−1からのライトデータ(DOUT)をデータ(DIN)として出力する。データ(DIN)は、出力データに対応する。
第1ECC出力部602−1は、第1ECC保持部532からのECC(ECCO)を、ECC端子62を介してメモリ8に出力する。第2ECC出力部602−2は、第1ECC出力部602−1からのECC(ECCO)をECC(ECCI)として出力する。ECC(ECCI)は、第2ECCに対応する。
第1選択部585は、遅延無効信号に応じて、第2データ出力部601−2の出力と第1遅延部583の出力のうちの、第2データ出力部601−2の出力を選択する。この場合、第1選択部585は、第2データ出力部601−2からのデータ(DIN)を第2データ保持部581に出力する。
第2選択部586は、遅延無効信号に応じて、第2ECC出力部602−2の出力と第2遅延部584の出力のうちの、第2ECC出力部602−2の出力を選択する。この場合、第2選択部586は、第2ECC出力部602−2からのECC(ECCI)を第2ECC保持部582に出力する。
第2データ保持部581は、第1選択部585からのデータ(DIN)を受け取って保持し、クロック信号CLKに同期してデータ(DIN)をデータ(DIND)としてECCチェック部57に出力する。第2ECC保持部582は、第2選択部586からのECC(ECCI)を受け取って保持し、クロック信号CLKに同期してECC(ECCI)をECC(ECCID)としてECCチェック部57に出力する。
ECCチェック部57は、第2データ保持部581からのデータ(DIND)と第2ECC保持部582からのECC(ECCID)とを受け取り、データ(DIND)に対するECCを生成する。データ(DIND)に対するECCは、第3ECCに対応する。その後、ECCチェック部57は、ECC(ECCID)とデータ(DIND)に対するECCとを比較する。比較の結果、ECC(ECCID)とデータ(DIND)に対するECCとが一致しない場合、ECCチェック部57は、ECC(ECCID)とデータ(DIND)に対するECCとが一致しないことを表すエラー情報と、データ(DIND)とを割込みコントローラ7に出力する。
次に、リード時について説明する。この場合、上述と同じ説明を省略する。
第2データ出力部601−2は、メモリ8からのリードデータをデータ(DIN)として出力する。データ(DIN)は、出力データに対応する。
第2ECC出力部602−2は、メモリ8からのECCをECC(ECCI)として出力する。ECC(ECCI)は、第2ECCに対応する。
第1選択部585は、データ遅延無効信号に応じて、第2データ出力部601−2からのデータ(DIN)を第2データ保持部581に出力する。
第2選択部586は、ECC遅延無効信号に応じて、第2ECC出力部602−2からのECC(ECCI)を第2ECC保持部582に出力する。
第2データ保持部581は、第1選択部585からのデータ(DIN)を受け取って保持し、クロック信号CLKに同期してデータ(DIN)をデータ(DIND)としてECCチェック部57に出力する。第2ECC保持部582は、第2選択部586からのECC(ECCI)を受け取って保持し、クロック信号CLKに同期してECC(ECCI)をECC(ECCID)としてECCチェック部57に出力する。
ECCチェック部57は、第2データ保持部581からのデータ(DIND)と第2ECC保持部582からのECC(ECCID)とを受け取り、データ(DIND)に対するECCを生成する。データ(DIND)に対するECCは、第3ECCに対応する。その後、ECCチェック部57は、ECC(ECCID)とデータ(DIND)に対するECCとを比較する。比較の結果、ECC(ECCID)とデータ(DIND)に対するECCとが一致しない場合、ECCチェック部57は、ECC(ECCID)とデータ(DIND)に対するECCとが一致しないことを表すエラー情報と、データ(DIND)とを割込みコントローラ7に出力する。また、ECCチェック部57は、リード時に供給されるリード制御信号に応じて、データ(DIND)をリードデータ(DINDD)としてリードバッファ56に出力する。リードバッファ56は、リードデータ(DINDD)を読出先に出力する。
次に、配線による遅延を考慮する場合について説明する。この場合、上述と同じ説明を省略する。
第1選択部585は、遅延有効信号に応じて、第2データ出力部601−2の出力と第1遅延部583の出力のうちの、第1遅延部583の出力を選択する。第2選択部586は、遅延有効信号に応じて、第2ECC出力部602−2の出力と第2遅延部584の出力のうちの、第2遅延部584の出力を選択する。ここで、ライトデータ(DOUT)が第1データ保持部531からメモリ8に伝達される時間と、ECC(ECCO)が第1ECC保持部532からメモリ8に伝達される時間は、同じであるものとする。また、ライトデータ(DOUT)が第1データ保持部531から第2データ保持部581にデータ(DIN)として伝達される時間と、ECC(ECCO)が第1ECC保持部532から第2ECC保持部582にECC(ECCI)として伝達される時間は、同じであるものとする。
第1遅延部583、第2遅延部584は、第1遅延時間と第2遅延時間とが異なる場合(この場合、第1遅延時間が第2遅延時間よりも長いとき)、第1遅延時間と第2遅延時間とが同一になるように、第2遅延時間を調整する。第1遅延時間は、ライトデータ(DOUT)、ECC(ECCO)がそれぞれ第1データ保持部531、第1ECC保持部532からメモリ8に伝達される時間を表している。第2遅延時間は、ライトデータ(DOUT)、ECC(ECCO)がそれぞれ第1データ保持部531、第1ECC保持部532から第2データ保持部581、第2ECC保持部582に伝達される時間を表している。
ここで、第1遅延時間が第2遅延時間よりも長い場合、第1遅延部583、第2遅延部584には、遅延調整信号が供給される。遅延調整信号は、第1遅延時間と第2遅延時間との差分である差分時間を調整するための命令を表している。第1遅延部583は、第2データ出力部601−2からのデータ(DIN)を保持する。第1遅延部583は、遅延調整信号に応じて、データ(DIN)を差分時間だけ遅らせて、第1選択部585を介して第2データ保持部581に出力する。第2遅延部584は、第2ECC出力部602−2からのECC(ECCI)を保持する。第2遅延部584は、遅延調整信号に応じて、ECC(ECCI)を差分時間だけ遅らせて、第2選択部586を介して第2ECC保持部582に出力する。
本発明の第1実施形態によるメモリシステムによれば、ライト時において、ライトデータをループバックし、そのライトデータがエラーである場合、そのエラーは、第1処理部51〜53、第2処理部56〜58と入出力部60間で発生している。これにより、第1の効果として、第1処理部51〜53、第2処理部56〜58と入出力部60間で発生するエラーであるのか、メモリ8で発生するエラーであるのかを特定することができる。
また、SDR SDRAM(Single Data Rate Synchronous Dynamic Random Access Memory)のようにデータ端子がそれぞれ双方向に使用される場合、通常であれば、ライト時において、リード側のパス(第2処理部56〜58)が動作していない。一方、本発明の第1実施形態によるメモリシステムによれば、ライト時において、ライトデータをループバックし、リード側のパスを使用している。これにより、ライトデータがエラーであるか否かを確認することができる。
本発明の第1実施形態によるメモリシステムによれば、リード時において、リードデータがエラーである場合、そのエラーは、第1処理部51〜53、第2処理部56〜58、入出力部60とメモリ8間で発生している。例えば、ライトデータがエラーではない場合、上記のエラーは、メモリ8で発生しているものと思われる。これにより、第2の効果として、第1処理部51〜53、第2処理部56〜58と入出力部60間で発生するエラーであるのか、メモリ8で発生するエラーであるのかを特定することができる。
本発明の第1実施形態によるメモリシステムによれば、第1データ保持部531とメモリ8間のスキューと、第1データ保持部531と第2データ保持部581間のスキューとを調整している。また、第1ECC保持部532とメモリ8間のスキューと、第1ECC保持部532と第2ECC保持部582間のスキューとを調整している。これにより、第3の効果として、配線による遅延を考慮して、上述のエラーを特定することができる。
(第2実施形態)
第2実施形態では、メモリ8として、DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)のように、ストローブ信号が用いられるメモリを想定する。この場合、メモリコントローラ5には、後述のDLL(Delay Locked Loop)が追加される。第2実施形態では、第1実施形態と重複する説明を省略する。
図5は、本発明の第2実施形態によるメモリシステムのメモリコントローラ5の構成を示している。メモリコントローラ5は、第2保持部58内の第1遅延部583、第2遅延部584、第1選択部585、第2選択部586に代えて、第1DLL(WDLL)部54と、第2DLL(RDLL)部59と、を具備している。即ち、メモリコントローラ5に第1DLL部54と第2DLL部59とが追加されることにより、第2保持部58内の第1遅延部583、第2遅延部584、第1選択部585、第2選択部586が必要なくなる。
図6は、メモリコントローラ5内のECC発生部52と第1保持部53と第1DLL部54とECCチェック部57と第2保持部58と第2DLL部59と入出力部60とを示している。
メモリコントローラ5は、更に、ストローブ端子63を具備している。メモリ8は、ストローブ端子63に接続されるストローブ端子を具備している。例えば、データ端子61、ECC端子62、ストローブ端子63は、それぞれ、64個、8個、8個であるものとし、メモリコントローラ5の各構成要素は、その個数に応じて構成されている。
入出力部60は、更に、ストローブ出力部603を具備している。ストローブ出力部603は、第1ストローブ出力部(出力バッファ)603−1と、第2ストローブ出力部(出力バッファ)603−2と、を具備している。第1ストローブ出力部603−1は、第1DLL部54の出力とストローブ端子63との間に設けられている。第2ストローブ出力部603−2は、第1ストローブ出力部603−1の出力と第2DLL部59の入力との間に設けられている。
第1DLL部54、第2DLL部59には、第1クロック信号としてクロック信号CLKが供給される。第1クロック信号と第2クロック信号は異なる。また、ライト時において、第1DLL部54には位相調整信号70が供給され、第2DLL部59には、第1位相調整信号71が供給される。リード時において、第2DLL部59には、第2位相調整信号72が供給される。これらの位相調整信号については後述する。
本発明の第2実施形態によるメモリシステムによれば、このような構成により、前述の第1、2の効果を実現する上に、第3の効果を実現する。
本発明の第2実施形態によるメモリコントローラ5の動作について説明する。この場合、前述と同じ説明を省略する。
まず、ライト時について説明する。
第1DLL部54は、ライト時において、クロック信号CLKの位相をずらしたライトストローブ信号を第1ストローブ出力部603−1に出力する。
第1ストローブ出力部603−1は、第1DLL部54からのライトストローブ信号を、ストローブ端子63を介してメモリ8に出力する。第2ストローブ出力部603−2は、第1ストローブ出力部603−1からのライトストローブ信号を調整ストローブ信号(STBI)として第2DLL部59に出力する。
第2DLL部59は、第1遅延時間と第2遅延時間とが異なる場合、第1遅延時間と第2遅延時間とが同一になるように、第2遅延時間を調整する。第1遅延時間は、ライトデータ、第1ECCがそれぞれ第1データ保持部531、第1ECC保持部532からメモリ8に伝達される時間と、ライトストローブ信号が第1DLL部54からメモリ8に伝達される時間との差を表している。第2遅延時間は、ライトデータ、第1ECCがそれぞれ第1データ保持部531、第1ECC保持部532から第2データ保持部581、第2ECC保持部582に出力データ、第2ECCとして伝達される時間と、ライトストローブ信号が第1DLL部54から第2DLL部59に伝達される時間との差を表している。
ここで、第1遅延時間と第2遅延時間とが異なる場合、第2DLL部59には、第1位相調整信号71が供給される。第1位相調整信号71は、第1遅延時間と第2遅延時間との差分である差分時間を調整するための命令を表している。第2DLL部59は、第2ストローブ出力部603−2からの調整ストローブ信号(STBI)を保持する。第2DLL部59は、第1位相調整信号71とクロック信号CLKとに応じて、調整ストローブ信号(STBI)を差分時間だけ遅らせて、調整ストローブ信号(STBID)として第2データ保持部581、第2ECC保持部582に出力する。調整ストローブ信号(STBID)は、第2クロック信号に対応する。
また、この場合、第1DLL部54には、位相調整信号70が供給される。第1DLL部54は、ライト時において、位相調整信号70とクロック信号CLKとに応じて、ライトストローブ信号を第1ストローブ出力部603−1に出力する。
次に、リード時について説明する。この場合、前述と同じ説明を省略する。
リード時において、リードストローブ信号がメモリ8から出力される。このとき、第2ストローブ出力部603−2は、メモリ8からのリードストローブ信号を調整ストローブ信号(STBI)として第2DLL部59に出力する。
第2DLL部59は、リード時において調整ストローブ信号の位相を所望の位相に調整する必要がある。
この場合、第2DLL部59には、第2位相調整信号72が供給される。第2位相調整信号72は、調整ストローブ信号の位相を所望の位相に調整するための命令を表している。第2DLL部59は、第2ストローブ出力部603−2からの調整ストローブ信号(STBI)を保持する。第2DLL部59は、第2位相調整信号72とクロック信号CLKとに応じて、調整ストローブ信号(STBI)の位相を所望の位相に調整して、調整ストローブ信号(STBID)として第2データ保持部581、第2ECC保持部582に出力する。調整ストローブ信号(STBID)は、第2クロック信号に対応する。
メモリ8は、DDR SDRAMのように、ストローブ信号が用いられるメモリである。この場合、リード時において、ストローブ信号(この場合、リードストローブ信号)を第2データ保持部581、第2ECC保持部582(F/F)へのクロック信号とし、第2データ保持部581、第2ECC保持部582は、このストローブ信号に応じて、出力データ(この場合、リードデータ)をラッチする。その際、第2データ保持部581、第2ECC保持部582にストローブ信号を供給する前に、ストローブ信号の位相を90度程度ずらす必要がある。それにはDLLが用いられる。また、DLLは位相の微調整できる場合が一般的である。
図7は、第2DDL部59の構成を示している。
第2DDL部59は、マスター部(MASTER)590と、スレーブ部(SLAVE部)595と、を具備している。
マスター部590は、遅延回路591−1〜591−4と、位相比較器(PD)592と、ローパスフィルタ(LPF)593と、を具備している。遅延回路591−1〜591−4は、この順で直列に接続されている。遅延回路591−4は、位相比較器592に接続されている。位相比較器592は、ローパスフィルタ593に接続されている。ローパスフィルタは、遅延回路591−1〜591−4とスレーブ部595に接続されている。遅延回路591−1と位相比較器592には、クロック信号CLKが供給される。遅延回路591−1〜591−4は、遅延調整信号に基づいて、クロック信号CLKを90度ずつ遅延させる。遅延回路591−4は、クロック信号CLKをクロック信号(FEEDBACK)として位相比較器592に出力する。位相比較器592は、クロック信号CLKとクロック信号(FEEDBACK)との位相を比較し、遅延回路591−1〜591−4の段数を調整することでクロック信号CLKと同位相となる段数を求める。位相比較器592は、この段数を遅延調整信号として、ローパスフィルタ593を介して遅延回路591−1〜591−4とスレーブ部595に出力する。
スレーブ部595は、遅延回路596−1〜596−4と、位相インターポレータ597と、を具備している。遅延回路596−1〜596−4は、この順で直列に接続されている。遅延回路596−1〜596−4は、マスター部590のローパスフィルタ593に接続されている。位相インターポレータ597は、遅延回路596−1〜596−4に接続されている。遅延回路596−1には、第2ストローブ出力部603−2からの調整ストローブ信号(STBI)が供給される。また、遅延回路596−1には、マスター部590からの遅延調整信号が供給される。位相インターポレータ597には、位相調整信号として第2位相調整信号72が供給される。遅延回路596−1〜596−4は、遅延調整信号に基づいて、調整ストローブ信号(STBI)を90度ずつ遅延させる。その結果、遅延回路596−1〜596−4により、それぞれ、調整ストローブ信号(STBI)に対して、90度遅れのストローブ信号(STB90)、180度遅れのストローブ信号(STB#)、270度遅れのストローブ信号(STB90#)、360度遅れのストローブ信号(STB)の4層クロックが生成される。これら4層クロックは、位相インターポレータ597に与えられる。位相インターポレータ597は、0〜360度の範囲で、位相調整信号に基づいて位相調整が可能であり、調整ストローブ信号(STBI)を位相調整したストローブ信号を調整ストローブ信号(STBID)として第2データ保持部581、第2ECC保持部582に出力する。
第2実施形態では、この第2DDL部59を利用して、ライトデータのECCチェック時には、位相調整信号を第2位相調整信号72から第1位相調整信号71に変更することで、調整ストローブ信号(STBID)とデータ(DIN)・ECC(ECCI)の細かいスキューの調整も可能となる。
本発明の第2実施形態によるメモリシステムによれば、前述の第1〜3の効果を実現する上に、リード時に使用するRDDL(第2DLL部59)を利用するので、遅延回路やセレクタ(第1遅延部583、第2遅延部584、第1選択部585、第2選択部586)等を追加する必要がなくなる。DLLを使用することにより、細かい精度での位相調整が可能になり、メモリ8との配線等のスキュー要因をある程度考慮して、前述のエラーを特定することができる。
図1は、本発明の第1、2実施形態によるメモリシステムの構成を示している。 図2は、本発明の第1実施形態によるメモリシステムのメモリコントローラ5の構成を示している。 図3は、本発明の第1実施形態によるメモリシステムのメモリコントローラ5内のECC発生部52と第1保持部53とECCチェック部57と第2保持部58と入出力部60とを示している。 図4は、本発明の第1、2実施形態によるメモリシステムのメモリコントローラ5の動作を示すタイミングチャートである。 図5は、本発明の第2実施形態によるメモリシステムのメモリコントローラ5の構成を示している。 図6は、本発明の第2実施形態によるメモリシステムのメモリコントローラ5内のECC発生部52と第1保持部53と第1DLL部(WDLL)54とECCチェック部57と第2保持部58と第2DLL部(RDLL)59と入出力部60とを示している。 図7は、本発明の第2実施形態によるメモリシステムのメモリコントローラ5内の第2DLL部59の構成を示している。
符号の説明
1 CPU、
2 ネットワークカード、
3 PCI、
4 内部バス、
5 メモリコントローラ、
6 ローカルバス、
7 割込みコントローラ、
8 メモリ、
51 ライトバッファ部、
52 ECC発生部、
53 第1保持部、
531 第1データ保持部(フリップフロップ)、
532 第1ECC保持部(フリップフロップ)、
54 第1DLL(WDLL)部、
55 制御部、
56 リードバッファ、
57 ECCチェック部、
58 第2保持部、
581 第2データ保持部(フリップフロップ)、
582 第2ECC保持部(フリップフロップ)、
583 第1遅延部(遅延回路)、
584 第2遅延部(遅延回路)、
585 第1選択部(セレクタ)、
586 第2選択部(セレクタ)、
59 第2DLL(RDLL)部、
590 マスター部(MASTER)、
591−1〜591−4 遅延回路、
592 位相比較器(PD)、
593 ローパスフィルタ(LPF)、
595 スレーブ部(SLAVE)、
596−1〜596−4 遅延回路、
597 位相インターポレータ、
60 入出力部(I/Oバッファ部)、
601 データ出力部、
601−1 第1データ出力部(出力バッファ)、
601−2 第2データ出力部(出力バッファ)、
602 ECC出力部、
602−1 第1ECC出力部(出力バッファ)、
602−2 第2ECC出力部(出力バッファ)、
603 ストローブ出力部、
603−1 第1ストローブ出力部(出力バッファ)、
603−2 第2ストローブ出力部(出力バッファ)、
61 データ端子、
62 ECC端子、
70、71、72 位相調整信号、

Claims (18)

  1. ライト時において、ライトデータを受け取り、前記ライトデータに対する第1ECC(Error Correcting Code)を生成し、前記ライトデータと前記第1ECCとを出力する第1処理部と、
    前記第1処理部からの前記ライトデータと前記第1ECCとをメモリに出力すると共に、それぞれ出力データと第2ECCとして出力する入出力部と、
    前記出力データと前記第2ECCとを受け取り、前記出力データに対する第3ECCを生成し、前記第2ECCと前記第3ECCとを比較し、前記比較の結果と前記出力データとを出力する第2処理部と、
    を具備するメモリシステム。
  2. リード時において、リードデータとそれに対するECCとが前記メモリから読み出されたとき、
    前記入出力部は、前記メモリからの前記リードデータとそれに対する前記ECCとをそれぞれ前記出力データと前記第2ECCとして前記第2処理部に出力する、
    請求項1に記載のメモリシステム。
  3. 前記第2処理部は、
    前記比較の結果として前記第2ECCと前記第3ECCとが一致しない場合、前記第2ECCと前記第3ECCとが一致しないことを表すエラー情報を出力し、
    前記リード時に供給されるリード制御信号に応じて、前記出力データを出力する、
    請求項2に記載のメモリシステム。
  4. 前記入出力部は、
    前記第1処理部からの前記ライトデータを前記メモリに出力する第1データ出力部と、
    前記第1データ出力部からの前記ライトデータを前記出力データとして前記第2処理部に出力する第2データ出力部と、
    前記第1処理部からの前記第1ECCを前記メモリに出力する第1ECC出力部と、
    前記第1ECC出力部からの前記第1ECCを前記第2ECCとして前記第2処理部に出力する第2ECC出力部と、
    を具備する請求項1〜3のいずれかに記載のメモリシステム。
  5. 前記第1処理部は、
    前記ライト時において、前記ライトデータを受け取り、前記ライトデータに対する第1ECCを生成するECC発生部と、
    前記ライトデータを受け取って保持し、第1クロック信号に同期して前記第1データ出力部に出力する第1データ保持部と、
    前記ECC発生部からの前記第1ECCを保持し、前記第1クロック信号に同期して第1ECC出力部に出力する第1ECC保持部と、
    を具備し、
    前記第2処理部は、
    前記第2データ出力部からの前記出力データを保持し、第2クロック信号に同期して出力する第2データ保持部と、
    前記第2ECC出力部からの前記第2ECCを保持し、前記第2クロック信号に同期して出力する第2ECC保持部と、
    前記第2データ保持部からの前記出力データに対する前記第3ECCを生成し、前記第2ECC保持部からの前記第2ECCと前記第3ECCとを比較し、前記比較の結果と前記出力データとを出力するECCチェック部と、
    を具備する請求項4に記載のメモリシステム。
  6. 前記第1処理部と前記メモリ間の第1遅延時間と、前記第1処理部と前記第2処理部間の第2遅延時間とが同一になるように、遅延を調整する調整部、
    を更に具備する請求項5に記載のメモリシステム。
  7. 前記第1遅延時間は、前記ライトデータ、前記第1ECCがそれぞれ前記第1データ保持部、前記第1ECC保持部から前記メモリに伝達される時間を表し、
    前記第2遅延時間は、前記ライトデータ、前記第1ECCがそれぞれ前記第1データ保持部、前記第1ECC保持部から前記第2データ保持部、前記第2ECC保持部に伝達される時間を表し、
    前記第1遅延時間と前記第2遅延時間とが異なる場合、
    調整部は、前記第1遅延時間と前記第2遅延時間とが同一になるように、前記第2遅延時間を調整する、
    請求項6に記載のメモリシステム。
  8. 前記第1クロック信号と前記第2クロック信号は同一であり、
    前記調整部は、
    前記第1遅延時間と前記第2遅延時間とが異なる場合、前記第1遅延時間と前記第2遅延時間との差分である差分時間を調整するための遅延調整信号が供給される第1、2遅延部、
    を具備し、
    前記第1遅延部は、前記第2データ出力部からの前記出力データを保持し、前記遅延調整信号に応じて、前記出力データを前記差分時間だけ遅らせて前記第2データ保持部に出力し、
    前記第2遅延部は、前記第2ECC出力部からの前記第2ECCを保持し、前記遅延調整信号に応じて、前記第2ECCを前記差分時間だけ遅らせて前記第2ECC保持部に出力する、
    請求項7に記載のメモリシステム。
  9. 前記調整部は、
    遅延無効信号に応じて、前記第2データ出力部からの前記出力データを前記第2データ保持部に出力し、遅延有効信号に応じて、前記第1遅延部からの前記出力データを前記第2データ保持部に出力する第1選択部と、
    前記遅延無効信号に応じて、前記第2ECC出力部からの前記第2ECCを前記第2ECC保持部に出力し、前記遅延有効信号に応じて、前記第2遅延部からの前記第2ECCを前記第2ECC保持部に出力する第2選択部と、
    を更に具備する請求項8に記載のメモリシステム。
  10. 前記調整部は、
    ライト時において、ライトストローブ信号を出力する第1DLL(Delay Locked Loop)部と、
    第2DLL部と、
    を具備し、
    前記入出力部は、
    前記第1DLL部からの前記ライトストローブ信号を前記メモリに出力する第1ストローブ出力部と、
    前記第1ストローブ出力部からの前記ライトストローブ信号を調整ストローブ信号として前記第2DLL部に出力する第2ストローブ出力部と、
    を更に具備し、
    前記第1遅延時間は、前記ライトデータ、前記第1ECCがそれぞれ前記第1データ保持部、第1ECC保持部から前記メモリに伝達される時間と、前記ライトストローブ信号が前記第1DLL部から前記メモリに伝達される時間との差を表し、
    前記第2遅延時間は、前記ライトデータ、前記第1ECCがそれぞれ前記第1データ保持部、第1ECC保持部から前記第2データ保持部、前記第2ECC保持部に伝達される時間と、前記ライトストローブ信号が前記第1DLL部から前記第2DLL部に伝達される時間との差を表し、
    前記第1遅延時間と前記第2遅延時間とが異なる場合、
    前記第2DLL部は、前記第1遅延時間と前記第2遅延時間とが同一になるように、前記第2遅延時間を調整する、
    請求項6に記載のメモリシステム。
  11. 前記第1クロック信号と前記第2クロック信号は異なり、
    前記第2DLL部には、前記第1遅延時間と前記第2遅延時間とが異なる場合、前記第1遅延時間と前記第2遅延時間との差分である差分時間を調整するための第1位相調整信号が供給され、
    前記第2DLL部は、
    前記第1位相調整信号と前記第1クロック信号とに応じて、前記第2ストローブ出力部からの前記調整ストローブ信号を前記差分時間だけ遅らせて、前記第2クロック信号として前記第2データ保持部、前記第2ECC保持部に出力する、
    請求項10に記載のメモリシステム。
  12. リード時において、リードストローブ信号が前記メモリから出力されたとき、
    前記第2ストローブ出力部は、前記メモリからの前記リードストローブ信号を前記調整ストローブ信号として前記第2DLL部に出力し、
    前記第2DLL部には、前記調整ストローブ信号の位相を所望の位相に調整するための第2位相調整信号が供給され、
    前記第2DLL部は、
    前記第2位相調整信号と前記第1クロック信号とに応じて、前記第2ストローブ出力部からの前記調整ストローブ信号の位相を前記所望の位相に調整して、前記第2クロック信号として前記第2データ保持部、前記第2ECC保持部に出力する、
    請求項11に記載のメモリシステム。
  13. 第1処理部が、ライト時において、ライトデータを受け取り、前記ライトデータに対する第1ECC(Error Correcting Code)を生成し、前記ライトデータと前記第1ECCとを出力する第1ステップと、
    入出力部が、前記第1処理部からの前記ライトデータと前記第1ECCとをメモリに出力すると共に、それぞれ出力データと第2ECCとして出力する第2ステップと、
    第2処理部が、前記出力データと前記第2ECCとを受け取り、前記出力データに対する第3ECCを生成し、前記第2ECCと前記第3ECCとを比較し、前記比較の結果と前記出力データとを出力する第3ステップと、
    を具備するメモリエラー要因特定方法。
  14. リード時において、リードデータとそれに対するECCとが前記メモリから読み出されたとき、
    前記第2ステップは、
    前記入出力部が、前記メモリからの前記リードデータとそれに対する前記ECCとをそれぞれ前記出力データと前記第2ECCとして出力するステップ、
    を更に含む請求項13に記載のメモリエラー要因特定方法。
  15. 前記第3ステップは、
    前記比較の結果として前記第2ECCと前記第3ECCとが一致しない場合、前記第2処理部が、前記第2ECCと前記第3ECCとが一致しないことを表すエラー情報を出力するステップと、
    前記第2処理部が、前記リード時に供給されるリード制御信号に応じて、前記出力データを出力するステップと、
    を更に含む請求項14に記載のメモリエラー要因特定方法。
  16. 前記第1処理部と前記メモリ間の第1遅延時間と、前記第1処理部と前記第2処理部間の第2遅延時間とが同一になるように、調整部が遅延を調整する第4ステップ、
    を更に具備する請求項13〜15のいずれかに記載のメモリエラー要因特定方法。
  17. メモリと、
    前記メモリに接続され、ライトデータと、リードデータと、それぞれのデータに対応するECC(Error Correcting Code)とを前記メモリに対して入出力を行うメモリインターフェース部と、
    前記メモリインターフェース部に接続され、前記メモリへのライトデータと、前記ライトデータから生成された第1のECCとを前記メモリインターフェース部に出力するライトデータ処理部と、
    前記メモリインターフェース部に接続され、前記メモリからのリードデータと前記リードデータに対応する第2のECCとを受け取るリードデータ処理部と、
    前記リードデータ処理部に接続され、前記リードデータから第3のECCを生成し、前記第2と第3のECCとを比較するECCチェック部と
    を備え、
    前記メモリインターフェース部は、前記ライトデータをメモリへ出力するときは、前記ライトデータと前記第1のECCとを、それぞれ前記リードデータ、前記第2のECCとして前記リードデータ処理部に出力するメモリシステム。
  18. 前記ライトデータ処理部と前記メモリ間の第1の遅延時間と、前記ライトデータ処理部と前記リードデータ処理部間の第2の遅延時間とが同じになるように遅延を調整する遅延調整部、
    を更に備える請求項17に記載のメモリシステム。
JP2008189440A 2008-07-23 2008-07-23 メモリシステム、及び、メモリエラー要因特定方法 Withdrawn JP2010026896A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008189440A JP2010026896A (ja) 2008-07-23 2008-07-23 メモリシステム、及び、メモリエラー要因特定方法
US12/458,775 US20100023839A1 (en) 2008-07-23 2009-07-22 Memory system and memory error cause specifying method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008189440A JP2010026896A (ja) 2008-07-23 2008-07-23 メモリシステム、及び、メモリエラー要因特定方法

Publications (1)

Publication Number Publication Date
JP2010026896A true JP2010026896A (ja) 2010-02-04

Family

ID=41569730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008189440A Withdrawn JP2010026896A (ja) 2008-07-23 2008-07-23 メモリシステム、及び、メモリエラー要因特定方法

Country Status (2)

Country Link
US (1) US20100023839A1 (ja)
JP (1) JP2010026896A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011216A1 (ja) * 2010-07-23 2012-01-26 パナソニック株式会社 メモリコントローラおよびメモリアクセスシステム
US8315109B2 (en) 2010-11-04 2012-11-20 Renesas Electronics Corporation Memory interface circuit and semiconductor device
JP2015035229A (ja) * 2014-11-18 2015-02-19 ルネサスエレクトロニクス株式会社 半導体装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059184A (ja) * 2010-09-13 2012-03-22 Nec Computertechno Ltd メモリコントローラ、これを備えたメモリシステム及びメモリデバイスの制御方法
US9431129B2 (en) 2014-04-30 2016-08-30 Qualcomm Incorporated Variable read delay system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648239A (en) * 1970-06-30 1972-03-07 Ibm System for translating to and from single error correction-double error detection hamming code and byte parity code
JPH01201736A (ja) * 1988-02-08 1989-08-14 Mitsubishi Electric Corp マイクロコンピュータ
US5754567A (en) * 1996-10-15 1998-05-19 Micron Quantum Devices, Inc. Write reduction in flash memory systems through ECC usage
KR100813630B1 (ko) * 2007-02-07 2008-03-14 삼성전자주식회사 독출 성능을 향상할 수 있는 플래시 메모리 시스템 및그것의 독출 방법
JP4994112B2 (ja) * 2007-05-22 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびメモリ制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011216A1 (ja) * 2010-07-23 2012-01-26 パナソニック株式会社 メモリコントローラおよびメモリアクセスシステム
US8315109B2 (en) 2010-11-04 2012-11-20 Renesas Electronics Corporation Memory interface circuit and semiconductor device
US8406065B2 (en) 2010-11-04 2013-03-26 Renesas Electronics Corporation Memory interface circuit and semiconductor device
US9053764B2 (en) 2010-11-04 2015-06-09 Renesas Electronics Corporation Memory interface circuit and semiconductor device
JP2015035229A (ja) * 2014-11-18 2015-02-19 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
US20100023839A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
US11150982B2 (en) Memory error detection
US9081516B2 (en) Application memory preservation for dynamic calibration of memory interfaces
US7612621B2 (en) System for providing open-loop quadrature clock generation
US7624225B2 (en) System and method for providing synchronous dynamic random access memory (SDRAM) mode register shadowing in a memory system
US6646953B1 (en) Single-clock, strobeless signaling system
JP5331902B2 (ja) 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法
KR20080024413A (ko) 데이터 입출력 오류 검출 기능을 갖는 반도체 메모리 장치
US20170123892A1 (en) Parity check circuit and memory device including the same
US7139965B2 (en) Bus device that concurrently synchronizes source synchronous data while performing error detection and correction
JP4959264B2 (ja) メモリ制御装置
JP2010081577A (ja) 半導体装置およびデータ伝送システム
JP2010026896A (ja) メモリシステム、及び、メモリエラー要因特定方法
JP2006275616A (ja) 半導体装置及びスキュー調整方法
US11631454B2 (en) Methods and apparatus for reduced area control register circuit
WO2012046343A1 (ja) メモリモジュール冗長化方法、記憶処理装置、及びデータ処理装置
JP3861650B2 (ja) インターフェース回路
US6877103B2 (en) Bus interface timing adjustment device, method and application chip
JP2010086120A (ja) メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ
JPWO2008142743A1 (ja) 試験装置
US8254189B2 (en) Method for tuning control signal associated with at least one memory device
US20230298640A1 (en) Systems and methods for resolving data (dq) line swapping configurations in double data rate (ddr) memories
JP2016085162A (ja) 半導体集積回路、半導体集積回路の故障検出方法および電子装置
JP6003735B2 (ja) Dimm擬似故障発生方法およびdimm擬似故障発生装置
JPH04125751A (ja) パリティチェック回路

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111004