KR101574033B1 - 메모리 디바이스들 및 메모리 디바이스를 위한 구성 방법들 - Google Patents

메모리 디바이스들 및 메모리 디바이스를 위한 구성 방법들 Download PDF

Info

Publication number
KR101574033B1
KR101574033B1 KR1020147006232A KR20147006232A KR101574033B1 KR 101574033 B1 KR101574033 B1 KR 101574033B1 KR 1020147006232 A KR1020147006232 A KR 1020147006232A KR 20147006232 A KR20147006232 A KR 20147006232A KR 101574033 B1 KR101574033 B1 KR 101574033B1
Authority
KR
South Korea
Prior art keywords
delete delete
data
memory
user data
ecc
Prior art date
Application number
KR1020147006232A
Other languages
English (en)
Other versions
KR20140046064A (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 KR20140046064A publication Critical patent/KR20140046064A/ko
Application granted granted Critical
Publication of KR101574033B1 publication Critical patent/KR101574033B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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/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
    • 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
    • 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/1072Adding 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 multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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
    • 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/0608Saving storage space on 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 디바이스들 및 메모리 디바이스들을 동작시키는 방법들이 개시된다. 하나의 이러한 방법에서, 메모리 셀들의 상이한 블록들은 사용자 데이터 공간 및 오버헤드 데이터 공간의 상이한 구성들을 가진다. 적어도 하나의 방법에서, 오버헤드 데이터는 메모리 셀들의 하나 이상의 블록 내에 분포된다. 또 다른 방법에서, 블록들은 특정한 동작 모드들 및/또는 메모리 디바이스에 저장된 사용자 데이터의 원하는 레벨들의 신뢰도에 응답하여 재구성 가능하다.

Description

메모리 디바이스들 및 메모리 디바이스를 위한 구성 방법들{MEMORY DEVICES AND CONFIGURATION METHODS FOR A MEMORY DEVICE}
본 개시는 일반적으로 반도체 메모리들에 관한 것으로, 특히 하나 이상의 실시예들에서, 본 개시는 비-휘발성 메모리 디바이스들에서 메모리 셀들의 구성에 관한 것이다.
메모리 디바이스들은 통상적으로 컴퓨터들 또는 다른 전자 디바이스들에서의 내부의, 반도체, 집적 회로들이다. 랜덤-액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 및 플래시 메모리를 포함한 많은 상이한 유형들의 메모리가 있다.
플래시 메모리 디바이스들은 광범위한 전자 애플리케이션들을 위한 비-휘발성 메모리의 대중적인 소스로 개발되어 왔다. 비-휘발성 메모리는 전력의 인가 없이 몇몇 연장된 기간 동안 그것의 저장된 데이터를 보유할 수 있는 메모리이다. 플래시 메모리 및 다른 비-휘발성 메모리의 공통적인 사용들은 개인용 컴퓨터들, 개인용 디지털 보조기들(PDA들), 디지털 카메라들, 디지털 미디어 플레이들, 디지털 기록기들, 게임들, 기기들, 차량들, 무선 디바이스들, 이동 전화기들 및 착탈 가능한 메모리 모듈들을 포함하며, 비-휘발성 메모리를 위한 사용들은 계속해서 확대되고 있다.
플래시 메모리는 통상적으로 예를 들면, 도 1에 도시된 바와 같이 복수의 메모리 셀들의 블록들을 포함한 메모리 어레이(100)로 배열된다. 도 1의 각각의 로우(102)는 통상적인 메모리 디바이스에서 메모리의 블록을 나타낸다. 메모리 디바이스 상에서 프로그래밍 동작을 수행함으로써, 메모리 어레이(100), 즉 메모리 셀들의 어레이에 데이터가 저장된다. 데이터는 판독 동작을 수행함으로써 메모리 어레이(100)로부터 판독될 수 있다.
메모리 디바이스로부터 데이터 값들의 판독 시 오류들이 발생할 수 있다는 것을 인지할 수 있으며, 메모리 디바이스는 하나 이상의 유형들의 오류 정정 방법들을 이용할 수 있다. 흔히 오류 정정 코드들(error correction codes; ECC)로 불리우는, 오류 정정 기법들이 이들 오류들을 검출하고 및/또는 이를 정정하려고 시도하기 위해 구현될 수 있다. 다양한 ECC들은 ECC의 대상이 되는 각각의 데이터 신호가 ECC의 구성의 특정 규칙들을 따라야 하는 코드들을 포함한다. 너무 크지 않은 데이터의 이러한 구성으로부터의 일탈(즉, 오류들)은 일반적으로 자동으로 검출되고 때때로 정정될 수 있다. ECC들의 예들은, 해밍 코드(Hamming code), BCH 코드, 리드-솔로몬 코드(Reed-Solomon code), 리드-뮬러(Reed-Muller code), 이진 골레이 코드(Binary Golay code), 저-밀도 패리티 코드, 및 트렐리스 코드 변조(Trellis Code modulation)을 포함한다. 몇몇 ECC들은 단일-비트 오류들을 정정하며 이중-비트 오류들을 검출할 수 있다. 다른 ECC들이, 예를 들면, 다중-비트 오류들을 검출 및/또는 정정할 수 있다.
통상적으로, 메모리 디바이스는 제 1 그룹의 메모리 셀들(예를 들면, 제 1 세트의 메모리 위치들, 사용자 데이터 공간, 사용자 데이터 부분 및/또는 사용자 데이터 저장 영역으로서 보여질 수 있는)에 사용자 데이터를 및 각각의 블록의 제 2 그룹의 메모리 셀들에 오류 정정 코드(ECC) 데이터를 저장할 것이다. 이들 메모리 셀 그룹핑들은 통상적으로 메모리 디바이스의 설계 및 레이아웃 동안 결정되며 사용자 데이터 저장 및 ECC 데이터 저장을 위한 메모리 할당은 통상적으로 메모리 디바이스의 영구적인 구성이다. 판독 동작 동안, 저장된 사용자 데이터 및 ECC 데이터 모두는 사용자 데이터의 판독 요청에 응답하여 메모리 어레이로부터 판독된다. 알려진 알고리즘들을 사용하여, 판독 동작으로부터 복귀된 사용자 데이터는 ECC 데이터에 비교된다. 오류들이 검출되고 이들 오류들이 ECC이 한계들 내에 있다면, 예로서, 충분한 ECC 분해능이 저장된 ECC 데이터에 존재한다면, 오류들은 정정될 수 있다.
예로서, 도 1의 각각의 블록(102)은 원하는 ECC 기법에 기초한 메모리 디바이스의 설계 동안 이용되도록 구성된다. 각각의 사용자 데이터 메모리 영역(110)은 연관된 ECC 메모리 영역(112)을 가진다. 예를 들면, ECC 영역(1121)은 사용자 데이터 영역(1101)에 저장된 사용자 데이터와 연관된 ECC 데이터를 저장하고, ECC 영역(1122)은 사용자 데이터 저장 영역 (1102) 등에 저장된 사용자 데이터에 특정한 ECC 데이터를 저장한다. 블록 저장 영역(114)은 예를 들면, 전체 블록(102)에 특정한 부가적인 데이터(예로서, 메타데이터)를 저장할 수 있다. 이러한 고정된 구성은 메모리 디바이스(100)의 각각의 블록에서 반복된다. 112 및 114와 같은 영역들은 때때로 총괄하여 오버헤드 공간으로서 불리운다.
그러나, 상이한 ECC 코드들은 그것들 각각의 ECC 데이터를 저장하기 위해 상이한 양들의 메모리 셀들을 요구한다. 따라서, 하나 이상의 ECC 코드를 수용하기를 원한다면, 메모리 디바이스의 각각의 블록의 ECC 데이터 저장 영역은 이용될 수 있는 최대 ECC 저장 요건들을 가진 ECC 코드를 지원하도록 구성된다(예로서, 할당된다). 그러나, 이것은 메모리 디바이스에서 할당된 ECC 데이터 저장 영역들의 전체 양을 요구하지 않는 ECC 코드가 이용되는 상황들에서 비효율적일 수 있으며, 따라서 메모리 셀들을 사용되지 않으며 이용 가능하지 않은 채로 둔다. 통상적인 메모리 디바이스는 원할 수 있는 최대 ECC 코드(들)를 수용하기 위해 2048B (바이트)의 사용자 데이터 공간 및 140B의 ECC 데이터 공간을 가진 블록들을 갖고 할당될 수 있다. 예를 들면, ECC 데이터 저장 영역들(1121 및 1122)은 함께 140B를 포함할 수 있다. 메모리의 각각의 블록의 이러한 구성(예로서, 배열)은 메모리 어레이(100) 전체에 걸쳐 반복될 것이다. 따라서, 메모리 어레이는 각각 블록당 동일한 사용자 데이터 공간 및 ECC 데이터 공간 구성을 가진 다수의 메모리의 블록들을 포함할 것이다. 사용자 데이터 셀들의 각각의 블록에 대해 할당된 전체 140B의 ECC 데이터 공간을 요구하지 않는 ECC가 이용된다면, 나머지 할당된 ECC 데이터 공간은 결국 이용되지 않게 된다. 대안적으로, 보다 큰 신뢰도가 요구된다면, 140B의 ECC 데이터 공간은 원하는 ECC 분해능에서 ECC 데이터를 저장하기에 충분하지 않을 수 있다. 예를 들면, 특정한 레벨의 신뢰도를 갖는 것이 바람직할 수 있으며 특정한 ECC 코드가 메모리 디바이스에 저장된 사용자 데이터에서 발생하는 특정한 수의 오류들을 정정할 수 있도록 선택될 수 있다. 불충분한 ECC 데이터 공간이 할당된다면, 예를 들면, 원하는 레벨의 신뢰도를 달성하기에 충분한 ECC 데이터가 존재하지 않을 수 있으며(예로서, 불충분한 ECC 데이터 분해능) 정정될 수 있는 오류들의 수는 감소될 수 있다.
상기 논의된 바와 같이, 도 1에 도시된 바와 같은, 메모리 어레이 구성은 통상적으로 고정되며 나중에 변경될 수 없다. 그러나, 몇몇 애플리케이션들은 메모리 디바이스에 원래 할당된 것들보다 크거나 또는 작은 사용자 데이터 저장 영역들(110)을 요구할 수 있다. 따라서, 사용자 데이터는 예를 들면, 메모리 디바이스로부터 효율적으로 저장되고 및/또는 검색되지 않을 것이다. 또한 메모리 디바이스의 제조 프로세스의 일부로서, 메모리 디바이스에서의 제어기(예로서, 제어 회로)는 통상적으로 도 1에 도시된 것들과 같이, 메모리 셀들의 블록들의 고정된 구성을 준수하는 메모리 어레이와 상호작용하도록 구성된다. 예를 들면, 메모리 어레이 구성 데이터는 예를 들면, 펌웨어를 이용한 제어기로 프로그램될 수 있다. 따라서, 제어기는 영구적으로 제어기로 프로그램된 메모리 디바이스 구성을 준수한 메모리 어레이와 함께 동작하도록 구성될 수 있다.
상기 서술된 이유들로 및 본 개시를 판독 및 이해할 때 이 기술분야의 숙련자들에게 명백해질 이하에 서술되는 다른 이유들로, 메모리 디바이스들에서의 메모리 셀들의 대안적인 구성들을 위한 이 기술분야에서의 요구가 있다.
도 1은 메모리 디바이스에서 메모리 어레이의 통상적인 구성을 예시한다.
도 2는 NAND 구성 메모리 셀들의 어레이의 개략적인 표현을 도시한다.
도 3은 메모리 셀들의 실장시 임계 전압 범위들의 그래픽 표현을 도시한다.
도 4A 내지 도 4D는 메모리 디바이스에서 메모리 셀들의 다수의 통상적인 구성들을 도시한다.
도 5는 본 개시의 실시예에 따른 메모리 디바이스의 간소화된 블록도를 도시한다.
도 6은 본 개시의 실시예에 따른 메모리 셀들의 구성을 도시한다.
도 7은 본 개시의 실시예에 따른 메모리 셀들의 구성을 도시한다.
도 8은 본 개시의 실시예에 따른 메모리 셀들의 구성을 도시한다.
도 9는 본 개시의 실시예에 따른 메모리 셀들의 구성을 도시한다.
도 10은 본 개시의 실시예에 따른 전자 시스템의 일부로서 호스트에 결합된 메모리 디바이스의 간소화된 블록도이다.
본 발명의 다음의 상세한 설명에서, 그 일부를 형성하며, 예시로서, 본 발명이 실시될 수 있는 특정 실시예들이 도시된 첨부한 도면들에 대한 참조가 이루어진다. 도면들에서, 유사한 숫자들은 여러 개의 뷰들 전체에 걸쳐 실질적으로 유사한 구성요소들을 설명한다. 이들 실시예들은 이 기술분야의 숙련자들이 본 발명을 실시할 수 있게 하기 위해 충분히 상세히 설명된다. 다른 실시예들이 이용될 수 있으며, 구조적, 논리적, 및 전기적 변화들이 본 개시의 범위로부터 벗어나지 않고 이루어질 수 있다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 취해져서는 안된다.
플래시 메모리는 통상적으로 NOR 플래시 및 NAND 플래시로서 알려진 두 개의 기본적인 아키텍처들 중 하나를 이용한다. 디바이스들을 판독하기 위해 사용된 로직으로부터 지정이 도출된다. 도 2는 메모리 어레이의 메모리 셀들(202)이 로우들 및 컬럼들의 어레이로 논리적으로 배열되는 NAND 형 플래시 메모리 어레이 아키텍처(200)를 예시한다. 종래의 NAND 플래시 아키텍처에서, 예를 들면, “로우들”은 공통으로 결합된 제어 게이트들(220)을 가진 메모리 셀들을 나타내는 반면, “컬럼들”은 메모리 셀들(208)의 특정한 스트링으로서 결합된 메모리 셀들을 나타낸다. 어레이의 메모리 셀들(202)은 통상적으로, 각각 8, 16, 32 또는 그 이상의 스트링들(예로서, NAND 스트링들)로 함께 배열된다. 스트링의 각각의 메모리 셀은 소스 라인(214) 및 종종 비트 라인으로서 불리우는 데이터 라인(216) 사이에서, 소스에서 드레인으로 직렬로 함께 연결된다. 어레이는 예를 들면, WL7 내지 WL0(2187-0)과 같이, 워드 라인으로서 불리우는, 특정한 액세스 라인을 선택함으로써 메모리 셀들의 논리적 로우를 활성화시키는 로우 디코더(도시되지 않음)에 의해 액세스된다. 각각의 워드 라인(218)은 메모리 셀들의 로우의 제어 게이트들에 결합된다. 비트 라인들(BL1 내지 BL4)(2161-4)은 어레이 상에서 수행되는 동작의 유형에 의존하여 높게 또는 낮게 구동될 수 있다. 이들 비트 라인들(BL1 내지 BL4)(2161-4)은 예를 들면, 특정한 비트 라인(216) 상에서의 전압 또는 전류를 감지함으로써 타겟 메모리 셀의 상태를 검출하는 감지 디바이스들(예로서, 감지 증폭기들)(230)에 결합된다. 이 기술분야의 숙련자들에게 알려진 바와 같이, 워드 라인들 및 비트 라인들의 수는 도 2에 도시된 것들보다 훨씬 더 클 수 있다.
메모리 셀들은 통상적으로 소거 및 프로그래밍 사이클들을 사용하여 프로그램된다. 예를 들면, 메모리 셀들의 특정한 블록의 메모리 셀들은 먼저 소거되며 그 후 선택적으로 프로그램된다. NAND 어레이에 대해, 메모리 셀들의 블록은 통상적으로, 메모리 셀들의 블록의 전하 저장 구조들(예로서, 플로팅 게이트들 또는 전하 트랩들) 상에 저장될 수 있는 전하들을 제거하기 위해 블록에서 워드 라인들의 모두를 접지시키며 소거 전압을, 메모리 셀들의 블록이 형성되는 반도체 기판에, 및 그에 따라 메모리 셀들의 채널들에 인가함으로써 소거된다.
프로그래밍은 통상적으로 하나 이상의 프로그래밍 펄스들을 선택된 워드 라인(예로서, WL4(2184)) 및 그에 따라 선택된 워드 라인에 결합된 각각의 메모리 셀(2201-4)의 제어 게이트에 인가하는 것을 수반한다. 통상적인 프로그래밍 펄스들은 15V 또는 그 가까이에서 시작하며 각각의 프로그래밍 펄스 인가 동안 규모가 증가하려는 경향이 있다. 프로그램 전압(예로서, 프로그래밍 펄스)이 선택된 워드 라인에 인가되는 동안, 접지 전위와 같은 전위는 기판, 및 그에 따라 이들 메모리 셀들의 채널들에 인가되어, 채널로부터 프로그래밍을 위해 타겟팅된 메모리 셀들의 전하 저장 구조들로 전하 이동을 야기한다. 보다 구체적으로, 전하 저장 구조들은 통상적으로 채널로부터 저장 구조로 전자들의 직접 주입 또는 파울러-노드하임 터널링(Fowler-Nordheim tunnerling)을 통해 충전된다. 또한, 금지 전압은 통상적으로 프로그래밍을 위해 타겟팅되는(예로서, 선택되는) 메모리 셀을 포함한 NAND 스트링에 결합되지 않은 비트 라인들에 인가된다. 통상적으로 검증 동작은 선택된 메모리 셀들이 그것들의 타겟(예로서, 의도된) 프로그램 상태를 달성하는지를 결정하기 위해 각각의 인가된 프로그래밍 펄스에 이어 수행된다. 검증 동작은 일반적으로 메모리 셀의 임계 전압이 특정한 타겟 값에 도달하는지를 결정하기 위해 감지 동작을 수행하는 것을 포함한다.
메모리 셀들(예로서, 플래시 메모리 셀들)은 단일 레벨 메모리 셀들(SLC) 또는 다중레벨 메모리 셀들(MLC)와 같이 이 기술분야에 알려진 것으로서 구성될 수 있다. SLC 및 MLC 메모리 셀들은 메모리 셀들 상에 저장된 특정 범위의 임계 전압들(Vt)에 데이터 상태(예로서, 1 이상의 비트들로 표현된 바와 같은)를 선정한다. 단일 레벨 메모리 셀들(SLC)은 각각의 메모리 셀 상에서 데이터의 단일 이진 숫자(예로서, 비트)의 저장을 허용한다. 한편, MLC 기술은 셀에 선정된 Vt 범위들의 양 및 메모리 셀의 수명 동작 동안 선정된 Vt 범위들의 안정성에 의존하여, 셀 당 2개 이상의 이진 숫자들의 저장을 허용한다. N-비트들로 구성된 비트 패턴을 표현하기 위해 사용된 Vt 범위들(예로서, 레벨들)의 수는2N이며, 여기에서 N은 정수이다. 예를 들면, 1 비트는 2개의 범위들로 표현될 수 있고, 2 비트들은 4개의 범위들로, 3 비트들은 8개의 범위들 등으로 표현될 수 있다. MLC 메모리 셀들은 각각의 메모리 셀 상에 짝수 또는 홀수들의 비트들을 저장할 수 있으며 분수 비트들을 위해 제공하는 기법들(예로서, 셀 당 1.5 비트들)이 또한 알려져 있다. 공통적인 명명 관례는 예를 들면, 0 또는 1에 의해 표현된 바와 같이 데이터의 1 비트를 저장하기 위해, SLC 메모리가 2개의 Vt 범위들을 이용하는 바와 같이, MLC(2 레벨) 메모리로서 SLC 메모리를 나타내는 것이다. 데이터의 2 비트들을 저장하도록 구성된 MLC 메모리는 MLC(4 레벨)에 의해 표현될 수 있으며, 데이터의 3 비트들이 MLC(8 레벨)에 의해 표현될 수 있다.
도 3은 MLC(4 레벨)(예로서, 2-비트) 메모리 셀을 위한 Vt 범위들(300)의 일 예를 예시한다. 예를 들면, 메모리 셀은 각각이 2 비트들로 구성된 비트 패턴에 대응하는 데이터 상태를 표현하기 위해 사용되는, 200 mV의 4개의 상이한 범위들(302 내지 308) 중 하나에 속하는 Vt로 프로그램될 수 있다. 통상적으로, 데드 스페이스(310)(예로서, 때때로 마진으로서 불리우며 300 mV 내지 400 mV의 범위를 가질 수 있는)는 범위들이 중첩하는 것을 막기 위해 각각의 범위(302 내지 308) 사이에서 유지된다. 예를 들면, 메모리 셀 상에 저장된 전압이 4개의 Vt 범위들(302) 내에 있다면, 이 경우에 셀은 논리(‘11’) 상태를 저장하며 통상적으로 셀의 소거 상태로 고려된다. 전압이 4개의 Vt 범위들(304)의 두 번째 내에 있다면, 이 경우에 셀은 논리(‘10’) 상태를 저장한다. 4개의 Vt 범위들의 제 3 Vt 범위(306)에서의 전압은 이 경우에 셀이 논리(’00’) 상태를 저장하고 있음을 표시할 것이다. 최종적으로, 제 4 Vt 범위(308)에 있는 Vt는 논리(‘01’) 상태가 셀에 저장됨을 표시한다.
통상적으로, 하위 레벨 메모리 셀들보다 상위 레벨 메모리 셀들에 저장된 데이터에서 발생하는 오류들의 가능성이 더 크다. 예를 들면, MLC(4 레벨)는 통상적으로 예를 들면, SLC 메모리보다 높은 오류들의 가능성을 가진다. 이것은 상위 레벨 메모리 셀들에서 프로그램된 Vt 범위들의 증가된 수 및 좁아짐에 의해 야기될 수 있다. 상술된 바와 같이, 다양한 오류 정정 기법들이 변질될 수 있는 데이터를 복원하려고 시도하기 위해 이용된다.
도 4A 내지 도 4D는 도 1에 대하여 상기 논의된 바와 같이 통상적인 메모리 어레이들에 구성된 바와 같이 메모리 셀들의 블록들의 다수의 통상적인 구성들을 예시한다. 도 4A 내지 도 4D의 메모리 셀들의 각각의 블록은 메모리의 사용자 데이터 공간 및 오버헤드(예로서, ECC 및/또는 메타-데이터) 데이터 공간을 포함한다. 도 4A 내지 도 4D의 각각에서 두 개의 블록들에 의해 예시된, 이들 구성들은 N개의 블록들을 가진 메모리 어레이 전체에 걸쳐 반복될 수 있다. 예를 들면, 도 4A의 블록들(4021-N)은 사용자 데이터 저장 영역들(410) 및 ECC 데이터 저장 영역들(412)의 동일한 구성(예로서, 분포)을 갖고 구성된다. 도 4B의 블록들(4041-N)은 사용자 데이터 저장 영역들(414) 및 ECC 데이터 저장 영역들(416)의 동일한 구성을 갖고 구성된다. 도 4C의 블록들(4061-N)은 사용자 데이터 저장 영역들(418) 및 ECC 데이터 저장 영역들(420)의 동일한 구성을 갖고 구성된다. 도 4D의 블록들(4081-N)은 예를 들면, 도 1에 대하여 상술된 바와 같이, 사용자 데이터 저장 영역들(424), ECC 데이터 저장 영역들(426) 및 블록 데이터 저장 영역들(예로서, 메타데이터)(422)의 동일한 구성을 갖고 구성된다.
도 4A 내지 도 4D에 도시된 바와 같은 사용자 데이터 및 오버헤드 데이터 저장 영역들을 할당하는 통상적인 방법과 반대로, 본 개시의 다양한 실시예들에 따른 하나 이상의 방법들은 메모리 디바이스에서 전체 메모리 어레이의 대안적인 이용을 용이하게 한다.
도 5는 본 개시의 다양한 실시예들에 따른 메모리 디바이스(500)의 일 부분을 예시한다. 도 5에 도시된 메모리 디바이스(500)는 본 개시에 따른 다양한 실시예들의 이해를 향상시키기 위해 특정한 요소들에 초점을 맞추도록 간소화되었다. 메모리 디바이스(500)는 예를 들면, 플래시 메모리 셀들의 어레이와 같은, 메모리 어레이(502)를 포함한다. 도 5에 도시된 메모리 어레이(502)는 각각의 블록이 메모리 셀들의 하나 이상의 페이지들을 포함하는 메모리 셀들(504)의 복수의 개별적으로 소거 가능한 블록들에 구성될 수 있다. 메모리 어레이(502)의 각각의 블록의 메모리 셀들은 예를 들면, 도 2에 도시된 바와 같은 로우들로 및 컬럼들로 논리적으로 배열될 수 있다. 메모리 어레이(502)의 메모리 셀들은 단일 레벨(SLC) 및/또는 다중 레벨(MLC) 메모리 셀들을 포함할 수 있다.
메모리 디바이스(500)는 메모리 어레이(502)의 메모리 셀들에 대한 액세스를 용이하게 하는 로우 디코드 회로(510) 및 컬럼 디코드 회로(512)를 더 포함한다. 액세스 회로(508)는 로우 디코드 회로(510)로 및 컬럼 디코드 회로(512)로 어드레싱 정보를 제공한다. 감지 회로 및 데이터 캐시(514)는 판독, 기록(예로서, 프로그래밍) 및 소거 동작들과 같은 메모리 디바이스 동작들을 용이하게 하도록 돕는다. 예를 들면, 감지 회로는 판독될 특정한 수의 선택된 메모리 셀들의 프로그램 상태를 검출할 수 있다. 데이터 캐시(514)는 감지 회로에 의해 감지된 데이터(예로서, 판독 또는 검증 동작 동안 획득된 감지 데이터와 같은)를 저장할 수 있다. 데이터 캐시(514)는 또한 예를 들면, 프로그래밍 동작 동안과 같이, 특정한 수의 선택된 메모리 셀들로 프로그램될 데이터를 저장할 수 있다.
메모리 디바이스(500)는 본 개시의 다양한 실시예들에 따라 메모리 디바이스 동작들을 적어도 부분적으로 용이하게 하는 제어기(예로서, 제어 회로)(506)를 더 포함한다. 제어 회로(506)는 또한 예를 들면, 로우 디코드 회로(510), 컬럼 디코드 회로(512), 및 감지 회로/데이터 캐시(514) 회로와 같이, 메모리 디바이스(500)의 다른 회로(도시되지 않음)에 결합될 수 있다.
도 1에 도시된 바와 같은 메모리 어레이(100)의 고정된 구성과 반대로, 도 5의 메모리 어레이(502)는 메모리 어레이에서 특정한 사용 유형들의 메모리의 고정된 위치들을 포함하지 않는다. 예를 들면, 도 5의 메모리 어레이(502)는 블록의 메모리 셀이 사용자 데이터 또는 오버헤드 데이터(예로서, 메타데이터 및/또는 ECC 데이터)를 저장하기 위해 구성 가능할 수 있는 메모리의 블록들(504)을 포함한다. 이것은 종래 기술의 방법들에 비하여 보다 효율적인 메모리 어레이(502)의 사용을 가능하게 할 수 있다. 메모리 어레이(502)의 구성은 다수의 요인들에 기초할 수 있다. 예를 들면, 사용자 데이터 저장 영역들 및 연관된(예로서, 대응하는) ECC 데이터 저장 영역들은 메모리 어레이로부터 판독된 사용자 데이터의 특정한 원하는 레벨의 신뢰도에 기초하여 할당될 수 있다. 또 다른 요인은 메모리 셀들의 특정한 블록에 저장될 사용자 데이터의 유형에 기초하여 메모리 어레이(502)의 구성을 포함할 수 있다. 또 다른 예는 예를 들면, 셀들이 SLC 및/또는 MLC 메모리 셀들로 프로그램될지 여부와 같은, 어레이의 메모리 셀들 상에서 수행될 프로그래밍의 유형에 기초한 구성을 포함한다. 추가 예들은 사용자 데이터의 특정한 요건(예로서, 워드 크기 등)에 기초하여 사용자 데이터 저장 영역을 구성하기 위한 능력을 포함한다. 예를 들면, 메모리에 저장될 사용자 데이터의 특정한 워크 크기를 이용한 하나의 애플리케이션(예로서, 동작 모드)이 가장 효율적일 수 있다. 그러나, 상이한 애플리케이션이 예를 들면, 상이한 워드 크기를 가진 사용자 데이터를 이용할 때 보다 효율적일 수 있다.
사용자 데이터 저장 영역들 및 오버헤드 데이터 저장 영역들의 구성들은 또한 메모리 어레이(502)의 상이한 영역들(예로서, 상이한 블록들 또는 페이지들)에서 상이할 수 있다. 예를 들면, 메모리 저장 영역들의 제 1 구성이 메모리 셀들의 제 1 블록에서 이용될 수 있으며 상이한 구성들이 본 개시의 다양한 실시예들에 따른 메모리 어레이(502)의 상이한 블록들에서 이용될 수 있다. 특정한 유형(예로서, 사용자 데이터, ECC 데이터)의 메모리 저장 영역 할당은 메모리 셀들의 하나 이상의 블록들 및/또는 페이지들에 걸쳐 발생할 수 있다. 메모리 저장 할당은 본 개시의 다양한 실시예들에 따라 메모리 디바이스의 다수의 다이(즉, 다수의 물리적 다이)를 스패닝할 수 있다. 예비 영역들이 또한 예를 들면, 메모리 어레이(502)의 끝에서와 같이, 하나 이상의 블록들에서 배타적으로 할당될 수 있다.
제어 회로(506)는 본 개시의 다양한 실시예들에 따라 메모리 어레이(502)의 구성을 관리하도록 구성될 수 있다. 제어 회로(506)는 예를 들면, 메모리 시스템의 일부로서 인터페이스(도시되지 않음)를 통해 호스트(예로서, 프로세서)에 결합될 수 있다. 하나 이상의 실시예들에 따르면, 제어 회로(506)는 메모리 어레이(502)의 메모리 셀들의 다른 블록들/페이지들로부터 독립적으로 메모리 셀들의 각각의 블록 또는 페이지의 공간 할당을 구성하도록 구성될 수 있다. 제어 회로는 메모리 어레이 구성 데이터가 저장되는 메모리 디바이스(예로서, 비-휘발성 메모리)(도시되지 않음)를 포함한다. 구성 데이터는 또한 예를 들면, 메모리 어레이(502)의 특정한 부분에 저장될 수 있다. 메모리 디바이스의 초기화 동작(예를 들면, 리셋(RESET) 동작에 이어서와 같이) 동안, 저장된 구성 데이터는 구성 데이터를 저장하는 메모리로부터 판독되며 제어기(506)로 로딩될 수 있다.
도 6은 본 개시의 하나 이상의 실시예들에 따라, 도 5의 메모리 어레이(502)와 같은, 메모리 어레이(602)의 구성(600)을 예시한다. 다수의 가능한 요인들에 응답하여, 도 6의 메모리 어레이는 어레이(604)의 제 1 부분에 사용자 데이터를 저장하고 어레이(606)의 제 2 부분에 ECC 데이터를 저장하도록 구성된다. 메모리 어레이의 블록0 내지 블록9는 도 6에서 데이터0 내지 데이터9로서 표시되는 사용자 데이터를 저장한다. 예를 들면, 특정한 애플리케이션은 도 6에 도시된 바와 같이 각각이 메모리 어레이의 전체 블록을 점유하는 그룹들에 저장된 사용자 데이터(예로서, 데이터0 내지 데이터9)를 갖고 가장 효율적으로 동작할 수 있다. 데이터0 내지 데이터9와 같은 데이터의 각각의 그룹은 또한 예를 들면 메모리의 정수의 동일하게 사이징된 서브-그룹들을 포함할 수 있다. 메모리 디바이스의 각각의 다이는 메모리 셀들의 하나 이상의 블록들을 포함할 수 있으며, 여기에서 메모리 셀들의 각각의 블록은 또한 메모리 셀들의 하나 이상의 페이지들로 배열될 수 있고, 메모리 셀들의 각각의 페이지는 또한 예를 들면, 하나 이상의 섹터들로 배열될 수 있다.
블록10 내지 블록 11은 도 6의 특정한 어레이 구성을 위한 ECC 데이터 저장 공간으로서 제어 회로에 의해 할당된다. 예를 들면, 블록0 내지 블록9에 저장된 사용자 데이터는 메모리 어레이(602)의 부분(606)에서 ECC 저장 영역에 저장된 연관된 ECC 데이터를 가질 수 있다. 예를 들면, 블록10에 도시된 ECC0은 블록0에 저장된 사용자 데이터(데이터0)와 연관된 ECC 데이터를 저장할 수 있다. ECC1은 블록1에 저장된 사용자 데이터(데이터1)와 연관된 ECC 데이터를 저장할 수 있다. 따라서, 메모리 어레이(602)의 제 1 부분(604)은 사용자 데이터만을 배타적으로 저장하기 위해 할당되며 어레이의 제 2 부분(606)은 어레이의 제 1 부분에 저장된 사용자 데이터와 연관된 ECC 데이터만을 배타적으로 저장하기 위해 할당된다는 것이 도 6으로부터 보여질 수 있다.
다양한 실시예들에 따르면, 각각의 ECC 데이터 저장 영역의 크기(예로서, 저장 용량)는 다수의 요인들에 의존하여 변경될 수 있다. 하나 이상의 실시예들에 따르면, ECC 데이터 저장 영역들은 예를 들면, ECC 데이터(ECC0 내지 ECC7)를 저장하는 저장 영역들에 의해 도시된 바와 같이, 크기가 동일할 수 있다. 추가 실시예들에 따르면, ECC 데이터 저장 영역들 중 하나 이상이 크기들이 상이할 수 있다. ECC 데이터(ECC0 내지 ECC7)를 저장한 ECC 데이터 저장 영역들은 ECC 데이터(ECC8 내지 ECC9)를 저장한 ECC 데이터 저장 영역들과 상이한 크기로 도시된다. 예를 들면, 상위 레벨의 신뢰도가 메모리 어레이(602)의 블록8 내지 블록9에 저장된 사용자 데이터(데이터8 내지 데이터9)를 위해 요구될 수 있다. 따라서, 보다 큰 ECC 데이터 저장 영역이 예를 들면, 사용자 데이터(데이터8 및 데이터9)의 원하는 레벨의 신뢰도를 달성하기 위해 요구된 ECC 데이터를 저장하기 위해 할당될 수 있다. ECC 데이터 저장 영역 크기들의 선택이 변할 수 있기 때문에, 메모리 어레이의 ECC 할당 부분(606)에서의 예비 저장 영역(608)이 존재할 수 있다. 그러나, 본 개시의 하나 이상의 실시예들에 따른 메모리 어레이의 상이한 구성은 예를 들면, 도 6에 도시된 예비 영역(608)을 야기할 수 없을 수 있다.
도 7은 본 개시의 하나 이상의 실시예들에 따른 메모리 어레이(702)의 부가적인 구성(700)을 예시한다. 도 7의 메모리 어레이(702)는 오버헤드(예로서, ECC 및/또는 메타-데이터) 데이터를 저장하도록 구성된 메모리 어레이의 부분(706)을 포함한다. 메모리 어레이는 또한 사용자 데이터(데이터0 내지 데이터9) 및 적어도 몇몇 ECC 데이터(ECC0 내지 ECC9) 양쪽 모두를 저장하는 부분(704)으로 구성된다.
도 7에 도시된 구성에 따르면, 사용자 데이터의 각각의 블록을 위한 ECC 데이터의 제 1 부분은 그 각각의 블록에 저장되며 ECC 데이터의 제 2 부분은 메모리 어레이의 ECC 저장 부분(706)에 저장된다. 이것은 예로서 추가로 예시될 수 있다. 특정한 애플리케이션에서 사용자 데이터 공간을 위한 크기 요건은 사용자 데이터(데이터0 내지 데이터9)의 하나 이상의 그룹들(예로서, 1 이상의 페이지들)이 도 7의 메모리 어레이의 단일 블록에 저장될 수 있도록 선택될 수 있다. ECC 데이터를 위한 특정한 저장 크기 요건이 또한 결정될 수 있다. 그러나, 각각의 블록에서 할당된 사용자 데이터 공간의 크기의 선택 후, 원하는 양의 ECC 데이터를 또한 저장하기 위해 블록에 남아있는 메모리 공간이 충분하지 않을 수 있다. 따라서, 본 개시의 하나 이상의 실시예들에 따르면, 각각의 블록에 맞지 않는 각각의 블록을 위한 나머지 ECC 데이터는 메모리 어레이(706)의 ECC 저장 부분에 저장된다. 예를 들면, ECC 데이터(ECC0)의 제 1 부분(710)은 그것의 대응하는 사용자 데이터(데이터0)와 함께 블록0에 저장될 수 있다. ECC 데이터(ECC0)의 나머지 부분(712)은 그 후 메모리 어레이의 ECC 저장 부분(706)에 저장될 수 있다. 유사하게, ECC1 데이터의 제 1 부분은 블록1에 저장되며 ECC1 데이터의 나머지 부분은 메모리 어레이의 블록10에 저장된다. 따라서, 본 개시의 하나 이상의 실시예들은 특정한 블록에 저장될 사용자 데이터의 특정한 크기를 할당하며 사용자 데이터를 위한 ECC 공간 요건을 결정하기 위해 제공한다. 그 후, 그것의 연관된 블록 내에 맞지 않는 ECC 데이터는 예를 들면, ECC 데이터를 저장하기 위해 지정된 메모리 어레이의 나머지 부분(706)에 저장될 수 있다. 이것은 특정한 블록에서 사용자 데이터 메모리 셀들의 가장 효율적인 구성을 선택할 때 유연성을 제공한다. 이것은 또한 원하는 ECC 데이터 공간 요건을 선택할 때 또한 유연성을 제공한다.
다양한 실시예들에 따르면, 도 7에 도시된 메모리 어레이는 도 6에 도시된 것과 동일한 물리적 메모리 어레이(예로서, 동일한 메모리 디바이스의)일 수 있다. 예를 들면, 메모리 어레이가 제 1 애플리케이션에서 이용될 때, 도 6의 구성이 이용될 수 있다. 그 다음에, 메모리 어레이가 예를 들면, 제 1 애플리케이션과 상이한 사용자 데이터 공간 및/또는 ECC 데이터 공간 요건들을 가진 제 2 애플리케이션에서 동일한 메모리 어레이를 사용하는 것이 바람직하다면 도 7에 도시된 구성으로 재구성될 수 있다.
도 8은 본 개시의 하나 이상의 실시예들에 따른 메모리 어레이(802)의 부가적인 구성(800)을 예시한다. 도 8의 메모리 어레이(802)는 예를 들면, 각각 도 6 및 도 7에 도시된 메모리 어레이(602, 702)와 동일한 물리적 메모리 어레이일 수 있다. 도 8에 도시된 메모리 어레이 구성은 도 7에 도시된 것과 유사한 구성을 예시한다. 그러나, 도 8의 구성은 도 7에 도시된 것보다 블록 당 작은 사용자 데이터 저장 영역 및 보다 큰 ECC 데이터 저장 영역을 도시한다. 예를 들면, 메모리 어레이(802)를 포함한 메모리 디바이스는 사용자 데이터 공간 요건이 도 7에 대하여 논의된 예보다 작은 상이한 애플리케이션에서 사용될 수 있다. 따라서, 보다 많은 공간이 각각의 블록을 위한 연관된 ECC 데이터를 저장하기 위해 각각의 블록에서 이용 가능하다. 도 7과 유사하게, 사용자 데이터를 포함한 그 각각의 블록에 맞지 않는 ECC 데이터는 메모리 어레이의 ECC 부분(806)에 저장될 수 있다. 예를 들면, 메모리 어레이(802)의 부분(804)에 맞지 않는 ECC 데이터의 나머지 부분들(예로서, 블록10 및 블록 11에 도시된 ECC0 내지 ECC9)은 도 8에 도시된 바와 같이 ECC 부분(806)에 연이어 저장될 수 있다. 도 8은 또한 나머지 사용자 데이터 부분(804)이 각각의 각 블록(예로서, 블록1 내지 블록9)을 위해 사용자 데이터 및 ECC 데이터의 적어도 일 부분을 모두 포함하는 반면 데이터0의 ECC0 데이터의 모두가 ECC 데이터 부분(806)에 저장되는 것을 추가로 예시한다.
도 9는 본 개시의 다양한 실시예들에 따른 또 다른 메모리 어레이 구성을 예시한다. 특정한 애플리케이션을 위해, 특정한 크기의 그룹들에 사용자 데이터를 저장하는 것이 유익할 수 있다. 그러나, 이러한 바람직한 크기는 메모리 어레이의 단일 블록 용량을 초과할 수 있다. 따라서, 도 9에 도시된 바와 같은 구성이 사용될 수 있다. 사용자 데이터(데이터0)(904)의 제 1 부분이 메모리 어레이(902)의 블록0에 저장된다. 사용자 데이터(데이터0) (906)의 나머지 부분이 메모리 어레이(902)의 블록1에 저장된다. 데이터0과 연관된 ECC0 데이터(908)가 사용자 데이터(데이터0)(906)의 부분에 이어 저장된다. 사용자 데이터(데이터1)가 그 후 ECC0 데이터(908)에 이어 저장될 수 있다. 따라서, 도 9에 도시되는 바와 같이, 사용자 데이터(데이터1)의 제 1 부분은 블록1에 저장되는 반면, 사용자 데이터(데이터1)의 나머지 부분은 블록 2에 저장된다.
도 9는 메모리 어레이의 블록당 ECC 데이터 공간이 연관된 사용자 데이터의 원하는 신뢰도를 획득하기 위해 변할 수 있다는 것을 추가로 예시한다. 예를 들면, 사용자 데이터(데이터3 내지 데이터6)를 위한 특정한 ECC 데이터 크기를 이용하는 것이 바람직할 수 있다. 그러나, 보다 높은 신뢰도가 예를 들면, 사용자 데이터(데이터7 내지 데이터9)를 위해 요구될 수 있다. 따라서, 예를 들면, 블록9 내지 블록11에서의 ECC 데이터 저장 공간이 블록5 내지 블록8의 ECC 데이터 저장 공간보다 크다는 것이 도면에서 보여질 수 있다. 하나 이상의 실시예들에 따르면, 메모리는 또한 SLC 및 MLC 구성 메모리의 조합을 이용하도록 구성될 수 있다. 예로서, ECC 데이터는 SLC 메모리로서 구성된 메모리에 저장될 수 있는 반면, 사용자 데이터는 MLC 메모리로서 구성된 메모리에 저장될 수 있다.
본 개시의 다양한 실시예들에 따른 상이한 메모리 어레이 구성들을 예시한 도 6 내지 도 9는 모두 도 5에 도시된 메모리 어레이(502)와 같이, 메모리 디바이스에서 동일한 물리적 메모리 어레이의 상이한 메모리 구성들을 나타낼 수 있다는 것이 주의되어야 한다. 예를 들면, 메모리 어레이(502)는 먼저 특정한 애플리케이션을 위해 구성될 수 있다. 나중에, 동일한 메모리 어레이가 예를 들면, 상이한 애플리케이션에서 사용되도록 재구성될 수 있다. 도 5의 제어 회로(506)는 예를 들면, 도 6 내지 도 9에 도시된 구성들 중 하나 이상으로 메모리 어레이를 구성하기 위해 사용되는 특정한 애플리케이션 또는 특정한 구성에 대한 지시들을 수신할 수 있다. 도 6 내지 도 9는 각각 메모리 어레이의 두 개의 블록들을 포함한 메모리 어레이들의 ECC 데이터 부분들(606/706/806)을 예시한다는 것이 또한 주의되어야 한다. 그러나, 본 개시에 따른 다양한 실시예들은 이렇게 제한되지 않는다. 예를 들면, 제 1 애플리케이션은 두 개의 블록들을 포함한 ECC 데이터 부분을 갖도록 메모리 어레이를 구성할 수 있다. 부가적인 실시예가 예를 들면, ECC 데이터의 하나의 블록을 포함하고 사용자 데이터 또는 사용자 데이터 및 ECC 데이터 저장을 위해 나머지를 이용하도록 메모리 어레이를 구성할 수 있다. 추가 실시예들은 예를 들면 특정한 원하는 레벨의 신뢰도를 달성하기 위해 많은 양들의 ECC 데이터 공간을 요구하는 애플리케이션들과 같이, ECC 데이터를 저장한 2 이상의 블록들을 포함하도록 메모리 어레이를 구성할 수 있다. 이들 구성들은 또한 예를 들면, 메모리 디바이스 내에서의 다수의 다이를 스패닝하도록 할당될 수 있다.
도 6 내지 도 9에 대하여 메모리 구성 및 할당이 메모리 블록들에 대하여 설명되지만, 본 개시의 다양한 실시예들은 메모리 셀들의 다른 논리적 그룹핑들을 포함할 수 있다. 예를 들면, 도 6 내지 도 9에 대하여 상술된 구성 및 할당 방법들이 또한 메모리 셀들의 페이지들에 대하여 설명될 수 있다. 예를 들면, 메모리 어레이들(602/702/802/902)은 도면들에서 메모리 셀들의 특정한 블록의 메모리 셀들의 복수의 페이지들을 나타낼 수 있다. 메모리 어레이들(602/702/802/902)의 각각의 로우는 예를 들면, 메모리 셀들의 블록 내에서의 메모리 셀들의 페이지를 나타낼 수 있다.
도 10은 본 개시의 하나 이상의 실시예들에 따른 적어도 하나의 메모리 디바이스를 가진 전자 시스템의 기능 블록도이다. 도 10에 예시된 메모리 디바이스(1000)는 프로세서(1010)와 같은, 메모리 액세스 디바이스에 결합된다. 프로세서(1010)는 예를 들면, 본 개시의 다양한 실시예들에 따른 구성 동작들을 적어도 부분적으로 용이하게 하도록 구성될 수 있는 마이크로프로세서 또는 몇몇 다른 유형의 제어 회로일 수 있다. 메모리 디바이스(1000) 및 프로세서(1010)는 전자 시스템(1020)의 일부를 형성한다. 본 개시의 하나 이상의 실시예들에 따르면, 메모리 디바이스(1000)는 예를 들면, 도 5에 대하여 상기 논의된 메모리 디바이스(500)를 포함할 수 있다. 메모리 디바이스(1000)는 본 개시의 다양한 실시예들을 이해하도록 돕는 메모리 디바이스의 특징들에 초점을 맞추기 위해 간소화되었다.
메모리 디바이스(1000)는 로우들 및 컬럼들의 뱅크들로 논리적으로 배열될 수 있는 하나 이상의 메모리 어레이들(1030)을 포함한다. 하나 이상의 실시예들에 따르면, 메모리 어레이(1030)의 메모리 셀들은 플래시 메모리 셀들이다. 메모리 어레이(1030)는 메모리 디바이스(1000)의 일부로서 단일 또는 다수의 다이 상에 존재하는 메모리 셀들의 다수의 뱅크들 및 블록들을 포함할 수 있다. 메모리 어레이(1030)는 SLC 및/또는 MLC 메모리를 포함할 수 있다. 메모리 어레이(1030)는 또한 예를 들면, 각각의 셀에 데이터의 가변적인 밀도들(예로서, MLC(4 레벨) 및 MLC(8 레벨))을 저장하도록 적응 가능할 수 있다.
어드레스 버퍼 회로(1040)가 어드레스 입력 연결들(A0 내지 Ax)(1042) 상에 제공된 어드레스 신호들을 래치하기 위해 제공된다. 어드레스 신호들은 메모리 어레이(1030)를 액세스하기 위해 로우 디코더(1044) 및 컬럼 디코더(1048)에 의해 수신 및 디코딩된다. 로우 디코더(1044)는 예를 들면, 메모리 어레이(1030)의 워드 라인들을 구동하도록 구성된 드라이버 회로들을 포함할 수 있다. 본 개시의 이득을 갖고, 어드레스 입력 연결들(1042)의 수는 메모리 어레이(1030)의 밀도 및 아키텍처에 의존할 수 있다는 것이 이 기술분야의 숙련자들에 의해 이해될 것이다. 즉, 어드레스 숫자들의 수는 예를 들면, 증가된 메모리 셀 카운트들 및 증가된 뱅크 및 블록 카운트들 모두에 따라 증가한다.
메모리 디바이스(1000)는 감지/데이터 캐시 회로(1050)와 같은, 감지 디바이스들을 사용하여 메모리 어레이 컬럼들에서의 전압 또는 전류 변화들을 감지함으로써 메모리 어레이(1030)에서 데이터를 판독한다. 적어도 일 실시예에서, 감지/데이터 캐시 회로(1050)는 메모리 어레이(1030)로부터 데이터의 로우를 판독 및 래치하기 위해 결합된다. 데이터 입력 및 출력(I/O) 버퍼 회로(1060)는 복수의 데이터 연결들(1062)을 통해 프로세서(1010)와의 양방향 데이터 통신을 위해 포함된다. 기록/소거 회로(1056)는 메모리 어레이(1030)로 데이터를 기록하거나 또는 그것으로부터 데이터를 소거하기 위해 제공된다.
제어 회로(1070)는 예를 들면, 상기 논의된 메모리 구성 동작들을 용이하게 하는 것과 같이, 적어도 부분적으로 본 개시의 다양한 실시예들을 구현하도록 구성된다. 적어도 일 실시예에서, 제어 회로(1070)는 상태 머신을 이용할 수 있다. 제어 회로(1070)는 예를 들면, 도 5에 대하여 상기 논의된 제어 회로(506)와 구성 및 기능에서 유사할 수 있다.
제어 신호들 및 명령어들이 프로세서(1010)에 의해 명령어 버스(1072)를 통해 메모리 디바이스(1000)로 전송될 수 있다. 명령어 버스(1072)는 예를 들면, 이산 신호일 수 있거나 또는 다수의 신호들로 구성될 수 있다. 이들 명령어 신호들(1072)은 데이터 판독, 데이터 기록(예로서, 프로그램), 및 소거 동작들을 포함하여, 메모리 어레이(1030) 상에서 동작들을 제어하기 위해 사용된다. 명령어 버스(1072), 어드레스 버스(1042), 및 데이터 버스(1062)는 다수의 표준 인터페이스들(1078)을 형성하기 위해 모두 조합되거나 또는 부분적으로 조합될 수 있다. 예를 들면, 메모리 디바이스(1000) 및 프로세서(1010) 사이에서의 인터페이스(1078)는 범용 직렬 버스(USB) 인터페이스일 수 있다. 인터페이스(1078)는 또한 이 기술분야의 숙련자들에게 알려진 바와 같이, 많은 하드 디스크 드라이브들(예로서, SATA, PATA)과 함께 사용된 표준 인터페이스일 수 있다.
도 10에 예시된 전자 시스템은 메모리의 특징들의 기본적인 이해를 용이하게 하기 위해 간소화되며 단지 예시를 위한 것이다. 비-휘발성 메모리들의 내부 회로 및 기능들의 보다 상세한 이해가 이 기술분야의 숙련자들에게 알려져 있다.
결론
요약하면, 본 개시의 하나 이상의 실시예들은 비-휘발성 메모리 디바이스에 사용자 데이터 및 오버헤드 데이터 메모리 셀들을 구성하는 방법들을 제공한다. 이들 방법들은 특정한 애플리케이션을 위한 메모리 디바이스의 구성 동안 할당된 메모리 셀들의 보다 효율적인 할당을 가능하게 할 수 있다. 이들 방법들은 메모리 디바이스가 사용되는 특정한 애플리케이션을 고려할 때 요구될 수 있는 것보다 많은 예비 메모리 셀들을 할당할 때 상당한 감소를 가능하게 할 수 있다. 보다 효율적인 메모리 디바이스가 특정한 메모리 디바이스 애플리케이션에 응답하여 메모리 셀들의 할당을 조정하는 이들 방법들 중 하나 이상을 이용하는 것으로부터 비롯된다는 것이 또한 인지될 수 있다.
특정 실시예들이 여기에 예시되고 설명되지만, 다른 구성들이 도시된 특정 실시예들에 대해 대체될 수 있다는 것이 이 기술분야의 숙련자들에 의해 이해될 것이다. 본 개시의 많은 각색들이 이 기술분야의 숙련자들에게 명백할 것이다. 따라서, 본 출원은 본 개시의 임의의 각색들 또는 변화들을 커버하도록 의도된다.

Claims (60)

  1. 로우들 및 컬럼들로 논리적으로 배열된 메모리 셀들의 어레이를 가진 메모리 디바이스를 동작시키는 방법으로서,
    제 1 사용자 데이터의 크기 요건 또는 신뢰도에 응답하여, 제 1 페이지의 메모리 셀들의 전부가 상기 제 1 사용자 데이터의 전부만을 저장하도록 할당되는 식으로 상기 제 1 페이지의 메모리 셀들을 구성하고, 또한 제 2 페이지의 메모리 셀들의 일부만이 상기 제 1 사용자 데이터에 특정된 제 1 오버헤드 데이터의 전부를 저장하도록, 상기 제 1 페이지의 메모리 셀들과는 상이한 상기 제 2 페이지의 메모리 셀들의 일부를 할당하는 단계; 및
    제 2 사용자 데이터의 크기 요건 또는 신뢰도에 응답하여, 상기 제 1 사용자 데이터의 일부를 저장하도록 할당되었던 상기 제 1 페이지의 메모리 셀들의 일부가 상기 제 2 사용자 데이터의 전부를 저장하도록 할당되고 또한 상기 제 1 사용자 데이터의 나머지 부분을 저장하도록 할당되었던 상기 제 1 페이지의 메모리 셀들의 나머지 부분이 상기 제 2 사용자 데이터에 특정된 제 2 오버헤드 데이터의 일부를 저장하도록 할당되는 식으로 상기 제 1 페이지의 메모리 셀들을 재구성하고, 또한 상기 제 2 사용자 데이터에 특정된 상기 제 2 오버헤드 데이터의 나머지 부분을 저장하도록, 상기 제 1 사용자 데이터에 특정된 상기 제 1 오버헤드 데이터의 전부를 저장하는데 사용되었던 상기 제 2 페이지의 메모리 셀들의 일부를 할당하는 단계
    를 포함하는, 메모리 디바이스를 동작시키는 방법.
  2. 청구항 1에 있어서, 상기 제 1 페이지의 메모리 셀들은 한 로우의 메모리 셀들을 포함하는, 메모리 디바이스를 동작시키는 방법.
  3. 청구항 1에 있어서, 상기 제 1 사용자 데이터의 크기 요건은 상기 제 1 페이지의 메모리 셀들의 전부인, 메모리 디바이스를 동작시키는 방법.
  4. 청구항 1에 있어서, 상기 제 2 페이지의 메모리 셀들은 오버헤드 데이터만을 저장하도록 구성된, 메모리 디바이스를 동작시키는 방법.
  5. 청구항 1에 있어서, 상기 제 1 오버헤드 데이터는 제 1 ECC 데이터를 포함하고, 상기 제 2 오버헤드 데이터는 제 2 ECC 데이터를 포함하고, 제 1 원하는 ECC 분해능을 가진 제 1 ECC 기법을 이용하여 상기 제 1 사용자 데이터로부터 상기 제 1 ECC 데이터를 생성하는 단계, 및 제 2 원하는 ECC 분해능을 가진 제 2 ECC 기법을 이용하여 상기 제 2 사용자 데이터로부터 상기 제 2 ECC 데이터를 생성하는 단계를 더 포함하는, 메모리 디바이스를 동작시키는 방법.
  6. 청구항 1에 있어서, 상기 제 1 오버헤드 데이터는 제 1 ECC 데이터를 포함하고, 상기 제 2 페이지의 메모리 셀들의 일부만이 상기 제 1 사용자 데이터에 특정된 제 1 오버헤드 데이터의 전부를 저장하도록 상기 제 2 페이지의 메모리 셀들의 일부를 할당하는 단계는 원하는 분해능으로 상기 제 1 ECC 데이터를 저장하는데 요구되는 메모리 셀들의 개수만을 할당하는 단계를 포함하는, 메모리 디바이스를 동작시키는 방법.
  7. 청구항 1에 있어서, 상기 제 1 오버헤드 데이터는 제 1 ECC 데이터를 포함하고, 상기 제 2 오버헤드 데이터는 제 2 ECC 데이터를 포함하며, 상기 제 1 페이지의 메모리 셀들에 저장될 상기 제 1 사용자 데이터를 수신하고, 또한 제 1 ECC 기법을 상기 수신된 제 1 사용자 데이터에 적용하여 상기 제 1 ECC 데이터를 생성하는 단계, 및 상기 제 1 사용자 데이터의 일부를 저장하도록 할당되었던 상기 제 1 페이지의 메모리 셀들의 일부에 저장될 상기 제 2 사용자 데이터를 수신하고, 또한 제 2 ECC 기법을 상기 수신된 제 2 사용자 데이터에 적용하여 상기 제 2 ECC 데이터를 생성하는 단계를 더 포함하는, 메모리 디바이스를 동작시키는 방법.
  8. 청구항 7에 있어서, 상기 수신된 제 1 사용자 데이터를 갖는 다중-레벨 셀들로서 상기 제 1 페이지의 메모리 셀들을 프로그램하는 단계, 상기 생성된 제 1 ECC 데이터를 갖는 단일-레벨 메모리 셀들로서 상기 제 2 페이지의 메모리 셀들의 일부를 프로그램하는 단계, 상기 수신된 제 2 사용자 데이터를 갖는 다중-레벨 셀들로서 상기 제 1 사용자 데이터의 일부를 저장하도록 할당되었던 상기 제 1 페이지의 메모리 셀들의 일부를 프로그램하는 단계, 상기 생성된 제 2 ECC 데이터의 일부를 갖는 단일-레벨 셀들로서 상기 제 1 사용자 데이터의 나머지 부분을 저장하도록 할당되었던 상기 제 1 페이지의 메모리 셀들의 나머지 부분을 프로그램하는 단계, 및 상기 생성된 제 2 ECC 데이터의 나머지 부분을 갖는 단일-레벨 셀들로서 상기 제 2 페이지의 메모리 셀들의 일부를 프로그램하는 단계를 더 포함하는, 메모리 디바이스를 동작시키는 방법.
  9. 청구항 1에 있어서, 상기 메모리 디바이스의 제 1 애플리케이션에 응답하여 상기 제 1 사용자 데이터의 크기 요건을 결정하는 단계, 및 상기 메모리 디바이스의 제 2 애플리케이션에 응답하여 상기 제 2 사용자 데이터의 크기 요건을 결정하는 단계를 더 포함하는, 메모리 디바이스를 동작시키는 방법.
  10. 청구항 1에 있어서, 상기 메모리 디바이스의 제 1 동작 모드에 응답하여 상기 제 1 사용자 데이터의 크기 요건을 결정하는 단계, 및 상기 메모리 디바이스의 제 2 동작 모드에 응답하여 상기 제 2 사용자 데이터의 크기 요건을 결정하는 단계를 더 포함하는, 메모리 디바이스를 동작시키는 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
KR1020147006232A 2011-08-12 2012-07-31 메모리 디바이스들 및 메모리 디바이스를 위한 구성 방법들 KR101574033B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/208,802 US8902653B2 (en) 2011-08-12 2011-08-12 Memory devices and configuration methods for a memory device
US13/208,802 2011-08-12
PCT/US2012/048975 WO2013025342A1 (en) 2011-08-12 2012-07-31 Memory devices and configuration methods for a memory device

Publications (2)

Publication Number Publication Date
KR20140046064A KR20140046064A (ko) 2014-04-17
KR101574033B1 true KR101574033B1 (ko) 2015-12-02

Family

ID=47677462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006232A KR101574033B1 (ko) 2011-08-12 2012-07-31 메모리 디바이스들 및 메모리 디바이스를 위한 구성 방법들

Country Status (6)

Country Link
US (5) US8902653B2 (ko)
EP (1) EP2742508A4 (ko)
JP (1) JP5749860B2 (ko)
KR (1) KR101574033B1 (ko)
CN (1) CN103797541B (ko)
WO (1) WO2013025342A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170129060A (ko) * 2016-05-16 2017-11-24 윈본드 일렉트로닉스 코포레이션 반도체 장치

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902653B2 (en) 2011-08-12 2014-12-02 Micron Technology, Inc. Memory devices and configuration methods for a memory device
US8645811B2 (en) * 2011-10-27 2014-02-04 Dell Products L.P. System and method for selective error checking
US9058867B2 (en) * 2012-06-01 2015-06-16 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and driving method thereof
US9048410B2 (en) 2013-05-31 2015-06-02 Micron Technology, Inc. Memory devices comprising magnetic tracks individually comprising a plurality of magnetic domains having domain walls and methods of forming a memory device comprising magnetic tracks individually comprising a plurality of magnetic domains having domain walls
TWI497280B (zh) * 2013-07-08 2015-08-21 Phison Electronics Corp 資料保護方法、記憶體儲存裝置與記憶體控制器
TWI578320B (zh) * 2014-11-25 2017-04-11 旺宏電子股份有限公司 記憶體的操作方法及應用其之記憶體裝置
US9654148B2 (en) 2015-01-06 2017-05-16 Samsung Electronics Co., Ltd. Reconfigurable ECC for memory
CN104851452B (zh) * 2015-05-06 2017-09-29 中国航天科技集团公司第九研究院第七七一研究所 一种基于功耗控制的存储体片上集成结构及其控制方法
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
KR102372825B1 (ko) * 2015-07-31 2022-03-14 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP6479638B2 (ja) * 2015-12-09 2019-03-06 株式会社東芝 ビデオサーバ装置およびデータ書き込み/読み出し方法
US10558525B2 (en) 2016-06-30 2020-02-11 Taiwan Semiconductor Manufacturing Company, Ltd. Method of correcting errors in a memory array and a system for implementing the same
US10290346B2 (en) * 2016-12-22 2019-05-14 Western Digital Technologies, Inc. Method and apparatus for low-latency read of flash storage devices using fractional bits per cell
US10445199B2 (en) * 2016-12-22 2019-10-15 Western Digital Technologies, Inc. Bad page management in storage devices
KR101949482B1 (ko) * 2017-03-09 2019-02-18 성균관대학교산학협력단 에러 정정 기능을 갖는 메모리 장치, 메모리 장치의 에러 정정 인코딩 방법 및 메모리 장치의 에러 정정 디코딩 방법
US10976936B2 (en) * 2017-08-23 2021-04-13 Micron Technology, Inc. Sensing operations in memory
US10853168B2 (en) 2018-03-28 2020-12-01 Samsung Electronics Co., Ltd. Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM)
US10929033B2 (en) * 2018-04-25 2021-02-23 Micron Technology, Inc. Allocating variable media types of memory devices in a memory system
US10891063B2 (en) * 2018-11-28 2021-01-12 Micron Technology, Inc. Apparatus and methods for managing data storage among groups of memory cells of multiple reliability ranks
FR3089317A1 (fr) * 2018-12-03 2020-06-05 Stmicroelectronics (Rousset) Sas Procédé de gestion de l’espace mémoire d’un dispositif de mémoire et système correspondant
US10963336B2 (en) 2019-08-29 2021-03-30 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
US11200118B2 (en) * 2019-08-29 2021-12-14 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US11042436B2 (en) 2019-08-29 2021-06-22 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
US11728003B2 (en) * 2020-05-12 2023-08-15 Qualcomm Incorporated System and memory with configurable error-correction code (ECC) data protection and related methods

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131954A (ja) 2001-08-16 2003-05-09 Hewlett Packard Co <Hp> 動的可変長誤り訂正符号
WO2003085676A1 (fr) 2002-04-05 2003-10-16 Renesas Technology Corp. Dispositif de stockage non volatil
JP2009282923A (ja) 2008-05-26 2009-12-03 Toshiba Corp 半導体記憶装置及び不揮発性メモリ

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177797A (ja) * 1996-12-17 1998-06-30 Toshiba Corp 半導体記憶装置
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US6944063B2 (en) 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
US6906961B2 (en) * 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
KR100719380B1 (ko) * 2006-03-31 2007-05-18 삼성전자주식회사 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
US7322002B2 (en) * 2004-05-26 2008-01-22 Micron Technology, Inc. Erasure pointer error correction
US7444579B2 (en) 2005-04-28 2008-10-28 Micron Technology, Inc. Non-systematic coded error correction
KR100681429B1 (ko) 2005-10-24 2007-02-15 삼성전자주식회사 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US7546515B2 (en) * 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US7747925B2 (en) * 2006-03-06 2010-06-29 Fujifilm Corporation Apparatus and method for error correction code striping
US7548459B2 (en) * 2006-08-29 2009-06-16 Micron Technology, Inc. Method, apparatus, and system providing adjustable memory page configuration
US7739576B2 (en) 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
JP2008077782A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム
JP2008077783A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム
US7870457B2 (en) * 2006-12-29 2011-01-11 Sandisk Corporation Page by page ECC variation in a memory device
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
TWI368223B (en) 2007-12-07 2012-07-11 Phison Electronics Corp Flash memory data writing method and controller using the same
US9477587B2 (en) 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
TWI382422B (zh) 2008-07-11 2013-01-11 Genesys Logic Inc 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法
TWI389127B (zh) 2008-08-01 2013-03-11 Jmicron Technology Corp 快閃記憶體的配置方法
US8645749B2 (en) 2009-02-04 2014-02-04 Micron Technology, Inc. Systems and methods for storing and recovering controller data in non-volatile memory devices
US20100262755A1 (en) * 2009-04-10 2010-10-14 Honeywell International Inc. Memory systems for computing devices and systems
US8307261B2 (en) * 2009-05-04 2012-11-06 National Tsing Hua University Non-volatile memory management method
US9042191B2 (en) * 2009-08-12 2015-05-26 Taiwan Semiconductor Manufacturing Company, Ltd. Self-repairing memory
KR101648531B1 (ko) * 2010-02-12 2016-08-17 삼성전자주식회사 불휘발성 메모리 시스템과 이의 동작 방법
EP2418648B1 (en) * 2010-07-29 2013-03-06 STMicroelectronics (Grenoble 2) SAS RAM memory device selectively protectable with ECC
US8902653B2 (en) * 2011-08-12 2014-12-02 Micron Technology, Inc. Memory devices and configuration methods for a memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131954A (ja) 2001-08-16 2003-05-09 Hewlett Packard Co <Hp> 動的可変長誤り訂正符号
WO2003085676A1 (fr) 2002-04-05 2003-10-16 Renesas Technology Corp. Dispositif de stockage non volatil
JP2009282923A (ja) 2008-05-26 2009-12-03 Toshiba Corp 半導体記憶装置及び不揮発性メモリ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170129060A (ko) * 2016-05-16 2017-11-24 윈본드 일렉트로닉스 코포레이션 반도체 장치
KR101950758B1 (ko) * 2016-05-16 2019-02-21 윈본드 일렉트로닉스 코포레이션 반도체 장치

Also Published As

Publication number Publication date
US20170132073A1 (en) 2017-05-11
US20190340065A1 (en) 2019-11-07
WO2013025342A1 (en) 2013-02-21
KR20140046064A (ko) 2014-04-17
US10891187B2 (en) 2021-01-12
US8902653B2 (en) 2014-12-02
EP2742508A1 (en) 2014-06-18
CN103797541A (zh) 2014-05-14
EP2742508A4 (en) 2015-06-10
US9594676B2 (en) 2017-03-14
JP2014522075A (ja) 2014-08-28
US20190340066A1 (en) 2019-11-07
CN103797541B (zh) 2016-12-07
US20150033096A1 (en) 2015-01-29
JP5749860B2 (ja) 2015-07-15
WO2013025342A8 (en) 2014-03-06
US20130039129A1 (en) 2013-02-14
US10409673B2 (en) 2019-09-10
US10891188B2 (en) 2021-01-12

Similar Documents

Publication Publication Date Title
US10891188B2 (en) Memory devices having differently configured blocks of memory cells
KR101665280B1 (ko) 메모리 디바이스에서의 에러 정정 동작들
CN107093465B (zh) 包括电压搜索单元的数据存储器装置
JP5473264B2 (ja) 変更された読み出し電圧を用いるマルチレベルセルを含む不揮発性メモリ装置及びシステム、並びにその動作方法
KR101618311B1 (ko) 플래시 메모리 장치 및 그것의 읽기 방법
US9710376B2 (en) Wear leveling for a memory device
US8446766B2 (en) Nonvolatile memory device and related programming method
US8315102B2 (en) Multi-bit flash memory devices and methods of programming and erasing the same
US8902650B2 (en) Memory devices and operating methods for a memory device
KR20220006467A (ko) 기계 학습에 기반한 오류 정정을 수행하는 메모리 장치 및 이의 동작 방법
CN111833949A (zh) 存储器控制器、存储器系统及其操作方法
US7907444B2 (en) Memory device reference cell programming method and apparatus
US20130318419A1 (en) Flash memory system including read counter logic
US9318216B2 (en) Multilevel cell nonvolatile memory system
CN115938440A (zh) 确定错误计数的存储控制器、操作其的方法以及操作包括其的存储设备的方法
US11934701B2 (en) Storage controller determining distribution type, method of operating the same, and method of operating storage device including the same

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181119

Year of fee payment: 4