KR20200074872A - 에너지 효율적인 pram 어레이 기입 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템 - Google Patents
에너지 효율적인 pram 어레이 기입 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템 Download PDFInfo
- Publication number
- KR20200074872A KR20200074872A KR1020190164141A KR20190164141A KR20200074872A KR 20200074872 A KR20200074872 A KR 20200074872A KR 1020190164141 A KR1020190164141 A KR 1020190164141A KR 20190164141 A KR20190164141 A KR 20190164141A KR 20200074872 A KR20200074872 A KR 20200074872A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- reset
- memory
- word line
- word lines
- Prior art date
Links
- 230000008859 change Effects 0.000 title description 23
- 230000002776 aggregation Effects 0.000 title 1
- 238000004220 aggregation Methods 0.000 title 1
- 239000000872 buffer Substances 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims description 78
- 230000004044 response Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 238000004458 analytical method Methods 0.000 description 9
- 239000012782 phase change material Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000002844 melting Methods 0.000 description 2
- 230000008018 melting Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003071 parasitic effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101150105729 SLC45A3 gene Proteins 0.000 description 1
- 102100037253 Solute carrier family 45 member 3 Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000002425 crystallisation Methods 0.000 description 1
- 230000008025 crystallization Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- 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/0069—Writing or programming 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/0023—Address circuits or decoders
-
- 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/0023—Address circuits or decoders
- G11C13/0026—Bit-line or column circuits
-
- 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/0023—Address circuits or decoders
- G11C13/0028—Word-line or row circuits
-
- 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/0097—Erasing, e.g. resetting, circuits or methods
-
- H01L45/06—
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N70/00—Solid-state devices having no potential barriers, and specially adapted for rectifying, amplifying, oscillating or switching
- H10N70/20—Multistable switching devices, e.g. memristors
- H10N70/231—Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
-
- 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/0085—Write a page or sector of information simultaneously, e.g. a complete row or word line
Landscapes
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Semiconductor Memories (AREA)
Abstract
본 개시의 기술적 사상에 따른 메모리 시스템은, 메모리 컨트롤러 및 복수의 블록들을 구비한 메모리 셀 어레이를 포함하는 메모리 장치를 포함하고, 복수의 블록들 각각은, 복수의 비트 라인들 및 복수의 워드 라인들을 포함하고, 복수의 워드 라인들 각각은 복수의 비트 라인들 각각에 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고, 복수의 비트 라인들 및 복수의 블록들을 포함하고, 각 블록은 복수의 워드 라인들을 포함하고, 각 워드 라인은 복수의 비트 라인들에 각각 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고, 메모리 컨트롤러는, 기입 데이터를 각각 포함하는 제1 기입 요청들을 버퍼링하고, 리셋(RESET) 단계와 후속하는 세트(SET) 단계를 포함하는 기입 동작을 수행하고, 리셋 단계는, 복수의 블록들 중 선택된 블록에 포함된 복수의 워드 라인들 중 제1 워드 라인들에 포함된 PRAM 셀들을 소거하는 소거 동작을 포함하고, 세트 단계는, 리셋 단계 이후 버퍼링된 제1 기입 요청들의 기입 데이터를 제1 워드 라인들에 포함된 PRAM 셀들에 기입하는 기입 동작을 포함할 수 있다.
Description
본 개시의 기술적 사상은 데이터 저장 기술에 관한 것으로, 구체적으로 에너지 효율적인 방식으로 기입 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템에 관한 것이다.
비휘발성 메모리 제품들은 많은 모바일, 소비자 및 데이터 센터 어플리케이션에 사용될 수 있다. NAND 플래시는 비휘발성 메모리의 널리 사용되는 일 유형이다. 한편, 다른 메모리 기술들은 종래의 NAND 플래시에 도전하고, 다른 전력 특성들을 나타낸다. 예를 들어, 상 변화 랜덤 액세스 메모리(phase-change random access memory, PRAM)은 상 변화 재료를 저장 소자로서 사용하는 비휘발성 메모리 장치의 일 유형이다. 상 변화 재료는 고저항 상태와 저저항 상태 사이에서 쉽게 변환될 수 있는 프로그램 가능한 저항 재료로 간주될 수 있다. 이러한 상 변화 물질의 상태 변환은, 예를 들어, 온도 변화에 따라 발생할 수 있고, 온도 변화는 저항 가열을 통해 유도될 수 있다. 저항 가열은, 예를 들어, 상 변화 재료의 단부들 사이에 전류를 공급함으로써 달성될 수 있다.
본 개시의 기술적 사상은 기입 동작 중에 선택되지 않은 메모리 셀들에 의해 유발되는 전력 소비를 감소시킴으로써, 전체 전력 소비를 감소시키는 메모리 장치 및 이를 포함하는 메모리 시스템을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 시스템은, 메모리 컨트롤러 및 복수의 블록들을 구비한 메모리 셀 어레이를 포함하는 메모리 장치를 포함하고, 복수의 블록들 각각은, 복수의 비트 라인들 및 복수의 워드 라인들을 포함하고, 복수의 워드 라인들 각각은 복수의 비트 라인들 각각에 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고, 복수의 비트 라인들 및 복수의 블록들을 포함하고, 각 블록은 복수의 워드 라인들을 포함하고, 각 워드 라인은 복수의 비트 라인들에 각각 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고, 메모리 컨트롤러는, 기입 데이터를 각각 포함하는 제1 기입 요청들을 버퍼링하고, 리셋(RESET) 단계와 후속하는 세트(SET) 단계를 포함하는 기입 동작을 수행하고, 리셋 단계는, 복수의 블록들 중 선택된 블록에 포함된 복수의 워드 라인들 중 제1 워드 라인들에 포함된 PRAM 셀들을 소거하는 소거 동작을 포함하고, 세트 단계는, 리셋 단계 이후 버퍼링된 제1 기입 요청들의 기입 데이터를 제1 워드 라인들에 포함된 PRAM 셀들에 기입하는 기입 동작을 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 메모리 시스템은, 메모리 컨트롤러 및 복수의 블록들을 구비한 메모리 셀 어레이를 포함하는 메모리 장치를 포함하고, 복수의 블록들 각각은, 복수의 비트 라인들 및 복수의 워드 라인들을 포함하고, 복수의 워드 라인들 각각은 복수의 비트 라인들 각각에 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고, 메모리 컨트롤러는, 기입 데이터를 각각 포함하는 제1 기입 요청들을 버퍼링하고, 리셋(RESET) 단계와 후속하는 세트(SET) 단계를 포함하는 기입 동작을 수행하고, 리셋 단계는, 제1 기입 요청들에 포함된 기입 데이터에 따라, 선택된 블록의 둘 이상의 제1 워드 라인들에 포함된 PRAM 셀들의 저항 상태들을 고저항 상태로 선택적으로 리셋하도록 메모리 장치를 제어하고, 세트 단계는, 제1 기입 요청들에 포함된 기입 데이터에 따라, 둘 이상의 제1 워드 라인들에 포함된 PRAM 셀들의 저항 상태들을 저저항 상태로 선택적으로 설정하도록 메모리 장치를 제어할 수 있다.
본 개시의 예시적 실시예에 따른 메모리 장치 및 이를 포함하는 메모리 시스템은 기입 동작 중에 선택되지 않은 메모리 셀들에 의해 유발되는 전력 소비를 감소시킴으로써, 전체 전력 소비를 감소시킬 수 있다.
본 개시의 예시적인 실시예의 상기 및 다른 특징들 및 장점들은, 첨부된 도면을 참조하여 본 개시의 예시적인 실시예를 상세히 설명함으로써 명백해질 것이다. 첨부된 도면은 본 개시의 예시적인 실시예를 도시하기 위한 것으로, 청구 범위의 의도된 범위를 제한하는 것으로 해석되어서는 안 될 것이다. 첨부된 도면은 명시적으로 언급되지 않는 한 실제 크기로 그려진 것으로 간주되지 않아야 한다.
도 1a은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 도면이다.
도 1b는 본 개시의 일 실시예에 따른 기입 버퍼를 나타내는 도면이다.
도 1c는 본 개시의 일 실시예에 따른 유효성 테이블을 나타내는 도면이다.
도 1d는 본 개시의 일 실시예에 따른 메모리 셀 어레이의 일부를 나타내는 도면이다.
도 2a는 상 변화 메모리 어레이의 일부의 예를 나타내는 도면이다.
도 2b는 본 개시의 일 실시예에 따른 셋(SET) 동작의 예를 나타내는 도면이다.
도 2c는 본 개시의 일 실시예에 따른 리셋(RESET) 동작의 예를 나타내는 도면이다.
도 3은 본 개시의 일 실시예에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 메모리 카드를 나타내는 블록도이다.
도 5는 본 개시의 일 실시예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 나타내는 블록도이다.
도 1a은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 도면이다.
도 1b는 본 개시의 일 실시예에 따른 기입 버퍼를 나타내는 도면이다.
도 1c는 본 개시의 일 실시예에 따른 유효성 테이블을 나타내는 도면이다.
도 1d는 본 개시의 일 실시예에 따른 메모리 셀 어레이의 일부를 나타내는 도면이다.
도 2a는 상 변화 메모리 어레이의 일부의 예를 나타내는 도면이다.
도 2b는 본 개시의 일 실시예에 따른 셋(SET) 동작의 예를 나타내는 도면이다.
도 2c는 본 개시의 일 실시예에 따른 리셋(RESET) 동작의 예를 나타내는 도면이다.
도 3은 본 개시의 일 실시예에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 메모리 카드를 나타내는 블록도이다.
도 5는 본 개시의 일 실시예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 나타내는 블록도이다.
본 개시의 기술 분야에서 통상적인 바와 같이, 기능 블록, 유닛 및/또는 모듈의 관점에서 실시예가 설명되고 도면이 도시되어 있다. 당업자는 이들 블록, 유닛 및/또는 모듈이 반도체 기반 제조 기술 또는 다른 제조 기술들을 사용하여 형성될 수 있는 논리 회로, 이산 구성 요소, 마이크로프로세서, 배선 회로, 메모리 요소, 배선 연결 등과 같은 전자(또는 광학) 회로에 의해 물리적으로 구현된다는 것을 이해할 것이다. 블록, 유닛 및/또는 모듈이 마이크로프로세서 또는 이와 유사한 것에 의해 구현되는 경우, 이들은 본 명세서에서 논의되는 다양한 기능들을 수행하기 위해 소프트웨어(예를 들어, 마이크로 코드)를 사용하여 프로그래밍될 수 있고, 선택적으로 펌웨어 및/또는 소프트웨어에 의해 구동될 수 있다. 대안적으로, 각각의 블록, 유닛 및/또는 모듈은 전용 하드웨어에 의해 구현되거나, 일부 기능을 수행하기 위한 전용 하드웨어와 다른 기능을 수행하기 위한 프로세서의 조합(예를 들어, 하나 이상의 프로그래밍된 마이크로프로세서 및 관련 회로)으로서 구현될 수 있다. 또한, 본 개시의 실시예들의 각각의 블록, 유닛 및/또는 모듈은, 본 개시의 개념을 벗어나지 않고, 둘 이상의 상호 작용하는 별개의 블록, 유닛 및/또는 모듈로서 물리적으로 분리될 수 있다. 또한, 본 개시의 실시예들의 각각의 블록, 유닛 및/또는 모듈은, 본 개시의 개념을 벗어나지 않고, 더 복잡한 블록, 유닛 및/또는 모듈로서 물리적으로 결합될 수 있다.
I. 개요
PRAM 장치의 경우, 단일 메모리 셀 기입(write) 및 독출(read) 동작을 수행하는데 필요한 전력량은 다른 메모리 기술 유형의 메모리 장치들에 비해 상대적으로 적고 경쟁력이 있을 수 있다. 그러나 PRAM 장치가 다수의 메모리 셀들이 고밀도 크로스-포인트 어레이 구조로 패킹되는 메모리 셀 어레이를 포함하는 경우, PRAM 장치에 의해 수행되는 기입 동작과 같은 메모리 동작들은, 선택되지 않은 메모리 셀들의 전력 소비에 대한 영향으로 인해 상대적으로 많은 양의 전력을 소비할 수 있다. 예를 들어, PRAM 장치의 메모리 셀 어레이의 메모리 셀들에 대해 수행되는 셋(SET) 및/또는 리셋(RESET) 동작에서, 메모리 셀 어레이 내의 각각의 선택되지 않은 메모리 셀에서 소비되는 전력량은, 예를 들어, 인가된 전압의 제곱을 메모리 셀의 저항으로 나눈 값일 수 있다. 따라서, 저저항 상태(low resistance state, LRS)의 메모리 셀의 저항(RL)과 고저항 상태(high resistance state, HRS)의 메모리 셀의 저항(RH) 사이에 큰 갭(예를 들어, 계수 100)이 존재하는 경우, 셋(SET) 및/또는 리셋(RESET) 동작 동안 소비되는 전력량은 전체 셀 어레이 매트릭스 내 저저항 셀들의 수에 의해 크게 영향을 받을 수 있다.
위에서 논의된 상대적으로 높은 전력 소비는, 다른 메모리 기술 유형의 메모리 장치 대비 PRAM 장치가 갖는 장점을 상쇄할 수 있다. 따라서, 기입 동작(예를 들어, 셋(SET) 및/또는 리셋(RESET) 동작) 동안 선택되지 않은 메모리 셀들에 의해 유발되는 전력 소비를 완화시킴으로써, 기입 동작 동안 PRAM 장치에 의해 소비되는 전력량을 감소시키는 것이 유리할 수 있다.
기입 전력을 최적화하려는 종래의 방법은 단일 워드 라인에 기입하는 동작과 관련하여 전압 레벨 최적화에 초점을 둔다.
다음의 워드 라인/비트 라인(WL/BL) 전력 공급 방식(예를 들어, 셋(SET) 및/또는 리셋(RESET) 동작 동안 PRAM 장치의 워드 라인 및 비트 라인에 전력을 인가하는 방식)에서, PRAM 장치의 타겟 셀(들)의 워드 라인 및 비트 라인에 적절한 전압들이 인가되는 것은 각 방식마다 본질적으로 동일한 방법으로 인가될 수 있으나, PRAM 장치의 선택되지 않은 워드 라인 및 비트 라인에 전압이 인가되는 것은 각 방식마다 상이할 수 있다. 예를 들어, 플로팅(floating) 워드 라인/플로팅 비트 라인(FWFB) 방식에 따르면, 선택되지 않은 모든 행 및 열(예를 들어, 선택되지 않은 워드 라인 및 비트 라인)이 플로팅 될 수 있다(즉, 플로팅 상태를 가정하도록 제어됨). 하프 파워(half power) 워드 라인/플로팅 비트 라인(HWFB) 방식에 따르면, 기입 전압의 절반 크기를 갖는 전압이 선택되지 않은 워드 라인에 인가될 수 있고, 선택되지 않은 비트 라인이 플로팅 될 수 있다. 플로팅 워드 라인/하프 파워 비트 라인(FWHB) 방식에 따르면, 선택되지 않은 워드 라인은 플로팅 될 수 있고, 기입 전압의 절반 크기를 갖는 전압이 선택되지 않은 비트 라인에 인가될 수 있다. 또한, 하프 파워 워드 라인/하프 파워 비트 라인(HWHB) 방식에 따르면, 기입 전압의 절반 크기를 갖는 전압이 선택되지 않은 워드 라인에 인가될 수 있고, 기입 전압의 절반 크기를 갖는 전압이 선택되지 않은 비트 라인에 인가될 수 있다
상기 언급된 워드 라인/비트 라인 방식의 분석은 상기 언급된 워드 라인/비트 라인 방식 중에서 HWHB 방식이 가장 에너지 효율적이라는 것을 나타내고 있다.
또한, 본 개시의 일 실시예에 따르면, 오직 워드 라인 레벨에서의 기입 동작을 수행하는 것보다 블록 레벨 또는 서브 블록 레벨에서 기입 동작을 수행함으로써, PRAM 장치의 메모리 셀의 기입 동작의 수행의 에너지 효율성이 향상될 수 있다.
예를 들어, 본 개시의 일 실시예에 따르면, 이하에서 더 상세히 논의될 바와 같이, 블록 레벨 기입 동작의 수행은, (i) 메모리 셀의 전체 블록 셀을 소거(예를 들어, 리셋(RESET) 동작의 수행)하여 상기 메모리 셀을 고저항 상태(high resistance state, HRS)로 설정하는 단계, (ii) 기입되는 데이터에 따라 각 워드 라인의 메모리 셀을 저저항 상태(low resistance state, LRS)로 선택적으로 설정하기 위해, 블록의 각 워드 라인에 순차적으로 셋(SET) 동작을 수행함으로써 블록의 메모리 셀에 데이터를 기입하는 단계를 포함할 수 있다. 이하에서 설명되는 바와 같이, 본 개시의 일 실시예에 따른 블록 레벨 기입 동작은 워드 라인 레벨 기입 동작보다 에너지 효율이 높다.
또한, 본 개시의 일 실시예에 따르면, 이하에서 더 상세히 논의될 바와 같이, 서브 블록 레벨 기입 동작의 수행은, (i) 서브 블록(예를 들어, 블록의 모든 워드 라인은 아니나 그 일부)의 메모리 셀들을 소거(예를 들어, 리셋(RESET) 동작의 수행)하여 상기 메모리 셀들을 고저항 상태(HRS)로 설정하는 단계, (ii) 기입되는 데이터에 따라 각 워드 라인의 메모리 셀을 저저항 상태(LRS)로 선택적으로 설정하기 위해, 블록의 각 워드 라인에 순차적으로 셋(SET) 동작을 수행함으로써 블록의 메모리 셀에 데이터를 기입하는 단계를 포함할 수 있다. 이하에서 설명되는 바와 같이, 본 개시의 일 실시예에 따른 서브 블록 레벨 기입 동작은 워드 라인 레벨 기입 동작보다 에너지 효율이 높다.
도 1a은 본 개시의 일 실시예에 따른 메모리 시스템(900)을 나타내는 도면이다. 도 1a를 참조하면, 메모리 시스템(900)은 메모리 컨트롤러(1000) 및 비휘발성 메모리 장치(2000)을 포함할 수 있다.
본 개시의 일 실시예에 따르면, 비휘발성 장치(2000)는 상 변화 RAM(PRAM) 장치이다. 또한, 본 개시에 따른 비휘발성 메모리 장치(2000)는 본 개시에서 PRAM 장치(2000)로 지칭될 수 있다.
PRAM 장치(2000)는 메모리 셀 어레이(2100), X 디코더(121), 전압 생성기(125), 입출력(I/O) 버퍼(124), 페이지 버퍼(123) 및 각각 하나 이상의 회로로 구현될 수 있는 제어 로직(126)을 포함할 수 있다. 메모리 장치에는 입출력(I/O) 패드(127)도 포함될 수 있다.
도 1d와 관련하여 아래에서 설명된 바와 같이, 메모리 셀 어레이(2000)는 복수의 워드 라인 및 복수의 비트 라인을 포함하는 PRAM 셀 어레이일 수 있고, 메모리 셀 어레이(2100) 내의 각 메모리 셀은, 예를 들어, PRAM 셀로 구현될 수 있다.
메모리 셀 어레이(2100)는 복수의 블록들 및 복수의 페이지들을 포함할 수 있다. 하나의 블록은 복수의 페이지들을 포함할 수 있다. 본 개시의 실시예에 따르면, 페이지는 워드 라인의 메모리 셀들을 의미할 수 있다. 따라서, 본 개시에서 사용되는 바와 같이, "페이지"라는 용어는 "워드 라인"과 동의어로 간주될 수 있고, 때로는 "워드 라인"으로 지칭될 수 있다. 본 개시의 일 실시예에 따르면, 페이지는 기입 및 독출의 단위일 수 있다. 예를 들어, 메모리 셀 어레이(2100)는 제1 블록(2120) 및 제2 블록(2130)을 포함할 수 있다. 도 1a에 도시된 바와 같이, 제1 블록(2120)은 제1 페이지(PAGE 1) 내지 제M 페이지(PAGE M)를 포함할 수 있고, 제2 블록(2130)은 제1 페이지(PAGE 1) 내지 제M 페이지(PAGE M)를 포함할 수 있으며, 여기서 M은 1보다 큰 양의 정수이다. 본 개시의 일 실시예에 따르면, 제1 블록(2120)에 포함된 M개의 페이지들은 각각 제1 블록(2120)에 포함된 M개의 워드 라인들에 해당하고, 제2 블록(2130)에 포함된 M개의 페이지들은 각각 제2 블록(2130)에 포함된 M개의 워드 라인들에 해당할 수 있다.
본 개시의 일 실시예에 따르면, 블록 내의 서브 그룹의 페이지들(또는 워드 라인들)은 "서브 블록"으로 지칭될 수 있다. 예를 들어, 도 1a에 도시된 바와 같이, 제2 블록(2130)은 서브 블록(2135)을 포함할 수 있다. 서브 블록(2135)은 제2 블록(2130)의 제1 페이지(PAGE 1) 내지 제4 페이지(PAGE 4)인 4개의 페이지들을 포함할 수 있다. 서브 블록(2135)은 제2 블록(2130)의 제1 페이지(PAGE 1) 내지 제4 페이지(PAGE 4) 각각에 대응하는 4개의 워드 라인을 포함하는 것으로 지칭될 수 있다.
제어 로직(126)은 PRAM 장치(2000)의 전반적인 동작을 제어할 수 있다. 메모리 컨트롤러(1000)로부터 커맨드(CMD)를 수신할 때, 제어 로직(126)은 커맨드(CMD)를 해석하고, 해석된 커맨드(CMD)에 따른 동작(예를 들어, 프로그램 동작, 독출 동작, 독출 재시도 동작 또는 소거 동작)을 수행하도록 PRAM 장치(2000)를 제어할 수 있다.
본 개시의 일 실시예에 따르면, 제어 로직(126)은 커맨드(CMD)에 기초하여 명령을 실행하고 하드웨어로 구현된 프로세서를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 제어 로직(126)은 상기 프로세서 외에도, 상기 제어 로직(126)에 포함된 프로세서에 의해 실행될 경우, 상기 프로세서가 특정 동작들을 수행하도록 하는 단계들을 저장하기 위한 저장 장치를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 메모리 장치(2000)는 수행되는 것으로 설명된 임의의 동작들은, 제어 로직(126)에 의해 수행되거나, 또는 그 제어 하에 있을 수 있으며, 예를 들어, 제어 로직(126)에 포함된 저장 유닛에 저장된 펌웨어를 구동하는, 제어 로직(126)에 포함된 프로세서에 의해 수행될 수 있다. 대안적으로, 제어 로직(126)은 메모리 장치(2000)에 의해 수행되는 것으로 여기에 설명된 임의의 동작들을 수행하거나 제어하기 위해 하드웨어적 관점에서 물리적으로 프로그램된 회로(예를 들어, ASIC(application specific integrated circuit))일 수 있다.
X 디코더(121)는 제어 로직(126)에 의해 제어될 수 있고, 로우(row) 어드레스에 따라 메모리 셀 어레이(2100)의 워드 라인들 중 적어도 하나를 구동할 수 있다.
전압 생성기(125)는 기입 동작, 독출 동작 또는 소거 동작에 필요한 하나 이상의 전압들을 생성하고, 생성한 전압들을 X 디코더(121)에 의해 선택된 하나 이상의 로우들에 제공하도록 제어 로직(126)에 의해 제어될 수 있다.
레지스터(128)는 제어 로직(126)에 의해 제어될 수 있고, 메모리 컨트롤러(1000)로부터 입력된 정보가 저장되는 공간이며, 복수의 래치(latch)들을 포함할 수 있다. 예를 들어, 레지스터(128)는 독출 전압(및/또는 기준 전압) 정보를 그룹화하고, 상기 정보를 테이블의 형태로 저장할 수 있다.
페이지 버퍼(123)는 제어 로직(126)에 의해 제어될 수 있고, 동작 모드(예를 들어, 독출 동작 또는 기입 동작)에 따라 감지 증폭기 또는 기입 드라이버로서 동작할 수 있다.
입출력 패드(127) 및 입출력 버퍼(124)는 외부 장치, 예를 들어, 메모리 컨트롤러(1000) 또는 호스트와 PRAM 장치(2000) 사이에서 교환되는 데이터의 입출력(I/O) 경로로서 기능할 수 있다. 입출력 패드(127)는 메모리 시스템 버스(800)를 통해 메모리 컨트롤러(1000)에 연결될 수 있다. 데이터 및 명령들은 메모리 장치(2000)로부터 메모리 컨트롤러(1000)로 출력되거나, 입출력 패드(127) 및 메모리 시스템 버스(800)를 통해 메모리 장치(2000)에서 메모리 컨트롤러(1000)로 수신될 수 있다.
본 개시의 일 실시예에 따르면, 메모리 장치(2000)는 메모리 컨트롤러(1000)에 의해 생성된 명령 및/또는 제어 신호에 응답하여 동작할 수 있다. 따라서, 본 개시에서 메모리 장치(2000)에 의해 수행, 실행 또는 제어되는 것으로 설명된 동작들은 추가로 또는 대안적으로 메모리 컨트롤러(1000)에 의해 수행, 실행 또는 제어되는 동작으로 지칭될 수 있다.
메모리 컨트롤러(1000)는 마이크로 프로세서(111), 읽기 전용 메모리(ROM)(113), 랜덤 액세스 메모리(RAM)(112), 인코더(1100), 디코더(1200), 메모리 인터페이스(116) 및 컨트롤러 버스(118)를 포함할 수 있다. 메모리 컨트롤러(1000)의 소자들(111 내지 116)은 컨트롤러 버스(118)를 통해 서로 전기적으로 연결될 수 있다.
마이크로 프로세서(111)는 메모리 컨트롤러(1000)를 포함하는 메모리 시스템(900)의 전반적인 동작을 제어할 수 있다. 마이크로 프로세서(111)는 제어 신호를 생성하여 다른 요소들을 제어하는 회로일 수 있다. 메모리 시스템(900)에 전력이 공급될 때, 마이크로 프로세서(111)는 RAM(112)상에서 메모리 시스템(900)을 동작시키기 위한 펌웨어(예를 들어, ROM(113)에 저장됨)를 구동하여, 메모리 시스템(900)의 전반적인 동작을 제어할 수 있다. 본 개시의 일 실시예에 따르면, 마이크로 프로세서(111)는 메모리 컨트롤러(1000)의 다른 구성들, 예를 들어, ROM(113), RAM(112), 인코더(1100), 디코더(1200), 메모리 인터페이스(116) 및 컨트롤러 버스(118)의 일부 또는 전부의 동작들을 제어하기 위해 명령을 발행하거나 제어 신호를 출력할 수 있다. 본 개시의 일 실시예에 따르면, 메모리 컨트롤러(1000)에 의해 수행되는 것으로 여기에 설명된 임의의 동작들은, 마이크로 프로세서(111)(예를 들어, 상기 언급된 펌웨어를 구동하는 마이크로 프로세서(111))에 의해 수행되거나, 또는 그 제어 하에 있을 수 있다.
ROM(113)에는 메모리 시스템(900)의 구동 펌웨어 코드가 저장되어 있지만, 본 개시는 이에 한정되는 것은 아니다. 펌웨어 코드는 또한 ROM(113) 이외의 메모리 시스템(900)의 일부에 저장될 수 있다. 따라서, 마이크로 프로세서(111)의 제어 또는 개입은 마이크로 프로세서(111)의 직접 제어뿐만 아니라 마이크로 프로세서(111)에 의해 구동되는 소프트웨어의 개입도 포함될 수 있다.
대안적으로, 마이크로 프로세서(111)는 메모리 컨트롤러(1000)에 의해 수행되는 것으로 여기에 설명된 임의의 동작들을 수행하거나 제어하기 위해 하드웨어적 관점에서 물리적으로 프로그램된 회로(예를 들어, ASIC)일 수 있다.
버퍼로서 기능하는 메모리인 RAM(112)은 호스트 또는 마이크로 프로세서(111)로부터 입력된 초기 명령, 데이터 및 다양한 변수들, 또는 PRAM 장치(2000)로부터 출력되는 데이터를 저장할 수 있다. 본 개시의 일 실시예에 따르면, RAM(112)은 PRAM 장치(2000)에 입력 및 출력되는 데이터, 다양한 파라미터 및 변수들을 저장할 수 있다.
메모리 인터페이스(116)는 메모리 컨트롤러(1000)와 PRAM 장치(2000) 사이의 인터페이스로서 기능할 수 있다. 메모리 인터페이스(116)는 메모리 시스템 버스(800)를 통해 PRAM 장치(2000)의 입출력 패드(127)에 연결될 수 있고, 메모리 시스템 버스(800)를 통해 입출력 패드(127)와 데이터를 교환할 수 있다. 또한, 메모리 인터페이스(116)는 PRAM 장치(2000)에 적합한 명령을 생성하고, 생성된 명령을 PRAM 장치(2000)의 입출력 패드(127)에 제공할 수 있다. 메모리 인터페이스(116)는 PRAM 장치(2000)에 의해 실행될 하나 이상의 명령 및 PRAM 장치(2000)의 하나 이상의 어드레스(ADD)를 제공할 수 있다.
도 1b는 본 개시의 일 실시예에 따른 기입 버퍼(150)를 나타내는 도면이다. 메모리 컨트롤러(1000)는 기입 버퍼(150)에 복수의 단위들의 기입 데이터를 저장할 수 있다. 예를 들어, 본 개시의 일 실시예에 따르면, 메모리 컨트롤러(1000)는 기입 동작을 위해, i개 단위들의 데이터를 PRAM 장치(2000)에 제공하기 전에, i개 단위들의 데이터인 제1 데이터(Data 1) 내지 제i 데이터(Data i)를 저장할 수 있다. 본 개시의 일 실시예에 따르면, 기입 버퍼에 데이터가 저장되는 단위는 페이지일 수 있다. 따라서, 본 개시의 일 실시예에 따르면, 메모리 컨트롤러(1000)는 i개 페이지들의 기입 데이터를 메모리 컨트롤러(1000)에 제공하기 전에 i개 페이지들의 기입 데이터를 기입 버퍼(150)에 저장할 수 있다.
도 1c는 본 개시의 일 실시예에 따른 유효성 테이블(160)을 나타내는 도면이다. 메모리 컨트롤러(1000)는 메모리 셀 어레이(2100) 내의 각 블록의 각 페이지(예를 들어, 워드 라인)에 대하여 페이지가 유효한지(V) 또는 유효하지 않은지(I)를 나타내는 메타 데이터를 유효성 테이블(160)에 저장할 수 있다. 본 개시의 일 실시예에 따르면, 메모리 컨트롤러(1000)는, 예를 들어, 메모리 셀 어레이(2100)의 페이지들에 저장된 데이터와 물리적 페이지인 메모리 셀 어레이(2100)의 페이지에 대응하는 논리적 페이지(예를 들어, 호스트의 논리적 페이지)의 데이터와의 관계를 기초로 메모리 셀 어레이(2100) 내의 각 페이지가 유효한지 또는 유효하지 않은지를 결정할 수 있다. 예를 들어, 메모리 셀 어레이(2100) 내의 물리적 페이지의 데이터가 대응하는 논리적 페이지의 데이터와 일치하면, 메모리 컨트롤러(1000)는 유효성 테이블(160)에서 상기 물리적 페이지가 유효(V)한 것으로 식별할 수 있다. 또한, 메모리 셀 어레이(2100) 내의 물리적 페이지의 데이터가 대응하는 논리적 페이지와 일치하지 않거나, 상기 물리적 페이지가 대응하는 논리적 페이지에 아직 할당되지 않은 경우, 메모리 컨트롤러(1000)는 유효성 테이블(160)에서 상기 물리적 페이지가 유효하지 않은(I) 것으로 식별할 수 있다. 예를 들어, 도 1c에서 도시된 바와 같이, 제1 블록(Block 1)의 유효하지 않은(I) 페이지들인 제1 페이지(Page 1) 및 제M 페이지(Page M)를 제외한 제1 블록(Block 1)의 모든 페이지들이 유효(V)할 수 있다. 또한, 제2 블록(Block 2)의 유효하지 않은(I) 페이지들인 제1 페이지(Page 1) 및 제2 페이지(Page 2)를 제외한 제2 블록(Block 2)의 모든 페이지들이 유효(V)할 수 있다. 또한, 제3 블록(Block 3)의 모든 페이지들이 유효하지 않을(I) 수 있다. 또한, 제4 블록(Block 4)의 모든 페이지들이 유효(V)할 수 있다.
본 개시의 일 실시예에 따르면, 기입 버퍼(150) 및 유효성 테이블(160) 중 하나 또는 모두는 RAM(112)의 일부로서 구현될 수 있다. 본 개시의 일 실시예에 따르면, 기입 버퍼(150) 및 유효성 테이블(160) 중 하나 또는 모두는 RAM(112)과 분리될 수 있으며, 메모리 컨트롤러(1000)의 내부 또는 외부에 구비될 수 있다.
도 1d는 본 개시의 일 실시예에 따른 메모리 셀 어레이(200)의 일부를 나타내는 도면이다. 본 개시의 일 실시예에 따르면, 메모리 셀 어레이(200)는 PRAM 셀 어레이이며, 도 1a에 도시된 메모리 셀 어레이(2100)의 일부의 예이다. 도 1d를 참조하면, 메모리 셀 어레이(200)는 매트릭스로 배열되고, 메모리 소자(5) 및 액세스 장치(6)를 각각 포함하는 복수의 메모리 셀(7)들을 포함할 수 있다. 메모리 소자(5)는, 예를 들어, 상 변화 물질을 포함할 수 있다. 또한, 메모리 소자(5)는 본 개시에서 상 변화 소자(5)로 지칭될 수 있다. 메모리 소자(5)의 상태는 공급되는 전류량에 따라 달라질 수 있다.
예를 들어, PRAM 장치의 분야에서 알려진 바와 같이, 상 변화 소자(5)의 상 변화 재료는 물질에 대한 전류의 적용에 따라 물리적 상태, 그에 따라 저항성이 변하는 물질일 수 있다. 예를 들어, 본 개시의 일 실시예에 따르면, 상기 상 변화 소자(5)는 상 변화 재료가 미리 결정된 시간 동안 결정화 온도와 그 용해 지점 사이의 온도로 가열된 후 점차적으로 냉각될 때 결정체 상태를 가질 수 있다. 또한, 상 변화 소자(5)는 상 변화 소자(5)의 용해 지점과 같거나 큰 온도로 가열된 후 빠르게 냉각될 때 비정형 상태를 가질 수 있다. 결정체 및 비정형 상태는 서로 상대적으로 다른 저항성을 가질 수 있다. 예를 들어, 상 변화 소자(5)는 비정형 상태일 때 고저항 상태(HRS)일 수 있으며, 결정체 상태일 때 저저항 상태(LRS)일 수 있다.
액세스 장치(6)는 워드 라인(미도시)의 전압에 따라 상 변화 소자(5)로의 전류 공급을 제어할 수 있다. 다양한 실시예에서, 액세스 장치(6)는, 예를 들어, 다이오드, 트랜지스터(예를 들어, 금속 산화물 반도체 전계 효과 트랜지스터 (MOSFET) 또는 바이폴라 접합 트랜지스터 (BJT)), 또는 임의의 다른 공지된 적절한 스위칭 장치일 수 있다.
복수의 메모리 셀(7)들은 제1 내지 제5 워드 라인들(WL1 ~ WL5) 및 제1 내지 제5 비트 라인들(BL1 ~ BL5)에 각각 전기적으로 연결될 수 있다. 메모리 셀 어레이(200)는 크로스-포인트 메모리 셀 어레이일 수 있다. 본 개시의 일 실시예에 따르면, 워드 라인들(WL) 및 비트 라인들(BL)은, 예를 들어, 그리드 형태로 2차원적으로 배열될 수 있다. 예를 들어, 워드 라인들(WL) 및 비트 라인들(BL)은 직각으로 2차원적으로 연결될 수 있다. 본 개시의 실시예에 따르면, 워드 라인들(WL) 및 비트 라인들(BL)은 직각 이외의 각도로 2차원적으로 연결될 수 있다. 본 개시의 실시예에 따르면, 워드 라인들(WL) 및 비트 라인들(BL)은 서로 가로지르는 방향으로 배치될 수 있다. 설명의 편의를 위해, 도 1d는 메모리 셀 어레이(200)의 5개의 워드 라인 및 5개의 비트 라인만을 도시하지만, 메모리 셀 어레이(200)는 임의의 개수의 워드 라인 및 임의의 개수의 비트 라인을 포함할 수 있다.
도 2a는 상 변화 메모리 어레이(300)의 일부의 예를 나타내는 도면이다. 도 2a에 도시된 메모리 셀 어레이(300)는, 도 1d에 도시된 메모리 셀 어레이(200)를 간략화한 것이다.
예를 들어, 도 2a에서 비트 라인과 워드 라인 사이의 교차점은 교차하는 라인들 모두에 연결된 메모리 셀에 대응할 수 있다. 예를 들어, 본 개시에서 사용되는 표기법 MCxy는 비트 라인(BLx) 및 워드 라인(WLy)에 연결된 메모리 셀을 지칭할 수 있다. 예를 들어, 도 2a에 도시된 바와 같이, 제1 비트 라인(BL1)과 제3 워드 라인(WL3)의 교차점은, 제1 비트 라인(BL1)과 제3 워드 라인(WL3)에 연결되고 그 사이에 위치한 메모리 셀(MC13)에 대응할 수 있고, 제2 비트 라인(BL2)과 제2 워드 라인(WL2)의 교차점은, 제2 비트 라인(BL2)과 제2 워드 라인(WL2)에 연결되고 그 사이에 위치한 메모리 셀(MC22)에 대응할 수 있고, 제4 비트 라인(BL4)과 제1 워드 라인(WL1)의 교차점은, 제4 비트 라인(BL4)과 제1 워드 라인(WL1)에 연결되고 그 사이에 위치한 메모리 셀(MC41)에 대응할 수 있다.
메모리 셀 어레이(300)의 메모리 셀(MC)은, 도 1d의 메모리 셀 어레이(200)의 메모리 셀(7)의 예시이다. 따라서, 본 개시의 일 실시예에 따르면, 메모리 셀 어레이(300)의 각 메모리 셀(MC)은 상 변화 소자(5) 및 액세스 장치(6)를 포함하는 PRAM 셀일 수 있다.
PRAM 셀을 저저항 상태(LRS)에서 고저항 상태(HRS)로 천이시키는 동작을 리셋(RESET) 동작이라고 지칭할 수 있다. PRAM 셀을 고저항 상태(HRS)에서 저저항 상태(LRS) 상태로 천이시키는 동작을 셋(SET) 동작이라고 지칭할 수 있다. 리셋(RESET) 및 셋(SET) 동작은 도 2b 및 도 2c를 참조하여 이하에서 더 상세히 설명될 것이다. 도 2b는 본 개시의 일 실시예에 따른 셋(SET) 동작의 예를 나타내는 도면이다. 도 2c는 본 개시의 일 실시예에 따른 리셋(RESET) 동작의 예를 나타내는 도면이다.
도 2b를 참조하면, 타겟 셀을 고저항 상태(HRS)에서 저저항 상태(LRS)로 스위칭함으로써 타겟 메모리 셀에 대한 셋(SET) 동작을 수행하기 위해, PRAM 장치(2000)는 대응하는 타겟 워드 라인 및 타겟 비트 라인(즉, 타겟 메모리 셀에 연결된 워드 라인 및 비트 라인) 사이에 비교적 높은 전압 강하를 생성할 수 있다. 따라서, 셋(SET) 동작 동안 타겟 워드 라인 및 타겟 비트 라인에 인가된 전압은 원하는 전압 강하를 생성하도록 선택될 수 있다. 도 2b에 도시된 예에서, 타겟 메모리 셀은, 도 2b의 어둡게 채워진 원으로 표시된 메모리 셀 MC23, MC33 및 MC53이다. 따라서, 타겟 비트 라인은 제2 비트 라인(BL2), 제3 비트 라인(BL3) 및 제5 비트 라인(BL5)이고, 타겟 워드 라인은 제3 워드 라인(WL3)이다. 또한, 도 2b에서 도시된 바와 같이, PRAM 장치(2000)는 타겟 비트 라인에 접지 전압(예를 들어, 0V)을 인가하고, 타겟 워드 라인인 제3 워드 라인(WL3)에 셋(SET) 전압(VSET)을 인가할 수 있다. 따라서, 각각의 타겟 메모리 셀에 대해, 타겟 메모리 셀의 워드 라인에 연결된 타겟 메모리 셀의 노드로부터 타겟 메모리 셀의 비트 라인에 연결된 타겟 메모리 셀의 노드까지 전압 강하가 생성될 수 있다. 따라서, 도 2b에 도시된 예에서, 타겟 메모리 셀들(MC23, MC33 및 MC53)의 결과적인 저항 상태는 저저항 상태(LRS)가 될 수 있다. 예를 들어, 셋(SET) 동작 후 타겟 메모리 셀들(MC23, MC33, MC53)의 저항은 저항(RL)이 될 수 있다.
셋(SET) 동작 동안, 타겟 워드 라인 및 타겟 비트 라인에 인가된 전압은 선택되지 않은 워드 라인 및 선택되지 않은 비트 라인의 메모리 셀에서 의도하지 않은 전압 변화를 야기할 수 있다. 따라서, 본 개시의 실시 예들에 따르면, 상술한 의도하지 않은 전압 변화를 줄이기 위해, 셋(SET) 동작 시, PRAM 장치(2000)는 도 2b에 도시된 바와 같이, 선택되지 않은 비트 라인인 제1 비트 라인(BL1) 및 제4 비트 라인(BL4)에 전압 VSBL을 인가하고, 선택되지 않은 워드 라인인 제1 워드 라인(WL1), 제2 워드 라인(WL2), 제4 워드 라인(WL4) 및 제5 워드 라인(WL5)에 전압 VSWL을 인가할 수 있다. 본 개시의 일 실시예에 따르면, 전압들 VSBL(예를 들어, 1V) 및 VSWL(예를 들어, 1V)의 크기는 각각 셋(SET) 전압(VSET)(예를 들어, 2V)의 크기의 절반과 같을 수 있다.
도 2c를 참조하면, 타겟 셀을 저저항 상태(LRS)에서 고저항 상태(HRS)로 스위칭함으로써 타겟 메모리 셀에 대한 리셋(RESET) 동작을 수행하기 위해, PRAM 장치(2000)는 대응하는 타겟 비트 라인 및 타겟 워드 라인(즉, 타겟 메모리 셀에 연결된 비트 라인 및 워드 라인) 사이에 비교적 높은 전압 강하를 생성할 수 있다. 따라서, 리셋(RESET) 동작 동안 타겟 비트 라인 및 타겟 워드 라인에 인가된 전압은 원하는 전압 강하를 생성하도록 선택될 수 있다. 도 2c에 도시된 예에서, 타겟 메모리 셀은, 도 2c의 어둡게 채워진 원으로 표시된 메모리 셀 MC13 및 MC43이다. 따라서, 타겟 비트 라인은 제1 비트 라인(BL1) 및 제4 비트 라인(BL4)이고, 타겟 워드 라인은 제3 워드 라인(WL3)이다. 또한, 도 2c에서 도시된 바와 같이, PRAM 장치(2000)는 타겟 워드 라인에 접지 전압(예를 들어, 0V)을 인가하고, 타겟 비트 라인인 제1 비트 라인(BL1) 및 제4 비트 라인(BL4)에 리셋 전압(VRST)을 인가할 수 있다. 따라서, 각각의 타겟 메모리 셀에 대해, 타겟 메모리 셀의 비트 라인에 연결된 타겟 메모리 셀의 노드로부터 타겟 메모리 셀의 워드 라인에 연결된 타겟 메모리 셀의 노드까지 전압 강하가 생성될 수 있다. 따라서, 도 2c에 도시된 예에서, 타겟 메모리 셀들(MC13 및 MC43)의 결과적인 저항 상태는 고저항 상태(HRS)가 될 수 있다. 예를 들어, 리셋(RESET) 동작 후 타겟 메모리 셀들(MC13, MC43)의 저항은 저항(RH)이 될 수 있다.
리셋(RESET) 동작 동안, 타겟 워드 라인 및 타겟 비트 라인에 인가된 전압은 선택되지 않은 워드 라인 및 선택되지 않은 비트 라인의 메모리 셀에서 의도하지 않은 전압 변화를 야기할 수 있다. 따라서, 본 개시의 실시 예들에 따르면, 상술한 의도하지 않은 전압 변화를 줄이기 위해, 리셋(RESET) 동작 시, PRAM 장치(2000)는 도 2b에 도시된 바와 같이, 선택되지 않은 비트 라인인 제2 비트 라인(BL2), 제3 비트 라인(BL3) 및 제5 비트 라인(BL5)에 전압 VRBL을 인가하고, 선택되지 않은 워드 라인인 제1 워드 라인(WL1), 제2 워드 라인(WL2), 제4 워드 라인(WL4) 및 제5 워드 라인(WL5)에 전압 VRWL을 인가할 수 있다. 본 개시의 일 실시예에 따르면, 전압들 VRBL(예를 들어, 1V) 및 VRWL(예를 들어, 1V)의 크기는 각각 리셋 전압(VRST)(예를 들어, 2V)의 크기의 절반과 같을 수 있다.
PRAM 장치의 PRAM 셀들에 대한 기입 동작을 수행하기 위한 상이한 방식들과 관련된 전력 소비 속성들이 이하에서 더 상세하게 논의될 것이다. 섹션 II는 본 개시 전반에 걸쳐 사용되는 파라미터, 예시적인 값, 표기법 및 정의에 대한 논의를 포함한다. 섹션 III에는 다양한 단일 워드 라인 기입 체계에 대한 분석이 포함된다. 섹션 IV에는 다양한 블록 및 하위 블록 기입 체계에 대한 분석이 포함된다. 섹션 Ⅴ는 본 개시의 일 실시예에 따른 PRAM 장치의 PRAM 셀에 대한 기입 동작을 수행하기 위한 알고리즘에 대한 논의를 포함한다.
Ⅱ. 표기법 및 정의
이하의 표 1은 본 개시에서 특정 파라미터에 사용될 표기법뿐만 아니라, 각 파라미터에 대한 예시적인 값(value) 및 단위(unit)를 설명한다. 표 1의 파라미터를 위해 제공된 값 및 단위는 설명의 편의를 위해 제공된 예이며, 표 1에 열거된 파라미터에 대한 실제 값 및 단위는 표 1에 표시된 값 및 단위와 상이할 수 있다. 예를 들어, 본 개시의 일 실시예에 따르면, 표 1에 열거된 파라미터는 예를 들어, 파라미터의 실험적 분석에 기초하여, 제1 상 변화 메모리 장치의 설계자, 제조사 및/또는 사용자의 선호에 따라 설정되는 값 또는 단위를 가질 수 있다.
Parameter | Value | Units | Definition |
M | 128 | Rows | PRAM 블록의 행의 개수 |
N | 16384 | Columns | PRAM 블록의 열의 개수(~2KB) |
VSET or VSET | 2 | Volts(V) | 셋(SET) 동작 동안 타겟 워드 라인에 인가되는 전압 |
VRST or VRST | 2 | Volts(V) | 리셋(RESET) 동작 동안 타겟 비트 라인에 인가되는 전압 |
VRD or VRD | 0.5 | Volts(V) | 독출 동작 동안 타겟 워드 라인에 인가되는 전압 |
VSWL or VSWL | 1 | Volts(V) | 셋(SET) 동작 동안 선택되지 않은 워드 라인에 인가되는 전압 |
VSBL or VSBL | 1 | Volts(V) | 셋(SET) 동작 동안 선택되지 않은 비트 라인에 인가되는 전압 |
VRWL or VRWL | 1 | Volts(V) | 리셋(RESET) 동작 동안 선택되지 않은 워드 라인에 인가되는 전압 |
VRBL or VRBL | 1 | Volts(V) | 리셋(RESET) 동작 동안 선택되지 않은 비트 라인에 인가되는 전압 |
RL or RL | 100 | Kilo ohms(KΩ) | 저저항 상태(LRS)의 PRAM 셀의 저항 |
RH or RH | 1000 | Kilo ohms(KΩ) | 고저항 상태(HRS)의 PRAM 셀의 저항 |
이하에서는 본 개시의 전반에 걸쳐 사용된 표기 및 정의에 대해 설명한다.
표기법 1(배열 차원(array dimension) 및 데이터 분포(data distribution)): 섹션 Ⅲ - Ⅴ에서 후술하는 예는, 도 1a의 메모리 컨트롤러(1000)가 도 1a의 메모리 장치(2000)의 메모리 셀 어레이(2100)의 PRAM 셀에 원하는 기입 데이터를 프로그램 하기 위해, 제2 블록(2130) 및 제2 블록(2130)의 서브 블록(2135)을 예로서 사용하여, 메모리 장치(2000)를 제어하는 시나리오와 관련하여 논의된다. 따라서, 섹션 Ⅲ - Ⅴ에서 논의된 모든 동작들은, 예를 들어, 메모리 컨트롤러(1000)의 제어 하에서, 메모리 장치(2000)에 의해 수행될 수 있다. 또한, 섹션 Ⅲ - Ⅴ에서 후술하는 예는, 메모리 셀 어레이(2100)가 M 개의 워드 라인(행) 및 N 개의 비트 라인(열)을 포함하고(M과 N은 각각 0이 아닌 양의 정수), 크로스-포인트 어레이인 시나리오와 관련하여 논의된다. 또한, 섹션 Ⅲ - Ⅴ에서 후술하는 예는, 데이터 분포가 베르누이-1/2 분포인 시나리오와 관련하여 논의된다(즉, 기입 데이터가 기입된 각 워드 라인에 대하여, 워드 라인은 동일한 개수의 0과 1을 갖는 것으로 가정할 수 있다). 또한, 본 개시에서, 워드 라인 및 비트 라인 각각은 때때로 약어 "WL" 및 "BL"을 사용하여 지칭될 수 있다. 또한, 본 개시에서, 워드 라인 및 비트 라인은 각각은 때때로 용어"행" 및 "열"을 사용하여 지칭될 수 있다.
표기법 2(PRAM 셀의 상태): 간략화를 위해, 섹션 Ⅲ 및 Ⅳ에서 후술하는 예는, 메모리 셀 어레이(2100)의 PRAM 셀들이 이진값 "1"에 해당하는 고저항 상태(HRS) 또는 이진값 "0"에 해당하는 저저항 상태(LRS)에 있어 단일 비트의 데이터를 저장할 수 있는 단일 레벨 셀(single level cell, SLC)인 시나리오와 관련하여 논의된다. 그러나 본 개시의 일 실시예에 따르면, 고저항 상태 및 저저항 상태는 각각 이진값 "1" 및 "0"을 나타내는 것으로 한하지 않는다. 예를 들어, 적어도 하나의 대안적인 실시예에 따르면, 저저항 상태는 이진값 "1"에 대응할 수 있고, 고저항 상태는 이진값 "0"에 대응할 수 있다. 또한, 본 개시의 일 실시예에 따르면, 메모리 셀 어레이(2100)의 PRAM 셀들은 각각 1비트 이상의 데이터를 저장하는 멀티 레벨 셀(multi-level cell, MLC)일 수 있다. 예를 들어, 메모리 셀 어레이(2100)의 PRAM 셀은 4개의 상이한 저항 상태(예를 들어, 고저항 상태(HRS), 고중간 저항 상태(high intermediate resistance state, HIRS), 저중간 저항 상태(low intermediate resistance state, LIRS) 및 저저항 상태(LRS)) 중 하나를 저장함으로써 각각 2비트의 데이터(예를 들어, "11", "10", "00" 또는 "01")를 저장하는 멀티 레벨 셀(MLC)일 수 있다. 또한, 본 개시의 일 실시예에 따르면, 메모리 셀 어레이(2100)의 PRAM 셀은 단일 레벨 셀(SLC) 및 멀티 레벨 셀(MLC)의 혼합을 포함할 수 있다. 섹션 Ⅲ 및 Ⅳ에서 후술하는 예는, 저저항 상태(LRS)를 갖는 PRAM 셀이 이진값 "0"을 저장하는 PRAM 셀에 대응하고, 고저항 상태(HRS)를 갖는 PRAM 셀이 이진값 "1"을 저장하는 PRAM 셀인 시나리오와 관련하여 주로 논의된다.
표기법 및 정의 3(기입 동작 및 전압): 각 기입 동작은 셋(SET) 단계 및 리셋(RESET) 단계(또는 그 반대)의 두 단계로 구성될 수 있다. PRAM(2000)은 도 2b 및 도 2c와 관련하여 전술한 바와 동일한 방식으로 셋(SET) 및 리셋(RESET) 동작 중에 메모리 셀 어레이(2100)의 워드 라인들(WLs) 및 비트 라인들(BLs)에 전압을 인가할 수 있다. 예를 들어, 셋(SET) 동작 중에 셋(SET) 전압(VSET)이 타겟 워드 라인(WL)에 인가되고, 저저항 상태(LRS)에 있는 PRAM 셀의 저항(RL)으로 기입되고 있는 셀의 비트 라인들은 접지(0V)되며, 선택되지 않은 워드 라인들(WLs) 및 비트 라인들(BLs)은 전압 VSWL 및 VSBL으로 전원 공급될 수 있다. 또한, 리셋(RESET) 동작에서는, 타겟 워드 라인(WL)이 접지되고(0V), 고저항 상태(HRS)에 있는 PRAM 셀의 저항(RH)으로 기입되고 있는 셀의 비트 라인(BL)에 리셋 전압(VRST)을 인가하고, 선택되지 않은 워드 라인들(WLs) 및 비트 라인들(BLs)은 전압 VRWL 및 VRBL으로 전원 공급될 수 있다. 섹션 Ⅲ 및 Ⅳ에서 후술하는 예는, 표 1에서 나열된 각 파라미터가 표 1에서의 파라미터에 대한 예시적인 값과 단위를 갖도록 설정되는 시나리오와 관련하여 논의된다.
표기법 및 정의 4(단일 메모리 셀의 기입 전력): 단일 PRAM 셀의 저항 상태를 저저항 상태(LRS)에서 고저항 상태(HRS)로 변경(예를 들어, PRAM 셀의 워드 라인(WL)에 대한 리셋(RESET) 동작 수행의 일부)하기 위해 요구되는 전력(PRST 또는 PRST)은 아래의 수학식 1로 표현되는 것으로 가정한다:
여기서 I(R)은 저 R에서 PRAM 셀을 통과하는 전류를 의미한다.
단일 PRAM 셀의 저항 상태를 고저항 상태(HRS)에서 저저항 상태(LRS)로 변경(예를 들어, PRAM 셀의 워드 라인(WL)에 대한 리셋(RESET) 동작 수행의 일부)하기 위해 요구되는 전력(PSET 또는 PSET)은 아래의 수학식 2로 표현되는 것으로 가정한다:
셋(SET) 및 리셋(RESET) 동작들의 레이턴시들(즉, 각각 tSET 및 tRST)은 실질적으로 동일하거나 대안적으로 동일한 것으로 가정할 수 있고(즉, tSET = tRST), 에너지는 전력에 비례할 수 있다. 셋(SET) 및 리셋(RESET) 동작들의 레이턴시들이 서로 다른 경우, 에너지 데이터는 예를 들어, 대응하는 지속 시간을 전력에 곱함으로써, 도출될 수 있다.
표기법 및 정의 5(기입 동작 및 전력): 이하의 섹션 Ⅲ 및 Ⅳ에서 논의된 예들은, 모든 비트 라인들(BLs)이 접지될 때(0V) 타겟 워드 라인(WL)에 독출 전압 VRD로 전력을 공급함으로써 독출 동작이 수행되는 시나리오와 관련하여 논의될 것이다. 또한, 독출 동작은 각 대응하는 PRAM 셀의 저항 상태(예를 들어, 저저항 상태(LRS) 또는 고저항 상태(HRS))를 결정하기 위해 각 비트 라인(BL)에서 전류를 측정하는 단계를 포함할 수 있다. (랜덤 데이터 분포와 함께) 독출 동작의 전력(PRD 또는 PRD)은 수학식 3으로 표현될 수 있다:
독출 전력 PRD는 누설 전류(sneak current)로부터 발생하는 기생 성분을 포함할 수 있다. 기생 성분은 독출 전력 PRD의 일부로서 기입 동작의 전체 전력 소비와 비교할 때 무시할 만한 것으로 간주될 수 있고, 따라서, 섹션 Ⅲ 및 Ⅳ에서 논의된 다양한 기입 동작들의 전체 전력 소비의 계산에는 포함되지 않을 수 있다.
이하 섹션 Ⅲ에서는 다양한 단일 워드 라인 기입 방식들에 대한 분석을 제공한다.
Ⅲ. 단일 워드 라인 기입 방식들에 대한 분석
이하에서, 기입 동작의 전력 소비는 4개의 서로 다른 단일 워드 라인 기입 방식들을 기준으로 분석될 수 있다: RESET-before-SET without prior read; SET-before-RESET without prior read; RESET-before-SET with prior read; and SET-before-RESET with prior read
1) RESET-before-SET without prior read
리셋(RESET) 단계에서, 타겟 워드 라인(WL)의 메모리 셀들 중에서 N/2개 타겟 열들의 메모리 셀들(N은 PRAM 블록의 열의 개수)은 입력되는 데이터에 따라 고저항 상태(HRS)로 리셋되도록 선택될 수 있다. 그러나 타겟 워드 라인(WL)의 메모리 셀들 중에서 N/2개 타겟 열들의 절반의 메모리 셀들은 이미 고저항 상태(HRS)로 설정될 수 있다. 따라서, N/4개 타겟 열들의 메모리 셀들만이 영향을 받을 수 있고(즉, 저항 상태의 변화를 경험), 나머지 N/4개 타겟 열들의 메모리 셀들은 단지 중복 전력을 소비할 수 있다. 나머지 선택받지 않은 N/2개 열들은 전력 VRBL에 의해 전력을 공급받을 수 있으며, 이 전압은 선택받지 않은 N/2개 열들의 저저항 상태(LRS) 및 고저항 상태(HRS)의 셀들 사이로 분배될 수 있다. 선택되지 않은 행들은 셀들의 절반이 VRST-VRWL로 바이어스되고, 나머지 절반이 VRBL-VRWL로 바이어스될 수 있다. 선택되지 않은 각 행의 셀들의 상태는 고저항 상태(HRS) 및 저저항 상태(LRS) 사이에서 동일하게 나뉠 수 있다. 따라서, RESET-before-SET without prior read 방식의 리셋(RESET) 동작의 전력(PRBS-RST)은 수학식 4로 표현될 수 있다:
리셋(RESET) 동작 후, 셋(SET) 동작이 수행될 수 있다. 셋(SET) 동작 동안, 타겟 워드 라인(WL)의 나머지 N/2개 셀들의 비트 라인들(BLs)(즉, 상기 언급된 리셋(RESET) 동작 동안 고저항 상태(HRS)로 리셋되도록 이전에 선택된 N/2개 셀들 이외의 N/2개 셀들)은 저저항 상태(HRS)로 설정되도록 선택될 수 있다. 그러나 저저항 상태(LRS)로 설정되도록 선택된 셀들의 절반이 이미 저저항 상태(LRS)일 수 있고, 셋(SET) 동작 중에 저항 상태의 변화를 경험하지 않을 수 있다. VSET-VSBL로 바이어스된 타겟 워드 라인에서 선택되지 않은 셀들은 이미 고저항 상태(HRS)이므로 전력을 덜 소비할 수 있다. 선택되지 않은 워드 라인들 내의 셀들은 전압 VSWL(즉, VSWL-0) 또는 전압 VSWL-VSBL에 의해 바이어스 되도록 동일한 개수로 균등하게 나뉠 수 있다. 따라서, RESET-before-SET without prior read(PRBS-SET) 방식의 셋(SET) 동작의 전력은 수학식 5로 표현될 수 있다:
따라서, RESET-before-SET without prior read 방식의 전체 전력 PRBS는 수학식 6으로 표현될 수 있다:
2) SET-before-RESET without prior read
현재 SET-before-RESET without prior read 기입 방식과 바로 위에서 전술한 RESET-before-SET without prior read 기입 방식의 차이점은 타겟 워드 라인의 선택되지 않은 셀들의 저항에 있다. 셋(SET) 동작 동안, 타겟 워드 라인의 선택되지 않은 N/2개 셀들은 이제 저저항 상태(LRS)와 고저항 상태(HRS)의 사이에서 균등하게 분배될 수 있다. 따라서, SET-before-RESET without prior read write 방식의 셋(SET) 동작의 전력(PSBR-SET)은 수학식 7로 표현될 수 있다:
리셋(RESET) 동작 동안, 타겟 워드 라인의 3N/4개 셀들은 (이전 셋(SET) 단계에 의해) 저저항 상태(LRS)에 있고, 따라서 SET-before-RESET without prior read write 방식의 리셋(RESET) 동작의 전력(PSBR-RST)은 수학식 8로 표현될 수 있다:
따라서, SET-before-RESET without prior read 방식의 전체 전력 PSBR은 수학식 9로 표현될 수 있다:
SET-before-RESET without prior read 방식의 소비 전력 PSBR은, 그 정확한 전압 구성에 따라(즉, 셋(SET) 전압 VSET, 리셋(RESET) 전압 VRST, 전압들 VSBL, VSWL, VRBL 및 VRWL의 값들), RESET-before-SET without prior read 방식의 소비 전력 PRBS보다 높을 수 있다.
3) RESET-before-SET with prior read
RESET-before-SET with prior read 방식은 타겟 워드 라인의 메모리 셀들에 원하는 기입 데이터를 기입하기 위한 타겟 워드 라인에 대한 리셋(RESET) 및 셋(SET) 동작들을 수행하기 이전에, 타겟 워드 라인의 메모리 셀들의 저항 상태를 독출하는 독출 동작을 포함할 수 있다.
리셋(RESET) 동작에서, 상기 언급된 사전 독출(prior read) 동작에 의해, 타겟 워드 라인의 고저항 상태(HRS)의 셀들의 위치들을 알 수 있다. 기입되는 데이터에 따라 고저항 상태(HRS)를 필요로 하는 타겟 워드 라인(WL)의 N/2개 메모리 셀들 중 절반은 이미 고저항 상태(HRS)일 수 있다. 따라서, 리셋(RESET) 동작은 고저항 상태(HRS)를 필요로 하고, 리셋(RESET) 동작 시작할 때 이미 고저항 상태(HRS)가 아닌 나머지 N/4개 셀들에서만 실행될 수 있다. 타겟 워드 라인 상의 선택되지 않은 셀들은 고저항 상태(HRS)의 N/2개 메모리 셀들과 저저항 상태(LRS)의 N/4개 메모리 셀들을 포함할 수 있고, 전압 VRBL은 타겟 워드 라인의 선택되지 않은 셀들의 비트 라인들(BLs)에 인가될 수 있다. 선택되지 않은 워드 라인들(WLs)의 메모리 셀들과 관련하여, 각 선택되지 않은 워드 라인의 N/4개 셀들은 전압 VRST-VRWL에 의해 바이어스 될 수 있고, 각 선택되지 않은 워드 라인의 3N/4개 셀들은 VRBL-VRWL에 의해 바이어스될 수 있고, 각 선택되지 않은 워드 라인의 메모리 셀들의 상태들은 균등하게 저저항 상태(LRS) 및 고저항 상태(HRS)로 분리될 수 있다. 따라서, RESET-before-SET with prior read 방식의 리셋(RESET) 동작의 전력(PRD-RBS-RST)은 수학식 10으로 표현될 수 있다:
유사하게, 상기 언급된 리셋(RESET) 동작 이후에 수행되는 셋(SET) 동작에서, 타겟 워드 라인의 메모리 셀들 중 저저항 상태(LRS)의 셀들의 위치들을 셋(SET) 동작 이전에 알 수 있다. 또한, 기입되는 데이터에 따라 저저항 상태(LRS)를 필요로 하는 N/2개 메모리 셀들 중 N/4개 메모리 셀들은 셋(SET) 동작 이전에 이미 저저항 상태(LRS)일 수 있다. 타겟 워드 라인의 나머지 메모리 셀들은 이전의 리셋(RESET) 동작에 의해 고저항 상태(HRS)일 수 있다. 따라서, RESET-before-SET with prior read 방식의 셋(SET) 동작의 전력(PRD-RBS-SET)은 수학식 11로 표현될 수 있다:
따라서, RESET-before-SET with prior read 방식의 전체 전력 PRD-RBS는 수학식 12로 표현될 수 있다:
4) SET-before-RESET with prior read
SET-before-RESET with prior read 방식은, 타겟 워드 라인의 메모리 셀들에 원하는 기입 데이터를 기입하기 위한 타겟 워드 라인에 대한 리셋(RESET) 및 셋(SET) 동작들을 수행하기 이전에 타겟 워드 라인의 메모리 셀들의 저항 상태들을 독출하는 독출 동작을 포함할 수 있다.
따라서, 셋(SET) 동작 이전에, 기입 데이터에 따라 저저항 상태(LRS)를 필요로 하는 N/2개 메모리 셀들의 위치들을 알 수 있다. 또한, 셋(SET) 동작 이전에, 기입되는 데이터에 따라 저저항 상태(LRS)를 필요로 하는 타겟 WL의 N/2개 메모리 셀들 중 N/4개 메모리 셀들은 이미 저저항 상태(LRS)일 수 있다. 따라서, SET-before-RESET with prior read 방식의 셋(SET) 동작의 전력(PRD-SBR-SET)은 수학식 13으로 표현될 수 있다:
리셋(RESET) 동작 전에, 기입 데이터에 따라 고저항 상태(HRS)를 필요로 하는 타겟 WL의 N/2개 메모리 셀들의 위치들을 알 수 있다. 또한, 리셋(RESET) 동작 전에, 기입되는 데이터에 따라 고저항 상태(HRS)를 필요로 하는 타겟 WL의 N/2개 메모리 셀들 중 N/4개 메모리 셀들은 이미 고저항 상태(HRS)일 수 있다. 따라서, SET-before-RESET with prior read 방식의 리셋(RESET) 동작의 전력(PRD-SBR-RST)은 수학식 14로 표현될 수 있다:
따라서, SET-before-RESET with prior read 방식의 전체 전력 PRD-SBR은 수학식 15로 표현될 수 있다:
사전 독출(prior read) 동작을 생략하는 기입 방식들에 대비 사전 독출(prior read) 동작을 포함하는 기입 방식들의 전력 감소에 대한 사전 독출(prior read) 동작의 기여는, 사전 독출(prior read) 동작에서 필요로 된 전력과 선택되지 않은 셀들에 대응하는 전력 절감량 사이의 차이에 의존할 수 있다.
이하 섹션 Ⅳ에서는 다양한 블록 및 서브 블록 기입 방식들에 대한 분석을 제공한다.
Ⅳ. 블록 및 서브 블록 기입 방식들에 대한 분석
이하에서, 기입 동작 전력 소비는 5개의 상이한 블록 및 서브 블록 기입 방식들에 대하여 분석될 수 있다: Block-erase-and-SET without prior read; Block-erase-and-SET with prior read; Sub-Block-RESET-and-SET without prior read; Sub-Block-RESET-and-SET with prior read; and Sub-Block-Erase-and-SET.
본 개시의 실시예들에 따르면, 서브 블록은 1개 이상 M개 이하의 워드 라인을 포함하는 워드 라인들의 그룹을 지칭할 수 있다. 또한, 표 1에서 언급된 바와 같이, M은 블록에서 행(또는 워드 라인)의 번호를 의미한다.
기입 동작을 수행할 목적으로, 선택된 그룹의 워드 라인들을 취급할 때, 선택된 그룹의 워드 라인들의 모든 메모리 셀들에 대해 리셋(RESET) 동작을 수행하여, 메모리 셀들을 고저항 상태(HRS)로 스위칭할 수 있다. 이후에, 만약 선택된 그룹의 워드 라인들 중 하나의 워드 라인에 셋(SET) 동작이 수행되면, 선택된 그룹의 워드 라인들에 수행된 이전의 리셋(RESET) 동작에 의해 선택되지 않은 메모리 셀들의 대부분이 고저항 상태(HRS)에 있으므로, 소실되는 전력의 양은 저저항 상태(LRS)에 있는 선택되지 않은 메모리 셀들과 관련된 더 높은 전력 소비의 영향을 감소시킬 수 있다.
1) Block-Erase-and-SET without prior read
Block-Erase-and-SET without prior read 방식은, 블록의 메모리 셀들에 기입되는 기입 데이터에 따라 선택적으로 각 워드 라인의 특정 메모리 셀들을 저저항 상태(LRS)로 설정하기 위해, 순차적으로 블록의 각 워드 라인에 셋(SET) 동작을 수행하기 전에, 순차적으로 비트 라인 별로 전체 블록을 소거하는 단계를 포함할 수 있다.
예를 들어, PRAM 장치(2000)는 전체 블록을 소거할 때, 각 비트 라인 단위로 소거 동작을 수행할 수 있고, 상기 소거 동작은 리셋 전압 VRST으로 선택된 비트 라인에 전력을 공급하고, 모든 워드 라인들 및 상기 블록의 선택되지 않은 비트 라인들을 접지(즉, 0V를 인가)함으로써, 순차적으로 각 비트 라인에 대해 리셋(RESET) 동작을 수행하는 단계를 포함할 수 있다.
Block-Erase-and-SET without prior read 방식의 소거 동작의 전력(PERS-RST)은 수학식 16으로 표현될 수 있다:
전술한 바와 같이, 리셋(RESET) 동작 후, 후속하는 셋(SET) 동작은 셀들을 행 단위로 저저항 상태(LRS)로 설정하는 단계를 포함할 수 있다. 따라서, 저저항 상태(LRS)에 있는 선택되지 않은 셀들의 비율은, 제1 워드 라인에 대한 셋(SET) 동작이 수행될 때의 0으로부터, 더 많은 워드 라인들에 대한 셋(SET) 동작이 수행됨에 따라 점진적으로 증가할 수 있다. 기입되는 블록의 제1 워드 라인에 대한 셋(SET) 동작의 전력(PW1)은 수학식 17로 표현될 수 있다:
기입되는 블록의 제2 워드 라인에 대한 셋(SET) 동작의 전력(PW2)은 수학식 18로 표현될 수 있다:
기입되는 블록의 제3 워드 라인에 대한 셋(SET) 동작의 전력(PW3)은 수학식 19로 표현될 수 있다:
기입되는 블록의 마지막(즉, M 번째) 워드 라인에 대한 셋(SET) 동작의 전력(PWM)은 수학식 20으로 표현될 수 있다:
이전의 (i-1)개의 워드 라인들이 이미 기입된 경우, M개 중 제i 워드 라인에 수행되는 셋(SET) 동작의 전력(PWi)은 수학식 21로 표현될 수 있다:
따라서, 블록 내의 모든 워드 라인들의 셋(SET) 전력을 축적함으로써, 블록이 소거된 이후, 블록 내의 모든 행들에 대한 행별로 셋(SET) 동작을 수행하는 전체 전력(PERS-SET)은 수학식 22로 표현될 수 있다:
따라서, Block-Erase-and-SET without prior read 방식의 전체 전력(PERS)은 수학식 23으로 표현될 수 있다:
그리고 Block-Erase-and-SET without prior read 방식의 워드 라인 당 정규화된 전력(PERS-WL)은 수학식 24로 표현될 수 있다:
2) Block-Erase-and-SET with prior read
Block-Erase-and-SET with prior read 방식은, 상기 언급한 Block-Erase-and-SET without prior read 방식에서 사전 독출(prior read) 동작을 더 포함할 수 있다. 그러나 전체 블록이 비트 라인 단위로 소거되므로, 사전 독출(prior read) 동작을 추가하더라도 Block-Erase-and-SET without prior read 방식에 비해 추가적인 전력 감소가 제공되지는 않는다. 따라서, Block-Erase-and-SET with prior read 방식의 전체 전력(PRD-ERS)은 수학식 25로 표현될 수 있다:
Block-Erase-and-SET without prior read 방식의 전체 전력(PERS)은 전술한 수학식 23으로 정의될 수 있다.
3) Sub-Block-RESET-and-SET without prior read
일 실시예로서, 메모리 셀 어레이(2100)에서, 일부 유효하지 않는 페이지들을 갖는 블록들이 모두 유효하지 않는 페이지들을 갖는 블록들보다 더 빈번하게 발생할 수 있으므로, 모두 유효하지 않은 페이지들을 갖는 블록이 발생할 때까지 유효한 페이지들을 제거하거나 기입 동작을 연기하지 않는 기입 방식을 개발하는 것이 유리할 수 있다. 따라서, 본 개시의 일 실시예에 따르면, PRAM 장치(2000)는 메모리 셀 어레이(2100)의 PRAM 셀들에 대한 기입 동작을 서브 블록의 해상도로 수행할 수 있다. 예를 들어, 블록이 하나 이상의 유효 워드 라인들과 i개(i는 1보다 크고 M보다 작음)의 유효하지 않은 워드 라인들을 포함하는 경우, 상기 i개의 워드 라인들은 집합적으로 서브 블록 또는 타겟 서브 블록으로 지칭될 수 있고, 리셋(RESET) 동작 또는 셋(SET) 동작은 구체적으로 타겟 서브 블록에서 수행될 수 있다.
예를 들어, 일 실시예로서, Sub-Block-RESET-and-SET without prior read 방식은, i개의 유효하지 않은 워드 라인들의 타겟 서브 블록을 갖는 선택된 블록에 대하여 기입 동작을 수행하는 단계, 상기 i개의 워드 라인들 각각에 대하여 리셋(RESET) 동작을 순차적으로 수행하는 것을 포함하는 기입 동작의 리셋(RESET) 단계를 실행하는 단계, 그리고 타겟 서브 블록에 기입되는 기입 데이터에 따라 i개의 워드 라인들 각각의 메모리 셀들을 저저항 상태(LRS)로 선택적으로 설정하기 위해, i개의 워드 라인들 각각에 대해 순차적으로 셋(SET) 동작을 수행하는 것을 포함하는 기입 동작의 셋(SET) 단계를 실행하는 단계를 포함할 수 있다.
리셋(RESET) 단계에서, 고저항 상태(HRS)로 리셋(RESET)되는 타겟 서브 블록의 메모리 셀의 모든 행들에 대하여, 고전력을 소비하는 저저항 상태(LRS)에 있는, 블록에서 선택되지 않은 메모리 셀들의 전체 개수가 감소함에 따라, 선택되지 않은 메모리 셀들에 의한 전체 전력 소모가 점진적으로 감소할 수 있다.
예를 들어, 타겟 서브 블록의 제1 워드 라인에서 수행되는 리셋(RESET) 동작과 관련하여, 블록 내의 다른 모든 행들(M-1개 행들)은 평균적으로 절반의 메모리 셀들이 저저항 상태(LRS)를 가질 것으로 예상될 수 있다. 따라서, Sub-Block-RESET-and-SET without prior read 방식에서 타겟 서브 블록의 제1 워드 라인에 대한 리셋(RESET) 동작을 수행하는 전력(PW1)은 수학식 26으로 표현될 수 있다:
제2 워드 라인에 대해 리셋(RESET) 동작을 수행할 때, 이전 워드 라인들의 셀들의 3/4는 고저항 상태(HRS)에 있고, 나머지 (M-2) 개의 워드 라인들은 랜덤 데이터를 가질 수 있다. 따라서, 타겟 서브 블록의 제2 워드 라인에 대한 리셋(RESET) 동작을 수행하는 전력(PW2)은 수학식 27로 표현될 수 있다:
그리고 타겟 서브 블록의 제3 워드 라인에 대한 리셋(RESET) 동작을 수행하는 전력(PW3)은 수학식 28로 표현될 수 있다:
마지막(즉, i번째)의 워드 라인에 대한 리셋(RESET) 동작을 수행하는 전력(PWi)은 수학식 29로 표현될 수 있다:
따라서, (블록의 M개의 행들 중) 타겟 서브 블록의 i개의 행들에 대하여 i회 리셋(RESET) 동작을 수행함으로써 리셋(RESET) 단계를 실행하는 PRAM 장치(2000)의 전체 전력(PSUB-RST)은 수학식 30으로 표현될 수 있다:
상기 언급된 리셋(RESET) 단계가 타겟 서브 블록에서 실행된 후, 타겟 서브 블록의 i개의 워드 라인들에 대하여 순차적으로 i회의 셋(SET) 동작을 수행함으로써, 셋(SET) 단계가 타겟 서브 블록에서 실행될 수 있다. 셋(SET) 단계 동안, 저저항 상태(LRS)에 있는 선택되지 않은 셀들의 전체 개수가 점진적으로 증가하기 때문에, 선택되지 않은 메모리 셀들과 연관된 전력 소비는 더 많은 i개의 워드 라인들이 기입됨에 따라 점차 증가할 수 있다. 타겟 서브 블록의 i개의 워드 라인들 중 제1 워드 라인에 대해 셋(SET) 동작이 수행될 때, 타겟 서브 블록의 (i-1)개의 워드 라인들 각각의 메모리 셀들의 3/4는 고저항 상태(HRS)에 있고, 블록의 (M-i)개의 행들의 메모리 셀들은 랜덤 데이터(즉, 고저항 상태(HRS)와 저저항 상태(LRS) 사이에서 실질적으로 균등하게 분포된 저항 상태들을 갖는 메모리 셀에 대응하는 데이터)를 저장할 수 있다. 따라서, Sub-Block-RESET-and-SET without prior read 방식에서 타겟 서브 블록의 제1 워드 라인에 대해 셋(SET) 동작을 수행하는 전력(PW1)은 수학식 31로 표현될 수 있다:
또한, Sub-Block-RESET-and-SET without prior read 방식에서 타겟 서브 블록의 제2 워드 라인에 대해 셋(SET) 동작을 수행하는 전력(PW2)은 수학식 32로 표현될 수 있다:
마지막(즉, i번째)의 행에 대하여 셋(SET) 동작을 수행할 때, 다른 모든 (M-1) 행들은 랜덤 데이터(즉, 저저항 상태(LRS)와 고저항 상태(HRS) 사이의 균일한 분포에 대응하는 데이터)를 가질 수 있으며, 마지막 행에 대한 셋(SET) 동작의 전력(PWi)은, 랜덤 데이터 블록에서 단일 워드 라인에 셋(SET) 동작을 수행하는 전력과 같을 수 있으며, 수학식 33으로 표현될 수 있다:
따라서, (블록의 M개의 행들 중) 타겟 서브 블록의 i개의 행들에 대해 i회 셋(SET) 동작을 수행함으로써, 셋(SET) 단계를 실행하는 PRAM 장치(2000)의 전체 전력(PSUB-SET)은 수학식 34로 표현될 수 있다:
따라서, Sub-Block-RESET-and-SET without prior read 방식에 따라 기입 동작을 수행하는 PRAM 장치(2000)의 전체 전력(PSUB-RST&SET)은 수학식 35로 표현될 수 있다.
4) Sub-Block-RESET-and-SET with prior read
본 방식은 상기 전술한 Sub-Block-RESET-and-SET without prior read 방식에 사전 독출(prior read) 동작을 추가한 결과이다. 본 개시의 일 실시예에 따르면, 사전 독출(prior read) 동작을 추가하는 것은 셋(SET) 단계가 아니라 리셋(RESET) 단계 동안에서 전력 소비를 감소시킬 수 있다. 본 개시의 일 실시예에 따르면, PRAM(2000)은 (사전 독출 동작에 의해 밝혀진 바와 같이) 현재 저저항 상태(LRS)에 있고, 타겟 서브 블록에 기입되는 기입 데이터에 따라 고저항 상태(HRS)로 변경될 필요가 있는 메모리 셀들에 대해서만 Sub-Block-RESET-and-SET with prior read 방식의 리셋(RESET) 단계를 수행할 수 있다. 결과적으로, Sub-Block-RESET-and-SET without prior read 방식의 리셋(RESET) 단계는, 사전 독출(prior read) 동작에 의해 밝혀진 바와 같이 이미 고저항 상태(HRS)에 있음으로 인해, 저저항 상태(LRS)에서 고저항 상태(HRS)로 자신의 저항 상태를 변경할 필요가 없는 타겟 워드 라인의 메모리 셀들에 대하여 리셋(RESET) 동작을 수행하는 것을 제외할 수 있다.
따라서, 아래의 수학식 36에서 표현된 바와 같이, 타겟 서브 블록의 제1 워드 라인에 대한 Sub-Block-RESET-and-SET with prior read 방식의 리셋(RESET) 동작의 전력(PW1)은, 전술한 RESET-before-SET 방식의 수학식 12의 단일 워드 라인의 전력(PRD-RBS-RST)과 동일할 수 있다.
타겟 서브 블록의 제2 행에 대하여 리셋(RESET) 동작을 수행할 때, 블록에는 3/4가 저저항 상태(HRS)인 셀들을 갖는 단일 행과 랜덤 데이터를 갖는 (M-2)개의 행들이 있다. 따라서, 타겟 서브 블록의 제2 워드 라인에 대한 Sub-Block-RESET-and-SET with prior read 방식의 리셋(RESET) 동작의 전력(PW2)은 수학식 37로 표현될 수 있다.
따라서, 타겟 서브 블록의 제3 워드 라인에 대한 Sub-Block-RESET-and-SET with prior read 방식의 리셋(RESET) 동작의 전력(PW3)은 수학식 38로 표현될 수 있다.
타겟 서브 블록의 마지막(즉, i번째) 워드 라인에 대한 리셋(RESET) 동작을 수행할 때, 선택된 블록의 M개의 행들 중 (i-1)개의 행들 각각의 메모리 셀들의 3/4는 고저항 상태(HRS)에 있다. 따라서, 타겟 서브 블록의 제i 워드 라인에 대한 Sub-Block-RESET-and-SET with prior read 방식의 리셋(RESET) 동작의 전력(PWi)은 수학식 39로 표현될 수 있다:
따라서, Sub-Block-RESET-and-SET with prior read 방식에서, (블록의 M개의 행들 중) 타겟 서브 블록의 i개 행들에 대한 i회 리셋(RESET) 동작들을 수행함으로써 리셋(RESET) 단계를 수행하는 PRAM(2000)의 전체 전력(PRD-SUB-RST)은 수학식 40으로 표현될 수 있다:
본 개시의 실시예에 따르면, Sub-Block-RESET-and-SET with prior read 방식의 셋(SET) 단계와 관련하여, 사전 독출(prior read) 동작이 수행되지 않는다. 따라서, 아래의 수학식 41에서 표시된 바와 같이, Sub-Block-RESET-and-SET with prior read 방식의 셋(SET) 단계를 실행하는 PRAM 장치(2000)의 전체 전력(PRD-SUB-SET)은, 전술한 Sub-Block-RESET-and-SET without prior read 방식의 수학식 34의 셋(SET) 단계를 실행하는 PRAM 장치(2000)의 전력(PSUB-SET)과 동일할 수 있다.
따라서, Sub-Block-RESET-and-SET with prior read 방식을 수행하는 PRAM 장치(2000)의 전체 소비 전력(PRD-SUB-R&S)은 수학식 42로 표현될 수 있다:
5) Sub-Block-Erase-and-SET
Sub-Block-Erase-and-SET 방식에서, 메모리 컨트롤러(1000)는 Sub-Block-Erase-and-SET 방식의 리셋(RESET) 단계 동안 타겟 서브 블록의 i개의 모든 유효하지 않은 페이지들이 모두 소거되고, Sub-Block-Erase-and-SET 방식의 셋(SET) 단계 동안 i개의 모든 유효하지 않은 페이지들이 순차적으로 기입되도록 PRAM 장치(2000)를 제어할 수 있다.
Sub-Block-Erase-and-SET 방식의 리셋(RESET) 단계는 타겟 서브 블록의 i개의 워드 라인들에 대한 워드 라인 단위의 i개의 소거 동작들을 순차적으로 수행하는 단계를 포함할 수 있으며, 각 소거 동작은 워드 라인의 각 메모리 셀을 고저항 상태(HRS)로 리셋하는 단계를 포함할 수 있다. 리셋(RESET) 단계와 관련하여, 타겟 서브 블록의 제1 워드 라인에 대한 소거 동작의 전력(PW1)은 수학식 43으로 표현될 수 있다:
타겟 서브 블록의 제2 워드 라인에 대한 소거 동작의 전력(PW2)은 수학식 44로 표현될 수 있다:
타겟 서브 블록의 제3 워드 라인에 대한 소거 동작의 전력(PW3)은 수학식 45로 표현될 수 있다:
타겟 서브 블록의 마지막(즉, i번째) 워드 라인에 대한 소거 동작의 전력(PWi)은 수학식 46으로 표현될 수 있다:
Sub-Block-Erase-and-SET 방식의 리셋(RESET) 단계를 실행하는 PRAM 장치(2000)의 총 전력(PSUB-ERS)은 수학식 47로 표현될 수 있다:
Sub-Block-Erase-and-SET 방식의 셋(SET) 단계 동안, 타겟 서브 블록의 i개의 워드 라인들 중의 특정 메모리 셀들은 i개의 워드 라인들 각각에 셋(SET) 동작을 순차적으로 수행함으로써 타겟 서브 블록에 기입되는 기입 데이터에 따라 저저항 상태(LRS)로 설정될 수 있다.
따라서, 타겟 서브 블록의 제1 워드 라인에 대한 셋(SET) 동작의 전력(PW1)은 수학식 48로 표현될 수 있다:
타겟 서브 블록의 제2 워드 라인에 대한 셋(SET) 동작의 전력(PW2)은 수학식 49로 표현될 수 있다:
타겟 서브 블록의 마지막(즉, i번째) 워드 라인에 대한 셋(SET) 동작의 전력(PWi)은 수학식 50으로 표현될 수 있다:
따라서, Sub-Block-Erase-and-SET 방식의 셋(SET) 단계를 실행하는 PRAM 장치(2000)의 총 전력(PSUB-ERS-SET)은 수학식 51로 표현될 수 있다:
그리고 Sub-Block-Erase-and-SET 방식에 따라 타겟 서브 블록에 대해 기입 동작을 수행하는 PRAM 장치(2000)의 총 전력(PSUB-ERS&SET)은 수학식 52로 표현될 수 있다:
Scheme | Normalized Power Consumption |
Single word line SET-before-RESET without prior read | 1.00 |
Single word line RESET-before-SET without prior read | 0.99 |
Single word line SET-before-RESET with prior read | 0.35 |
Single word line RESET-before-SET with prior read | 0.34 |
Sub-block-RESET-and-SET without prior read, i= M/2 | 0.32 |
Sub-block-Erase-and-SET, i =M/2 | 0.31 |
Sub-block-RESET-and-SET with prior read, i=M/2 | 0.24 |
Block-erase-and-SET with prior read | 0.15 |
Block-erase-and-SET without prior read | 0.14 |
표 2에서, 도시된 전력 소비 값들은 최고 전력 소비 값인 단일 워드 라인의 SET-before-RESET without prior read 방식의 전력 소비 값에 대한 비율로 표현되도록 정규화되었다. 표 2에 도시된 바와 같이, 단일 워드 라인 방식들 각각은 전력 소비 효율성의 측면에서 블록에 대한 셋(SET) 동작들을 수행하기 전에 블록 전체를 소거하는 방식들과 서브 블록에 셋(SET) 동작들이 수행되기 전에 서브 블록이 소거되거나 선택적으로 리셋(RESET)되는 방식들보다 우수하다.
본 개시의 일 실시예에 따른 PRAM 장치의 PRAM 셀들에 대한 기입 동작들을 수행하기 위한 예시적인 알고리즘들이 이하 섹션 Ⅴ에서 논의될 것이다.
Ⅴ. PRAM 장치의 PRAM 셀들에서 기입 동작들을 수행하기 위한 예시적인 알고리즘들
메모리 시스템(900)(예를 들어, 메모리 컨트롤러(1000))에 의해 구현될 수 있는 예시적인 알고리즘들이 아래의 알고리즘 1, 1M 및 2를 참조하여 설명될 것이다. 본 개시의 일 실시예에 따르면, 알고리즘 1은 선택된 블록 B의 유효하지 않은 페이지들의 개수에 기초하여, Block-Erase-and-SET without prior read 방식 및 Sub-block-erase-and-SET 방식 중에서 선택할 수 있고, 알고리즘 1M은 알고리즘 1이 수정되어 특정 상황들 하에서 유효한 페이지들이 버퍼링되고 소거될 수 있고, 알고리즘 2는 Sub-block-RESET-before-SET without prior read 방식의 예시이다.
알고리즘 1, 1M 및 2는 워드 라인의 메모리 셀들에 저장된 데이터가 "페이지" 또는 "데이터 페이지"로 언급되는 예를 참조하여 논의될 수 있다. 따라서, 아래의 알고리즘 1, 1M 및 2의 논의에서, 유효한 "페이지" 또는 "데이터 페이지"를 저장하는 워드 라인은 유효한 워드 라인으로 지칭될 수 있고, 유효하지 않은 "페이지" 또는 "데이터 페이지"를 저장하는 워드 라인은 유효하지 않은 워드 라인으로 지칭될 수 있다.
Algorithm 1 Input: { i - threshold write request number, M number of rows per block} (A1) Buffer i write requests; (A2) Selected block B ←block with most invalid pages; (A3) If number of invalid pages in B = M: (A3.1) Perform bit line-wise block erase on B; (A4) Else: (A4.1) Perform word line-wise sub-block erase of i invalid pages of B; (A5) SET each erased word line of B, sequentially, in accordance with a data page included in the i buffered write requests; (A6) return to (A1). |
본 개시의 일 실시예에 따르면, 알고리즘 1은 PRAM 장치에서 기입 동작을 수행하기 위한 알고리즘이다. 아래에서 상세하게 논의되는 바와 같이, 알고리즘 1은 선택된 블록 B의 유효하지 않은 페이지들의 개수에 기초하여, 셋(SET) 동작들을 수행함으로써 선택된 블록 B의 PRAM 셀들에 기입 데이터를 기입하기 전에, 전체 블록 소거 동작과 서브 블록 소거 동작 중에서 선택하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 알고리즘 1은, 예를 들어 메모리 컨트롤러(1000)에 의해 실행 및/또는 제어될 수 있는 단계 (A1) 내지 (A5)를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 알고리즘 1은 리셋(RESET) 단계와 후속 셋(SET) 단계를 포함하는 것으로 고려될 수 있다. 리셋(RESET) 단계는 소거 단계로 지칭될 수 있다. 본 개시의 일 실시예에 따르면, 단계 (A3), (A3.1), (A4) 및 (A4.1)은 알고리즘 1의 리셋(RESET) 단계에 포함될 수 있고, 단계 (A5)는 알고리즘 1의 셋(SET) 단계에 포함될 수 있다. 아래에서 상세하게 논의되는 바와 같이, 일반적으로, 메모리 컨트롤러(1000)는 알고리즘 1에 의해 기술된 기입 동작의 리셋(RESET) 단계가, 메모리 셀 어레이(2100)의 복수의 블록들 중 선택된 블록에 포함된 복수의 워드 라인들 중에서 제1 워드 라인에 포함된 PRAM 셀들을 소거하는 것을 포함하고, 알고리즘 1에 의해 기술된 기입 동작의 셋(SET) 단계가, 리셋(RESET) 단계 이후, 버퍼링된 제1 개수의 기록 요청들의 기입 데이터를 제1 워드 라인의 PRAM 셀들에 기입하는 것을 포함하도록 구성될 수 있다.
알고리즘 1을 참조하면, 단계 (A1)에서, i개의 기입 요청들이 버퍼링될 수 있다. 예를 들어, 본 개시의 일 실시예에 따르면, 메모리 컨트롤러(1000)는 기입 버퍼(150)에 i개의 기입 요청들을 버퍼링할 수 있다. 예를 들어, 메모리 컨트롤러(1000)는 호스트와 같은 외부 소스로부터 기입 요청들을 수신할 수 있다. 본 개시의 일 실시예에 따르면, 각 기입 요청은 기입 데이터를 포함할 수 있다. 예를 들어, 각 기입 요청은 데이터 페이지를 포함할 수 있다. 또한, 본 개시의 일 실시예에 따르면, 메모리 컨트롤러(1000)는 기입 버퍼(150)에 버퍼링된 기입 요청들의 개수가 i개에 도달한 것으로 판단되면 단계 (A2)로 진행할 수 있다. 본 개시의 일 실시예에 따르면, i는 1보다 크고 M 보다 작은 양의 정수이다.
단계 (A2)에서, 유효하지 않은 페이지들을 가장 많이 갖는 블록(예를 들어, 유효성 테이블(160)에서 유효하지 않은 워드 라인들로 확인된 워드 라인들의 수가 가장 큰 블록)이 블록 B로 선택될 수 있다. 예를 들어, 도 1c를 참조하면, 메모리 컨트롤러(1000)는 유효성 테이블(160)을 참조하여 메모리 셀 어레이(2100)의 블록들 중에서 유효하지 않은 페이지들을 가장 많이 갖는 블록을 판단할 수 있다. 메모리 컨트롤러(1000)는 유효하지 않은 페이지들을 가장 많이 갖는 블록을 블록 B로 선택할 수 있다. 다음으로, 메모리 컨트롤러(1000)는 단계 (A3)으로 진행할 수 있다.
단계 (A3)에서, 선택된 블록 B에서 유효하지 않은 페이지들의 개수가 참조 개수(예를 들어, 블록당 총 페이지들의 개수, M)와 같은 경우, 단계 (A3.1)이 수행될 수 있고, 단계 (A4.1)은 수행되지 않을 수 있다. 한편, 그렇지 않은 경우, 단계 (A3.1)이 수행되지 않고, 단계 (A4)에서 선택된 블록 B에서 유효하지 않은 페이지들의 개수가 블록당 총 페이지들의 개수인 M과 같지 않은 것으로 결정될 수 있고, 단계 (A4.1)이 수행될 수 있다.
예를 들어, 단계 (A3)에서, 컨트롤러(1000)는 선택된 블록 B의 유효하지 않은 페이지들의 개수를 총 페이지들의 개수 M과 비교할 수 있다. 만약, 단계 (A3)에서, 메모리 컨트롤러(1000)가 선택된 블록 B의 유효하지 않은 페이지들의 개수가 블록당 총 페이지들의 개수 M인 것으로 판단한 경우(즉, 선택된 블록 B의 모든 페이지들이 유효하지 않은 경우), 메모리 컨트롤러(1000)는 단계 (A3.1)로 진행할 수 있다. 그렇지 않은 경우, 메모리 컨트롤러(1000)는 단계 (A3.1)을 수행하지 않고 단계 (A4)로 진행할 수 있다.
단계 (A3.1)에서, 선택된 블록 B에 대해서 비트 라인 단위의 블록 소거 동작이 수행될 수 있다. 예를 들어, 단계 (A3.1)에서, 메모리 컨트롤러(1000)는, 예를 들어 블록 B의 모든 메모리 셀들의 저항 상태들을 고저항 상태(HRS)로 리셋(RESET)하기 위해, 선택된 블록 B에 대한 비트 라인 단위의 블록 소거 동작을 수행하도록 PRAM 장치(2000)를 제어할 수 있다. 예를 들어, 단계 (A3.1)에서, 메모리 컨트롤러(1000)는, 선택된 블록 B와 i개의 유효하지 않은 워드 라인들에 대응하는 서브 블록의 예시로서 도 1a의 제2 블록(2130)과 서브 블록(2135)을 이용하여, 각 비트 라인을 개별적으로 그리고 순차적으로 선택하고, 각각의 선택된 비트 라인에 대하여, 제2 블록(2130)의 모든 워드 라인들과 선택되지 않은 비트 라인들을 접지(즉, 0V를 인가)하면서 선택된 비트 라인에 리셋 전압(VRST)을 인가함으로써, 선택된 비트 라인에 연결된 모든 메모리 셀들의 저항 상태들을 고저항 상태(HRS)로 리셋하도록 PRAM 장치(2000)를 제어함으로써, 비트 라인 단위로 소거 동작을 수행할 수 있다.
대안적으로, 단계 (A3.1)에서, 메모리 컨트롤러(1000)는, 제2 블록(2130)의 모든 워드 라인들과 선택되지 않은 비트 라인들을 접지(즉, 0V를 인가)함과 동시에, 모든 비트 라인들에 리셋 전압(VRST)을 인가하고, 그와 동시에 제2 블록(2130)의 모든 메모리 셀들의 저항 상태들을 고저항 상태(HRS)로 리셋(RESET)하도록 PRAM 장치(2000)를 제어함으로써, 비트 라인 단위로 소거 동작을 수행할 수 있다.
따라서, 전술한 바와 같이, 단계 (A3)에서, 메모리 컨트롤러(1000)는 선택된 블록 B에서 유효성 테이블(160)에 의해 유효하지 않은 워드 라인들로 확인된 워드 라인들의 총 개수가 임계값(예를 들어, M-1)을 초과하는지 여부를 결정할 수 있다. 또한, 단계 (A3.1)에서, 메모리 컨트롤러(1000)는, 선택된 블록 B에서 유효성 테이블(160)에 의해 유효하지 않은 워드 라인들로 확인된 워드 라인들의 총 개수가 임계값(예들 들어, M-1)을 초과한다는 판단에 응답하여, 선택된 블록 B에 대해 비트 라인 단위로 소거 동작을 수행할 수 있다.
본 개시의 일 실시예에 따르면, 단계 (A4)에서, 메모리 컨트롤러(1000)는 단계 (A3)의 조건의 만족 여부를 판단하고, 만약 조건이 만족하면(즉, 선택된 블록 B의 하나 이상의 페이지들이 유효하지 않은 경우), 메모리 컨트롤러(1000)는 단계 (A4.1)로 진행할 수 있다. 만약 단계 (A3)의 조건이 만족하는 경우, 메모리 컨트롤러(1000)는 단계 (A4.1)을 수행하지 않고, 단계 (A5)로 진행할 수 있다.
단계 (A4.1)에서, 선택된 블록 B에 대하여 워드 라인 단위의 블록 소거 동작이 수행될 수 있다. 예를 들어, 단계 (A4.1)에서, 메모리 컨트롤러(1000)는, 예를 들어 블록 B의 i개의 유효하지 않은 워드 라인들의 모든 메모리 셀들의 저항 상태들을 고저항 상태(HRS)로 리셋(RESET)하기 위해, 선택된 블록 B의 i개의 유효하지 않은 페이지들에 대해 워드 라인 단위로 서브 블록 소거 동작을 수행하도록 PRAM 장치(2000)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(1000)는 선택된 블록 B에서 유효성 테이블(160)에 의해 유효하지 않은 워드 라인들로 확인된 워드 라인들을, 선택된 블록 B의 i개의 유효하지 않은 워드 라인들로 선택할 수 있다.
예를 들어, 단계 (A4.1)에서, 메모리 컨트롤러(1000)는, 선택된 블록 B와 i개의 유효하지 않은 워드 라인들에 대응하는 서브 블록의 예시로서 도 1a의 제2 블록(2130) 및 서브 블록(2135)을 이용하여, 서브 블록(2135)에서 i개의 유효하지 않은 워드 라인들 각각을 한번에 하나씩 순차적으로 선택하고, 각 선택된 유효하지 않은 워드 라인에 대하여, 제2 블록(2130)의 각각의 다른 워드 라인들(즉, 제2 블록(2130)의 선택되지 않은 모든 워드 라인들)에 전압 VRWL를 인가하고, 각 비트 라인(즉, 메모리 셀 어레이(2100)의 각각의 N개의 비트 라인들)에 리셋(RESET) 전압 VRST를 인가하면서, 선택된 유효하지 않은 워드 라인을 접지함으로써, 선택된 유효하지 않은 워드 라인의 각 메모리 셀들의 저항 상태를 고저항 상태(HRS)로 리셋(RESET)하도록 PRAM 장치(2000)를 제어함으로써, 워드 라인 단위로 소거 동작을 수행할 수 있다. 따라서, 메모리 컨트롤러(1000)는 i개의 유효하지 않은 워드 라인들 각각에 대해 개별적이고, 순차적으로 리셋(RESET) 동작을 수행하도록 PRAM 장치(2000)를 제어함으로써, 워드 라인 단위로 소거 동작을 수행할 수 있다. 메모리 컨트롤러(1000)는 단계 (A4.1) 이후에 단계 (A5)로 진행할 수 있다.
따라서, 전술한 바와 같이, 단계 (A4.1)에서, 메모리 컨트롤러(1000)는, 선택된 블록에서 유효성 테이블(160)에 의해 유효하지 않은 워드 라인으로 확인된 워드 라인들의 총 개수가 임계값(즉, M-1)을 초과하지 않는 것으로 판단(즉, 단계 (A4))한 것에 응답하여, 선택된 블록에서 유효성 테이블(160)에 의해 유효하지 않은 것으로 확인된 워드 라인들에 대해서만 워드 라인 단위로 소거 처리를 수행할 수 있다.
단계 (A5)에서, 선택된 블록 B의 단계 (A3.1) 또는 단계 (A4.1)에서 소거된 각 워드 라인은 i개의 버퍼링된 기입 요청들에 포함된 데이터 페이지에 따라 순차적으로 셋(SET)될 수 있다. 예를 들어, 단계 (A5)에서, 단계(A3.1) 또는 단계 (A4.1)에서 소거된 각 워드 라인에 대해서, 메모리 컨트롤러(1000)는 소거된 워드 라인을 선택하고, 선택된 소거 워드 라인에 셋(SET) 전압 VSET을 인가하고, i개의 버퍼링된 기입 요청들의 데이터 페이지들 중에서 선택된 소거 워드 라인에 대응하는 데이터 페이지에 따라 저저항 상태(LRS)로 설정될 필요가 있는 선택된 소거 워드 라인에 연결된 각 메모리 셀에 연결된 비트 라인들을 접지하고, 선택되지 않은 워드 라인들 각각에 전압 VSWL을 인가하고, 선택되지 않은 비트 라인들 각각에 전압 VSBL을 인가함으로써, 선택된 소거 워드 라인들의 메모리 셀들 중 메모리 셀들의 저항 상태를 선택적으로 저저항 상태(LRS)로 설정하도록 PRAM 장치(2000)를 제어할 수 있다. 메모리 컨트롤러(1000)는 단계 (A5) 이후에 단계 (A6)으로 진행할 수 있다.
단계 (A6)에서, 알고리즘은 새로운 i개의 기입 요청들이 버퍼링될 때까지 단계 (A1)으로 복귀할 수 있다. 예를 들어, 단계 (A6)에서, 메모리 컨트롤러(1000)는 단계 (A1)으로 복귀하고, 새로운 i개의 기입 요청들이 버퍼링될 때까지 기입 버퍼(150)에 새로 수신한 기입 요청들을 버퍼링할 수 있다.
본 개시의 일 실시예에 따르면, 메모리 컨트롤러(1000)는, 예를 들어 메모리 시스템(900)의 기입 요청들을 수신을 중단할 때까지, 단계 (A1) 내지 (A6)을 반복적으로 실행할 수 있다.
본 개시의 일 실시예에 따라, 선택된 블록 B의 모든 페이지들이 유효하지 않은 경우에도 전체 블록 소거 동작이 수행될 수 있는, 알고리즘 1의 수정된 버전인 알고리즘 1M이 아래에서 논의될 것이다.
Algorithm 1M Input: { i - threshold write request number, M number of rows per block} (A1) Buffer i write requests; (A2) Selected block B ←block with most invalid pages; (A3) If (number of invalid pages in B = M): (A3.1) Perform bit line-wise block erase on B; (AM3) Else If (number of invalid pages in B ≥ O): (AM3.1) Read valid page(s) from B and buffer read valid page(s); (AM3.2) Perform bit line-wise block erase on B; (A4) Else: (A4.1) Perform word line-wise sub-block erase of i invalid pages of B; (A5) SET each erased word line of B, sequentially, in accordance with a buffered valid page or a data page included in the i buffered write requests; (A6) return to (A1). |
알고리즘 1M은 위에서 논의된 알고리즘 1의 수정된 버전이다. 알고리즘 1M은 리셋(RESET) 단계와 후속하는 셋(SET) 단계를 포함하는 것으로 간주될 수 있다. 리셋(RESET) 단계는 소거 단계로 지칭될 수 있다. 본 개시의 일 실시예에 따르면, 단계 (A3), (A3.1), (A3M), (AM3.1), (AM3.2), (A4) 및 (A4.1)이 알고리즘 1M의 리셋(RESET) 단계에 포함될 수 있고, 단계 (A5)가 알고리즘 1M의 셋(SET) 단계에 포함될 수 있다.
본 개시의 일 실시예에 따르면, 알고리즘 1M의 단계 (A1) 내지 (A3.1), (A4) 및 (A6)은 알고리즘 1의 단계 (A1) 내지 (A3.1), (A4) 및 (A6)와 동일할 수 있다. 알고리즘 1M은 단계 (AM3), (AM3.1) 및 (AM3.2)를 더 포함한다는 점에서 알고리즘 1과 상이하다. 알고리즘 1M은 아래에서 더 상세히 논의되는 바와 같이 단계 (A4) 및 (A5)가 수행되는 방식과 관련하여 알고리즘 1과 더욱 상이하다. 간략화를 위해, 알고리즘 1의 단계들과 동일한 알고리즘 1M의 단계들에 대한 설명은, 알고리즘 1M의 설명에서 반복되지 않을 것이다.
본 개시의 일 실시예에서, 단계 (AM3)에서, 메모리 컨트롤러(1000)는 제1 조건(즉, 단계 (A3)의 조건: 블록 B의 유효하지 않은 페이지들의 개수 = M)이 만족하는지 여부를 판단할 수 있다. 만약 컨트롤러(1000)가 제1 조건이 만족되었다고 판단한 경우, 메모리 컨트롤러(1000)는 단계 (AM3.1) 또는 (AM3.2)를 수행하지 않고 단계 (A4)를 진행할 수 있다. 만약 컨트롤러(1000)가 제1 조건이 만족되지 않는다고 판단한 경우, 메모리 컨트롤러(1000)는 제2 조건이 만족하는지 판단할 수 있다. 본 개시의 일 실시예에 따르면, 제2 조건은 블록 B의 유효하지 않은 페이지들의 개수 ≥ O 일 수 있다. 예를 들어, 메모리 컨트롤러(1000)는 선택된 블록 B의 유효하지 않은 페이지들의 개수가 임계값 O(O은 M보다 작은 양의 정수)보다 크거나 같은지 여부를 판단할 수 있다. 만약 메모리 컨트롤러(1000)가 제2 조건을 만족하는 것으로 판단한 경우(즉, 메모리 컨트롤러(1000)가 선택된 블록 B의 유효하지 않은 페이지들의 개수가 임계값 O보다 크거나 같지 않은 것으로 판단한 경우), 메모리 컨트롤러(1000)는 단계 (AM3.1) 또는 (AM3.2)를 수행하지 않고 단계 (A4)를 진행할 수 있다. 또는, 만약 메모리 컨트롤러(1000)가 선택된 블록 B의 유효하지 않은 페이지들의 개수가 임계값 O보다 크거나 같은 것으로 판단한 경우, 메모리 컨트롤러(1000)는 단계 (AM3.1) 또는 (AM3.2)로 진행할 수 있다.
단계 (AM3.1)에서, 메모리 컨트롤러(1000)는 선택된 블록 B의 유효한 페이지들 각각을 독출하고, 유효한 페이지들을 버퍼링할 수 있다. 예를 들어, 메모리 컨트롤러(1000)는 선택된 블록 B에서 독출한 유효한 페이지들을 RAM(112)에 버퍼링할 수 있다. 예를 들어, 메모리 컨트롤러(1000)는 유효성 테이블(160)을 참조하여 선택된 블록 B에서 어느 페이지가 유효한지를 판단할 수 있다. 메모리 컨트롤러(1000)는 단계 (AM3.1) 이후에 단계 (AM3.2)로 진행할 수 있다.
단계 (AM3.2)에서, 메모리 컨트롤러(1000)는 선택된 블록 B에 대해 비트 라인 단위로 소거 동작을 수행할 수 있다. 본 개시의 일 실시예에 따르면, 단계 (AM3.2)는 알고리즘 1과 관련하여 전술한 단계 (A3.1)과 동일할 수 있다. 예를 들어, 단계 (AM3.2)에서, 메모리 컨트롤러(1000)는 알고리즘 1의 단계 (A3.1)과 관련하여 전술한 바와 동일한 방식으로 비트 라인 단위로 블록 소거를 수행할 수 있다. 메모리 컨트롤러(1000)는 단계 (AM3.2) 이후에 단계 (A4)로 진행할 수 있다.
단계 (A4)에서, 메모리 컨트롤러(1000)는 제1 조건(즉, 단계 (A3)의 조건: 블록 B에서 유효하지 않은 페이지들의 개수 = M) 및 제2 조건(즉, 단계 (AM3)의 조건: 블록 B에서 유효하지 않은 페이지들의 개수 ≥ O)이 만족하는지 판단할 수 있다. 만약 제1 조건 및 제2 조건 중 적어도 하나가 만족되면, 메모리 컨트롤러(1000)는 단계 (A4.1)을 수행하지 않고 단계 (A5)로 진행할 수 있다. 반면, 메모리 컨트롤러(1000)가 제1 조건 및 제2 조건이 모두 만족되지 않은 것으로 판단하면, 메모리 컨트롤러(1000)는 단계 (A4.1)로 진행할 수 있다. 본 개시의 일 실시예에 따르면, 알고리즘 1M의 단계 (A4.1)은 알고리즘 1과 관련하여 전술한 단계 (A4.1)과 동일할 수 있다. 메모리 컨트롤러(1000)는 단계 (A4.1) 이후에 단계 (A5)로 진행할 수 있다.
단계 (A5)에서, 선택된 블록 B의 단계 (A3.1) 또는 단계 (A4.1)에서 소거된 워드 라인 각각은, i개의 버퍼링된 기입 요청들에 포함된 데이터 페이지 또는 단계 (AM3.1)에서 버퍼링된 유효한 데이터 페이지에 따라 순차적으로 선택될 수 있다. 예를 들어, 단계 (A5)에서, 단계 (A3.1) 또는 단계 (A4.1)에서 소거된 워드 라인 각각에 대하여, 메모리 컨트롤러(1000)는 소거된 워드 라인을 선택하고, 셋(SET) 전압인 VSET을 선택된 소거 워드 라인에 인가하고, (a) i개의 버퍼링된 기입 요청들의 데이터 페이지들 중 선택된 소거 워드 라인에 대응하는 데이터 페이지 또는 (b) 단계 (AM3.1)에서 버퍼링된 유효한 데이터 페이지에 따라 저저항 상태(LRS)로 설정될 필요가 있는 선택된 소거 워드 라인의 각 메모리 셀에 연결된 비트 라인들을 접지하고, 선택되지 않은 워드 라인들 각각에 전압 VSWL을 인가하고, 선택되지 않은 비트 라인들 각각에 전압 VSBL을 인가함으로써, 선택된 소거 워드 라인의 메모리 셀들 중에서 메모리 셀들의 저항 상태를 저저항 상태(LRS)로 선택적으로 설정하도록 PRAM 장치(2000)를 제어할 수 있다. 메모리 컨트롤러(1000)는 단계 (A5) 이후에 단계 (A6)로 진행할 수 있다.
따라서, 알고리즘 1M에서, 유효하지 않은 페이지들의 개수가 임계값 O 이상인 한, 선택된 블록 B에 대하여 전체 블록 소거 동작이 수행될 수 있고, 이에 따라, 선택된 블록 B의 유효한 페이지들이 버퍼링된 후에, 유효한 페이지들 및 유효하지 않은 페이지들을 모두 소거할 수 있다. 임계값 O의 값은, 임계값 O의 경험적 분석에 기초하여, 상 변화 메모리 장치(1)의 설계자, 제조자 및/또는 사용자의 선호도에 따라 설정될 수 있다. 임계값 O의 예시는, M-1, M-2, M-4, M-8, (3/4)M, M/2 등을 포함할 수 있지만, 이에 한정되지는 않는다.
Sub-block-RESET-before-SET without prior read 방식의 예인 알고리즘 2는 아래에서 논의될 것이다.
Algorithm 2 Input: { i - threshold write request number} (B1) Buffer i write requests; (B2) Selected block B ←block with most invalid pages; (B3) Target sub-block S ←invalid word lines in B; (B4) For each word line in S: (B4.1) selectively RESET memory cells of word line in accordance with a data page included in the i write requests; (B5) For each word line in S: (B5.1) selectively SET cells of word line in accordance with a data page included in the i buffered write requests; (B6) return to (B1). |
본 개시의 일 실시예에 따르면, 알고리즘 2는 PRAM 장치에서 기입 동작을 수행하기 위한 알고리즘이다. 아래에서 보다 상세히 논의되는 바와 같이, 알고리즘 2는, 기입될 기입 데이터에 따라 선택된 블록 B의 유효하지 않은(또는 부분적으로 기입된) 워드 라인 각각에 대해 워드 라인 단위로 셋(SET) 동작을 수행하기 전에, 기입될 기입 데이터에 따라 선택된 블록 B의 유효하지 않은 워드 라인 각각에 대해 워드 라인 단위로 리셋(RESET) 동작을 수행함으로써 PRAM 장치의 메모리 셀들에 데이터를 기입하는 것을 포함할 수 있다. 본 개시의 일 실시예에 따르면, 알고리즘 2는, 예를 들어 메모리 컨트롤러(1000)에 의해 실행 및/또는 제어될 수 있는 단계 (B1) 내지 (B6)을 포함할 수 있다. 본 개시의 일 실시예에 따르면, 알고리즘 2는 리셋(RESET) 단계와 셋(SET) 단계를 포함하는 것으로 고려될 수 있다. 리셋(RESET) 단계는 소거 단계로 지칭될 수 있다. 본 개시의 일 실시예에 따르면, 단계 (B4) 및 (B4.1)은 알고리즘 2의 리셋(RESET) 단계에 포함되고, 단계 (B5) 및 (B5.1)은 알고리즘 2의 셋(SET) 단계에 포함될 수 있다. 또한, 아래에서 더 상세히 논의되는 바와 같이, 일반적으로, 메모리 컨트롤러(1000)는, 알고리즘 2의 리셋(RESET) 단계가, 선택된 블록의 둘 이상의 제1 워드 라인들에 포함된 PRAM 셀들 중에서, PRAM 셀들의 저항 상태들을, 제1 개수의 버퍼링된 기입 요청들에 포함된 기입 데이터에 따라 고저항 상태(HRS)로 선택적으로 리셋하도록 메모리 장치(2000)를 제어하는 단계를 포함하도록 구성되고, 셋(SET) 단계가, 둘 이상의 제1 워드 라인들에 포함된 PRAM 셀들 중에서, PRAM 셀들의 저항 상태들을, 제1 개수의 버퍼링된 기입 요청들에 포함된 기입 데이터에 따라 저저항 상태(LRS)로 선택적으로 설정하도록 메모리 장치(2000)를 제어하는 단계를 포함하도록 구성될 수 있다.
알고리즘 2를 참조하면, 단계 (B1)에서, i개의 기입 요청들이 버퍼링되고, 단계 (B2)에서, 유효하지 않은 페이지들을 가장 많이 갖는 블록이 블록 B로 선택될 수 있다. 단계 (B1) 및 (B2)는 각각 알고리즘 1의 단계 (A1) 및 (A2)와 관련하여 전술한 바와 동일한 방식으로 수행될 수 있다. 따라서, 간략화를 위해, 단계 (B1) 및 (B2)에 대한 추가적인 설명은 알고리즘 2의 설명에서 제공되지 않는다. 알고리즘 1을 참조하여 전술한 바와 같이, 본 개시의 일 실시예에 따르면, i는 1보다 크고, 블록당 행들의 개수(예를 들어, M)보다 작은 양의 정수이다.
단계 (B3)에서, 선택된 블록 B의 유효하지 않은 워드 라인들은 서브 블록 S로 지정될 수 있다. 예를 들어, 도 1c를 참조하면, 메모리 컨트롤러(1000)는 유효성 테이블(160)을 참조하고, 선택된 블록 B에서 유효성 테이블(160)에 의해 유효하지 않은 것으로 확인된 페이지들을 서브 블록 S로 지정할 수 있다. 다음으로, 메모리 컨트롤러(1000)는 단계 (B4)로 진행할 수 있다.
단계 (B4)에서, 서브 블록 S의 각 워드 라인은 순차적으로 선택되고, 각 선택된 워드 라인에 대해서 단계 (B4.1)이 수행될 수 있다. 단계 (B4.1)에서, 단계 (B1)에서 버퍼링된 i개의 기입 요청들에 포함된 데이터 페이지에 따라 선택된 워드 라인의 메모리 셀들은 선택적으로 리셋(RESET) 될 수 있다. 예를 들어, 선택된 블록 B와 서브 블록 S의 예시로서 도 1a의 제2 블록(2130)과 서브 블록(2135)을 이용하여, 단계 (B4)에서, 메모리 컨트롤러(1000)는 서브 블록(2135)에서 i개의 유효하지 않은 워드 라인들을 한 번에 하나씩 순차적으로 선택하도록 PRAM 장치(2000)를 제어할 수 있다. 또한, 선택된 유효하지 않은 워드 라인 각각에 대하여, 메모리 컨트롤러(1000)는, 제2 블록(2130)의 다른 워드 라인들(예를 들어, 제2 블록(2130)의 모든 선택되지 않은 워드 라인들) 각각에 전압 VRWL을 인가하고, 서브 블록 S에 기입될 기입 데이터에 따라 고저항 상태(HRS)에 있어야 하는 선택된 워드 라인의 메모리 셀(예를 들어, 단계 (B1)에서 버퍼링된 i개의 기입 요청들의 데이터 페이지들 중에서, 선택된 유효하지 않은 워드 라인에 대응하는 데이터 페이지에 따라, 이진값 "1"을 저장해야 하는, 선택된 유효하지 않은 워드 라인의 각 메모리 셀)에 연결된 비트 라인 각각에 리셋 전압 VRST을 인가하고, 선택된 유효하지 않은 워드 라인의 나머지 메모리 셀들에 연결된 비트 라인들에 전압 VRBL을 인가하는 동안, 선택된 유효하지 않은 워드 라인을 접지(선택된 워드 라인에 0V를 인가)하고, 이에 따라 선택된 유효하지 않은 워드 라인들의 특정 메모리 셀들의 저항 상태들이 고저항 상태(HRS)로 선택적으로 리셋함으로써, 단계 (B4.1)을 수행하도록 PRAM 장치(2000)를 제어할 수 있다. 메모리 장치는 단계 (B4)를 수행한 이후에 단계 (B5)로 진행할 수 있다.
단계 (B5)에서, 서브 블록 S의 각 워드 라인은 순차적으로 선택되고, 각 선택된 워드 라인에 대해서 단계 (B5.1)이 수행될 수 있다. 단계 (B5.1)에서, 선택된 워드 라인의 메모리 셀들은 단계 (B1)에서 버퍼링된 i개의 기입 요청들에 포함된 데이터 페이지에 따라 선택적으로 셋(SET)될 수 있다. 단계 (B5) 및 (B5.1)은 "유효하지 않은 워드 라인들"을 참조하여 논의되지만, 서브 블록 S의 유효하지 않은 워드 라인들은 단계 (B4)에서 부분적으로 기입된 것으로 이해될 수 있다. 따라서, 단계 (B5)와 관련하여 논의된 "유효하지 않은 워드 라인들"은 때때로 부분적으로 기입된 워드 라인들로 지칭될 수 있다. 예를 들어, 선택된 블록 B와 서브 블록 S의 예시로서 도 1a의 제2 블록(2130)과 서브 블록(2135)을 이용하여, 단계 B5에서, 메모리 컨트롤러(1000)는 서브 블록(2135)에서 i개의 부분적으로 기입된 워드 라인들 각각을 한 번에 하나씩 순차적으로 선택하도록 PRAM 장치(2000)를 제어할 수 있다. 또한, 선택된 부분적으로 기입된 워드 라인 각각에 대해서, 메모리 컨트롤러(1000)는, 제2 블록(2130)의 다른 워드 라인들(예를 들어, 제2 블록(2130)의 선택되지 않은 모든 워드 라인들) 각각에 전압 VSWL을 인가하는 동안, 선택된 부분적으로 기입된 워드 라인에 셋(SET) 전압 VSET을 인가하고, 서브 블록 S에 기입될 기입 데이터에 따라 저저항 상태(LRS)에 있어야 하는 선택된 부분적으로 기입된 워드 라인의 메모리 셀(예를 들어, 단계 (B1)에서 버퍼링된 i개의 기입 요청들의 데이터 페이지들 중에서, 선택된 부분적으로 기입된 워드 라인에 대응하는 데이터 페이지에 따라, 이진값 "0"을 저장해야 하는, 선택된 부분적으로 기입된 워드 라인의 각 메모리 셀)에 연결된 각 비트 라인을 접지(즉, 0V를 인가)하고, 선택된 부분적으로 기입된 워드 라인의 나머지 메모리 셀들에 연결된 비트 라인들에 전압 VSBL을 인가하고, 이에 따라 선택된 부분적으로 기입된 워드 라인의 특정 메모리 셀들의 저항 상태를 저저항 상태(LRS)로 선택적으로 설정함으로써, 단계 (B5.1)을 수행하도록 PRAM 장치(2000)를 제어할 수 있다. 메모리 장치는 단계 (B5)를 수행한 이후 단계 (B6)으로 진행할 수 있다.
단계 (B6)에서, 알고리즘은 새로운 i개의 기입 요청들이 버퍼링될 때까지 단계 (B1)으로 복귀할 수 있다. 예를 들어, 단계 (B6)에서, 메모리 컨트롤러(1000)는 단계 (B1)으로 복귀하고, 새로운 i개의 기입 요청들이 버퍼링될 때까지 기입 버퍼(150)에 새로 수신한 기입 요청들을 버퍼링할 수 있다.
본 명세서의 섹션 Ⅱ에서 전술한 바와 같이, PRAM 장치(2000)의 메모리 셀 어레이(2100)는 SLC, MLC 또는 SLC와 MLC의 혼합을 포함할 수 있다. 간략화를 위해, 알고리즘 1, 1M, 2는 PRAM 장치(2000)의 메모리 셀 어레이(2100)의 참조 SLC(예를 들어, 도 1d의 각각 단일 비트의 데이터를 저장하는 메모리 셀들(7))와 함께 전술되었다. 그러나 본 개시의 일 실시예에 따르면, 알고리즘 1, 1M, 2는, 알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)를 참조하여 아래에 더 상세히 도시되고 논의되는 바와 같이, PRAM 장치(2000)의 메모리 셀 어레이(2100)의 멀티 레벨 셀(MLC)(예를 들어, 도 1d의 각각 2개 이상의 비트들의 데이터를 저장하는 메모리 셀들(7))에 대하여 실행될 수 있다.
알고리즘 1, 1M 및 2가 SLC를 포함하는 워드 라인들을 참조하여 논의되기 때문에, 알고리즘 1, 1M 및 2에 대한 논의에서, 전술한 바와 같이 유효한 페이지(또는 데이터 페이지)를 저장하는 워드 라인은 유효한 워드 라인으로 지칭될 수 있고, 유효하지 않은 페이지(또는 데이터 페이지)를 저장하는 워드 라인은 유효하지 않은 워드 라인으로 지칭될 수 있다. 그러나 아래에서 더 상세히 논의되는 바와 같이, 알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)의 논의에서, 각 워드 라인은 MLC를 포함하므로, 각 워드 라인은 하나 이상의 데이터 페이지를 저장할 수 있다. 결과적으로, 하나 이상의 유효한 페이지(또는 데이터 페이지)를 저장하는 워드 라인은 유효한 워드 라인으로 지칭될 수 있고, 단지 유효하지 않은 페이지들(또는 데이터 페이지들)을 저장하고, 유효한 페이지들(또는 데이터 페이지들)을 저장하지 않는 워드 라인은 유효하지 않은 워드 라인으로 지칭될 수 있다.
간략화를 위해, 알고리즘 1, 알고리즘 1M 및 알고리즘 2의 단계들과 동일한 알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)의 단계들에 대한 설명은, 이하의 알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)에 대한 설명에서 반복되지 않을 것이다.
Algorithm 1(MLC) Input: {n×i - threshold write request number, M number of rows per block} (A1) Buffer n×i write requests; (A2) Selected block B ←block with most invalid WLs; (A3) If number of invalid WLs in B = M: (A3.1) Perform bit line-wise block erase on B; (A4) Else: (A4.1) Perform word line-wise sub-block erase of i invalid WLs of B; (A5) SET each erased WL of B, sequentially, in accordance with n data pages included in the n×i buffered write requests; (A6) return to (A1) |
Algorithm 1M(MLC) Input: {n×i - threshold write request number, M number of rows per block} (A1) Buffer n×i write requests; (A2) Selected block B ←block with most invalid WLs; (A3) If (number of invalid WLs in B = M): (A3.1) Perform bit line-wise block erase on B; (AM3) Else If (number of invalid WLs in B ≥ O): (AM3.1) Read pages from the valid WLs of B and buffer read pages; (AM3.2) Perform bit line-wise block erase on B; (A4) Else: (A4.1) Perform word line-wise sub-block erase of i invalid WLs of B; (A5) SET each erased word line of B, sequentially, in accordance with n pages, each of which is a buffered page of one of the valid WLs of B or a data page included in the n×i buffered write requests; (A6) return to (A1). |
Algorithm 2(MLC) Input: {n×i - threshold write request number} (B1) Buffer n×i write requests; (B2) Selected block B ←block with most invalid WLs; (B3) Target sub-block S ←invalid WLs in B; (B4) For each WL in S: (B4.1) selectively RESET memory cells of WL in accordance with a group of n data pages included in the n×i buffered write requests; (B5) For each WL in S: (B5.1) selectively SET cells of WL in accordance with a group of n data pages included in the n×i buffered write requests; (B6) return to (B1). |
알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)는 임계 기입 요청 수가 i가 아닌 nХi라는 점에서, 알고리즘 1, 알고리즘 1M 및 알고리즘 2와 각각 상이할 수 있다. 따라서, 단계 (A1) 및 (B1)에서, i개의 기입 요청들 대신 nХi개의 기입 요청들이 버퍼링될 수 있다. n은 메모리 셀 어레이(2100)(또는, 알고리즘 1(MLC)가 수행되는 부분)에서 메모리 셀 당 저장되는 비트들의 개수이다. 예를 들어, 메모리 셀이 2개 비트(예를 들어, "00", "01", "11" 또는 "10")을 저장하는 경우, n은 2이다. 본 개시의 일 실시예에 따르면, n은 1보다 큰 양의 정수이다. 또한, 알고리즘 1을 참조하여 전술한 바와 같이, 본 개시의 일 실시예에 따르면, i는 1보다 크고 블록당 행들의 개수(예를 들어, M)보다 작은 양의 양수이다.
알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)는 단계 (A2) 및 (B2)에서 선택된 블록 B는 유효하지 않은 페이지를 가장 많이 갖는 블록 대신에 유효하지 않은 워드 라인을 가장 많이 갖는 블록으로 설정된다는 점에서, 알고리즘 1, 알고리즘 1M 및 알고리즘 2와 각각 상이할 수 있다. 예를 들어, 메모리 셀의 워드 라인이 SLC가 아닌 MLC인 경우, 워드 라인은 단지 하나의 데이터 페이지 대신 복수의 데이터 페이지들(예를 들어, n개의 데이터 페이지들)을 포함할 수 있다. 또한, 본 개시의 일 실시예에 따르면, 알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)에서, 하나의 워드 라인은, 그 워드 라인에 포함된 n개의 데이터 페이지들의 모든 데이터 페이지들이 유효하지 않을 때에 유효하지 않은 워드 라인으로 간주될 수 있고, 그 워드 라인에 포함된 n개의 데이터 페이지들 중 적어도 하나의 데이터 페이지가 유효한 때에 유효한 워드 라인으로 간주될 수 있다.
유사하게, 알고리즘 1(MLC), 알고리즘 1M(MLC) 및 알고리즘 2(MLC)는 단계 (A3), (AM3), (A4.1) 및 (B3)은 유효하지 않은 페이지들 대신 유효하지 않은 워드 라인들에 대해서 수행된다는 점에서 알고리즘 1, 알고리즘 1M 및 알고리즘 2와 각각 상이할 수 있다. 유사하게, 알고리즘 1M(MLC)은, 단계 (AM3.1)에서 블록 B의 유효한 페이지들만이 아닌, 블록 B의 각 유효한 워드 라인들의 페이지들(예를 들어, n개의 데이터 페이지들)에 대하여 수행된다는 점에서 알고리즘 1M과 상이할 수 있다. 예를 들어, 전술한 바와 같이, 워드 라인은 유효하지 않은 페이지를 포함하더라도, 적어도 하나의 유효한 데이터 페이지를 포함하면 유효한 워드 라인일 수 있다. 따라서, 본 개시의 일 실시예에 따르면, 알고리즘 1M(MLC)의 단계 (AM3.1)은 적어도 하나의 유효한 워드 라인의 유효한 데이터 페이지 및 유효하지 않은 데이터 페이지 모두를 독출하는 단계를 포함할 수 있다.
또한, 단계 (A5)와 관련하여, 알고리즘 1(MLC) 및 알고리즘 1M(MLC)은 단계 (A5)가 nХi개 버퍼링된 기입 요청들에 포함된 n개의 데이터 페이지들에 따라 블록 B의 각 소거된 워드 라인을 설정하는 단계를 포함한다는 점에서 알고리즘 1 및 알고리즘 1M과 상이할 수 있다. 예를 들어, 만약 n=2인 경우 각 워드 라인은 2개의 데이터 페이지들을 한 번에 저장할 수 있으므로, 단계 (A5)에서, 블록 B의 각 소거된 워드 라인은 2Хi개 버퍼링된 기입 요청들 중에서 2개 데이터 페이지들의 그룹에 따라 설정될 수 있다.
또한, 알고리즘 2(MLC)는 각 워드 라인이 한 번에 n개의 데이터 페이지들을 한 번에 저장할 수 있으므로, 단계 (B4.1)이 i개의 버퍼링된 기입 데이터 요청들에 포함된 데이터 페이지 대신, nХi개의 버퍼링된 기입 요청들에 포함된 n개의 데이터 페이지들의 그룹에 따라 각 워드 라인의 메모리 셀들에 대하여 선택적인 리셋(RESET)을 수행하는 단계를 포함할 수 있다는 점에서 알고리즘 2와 상이할 수 있다. 유사하게, 단계 (B5.1)은 i개의 버퍼링된 기입 데이터 요청들에 포함된 데이터 페이지 대신 nХi개의 버퍼링된 기입 요청들에 포함된 n개의 데이터 페이지들의 그룹에 따라 각 워드 라인의 메모리 셀들에 대하여 선택적인 셋(SET)을 수행하는 단계를 포함할 수 있다.
메모리 시스템(900), 메모리 컨트롤러(1000) 및 PRAM 장치(2000)의 예시적인 응용이 아래의 도 3 내지 도 6을 참조하여 설명될 것이다.
도 3은 본 개시의 일 실시예에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템(3000)을 나타내는 블록도이다. 모바일 장치, 데스크탑 컴퓨터 및 서버와 같은 컴퓨터 시스템(3000)은 본 개시의 일 실시예에 따른 메모리 시스템(3400)을 이용할 수 있다.
컴퓨터 시스템(3000)은 중앙 처리 장치(3100), RAM(3200), 유저 인터페이스(3300) 및 메모리 시스템(3400)을 포함할 수 있으며, 이들은 버스(3500)에 전기적으로 연결될 수 있다. 전술한 호스트는 컴퓨터 시스템(3000)의 중앙 처리 장치(3100), RAM(3200) 및 사용자 인터페이스(3400)를 포함할 수 있다. 중앙 처리 장치(3100)는 전체 컴퓨터 시스템(3000)을 제어할 수 있고, 유저 인터페이스(3300)를 통해 입력된 사용자 명령에 대응하는 연산을 수행할 수 있다. RAM(3200)은 중앙 처리 장치(3100)를 위한 데이터 메모리로서 기능할 수 있고, 중앙 처리 장치(3100)는 메모리 시스템(3400)에 데이터를 기입하거나, 메모리 시스템(3400)으로부터 데이터를 독출할 수 있다.
본 개시의 일 실시예에서와 같이, 메모리 시스템(3400)은 메모리 컨트롤러(3410) 및 메모리 장치(3420)를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 메모리 컨트롤러(3410)는 도 1a 내지 도 2c를 참조하여 전술한 메모리 컨트롤러(1000)에 구현될 수 있고, 메모리 장치(3420)는 도 1a 내지 도 2c를 참조하여 전술한 PRAM 장치(2000)에 의해 구현될 수 있다.
도 4는 본 개시의 일 실시예에 따른 메모리 카드(4000)를 나타내는 블록도이다. 도 1a 내지 도 2c를 참조하여 전술한 본 개시의 일 실시예에 따른 메모리 시스템(900)은 메모리 카드(4000)일 수 있다. 예를 들어, 메모리 카드(4000)는 내장 멀티미디어 카드(eMMC, embedded multimedia card) 또는 SD(secure digital) 카드를 포함할 수 있다. 도 4에 도시된 바와 같이, 메모리 카드(4000)는 메모리 컨트롤러(4100), 비휘발성 메모리(4200) 및 포트 영역(4300)을 포함할 수 있다. 본 개시의 일 실시예에 따르면, 메모리 컨트롤러(4100)는 도 1a 내지 도 2c를 참조하여 전술한 메모리 컨트롤러(1000)에 의해 구현될 수 있고, 도 4에 도시된 비휘발성 메모리(4200)는 도 1a 내지 도 2c를 참조하여 전술한 PRAM 장치(2000)에 의해 구현될 수 있다.
메모리 컨트롤러(4100)는 미리 설정된 프로토콜에 따라 포트 영역(4300)을 통해 외부 호스트와 통신할 수 있다. 프로토콜은 eMMC 프로토콜, SD 프로토콜, SATA 프로토콜, SAS 프로토콜, 또는 USB 프로토콜일 수 있다.
도 5는 본 개시의 일 실시예에 따른 메모리 시스템을 포함하는 네트워크 시스템(5000)을 나타내는 블록도이다. 도 5에 도시된 바와 같이, 네트워크 시스템(5000)은 서버 시스템(5100) 및 네트워크(5200)를 통해 연결된 복수의 터미널들(5300, 5400, 5500)을 포함할 수 있다. 서버 시스템(5100)은 네트워크(5200)에 연결된 복수의 터미널들(5300, 5400, 5500)로부터 수신된 요청들을 처리하기 위한 서버(5110)와 복수의 터미널들(5300, 5400, 5500)로부터 수신한 요청들에 대응하는 데이터를 저장하기 위한 SSD(5120)를 포함할 수 있다. 여기서, SSD(5120)는 본 개시의 일 실시예에 따른 메모리 시스템일 수 있다.
본 개시의 일 실시예에 따르면, SSD(5120)는 도 1a 내지 도 2c를 참조하여 전술한 메모리 시스템(900)에 의해 구현될 수 있다.
한편, 본 개시의 일 실시예에 따른 메모리 시스템은 다양한 패키지를 통해 실장될 수 있다. 예를 들어, 본 개시의 일 실시예에 따른 메모리 시스템은 PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flat-Pack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline Package), TQFP(Thin Quad Flat-Pack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
이와 같이, 본 개시의 실시예들이 설명되었지만, 동일한 방식이 여러 방식으로 변형될 수 있음은 명백할 것이다. 이러한 변형은 본 개시의 기술적 사상 및 범위로부터 벗어난 것으로 간주되지 않으며, 통상의 기술자에게 명백한 변형은 본 개시의 특허청구범위에 포함되는 것으로 의도된다.
Claims (10)
- 메모리 시스템에 있어서,
메모리 컨트롤러; 및
복수의 블록들을 구비한 메모리 셀 어레이를 포함하는 메모리 장치;를 포함하고,
상기 복수의 블록들 각각은,
복수의 비트 라인들 및 복수의 워드 라인들을 포함하고, 상기 복수의 워드 라인들 각각은 상기 복수의 비트 라인들 각각에 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고, 복수의 비트 라인들 및 복수의 블록들을 포함하고, 각 블록은 복수의 워드 라인들을 포함하고, 각 워드 라인은 상기 복수의 비트 라인들에 각각 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고,
상기 메모리 컨트롤러는,
기입 데이터를 각각 포함하는 제1 기입 요청들을 버퍼링하고, 리셋(RESET) 단계와 후속하는 세트(SET) 단계를 포함하는 기입 동작을 수행하고,
상기 리셋 단계는,
상기 복수의 블록들 중 선택된 블록에 포함된 복수의 워드 라인들 중 제1 워드 라인들에 포함된 PRAM 셀들을 소거하는 소거 동작을 포함하고,
상기 세트 단계는,
상기 리셋 단계 이후 상기 버퍼링된 제1 기입 요청들의 기입 데이터를 상기 제1 워드 라인들에 포함된 PRAM 셀들에 기입하는 기입 동작을 포함하는 것을 특징으로 하는 메모리 시스템. - 제1항에 있어서,
상기 메모리 시스템은,
기입 버퍼;를 더 포함하고,
상기 메모리 컨트롤러는,
상기 기입 버퍼에 상기 제1 기입 요청들을 버퍼링하는 것을 특징으로 하는 메모리 시스템. - 제2항에 있어서,
상기 메모리 컨트롤러는,
상기 기입 버퍼에 버퍼링된 제1 기입 요청들의 개수가 참조 개수와 동일한 것으로 판단한 것에 응답하여, 기입 동작을 수행하는 것을 특징으로 하는 메모리 시스템. - 제1항에 있어서,
상기 메모리 시스템은,
유효성 테이블;을 더 포함하고,
상기 메모리 컨트롤러는,
각 블록의 각 워드 라인의 유효 여부를 나타내는 메타 데이터를 상기 유효성 테이블에 저장하는 것을 특징으로 하는 메모리 시스템. - 제4항에 있어서,
상기 메모리 컨트롤러는,
상기 유효성 테이블을 기초로 상기 선택된 블록 중 유효하지 않은 워드 라인들을 상기 제1 워드 라인들로 선택하는 것을 특징으로 하는 메모리 시스템. - 제4항에 있어서,
상기 메모리 컨트롤러는,
상기 유효성 테이블을 기초로 상기 복수의 블록들 중 유효하지 않은 워드 라인들의 개수가 가장 큰 블록을 상기 선택된 블록으로 선택하는 것을 특징으로 하는 메모리 시스템. - 제4항에 있어서,
상기 메모리 컨트롤러는,
상기 유효성 테이블을 기초로 상기 선택된 블록의 유효하지 않은 워드 라인들의 개수가 임계값을 초과하는지 여부를 판단하고,
상기 유효성 테이블을 기초로 상기 선택된 블록의 유효하지 않은 워드 라인들의 개수가 상기 임계값을 초과한다는 판단에 응답하여, 상기 선택한 블록에 대해 비트 라인 단위로 소거하고,
상기 유효성 테이블을 기초로 상기 선택된 블록의 유효하지 않은 워드 라인들의 개수가 상기 임계값을 초과하지 않는다는 판단에 응답하여, 상기 유효하지 않은 워드 라인들에 대해 워드 라인 단위로 소거함으로써 상기 소거 동작을 수행하는 것을 특징으로 하는 메모리 시스템. - 메모리 시스템에 있어서,
메모리 컨트롤러; 및
복수의 블록들을 구비한 메모리 셀 어레이를 포함하는 메모리 장치;를 포함하고,
상기 복수의 블록들 각각은,
복수의 비트 라인들 및 복수의 워드 라인들을 포함하고, 상기 복수의 워드 라인들 각각은 상기 복수의 비트 라인들 각각에 연결되는 복수의 PRAM(phase-change random access memory) 셀들을 포함하고,
상기 메모리 컨트롤러는,
기입 데이터를 각각 포함하는 제1 기입 요청들을 버퍼링하고, 리셋(RESET) 단계와 후속하는 세트(SET) 단계를 포함하는 기입 동작을 수행하고,
상기 리셋 단계는, 상기 제1 기입 요청들에 포함된 기입 데이터에 따라, 선택된 블록의 둘 이상의 제1 워드 라인들에 포함된 PRAM 셀들의 저항 상태들을 고저항 상태로 선택적으로 리셋하도록 상기 메모리 장치를 제어하고,
상기 세트 단계는, 상기 제1 기입 요청들에 포함된 기입 데이터에 따라, 상기 둘 이상의 제1 워드 라인들에 포함된 PRAM 셀들의 저항 상태들을 저저항 상태로 선택적으로 설정하도록 상기 메모리 장치를 제어하는 것을 특징으로 하는 메모리 시스템. - 제8항에 있어서,
상기 메모리 컨트롤러는,
상기 둘 이상의 제1 워드 라인들 내 유효하지 않은 워드 라인을 순차적으로 선택함으로써 상기 리셋 단계를 수행하고,
상기 리셋 단계는,
상기 선택된 워드 라인을 접지하도록 상기 메모리 장치를 제어하고,
상기 선택된 블록의 선택되지 않은 워드 라인들에 제1 전압을 인가하도록 상기 메모리 장치를 제어하고,
상기 버퍼링된 제1 기입 요청들의 기입 데이터 중 상기 선택된 워드 라인에 대응하는 기입 데이터에 따라, 상기 선택된 워드 라인에 포함된 PRAM 셀들 중 고저항 상태에 있어야 하는 적어도 하나의 PRAM 셀에 연결된 각 비트 라인에 리셋 전압을 인가하도록 메모리 장치를 제어하고,
상기 선택된 워드 라인에 포함된 PRAM 셀들 중 나머지 PRAM 셀들에 연결된 비트 라인들에 제2 전압을 인가하도록 상기 메모리 장치를 제어하는 것을 특징으로 하는 메모리 시스템. - 제8항에 있어서,
상기 메모리 컨트롤러는,
상기 둘 이상의 제1 워드 라인들 내 유효하지 않은 워드 라인을 순차적으로 선택함으로써 상기 세트 단계를 수행하고,
상기 세트 단계는,
상기 선택된 워드 라인에 세트 전압을 인가하도록 상기 메모리 장치를 제어하고,
상기 선택된 블록의 선택되지 않은 워드 라인들에 제3 전압을 인가하도록 상기 메모리 장치를 제어하고,
상기 버퍼링된 제1 기입 요청들의 기입 데이터 중 상기 선택된 워드 라인에 대응하는 기입 데이터에 따라, 상기 선택된 워드 라인에 포함된 PRAM 셀들 중 저저항 상태에 있어야 하는 적어도 하나의 PRAM 셀에 연결된 각 비트 라인을 접지하도록 상기 메모리 장치를 제어하고,
상기 선택된 워드 라인에 포함된 PRAM 셀들 중 나머지 PRAM 셀들에 연결된 비트 라인들에 제4 전압을 인가하도록 상기 메모리 장치를 제어하는 것을 특징으로 하는 메모리 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/220,328 | 2018-12-14 | ||
US16/220,328 US10650889B1 (en) | 2018-12-14 | 2018-12-14 | Energy efficient phase change random access memory cell array write via controller-side aggregation management |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200074872A true KR20200074872A (ko) | 2020-06-25 |
Family
ID=70612943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190164141A KR20200074872A (ko) | 2018-12-14 | 2019-12-10 | 에너지 효율적인 pram 어레이 기입 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10650889B1 (ko) |
KR (1) | KR20200074872A (ko) |
CN (1) | CN111326190B (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI826897B (zh) * | 2021-03-09 | 2023-12-21 | 日商鎧俠股份有限公司 | 儲存裝置 |
JP2022137794A (ja) * | 2021-03-09 | 2022-09-22 | キオクシア株式会社 | 記憶装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100520228B1 (ko) * | 2004-02-04 | 2005-10-11 | 삼성전자주식회사 | 상변화 메모리 장치 및 그에 따른 데이터 라이팅 방법 |
JP4669518B2 (ja) * | 2005-09-21 | 2011-04-13 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
KR101246833B1 (ko) * | 2007-12-20 | 2013-03-28 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템, 및 이의 구동 방법 |
JP5049814B2 (ja) * | 2008-02-14 | 2012-10-17 | 株式会社東芝 | 不揮発性半導体記憶装置のデータ書き込み方法 |
JP2009252255A (ja) * | 2008-04-01 | 2009-10-29 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
US8194492B2 (en) * | 2008-04-08 | 2012-06-05 | Samsung Electronics Co., Ltd. | Variable resistance memory device and system |
KR101453969B1 (ko) * | 2008-07-31 | 2014-10-22 | 삼성전자주식회사 | 저항성 메모리 장치 및 그것의 쓰기 방법 |
KR20110034980A (ko) * | 2009-09-29 | 2011-04-06 | 주식회사 하이닉스반도체 | 상변화 메모리 장치 및 이를 위한 라이트 제어 방법 |
US9697896B2 (en) * | 2014-02-26 | 2017-07-04 | Stmicroelectronics S.R.L. | High throughput programming system and method for a phase change non-volatile memory device |
GB2526849B (en) * | 2014-06-05 | 2021-04-14 | Advanced Risc Mach Ltd | Dynamic cache allocation policy adaptation in a data processing apparatus |
KR102151183B1 (ko) * | 2014-06-30 | 2020-09-02 | 삼성전자주식회사 | 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법 |
-
2018
- 2018-12-14 US US16/220,328 patent/US10650889B1/en active Active
-
2019
- 2019-08-02 CN CN201910710310.5A patent/CN111326190B/zh active Active
- 2019-12-10 KR KR1020190164141A patent/KR20200074872A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
CN111326190A (zh) | 2020-06-23 |
CN111326190B (zh) | 2024-04-26 |
US10650889B1 (en) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9959933B2 (en) | Non-volatile memory devices and methods of operating the same | |
US10741245B2 (en) | Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system | |
KR20190139082A (ko) | 메모리 장치의 비트 에러율 균등화 방법 | |
JP6491330B2 (ja) | 区分化sgs線用の装置および方法 | |
KR102217243B1 (ko) | 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법 | |
US11120872B2 (en) | Resistive memory devices and methods of operating resistive memory devices | |
US9471486B2 (en) | Reducing disturbances in memory cells | |
US9442663B2 (en) | Independent set/reset programming scheme | |
JP5091970B2 (ja) | 半導体記憶装置およびその制御方法 | |
US11043268B2 (en) | Resistive memory devices and methods of operating resistive memory devices including adjustment of current path resistance of a selected memory cell in a resistive memory device | |
US11342013B2 (en) | Memory system and operating method to set target command delay time to merge and process read commands | |
US11749353B2 (en) | Managing sub-block erase operations in a memory sub-system | |
KR20220013661A (ko) | 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법 | |
KR20200074872A (ko) | 에너지 효율적인 pram 어레이 기입 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템 | |
US11315650B2 (en) | Memory system, memory controller, and method of operating memory system | |
KR20200008998A (ko) | 메모리 장치 및 메모리 장치의 제어 방법 | |
US11024393B1 (en) | Read operation for non-volatile memory with compensation for adjacent wordline | |
US11922040B2 (en) | Extended super memory blocks in memory systems | |
KR102599046B1 (ko) | 리커버리 동작을 수행하는 메모리 컨트롤러, 이의 동작 방법 및 이를 포함하는 메모리 시스템 | |
WO2015041369A1 (en) | Memory system | |
US20210064260A1 (en) | Memory system, memory controller, and operation method thereof | |
KR20170113863A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20210071314A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
KR20210000010A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
US20210181824A1 (en) | System, controller, and method for operating system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |