JP2010086120A - Error correction method and error detection method for memory, and controller using the same - Google Patents
Error correction method and error detection method for memory, and controller using the sameInfo
- Publication number
- JP2010086120A JP2010086120A JP2008252146A JP2008252146A JP2010086120A JP 2010086120 A JP2010086120 A JP 2010086120A JP 2008252146 A JP2008252146 A JP 2008252146A JP 2008252146 A JP2008252146 A JP 2008252146A JP 2010086120 A JP2010086120 A JP 2010086120A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- error detection
- error
- error correction
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、高速で大容量のメモリ素子を用いたシステムにおいて、システムの故障や停止が重大な結果を招く可能性のあるミッションクリティカルなシステムで用いるメモリの誤り訂正方法,誤り検出方法及びそれを用いたコントローラに関する。 The present invention relates to an error correction method and error detection method for a memory used in a mission critical system in which a failure or stop of the system may cause a serious result in a system using a high-speed and large-capacity memory device. It relates to the controller used.
高速化,大容量化が進メモリ素子は、計算機システムに多く用いられ、さまざまな分野で利用されている。その中には、数秒のシステム停止が大損害につながるものや、その故障が重大な事故につながる可能性のあるいわゆるミッションクリティカルなシステムに使われる場合がある。そのようなミッションクリティカルなシステムでは、できるだけシステムを停止させないように可用性を高めることと、異常を即座に検出し、その異常を他に波及させないようにする安全性,信頼性が重要である。前者の可用性を高める方式としては、多数決を行う多重系システムや、誤り訂正符号を用い、誤りを常に訂正するシステムが知られている。後者の安全性,信頼性を高める方式としては、2重化したシステムの出力を常に照合する方式や、誤り検出符号を用いて誤りを検出し、誤ったデータの出力を抑止するシステムが知られている。 High-speed and large-capacity memory devices are often used in computer systems and are used in various fields. Some of them are used for what is called mission-critical systems where a system outage of a few seconds can lead to major damage or a failure that can lead to a serious accident. In such a mission-critical system, it is important to increase availability so that the system is not stopped as much as possible, and to detect safety and reliability so that the abnormality is detected immediately and the abnormality is not propagated to others. As a method for increasing the former availability, there are known a multiplex system that performs majority voting and a system that always corrects errors using an error correction code. As the latter method of improving safety and reliability, there are known a method of always collating the output of a duplicated system and a system for detecting an error using an error detection code and suppressing the output of erroneous data. ing.
この中でメモリシステムの可用性と信頼性の高性能化の方法について見てみると、高可用化手法としてはECC(Error Correction Code)が有名で、記憶データに数ビットのチェックビットを追加することで1ビットのエラー訂正と、2ビットのエラー検出を行うことができる。高信頼化手法としては、通信などの分野で大量のデータ列に対して誤りがないことを検出する方式として用いられる、誤り検出符号CRC(Cyclic Redundancy Check)が有名である。データ列にチェックビットを追加することで、数ビットのエラーがないことを判定することが出来る。よく知られているパリティチェックもCRCの一種である。 Looking at how to improve the availability and reliability of memory systems, ECC (Error Correction Code) is famous as a high availability method, and adding several check bits to stored data Thus, 1-bit error correction and 2-bit error detection can be performed. As a high reliability method, an error detection code CRC (Cyclic Redundancy Check), which is used as a method for detecting that there is no error in a large amount of data strings in the field of communication or the like, is famous. By adding a check bit to the data string, it can be determined that there is no error of several bits. The well-known parity check is also a kind of CRC.
他に、ROM(Read Only Memory)などの性能的にクリティカルでない用途では、同じ内容のデータをROMの別の領域、あるいは別のチップに複数格納し、内容を照合して使用するような誤り検出方法も用いられる。 In addition, for non-performance critical applications such as ROM (Read Only Memory), error detection is performed such that the same contents of data are stored in different areas of the ROM or in different chips and the contents are collated. A method is also used.
他に、CD(Compact Disc)やハードディスクなどで用いられているブロック符号化法を用いれば、連続した複数ビットのエラーを訂正,検出することが可能である。 In addition, if a block encoding method used in a CD (Compact Disc), a hard disk, or the like is used, it is possible to correct and detect errors of a plurality of consecutive bits.
例えば、〔特許文献1〕に示されたディスクシステムに用いるキャッシュメモリでは、データの完全性(間違いが無いこと)を保証するために、CRCを付加したデータ列をECCで誤り訂正を行うメモリに格納する構成が示されている。このようにすることで高い信頼性を保ちつつ、メモリ素子の1ビット故障にも耐える可用性を高めている。 For example, in the cache memory used in the disk system disclosed in [Patent Document 1], in order to guarantee the completeness of the data (there is no error), the data string to which CRC is added is used as a memory that performs error correction by ECC. The configuration to store is shown. By doing so, the availability to withstand a 1-bit failure of the memory element is enhanced while maintaining high reliability.
また、〔特許文献2〕に示されたデータ処理回路では、マトリックス状のパリティを用いた誤り訂正機能と、データ列に対するCRCを用いて同様に高信頼性と高可用性を向上させる構成が示されている。 In addition, the data processing circuit disclosed in [Patent Document 2] shows a configuration in which high reliability and high availability are similarly improved by using an error correction function using matrix parity and CRC for a data string. ing.
計算機システムのメモリ装置を構築する最も一般的な信頼性と可用性を向上させる方式は、誤り訂正符号ECCを用い、1ビットの誤りを訂正し、2ビットの誤りを訂正する方式である。1個のメモリセルの故障率は非常に小さく、それが2個である確率はその二乗であるから、ほとんどないと考えてよい。2個のメモリセルの故障は検出することが可能であり、3個以上はその確率は更に低いと考えられる。前述の〔特許文献1〕と〔特許文献2〕に記載されたシステムでは、さらに、データ列としての完全性(間違いがないこと)を確保するためにCRCをデータ列に付加し、メモリに格納する時はECCの誤り訂正機能の付いたメモリを用いている。 The most common method of improving the reliability and availability for constructing a memory device of a computer system is a method of correcting a 1-bit error and correcting a 2-bit error using an error correction code ECC. Since the failure rate of one memory cell is very small and the probability that it is two is its square, it can be considered that there is almost no failure. Failure of two memory cells can be detected, and the probability of three or more is considered to be even lower. In the systems described in [Patent Document 1] and [Patent Document 2], a CRC is added to the data string and stored in the memory in order to ensure the completeness (no error) as the data string. When doing so, a memory with an ECC error correction function is used.
さて、このように従来のメモリシステムにおいては高信頼,高可用性の向上が重要な課題であるが、一般的な要求として高速化も重要な課題の一つである。近年のメモリデバイスではクロックに同期したデータ転送はもちろん、クロックの立ち上がり、立ち下がりの両エッジを用いたものなど高速化が著しく進んできている。その転送時間は1ns(10の9乗分の1秒)を下回るところまできており、アナログレベルのボードシミュレーションを行わないと正しく動作しないレベルになっている。さらに、メモリデバイスの製造プロセスの微細化に伴い与える信号電圧は1V(ボルト)程度まで下がってきており、非常に少ないマージンの中で動作しなければならなくなってきている。高信頼化手法の一つに、緩和された条件で動作させるディレーティングといったものがあるが、最近のメモリデバイスはPLL(フェーズロックループ)を用いているため、高い周波数でしか動作しないようにできており、容易には適用できなくなってきた。 As described above, in the conventional memory system, improvement of high reliability and high availability is an important issue, but as a general requirement, speeding up is also an important issue. In recent memory devices, not only data transfer synchronized with the clock, but also the use of both rising and falling edges of the clock, the speed has been remarkably advanced. The transfer time is less than 1 ns (one second of the ninth power of 10), and it is at a level that does not operate correctly unless analog level board simulation is performed. Further, the signal voltage applied with the miniaturization of the manufacturing process of the memory device has decreased to about 1 V (volt), and it has become necessary to operate within a very small margin. One of the high reliability methods is derating that operates under relaxed conditions. However, recent memory devices use a PLL (phase-locked loop), so they can only operate at high frequencies. It has become difficult to apply.
このような高速化,低電圧化が進むメモリデバイスを前提に高信頼で、高可用性のあるシステムを構築しようとするとき、これまでメモリデバイス内部のメモリセルの故障のみを故障仮定としていただけでは不十分で、メモリとメモリを制御するメモリコントローラ間の接続信号までの故障を故障仮定する必要が出てくる。即ち、メモリデバイスの信号であるアドレス線,データ線,アドレスストローブ線,クロック線,データストローブ線,リードライト制御線の何れが一時的に、または永久的に、断線、あるいは短絡しても、即時にデータを訂正するか、誤りであることを検出することが必要となる。 When trying to build a highly reliable and highly available system on the premise of such memory devices that are becoming faster and lower in voltage, it has not been possible to assume that only the failure of the memory cells inside the memory device has been assumed to be a failure. It is sufficient, and it is necessary to assume a failure up to the connection signal between the memory and the memory controller that controls the memory. That is, even if any of the address lines, data lines, address strobe lines, clock lines, data strobe lines, and read / write control lines, which are memory device signals, is temporarily or permanently disconnected or short-circuited, It is necessary to correct the data or detect that it is an error.
この中で特にデータ線とデータストローブ線はクロックの立ち上がりと立ち下がりの両エッジを用いるため、他に比べ半分の動作時間で厳しいタイミングとなっている。そのデータストローブ線は数本のデータ線(通常4本か8本)ごとに用意され、データストローブグループを構築している。即ち、このデータストローブ信号がうまく伝送されなければ、例えば、一度に8ビットのデータが書き込まれなかったり、変なデータが書き込まれたりすることになる。このようなケースを含めて正しく誤りを訂正するか、検出できることが課題となってきた。そして、これを実現する回路は高速な転送性能に耐えられるだけの簡易なものでなければならない。 Among them, the data line and the data strobe line use both rising and falling edges of the clock, and therefore, the timing is severe with half the operation time compared to the other. The data strobe lines are prepared for every several data lines (usually 4 or 8 lines) to construct a data strobe group. That is, if this data strobe signal is not transmitted successfully, for example, 8-bit data may not be written at once, or strange data may be written. It has been a challenge to correct or detect errors including such cases. A circuit for realizing this must be simple enough to withstand high-speed transfer performance.
本発明はメモリに書き込むアドレスとデータが正しくメモリに格納されていない問題を解決するメモリの誤り訂正,誤り検出方法、及びそれを用いた制御装置を提供することにある。 An object of the present invention is to provide a memory error correction, error detection method, and control device using the same, which solve the problem that addresses and data to be written in the memory are not correctly stored in the memory.
上記課題を達成するために、本発明はプロセッサと、メモリ制御装置と、メモリ装置とを備えたコントローラにおいて、前記プロセッサが任意のアドレスに対して任意のデータをライトアクセスするとき、前記メモリ制御装置は、該アドレスと該任意のデータから決定される誤り検出符号CRCと、該誤り検出符号CRCと前記任意のデータから決定される誤り訂正符合ECCを生成し、前記任意のデータと伴に誤り検出符号CRCと誤り訂正符号ECCを前記メモリ装置に書き込み、前記プロセッサが任意のアドレスに対してリードアクセスするとき、前記メモリ制御装置は、前記メモリ装置に書き込まれている誤り訂正符号ECCと、誤り検出符号CRCとデータを読み出し、該読み出した誤り訂正符号ECCに基づき該読み出した誤り検出符号CRCと該読み出したデータの誤りを訂正し、訂正された誤り検出符号CRCと読み出したデータに誤りがありかどうかを検出することを特徴とするものである。 To achieve the above object, according to the present invention, in a controller including a processor, a memory control device, and a memory device, when the processor performs write access to arbitrary data at an arbitrary address, the memory control device Generates an error detection code CRC determined from the address and the arbitrary data, and an error correction code ECC determined from the error detection code CRC and the arbitrary data, and error detection is performed together with the arbitrary data. When the code CRC and the error correction code ECC are written in the memory device and the processor performs read access to an arbitrary address, the memory control device reads the error correction code ECC written in the memory device and the error detection The code CRC and data are read, and the read error is based on the read error correction code ECC. It corrects the error of the output code CRC and the read data, the read data and the corrected error detection code CRC is characterized in detecting whether there is an error.
更に、本発明のコントローラは、前記誤り検出符号CRCのビット数が、前記誤り訂正符号ECCで検出可能な誤り検出ビット数より大きいことを特徴とするものである。 Furthermore, the controller of the present invention is characterized in that the number of bits of the error detection code CRC is larger than the number of error detection bits detectable by the error correction code ECC.
更に、本発明のコントローラは、前記メモリ装置は複数のグループ化された信号線で前記メモリ制御装置と接続されており、前記誤り検出符号CRCのビット数が、該グループ化された信号線数より多いことを特徴とするものである。 In the controller of the present invention, the memory device is connected to the memory control device by a plurality of grouped signal lines, and the number of bits of the error detection code CRC is greater than the number of grouped signal lines. It is characterized by many.
また、上記課題を達成するために、本発明はプロセッサと、メモリ制御装置と、メモリ装置とを備えて、メモリの誤りを検出するメモリ誤り検出方法において、前記プロセッサが任意のアドレスに対して任意のデータをライトアクセスするとき、前記メモリ制御装置は、該アドレスと該任意のデータから決定される誤り検出符号CRCと、該誤り検出符号CRCと前記任意のデータから決定される誤り訂正符合ECCを生成し、前記任意のデータと伴に誤り検出符号CRCと誤り訂正符号ECCを前記メモリ装置に書き込み、前記プロセッサが任意のアドレスに対してリードアクセスするとき、前記メモリ制御装置は、前記メモリ装置に書き込まれている誤り訂正符号ECCと、誤り検出符号CRCとデータを読み出し、該読み出した誤り訂正符号ECCに基づき該読み出した誤り検出符号CRCと該読み出したデータの誤りを検出することを特徴とするものである。 According to another aspect of the present invention, there is provided a memory error detection method including a processor, a memory control device, and a memory device, wherein the processor detects an error in a memory, and the processor performs arbitrary processing for an arbitrary address. When the memory controller performs write access, the memory control unit uses the error detection code CRC determined from the address and the arbitrary data, and the error correction code ECC determined from the error detection code CRC and the arbitrary data. Generating and writing an error detection code CRC and an error correction code ECC along with the arbitrary data to the memory device, and when the processor performs read access to an arbitrary address, the memory control device The written error correction code ECC, error detection code CRC and data are read and the read error correction code is read. Is characterized in that detecting an error in data read error detection code CRC and the read the basis of the code ECC.
更に、本発明のメモリ誤り検出方法において、前記誤り検出符号CRCのビット数が、前記誤り訂正符号ECCで検出可能な誤り検出ビット数より大きいことを特徴とするものである。 Furthermore, the memory error detection method of the present invention is characterized in that the number of bits of the error detection code CRC is larger than the number of error detection bits detectable by the error correction code ECC.
更に、本発明のメモリ誤り検出方法において、前記メモリ装置は複数のグループ化された信号線で前記メモリ制御装置と接続されており、前記誤り検出符号CRCのビット数が、該グループ化された信号線数より多いことを特徴とするものである。 Furthermore, in the memory error detection method of the present invention, the memory device is connected to the memory control device by a plurality of grouped signal lines, and the number of bits of the error detection code CRC is determined by the grouped signal. More than the number of lines.
また、上記課題を達成するために、本発明はプロセッサと、メモリ制御装置と、メモリ装置とを備えて、メモリの誤りを訂正するメモリ誤り訂正方法において、前記プロセッサが任意のアドレスに対して任意のデータをライトアクセスするとき、前記メモリ制御装置は、該アドレスと該任意のデータから決定される誤り検出符号CRCと、該誤り検出符号CRCと前記任意のデータから決定される誤り訂正符合ECCを生成し、前記任意のデータと伴に誤り検出符号CRCと誤り訂正符号ECCを前記メモリ装置に書き込み、前記プロセッサが任意のアドレスに対してリードアクセスするとき、前記メモリ制御装置は、前記メモリ装置に書き込まれている誤り訂正符号ECCと、誤り検出符号CRCとデータを読み出し、該読み出した誤り訂正符号ECCに基づき該読み出した誤り検出符号CRCと該読み出したデータの誤りを訂正することを特徴とするものである。 In order to achieve the above object, according to the present invention, there is provided a memory error correction method that includes a processor, a memory control device, and a memory device, and corrects a memory error. When the memory controller performs write access, the memory control unit uses the error detection code CRC determined from the address and the arbitrary data, and the error correction code ECC determined from the error detection code CRC and the arbitrary data. Generating and writing an error detection code CRC and an error correction code ECC along with the arbitrary data to the memory device, and when the processor performs read access to an arbitrary address, the memory control device The written error correction code ECC, error detection code CRC and data are read and the read error correction code is read. It is characterized in that to correct errors in data read error detection code CRC and the read the basis of the code ECC.
更に、本発明のメモリ誤り訂正方法において、前記誤り検出符号CRCのビット数が、前記誤り訂正符号ECCで検出可能な誤り検出ビット数より大きいことを特徴とするものである。 Furthermore, the memory error correction method of the present invention is characterized in that the number of bits of the error detection code CRC is larger than the number of error detection bits detectable by the error correction code ECC.
更に、本発明のメモリ誤り訂正方法において、前記メモリ装置は複数のグループ化された信号線で前記メモリ制御装置と接続されており、前記誤り検出符号CRCのビット数が、該グループ化された信号線数より多いことを特徴とするものである。 Furthermore, in the memory error correction method of the present invention, the memory device is connected to the memory control device by a plurality of grouped signal lines, and the number of bits of the error detection code CRC is determined by the grouped signal. More than the number of lines.
ここで、エラーを完全に検出できるようにするためCRCのビット数はデータストローブグループを構成するビット数以上にすることが望ましい。 Here, it is desirable that the number of CRC bits be greater than or equal to the number of bits constituting the data strobe group so that errors can be completely detected.
本発明は、上記メモリに書き込むデータと伴に、そのアドレスとデータから生成した誤り検出符号CRCをメモリに書き込むことで、アドレス線,データ線,アドレスストローブ線,データストローブ線,リードライト制御線などの異常を、即ち前記メモリに書き込むアドレスとデータが正しくメモリに格納されていないこと、あるいは、正しく読み出せなかったことを判定できる。特に、CRCのビット数をデータストローブグループを構成するビット数以上にすることで、アドレスストローブ信号の異常を確実に検出することが可能となる。 The present invention writes the address and the error detection code CRC generated from the data together with the data to be written into the memory, so that an address line, a data line, an address strobe line, a data strobe line, a read / write control line, etc. That is, it can be determined that the address and data to be written to the memory are not correctly stored in the memory, or that the data cannot be read correctly. In particular, it is possible to reliably detect an abnormality in the address strobe signal by setting the number of CRC bits to be equal to or greater than the number of bits constituting the data strobe group.
更に、この書き込むデータとCRCに対してECCを付加したことで1ビットのメモリセルエラー、1本のデータ線の異常を訂正することができるため、可用性を向上することが出来る。 Furthermore, by adding an ECC to the data to be written and the CRC, a 1-bit memory cell error and an abnormality in one data line can be corrected, so that the availability can be improved.
また、このメモリ制御装置を、CRC,ECCといった簡単な回路を用いて構築できるので高速なメモリデバイスを用いることが可能となる。 Further, since this memory control device can be constructed using simple circuits such as CRC and ECC, a high-speed memory device can be used.
本発明の実施形態を以下図面を用いて説明する。 Embodiments of the present invention will be described below with reference to the drawings.
以下、本発明を実施するための最良の一実施形態を図1から図7を用いて説明する。 The best mode for carrying out the present invention will be described below with reference to FIGS.
図1は、本発明におけるメモリシステムを用いた高信頼コントローラ6の構成を示している。高信頼コントローラ6はメモリ1,メモリコントローラ2,プロセッサ4から構成され、メモリコントローラ2とメモリ1とは信号線群3で接続している。また、メモリコントローラ2とプロセッサ4は信号線群5で接続している。
FIG. 1 shows a configuration of a high-
プロセッサ4はプロセッサ4内部にあるプログラム(記載せず)あるいは、それにより生成するメモリ1上のプログラムに従って動作する。一般には高信頼コントローラ6の外部からのセンサなどデータを入力し、プログラムに基づいて演算処理し、結果をアクチュエータなどに出力してシステムを制御する。このとき、プロセッサ4は、信号線群5を用い必要に応じてメモリコントローラ2に対してデータのライト,リードを行う。一般的なプロセッサでは、図1に示すように、クロック(CLK),アドレス及びデータ(AD),転送開始(BS),リードライト制御(RW),レディ(RDY),エラー(ERR)などの信号線が用いられる。
The
メモリコントローラ2は、プロセッサ4からのメモリアクセス要求に対して実際のメモリ1にアクセスする装置であり、信号線群5のアクセス要求内容をメモリ1の信号線群3に変換する処理を行う。メモリ1は具体的にはクロック同期式のダイナミックメモリを複数個使用しており、信号線群3にはクロック(CLK),アドレス(A),ローアドレスストローブ(RAS),カラムアドレスストローブ(CAS),ライトリード制御(WE),データマスク(DM),データストローブ(DQS),データ(DQ)などがある。これらは、一般的なダブルデータレート式の同期式ダイナミックメモリの信号線群であるが、特に、データマスク,データストローブはデータをバイト単位に制御できるようになっている。即ち、データが48ビットの場合、データマスクとデータストローブはそれぞれ6本の信号で構成される。
The
次にメモリ1は、一般的なダブルデータレート式の同期式ダイナミックメモリで構築できるメモリであるが、ここではN個のデータがアドレスAの指定でアクセスできるように構成する。メモリ1には、NeビットのECCとNcビットのCRC、Ndビットのアクセスデータを格納する。アクセスデータは、プロセッサ4やメモリコントローラ2のアクセス単位、あるいはその倍数が望ましく、ここでは4バイト(32ビット)を想定している。その場合、Ndは32となる。Ncはアドレスとデータから生成するCRCのビット数であるが、適用する誤り検出能力でそのビット数を決めることになる。ここでは、アドレスとデータを合わせて64ビット以下に対してハミング距離が出来るだけ大きくする設定をすればよい。また、一般的に知られているように、NcビットのCRCを用いればNcビットまでのバーストエラー、即ち連続したエラーを検出する能力が保証される。ここでは、データストローブ,データマスクでデータがバーストエラーになる可能性があるため、Ncを8以上とする。NeはECCのビット数であり、ECCを一般的な1ビット誤り訂正、2ビット誤り検出を出来るものとすると、Neは7とすることができる(Nd+Ncは40+αで、エラービットを特定するシンドロームに0〜63を指定できる6ビットと2ビットエラー検出のためにパリティ1ビットを追加)。一般に、メモリデバイスは8ビットの倍数で出来ており、メモリ1のデータ幅を8ビットの倍数にするには、Ndを32、Neを7とすると、Ncは大きいほど誤り検出能力が高いので9とする。
Next, the
図2には、メモリコントローラ2とメモリ1との接続関係をより具体的に示す。メモリ1は16ビットのデータ幅のメモリデバイス11,12,13から構成され、クロックは差動で正反2本の信号線をメモリデバイス個別に接続している。このクロックは125MHz以上必要であり、現在500MHzと年々高速化されている。このクロックに同期して与える信号が、アドレス(A),ローアドレスストローブ(RAS),カラムアドレスストローブ(CAS),ライトリード制御信号(WE)で比較的タイミングが厳しくないため、メモリデバイスに同じ信号線で接続する。8ビット単位にメモリコントローラと1対1に接続するデータマスク(DMU,DML),データストローブ(DQSU,DQSL),データ(DQ)は、クロックの立ち上がり,立ち下がりを使用し周波数が2倍となるためクリティカルパスである。特にデータストローブ,データは双方向の信号でもあり、さらに厳しい信号といえる。
FIG. 2 shows the connection relationship between the
このメモリインタフェースは一般的なダブルデータレートの同期式ダイナミックメモリと同じであるが、その厳しさを説明するため図3,図4にタイムチャートを示す。 This memory interface is the same as a general synchronous dynamic memory having a double data rate, but time charts are shown in FIGS. 3 and 4 for explaining its severity.
まず、図3はメモリへのデータライトを行うタイミングを示している。最も重要なクロックは差動信号で与える(CLKPとCLKN)。以下アドレスA,ローアドレスストローブRAS,カラムアドレスストローブCAS,ライトリード制御信号WEはクロック(CLKP)の立ち上がりでラッチされる。時間T1でアドレスAにローアドレスをメモリ内部にセット、時間T3でアドレスAにカラムアドレスを内部にセット、同時にライトアクセスであることを指定している。ここで、ローアドレスストローブRAS,カラムアドレスストローブCAS,ライトリード制御信号WEはローアクティブの信号であり、ローレベルで所定の動作を意味する信号となっている。メモリは時間T3で指定されたローアドレスとカラムアドレスで指定されたメモリエリアにライトアクセスが行われることが判る。そして、ライトデータ受け取った後該メモリエリアにライトデータを書き込むことになる。この時、ライトデータはデータストローブDQSLをクロックとしてデータDQ及び、データマスクDMLで与えられる。データストローブはクロックと同じ周波数であるが位相は一致していない信号で、データ,データマスクの有効なタイミングで立ち上がり、または、立ち下がりエッジがくる信号である。通常は、データ及びデータストローブはハイインピーダンス状態になっており、時間T3でライト動作を指定した後オンバスする。データマスクはハイレベルの時、該当するデータをメモリに書き込まないようにする信号である。図3には、データを8ビット,データマスクとデータストローブをそれぞれ1本分示したが、図2に示した回路では、これらが6セット存在する。このように8ビットのデータ単位でグループ化することで、データと、データマスク,データストローブの配線遅延を最小限に抑えることができ、高速にデータ転送できるようにしている。 First, FIG. 3 shows the timing of data writing to the memory. The most important clock is given by differential signals (CLKP and CLKN). Hereinafter, the address A, the row address strobe RAS, the column address strobe CAS, and the write / read control signal WE are latched at the rising edge of the clock (CLKP). At time T1, a row address is set in the memory at address A, and at time T3, a column address is set in address A at the same time. Here, the row address strobe RAS, the column address strobe CAS, and the write / read control signal WE are low-active signals, which are signals indicating a predetermined operation at a low level. It can be seen that the memory is write-accessed to the memory area specified by the row address and column address specified at time T3. Then, after receiving the write data, the write data is written into the memory area. At this time, the write data is given by the data DQ and the data mask DML using the data strobe DQSL as a clock. The data strobe is a signal having the same frequency as the clock but not in phase, and is a signal that rises or falls at an effective timing of data and data mask. Normally, the data and the data strobe are in a high impedance state, and they are turned on after designating the write operation at time T3. The data mask is a signal that prevents the corresponding data from being written into the memory when it is at a high level. FIG. 3 shows 8 bits of data and one data mask and one data strobe, but there are 6 sets of these in the circuit shown in FIG. By grouping in units of 8-bit data in this way, the wiring delay of data, data mask, and data strobe can be minimized and data can be transferred at high speed.
図4はリードを行う場合のタイミングである。アドレスとローアドレスストローブ,カラムアドレスストローブ,ライトリード制御信号の与え方はライト動作と同じであるが、リードしたデータの出力タイミングは少し異なっている。即ち、ライト動作の時は、データまたは、ライトマスクの中央にデータストローブの立ち上がりまたは、立ち下がりエッジがくるようにしたが、リードの場合にはメモリは、データストローブの立ち上がりまたは立ち下がりと同時にデータを出力することになっている。即ち、受け取るメモリコントローラでは、受信したデータストローブからデータが有効であるタイミングでデータを取り込む必要がある。この場合、時間T5と時間T6の中間付近(正確にはデータストローブの立ち上がりと立ち下がりの中間)でデータを内部に取り込む。クロックを400MHzとすると、周期は2.5ns、データの有効期間は1.25ns、データストローブとデータを取り込むタイミングの差は0.625nsと非常に高速なタイミングをコントロールする必要がある。電気信号の伝送速度が10cmでおよそ0.6nsである。電圧は1.5v程度に下がり、反射も考慮する必要がある。このように、メモリはタイミング的に非常に厳しい信号線で接続されている。これらの信号線のうち高々1本の信号線が正しく伝送できない場合のことを考える。アドレス,ローアドレスストローブ,カラムアドレスストローブ,ライトリード制御信号が正しくメモリに伝送されない場合は、指定したアドレスとは別なメモリエリアにライトしたり、リードしたりしてしまうことになる。データストローブやデータマスクが正しく伝送されない場合には、8ビット単位にライトすべきデータがマスクされたり、マスクするはずのデータがライトされたりする。データが正しく転送されない場合には、データが1ビット誤ってライトされたり、リードされたりする。 FIG. 4 shows the timing when reading is performed. The address, row address strobe, column address strobe, and write / read control signal are applied in the same manner as in the write operation, but the output timing of the read data is slightly different. In other words, during the write operation, the rising or falling edge of the data strobe comes to the center of the data or write mask. However, in the case of reading, the memory stores data at the same time as the rising or falling edge of the data strobe. Is supposed to be output. That is, the receiving memory controller needs to take in data from the received data strobe at a timing when the data is valid. In this case, data is taken in around the middle of the time T5 and the time T6 (more precisely, between the rising and falling edges of the data strobe). When the clock is 400 MHz, the period is 2.5 ns, the valid period of data is 1.25 ns, and the difference between the data strobe and the data fetching timing is 0.625 ns, so that it is necessary to control very high timing. The transmission speed of the electric signal is about 0.6 ns at 10 cm. The voltage drops to about 1.5v, and reflection needs to be considered. In this way, the memories are connected by signal lines that are very strict in terms of timing. Consider a case where at most one of these signal lines cannot be transmitted correctly. If the address, row address strobe, column address strobe, and write / read control signal are not correctly transmitted to the memory, data is written to or read from a memory area different from the designated address. When the data strobe or the data mask is not transmitted correctly, the data to be written is masked in units of 8 bits or the data to be masked is written. If the data is not transferred correctly, the data is erroneously written or read by 1 bit.
本発明はこれらの異常状態を訂正あるいは検出できるようにすることを目的としてなされた。先ず、1ビットの異常を検出し訂正するために誤り訂正符号ECCを付加した。更に、8ビットの連続した異常を検出するために、8次以上の生成多項式を用いた誤り検出符号CRCをアクセスするアドレスとデータに対して付加した。以下その実現方法を図5と図6を用いて説明する。 The present invention has been made for the purpose of correcting or detecting these abnormal states. First, an error correction code ECC was added to detect and correct a 1-bit abnormality. Further, in order to detect consecutive abnormalities of 8 bits, an error detection code CRC using an 8th-order or higher generation polynomial is added to the address and data to be accessed. The realization method will be described below with reference to FIGS.
図5はメモリコントローラ2におけるメモリへのライトデータを生成する回路を示したものである。プロセッサ4からのメモリへのアクセス要求に基づくアドレスAとライトデータWDが与えられると、メモリコントローラ2はアドレスAはそのままメモリ1への信号として出力すると伴に、CRC生成回路21の入力とする。ここでは便宜上アドレスAをそのまま出力する構成を記したが、実際にはローアドレスとカラムアドレスに分離する回路が挿入される。さて、CRC生成回路21では、ライトするデータWDと該アドレスAから9ビットのCRCを生成する。ここでは、例えば生成多項式としてX(9)+X(7)+X(5)+X(4)+X(2)+X(1)+1を用いる。ここで、X(N)はXのN乗を示す。この時ハミング距離は4であり、任意の3個までのビット誤りを検出できる、さらに、9個の連続したビット誤りを検出することが出来るようになる。
FIG. 5 shows a circuit for generating write data to the memory in the
次に、このCRCとライトデータWDからECC生成回路22で誤り訂正符号ECCを生成する。今、ライトデータWDを32ビット、CRCを9ビットとしているから、あわせて41ビットのデータに対してECCを生成する。1ビットの誤り訂正能力と2ビットの誤り検出能力を持たせる場合、7ビットのECCを付加すればよい。一般に、7ビットのECCは1ビットのパリティと6ビットのシンドロームから構成されている。6ビットのシンドロームは異常の検出されたビット位置を一意に示すもので、通常異常が無い場合は0になる値である。
Next, the
これらCRCとECCとライトデータWDをメモリへのライトするデータ31として出力する。
The CRC, ECC, and write data WD are output as
次に、図6にメモリ1からリードしたデータが正しいかどうかをチェックし、訂正する回路を示す。アドレスAに対してリードしたデータ31として入力されると、ECCチェック回路23でデータ31を入力としてECCをチェックし2ビットエラーのときはECCエラーを、1ビットエラーのときはシンドロームをECC訂正回路24に与える。ECCチェック回路23では、データ31からシンドロームとパリティを求め、パリティが0でシンドロームが0でない時、即ちパリティとシンドロームに矛盾があるときECCエラーをアサートする。ECC訂正へはシンドローム6ビットをそのまま送ればよい。
Next, FIG. 6 shows a circuit for checking whether the data read from the
ECC訂正回路24では、ECCチェック回路23からにシンドロームの値に従ってCRCとデータDATAの所定のビットを反転させる。ECC訂正回路24の出力はアドレスAと伴にCRCチェック回路25に入力し、CRCが正しいかチェックする。CRCチェック回路はアドレスAと、ECC訂正回路24で訂正されたデータが前記CRC生成回路21で用いた生成多項式で除算し余りが0のとき、CRCが正しいと判定する回路である。プロセッサ4の指示でメモリコントローラ2がアドレスAに対して読み出しを行うと、ECCエラー及びCRCエラーが無い時データRDを正しいリードデータとしてプロセッサ4に送る。ECCエラーあるいはCRCエラーが発生したときは、例えばメモリエラーが発生した割り込み(図1のプロセッサ4のポートERRに接続した信号)をプロセッサ4に与えメモリが異常であることを認識することができる。高信頼コントローラ6はこれによりメモリに異常が有ったことを認識できるので、何度かリトライ後ダウン信号を出力して停止するようにする。
The
ここで、ECC生成回路22,CRC生成回路21,ECCチェック回路23,CRCチェック回路25はそれぞれ多段の排他的論理和演算素子で構成される。それぞれ同じ回路ではないが、入力ビット数に対して排他的論理和を求めていくだけの回路であるから、32ビットのアドレス、32ビットのデータを最大の入力として64ビットの入力を2入力の排他的論理和では6段で結果を得ることが出来る。1個の2入力排他的論理は0.1ns以下で演算可能であり、演算時間に余裕を持って演算結果を得ることが出来る。
Here, the
図7は、このような高信頼コントローラを2個用いて高信頼,高可用性システムを構築した例を示している。2個の高信頼コントローラ61と62は同じ入力信号を受け、同じ処理を行い、高信頼用の出力制御装置7に出力データと伴にダウン信号を出力する。高信頼コントローラ61または62からのダウン信号は、正しく動作している時に決まった周期で0と1を反転するような信号で、一定値になる時異常であることを示す信号が一般に使用される。出力制御装置7は、2個の高信頼コントローラ61と62が正常動作している時は、それらのどちらかを出力する。どちらか一方の高信頼コントローラが異常になった時は、正常の高信頼コントローラの出力を選択して出力する。また、その際には故障した高信頼コントローラの交換を要求する信号を出力する。
FIG. 7 shows an example of constructing a highly reliable and highly available system using two such highly reliable controllers. The two high-
以上示してきたように、本実施例に拠れば、アドレスとデータに対する誤り検出符号CRCを9ビット付加し、更に該CRCとデータに誤り訂正コードECCを7ビット付加したことにより1ビットのメモリ内セル及びメモリ間配線の異常を訂正あるいは検出することが可能になった。 As described above, according to this embodiment, 9 bits of the error detection code CRC for the address and data are added, and 7 bits of the error correction code ECC is added to the CRC and data. It has become possible to correct or detect abnormalities in the wiring between the cell and the memory.
1 メモリ
2 メモリコントローラ
4 プロセッサ
6 高信頼コントローラ
11,12,13 メモリデバイス
21 CRC生成回路
22 ECC生成回路
23 シンドローム算出回路
24 ECC訂正回路
25 CRCチェック回路
DESCRIPTION OF
Claims (9)
前記プロセッサが任意のアドレスに対して任意のデータをライトアクセスするとき、前記メモリ制御装置は、該アドレスと該任意のデータから決定される誤り検出符号CRCと、該誤り検出符号CRCと前記任意のデータから決定される誤り訂正符合ECCを生成し、前記任意のデータと伴に誤り検出符号CRCと誤り訂正符号ECCを前記メモリ装置に書き込み、
前記プロセッサが任意のアドレスに対してリードアクセスするとき、前記メモリ制御装置は、前記メモリ装置に書き込まれている誤り訂正符号ECCと、誤り検出符号CRCとデータを読み出し、該読み出した誤り訂正符号ECCに基づき該読み出した誤り検出符号CRCと該読み出したデータの誤りを訂正し、訂正された誤り検出符号CRCと読み出したデータに誤りがありかどうかを検出することを特徴とするコントローラ。 In a controller comprising a processor, a memory control device, and a memory device,
When the processor performs write access to arbitrary data at an arbitrary address, the memory control device, the error detection code CRC determined from the address and the arbitrary data, the error detection code CRC and the arbitrary data An error correction code ECC determined from the data is generated, and an error detection code CRC and an error correction code ECC are written to the memory device together with the arbitrary data;
When the processor performs read access to an arbitrary address, the memory control device reads the error correction code ECC, error detection code CRC, and data written in the memory device, and reads the read error correction code ECC. And a controller for correcting an error in the read error detection code CRC and the read data and detecting whether there is an error in the corrected error detection code CRC and the read data.
前記誤り検出符号CRCのビット数が、前記誤り訂正符号ECCで検出可能な誤り検出ビット数より大きいことを特徴とするコントローラ。 The controller of claim 1, wherein
The controller, wherein the number of bits of the error detection code CRC is larger than the number of error detection bits detectable by the error correction code ECC.
前記メモリ装置は複数のグループ化された信号線で前記メモリ制御装置と接続されており、前記誤り検出符号CRCのビット数が、該グループ化された信号線数より多いことを特徴とするコントローラ。 The controller of claim 1, wherein
The controller, wherein the memory device is connected to the memory control device by a plurality of grouped signal lines, and the number of bits of the error detection code CRC is larger than the number of grouped signal lines.
前記プロセッサが任意のアドレスに対して任意のデータをライトアクセスするとき、前記メモリ制御装置は、該アドレスと該任意のデータから決定される誤り検出符号CRCと、該誤り検出符号CRCと前記任意のデータから決定される誤り訂正符合ECCを生成し、前記任意のデータと伴に誤り検出符号CRCと誤り訂正符号ECCを前記メモリ装置に書き込み、
前記プロセッサが任意のアドレスに対してリードアクセスするとき、前記メモリ制御装置は、前記メモリ装置に書き込まれている誤り訂正符号ECCと、誤り検出符号CRCとデータを読み出し、該読み出した誤り訂正符号ECCに基づき該読み出した誤り検出符号CRCと該読み出したデータの誤りを検出することを特徴とするメモリ誤り検出方法。 In a memory error detection method for detecting a memory error, comprising a processor, a memory control device, and a memory device,
When the processor performs write access to arbitrary data at an arbitrary address, the memory control device, the error detection code CRC determined from the address and the arbitrary data, the error detection code CRC and the arbitrary data An error correction code ECC determined from the data is generated, and an error detection code CRC and an error correction code ECC are written to the memory device together with the arbitrary data;
When the processor performs read access to an arbitrary address, the memory control device reads the error correction code ECC, error detection code CRC, and data written in the memory device, and reads the read error correction code ECC. A memory error detection method, comprising: detecting an error between the read error detection code CRC and the read data based on the method.
前記誤り検出符号CRCのビット数が、前記誤り訂正符号ECCで検出可能な誤り検出ビット数より大きいことを特徴とするメモリ誤り検出方法。 The memory error detection method according to claim 4,
A memory error detection method, wherein the number of bits of the error detection code CRC is larger than the number of error detection bits detectable by the error correction code ECC.
前記メモリ装置は複数のグループ化された信号線で前記メモリ制御装置と接続されており、前記誤り検出符号CRCのビット数が、該グループ化された信号線数より多いことを特徴とするメモリ誤り検出方法。 The memory error detection method according to claim 4,
The memory device is connected to the memory control device by a plurality of grouped signal lines, and the number of bits of the error detection code CRC is larger than the number of grouped signal lines. Detection method.
前記プロセッサが任意のアドレスに対して任意のデータをライトアクセスするとき、前記メモリ制御装置は、該アドレスと該任意のデータから決定される誤り検出符号CRCと、該誤り検出符号CRCと前記任意のデータから決定される誤り訂正符合ECCを生成し、前記任意のデータと伴に誤り検出符号CRCと誤り訂正符号ECCを前記メモリ装置に書き込み、
前記プロセッサが任意のアドレスに対してリードアクセスするとき、前記メモリ制御装置は、前記メモリ装置に書き込まれている誤り訂正符号ECCと、誤り検出符号CRCとデータを読み出し、該読み出した誤り訂正符号ECCに基づき該読み出した誤り検出符号CRCと該読み出したデータの誤りを訂正することを特徴とするメモリ誤り訂正方法。 In a memory error correction method for correcting a memory error, comprising a processor, a memory control device, and a memory device,
When the processor performs write access to arbitrary data at an arbitrary address, the memory control device, the error detection code CRC determined from the address and the arbitrary data, the error detection code CRC and the arbitrary data An error correction code ECC determined from the data is generated, and an error detection code CRC and an error correction code ECC are written to the memory device together with the arbitrary data;
When the processor performs read access to an arbitrary address, the memory control device reads the error correction code ECC, error detection code CRC, and data written in the memory device, and reads the read error correction code ECC. A memory error correction method, comprising: correcting an error between the read error detection code CRC and the read data based on:
前記誤り検出符号CRCのビット数が、前記誤り訂正符号ECCで検出可能な誤り検出ビット数より大きいことを特徴とするメモリ誤り訂正方法。 The memory error correction method according to claim 7,
A memory error correction method, wherein the number of bits of the error detection code CRC is larger than the number of error detection bits detectable by the error correction code ECC.
前記メモリ装置は複数のグループ化された信号線で前記メモリ制御装置と接続されており、前記誤り検出符号CRCのビット数が、該グループ化された信号線数より多いことを特徴とするメモリ誤り訂正方法。 The memory error correction method according to claim 7,
The memory device is connected to the memory control device by a plurality of grouped signal lines, and the number of bits of the error detection code CRC is larger than the number of grouped signal lines. Correction method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252146A JP5174603B2 (en) | 2008-09-30 | 2008-09-30 | Memory error correction method, error detection method, and controller using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252146A JP5174603B2 (en) | 2008-09-30 | 2008-09-30 | Memory error correction method, error detection method, and controller using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086120A true JP2010086120A (en) | 2010-04-15 |
JP5174603B2 JP5174603B2 (en) | 2013-04-03 |
Family
ID=42250049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008252146A Active JP5174603B2 (en) | 2008-09-30 | 2008-09-30 | Memory error correction method, error detection method, and controller using the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5174603B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012518224A (en) * | 2009-02-18 | 2012-08-09 | マイクロン テクノロジー, インク. | Data integrity in memory controllers and methods |
JP2012174088A (en) * | 2011-02-23 | 2012-09-10 | Hitachi Ltd | Memory control device |
WO2013084267A1 (en) | 2011-12-08 | 2013-06-13 | Hitachi, Ltd. | Remote copy system and remote copy control method |
US9798600B2 (en) | 2014-09-29 | 2017-10-24 | Renesas Electronics Corporation | Semiconductor memory device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002023966A (en) * | 2000-06-30 | 2002-01-25 | Toshiba Corp | Disk system for making transfer data as redundant data |
JP2005085464A (en) * | 2003-09-10 | 2005-03-31 | Hewlett-Packard Development Co Lp | Magnetic memory with error correction coding |
JP2005234976A (en) * | 2004-02-20 | 2005-09-02 | Renesas Technology Corp | Storage device |
JP2006065697A (en) * | 2004-08-27 | 2006-03-09 | Hitachi Ltd | Storage device control apparatus |
JP2006331303A (en) * | 2005-05-30 | 2006-12-07 | Toshiba Corp | Storage device |
JP2007242157A (en) * | 2006-03-09 | 2007-09-20 | Fujitsu Ltd | Information storage device, and write-in control circuit |
-
2008
- 2008-09-30 JP JP2008252146A patent/JP5174603B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002023966A (en) * | 2000-06-30 | 2002-01-25 | Toshiba Corp | Disk system for making transfer data as redundant data |
JP2005085464A (en) * | 2003-09-10 | 2005-03-31 | Hewlett-Packard Development Co Lp | Magnetic memory with error correction coding |
JP2005234976A (en) * | 2004-02-20 | 2005-09-02 | Renesas Technology Corp | Storage device |
JP2006065697A (en) * | 2004-08-27 | 2006-03-09 | Hitachi Ltd | Storage device control apparatus |
JP2006331303A (en) * | 2005-05-30 | 2006-12-07 | Toshiba Corp | Storage device |
JP2007242157A (en) * | 2006-03-09 | 2007-09-20 | Fujitsu Ltd | Information storage device, and write-in control circuit |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012518224A (en) * | 2009-02-18 | 2012-08-09 | マイクロン テクノロジー, インク. | Data integrity in memory controllers and methods |
US9015553B2 (en) | 2009-02-18 | 2015-04-21 | Round Rock Research, Llc | Data integrity in memory controllers and methods |
JP2012174088A (en) * | 2011-02-23 | 2012-09-10 | Hitachi Ltd | Memory control device |
WO2013084267A1 (en) | 2011-12-08 | 2013-06-13 | Hitachi, Ltd. | Remote copy system and remote copy control method |
US8762638B2 (en) | 2011-12-08 | 2014-06-24 | Hitachi, Ltd. | Remote copy system and remote copy control method |
US9164693B2 (en) | 2011-12-08 | 2015-10-20 | Hitachi, Ltd. | Remote copy system and remote copy control method |
US9798600B2 (en) | 2014-09-29 | 2017-10-24 | Renesas Electronics Corporation | Semiconductor memory device |
US10120741B2 (en) | 2014-09-29 | 2018-11-06 | Renesas Electronics Corporation | Semiconductor memory device |
US10360091B2 (en) | 2014-09-29 | 2019-07-23 | Renesas Electronics Corporation | Semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
JP5174603B2 (en) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11734106B2 (en) | Memory repair method and apparatus based on error code tracking | |
US6044483A (en) | Error propagation operating mode for error correcting code retrofit apparatus | |
US8041990B2 (en) | System and method for error correction and detection in a memory system | |
KR102198611B1 (en) | Method of correcting error in a memory | |
US6018817A (en) | Error correcting code retrofit method and apparatus for multiple memory configurations | |
US8171377B2 (en) | System to improve memory reliability and associated methods | |
JP4899556B2 (en) | Semiconductor integrated circuit | |
US9128868B2 (en) | System for error decoding with retries and associated methods | |
US8185800B2 (en) | System for error control coding for memories of different types and associated methods | |
US8352806B2 (en) | System to improve memory failure management and associated methods | |
US8181094B2 (en) | System to improve error correction using variable latency and associated methods | |
US8176391B2 (en) | System to improve miscorrection rates in error control code through buffering and associated methods | |
US8566672B2 (en) | Selective checkbit modification for error correction | |
US8185801B2 (en) | System to improve error code decoding using historical information and associated methods | |
US20040237001A1 (en) | Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals | |
US11030040B2 (en) | Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system | |
JP5174603B2 (en) | Memory error correction method, error detection method, and controller using the same | |
US9037948B2 (en) | Error correction for memory systems | |
US11768731B2 (en) | System and method for transparent register data error detection and correction via a communication bus | |
US10740179B2 (en) | Memory and method for operating the memory | |
US20030182611A1 (en) | Method for verifying error correction code function of a computer system | |
TW202240392A (en) | Semiconductor device and semiconductor system for testing error correction circuit | |
KR20230131029A (en) | Semiconductor device and semiconductor system | |
JP2006011576A (en) | High-reliability controller | |
CN115994050A (en) | Route allocation based on error correction capability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120806 |
|
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: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121228 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5174603 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160111 Year of fee payment: 3 |