KR20140093290A - Nand 메모리 내구성을 개선하는 동적 윈도우 - Google Patents

Nand 메모리 내구성을 개선하는 동적 윈도우 Download PDF

Info

Publication number
KR20140093290A
KR20140093290A KR1020147017561A KR20147017561A KR20140093290A KR 20140093290 A KR20140093290 A KR 20140093290A KR 1020147017561 A KR1020147017561 A KR 1020147017561A KR 20147017561 A KR20147017561 A KR 20147017561A KR 20140093290 A KR20140093290 A KR 20140093290A
Authority
KR
South Korea
Prior art keywords
storage device
tev
voltage
flash memory
window
Prior art date
Application number
KR1020147017561A
Other languages
English (en)
Other versions
KR101654030B1 (ko
Inventor
키란 팡갈
라비 제이. 쿠마르
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20140093290A publication Critical patent/KR20140093290A/ko
Application granted granted Critical
Publication of KR101654030B1 publication Critical patent/KR101654030B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/026Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50016Marginal testing, e.g. race, voltage or current testing of retention
    • 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
    • G11C16/00Erasable programmable read-only memories
    • 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/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

NAND(Not And) 메모리 내구성을 개선하기 위해 동적 윈도우를 제공하는 방법들 및 장치가 설명된다. 일 실시예에서, NAND 메모리 장치와 연관되는 프로그램 소거 윈도우는 더 높은 소거 검증(TEV) 전압으로 시작하고 TEV 전압을 현재 사이클 카운트 값에 기초하여 NAND 메모리 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 동적으로 변화된다. 대안적으로, 프로그램 소거 윈도우는 더 높은 프로그램 검증(PV) 전압 및 소거 검증(TEV) 전압으로 시작하고 PV 및 TEV 전압들을 현재 사이클 카운트 값에 기초하여 NAND 메모리 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 동적으로 변화된다. 다른 실시예들이 또한 개시되고 청구된다.

Description

NAND 메모리 내구성을 개선하는 동적 윈도우{DYNAMIC WINDOW TO IMPROVE NAND MEMORY ENDURANCE}
본 개시는 일반적으로 전자 장치의 분야에 관한 것이다. 특히, 본 발명의 일부 실시예들은 일반적으로 NAND(Not And) 메모리 내구성을 개선하는 동적 윈도우의 제공에 관한 것이다.
프로세서들이 그들의 처리 능력들을 증가시킴에 따라, 하나의 관심사는 메모리가 프로세서에 의해 액세스될 수 있는 속도이다. 예를 들어, 데이터를 처리하기 위해, 프로세서는 우선 메모리로부터 데이터를 인출할 필요가 있을 수 있다. 처리의 완료 후에, 결과들은 메모리에 저장될 필요가 있을 수 있다. 따라서, 메모리 속도는 전체 시스템 성능에 직접 영향을 미칠 수 있다.
다른 중요한 고려사항은 전력 소모이다. 예를 들어, 배터리 전력에 의존하는 이동 컴퓨팅 장치들에서, 장치가 이동 동안 동작하는 것을 허용하기 위해 전력 소모를 감소시키는 것은 매우 중요하다. 전력 소모는 또한 과잉 전력 소모가 (예를 들어, 부가 전력 사용, 증가하는 냉각 요건들 등으로 인해) 비용들을 증가시키고, 구성요소 수명을 단축시키고, 장치가 사용될 수 있는 위치들을 제한할 수 있는 등의 이유로 비-이동 컴퓨팅 장치들에 있어서 중요하다.
하드 디스크 드라이브들은 비교적 저비용 저장 해결법을 제공하고 많은 컴퓨팅 장치들에 사용되어 비휘발성 저장을 제공한다. 그러나, 디스크 드라이브가 그것의 디스크들을 비교적 고속으로 회전(spin)시키고 데이터를 판독/기록하기 위해 회전하는 디스크들에 대해 디스크 헤드들을 이동시킬 필요가 있으므로 디스크 드라이브들은 플래시 메모리와 비교했을 때 비교적 많은 전력을 사용한다. 모든 이러한 물리적 이동은 열을 발생시키고 전력 소모를 증가시킨다. 이 때문에, 최고급 이동 장치들은 비휘발성인 플래시 메모리 장치들을 이용하는 쪽으로 이동하고 있다. 또한, 일부 플래시 메모리 장치들은 하드 디스크 드라이브들보다 더 높은 액세스 속도들 및 데이터 전송 속도들을 제공할 수 있다.
NAND 메모리는 비휘발성인 플래시 메모리의 한 타입이다. NAND 메모리는 메모리 카드들, 플래시 드라이브들, 고체 상태 드라이브들, 및 유사한 제품들에 사용될 수 있다. 그러나, 플래시 메모리는 메모리 셀 내의 정보가 사용 불가능해지기 전에 재기록될 수 있는 횟수들, 또는 유한 수의 프로그램 소거 사이클들(program-erase cycles)(전형적으로 P/E 사이클들로 기록됨)에 제한을 갖는다.
상세한 설명은 첨부 도면들을 참조하여 제공된다. 도면들에서, 참조 번호의 가장 좌측 숫자(들)는 참조 번호가 처음 나타나는 도면을 식별한다. 상이한 도면들 내의 동일한 참조 번호들의 사용은 유사 또는 동일한 항목들을 표시한다.
도 1, 도 8, 및 도 9는 본 명세서에 논의되는 다양한 실시예들을 구현하기 위해 이용될 수 있는 컴퓨팅 시스템들의 실시예들의 블록도들을 예시한다.
도 2 및 도 5-도 7은 일부 실시예들에 따른 샘플 그래프들을 예시한다.
도 3은 일부 실시예들에 이용될 수 있는 NAND 셀의 단면을 예시한다.
도 4는 본 발명의 일 실시예에 따른 방법의 흐름도를 예시한다.
이하의 설명에서, 다수의 특정 상세들은 다양한 실시예들의 완전한 이해를 제공하기 위해 설명된다. 그러나, 본 발명의 다양한 실시예들은 특정 상세들 없이 실시될 수 있다. 다른 경우들에서, 공지된 방법들, 절차들, 구성요소들, 및 회로들은 본 발명의 특정 실시예들을 모호하게 하지 않도록 상세히 설명되지 않았다. 게다가, 본 발명의 실시예들의 다양한 양태들은 집적 반도체 회로들("하드웨어"), 하나 이상의 프로그램들("소프트웨어")로 조직되는 컴퓨터 판독가능 명령들, 또는 하드웨어와 소프트웨어의 어떤 조합과 같은 다양한 수단들을 사용하여 수행될 수 있다. 본 개시의 목적들을 위해, "로직"에 대한 참조는 하드웨어, 소프트웨어, 또는 그것의 어떤 조합을 의미할 것이다.
일 실시예에서, 동적 윈도우는 플래시(예를 들어, NAND) 메모리 내구성을 개선하기 위해 이용된다. 프로그램 및 소거 동작들은 부동 게이트 및 활성 영역을 분리하고 전하 트랩 업(charge trap-up)을 야기하는 터널 산화막을 통한 전자 전달을 수반하므로, 플래시 메모리(NAND 또는 NOR 메모리를 포함함)는 유한 수의 프로그램 소거 사이클들(전형적으로 P/E 사이클들로 기록됨)에 의해 제한된다. NAND 메모리는 주위 셀들이 재기록되지 않으면 NAND 메모리 셀을 프로그램하거나 액세스하는 것이 판독되는 셀 근처의 다른 셀들이 시간에 따라 변경되게 할 수 있는 프로그램 또는 판독 장애에 영향을 받을 수도 있다. NAND 플래시 메모리가 갖는 다른 문제는 특정 레벨에 프로그램된 셀이 시간에 따라 전하를 손실시킬 수 있고 판독 동안 다른 레벨에 있는 것으로 나타날 수 있는 전하 손실이다. 이 때문에, 일부 프로세스 및 트림(trim) 변경들은 내구성을 개선하기 위해 수행될 수 있으며, 예를 들어 프로그램 소거 윈도우는 사이클링후 장애(post-cycling disturb) 및 전하 손실 요건들을 충족시키기 위해 설정된다. 그러나, 현재 해결법들은 일부 실시예들에 따라 수행되는 바와 같은 사이클 카운트에 의해 동적으로 변경되거나 시프트 다운(shift down)되는 프로그램 소거 윈도우를 사용하지 않는다. NAND 메모리 부품의 초기 수명 동안 더 작은 윈도우를 갖는 것은 결국 전하 영향 및/또는 트랩 업을 감소시키며, 이는 부품의 전체 내구성을 개선한다. 윈도우를 사이클링에 의해 시프트 다운하는 것은 또한 제로 시간에 더 작은 소거 전압의 사용을 가능하게 함으로써, 일 실시예에서 트랩 업 및 내구성을 개선한다.
일부 실시예들에서, 전하 트랩 업(예컨대 NAND 플래시 셀에서 프로그램-소거 사이클링에 의해 유도됨)은 프로그램 소거 윈도우를 평균 프로그램/소거 사이클들에 의해 블록 또는 다이 상에서 2개의 방법으로 동적으로 변화시키거나 이동시킴으로써 감소된다: (1) 더 높은 소거 검증(TEV) 전압으로 시작하고 그것을 후속 사이클들에 의해 낮춤으로써 프로그램 소거 윈도우를 동적으로 변화시키는 것; 및/또는 (2) 더 높은 프로그램 검증(PV) 및 소거 검증(TEV) 전압으로 시작하고 그것을 후속 사이클들에 의해 내리며, 예를 들어 둘 사이의 델타를 고정되게 유지함으로써 윈도우를 동적으로 이동시키는 것. 전자의 경우에, 트랩 업 개선은 부품의 초기 수명 동안 더 낮은 소거 웰 전압(Vwell) 및 사이클링 전하 영향에서 기인한다. 후자의 경우에, 트랩 업 개선은 부품의 초기 수명 동안 더 낮은 Vwell에서 기인한다. 감소된 트랩 업은 결국 사이클링 내구성, 프로그램 장애, 및/또는 시간에 따른 전하 손실을 포함하는, 플래시 셀의 개선된 신뢰성을 야기할 것이다.
일 실시예에서, NAND 메모리 부품은 트림 프로파일로 동작하기 시작하며, 트림 프로파일은 사이클들의 함수로서 또는 블록 실패율 또는 부정적 근접(near miss) ECC(Error Correcting Code) 이벤트와 같은 트리거에 기초하여 갱신된다. NAND 컨트롤러 로직은 일부 실시예들에 따라, 상이한 트림 프로파일들을 관리하고 이들을 전술한 기준에 기초하여 집적 회로 다이에 기록하는 능력을 갖는다. 따라서, 일부 실시예들은 컨슈머(consumer)(SD 카드들, USB 메모리 스틱 등)에 사용되는 NAND 플래시 다이의 사이클링 내구성 및 사용가능 수명을 개선하고 (클라이언트 및 기업 둘 다의) 응용들을 계산할 뿐만 아니라, 신뢰성을 개선하고 특정 수의 사이클들 후에 판독 비트 에러율을 낮춘다.
더욱이, 본 명세서에 논의되는 메모리 기술들은 도 1-도 9를 참조하여 논의된 것들과 같은 다양한 컴퓨팅 시스템들(예를 들어, 스마트폰들, 태블릿들, 휴대용 게임 콘솔들 등을 포함함)에 제공될 수 있다. 특히, 도 1은 본 발명의 일 실시예에 따른 컴퓨팅 시스템(100)의 블록도를 예시한다. 시스템(100)은 하나 이상의 프로세서들(102-1 내지 102-N)(일반적으로 본 명세서에 "프로세서들(102)" 또는 "프로세서(102)"로 지칭됨)을 포함할 수 있다. 프로세서들(102)은 상호연결(interconnection) 또는 버스(104)를 통해 통신할 수 있다. 각각의 프로세서는 다양한 구성요소들을 포함할 수 있으며 그 중 일부는 명확화를 위해 프로세서(102-1)만을 참조하여 논의된다. 따라서, 나머지 프로세서들(102-2 내지 102-N) 각각은 프로세서(102-1)를 참조하여 논의되는 동일한 또는 유사한 구성요소들을 포함할 수 있다.
일 실시예에서, 프로세서(102-1)는 하나 이상의 프로세서 코어들(106-1 내지 106-M)(본 명세서에 "코어들(106)", 또는 더 일반적으로 "코어(106)"로 지칭됨), 캐시(108)(다양한 실시예들에서 공유 캐시 또는 전용 캐시일 수 있음), 및/또는 라우터(110)를 포함할 수 있다. 프로세서 코어들(106)은 단일 집적 회로(IC) 칩 상에 구현될 수 있다. 더욱이, 칩은 하나 이상의 공유 및/또는 전용 캐시들(예컨대 캐시(108)), 버스들 또는 상호연결들(예컨대 버스 또는 상호연결(112)), 메모리 컨트롤러들(예컨대 도 8-도 9를 참조하여 논의된 것들), 또는 다른 구성요소들을 포함할 수 있다.
일 실시예에서, 라우터(110)는 프로세서(102-1) 및/또는 시스템(100)의 다양한 구성요소들 사이에서 통신하기 위해 사용될 수 있다. 더욱이, 프로세서(102-1)는 하나보다 많은 라우터(110)를 포함할 수 있다. 더욱이, 다수의 라우터들(110)은 프로세서(102-1) 내부 또는 외부의 다양한 구성요소들 사이에서 데이터 라우팅을 가능하게 하기 위해 통신할 수 있다.
캐시(108)는 코어들(106)과 같은 프로세서(102-1)의 하나 이상의 구성요소들에 의해 이용되는 데이터(예를 들어, 명령들을 포함함)를 저장할 수 있다. 예를 들어, 캐시(108)는 프로세서(102)의 구성요소들에 의한 더 빠른 액세스를 위해 메모리/스토리지(114)에 저장된 데이터를 로컬적으로 캐싱할 수 있다. 도 1에 도시된 바와 같이, 메모리/스토리지(114)는 상호연결(104)을 통해 프로세서들(102)과 통신할 수 있다. 일 실시예에서, 캐시(108)(공유될 수 있음)는 다양한 레벨들을 가질 수 있으며, 예를 들어 캐시(108)는 중간 레벨 캐시 및/또는 마지막 레벨 캐시(last-level cache; LLC)일 수 있다. 또한, 코어들(106) 각각은 레벨 1(L1) 캐시(116-1)(일반적으로 본 명세서에 "L1 캐시(116)"로 지칭됨)를 포함할 수 있다. 프로세서(102-1)의 다양한 구성요소들은 버스(예를 들어, 버스(112)), 및/또는 메모리 컨트롤러 또는 허브를 통해 직접 캐시(108)와 통신할 수 있다.
도 1에 도시된 바와 같이, 메모리/스토리지(114)는 메모리 컨트롤러(120)를 통해 시스템(100)의 다른 구성요소들에 결합될 수 있다. 메모리/스토리지(114)는 일부 실시예들에서 NAND 메모리와 같은 플래시 메모리를 포함할 수 있다. 메모리 컨트롤러(120)가 상호연결(104)과 메모리(114) 사이에 결합된 것으로 도시되지만, 메모리 컨트롤러(120)는 시스템(100)의 다른 곳에 위치될 수 있다. 예를 들어, 메모리 컨트롤러(120) 또는 그것의 부분들은 일부 실시예들에서 프로세서들(102) 중 하나 내에 제공될 수 있다. 또한, 일부 실시예들에서, 시스템(100)은 본 명세서에 더 논의되는 바와 같이, 판독 또는 기록 요청들을 최적 방식으로 메모리/스토리지(114)에 발행하기 위해, 예를 들어 사이클링 내구성, 프로그램 장애, 및/또는 시간에 따른 전하 손실을 포함하는 플래시 메모리 신뢰성을 개선하기 위해 로직(예를 들어, NAND 컨트롤러 로직(125))을 포함할 수 있다.
일 실시예에서, 플래시 NAND 어레이 내의 윈도우는 그것이 장애 및 전하 손실 요건들을 수명의 종료에서 충족시키도록 설계될 수 있다. 도 2는 일부 구현들에 따라, NAND 멀티 레벨 셀(MLC) 윈도우를 정의하는 샘플 소거 검증(TEV), 프로그램 검증(PV1, PV2, PV3), 및 판독 기준(R1, R2, R3) 전압들을 도시한다. 특히, 셀 윈도우 당 2 비트가 도시되고, 여기서는 각각의 셀이 4개의 상태 중 임의의 상태로 프로그램될 수 있다. 소거 시에, 블록 내의 모든 셀들은 TEV 아래의 임계 전압(Vt)으로 소거된다. 그 다음, 어레이 내의 셀들은 PV1, PV2, PV3 각각 위의 Vt를 배치함으로써 L1, L2, 또는 L3으로 프로그램된다.
더욱이, 배치된 분포(distribution)들의 판독 기준 전압들(R1, R2, R3) 및 상태 폭들은 이용가능한 에지 마진들을 결정한다. 짝수 에지들(E0, E2, E4)은 프로그램 장애 및 오버 프로그램(over-program)에 대한 마진을 결정하는 한편, 홀수 에지들(E1, E3, E5)은 전하 손실에 대한 마진을 결정한다. 도 2의 에지 마진들(E0 내지 E5)의 합은 통상 판독 윈도우 버짓(Read Window Budget(RWB))으로 정의된다. PV3과 TEV 사이의 더 큰 윈도우는 E0 내지 E5에 대한 더 큰 마진들이 예를 들어 셀을 전하 손실 또는 장애/오버 프로그램의 경우에 정확히 판독하는 것을 허용한다. PV3 대 TEV 윈도우는 상술된 마진들이 사이클링된 블록(수명의 종료)에 대한 신뢰성 요건들을 충족시키도록 설계되며, 이는 일반적으로 언사이클링된 블록에 대한 것보다 더 나쁘다. 사용되는 R3 값은 스트레스 유도 누설 전류(stress-induced leakage current; SILC) 메커니즘인 단일 비트 전하 손실(single bit charge loss; SBCL) 테일(tail) 또는 트랩 업 지배(trap-up dominated)되는 고유의 전하 손실(intrinsic charge loss; ICL)일 수 있는 전하 손실에 의해 지배될 수 있다. 일 실시예에서, 초기 수명의 윈도우는 트랩 업을 감소시키고 부품의 전체 내구성을 개선하기 위해 조정될 수 있다.
일부 실시예들에서, 트랩 업을 결정하는 요인들 중 하나는 프로그램 및 소거 동작들 동안 셀을 통한 전자들의 영향이며, 이는 도 2의 PV3 대 TEV 윈도우에 의해 결정된다. 다른 요인은 소거 동안 최대 웰 전압(Vwell)에 의해 결정되는 제어 게이트(CG)와 활성 영역(AA) 사이의 코너 전계이다. 도 3은 활성 영역(AA), 부동 게이트(FG), 인터 폴리 유전체(inter-poly dielectric(IPD)), 및 제어 게이트(CG)가 식별된 NAND 셀의 단면을 도시한다. 소거 동안 CG가 접지되고 고전압(대략 12V 내지 25V)이 웰 및 활성 영역 상에 인가되어, 이는 차례로 전자들을 부동 게이트로부터 터널 산화막을 통해 활성 영역으로 내보냄으로써 셀을 소거한다. 프로그래밍은 활성 영역을 접지시키고 전자들을 AA로부터 FG로 전달하는 CG에 양의 전압을 인가함으로써 수행된다. 각각의 프로그램 및 소거 동작에 의해 터널 산화막(tunox)을 통한 이러한 전하 영향은 산화물을 점차 저하시키고, 결국 NAND 어레이의 장애 및 전하 유지 특성들에 나쁜 영향을 미친다. 소거 검증을 통과하는데 요구되는 웰 전압은 TEV 전압에 의해 결정되며, 예를 들어 더 높은 Vwell은 더 낮은 TEV에 요구된다. 더 높은 Vwell 전압의 사용은 결국 활성 영역 바로 위의 터널 산화막 트랩 업에 더하여, 트랩 업의 소스일 수 있는 CG-AA 코너 필드를 증가시킨다. 도 3은 제어 게이트가 부동 게이트 주위에 둘러싸여진(wrapped around) NAND 셀 구조를 도시하지만, 위에서 언급한 원리들은 평면 셀에도 적용가능하다. 더 낮은 TEV는 더 많은 윈도우를 도 2의 에지들(E0 내지 E5)에 제공하기 위해 사용될 수 있으므로, 일부 실시예들은 언사이클링된 블록에 더 높은 TEV를 사용하고 부품이 더 많은 사이클들을 거침에 따라 그것을 감소시킴으로써 Vwell 구동 트랩 업을 최소화한다.
일부 실시예들은 예컨대: (1) 더 작은 PV3 대 TEV 윈도우로 시작하여 셀이 더 많은 사이클들을 거침에 따라 그것을 점차 증가시켜서(TEV를 낮춰서) 사이클링 동안 전자들의 영향을 감소시킴으로써; 및/또는 (2) 더 작은 Vwell이 초기에 사용되도록 더 높은 PV/TEV로 시작함으로써 트랩 업에 대한 소거 웰 전압의 충격을 감소시키고; 셀이 사이클링됨에 따라 PV/TEV를 내려서 PV 대 TEV 델타를 고정되게 유지함으로써, 사이클링 트랩 업(cycling trap-up)을 감소시키는 방법을 사용한다.
PV 대 TEV 윈도우를 사이클들에 의해 변화시키는 실시예에 관해, 프로그램 소거 사이클링 동안 플래시 셀 내의 전자들의 영향은 소거 검증 및 프로그램 검증 전압들 사이의 차이(윈도우)에 의해 결정된다. SLC 셀에 대해, PV와 TEV 사이의 더 높은 윈도우는 판독 기준과 PV 사이의 더 큰 델타가, 더 많은 마진을 제공하여 셀을 프로그램된 상태로부터의 전하 손실의 경우에 정확히 판독하는 것을 허용할 것이다. 더 높은 윈도우는 또한 TEV와 판독 기준 사이의 더 큰 델타가 프로그램 장애에 대한 더 많은 마진을 제공하는 것을 허용한다. 동일한 원리는 도 2-도 3을 참조하여 상술된 바와 같이, 셀들이 다수의 PV들 및 판독 기준 전압들에 의해 다수의 레벨들에 배치되는 MLC에 적용될 수 있다. 일부 구현들은 TEV 및 PV 전압들(윈도우를 결정함)을 부품의 수명 동안 일정하게 유지한다. 프로그램 장애 및 전하 손실과 같은 메트릭들이 사이클링에 의해 저하하므로, 윈도우 및 판독 기준 배치(placement)는 최악의 경우의(사이클링 후의) 장애 또는 전하 손실을 지원하기 위해 설정될 수 있으며, 큰 윈도우는 결국 더 높은 전하 영향의 결과로서 사이클링 트랩 업의 악화 및 내구성의 저하를 야기한다.
일 실시예는 플래시 셀이 더 많은 사이클들을 거침에 따라 TEV와 PV 사이의 델타가 증가되는 동적 윈도우를 이용한다. 이것은 큰 소거 검증 전압(TEV)으로 시작함으로써 수행될 수 있어, 셀은 그것의 수명의 시작에서 더 얕게 소거되고, 셀이 더 많은 프로그램 소거 사이클들을 거침에 따라 더 깊게 소거하기 위해 TEV를 시스템적으로 저하시킨다. 다이 상의 모든 블록에 걸쳐서 동일한 수의 사이클들을 유지하는 웨어 레벨링(Wear leveling)은 전체 다이에 대한 공통 TEV 레벨을 허용한다. 그 다음, 전체 전하 영향 및 트랩 업은 더 넓은 고정 윈도우를 갖는 것과 비교하여 개선되며, 예를 들어 부품의 사이클링 능력을 개선하고 또한 프로그램 장애 및 ICL(Intrinsic Charge Loss) 능력을 특정 사이클 카운트에서 개선할 수 있다.
구현은 고정 수의 사이클들 후에 및/또는 블록 실패율(BFR) 또는 ECC 이벤트(예를 들어, 실패 비트들의 수)와 같은 트리거 기반 기준에 기초하여 변경되는 부품에 대한 복수의(예를 들어, 3개 또는 4개의) 상이한 트림 프로파일들을 사용함으로써 수행될 수 있다. 예를 들어, 부품은 그것의 수명을 트림 프로파일 A에 의해 시작할 것이며, 트림 프로파일 A는 부품이 더 많은 사이클들을 가짐에 따라 상술된 기준에 기초하여 컨트롤러에 의해 프로파일들 B, C, D 등으로 변경될 것이다. 상술된 가변 TEV 대 PV 윈도우에 대해, 트림 프로파일들은 TEV, R1, PV1, R2, PV2, R3, 프로그램 시작 전압(Vpgm) 및 소거 시작 전압(Vera)을 포함할 것이다. 상술된 모든 트림들은 증가될 수 있는 Vera를 제외하고, 사이클들에 의해 감소될 수 있다.
윈도우를 사이클 실시예에 의해 동적으로 시프트 다운하는 것에 관해, 트랩 업 저하를 결정하는 다른 요인은 소거 동안 사용된 피크 웰 전압에 의해 구동되는 소거 동안의 피크 전계이다(도 2-도 3). 언사이클링된 셀(un-cycled cell)에 대해, 최대 웰 전압은 소거 검증 전압(TEV)을 증가시킴으로써 감소될 수 있으며, 이는 NAND 스트링이 소검 검증을 더 얕은 소거에 의해 통과시키게 할 것이다. RWB(판독 윈도우 버짓, 또는 E0 내지 E5 마진들의 합) 및 프로그램 장애 마진을 유지하기 위해, 다른 레벨들의 PV 및 판독 전압들은 TEV가 상승되는 동일한 값에 의해 상승될 수 있다. 제로 시간에 더 높은 PV 및 R(판독 기준 전압)은 언사이클링된 셀에 대한 SBCL이 사이클링된 셀에 대한 것보다 상당히 더 좋으므로, 언사이클링된 SBCL을 지원할 수 있을 것이다. 그리고, 제로 시간에 더 작은 소거 전압을 사용하는 것은 더 작은 트랩 업을 야기한다. 계산들은 시작 소거 전압이 14V보다는 오히려 12V이도록 윈도우가 2V 더 높게 설정되면 30k 사이클들에서 트랩 업의 대략 40% 개선을 나타낸다.
다양한 구현은 상기 논의된 바와 같이 사이클들 또는 트리거 기반 기준에 기초하여 변경되는 트림 프로파일들을 사용함으로써 수행될 수 있다. 동적 시프트 윈도우에 대해, 트림 프로파일들은 TEV, R1, PV1, R2, PV2, R3, PV3, 프로그램 시작 전압(Vpgm), 소거 시작 전압(Vera), 및 비선택된 WL(Word Line) 판독 전압(Vread/Vpassr)을 포함할 수 있다. 상기 트림들은 증가될 수 있는 Vera를 제외하고, 사이클들에 의해 감소될 수 있다. PV/R 시프트는 상기 프로파일들에서 소스 바이어스 트림만을 증가시킴으로써 달성될 수 있다. 상기 다른 트림들은 독립적으로 변경될 수 있다.
도 4는 본 발명의 일 실시예에 따라, 상이한 트림 프로파일들로 스위칭하기 위해 사용되는 결정 트리를 구현하는 방법(400)의 흐름도를 예시한다. 일 실시예에서, 도 1-도 3 및 도 5-도 9를 참조하여 논의된 다양한 구성요소들은 도 4를 참조하여 논의된 동작들 중 하나 이상을 수행하기 위해 이용될 수 있다.
도 1-도 4를 참조하면, 동작(402)에서, 제1 트림 프로파일(예를 들어, 프로파일 A)은 (예를 들어, 컨트롤러 로직(125)에 의해) 적용된다. 동작(404)에서, 현재 사이클 카운트가 제1 사이클 임계값(Cyc 1)에 도달했거나 실패 트리거(예컨대 블록 실패율(BFR) 임계 값 또는 (예를 들어, 부정적 근접) ECC 이벤트)가 발생하면, 제2 트림 프로파일(예를 들어, 프로파일 B)은 동작(406)에서 (예를 들어, 컨트롤러 로직(125)에 의해) 적용된다. 그렇지 않으면, 동작(408)은 트림 프로파일 A를 계속해서 사용한다. 따라서, 적어도 하나의 실시예에서, 플래시 장치 상에 실행되는 사이클들의 수의 현재 카운트는 저장 장치, 레지스터 등에(예를 들어, 로직(125)에 의해 또는 그것의 지시로(at its direction)) 유지될 수 있다.
동작(410)에서, 현재 사이클 카운트가 제2 사이클 임계값(Cyc 2)에 도달했거나 실패 트리거(예컨대 BFR 값 또는 (예를 들어, 부정적 근접) ECC 이벤트)가 발생하면, 제3 트림 프로파일(예를 들어, 프로파일 C)이 동작(412)에서 (예를 들어, 컨트롤러 로직(125)에 의해) 적용된다. 그렇지 않으면, 동작(414)은 트림 프로파일 B를 계속해서 사용한다. 방법은 필요에 따라 부가 트림 프로파일들의 적용을 위해 위에서 설명되는 프로세스를 계속한다.
도 5 및 도 6은 전술한 방법 (1)을 사용하는 고정 윈도우 대신에 가변 윈도우가 사이클링에 사용될 때 34 nm SLC 제품들 상에 보여지는 사이클링 트랩 업 및 프로그램 장애의 개선을 나타내는 샘플 그래프들을 예시한다. 고정 윈도우 사이클링에 대해, 사이클링은 1.5V의 고정 TEV에 의해 25k 사이클들까지 수행될 수 있다. 가변 윈도우 사이클링에 대해, 2.5V의 초기 TEV가 사용될 수 있으며, 이는 1.5V의 최종 TEV에 대해, 사이클들 1k, 3k, 7.5k, 15k, 22.5k에서 0.2V의 스텝들로 드롭된다. 25k 사이클들에서, 가변 윈도우 사이클링에 의한 PD RBER(Program Disturb Read Bit Error Rate)의 개선은 대략 25%이다. VwVt 트랩 업의 개선은 거의 5%일 수 있다. 트랩 업 및 RBER 개선들 뿐만 아니라, 트랩 업 개선들에서 기인하는 블록 실패율 개선들은 NAND 기술이 더 작은 치수들로 스케일링됨에 따라 더 높아질 것으로 예상된다.
도 7은 일 실시예에 따라, 사이클들 10k 내지 40k에 대한 확대(blow-up)를 나타내는 POR(Process Of Record) 및 동적 윈도우 시프트에 대한 Vwell 전압 스텝 업(step-up)을 예시한다. 더욱이, 아래의 표 1 및 도 7은 고정 윈도우를, 제로 시간에 2V 더 높게 설정되는 동적 시프트 윈도우와 비교하는 블록을 소거하기 위해 Vwell 전압 스텝 업의 어떤 이론적 계산들을 나타낸다. 가정들은 트랩 업에 대한 8e-4/0.5 및 SBCL에 대한 4.4e-3/0.5의 경사/전력에 의해 사이클들에 멱함수 법칙 의존성(power law dependence)을 갖는다는 것이다. 웰 전압은 2V 더 낮게(12V 대 14V) 시작하고, 제로 시간에 2V 더 낮은 SBCL 마진을 야기한다. 그러나, 더 낮은 Vwell에서 기인하는 개선된 트랩 업으로 인해, SBCL 마진이 아래의 표 1에 나타낸 바와 같이 일치될 때, 30k 사이클들에서 40%의 최종적인(net) 트랩 업 개선이 존재한다.
Figure pct00001
도 8은 본 발명의 일 실시예에 따른 컴퓨팅 시스템(800)의 블록도를 예시한다. 컴퓨팅 시스템(800)은 상호연결 네트워크(또는 버스)(804)를 통해 통신하는 하나 이상의 중앙 처리 유닛(들)(CPUs)(802) 또는 프로세서들을 포함할 수 있다. 프로세서들(802)은 일반 목적 프로세서, 네트워크 프로세서(컴퓨터 네트워크(803)를 통해 통신되는 데이터를 처리함), 응용 프로세서(예컨대 휴대 전화들, 스마트폰들 등에 사용된 것들), 또는 다른 타입들의 프로세서(RISC(reduced instruction set computer) 프로세서 또는 CISC(complex instruction set computer)를 포함함)를 포함할 수 있다. 유선(예를 들어, 이더넷, 기가비트, 파이버 등) 또는 무선 네트워크들(예컨대 셀룰러, 3G(3세대 휴대 전화 기술 또는 3세대 무선 포맷(UWCC)), 4G, LPE(Low Power Embedded) 등)을 포함하는 다양한 타입들의 컴퓨터 네트워크들(803)이 이용될 수 있다. 더욱이, 프로세서들(802)은 단일 또는 다수의 코어 설계를 가질 수 있다. 다수의 코어 설계를 갖는 프로세서들(802)은 동일한 집적 회로(IC) 다이 상에 상이한 타입들의 프로세서 코어들을 통합할 수 있다. 또한, 다수의 코어 설계를 갖는 프로세서들(802)은 대칭 또는 비대칭 멀티프로세서들로 구현될 수 있다.
일 실시예에서, 프로세서들(802) 중 하나 이상은 도 1의 프로세서들(102)과 동일하거나 유사할 수 있다. 예를 들어, 프로세서들(802) 중 하나 이상은 코어들(106) 및/또는 캐시(108) 중 하나 이상을 포함할 수 있다. 또한, 도 1-도 7을 참조하여 논의된 동작들은 시스템(800)의 하나 이상의 구성요소들에 의해 수행될 수 있다.
칩셋(806)은 상호연결 네트워크(804)와 통신할 수도 있다. 칩셋(806)은 GMCH(graphics and memory control hub)(808)를 포함할 수 있다. GMCH(808)는 메모리(114)와 통신하는 메모리 컨트롤러(810)(일 실시예에서, 예를 들어 로직(125)을 포함하는 도 1의 메모리 컨트롤러(120)와 동일하거나 유사할 수 있음)를 포함할 수 있다. 메모리(114)는 CPU(802), 또는 컴퓨팅 시스템(800)에 포함된 임의의 다른 장치에 의해 실행되는 명령들의 시퀀스들을 포함하는 데이터를 저장할 수 있다. 본 발명의 일 실시예에서, 메모리(114)는 RAM(random access memory), DRAM(dynamic RAM), SDRAM(synchronous DRAM), SRAM(static RAM), 또는 다른 타입들의 저장 장치들과 같은 하나 이상의 휘발성 스토리지(또는 메모리) 장치들을 포함할 수 있다. 하드 디스크 또는 NAND 기반 고체 상태 드라이브와 같은 비휘발성 메모리가 이용될 수도 있다. 다수의 CPU들 및/또는 다수의 시스템 메모리들과 같은 부가 장치들은 상호연결 네트워크(804)를 통해 통신할 수 있다.
GMCH(808)는 그래픽 가속기(816)와 통신하는 그래픽 인터페이스(814)를 포함할 수도 있다. 본 발명의 일 실시예에서, 그래픽 인터페이스(814)는 AGP(accelerated graphics port)를 통해 그래픽 가속기(816)와 통신할 수 있다. 본 발명의 일 실시예에서, 디스플레이(예컨대 플랫 패널 디스플레이)는 예를 들어 비디오 메모리 또는 시스템 메모리와 같은 저장 장치에 저장된 이미지의 디지털 표현을 디스플레이에 의해 해석되고 디스플레이되는 디스플레이 신호들로 변환하는 신호 변환기를 통해 그래픽 인터페이스(814)와 통신할 수 있다. 디스플레이 장치에 의해 생성되는 디스플레이 신호는 디스플레이에 의해 해석되고 그 후에 디스플레이 상에 디스플레이되기 전에 다양한 제어 장치들을 통과할 수 있다.
허브 인터페이스(818)는 GMCH(808) 및 ICH(input/output control hub)(820)가 통신하는 것을 허용할 수 있다. ICH(820)는 인터페이스를 컴퓨팅 시스템(800)과 통신하는 I/O 장치들에 제공할 수 있다. ICH(820)는 PCI(peripheral component interconnect) 브리지, USB(universal serial bus) 컨트롤러, 또는 다른 타입들의 주변 브리지들(peripheral bridges) 또는 컨트롤러들과 같은 주변 브리지(또는 컨트롤러)(824)를 통해 버스(822)와 통신할 수 있다. 브리지(824)는 CPU(802)와 주변 장치들 사이에 데이터 경로를 제공할 수 있다. 다른 타입들의 토폴로지들이 이용될 수 있다. 또한, 다수의 버스들은 예를 들어 다수의 브리지들 또는 컨트롤러들을 통해 ICH(820)와 통신할 수 있다. 더욱이, ICH(820)와 통신하는 다른 주변 장치들은 본 발명의 다양한 실시예들에서, IDE(integrated drive electronics) 또는 SCSI(small computer system interface) 하드 드라이브(들), USB 포트(들), 키보드, 마우스, 병렬 포트(들), 직렬 포트(들), 플로피 디스크 드라이브(들), 디지털 출력 서포트(예를 들어, 디지털 비디오 인터페이스(DVI)), 또는 다른 장치들을 포함할 수 있다.
버스(822)는 오디오 장치(826), 하나 이상의 디스크 드라이브(들)(828), 및 네트워크 인터페이스 장치(830)(컴퓨터 네트워크(803)와 통신함)와 통신할 수 있다. 다른 장치들은 버스(822)를 통해 통신할 수 있다. 또한, 다양한 구성요소들(예컨대 네트워크 인터페이스 장치(830))은 본 발명의 일부 실시예들에서 GMCH(808)와 통신할 수 있다. 게다가, 프로세서(802) 및 GMCH(808)는 단일 칩을 형성하기 위해 결합될 수 있다. 더욱이, 그래픽 가속기(816)는 본 발명의 다른 실시예들에서 GMCH(808) 내에 포함될 수 있다.
더욱이, 컴퓨팅 시스템(800)은 휘발성 및/또는 비휘발성 메모리(또는 스토리지)를 포함할 수 있다. 예를 들어, 비휘발성 메모리는 이하 중 하나 이상을 포함할 수 있다: ROM(read-only memory), PROM(programmable ROM), EPROM(erasable PROM), EEPROM(electrically EPROM), 디스크 드라이브(자기 하드 디스크 드라이브 또는 NAND 플래시 메모리 기반 고체 상태 드라이브일 수 있음)(예를 들어, 828), 플로피 디스크, CD-ROM(compact disk ROM), DVD(digital versatile disk), 플래시 메모리, 광자기 디스크, 또는 전자 데이터(예를 들어, 명령들을 포함함)를 저장할 수 있는 다른 타입들의 비휘발성 기계 판독가능 매체.
도 9는 본 발명의 일 실시예에 따라, 투인트 투 포인트(PtP) 구성으로 배열되는 컴퓨팅 시스템(900)을 예시한다. 특히, 도 9는 프로세서들, 메모리, 및 입력/출력 장치들이 다수의 투인트 투 포인트 인터페이스들에 의해 상호연결되는 시스템을 도시한다. 도 1-도 8을 참조하여 논의된 동작들은 시스템(900) 중 하나 이상의 구성요소들에 의해 수행될 수 있다.
도 9에 예시된 바와 같이, 시스템(900)은 수개의 프로세서들을 포함할 수 있으며, 그 중 2개의 프로세서(902 및 904)만이 명확화를 위해 도시된다. 프로세서들(902 및 904)은 메모리들(910 및 912)과 통신을 가능하게 하기 위해 로컬 MCH(memory controller hub)(906 및 908)를 각각 포함할 수 있다. 메모리들(910 및/또는 912)은 도 1 및/또는 도 8의 메모리(114)를 참조하여 논의된 것들과 같은 다양한 데이터를 저장할 수 있다. 또한, MCH(906 및 908)는 일부 실시예들에서 도 1의 메모리 컨트롤러(120) 및/또는 로직(125)을 포함할 수 있다.
일 실시예에서, 프로세서들(902 및 904)은 도 8를 참조하여 논의된 프로세서들(802) 중 하나일 수 있다. 프로세서들(902 및 904)은 투인트 투 포인트(PtP) 인터페이스 회로들(916 및 918) 각각을 사용하여 투인트 투 포인트(PtP) 인터페이스(914)를 통해 데이터를 교환할 수 있다. 또한, 프로세서들(902 및 904)은 투인트 투 포인트 인터페이스 회로들(926, 928, 930, 및 932)을 사용하여 개별 PtP 인터페이스들(922 및 924)을 통해 칩셋(920)과 데이터를 각각 교환할 수 있다. 칩셋(920)은 예를 들어 PtP 인터페이스 회로(937)를 사용하여 고성능 그래픽 인터페이스(936)를 통해 고성능 그래픽 회로(934)와 데이터를 더 교환할 수 있다.
도 9에 도시된 바와 같이, 도 1의 코어들(106) 및/또는 캐시(108) 중 하나 이상은 프로세서들(902 및 904) 내에 위치될 수 있다. 그러나, 본 발명의 다른 실시예들은 도 9의 시스템(900) 내의 다른 회로들, 로직 유닛들, 또는 장치들에 존재할 수 있다. 더욱이, 본 발명의 다른 실시예들은 도 9에 예시된 수개의 회로들, 로직 유닛들, 또는 장치들 도처에 분배될 수 있다.
칩셋(920)은 PtP 인터페이스 회로(941)를 사용하여 버스(940)와 통신할 수 있다. 버스(940)는 버스 브리지(942) 및 I/O 장치들(943)과 같은, 그것과 통신하는 하나 이상의 장치들을 가질 수 있다. 버스(944)를 통해, 버스 브리지(943)는 키보드/마우스(945), 통신 장치들(946)(예컨대 모뎀들, 네트워크 인터페이스 장치들, 또는 컴퓨터 네트워크(803)와 통신할 수 있는 다른 통신 장치들), 오디오 I/O 장치, 및/또는 데이터 저장 장치(948)와 같은 다른 장치들과 통신할 수 있다. 데이터 저장 장치(948)(하드 디스크 드라이브 또는 NAND 플래시 기반 고체 상태 드라이브일 수 있음)는 프로세서들(902 및/또는 904)에 의해 실행될 수 있는 코드(949)를 저장할 수 있다.
본 발명의 다양한 실시예들에서, 예를 들어 도 1-도 9를 참조하여 본 명세서에서 논의된 동작들은 하드웨어(예를 들어, 회로), 소프트웨어, 펌웨어, 마이크로코드, 또는 그것의 조합들로 구현될 수 있으며, 이는 예를 들어 본 명세서에 논의된 프로세스를 수행하도록 컴퓨터를 프로그램하는 데 사용되는 명령들(또는 소프트웨어 절차들)을 저장한 유형(예를 들어, 비일시적) 기계 판독가능 또는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로 제공될 수 있다. 또한, "로직"의 용어는 예로서, 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합들을 포함할 수 있다. 기계 판독가능 매체는 도 1-도 9에 관해 논의된 것들과 같은 저장 장치를 포함할 수 있다.
게다가, 그러한 유형 컴퓨터 판독가능 매체는 컴퓨터 프로그램 제품으로 다운로드될 수 있으며, 프로그램은 원격 컴퓨터(예를 들어, 서버)에서 통신 링크(예를 들어, 버스, 모뎀, 또는 네트워크 연결)를 통해 데이터 신호들(예컨대 반송파 또는 다른 전파 매체)로 요청 컴퓨터(예를 들어, 클라이언트)까지 전송될 수 있다.
본 명세서에서 "일 실시예" 또는 "하나의 실시예"에 대한 참조는 실시예와 관련하여 설명된 특정 특징, 구조, 또는 특성이 적어도 일 구현에 포함될 수 있는 것을 의미한다. 본 명세서의 다양한 곳에서 구 "일 실시예에서"의 출현들은 동일한 실시예를 모두 언급할 수 있거나 언급하지 않을 수 있다.
또한, 명세서 및 청구항들에서, "결합된" 및 "연결된"의 용어들은 그 파생어들과 함께, 사용될 수 있다. 본 발명의 일부 실시예들에서, "연결된"은 2개 이상의 요소들이 서로 직접 물리적으로 또는 전기적으로 접촉하는 것을 표시하기 위해 사용될 수 있다. "결합된"은 2개 이상의 요소들이 직접 물리적으로 또는 전기적으로 접촉하는 것을 의미할 수 있다. 그러나, "결합된"은 2개 이상의 요소들이 서로 직접 접촉하지 않을 수 있지만, 서로 여전히 협력하거나 상호작용할 수 있는 것을 의미할 수도 있다.
따라서, 본 발명의 실시예들은 구조적 특징들 및/또는 방법론적 행동들에 특정한 언어로 설명되었지만, 청구된 발명 대상은 설명된 특정 특징들 또는 행동들에 제한되지 않을 수 있다는 점이 이해되어야 한다. 오히려, 특정 특징들 및 행동들은 청구된 발명 대상을 구현하는 샘플 형태들로 개시된다.

Claims (30)

  1. 장치로서,
    제1 트림 프로파일(trim profile)을 플래시 메모리 저장 장치에 적용하는 메모리 컨트롤러 로직을 포함하고,
    상기 제1 트림 프로파일은 더 높은 소거 검증(TEV) 전압으로 시작하여 상기 TEV 전압을 현재 사이클 카운트 값에 기초하여 상기 플래시 메모리 저장 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 프로그램 소거 윈도우(program-erase window)가 동적으로 변화되게 하고,
    상기 메모리 컨트롤러 로직은 상기 현재 사이클 카운트 값이 임계 값을 초과했다는 결정에 응답하여 또는 실패 조건의 발생에 응답하여 제2 트림 프로파일을 상기 플래시 메모리 저장 장치에 적용하는 것인
    장치.
  2. 제1항에 있어서, 상기 실패 조건의 발생은 ECC(Error Correcting Code) 이벤트에 기초하여 검출되는 장치.
  3. 제1항에 있어서, 상기 실패 조건의 발생은 블록 실패율(Block Fail Rate; BFR) 값에 기초하여 검출되는 장치.
  4. 제1항에 있어서, 상기 현재 사이클 카운트 값을 저장하는 저장 장치 또는 레지스터를 더 포함하는 장치.
  5. 제1항에 있어서, 상기 플래시 메모리 저장 장치는 NAND 저장 장치를 포함하는 장치.
  6. 제1항에 있어서, 상기 프로그램 소거 윈도우는 멀티 레벨 셀(Multi Level Cell; MLC) 윈도우에 상응하는 장치.
  7. 제1항에 있어서, 하나 이상의 프로세서 코어들은 상기 플래시 메모리 저장 장치에 저장된 데이터에 액세스하기 위해 상기 메모리 컨트롤러 로직에 결합되는 장치.
  8. 장치로서,
    제1 트림 프로파일을 플래시 메모리 저장 장치에 적용하는 메모리 컨트롤러 로직을 포함하고,
    상기 제1 트림 프로파일은 더 높은 프로그램 검증(PV) 전압 및 소거 검증(TEV) 전압으로 시작하여 상기 PV 및 TEV 전압들을 현재 사이클 카운트 값에 기초하여 상기 플래시 메모리 저장 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 프로그램 소거 윈도우가 동적으로 변화되게 하고,
    상기 메모리 컨트롤러 로직은 상기 현재 사이클 카운트 값이 임계 값을 초과했다는 결정에 응답하여 또는 실패 조건의 발생에 응답하여 제2 트림 프로파일을 상기 플래시 메모리 저장 장치에 적용하는 것인
    장치.
  9. 제8항에 있어서, 상기 PV 전압과 TEV 전압 사이의 델타(delta)는 고정되게 유지되는 장치.
  10. 제8항에 있어서, 상기 실패 조건의 발생은 ECC(Error Correcting Code) 이벤트에 기초하여 검출되는 장치.
  11. 제8항에 있어서, 상기 실패 조건의 발생은 블록 실패율(BFR) 값에 기초하여 검출되는 장치.
  12. 제8항에 있어서, 상기 현재 사이클 카운트 값을 저장하는 저장 장치 또는 레지스터를 더 포함하는 장치.
  13. 제8항에 있어서, 상기 플래시 메모리 저장 장치는 NAND 저장 장치를 포함하는 장치.
  14. 제8항에 있어서, 상기 프로그램 소거 윈도우는 멀티 레벨 셀(MLC) 윈도우에 상응하는 장치.
  15. 제8항에 있어서, 하나 이상의 프로세서 코어들은 상기 플래시 메모리 저장 장치에 저장된 데이터에 액세스하기 위해 상기 메모리 컨트롤러 로직에 결합되는 장치.
  16. 시스템으로서,
    복수의 메모리 셀들을 갖는 NAND 메모리 장치;
    상기 NAND 메모리 장치에 액세스하는 프로세서; 및
    제1 트림 프로파일을 상기 NAND 메모리 장치에 적용하는 NAND 메모리 컨트롤러 로직
    을 포함하고,
    상기 제1 트림 프로파일은,
    더 높은 소거 검증(TEV) 전압으로 시작하여 상기 TEV 전압을 현재 사이클 카운트 값에 기초하여 상기 NAND 메모리 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 프로그램 소거 윈도우가 동적으로 변화되게 하거나; 또는
    더 높은 프로그램 검증(PV) 전압 및 소거 검증(TEV) 전압으로 시작하여 상기 PV 및 TEV 전압들을 상기 현재 사이클 카운트 값에 기초하여 상기 NAND 메모리 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 프로그램 소거 윈도우가 동적으로 변화되게 하고,
    상기 NAND 메모리 컨트롤러 로직은 상기 현재 사이클 카운트 값이 임계 값을 초과했다는 결정에 응답하여 또는 실패 조건의 발생에 응답하여 제2 트림 프로파일을 상기 NAND 메모리 장치에 적용하는 것인
    시스템.
  17. 제16항에 있어서, 상기 실패 조건의 발생은 ECC(Error Correcting Code) 이벤트에 기초하여 검출되는 시스템.
  18. 제16항에 있어서, 상기 실패 조건의 발생은 블록 실패율(BFR) 값에 기초하여 검출되는 시스템.
  19. 제16항에 있어서, 상기 현재 사이클 카운트 값을 저장하는 저장 장치 또는 레지스터를 더 포함하는 시스템.
  20. 제16항에 있어서, 상기 프로그램 소거 윈도우는 멀티 레벨 셀(MLC) 윈도우에 상응하는 시스템.
  21. 제16항에 있어서, 오디오 장치를 더 포함하는 시스템.
  22. 제16항에 있어서, 상기 프로세서, NAND 메모리 장치, 및 NAND 컨트롤러 로직 중 하나 이상은 동일한 집적 회로 다이 상에 있는 시스템.
  23. 방법으로서,
    제1 트림 프로파일을 메모리 컨트롤러 로직에 의해 플래시 메모리 저장 장치에 적용하는 단계 - 상기 제1 트림 프로파일은,
    더 높은 소거 검증(TEV) 전압으로 시작하여 상기 TEV 전압을 현재 사이클 카운트 값에 기초하여 상기 플래시 메모리 저장 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 프로그램 소거 윈도우가 동적으로 변화되게 하거나; 또는
    더 높은 프로그램 검증(PV) 전압 및 소거 검증(TEV) 전압으로 시작하여 상기 PV 및 TEV 전압들을 상기 현재 사이클 카운트 값에 기초하여 상기 플래시 메모리 저장 장치의 수명 동안 후속 사이클들에 의해 낮춤으로써 프로그램 소거 윈도우가 동적으로 변화되게 함 - ; 및
    상기 현재 사이클 카운트 값이 임계 값을 초과했다는 결정에 응답하여 또는 실패 조건의 발생에 응답하여 제2 트림 프로파일을 상기 플래시 메모리 저장 장치에 적용하는 단계
    를 포함하는 방법.
  24. 제23항에 있어서, ECC(Error Correcting Code) 이벤트에 기초하여 상기 실패 조건의 발생을 검출하는 단계를 더 포함하는 방법.
  25. 제23항에 있어서, 블록 실패율(BFR) 값에 기초하여 상기 실패 조건의 발생을 검출하는 단계를 더 포함하는 방법.
  26. 제23항에 있어서, 상기 현재 사이클 카운트 값을 저장 장치 또는 레지스터에 저장하는 단계를 더 포함하는 방법.
  27. 제23항에 있어서, 상기 플래시 메모리 저장 장치는 NAND 저장 장치를 포함하는 방법.
  28. 제23항에 있어서, 상기 프로그램 소거 윈도우는 멀티 레벨 셀(MLC) 윈도우에 상응하는 방법.
  29. 제23항에 있어서, 하나 이상의 프로세서 코어들이 상기 메모리 컨트롤러 로직을 통해 상기 플래시 메모리 저장 장치에 저장된 데이터에 액세스하는 단계를 더 포함하는 방법.
  30. 제23항에 있어서, 상기 현재 사이클 카운트 값이 제2 임계 값을 초과했다는 결정에 응답하여 또는 상기 실패 조건의 발생에 응답하여 제3 트림 프로파일을 상기 플래시 메모리 저장 장치에 적용하는 단계를 더 포함하는 방법.
KR1020147017561A 2011-12-29 2011-12-29 Nand 메모리 내구성을 개선하는 동적 윈도우 KR101654030B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/067810 WO2013101043A1 (en) 2011-12-29 2011-12-29 Dynamic window to improve nand memory endurance

Publications (2)

Publication Number Publication Date
KR20140093290A true KR20140093290A (ko) 2014-07-25
KR101654030B1 KR101654030B1 (ko) 2016-09-05

Family

ID=48698280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017561A KR101654030B1 (ko) 2011-12-29 2011-12-29 Nand 메모리 내구성을 개선하는 동적 윈도우

Country Status (3)

Country Link
US (3) US9330784B2 (ko)
KR (1) KR101654030B1 (ko)
WO (1) WO2013101043A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
WO2013101043A1 (en) 2011-12-29 2013-07-04 Intel Corporation Dynamic window to improve nand memory endurance
US20150092488A1 (en) * 2013-09-27 2015-04-02 Yogesh Wakchaure Flash memory system endurance improvement using temperature based nand settings
US9208888B1 (en) 2014-06-27 2015-12-08 Intel Corporation Techniques for improving reliability and performance of partially written memory blocks in modern flash memory systems
US10067823B2 (en) 2014-12-04 2018-09-04 Western Digital Technologies, Inc. Systems and methods for adaptive error corrective code mechanisms
US10691531B2 (en) 2014-12-04 2020-06-23 Western Digital Technologies, Inc. Systems and methods for multi-zone data tiering for endurance extension in solid state drives
US9658800B2 (en) * 2014-12-22 2017-05-23 Sandisk Technologies Llc End of life prediction based on memory wear
KR102396053B1 (ko) 2015-04-20 2022-05-10 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 동작 방법
US9378809B1 (en) 2015-08-05 2016-06-28 Apple Inc. Relaxing verification conditions in memory programming and erasure operations
JP6249504B1 (ja) * 2016-08-24 2017-12-20 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10509597B2 (en) * 2018-01-02 2019-12-17 Intel Corporation Memory block access modes for a storage device
US12001688B2 (en) 2019-04-29 2024-06-04 Pure Storage, Inc. Utilizing data views to optimize secure data access in a storage system
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10706935B2 (en) * 2018-12-10 2020-07-07 Micron Technology, Inc. Read window budget based dynamic program step characteristic adjustment
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US12001684B2 (en) 2019-12-12 2024-06-04 Pure Storage, Inc. Optimizing dynamic power loss protection adjustment in a storage system
CN111243644B (zh) * 2019-12-30 2020-10-20 深圳市芯天下技术有限公司 增强型flash的计数方法及增强型flash
US11061768B1 (en) 2020-02-14 2021-07-13 Western Digital Technologies, Inc. Storage device with increased endurance
US11630579B2 (en) 2020-02-14 2023-04-18 Micron Technology, Inc. Memory sub-system performance shaping including adding a delay to particular data traffic
US11923010B2 (en) 2020-03-24 2024-03-05 Intel NDTM US LLC Flash memory chip that modulates its program step voltage as a function of chip temperature
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11776629B2 (en) 2020-08-17 2023-10-03 Micron Technology, Inc. Threshold voltage based on program/erase cycles
US11392312B2 (en) 2020-08-25 2022-07-19 Micron Technology, Inc. Read calibration based on ranges of program/erase cycles
US11430528B2 (en) 2020-08-25 2022-08-30 Micron Technology, Inc. Determining a read voltage based on a change in a read window
US11189355B1 (en) 2020-08-25 2021-11-30 Micron Technology, Inc. Read window based on program/erase cycles
US11301346B2 (en) 2020-08-27 2022-04-12 Micron Technology, Inc. Separate trims for buffer and snapshot
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11437111B2 (en) 2020-12-15 2022-09-06 Micron Technology, Inc. Trims corresponding to program/erase cycles
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11705206B2 (en) 2021-08-17 2023-07-18 Sandisk Technologies Llc Modifying program and erase parameters for single-bit memory cells to improve single-bit/multi-bit hybrid ratio
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11977774B2 (en) * 2021-12-21 2024-05-07 Micron Technology, Inc. Charge loss mitigation throughout memory device lifecycle by proactive window shift
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065973A (ja) * 2004-08-27 2006-03-09 Toshiba Corp 不揮発性半導体記憶装置
KR20080104837A (ko) * 2007-05-29 2008-12-03 삼성전자주식회사 플래시 메모리 장치에서의 e - fuse 데이터 저장 방법
KR20080104838A (ko) * 2007-05-29 2008-12-03 삼성전자주식회사 플래시 메모리 장치에서의 e - fuse 데이터 독출 방법
KR20120053972A (ko) * 2010-11-18 2012-05-29 마이크론 테크놀로지, 인크. 메모리의 동작 조건에 영향을 주는 파라미터를 포함하는 메모리 명령어

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2636476B2 (ja) * 1990-07-17 1997-07-30 日本電気株式会社 不揮発性半導体記憶装置
JPH08190796A (ja) * 1995-01-09 1996-07-23 Mitsubishi Denki Semiconductor Software Kk データリフレッシュ機能を有するフラッシュメモリ及びフラッシュメモリのデータリフレッシュ方法
US5696756A (en) * 1995-04-14 1997-12-09 Kabushiki Kaishia Toshiba Optical disk having an evaluation pattern for evaluating the optical disk
US5748545A (en) * 1997-04-03 1998-05-05 Aplus Integrated Circuits, Inc. Memory device with on-chip manufacturing and memory cell defect detection capability
US6243686B1 (en) * 1997-06-30 2001-06-05 Warner Music Group, Inc. Flash memory card adapter for stereo systems
JPH11154397A (ja) * 1997-11-20 1999-06-08 Nec Ic Microcomput Syst Ltd 不揮発性半導体メモリ
JP2002025282A (ja) * 2000-07-12 2002-01-25 Hitachi Ltd 不揮発性半導体記憶装置
US20020108073A1 (en) * 2001-02-02 2002-08-08 Hughes Brian William System for and method of operating a programmable column fail counter for redundancy allocation
US6552929B1 (en) * 2001-02-08 2003-04-22 Advanced Micro Devices, Inc. Piggyback programming using an extended first pulse for multi-level cell flash memory designs
US7522457B2 (en) * 2005-03-31 2009-04-21 Sandisk Corporation Systems for erase voltage manipulation in non-volatile memory for controlled shifts in threshold voltage
US7457166B2 (en) * 2005-03-31 2008-11-25 Sandisk Corporation Erase voltage manipulation in non-volatile memory for controlled shifts in threshold voltage
US7499317B2 (en) * 2006-10-13 2009-03-03 Sandisk Corporation System for partitioned erase and erase verification in a non-volatile memory to compensate for capacitive coupling
US7535766B2 (en) * 2006-10-13 2009-05-19 Sandisk Corporation Systems for partitioned soft programming in non-volatile memory
US7499338B2 (en) * 2006-10-13 2009-03-03 Sandisk Corporation Partitioned soft programming in non-volatile memory
KR100851853B1 (ko) * 2006-11-22 2008-08-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
KR100826653B1 (ko) 2007-04-06 2008-05-06 주식회사 하이닉스반도체 낸드 플래시 메모리소자의 소거검증 방법
KR100865552B1 (ko) 2007-05-28 2008-10-28 주식회사 하이닉스반도체 플래시 메모리소자의 프로그램 검증방법 및 프로그램 방법
US8000150B2 (en) 2007-06-19 2011-08-16 Samsung Electronics Co., Ltd. Method of programming memory device
US7995394B2 (en) * 2009-07-30 2011-08-09 Sandisk Technologies Inc. Program voltage compensation with word line bias change to suppress charge trapping in memory
KR101089967B1 (ko) * 2010-07-09 2011-12-05 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR101155249B1 (ko) * 2010-11-10 2012-06-13 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 소거 방법
WO2013101043A1 (en) 2011-12-29 2013-07-04 Intel Corporation Dynamic window to improve nand memory endurance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065973A (ja) * 2004-08-27 2006-03-09 Toshiba Corp 不揮発性半導体記憶装置
KR20080104837A (ko) * 2007-05-29 2008-12-03 삼성전자주식회사 플래시 메모리 장치에서의 e - fuse 데이터 저장 방법
KR20080104838A (ko) * 2007-05-29 2008-12-03 삼성전자주식회사 플래시 메모리 장치에서의 e - fuse 데이터 독출 방법
KR20120053972A (ko) * 2010-11-18 2012-05-29 마이크론 테크놀로지, 인크. 메모리의 동작 조건에 영향을 주는 파라미터를 포함하는 메모리 명령어

Also Published As

Publication number Publication date
US9330784B2 (en) 2016-05-03
US20180196612A1 (en) 2018-07-12
US20140082460A1 (en) 2014-03-20
US9857992B2 (en) 2018-01-02
KR101654030B1 (ko) 2016-09-05
WO2013101043A1 (en) 2013-07-04
US20160357458A1 (en) 2016-12-08

Similar Documents

Publication Publication Date Title
KR101654030B1 (ko) Nand 메모리 내구성을 개선하는 동적 윈도우
CN105493194B (zh) 使用基于温度的nand设置的闪速存储器系统耐久性改进
US9564237B2 (en) Nonvolatile memory device and read method thereof
US7969788B2 (en) Charge loss compensation methods and apparatus
US20140047302A1 (en) Cycling endurance extending for memory cells of a non-volatile memory array
US9471488B2 (en) Techniques for improving reliability and performance of partially written memory blocks in modern flash memory systems
US9639463B1 (en) Heuristic aware garbage collection scheme in storage systems
US9361221B1 (en) Write amplification reduction through reliable writes during garbage collection
CA3026804A1 (en) Managing refresh for flash memory
US20130339603A1 (en) Method, apparatus and system for determining access to a memory array
KR20160061676A (ko) 반도체 장치 및 이의 동작 방법
US20230214133A1 (en) Selectively programming retired wordlines of a memory device
KR20230000690A (ko) 적응적인 기록/독출 제어를 수행하는 스토리지 장치 및 스토리지 장치의 동작방법
Yang et al. Retention failure recovery technique for 3D TLC NAND flash memory via wordline (WL) interference
US11941271B2 (en) Storage devices performing secure erase and operating methods thereof
US20230326532A1 (en) Faster multi-cell read operation using reverse read calibrations
US20240086079A1 (en) Memory pattern management for improved data retention in memory devices
US20240168638A1 (en) Throttling algorithm for block refreshing in data storage device
US20230368845A1 (en) Partial block read level voltage compensation to decrease read trigger rates
US20230360705A1 (en) Memory programming using consecutive coarse-fine programming operations of threshold voltage distributions
US20230402103A1 (en) Adaptive erase pulse width modulation based on erase suspend during erase pulse ramping period
US20240069749A1 (en) Asymmetric pass through voltage for reduction of cell-to-cell interference

Legal Events

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

Payment date: 20190729

Year of fee payment: 4