KR20210014746A - 데이터 극성에 기초한 데이터 저장 - Google Patents

데이터 극성에 기초한 데이터 저장 Download PDF

Info

Publication number
KR20210014746A
KR20210014746A KR1020217002762A KR20217002762A KR20210014746A KR 20210014746 A KR20210014746 A KR 20210014746A KR 1020217002762 A KR1020217002762 A KR 1020217002762A KR 20217002762 A KR20217002762 A KR 20217002762A KR 20210014746 A KR20210014746 A KR 20210014746A
Authority
KR
South Korea
Prior art keywords
data word
memory device
data
memory
storage state
Prior art date
Application number
KR1020217002762A
Other languages
English (en)
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 KR20210014746A publication Critical patent/KR20210014746A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0653Monitoring storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/221Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements using ferroelectric capacitors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2273Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2275Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0073Write using bi-directional cell biasing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 디바이스에서 데이터를 저장하고 판독하기 위한 방법들, 시스템들, 및 디바이스들이 설명된다. 메모리 디바이스는 데이터 워드 내에 데이터를 저장하기 위해 하나 이상의 저장 상태들을 이용할 수 있다. 메모리 디바이스는 하나 이상의 다른 저장 상태들을 저장하거나 또는 판독하는 것에 비교하여 제 1 저장 상태를 저장하거나 또는 판독할 때 더 높은 데이터 누설 또는 더 많은 전력 소비를 보일 수 있다. 몇몇 경우들에서, 메모리 디바이스는 제 2 데이터 워드에 대한 상이한 심볼 유형을 생성하기 위해 제 1 데이터 워드의 각각의 심볼 유형을 수정함으로써 제 1 데이터 워드에 대응하는 제 2 데이터 워드를 생성할 수 있다. 메모리 디바이스는 큰 데이터 누설, 또는 고-전력 소비, 또는 양쪽 모두와 연관된 저장 상태의 발생을 감소시킬 수 있다. 뿐만 아니라, 메모리 디바이스는 대응하는 데이터 워드의 변환을 나타내는 표시자를 생성하고 저장할 수 있다.

Description

데이터 극성에 기초한 데이터 저장
상호 참조
본 특허 출원은 2019년 7월 1일에 출원된, "데이터 극성에 기초한 데이터 저장"이라는 제목의, Schreck et al.에 의한 미국 특허 출원 번호 제16/459,462호 및 2018년 7월 3일에 출원된, "데이터 극성에 기초한 데이터 저장"이라는 제목의, Schreck et al.에 의한 미국 가특허 출원 번호 제62/693,786호에 대한 우선권을 주장하고, 이의 각각은 양수인에게 양도된다.
이하는 전반적으로 메모리 디바이스를 포함하는 시스템에 관한 것이며, 보다 구체적으로 데이터 극성에 기초한 데이터 저장에 관한 것이다.
메모리 디바이스들은 컴퓨터들, 무선 통신 디바이스들, 카메라들, 디지털 디스플레이들 등과 같은, 다양한 전자 디바이스들에 정보를 저장하기 위해 널리 사용된다. 정보는 메모리 디바이스의 상이한 상태들을 프로그램함으로써 저장된다. 예를 들어, 이진 디바이스들은 종종 논리 1 또는 논리 0으로 표시된, 두 개의 상태들 중 하나를 가장 자주 저장한다. 다른 디바이스들(예컨대, 다중-레벨 셀(MLC) 디바이스)에서, 두 개 이상의 상태들이 저장될 수 있다. 저장된 정보를 액세스하기 위해, 디바이스의 컴포넌트는 메모리 디바이스에서 적어도 하나의 저장된 상태를 판독하거나, 또는 감지할 수 있다. 정보를 저장하기 위해, 디바이스의 컴포넌트는 상태를 메모리 디바이스에 기록하거나, 또는 프로그램할 수 있다.
자기 하드 디스크들, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 RAM(DRAM), 동기식 동적 RAM(SDRAM), 강유전성 RAM(FeRAM), 자기 RAM(MRAM), 저항성 RAM(RRAM), 플래시 메모리, 상 변화 메모리(PCM), 및 기타를 포함한, 다양한 유형들의 메모리 디바이스들이 존재한다. 메모리 디바이스들은 휘발성 또는 비-휘발성일 수 있다. 휘발성 메모리 디바이스들, 예컨대, DRAM은 그것들이 외부 전원에 의해 주기적으로 리프레싱되지 않는다면 시간에 걸쳐 그것들의 저장된 상태를 잃을 수 있다. 메모리 디바이스들을 개선하는 것은, 일반적으로 다른 메트릭들 중에서, 메모리 셀 밀도를 증가시키는 것, 판독/기록 속도들을 증가시키는 것, 신뢰성을 증가시키는 것, 데이터 보유를 증가시키는 것, 전력 소비를 감소시키는 것, 또는 제조 비용들을 감소시키는 것을 포함할 수 있다. 몇몇 메모리 디바이스들은 데이터를 전달하는 동안 전력 소비를 감소시키기 위해 데이터 버스 인버전(data bus inversion; DBI)을 이용할 수 있다. 그러나 DBI는 데이터 저장에 관련된 증가된 성능(예컨대, 데이터 보유, 전력 소비)을 처리하지 않을 수 있다.
도 1은 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 시스템의 예를 예시한다.
도 2는 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 메모리 어레이의 예를 예시한다.
도 3은 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 프로세스 흐름의 예를 예시한다.
도 4는 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 데이터 변환들의 예들을 예시한다.
도 5는 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 프로세스 흐름의 예를 예시한다.
도 6은 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 디바이스의 블록도이다.
도 7은 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 디바이스의 블록도를 도시한다.
도 8 내지 도 11은 본 개시에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 방법 또는 방법들을 예시한 흐름도들을 도시한다.
몇몇 메모리 디바이스들(예컨대, DRAM 메모리 디바이스들)에서, 메모리 셀은 전류 또는 전하 누설을 경험할 수 있으며, 이것은 메모리 셀, 및 결과적으로 셀이 컴포넌트인 어레이에 저장된 데이터의 신뢰성에 영향을 줄 수 있다. 이것은 시간에 걸쳐 누설한 저장된 전하들의 결과로서 메모리 디바이스가 더 높은 에러 레이트들을 보일 수 있도록 데이터 보유 및 데이터 무결성에서의 감소로서 나타날 수 있다. 본 개시 전체에 걸쳐, 용어 누설은 전하 또는 전류 누설, 또는 셀에 저장된 정보 또는 데이터에 대한 결과적인 영향(예컨대, 데이터 누설")을 나타낼 수 있다. 몇몇 경우들에서, 특정한 저장 상태들(예컨대, 전하 레벨들)은 다른 저장 상태들보다 높은 누설 레이트들을 보일 수 있다. 다른 예들에서, 메모리 디바이스는 하나 이상의 다른 저장 상태들에 비교할 때 하나의 저장 상태를 저장할 때 더 높은 전력 소비를 이용할 수 있다. 즉, 메모리 디바이스는 제 2 저장 상태를 저장하거나 또는 판독하는 것에 비교할 때 제 1 저장 상태를 저장하거나 또는 판독할 때 더 열악한 성능을 보일 수 있다. 몇몇 경우들에서, 큰 데이터 누설 또는 전력 소비를 가진 저장 스테이지의 발생을 감소시키는 것은 메모리 디바이스의 전체 성능을 증가시킬 수 있다(예컨대, 개선된 데이터 보유, 더 낮은 전력 소비).
본 출원에서의 개시에 따르면, 메모리 디바이스는 누설을 감소시키며 그에 의해 데이터 보유 및/또는 데이터 무결성을 개선하기 위해 하나 이상의 메모리 셀들에 데이터를 저장하기 전에 데이터를 변환할 수 있다. 메모리 디바이스는 메모리 디바이스에 저장될 제 1 데이터 워드를 수신할 수 있다. 메모리 디바이스는 제 1 데이터 워드가 저장 상태 기준을 충족시키는지를 결정할 수 있다. 예를 들어, 메모리 디바이스는 데이터 워드의 부분으로서 메모리 셀들에 저장될 수 있는 심볼 유형들을 결정할 수 있다. 메모리 디바이스는 제 1 데이터 워드에 변환을 적용함으로써 제 1 데이터 워드에 대응하는 제 2 데이터 워드를 생성할 수 있다. 변환은 제 1 데이터 워드의 각각의 심볼 유형을 제 2 데이터 워드에 대한 대응하는 심볼 유형으로 수정하는 것을 포함할 수 있다. 변환을 이용해서, 메모리 디바이스는 데 1 데이터 워드를 저장하기 위한 데이터 누설의 양을 감소시키며 그에 의해 데이터 손실, 에러들, 또는 다른 해로운 거동을 감소시킬 수 있다.
뿐만 아니라, 메모리 디바이스는 메모리 디바이스에 저장된 제 2 데이터 워드에 대응하는 표시자를 생성하고 저장할 수 있다. 표시자는 제 2 데이터 워드가 제 1 데이터 워드의 변환된 버전임을 나타낼 수 있다. 이러한 방식으로, 메모리 디바이스는 결과적으로 메모리 디바이스의 성능을 증가시킬 수 있는(예컨대, 데이터 보유, 전력 소비를 증가시킨다) 해로운 거동과 연관된 심볼 유형들의 발생을 감소시킬 수 있다. 몇몇 경우들에서, 메모리 디바이스는 3개 이상의 상태들을 저장하도록 구성되는 하나 이상의 다중-레벨 메모리 셀들을 포함할 수 있다. 이들 변환들은 다중-레벨 데이터를 변환하고 다중-레벨 메모리 디바이스들에서 데이터 누설을 감소시키기 위해 사용될 수 있다.
본 개시의 특징들은 처음에 메모리 시스템의 맥락에서 설명된다. 본 개시의 특징들은 프로세스 흐름들, 다중-레벨 셀 변환의 예, 및 디바이스 블록도들의 맥락으로 설명된다. 본 개시의 이들 및 다른 특징들은 또한 데이터 극성에 기초한 데이터 저장과 관련되는 장치 다이어그램들, 시스템 다이어그램들, 및 흐름도들에 의해 예시되고 그것들을 참조하여 설명된다.
도 1은 본 출원에서 개시된 양태들에 따른 하나 이상의 메모리 디바이스들을 이용하는 시스템(100)의 예를 예시한다. 시스템(100)은 외부 메모리 제어기(105), 메모리 디바이스(110), 및 메모리 디바이스(110)와 외부 메모리 제어기(105)를 결합한 복수의 채널들(115)을 포함할 수 있다. 시스템(100)은 하나 이상의 메모리 디바이스들을 포함할 수 있지만, 설명의 용이함을 위해 하나 이상의 메모리 디바이스들은 단일 메모리 디바이스(110)로서 설명될 수 있다.
시스템(100)은 컴퓨팅 디바이스, 이동 컴퓨팅 디바이스, 무선 디바이스, 또는 그래픽스 프로세싱 디바이스와 같은, 전자 디바이스의 양태들을 포함할 수 있다. 시스템(100)은 휴대용 전자 디바이스의 예일 수 있다. 시스템(100)은 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 휴대 전화, 착용 가능 디바이스, 인터넷-연결 디바이스 등의 예일 수 있다. 메모리 디바이스(110)는 시스템(100)의 하나 이상의 다른 컴포넌트들에 대한 데이터를 저장하도록 구성된 시스템의 컴포넌트일 수 있다. 몇몇 예들에서, 시스템(100)은 기지국 또는 액세스 포인트를 사용하여 다른 시스템들 또는 디바이스들과 양-방향 무선 통신을 위해 구성된다. 몇몇 예들에서, 시스템(100)은 기계-형 통신(MTC), 기계-대-기계(M2M) 통신, 또는 디바이스-대-디바이스(D2D) 통신이 가능하다.
시스템(100)의 적어도 일부들은 호스트 디바이스의 예들일 수 있다. 이러한 호스트 디바이스는 컴퓨팅 디바이스, 이동 컴퓨팅 디바이스, 무선 디바이스, 그래픽스 프로세싱 디바이스, 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 휴대 전화, 착용 가능 디바이스, 인터넷-연결 디바이스, 몇몇 다른 정지 또는 휴대용 전자 디바이스 등과 같은 프로세스들을 실행하기 위해 메모리를 사용하는 디바이스의 예일 수 있다. 몇몇 경우들에서, 호스트 디바이스는 외부 메모리 제어기(105)의 기능들을 구현하는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 그것의 조합을 나타낼 수 있다. 몇몇 경우들에서, 외부 메모리 제어기(105)는 호스트 또는 호스트 디바이스로서 불리울 수 있다.
몇몇 경우들에서, 메모리 디바이스(110)는 시스템(100)의 다른 컴포넌트들과 통신하며 잠재적으로 시스템(100)에 의해 사용되거나 또는 참조될 물리적 메모리 어드레스들/공간을 제공하도록 구성되는 독립형 디바이스 또는 컴포넌트일 수 있다. 몇몇 예들에서, 메모리 디바이스(110)는 적어도 하나의 또는 복수의 상이한 유형들의 시스템들(100)과 함께 동작하도록 구성 가능할 수 있다. 시스템(100)의 컴포넌트들과 메모리 디바이스(110) 간의 시그널링은 신호들을 변조하기 위한 변조 기법들, 신호들을 전달하기 위한 상이한 핀 설계들, 시스템(100) 및 메모리 디바이스(110)의 별개의 패키징, 시스템(100)과 메모리 디바이스(110) 간의 클록 시그널링 및 동기화, 타이밍 협약들, 및/또는 다른 인자들을 지원하도록 동작 가능할 수 있다.
메모리 디바이스(110)는 시스템(100)의 컴포넌트들에 대한 데이터를 저장하도록 구성될 수 있다. 몇몇 경우들에서, 메모리 디바이스(110)는 시스템(100)에 대해 슬레이브-형 디바이스로서 동작할 수 있다(예컨대, 외부 메모리 제어기(105)를 통해 시스템(100)에 의해 제공된 명령들에 응답하고 그것을 실행하는). 이러한 명령들은 기록 동작을 위한 기록 명령, 판독 동작을 위한 판독 명령, 리프레시 동작을 위한 리프레시 명령, 또는 다른 명령들과 같은, 액세스 동작을 위한 액세스 명령을 포함할 수 있다. 메모리 디바이스(110)는 데이터 저장을 위한 원하는 또는 특정된 용량을 지원하기 위해 하나 이상의 메모리 다이들(160)(예컨대, 메모리 칩들)을 포함할 수 있다. 둘 이상의 메모리 다이들(160)을 포함한 메모리 디바이스(110)는 다중-다이 메모리 또는 패키지로서 불리울 수 있다(또한 다중-칩 메모리 또는 패키지로서 불리운다).
시스템(100)은 프로세서(120), 기본 입력/출력 시스템(BIOS) 컴포넌트(125), 하나 이상의 주변 컴포넌트들(130), 및 입력/출력(I/O) 제어기(135)를 추가로 포함할 수 있다. 시스템(100)의 컴포넌트들은 버스(140)를 사용하여 서로 전자 통신할 수 있다.
프로세서(120)는 시스템(100)의 적어도 일부들을 제어하도록 구성될 수 있다. 프로세서(120)는 범용 프로세서, 디지털 신호 프로세서(DSP), 애플리케이션-특정 집적 회로(ASIC), 필드-프로그램 가능한 게이트 어레이(FPGA) 또는 다른 프로그램 가능한 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들일 수 있거나, 또는 그것은 이들 유형들의 컴포넌트들의 조합일 수 있다. 이러한 경우들에서, 프로세서(120)는 다른 예들 중에서, 중앙 프로세싱 유닛(CPU), 그래픽스 프로세싱 유닛(GPU), 또는 시스템 온 칩(SoC)의 예일 수 있다.
BIOS 컴포넌트(125)는 시스템(100)의 다양한 하드웨어 컴포넌트들을 초기화하고 구동할 수 있는, 펌웨어로서 동작된 BIOS를 포함하는 소프트웨어 컴포넌트일 수 있다. BIOS 컴포넌트(125)는 또한 프로세서(120) 및 시스템(100)의 다양한 컴포넌트들, 예컨대, 주변 컴포넌트들(130), I/O 제어기(135) 등 사이에서의 데이터 흐름을 관리할 수 있다. BIOS 컴포넌트(125)는 판독-전용 메모리(ROM), 플래시 메모리, 또는 임의의 다른 비-휘발성 메모리에 저장된 프로그램 또는 소프트웨어를 포함할 수 있다.
주변 컴포넌트(들)(125)는 시스템(100)으로 또는 그것과 통합될 수 있는, 임의의 입력 디바이스 또는 출력 디바이스, 또는 이러한 디바이스들을 위한 인터페이스일 수 있다. 예들은 디스크 제어기들, 사운드 제어기, 그래픽스 제어기, 이더넷 제어기, 모뎀, 범용 직렬 버스(USB) 제어기, 직렬 또는 병렬 포트, 또는 주변 컴포넌트 상호접속(PCI) 또는 가속화 그래픽스 포트(AGP) 슬롯들과 같은, 주변 카드 슬롯들을 포함할 수 있다. 주변 컴포넌트(들)(125)는 주변장치들로서 이 기술분야의 숙련자들에 의해 이해되는 다른 컴포넌트들일 수 있다.
I/O 제어기(135)는 프로세서(120) 및 주변 컴포넌트(들)(13), 입력 디바이스들(145), 또는 출력 디바이스들(150) 사이에서의 데이터 통신을 관리할 수 있다. I/O 제어기(135)는 시스템(100)으로 또는 그것과 통합되지 않은 주변장치들을 관리할 수 있다. 몇몇 경우들에서, I/O 제어기(135)는 외부 주변 컴포넌트들로의 물리적 연결 또는 포트를 나타낼 수 있다.
입력(145)은 정보, 신호들, 또는 데이터를 시스템(100) 또는 그것의 컴포넌트들을 제공하는 시스템(100)의 외부에 있는 디바이스 또는 신호를 나타낼 수 있다. 이것은 사용자 인터페이스 또는 다른 디바이스들과의 또는 그 사이에서의 인터페이스를 포함할 수 있다. 몇몇 경우들에서, 입력(145)은 하나 이상의 주변 컴포넌트들(130)을 통해 시스템(100)과 인터페이스하는 주변장치일 수 있거나 또는 I/O 제어기(135)에 의해 관리될 수 있다.
출력(150)은 시스템(100) 또는 그것의 컴포넌트들 중 임의의 것으로부터 출력을 수신하도록 구성된 시스템(100)의 외부에 있는 디바이스 또는 신호를 나타낼 수 있다. 출력(150)의 예들은 디스플레이, 오디오 스피커들, 인쇄 디바이스, 또는 인쇄 회로 보드 상에서의 또 다른 프로세서 등을 포함할 수 있다. 몇몇 경우들에서, 출력(150)은 하나 이상의 주변 컴포넌트들(130)을 통해 시스템(100)과 인터페이스하는 주변장치일 수 있거나 또는 I/O 제어기(135)에 의해 관리될 수 있다.
시스템(100)의 컴포넌트들은 그것들의 기능들을 실행하도록 설계된 범용 또는 특수 목적 회로부로 구성될 수 있다. 이것은 본 출원에서 설명된 기능들을 실행하도록 구성된 다양한 회로 엘리먼트들, 예를 들어, 도전성 라인들, 트랜지스터들, 커패시터들, 인덕터들, 저항기들, 증폭기들, 또는 다른 능동 또는 수동 엘리먼트들을 포함할 수 있다.
메모리 디바이스(110)는 디바이스 메모리 제어기(155) 및 하나 이상의 메모리 다이들(160)을 포함할 수 있다. 각각의 메모리 다이(160)는 로컬 메모리 제어기(165)(예컨대, 로컬 메모리 제어기(165-a), 로컬 메모리 제어기(165-b), 및/또는 로컬 메모리 제어기(165-N)) 및 메모리 어레이(170)(예컨대, 메모리 어레이(170-a), 메모리 어레이(170-b), 및/또는 메모리 어레이(170-N))를 포함할 수 있다. 메모리 어레이(170)는 메모리 셀들의 모음(예컨대, 그리드)일 수 있으며, 각각의 메모리 셀은 적어도 1비트의 디지털 데이터를 저장하도록 구성된다. 몇몇 경우들에서, 각각의 메모리 셀은 1비트 이상의 디지털 데이터를 저장하도록 구성될 수 있다(즉, 각각의 메모리 셀은 2보다는 3개 이상의 유형들의 저장 상태들을 가질 수 있다). 몇몇 경우들에서, 특정한 저장 상태들은 다른 저장 상태들보다 높은 누설 레이트들을 보일 수 있다. 부가적으로 또는 대안적으로, 메모리 디바이스(110)는 다른 유형들의 저장 상태들에 비교할 때 일 유형의 저장 상태를 저장할 때 더 많은 전력을 이용할 수 있다. 몇몇 경우들에서, 메모리 디바이스(110)는 큰 데이터 누설을 가진 저장 상태 및/또는 높은 전력 소비와 연관된 저장 상태의 발생을 감소시킬 수 있다. 메모리 어레이들(170) 및/또는 메모리 셀들의 특징들은 도 2를 참조하여 더 상세하게 설명된다.
메모리 디바이스(110)는 메모리 셀들의 2-차원(2D) 어레이의 예일 수 있거나 또는 메모리 셀들의 3-차원(3D) 어레이의 예일 수 있다. 예를 들어, 2D 메모리 디바이스는 단일 메모리 다이(160)를 포함할 수 있다. 3D 메모리 디바이스는 둘 이상의 메모리 다이들(160)(예컨대, 메모리 다이(160-a), 메모리 다이(160-b), 및/또는 임의의 수의 메모리 다이들(160-N))을 포함할 수 있다. 3D 메모리 디바이스에서, 복수의 메모리 다이들(160-N)은 서로의 최상부 상에 적층될 수 있다. 몇몇 경우들에서, 3D 메모리 디바이스에서 메모리 다이들(160-N)은 데크들, 레벨들, 층들, 또는 다이들로서 불리울 수 있다. 3D 메모리 디바이스는 임의의 수량의 적층된 메모리 다이들(160-N)(예컨대, 2개 높이, 3개 높이, 4개 높이, 5개 높이, 6개 높이, 7개 높이, 8개 높이)을 포함할 수 있다. 이것은 단일 2D 메모리 디바이스와 비교하여 기판상에 배치될 수 있는 메모리 셀들의 수를 증가시킬 수 있으며, 이것은 결과적으로 생산 비용들을 감소시키거나 또는 메모리 어레이의 성능을 증가시키거나, 또는 양쪽 모두를 할 수 있다.
디바이스 메모리 제어기(155)는 메모리 디바이스(110)의 동작을 제어하도록 구성된 회로들 또는 컴포넌트들을 포함할 수 있다. 이와 같이, 디바이스 메모리 제어기(155)는 메모리 디바이스(110)가 명령들을 수행할 수 있게 하는 하드웨어, 펌웨어, 및 소프트웨어를 포함할 수 있으며 메모리 디바이스(110)에 관련된 명령들, 데이터, 또는 제어 정보를 수신하고, 송신하거나, 또는 실행하도록 구성될 수 있다. 디바이스 메모리 제어기(155)는 외부 메모리 제어기(105), 하나 이상의 메모리 다이들(160), 또는 프로세서(120)와 통신하도록 구성될 수 있다. 몇몇 경우들에서, 메모리 디바이스(110)는 외부 메모리 제어기(105)로부터 데이터 및/또는 명령들을 수신할 수 있다. 예를 들어, 메모리 디바이스(110)는 메모리 디바이스(110)가 시스템(100)의 컴포넌트(예컨대, 프로세서(120))를 대신하여 특정한 데이터를 저장함을 나타내는 기록 명령 또는 메모리 디바이스(110)가 시스템(100)의 컴포넌트(예컨대, 프로세서(120))로 메모리 다이(160)에 저장된 특정한 데이터를 제공함을 나타내는 판독 명령을 수신할 수 있다.
몇몇 경우들에서, 디바이스 메모리 제어기(155)는 메모리 다이(160)의 로컬 메모리 제어기(165)와 함께 본 출원에서 설명된 메모리 디바이스(110)의 동작을 제어할 수 있다. 디바이스 메모리 제어기(155) 및/또는 로컬 메모리 제어기들(165)에 포함된 컴포넌트들의 예들은 외부 메모리 제어기(105)로부터 수신된 신호들을 복조하기 위한 수신기들, 신호들을 변조하고 이를 외부 메모리 제어기(105)로 송신하기 위한 디코더들, 로직, 디코더들, 증폭기들, 필터들 등을 포함할 수 있다.
로컬 메모리 제어기(165)(예컨대, 메모리 다이(160)에 국소적인)는 메모리 다이(160)의 동작들을 제어하도록 구성될 수 있다. 또한, 로컬 메모리 제어기(165)는 디바이스 메모리 제어기(155)와 통신하도록(예컨대, 데이터 및/또는 명령들을 수신하고 송신하는) 구성될 수 있다. 로컬 메모리 제어기(165)는 본 출원에서 설명된 메모리 디바이스(110)의 동작을 제어하기 위해 디바이스 메모리 제어기(155)를 지원할 수 있다. 몇몇 경우들에서, 메모리 디바이스(110)는 디바이스 메모리 제어기(155)를 포함하지 않으며, 로컬 메모리 제어기(165) 또는 외부 메모리 제어기(105)는 본 출원에서 설명된 다양한 기능들을 수행할 수 있다. 이와 같이, 로컬 메모리 제어기(165)는 디바이스 메모리 제어기(155)와, 다른 로컬 메모리 제어기들(165)과, 또는 외부 메모리 제어기(105) 또는 프로세서(120)와 직접 통신하도록 구성될 수 있다.
외부 메모리 제어기(105)는 시스템(100)의 컴포넌트들(예컨대, 프로세서(120))과 메모리 디바이스(110) 사이에서 정보, 데이터, 및/또는 명령들의 통신을 가능하게 하도록 구성될 수 있다. 외부 메모리 제어기(105)는 시스템(100)의 컴포넌트들이 메모리 디바이스의 동작의 세부사항들을 알 필요가 없도록 시스템(100)의 컴포넌트들과 메모리 디바이스(110) 사이에서 리에종(liaison)으로서 동작할 수 있다. 시스템(100)의 컴포넌트들은 외부 메모리 제어기(105)가 만족하는 요청들을 외부 메모리 제어기(105)(예컨대, 판독 명령들 또는 기록 명령들)로 제공할 수 있다. 외부 메모리 제어기(105)는 시스템(100)의 컴포넌트들과 메모리 디바이스(110) 사이에서 교환된 통신들을 전환하거나 또는 이전시킬 수 있다. 몇몇 경우들에서, 외부 메모리 제어기(105)는 공통 (소스) 시스템 클록 신호를 발생시키는 시스템 클록을 포함할 수 있다. 몇몇 경우들에서, 외부 메모리 제어기(105)는 공통 (소스) 데이터 클록 신호를 발생시키는 공통 데이터 클록을 포함할 수 있다.
몇몇 경우들에서, 외부 메모리 제어기(105) 또는 시스템(100)의 다른 컴포넌트, 또는 본 출원에서 설명된 그것의 기능들이 프로세서(120)에 의해 구현될 수 있다. 예를 들어, 외부 메모리 제어기(105)는 프로세서(120) 또는 시스템(100)의 다른 컴포넌트에 의해 구현된 하드웨어, 펌웨어, 또는 소프트웨어, 또는 그것의 몇몇 조합일 수 있다. 외부 메모리 제어기(105)는 메모리 디바이스(110)의 외부에 있는 것으로 묘사되지만, 몇몇 경우들에서, 외부 메모리 제어기(105), 또는 본 출원에서 설명된 그것의 기능들은 메모리 디바이스(110)에 의해 또는 메모리 디바이스(110)를 포함하는 모듈(예컨대, 이중 인라인 메모리 모듈(DIMM))에서 구현될 수 있다. 예를 들어, 외부 메모리 제어기(105)는 디바이스 메모리 제어기(155) 또는 하나 이상의 로컬 메모리 제어기들(165)에 의해 구현된 하드웨어, 펌웨어, 또는 소프트웨어, 또는 그것의 몇몇 조합일 수 있다. 몇몇 경우들에서, 외부 메모리 제어기(105)는 외부 메모리 제어기(105)의 부분들이 프로세서(120)에 의해 구현되며 다른 부분들이 디바이스 메모리 제어기(155) 또는 로컬 메모리 제어기(165)에 의해 구현되도록 프로세서(120) 및 메모리 디바이스(110)에 걸쳐 분포될 수 있다. 마찬가지로, 몇몇 경우들에서, 여기에서 디바이스 메모리 제어기(155) 또는 로컬 메모리 제어기(165)에 속한 하나 이상의 기능들은 몇몇 경우들에서 외부 메모리 제어기(105)(프로세서(120)로부터 분리되거나 또는 그것에 포함되는 것으로서)에 의해 수행될 수 있다.
시스템(100)의 컴포넌트들은 복수의 채널들(115)을 사용하여 메모리 디바이스(110)와 정보를 교환할 수 있다. 몇몇 예들에서, 채널들(115)은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 통신들을 가능하게 할 수 있다. 각각의 채널(115)은 시스템(100)의 컴포넌트들과 연관된 단자들 사이에 하나 이상의 신호 경로들 또는 송신 매체들(예컨대, 도체들)을 포함할 수 있다. 예를 들어, 채널(115)은 외부 메모리 제어기(105)에서의 하나 이상의 핀들 또는 패드들 및 메모리 디바이스(110)에서의 하나 이상의 핀들 또는 패드들을 포함한 제 1 단자를 포함할 수 있다. 핀은 시스템(100)의 디바이스의 도전성 입력 또는 출력 포인트의 예일 수 있으며, 핀은 채널의 부분으로서 동작하도록 구성될 수 있다. 몇몇 경우들에서, 단자의 핀 또는 패드는 채널(115)의 신호 경로로의 부분일 수 있다. 부가적인 신호 경로들은 시스템(100)의 컴포넌트 내에서 신호들을 라우팅하기 위해 채널의 단자와 결합될 수 있다. 예를 들어, 메모리 디바이스(110)는 신호를 채널(115)의 단자로부터 메모리 디바이스(110)의 다양한 컴포넌트들(예컨대, 디바이스 메모리 제어기(155), 메모리 다이들(160), 로컬 메모리 제어기(165), 메모리 어레이들(170))로 라우팅하는 신호 경로들(예컨대, 메모리 다이(160)의 내부와 같은, 메모리 디바이스(110) 또는 그것의 컴포넌트들의 내부에 있는 신호 경로들)을 포함할 수 있다.
채널들(115)(및 연관된 신호 경로들 및 단자들)은 특정 유형들의 정보를 전달하는데 전용될 수 있다. 몇몇 경우들에서, 채널(115)은 종합 채널일 수 있으며 따라서 다수의 개개의 채널들을 포함할 수 있다. 예를 들어, 데이터 채널(190)은 x4(예컨대, 4개의 신호 경로들을 포함함), x8(예컨대, 8개의 신호 경로들을 포함함), x16(16개 신호 경로들을 포함함) 등일 수 있다.
몇몇 경우들에서, 채널들(115)은 하나 이상의 명령 및 어드레스(CA) 채널들(186)을 포함할 수 있다. CA 채널들(186)은 명령들과 연관된 제어 정보(예컨대, 어드레스 정보)를 포함한 명령들을 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 전달하도록 구성될 수 있다. 예를 들어, CA 채널(186)은 원하는 데이터의 어드레스를 가진 판독 명령을 포함할 수 있다. 몇몇 경우들에서, CA 채널(186)은 상승 클록 신호 에지 및/또는 하강 클록 신호 에지 상에 등록될 수 있다. 몇몇 경우들에서, CA 채널(186)은 8 또는 9개의 신호 경로들을 포함할 수 있다.
몇몇 경우들에서, 채널들(115)은 하나 이상의 클록 신호(CK) 채널들(188)을 포함할 수 있다. CK 채널들(188)은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 하나 이상의 공통 클록 신호들을 전달하도록 구성될 수 있다. 각각의 클록 신호는 하이 상태 및 로우 상태 사이에서 계속 오가며 외부 메모리 제어기(105) 및 메모리 디바이스(110)의 동작들을 조정하도록 구성될 수 있다. 몇몇 경우들에서, 클록 신호는 차동 출력(예컨대, CK_t 신호 및 CK_c 신호)일 수 있으며 CK 채널들(188)의 신호 경로들은 그에 따라 구성될 수 있다. 몇몇 경우들에서, 클록 신호는 단일 엔드형일 수 있다. 몇몇 경우들에서, 클록 신호는 1.5 GHz 신호일 수 있다. CK 채널(188)은 임의의 수의 신호 경로들을 포함할 수 있다. 몇몇 경우들에서, 클록 신호(CK)(예컨대, CK_t 신호 및 CK_c 신호)는 명령에 대한 타이밍 기준 및 메모리 디바이스(110)에 대한 어드레싱 동작들, 또는 메모리 디바이스(110)에 대한 다른 시스템-와이드 동작들을 제공할 수 있다. 클록 신호(CK)는 그러므로 다양하게 제어 클록 신호(CK), 명령 클록 신호(CK), 또는 시스템 클록 신호(CK)로서 불리울 수 있다. 시스템 클록 신호(CK)는 시스템 클록에 의해 생성될 수 있으며, 이것은 하나 이상의 하드웨어 컴포넌트들(예컨대, 발진기들, 결정들, 논리 게이트들, 트랜지스터들 등)을 포함할 수 있다.
몇몇 경우들에서, 채널들(115)은 하나 이상의 데이터(DQ) 채널들(190)을 포함할 수 있다. 데이터 채널들(190)은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 데이터 및/또는 제어 정보를 전달하도록 구성될 수 있다. 예를 들어, 데이터 채널들(190)은 메모리 디바이스(110)로 기록될 정보 또는 메모리 디바이스(110)로부터 판독된 정보를 전달할 수 있다(예컨대, 양-방향). 데이터 채널들(190)은 다양한 상이한 변조 기법들(예컨대, NRZ, PAM4)을 사용하여 변조될 수 있다.
몇몇 경우들에서, 채널들(115)은 다른 목적들에 전용될 수 있는 하나 이상의 다른 채널들(192)을 포함할 수 있다. 이들 다른 채널들(192)은 임의의 수의 신호 경로들을 포함할 수 있다.
몇몇 경우들에서, 다른 채널들(192)은 하나 이상의 기록 클록 신호(WCK) 채널들을 포함할 수 있다. WCK에서 'W'는 명목상으로 "기록"을 나타내지만, 기록 클록 신호(WCK)(예컨대, WCK_t 신호 및 WCK_c 신호)는 일반적으로 메모리 디바이스(110)에 대한 액세스 동작들을 위한 타이밍 기준(예컨대, 판독 및 기록 동작들 모두를 위한 타이밍 기준)을 제공할 수 있다. 따라서, 기록 클록 신호(WCK)는 또한 데이터 클록 신호(WCK)로서 불리울 수 있다. WCK 채널들은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 공통 데이터 클록 신호를 전달하도록 구성될 수 있다. 데이터 클록 신호는 외부 메모리 제어기(105) 및 메모리 디바이스(110)의 액세스 동작(예컨대, 기록 동작 또는 판독 동작)을 조정하도록 구성될 수 있다. 몇몇 경우들에서, 기록 클록 신호는 차동 출력(예컨대, WCK_t 신호 및 WCK_c 신호)일 수 있으며 WCK 채널들의 신호 경로들은 그에 따라 구성될 수 있다. WCK 채널은 임의의 수의 신호 경로들을 포함할 수 있다. 데이터 클록 신호(WCK)는 데이터 클록에 의해 생성될 수 있으며, 이것은 하나 이상의 하드웨어 컴포넌트들(예컨대, 발진기들, 결정들, 논리 게이트들, 트랜지스터들 등)을 포함할 수 있다.
몇몇 경우들에서, 다른 채널들(192)은 하나 이상의 에러 검출 코드(EDC) 채널들을 포함할 수 있다. EDC 채널들은 시스템 신뢰성을 개선하기 위해, 체크섬들과 같은, 에러 검출 신호들을 전달하도록 구성될 수 있다. EDC 채널은 임의의 수의 신호 경로들을 포함할 수 있다. 몇몇 예들에서, 에러 정정 코드들(ECC들)이 시스템 신뢰성을 개선하기 위해 추가로 이용될 수 있다.
채널들(115)은 다양한 상이한 아키텍처들을 사용하여 메모리 디바이스(110)와 외부 메모리 제어기(105)를 결합할 수 있다. 다양한 아키텍처들의 예들은 버스, 포인트-대-포인트 연결, 크로스바, 실리콘 인터포저와 같은 고-밀도 인터포저, 또는 유기 기판에 형성된 채널들 또는 그것의 몇몇 조합을 포함할 수 있다. 예를 들어, 몇몇 경우들에서, 신호 경로들은 실리콘 인터포저 또는 유리 인터포저와 같은, 고-밀도 인터포저를 적어도 부분적으로 포함할 수 있다.
채널들(115)을 통해 전달된 신호들은 다양한 상이한 변조 기법들을 사용하여 변조될 수 있다. 몇몇 경우들에서, 이진-심볼(또는 이진-레벨) 변조 기법은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 전달된 신호들을 변조하기 위해 사용될 수 있다. 이진-심볼 변조 기법은 M-진 변조 기법의 예일 수 있으며 여기에서 M은 2와 같다. 이진-심볼 변조 기법의 각각의 심볼은 1비트의 디지털 데이터를 나타내도록 구성될 수 있다(예컨대, 심볼은 논리 1 또는 논리 0을 나타낼 수 있다). 이진-심볼 변조 기법의 예들은, 이에 제한되지 않지만, 비-제로-복귀(NRZ), 단극성 인코딩, 양극성 인코딩, 맨체스터(Manchester) 인코딩, 두 개의 심볼들을 가진 펄스 진폭 변조(PAM)(예컨대, PAM2), 및/또는 기타를 포함한다.
몇몇 경우들에서, 다중-심볼(예컨대, 다중-레벨) 변조 기법은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 전달된 신호들을 변조하기 위해 사용될 수 있다. 다중-심볼 변조 기법은 M-진 변조 기법의 예일 수 있으며 여기에서 M은 3 이상이다. 다중-심볼 변조 기법의 각각의 심볼은 1비트 이상의 디지털 데이터를 나타내도록 구성될 수 있다(예컨대, 심볼은 논리 00, 논리 01, 논리 10, 또는 논리 11을 나타낼 수 있다). 다중-심볼 변조 기법들의 예들은, 이에 제한되지 않지만, PAM4, PAM8 등, 직교 진폭 변조(QAM), 직교 위상 시프트 키잉(QPSK), 및/또는 기타를 포함한다. 다중-심볼 신호 또는 PAM4 신호는 1비트 이상의 정보를 인코딩하기 위해 적어도 3개의 레벨들을 포함하는 변조 기법을 사용하여 변조되는 신호일 수 있다. 다중-심볼 변조 기법들 및 심볼들은 대안적으로 비-이진, 다중-비트, 또는 고차 변조 기법들 및 심볼들로서 불리울 수 있다.
도 2는 본 개시의 다양한 예들에 따른 메모리 다이(200)의 예를 예시한다. 메모리 다이(200)는 도 1을 참조하여 설명된 메모리 다이들(160)의 예일 수 있다. 몇몇 경우들에서, 메모리 다이(200)는 전자 메모리 장치로서 불리울 수 있다. 메모리 다이(200)는 상이한 논리 상태들을 저장하도록 프로그램 가능한 하나 이상의 메모리 셀들(205)을 포함할 수 있다. 각각의 메모리 셀(205)은 두 개 이상의 상태들을 저장하도록 프로그램 가능할 수 있다. 예를 들어, 메모리 셀(205)은 한 번에 1비트의 디지털 논리(예컨대, 논리 0 및 논리 1)를 저장하도록 구성될 수 있다. 몇몇 경우들에서, 단일 메모리 셀(205)(예컨대, 다중-레벨 메모리 셀)은 한 번에 1비트 이상의 디지털 논리(예컨대, 논리 00, 논리 01, 논리 10, 또는 논리 11)를 저장하도록 구성될 수 있다.
메모리 셀(205)은 프로그램 가능한 상태들을 나타내는 전하를 커패시터에 저장할 수 있다. DRAM 아키텍처들은 프로그램 가능한 상태를 나타내는 전하를 저장하기 위해 유전체 재료를 포함하는 커패시터를 포함할 수 있다. 몇몇 경우들에서, 유전체 재료는 다른 전하들보다 적은 누설을 가진 특정한 전하들을 저장할 수 있게 하는 다양한 특성들을 가질 수 있다.
판독 및 기록과 같은 동작들은 워드 라인(210) 및/또는 디지트 라인(215)과 같은 액세스 라인들을 활성화하거나 또는 선택함으로써 메모리 셀들(205) 상에서 수행될 수 있다. 몇몇 경우들에서, 디지트 라인들(215)은 또한 비트 라인들로서 불리울 수 있다. 액세스 라인들, 워드 라인들 및 디지트 라인들, 또는 그것들의 유사체들로의 참조들은 이해 또는 동작의 손실 없이 상호 교환 가능하다. 워드 라인(210) 또는 디지트 라인(215)을 활성화하거나 또는 선택하는 것은 각각의 라인에 전압을 인가하는 것을 포함할 수 있다.
메모리 다이(200)는 그리드-형 패턴으로 액세스 라인들(예컨대, 워드 라인들(210) 및 디지트 라인들(215))을 배열할 수 있다. 메모리 셀들(205)은 워드 라인들(210)과 디지트 라인들(215)의 교차점들에 배치될 수 있다. 워드 라인(210) 및 디지트 라인(215)을 바이어싱함으로써(예컨대, 워드 라인(210) 또는 디지트 라인(215)에 전압을 인가함으로써), 단일 메모리 셀(205)이 그것들의 교차점에서 액세스될 수 있다.
메모리 셀들(205)을 액세스하는 것은 행 디코더(220), 열 디코더(225)를 통해 제어될 수 있다. 예를 들어, 행 디코더(220)는 로컬 메모리 제어기(260)로부터 로우 어드레스를 수신하며 수신된 로우 어드레스에 기초하여 워드 라인(210)을 활성화할 수 있다. 열 디코더(225)는 로컬 메모리 제어기(260)로부터 컬럼 어드레스를 수신할 수 있으며 수신된 컬럼 어드레스에 기초하여 디지트 라인(215)을 활성화할 수 있다. 예를 들어, 메모리 다이(200)는 WL_1 내지 WL_M으로 라벨링된, 다수의 워드 라인들(210), 및 DL_1 내지 DL_N으로 라벨링된 다수의 디지트 라인들(215)을 포함할 수 있으며, 여기에서 M 및 N은 메모리 다이(200)의 크기에 의존한다. 따라서, 워드 라인(210) 및 디지트 라인(215), 예컨대, WL_1 및 DL_3을 활성화함으로써, 그것들의 교차점에서 메모리 셀(205)이 액세스될 수 있다. 워드 라인(210) 및 디지트 라인(215)의 교차점은, 2-차원 또는 3-차원 구성에서, 메모리 셀(205)의 어드레스로서 불리울 수 있다.
메모리 셀(205)은 커패시터(230) 및 스위칭 컴포넌트(235)와 같은, 논리 저장 컴포넌트를 포함할 수 있다. 커패시터(230)는 유전체 커패시터 또는 강유전성 커패시터의 예일 수 있다. 커패시터(230)의 제 1 노드는 스위칭 컴포넌트(235)와 결합될 수 있으며 커패시터(230)의 제 2 노드는 전압 소스(240)와 결합될 수 있다. 몇몇 경우들에서, 전압 소스(240)는 Vss와 같은 접지이다. 몇몇 경우들에서, 전압 소스(240)는 판 라인 구동기와 결합된 판 라인의 예일 수 있다. 스위칭 컴포넌트(235)는 두 개의 컴포넌트들 사이에서 전자 통신을 선택적으로 수립하거나 또는 수립 해제하는 트랜지스터 또는 임의의 다른 유형의 스위치 디바이스의 예일 수 있다.
메모리 셀(205)을 선택하거나 또는 선택 해제하는 것은 스위칭 컴포넌트(235)를 활성화하거나 또는 비활성화함으로써 수립될 수 있다. 커패시터(230)는 스위칭 컴포넌트(235)를 사용하여 디지트 라인(215)과 전자 통신할 수 있다. 예를 들어, 커패시터(230)는 스위칭 컴포넌트(235)가 비활성화될 때 디지트 라인(215)으로부터 절연될 수 있으며 커패시터(230)는 스위칭 컴포넌트(235)가 활성화될 때 디지트 라인(215)과 결합될 수 있다. 몇몇 경우들에서, 스위칭 컴포넌트(235)는 트랜지스터의 게이트로 전압을 인가함으로써 제어되는 트랜지스터이다. 트랜지스터 게이트와 트랜지스터 소스 간의 전압 차가 트랜지스터의 전압 임계치보다 클 때, 스위칭 컴포넌트(235)는 p-형 트랜지스터 또는 n-형 트랜지스터인 것에 기초하여 활성화되거나 또는 비활성화될 수 있다. 워드 라인(210)은 스위칭 컴포넌트(235)의 게이트와 전자 통신할 수 있으며 전압이 워드 라인(210)에 인가되는 것에 기초하여 스위칭 컴포넌트(235)를 활성화/비활성화할 수 있다.
워드 라인(210)은 메모리 셀(205)에 대한 액세스 동작들을 수행하기 위해 사용되는 메모리 셀(205)과 전자 통신하는 도전성 라인일 수 있다. 몇몇 아키텍처들에서, 워드 라인(210)은 메모리 셀(205)의 스위칭 컴포넌트(235)의 게이트와 전자 통신할 수 있으며 메모리 셀의 스위칭 컴포넌트(235)를 제어하도록 구성될 수 있다. 몇몇 아키텍처들에서, 워드 라인(210)은 메모리 셀(205)의 커패시터의 노드와 전자 통신할 수 있으며 메모리 셀(205)은 스위칭 컴포넌트를 포함하지 않을 수 있다.
디지트 라인(215)은 감지 컴포넌트(245)와 메모리 셀(205)을 연결하는 도전성 라인일 수 있다. 몇몇 아키텍처들에서, 메모리 셀(205)은 액세스 동작의 부분들 동안 디지트 라인(215)과 선택적으로 결합될 수 있다. 예를 들어, 워드 라인(210) 및 메모리 셀(205)의 스위칭 컴포넌트(235)는 메모리 셀(205)의 커패시터(230) 및 디지트 라인(215)을 결합하고 및/또는 절연하도록 구성될 수 있다. 몇몇 아키텍처들에서, 메모리 셀(205)은 디지트 라인(215)과 전자 통신(예컨대, 끊임없는)할 수 있다.
감지 컴포넌트(245)는 메모리 셀(205)의 커패시터(230) 상에 저장된 상태(예컨대, 전하)를 검출하며 저장된 상태에 기초하여 메모리 셀(205)의 논리 상태를 결정하도록 구성될 수 있다. 메모리 셀(205)에 의해 저장된 전하는 몇몇 경우들에서, 극히 작을 수 있다. 이와 같이, 감지 컴포넌트(245)는 판독 동작 동안 메모리 셀(205)에 의해 출력된 신호를 증폭시키기 위해 하나 이상의 감지 증폭기들을 포함할 수 있다. 감지 증폭기들은 판독 동작 동안 디지트 라인(215)의 전하에서 작은 변화들을 검출할 수 있으며 검출된 전하에 기초하여 신호를 논리 상태 0 또는 논리 상태 1로 증폭시킬 수 있다. 대안적으로, 메모리 셀(205)은 이진 이상의 정보를 저장할 수 있는 다중-레벨 셀(MLC)일 수 있다(즉, 메모리 셀(205)은 2보다는 3개 이상의 유형들의 심볼들을 저장할 수 있다). 판독 동작 동안, 메모리 셀(205)의 커패시터(230)는 신호를 출력할 수 있다(예컨대, 전하를 그것의 대응하는 디지트 라인(215)으로 방전시킬 수 있다). 신호는 디지트 라인(215)의 전압을 변하게 할 수 있다. 감지 컴포넌트(245)는 디지트 라인(215)에 걸쳐 메모리 셀(205)로부터 수신된 신호를 기준 신호(250)(예컨대, 기준 전압)에 비교하도록 구성될 수 있다. 감지 컴포넌트(245)는 비교에 기초하여 메모리 셀(205)의 저장된 상태를 결정할 수 있다. 예를 들어, 이진-시그널링에서, 디지트 라인(215)이 기준 신호(250)보다 높은 전압을 갖는다면, 감지 컴포넌트(245)는 메모리 셀(205)의 저장된 상태가 논리 1임을 결정할 수 있으며, 디지트 라인(215)이 기준 신호(250)보다 낮은 전압을 갖는다면, 감지 컴포넌트(245)는 메모리 셀(205)의 저장된 상태가 논리 0임을 결정할 수 있다. 감지 컴포넌트(245)는 신호들에서의 차이를 검출하고 증폭시키기 위해 다양한 트랜지스터들 및 증폭기들을 포함할 수 있다. 메모리 셀(205)의 검출된 논리 상태는 열 디코더(225)를 통해 출력(255)으로서 출력될 수 있다. 몇몇 경우들에서, 감지 컴포넌트(245)는 또 다른 컴포넌트(예컨대, 열 디코더(225), 행 디코더(220))의 부분일 수 있다. 몇몇 경우들에서, 감지 컴포넌트(245)는 행 디코더(220) 또는 열 디코더(225)와 전자 통신할 수 있다.
로컬 메모리 제어기(260)는 다양한 컴포넌트들(예컨대, 행 디코더(220), 열 디코더(225), 및 감지 컴포넌트(245))을 통해 메모리 셀들(205)의 동작을 제어할 수 있다. 로컬 메모리 제어기(260)는 도 1을 참조하여 설명된 로컬 메모리 제어기(165)의 예일 수 있다. 몇몇 경우들에서, 행 디코더(220), 열 디코더(225), 및 감지 컴포넌트(245) 중 하나 이상은 로컬 메모리 제어기(260)와 같은 장소에 배치될 수 있다. 로컬 메모리 제어기(260)는 제어기(105)로부터 명령들 및/또는 데이터를 수신하고, 상기 명령들 및/또는 데이터를 메모리 다이(200)에 의해 사용될 수 있는 정보로 변환하고, 메모리 다이(200) 상에서 하나 이상의 동작들을 수행하며, 하나 이상의 명령들을 수행하는 것에 응답하여 데이터를 메모리 다이(200)로부터 제어기(105)로 전달하도록 구성될 수 있다. 로컬 메모리 제어기(260)는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화하기 위해 로우 및 컬럼 어드레스 신호들을 생성할 수 있다. 로컬 메모리 제어기(260)는 또한 메모리 다이(200)의 동작 동안 사용된 다양한 전압들 또는 전류들을 생성하고 제어할 수 있다. 일반적으로, 여기에서 논의된 인가된 전압 또는 전류의 진폭, 형태, 또는 지속 기간은 조정되거나 또는 변경될 수 있으며 메모리 다이(200)를 동작시킬 때 논의된 다양한 동작들에 대해 상이할 수 있다.
몇몇 경우들에서, 로컬 메모리 제어기(260)는 메모리 다이(200)의 하나 이상의 메모리 셀들(205) 상에서 기록 동작(예컨대, 프로그래밍 동작)을 수행하도록 구성될 수 있다. 기록 동작 동안, 메모리 다이(200)의 메모리 셀(205)은 논리 상태를 저장하도록 프로그램될 수 있다. 몇몇 경우들에서, 특정한 논리 상태들은 다른 논리 상태들보다 높은 누설 레이트들을 보일 수 있다. 다른 예들에서, 특정한 논리 상태들은 저장될 때 다른 논리 상태들보다 높은 전력 소비를 이용할 수 있다. 몇몇 경우들에서, 로컬 메모리 제어기(260)는 메모리 다이(200)의 전체 성능을 증가시킬 수 있는 큰 데이터 누설 또는 고-전력 소비를 가진 논리 상태들의 발생을 감소시키도록 구성될 수 있다. 로컬 메모리 제어기(260)는 또한 저장된 논리 상태들이 상이한 논리 상태들의 변환된 버전들인지를 나타내는 표시자를 생성하고 저장하도록 구성될 수 있다.
몇몇 경우들에서, 복수의 메모리 셀들(205)은 단일 기록 동작 동안 프로그램될 수 있다. 로컬 메모리 제어기(260)는 기록 동작을 수행하는 타겟 메모리 셀(205)을 식별할 수 있다. 로컬 메모리 제어기(260)는 타겟 메모리 셀(205)(예컨대, 타겟 메모리 셀(205)의 어드레스)과 전자 통신하는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 식별할 수 있다. 로컬 메모리 제어기(260)는 타겟 메모리 셀(205)을 액세스하기 위해, 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화할 수 있다(예컨대, 전압을 워드 라인(210) 또는 디지트 라인(215)에 인가하여). 로컬 메모리 제어기(260)는 메모리 셀(205)의 커패시터(230)에 특정 상태를 저장하기 위해 기록 동작 동안 특정 신호(예컨대, 전압)를 디지트 라인(215)에 인가할 수 있으며, 특정 상태는 원하는 논리 상태를 나타낼 수 있다.
몇몇 경우들에서, 로컬 메모리 제어기(260)는 메모리 다이(200)의 하나 이상의 메모리 셀들(205) 상에서 판독 동작(예컨대, 감지 동작)을 수행하도록 구성될 수 있다. 판독 동작 동안, 메모리 다이(200)의 메모리 셀(205) 상에 저장된 논리 상태가 결정될 수 있다. 몇몇 경우들에서, 복수의 메모리 셀들(205)은 단일 판독 동작 동안 감지될 수 있다. 로컬 메모리 제어기(260)는 판독 동작을 수행하는 타겟 메모리 셀(205)을 식별할 수 있다. 로컬 메모리 제어기(260)는 타겟 메모리 셀(205)(예컨대, 타겟 메모리 셀(205)의 어드레스)과 전자 통신하는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 식별할 수 있다. 로컬 메모리 제어기(260)는 타겟 메모리 셀(205)을 액세스하기 위해, 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화할 수 있다(예컨대, 전압을 워드 라인(210) 또는 디지트 라인(215)에 인가하여). 타겟 메모리 셀(205)은 액세스 라인들을 바이어싱하는 것에 응답하여 신호를 감지 컴포넌트(245)로 전달할 수 있다. 감지 컴포넌트(245)는 신호를 증폭시킬 수 있다. 로컬 메모리 제어기(260)는 감지 컴포넌트(245)를 파이어링하며(예컨대, 감지 컴포넌트를 래칭하고) 그에 의해 메모리 셀(205)로부터 수신된 신호를 기준 신호(250)에 비교할 수 있다. 상기 비교에 기초하여, 감지 컴포넌트(245)는 메모리 셀(205) 상에 저장되는 논리 상태를 결정할 수 있다.
몇몇 경우들에서, 감지 컴포넌트(245)는 또한 메모리 셀(205) 상에 저장될 수 있는 논리 상태와 연관된 표시자의 논리 상태를 결정할 수 있으며, 여기에서 표시자는 저장된 논리 상태가 상이한 논리 상태의 변환된 버전인지를 나타낸다. 저장된 논리 상태가 상이한 논리 상태의 변환된 버전이라면, 로컬 메모리 제어기(260)는 판독 동작의 부분으로서 입력/출력(255)을 사용하여 저장된 논리 상태를 제어기(105)로 전달할 수 있다. 이 예에서, 로컬 메모리 제어기(260)는 메모리 셀(205) 상에 저장된 논리 상태가 상이한 논리 상태의 변환된 버전일 수 있음을 전달할 수 있다. 대안적으로, 로컬 메모리 제어기(260)는 저장된 논리 상태를 상이한 논리 상태로 변환하며 판독 동작의 부분으로서 입력/출력(255)을 사용하여 상이한 논리 상태를 제어기(105)로 전달할 수 있다.
몇몇 메모리 아키텍처들에서, 메모리 셀(205)을 액세스하는 것은 메모리 셀(205)에 저장된 논리 상태를 저하시키거나 또는 파괴할 수 있다. 예를 들어, DRAM 아키텍처들에서 수행된 판독 동작은 타겟 메모리 셀의 커패시터를 부분적으로 또는 완전히 방전시킬 수 있다. 로컬 메모리 제어기(260)는 메모리 셀을 그것의 원래 논리 상태로 되돌리기 위해 재-기록 동작 또는 리프레시 동작을 수행할 수 있다. 로컬 메모리 제어기(260)는 판독 동작 후 논리 상태를 타겟 메모리 셀로 재-기록할 수 있다. 몇몇 경우들에서, 재-기록 동작은 판독 동작의 부분으로 고려될 수 있다. 부가적으로, 워드 라인(210)과 같은, 단일 액세스 라인을 활성화하는 것은 상기 액세스 라인과 전자 통신하는 몇몇 메모리 셀들에 저장된 상태를 방해할 수 있다. 따라서, 재-기록 동작 또는 리프레시 동작은 액세스되지 않은 하나 이상의 메모리 셀들 상에서 수행될 수 있다.
도 3은 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 프로세스 흐름(300)의 예를 예시한다. 몇몇 예들에서, 프로세스 흐름(300)은 시스템(100) 및 메모리 다이(200)의 양태들을 구현할 수 있다. 예를 들어, 호스트 디바이스(305)는 도 1을 참조하여 설명된 호스트 디바이스의 예일 수 있으며 메모리 디바이스(310)는 메모리 디바이스(110)의 예일 수 있다. 프로세스 흐름(300)은 기록 동작 및 판독 동작을 예시하며, 여기에서 기록 및 판독 동작들은 메모리 디바이스(310)에서 데이터 극성에 기초하여 데이터를 변환하는 것을 포함할 수 있다.
호스트 디바이스(305)는 메모리 디바이스(310)에서 기록 동작을 개시할 수 있다. 기록 동작은 호스트 디바이스(305)가 기록 명령(315)을 메모리 디바이스(310)로 송신하는 것을 포함할 수 있다. 기록 명령(315)은 메모리 디바이스(310)에 저장될 제 1 데이터 워드를 포함할 수 있다. 호스트 디바이스(305)는 메모리 디바이스(310)에 저장될 정보를 식별할 수 있으며 상기 식별된 정보에 기초하여 제 1 데이터 워드를 생성할 수 있다.
(320)에서, 메모리 디바이스(310)는 제 1 데이터 워드가 저장 상태 기준을 만족하는지를 결정할 수 있다. 몇몇 인스턴스들에서, 저장 상태 기준은 메모리 디바이스(310)와 연관된 메모리 셀들의 특성을 나타낼 수 있다. 결과적으로, 특성은 하나 이상의 다른 심볼 유형들에 비교하여 더 높은 데이터 누설 또는 증가된 전력 소비와 같은 더 열악한 성능과 연관된 심볼 유형을 나타낼 수 있다. 즉, 저장 상태 기준은 메모리 디바이스(310)와 연관될 수 있으며 더 열악한 성능과 연관되는 심볼 유형에 관련된 기준일 수 있다.
(320)에서 결정된 저장 상태 기준은 하나 이상의 다른 심볼 유형들에 비교하여 메모리 디바이스(310)에 저장될 때 더 많은 누설을 보이는 메모리 디바이스(310)의 심볼 유형을 나타내는 제 1 데이터 보유 특성을 나타낼 수 있다. 또 다른 예에서, 저장 상태 기준은 제 1 전력 소비 특성에 의해 나타내어지지 않는 메모리 디바이스에 저장되도록 구성된 하나 이상의 심볼 유형들에 비교하여 더 많은 전력 소비를 보이는 메모리 디바이스(310)에 저장되도록 구성되는 심볼 유형을 나타내는 제 1 전력 소비 특성을 나타낼 수 있다.
부가적으로 또는 대안적으로, 메모리 디바이스(310)는 또한 (320)에서 제 2 저장 상태 기준을 결정할 수 있다. 제 2 저장 상태 기준은 제 1 저장 상태 기준에 대응하는 심볼 유형에 비교하여 증가된 전체 성능과 연관되는 심볼 유형 또는 유형들을 나타낼 수 있다. 몇몇 경우들에서, 메모리 디바이스(310)는 메모리 디바이스의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 1 데이터 워드의 심볼들의 수량을 결정할 수 있다. 메모리 디바이스(310)가 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 1 데이터 워드의 심볼들의 수량이 제 2 데이터 보유 특성 임계치를 만족한다고 결정한다면, 메모리 디바이스(310)는 (325)에서 제 1 데이터 워드를 저장할 수 있다. 예를 들어, 메모리 디바이스(310)는 제 2 데이터 보유 특성과 연관되는 제 1 데이터 워드의 심볼들의 수량이 임계 수를 초과하고 및/또는 메모리 디바이스(310)에 대한 저장 상태 임계치를 만족하는지 결정할 수 있다. 그러므로, 메모리 디바이스(310)가 제 1 데이터 워드가 제 2 저장 상태 기준을 만족한다고 결정하면, 메모리 디바이스(310)는 변환을 수행하지 않고 기록 명령(315)에 포함된 데이터 워드를 저장할 수 있다.
메모리 디바이스(310)는, 그러나, 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 1 데이터 워드의 심볼들의 수량이 메모리 디바이스의 제 2 데이터 보유 특성 임계치를 만족하는데 실패한 지를 결정할 수 있다. 예를 들어, 제 2 데이터 보유 특성과 연관되는 제 1 데이터 워드의 심볼들의 수량은 임계 수 아래에 있을 수 있다. 즉, 제 1 데이터 워드는 메모리 디바이스의 저장 상태 임계치를 만족시키는데 실패할 수 있다. 이러한 인스턴스들에서, 메모리 디바이스(310)는 제 1 데이터 워드가, 그것이 해로운 거동을 보이는 심볼 유형들에 관련되므로 제 1 저장 상태 기준을 만족하는지 결정할 수 있다. 이러한 예에서, 메모리 디바이스(310)는 (330)에서 제 2 데이터 워드 및 대응하는 표시자를 생성할 수 있다. 제 2 데이터 워드는 제 2 저장 상태 기준을 만족시킬 수 있으며, 여기에서 제 2 데이터 워드는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 생성될 수 있다. 몇몇 경우들에서, 메모리 디바이스(310)는 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 2 데이터 워드의 심볼들의 수량이 메모리 디바이스(310)의 저장 상태 임계치를 만족하는지 결정할 수 있다. 메모리 디바이스(310)는 그 후 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 2 데이터 워드의 심볼들의 수량이 메모리 디바이스(310)의 저장 상태 임계치를 만족한다고 결정한 것에 기초하여 제 2 데이터 워드가 제 2 저장 상태 기준을 만족하는지 결정할 수 있다.
(330)에서, 메모리 디바이스(310)는 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 하나 이상의 심볼들을 선택적으로 수정할 수 있다(몇몇 경우들에서, 제 1 데이터 워드의 각각의 심볼이 수정될 수 있다). 메모리 디바이스(310)는 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 2 데이터 워드의 심볼들의 수량을 결정하며 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 2 데이터 워드의 심볼들의 수량을 결정한 것에 기초하여 제 2 데이터 워드가 제 2 저장 상태 기준을 만족하는지 결정할 수 있다. 몇몇 경우들에서, 제 1 데이터 워드는 두 개의 심볼 유형들을 포함할 수 있으며 변환은 데이터 비트 인버전의 예일 수 있다. 즉, 제 1 데이터 워드의 각각의 '0' 또는 로우 값은 제 2 데이터 워드에서 '1' 또는 하이 값으로 변환될 수 있다. 유사하게, 제 1 데이터 워드의 각각의 '1' 또는 하이 값은 제 2 데이터 워드에서 '0' 또는 로우 값으로 변환될 수 있다. 다른 예들에서, 제 1 데이터 워드 및 제 2 데이터 워드는 3개 이상의 심볼 유형들을 포함할 수 있다. 이들 예들에서, 제 1 데이터 워드의 각각의 심볼 유형은 제 2 데이터 워드에 대한 상이한 심볼 유형에 매핑될 수 있다.
몇몇 예들에서, 메모리 디바이스(310)는 또한 (330)에서 표시자를 생성한다. 표시자는 메모리 디바이스(310)에 저장된 제 2 데이터 워드가 제 1 데이터 워드의 변환된 버전임을 나타낼 수 있다. 표시자는 제 2 데이터 워드를 생성한 것에 기초하여 생성될 수 있다. 몇몇 경우들에서, 표시자는 제 1 데이터 워드의 각각의 심볼 유형이 어떻게 메모리 디바이스에 저장된 제 2 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정되는지를 나타낼 수 있다. 예를 들어, 각각이 3개 이상의 심볼 유형들을 포함하는 제 1 및 제 2 데이터 워드의 경우에, 표시자는 제 2 데이터 워드를 생성하기 위해 사용된 심볼 유형들의 매핑을 나타낼 수 있다. 몇몇 인스턴스들에서, 표시자는 메모리 디바이스가 제 2 데이터 워드 내에 저장된 데이터를 적절히 판독하도록 허용할 수 있다(예컨대, 판독 동작의 부분으로서 변환을 역전시킨다). 메모리 디바이스(310)가 제 2 데이터 워드를 생성하는 경우에, (335)에서, 메모리 디바이스(310)는 제 2 데이터 워드가 제 2 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 2 데이터 워드 및 대응하는 표시자를 저장할 수 있다. 몇몇 경우들에서, 표시자는 제 2 데이터 워드를 저장하는 메모리 디바이스(310)의 제 2 부분과 상이한 메모리 디바이스의 제 1 부분에 저장될 수 있다.
호스트 디바이스(305)는 메모리 디바이스(310)에서 판독 동작을 개시할 수 있다. 판독 동작은 (315, 320, 325, 330, 335, 및 340)에서 발생한 기록 동작에 독립적으로 발생할 수 있다. 판독 동작은 호스트 디바이스(305)가 판독 명령(340)을 메모리 디바이스(310)로 송신하는 것으로 시작할 수 있다. 몇몇 경우들에서, 판독 명령(340)은 메모리 디바이스(310)의 위치와 연관될 수 있다. 메모리 디바이스(310)는 판독 명령(340)에 의해 표시된 위치와 연관된 데이터 워드를 결정할 수 있다.
(345)에서, 메모리 디바이스(310)는 상기 위치에 저장된 데이터 워드가 제 2 데이터 워드와 연관된다는 것을 식별할 수 있다. 즉, 메모리 디바이스(310)는 저장된 데이터 워드가 제 2 데이터 워드의 변환된 버전인 제 1 데이터 워드임을 식별할 수 있다. 몇몇 경우들에서, 메모리 디바이스(310)는 메모리 디바이스(310)에 저장된 표시자를 식별함으로써 제 1 데이터 워드가 제 2 데이터 워드와 연관됨을 식별하며, 이것은 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전일 수 있음을 나타낸다.
(350)에서, 메모리 디바이스(310)는 저장된 데이터 워드를 선택적으로 변환할 수 있다. 몇몇 경우들에서, 메모리 디바이스(310)는 제 1 데이터 워드가 제 2 데이터 워드와 연관됨을 식별한 것에 기초하여 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 심볼들을 변환할 수 있다. 즉, 메모리 디바이스(310)는 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정할 수 있다. 몇몇 경우들에서, 제 1 및 제 2 데이터 워드들은 각각 3개 이상의 심볼 유형들을 포함할 수 있다. 이들 경우들에서, 제 1 데이터 워드의 3개 이상의 심볼 유형들의 각각은 제 2 데이터 워드의 상이한 심볼 유형에 매핑될 수 있다. 몇몇 경우들에서, 메모리 디바이스(310)는 표시자에 기초하여 변환을 적용할 수 있다. 즉, 메모리 디바이스(310)는 표시자에 의해 표시된 변환에 따라 변환을 적용할 수 있다. 이 예에서, 표시자는 제 2 데이터 워드의 각각의 심볼이 어떻게 제 1 데이터 워드를 생성하기 위해 사용된 변환(및 결과적으로 제 1 데이터 워드로부터 제 2 데이터 워드를 생성하기 위한 역 변환)의 부분으로서 수정되었는지를 메모리 디바이스(310)에 알릴 수 있다. 그러나, 다른 경우들에서, 메모리 디바이스(310)는 선택적으로 저장된 데이터 워드를 변환하지 않을 수 있다. 이들 경우들에서, 메모리 디바이스(310)는 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전이 아닐 수 있음을 식별할 수 있다. 예를 들어, 메모리 디바이스(310)는 메모리 디바이스(310)에 저장된 표시자가 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전이 아님을 나타낸다고 식별할 수 있다. 대안적으로, 메모리 디바이스(310)는 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전일 수 있는지 여부를 식별할 수 있다.
(355)에서, 메모리 디바이스(310)는 데이터 워드를 호스트 디바이스(305)로 송신할 수 있다. 몇몇 경우들에서, 메모리 디바이스(310)가 저장된 데이터 워드를 변환하였다면, 메모리 디바이스(310)는 제 2 데이터 워드를 호스트 디바이스(305)로 송신할 수 있다. 몇몇 다른 경우들에서, 메모리 디바이스(310)는 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전일 수 있음을 식별하지 않을 수 있다. 이 경우에, 메모리 디바이스(310)는 저장된 제 1 데이터 워드를 송신할 수 있다. 이 경우에, 호스트 디바이스(305)는 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전일 수 있음을 결정하며 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드를 변환할 수 있다. 다른 경우들에서, 메모리 디바이스(310)는 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전이 아닐 수 있다고 결정한 것에 기초하여 저장된 데이터 워드를 송신할 수 있다.
도 4는 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 데이터 변환들(400)의 예들을 예시한다. 몇몇 예들에서, 데이터 변환들(400)은 시스템(100), 메모리 다이(200), 뿐만 아니라 프로세스 흐름(300)의 양태들을 구현할 수 있다. 데이터 변환들(400)은 제 1 데이터 워드(405)의 제 2 데이터 워드(415)로의 변환(410)을 묘사할 수 있다. 데이터 변환들(400)은 도 3을 참조하여 설명된 것과 같이 표시자의 예일 수 있는, 대응하는 표시자(420)를 추가로 묘사할 수 있다. 도 4는 또한 제 1 데이터 워드(405)의 변환(410)으로부터 기인할 수 있는 5개의 가능한 제 2 데이터 워드들(415)을 예시한다. 부가적으로, 데이터 변환들(400)은 표시자(420)의 여러 가능한 구성들(425)을 포함할 수 있다.
도 4에 의해 예시된 예들에서, 제 1 데이터 워드(405)는 8비트들을 포함할 수 있으며, 제 1 데이터 워드(405)의 각각의 이산 유닛은 두 개 이상의 고유 심볼 유형들에 의해 표현될 수 있다. 예를 들어, 제 1 데이터 워드(405)의 이산 유닛은 로우(L) 값, 미디엄(M) 값, 또는 하이(H) 값일 수 있다. 다른 경우들에서, 그러나, 제 1 데이터 워드(405)는 임의의 수의 비트들(예컨대, 1, 2, 3, 4, 5, 6, 7, 8 이상)을 포함할 수 있다. 몇몇 경우들에서, 각각의 이산 유닛은 임의의 수의 고유 심볼 유형들(예컨대, 4개의 심볼 유형들, 5개의 심볼 유형들, 또는 그 이상)로 표현될 수 있다. 이와 같이, 본 개시는 특정한 값 세트를 저장하는 데이터 워드들에 제한되지 않는다.
메모리 디바이스는 제 1 데이터 워드(405)에 포함된 정보를 저장하도록 지시받을 수 있다. 그러나, 메모리 디바이스는 메모리 디바이스 내에서 메모리 셀들의 특성을 나타내는 특정 저장 상태 기준을 가질 수 있다. 예를 들어, 제 1 저장 상태 기준은 다른 유형들의 심볼(들)에 비교하여 메모리 디바이스에 의해 저장되고 및/또는 판독될 때 더 열악한 성능을 보이는 심볼(들)의 유형을 나타내는 제 1 특성(예컨대, 각각의 비트 내에 저장된 정보)에 대응할 수 있다. 심볼 유형의 성능은 데이터 보유(즉, 특정한 심볼 유형들은 예를 들어, 누설로 인해 다른 것들보다 악화된 데이터 보유 특성들을 보일 수 있다), 전력 소비(즉, 메모리 디바이스는 하나 이상의 유형들의 심볼 대 또 다른 유형의 심볼을 저장하고 및/또는 판독할 때 더 많은 전력을 소비할 수 있다) 등에 관련될 수 있다. 부가적으로 또는 대안적으로, 제 2 저장 상태 기준은 메모리 디바이스에 의해 저장되고 및/또는 판독될 때 증가된 전체 성능을 보이는 심볼(들)의 유형을 나타내는 메모리 디바이스의 제 2 특성에 대응할 수 있다. 예를 들어, 제 2 특성은 더 양호한 데이터 보유 또는 더 적은 전력 소비와 연관되는 심볼 유형을 나타낼 수 있다.
메모리 디바이스는 데이터 워드가 메모리 디바이스의 메모리 셀들에 저장되기 전에 변환되어야 하는지를 결정하기 위해 저장 상태 기준을 사용할 수 있다. 이러한 결정은 데이터 워드가 메모리 디바이스의 제 1 및/또는 제 2 특성과 연관되는 저장 상태 임계치를 만족한 것에 기초할 수 있다. 예를 들어, 제 1 저장 상태 기준은 충족된다면, 메모리 디바이스가 제 1 데이터 워드(405) 내에 포함된 정보를 저장하기 전에 제 1 데이터 워드(405)를 변환하도록 결정하는 저장 상태 임계치를 나타낼 수 있다. 부가적으로 또는 대안적으로, 제 2 저장 상태 기준이 있을 수 있다.
몇몇 경우들에서, 제 2 저장 상태 기준은 다른 심볼 유형에 비교하여 증가된 전체 성능을 보이는 것으로 제 2 특성에 의해 표시되는 저장될 데이터 워드 내에서의 주어진 심볼 유형의 심볼들의 최소 수를 나타낼 수 있다. 예를 들어, 메모리 디바이스는 'M' 비트들이 더 열악한 전체 성능을 보인다는 것을 나타내는 제 1 특성 및 'L' 비트들이 증가된 전체 성능을 보인다는 것을 나타내는 제 2 특성을 가질 수 있다. 이 예에서, 제 1 저장 상태 기준은 저장될 데이터 워드(예컨대, 제 1 데이터 워드(405))가 5개 이상의 'M' 비트들을 포함한다면 변환될 수 있음을 나타낼 수 있지만 제 2 저장 상태 기준은 저장될 데이터 워드가 3개 이상의 'L' 비트들을 포함해야 한다는 것을 나타낼 수 있다. 다른 경우들에서, 제 2 저장 상태 기준은 제 1 저장 상태 기준의 반대일 수 있다. 이 경우에, 메모리 디바이스는 단일 저장 상태 임계치를 사용할 수 있다. 즉, 저장될 데이터 워드가 임계치를 만족한다면, 데이터 워드는 변환될 수 있다. 대안적으로, 저장될 데이터 워드가 임계치를 만족하지 않는다면, 데이터 워드는 메모리 디바이스에 의해 저장될 수 있다. 예를 들어, 제 1 저장 상태 기준이, 5개 이상의 'M' 비트들을 포함한다면 저장될 데이터 워드가 변환될 수 있음을 나타내는 메모리 디바이스에서, 제 2 저장 상태 기준은 5개 미만의 'M' 비트들을 포함한다면 데이터 워드가 저장될 수 있다는 것을 나타낼 수 있다.
제 1 데이터 워드(405)가 메모리 디바이스의 제 1 저장 상태 기준을 만족한다면, 메모리 디바이스는 제 2 저장 상태 기준을 만족시키는 제 2 데이터 워드(415)를 생성하기 위해 변환(410)을 결정할 수 있다. 제 1 데이터 워드(405)의 5개의 가능한 변환들은 제 2 데이터 워드들(415-a, 415-b, 415-c, 415-d, 및 415-e)에 의해 예시될 수 있다. 제 2 데이터 워드들(415)의 각각은 제 2 데이터 워드(415)를 생성하기 위해 상이한 심볼 유형에 제 1 데이터 워드(405)의 각각의 심볼 유형을 매핑함으로써 생성될 수 있다. 제 1 및 제 2 저장 상태 기준들이 독립적인 저장 상태 임계치들을 나타내는 상기 예에서, 메모리 디바이스는 제 1 데이터 워드(405)가 5개의 'M' 비트들을 포함함에 따라 제 1 데이터 워드(405)가 제 1 저장 상태 기준을 만족한다고 결정할 수 있으며, 이것은 5개 이상의 'M' 비트들을 포함하는 저장 상태 임계치와 동조한다. 그러므로, 메모리 디바이스는 제 2 데이터 워드(415)를 생성하는 변환(410)을 결정할 수 있으며, 여기에서 제 2 데이터 워드(415)는 3개 이상의 'L' 비트들을 포함한 제 2 저장 상태 기준을 만족한다. 이 예에서, 메모리 디바이스는 제 2 데이터 워드(415-b)를 생성하는 변환(410)을 이용할 수 있다. 그러므로, 제 2 데이터 워드(415-b)는 그 후 1개의 'M' 비트를 가지며 5개의 'L' 비트들을 가질 수 있다. 제 2 데이터 워드(415-b)는 제 1 데이터 워드(405)의 각각의 'L' 비트를 제 2 데이터 워드(415-b)에 대한 'M' 비트에, 제 1 데이터 워드(405)의 각각의 'M' 비트를 제 2 데이터 워드(415-b)에 대한 'L' 비트에, 및 제 1 데이터 워드(405)의 각각의 'H' 비트를 제 2 데이터 워드(415-b)에 대한 'H' 비트에 매핑함으로써 생성될 수 있다.
그러나, 제 1 및 제 2 저장 상태 기준들 각각이 동일한 저장 상태 임계치를 나타내는 상기 예에서, 메모리 디바이스는 제 1 데이터 워드(405)가 5개 이상의 'M' 비트들을 포함한 저장 상태 임계치와 동조하는, 5개의 'M' 비트들을 포함함에 따라 제 1 데이터 워드(405)가 제 1 저장 상태 기준을 만족하는지 결정할 수 있다. 그러므로, 메모리 디바이스는 제 2 데이터 워드(415)를 생성하는 변환(410)을 결정할 수 있으며, 여기에서 제 2 데이터 워드(415)는 5개 미만의 'M' 비트들을 포함한 제 2 저장 상태 기준을 만족한다. 이 예에서, 메모리 디바이스는 제 2 데이터 워드들(415-a, 415-b, 415-c, 또는 415-d)을 생성하는 변환(410)을 이용할 수 있다. 제 2 데이터 워드들(415-a, 415-b, 415-c, 또는 415-d)의 각각에서, 하나 또는 두 개의 'M' 비트들이 있으며, 이것은 5개 미만의 'M' 비트들의 제 2 저장 상태 기준을 만족한다.
변환(410) 동안, 메모리 디바이스는 제 1 데이터 워드(405)의 변환(410)에 대응하는 표시자(420)를 생성할 수 있다. 표시자(420)는 어떤 변환 또는 매핑 기법이 제 2 데이터 워드(415)를 생성하기 위해 사용되는지를 나타낼 수 있다. 예를 들어, 메모리 디바이스는 메모리 디바이스가 제 2 데이터 워드(415-b)를 생성하는 변환(410)을 사용한 경우에 표시자(I2)(420-b)를 생성할 수 있다. 메모리 디바이스는 표시자(420)의 구성들(425) 중 하나를 이용할 수 있다. 몇몇 예들에서, 표시자(420)는 구성(425-a)에 따라 구성될 수 있으며 여기에서 표시자(420)는 단일 비트일 수 있다. 이 예에서, 표시자(420)는 제 2 데이터 워드(415)가 제 1 데이터 워드(405)의 변환된 버전일 수 있음을 메모리 디바이스로 시그널링하도록 동작할 수 있다. 이러한 경우들에서, 메모리 디바이스는 사전 구성된 변환(410)을 제 1 데이터 워드(405)에 적용할 수 있다. 몇몇 경우들에서, 메모리 디바이스는, 제 2 데이터 워드(415)가 제 1 데이터 워드(405)의 변환된 버전일 수 있다는 것을 아는 것에 기초하여, 제 2 데이터 워드(415)를 생성하기 위해 사용된 변환(410)을 결정할 수 있다.
또 다른 예에서, 표시자(420)는 표시자(420)가 2 이상의 비트들일 수 있는 구성(425-b)에 따라 구성될 수 있다. 이 예에서, 부가 비트들인 표시자(420)가 제 2 데이터 워드(415)를 생성하기 위해 이용된 변환(410)을 나타내도록 허용할 수 있다. 예를 들어, 데이터 워드의 이산 유닛이 3개 이상의 심볼 유형들에 의해 표현될 수 있을 때, 표시자(420)의 구성(425-b)의 비트들(B1 및 B2)은 제 1 데이터 워드(405)로부터 제 2 데이터 워드(415-b)를 생성하기 위해 사용된 변환(410)의 매핑 기법을 나타낼 수 있다. 예를 들어, 3 심볼 유형 데이터 워드에서, 구성(425-b)이 변환이 없음을 나타내는 '00'일 때, '01'은 제 1 유형의 변환을 나타낼 수 있으며, '10' 또는 '11'은 제 2 유형이 변환을 나타낼 수 있다.
또 다른 예에서, 표시자(420)는 표시자(420)가 3개 이상의 가능한 심볼 유형들 중 하나일 수 있는 단일 심볼일 수 있는 구성(425-c)에 따라 구성될 수 있다. 구성(425-c)에 따라 구성된 표시자(420)는 다중-레벨 데이터 유닛(예컨대, 3개 이상의 상이한 심볼 유형들을 포함할 수 있는 이산 유닛)일 수 있다. 이 예에서, 표시자(420)는 제 2 데이터 워드(415)가 제 1 데이터 워드(405)의 변환된 버전일 수 있음을 나타낼 수 있으며 제 1 데이터 워드(405)의 각각의 심볼이 제 2 데이터 워드(415)를 생성하기 위해 어떻게 수정되었는지에 관한 부가적인 정보를 나타낼 수 있다. 예를 들어, 3 심볼 유형 데이터 워드에서, 구성(425-c)이 변환이 없음을 나타낼 수 있는 'L' 레벨일 때, 'M' 레벨은 제 1 유형의 변환을 나타낼 수 있으며, 'H' 레벨은 제 2 유형의 변환을 나타낼 수 있다.
도 5는 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 프로세스 흐름(500)의 예를 예시한다. 몇몇 예들에서, 프로세스 흐름(500)은 시스템(100) 및 메모리 다이(200)의 양태들을 구현할 수 있다. 프로세스 흐름(500)은 호스트 디바이스(505) 및 메모리 디바이스(510)에 의해 수행된 동작들을 포함할 수 있다. 호스트 디바이스(505)는 도 1을 참조하여 설명된 호스트 디바이스의 예일 수 있으며 메모리 디바이스(510)는 도 1을 참조하여 설명된 메모리 디바이스(110)의 예일 수 있다. 프로세스 흐름(500)은 호스트 디바이스(505)에 의해 구현될 바와 같이 데이터 극성에 기초하여 데이터를 변환하는 것을 포함할 수 있는 기록 및 판독 동작들을 예시한다. 프로세스 흐름(500)은 도 3을 참조하여 설명된 프로세스 흐름(300)의 기능들의 부분들을 통합할 수 있다.
호스트 디바이스(505)는 메모리 디바이스(510)에서 기록 동작을 개시할 수 있다. 기록 동작은 515에서 호스트 디바이스(505)가 메모리 디바이스(510)로 저장 상태 기준 요청을 송신하는 것을 선택적으로 포함할 수 있다. 저장 상태 기준은 상이한 심볼 유형들을 저장할 때 메모리 디바이스(510)의 성능에 관계된 메모리 디바이스(510)의 메모리 셀들의 특성(예컨대, 상이한 심볼 유형들에 대응하는 저장 상태들과 연관된 누설 레이트들)을 나타낼 수 있다. 몇몇 경우들에서, 메모리 디바이스(510)는 더 열악한 전체 성능과 연관될 수 있는 심볼 유형을 나타내는 제 1 저장 상태 기준을 가질 수 있다. 몇몇 예들에서, 제 1 저장 상태 기준에 의해 표시된 심볼 유형은 하나 이상의 다른 심볼 유형들에 비교하여 메모리 디바이스(510)에 저장될 때 더 많은 누설과 연관될 수 있다. 다른 예들에서, 제 1 저장 상태 기준에 의해 표시된 심볼 유형은 하나 이상의 다른 심볼 유형들에 비교하여 메모리 디바이스(510)에 저장될 때 더 많은 전력 소비와 연관될 수 있다. 부가적으로 또는 대안적으로, 메모리 디바이스(510)는 또한 제 2 저장 상태 기준을 가질 수 있다. 제 2 저장 상태 기준은 제 1 저장 상태 기준에 대응하는 심볼 유형에 비교될 때 증가된 전체 성능과 연관되는 심볼 유형 또는 유형들을 나타낼 수 있다.
각각의 저장 상태 기준은 저장 상태 기준에 의해 표시될 수 있는 심볼 유형의 수량에 관한 저장 상태 임계치를 나타낼 수 있다. 예를 들어, 제 1 저장 상태 기준은 제 1 저장 상태 기준과 연관된 심볼 유형의 심볼들의 최대 수를 나타내는 제 1 저장 상태 임계치를 나타낼 수 있다. 몇몇 경우들에서, 제 2 저장 상태 기준은 제 2 저장 상태 기준과 연관된 심볼 유형의 심볼들의 최소 수를 나타내는 제 2 저장 상태 임계치를 나타낼 수 있다. 다른 경우들에서, 제 2 저장 상태 기준은 제 1 저장 상태 임계치에 의존할 수 있다. 예를 들어, 제 1 저장 상태 기준은 제 1 저장 상태 임계치를 초과하는 데이터 워드에 관련될 수 있지만, 제 2 저장 상태 기준은 제 1 저장 상태 임계치를 충족하지 않는 데이터 워드에 관련될 수 있다.
(520)에서, 메모리 디바이스(510)는 제 1 저장 상태 기준 및/또는 제 2 저장 상태 기준을 호스트 디바이스(505)로 송신할 수 있다. 몇몇 경우들에서, 호스트 디바이스(505)는 호스트 디바이스(505)로부터 저장 상태 기준 요청을 수신한 것에 기초하여 저장 상태 기준 요청을 송신할 수 있다. 다른 경우들에서, 메모리 디바이스(510)는 메모리 디바이스(510)의 초기화 단계 동안과 같은, 저장 상태 기준 요청을 수신하지 않고 저장 상태 기준을 호스트 디바이스(505)로 송신할 수 있다. 저장 상태 기준은 메모리 디바이스(510)의 메모리 셀들과 연관된 저장 상태 기준을 나타낼 수 있다. 몇몇 경우들에서, 호스트 디바이스(505)는 모든 기록 동작 이전에 저장 상태 기준 요청을 송신하고 메모리 디바이스(510)로부터 기준을 수신할 수 있다. 다른 경우들에서, 호스트 디바이스(505)는 메모리 디바이스(510)의 저장 상태 기준과 연관된 정보를 저장할 수 있다.
호스트 디바이스(505)는 515 및 520에서 핸드쉐이크 절차 없이 메모리 디바이스(510)의 제 1 저장 상태 기준 및/또는 제 2 저장 상태 기준을 결정할 수 있다. 예를 들어, 저장 상태 기준(및 대응하는 특성)은 메모리 디바이스(510)의 본질적인 속성일 수 있다. 이 예에서, 호스트 디바이스(505)는 모델 번호, 제조사 등에 기초하여 저장 상태 기준을 결정할 수 있다. 이러한 예들에서, 호스트 디바이스(505)는 호스트 디바이스(505)와 연관된 다른 메모리 또는 캐시에 저장된 정보를 사용하여 저장 상태 기준을 찾아보기 위해 메모리 디바이스(510)의 식별 정보를 사용할 수 있다. 다른 예들에서, 저장 상태 기준들은 상황에 따라 달라질 수 있다. 예를 들어, 심볼 유형을 저장하고 및/또는 판독할 때 메모리 디바이스(510)의 성능은 프로세스, 메모리 디바이스(510)에 의해 저장된 이전 데이터, 온도 등에 따라 달라질 수 있다. 이 예에서, 호스트 디바이스(505)는 메모리 디바이스(510)의 몇몇 예측된 성능에 따라 저장 상태 기준을 조정할 수 있다.
몇몇 경우들에서, 호스트 디바이스(505)는 트레이닝 절차를 통해 메모리 디바이스(510)의 제 1 저장 상태 기준 및/또는 제 2 저장 상태 기준을 결정할 수 있다. 트레이닝 절차는 호스트 디바이스(505)가 기록 동작의 부분으로서 알려진 데이터 워드들을 메모리 디바이스(510)로 발송하는 것을 포함할 수 있다. 메모리 디바이스(510)는 에러 검출 신호들을 호스트 디바이스(505)로 송신할 수 있다. 호스트 디바이스(505)는 메모리 디바이스(510)로부터 수신된 에러 검출 신호들 및/또는 기록 동작들의 각각과 연관된 전력 소비를 분석할 수 있다. 호스트 디바이스(505)는 그 후 상이한 심볼 유형들을 저장할 때 메모리 디바이스(510)의 특성들을 결정할 수 있다. 예를 들어, 호스트 디바이스는 하나 이상의 다른 심볼 유형들에 비교될 때 더 높은 데이터 누설과 연관될 수 있는 심볼 유형을 식별할 수 있다. 또 다른 예에서, 호스트 디바이스(505)는 하나 이상의 다른 심볼 유형들에 비교될 때 기록 동작 동안 더 높은 전력 소비와 연관될 수 있는 심볼 유형을 식별할 수 있다. 호스트 디바이스(505)는 더 높은 데이터 누설 및/또는 전력 소비와 같은 특성들과 연관된 심볼 유형을 결정한 것에 기초하여 제 1 저장 상태 기준을 결정할 수 있다. 예를 들어, 호스트 디바이스(505)는 'H' 심볼 유형들을 포함한 제 1 세트의 데이터 워드들, 'M' 심볼 유형들을 포함한 제 2 세트의 데이터 워드들, 및 'L' 심볼 유형들을 포함한 제 3 세트의 데이터 워드들을 송신할 수 있다. 호스트 디바이스(505)는 다른 세트들의 데이터 워드들에 비교될 때 어떤 세트의 데이터 워드들(및 대응하는 심볼 유형)이 더 높은 에러 레이트와 연관되는지를 결정할 수 있다(즉, 메모리 디바이스(510)로부터 에러 검출 신호들을 수신한 것에 기초하여). 호스트 디바이스(505)는 심볼 유형들의 각각을 저장할 때 메모리 디바이스(510)의 특성들에 기초하여 제 1 및/또는 제 2 저장 상태 기준을 결정할 수 있다.
(525)에서, 호스트 디바이스(505)는 메모리 디바이스(510)에 저장될 정보를 식별할 수 있으며 상기 식별된 정보에 기초하여 제 1 데이터 워드를 생성할 수 있다. 호스트 디바이스(505)는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족함을 식별할 수 있다. 즉, 호스트 디바이스(505)는 제 1 데이터 워드가 제 1 저장 상태 기준에 의해 표시된 저장 상태 임계치를 만족하는지 결정할 수 있다.
(530)에서, 호스트 디바이스(505)는 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성할 수 있다. 호스트 디바이스(505)는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 제 2 데이터 워드를 생성할 수 있다. 몇몇 경우들에서, 호스트 디바이스(505)는 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정할 수 있다. 몇몇 경우들에서, 각각의 데이터 워드는 두 개의 심볼 유형들을 포함할 수 있으며 변환은 데이터 비트 인버전의 예일 수 있다(즉, 각각의 '0' 값은 '1'이 되며 그 반대도 마찬가지이다). 다른 경우들에서, 제 1 데이터 워드는 3개 이상의 심볼 유형들을 포함할 수 있다. 이들 예들에서, 제 1 데이터 워드의 각각의 심볼 유형은 제 2 데이터 워드에 대한 상이한 심볼 유형에 매핑될 수 있다.
(535)에서, 호스트 디바이스(505)는 제 2 데이터 워드를 메모리 디바이스(510)로 발송할 수 있다. (540)에서, 메모리 디바이스(510)는 호스트 디바이스(505)로부터 (535)에서 수신된 제 2 데이터 워드를 저장할 수 있다.
몇몇 경우들에서, 호스트 디바이스(505)는 메모리 디바이스(510)에서 판독 동작을 개시할 수 있다. 판독 동작은 (515, 520, 525, 530, 535, 및 540)에서 발생한 기록 동작에 독립적으로 발생할 수 있다. 판독 동작은 호스트 디바이스(505)가 판독 명령(545)을 메모리 디바이스(510)로 송신하는 것으로 시작할 수 있다. 몇몇 경우들에서, 판독 명령(545)은 메모리 디바이스(510)의 위치와 연관될 수 있다. 메모리 디바이스(510)는 판독 명령(545)에 의해 표시된 위치와 연관된 저장된 데이터 워드를 결정할 수 있다. 몇몇 경우들에서, 저장된 데이터 워드는 제 2 데이터 워드의 변환된 버전일 수 있는 제 1 데이터 워드일 수 있다. 이 예에서, 판독 명령은 제 1 데이터 워드를 제 2 데이터 워드로 변환하도록 메모리 디바이스(510)에 명령하는 변환 표시자를 선택적으로 포함할 수 있다.
(550)에서, 메모리 디바이스(510)는 제 2 데이터 워드를 생성하기 위해 저장된 데이터 워드를 선택적으로 변환할 수 있다. 몇몇 경우들에서, 메모리 디바이스(510)는 메모리 디바이스(510)가 판독 명령 내에서 (545)에서 호스트 디바이스(505)로부터 변환 표시자를 수신한다면 저장된 데이터 워드를 변환할 수 있다.
(555)에서, 메모리 디바이스(510)는 데이터 워드를 호스트 디바이스(505)로 송신할 수 있다. 판독 명령(545)이 변환 표시자를 포함하는 경우에, (555)에서 송신된 데이터 워드는 제 2 데이터 워드일 수 있다. 판독 명령(545)이 변환 표시자를 포함하지 않는 경우에, (555)에서 송신된 데이터 워드는 저장된 데이터 워드일 수 있다. 이 경우에, (560)에서, 호스트 디바이스(505)는 제 2 데이터 워드를 생성하기 위해 (555)에서 수신된 저장된 데이터 워드를 변환할 수 있다.
도 6은 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 메모리 어레이(600)의 블록도의 예를 예시한다. 몇몇 예들에서, 메모리 어레이(600)의 블록도는 시스템(100) 및 메모리 다이(200)의 양태들을 구현할 수 있다. 예를 들어, 메모리 어레이(600)는 메모리 어레이들(170)의 양태들의 예일 수 있다. 뿐만 아니라, 메모리 어레이(600)는 도 3 및 도 5를 참조하여 설명된 프로세스들뿐만 아니라 도 4를 참조하여 설명된 예시적인 데이터 변환들을 수행하도록 구성될 수 있다.
메모리 어레이(600)는 각각 데이터 워드들, 표시자들, 및 에러 정정 코드들(ECC들)을 저장할 수 있는 파티션들(605, 610, 및 615)을 포함할 수 있다. 각각의 파티션은 메모리 어레이(600)의 하나 이상의 메모리 셀들을 포함할 수 있다.
파티션(605)은 도 3, 도 4, 및 도 5를 참조하여 설명된 바와 같이 제 1 및 제 2 데이터 워드들의 예들일 수 있는, 하나 이상의 데이터 워드들을 저장할 수 있다. 몇몇 경우들에서, 파티션(605)은 상이한 데이터 워드의 변환된 버전들이 아닌 데이터 워드들을 저장할 수 있다. 그러나, 다른 경우들에서, 파티션(605)은 상이한 데이터 워드들의 변환된 버전들인 데이터 워드들을 저장할 수 있다. 몇몇 인스턴스들에서, 파티션(605)에 저장된 각각의 데이터 워드는 특정한 심볼 유형 또는 유형들이 판독되거나 또는 저장될 때 상이한 심볼 유형보다 적은 해로운 거동을 보이게 하는 메모리 어레이(600)의 특성을 나타내는 제 2 저장 상태 기준을 만족시킬 수 있다. 즉, 파티션(605) 내에 저장된 각각의 데이터 워드는 다른 심볼들보다 덜 해로운 거동을 보일 수 있는 심볼 유형인 적어도 특정한 수의 심볼들(즉, 저장 상태 임계치에 의해 표시되는 심볼들의 수량)을 포함할 수 있다. 따라서, 파티션(605)은 더 많은 해로운 거동(예컨대, 열악한 데이터 보유 또는 더 높은 전력 소비)과 연관된 특정한 심볼들의 발생을 감소시키기 위해 데이터 워드들을 저장할 수 있다.
파티션(610)은 도 3 및 도 4를 참조하여 설명된 바와 같이 표시자들을 저장할 수 있다. 각각의 저장된 표시자는 저장된 데이터 워드에 대응할 수 있다. 표시자들은 표시자와 연관된 데이터 워드가 상이한 데이터 워드의 변환된 버전일 수 있음을 나타낼 수 있다. 저장된 데이터 워드는 메모리 어레이(600)의 메모리 셀들의 데이터 보유 특성 또는 전력 소비 특성을 나타내는 저장 상태 기준에 기초하여 저장되기 전에 변환될 수 있다. 표시자들은 또한 각각의 저장된 데이터의 각각의 심볼 유형이 어떻게 메모리 어레이(600)의 파티션(605)에 저장된 제 1 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정되었는지를 나타낼 수 있다. 메모리 어레이(600)는 표시자들에 의해 표시된 상이한 데이터 워드로 저장된 데이터 워드를 변환하도록 구성될 수 있다.
메모리 어레이(600)는 파티션(605)에 저장된 각각의 데이터 워드와 연관된 ECC 정보를 저장하기 위해 제 3 파티션(615)을 추가로 포함할 수 있다. ECC는 메모리 어레이(600)가 판독 동작 동안 데이터 워드 또는 워드들 내에서 에러들을 검출하도록 허용할 수 있다. 이 예에서, 메모리 어레이(600)는 메모리 어레이(600)에 의해 저장된 각각의 데이터 워드에 대한 표시자 및 ECC 양쪽 모두를 저장할 수 있다. 예를 들어, 더 해로운 거동과 연관되는 유형의 임의의 심볼들을 포함하지 않는 저장될 데이터 워드는 변환되지 않고 저장될 수 있다. 이 예에서, 메모리 어레이(600)는 원래 데이터 워드를 파티션(605)에, 저장된 데이터 워드가 또 다른 데이터 워드의 변환된 버전이 아닐 수 있음을 나타내는 표시자를 파티션(610)에, 및 데이터 워드에 관한 ECC를 파티션(615)에 저장할 수 있다. 또 다른 예에서, 저장될 데이터 워드는 다른 심볼 유형들보다 더 해로운 유형의 심볼들의 수량을 포함할 수 있다. 이 예에서, 메모리 어레이(600)는 제 2 데이터 워드를 생성하기 위해 원래 데이터 워드를 변환할 수 있다. 이 예에서, 메모리 어레이(600)는 제 2 데이터 워드를 파티션(605)에, 저장된 데이터 워드가 또 다른 데이터 워드의 변환된 버전일 수 있음을 나타내는 표시자를 파티션(610)에, 및 2 데이터 워드에 관한 ECC를 파티션(615)에 저장할 수 있다.
몇몇 경우들에서, 파티션들(605, 610, 및 615)의 각각은 메모리 어레이(600) 내에서 메모리의 비-중첩 부분들일 수 있다. 다른 경우들에서, 파티션들(605, 610, 및 615)은 부분적으로 또는 완전히 중첩할 수 있다. 예를 들어, 표시자들을 저장한 파티션(610)은 ECC들을 저장하기 위한 파티션(615)으로서 메모리 어레이(600)의 중첩한 메모리 셀들을 이용할 수 있다.
도 7은 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 메모리 디바이스(705)의 블록도(700)의 예를 예시한다. 메모리 디바이스는 메모리 디바이스(110, 310, 510), 및 메모리 다이(200)의 양태들의 예일 수 있다. 메모리 디바이스(705)는 수신 컴포넌트(710), 저장 상태 기준 관리기(715), 데이터 워드 변환기(720), 저장 컴포넌트(725), 표시자 컴포넌트(730), 데이터 보유 특성 관리기(735), 및 송신 컴포넌트(740)를 포함할 수 있다. 이들 컴포넌트들의 각각은 서로(예컨대, 하나 이상의 버스들을 통해) 직접 또는 간접적으로 통신할 수 있으며 디바이스 메모리 제어기 또는 로컬 메모리 제어기에 의해 구현될 수 있다.
기록 또는 프로그램 동작 동안과 같은, 몇몇 경우들에서, 수신 컴포넌트(710)는 호스트 디바이스로부터, 메모리 디바이스(705)에 저장될 제 1 데이터 워드를 수신할 수 있다. 몇몇 경우들에서, 수신 컴포넌트(710)는 호스트 디바이스로부터 메모리 디바이스(705)에 저장될 제 3 데이터 워드를 수신할 수 있다. 판독 동작 동안과 같은, 몇몇 인스턴스들에서, 수신 컴포넌트(710)는, 호스트 디바이스로부터, 메모리 디바이스(705)의 위치와 연관된 판독 명령을 수신할 수 있다.
저장 상태 기준 관리기(715)는 제 1 데이터 워드가 메모리 디바이스의 제 1 저장 상태 기준을 만족한다고 결정할 수 있으며, 상기 제 1 저장 상태 기준은 메모리 디바이스(705)의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성을 나타낸다. 다른 경우들에서, 저장 상태 기준 관리기(715)는 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 2 데이터 워드의 심볼들의 수량이 메모리 디바이스(705)의 저장 상태 임계치를 만족한다고 결정한 것에 기초하여 제 2 데이터 워드가 제 2 저장 상태 기준을 만족한다고 결정할 수 있으며, 여기에서 메모리 디바이스(705)에 제 2 데이터 워드를 저장하는 것은 제 2 데이터 워드가 제 2 저장 상태 기준을 만족한다고 결정한 것에 기초할 수 있다. 몇몇 인스턴스들에서, 저장 상태 기준 관리기(715)는 제 3 데이터 워드가 메모리 디바이스(705)의 제 2 저장 상태 기준을 만족하는지 결정할 수 있다.
데이터 워드 변환기(720)는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성할 수 있으며, 상기 제 2 저장 상태 기준은 메모리 디바이스(705)의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성을 나타낸다. 몇몇 경우들에서, 데이터 워드 변환기(720)는 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정함으로써 제 2 데이터 워드를 생성할 수 있으며, 상기 제 1 데이터 워드 및 제 2 데이터 워드 각각은 3개 이상의 심볼 유형들을 포함하며, 제 1 데이터 워드의 각각의 심볼 유형은 제 2 데이터 워드의 상이한 심볼 유형에 매핑될 수 있다.
데이터 워드 변환기(720)는 메모리 디바이스(705)에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관될 수 있다고 식별한 것에 기초하여 제 2 데이터 워드를 생성하기 위해 메모리 디바이스(705)에 저장된 제 1 데이터 워드의 심볼들에 변환을 적용할 수 있다. 몇몇 경우들에서, 데이터 워드 변환기(720)는 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정할 수 있으며, 상기 제 1 데이터 워드 및 제 2 데이터 워드 각각은 3개 이상의 심볼 유형들을 포함하며, 상기 제 1 데이터 워드의 각각의 심볼 유형은 제 2 데이터 워드의 상이한 심볼 유형에 매핑될 수 있다.
저장 컴포넌트(725)는 메모리 디바이스(705)에 제 2 데이터 워드를 저장할 수 있다. 몇몇 경우들에서, 저장 컴포넌트(725)는 메모리 디바이스(705)에 표시자를 저장할 수 있다. 몇몇 예들에서, 표시자는 제 2 데이터 워드를 저장하는 메모리 디바이스(705)의 제 2 부분과 상이할 수 있는 메모리 디바이스(705)의 제 1 부분에 저장될 수 있다. 몇몇 인스턴스들에서, 저장 컴포넌트(725)는 메모리 디바이스(705)에 제 3 데이터 워드를 저장할 수 있다. 판독 동작 동안과 같은, 몇몇 경우들에서, 저장 컴포넌트(725)는 판독 명령에 의해 표시된 위치에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관될 수 있음을 식별할 수 있다.
표시자 컴포넌트(730)는 제 2 데이터 워드를 생성한 것에 기초하여 메모리 디바이스(705)에 저장된 제 2 데이터 워드가 제 1 데이터 워드의 변환된 버전일 수 있다는 표시자를 생성할 수 있다. 몇몇 경우들에서, 표시자는 제 1 데이터 워드의 각각의 심볼 유형이 어떻게 메모리 디바이스(705)에 저장된 제 2 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정될 수 있는지를 나타낼 수 있다. 판독 동작 동안과 같은, 몇몇 경우들에서, 표시자 컴포넌트(730)는 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전일 수 있음을 나타내는 메모리 디바이스(705)에 저장된 표시자를 식별할 수 있으며, 변환을 적용하는 것은 표시자에 기초할 수 있다. 몇몇 인스턴스들에서, 표시자는 제 1 데이터 워드의 각각의 심볼 유형이 어떻게 제 1 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정될 수 있는지를 나타낼 수 있으며, 변환을 적용하는 것은 표시자에 표시된 변환에 기초할 수 있다.
데이터 보유 특성 관리기(735)는 메모리 디바이스(705)의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 1 데이터 워드의 심볼들의 수량을 결정할 수 있다. 몇몇 경우들에서, 데이터 보유 특성 관리기(735)는 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 1 데이터 워드의 심볼들의 수량이 메모리 디바이스(705)의 저장 상태 임계치를 만족하는데 실패한 지를 결정할 수 있다. 몇몇 예들에서, 데이터 보유 특성 관리기(735)는 하나 이상의 메모리 셀들에 저장하기 위해 메모리 디바이스(705)의 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 2 데이터 워드의 심볼들의 수량을 결정할 수 있다. 몇몇 인스턴스들에서, 데이터 보유 특성 관리기(735)는 제 2 데이터 보유 특성과 연관된 심볼 유형인 제 2 데이터 워드의 심볼들의 수량이 메모리 디바이스(705)의 저장 상태 임계치를 만족하는지 결정할 수 있다. 몇몇 예들에서, 제 2 데이터 보유 특성은 제 1 데이터 보유 특성에 의해 표시되는 메모리 디바이스(705)에 저장되도록 구성된 하나 이상의 심볼 유형들에 비교하여 더 적은 누설을 보이는 메모리 디바이스(705)에 저장되도록 구성될 수 있는 심볼 유형을 나타낼 수 있다.
송신 컴포넌트(740)는, 예를 들어 판독 동작 동안, 제 2 데이터 워드를 호스트 디바이스로 송신할 수 있다.
데이터 극성에 기초한 데이터 저장을 위한 장치가 설명된다. 장치는 호스트 디바이스로부터, 메모리 디바이스에 저장될 제 1 데이터 워드를 수신하며, 메모리 디바이스에 의해, 제 1 데이터 워드가 메모리 디바이스의 제 1 저장 상태 기준을 만족하는지 결정하기 위한 수단을 포함할 수 있다. 몇몇 경우들에서, 제 1 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성을 나타낼 수 있다. 장치는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성하기 위한 수단을 포함할 수 있다. 몇몇 예들에서, 제 2 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성을 나타낼 수 있다. 몇몇 경우들에서, 장치는 메모리 디바이스에 제 2 데이터 워드를 저장하기 위한 수단을 포함할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 제 2 데이터 워드를 생성하고 표시자를 메모리 디바이스에 저장한 것에 기초하여 메모리 디바이스에 저장된 제 2 데이터 워드가 제 1 데이터 워드의 변환된 버전일 수 있다는 표시자를 생성하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들에서, 표시자는 제 1 데이터 워드의 각각의 심볼 유형이 어떻게 메모리 디바이스에 저장된 제 2 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정될 수 있는지를 나타낼 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들에서, 표시자는 제 2 데이터 워드를 저장하는 메모리 디바이스의 제 2 부분과 상이할 수 있는 메모리 디바이스의 제 1 부분에 저장될 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다. 몇몇 경우들에서, 제 1 데이터 워드 및 제 2 데이터 워드는 각각 3개 이상의 심볼 유형들을 포함할 수 있으며, 제 1 데이터 워드의 각각의 심볼 유형은 제 2 데이터 워드의 상이한 심볼 유형에 매핑될 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성과 연관된 심볼 유형일 수 있는 제 1 데이터 워드의 심볼들의 수량을 결정하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다. 본 출원에서 설명된 방법 및 장치의 몇몇 예들은 제 2 데이터 보유 특성과 연관된 심볼 유형일 수 있는 제 1 데이터 워드의 심볼들의 수량이 메모리 디바이스의 저장 상태 임계치를 만족시키는데 실패한다고 결정하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 하나 이상의 메모리 셀들에 저장하기 위해 메모리 디바이스의 제 2 데이터 보유 특성과 연관된 심볼 유형일 수 있는 제 2 데이터 워드의 심볼들의 수량을 결정하며 제 2 데이터 보유 특성과 연관된 심볼 유형일 수 있는 제 2 데이터 워드의 심볼들의 수량이 메모리 디바이스의 저장 상태 임계치를 만족하는지 결정하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다. 몇몇 경우들에서, 본 출원에서 설명된 방법 및 장치는 제 2 데이터 보유 특성과 연관된 심볼 유형일 수 있는 제 2 데이터 워드의 심볼들의 수량이 메모리 디바이스의 저장 상태 임계치를 만족시킨다고 결정한 것에 기초하여 제 2 데이터 워드가 제 2 저장 상태 기준을 만족하는지 결정하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다. 몇몇 예들에서, 메모리 디바이스에 제 2 데이터 워드를 저장하는 것은 제 2 데이터 워드가 제 2 저장 상태 기준을 만족한다고 결정한 것에 기초할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들에서, 제 2 데이터 보유 특성은 제 1 데이터 보유 특성에 의해 표시될 수 있는 메모리 디바이스에 저장되도록 구성된 하나 이상의 심볼 유형들에 비교하여 더 적은 누설을 보이는 메모리 디바이스에 저장되도록 구성될 수 있는 심볼 유형을 나타낸다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 호스트 디바이스로부터 메모리 디바이스에 저장될 제 3 데이터 워드를 수신하고, 메모리 디바이스에 의해, 제 3 데이터 워드가 메모리 디바이스의 제 2 저장 상태 기준을 만족한다고 결정하며, 제 3 데이터 워드를 메모리 디바이스에 저장하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다.
데이터 극성에 기초한 데이터 저장을 위한 장치가 설명된다. 상기 장치는 호스트 디바이스로부터, 메모리 디바이스의 위치와 연관된 판독 명령을 수신하며, 메모리 디바이스에 의해, 상기 위치에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관될 수 있음을 식별하기 위한 수단을 포함할 수 있다. 장치는 메모리 디바이스에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관될 수 있다고 식별한 것에 기초하여 제 2 데이터를 생성하기 위해 메모리 디바이스에 저장된 제 1 데이터 워드의 심볼들에 변환을 적용하며 제 2 데이터를 호스트 디바이스로 발송하기 위한 수단을 추가로 포함할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전일 수 있음을 나타내는 메모리 디바이스에 저장된 표시자를 식별하기 위한 동작들 또는 수단들을 추가로 포함할 수 있으며, 변환을 적용하는 것은 표시자에 기초할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들에서, 메모리 디바이스에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관될 수 있다고 식별하는 것은 제 1 데이터 워드의 각각의 심볼 유형이 어떻게 제 1 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정될 수 있는지를 나타내는 메모리 디바이스에 저장된 표시자를 식별하기 위한 동작들, 특징들, 수단들, 또는 지시들을 추가로 포함할 수 있으며, 변환을 적용하는 것은 표시자에서 표시된 변환에 기초할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들에서, 제 2 데이터 워드를 생성하기 위해 메모리 디바이스에 저장된 제 1 데이터 워드에 변환을 적용하는 것은 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정하기 위한 동작들, 특징들, 수단들, 또는 지시들을 추가로 포함할 수 있으며, 상기 제 1 데이터 워드 및 제 2 데이터 워드는 각각 3개 이상의 심볼 유형들을 포함한다. 몇몇 경우들에서, 제 1 데이터 워드의 각각의 심볼 유형은 제 2 데이터 워드의 상이한 심볼 유형에 매핑될 수 있다.
데이터 극성에 기초한 데이터 저장을 위한 장치가 설명된다. 장치는 호스트 디바이스에 의해, 메모리 디바이스에 저장될 제 1 데이터가 메모리 디바이스의 제 1 저장 상태 기준을 만족할 수 있음을 식별하기 위한 수단을 포함할 수 있다. 몇몇 예들에서, 제 1 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성을 나타낼 수 있다. 장치는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족할 수 있는 제 2 데이터를 생성하기 위한 수단을 포함할 수 있다. 몇몇 경우들에서, 제 2 데이터 보유 특성은 제 1 데이터 보유 특성에 의해 표시되는 하나 이상의 메모리 셀들에 저장되도록 구성된 하나 이상의 심볼 유형들에 비교하여 더 적은 누설을 보이는 하나 이상의 메모리 셀들에 저장되도록 구성될 수 있는 심볼 유형을 나타낼 수 있다. 장치는 제 2 데이터 워드를 메모리 디바이스로 발송하기 위한 수단을 추가로 포함할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 메모리 디바이스로부터, 하나 이상의 메모리 셀들과 연관된 제 1 저장 상태 기준을 나타내는 메시지를 수신하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 하나 이상의 메모리 셀들의 제 1 저장 상태 기준에 대한 요청을 메모리 디바이스로 발송하기 위한 동작들 또는 수단들을 추가로 포함할 수 있으며, 여기에서 메시지를 수신하는 것은 요청을 발송한 것에 기초할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들에서, 제 1 데이터 워드에 변환을 적용함으로써 제 2 데이터 워드를 생성하는 것은 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정하기 위한 동작들, 특징들, 수단들, 또는 지시들을 포함할 수 있으며, 상기 제 1 데이터 워드 및 제 2 데이터 워드 각각은 3개 이상의 심볼 유형들을 포함하며, 제 1 데이터의 각각의 심볼 유형은 제 2 데이터 워드의 상이한 심볼 유형에 매핑될 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 저장된 데이터 워드에 대한 판독 명령을 메모리 디바이스로 발송하는 것으로서, 상기 판독 명령은 저장된 데이터 워드를 변환하도록 메모리 디바이스에 명령하는 변환 표시자를 포함하는, 상기 판독 명령을 발송하며, 메모리 디바이스로부터, 변환된 데이터 워드를 수신하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다.
본 출원에서 설명된 방법 및 장치의 몇몇 예들은 제 2 데이터 워드에 대한 판독 명령을 메모리 디바이스로 발송하고, 메모리 디바이스로부터, 제 2 데이터 워드를 수신하며, 제 1 데이터 워드를 생성하기 위해 제 2 데이터 워드를 변환하기 위한 동작들 또는 수단들을 추가로 포함할 수 있다.
도 8은 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 방법(800)을 예시한 흐름도를 도시한다. 방법(800)의 동작들은 본 출원에서 설명된 메모리 디바이스 또는 그것의 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(800)의 동작들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다. 몇몇 예들에서, 메모리 디바이스는 이하에서 설명된 기능들을 수행하도록 메모리 디바이스의 기능적 엘리먼트들을 제어하기 위해 지시들의 세트를 실행할 수 있다. 부가적으로 또는 대안적으로, 메모리 디바이스는 특수-목적 하드웨어를 사용하여 이하에서 설명된 기능들의 양태들을 수행할 수 있다.
(805)에서, 메모리 디바이스는, 호스트 디바이스로부터, 메모리 디바이스에 저장될 제 1 데이터 워드를 수신할 수 있다. (805)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (805)의 동작들의 양태들은 도 1 내지도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(810)에서, 메모리 디바이스는 제 1 데이터 워드가 메모리 디바이스의 제 1 저장 상태 기준을 만족한다고 결정할 수 있으며, 상기 제 1 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성을 나타낸다. (810)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (810)의 동작들의 양태들은 도 1 내지 도 4, 도 6 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(815)에서, 메모리 디바이스는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성할 수 있으며, 상기 제 2 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성을 나타낸다. (815)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (815)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(820)에서, 메모리 디바이스는 메모리 디바이스에 제 2 데이터 워드를 저장할 수 있다. (820)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (820)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
도 9는 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 방법(900)을 예시한 흐름도를 도시한다. 방법(900)의 동작들은 본 출원에서 설명된 메모리 디바이스 또는 그것의 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(900)의 동작들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다. 몇몇 예들에서, 메모리 디바이스는 이하에서 설명된 기능들을 수행하도록 메모리 디바이스의 기능적 엘리먼트들을 제어하기 위해 지시들의 세트를 실행할 수 있다. 부가적으로 또는 대안적으로, 메모리 디바이스는 특수-목적 하드웨어를 사용하여 이하에서 설명된 기능들의 양태들을 수행할 수 있다.
(905)에서, 메모리 디바이스는 호스트 디바이스로부터, 메모리 디바이스에 저장될 제 1 데이터 워드를 수신할 수 있다. (905)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (905)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(910)에서, 메모리 디바이스는, 메모리 디바이스에 의해, 제 1 데이터 워드가 메모리 디바이스의 제 1 저장 상태 기준을 만족한다고 결정할 수 있으며, 상기 제 1 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성을 나타낸다. (910)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (910)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(915)에서, 메모리 디바이스는 제 2 데이터 워드를 생성하기 위해 제 1 데이터 워드의 각각의 심볼을 수정할 수 있으며, 상기 제 1 데이터 워드 및 제 2 데이터 워드 각각은 3개 이상의 심볼 유형들을 포함하고, 여기에서 제 1 데이터 워드의 각각의 심볼 유형은 제 2 데이터 워드의 상이한 심볼 유형에 매핑될 수 있다. (915)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (915)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(920)에서, 메모리 디바이스는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성할 수 있으며, 상기 제 2 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성을 나타낸다. (920)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (920)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(925)에서, 메모리 디바이스는 제 2 데이터 워드를 생성한 것에 기초하여 메모리 디바이스에 저장된 제 2 데이터 워드가 제 1 데이터 워드의 변환된 버전일 수 있다는 표시자를 생성할 수 있다. (925)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (925)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(930)에서, 메모리 디바이스는 메모리 디바이스에 제 2 데이터 워드를 저장할 수 있다. (930)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (930)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(935)에서, 메모리 디바이스는 메모리 디바이스에 표시자를 저장할 수 있다. (935)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (935)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
도 10은 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 방법(1000)을 예시한 흐름도를 도시한다. 방법(1000)의 동작들은 본 출원에서 설명된 메모리 디바이스 또는 그것의 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(1000)의 동작들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다. 몇몇 예들에서, 메모리 디바이스는 이하에서 설명된 기능들을 수행하도록 메모리 디바이스의 기능적 엘리먼트들을 제어하기 위해 지시들의 세트를 실행할 수 있다. 부가적으로 또는 대안적으로, 메모리 디바이스는 특수-목적 하드웨어를 사용하여 이하에서 설명된 기능들의 양태들을 수행할 수 있다.
(1005)에서, 메모리 디바이스는, 호스트 디바이스로부터, 메모리 디바이스의 위치와 연관된 판독 명령을 수신할 수 있다. (1005)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (1005)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(1010)에서, 메모리 디바이스는, 메모리 디바이스에 의해, 상기 위치에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관될 수 있음을 식별할 수 있다. (1010)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (1010)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(1015)에서, 메모리 디바이스는 메모리 디바이스에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관될 수 있음을 식별한 것에 기초하여 제 2 데이터 워드를 생성하기 위해 메모리 디바이스에 저장된 제 1 데이터 워드의 심볼들에 변환을 적용할 수 있다. (1015)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (1015)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
(1020)에서, 메모리 디바이스는 제 2 데이터 워드를 호스트 디바이스로 발송할 수 있다. (1020)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (1020)의 동작들의 양태들은 도 1 내지 도 4, 도 6, 및 도 7을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다.
도 11은 본 출원에서 개시된 것에 따른 데이터 극성에 기초한 데이터 저장을 지원하는 방법(1100)을 예시한 흐름도를 도시한다. 방법(1100)의 동작들은 본 출원에서 설명된 바와 같이 호스트 디바이스 또는 그것의 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(1100)의 동작들은 도 1, 도 2, 및 도 5 내지 도 7을 참조하여 설명된 바와 같이 호스트 디바이스에 의해 수행될 수 있다. 몇몇 예들에서, 호스트 디바이스는 이하에서 설명된 기능들을 수행하도록 호스트 디바이스의 기능적 엘리먼트들을 제어하기 위해 지시들의 세트를 실행할 수 있다. 부가적으로 또는 대안적으로, 호스트 디바이스는 특수-목적 하드웨어를 사용하여 이하에서 설명된 기능들의 양태들을 수행할 수 있다.
(1105)에서, 호스트 디바이스는, 호스트 디바이스에 의해, 메모리 디바이스에 저장될 제 1 데이터 워드가 메모리 디바이스의 제 1 저장 상태 기준을 만족하는지 식별할 수 있으며, 상기 제 1 저장 상태 기준은 메모리 디바이스의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성을 나타낸다. (1105)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (1105)의 동작들의 양태들은 도 1, 도 2, 및 도 5 내지 도 7을 참조하여 설명된 바와 같이 호스트 디바이스에 의해 수행될 수 있다.
(1110)에서, 호스트 디바이스는 제 1 데이터 워드가 제 1 저장 상태 기준을 만족한다고 결정한 것에 기초하여 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성할 수 있으며, 상기 제 2 데이터 보유 특성은 제 1 데이터 보유 특성에 의해 표시되는 하나 이상의 메모리 셀들에 저장되도록 구성된 하나 이상의 심볼 유형들에 비교하여 더 적은 누설을 보이는 하나 이상의 메모리 셀들에 저장되도록 구성될 수 있는 심볼 유형을 나타낸다. (1110)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (1110)의 동작들의 양태들은 도 1, 도 2, 및 도 5 내지 도 7을 참조하여 설명된 바와 같이 호스트 디바이스에 의해 수행될 수 있다.
(1115)에서, 호스트 디바이스는 제 2 데이터 워드를 메모리 디바이스로 발송할 수 있다. (1115)의 동작들은 본 출원에서 설명된 방법들에 따라 수행될 수 있다. 몇몇 예들에서, (1115)의 동작들의 양태들은 도 1, 도 2, 및 도 5 내지 도 7을 참조하여 설명된 바와 같이 호스트 디바이스에 의해 수행될 수 있다.
상기 설명된 방법들은 가능한 구현들을 설명하고, 동작들 및 단계들은 재배열되거나 또는 그 외 수정될 수 있으며, 다른 구현들이 가능하다는 것이 주의되어야 한다. 뿐만 아니라, 방법들 중 둘 이상으로부터의 양태들은 조합될 수 있다.
장치가 설명된다. 몇몇 예들에서, 상기 장치는 제 1 데이터 워드를 저장하도록 구성된 메모리 어레이의 제 1 부분 및 제 1 데이터 워드와 연관된 표시자를 저장하도록 구성된 메모리 어레이의 제 2 부분을 포함할 수 있으며, 상기 표시자는 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전임을 나타내고, 상기 제 1 데이터 워드는 메모리 어레이의 하나 이상의 메모리 셀들의 데이터 보유 특성을 나타내는 저장 상태 기준에 적어도 부분적으로 기초하여 변환된다.
몇몇 예들에서, 장치는 제 1 데이터 워드를 생성하기 위해 제 2 데이터 워드를 변환하도록 구성될 수 있다. 몇몇 예들에서, 장치는 메모리 어레이의 제 1 부분에 저장된 제 1 데이터 워드와 연관된 에러 정정 코드(ECC) 정보를 저장하도록 구성된 메모리 어레이의 제 3 부분을 포함할 수 있다. 몇몇 예들에서, 표시자는 제 2 데이터 워드의 각각의 심볼 유형이 어떻게 메모리 어레이의 제 1 부분에 저장된 제 1 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정되는지를 나타낸다. 몇몇 예들에서, 메모리 어레이의 제 1 부분은 복수의 데이터 워드들을 저장하도록 구성될 수 있으며 메모리 어레이의 제 2 부분은 복수의 데이터 워드들의 각각과 연관된 복수의 표시자들을 저장하도록 구성될 수 있다.
용어들, "전자 통신", "도전성 컨택", "연결된", 및 "결합된"은 컴포넌트들 사이에서 신호들의 흐름을 지원하는 컴포넌트들 간의 관계를 나타낼 수 있다. 컴포넌트들은 언제든지, 컴포넌트들 사이에서 신호들의 흐름을 지원할 수 있는 컴포넌트들 간에 임의의 도전성 경로가 있다면 서로 전자 통신한다고(또는 그것과 도전성 컨택하거나 또는 그것과 연결되거나 또는 그것과 결합되는) 고려된다. 임의의 주어진 시간에, 서로 전자 통신하는(또는 그것과 도전성 컨택하거나 또는 그것과 연결되거나 또는 결합되는) 컴포넌트들 간의 도전성 경로는 연결된 컴포넌트들을 포함하는 디바이스의 동작에 기초하여 개방 회로 또는 폐쇄 회로일 수 있다. 연결된 컴포넌트들 간의 도전성 경로는 컴포넌트들 간의 직접적인 도전성 경로일 수 있거나 또는 연결된 컴포넌트들 간의 도전성 경로는 스위치들, 트랜지스터들, 또는 다른 컴포넌트들과 같은, 중간 컴포넌트들을 포함할 수 있는 간접적인 도전성 경로일 수 있다. 몇몇 경우들에서, 연결된 컴포넌트들 간의 신호들의 흐름은, 예를 들어, 스위치들 또는 트랜지스터들과 같은 하나 이상의 중간 컴포넌트들을 사용하여, 잠시 중단될 수 있다.
용어 "결합하는"은 신호들이 현재 도전성 경로를 통해 컴포넌트들 간에 통신될 수 있는 컴포넌트들 간의 개방-회로 관계로부터 신호들이 도전성 경로를 통해 컴포넌트들 사이에서 통신될 수 있는 컴포넌트들 간의 폐쇄-회로 관계로 이동하는 상태를 나타낸다. 제어기와 같은, 컴포넌트가 다른 컴포넌트들을 함께 결합할 때, 컴포넌트는 이전에 신호들이 흐르는 것을 허용하지 않은 도전성 경로를 통해 신호들이 다른 컴포넌트들 사이에서 흐르도록 허용하는 변화를 개시한다.
용어 "절연된"은 신호들이 현재 컴포넌트들 사이에서 흐를 수 없는 컴포넌트들 간의 관계를 나타낸다. 컴포넌트들은 그것들 사이에 개방 회로가 있다면 서로 절연된다. 예를 들어, 컴포넌트들 사이에 배치되는 스위치에 의해 분리된 두 개의 컴포넌트들은 스위치가 개방될 때 서로 절연된다. 제어기가 두 개의 컴포넌트들을 절연할 때, 제어기는 이전에 신호들이 흐르도록 허용한 도전성 경로를 사용하여 신호들이 컴포넌트들 사이에서 흐르는 것을 방지하는 변화에 영향을 준다.
본 출원에서 개시된 스위칭 컴포넌트 또는 트랜지스터는 전계-효과 트랜지스터(FET)를 나타내며 소스, 드레인, 및 게이트를 포함한 3 단자 디바이스를 포함할 수 있다. 단자들은 도전성 재료들, 예컨대, 금속들을 통해 다른 전자 엘리먼트들에 연결될 수 있다. 소스 및 드레인은 도전성일 수 있으며, 고농도-도핑된, 예컨대, 퇴화한, 반도체 영역을 포함할 수 있다. 소스 및 드레인은 저농도-도핑된 반도체 영역 또는 채널에 의해 분리될 수 있다. 채널이 n-형이면(즉, 다수 캐리어들이 신호들이다), FET는 n-형 FET로 불리울 수 있다. 채널이 p-형이면(즉, 다수 캐리어들이 홀들이다), FET는 p-형 FET로 불리울 수 있다. 채널은 절연 게이트 산화물에 의해 캐핑될 수 있다. 채널 전도율은 전압을 게이트에 인가함으로써 제어될 수 있다. 예를 들어, 양의 전압 또는 음의 전압을 n-형 FET 또는 p-형 FET에 각각 인가하는 것은, 채널이 도전성이 되는 것을 야기할 수 있다. 트랜지스터는 트랜지스터의 임계 전압 이상인 전압이 트랜지스터 게이트에 인가될 때 "온"되거나 또는 "활성화"될 수 있다. 트랜지스터는 트랜지스터의 임계 전압 미만인 전압이 트랜지스터 게이트에 인가될 때 "오프"되거나 또는 "비활성화"될 수 있다.
첨부된 도면들과 관련하여, 여기에서 제시된 설명은 예시적인 구성들을 설명하며 구현될 수 있거나 또는 청구항들의 범위 내에 있는 예들 모두를 나타내지는 않는다. 여기에서 사용된 용어 "대표적인"은 "선호된" 또는 "다른 예들에 비해 유리한" 것이 아닌, "예, 인스턴스, 또는 예시로서 작용하는"을 의미한다. 상세한 설명은 설명된 기술들의 이해를 제공할 목적으로 특정 세부사항들을 포함한다. 이들 기술들은, 그러나, 이들 특정 세부사항들 없이 실시될 수 있다. 몇몇 인스턴스들에서, 잘 알려진 구조들 및 디바이스들은 설명된 예들의 개념들을 모호하게 하는 것을 피하기 위해 블록도 형태로 도시된다.
첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 참조 라벨을 가질 수 있다. 뿐만 아니라, 동일한 유형의 다양한 컴포넌트들은 대시 기호에 의한 참조 라벨 및 유사한 컴포넌트들을 구별하는 제 2 라벨을 따름으로써 구별될 수 있다. 제 1 참조 라벨이 명세서에서 사용된다면, 설명은 제 2 참조 라벨과 관계없이 동일한 제 1 참조 라벨을 가진 유사한 컴포넌트들 중 임의의 것에 적용 가능하다.
본 출원에서 설명된 정보 및 신호들은 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 상기 설명 전체에 걸쳐 언급될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학 필드들 또는 입자들, 또는 그것의 임의의 조합에 의해 표현될 수 있다.
여기에서의 개시와 관련하여 설명된 다양한 예시적인 블록들 및 모듈들은 본 출원에서 설명된 기능들을 수행하도록 설계된 범용 프로세서, DSP, ASIC, FPGA 또는 다른 프로그램 가능한 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 그것의 임의의 조합으로 구현되거나 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 기계일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합(예컨대, DSP 및 마이크로프로세서, 다수의 마이크로프로세서들, DSP 코어와 함께 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성의 조합)으로서 구현될 수 있다.
본 출원에서 설명된 기능들은 하드웨어, 프로세서에 의해 실행된 소프트웨어, 펌웨어, 또는 그것의 임의의 조합에서 구현될 수 있다. 프로세서에 의해 실행된 소프트웨어로 구현된다면, 기능들은 컴퓨터-판독 가능한 매체상에서의 하나 이상의 지시들 또는 코드로서 저장되거나 또는 송신될 수 있다. 다른 예들 및 구현예들은 개시 및 첨부된 청구항들의 범위 내에 있다. 예를 들어, 소프트웨어의 특징으로 인해, 상기 설명된 기능들은 프로세서, 하드웨어, 펌웨어, 하드와이어링, 또는 이들 중 임의의 것의 조합들에 의해 실행된 소프트웨어를 사용하여 구현될 수 있다. 기능들을 구현한 특징들은 또한 기능들의 부분들이 상이한 물리적 위치들에서 구현되도록 분산되는 것을 포함하여, 다양한 위치들에 물리적으로 위치될 수 있다. 또한, 청구항들에서를 포함하여, 여기에서 사용된 바와 같이, 아이템들의 리스트(예를 들어, "중 적어도 하나" 또는 "중 하나 이상"과 같은 구절에 의해 서두가 시작된 아이템들의 리스트들)에서 사용된 바와 같이 "또는"은 예를 들어, A, B, 또는 C 중 적어도 하나의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C)를 의미하도록 하는 포괄적 리스트를 나타낸다. 또한, 여기에서 사용된 바와 같이, 구절 "에 기초한"은 조건들의 폐쇄된 세트에 대한 참조로서 해석되지 않을 것이다. 예를 들어, "조건 A에 기초한"으로서 설명되는 대표적인 단계는 본 개시의 범위로부터 벗어나지 않고 조건 A 및 조건 B 양쪽 모두에 기초할 수 있다. 다시 말해서, 여기에서 사용된 바와 같이, 구절 "에 기초한"은 구절 "에 적어도 부분적으로 기초한"과 동일한 방식으로 해석될 것이다.
여기에서의 설명은 이 기술분야의 숙련자가 본 개시를 만들거나 또는 사용할 수 있게 하기 위해 제공된다. 본 개시에 대한 다양한 수정들이 이 기술분야의 숙련자들에게 쉽게 명백할 것이며, 여기에서 정의된 일반적인 원리들은 본 개시의 범위로부터 벗어나지 않고 다른 변형들에 적용될 수 있다. 따라서, 본 개시는 본 출원에서 설명된 예들 및 설계들에 제한되지 않으며, 본 출원에서 개시된 원리들 및 신규 특징들과 일치하는 가장 넓은 범위에 부합된다.

Claims (24)

  1. 방법에 있어서,
    호스트 디바이스로부터, 메모리 디바이스에 저장될 제 1 데이터 워드를 수신하는 단계;
    상기 메모리 디바이스에 의해, 상기 제 1 데이터 워드가 상기 메모리 디바이스의 제 1 저장 상태 기준을 만족하는지 결정하는 단계로서, 상기 제 1 저장 상태 기준은 상기 메모리 디바이스의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성(retention characteristic)을 나타내는, 상기 결정 단계;
    상기 제 1 데이터 워드가 상기 제 1 저장 상태 기준을 만족한다고 결정하는 것에 적어도 부분적으로 기초하여 상기 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성하는 단계로서, 상기 제 2 저장 상태 기준은 상기 메모리 디바이스의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성을 나타내는, 상기 제 2 데이터 워드 생성 단계; 및
    상기 제 2 데이터 워드를 상기 메모리 디바이스에 저장하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 제 2 데이터 워드를 생성하는 것에 적어도 부분적으로 기초하여 상기 메모리 디바이스에 저장된 제 2 데이터 워드가 상기 제 1 데이터 워드의 변환된 버전이라는 표시자(indicator)를 생성하는 단계; 및
    상기 표시자를 상기 메모리 디바이스에 저장하는 단계를 더 포함하는, 방법.
  3. 청구항 2에 있어서,
    상기 표시자는 상기 제 1 데이터 워드의 각각의 심볼 유형이 어떻게 상기 메모리 디바이스에 저장된 제 2 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정되는지를 나타내는, 방법.
  4. 청구항 2에 있어서,
    상기 표시자는 상기 제 2 데이터 워드를 저장하는 상기 메모리 디바이스의 제 2 부분과 상이한 상기 메모리 디바이스의 제 1 부분에 저장되는, 방법.
  5. 청구항 1에 있어서,
    상기 제 2 데이터 워드를 생성하기 위해 상기 제 1 데이터 워드의 각각의 심볼을 수정하는 단계를 더 포함하며, 상기 제 1 데이터 워드 및 상기 제 2 데이터 워드는 각각 3개 이상의 심볼 유형들을 포함하고, 상기 제 1 데이터 워드의 각각의 심볼 유형은 상기 제 2 데이터 워드의 상이한 심볼 유형에 매핑되는, 방법.
  6. 청구항 1에 있어서,
    상기 메모리 디바이스의 하나 이상의 메모리 셀들의 제 2 데이터 보유 특성과 연관된 심볼 유형인 상기 제 1 데이터 워드의 심볼들의 수량을 결정하는 단계; 및
    상기 제 2 데이터 보유 특성과 연관된 심볼 유형인 상기 제 1 데이터 워드의 심볼들의 수량이 상기 메모리 디바이스의 저장 상태 임계치를 만족하는데 실패한 지를 결정하는 단계를 더 포함하는, 방법.
  7. 청구항 1에 있어서,
    상기 하나 이상의 메모리 셀들에 저장하기 위해 상기 메모리 디바이스의 제 2 데이터 보유 특성과 연관된 심볼 유형인 상기 제 2 데이터 워드의 심볼들의 수량을 결정하는 단계;
    상기 제 2 데이터 보유 특성과 연관된 심볼 유형인 상기 제 2 데이터 워드의 심볼들의 수량이 상기 메모리 디바이스의 저장 상태 임계치를 만족하는지 결정하는 단계; 및
    상기 제 2 데이터 보유 특성과 연관된 심볼 유형인 상기 제 2 데이터 워드의 심볼들의 수량이 상기 메모리 디바이스의 저장 상태 임계치를 만족한다고 결정하는 것에 적어도 부분적으로 기초하여 상기 제 2 데이터 워드가 상기 제 2 저장 상태 기준을 만족하는지 결정하는 단계로서, 상기 메모리 디바이스에 상기 제 2 데이터 워드를 저장하는 것은 상기 제 2 데이터 워드가 상기 제 2 저장 상태 기준을 만족한다고 결정하는 것에 적어도 부분적으로 기초하는, 상기 제 2 데이터 워드가 상기 제 2 저장 상태 기준을 만족하는지 결정하는 단계를 더 포함하는, 방법.
  8. 청구항 1에 있어서,
    상기 제 2 데이터 보유 특성은 상기 제 1 데이터 보유 특성에 의해 표시되는 상기 메모리 디바이스에 저장되도록 구성된 하나 이상의 심볼 유형들에 비교하여 더 적은 누설(leakage)을 보이는 상기 메모리 디바이스에 저장되도록 구성되는 심볼 유형을 나타내는, 방법.
  9. 청구항 1에 있어서,
    상기 호스트 디바이스로부터 상기 메모리 디바이스에 저장될 제 3 데이터 워드를 수신하는 단계;
    상기 메모리 디바이스에 의해, 상기 제 3 데이터 워드가 상기 메모리 디바이스의 제 2 저장 상태 기준을 만족하는지 결정하는 단계; 및
    상기 제 3 데이터 워드를 상기 메모리 디바이스에 저장하는 단계를 더 포함하는, 방법.
  10. 방법에 있어서,
    호스트 디바이스로부터, 메모리 디바이스의 위치와 연관된 판독 명령을 수신하는 단계;
    상기 메모리 디바이스에 의해, 상기 위치에 저장된 제 1 데이터 워드가 제 2 데이터 워드와 연관되는지 식별하는 단계;
    상기 메모리 디바이스에 저장된 상기 제 1 데이터 워드가 상기 제 2 데이터 워드와 연관되는지 식별한 것에 적어도 부분적으로 기초하여 상기 제 2 데이터 워드를 생성하기 위해 상기 메모리 디바이스에 저장된 제 1 데이터 워드의 심볼들에 변환을 적용하는 단계; 및
    상기 제 2 데이터 워드를 상기 호스트 디바이스로 발송하는 단계를 포함하는, 방법.
  11. 청구항 10에 있어서,
    상기 제 1 데이터 워드가 상기 제 2 데이터 워드의 변환된 버전임을 나타내는 상기 메모리 디바이스에 저장된 표시자를 식별하는 단계를 더 포함하며, 상기 변환을 적용하는 것은 상기 표시자에 적어도 부분적으로 기초하는, 방법.
  12. 청구항 10에 있어서,
    상기 제 1 데이터 워드의 각각의 심볼 유형이 어떻게 상기 제 1 데이터 워드를 생성하기 위해 사용된 상기 변환의 부분으로서 수정되는지를 나타내는 상기 메모리 디바이스에 저장된 표시자를 식별하는 단계를 더 포함하며, 상기 변환을 적용하는 것은 상기 표시자에 표시된 변형에 적어도 부분적으로 기초하는, 방법.
  13. 청구항 10에 있어서,
    상기 제 2 데이터 워드를 생성하기 위해 상기 제 1 데이터 워드의 각각의 심볼을 수정하는 단계를 더 포함하며, 상기 제 1 데이터 워드 및 상기 제 2 데이터 워드 각각은 3개 이상의 심볼 유형들을 포함하고, 상기 제 1 데이터 워드의 각각의 심볼 유형은 상기 제 2 데이터 워드의 상이한 심볼 유형에 매핑되는, 방법.
  14. 방법에 있어서,
    호스트 디바이스에 의해, 메모리 디바이스에 저장될 제 1 데이터 워드가 상기 메모리 디바이스의 제 1 저장 상태 기준을 만족하는지 식별하는 단계로서, 상기 제 1 저장 상태 기준은 상기 메모리 디바이스의 하나 이상의 메모리 셀들의 제 1 데이터 보유 특성을 나타내는, 상기 식별 단계;
    상기 제 1 데이터 워드가 상기 제 1 저장 상태 기준을 만족한다고 결정하는 것에 적어도 부분적으로 기초하여 상기 제 1 데이터 워드에 변환을 적용함으로써 제 2 저장 상태 기준을 만족하는 제 2 데이터 워드를 생성하는 단계로서, 제 2 데이터 보유 특성은 상기 제 1 데이터 보유 특성에 의해 표시되는 상기 하나 이상의 메모리 셀들에 저장되도록 구성된 하나 이상의 심볼 유형들에 비교하여 적은 누설을 보이는 상기 하나 이상의 메모리 셀들에 저장되도록 구성되는 심볼 유형을 나타내는, 상기 제 2 데이터 워드 생성 단계; 및
    상기 제 2 데이터 워드를 상기 메모리 디바이스로 발송하는 단계를 포함하는, 방법.
  15. 청구항 14에 있어서,
    상기 메모리 디바이스로부터, 상기 하나 이상의 메모리 셀들과 연관된 상기 제 1 저장 상태 기준을 나타내는 메시지를 수신하는 단계를 더 포함하는, 방법.
  16. 청구항 15에 있어서,
    상기 하나 이상의 메모리 셀들의 제 1 저장 상태 기준에 대한 요청을, 상기 메모리 디바이스로 발송하는 단계를 더 포함하며, 상기 메시지를 수신하는 것은 상기 요청을 발송하는 것에 적어도 부분적으로 기초하는, 방법.
  17. 청구항 14에 있어서,
    상기 제 2 데이터 워드를 생성하기 위해 상기 제 1 데이터 워드의 각각의 심볼을 수정하는 단계를 더 포함하며, 상기 제 1 데이터 워드 및 상기 제 2 데이터 워드 각각은 3개 이상의 심볼 유형들을 포함하고, 상기 제 1 데이터 워드의 각각의 심볼 유형은 상기 제 2 데이터 워드의 상이한 심볼 유형에 매핑되는, 방법.
  18. 청구항 14에 있어서,
    저장된 데이터 워드에 대한 판독 명령을 상기 메모리 디바이스로 발송하는 단계로서, 상기 판독 명령은 상기 저장된 데이터 워드를 변환하도록 상기 메모리 디바이스에 명령하는 변환 표시자를 포함하는, 상기 발송하는 단계; 및
    상기 메모리 디바이스로부터, 변환된 데이터 워드를 수신하는 단계를 더 포함하는, 방법.
  19. 청구항 14에 있어서,
    상기 제 2 데이터 워드에 대한 판독 명령을 상기 메모리 디바이스로 발송하는 단계;
    상기 메모리 디바이스로부터, 상기 제 2 데이터 워드를 수신하는 단계; 및
    상기 제 1 데이터 워드를 생성하기 위해 상기 제 2 데이터 워드를 변환하는 단계를 더 포함하는, 방법.
  20. 장치에 있어서,
    제 1 데이터 워드를 저장하도록 구성된 메모리 어레이의 제 1 부분; 및
    상기 제 1 데이터 워드와 연관된 표시자를 저장하도록 구성된 메모리 어레이의 제 2 부분으로서, 상기 표시자는 상기 제 1 데이터 워드가 제 2 데이터 워드의 변환된 버전임을 나타내며, 상기 제 1 데이터 워드는 상기 메모리 어레이의 하나 이상의 메모리 셀들의 데이터 보유 특성을 나타내는 저장 상태 기준에 적어도 부분적으로 기초하여 변환되는, 상기 메모리 어레이의 제 2 부분을 포함하는, 장치.
  21. 청구항 20에 있어서,
    상기 장치는 상기 제 1 데이터 워드를 생성하기 위해 상기 제 2 데이터 워드를 변환하도록 구성되는, 장치.
  22. 청구항 20에 있어서,
    상기 메모리 어레이의 제 1 부분에 저장된 상기 제 1 데이터 워드와 연관된 에러 정정 코드(ECC) 정보를 저장하도록 구성된 메모리 어레이의 제 3 부분을 더 포함하는, 장치.
  23. 청구항 20에 있어서,
    상기 표시자는 상기 제 2 데이터 워드의 각각의 심볼 유형이 어떻게 상기 메모리 어레이의 제 1 부분에 저장된 상기 제 1 데이터 워드를 생성하기 위해 사용된 변환의 부분으로서 수정되는지를 나타내는, 장치.
  24. 청구항 20에 있어서,
    상기 메모리 어레이의 제 1 부분은 복수의 데이터 워드들을 저장하도록 구성되며, 상기 메모리 어레이의 제 2 부분은 상기 복수의 데이터 워드들의 각각과 연관된 복수의 표시자들을 저장하도록 구성되는, 장치.
KR1020217002762A 2018-07-03 2019-07-02 데이터 극성에 기초한 데이터 저장 KR20210014746A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862693786P 2018-07-03 2018-07-03
US62/693,786 2018-07-03
US16/459,462 2019-07-01
US16/459,462 US10832768B2 (en) 2018-07-03 2019-07-01 Data storage based on data polarity
PCT/US2019/040299 WO2020010081A1 (en) 2018-07-03 2019-07-02 Data storage based on data polarity

Publications (1)

Publication Number Publication Date
KR20210014746A true KR20210014746A (ko) 2021-02-09

Family

ID=69060906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217002762A KR20210014746A (ko) 2018-07-03 2019-07-02 데이터 극성에 기초한 데이터 저장

Country Status (5)

Country Link
US (3) US10832768B2 (ko)
EP (1) EP3818429B1 (ko)
KR (1) KR20210014746A (ko)
CN (1) CN112352217B (ko)
WO (1) WO2020010081A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10977122B2 (en) * 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11169881B2 (en) 2020-03-30 2021-11-09 Alibaba Group Holding Limited System and method for facilitating reduction of complexity and data movement in erasure coding merging on journal and data storage drive
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11960398B2 (en) * 2020-08-21 2024-04-16 Micron Technology, Inc. Enhanced data reliability in multi-level memory cells
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
KR20220140234A (ko) * 2021-04-09 2022-10-18 삼성전자주식회사 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
US8706697B2 (en) 2010-12-17 2014-04-22 Microsoft Corporation Data retention component and framework
US9268683B1 (en) 2012-05-14 2016-02-23 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
US20150032982A1 (en) * 2013-07-26 2015-01-29 Fusion-Io, Inc. Systems and methods for storage consistency
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9450607B1 (en) 2014-07-10 2016-09-20 Google Inc. Encoding or decoding characters as word in corpus
KR20170121798A (ko) 2016-04-26 2017-11-03 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
JP2018005967A (ja) 2016-07-08 2018-01-11 富士通セミコンダクター株式会社 メモリ装置
US10268617B2 (en) * 2016-10-03 2019-04-23 International Business Machines Corporation Frame format for a serial interface
US9779803B1 (en) * 2017-03-01 2017-10-03 Northrop Grumman Systems Corporation Memory circuit with write-bypass portion
KR20210080807A (ko) 2019-12-23 2021-07-01 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템

Also Published As

Publication number Publication date
US11900997B2 (en) 2024-02-13
US20200013458A1 (en) 2020-01-09
US20210090644A1 (en) 2021-03-25
US20230005531A1 (en) 2023-01-05
EP3818429A1 (en) 2021-05-12
CN112352217B (zh) 2023-08-29
WO2020010081A1 (en) 2020-01-09
EP3818429A4 (en) 2021-11-24
EP3818429B1 (en) 2024-05-29
US10832768B2 (en) 2020-11-10
CN112352217A (zh) 2021-02-09
US11404116B2 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
US11900997B2 (en) Data storage based on data polarity
US11087829B2 (en) Phase charge sharing
US10782911B2 (en) Data migration dynamic random access memory
US11449249B2 (en) Configuring command/address channel for memory
US11960717B2 (en) Techniques for power management using loopback
US11256437B2 (en) Data migration for memory operation
US11907061B2 (en) Methods and devices for error correction
US11922063B2 (en) Memory command verification
US20240257841A1 (en) Dynamic allocation of a capacitive component in a memory device
US11650943B2 (en) Flexible bus management
US11868220B2 (en) Efficient power scheme for redundancy
US10930326B2 (en) Sensing architecture

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right