JPWO2017212547A1 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法及びデータ処理プログラム Download PDF

Info

Publication number
JPWO2017212547A1
JPWO2017212547A1 JP2016564341A JP2016564341A JPWO2017212547A1 JP WO2017212547 A1 JPWO2017212547 A1 JP WO2017212547A1 JP 2016564341 A JP2016564341 A JP 2016564341A JP 2016564341 A JP2016564341 A JP 2016564341A JP WO2017212547 A1 JPWO2017212547 A1 JP WO2017212547A1
Authority
JP
Japan
Prior art keywords
crc
area
bit string
frame
transmission frame
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
Application number
JP2016564341A
Other languages
English (en)
Other versions
JP6073006B1 (ja
Inventor
清人 宮▲崎▼
清人 宮▲崎▼
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6073006B1 publication Critical patent/JP6073006B1/ja
Publication of JPWO2017212547A1 publication Critical patent/JPWO2017212547A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

領域指定部(1002)は、送信フレーム内で定型ビット列が出現する第1の領域と、規定ビット列に類似するビット列が出現する第2の領域と、非定型ビット列が出現する第3の領域とを指定し、第2の領域のビット列と規定ビット列との差分を抽出する。第1のCRC取得部(1003)は、定型ビット列に対応する第1のCRCをCRCテーブルから取得する。第2のCRC取得部(1004)は、規定ビット列に対応する第2のCRCをCRCテーブルから取得する。差分CRC取得部(1005)は、抽出された差分に対応する差分CRCをCRCテーブルから取得する。第3のCRC生成部(1006)は、第3の領域のビット列に対応する第3のCRCを生成する。フレームCRC生成部(1007)は、第1のCRCと第2のCRCと差分CRCと第3のCRCとを用いて、送信フレームのCRCを生成する。

Description

本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
特許文献1には、簡易な演算によりCRC(Cyclic Redundancy Check)を生成する方法が開示されている。以下に、特許文献1のCRC算出の原理を説明する。
送信対象の第2のデータは第1のデータに対して特定のビットの値のみが異なっている。第1のデータのCRCは算出済みである。
特許文献1では、前記特定のビットに対応するビットのみ値が1であり、他の全てのビットの値が0である第3のデータのCRCをあらかじめ求め、第3のデータのCRCをテーブルに保持しておく。そして、特許文献1では、第1のデータのCRCと、第3のデータのCRCとの排他的論理和演算を行うことにより、第2のデータのCRCを求める。
特許第4896931号
機能安全通信など信頼性の要求される分野では、規定時間内に処理が完了しなければ障害に繋がってしまうため、CRC演算時間は最悪実行時間を考慮しなければならない。従って、こうした分野でCRC演算時間を短縮したい場合は、最悪実行時間を短縮することが必須となる。
特許文献1の方法では、第1のデータと第2のデータとの間の差が小さい場合にCRC演算時間を短縮できる。しかし、第1のデータと第2のデータとの間の差が小さくない場合はCRC演算時間を短縮することはできない。具体的には、第1のデータと第2のデータとの差を1ビットずつ求めて第2のデータのCRCを求める場合は、CRCを保持するテーブルのサイズは相対的に小さいものの、テーブルの参照回数が多くなる。このため、CRC演算時間が長くなる。
また、代替方法として、第1のデータと第2のデータとの差に対応する全てのCRCをテーブルに保持しておくことが考えられる。この場合は、テーブル参照回数は少なくなるが、テーブルのサイズが膨大になり、テーブルを格納するために多くの記憶領域が必要になってしまう。
本発明は、テーブルのサイズを抑えながら、CRC演算時間を短縮することを主な目的とする。
本発明に係るデータ処理装置は、
送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出する領域指定部と、
前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得する第1のCRC取得部と、
前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得する第2のCRC取得部と、
前記領域指定部により抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得する差分CRC取得部と、
前記第3の領域のビット列に対応するCRCである第3のCRCを生成する第3のCRC生成部と、
前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するフレームCRC生成部とを有する。
本発明によれば、定型ビット列に対応する第1のCRCと、規定ビット列に対応する第2のCRCと、規定ビット列と第2の領域のビット列との差分に対応する差分CRCのみをテーブルに保持すればよい。また、テーブルから第1のCRCと第2のCRCと差分CRCを取得し、取得した第1のCRCと第2のCRCと差分CRCと、第3のCRCとに基づいて、送信フレームのCRCを生成することができる。このように、本発明によれば、テーブルのサイズを抑えながら、CRC演算時間を短縮することができる。
実施の形態1に係る制御装置のハードウェア構成例を示す図。 実施の形態1に係る制御装置の機能構成例を示す図。 実施の形態1に係る制御装置の動作例を示すフローチャート図。 実施の形態1に係るフレームとCRCの関係を示す図。 実施の形態1に係る基準フィールド及び差分ビットの関係を決定する手順を示すフローチャート図。 実施の形態1に係る基準フィールド及び差分ビットの関係を決定する手順を示すフローチャート図。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
実施の形態1.
本実施の形態では、テーブルのサイズを抑えながら、CRC演算時間を短縮することが可能な制御装置10を説明する。
本実施の形態に係る制御装置10は、図1に示すハードウェア構成を有し、また、図2に示す機能構成を有する。図1及び図2については、詳細は後述する。
本実施の形態に係る制御装置10は、送信する送信フレームが対象とする通信プロトコルに従って、送信フレームを論理的に複数の領域に分割し、領域ごとにCRCを求める。制御装置10は、一部の領域を除いて各領域のCRCを、CRCテーブルから取得する。CRCテーブルには、複数のCRCが格納されている。そして、制御装置10は、得られた各領域のCRCの排他的論理和演算を行い、送信フレームのCRCを生成する。
制御装置10は、送信フレームの領域を、以下のように分割する。
(1)定型ビット列が出現する第1の領域、
(2)規定ビット列に類似するビット列が出現する第2の領域
(3)非定型ビット列が出現する第3の領域
通信プロトコルごとに、固定ビット列である定型ビット列が出現する領域、半固定的なビット列が出現する領域、ランダムな非定型ビット列が出現する領域は決まっている。
本実施の形態に係る制御装置10は、送信フレームが準拠する通信プロトコルに基づいて、送信フレーム内で定型ビット列が出現する第1の領域と、規定ビット列に類似するビット列(半固定的なビット列)が出現する第2の領域と、非定型ビット列が出現する第3の領域とを指定する。
第2の領域に出現するビット列は、規定ビット列と、例えば70%以上で一致することが望ましいが、第2の領域として、規定ビット列との一致率をどの程度要求するかは任意に決定することができる。つまり、第2の領域のビット列が規定ビット列とどの程度「類似」するかは、任意に決定することができる。
CRCテーブルには、通信プロトコルごとに、定型ビット列に対応するCRC、規定ビット列に対応するCRCが予め格納されている。なお、第3の領域のビット列に対応するCRCはCRCテーブルに格納されていない。
なお、送信フレームの第2の領域のビット列は規定ビット列に一致しない可能性がある。このため、制御装置10は、送信フレームの第2の領域のビット列と規定ビット列との差分を抽出する。なお、CRCテーブルには、差分のビット位置ごとに、対応するCRCが予め格納されている。
制御装置10は、定型ビット列に対応するCRC(第1のCRCに相当)と規定ビット列に対応するCRC(第2のCRCに相当)と差分に対応するCRC(差分CRCに相当)をCRCテーブルから取得する。また、制御装置10は、第3の領域のビット列に対応するCRC(第3のCRCに相当)を算出する。
そして、制御装置10は、これらCRCの排他的論理演算を行って、送信フレームのCRCを生成する。
従来手法では最悪実行時間を短縮するために、必要なテーブルのパターン数が膨大になるという問題があったが、本実施の形態では階層分けしたテーブルエントリの組み合わせによってデータの全パターンを表現することで、テーブルサイズの増加を抑えながら最悪実行時間も短縮可能となる。
***構成の説明***
図1は、本実施の形態に係る制御装置10のハードウェア構成例を示す。また、図2は、制御装置10の機能構成例を示す。制御装置10は、データ処理装置に相当する。また、制御装置10により行われる動作は、データ処理方法に相当する。
図1に示すように、制御装置10は、入出力インタフェース101、通信インタフェース102、プロセッサ103及び記憶装置104が、バス105で接続されているコンピュータである。
入出力インタフェース101は、信号の入出力に用いられる。具体的には、入出力インタフェース101は、制御装置10に接続しているセンサやスイッチなどからの信号入力に用いられる。また、入出力インタフェース101は、制御装置10に接続しているアクチュエータやランプなどへの信号出力に用いられる。
通信インタフェース102は、他の制御装置との間で制御データを交信するための通信を行う。具体的には、通信インタフェース102は、制御データとして、CRCが付加された送信フレームを送信する。
プロセッサ103は、プログラムを実行する。具体的には、プロセッサ103は、図2に示すフレーム生成部1001、フレーム構成決定部1002、基準フレームCRC取得部1003、基準フィールドCRC取得部1004、差分ビットCRC取得部1005、可変フィールドCRC生成部1006、演算部1007及びフレーム連結部1008の機能を実現するプログラムを実行する。フレーム生成部1001、フレーム構成決定部1002、基準フレームCRC取得部1003、基準フィールドCRC取得部1004、差分ビットCRC取得部1005、可変フィールドCRC生成部1006、演算部1007及びフレーム連結部1008の機能を実現するプログラムは、データ処理プログラムに相当する。
記憶装置104は、プロセッサ103が実行する前述のプログラムを記憶する。また、記憶装置104は、CRCテーブルを記憶する。
なお、制御装置10の可用性を高めるため、プロセッサ103及び記憶装置104は冗長化されていてもよい。
図2において、フレーム生成部1001は、通信プロトコルの仕様に準拠して、送信すべき送信フレームのヘッダ及びペイロードを生成する。前述したように、送信フレームが準拠する通信プロトコルによって、送信フレームの構成が定まる。このため、フレーム生成部1001は、送信フレームと通信プロトコルの情報をフレーム構成決定部1002に出力する。
フレーム構成決定部1002は、フレーム生成部1001から出力された通信プロトコルの情報をもとに、フレーム生成部1001により生成された送信フレームに対して第1の領域と第2の領域と第3の領域とを指定する。また、フレーム構成決定部1002は、第2の領域のビット列と規定ビット列との差分を抽出する。
フレーム構成決定部1002は、領域指定部に相当する。また、フレーム構成決定部1002により行われる処理は領域指定処理に相当する。
基準フレームCRC取得部1003は、第1の領域に対するCRCをCRCテーブルから取得する。
基準フレームCRC取得部1003は、第1のCRC取得部に相当する。また、基準フレームCRC取得部1003により行われる処理は第1のCRC取得処理に相当する。
基準フィールドCRC取得部1004は、第2の領域に対するCRCをCRCテーブルから取得する。
基準フィールドCRC取得部1004は、第2のCRC取得部に相当する。また、基準フィールドCRC取得部1004により行われる処理は第2のCRC取得処理に相当する。
差分ビットCRC取得部1005は、差分ビットに対するCRCをCRCテーブルから取得する。
差分ビットCRC取得部1005は、差分CRC取得部に相当する。また、差分ビットCRC取得部1005により行われる処理は差分CRC取得処理に相当する。
可変フィールドCRC生成部1006は、第3の領域のCRCを生成する。可変フィールドCRC生成部1006は、例えば、任意のフィールド値に対応可能な、上位ビットからの逐次的な排他的論理和演算による既存手法を適用する。
可変フィールドCRC生成部1006は、第3のCRC生成部に相当する。また、可変フィールドCRC生成部1006により行われる処理は第3のCRC生成処理に相当する。
演算部1007は、全てのCRCの排他的論理和を行って、送信フレームのCRCを生成する。
演算部1007は、フレームCRC生成部に相当する。また、演算部1007により行われる処理はフレームCRC生成処理に相当する。
フレーム連結部1008は、フレーム生成部1001が生成した送信フレームの末尾に、演算部1007が生成したCRCを結合する。この結果、CRCが付加された送信フレームが出力される。
***動作の説明***
以下、図3及び図4を参照して、本実施の形態に係る制御装置10でのCRC生成の流れを説明する。
図3は、制御装置10の動作例を示すフローチャートである。図4は、フレームとCRCとの関係を示す。図4では、送信フレーム201に付加するCRC210を生成する過程が示される。
ステップS01では、フレーム生成部1001が、送信フレーム201を生成する。ここでは、フレーム生成部1001は、通信プロトコルαに基づき、図4の送信フレーム201を生成するものとする。
図4の送信フレーム201では、領域201a及び領域201cが第1の領域に相当し、領域201bが第2の領域に相当し、領域201dが第3の領域に相当する。つまり、領域201a及び領域201cには定型ビット列が含まれている。領域201bには、規定ビットに類似するビット列が含まれている。領域201dには、非定型ビット列が含まれている。
フレーム生成部1001は、送信フレーム201と通信プロトコルαを通知する情報をフレーム構成決定部1002に出力する。
次に、ステップS02では、フレーム構成決定部1002が、送信フレーム201が準拠している通信プロトコルαに基づき、送信フレーム201の第1の領域、第2の領域、第3の領域を指定する。フレーム構成決定部1002は、この結果、領域201a及び領域201cを第1の領域に指定し、領域201bを第2の領域に指定し、領域201dを第3の領域に指定する。また、フレーム構成決定部1002は、領域201bに含まれるビット列と規定ビット列との差分ビットを求める。
また、フレーム構成決定部1002は、第1の領域201a、201cについて、基準フレームCRC取得部1003に、通信プロトコルαの定型ビット列に対応するCRCの識別子を通知する。
また、フレーム構成決定部1002は、第2の領域201bについて、基準フィールドCRC取得部1004に、通信プロトコルαの規定ビット列に対応するCRCの識別子を通知する。
また、フレーム構成決定部1002は、第3の領域201dに含まれるビット列を可変フィールドCRC生成部1006に出力する。
また、フレーム構成決定部1002は、差分ビットに対応するCRCの識別子を差分ビットCRC取得部1005に通知する。
ステップS03では、基準フレームCRC取得部1003が、フレーム構成決定部1002からの通知された識別子に基づいて、第1の領域201a、201cに対して、通信プロトコルαの定型ビット列に対応するCRCを、CRCテーブルから取得する。
より具体的には、基準フレームCRC取得部1003は、CRCテーブルから、図4に示す基準フレーム202のCRC211を取得する。基準フレーム202は、送信フレーム201と同じフレーム長のフレームである。基準フレーム202では、送信フレーム201の領域201aに対応する領域202aが領域201aと同じ定型ビット列で構成され、送信フレーム201の領域201cに対応する領域202cが領域201cと同じ定型ビット列で構成される。一方、領域202a及び領域202c以外の領域のビット値は0である。
ステップS04では、基準フィールドCRC取得部1004が、フレーム構成決定部1002からの通知された識別子に基づいて、第2の領域201bに対して、通信プロトコルαの規定ビット列に対応するCRCを、CRCテーブルから取得する。
より具体的には、基準フィールドCRC取得部1004は、CRCテーブルから、図4に示すフレーム203のCRC212を取得する。フレーム203は、送信フレーム201と同じフレーム長のフレームである。フレーム203では、送信フレーム201の領域201bに対応する領域202bが規定ビット列で構成される。一方、領域203b以外の領域のビット値は0である。なお、規定ビット列が格納されている領域203bを基準フィールドともいう。
ステップS05において差分ビットが存在する場合、すなわち、フレーム構成決定部1002から差分ビットに対応するCRCの識別子が通知されている場合は、差分ビットCRC取得部1005は、フレーム構成決定部1002から通知された識別子に基づいて、差分ビットに対応するCRCを、CRCテーブルから取得する。
より具体的には、差分ビットCRC取得部1005は、CRCテーブルから、図4に示すフレーム204のCRC213を取得する。フレーム204は、送信フレーム201と同じフレーム長のフレームである。フレーム204では、領域201bのビット列と領域203bの規定ビット列との差分ビットに対応する位置204nのビット値が1である。一方、位置204n以外の領域のビット値は0である。
ステップS07では、可変フィールドCRC生成部1006が、フレーム構成決定部1002から出力された第3の領域201dのビット列に対するCRC214を生成する。なお、第3の領域201dを可変フィールドともいう。
ステップS08では、演算部1007が、CRC211、CRC212、CRC213、CRC214の排他的論理和演算を行い、送信フレーム201のCRC210を生成する。
最後に、ステップS09において、フレーム連結部1008が、送信フレーム201の末尾にCRC210を連結する。
なお、図3では、ステップS03、ステップS04、ステップS05及びステップS06、ステップS07の順に処理が行われる例が示されているが、これらステップS03、ステップS04、ステップS05及びステップS06、ステップS07が並行して行われてもよい。
***その他****
本実施の形態によれば、すべてのパターンの送信フレームが基準フレーム、基準フィールド、差分ビット及び可変フィールドの組み合わせで構成でき、かつ規定値以下のテーブル参照回数により生成できることを保証する必要がある。
以下では、送信フレームの構成方法及び、テーブル参照回数を規定値以下に抑えるための基準フィールド及び差分ビットの構成方法を説明する。
1.送信フレームの構成方法
通信プロトコルによっては、定周期通信や非定周期通信などの通信種別によって、定型ビット列が出現する領域が大きく異なる複数種の送信フレームが送信される場合がある。このような場合には、送信フレームの種類ごとに、異なる基準フレームを用意する必要がある。
前述したように、任意のビット列が出現し、かつ、出現するビット列の予測が困難なフィールドが、可変フィールドとなる。可変フィールドは、例えば、送信フレームのペイロードである。
送信フレームから、基準フレーム内の定型ビット列が出現するフィールド及び可変フィールドを除いたフィールドが基準フィールドとなる。基準フィールドは送信フレーム中に1つ以上存在する。つまり、送信フレーム内に複数の基準フィールドが存在していてもよい。送信フレーム内で分断されている複数の基準フィールドを、それぞれ、別個の基準フィールドとして扱ってもよいし、複数の基準フィールドを1つの基準フィールドとして扱ってもよい。
2.基準フィールド及び差分ビットの構成方法
CRCの生成時は、図4のフレーム203の基準フィールド203bの規定ビット列と、送信フレーム201の基準フィールド201bのビット列とのハミング距離の最大値分、すなわち差分ビットの個数分、CRCを求めなければならない。このとき、差分ビットの個数だけテーブルを参照する演算が必要になる。このため、差分ビットの個数がCRC演算時間に影響する。
一方で、テーブル参照回数を抑制するためには、基準フィールド203bの規定ビット列の種類を増やすことが考えられる。例えば、図4の例において、「1101」の他に、「0000」、「1000」、「1100」、「1110」、「1111」というように基準フィールド203bの規定ビット列の種類を増やせば、差分ビットの合計回数を減らすことができ、テーブル参照回数を減らすことができる。しかし、この場合は、基準フィールドに対応するCRCの個数が増加するため、CRCテーブルのテーブルサイズが増大する。
演算時間とテーブルサイズとのバランスを取るために、システム管理者は、差分ビットの数とテーブルサイズのそれぞれに目標値を設定し、これら両方の目標値を満たすような基準フィールド及び差分ビットの構成を図5及び図6に示す方法で求める。
ステップS101では、システム管理者は、送信しうるフィールドの全パターンを求める。
ステップS102では、フィールドの中でビット値が変化しない領域があれば、システム管理者は、当該領域についてはビット値を固定し、ビット値が変化する領域のビット値を0とするフレームを、仮の基準フレームに設定する。
ステップS103では、システム管理者は、フィールドの全パターンに対して、仮の基準フレームとのハミング距離を算出する。また、フィールドの全パターンを、ハミング距離ごとに分類する。
ステップS104では、システム管理者は、ハミング距離が最大のフィールドの集合と、ハミング距離が(最大−1)であるフィールドの集合で、値が共通しているビットを抽出する。
ステップS105では、システム管理者は、ステップS104で抽出された共通ビットの値が1であるか否かを判定する。
共通ビットの値が1であれば、システム管理者はステップS106を行い、共通ビットの値が0であれば、システム管理者はステップS107を行う。
ステップS106では、システム管理者は、共通ビットに対応する、仮の基準フレームのビットの値を1とする。
ステップS107では、システム管理者は、フィールドの全パターンに対して、仮の基準フレームとのハミング距離を算出する。
ステップS108では、システム管理者は、ステップS107で算出したハミング距離の最大値が目標値以下であるか否かを判定する。
ステップS107で算出したハミング距離の最大値が目標値以下であれば、システム管理者は、ステップS111を行い、そうでなければステップS109を行う。
ステップS109では、仮の基準フレームからのハミング距離が最大となるフィールドの集合に対して、システム管理者は、0と1の両方の値を取っているビットを選ぶ。つまり、システム管理者は、当該ビットが0である仮の基準フレームに加えて、当該ビットが1である仮の基準フレームを得る。
なお、システム管理者は、各フィールドのパターンを、どのフィールドから算出するかを記録しておく。
ステップS110では、システム管理者は、ステップS109で仮の基準フレームを追加した後のテーブル数が、目標値以下であるか否かを判定する。テーブル数が目標値以下であれば、システム管理者は、ステップS107を行う。そうでなければ、システム管理者は、目標とするテーブル参照回数及びテーブルサイズの両方を実現することは不可能として、図5及び図6に示すフローを終了する。
ステップS111では、これまでに算出した仮の基準フィールドすべてを、最終的な基準フィールドとして決定し、図5及び図6に示すフローを終了する。
***実施の形態の効果の説明***
本実施の形態では、定型ビット列に対応する第1のCRCと、規定ビット列に対応する第2のCRCと、規定ビット列と第2の領域のビット列との差分に対応する差分CRCのみをCRCテーブルに保持すればよい。また、CRCテーブルから第1のCRCと第2のCRCと差分CRCを取得し、取得した第1のCRCと第2のCRCと差分CRCと、第3のCRCとに基づいて、送信フレームのCRCを生成することができる。このように、本実施の形態によれば、テーブルのサイズを抑えながら、CRC演算時間を短縮することができる。
***ハードウェア構成の説明***
最後に、制御装置10のハードウェア構成の補足説明を行う。
図1に示すプロセッサ103は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ103は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図1に示す記憶装置104は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
図1に示す通信インタフェース102は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信インタフェース102は、例えば、通信チップ又はNIC(Network Interface Card)である。
図1に示す入出力インタフェース101は、例えば、マウス、キーボード、ディスプレイ等である。
また、記憶装置104には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ103により実行される。
プロセッサ103はOSの少なくとも一部を実行しながら、フレーム生成部1001、フレーム構成決定部1002、基準フレームCRC取得部1003、基準フィールドCRC取得部1004、差分ビットCRC取得部1005、可変フィールドCRC生成部1006、演算部1007及びフレーム連結部1008(以下、これらをまとめて「部」という)の機能を実現するプログラムを実行する。
プロセッサ103がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、記憶装置104、プロセッサ103内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、制御装置10は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、「部」は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
10 制御装置、101 入出力インタフェース、102 通信インタフェース、103 プロセッサ、104 記憶装置、105 バス、1001 フレーム生成部、1002 フレーム構成決定部、1003 基準フレームCRC取得部、1004 基準フィールドCRC取得部、1005 差分ビットCRC取得部、1006 可変フィールドCRC生成部、1007 演算部、1008 フレーム連結部。

Claims (5)

  1. 送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出する領域指定部と、
    前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得する第1のCRC取得部と、
    前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得する第2のCRC取得部と、
    前記領域指定部により抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得する差分CRC取得部と、
    前記第3の領域のビット列に対応するCRCである第3のCRCを生成する第3のCRC生成部と、
    前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するフレームCRC生成部とを有するデータ処理装置。
  2. 前記第1のCRC取得部は、
    前記送信フレームと同じフレーム長であり、前記第1の領域に対応する領域が前記定型ビット列で構成され、前記第1の領域に対応する領域以外の領域のビット値が0であるフレームのCRCを、前記第1のCRCとして、前記CRCテーブルから取得し、
    前記第2のCRC取得部は、
    前記送信フレームと同じフレーム長であり、前記第2の領域に対応する領域が前記規定ビット列で構成され、前記第2の領域に対応する領域以外の領域のビット値が0であるフレームのCRCを、前記第2のCRCとして、前記CRCテーブルから取得し、
    前記差分CRC取得部は、
    前記送信フレームと同じフレーム長であり、前記差分に対応する位置のビット値が1であり、前記差分に対応する位置以外の領域のビット値が0であるフレームのCRCを、前記差分CRCとして、前記CRCテーブルから取得し、
    前記フレームCRC生成部は、
    前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCの排他的論理和演算を行って前記送信フレームのCRCを生成する請求項1に記載のデータ処理装置。
  3. 前記領域指定部は、
    前記送信フレームが準拠している通信プロトコルに基づき、前記第1の領域と、前記第2の領域と、前記第3の領域とを指定する請求項1に記載のデータ処理装置。
  4. コンピュータが、送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出し、
    前記コンピュータが、前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得し、
    前記コンピュータが、前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得し、
    前記コンピュータが、抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得し、
    前記コンピュータが、前記第3の領域のビット列に対応するCRCである第3のCRCを生成し、
    前記コンピュータが、前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するデータ処理方法。
  5. 送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出する領域指定処理と、
    前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得する第1のCRC取得処理と、
    前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得する第2のCRC取得処理と、
    前記領域指定処理により抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得する差分CRC取得処理と、
    前記第3の領域のビット列に対応するCRCである第3のCRCを生成する第3のCRC生成処理と、
    前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するフレームCRC生成処理とをコンピュータに実行させるデータ処理プログラム。
JP2016564341A 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム Active JP6073006B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/066927 WO2017212547A1 (ja) 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP6073006B1 JP6073006B1 (ja) 2017-02-01
JPWO2017212547A1 true JPWO2017212547A1 (ja) 2018-06-14

Family

ID=57937632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016564341A Active JP6073006B1 (ja) 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム

Country Status (6)

Country Link
US (1) US10771095B2 (ja)
JP (1) JP6073006B1 (ja)
CN (1) CN109219928B (ja)
DE (1) DE112016006791B4 (ja)
TW (1) TW201743208A (ja)
WO (1) WO2017212547A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112018007296B4 (de) 2018-04-25 2022-01-27 Mitsubishi Electric Corporation Informationsverarbeitungseinrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4896931A (ja) 1972-03-27 1973-12-11
DE69320321T2 (de) 1993-02-05 1998-12-24 Hewlett Packard Co Verfahren und Gerät zum Nachprüfen von CRC-Koden, wobei CRC Teilkode kombiniert werden
JPH06311049A (ja) 1993-04-20 1994-11-04 Nippon Denki Musen Denshi Kk Crc符号算出回路
JP3257298B2 (ja) 1994-11-16 2002-02-18 松下電器産業株式会社 Crc符号生成方法
JP2000181807A (ja) * 1998-12-16 2000-06-30 Murata Mach Ltd 記録媒体のデータ検査方法及び装置
US6560742B1 (en) * 1999-12-09 2003-05-06 International Business Machines Corporation Parallel system and method for cyclic redundancy checking (CRC) generation
DE60236896D1 (de) * 2002-04-22 2010-08-12 Fujitsu Ltd Fehlerdetektionscodierer und -decodierer
JP3880934B2 (ja) 2003-01-28 2007-02-14 Necエレクトロニクス株式会社 Crc符号生成方法
JP2006185090A (ja) * 2004-12-27 2006-07-13 Matsushita Electric Ind Co Ltd Crc演算装置及びcrc演算方法
JP4896931B2 (ja) 2008-06-24 2012-03-14 株式会社東芝 検査符号生成方法
US8261175B2 (en) * 2008-11-14 2012-09-04 Intel Mobile Communications GmbH Method and apparatus for performing a CRC check
KR20120065319A (ko) * 2009-07-03 2012-06-20 록스타 비드코, 엘피 액티브 배정을 무선국의 그룹에 시그널링하는 장치 및 방법
JP2012169926A (ja) 2011-02-15 2012-09-06 Fujitsu Ltd Crc演算回路
JP5724601B2 (ja) 2011-05-10 2015-05-27 富士通株式会社 Crc演算回路及びプロセッサ
US8607129B2 (en) * 2011-07-01 2013-12-10 Intel Corporation Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic
US8726124B2 (en) * 2012-07-19 2014-05-13 Nvidia Corporation Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
CN104079387B (zh) * 2013-03-26 2017-10-17 华为技术有限公司 数据重传方法及装置
FR3038188B1 (fr) * 2015-06-29 2017-08-11 Stmicroelectronics (Grenoble 2) Sas Systeme de verification de l’integrite d’une communication entre deux circuits
US9823960B2 (en) * 2015-09-10 2017-11-21 Cavium, Inc. Apparatus and method for parallel CRC units for variably-sized data frames
US10248498B2 (en) * 2016-11-21 2019-04-02 Futurewei Technologies, Inc. Cyclic redundancy check calculation for multiple blocks of a message

Also Published As

Publication number Publication date
DE112016006791B4 (de) 2020-02-06
US20190109605A1 (en) 2019-04-11
US10771095B2 (en) 2020-09-08
WO2017212547A1 (ja) 2017-12-14
CN109219928B (zh) 2022-06-28
DE112016006791T5 (de) 2019-01-17
CN109219928A (zh) 2019-01-15
TW201743208A (zh) 2017-12-16
JP6073006B1 (ja) 2017-02-01

Similar Documents

Publication Publication Date Title
KR102272117B1 (ko) 블록체인 기반 데이터 프로세싱 방법 및 디바이스
US9537653B2 (en) Encryption key generating apparatus and computer program product
US10164772B2 (en) Permutation composition based hash function
US20200210410A1 (en) Service identifier-based data indexing
US20130173908A1 (en) Hash Table Organization
JP2017194762A (ja) インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法
US10521414B2 (en) Computer-readable recording medium, encoding method, encoding device, retrieval method, and retrieval device
KR20160056944A (ko) 캐싱된 플로우들에 기초한 가속
US20100293424A1 (en) Semiconductor integrated circuit, information processing apparatus and method, and program
JP6073006B1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP5724626B2 (ja) プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
US10324963B2 (en) Index creating device, index creating method, search device, search method, and computer-readable recording medium
US9716625B2 (en) Identifying compatible system configurations
TWI643061B (zh) 用於熵編碼之系統層級測試之電腦實施方法、系統及電腦程式產品
KR101962720B1 (ko) Fpga 비트스트림에서의 lut 정보 역공학 방법 및 장치
US20170270417A1 (en) Information processing apparatus, information processing system, computer-readable recording medium, and information processing method
US20200177390A1 (en) Providing data verification in a blockchain ledger
KR102058495B1 (ko) 오류 검출 회로 및 이를 이용하는 반도체 집적회로
KR102251241B1 (ko) 재구성 가능 프로세서의 레지스터를 제어하는 방법 및 장치와 재구성 가능 프로세서의 레지스터를 제어하는 명령어를 생성하는 방법 및 장치
JP5079671B2 (ja) ハッシュ値生成装置、検証装置、ハッシュ値生成方法、検証方法、プログラム、および記録媒体
CN112307010B (zh) 一种数据存储方法、装置及设备
CN112005508B (zh) 信息处理装置、信息处理方法及计算机可读取的记录介质
US20150019672A1 (en) Method and System for Record Access in a Distributed System
US10606571B2 (en) Dependence relationship extraction apparatus and computer readable medium
Millwood et al. A Generic Obfuscation Framework for Preventing ML-Attacks on Strong-PUFs through Exploitation of DRAM-PUFs

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161025

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161025

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161130

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: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161228

R150 Certificate of patent or registration of utility model

Ref document number: 6073006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250