TWI482014B - Memory with dynamic error detection and correction - Google Patents

Memory with dynamic error detection and correction Download PDF

Info

Publication number
TWI482014B
TWI482014B TW101129057A TW101129057A TWI482014B TW I482014 B TWI482014 B TW I482014B TW 101129057 A TW101129057 A TW 101129057A TW 101129057 A TW101129057 A TW 101129057A TW I482014 B TWI482014 B TW I482014B
Authority
TW
Taiwan
Prior art keywords
error correction
logic
data
error
correction code
Prior art date
Application number
TW101129057A
Other languages
Chinese (zh)
Other versions
TW201407340A (en
Inventor
Shih Chang Huang
Han Sung Chen
Original Assignee
Macronix Int 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 Macronix Int Co Ltd filed Critical Macronix Int Co Ltd
Priority to TW101129057A priority Critical patent/TWI482014B/en
Publication of TW201407340A publication Critical patent/TW201407340A/en
Application granted granted Critical
Publication of TWI482014B publication Critical patent/TWI482014B/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

具有動態錯誤偵測及更正的記憶體Memory with dynamic error detection and correction

本發明係關於包含錯誤更正碼邏輯的記憶裝置及系統。The present invention relates to memory devices and systems that include error correction code logic.

使用於積體電路記憶體的記憶體技術朝向使用越來越小的技術節點來開發,而且在單一積體電路晶片中具有越來越大容量的記憶陣列。當記憶胞的技術演進時,感測資料的邊界就變得很緊。此外,記憶胞在因為記憶胞本身和相鄰記憶胞高速和大量存取所導致的記憶胞狀態干擾情況下的資料保存能力也會由於此較緊的邊界而受到限制。The memory technology used in integrated circuit memory is being developed toward the use of smaller and smaller technology nodes, and has an increasingly larger capacity memory array in a single integrated circuit chip. As the technology of memory cells evolves, the boundaries of the sensed data become tight. In addition, the ability of the memory cell to preserve data due to the interference of the memory cell itself and the memory cell state caused by the high speed and large number of accesses of adjacent memory cells is also limited by this tighter boundary.

為了解決這些因為記憶胞尺寸和密度演進產生之較緊的邊界及記憶胞干擾所導致的問題,業界已普遍採用嵌入於積體電路記憶體中的錯誤更正碼。漢明碼是一種熟知的錯誤更正碼型態,可以用於提供單一位元錯誤更正及受保護資料的雙位元錯誤偵測之用。在某些記憶體技術中單一位元偵測或許是不夠的。在此情況下,可以使用例如BCH碼的多重位元錯誤更正碼技術。然而,使用BCH碼會消耗大量的硬體資源,而且其錯誤更正能力仍是有限的。In order to solve the problems caused by the tight boundary and memory cell interference caused by the evolution of memory cell size and density, error correction codes embedded in the integrated circuit memory have been widely used in the industry. Hamming code is a well-known error correction code type that can be used to provide single bit error correction and double bit error detection of protected data. Single bit detection may not be sufficient in some memory technologies. In this case, a multi-bit error correction code technique such as a BCH code can be used. However, using BCH codes consumes a lot of hardware resources, and its error correction capability is still limited.

因此,希望提供一種改良的錯誤更正碼技術,其可以減少此技術在積體電路中所消耗的硬體資源同時又能增加其錯誤更正的表現。Accordingly, it would be desirable to provide an improved error correction code technique that can reduce the hardware resources consumed by the technology in an integrated circuit while at the same time increasing the performance of its error correction.

此處所描述之技術係提供一種改良的錯誤更正碼技術,其使用一錯誤更正表格而可以嵌入於一積體電路記憶裝置中。此錯誤更正表格包含當進行一資料讀取操作時所偵測並更新的錯誤而產生的項目。於後續讀取時,此表格中的項目藉由在資料輸入到錯誤更正碼邏輯之前將自此陣列輸出的資料與更正位元整合而不需要插入寫入或更新操作,錯誤更正碼邏輯係用來將對應的資料加上錯誤更正碼以產生錯誤檢查資料。The techniques described herein provide an improved error correction code technique that can be embedded in an integrated circuit memory device using an error correction table. This error correction table contains items that are generated when an error is detected and updated while performing a data read operation. For subsequent reads, the items in this table integrate the data output from this array with the correction bits before the data is entered into the error correction code logic without inserting a write or update operation. The error correction code logic is used. To add the error correction code to the corresponding data to generate error check data.

此錯誤更正表格可以被稱為一"動態"地錯誤更正表格,因為其用來暫時地更正由錯誤更正碼(ECC)保護之資料中的錯誤,此錯誤更正碼(ECC)或許會在此資料的寫入或更新間發生。此外,此表格是"動態"的也因為於後續在資料寫入或更新間的讀取操作時會自動的更動。使用此錯誤更正表格,因為舉例而言讀取操作重複偏壓所造成的"讀取干擾"而導致記憶胞狀態的劣化之錯誤累積可以被紀錄且更正。This error correction form can be referred to as a "dynamic" error correction form because it is used to temporarily correct errors in the material protected by the error correction code (ECC). This error correction code (ECC) may be in this material. Occurs between writes or updates. In addition, this table is "dynamic" and is also automatically changed during subsequent read operations between data writes or updates. The error correction table is used using this error because, for example, the "read disturb" caused by the repeated operation of the read operation causes the error accumulation of the deterioration of the memory cell state to be recorded and corrected.

本發明的其它目的和優點,會在下列實施方式以及申請專利範圍的章節中搭配圖式被描述。Other objects and advantages of the present invention will be described in conjunction with the drawings in the following embodiments and the scope of the claims.

為進一步說明各實施例,本發明之實施例乃提供有圖式第1圖到第10圖。此些圖式乃為本發明揭露內容之一部分,其主要係用以說明實施例,並可配合說明書之相關描述來解釋實施例的運作原理。配合參考這些內容,本領域具有通常知識者應能理解其他可能的實施方式以及本發明之優點。To further illustrate the various embodiments, embodiments of the present invention are provided with Figures 1 through 10 of the drawings. The drawings are a part of the disclosure of the present invention, and are mainly used to explain the embodiments, and the operation of the embodiments may be explained in conjunction with the related description of the specification. With reference to such content, those of ordinary skill in the art should be able to understand other possible embodiments and advantages of the present invention.

第1圖和第2圖顯示應用於記憶系統中的基本錯誤更正碼(ECC)之邏輯結構。第1圖顯示一記憶體20,其可以是具有錯誤更正碼(ECC)邏輯的積體電路記憶體以在讀取操作中控制對應的資料流。於一讀取操作時定址記憶體20的資料,被定址的資料被傳送至一緩衝器22及錯誤更正碼(ECC)邏輯21,而與被定址資料相關的錯誤更正碼(ECC)也傳送至錯誤更正碼(ECC)邏輯21。此被定址資料包括例如是一頁面或是其他多重位元組資料的一組資料,且根據此組資料算出錯誤更正碼(ECC)。此錯誤更正碼(ECC)邏輯21決定定址的資料中是否包含一個或多個錯誤,且所偵測到的一個或多個錯誤是否可以被更正。在一給定應用的錯誤檢查資料中的錯誤數目及是否可被更正係根據所使用的錯誤更正碼(ECC)種類決定。假如錯誤可以被更正,則自錯誤更正碼(ECC)邏輯21產生的更正資料會與具有將此定址資料與更正資料合併的邏輯23之緩衝器22中的定址資料結合。然後,此具有更正資料合併的錯誤檢查區塊提供作為輸出。Figures 1 and 2 show the logical structure of the basic error correction code (ECC) applied to the memory system. Figure 1 shows a memory 20, which may be an integrated circuit memory with error correction code (ECC) logic to control the corresponding data stream during a read operation. The data addressed to the memory 20 during a read operation, the addressed data is transferred to a buffer 22 and error correction code (ECC) logic 21, and the error correction code (ECC) associated with the addressed material is also transmitted to Error Correction Code (ECC) Logic 21. The addressed data includes, for example, a set of data for a page or other multi-byte data, and an error correction code (ECC) is calculated based on the set of data. This error correction code (ECC) logic 21 determines whether one or more errors are included in the addressed data and whether one or more of the detected errors can be corrected. The number of errors in the error check data for a given application and whether it can be corrected is determined by the type of error correction code (ECC) used. If the error can be corrected, the correction data generated from the error correction code (ECC) logic 21 will be combined with the address data in the buffer 22 having the logic 23 that merges the addressed data with the corrected data. This error check block with the corrected data merge is then provided as an output.

第2圖顯示此記憶體20,其可以是具有錯誤更正碼(ECC)邏輯的積體電路記憶體以在讀取操作中控制對應的資料流。於一寫入資料於定址在此記憶體20一區塊的操作時,即將被寫入的資料被傳送至一緩衝器22。通常是平行地方式,錯誤更正碼(ECC)邏輯21計算與此資料相關將被儲存的錯誤更正碼(ECC)。來自緩衝器22的資料及來自錯誤更正碼(ECC)邏輯21的錯誤更正碼(ECC)被儲存於記憶體20內。Figure 2 shows this memory 20, which may be an integrated circuit memory with error correction code (ECC) logic to control the corresponding data stream during a read operation. When a data is written to an operation of a block of the memory 20, the data to be written is transferred to a buffer 22. Usually in a parallel manner, error correction code (ECC) logic 21 calculates an error correction code (ECC) that will be stored in association with this material. The data from the buffer 22 and the error correction code (ECC) from the error correction code (ECC) logic 21 are stored in the memory 20.

在第1圖和第2圖中所示的錯誤更正碼(ECC)邏輯21 和緩衝器22可以以許多不同的實施方式組態於一記憶系統中。舉例而言,錯誤更正碼(ECC)邏輯21和緩衝器22可以使用一個主處理器的操作系統實施。此外,錯誤更正碼(ECC)邏輯21和緩衝器22可以實施於一個通常與其他記憶裝置搭配的記憶體控制裝置中,其係用來控制記憶體20。在其他的實施例中,錯誤更正碼(ECC)邏輯21和緩衝器22可以嵌入於具有記憶陣列的積體電路內。Error Correction Code (ECC) Logic 21 shown in Figures 1 and 2 And buffer 22 can be configured in a memory system in many different implementations. For example, error correction code (ECC) logic 21 and buffer 22 may be implemented using an operating system of a host processor. In addition, error correction code (ECC) logic 21 and buffer 22 can be implemented in a memory control device that is typically associated with other memory devices for controlling memory 20. In other embodiments, error correction code (ECC) logic 21 and buffer 22 may be embedded within an integrated circuit having a memory array.

第3A圖顯示一個類似於第1圖及第2圖所示的錯誤更正碼(ECC)系統的表現圖,在此情況下資料在被更新或是被新資料覆蓋之前係被寫入一次及讀取多次。對於此種情況,讀取數目係沿著橫軸反映,而在一給定讀取區塊中的錯誤數目係沿著縱軸反映。如同之前所描述過的,在許多現代的記憶體技術中,讀取操作會干擾儲存在定址記憶胞中的資料或是此資料會在長時間中累積錯誤因為此記憶胞技術中的其他干擾源或是特性的關係。第3A圖顯示在一系列的讀取操作中,在定址資料偵測的錯誤數目可以到達與此定址資料相關的錯誤更正碼(ECC)邏輯的上限。假如此上限到達一記憶系統所部署的數目,則此記憶體變得不可靠。Figure 3A shows a representation of an error correction code (ECC) system similar to that shown in Figures 1 and 2, in which case the data is written and read before being updated or overwritten by new data. Take multiple times. For this case, the number of reads is reflected along the horizontal axis, and the number of errors in a given read block is reflected along the vertical axis. As described earlier, in many modern memory technologies, read operations can interfere with data stored in addressed memory cells or this data can accumulate errors over time because of other sources of interference in this memory cell technology. Or the relationship of characteristics. Figure 3A shows that in a series of read operations, the number of errors detected in the addressed data can reach the upper limit of the error correction code (ECC) logic associated with the addressed data. If the upper limit reaches the number deployed by a memory system, the memory becomes unreliable.

第3B圖顯示一個於多重讀取中所發生的問題之簡要示意圖。在第3B圖中,此系列先開始一程式化操作30(或寫入操作)。之後,對在程式化操作中所寫入的資料進行讀取操作31。之後再進行一系列時間分佈間隔為隨意選取的讀取操作32、33、34、35、36、37。在此範例中,於讀取32時偵測到單一位元錯誤。此錯誤更正碼(ECC)邏輯能夠更正此錯誤所以正確的資料被傳 送至主機。在後續的讀取33時,偵測到相同的單一位元錯誤。一段時間之後,下一個讀取34時,偵測到三個位元錯誤,其包括原本的單一位元錯誤及額外的兩個位元錯誤。假如其具有足夠的深度的話,此錯誤更正碼(ECC)邏輯或許能夠更正此三個位元錯誤,或是會是超過此錯誤更正碼(ECC)邏輯的上限。第3B圖顯示下一個讀取35時仍偵測到相同的三個位元錯誤。一段時間之後,下一個讀取36時,偵測到四個位元錯誤,其包括原本的三個位元錯誤及額外的一個位元錯誤。類似地,下一個讀取37還是偵測到相同的四個位元錯誤。因此,第3B圖顯示一系列的讀取操作時所累積的錯誤數目,如第3A圖所示。Figure 3B shows a simplified schematic of what is going on in multiple reads. In Figure 3B, the series begins a stylized operation 30 (or write operation). Thereafter, a read operation 31 is performed on the data written in the stylization operation. A series of read operations 32, 33, 34, 35, 36, 37 with a time distribution interval of arbitrarily selected are then performed. In this example, a single bit error was detected while reading 32. This error correction code (ECC) logic can correct this error so the correct data is passed Send to the host. At the subsequent read 33, the same single bit error was detected. After a period of time, the next read 34, three bit errors were detected, including the original single bit error and the extra two bit errors. This error correction code (ECC) logic may be able to correct these three bit errors, or may exceed the upper limit of this error correction code (ECC) logic, if it has sufficient depth. Figure 3B shows that the same three bit errors are still detected when the next read 35. After a period of time, the next read 36, four bit errors were detected, including the original three bit errors and an additional one bit error. Similarly, the next read 37 still detects the same four bit errors. Thus, Figure 3B shows the number of errors accumulated during a series of read operations, as shown in Figure 3A.

第4A圖是一個類似於第3A圖的圖式,然而,其是使用本發明所描述之技術的結果。特別是,在程式化之後的一系列讀取操作中,並不需要進行更新或是覆蓋資料就可以不斷地持續程序的進行而不會使錯誤累積到達超過錯誤更正碼(ECC)邏輯的上限。Figure 4A is a diagram similar to Figure 3A, however, which is the result of using the techniques described herein. In particular, in a series of read operations after stylization, the program can be continuously continued without updating or overwriting the data without accumulating the error beyond the upper limit of the error correction code (ECC) logic.

第4B圖顯示一個與第3B圖類似的比較圖。在第4B圖中,顯示使用本發明所描述之技術的結果而與第3B圖進行對比,此系列的讀取會遇到第3B圖中所式的相同位元錯誤情況。此系列會先開始一程式化操作40,之後,進行第一讀取操作41。之後再進行一系列的讀取操作42、43、44、45、46、47。在此範例中,於讀取42時由錯誤更正碼(ECC)邏輯偵測到單一位元錯誤。此錯誤更正碼(ECC)邏輯能夠更正此錯誤,所以正確的資料被提供。此外,以下也將會具體描述一錯誤更正表格,在此範例中係應用一個內容可定址記憶體 (CAM),寫入一個包括此定址資料的位址及辨識所偵測錯誤的項目。在下一個讀取43時,在將其施加至錯誤更正碼(ECC)邏輯之前使用此錯誤更正表格來更正先前所偵測到的錯誤。因此,於第二讀取43時,在錯誤更正碼(ECC)邏輯中沒有偵測到錯誤。在下一個讀取44時,偵測到兩個位元錯誤,其與已經使用錯誤更正表格來更正的錯誤不同。在此範例中,可以使用錯誤更正碼(ECC)邏輯來更正此兩個位元的錯誤,且會在錯誤更正表格中為這兩個新偵測到的錯誤產生兩個新的項目。於下一個讀取45時,因為已經使用錯誤更正表格來更正此兩個位元的錯誤,在錯誤更正碼(ECC)邏輯中沒有偵測到錯誤。最後,於讀取46時,偵測到單一位元錯誤。此錯誤可以使用錯誤更正碼(ECC)邏輯來更正,且會在錯誤更正表格中產生一個新的項目。於下一個讀取47時,沒有偵測到錯誤。因此,使用此處所描述之技術即使是發生新的錯誤,仍可以持續進行一系列的讀取操作而不會超過錯誤更正碼(ECC)系統的上限。Figure 4B shows a comparison chart similar to Figure 3B. In Figure 4B, the results of using the techniques described herein are shown in comparison with Figure 3B, which would encounter the same bit error condition as described in Figure 3B. This series begins with a stylized operation 40, after which a first read operation 41 is performed. A series of read operations 42, 43, 44, 45, 46, 47 are then performed. In this example, a single bit error is detected by Error Correction Code (ECC) logic upon reading 42. This error correction code (ECC) logic can correct this error, so the correct material is provided. In addition, an error correction table will be specifically described below, in which a content addressable memory is applied. (CAM), writes an address that includes the address data and identifies the detected error. At the next read 43, this error correction table is used to correct previously detected errors before applying them to error correction code (ECC) logic. Therefore, at the second read 43, no error is detected in the error correction code (ECC) logic. At the next read 44, two bit errors are detected, which are different from the ones that have been corrected using the error correction table. In this example, error correction code (ECC) logic can be used to correct the errors for these two bits, and two new items are generated for the two newly detected errors in the error correction table. At the next read 45, no errors were detected in the Error Correction Code (ECC) logic because the error correction table has been used to correct the errors of the two bits. Finally, a single bit error was detected while reading 46. This error can be corrected using Error Correction Code (ECC) logic and a new item will be generated in the error correction form. No error was detected at the next read 47. Thus, using the techniques described herein, even if a new error occurs, a series of read operations can continue without exceeding the upper limit of the error correction code (ECC) system.

第5圖顯示一個使用上述之錯誤偵測表之積體電路100的方塊是意圖。此積體電路100包括一記憶陣列200。一輸入/輸出緩衝器201包括接收和傳送資料以及位址信號的電路與例如是記憶體控制器或是主機處理器等外部裝置溝通。一控制輸入/輸出方塊202包括接收和傳送與外部裝置進行溝通的控制信號的電路,包括例如是晶片致能信號、寫入致能信號、和時鐘信號等等。一命令解碼器203與輸入/輸出緩衝器201和控制輸入/輸出方塊202耦接,其偵測和導致記憶體操作時的命令的執行,包括讀取命令和寫入命令。在某些技術 中寫入命令包括程式化和抹除命令。此命令解碼器203與行(X)解碼器204和列(Y)選擇器205耦接以存取此記憶陣列200。感測放大器206經由列選擇器205與此記憶陣列200耦接。此積體電路100中亦具有控制器210。Fig. 5 shows an intent of a block circuit 100 using the above-described error detection table. The integrated circuit 100 includes a memory array 200. An input/output buffer 201 includes circuitry for receiving and transmitting data and address signals and communicating with external devices such as a memory controller or a host processor. A control input/output block 202 includes circuitry for receiving and transmitting control signals for communicating with external devices, including, for example, wafer enable signals, write enable signals, and clock signals, and the like. A command decoder 203 is coupled to the input/output buffer 201 and the control input/output block 202, which detects and causes the execution of commands at the time of memory operation, including read commands and write commands. In some technologies The write commands include stylized and erase commands. This command decoder 203 is coupled to row (X) decoder 204 and column (Y) selector 205 to access this memory array 200. The sense amplifier 206 is coupled to the memory array 200 via a column selector 205. The integrated circuit 100 also has a controller 210.

此控制器210可以包括一個或多個狀態機構、暫存器檔以及其他用來操作執行包括讀取和寫入記憶體功能的邏輯電路。此控制器可以使用一個或多個專屬邏輯電路、可程式閘極陣列電路、可程式處理器及其相關軟體、或是上述電路的組合來實施。在某些實施例中,一部分的控制器功能可以放在積體電路100外實施,舉例而言,與記憶體控制器或是主機處理器相關的硬體或軟體。The controller 210 can include one or more state mechanisms, scratchpad files, and other logic circuitry for operationally performing functions including reading and writing memory. The controller can be implemented using one or more proprietary logic circuits, a programmable gate array circuit, a programmable processor and its associated software, or a combination of the above. In some embodiments, a portion of the controller functions can be implemented outside of the integrated circuit 100, for example, hardware or software associated with the memory controller or host processor.

此積體電路100也包括錯誤更正碼(ECC)層207,如顯示於此範例圖中與輸入/輸出緩衝器201耦接。此錯誤更正碼(ECC)層207包括如第1圖和第2圖中所示的錯誤更正碼(ECC)邏輯和緩衝器,且提供此積體電路一個嵌入式錯誤更正碼(ECC)邏輯。必須注意的是在某些應用中,錯誤更正碼(ECC)層207的某些功能可以放在積體電路100外實施,舉例而言,與記憶體控制器或是主機處理器相關的硬體或軟體。The integrated circuit 100 also includes an error correction code (ECC) layer 207, as shown in this example diagram, coupled to the input/output buffer 201. This error correction code (ECC) layer 207 includes error correction code (ECC) logic and buffers as shown in Figures 1 and 2, and provides an integrated error correction code (ECC) logic for the integrated circuit. It must be noted that in some applications, certain functions of the error correction code (ECC) layer 207 may be implemented outside of the integrated circuit 100, for example, hardware associated with the memory controller or host processor. Or software.

一個錯誤更正表格208也包括於此積體電路100中。在此範例中的錯誤更正表格208係使用錯誤更正表格208來實施。表格208的輸入包括一定址位元的位址,在此範例中其包括由命令解碼器203輸出的行位址和列位址。此外,表格208的輸入也包括自錯誤更正碼(ECC)層207對一偵測且更正錯誤的定址資料之位元位址。此錯誤更正表格208的輸出是一個匹配信號,其會 施加至此圖中標示為互斥或閘(XOR)的邏輯輸入之一,其會將自錯誤更正表格208的更正錯誤與由感測放大器206提供的資料合併,因此動態地更正與表格208的一對應項目之定址資料中的錯誤。A error correction table 208 is also included in the integrated circuit 100. The error correction table 208 in this example is implemented using the error correction table 208. The input to table 208 includes the address of the address bit, which in this example includes the row address and column address output by command decoder 203. In addition, the input to table 208 also includes a bit address from the error correction code (ECC) layer 207 for detecting and correcting the erroneous address data. The error correction table 208 output is a match signal, which will One of the logic inputs labeled as Mutual Exclusions or Gates (XOR) is applied to this figure, which will merge the correction errors from the error correction table 208 with the data provided by the sense amplifier 206, thus dynamically correcting one with the table 208 Corresponding to the error in the location data of the project.

在一範例實施中,此組感測放大器206中的每一個感測放大器可以與一定址資料中的一特定位元位址相關。此表格208可以邏輯地或實體地區段化,且因此包括與每一個感測放大器相關的區段。此表格208也可以組態為對每一個區段傳送其匹配信號。一個互斥或閘可以與每一個感測放大器相關,其與來自表格的對應匹配信號耦接。在其他的範例中,來自感測放大器206中的定址資料可以依序傳送通過整合邏輯,其會將位元更正施加至合適的位元位址。In an example implementation, each of the set of sense amplifiers 206 can be associated with a particular bit address in the address data. This table 208 can be logically or physically segmented and thus includes segments associated with each sense amplifier. This table 208 can also be configured to transmit its match signal for each segment. A mutex or gate can be associated with each sense amplifier that is coupled to a corresponding match signal from the table. In other examples, the addressed data from the sense amplifier 206 can be transmitted sequentially through the integration logic, which will apply the bit correction to the appropriate bit address.

第6圖顯示使用一個內容可定址記憶體(CAM)儲存之錯誤更正表格250的組態示意圖。第6圖所示的表格包括複數個項目。此表格250是一個儲存於一個內容可定址記憶體(CAM)內的資料結構,使得輸入與每一個項目中的內容進行比較,且將每一個項目的輸出進行邏輯"或"的匹配,如同符號251所指示的,以在線252上提供匹配信號。此表格中的每一個項目包括一"正確/不正確"旗標FL,其指示對應的項目是否被使用且目前正確與否。此FL旗標由控制器210中的邏輯或是積體電路中的其他邏輯電路在產生此表格的項目時設定。此表格中的每一個項目包括一資料位址,在此範例中其包含每一個定址資料組的行位址及列位址。此資料位址可以對每一個項目在控制器中的控制邏輯或是積體電路中的其他邏輯電路控制下,使用由儲存在命令解碼器203的暫存器中之資料,或是在列解碼器204及行解碼器203的暫存器中之資料提 供。此外,此表格中的每一個項目包括一位元位址來辨識即將被此表格進行更正的錯誤。此位元位址可以在偵測到錯誤時由此裝置之錯誤更正碼(ECC)層207的錯誤更正碼(ECC)邏輯提供。Figure 6 shows a schematic diagram of the configuration of an error correction table 250 stored using a content addressable memory (CAM). The table shown in Figure 6 includes a plurality of items. This table 250 is a data structure stored in a content addressable memory (CAM), such that the input is compared with the content in each item, and the output of each item is logically ORed, like a symbol. A match signal is provided on line 252 as indicated by 251. Each item in this table includes a "correct/incorrect" flag FL indicating whether the corresponding item is being used and is currently correct or not. This FL flag is set by the logic in controller 210 or other logic in the integrated circuit when generating the entries for this table. Each item in this table includes a data address, which in this example contains the row and column addresses of each addressed data set. This data address can be used by the control logic in the controller or other logic circuits in the integrated circuit, using the data stored in the register of the command decoder 203, or in the column decoding. The data in the register of the device 204 and the row decoder 203 for. In addition, each item in this table includes a one-bit address to identify the error that will be corrected by this form. This bit address can be provided by the error correction code (ECC) logic of the error correction code (ECC) layer 207 of the device upon detection of an error.

此表格208對每一個區塊位址可以包含一個或多個項目,以允許於一系列讀取時進行多個位元更正。此表格的大小可以在設計此積體電路時根據實施此表格的成本(會根據表格的大小而增加)和此裝置所預期的錯誤率表現特性(例如位元錯誤率BER)之間作取捨。This table 208 can contain one or more items for each block address to allow for multiple bit corrections for a series of reads. The size of this table can be chosen when designing this integrated circuit based on the cost of implementing the table (which will increase according to the size of the table) and the error rate performance characteristics expected by the device (eg, bit error rate BER).

此表格可以包含較此陣列中由特定感測放大器供應之行資料位元更少的項目。因此,或許會發生表格不夠用的情況。在此情況下,控制器210中可以包括決定是否要將舊的項目拋棄而使用新產生的項目覆蓋之邏輯。舉例而言,控制器中的邏輯可以辨識具有表格中位元錯誤最多的項目之區塊資料(例如頁面)。與這些頁面相關的項目可以被設定為不正確。當一給定資料的項目被設定為不正確時,控制器210中的邏輯可以產生一個信號以響應此受到影響的頁面已經立刻或是當具有可用資源時會執行更新。替代地,控制器中的邏輯可以辨識具有表格中位元錯誤最少的項目之頁面。因為假設這些頁面的後續讀取較不可能於覆蓋之前發生,或是此錯誤更正碼(ECC)邏輯仍然可以在後續讀取時具有更新如此錯誤的能力,而將與這些頁面相關的項目可以被設定為不正確。This table can contain fewer items than the rows of data supplied by a particular sense amplifier in this array. Therefore, it may happen that the form is not enough. In this case, the controller 210 may include logic to decide whether to abandon the old project and use the newly generated project coverage. For example, the logic in the controller can identify block data (eg, pages) of the item with the most bit errors in the table. Items related to these pages can be set to be incorrect. When an item of a given material is set to be incorrect, the logic in controller 210 can generate a signal to perform an update in response to the affected page being immediately or when available resources are available. Alternatively, the logic in the controller can identify the page with the item with the least bit error in the table. Because it is assumed that subsequent reads of these pages are less likely to occur before the overlay, or that the error correction code (ECC) logic can still have the ability to update such errors on subsequent reads, the items associated with these pages can be Set to incorrect.

第7圖顯示一個類似於第5圖之積體電路100,其中類似的元件使用類似的參考標號而不再重新描述。在此積體電路101中,將使用表格208更正的錯誤與經由感測放大器206所讀取的資料進行整合的邏輯標示為一多工器,其中來自表格208的錯誤值提供作為多工器的第 一輸入,而來自感測放大器206的資料提供作為多工器219的第二輸入。來自表格208的匹配信號MATCH提供作為多工器219的選擇輸入。在此互斥閘(XOR)實施例中,可以對此讀取資料的感測放大器206群組中的每一個感測放大器搭配一個多工器。此表格中的項目可以是邏輯地或實體地區段以根據所偵測錯誤的位元位址提供匹配信號給每一個多工器。Figure 7 shows an integrated circuit 100 similar to Figure 5, in which like elements are referred to by like reference numerals and will not be described again. In the integrated circuit 101, the logic that integrates the error corrected using the table 208 with the data read via the sense amplifier 206 is labeled as a multiplexer, wherein the error value from the table 208 is provided as a multiplexer. First An input, while data from sense amplifier 206 is provided as a second input to multiplexer 219. The match signal MATCH from table 208 provides a selection input as multiplexer 219. In this mutual exclusion gate (XOR) embodiment, each sense amplifier in the group of sense amplifiers 206 that read the data can be paired with a multiplexer. The items in this table can be logically or physically segmented to provide a match signal to each multiplexer based on the detected bit address.

第5圖和第7圖兩者皆顯示包括一儲存資料和錯誤更正碼(ECC)於可定址位置之記憶陣列的積體電路實施例,此可定址位置包括舉例而言使用晶片中錯誤更正碼(ECC)邏輯先前所決定之至少一個具有一個或多個錯誤的資料位置;一內容可定址記憶體CAM,包括儲存先前所決定之至少一個具有一個或多個錯誤的資料位置之位址的項目;及安置介於記憶陣列與錯誤更正碼(ECC)邏輯資料路徑的邏輯,以使用此內容可定址記憶體CAM於使用錯誤更正碼(ECC)邏輯之前來更正此定址資料中的錯誤。Both Figure 5 and Figure 7 show an integrated circuit embodiment including a memory array storing data and error correction codes (ECC) at addressable locations, including, for example, the use of error correction codes in the wafer. (ECC) logic previously determined at least one data location having one or more errors; a content addressable memory CAM comprising an item storing a previously determined address of at least one data location having one or more errors And placing logic between the memory array and the error correction code (ECC) logic data path to use the content addressable memory CAM to correct errors in the addressed data prior to using error correction code (ECC) logic.

第8圖是一個顯示與一讀取操作相關的流程圖,此讀取操作係利用積體電路100、101上的邏輯來實施,其包括控制器210中的邏輯電路、命令解碼器203和錯誤更正碼(ECC)層207等等。第一步驟包括決定此積體電路是否接收一命令(301)?如同迴圈所指示的此邏輯電路等候到接收一命令。在下一步驟中,此邏輯電路決定所接收到命令的種類(302)。為了描述簡易起見,假如此命令不是一讀取命令,則此邏輯會分支去執行其他功能(312)。假如此命令是一個讀取命令,則此邏輯導致對此記憶陣列中的定址資料進行存取(303)。此外,此邏輯導致使用區塊位址對此錯誤更正表格進行存取 (304)。此邏輯決定是否在表格中找到定址資料的正確項目(305)。假如決定是正確項目,則將來自表格的項目與資料進行整合而更正定址資料。之後,或者在步驟305的表格中沒有找到正確項目,此邏輯繼續供應更正定址資料至錯誤更正碼邏輯。此錯誤更正碼邏輯然後輸出更正過的錯誤檢查區塊(308)。此邏輯決定錯誤檢查區塊中是否存在任何更正過的錯誤(309),舉例而言,藉由接收來自錯誤更正碼(ECC)邏輯的信號後來決定。假如存在更正過的錯誤,則對所辨識的錯誤之區塊位址於表格中產生一個新的項目(310)。假如步驟309中沒有存在更正過的錯誤,則此邏輯可以分支去執行其他功能(314)。Figure 8 is a flow chart showing the operation associated with a read operation using logic on integrated circuits 100, 101, including logic in controller 210, command decoder 203, and errors. Correction code (ECC) layer 207 and the like. The first step includes determining whether the integrated circuit receives a command (301)? This logic circuit, as indicated by the loop, waits to receive a command. In the next step, this logic determines the type of command received (302). For simplicity of description, if the command is not a read command, then the logic branches to perform other functions (312). If the command is a read command, then the logic causes access to the addressed data in the memory array (303). In addition, this logic causes access to this error correction table using the block address. (304). This logic determines whether the correct item for the addressed data is found in the table (305). If the decision is the correct one, the project from the form is integrated with the data to correct the addressed information. Thereafter, or if the correct item is not found in the table of step 305, the logic continues to supply the corrected addressing data to the error correction code logic. This error corrects the code logic and then outputs the corrected error check block (308). This logic determines if there are any corrected errors (309) in the error checking block, for example, by receiving a signal from Error Correction Code (ECC) logic. If there is a corrected error, a new item is generated in the table for the block location of the identified error (310). If there are no corrected errors in step 309, then this logic can branch to perform other functions (314).

第9圖是一個顯示與一寫入或是更新操作相關的流程圖,此操作係利用積體電路100、101上的邏輯來實施,其包括控制器210中的邏輯電路、命令解碼器203和錯誤更正碼(ECC)層207等等。第一步驟包括決定此積體電路是否接收一命令(351)?如同迴圈所指示的此邏輯電路等候到接收一命令。在下一步驟中,此邏輯電路決定所接收到命令的種類(352)。為了描述簡易起見,假如此命令不是一寫入或是更新命令,則此邏輯會分支去執行其他功能。假如此命令是一個寫入或是更新命令,則此邏輯導致對此記憶陣列中的定址資料進行存取(353)。此外,此邏輯導致使用區塊位址對此錯誤更正表格進行存取(354)。此邏輯決定是否在表格中找到定址資料的正確項目(355)。假如在步驟305的表格中沒有找到正確項目,則此管理與寫入或是更新相關表格的流程就完成了。假如對此區塊位址中找到正確項目,則此項目會藉由設定為不正確或是未使用而加以拋棄(356),其可以藉由設定第5圖中的FL旗標來達成。替代地,此項目可以藉由抹除整個項目或是設 定至其預設值來拋棄。Figure 9 is a flow diagram showing the operation associated with a write or update operation, which is implemented using logic on integrated circuits 100, 101, which includes logic circuitry in controller 210, command decoder 203, and Error Correction Code (ECC) layer 207 and the like. The first step includes determining whether the integrated circuit receives a command (351)? This logic circuit, as indicated by the loop, waits to receive a command. In the next step, the logic determines the type of command received (352). For the sake of simplicity, if the command is not a write or update command, the logic branches to perform other functions. If the command is a write or update command, then the logic causes access to the addressed data in the memory array (353). In addition, this logic causes access to this error correction table using the block address (354). This logic determines whether the correct item for the addressed data is found in the table (355). If the correct item is not found in the table in step 305, the process of managing and writing or updating the related form is completed. If the correct item is found in the block address, the item will be discarded (356) by setting it incorrectly or not, which can be achieved by setting the FL flag in Figure 5. Alternatively, this project can be done by erasing the entire project or Set to its default value to discard.

第10圖是一個顯示與於表格中產生一個新項目操作相關的流程圖,此操作係利用積體電路100、101上的邏輯來實施,其包括控制器210中的邏輯電路、命令解碼器203和錯誤更正碼(ECC)層207等等。第一步驟包括決定此積體電路是否接收一個產生新項目的命令(381)?如同迴圈所指示的此邏輯電路等候到接收一個產生新項目的命令。如此的信號可以在偵測到定址資料中具有一個或以上的錯誤時,由錯誤更正碼(ECC)層207產生。在下一步驟中,此邏輯電路決定此表格中是否具有可用的空間(382)。假如具有可用的空間,則此流程前進至步驟384寫入一個新的項目。是否具有可用的空間可以由掃描FL旗標來決定是否有任何指示具有一個未使用項目的旗標。假如沒有可用的空間,則此邏輯決定要覆蓋一個項目。一個決定要將一項目覆蓋的技術是決定此表格中具有最少項目的區塊位址,且選取這些項目之一。另一種選取一項目的技術則是將欲覆蓋的項目重置,導致邏輯重新掃描此表格以發現指示具有一個未使用項目的旗標。Figure 10 is a flow diagram showing the operation associated with generating a new item in a table, which is implemented using logic on integrated circuits 100, 101, which includes logic in controller 210, command decoder 203. And error correction code (ECC) layer 207 and so on. The first step includes determining whether the integrated circuit receives a command to generate a new item (381)? This logic, as indicated by the loop, waits to receive a command to generate a new item. Such a signal may be generated by an error correction code (ECC) layer 207 when one or more errors are detected in the addressed data. In the next step, this logic determines if there is space available in this table (382). If there is space available, then the flow proceeds to step 384 to write a new item. Whether there is space available can be determined by scanning the FL flag to see if there is any flag indicating that there is an unused item. If there is no space available, this logic decides to overwrite an item. One technique that decides to cover a project is to determine the block address with the fewest items in the table and select one of these items. Another technique for selecting a destination is to reset the item to be overwritten, causing the logic to rescan the table to find a flag indicating that there is an unused item.

此處所描述的技術其藉由使用錯誤更正碼(ECC)技術而大幅改善記憶體的可靠性。此外,錯誤更正碼(ECC)效率可以使用應用內容可定址記憶體CAM實施的錯誤更正表格來最佳化。與此技術相關的硬體負擔十分小,且可以延伸至僅對定址資料中偵測及更正一個或少數位元的錯誤更正碼(ECC)系統的設計。因此,一個設計用來更正單一位元錯誤的錯誤更正碼(ECC)系統可以用於一系列讀取時更正許多錯誤而不需要插入寫入或更新操作。當此錯誤更正碼(ECC)系統設計用來更正多重位元錯誤時,此處所描述的技術能力可以進一步擴展,以致能於 系列讀取時更正大量錯誤的能力。The techniques described herein greatly improve the reliability of the memory by using error correction code (ECC) techniques. In addition, error correction code (ECC) efficiency can be optimized using an error correction table implemented by the application content addressable memory CAM. The hardware burden associated with this technology is very small and can be extended to the design of error correction code (ECC) systems that detect and correct only one or a few bits in the addressed data. Therefore, an error correction code (ECC) system designed to correct a single bit error can be used to correct many errors during a series of reads without the need to insert a write or update operation. When this error correction code (ECC) system is designed to correct multiple bit errors, the technical capabilities described here can be further extended to enable The ability to correct a large number of errors when reading a series.

本發明之較佳實施例與範例詳細揭露如上,惟應瞭解為上述範例僅作為範例,非用以限制專利之範圍。就熟知技藝之人而言,自可輕易依據下列申請專利範圍對相關技術進行修改與組合。The preferred embodiments and examples of the present invention are disclosed in detail above, but it should be understood that the above examples are merely exemplary and are not intended to limit the scope of the patent. For those skilled in the art, the related art can be modified and combined easily according to the scope of the following patent application.

20‧‧‧記憶體20‧‧‧ memory

21‧‧‧錯誤更正碼邏輯21‧‧‧Error Correction Code Logic

22‧‧‧緩衝器22‧‧‧ buffer

100、101‧‧‧積體電路100, 101‧‧‧ integrated circuits

200‧‧‧陣列200‧‧‧Array

201‧‧‧輸入/輸出緩衝器201‧‧‧Input/Output Buffer

202‧‧‧控制輸入/輸出202‧‧‧Control input/output

203‧‧‧命令解碼器203‧‧‧Command decoder

204‧‧‧X解碼器204‧‧‧X decoder

205‧‧‧Y選擇器205‧‧‧Y selector

206‧‧‧感測放大器206‧‧‧Sense Amplifier

207‧‧‧錯誤更正碼層207‧‧‧Error correction code layer

208‧‧‧表格(內容可定址記憶體)208‧‧‧Form (content can be addressed to memory)

210‧‧‧控制器210‧‧‧ Controller

第1圖顯示於一讀取操作時結合記憶系統與錯誤更正碼(ECC)之簡要方塊示意圖。Figure 1 shows a simplified block diagram of the combined memory system and error correction code (ECC) during a read operation.

第2圖顯示於一讀取操作時結合記憶系統與錯誤更正碼(ECC)之簡要方塊示意圖。Figure 2 shows a simplified block diagram of the combined memory system and error correction code (ECC) during a read operation.

第3A圖顯示根據習知技術在一系列的讀取操作中,錯誤更正碼(ECC)的上限是如何可以被超過的。Figure 3A shows how the upper limit of the error correction code (ECC) can be exceeded in a series of read operations in accordance with conventional techniques.

第3B圖顯示於一程式化操作後的多重讀取中其所累積無法更正的錯誤之簡要示意圖。Figure 3B shows a simplified schematic of the errors that cannot be corrected in the multiple reads after a stylized operation.

第4A圖顯示根據本發明之技術在一系列的讀取操作中,防止超過錯誤更正碼(ECC)的上限。Figure 4A shows the prevention of exceeding the upper limit of the error correction code (ECC) in a series of read operations in accordance with the teachings of the present invention.

第4B圖顯示於一程式化操作後的多重讀取中如何使用本發明之技術防止超過錯誤更正碼(ECC)的上限之簡要示意圖。Figure 4B shows a schematic diagram of how the technique of the present invention can be used to prevent exceeding the upper limit of the error correction code (ECC) in a multiple read after a stylized operation.

第5圖顯示一個使用上述之錯誤偵測表之積體電路的方塊是意圖。Figure 5 shows an intent of a block using the integrated circuit of the error detection table described above.

第6圖顯示使用一個內容可定址記憶體(CAM)儲存之錯誤更正表格的組態示意圖。Figure 6 shows a schematic diagram of the configuration of an error correction table stored using a content addressable memory (CAM).

第7圖顯示一個使用上述之錯誤偵測表之一替代積體電路的方塊是意圖。Figure 7 shows an intent to replace the integrated circuit with one of the error detection tables described above.

第8圖是顯示此處所描述之積體電路進行一個由控制 邏輯執行之讀取操作相關的流程圖。Figure 8 is a diagram showing the integrated circuit described here for control by one Flowchart related to the read operation of the logic execution.

第9圖是顯示此處所描述之積體電路進行一個由控制邏輯執行之寫入或更新操作相關的流程圖。Figure 9 is a flow diagram showing the integration circuit described herein for performing a write or update operation performed by control logic.

第10圖是顯示此處所描述之積體電路產生此處所描述之錯誤更正表格中項目的流程圖。Figure 10 is a flow diagram showing the integrator circuit described herein producing the items in the error correction table described herein.

Claims (20)

一種操作一儲存有資料及錯誤更正碼於可定址位置之記憶體的方法,包含:將複數個項目儲存於一表格中,該些項目可辨識儲存在該記憶體中之一或多個可定址位置中之資料中的錯誤;自該記憶體中之一特定可定址位置讀取資料;以及於使用該儲存有該資料之錯誤更正碼之前,使用該表格來更正一儲存於該特定可定址位置中之該資料中的錯誤。 A method of operating a memory storing data and error correction codes in an addressable location, comprising: storing a plurality of items in a table, the items being identifiable and storing one or more addressable addresses in the memory An error in the data in the location; reading data from a particular addressable location in the memory; and using the form to correct a stored in the particular addressable location before using the error correction code storing the data The error in this information. 如申請專利範圍第1項之方法,其中該儲存於該特定可定址位置中之資料包含一資料組,該資料組包括多重位元,且該錯誤更正碼係對該資料組作計算。 The method of claim 1, wherein the data stored in the particular addressable location comprises a data set comprising a plurality of bits, and the error correction code is calculated for the data set. 如申請專利範圍第1項之方法,其中該表格包括儲存於一內容可定址記憶體中的一資料結構。 The method of claim 1, wherein the form includes a data structure stored in a content addressable memory. 如申請專利範圍第1項之方法,更包含清除該表格中與該等被寫入資料相關的項目。 For example, the method of claim 1 of the patent scope further includes clearing items related to the written materials in the form. 如申請專利範圍第1項之方法,更包含更新該記憶體中的資料,且清除將該表格中與該更新資料有關之該些項目。 For example, the method of claim 1 further includes updating the data in the memory, and clearing the items in the table related to the updated data. 如申請專利範圍第1項之方法,更包含:於使用該表格更正該資料中的一錯誤之後,將該資料及該錯誤更正碼提供至錯誤更正碼邏輯,且經由該錯誤更正碼邏輯來提供錯誤檢查後 的資料。 The method of claim 1, further comprising: after using the form to correct an error in the data, providing the data and the error correction code to the error correction code logic, and providing the error correction code logic After error checking data of. 如申請專利範圍第1項之方法,更包於所述讀取之前,使用該錯誤更正碼邏輯以辨識出儲存於該記憶體中的錯誤,及於該表格中產生一該被辨識之錯誤的項目。 For example, the method of claim 1 is further included before the reading, using the error correction code logic to identify an error stored in the memory, and generating a recognized error in the table. project. 如申請專利範圍第7項之方法,更包含假如該表格已經滿了,則用該產生的項目覆蓋一現存項目。 For example, the method of applying for the scope of patent item 7 includes, if the form is already full, overwriting an existing item with the generated item. 如申請專利範圍第8項之方法,更包含使用自該表格中的該些項目所決定的參數來選取該現存項目之一。 For example, the method of claim 8 of the patent scope further includes selecting one of the existing items using parameters determined by the items in the table. 一種積體電路,包含:一記憶陣列,用以儲存資料及錯誤更正碼於可定址的位置,包括使用錯誤更正碼決定出有一個或多個錯誤之儲存在一個或多個位置上的資料;一表格記憶體儲存一表格,該表格包括複數個項目,該些項目係供用於被決定可儲存具有一或多個錯誤之資料之可定址位置;以及一邏輯,其係於該記憶體中之一特定可定址位置之讀取中執行,於使用與該資料所對應的該錯誤更正碼之前,使用該表格來更正該儲存於該特定可定址位置中之資料中的一錯誤。 An integrated circuit comprising: a memory array for storing data and error correction codes at addressable locations, including using error correction codes to determine data stored in one or more locations with one or more errors; A table memory stores a table including a plurality of items for use in an addressable location determined to store data having one or more errors; and a logic associated with the memory Executing in the reading of a particular addressable location, the form is used to correct an error in the material stored in the particular addressable location prior to using the error correction code corresponding to the material. 如申請專利範圍第10項之積體電路,其中該儲存於該特定可定址位置中之資料包含一資料組,該資料組包括多重位元,且該錯誤更正碼係對該資料組作計算。 The integrated circuit of claim 10, wherein the data stored in the specific addressable location comprises a data set comprising a plurality of bits, and the error correction code is calculated for the data set. 如申請專利範圍第10項之積體電路,其中該表格記憶體包括一內容可定址記憶體。 The integrated circuit of claim 10, wherein the table memory comprises a content addressable memory. 如申請專利範圍第10項之積體電路,更包含一用以清除該表格中與該等被寫入資料相關之項目的邏輯。 For example, the integrated circuit of claim 10 includes a logic for clearing items in the table related to the materials to be written. 如申請專利範圍第10項之積體電路,更包含一響應該記憶體的更新,而將該表格中對應於被更新資料的項目予以清除的邏輯。 For example, the integrated circuit of claim 10 of the patent application further includes logic for clearing the item corresponding to the updated material in response to the update of the memory. 如申請專利範圍第10項之積體電路,更包含錯誤更正碼邏輯於該積體電路中,及一邏輯用以在該錯誤更正碼邏輯有辨識出錯誤時於該表格中產生一項目的邏輯。 For example, the integrated circuit of claim 10 further includes an error correction code logic in the integrated circuit, and a logic for generating a destination logic in the table when the error correction code logic recognizes an error. . 如申請專利範圍第10項之積體電路,更包含:一錯誤更正碼邏輯於該積體電路中;一將使用該表格更正後的資料及與該資料相關的該錯誤更正碼提供至該錯誤更正碼邏輯,及使用該錯誤更正碼邏輯來提供經錯誤檢查後的資料的邏輯。 For example, the integrated circuit of claim 10 further includes: an error correction code logic is provided in the integrated circuit; and the corrected data using the table and the error correction code associated with the data are provided to the error Correct the code logic and use the error correction code logic to provide logic for the error checked data. 如申請專利範圍第10項之積體電路,更包含:一錯誤更正碼邏輯於該積體電路中,一當該錯誤更正碼邏輯辨識出有錯誤時於該表格中產生項目的邏輯,及一使用自該表格中的該些項目所決定的參數來選取現存項目之一進行替換的邏輯。 For example, the integrated circuit of claim 10 includes: an error correction code logic in the integrated circuit, and logic for generating an item in the table when the error correction code logic recognizes an error, and Use the parameters determined by the items in the table to select the logic for replacing one of the existing items. 如申請專利範圍第10項之積體電路,其中該使用該表格中的一項目來更正一錯誤的邏輯包括一互斥或閘,其具有一第一輸入端與該表格 的一輸出連接,及一第二輸入端與該陣列的一感測放大器的一輸出連接。 The integrated circuit of claim 10, wherein the logic for correcting an error using an item in the table includes a mutual exclusion or gate having a first input and the table An output connection and a second input are coupled to an output of a sense amplifier of the array. 如申請專利範圍第10項之積體電路,其中該使用該表格中的一項目來更正一錯誤的邏輯包括一多工器,其具有一第一輸入端與該表格的一輸出連接,及一第二輸入端與該陣列的一感測放大器的一輸出連接;以及一選擇控制信號,其與該表格的一輸出連接。 The integrated circuit of claim 10, wherein the logic for correcting an error using an item in the table comprises a multiplexer having a first input coupled to an output of the table, and a A second input is coupled to an output of a sense amplifier of the array; and a select control signal coupled to an output of the table. 一種積體電路,包含:一記憶陣列,用以儲存資料及錯誤更正碼於可定址的位置,包括在至少一個由錯誤更正碼所決定出具有一個或多個錯誤之位置上的資料;一內容可定址記憶體,其包括一些項目,用以儲存那些被決定具有一個或多個錯誤之資料的該至少一個位置所對應的位址;錯誤更正碼邏輯;以及一邏輯,安置於該記憶陣列與該錯誤更正碼邏輯間的一資料路徑,以使用該內容可定址記憶體於使用錯誤更正碼邏輯之前來更正一被定址資料中的一錯誤。 An integrated circuit comprising: a memory array for storing data and error correction codes at addressable locations, including at least one location determined by the error correction code having one or more errors; An addressable memory, comprising: an item for storing an address corresponding to the at least one location of the data determined to have one or more errors; error correction code logic; and a logic disposed on the memory array The error corrects a data path between the code logic to correct an error in the addressed data using the content addressable memory prior to using the error correction code logic.
TW101129057A 2012-08-10 2012-08-10 Memory with dynamic error detection and correction TWI482014B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101129057A TWI482014B (en) 2012-08-10 2012-08-10 Memory with dynamic error detection and correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101129057A TWI482014B (en) 2012-08-10 2012-08-10 Memory with dynamic error detection and correction

Publications (2)

Publication Number Publication Date
TW201407340A TW201407340A (en) 2014-02-16
TWI482014B true TWI482014B (en) 2015-04-21

Family

ID=50550478

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101129057A TWI482014B (en) 2012-08-10 2012-08-10 Memory with dynamic error detection and correction

Country Status (1)

Country Link
TW (1) TWI482014B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268547B2 (en) 2015-10-15 2019-04-23 Industrial Technology Research Institute Memory protection device and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9455020B2 (en) * 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200842878A (en) * 2006-12-29 2008-11-01 Sandisk Corp Page by page ECC variation in a memory device
TW200907662A (en) * 2007-04-13 2009-02-16 Microchip Tech Inc Configurable split storage of error detecting and correcting codes
TW201003657A (en) * 2008-07-11 2010-01-16 Genesys Logic Inc Storage device for refreshing data pages of flash memory based on error correction code and method for the same
US20110283054A1 (en) * 2002-09-25 2011-11-17 Renesas Electronics Corporation Nonvolatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110283054A1 (en) * 2002-09-25 2011-11-17 Renesas Electronics Corporation Nonvolatile memory
TW200842878A (en) * 2006-12-29 2008-11-01 Sandisk Corp Page by page ECC variation in a memory device
TW200907662A (en) * 2007-04-13 2009-02-16 Microchip Tech Inc Configurable split storage of error detecting and correcting codes
TW201003657A (en) * 2008-07-11 2010-01-16 Genesys Logic Inc Storage device for refreshing data pages of flash memory based on error correction code and method for the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268547B2 (en) 2015-10-15 2019-04-23 Industrial Technology Research Institute Memory protection device and method

Also Published As

Publication number Publication date
TW201407340A (en) 2014-02-16

Similar Documents

Publication Publication Date Title
KR101659888B1 (en) Flash memory control method, controller and electronic apparatus
US8910018B2 (en) Memory with dynamic error detection and correction
KR102002925B1 (en) Memory module, memory system havint the same, and driving method thereof
JP5202130B2 (en) Cache memory, computer system, and memory access method
US7810016B2 (en) Semiconductor storage device equipped with ECC function
US9760434B2 (en) ECC method for double pattern flash memory
US9946478B2 (en) Memory managing method, memory control circuit unit and memory storage apparatus
US8200925B2 (en) Data mirroring in serial-connected memory system
US20080222491A1 (en) Flash memory system for improving read performance and read method thereof
US20090319864A1 (en) Method and apparatus for dynamically configurable multi level error correction
US20130339820A1 (en) Three dimensional (3d) memory device sparing
JPH1153266A (en) Semiconductor storage device and its control method
JP2007304781A (en) Semiconductor device and start-up method
JP2009042911A (en) Memory access system
JP2008139908A (en) Memory control device, computer system and data reproducing and recording device
JP2010003348A (en) Semiconductor memory device and error correction method
US8769377B2 (en) Error correction scheme for non-volatile memory
US20130219244A1 (en) Storage device
US20100070821A1 (en) Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page
TWI482014B (en) Memory with dynamic error detection and correction
TW201820114A (en) Data writing method and storage controller
JP4102313B2 (en) Semiconductor integrated circuit device
JP2007305105A (en) Memory controller
KR20130136341A (en) Semiconductor device and operating method thereof
JP2016122338A (en) Error correction apparatus