JP2016178551A - Communication device and control method - Google Patents
Communication device and control method Download PDFInfo
- Publication number
- JP2016178551A JP2016178551A JP2015058621A JP2015058621A JP2016178551A JP 2016178551 A JP2016178551 A JP 2016178551A JP 2015058621 A JP2015058621 A JP 2015058621A JP 2015058621 A JP2015058621 A JP 2015058621A JP 2016178551 A JP2016178551 A JP 2016178551A
- Authority
- JP
- Japan
- Prior art keywords
- value
- remainder
- storage unit
- groups
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、通信装置及び制御方法に関し、特に、チェックコードを送信し且つ検証する通信装置及びその通信装置の制御方法に関する。 The present invention relates to a communication apparatus and a control method, and more particularly to a communication apparatus that transmits and verifies a check code and a control method for the communication apparatus.
通信データの誤りを検出するために、CRC(Cyclic Redundancy Check)を用いた誤り検出方式が利用されている。近年、記憶装置の大容量化、通信インタフェース及びバスインタフェースの高速化等に伴って、単位時間に処理される通信データの量が増大してきており、大量のCRCを算出することが必要になっている。 In order to detect errors in communication data, an error detection method using CRC (Cyclic Redundancy Check) is used. In recent years, the amount of communication data processed per unit time has increased as the capacity of storage devices has increased and the speed of communication interfaces and bus interfaces has increased, making it necessary to calculate a large number of CRCs. Yes.
通常、対象データを多項式に見立てて、予め定められた生成多項式で除算した剰余値がCRCとして用いられる。一般に、CRCを算出するために、対象データを1ビットずつシフトさせながら所定の比較減算処理を実行することにより、対象データの剰余値を算出する方法が用いられている。しかしながら、この方法では、1ビットずつ比較減算処理を実行する必要があるため、剰余値を算出するために多大な時間が必要となる。 Normally, the remainder value obtained by dividing the target data into a polynomial and dividing by a predetermined generator polynomial is used as the CRC. In general, in order to calculate the CRC, a method of calculating a remainder value of the target data by executing a predetermined comparison / subtraction process while shifting the target data bit by bit. However, in this method, since it is necessary to execute the comparison / subtraction processing bit by bit, it takes a lot of time to calculate the remainder value.
剰余値の算出時間を短くするために、対象データが取り得る全ての値をそれぞれ生成多項式で除算した剰余値を予め算出してテーブルに記憶しておき、そのテーブルを参照することにより、対象データの剰余値を求める方法も考えられる。しかしながら、対象データのサイズが増大する程、必要となるテーブルのサイズは指数関数的に増大するため、記憶装置のサイズ及びコストが増大するという問題がある。 In order to shorten the calculation time of the remainder value, the remainder value obtained by dividing all the possible values of the target data by the generator polynomial is calculated in advance and stored in a table, and the target data is referred to by referring to the table. A method of obtaining the remainder value of can also be considered. However, as the size of the target data increases, the required table size increases exponentially, and there is a problem that the size and cost of the storage device increase.
入力情報列に対応する多項式を生成多項式で除算したときの剰余を計算する剰余計算装置が知られている(特許文献1を参照)。この剰余計算装置は、複数の単位情報列の値をインデクスとして、対応する剰余情報列の値をそれぞれ保持する複数の剰余テーブルを記憶しておく。剰余計算装置は、対象情報列を複数の単位情報列に分割して、それぞれの単位情報列の値をインデクスとして複数の剰余テーブルを参照し、複数の剰余情報列の値を取得し、得られた複数の剰余情報列の排他的論理和に基づいて剰余を計算する。 There is known a residue calculation device that calculates a residue when a polynomial corresponding to an input information sequence is divided by a generator polynomial (see Patent Document 1). The remainder calculation apparatus stores a plurality of remainder tables each holding the values of the corresponding remainder information strings, using the values of the plurality of unit information strings as indexes. The remainder calculation apparatus divides the target information string into a plurality of unit information strings, obtains values of the plurality of remainder information strings by referring to the plurality of remainder tables using the values of the respective unit information strings as indexes. The remainder is calculated based on the exclusive OR of the plurality of remainder information strings.
また、入力情報ビット列を生成多項式により除算する除算装置が知られている(特許文献2を参照)。この除算装置は、入力情報ビット列を複数のサブビット列に分割する。除算装置は、各サブビット列の最下位のビットに対応する入力情報ビット列内におけるビット位置を1とし、他のビットを0としたビット列を生成多項式で除算して得られる剰余値を保持しておく。そして、除算装置は、各剰余値と、対応するサブビット列の乗算結果をモジュロ2加算し、生成多項式で除算する。 Also, a division device that divides an input information bit string by a generator polynomial is known (see Patent Document 2). This division device divides an input information bit string into a plurality of sub-bit strings. The division device holds a remainder value obtained by dividing a bit string in which the bit position in the input information bit string corresponding to the least significant bit of each sub-bit string is 1 and the other bits are 0 by the generator polynomial. . Then, the division device modulo-2 adds each remainder value and the multiplication result of the corresponding sub-bit sequence, and divides by the generator polynomial.
特許文献1に記載の剰余計算装置及び特許文献2に記載の除算装置では、効率良く入力情報列を生成多項式で除算することができる。 In the remainder calculation apparatus described in Patent Document 1 and the division apparatus described in Patent Document 2, an input information sequence can be efficiently divided by a generator polynomial.
しかしながら、チェックコードを送信し且つ検証する通信装置では、高速にチェックコードを処理しつつ、記憶装置に格納しておくデータ量をより低減させることが求められている。 However, a communication device that transmits and verifies a check code is required to further reduce the amount of data stored in a storage device while processing the check code at high speed.
本発明の目的は、チェックコードを送信し且つ検証する通信装置において、高速にチェックコードを処理しつつ、記憶装置に格納しておくデータ量をより低減させることが可能な通信装置及び制御方法を提供することにある。 An object of the present invention is to provide a communication device and a control method capable of further reducing the amount of data stored in a storage device while processing the check code at high speed in a communication device that transmits and verifies a check code. It is to provide.
本発明の一側面に係る通信装置は、所定桁を有する送信データ及び受信データを通信する通信装置であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値をグループ毎に保持する記憶部と、送信データを複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、送信データを送信チェックコードとともに送信する送信部と、受信データ及び受信データに対する受信チェックコードを受信する受信部と、受信データに基づく値を複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証する検証部と、を有し、記憶部は、生成部及び検証部から同時に参照可能である。 A communication apparatus according to an aspect of the present invention is a communication apparatus that communicates transmission data and reception data having a predetermined digit, wherein a part of the predetermined digit is a valid digit and a digit other than the valid digit is set to 0. A plurality of groups composed of a plurality of values are set, a storage unit that holds a plurality of residue values for each group obtained by dividing a plurality of values included in each group by a predetermined value, and transmission data into a plurality of groups A generation unit that divides and acquires a remainder value by referring to a storage unit for each of a plurality of groups, generates a transmission check code based on the sum of the obtained remainder values, and a transmission unit that transmits transmission data together with the transmission check code A reception unit that receives the reception data and a reception check code for the reception data, and divides the value based on the reception data into a plurality of groups, and refers to the storage unit for each of the plurality of groups, Tokushi includes a verification unit for verifying the received data and the reception check code based on the sum of the obtained residue values to, the storage unit can be simultaneously referred to from the generation unit and the verification unit.
また、本発明の他の側面に係る通信装置は、所定桁を有する送信データ及び受信データを通信する通信装置であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値をグループ毎に保持する第1記憶部と、所定の複数の値をそれぞれ所定値で除算した複数の剰余値を保持する第2記憶部と、送信データを複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、送信データを送信チェックコードとともに送信する送信部と、受信データ及び受信データに対する受信チェックコードを受信する受信部と、受信データに基づく値を複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証する検証部と、を有し、第2記憶部は、生成部及び検証部から複数のグループについて同時に参照可能である。 A communication device according to another aspect of the present invention is a communication device that communicates transmission data and reception data having a predetermined digit, wherein a part of the predetermined digit is a valid digit and a digit other than the valid digit is set. A plurality of groups each composed of a plurality of values set to 0 are set, a first storage unit that holds a remainder value obtained by dividing a minimum value in each group by a predetermined value for each group, and a predetermined plurality of values respectively. A second storage unit that holds a plurality of residue values divided by a value, and divides transmission data into a plurality of groups, acquires a residue value by referring to the first storage unit for each of the plurality of groups, and acquires the residue The multiplication value of the value and the significant digit value of each group is calculated, the remainder value corresponding to the multiplication value is obtained by referring to the second storage unit, and the transmission check code is calculated based on the sum of the obtained remainder values. Generation unit to generate and transmission data transmission check A transmitter that transmits the received data, a reception unit that receives the reception check code for the received data, and a value based on the received data is divided into a plurality of groups, and the first storage unit is referenced for each of the plurality of groups. To obtain a remainder value, calculate a multiplication value of the obtained remainder value and the digit value of the significant digit of each group, obtain a remainder value corresponding to the multiplication value with reference to the second storage unit, and obtain the obtained A verification unit that verifies the received data and the reception check code based on the sum of the remainder values, and the second storage unit can simultaneously refer to a plurality of groups from the generation unit and the verification unit.
また、本発明の一側面に係る制御方法は、記憶部を有し、所定桁を有する送信データ及び受信データを通信する通信装置の制御方法であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値をグループ毎に記憶部に保持し、送信データを複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて送信チェックコードを生成し、送信データを送信チェックコードとともに送信し、受信データ及び受信データに対する受信チェックコードを受信し、受信データに基づく値を複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証することを含み、記憶部は、生成及び検証において同時に参照可能である。 A control method according to an aspect of the present invention is a control method for a communication apparatus that includes a storage unit and communicates transmission data and reception data having a predetermined digit, and a part of the predetermined digits is a valid digit. And sets a plurality of groups composed of a plurality of values in which digits other than significant digits are 0, and stores a plurality of remainder values obtained by dividing a plurality of values included in each group by a predetermined value for each group The transmission data is divided into a plurality of groups, a remainder value is obtained by referring to the storage unit for each of the plurality of groups, a transmission check code is generated based on the sum of the obtained remainder values, and the transmission data is The data is transmitted together with the transmission check code, the reception check code for the reception data and the reception data is received, the value based on the reception data is divided into a plurality of groups, and the remainder value is obtained by referring to the storage unit for each of the plurality of groups. And comprises verifying the received data and the reception check code based on the sum of the obtained residue values storage unit can be simultaneously referred to in the generation and verification.
また、本発明の他の側面に係る制御方法は、第1記憶部及び第2記憶部を有し、所定桁を有する送信データ及び受信データを通信する通信装置の制御方法であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値をグループ毎に第1記憶部に保持し、所定の複数の値をそれぞれ所定値で除算した複数の剰余値を第2記憶部に保持し、送信データを複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成し、送信データを送信チェックコードとともに送信し、受信データ及び受信データに対する受信チェックコードを受信し、受信データに基づく値を複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証することを含み、第2記憶部は、生成及び検証において複数のグループについて同時に参照可能である。 A control method according to another aspect of the present invention is a control method for a communication apparatus that includes a first storage unit and a second storage unit and communicates transmission data and reception data having a predetermined digit, and includes a predetermined digit. Set multiple groups consisting of multiple values with some of the significant digits and zeros other than valid digits set to 0, and the remainder value obtained by dividing the minimum value in each group by the predetermined value for each group A plurality of remainder values obtained by dividing the plurality of predetermined values by the predetermined values are stored in the second storage unit, the transmission data is divided into a plurality of groups, The remainder value is obtained by referring to the 1 storage section, the multiplication value of the obtained remainder value and the digit value of the significant digit of each group is calculated, and the remainder value corresponding to the multiplication value is obtained by referring to the second storage section. And generate a transmission check code based on the sum of the acquired remainder values. The transmission data is transmitted together with the transmission check code, the reception check code for the reception data and the reception data is received, the value based on the reception data is divided into a plurality of groups, and the first storage unit is referenced for each of the plurality of groups. The remainder value is acquired, the multiplication value of the obtained remainder value and the digit value of the significant digit of each group is calculated, the remainder value corresponding to the multiplication value is obtained by referring to the second storage unit, and the obtained remainder The second storage unit can simultaneously refer to a plurality of groups in generation and verification, including verifying the reception data and the reception check code based on the sum of the values.
本発明によれば、チェックコードを送信し且つ検証する通信装置は、チェックコードの生成時及び検証時に、剰余値を算出するためのデータを共用できるため、高速にチェックコードを処理しつつ記憶装置に格納しておくデータ量をより低減させることが可能となる。 According to the present invention, since the communication device that transmits and verifies the check code can share data for calculating the remainder value at the time of generating and verifying the check code, the storage device can process the check code at high speed. It becomes possible to further reduce the amount of data stored in the.
以下、本発明の一側面に係る通信装置及び制御方法について図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。 Hereinafter, a communication device and a control method according to an aspect of the present invention will be described with reference to the drawings. However, it should be noted that the technical scope of the present invention is not limited to these embodiments, but extends to the invention described in the claims and equivalents thereof.
図1は、実施形態に係る通信装置のハードウェア構成図示す図である。 FIG. 1 is a diagram illustrating a hardware configuration of a communication apparatus according to the embodiment.
通信装置100は、送信データを送信チェックコードとともに他の通信装置へ送信し、受信データを受信チェックコードとともに他の通信装置から受信する。以下では、CRCを送信チェックコード及び受信チェックコードの例として説明する。
The
図1に示すように、通信装置100は、記憶装置110と、CPU(Central Processing Unit)120と、生成回路130と、送信回路140と、受信回路150と、検証回路160とを有する。以下、通信装置100の各部について詳細に説明する。
As illustrated in FIG. 1, the
記憶装置110は、記憶部の一例であり、ROM(Read Only Memory)等のメモリ装置を有する。記憶装置110は、マルチポートメモリであり、記憶装置110には、第1テーブル111、第2テーブル112、第3テーブル113及び第4テーブル114等が記憶される。記憶装置110では、複数のグループが設定され、第1テーブル111、第2テーブル112、第3テーブル113及び第4テーブル114には、それぞれ各グループに対応する剰余値が保持される。
The
図2は、複数のグループについて説明するための模式図である。 FIG. 2 is a schematic diagram for explaining a plurality of groups.
図2に示す例では、送信データ及び受信データが有する所定桁、即ち送信データ及び受信データの桁数を32ビット(4バイト)としている。また、この例では、32ビットの送信データ及び受信データを9ビット(但し最上位ビットが1)の除数値で除算することにより、8ビット(1バイト)の送信CRC及び受信CRCが算出される。なお、通信装置100において、送信データ、受信データ、除数値、送信CRC及び受信CRCの桁数は上記に限定されず、何桁であってもよい。
In the example shown in FIG. 2, the predetermined digits of transmission data and reception data, that is, the number of digits of transmission data and reception data is 32 bits (4 bytes). In this example, the transmission CRC and the reception CRC of 8 bits (1 byte) are calculated by dividing the transmission data and reception data of 32 bits by a divisor value of 9 bits (where the most significant bit is 1). . In
図2に示すように、送信データ及び受信データが有する所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループが複数個設定される。図2に示す例では、第0〜第7ビットを有効桁とする第1グループと、第8〜第15ビットを有効桁とする第2グループと、第16〜第23ビットを有効桁とする第3グループと、第24〜第31ビットを有効桁とする第4グループの4つのグループが設定される。即ち、第1グループは00000001(h)〜000000FF(h)の255個の値で構成される。第2グループは00000100(h)〜0000FF00(h)の255個の値で構成される。第3グループは00010000(h)〜00FF0000(h)の255個の値で構成される。第4グループは01000000(h)〜FF000000(h)の255個の値で構成される。このように各グループは、所定桁の全てが何れかのグループで有効桁となるように設定される。 As shown in FIG. 2, a plurality of groups each having a plurality of values in which some of the predetermined digits of transmission data and reception data are effective digits and zeros other than the effective digits are set are set. In the example shown in FIG. 2, the first group having the 0th to 7th bits as significant digits, the second group having the 8th to 15th bits as significant digits, and the 16th to 23rd bits as the significant digits. Four groups are set, the third group and the fourth group having the 24th to 31st bits as significant digits. That is, the first group is composed of 255 values from 00000001 (h) to 000000FF (h). The second group is composed of 255 values from 00000100 (h) to 0000FF00 (h). The third group is composed of 255 values from 00010000 (h) to 00FF0000 (h). The fourth group is composed of 255 values from 01000000 (h) to FF000000 (h). In this way, each group is set so that all of the predetermined digits are valid digits in any group.
第1テーブル111は、第1グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。なお、桁値とは、有効桁の中の最下位桁が1桁目となるように各値をシフトさせたときの値を意味する。即ち、桁値は、01(h)〜FF(h)の範囲の値である。同様に、第2テーブル112は、第2グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。同様に、第3テーブル113は、第3グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。同様に、第4テーブル114は、第4グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。所定除数値は、CRCの方式によって異なる値であり、例えばCRC−8では9ビットの1D5(h)が用いられている。なお、各テーブルは、さらにインデックス00(h)に対応して値0を保持する。即ち、各テーブルには、00(h)〜FF(h)をインデックスとして、256個の値が保持される。
The first table 111 holds a plurality of remainder values obtained by dividing each value included in the first group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. The digit value means a value when each value is shifted so that the least significant digit in the effective digits becomes the first digit. That is, the digit value is a value in the range of 01 (h) to FF (h). Similarly, the second table 112 holds a plurality of remainder values obtained by dividing each value included in the second group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. Similarly, the third table 113 holds a plurality of remainder values obtained by dividing each value included in the third group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. Similarly, the fourth table 114 holds a plurality of remainder values obtained by dividing each value included in the fourth group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. The predetermined divisor value is different depending on the CRC method. For example, in CRC-8, 9-bit 1D5 (h) is used. Each table further holds a
CPU120は、記憶装置110、生成回路130、送信回路140、受信回路150及び検証回路160と接続され、これらの各部を制御する。CPU120は、通信装置100全体の動作を制御する。
The
CPU120は、他の通信装置へ送信する送信データを生成回路130及び送信回路140に出力する。また、CPU120は、他の通信装置から受信した受信データを受信回路150から取得し、その受信データを受信CRCに基づいて検証した結果を検証回路160から取得する。
The
なお、図1において「()」で囲まれた数字はその矢印が示すバスのビット幅を示し、「[]」で囲まれた数字はその矢印が示すバスで伝送されるデータのビット番号を示す。 In FIG. 1, the number surrounded by “()” indicates the bit width of the bus indicated by the arrow, and the number surrounded by “[]” indicates the bit number of data transmitted on the bus indicated by the arrow. Show.
生成回路130は、生成部の一例であり、分割回路131及び加算回路132を有する。
The
分割回路131は、CPU120から出力された送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する。本実施形態では、分割回路131は、32ビットの送信データを、図2に示した第1〜第4グループの4つのグループに分割し、第0〜第7ビットの桁値と、第8〜第15ビットの桁値と、第16〜第23ビットの桁値と、第24〜第31ビットの桁値を出力する。
The dividing
生成回路130は、分割回路131が出力した各グループの各桁値をそれぞれ記憶装置110の各テーブルに入力し、各グループ毎に記憶装置110の各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。
The
本実施形態では、生成回路130は、第1テーブル111を参照し、第0〜第7ビットの桁値をインデックスとして、送信データの内、第0〜第7ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、生成回路130は、第2テーブル112を参照し、第8〜第15ビットの桁値をインデックスとして、送信データの内、第8〜第15ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、生成回路130は、第3テーブル113を参照し、第16〜第23ビットの桁値をインデックスとして、送信データの内、第16〜第23ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、生成回路130は、第4テーブル114を参照し、第24〜第31ビットの桁値をインデックスとして、送信データの内、第24〜第31ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。
In the present embodiment, the
加算回路132は、各テーブルを参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を送信CRCとして生成し、送信回路140に出力する。本実施形態では、加算回路132は、8ビットの各剰余値をモジュロ2加算して8ビットの送信チェックコードを生成し、出力する。
The
送信回路140は、送信部の一例であり、送信データバッファ141、送信CRCバッファ142及び送信制御回路143を有する。
The transmission circuit 140 is an example of a transmission unit, and includes a
送信データバッファ141は、RAM(Random Access Memory)等のメモリ装置を有し、CPU120から出力された送信データを一旦格納する。
The
送信CRCバッファ142は、RAM等のメモリ装置を有し、生成回路130から出力された送信CRCを一旦格納する。
The
送信制御回路143は、他の通信装置と通信可能なインタフェース回路を有し、他の通信装置又は中継装置とケーブルを用いて電気的に接続して各種のデータ及び情報を送信する。送信制御回路143は、例えばPCI Express等の規格に準じた通信を行うための回路を有する。なお、送信制御回路143は、USB(Universal Serial Bus)等のシリアルバスに準じるインタフェース回路を有し、USBケーブルを用いて他の通信装置と電気的に接続してもよい。または、送信制御回路143は、イーサネット(登録商標)等に準じる回路を有し、LAN(Local Area Network)ケーブルを用いて各通信装置と電気的に接続してもよい。 The transmission control circuit 143 has an interface circuit capable of communicating with other communication devices, and transmits various data and information by being electrically connected to other communication devices or relay devices using cables. The transmission control circuit 143 includes a circuit for performing communication conforming to a standard such as PCI Express. The transmission control circuit 143 may include an interface circuit conforming to a serial bus such as USB (Universal Serial Bus), and may be electrically connected to another communication device using a USB cable. Alternatively, the transmission control circuit 143 may include a circuit conforming to Ethernet (registered trademark) or the like, and may be electrically connected to each communication device using a LAN (Local Area Network) cable.
送信制御回路143は、送信データバッファ141から送信データを読み出すとともに、送信CRCバッファ142からその送信データに対する送信CRCを読み出す。送信制御回路143は、読み出した送信データ及び送信CRCを並べて、パラレル−シリアル変換し、他の通信装置へ送信する。
The transmission control circuit 143 reads transmission data from the
受信回路150は、受信部の一例であり、受信制御回路151、受信データバッファ152及び受信CRCバッファ153を有する。
The
受信制御回路151は、送信制御回路143と同様の、他の通信装置と通信可能なインタフェース回路を有し、他の通信装置又は中継装置とケーブルを用いて電気的に接続して各種のデータ及び情報を受信する。 Similar to the transmission control circuit 143, the reception control circuit 151 has an interface circuit capable of communicating with other communication devices, and is electrically connected to other communication devices or relay devices using cables to transmit various data and Receive information.
受信制御回路151は、他の通信装置から送信された信号をシリアル−パラレル変換し、受信データ及びその受信データに対する受信CRCを受信する。受信制御回路151は、受信データを受信データバッファ152に書き込むとともに、受信CRCを受信CRCバッファ153に書き込む。
The reception control circuit 151 performs serial-parallel conversion on a signal transmitted from another communication device, and receives reception data and a reception CRC for the reception data. The reception control circuit 151 writes the reception data in the
受信データバッファ152は、RAM等のメモリ装置を有し、受信制御回路151から書き込まれた受信データを一旦格納する。
The
受信CRCバッファ153は、RAM等のメモリ装置を有し、受信制御回路151から書き込まれた受信CRCを一旦格納する。
The
検証回路160は、検証部の一例であり、分割回路161、加算回路162及び一致回路163を有する。
The
分割回路161は、生成回路130の分割回路131と同様の回路であり、受信データバッファ152から受信データを読み出し、受信データに基づく値を複数のグループに分割し、各グループの有効桁の桁値を出力する。本実施形態では、分割回路161は、32ビットの受信データを、図2に示した第1〜第4グループの4つのグループに分割し、第0〜第7ビットの桁値と、第8〜第15ビットの桁値と、第16〜第23ビットの桁値と、第24〜第31ビットの桁値を出力する。
The
検証回路160は、分割回路161が出力した各グループの各桁値をそれぞれ記憶装置110の各テーブルに入力し、各グループ毎に記憶装置110の各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。
The
本実施形態では、検証回路160は、第1テーブル111を参照し、第0〜第7ビットの桁値をインデックスとして、受信データの内、第0〜第7ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、検証回路160は、第2テーブル112を参照し、第8〜第15ビットの桁値をインデックスとして、受信データの内、第8〜第15ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、検証回路160は、第3テーブル113を参照し、第16〜第23ビットの桁値をインデックスとして、送信データの内、第16〜第23ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、検証回路160は、第4テーブル114を参照し、第24〜第31ビットの桁値をインデックスとして、送信データの内、第24〜第31ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。
In the present embodiment, the
上述したように、記憶装置110は、マルチポートメモリであり、送信CRCの生成時及び受信CRCの検証時に生成回路130及び検証回路160から同時に参照可能である。したがって、通信装置100は、チェックコードの生成時及び検証時に各テーブルを共用できるため、記憶装置110に保持しておくテーブルのサイズを低減させることが可能となる。
As described above, the
加算回路162は、生成回路130の加算回路132と同様の回路であり、各テーブルを参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路163に出力する。本実施形態では、一致回路163は、8ビットの各剰余値をモジュロ2加算して8ビットの総和値を算出し、出力する。
The
一致回路163は、加算回路162から出力された各剰余値の総和に基づいて受信データ及び受信CRCを検証する。一致回路163は、受信CRCバッファ153から受信CRCを読み出し、加算回路162から出力された各剰余値の総和と比較する。一致回路163は、一致する場合、受信データに誤りがないことを示す値を、一致しない場合、受信データに誤りがあることを示す値を、それぞれ検証結果としてCPU120に出力する。
The
CPU120は、受信データバッファ152から受信データを読み出すとともに、一致回路163から出力された、その受信データに対する検証結果に基づいて、受信データに誤りがあるか否かを判定する。
The
このように、検証回路160は、受信データから剰余値を算出し、算出した剰余値と受信CRCが一致するか否かによって受信データ及び受信CRCを検証する。
In this way, the
なお、検証回路160は、受信データに受信CRCを加算した加算値の剰余値を算出し、算出した剰余値が0であるか否かによって受信データ及び受信CRCを検証してもよい。その場合、検証回路160は、受信データと受信CRCを加算して出力する加算回路を更に有し、分割回路161は、受信データ及び受信CRCの加算値を複数のグループに分割する。検証回路160は、各グループ毎に記憶装置110の各テーブルを参照して、分割回路161が出力した各グループの各桁値に対応する剰余値を取得し、加算回路162は、各剰余値の総和値を算出する。一致回路163は、各剰余値の総和と0を比較し、一致する場合、受信データに誤りがないことを示す値を、一致しない場合、受信データに誤りがあることを示す値を、それぞれ検証結果としてCPU120に出力する。CPU120は、検証結果に基づいて、受信データに誤りがあるか否かを判定する。
The
または、生成回路130は、送信データをCRCの桁数(8ビット)分だけ桁上げし(即ち、CRCの桁数分だけ左シフトし、新たに追加された下位ビットに0を埋める)、その桁上げしたデータについて送信CRCを算出してもよい。その場合、生成回路130は、桁上げしたデータを複数のグループに分割し、各グループ毎に剰余値を取得し、取得した剰余値の総和に基づいて送信CRCを生成する。送信回路140は、桁上げしたデータと送信CRCのモジュロ2加算(桁上げした下位ビットへの加算)を行ったデータを他の通信装置へ送信する。一方、そのデータを受信した通信装置の検証回路160は、受信したデータ全体(即ち、桁上げしたデータと送信CRCの加算値)を複数のグループに分割し、各グループ毎に剰余値を取得し、取得した剰余値の総和を算出する。一致回路163は、各剰余値の総和と0を比較し、一致する場合、受信データに誤りがないことを示す値を、一致しない場合、受信データに誤りがあることを示す値を、それぞれ検証結果としてCPU120に出力する。CPU120は、検証結果に基づいて、受信データに誤りがあるか否かを判定する。
Alternatively, the
以下、データを複数のグループに分割し、複数のグループ毎に除数値で除算した剰余値の総和に基づいて、そのデータの剰余値を算出できる理由及び効果について説明する。 Hereinafter, the reason and the effect that the remainder value of the data can be calculated based on the sum of the remainder values obtained by dividing the data into a plurality of groups and dividing by a divisor value for each of the plurality of groups will be described.
例えば、32ビットのデータX=AABBCCDD(h)を9ビットの除数値n(但し最上位ビットが1)で除算した8ビットの剰余値を算出する場合、モジュロ2除算による剰余計算では分配則が成立するため、以下の等式(1)が成立する。なお、等式(1)において、modはモジュロ2除算による剰余を求める演算子を表す。
X mod n = AABBCCDD(h) mod n
= (AA000000(h) + 00BB0000(h) + 0000CC00(h) + 000000DD(h)) mod n
= (AA000000(h) mod n) + (00BB0000(h) mod n)
+ (0000CC00(h) mod n) + (000000DD(h) mod n) (1)
For example, when calculating the 8-bit remainder value obtained by dividing the 32-bit data X = AABBCCDD (h) by the 9-bit divisor n (where the most significant bit is 1), the modulo-two division remainder calculation has a distribution rule. Since this holds, the following equation (1) holds. In equation (1), mod represents an operator for obtaining a remainder by modulo-2 division.
X mod n = AABBCCDD (h) mod n
= (AA000000 (h) + 00BB0000 (h) + 0000CC00 (h) + 000000DD (h)) mod n
= (AA000000 (h) mod n) + (00BB0000 (h) mod n)
+ (0000CC00 (h) mod n) + (000000DD (h) mod n) (1)
したがって、データを複数のグループに分割し、複数のグループ毎に除数値で除算した剰余値の総和は、そのデータを除数値で直接除算した剰余値と等しくなる。 Therefore, the sum of the remainder values obtained by dividing the data into a plurality of groups and dividing the data by the divisor value for each of the plurality of groups is equal to the remainder value obtained by directly dividing the data by the divisor value.
例えば、32ビットのデータを9ビットの除数値で除算した8ビットの剰余値を予めテーブルに格納しておく場合、テーブルのサイズは、8ビット×(2の32乗)=約4ギガバイトとなる。CRCの生成と検証を行う通信装置では、このテーブルが2つ必要であるため、テーブルの全サイズは約8ギガバイトとなる。一方、本実施形態の通信装置100では、8ビット×(2の8乗)=256バイトのテーブルを4つ記憶しておけばよいため、テーブルの全サイズは1024バイトとなり、記憶装置110の記憶容量を大幅に低減させることができる。
For example, when an 8-bit remainder value obtained by dividing 32-bit data by a 9-bit divisor is stored in the table in advance, the size of the table is 8 bits × (2 to the power of 32) = about 4 gigabytes. . The communication device that performs CRC generation and verification requires two tables, so the total size of the table is about 8 gigabytes. On the other hand, in the
なお、8ビットのデータを9ビットの除数値で除算した場合、その剰余値は、元の8ビットのデータと同一の値となる。したがって、第1グループの各値を9ビットの除数値で除算した剰余値は、第1グループの各値と同一の値となる。そこで、第1グループに対応する第1テーブル111を省略し、分割回路131又は161が出力した第1グループの各桁値を直接加算回路132又は162に入力させてもよい。これにより、記憶装置110の記憶容量をさらに低減させるとともに、通信装置100の回路構成を単純化させることが可能となる。
When 8-bit data is divided by a 9-bit divisor, the remainder value is the same as the original 8-bit data. Therefore, the remainder value obtained by dividing each value of the first group by the divisor value of 9 bits is the same value as each value of the first group. Therefore, the first table 111 corresponding to the first group may be omitted, and each digit value of the first group output from the dividing
また、通信装置100が有する送信ポート及び受信ポートは、それぞれ1つのみに限定されず、複数でもよい。その場合、通信装置100は、送信ポートの数だけ、生成回路130及び送信回路140を有し、受信ポートの数だけ受信回路150及び検証回路160を有する。一方、通信装置100は、記憶装置110を一つのみ有し、その記憶装置110を全ての生成回路130及び検証回路160から同時にアクセス可能に構成する。その場合、各生成回路130及び各検証回路160は、一つの記憶装置110に格納された各テーブルを共用できる。したがって、通信装置100は、記憶装置のサイズ及び数を増大させることなく、送信ポート及び受信ポートの数を増大させることが可能となる。
Further, the number of transmission ports and reception ports that the
図3は、通信装置100による送信処理の動作の例を示すフローチャートである。以下、図3に示したフローチャートを参照しつつ、送信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU120により通信装置100の各要素と協働して実行される。
FIG. 3 is a flowchart illustrating an example of operation of transmission processing by the
最初に、CPU120は、送信データを生成回路130及び送信回路140に出力する(ステップS101)。次に、分割回路131は、送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS102)。次に、生成回路130は、各グループの各桁値をそれぞれ各テーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する(ステップS103)。次に、加算回路132は、各剰余値をモジュロ2加算し(ステップS104)、各剰余値の総和を送信CRCとして生成し、送信回路140に出力する(ステップS105)。次に、送信制御回路143は、送信データを送信CRCとともに、他の通信装置へ送信し(ステップS106)、一連のステップを終了する。
First, the
図4は、通信装置100による受信処理の動作の例を示すフローチャートである。以下、図4に示したフローチャートを参照しつつ、受信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU120により通信装置100の各要素と協働して実行される。
FIG. 4 is a flowchart illustrating an example of operation of reception processing by the
最初に、受信制御回路151は、他の通信装置から、受信データ及びその受信データに対する受信CRCを受信する(ステップS201)。次に、分割回路161は、受信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS202)。次に、検証回路160は、各グループの各桁値をそれぞれ各テーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する(ステップS203)。次に、加算回路162は、各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路163に出力する(ステップS204)。次に、一致回路163は、各剰余値の総和と受信CRCを比較することにより、受信データ及び受信CRCを検証し、検証結果をCPU120に出力する(ステップS205)。次に、CPU120は、受信データバッファ152から受信データを読み出すとともに、検証結果に基づいて、受信データに誤りがあるか否かを判定し(ステップS206)、一連のステップを終了する。
First, the reception control circuit 151 receives received data and a received CRC for the received data from another communication device (step S201). Next, the dividing
以上詳述したように、通信装置100は、CRCの生成時及び検証時に、剰余値を算出するためのデータを共用できるため、高速にCRCを処理しつつ、記憶装置に格納しておくデータ量をより低減させることが可能となった。これにより、記憶装置のサイズ及びコストを低減させることが可能となり、通信装置全体のサイズ及びコストを低減させることが可能となった。
As described above in detail, since the
記憶装置としてシングルポートメモリを利用した場合、同時にアクセス可能なアドレス及びデータは1セットのみであるため、CRCの生成と検証のタイミングが重なった場合に処理の遅延が発生する。一方、通信装置100は、記憶装置110としてマルチポートメモリを利用することにより、同時に異なるアドレスから記憶装置110を参照することが可能となった。したがって、通信装置100は、CRCの生成と検証のタイミングが重なった場合でも、処理の遅延が発生することを防止することが可能となった。
When a single port memory is used as a storage device, there is only one set of addresses and data that can be accessed at the same time. Therefore, processing delay occurs when CRC generation and verification timing overlap. On the other hand, the
図5及び図6は、他の実施形態に係る通信装置のハードウェア構成図示す図である。なお、図5及び図6は、同じ通信装置200のハードウェア構成図を示しており、図5では検証回路270の構成の表示を省略し、図6では生成回路240の構成の表示を省略している。
5 and 6 are diagrams illustrating a hardware configuration diagram of a communication apparatus according to another embodiment. 5 and 6 show hardware configuration diagrams of the
図5及び図6に示すように、通信装置200は、第1記憶装置210と、第2記憶装置220と、CPU230と、生成回路240と、送信回路250と、受信回路260と、検証回路270とを有する。以下、通信装置200の各部について詳細に説明する。なお、CPU230、生成回路240及び送信回路250は、それぞれ図1に示した通信装置100のCPU120、生成回路130及び送信回路140と同様であるため、詳細な説明を省略する。
As shown in FIGS. 5 and 6, the
第1記憶装置210は、第1記憶部の一例であり、ROM等のメモリ装置を有する。なお、第1記憶装置210は、レジスタにより構成されてもよい。第1記憶装置210は、マルチポートメモリであり、第1データ211、第2データ212、第3データ213及び第4データ214を保持する。第1記憶装置210では、図2に示したように、複数のグループが設定される。
The
第1データ211は、第1グループにおける最小値(00000001(h))を所定除数値で除算した剰余値である。第2データ212は、第2グループにおける最小値(00000100(h))を所定除数値で除算した剰余値である。第3データ213は、第3グループにおける最小値(00010000(h))を所定除数値で除算した剰余値である。第4データ214は、第4グループにおける最小値(01000000(h))を所定除数値で除算した剰余値である。このように、第1記憶装置210は、各グループにおける最小値を所定値で除算した剰余値をグループ毎に保持する。
The
第2記憶装置220は、第2記憶部の一例であり、ROM等のメモリ装置を有する。第2記憶装置220は、マルチポートメモリであり、第2記憶装置220には、共通テーブル221が記憶される。
The
共通テーブル221は、所定の複数の値をそれぞれ所定除数値で除算した複数の剰余値を、その複数の値のそれぞれをインデックスとして保持する。所定の複数の値は、0から、各グループの桁値の最大値の2乗までの値である。即ち、32ビットのデータを4つのグループに分割する場合、所定の複数の値は、0000(h)から(00FF(h)の2乗)までの65026個の値である。 The common table 221 holds a plurality of remainder values obtained by dividing a plurality of predetermined values by a predetermined divisor value, and each of the plurality of values is used as an index. The predetermined plural values are values from 0 to the square of the maximum value of the digit value of each group. That is, when 32-bit data is divided into four groups, the predetermined plural values are 65026 values from 0000 (h) to (the square of 00FF (h)).
生成回路240は、生成部の一例であり、分割回路241及び加算回路242を有する。さらに、生成回路240は、各グループ毎に、それぞれ第1乗算回路243、第2乗算回路244、第3乗算回路245及び第4乗算回路246を有する。
The
分割回路241は、図1に示した分割回路131と同様の回路であり、CPU230から出力された送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する。
The dividing
第1〜第4乗算回路243〜246は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する。第1〜第4乗算回路243〜246は、それぞれ、取得した剰余値と分割回路241が出力した各グループの各桁値をモジュロ2乗算することにより、乗算値を算出し、出力する。
The first to fourth multiplication circuits 243 to 246 refer to the data in the
生成回路240は、第1〜第4乗算回路243〜246が出力した各グループに係る乗算値をそれぞれ第2記憶装置220の共通テーブル221に入力し、第2記憶装置220の共通テーブル221を参照して、各乗算値に対応する剰余値を取得する。生成回路240は、共通テーブル221を参照し、各乗算値をインデックスとして、各乗算値を所定除数値で除算した剰余値を取得する。
The
加算回路242は、図1に示した加算回路132と同様の回路であり、共通テーブル221を参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を送信CRCとして生成し、送信回路250に出力する。
The
検証回路270は、検証部の一例であり、分割回路271、加算回路272及び一致回路273を有する。さらに、検証回路270は、各グループ毎に、それぞれ第5乗算回路274、第6乗算回路275、第7乗算回路276及び第8乗算回路277を有する。
The
分割回路271は、生成回路240の分割回路241と同様の回路であり、受信データバッファ262から受信データを読み出し、受信データに基づく値を複数のグループに分割し、各グループの有効桁の桁値を出力する。
The
第5〜第8乗算回路274〜277は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する。第5〜第8乗算回路274〜277は、それぞれ、取得した剰余値と分割回路271が出力した各グループの有効桁の桁値をモジュロ2乗算することにより、乗算値を算出し、出力する。
The fifth to eighth multiplier circuits 274 to 277 each refer to the data in the
上述したように、第1記憶装置210は、マルチポートメモリであり、送信CRCの生成時及び受信CRCの検証時に生成回路240及び検証回路270から同時に参照可能である。したがって、通信装置200は、チェックコードの生成時及び検証時に各データを共用できるため、第1記憶装置210に保持しておくデータのサイズを低減させることが可能となる。
As described above, the
検証回路270は、第5〜第8乗算回路274〜277が出力した各グループに係る乗算値をそれぞれ第2記憶装置220の共通テーブル221に入力し、第2記憶装置220の共通テーブル221を参照して、各乗算値に対応する剰余値を取得する。検証回路270は、共通テーブル221を参照し、各乗算値をインデックスとして、各乗算値を所定除数値で除算した剰余値を取得する。
The
上述したように、第2記憶装置220は、マルチポートメモリであり、送信CRCの生成時及び受信CRCの検証時に生成回路240及び検証回路270から同時に参照可能である。さらに、第2記憶装置220は、生成回路240及び検証回路270から複数のグループについて同時に参照可能である。したがって、通信装置200は、チェックコードの生成時及び検証時に各テーブルを共用できるため、第2記憶装置220に保持しておくテーブルのサイズを低減させることが可能となる。
As described above, the
加算回路272は、生成回路240の加算回路242と同様の回路であり、共通テーブル221を参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路273に出力する。
The adder circuit 272 is a circuit similar to the
一致回路273は、図1に示した一致回路163と同様の回路であり、加算回路272から出力された各剰余値の総和に基づいて受信データ及び受信CRCを検証する。
The
以下、データを複数のグループに分割し、各グループにおける最小値を除数値で除算した剰余値と各グループの有効桁の桁値の乗算値を、除数値で除算した剰余値の総和に基づいて、そのデータの剰余値を算出できる理由及び効果について説明する。 Hereinafter, the data is divided into a plurality of groups, and the product of the remainder value obtained by dividing the minimum value in each group by the divisor value and the digit value of the significant digit of each group is based on the sum of the remainder values divided by the divisor value. The reason and effect that the remainder value of the data can be calculated will be described.
例えば、32ビットのデータX=AABBCCDD(h)を9ビットの除数値n(但し最上位ビットが1)で除算した8ビットの剰余値を算出する場合、モジュロ2除算による剰余計算では分配則が成立するため、以下の等式(2)が成立する。なお、等式(2)において、modはモジュロ2除算による剰余を求める演算子を表す。
X mod n = AABBCCDD(h) mod n
= (AA000000(h) + 00BB0000(h) + 0000CC00(h) + 000000DD(h)) mod n
= (AA000000(h) mod n) + (00BB0000(h) mod n)
+ (0000CC00(h) mod n) + (000000DD(h) mod n)
= ((AA(h) * 01000000(h)) mod n) + ((BB(h) * 00010000(h)) mod n)
+ ((CC(h) * 00000100(h)) mod n) + ((DD(h) * 00000001(h)) mod n) (2)
For example, when calculating the 8-bit remainder value obtained by dividing the 32-bit data X = AABBCCDD (h) by the 9-bit divisor n (where the most significant bit is 1), the modulo-two division remainder calculation has a distribution rule. Since this holds, the following equation (2) holds. In equation (2), mod represents an operator for obtaining a remainder by modulo-2 division.
X mod n = AABBCCDD (h) mod n
= (AA000000 (h) + 00BB0000 (h) + 0000CC00 (h) + 000000DD (h)) mod n
= (AA000000 (h) mod n) + (00BB0000 (h) mod n)
+ (0000CC00 (h) mod n) + (000000DD (h) mod n)
= ((AA (h) * 01000000 (h)) mod n) + ((BB (h) * 00010000 (h)) mod n)
+ ((CC (h) * 00000100 (h)) mod n) + ((DD (h) * 00000001 (h)) mod n) (2)
ここで、データS,Tについて、S,Tをそれぞれ除数値nで除算した商をQs,Qtとし、剰余値をRs,Rtとすると、S = Qs * n + Rs、T = Qt * n + Qsと表せる。このSとTの乗算値を除数値nで除算した剰余値について、以下の等式(3)が成立する。即ち、SとTの乗算値を除数値nで除算した剰余値は、Sを除数値nで除算した剰余値とTを除数値nで除算した剰余値の乗算値を、除数値nで除算した剰余値と等しくなる。
(S * T) mod n = ((Qs * n + Rs) * (Qt * n + Rt)) mod n
= (((Qs * Qt * n + Qs * Rt + Rs * Qt) * n) + (Rs * Rt)) mod n
= (Rs * Rt) mod n
= ((S mod n) * (T mod n)) mod n (3)
Here, for data S and T, if the quotient obtained by dividing S and T by the divisor value n is Qs and Qt, and the remainder is Rs and Rt, S = Qs * n + Rs, T = Qt * n + It can be expressed as Qs. The following equation (3) is established for the remainder value obtained by dividing the multiplication value of S and T by the divisor value n. In other words, the remainder value obtained by dividing the multiplication value of S and T by the divisor value n is obtained by dividing the multiplication value of the remainder value obtained by dividing S by the divisor value n and the remainder value obtained by dividing T by the divisor value n by the divisor value n. Is equal to the remainder value.
(S * T) mod n = ((Qs * n + Rs) * (Qt * n + Rt)) mod n
= (((Qs * Qt * n + Qs * Rt + Rs * Qt) * n) + (Rs * Rt)) mod n
= (Rs * Rt) mod n
= ((S mod n) * (T mod n)) mod n (3)
したがって、等式(2)は、以下の等式(4)のように変形できる。
X mod n = (((AA(h) mod n) * (01000000(h) mod n)) mod n)
+ (((BB(h) mod n) * (00010000(h) mod n)) mod n)
+ (((CC(h) mod n) * (00000100(h) mod n)) mod n)
+ (((DD(h) mod n) * (00000001(h) mod n)) mod n) (4)
Therefore, equation (2) can be transformed into equation (4) below.
X mod n = (((AA (h) mod n) * (01000000 (h) mod n)) mod n)
+ (((BB (h) mod n) * (00010000 (h) mod n)) mod n)
+ (((CC (h) mod n) * (00000100 (h) mod n)) mod n)
+ (((DD (h) mod n) * (00000001 (h) mod n)) mod n) (4)
ここで、nは9ビットの除数値であるから、(AA(h) mod n)、((BB(h) mod n)、((CC(h) mod n)、((DD(h) mod n)は、それぞれAA(h)、BB(h)、CC(h)、DD(h)と等しくなる。したがって、等式(4)は、以下の等式(5)のように変形できる。
X mod n = ((AA(h) * (01000000(h) mod n)) mod n)
+ ((BB(h) * (00010000(h) mod n)) mod n)
+ ((CC(h) * (00000100(h) mod n)) mod n)
+ ((DD(h) * (00000001(h) mod n)) mod n) (5)
Here, since n is a 9-bit divisor value, (AA (h) mod n), ((BB (h) mod n), ((CC (h) mod n), ((DD (h) mod n) is equal to AA (h), BB (h), CC (h), and DD (h), respectively, so equation (4) can be transformed into equation (5) below.
X mod n = ((AA (h) * (01000000 (h) mod n)) mod n)
+ ((BB (h) * (00010000 (h) mod n)) mod n)
+ ((CC (h) * (00000100 (h) mod n)) mod n)
+ ((DD (h) * (00000001 (h) mod n)) mod n) (5)
したがって、データを複数のグループに分割し、各グループにおける最小値を除数値で除算した剰余値と各グループの有効桁の桁値の乗算値を除数値で除算した剰余値の総和は、そのデータを除数値で直接除算した剰余値と等しくなる。 Therefore, when the data is divided into multiple groups, the sum of the remainder value obtained by dividing the minimum value in each group by the divisor value and the product of the significant digits of each group divided by the divisor value is the data. Is equal to the remainder obtained by directly dividing by the divisor value.
上記したように、32ビットのデータを9ビットの除数値で除算した8ビットの剰余値を予めテーブルに格納しておく場合、テーブルのサイズは、8ビット×(2の32乗)=約4ギガバイトとなる。CRCの生成と検証を行う通信装置では、このテーブルが2つ必要であるため、テーブルの全サイズは約8ギガバイトとなる。一方、本実施形態の通信装置200では、テーブルのサイズは8ビット×(2の16乗)=約65キロバイトとなり、第2記憶装置220の記憶容量を大幅に低減させることができる。
As described above, when an 8-bit remainder value obtained by dividing 32-bit data by a 9-bit divisor is stored in the table in advance, the size of the table is 8 bits × (2 to the 32nd power) = about 4 Gigabytes. The communication device that performs CRC generation and verification requires two tables, so the total size of the table is about 8 gigabytes. On the other hand, in the
また、モジュロ2乗算は、シフト演算と排他的論理和演算により演算され且つ繰上がりがないため、上位桁の演算結果が下位桁の演算に影響を与えるモジュロ2除算より高速に処理される。したがって、通信装置200は、CRCを、除算演算によって生成及び検証する場合よりも高速に、生成及び検証することができる。
In addition, modulo-2 multiplication is performed by a shift operation and exclusive OR operation and there is no carry, so that the operation result of the upper digit is processed at a higher speed than the modulo-2 division that affects the operation of the lower digit. Therefore, the
なお、通信装置100について示した各変形例は、通信装置200に対しても同様に適用することが可能である。
Note that each modification shown for the
特に、通信装置200において、第1グループに対応する第1データ211を省略し、分割回路241又は271が出力した第1グループの各桁値を直接共通テーブル221のインデックスとして用いてもよい。これにより、第1記憶装置210の記憶容量をさらに低減させるとともに、通信装置200の回路構成を単純化させることが可能となる。
In particular, in the
また、共通テーブル221は、通信装置100の第1〜第4テーブル111〜114と同様に、複数のグループに分割されてもよい。例えば、共通テーブル221は、第0〜第7ビットを有効桁とする第1’グループと、第8〜第15ビットを有効桁とする第2’グループに分割される。
Further, the common table 221 may be divided into a plurality of groups, similarly to the first to fourth tables 111 to 114 of the
その場合、生成回路240は、第1〜第4乗算回路243〜246がそれぞれ出力した乗算値をそれぞれ二つのグループに分割し、各グループの有効桁の桁値を出力する分割回路を更に有する。生成回路240は、その各分割回路が出力した各グループの各桁値をそれぞれ第1’グループのテーブルと第2’グループのテーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。そして、生成回路240は、取得した全ての剰余値を加算回路242に入力する。
In that case, the
検証回路270も生成回路240と同様に、第5〜第8乗算回路274〜277がそれぞれ出力した乗算値をそれぞれ二つのグループに分割し、各グループの有効桁の桁値を出力する分割回路を更に有する。検証回路270は、その各分割回路が出力した各グループの各桁値をそれぞれ第1’グループのテーブルと第2’グループのテーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。そして、検証回路270は、取得した全ての剰余値を加算回路272に入力する。
Similarly to the
この場合、通信装置200は、256バイトのテーブルを2つ記憶しておけばよいため、テーブルの全サイズは512バイトとなり、第2記憶装置220の記憶容量をさらに低減させることができる。
In this case, since the
さらに、第1’グループに対応するテーブルを省略し、新たに追加した各分割回路が出力した第1’グループの各桁値を直接、加算回路242又は272に入力してもよい。この場合、テーブルの全サイズは256バイトとなり、第2記憶装置220の記憶容量をさらに低減させることができ、通信装置200の回路構成を単純化させることもできる。
Further, the table corresponding to the first 'group may be omitted, and each digit value of the first' group output by each newly added division circuit may be directly input to the adding
図7は、通信装置200による送信処理の動作の例を示すフローチャートである。以下、図7に示したフローチャートを参照しつつ、送信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU230により通信装置200の各要素と協働して実行される。
FIG. 7 is a flowchart illustrating an example of operation of transmission processing by the
最初に、CPU230は、送信データを生成回路240及び送信回路250に出力する(ステップS301)。次に、分割回路241は、送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS302)。次に、第1〜第4乗算回路243〜246は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する(ステップS303)。次に、第1〜第4乗算回路243〜246は、それぞれ、取得した剰余値と分割回路241が出力した各グループの各桁値をモジュロ2乗算することにより、乗算値を算出する(ステップS304)。次に、生成回路240は、各グループに係る乗算値をそれぞれ共通テーブル221に入力し、共通テーブル221を参照して、各乗算値に対応する剰余値を取得する(ステップS305)。次に、加算回路242は、各剰余値をモジュロ2加算し(ステップS306)、各剰余値の総和を送信CRCとして生成し、送信回路250に出力する(ステップS307)。次に、送信制御回路253は、送信データを送信CRCとともに、他の通信装置へ送信し(ステップS308)、一連のステップを終了する。
First, the
図8は、通信装置200による受信処理の動作の例を示すフローチャートである。以下、図8に示したフローチャートを参照しつつ、受信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU230により通信装置200の各要素と協働して実行される。
FIG. 8 is a flowchart illustrating an example of operation of reception processing by the
最初に、受信制御回路261は、他の通信装置から、受信データ及びその受信データに対する受信CRCを受信する(ステップS401)。次に、分割回路271は、受信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS402)。次に、第5〜第8乗算回路274〜277は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する(ステップS403)。次に、第5〜第8乗算回路274〜277は、それぞれ、取得した剰余値と各グループの有効桁の桁値をモジュロ2乗算することにより、乗算値を算出する(ステップS404)。次に、検証回路270は、各グループに係る乗算値をそれぞれ各テーブルに入力し、各グループ毎に各テーブルを参照して、各乗算値に対応する剰余値を取得する(ステップS405)。次に、加算回路272は、各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路273に出力する(ステップS406)。次に、一致回路273は、各剰余値の総和と受信CRCを比較することにより、受信データ及び受信CRCを検証し、検証結果をCPU230に出力する(ステップS407)。次に、CPU230は、検証結果に基づいて、受信データに誤りがあるか否かを判定し(ステップS408)、一連のステップを終了する。
First, the
以上詳述したように、通信装置200は、CRCの生成時及び検証時に、剰余値を算出するためのデータを共用できるため、高速にCRCを処理しつつ、記憶装置に格納しておくデータ量をさらに低減させることが可能となった。これにより、記憶装置のサイズ及びコストを低減させることが可能となり、通信装置全体のサイズ及びコストを低減させることが可能となった。
As described above in detail, since the
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、通信装置200において、第1記憶装置210はマルチポートメモリとせずに、通信装置200は、生成回路240用の第1記憶装置と、検証回路270用の第1記憶装置を別個に有してもよい。
The preferred embodiments of the present invention have been described above, but the present invention is not limited to these embodiments. For example, in the
また、本発明を適用可能な装置は、通信装置に限定されず、本発明は、例えばハードディスクドライブ等を有し、データの書込みと読出しを同時に行う情報処理装置のように、チェックコードの生成と検証を同時に行う他の装置に適用することも可能である。 An apparatus to which the present invention can be applied is not limited to a communication apparatus, and the present invention can generate a check code such as an information processing apparatus having a hard disk drive or the like and simultaneously writing and reading data. It is also possible to apply to other devices that perform verification at the same time.
100、200 通信装置
110 記憶装置
120、230 CPU
130、240 生成回路
140、250 送信回路
150、260 受信回路
160、270 検証回路
210 第1記憶装置
220 第2記憶装置
100, 200
130, 240
Claims (8)
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値を前記グループ毎に保持する記憶部と、
送信データを前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、
前記送信データを前記送信チェックコードとともに送信する送信部と、
受信データ及び前記受信データに対する受信チェックコードを受信する受信部と、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証する検証部と、を有し、
前記記憶部は、前記生成部及び前記検証部から同時に参照可能である、
ことを特徴とする通信装置。 A communication device for communicating transmission data and reception data having a predetermined digit,
A plurality of groups composed of a plurality of values in which a part of the predetermined digits is a valid digit and a digit other than the valid digits is 0 are set, and a plurality of values included in each group are respectively set to a predetermined value. A storage unit for holding a plurality of divided remainder values for each group;
A generation unit that divides transmission data into the plurality of groups, acquires the remainder value with reference to the storage unit for each of the plurality of groups, and generates a transmission check code based on a sum of the obtained remainder values; ,
A transmission unit for transmitting the transmission data together with the transmission check code;
A receiving unit for receiving the received data and a reception check code for the received data;
A value based on the received data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups with reference to the storage unit, and the received data and the received data based on a sum of the obtained remainder values A verification unit for verifying the reception check code,
The storage unit can be referred to simultaneously from the generation unit and the verification unit.
A communication device.
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値を前記グループ毎に保持する第1記憶部と、
所定の複数の値をそれぞれ前記所定値で除算した複数の剰余値を保持する第2記憶部と、
送信データを前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、
前記送信データを前記送信チェックコードとともに送信する送信部と、
受信データ及び前記受信データに対する受信チェックコードを受信する受信部と、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証する検証部と、を有し、
前記第2記憶部は、前記生成部及び前記検証部から前記複数のグループについて同時に参照可能である、
ことを特徴とする通信装置。 A communication device for communicating transmission data and reception data having a predetermined digit,
A remainder value obtained by setting a plurality of groups composed of a plurality of values in which a part of the predetermined digits is a significant digit and a digit other than the significant digits is 0, and a minimum value in each group is divided by a predetermined value A first storage unit for storing each group,
A second storage unit for holding a plurality of remainder values obtained by dividing a plurality of predetermined values by the predetermined value,
The transmission data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups by referring to the first storage unit, and the obtained remainder value is multiplied by the significant digit value of each group. A generation unit that calculates a value, obtains a remainder value corresponding to the multiplication value with reference to the second storage unit, and generates a transmission check code based on a sum of the obtained remainder values;
A transmission unit for transmitting the transmission data together with the transmission check code;
A receiving unit for receiving the received data and a reception check code for the received data;
The value based on the received data is divided into the plurality of groups, and for each of the plurality of groups, the remainder value is obtained by referring to the first storage unit, and the obtained remainder value and the significant digits of each group are obtained. A multiplication value of a digit value is calculated, a remainder value corresponding to the multiplication value is obtained with reference to the second storage unit, and the reception data and the reception check code are verified based on the sum of the obtained remainder values And a verification unit
The second storage unit can simultaneously refer to the plurality of groups from the generation unit and the verification unit.
A communication device.
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値を前記グループ毎に前記記憶部に保持し、
送信データを前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて送信チェックコードを生成し、
前記送信データを前記送信チェックコードとともに送信し、
受信データ及び前記受信データに対する受信チェックコードを受信し、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証することを含み、
前記記憶部は、前記生成及び前記検証において同時に参照可能である、
ことを特徴とする制御方法。 A control method of a communication device having a storage unit and communicating transmission data and reception data having a predetermined digit,
A plurality of groups composed of a plurality of values in which a part of the predetermined digits is a valid digit and a digit other than the valid digits is 0 are set, and a plurality of values included in each group are respectively set to a predetermined value. A plurality of divided remainder values are held in the storage unit for each group,
Dividing the transmission data into the plurality of groups, obtaining the remainder value with reference to the storage unit for each of the plurality of groups, generating a transmission check code based on the sum of the obtained remainder values;
Transmitting the transmission data together with the transmission check code;
Receiving the received data and a reception check code for the received data;
A value based on the received data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups with reference to the storage unit, and the received data and the received data based on a sum of the obtained remainder values Including verifying the received check code,
The storage unit can be referred to at the same time in the generation and the verification.
A control method characterized by that.
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値を前記グループ毎に前記第1記憶部に保持し、
所定の複数の値をそれぞれ前記所定値で除算した複数の剰余値を前記第2記憶部に保持し、
送信データを前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成し、
前記送信データを前記送信チェックコードとともに送信し、
受信データ及び前記受信データに対する受信チェックコードを受信し、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証することを含み、
前記第2記憶部は、前記生成及び前記検証において前記複数のグループについて同時に参照可能である、
ことを特徴とする制御方法。 A control method for a communication apparatus that includes a first storage unit and a second storage unit and communicates transmission data and reception data having a predetermined digit,
A remainder value obtained by setting a plurality of groups composed of a plurality of values in which a part of the predetermined digits is a significant digit and a digit other than the significant digits is 0, and a minimum value in each group is divided by a predetermined value Is stored in the first storage unit for each group,
Holding a plurality of remainder values obtained by dividing a plurality of predetermined values by the predetermined value in the second storage unit;
The transmission data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups by referring to the first storage unit, and the obtained remainder value is multiplied by the significant digit value of each group. Calculating a value, obtaining a remainder value corresponding to the multiplication value with reference to the second storage unit, and generating a transmission check code based on the sum of the obtained remainder values;
Transmitting the transmission data together with the transmission check code;
Receiving the received data and a reception check code for the received data;
The value based on the received data is divided into the plurality of groups, and for each of the plurality of groups, the remainder value is obtained by referring to the first storage unit, and the obtained remainder value and the significant digits of each group are obtained. A multiplication value of a digit value is calculated, a remainder value corresponding to the multiplication value is obtained with reference to the second storage unit, and the reception data and the reception check code are verified based on the sum of the obtained remainder values Including
The second storage unit can simultaneously refer to the plurality of groups in the generation and the verification.
A control method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015058621A JP6351530B2 (en) | 2015-03-20 | 2015-03-20 | Communication apparatus and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015058621A JP6351530B2 (en) | 2015-03-20 | 2015-03-20 | Communication apparatus and control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016178551A true JP2016178551A (en) | 2016-10-06 |
JP6351530B2 JP6351530B2 (en) | 2018-07-04 |
Family
ID=57070406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015058621A Expired - Fee Related JP6351530B2 (en) | 2015-03-20 | 2015-03-20 | Communication apparatus and control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6351530B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001168730A (en) * | 1999-12-07 | 2001-06-22 | Hitachi Ltd | Data transmitter-receiver |
JP2008011025A (en) * | 2006-06-28 | 2008-01-17 | Fujitsu Ltd | Remainder calculation apparatus for cyclic redundancy check |
JP5260077B2 (en) * | 2008-02-15 | 2013-08-14 | 太陽誘電株式会社 | Programmable logic device and its construction method and its use |
-
2015
- 2015-03-20 JP JP2015058621A patent/JP6351530B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001168730A (en) * | 1999-12-07 | 2001-06-22 | Hitachi Ltd | Data transmitter-receiver |
JP2008011025A (en) * | 2006-06-28 | 2008-01-17 | Fujitsu Ltd | Remainder calculation apparatus for cyclic redundancy check |
JP5260077B2 (en) * | 2008-02-15 | 2013-08-14 | 太陽誘電株式会社 | Programmable logic device and its construction method and its use |
Also Published As
Publication number | Publication date |
---|---|
JP6351530B2 (en) | 2018-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040341B (en) | Intelligent contract address generation method and device, computer equipment and readable storage medium | |
CN102096609A (en) | Instruction-set architecture for programmable cyclic redundancy check (CRC) computations | |
JP2012519987A (en) | System for establishing a cryptographic key that depends on a physical system | |
CN108768656B (en) | Data verification method based on Hash algorithm | |
TWI283972B (en) | Obtaining cyclic redundancy code | |
CN107239362B (en) | Parallel CRC (Cyclic redundancy check) code calculation method and system | |
JP6044738B2 (en) | Information processing apparatus, program, and storage medium | |
CN109495266B (en) | Data encryption method and device based on random number | |
CN108959168B (en) | SHA512 full-flow water circuit based on-chip memory and implementation method thereof | |
WO2011103741A1 (en) | Method and device for data check processing | |
JP7116374B2 (en) | Reduced Latency Error Correction Decoding | |
Pedersen et al. | Network coding over the 2 32− 5 prime field | |
CN101207467B (en) | Generation of cyclic redundancy check code as well as method and apparatus for sending and testing data sequence | |
US8683291B2 (en) | High throughput frame check sequence module architecture | |
KR101391725B1 (en) | Device and method structuring generation matrix for a linear block coding, coding and decoding devices using the matrix | |
JP6351530B2 (en) | Communication apparatus and control method | |
CN113721986B (en) | Data compression method and device, electronic equipment and storage medium | |
CN110287716B (en) | Data storage method and device | |
CN114389752A (en) | Cyclic redundancy check code generation method, apparatus, device, medium, and program product | |
KR102353983B1 (en) | How to arrange an algorithm in Cyclic Redundancy Check (CRC) | |
KR101655809B1 (en) | Method and Apparatus for Cyclic Redundancy Check Calculation by Using Multiple Look Up Table | |
CN116484443B (en) | Trusted security storage method and device based on hong Monte-go system | |
CN117353926B (en) | SM2 algorithm password processing method, device and equipment based on chip | |
TWI835381B (en) | Apparatus for detecting errors during data encryption | |
CN108599912A (en) | A kind of method, apparatus, electronic equipment and storage medium generating pilot tone pattern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170407 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180330 |
|
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: 20180508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6351530 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |