KR102394662B1 - Lut-프리 메모리 복구 방법 - Google Patents

Lut-프리 메모리 복구 방법 Download PDF

Info

Publication number
KR102394662B1
KR102394662B1 KR1020200138229A KR20200138229A KR102394662B1 KR 102394662 B1 KR102394662 B1 KR 102394662B1 KR 1020200138229 A KR1020200138229 A KR 1020200138229A KR 20200138229 A KR20200138229 A KR 20200138229A KR 102394662 B1 KR102394662 B1 KR 102394662B1
Authority
KR
South Korea
Prior art keywords
memory
memory cell
row
memory cells
data
Prior art date
Application number
KR1020200138229A
Other languages
English (en)
Other versions
KR20210081236A (ko
Inventor
캐서린 에이치 치앙
Original Assignee
타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
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
Priority claimed from US16/939,542 external-priority patent/US11367500B2/en
Application filed by 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 filed Critical 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Publication of KR20210081236A publication Critical patent/KR20210081236A/ko
Application granted granted Critical
Publication of KR102394662B1 publication Critical patent/KR102394662B1/ko

Links

Images

Classifications

    • 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
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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
    • 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
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • 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
    • G11C29/44Indication or identification of errors, e.g. for repair
    • 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
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • 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/702Masking faults in memories by using spares or by reconfiguring by replacing auxiliary circuits, e.g. spare voltage generators, decoders or sense amplifiers, to be used instead of defective ones
    • 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/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • 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/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • 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/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/814Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for optimized yield
    • 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/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • 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/835Masking faults in memories by using spares or by reconfiguring using programmable devices with roll call arrangements for redundant substitutions
    • 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
    • G11C2029/0409Online test
    • 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
    • G11C2029/0411Online error correction
    • 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/1202Word line control
    • 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/1204Bit line control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Mram Or Spin Memory Techniques (AREA)

Abstract

본 개시 내용의 다양한 실시예는 룩업 테이블(LUT)-프리 동적 메모리 할당 프로세스를 사용한 메모리 복구 방법에 관한 것이다. 복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이가 제공된다. 또한, 어레이의 각 메모리 셀은 다수의 데이터 상태 및 영구 상태를 갖는다. 어레이의 행에서 하나 이상의 비정상 메모리 셀이 식별되고, 비정상 메모리 셀을 식별하는 것에 응답하여 비정상 메모리 셀은 영구 상태로 설정된다. 비정상 메모리 셀은 고장난 메모리 셀 및 일부 실시예에서 한계 성능을 갖는 테일 메모리 셀을 포함한다. 행에서의 판독 또는 기입 동작 동안, 하나 이상의 비정상 메모리 셀은 영구 상태에 의해 식별되고 데이터는 나머지 메모리 셀로부터 판독되거나 이에 기입되지만 비정상 메모리 셀(들)은 배제된다.

Description

LUT-프리 메모리 복구 방법{METHOD FOR LUT-FREE MEMORY REPAIR}
본 출원은 2019년 12월 20일 출원된 미국 가특허 출원 번호 제62/951,117호의 우선권을 주장하며, 이 미국 가출원의 내용은 그 전체가 본원에 참고로 포함된다.
많은 현재의 전자 디바이스는 전자 메모리를 포함하고 있다. 전자 메모리는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다. 비 휘발성 메모리는 전력이 없을 경우에도 자체 저장된 데이터를 유지할 수 있는 반면, 휘발성 메모리는 전력이 상실될 경우 자체 저장된 데이터를 상실하게 된다. 일부 타입의 전자 메모리는, 예를 들어, 저항성 랜덤 액세스 메모리(resistive random-access memory)(RRAM), 자기 저항성 랜덤 액세스 메모리(magnetoresistive random-access memory)(MRAM), 강유전성 랜덤 액세스 메모리(ferroelectric random-access memory)(FeRAM)), 위상 변화 메모리(phase-change memory)(PCM) 등을 포함한다.
본 개시 내용의 양태들은 첨부 도면과 함께 읽게 되면 이하의 상세한 설명으로부터 최상으로 이해된다. 주목할 것은 본 산업의 표준 관행에 따라 다양한 피처들(features)이 축척대로 도시되는 것은 아니라는 것이다. 실제로, 다양한 피처들의 치수는 설명의 명확성을 위해 임의로 증가 또는 감소될 수 있다.
도 1은 메모리 셀의 행에 대한 룩업 테이블(lookup table)(LUT)-프리(free) 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램을 도시하고 있다.
도 2는 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 플로우 차트를 도시하고 있다.
도 3a 내지 도 3c는 영구 상태(permanent state)로 플래그된 상이한 개수 및 배열의 비정상 메모리 셀을 사용하는 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램을 도시하고 있다.
도 4a 및 도 4b는 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 상이한 대안적인 실시예의 개략적인 다이어그램을 도시하고 있다.
도 5는 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램을 도시하고 있으며, 여기서 행은 다수의 물리적 워드(physical words)를 저장하도록 구성된다.
도 6은 메모리 셀 어레이에 대한 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램을 도시하고 있다.
도 7a 및 도 7b는 도 1의 메모리 셀의 일부 실시예의 단면도를 도시하고 있으며, 여기서 메모리 셀은 각각 제 1 데이터 상태 및 제 2 데이터 상태에 있는 MRAM 셀이 된다.
도 8a 및 도 8b는 도 1의 메모리 셀의 일부 상이한 실시예의 단면도를 도시하고 있으며, 여기서 메모리 셀은 영구 상태에 있는 MRAM 셀이 된다.
도 9는 도 1의 LUT-프리 동적 메모리 할당 프로세스를 수행하도록 구성되는 집적 회로(IC) 칩의 일부 실시예의 개략적인 다이어그램을 도시하고 있다.
도 10a 및 도 10b는 도 9의 메모리 셀의 상이한 상태에 대응하는 판독 전류 확률 분포의 일부 상이한 실시예의 그래프를 도시하고 있다.
도 11a 및 도 11b는 도 9의 감지 증폭기 블럭의 일부 실시예의 개략적인 다이어그램을 도시하고 있으며, 여기서 감지 증폭기 블럭은 각각 데이터 상태 및 영구 상태에 있는 메모리 셀에 전기적으로 연결된다.
도 12는 도 9의 IC 칩의 일부 대안적인 실시예의 개략적인 다이어그램을 도시하고 있으며, 여기서 열 디코더는 감지 증폭기/드라이버 회로와 동적 할당 회로 사이에 있다.
도 13은 판독 동작 동안 도 9의 IC 칩의 일부 실시예의 개략적인 흐름 다이어그램을 도시하고 있다.
도 14a 및 도 14b는 도 13의 IC 칩의 일부 상이한 대안적인 실시예의 개략적인 흐름 다이어그램을 도시하고 있다.
도 15는 기입 동작 동안 도 9의 IC 칩의 일부 실시예의 개략적인 흐름 다이어그램을 도시하고 있다.
도 16a 및 도 16b는 도 15의 IC 칩의 일부 상이한 대안적인 실시예의 개략적인 흐름 다이어그램을 도시하고 있다.
도 17은 도 9의 IC 칩의 일부 실시예의 개략적인 다이어그램을 도시하고 있으며, 여기서 IC 칩은 워드 라인, 비트 라인, 및 소스 라인을 포함한다.
도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b는 LUT-프리 동적 메모리 할당 프로세스를 사용한 메모리 복구 방법의 일부 실시예의 일련의 개략적인 다이어그램을 도시하고 있다.
도 28은 도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b의 방법의 일부 실시예의 플로우 차트를 도시하고 있다.
도 29는 테일 메모리 셀(tail memory cells)을 선택하기 위한 판독 전류 확률 분포의 일부 실시예의 그래프를 도시하고 있다.
도 30은 테일 메모리 셀을 선택하기 위한 상이한 기입 강도에 걸친 기입 실패 비율의 일부 실시예의 그래프를 도시하고 있다.
도 31 내지 도 36, 도 37a, 및 도 37b는 LUT-프리 동적 메모리 할당 프로세스 및 LUT를 사용한 메모리 복구 방법의 일부 실시예의 일련의 개략적인 다이어그램을 도시하고 있다.
도 38은 도 31 내지 도 36, 도 37a, 및 도 37b의 방법의 일부 실시예의 플로우 차트를 도시하고 있다.
본 개시 내용은 본 개시 내용의 상이한 피처들을 구현하기 위한 많은 상이한 실시예 또는 예를 제공한다. 이하에서는 본 개시 내용을 단순화하기 위해 특정 예의 컴포넌트들 및 배열체들이 기술된다. 이들은 물론 예에 불과할 뿐이며 제한하려는 것이 아니다. 예를 들어, 이하의 설명에서 제 2 피처 위에 또는 제 2 피처 상에 제 1 피처를 형성하는 것은 제 1 피처 및 제 2 피처가 직접 접촉하여 형성되는 실시예를 포함할 수 있고, 또한 제 1 피처 및 제 2 피처가 직접 접촉하지 않을 수 있도록 제 1 피처와 제 2 피처 사이에 추가적인 피처들이 형성될 수 있는 실시예를 포함할 수 있다. 또한, 본 개시 내용은 다양한 예에서 참조 번호 및/또는 문자를 반복할 수 있다. 이러한 반복은 단순성 및 명확성을 위한 것이며, 그 자체가 논의된 다양한 실시예들 및/또는 구성들 간의 관계를 나타내는 것은 아니다.
또한, "바로 아래", "아래", "하부", "위", "상부" 등과 같은 공간 관련 용어는 본원에서 하나의 요소 또는 피처의 다른 요소(들) 또는 피처(들)에 대한 관계를 도면에 도시한 바와 같이 기술하기 위한 설명의 편의를 위해 사용될 수 있다. 이들 공간 관련 용어는 도면에 도시된 방향 외에도 사용 중인 또는 동작 중인 디바이스의 다양한 방향을 포함하도록 의도된다. 장치는 다른 방식으로 배향될 수 있고(90도 또는 다른 방향으로 회전될 수 있고), 그에 따라 본원에서 사용되는 공간 관련 서술자가 마찬가지로 해석될 수 있다.
일부 메모리 디바이스는 메모리 어레이 및 룩업 테이블(lookup table)(LUT)을 포함한다. 메모리 어레이는 복수의 행 및 복수의 열에 있는 복수의 메모리 셀을 포함한다. 또한, 행들 중 적어도 하나 또는 열들 중 적어도 하나는 중복성을 위해 예약되어 있다. 메모리 셀이 고장난 경우, 고장난 메모리 셀의 주소는 LUT에 저장되고 LUT 내의 예약된 행 또는 열에 매핑된다. 또한, 메모리 어레이에 대한 각각의 판독 및 기입 동작 동안, 제공된 주소는 LUT에서 조회된다. 조회(lookup)는 제공된 주소가 고장난 메모리 셀에 대응하는지를 결정하고, 만약 그렇다면 고장난 메모리 셀의 행 또는 열 대신 사용될 예약된 행 또는 열을 결정한다.
위 메모리 디바이스의 문제점은 각각의 판독 및 기입 동작을 위해 LUT에 액세스하면 대기 시간과 증가된 전력 소비가 유발된다는 것이다. 또 다른 문제점은 LUT가 많은 양의 집적 회로(IC) 칩 구역을 차지하므로 메모리 밀도를 저하시킨다는 것이다. 또 다른 문제점은 LUT가 메모리 디바이스를 행 단위 또는 열 단위의 메모리 복구로 제한한다는 것으로, 이는 비트 단위의 메모리 복구에 비해 복구 효율이 낮아지게 된다. 예를 들어, 최악의 시나리오에서 전체 행 또는 열이 단일의 고장난 메모리 셀에 할당될 수 있다. 비트 단위의 메모리 복구는 메모리 밀도가 실질적으로 저하될 정도로 LUT의 사이즈를 증가시키기 때문에 실행 불가능하다.
본 개시 내용의 다양한 실시예들은 LUT-프리 동적 메모리 할당 프로세스 뿐만 아니라 LUT-프리 동적 메모리 할당 프로세스를 수행하도록 구성되는 IC 칩을 사용한 메모리 복구 방법에 관한 것이다. 방법의 일부 실시예에서, 복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이가 제공된다. 또한, 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 갖는다. 어레이의 행에서 하나 이상의 비정상 메모리 셀이 식별되고, 비정상 메모리 셀을 식별하는 것에 응답하여 비정상 메모리 셀은 영구 상태로 설정된다. 비정상 메모리 셀은 고장난 메모리 셀 및 일부 실시예에서 한계 성능을 갖는 테일 메모리 셀(tail memory cells)을 포함한다. 행에서의 판독 또는 기입 동작 동안, 하나 이상의 비정상 메모리 셀은 행에서 영구 상태에 의해 식별되고 데이터는 행 내의 나머지 메모리 셀(예컨대, 정상 메모리 셀)로부터 판독되거나 이에 기입되지만 비정상 메모리 셀은 배제된다.
비정상을 의미하는 영구 상태를 사용하는 것에 의해, 메모리 복구는 LUT없이 수행될 수 있다. 따라서, 대기 시간과 전력 소비가 감소될 수 있고 메모리 밀도는 증가될 수 있다. 또한, 비정상을 의미하는 영구 상태를 사용하는 것에 의해, 메모리 복구가 비트 단위로 수행될 수 있고, 메모리 셀은 정적 계산(static calculations)을 사용하여 동적으로 할당될 수 있다. 비트 단위로 메모리 복구를 수행하면 복구 효율이 높아질 수 있다. 높은 복구 효율로 인해 복구 예산(예컨대, 복구될 수 있는 비트 수)은 증가될 수 있다. 증가된 복구 예산으로 인해 부실한 성능의 메모리 셀은 개선된 전력 효율 및/또는 속도로 교체될 수 있다. 또한, 증가된 복구 예산으로 인해 프로세스 및/또는 디자인 제약은 완화될 수 있다. 정적 계산을 사용하여 메모리 셀을 동적으로 할당하면 동적 할당이 기존 오류 정정 코드(error-correcting code)(ECC) 회로에 통합되어 IC 칩 구역에 미치는 영향과 대기 시간을 줄일 수 있다.
도 1을 참조하면, 복수의 열에 걸쳐 있는 메모리 셀(102)의 행 R에 대한 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램(100)이 제공된다. 열은 개별적으로 C<column number>로 라벨링되고, 메모리 셀(102)은 개별적으로 M<column number>로 라벨링되고, 여기서 열 번호는 정수이다. 메모리 셀(102)은 물리적 워드(physical word)(104)를 저장하도록 구성된다.
메모리 셀(102)의 각각은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 갖는다. 데이터 메모리 셀(102d)은 제 1 및 제 2 데이터 상태에 있는 메모리 셀이며 원으로 개략적으로 도시되어 있다. 한편, 영구 메모리 셀(102p)은 영구 상태에 있는 메모리 셀이며 개략적으로 사각형으로 도시되어 있다. 예를 들어, 제 1 및 제 2 데이터 상태는 논리 "0" 및 논리 "1"에 대응하거나 그 반대일 수 있다. 영구 상태는 영구적이거나 제 1 및 제 2 데이터 상태와 비교하여 변경하기 어려운 상태이다. 일부 실시예에서, 영구 상태는 메모리 셀(102)의 절연체에 대한 절연 파괴(dielectric breakdown) 상태에 대응한다. 일부 실시예에서, 메모리 셀(102)은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태에서 각각 상이한 저항을 갖는다. 일부 실시예에서, 영구 상태는, 제 1 및 제 2 데이터 상태의 저항에 비해 높으며, 예를 들어, 개방 회로로 모델링될 수 있는 높은 저항(high resistance)을 갖는다. 다른 실시예에서, 영구 상태는 제 1 및 제 2 데이터 상태의 저항에 비해 낮으며, 예를 들어, 단락 회로로 모델링될 수 있는 낮은 저항(low resistance)을 갖는다. 일부 실시예에서, 메모리 셀(102)은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 데이터 상태에서 각각 상이한 판독 전류를 갖는다.
LUT-프리 동적 메모리 할당 프로세스에 앞서, 비정상 메모리 셀(102a)이 식별되어 영구 상태로 설정되고, 그에 따라 영구 상태는 비정상 메모리 셀(102a)을 플래그하는 데 사용된다. 비정상 메모리 셀(102a)이 영구 상태로 설정되기 때문에, 비정상 메모리 셀(102a)은 일반적으로 영구 메모리 셀(102p)과 동일하다. 또한, 정상 메모리 셀(102h)은 일반적으로 데이터 메모리 셀(102d)과 동일하다. 비정상 메모리 셀(102a)은 개략적으로 교차형으로 도시된 반면, 정상 메모리 셀(102h)은 개략적으로 교차형 없이 도시된다.
비정상 메모리 셀(102a)은 고장난 메모리 셀 및 일부 실시예에서 테일 메모리 셀(tail memory cells)을 포함한다. 대안적인 실시예에서, 비정상 메모리 셀(102a)은 고장난 메모리 셀만을 포함한다. 고장난 메모리 셀은 전혀 작동하지 않거나 의도한 대로 작동하지 않는 (예컨대, 디자인 사양을 벗어난) 메모리 셀인 반면, 테일 메모리 셀은 디자인 사양에 속하지만 성능이 가장 낮은 메모리 셀에 속한다. 비정상 메모리 셀(102a)은, 예를 들어, 회로 프로브(circuit probe)(CP) 테스팅 또는 일부 다른 적합한 테스팅에 의해 식별될 수 있다. 또한, 비정상 메모리 셀(102a)은, 예를 들어, 제조 동안, 동작 동안, 또는 다른 적합한 시간에 식별될 수 있다.
LUT-프리 동적 메모리 할당 프로세스 동안, 정상 메모리 셀(102h) 및 비정상 메모리 셀(102a)은 영구 상태를 사용하여 식별되어 정상 메모리 셀(102h)과 비정상 메모리 셀(102a)을 구별하게 된다. 또한, 영구 상태를 사용하여 식별된 정상 메모리 셀(102h)은 논리적 워드(106)에 동적으로 할당되지만 영구 상태를 사용하여 식별된 비정상 메모리 셀(102a)은 배제된다. 논리적 워드(106)는 물리적 워드(104)보다 작으므로 논리적 워드(106)에 대응하는 총 메모리 셀 수는 물리적 워드(104)에 대응하는 총 메모리 셀 수보다 적다. 결과적으로, 총 수 간의 차이는 중복성(redundancy)에 대응한다. 도시된 바와 같이, 물리적 워드(104)에 대응하는 총 메모리 셀의 수는 8 개인 반면, 논리적 워드(106)에 대응하는 총 메모리 셀의 수는 6 개이므로 2 개의 중복성 메모리 셀이 존재한다. 그러나, 다른 적합한 개수도 사용 가능하다. 일부 실시예에서, 논리적 워드(106)에 동적으로 할당된 정상 메모리 셀(102h)은 각각 1, 0, 1, 1, 0, 1을 저장하고, 여기서 1 및 0은 제 1 및 제 2 데이터 상태에 대응한다. 그러나, 다른 적합한 값도 사용 가능하다.
동적 할당은 좌측에서 우측으로 수행되지만 비정상 메모리 셀(102a)은 스킵한다. 따라서, 논리적 워드(106)는 동적으로 할당된 사전 결정된 수의 최좌측의 정상 메모리 셀(102h)이며, 여기서 사전 결정된 수는 논리적 워드(106)의 비트 수와 동일하다. 또한, 논리적 워드(106)에 대한 정상 메모리 셀(102h)의 순서는 물리적 워드(104)에 대한 것과 동일하다. 비정상 메모리 셀(102a)의 수 및 배열이 변경되는 한, 동적 할당이 변경된다. 이것으로 인해, 메모리 셀(102)의 동작 동안 새로운 비정상 메모리 셀이 식별되고, 영구 상태로 플래그되고, 그리고 교체될 수 있게 된다. 대안적인 실시예에서, 동적 할당은 좌측에서 우측으로가 아닌 다른 적합한 방식에 의해 수행될 수 있다.
LUT-프리 동적 메모리 할당 프로세스는 각각의 판독 및 기입 동작 동안 물리적 워드(104)에 대응하는 메모리 셀에 대해 수행된다. 특히, 비정상 메모리 셀(102a)이 아닌 정상 메모리 셀(102h)은, 정상 및 비정상 메모리 셀(102h, 102a)을 구별하는 플래그로서 영구 상태를 사용하여 논리적 워드(106)에 동적으로 할당된다. 그 후, 논리적 워드(106)는 논리적 워드(106)에 동적으로 할당된 정상 메모리 셀(102h)로부터 판독되거나 이에 기입된다.
영구 상태를 사용하여 비정상 메모리 셀(102a)을 플래그하고 그 후 LUT-프리 동적 메모리 할당 프로세스를 사용하여 각 판독 및 기입 동작 동안 플래그된 비정상 메모리 셀(102a)을 필터링함으로써 비트 단위의 메모리 복구가 LUT 없이 달성될 수 있다. 따라서, 대기 시간 및 전력 소비가 낮아질 수 있고 메모리 밀도는 높아질 수 있다. 비트 단위로 메모리 복구를 수행하면 복구 효율이 높아질 수 있다. 높은 복구 효율로 인해 복구 예산(예컨대, 복구될 수 있는 비트 수)은 증가될 수 있다. 예를 들어, 복구 예산은 열 단위 및 행 단위의 LUT 기반 복구의 경우보다 100 배 이상 클 수 있다. 증가된 복구 예산으로 인해 테일 메모리 셀은 개선된 전력 효율 및/또는 속도로 교체될 수 있다. 또한, 증가된 복구 예산으로 인해 프로세스 및/또는 디자인 제약은 완화될 수 있다.
LUT-프리 동적 메모리 할당 프로세스는 정적 계산에 의해 수행될 수 있으며, 따라서 그 프로세스를 구현하는 로직은 비정상 메모리 셀(102a)의 수와 비정상 메모리 셀(102a)의 배열에 관계없이 동일하다. 따라서, 동적 할당을 구현하는 로직은 ECC 회로 또는 메모리 셀(102)의 동작을 지원하는 일부 다른 적합한 회로에 통합되어 IC 칩 구역에 대한 영향을 줄이고 대기 시간을 감소시킬 수 있다.
일부 실시예에서, 메모리 셀(102)은 자기 저항성 랜덤 액세스 메모리(MRAM) 셀, 저항성 랜덤 액세스 메모리(RRAM) 셀, 강유전성 랜덤 액세스 메모리(FeRAM) 셀, 또는 일부 다른 적합한 타입의 메모리 셀이다. 이러한 실시예 중 적어도 일부에서, 메모리 셀(102)은 선택기(selectors)가 없을 수 있고 및/또는 상단 및 하단 전극을 분리하는 절연체의 절연 파괴에 의해 영구 상태로 설정될 수 있다. 대안적인 실시예에서, 메모리 셀(102)은 개별 저항성 메모리 요소 및 개별 선택기를 포함하는 하나의 선택기-하나의 저항기(one selector-one resistor)(1S1R) 메모리 셀이다. 이러한 실시예 중 적어도 일부에서, 메모리 셀(102)은 저항성 메모리 요소 및/또는 선택기에서 절연체의 절연 파괴에 의해 영구 상태로 설정될 수 있다. 저항성 메모리 요소는, 예를 들어, MRAM 셀, FeRAM 셀, RRAM 셀, 위상 변화 메모리(PCM) 셀, 또는 일부 다른 적합한 타입의 저항성 메모리 요소일 수 있다.
도 1은 특정 수의 열 및 메모리 셀을 갖는 행 R을 도시하지만, 행 R은 대안적인 실시예에서 더 많거나 더 적은 열 및 그에 따른 더 많거나 더 적은 메모리 셀을 가질 수 있다. 또한, 도 1은 특정 수 및 배열의 비정상 메모리 셀(102a)을 갖는 행 R을 도시하지만, 대안적인 실시예에서 상이한 수 및 배열의 비정상 메모리 셀(102a)이 사용 가능할 수 있다. 또한, 도 1은 특정 수 및 배열의 영구 메모리 셀(102p)을 갖는 행 R을 도시하지만, 대안적인 실시예에서 상이한 수 및 배열의 영구 메모리 셀(102p)이 사용 가능할 수 있다.
도 2를 참조하면, 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 플로우 차트(200)가 제공된다.
동작(202)에서, 아직 선택되지 않은 메모리 셀이 물리적 워드(예컨대, 도 1의 104 참조)에 대응하는 메모리 셀들로부터 선택된다. 일부 실시예에서, 선택은 물리적 워드의 행을 따라 좌측에서 우측으로 수행된다. 그러나, 다른 적합한 선택 방식이 대안적인 실시예에서 사용 가능할 수 있다.
동작(204)에서, 선택된 메모리 셀이 영구 상태에 의해 플래그되었는지에 대한 결정이 행해진다. 선택된 메모리 셀이 영구 상태에 의해 플래그된 경우, 플로우 차트(200)는 동작(206)으로 진행한다. 그렇지 않으면, 플로우 차트(200)는 동작(208)으로 진행한다.
동작(206)에서, 임의의 메모리 셀이 선택되지 않은 상태로 남아 있는지에 대한 결정이 행해진다. 아직 선택되지 않은 메모리 셀이 남아 있다면, 플로우 차트(200)는 동작(202)으로 진행하고, 새로운 메모리 셀이 선택된다. 그렇지 않으면, 플로우 차트(200)는 실패한 완료로 진행한다. 플래그된 메모리 셀이 너무 많이 존재한다.
동작(208)에서, 선택된 메모리 셀은 논리적 워드(예컨대, 도 1의 106 참조)에 할당된다.
동작(210)에서, 논리적 워드의 사이즈가 할당된 메모리 셀의 수와 동일한 지에 대한 결정이 행해진다. 논리적 워드의 사이즈가 할당된 메모리 셀의 수와 동일하다면, 플로우 차트(200)는 성공적인 완료로 진행한다. 그렇지 않으면, 플로우 차트(200)는 동작(206)으로 진행한다.
도 2의 플로우 차트(200)가 본원에서 일련의 동작 또는 이벤트로 도시되고 설명되고 있지만, 그러한 동작 또는 이벤트의 예시된 순서는 제한적인 의미로 해석되지 않아야 한다는 것이 이해될 것이다. 또한, 본원에 설명된 하나 이상의 양태 또는 실시예를 구현하는 데 예시된 모든 동작이 요구되는 것은 아니며, 본원에 예시된 하나 이상의 동작은 하나 이상의 개별 동작 및/또는 단계로 수행될 수 있다. 도 2의 플로우 차트(200)는 LUT-프리 동적 메모리 할당 프로세스를 반복적인 프로세스로 도시하고 설명하지만, LUT-프리 동적 메모리 할당 프로세스는 대안적으로 재귀적 프로세스 또는 일부 다른 적합한 타입의 프로세스일 수 있다. 또한, LUT-프리 동적 메모리 할당 프로세스는 병렬 처리로 수행될 수 있다.
도 3a 내지 도 3c를 참조하면, 영구 상태로 플래그된 상이한 수 및 배열의 비정상 메모리 셀을 사용하는 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램이 제공된다. 도 3a에서, 행 R은 물리적 워드(104)에 대응하는 단일의 비정상 메모리 셀(102a)(예컨대, 메모리 셀(M3))을 갖는다. 또한, 논리적 워드(106)는 동적으로 할당된 메모리 셀(M1, M2, 및 M4-M7)이다. 메모리 셀(M8)은 중복성을 위해 예약되어 있다. 도 3b에서, 행 R은 물리적 워드(104)에 대응하는 모든 정상 메모리 셀(102h)을 갖는다. 즉, 영구 상태로 플래그된 비정상 메모리 셀은 존재하지 않는다. 또한, 논리적 워드(106)는 동적으로 할당된 메모리 셀(M1-M6)이다. 메모리 셀(M7 및 M8)은 중복성을 위해 예약되어 있다. 도 3c에서, 행 R은 물리적 워드(104)에 대응하는 두 개의 비정상 메모리 셀(102a)(예컨대, 메모리 셀(M1) 및 메모리 셀(M7))을 갖는다. 또한, 논리적 워드(106)는 동적으로 할당된 메모리 셀(M2-M6) 및 메모리 셀(M8)이다. 중복성은 유지되지 않는다. 그러나, 도 1 및 도 3a 내지 도 3c에서 영구 상태로 플래그된 비정상 메모리 셀(102a)의 특정 수 및 배열에도 불구하고, 대안적인 실시예에서 다른 적합한 수 및 배열이 사용 가능할 수 있다.
도 4a 및 도 4b를 참조하면, 상이한 할당 방식을 사용하는 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 다른 실시예의 개략적인 다이어그램(400A, 400B)이 제공된다. 도 4a 및 도 4b에 의해 도시된 모든 할당 방식에서, 제 1 및 최종 할당된 메모리 셀은 논리적 워드(106)의 최좌측 비트 및 논리적 워드(106)의 최우측 비트에 대응한다.
도 4a에서, 정상 메모리 셀(102h)은 논리적 워드(106)에 우측에서 좌측으로 동적으로 할당되지만 영구 상태로 플래그된 비정상 메모리 셀(102a)은 배제된다. 따라서, 논리적 워드(106)에 대한 정상 메모리 셀(102h)의 순서는 물리적 워드(104)에 대한 정상 메모리 셀(102h)의 순서와 비교하여 역전된다. 도 4b에서, 홀수 열의 정상 메모리 셀(102h)(예컨대, 메모리 셀(M1, M3, 및 M7)은 먼저 논리적 워드(106)에 좌측에서 우측으로 동적으로 할당되지만 영구 상태로 플래그된 비정상 메모리 셀(102a)은 배제된다. 그 후 짝수 열의 정상 메모리 셀(102h)(예컨대, 메모리 셀(M4, M6, 및 M8)은 논리적 워드(106)에 좌측에서 우측으로 동적으로 할당되지만 영구 상태로 플래그된 비정상 메모리 셀(102a)은 배제된다. 대안적인 실시예에서, 다른 할당 방식이 이용된다.
도 5를 참조하면, 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램(500)이 제공되며, 여기서 행 R은 다수의 물리적 워드: 즉 제 1 물리적 워드(104a); 및 제 2 물리적 워드(104b)를 저장하도록 구성된다. 다수의 물리적 워드는 서로 동일한 비트 수와 서로 동일한 데이터 레이아웃을 갖는다. 예를 들어, 제 1 및 제 2 물리적 워드(104a, 104b)는 각각 도시된 바와 같이 4 비트의 데이터를 가질 수 있거나 또는 일부 다른 적합한 수의 비트를 가질 수 있다. 대안적인 실시예에서, 행 R은 행 R을 따라 배열된 추가의 물리적 워드를 저장하도록 구성된다.
LUT-프리 동적 메모리 할당 프로세스를 적용할 때 동적 할당은 물리적 워드에 의해 개별적으로 수행된다. 예를 들어, 동적 할당은 제 2 물리적 워드(104b)에 대응하는 메모리 셀과 무관하게 제 1 물리적 워드(104a)에 대응하는 메모리 셀에 대해 수행되며 그 역도 마찬가지이다. 물리적 워드에 의해 LUT-프리 동적 메모리 할당 프로세스를 개별적으로 적용함으로써, 물리적 워드에 대응하는 메모리 셀은 대응하는 물리적 워드에 개별적인 논리적 워드에 동적으로 할당된다. 예를 들어, 제 1 물리적 워드(104a)에 대응하는 메모리 셀은 제 1 물리적 워드(104a)에 개별적인 제 1 논리적 워드(106a)에 동적으로 할당된다. 다른 예로서, 제 2 물리적 워드(104b)에 대응하는 메모리 셀은 제 2 물리적 워드(104b)에 개별적인 제 2 논리적 워드(106b)에 동적으로 할당된다.
논리적 워드에 대한 동적 할당은 도 1과 관련하여 기술된 바와 같이 수행된다. 물리적 워드에 대응하는 정상 및 비정상 메모리 셀은 메모리 셀(102)의 영구 상태를 사용하여 식별되어 정상 메모리 셀(102h)과 비정상 메모리 셀(102a)을 구별하게 된다. 비정상 메모리 셀(102a)로 식별된 메모리 셀이 아닌, 정상 메모리 셀(102h)인 것으로 식별된 메모리 셀은 그 후 논리적 워드에 좌측에서 우측으로 동적으로 할당된다. 예를 들어, 메모리 셀(M2)은 영구 메모리 셀(102p)이기 때문에 비정상인 것으로 식별되고, 따라서 메모리 셀이 제 1 논리적 워드(106a)에 동적으로 할당되는 동안 스킵된다.
도 6을 참조하면, 물리적 메모리 어레이(602)에 대한 도 1의 LUT-프리 동적 메모리 할당 프로세스의 일부 실시예의 개략적인 다이어그램(600)이 제공된다. 물리적 메모리 어레이(602)는 복수의 행 및 복수의 열에 있는 복수의 메모리 셀(102)을 포함한다. 메모리 셀(102)은 개별적으로 M<row number>,<column number>으로 라벨링되고, 행은 개별적으로 Rp,<row number>로 라벨링되고, 열은 개별적으로 Cp,<column number>로 라벨링된다. 이러한 라벨의 아래 첨자 내에서 "row number" 및 "column number"는 각각 특정 행과 특정 열을 식별하는 정수이다.
물리적 메모리 어레이(602)의 행은 각각 기술된 도 1의 행 R과 같지만, 상이한 수 및 배열의 정상 및 비정상 메모리 셀(102h, 102a)을 가질 수 있다. 예를 들어, 행 Rp,1은 도 1의 행 R과 동일한 반면, 나머지 행은 상이한 수 및 배열의 정상 및 비정상 메모리 셀(102h, 102a)을 갖는다. 또한, 물리적 메모리 어레이(602)의 각 행은 물리적 워드(104)를 저장하도록 구성된다. 예를 들어, 물리적 메모리 어레이(602)의 각 행은 8 비트 물리적 워드를 저장하도록 구성될 수 있다. 대안적인 실시예에서, 물리적 메모리 어레이(602)의 각 행은 도 5와 관련하여 기술된 바와 같이 다수의 물리적 워드를 저장하도록 구성된다.
LUT-프리 동적 메모리 할당 프로세스에 앞서, 비정상 메모리 셀(102a)이 식별되어 도 1과 관련하여 기술된 바와 같이 영구 상태로 설정된다. 또한, LUT-프리 동적 메모리 할당 프로세스 동안, 정상 메모리 셀(102h)은 메모리 셀 (102)의 영구 상태를 사용하여 논리적 워드(106)에 동적으로 할당되어 정상 메모리 셀(102h)과 비정상 메모리 셀(102a)을 구별하게 된다. 동적 할당은 도 1과 관련하여 기술된 바와 같이 물리적 메모리 어레이(602)의 행에 대해 개별적으로 수행된다. 또한, 물리적 메모리 어레이(602)가 행 당 다수의 물리적 워드를 저장하도록 구성되는 한, 동적 할당은 도 5와 관련하여 기술된 바와 같이 물리적 워드에 의해 개별적으로 수행된다. 물리적 메모리 어레이(602)의 각 행에 대해 동적 할당을 수행함으로써, 논리적 메모리 어레이(604)가 정의될 수 있다.
논리적 메모리 어레이(604)는 복수의 행 및 복수의 열을 포함한다. 행은 개별적으로 Rl,<row number>로 라벨링되고, 열은 개별적으로 Cl,<column number>로 라벨링되고, 여기서 "row number" 및 "column number"는 각각 특정 행과 특정 열을 식별하는 정수이다. 논리적 메모리 어레이(604)의 행은 물리적 메모리 어레이(602)의 행과 동일하다. 반면에, 논리적 메모리 어레이(604)의 열과 물리적 메모리 어레이(602)의 열 사이의 연관성은 논리적 메모리 어레이(604)의 행에 걸쳐 물리적 메모리 어레이(602)의 행에서의 비정상 메모리 셀(102a)의 수 및 배열에 따라 변할 수 있다. 예를 들어, 도시된 바와 같이, 논리적 메모리 어레이(604)의 각 행은 논리적 메모리 어레이(604)의 열과 물리적 메모리 어레이(602)의 열 간의 상이한 연관성을 갖는다.
도 7a 및 도 7b를 참조하면, 도 1의 메모리 셀(102)의 일부 실시예의 단면도(700A, 700B)가 제공되고, 여기서 메모리 셀(102)은 각각 제 1 데이터 상태 및 제 2 데이터 상태에 있는 MRAM 셀이 된다. 따라서, 메모리 셀(102)은 또한 데이터 메모리 셀(102d)로도 알려질 수 있다. 도 7a에서, 메모리 셀(102)은 제 1 데이터 상태에 있고, 예를 들어, 제 1 데이터 상태에 있는 도 1의 각각의 메모리 셀(102)을 나타낼 수 있다. 도 7b에서, 메모리 셀(102)은 제 2 데이터 상태에 있고, 예를 들어, 제 2 데이터 상태에 있는 도 1의 각각의 메모리 셀(102)을 나타낼 수 있다.
메모리 셀(102)은 기준 요소(702), 자유 요소(704), 및 장벽 요소(706)를 포함하며, 이들은 집합적으로 자기 터널 접합(magnetic tunnel junction)(MTJ)을 정의한다. 기준 및 자유 요소(702, 704)는 강자성이고, 기준 요소(702) 위에 놓인 자유 요소(704)와 함께 수직으로 적층된다. 또한, 기준 요소(702)는 고정된 자화(708)를 갖는 반면, 자유 요소(704)는 "자유롭게" 변경되는 자화(710)를 갖는다. 주목되는 것은 자화(708, 710)가 화살표로 개략적으로 도시된다는 것이다. 또한, 주목되는 것은 자화(708, 710)가 수평인 것으로 도시되어 있지만, 자화(708, 710)(및 그에 따른 화살표)는 대안적으로 수직일 수 있다는 것이다. 이것은, 예를 들어, MTJ가 수직 MTJ인 메모리 셀(102)의 대안적인 실시예에서 발생할 수 있다. 장벽 요소(706)는 비자성(non-magnetic)이고, 기준 요소와 자유 요소(702, 704) 사이에 끼워진다.
동작 동안, 장벽 요소(706)는 장벽 요소(706)를 통한 전자의 양자 기계적 터널링(quantum mechanical tunneling)을 선택적으로 허용한다. 기준 및 자유 요소(702, 704)의 자화(708, 710)가, 도 7a에 도시된 바와 같이, 반평행(antiparallel)일 때, 양자 기계적 터널링이 차단될 수 있다. 따라서, 데이터 메모리 셀(102d)은 높은 저항을 가질 수 있고, 제 1 데이터 상태에 있을 수 있다. 기준 및 자유 요소(702, 704)의 자화(708, 710)가, 도 7b에 도시된 바와 같이, 평행일 때, 양자 기계적 터널링이 허용될 수 있다. 따라서, 데이터 메모리 셀(102d)은 낮은 저항을 가질 수 있고, 제 2 데이터 상태에 있을 수 있다.
장벽 요소(706)는, 예를 들어, 비정질 장벽, 결정질 장벽, 또는 일부 다른 적합한 절연 및/또는 터널 장벽 재료일 수 있거나 이를 포함할 수 있다. 비정질 장벽은, 예를 들어, 알루미늄 산화물(예컨대, AlOX), 티탄 산화물(예컨대, TiOX), 또는 일부 다른 적합한 비정질 장벽일 수 있거나 이를 포함할 수 있다. 결정질 장벽은, 예를 들어, 망간 산화물(예컨대, MgO), 스피넬(예컨대, MgAl2O4), 또는 일부 다른 적합한 결정질 장벽일 수 있거나 이를 포함할 수 있다. 기준 요소(702) 및/또는 자유 요소(704)는, 예를 들어, 코발트 철(예컨대, CoFe), 코발트 철 붕소(예컨대, CoFeB), 일부 다른 적합한 강자성 재료(들), 또는 이들의 임의의 조합일 수 있거나 이를 포함할 수 있다.
도 8a 및 도 8b를 참조하면, 도 1의 메모리 셀(102)의 일부 상이한 실시예의 단면도(800A, 800B)가 제공되고, 여기서 메모리 셀(102)은 영구 상태에 있는 MRAM 셀이 된다. 따라서, 메모리 셀(102)은 또한 영구 메모리 셀(102p)로도 알려질 수 있다. 메모리 셀(102)은, 예를 들어, 영구 상태에 있는 도 1의 각각의 메모리 셀(102)을 나타낼 수 있다.
메모리 셀(102)은 도 7a 및 도 7b에서와 같이 기준 요소(702), 자유 요소(704), 및 장벽 요소(706)를 포함한다. 그러나, 도 7a 및 도 7b의 장벽 요소(706)와 비교하여, 도 8a 및 도 8b의 장벽 요소(706)는 비정상 구조물을 갖는다. 비정상 구조물의 일부로서, 장벽 요소(706)는 기준 요소(702)로부터 자유 요소(704)로의 하나 이상의 누설 경로(804)를 정의하는 하나 이상의 결함(802)을 포함한다. 결함(들)(802)은, 예를 들어, 캐리어 트랩, 도전성 필라멘트, 일부 다른 적합한 결함(들), 또는 이들의 임의의 조합일 수 있거나 이를 포함할 수 있다.
구체적으로 도 8a의 단면도(800A)를 참조하면, 장벽 요소(706)는 기준 요소(702)가 상방으로 튀어 나온 위치에서 재료가 결여된다. 또한, 누설 경로(804)는 벌지(bulge)에서의 기준 요소와 자유 요소(702, 704) 사이에서 연장된다. 장벽 요소(706)는, 예를 들어, 재료가 결여될 수 있고 및/또는 하드 파괴(hard breakdown)로 인해 누설 경로(804)를 가질 수 있다. 따라서, 누설 경로(804)를 정의하는 결함(802)은, 예를 들어, 장벽 요소(706) 내의 도전성 필라멘트일 수 있거나 이를 포함할 수 있다.
구체적으로 도 8b의 단면도(800B)를 참조하면, 장벽 요소(706)는 트위스트되어 두께가 균일하지 않게 된다. 또한, 누설 경로(804)는 장벽 요소(706)의 얇은 영역들에서의 기준 요소와 자유 요소(702, 704) 사이에서 연장된다. 장벽 요소(706)는, 예를 들어, 트위스트될 수 있고 및/또는 소프트 파괴(soft breakdown)로 인해 누설 경로(804)를 가질 수 있다. 따라서, 누설 경로(804)를 정의하는 결함(802)은, 예를 들어, 장벽 요소(706) 내의 캐리어 트랩일 수 있거나 이를 포함할 수 있다.
도 7a, 도 7b, 도 8a, 및 도 8b는 기준 요소(702) 및 자유 요소(704)가 각각 장벽 요소(706) 아래 및 위에 있는 것으로 도시하고 있지만, 기준 요소(702) 및 자유 요소(704)는 대안적으로 각각 장벽 요소(706)의 위 및 아래에 있을 수 있다. 도 7a, 도 7b, 도 8a, 및 도 8b는 MRAM 셀로서 도 1의 메모리 셀(102)을 도시하지만, 도 1의 메모리 셀(102)은 적어도 2 개의 데이터 상태 및 적어도 하나의 영구 상태를 갖는 다른 적합한 타입의 메모리 셀일 수 있다. 예를 들어, 도 1의 메모리 셀(102)은 RRAM 셀, FeRAM 셀, 다른 적합한 타입의 MRAM 셀 등일 수 있다. 도 7a, 도 7b, 도 8a, 및 도 8b는 MRAM 셀로서 도 1의 메모리 셀(102)을 도시하지만, 도 1의 메모리 셀(102)은 대안적으로 1S1R 메모리 셀일 수 있다. 예를 들어, 선택기는 도 7a, 도 7b, 도 8a, 및 도 8b의 대안적인 실시예에서 기준 요소(702), 고정 요소(704), 및 장벽 요소(706)와 함께 적층될 수 있다.
도 9를 참조하면, 메모리 코어(902) 및 동적 할당 회로(904)를 포함하는 IC 칩의 일부 실시예의 개략적인 다이어그램(900)이 제공된다. 메모리 코어(902)는 물리적 메모리 어레이(602) 및 감지 증폭기/드라이버 회로(906)를 포함한다. 감지 증폭기/드라이버 회로(906)는 동적 할당 회로(904)와 조화되어 도 1 및 도 6과 관련하여 기술된 LUT-프리 동적 메모리 할당 프로세스에 따라 물리적 메모리 어레이(602)를 논리적 메모리 어레이(604)로 변환한다. 물리적 메모리 어레이(602) 및 논리적 메모리 어레이(604)는 도 6에서와 같지만, 대안적인 실시예에서 물리적 및 논리적 메모리 어레이(602, 604)의 다른 적합한 구성이 사용 가능할 수 있다.
LUT-프리 동적 메모리 할당 프로세스 동안, 물리적 메모리 어레이(602)의 단일 행이 대응하는 워드 라인(도시되지 않음)에 의해 선택된다. 또한, 선택된 행의 물리적 워드(104)에 대응하는 메모리 셀은 열을 따라 연장되는 도전성 라인(908)(일부만 도시됨)에 의해 판독 전압으로 바이어싱될 수 있다. 그 결과, 선택된 행의 메모리 셀에 개별적인 판독 전류가 도전성 라인(908) 상에 생성된다. 판독 전류는 개별적으로 Iread,<column number>로 라벨링되고, 여기서 열 번호는 물리적 메모리 어레이(602)에서 특정 열을 식별하는 정수이다.
감지 증폭기/드라이버 회로(906)는 도전성 라인(908)에 의해 물리적 메모리 어레이(602)에 전기적으로 연결되고, 판독 전류를 수신한다. 또한, 감지 증폭기/드라이버 회로(906)는 제 1 기준 전류(Iref,1) 및 제 2 기준 전류(Iref,2)를 수신한다. 제 1 기준 전류(Iref,1)는 제 1 데이터 상태에 있을 때의 메모리 셀(102)의 판독 전류와 제 2 데이터 상태에 있을 때의 메모리 셀(102)의 판독 전류 사이에 있다. 또한, 제 2 기준 전류(Iref,2)는 영구 상태에 있을 때의 메모리 셀(102)의 판독 전류와 제 1 및 제 2 데이터 상태에 있을 때의 메모리 셀(102)의 판독 전류 사이에 있다. 감지 증폭기/드라이버 회로(906)는 복수의 감지 증폭기 블럭(906b)을 포함한다. 감지 증폭기 블럭(906b)은 물리적 메모리 어레이(602)의 열에 대해 개별적이며, 판독 전류를 제 1 및 제 2 기준 전류(Iref,1, Iref,2)와 비교한다.
판독 전류를 제 1 기준 전류(Iref,1)와 비교함으로써, 감지 증폭기 블럭(906b)은 대응하는 판독 데이터 신호를 생성한다. 판독 데이터 신호는 판독 전류에 개별적이고 따라서 선택된 행의 메모리 셀(102)에 개별적인 이진 신호이다. 예를 들어, 판독 데이터 신호는 대응하는 판독 전류가 제 1 기준 전류(Iref,1)보다 작은 경우 "1" 값을 가질 수 있으며, 대응하는 판독 전류가 제 1 기준 전류(Iref,1)보다 큰 경우 "0" 값을 가질 수 있거나, 또는 그 반대일 수도 있다. 또한, 제 1 기준 전류(Iref,1)가 제 1 데이터 상태에 있을 때의 메모리 셀(102)의 판독 전류와 제 2 데이터 상태에 있을 때의 메모리 셀(102)의 판독 전류 사이에 있으므로, 판독 데이터 신호는 선택된 행에서 메모리 셀(102)의 데이터 상태를 나타낸다. 또한, 판독 데이터 신호는 선택된 행의 메모리 셀(102)로부터 판독된 물리적 워드(104)를 나타낸다.
각각의 판독 전류를 제 2 기준 전류(Iref,2)와 비교함으로써, 감지 증폭기 블럭(906b)은 대응하는 판독 플래그 신호를 생성한다. 판독 플래그 신호는 판독 전류에 개별적이고 따라서 선택된 행의 메모리 셀(102)에 개별적인 이진 신호이다. 예를 들어, 판독 플래그 신호는 대응하는 판독 전류가 제 2 기준 전류(Iref,2)보다 작은 경우 "1" 값을 가질 수 있으며, 대응하는 판독 전류가 제 2 기준 전류(Iref,2)보다 큰 경우 "0" 값을 가질 수 있거나, 또는 그 반대일 수도 있다. 또한, 제 2 기준 전류(Iref,2)가 영구 상태에 있을 때의 메모리 셀(102)의 판독 전류와 제 1 및 제 2 데이터 상태에 있을 때의 메모리 셀(102)의 판독 전류 사이에 있으므로, 판독 플래그 신호는 영구 상태의 메모리 셀과 데이터 상태의 메모리 셀을 구별하는 데 사용될 수 있다. 영구 상태가 제 1 및 제 2 데이터 상태의 저항보다 작은 저항을 갖는 일부 실시예에서, 판독 플래그 신호는 판독 전류(Iread)가 제 2 기준 전류(Iref,2)보다 큰 경우 영구 상태를 식별하고, 그렇지 않으면 제 1 데이터 상태 또는 제 2 데이터 상태를 식별한다. 영구 상태가 제 1 및 제 2 데이터 상태의 저항보다 큰 저항을 갖는 일부 실시예에서, 판독 플래그 신호는 판독 전류(Iread)가 제 2 기준 전류(Iref,2)보다 작은 경우 영구 상태를 식별하며, 그렇지 않으면 제 1 데이터 상태 또는 제 2 데이터 상태를 식별한다.
동적 할당 회로(904)는 감지 증폭기/드라이버 회로(906)에 전기적으로 연결되고, 대응하는 데이터 라인(910) 및 플래그 라인(912)에 의해 판독 데이터 신호 및 판독 플래그 신호를 수신한다. 명확성을 위해, 판독 데이터 라인(910)은 실선으로 개략적으로 도시된 반면, 판독 플래그 라인(912)은 점선으로 개략적으로 도시되어 있다. 판독 플래그 신호를 사용하여, 동적 할당 회로(904)는 선택된 행의 메모리 셀(102) 중 어느 것이 제 1 및 제 2 데이터 상태에 있고 선택된 행의 메모리 셀(102) 중 어느 것이 영구 상태에 있는지를 식별한다. 제 1 및 제 2 데이터 상태에 있는 것으로 식별된 메모리 셀은 그 후 논리적 워드(106)에 동적으로 할당되지만 영구 상태에 있는 것으로 식별된 메모리 셀은 배제된다. 또한, 논리적 워드(106)에 동적으로 할당된 메모리 셀은 그 후 판독 및 기입 동작에 이용된다. 판독 동작의 경우, 이는 할당된 메모리 셀에 대해 판독 데이터 신호를 출력하는 것을 포함할 수 있다.
전술한 바와 같이, 비정상 메모리 셀(102a)은 LUT-프리 동적 메모리 할당 프로세스에 앞서 식별되어 영구 상태로 설정되고, 그에 따라 영구 상태는 비정상 메모리 셀(102a)을 플래그한다. 따라서, 제 1 및 제 2 데이터 상태에 있는 것으로 식별된 메모리 셀은 또한 정상 메모리 셀(102h)로 간주될 수 있는 반면, 영구 상태에 있는 것으로 식별된 메모리 셀은 또한 비정상 메모리 셀(102a)로 간주될 수 있다. 추가적으로, 전술한 바와 같이, LUT-프리 동적 메모리 할당 프로세스는 판독 및 기입 동작 동안 비정상 메모리 셀이 아닌 정상 메모리 셀(102h)을 논리적 워드(106)에 할당하도록 수행된다. 그 후, 논리적 워드(106)는 정상 메모리 셀(102h)로부터 판독되거나 이에 기입된다. 따라서, LUT-프리 동적 메모리 할당 프로세스는 판독 및 기입 동작 동안 비정상 메모리 셀(102a)의 회피를 가능하게 할 수 있다.
물리적 메모리 어레이(602)의 각 행에 대해 개별적으로 판독 전류를 생성하고, 물리적 메모리 어레이(602)의 각 행에 대해 개별적으로 LUT-프리 동적 메모리 할당 프로세스를 수행함으로써, 논리적 메모리 어레이(604)는 물리적 메모리 어레이(602)로부터 유도될 수 있다. 도 6에 기술된 바와 같이, 논리적 메모리 어레이(604)의 행은 물리적 메모리 어레이(602)의 행과 동일하다. 그러나, 논리적 메모리 어레이(604)의 열과 물리적 메모리 어레이(602)의 열 사이의 연관성은 논리적 메모리 어레이(604)의 행에 걸쳐 물리적 메모리 어레이(602)의 행에서의 비정상 메모리 셀(102a)의 수 및 배열에 따라 변할 수 있다. 일부 실시예에서, 행 Rp,1에 있는 정상 메모리 셀(102h)은 각각 1, 0, 1, 1, 0, 1을 저장하고, 여기서 1 및 0은 제 1 및 제 2 데이터 상태에 대응한다. 그러나, 다른 적합한 값도 사용 가능하다.
도 10a를 참조하면, 도 9의 메모리 셀(102)의 상이한 상태들에 대응하는 복수의 판독 전류 확률 분포(1002)의 일부 실시예의 그래프(1000A)가 제공된다. 가로 축은 판독 전류에 대응하고, 세로 축은 확률에 대응한다. 위에서 논의된 바와 같이, 상이한 상태들은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 갖는다.
복수의 판독 전류 확률 분포(1002)는 제 1 데이터 상태 분포(Id1), 제 2 데이터 상태 분포(Id2), 및 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태에 대응하는 영구 상태 분포(Ip)를 포함한다. 제 1 데이터 상태 분포(Id1)는 제 2 데이터 상태 분포(Id2)보다 낮은 전류를 갖는다. 따라서, 제 1 데이터 상태의 메모리 셀은 제 2 데이터 상태의 메모리 셀보다 높은 저항을 갖는다. 또한, 영구 상태 분포(Ip)는 제 2 데이터 상태 분포(Id2)보다 높은 전류를 갖는다. 따라서, 영구 상태의 메모리 셀은 제 2 데이터 상태의 메모리 셀보다 낮은 저항을 갖는다. 제 1 데이터 상태 분포(Id1)는 제 1 데이터 상태에 있는 도 9의 메모리 셀(102) 중 임의의 것을 나타내며, 제 2 데이터 상태 분포(Id2)는 제 2 데이터 상태에 있는 도 9의 메모리 셀(102) 중 임의의 것을 나타낸다. 또한, 영구 상태 분포(Ip)는 영구 상태에 있는 도 9의 메모리 셀(102) 중 임의의 것을 나타낸다.
제 1 기준 전류(Iref,1)는 제 1 및 제 2 데이터 상태의 경우 판독 윈도우(1004)의 중심에 있고, 제 2 기준 전류(Iref,2)는 제 2 데이터 상태 및 영구 상태의 경우 플래그 윈도우(1006)의 중심에 있다. 대안적인 실시예에서, 제 1 기준 전류(Iref,1)는 판독 윈도우(1004)에 있지만, 판독 윈도우(1004)의 중심으로부터 오프셋되어 있다. 유사하게, 대안적인 실시예에서, 제 2 기준 전류(Iref,2)는 플래그 윈도우(1006)에 있지만, 플래그 윈도우(1006)의 중심으로부터 오프셋되어 있다. 제 1 기준 전류(Iref,1)는 메모리 셀이 제 1 데이터 상태에 있는지 또는 제 2 데이터 상태에 있는지를 결정하기 위해 도 9의 감지 증폭기/드라이버 회로(906)에 의해 사용된다. 제 2 기준 전류(Iref,2)는 메모리 셀이 데이터 상태(예컨대, 제 1 또는 제 2 데이터 상태) 또는 영구 상태에 있는지를 결정하기 위해 도 9의 감지 증폭기/드라이버 회로(906)에 의해 사용된다.
도 10b를 참조하면, 도 10a의 복수의 판독 전류 확률 분포(1002)의 일부 대안적인 실시예의 그래프(1000B)가 제공되며, 여기서 영구 상태 분포(Ip)는 제 1 및 제 2 데이터 상태 분포(Id1, Id2)보다 작다. 따라서, 플래그 윈도우(1006)는 영구 상태 분포(Ip)로부터 제 1 데이터 상태 분포(Id1)까지이며, 제 2 기준 전류(Iref,2)는 제 1 기준 전류(Iref,1)보다 작다. 또한, 영구 상태는 제 1 및 제 2 데이터 상태의 저항보다 높은 저항을 갖는다.
도 11a 및 도 11b를 참조하면, 도 9의 감지 증폭기 블럭(906b)의 일부 실시예의 개략적인 다이어그램(1100A, 1100B)이 제공되며, 여기서 감지 증폭기 블럭(906b)은 각각 데이터 상태 및 영구 상태에 있는 메모리 셀(102)에 전기적으로 연결된다. 도 11a에서, 메모리 셀(102)은 데이터 상태(예컨대, 제 1 데이터 상태 또는 제 2 데이터 상태)에 있고, 따라서 개략적으로 원으로 도시된다. 도 11b에서, 메모리 셀(102)은 영구 상태에 있고, 따라서 개략적으로 사각형으로 도시된다.
감지 증폭기 블럭(906b)은 도 9의 감지 증폭기 블럭(906b)의 각각을 나타내고, 제 1 감지 증폭기(1102) 및 제 2 감지 증폭기(1104)를 포함한다. 제 1 및 제 2 감지 증폭기(1102, 1104)는 도전성 라인(908)(예컨대, 비트 또는 소스 라인)으로부터의 메모리 셀(102)로부터 판독 전류(Iread)를 수신한다. 제 1 감지 증폭기(1102)는 대응하는 도전성 라인(라벨링되지 않음)으로부터 제 1 기준 전류(Iref,1)를 더 수신하며, 제 1 기준 전류(Iref,1)와 판독 전류(Iread)를 비교하여 데이터 라인(910) 상에 판독 데이터 신호(Srd)를 생성한다. 판독 데이터 신호(Srd)는, 예를 들어, 이진 신호일 수 있다. 또한, 판독 데이터 신호(Srd)는 판독 전류(Iread)가 제 1 기준 전류(Iref,1)를 초과하면 논리 "1"을 표시할 수 있고, 그렇지 않으면 논리 "0"을 표시할 수 있거나, 또는 그 반대일 수도 있다. 제 2 감지 증폭기(1104)는 대응하는 도전성 라인(라벨링되지 않음)으로부터 제 2 기준 전류(Iref,2)를 더 수신하며, 제 2 기준 전류(Iref,2)와 판독 전류(Iread)를 비교하여 플래그 라인(910) 상에 판독 플래그 신호(Srf)를 생성한다. 판독 플래그 신호(Srf)는, 예를 들어, 이진 신호일 수 있다. 또한, 판독 플래그 신호(Srf)는 판독 전류(Iread)가 제 2 기준 전류(Iref,2)를 초과하면 논리 "1"을 표시할 수 있고, 그렇지 않으면 논리 "0"을 표시할 수 있거나, 또는 그 반대일 수도 있다. 도 9와 관련하여 기술된 바와 같이, 판독 데이터 신호(Srd) 및 판독 플래그 신호(Srf)는 동적 할당을 위해 LUT-프리 동적 메모리 할당 프로세스에 의해 사용된다.
영구 상태가 제 1 및 제 2 데이터 상태의 저항보다 작은 저항을 갖는 일부 실시예에서, 판독 플래그 신호(Srf)는 판독 전류(Iread)가 제 2 기준 전류(Iref,2)(예컨대, 도 10a 참조)보다 큰 경우 영구 상태를 식별하고, 그렇지 않으면 제 1 데이터 상태 또는 제 2 데이터 상태를 식별한다. 영구 상태가 제 1 및 제 2 데이터 상태의 저항보다 큰 저항을 갖는 일부 실시예에서, 판독 플래그 신호(Srf)는 판독 전류(Iread)가 제 2 기준 전류(Iref,2)(예컨대, 도 10b 참조) 보다 작은 경우 영구 상태를 식별하며, 그렇지 않으면 제 1 데이터 상태 또는 제 2 데이터 상태를 식별한다.
도 12를 참조하면, 도 9의 IC 칩의 일부 대안적인 실시예의 개략적인 다이어그램(1200)이 제공되며, 여기서, 물리적 메모리 어레이(602)는 행 당 다수의 물리적 워드(104)를 저장하도록 구성되고 메모리 코어(902)는 동적 할당 회로(904)와 감지 증폭기/드라이버 회로(906) 사이의 열 디코더(1202)를 더 포함한다. 열 디코더(1202)는 단일 물리적 워드에 대응하는 메모리 셀에 대한 판독 데이터 및 플래그 신호를 선택하고, 선택된 판독 데이터 및 플래그 신호를 LUT-프리 동적 할당을 위해 동적 할당 회로(904)에 전달하는 데 이용된다. 도 5와 관련하여 전술한 바와 같이, LUT-프리 동적 할당은 물리적 워드에 의해 개별적으로 수행된다.
열 디코더(1202)는 감지 증폭기/드라이버 회로(906)에 전기적으로 연결되고, 제 1 데이터 라인(910a) 및 제 1 플래그 라인(912a)을 통해 감지 증폭기/드라이버 회로(906)로부터 판독 데이터 및 플래그 신호를 각각 수신한다. 또한, 열 디코더(1202)는 동적 할당 회로(904)에 전기적으로 연결되고, 판독 데이터 및 플래그 신호를 각각 제 2 데이터 라인(910b) 및 제 2 플래그 라인(912b)을 통해 동적 할당 회로(904)에 선택적으로 전달한다. 명확성을 위해, 제 1 및 제 2 데이터 라인(910a, 910b)은 개략적으로 실선으로 도시된 반면, 제 1 및 제 2 플래그 라인(912a, 912b)은 개략적으로 점선으로 도시되어 있다. 대안적인 실시예에서, 열 디코더(1202)는 감지 증폭기/드라이버 회로(906)와 물리적 메모리 어레이(602) 사이에 있다. 이러한 대안적인 실시예에서, 열 디코더(1202)는 단일 물리적 워드에 대응하는 메모리 셀에 대한 도전성 라인(908)을 선택하고, 감지 증폭기/드라이버 회로(906)를 선택된 도전성 라인에 전기적으로 연결하는 데 이용된다.
도 13을 참조하면, ECC를 이용한 판독 동작 동안 도 9의 IC 칩의 일부 실시예의 개략적인 흐름 다이어그램(1300)이 제공된다. 메모리 코어(902)는 물리적 메모리 어레이(602) 내의 행을 식별하는 주소(1302)를 수신한다. 식별된 행이 선택되고, 선택된 행의 메모리 셀은 판독 전압으로 바이어싱되어 판독 전류(예컨대, 도 9의 Iread,1-Iread,8)를 생성하게 된다. 감지 증폭기/드라이버 회로(906)는 판독 전류를 제 1 기준 전류(예컨대, 도 9의 Iref,1) 및 제 2 기준 전류(예컨대, 도 9의 Iref,2)에 대해 개별적으로 비교하여 물리적 워드(104) 및 판독 플래그(1304)를 각각 생성하게 된다. 물리적 워드(104)는 도 9의 데이터 라인(910) 상에서 운반되는 판독 데이터 신호에 대응하는 반면, 판독 플래그(1304)는 도 9의 플래그 라인(912) 상에서 운반되는 판독 플래그 신호에 대응한다.
동적 할당 회로(904)는 메모리 코어(902)로부터 물리적 워드(104) 및 판독 플래그(1304)를 수신한다. 또한, 동적 할당 회로(904)는 물리적 워드(104) 및 판독 플래그(1304)를 사용하여 동적 할당을 수행한다. 특히, 동적 할당 회로(904)는 판독 플래그(1304)를 사용하여, 선택된 행의 메모리 셀(102) 중 어느 것이 데이터 상태(예컨대, 제 1 데이터 상태 또는 제 2 데이터 상태)에 있고 선택된 행의 메모리 셀(102) 중 어느 것이 영구 상태에 있는지를 식별하여 데이터 상태 및 영구 상태를 구별한다. 비정상 메모리 셀은 사전에 영구 상태로 설정되기 때문에, 이것은 실질적으로 선택된 행의 메모리 셀(102) 중 어느 것이 정상이고 선택된 행의 메모리 셀 중 어느 것이 비정상인지를 식별하는 것으로 해석된다. 제 1 및 제 2 데이터 상태에 있는 것으로 식별된 메모리 셀은 그 후 논리적 워드(106)에 동적으로 할당되지만 영구 상태에 있는 것으로 식별된 메모리 셀은 배제된다. 또한, 물리적 워드(104)는 동적 할당을 사용하여 논리적 워드(106)로 변환된다. 논리적 워드(106)는 미검증된 데이터 워드(1306u) 및 미검증된 데이터 워드(1306u)에 대한 ECC 코드(1308)를 포함한다.
물리적 워드(104)는 각각의 판독된 메모리 셀에 대한 비트를 포함하고, 전술한 바와 같이, 중복성을 가능하게 하기 위해 논리적 워드(106)보다 많은 비트를 포함한다. 물리적 워드(104)를 논리적 워드(106)로 변환하면 논리적 워드(106)의 각 비트 위치는 동적 할당에 의해 할당된 물리적 비트로 채워진다. 예를 들어, 물리적 워드(104)의 제 2 비트에 대응하는 메모리 셀이 논리적 워드(106)의 제 1 비트 위치에 할당되면, 논리적 워드(106)의 제 1 비트 위치는 물리적 워드(104)의 제 2 비트로 채워질 수 있다.
ECC 회로(1310)는 동적 할당 회로(904)로부터 논리적 워드(106)를 수신하고, ECC 코드(1308)를 사용하여 미검증된 데이터 워드(1306u)를 검증하고, 필요하다면 복구한다. 검증 및 복구는, 예를 들어, 해밍 코드 알고리즘, 리드 솔로몬 코드 알고리즘, BCH (Bose-Chaudhuri-Hocquenghem) 코드 알고리즘, 또는 일부 다른 적합한 ECC 알고리즘을 사용하여 수행될 수 있다. 일부 실시예에서, 미검증된 데이터 워드(1306u)는 길이가 128 비트이고, ECC 코드(1308)는 길이가 16 비트이며, ECC 회로(1310)는 ECC 코드(1308)를 사용하여 최대 2 비트를 복구하도록 구성된다. 그러나, 대안적인 실시예에서는 다른 적합한 비트 길이가 사용 가능할 수 있다. 미검증된 데이터 워드(1306u)를 검증하고, 필요한 경우 복구한 후, 검증된 데이터 워드(1306v)는 요청 엔티티(예컨대, 중앙 처리 유닛(CPU) 또는 일부 다른 적합한 엔티티)에 의한 소비를 위해 출력된다. 대안적인 실시예에서, ECC 코드(1308) 및 ECC 회로(1310)는 생략된다.
도 14a를 참조하면, 도 13의 IC 칩의 일부 대안적인 실시예의 개략적인 흐름 다이어그램(1400A)이 제공되며, 여기서 동적 할당 회로(904) 및 ECC 회로(1310)는 동적 할당 회로(904)의 기능 및 ECC 회로(1310)의 기능을 결합하고 구현하는 동적 할당/ECC 회로(1402)로 대체된다. 동적 할당 회로(904)의 기능 및 ECC 회로(1310)의 기능은 알고리즘 계산에 의해 수행될 수 있기 때문에 결합될 수 있다. 동적 할당 회로(904)의 기능 및 ECC 회로(1310)의 기능을 단일 회로 내에서 수행함으로써, 그 기능은 별도의 IC 칩 구역이 아닌 동일한 IC 칩 구역에서 구현된다. 이를 통해, 사용되는 전체 IC 칩 구역은 감소될 수 있고, 추가로 별도의 IC 칩 구역 간에 데이터가 교환되지 않기 때문에 대기 시간이 감소될 수 있다.
도 14b를 참조하면, 도 13의 IC 칩의 일부 대안적인 실시예의 개략적인 흐름 다이어그램(1400B)이 제공되며, 여기서 LUT-프리 동적 메모리 할당 프로세스는 LUT 기반 메모리 할당 프로세스에 의해 수반된다. LUT 기반 메모리 할당 프로세스는, 예를 들어, 메모리 어레이(602)가 향상된 메모리 복구를 위한 중복성 행을 포함할 경우 이용될 수 있다.
오리지널 주소(1302a)가 수신되고, 오리지널 행 주소(1404) 및 오리지널 열 주소(1406)를 포함한다. 오리지널 행 주소(1404)는 메모리 어레이(602)의 행을 식별하고, 오리지널 열 주소(1406)는 식별된 행 내의 물리적 워드(104)에 대응하는 열 세트를 식별한다. 오리지널 행 주소(1404)는 행 주소를 중복성 행을 위한 행 주소에 매핑하는 행 복구 LUT(1408)에서 조회된다. 중복성 행은, 예를 들어, 고장난 메모리 셀이 가장 많은 물리적 메모리 어레이(602)의 행에 대해 예약될 수 있다. 오리지널 행 주소(1404)가 행 복구 LUT(1408)에서 매칭되는 한, 중복성 행에 대응하는 새로운 행 주소(1410)가 출력되고 오리지널 열 주소(1406)와 결합되어 새로운 주소(1302b)를 형성하게 된다. 그 후, 개략적인 흐름 다이어그램(1400B)은 도 13과 관련하여 기술된 바와 같이 진행하며, 제외되는 것은: 1) 존재한다면 새로운 주소(1302b)가 사용되고, 그렇지 않으면 오리지널 주소(1302a)가 사용되며; 2) 메모리 코어(902)의 열 디코더(1202)는 도 12와 관련하여 기술된 바와 같이 판독 동작을 위해 오리지널 열 주소(1406)에 의해 식별된 열 세트를 선택한다는 것이다. 대안적인 실시예에서, 열 디코더(1202) 및 오리지널 열 주소(1406)는 생략된다.
도 15를 참조하면, ECC를 이용한 기입 동작 동안 도 9의 IC 칩의 일부 실시예의 개략적인 흐름 다이어그램(1500)이 제공된다. 메모리 코어(902)는 행을 식별하는 주소(1302)를 수신하고, 이어서 도 9 및 도 13과 관련하여 기술된 바와 같이 행을 판독하여 판독 플래그(1304)를 생성 및 출력하게 된다. 판독과 병행하여, ECC 회로(1310)는 기입될 데이터 워드(1306)를 수신하고, 이어서 데이터 워드(1306)에 대한 ECC 코드(1308)를 생성한다. 또한, ECC 회로(1310)는 데이터 워드(1306)와 ECC 코드(1308)의 연결(concatenation)을 논리적 워드(106)로서 출력한다. ECC 코드(1308)는, 예를 들어, 해밍 코드 알고리즘, 리드 솔로몬 코드 알고리즘, BCH 코드 알고리즘, 또는 일부 다른 적합한 ECC 알고리즘에 의해 생성될 수 있다.
동적 할당 회로(904)는 ECC 회로(1310) 및 메모리 코어(902)로부터 물리적 워드(106) 및 판독 플래그(1304)를 각각 수신한다. 또한, 동적 할당 회로(904)는 판독 플래그(1304)를 사용하여, 주소(1302)에 의해 식별되는 행의 메모리 셀(102) 중 어느 것이 데이터 상태(예컨대, 제 1 데이터 상태 또는 제 2 데이터 상태)에 있고 그 행의 메모리 셀(102) 중 어느 것이 영구 상태에 있는지를 식별하여 데이터 상태 및 영구 상태를 구별한다. 비정상 메모리 셀은 사전에 영구 상태로 설정되기 때문에, 이것은 실질적으로 행의 메모리 셀(102) 중 어느 것이 정상이고 그 행의 메모리 셀 중 어느 것이 비정상인지를 식별하는 것으로 해석된다. 제 1 및 제 2 데이터 상태에 있는 것으로 식별된 메모리 셀은 그 후 논리적 워드(106)에 동적으로 할당되지만 영구 상태에 있는 것으로 식별된 메모리 셀은 배제된다. 추가적으로, 논리적 워드(106)는 동적 할당을 사용하여 물리적 워드(104)로 변환되고, 물리적 워드(104)는 감지 증폭기/드라이버 회로(906)를 사용하여 주소(1302)에 기입된다.
물리적 워드(104)는 각각의 기입될 메모리 셀에 대한 비트를 포함하고, 전술한 바와 같이, 중복성을 가능하게 하기 위해 논리적 워드(106)보다 많은 비트를 포함한다. 논리적 워드(106)를 물리적 워드(104)로 변환하면 논리적 워드(106)의 각 비트는 동적 할당에 의해 할당된 물리적 비트 위치에 배치된다. 예를 들어, 물리적 워드(104)의 제 2 비트에 대응하는 메모리 셀이 논리적 워드(106)의 제 1 비트에 할당되면, 논리적 워드(106)의 제 1 비트는 물리적 워드(104)의 제 2 비트 위치에 배치될 수 있다. 또한, 물리적 워드(104)의 나머지 비트 위치는 사용되지 않으며, 따라서 논리 "0" 또는 논리 "1"로 설정될 수 있다.
도 16a를 참조하면, 도 15의 IC 칩의 일부 대안적인 실시예의 개략적인 흐름 다이어그램(1600A)이 제공되며, 여기서 동적 할당 회로(904) 및 ECC 회로(1310)는 동적 할당 회로(904)의 기능 및 ECC 회로(1310)의 기능을 결합하고 구현하는 동적 할당/ECC 회로(1402)로 대체된다. 도 14a와 관련하여 전술한 바와 같이, 이를 통해, 사용되는 전체 IC 칩 구역이 감소될 수 있고, 추가로 대기 시간이 감소될 수 있다.
도 16b를 참조하면, 도 15의 IC 칩의 일부 대안적인 실시예의 개략적인 흐름 다이어그램(1600B)이 제공되며, 여기서 LUT-프리 동적 메모리 할당 프로세스는 LUT 기반 메모리 할당 프로세스에 의해 수반된다. LUT 기반 메모리 할당 프로세스는, 예를 들어, 메모리 어레이(602)가 향상된 메모리 복구를 위한 중복성 행을 포함할 경우 이용될 수 있다.
오리지널 주소(1302a)가 수신되고, 오리지널 행 주소(1404) 및 오리지널 열 주소(1406)를 포함한다. 오리지널 행 주소(1404)는 메모리 어레이(602) 내의 행을 식별하며, 행 주소를 중복성 행을 위한 행 주소에 매핑하는 행 복구 LUT(1408)에서 조회된다. 오리지널 행 주소(1404)가 행 복구 LUT(1408)에서 매칭되는 한, 중복성 행에 대응하는 새로운 행 주소(1410)가 출력되고 오리지널 열 주소(1406)와 결합되어 새로운 주소(1302b)를 형성하게 된다. 그 후, 개략적인 흐름 다이어그램(1600B)은 도 15와 관련하여 기술된 바와 같이 진행하며, 제외되는 것은: 1) 존재한다면 새로운 주소(1302b)가 사용되고, 그렇지 않으면 오리지널 주소(1302a)가 사용되며; 2) 메모리 코어(902)의 열 디코더(1202)는 도 12와 관련하여 기술된 바와 같이 기입 동작을 위해 오리지널 열 주소(1406)에 의해 식별된 열 세트를 선택한다는 것이다. 대안적인 실시예에서, 열 디코더(1202) 및 오리지널 열 주소(1406)는 생략된다.
도 17을 참조하면, 도 9의 IC 칩의 일부 실시예의 개략적인 다이어그램(1700)이 제공되며, 여기서 IC 칩은 워드 라인(1702), 소스 라인(908a), 및 비트 라인(908b)을 포함한다. 워드 라인(1702)은 물리적 메모리 어레이(602)의 행에 개별적이고, 행을 따라 각각 연장된다. 명확성을 위해, 워드 라인(1702)은 개별적으로 WL<row number>로 라벨링되고, 여기서 행 번호는 물리적 메모리 어레이(602)에서 특정 행을 식별하는 정수이다. 워드 라인(1702)은 대응하는 행의 액세스 트랜지스터(1704)의 게이트에 전기적으로 연결되고, 추가로 행 디코더/드라이버 회로(1706)에 전기적으로 연결된다.
액세스 트랜지스터(1704)는 물리적 메모리 어레이(602)의 메모리 셀(102)에 개별적이고, 액세스 트랜지스터(1704)의 드레인 영역에서 각각 대응하는 메모리 셀(102)에 각각 전기적으로 연결된다. 일부 실시예에서, 각각의 액세스 트랜지스터 및 그의 대응하는 메모리 셀은 1-트랜지스터 및 1-저항(1T1R)의 셀((1708)을 정의한다. 액세스 트랜지스터(1704)는, 예를 들어, 금속 산화물 반도체 전계 효과 트랜지스터(metal-oxide-semiconductor field-effect transistors)(MOSFET) 및/또는 일부 다른 적합한 타입의 트랜지스터일 수 있다.
행 디코더/드라이버 회로(1706)는 물리적 메모리 어레이(602)의 주변에 있고, 워드 라인(1702)에 전기적으로 연결된다. 행 디코더/드라이버 회로(1706)는 특정 행을 식별하는 행 주소에 응답하여 특정 행에 대응하는 워드 라인을 선택한다. 특히, 행 디코더/드라이버 회로(1706)는 특정 행을 식별하는 행 주소를 디코딩하고, 그 후 식별된 행에 대응하는 워드 라인을 바이어싱하며, 그에 따라 식별된 행의 액세스 트랜지스터는 전도 상태에 있게 된다. 또한, 식별된 행에 대응하는 워드 라인이 바이어싱되어 식별된 행의 액세스 트랜지스터가 전도 상태에 있게 되는 동안, 행 디코더/드라이버 회로(1706)는 나머지 워드 라인을 바이어싱하며, 그에 따라 나머지 행의 액세스 트랜지스터는 비전도 상태에 있게 된다.
소스 라인(908a) 및 워드 라인(908b)은 물리적 메모리 어레이(602)의 열에 개별적이고, 대응하는 열을 따라 각각 연장된다. 명확성을 위해, 소스 라인(908a)은 개별적으로 SL<column number>로 라벨링되고, 비트 라인(908b)은 개별적으로 BL<column number>로 라벨링되며, 여기서 열 번호는 물리적 메모리 어레이(602)에서 특정 열을 식별하는 정수이다. 워드 라인(908a)은 대응하는 열의 액세스 트랜지스터(1704)의 소스에 전기적으로 연결되고, 추가로 감지 증폭기/드라이버 회로(906)에 전기적으로 연결된다. 한편, 비트 라인(908b)은 대응하는 열의 메모리 셀(102)에 전기적으로 연결되고, 추가로 감지 증폭기/드라이버 회로(906)에 전기적으로 연결된다. 일부 실시예에서, 메모리 셀(102)의 하단 전극(예컨대, 도 7a, 도 7b, 도 8a, 및 도 8b의 702)은 대응하는 액세스 트랜지스터(1704)의 드레인에 전기적으로 연결되는 반면, 메모리 셀(102)의 상단 전극(예컨대, 도 7a, 도 7b, 도 8a, 및 도 8b의 704)은 대응하는 비트 라인(908b)에 전기적으로 연결된다. 감지 증폭기/드라이버 회로(906)는 소스 라인(908a) 및 비트 라인(908b)을 구동하여 행 디코더/드라이버 회로(1706)에 의해 선택된 메모리 셀로부터 판독하고 이에 기입한다.
기입 동작 동안, 동적 할당 회로(904)는: 1) 물리적 워드보다 적은 비트를 갖는 논리적 워드를 수신하고; 2) 물리적 워드에 대응하는 메모리 셀을 논리적 워드에 동적으로 할당하며; 3) 논리적 워드의 각 비트를 할당된 물리적 비트 위치에 배치하며; 및 4) 물리적 워드를 나타내는 기입 신호를 데이터 라인(910)을 통해 감지 증폭기/드라이버 회로(906)에 출력한다. 기입 데이터 신호는 물리적 워드의 비트에 개별적이며, 따라서 물리적 메모리 어레이(602)의 열에 개별적이다. 또한, 기입 데이터 신호는 대응하는 열의 메모리 셀을 설정하도록 데이터 상태들을 인코딩한다. 감지 증폭기/드라이버 회로(906)는 동적 할당 회로(904)로부터 기입 데이터 신호를 수신하고, 적절한 바이어스 전압으로 소스 및 비트 라인(908a, 908b)을 구동하여 메모리 셀들을 대응하는 기입 데이터 신호에 의해 인코딩된 데이터 상태들로 설정한다.
판독 동작 동안, 감지 증폭기/드라이버 회로(906)는 판독 전압으로 소스 및 비트 라인(908a, 908b)을 바이어싱하여 물리적 메모리 어레이(602)의 열에 개별적인 판독 전류를 생성한다. 또한, 감지 증폭기/드라이버 회로(906)의 감지 증폭기 블럭(906b)은 각각 판독 전류를 제 1 및 제 2 기준 전류(Iref,1, Iref,2)를 비교하여 판독 데이터 신호 및 판독 플래그 신호를 생성한다. 판독 데이터 신호는 물리적 메모리 어레이(602)의 열에 개별적이며, 대응하는 열의 메모리 셀로부터 판독된 데이터 상태를 인코딩한다. 또한, 판독 데이터 신호는 물리적 메모리 어레이(602)로부터 판독된 물리적 워드를 나타낸다. 판독 플래그 신호는 또한 물리적 메모리 어레이(602)의 열에 개별적이며, 대응하는 열의 메모리 셀이 데이터 상태에 있는지 또는 영구 상태에 있는지를 인코딩한다. 동적 할당 회로(904)는: 1) 감지 증폭기/드라이버 회로(906)로부터 데이터 라인(910) 및 플래그 라인(912)을 통해 각각 판독 데이터 신호 및 플래그 신호를 수신하며; 2) 물리적 워드의 메모리 셀을 논리적 워드에 동적으로 할당하며; 3) 논리적 워드의 각 비트 위치를 동적 할당에 의해 할당된 물리적 비트로 채우며; 그리고 4) 논리적 워드를 출력한다.
도 13, 도 14a, 도 15, 도 16a, 및 도 17은 도 9에서와 같이 구성된 메모리 코어(902)를 도시하지만, 메모리 코어(902)는 대안적으로 도 12에서와 같이 구성될 수 있다. 즉, 도 13, 도 14a, 도 15, 도 16a, 및 도 17은 대안적으로 도 12에서와 같이 열 디코더(1202)를 가질 수 있다. 도 14b 및 도 16b는 도 12에서와 같이 구성된 메모리 코어(902)를 도시하지만, 메모리 코어(902)는 대안적으로 도 9에서와 같이 구성될 수 있다. 다시 말하면, 도 14b 및 도 16은 대안적으로 열 디코더(1202) 및 오리지널 열 주소(1406)를 생략할 수 있다.
도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b를 참조하면, LUT-프리 동적 메모리 할당 프로세스를 사용한 메모리 복구 방법의 일부 실시예의 일련의 개략적인 다이어그램(1800-2400, 2500A, 2500B, 2600, 2700A, 2700B)이 제공된다. 이 방법은, 예를 들어, 도 9, 도 12, 도 13, 도 14a, 도 15, 및 도 16a 중 어느 하나의 IC 칩에 의해 또는 이를 사용하여 또는 일부 다른 적합한 IC 칩에 의해 또는 이를 사용하여 수행될 수 있다.
도 18의 개략적인 다이어그램(1800)에 의해 도시된 바와 같이, 복수의 행 및 복수의 열에 있는 복수의 메모리 셀(102)을 포함하는 메모리 어레이(602)가 제공된다. 전술한 바와 같이, 메모리 셀(102)은 개별적으로 M<row number>,<column number>으로 라벨링되고, 행은 개별적으로 Rp,<row number>로 라벨링되고, 열은 개별적으로 Cp,<column number>로 라벨링된다. 아래 첨자 내에서, "row number" 및 "column number"는 각각 메모리 어레이(602) 내의 특정 행과 특정 열을 식별하는 정수이다.
메모리 셀(102)은 각각 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태에 있다. 제 1 데이터 상태는, 예를 들어, 논리 "1"에 대응할 수 있고, 제 2 데이터 상태는, 예를 들어, 논리 "0"에 대응할 수 있거나, 또는 그 반대일 수 있다. 영구 상태는, 예를 들어, 비가역적이거나 또는 되돌리기가 어려운 상태에 대응할 수 있다. 또한, 메모리 셀(102)은 제 1 및 제 2 데이터 상태에 있을 때 원으로 개략적으로 도시되며, 이와는 달리 교차형 표시가 없는 한 정상인 것으로 추정된다. 도 18에서 모든 메모리 셀(102)은 교차형이 없는 원이기 때문에, 모든 메모리 셀은 데이터 상태에 있고(예컨대, 데이터 메모리 셀(102d)이고), 정상인 것으로 추정된다. 일부 실시예에서, 행 Rp,1에 있는 메모리 셀(M1,1 내지 M1,8)은 각각 1, 0, 1, 1, 0, 1, 1, 0을 저장하고, 여기서 1 및 0은 제 1 및 제 2 데이터 상태에 대응한다. 그러나, 다른 적합한 값도 사용 가능하다.
행은 각각 8 비트의 사이즈를 가지며 따라서 8 열에 걸쳐 있는 대응하는 물리적 워드(104)를 저장하도록 구성된다. 대안적인 실시예에서, 물리적 워드(104)는 다른 적합한 사이즈를 갖는다. 또한, 일부 실시예에서, 행은 각각 다수의 물리적 워드를 저장하도록 구성되며, 그 예가 도 5에 도시되어 있다. 이후에 보여지는 바와 같이, 물리적 워드(104)는 중복성을 허용하기 위해 메모리 어레이(602)에 기입되거나 이로부터 판독될 논리적 워드보다 크다. 예를 들어, 논리적 워드는 2 비트의 중복성을 가능하게 하기 위해 6 비트의 사이즈를 가질 수 있다. 그러나, 논리적 워드에 대해 다른 적합한 사이즈가 사용 가능할 수 있다. 일부 실시예에서, 열 Cp,7 및 열p,8의 메모리 셀은 중복성에 대응한다.
일부 실시예에서, 메모리 셀(102)은 MRAM 셀, RRAM 셀, FeRAM 셀, 또는 일부 다른 적합한 타입의 메모리 셀이다. 이러한 실시예 중 적어도 일부에서, 메모리 셀(102)은 선택기가 없을 수 있고 및/또는 상단 및 하단 전극을 분리하는 절연체의 절연 파괴에 의해 영구 상태로 설정될 수 있다. 대안적인 실시예에서, 메모리 셀(102)은 개별 저항성 메모리 요소 및 개별 선택기를 포함하는 1S1R 메모리 셀이다. 이러한 실시예 중 적어도 일부에서, 메모리 셀(102)은 저항성 메모리 요소 및/또는 선택기에서 절연체의 절연 파괴에 의해 영구 상태로 설정될 수 있다. 저항성 메모리 요소는, 예를 들어, MRAM 셀, FeRAM 셀, RRAM 셀, PCM 셀, 또는 일부 다른 적합한 타입의 저항성 메모리 요소일 수 있다.
도 19의 개략적인 다이어그램(1900)에 의해 도시된 바와 같이, 메모리 어레이(602)에서 고장난 메모리 셀(102f)이 식별된다. 고장난 메모리 셀(102f)은 교차형으로 개략적으로 식별되며, 전혀 작동하지 않거나 의도한 대로 작동하지 않는 (예컨대, 디자인 사양을 벗어나는) 메모리 셀이다. 예를 들어, 디자인 사양은 제 1 데이터 상태에 대한 기입이 특정 전압 범위 내에서 발생한다는 것을 나타낼 수 있다. 특정 전압 범위 내에서 바이어싱되었을 때 제 1 데이터 상태로 진입하지 못하는 모든 메모리 셀은 디자인 사양을 벗어날 수 있고, 따라서 고장난 메모리 셀로 간주될 수 있다. 위의 예에서 기입 전압이 사용되었음에도 불구하고, 다른 적합한 파라미터가 사용 가능할 수 있다. 고장난 메모리 셀(102f)은, 예를 들어, 메모리 어레이(602)를 포함하는 IC 칩의 형성 동안 CP 테스팅 또는 일부 다른 적합한 테스팅 프로세스에 의해 결정될 수 있다.
도 20의 개략적인 다이어그램(2000)에 의해 도시된 바와 같이, 식별된 고장난 메모리 셀(102f)을 수용하기에 충분한 중복성이 존재하는지에 대한 결정이 행해진다. 즉, 식별된 고장난 메모리 셀(102f)이 복구 예산 내에 속하는지에 대한 결정이 행해진다. 전술한 바와 같이, 물리적 워드(104) 당 2 개의 중복성 메모리 셀이 존재한다. 따라서, 행 당 최대 하나의 고장난 메모리 셀이 존재하기 때문에 중복성은 충분하다.
중복성이 충분한 것으로 결정되었기 때문에, 고장난 메모리 셀(102f)은 영구 상태로 설정된다. 명확성을 위해, 영구 상태의 메모리 셀(예컨대, 영구 메모리 셀(102p))은 개략적으로 사각형으로 도시된 반면, 제 1 및 제 2 데이터 상태의 메모리 셀(예컨대, 데이터 메모리 셀(102d))은 개략적으로 원으로 도시되어 있다. 일부 실시예에서, 고장난 메모리 셀(102f)은 고장난 메모리 셀(102f)의 상단 및 하단 전극을 분리하는 절연체의 영구적인 또는 거의 영구적인 절연 파괴를 호출하기 위해 고장난 메모리 셀(102f)을 고전압으로 바이어싱함으로써 영구 상태로 설정된다. 그러나, 대안적인 실시예에서 다른 적합한 처리가 사용 가능할 수 있다. 중복성이 불충분하다고 결정되면, 메모리 어레이(602)는 작동할 수 없고 따라서 폐기될 것이다.
도 21의 개략적인 다이어그램(2100)에 의해 도시된 바와 같이, 임계치보다 악화된 제 1 테일 메모리 셀(102t1)이 식별된다. 명확성을 위해, 제 1 테일 메모리 셀(102t1)은 개략적으로 교차형으로 식별된다. 제 1 테일 메모리 셀(102t1)은 디자인 사양에 속하지만 가장 부실한 성능의 메모리 셀에 속하는 메모리 셀이다. 이후 논의되는 도 28 및 도 29는 테일 선택(tail selection)의 비 제한적인 예를 제공한다. 제 1 테일 메모리 셀(102t1)은, 예를 들어, 메모리 어레이(602)를 포함하는 IC 칩의 형성 동안 CP 테스팅 또는 일부 다른 적합한 테스팅 프로세스에 의해 결정될 수 있다.
도 22의 개략적인 다이어그램(2200)에 의해 도시된 바와 같이, 식별된 제 1 테일 메모리 셀(102t1)을 수용하기에 충분한 중복성이 존재하는지에 대한 결정이 행해진다. 즉, 식별된 제 1 테일 메모리 셀(102t1)이 복구 예산 내에 속하는지에 대한 결정이 행해진다. 전술한 바와 같이, 물리적 워드(104) 당 2 개의 중복성 메모리 셀이 존재한다. 각 행은 도 19에서 식별된 고장난 메모리 셀(102f)(이제 영구 메모리 셀(102p)로 표시됨)과 도 21에서 식별된 제 1 테일 메모리 셀(102t1)을 또한 수용하기에 충분한 중복성을 갖기 때문에, 중복성은 충분하다.
중복성이 충분한 것으로 결정되었기 때문에, 제 1 테일 메모리 셀(102t1)은 영구 상태로 설정된다. 명확성을 위해, 영구 상태의 메모리 셀(예컨대, 영구 메모리 셀(102p))은 개략적으로 사각형으로 도시된 반면, 제 1 및 제 2 데이터 상태의 메모리 셀(예컨대, 데이터 메모리 셀(102d))은 개략적으로 원으로 도시되어 있다. 일부 실시예에서, 제 1 테일 메모리 셀(102t1)은 제 1 테일 메모리 셀(102t1)의 상단 및 하단 전극을 분리하는 절연체의 영구적인 또는 거의 영구적인 절연 파괴를 호출하기 위해 제 1 테일 메모리 셀(102t1)을 고전압으로 바이어싱함으로써 영구 상태로 설정된다. 그러나, 다른 적합한 처리도 사용 가능할 수 있다. 중복성이 불충분하다고 결정되면, 메모리 어레이(602)는 임의의 추가 메모리 셀을 영구 상태로 설정하지 않고 동작을 진행할 것이다.
도 23의 개략적인 다이어그램(2300)에 의해 도시된 바와 같이, 테일 선택을 위한 임계치는 가장 부실한 성능의 메모리 셀을 보다 많이 캡처하도록 조정된다. 또한, 도 21 및 도 22의 동작은 반복된다. 따라서, 도 21의 제 1 테일 메모리 셀(102t1)보다 나은 성능을 수행하지만 여전히 가장 부실한 성능의 메모리 셀에 속하는 제 2 테일 메모리 셀(102t2)이 식별된다. 명확성을 위해, 제 2 테일 메모리 셀(102t2)은 개략적으로 교차형으로 식별된다. 또한, 제 2 테일 메모리 셀(102t2)을 식별한 후, 제 2 테일 메모리 셀(102t2)을 수용하기에는 중복성이 불충분한 것으로 결정된다. 예를 들어, 행 Rp,2는 이미 영구 상태에 있는 메모리 셀과 제 2 테일 메모리 셀을 수용하려면 3 개의 중복성 메모리 셀이 필요할 것이다. 중복성이 불충분하기 때문에, 메모리 어레이(602)는 임의의 추가 메모리 셀을 영구 상태로 설정하지 않고 동작을 진행한다.
도 24의 개략적인 다이어그램(2400)에 의해 도시된 바와 같이, 메모리 어레이(602)(예컨대, 도 23 참조)의 행은 판독 또는 기입 동작을 위해 선택된다. 도시된 바와 같이, 행 Rp,1이 선택되지만, 메모리 어레이(602)의 임의의 다른 행이 선택될 수 있다. 행은, 예를 들어, 행 주소에 따라 선택될 수 있다. 추가로, 행이 다수의 물리적 워드(104)를 저장하도록 구성되는 한, 단일 물리적 워드에 대응하는 열이 선택된다. 열은, 예를 들어, 열 주소에 따라 선택될 수 있다.
또한, 도 24의 개략적인 다이어그램(2400)에 의해 도시된 바와 같이, 정상 메모리 셀(102h)은 논리적 워드(106)에 동적으로 할당된다. 정상 및 비정상 메모리 셀(102h, 102a)은 영구 상태를 사용하여 식별되어 정상 메모리 셀(102h)과 비정상 메모리 셀(102a)을 구별하게 된다. 정상 메모리 셀(102h)은 제 1 및 제 2 데이터 상태에 있는 반면 비정상 메모리 셀(102a)은 영구 상태에 있다. 따라서, 정상 메모리 셀(102h)은 일반적으로 데이터 메모리 셀(102d)과 동일하며, 비정상 메모리 셀(102a)은 일반적으로 영구 메모리 셀(102p)과 동일하다. 비정상 메모리 셀(102a)은 도 19에서 식별된 고장난 메모리 셀(102f) 뿐만 아니라 도 21에서 식별된 제 1 테일 메모리 셀(102t1)을 포함하는데, 그 이유는 이들 메모리 셀이 영구 상태로 설정되었기 때문이다.
식별이 완료되면, 비정상 메모리 셀(102a)이 아닌 정상 메모리 셀(102h)은 할당되는 메모리 셀의 수가 논리적 워드(106)의 비트 수와 동일할 때까지 논리적 워드(106)에 좌측에서 우측으로 동적으로 할당된다. 메모리 셀(M1,2)이 영구 상태(개략적으로 사각형 형상으로 도시됨)에 있기 때문에, 이 메모리 셀은 동적 할당 동안 스킵된다.
도 25a의 개략적인 다이어그램(2500A)에 의해 도시된 바와 같이, 논리적 워드(106)는 할당된 메모리 셀로부터 판독된다. 논리적 워드(106)의 각 비트 위치는 동적 할당에 의해 할당된 물리적 비트로 채워진다. 예를 들어, 논리적 워드(106)의 제 2 비트 위치는 메모리 셀(M1,3)에 대응하는 물리적 워드(104)의 제 3 비트로 채워질 수 있다. 일부 실시예에서, 도시된 바와 같이, 메모리 셀(102)로부터 판독된 논리적 워드(106)는 "101101"이고, 여기서 1 및 0은 제 1 및 제 2 데이터 상태에 대응한다. 그러나, 다른 적합한 값도 사용 가능하다.
도 25b의 개략적인 다이어그램(2500B)에 의해 도시된 바와 같이, 논리적 워드(106)는 대안적으로 할당된 메모리 셀에 기입된다. 즉, 도 25b는 도 25a에 대한 대안이며 도 25a를 스킵하면서 도 24로부터 진행된다. 논리적 워드(106)의 각 비트는 동적 할당에 의해 할당된 물리적 비트 위치 내에 배치된다. 예를 들어, 논리적 워드(106)의 제 2 비트는 메모리 셀(M1,3)에 대응하는 물리적 워드(104)의 제 3 비트 위치 내에 배치된다. 일부 실시예에서, 도시된 바와 같이, 메모리 셀(102)에 기입되는 논리적 워드(106)는 "101101"이고, 여기서 1 및 0은 제 1 및 제 2 데이터 상태에 대응한다. 그러나, 다른 적합한 값도 사용 가능하다.
도 26, 도 27a, 및 도 27b의 개략적인 다이어그램(2600, 2700A, 2700B)에 의해 도시된 바와 같이, 도 24, 도 25a, 및 도 25b의 동작이 각각 반복된다. 그러나, 도 24, 도 25a, 및 도 25b의 동작을 완료하는 것과 도 26, 도 27a, 및 도 27b의 동작을 시작하는 것 사이에, 메모리 셀(M1,5)은 고장나고 영구 상태로 설정되었다. 고장은, 예를 들어, ECC 회로 또는 일부 다른 적합한 회로에 의해 검출되었을 수 있다. 메모리 셀(M1,5)이 영구 상태로 설정되므로, 논리적 워드(106)에 대한 동적 할당은 메모리 셀(M1,5)을 스킵하도록 변경되며, 논리적 워드(106)는 상이한 메모리 셀 세트로부터 판독되거나 이에 기입된다. 도 25a 및 도 25b와 유사하게, 도 27a 및 도 27b는 서로의 대안이며, 그에 따라 방법은 도 25a 또는 도 25b로부터 도 26으로 그리고 도 26으로부터 도 27a 또는 도 27b로 진행한다.
도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b에 나타난 바와 같이, 영구 상태를 사용하여 비정상 메모리 셀(102a)을 플래그하고, 그 후 LUT-프리 동적 메모리 할당 프로세스를 사용하여 판독 및 기입 동작 동안 플래그된 비정상 메모리 셀(102a)을 필터링함으로써, 비트 단위의 메모리 복구가 LUT 없이 달성될 수 있다. 따라서, 대기 시간 및 전력 소비가 낮아질 수 있고 메모리 밀도는 높아질 수 있다. 비트 단위로 메모리 복구를 수행하면 복구 효율이 높아질 수 있다. 높은 복구 효율로 인해 복구 예산(예컨대, 복구될 수 있는 비트 수)은 증가될 수 있다. 증가된 복구 예산으로 인해 테일 메모리 셀은 개선된 전력 효율 및/또는 속도로 교체될 수 있다. 또한, 증가된 복구 예산으로 인해 프로세스 및/또는 디자인 제약은 완화될 수 있다.
도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b가 방법을 참조하여 기술되었지만, 도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b에 도시된 구조물은 이 방법에 제한되지는 않고 오히려 방법과는 별개로 독립적일 수 있음을 이해할 것이다. 도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b가 일련의 동작으로서 기술되지만, 그 동작의 순서는 다른 실시예에서 변경될 수 있다는 것이 이해될 것이다. 도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b가 특정 동작 세트로서 도시하고 설명하지만, 도시 및/또는 설명된 일부 동작은 다른 실시예에서 생략될 수 있다. 또한, 도시 및/또는 설명되지 않은 동작은 다른 실시예에 포함될 수 있다. 예를 들어, 메모리 셀이 메모리 어레이(602)(예컨대, 도 23 참조)의 수명 동안 고장이 발생함에 따라, 이러한 메모리 셀은 본 개시 내용의 LUT-프리 동적 메모리 할당 프로세스에 따른 교체를 위해 영구 상태로 설정될 수 있다. 이러한 메모리 셀은, 예를 들어, 메모리 어레이(602)의 수명 동안 ECC 회로를 사용하여 또는 메모리 오류를 검출하기 위한 일부 다른 적합한 회로에 의해 식별될 수 있다.
도 28을 참조하면, 도 18 내지 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b의 방법의 일부 실시예의 플로우 차트(2800)가 제공된다.
동작(2802)에서, 복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이가 제공되며, 여기서 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 또는 영구 상태에 있고, 그 어레이의 제 1 행에 있는 메모리 셀들은 물리적 워드를 저장하도록 구성된다. 예를 들어, 도 18이 참조된다.
동작(2804)에서, 어레이에서 고장난 메모리 셀들이 식별된다. 예를 들어, 도 19가 참조된다. 전술한 바와 같이, 고장난 메모리 셀들은 전혀 작동하지 않거나 의도한 대로 작동하지 않는 (예컨대, 디자인 사양을 벗어나는) 메모리 셀들이다.
동작(2806)에서, 고장난 메모리 셀들이 메모리 어레이의 복구 예산 내에 속하는지에 대한 결정이 행해진다. 예를 들어, 도 20이 참조된다. 고장난 메모리 셀들이 복구 예산을 벗어나면(예컨대, 복구할 고장난 메모리 셀들이 너무 많으면), 방법은 실패하고 어레이는 폐기된다. 그러나, 고장난 메모리 셀들이 복구 예산 내에 속하면, 방법은 동작(2808)으로 진행한다.
동작(2808)에서, 고장난 메모리 셀들은 영구 상태로 설정되어 고장난 메모리 셀들을 플래그하게 된다. 예를 들어, 도 20이 참조된다.
동작(2810)에서, 메모리 어레이에서 임계치보다 악화된 테일 메모리 셀들이 식별된다. 예를 들어, 도 21이 참조된다. 전술한 바와 같이, 테일 메모리 셀들은 디자인 사양에 속하지만 가장 부실한 성능의 메모리 셀들에 속하는 메모리 셀들이다.
동작(2812)에서, 테일 메모리 셀들이 메모리 어레이의 복구 예산 내에 속하는지에 대한 결정이 행해진다. 예를 들어, 도 22가 참조된다. 테일 메모리 셀들이 복구 예산을 벗어나면(예컨대, 복구할 테일 메모리 셀들이 너무 많으면), 방법은 동작(2818)으로 진행한다. 그렇지 않으면, 방법은 동작(2814)으로 진행한다.
동작(2814)에서, 테일 메모리 셀들은 영구 상태로 설정되어 테일 메모리 셀들을 플래그하게 된다. 예를 들어, 도 22가 참조된다.
동작(2816)에서, 임계치는 더 많은 테일 메모리 셀들을 캡처하도록 조정되며, 방법은 동작(2810)으로 되돌아간다. 예를 들어, 도 23이 참조된다.
동작(2818)에서, 물리적 워드에 대응하는 메모리 셀들에 대해 판독 또는 기입 동작이 수행된다. 예를 들어, 도 24, 도 25a, 도 25b, 도 26, 도 27a, 및 도 27b가 참조된다. 동작(2818a)에서, 물리적 워드에 대응하는 정상 메모리 셀들과 물리적 워드에 대응하는 비정상 메모리 셀들은 영구 상태를 사용하여 식별되어 정상 메모리 셀과 비정상 메모리 셀을 구별하게 된다. 예를 들어, 도 24가 참조된다. 동작(2818b)에서, 정상 메모리 셀들은 논리적 워드에 동적으로 할당되지만 비정상 메모리 셀들은 배제된다. 예를 들어, 도 24 및 도 26이 참조된다. 동작(2818c)에서, 논리적 워드는 논리적 워드에 동적으로 할당된 정상 메모리 셀들로부터 판독되거나 이에 기입된다. 예를 들어, 판독 및 기입을 위해 각각 도 25a, 도 25b, 도 27a, 및 도 27b가 참조된다.
도 28의 플로우 차트(2800)가 본원에서 일련의 동작 또는 이벤트로 도시되고 설명되고 있지만, 그러한 동작 또는 이벤트의 예시된 순서는 제한적인 의미로 해석되지 않아야 한다는 것이 이해될 것이다. 예를 들어, 일부 동작은 본원에 예시되고 및/또는 설명된 것 이외에도 다른 동작 또는 이벤트와는 상이한 순서로 및/또는 동시에 발생할 수 있다. 또한, 본원에 설명된 하나 이상의 양태 또는 실시예를 구현하는 데 예시된 모든 동작이 요구되는 것은 아니며, 본원에 예시된 하나 이상의 동작은 하나 이상의 개별 동작 및/또는 단계로 수행될 수 있다.
도 29를 참조하면, 테일 메모리 셀을 식별하기 위한 판독 전류 확률 분포(2902)의 일부 실시예의 그래프(2900)가 제공된다. 가로 축은 판독 전류에 대응하고, 세로 축은 확률에 대응한다. 판독 전류 확률 분포(2902)는 제 1 데이터 상태의 메모리 셀에 대한 제 1 판독 전류 확률 분포(2902a)를 포함하고, 제 2 데이터 상태의 메모리 셀에 대한 제 2 판독 전류 확률 분포(2902b)를 더 포함한다.
메모리 셀을 판독할 경우, 제 1 및 제 2 판독 전류 확률 분포(2902a, 2902b) 간의 차이가 클수록 제 1 및 제 2 데이터 상태를 구별하는 것이 더 쉬워지고 따라서 메모리 셀은 더 신뢰될 수 있다. 따라서, 제 1 데이터 상태의 메모리 셀에 대한 판독 전류가 높을수록 메모리 셀 성능은 저하된다. 또한, 제 2 데이터 상태의 메모리 셀에 대한 판독 전류가 낮을수록 메모리 셀 성능은 저하된다. 이를 염두에 두고, 테일 선택은 제 1 및 제 2 판독 전류 확률 분포(2902a, 2902b) 사이에 중심에 있고 제 1 및 제 2 데이터 상태에서 가장 부실한 성능의 메모리 셀과 중첩하는 테일 윈도우(2904) 내의 메모리 셀을 선택하는 것을 포함할 수 있다. 다시 말하면, 테일 선택은 제 1 데이터 상태에 있을 경우 테일 윈도우(2904)의 하한 임계치 위에 있고 제 2 데이터 상태에 있을 경우 테일 윈도우(2904)의 상한 임계치 아래에 있는 메모리 셀을 선택하는 것을 포함할 수 있다. 또한, 테일 선택의 다수의 반복이 수행되는 한, 테일 윈도우(2904)는 더 많은 테일 비트를 캡처하기 위해 점진적으로 확대될 수 있다.
위에서 논의한 바와 같이, LUT-프리 동적 메모리 할당을 사용하는 것으로 인한 복구 예산이 높을 수록 테일 메모리 셀은 더 나은 성능의 메모리 셀로 교체될 수 있게 된다. 이는 차례로, 제 1 및 제 2 판독 전류 확률 분포(2902a, 2902b) 사이의 분리를 증가시킬 수 있다. 제 1 및 제 2 판독 전류 확률 분포(2902a, 2902b) 사이의 분리를 증가시킴으로써, 메모리 어레이의 복원성은 증가될 수 있다. 또한, 프로세스 및/또는 디자인 제약은 완화될 수 있다.
도 30을 참조하면, 상이한 기입 강도에 걸친 기입 실패 비율을 기술하는 곡선(3002)의 일부 실시예의 그래프(3000)가 제공된다. 세로 축은 기입 실패 비율에 대응하며, 이는 메모리 어레이의 총 메모리 셀에 대한 메모리 어레이의 고장난 메모리 셀의 비율이 된다. 수평 축은 기입 강도에 대응하며, 이는, 예를 들어, 기입 전압, 기입 전류, 기입 펄스 폭, 또는 기입 강도에 영향을 미치는 일부 다른 적합한 파라미터일 수 있다.
메모리 셀에 기입할 경우, 기입 강도가 낮을수록 좋다. 기입 강도가 낮아지면, 전력 소비가 감소하고 수명이 길어진다. 따라서, 메모리 셀에 대한 기입 강도가 높을수록 메모리 셀 성능은 저하된다. 이를 염두에 두고, 테일 선택은 임계치 기입 강도(3004)를 초과하는 높은 기입 강도에 의존하여 메모리 셀을 선택하는 것을 포함할 수 있다. 또한, 테일 선택의 다수의 반복이 수행되는 한, 임계치 기입 강도(3004)는 더 많은 테일 비트를 캡처하기 위해 점진적으로 감소될 수 있다.
위에서 논의한 바와 같이, LUT-프리 동적 메모리 할당을 사용하는 것으로 인한 복구 예산이 높을 수록 테일 메모리 셀은 더 나은 성능의 메모리 셀로 교체될 수 있게 된다. 이는 다시, 기입 강도를 감소시킨다. 기입 강도를 감소시킴으로써, 전력 소비가 감소될 수 있고, 신뢰성이 증가할 수 있으며, 프로세스 및/또는 디자인 제약이 완화될 수 있다.
도 31 내지 도 36, 도 37a, 및 도 37b를 참조하면, LUT-프리 동적 메모리 할당 및 LUT 기반 메모리 할당을 사용한 메모리 복구 방법의 일부 실시예의 일련의 개략적인 다이어그램(3100-3600, 3700A, 3700B)이 제공된다. 이 방법은, 예를 들어, 도 9, 도 12, 도 14a, 및 도 16b 중 어느 하나의 IC 칩에 의해 또는 이를 사용하여 또는 일부 다른 적합한 IC 칩에 의해 또는 이를 사용하여 수행될 수 있다.
도 31의 개략적인 다이어그램(3100)에 의해 도시된 바와 같이, 도 18 및 도 19와 관련하여 기술된 동작이 수행된다. 메모리 어레이(602)는 도 18과 관련하여 기술된 바와 같이 제공되며, 제외되는 것은 메모리 어레이(602)가 LUT 기반 중복성을 위해 추가 행(예컨대, 행 Rp,7)을 포함한다는 것이다. 대안적인 실시예에서, 메모리 어레이(602)는 LUT 기반 중복성을 위해 추가 행을 포함한다. 메모리 어레이(602) 내의 고장난 메모리 셀(102f)은 그 후 도 19와 관련하여 기술된 바와 같이 식별된다. 고장난 메모리 셀(102f)은 개략적으로 교차형으로 식별된다.
도 32의 개략적인 다이어그램(3200)에 의해 도시된 바와 같이, 최악의 행(예컨대, 행 Rp,4)이 식별된다. 최악의 행은 고장난 메모리 셀이 가장 많은 행이다. 또한, 최악의 행은 제 1 화살표(3102)로 개략적으로 도시된 바와 같이 교체를 위해 중복성 행에 매핑된다. 행 매핑은, 예를 들어, 최악의 행의 행 주소와 중복성 행의 행 주소를 행 복구 LUT(예컨대, 도 14b 및 도 16b의 1408 참조)에 추가하여 달성될 수 있다. 대안적인 실시예에서, 메모리 어레이(602)는 하나 이상의 추가 중복성 행을 포함한다. 이러한 대안적인 실시예 중 적어도 일부에서, 하나 이상의 추가적인 최악의 행이 교체를 위해 추가 중복성 행(들)에 매핑될 수 있다. 일부 실시예에서, 중복성 행(예컨대, Rp,7)에 있는 메모리 셀(102)은 각각 1, 0, 1, 1, 0, 1, 0, 1을 저장하고, 여기서 1 및 0은 제 1 및 제 2 데이터 상태에 대응한다. 그러나, 다른 적합한 값도 사용 가능하다.
도 33의 개략적인 다이어그램(3300)에 의해 도시된 바와 같이, 도 20과 관련하여 기술된 동작이 수행된다. 식별된 나머지 고장난 메모리 셀(102f)을 수용하기에 충분한 중복성이 존재하는지에 대한 결정이 행해진다. 나머지 고장난 메모리 셀은 최악의 행(예컨대, 행 Rp,4)에 존재하지 않는 고장난 메모리 셀에 대응한다. 또한, 중복성이 충분한 것으로 결정되어 나머지 고장난 메모리 셀(102f)은 영구 상태로 설정된다고 결정된다. 명확성을 위해, 영구 상태의 메모리 셀(예컨대, 영구 메모리 셀(102p))은 개략적으로 사각형으로 도시된 반면, 제 1 및 제 2 데이터 상태의 메모리 셀(예컨대, 데이터 메모리 셀(102d))은 개략적으로 원으로 도시되어 있다. 중복성이 불충분하다고 결정되면, 메모리 어레이(602)는 작동할 수 없고 따라서 폐기될 것이다.
도 34의 개략적인 다이어그램(3400)에 의해 도시된 바와 같이, 도 21 및 도 22와 관련하여 기술된 동작이 수행된다. 임계치보다 악화된 제 1 테일 메모리 셀(102t1)은 도 21과 관련하여 기술된 바와 같이 식별된다. 명확성을 위해, 제 1 테일 메모리 셀(102t1)은 개략적으로 교차형으로 식별된다. 도 22와 관련하여 기술된 바와 같이 식별된 제 1 테일 메모리 셀(102t1)을 수용하기에 충분한 중복성이 존재하는지에 대한 결정이 행해진다. 또한, 중복성이 충분한 것으로 결정되어 제 1 테일 메모리 셀(102t1)은 도 22와 관련하여 기술된 바와 같이 영구 상태로 설정된다고 결정된다. 중복성이 불충분하다고 결정되면, 메모리 어레이(602)는 임의의 추가 메모리 셀을 영구 상태로 설정하지 않고 동작을 진행할 것이다.
도 35의 개략적인 다이어그램(3500)에 의해 도시된 바와 같이, 테일 선택을 위한 임계치는 가장 부실한 성능의 메모리 셀을 보다 많이 캡처하도록 조정된다. 또한, 도 21 및 도 22의 동작은 반복된다. 따라서, 도 34의 제 1 테일 메모리 셀(102t1)보다 나은 성능을 수행하지만 여전히 가장 부실한 성능의 메모리 셀에 속하는 제 2 테일 메모리 셀(102t2)이 식별된다. 또한, 제 2 테일 메모리 셀(102t2)을 수용하기에는 중복성이 불충분한 것으로 결정된다. 따라서, 메모리 어레이(602)는 임의의 추가 메모리 셀을 영구 상태로 설정하지 않고 동작을 진행한다.
도 36의 개략적인 다이어그램(3600)에 의해 도시된 바와 같이, 메모리 어레이(602)(예컨대, 도 35 참조)의 최악의 행(예컨대, 행 Rp,4)은 판독 또는 기입 동작을 위해 선택된다. 이는 도 24와 관련하여 기술된 바와 같이 수행되며, 제외되는 것은 중복성 행(예컨대, 행 Rp,7)이 최악의 행 대신 사용된다는 것으로, 이는 최악의 행이 제 1 화살표(3102)에 의해 개략적으로 도시된 바와 같이 중복성 행에 매핑되기 때문이다. 선택된 행이 중복성 행에 매핑되지 않은 경우, 선택된 행이 사용될 것이다. 또한, 행이 다수의 물리적 워드(104)를 저장하도록 구성되는 한, 단일 물리적 워드에 대응하는 열이 선택된다.
또한, 도 36의 개략적인 다이어그램(3600)에 의해 도시된 바와 같이, 정상 메모리 셀(102h)은 논리적 워드(106)에 동적으로 할당되지만 도 24와 관련하여 기술된 바와 같이 비정상 메모리 셀(102a)은 배제된다.
도 37a 및 도 37b의 개략적인 다이어그램(3700A, 3700B)에 의해 도시된 바와 같이, 도 25a 및 도 25b와 관련하여 기술된 동작이 각각 수행된다. 도 37a에서, 논리적 워드(106)는 도 25a와 관련하여 기술된 바와 같이 할당된 메모리 셀로부터 판독된다. 도 37b에서, 논리적 워드(106)는 도 25b와 관련하여 기술된 바와 같이 할당된 메모리 셀에 기입된다. 도 25a 및 도 25b와 마찬가지로, 도 37a 및 도 37b는 서로의 대안이며, 그에 따라 방법은 도 36으로부터 도 37a 또는 도 37b로 진행한다.
도 31 내지 도 36, 도 37a, 및 도 37b가 방법을 참조하여 기술되고 있지만, 도 31 내지 도 36, 도 37a, 및 도 37b에 도시된 구조물은 이 방법에 제한되지는 않고 오히려 방법과는 별개로 독립적일 수 있음을 이해할 것이다. 도 31 내지 도 36, 도 37a, 및 도 37b가 일련의 동작으로서 기술되지만, 그 동작의 순서는 다른 실시예에서 변경될 수 있다는 것이 이해될 것이다. 도 31 내지 도 36, 도 37a, 및 도 37b가 특정 동작 세트로서 도시하고 설명하지만, 도시 및/또는 설명된 일부 동작은 다른 실시예에서 생략될 수 있다. 또한, 도시 및/또는 설명되지 않은 동작은 다른 실시예에 포함될 수 있다. 예를 들어, 메모리 셀이 메모리 어레이(602)(예컨대, 도 35 참조)의 수명 동안 고장이 발생함에 따라, 이러한 메모리 셀은 본 개시 내용의 LUT-프리 동적 메모리 할당 프로세스에 따른 교체를 위해 영구 상태로 설정될 수 있다. 이러한 메모리 셀은, 예를 들어, 메모리 어레이(602)의 수명 동안 ECC 회로를 사용하여 또는 메모리 오류를 검출하기 위한 일부 다른 적합한 회로에 의해 식별될 수 있다.
도 38을 참조하면, 도 31 내지 도 36, 도 37a, 및 도 37b의 방법의 일부 실시예의 플로우 차트(3800)가 제공된다. 플로우 차트(3800)는, 동작(2806)과 동작(2808) 사이의 동작(3802)을 제외하고는, 도 28의 플로우 차트(2800)가 도시되고 설명된 바와 같다. 동작(3802)에서, 하나 이상의 최악의 행이 각각 하나 이상의 중복성 행에 매핑된다. 그 후 중복성 행(들)은 최악의 행(들) 대신 사용된다.
도 38의 플로우 차트(3800)가 본원에서 일련의 동작 또는 이벤트로 도시되고 설명되고 있지만, 그러한 동작 또는 이벤트의 예시된 순서는 제한적인 의미로 해석되지 않아야 한다는 것이 이해될 것이다. 예를 들어, 일부 동작은 본원에 예시되고 및/또는 설명된 것 이외에도 다른 동작 또는 이벤트와는 상이한 순서로 및/또는 동시에 발생할 수 있다. 또한, 본원에 설명된 하나 이상의 양태 또는 실시예를 구현하는 데 예시된 모든 동작이 요구되는 것은 아니며, 본원에 예시된 하나 이상의 동작은 하나 이상의 개별 동작 및/또는 단계로 수행될 수 있다.
일부 실시예에서, 본 개시 내용은 방법을 제공하며, 이 방법은: 복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이를 제공하는 단계 ― 상기 복수의 행은 제 1 행을 포함함 ―; 상기 제 1 행에 있는 상기 어레이의 메모리 셀들의 개별 상태들을 식별하는 단계 ― 상기 상태들은 각각 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태임 ―; 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태로 각각 식별된 메모리 셀들을 논리적 워드로 할당하지만 상기 영구 상태로 식별된 메모리 셀은 배제하는 단계 ― 상기 영구 상태로 식별된 메모리 셀은 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태로 각각 식별된 메모리 셀들 사이에 있음 ―; 및 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들로부터 판독하거나 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들에 기입하는 단계를 포함한다. 일부 실시예에서, 상기 제 1 행은 제 1 물리적 워드 및 제 2 물리적 워드를 저장하도록 구성되며, 상기 제 1 물리적 워드 및 상기 제 2 물리적 워드는 상기 논리적 워드보다 큰 공통 사이즈를 공유하고, 상기 논리적 워드는 상기 제 1 물리적 워드에 대응하는 메모리 셀들에 로컬화된다. 일부 실시예에서, 상기 할당하는 단계는 상기 어레이의 상기 제 1 행을 따라 좌측에서 우측으로 수행된다. 일부 실시예에서, 식별하는 단계는: 상기 제 1 행에 있는 상기 어레이의 메모리 셀들을 바이어싱하여 상기 메모리 셀들을 통하는 개별 판독 전류들을 생성하는 단계 ― 상기 판독 전류들은 상기 제 1 데이터 상태, 상기 제 2 데이터 상태 및 상기 영구 상태에 대해 상이함 ―; 및 상기 판독 전류들을 다수의 기준 전류와 비교하여 상기 제 1 행에 있는 상기 어레이의 메모리 셀들의 개별 상태들을 식별하는 단계를 포함한다. 일부 실시예에서, 상기 논리적 워드는 데이터 워드 및 ECC 코드를 포함하고, 방법은: 상기 ECC 코드를 생성 또는 디코딩하기 위해 ECC 연산을 수행하는 단계를 더 포함하며, 상기 ECC 연산 및 상기 할당하는 단계는 동일한 회로에 의해 수행된다. 일부 실시예에서, 상기 논리적 워드는 데이터 워드 및 ECC 코드를 포함하고, 방법은 상기 ECC 코드를 생성 또는 디코딩하기 위해 상기 논리적 워드에 대해 ECC 연산을 수행하는 단계를 더 포함하며, 상기 ECC 연산 및 상기 할당하는 단계는 서로 독립적이다. 일부 실시예에서, 방법은 상기 판독 또는 상기 기입을 위해 주소를 수신하는 단계 ― 상기 주소는 복수의 행 중 제 2 행을 식별함 ―; 룩업 테이블에서 상기 제 2 행을 조회하여 상기 제 2 행이 중복성 행에 매핑되는지를 결정하는 단계; 및 상기 제 2 행이 상기 룩업 테이블에서 상기 중복성 행에 매핑되는 것으로 결정하는 단계 ― 상기 중복성 행은 상기 제 1 행임 ―를 더 포함한다. 일부 실시예에서, 방법은: 상기 제 1 행에 있는 테일 메모리 셀을 식별하는 단계 ― 상기 테일 메모리 셀은 디자인 사양 내에 속하지만 상기 디자인 사양의 경계에 있음 ―; 및 상기 테일 메모리 셀을 상기 영구 상태로 설정하는 단계 ― 상기 영구 상태로 식별된 메모리 셀은 상기 테일 메모리 셀임 ―를 더 포함한다.
일부 실시예에서, 본 개시 내용은 다른 방법을 제공하며, 이 방법은: 복수의 행, 복수의 데이터 열, 및 중복성 열을 갖는 메모리 셀들의 어레이를 제공하는 단계 ― 상기 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 가짐 ―; 상기 어레이의 제 1 행으로부터 논리적 워드를 판독하는 단계 ― 상기 논리적 워드는 상기 복수의 데이터 열로부터의 데이터를 포함하고 상기 중복성 열과는 독립적임 ―; 상기 복수의 데이터 열 중 제 1 데이터 열에 있고 그리고 상기 제 1 행에 있는 비정상 메모리 셀을 식별하는 단계; 상기 비정상 메모리 셀을 상기 영구 상태로 설정하는 단계; 및 상기 어레이의 상기 제 1 행으로부터 상기 논리적 워드를 재판독하는 단계를 포함하며, 상기 논리적 워드는 상기 제 1 데이터 열을 제외한 상기 복수의 데이터 열로부터의 데이터를 포함하고, 그리고 상기 중복성 열로부터의 데이터를 더 포함한다. 일부 실시예에서, 상기 비정상 메모리 셀을 상기 영구 상태로 설정하는 단계는 상기 비정상 메모리 셀의 절연체의 비가역적 절연 파괴를 호출하기 위해 상기 비정상 메모리 셀에 걸쳐 고전압을 인가하는 것을 포함한다. 일부 실시예에서, 상기 비정상 메모리 셀은 고장난 메모리 셀이다. 일부 실시예에서, 상기 재판독하는 단계는: 상기 제 1 행의 어느 메모리 셀이 상기 영구 상태에 있고 상기 제 1 행의 어느 메모리 셀이 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 있는지를 식별하는 단계; 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에서 식별된 메모리 셀들을 상기 논리적 워드에 할당하지만 상기 영구 상태에서 식별된 메모리 셀은 스킵하는 단계; 및 상기 할당된 메모리 셀들로부터 상기 논리적 워드를 판독하는 단계를 포함한다. 일부 실시예에서, 상기 메모리 셀들의 어레이는 복수의 제 2 데이터 열 및 제 2 중복성 열을 더 가지며, 상기 재판독하는 단계는 상기 제 2 데이터 열 및 상기 제 2 중복성 열을 배제하도록 상기 데이터 열 및 상기 중복성 열을 식별하는 열 주소를 수신하는 단계를 포함한다.
일부 실시예에서, 본 개시 내용은 메모리 디바이스를 제공하며, 상기 메모리 디바이스는: 복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이 ― 상기 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 가지며, 상기 복수의 행은 제 1 행을 포함함 ―, 및 상기 제 1 행의 메모리 셀을 상기 영구 상태에 있는 것으로 식별하고 상기 제 1 행의 메모리 셀을 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 각각 있는 것으로 식별하도록 구성된 감지 증폭기 회로 ― 상기 영구 상태에 있는 메모리 셀은 상기 제 1 데이터 상태와 상기 제 2 데이터 상태에 각각 있는 메모리 셀들 사이에 있음 ―를 포함하는 메모리 코어; 및 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 있는 것으로 각각 식별된 메모리 셀들을 논리적 워드에 할당하지만 상기 영구 상태에 있는 것으로 식별된 메모리 셀을 배제하도록 구성된 할당 회로를 포함하며; 상기 메모리 코어는 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들로부터 판독하거나 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들에 기입하도록 구성된다. 일부 실시예에서, 상기 할당 회로는 상기 논리적 워드에 할당된 메모리 셀들을 상기 논리적 워드에 이전에 할당된 메모리 셀이 상기 영구 상태로 설정되는 것에 응답하여 변경하도록 구성된다. 일부 실시예에서, 상기 감지 증폭기 회로는 감지 증폭기를 포함하며, 상기 감지 증폭기는, 상기 어레이의 메모리 셀을 통한 판독 전류를 기준 전류와 비교하고; 상기 판독 전류가 상기 기준 전류를 초과하는 것에 응답하여 상기 메모리 셀을 상기 영구 상태에 있는 것으로 식별하고; 그리고 상기 판독 전류가 상기 기준 전류 미만인 것에 응답하여 상기 메모리 셀을 상기 제 1 데이터 상태 또는 상기 제 2 데이터 상태에 있는 것으로 식별하도록 구성된다. 일부 실시예에서, 상기 감지 증폭기 회로는 감지 증폭기를 포함하고, 상기 감지 증폭기는, 상기 어레이의 메모리 셀을 통한 판독 전류를 기준 전류와 비교하고; 상기 판독 전류가 상기 기준 전류 미만인 것에 응답하여 상기 메모리 셀을 상기 영구 상태에 있는 것으로 식별하고; 그리고 상기 판독 전류가 상기 기준 전류를 초과하는 것에 응답하여 상기 메모리 셀을 상기 제 1 데이터 상태 또는 상기 제 2 데이터 상태에 있는 것으로 식별하도록 구성된다. 일부 실시예에서, 상기 논리적 워드는 데이터 워드 및 ECC 코드를 포함하고, 상기 할당 회로는 상기 판독 또는 기입 동안 상기 ECC 코드를 생성 또는 디코딩하도록 추가로 구성된다. 일부 실시예에서, 상기 논리적 워드는 데이터 워드 및 ECC 코드를 포함하고, 상기 메모리 디바이스는 상기 판독 또는 기입 동안 상기 ECC 코드를 생성 또는 디코딩하도록 구성된 ECC 회로를 포함하며, 상기 ECC 회로는 상기 할당 회로와는 독립적이다. 일부 실시예에서, 상기 논리적 워드는 데이터 워드 및 ECC 코드를 포함하고, 상기 메모리 디바이스는 판독 또는 기입 동안 상기 ECC 코드를 생성 또는 디코딩하도록 구성된 ECC 회로를 더 포함하고, 상기 ECC 회로는 상기 할당 회로와는 독립적이고 상기 할당 회로로부터 이격된다. 일부 실시예에서, 상기 어레이의 각 메모리 셀은 하단 전극, 상단 전극, 및 상기 하단 전극과 상기 상단 전극 사이의 절연체를 포함하며, 상기 영구 상태에서 식별된 메모리 셀의 절연체는 비가역적으로 파괴된다. 일부 실시예에서, 상기 메모리 셀은 RRAM 셀, MRAM 셀, FeRAM 셀, 또는 1S1R PCM 셀이다.
전술한 내용은 본 기술 분야의 기술자가 본 개시 내용의 양태들을 더 잘 이해할 수 있도록 몇몇 실시예의 특징들을 개략적으로 설명하고 있다. 본 기술 분야의 기술자는 본원에 도입된 실시예들과 동일한 목적을 수행하고 및/또는 동일한 효과를 달성하는 다른 프로세스들 및 구조물들을 디자인하거나 수정하기 위한 토대로서 본 개시 내용을 용이하게 사용할 수 있다는 것을 이해해야 한다. 본 기술 분야의 기술자는 또한 이러한 등가의 구성이 본 개시 내용의 사상 및 범위를 벗어나지 않으며, 본 개시 내용의 사상 및 범위를 벗어나지 않으면서 본원에서 다양한 변경, 대체, 및 변형을 행할 수 있다는 것을 인식해야 한다.
실시예
실시예 1. 방법에 있어서,
복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이를 제공하는 단계 ― 상기 복수의 행은 제 1 행을 포함함 ―;
상기 제 1 행에 있는 상기 어레이의 메모리 셀들의 개별 상태들을 식별하는 단계 ― 상기 상태들은 각각 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태임 ―;
상기 영구 상태로 식별된 메모리 셀을 배제하면서 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태로 각각 식별된 메모리 셀들을 논리적 워드(logical word)로 할당하는 단계 ― 상기 영구 상태로 식별된 메모리 셀은 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태로 각각 식별된 메모리 셀들 사이에 있음 ―; 및
상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들로부터 판독하는 단계 또는 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들에 기입하는 단계
를 포함하는 방법.
실시예 2. 실시예 1에 있어서,
상기 제 1 행은 제 1 물리적 워드 및 제 2 물리적 워드를 저장하도록 구성되며, 상기 제 1 물리적 워드 및 상기 제 2 물리적 워드는 상기 논리적 워드보다 큰 공통 사이즈를 공유하고, 상기 논리적 워드는 상기 제 1 물리적 워드에 대응하는 메모리 셀들에 로컬화되는 것인 방법.
실시예 3. 실시예 1에 있어서,
상기 할당하는 단계는 상기 어레이의 상기 제 1 행을 따라 좌측에서 우측으로 수행되는 것인 방법.
실시예 4. 실시예 1에 있어서,
상기 식별하는 단계는:
상기 제 1 행에 있는 상기 어레이의 메모리 셀들을 바이어싱하여 상기 메모리 셀들을 통하는 개별 판독 전류들을 생성하는 단계 ― 상기 판독 전류들은 상기 제 1 데이터 상태, 상기 제 2 데이터 상태 및 상기 영구 상태에 대해 상이함 ―; 및
상기 판독 전류들을 다수의 기준 전류와 비교하여 상기 제 1 행에 있는 상기 어레이의 메모리 셀들의 개별 상태들을 식별하는 단계
를 포함하는 것인 방법.
실시예 5. 실시예 1에 있어서,
상기 논리적 워드는 데이터 워드 및 오류 정정 코드(ECC; error-correcting code) 코드를 포함하고,
상기 방법은:
상기 ECC 코드를 생성 또는 디코딩하기 위해 ECC 연산을 수행하는 단계를 더 포함하며, 상기 ECC 연산 및 상기 할당하는 단계는 동일한 회로에 의해 수행되는 것인 방법.
실시예 6. 실시예 1에 있어서,
상기 논리적 워드는 데이터 워드 및 오류 정정 코드(ECC) 코드를 포함하고,
상기 방법은:
상기 ECC 코드를 생성 또는 디코딩하기 위해 상기 논리적 워드에 대해 ECC 연산을 수행하는 단계를 더 포함하며, 상기 ECC 연산 및 상기 할당하는 단계는 서로 독립적인 것인 방법.
실시예 7. 실시예 1에 있어서,
상기 판독 또는 상기 기입을 위해 주소를 수신하는 단계 ― 상기 주소는 상기 복수의 행 중 제 2 행을 식별함 ―;
룩업 테이블에서 상기 제 2 행을 조회하여 상기 제 2 행이 중복성(redundant) 행에 매핑되는지를 결정하는 단계; 및
상기 제 2 행이 상기 룩업 테이블에서 상기 중복성 행에 매핑되는 것으로 결정하는 단계 ― 상기 중복성 행은 상기 제 1 행임 ―
를 더 포함하는 방법.
실시예 8. 실시예 1에 있어서,
상기 제 1 행에 있는 테일(tail) 메모리 셀을 식별하는 단계 ― 상기 테일 메모리 셀은 디자인 사양 내에 속하지만 상기 디자인 사양의 경계에 있음 ―; 및
상기 테일 메모리 셀을 상기 영구 상태로 설정하는 단계 ― 상기 영구 상태로 식별된 메모리 셀은 상기 테일 메모리 셀임 ―
를 더 포함하는 방법.
실시예 9. 방법에 있어서,
복수의 행, 복수의 데이터 열, 및 중복성 열을 갖는 메모리 셀들의 어레이를 제공하는 단계 ― 상기 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 가짐 ―;
상기 어레이의 제 1 행으로부터 논리적 워드를 판독하는 단계 ― 상기 논리적 워드는 상기 복수의 데이터 열로부터의 데이터를 포함하고 상기 중복성 열과는 독립적임 ―;
상기 복수의 데이터 열 중 제 1 데이터 열에 있고 그리고 상기 제 1 행에 있는 비정상 메모리 셀을 식별하는 단계;
상기 비정상 메모리 셀을 상기 영구 상태로 설정하는 단계; 및
상기 어레이의 상기 제 1 행으로부터 상기 논리적 워드를 재판독하는 단계
를 포함하고,
상기 논리적 워드는, 상기 제 1 데이터 열을 제외한 상기 복수의 데이터 열로부터의 데이터를 포함하고, 그리고 상기 중복성 열로부터의 데이터를 더 포함하는 것인 방법.
실시예 10. 실시예 9에 있어서,
상기 비정상 메모리 셀을 상기 영구 상태로 설정하는 단계는, 상기 비정상 메모리 셀의 절연체의 비가역적 절연 파괴를 호출하기 위해 상기 비정상 메모리 셀에 걸쳐 고전압을 인가하는 것을 포함하는 것인 방법.
실시예 11. 실시예 9에 있어서,
상기 비정상 메모리 셀은 고장난 메모리 셀인 것인 방법.
실시예 12. 실시예 9에 있어서,
상기 재판독하는 단계는:
상기 제 1 행의 어느 메모리 셀이 상기 영구 상태에 있고 상기 제 1 행의 어느 메모리 셀이 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 있는지를 식별하는 단계;
상기 영구 상태에서 식별된 메모리 셀을 스킵하면서 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에서 식별된 메모리 셀들을 상기 논리적 워드에 할당하는 단계; 및
상기 할당된 메모리 셀들로부터 상기 논리적 워드를 판독하는 단계
를 포함하는 것인 방법.
실시예 13. 실시예 9에 있어서,
상기 메모리 셀들의 어레이는 복수의 제 2 데이터 열 및 제 2 중복성 열을 더 가지며, 상기 재판독하는 단계는 상기 제 2 데이터 열 및 상기 제 2 중복성 열을 배제하도록 상기 데이터 열 및 상기 중복성 열을 식별하는 열 주소를 수신하는 단계를 포함하는 것인 방법.
실시예 14. 메모리 디바이스에 있어서,
메모리 코어로서,
복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이 ― 상기 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 가지며, 상기 복수의 행은 제 1 행을 포함함 ―, 및
상기 제 1 행의 메모리 셀을 상기 영구 상태에 있는 것으로 식별하고 상기 제 1 행의 메모리 셀들을 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 각각 있는 것으로 식별하도록 구성된 감지 증폭기 회로 ― 상기 영구 상태에 있는 메모리 셀은 상기 제 1 데이터 상태와 상기 제 2 데이터 상태에 각각 있는 메모리 셀들 사이에 있음 ―
를 포함하는, 상기 메모리 코어; 및
상기 영구 상태에 있는 것으로 식별된 메모리 셀을 배제하면서 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 각각 있는 것으로 식별된 메모리 셀들을 논리적 워드에 할당하도록 구성된 할당 회로
를 포함하고,
상기 메모리 코어는, 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들로부터 판독하거나 또는 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들에 기입하도록 구성되는 것인 메모리 디바이스.
실시예 15. 실시예 14에 있어서,
상기 할당 회로는, 상기 논리적 워드에 이전에 할당된 메모리 셀이 상기 영구 상태로 설정되는 것에 응답하여 상기 논리적 워드에 할당된 상기 메모리 셀들을 변경하도록 구성되는 것인 메모리 디바이스.
실시예 16. 실시예 14에 있어서,
상기 감지 증폭기 회로는 감지 증폭기를 포함하고,
상기 감지 증폭기는,
상기 어레이의 메모리 셀을 통한 판독 전류를 기준 전류와 비교하고;
상기 판독 전류가 상기 기준 전류를 초과하는 것에 응답하여 상기 메모리 셀을 상기 영구 상태에 있는 것으로 식별하고, 그리고 상기 판독 전류가 상기 기준 전류 미만인 것에 응답하여 상기 메모리 셀을 상기 제 1 데이터 상태 또는 상기 제 2 데이터 상태에 있는 것으로 식별하도록, 또는 그 반대로
구성되는 것인 메모리 디바이스.
실시예 17. 실시예 14에 있어서,
상기 논리적 워드는 데이터 워드 및 오류 정정 코드(ECC) 코드를 포함하고,
상기 메모리 디바이스는, 상기 판독 또는 기입 동안 상기 ECC 코드를 생성 또는 디코딩하도록 구성된 ECC 회로를 더 포함하고, 상기 ECC 회로는 상기 할당 회로와는 독립적이고 상기 할당 회로로부터 이격되는 것인 메모리 디바이스.
실시예 18. 실시예 14에 있어서,
상기 논리적 워드는 데이터 워드 및 오류 정정 코드(ECC) 코드를 포함하고, 상기 할당 회로는 또한, 상기 판독 또는 기입 동안 상기 ECC 코드를 생성 또는 디코딩하도록 구성되는 것인 메모리 디바이스.
실시예 19. 실시예 14에 있어서,
상기 어레이의 메모리 셀들의 각각은 하단 전극, 상단 전극, 및 상기 하단 전극과 상기 상단 전극 사이의 절연체를 포함하며, 상기 영구 상태에서 식별된 메모리 셀의 절연체는 비가역적으로 파괴되는 것인 메모리 디바이스.
실시예 20. 실시예 14에 있어서,
상기 메모리 셀은 저항성 랜덤 액세스 메모리(RRAM; resistive random-access memory) 셀, 자기 저항성 랜덤 액세스 메모리(MRAM; magnetoresistive random-access memory) 셀, 강유전성 랜덤 액세스 메모리(FeRAM; ferroelectric random-access memory) 셀, 또는 하나의 선택기-하나의 저항기(1S1R; one selector-one resistor) 위상 변화 메모리(PCM; phase change memory) 셀인 것인 메모리 디바이스.

Claims (10)

  1. 방법에 있어서,
    복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이를 제공하는 단계 ― 상기 복수의 행은 제 1 행을 포함함 ―;
    상기 제 1 행에 있는 상기 어레이의 메모리 셀들의 개별 상태들을 식별하는 단계 ― 상기 상태들은 각각 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태임 ―;
    상기 영구 상태로 식별된 메모리 셀을 배제하면서 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태로 각각 식별된 메모리 셀들을 논리적 워드(logical word)로 할당하는 단계 ― 상기 영구 상태로 식별된 메모리 셀은 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태로 각각 식별된 메모리 셀들 사이에 있음 ―; 및
    상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들로부터 판독하는 단계 또는 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들에 기입하는 단계
    를 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 제 1 행은 제 1 물리적 워드 및 제 2 물리적 워드를 저장하도록 구성되며, 상기 제 1 물리적 워드 및 상기 제 2 물리적 워드는 상기 논리적 워드보다 큰 공통 사이즈를 공유하고, 상기 논리적 워드는 상기 제 1 물리적 워드에 대응하는 메모리 셀들에 로컬화되는 것인 방법.
  3. 청구항 1에 있어서,
    상기 할당하는 단계는 상기 어레이의 상기 제 1 행을 따라 좌측에서 우측으로 수행되는 것인 방법.
  4. 청구항 1에 있어서,
    상기 식별하는 단계는:
    상기 제 1 행에 있는 상기 어레이의 메모리 셀들을 바이어싱하여 상기 메모리 셀들을 통하는 개별 판독 전류들을 생성하는 단계 ― 상기 판독 전류들은 상기 제 1 데이터 상태, 상기 제 2 데이터 상태 및 상기 영구 상태에 대해 상이함 ―; 및
    상기 판독 전류들을 다수의 기준 전류와 비교하여 상기 제 1 행에 있는 상기 어레이의 메모리 셀들의 개별 상태들을 식별하는 단계
    를 포함하는 것인 방법.
  5. 청구항 1에 있어서,
    상기 논리적 워드는 데이터 워드 및 오류 정정 코드(ECC; error-correcting code) 코드를 포함하고,
    상기 방법은:
    상기 ECC 코드를 생성 또는 디코딩하기 위해 ECC 연산을 수행하는 단계를 더 포함하며, 상기 ECC 연산 및 상기 할당하는 단계는 동일한 회로에 의해 수행되는 것인 방법.
  6. 청구항 1에 있어서,
    상기 논리적 워드는 데이터 워드 및 오류 정정 코드(ECC) 코드를 포함하고,
    상기 방법은:
    상기 ECC 코드를 생성 또는 디코딩하기 위해 상기 논리적 워드에 대해 ECC 연산을 수행하는 단계를 더 포함하며, 상기 ECC 연산 및 상기 할당하는 단계는 서로 독립적인 것인 방법.
  7. 청구항 1에 있어서,
    상기 판독 또는 상기 기입을 위해 주소를 수신하는 단계 ― 상기 주소는 상기 복수의 행 중 제 2 행을 식별함 ―;
    룩업 테이블에서 상기 제 2 행을 조회하여 상기 제 2 행이 중복성(redundant) 행에 매핑되는지를 결정하는 단계; 및
    상기 제 2 행이 상기 룩업 테이블에서 상기 중복성 행에 매핑되는 것으로 결정하는 단계 ― 상기 중복성 행은 상기 제 1 행임 ―
    를 더 포함하는 방법.
  8. 청구항 1에 있어서,
    상기 제 1 행에 있는 테일(tail) 메모리 셀을 식별하는 단계 ― 상기 테일 메모리 셀은 디자인 사양 내에 속하지만 상기 디자인 사양의 경계에 있음 ―; 및
    상기 테일 메모리 셀을 상기 영구 상태로 설정하는 단계 ― 상기 영구 상태로 식별된 메모리 셀은 상기 테일 메모리 셀임 ―
    를 더 포함하는 방법.
  9. 방법에 있어서,
    복수의 행, 복수의 데이터 열, 및 중복성 열을 갖는 메모리 셀들의 어레이를 제공하는 단계 ― 상기 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 가짐 ―;
    상기 어레이의 제 1 행으로부터 논리적 워드를 판독하는 단계 ― 상기 논리적 워드는 상기 복수의 데이터 열로부터의 데이터를 포함하고 상기 중복성 열과는 독립적임 ―;
    상기 복수의 데이터 열 중 제 1 데이터 열에 있고 그리고 상기 제 1 행에 있는 메모리 셀이 비정상 메모리 셀임을 확인하는 단계;
    상기 비정상 메모리 셀을 상기 영구 상태로 설정하는 단계; 및
    상기 어레이의 상기 제 1 행으로부터 상기 논리적 워드를 재판독하는 단계
    를 포함하고,
    상기 논리적 워드는, 상기 제 1 데이터 열을 제외한 상기 복수의 데이터 열로부터의 데이터를 포함하고, 그리고 상기 중복성 열로부터의 데이터를 더 포함하는 것인 방법.
  10. 메모리 디바이스에 있어서,
    메모리 코어로서,
    복수의 행 및 복수의 열을 갖는 메모리 셀들의 어레이 ― 상기 어레이의 각 메모리 셀은 제 1 데이터 상태, 제 2 데이터 상태, 및 영구 상태를 가지며, 상기 복수의 행은 제 1 행을 포함함 ―, 및
    상기 제 1 행의 메모리 셀을 상기 영구 상태에 있는 것으로 식별하고 상기 제 1 행의 메모리 셀들을 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 각각 있는 것으로 식별하도록 구성된 감지 증폭기 회로 ― 상기 영구 상태에 있는 메모리 셀은 상기 제 1 데이터 상태와 상기 제 2 데이터 상태에 각각 있는 메모리 셀들 사이에 있음 ―
    를 포함하는, 상기 메모리 코어; 및
    상기 영구 상태에 있는 것으로 식별된 메모리 셀을 배제하면서 상기 제 1 데이터 상태 및 상기 제 2 데이터 상태에 각각 있는 것으로 식별된 메모리 셀들을 논리적 워드에 할당하도록 구성된 할당 회로
    를 포함하고,
    상기 메모리 코어는, 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들로부터 판독하거나 또는 상기 논리적 워드를 상기 논리적 워드에 할당된 상기 메모리 셀들에 기입하도록 구성되는 것인 메모리 디바이스.
KR1020200138229A 2019-12-20 2020-10-23 Lut-프리 메모리 복구 방법 KR102394662B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962951117P 2019-12-20 2019-12-20
US62/951,117 2019-12-20
US16/939,542 US11367500B2 (en) 2019-12-20 2020-07-27 Method for LUT-free memory repair
US16/939,542 2020-07-27

Publications (2)

Publication Number Publication Date
KR20210081236A KR20210081236A (ko) 2021-07-01
KR102394662B1 true KR102394662B1 (ko) 2022-05-09

Family

ID=76205971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200138229A KR102394662B1 (ko) 2019-12-20 2020-10-23 Lut-프리 메모리 복구 방법

Country Status (5)

Country Link
US (2) US11769568B2 (ko)
KR (1) KR102394662B1 (ko)
CN (1) CN113010102B (ko)
DE (1) DE102020120488A1 (ko)
TW (1) TWI764450B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI805509B (zh) * 2022-10-13 2023-06-11 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN118136084A (zh) * 2022-12-02 2024-06-04 浙江驰拓科技有限公司 存储器修复方法及电路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160335181A1 (en) 2015-05-13 2016-11-17 Wisconsin Alumni Research Foundation Shared Row Buffer System For Asymmetric Memory
US20190058116A1 (en) 2016-03-23 2019-02-21 Forschungszentrum Juelich Gmbh Method for producing an accumulator and use of the accumulator
US20190378879A1 (en) 2012-12-17 2019-12-12 Nantero, Inc. Non-Linear Resistive Change Memory Cells and Arrays

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3031529A (en) 1958-07-21 1962-04-24 Philco Corp Phase-frequency control system for carrier-multiplex receiver
US4408305A (en) * 1981-09-28 1983-10-04 Motorola, Inc. Memory with permanent array division capability
US5465275A (en) * 1993-11-16 1995-11-07 At&T Ipm Corp. Efficient utilization of present state/next state registers
TW243509B (en) * 1994-01-31 1995-03-21 Ibm Data processor with memory cache and method of operation
US5835431A (en) * 1997-09-05 1998-11-10 Integrated Device Technology, Inc. Method and apparatus for wafer test of redundant circuitry
JP4085478B2 (ja) * 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US9495241B2 (en) * 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US7787307B2 (en) * 2008-12-08 2010-08-31 Micron Technology, Inc. Memory cell shift estimation method and apparatus
JP5178637B2 (ja) * 2009-06-18 2013-04-10 株式会社東芝 不揮発性半導体記憶装置
TWI400709B (zh) 2009-07-27 2013-07-01 Sidense Corp 非揮發性記憶體之冗餘系統
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US8467215B2 (en) * 2010-01-29 2013-06-18 Brigham Young University Permanent solid state memory
US8572538B2 (en) * 2011-07-01 2013-10-29 Altera Corporation Reconfigurable logic block
US9293196B2 (en) * 2013-03-15 2016-03-22 Micron Technology, Inc. Memory cells, memory systems, and memory programming methods
US9183086B2 (en) 2013-06-03 2015-11-10 Sandisk Technologies Inc. Selection of data for redundancy calculation in three dimensional nonvolatile memory
JP2015152844A (ja) * 2014-02-18 2015-08-24 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
KR102349999B1 (ko) * 2015-03-02 2022-01-10 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US10108509B2 (en) * 2015-07-16 2018-10-23 Texas Instruments Incorporated Dynamic enabling of redundant memory cells during operating life
CN106533527B (zh) * 2015-09-15 2019-12-13 北京空间飞行器总体设计部 可重配置的卫星遥测在轨监视与量化管理系统及其实现方法
KR101933300B1 (ko) * 2017-03-17 2019-03-15 한양대학교 산학협력단 Stt-mram 불량 주소 우회 회로 및 이를 포함하는 stt-mram 디바이스
US10915405B2 (en) * 2017-05-26 2021-02-09 Netapp, Inc. Methods for handling storage element failures to reduce storage device failure rates and devices thereof
US11231931B1 (en) 2018-12-20 2022-01-25 Advanced Micro Devices, Inc. Mechanism for mitigating information leak via cache side channels during speculative execution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190378879A1 (en) 2012-12-17 2019-12-12 Nantero, Inc. Non-Linear Resistive Change Memory Cells and Arrays
US20160335181A1 (en) 2015-05-13 2016-11-17 Wisconsin Alumni Research Foundation Shared Row Buffer System For Asymmetric Memory
US20190058116A1 (en) 2016-03-23 2019-02-21 Forschungszentrum Juelich Gmbh Method for producing an accumulator and use of the accumulator

Also Published As

Publication number Publication date
CN113010102A (zh) 2021-06-22
CN113010102B (zh) 2024-02-06
US20220284980A1 (en) 2022-09-08
TWI764450B (zh) 2022-05-11
DE102020120488A1 (de) 2021-06-24
TW202139202A (zh) 2021-10-16
US11769568B2 (en) 2023-09-26
KR20210081236A (ko) 2021-07-01
US20230368858A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
KR101793368B1 (ko) 비휘발성 메모리에서의 오류를 검출 및 정정하기 위한 방법 및 시스템
US7036068B2 (en) Error correction coding and decoding in a solid-state storage device
US7149948B2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US10659081B2 (en) Preprogrammed data recovery
Swami et al. Reliable nonvolatile memories: Techniques and measures
US20230368858A1 (en) Method for lut-free memory repair
US8054678B2 (en) Stuck-at defect condition repair for a non-volatile memory cell
JP2005518628A (ja) ヒューズ概念および操作方法
TWI528374B (zh) 記憶體錯誤修正方法以及記憶體錯誤修正裝置
US20100188883A1 (en) Simultaneously Writing Multiple Addressable Blocks of User Data to a Resistive Sense Memory Cell Array
US11367500B2 (en) Method for LUT-free memory repair
US7325157B2 (en) Magnetic memory devices having selective error encoding capability based on fault probabilities
JP2010080006A (ja) 磁気メモリの試験方法および試験装置
US11327860B2 (en) Memory device and methods for programming and reading memory device
EP1286360A2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
CN115862702A (zh) Mram器件及确定其外部磁场和影响的方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant