TW201727662A - 具有錯誤修正碼的記憶體架構以及其操作方法 - Google Patents

具有錯誤修正碼的記憶體架構以及其操作方法 Download PDF

Info

Publication number
TW201727662A
TW201727662A TW106101514A TW106101514A TW201727662A TW 201727662 A TW201727662 A TW 201727662A TW 106101514 A TW106101514 A TW 106101514A TW 106101514 A TW106101514 A TW 106101514A TW 201727662 A TW201727662 A TW 201727662A
Authority
TW
Taiwan
Prior art keywords
circuit
data
ecc
control circuit
cell array
Prior art date
Application number
TW106101514A
Other languages
English (en)
Other versions
TWI610312B (zh
Inventor
Po-Hao Huang
Original Assignee
Ememory Technology Inc
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 Ememory Technology Inc filed Critical Ememory Technology Inc
Publication of TW201727662A publication Critical patent/TW201727662A/zh
Application granted granted Critical
Publication of TWI610312B publication Critical patent/TWI610312B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/414Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the bipolar type
    • G11C11/416Read-write [R-W] circuits 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/16Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/145Applications of charge pumps; Boosted voltage circuits; Clamp circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/356104Bistable circuits using complementary field-effect transistors
    • H03K3/356113Bistable circuits using complementary field-effect transistors using additional transistors in the input circuit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • G11C5/063Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B20/00Read-only memory [ROM] devices
    • H10B20/20Programmable ROM [PROM] devices comprising field-effect components
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B20/00Read-only memory [ROM] devices
    • H10B20/20Programmable ROM [PROM] devices comprising field-effect components
    • H10B20/25One-time programmable ROM [OTPROM] devices, e.g. using electrically-fusible links
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Static Random-Access Memory (AREA)
  • Detection And Correction Of Errors (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)

Abstract

一種電路架構,用於在記憶體裝置中操作錯誤修正碼,包括控制電路及錯誤修正碼(ECC)電路。該錯誤修正碼電路與該控制電路耦接。該控制電路接收位元組的第一資料,以將該資料反相成為反相資料。該錯誤修正碼電路接收該反相資料,以進行加密或解密以及輸出第二資料。

Description

具有錯誤修正碼的記憶體架構以及其操作方法
本發明是有關於一種記憶體架構,且特別是有關於一種具有錯誤修正碼功能的記憶體架構。
對於記憶體裝置的基本架構,其包含記憶胞陣列以及多種週邊電路以存取記憶胞陣列的記憶胞。記憶胞陣列是儲存資料的核心部份。然而,儲存於記憶胞陣列中的資料可能有錯誤,其資料的一個位元可能會從原本要寫入的位元被翻轉。當資料對記憶胞陣列要被寫入或是讀出時,為了修正在記憶胞陣列中的錯誤位元,錯誤修正碼(error-correcting code, ECC)電路會被使用,根據奇偶(parity)檢查以偵測錯誤位元接著修正此錯誤位元。
多種演算方法可以被使用在ECC電路。對於其中的一種演算方法,其是以檢查例如32位元的資料組中的“1”的數量為偶數為根據。然而當記憶胞陣列的記憶胞原始資料都是“1”,例如是FFFF-FFFF時,其中一個字是由四個位元構成,一個“F”代表“1111”的四個位元,則ECC電路可能會改變初始資料。
ECC電路對資料“FFFF-FFFF”所造成的錯誤如下。舉一例,對於具有32位元I/O的ECC電路,其會有六個修正碼,或是位元。當資料“FFFF-FFFF”的32個位元輸入到ECC電路進行加密(encryption)時,經過ECC加密後的資料總共會具有38個位元,其中已包含 “01 1000”的六個位元而得到“3F-FFFF-FFD8”,其會被儲存到記憶胞陣列。然後,“3F-FFFF-FFD8”的資料從記憶胞陣列被讀出。在實際輸出前,“3F-FFFF-FFD8”的資料會進入ECC電路進行解密(decryption),以移除ECC而得到32位元的“FFFF-FFFF”的輸出資料。然而,記憶體剛出廠時,從記憶胞陣列被讀出被讀出的資料是“3F-FFFF-FFFF”,而不是“3F-FFFF-FFD8”。這會造成第一次讀出的是失敗。這種情況特別可能存在於初始資料為 “FFFF-FFFF”時。
如何有效解決上述的議題,對於ECC電路的設計是需要被考慮的。
本發明提供具有ECC功能的記憶體架構,其中ECC功能可以維持其功能,但是對於輸入到ECC電路的資料會被反相,而從ECC電路輸出的資料也會被反相。
於一實施例,本發明提供一種具有錯誤修正碼功能的記憶體架構。該記憶體架構包括記憶胞陣列,用以儲存多個位元的資料。錯誤修正碼(ECC)電路,用以對具有錯誤修正碼的通過資料加密或解密。第一控制電路,連接於該ECC電路與該記憶胞陣列之間。第二控制電路,連接於該ECC電路與資料輸入/輸出(I/O)端之間。當該I/O端的輸入資料要被寫入到該記憶胞陣列時,該第二控制電路在該輸入資料進入該ECC電路進行加密之前對該輸入資料反相,以及該第一控制電路對該ECC電路的輸出反相,而寫入到該記憶胞陣列。當該記憶胞陣列的輸出資料要被讀出時,該輸出資料在進入該ECC電路進行解密之前由該第一控制電路反相,以及該第二控制電路對該ECC電路的輸出反相,而當作讀出資料。
於一實施例,對於所述的記憶體架構,該ECC電路是漢明碼(Hamming code) ECC電路。
於另一實施例,對於所述的記憶體架構,該輸入資料包含一位元組,以及該多個位元被分成多個群,該多個群是兩兩相交,且該ECC電路提供多個奇偶位元以對每一個該群修正使得具有“1”的位元的總數量為偶數。
於另一實施例,對於所述的記憶體架構,該ECC電路包含加密電路與解密電路,以分別構成加密路徑與解密路徑。
於另一實施例,對於所述的記憶體架構,該第一控制電路在分別的該加密電路與該解密電路中包含第一反相器與第二反相器,其中該第一反相器對該ECC電路的該輸出反相以寫入到該記憶胞陣列,以及該第二反相器對從該記憶胞陣列的該輸出資料反相以進入到該ECC電路進行解密。該第二控制電路在分別的該加密電路與該解密電路中包含第三反相器與第四反相器,其中該第三反相器對該輸入資料反相以進入到該ECC電路進行加密,以及該第四反相器對經該ECC電路解密後的該輸出反相以提供該讀出資料。
於另一實施例,對於所述的記憶體架構,該加密路徑與該解密路徑被多功處理,如此該第一到第四反相器的至少兩個是共用相同的一個反相器。
於另一實施例,本發明提供一種記憶體裝置的操作方法,其中該記憶體裝置包含記憶胞陣列、錯誤修正碼(ECC)電路、第一控制電路及第二控制電路。該ECC電路用以對具有錯誤修正碼的通過資料加密或解密。該操作方法包括:連接該第一控制電路於該ECC電路與該記憶胞陣列之間;連接該第二控制電路於該ECC電路與資料輸入/輸出(I/O)端之間;當從該I/O端來的一位元組的輸入資料要被寫入到該記憶胞陣列時進行程式模式,該第二控制電路在該輸入資料進入該ECC電路進行加密之前對該輸入資料反相,以及該第一控制電路對該ECC電路的輸出反相,而寫入到該記憶胞陣列; 以及當該記憶胞陣列的輸出資料要被讀出時進行讀出模式,對該輸出資料在進入該ECC電路進行解密之前由該第一控制電路反相,以及該第二控制電路對該ECC電路的輸出反相,而當作讀出資料。
於另一實施例,對於所述的操作方法,該ECC電路是漢明碼(Hamming code) ECC電路,以進行加密處理與解密處理。
於另一實施例,對於所述的操作方法,該輸入資料包含一位元組,以及該多個位元被分成多個群,該多個群是兩兩相交,且該ECC電路提供多個奇偶位元以對每一個該群修正使得具有“1”的位元的總數量為偶數。
於另一實施例,對於所述的操作方法,其更包括提供具有加密電路與解密電路的該ECC電路,以分別構成加密路徑與解密路徑。
於另一實施例,對於所述的操作方法,其更包括提供在該加密電路與該解密電路中分別具有第一反相器與第二反相器的該第一控制電路,其中該第一反相器對該ECC電路的該輸出反相以寫入到該記憶胞陣列,以及該第二反相器對從該記憶胞陣列的該輸出資料反相以進入到該ECC電路進行解密; 更提供在該加密電路與該解密電路中分別具有第三反相器與第四反相器的該第二控制電路,其中該第三反相器對該輸入資料反相以進入到該ECC電路進行加密,以及該第四反相器對經該ECC電路解密後的該輸出反相以提供該讀出資料。
於另一實施例,對於所述的操作方法,其更包括對該加密路徑與該解密路徑進行多功處理,如此該第一到第四反相器的至少兩個是共用相同的一個反相器。
於另一實施例,本發明提供一種操作記憶體裝置的方法。此方法包括:在程式模式下接收輸入資料;藉由控制電路對該輸入資料反相,成為第一反相資料;提供錯誤修正碼(ECC)電路,以接收該第一反相資料以進行加密與輸出加密資料;藉由該控制電路對該加密資料反相及寫入到記憶胞陣列;在讀出模式下使用該控制電路,以對從該記憶胞陣列讀出的輸出資料反相成第二反相資料;藉由該ECC電路對該第二反相資料解密; 以及藉由該控制電路,對該解密資料反相成為讀出資料。
於另一實施例,對於所述的方法,該控制電路對應加密與解密包含多個反相器,以對通過資料反相。
於另一實施例,對於所述的方法,其更包括對該加密路徑與該解密路徑進行多功處理,如此該第一到第四反相器的至少兩個是共用相同的一個反相器。
於另一實施例,對於所述的方法,其中該輸入資料包含一位元組,以及該多個位元被分成多個群,該多個群是兩兩相交,且該ECC電路提供多個奇偶位元以對每一個該群修正使得具有“1”的位元的總數量為偶數。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
以下舉一些實施例配合圖式來較詳細說明本發明。在圖式中相同的構件符號代表相同或相似的構件。
本發明提出一種ECC操作,其可以避免ECC的錯誤,其特別可能發生於存取儲存在記憶胞陣列的初始資料。此ECC可以維持其功能,但是對於輸入到ECC電路的資料會被反相,而從ECC電路輸出的資料也會被反相。
提供的多個實施例是用來描述本發明,但是不是用來限制本發明。
圖1依據本發明一實施例,繪示記憶體架構示意圖。參閱圖1,記憶體裝置50一般包括記憶胞陣列100及多種週邊元件來控制與存取記憶胞陣列100。這些週邊元件於一實施例可以包括驅動器102、Y電路/感應放大器 104、感應放大器控制電路(SACTL) 106、控制器(CTL) 108、ECC電路110、類比電路113、電源開關115以及高電壓系統117。多個終端點例如控制匯流排、地址匯流排及輸入/輸出(I/O) 匯流排等,也被提供來與外部的主機互通以存取記憶胞陣列100。記憶體裝置50的基本架構與操作是本技術領域一般可知的技術,於此不予詳細描述。
然而,本發明是關於ECC電路110的操作。以下的描述將針對本發明提出的ECC電路110的功能進行描述。
要被寫入記憶胞陣列100而儲存的輸入資料DIN,會先通過ECC電路110以ECC來加密,其中ECC電路110可以產生修正碼,其在之後的資料有發生錯誤位元時就可以修正此錯誤位元。ECC電路110於是輸出此資料DATA,其是實際被寫入記憶胞陣列100而儲存。另一方面,當輸出資料OUT從記憶胞陣列100要被外部主機讀出時,輸出資料OUT也會進入ECC電路110進行解密,接著輸出當作讀取資料PDOUT。
本發明所提出具有修改結構的ECC電路110,可以避免當資料的値是FFFF-FFFF時所可能發生的錯誤。圖2依據本發明一實施例,繪示操作ECC的電路架構示意圖。
參閱圖2,ECC電路110是在I/O端與記憶胞陣列100之間的中間元件。本發明不需要修改原始的ECC電路112。然而,本發明加入控制電路,其在一範例中為了方便配置可以包括第一控制電路114與第二控制電路116。ECC電路112可以被分為加密路徑(En)112a與解密路徑(De)112b。如此,如本發明所提出的ECC電路110具有第一控制電路114連接於ECC電路112與記憶胞陣列100之間,且第二控制電路116連接於ECC電路112與資料I/O端。
當從資料I/O端來的輸入資料DIN要被寫入到記憶胞陣列100,第二控制電路116在輸入資料DIN要通過加密路徑112a進入ECC電路112進行加密之前,將輸入資料DIN反相,而第一控制電路114對從ECC電路112的輸出反相成為資料,標示為DATA,而通過在Y電路/感應放大器104中的寫入電路而寫入到記憶胞陣列100。當如標示為OUT的輸出資料從記憶胞陣列100被在Y電路/感應放大器104中的感應放大器讀出。輸出資料OUT在通過解密路徑112b進入ECC電路112進行解密之前被第一控制電路114反相,並且第二控制電路116對從ECC電路112的輸出反相而視為讀出資料,如PDOUT的標示。
更詳細地,第一控制電路114包括第一反相器114a與第二反相器114b分別於加密路徑112a與解密路徑112b中,其中第一反相器114a對從ECC電路112的輸出反相以寫入到記憶胞陣列100,以及第二反相器114b對從記憶胞陣列100讀出的輸出資料反相以進入到ECC電路112進行解密。另一方面,第二控制電路116包含第三反相器116a與第四反相器116b,分別於加密路徑112a與解密路徑112b中,其中第三反相器116a對輸入資料DIN反相,以進入ECC電路112進行解密,且第四反相器116b對從ECC電路112經解密後的輸出反相,以提供讀出資料PDOUT。
在描述本發明所提出的ECC電路110的效果之前,先提供ECC的操作範例。圖3依據本發明一實施例,繪示ECC產生奇偶位元的機制示意圖。參閱圖3,以傳送由四個位元所構成的位元組為例,例如是1101,以及三個位元被加入當作奇偶位元。總共7個位元被傳送,其中這7個位元被編號成1到7的碼號。此7個位元例如被分成三群A、B、C。這些群是兩兩相交,其關係如左上所示。其結果,碼號1-7的碼值是1101010,其中前面四個位元代表資料。在ECC加密中,每一個群有四個位元且需要符合“1”的總數量為偶數。
圖4依據本發明一實施例,繪示ECC修正錯誤位元的機制示意圖。參閱圖4,要被傳送的資料需要是1101010,如左上所示。然而,儲存在記憶胞陣列100的資料可能是1101000。ECC電路112,例如是(7,4)漢明碼(Hamming code)電路,可以將1101000的資料解密為1101010。這是因為群B有奇數個位元是“1”,因此在碼號6的奇偶位元會被修正為 “1”。於此,依照在(7,4)漢明碼(Ha電路的操作,位元的總數量為7,但是僅有四個位元是原始要被傳送。
接著描述本發明提出的ECC電路110的操作機制。圖5依據本發明一實施例,繪示ECC操作加密的機制示意圖。參閱圖5,對於要加密的一個特殊情形,其輸入資料DIN的所有位元剛好全都是“1”,例如32位元的FFFF-FFFF。反相器116a將資料反相成反相資料DINB,其是0000-0000,於是進入到ECC電路112的加密路徑112a。因為資料是“0”,其仍符合位元為“1”的數量是偶數的條件。奇偶位元會維持“0”,而不必加入“1”的位元。於是,38個位元都是“0”的資料被再次被反相器114a反相成為3F-FFF-FFF的資料DATA,其要被寫入記憶胞陣列100。
圖6依據本發明一實施例,繪示ECC操作解密的機制示意圖。參閱圖6,資料從記憶胞陣列100被讀出以進行解密。於是,由記憶胞陣列100讀出的輸出資料OUT的所有38個位元都是“1”,如3F-FFFF-FFFF。再一次,反相器114b將資料OUT反相成資料OUTB,其接著進入到ECC電路112的解密路徑112b。於此,資料OUTB的所有位元都是“0”,如此ECC電路112不會改變資料而將為“0”的所有位元輸出。再一次,反相器116b將“0”的所有位元反相成“1”,當作讀出資料PDOUT,其在移除ECC後會維持原始的FFFF-FFFF的形式。
需要注意的是,多個反相器被用來描述其機制。然而,因為反相器都是相同的功能,如此這些反相器可以共用相同的一個反相器。換句話說,通過路徑的安排以及使用多功器,第一與第三反相器可以共用相同的一個反相器,而第二與第四反相器可以共用相同的一個反相器。甚至,第一到第四反相器也可以共用相同的一個反相器,其中路徑的選擇機制需要被加入。換句話說,加密路徑112a與解密路徑112b的每一個會涉及兩次的反相操作,其中的硬體的安排不必限制於前面所舉的實施例。
此ECC電路可以避免當初始資料的位元被設為“1”時,其資料被寫入於讀出時的不一致。ECC電路可以與其他類型的ECC電路相容,這是因為兩次的反相處理不會改變其他類型的ECC電路的結果。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
50‧‧‧憶體裝置 100‧‧‧記憶胞陣列 102‧‧‧驅動器 104‧‧‧Y電路/感應放大器 106‧‧‧感應放大器控制電路 108‧‧‧控制器 110‧‧‧ECC電路 112‧‧‧ECC電路 112a‧‧‧加密路徑 112b‧‧‧解密路徑 113‧‧‧類比電路 114‧‧‧控制電路 114a、114b‧‧‧反相器 115‧‧‧電源開關 116‧‧‧控制電路 116a、116b‧‧‧反相器 117‧‧‧高電壓系統(電荷泵)
圖1依據本發明一實施例,繪示記憶體架構示意圖。 圖2依據本發明一實施例,繪示操作ECC的電路架構示意圖。 圖3依據本發明一實施例,繪示ECC產生奇偶位元的機制示意圖。 圖4依據本發明一實施例,繪示ECC修正錯誤位元的機制示意圖。 圖5依據本發明一實施例,繪示ECC操作加密的機制示意圖。 圖6依據本發明一實施例,繪示ECC操作解密的機制示意圖。
110‧‧‧ECC電路
112‧‧‧ECC電路
112a‧‧‧加密路徑
112b‧‧‧解密路徑
114‧‧‧控制電路
114a、114b‧‧‧反相器
116‧‧‧控制電路
116a、116b‧‧‧反相器

Claims (16)

  1. 一種具有錯誤修正碼功能的記憶體架構,該記憶體架構包括: 記憶胞陣列,用以儲存多個位元的資料; 錯誤修正碼(ECC)電路,用以對具有錯誤修正碼的通過資料加密或解密; 第一控制電路,連接於該ECC電路與該記憶胞陣列之間; 以及 第二控制電路,連接於該ECC電路與資料輸入/輸出(I/O)端之間, 其中當該I/O端的輸入資料要被寫入到該記憶胞陣列時,該第二控制電路在該輸入資料進入該ECC電路進行加密之前對該輸入資料反相,以及該第一控制電路對該ECC電路的輸出反相,而寫入到該記憶胞陣列, 其中當該記憶胞陣列的輸出資料要被讀出時,該輸出資料在進入該ECC電路進行解密之前由該第一控制電路反相,以及該第二控制電路對該ECC電路的輸出反相,而當作讀出資料。
  2. 如申請專利範圍第1項所述的記憶體架構,其中該ECC電路是漢明碼(Hamming code) ECC電路。
  3. 如申請專利範圍第1項所述的記憶體架構,其中該輸入資料包含一位元組,以及該多個位元被分成多個群,該多個群是兩兩相交,且該ECC電路提供多個奇偶位元以對每一個該群修正使得具有“1”的位元的總數量為偶數。
  4. 如申請專利範圍第1項所述的記憶體架構,其中該ECC電路包含加密電路與解密電路,以分別構成加密路徑與解密路徑。
  5. 如申請專利範圍第4項所述的記憶體架構, 其中該第一控制電路在分別的該加密電路與該解密電路中包含第一反相器與第二反相器,其中該第一反相器對該ECC電路的該輸出反相以寫入到該記憶胞陣列,以及該第二反相器對從該記憶胞陣列的該輸出資料反相以進入到該ECC電路進行解密, 其中該第二控制電路在分別的該加密電路與該解密電路中包含第三反相器與第四反相器,其中該第三反相器對該輸入資料反相以進入到該ECC電路進行加密,以及該第四反相器對經該ECC電路解密後的該輸出反相以提供該讀出資料。
  6. 如申請專利範圍第5項所述的記憶體架構,其中該加密路徑與該解密路徑被多功處理,如此該第一到第四反相器的至少兩個是共用相同的一個反相器。
  7. 一種記憶體裝置的操作方法,其中該記憶體裝置包含記憶胞陣列、錯誤修正碼(ECC)電路、第一控制電路及第二控制電路,該ECC電路用以對具有錯誤修正碼的通過資料加密或解密,該操作方法包括: 連接該第一控制電路於該ECC電路與該記憶胞陣列之間; 連接該第二控制電路於該ECC電路與資料輸入/輸出(I/O)端之間; 當從該I/O端來的一位元組的輸入資料要被寫入到該記憶胞陣列時進行程式模式,該第二控制電路在該輸入資料進入該ECC電路進行加密之前對該輸入資料反相,以及該第一控制電路對該ECC電路的輸出反相,而寫入到該記憶胞陣列; 以及 當該記憶胞陣列的輸出資料要被讀出時進行讀出模式,對該輸出資料在進入該ECC電路進行解密之前由該第一控制電路反相,以及該第二控制電路對該ECC電路的輸出反相,而當作讀出資料。
  8. 如申請專利範圍第7項所述的記憶體裝置的操作方法,其中該ECC電路是漢明碼(Hamming code) ECC電路,以進行加密處理與解密處理。
  9. 如申請專利範圍第7項所述的記憶體裝置的操作方法,其中該輸入資料包含一位元組,以及該多個位元被分成多個群,該多個群是兩兩相交,且該ECC電路提供多個奇偶位元以對每一個該群修正使得具有“1”的位元的總數量為偶數。
  10. 如申請專利範圍第7項所述的記憶體裝置的操作方法,更包括提供具有加密電路與解密電路的該ECC電路,以分別構成加密路徑與解密路徑。
  11. 如申請專利範圍第10項所述的記憶體裝置的操作方法,更包括: 提供在該加密電路與該解密電路中分別具有第一反相器與第二反相器的該第一控制電路,其中該第一反相器對該ECC電路的該輸出反相以寫入到該記憶胞陣列,以及該第二反相器對從該記憶胞陣列的該輸出資料反相以進入到該ECC電路進行解密; 以及 提供在該加密電路與該解密電路中分別具有第三反相器與第四反相器的該第二控制電路,其中該第三反相器對該輸入資料反相以進入到該ECC電路進行加密,以及該第四反相器對經該ECC電路解密後的該輸出反相以提供該讀出資料。
  12. 如申請專利範圍第11項所述的記憶體裝置的操作方法,更包括對該加密路徑與該解密路徑進行多功處理,如此該第一到第四反相器的至少兩個是共用相同的一個反相器。
  13. 一種操作記憶體裝置的方法,包括: 在程式模式下,接收輸入資料; 藉由控制電路對該輸入資料反相,成為第一反相資料; 提供錯誤修正碼(ECC)電路,以接收該第一反相資料以進行加密與輸出加密資料; 藉由該控制電路對該加密資料反相及寫入到記憶胞陣列; 在讀出模式下使用該控制電路,以對從該記憶胞陣列讀出的輸出資料反相成第二反相資料; 藉由該ECC電路對該第二反相資料解密; 以及 藉由該控制電路,對該解密資料反相成為讀出資料。
  14. 如申請專利範圍第13項所述的操作記憶體裝置的方法,其中該控制電路對應加密與解密包含多個反相器,以對通過資料反相。
  15. 如申請專利範圍第14項所述的操作記憶體裝置的方法,更包括對該加密路徑與該解密路徑進行多功處理,如此該第一到第四反相器的至少兩個是共用相同的一個反相器。
  16. 如申請專利範圍第13項所述的操作記憶體裝置的方法,其中該輸入資料包含一位元組,以及該多個位元被分成多個群,該多個群是兩兩相交,且該ECC電路提供多個奇偶位元以對每一個該群修正使得具有“1”的位元的總數量為偶數。
TW106101514A 2016-01-19 2017-01-17 具有錯誤修正碼的記憶體架構以及其操作方法 TWI610312B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662280137P 2016-01-19 2016-01-19
US62/280,137 2016-01-19

Publications (2)

Publication Number Publication Date
TW201727662A true TW201727662A (zh) 2017-08-01
TWI610312B TWI610312B (zh) 2018-01-01

Family

ID=57123841

Family Applications (7)

Application Number Title Priority Date Filing Date
TW105135935A TWI610309B (zh) 2016-01-19 2016-11-04 用於物理不可複製技術的一次編程記憶胞與記憶體陣列以及相關隨機碼產生方法
TW106100742A TWI614766B (zh) 2016-01-19 2017-01-10 非揮發性記憶體
TW106100948A TWI627833B (zh) 2016-01-19 2017-01-12 具有高可靠度的電源切換裝置
TW106101259A TWI613663B (zh) 2016-01-19 2017-01-13 反熔絲型一次編程記憶體胞的編程方法
TW106101514A TWI610312B (zh) 2016-01-19 2017-01-17 具有錯誤修正碼的記憶體架構以及其操作方法
TW106106342A TWI637397B (zh) 2016-01-19 2017-02-24 自動設時重置脈衝產生器及具有脈衝產生器的記憶體裝置
TW106107166A TWI640990B (zh) 2016-01-19 2017-03-06 升壓保護電路

Family Applications Before (4)

Application Number Title Priority Date Filing Date
TW105135935A TWI610309B (zh) 2016-01-19 2016-11-04 用於物理不可複製技術的一次編程記憶胞與記憶體陣列以及相關隨機碼產生方法
TW106100742A TWI614766B (zh) 2016-01-19 2017-01-10 非揮發性記憶體
TW106100948A TWI627833B (zh) 2016-01-19 2017-01-12 具有高可靠度的電源切換裝置
TW106101259A TWI613663B (zh) 2016-01-19 2017-01-13 反熔絲型一次編程記憶體胞的編程方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW106106342A TWI637397B (zh) 2016-01-19 2017-02-24 自動設時重置脈衝產生器及具有脈衝產生器的記憶體裝置
TW106107166A TWI640990B (zh) 2016-01-19 2017-03-06 升壓保護電路

Country Status (5)

Country Link
US (6) US9613714B1 (zh)
EP (4) EP3614387B1 (zh)
JP (3) JP6302020B2 (zh)
CN (7) CN106981300B (zh)
TW (7) TWI610309B (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI606448B (zh) * 2015-07-29 2017-11-21 國立交通大學 介電質熔絲型記憶電路及其操作方法
US10181357B2 (en) * 2015-08-18 2019-01-15 Ememory Technology Inc. Code generating apparatus and one time programming block
DE112016006170B4 (de) * 2016-01-08 2021-07-29 Synopsys, Inc. Puf-werterzeugung unter verwendung einer anti-schmelzsicherungs-speicheranordnung
US10020268B2 (en) 2016-04-13 2018-07-10 Ememory Technology Inc. Random number generator device and control method thereof
US10090027B2 (en) * 2016-05-25 2018-10-02 Ememory Technology Inc. Memory system with low read power
EP3270539B1 (en) 2016-07-10 2021-03-10 IMEC vzw Breakdown-based physical unclonable function
US10122538B2 (en) * 2016-10-12 2018-11-06 Ememory Technology Inc. Antifuse physically unclonable function unit and associated control method
US10395745B2 (en) 2016-10-21 2019-08-27 Synposys, Inc. One-time programmable bitcell with native anti-fuse
US10446562B1 (en) * 2017-01-10 2019-10-15 Synopsys, Inc. One-time programmable bitcell with partially native select device
JP6349008B1 (ja) * 2017-04-13 2018-06-27 力旺電子股▲ふん▼有限公司eMemory Technology Inc. 乱数発生装置及びその制御方法
US11615859B2 (en) * 2017-04-14 2023-03-28 Attopsemi Technology Co., Ltd One-time programmable memories with ultra-low power read operation and novel sensing scheme
US10776521B2 (en) 2017-04-21 2020-09-15 Apple Inc. Security techniques based on memory timing characteristics
US10090309B1 (en) * 2017-04-27 2018-10-02 Ememory Technology Inc. Nonvolatile memory cell capable of improving program performance
US10276239B2 (en) * 2017-04-27 2019-04-30 Ememory Technology Inc. Memory cell and associated array structure
EP3407336B1 (en) * 2017-05-22 2022-08-17 Macronix International Co., Ltd. Unchangeable phyisical unclonable function in non-volatile memory
US10276253B2 (en) * 2017-08-04 2019-04-30 Micron Technology, Inc. Apparatuses and methods including anti-fuses and for reading and programming of same
US10623192B2 (en) * 2017-08-25 2020-04-14 Synopsys, Inc. Gate oxide breakdown in OTP memory cells for physical unclonable function (PUF) security
US10915464B2 (en) 2017-09-12 2021-02-09 Ememory Technology Inc. Security system using random number bit string
JP6538908B2 (ja) * 2017-09-12 2019-07-03 力旺電子股▲ふん▼有限公司eMemory Technology Inc. エントロピービットを用いたセキュリティシステム
CN109658963B (zh) * 2017-10-11 2020-11-17 华邦电子股份有限公司 电阻式存储器存储装置的操作方法
TWI652683B (zh) 2017-10-13 2019-03-01 力旺電子股份有限公司 用於記憶體的電壓驅動器
CN107945824A (zh) * 2017-11-21 2018-04-20 上海华虹宏力半导体制造有限公司 用于sonos存储器的复位电路及复位方法
US11063772B2 (en) 2017-11-24 2021-07-13 Ememory Technology Inc. Multi-cell per bit nonvolatile memory unit
US10505521B2 (en) * 2018-01-10 2019-12-10 Ememory Technology Inc. High voltage driver capable of preventing high voltage stress on transistors
CN110018810B (zh) * 2018-01-10 2021-05-18 力旺电子股份有限公司 随机码产生器
US11050575B2 (en) 2018-01-10 2021-06-29 Ememory Technology Inc. Entanglement and recall system using physically unclonable function technology
TWI696111B (zh) * 2018-01-10 2020-06-11 力旺電子股份有限公司 隨機碼產生器
US11055065B2 (en) 2018-04-18 2021-07-06 Ememory Technology Inc. PUF-based true random number generation system
US10714199B1 (en) * 2018-05-09 2020-07-14 Synopsys, Inc. PUF latch for OTP memory arrays and method of operation
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
TWI669714B (zh) * 2018-05-29 2019-08-21 力旺電子股份有限公司 電壓控制裝置及記憶體系統
US10923483B2 (en) 2018-05-31 2021-02-16 Taiwan Semiconductor Manufacturing Company, Ltd. EFuse
US10839872B2 (en) * 2018-07-03 2020-11-17 Ememory Technology Inc. Random bit cell using an initial state of a latch to generate a random bit
CN109087679A (zh) * 2018-07-27 2018-12-25 上海华力集成电路制造有限公司 存储单元及其构成的存储阵列和otp
US11170115B2 (en) * 2018-07-30 2021-11-09 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for secure external access of the PUF information to an authorized entity
CN109062830B (zh) * 2018-08-02 2021-10-22 中国科学院微电子研究所 一种非易失性存储器的控制系统
WO2020029267A1 (zh) * 2018-08-10 2020-02-13 深圳市为通博科技有限责任公司 物理不可克隆函数puf装置
US10685727B2 (en) * 2018-08-10 2020-06-16 Ememory Technology Inc. Level shifter
US11176969B2 (en) * 2018-08-20 2021-11-16 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit including a first program device
US11380693B2 (en) * 2018-08-20 2022-07-05 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor device including anti-fuse cell structure
US10797064B2 (en) * 2018-09-19 2020-10-06 Ememory Technology Inc. Single-poly non-volatile memory cell and operating method thereof
US10748591B2 (en) 2019-01-13 2020-08-18 Ememory Technology Inc. Random code generator
US11416416B2 (en) * 2019-01-13 2022-08-16 Ememory Technology Inc. Random code generator with non-volatile memory
US11514174B2 (en) * 2019-01-23 2022-11-29 Micron Technology, Inc. Memory devices with cryptographic components
US11294640B2 (en) 2019-03-13 2022-04-05 Ememory Technology Inc. Random number generator
US10924112B2 (en) 2019-04-11 2021-02-16 Ememory Technology Inc. Bandgap reference circuit
CN110164499B (zh) * 2019-05-24 2023-02-28 中国科学院微电子研究所 一种非易失性存储器的控制系统
US11152380B2 (en) * 2019-08-06 2021-10-19 Globalfoundries Singapore Pte. Ltd. Memory device and a method for forming the memory device
CN115085759A (zh) 2019-10-17 2022-09-20 立积电子股份有限公司 射频装置
US10984878B1 (en) * 2020-02-11 2021-04-20 Taiwan Semiconductor Manufacturing Company, Ltd One-time programmable memory bit cell
US11663455B2 (en) * 2020-02-12 2023-05-30 Ememory Technology Inc. Resistive random-access memory cell and associated cell array structure
US11189356B2 (en) * 2020-02-27 2021-11-30 Taiwan Semiconductor Manufacturing Company, Ltd. One-time-programmable memory
US11468945B2 (en) * 2020-10-15 2022-10-11 Arm Limited 3D storage architecture with tier-specific controls
US20220199622A1 (en) * 2020-12-18 2022-06-23 Ememory Technology Inc. Resistive memory cell and associated cell array structure
US11329836B1 (en) * 2021-03-12 2022-05-10 Globalfoundries U.S. Inc. Twin cell memory-based physically unclonable function
US11594541B2 (en) * 2021-03-26 2023-02-28 Nanya Technology Corporation One-time programmable memory array and manufacturing method thereof
CN113129985B (zh) * 2021-03-29 2024-05-03 深圳市国微电子有限公司 一种物理不可克隆单元及读取电路
CN115241181A (zh) 2021-04-23 2022-10-25 联华电子股份有限公司 单次可编程存储器元件
US20230047939A1 (en) * 2021-08-13 2023-02-16 Ememory Technology Inc. Fuse-type one time programming memory cell
FR3133699A1 (fr) * 2022-03-21 2023-09-22 Stmicroelectronics (Rousset) Sas Mémoire morte programmable
TW202410050A (zh) * 2022-08-24 2024-03-01 振生半導體股份有限公司 多狀態的一次性可程式化記憶體電路
TWI828568B (zh) * 2023-03-27 2024-01-01 華邦電子股份有限公司 物理不可複製函數代碼產生裝置及物理不可複製函數代碼的產生方法

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0666115B2 (ja) * 1983-09-26 1994-08-24 株式会社東芝 半導体記憶装置
JPS62180607A (ja) 1986-02-04 1987-08-07 Fujitsu Ltd 半導体集積回路
US4787066A (en) * 1987-08-03 1988-11-22 Sgs-Thomson Microelectronics, Inc. Non-volatile shadow storage cell with improved level shifting circuit and reduced tunnel device count for improved reliability
US4825410A (en) 1987-10-26 1989-04-25 International Business Machines Corporation Sense amplifier control circuit
GB8923037D0 (en) 1989-10-12 1989-11-29 Inmos Ltd Timing control for a memory
US5243226A (en) * 1991-07-31 1993-09-07 Quicklogic Corporation Programming of antifuses
US5316971A (en) 1992-09-18 1994-05-31 Actel Corporation Methods for programming antifuses having at least one metal electrode
JPH0845269A (ja) * 1994-07-27 1996-02-16 Hitachi Ltd 半導体記憶装置
US5528173A (en) * 1995-05-10 1996-06-18 Micron Technology, Inc. Low power, high speed level shifter
US6023431A (en) * 1996-10-03 2000-02-08 Micron Technology, Inc. Low current redundancy anti-fuse method and apparatus
JP2001351398A (ja) * 2000-06-12 2001-12-21 Nec Corp 記憶装置
EP1186924A3 (en) * 2000-09-05 2003-08-13 Matsushita Electric Industrial Co., Ltd. Optical signal reading apparatus using light leaked out of light transmission path
US6584526B1 (en) * 2000-09-21 2003-06-24 Intel Corporation Inserting bus inversion scheme in bus path without increased access latency
KR100375219B1 (ko) 2000-11-09 2003-03-07 삼성전자주식회사 반도체 메모리 장치의 데이터 라인 프리챠지 회로
US7187228B1 (en) 2001-06-22 2007-03-06 Quicklogic Corporation Method of programming an antifuse
JP3763775B2 (ja) 2001-11-28 2006-04-05 富士通株式会社 電源立ち上がり時の動作を安定化したレベルコンバータ回路
FR2836751A1 (fr) * 2002-02-11 2003-09-05 St Microelectronics Sa Cellule memoire a programmation unique non destructrice
JP2003257180A (ja) * 2002-03-04 2003-09-12 Nec Electronics Corp DRAM(DynamicRandomAccessMemory)及びその動作方法
JP2004310904A (ja) * 2003-04-07 2004-11-04 Renesas Technology Corp 不揮発性半導体記憶装置
JP2005276348A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd 半導体記憶装置、及びプリチャージ制御方法
TWI267863B (en) * 2004-04-12 2006-12-01 Samsung Electronics Co Ltd High voltage generating circuit preserving charge pumping efficiency
US20050289435A1 (en) * 2004-06-29 2005-12-29 Mulla Dean A Fast approximate DINV calculation in parallel with coupled ECC generation or correction
US7205820B1 (en) * 2004-07-08 2007-04-17 Pmc-Sierra, Inc. Systems and methods for translation of signal levels across voltage domains
JP4383987B2 (ja) * 2004-08-18 2009-12-16 株式会社東芝 Mos型電気ヒューズとそのプログラム方法
JP4709525B2 (ja) * 2004-10-14 2011-06-22 株式会社東芝 不揮発性半導体記憶装置
US7190626B2 (en) * 2005-05-13 2007-03-13 Taiwan Semiconductor Manufacturing Co., Ltd. Memory system with bit-line discharging mechanism
US7253496B2 (en) * 2005-06-28 2007-08-07 Cypress Semiconductor Corporation Antifuse circuit with current regulator for controlling programming current
US7280425B2 (en) * 2005-09-30 2007-10-09 Intel Corporation Dual gate oxide one time programmable (OTP) antifuse cell
US7359265B2 (en) 2006-01-04 2008-04-15 Etron Technology, Inc. Data flow scheme for low power DRAM
EP1990723B1 (en) * 2006-02-27 2011-07-13 Fujitsu Limited Information processing apparatus control method and information processing apparatus
US7952937B2 (en) * 2006-03-16 2011-05-31 Freescale Semiconductor, Inc. Wordline driver for a non-volatile memory device, a non-volatile memory device and method
KR100694972B1 (ko) * 2006-03-27 2007-03-14 주식회사 하이닉스반도체 센싱 노드용 프리차지 전압을 선택적으로 변경하는 기능을가지는 플래시 메모리 장치 및 그 독출 동작 방법
TWI344152B (en) * 2006-09-21 2011-06-21 Mediatek Inc Memory circuits and malfunction protection methods thereof
US7508694B2 (en) * 2006-09-27 2009-03-24 Novelics, Llc One-time-programmable memory
KR100825788B1 (ko) * 2006-10-31 2008-04-28 삼성전자주식회사 메모리 셀 센싱 이전에 비트라인의 프리차아지 전압 레벨을유지할 수 있는 플래쉬 메모리 장치의 센스 앰프 회로 및플래쉬 메모리 셀 센싱 방법
US20080316660A1 (en) 2007-06-20 2008-12-25 Ememory Technology Inc. Electrostatic discharge avoiding circuit
US8063662B2 (en) * 2007-07-06 2011-11-22 Analog Devices, Inc. Methods and apparatus for predictable level shifter power-up state
US7551497B2 (en) * 2007-09-20 2009-06-23 Mediatek Inc. Memory circuits preventing false programming
US7804327B2 (en) * 2007-10-12 2010-09-28 Mediatek Inc. Level shifters
JP5112846B2 (ja) * 2007-12-27 2013-01-09 セイコーインスツル株式会社 電源切替回路
US8255758B2 (en) * 2008-01-21 2012-08-28 Apple Inc. Decoding of error correction code using partial bit inversion
US8031506B2 (en) 2008-03-21 2011-10-04 Broadcom Corporation One-time programmable memory cell
TWI430275B (zh) 2008-04-16 2014-03-11 Magnachip Semiconductor Ltd 用於程式化非揮發性記憶體裝置之方法
US8127204B2 (en) * 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
US7782116B2 (en) * 2008-09-05 2010-08-24 Fairchild Semiconductor Corporation Power supply insensitive voltage level translator
US8910009B1 (en) * 2008-09-08 2014-12-09 Marvell International Ltd. Method and apparatus for enhancing error detection in data transmission
US8395923B2 (en) * 2008-12-30 2013-03-12 Intel Corporation Antifuse programmable memory array
US8125842B2 (en) 2009-03-31 2012-02-28 Agere Systems Inc. Tracking circuit for reducing faults in a memory
CN101923896A (zh) * 2009-06-12 2010-12-22 威刚科技(苏州)有限公司 电子存储装置及其纠错方法
US9013910B2 (en) * 2009-07-30 2015-04-21 Ememory Technology Inc. Antifuse OTP memory cell with performance improvement prevention and operating method of memory
JP4937316B2 (ja) * 2009-08-21 2012-05-23 株式会社東芝 不揮発性半導体記憶装置
US20110246857A1 (en) 2010-04-02 2011-10-06 Samsung Electronics Co., Ltd. Memory system and method
US8279693B2 (en) * 2010-04-09 2012-10-02 Qualcomm Incorporated Programmable tracking circuit for tracking semiconductor memory read current
JP5343916B2 (ja) * 2010-04-16 2013-11-13 富士通セミコンダクター株式会社 半導体メモリ
US8217705B2 (en) * 2010-05-06 2012-07-10 Micron Technology, Inc. Voltage switching in a memory device
KR101115623B1 (ko) * 2010-07-09 2012-02-15 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 이의 동작 방법
JP5466594B2 (ja) * 2010-07-29 2014-04-09 ルネサスエレクトロニクス株式会社 半導体記憶装置及びアンチヒューズのプログラム方法
US9224496B2 (en) * 2010-08-11 2015-12-29 Shine C. Chung Circuit and system of aggregated area anti-fuse in CMOS processes
CN102375698B (zh) * 2010-08-23 2014-06-25 群联电子股份有限公司 数据串分派与传送方法、存储器控制器与存储器储存装置
US8339831B2 (en) * 2010-10-07 2012-12-25 Ememory Technology Inc. Single polysilicon non-volatile memory
US8300450B2 (en) 2010-11-03 2012-10-30 International Business Machines Corporation Implementing physically unclonable function (PUF) utilizing EDRAM memory cell capacitance variation
JP2012109329A (ja) * 2010-11-16 2012-06-07 Elpida Memory Inc 半導体装置及びその制御方法
WO2012106358A1 (en) * 2011-01-31 2012-08-09 Everspin Technologies, Inc. Method of reading and writing to a spin torque magnetic random access memory with error correcting code
EP2671229B1 (en) * 2011-01-31 2019-10-09 Everspin Technologies, Inc. Method of writing to a spin torque magnetic random access memory
JP5204868B2 (ja) * 2011-04-12 2013-06-05 シャープ株式会社 半導体記憶装置
JP5269151B2 (ja) * 2011-06-09 2013-08-21 シャープ株式会社 半導体記憶装置
US8724363B2 (en) 2011-07-04 2014-05-13 Ememory Technology Inc. Anti-fuse memory ultilizing a coupling channel and operating method thereof
KR20130011058A (ko) * 2011-07-20 2013-01-30 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작방법
KR101115756B1 (ko) * 2011-09-23 2012-03-06 권의필 고집적 프로그램이 가능한 비휘발성 메모리 및 그 제조 방법
US8508971B2 (en) * 2011-11-08 2013-08-13 Wafertech, Llc Semiconductor device with one-time programmable memory cell including anti-fuse with metal/polycide gate
KR20130092174A (ko) * 2012-02-10 2013-08-20 에스케이하이닉스 주식회사 불휘발성 반도체 메모리 장치 및 이 장치의 데이터 센싱 방법
US8698922B2 (en) * 2012-02-14 2014-04-15 Omni Vision Technologies, Inc. Black level correction for imaging pixels
JP5395203B2 (ja) * 2012-03-23 2014-01-22 力晶科技股▲ふん▼有限公司 レベルシフト回路及びそれを用いた半導体デバイス
FR2990291A1 (fr) * 2012-05-03 2013-11-08 St Microelectronics Sa Procede de controle du claquage d'un antifusible
US8681528B2 (en) * 2012-08-21 2014-03-25 Ememory Technology Inc. One-bit memory cell for nonvolatile memory and associated controlling method
US9142275B2 (en) * 2012-10-31 2015-09-22 Taiwan Semiconductor Manufacturing Co., Ltd. Wordline tracking for boosted-wordline timing scheme
US8830766B2 (en) 2013-01-23 2014-09-09 Lsi Corporation Margin free PVT tolerant fast self-timed sense amplifier reset circuit
US20140293673A1 (en) 2013-03-28 2014-10-02 Ememory Technology Inc. Nonvolatile memory cell structure and method for programming and reading the same
US9281074B2 (en) * 2013-05-16 2016-03-08 Ememory Technology Inc. One time programmable memory cell capable of reducing leakage current and preventing slow bit response
US20150007337A1 (en) * 2013-07-01 2015-01-01 Christian Krutzik Solid State Drive Physical Uncloneable Function Erase Verification Device and Method
JP6106043B2 (ja) * 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
KR20150019442A (ko) * 2013-08-14 2015-02-25 삼성전자주식회사 퓨즈 셀들의 프로그래밍 방법 및 메모리 복구 방법
KR101489758B1 (ko) 2013-08-26 2015-02-04 한국전자통신연구원 플래시 메모리의 동작 제어 방법 및 장치
CN104464816B (zh) * 2013-09-21 2019-03-01 上峰科技股份有限公司 单次可编程记忆体及其操作方法和编程方法以及电子系统
EP3349343B1 (en) * 2013-11-08 2019-07-17 Delta Electronics (Thailand) Public Co., Ltd. Resistorless precharging
US9628086B2 (en) * 2013-11-14 2017-04-18 Case Western Reserve University Nanoelectromechanical antifuse and related systems
US20150143130A1 (en) * 2013-11-18 2015-05-21 Vixs Systems Inc. Integrated circuit provisioning using physical unclonable function
CN103730164B (zh) * 2013-12-27 2017-01-04 深圳市国微电子有限公司 一种可编程存储单元
JP6380827B2 (ja) * 2014-01-27 2018-08-29 富士電機株式会社 遅延回路
US9501352B2 (en) * 2014-03-05 2016-11-22 Kabushiki Kaisha Toshiba Memory device
US9823860B2 (en) * 2014-03-14 2017-11-21 Nxp B.V. One-time programming in reprogrammable memory
US9349472B2 (en) * 2014-03-25 2016-05-24 Integrated Silicon Solution, Inc. Flash memory device with sense-amplifier-bypassed trim data read
US9768957B2 (en) 2014-04-23 2017-09-19 Cryptography Research, Inc. Generation and management of multiple base keys based on a device generated key
JP6200370B2 (ja) * 2014-04-23 2017-09-20 ルネサスエレクトロニクス株式会社 データバス駆動回路、それを備えた半導体装置及び半導体記憶装置
US9778903B2 (en) * 2014-05-12 2017-10-03 Micron Technology, Inc. Apparatuses and methods for timing domain crossing
US9431111B2 (en) * 2014-07-08 2016-08-30 Ememory Technology Inc. One time programming memory cell, array structure and operating method thereof
KR102169197B1 (ko) * 2014-09-16 2020-10-22 에스케이하이닉스 주식회사 향상된 프로그램 효율을 갖는 안티퓨즈 오티피 메모리 셀 및 셀 어레이
KR20160071054A (ko) * 2014-12-11 2016-06-21 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
US9627088B2 (en) * 2015-02-25 2017-04-18 Ememory Technology Inc. One time programmable non-volatile memory and read sensing method thereof

Also Published As

Publication number Publication date
TWI614766B (zh) 2018-02-11
CN107039057A (zh) 2017-08-11
CN107045886A (zh) 2017-08-15
TW201826277A (zh) 2018-07-16
CN106981300A (zh) 2017-07-25
CN107045463A (zh) 2017-08-15
EP3196889A1 (en) 2017-07-26
CN107045463B (zh) 2020-07-17
US20170206965A1 (en) 2017-07-20
TW201727657A (zh) 2017-08-01
TWI637397B (zh) 2018-10-01
US20170206980A1 (en) 2017-07-20
US10176883B2 (en) 2019-01-08
JP2018110002A (ja) 2018-07-12
CN108320773A (zh) 2018-07-24
EP3196888B1 (en) 2019-12-25
TW201830389A (zh) 2018-08-16
TWI613663B (zh) 2018-02-01
CN106981313B (zh) 2020-06-02
TWI627833B (zh) 2018-06-21
CN106981300B (zh) 2021-01-12
US20170206134A1 (en) 2017-07-20
TW201801091A (zh) 2018-01-01
CN108288477B (zh) 2020-11-27
JP6302020B2 (ja) 2018-03-28
TW201727634A (zh) 2017-08-01
EP3196887A1 (en) 2017-07-26
JP6389287B2 (ja) 2018-09-12
US10062446B2 (en) 2018-08-28
JP6479226B2 (ja) 2019-03-06
US9830991B2 (en) 2017-11-28
CN107045886B (zh) 2020-05-19
CN106981313A (zh) 2017-07-25
EP3196887B1 (en) 2019-12-04
EP3196888A1 (en) 2017-07-26
US20170206946A1 (en) 2017-07-20
JP2017139046A (ja) 2017-08-10
TWI610309B (zh) 2018-01-01
US9799410B2 (en) 2017-10-24
CN108320773B (zh) 2020-12-18
EP3614387A1 (en) 2020-02-26
CN107039057B (zh) 2019-04-05
US9792968B2 (en) 2017-10-17
US9613714B1 (en) 2017-04-04
TWI610312B (zh) 2018-01-01
US20170207773A1 (en) 2017-07-20
TW201728082A (zh) 2017-08-01
EP3614387B1 (en) 2020-09-30
JP2017130184A (ja) 2017-07-27
TWI640990B (zh) 2018-11-11
CN108288477A (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
TWI610312B (zh) 具有錯誤修正碼的記憶體架構以及其操作方法
KR102231294B1 (ko) 복수의 레벨의 오류 정정을 제공하는 정보 처리 장치 및 시스템, 및 그것의 동작 방법
US8332727B2 (en) Error correction circuit, flash memory system including the error correction circuit, and operating method of the error correction circuit
US20140053041A1 (en) Nonvolatile semiconductor memory system error correction capability of which is improved
JP2016167669A (ja) プログラマブル論理回路装置及びそのエラー検出方法
US20140344643A1 (en) Hybrid memory protection method and apparatus
US20200210284A1 (en) Minimal aliasing bit-error correction code
KR20150090414A (ko) 에러 정정 동작을 수행하는 반도체 장치
US11093588B2 (en) Memory system including data obfuscation
JP2021189912A (ja) 半導体装置及び半導体記憶装置
WO2022151730A1 (zh) 存储系统
JP2014082574A (ja) 誤り検出訂正回路、及びメモリ装置
US11417413B2 (en) Semiconductor memory apparatus and method for reading the same
US5337317A (en) Minimizing the programming time in a semiconductor integrated memory circuit having an error correction function
JP2014033364A (ja) 誤り検出訂正回路、及びメモリ装置
WO2022151724A1 (zh) 纠错系统
JP5617776B2 (ja) メモリ回路,メモリ装置及びメモリデータの誤り訂正方法
TW201606782A (zh) 用以監視記憶體之資料錯誤狀態之方法與裝置
TWI706414B (zh) 記憶體內運算系統及其記憶體裝置
US11126500B2 (en) Error detection and correction with integrity checking
JP2020150515A (ja) 誤り訂正回路及びメモリシステム
TWI703572B (zh) 記憶體儲存裝置及其記憶體測試方法
WO2022151723A1 (zh) 比较系统
WO2022151721A1 (zh) 纠错系统
JP2014116659A (ja) 誤り検出訂正回路、及び半導体記憶装置