JP5269610B2 - ユーザレベル命令に応じた巡回冗長検査演算の実行 - Google Patents
ユーザレベル命令に応じた巡回冗長検査演算の実行 Download PDFInfo
- Publication number
- JP5269610B2 JP5269610B2 JP2008547301A JP2008547301A JP5269610B2 JP 5269610 B2 JP5269610 B2 JP 5269610B2 JP 2008547301 A JP2008547301 A JP 2008547301A JP 2008547301 A JP2008547301 A JP 2008547301A JP 5269610 B2 JP5269610 B2 JP 5269610B2
- Authority
- JP
- Japan
- Prior art keywords
- crc
- data
- register
- processor
- purpose processor
- 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.)
- Active
Links
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 21
- 239000000872 buffer Substances 0.000 claims description 20
- 238000007667 floating Methods 0.000 claims description 2
- 230000004931 aggregating effect Effects 0.000 claims 2
- 230000015654 memory Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/093—CRC update after modification of the information word
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/095—Error detection codes other than CRC and single parity bit codes
- H03M13/096—Checksums
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/157—Polynomial evaluation, i.e. determination of a polynomial sum at a given value
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Executing Machine-Instructions (AREA)
- Mobile Radio Communication Systems (AREA)
- Advance Control (AREA)
Description
判断ブロック130において、他のソースデータはないと判断された場合、ブロック140に進む。ここで、チェックサム演算の結果が現在値(例えば、ランニング剰余)として、デスティネーションレジスタに記憶される(ブロック140)。上記の通り、このチェックサム値は様々に利用される。例えば、受信データの場合、データが正しく受信されたか確認するために、計算したチェックサムを受信したチェックサムと比較する。送信時には、チェックサムを送信データに付加し、受信側でそのデータを確認できるようにする。もちろん、チェックサムは、ハッシュ関数や擬似乱数の発生(generation of numbers pursuant to a pseudo random numbering scheme)その他の用途にも使用できる。
これらのユーザレベル命令を実施する異なる方法もあるが、以下の表2乃至6は、表1の各ユーザレベル命令のハードウェア実装の擬似コード表示を示している。
Claims (23)
- プロセッサにおいて入来データを受け取る段階と、
チェックサム演算のユーザレベル命令に応じて、前記プロセッサのパイプラインにおいて、前記入来データに前記チェックサム演算を実行する段階と
を含み、
前記プロセッサは汎用プロセッサを含む
方法。 - 前記チェックサム演算は巡回冗長検査演算を含む、請求項1に記載の方法。
- 前記プロセッサのハードウェアエンジンにより前記チェックサム演算を実行する段階をさらに含み、前記プロセッサは汎用プロセッサを含む、請求項1に記載の方法。
- 前記ユーザレベル命令に応じて前記ハードウェアエンジンにおいて多項式の除法演算を実行する段階をさらに含む、請求項3に記載の方法。
- 前記ハードウェアエンジンはソースレジスタとデスティネーションレジスタに結合した排他的論理和ツリーを含む、請求項3に記載の方法。
- さらに、
前記ソースレジスタから前記入来データと、及び前記デスティネーションレジスタの少なくとも一部に記憶された現在値とを、前記排他的論理和ツリーに入力する段階と、
前記入来データと前記現在値とを用いて前記排他的論理和ツリーにおいて前記チェックサム演算を実行する段階と、
前記排他的論理和ツリーの出力を前記デスティネーションレジスタに記憶する段階とを含む、請求項5に記載の方法。 - 前記排他的論理和ツリーの出力は前記チェックサム演算のランニング剰余に一致する、請求項6に記載の方法。
- 前記入来データを前記ソースレジスタに供給するバッファが空であるとき、前記ランニング剰余をチェックサムとして使用する段階をさらに有す、請求項7に記載の方法。
- さらに、
前記入来データを前記プロセッサのソースレジスタにロードする段階と、
前記入来データを反転する段階と、
前記反転した入来データとデスティネーションレジスタからの反転したデータに少なくとも1回の排他的論理和演算を実行し、前記少なくとも1回の排他的論理和演算の結果を反転順に前記デスティネーションレジスタに格納する段階とを含む、請求項1に記載の方法。 - ルックアップテーブル情報を用いずに、前記入来データと剰余値とを用いて前記プロセッサの論理ブロックにおいて前記チェックサム演算を実行する段階をさらに有する、請求項1に記載の方法。
- 汎用プロセッサであって、
ソースデータを記憶する第1のレジスタと、
結果データを記憶する第2のレジスタと、
前記第1のレジスタと前記第2のレジスタに結合した前記汎用プロセッサの実行ユニットであって、前記ソースデータと前記結果データを用いて巡回冗長検査(CRC)演算を実行し、前記第2のレジスタに前記CRC演算のランニング剰余に対応する前記実行ユニットの出力の少なくとも一部を供給する実行ユニットとを有し、
前記実行ユニットはユーザレベル命令に応じて前記CRC演算を実行する、汎用プロセッサ。 - 前記実行ユニットは汎用プロセッサパイプラインの排他的論理和(XOR)ツリーロジックを含む、請求項11に記載の汎用プロセッサ。
- 前記XORツリーロジックは一定の多項式により多項式除算を実行する、請求項12に記載の汎用プロセッサ。
- それぞれがあるサイズのデータに前記CRC演算を実行する複数のロジックブロックを有する、プロセッサパイプラインの整数ユニットを前記実行ユニットが有する、請求項11に記載の汎用プロセッサ。
- ユーザレベル命令は前記CRC演算を実行するデータのサイズを示す、請求項14に記載の汎用プロセッサ。
- 機械に実行されたとき、前記機械に、
第1のレジスタのソースオペランドと第2のレジスタのデスティネーションオペランドからプロセッサのパイプラインの専用実行ユニットに巡回冗長検査(CRC)値を集積する段階と、
前記集積したCRC値を前記第2のレジスタに記憶する段階と、
別のデータを前記CRCにかけるか判断する段階と、
別のデータを前記CRCにかけるとき、前記CRCにかけるデータが無くなるまで、前記CRC値を増加的に集積し、増加的に集積したCRC値を前記第2のレジスタに記憶する段階と
を含む方法を実行させる命令を含む機械読み取り可能記憶媒体。 - 前記方法は、さらに、前記CRC用の前記プロセッサの命令セットアーキテクチャの命令に応じて前記CRC値を集積する段階を有する、請求項16に記載の機械読み取り可能記憶媒体。
- 前記方法は、前記ソースオペランドのサイズに基づき前記専用実行ユニットの複数部分の1つに前記CRCを集積する段階を有し、前記命令は前記ソースオペランドのサイズを示す、請求項17に記載の機械読み取り可能記憶媒体。
- 命令セットアーキテクチャ(ISA)の命令に応じて演算を実行する第1と第2の実行ユニットを含む汎用プロセッサであって、前記第1の実行ユニットは巡回冗長検査(CRC)演算を実行するハードウェアエンジンを含み、前記汎用プロセッサは、ソースオペランドを前記ハードウェアエンジンに供給する第1のレジスタと、デスティネーションオペランドを前記ハードウェアエンジンに供給する第2のレジスタとをさらに含む汎用プロセッサと、
前記汎用プロセッサに結合したダイナミックランダムアクセスメモリ(DRAM)とを有し、
前記汎用プロセッサは、データを前記第1のレジスタに供給するバッファを含み、
前記ハードウェアエンジンは、CRC演算のための前記ISAの命令に応じて、前記バッファが空になるまで、前記データに前記CRC演算を実行する、
システム。 - 前記第1の実行ユニットは整数ユニットを有し、前記第2の実行ユニットは浮動小数点ユニットを有する、請求項19に記載のシステム。
- 前記ハードウェアエンジンは、前記第2のレジスタに前記CRC演算のランニング剰余を供給する、請求項19に記載のシステム。
- 前記ハードウェアエンジンは、それぞれが異なるサイズのデータにCRC演算を実行する複数の論理ブロックを含む、請求項19に記載のシステム。
- 前記ハードウェアエンジンは、前記データサイズの前記CRC演算のための前記ISAの命令に応じて、前記CRC演算を実行するデータサイズに対応する前記複数の論理ブロックの1つにデータを供給する、請求項22に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/316,772 | 2005-12-23 | ||
US11/316,772 US7958436B2 (en) | 2005-12-23 | 2005-12-23 | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
PCT/US2006/047234 WO2007078672A2 (en) | 2005-12-23 | 2006-12-07 | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009521059A JP2009521059A (ja) | 2009-05-28 |
JP5269610B2 true JP5269610B2 (ja) | 2013-08-21 |
Family
ID=38195339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008547301A Active JP5269610B2 (ja) | 2005-12-23 | 2006-12-07 | ユーザレベル命令に応じた巡回冗長検査演算の実行 |
Country Status (6)
Country | Link |
---|---|
US (17) | US7958436B2 (ja) |
JP (1) | JP5269610B2 (ja) |
CN (2) | CN102708022B (ja) |
DE (1) | DE112006003298B4 (ja) |
TW (1) | TWI360047B (ja) |
WO (1) | WO2007078672A2 (ja) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958436B2 (en) * | 2005-12-23 | 2011-06-07 | Intel Corporation | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
US8229109B2 (en) * | 2006-06-27 | 2012-07-24 | Intel Corporation | Modular reduction using folding |
US7827471B2 (en) * | 2006-10-12 | 2010-11-02 | Intel Corporation | Determining message residue using a set of polynomials |
US7852851B2 (en) * | 2006-11-10 | 2010-12-14 | Broadcom Corporation | Method and system for hash table based routing via a prefix transformation |
US8689078B2 (en) | 2007-07-13 | 2014-04-01 | Intel Corporation | Determining a message residue |
US7886214B2 (en) * | 2007-12-18 | 2011-02-08 | Intel Corporation | Determining a message residue |
US8042025B2 (en) * | 2007-12-18 | 2011-10-18 | Intel Corporation | Determining a message residue |
GB2458665B (en) * | 2008-03-26 | 2012-03-07 | Advanced Risc Mach Ltd | Polynomial data processing operation |
CN101527615A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种循环冗余校验crc码的实现方法和装置 |
US8543888B2 (en) * | 2009-06-09 | 2013-09-24 | Microchip Technology Incorporated | Programmable cyclic redundancy check CRC unit |
US8117496B2 (en) * | 2009-06-18 | 2012-02-14 | International Business Machines Corporation | Detecting and recovering from silent data errors in application cloning systems |
US8464125B2 (en) | 2009-12-10 | 2013-06-11 | Intel Corporation | Instruction-set architecture for programmable cyclic redundancy check (CRC) computations |
US8683307B2 (en) * | 2011-05-27 | 2014-03-25 | International Business Machines Corporation | Checksum calculation, prediction and validation |
CN103795502B (zh) * | 2014-02-28 | 2017-04-12 | 杭州华三通信技术有限公司 | 一种数据帧校验码生成方法和装置 |
CN103984530B (zh) * | 2014-05-15 | 2016-08-17 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种提高store指令执行效率的流水线结构及方法 |
CN104133736A (zh) * | 2014-07-29 | 2014-11-05 | 江苏宏云技术有限公司 | 一种矢量crc校验指令的设计方法 |
US9829899B2 (en) | 2014-11-10 | 2017-11-28 | Duke Energy Corporation | Apparatuses including utility meter, power electronics, and communications circuitry, and related methods of operation |
US20160191678A1 (en) * | 2014-12-27 | 2016-06-30 | Jesse C. Brandeburg | Technologies for data integrity of multi-network packet operations |
US10797722B2 (en) * | 2016-06-10 | 2020-10-06 | The Boeing Company | System and method for providing hardware based fast and secure expansion and compression functions |
US10255132B2 (en) * | 2016-06-22 | 2019-04-09 | Advanced Micro Devices, Inc. | System and method for protecting GPU memory instructions against faults |
CN107145334B (zh) * | 2017-04-26 | 2020-10-09 | 龙芯中科技术有限公司 | 常量获取方法、装置、处理器及计算机可读存储介质 |
CN107544863B (zh) * | 2017-06-26 | 2021-07-20 | 新华三技术有限公司 | 一种数据存储方法及装置 |
DE102017212181A1 (de) * | 2017-07-17 | 2019-01-17 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Bestimmen von Prüfsummen, Pufferspeicher und Prozessor |
WO2019047788A1 (zh) | 2017-09-08 | 2019-03-14 | 华为技术有限公司 | 编码方法及装置 |
US10594439B2 (en) | 2017-09-08 | 2020-03-17 | Huawei Technologies Co., Ltd. | Channel encoding method and apparatus in wireless communications to output a polar encoded bit sequence |
CN107943611B (zh) * | 2017-11-08 | 2021-04-13 | 天津国芯科技有限公司 | 一种快速产生crc的控制装置 |
CN108540137B (zh) * | 2018-03-02 | 2021-09-03 | 江西清华泰豪三波电机有限公司 | 一种循环冗余校验码生成方法与装置 |
US11468037B2 (en) * | 2019-03-06 | 2022-10-11 | Semiconductor Components Industries, Llc | Memory device and data verification method |
US11226905B2 (en) | 2019-04-01 | 2022-01-18 | Nutanix, Inc. | System and method for mapping objects to regions |
US11809382B2 (en) | 2019-04-01 | 2023-11-07 | Nutanix, Inc. | System and method for supporting versioned objects |
US11029993B2 (en) | 2019-04-04 | 2021-06-08 | Nutanix, Inc. | System and method for a distributed key-value store |
CN111800223B (zh) * | 2019-08-15 | 2023-06-23 | 北京京东尚科信息技术有限公司 | 生成发送报文、处理接收报文的方法、装置和系统 |
CN112445525B (zh) * | 2019-09-02 | 2024-08-16 | 中科寒武纪科技股份有限公司 | 数据处理方法、相关设备及计算机可读介质 |
US11704334B2 (en) | 2019-12-06 | 2023-07-18 | Nutanix, Inc. | System and method for hyperconvergence at the datacenter |
KR20210084871A (ko) | 2019-12-30 | 2021-07-08 | 삼성전자주식회사 | 안전 민감 데이터의 무결성 점검 장치 및 이를 포함하는 전자 기기 |
US11609777B2 (en) | 2020-02-19 | 2023-03-21 | Nutanix, Inc. | System and method for multi-cluster storage |
US20210334284A1 (en) | 2020-04-28 | 2021-10-28 | Nutanix, Inc. | System and method of querying objects on demand |
US11487787B2 (en) | 2020-05-29 | 2022-11-01 | Nutanix, Inc. | System and method for near-synchronous replication for object store |
US12001872B2 (en) | 2020-10-14 | 2024-06-04 | Nutanix, Inc. | Object tiering from local store to cloud store |
US11900164B2 (en) | 2020-11-24 | 2024-02-13 | Nutanix, Inc. | Intelligent query planning for metric gateway |
US11822370B2 (en) | 2020-11-26 | 2023-11-21 | Nutanix, Inc. | Concurrent multiprotocol access to an object storage system |
US20220385488A1 (en) | 2021-05-31 | 2022-12-01 | Nutanix, Inc. | System and method for reconciling consumption data |
US11899572B2 (en) | 2021-09-09 | 2024-02-13 | Nutanix, Inc. | Systems and methods for transparent swap-space virtualization |
US11748019B2 (en) * | 2021-10-26 | 2023-09-05 | EMC IP Holding Company LLC | Method to efficiently transfer support and system logs from air-gapped vault systems to replication data sources by re-utilizing the existing replication streams |
US12032522B2 (en) * | 2021-11-02 | 2024-07-09 | Paul Tsyganko | System, method, and computer program product for cataloging data integrity |
US12032857B2 (en) | 2021-11-22 | 2024-07-09 | Nutanix, Inc. | System and method for shallow copy |
CN114726383B (zh) * | 2022-04-12 | 2024-07-12 | 北京理工大学 | 一种基于crc-16的高吞吐量并行循环冗余校验的方法 |
CN115150024B (zh) * | 2022-09-02 | 2022-11-18 | 无锡沐创集成电路设计有限公司 | 数据处理方法、装置、设备和介质 |
CN116861493B (zh) * | 2023-08-31 | 2024-03-29 | 上海芯联芯智能科技有限公司 | 一种校验码生成方法、处理器及电子设备 |
CN117993355A (zh) * | 2024-01-31 | 2024-05-07 | 北京中科昊芯科技有限公司 | 一种循环冗余校验的方法及芯片 |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2253428A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US3891974A (en) | 1973-12-17 | 1975-06-24 | Honeywell Inf Systems | Data processing system having emulation capability for providing wait state simulation function |
US4351024A (en) * | 1975-04-21 | 1982-09-21 | Honeywell Information Systems Inc. | Switch system base mechanism |
US4130867A (en) * | 1975-06-19 | 1978-12-19 | Honeywell Information Systems Inc. | Database instruction apparatus for determining a database record type |
US4413319A (en) * | 1981-03-09 | 1983-11-01 | Allen-Bradley Company | Programmable controller for executing block transfer with remote I/O interface racks |
US4438512A (en) * | 1981-09-08 | 1984-03-20 | International Business Machines Corporation | Method and apparatus for verifying storage apparatus addressing |
JPH0822448B2 (ja) | 1987-06-26 | 1996-03-06 | 石川島播磨重工業株式会社 | カロ−ゼルリ−ル装置 |
JP2818415B2 (ja) * | 1988-05-18 | 1998-10-30 | 日本電気株式会社 | バッファ記憶装置 |
JPH0679276B2 (ja) * | 1990-08-31 | 1994-10-05 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同一従属型プロセスのスループット増大方法、プロセス生成回路、周期冗長コードジェネレータ、およびコントローラシステム |
US5369641A (en) * | 1991-11-12 | 1994-11-29 | Storage Technology Corporation | Method and apparatus for detecting and correcting errors in data on magnetic tape media |
DE69320321T2 (de) | 1993-02-05 | 1998-12-24 | Hewlett-Packard Co., Palo Alto, Calif. | Verfahren und Gerät zum Nachprüfen von CRC-Koden, wobei CRC Teilkode kombiniert werden |
US5715278A (en) * | 1993-05-11 | 1998-02-03 | Ericsson Inc. | Standby power saving in mobile phones |
US5645159A (en) * | 1994-03-30 | 1997-07-08 | Lauener Engineering, Ltd. | Method and apparatus for continuously casting metal |
JP2814918B2 (ja) * | 1994-07-07 | 1998-10-27 | 株式会社デンソー | マイクロコンピュータ |
US6237074B1 (en) * | 1995-05-26 | 2001-05-22 | National Semiconductor Corp. | Tagged prefetch and instruction decoder for variable length instruction set and method of operation |
US5663952A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US5701316A (en) * | 1995-08-31 | 1997-12-23 | Unisys Corporation | Method for generating an internet protocol suite checksum in a single macro instruction |
US5946467A (en) * | 1996-09-20 | 1999-08-31 | Novell, Inc. | Application-level, persistent packeting apparatus and method |
US5844923A (en) | 1996-10-24 | 1998-12-01 | At&T Corp | Fast framing of nude ATM by header error check |
US5960012A (en) | 1997-06-23 | 1999-09-28 | Sun Microsystems, Inc. | Checksum determination using parallel computations on multiple packed data elements |
US5974574A (en) * | 1997-09-30 | 1999-10-26 | Tandem Computers Incorporated | Method of comparing replicated databases using checksum information |
US7185266B2 (en) * | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
US6029186A (en) * | 1998-01-20 | 2000-02-22 | 3Com Corporation | High speed calculation of cyclical redundancy check sums |
US6012063A (en) * | 1998-03-04 | 2000-01-04 | Starfish Software, Inc. | Block file system for minimal incremental data transfer between computing devices |
US7932911B2 (en) * | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
JP2000124811A (ja) * | 1998-10-12 | 2000-04-28 | Hitachi Ltd | 通信データ処理装置及びデータ受信システム |
US6279140B1 (en) * | 1999-01-07 | 2001-08-21 | International Business Machines Corporation | Method and apparatus for checksum verification with receive packet processing |
US6191614B1 (en) * | 1999-04-05 | 2001-02-20 | Xilinx, Inc. | FPGA configuration circuit including bus-based CRC register |
US6565443B1 (en) | 1999-09-14 | 2003-05-20 | Innovative Gaming Corporation | System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device |
US6550002B1 (en) * | 1999-11-04 | 2003-04-15 | International Business Machines Corporation | Method and system for detecting a flush of an instruction without a flush indicator |
US6964008B1 (en) * | 1999-11-12 | 2005-11-08 | Maxtor Corporation | Data checksum method and apparatus |
JP2003523682A (ja) * | 2000-02-17 | 2003-08-05 | アナログ デバイス インコーポレーテッド | Crc、および他の剰余を基本とする符号の生成に用いる方法、装置、製品 |
US6631488B1 (en) * | 2000-06-30 | 2003-10-07 | Agilent Technologies, Inc. | Configurable error detection and correction engine that has a specialized instruction set tailored for error detection and correction tasks |
US6848072B1 (en) * | 2000-09-19 | 2005-01-25 | Bbn Solutions Llc | Network processor having cyclic redundancy check implemented in hardware |
US7292586B2 (en) * | 2001-03-30 | 2007-11-06 | Nokia Inc. | Micro-programmable protocol packet parser and encapsulator |
KR100434270B1 (ko) * | 2001-05-30 | 2004-06-04 | 엘지전자 주식회사 | 가전기기 네트워크 제어시스템 |
EP1438662A2 (en) * | 2001-10-11 | 2004-07-21 | Altera Corporation | Error detection on programmable logic resources |
US6907466B2 (en) * | 2001-11-08 | 2005-06-14 | Extreme Networks, Inc. | Methods and systems for efficiently delivering data to a plurality of destinations in a computer network |
US7454601B2 (en) | 2002-03-28 | 2008-11-18 | Intel Corporation | N-wide add-compare-select instruction |
JP2003346432A (ja) * | 2002-05-22 | 2003-12-05 | Internatl Business Mach Corp <Ibm> | データ記憶装置およびデータ処理方法 |
US20040010612A1 (en) * | 2002-06-11 | 2004-01-15 | Pandya Ashish A. | High performance IP processor using RDMA |
US6957321B2 (en) * | 2002-06-19 | 2005-10-18 | Intel Corporation | Instruction set extension using operand bearing NOP instructions |
US7103821B2 (en) * | 2002-07-03 | 2006-09-05 | Intel Corporation | Method and apparatus for improving network router line rate performance by an improved system for error checking |
US7036007B2 (en) | 2002-09-09 | 2006-04-25 | Intel Corporation | Firmware architecture supporting safe updates and multiple processor types |
US7313583B2 (en) * | 2002-10-22 | 2007-12-25 | Broadcom Corporation | Galois field arithmetic unit for use within a processor |
US7327781B2 (en) * | 2002-12-17 | 2008-02-05 | Invensys Systems, Inc. | Universal intelligent modem |
US7421637B1 (en) * | 2003-01-16 | 2008-09-02 | Cisco Technology, Inc. | Generating test input for a circuit |
TWI220962B (en) | 2003-01-20 | 2004-09-11 | Mediatek Inc | Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating |
US7082563B2 (en) | 2003-01-31 | 2006-07-25 | Italtel S.P.A. | Automated method for generating the cyclic redundancy check for transmission of multi-protocol packets |
US7392399B2 (en) | 2003-05-05 | 2008-06-24 | Sun Microsystems, Inc. | Methods and systems for efficiently integrating a cryptographic co-processor |
US7383428B2 (en) | 2003-09-11 | 2008-06-03 | International Business Machines Corporation | Method, apparatus and computer program product for implementing atomic data tracing |
US7826614B1 (en) * | 2003-11-05 | 2010-11-02 | Globalfoundries Inc. | Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation |
TWI224729B (en) | 2003-12-15 | 2004-12-01 | Mediatek Inc | Method for determining program code |
US7360142B1 (en) * | 2004-03-03 | 2008-04-15 | Marvell Semiconductor Israel Ltd. | Methods, architectures, circuits, software and systems for CRC determination |
US8351468B2 (en) * | 2004-04-05 | 2013-01-08 | Broadcom Corporation | Method and apparatus for downloading content using channel bonding |
US7157944B1 (en) * | 2004-04-27 | 2007-01-02 | Altera Corporation | Differential signal detector methods and apparatus |
US7594124B2 (en) * | 2004-06-09 | 2009-09-22 | Intel Corporation | Cross validation of data using multiple subsystems |
US7676655B2 (en) | 2004-06-30 | 2010-03-09 | Sun Microsystems, Inc. | Single bit control of threads in a multithreaded multicore processor |
US7246191B2 (en) * | 2005-03-31 | 2007-07-17 | Intel Corporation | Method and apparatus for memory interface |
US7454667B2 (en) * | 2005-04-26 | 2008-11-18 | Intel Corporation | Techniques to provide information validation and transfer |
US7590930B2 (en) * | 2005-05-24 | 2009-09-15 | Intel Corporation | Instructions for performing modulo-2 multiplication and bit reflection |
US7805706B1 (en) * | 2005-06-21 | 2010-09-28 | Unisys Corporation | Process for optimizing software components for an enterprise resource planning (ERP) application SAP on multiprocessor servers |
US7646788B2 (en) * | 2005-08-03 | 2010-01-12 | The Boeing Company | TCP/IP tunneling protocol for link 16 |
US8335226B2 (en) * | 2005-08-03 | 2012-12-18 | Broadcom Corporation | Systems and methods to transmit information among a plurality of physical upstream channels |
US20070067698A1 (en) | 2005-09-19 | 2007-03-22 | King Steven R | Techniques to perform prefetching of content in connection with integrity validation value determination |
US7523378B2 (en) | 2005-09-23 | 2009-04-21 | Intel Corporation | Techniques to determine integrity of information |
DE102005061394A1 (de) * | 2005-12-22 | 2007-06-28 | Robert Bosch Gmbh | Fehlertolerantes Prozessorsystem |
US7958436B2 (en) * | 2005-12-23 | 2011-06-07 | Intel Corporation | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
US7324913B2 (en) * | 2006-02-01 | 2008-01-29 | International Business Machines Corporation | Methods and apparatus for testing a link between chips |
US7925957B2 (en) | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
US7865704B2 (en) * | 2006-03-29 | 2011-01-04 | Freescale Semiconductor, Inc. | Selective instruction breakpoint generation based on a count of instruction source events |
US8024708B2 (en) | 2006-06-20 | 2011-09-20 | Google Inc. | Systems and methods for debugging an application running on a parallel-processing computer system |
US8209597B2 (en) | 2009-03-23 | 2012-06-26 | Cognitive Electronics, Inc. | System and method for achieving improved accuracy from efficient computer architectures |
US8392661B1 (en) | 2009-09-21 | 2013-03-05 | Tilera Corporation | Managing cache coherence |
US8464125B2 (en) * | 2009-12-10 | 2013-06-11 | Intel Corporation | Instruction-set architecture for programmable cyclic redundancy check (CRC) computations |
US8417961B2 (en) * | 2010-03-16 | 2013-04-09 | Oracle International Corporation | Apparatus and method for implementing instruction support for performing a cyclic redundancy check (CRC) |
US8910031B1 (en) * | 2011-03-29 | 2014-12-09 | Emc Corporation | DIF-CRC based fast hashing |
-
2005
- 2005-12-23 US US11/316,772 patent/US7958436B2/en active Active
-
2006
- 2006-12-07 CN CN201210041335.9A patent/CN102708022B/zh active Active
- 2006-12-07 DE DE112006003298.4T patent/DE112006003298B4/de active Active
- 2006-12-07 CN CN2006800422420A patent/CN101305349B/zh active Active
- 2006-12-07 WO PCT/US2006/047234 patent/WO2007078672A2/en active Application Filing
- 2006-12-07 JP JP2008547301A patent/JP5269610B2/ja active Active
- 2006-12-12 TW TW095146431A patent/TWI360047B/zh active
-
2011
- 2011-04-29 US US13/097,462 patent/US8225184B2/en active Active
-
2012
- 2012-05-31 US US13/484,787 patent/US8413024B2/en active Active
-
2013
- 2013-03-12 US US13/796,032 patent/US8713416B2/en active Active
- 2013-07-12 US US13/940,706 patent/US8856627B2/en active Active
- 2013-07-12 US US13/940,696 patent/US8775912B2/en active Active
- 2013-07-12 US US13/940,681 patent/US8775910B2/en active Active
- 2013-07-12 US US13/940,659 patent/US8793559B2/en active Active
- 2013-07-12 US US13/940,647 patent/US8769385B2/en active Active
- 2013-07-12 US US13/940,691 patent/US8775911B2/en active Active
- 2013-07-12 US US13/940,665 patent/US8769386B2/en active Active
-
2014
- 2014-05-27 US US14/288,261 patent/US9116684B2/en active Active
- 2014-12-22 US US14/579,538 patent/US9262159B2/en active Active
-
2016
- 2016-01-28 US US15/009,152 patent/US9645884B2/en active Active
-
2017
- 2017-05-08 US US15/589,561 patent/US10379938B2/en active Active
-
2019
- 2019-08-12 US US16/538,812 patent/US11048579B2/en active Active
-
2021
- 2021-06-26 US US17/359,537 patent/US11899530B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5269610B2 (ja) | ユーザレベル命令に応じた巡回冗長検査演算の実行 | |
US9047082B2 (en) | Instruction-set architecture for programmable Cyclic Redundancy Check (CRC) computations | |
US7925957B2 (en) | Validating data using processor instructions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121016 |
|
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: 20130409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130508 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5269610 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 |
|
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 |