[go: up one dir, main page]

JP2010199811A - Memory system of controller - Google Patents

Memory system of controller Download PDF

Info

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
Application number
JP2009040674A
Other languages
Japanese (ja)
Inventor
Kazunari Aoyama
一成 青山
Kunitaka Komaki
邦孝 小槇
Shinji Akimoto
信二 秋元
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2009040674A priority Critical patent/JP2010199811A/en
Publication of JP2010199811A publication Critical patent/JP2010199811A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a highly reliable memory system of a controller, with an error correcting function, for changing to the parity check matrix of different encoding efficiency in a circuit as it is. <P>SOLUTION: The memory system of the controller includes: a rewritable check matrix memory 2 for storing the matrix data of the parity check matrix; a main memory for storing input data; an encoding circuit for performing a matrix operation in a matrix operation circuit 4 using the parity check matrix to the input data and generating a check code; a check code memory for storing the check code; and a decoding circuit for performing the matrix operation by the matrix operation circuit by using the result of performing the operation using the parity check matrix to the output data from the main memory and the check code, checking the error of the output data and outputting correction information. In this case, the matrix data of the parity check matrix stored in the check matrix memory 2 are rewritten by a rewrite means. <P>COPYRIGHT: (C)2010,JPO&INPIT

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.

Figure 2010199811
Figure 2010199811

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.

Figure 2010199811
Figure 2010199811

Figure 2010199811
Figure 2010199811

Figure 2010199811
Figure 2010199811

Figure 2010199811
Figure 2010199811

復号回路は格納データ(数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.

Figure 2010199811
Figure 2010199811

Figure 2010199811
Figure 2010199811

そして、数8式に示されるように誤り検出の場合、格納データOのk番目の1ビットのみが誤りであると対応するパリティ検査行列の列データhkが検査結果Wと一致するという誤り訂正符号の原理により、比較結果Wと一致する列をパリティ検査行列から探索して誤り箇所を特定し修正する。 Then, in the case of error detection as shown in Equation 8, error correction that column data h k of the corresponding parity check matrix matches the check result W if only the k-th 1 bit of stored data O is in error Based on the principle of the code, a column matching the comparison result W is searched from the parity check matrix to identify and correct the error location.

Figure 2010199811
Figure 2010199811

メモリ内のデータは種々の物理的要因によって誤りが発生し、メモリの出力チャンネルに現れる値は必ずしも入力データ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). Patent Document 2 discloses a technique for reading a parity check matrix stored in a ROM and performing a matrix operation.

特開平9−16422号公報JP-A-9-16422 特開平7−226687号公報JP-A-7-226687

産業用装置や産業用システムの制御装置が設置されるノイズレベルなどの環境を想定して、想定した環境に対応したレベルのパリティ検査行列による誤り訂正機能の仕様を備えたメモリシステムを設計して制御装置は供給される。   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 claim 3 is provided with one matrix operation circuit instead of including the matrix operation circuit in each of the encoding circuit and the decoding circuit, and operates one matrix operation circuit in a time division manner. The memory system of the control device according to claim 1, wherein the memory system is configured as described above.

本発明により、符号化効率の異なるパリティ検査行列にそのままの回路で変更可能な、誤り訂正機能を有する信頼性の高い制御装置のメモリシステムを提供できる。   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 is a schematic configuration diagram of a memory system according to the present invention. 本発明に係るメモリシステムの符号化回路に備わった行列演算回路の概略構成図である。It is a schematic block diagram of the matrix arithmetic circuit with which the encoding circuit of the memory system based on this invention was equipped. 本発明に係るメモリシステムの復号回路に備わった行列演算回路の概略構成図である。It is a schematic block diagram of the matrix arithmetic circuit with which the decoding circuit of the memory system based on this invention was equipped. 本発明に係るメモリシステムの行列演算回路の構成例の概略図である。It is the schematic of the structural example of the matrix calculating circuit of the memory system which concerns on this invention. 本発明に係るメモリシステムの符号化回路の概略構成図である。It is a schematic block diagram of the encoding circuit of the memory system which concerns on this invention. 本発明に係るメモリシステムの復号化色の概略構成図である。It is a schematic block diagram of the decoding color of the memory system which concerns on this invention. 従来技術である一般的な誤り訂正符号を使用したシステムの概略構成図である。It is a schematic block diagram of the system using the general error correction code which is a prior art.

以下、本発明の実施形態を図面と共に説明する。
図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 main memory 5 and stored as stored data. The stored data is output from the main memory 5 as output data. The check matrix memory 2 stores matrix data of a parity check matrix. Matrix data of the parity check matrix stored in the check matrix memory 2 can be rewritten by rewrite means (not shown).

符号化回路3は行列演算回路4を備えている。符号化回路3は、入力データと検査行列用メモリ2から出力されるパリティ検査行列が入力し、行列演算回路4において両者の行列演算を実行し、演算結果を検査符号用メモリ6に出力する。   The encoding circuit 3 includes a matrix operation circuit 4. The encoding circuit 3 receives the input data and the parity check matrix output from the check matrix memory 2, performs matrix calculation of both in the matrix calculation circuit 4, and outputs the calculation result to the check code memory 6.

検査符号用メモリ6は符号化回路3から出力される演算結果を検査符号として格納する。また、格納した検査符号を復号回路7に出力する。復号回路7は、メインメモリ5から出力される出力データ及び検査行列用メモリ2から出力されるパリティ検査行列と検査符号用メモリ6から出力される検査符号が入力し、行列演算回路8において両者の行列演算を実行し、演算結果と検査符合を元に検査結果および訂正情報として出力する。   The check code memory 6 stores the calculation result output from the encoding circuit 3 as a check code. The stored check code is output to the decoding circuit 7. The decoding circuit 7 receives the output data output from the main memory 5, the parity check matrix output from the check matrix memory 2, and the check code output from the check code memory 6. A matrix operation is executed, and the result and the correction information are output based on the operation result and the check code.

図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 encoding circuit 3 of the memory system according to the present invention shown in FIG.
The matrix operation circuit 4 includes a submatrix operation circuit 40, a syndrome calculation circuit 41, a sequential execution number designation means 42, and a check matrix DMAC 43. The check matrix DMAC 43 is a controller that performs data transfer at high speed instead of a processor (CPU). As described with reference to FIG. 1, the matrix calculation circuit 4 receives the input data input to the main memory 5 and the partial matrix data of the parity check matrix from the check matrix memory. The input data is subjected to a partial matrix data of a parity check matrix as an input vector and a matrix calculation of the partial matrix of the parity check matrix in the partial matrix operation circuit 40.

検査行列用DMAC43は、検査行列用メモリ2に格納された検査行列データから部分行列演算回路40に入力可能な大きさの部分行列データに小分けして読み出すことを指令するコントローラである。検査行列用DMAC43(DMAコントローラ)はプロセッサを介さないでデータ転送を指令するコントローラでデータの転送を高速に行うことができる。   The check matrix DMAC 43 is a controller that instructs to read the check matrix data stored in the check matrix memory 2 into sub-matrix data of a size that can be input to the sub-matrix operation circuit 40. The check matrix DMAC 43 (DMA controller) is a controller that commands data transfer without using a processor and can transfer data at high speed.

逐次実行回数指定手段42は、パリティ検査行列データを小分けする回数を検査行列用DMAC43とシンドローム計算回路41に指令する手段である。検査行列用DMAC43は、逐次実行回数指定手段42により指定された回数だけ部分行列データを部分行列演算回路40に出力するように検査行列用メモリ2を制御する。   The sequential execution number specifying means 42 is a means for instructing the parity check matrix data to be subdivided into the parity check matrix DMAC 43 and the syndrome calculation circuit 41. The parity check matrix DMAC 43 controls the parity check matrix memory 2 so that the partial matrix data is output to the partial matrix arithmetic circuit 40 by the number of times designated by the sequential execution number designation means 42.

シンドローム計算回路41は、部分行列演算回路40からの出力データを逐次実行回数指定手段42により指定された部分行列に小分けした回数分だけ部分行列演算回路40の出力を排他的論理和演算回路41aにおいて逐次演算を実行し、演算結果を逐次加算結果記憶手段41bに格納し、シンドロームを出力する回路である。   The syndrome calculation circuit 41 outputs the output of the submatrix operation circuit 40 in the exclusive OR operation circuit 41a by the number of times obtained by subdividing the output data from the submatrix operation circuit 40 into the submatrix specified by the sequential execution number specifying means 42. This is a circuit that executes sequential calculation, stores the calculation result in the sequential addition result storage means 41b, and outputs a syndrome.

行列演算回路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 number specifying unit 42 to any number by the sequential execution number changing unit 9. Thereby, the matrix operation circuit 4 can process the parity check matrix having different numbers of rows and columns.

復号回路7が有する行列演算回路8も行列演算回路4と同様に、部分行列演算回路80、シンドローム計算回路81、逐次実行回数指定手段82、検査行列用DMAC83を備えている。行列演算回路80には、メインメモリ5から出力する出力データと検査行列用メモリから部分行列データが入力する。出力データは入力ベクトルとして部分行列データと部分行列演算回路80においてパリティ検査行列の行列演算がなされる。   Similarly to the matrix operation circuit 4, the matrix operation circuit 8 included in the decoding circuit 7 also includes a submatrix operation circuit 80, a syndrome calculation circuit 81, a sequential execution number specifying means 82, and a check matrix DMAC 83. The matrix operation circuit 80 receives output data output from the main memory 5 and partial matrix data from the check matrix memory. The output data is subjected to partial matrix data as an input vector and a parity check matrix matrix operation in the partial matrix operation circuit 80.

検査行列用DMAC83は、検査行列用メモリ2に格納された検査行列データから部分行列演算回路80に入力可能な大きさの部分行列データに小分けして読み出すことを指令するコントローラである。検査行列用DMAC83(DMAコントローラ)はプロセッサを介しないでデータ転送を指令するコントローラでデータの転送を高速に行うことができる。   The check matrix DMAC 83 is a controller that instructs to read the check matrix data stored in the check matrix memory 2 into sub-matrix data of a size that can be input to the sub-matrix operation circuit 80 and to read it. The check matrix DMAC 83 (DMA controller) is a controller that commands data transfer without using a processor and can transfer data at high speed.

逐次実行回数指定手段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 check matrix data 83 and the syndrome calculation circuit 81. The parity check matrix DMAC 83 controls the parity check matrix memory 2 so as to output the partial matrix data of the parity check matrix to the partial matrix operation circuit 80 by the number of times specified by the sequential execution count specifying means 82.

シンドローム計算回路81は、部分行列演算回路80からの出力データを逐次実行回数指定手段82により指定された部分行列に小分けした回数分だけ部分行列演算回路80の出力を排他論理和の演算を逐次行い、シンドロームを出力する回路である。   The syndrome calculation circuit 81 sequentially performs an exclusive OR operation on the output of the submatrix operation circuit 80 as many times as the number of times the output data from the submatrix operation circuit 80 is subdivided into submatrices designated by the sequential execution number designating means 82. , A circuit for outputting a syndrome.

行列演算回路8は、部分行列で小分けする回数である逐次実行回数を逐次実行回数変更手段9により任意の回数を逐次実行回数指定手段82に指令して指定できる。これにより、行数や列数の異なるパリティ検査行列の演算を行列演算回路8において処理することができる。   The matrix operation circuit 8 can specify the number of sequential executions, which is the number of times of subdivision in the submatrix, by instructing the sequential execution number designating unit 82 any number of times by the sequential execution number changing unit 9. Thereby, the matrix operation circuit 8 can process the parity check matrix having different numbers of rows and columns.

なお図3に示されるように、復号回路7に備わった行列演算回路8は符号化回路3に備わった行列演算回路4と同じ構成であるので、符号化回路3と復号回路7にそれぞれ行列演算回路4,8を配置することに替えて、符号化回路3と復号回路7とで1つの行列演算回路を共用してもよい。1つの行列演算回路を符号化回路3と復号回路7で共用する際には時分割で行列演算回路を使用すればよい。   As shown in FIG. 3, since the matrix operation circuit 8 provided in the decoding circuit 7 has the same configuration as the matrix operation circuit 4 provided in the encoding circuit 3, the matrix operation is performed in each of the encoding circuit 3 and the decoding circuit 7. Instead of arranging the circuits 4 and 8, the encoding circuit 3 and the decoding circuit 7 may share one matrix operation circuit. When a single matrix operation circuit is shared by the encoding circuit 3 and the decoding circuit 7, the matrix operation circuit may be used in a time division manner.

図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 submatrix operation circuit 40 shown in FIG. The submatrix operation circuit 80 has the same configuration as that of the submatrix operation circuit 40, and thus the description thereof is omitted.
The memory system 1 has a circuit configuration in which one word of the main memory 5 is 32 bits and the submatrix operation circuit 40 has 8 rows and 32 columns. The parity check matrix H matrix data having 16 rows and 1024 columns is stored in the parity check matrix memory 2. The number of sequential executions of the submatrix operation circuit 40 is set by software as 2 vertical times × 32 horizontal times = total 64 times. That is, the large parity check matrix H is treated as a partial matrix H j, x matrix (see Equation 9).

Figure 2010199811
Figure 2010199811

行列演算回路4の部分行列演算回路40は行数8・列数32のパリティ検査行列の演算を行う回路である。メインメモリ5に入力する1ワード単位の入力データと検査行列用メモリ2から部分行列データを入力することによって任意のパリティ検査行列Hj,xの演算を行うことができる。 The submatrix operation circuit 40 of the matrix operation circuit 4 is a circuit that performs an operation on a parity check matrix having 8 rows and 32 columns. Arbitrary parity check matrix H j, x can be calculated by inputting input data in units of one word input to main memory 5 and partial matrix data from check matrix memory 2.

次に、本発明における部分行列演算回路40を用いた行列演算について図4の構成を用いて説明する。部分行列演算回路40への入力データD(数10式参照)は連続する32ワード(1024ビット)の塊であって、部分行列演算回路40に時間分割されて1ワード毎に入力される。   Next, matrix operation using the submatrix operation circuit 40 in the present invention will be described using the configuration of FIG. The input data D (see Equation 10) to the submatrix operation circuit 40 is a continuous 32-word (1024 bits) block, and is time-divided into the submatrix operation circuit 40 and input every word.

Figure 2010199811
Figure 2010199811

検査行列用DMAC43は、逐次実行回数に従い検査行列用メモリ2に対してパリティ検査行列Hの部分行列H0,x1,xのデータを順次部分行列演算回路40に渡すように制御する。部分行列演算回路40は入力された分割された1ワード分の入力データDxの入力に対してパリティ検査行列Hの部分行列の演算を行なう。図4に示されるように、入力ベクトルデータのFF0は、部分行列の列データ0番の各ビットのデータと乗算(AND)される。また、入力ベクトルデータのFF1は、部分行列の列データ1番の各ビットのデータと乗算(AND)される。そして、前記両者の乗算結果の排他的論理和(EXOR)がなされる。他の入力ベクトルデータ、部分行列の他の列データも図4に示されるように同様に演算処理される。これにより、分割された前記入力データDxについての16ビットの演算結果Sxの計算が終了する(数11式参照)。 The check matrix DMAC 43 controls the check matrix memory 2 to sequentially pass the data of the partial matrices H 0, x H 1, x of the parity check matrix H to the partial matrix calculation circuit 40 according to the number of sequential executions. Partial matrix operation circuit 40 performs the calculation of the parity check matrix H of the partial matrix to the input of the input data D x one word of which is divided input. As shown in FIG. 4, FF0 of the input vector data is multiplied (ANDed) with the data of each bit of column data No. 0 of the partial matrix. Further, the FF1 of the input vector data is multiplied (AND) with the data of each bit of the column data No. 1 of the submatrix. Then, an exclusive OR (EXOR) of the multiplication results of the two is performed. Other input vector data and other column data of the submatrix are similarly processed as shown in FIG. Thus, ends 16-bit result Sx calculation for divided the input data D x (see equation (11)).

Figure 2010199811
Figure 2010199811

そして、シンドローム計算回路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).

Figure 2010199811
Figure 2010199811

検査行列用メモリ2に格納されるパリティ検査行列の行列データと行列演算回路4,8の逐次実行回数とを変更することで、部分行列の構成を定数倍した構成の異なるパリティ検査行列によるシンドロームの生成が可能となる。   By changing the matrix data of the parity check matrix stored in the check matrix memory 2 and the number of sequential executions of the matrix operation circuits 4 and 8, syndromes generated by different parity check matrices having a configuration obtained by multiplying the configuration of the submatrix by a constant number Generation is possible.

なお、シンドローム計算回路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 syndrome calculation circuits 41 and 81 and the number of sequential executions of the check matrix DMACs 43 and 43 are designated by the sequential execution number designation means 42 and 82, and the designated number of times is designated by the sequential execution number change means 9. Be changed. There are various changing methods. For example, the sequential execution number is arranged in a part of the parameters input from the data input device 90 such as a keyboard or a USB memory included in the sequential execution number changing unit 9, and the sequential execution number is changed. It is stored in the memory 92 of the execution number changing means 9 and is set in the sequential execution number specifying means 42 and 82 under the control of the CPU 91 of the sequential execution number changing means 9 when the system 1 is started up.
Alternatively, when the parity check matrix is input to the check matrix memory 2, it is loaded from the data input device 90 such as a USB memory together with the parity check matrix matrix data, and the CPU 91 stores the parity check matrix matrix data in the check matrix memory. 2 and the sequential execution count can be set in the sequential execution count designation means 42 and 82. Thus, the matrix data of the parity check matrix stored in the check matrix memory 2 can be rewritten using the rewrite means of the sequential execution number changing means 9.

図5は、本発明を構成する符号化回路3の例である。メインメモリ5への32ワードの連続した入力データに対して検査行列用メモリ2に格納された検査行列によるパリティ検査行列の演算結果であるシンドロームを出力する行列演算回路4と、前記シンドロームを検査符号として検査符号用メモリ6に格納する制御を行う検査符号用DMAC43とを有し、入力データのメインメモリ5への書き込みの際に検査符号を検査符号用メモリ6に格納する。   FIG. 5 shows an example of the encoding circuit 3 constituting the present invention. A matrix operation circuit 4 for outputting a syndrome which is a result of operation of a parity check matrix by a check matrix stored in the check matrix memory 2 with respect to continuous input data of 32 words to the main memory 5, and a check code for the syndrome And a check code DMAC 43 that performs control to be stored in the check code memory 6, and stores the check code in the check code memory 6 when the input data is written to the main memory 5.

図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 decoding circuit 7 constituting the present invention. A matrix calculation circuit 8 that outputs a syndrome that is a calculation result of a parity check matrix stored in the check matrix memory 2 with respect to 32 words of output data from the main memory 5, and the matrix calculation circuit 8 that outputs the syndrome A check code DMAC 87 that performs control to read a check code corresponding to the syndrome from the check code memory 6 and a comparison (EXOR: exclusive OR operation) between the syndrome and the check code are performed by an exclusive logic circuit 84a. A check circuit 84 that performs correction and outputs the result as a check result, and an error search circuit 85 that calculates the check result output from the check circuit 84 and the parity check matrix by an exclusive OR operation circuit 85a and generates correction information. Have The check circuit 84 and the error search circuit 85 are conventionally known, and will be described in brief. The comparison result W by the exclusive OR operation circuit 84a based on the syndrome from the output data and the check code is output as the check result. The exclusive OR operation circuit 85a performs an operation on the result and the column data of the parity check matrix H read by the error search DMAC, the error location is specified by the error search DMAC, and correction information is output.

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 Memory system 2 Memory for check matrix 3 Encoding circuit 4 Matrix operation circuit 40 Submatrix operation circuit 41 Syndrome calculation circuit 41a Exclusive OR operation circuit 41b Sequential addition result storage means 42 Sequential execution count designation means 43 DMAC for check matrix
5 Main memory 6 Check code memory 7 Decoding circuit 8 Matrix operation circuit 80 Submatrix operation circuit 81 Syndrome calculation circuit 81a Exclusive OR operation circuit 81b Sequential addition result storage means 82 Sequential execution count designation means 83 DMAC for check matrix
84 Inspection Circuit 85 Error Search Circuit 86 Error Search DMAC
87 DMAC for check code
9 Sequential execution frequency changing means 90 Data input device 91 Processor 92 Memory

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:
前記符号化回路と前記復号回路とにそれぞれ前記行列演算回路を備えることに替えて、1つの行列演算回路を備え、1つの該行列演算回路を時間分割で動作させるようにしたことを特徴とする請求項1または2のいずれか1つに記載の制御装置のメモリシステム。   The encoding circuit and the decoding circuit are each provided with one matrix operation circuit instead of including the matrix operation circuit, and one matrix operation circuit is operated in a time division manner. The memory system of the control apparatus as described in any one of Claim 1 or 2.
JP2009040674A 2009-02-24 2009-02-24 Memory system of controller Pending JP2010199811A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (15)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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