KR20210030482A - 기입 동작과 관련된 사전 판독 동작의 조정 - Google Patents

기입 동작과 관련된 사전 판독 동작의 조정 Download PDF

Info

Publication number
KR20210030482A
KR20210030482A KR1020217006682A KR20217006682A KR20210030482A KR 20210030482 A KR20210030482 A KR 20210030482A KR 1020217006682 A KR1020217006682 A KR 1020217006682A KR 20217006682 A KR20217006682 A KR 20217006682A KR 20210030482 A KR20210030482 A KR 20210030482A
Authority
KR
South Korea
Prior art keywords
memory subsystem
memory
voltage level
data
read
Prior art date
Application number
KR1020217006682A
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 KR20210030482A publication Critical patent/KR20210030482A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0054Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
    • 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/0076Write operation performed depending on read result

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

데이터는 메모리 서브 시스템에서 수신될 수 있다. 메모리 서브 시스템의 특성이 확인될 수 있다. 판독 전압 레벨은 메모리 서브 시스템의 특성에 기초하여 결정될 수 있다. 판독 동작은 판독 전압 레벨에 기초하여 메모리 서브 시스템에서 수행되어 저장된 데이터를 검색할 수 있다. 수신된 데이터는 판독 전압 레벨에 기초한 판독 동작에서 검색된 저장된 데이터에 기초하여 메모리 서브 시스템에 저장될 수 있다.

Description

기입 동작과 관련된 사전 판독 동작의 조정
본 개시는 일반적으로 메모리 서브 시스템에 관한 것이고, 보다 구체적으로, 메모리 서브 시스템에서의 기입 동작과 관련되어 있는 사전 판독 동작의 조정에 관한 것이다.
메모리 서브 시스템은 솔리드 스테이트 드라이브(Solid-State Drive, SSD)와 같은 스토리지 시스템일 수 있으며, 데이터를 저장하는 하나 이상의 메모리 구성 요소를 포함할 수 있다. 메모리 구성 요소는 예를 들어 비휘발성 메모리 구성 요소 및 휘발성 메모리 구성 요소일 수 있다. 일반적으로, 호스트 시스템은 메모리 서브 시스템을 사용하여 메모리 구성 요소에 데이터를 저장하고 메모리 구성 요소로부터 데이터를 검색할 수 있다.
본 개시는 이하에서 제공되는 상세한 설명 및 본 개시의 다양한 구현예의 첨부 도면으로부터 보다 완전하게 이해될 것이다.
도 1은 본 개시의 일부 실시형태에 따른 메모리 서브 시스템을 포함하는 예시적인 컴퓨팅 환경을 예시한다.
도 2는 일부 실시형태에 따른 사전 판독 동작에 대한 판독 전압 레벨을 조정하는 예시적인 방법의 흐름도이다.
도 3a는 본 개시의 일부 실시형태에 따른 메모리 셀에 인가되는 예시적인 판독 전압 레벨을 예시한다.
도 3b는 본 개시의 일부 실시형태에 따른 전압 드리프트를 갖는 메모리 셀에 인가되는 예시적인 판독 전압 레벨을 예시한다.
도 3c는 본 개시의 일부 실시형태에 따른 전압 드리프트를 갖는 메모리 셀에 인가되는 조정된 판독 전압 레벨을 예시한다.
도 4는 일부 실시형태에 따른 조정된 사전 판독 동작을 이용하여 기입 동작을 수행하는 예시적인 방법의 흐름도이다.
도 5는 일부 실시형태에 따른 사전 판독 동작을 위한 판독 전압 레벨을 결정하기 위한 예시적인 방법의 흐름도이다.
도 6은 일부 실시형태에 따른 사전 판독 동작에 대한 새로운 판독 전압 레벨을 결정하기 위한 조건의 발생을 확인하는 예시적인 방법의 흐름도이다.
도 7은 본 개시의 구현예가 동작할 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
본 개시의 양태는 기입 동작과 관련된 사전 판독 동작의 조정에 관한 것이다. 메모리 서브 시스템은 이하 "메모리 디바이스"라고도 한다. 메모리 서브 시스템의 예에는 솔리드 스테이드 드라이브(SSD)와 같은 스토리지 시스템이 있다. 일부 실시형태에서, 메모리 서브 시스템은 하이브리드 메모리/스토리지 서브 시스템이다. 일반적으로, 호스트 시스템은 하나 이상의 메모리 구성 요소를 포함하는 메모리 서브 시스템을 사용할 수 있다. 호스트 시스템은 저장될 데이터를 메모리 서브 시스템에 제공할 수 있으며 검색될 데이터를 메모리 서브 시스템으로부터 요청할 수 있다.
종래의 메모리 서브 시스템에서는, 판독 전압 레벨로 판독 동작을 수행할 수 있다. 판독 전압 레벨은 메모리 구성 요소의 메모리 셀에 인가되어 메모리 셀에 저장된 데이터를 판독하는 특정 전압일 수 있다. 예를 들어, 특정 메모리 셀의 임계 전압이 특정 메모리 셀에 인가되는 판독 전압 레벨보다 낮은 것으로 확인되면, 특정 메모리 셀에 저장된 데이터는 특정 값(예를 들어, '1')이 될 수 있으며, 특정 메모리 셀의 임계 전압이 판독 전압 레벨보다 높은 것으로 확인되면, 특정 메모리 셀에 저장된 데이터는 다른 값(예를 들어, '0')이 될 수 있다. 따라서, 판독 전압 레벨이 메모리 셀에 인가되어 메모리 셀에 저장된 값을 결정할 수 있다.
종래의 메모리 서브 시스템에서는, 메모리 셀의 임계 전압은 시간의 경과에 따라 드리프트 또는 변경될 수 있다. 메모리 셀의 임계 전압이 변경되면, 판독 전압 레벨의 인가는 변경된 임계 전압에 비해 부정확할 수 있다. 예를 들어, 메모리 셀은 판독 전압 레벨 미만의 임계 전압을 갖도록 프로그래밍될 수 있다. 프로그래밍된 임계 전압은 시간의 경과에 따라 변경될 수 있으며 판독 전압 레벨 이상으로 이동할 수 있다. 예를 들어, 메모리 셀의 임계 전압은 처음에 판독 전압 레벨 미만에서 판독 전압 레벨 이상으로 이동할 수 있다. 그 결과, 판독 전압 레벨이 메모리 셀에 인가되면, 메모리 셀에 저장된 데이터는 임계 전압이 아직 시프트되지 않았을 때의 원래 저장된 값과 비교하여 잘못된 값으로 오독되거나 잘못된 값으로 해석될 수 있다.
본 개시의 양태는 판독 전압 레벨을 조정함으로써 상기 결함 및 다른 결함을 해결한다. 메모리 서브 시스템은 기입 동작과 관련된 사전 판독 동작을 수행할 수 있다. 사전 판독 동작은 메모리 셀에 기입되는 새로운 데이터를 저장할 수 있는 메모리 셀에서 수행되는 판독 동작일 수 있다. 메모리 서브 시스템은 사전 판독 동작으로부터 검색된 데이터를 사용하여 새로운 데이터를 저장하는 메모리 셀의 값을 변경할 지 여부를 결정할 수 있다. 예를 들어, 사전 판독 동작으로부터 검색된 메모리 셀의 특정 값이 새로운 데이터의 대응하는 값과 일치하면, 메모리 서브 시스템은 메모리 셀에 저장된 값이 새로운 데이터의 비트와 일치하는 값을 현재 저장하기 때문에 메모리 셀을 변경하지 않는 것으로 결정할 수 있다. 그렇지 않고, 사전 판독 동작으로부터 검색된 메모리 셀의 특정 값이 새로운 데이터의 대응하는 값과 일치하지 않으면, 메모리 서브 시스템은 메모리 셀에 저장된 값을 변경하여 새로운 데이터의 값과 일치시킬 수 있다.
사전 판독 동작은 판독 전압 레벨을 메모리 셀에 인가함으로써 수행될 수 있다. 사전 판독 동작에 인가되는 판독 전압 레벨은 시간 경과에 따른 메모리 셀의 임계 전압의 드리프트 또는 변경을 고려하여 조정될 수 있다. 예를 들어, 메모리 서브 시스템 및/또는 메모리 셀의 하나 이상의 특성이 확인될 수 있다. 메모리 셀의 임계 전압은 하나 이상의 특성에 기초하여 드리프트 또는 변경된 것으로 추론되거나 가정될 수 있다. 일부 실시형태에서, 특성은 메모리 셀 상에서 수행된 기입 동작의 수, 데이터가 메모리 셀에 마지막으로 기입된 이후 경과된 시간, 판독 동작 또는 사전 판독 동작의 오류율, 및 데이터가 메모리 셀에 기록되었을 때의 메모리 셀 또는 메모리 서브 시스템의 동작 온도와 같은, 이들로 제한되지 않는 메모리 셀 또는 메모리 서브 시스템의 상태를 확인할 수 있다. 판독 전압 레벨은 인가되는 판독 전압 레벨이 임계 전압의 변경 또는 드리프트를 고려하도록 이러한 특성에 기초하여 조정될 수 있다.
이와 같이, 기입 동작은 조정된 판독 전압 레벨을 인가하는 사전 판독 동작을 이용하여 메모리 셀에 저장된 데이터를 보다 정확하게 검색할 수 있다. 후속하여, 기입 동작은 사전 판독 동작으로부터의 검색된 데이터와 저장될 새로운 데이터의 비교에 기초하여 메모리 셀을 프로그래밍하기 위해 추가 전압을 인가할 수 있다. 새로운 값과 특정 셀에 저장된 값이 일치하면, 특정 메모리 셀을 프로그래밍하기 위해 추가 전압이 인가되지 않는다. 그렇지 않고, 새로운 값이 특정 메모리 셀에 저장된 값과 일치하지 않으면, 특정 메모리 셀을 프로그래밍하여 현재 메모리 셀에 저장된 값을 변경하기 위해 추가 전압을 인가할 수 있다.
본 개시의 장점은 메모리 서브 시스템에서 수행될 더 적은 오류 정정 동작을 포함하지만 이에 제한되지 않는다. 예를 들어, 사전 판독 동작을 수행할 때 판독 전압 레벨이 조정되기 때문에, 검색된 데이터를 오류 정정 동작으로 수정해야 하는 적은 오류로 판독될 수 있다. 결과적으로, 메모리 서브 시스템이 더 적은 오류 제어 동작을 수행하기 때문에 다른 판독 동작 또는 기입 동작이 수행될 수 있기 때문에 메모리 서브 시스템의 성능이 향상될 수 있다. 또한, 사전 판독 동작으로부터 검색된 데이터는 조정된 판독 전압 레벨을 사용할 때 더 정확할 수 있기 때문에, 메모리 서브 시스템은 현재 저장된 데이터와 새로운 데이터 간의 정확한 일치를 더 자주 확인할 수 있어, 메모리 셀에 현재 저장된 값을 변경하기 위해 추가 전압이 메모리 셀에 인가되는 경우가 더 적어진다.
메모리 서브 시스템은 데이터가 (예를 들어, 소거 동작을 수행하지 않고) "제자리(in-place)" 기입될 수 있는 교차점 어레이 기반 메모리 구성 요소를 포함할 수 있다. 예를 들어, 메모리 서브 시스템은 교차점 어레이 비휘발성 듀얼 인라인 모듈(Non-Volatile Dual In-line Module, NVDIMM)과 같은 임의 유형의 교차점 어레이 기반 메모리 서브 시스템일 수 있다. 동일하거나 대안적인 실시형태에서, 메모리 서브 시스템은 임의의 다른 유형의 메모리 구성 요소를 포함할 수 있다.
도 1은 본 개시의 일부 실시형태에 따른 메모리 서브 시스템(110)을 포함하는 예시적인 컴퓨팅 환경(100)을 예시한다. 메모리 서브 시스템(110)은 메모리 구성 요소(112A 내지 112N)와 같은 매체를 포함할 수 있다. 메모리 구성 요소(112A 내지 112N)는 휘발성 메모리 구성 요소, 비휘발성 메모리 구성 요소, 또는 이들의 조합일 수 있다. 일부 실시형태에서, 메모리 서브 시스템은 스토리지 시스템이다. 스토리지 시스템의 예는 SSD이다. 일부 실시형태에서, 메모리 서브 시스템(110)은 하이브리드 메모리/스토리지 서브 시스템이다. 일반적으로, 컴퓨팅 환경(100)은 메모리 서브 시스템(110)을 사용하는 호스트 시스템(120)을 포함할 수 있다. 예를 들어, 호스트 시스템(120)은 메모리 서브 시스템(110)에 데이터를 기입하고 메모리 서브 시스템(110)으로부터 데이터를 판독할 수 있다.
호스트 시스템(120)은 데스크탑 컴퓨터, 랩톱 컴퓨터, 네트워크 서버, 모바일 디바이스 또는 메모리 및 처리 디바이스를 포함하는 이러한 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스일 수 있다. 호스트 시스템(120)은 호스트 시스템(120)이 메모리 서브 시스템(110)으로부터 데이터를 판독하거나 데이터를 기입할 수 있도록 메모리 서브 시스템(110)을 포함하거나 이에 결합될 수 있다. 호스트 시스템(120)은 물리적 호스트 인터페이스를 통해 메모리 서브 시스템(110)에 결합될 수 있다. 본 명세서에서 사용되는 바와 같이, "결합된"은 일반적으로 전기, 광학, 자기 등과 같은 연결을 포함하여 유선이든 무선이든 간접 통신 연결 또는 직접 통신 연결(예를 들어, 중간 구성 요소 없음)일 수 있는 구성 요소 간의 연결을 지칭한다. 물리적 호스트 인터페이스의 예로는 직렬 진보 기술 접속(Serial Advanced Technology Attached, SATA) 인터페이스, 주변 구성 요소 상호 연결 익스프레스(Peripheral Component Interconnect express, PCIe) 인터페이스, 범용 직렬 버스(Universal Serial Bus, USB) 인터페이스, 파이버 채널(Fibre Channel), 직렬 접속 SCSI(Serial Attached SCSI, SAS) 등이 포함되지만 이에 제한되지는 않는다. 물리적 호스트 인터페이스는 호스트 시스템(120)과 메모리 서브 시스템(110) 사이에서 데이터를 전송하는데 사용될 수 있다. 호스트 시스템(120)은 NVM 익스프레스(NVM express, NVMe) 인터페이스를 더 이용하여 메모리 서브 시스템(110)이 PCIe 인터페이스에 의해 호스트 시스템(120)과 결합될 때 메모리 구성 요소(112A 내지 112N)에 액세스할 수 있다. 물리적 호스트 인터페이스는 메모리 서브 시스템(110)과 호스트 시스템(120) 사이에 제어, 주소, 데이터 및 기타 신호를 전달하기 위한 인터페이스를 제공할 수 있다.
메모리 구성 요소(112A 내지 112N)는 상이한 유형의 비휘발성 메모리 구성 요소 및/또는 휘발성 메모리 구성 요소의 임의의 조합을 포함할 수 있다. 비휘발성 메모리 구성 요소의 예로는 네거티브 AND(Negative-AND, NAND) 유형 플래시 메모리가 있다. 메모리 구성 요소(112A 내지 112N) 각각은 단일 레벨 셀(Single Level Cell, SLC) 또는 멀티 레벨 셀(Multi-Level Cell, MLC)(예를 들어, 트리플 레벨 셀(Triple Level Cell, TLC) 또는 쿼드 레벨 셀(Quad-Level Cell, QLC))과 같은 하나 이상의 메모리 셀 어레이를 포함할 수 있다. 일부 실시형태에서, 특정 메모리 구성 요소는 메모리 셀의 SLC 부분 및 MLC 부분 둘 모두를 포함할 수 있다. 각각의 메모리 셀은 호스트 시스템(120)에 의해 사용되는 하나 이상의 데이터 비트(예를 들어, 데이터 블록)를 저장할 수 있다. NAND 유형 플래시 메모리와 같은 비휘발성 메모리 구성 요소가 설명되었지만, 메모리 구성 요소(112A 내지 112N)는 휘발성 메모리와 같은 임의의 다른 유형의 메모리에 기초할 수 있다. 일부 실시형태에서, 메모리 구성 요소(112A 내지 112N)는 랜덤 액세스 메모리(Random Access Memory, RAM), 판독 전용 메모리(read-only memory, ROM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM), 동기식 동적 랜덤 액세스 메모리(Synchronous Dynamic Random Access Memory, SDRAM), 상 변화 메모리(Phase Change Memory, PCM), 자기 랜덤 액세스 메모리(Magneto Random Access Memory, MRAM), 네거티브 OR(Negative-OR, NOR) 플래시 메모리, 전기적 소거 가능한 프로그래밍 가능 판독 전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM) 및 비휘발성 메모리 셀의 교차점 배열일 수 있지만 이에 제한되지는 않는다. 비휘발성 메모리의 교차점 배열은 스택형 교차 그리드 데이터 액세스 배열과 함께 벌크 저항의 변화량에 기초하여 비트 저장을 수행할 수 있다. 또한, 많은 플래시 기반 메모리와 달리 교차점 비휘발성 메모리는 기입 제자리(write in-place) 동작을 수행할 수 있으며, 여기서 비휘발성 메모리 셀은 비휘발성 메모리 셀을 미리 삭제하지 않고도 프로그래밍할 수 있다. 또한, 메모리 구성 요소(112A 내지 112N)의 메모리 셀은 데이터를 저장하는 데 사용되는 메모리 구성 요소의 단위를 지칭할 수 있는 메모리 페이지 또는 데이터 블록으로 그룹화될 수 있다.
메모리 시스템 컨트롤러(115)(이하 "컨트롤러"라고 함)는 메모리 구성 요소(112A 내지 112N)와 통신하여 메모리 구성 요소(112A 내지 112N)에서 데이터 판독, 데이터 기입 또는 데이터 삭제 등의 동작을 수행할 수 있다. 컨트롤러(115)는 하나 이상의 집적 회로 및/또는 개별 구성 요소, 버퍼 메모리 또는 이들의 조합과 같은 하드웨어를 포함할 수 있다. 컨트롤러(115)는 마이크로 컨트롤러, 특수 목적 논리 회로(예를 들어, 필드 프로그래밍 가능 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 집적 회로(Application Specific Integrated Circuit, ASIC) 등), 또는 다른 적절한 프로세서일 수 있다. 컨트롤러(115)는 로컬 메모리(119)에 저장된 명령을 실행하도록 구성된 프로세서(처리 디바이스)(117)를 포함할 수 있다. 예시된 예에서, 컨트롤러(115)의 로컬 메모리(119)는 서브 시스템(110)과 호스트 시스템(120) 간의 통신 핸들링을 포함하여 메모리 서브 시스템(110)의 동작을 제어하는 다양한 프로세스, 동작, 논리 흐름 및 루틴을 수행하기 위한 명령을 저장하도록 구성된 내장형 메모리를 포함한다. 일부 실시형태에서, 로컬 메모리(119)는 메모리 포인터, 페치된 데이터 등을 저장하는 메모리 레지스터를 또한 포함할 수 있다. 로컬 메모리(119)는 마이크로 코드를 저장하기 위한 판독 전용 메모리(Read-Only Memory, ROM)를 포함할 수 있다. 도 1의 예시적인 메모리 서브 시스템(110)이 컨트롤러 (115)를 포함하는 것으로 예시되었지만, 본 개시의 다른 실시형태에서, 메모리 서브 시스템(110)은 컨트롤러(115)를 포함하지 않을 수 있고, 대신에 (예를 들어, 외부 호스트, 또는 메모리 서브 시스템과는 분리된 프로세서 또는 컨트롤러에 의해 제공되는) 외부 제어에 의존할 수 있다.
일반적으로, 컨트롤러(115)는 호스트 시스템(120)으로부터 커맨드 또는 동작을 수신할 수 있고, 커맨드 또는 동작을 명령 또는 적절한 커맨드로 변환하여 메모리 구성 요소(112A 내지 112N)에 대한 원하는 액세스를 달성할 수 있다. 컨트롤러(115)는 웨어 레벨링(wear leveling) 동작, 가비지 수집(garbage collection) 동작, 오류 검출 및 오류 정정 코드(Error-Correcting Code, ECC) 동작, 암호화 동작, 캐싱 동작, 메모리 구성 요소(112A 내지 112N)와 관련된 논리적 블록 주소와 물리적 블록 주소 간의 주소 변환과 같은 다른 동작을 담당할 수 있다. 컨트롤러(115)는 물리적 호스트 인터페이스를 통해 호스트 시스템(120)과 통신하기 위한 호스트 인터페이스 회로를 더 포함할 수 있다. 호스트 인터페이스 회로는 호스트 시스템으로부터 수신된 커맨드를 커맨드 명령으로 변환하여 메모리 구성 요소(112A 내지 112N)에 액세스할 뿐만 아니라 메모리 구성 요소(112A 내지 112N)와 관련된 응답을 호스트 시스템(120)에 대한 정보로 변환할 수 있다.
메모리 서브 시스템(110)은 도시되지 않은 추가 회로 또는 구성 요소를 또한 포함할 수 있다. 일부 실시형태에서, 메모리 서브 시스템(110)은 캐시 또는 버퍼(예를 들어, DRAM) 및 컨트롤러(115)로부터 주소를 수신하고 그 주소를 디코딩하여 메모리 구성 요소(112A 내지 112N)에 액세스할 수 있는 어드레스 회로(예를 들어, 행 디코더 및 열 디코더)를 포함할 수 있다.
메모리 서브 시스템(110)은 기입 동작과 관련된 사전 판독 동작을 조정할 수 있는 사전 판독 조정 구성 요소(113)를 포함한다. 일부 실시형태에서, 컨트롤러(115)는 특징 구성 요소(113)의 적어도 일부를 포함한다. 예를 들어, 컨트롤러(115)는 본 명세서에 설명된 동작을 수행하기 위해 로컬 메모리(119)에 저장된 명령을 실행하도록 구성된 프로세서(117)(처리 디바이스)를 포함할 수 있다. 일부 실시형태에서, 특징 구성 요소(113)는 호스트 시스템(110), 애플리케이션 또는 오퍼레이팅 시스템의 일부이다.
메모리 서브 시스템(110)은 본 명세서에 설명된 동작을 수행하기 위해 사전 판독 조정 구성 요소(113)(예를 들어, 회로, 전용 로직, 프로그램 가능 로직, 펌웨어 등)를 포함할 수 있다. 일부 구현예에서, 사전 판독 조정 구성 요소(113)는 사전 판독 동작 동안 메모리 구성 요소(112A 내지 112N)의 메모리 셀에 인가될 조정된 판독 전압 레벨을 결정할 수 있다. 예를 들어, 사전 판독 조정 구성 요소(113)는 메모리 구성 요소(112A 내지 112N) 및/또는 메모리 서브 시스템(110)의 특성을 확인할 수 있다. 사전 판독 동작 중에 인가할 조정된 판독 전압 레벨을 결정하는데 특성이 사용될 수 있다. 사전 판독 조정 구성 요소(113)의 동작에 관한 추가 세부 사항이 아래에 설명된다.
도 2는 본 개시의 일부 실시형태에 따른 메모리 서브 시스템의 물리적 블록을 시스템 블록의 논리적 블록에 할당하기 위한 예시적인 방법(200)의 흐름도이다. 방법(200)은 하드웨어(예를 들어, 처리 디바이스, 회로, 전용 로직, 프로그램 가능 로직, 마이크로 코드, 디바이스의 하드웨어, 집적 회로 등), 소프트웨어(예를 들어, 처리 디바이스 상에서 작동 또는 실행되는 명령), 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일부 실시형태에서, 방법(200)은 도 1의 사전 판독 조정 구성 요소(113)에 의해 수행된다. 특정 시퀀스 또는 순서로 표시되지만, 달리 지정하지 않는 한, 프로세스의 순서를 수정할 수 있다. 따라서, 예시된 실시형태는 단지 예시로서 이해되어야 하며, 예시된 프로세스는 상이한 순서로 수행될 수 있고, 일부 프로세스는 병렬로 수행될 수 있다. 추가로, 하나 이상의 프로세스는 다양한 실시형태에서 생략될 수 있다. 따라서 모든 실시형태에서 모든 프로세스가 필요한 것은 아니다. 다른 프로세스 흐름도 가능하다.
도 2에 도시된 바와 같이, 블록(210)에서, 처리 로직은 메모리 서브 시스템에 저장될 데이터를 수신한다. 데이터는 메모리 서브 시스템에 저장될, 호스트 시스템으로부터 수신된 새로운 데이터일 수 있다. 블록(220)에서, 처리 로직은 메모리 서브 시스템의 하나 이상의 특성을 확인한다. 하나 이상의 특성은 메모리 서브 시스템의 메모리 구성 요소 및/또는 메모리 셀의 상태를 확인할 수 있다. 특성의 예로는 수행된 기입 동작의 수, 이전(prior) 기입 동작이 수행된 이후 경과된 시간, 메모리 서브 시스템에 저장된 데이터의 관찰된 오류율, 및 메모리 서브 시스템의 동작 온도를 포함하지만 이들로 제한되지 않는다. 메모리 서브 시스템의 메모리 구성 요소 및/또는 메모리 셀의 상태를 확인하는 특성에 관한 추가 세부 사항은 도 5와 관련하여 설명된다.
도 2를 참조하면, 블록(230)에서, 처리 로직은 메모리 서브 시스템의 하나 이상의 특성에 기초하여 판독 전압 레벨을 결정한다. 판독 전압 레벨은 이전 판독 전압 레벨으로부터 조정되거나 변경될 수 있다. 예를 들어, 이전 판독 전압 레벨이 이전 사전 판독 동작의 일부로서 인가될 수 있다. 이전 판독 전압 레벨은 메모리 서브 시스템의 디폴트 판독 전압 레벨이거나 메모리 서브 시스템의 이전 특성에 기초하여 앞서 결정된 판독 전압 레벨일 수 있다. 블록(240)에서, 처리 로직은 판독 전압 레벨에 기초하여 메모리 서브 시스템의 메모리 셀에서 사전 판독 동작을 수행한다. 사전 판독 동작은 기입 동작이 수행되기 전에 수행되는 판독 동작일 수 있다. 사전 판독 동작은 판독 전압 레벨을 메모리 셀에 인가할 수 있고 앞서 설명한 바와 같이 메모리 셀의 임계 전압에 기초하여 메모리 셀에 저장된 값을 결정할 수 있다. 블록(250)에서, 처리 로직은 판독 전압 레벨에 기초한 사전 판독 동작에 기초하여 메모리 서브 시스템의 메모리 셀에 데이터를 저장한다. 예를 들어, 메모리 셀에 저장된 데이터는 사전 판독 동작을 사용하여 검색할 수 있다. 메모리 셀의 데이터는 수신된 데이터와 비교할 수 있다. 데이터의 값이 일치하면, 메모리 셀은 수신된 데이터의 값을 현재 저장하고 메모리 셀은 변경되지 않는다. 그렇지 않고, 데이터 값이 일치하지 않으면, 메모리 셀을 프로그래밍(예를 들어, 추가 전압을 인가)함으로써 메모리 셀에 저장된 값을 변경할 수 있다.
도 3a는 본 개시의 일부 실시형태에 따른 메모리 셀에 인가되는 예시적인 판독 전압 레벨을 예시한다. 판독 전압 레벨은 도 1의 메모리 서브 시스템(110)의 사전 판독 조정 구성 요소(113)에 의해 인가될 수 있다.
도 3a에 도시된 바와 같이, 임계 전압(301)의 분포는 메모리 서브 시스템에서의 메모리 셀의 임계 전압을 나타낸다. 임계 전압(301)의 분포는 다수의 메모리 셀에 프로그래밍된 임계 전압일 수 있다. 판독 전압 레벨(302)은 메모리 셀에서 판독 동작(예를 들어, 사전 판독 동작)을 수행할 때 메모리 셀에 인가될 수 있다. 예를 들어, 도시된 바와 같이, 임계 전압(301)의 분포로부터의 임계 전압이 판독 전압 레벨보다 낮거나 낮은 전압 레벨에 있기 때문에 특정 데이터 값이 모든 메모리 셀에 대해 확인될 수 있다. 특정 데이터 값은 '1'의 값이 될 수 있다.
도 3b는 본 개시의 일부 실시형태에 따른 임계 전압 드리프트를 갖는 메모리 셀에 인가되는 예시적인 판독 전압 레벨을 예시한다. 도시된 바와 같이, 임계 전압(301)의 분포는 임계 전압(301)의 분포에서의 특정 임계 전압이 판독 전압 레벨(302) 미만에서 판독 전압 레벨(302) 이상으로 시프트하도록 시간의 경과에 따라 시프트 또는 변경될 수 있다. 그 결과, 특정 메모리 셀이 판독 전압 레벨보다 낮은 임계 전압으로 표현되는 특정 데이터 값(예를 들어, '1'의 값)을 갖도록 프로그래밍되었지만, 특정 메모리 셀의 임계 전압은 시간의 경과에 따라 나중에 판독 전압 레벨 이상으로 변경될 수 있다. 따라서, 특정 메모리 셀은 '1'의 값을 저장하도록 프로그래밍되었지만, 판독 전압 레벨(302)을 특정 메모리 셀에 인가하는 판독 동작으로 인해 특정 메모리 셀에서는 상이한 데이터 값(예를 들어, '0')이 확인될 수 있다.
도 3c는 본 개시의 일부 실시형태에 따른 전압 드리프트를 갖는 메모리 셀에 인가되는 조정된 판독 전압 레벨을 예시한다. 조정된 판독 전압 레벨은 도 1의 메모리 서브 시스템(110)의 사전 판독 조정 구성 요소(113)에 의해 인가될 수 있다. 도시된 바와 같이, 조정되거나 업데이트된 판독 전압 레벨(331)은 메모리 셀에 대한 판독 동작 또는 사전 판독 동작을 수행하는 데 사용될 수 있다. 업데이트된 판독 전압 레벨(331)은 이전 판독 전압 레벨(330)(예를 들어, 도 3a 및 3b의 판독 전압 레벨(302))로부터 변경될 수 있다. 업데이트된 판독 전압 레벨(331)은 임계 전압(301)의 분포보다 높을 수 있으며, 그 결과 임계 전압(301)의 분포에 의해 표현되는 메모리 셀에서의 데이터를 보다 정확하게 판독할 수 있다.
도 4는 일부 실시형태에 따른 조정된 사전 판독 동작으로 기입 동작을 수행하기 위한 예시적인 방법(400)의 흐름도이다. 방법(400)은 하드웨어(예를 들어, 처리 디바이스, 회로, 전용 로직, 프로그램 가능 로직, 마이크로 코드, 디바이스의 하드웨어, 집적 회로 등), 소프트웨어(예를 들어, 처리 디바이스 상에서 작동 및 실행되는 명령), 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일부 실시형태에서, 방법(400)은 도 1의 사전 판독 조정 구성 요소(113)에 의해 수행된다. 특정 시퀀스 또는 순서로 표시되지만, 달리 지정하지 않는 한, 프로세스의 순서를 수정할 수 있다. 따라서, 예시된 실시형태는 단지 예시로서 이해되어야 하며, 예시된 프로세스는 상이한 순서로 수행될 수 있고, 일부 프로세스는 병렬로 수행될 수 있다. 추가로, 하나 이상의 프로세스는 다양한 실시형태에서 생략될 수 있다. 따라서, 모든 실시형태에서 모든 프로세스가 필요한 것은 아니다. 다른 프로세스 흐름도 가능하다.
도 4에 도시된 바와 같이, 블록(410)에서, 처리 로직은 메모리 서브 시스템에 저장될 데이터를 수신한다. 블록(420)에서, 처리 로직은 메모리 서브 시스템의 특성에 기초하여 사전 판독 동작에 대한 판독 전압 레벨을 결정한다. 예를 들어, 판독 전압 레벨은 다른 판독 동작 또는 사전 판독 동작에 이전에 사용되었던 이전 판독 전압 레벨로부터 증가 또는 감소될 수 있다. 판독 전압 레벨의 증가 또는 감소는 메모리 서브 시스템의 메모리 셀의 임계 전압이 변경 또는 시프트되었다는 것을 메모리 서브 시스템의 특성이 표시하거나 추론하는 데 사용될 수 있을 때 결정될 수 있다. 블록(430)에서, 처리 로직은 판독 전압 레벨로 사전 판독 동작을 수행하여 메모리 서브 시스템의 메모리 셀에서 저장된 데이터를 검색한다. 예를 들어, 결정된 판독 전압 레벨은 메모리 셀에 인가될 수 있고, 메모리 셀의 임계 전압이 결정된 판독 전압 레벨보다 높은 지 낮은 지에 기초하여 메모리 셀에 저장된 값이 확인될 수 있다. 블록(440)에서, 처리 로직은 수신된 데이터가 판독 전압 레벨에 기초하여 검색된 저장된 데이터와 일치하는지 여부를 결정한다. 수신된 데이터가 저장된 데이터와 일치하면, 블록(450)에서, 처리 로직은 메모리 셀에서 저장된 데이터를 변경하지 않는 것으로 결정한다. 예를 들어, 메모리 셀에 현재 저장된 데이터는 수신된 데이터 또는 수신된 데이터의 대응하는 부분과 동일한 값으로 결정된다. 그렇지 않고, 수신된 데이터가 저장된 데이터와 일치하지 않으면, 블록(460)에서, 처리 로직은 메모리 셀에 저장된 데이터를 수신된 데이터로 변경한다. 예를 들어, 메모리 셀에 대해 프로그래밍 동작이 수행되어 메모리 셀의 값을 변경할 수 있다.
이와 같이, 기입 동작은 사전 판독 동작과, 사전 판독 동작으로부터 검색된 데이터와 메모리 셀에 현재 저장된 데이터의 비교에 기초하여 수행되는 프로그래밍 동작을 포함할 수 있다. 사전 판독 동작에 사용되는 판독 전압 레벨은 메모리 구성 요소의 특성에 기초할 수 있다.
도 5는 일부 실시형태에 따른 사전 판독 동작에 대한 판독 전압 레벨을 결정하기 위한 예시적인 방법의 흐름도이다. 방법(500)은 하드웨어(예를 들어, 처리 디바이스, 회로, 전용 로직, 프로그램 가능 로직, 마이크로 코드, 디바이스의 하드웨어, 집적 회로 등), 소프트웨어(예를 들어, 처리 디바이스 상에서 작동 또는 실행되는 명령), 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일부 실시형태에서, 방법(500)은 도 1의 사전 판독 조정 구성 요소(113)에 의해 수행된다. 특정 시퀀스 또는 순서로 표시되지만, 달리 지정하지 않는 한, 프로세스의 순서를 수정할 수 있다. 따라서, 예시된 실시형태는 단지 예시로서 이해되어야 하며, 예시된 프로세스는 상이한 순서로 수행될 수 있고, 일부 프로세스는 병렬로 수행될 수 있다. 추가로, 하나 이상의 프로세스는 다양한 실시형태에서 생략될 수 있다. 따라서, 모든 실시형태에서 모든 프로세스가 필요한 것은 아니다. 다른 프로세스 흐름도 가능하다.
도 5에 도시된 바와 같이, 블록(510)에서, 처리 로직은 메모리 서브 시스템과 관련된 기입 카운트 정보를 수신한다. 예를 들어, 메모리 서브 시스템에서 수행되었거나 특정 메모리 셀에 대해 수행되었던 기입 동작의 수가 수신될 수 있다. 일부 실시형태에서, 수행된 기입 동작의 수가 기입 동작의 임계 수를 초과할 때, 메모리 서브 시스템의 메모리 셀 또는 특정 메모리 셀의 임계 전압이 변경된 것으로 추론되거나 가정될 수 있다. 임계 수를 초과하지 않으면, 메모리 셀의 임계 전압이 변경되지 않은 것으로 추론되거나 간주되어 새로운 판독 전압 레벨이 인가되어야 한다. 블록(520)에서, 처리 로직은 메모리 서브 시스템과 관련된 시간 정보를 수신한다. 예를 들어, 메모리 서브 시스템 또는 특정 메모리 셀에서 임의의 기입 동작이 수행된 이후 경과된 시간을 수신할 수 있다. 일부 실시형태에서, 경과된 시간이 임계 시간을 초과할 때, 메모리 서브 시스템의 메모리 셀 또는 특정 메모리 셀의 임계 전압이 변경되거나 시프트된 것으로 추론되거나 가정될 수 있다.
블록(530)에서, 처리 로직은 메모리 서브 시스템과 관련된 오류 정보를 수신한다. 예를 들어, 메모리 서브 시스템 또는 특정 메모리 셀에서 판독된 데이터로부터 비트 오류(예를 들어, 비트 오류율)가 확인되는 특정 시간 기간에서의 횟수가 확인될 수 있다. 일부 실시형태에서, 오류율은 이전 기입 동작으로 수행된 사전 판독 동작으로부터 확인될 수 있다. 일부 실시형태에서, 에러율이 임계 에러율을 초과할 때, 메모리 서브 시스템의 메모리 셀 또는 특정 메모리 셀의 임계 전압이 변경되거나 시프트된 것으로 추론되거나 가정될 수 있다. 블록(540)에서, 처리 로직은 메모리 서브 시스템과 관련된 온도 정보를 수신한다. 예를 들어, 메모리 서브 시스템 또는 특정 메모리 셀의 동작 온도 또는 메모리 서브 시스템 또는 특정 메모리 셀에 데이터가 저장된 온도가 수신될 수 있다. 일부 실시형태에서, 동작 온도가 임계 온도보다 높거나 낮으면, 메모리 서브 시스템의 메모리 셀 또는 특정 메모리 셀의 임계 전압이 변경되거나 시프트된 것으로 추론되거나 가정될 수 있다.
도 5를 참조하면, 블록(550)에서, 처리 로직은 메모리 서브 시스템과 관련된 수신된 정보 중 하나 이상에 기초하여 판독 전압 레벨을 결정한다. 일부 실시형태에서, 메모리 서브 시스템은 메모리 서브 시스템과 관련된 단일 정보를 수신할 수 있다. 예를 들어, 메모리 서브 시스템은 기입 카운트 정보, 시간 정보, 오류 정보 및 온도 정보 중 하나를 수신할 수 있다. 동일하거나 대안적인 실시형태에서, 메모리 서브 시스템은 기입 카운트 정보, 시간 정보, 오류 정보 및 온도 정보의 임의의 조합을 수신할 수 있다. 메모리 서브 시스템은 수신된 정보에 기초하여 조정된 판독 전압 레벨을 결정할 수 있다. 예를 들어, 판독 전압 레벨은 임계 전압이 변경 또는 시프트되었다는 것을 정보 중 적어도 하나가 표시하거나 추론하는 데 사용될 수 있을 때 이전 판독 전압 레벨로부터 조정될 수 있다. 일부 실시형태에서, 판독 전압 레벨은 대응하는 정보가 각각의 임계치를 더 많이 초과할 때 더 많이 조정될 수 있다. 예를 들어, 판독 전압 레벨은 임계 온도를 초과하는 온도가 임계 온도를 또한 초과한 이전 온도보다 크거나 작을 때 이전 판독 전압 레벨으로부터 더 많이 (예를 들어, 전압이 더 크게 상이하게) 조정될 수 있다.
동일하거나 대안적인 실시형태에서, 판독 전압 레벨은 메모리 서브 시스템에 저장될 데이터가 메모리 서브 시스템에서 수신될 때마다 결정될 수 있다. 일부 실시형태에서, 판독 전압 레벨은 후술하는 바와 같이 메모리 서브 시스템의 상태 변화가 관찰될 때 결정될 수 있다.
도 6은 일부 실시형태에 따른 사전 판독 동작에 대한 새로운 판독 전압 레벨을 결정하기 위한 조건의 발생을 확인하기 위한 예시적인 방법(600)의 흐름도이다. 방법(600)은 하드웨어(예를 들어, 처리 디바이스, 회로, 전용 로직, 프로그램 가능 로직, 마이크로 코드, 디바이스의 하드웨어, 집적 회로 등), 소프트웨어(예를 들어, 처리 디바이스 상에서 작동 또는 실행되는 명령), 또는 이들의 조합을 포함할 수 있은 처리 로직에 의해 수행될 수 있다. 일부 실시형태에서, 방법(600)은 도 1의 사전 판독 조정 구성 요소(113)에 의해 수행된다. 특정 시퀀스 또는 순서로 표시되지만, 달리 지정하지 않는 한, 프로세스의 순서를 수정할 수 있다. 따라서, 예시된 실시형태는 단지 예시로서 이해되어야 하며, 예시된 프로세스는 상이한 순서로 수행될 수 있고, 일부 프로세스는 병렬로 수행될 수 있다. 추가로, 하나 이상의 프로세스는 다양한 실시형태에서 생략될 수 있다. 따라서, 모든 실시형태에서 모든 프로세스가 필요한 것은 아니다. 다른 프로세스 흐름도 가능하다.
도 6에 도시된 바와 같이, 블록(610)에서, 처리 로직은 메모리 서브 시스템에 저장될 데이터를 수신한다. 블록(620)에서, 처리 로직은 메모리 서브 시스템의 상태를 확인한다. 메모리 서브 시스템의 상태는 메모리 서브 시스템의 메모리 셀에서 임계 전압을 추론하거나 가정하는 데 사용될 수 있다. 예를 들어, 메모리 서브 시스템의 상태는 기입 카운트 정보, 시간 정보, 오류 정보, 온도 정보, 또는 메모리 서브 시스템의 상태를 나타내는 다른 이러한 정보의 임의의 조합에 기초할 수 있다. 블록(630)에서, 처리 로직은 메모리 서브 시스템의 상태가 메모리 서브 시스템의 이전 상태 이후로 변경되었는지 여부를 결정한다. 예를 들어, 메모리 서브 시스템은 새로운 데이터가 수신되어 메모리 서브 시스템에 저장되고 이전 데이터가 이전에 수신되어 메모리 서브 시스템에 저장된 이후 메모리 서브 시스템의 상태가 변경되었는지 여부를 결정할 수 있다. 일부 실시형태에서, 상태는 기입 카운트 정보, 시간 정보, 오류 정보, 온도 정보 등의 임의의 조합에 기초하여 변경된 것으로 결정될 수 있다. 예를 들어, 메모리 서브 시스템의 특성이 대응하는 임계 값을 초과하면, 상태가 변경된 것으로 결정할 수 있다. 예를 들어, 특성은 오류 정보일 수 있다. 메모리 서브 시스템에서 판독된 데이터의 오류율이 임계 오류율을 초과할 때 그리고 메모리 서브 시스템에서 판독된 데이터의 이전 오류율이 임계 오류율을 초과하지 않았을 때, 메모리의 상태가 변경된 것으로 간주할 수 있다. 상태 변화는 메모리 서브 시스템의 임계 전압이 변경되었다는 것을 표시할 수 있다. 블록(640)에서, 처리 로직은 메모리 서브 시스템의 상태가 변경되었다는 결정에 응답하여, 변경된 상태에 기초하여 새로운 판독 전압 레벨을 결정한다. 예를 들어, 새로운 판독 전압 레벨은 이전 판독 전압 레벨로부터 조정(예를 들어, 증가 또는 감소)될 수 있다. 새로운 판독 전압 레벨과 이전 판독 전압 레벨 사이의 조정량(예를 들어, 전압 변경)은 변경된 상태 또는 이전 상태 이후 상태가 얼마나 변경되었는지에 기초할 수 있다. 블록(650)에서, 처리 로직은 새로운 판독 전압 레벨에 기초하여 메모리 서브 시스템에 데이터를 저장한다.
그렇지 않으면, 블록(660)에서, 처리 로직은 메모리 서브 시스템의 상태가 변경되지 않았다는 결정에 응답하여 이전 판독 전압 레벨에 기초하여 메모리 서브 시스템에 데이터를 저장한다. 예를 들어, 이전 데이터를 저장하기 위해 이전에 사용되었던 이전 판독 전압 레벨을 다시 사용하여 그 수신된 데이터를 메모리 서브 시스템에 저장할 수 있다. 따라서, 판독 전압 레벨은 메모리 서브 시스템에 저장될 후속 데이터에 대해 변경되거나 조정될 수 있다.
이와 같이, 새로운 판독 전압 레벨은 메모리 서브 시스템의 상태에서 관찰된 변화가 확인될 때 결정될 수 있다. 그렇지 않으면, 메모리 서브 시스템의 상태가 변경될 때까지 이전 판독 전압을 계속 사용할 수 있다.
도 7은 머신으로 하여금 본 명세서에서 논의된 방법론 중 임의의 하나 이상을 수행하게 하는 명령 세트가 실행될 수 있은 컴퓨터 시스템(700)의 예시적인 머신을 예시한다. 일부 실시형태에서, 컴퓨터 시스템(700)은 메모리 서브 시스템(예를 들어, 도 1의 메모리 서브 시스템(110))을 포함하거나 이에 결합되거나이를 이용하는 호스트 시스템(예를 들어, 도 1의 호스트 시스템(120))에 대응할 수 있거나, 컨트롤러의 동작을 수행하는 데(예를 들어, 오퍼레이팅 시스템을 실행하여 도 1의 사전 판독 조정 구성 요소(113)에 대응하는 동작을 수행하는 데) 사용될 수 있다. 대안적인 실시형태에서, 머신은 LAN, 인트라넷, 엑스트라 넷 및/또는 인터넷으로 다른 머신에 연결(예를 들어, 네트워킹)될 수 있다. 머신은 클라이언트-서버 네트워크 환경에서의 서버 또는 클라이언트 기계의 능력으로 피어-투-피어(또는 분산) 네트워크 환경에서의 피어 머신으로서 또는 클라우드 컴퓨팅 인프라 또는 환경에서의 서버 또는 클라이언트 시스템으로서 동작할 수 있다.
머신은 개인용 컴퓨터(Personal Computer, PC), 태블릿 PC, 셋톱 박스(Set-Top Box, STB), 휴대용 정보 단말(Personal Digital Assistant, PDA), 휴대 전화, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 머신에 의해 취해지는 동작을 지정하는 명령 세트를 (순차적으로 또는 그렇지 않게) 실행할 수 있는 임의의 머신일 수 있다. 또한, 단일 머신이 예시되어 있지만, "머신"이라는 용어는 본 명세서에서 논의된 방법론 중 임의의 하나 이상을 수행하는 명령 세트(또는 다수 세트)를 개별적으로 또는 공동으로 실행하는 임의의 머신 집합을 포함하는 것으로 또한 간주된다.
예시적인 컴퓨터 시스템(700)은 버스(730)를 통해 서로 통신하는 처리 디바이스(702), 메인 메모리(704)(예를 들어, 판독 전용 메모리(Read-Only Memory, ROM), 플래시 메모리, 동기식 DRAM(synchronous DRAM, SDRAM) 또는 램버스 DRAM(Rambus DRAM, RDRAM)과 같은 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM) 등), 정적 메모리(706)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(Static Random Access Memory, SRAM) 등) 및 데이터 저장 시스템(718)을 포함한다.
처리 디바이스(702)는 마이크로 프로세서, 중앙 처리 디바이스 등과 같은 하나 이상의 범용 처리 디바이스를 나타낸다. 보다 구체적으로, 처리 디바이스는 복잡한 명령 세트 컴퓨팅(Complex Instruction Set Computing, CISC) 마이크로 프로세서, 감소된 명령 세트 컴퓨팅(Reduced instruction set computing, RISC) 마이크로 프로세서, 매우 긴 명령어(Very Long Instruction Word, VLIW) 마이크로 프로세서, 또는 다른 명령 세트를 구현하는 프로세서 또는 명령 세트의 조합을 구현하는 프로세서일 수 있다. 처리 디바이스(702)는 또한 주문형 집적 회로(Application Specific Integrated Circuit, ASIC), 필드 프로그램 가능 게이트 어레이(Field Programmable Gate Array, FPGA), 디지털 신호 프로세서(Digital Signal Processor, DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 디바이스일 수 있다. 처리 디바이스(702)는 본 명세서에서 논의된 동작 및 단계를 수행하기 위한 명령(726)을 실행하도록 구성된다. 컴퓨터 시스템(700)은 네트워크(720)를 통해 통신하기 위한 네트워크 인터페이스 디바이스(708)를 더 포함할 수 있다.
데이터 저장 시스템(718)은 하나 이상의 명령 세트(726) 또는 본 명세서에서 설명된 임의의 하나 이상의 방법론 또는 기능을 구현하는 소프트웨어가 저장된 기계 판독 가능 저장 매체(724)(컴퓨터 판독 가능 매체라고도 함)를 포함할 수 있다. 명령(726)은 기계 판독 가능 저장 매체를 또한 구성하는 컴퓨터 시스템(700), 메인 메모리(704) 및 처리 디바이스(702)에 의해 실행되는 동안 메인 메모리(704) 내에 및/또는 처리 디바이스(702) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 기계 판독 가능 저장 매체(724), 데이터 저장 시스템(718) 및/또는 메인 메모리(704)는 도 1의 메모리 서브 시스템(110)에 대응할 수 있다.
일 실시형태에서, 명령(726)은 사전 판독 조정 구성 요소(예를 들어, 도 1의 사전 판독 조정 구성 요소(113))에 대응하는 기능을 구현하기 위한 명령을 포함한다. 기계 판독 가능 저장 매체(724)가 예시적인 실시형태에서 단일 매체인 것으로 도시되어 있지만, "기계 판독 가능 저장 매체"라는 용어는 하나 이상의 명령 세트를 저장하는 단일 매체 또는 다중 매체를 포함하는 것으로 간주되어야 한다. "기계 판독 가능 저장 매체"라는 용어는 또한 머신에 의한 실행을 위한 명령 세트를 저장하거나 인코딩할 수 있고 머신이 본 개시의 방법론 중 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주된다. 따라서 "기계 판독 가능 저장 매체"라는 용어는 솔리드 스테이트 메모리, 광학 매체 및 자기 매체를 포함하지만 이에 제한되지는 않는다.
전술한 상세한 설명의 일부 부분은 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 상징적 표현 및 알고리즘의 관점에서 제시되었다. 이들 알고리즘 설명 및 표현은 데이터 처리 기술의 숙련자가 자신의 작업의 본질을 당업자에게 가장 효과적으로 전달하는 데 사용하는 방법이다. 알고리즘은 여기에서 일반적으로 원하는 결과로 이어지는 일관된 동작 시퀀스로 간주된다. 동작은 물리량의 물리적 조작이 필요한 동작이다. 반드시 그런 것은 아니지만, 일반적으로 이러한 양은 저장, 결합, 비교 및 기타 조작이 가능한 전기 또는 자기 신호의 형태를 취한다. 주로 일반적인 사용의 이유로 이들 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 지칭하는 것이 편리한 것으로 입증되었다.
그러나, 이들 용어 및 유사한 용어 모두는 적절한 물리량과 관련되어야 하며 이들 수량에 적용되는 편리한 라벨일 뿐이라는 것을 명심해야 한다. 본 개시는 컴퓨터 시스템의 레지스터 내에서 물리(전자)량으로서 표현된 데이터를 조작하고 변환하며 그리고 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 이러한 정보 저장 시스템 내의 물리량으로서 유사하게 표현되는 다른 데이터에 기억하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스를 지칭할 수 있다.
본 개시는 또한 본 명세서에서의 동작을 수행하기 위한 디바이스에 관한 것이다. 이 장치는 의도된 목적을 위해 특별히 구성될 수 있거나 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성된 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 각각이 컴퓨터 시스템 버스에 결합된 플로피 디스크, 광학 디스크, CD-ROM 및 자기 광학 디스크, 판독 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), EPROM, EEPROM, 자기 또는 광학 카드 또는 전자 명령을 저장하는 데 적합한 임의 유형의 매체를 포함한 임의 유형의 디스크와 같은 하지만 이에 제한되지 않는 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
본 명세서에 제시된 알고리즘 및 디스플레이는 본질적으로 임의의 특정 컴퓨터 또는 기타 장치와 관련이 없다. 다양한 범용 시스템이 본 명세서의 교시에 따른 프로그램과 함께 사용될 수 있거나, 방법을 수행하기 위해 보다 특화된 디바이스를 구성하는 것이 편리함을 입증할 수 있다. 다양한 이들 시스템의 구조는 아래의 설명에 설명된 바와 같이 나타난다. 또한, 본 개시는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어가 본 명세서에 설명된 바와 같은 개시의 교시를 구현하기 위해 사용될 수 있다는 것이 이해될 것이다.
본 개시는 컴퓨터 시스템(또는 다른 전자 디바이스)을 프로그래밍하여 본 개시에 따른 프로세스를 수행하는 데 사용될 수 있는 명령이 저장된 기계 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 기계 판독 가능 매체는 기계(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 일부 실시형태에서, 기계 판독 가능(예를 들어, 컴퓨터 판독 가능) 매체는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 구성 요소 등과 같은 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체를 포함한다.
전술한 명세서에서, 본 개시의 실시형태는 그들의 특정 예시적인 실시형태를 참조하여 설명되었다. 다음의 청구 범위에 기재된 본 개시의 더 넓은 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 방법으로서,
    메모리 서브 시스템에서 제 1 데이터를 수신하는 단계와,
    상기 메모리 서브 시스템의 특성을 확인하는 단계와,
    처리 디바이스에 의해, 상기 메모리 서브 시스템의 특성에 기초하여 판독 전압 레벨을 결정하는 단계와,
    상기 결정된 판독 전압 레벨에 기초하여 상기 메모리 서브 시스템에서 판독 동작을 수행하여 제 2 데이터를 검색하는 단계와,
    상기 결정된 판독 전압 레벨에 기초한 판독 동작에 의해 검색된 제 2 데이터에 기초하여 상기 제 1 데이터를 상기 메모리 서브 시스템에 저장하는 단계
    를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 결정된 판독 전압 레벨에 기초하여 상기 메모리 서브 시스템에서 판독 동작을 수행하여 제 2 데이터를 검색하는 단계는,
    상기 결정된 판독 전압 레벨을 상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 인가하는 단계를 포함하고,
    상기 결정된 판독 전압 레벨은 상기 메모리 서브 시스템의 다른 메모리 셀에 인가되는 이전(prior) 판독 전압 레벨과는 상이한,
    방법.
  3. 제 1 항에 있어서,
    상기 판독 동작으로부터 검색된 상기 제 2 데이터에 기초하여 상기 메모리 서브 시스템에 상기 제 1 데이터를 저장하는 단계는,
    상기 판독 전압 레벨에 기초하여 상기 판독 동작으로부터 검색된 제 2 데이터와 상기 제 1 데이터가 일치하는지 여부를 결정하는 단계와,
    상기 제 2 데이터와 상기 제 1 데이터가 일치하지 않는 것에 응답하여 상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 저장된 값을 변경하는 단계를 포함하는,
    방법.
  4. 제 1 항에 있어서,
    상기 특성은 상기 메모리 서브 시스템의 메모리 셀에 대한 임계 전압이 변경되었다는 것을 표시하고, 상기 결정된 판독 전압 레벨은 상기 임계 전압의 변화에 기초하는,
    방법.
  5. 제 1 항에 있어서,
    상기 특성은 상기 메모리 서브 시스템의 상태 - 상기 상태는 상기 메모리 서브 시스템에서 수행되는 기입 동작의 수의 하나 이상임 - 와, 이전 기입 동작이 상기 메모리 서브 시스템에서 수행된 이후 경과된 시간과, 상기 메모리 서브 시스템으로부터 판독된 데이터와 관련된 오류율과, 상기 메모리 서브 시스템의 동작 온도에 대응하는,
    방법.
  6. 제 1 항에 있어서,
    상기 판독 동작은 상기 제 1 데이터의 저장 전에 수행되는,
    방법.
  7. 제 1 항에 있어서,
    상기 메모리 서브 시스템은 교차점 어레이 기반 메모리를 포함하는,
    방법.
  8. 시스템으로서,
    메모리 구성 요소와,
    상기 메모리 구성 요소와 동작 가능하게 결합된 처리 디바이스를 포함하며,
    상기 처리 디바이스는,
    메모리 서브 시스템에서 데이터를 수신하고,
    상기 메모리 서브 시스템의 특성을 확인하고,
    상기 메모리 서브 시스템의 특성에 기초하여 판독 전압 레벨을 결정하고,
    상기 판독 전압 레벨에 기초하여 상기 메모리 서브 시스템에서 판독 동작을 수행하여 저장된 데이터를 검색하고,
    상기 판독 전압 레벨에 기초한 판독 동작으로부터 검색된 저장된 데이터에 기초하여 상기 메모리 서브 시스템에 상기 수신된 데이터를 저장하도록 구성되는,
    시스템.
  9. 제 8 항에 있어서,
    상기 판독 전압 레벨에 기초하여 상기 메모리 서브 시스템에서 상기 판독 동작을 수행하여 상기 저장된 데이터를 검색하기 위해, 상기 처리 디바이스는 추가로,
    상기 결정된 판독 전압 레벨을 상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 인가하고, 상기 결정된 판독 전압 레벨은 상기 메모리 서브 시스템의 다른 메모리 셀에 인가되는 이전 판독 전압 레벨과는 상이한,
    시스템.
  10. 제 8 항에 있어서,
    상기 판독 동작으로부터 검색된 저장된 데이터에 기초하여 상기 수신된 데이터를 상기 메모리 서브 시스템에 저장하기 위해, 상기 처리 디바이스는 추가로,
    상기 수신된 데이터가 상기 판독 전압 레벨에 기초하여 상기 판독 동작으로부터 검색된 저장된 데이터와 일치하는지 여부를 결정하고;
    상기 저장된 데이터가 상기 수신된 데이터와 일치하지 않을 때 상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 저장된 값을 변경하는,
    시스템.
  11. 제 8 항에 있어서,
    상기 특성은 상기 메모리 서브 시스템의 메모리 셀에 대한 임계 전압이 변경되었다는 것을 표시하고, 상기 결정된 판독 전압 레벨은 상기 임계 전압의 변화에 기초하는,
    시스템.
  12. 제 8 항에 있어서,
    상기 특성은 상기 메모리 서브 시스템의 상태 - 상기 상태는 상기 메모리 서브 시스템에서 수행되는 기입 동작의 수의 하나 이상임 - 와, 이전 기입 동작이 상기 메모리 서브 시스템에서 수행된 이후 경과된 시간과, 상기 메모리 서브 시스템으로부터 판독된 데이터와 관련된 오류율과, 상기 메모리 서브 시스템의 동작 온도에 대응하는,
    시스템.
  13. 제 8 항에 있어서,
    상기 판독 동작은 상기 수신된 데이터의 저장 전에 수행되는,
    시스템.
  14. 제 8 항에 있어서,
    상기 메모리 서브 시스템은 교차점 어레이 기반 메모리를 포함하는,
    시스템.
  15. 처리 디바이스에 의해 실행될 때 상기 처리 디바이스가 동작을 수행하게 하는 명령을 포함하는 비일시적 컴퓨터 판독 가능 매체로서,
    상기 동작은,
    메모리 서브 시스템에서 데이터를 수신하는 동작과,
    상기 메모리 서브 시스템의 상태가 변경되었는지 여부를 결정하는 동작과,
    상기 메모리 서브 시스템의 상태가 변경되었다는 결정에 응답하여, 상기 메모리 서브 시스템에 대한 새로운 판독 전압 레벨 - 상기 새로운 판독 전압 레벨은 상기 메모리 서브 시스템에 의해 사용된 이전 판독 전압 레벨로부터 변경됨 - 을 결정하는 동작과,
    상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 상기 새로운 판독 전압 레벨을 인가하여 상기 수신된 데이터를 저장하는 동작을 포함하는,
    비일시적 컴퓨터 판독 가능 매체.
  16. 제 15 항에 있어서,
    상기 메모리 서브 시스템의 상태의 변화는 상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 대한 임계 전압이 변경되었다는 것을 표시하는,
    비일시적 컴퓨터 판독 가능 매체.
  17. 제 15 항에 있어서,
    상기 상태는 상기 메모리 서브 시스템에서 수행되는 기입 동작의 수의 하나 이상과, 이전 기입 동작이 상기 메모리 서브 시스템에서 수행된 이후 경과된 시간과, 상기 메모리 서브 시스템으로부터 판독된 데이터와 관련된 오류율과, 상기 메모리 서브 시스템의 동작 온도와 관련되는,
    비일시적 컴퓨터 판독 가능 매체.
  18. 제 15 항에 있어서,
    상기 동작은,
    상기 메모리 서브 시스템에서 후속 데이터를 수신하는 동작과,
    상기 메모리 서브 시스템의 상태가 변경되지 않았다고 결정하는 동작과,
    상기 메모리 서브 시스템의 상태가 변경되지 않았다는 결정에 응답하여, 상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 이전 판독 전압 레벨을 인가하여 상기 후속 데이터를 저장하는 동작을 추가로 포함하는,
    비일시적 컴퓨터 판독 가능 매체.
  19. 제 15 항에 있어서,
    상기 메모리 서브 시스템의 하나 이상의 메모리 셀은 교차점 어레이 기반 메모리 구성 요소와 관련되는,
    비일시적 컴퓨터 판독 가능 매체.
  20. 제 15 항에 있어서,
    상기 메모리 서브 시스템의 하나 이상의 메모리 셀에 상기 새로운 판독 전압 레벨을 인가하여 상기 수신된 데이터를 저장하기 위해, 상기 동작은,
    상기 새로운 판독 전압 레벨에 기초하여 상기 하나 이상의 메모리 셀에서 저장된 데이터를 검색하는 동작과,
    상기 저장된 데이터가 상기 수신된 데이터와 일치하지 않을 때 상기 하나 이상의 메모리 셀에 추가 전압을 인가하는 동작을 더 포함하는,
    비일시적 컴퓨터 판독 가능 매체.
KR1020217006682A 2018-08-07 2019-08-07 기입 동작과 관련된 사전 판독 동작의 조정 KR20210030482A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/057,537 2018-08-07
US16/057,537 US10761754B2 (en) 2018-08-07 2018-08-07 Adjustment of a pre-read operation associated with a write operation
PCT/US2019/045423 WO2020033487A1 (en) 2018-08-07 2019-08-07 Adjustment of a pre-read operation associated with a write operation

Publications (1)

Publication Number Publication Date
KR20210030482A true KR20210030482A (ko) 2021-03-17

Family

ID=69406755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217006682A KR20210030482A (ko) 2018-08-07 2019-08-07 기입 동작과 관련된 사전 판독 동작의 조정

Country Status (4)

Country Link
US (2) US10761754B2 (ko)
KR (1) KR20210030482A (ko)
CN (1) CN112673429A (ko)
WO (1) WO2020033487A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951403B2 (en) * 2018-12-03 2021-03-16 Winbond Electronics Corporation Updating cryptographic keys stored in non-volatile memory
KR20200117374A (ko) * 2019-04-04 2020-10-14 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 이의 동작 방법 및 이를 이용하는 시스템
KR20210054188A (ko) * 2019-11-05 2021-05-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 컨트롤러
US10950315B1 (en) * 2019-12-16 2021-03-16 Micron Technology, Inc. Preread and read threshold voltage optimization
US11557362B2 (en) 2021-04-27 2023-01-17 Micron Technology, Inc. Optimizing memory access operation parameters
US11966289B2 (en) * 2022-06-02 2024-04-23 Micron Technology, Inc. Cross-temperature compensation in non-volatile memory devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6552965B2 (en) * 2000-07-31 2003-04-22 Clark Equipment Company Electronic clock
JP4146653B2 (ja) * 2002-02-28 2008-09-10 株式会社日立製作所 記憶装置
US8171380B2 (en) 2006-10-10 2012-05-01 Marvell World Trade Ltd. Adaptive systems and methods for storing and retrieving data to and from memory cells
KR20090126587A (ko) * 2008-06-04 2009-12-09 삼성전자주식회사 상 변화 메모리 장치 및 그것의 읽기 방법
US8407559B2 (en) 2008-06-20 2013-03-26 Marvell World Trade Ltd. Monitoring memory
US8499227B2 (en) 2010-09-23 2013-07-30 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus
US9424946B2 (en) * 2013-02-08 2016-08-23 Seagate Technology Llc Non-volatile buffering to enable sloppy writes and fast write verification
US10475523B2 (en) * 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
US9620202B2 (en) * 2013-11-01 2017-04-11 Seagate Technology Llc Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory
US9818488B2 (en) * 2015-10-30 2017-11-14 Seagate Technology Llc Read threshold voltage adaptation using bit error rates based on decoded data
JP6520576B2 (ja) * 2015-08-27 2019-05-29 ソニー株式会社 メモリ、情報処理システムおよびメモリの制御方法
US9564233B1 (en) 2016-03-04 2017-02-07 Sandisk Technologies Llc Open block source bias adjustment for an incompletely programmed block of a nonvolatile storage device
US9996281B2 (en) * 2016-03-04 2018-06-12 Western Digital Technologies, Inc. Temperature variation compensation
KR102648785B1 (ko) 2017-01-11 2024-03-19 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10482969B2 (en) * 2017-12-21 2019-11-19 Western Digital Technologies, Inc. Programming to a correctable amount of errors

Also Published As

Publication number Publication date
US11256429B2 (en) 2022-02-22
WO2020033487A1 (en) 2020-02-13
US20200363969A1 (en) 2020-11-19
US20200050383A1 (en) 2020-02-13
US10761754B2 (en) 2020-09-01
CN112673429A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
US11714710B2 (en) Providing data of a memory system based on an adjustable error rate
US20230017981A1 (en) Preread and read threshold voltage optimization
KR20210030482A (ko) 기입 동작과 관련된 사전 판독 동작의 조정
US11455194B2 (en) Management of unmapped allocation units of a memory sub-system
US10726936B2 (en) Bad block management for memory sub-systems
US11544008B2 (en) Temperature correction in memory sub-systems
US11688475B2 (en) Performing read operation prior to two-pass programming of storage system
US11342024B2 (en) Tracking operations performed at a memory device
US11636044B2 (en) Logical-to-physical mapping
KR20200084901A (ko) 오프셋에 기반한 로직 블록 매핑
US11467976B2 (en) Write requests with partial translation units
KR20200106986A (ko) 온도에 기초한 빈도로 메모리 시스템의 메모리 셀에 대한 동작 수행
KR20200102528A (ko) 메모리 시스템에의 중요 데이터 저장

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application