KR20210046080A - 조정된 스캔 이벤트 임계치 - Google Patents
조정된 스캔 이벤트 임계치 Download PDFInfo
- Publication number
- KR20210046080A KR20210046080A KR1020217011067A KR20217011067A KR20210046080A KR 20210046080 A KR20210046080 A KR 20210046080A KR 1020217011067 A KR1020217011067 A KR 1020217011067A KR 20217011067 A KR20217011067 A KR 20217011067A KR 20210046080 A KR20210046080 A KR 20210046080A
- Authority
- KR
- South Korea
- Prior art keywords
- memory cells
- group
- memory
- threshold
- scan event
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3422—Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/32—Serial access; Scan testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C2029/3202—Scan chain
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 그룹은 메모리 셀 당 동일한 비트 용량으로 정보를 저장하도록 구성된 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스, 및 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함하는 시스템 및 방법이 개시되고, 프로세싱 디바이스는 메모리 디바이스에서 제 시간에 스캔 이벤트를 분배하기 위해 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만의 임계치로 조정하도록 구성된다.
Description
우선권 출원
본 출원은 2018년 9월 21일자로 출원된 미국 출원 제16/138,334호의 우선권의 이익을 주장하며, 이 기초 출원은 그의 전문이 참조에 의해 본 명세서에 원용된다.
기술 분야
본 발명의 실시형태는 일반적으로 메모리 시스템에 관한 것으로, 보다 상세하게는 메모리 셀의 그룹에 대한 조정 스캔 이벤트 임계치를 조정하는 것에 관한 것이다.
메모리 시스템은 솔리드 스테이트 구동(solid-state drive: SSD)과 같은 저장 시스템일 수 있으며, 데이터를 저장하는 하나 이상의 메모리 디바이스를 포함할 수 있다. 예를 들면, 메모리 시스템은 비휘발성 메모리 디바이스 및 휘발성 메모리 디바이스와 같은 메모리 디바이스를 포함할 수 있다. 일반적으로 호스트 시스템은 메모리 시스템을 이용하여 메모리 시스템의 메모리 디바이스에 데이터를 저장하고 메모리 시스템에 저장된 데이터를 검색할 수 있다.
본 발명은 이하에 주어진 상세한 설명 및 본 발명의 다양한 실시형태의 첨부 도면으로부터 보다 완전히 이해될 수 있을 것이다.
도 1은 본 발명의 일부 예에 따른, 메모리 시스템을 포함하는 일 예시적인 컴퓨팅 환경을 도시한 도면.
도 2 내지 도 4는 본 발명의 일부 실시형태에 따른, 상이한 스캔 이벤트에 대한 판독 카운트와 시간 사이의 예시적인 관계를 도시한 도면.
도 5는 본 발명의 일부 실시형태들에 따른, 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하는 단계를 포함하는 일 예시적인 방법의 흐름도.
도 6은 본 발명의 실시형태가 동작할 수 있는 일 예시적인 컴퓨터 시스템을 도시한 도면.
도 1은 본 발명의 일부 예에 따른, 메모리 시스템을 포함하는 일 예시적인 컴퓨팅 환경을 도시한 도면.
도 2 내지 도 4는 본 발명의 일부 실시형태에 따른, 상이한 스캔 이벤트에 대한 판독 카운트와 시간 사이의 예시적인 관계를 도시한 도면.
도 5는 본 발명의 일부 실시형태들에 따른, 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하는 단계를 포함하는 일 예시적인 방법의 흐름도.
도 6은 본 발명의 실시형태가 동작할 수 있는 일 예시적인 컴퓨터 시스템을 도시한 도면.
본 발명의 양태는 스캔 또는 폴드 이벤트(fold event)를 스케줄링하거나 수행하거나, 메모리 시스템에서 메모리 셀의 상이한 그룹(예컨대, 블록, 페이지, 등)에 대한 스캔 또는 폴드 이벤트 임계치를 조정하는 것에 관한 것이다. 메모리 시스템의 일례는 솔리드 스테이트 구동(SSD)과 같은 저장 시스템이다. 일부 실시형태에서, 메모리 시스템은 하이브리드 메모리/저장 서브시스템이다. 일반적으로 호스트 시스템은 하나 이상의 메모리 디바이스를 포함하는 메모리 시스템을 이용할 수 있다. 메모리 디바이스는 예를 들면, NAND(negative-and)와 같은 비휘발성 메모리 디바이스를 포함할 수 있다. 호스트 시스템은 메모리 시스템의 메모리 디바이스에 데이터를 저장하기 위한 기록 요청을 제공할 수 있으며 메모리 셀의 하나 이상의 어레이에서와 같은, 메모리 시스템에 저장된 데이터를 검색하기 위한 판독 요청을 제공할 수 있다.
FLASH 기반 디바이스와 같은 메모리 디바이스는 동작 동안 하나 이상의 오류를 경험할 수 있다. 예를 들면, 메모리 셀의 반복된 판독, 기록, 및 소거로 인해 메모리 셀이 저하될 수 있다. 마찬가지로, 메모리 시스템의 동작에 오류가 발생할 수 있다. 메모리 디바이스의 메모리 셀의 블록에 있는 메모리 셀로부터 데이터를 판독하는 것은 시간에 걸쳐 근처의 메모리 셀(예컨대, 블록, 페이지, 또는 메모리 셀의 그룹의, 또는 특정 예에서, 주변 블록, 페이지, 그룹, 또는 메모리 셀의 스트링의 메모리 셀)에 대한 변화(예컨대, 임계 전압 변화 등), 즉 판독 방해(read disturb)로서 알려진 효과를 야기할 수 있다. 예를 들면, 판독 방해 오류는 전하가 인가되는 셀에서 전하 분포를 이동시키는 판독 중인 메모리 셀 근처의 메모리 셀에 통과 전압(Vpass)이 적용될 때 발생할 수 있다. 분포의 크기가 충분히 크면, 저장된 것과 상이한 값이 메모리 셀로부터 판독될 수 있다.
신뢰 가능한 데이터 저장 및 복구를 보장하기 위해, 메모리 시스템은 하나 이상의 오류 검출 및 하나 이상의 오류 정정 메커니즘을 가질 수 있다. 예를 들면, 메모리 셀은 또한 저장되는 ECC 값을 생성하기 위해 메모리 디바이스에 저장될 값을 수학식에 입력함으로써 메모리 셀이 기록될 때 생성되는 오류 정정 부호(ECC)를 가질 수 있다. 나중에, 메모리 셀을 판독할 때, 메모리 셀로부터 판독된 값에 동일하거나 보완적인 수학 공식이 적용된다. 값이 메모리 셀에 기록될 때 생성된 ECC는 메모리 셀로부터 값이 판독될 때 생성된 ECC와 비교되어 오류를 결정한다. 예를 들면, 값이 메모리 디바이스에 기록될 때 생성된 ECC가 메모리 디바이스로부터 값이 판독할 때 생성된 ECC와 매칭하지 않으면, 메모리 셀은 오류를 경험한 것이다. 예시적인 ECC 프로세스는 패리티 검사, 해밍 부호, 체크섬, 순환 중복 검사(CRC), 암호화 해시, 블록 부호, 컨볼루션 부호, 터보 부호, 저 밀도 패리티 검사(LDPC) 등을 포함할 수 있다.
다양한 오류 취급 메커니즘은 오류가 검출될 때 메모리 디바이스가 메모리 셀로부터 판독한 값을 정정하는 것을 허용할 수 있다. 오류 취급 메커니즘은 오류를 정정하기를 시도하기 위해 메모리 시스템에 의해 사용된 하드웨어 또는 소프트웨어 기반 절차일 수 있다. 오류 취급 메커니즘은 모든 유형의 오류에 대해 작동할 수 있는 일반적인 오류 취급 메커니즘일 수 있거나 메모리 시스템의 특정 오류 조건을 정정하는 것을 목표로 할 수 있다. 예를 들면, 판독 방해 오류 취급 메커니즘은 판독 방해 오류를 복구하는 것을 목표로 한다. 판독 방해 오류를 정정하기 위해 사용된 하나의 예시적인 오류 취급 메커니즘은 전하 분포의 이동을 보상하기 위해 판독 전압을 더 높은 전압으로 이동시키고 있다. 주어진 오류에 대해 다수의 오류 취급 메커니즘이 시도될 수 있다. 예를 들면, 판독 방해 오류를 수정하는 것을 목표로 하는 다수의 오류 취급 메커니즘이 존재할 수 있다. 각각의 오류 취급 메커니즘은 상이한 동작을 수행할 수 있고, 따라서 오류 취급 오버헤드에 상이한 양의 비용이 들 수 있다.
일부 예에서, 오류가 무엇인지는 메모리 시스템에 분명하지 않을 수 있다. 메모리 시스템은 오류 검출 메커니즘(ECC와 같음)이 오류를 검출했음을 단순히 알 수 있다. 주어진 문제에 대해 다수의 오류 취급 메커니즘이 존재할 수 있기 때문에, 그리고 오류 원인이 알려지지 않을 수 있기 때문에, 메모리 시스템은 오류를 정정하기 위해 다수의 오류 취급 메커니즘을 시도할 수 있다. 일부 예에서, 메모리 시스템은 미리 정의된 오류 취급 시퀀스에 의해 명시된 순서로 이 정정 메커니즘 중 하나 이상을 시도할 수 있다. 오류 취급 시퀀스는 디바이스 제조 시간에 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 디바이스에 프로그래밍될 수 있다.
오류 취급 시퀀스는 예상된 사용 사례 및 환경뿐만 아니라, 다양한 오류 취급 메커니즘의 이력 예상된 성공률, 레이턴시, 및 제어기 활용 통계에 기초하여 제조업체에 의해 개발된다. 미리 정의된 오류 취급 시퀀스는 각각의 특정한 오류 취급 메커니즘과 연관된 시간 및 리소스 비용과 예상된 사용 사례와 연관된 예상된 오류 유형을 고려할 때 오류를 정정하기 위한 최적의 시퀀스의 메모리 시스템 설계자에 의한 경험에서 우러난 추측에 해당한다.
메모리 디바이스와 연관된 동작(예컨대, 판독, 기록, 등)을 제어하도록 구성된 제어기는 메모리 셀 또는 메모리 셀의 그룹(예컨대, 메모리 셀의 블록 또는 페이지, 등)과 연관된 수 또는 판독(판독 카운트)를 카운트할 수 있다. 메모리 셀 또는 메모리 셀의 그룹에 대한 판독 카운트가 제1 스캔 임계치에 도달할 때(예컨대, 중간 기록, 소거, 등이 없는 메모리 셀의 블록에 대한 판독 카운트, 또는 메모리 셀의 블록에 대한 총 판독 카운트 등), 제어기는 판독 방해 오류에 대해 메모리 셀의 블록을 스캐닝할 수 있다. 일례에서, 메모리 셀의 그룹에 대한 스캔 이벤트는 메모리 셀의 그룹의 임계 전압 분포를 결정하도록 구성된 판독 방해 스캔을 포함할 수 있다. 임계 전압 분포가 변경되는 경우, 또는 메모리 셀 또는 메모리 셀의 그룹의 판독 방해 오류의 수가 제1 오류 임계치에 도달하거나, 판독 카운트가 제1 판독 임계치에 도달하는 경우, 제어기는 폴드 이벤트에서 메모리 셀 또는 메모리 셀의 그룹의 데이터를 리프레시할 수 있다. 일례에서, 폴드 이벤트는 데이터를 상이한 메모리 셀 또는 메모리 셀의 상이한 그룹에 기록하거나(예컨대, 메모리 셀의 제1 블록으로부터 데이터를 판독하고 이를 메모리 셀의 제2 블록에 기록하는 등), 그렇지 않으면 메모리 셀 또는 메모리 셀의 그룹의 데이터를 리프레시하는 것을 포함할 수 있다. 폴드 이벤트는 판독 카운트, 원시 비트 오류율(RBER), 판독 방해 오류, 또는 저장된 데이터가 리프레시되어야 한다는 하나 이상의 다른 표시에 의해 트리거링될 수 있다.
구동 성능은 주어진 시간 간격(예컨대, 1초 등)에 걸쳐 (예컨대, 무작위 또는 순차적) 판독 동작에 대해 정의될 수 있다. 그러나, 특정 동작 조건(예컨대, 테스트 조건, 4k 가상 현실 동작, 이미지 또는 갤러리 로드, 또는 다른 순차적 데이터 동작 등)에서, 메모리 셀의 그룹(예컨대, 메모리 셀의 블록)은 동일하거나 유사한 양의 판독 카운트 또는 판독 방해를 경험할 수 있어서, 시간 기간 내에(예컨대, 시간 중첩, 또는 1초, 등과 같은 임계 시간 내에) 다수의 블록 또는 메모리 셀의 그룹에 대한 구동 관리 동작(예컨대, 스캔, 폴드 등)을 트리거링하여, 연관된 메모리 시스템의 성능에 영향을 미친다. 스캔 이벤트가 상대적으로 적은 양의 시간(예컨대, 마이크로초)이 걸릴 수 있을지라도, 폴드 이벤트는 실질적으로 더 많은 양의 시간(예컨대, 수십 밀리초)이 걸릴 수 있다. 시간 기간에 다수의 스캔 또는 폴드가 트리거링되면, 메모리 시스템 성능, 및 그에 따라 전체 시스템 성능에 영향을 미칠 수 있다.
일례에서, 메모리 셀(예컨대, 블록, 메모리 디바이스, 등)의 다수의 그룹을 포함하는 시스템에서, 판독 카운트 스캔 임계치는 구동 관리 이벤트(예컨대, 스캔, 폴드, 등)가 그룹화되지 않고 분배되도록 시간 또는 임계치에서 스태거링(staggering)되거나, 산재되거나, 흩어질 수 있다. 예를 들면, 메모리 셀의 각각의 그룹에 대해 동일한 판독 카운트 스캔 임계치를 설정하는 대신에, 일관된 사용 조건에서 임의의 시간에 판독 카운트 스캔 임계치에 도달하는 메모리 셀의 그룹의 수가 감소되도록 임계치가 무작위화, 왜곡, 또는 조정될 수 있다. 다른 예에서, 메모리 셀의 다수의 그룹이 판독 카운트 스캔 임계치를 향해 수렴하고 있을 때, 특정 예에서, 메모리 시스템 사용, 작업량, 등에 의존하여 메모리 셀의 하나 이상의 그룹이 선제적으로 스캐닝될 수 있다. 특정 예에서, 폴드 이벤트는 폴드 이벤트를 트리거링하기 위해 사용된 판독 카운트 임계치 또는 원시 비트 오류율(RBER)을 조정함으로써 유사하게 분배될 수 있다.
도 1은 본 발명의 일부 예에 따라 메모리 시스템(110)을 포함하는 예시적인 컴퓨팅 환경(100)을 도시한다. 메모리 시스템(110)은 메모리 디바이스(112A 내지 112N)와 같은 매체를 포함할 수 있다. 메모리 디바이스(112A 내지 112N)는 휘발성 메모리 디바이스, 비휘발성 메모리 디바이스, 또는 이들의 조합일 수 있다. 일부 실시형태에서, 메모리 시스템은 저장 시스템이다. 저장 시스템의 일례는 SSD이다. 일부 실시형태에서, 메모리 시스템(110)은 하이브리드 메모리/저장 시스템이다. 일반적으로, 컴퓨팅 환경(100)은 메모리 시스템(110)을 사용하는 호스트 시스템(120)을 포함할 수 있다. 일부 구현에서, 호스트 시스템(120)은 메모리 시스템(110)에 데이터를 기록하고, 메모리 시스템(110)으로부터 데이터를 판독할 수 있다.
호스트 시스템(120)은 데스크탑 컴퓨터, 랩톱 컴퓨터, 네트워크 서버, 모바일 디바이스와 같은 컴퓨팅 디바이스이거나, 또는 메모리 및 프로세싱 디바이스를 포함하는 이러한 컴퓨팅 디바이스일 수 있다. 호스트 시스템(120) 또는 메모리 시스템(110)은 제품의 프로세싱, 통신 또는 제어를 지원하기 위해 IoT 디바이스(예컨대, 냉장고 또는 다른 기기, 센서, 모터 또는 액추에이터, 모바일 통신 디바이스, 자동차, 드론 등)와 같은 다양한 제품에 포함될 수 있다. 호스트 시스템(120)은 프로세서, 메모리 카드 판독기, 또는 메모리 시스템(110) 외부의 하나 이상의 다른 전자 디바이스를 포함할 수 있다. 호스트 시스템(120)은 호스트 시스템(120)이 메모리 시스템(110)으로부터 데이터를 판독하거나 메모리 시스템에 데이터를 기록할 수 있도록 메모리 시스템(110)을 포함하거나 메모리 시스템에 결합될 수 있다. 호스트 시스템(120)은 물리적 호스트 인터페이스를 통해 메모리 시스템(110)에 결합될 수 있다. 본 명세서에서 사용된 "결합된"이란 일반적으로 전기, 광학, 자기 등과 같은 연결을 포함하여 유선이든 무선이든 간접 통신 연결 또는 직접 통신 연결(예컨대, 중간 구성요소 없는 연결)일 수 있는 구성요소 사이의 연결을 의미한다. 물리적 호스트 인터페이스의 예로는 직렬 고급 기술 부착(Serial Advanced Technology Attachment: SATA) 인터페이스, 주변 구성요소 상호 연결 익스프레스(Peripheral Component Interconnect Express: PCIe) 인터페이스, 범용 직렬 버스(Universal Serial Bus: USB) 인터페이스, 파이버 채널(Fibre Channel), 직렬 부착 SCSI(Serial Attached SCSI: SAS), eMMCTM, 인터페이스 등을 포함하지만 이들로 제한되지는 않는다. 물리적 호스트 인터페이스는 호스트 시스템(120)과 메모리 시스템(110) 사이에서 데이터를 전송하기 위해 사용될 수 있다. 나아가 호스트 시스템(120)은 메모리 시스템(110)이 PCIe 인터페이스에 의해 호스트 시스템(120)과 결합될 때 메모리 디바이스(112A 내지 112N)에 액세스하기 위해 NVM 익스프레스(NVMe) 인터페이스를 이용할 수 있다. 물리적 호스트 인터페이스는 메모리 시스템(110)과 호스트 시스템(120) 사이에 제어, 어드레스, 데이터 및 다른 신호를 전달하기 위한 인터페이스를 제공할 수 있다.
메모리 시스템(110)은 예로서, 메모리 디바이스(112A 내지 112N)와 같은, 메모리 시스템 제어기(115) 및 매체를 포함하도록 도시된다. 메모리 디바이스(112A 내지 112N)는 상이한 유형의 비휘발성 메모리 디바이스 및/또는 휘발성 메모리 디바이스의 임의의 조합을 포함할 수 있다. 비휘발성 메모리 디바이스의 일례는 네거티브 AND(NAND)형 플래시 메모리를 포함한다. 메모리 디바이스(112A 내지 112N) 각각은 단일 레벨 셀(SLC) 또는 다수의 레벨 셀(MLC)(예컨대, 트리플 레벨 셀(TLC) 또는 쿼드 레벨 셀(QLC))과 같은 하나 이상의 메모리 셀 어레이를 포함할 수 있다. 일부 구현에서, 특정 메모리 디바이스는 메모리 셀(예컨대, 셀 당 상이한 비트 용량을 가지는 메모리 셀)의 SLC 부분 및 MLC 부분을 모두 포함할 수 있다. 각각의 메모리 셀은 호스트 시스템(120)에 의해 사용되는 데이터 비트(예컨대, 데이터 블록)를 저장할 수 있다. NAND형 플래시 메모리와 같은 비휘발성 메모리 디바이스가 설명되었지만, 메모리 디바이스(112A 내지 112N)는 휘발성 메모리와 같은 임의의 다른 유형의 메모리에 기초할 수 있다. 일부 구현에서, 메모리 디바이스(112A 내지 112N)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 위상 변화 메모리(PCM), 자기 랜덤 액세스 메모리(MRAM), 네거티브 OR(NOR) 플래시 메모리, 전기적으로 소거 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM), 및 비휘발성 메모리 셀의 교차점 어레이일 수 있지만 이들로 제한되지는 않는다. 비휘발성 메모리의 교차점 어레이는 적층 가능한 교차 그리드(cross-gridded) 데이터 액세스 어레이와 함께 벌크 저항(bulk resistance)의 변화에 기초하여 비트 저장을 수행할 수 있다. 추가적으로, 많은 플래시 기반 메모리와는 달리, 교차점 비휘발성 메모리는 비휘발성 메모리 셀을 미리 소거하지 않고 비휘발성 메모리 셀을 프로그래밍할 수 있는 그 자리 기록(write-in-place) 동작을 수행할 수 있다. 또한, 메모리 디바이스(320)의 메모리 셀은 데이터를 저장하기 위해 사용된 메모리 디바이스의 유닛을 참조할 수 있는 다수의 디바이스, 플레인, 서브 블록, 블록 또는 페이지로서 그룹화될 수 있다.
일례에서, 메모리 시스템(110)은 호스트 시스템(120)의 별개의 메모리 및/또는 저장 디바이스 구성요소일 수 있다. 다른 예에서, 메모리 시스템(110)은 집적 회로(예컨대, 시스템 온 칩(SOC), 등)의 일부일 수 있거나, 적층되거나 그렇지 않으면 호스트 시스템(120)의 하나 이상의 다른 구성요소와 함께 포함될 수 있다.
매체 디바이스(112A 내지 112N)의 각각은 메모리 디바이스(112A 내지 112N)의 메모리 셀을 관리하기 위해 매체 제어기(예컨대, 매체 제어기(130A 내지 130N))를 포함할 수 있다.
메모리 시스템(110)은 메모리 디바이스(112A 내지 112N)와 통신하며 메모리 디바이스(112A 내지 112N)의 데이터를 판독하거나, 메모리 디바이스에 데이터를 기록하거나 또는 메모리 디바이스에서 데이터를 소거하는 것과 같은 동작 및 다른 이러한 동작을 수행할 수 있는 메모리 시스템 제어기(115)를 포함할 수 있다. 메모리 시스템 제어기(115)는 하나 이상의 집적 회로 및/또는 별개의 구성요소, 버퍼 메모리 또는 이들의 조합과 같은 하드웨어를 포함할 수 있다. 메모리 시스템 제어기(115)는 마이크로제어기, 특수 목적 논리 회로(예컨대, 전계 프로그래밍 가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC) 등) 또는 다른 적절한 프로세서일 수 있다. 메모리 시스템 제어기(115)는 로컬 메모리(119)에 저장된 명령어를 실행하도록 구성된 프로세서(프로세싱 디바이스)(117)를 포함할 수 있다. 예시된 예에서, 메모리 시스템 제어기(115)의 로컬 메모리(119)는 메모리 시스템(110)과 호스트 시스템(120) 사이의 통신 처리를 포함하는, 메모리 시스템(110)의 동작을 제어하는 다양한 프로세스, 동작, 논리 흐름 및 루틴을 수행하기 위한 명령어를 저장하도록 구성된 내장형 메모리를 포함한다. 일부 실시형태에서, 로컬 메모리(119)는 예컨대, 메모리 포인터, 페치된 데이터, 등을 저장하는 메모리 레지스터를 포함할 수 있다. 로컬 메모리(119)는 마이크로부호를 저장하기 위한 판독 전용 메모리(ROM)를 더 포함할 수 있다. 도 1의 예시적인 메모리 시스템(110)은 메모리 시스템 제어기(115)를 포함하는 것으로 예시되었지만, 본 발명의 다른 실시형태에서, 메모리 시스템(110)은 메모리 시스템 제어기(115)를 포함하지 않을 수 있고, 대신에(예컨대, 외부 호스트에 의해 또는 메모리 시스템과 분리된 프로세서 또는 제어기에 의해 제공된) 외부 제어에 의존할 수 있다.
일반적으로, 메모리 시스템 제어기(115)는 호스트 시스템(120)으로부터 커맨드 또는 동작을 수신할 수 있고, 이 커맨드 또는 동작을 메모리 디바이스(112A 내지 112N)에 원하는 액세스를 달성하기 위한 명령어 또는 적절한 커맨드로 변환할 수 있다. 메모리 시스템 제어기(115)는 마모 평준화 동작(예컨대, 가비지 수집 동작, 교정), 에러 검출 및 에러 정정 부호(ECC) 동작, 암호화 동작, 캐싱 동작, 블록 폐기, 및 메모리 디바이스(112A 내지 112N)와 연관된 논리적 블록 어드레스와 물리적 블록 어드레스 사이의 어드레스 변환과 같은 다른 동작을 담당할 수 있다. 메모리 시스템 제어기(115)는 물리적 호스트 인터페이스를 통해 호스트 시스템(120)과 통신하기 위한 호스트 인터페이스 회로를 더 포함할 수 있다. 호스트 인터페이스 회로는 호스트 시스템으로부터 수신된 커맨드를 메모리 디바이스(112A 내지 112N)에 액세스하기 위한 커맨드 명령어로 변환할 뿐만 아니라 메모리 디바이스(112A 내지 112N)와 연관된 응답을 호스트 시스템(120)에 대한 정보로 변환할 수 있다.
메모리 시스템 제어기(115)는 메모리 시스템(110)의 하나 이상의 구성요소와 연관된 다양한 정보를 유지하기 위해 관리 테이블의 세트를 포함할 수 있다. 예를 들면, 정보는 메모리 디바이스(112A 내지 112N) 또는 메모리 시스템 제어기(115)에 결합된 하나 이상의 메모리 셀과 연관될 수 있다. 예를 들면, 관리 테이블은 메모리 시스템 제어기(115)에 결합된 메모리 셀의 하나 이상의 블록에 대한 블록 수명, 블록 소거 카운트, 오류 이력, 또는 하나 이상의 오류 카운트(예컨대, 기록 동작 오류 카운트, 판독 비트 오류 카운트, 판독 동작 오류 카운트, 소거 오류 카운트 등)에 관한 정보를 포함할 수 있다. 특정 예에서, 오류 카운트 중 하나 이상에 대한 검출된 오류의 수가 임계치를 초과하는 경우, 비트 오류는 정정 가능하지 않은 비트 오류로서 언급될 수 있다. 관리 테이블은 무엇보다도, 정정 가능하거나 정정 가능하지 않은 비트 오류의 카운트를 유지할 수 있다.
메모리 시스템 제어기(115)는 메모리 디바이스(112A 내지 112N)의 하나 이상의 메모리 셀에 데이터를 기록하거나 그로부터 데이터를 판독하는 것과 연관된 오류를 검출하거나 정정할 수 있다. 메모리 시스템 제어기(115)는 호스트 시스템(120)과 메모리 시스템(110) 사이에 전송된 데이터의 무결성을 유지하거나, 저장된 데이터의 무결성을 유지하면서(예컨대, 복수 배열 독립 디스크(redundant array of independent disks: RAID) 저장장치 등을 사용하여) 데이터의 다양한 동작 또는 저장과 연관된 오류 발생(예컨대, 비트 오류, 동작 오류 등)을 능동적으로 검출하고 복구할 수 있고, 향후 오류를 방지하기 위해 결함있는 메모리 리소스(예컨대, 메모리 셀, 메모리 어레이, 페이지, 블록 등)를 제거(예컨대, 폐기)할 수 있다.
메모리 시스템 제어기(115)는 메모리 디바이스(112A 내지 112N)에 값을 기록할 때 ECC를 산출할 수 있고 이 값을 메모리 디바이스(112A 내지 112N)의 상이한 위치에 저장할 수 있다. 메모리 디바이스(112A 내지 112N)로부터 값을 판독할 때, 메모리 시스템 제어기(115)는 판독된 값에 대한 ECC 값을 산출하고 그것을 저장된 ECC 값과 비교할 수 있다. ECC 값이 매칭하지 않으면, 메모리 시스템 제어기(115)는 오류가 발생했다고 결정할 수 있다. 메모리 시스템 제어기(115)는 오류를 정정하기 위한 시도로 오류 취급 시퀀스에 따라 명시된 순서로 하나 이상의 오류 취급 메커니즘을 실행할 수 있다. 오류 취급 시퀀스는 메모리 시스템(110)의 구성요소의 데이터 구조에 저장될 수 있다. 메모리 시스템 제어기(115)는 오류가 정정되거나 더 이상 오류 취급 시퀀스가 없을 때까지 오류 취급 메커니즘을 계속 시도할 수 있다.
메모리 시스템 제어기(115)는 하나 이상의 오류 취급 메트릭을 추적할 수 있다. 예는 오류 취급 메커니즘이 필요한 횟수(예컨대, EH_COUNTER), 각각의 특정한 오류 취급 메트릭이 활용되는 횟수, 각각의 오류 취급 메커니즘이 오류를 성공적으로 수정한 횟수, 각각의 오류 취급 메커니즘의 레이턴시, 등 중 하나 이상을 포함한다. 일부 예에서, 메모리 시스템 제어기(115)는 전체 레이턴시 - 즉, 시스템이 오류를 정정할 필요가 있을 때마다 오류 정정하는 것을 활용하는 시간을 추적한다. 수집된 메트릭은 오류 취급 시퀀스와 동일하거나 상이한 데이터 구조에 저장될 수 있다.
메모리 시스템(110)은 본 명세서에서 설명된 하나 이상의 스캔 또는 폴드 이벤트와 같은, 본 명세서에서 설명된 동작을 수행하기 위해 스캔 이벤트 구성요소(113)(예컨대, 회로, 프로세싱 디바이스, 전용 로직, 프로그래밍 가능한 로직, 펌웨어, 등)를 포함할 수 있다. 일례에서, 스캔 이벤트 구성요소(113)는 주어진 시간 기간에 발생하는 스캔 또는 폴드 이벤트의 수를 제한하기 위해 메모리 디바이스에서 제 시간에 스캔 또는 폴드 이벤트를 분배하는 것과 같은, 메모리 셀의 하나 이상의 그룹에 대한 스캔 또는 폴드 이벤트 임계치를 조정하도록 구성될 수 있다.
메모리 시스템(110)은 또한, 도시되지 않은 부가적인 회로 또는 구성요소를 포함할 수 있다. 일부 구현에서, 메모리 시스템(110)은 제어기(115)로부터 주소를 수신하고 메모리 디바이스(112A 내지 112N)에 액세스하기 위해 주소를 디코딩할 수 있는 캐시 또는 버퍼(예컨대, DRAM) 및 주소 회로(예컨대, 행 디코더 및 열 디코더)를 포함할 수 있다.
도 2는 각각의 제1, 제2, 제3, 및 제4 판독 카운트 임계치(205 내지 208)에서 제1, 제2, 제3, 및 제4 스캔 이벤트(210 내지 213)를 포함하는 상이한 스캔 이벤트에 대한 판독 카운트(201)와 시간(t)(202) 사이의 일 예시적인 관계(200)를 도시한다. 일관되거나 거의 일관된 판독 작업량 하에서, 메모리 셀의 각각의 그룹에 대한 판독 카운트는 제1 누적된 판독 카운트(203)로서 도시된 것과 같은, 시간(t)에 따라 선형적으로, 또는 거의 선형적으로 증가할 것이다.
제4 스캔 임계치(208)는 타깃 판독 카운트 임계치(예컨대, 전형적인 동작 조건을 고려할 때 메모리 셀의 그룹에 대해 결정된 이상적인 판독 카운트 임계치)를 도시할 수 있다. 전형적인 동작에서, 스캔 임계치를 조정하지 않고, 메모리 셀의 각각의 그룹(예컨대, 메모리 셀의 블록)은 타깃 임계치에서 스캐닝된다. 특정 예에서, 제4 스캔 이벤트(213)에서 메모리 셀의 다수의 그룹이 스캐닝될 수 있어서, 메모리 디바이스 성능에 영향을 미친다. 동시에, 또는 주어진 시간 기간 내에 메모리 셀의 다수의 그룹을 스캐닝하는 것을 회피하기 위해, 메모리 셀의 상이한 그룹의 판독 카운트 임계치가 타깃 판독 카운트 임계치로부터 하나 이상의 다른 임계치(예컨대, 타깃 판독 카운트 임계치를 초과하거나 그 미만임)로 왜곡되거나 조정될 수 있다.
예를 들면, 제1, 제2 및 제3 스캔 이벤트 임계치(205 내지 207)는 제4 스캔 이벤트 임계치(208)로부터 오프셋, 왜곡, 또는 조정된다. 일례에서, 메모리 셀의 상이한 그룹에 상이한 임계치가 할당될 수 있다. 특정 예에서, 메모리 셀의 각각의 그룹은 고유한 판독 카운트 임계치를 가질 수 있다. 다른 예에서, 메모리 셀의 다수의 그룹은 특정 시간 또는 임계치에서 스캐닝된 메모리 셀의 그룹의 수가 감소되도록, 각각의 임계치를 공유할 수 있다. 메모리 셀의 제1 그룹(A)은 제1 스캔 이벤트 임계치(205)를 갖고 제1 스캔 이벤트(210)에서 스캐닝될 수 있다. 메모리 셀의 제2 그룹(B)은 제2 스캔 이벤트 임계치(206)를 갖고 제2 스캔 이벤트(211)에서 스캐닝될 수 있다. 메모리 셀의 제3 그룹(C)은 제3 스캔 이벤트 임계치(207)를 갖고 제3 스캔 이벤트(212)에서 스캐닝될 수 있다. 메모리 셀의 제4 그룹(D)은 제4 스캔 이벤트 임계치(208)를 갖고 제4 스캔 이벤트(213)에서 스캐닝될 수 있다. 일례에서, 주어진 스캔 이벤트에서, 또는 주어진 시간 주기(예컨대, 1초, 등) 내에서 단지 1개의 블록만이 스캐닝될 수 있다. 일례에서, 메모리 셀의 하나보다 많은 그룹이 주어진 시간에 각각의 또는 타깃 임계치에 도달하는 경우, 그룹은 판독 카운트와 관련하여 수신된 순서와 같은, 다음 이용 가능한 스캔 간격에서 큐잉되고 스캐닝될 수 있다. 일례에서, 스캔 이벤트는 판독 방해 스캔을 포함할 수 있다.
도 3은 스캔 임계치(308)에서 제1, 제2, 제3 및 제4 스캔 이벤트(310 내지 313)를 포함하는 상이한 스캔 이벤트에 대한 판독 카운트(301)와 시간(t)(302) 사이의 일 예시적인 관계(300)를 도시한다. 반면에, 도 2의 예에서, 스캔 임계치는 메모리 셀의 상이한 그룹에 대해 조정되며, 여기서 메모리 셀의 상이한 그룹에 대한 판독 카운트는 그들의 실제 판독 카운트보다 높거나 그 미만으로 의도적으로 왜곡되거나 스태거링된다. 일례에서, 메모리 셀의 모든 그룹이 스캔 임계치(308)에서 또는 그 부근에서 스캐닝되는 것을 보장하기 위해, 판독 카운트는 그들의 실제 판독 카운트보다 높게 조정될 수 있다.
도 3의 시간(t)(302) 축의 원점에서, 상이한 누적된 판독 카운트(예컨대, 제1, 제2, 제3, 및 제4 판독 카운트(303 내지 306))가 도시되고, 이는 메모리 셀의 상이한 그룹에 대한 상이한 초기 판독 카운트를 도시한다. 일례에서, 메모리 셀의 상이한 그룹에 대한 판독 카운트는 일관된 사용(예컨대, 판독 동작) 조건 하에서, 메모리 셀의 상이한 그룹이 상이한 시간에 스캔 임계치(308)에 도달하도록 (예컨대, 0이 아닌 숫자에서 시작하거나, 왜곡되는 등) 조정될 수 있다. 다른 예에서, 메모리 셀의 상이한 그룹에 대해 0이 아닌 판독 카운트가 일정한 레이트로 증가하고 있는 경우, 또는 일관된 사용 조건이 검출되는 경우, 이 그룹 중 하나 이상에 대한 판독 카운트는 실제 판독 카운트로부터 증가되거나 멀리 조정될 수 있다.
일례에서, 메모리 셀의 제1 그룹은 처음에 스캔 임계치(308)에 도달하고 제1 스캔 이벤트(310)에서 스캐닝된다. 메모리 셀의 제2 그룹은 제2 시간에 스캔 임계치(308)에 도달하고 제2 스캔 이벤트(311)에서 스캐닝된다. 메모리 셀의 제3 그룹은 제3 시간에 스캔 임계치(308)에 도달하고 제3 스캔 이벤트(312)에서 스캐닝된다. 메모리 셀의 제4 그룹은 제4 시간에 스캔 임계치(308)에 도달하고 제4 스캔 이벤트(313)에서 스캐닝된다. 메모리 셀의 상이한 그룹(예컨대, 블록)에 대한 판독 카운트를 조정하지 않고, 메모리 셀의 제1, 제2 및 제3 그룹은 제4 스캔 이벤트(313)에서 스캔을 트리거링하여, 성능에 부정적인 영향을 미칠 것이다.
도 4는 각각이 임계 구역(404) 내에 있는 제1, 제2, 제3 및 제4 스캔 이벤트(410 내지 413)를 포함하는 상이한 스캔 이벤트에 대한 판독 카운트(401)와 시간(t)(402) 사이의 일 예시적인 관계(400)를 도시한다. 일례에서, 메모리 셀의 제1, 제2, 제3 및 제4 그룹의 누적된 판독 카운트(403)는 동일하거나 실질적으로 유사한 레이트로 증가할 수 있다. 메모리 셀의 하나 이상의(또는 2개 이상의) 그룹의 누적된 판독 카운트(403)가 임계 구역(404)과 같은 예비 조건에 도달할 때, 임계 구역(404)에 있는 메모리 셀의 그룹의 서브세트가 주기적 간격(예컨대, 시간 간격, 등)으로 스캐닝될 수 있다. 임계 구역(404)은 특정 예에서, 스캔 임계치(408)(예컨대, 타깃 임계치, 등)과 유사하거나 동일한 상한 임계치, 및 스캔 임계치(408) 미만의 하한 임계치, 또는 서브 임계치를 포함할 수 있다. 메모리 셀의 그룹은 소거 카운트 또는 하나 이상의 다른 미리 결정된 헬스 인덱스 또는 파라미터에 의해 스캐닝되고, 순차적으로, 무작위로 순위가 매겨질 수 있다.
메모리 셀의 제1 그룹은 제1 스캔 이벤트(410)에서 스캐닝될 수 있다. 메모리 셀의 제2 그룹은 제2 스캔 이벤트(411)에서 스캐닝될 수 있다. 메모리 셀의 제3 그룹은 제3 스캔 이벤트(412)에서 스캐닝될 수 있다. 메모리 셀의 제4 그룹은 제4 스캔 이벤트(413)에서 스캐닝될 수 있다. 일례에서, 메모리 셀의 단지 하나의 그룹은 한 번에, 또는 시간 간격(예컨대, 1초 등)으로 스캐닝된다. 임계 구역(404)이 없는 경우, 메모리 셀의 제1, 제2, 제3 및 제4 그룹의 각각은 제4 스캔 이벤트(413)에서 스캔 임계치(408)로 스캐닝될 것이다.
도 2 내지 도 4의 스캔 이벤트와 유사하게, 메모리 셀의 그룹은 판독 카운트가 특정 임계치에 도달할 때, 또는 원시 비트 오류율(RBER), 판독 방해 오류, 또는 하나 이상의 다른 표시가 스캔 이벤트에 응답하여 임계치에 도달할 때 폴딩되거나, 리프레시될 수 있다. 특정 예에서, 판독 카운트 단독으로 스캔 이벤트를 트리거링하기 위해 사용되는 경우, 도 2 내지 도 4의 예에서의 스캔 이벤트는 폴드 이벤트로 교체될 수 있다. 다른 예에서, 도 2 내지 도 4의 판독 카운트 메트릭은 스캔 이벤트에 응답하여 RBER, 판독 방해 오류, 또는 하나 이상의 다른 표시로 교체될 수 있다.
NAND 스케일링으로 인해, 블록 크기가 증가하고 있다. 결과적으로, 스캐닝되기 위해 요구된 페이지 수가 계속 증가하여, 다수의 스캔 또는 폴드가 동시에 트리거링될 수 있는 가능성이 증가한다. 게다가, QLC NAND가 판독 방해 능력이 적기 때문에(예컨대, SLC/MLC/TLC 대응 제품보다), 이러한 메모리는 스캔 또는 폴드를 더 자주 트리거링할 수 있다. 스캔 및 폴드 노력이 증가함에 따라, 판독 집약적 작업량 하에서 디바이스 성능이 영향을 받을 수 있다. 그에 따라, 빈번한 성능 병목 현상을 회피하기 위해 스캔 및 폴드 이벤트가 분배되어야 한다. 일례에서, QLC NAND에 대한 타깃 스캔 이벤트 임계치는 100k 판독을 포함할 수 있다. 조정된 스캔 이벤트 임계치는 예를 들면, 타깃 스캔 이벤트 임계치의 75%(예컨대, 75k 판독)를 포함할 수 있고, 스태거링된 스캔 이벤트 임계치는 타깃 스캔 이벤트 임계치의 예를 들면, 75%, 83.3%, 91.6%, 등(예컨대, 75k 판독, 83.3k 판독, 91.6k 판독, 등)을 포함할 수 있다. 일례에서, 랜덤 스캔 이벤트 임계치는 스태거링된 스캔 이벤트 임계치 중 하나 이상을 포함할 수 있다. 다른 예에서, 타깃, 조정된, 스태거링된, 또는 랜덤 스캔 이벤트 임계치 중 하나 이상은 하나 이상의 다른 판독 카운트, 등을 포함할 수 있다.
도 5는 메모리 디바이스에서 제 시간에 스캔 이벤트를 분배하기 위해, 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 사용하여, 메모리 셀의 블록 또는 메모리 디바이스의 메모리 셀의 하나 이상의 다른 그룹과 같은, 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 타깃 스캔 이벤트 임계치 미만의 임계치로 조정하는 단계를 포함하는 일 예시적인 방법(500)을 도시한다.
(505)에서, 제1 스캔 이벤트 임계치에서 메모리 셀의 제1 그룹에 대해 제1 스캔 이벤트가 스케줄링될 수 있다. 제1 스캔 이벤트 임계치는 타깃 스캔 이벤트 임계치, 또는 타깃 스캔 이벤트 임계치 미만의 하나 이상의 임계치를 포함할 수 있다. 일례에서, 제1 스캔 이벤트 임계치는 예를 들면, 프로세싱 디바이스에 의해 타깃 스캔 이벤트 임계치로부터 조정될 수 있다.
(510)에서, 제2 스캔 이벤트 임계치에서 메모리 셀의 제2 그룹에 대해 제2 스캔 이벤트가 스케줄링될 수 있다. 제2 스캔 이벤트 임계치는 타깃 스캔 이벤트 임계치, 또는 제1 스캔 이벤트 임계치와 상이한, 타깃 스캔 이벤트 임계치 미만의 하나 이상의 임계치를 포함할 수 있다.
일례에서, 메모리 셀의 제1 및 제2 그룹은 메모리 셀 당 동일한 비트 용량(예컨대, 2개의 블록 QLC, 등)으로 정보를 저장하도록 구성될 수 있다. 동시에, 메모리 셀의 제1 및 제2 그룹의 메모리 셀에 대한 비트 용량은 복수의 레벨 중 선택 가능한 하나일 수 있다. 예를 들면, 메모리 셀의 제1 및 제2 그룹은 SLC, MLC, TLC, 또는 QLC를 선택적으로 포함할 수 있다. 상이한 레벨 셀은 상이한 스캔 이벤트 임계치를 포함할 수 있다. 일례에서, 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 조정하는 것은 스캔 이벤트를 일관되고 사용량이 많은(예컨대, 고 대역폭 동작, 테스트 조건, 등) 기간 동안과 같은, 메모리 디바이스에서 제 시간에 분배하기 위해 그 레벨의 다른 메모리 셀에 대해 특정 레벨에 대한 스캔 이벤트 임계치를 조정하는 것을 언급할 수 있다. 이것은 마모 레벨링, P/E 주기, 또는 온도로 인해 판독 카운트 임계치를 조정하는 것과 상이하다. 이 조정은 데이터 보존을 보장하기 위해 행해진다. 일례에서, 이 조정은 명시된 시간 기간 내에 다수의 스캔 이벤트를 회피하기 위해 행해질 수 있어서, 메모리 디바이스에서 제 시간에 스캔 또는 폴드 이벤트를 분배함으로써 디바이스 성능을 개선한다.
도 6은 기계로 하여금 본 명세서에서 논의된 방법 중 임의의 하나 이상을 수행하게 하기 위한 명령어의 세트를 실행할 수 있는 컴퓨터 시스템(600)의 일 예시적인 기계를 도시한다. 일부 구현에서, 컴퓨터 시스템(600)은 메모리 시스템(예컨대, 도 1의 메모리 시스템(110))을 포함하거나, 메모리 시스템을 이용하는 호스트 시스템(예컨대, 도 1의 호스트 시스템(120))에 대응할 수 있고, 또는 제어기의 동작을 수행하는데(예컨대, 운영 체제를 실행하여, 도 1의 스캔 이벤트 구성요소(113)에 대응하는 동작을 수행하는데) 사용될 수 있다. 대안적인 구현에서, 기계는 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷에서 다른 기계에 연결(예컨대, 네트워크 연결)될 수 있다. 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계의 역할로 동작하거나, 피어-투-피어(또는 분산) 네트워크 환경에서 피어 기계로 동작하거나, 또는 클라우드 컴퓨팅 인프라 또는 환경에서 서버 또는 클라이언트 기계로 동작할 수 있다.
기계는 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인 휴대 정보 단말기(PDA), 휴대폰, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 이 기계에서 취해질 조치를 지정하는 명령어의 세트(순차적 또는 기타)를 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계가 예시되어 있지만, "기계"라는 용어는 본 명세서에서 논의된 방법 중 임의의 하나 이상을 수행하기 위해 명령어의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 임의의 기계 집합을 포함하는 것으로 간주되어야 한다.
예시적인 컴퓨터 시스템(600)은 버스(630)를 통해 서로 통신하는, 프로세싱 디바이스(602), 주 메모리(604)(예컨대, 판독 전용 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM), 예를 들면, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM), 등), 정적 메모리(606)(예컨대, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM), 등) 및 데이터 저장 시스템(618)을 포함한다.
프로세싱 디바이스(602)는 마이크로프로세서, 중앙 처리 유닛 등과 같은 하나 이상의 범용 프로세싱 디바이스를 나타낸다. 보다 구체적으로, 프로세싱 디바이스는 복잡 명령어의 세트 컴퓨팅(CISC) 마이크로프로세서, 축소 명령어의 세트 컴퓨팅(RISC) 마이크로프로세서, 매우 긴 명령어(VLIW) 마이크로프로세서, 또는 다른 명령어의 세트를 구현하는 프로세서, 또는 명령어의 세트의 조합을 구현하는 프로세서일 수 있다. 프로세싱 디바이스(602)는 또한 주문형 집적 회로(ASIC), 전계 프로그래밍 가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스일 수 있다. 프로세싱 디바이스(602)는 본 명세서에서 논의된 동작 및 단계를 수행하기 위한 명령어(626)를 실행하도록 구성된다. 컴퓨터 시스템(600)은 네트워크(620)를 통해 통신하기 위한 네트워크 인터페이스 디바이스(608)를 더 포함할 수 있다.
데이터 저장 시스템(618)은 본 명세서에 설명된 방법 또는 기능 중 임의의 하나 이상을 구현하는 하나 이상의 명령어의 세트 또는 소프트웨어(626)를 저장하는 기계 판독 가능한 저장 매체(624)(컴퓨터 판독 가능한 매체라고도 지칭됨)를 포함할 수 있다. 명령어(626)는 또한 컴퓨터 시스템(600)에 의해 실행되는 동안 주 메모리(604) 내에 및/또는 프로세싱 디바이스(602) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 주 메모리(604) 및 프로세싱 디바이스(602)는 또한 기계 판독 가능한 매체를 구성한다. 기계 판독 가능한한 저장 매체(624), 데이터 저장 시스템(618), 및/또는 주 메모리(604)는 도 1의 메모리 시스템(110)에 대응할 수 있다.
일 구현에서, 명령어(626)는 기록 파라미터 취급기(예컨대, 도 1의 스캔 이벤트 구성요소(113))에 대응하는 기능을 구현하기 위한 명령어를 포함한다. 기계 판독 가능한 저장 매체(624)는 예시적인 구현에서 단일 매체인 것으로 도시되어 있지만, "기계 판독 가능한 저장 매체"라는 용어는 하나 이상의 명령어의 세트를 저장하는 단일 매체 또는 다수의 매체를 포함하는 것으로 간주되어야 한다. "기계 판독 가능한 저장 매체"라는 용어는 또한 기계에 의해 실행될 명령어의 세트를 저장하거나 인코딩할 수 있고 기계로 하여금 본 발명의 방법 중 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주된다. 따라서 "기계 판독 가능한 저장 매체"라는 용어는 솔리드 스테이트 메모리, 광학 매체 및 자기 매체를 포함하지만 이들로 제한되지는 않는 것으로 간주된다.
전술한 상세한 설명의 일부 부분은 컴퓨터 메모리 내의 데이터 비트에 대한 연산을 나타내는 알고리즘 및 상징적 표현의 관점에서 제시되었다. 이러한 알고리즘 설명 및 표현은 데이터 처리 기술 분야에 통상의 지식을 가진 자가 자신의 일의 본질을 이 기술 분야에 통상의 지식을 가진 다른 자에게 가장 효과적으로 전달하기 위해 사용하는 방식이다. 알고리즘은 여기에서 일반적으로 원하는 결과를 초래하는 일관된 동작 시퀀스로 고려된다. 연산은 물리량의 물리적 조작을 요구하는 것이다. 반드시 그런 것은 아니지만 통상적으로 이러한 양은 저장, 결합, 비교 및 다른 조작이 가능한 전기 또는 자기 신호의 형태를 취한다. 주로 일반적으로 사용된다는 이유로 이러한 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 지칭하는 것이 편리한 것으로 입증되었다.
그러나, 이들 용어 및 유사한 용어는 모두 적절한 물리량과 연관되어야 하며 이러한 양에 적용된 편리한 라벨일 뿐이라는 것을 명심해야 한다. 본 발명은 컴퓨터 시스템의 레지스터 및 메모리 내 물리적(전자적) 양으로 표현된 데이터를 컴퓨터 시스템의 메모리 또는 레지스터 또는 다른 이러한 정보 저장 시스템 내 물리적 양으로 유사하게 표현된 다른 데이터로 조작하고 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스를 언급할 수 있다.
본 발명은 또한 본 명세서의 동작을 수행하기 위한 디바이스에 관한 것이다. 이 디바이스는 의도된 목적을 위해 특별히 구성될 수 있고 또는 이 디바이스는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성된 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 컴퓨터 시스템 버스에 각각 연결된, 플로피 디스크, 광학 디스크, CD-ROM, 및 자기 광학 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 전자 명령어를 저장하기에 적합한 임의의 유형의 매체 등을 포함하는 임의의 유형의 디스크를 포함하지만 이로 제한되지 않는 컴퓨터 판독 가능한 저장 매체에 저장될 수 있다.
본 명세서에 제시된 알고리즘 및 디스플레이는 본질적으로 임의의 특정 컴퓨터 또는 다른 디바이스와 관련이 없다. 다양한 범용 시스템이 본 명세서의 내용에 따라 프로그램과 함께 사용될 수 있고, 또는 본 방법을 수행하기 위해 보다 전문화된 디바이스를 구성하는 것이 편리한 것으로 입증될 수 있다. 이러한 다양한 시스템에 대한 구조는 하기의 설명에 제시된 바와 같이 나타날 것이다. 또한, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본 명세서에 설명된 발명의 내용을 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있는 것으로 이해된다.
본 발명은 본 발명에 따른 프로세스를 수행하도록 컴퓨터 시스템(또는 다른 전자 디바이스)을 프로그래밍하기 위해 사용될 수 있는 명령어를 저장한 기계 판독 가능한 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 기계 판독 가능한 매체는 기계(예컨대, 컴퓨터)에 의해 판독 가능한한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 일부 구현에서, 기계 판독 가능한(예컨대, 컴퓨터 판독 가능한) 매체는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스, 등과 같은 기계(예컨대, 컴퓨터 판독 가능한) 저장 매체를 포함한다.
전술한 명세서에서, 본 발명의 구현은 특정 예시적인 구현을 참조하여 설명되었다. 이하의 청구 범위에 제시된 본 발명의 구현의 더 넓은 사상 및 범위를 벗어나지 않고 다양한 정정이 이루어질 수 있음이 명백할 것이다. 따라서, 본 명세서 및 도면은 본 발명을 제한하는 의미가 아니라 예시하는 의미로 간주되어야 한다.
실시예
주제(예컨대, 시스템)의 일례(예컨대, "실시예 1")는 메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 그룹은 메모리 셀 당 동일한 비트 용량으로 정보를 저장하도록 구성된 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스; 및 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함할 수 있고, 프로세싱 디바이스는 메모리 디바이스에서 제 시간에 스캔 이벤트를 분배하기 위해 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만의 임계치로 조정하도록 구성된다.
실시예 2에서, 실시예 1의 주제는 메모리 셀의 그룹에 대한 스캔 이벤트가 메모리 셀의 그룹에 대한 판독 방해 스캔을 포함하도록 선택적으로 구성될 수 있으며, 스캔 이벤트 임계치는 판독 카운트 임계치를 포함하고, 메모리 셀의 제1 그룹에 대한 타깃 스캔 이벤트 임계치는 메모리 셀의 제2 그룹에 대한 타깃 스캔 이벤트 임계치와 동일하다.
실시예 3에서, 실시예 1 및 2 중 임의의 하나 이상의 주제는 메모리 셀의 제1 및 제2 그룹의 메모리 셀에 대한 비트 용량이 복수의 레벨 중 선택 가능한 하나가 되도록 선택적으로 구성될 수 있으며, 메모리 셀의 그룹은 메모리 셀의 블록을 포함하고, 각각의 블록은 메모리 셀의 다수의 페이지를 포함한다.
실시예 4에서, 실시예 1 내지 3 중 임의의 하나 이상의 주제는 메모리 셀의 그룹에 대한 스캔 이벤트 임계치가 예비 조건에 도달한 후의 시간을 포함하도록 선택적으로 구성될 수 있고, 예비 조건은 판독 카운트 임계치 또는 타깃 스캔 이벤트 임계치 미만의 메모리 셀의 그룹에 대한 서브 임계치를 포함한다.
실시예 5에서, 실시예 1 내지 4 중 임의의 하나 이상의 주제는 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 조정하기 위해, 프로세싱 디바이스가 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만이거나 같은 스캔 이벤트 임계치의 범위 내에서 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 무작위로 할당하거나, 메모리 셀의 제2 그룹에 대한 스캔 이벤트 임계치와 관련하여 메모리 셀의 제1 그룹에 대한 스캔 이벤트 임계치를 스태거링하도록 구성되도록 선택적으로 구성될 수 있다.
실시예 6에서, 실시예 1 내지 5 중 임의의 하나 이상의 주제는 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 조정하기 위해, 프로세싱 디바이스가 메모리 셀의 제1 그룹의 판독의 수에 더하여, 메모리 셀의 제1 그룹에 대한 판독 카운트를 제1 양만큼 증가시키도록 구성되도록 선택적으로 구성될 수 있고, 메모리 셀의 제1 그룹에 대한 스캔 이벤트 임계치는 증가된 판독 카운트를 고려하여 유효 스캔 이벤트 임계치를 포함한다.
실시예 7에서, 실시예 1 내지 6 중 임의의 하나 이상의 주제는 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 조정하기 위해, 프로세싱 디바이스가 스캔 이벤트 상한 임계치보다 낮은 스캔 이벤트 서브 임계치에 도달한 후의 상이한 시간에 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하도록 구성되도록 선택적으로 구성될 수 있다.
실시예 8에서, 실시예 1 내지 7 중 임의의 하나 이상의 주제는 프로세싱 디바이스가 조정된 스캔 이벤트 임계치에서 메모리 셀의 제1 또는 제2 그룹 중 하나에 대해 판독 방해 스캔을 포함하는 스캔 이벤트를 수행하고; 스캔 이벤트에 응답하여 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 폴드 이벤트를 스케줄링하도록 구성되도록 선택적으로 구성될 수 있다.
주제(예컨대, 방법)의 일례(예컨대, "실시예 9")는 프로세싱 디바이스를 사용하여, 메모리 디바이스에서 제 시간에 스캔 이벤트를 분배하기 위해 메모리 디바이스의 메모리 셀의 제1 그룹 또는 메모리 셀의 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만의 임계치로 조정하는 단계를 포함할 수 있고, 메모리 디바이스는 메모리 셀의 제1 및 제2 그룹을 포함하는 메모리 셀의 다수의 그룹을 포함하며, 메모리 셀의 제1 및 제2 그룹은 메모리 셀 당 동일한 비트 용량으로 정보를 저장하도록 구성된다.
실시예 10에서, 실시예 9의 주제는 메모리 셀의 그룹에 대한 스캔 이벤트가 메모리 셀의 그룹에 대한 판독 방해 스캔을 포함하도록 선택적으로 구성될 수 있으며, 스캔 이벤트 임계치는 판독 카운트 임계치를 포함하고, 메모리 셀의 제1 그룹에 대한 타깃 스캔 이벤트 임계치는 메모리 셀의 제2 그룹에 대한 타깃 스캔 이벤트 임계치와 동일하다.
실시예 11에서, 실시예 9 및 10 중 임의의 하나 이상의 주제는 메모리 셀의 제1 및 제2 그룹의 메모리 셀에 대한 비트 용량이 복수의 레벨 중 선택 가능한 하나가 되도록 선택적으로 구성될 수 있으며, 메모리 셀의 그룹은 메모리 셀의 블록을 포함하고, 각각의 블록은 메모리 셀의 다수의 페이지를 포함한다.
실시예 12에서, 실시예 9 내지 11 중 임의의 하나 이상의 주제는 메모리 셀의 그룹에 대한 스캔 이벤트 임계치가 예비 조건에 도달한 후의 시간을 포함하도록 선택적으로 구성될 수 있고, 예비 조건은 판독 카운트 임계치 또는 타깃 스캔 이벤트 임계치 미만의 메모리 셀의 그룹에 대한 서브 임계치를 포함한다.
실시예 13에서, 실시예 9 내지 12 중 임의의 하나 이상의 주제는 스캔 이벤트 임계치를 조정하는 단계가 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만이거나 같은 스캔 이벤트 임계치의 범위 내에서 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 무작위로 할당하는 단계; 또는 메모리 셀의 제2 그룹에 대한 스캔 이벤트 임계치에 대한 메모리 셀의 제1 그룹에 대한 스캔 이벤트 임계치를 스태거링하는 단계를 포함하도록 선택적으로 구성될 수 있다.
실시예 14에서, 실시예 9 내지 13 중 임의의 하나 이상의 주제는 스캔 이벤트 임계치를 조정하는 단계가 메모리 셀의 제1 그룹의 판독의 수에 더하여, 메모리 셀의 제1 그룹에 대한 판독 카운트를 제1 양만큼 증가시키는 단계를 포함하도록 선택적으로 구성될 수 있고, 메모리 셀의 제1 그룹에 대한 스캔 이벤트 임계치는 증가된 판독 카운트를 고려하여 유효 스캔 이벤트 임계치를 포함한다.
실시예 15에서, 실시예 9 내지 14 중 임의의 하나 이상의 주제는 스캔 이벤트 임계치를 조정하는 단계가 스캔 이벤트 상한 임계치보다 낮은 스캔 이벤트 서브 임계치에 도달한 후의 상이한 시간에 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하는 단계를 포함하도록 선택적으로 구성될 수 있다.
실시예 16에서, 실시예 9 내지 15 중 임의의 하나 이상의 주제는 조정된 스캔 이벤트 임계치에서 메모리 셀의 제1 또는 제2 그룹 중 하나에 대해 판독 방해 스캔을 포함하는 스캔 이벤트를 수행하는 단계; 및 스캔 이벤트에 응답하여 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 폴드 이벤트를 스케줄링하는 단계를 포함하도록 선택적으로 구성될 수 있다.
주제(예컨대, 시스템)의 일례(예컨대, "실시예 17")는 메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 그룹은 메모리 셀 당 동일한 비트 용량으로 정보를 저장하도록 구성된 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스; 및 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함할 수 있고, 프로세싱 디바이스는 메모리 디바이스에서 제 시간에 스캔 이벤트를 분배하기 위해 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만의 임계치로 조정하도록 구성된다.
실시예 18에서, 실시예 17의 주제는 메모리 셀의 그룹에 대한 폴드 이벤트가 메모리 셀의 그룹으로부터 메모리 셀의 또 다른 그룹으로 데이터를 기록하는 것을 포함하도록 선택적으로 구성될 수 있으며, 폴드 이벤트 임계치는 판독 카운트 임계치를 포함하고, 메모리 셀의 제1 그룹에 대한 타깃 폴드 이벤트 임계치는 메모리 셀의 제2 그룹에 대한 타깃 폴드 이벤트 임계치와 동일하다.
실시예 19에서, 실시예 17 및 18 중 임의의 하나 이상의 주제는 메모리 셀의 제1 및 제2 그룹의 메모리 셀에 대한 비트 용량이 복수의 레벨 중 선택 가능한 하나가 되도록 선택적으로 구성될 수 있고, 메모리 셀의 그룹은 메모리 셀의 블록을 포함하며, 각각의 블록은 메모리 셀의 다수의 페이지를 포함한다.
실시예 20에서, 실시예 17 내지 19 중 임의의 하나 이상의 주제는 메모리 셀의 그룹에 대한 폴드 이벤트 임계치가 예비 조건에 도달한 후의 시간을 포함하도록 선택적으로 구성될 수 있고, 예비 조건은 판독 카운트 임계치 또는 타깃 폴드 이벤트 임계치 미만의 메모리 셀의 그룹에 대한 서브 임계치를 포함한다.
주제(예컨대, 시스템)의 일례(예컨대, "실시예 21")는 메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 그룹은 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스, 및 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함할 수 있고, 프로세싱 디바이스는 스캔 이벤트 상한 임계치보다 낮은 스캔 이벤트 서브 임계치에 도달한 후의 상이한 시간에 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하도록 구성된다.
주제(예컨대, 시스템)의 일례(예컨대, "실시예 22")는 메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 그룹은 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스, 및 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함할 수 있고, 프로세싱 디바이스는 메모리 셀의 제1 그룹의 판독의 수에 더하는 것과는 상이한 제1 양만큼 메모리 셀의 제1 그룹에 대한 판독 카운트를 증가시키도록 구성된다.
주제(예컨대, 시스템)의 일례(예컨대, "실시예 23")는 메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 그룹은 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스; 및 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함할 수 있고, 프로세싱 디바이스는 상이한 폴드 이벤트 임계치에서 메모리 셀의 제1 및 제2 그룹에 대한 폴드 이벤트를 스케줄링하도록 구성된다.
실시예 24에서, 실시예 23의 주제는 메모리 셀의 제1 및 제2 그룹에 대한 폴드 이벤트를 스케줄링하기 위해, 프로세싱 디바이스가 폴드 이벤트 상한 임계치보다 낮은 폴드 이벤트 서브 임계치에 도달한 후의 상이한 시간에 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하도록 구성되도록 선택적으로 구성될 수 있다.
실시예 25에서, 실시예 23 및 24 중 임의의 하나 이상의 주제는 폴드 이벤트 임계치가 메모리 셀의 제1 및 제2 그룹에 대한 판독 카운트 임계치이거나, 판독 방해 스캔에 응답하여 메모리 셀의 제1 및 제2 그룹의 판독 방해 스캔 오류율 임계치가 되도록 선택적으로 구성될 수 있다.
주제(예컨대, 시스템)의 일례(예컨대, "실시예 26")는 메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 그룹은 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스; 및 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함할 수 있고, 프로세싱 디바이스는 상이한 스캔 이벤트 임계치에서 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하도록 선택적으로 구성된다.
실시예 27에서, 실시예 26의 주제는 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하기 위해, 프로세싱 디바이스가 제1 스캔 이벤트 임계치에서 메모리 셀의 제1 그룹에 대한 스캔 이벤트를 스케줄링하고; 제1 스캔 이벤트 임계치와 상이한 제2 스캔 이벤트 임계치에서 메모리 셀의 제2 그룹에 대한 스캔 이벤트를 스케줄링하도록 구성되도록 선택적으로 구성될 수 있다.
주제(예컨대, 시스템 또는 장치)의 일례(예컨대, "실시예 28")는 실시예 1 내지 27의 기능 또는 방법 중 임의의 하나 이상의 임의의 부분을 수행하기 위한 "수단", 또는 기계에 의해 수행될 때, 기계로 하여금 실시예 1 내지 27의 기능 또는 방법 중 임의의 하나 이상의 임의의 부분을 수행하게 하는 명령어를 포함하는 "기계 판독 가능한 매체"(예컨대, 비일시적, 등)를 포함하도록 실시예 1 내지 27 중 임의의 하나 이상의 임의의 부분 또는 임의의 부분의 조합을 선택적으로 조합할 수 있다.
Claims (15)
- 시스템으로서,
메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 상기 그룹은 메모리 셀 당 동일한 비트 용량으로 정보를 저장하도록 구성된 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스; 및
상기 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함하고, 상기 프로세싱 디바이스는:
상기 메모리 디바이스에서 제 시간에 스캔 이벤트를 분배하기 위해 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 상기 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만의 임계치로 조정하도록 구성되는, 시스템. - 제1항에 있어서, 메모리 셀의 그룹에 대한 스캔 이벤트는 상기 메모리 셀의 그룹에 대한 판독 방해 스캔을 포함하고, 상기 스캔 이벤트 임계치는 판독 카운트 임계치를 포함하고, 그리고
상기 메모리 셀의 제1 그룹에 대한 상기 타깃 스캔 이벤트 임계치는 상기 메모리 셀의 제2 그룹에 대한 상기 타깃 스캔 이벤트 임계치와 동일한, 시스템. - 제1항에 있어서, 상기 메모리 셀의 제1 및 제2 그룹의 메모리 셀에 대한 상기 비트 용량은 복수의 레벨 중 선택 가능한 하나이고, 그리고
상기 메모리 셀의 그룹은 메모리 셀의 블록을 포함하고, 각각의 블록은 메모리 셀의 다수의 페이지를 포함하는, 시스템. - 제1항에 있어서, 메모리 셀의 그룹에 대한 상기 스캔 이벤트 임계치는 예비 조건에 도달한 후의 시간을 포함하고, 그리고
상기 예비 조건은 판독 카운트 임계치 또는 상기 타깃 스캔 이벤트 임계치 미만의 상기 메모리 셀의 그룹에 대한 서브 임계치를 포함하는, 시스템. - 제1항에 있어서, 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 상기 스캔 이벤트 임계치를 조정하기 위해, 상기 프로세싱 디바이스는:
상기 메모리 셀의 제1 및 제2 그룹에 대한 상기 타깃 스캔 이벤트 임계치 미만이거나 같은 스캔 이벤트 임계치의 범위 내에서 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대해 상기 스캔 이벤트 임계치를 무작위로 할당하거나, 또는
상기 메모리 셀의 제2 그룹에 대한 상기 스캔 이벤트 임계치와 관련하여 상기 메모리 셀의 제1 그룹에 대한 상기 스캔 이벤트 임계치를 스태거링(staggering)하도록 구성되는, 시스템. - 제1항에 있어서, 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 조정하기 위해, 상기 프로세싱 디바이스는:
상기 메모리 셀의 제1 그룹의 판독의 수에 더하여, 상기 메모리 셀의 제1 그룹에 대한 판독 카운트를 제1 양만큼 증가시키도록 구성되고,
상기 메모리 셀의 제1 그룹에 대한 상기 스캔 이벤트 임계치는 상기 증가된 판독 카운트를 고려하여 유효 스캔 이벤트 임계치를 포함하는, 시스템. - 제1항에 있어서, 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 조정하기 위해, 상기 프로세싱 디바이스는:
스캔 이벤트 상한 임계치보다 낮은 스캔 이벤트 서브 임계치에 도달한 후의 상이한 시간에 상기 메모리 셀의 제1 및 제2 그룹에 대한 스캔 이벤트를 스케줄링하도록 구성되는, 시스템. - 제1항에 있어서, 상기 프로세싱 디바이스는:
상기 조정된 스캔 이벤트 임계치에서 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대해 판독 방해 스캔을 포함하는 스캔 이벤트를 수행하고; 그리고
상기 스캔 이벤트에 응답하여 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 폴드 이벤트(fold event)를 스케줄링하도록 구성되는, 시스템. - 방법으로서,
메모리 디바이스에서 제 시간에 조정 스캔 이벤트를 분배하기 위해 프로세싱 디바이스를 사용하여, 상기 메모리 디바이스의 메모리 셀의 제1 그룹 또는 메모리 셀의 제2 그룹 중 하나에 대한 스캔 이벤트 임계치를 상기 메모리 셀의 제1 및 제2 그룹에 대한 타깃 스캔 이벤트 임계치 미만의 임계치로 조정하는 단계를 포함하되,
상기 메모리 디바이스는 상기 메모리 셀의 제1 및 제2 그룹을 포함하는 메모리 셀의 다수의 그룹을 포함하고, 상기 메모리 셀의 제1 및 제2 그룹은 메모리 셀 당 동일한 비트 용량으로 정보를 저장하도록 구성되는, 방법. - 제9항에 있어서, 상기 스캔 이벤트 임계치를 조정하는 단계는:
상기 메모리 셀의 제1 및 제2 그룹에 대한 상기 타깃 스캔 이벤트 임계치 미만이거나 같은 스캔 이벤트 임계치의 범위 내에서 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대해 상기 스캔 이벤트 임계치를 무작위로 할당하는 단계; 또는
상기 메모리 셀의 제2 그룹에 대한 상기 스캔 이벤트 임계치와 관련하여 상기 메모리 셀의 제1 그룹에 대한 상기 스캔 이벤트 임계치를 스태거링하는 단계를 포함하는, 방법. - 제9항에 있어서, 상기 스캔 이벤트 임계치를 조정하는 단계는:
상기 메모리 셀의 제1 그룹의 판독의 수에 더하여, 상기 메모리 셀의 제1 그룹에 대한 판독 카운트를 제1 양만큼 증가시키는 단계를 포함하되,
상기 메모리 셀의 제1 그룹에 대한 상기 스캔 이벤트 임계치는 상기 증가된 판독 카운트를 고려하여 유효 스캔 이벤트 임계치를 포함하는, 방법. - 제9항에 있어서,
상기 조정된 스캔 이벤트 임계치에서 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대해 판독 방해 스캔을 포함하는 스캔 이벤트를 수행하는 단계; 및
상기 스캔 이벤트에 응답하여 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 폴드 이벤트를 스케줄링하는 단계를 포함하는, 방법. - 시스템으로서,
메모리 셀의 다수의 그룹을 포함하는 메모리 디바이스로서, 상기 그룹은 메모리 셀 당 동일한 비트 용량으로 정보를 저장하도록 구성된 메모리 셀의 제1 그룹 및 메모리 셀의 제2 그룹을 포함하는, 상기 메모리 디바이스; 및
상기 메모리 디바이스에 동작 가능하게 결합된 프로세싱 디바이스를 포함하고, 상기 프로세싱 디바이스는:
상기 메모리 디바이스에서 제 시간에 폴드 이벤트를 분배하기 위해 상기 메모리 셀의 제1 또는 제2 그룹 중 하나에 대한 폴드 이벤트 임계치를 상기 메모리 셀의 제1 및 제2 그룹에 대한 타깃 폴드 이벤트 임계치 미만의 임계치로 조정하도록 구성되는, 시스템. - 제13항에 있어서, 메모리 셀의 그룹에 대한 폴드 이벤트는 상기 메모리 셀의 그룹으로부터 메모리 셀의 또 다른 그룹으로 데이터를 기록하는 것을 포함하되,
상기 폴드 이벤트 임계치는 판독 카운트 임계치를 포함하고, 그리고
상기 메모리 셀의 제1 그룹에 대한 상기 타깃 폴드 이벤트 임계치는 상기 메모리 셀의 제2 그룹에 대한 상기 타깃 폴드 이벤트 임계치와 동일한, 시스템. - 제13항에 있어서, 메모리 셀의 그룹에 대한 상기 폴드 이벤트 임계치는 예비 조건에 도달한 후의 시간을 포함하고, 그리고
상기 예비 조건은 판독 카운트 임계치 또는 상기 타깃 폴드 이벤트 임계치 미만의 상기 메모리 셀의 그룹에 대한 서브 임계치를 포함하는, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/138,334 | 2018-09-21 | ||
US16/138,334 US10691377B2 (en) | 2018-09-21 | 2018-09-21 | Adjusting scan event thresholds to mitigate memory errors |
PCT/US2019/051948 WO2020061323A1 (en) | 2018-09-21 | 2019-09-19 | Adjusted scan event thresholds |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210046080A true KR20210046080A (ko) | 2021-04-27 |
Family
ID=69883366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217011067A KR20210046080A (ko) | 2018-09-21 | 2019-09-19 | 조정된 스캔 이벤트 임계치 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10691377B2 (ko) |
EP (1) | EP3853856A4 (ko) |
KR (1) | KR20210046080A (ko) |
CN (2) | CN114911422B (ko) |
WO (1) | WO2020061323A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11590333B2 (en) | 2018-01-22 | 2023-02-28 | Saint-Gobain Performance Plastics Corporation | Tubular coupling |
US10691377B2 (en) | 2018-09-21 | 2020-06-23 | Micron Technology, Inc. | Adjusting scan event thresholds to mitigate memory errors |
US11334436B2 (en) * | 2019-08-14 | 2022-05-17 | Dell Products L.P. | GPU-based advanced memory diagnostics over dynamic memory regions for faster and efficient diagnostics |
US11062756B2 (en) | 2019-10-14 | 2021-07-13 | Western Digital Technologies, Inc. | Extending operating temperature of storage device |
CN114327240A (zh) * | 2020-09-29 | 2022-04-12 | 慧荣科技股份有限公司 | 计算机可读存储介质、闪存存储器的数据存储方法及装置 |
US11500578B2 (en) * | 2021-04-19 | 2022-11-15 | Micron Technology, Inc. | Memory access threshold based memory management |
US11693587B2 (en) * | 2021-08-17 | 2023-07-04 | Micron Technology, Inc. | System driven pass-through voltage adjustment to improve read disturb in memory devices |
TWI796882B (zh) * | 2021-12-20 | 2023-03-21 | 群聯電子股份有限公司 | 讀取干擾檢查方法、記憶體儲存裝置及記憶體控制電路單元 |
US11922029B2 (en) * | 2022-06-02 | 2024-03-05 | Micron Technology, Inc. | Modified read counter incrementing scheme in a memory sub-system |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076203A1 (ja) | 2004-02-03 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 |
US7549014B1 (en) * | 2005-04-22 | 2009-06-16 | Network Appliance, Inc. | Method and apparatus for coalesced multi-block read |
JP4414409B2 (ja) * | 2006-04-24 | 2010-02-10 | 富士通株式会社 | ディスク装置、ディスク制御方法及びプログラム |
CN101645309B (zh) * | 2008-08-05 | 2013-05-22 | 威刚科技(苏州)有限公司 | 非挥发性存储装置及其控制方法 |
US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
US7818525B1 (en) * | 2009-08-12 | 2010-10-19 | Texas Memory Systems, Inc. | Efficient reduction of read disturb errors in NAND FLASH memory |
CN102955749A (zh) * | 2011-08-26 | 2013-03-06 | 练新 | 外部设备扩展方法及外部设备 |
EP2764440B1 (en) * | 2011-10-07 | 2021-02-17 | Hitachi, Ltd. | Storage system |
TWI430092B (zh) | 2011-10-27 | 2014-03-11 | Silicon Motion Inc | 三階儲存單元的快閃記憶體裝置及其控制方法 |
US20130343131A1 (en) * | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US8839073B2 (en) * | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
US20140136884A1 (en) * | 2012-11-15 | 2014-05-15 | Lsi Corporation | Read disturb handling for non-volatile solid state media |
US9053808B2 (en) * | 2012-06-21 | 2015-06-09 | Sandisk Technologies Inc. | Flash memory with targeted read scrub algorithm |
US8930778B2 (en) * | 2012-11-15 | 2015-01-06 | Seagate Technology Llc | Read disturb effect determination |
TWI525635B (zh) * | 2013-12-17 | 2016-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US9361182B2 (en) | 2014-05-20 | 2016-06-07 | Transcend Information, Inc. | Method for read disturbance management in non-volatile memory devices |
US9224492B1 (en) * | 2015-02-17 | 2015-12-29 | Phison Electronics Corp. | Memory management method, memory storage device and memory controlling circuit unit |
US9646709B2 (en) | 2015-09-11 | 2017-05-09 | Sandisk Technologies, Llc | Proxy wordline stress for read disturb detection |
TWI599880B (zh) * | 2016-03-22 | 2017-09-21 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
US10691377B2 (en) | 2018-09-21 | 2020-06-23 | Micron Technology, Inc. | Adjusting scan event thresholds to mitigate memory errors |
-
2018
- 2018-09-21 US US16/138,334 patent/US10691377B2/en active Active
-
2019
- 2019-09-19 KR KR1020217011067A patent/KR20210046080A/ko active IP Right Grant
- 2019-09-19 EP EP19862629.3A patent/EP3853856A4/en not_active Withdrawn
- 2019-09-19 CN CN202210609998.XA patent/CN114911422B/zh active Active
- 2019-09-19 CN CN201980070789.9A patent/CN112912959B/zh active Active
- 2019-09-19 WO PCT/US2019/051948 patent/WO2020061323A1/en unknown
-
2020
- 2020-05-19 US US16/878,304 patent/US11269553B2/en active Active
-
2022
- 2022-03-02 US US17/685,102 patent/US11709633B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112912959A (zh) | 2021-06-04 |
WO2020061323A1 (en) | 2020-03-26 |
US20200278814A1 (en) | 2020-09-03 |
US11269553B2 (en) | 2022-03-08 |
CN114911422B (zh) | 2024-10-01 |
CN114911422A (zh) | 2022-08-16 |
US11709633B2 (en) | 2023-07-25 |
CN112912959B (zh) | 2022-06-14 |
US20220188040A1 (en) | 2022-06-16 |
US20200097211A1 (en) | 2020-03-26 |
EP3853856A1 (en) | 2021-07-28 |
EP3853856A4 (en) | 2022-06-29 |
US10691377B2 (en) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112912959B (zh) | 经调整扫描事件阈值 | |
US20220179577A1 (en) | Read count scaling factor for data integrity scan | |
US11056198B2 (en) | Read disturb scan consolidation | |
US10950317B2 (en) | Read disturb scan consolidation | |
CN112053733B (zh) | 故障敏感存储器页面的选择性加速取样 | |
WO2021011202A1 (en) | Self-adaptive read voltage adjustment using boundary error statistics for memories with time-varying error rates | |
US11726869B2 (en) | Performing error control operation on memory component for garbage collection | |
US11543970B2 (en) | Managing dynamic temperature throttling thresholds in a memory subsystem | |
US20210272636A1 (en) | Write operations to mitigate write disturb | |
US20230019910A1 (en) | Limiting hot-cold swap wear leveling | |
US11481119B2 (en) | Limiting hot-cold swap wear leveling | |
CN112346901A (zh) | 具有时变错误率的存储器中的抢先式读取刷新 | |
US11393548B2 (en) | Workload adaptive scans for memory sub-systems | |
US20210004170A1 (en) | Changing of memory components to be used for a stripe based on an endurance condition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |