JP2010199811A - Memory system of controller - Google Patents
Memory system of controller Download PDFInfo
- Publication number
- JP2010199811A JP2010199811A JP2009040674A JP2009040674A JP2010199811A JP 2010199811 A JP2010199811 A JP 2010199811A JP 2009040674 A JP2009040674 A JP 2009040674A JP 2009040674 A JP2009040674 A JP 2009040674A JP 2010199811 A JP2010199811 A JP 2010199811A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- data
- circuit
- memory
- check matrix
- 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.)
- Pending
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 229
- 238000012937 correction Methods 0.000 claims abstract description 28
- 208000011580 syndromic disease Diseases 0.000 claims description 26
- 238000007792 addition Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 7
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 3
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
本発明は、メモリシステムに用いられる誤りを自動訂正して装置・システムの信頼性を向上させるための誤り訂正方法に関し、特に、温度、振動、ノイズ等による作業環境の劣悪な状況下において正常動作させなければならない産業用装置・システムまたは医療、航空宇宙、公共システム等、信頼性の要求される装置・システムにおいて利用される誤り訂正方法の1つであるパリティ検査行列の誤り訂正符号を有するシステム、とりわけ、一定周期で繰り返し参照される産業装置のプログラムやデータを保存するメモリシステムに関する。 The present invention relates to an error correction method for automatically correcting an error used in a memory system and improving the reliability of the apparatus / system, and in particular, operates normally in a poor working environment due to temperature, vibration, noise, etc. A system having an error correction code of a parity check matrix that is one of error correction methods used in industrial devices / systems or medical / aerospace / public systems that require reliability such as medical / aerospace / public systems In particular, the present invention relates to a memory system for storing programs and data of industrial devices that are repeatedly referred to at a constant cycle.
データ中の誤りを訂正する方法として誤り訂正符号がある。誤り訂正符号は、産業用装置や産業用システムまたは医療、航空宇宙、公共システム等、信頼性を要求される装置およびシステムにおいて利用されている。半導体メモリにおいてはα線や宇宙線によるメモリデータの破壊への対策として使用されている。
誤り訂正符号は従来から符号理論として研究され、バースト誤りに特化したパリティ検査行列や、局所的に誤り訂正の能力を強化したパリティ検査行列など、機能の異なる様々な構成のパリティ検査行列が提案されており、産業用装置や産業用システムの設置環境に合わせたパリティ検査行列を用いることが信頼性を向上させる上で重要である。
There is an error correction code as a method for correcting an error in data. Error correction codes are used in industrial devices, industrial systems, or devices and systems that require reliability, such as medical, aerospace, and public systems. In a semiconductor memory, it is used as a countermeasure against destruction of memory data by α rays or cosmic rays.
Error correction codes have been studied as a code theory, and parity check matrices with various functions such as a parity check matrix specialized for burst errors and a parity check matrix with locally enhanced error correction capabilities are proposed. In order to improve reliability, it is important to use a parity check matrix that matches the installation environment of an industrial device or an industrial system.
ここでパリティ検査行列の誤り訂正符号の基本的な技術について図7を用いて説明する。pビットの入力データ(数1式参照)がメモリに格納される。なお、「τ」は転置を意味する記号である。 Here, a basic technique of the error correction code of the parity check matrix will be described with reference to FIG. The p-bit input data (see Equation 1) is stored in the memory. “Τ” is a symbol that means transposition.
pビットの入力データIがメモリに格納されるのと同時に、符号化回路が入力データIに対して行数q列数pのパリティ検査行列H(数2式参照)の行列演算を行い(数3式参照)、演算結果であるシンドロームS(数4式参照)を、データ幅qビットの検査符号C(数5式参照)としてメモリの指定領域に格納する。 At the same time that the p-bit input data I is stored in the memory, the encoding circuit performs a matrix operation on the input data I by a parity check matrix H (see Equation 2) having the number of rows and the number of columns p (see Equation 2) The syndrome S (see Equation 4), which is the calculation result, is stored in the designated area of the memory as a check code C (see Equation 5) having a data width of q bits.
復号回路は格納データ(数6式参照)の前記パリティ行列Hによる演算結果であるS’と検査符号Cとの比較結果である検査結果Wがゼロベクトルであるかどうかで誤りを検出する(数7式参照)。ただし、パリティ検査行列の行列演算に関わる加算記号は排他的論理和を意味する。 The decoding circuit detects an error depending on whether or not the check result W that is a comparison result between S ′ and the check code C, which is an operation result of the parity matrix H of the stored data (see Equation 6), is a zero vector (number (See equation 7). However, the addition symbol related to the matrix operation of the parity check matrix means exclusive OR.
そして、数8式に示されるように誤り検出の場合、格納データOのk番目の1ビットのみが誤りであると対応するパリティ検査行列の列データhkが検査結果Wと一致するという誤り訂正符号の原理により、比較結果Wと一致する列をパリティ検査行列から探索して誤り箇所を特定し修正する。
Then, in the case of error detection as shown in
メモリ内のデータは種々の物理的要因によって誤りが発生し、メモリの出力チャンネルに現れる値は必ずしも入力データIと正しくなく誤りを含む可能性がある。この誤りを検出訂正するのが復号回路の役割である。また、一般的に誤り訂正能力が高いほど符号化率(=データ長/検査符号長)は低い傾向がある。 The data in the memory is erroneous due to various physical factors, and the value appearing in the output channel of the memory is not necessarily incorrect with the input data I and may contain an error. It is the role of the decoding circuit to detect and correct this error. In general, the higher the error correction capability, the lower the coding rate (= data length / check code length).
従来の一般的な誤り訂正符号を使用したメモリシステムでは、出力データが1ワード単位で検査・訂正され、格納データと検査符号はほぼ同時にメモリに対してリード・ライトされる。こうすることで、リード・ライトしたデータを直ちに使用することが可能となり、高速な処理が可能となる。 In a memory system using a conventional general error correction code, output data is checked and corrected in units of words, and stored data and check codes are read from and written to the memory almost simultaneously. In this way, the read / written data can be used immediately, and high-speed processing is possible.
しかしながら、この方法では検査データのデータ長が32ビットや64ビットと短いため高い誤り訂正能力が必要となり、符号化効率の低いパリティ検査行列が用いられる。そのため、検査データ32ビットに対して16ビットの検査符号データのように、検査データと比較して大きな検査符号用のメモリ領域を必要とする。また、符号化・復号化回路には、高速化のため採用するパリティ検査行列に特化したハードウェアをAND/OR回路やXOR(排他的論理和)回路等の論理回路を使用して回路を実現して高速化するのが一般的である(特許文献1参照)。また、特許文献2には、ROMに格納されたパリティ検査行列を読み出し、行列演算を行う技術が開示されている。
However, in this method, since the data length of the check data is as short as 32 bits or 64 bits, a high error correction capability is required, and a parity check matrix with low coding efficiency is used. Therefore, a check code memory area larger than the check data is required like the check code data of 16 bits for the check data of 32 bits. In addition, the coding / decoding circuit uses hardware specialized for the parity check matrix adopted for speeding up using a logic circuit such as an AND / OR circuit or an XOR (exclusive OR) circuit. Generally, it is realized and speeded up (see Patent Document 1).
産業用装置や産業用システムの制御装置が設置されるノイズレベルなどの環境を想定して、想定した環境に対応したレベルのパリティ検査行列による誤り訂正機能の仕様を備えたメモリシステムを設計して制御装置は供給される。 Assuming an environment such as a noise level where an industrial device or industrial system controller is installed, design a memory system with error correction function specifications based on a parity check matrix of a level corresponding to the assumed environment. A controller is supplied.
背景技術で説明した技術では、パリティ検査行列が書き換え可能ではなく、制御装置の設置環境に応じてパリティ検査行列を変更して、設置環境によって最適なパリティ検査行列を選択する機能を備えていない。 In the technique described in the background art, the parity check matrix is not rewritable and does not have a function of changing the parity check matrix according to the installation environment of the control device and selecting an optimal parity check matrix depending on the installation environment.
ノイズレベルなどの環境レベルに対応した仕様のメモリシステムのバリエーションをそれぞれ設計・開発してラインアップとして揃えて製品化することは企業にとって負担が大きい。また、制御装置を顧客に納入後、想定した環境レベルと異なった場合(例えば、想定したノイズレベルが高かった場合)、より信頼性の高いパリティ検査行列による誤り訂正機能を備えた仕様に変更するため制御装置を入れ替える必要があった。 It is burdensome for companies to design and develop variations of memory systems with specifications corresponding to environmental levels such as noise levels, and to commercialize them as a lineup. In addition, after delivery of the control device to the customer, if it differs from the assumed environmental level (for example, when the assumed noise level is high), change to a specification with a more reliable error correction function using a parity check matrix Therefore, it was necessary to replace the control device.
ところで、一定周期で繰り返し参照される産業装置のプログラムやデータを保存するメモリシステムでは、一定周期でラダープログラムやデータに誤りが発生していないかどうかのチェックを行い誤り訂正することで対応可能で、さほど高速な処理を必要としない場合がある。 By the way, in memory systems that store programs and data of industrial equipment that are repeatedly referenced at a fixed period, it is possible to cope with errors by checking whether there are any errors in the ladder program or data at a fixed period. , It may not require a very high speed process.
このような場合に適用可能な、誤り訂正能力はさほど高くはないが、符号化効率の高いパリティ検査行列、例えば検査データ100バイト当たりに対して、検査符号長16ビットでも1ビットの誤り訂正が可能なパリティ検査行列は存在する。ごく稀に限られたメモリ領域に発生するα線や宇宙線による1ビットの障害に対しては、これでも十分対処可能である。しかしながら、このようなパリティ検査行列は16×1024のような巨大な行列となり、前述のような論理回路で符号化・復号化回路を実現するのは現実的ではない。 Although the error correction capability applicable in such a case is not so high, a parity check matrix having a high coding efficiency, for example, per 100 bytes of check data, error correction of 1 bit is possible even with a check code length of 16 bits. There is a possible parity check matrix. This can sufficiently cope with a one-bit failure caused by α-rays or cosmic rays generated in a limited memory area. However, such a parity check matrix is a huge matrix such as 16 × 1024, and it is not realistic to realize an encoding / decoding circuit with the above-described logic circuit.
また、仮にこのような論理回路による符号化・復号化回路が実現できたとしても、実際のシステムでは前述のようなごく稀に発生する1ビット障害のようなケースだけではなく、産業装置の外部から侵入する電気的なノイズレベルのレベルが高く、メモリ内の複数のビットのデータがノイズにより反転し、エラーとなるケースもごく稀には存在する。 Even if such an encoding / decoding circuit using a logic circuit can be realized, the actual system is not limited to the case of a one-bit failure that occurs rarely as described above. There are very rare cases where the level of the electrical noise level that enters from the memory is high, and data of a plurality of bits in the memory is inverted due to noise, resulting in an error.
このような事態は、産業装置などの制御装置が設置される環境に起因するものであり、事前に予測することが困難なことが多い。しかし、あらかじめ検査符号のビット数が多く複数のビットのエラーを訂正可能な誤り訂正能力の高いパリティ検査行列を選択することは、他の1ビット訂正の能力で問題ない装置においても余分な検査符号が必要となり、無駄となる。また、発生するエラーが連続したビットで発生するバーストエラーなど、エラーの発生パターンについても事前の予測は不可能であり、最適なパリティ検査行列を選択することは困難である。 Such a situation is caused by an environment in which a control device such as an industrial device is installed, and is often difficult to predict in advance. However, selecting a parity check matrix having a high error correction capability that can correct errors of a plurality of bits with a large number of check code bits in advance may cause an extra check code even in other devices that do not have any problem with 1-bit correction capability. Is necessary and wasted. In addition, it is impossible to predict in advance an error occurrence pattern such as a burst error in which an error occurs in consecutive bits, and it is difficult to select an optimal parity check matrix.
そこで、本発明の目的は、上記事情に鑑み、符号化効率の異なるパリティ検査行列にそのままの回路で変更可能な、誤り訂正機能を有する信頼性の高い制御装置のメモリシステムを提供することである。 Therefore, in view of the above circumstances, an object of the present invention is to provide a highly reliable control device memory system having an error correction function that can be changed to a parity check matrix having different coding efficiency by a circuit as it is. .
本願の請求項1に係る発明は、入力データを格納するメインメモリと、前記入力データに対しパリティ検査行列を用いて演算を行い検査符号を生成する符号化回路と、前記検査符号を格納する検査符号用メモリと、前記入力データを格納していた前記メインメモリからの出力データに対し前記パリティ検査行列を用いて演算を行った結果と前記検査符合用メモリに格納の前記検査符号により前記出力データの誤りの検査及び訂正情報の出力を行う復号回路とを有する制御装置のメモリシステムにおいて、前記メモリシステムは、前記パリティ検査行列の行列データを格納する書き換え可能な検査行列用メモリと、該検査行列用メモリに格納されている前記行列データを書き換える書換手段と、前記符号化回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記入力データに対し演算を行う行列演算回路を有し、前記復号回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記出力データに対し演算を行う行列演算回路を有する、ことを特徴とする制御装置のメモリシステムである。 The invention according to claim 1 of the present application includes a main memory that stores input data, an encoding circuit that performs an operation on the input data using a parity check matrix to generate a check code, and a check that stores the check code The output data based on the result of operation using the parity check matrix on the output data from the main memory storing the input data and the check data stored in the check code memory In the memory system of the control device having a decoding circuit that performs error check and output of correction information, the memory system includes a rewritable check matrix memory that stores matrix data of the parity check matrix, and the check matrix Rewriting means for rewriting the matrix data stored in the memory for use, and the encoding circuit from the check matrix memory A matrix operation circuit that reads out matrix data of a parity check matrix and performs an operation on the input data, and the decoding circuit reads out the matrix data of the parity check matrix from the check matrix memory and outputs the matrix to the output data It is a memory system of a control device characterized by having a matrix operation circuit for performing an operation.
請求項2に係る発明は、前記行列演算回路は、前記パリティ検査行列の行列データを部分行列に切り分けて部分行列データとして格納するようにした前記検査行列用メモリから前記部分行列データを逐次読み出す検査行列用DMAC(ダイレクト・メモリ・アクセス・コントローラ)と、前記メインメモリへの入力データ若しくは前記メインメモリからの出力データを入力ベクトルとして、前記検査行列用DMACが読み出した部分行列データとの行列演算を行う部分行列回路と、前記部分行列回路の出力を逐次加算するシンドローム計算回路と、前記検査行列用DMACによる逐次読み出しの回数と前記シンドローム計算回路による逐次加算の回数とを指定する逐次実行回数指定手段と、該逐次実行回数指定手段に指令された実行回数を変更する逐次実行回数変更手段と、を有することを特徴とする請求項1に記載の制御装置のメモリシステムである。
請求項3に係る発明は、前記符号化回路と前記復号回路とにそれぞれ前記行列演算回路を備えることに替えて、1つの行列演算回路を備え、1つの該行列演算回路を時間分割で動作させるようにしたことを特徴とする請求項1または2のいずれか1つに記載の制御装置のメモリシステムである。
According to a second aspect of the present invention, the matrix operation circuit sequentially reads out the partial matrix data from the parity check matrix memory in which the matrix data of the parity check matrix is divided into partial matrices and stored as partial matrix data Matrix operation between a matrix DMAC (direct memory access controller) and partial matrix data read by the check matrix DMAC using input data to the main memory or output data from the main memory as an input vector A submatrix circuit to perform, a syndrome calculation circuit for sequentially adding outputs of the submatrix circuit, and a sequential execution number specifying means for specifying the number of sequential reads by the check matrix DMAC and the number of sequential additions by the syndrome calculation circuit And change the number of executions commanded to the sequential execution number designation means. And sequential execution frequency changing means is a memory system control apparatus according to claim 1, characterized in that it comprises a.
The invention according to
本発明により、符号化効率の異なるパリティ検査行列にそのままの回路で変更可能な、誤り訂正機能を有する信頼性の高い制御装置のメモリシステムを提供できる。 According to the present invention, it is possible to provide a highly reliable memory system of a control device having an error correction function that can be changed to a parity check matrix having different coding efficiency by a circuit as it is.
本発明により、産業装置などの制御装置が備えるプログラムやデータを保存するメモリシステムに対して大きなパリティ検査行列が適用可能で、小規模な回路で符号効率の高い誤り検査符号をメモリシステムに用いることができ、信頼性の高い高速な制御装置のメモリシステムを提供できる。 According to the present invention, a large parity check matrix can be applied to a memory system that stores programs and data provided in a control device such as an industrial device, and an error check code having a high code efficiency is used in the memory system with a small circuit. Therefore, it is possible to provide a reliable and high-speed memory system for a control device.
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明に係るメモリシステム1の概略構成図である。
入力データはメインメモリ5に入力し格納データとして格納される。そして、該格納データはメインメモリ5から出力データとして出力される。検査行列用メモリ2はパリティ検査行列の行列データを格納している。検査行列用メモリ2に格納されるパリティ検査行列の行列データは図示しない書換手段により書換えることができる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a schematic configuration diagram of a memory system 1 according to the present invention.
Input data is input to the
符号化回路3は行列演算回路4を備えている。符号化回路3は、入力データと検査行列用メモリ2から出力されるパリティ検査行列が入力し、行列演算回路4において両者の行列演算を実行し、演算結果を検査符号用メモリ6に出力する。
The
検査符号用メモリ6は符号化回路3から出力される演算結果を検査符号として格納する。また、格納した検査符号を復号回路7に出力する。復号回路7は、メインメモリ5から出力される出力データ及び検査行列用メモリ2から出力されるパリティ検査行列と検査符号用メモリ6から出力される検査符号が入力し、行列演算回路8において両者の行列演算を実行し、演算結果と検査符合を元に検査結果および訂正情報として出力する。
The
図2は、図1に示される本発明に係るメモリシステムの符号化回路3が備える行列演算回路4の概略構成図である。
行列演算回路4は、部分行列演算回路40、シンドローム計算回路41、逐次実行回数指定手段42、検査行列用DMAC43を備えている。検査行列用DMAC43は、データ転送をプロセッサ(CPU)に代わって高速に行うコントローラである。行列演算回路4には、図1について説明したように、メインメモリ5に入力する入力データと検査行列用メモリからパリティ検査行列の部分行列データが入力する。入力データは入力ベクトルとしてパリティ検査行列の部分行列データと部分行列演算回路40においてパリティ検査行列の部分行列の行列演算がなされる。
FIG. 2 is a schematic configuration diagram of the matrix operation circuit 4 provided in the
The matrix operation circuit 4 includes a
検査行列用DMAC43は、検査行列用メモリ2に格納された検査行列データから部分行列演算回路40に入力可能な大きさの部分行列データに小分けして読み出すことを指令するコントローラである。検査行列用DMAC43(DMAコントローラ)はプロセッサを介さないでデータ転送を指令するコントローラでデータの転送を高速に行うことができる。
The
逐次実行回数指定手段42は、パリティ検査行列データを小分けする回数を検査行列用DMAC43とシンドローム計算回路41に指令する手段である。検査行列用DMAC43は、逐次実行回数指定手段42により指定された回数だけ部分行列データを部分行列演算回路40に出力するように検査行列用メモリ2を制御する。
The sequential execution
シンドローム計算回路41は、部分行列演算回路40からの出力データを逐次実行回数指定手段42により指定された部分行列に小分けした回数分だけ部分行列演算回路40の出力を排他的論理和演算回路41aにおいて逐次演算を実行し、演算結果を逐次加算結果記憶手段41bに格納し、シンドロームを出力する回路である。
The syndrome calculation circuit 41 outputs the output of the
行列演算回路4は、部分行列で小分けする回数である逐次実行回数を逐次実行回数変更手段9により任意の回数を逐次実行回数指定手段42に指令して指定できる。これにより、行数や列数の異なるパリティ検査行列の演算を行列演算回路4において処理することができる。
The matrix operation circuit 4 can specify the number of sequential executions, which is the number of times of subdivision in the submatrix, by instructing the sequential execution
復号回路7が有する行列演算回路8も行列演算回路4と同様に、部分行列演算回路80、シンドローム計算回路81、逐次実行回数指定手段82、検査行列用DMAC83を備えている。行列演算回路80には、メインメモリ5から出力する出力データと検査行列用メモリから部分行列データが入力する。出力データは入力ベクトルとして部分行列データと部分行列演算回路80においてパリティ検査行列の行列演算がなされる。
Similarly to the matrix operation circuit 4, the
検査行列用DMAC83は、検査行列用メモリ2に格納された検査行列データから部分行列演算回路80に入力可能な大きさの部分行列データに小分けして読み出すことを指令するコントローラである。検査行列用DMAC83(DMAコントローラ)はプロセッサを介しないでデータ転送を指令するコントローラでデータの転送を高速に行うことができる。
The
逐次実行回数指定手段82は、パリティ検査行列データを小分けする回数を検査行列用DMAC83とシンドローム計算回路81に指令する手段である。検査行列用DMAC83は、逐次実行回数指定手段82により指定された回数だけパリティ検査行列の部分行列データを部分行列演算回路80に出力するように検査行列用メモリ2を制御する。
The sequential execution number designation means 82 is a means for instructing the parity check matrix data to be divided into parity
シンドローム計算回路81は、部分行列演算回路80からの出力データを逐次実行回数指定手段82により指定された部分行列に小分けした回数分だけ部分行列演算回路80の出力を排他論理和の演算を逐次行い、シンドロームを出力する回路である。
The
行列演算回路8は、部分行列で小分けする回数である逐次実行回数を逐次実行回数変更手段9により任意の回数を逐次実行回数指定手段82に指令して指定できる。これにより、行数や列数の異なるパリティ検査行列の演算を行列演算回路8において処理することができる。
The
なお図3に示されるように、復号回路7に備わった行列演算回路8は符号化回路3に備わった行列演算回路4と同じ構成であるので、符号化回路3と復号回路7にそれぞれ行列演算回路4,8を配置することに替えて、符号化回路3と復号回路7とで1つの行列演算回路を共用してもよい。1つの行列演算回路を符号化回路3と復号回路7で共用する際には時分割で行列演算回路を使用すればよい。
As shown in FIG. 3, since the
図4は、図2に示される部分行列演算回路40の構成例の概略図である。なお、部分行列演算回路80は、部分行列演算回路40と同一構成であるので説明を省略する。
メモリシステム1は、メインメモリ5の1ワードが32ビットで、部分行列演算回路40が行数8・列数32である回路構成である。検査行列用メモリ2には行数16・列数1024のパリティ検査行列Hの行列データが格納されている。そして、部分行列演算回路40の逐次実行回数が縦2回×横32回=計64回としてソフトウェアによって設定される。すなわち、大きなパリティ検査行列Hは部分行列Hj,x行列(数9式参照)として扱われる。
FIG. 4 is a schematic diagram of a configuration example of the
The memory system 1 has a circuit configuration in which one word of the
行列演算回路4の部分行列演算回路40は行数8・列数32のパリティ検査行列の演算を行う回路である。メインメモリ5に入力する1ワード単位の入力データと検査行列用メモリ2から部分行列データを入力することによって任意のパリティ検査行列Hj,xの演算を行うことができる。
The
次に、本発明における部分行列演算回路40を用いた行列演算について図4の構成を用いて説明する。部分行列演算回路40への入力データD(数10式参照)は連続する32ワード(1024ビット)の塊であって、部分行列演算回路40に時間分割されて1ワード毎に入力される。
Next, matrix operation using the
検査行列用DMAC43は、逐次実行回数に従い検査行列用メモリ2に対してパリティ検査行列Hの部分行列H0,xH1,xのデータを順次部分行列演算回路40に渡すように制御する。部分行列演算回路40は入力された分割された1ワード分の入力データDxの入力に対してパリティ検査行列Hの部分行列の演算を行なう。図4に示されるように、入力ベクトルデータのFF0は、部分行列の列データ0番の各ビットのデータと乗算(AND)される。また、入力ベクトルデータのFF1は、部分行列の列データ1番の各ビットのデータと乗算(AND)される。そして、前記両者の乗算結果の排他的論理和(EXOR)がなされる。他の入力ベクトルデータ、部分行列の他の列データも図4に示されるように同様に演算処理される。これにより、分割された前記入力データDxについての16ビットの演算結果Sxの計算が終了する(数11式参照)。
The
そして、シンドローム計算回路41では、前記演算結果Sxを実行回数に従い逐次排他的論理和の演算を行うことで32ワードの入力データDに対するパリティ検査行列のシンドロームSを生成する(数12式参照)。 Then, the syndrome calculation circuit 41 generates the syndrome S of the parity check matrix for the 32-word input data D by sequentially performing an exclusive OR operation on the calculation result Sx according to the number of executions (see Equation 12).
検査行列用メモリ2に格納されるパリティ検査行列の行列データと行列演算回路4,8の逐次実行回数とを変更することで、部分行列の構成を定数倍した構成の異なるパリティ検査行列によるシンドロームの生成が可能となる。
By changing the matrix data of the parity check matrix stored in the
なお、シンドローム計算回路41,81の逐次実行回数と検査行列用DMAC43,43の逐次実行回数は、逐次実行回数指定手段42,82により指定され、指定される回数は、逐次実行回数変更手段9により変更される。変更の方法としては様々な方法があるが、例えば、逐次実行回数変更手段9が有するキーボードやUSBメモリなどのデータ入力装置90から入力されるパラメータの一部に逐次実行回数を配置して、逐次実行回数変更手段9のメモリ92に保存しておき、システム1の立ち上げ時に、逐次実行回数変更手段9のCPU91の制御により逐次実行回数指定手段42,82にセットされる。
あるいは、パリティ検査行列を検査行列用メモリ2に入力する際に、パリティ検査行列の行列データと共にUSBメモリ等のデータ入力装置90からローディングされて、CPU91がパリティ検査行列の行列データを検査行列用メモリ2に保存すると共に逐次実行回数を逐次実行回数指定手段42,82にセットする方法等が考えられる。このように、検査行列用メモリ2に格納されるパリティ検査行列の行列データを逐次実行回数変更手段9の書換手段を用いて書換えることができる。
The number of sequential executions of the
Alternatively, when the parity check matrix is input to the
図5は、本発明を構成する符号化回路3の例である。メインメモリ5への32ワードの連続した入力データに対して検査行列用メモリ2に格納された検査行列によるパリティ検査行列の演算結果であるシンドロームを出力する行列演算回路4と、前記シンドロームを検査符号として検査符号用メモリ6に格納する制御を行う検査符号用DMAC43とを有し、入力データのメインメモリ5への書き込みの際に検査符号を検査符号用メモリ6に格納する。
FIG. 5 shows an example of the
図6は、本発明を構成する復号回路7の例である。メインメモリ5からの32ワードの出力データに対して検査行列用メモリ2に格納されているパリティ検査行列の演算結果であるシンドロームを出力する行列演算回路8と、行列演算回路8から出力される前記シンドロームに対応する検査符号を検査符号用メモリ6から読み出す制御を行う検査符号用DMAC87と、前記シンドロームと前記検査符号との比較(EXOR:排他的論理和演算)を排他的論理輪演算回路84aで行い検査結果として出力する検査回路84と、検査回路84から出力される前記検査結果と前記パリティ検査行列とを排他的論理和演算回路85aにより演算を行い、訂正情報を生成する誤り検索回路85とを有する。検査回路84と誤り検索回路85は従来公知のものであり概略を説明すると、出力データからのシンドロームと検査符号とによる排他的論理和演算回路84aによる比較結果Wが検査結果として出力され、該検査結果と誤り探索用DMACにより読みだされたパリティ検査行列Hの列データとによる排他的論理和演算回路85aによる演算が行われ、誤り探索用DMACで誤り箇所が特定され訂正情報が出力される。
FIG. 6 shows an example of the
1 メモリシステム
2 検査行列用メモリ
3 符号化回路
4 行列演算回路
40 部分行列演算回路
41 シンドローム計算回路
41a 排他的論理和演算回路
41b 逐次加算結果記憶手段
42 逐次実行回数指定手段
43 検査行列用DMAC
5 メインメモリ
6 検査符号用メモリ
7 復号回路
8 行列演算回路
80 部分行列演算回路
81 シンドローム計算回路
81a 排他的論理和演算回路
81b 逐次加算結果記憶手段
82 逐次実行回数指定手段
83 検査行列用DMAC
84 検査回路
85 誤り検索回路
86 誤り探索用DMAC
87 検査符号用DMAC
9 逐次実行回数変更手段
90 データ入力装置
91 プロセッサ
92 メモリ
DESCRIPTION OF SYMBOLS 1
5
84
87 DMAC for check code
9 Sequential execution frequency changing means 90
Claims (3)
前記入力データに対しパリティ検査行列を用いて演算を行い検査符号を生成する符号化回路と、前記検査符号を格納する検査符号用メモリと、前記入力データを格納していた前記メインメモリからの出力データに対し前記パリティ検査行列を用いて演算を行った結果と前記検査符合用メモリに格納の前記検査符号により前記出力データの誤りの検査及び訂正情報の出力を行う復号回路とを有する制御装置のメモリシステムにおいて、
前記メモリシステムは、
前記パリティ検査行列の行列データを格納する書き換え可能な検査行列用メモリと、
該検査行列用メモリに格納されている前記行列データを書き換える書換手段と、
前記符号化回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記入力データに対し演算を行う行列演算回路を有し、
前記復号回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記出力データに対し演算を行う行列演算回路を有する、
ことを特徴とする制御装置のメモリシステム。 Main memory for storing input data;
An encoding circuit that performs an operation on the input data using a parity check matrix to generate a check code, a check code memory that stores the check code, and an output from the main memory that stores the input data A control apparatus comprising: a result of performing an operation on data using the parity check matrix; and a decoding circuit that performs error check of the output data and output of correction information by the check code stored in the check code memory In the memory system,
The memory system includes:
A rewritable check matrix memory for storing matrix data of the parity check matrix;
Rewriting means for rewriting the matrix data stored in the check matrix memory;
The encoding circuit has a matrix operation circuit that reads matrix data of the parity check matrix from the check matrix memory and performs an operation on the input data,
The decoding circuit includes a matrix operation circuit that reads matrix data of the parity check matrix from the check matrix memory and performs an operation on the output data.
A memory system for a control device.
前記パリティ検査行列の行列データを部分行列に切り分けて部分行列データとして格納するようにした前記検査行列用メモリから前記部分行列データを逐次読み出す検査行列用DMAC(ダイレクト・メモリ・アクセス・コントローラ)と、
前記メインメモリへの入力データ若しくは前記メインメモリからの出力データを入力ベクトルとして、前記検査行列用DMACが読み出した部分行列データとの行列演算を行う部分行列回路と、
前記部分行列回路の出力を逐次加算するシンドローム計算回路と、
前記検査行列用DMACによる逐次読み出しの回数と前記シンドローム計算回路による逐次加算の回数とを指定する逐次実行回数指定手段と、
該逐次実行回数指定手段に指令された実行回数を変更する逐次実行回数変更手段と、
を有することを特徴とする請求項1に記載の制御装置のメモリシステム。 The matrix operation circuit includes:
A parity check matrix DMAC (direct memory access controller) that sequentially reads out the partial matrix data from the parity check matrix memory that is configured to store the matrix data of the parity check matrix into partial matrices.
A submatrix circuit that performs a matrix operation on the submatrix data read by the check matrix DMAC using the input data to the main memory or the output data from the main memory as an input vector;
A syndrome calculation circuit for sequentially adding the outputs of the submatrix circuit;
Sequential execution number designating means for designating the number of sequential reads by the check matrix DMAC and the number of sequential additions by the syndrome calculation circuit;
Sequential execution number changing means for changing the number of executions commanded to the sequential execution number specifying means;
The memory system of the control device according to claim 1, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009040674A JP2010199811A (en) | 2009-02-24 | 2009-02-24 | Memory system of controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009040674A JP2010199811A (en) | 2009-02-24 | 2009-02-24 | Memory system of controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010199811A true JP2010199811A (en) | 2010-09-09 |
Family
ID=42824096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009040674A Pending JP2010199811A (en) | 2009-02-24 | 2009-02-24 | Memory system of controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010199811A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014523168A (en) * | 2011-07-06 | 2014-09-08 | ベイジン ニューフロント モバイル マルチメディア テクノロジー カンパニー リミテッド | Method and apparatus for transmitting data |
CN112397127A (en) * | 2019-08-14 | 2021-02-23 | 慧荣科技股份有限公司 | Nonvolatile memory write-in method and device with information rotation data protection |
CN114694739A (en) * | 2018-11-14 | 2022-07-01 | 慧荣科技股份有限公司 | Flash memory controller and encoding circuit therein |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6051952A (en) * | 1983-08-31 | 1985-03-23 | Fujitsu Ltd | Parity check method |
JPS62116019A (en) * | 1985-11-15 | 1987-05-27 | Nippon Hoso Kyokai <Nhk> | Transmitter-receiver of digital data |
JPS6324724A (en) * | 1986-07-17 | 1988-02-02 | Mitsubishi Electric Corp | Encoding and decoding circuit |
JPS63234633A (en) * | 1987-03-06 | 1988-09-29 | ブラウプンクト‐ヴエルケ・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング | Data receiver |
JPH03190327A (en) * | 1989-12-19 | 1991-08-20 | Nec Corp | Error correction circuit |
JPH05110451A (en) * | 1991-08-29 | 1993-04-30 | Kokusai Electric Co Ltd | Matrix operation circuit |
JPH07226687A (en) * | 1994-02-10 | 1995-08-22 | Matsushita Electric Ind Co Ltd | Error correction processor |
JP2000259579A (en) * | 1999-03-11 | 2000-09-22 | Hitachi Ltd | Semiconductor integrated circuit |
JP2003331540A (en) * | 2002-05-15 | 2003-11-21 | Sony Corp | Error rate measuring device |
JP2004153748A (en) * | 2002-11-01 | 2004-05-27 | Japan Radio Co Ltd | Apparatus and method for calculating bit error rate |
JP2007215089A (en) * | 2006-02-13 | 2007-08-23 | Fujitsu Ltd | Decoding device and decoding method |
JP2008503975A (en) * | 2004-06-24 | 2008-02-07 | エルジー エレクトロニクス インコーポレイティド | Variable code rate adaptive encoding and decoding method using LDPC code |
JP2008526159A (en) * | 2004-12-31 | 2008-07-17 | サムスン エレクトロニクス カンパニー リミテッド | Signal transmitting / receiving apparatus and method in communication system |
WO2008143396A1 (en) * | 2007-05-22 | 2008-11-27 | Samsung Electronics Co, . Ltd. | Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof |
WO2009004773A1 (en) * | 2007-06-29 | 2009-01-08 | Mitsubishi Electric Corporation | Check matrix generating device, check matrix generating method, encoder, transmitter, decoder, and receiver |
-
2009
- 2009-02-24 JP JP2009040674A patent/JP2010199811A/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6051952A (en) * | 1983-08-31 | 1985-03-23 | Fujitsu Ltd | Parity check method |
JPS62116019A (en) * | 1985-11-15 | 1987-05-27 | Nippon Hoso Kyokai <Nhk> | Transmitter-receiver of digital data |
JPS6324724A (en) * | 1986-07-17 | 1988-02-02 | Mitsubishi Electric Corp | Encoding and decoding circuit |
JPS63234633A (en) * | 1987-03-06 | 1988-09-29 | ブラウプンクト‐ヴエルケ・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング | Data receiver |
JPH03190327A (en) * | 1989-12-19 | 1991-08-20 | Nec Corp | Error correction circuit |
JPH05110451A (en) * | 1991-08-29 | 1993-04-30 | Kokusai Electric Co Ltd | Matrix operation circuit |
JPH07226687A (en) * | 1994-02-10 | 1995-08-22 | Matsushita Electric Ind Co Ltd | Error correction processor |
JP2000259579A (en) * | 1999-03-11 | 2000-09-22 | Hitachi Ltd | Semiconductor integrated circuit |
JP2003331540A (en) * | 2002-05-15 | 2003-11-21 | Sony Corp | Error rate measuring device |
JP2004153748A (en) * | 2002-11-01 | 2004-05-27 | Japan Radio Co Ltd | Apparatus and method for calculating bit error rate |
JP2008503975A (en) * | 2004-06-24 | 2008-02-07 | エルジー エレクトロニクス インコーポレイティド | Variable code rate adaptive encoding and decoding method using LDPC code |
JP2008526159A (en) * | 2004-12-31 | 2008-07-17 | サムスン エレクトロニクス カンパニー リミテッド | Signal transmitting / receiving apparatus and method in communication system |
JP2007215089A (en) * | 2006-02-13 | 2007-08-23 | Fujitsu Ltd | Decoding device and decoding method |
WO2008143396A1 (en) * | 2007-05-22 | 2008-11-27 | Samsung Electronics Co, . Ltd. | Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof |
WO2009004773A1 (en) * | 2007-06-29 | 2009-01-08 | Mitsubishi Electric Corporation | Check matrix generating device, check matrix generating method, encoder, transmitter, decoder, and receiver |
Non-Patent Citations (6)
Title |
---|
CSNG200600059009; 森 創司 外2名: 'FPGAを利用したLDPCデコーダの性能評価システム' DAシンポジウム 2005 Design Automation Symposium 2005 , 200508, pp.91-96, 社団法人情報処理学会 Information Processing Socie * |
JPN6013010983; 森 創司 外2名: 'FPGAを利用したLDPCデコーダの性能評価システム' DAシンポジウム 2005 Design Automation Symposium 2005 , 200508, pp.91-96, 社団法人情報処理学会 Information Processing Socie * |
JPN6013010984; Takashi Yokokawa et al.: 'A Low Complexity and Programmable Encoder Architecture of the LDPC Codes for DVB-S2' Turbo Codes&Related Topics; 6th International ITG-Conference on Source and Channel Coding (TURBOCODI , 20060407 * |
JPN6013010985; Jui-Hui Hung et al.: 'An efficient BF LDPC decoding algorithm based on a syndrome vote scheme' Communications, 2008. APCC 2008. 14th Asia-Pacific Conference on , 20081016 * |
JPN6013031961; Lingyan Sun et al.: 'Field programmable gate array (FPGA) for iterative code evaluation' Magnetics, IEEE Transactions on , 200602, pp.226-231 * |
JPN6013031965; Colm P. Fewer et al.: 'A Versatile Variable Rate LDPC Codec Architecture' Circuits and Systems I: Regular Papers, IEEE Transactions on , 200710, pp.2240-2251 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014523168A (en) * | 2011-07-06 | 2014-09-08 | ベイジン ニューフロント モバイル マルチメディア テクノロジー カンパニー リミテッド | Method and apparatus for transmitting data |
CN114694739A (en) * | 2018-11-14 | 2022-07-01 | 慧荣科技股份有限公司 | Flash memory controller and encoding circuit therein |
CN112397127A (en) * | 2019-08-14 | 2021-02-23 | 慧荣科技股份有限公司 | Nonvolatile memory write-in method and device with information rotation data protection |
CN112397127B (en) * | 2019-08-14 | 2023-12-22 | 慧荣科技股份有限公司 | Non-volatile memory writing method and equipment for data protection of first calculation information rotation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101264061B1 (en) | Error correction mechanisms for flash memories | |
JP5043562B2 (en) | Error correction circuit, method thereof, and semiconductor memory device including the circuit | |
WO2016113886A1 (en) | Random number expanding device, random number expanding method, and random number expanding program | |
US10291258B2 (en) | Error correcting code for correcting single symbol errors and detecting double bit errors | |
US20130073921A1 (en) | Error correction device, error correction method, and processor | |
CN110941505A (en) | Method of generating an error correction circuit | |
JP2010199811A (en) | Memory system of controller | |
KR20180059150A (en) | ECC encoder and encoding method capable of encoding during one clock cycle and memory controller having the ECC encoder | |
Fabiano et al. | Design and optimization of adaptable BCH codecs for NAND flash memories | |
CN105337619A (en) | BCH code decoding method and apparatus | |
JP2005086683A (en) | Error decoding circuit, data bus control method, and data bus system | |
US10067821B2 (en) | Apparatus and method for cyclic redundancy check | |
CN108140016B (en) | An optimizer that determines the optimal sequence of operations for matrix-vector multiplication | |
JP6875661B2 (en) | Error detection redundant bit generation method and device | |
CN106100827B (en) | Error protection key generation method and system | |
US10340955B2 (en) | Data processing circuit | |
KR100981659B1 (en) | Industrial controller | |
JP2016187099A5 (en) | Data processing circuit and error correction method | |
JP2013201503A (en) | Chien search circuit, decoder, storage device and chien search method | |
US20230370091A1 (en) | Error Correction With Fast Syndrome Calculation | |
TWI677878B (en) | Encoder and associated encoding method and flash memory controller | |
US20140189474A1 (en) | Implementation of crc32 using carryless multiplier | |
KR101791637B1 (en) | Decoder and memory controller including the same | |
JP2013201482A (en) | Chien search circuit, decoder, storage device and chien search method | |
KR101551830B1 (en) | Cyclic redundancy checking apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111024 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130510 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130702 |