TWI261993B - System and method for data redundancy checking and correcting - Google Patents

System and method for data redundancy checking and correcting Download PDF

Info

Publication number
TWI261993B
TWI261993B TW93114219A TW93114219A TWI261993B TW I261993 B TWI261993 B TW I261993B TW 93114219 A TW93114219 A TW 93114219A TW 93114219 A TW93114219 A TW 93114219A TW I261993 B TWI261993 B TW I261993B
Authority
TW
Taiwan
Prior art keywords
data
error
bit
module
correction
Prior art date
Application number
TW93114219A
Other languages
Chinese (zh)
Other versions
TW200539607A (en
Inventor
Da-Shiou Lin
Chih-Fu Tsai
Chang Cheng Yap
Original Assignee
Rdc Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rdc Semiconductor Co Ltd filed Critical Rdc Semiconductor Co Ltd
Priority to TW93114219A priority Critical patent/TWI261993B/en
Publication of TW200539607A publication Critical patent/TW200539607A/en
Application granted granted Critical
Publication of TWI261993B publication Critical patent/TWI261993B/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

A system and method for data redundancy checking and correcting are applied to a peripheral controller, the method comprising the steps of determining whether a data block coming from the peripheral device contains error(s); storing indicator(s) that indicates the data bit(s) containing the error(s); identifying the error bit(s) indicated by the indicator(s); and correcting the error(s) in the error bit(s). Instead of storing the whole data block, only the indicator(s) indicating the error(s) is/are stored, thereby a buffer for accommodating the entire data block and the cost of such are eliminated.

Description

1261993 五、發明說明(1) [發明所屬之技術領域] 本發明大體上關於一種資料錯誤檢查與校正處理系統 與方法,更詳而言之,係關於一種應用於連接周邊裝置之 控制器的資料錯誤檢查與校正之系統與方法。 [先前技術] 所有傳輸系統的主要問題之一係在於如何將傳送的資 料原本的送達目的地。為了因應此一需求,現今已發展出 許多種不同的演算法,例如,同位檢查(p a r i t y c h e c k )、 或循環冗餘檢查(Cyclic Redundancy Check; CRC)等之 類的方法來檢查收到的資料。CRC係針對一塊(多個位元) 資料執行循環演算法以產生冗餘資訊,該冗餘資訊有關該 資料之内容與組織,並能獨特的辨識該塊資料。因此可用 CRC來檢查傳輸資料之正確性。這些資料檢查碼通常係加 於實際所需之資料後一同傳送至接收端。於下文中將含有 實際資料與資料檢查碼之資料流稱為”資料塊”。接收端針 對收到之資料執行演算而產生一冗餘資料,並將產生之冗 餘資料與已接收的資料塊中的冗餘資料作比對;若兩冗餘 資料相同,代表收到的資料正確,反之,則資料含有錯 誤,接收端可請發送端重新傳送該資料塊。 惟,同位檢查與CRC皆僅能得知資料正確與否,而無 法得知資料中錯誤位元的位置,因而無法進行錯誤校正。 因此,已提出另一種錯誤檢查與校正(Error Checking a n d C o r r e c t i ο n C o d e ; E C C )碼用於檢查資料的完整性, 找出並校正資料中錯誤的位元。根據不同種類的錯誤檢查1261993 V. INSTRUCTIONS (1) [Technical Field of the Invention] The present invention generally relates to a data error checking and correction processing system and method, and more particularly to a data applied to a controller for connecting peripheral devices System and method for error checking and correction. [Prior Art] One of the main problems of all transmission systems is how to deliver the originally delivered information to the destination. In response to this demand, many different algorithms have been developed today, such as peer checking (p a r i t y c h e c k ), or Cyclic Redundancy Check (CRC), etc. to check received data. The CRC performs a round-robin algorithm for one (multiple-bit) data to generate redundant information about the content and organization of the data and uniquely identifies the block. Therefore, the CRC can be used to check the correctness of the transmitted data. These data check codes are usually sent to the receiving end together with the actual required data. The data stream containing the actual data and the data check code is hereinafter referred to as the "data block". The receiving end generates a redundant data for performing the calculation on the received data, and compares the generated redundant data with the redundant data in the received data block; if the two redundant data are the same, it represents the received data. Correct, otherwise, the data contains errors, and the receiving end can ask the sender to retransmit the data block. However, both the parity check and the CRC can only know whether the data is correct or not, and cannot know the location of the wrong bit in the data, so the error correction cannot be performed. Therefore, another error checking and correction (Error Checking a n C C r r r e c t i ο n C o d e ; E C C ) code has been proposed for checking the integrity of the data, and finding and correcting the erroneous bits in the data. According to different kinds of error check

17591 金麗.ptd 第7頁 1261993 五、發明說明(2) 與校正碼能校正單一個或多個錯誤位元。同樣的,錯誤檢 查與校正的過程為接收端針對資料塊中的資料產生對應的 錯誤檢查與校正碼,並將之與已接收到的錯誤檢查與校正 碼進行運算,以得知資料是否正確性。若不正確,則對需 要校正的位元進行校正。對於二進位位元之校正,即為將 1變0,或0變1的方式予以校正。 錯誤檢查與校正碼可應用於微處理器單元中的快閃控 制器(f 1 a s h c ο n t r ο 1 1 e r ),連接外部的快閃記憶體裝置, 並負責將來自快閃記憶體裝置之資料傳送至微處理器内部 之系統匯流排,在控制器將資料傳送至系統匯流排之前, 先利用錯誤檢查與校正碼檢查所收到的資料是否正確,並 校正錯誤資料。 習知快閃控制器處理資料之錯誤檢查與校正運算時需 將資料讀取並先存入快閃控制器的緩衝器(bu f f er )中,同 時,對資料作錯誤檢查與校正運算,當發現含有錯誤的資 料位元後,即校正儲存於緩衝器中的該些含有錯誤之資料 的位元,然後再將校正後無誤之資料傳送至系統。 但是此習知技術中的緩衝器必須有足夠儲存整個資料 塊的空間,此將造成佔用空間與硬體成本的增加。因此本 發明提出一種資料錯誤檢查與校正的方法與系統,無需儲 存整個資料塊亦能夠完成資料的錯誤檢查與修正,因此得 以節省缓衝器帶來之成本與所佔之硬體空間。 [發明内容] 本發明之主要目的在於提供一種資料錯誤檢查與校正17591 Jin Li.ptd Page 7 1261993 V. Invention Description (2) The correction code can correct one or more error bits. Similarly, the process of error checking and correction is that the receiving end generates a corresponding error check and correction code for the data in the data block, and performs an operation on the received error check and correction code to know whether the data is correct. . If it is not correct, correct the bit that needs to be corrected. For the correction of the binary bit, it is corrected by changing 1 to 0 or 0 to 1. The error check and correction code can be applied to the flash controller (f 1 ashc ο ntr ο 1 1 er ) in the microprocessor unit, connected to the external flash memory device, and responsible for the data from the flash memory device. The system bus is transferred to the microprocessor. Before the controller transmits the data to the system bus, it uses the error check and calibration code to check whether the received data is correct and correct the error data. When the conventional flash controller processes the error check and correction operation of the data, the data needs to be read and stored in the buffer (bu ff er ) of the flash controller, and at the same time, the data is checked for errors and corrected. After the data bit containing the error is found, the bits containing the erroneous data stored in the buffer are corrected, and then the corrected data is transmitted to the system. However, the buffer in this prior art must have enough space to store the entire data block, which will result in an increase in space and hardware costs. Therefore, the present invention proposes a method and system for data error checking and correction, which can complete error checking and correction of data without storing the entire data block, thereby saving the cost and the occupied hardware space of the buffer. SUMMARY OF THE INVENTION The main object of the present invention is to provide a data error check and correction

1759]金麗.ptd 第8頁 1261993 五、發明說明(3) 處理之系統與方法,藉由僅儲存指示錯誤位元之指標而非 整個資料塊,因而省去緩衝器所花費的成本與空間。 本發明提供一種位於處理系統中之控制器,用以控制 與該處理系統連接之外部裝置以及處理系統之内部匯流排 之間的資料,該控制器包括用以自外部裝置讀取資料之讀 取模組;錯誤檢查與校正處理系統,用以進行錯誤檢查與 校正運算以判斷由讀取模組讀取之資料是否有誤,並僅記 錄指示含有錯誤之位元的指標而非儲存整個資料塊,於再 次由讀取模組依序讀取資料時,判斷自外部裝置再次讀取 之目前的資料位元是否為錯誤,若是則校正該位元的資 料;以及發送模組,用以將由錯誤檢查與校正處理系統處 理後無誤的資料發送至該處理系統匯流排上。 本發明提供一種資料錯誤檢查與校正的系統,其可應 用於上述之控制器中用以檢查與校正任何錯誤資料,該資 料錯誤檢查與校正的系統包括:一錯誤檢查與校正運算模 組,用以針對自外部裝置傳來的資料塊進行錯誤檢查與校 正運算,並根據運算結果判斷含有錯誤之位元;一儲存 器,用以儲存指示該些含有錯誤之位元的指標;一錯誤資 料辨別模組,用以根據儲存器中的指標,辨別目前讀取之 資料位元是否有誤;以及一校正模組,用以校正錯誤位元 中的資料。 本發明提供一種資料錯誤檢查與校正的方法,包括下 列步驟:首先,令一錯誤檢查與校正運算模組針對讀取之 資料塊進行錯誤檢查與校正運算,以判斷該資料塊是否含1759] Jin Li.ptd Page 8 1261993 V. Invention Description (3) Processing system and method, by storing only the indicator indicating the error bit instead of the entire data block, thus eliminating the cost and space of the buffer . The present invention provides a controller in a processing system for controlling data between an external device connected to the processing system and an internal bus bar of the processing system, the controller including reading for reading data from an external device Module; error checking and correction processing system for performing error checking and correcting operations to determine whether the data read by the reading module is incorrect, and recording only the indicator indicating the bit containing the error instead of storing the entire data block When the data is read sequentially by the reading module, it is judged whether the current data bit read from the external device is an error, and if so, the data of the bit is corrected; and the transmitting module is used to cause an error. The data that is checked and corrected by the calibration processing system is sent to the processing system bus. The invention provides a system for data error checking and correction, which can be applied to the above controller for checking and correcting any error data. The system for checking and correcting the data includes: an error checking and correcting operation module, Performing an error check and correction operation on the data block transmitted from the external device, and determining a bit containing the error according to the operation result; a memory for storing the indicator indicating the bit containing the error; and an error data identification The module is configured to identify whether the currently read data bit is incorrect according to the indicator in the storage; and a correction module for correcting the data in the error bit. The present invention provides a method for data error checking and correction, comprising the following steps: First, an error checking and correcting operation module performs error checking and correcting operations on the read data block to determine whether the data block includes

17591 金麗.ptd 第9頁 1261993 五、發明說明(4) 有錯誤;其次,令該錯誤檢查與校正運算模組找出含有錯 誤資料的位元,並將指示該錯誤位元之指標記錄於一儲存 器中;接著,令一錯誤資料辨別模組根據儲存器記錄之指 標,分辨目前讀取之資料位元是否為錯誤的;最後,令一 校正模組校正錯誤的位元。 [實施方式] 第1圖說明與本發明有關之微處理器系統中的元件與 外部快閃記憶體裝置之方塊圖。如圖所示,微處理器1系 統包括有快閃控制器1 0以及系統匯流排2 0。快閃控制器1 0 係用於控制微處理器1與外部快閃記憶體裝置2之間資料的 傳輸。快閃控制器1 0至少包括有讀取模組 1 0 1、錯誤檢查 與校正處理系統1 0 2、以及發送模組1 0 3。讀取模組 1 0 1負 責讀取來自外部快閃記憶體裝置2之資料塊,例如,資料 塊可由6 4位元的實際資料以及對應該資料之7位元的錯誤 檢查與校正碼所組成。錯誤檢查與校正處理系統1 0 2係針 對讀取模組1 0 1讀取之資料塊進行錯誤檢查與校正運算, 包括判斷錯誤位元並予以校正。發送模組1 0 3將(經過校 正)無誤的資料傳送給系統匯流排2 0。 第2圖說明根據本發明一實施例應用於快閃控制器10 中之錯誤檢查與校正系統1 0 2。該錯誤檢查與校正系統1 0 2 包括有:錯誤檢查與校正運算模組 2 1 0、暫存器 2 2 0、位 址對照模組2 3 0、以及校正模組2 4 0。 錯誤檢查與校正運算模組 2 1 0運算讀取模組1 0 1所讀 取之資料塊以產生一對應之錯誤檢查與校正碼,並與接收17591 金丽.ptd Page 9 1261993 V. Invention Description (4) There is an error; secondly, the error checking and correction calculation module finds the bit containing the error data, and records the indicator indicating the error bit in In a memory; then, an error data discrimination module determines whether the currently read data bit is erroneous according to the indicator recorded by the memory; finally, a correction module corrects the wrong bit. [Embodiment] Fig. 1 is a block diagram showing components and an external flash memory device in a microprocessor system relating to the present invention. As shown, the microprocessor 1 system includes a flash controller 10 and a system bus 20. The flash controller 10 is used to control the transfer of data between the microprocessor 1 and the external flash memory device 2. The flash controller 10 includes at least a read module 1 0 1 , an error check and correction processing system 1 0 2, and a transmission module 1 0 3 . The reading module 101 is responsible for reading the data block from the external flash memory device 2. For example, the data block can be composed of the actual data of 64 bits and the 7-bit error checking and correction code corresponding to the data. . Error check and correction processing system 1 0 2 pin The error check and correction operation are performed on the data block read by the read module 1 0 1 , including determining the error bit and correcting it. The transmitting module 1 0 3 transmits (corrected) uncorrected data to the system bus 20 . Figure 2 illustrates an error checking and correction system 102 coupled to flash controller 10 in accordance with an embodiment of the present invention. The error checking and correction system 1 0 2 includes an error checking and correcting operation module 2 1 0, a register 2 2 0, a bit comparison module 2 3 0, and a correction module 2 4 0. Error checking and correction computing module 2 1 0 operation reading module 1 0 1 read the data block to generate a corresponding error check and correction code, and receive

ml ___ 17591 金麗.ptd 第10頁 1261993 五、發明說明(5) 到的錯誤檢查與校正碼進行運算,根據運算結果判斷資料 正確與否,並判斷錯誤位元之位置。若資料無誤,則由發 送模組1 0 3傳送給系統匯流排2 0。 暫存器2 2 0係用以儲存指示錯誤資料位元之指標,例 如位元之位址。根據一實施例,可將該些錯誤位元的位址 以表格方式記錄下來,茲參考第3圖,其中說明含有錯誤 之範例資料塊3 0 0以及根據本發明之一實施例中暫存器2 2 0 之錯誤表2 2 1。在此實施例中,資料塊3 0 0係由6 4位元之實 際資料3 0 1以及7位元的錯誤檢查與校正(ECC )碼所組成。 實際資料3 0 1中含有2個錯誤位元,分別為位元3以及位元 1 5。如前述,當錯誤檢查與校正運算模組2 1 0根據運算結 果判斷出錯誤位元之位址後,亦即,資料塊3 0 0中的位元 位址(下文將稱為位元址)3與1 5,則儲存該些含有錯誤之 位元址於錯誤表2 2 1中,如圖示。因此,儲存於錯誤表2 2 1 中的錯誤位元址,以由小至大的方式,依序為3以及1 5。 本發明中用來指示錯誤位元之指標並不限於位元之位址, 當然亦可用任何其他方式來指示資料塊中含有錯誤之位 元,例如,利用各位元自一特定參考點之相對偏移量等 等。應注意的係本發明之實施例僅儲存指示錯誤位元之指 標,意即位元址,而非儲存整個資料塊。因此能有效的節 省緩衝器的成本與佔用的空間。 再次由讀取模組1 0 1依序讀取快閃記憶體裝置2中的資 料位元,位址對照模組2 3 0判斷目前讀取之一資料位元的 位址以及暫存器2 2 0中錯誤表2 2 1的錯誤位元址是否符合,Ml ___ 17591 Jin Li.ptd Page 10 1261993 V. Invention Description (5) The error check and the correction code are calculated, and the data is judged according to the result of the operation, and the position of the error bit is judged. If the data is correct, it is transmitted to the system bus 20 by the transmitting module 103. The register 2 2 0 is used to store an indicator indicating the bit of the error data, such as the address of the bit. According to an embodiment, the addresses of the error bits can be recorded in a tabular manner, and reference is made to FIG. 3, which illustrates an example data block 300 containing errors and a register in accordance with an embodiment of the present invention. 2 2 0 error table 2 2 1. In this embodiment, the data block 300 is composed of a 64-bit actual data 3 0 1 and a 7-bit error check and correction (ECC) code. The actual data 3 0 1 contains 2 error bits, which are bit 3 and bit 15 respectively. As described above, when the error check and correction operation module 2 1 0 determines the address of the error bit according to the operation result, that is, the bit address in the data block 300 (hereinafter referred to as a bit address) 3 and 1 5, the address points containing the errors are stored in the error table 2 2 1 as shown. Therefore, the error bit address stored in error table 2 2 1 is in the order of small to large, followed by 3 and 15 . The indicator used to indicate the error bit in the present invention is not limited to the address of the bit. Of course, any other way may be used to indicate the bit in the data block that contains the error, for example, using the relative bias of each element from a specific reference point. Transfer and so on. It should be noted that embodiments of the present invention store only the indicator indicating the error bit, meaning the bit address, rather than storing the entire data block. Therefore, the cost and space occupied by the buffer can be effectively saved. The data bit in the flash memory device 2 is read sequentially by the reading module 1 0 1 , and the address comparison module 2 3 0 determines the address of one of the data bits currently read and the register 2 2 0 error table 2 2 1 error bit address is met,

17591 金麗.ptd 第11頁 1261993 五、發明說明(6) 若兩位元址相符合時,即代表目前所讀取之資料位元係含 有錯誤的。校正模組2 4 0接著校正位址對照模組2 3 0已辨別 出含有錯誤的資料位元。 接著參考第4圖說明根據本發明之實施例的一種處理 錯誤檢查與校正之方法。該方法包括下列步驟: 首先進行步驟4 0 1,令該錯誤檢查與校正運算模組 2 1 0針對依序由讀取模組1 0 1讀取之資料進行運算,產生錯 誤檢查與校正碼,並將之與該資料塊3 0 0中原來的錯誤檢 查與校正碼3 0 2進行錯誤檢查與校正運算,判斷是否該資 料塊無誤。若整個資料塊無錯誤,則進至步驟4 0 9 ;若 否,則執行步驟4 0 2。應注意到在此步驟4 0 1中,僅依序讀 取資料塊3 0 0以執行錯誤檢查與校正運算,而未將整個資 料塊儲存於錯誤檢查與校正處理系統中。因此,不須如習 知般提供儲存整個資料塊之空間以及實施緩衝器所花費的 成本。 於步驟4 0 2中,令該錯誤檢查與校正運算模組 2 1 0找 出錯誤資料位於資料塊3 0 0中之位址,即位元址3與5,並 將該些錯誤位元址記錄於暫存器2 2 0之錯誤表2 2 1中,如同 上述第3圖之方式。進行步驟4 0 3。 在步驟4 0 3中,再次依序讀取快閃記憶體裝置2之資料 位元,令該位址對照模組2 3 0將目前讀取之資料位元址與 目前該錯誤表中的位元址作比對,判斷兩位元址是否相 同。若相同,則代表目前讀取之該位元址含有錯誤,進行 步驟4 0 4 ;若否,則進行步驟4 0 6。於第3圖之資料塊3 0 0的17591 Jin Li.ptd Page 11 1261993 V. Invention Description (6) If the two-digit address matches, it means that the data bit currently read contains errors. The correction module 2404 then corrects the address comparison module 2300 to identify the data bit containing the error. Next, a method of processing error checking and correction according to an embodiment of the present invention will be described with reference to FIG. The method includes the following steps: First, step 4 0 is performed, and the error checking and correction computing module 2 1 0 performs operations on the data sequentially read by the reading module 1 0 1 to generate an error check and a correction code. And it performs error checking and correction calculation with the original error check and correction code 3 0 2 in the data block 300 to determine whether the data block is correct. If there is no error in the entire data block, proceed to step 4 0 9; if no, proceed to step 4 0 2 . It should be noted that in this step 410, only the data block 300 is read sequentially to perform error checking and correction operations without storing the entire data block in the error checking and correction processing system. Therefore, it is not necessary to provide the space for storing the entire data block and the cost of implementing the buffer as is conventional. In step 4 0 2, the error checking and correction computing module 2 1 0 finds that the error data is located in the address in the data block 300, that is, the bit addresses 3 and 5, and records the error bit addresses. In the error table 2 2 1 of the register 2 2 0, as in the manner of the above FIG. Go to step 4 0 3. In step 403, the data bit of the flash memory device 2 is read again in sequence, so that the address comparison module 2300 will read the currently read data bit address and the current bit in the error table. The meta-locations are compared to determine whether the two-dimensional addresses are the same. If they are the same, it means that the bit address currently read contains an error, and step 4 0 4 is performed; if not, step 4 0 6 is performed. In section 3 of the data block 300

17591 金麗.ptd 第12頁 1261993 五、發明說明(7) 實施例中,位址對照模組2 3 0會從第一讀取之位元開始比 對,直到讀取至第三個位元時,錯誤表2 2 1中儲存之錯誤 位元址3與目前讀取之位元址3相同,因此,將進行步驟 4 0 4 ° 於步驟4 0 4中,令該校正模組2 4 0將該資料位元予以校 正,並將此位元送至發送模組1 0 3,以發送至系統匯流排 2 0上。接著進行步驟4 0 5。 於步驟4 0 5中,令該校正模組2 4 0判斷錯誤表目前之錯 誤位元址是否為最後的錯誤位元址。若是,則結束處理錯 誤檢查與校正過程。反之,進行步驟4 0 8。於此實施例 中,若當校正模組2 4 0校正了於位元址3之錯誤資料後,進 至步驟4 0 7,若當校正至位元址1 5之錯誤資料後,由於錯 誤位元址1 5為錯誤表2 2 1中的最後一個記錄之錯誤位元 址,代表所有含有錯誤之資料位元已被更正,因此,結束 此錯誤檢查與校正流程。 於步驟4 0 6中,令該校正模組2 4 0發送此不含錯誤的位 元至發送模組1 0 3,然後進行步驟4 0 7。 於步驟4 0 7中,令該讀取模組1 0 1讀取資料塊的下一位 元,接著回到步驟4 0 3。 於步驟4 0 8中,進至錯誤表中之下一錯誤位元址,然 後回到步驟4 0 7。 於步驟4 0 9中,令讀取模組1 0 1再次依序讀取並發送資 料塊全部之資料位元至發送模組1 0 3,並於完成後,結束 此處理錯誤檢查與校正流程。17591 金丽.ptd Page 12 1261993 V. Invention Description (7) In the embodiment, the address comparison module 203 will start from the first read bit until the third bit is read. When the error bit address 3 stored in the error table 2 2 1 is the same as the bit address 3 currently read, therefore, step 4 0 4 ° is performed in step 4 0 4 to make the correction module 2 4 0 The data bit is corrected and sent to the transmitting module 1 0 3 for transmission to the system bus 20 . Then proceed to step 4 0 5 . In step 405, the correction module 2404 determines whether the current error bit address of the error table is the last error bit address. If yes, the process of error checking and correction is ended. Otherwise, proceed to step 4 0 8. In this embodiment, if the correction module 240 corrects the error data of the bit address 3, it proceeds to step 4 0, and if the error data is corrected to the bit address 15, the error bit is The address 1 5 is the error bit address of the last record in the error table 2 2 1 , indicating that all the data bits containing the error have been corrected, and therefore, the error checking and correction process is ended. In step 406, the correction module 240 sends the error-free bit to the transmitting module 1 0 3, and then proceeds to step 407. In step 407, the read module 1 0 1 reads the next bit of the data block, and then returns to step 4 0 3 . In step 4 0 8, the error bit address is entered in the error table, and then returns to step 4 0 7 . In step 409, the read module 1 0 1 reads and sends all the data bits of the data block to the sending module 1 0 3 in sequence, and after completion, ends the processing error checking and correction process. .

1759]金麗.ptd 第13頁 1261993 五、發明說明(8) 上述實施例僅例示性說明本發明之原理及其功效,而 非用於限制本發明。任何熟習此項技藝之人士均可在不違 背本發明之精神及範疇下,對上述實施例進行修飾與改 變。因此,本發明之權利保護範圍,應如後述之申請專利 範圍所列。1759] Jinli.ptd Page 13 1261993 V. INSTRUCTIONS (8) The above examples are merely illustrative of the principles of the invention and its effects, and are not intended to limit the invention. Modifications and alterations of the above-described embodiments can be made by those skilled in the art without departing from the spirit and scope of the invention. Therefore, the scope of protection of the present invention should be as set forth in the scope of the patent application to be described later.

17591 金麗.ptd 第14頁 1261993 圖式簡單說明 [圖式簡單說明] 第1圖說明微處理器系統中與本發明有關之元件以及 外部快閃記憶體之方塊圖; 第2圖說明應用於快閃控制器中根據本發明一實施例 之錯誤檢查與校正系統; 第3圖說明含有錯誤之資料塊以及根據本發明之一實 施例中暫存器所儲存對應的錯誤表; 第4圖說明根據本發明之一實施例的錯誤檢查與校正 處理流程。 (元件符號說明) 1 微處理器 2 快閃記憶體裝置 10 快閃控制器 20 系統匯流 101 讀取模組 102 錯誤檢查與校正 (ECC)處理系 統 103 發送模組 210 錯誤檢查與校正 (ECC)運算模組 220 暫存器 221 錯誤表 230 位址對照模組 240 校正模組 300 資料塊 301 資料 302 錯誤校正(ECC)碼17591 金丽.ptd Page 14 1261993 Brief description of the drawing [Simple description of the drawing] Fig. 1 is a block diagram showing the components of the microprocessor system and the external flash memory in the microprocessor system; An error check and correction system according to an embodiment of the present invention in a flash controller; FIG. 3 illustrates a data block containing an error and a corresponding error table stored in the register according to an embodiment of the present invention; A flow of error checking and correction processing according to an embodiment of the present invention. (Component Symbol Description) 1 Microprocessor 2 Flash Memory Device 10 Flash Controller 20 System Bus 101 Read Module 102 Error Check and Correction (ECC) Processing System 103 Transmit Module 210 Error Check and Correction (ECC) Operation Module 220 Register 221 Error Table 230 Address Control Module 240 Correction Module 300 Data Block 301 Data 302 Error Correction (ECC) Code

17591 金麗.ptd 第15頁17591 Jin Li.ptd第15页

Claims (1)

1261993 六、申請專利範圍 1. 一種資料錯誤檢查與校正處理的方法,其可應用於一 處理系統之控制器内,該控制器係用以控制與該處理 系統連接之一外部裝置以及處理系統匯流排之間資料 的溝通,該資料錯誤檢查與校正方法包括下列步驟: (1 )令一錯誤檢查與校正運算模組針對讀取自該外 部裝置之該資料塊進行錯誤檢查與校正(ECC ),以判斷 該資料塊是否含有錯誤; (2 )令該錯誤檢查與校正運算模組找出含有錯誤資 料的位元並將指示該含有錯誤資料位元之指標記錄於 一儲存器中; (3 )令一錯誤資料辨別模組根據儲存器中所儲存之 指標,針對自外部裝置再次讀取之目前的資料位元辨 別出含有錯誤之資料位元;以及 (4 )令一校正模組校正該錯誤資料位元。 2. 如申請專利範圍第1項之方法,其中該錯誤資料辨別模 組針對自外部裝置再次讀取之目前的資料位元辨別出 含有錯誤之資料位元之步驟係包括比對目前資料位元 是否為記錄於該儲存器中之指標所指示之位元,若 是,代表由該指標指示之位元含有錯誤。 3. 如申請專利範圍第1項或第2項之方法,其中,該指標 可包括錯誤位元之位址。 4 ·如申請專利範圍第3項之方法,其中該錯誤資料辨別模 組針對自外部裝置再次讀取之目前的資料位元辨別出 含有錯誤之資料位元的步驟包括依序比對目前資料位1261993 VI. Patent Application Range 1. A method for data error checking and correction processing, which can be applied to a controller of a processing system for controlling an external device connected to the processing system and a processing system convergence The data communication between the rows, the data error checking and correction method comprises the following steps: (1) causing an error checking and correction computing module to perform error checking and correction (ECC) on the data block read from the external device, To determine whether the data block contains an error; (2) causing the error checking and correction computing module to find a bit containing the erroneous data and record the indicator indicating the erroneous data bit in a storage; (3) Having an error data identification module identify a data bit containing the error for the current data bit read from the external device based on the indicator stored in the memory; and (4) causing a correction module to correct the error Data bit. 2. The method of claim 1, wherein the error data identifying module identifies the data bit containing the error for the current data bit read from the external device, including comparing the current data bit Whether it is the bit indicated by the indicator recorded in the memory, and if so, the bit indicated by the indicator contains an error. 3. If the method of claim 1 or 2 is applied, the indicator may include the address of the error bit. 4. The method of claim 3, wherein the step of identifying the data bit containing the error for the current data bit read from the external device by the error data discrimination module comprises sequentially comparing the current data bit 17591 金麗.ptd 第16頁 1261993 六、申請專利範圍 元的位址是否符合記錄於儲存器中之指示錯誤位元的 位址,若兩位址相符合,代表目前讀取之位元係含有 錯誤。 5. —種位於一處理系統中之控制器,用以控制與該處理 系統連接之一外部裝置以及處理系統匯流排之間資料 的溝通,該控制器包括: 一讀取模組,依序讀取來自外部裝置之資料; 一錯誤檢查與校正處理系統,判斷由讀取模組讀 取之資料是否有誤,並僅記錄指示含有錯誤之位元的 指標而非儲存整個資料塊,於再次由讀取模組依序讀 取資料時,根據儲存之指標判斷自外部裝置再次讀取 之目前的位元的資料是否有誤,若有誤則校正該位元 的資料;以及 一發送模組,用以將由錯誤檢查與校正處理系統 處理後無誤的資料發送至該處理系統匯流排上。 6. 如申請專利範圍第5項之控制器,其中該錯誤檢查與校 正處理系統判斷由該讀取模組讀取之資料是否有誤係 包括比對目前資料位元是否為記錄之指標所指示之位 元,若是,代表由該指標指示之位元含有錯誤。 7. 如申請專利範圍第5項或第6項之控制器,其中,該指 標可包括錯誤位元之位址。 8. 如申請專利範圍第7項之控制器,其中該錯誤檢查與校 正處理系統判斷由該讀取模組讀取之資料是否有誤包 括依序比對目前資料位元的位址是否符合記錄於儲存17591 金丽.ptd Page 16 1261993 6. Whether the address of the patent scope element meets the address of the error bit recorded in the memory. If the two sites match, it means that the bit currently read contains error. 5. A controller located in a processing system for controlling communication of data between an external device connected to the processing system and a processing system bus, the controller comprising: a reading module, reading in sequence Taking data from an external device; an error checking and correction processing system, determining whether the data read by the reading module is incorrect, and recording only the indicator indicating the bit containing the error instead of storing the entire data block, When the reading module reads the data sequentially, it judges whether the data of the current bit read from the external device is incorrect according to the stored index, corrects the data of the bit if there is an error, and a transmitting module. It is used to send the data processed by the error checking and correction processing system to the processing system bus. 6. The controller of claim 5, wherein the error checking and correction processing system determines whether the data read by the reading module is misidentified, including indicating whether the current data bit is an indicator of the record. The bit, if it is, represents the bit indicated by the indicator contains an error. 7. The controller of claim 5 or 6, wherein the indicator may include the address of the error bit. 8. The controller of claim 7, wherein the error checking and correction processing system determines whether the data read by the reading module is incorrect, including whether the address of the current data bit matches the record sequentially. For storage 1759]金麗.ptd 第17頁 1261993 六、申請專利範圍 器中之位址,若兩位址相符合,代表目前讀取之位元 係含有錯誤。 9.如申請專利範圍第8項之控制器,其中,該儲存器係為 一暫存器。 1 0 . —種資料錯誤檢查與校正處理的系統,其可應用於一 處理系統之控制器内,該控制器係用以控制與該處理 系統連接之一外部裝置以及處理系統匯流排之間資料 的溝通,該資料錯誤檢查與校正的系統包括: 一錯誤檢查與校正運算模組,用以判斷由讀取自 外部裝置之資料是否有誤; 一儲存器,用以儲存該錯誤檢查與校正運算模組 所判斷出指示含有錯誤之位元的指標,而非儲存整個 資料塊; 一錯誤資料辨別模組,用以根據儲存器中之指 標,決定目前讀取之資料是否為錯誤的資料位元;以 及 一校正模組,用以當該錯誤資料辨別模組決定目 前讀取之位元的資料為錯誤時,校正該資料位元。 1 1 ·如申請專利範圍第1 0項之系統,其中該錯誤資料辨別 模組係判斷目前讀取之資料位元是否為記錄於該儲存 器中之指標所指示之位元,若是,代表由該指標指示 之位元含有錯誤。 1 2 ·如申請專利範圍第1 0項或第1 1項之系統,其中,該儲 存器所儲存之指標可包括錯誤位元之位址。1759] Jin Li.ptd Page 17 1261993 VI. The address in the patent application scope, if the two addresses match, it means that the bit currently read contains an error. 9. The controller of claim 8 wherein the reservoir is a register. A system for data error checking and correction processing, which can be applied to a controller of a processing system for controlling data between an external device connected to the processing system and a processing system bus The communication, the data error checking and correction system includes: an error checking and correcting operation module for judging whether the data read from the external device is incorrect; a memory for storing the error checking and correcting operation The module determines that the indicator containing the wrong bit is not stored, instead of storing the entire data block; an error data identification module is configured to determine whether the currently read data is an incorrect data bit according to the indicator in the storage. And a correction module for correcting the data bit when the error data identification module determines that the data of the currently read bit is an error. 1 1 · The system of claim 10, wherein the error data identification module determines whether the currently read data bit is a bit indicated by an indicator recorded in the storage, and if so, the representative The indicator indicated by this indicator contains an error. 1 2 • A system as claimed in claim 10 or item 11, wherein the indicator stored in the memory may include the address of the error bit. 17591 金麗.ptd 第18頁 1261993 六、申請專利範圍 1 3 .如申請專利範圍第1 2項之系統,其中該錯誤資料辨別 模組係包括一位址對照模組,用以依序比對目前資料 位元的位址是否符合記錄於儲存器中之位址,若兩位 址相符合,代表目前讀取之位元係含有錯誤。 1 4 .如申請專利範圍第1 〇項之系統,其中該儲存器可為一 暫存器。17591 金丽.ptd Page 18 1261993 VI. Application for Patent Range 1 3. For the system of claim 12, wherein the error data identification module includes an address comparison module for sequential comparison Whether the address of the current data bit matches the address recorded in the memory. If the two addresses match, it means that the bit currently read contains an error. 1 4. The system of claim 1, wherein the storage device is a temporary storage device. 17591 金麗.ptd 第19頁17591 Jin Li.ptd第19页
TW93114219A 2004-05-20 2004-05-20 System and method for data redundancy checking and correcting TWI261993B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW93114219A TWI261993B (en) 2004-05-20 2004-05-20 System and method for data redundancy checking and correcting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW93114219A TWI261993B (en) 2004-05-20 2004-05-20 System and method for data redundancy checking and correcting

Publications (2)

Publication Number Publication Date
TW200539607A TW200539607A (en) 2005-12-01
TWI261993B true TWI261993B (en) 2006-09-11

Family

ID=37987066

Family Applications (1)

Application Number Title Priority Date Filing Date
TW93114219A TWI261993B (en) 2004-05-20 2004-05-20 System and method for data redundancy checking and correcting

Country Status (1)

Country Link
TW (1) TWI261993B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008073219A1 (en) * 2006-12-08 2008-06-19 Sandforce, Inc. Data redundancy in a plurality of storage devices
TWI617915B (en) * 2017-03-17 2018-03-11 Data verification correction method

Also Published As

Publication number Publication date
TW200539607A (en) 2005-12-01

Similar Documents

Publication Publication Date Title
US8407478B2 (en) Control message signature for device control
US7412575B2 (en) Data management technique for improving data reliability
TWI465897B (en) Systems and methods for error checking and correcting for a memory module
US6092231A (en) Circuit and method for rapid checking of error correction codes using cyclic redundancy check
EP0989681B1 (en) Technique for correcting single-bit errors and detecting paired double-bit errors
WO2009089716A1 (en) Data checking method and device
CN111130689B (en) System and method for transmitting data and data check fields
US7836387B1 (en) System and method for protecting data across protection domain boundaries
US6327688B1 (en) Data bus with automatic data integrity verification and verification method
JPS62251949A (en) Error correcting method for memory device
TWI261993B (en) System and method for data redundancy checking and correcting
US20050144339A1 (en) Speculative processing of transaction layer packets
JP2009295252A (en) Semiconductor memory device and its error correction method
CN115904230A (en) Data verification method, system and device
TWI789453B (en) Memory and method of operating the memory
CN113380303B (en) Memory storage device and data access method
CN114203252A (en) Bad block detection method, device, equipment and storage medium of nonvolatile memory
JP5544099B2 (en) Controller communication method and controller communication device
EP1090462B1 (en) Circuit and method for rapid checking of error correction codes using cyclic redundancy check
JP5966266B2 (en) Data transfer device
US11809272B2 (en) Error correction code offload for a serially-attached memory device
JP2004297442A (en) System and method for transmitting and re-transmitting data
US7661056B2 (en) Circuit arrangement for processing data
CN116820829A (en) Data error correction method and device
JPS6022771B2 (en) Diagnosis method for data error detection and correction circuit