KR102483922B1 - 저항성 메모리 장치의 열화 감지 방법 및 시스템 - Google Patents
저항성 메모리 장치의 열화 감지 방법 및 시스템 Download PDFInfo
- Publication number
- KR102483922B1 KR102483922B1 KR1020180092050A KR20180092050A KR102483922B1 KR 102483922 B1 KR102483922 B1 KR 102483922B1 KR 1020180092050 A KR1020180092050 A KR 1020180092050A KR 20180092050 A KR20180092050 A KR 20180092050A KR 102483922 B1 KR102483922 B1 KR 102483922B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory cells
- memory
- read
- ber
- reset
- Prior art date
Links
Images
Classifications
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0035—Evaluating degradation, retention or wearout, e.g. by counting writing cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5678—Digital 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 amorphous/crystalline phase transition storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0045—Read using current through the cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
- G11C2013/0078—Write using current through the cell
-
- 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
- G11C2029/0409—Online test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Computer Hardware Design (AREA)
- Semiconductor Memories (AREA)
Abstract
저항성 메모리 장치의 열화 감지 방법 및 시스템이 개시된다. 메모리 컨트롤러는 메모리 셀들을 포함하는 저항성 메모리 장치의 비트 에러 율(BER)에 따른 열화를 감지한다. 메모리 컨트롤러는, 메모리 셀들을 제1 저항 상태로 프로그램 하도록 제어하고, 프로그램된 메모리 셀들을 독출 하도록 제어하고, 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 저항성 메모리 장치로부터 제공받는다. 메모리 컨트롤러는 BER에 대응하는 메모리 셀들의 프로그램 횟수를 룩업 테이블을 참조하여 결정한다.
Description
본 발명은 불휘발성 메모리 장치에 관한 것으로서, 더욱 상세하게는 저항성 메모리 장치의 열화를 감지하는 방법 및 시스템에 관한 것이다.
불휘발성 메모리 장치로서, PRAM(Phase change RAM), RRAM(Resistive RAM), MRAM(Magnetic RAM) 등과 같은 저항성 메모리 장치들이 알려져 있다. 저항성 메모리 장치들은 저항 상태의 변화에 의해 데이터를 저장하는 가변 저항 소자를 메모리 셀로서 이용하고 있다. 이러한 메모리 셀을 복수의 비트라인들과 복수의 워드라인들과의 교차점에 배치함으로써 크로스-포인트형의 저항성 메모리 장치가 구성된다. 저항성 메모리 장치는 메모리 셀 양단에 전압을 인가하여 메모리 셀을 억세스하고, 억세스된 메모리 셀은 메모리 셀의 임계 저항(threshold resistance)을 기준으로 하여 로직 "1(셋 데이터)"(저 저항 상태) 또는 로직 "0(리셋 데이터)"(고 저항 상태)을 저장한다.
저항성 메모리 장치에서 중요한 척도(criterion)는, 데이터를 보존할 수 있는 보존 기간과 데이터를 기입할 때 마모되지 않고 정상적인 동작을 수행할 수 있는 내구성(endurance) 레벨에 있다. 데이터 보존과 내구성은 메모리 셀들의 특성을 열화시키는 환경들, 예를 들면, 고온 및/또는 프로그램 횟수 등에 좌우될 수 있다(dependent on). 메모리 셀들의 열화에 의해 로직 "1"의 셋 데이터와 로직 "0"의 리셋 데이터 사이의 센싱 마진이 감소할 수 있다. 이 때문에, 결과적으로, 셋 데이터 또는 리셋 데이터의 센싱이 보다 불확실해지거나 더 느려지거나 또는 다수의 비트 에러들을 유발할 수 있다. 이러한 저항성 메모리 장치의 열화는 저항성 메모리 장치를 포함하는 스토리지 장치의 성능을 저하시킨다. 저항성 메모리 장치의 열화를 감지할 수 있다면, 스토리지 장치의 성능 저하를 미리 막을 수 있을 것이다.
본 발명의 목적은 저항성 메모리 장치의 열화를 감지하는 방법 및 시스템을 제공하는 데 있다.
본 발명의 실시예들에 따른 메모리 셀들을 포함하는 저항성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법은, 메모리 셀들을 제1 저항 상태로 프로그램 하도록 제어하는 동작, 프로그램된 메모리 셀들을 독출 하도록 제어하는 동작; 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 저항성 메모리 장치로부터 제공받는 동작, 그리고 BER에 대응하는 메모리 셀들의 프로그램 횟수를 결정하는 동작을 포함한다.
본 발명의 실시예들에 따른 저항성 메모리 장치는, 메모리 셀들을 포함하는 메모리 셀 어레이, 메모리 셀들을 제1 저항 상태로 프로그램하는 기입 회로, 프로그램된 메모리 셀들을 독출하는 독출 회로, 그리고 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 저항성 메모리 장치의 외부로 출력하는 제어 회로를 포함한다. BER은 메모리 셀들의 프로그램 횟수를 결정하는데 참조된다.
본 발명의 실시예들에 따른 메모리 시스템은, 저항성 메모리 장치 및 저항성 메모리 장치를 제어하는 메모리 컨트롤러를 포함한다. 저항성 메모리 장치는, 메모리 셀들을 포함하는 메모리 셀 어레이, 메모리 셀들을 제1 저항 상태로 프로그램하는 기입 회로, 프로그램된 메모리 셀들을 독출하는 독출 회로, 그리고 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 메모리 컨트롤러로 제공하는 제어 회로를 포함한다. 메모리 컨트롤러는 BER에 대응하는 메모리 셀들의 프로그램 횟수를 결정한다.
본 발명의 실시예들에 따르면, 메모리 컨트롤러는 메모리 셀들의 상변화막이 상 변화를 유발하는데 필요한 최소 기입 전류에 따른 BER을 저항성 메모리 장치로부터 제공받고, 룩업 테이블을 참조하여 BER에 대응하는 저항성 메모리 장치의 열화 레벨을 빠르게 감지함에 따라, 스토리지 장치의 성능 저하를 예방할 수 있다.
도 1은 본 발명의 실시예들에 따른 메모리 시스템을 설명하는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 메모리 장치를 설명하는 블록도이다.
도 3은 도 2의 메모리 셀 어레이를 상세하게 나타내는 회로도이다.
도 4a 내지 도 4d는 도 3의 메모리 셀의 변형 예들을 나타내는 회로도들이다.
도 5는 도 3의 메모리 셀에 포함된 가변 저항 소자의 일 예를 나타낸다.
도 6는 도 5의 메모리 셀에 인가되는 기입 전류를 설명하는 도면이다.
도 7a 내지 도 7c는 도 5의 메모리 셀이 싱글 레벨 셀인 경우, 메모리 셀들 의 특성을 설명하는 도면들이다.
도 8은 도 5의 메모리 셀이 멀티 레벨 셀인 경우, 저항에 따른 메모리 셀들의 분포를 나타내는 그래프이다.
도 9는 도 7a의 메모리 셀들의 리셋 데이터 상태의 문턱 전압 산포를 설명하는 도면이다.
도 10 내지 도 13은 본 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 설명하는 도면들이다.
도 14는 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법을 보여주는 순서도이다.
도 15는 도 7a의 메모리 셀의 셋 데이터 상태의 문턱 전압 산포를 설명하는 도면이다.
도 16 내지 도 19는 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 설명하는 도면들이다.
도 20은 본 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 나타내는 순서도이다.
도 21은 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법을 채용하는 메모리 시스템의 개략적인 구성을 보여주는 블록도이다.
도 22는 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법이 적용되는 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 메모리 장치를 설명하는 블록도이다.
도 3은 도 2의 메모리 셀 어레이를 상세하게 나타내는 회로도이다.
도 4a 내지 도 4d는 도 3의 메모리 셀의 변형 예들을 나타내는 회로도들이다.
도 5는 도 3의 메모리 셀에 포함된 가변 저항 소자의 일 예를 나타낸다.
도 6는 도 5의 메모리 셀에 인가되는 기입 전류를 설명하는 도면이다.
도 7a 내지 도 7c는 도 5의 메모리 셀이 싱글 레벨 셀인 경우, 메모리 셀들 의 특성을 설명하는 도면들이다.
도 8은 도 5의 메모리 셀이 멀티 레벨 셀인 경우, 저항에 따른 메모리 셀들의 분포를 나타내는 그래프이다.
도 9는 도 7a의 메모리 셀들의 리셋 데이터 상태의 문턱 전압 산포를 설명하는 도면이다.
도 10 내지 도 13은 본 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 설명하는 도면들이다.
도 14는 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법을 보여주는 순서도이다.
도 15는 도 7a의 메모리 셀의 셋 데이터 상태의 문턱 전압 산포를 설명하는 도면이다.
도 16 내지 도 19는 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 설명하는 도면들이다.
도 20은 본 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 나타내는 순서도이다.
도 21은 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법을 채용하는 메모리 시스템의 개략적인 구성을 보여주는 블록도이다.
도 22는 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법이 적용되는 시스템을 나타내는 블록도이다.
도 1은 본 발명의 실시예들에 따른 메모리 시스템을 설명하는 블록도이다.
도 1을 참조하면, 메모리 시스템(1)은 메모리 장치(10) 및 메모리 컨트롤러(20)를 포함할 수 있다. 메모리 장치(10)는 메모리 셀 어레이(11), 기입/독출 회로(12) 및 제어 회로(13)를 포함할 수 있다.
메모리 컨트롤러(20)는 호스트(HOST)로부터의 읽기/쓰기 요청에 응답하여 메모리 장치(10)에 저장된 데이터를 독출 또는 메모리 장치(10)에 데이터를 기입하도록 메모리 장치(10)를 제어할 수 있다. 메모리 컨트롤러(20)는 메모리 장치(10)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(10)에 대한 프로그램(또는 기입) 및 독출(read) 동작을 제어할 수 있다. 또한, 프로그램 동작을 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(20)와 메모리 장치(10) 사이에서 송수신될 수 있다.
도시되지는 않았으나, 메모리 컨트롤러(20)는 램(RAM), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface), 메모리 인터페이스(memory interface), 롬(ROM) 또는 불휘발성 메모리를 포함할 수 있다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 수 있고, 프로세싱 유닛은 메모리 컨트롤러(20)의 동작을 제어할 수 있다. 호스트 인터페이스는 호스트(HOST) 및 메모리 컨트롤러(20) 사이의 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(HOST)와 통신하도록 구성될 수 있다.
메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 메모리 장치(10)의 열화 정도를 빠르게 감지할 수 있다. 룩업 테이블(LUT)은 메모리 장치(10)의 프로그램 횟수와 에러 비트들의 비율로 설정될 수 있다. 룩업 테이블(LUT)은, 메모리 장치(10)의 복수의 리셋 독출 전압 레벨들에 따른 비트 에러 율(BER) 및/또는 복수의 리셋 기입 전류 레벨들에 따른 BER과 프로그램 횟수와의 상관 관계를 나타낼 수 있다. 또는, 룩업 테이블(LUT)은, 메모리 장치(10)의 복수의 셋 독출 전압 레벨들에 따른 비트 에러 율(BER) 및/또는 복수의 셋 기입 전류 레벨들에 따른 BER과 프로그램 횟수와의 상관 관계를 나타낼 수 있다. 룩업 테이블(LUT)은 롬(ROM) 또는 불휘발성 메모리에 저장될 수 있다.
메모리 셀 어레이(11)는 복수의 제1 신호 라인들과 복수의 제2 신호 라인들이 교차하는 영역들에 각각 배치되는 복수의 메모리 셀들을 포함할 수 있다. 일 실시예에서, 복수의 제1 신호 라인들은 복수의 비트 라인들일 수 있고, 복수의 제2 신호 라인들은 복수의 워드 라인들일 수 있다. 다른 실시예에서, 복수의 제1 신호 라인들은 복수의 워드 라인들일 수 있고, 복수의 제2 신호 라인들은 복수의 비트 라인들일 수 있다.
본 실시예에서, 복수의 메모리 셀들은 가변 저항을 갖는 가변 저항 소자를 포함하는 저항형 메모리 셀들 또는 저항성 메모리 셀들을 포함할 수 있다. 예를 들어, 가변 저항 소자가 상변화(phase change) 물질(GST, Ge-Sb-Te)로서 온도에 따라 저항이 변화하는 경우에는 메모리 장치(10)는 PRAM이 될 수 있다. 다른 예를 들어, 가변 저항 소자가 상부 전극, 하부 전극 및 그 사이에 있는 전이금속 산화물(complex metal oxide)로 형성된 경우에는 메모리 장치(10)는 RRAM이 될 수 있다. 또 다른 예를 들어, 가변 저항 소자가 자성체의 상부 전극, 자성체의 하부 전극 및 그 사이에 있는 유전체로 형성된 경우에는 메모리 장치(10)는 MRAM이 될 수 있다.
기입/독출 회로(12)는 메모리 셀들을 프로그램하고, 프로그램된 메모리 셀들을 독출할 수 있다. 기입/독출 회로(12)는 메모리 셀들을 하나의 데이터 상태로 반복적으로 프로그램하고, 프로그램된 메모리 셀들을 독출할 수 있다. 기입/독출 회로(12)는 메모리 셀들에 복수의 기입 전류들을 인가하여 프로그램 동작을 수행하고, 독출 전압을 이용하여 프로그램된 메모리 셀들을 독출하는 독출 동작을 수행할 수 있다. 복수의 기입 전류들에는 메모리 셀들의 상변화막이 상 변화를 유발하는데 필요한 최소 기입 전류를 포함할 수 있다. 또는, 기입/독출 회로(12)는 메모리 셀들의 상변화막이 상 변화를 유발하는데 필요한 최소 기입 전류를 메모리 셀들에 인가하여 프로그램 동작을 수행하고, 복수의 독출 전압들을 이용하여 프로그램된 메모리 셀들을 독출하는 독출 동작을 수행할 수 있다.
제어 회로(13)는 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 카운트할 수 있다. 제어 회로(13)는 BER을 메모리 컨트롤러(20)로 제공할 수 있다. 제어 회로(13)는 복수의 기입 전류들에 따른 BER 및/또는 복수의 독출 전압들에 따른 BER을 메모리 컨트롤러(20)로 제공할 수 있다.
메모리 컨트롤러(20) 및 메모리 장치(10)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 메모리 컨트롤러(20) 및 메모리 장치(10)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들어, 메모리 컨트롤러(20) 및 메모리 장치(10)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS) 등을 구성할 수 있다. 다른 예를 들면, 메모리 컨트롤러(20) 및 메모리 장치(10)는 하나의 반도체 장치로 집적되어 SSD(Solid State Disk/Drive)를 구성할 수 있다.
도 2는 도 1의 메모리 시스템(1)에 포함된 메모리 장치를 설명하는 블록도이다.
도 2를 참조하면, 메모리 장치(10)는 메모리 셀 어레이(11), 기입/독출 회로(12), 제어 회로(13), 전압 생성부(14), 로우 디코더(15) 및 칼럼 디코더(16)를 포함할 수 있고, 기입/독출 회로(12)는 기입 회로(121)와 독출 회로(122)를 포함할 수 있다.
메모리 셀 어레이(11)는 복수의 제1 신호 라인들 및 복수의 제2 신호 라인들에 연결될 수 있고, 복수의 제1 신호 라인들과 복수의 제2 신호 라인들이 교차하는 영역들에 각각 배치되는 복수의 메모리 셀들을 포함할 수 있다. 이하에서는, 복수의 제1 신호 라인들은 비트 라인들(BL)이고, 복수의 제2 신호 라인들은 워드 라인들(WL)인 경우를 예로 하여 본 발명의 실시예들을 설명하기로 한다.
메모리 셀 어레이(11)는, 도 3에 도시된 바와 같이, 수평 구조의 2차원 메모리 셀 어레이일 수 있고, 복수의 워드 라인들(WL1 내지 WLn), 복수의 비트 라인들(BL1 내지 BLm) 및 복수의 메모리 셀들(MC)을 포함할 수 있다. 메모리 셀 어레이(11)는 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록은 복수의 메모리 셀들이 행들 및 열들로 배열될 수 있다. 여기서, 워드 라인들(WL)의 개수, 비트 라인들(BL)의 개수 및 메모리 셀들(MC)의 개수는 실시예에 따라 다양하게 변경될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 메모리 셀 어레이(11)는 수직 구조의 3차원 메모리 셀 어레이일 수 있다.
본 실시예에 따르면, 복수의 메모리 셀들(MC) 각각은 가변 저항 소자(R) 및 선택 소자(D)를 포함할 수 있다. 여기서, 가변 저항 소자(R)는 가변 저항 물질이라고 지칭할 수 있고, 선택 소자(D)는 스위칭 소자라고 지칭할 수 있다.
일 실시예에서, 가변 저항 소자(R)는 복수의 비트 라인들(BL1 내지 BLm) 중 하나와 선택 소자(D)의 사이에 연결되며, 선택 소자(D)는 가변 저항 소자(R)와 복수의 워드 라인들(WL1 내지 WLn) 중 하나의 사이에 연결될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 선택 소자(D)가 복수의 비트 라인들(BL1 내지 BLm) 중 하나와 가변 저항 소자(R) 사이에 연결되고, 가변 저항 소자(R)가 선택 소자(D)와 복수의 워드 라인들(WL1 내지 WLn) 중 하나의 사이에 연결될 수 있다.
선택 소자(D)는 복수의 워드 라인들(WL1 내지 WLn) 중 어느 하나와 가변 저항 소자(R) 사이에 연결될 수 있으며, 연결된 워드 라인과 비트 라인에 인가되는 전압에 따라 가변 저항 소자(R)로의 전류 공급을 제어할 수 있다. 도 3에서, 선택 소자(D)는 다이오드인 것으로 도시되었으나, 이는 본 발명의 일 실시예에 불과하며, 다른 실시예에서, 선택 소자(D)는 스위칭 가능한 다른 소자로 변경될 수 있다.
메모리 셀(MC)의 변형 예들이 도 4a 내지 도 4d와 같이 구현될 수 있다. 도 4a에서, 메모리 셀(MCa)은 가변 저항 소자(Ra)를 포함하고, 가변 저항 소자(Ra)는 비트 라인(BL)과 워드 라인(WL)에 연결될 수 있다. 메모리 셀(MCa)은 비트 라인(BL)과 워드 라인(WL)에 각각 인가되는 전압들에 의해서 데이터의 저장이 수행될 수 있다.
도 4b에서, 메모리 셀(MCb)은 가변 저항 소자(Rb)와 단방향 다이오드(Da)를 포함할 수 있다. 가변 저항 소자(Rb)는 데이터를 저장하기 위한 저항 물질을 포함할 수 있다. 단방향 다이오드(Da)는 워드 라인(WL) 및 비트 라인(BL)의 바이어스에 따라 가변 저항 소자(R)에 전류를 공급 또는 차단하는 선택 소자, 즉, 스위칭 소자일 수 있다. 단방향 다이오드(Da)는 가변 저항 소자(Rb)와 워드 라인(WL) 사이에 연결되며, 가변 저항 소자(R)는 비트 라인(BL)과 단방향 다이오드(Da) 사이에 연결될 수 있다. 단방향 다이오드(Da)와 가변 저항 소자(R)의 위치는 서로 바뀔 수도 있다.
일 실시예에서, 단방향 다이오드(Da)는 PN 접합 또는 PIN 접합 다이오드일 수 있으며, 단방향 다이오드(Da)의 애노드(anode)가 가변 저항 소자(Rb)에 연결되고, 단방향 다이오드(Da)의 캐소드(cathode)가 복수의 워드 라인들(WL1 내지 WLn) 중 하나에 연결될 수 있다. 이때, 단방향 다이오드(Da)의 애노드와 캐소드 사이의 전압 차가 단방향 다이오드(Da)의 문턱 전압보다 커지면, 단방향 다이오드(Da)가 턴 온되어 가변 저항 소자(Ra)에 전류가 공급될 수 있다.
도 4c에서, 메모리 셀(MCc)은 가변 저항 소자(Rc)와 양방향 다이오드(Db)를 포함할 수 있다. 가변 저항 소자(Rc)는 데이터를 저장하기 위한 저항 물질을 포함할 수 있다. 양방향 다이오드(Db)는 가변 저항 소자(R)와 워드 라인(WL) 사이에 연결되며, 가변 저항 소자(Rc)는 비트 라인(BL)과 양방향 다이오드(Db) 사이에 연결될 수 있다. 양방향 다이오드(Db)와 가변 저항 소자(Rc)의 위치는 서로 바뀔 수도 있다. 양방향 다이오드(Db)를 통해서 비선택 저항 셀에 흐르게 되는 누설 전류를 차단할 수 있다.
도 4d에서, 메모리 셀(MCd)은 가변 저항 소자(Rd)와 트랜지스터(TR)를 포함할 수 있다. 트랜지스터(TR)는 워드 라인(WL)의 전압에 따라 가변 저항 소자(Rd)에 전류를 공급 또는 차단하는 선택 소자, 즉, 스위칭 소자일 수 있다. 트랜지스터(TR)는 가변 저항 소자(Rd)와 워드 라인(WL) 사이에 연결되며, 가변 저항 소자(R)는 비트 라인(BL)과 트랜지스터(TR) 사이에 연결될 수 있다. 트랜지스터(TR)와 가변 저항 소자(Rd)의 위치는 서로 바뀔 수도 있다. 메모리 셀(MCd)은 워드 라인(WL)에 의해서 구동되는 트랜지스터(TR)의 온/오프 여부에 따라 선택 또는 비선택될 수 있다.
다시 도 2를 참조하면, 기입 회로(121)는 선택된 비트 라인(BL)에 연결되어 선택된 메모리 셀(MC)에 프로그램 전류를 제공함으로써 프로그램 동작(즉, 기입 동작)을 수행할 수 있고, 이로써, 메모리 셀 어레이(11)에 저장하고자 하는 데이터(DATA)를 입력할 수 있다. 여기서, 프로그램 전류는 기입 전류라고 지칭할 수도 있다.
기입 회로(121)는 메모리 컨트롤러(20)로부터 기입 커맨드가 수신된 경우 메모리 셀들(MC)에 대한 기입 동작을 수행할 수 있다. 기입 회로(121)는 메모리 셀들(MC)의 저항이 증가하는 방향으로 메모리 셀들(MC)을 프로그램하는 리셋 기입 동작을 수행할 수 있다. 또한, 기입 회로(121)는 메모리 셀들(MC)의 저항이 감소하는 방향으로 메모리 셀들(MC)을 프로그램하는 셋 기입 동작을 수행할 수 있다.
일 실시예에서, 기입 회로(121)는 메모리 셀들(MC)이 고 저항 상태로 변하는 데 필요한 최소 리셋 기입 전류를 제공하여 메모리 셀들(MC)을 고 저항 상태의 리셋 데이터로 프로그램할 수 있다. 또는, 기입 회로(121)는 메모리 셀들(MC)에 복수의 리셋 기입 전류들을 제공하여 메모리 셀들(MC)을 고 저항 상태의 리셋 데이터로 프로그램할 수 있다. 복수의 리셋 기입 전류들에는 메모리 셀들(MC)이 고 저항 상태로 변하는 데 필요한 최소 리셋 기입 전류가 포함될 수 있다.
다른 실시예에서, 기입 회로(121)는 메모리 셀들(MC)이 저 저항 상태로 변하는 데 필요한 최소 셋 기입 전류를 제공하여 메모리 셀들(MC)을 저 저항 상태의 셋 데이터로 프로그램할 수 있다. 또는, 기입 회로(121)는 메모리 셀들(MC)에 복수의 셋 기입 전류들을 제공하여 메모리 셀들(MC)을 저 저항 상태의 셋 데이터로 프로그램할 수 있다. 복수의 셋 기입 전류들에는 메모리 셀들(MC)이 저 저항 상태로 변하는 데 필요한 최소 셋 기입 전류가 포함될 수 있다.
독출 회로(122)는 선택된 비트 라인(BL)에 연결되어 선택된 메모리 셀(MC)에 저장된 데이터(DATA)를 독출할 수 있다. 독출 회로(122)는 메모리 컨트롤러(20)로부터 독출 커맨드가 수신된 경우 메모리 셀(MC)에 대한 독출 동작을 수행할 수 있다. 독출 회로(122)는 메모리 셀들(MC)의 데이터를 각각 독출하고, 독출 결과를 제어 회로(13)에 제공할 수 있다.
일 실시예에서, 독출 회로(122)는 복수의 리셋 독출 전압들을 이용하여 최소 리셋 기입 전류로 프로그램된 메모리 셀들(MC)에 대한 독출 동작을 수행할 수 있다. 또는, 독출 회로(122)는 리셋 독출 전압을 이용하여 복수의 리셋 기입 전류들로 프로그램된 메모리 셀들(MC)에 대한 독출 동작을 수행할 수 있다.
다른 실시예에서, 독출 회로(122)는 복수의 셋 독출 전압들을 이용하여 최소 셋 기입 전류로 프로그램된 메모리 셀들(MC)에 대한 독출 동작을 수행할 수 있다. 또는, 독출 회로(122)는 셋 독출 전압을 이용하여 복수의 셋 기입 전류들로 프로그램된 메모리 셀들(MC)에 대한 독출 동작을 수행할 수 있다.
제어 회로(13)는 메모리 컨트롤러(20)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(11)에 데이터(DATA)를 기입하거나 메모리 셀 어레이(11)로부터 데이터(DATA)를 독출하기 위한 각종 제어 신호들(CTRL_OP. CTRL_VOL)을 출력할 수 있다. 제어 회로(13)는 기입/독출 회로(12)에 동작 제어 신호들(CTRL_OP)을 제공할 수 있다. 또한, 제어 회로(13)은 전압 생성부(14)에 전압 제어 신호(CTRL_VOL)를 제공할 수 있다. 나아가, 제어 회로(13)은 로우 디코더(15)에 로우 어드레스(X_ADDR)를 제공할 수 있으며, 칼럼 디코더(16)에 칼럼 어드레스(Y_ADDR)를 제공할 수 있다.
제어 회로(13)는 메모리 셀 어레이(11) 내 메모리 블록들의 전체 또는 일부 영역의 메모리 셀들(MC)에 대하여 동일한 데이터가 반복적으로 프로그램되도록 제어할 수 있다.
일 실시예에서, 제어 회로(13)는 메모리 블록의 메모리 셀들(MC)에 리셋 데이터가 프로그램 되도록 제어하고, 해당 메모리 블록 영역에 프로그램된 리셋 데이터 비트들의 수를 저장할 수 있다. 제어 회로(13)는 프로그램된 리셋 데이터 비트들의 수와 독출 회로(122)를 통해 독출되는 리셋 데이터 비트들의 수를 비교하고, 그 차이를 BER로서 출력할 수 있다. 제어 회로(13)는 복수의 리셋 기입 전류들로 프로그램된 메모리 셀들에 대한 BER 및/또는 복수의 리셋 독출 전압들의 레벨로 독출된 메모리 셀들에 대한 BER을 메모리 컨트롤러(20)로 제공할 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 복수의 리셋 기입 전류들에 따른 BER 및/또는 복수의 리셋 독출 전압들의 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
다른 실시예에서, 제어 회로(13)는 메모리 블록의 메모리 셀들(MC)에 셋 데이터가 프로그램 되도록 제어하고, 해당 메모리 블록 영역에 프로그램된 셋 데이터 비트들의 수를 저장할 수 있다. 제어 회로(13)는 프로그램된 셋 데이터 비트들의 수와 독출 회로(122)를 통해 독출되는 셋 데이터 비트들의 수를 비교하고, 그 차이를 BER로서 출력할 수 있다. 제어 회로(13)는 복수의 셋 기입 전류들로 프로그램된 메모리 셀들에 대한 BER 및/또는 복수의 셋 독출 전압들의 레벨로 독출된 메모리 셀들에 대한 BER을 메모리 컨트롤러(20)로 제공할 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 복수의 셋 기입 전류들에 따른 BER 및/또는 복수의 셋 독출 전압들의 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
전압 생성부(14)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(11)에 대한 기입 및 독출 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(14)는 복수의 워드 라인들(WL)을 구동하기 위한 제1 구동 전압(VWL) 및 복수의 비트 라인들(BL)을 구동하기 위한 제2 구동 전압(VBL)을 생성할 수 있다.
로우 디코더(15)는 복수의 워드 라인들(WL)을 통해 메모리 셀 어레이(11)에 연결되고, 제어 회로(13)으로부터 수신한 로우 어드레스(X_ADDR)에 응답하여 복수의 워드 라인들(WL) 중 선택된 워드 라인을 활성화할 수 있다. 로우 디코더(15)는 로우 어드레스(X_ADDR)에 응답하여 복수의 워드 라인들(WL) 중 선택된 워드 라인에 인가되는 전압을 제어하거나 선택된 워드 라인의 연결 관계를 제어할 수 있다.
칼럼 디코더(16)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(11)에 연결되고, 제어 회로(13)로부터 수신한 칼럼 어드레스(Y_ADDR)에 응답하여 복수의 비트 라인들(BL) 중 선택된 비트 라인을 활성화할 수 있다. 칼럼 디코더(16)는 칼럼 어드레스(Y_ADDR)에 응답하여 복수의 비트 라인들(BL) 중 선택된 비트 라인에 인가되는 전압을 제어하거나 선택된 비트 라인의 연결 관계를 제어할 수 있다.
도 5는 도 3의 메모리 셀(MC)에 포함된 가변 저항 소자(R)의 일 예를 나타낸다.
도 5를 참조하면, 메모리 셀(MC)은 가변 저항 소자(R)와 스위칭 소자(SW)로 구성될 수 있다. 스위칭 소자(SW)는 트랜지스터, 다이오드 등과 같은 다양한 소자들을 이용하여 구현될 수 있다. 가변 저항 소자(R)는 도 5에서 확대되어 도시된 바와 같이, 게르마늄, 안티몬 및 텔루르 혼합물(GST, Ge-Sb-Te)로 이루어진 상변화막(51), 상변화막(51) 상부에 형성된 상부 전극(52), 그리고 상변화막(51) 하부에 형성된 하부 전극(53)을 포함할 수 있다.
상부 및 하부 전극들(52, 53)은 다양한 금속, 금속 산화물 또는 금속 질화물로 형성될 수 있다. 상부 및 하부 전극들(52, 53)은 알루미늄(Al), 구리(Cu), 티타늄 질화물(TiN), 티타늄 알루미늄 질화물(TixAlyNz), 이리듐(Ir), 백금(Pt), 은(Ag), 금(Au), 폴리실리콘(poly silicon), 텅스텐(W), 티타늄(Ti), 탄탈륨(Ta), 탄탈륨 질화물(TaN), 텅스텐 질화물(WN), 니켈(Ni), 코발트(Co), 크롬(Cr), 안티몬(Sb), 철(Fe), 몰리브덴(Mo), 팔라듐(Pd). 주석(Sn). 지르코늄(Zr), 아연(Zn), 산화 이리듐(IrO2), 산화스트론튬지르코네이트(StZrO3) 등일 수 있다.
상변화막(51)은 쌍극성(bipolar) 저항 기억 재료 또는 단극성(unipolar) 저항 기억 재료로 형성될 수 있다. 쌍극성 저항 기억 재료는 전류의 극성에 의하여 셋 상태나 리셋 상태로 프로그램될 수 있으며, 쌍극성 저항 기억 재료에는 페로브스카이트(Perovskite) 계열의 물질들이 사용될 수 있다. 한편, 단극성 저항 기억 재료는 동일한 극성의 전류에 의해서도 셋이나 리셋 상태로 프로그램될 수 있으며, 단극성 저항 기억 재료에는, NiOx나 TiOx와 같은 전이 금속 산화물(transition metal oxide) 등이 사용될 수 있다.
GST 물질은 비교적 높은 저항율(resistivity)을 갖는 비결정 상태(amorphous state)와 비교적 낮은 저항율을 갖는 결정 상태(crystalline state) 사이에서 프로그램될 수 있다. GST 물질을 가열함으로써 GST 물질이 프로그램될 수 있다. 가열의 크기 및 시간은 GST 물질이 비결정 상태 또는 결정 상태로 남아있는지의 여부를 결정할 수 있다. 높은 저항율 및 낮은 저항율은 각각 프로그램된 값들 로직 "0" 또는 로직 "1"로 나타낼 수 있으며, GST 물질의 저항율을 측정함으로써 감지될 수 있다. 이와 반대로, 높은 저항율 및 낮은 저항율은 각각 프로그램된 값들 로직 "1" 또는 로직 "0"로 나타낼 수 있다.
도 5에서, 메모리 셀(MC)에 기입 전류(I)가 인가되면, 인가된 기입 전류(I)는 하부 전극(53)을 통해 흐르게 된다. 매우 짧은 시간 동안 기입 전류(I)가 메모리 셀(MC)에 인가되면, 인가된 기입 전류(I)는 하부 전극(53)의 인접한 막만이 주울열(Joule's heat)로 가열된다. 이 때, 가열 프로파일(heating profile)의 차이에 의해서 상변화막(51)의 일부(도 5에서 해칭된 부분)가 결정 상태(또는 셋 상태)가 되거나 비결정 상태(또는 리셋 상태)가 된다.
도 6는 도 5의 메모리 셀에 인가되는 기입 전류를 설명하는 도면이다.
도 6을 참조하면, 상변화막(51)을 비결정 상태(또는 리셋 상태)로 만들기 위해서는, 메모리 셀(MC)에 높은 전류의 리셋 기입 전류(Irst)가 짧은 시간 동안 인가된 후 제거된다. 상변화막(51)을 결정 상태(또는 셋 상태)로 만들기 위해서는 리셋 기입 전류(Irst)보다 낮은 전류의 셋 기입 전류(Iset)가 메모리 셀(MC)에 인가되고, 인가된 셋 기입 전류(Iset)는 상변화막(51)이 결정화되도록 일정 시간 동안 유지된 후 제거된다. 메모리 셀(MC)은 상술한 방식에 따라 결정 상태 또는 비결정 상태 중 어느 하나로 설정될 수 있다. 여기에서, TP1은 상변화막(51)의 결정화 온도를 나타내고, TP2는 상변화막(51)의 녹는점을 나타낸다.
도 7a 내지 도 7c는 도 5의 메모리 셀이 싱글 레벨 셀인 경우, 메모리 셀들 의 특성을 설명하는 도면들이다.
도 7a를 참조하면, 메모리 셀(MC)이 1 비트로 프로그램되는 싱글 레벨 셀들(SLC)의 이상적인 문턱 전압 산포를 보여준다. 도 7a에서, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다.
메모리 셀(MC)의 가변 저항 소자(R)는 저 저항 상태(LRS) 또는 고 저항 상태(HRS)를 가질 수 있다. 메모리 셀(MC)에 기입 전류를 인가하여 가변 저항 소자(R)를 고 저항 상태(HRS)에서 저 저항 상태(LRS)로 스위칭하는 동작을 셋 동작 또는 셋 기입 동작이라고 한다. 또한, 메모리 셀에 기입 전류를 인가하여 가변 저항 소자(R)를 저 저항 상태(LRS)에서 고 저항 상태(HRS)로 스위칭하는 동작을 리셋 동작 또는 리셋 기입 동작이라고 한다.
저 저항 상태(LRS)에 따른 산포와 고 저항 상태(HRS)에 따른 산포 사이의 특정 전압을 독출 전압(Vread)으로 설정할 수 있다. 메모리 셀(MC)에 대한 독출 동작에서, 독출 결과가 독출 전압(Vread) 이상인 경우에는 고 저항 상태(HRS)인 리셋 데이터(로직 "0")인 것으로 판단하고, 독출 결과가 독출 전압(Vread) 이하인 경우에는 저 저항 상태(LRS)인 셋 데이터(로직 "1") 것으로 판단할 수 있다. 메모리 셀(MC)이 반복해서 리셋 데이터(로직 "0")로 프로그램되거나 셋 데이터(로직 "1")로 프로그램되는 경우, 도 7b 및 도 7c에 도시된 바와 같이, 메모리 셀(MC)의 저항 특성이 저하될 수 있다.
도 7b를 참조하면, 높은 전류의 인가를 통해 로직 "0"의 리셋 데이터로 계속해서 프로그램되는 메모리 셀의 예시적인 특성을 보여준다. 도 7b에서, 가로축은 프로그램 사이클 수를 나타내고, 세로축은 저항을 나타낸다. 초기에 메모리 셀(MC)의 저항성이 잘 작용(behave)하여 상변화막(51)은 높은 저항을 나타낸다. 그러나, 메모리 셀(MC)이 로직 "1"의 셋 데이터로의 임의로 개재하는(intervening) 프로그래밍없이 계속해서 로직 "0"의 리셋 데이터로 프로그램되면, 메모리 셀(MC)의 저항이 감소될 수 있다. 이에 따라, 로직 "1"의 셋 데이터와 로직 "0"의 리셋 데이터 사이의 센싱 마진이 감소하기 때문에, 결과적으로, 로직 "0"의 리셋 데이터 센싱이 보다 불확실해지거나 더 느려지거나 또는 일반적으로 더 신뢰할 수 없게 된다. 이에 따라, 저항성 메모리 장치의 신뢰성이 감소될 수 있다.
도 7c를 참조하면, 로직 "0"의 리셋 데이터의 저하(degradation)가 로직 "1"의 셋 데이터에서도 존재할 수 있음을 보여준다. 메모리 셀(MC)이 로직 "0"의 리셋 데이터로의 임의로 개재하는 프로그래밍없이 계속해서 로직 "1"의 셋 데이터로 프로그램되면, 메모리 셀의 저항은 프로그램 사이클 수의 함수로서 증가할 수 있다. 로직 "1"의 셋 데이터의 저항성의 증가는 로직 "1"의 셋 데이터와 로직 "0"의 리셋 데이터 사이의 센싱 마진을 감소시키며, 저항성 메모리 장치의 신뢰성을 감소시킬 수 있다.
도 8은 도 5의 메모리 셀(MC)이 멀티 레벨 셀인 경우, 저항에 따른 메모리 셀들(MC)의 분포를 나타내는 그래프이다. 도 8에서, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들(MC)의 개수를 나타낸다.
도 8을 참조하면, 메모리 셀(MC)이 2 비트로 프로그램되는 멀티 레벨 셀(multi level cell, MLC)인 경우, 메모리 셀(MC)은 제1 저항 상태(RS1), 제2 저항 상태(RS2), 제3 저항 상태(RS3) 및 제4 저항 상태(RS4) 중 하나를 가질 수 있다.
그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 3 비트의 데이터를 저장하는 트리플 레벨 셀들(TLC, triple level cells)을 포함할 수 있고, 이에 따라, 8개의 저항 상태들 중 하나를 각각 가질 수 있다. 또 다른 실시예에서, 복수의 메모리 셀들은 4 비트 이상의 데이터를 각각 저장할 수 있는 메모리 셀들을 포함할 수도 있다.
싱글 레벨 셀에 비하여 멀티 레벨 셀의 경우, 저항 분포들 사이의 간격이 좁으므로, 멀티 레벨 셀에서는 문턱 전압의 작은 변화에 의해 독출 오류가 발생될 수 있다. 따라서, 독출 마진(read margin)을 확보하기 위하여 저항 상태(RS1, RS2, RS3, RS4) 각각은 서로 중복되지 않는 문턱 전압 범위(range)를 가질 수 있다.
각각의 저항 상태(RS1, RS2, RS3, RS4)는 데이터 '00', 데이터 '01', 데이터 '10' 및 데이터 '11' 중 어느 하나에 해당할 수 있다. 일 실시예에서, 저항 레벨은 데이터 '11', 데이터 '01', 데이터 '00', 데이터 '10'의 순서로 커질 수 있다. 즉, 제1 저항 상태(RS1)는 데이터 '11'에 해당하고, 제2 저항 상태(RS2)는 데이터 '01'에 해당하고, 제3 저항 상태(RS3)는 데이터 '00'에 해당하며, 제4 저항 상태(RS4)는 데이터 '10'에 해당할 수 있다.
각각의 저항 상태(RS1, RS2, RS3, RS4)는 메모리 셀들의 프로그램 횟수가 증가될수록 문턱 전압 범위가 넓게 퍼질 수 있다. 이에 따라, 저항 상태(RS1, RS2, RS3, RS4) 각각의 독출 마진이 줄어들 수 있다.
도 9는 도 7a의 메모리 셀의 리셋 데이터 상태의 문턱 전압 산포를 설명하는 도면이다.
도 9를 참조하면, 메모리 셀(MC)에 복수의 리셋 기입 전류들(Irst1, Irst2, Irst3)을 인가하여 프로그램 동작들을 수행한 후, 프로그램 동작들에 따른 리셋 데이터의 문턱 전압 산포를 보여준다. 프로그램 동작 초기에는 복수의 리셋 기입 전류들(Irst1, Irst2, Irst3)에 따라 프로그램된 메모리 셀들(MC)의 리셋 데이터의 문턱 전압 산포들이 거의 동일한 모양을 갖는다. 이 후, 프로그램 횟수가 증가하여 프로그램 횟수가 M번 정도로 증가하면, 리셋 데이터의 문턱 전압 산포들의 모양이 변경되어 넓어지는 것(A)을 볼 수 있다.
예시적으로, 다수의 리셋 기입 전류들(Irst1, Irst2, Irst3) 중에서 가장 높은 전류가 제1 리셋 기입 전류(Irst1)이고, 가장 낮은 전류가 제3 리셋 기입 전류(Irst3)라고 가정하자. M 번의 프로그램 횟수에 따른 스트레스로 인하여, 가장 낮은 제3 리셋 기입 전류(Irst3)로 프로그램된 메모리 셀(MC)의 리셋 데이터의 문턱 전압 산포가 왼쪽으로, 즉 셋 데이터의 저저항 상태 쪽으로 이동하며 크게 넓어지는 것을 볼 수 있다.
메모리 셀들(MC)을 독출할 때, 제3 리셋 기입 전류(Irst3)로 프로그램된 메모리 셀(MC)을 독출 전압(Vread)을 이용하여 독출하면, 빗금친 부분에 속하는 메모리 셀들은 리셋 데이터로 프로그램 되었음에도 불구하고, 문턱 전압 감소로 인하여 셋 데이터로 판단될 수 있다. 즉, 빗금친 부분에 속하는 메모리 셀들의 수가 비트 에러 율(Bit Error Rate: BER)로 나타나며, BER이 큰 것을 볼 수 있다. 그리고, 제3 리셋 기입 전류(Irst3)에 따른 리셋 데이터의 BER은 프로그램 횟수가 증가할수록 더욱 커질 것이라고 예상할 수 있다. 이에 따라, 가장 낮은 제3 리셋 기입 전류(Irst3)에 따른 리셋 데이터의 BER은 프로그램 횟수에 따른 메모리 셀들의 열화를 감지하는 하나의 기준이 될 수 있다. 여기에서, 메모리 셀(MC)의 상변화막(51)이 리셋 상태로 상 변화를 유발하는데 필요한 최소 리셋 전류를 이용하여 리셋 데이터의 BER을 모니터링하면, 메모리 셀들(MC)의 열화 정도 및/또는 메모리 장치(10)의 열화 레벨을 감지하는 최적의 기준이 될 수 있을 것이다.
도 10 내지 도 13은 본 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 설명하는 도면이다.
도 10 내지 도 13에서는 메모리 컨트롤러(20, 도 1)에 의해 메모리 셀들(MC)의 리셋 데이터를 이용하여 메모리 장치의 열화를 감지하는 방법들이 설명된다. 메모리 컨트롤러(20)의 제어에 따라, 메모리 장치(10)는 메모리 셀들(MC)에 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3)을 인가하여 메모리 셀들(MC)이 리셋 데이터로 프로그램 되도록 기입 동작을 수행할 수 있다. 이 후, 메모리 셀들(MC)의 프로그램 상태를 판단하기 위하여, 메모리 컨트롤러(20)의 제어에 따라, 메모리 장치(10)는 제1 내지 제3 리셋 독출 전압들(VR1, VR2, VR3)을 이용하여 독출 동작을 수행할 수 있다. 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3) 중에서 제1 리셋 기입 전류(Irst1)가 가장 높은 것으로, 그리고 제3 리셋 기입 전류(Irst3)가 가장 낮으며 메모리 셀(MC)의 상변화막(51)이 리셋 상태로 상 변화를 유발하는데 필요한 최소 리셋 기입 전류로 설정될 수 있다. 제1 내지 제3 리셋 독출 전압들(VR1, VR2, VR3)에서의 독출 방향은 제1 리셋 독출 전압(VR1)에서 제3 리셋 독출 전압(VR3)으로 전압 레벨이 감소하는 방향으로 설정될 수 있다.
도 10을 참조하면, 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3) 각각을 메모리 셀들(MC)에 인가하는 프로그램 동작들을 수행하고, 프로그램 동작 초기에, N 번의 프로그램 횟수 후에, 그리고 M(M>N) 번의 프로그램 횟수 후에 메모리 셀들(MC)의 데이터를 독출하였을 때의 리셋 데이터 문턱 전압 산포들을 보여준다. 프로그램 동작 초기의 문턱 전압 산포 모양이 프로그램 횟수가 증가할수록 문턱 전압 산포 모양이 왼쪽으로 이동하며 크게 넓어지는 것을 볼 수 있다.
본 실시예에서 보여주는 리셋 데이터의 문턱 전압 산포들은, 도 7a의 고 저항 상태(HRS)에 따른 산포 또는 도 8의 제2 내지 제4 저항 상태들(RS2, RS3, RS4)의 산포들 중 어느 하나에 해당될 수 있다. 바람직하게, 도 8의 MLC에서는 가장 높은 저항 상태인 제4 저항 상태(RS4)의 문턱 전압 산포에 해당될 수 있다.
실시예에 따라, 메모리 컨트롤러(20, 도 1)는 메모리 셀들(MC)의 열화 정도를 감지하기 위하여, 메모리 셀들을 특정 기입 전류로 프로그램한 후, 메모리 셀들(MC)을 독출할 수 있다. 예시적으로, 제3 리셋 기입 전류(Irst3)로 프로그램된 메모리 셀들(MC)을 독출하는 경우, 도 11에 도시된 바와 같이, 제1 내지 제3 리셋 독출 전압들(VR1, VR2, VR3)의 전압 레벨에 따라 BER이 달라질 수 있다. 프로그램 횟수가 증가할수록 제1 내지 제3 리셋 독출 전압들(VR1, VR2, VR3)에 따른 BER이 증가할 수 있다. 본 실시예에서, 리셋 독출 전압들(VR1, VR2, VR3)의 개수가 3개이지만, 본 발명은 이에 한정되지 않으며, 복수의 리셋 독출 전압 레벨들의 개수는 다양하게 변경될 수 있다.
제1 내지 제3 리셋 독출 전압들(VR1, VR2, VR3)에 따른 BER이 메모리 컨트롤러(20, 도 1)로 제공될 수 있다. 메모리 컨트롤러(20)는 제1 내지 제3 리셋 독출 전압들(VR1, VR2, VR3)의 전압 레벨에 따른 BER을 확인하고, 메모리 셀들(MC)의 열화 정도를 감지할 수 있다. 메모리 컨트롤러(20)는 BER 확인시에, 룩업 테이블(LUT)을 참조할 수 있다. 룩업 테이블(LUT)은 프로그램 횟수와 복수의 리셋 독출 전압 레벨들에 따른 BER과의 상관 관계를 보여주는 것으로, 메모리 컨트롤러(20)에 저장될 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 제1 내지 제3 리셋 독출 전압들(VR1, VR2, VR3)의 전압 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
실시예에 따라, 메모리 컨트롤러(20)는 메모리 셀들(MC)의 열화 정도를 감지하기 위하여, 메모리 셀들(MC)을 복수의 리셋 기입 전류들로 프로그램 한 후 메모리 셀들(MC)을 특정 리셋 독출 전압 레벨로 독출할 수 있다. 예시적으로, 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3)로 프로그램된 메모리 셀들(MC)을 제1 리셋 독출 전압(VR1)으로 독출하는 경우, 도 12에 도시된 바와 같이, 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3)의 전류 레벨에 따라 BER이 달라질 수 있다. 프로그램 횟수가 증가할수록 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3)에 따른 BER이 증가할 수 있다. 본 실시예에서, 리셋 기입 전류들(Irst1, Irst2, Irst3)의 개수가 3개이지만, 본 발명은 이에 한정되지 않으며, 복수의 리셋 기입 전류 레벨들의 개수는 다양하게 변경될 수 있다.
제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3)에 따른 BER이 메모리 컨트롤러(20)로 제공될 수 있다. 메모리 컨트롤러(20)는 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3)의 전류 레벨에 따른 BER을 확인하고, 메모리 셀들(MC)의 열화 정도를 감지할 수 있다. 메모리 컨트롤러(20)는 BER 확인시에, 룩업 테이블(LUT)을 참조할 수 있다. 룩업 테이블(LUT)은 프로그램 횟수와 복수의 리셋 기입 전류 레벨들에 따른 BER과의 상관 관계를 보여주는 것으로, 메모리 컨트롤러(20)에 저장될 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 제1 내지 제3 리셋 기입 전류들(Irst1, Irst2, Irst3)에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
룩업 테이블(LUT)은, 도 13에 도시된 바와 같이, 프로그램 횟수와 에러 비트들의 비율로 설정될 수 있다. 도 13에서, 룩업 테이블(LUT)의 가로축은 복수의 리셋 독출 전압들(VR)에 따른 BER이고, 세로축은 복수의 리셋 기입 전류들(Irst)에 따른 BER이다. 그리고, 가로축과 세로축이 교차하는 지점이 프로그램 횟수(NPC)가 된다. 룩업 테이블(LUT)은 메모리 컨트롤러(20) 제조 당시에 결정될 수 있고, 실시간으로 업데이트될 수 있다.
메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 메모리 장치(10)로부터 제공받은 특정 리셋 독출 전압 레벨에 따른 BER 및/또는 특정 리셋 기입 전류 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다. 메모리 컨트롤러(20)는 BER에 대응하는 프로그램 횟수를 확인하고, 메모리 장치(10)의 열화 정도를 감지할 수 있다.
도 14는 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법을 보여주는 순서도이다.
도 1 및 도 2와 연계하여 도 14를 참조하면, S1410 단계에서, 메모리 컨트롤러(20)는 메모리 장치(10)의 메모리 셀들(MC)이 리셋 데이터로 프로그램되도록 제어할 수 있다. 메모리 컨트롤러(20)의 기입 동작 제어에 따라, 메모리 장치(10)는 리셋 데이터 기입 동작을 수행할 수 있다. 메모리 장치(10)의 제어 회로(13)는 메모리 셀 어레이(11) 내 메모리 블록들의 전체 또는 일부 영역의 메모리 셀들에 리셋 데이터를 프로그램할 수 있다. 이 때, 제어 회로(13)는 해당 메모리 블록 영역에 프로그램된 리셋 데이터 비트들의 수를 저장할 수 있다.
S1420 단계에서, 메모리 컨트롤러(20)는 메모리 장치(10)에서 제공되는 복수의 리셋 독출 전압들에 따른 BER에 기초하여 메모리 장치(10)의 프로그램 횟수를 확인할 수 있다. 메모리 장치(10)는, 도 11에서 설명된 바와 같이, 메모리 셀들(MC)에 특정 기입 전류(예, Irst3)를 인가하여 리셋 데이터로 프로그램한 후, 복수의 리셋 독출 전압들(예, VR1, VR2, VR3)의 전압 레벨에 따라 메모리 셀들(MC)을 독출할 수 있다. 메모리 장치(10)의 제어 회로(13)는 프로그램된 리셋 데이터 비트들의 수와 독출된 리셋 데이터 비트들의 수를 비교하고, 그 차이를 BER로서 메모리 컨트롤러(20)로 제공할 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 복수의 리셋 독출 전압들에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
S1422 단계에서, 메모리 컨트롤러(20)는 메모리 장치(10)에서 제공되는 복수의 기입 전류들에 따른 BER에 기초하여 메모리 장치(10)의 프로그램 횟수를 확인할 수 있다. 메모리 장치(10)는, 도 12에서 설명된 바와 같이, 메모리 셀들(MC)에 복수의 리셋 기입 전류들(Irst1, Irst2, Irst3)의 전류 레벨을 인가하여 리셋 데이터로 프로그램한 후, 특정 리셋 독출 전압(예, VR1)의 전압 레벨에 따라 메모리 셀들(MC)을 독출할 수 있다. 메모리 장치(10)의 제어 회로(13)는 프로그램된 리셋 데이터 비트들의 수와 독출된 리셋 데이터 비트들의 수를 비교하고, 그 차이를 BER로서 메모리 컨트롤러(20)로 제공할 수 있다. 메모리 컨트롤러(20)는 룩-업 테이블(LUT)을 참조하여 복수의 리셋 기입 전류들에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
S1424 단계에서, 메모리 컨트롤러(20)는 메모리 장치(10)에서 제공되는 복수의 리셋 독출 전압들에 따른 BER 및 복수의 리셋 기입 전류들에 따른 BER에 기초하여 메모리 장치(10)의 프로그램 횟수를 확인할 수 있다. 메모리 장치(10)는 메모리 셀들(MC)에 복수의 리셋 기입 전류들의 레벨을 인가하여 리셋 데이터로 프로그램한 후, 복수의 리셋 독출 전압들의 레벨에 따라 메모리 셀들(MC)을 독출할 수 있다. 메모리 컨트롤러(20)는 룩-업 테이블을 참조하여 복수의 리셋 기입 전류 레벨들 중 특정 리셋 기입 전류 레벨에 따른 BER과 복수의 리셋 독출 전압 레벨들 중 특정 리셋 독출 전압 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
S1430 단계에서, 메모리 컨트롤러(20)는 S1420, S1422 또는 S1424 단계에서 확인된 프로그램 횟수에 기초하여 메모리 셀들(MC)의 열화 정도를 감지할 수 있다. 메모리 컨트롤러(20)는 BER에 대응하는 프로그램 횟수가 높다고 확인되면, 메모리 셀 어레이(11)의 해당 메모리 블록을 다른 메모리 블록으로 대체할 수 있다. 이에 따라, 메모리 장치(10)의 열화에 따른 에러 발생을 사전에 방지할 수 있다.
도 15는 도 7a의 메모리 셀의 셋 데이터 상태의 문턱 전압 산포를 설명하는 도면이다.
도 15를 참조하면, 메모리 셀(MC)에 복수의 셋 기입 전류들(Iset1, Iset2, Iset3)을 인가하여 프로그램 동작들을 수행한 후, 프로그램 동작들에 따른 셋 데이터의 문턱 전압 산포를 보여준다. 프로그램 동작 초기에는 복수의 셋 기입 전류들(Iset1, Iset2, Iset3)에 따라 프로그램된 메모리 셀들(MC)의 셋 데이터의 문턱 전압 산포들이 거의 동일한 모양을 갖는다. 이 후, 프로그램 횟수가 증가하여 프로그램 횟수가 M번 정도로 증가하면, 셋 데이터의 문턱 전압 산포들의 모양이 변경되어 넓어지는 것(B)을 볼 수 있다.
예시적으로, 다수의 셋 기입 전류들(Iset1, Iset2, Iset3) 중에서 가장 높은 전류가 제1 셋 기입 전류(Iset1)이고, 가장 낮은 전류가 제3 셋 기입 전류(Iset3)라고 가정하자. M 번의 프로그램 횟수에 따른 스트레스로 인하여, 가장 낮은 제3 셋 기입 전류(Iset3)로 프로그램된 메모리 셀(MC)의 셋 데이터의 문턱 전압 산포가 오른쪽으로, 즉 리셋 데이터의 고저항 상태 쪽으로 이동하며 크게 넓어지는 것을 볼 수 있다.
메모리 셀들(MC)을 독출할 때, 제3 셋 기입 전류(Iset3)로 프로그램된 메모리 셀(MC)을 독출 전압(Vread)을 이용하여 독출하면, 빗금친 부분에 속하는 메모리 셀들은 셋 데이터로 프로그램 되었음에도 불구하고, 문턱 전압 감소로 인하여 리셋 데이터로 판단될 수 있다. 즉, 빗금친 부분에 속하는 메모리 셀들의 BER이 크게 나타나고, 제3 셋 기입 전류(Iset3)에 따른 셋 데이터의 BER은 프로그램 횟수가 증가할수록 더욱 커질 것이라고 예상할 수 있다. 이에 따라, 가장 낮은 제3 셋 기입 전류(Iset3)에 따른 셋 데이터의 BER은 프로그램 횟수에 따른 메모리 셀들의 열화를 감지하는 또다른 기준이 될 수 있다. 여기에서, 메모리 셀(MC)의 상변화막(51)이 셋 상태로 상 변화를 유발하는데 필요한 최소 셋 기입 전류를 이용하여 셋 데이터의 BER을 모니터링하면, 메모리 셀들(MC)의 열화 정도 및/또는 메모리 장치(10)의 열화 레벨을 감지하는 또다른 최적의 기준이 될 수 있을 것이다.
도 16 내지 도 19는 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 설명하는 도면이다. 도 16 내지 도 19에서는 메모리 셀들(MC)의 셋 데이터를 이용하여 메모리 장치(10)의 열화를 감지하는 방법이 설명된다. 메모리 컨트롤러(20)의 제어에 의해, 메모리 장치(10)는 메모리 셀들(MC)에 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3)을 인가하여 메모리 셀들(MC)이 셋 데이터로 프로그램 되도록 기입 동작을 수행할 수 있다. 이 후, 메모리 셀들(MC)의 프로그램 상태를 판단하기 위하여, 메모리 장치(10)는 제1 내지 제3 셋 독출 전압들(VS1, VS2, VS3)을 이용하여 독출 동작을 수행할 수 있다. 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3) 중에서 제1 셋 기입 전류(Iset1)가 가장 높은 것으로, 그리고 제3 셋 기입 전류(Iset3)가 가장 낮으며 메모리 셀(MC)의 상변화막(51)이 셋 상태로 상 변화를 유발하는데 필요한 최소 전류로 설정될 수 있다. 제1 내지 제3 셋 독출 전압들(VS1, VS2, VS3)에서의 독출 방향은 제1 셋 독출 전압(VS1)에서 제3 셋 독출 전압(VS3)으로 전압 레벨이 증가하는 방향으로 설정될 수 있다.
도 16을 참조하면, 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3) 각각을 메모리 셀들(MC)에 인가하는 프로그램 동작들을 수행하고, 프로그램 동작 초기에, N 번의 프로그램 횟수 후에, 그리고 M(M>N) 번의 프로그램 횟수 후에 메모리 셀들(MC)의 데이터를 독출하였을 때의 셋 데이터 문턱 전압 산포들을 보여준다. 프로그램 동작 초기의 문턱 전압 산포 모양이 프로그램 횟수가 증가할수록 문턱 전압 산포 모양이 오른쪽으로 이동하며 크게 넓어지는 것을 볼 수 있다.
본 실시예에서 보여주는 셋 데이터의 문턱 전압 산포들은, 도 7a의 저 저항 상태(LRS)에 따른 산포 또는 도 8의 제1 내지 제3 저항 상태들(RS1, RS2, RS3)의 산포들 중 어느 하나에 해당될 수 있다. 바람직하게, 도 8의 MLC에서, 가장 낮은 저항 상태인 제1 저항 상태(RS1)의 문턱 전압 산포에 해당될 수 있다.
실시예에 따라, 메모리 컨트롤러(20)는 메모리 셀들(MC)의 열화 정도를 감지하기 위하여, 메모리 셀들을 특정 셋 기입 전류로 프로그램한 후, 메모리 셀들(MC)을 독출할 수 있다. 예시적으로, 제3 셋 기입 전류(Iset3)로 프로그램된 메모리 셀들(MC)을 독출하는 경우, 도 17에 도시된 바와 같이, 제1 내지 제3 셋 독출 전압들(VS1, VS2, VS3)의 전압 레벨에 따라 BER이 달라질 수 있다. 프로그램 횟수가 증가할수록 제1 내지 제3 셋 독출 전압들(VS1, VS2, VS3)에 따른 BER이 증가할 수 있다. 본 실시예에서, 셋 독출 전압들(VS1, VS2, VS3)의 개수가 3개이지만, 본 발명은 이에 한정되지 않으며, 복수의 셋 독출 전압 레벨들의 개수는 다양하게 변경될 수 있다.
제1 내지 제3 셋 독출 전압들(VS1, VS2, VS3)에 따른 BER이 메모리 컨트롤러(20)로 제공될 수 있다. 메모리 컨트롤러(20)는 제1 내지 제3 셋 독출 전압들(VS1, VS2, VS3)의 전압 레벨에 따른 BER을 확인하고, 메모리 셀들(MC)의 열화 정도를 감지할 수 있다. 메모리 컨트롤러(20)는 BER 확인시에, 룩업 테이블을 참조할 수 있다. 룩업 테이블은 프로그램 횟수와 복수의 셋 독출 전압 레벨들에 따른 BER과의 상관 관계를 보여주는 것으로, 메모리 컨트롤러(20)에 저장될 수 있다. 메모리 컨트롤러(20)는 제1 내지 제3 셋 독출 전압들(VS1, VS2, VS3)의 전압 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
실시예에 따라, 메모리 컨트롤러(20)는 메모리 셀들(MC)의 열화 정도를 감지하기 위하여, 메모리 셀들(MC)을 복수의 셋 기입 전류들의 레벨로 프로그램 한 후 메모리 셀들(MC)을 특정 셋 독출 전압 레벨로 독출할 수 있다. 예시적으로, 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3)로 프로그램된 메모리 셀들(MC)을 제1 셋 독출 전압(VS1) 레벨로 독출하는 경우, 도 18에 도시된 바와 같이, 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3)의 전류 레벨에 따라 BER이 달라질 수 있다. 프로그램 횟수가 증가할수록 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3)에 따른 BER이 증가할 수 있다. 본 실시예에서, 셋 기입 전류들(Iset1, Iset2, Iset3)의 개수가 3개이지만, 본 발명은 이에 한정되지 않으며, 복수의 셋 기입 전류 레벨들의 개수는 다양하게 변경될 수 있다.
제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3)에 따른 BER이 메모리 컨트롤러(20)로 제공될 수 있다. 메모리 컨트롤러(20)는 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3)의 전류 레벨에 따른 BER을 확인하고, 메모리 셀들(MC)의 열화 정도를 감지할 수 있다. 메모리 컨트롤러(20)는 BER 확인시에, 룩업 테이블(LUT)을 참조할 수 있다. 룩업 테이블(LUT)은 프로그램 횟수와 복수의 셋 기입 전류들의 레벨에 따른 BER과의 상관 관계를 보여주는 것으로, 메모리 컨트롤러(20)에 저장될 수 있다. 메모리 컨트롤러(20)는 제1 내지 제3 셋 기입 전류들(Iset1, Iset2, Iset3)에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
룩업 테이블(LUT)은, 도 19에 도시된 바와 같이, 가로축은 복수의 셋 독출 전압들(VS)에 따른 BER이고, 세로축은 복수의 셋 기입 전류들(Iset)에 따른 BER이다. 그리고, 가로축과 세로축이 교차하는 지점이 프로그램 횟수(NPC)가 된다. 룩업 테이블은 메모리 컨트롤러(20) 제조 당시에 결정될 수 있고, 실시간으로 업데이트될 수 있다.
메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 메모리 장치(10)로부터 제공받은 특정 셋 독출 전압 레벨에 따른 BER 및/또는 특정 셋 기입 전류 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다. 메모리 컨트롤러(20)는 BER에 대응하는 프로그램 횟수를 확인하고, 메모리 장치(10)의 열화 정도를 감지할 수 있다.
도 20은 본 발명의 실시예들에 따른 메모리 장치의 열화 감지 방법을 나타내는 순서도이다.
도 1 및 도 2와 연계하여 도 20을 참조하면, S2010 단계에서, 메모리 셀들(MC)을 셋 데이터로 프로그램하기 위한 기입 동작을 수행할 수 있다. 메모리 컨트롤러(20)의 제어에 따라, 메모리 장치(10)는 셋 데이터 기입 동작을 수행할 수 있다. 메모리 장치(10)의 제어 회로(13)는 메모리 셀 어레이(11) 내 메모리 블록들의 전체 또는 일부 영역의 메모리 셀들에 셋 데이터를 프로그램할 수 있다. 이 때, 제어 회로(13)는 해당 메모리 블록에 프로그램된 셋 데이터 비트들의 수를 저장할 수 있다.
S2020 단계에서, 메모리 컨트롤러(20)는 메모리 장치(10)에서 제공되는 복수의 셋 독출 전압들에 따른 BER에 기초하여 메모리 장치(10)의 프로그램 횟수를 확인할 수 있다. 메모리 장치(10)는 메모리 셀들(MC)에 특정 셋 기입 전류(예, Iset3)를 인가하여 셋 데이터로 프로그램한 후, 복수의 셋 독출 전압들(예, VS1, VS2, VS3)의 레벨에 따라 메모리 셀들(MC)을 독출할 수 있다. 메모리 장치(10)의 제어 회로(13)는 프로그램된 셋 데이터 비트들의 수와 독출된 셋 데이터 비트들의 수를 비교하고, 그 차이를 BER로서 메모리 컨트롤러(20)로 제공할 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 복수의 셋 독출 전압들에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
S2022 단계에서, 메모리 컨트롤러(20)는 메모리 장치(10)에서 제공되는 복수의 셋 기입 전류들에 따른 BER에 기초하여 메모리 장치(10)의 프로그램 횟수를 확인할 수 있다. 메모리 장치(10)는 메모리 셀들(MC)에 복수의 셋 기입 전류들(예, Iset1, Iset2, Iset3)의 레벨을 인가하여 셋 데이터로 프로그램한 후, 특정 셋 독출 전압(예, VS1)의 레벨에 따라 메모리 셀들(MC)을 독출할 수 있다. 메모리 장치(10)의 제어 회로(13)는 프로그램된 셋 데이터 비트들의 수와 독출된 셋 데이터 비트들의 수를 비교하고, 그 차이를 BER로서 메모리 컨트롤러(20)로 제공할 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 복수의 셋 기입 전류들에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
S2024 단계에서, 메모리 컨트롤러(20)는 메모리 장치(10)에서 제공되는 복수의 셋 독출 전압들의 레벨에 따른 BER 및 복수의 셋 기입 전류들의 레벨에 따른 BER에 기초하여 메모리 장치(10)의 프로그램 횟수를 확인할 수 있다. 메모리 장치(10)는 메모리 셀들(MC)에 복수의 셋 기입 전류들의 레벨을 인가하여 셋 데이터로 프로그램한 후, 복수의 셋 독출 전압들의 레벨에 따라 메모리 셀들(MC)을 독출할 수 있다. 메모리 컨트롤러(20)는 룩업 테이블(LUT)을 참조하여 복수의 셋 기입 전류 레벨들 중 특정 셋 기입 전류 레벨에 따른 BER과 복수의 셋 독출 전압 레벨들 중 특정 셋 독출 전압 레벨에 따른 BER에 대응하는 프로그램 횟수를 확인할 수 있다.
S2030 단계에서, 메모리 컨트롤러(20)는 S2020, S2022 또는 S2024 단계에서 확인된 프로그램 횟수에 기초하여 메모리 셀들(MC)의 열화 정도를 감지할 수 있다. 메모리 컨트롤러(20)는 BER에 대응하는 프로그램 횟수가 높다고 확인되면, 메모리 셀 어레이(11)의 해당 메모리 블록을 다른 메모리 블록으로 대체할 수 있다. 이에 따라, 메모리 장치(10)의 열화에 따른 에러 발생을 사전에 방지할 수 있다.
도 21은 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법을 채용하는 메모리 시스템의 개략적인 구성을 보여주는 블록도이다.
도 21을 참조하면, 메모리 시스템(2100)는 메모리 컨트롤러(2110), 복수의 불휘발성 메모리 장치들(2120~212n), 그리고 휘발성 메모리 장치(2130)을 포함할 수 있다. 메모리 컨트롤러(2110)는 메모리 시스템(2100)과 연결되는 호스트(HOST)로부터의 요청에 응답하여 복수의 불휘발성 메모리 장치들(2120~212n)의 기입 동작 및/또는 독출 동작을 제어할 수 있다.
실시예에 따라, 호스트(HOST)는 개인용 컴퓨터(Personal Computer: PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal digital assistant: PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player: PMP), 디지털 카메라(Digital Camera), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable game console), 네비게이션(Navigation) 시스템 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
복수의 불휘발성 메모리 장치들(2120~212n)은 메모리 시스템(2100)의 저장 매체로서 사용된다. 불휘발성 메모리 장치(2120~212n) 각각은, 예를 들어 저항성 메모리 장치일 수 있다. 복수의 불휘발성 메모리 장치들(2120~212n)은 채널을 통해 메모리 컨트롤러(2110)와 연결될 수 있다. 불휘발성 메모리 장치(2120~212n) 각각은, 채널을 통해 제공되는 호스트(HOST)로부터의 요청에 응답하여 기입 동작 및/또는 독출 동작을 수행할 수 있다.
휘발성 메모리 장치(2130)는 호스트(HOST)로부터 제공되는 기입 데이터 혹은 불휘발성 메모리 장치들(2120~212n)로부터 독출 데이터를 임시로 저장할 수 있다. 휘발성 메모리 장치(2130)는 불휘발성 메모리 장치들(2120~212n)에 저장될 메타 데이터나 캐시 데이터를 저장할 수 있다. 휘발성 메모리 장치(2130)에는 디램(DRAM), 에스램(SRAM) 등이 포함될 수 있다.
불휘발성 메모리 장치들(2120~212n) 각각은, 도 1 내지 도 20에서 설명된 메모리 장치(10)에 대응하는 저항성 메모리 장치일 수 있다. 불휘발성 메모리 장치들(2120~212n) 각각은, 메모리 셀들을 포함하는 메모리 셀 어레이(310), 메모리 셀들을 제1 저항 상태로 프로그램하고 프로그램된 메모리 셀들을 독출하는 기입/독출 회로(320), 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 메모리 컨트롤러(2110)로 출력하는 제어 회로(330)를 포함한다. BER은 메모리 셀들의 프로그램 횟수를 결정하는데 참조될 수 있다.
메모리 컨트롤러(2110)는, 불휘발성 메모리 장치들(2120~212n) 각각에 대하여 열화를 감지할 수 있다. 메모리 컨트롤러(2110)는, 불휘발성 메모리 장치들(2120~212n) 각각의 메모리 셀들을 제1 저항 상태로 프로그램하도록 제어하는 동작, 프로그램된 메모리 셀들을 독출하도록 제어하는 동작, 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 저항성 메모리 장치로부터 제공받는 동작, 그리고 룩업 테이블(LUT)을 참조하여 BER에 대응하는 메모리 셀들의 프로그램 횟수를 결정하는 동작을 수행할 수 있다.
도 22는 본 발명의 실시예들에 따른 메모리 컨트롤러가 메모리 장치의 열화를 감지하는 방법이 적용되는 시스템을 나타내는 블록도이다.
도 22를 참조하면, 시스템(2200)은 프로세싱 유닛(2210), 휘발성 메모리 유닛(2220), 저항성 메모리 유닛(2230), 그리고 대용량 스토리지 유닛(2240)을 포함할 수 있다. 시스템(2200)은 모바일 기기, 퍼스널 컴퓨터, 서버 컴퓨터 및 프로그램 가능한 가전 제품, 메인 프레임 컴퓨터 등과 같은 범용 또는 특수 목적의 컴퓨터 시스템일 수 있다.
본 실시예에서 설명되는 기능적 유닛은 구현 독립성(implementation independence)을 위해 모듈로서 분류될 수 있다. 예를 들어, 모듈은 커스텀 VLSI 회로 또는 게이트 어레이, 논리 칩, 트랜지스터, 또는 다른 디스크릿 컴포넌트와 같은 기성 반도체를 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 프로그램 가능한 하드웨어 장치, 예컨대 프로그램 가능한 게이트 어레이, 프로그램 가능한 게이트 로직, 프로그램 가능한 게이트 장치 등으로 구현될 수 있다. 또한, 모듈은 실행 가능한 코드(code), 객체(object), 과정(procedure), 또는 함수(function)로서 구성되는 소프트웨어로 구현될 수 있다.
프로세싱 유닛(2210)은 운영 체제 및 다수의 소프트웨어 시스템을 실행하고 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 프로세싱 유닛(2210)은 마이크로프로세서(micro-processor) 또는 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다.
휘발성 메모리 유닛(2220)은 시스템(2200)의 동작 메모리 또는 캐시 메모리로서 데이터를 단기적으로 또는 임시로 저장하는 매체를 가리킨다. 휘발성 메모리 유닛(2220)은 하나 이상의 메모리 장치, 예컨대 DRAM을 포함할 수 있다.
저항성 메모리 유닛(2230)은 대용량 스토리지 유닛(2240)의 캐시 역할을 하도록 이용될 수 있다. 저항성 메모리 유닛(2230)에는 자주 억세스되거나 어플리케이션 또는 운영 체제의 일부 데이터가 저장될 수 있다. 저항성 메모리 유닛(2230)은 적어도 하나 이상의 메모리 장치, 예컨대 PRAM을 포함할 수 있다. 데이터가 하드 디스크 드라이버(HDD)와 같은 대용량 스토리지 유닛(2240)을 통해 억세스되는 경우보다 저항성 메모리 유닛(2230)의 억세스가 휠씬 빠르기 때문에 캐시로서 유익할 수 있다. 저항성 메모리 유닛(2230)은 도 1 내지 도 20에 도시된 실시예들을 이용하여 구현될 수 있다.
저항성 메모리 유닛(2230)은 메모리 셀들을 포함하는 메모리 셀 어레이, 메모리 셀들을 제1 저항 상태로 프로그램하고 프로그램된 메모리 셀들을 독출하는 기입/독출 회로, 그리고 독출 동작에서 발생되는 메모리 셀들의 비트 에러 율(BER)을 메모리 컨트롤러로 출력하는 제어 회로를 포함할 수 있다. 메모리 컨트롤러는 BER에 대응하는 메모리 셀들의 프로그램 횟수를 룩업 테이블을 참조하여 결정할 수 있다.
대용량 스토리지 유닛(2240)은 HDD, SDD(Solid State Drive), PCIe(Peripheral Component Interconnect express) 메모리 모듈, NVMe(Non-Volatile Memory express) 등으로 구현될 수 있다. 옵션적으로, 대용량 스토리지 유닛(2240)의 하나 이상의 계층들(one or more tiers)은 하나 이상의 네트워크 억세스 가능한 장치들 및/또는 서비스들, 예컨대, NVMe-oF(NVMe-over Fabrics) 및/또는RDMA(Remote Direct Memory Access) 접속된 여러 클라이언트들, 여러 서버들, 서버 팜(들), 서버 클러스터(들), 어플리케이션 서버(들), 또는 메시지 서버(들)로 구현될 수 있다. 대용량 스토리지 유닛(2240)은 시스템(2200)이 사용자 데이터를 장기적으로 저장하고자 하는 저장 매체를 가리킨다. 대용량 스토리지 유닛(2240)은 응용 프로그램(application program), 프로그램 데이터(program data) 등을 저장할 수 있다.
본 개시는 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
Claims (20)
- 복수개의 메모리 셀들을 포함하는 저항성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서,
상기 복수개의 메모리 셀들이 제1 저항 상태로 프로그램되도록 제어하는 동작;
복수개의 프로그램된 메모리 셀들을 독출하도록 제어하는 동작;
독출 동작에서 발생되는 상기 복수개의 메모리 셀들의 비트 에러 율(BER)을 상기 저항성 메모리 장치로부터 제공받는 동작; 및
상기 BER에 대응하는 상기 복수개의 메모리 셀들의 프로그램 횟수를 결정하는 동작을 포함하고,
상기 BER은 상기 복수개의 메모리 셀들을 상기 제1 저항 상태로 프로그램하기 위해 상기 복수개의 메모리 셀들에 복수개의 기입 전류들을 인가하고, 독출 전압을 이용하여 상기 복수개의 프로그램된 메모리 셀들을 독출할 때 발생되고, 상기 복수개의 기입 전류들에는 상기 복수개의 메모리 셀들이 상기 제1 저항 상태로 변하는 데 필요한 최소 기입 전류를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법. - 제1항에 있어서,
상기 BER에 대응하는 상기 복수개의 메모리 셀들의 프로그램 횟수를 결정하는 동작은 상기 BER과 상기 프로그램 횟수의 상관 관계를 나타내는 룩업 테이블을 참조하는 동작을 포함하는 메모리 컨트롤러의 동작 방법. - 제2항에 있어서,
상기 룩업 테이블은 롬 또는 불휘발성 메모리에 저장되는 것을 특징으로 하는 리 컨트롤러의 동작 방법. - 제1항에 있어서,
상기 복수개의 메모리 셀들을 제1 저항 상태로 프로그램하는 동작은 상기 복수개의 메모리 셀들을 상기 제1 저항 상태로 반복적으로 프로그램하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법. - 제1항에 있어서,
상기 복수개의 메모리 셀들을 제1 저항 상태로 프로그램하는 동작은 상기 복수개의 메모리 셀들을 복수개의 저항 상태들 중에서 저항 레벨이 상대적으로 큰 쪽의 저항 상태로 프로그램하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법. - 제5항에 있어서,
상기 복수개의 메모리 셀들에 리셋 기입 전류를 인가하여 상기 복수개의 저항 상태들 중에서 상기 저항 레벨이 상대적으로 큰 쪽의 저항 상태인 리셋 데이터로 프로그램하고,
상기 리셋 기입 전류는 상기 복수개의 메모리 셀들이 상기 상대적으로 큰 쪽의 저항 상태로 변하는 데 필요한 최소 리셋 기입 전류인 것을 특징으로 하는 메모리 컨트롤러의 동작 방법. - 제6항에 있어서,
상기 복수개의 프로그램된 메모리 셀들을 독출하는 동작은 상기 복수개의 프로그램된 메모리 셀들을 복수개의 리셋 독출 전압들을 이용하여 독출하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법. - 제7항에 있어서,
상기 독출하는 동작에서 발생되는 상기 복수개의 메모리 셀들의 상기 BER을 상기 저항성 메모리 장치로부터 제공받는 동작은 상기 복수개의 리셋 독출 전압들에 따른 상기 BER을 제공받는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 저항성 메모리 장치에 있어서,
복수개의 메모리 셀들을 포함하는 메모리 셀 어레이;
상기 복수개의 메모리 셀들을 제1 저항 상태로 프로그램하는 기입 회로;
프로그램된 복수개의 메모리 셀들을 독출하는 독출 회로; 및
독출 동작에서 발생되는 상기 복수개의 메모리 셀들의 비트 에러 율(BER)을 상기 저항성 메모리 장치의 외부로 출력하는 제어 회로를 포함하고,
상기 BER은 상기 복수개의 메모리 셀들을 상기 제1 저항 상태로 프로그램하기 위해 상기 복수개의 메모리 셀들에 복수개의 기입 전류들을 인가하고, 독출 전압을 이용하여 상기 복수개의 프로그램된 메모리 셀들을 독출할 때 발생되고, 상기 복수개의 기입 전류들에는 상기 복수개의 메모리 셀들이 상기 제1 저항 상태로 변하는 데 필요한 최소 기입 전류를 포함하고,
상기 BER은 상기 복수개의 메모리 셀들의 프로그램 횟수를 결정하는데 참조되는 것을 특징으로 하는 저항성 메모리 장치. - 제19항에 있어서,
상기 BER과 상기 복수개의 메모리 셀들의 프로그램 횟수의 상관 관계는 룩업 테이블에 저장되고,
상기 룩업 테이블은 상기 저항성 메모리 장치를 제어하는 메모리 컨트롤러에 저장되는 것을 특징으로 하는 저항성 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180092050A KR102483922B1 (ko) | 2018-08-07 | 2018-08-07 | 저항성 메모리 장치의 열화 감지 방법 및 시스템 |
CN201910193335.2A CN110827913A (zh) | 2018-08-07 | 2019-03-14 | 用于检测电阻存储器器件的劣化的方法和系统 |
US16/377,420 US11004507B2 (en) | 2018-08-07 | 2019-04-08 | Methods and systems for detecting degradation of resistive memory devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180092050A KR102483922B1 (ko) | 2018-08-07 | 2018-08-07 | 저항성 메모리 장치의 열화 감지 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200016678A KR20200016678A (ko) | 2020-02-17 |
KR102483922B1 true KR102483922B1 (ko) | 2023-01-02 |
Family
ID=69406515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180092050A KR102483922B1 (ko) | 2018-08-07 | 2018-08-07 | 저항성 메모리 장치의 열화 감지 방법 및 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11004507B2 (ko) |
KR (1) | KR102483922B1 (ko) |
CN (1) | CN110827913A (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10847221B2 (en) | 2018-10-30 | 2020-11-24 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device and method thereof |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US11327551B2 (en) * | 2019-02-14 | 2022-05-10 | Micron Technology, Inc. | Methods and apparatus for characterizing memory devices |
US11256778B2 (en) | 2019-02-14 | 2022-02-22 | Micron Technology, Inc. | Methods and apparatus for checking the results of characterized memory searches |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US10872664B1 (en) | 2019-08-01 | 2020-12-22 | Taiwan Semiconductor Manufacturing Co., Ltd. | PCRAM analog programming by a gradual reset cooling step |
KR20210024311A (ko) | 2019-08-21 | 2021-03-05 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 이를 포함하는 반도체 메모리 시스템, 및 반도체 메모리 시스템의 구동방법 |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11373705B2 (en) * | 2020-11-23 | 2022-06-28 | Micron Technology, Inc. | Dynamically boosting read voltage for a memory device |
US11626180B2 (en) * | 2021-05-11 | 2023-04-11 | Micron Technology, Inc. | Memory degradation detection and management |
US11651834B2 (en) | 2021-05-11 | 2023-05-16 | Micron Technology, Inc. | Memory duty-cycle skew management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150179254A1 (en) | 2013-12-19 | 2015-06-25 | Sandisk Technologies Inc. | Mitigating disturb effects for non-volatile memory |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4325275B2 (ja) | 2003-05-28 | 2009-09-02 | 株式会社日立製作所 | 半導体装置 |
JP4545726B2 (ja) | 2006-09-08 | 2010-09-15 | 株式会社日立製作所 | 画像表示装置および画像表示モジュール |
US8060798B2 (en) * | 2007-07-19 | 2011-11-15 | Micron Technology, Inc. | Refresh of non-volatile memory cells based on fatigue conditions |
KR101291721B1 (ko) | 2007-12-03 | 2013-07-31 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템 |
KR101071705B1 (ko) | 2007-12-28 | 2011-10-11 | 한국과학기술연구원 | 쓰기/지우기 내구성 특성이 향상된 상변화 메모리 장치 및 그 프로그래밍 방법 |
KR101435128B1 (ko) | 2008-07-21 | 2014-09-01 | 삼성전자 주식회사 | 저항체를 이용한 비휘발성 메모리 장치 |
KR100998944B1 (ko) | 2008-12-26 | 2010-12-09 | 주식회사 하이닉스반도체 | 피램의 라이트 드라이버 회로 |
US8386883B2 (en) | 2009-02-24 | 2013-02-26 | International Business Machines Corporation | Lengthening life of a limited life memory |
KR20110078727A (ko) | 2009-12-31 | 2011-07-07 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자의 동작 방법 |
KR20110107190A (ko) | 2010-03-24 | 2011-09-30 | 삼성전자주식회사 | 저항성 메모리의 마모 셀 관리 방법 및 장치 |
CN102403044B (zh) | 2010-09-08 | 2014-10-15 | 北京大学 | 测试阻变随机访问存储器件的数据保持特性的方法 |
KR20120126678A (ko) | 2011-05-12 | 2012-11-21 | 삼성전자주식회사 | 내구성을 향상한 비휘발성 메모리 장치 및 그 동작방법 |
US9021227B2 (en) | 2011-06-22 | 2015-04-28 | Intel Corporation | Drift management in a phase change memory and switch (PCMS) memory device |
CN104137084B (zh) | 2011-12-28 | 2017-08-11 | 英特尔公司 | 提高耐久性和抗攻击性的用于pcm缓存的有效动态随机化地址重映射 |
US9164836B2 (en) | 2011-12-28 | 2015-10-20 | Intel Corporation | Cycling endurance extending for memory cells of a non-volatile memory array |
US8832506B2 (en) * | 2012-01-20 | 2014-09-09 | International Business Machines Corporation | Bit error rate based wear leveling for solid state drive memory |
US20130346812A1 (en) * | 2012-06-22 | 2013-12-26 | Micron Technology, Inc. | Wear leveling memory using error rate |
US9263136B1 (en) | 2013-09-04 | 2016-02-16 | Western Digital Technologies, Inc. | Data retention flags in solid-state drives |
US8942028B1 (en) * | 2014-06-16 | 2015-01-27 | Sandisk Technologies Inc. | Data reprogramming for a data storage device |
US9483339B2 (en) * | 2014-06-27 | 2016-11-01 | Sandisk Technologies Llc | Systems and methods for fast bit error rate estimation |
KR102261817B1 (ko) * | 2014-12-15 | 2021-06-07 | 삼성전자주식회사 | 다수의 레이어들을 포함하는 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작방법 |
KR101780539B1 (ko) | 2015-01-08 | 2017-09-21 | 한경대학교 산학협력단 | 다치형 상변화 메모리의 쓰기 방법 및 시스템 |
TWI649748B (zh) * | 2015-01-14 | 2019-02-01 | 財團法人工業技術研究院 | 電阻式隨機存取記憶體與其控制方法 |
KR102298607B1 (ko) * | 2015-02-17 | 2021-09-06 | 삼성전자주식회사 | 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법 |
US9786386B2 (en) * | 2015-02-27 | 2017-10-10 | Microsoft Technology Licensing, Llc | Dynamic approximate storage for custom applications |
US9947401B1 (en) * | 2016-12-22 | 2018-04-17 | Sandisk Technologies Llc | Peak current management in non-volatile storage |
-
2018
- 2018-08-07 KR KR1020180092050A patent/KR102483922B1/ko active IP Right Grant
-
2019
- 2019-03-14 CN CN201910193335.2A patent/CN110827913A/zh active Pending
- 2019-04-08 US US16/377,420 patent/US11004507B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150179254A1 (en) | 2013-12-19 | 2015-06-25 | Sandisk Technologies Inc. | Mitigating disturb effects for non-volatile memory |
Also Published As
Publication number | Publication date |
---|---|
US11004507B2 (en) | 2021-05-11 |
KR20200016678A (ko) | 2020-02-17 |
US20200051628A1 (en) | 2020-02-13 |
CN110827913A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102483922B1 (ko) | 저항성 메모리 장치의 열화 감지 방법 및 시스템 | |
KR102178832B1 (ko) | 저항성 메모리 장치 및 저항성 메모리 장치의 동작 방법 | |
US9406359B2 (en) | Memory devices, memory systems, and related operating methods | |
KR102159258B1 (ko) | 메모리 장치 및 상기 메모리 장치의 동작 방법 | |
US11727985B2 (en) | Method of operating resistive memory device to increase read margin | |
KR102497214B1 (ko) | 저항성 메모리 장치의 열화 보상 방법 및 시스템 | |
KR102261813B1 (ko) | 저항성 메모리 장치 및 저항성 메모리 장치의 동작 방법 | |
KR102298607B1 (ko) | 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법 | |
KR101753366B1 (ko) | 저항성 메모리 장치 및 저항성 메모리 장치의 동작 방법 | |
KR20160050400A (ko) | 저항성 메모리 장치 및 저항성 메모리 장치의 동작 방법 | |
US9613697B2 (en) | Resistive memory device | |
US9183932B1 (en) | Resistive memory device and method of operating the same | |
KR102292643B1 (ko) | 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법 | |
US9685227B2 (en) | Control of memory device reading based on cell resistance | |
KR102136846B1 (ko) | 저항성 메모리 장치 및 저항성 메모리 장치의 동작 방법 | |
US10872665B2 (en) | Memory device performing data comparison write and memory system including the same | |
KR20160064901A (ko) | 저항성 메모리 장치의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |