KR20190086355A - 신규한 메모리 디바이스 - Google Patents

신규한 메모리 디바이스 Download PDF

Info

Publication number
KR20190086355A
KR20190086355A KR1020180162202A KR20180162202A KR20190086355A KR 20190086355 A KR20190086355 A KR 20190086355A KR 1020180162202 A KR1020180162202 A KR 1020180162202A KR 20180162202 A KR20180162202 A KR 20180162202A KR 20190086355 A KR20190086355 A KR 20190086355A
Authority
KR
South Korea
Prior art keywords
data
data word
memory
word sets
words
Prior art date
Application number
KR1020180162202A
Other languages
English (en)
Other versions
KR102233077B1 (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 KR20190086355A publication Critical patent/KR20190086355A/ko
Application granted granted Critical
Publication of KR102233077B1 publication Critical patent/KR102233077B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

방법은 각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하는 단계와, 상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록된 것은 아니다라는 결정에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하는 단계와, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 데이터 비트의 서브세트를 동시에 재기록하는 단계를 포함하고, 상기 데이터 비트의 서브세트는 상기 복수의 데이터 워드 세트의 각각의 데이터 워드 세트에 포함된다.

Description

신규한 메모리 디바이스{NOVEL MEMORY DEVICE}
<관련 출원과의 상호 참조>
본 출원은 2018년 1월 12일에 출원한 미국 가출원 일련번호 제62/616,985호에 대해 우선권을 주장하며, 이 우선권 출원은 그 전체가 참조로써 본 명세서에 포함된다.
<배경>
메모리 디바이스는 몇몇 예만 거론하여 컴퓨터, 셀 폰, 태블릿, 데이터 로거(data logger), 및 내비게이션 장비와 같은 다종의 전자 디바이스에 일반적으로 채택되고 있다. 대개, 이와 같은 메모리 디바이스에 정보를 데이터 비트로서 저장하기 위해 기록 동작이 이용될 수 있다. 일부 경우에, 메모리 디바이스의 각각의 메모리 비트 셀에 기록되도록 구성되는 복수의 데이터 비트를 각각 포함하는 복수의 데이터 워드가 있을 수 있다. 경우에 따라서는 각각의 기록 동작이 실패할 수도 있다. 예를 들면, 복수의 데이터 워드의 하나 이상의 데이터 비트는 구성된 메모리 비트 셀에 정확하게 기록될 수 없다. 이러한 데이터 비트는 통상 결함 데이터 비트(failed data bit)로 칭해진다.
이러한 결함 데이터 비트를 치유하기 위해, 기존의 메모리 디바이스에 사용되는 기술은 통상 단일 "워드" 단위로 결함 데이터 비트를 재기록하는 1회 이상의 반복에 의존한다. 예를 들면, 제1 워드에 포함된 결함 데이터 비트가 각각 구성된 메모리 비트 셀에 재기록되고, 제2 워드에 포함된 결함 데이터 비트가 각각 구성된 메모리 비트 셀에 재기록되는 등등, 이것은 시간 및 전력 소모적이다. 이에, 기존의 데이터 비트를 저장하는 방법과 메모리 디바이스는 완전히 만족스럽지는 못하다.
본 개시내용의 양태들은 첨부 도면을 참조한 이하의 상세한 설명으로부터 가장 잘 이해된다. 다양한 피처가 반드시 비율에 따라 작도된 것이 아님을 알아야 한다. 사실상, 다양한 피처의 치수는 설명의 편의상 임의대로 확대 또는 축소될 수 있다.
도 1은 일부 실시형태에 따른 메모리 디바이스의 예시적인 블록도를 도시한다.
도 2a는 일부 실시형태에 따른 도 1의 메모리 디바이스의 일부의 예시적인 개략도를 도시한다.
도 2b는 일부 실시형태에 따른 도 1의 메모리 디바이스의 다른 부분의 예시적인 개략도를 도시한다.
도 3은 다양한 실시형태에 따라, 도 1의 메모리 디바이스를 동작시키는 예시적인 방법의 흐름도를 도시한다.
도 4는 일부 실시형태에 따른 도 3의 방법을 수행하기 위한 컴퓨터 시스템의 블록도를 도시한다.
이하의 개시내용에서는 청구 대상의 상이한 특징을 구현하기 위한 다양한 예시적인 실시형태를 설명한다. 본 개시내용을 단순화하기 위해 구성요소 및 구성의 특정 실시예에 대해 후술한다. 물론 이들은 예시일 뿐이며, 한정되는 것을 목적으로 하지 않는다. 예를 들어, 한 요소가 다른 요소에 "접속" 또는 "연결"되는 것으로 설명할 경우, 그 한 요소는 그 다른 요소에 직접 접속 또는 연결될 수도 있고 또는 하나 이상의 개재 요소가 존재할 수도 있음이 이해될 것이다.
본 개시내용은, 데이터 워드 그룹 단위로 하나 이상의 결함 데이터 비트를 각각 구성된 메모리 비트 셀에 재기록하도록 구성된 제어 로직 회로를 포함하는 메모리 디바이스의 다양한 실시형태를 제공한다. 일부 실시형태에 있어서, 제어 로직 회로는, 각각 복수의 데이터 비트를 포함하는 복수의 데이터 워드 중에 하나 이상의 결함 데이터 비트가 존재한다는 결정에 응답하여, 복수의 데이터 워드에 대해 그룹핑 동작을 개시할 수 있다. 예를 들어, 제어 로직 회로는, 제1 수의 데이터 워드를 갖는 복수의 데이터 워드를, 제2 수의 데이터 워드 세트를 갖는 복수의 데이터 워드 세트로서 그룹핑하도록 구성되며, 제2 수는 제1 수보다 작다. 일부 실시형태에 따르면, 제어 로직 회로는 각각의 데이터 워드 세트가 임의의 결함 데이터 비트를 포함하는지를 반복적으로 체크하며, 포함한다면, 결함 데이터 비트를 구성된 메모리 비트 셀에 재기록한다.
일부 실시형태에서, 각각의 단일 워드가 아니라 데이터 워드 단위로 결함 데이터 비트를 재기록함으로써 다양한 효과를 얻을 수 있다. 예를 들어, 일반적으로, 각 워드의 데이터 비트의 총수와 비교해서 결함 데이터 비트 수는 상대적으로 작기 때문에(예컨대, 약 1 ppm(part per million)의 범위 내), 각각의 데이터 워드 세트로 그룹핑된 결함 데이터 비트를 재기록하는 것은 시간 및 전력면에서 더 효율적일 수 있다. 또한, 보다 효율적인 재기록 동작 때문에, 최초 기록 동작에 대해 더 많은 내오류성이 허용된다. 이와 같이, 개시하는 메모리 디바이스의 메모리 비트 셀에 인가되는 최초 기록 신호의 크기가 실질적으로 저감되어, 메모리 비트 셀의 각각의 내구한계(endurance)를 유리하게 향상시킬 수 있다.
도 1은 본 개시내용의 다양한 실시형태에 따른 예시적인 메모리 디바이스(100)의 블록도를 도시한다. 도시한 바와 같이, 메모리 디바이스(100)는 제어 로직 회로(102), 복수의 메모리 뱅크(104, 106, 108, 및 110), 및 버퍼 회로(120)를 포함한다. 도 1의 예시적인 실시형태에는 메모리 디바이스(100)가 4개의 메모리 뱅크(104 내지 110)를 포함하는 것으로 도시하지만, 메모리 디바이스(100)는 임의의 원하는 수의 메모리 뱅크를 포함할 수 있으며, 이 역시 본 개시내용의 범위에 속하는 것임이 이해될 것이다.
일부 실시형태에서, 메모리 뱅크(104 내지 110)에 연결되는 제어 로직 회로(102)는 표준 인터페이스(도시 생략)를 통해, 각각 복수의 데이터 비트를 포함하는 복수의 데이터 워드를 수신하여, 이러한 복수의 데이터 워드를 메모리 뱅크(104 내지 110)의 각각의 메모리 비트 셀에 기록하도록 구성된다. 또한, 복수의 데이터 워드를 수신할 때에, 제어 로직 회로(102)는 복수의 데이터 워드의 데이터 비트의 각각의 논리 어드레스를 수신할 수도 있다. 논리 어드레스에 기초하여, 제어 로직 회로(102)는 복수의 데이터 워드의 각각의 데이터 비트를 메모리 뱅크(104 내지 110) 상의 각각의 메모리 비트 셀에 기록(즉, 복수의 데이터 워드의 데이터 비트를 각각의 물리 어드레스에 기록)할 수 있다. 하나 이상의 데이터 비트가 그렇게 구성된 어드레스로 각각의 메모리 비트 셀에 정확하게 기록되지 못할 경우(이하, "결함 데이트 비트"라고 함), 제어 로직 회로(102)는 이하에 더 자세하게 설명하겠지만, 데이터 워드 그룹 단위를 이용하여 하나 이상의 결함 데이터 비트를 각각의 메모리 비트 셀에 재기록하는 그룹핑 동작을 수행할 수 있다.
일부 실시형태에 있어서, 통상 캐시 메모리라고 칭해지는 버퍼 회로(120)는 제어 로직 회로(102)에 연결되고, 예컨대 플래시 메모리 셀, C-RAM(chalcogenide random access memory) 셀, 상변화 RAM(PC-RAM 또는 PRAM) 셀, 프로그래머블 금속화 셀 RAM(PMC-RAM 또는 PMCm) 셀, OUM(ovonic unified memory) 셀, 레지스턴스 RAM(RRAM) 셀, 강유전체 메모리(FeRAM) 셀 등의 복수의 비휘발성 메모리, 또는 예컨대 스태틱 RAM(SRAM) 셀, 다이내믹 RAM(DRAM) 셀 등의 휘발성 메모리를 포함한다. 버퍼 회로(120)의 이러한 메모리 셀은 온칩 메모리 셀(즉, 메모리 뱅크(104-110)와 동일한 칩 상에 형성) 또는 오프칩 메모리 셀(즉, 메모리 뱅크(104-110)와는 상이한 칩 상에 형성)로서 형성될 수 있다. 일부 실시형태에서, 제어 로직 회로(102)는 버퍼 회로(120)에 다양한 유형의 데이터를, 예컨대 이하에 후술하겠지만, 전술한 결함 데이터 비트의 매핑을 저장할 수 있다.
전술한 바와 같이, 각각의 메모리 뱅크(104 내지 110)는 각각의 복수의 메모리 비트 셀을 포함한다. 일부 실시형태에서, 각각의 복수의 메모리 비트 셀은 컬럼-로우 구성으로 배열되며, 각각의 메모리 비트 셀은 컬럼을 형성하는 비트 라인(BL)과 로우를 형성하는 워드 라인(WL)의 각각의 교차점에 배치된다. 또한, 각각의 메모리 뱅크(104 내지 110)는 각각의 로우 선택 회로, 컬럼 선택 회로, 및 기록 드라이버를 포함한다. 도 2a와 도 2b는 일부 실시형태에 따라 메모리 뱅크(104 내지 110)의 각각의 개략적 도면을 도시한다.
도 2a를 참조하면, 메모리 뱅크(104 및 106)의 개략적 도면이 각각 도시되고 있다. 메모리 뱅크(104)는 어레이(104A)로서 형성되는 메모리 비트 셀(104-1, 104-2, 104-3, 104-4, 104-5, 104-6, 104-7, 104-8, 104-9, 104-10, 104-11, 104-12, 104-13, 104-14, 104-15, 및 104-16), 로우 선택 회로(통상, 로우 멀티플렉서 회로라고 칭함)(104RM), 컬럼 선택 회로(통상, 컬럼 멀티플렉서 회로라고 칭함(104CM), 및 기록 드라이버 회로(104WD)를 포함한다. 후술하겠지만, 로우 선택 회로(104RM) 및 컬럼 선택 회로(104CM) 각각은 각각의 BL 또는 WL를 통해 대응하는 메모리 비트 셀에 연결되는 복수의 컴포넌트를 포함한다. 도 2a의 예시하는 실시형태에는, 메모리 뱅크(104)가 16개의 메모리 비트 셀을 갖는 것으로 도시하고 있지만, 메모리 뱅크(104)의 메모리 어레이(104A)는 임의의 원하는 수의 메모리 비트 셀을 가질 수 있으며, 이 역시 본 개시내용의 범위에 속한다. 또한, 도 2a는 예시적인 실시형태를 도시할 뿐이며, 메모리 뱅크(104)는 당업계에 공지된 다른 메모리 회로, 예컨대 감지 증폭기, 프리차징 회로 등을 이용할 수 있으며, 이 역시 본 개시내용의 범위에 속하는 것임이 이해될 것이다.
도시하는 바와 같이, 메모리 비트 셀(104-1)은 제1 컬럼을 따라 배열된 BL(130)과 제1 로우를 따라 배열된 WL(138)의 교차점에 배치되고, 메모리 비트 셀(104-2)은 제2 컬럼을 따라 배열된 BL(132)과 제1 로우를 따라 배열된 WL(138)의 교차점에 배치되며, 메모리 비트 셀(104-3)은 제3 컬럼을 따라 배열된 BL(134)과 제1 로우를 따라 배열된 WL(138)의 교차점에 배치되고, 메모리 비트 셀(104-4)은 제4 컬럼을 따라 배열된 BL(136)과 제1 로우를 따라 배열된 WL(138)의 교차점에 배치되고, 메모리 비트 셀(104-5)은 제1 컬럼을 따라 배열된 BL(130)과 제2 로우를 따라 배열된 WL(140)의 교차점에 배치되며, 메모리 비트 셀(104-6)은 제2 컬럼을 따라 배열된 BL(132)과 제2 로우를 따라 배열된 WL(140)의 교차점에 배치되고, 메모리 비트 셀(104-7)은 제3 컬럼을 따라 배열된 BL(134)과 제2 로우를 따라 배열된 WL(140)의 교차점에 배치되며, 메모리 비트 셀(104-8)은 제4 컬럼을 따라 배열된 BL(136)과 제2 로우를 따라 배열된 WL(140)의 교차점에 배치되고, 메모리 비트 셀(104-9)은 제1 컬럼을 따라 배열된 BL(130)과 제3 로우를 따라 배열된 WL(142)의 교차점에 배치되며, 메모리 비트 셀(104-10)은 제2 컬럼을 따라 배열된 BL(132)과 제3 로우를 따라 배열된 WL(142)의 교차점에 배치되고, 메모리 비트 셀(104-11)은 제3 컬럼을 따라 배열된 BL(134)과 제3 로우를 따라 배열된 WL(142)의 교차점에 배치되며, 메모리 비트 셀(104-12)은 제4 컬럼을 따라 배열된 BL(136)과 제3 로우를 따라 배열된 WL(142)의 교차점에 배치되고, 메모리 비트 셀(104-13)은 제1 컬럼을 따라 배열된 BL(130)과 제4 로우를 따라 배열된 WL(144)의 교차점에 배치되며, 메모리 비트 셀(104-14)은 제2 컬럼을 따라 배열된 BL(132)과 제4 로우를 따라 배열된 WL(144)의 교차점에 배치되며, 메모리 비트 셀(104-15)은 제3 컬럼을 따라 배열된 BL(134)과 제4 로우를 따라 배열된 WL(144)의 교차점에 배치되고, 메모리 비트 셀(104-16)은 제4 컬럼을 따라 배열된 BL(136)과 제4 로우를 따라 배열된 WL(144)의 교차점에 배치된다.
메모리 어레이(104A)의 제1 로우를 따라, 메모리 비트 셀(104-1 내지 104-4)은 WL(138)을 통해 로우 선택 회로(104RM)의 제1 컴포넌트(104RM-1)에 연결되고, 메모리 어레이(104A)의 제2 로우를 따라, 메모리 비트 셀(104-5 내지 104-8)은 WL(140)을 통해 로우 선택 회로(104RM)의 제2 컴포넌트(104RM-2)에 연결되며, 메모리 어레이(104A)의 제1 로우를 따라, 메모리 비트 셀(104-9 내지 104-12)은 WL(142)을 통해 로우 선택 회로(104RM)의 제3 컴포넌트(104RM-3)에 연결되고, 메모리 어레이(104A)의 제4 로우를 따라, 메모리 비트 셀(104-13 내지 104-16)은 WL(144)을 통해 로우 선택 회로(104RM)의 제4 컴포넌트(104RM-4)에 연결된다. 일부 실시형태에 있어서, 각각의 컴포넌트(104RM-1 내지 104RM-4)는 예컨대, 게이티드 래치, 전송 게이트 등의, 제어 신호에 기초하여 신호를 통과시키도록 구성되는 당업계에 공지된 다양한 패스 게이트 트랜지스터 중 임의의 것에 의해 구현될 수 있다.
메모리 어레이(104A)의 제1 컬럼을 따라, 메모리 비트 셀(104-1, 104-5, 104-9, 및 104-13)은 BL(130)을 통해 로우 선택 회로(104CM)의 제1 컴포넌트(104CM-1)에 연결되고, 메모리 어레이(104A)의 제2 컬럼을 따라, 메모리 비트 셀(104-2, 104-6, 104-10, 및 104-14)은 BL(132)을 통해 컬럼 선택 회로(104C)의 제2 컴포넌트(104CM-2)에 연결되며, 메모리 어레이(104A)의 제3 컬럼을 따라, 메모리 비트 셀(104-3, 104-7, 104-11, 및 104-15)은 BL(134)을 통해 컬럼 선택 회로(104CM)의 제3 컴포넌트(104CM-3)에 연결되고, 메모리 어레이(104A)의 제4 컬럼을 따라, 메모리 비트 셀(104-4, 104-8, 104-12, 및 104-16)은 BL(136)을 통해 컬럼 선택 회로(104CM)의 제4 컴포넌트(104CM-4)에 연결된다. 마찬가지로, 일부 실시형태에 있어서, 각각의 컴포넌트(104CM-1 내지 104CM-4)는 예컨대, 게이티드 래치, 전송 게이트 등의, 제어 신호에 기초하여 신호를 통과시키도록 구성되는 당업계에 공지된 다양한 패스 게이트 트랜지스터 중 임의의 것에 의해 구현될 수 있다.
컬럼 방향을 따라, 메모리 비트 셀은 또한 각각의 BL을 통해 기록 드라이버 회로(104WD)에도 연결된다. 예를 들어, 메모리 어레이(104A)의 제1 컬럼을 따라, 메모리 비트 셀(104-1, 104-5, 104-9, 및 104-13)은 BL(130)을 통해 기록 드라이버 회로(104RM)에 연결되고, 메모리 어레이(104A)의 제2 컬럼을 따라, 메모리 비트 셀(104-2, 104-6, 104-10, 및 104-14)은 BL(132)을 통해 기록 드라이버 회로(104WD)에 연결되며, 메모리 어레이(104A)의 제3 컬럼을 따라, 메모리 비트 셀(104-3, 104-7, 104-11, 및 104-15)은 BL(134)을 통해 기록 드라이버 회로(104WD)에 연결되고, 메모리 어레이(104A)의 제4 컬럼을 따라, 메모리 비트 셀(104-4, 104-8, 104-12, 및 104-16)은 BL(136)을 통해 기록 드라이버 회로(104WD)에 연결된다. 일부 실시형태에서, 기록 드리이버 회로(104WD)는 기록 신호(예컨대, 전압 신호)를 어서트된(asserted) BL에 제공하도록 구성되는 당업계에 공지된 복수의 로직 게이트 및/또는 트랜지스터의 조합에 의해 구현될 수 있다.
메모리 뱅크(104)의 구성과 마찬가지로, 메모리 뱅크(106)는, 어레이(106A)로서 형성되며, 각각 BL과 WL, 예컨대, BL(146, 148, 150, 및 152) 중 하나와 WL(154, 156, 158, 및 160) 중 하나의 교차점에 배치되는 메모리 비트 셀(106-1, 106-2, 106-3, 106-4, 106-5, 106-6, 106-7, 106-8, 106-9, 106-10, 106-11, 106-12, 106-13, 106-14, 106-15, 및 106-16)과, 로우 선택 회로(106RM), 컬럼 선택 회로(106CM), 기록 드라이버 회로(106WD)를 포함한다. 또한, 로우 선택 회로(106RM)는, 각각, 대응하는 WL을 통해 메모리 어레이(106A)의 각각의 메모리 비트 셀에 연결되는 4개의 컴포넌트(106RM-1, 106RM-2, 106RM-3, 및 106RM-4)도 포함하고, 컬럼 선택 회로(106CM)는, 각각, 대응하는 BL을 통해 메모리 어레이(106A)의 각각의 메모리 비트 셀에 연결되는 4개의 컴포넌트(106CM-1, 106CM-2, 106CM-3, 및 106CM-4)도 포함한다. 로우 선택 회로(106RM)와 컬럼 선택 회로(106CM), 및 기록 드라이버 회로(106WD)는 전술한 로우 선택 회로(104RM), 컬럼 선택 회로(104CM), 및 기록 드라이버 회로(104WD) 각각과 실질적으로 유사하므로, 로우 선택 회로(106RM), 컬럼 선택 회로(106CM), 및 기록 드라이버 회로 (106Wd)의 설명은 또 반복하지 않는다.
도 2b를 참조하면, 메모리 뱅크(108 및 110)는 각각 메모리 뱅크(104 및 106)(도 2a)와 실질적으로 유사한다. 이에, 메모리 뱅크(108 및 110)에 대해 다음과 같이 간략하게 설명한다. 예를 들어, 메모리 뱅크(108)는, 어레이(108A)로서 형구성되며, 각각 BL과 WL, 예컨대, BL(162, 164, 166, 및 168) 중 하나와 WL(170, 172, 174, 및 176) 중 하나의 교차점에 배치되는 메모리 비트 셀(108-1, 108-2, 108-3, 108-4, 108-5, 108-6, 108-7, 108-8, 108-9, 108-10, 108-11, 108-12, 108-13, 108-14, 108-15, 및 108-16)과, 로우 선택 회로(108RM), 컬럼 선택 회로(108CM), 기록 드라이버 회로(108WD)를 포함하고, 메모리 뱅크(110)는, 어레이(110A)로서 형성되며, 각각 BL과 WL, 예컨대, BL(178, 180, 182, 및 184) 중 하나와 WL(186, 188, 190, 및 192) 중 하나의 교차점에 배치되는 메모리 비트 셀(110-1, 110-2, 110-3, 110-4, 110-5, 110-6, 110-7, 110-8, 110-9, 110-10, 110-11, 110-12, 110-13, 110-14, 110-15, 및 110-16)을 포함한다. 또한, 메모리 뱅크(108)에서, 로우 선택 회로(108RM)는, 각각 전술한 로우 선택 회로(104RM)(도 2a)의 전술한 컴포넌트와 실질적으로 유사한 4개의 컴포넌트(108RM-1, 108RM-2, 108RM-3, 및 108RM-4)도 포함하고, 컬럼 선택 회로(108CM)는, 각각 전술한 컬럼 선택 회로(104CM)(도 2a)의 전술한 컴포넌트와 실질적으로 유사한 4개의 컴포넌트(108CM-1, 108CM-2, 108CM-3, 및 108CM-4)도 포함한다. 메모리 뱅크(110)에서, 로우 선택 회로(110RM)는, 각각 전술한 로우 선택 회로(104RM)(도 2a)의 전술한 컴포넌트와 실질적으로 유사한 4개의 컴포넌트(110RM-1, 110RM-2, 110RM-3, 및 110RM-4)도 포함하고, 컬럼 선택 회로(110CM)는, 각각 전술한 컬럼 선택 회로(104CM)(도 2a)의 전술한 컴포넌트와 실질적으로 유사한 4개의 컴포넌트(110CM-1, 110CM-2, 110CM-3, 및 110CM-4)도 포함한다.
전술한 바와 같이, 로우 선택 회로(104RM, 106RM, 108RM, 및 110RM)의 각각의 컴포넌트는 일부 실시형태에 따라, 제어 신호에 기초하여 신호를 통과시키도록 구성된다. 보다 구체적으로, 로우 선택 회로(104RM, 106RM, 108RM, 및 110RM)의 각각의 컴포넌트는 제어 로직 회로(102)가 제공하는 제어 신호가 나타내는 어드레스 정보에 기초하여 신호를 통과시킴으로써, 연결된 WL 중 적어도 하나를 어서트하도록 구성된다. 마찬가지로, 컬럼 선택 회로(104CM, 106CM, 108CM, 및 110CM)의 각각의 컴포넌트도 역시 전술한 어드레스 정보에 기초하여, 연결된 BL 중 적어도 하나를 어서트하도록 구성된다.
일부 실시형태에서, 이러한 어드레스 정보는 WL(138 내지 144, 154 내지 160, 170 내지 176, 및 186 내지 192) 중 어서트된 것과 BL(130 내지 136, 146 내지 152, 162 내지 168, 및 178 내지 184) 중 어서트된 것을 각각 포함할 수 있다. 따라서, 로우 선택 회로(104RM)는 대응하는 컴포넌트(예컨대, 컴포넌트(104RM-1 내지 104RM-4) 중 하나)를 활성화함으로써, WL(138 내지 144) 중 하나를 어서트하여, 어서트된 WL를 따라 배치되는 메모리 어레이(104A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있고, 로우 선택 회로(106RM)는 대응하는 컴포넌트(예컨대, 컴포넌트(106RM-1 내지 106RM-4) 중 하나)를 활성화함으로써, WL(154 내지 160) 중 하나를 어서트하여, 어서트된 WL를 따라 배치되는 메모리 어레이(106A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있고, 로우 선택 회로(108RM)는 대응하는 컴포넌트(예컨대, 컴포넌트(108RM-1 내지 108RM-4) 중 하나)를 활성화함으로써, WL(170 내지 176) 중 하나를 어서트하여, 어서트된 WL를 따라 배치되는 메모리 어레이(108A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있으며, 로우 선택 회로(110RM)는 대응하는 컴포넌트(예컨대, 컴포넌트(110RM-1 내지 110RM-4) 중 하나)를 활성화함으로써, WL(186 내지 192) 중 하나를 어서트하여, 어서트된 WL를 따라 배치되는 메모리 어레이(110A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있다.
또, 컬럼 선택 회로(104CM)는 대응하는 컴포넌트(예컨대, 컴포넌트(104CM-1 내지 104CM-4) 중 하나)를 활성화함으로써, BL(130 내지 136) 중 하나를 어서트하여, 어서트된 BL를 따라 배치되는 메모리 어레이(104A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있고, 컬럼 선택 회로(106CM)는 대응하는 컴포넌트(예컨대, 컴포넌트(106CM-1 내지 106CM-4) 중 하나)를 활성화함으로써, BL(146 내지 152) 중 하나를 어서트하여, 어서트된 BL를 따라 배치되는 메모리 어레이(106A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있고, 컬럼 선택 회로(108CM)는 대응하는 컴포넌트(예컨대, 컴포넌트(108CM-1 내지 108CM-4) 중 하나)를 활성화함으로써, BL(162 내지 168) 중 하나를 어서트하여, 어서트된 BL를 따라 배치되는 메모리 어레이(108A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있으며, 컬럼 선택 회로(110CM)는 대응하는 컴포넌트(예컨대, 컴포넌트(110CM-1 내지 110CM-4) 중 하나)를 활성화함으로써, BL(178 내지 184) 중 하나를 어서트하여, 어서트된 BL를 따라 배치되는 메모리 어레이(110A)의 메모리 비트 셀이 액세스되게(예컨대, 판독 또는 기록되게) 할 수 있다.
도 3은 다양한 실시형태에 따라, 하나 이상의 결함 데이터 비트를 각각 구성된 메모리 비트 셀에 데이터 워드 그룹의 단위로 재기록하는 예시적인 방법의 흐름도를 나타낸다. 다양한 실시형태에서, 방법(300)의 단계들은 도 1 내지 도 2b에 도시하는 각각의 컴포넌트에 의해 수행된다. 설명을 위해, 방법(300)의 다음의 실시형태는 도 1 내지 도 2b와 함께 설명될 것이다. 도시하는 방법(300)의 실시형태는 예시일 뿐이다. 이에, 다양한 단계들 중 일부가 생략, 재배열, 및/또는 추가될 수 있으며, 이 역시 본 개시내용의 범위에 속하는 것임이 이해될 것이다.
방법(300)은 각각 복수의 데이터 비트를 포함하는 제1 복수의 데이터 워드를 각각의 메모리 비트 셀에 기록하는 단계 302에서 시작된다. 일부 실시형태에서, 데이터 워드의 데이터 비트의 각 수는 서로 같을 수도 상이할 수도 있다.
예를 들어, 제어 로직 회로(102)는 5개의 데이터 워드를 수신할 수 있는데, 제1 데이터 워드, 제2 데이터 워드, 제3 데이터 워드, 제4 데이터 워드, 제5 데이터 워드 각각은 복수의 데이터 비트(예컨대, 편의상 4 데이터 비트라 함)를 갖는다. 또한, 전술한 바와 같이, 제어 로직 회로(102)가 5 데이터 워드를 수신할 때에, 5 데이터 워드의 각각의 데이터 비트는 메모리 어레이(104A-110A)의 1 메모리 비트 셀의 물리 어드레스(즉, BL과 WL의 교차점)에 매핑될 수 있는 대응하는 논리 어드레스와 연관될 수 있다. 이어서 제어 로직 회로(102)는 각각의 논리 어드레스를 이용하여 5 데이터 워드의 데이터 비트를 메모리 비트 셀에 기록한다.
보다 구체적으로, 제1 데이터 워드의 4 데이터 비트는 메모리 어레이(104A)(도 2a에 도시)의 메모리 비트 셀(104-1, 104-2, 104-3, 및 104-4)에 기록되도록 각각 구성될 수 있고, 제2 데이터 워드의 4 데이터 비트는 메모리 어레이(108A)(도 2b에 도시)의 메모리 비트 셀(108-5, 108-6, 108-7, 및 108-8)에 기록되도록 각각 구성될 수 있으며, 제3 데이터 워드의 4 데이터 비트는 메모리 어레이(108A)(도 2b에 도시)의 메모리 비트 셀(108-9, 108-10, 108-11, 및 108-12)에 기록되도록 각각 구성될 수 있고, 제4 데이터 워드의 4 데이터 비트는 메모리 어레이(110)(도 2b에 도시)의 메모리 비트 셀(110-9, 110-10, 110-11, 및 110-12)에 기록되도록 각각 구성될 수 있으며, 제5 데이터 워드의 4 데이터 비트는 메모리 어레이(110)(도 2b에 도시)의 메모리 비트 셀(110-13, 110-14, 110-15, 및 110-16)에 기록되도록 각각 구성될 수 있다.
따라서, 제어 로직 회로(102)는 로우 선택 회로(104RM)가 컴포넌트(104RM-1)를 활성화하게 하여 WL(138)를 어서트하고, 컬럼 선택 회로(104CM)가 컴포넌트(104CM-1 내지 104CM-4)를 각각 또는 일괄적으로 활성화하게 하여 BL(130 내지 136)을 어서트함으로써 제1 데이터 워드의 데이터 비트가 메모리 비트 셀(104-1 내지 104-4)에 각각 기록되게 할 수 있다. 마찬가지로, 제어 로직 회로(102)는 로우 선택 회로(108RM)가 컴포넌트(108RM-2)를 활성화하게 하여 WL(172)를 어서트하고 컬럼 선택 회로(108CM)가 컴포넌트(108CM-1 내지 108CM-4)를 각각 또는 일괄적으로 활성화하게 하여 BL(162 내지 168)를 어서트함으로써 제2 데이터 워드의 데이터 비트가 메모리 비트 셀(108-5 내지 108-8)에 각각 기록되게 할 수 있고, 제어 로직 회로(102)는 로우 선택 회로(108RM)가 컴포넌트(108RM-3)를 활성화하게 하여 WL(174)를 어서트하고 컬럼 선택 회로(108CM)가 컴포넌트(108CM-1 내지 108CM-4)를 각각 또는 일괄적으로 활성화하게 하여 BL(162 내지 168)를 어서트함으로써 제3 데이터 워드의 데이터 비트가 메모리 비트 셀(108-9 내지 108-12)에 각각 기록되게 할 수 있으며, 제어 로직 회로(102)는 로우 선택 회로(110RM)가 컴포넌트(108RM-3)를 활성화하게 하여 WL(190)를 어서트하고 컬럼 선택 회로(108CM)가 컴포넌트(108CM-1 내지 108CM-4)를 각각 또는 일괄적으로 활성화하게 하여 BL(178 내지 184)를 어서트함으로써 제4 데이터 워드의 데이터 비트가 메모리 비트 셀(110-9 내지 110-12)에 각각 기록되게 할 수 있으며, 제어 로직 회로(102)는 로우 선택 회로(110RM)가 컴포넌트(110RM-4)를 활성화하게 하여 WL(192)를 어서트하고 컬럼 선택 회로(110CM)가 컴포넌트(110CM-1 내지 110CM-4)를 각각 또는 일괄적으로 활성화하게 하여 BL(178 내지 184)를 어서트함으로써 제5 데이터 워드의 데이터 비트가 메모리 비트 셀(110-13 내지 110-16)에 각각 기록되게 할 수 있다.
방법(300)은 제1 복수의 데이터 워드의 모든 데이터 비트가 각각의 비트 셀에 정확하게 기록되는지의 여부를 결정하는 단계 304에서 계속된다. 전술한 예를 계속 참조하면, 제1 내지 제5 데이터 워드의 모든 데이터 비트를 각각의 구성된 메모리 비트 셀에 기록한 후에, 제어 로직 회로(102)는 전술한 바와 동일한 동작들에 이어서, 제1 내지 제5 데이터 워드가 기록되는 메모리 비트 셀의 각각의 WL과 BL을 어서트하고 하나 이상의 연결된 감지 증폭기(도시 생략)를 사용하여, 기록된 데이터 비트를 판독할 수 있다. 또한, 일부 실시형태에서, 제어 로직 회로(102)는, 제어 로직 회로(102)가 메모리 비트 셀에 기록하려고 하는 제1 내지 제5 데이터 워드의 데이터 비트의 각각의 논리 상태(즉, 단계 302에서 제어 로직 회로(102)가 수신한 제1 내지 제5 데이터 워드의 데이터 비트의 각각의 논리 상태)를, 메모리 비트 셀로부터 판독된 논리 상태와 비교할 수 있다. 일부 실시형태에서, 제1 내지 제5 데이터 워드의 데이터 비트의 판독된 논리 상태 모두가 각각의 목표 논리 상태와 일치하면(즉, 제1 복수의 데이터 워드의 모든 데이터 비드가 각각의 메모리 비트 셀에 정확하게 기록되면), 방법(300)은 기록 동작이 종료되는 단계 306으로 이행한다.
한편, 제1 내지 제5 데이터 워드의 하나 이상의 데이터 비트의 판독된 논리 상태가 각각의 목표 논리 상태와 일치하지 않으면, 이들 데이터 비트는 제어 로직 회로(102)에 의해, 전술한 바와 같이, 결함 데이터 비트로서 분류될 수 있다. 이 경우(즉, 제1 복수의 데이터 워드의 모든 데이터 비트가 각각의 메모리 비트 셀에 정확하게 기록된 것은 아닌 경우), 방법(300)은 이러한 결함 데이터 비트의 정보를 버퍼 회로에 저장(record)하는 단계 308로 이행한다. 일부 실시형태에서, 전술한 결함 데이터 비트의 정보는 데이터 워드 중, 각각의 결함 데이터 비트가 속하는 데이터 워드와, 이러한 결함 데이터 비트의 매핑을 포함할 수 있다. 매핑은 결함 데이터 비트 각각이 기록되도록 구성되는 장소(즉, 물리 어드레스)를 포함할 수 있다.
앞의 예를 계속 참조하면, 단계 304의 비교를 수행한 후에, 제어 로직 회로(102)는 제1 데이터 워드의 제3 데이터 비트, 제2 데이터 워드의 제3 데이터 비트, 제3 데이터 워드의 제3 데이터 비트, 및 제4 데이터 워드의 제1 데이터 비트가 결함 데이터 비트인 것을 결정할 수 있다. 다시 말해, 제5 데이터 워드를 제외한, 각 데이터 워드가 1 결함 데이터 비트를 가지며, 제어 로직 회로(102)는 5 데이터 워드 중 어느 것이 결함 데이터 비트를 갖는지를 나타내는 이러한 정보를 버퍼 회로(120)에 저장한다. 결함 데이터 비트의 식별에 후속하여 또는 동시에, 제어 로직 회로(102)는 결함 데이터 비트가 기록된 메모리 비트 셀의 각각의 물리 어드레스도 버퍼 회로(120)에 저장할 수 있다. 예를 들어, 제어 로직 회로(102)는 메모리 어레이(104A)의 제3 컬럼(BL(134))과 제1 로우(WL(138))의 교차점에 위치한 메모리 비트 셀(104-3)에 제1 데이터 워드의 제3 데이터 비트가 기록된 것과, 메모리 어레이(108A)의 제3 컬럼(BL(166))과 제2 로우(WL(172))의 교차점에 위치한 메모리 비트 셀(108-7)에 제2 데이터 워드의 제3 데이터 비트가 기록된 것과, 메모리 어레이(108A)의 제3 컬럼(BL(166))과 제3 로우(WL(174))의 교차점에 위치한 메모리 비트 셀(108-11)에 제3 데이터 워드의 제3 데이터 비트가 기록된 것과, 메모리 어레이(110A)의 제1 컬럼(BL(178))과 제3 로우(WL(190))의 교차점에 위치한 메모리 비트 셀(110-9)에 제4 데이터 워드의 제1 데이터 비트가 기록된 것을 저장할 수 있다.
다시 도 3을 참조하면, 제1 복수의 데이터 워드의 모든 데이터 비트가 각각의 메모리 비트 셀에 정확하게 기록된 것은 아니다라고 결정하는 단계(단계 304)와 결함 데이터 비트의 각각의 정보를 저장하는 단계(단계 308) 후에, 방법(300)은 제1 복수의 데이터 워드를 제2 복수의 데이터 워드 세트로서 그룹핑하는 단계 310에서 계속된다. 제1 복수의 데이터 워드 수를 나머지 없이 사이즈로 나눌 수 있다면, 각각의 데이터 워드 세트는 균등하게 나누어진 데이터 워드 수를 가질 수 있다. 한편, 제1 복수의 데이터 워드 수를 나머지 없이 사이즈로 나눌 수 없다면, 마지막 워드 세트를 제외한 모든 데이터 워드 세트는 균등하게 나누어진 데이터 워드 수를 가질 수 있다.
앞의 예를 계속해서 참조하며, 제어 로직 회로(102)는 데이터 워드 세트의 사이즈를 2로서 결정할 수 있고, 이는 전술한 후자의 경우를 반영한 것이다. 이와 같이, 제어 로직 회로(102)는 제1 및 제2 데이터 워드를 제1 데이터 워드 세트로서 그룹핑하고, 제3 및 제4 데이터 워드를 제2 데이터 워드 세트로서 그룹핑하며, 제5 데이터 워드를 제3 데이터 워드 세트로서 그룹핑할 수 있다. 일부 실시형태에서, 제어 로직 회로(102)는 결함 데이터 비트를 각각의 순서를 따라 각각의 데이터 워드 세트로 기록할 수 있는데, 즉 제1 데이터 워드 세트, 제2 데이터 워드 세트, 그리고 제3 데이터 워드 세트를 재기록할 수 있으며, 이에 대해서는 이하에서 자세하게 설명할 것이다. 이와 같이, 제3 데이터 워드 세트는 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트로서 간주될 수 있다. 그러나, 제어 로직 회로(102)는 결함 데이터 비트를 재기록하는 순서를 따르지 않을 수도 있는데, 이 역시 본 개시내용의 범위에 속한 것임이 이해될 것이다.
일부 대안적 실시형태에서, 데이터 워드 세트의 사이즈를 결정할 때에, 제어 로직 회로(102)는 결함 데이터 비트를 갖는 데이터 워드를 동일한 또는 제1 데이터 워드 세트로서 그룹핑하고, 이러한 제1 데이터 워드 세트에 포함된 결함 데이터 비트를 재기록하는 것을 우선할 수 있다. 제1 내지 제5 데이터 워드 중에서, 제1 및 제4 데이터 워드만이 결함 데이터 비트를 갖는 예에 있어서, 제어 로직 회로(102)는 제1 및 제4 데이터 워드를 제1 데이터 워드 비트로서 그룹핑하고, 어떠한 결함 데이터 비트도 없는 제2 및 제3 데이터 워드를 제2 데이터 워드 비트로서 그룹핑하며, 어떠한 결함 데이터 비트도 없는 제5 데이터 워드를 제3 데이터 워드 세트로서 그룹핑할 수 있다. 또, 제어 로직 회로(102)는 제1 데이터 워드 세트에 포함된 결함 데이터 비트를 재기록하는 것을 우선할 수 있다.
방법(300)은 제1 데이터 워드 세트를 선택하는 단계 312에서 계속된다. 일부 실시형태에서, 제1 복수의 데이터 워드를 그룹핑한 후에, 제어 로직 회로(102)는 전술한 바와 같이, 먼저 데이터 워드 세트를 그 순서에 따라 선택할 수 있다. 전술한 바와 같이, 제어 로직 회로(102)는 제1 및 제2 데이터 워드를 포함하는 제1 데이터 워드 세트를 선택할 수 있다.
방법(300)은 선택된 데이터 워드 세트가 결함 데이터 비트 중 임의의 것을 포함하는지의 여부를 결정하는 단계 314에서 계속된다. 전술한 예를 계속 참조하면, 제어 로직 회로(102)는, 단계 308에서, 제어 로직 회로(102)가 결함 데이터 비트 전체의 정보를 버퍼 회로(120)에 저장하기 때문에, 버퍼 회로(120)에 액세스함으로써, 선택된 데이터 워드 세트(예컨대, 제1 및 제2 데이터 워드를 포함하는 제1 데이터 워드 세트)가 결함 데이터 비트 중 임의의 것을 포함하는지의 여부를 결정할 수 있다.
일부 실시형태에 따르면, 결정 단계 314에서, 선택된 데이터 워드 세트가 결함 데이터 비트 중 하나 이상을 포함하면, 방법(300)은 선택된 데이터 워드 세트에 포함된 결함 데이터 비트를 각각의 구성된 메모리 비트 셀에 각각 재기록하는 단계 316으로 이행한 다음, 선택된 데이터 워드 세트가 제2 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지를 또한 결정하는 단계 318로 이행한다. 선택된 데이터 워드 세트가 제2 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트이면, 방법(300)은 다시, 제1 복수의 데이터 워드의 모든 데이터 비트가 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 결정하는 단계 304로 이행한다. 또는, 선택된 데이터 워드 세트가 제2 복수의 데이터 워드 세트 중 마지막 것이 아니라면, 방법(300)은 다음의 데이터 워드 세트를 선택하는 단계 320으로 이행한 다음, 단계 314로 되돌아간다.
한편, 결정 단계 314에서, 선택된 데이터 워드 세트가 어떠한 결함 데이터 비트도 포함하지 않으면, 방법(300)은 단계 316을 생략하고 바로 단계 318로 이행하여 선택된 데이터 워드 세트가 제2 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지를 또한 결정한다. 마찬가지로, 선택된 데이터 워드 세트가 제2 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트이면, 방법(300)은 다시, 제1 복수의 데이터 워드의 모든 데이터 비트가 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 결정하는 단계 304로 이행한다. 또는, 선택된 데이터 워드 세트가 제2 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트가 아니라면, 방법(300)은 다음의 데이터 워드 세트를 선택하는 단계 320으로 이행한 다음, 단계 314로 되돌아간다.
이와 같이, 방법(300)을 수행하면서 1회 이상의 반복 루프, 예컨대 단계 314에서 시작하여 단계 316, 318 및 320을 진행하고 단계 314로 되돌아가는 제1 반복 루프와, 단계 314에서 시작하여 단계 316, 318, 304, 308, 310 및 312를 진행하고 단계 314로 되돌아가는 제2 반복 루프와, 단계 314에서 시작하여 단계 318 및 320을 진행하고 단계 314로 되돌아가는 제3 반복 루프와, 단계 314에서 시작하여 단계 318, 304, 308, 310 및 320을 진행하고 단계 314로 되돌아가는 제4 반복 루프가 형성될 수 있다. 단계 316, 318, 및 320에 대해서는 이하에서 각각 상세하게 설명할 것이다.
제1 및 제2 데이터 워드를 포함하는 제1 데이터 워드 세트가 선택되는 앞의 예에 있어서(단계 312), 제1 및 제2 데이터 워드 둘 다에 결함 데이터 비트 중 적어도 하나가 있기 때문에(단계 314), 단계 316에서, 제어 로직 회로(102)는 일부 실시형태에 따라, 제1 및 제2 데이터 워드에 각각 포함되었지만 이제는 제1 데이터 워드 세트에 함께 그룹핑되는 결함 데이터 비트를, 각각의 구성된 메모리 비트 셀에 동시에 재기록할 수 있다. 보다 구체적으로, 제1 데이터 워드는 메모리 어레이(104A)의 메모리 비트 셀(104-2)에 기록되었던 1 결함 데이터 비트를 갖고, 제2 데이터 워드는 메모리 어레이(108)의 메모리 비트 셀(108-4)에 기록되었던 1 결함 데이터 비트를 갖는다. 일부 실시형태에서, 제어 로직 회로(102)는 컴포넌트(104RM-1)를 활성함으로써 메모리 비트 셀(104-3)의 액세스를 가능하게 하도록 WL(138)를 어서트하는 것과, 컴포넌트(108RM-2)를 활성화하여 메모리 비트 셀(108-7)의 액세스를 가능하게 하도록 WL(172)를 어스트하는 것을 동시에 행할 수 있다. 동시에 또는 후속으로, 제어 로직 회로(102)는 컴포넌트(104CM-3)를 활성화함으로써 BL(134)를 어서트하여 기록 드라이버 회로(104WD)가 제1 데이터 워드의 제3 데이터 비트의 목표 논리 상태를 메모리 비트 셀(104-3)에 재기록하게 하고, 컴포넌트(108CM-3)를 활성화함으로써 BL(166)를 어서트하여 기록 드라이버 회로(108WD)가 제3 데이터 워드의 제3 데이터 비트의 목표 논리 상태를 메모리 비트 셀(108-7)에 재기록하게 한다.
단계 318에서, 제어 로직 회로(102)는 제1 및 제2 데이터 워드를 포함하는 선택된 제1 데이터 워드 세트가 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지를 체크한다. 본 예에서는, 마지막 데이터 워드 세트가 제5 데이터 워드를 포함하는 제3 데이터 워드 세트이어야 하므로, 방법(300)은 제3 및 제4 데이터 워드를 포함하는 제2 데이터 워드 세트인 다음의 데이터 워드 세트를 선택하는 단계 320으로 이행한다. 그런 다음, 방법(300)은 결함 데이터 비트 중 임의의 것을 제2 데이터 워드 세트가 포함하는지의 여부를 결정하는 단계 314로 되돌아간다. (전술한 바와 같이) 제3 및 제4 데이터 워드 둘 다에 결함 데이터 비트 중 적어도 하나가 있기 때문에, 제어 로직 회로(102)는 전술한 원리를 따라, 각각 제3 및 제4 데이터 워드에 포함되었지만 이제는 제2 데이터 워드 세트로 함께 그룹핑된 결함 데이터 비트를 각각의 구성된 메모리 비트 셀(108-11 및 110-9)에 동시에 재기록하고, 제3 및 제4 데이터 워드를 포함하는 선택된 제2 데이터 워드 세트가 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지를 체크할 수 있다. 본 예에서, 제2 데이터 워드 세트가 여전히 마지막 데이터 워드 세트가 아니므로 방법(300)은 다음의 데이터 워드 세트, 즉 제5 데이터 워드를 포함하는 제3 데이터 워드 세트를 선택하는 단계 320으로 이행한 다음, 단계 314로 되돌아간다. 제3 데이터 워드 세트가 어떠한 결함 데이터 비트도 포함하지 않기 때문에, 방법(300)은 단계 318로 바로 이행하고, 제3 데이터 워드 세트가 마지막 데이터 워드 세트이기 때문에(단계 318에서 결정됨), 방법(300)은 제1 내지 제5 데이터 워드의 모든 데이터 비트가 각각의 구성된 메모리 비트 셀에 정확하게 기록되는지의 여부를 결정하는 단계 304로 또 이행한다. 마찬가지로, 제1 내지 제5 데이터 워드의 모든 데이터 비트가 각각의 구성된 메모리 비트 셀에 정확하게 기록되면, 기록 동작은 종료되고(단계 306), 여전히 하나 이상의 결함 데이터 비트가 존재하면, 이러한 결함 비트는, 단계 308 내지 312를 따라, 선택적으로 단계 314, 316, 318, 320, 및 314의 반복 루프, 단계 314, 318, 320, 및 314의 반복 루프, 또는 단계 314, 316, 318, 304, 308, 310, 312, 및 314의 반복 루프를 따라, 재기록될 것이다.
도 4는 일부 실시형태에 따른 컴퓨터 시스템(400)의 블록도이다. 도 1 내지 도 3을 참조하여 설명한 회로 및/또는 엔진 및/또는 시스템 및/또는 단계 중 하나 이상은 도 4의 하나 이상의 컴퓨터 시스템(400)에 의한 일부 실시형태에서 실현된다. 시스템(400)은 버스(404) 또는 기타 상호접속 통신 메커니즘을 통해 통신 가능하게 연결된 적어도 하나의 프로세서(401), 메모리(402), 네트워크 인터페이스(I/F)(406), 입출력(I/O) 디바이스(408), 및 저장 디바이스(410)를 포함한다.
메모리(402)는 일부 실시형태에서, 버스(404)에 연결되어, 프로세서(401)에 의해 실행되는 데이터 및/또는 명령어를 저장하는, 랜덤 액세스 메모리(RAM) 및/또는 다른 다이내믹 저장 디바이스 및/또는 리드 온리 메모리(ROM) 및/또는 다른 스태틱 저장 디바이스를 포함한다. 메모리(402)는 사용자 스페이스(412), 커널(414), 커널 및/또는 사용자 스페이스의 부분, 및 이들의 컴포넌트를 더 포함할 수 있다. 메모리(402)는 일부 실시형태에서, 프로세서(401)에 의해 실행되는 명령어의 실행 중에 임시 변수 또는 기타 중간 정보를 저장하는 데에도 사용된다. 다양한 실시형태에서, 메모리(402)는 단일 집적 회로 내에 포함될 수도, 또는 서로 동작 가능하게 결합되는 복수의 개별 메모리 디바이스를 포함할 수도 있다.
일부 실시형태에서, 자기 디스크 또는 광 디스크 등의 저장 디바이스(410)가 버스(404)에 연결되어 데이터 및/또는 명령어를 저장한다. I/O 디바이스(408)는 시스템(400)과의 사용자 인터랙션을 가능하게 하는, 입력 디바이스, 출력 디바이스 및/또는 조합형 입출력 디바이스를 포함한다. 입력 디바이스는 정보 및 커맨드를 프로세서(401)에 전달하기 위한, 예컨대 키보드, 키패드, 마우스, 트랙볼, 트랙패드, 및/또는 커서 방향 키를 포함한다. 출력 디바이스는 사용자에 정보를 전달하기 위한, 예컨대 디스플레이, 프린터, 음성 합성기 등을 포함한다.
일부 실시형태에서, 도 1 내지 도 3을 참조하여 설명한 회로 및/또는 엔진 및/또는 시스템의 하나 이상의 동작 및/또는 기능성은 이러한 동작 및/또는 기능성을 수행하도록 프로그래밍되는 프로세서(401)에 의해 실현된다. 일부 실시형태에서, 프로세서(401)는 특수하게 구성된 하드웨어(예컨대, 하나 이상의 ASIC(application specific integrated circuit))로서 구성된다. 다양한 실시형태에 따라, 프로세서(401)는 단일 집적 회로(IC) 내에서 또는 다수의 통신 가능하게 결합된 IC 및/또는 개별 회로로서 구현될 수도 있다. 프로세서(401)는 다양한 공지된 기술에 따라 구현될 수 있음이 이해될 것이다. 일 실시형태에서, 프로세서(401)는 예컨대 연관된 메모리에 저장된 명령어를 실행함으로써 여기에 설명하는 하나 이상의 기능 또는 프로세스를 수행하도록 구성 가능한 하나 이상의 회로 또는 유닛을 포함한다. 다른 실시형태에서, 프로세서(401)는 여기에 설명한 하나 이상의 기능 또는 프로세스를 수행하도록 구성된 펌웨어(예컨대, 개별 로직 컴포넌트)로서 구현될 수 있다. 예를 들어, 다양한 실시형태에 따라, 프로세서(401)는 여기에 설명한 기능을 수행하기 위해, 하나 이상의 컨트롤러, 마이크로프로세서, 마이크로컨트롤러, ASIC(application specific integrated circuit), 디지털 신호 프로세서, 프로그래머블 로직 디바이스, 필드 프로그래머블 게이트 어레이, 또는 이들 디바이스 또는 구조의 임의의 조합, 또는 다른 공지된 디바이스 및 구조를 포함할 수 있다.
메모리(402), I/F(406), 저장 디바이스(410), I/O 디바이스(408), 및 버스(404) 중 하나 이상은 프로세서(401)에 의한 프로세싱을 위해 명령어, 데이터, 디자인 제약, 디자인 룰, 넷리스트, 레이아웃, 모델 및/또는 기타 파라미터를 수신하도록 동작 가능하다.
일부 실시형태에서, 동작 및/또는 기능성은 비일시적 컴퓨터 판독 가능 기록 매체에 저장된 프로그램의 기능으로서 실현된다. 적어도 하나의 실시형태에서, 동작 및/또는 기능성은 메모리(402)에 저장된 실행 가능 명령어의 세트 등의 프로그램의 기능으로서 실현된다. 적어도 하나의 실시형태에서, IC 디자인은 여기에 설명된 하나 이상의 동작에 의한 액세스를 위해 비일시적 컴퓨터 판독 가능 기록 매체에 저장된다. 비일시적 컴퓨터 판독 가능 기록 매체의 예는 외장형/착탈형 및/또는 내장형/빌트인 저장 또는 메모리 유닛, 예를 들어 DVD 등의 하나 이상의 광 디스크, 하드 디스크 등의 자기 디스크, ROM, RAM, 메모리 카드 등의 반도체 메모리를 포함하나, 이들에 한정되지 않는다.
일 실시형태에 있어서, 방법은, 각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하는 단계와, 상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록된 것은 아니다라는 결정에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하는 단계와, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 데이터 비트의 서브세트를 동시에 재기록하는 단계를 포함하고, 상기 데이터 비트의 서브세트는 상기 복수의 데이터 워드 세트의 각각의 데이터 워드 세트에 포함된다.
다른 실시형태에 있어서, 방법은, 각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하는 단계와, 상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는지의 여부를 검증하는 단계와, 상기 복수의 데이터 워드 중에 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트가 존재하는 것에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하는 단계와, 상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록된 것으로 검증될 때까지 상기 복수의 데이터 워드 세트의 각각의 데이터 워드 세트에 포함되는 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 메모리 디바이스의 각각의 비트 셀에 반복적으로 재기록하는 단계를 포함한다.
또 다른 실시형태에 있어서, 메모리 디바이스는 복수의 메모리 비트 셀과, 상기 복수의 메모리 비트 셀에 연결된 제어 로직 회로를 포함한다. 제어 로직 회로는, 각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하고, 상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는지의 여부를 검증하며, 상기 복수의 데이터 워드 중에, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트가 존재하는 것에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하고, 상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 비트 셀에 정확하게 기록된 것으로 검증될 때까지 상기 복수의 데이터 워드 세트 중 각각의 데이터 워드 세트에 포함되는 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 각각의 비트 셀에 반복적으로 재기록하도록 구성된다.
이상은 여러 실시형태의 특징을 개관한 것이므로 당업자라면 본 개시내용의 양태를 더 잘 이해할 수 있다. 당업자라면 동일한 목적을 달성하기 위한 다른 공정 및 구조를 설계 또는 변형하고/하거나 본 명세서에 소개하는 실시형태들의 동일한 효과를 달성하기 위한 기본으로서 본 개시내용을 용이하게 이용할 수 있다고 생각할 것이다. 또한 당업자라면 그러한 등가의 구조가 본 개시내용의 사상 및 범주에서 벗어나지 않는다는 것과, 본 개시내용의 사상 및 범주에서 일탈하는 일없이 다양한 변화, 대체 및 변형이 이루어질 수 있다는 것을 인식할 것이다.
<부기>
1. 방법에 있어서,
각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하는 단계와,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록된 것은 아니다라는 결정에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하는 단계와,
상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 데이터 비트의 서브세트를 동시에 재기록하는 단계를 포함하고, 상기 데이터 비트의 서브세트는 상기 복수의 데이터 워드 세트의 각각의 데이터 워드 세트에 포함되는 것인 방법.
2. 제1항에 있어서, 상기 복수의 데이터 워드 세트의 적어도 하나의 서브세트는 공통 수의 데이터 워드를 갖는 것인 방법.
3. 제1항에 있어서, 상기 복수의 데이터 워드 세트의 적어도 하나의 서브세트는 각각의 상이한 수의 데이터 워드를 갖는 것인 방법.
4. 제1항에 있어서,
상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 데이터 비트와 연관된 각각의 어드레스를 상기 메모리 디바이스의 하나 이상의 버퍼에 저장하는 단계를 더 포함하는 방법.
5. 제4항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 상기 데이터 비트 중 임의의 것을 포함하는지의 여부를 결정하기 위해 상기 하나 이상의 버퍼에 액세스하는 단계를 더 포함하는 방법.
6. 제5항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 상기 데이터 비트의 제1 서브세트를 포함하는 것에 응답하여, 상기 데이터 비트의 제1 서브세트를 상기 메모리 디바이스의 각각의 비트 셀에 재기록한 다음, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하는 단계와,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 상기 데이터 비트 중 어느 것도 포함하지 않는 것에 응답하여, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하는 단계를 더 포함하는 방법.
7. 제6항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트가 아닌 것에 응답하여, 상기 복수의 데이터 워드 세트 중 제2 데이터 워드 세트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 상기 데이터 비트 중 임의의 것을 포함하는지의 여부를 결정하고, 이에 대응하여, 상기 복수의 데이터 워드 세트 중 제2 데이터 워드 세트에 포함된 상기 데이터 비트의 제2 서브세트를 상기 메모리 디바이스의 각각의 비트 셀에 선택적으로 재기록하는 단계와,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인 것에 응답하여, 상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는지의 여부를 검증하는 단계를 더 포함하는 방법.
8. 방법에 있어서,
각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하는 단계와,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는지의 여부를 검증하는 단계와,
상기 복수의 데이터 워드 중에, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트가 존재하는 것에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하는 단계와,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는 것으로 검증될 때까지 상기 복수의 데이터 워드 세트의 각각의 데이터 워드 세트에 포함되는 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 메모리 디바이스의 각각의 비트 셀에 반복적으로 재기록하는 단계를 포함하는 방법.
9. 제8항에 있어서, 상기 복수의 데이터 워드 세트의 적어도 하나의 서브세트는 공통 수의 데이터 워드를 갖는 것인 방법.
10. 제8항에 있어서, 상기 복수의 데이터 워드 세트의 적어도 하나의 서브세트는 각각 상이한 수의 데이터 워드를 갖는 것인 방법.
11. 제8항에 있어서,
상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트와 연관된 각각의 어드레스를 상기 메모리 디바이스의 하나 이상의 버퍼에 저장하는 단계를 더 포함하는 방법.
12. 제11항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 결정하기 위해 상기 하나 이상의 버퍼에 액세스하는 단계를 더 포함하는 방법.
13. 제12항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트 중 적어도 제1 데이터 비트를 포함할 경우, 상기 하나 이상의 데이터 비트 중 적어도 제1 데이터 비트를 상기 메모리 디바이스의 각각의 비트 셀에 재기록하는 단계와,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하는 단계를 더 포함하는 방법.
14. 제13항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트가 아닌 경우, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 반복적으로 결정하고, 이에 대응하여, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트일 때까지 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트에 포함된 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 메모리 디바이스의 각각의 비트 셀에 선택적으로 재기록하는 단계와,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는지의 여부를 다시 검증하는 단계를 더 포함하는 방법.
15. 제12항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트 중 임의의 것을 포함할 경우, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하는 단계를 더 포함하는 방법.
16. 제15항에 있어서,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트가 아닌 경우, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 반복적으로 결정하고, 이에 대응하여, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트일 때까지 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트에 포함된 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 메모리 디바이스의 각각의 비트 셀에 선택적으로 재기록하는 단계와,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는지의 여부를 다시 검증하는 단계를 더 포함하는 방법.
17. 메모리 디바이스에 있어서,
복수의 메모리 비트 셀과,
상기 복수의 메모리 비트 셀에 연결된 제어 로직 회로를 포함하고, 상기 제어 로직 회로는,
각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 상기 복수의 메모리 비트 셀의 각각의 메모리 비트 셀에 기록하고,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 검증하며,
상기 복수의 데이터 워드 중에, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트가 존재하는 것에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하고,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는 것으로 검증될 때까지 상기 복수의 데이터 워드 세트 중 각각의 데이터 워드 세트에 포함되는 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 각각의 메모리 비트 셀에 반복적으로 재기록하도록 구성되는 것인 메모리 디바이스.
18. 제17항에 있어서, 상기 제어 로직 회로는 또한, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 결정하도록 구성되는 것인 메모리 디바이스.
19. 제18항에 있어서, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 적어도 제1 데이터 비트를 포함할 경우, 상기 제어 로직 회로는 또한,
상기 하나 이상의 데이터 비트 중 적어도 제1 데이터 비트를 상기 각각의 메모리 비트 셀에 재기록하고,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하도록 구성되는 것인 메모리 디바이스.
20. 제19항에 있어서, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 데이터 워드 세트 중 마지막 데이터 워드 세트가 아닌 경우, 상기 제어 로직 회로는 또한,
상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 반복적으로 결정하고, 이에 대응하여, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트일 때까지 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트에 포함된 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 각각의 메모리 비트 셀에 선택적으로 재기록하고,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 다시 검증하도록 구성되는 것인 메모리 디바이스.
21. 제18항에 있어서, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함할 경우, 상기 제어 로직 회로는 또한,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하고,
상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트가 아닌 경우, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 반복적으로 결정하고, 이에 대응하여, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트일 때까지 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트에 포함된 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 각각의 메모리 비트 셀에 선택적으로 재기록하며,
상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 다시 검증하도록 구성되는 것인 메모리 디바이스.

Claims (10)

  1. 방법에 있어서,
    각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하는 단계와,
    상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록된 것은 아니다라는 결정에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하는 단계와,
    상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 데이터 비트의 서브세트를 동시에 재기록하는 단계
    를 포함하고, 상기 데이터 비트의 서브세트는 상기 복수의 데이터 워드 세트의 각각의 데이터 워드 세트에 포함되는 것인 방법.
  2. 제1항에 있어서, 상기 복수의 데이터 워드 세트의 적어도 하나의 서브세트는 공통 수의 데이터 워드를 갖는 것인 방법.
  3. 제1항에 있어서, 상기 복수의 데이터 워드 세트의 적어도 하나의 서브세트는 각각의 상이한 수의 데이터 워드를 갖는 것인 방법.
  4. 제1항에 있어서,
    상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 데이터 비트와 연관된 각각의 어드레스를 상기 메모리 디바이스의 하나 이상의 버퍼에 저장하는 단계를 더 포함하는 방법.
  5. 방법에 있어서,
    각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 메모리 디바이스의 각각의 비트 셀에 기록하는 단계와,
    상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는지의 여부를 검증하는 단계와,
    상기 복수의 데이터 워드 중에, 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트가 존재하는 것에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하는 단계와,
    상기 복수의 데이터 워드의 모든 데이터 비트가 상기 메모리 디바이스의 각각의 비트 셀에 정확하게 기록되는 것으로 검증될 때까지 상기 복수의 데이터 워드 세트의 각각의 데이터 워드 세트에 포함되는 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 메모리 디바이스의 각각의 비트 셀에 반복적으로 재기록하는 단계
    를 포함하는 방법.
  6. 메모리 디바이스에 있어서,
    복수의 메모리 비트 셀과,
    상기 복수의 메모리 비트 셀에 연결된 제어 로직 회로를 포함하고, 상기 제어 로직 회로는,
    각각 복수의 데이터 비트를 갖는 복수의 데이터 워드를 상기 복수의 메모리 비트 셀의 각각의 메모리 비트 셀에 기록하고,
    상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 검증하며,
    상기 복수의 데이터 워드 중에, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 하나 이상의 데이터 비트가 존재하는 것에 응답하여, 상기 복수의 데이터 워드를 복수의 데이터 워드 세트로서 그룹핑하고,
    상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는 것으로 검증될 때까지 상기 복수의 데이터 워드 세트 중 각각의 데이터 워드 세트에 포함되는 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 각각의 메모리 비트 셀에 반복적으로 재기록하도록 구성되는 것인 메모리 디바이스.
  7. 제6항에 있어서, 상기 제어 로직 회로는 또한, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 결정하도록 구성되는 것인 메모리 디바이스.
  8. 제7항에 있어서, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 적어도 제1 데이터 비트를 포함할 경우, 상기 제어 로직 회로는 또한,
    상기 하나 이상의 데이터 비트 중 적어도 제1 데이터 비트를 상기 각각의 메모리 비트 셀에 재기록하고,
    상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하도록 구성되는 것인 메모리 디바이스.
  9. 제8항에 있어서, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 데이터 워드 세트 중 마지막 데이터 워드 세트가 아닌 경우, 상기 제어 로직 회로는 또한,
    상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 반복적으로 결정하고, 이에 대응하여, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트일 때까지 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트에 포함된 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 각각의 메모리 비트 셀에 선택적으로 재기록하고,
    상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 다시 검증하도록 구성되는 것인 메모리 디바이스.
  10. 제7항에 있어서, 상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함할 경우, 상기 제어 로직 회로는 또한,
    상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트인지의 여부를 결정하고,
    상기 복수의 데이터 워드 세트 중 제1 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트가 아닌 경우, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가, 상기 각각의 메모리 비트 셀에 정확하게 기록되지 않은 상기 하나 이상의 데이터 비트 중 임의의 것을 포함하는지의 여부를 반복적으로 결정하고, 이에 대응하여, 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트가 상기 복수의 데이터 워드 세트 중 마지막 데이터 워드 세트일 때까지 상기 복수의 데이터 워드 세트 중 다음의 데이터 워드 세트에 포함된 상기 하나 이상의 데이터 비트 중 적어도 하나를 상기 각각의 메모리 비트 셀에 선택적으로 재기록하며,
    상기 복수의 데이터 워드의 모든 데이터 비트가 상기 각각의 메모리 비트 셀에 정확하게 기록되는지의 여부를 다시 검증하도록 구성되는 것인 메모리 디바이스.
KR1020180162202A 2018-01-12 2018-12-14 신규한 메모리 디바이스 KR102233077B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862616985P 2018-01-12 2018-01-12
US62/616,985 2018-01-12
US16/159,214 US10643722B2 (en) 2018-01-12 2018-10-12 Memory device
US16/159,214 2018-10-12

Publications (2)

Publication Number Publication Date
KR20190086355A true KR20190086355A (ko) 2019-07-22
KR102233077B1 KR102233077B1 (ko) 2021-03-30

Family

ID=67214217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180162202A KR102233077B1 (ko) 2018-01-12 2018-12-14 신규한 메모리 디바이스

Country Status (3)

Country Link
US (2) US10643722B2 (ko)
KR (1) KR102233077B1 (ko)
TW (1) TWI676181B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN114631080A (zh) * 2019-10-25 2022-06-14 美光科技公司 用于存储器的数据恢复管理
US11960754B2 (en) * 2020-12-30 2024-04-16 Micron Technology, Inc. Memory sub-system memory bank search component

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110094289A (ko) * 2008-10-25 2011-08-23 쌘디스크 3디 엘엘씨 데이터를 메모리 디바이스로 재-입력하지 않고 페이지들을 재프로그램하기 위한 페이지 버퍼 프로그램 명령 및 방법
KR20170076883A (ko) * 2015-12-24 2017-07-05 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8477446B2 (en) * 2011-01-04 2013-07-02 Hewlett-Packard Development Company, L.P. Writing data to a tape
US9110829B2 (en) * 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits
KR20150044753A (ko) * 2013-10-17 2015-04-27 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
US9552244B2 (en) * 2014-01-08 2017-01-24 Qualcomm Incorporated Real time correction of bit failure in resistive memory
US9411391B2 (en) * 2014-02-07 2016-08-09 Apple Inc. Multistage low leakage address decoder using multiple power modes
KR20160032910A (ko) * 2014-09-17 2016-03-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9396795B1 (en) * 2014-12-30 2016-07-19 The Regents Of The University Of Michigan Storage device supporting logical operations, methods and storage medium
US9471417B1 (en) * 2015-02-24 2016-10-18 Crossbar, Inc. Methods and apparatus for back-annotating errors in a RRAM array
US9384795B1 (en) * 2015-04-29 2016-07-05 Qualcomm Incorporated Fully valid-gated read and write for low power array
US9484114B1 (en) * 2015-07-29 2016-11-01 Sandisk Technologies Llc Decoding data using bit line defect information
JP6457364B2 (ja) * 2015-09-11 2019-01-23 東芝メモリ株式会社 メモリシステム
GB2543528B (en) * 2015-10-20 2020-01-15 Advanced Risc Mach Ltd Memory circuit
KR102505852B1 (ko) * 2016-01-15 2023-03-03 삼성전자 주식회사 비휘발성 메모리 장치의 동작 방법
US10643722B2 (en) * 2018-01-12 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110094289A (ko) * 2008-10-25 2011-08-23 쌘디스크 3디 엘엘씨 데이터를 메모리 디바이스로 재-입력하지 않고 페이지들을 재프로그램하기 위한 페이지 버퍼 프로그램 명령 및 방법
KR20170076883A (ko) * 2015-12-24 2017-07-05 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법

Also Published As

Publication number Publication date
KR102233077B1 (ko) 2021-03-30
US20190221276A1 (en) 2019-07-18
US20200251170A1 (en) 2020-08-06
TWI676181B (zh) 2019-11-01
US10643722B2 (en) 2020-05-05
TW202004750A (zh) 2020-01-16
US10861572B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
KR102233077B1 (ko) 신규한 메모리 디바이스
US9478300B2 (en) Operation method of nonvolatile memory system
US9690654B2 (en) Operation method of nonvolatile memory system
US10008272B2 (en) Operation method of nonvolatile memory system that includes erase operations, fast erase operations, program operations and fast program operations
CN109101434B (zh) 存储装置、存储系统及所述存储装置的操作方法
US9916093B2 (en) Nonvolatile memory device and storage device for storing bad block management information with high reliability
US9870833B2 (en) Nonvolatile memory device including page buffer and method for verifying program operation thereof
US10186325B2 (en) Method and apparatus for shielded read to reduce parasitic capacitive coupling
US11651829B2 (en) Nonvolatile memory device and operation method thereof
US9897650B2 (en) Integrated circuit and storage device including integrated circuit
CN112346656A (zh) 控制器及其操作方法
CN103247347A (zh) 提供智能存储器架构的方法和系统
Hsiao et al. Built-in self-repair schemes for flash memories
KR20180102241A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR20200008476A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US11264109B2 (en) Memory device
KR20200079852A (ko) 메모리 시스템 및 그것의 동작방법
US10726935B2 (en) Memory device and operating method thereof
US10553276B2 (en) Semiconductor memory device
US20220208296A1 (en) Memory device and memory controller and storage device including the memory device and memory controller
US11625302B2 (en) Nonvolatile memory device and operation method thereof
US11955175B2 (en) Copy redundancy in a key-value data storage system using content addressable memory
US20230176759A1 (en) Memory controller with improved data reliability and memory system including the same
KR20180051341A (ko) 반도체 메모리 장치, 컨트롤러 및 그들의 동작 방법

Legal Events

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