CN1275158C - 校验和计算和写入方法 - Google Patents
校验和计算和写入方法 Download PDFInfo
- Publication number
- CN1275158C CN1275158C CNB2004100314518A CN200410031451A CN1275158C CN 1275158 C CN1275158 C CN 1275158C CN B2004100314518 A CNB2004100314518 A CN B2004100314518A CN 200410031451 A CN200410031451 A CN 200410031451A CN 1275158 C CN1275158 C CN 1275158C
- Authority
- CN
- China
- Prior art keywords
- verification
- storer
- checksum
- value
- write
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- C—CHEMISTRY; METALLURGY
- C09—DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
- C09J—ADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
- C09J7/00—Adhesives in the form of films or foils
- C09J7/20—Adhesives in the form of films or foils characterised by their carriers
-
- 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
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F41—WEAPONS
- F41H—ARMOUR; ARMOURED TURRETS; ARMOURED OR ARMED VEHICLES; MEANS OF ATTACK OR DEFENCE, e.g. CAMOUFLAGE, IN GENERAL
- F41H3/00—Camouflage, i.e. means or methods for concealment or disguise
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Organic Chemistry (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种更方便的校验和写入方法和校验和检验设备。该方法包括:通过从存储器读取数值并对所读出的数值求和来计算第一校验和;通过从第一校验和中减去存储器的预定区中所写入的数值来计算第一模式校验和;如果第一模式校验和不满足预定的条件则把第二校验和初始化为零;通过把第二校验和反向并把反向的第二校验和加到第一模式校验和上来计算第二模式校验和;如果第二模式校验和等于第二校验和,则在存储器的预定区内写入反向的第二校验和。
Description
相关申请的相互参考
本申请要求2003年2月11日在韩国知识产权局提交的韩国专利申请No.2003-8459的权益,它的公开文本被全面引入作为参考。
技术领域
本发明涉及一种校验和(checksum)写入方法和一种校验和检验设备,特别涉及一种为存储器计算和写入校验和的方法,以及一种检验用于具有微型计算机和存储器的系统中的校验和的设备。
背景技术
通常,一个使用微型计算机的设备也使用可编程存储介质,例如ROM或闪速存储器。当在设备中出现问题或必需校验存储器中的有关程序的信息时,校验和被检验。
以前,为了检验校验和是否正确,设备必须拆开,必须核实存储器外面印着的校验和值。拆开和重新装配设备需要大量的时间,而且设备或产品还可能被损坏。
因此,写入和检验存储器中的校验和而不用拆卸有关设备是有益的。
发明内容
本发明提供了一种计算存储在存储器中的数据的校验和并在存储器的预定区域中写入所计算的校验和的方法,以及提供一种执行该方法的设备。
按照本发明的一个方面,计算和写入存储器中的校验和的方法包括:通过利用预定的单元从存储器中读出数值并对所读取的数值进行求和来计算第一校验和;通过从第一校验和中减去在存储器的预定区域中所写的数值来计算第一模式校验和;如果第一模式校验和不满足预定条件则把第二校验和初始化为零;通过把第二校验和反向并把所反向的第二校验和加到第一模式校验和来计算第二模式校验和;如果第二模式校验和等于第二校验和,则在存储器的预定区域中写入反向的第二校验和数值。
上述使用的术语“反向”和“反向的”,遍及整个说明书和权利要求书,它是指通过把一个数值乘以-1而把该数值的符号反向。例如,利用这里所定义的术语,X值的反向值是-X,-X的反向值是X。
按照本发明的另一个方面,用于检验校验和的设备包括:一个在存储器中存储预定程序和校验和的存储器;一个执行存储在存储器中的程序,把存储在存储器中的校验和反向并输出来自存储器的反向校验和的微计算机;以及一个通过以下方法计算并写入存储器中的校验和的校验和计算器:通过使用一个预定单元从存储器读取数值并对所读的数值求和来计算第一校验和;通过从第一校验和中减去在存储器的预定区域中写入的数值来计算第一模式校验和;如果第一模式校验和不满足预定条件就把第二校验和初始化为零;通过把第二校验和反向并把所反向的第二校验和加到第一模式校验和上来计算第二模式校验和;如果第二模式校验和等于第二校验和,则在存储器的预定区中写入反向的第二校验和值。
按照本发明的另一个方面,用于在存储器中计算和写入校验和的方法包括:通过从存储器中逐字节地读出数值并对所读出的数值求和来计算第一校验和;通过从第一校验和中减去写在存储器的预定区域中的值来计算第一模式校验和;如果第一模式校验和不满足预定条件则将第二校验和初始化为零,其中所述预定条件是通过第一数值按模计算第一校验和以产生第二数值的函数;通过把第二校验和反向并把所反向的第二校验和加到第一模式校验和上来计算第二模式校验和;如果第二模式校验和等于第二校验和,则在存储器的预定区域中写入反向的第二校验和数值。
本发明的其他方面和/或优点将部分地在下面的描述中陈述,部分地从这些描述中是明显的,或通过本发明的实践可以被理解。
附图说明
本发明的这些和/或其它的方面和优点,从下面结合附图进行的实施例的描述中将变得更清楚和更容易理解,附图是:
图1是表示根据本发明的一个实施例的校验和检验设备的方块图;
图2是表示本发明的校验和计算方法的流程图;
图3表示在存储器的末段(end portion)上存储的数据;以及
图4是表示根据本发明的一个实施例的校验和写入方法的流程图。
具体实施方式
现在详细参考本发明的几个实施例,它们的例子在附图中做了说明,其中相同的参考标号始终表示相同的元件。下面通过参考附图描述几个实施例来解释本发明。
下面,将详细参考附图对本发明的实施例的校验和计算方法和校验和检验设备进行描述。
图1是根据本发明的实施例的校验和检验设备的方块图。图1中所示的校验和检验设备包括一个具有微型计算机10-1,一个存储器10-2(作为例子,这里表示为ROM),一个校验和计算器10-3的设备10,和一个显示器11。微型计算机10-1读出在存储器10-2中存储的程序并执行对应于这些程序的操作。校验和计算器10-3读取存储在存储器10-2中的数据,计算校验和,并把所计算的校验和存储在存储器10-2的预定区域中。微计算机10-1能够按用户的请求读出存储在存储器10-2中的校验和,并在设备10的外部的显示器11上显示该校验和。这里,发光二极管(LED)或一个屏幕上显示器(OSD)可被用作显示器11。
现在将参考在图2和4所示的校验和计算方法来解释校验和计算器10-3的操作。图3示出了具有存储数据的存储器的末段(end portion)。
校验和计算器10-3通过逐字节地读取存储器中存储的数据来计算校验和。在图2中的操作20中,指示一个存储器地址的ROM指针(rom-ptr)被设定为零,并且校验和(chksum)被初始化为零。作为参考,在图2至4中以0x开始或以“h”结束的数表示十六进制的数值。在操作21中,通过将现有校验和数值(chksum)加到ROM指针所指示的地址中所写入的数值(*rom_ptr)上来计算新的校验和(chksum)。接着,在操作22中,ROM指针的值被增加1。然后,在操作23中,如果ROM指针的增加后的值小于或等于存储器的总容量,则操作21至23被重复。
如果ROM指针的增加后的值大于存储器的总容量,前面操作中所计算的校验和就被存储在存储器10-2的预定区中,例如,如图3所示的最后两个字节A和B中。在图3中,参考标号30和31分别表示地址和数据写入部分。一般,图3中所示的存储器的末段是空的。因此,如果校验和写入在存储器的最后两个字节上,可以不拆开设备就检验校验和。
不过,在存储器的最后两个字节中写入校验和导致改变了对于整个存储器的内部校验和数值。因此,需要几个附加字节以校正所改变的校验和数值。
因此,要求有一种写入校验和而不改变整个存储器的校验和的方法。图4是表示这样一种方法的流程图。按照图2的方法在操作40中计算整个存储器的第一校验和(chksum)。接下来,在操作41中,第一模式校验和(modl-chksum)是通过从所计算的第一校验和中减去,如在图3中A和B的例子存储的,在图2中所计算的校验和(2*(0xFF))来计算的。然后,在操作42中,如果用257(0×0101)按模计算(modulo-calculating)第一模式校验和(mod-chksum)产生数值2,则在操作43中校正图3中用C表示的字节的最低有效位。例如,如果存储在C中的值是0xFF,它就被校正成0xFE。这表示,超出总共65536个数值的,从0开始的,每第258个数据数值应该被校正。在操作44中,最初具有零值的第二校验和(i_chksum)被增加1。第二校验和(i_chksum)然后被反向。然后,如图4中操作45中所示,用反向的第二校验和的高字节值代替A中的值,用同一校验和的低字节值代替B中存储的值。在操作46中,存储在A和B中的字节数值被加到操作41的第一模式校验和上,这个加得的数值被确定为第二模式校验和(mod2_chksum),以便和操作41的第一模式校验和相区别。在操作47中,如果第二校验和(i_chksum)和第二模式校验和(mod2_chksum)相同,则反向第二校验和在操作48中被写入A和B。如果在操作47中上述两个数值不相同,目前的第二校验和数值就增加1,并重复操作45至47,直到第二校验和变成0xFFFF。
如果校验和晚些时候被检验,如果校验和是正常的话,写在存储器的A和B中的反向的第二校验和被读出,然后被反向以检验是否校验和是正常。即,通过对写在最后两个字节中的反向的第二校验和(-i_chksum)和除存储器的最后两个字节外的字节中写的数值进行检验(check-summing)所得到的结果成为第二校验和(i_chksum)。因此,可以通过对写在最后两个字节中的反向的第二校验和进行再-反向并输出再反向的数值来进行随后的校验和检验。这个校验和数值可以在图1的显示器11上显示。
按照本发明,不用拆开设备可以容易地写入然后检验校验和,这使得校验和的写入和校验更方便,因为当在存储器中写入校验和的时候,只是再需要对于存储器中的空的部分中的256种情况的两个字节,或仅仅两个字节加一个比特。
本发明可以作为可以在通过计算机读出的、计算机可读记录介质上的计算机编码来实现。计算机可读记录介质包括其上存储计算机可读数据的所有方式和型式的记录设备。
计算机可读记录介质至少包括例如磁存储介质(例如,ROM’s,软盘,硬盘等等),光可读介质(例如,CD-ROM,DVD等等),和载波(例如,在因特网上进行传输)的存储介质。同时,计算机可读记录介质可以被分布到通过网络连接的计算机系统,可以分布式的计算机可读代码进行存储和执行。
虽然已经对本发明的一些实施例进行了描述,本领域技术人员可以理解,在不脱离由权利要求和它的等价物定义的本发明的原则和精神的情况下,可以进行对这些实施例的改变。
Claims (10)
1.一种在存储器中计算和写入校验和的方法,包括:
通过从存储器中逐字节地读出数值并对所读出的数值求和来计算第一校验和;
通过从第一校验和中减去写在存储器的预定区域中的值来计算第一模式校验和;
如果第一模式校验和不满足预定条件则将第二校验和初始化为零,其中所述预定条件是通过第一数值按模计算第一校验和以产生第二数值的函数;
通过把第二校验和反向并把所反向的第二校验和加到第一模式校验和上来计算第二模式校验和;
如果第二模式校验和等于第二校验和,则在存储器的预定区域中写入反向的第二校验和数值。
2.如权利要求1的方法,进一步包括,如果第二模式校验和不等于第二校验和,对第二校验和增加1,然后重复第二模式校验和的计算和对第二校验和增加1。
3.如权利要求1的方法,其中初始化第二校验和包括:如果预定条件被满足,则校正紧接在反向的第二校验和值的写入区之前的比特值。
4.如权利要求2的方法,其中初始化第二校验和包括:如果预定条件被满足,则校正紧接在反向的第二校验和值的写入区之前的比特值。
5.如权利要求1的方法,还包括当在存储器中检验校验和的时候,就把预定区中写入的数值反向并输出。
6.如权利要求1的方法,其中第一校验和,第一模式校验和,第二校验和,和第二模式校验和被有选择地显示在存储器外部的显示器上。
7.如权利要求1的方法,其中反向的第二校验和数值所写入的存储器的预定区是存储器的最后两个字节。
8.权利要求6的方法,其中所述显示器是一个LED显示器。
9.权利要求6的方法,其中所述显示器是一个屏上显示器。
10.权利要求1的方法,其中所述存储器是ROM。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030008459A KR100782807B1 (ko) | 2003-02-11 | 2003-02-11 | 첵섬 기입 방법 및 그에 따른 첵섬 확인 장치 |
KR8459/03 | 2003-02-11 | ||
KR8459/2003 | 2003-02-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1525327A CN1525327A (zh) | 2004-09-01 |
CN1275158C true CN1275158C (zh) | 2006-09-13 |
Family
ID=33411555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100314518A Expired - Fee Related CN1275158C (zh) | 2003-02-11 | 2004-02-11 | 校验和计算和写入方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7350135B2 (zh) |
KR (1) | KR100782807B1 (zh) |
CN (1) | CN1275158C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716375A (zh) * | 2014-09-30 | 2017-05-24 | 微软技术许可有限责任公司 | 具有每区段校验和的文件系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1971536A (zh) * | 2005-11-24 | 2007-05-30 | 鸿富锦精密工业(深圳)有限公司 | 基本输入输出系统的纠错系统及方法 |
TWI459763B (zh) * | 2011-03-23 | 2014-11-01 | Mediatek Inc | 切割網路封包之卸載方法及其裝置 |
US10073735B1 (en) | 2014-10-28 | 2018-09-11 | Seagate Technology Llc | Seeding mechanism for error detection codes |
CN107015882B (zh) * | 2016-12-26 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 一种区块数据校验方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS621043A (ja) | 1985-06-26 | 1987-01-07 | Oki Electric Ind Co Ltd | マイクロコンピユ−タシステムのプログラムチエツク方式 |
US5111465A (en) * | 1989-06-30 | 1992-05-05 | Digital Equipment Corporation | Data integrity features for a sort accelerator |
US5493649A (en) * | 1994-06-21 | 1996-02-20 | Microsoft Corporation | Detecting corruption in a computer program at execution time using a checksum |
US5663952A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
FI102221B1 (fi) * | 1995-10-30 | 1998-10-30 | Nokia Telecommunications Oy | Tietokoneen muistiongelmien paljastaminen |
FR2754926B1 (fr) * | 1996-10-23 | 1998-11-20 | Schlumberger Ind Sa | Procede de gestion de defauts d'integrite de donnees dans une memoire reinscriptible |
US5960012A (en) * | 1997-06-23 | 1999-09-28 | Sun Microsystems, Inc. | Checksum determination using parallel computations on multiple packed data elements |
DE19964012A1 (de) * | 1999-12-30 | 2001-07-12 | Bosch Gmbh Robert | Verfahren und Einrichtung zum Refresh des Speicherinhalts einer Speicherzelle eines Festwertspeichers |
US6643821B2 (en) * | 2000-11-30 | 2003-11-04 | Stmicroelectronics, Inc. | Method and device for computing incremental checksums |
KR20030029720A (ko) * | 2001-10-10 | 2003-04-16 | 엘지전자 주식회사 | 펌웨어 버전 검사 장치 및 방법 |
JP2003124977A (ja) * | 2001-10-18 | 2003-04-25 | Fujitsu Ltd | チェックサムの書換装置 |
-
2003
- 2003-02-11 KR KR1020030008459A patent/KR100782807B1/ko not_active IP Right Cessation
-
2004
- 2004-02-10 US US10/775,025 patent/US7350135B2/en not_active Expired - Fee Related
- 2004-02-11 CN CNB2004100314518A patent/CN1275158C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716375A (zh) * | 2014-09-30 | 2017-05-24 | 微软技术许可有限责任公司 | 具有每区段校验和的文件系统 |
CN106716375B (zh) * | 2014-09-30 | 2019-12-03 | 微软技术许可有限责任公司 | 具有每区段校验和的文件系统 |
Also Published As
Publication number | Publication date |
---|---|
US7350135B2 (en) | 2008-03-25 |
CN1525327A (zh) | 2004-09-01 |
KR20040072816A (ko) | 2004-08-19 |
US20040230864A1 (en) | 2004-11-18 |
KR100782807B1 (ko) | 2007-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5203358B2 (ja) | データをプリフェッチする装置および方法 | |
US8549271B1 (en) | Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device | |
US5909579A (en) | Method and apparatus for encoding and decoding delta encoded information to locate live pointers in program data stacks | |
CN1647078A (zh) | 用于使用统一建模语言(uml)建立可扩展标记语言(xml)应用的模型的方法和设备 | |
US6912649B2 (en) | Scheme to encode predicted values into an instruction stream/cache without additional bits/area | |
US20030126590A1 (en) | System and method for dynamic data-type checking | |
JPS58119033A (ja) | テキスト処理装置 | |
MX2008014048A (es) | Predescodificacion de instrucciones de longitud variable. | |
US20050162437A1 (en) | Method and apparatus for graphics processing using state and shader management | |
CN1811768A (zh) | 用于协调图象元数据的系统和方法 | |
CN114217738A (zh) | 一种动态队列式循环存储方法、装置、设备及介质 | |
CN1275158C (zh) | 校验和计算和写入方法 | |
US20070094427A1 (en) | System and method for verifying the coupled locations of computer devices | |
US7185041B1 (en) | Circuit and method for high-speed execution of modulo division | |
CN111104347A (zh) | 堆内存块查找方法、装置、设备及存储介质 | |
JP2944946B2 (ja) | コンピュータシステム及びコンピュータ実行方法 | |
US7167115B1 (en) | Method, apparatus, and computer-readable medium for data compression and decompression utilizing multiple dictionaries | |
GB2520049A (en) | Real time analysis of big data | |
US7505997B1 (en) | Methods and apparatus for identifying cached objects with random numbers | |
US20110138337A1 (en) | Level based data supply for reusable interface components | |
US8549488B2 (en) | Validating a variable data item in a software routine | |
US8749559B2 (en) | Mesh sequence file format | |
CN116382782A (zh) | 向量运算方法、向量运算器、电子设备和存储介质 | |
JPH0962863A (ja) | 3次元画像表示用zソート法及びこれを用いた図形データソート装置 | |
CN1270249C (zh) | 处理器系统、处理器以及运算处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060913 Termination date: 20190211 |
|
CF01 | Termination of patent right due to non-payment of annual fee |