KR101746701B1 - 저항성 메모리에서의 비트 결함의 실시간 정정 - Google Patents

저항성 메모리에서의 비트 결함의 실시간 정정 Download PDF

Info

Publication number
KR101746701B1
KR101746701B1 KR1020167020441A KR20167020441A KR101746701B1 KR 101746701 B1 KR101746701 B1 KR 101746701B1 KR 1020167020441 A KR1020167020441 A KR 1020167020441A KR 20167020441 A KR20167020441 A KR 20167020441A KR 101746701 B1 KR101746701 B1 KR 101746701B1
Authority
KR
South Korea
Prior art keywords
row
bit
array
bank
memory
Prior art date
Application number
KR1020167020441A
Other languages
English (en)
Other versions
KR20160106091A (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
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160106091A publication Critical patent/KR20160106091A/ko
Application granted granted Critical
Publication of KR101746701B1 publication Critical patent/KR101746701B1/ko

Links

Images

Classifications

    • 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/0766Error or fault reporting or storing
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1695Protection circuits or methods
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

저항성 메모리 디바이스에서 비트 결함들을 정정하기 위한 시스템들 및 방법들은 메모리 디바이스를 제 1 메모리 뱅크 및 제 2 메모리 뱅크로 분할하는 것을 포함한다. 제 1 SBR(single bit repair) 어레이는 제 2 메모리 뱅크에 저장되고, 제 1 SBR 어레이는 제 1 메모리 뱅크의 제 1 행에서의 제 1 결함 비트에서의 결함의 제 1 표시를 저장하도록 구성된다. 제 1 메모리 뱅크 및 제 1 SBR 어레이는 메모리 액세스 동작 동안 병렬로 액세스되도록 구성된다. 유사하게, 제 1 메모리 뱅크에 저장된 제 2 SBR 어레이는 제 2 메모리 뱅크에 비트들의 결함들의 표시들을 저장할 수 있고, 제 2 SBR 어레이 및 제 2 메모리 뱅크는 병렬로 액세스될 수 있다. 따라서, 제 1 및 제 2 메모리 뱅크들에서의 비트 결함들은 실시간으로 정정될 수 있다.

Description

저항성 메모리에서의 비트 결함의 실시간 정정{REAL TIME CORRECTION OF BIT FAILURE IN RESISTIVE MEMORY}
[0001] 개시되는 실시예들은 저항성 메모리에서 비트 결함(bit failure)들의 검출 및 정정에 관한 것이다. 더 구체적으로, 예시적 실시예들은 저항성 메모리 어레이와 동시에 액세스가능한 SBR(single bit repair) 어레이에 기초하여 MRAM(Magnetoresistive Random Access Memory)과 같은 저항성 메모리 어레이의 비트들의 소프트 또는 하드 결함들의 실시간 복구(repair)에 관한 것이다.
[0002] 하드 및 소프트 결함들은 저항성 메모리 디바이스들의 메모리 셀들에서 흔하다. 이러한 결함들은, 예를 들어, 자기 엘리먼트들을 사용하는 비-휘발성 메모리 기술인 MRAM(magnetoresistive random access memory)에서 나타난다. 더 구체적으로, MRAM은 핀층(pinned layer) 및 자유층(free layer)을 분리하는 배리어층(barrier layer)을 포함하는 MTJ(magnetic tunnel junction) 셀들을 포함한다. 자유층의 분극(polarization)은 핀층 및 자유층의 극성이 실질적으로 정렬되거나 또는 반대이도록 특정 방향에서 전류를 인가함으로써 반전(reverse)될 수 있다. MTJ를 통한 전기 경로의 저항은 핀층 및 자유층의 분극들의 정렬에 따라 달라진다. 이러한 저항 변화는 당해 기술 분야에 알려진 바와 같이, MTJ 셀들을 프로그래밍하고 판독하는데 사용될 수 있다.
[0003] 배리어층은 전형적으로, 브레이크다운(breakdown)들에 민감한 MgO와 같은 재료들로 형성되는 얇은 절연층이다. 특히, 배리어층은 디바이스 기술이 진보할수록 그리고 MTJ 셀들의 크기가 축소될수록 비교적 작은 응력 수준들 하에서 쉽게 브레이크다운될 수 있다. 이러한 브레이크다운은 쉽게 복구가능한 소프트 결함들과는 대조적으로, 영구적 또는 장기적 손상에 기인하여 쉽게 복구될 수 없는 하드 결함들을 초래할 수 있다.
[0004] 특히, 복구불가능한 또는 하드 결함들은 결함 셀(failed cell)들의 대체를 요구한다. 그러나, 일단 메모리 어레이들이 패키징되면 메모리 어레이들 내의 개별 비트 셀들을 대체하는 것은 실현가능하지 않다. 따라서, 결함 비트 셀들에 기인한 전체 메모리 어레이를 대체하는 것보다는, 하드 결함들은 전형적으로 대체 행들(또는 열들)을 사용하는 것을 다룬다. 더 상세하게, 메모리 어레이의 결함 비트들은 먼저 검출되고, 예를 들어, 테스트 매크로는 결함 비트 셀들을 검출하기 위해서 메모리 어레이 상에서 실행된다. 결함 비트 셀들이 놓인 행들(및/또는 열들)은, 예를 들어, OTP(one-time programmable)에서 그리고 전형적으로, 메모리 어레이 외부에 있는 NVM(non volatile memory) 어레이에서 주목(note)된다. OTP NVM 어레이는 결함 비트 셀들을 포함하는 결함 행들에 관한 정보를 홀딩(hold)한다.
[0005] 그 다음, 결함 행들에 대한 대체 행들이 제공된다. 이 대체 행들은 전체 결함 행들의 레플리카(replica)들이지만, 결함 비트 셀들은 건강한(healthy) 또는 정확하게 기능하는 비트 셀들로 대체된다. 대체 행들은 통상적으로, 메모리 어레이의 나머지에 결함 행들의 레플리카들을 저장하기 위해서 요구된 메모리 어레이의 행들이다. 실제로 OTP NVM 액세스 시간이 느리기 때문에, 결함 행들에 관한 정보는 시스템 파워 업 시 빠른 레지스터들, 예를 들어, MRAM(magnetoresistive random access memory) 내부 레지스터들로 로딩된다. 따라서, 메모리 어레이 상에서 메모리 액세스가 시도될 때마다, 원하는 메모리 액세스 행이 결함 행인지 여부를 확인하기 위해서, MRAM 내부 레지스터들은 메모리 액세스 어드레스가 그것에 포함되는지 여부를 알도록 검사된다. 의도되는(purported) 메모리 액세스가 결함 행에 대응한다면, 메모리 액세스 어드레스는 결함 행에 대한 대응하는 대체 행이 메모리 어레이에서 제공되는 어드레스로 재라우팅된다. 따라서, 결함 행 대신에, 대응하는 대체 행은 메모리 액세스를 위해서 선택된다.
[0006] 위의 기법들은 또한, 비트 셀들보다는, 메모리 어레이의 포트들이 손상될 수 있는 곳에서 확장될 수 있다. 예를 들어, 메모리 어레이의 입력/출력(IO) 포트가 결함 것으로 검출되면, 대체 IO(또는 "RIO")가 제공된다. 결함 IO 포트를 통해 액세스를 요구할 수 있는 액세스 어드레스들은 대체 IO로 재라우팅된다. 더 상세하게, 하나의 알려진 구현에서, OTP NVM은 원하는 액세스가 결함 IO와 관련되는 경우, 대체 IO가 위에서와 같이, 내부 MRAM 레지스터로부터 획득되도록 전체 결함 IO에 대한 대체 IO를 저장하도록 구성될 수 있다. 또 다른 알려진 구현에서, OTP NVM은 세그먼트들에 대체 IO 정보를 저장하도록 구성될 수 있고, 메모리 어레이는 복수의 세그먼트들(말하자면, 예를 들어, n개의 동일한 세그먼트들)로 분할될 수 있으며, n개의 세그먼트들 각각은 다수의 행들을 포함한다. 대체 IO 정보는, 특정 세그먼트 m에 대한 대체 IO가 그 세그먼트 m 내의 결함 IO와 관련되도록 n개의 세그먼트들 각각에 대해 생성된다. 따라서, 세그먼트 m이 결함 IO를 갖고, 원하는 메모리 액세스 어드레스가 세그먼트 m 하에 떨어진다면, 대응하는 대체 IO는 전체 대체 IO를 리트리브하기보다는 단지 세그먼트 m에 대해서만 리트리브될 수 있다. 따라서, 이 구현은, 전체 대체 IO를 저장하는 이전 구현에 비해, OTP NVM에서 소비되는 대체 IO 공간의 단지 1/n만을 요구한다.
[0007] 선택되는 OTP NVM에 대한 특정 구현들에 관계없이, 결함 비트 셀들 또는 IO들을 다루기 위한 위의 종래의 기법들은 몇몇 양상들에서 단점이 있다. 첫째, 이 기법들은 느리며 시간 소모적이고, 더욱이, 이러한 기법들은 즉각적으로(on the fly) 수행될 수 없다. 이것은, 많아야 1개의 행이 전형적 메모리 어레이 설계들에서 동시에 액세스될 수 있으므로 이러한 기법들이 다수의 메모리 어레이 액세스들을 요구하기 때문이고, 결함 행에 액세스하려고 시도하고, 내부 MRAM 레지스터들을 통과하고, 그 다음, 대체 행 또는 대체 IO에 액세스하는 프로세스가 다수의 클럭 사이클들, 또는 다시 말해서, 하이 레이턴시를 발생시킨다. 둘째, 대체 행들 및/또는 대체 IO들은 메모리 어레이 상에서 값비싼 공간을 소비하고, 따라서, 대체 행들의 수는 전형적으로 제한되고, 따라서, 효과적으로 다루어질 수 있는 결함 행들 및/또는 결함 IO들의 수에 대한 제한을 부과한다. 따라서, 종래의 기법들은 결함들의 실시간 복구에 대해 느리고 부적합할뿐만 아니라, 종래의 기법들은 또한 유효한 대체 행들 및/또는 대체 IO들이 모든 결함들에 대해 제공될 수 없는 경우 부정확성들을 초래할 수도 있다.
[0008] 예시적 실시예들은 저항성 메모리에서 비트 결함들의 검출 및 정정에 관련된다. 더 구체적으로, 예시적 실시예들은 저항성 메모리 어레이와 동시에 액세스가능한 SBR(single bit repair) 어레이에 기초하여 MRAM(Magnetoresistive Random Access Memory)과 같은 저항성 메모리 어레이의 비트들의 소프트 또는 하드 결함들의 실시간 복구에 관련된다.
[0009] 예를 들어, 실시예들은 제 1 메모리 뱅크 및 제 2 메모리 뱅크로 분할되는 저항성 메모리 디바이스와 관련될 수 있다. 제 1 SBR(single bit repair) 어레이는 제 2 메모리 뱅크에 저장되고, 제 1 SBR 어레이는 제 1 메모리 뱅크의 제 1 어드레스에서 제 1 행에서의 제 1 결함 비트에서의 결함의 제 1 표시를 저장하도록 구성된다. 제 1 메모리 뱅크 및 제 1 SBR 어레이는 메모리 액세스 동작 동안 병렬로 액세스가능하도록 구성된다. 유사하게, 제 1 메모리 뱅크에 저장된 제 2 SBR 어레이는 제 2 메모리 뱅크에 비트들의 결함들의 표시들을 저장할 수 있고, 제 2 SBR 어레이 및 제 2 메모리 뱅크는 병렬로 액세스될 수 있다. 따라서, 제 1 및 제 2 메모리 뱅크들에서의 비트 결함들은 실시간으로 정정될 수 있다.
[0010] 따라서, 예시적 실시예는 메모리 어레이에서 비트 결함들을 정정하는 방법에 관련되고, 그 방법은 메모리 어레이를 제 1 뱅크 및 제 2 뱅크로 분할하는 단계, 제 1 뱅크에 저장된 제 1 행에서의 제 1 결함 비트에서의 결함을 결정하는 단계, 및 제 1 SBR(single bit repair) 어레이에서의 제 1 결함 비트의 제 1 표시를 저장하는 단계를 포함하고, 제 1 SBR 어레이는, 메모리 액세스 동작 동안 제 1 뱅크 및 제 1 SBR 어레이의 병렬 액세스를 허용하기 위해서, 제 2 뱅크에 저장된다.
[0011] 또 다른 예시적 실시예는 메모리 디바이스에 관련되고, 그 메모리 디바이스는 제 1 메모리 뱅크, 제 2 메모리 뱅크, 및 제 2 메모리 뱅크에 저장된 제 1 SBR(single bit repair) 어레이를 포함하고, 제 1 SBR 어레이는 제 1 메모리 뱅크의 제 1 행에서의 제 1 결함 비트에서의 결함의 제 1 표시를 저장하도록 구성되고, 제 1 메모리 뱅크 및 제 1 SBR 어레이는 메모리 액세스 동작 동안 병렬로 액세스되도록 구성된다.
[0012] 또 다른 예시적 실시예는 메모리 시스템에 관련되고, 그 메모리 시스템은 제 1 메모리 뱅크, 제 1 메모리 뱅크에 저장된 제 1 행에서의 제 1 결함 비트에서의 결함을 결정하기 위한 수단, 및 제 1 메모리 뱅크 및 저장하기 위한 수단이 메모리 액세스 동작 동안 병렬로 액세스가능하도록 제 1 결함 비트의 제 1 표시를 저장하기 위한 수단을 포함한다.
[0013] 또 다른 예시적 실시예는, 프로세서에 의해 실행될 때 프로세서로 하여금 메모리 어레이에서의 비트 결함들을 정정하기 위한 동작들을 수행하게 하는 코드를 포함하는 비-일시적 컴퓨터 판독가능한 저장 매체에 관련되고, 그 비-일시적 컴퓨터 판독가능한 저장 매체는 메모리 어레이의 제 1 메모리 뱅크에 저장된 제 1 행에서의 제 1 결함 비트에서의 결함을 결정하기 위한 코드, 및 제 1 메모리 뱅크 및 저장하기 위한 수단이 메모리 액세스 동작 동안 병렬로 액세스가능하도록 제 1 결함 비트의 제 1 표시를 저장하기 위한 코드를 포함한다.
[0014] 첨부한 도면들은 다양한 실시예들의 설명을 돕도록 제시되며, 본 실시예들의 제한으로서가 아닌 단지 본 실시예들의 예시를 위해서 제공된다.
[0015] 도 1은 예시적 실시예들에 따라 실시간 결함 비트 복구를 위해서 구성되는 예시적 메모리 디바이스 구조의 예시이다.
[0016] 도 2a-d는 결함 비트 표시들이 결함 비트들이 플립(flip)되어야 하는지 아닌지와 관련되는 경우 동시적인 결함 비트 복구를 통한 판독 동작들을 예시한다.
[0017] 도 2e-h는 결함 비트 표시들이 결함 비트들이 플립되어야 하는지 아닌지와 관련되는 경우 동시적인 결함 비트 복구를 통한 기록 동작들을 예시한다.
[0018] 도 3a-d는 결함 비트 표시들이 결함 비트들의 정확한 값들을 포함하는 경우 동시적인 결함 비트 복구를 통한 판독 동작들을 예시한다.
[0019] 도 3e-h는 결함 비트 표시들이 결함 비트들의 정확한 값들을 포함하는 경우 동시적인 결함 비트 복구를 통한 기록 동작들을 예시한다.
[0020] 도 4는 본 개시 내용의 양상들에 따른 메모리 어레이에서 비트 결함들을 정정하는 예시적 방법의 흐름도이다.
[0021] 다양한 실시예들의 양상들은 특정 실시예들에 관련되는 다음의 설명 및 관련 도면들에서 개시된다. 대안적 실시예들은 본 발명의 범위로부터 벗어나지 않으면서 고안될 수 있다. 추가적으로, 다양한 실시예들의 알려진 엘리먼트들은 다양한 실시예들의 관련 세부사항들을 모호하게 하지 않도록 상세하게 설명되지 않을 것이거나 또는 생략될 것이다.
[0022] "예시적"이라는 단어들은 본원에서 "예, 예시 또는 예증으로서 제공되는"의 의미로 사용된다. "예시적"으로서 본원에서 설명되는 임의의 실시예가 반드시 다른 실시예들보다 선호되거나 또는 유리한 것으로 해석되는 것은 아니다. 마찬가지로, "실시예들"이라는 용어는, 모든 실시예들이 논의되는 특징, 이점 또는 동작 모드를 포함하는 것을 요구하지 않는다.
[0023] 본원에서 사용되는 용어는 단지 특정 실시예들만을 설명하기 위한 것이며, 실시예들을 제한하는 것으로 의도되지 않는다. 본원에서 사용되는 바와 같이, 단수 형태들의 표현은 문맥에 달리 명백하게 표시되지 않는 한, 복수 형태들을 역시 포함하는 것으로 의도된다. "포함하다(comprises)", "포함하는(comprising)", "구비하다(includes)" 및/또는 "구비하는(including)"이라는 용어들은, 본원에서 사용되는 경우, 서술된 특징들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다.
[0024] 예시적 실시예들은 메모리 어레이들에서의 결함들을 핸들링하기 위한 종래의 기법들의 전술된 단점들을 극복한다. 따라서, 실시예들은 2개 또는 그 초과의 뱅크들로 분할될 수 있는 예시적 메모리 어레이 구조들을 포함한다. 예를 들어, MRAM 셀들을 포함하는 메모리 어레이는 제 1 뱅크 및 제 2 뱅크로 분할될 수 있다. 이러한 구조에서, 메모리 어레이가 64-비트 넓이이면, 각각의 행의 더 중요하거나 또는 상위 32-비트들이 제 1 뱅크에 저장될 것이고, 덜 중요하거나 또는 하위 32-비트들이 제 2 뱅크에 저장될 것이다. 예를 들어, 결함 비트 행들에 대한 전체 대체 행을 저장하기 보다는, 종래의 기법들에서와 같이, 실시예들은 SBR(single bit repair) 어레이들로 본원에 지칭되는 예시적 구조들에서 결함 비트들의 어드레스들만을 저장하도록 구성될 수 있다. 더 상세하게, SBR 어레이는 비트 레벨 입도(granularity)의 어드레스들을 포함할 수 있고, 이들은 결함 비트를 포함하는 전체 결함 행보다는 특정 결함 비트를 핀포인팅(pinpoint)한다. 따라서, 메모리 어레이 내의 이용가능한 메모리 공간은, 더 적은 저장 공간이 결함 비트를 포함하는 전체 결함 행을 저장하기보다는 결함 비트의 어드레스를 저장할 필요가 있기 때문에, 더 효율적으로 활용된다.
[0025] 추가 양상들에서, 제 1 뱅크의 데이터 행들의 결함 비트들에 대응하는 제 1 SBR 어레이는 메모리 어레이의 제 2 뱅크 내에 형성될 수 있고, 제 2 뱅크에서의 데이터 행들의 결함 비트들에 대응하는 제 2 SBR 어레이는 제 1 뱅크 내에 형성될 수 있다. 예시적 메모리 어레이에서, 로직 및 제어 수단은 제 1 뱅크 및 제 2 뱅크의 병렬 또는 동시 액세스를 위해서 제공되며, 따라서, 제 1 뱅크의 병렬 액세스를, 예를 들어, 그것의 대응하는 제 1 SBR 어레이와 함께 가능하게 한다. 이 방식으로, 예를 들어, 제 1 뱅크의 제 1 행으로의 의도되는 메모리 액세스는 제 2 뱅크로부터 제 1 SBR 어레이에 액세스하는 것과 병렬로 수행될 수 있다. 따라서, 실시예들은 또한, 종래의 기법들에 비해 메모리 액세스 속도를 개선할 수 있다.
[0026] 이제, 도 1을 참조하면, 예시적 메모리 디바이스(100)의 개략도가 예시되고, 여기서, 메모리 디바이스(100)는 비트 결함들, 특히, 하드 결함들의 복구와 관련된 예시적 양상들을 포함하도록 구성될 수 있다. 메모리 디바이스(100)는 하나의 실시예에서, MTJ 비트 셀들을 포함하는 MRAM과 같은 저항성 메모리일 수 있다. 더 상세하게, 메모리 디바이스(100)는 메모리 어레이를 포함하고, 메모리 어레이는 예시적으로 64-비트 넓이이며, 제 1 뱅크(102a) 및 제 2 뱅크(102b)로서 예시되는 제 1 및 제 2 32-비트 넓이 메모리 뱅크들로 분할된다. 제 1 SBR 어레이(104a)는 제 1 뱅크(102a)에 결함 비트들과 관련된 어드레스들을 저장할 수 있고(예를 들어, 제 1 SBR 어레이(104a)는 제 1 뱅크(102a)에 제 1 결함 비트에 대응하는 제 1 어드레스를 저장할 수 있음); 유사하게, 제 2 SBR 어레이(104b)는 제 2 뱅크(102b)에 결함 비트들과 관련된 어드레스들을 저장할 수 있다. 예시되는 실시예에서, 메모리 디바이스(100)는 520개의 행들을 포함할 수 있고, 여기서, 제 1 뱅크(102a) 및 제 2 뱅크(102b)는 512개의 행들을 포함하고, 각각의 제 1 및 제 2 SBR 어레이들(104a-b)은 8개의 행들을 포함한다.
[0027] 예에서, 제 1 뱅크(102a)의 비트 셀(105a)은 결함 비트로서 결정될 수 있고, 여기서, 결함 비트(105a)는 데이터 워드 라인 또는 결함 행(106a)에 속할 수 있다. 대응적으로, 제 1 SBR 어레이(104a)는 SBR 어레이 엔트리(107a)로서 지정되는 엔트리를 포함할 수 있다. SBR 어레이 엔트리(107a)는 결함 행(106a)에서의 결함 비트(105a)의 비트 포지션을 표시하기 위해서 열 어드레스(CA) 및 결함 행(106a)에 대응하는 워드 라인 오프셋을 포함할 수 있는 결함 비트(105a)의 어드레스를 포함할 수 있다. 추가로, 결함 비트(105a)에 대응하는 결함 IO가 존재하면, SBR 어레이 엔트리(107a)는 저장된 어드레스가 현재 결함과 관련되는지 아니면 안 쓰이는 것(obsolete)인지를 표시하기 위한 유효 비트 및 IO 번호를 포함할 수 있다. 일부 양상들에서, 결함 IO들이 앞서 설명된 바와 같은 세그먼트화된 방식으로 결정되면, IO 번호는 결함 행(106a)이 속하는 특정 세그먼트에 대응할 수 있다. 예를 들어, SBR 어레이 엔트리(107a)를 표현하는데 요구되는 비트들의 수는 (종래의 기법들에서 보여진 바와 같은) 전체 결함 행(106a)을 저장하는데 요구될 수 있는 비트들의 수보다 상당히 적다. 따라서, SBR 어레이 엔트리(107a)와 같은 몇몇 엔트리들은, 예를 들어, 제 1 SBR 어레이(104a)의 8개의 행들 각각에 저장될 수 있다.
[0028] 어드레스 커맨드들(110)은 예를 들어, 프로세서 또는 메모리 제어기와 같은 외부 소스(도시되지 않음)로부터, 판독/기록 동작들을 위한 메모리 디바이스(100)에 의해 수신될 수 있다. 글로벌 제어 로직(116)은 어드레스 커맨드들(110)을 수신하도록 구성될 수 있고, 디코더(114)는 제 1 및/또는 제 2 뱅크들(102a-b)의 관심 행들에 대한 어드레스 커맨드들(110)과 관련된 액세스들을 지향하도록 구성된다. 어드레스 커맨드들(110)은 선택된 특정 구현들에 기초하여, 32-비트 동작들뿐만 아니라 전체(full) 64-비트 동작들을 포함할 수 있다. 예를 들어, 64-비트 기록 커맨드는 제 1 뱅크(102a)로의 상위 32-비트들에 대한 DIN(111a) [63:32]뿐만 아니라 제 2 뱅크(102b)로의 DIN(111b) [31:0] 둘다의 버스들에 대한 데이터를 포함할 수 있다. 유사하게, 64-비트 판독 커맨드는 제 1 뱅크(102a)로부터의 상위 32-비트들에 대한 DOUT(112a) [63:32]뿐만 아니라 제 2 뱅크(102b)로부터의 DOUT(112b)[31:0]에 대한 데이터를 판독하는데 사용될 수 있다.
[0029] 데이터를 판독 및 기록하는 것을 보조하기 위해서, LDP(local data lines)(118a-b) 및 GDP(global data lines)(120a-b)를 포함하는 판독 로직 및 기록 로직 블록들이 제공된다. LDP(118a-b)는 감지 증폭기들뿐만 아니라 기록 회로를 포함하는 판독 로직 또는 판독 회로를 포함할 수 있고; GDP(120a-b)는 수신기들 및 데이터 출력 버퍼들을 포함할 수 있다. 기록 동작의 경우, 기록 데이터는 블록들 GDP(120a-b)에 의해 버스들 DIN(111a-b)로부터 수신되며, LDP(118a-b)로 각각 포워딩된다. LDP(118a-b) 내의 기록 로직 또는 기록 회로는 기록 데이터를 대응하는 제 1 및 제 2 뱅크들(102a-b)의 비트 라인들로 각각 드라이빙(drive)할 수 있다. 판독 동작들 동안, LDP(118a-b) 내에 감지 증폭기들을 포함하는 판독 회로는 대응하는 제 1 및 제 2 뱅크들(102a-b)로부터 비트 셀 데이터를 감지하고, 비트 셀 데이터를 GDP(120a-b)로 각각 포워딩할 수 있다. GDP(120a-b)는 판독된 데이터를 버스들 DOUT(112a-b)로 드라이빙할 수 있다.
[0030] 비트 결함들의 결정을 보조하기 위해서, 에러 정정 메커니즘들은 제 1 및 제 2 뱅크들(102a-b) 내에 저장된 데이터의 무결성 또는 정확성을 주기적으로 검사하기 위해서 제공될 수 있다. 이 프로세스를 보조하기 위해서, ECC(error correcting codes) 비트들(106a 및 106b)은 제 1 및 제 2 뱅크들(102a-b)의 각각의 행에 각각 추가된다. ECC의 기능은 당해 기술 분야에서 잘 알려져 있으며, 여기서, 리던던트 ECC 비트들 또는 패리티 비트들은 ECC 비트들이 하나 또는 그 초과의 에러들이 데이터 비트들의 그룹 내에서 발생하였는지 여부를 결정하는데 사용될 수 있도록, 데이터 비트들의 그룹에 추가된다. 도 1의 예시적 메모리 디바이스(100)의 구조에 기초한 결함 비트 복구의 세부사항들은 이제, 도 2a-h에 예시되는 판독, 기록 및/또는 데이터 스크러빙/리프레시와 같은 동작들에 관하여 논의될 것이다.
[0031] 도 2a-b를 참조하면, 예시적 실시예들에 따른 SBR 어레이들을 파퓰레이팅(populate)하기 위한 셋업 동작들의 초기 세트가 예시된다. 도 2a-b는 예시적 리프레시 또는 데이터 스크럽 프로세스 동안 수행될 수 있는 단계들의 시퀀스를 포함하는 흐름도를 포함한다. 예시적 양상들은 DRAM(dynamic random access memory)과 같은 휘발성 메모리에 일반적으로 보여지는 바와 같은 리프레시 동작을 요구하지 않는 MRAM과 같은 비휘발성 메모리와 관련되지만, 유사한 동작은 그럼에도 불구하고 결함들을 결정하기 위해서 주기적으로 수행될 수 있다. 예를 들어, 초기 셋업 단계 동안 그리고 주기적 사이클들에서, 제 1 및 제 2 뱅크들(102a-b)의 각각의 행이 판독될 수 있어, 여기에 저장된 데이터의 정확성이 대응하는 ECC 비트들(108a-b)을 사용하여 검증되고, 그 다음, 다시 기록될 수 있다. 소프트 결함들은 이 리프레시-유사 데이터 스크러빙 동작들 동안 고쳐질 수 있는 반면, 하드 결함들은 예시적 실시예들에 따라 복구 핸들링을 위해서 플래그(flag)될 수 있다. 또한, 이 맥락에서 설명되는 리프레시/결함 검출 동작들은 단지 초기 또는 주기적 리프레시 프로세스 동안 수행될 필요가 없지만, 한편, 결함 검출 및 복구 핸들링은 또한 판독 또는 기록 동작과 같은 메모리 액세스의 부분으로서 수행될 수 있다는 것이 이해될 것이다.
[0032] 더 상세하게, 단계 또는 블록(202)에서, 리프레시/데이터 스크럽 또는 판독 동작 동안, 전술된 행(106a)이 판독된다. ECC 블록(108a)으로부터의 대응하는 ECC 비트들을 사용하여, 행(106a)이 정확성을 위해서 검사된다. 행(106a)에 저장된 예시적 값들은 도 2a-b에 표시된다. 이 실행 예에서, 비트(105a)가 부정확하고, 포인터에 의해 행(106a)의 나머지 비트들에서의 비트(105a)로 표시되는 그것의 예상되는 값으로부터 벗어나는 것이 검출된다. 그러나, 이 편차(deviation) 단독으로는, 다시 기록함으로써 정정될 수 있는 소프트 결함 또는 예를 들어, 제 1 SBR 어레이(104a)에서의 엔트리의 생성에 의해 추가적인 주의를 필요로 하는 하드 결함에 의해 에러가 야기되는지 여부를 결정하는데 불충분하다.
[0033] 따라서, 프로세스는 비트(105a)(이는 바이너리 표현에서, 잘못된 값으로부터 인버팅(inverting) 또는 플립핑(flipping) 비트(105a)에 이름)에 대해 에러 정정이 수행되는 블록(204)으로 진행하고, 블록(206)에서, 에러가 정확한 값을 재기록함으로써 정정될 소프트 결함이었기를 희망하며, 행(106a)은 플립된/정정된 비트(105a)에 의해 제 1 뱅크(102a)에 다시 기록된다.
[0034] (도 2b에서 시작하는) 블록(208)에서, 행(106a)은 에러가 블록(206)에서 고정되었는지 여부를 결정하기 위해서 다시 한번 판독된다. 실시예들을 설명할 목적으로, 비트(105a)가 블록(206)에서 정확한 값을 재기록함으로써 고쳐지지 않았을 하드 결함을 경험하였다고 가정될 것이다. 따라서, 블록(208)에서 비트(205a)가, 정확한 값을 재기록함으로써 고쳐질 수 없는, 비트(205a)에 로케이팅되는 MTJ 셀의 MgO 배리어 브레이크다운과 같은 하드 결함에 의해 결함 비트임이 실현된다. 일부 경우들에서 이러한 하드 결함들은 영구적일 필요가 없고, 시간이 지남에 따라 하드 결함은 임의의 수의 팩터(factor)들에 기초하여 고쳐질 수 있다는 것이 가능하다는 것(이는 본 개시 내용에서 논의되지 않을 것임)이 인식될 것이다. 이러한 상황들을 설명하기 위해서, 앞서 설명된 유효 비트는 SBR 어레이들 내의 엔트리들이 현재 기존의 하드 결함들을 가리킴을 보장하는데 사용될 것이다.
[0035] 따라서, 블록(210)으로 이동하면, 제 1 SBR 어레이(104a)가 결함 비트(105a)에 대한 표시를 저장하기 위한 이용가능한 저장 공간을 갖는다는 가정 하에, 비트(105a)에서의 하드 결함은 제 1 SBR 어레이(104a)에 메모리화된다. 예시적 SBR 어레이들, 예를 들어, 제 1 SBR 어레이(104a)는 종래의 기법들보다 더 많은 결함 표시들을 홀딩할 수 있지만, 이 예시적 SBR 어레이들은 그럼에도 불구하고 용량(예를 들어, 현재 예에서, 각각의 행에서의 하나 또는 그 초과의 결함 비트 표시들에 대한 저장 공간을 제공하는 32-비트 용량의 8개의 행들)이 제한된다는 것이 인지된다. 따라서, 결함 비트 표시들을 저장하기 위한 이용가능한 용량이 표시되면, 기존의 엔트리들을 덮어쓰고 새로운 엔트리들에 대한 룸을 생성하기 위한 적합한 대체 정책이 채택될 수 있다. 일부 엔트리들이 그들의 유효 비트 필드들에 의해 표시되는 바와 같이, 무효 엔트리들을 포함하면, 이들은 삭제될 수 있다. 모든 엔트리들이 유효하면, 캐시 메모리 아키텍처들에서의 LRU(least recently used) 방식과 같은 대체 정책이 하나의 가능한 대체 정책인 한편, 당업자들은 본 개시 내용의 범위 내에서 사용될 수 있는 대안적 대체 정책들을 인지할 것이다.
[0036] 블록(210)을 계속 참조하면, SBR 어레이 엔트리(107a)는 제 1 SBR 어레이(104a)에서 생성되고, 여기서, 유효 필드는 세팅될 수 있고, 워드 라인 오프셋 필드는 결함 행(106a)과 관련될 수 있으며(예를 들어, 도 2a-b에서의 워드 라인(WL) = "10"이라는 것과 관련되는 것으로 도시됨), 열 어드레스는 결함 행(106a)에서의 결함 비트(105a)의 포지션을 표시할 수 있다(예를 들어, 도 2a-b에서의 열 어드레스(CA) = 5라는 것과 관련되는 것으로 도시됨). 더 구체적으로, 이 포맷에 있어서, SBR 어레이 엔트리(107a)가 유효 필드 세트를 갖는다면, 이것의 표시는 비트(105a)의 값이 플립되어야 한다는 것이다(예를 들어, 비트(105a)는 결함에 기인하여 그것의 예상되는 정확한 값의 반대인 값에 갇힐(stuck) 수 있음). 따라서, 이 스테이지에서, 제 1 SBR 어레이(104a)는 제 1 뱅크(102a)에서의 비트(105a)에 대한 하드 결함이 존재한다는 표시에 의해 파퓰레이팅되었을 것이다. 유사하게, 제 1 및 제 2 뱅크들(102a-b) 둘다에서의 모든 다른 행들은 스크럽되며, 결함들이 제 1 및 제 2 SBR 어레이들(104a-b)에서 각각 주목될 수 있다.
[0037] 도 2c-d를 참조하면, 도 2a-b와 유사한 포맷의 동작 흐름은, 이제 제 1 뱅크(102a)의 행(106a)을 계속 참조하여 설명될 바와 같이, 예시적 판독 동작에 대해 예시된다. 예를 들어, 도 1을 함께 참조하면, 원하는 출력 DOUT(112a) [63:32]를 생성하기 위해서, 행(106a)에 대한 판독을 수행하기 위한 어드레스 커맨드(110)가 수신될 수 있다. 따라서, 글로벌 제어 블록(116)은 제 1 SBR 어레이(104a)를 판독함과 동시에, 제 1 뱅크(102a)의 행(106a)에 대한 판독 동작을 개시할 것이다. 일부 양상들에서, 수신된 판독 어드레스에 기초하여, 글로벌 제어 블록(116)은 제 1 SBR 어레이(104a), SBR 어레이 엔트리(107a) 내의 엔트리가 행(106a)에 대해 존재함을 결정할 수 있을 것이다.
[0038] 따라서, 블록(212)에서, 행(106a)에 대한 판독 동작은, 동시에 제 1 SBR 어레이(104a)로부터 대응하는 SBR 어레이 엔트리(107a)를 판독하면서 제 1 뱅크(102a)로부터 행(106a)을 판독함으로써 개시될 것이다. 비트(105a)에 결함이 존재함이 결정될 것이다.
[0039] 블록(214)에서, 행(106a)의 판독된 값은 SBR 어레이 엔트리(107a)에 세팅되는 유효 비트에 기초하여 결함 비트(105a)를 플립함으로써 수정 또는 인버팅(invert)된다. 일부 경우들에서, SBR 어레이 엔트리(107a)에 저장된 값은 또한, SBR 어레이 엔트리들 자신들이 손상되지 않았음을 보장하기 위해서, (제 1 SBR 어레이(104a)에 대한 블록(212)에 도시되는 바와 같은) 자기 자신의 ECC 비트들에 대해 먼저 검사될 수 있다.
[0040] 블록(212)으로 리턴하면, 선택적 특징들일 수 있으며 모든 경우들에서 블록들(212 및 214)에서의 위의 설명에 영향을 미칠 필요가 없는 추가 양상들이 도시된다. 구체적으로, 블록(212)에서, ECC 비트들은 행(106a)에서의 비트(105a) 외의 추가 비트의 에러를 표시할 수 있다. 이 제 2 에러는, 제 1 SBR 어레이(104a) 내의 엔트리가 도 2b의 블록(210)에서의 행(106a)에 대해 생성되었기 때문에, 소프트 결함 또는 하드 결함에 의해 야기될 수 있다. 따라서, (도 2d에 도시되는) 블록(216)에서, 이 제 2 잘못된 비트의 정정은 또한, DOUT(112a) [63:32]에 대한 정확한 값을 최종적으로 출력하기 전에, 행(106a)을 판독하면서 수행될 수 있다.
[0041] 이제, 도 2e-f로 터닝하면, 새로운 제 1 행과 같은 새로운 행 또는 새로운 워드가 제 1 뱅크(102a)의 기존의 제 1 행에 기록되는 예시적 기록 동작의 제 1 플레이버(flavor)가 예시된다. 예를 들어, DIN(111a) [63:32]로부터 수신되는 새로운 제 1 행 값은, 예를 들어, LDP(118a)의 보조에 의해, 기존의 제 1 행, 즉, 행(106a)에 기록될 것이다. 이 플레이버는 아래에 추가로 설명될, 비트(105a)로의 의도되는 새로운 기록 값이 결함 비트(105a)의 현재 저장된 값과 동일한 경우와 관련된다. 다시 한번, 어드레스 커맨드(110)가 기록 동작이 요구됨을 표시하는 경우, 글로벌 제어 블록(116)은, 예를 들어, 제 1 SBR 어레이(104a) 내의 SBR 어레이 엔트리(107a)가 행(106a)에 대해 존재함을 표시할 것이다. 이것 이후, 기록 프로세스는 블록(222)으로 진행한다.
[0042] 블록(222)에서, 행(106a)에 대한 사전-판독이 수행되고, 여기서, 행(106a)은 행(106a)에 새로운 값을 기록하기 전에 먼저 판독된다. 제 1 SBR 어레이(104a)로부터의 SBR 어레이 엔트리(107a)는 또한, 행(106a)의 어떤 비트가 결함 표시를 갖는지를 결정하기 위해서 판독된다. 다시 한번, SBR 어레이 엔트리(107a) 자신이 제 1 SBR 어레이(104a)에 대한 ECC 비트들을 사용하여 정확성에 대해 먼저 테스트될 수 있다.
[0043] 다음으로, 블록(224)에서, 예를 들어, 단지 데이터가 DIN(111a) [63:32]로부터 들어옴에 따라 수정될 필요가 있는 비트들을 선택적으로 다시 기록하기 위해서, 행(106a)에 기록될 데이터는 행(106a)에 이미 존재하는 데이터와 비교될 수 있다. 행(106a)에 이미 존재하는 32-비트들 중 일부가 기록될 새로운 32-비트들에 공통적일 가능성이 있으므로, 자신들의 기존의 값들로부터 수정되지 않은 상태를 유지할 것인 이 비트 값들에 대한 기록 전력을 절약하는 것이 유리하다. 단지 수정된 비트들의 선택적 기록은 미리-판독되기 전에 이용가능한 행(106a)에서의 기존의 비트들 및 기록 동작을 위해서 행(106a)에 기록될 대응하는 비트들에 대해 비트-와이즈 XOR 함수를 수행함으로써 달성될 수 있다.
[0044] 그러나, 행(106a)에서의 나머지 비트들과는 달리, 재기록 이후, 비트가 결함 어드레스(107a)에서의 표시에 기초하여 인버팅 또는 플립될 것이면, 결함 비트(105a)는 재기록될 필요가 없다. 이 프로세스를 명확하게 하기 위한 수치적 설명에서, SBR 어레이 엔트리(107a)에서의 유효 비트는 비트(105a)가 플립될 필요가 있음을 표시한다고 가정될 것이며, 여기서, 비트(105a)의 값은 현재 "0"의 잘못된 값에 있다. 따라서, SBR 어레이 엔트리(107a)에 저장된 현재 표시는 비트(105a)의 정확한 값이 "1"이라는 요건으로 해석된다(translate). 따라서, "1"의 값이 원하는 기록 동작의 완료에 따라 비트(105a)에 기록될 것이면, 이것은 "0"의 그것의 초기 사전-판독 값에서 값을 유지하게 함으로써 달성될 수 있어서, 비트(105a)가 판독되는 경우, 그것은 결함 어드레스(107a)에서의 표시에 의해 플립될 것이다.
[0045] 블록(226)에서(도 2f 참조), 행(106a)에서의 기존의 비트들과 상이한 것으로 결정되는 비트들, 즉, 블록(224)에 기초할 수 있을 경우에 따라 비트(105a) 외에 기록될 필요가 있는 비트들은, 기록 프로세스를 완료하기 위해서 행(106a)에 다시 기록된다. 대응하는 ECC 비트들은 기록 동작의 완료에 따라 행(106a)에서의 업데이트된 값에 기초하여 업데이트된다.
[0046] 일부 경우들에서, 블록(224)이 생략될 수 있고, 블록(226)이 DIN(111a) [63:32]으로부터 행(106a)으로 도착하는 새로운 데이터 비트들의 전체 32-비트들을 덮어쓰기 위해서 수정될 수 있다는 것이 이해될 것이다. 이것은 위의 블록들(224 및 226)에서 설명되는 바와 같이 수정될 필요가 없는 비트들을 불필요하게 기록하기 위한 기록 전력을 회피함으로써 나타날 수 있는 동일한 전력 절약들을 달성하지 않을 수 있는 반면, 전체 32-비트들을 덮어쓰기하는 것은 추가되는 간단함 및 비용 절약들을 위해서 전력 절약들을 트레이드-오프할 수 있다(예를 들어, 비트-와이즈 XOR 로직이 회피될 수 있음). 새로운 데이터의 전체 32-비트들이 행(106a)에 덮어쓰여지면, 이에 따라, (예를 들어, 도 2a-b에 대해) 다음의 리프레시 동작은 제 1 SBR 어레이(104a)를 업데이트하도록 수행될 수 있다.
[0047] 이제, 도 2g-h를 참조하면, 도 2e-f에서 설명되는 기록 동작의 제 2 플레이버가 예시되고, 여기서 비트(105a)로의 의도되는 새로운 기록 값은 결함 비트(105a)의 사전-판독 값과 동일하다. 도 2g-h는 단지 도 2e-f의 블록들(224 및 226)에서 도 2e-f와 상당히 다르고, 따라서, 이 차이들은 도 2g-h에서 224' 및 226'으로서 대응하는 블록들을 라벨링함으로써 표시된다. 도 2g-h는 모든 다른 양상들에서 도 2e-h와 실질적으로 유사하기 때문에, 설명은 그 차이들에 집중하기 보다는 이 유사성들에 머무르지 않을 것이다.
[0048] 더 구체적으로, 도 2g-h는 기록 데이터가, 블록(222)에서 행(106a)의 사전-판독으로부터 판독된, 비트(105a)의 값과 동일한 비트(105a)에 대응하는 포지션에 값을 포함하는 예를 표현한다. 그러나, 비트(105a)가 SBR 어레이 엔트리(107a)에서 세팅되는 유효 비트를 가져서, 비트(105a)가 플립될 필요가 있음을 표시한다는 것이 알려진다. 따라서, 수치적 예에서, 비트(105a)가 값 "0"으로서 행(106a)에 대해 판독되면, "0"의 판독 값이 거짓이기 때문에, 그것의 예상된 값은 "1"이라는 것이 알려진다. 그러나, 새로운 기록이 비트(105a)에 기록될 "0"의 값을 가질 것이면, "0"은 비트(105a)에서의 정확한 값일 것이며, 따라서, SBR 어레이 엔트리(107a)에서 세팅되는 유효 비트에 기초하여 플립되어서는 안 된다. 따라서, 값 "0"에 대응하는 비트(105a)의 에러의 표시가 제거되어야 한다.
[0049] 따라서, 도 2d의 블록(224)에서, 비트(105a)에 기록될 데이터 값이 비트(105a)의 판독된 데이터 값과 동일하지만 이는 SBR 어레이 엔트리(107a)에서 세팅되는 유효 비트에 의해 잘못된 값으로서 앞서 기술된 것이 보여진다는 점에서, 도 2e-h에서의 행(106a)에 데이터를 기록하는 프로세스는 도 2e-f에서 위에서 설명된 프로세스와 상이하다. 따라서, 의도되는 값이 행(106a)의 판독된 값과 이미 매칭하므로, 어떠한 덮어쓰기도 기록 동작에 따라 비트(105a)에서 수행될 필요가 없다. 도 2c의 블록(224)과 유사하게, 자신의 현재 저장된 값으로부터 수정될 모든 다른 비트들은 블록(224')에서 기록 동작의 목적들을 위해서 업데이트될 수 있다(대안적 실시예들에서, 블록(224')이 전력을 트레이드오프하고 행(106a)에 DIN(111a) [63:32]의 모든 비트들을 기록하여 필요에 따라 제 1 SBR 어레이(104a)를 업데이트함으로써 회피될 수 있다는 것을 다시 한번 유념해보기로 한다).
[0050] 따라서, (도 2h에 도시되는 바와 같은) 블록(226')에서, 비트(105a)로의 기록 값이 비트(105a)의 사전-판독 값과 매칭한다면, SBR 어레이 엔트리(107a)는 유효 비트의 리셋에 기초하여 삭제 또는 무효화될 수 있다.
[0051] 이제 도 3a-h를 참조하면, 대안적 실시예들이 도시되며, 여기서, 예시적 SBR 어레이들 내의 엔트리들의 포맷은 도 2a-h에 대해 위에서 설명된 것들과는 상이하다. 중요하게, 도 3a-h의 이러한 대안적 실시예들에 따른 예시적 SBR 어레이들 내의 하나 또는 그 초과의 엔트리들은 여기에 저장된 결함 어드레스에 의해 표시되는 결함 비트의 정확한 값을 표시하기 위해서 "정확한 필드"로 지칭되는 추가 필드를 포함한다. 다시 말해서, 결함 비트가 플립되어야 하거나 아니면 플립되지 않아야 함을 표시하는 것보다는, 앞서 설명된 실시예들에서와 같은 유효 비트에 기초하여, 본원의 대안적 실시예들의 SBR 어레이 엔트리들은 식별된 결함 비트에 존재하여야 하는 정확한 값을 명시적으로 저장한다. 따라서, 이러한 대안적 실시예들에서, SBR 어레이 엔트리(107'a)(개별적으로 예시되지 않음)와 같은 제 1 SBR 어레이(104a)의 엔트리는 결함 비트(105a)에 대응하는 결함 어드레스를 포함하고, 여기서, 결함 어드레스(107'a)는 앞서와 같이 유효 비트 및 결함 IO 번호에 대한 필드들을 포함하며, 추가적으로, 또한 정확한 데이터 비트 값을 표시하는 기록 데이터 비트 필드를 포함한다. 따라서, SBR 어레이 엔트리(107'a)가 유효 엔트리를 표시한다면, 비트(105a)의 정확한 값은 기록 데이터 비트 필드에 의해 제공된다. 대안적 실시예들은 앞서 설명된 것들과 관련하여 실질적으로 유사하며, 따라서, 다음의 설명은 유사한 양상들의 반복을 생략하면서 차이들에 집중할 것이다.
[0052] 더 상세하게, 예시적 SBR 어레이들을 파퓰레이팅하기 위한 초기 셋업 또는 리프레시 동작들에 따른 도 3a-b의 블록들(302-308)은 도 2a-b의 블록들(202-208)과 실질적으로 유사하다. 중요한 차이가 블록(310)에 있으며, 여기서, 도 2b의 블록(210)과는 달리, 결함 비트(105a)의 정확한 값은 그것의 기록 데이터 비트 필드 내의 SBR 어레이 엔트리(107'a)에 대해 생성되는 엔트리에 기록된다.
[0053] 위의 차이들에 유념하면, 위의 SBR 어레이 엔트리(107'a)에 따른 결함 비트(105a) 표시를 갖는 결함 행(106a)에 대한 판독 동작의 설명은, 도 3c-d를 참조하여 이제 착수될 것이며, 여기서, 블록들(312-316)은 많은 양상들에서 도 2c-d의 블록들(212-216)과 유사하다. 블록(312)에서, SBR 어레이 엔트리(107'a)는 행(106a)의 판독과 함께, 결함 비트(105a)의 정확한 값을 표시하는 그것의 추가 필드에 의해 판독된다.
[0054] 도 2c의 블록(214)에서 논의되는 플립핑 동작과는 달리, 도 3c의 블록(314)에서, 행(106a)의 판독 값은 SBR 어레이 엔트리(107'a)의 기록 데이터 값 필드로부터 유도되는 그것의 정확한 값으로 결함 비트(105a)를 대체함으로써 수정된다.
[0055] 도 2d의 블록(216)과 유사하게, 에러 검사들은 도 3d의 블록(316)에서 수행되고, 필요에 따라 추가 정정들이 DOUT(112a) [63:32] 상에서 정정된 데이터를 출력하기 전에, ECC 비트들에 기초하여 수행된다.
[0056] 이제 도 3e-h를 참조하면, 결함 비트 사전-판독 값이 의도되는 새로운 기록 값과 상이한지 아닌지에 기초하여 행(106a)에 대한 기록 동작들에 대한 제 1 및 제 2 플레이버들이 각각 예시된다. 그러나, 도 2e-f 및 도 2g-h에 대한 차이들과 달리, 결함 비트(105a)의 정확한 값이 SBR 어레이 엔트리(107'a)로부터 이용가능하기 때문에 도 3e-f 및 도 3g-h에 대한 차이가 사실상 존재하지 않고, 따라서, 결함 비트 사전-판독 값이 의도되는 새로운 기록 값과 상이한지 아닌지에 대한 특별한 관심을 포함할 필요성이 존재하지 않는다.
[0057] 더 상세하게, 도 3e, 3g의 블록들(322) 및 도 2e, 2g의 블록들(222)은 유사하고, 여기서, 사전-판독은 행(106a)에서 수행되며, 여기서, 행(106a)은 행(106a)에 새로운 값을 기록하기 전에 먼저 판독된다. 그러나, 결함 비트(105a)로의 의도되는 새로운 기록 값이 결함 비트(105a)의 사전-판독 값과 상이한 도 3e의 블록(324) 및 결함 비트(105a)로의 의도되는 새로운 기록 값이 결함 비트(105a)의 사전-판독 값과 상이한 도 3g의 블록(324') 둘다에서, 의도되는 새로운 기록 값이 행(106a)에서 비트(105a)에 기록되는지 아닌지는 중요하지 않다. 이것은 정확한 값이 도 3f의 블록(326)뿐만 아니라 도 3h의 블록(326') 둘다에서 결함 어드레스(107'a)의 기록 데이터 값 비트 필드에서 결국(anyway) 업데이트될 것이기 때문이다.
[0058] 다시 한번, 예를 들어, 블록들(324 및 324')에 도시되는 것들 외의 대안적 구현들에서, 설계의 간단함을 위해서 전력 절약들을 트레이드 오프하도록, 단지 앞서 저장된 비트들과 상이한 비트들보다는 새로운 기록 값으로 전체 행(106a)을 기록하는 것이 가능하다는 것이 이해될 것이다.
[0059] 실시예들은 본원에 개시되는 프로세스들, 기능들 및/또는 알고리즘들을 수행하기 위한 다양한 방법들을 포함한다는 것이 인식될 것이다. 예를 들어, 도 4에 예시되는 바와 같이, 실시예는 메모리 어레이(예를 들어, 메모리 디바이스(100))에서 비트 결함들을 정정하는 방법을 포함할 수 있고, 그 방법은 메모리 어레이를 제 1 뱅크(예를 들어, 제 1 뱅크(102a)) 및 제 2 뱅크(예를 들어, 제 2 뱅크(102b))로 분할하는 단계 ― 블록(402); 제 1 뱅크에 저장된 제 1 행(예를 들어, 제 1 행(106a))에서의 제 1 결함 비트(예를 들어, 비트(105a))에서의 결함을 결정하는 단계 ― 블록(404); 및 제 1 SBR(single bit repair) 어레이(예를 들어, 제 1 SBR 어레이(104a))에서의 제 1 결함 비트의 제 1 표시(예를 들어, SBR 어레이 엔트리(107a))를 저장하는 단계 ― 제 1 SBR 어레이는, 메모리 액세스 동작 동안 제 1 뱅크 및 제 1 SBR 어레이의 병렬 액세스를 허용하기 위해서, 제 2 뱅크에 저장됨 ― 블록(406) ― 를 포함한다.
[0060] 당업자는 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 기술 및 기법을 사용하여 표현될 수 있다는 것을 인식할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광 필드들 또는 광 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
[0061] 추가로, 당업자들은, 본원에서 개시되는 실시예들과 관련하여 설명되는 다양한 예시적 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수 있다는 것을 인식할 것이다. 하드웨어와 소프트웨어의 상호교환가능성을 분명하게 예시하기 위해서, 다양한 예시적 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 이들의 기능적 관점에서 위에서 설명되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 전체 시스템 상에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 설명되는 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로 해석되어서는 안 된다.
[0062] 본원에서 개시되는 실시예들과 관련하여 설명되는 방법들, 시퀀스들 및/또는 알고리즘들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 탈착식(removable) 디스크, CD-ROM, 또는 당해 기술 분야에 알려진 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다.
[0063] 따라서, 본 발명의 실시예는 저항성 메모리 디바이스들에서의 결함 비트 복구를 위한 방법을 구현하는 컴퓨터 판독가능한 매체들을 포함할 수 있다. 따라서, 본 발명은 예시되는 예들에 제한되는 것이 아니고, 본원에서 설명되는 기능을 수행하기 위한 임의의 수단이 본 발명의 실시예들에 포함된다.
[0064] 위의 개시 내용은 본 발명의 예시적 실시예들을 나타내지만, 다양한 변화들 및 수정들이 첨부된 청구항들에 의해 정의되는 바와 같은 본 발명의 범위로부터 벗어나지 않으면서 본원에서 이루어질 수 있다는 점이 주목되어야 한다. 본원에서 설명되는 본 발명의 실시예들에 따른 방법 청구항들의 기능들, 단계들 및/또는 동작들이 임의의 특정한 순서로 수행될 필요는 없다. 게다가, 본 발명의 엘리먼트들은 단수형으로 설명되거나 또는 청구될 수 있지만, 단수형으로의 제한이 명시적으로 표기되지 않는 한 복수형이 참작된다.

Claims (24)

  1. 메모리 어레이(array)에서 비트 결함들을 정정하는 방법으로서,
    상기 메모리 어레이의 제 1 뱅크에 저장된 제 1 행에서의 제 1 결함 비트에서의 결함을 결정하는 단계;
    제 1 SBR(single bit repair) 어레이에 상기 제 1 결함 비트의 제 1 어드레스를 저장하는 단계;
    상기 제 1 어드레스에서의 상기 제 1 결함 비트의 값이 상기 결함에 기인하여 인버팅됨을 표시하기 위한 상기 제 1 SBR 어레이에서의 유효 필드를 저장하는 단계 ― 상기 제 1 어드레스는 상기 제 1 결함 비트의 전체 어드레스이고, 상기 제 1 SBR 어레이는 상기 메모리 어레이의 제 2 뱅크에 저장되고, 그리고 상기 제 1 뱅크 및 상기 제 1 SBR 어레이는 병렬로 액세스가능함 ―;
    상기 제 1 뱅크에 저장된 상기 제 1 행 및 상기 제 2 뱅크에 저장된 상기 제 1 SBR 어레이에 병렬로 액세스하는 단계; 및
    상기 제 1 어드레스에서 상기 제 1 행으로부터 판독되는 비트 값을 인버팅함으로써 상기 제 1 행에 대한 판독 동작 또는 리프레시(refresh) 동작 동안 상기 제 1 결함 비트에서의 결함을 정정하는 단계를 포함하고,
    상기 제 1 뱅크에 저장된 상기 제 1 행은 데이터 워드의 상위 절반(half) 또는 그 초과의 중요(significant) 비트들을 포함하고, 그리고
    상기 제 2 뱅크에 저장된 제 2 행은 상기 데이터 워드의 하위 절반 또는 그 미만의 중요 비트들을 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 뱅크의 상기 제 1 행에의 새로운 제 1 행의 기록 동작 동안:
    상기 제 1 SBR 어레이가 상기 제 1 행에서의 상기 제 1 결함 비트의 상기 제 1 어드레스를 포함함을 결정하는 단계;
    상기 제 1 뱅크에 저장된 상기 제 1 행을 판독하는 단계;
    상기 제 1 어드레스에 기초하여 상기 제 1 결함 비트의 포지션에서 상기 새로운 제 1 행 및 상기 판독된 제 1 행의 비트 값들을 비교하는 단계;
    상기 제 1 뱅크에 상기 새로운 제 1 행을 기록하는 단계; 및
    상기 비교에 기초하여 상기 제 1 SBR 어레이를 업데이트하는 단계를 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  3. 제 2 항에 있어서,
    상기 새로운 제 1 행 및 상기 판독된 제 1 행의 모든 비트들을 비교하고, 그리고 상기 판독된 제 1 행과 상이한 상기 새로운 제 1 행의 비트들만을 상기 제 1 뱅크에 선택적으로 기록하는 단계를 더 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 SBR 어레이는 상기 제 1 결함 비트의 정확한 값을 포함하는 정확한 필드를 더 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  5. 제 4 항에 있어서,
    상기 제 1 행에 대한 판독 동작 또는 리프레시 동작 동안 상기 제 1 결함 비트에서의 결함을 정정하는 단계는:
    상기 제 1 어드레스에서 상기 제 1 행으로부터 판독되는 비트 값을 상기 정확한 값으로 대체하는 단계를 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  6. 제 4 항에 있어서,
    상기 제 1 뱅크의 상기 제 1 행에의 새로운 제 1 행의 기록 동작 동안:
    상기 제 1 SBR 어레이가 상기 제 1 행에서의 상기 제 1 결함 비트의 상기 제 1 어드레스를 포함함을 결정하는 단계;
    상기 제 1 뱅크에 저장된 상기 제 1 행을 판독하는 단계;
    상기 제 1 어드레스에 기초하여 상기 제 1 결함 비트의 포지션에서 상기 새로운 제 1 행 및 상기 판독된 제 1 행의 비트 값들을 비교하는 단계;
    상기 제 1 뱅크에 상기 새로운 제 1 행을 기록하는 단계; 및
    상기 비교에 기초하여 상기 제 1 SBR 어레이를 업데이트하는 단계를 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  7. 제 4 항에 있어서,
    새로운 제 1 행 및 상기 판독된 제 1 행의 모든 비트들을 비교하고, 그리고 상기 판독된 제 1 행과 상이한 상기 새로운 제 1 행의 비트들만을 상기 제 1 뱅크에 선택적으로 기록하는 단계를 더 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  8. 제 1 항에 있어서,
    상기 메모리 어레이는 MRAM 어레이이고, 그리고
    상기 결함은 상기 제 1 결함 비트에서 형성되는 MTJ(magnetic tunnel junction) 셀의 배리어 층의 MgO 브레이크다운(breakdown)에 대응하는 하드(hard) 결함을 포함하는,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  9. 제 1 항에 있어서,
    제 2 SBR 어레이에 상기 제 2 뱅크의 제 2 행의 제 2 결함 비트의 제 2 어드레스를 저장하는 단계를 더 포함하고,
    상기 제 2 SBR 어레이는 상기 제 1 뱅크에 저장되고, 상기 제 2 행 및 상기 제 2 SBR 어레이는 상기 제 2 행의 판독 동작 동안 병렬로 액세스가능한,
    메모리 어레이에서 비트 결함들을 정정하는 방법.
  10. 메모리 디바이스로서,
    제 1 메모리 뱅크;
    제 2 메모리 뱅크; 및
    상기 제 2 메모리 뱅크에 저장된 제 1 SBR(single bit repair) 어레이 ― 상기 제 1 SBR 어레이는 상기 제 1 메모리 뱅크의 제 1 행에서의 제 1 결함 비트에서의 결함의 제 1 어드레스 및 상기 제 1 결함 비트의 값이 상기 제 1 어드레스에서 인버팅됨을 표시하기 위한 유효 필드를 저장하도록 구성되고, 상기 제 1 어드레스는 상기 제 1 결함 비트의 전체 어드레스이고, 그리고 상기 제 1 메모리 뱅크 및 상기 제 1 SBR 어레이는 병렬로 액세스되도록 구성됨 ― ; 및
    상기 제 1 어드레스에서 상기 제 1 행으로부터 판독되는 비트 값을 인버팅하기 위한 로직을 포함하는, 상기 제 1 행에 대한 판독 동작 또는 리프레시 동작 동안 상기 제 1 결함 비트의 정정을 위한 로직을 포함하고,
    상기 제 1 메모리 뱅크에 저장된 상기 제 1 행은 데이터 워드의 상위 절반 또는 그 초과의 중요 비트들을 포함하고, 그리고
    상기 제 2 메모리 뱅크에 저장된 제 2 행은 상기 데이터 워드의 하위 절반 또는 그 미만의 중요 비트들을 포함하는,
    메모리 디바이스.
  11. 제 10 항에 있어서,
    상기 제 1 SBR 어레이가 상기 제 1 행에서의 상기 제 1 결함 비트의 상기 제 1 어드레스를 포함함을 결정하고;
    상기 제 1 메모리 뱅크에 저장된 상기 제 1 행을 판독하고;
    상기 제 1 어드레스에 기초하여 상기 제 1 결함 비트의 포지션에서 기록될 새로운 제 1 행 및 판독된 제 1 행의 비트 값들을 비교하고;
    상기 제 1 메모리 뱅크에 상기 새로운 제 1 행을 기록하고; 그리고
    상기 비교에 기초하여 상기 제 1 SBR 어레이를 업데이트하도록
    구성되는 기록 로직을 더 포함하는,
    메모리 디바이스.
  12. 제 11 항에 있어서,
    상기 기록 로직은, 상기 새로운 제 1 행 및 상기 판독된 제 1 행의 모든 비트들을 비교하고, 그리고 상기 판독된 제 1 행과 상이한 상기 새로운 제 1 행의 비트들만을 상기 제 1 메모리 뱅크에 선택적으로 기록하도록 추가로 구성되는,
    메모리 디바이스.
  13. 제 10 항에 있어서,
    상기 제 1 SBR 어레이는 상기 제 1 결함 비트의 정확한 값을 포함하는 정확한 필드를 포함하는,
    메모리 디바이스.
  14. 제 13 항에 있어서,
    상기 제 1 어드레스에서 상기 제 1 행으로부터 판독되는 비트 값을 상기 정확한 값으로 대체하도록
    구성되는 판독 로직을 더 포함하는,
    메모리 디바이스.
  15. 제 13 항에 있어서,
    상기 제 1 SBR 어레이가 상기 제 1 행에서의 상기 제 1 결함 비트의 상기 제 1 어드레스를 포함함을 결정하고;
    상기 제 1 메모리 뱅크에 저장된 상기 제 1 행을 판독하고;
    상기 제 1 어드레스에 기초하여 상기 제 1 결함 비트의 포지션에서 기록될 새로운 제 1 행 및 상기 판독된 제 1 행의 비트 값들을 비교하고;
    상기 제 1 메모리 뱅크에 상기 새로운 제 1 행을 기록하고; 그리고
    상기 비교에 기초하여 상기 제 1 SBR 어레이를 업데이트하도록
    구성되는 기록 로직을 더 포함하는,
    메모리 디바이스.
  16. 제 13 항에 있어서,
    기록 로직은 새로운 제 1 행 및 상기 판독된 제 1 행의 모든 비트들을 비교하고, 그리고 상기 판독된 제 1 행과 상이한 상기 새로운 제 1 행의 비트들만을 상기 제 1 메모리 뱅크에 선택적으로 기록하도록 추가로 구성되는,
    메모리 디바이스.
  17. 제 10 항에 있어서,
    상기 메모리 디바이스는 MRAM 어레이이고, 그리고
    상기 결함은 상기 제 1 결함 비트에서 형성되는 MTJ(magnetic tunnel junction) 셀의 배리어 층의 MgO 브레이크다운에 대응하는 하드 결함을 포함하는,
    메모리 디바이스.
  18. 제 10 항에 있어서,
    상기 제 1 메모리 뱅크에 저장된 제 2 SBR 어레이를 더 포함하고,
    상기 제 2 SBR 어레이는 상기 제 2 메모리 뱅크의 제 2 행에서의 제 2 결함 비트의 제 2 어드레스를 저장하도록 구성되고,
    상기 제 2 메모리 뱅크 및 상기 제 2 SBR 어레이는 상기 제 2 행의 판독 동작 동안 병렬로 액세스되도록 구성되는,
    메모리 디바이스.
  19. 프로세서에 의해 실행될 때 상기 프로세서로 하여금 메모리 어레이에서의 비트 결함들을 정정하기 위한 동작들을 수행하게 하는 코드를 포함하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 메모리 어레이의 제 1 메모리 뱅크에 저장된 제 1 행에서의 제 1 결함 비트에서의 결함을 결정하기 위한 코드;
    제 1 SBR(single bit repair) 어레이에 상기 제 1 결함 비트의 제 1 어드레스를 저장하기 위한 코드;
    상기 제 1 어드레스에서의 상기 제 1 결함 비트의 값이 상기 결함에 기인하여 인버팅됨을 표시하기 위한 상기 제 1 SBR 어레이에서의 유효 필드를 저장하기 위한 코드 ― 상기 제 1 어드레스는 상기 제 1 결함 비트의 전체 어드레스이고, 상기 제 1 SBR 어레이는 상기 메모리 어레이의 제 2 뱅크에 저장되고, 그리고 상기 제 1 메모리 뱅크 및 상기 제 1 SBR 어레이는 병렬로 액세스가능함 ―;
    상기 제 1 메모리 뱅크에 저장된 상기 제 1 행 및 상기 제 2 뱅크에 저장된 상기 제 1 SBR 어레이에 병렬로 액세스하기 위한 코드; 및
    상기 제 1 어드레스에서 상기 제 1 행으로부터 판독되는 비트 값을 인버팅함으로써 상기 제 1 행에 대한 판독 동작 또는 리프레시 동작 동안 상기 제 1 결함 비트에서의 결함을 정정하기 위한 코드를 포함하고,
    상기 제 1 메모리 뱅크에 저장된 상기 제 1 행은 데이터 워드의 상위 절반 또는 그 초과의 중요 비트들을 포함하고, 그리고
    상기 제 2 뱅크에 저장된 제 2 행은 상기 데이터 워드의 하위 절반 또는 그 미만의 중요 비트들을 포함하는,
    비-일시적 컴퓨터 판독가능 저장 매체.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020167020441A 2014-01-08 2014-12-12 저항성 메모리에서의 비트 결함의 실시간 정정 KR101746701B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/150,559 2014-01-08
US14/150,559 US9552244B2 (en) 2014-01-08 2014-01-08 Real time correction of bit failure in resistive memory
PCT/US2014/069984 WO2015105624A1 (en) 2014-01-08 2014-12-12 Real time correction of bit failure in resistive memory

Publications (2)

Publication Number Publication Date
KR20160106091A KR20160106091A (ko) 2016-09-09
KR101746701B1 true KR101746701B1 (ko) 2017-06-13

Family

ID=52293223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167020441A KR101746701B1 (ko) 2014-01-08 2014-12-12 저항성 메모리에서의 비트 결함의 실시간 정정

Country Status (6)

Country Link
US (1) US9552244B2 (ko)
EP (1) EP3092649B1 (ko)
JP (1) JP6126313B2 (ko)
KR (1) KR101746701B1 (ko)
CN (1) CN105917413B (ko)
WO (1) WO2015105624A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132095A1 (en) * 2014-03-28 2017-05-11 Hewlett Packard Enterprise Development Lp Data restoration
US9836349B2 (en) * 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
US9933954B2 (en) * 2015-10-19 2018-04-03 Nxp Usa, Inc. Partitioned memory having pipeline writes
JP2019045910A (ja) 2017-08-29 2019-03-22 東芝メモリ株式会社 半導体記憶装置
US10643722B2 (en) * 2018-01-12 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device
DE102018126051A1 (de) 2018-01-12 2019-07-18 Taiwan Semiconductor Manufacturing Co. Ltd. Neuartige Speichervorrichtung
US11521697B2 (en) 2019-01-30 2022-12-06 STMicroelectronics International, N.V. Circuit and method for at speed detection of a word line fault condition in a memory circuit
US11393532B2 (en) 2019-04-24 2022-07-19 Stmicroelectronics International N.V. Circuit and method for at speed detection of a word line fault condition in a memory circuit

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999463A (en) 1997-07-21 1999-12-07 Samsung Electronics Co., Ltd. Redundancy fuse box and semiconductor device including column redundancy fuse box shared by a plurality of memory blocks
US20010054165A1 (en) 2000-06-16 2001-12-20 Fujitsu Limited Memory device having redundant cells
JP2004030884A (ja) 2002-05-01 2004-01-29 Hewlett-Packard Development Co Lp 磁気抵抗固体記憶素子における誤りを最小限にする方法
US20050128830A1 (en) 2003-12-11 2005-06-16 Sony Corporation Semiconductor memory device
US20080320346A1 (en) 2007-06-25 2008-12-25 Lin Jason T Systems for reading nonvolatile memory
US20090132876A1 (en) 2007-11-19 2009-05-21 Ronald Ernest Freking Maintaining Error Statistics Concurrently Across Multiple Memory Ranks
JP2011008850A (ja) 2009-06-24 2011-01-13 Sony Corp メモリ及び情報処理方法
US8040743B2 (en) 2008-09-30 2011-10-18 Seagate Technology Llc Data storage using read-mask-write operation
US8086913B2 (en) 2008-09-11 2011-12-27 Micron Technology, Inc. Methods, apparatus, and systems to repair memory
US20120030441A1 (en) 2010-07-29 2012-02-02 Takahiro Yamashita Semiconductor memory device detecting error
JP2012033222A (ja) 2010-07-29 2012-02-16 Toshiba Corp 半導体記憶装置およびその制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2515097B2 (ja) * 1985-10-08 1996-07-10 日本テキサス・インスツルメンツ 株式会社 半導体記憶装置
JPH01165100A (ja) * 1988-08-26 1989-06-29 Hitachi Ltd 半導体メモリ
US6879530B2 (en) 2002-07-18 2005-04-12 Micron Technology, Inc. Apparatus for dynamically repairing a semiconductor memory
US7415640B1 (en) * 2003-10-13 2008-08-19 Virage Logic Corporation Methods and apparatuses that reduce the size of a repair data container for repairable memories
US8032816B2 (en) 2007-06-01 2011-10-04 International Business Machines Corporation Apparatus and method for distinguishing temporary and permanent errors in memory modules
US8839053B2 (en) 2010-05-27 2014-09-16 Microsoft Corporation Error correcting pointers for non-volatile storage
US8467258B2 (en) 2010-08-30 2013-06-18 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for bit cell repair
US20120173921A1 (en) * 2011-01-05 2012-07-05 Advanced Micro Devices, Inc. Redundancy memory storage system and a method for controlling a redundancy memory storage system
JP5377526B2 (ja) 2011-01-13 2013-12-25 株式会社東芝 不揮発性半導体記憶装置
JP5204868B2 (ja) * 2011-04-12 2013-06-05 シャープ株式会社 半導体記憶装置
KR20130049332A (ko) 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US8996936B2 (en) * 2011-12-08 2015-03-31 Sandisk Technologies Inc. Enhanced error correction in memory devices
US9110824B2 (en) * 2012-06-08 2015-08-18 Silicon Motion Inc. Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999463A (en) 1997-07-21 1999-12-07 Samsung Electronics Co., Ltd. Redundancy fuse box and semiconductor device including column redundancy fuse box shared by a plurality of memory blocks
US20010054165A1 (en) 2000-06-16 2001-12-20 Fujitsu Limited Memory device having redundant cells
JP2004030884A (ja) 2002-05-01 2004-01-29 Hewlett-Packard Development Co Lp 磁気抵抗固体記憶素子における誤りを最小限にする方法
US20050128830A1 (en) 2003-12-11 2005-06-16 Sony Corporation Semiconductor memory device
JP2005174462A (ja) 2003-12-11 2005-06-30 Sony Corp 半導体記憶装置
US20080320346A1 (en) 2007-06-25 2008-12-25 Lin Jason T Systems for reading nonvolatile memory
US20090132876A1 (en) 2007-11-19 2009-05-21 Ronald Ernest Freking Maintaining Error Statistics Concurrently Across Multiple Memory Ranks
US8086913B2 (en) 2008-09-11 2011-12-27 Micron Technology, Inc. Methods, apparatus, and systems to repair memory
US8040743B2 (en) 2008-09-30 2011-10-18 Seagate Technology Llc Data storage using read-mask-write operation
JP2011008850A (ja) 2009-06-24 2011-01-13 Sony Corp メモリ及び情報処理方法
US20120030441A1 (en) 2010-07-29 2012-02-02 Takahiro Yamashita Semiconductor memory device detecting error
JP2012033222A (ja) 2010-07-29 2012-02-16 Toshiba Corp 半導体記憶装置およびその制御方法

Also Published As

Publication number Publication date
WO2015105624A1 (en) 2015-07-16
JP6126313B2 (ja) 2017-05-10
EP3092649B1 (en) 2018-10-31
KR20160106091A (ko) 2016-09-09
JP2017502445A (ja) 2017-01-19
US9552244B2 (en) 2017-01-24
CN105917413B (zh) 2019-04-19
US20150194201A1 (en) 2015-07-09
CN105917413A (zh) 2016-08-31
EP3092649A1 (en) 2016-11-16

Similar Documents

Publication Publication Date Title
KR101746701B1 (ko) 저항성 메모리에서의 비트 결함의 실시간 정정
CN109997190B (zh) 从利用动态冗余寄存器的存储器设备读取数据的方法
KR101675075B1 (ko) 비-휘발성 램 에러 재-맵핑을 위한 방법 및 장치
US7861138B2 (en) Error correction in memory devices
TWI528365B (zh) 半導體記憶裝置
TWI587297B (zh) 半導體儲存裝置
KR101374455B1 (ko) 메모리 에러와 리던던시
US8161355B2 (en) Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process
US8910018B2 (en) Memory with dynamic error detection and correction
CN107710326A (zh) 冗余存储器单元在操作寿命期间的动态启用
KR20140055737A (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US10564866B2 (en) Bank-level fault management in a memory system
CN108511029B (zh) 一种fpga中双端口sram阵列的内建自测和修复系统及其方法
US9984770B2 (en) Method for managing a fail bit line of a memory plane of a non volatile memory and corresponding memory device
TWI527049B (zh) 操作記憶體之方法及記憶體裝置
JP2021149769A (ja) メモリシステムおよびシフトレジスタ型メモリ
US20150067444A1 (en) Semiconductor storage device and memory system
JP3935151B2 (ja) 半導体集積回路装置
GB2577659A (en) Bad Bit Register for Memory
KR20050021870A (ko) 기준 개시 순차 판독 방법 및 메모리
KR20240004062A (ko) 메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법

Legal Events

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