KR101656599B1 - 멀티-레벨 셀 메모리 - Google Patents
멀티-레벨 셀 메모리 Download PDFInfo
- Publication number
- KR101656599B1 KR101656599B1 KR1020147036603A KR20147036603A KR101656599B1 KR 101656599 B1 KR101656599 B1 KR 101656599B1 KR 1020147036603 A KR1020147036603 A KR 1020147036603A KR 20147036603 A KR20147036603 A KR 20147036603A KR 101656599 B1 KR101656599 B1 KR 101656599B1
- Authority
- KR
- South Korea
- Prior art keywords
- buffer
- row
- memory
- lsb
- page
- Prior art date
Links
Images
Classifications
-
- 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
- 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
-
- 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/5621—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 charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/5621—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 charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output 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/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/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/0061—Timing 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
멀티-레벨 셀 메모리는 둘 이상의 정보 비트를 저장하는 메모리 셀과, 메모리 셀에 결합된 감지 회로와, 제 1 페이지 버퍼 및 제 2 페이지 버퍼를 갖는 분할 페이지 버퍼를 포함하는 로우 버퍼 구조를 포함한다. 감지 회로는 메모리 장치로부터 판독 및 메모리 장치에 기록하도록 동작하며, 제 1 비트를 제 1 페이지 버퍼 및 제 2 페이지 버퍼 중 하나의 버퍼 내에 배치하며, 제 2 비트를 제 1 페이지 버퍼 및 제 2 페이지 버퍼 중 하나의 버퍼 내에 배치한다.
Description
컴퓨터 메모리 장치는 메모리 셀과 주변 입력/출력 장치(I/O) 회로의 어레이를 포함한다. 어레이에서, 메모리 셀은 로우와 컬럼으로 배열된다. 각 로우에서 모든 메모리 셀은 공통 워드 라인에 연결된다. 각 컬럼에서 모든 메모리 셀은 공통 비트 라인에 연결된다. 데이터 처리량은 워드 라인을 이용하여 로우에 있는 모든 메모리 셀을 동시에 액세스하고 비트 라인을 이용하여 데이터를 메모리 셀로 및 메모리 셀로부터 전송함으로써 증가된다.
I/O 측에서, 비트 라인으로부터 오는 데이터 신호는 감지 증폭기에 의해 검출되며 로우 버퍼로 알려진 주변 회로에 래치(저장)된다. 일단 로우의 데이터가 로우 버퍼에 배치되면, 동일한 로우로의 후속 요청은 그 로우 버퍼 내 데이터에 액세스함으로써 서비스될 수 있다. 그러한 액세스는 로우 버퍼 히트(a row buffer hit)라고 알려져 있으며, 메모리 셀 어레이와 상호작용하지 않고 주변 회로의 대기 시간에 서비스될 수 있다. 또 다른 로우에 대한 액세스 요청을 서비스하기 위해, 데이터는 메모리 셀 어레이로부터 액세스되어야 한다. 이러한 액세스 요청은 로우 버퍼의 콘텐츠가 교체되는 결과를 가져오며, 이는 로우 버퍼 미스(a row buffer miss)라고 알려져 있으며, 로우 버퍼 히트보다 더 긴 대기 시간 및 더 많은 에너지 소비를 유발할 것이다.
상변이 메모리(phase change memory (PCM))는 다이나믹 랜덤 액세스 메모리를 대체할 수 있는 또는 이와 함께 사용될 수 있는 비휘발성 랜덤 액세스 메모리 기술이다. PCM 기술의 한 가지 특정한 구현은 칼코게나이드(chalcogenide)라고 알려진 물질의 전기 저항을 가변시킴으로써 정보를 저장한다. 칼코게나이드는 주기율표의 VI 그룹 원소를 부르는 용어이다. PCM은 칼코게나이드의 거동을 활용하는데, 이 거동에서 칼코게나이드를 통한 전류의 통과에 의해 발생된 열은 이 물질을 두 가지 상태, 즉 결정과 비정질 사이에서 절환한다. 칼코게나이드의 상태는 전력이 없을 때 유지된다. 또한, 칼코게나이드는 (예를 들면, 두 가지) 추가적인 별개의 상태, 사실상 칼코게나이드-기반 메모리의 저장 용량을 증가시키는 (예를 들면, 두 배로 만들어 주는) 상태로 조작될 수 있다.
상세한 설명은 유사한 참조 부호가 유사한 항목을 참조하는 다음의 도면을 참조할 것이다.
도 1은 분할 페이지 버퍼링(split page buffering)을 포함하는 멀티-레벨 메모리의 실시예를 도시한다.
도 2는 도 1의 멀티-레벨 메모리의 양태를 더 상세히 도시한다.
도 3은 분할 페이지 버퍼링을 포함하는 로우 버퍼의 실시예를 도시한다.
도 4 및 도 5는 APB가 시행될 때 메모리 셀로부터 판독하고 메모리 셀에 기록하기 위한 프로세스의 실시예를 도시한다.
도 6 내지 도 10은 연상 페이지 버퍼링(associative page buffering)이 실시될 때 판독 및 기록 프로세스의 대안의 실시예를 도시한다.
도 1은 분할 페이지 버퍼링(split page buffering)을 포함하는 멀티-레벨 메모리의 실시예를 도시한다.
도 2는 도 1의 멀티-레벨 메모리의 양태를 더 상세히 도시한다.
도 3은 분할 페이지 버퍼링을 포함하는 로우 버퍼의 실시예를 도시한다.
도 4 및 도 5는 APB가 시행될 때 메모리 셀로부터 판독하고 메모리 셀에 기록하기 위한 프로세스의 실시예를 도시한다.
도 6 내지 도 10은 연상 페이지 버퍼링(associative page buffering)이 실시될 때 판독 및 기록 프로세스의 대안의 실시예를 도시한다.
메모리 기술은 구별할 수 있는 변화를 개개의 심볼을 표현하는 물리적인 상태로 생성함으로써 정보의 저장을 가능하게 한다. 전통적으로 메모리 셀은 각기 한 비트의 정보를 저장한다. 최근에, 멀티-레벨 셀(multi-level cell (MLC)) 메모리 장치가 개발되었으며 메모리 셀당 둘 이상의 비트를 저장할 수 있다. MLC 메모리는 복수개의 심볼을 표현하는 파라미터를 조작함으로써 실현된다. 메모리 셀에 두 비트를 저장하는 MLC 메모리 장치에서, "11", "01", "10", "00"의 인코딩 방식이 가능하다.
상전이 메모리(PCM)는 랜덤 액세스 메모리의 요구는 물론이고 대량 메모리 저장소의 요구를 충족시킬 수 있는 비휘발성 고체 상태 메모리이다. PCM은 두 가지 상태, 즉 결정과 비정질 상태 사이에서 절환될 수 있는 칼코게나이드 유리와 같은 상전이 물질의 고유한 거동을 이용한다. 비정질 상태에서, 상전이 물질은 높은 저항을 갖는다. 결정 상태에서, 상전이 물질은 낮은 저항을 갖는다. 결정 및 비정질 상태에서, 상전이 물질은 상이한 전기 비저항(electrical resistivity)을 갖기 때문에, 이러한 물리적 특성은 데이터를 저장하는데 사용될 수 있다. 높은 저항을 갖는 비정질 상태는 논리 0를 표현하는데 사용될 수 있고, 반면 낮은 저항의 결정 상태는 논리 1을 표현하는데 사용될 수 있다.
상전이 메모리 셀은 상이한 두 가지 저항 레벨보다 많은 레벨을 포함하도록 프로그램될 수 있다. PCM 메모리 셀은, 예를 들면 10 k옴부터 10 M옴의 범위에 걸쳐 있는, 예를 들면 네 가지의 상이한 저항 레벨을 갖도록 프로그램될 수 있다. 10 k옴의 낮은 저항 레벨은 두 논리 비트 11에 해당할 수 있고, 100 k옴의 다음 저항 레벨은 두 논리 비트 10을 표현할 수 있고, 예를 들면 1 M옴의 그 다음으로 높은 저항 레벨은 01이라는 논리 비트 조합을 표현할 수 있으며, 10 M옴의 최고 저항 레벨은 논리 비트 00을 표현할 수 있다. 따라서, PCM 메모리 셀은 단일의 메모리 셀에 하나의 비트보다 많은 비트를 저장하는 복수의 저항 레벨을 갖는 멀티-레벨 상전이 메모리 셀을 형성할 수 있다. 하나의 셀에 다수의 비트를 저장하기 위한 멀티-레벨 상전이 메모리 셀의 역량은 PCM의 유효 저장 밀도를 높여준다. 저항 레벨 또는 상태는 각기 판독 동작 중에 측정될 수 있는 여러 물리적 특성을 가질 수 있다.
그래서, MLC PCM은 (셀 당 하나의 비트를 저장할 수 있는) SLC (single-level cell) PCRAM보다 비트 당 높은 밀도와 낮은 비용을 제공한다. 그러나, MLC PCM은 또한 메모리로부터 판독하는 동작 및 메모리에 기록하는 동작을 포함하는 특정 동작 동안 가장 현저히 오랜 대기 시간, 에너지 소비, 및 내구성의 단점을 갖고 있다. 그러나, 대기 시간의 문제는 개선될 수 있다.
RAM과 같은 전통적인 관점의 메모리는 일정한 액세스 대기 시간을 갖는 평판형 모노리식 구조(a flat monolithic structure)를 갖는다. 액세스 대기 시간을 줄이기 위해, 메모리는 뱅크라고 불리우는 복수개의 동일 크기의 유닛으로 분리된다. 예를 들면, 몇몇 메모리 칩은 8 내지 16 뱅크를 가질 수 있다. 각각의 뱅크는 수만 페이지를 저장한다.
메모리 뱅크는 한 번에 하나의 요청을 서비스할 수 있을 뿐이다. 동일한 뱅크로의 임의의 다른 액세스는 이전의 액세스가 완료할 동안 대기하여야 한다. 각각의 메모리 뱅크는 하나의 로우-버퍼, 즉 그 뱅크에서 열려 있는 페이지에의 액세스를 제공하는 구조를 가질 수 있다. 메모리 위치가 판독될 수 있기 전에, 그 메모리 위치를 담고 있는 전체 페이지가 열리며 로우 버퍼 내로 읽혀진다. 페이지는 이 페이지가 명시적으로 닫힐 때까지 로우 버퍼에서 남아있을 수 있다. 만일 열린 페이지로의 액세스가 뱅크에 도달하면, 이 액세스는 즉시 로우 버퍼로부터 서비스될 수 있다. 이러한 시나리오는 로우-버퍼 히트(a row-buffer hit)(전형적으로 10 프로세스 사이클보다 적음)라고 부른다. 그러나, 만일 다른 로우로의 액세스가 도착하면, 요청이 서비스될 수 있기 전에 현재의 로우가 닫혀야 하고 새로운 로우가 열려야 한다. 이것은 로우-버퍼 충돌(a row-buffer conflict) 또는 로우-버퍼 미스(a row buffer miss)라고 부른다. 로우-버퍼 충돌은 일부 메모리에서 상당한 지연(예를 들면, 70+ 프로세서 사이클)을 유발한다.
로우-버퍼 충돌은 로우-버퍼에서 공간적 지역성(spatial locality)을 높여줌으로써, 이를 테면 연이는 메모리 액세스를 가능하면 서로 가깝게 해줌으로써 줄일 수 있다. 이것은 종종 연이은 메모리 장소에서 함께 액세스될 개연성이 있는 데이터를 패킹하는 것을 시사한다.
본 출원에는 메모리 셀 내 상이한 비트에 대응하는 방식으로 로우 버퍼를 분리(decoupling)함으로써 메모리 성능을 개선하는 방법 및 아키텍처가 개시된다. 이러한 분리는 추가적인 래치를 필요로 하지 않고 메모리 내에서 이용 가능한 버퍼를 효과적으로 증가시켜준다. 분리는 결합된 비트 방식(a coupled bit scheme)에서는 가능하지 않은, 최하위 비트(LSB) 및 최상위 비트(MSB) 로우 버퍼를 관리하는데 더욱 융통성을 제공할 수 있다. 메모리 비트를 분리하면 MLC 메모리의 판독 및 기록을 속도를 높일 수 있으며 메모리 컨트롤러에서 평균 액세스 시간 및 대기 지연을 줄일 수 있다.
본 출원에 개시된 두 비트의 정보를 보유하는 메모리 셀을 포함하는 비트 분리 방식에서, 로우에 있는 모든 메모리 셀의 두 비트는 분리되며, 로우 버퍼는 대응하는 두 페이지 버퍼를 제공하도록 구성된다. 이러한 분리된 비트 방식에서, 멀티-레벨 셀 메모리의 로우 내 두 페이지의 진짜 물리적인 콘텐츠는 임의의 판독 동작을 통해 판독되고 반환될 수 있다. 비트를 분리하는 것은 임의의 추가적인 다이 면적을 필요로 하지 않을 수 있으며 제어 신호 및 버스 조직을 최소한으로 수정하여 구현될 수 있다. 메인 메모리로의 액세스는 두 단계 프로세스이며, 즉, 먼저 뱅크의 로우 디코더가 페이지를 활성화하고 이 페이지를 로우 버퍼에 저장하며; 두 번째로 컬럼 디코더가 로우의 서브셋을 선택하고 이 로우 서브셋을 I/O 감지 증폭기에 전달하는 프로세스이다. 분리에 따르면, 활성 프로세스 동안, 메모리 컨트롤러에 의해 어드레스로부터 디코드된 부가적인 제어 신호는 I/O 감지-증폭기에게 LSB 또는 MSB를 검색할지의 여부를 알려준다. 이러한 프로세스의 오버헤드는 단일의 신호가 감지-증폭기의 전체 로우에 의해 공유될 수 있기 때문에 무시할 수 있다. 또한, 각각의 셀이 단지 하나의 비트에만 기여하기 때문에, 페이지는 절반의 크기가 되지만, 개수에서는 두 배가 된다. 이것은 오버페치(overfetch)를 줄이고 에너지 효율을 개선하는 긍정적인 부작용을 갖는다. 로우 버퍼로부터 캐시 라인을 선택하기 위하여, 비트 판독 횟수는 분리된 비트 방식 및 결합된 비트 방식 양자에서 동일하기 때문에, 본 출원에서 개시된 분리 방식은 전송 시마다 오직 MSB 또는 LSB만이 선택되도록 멀티플렉서를 재구성한다.
특정의 멀티-레벨 메모리에서, 각각의 감지 회로는 모든 비트를 충실하게 판독 또는 저장하기 위하여 셀 내에 저장된 비트 수만큼의 많은 래치를 가져야 한다. 이러한 디자인에서, 셀에 대한 판독 동작은 모든 값을 검색하고 이 값을 그 셀에 대응하는 래치에 저장할 것이다. 유사하게 로우 버퍼 충돌이 있을 때, 모든 래치는 즉시 값을 다시 기록한다.
본 출원에서 개시된 방법 및 아키텍처는 이러한 제약을 완화시켜서 로우 버퍼를 다루는데 있어서 더 많은 융통성을 제공한다. 그러면 메모리 셀의 컬럼에 대응하는 래치는 상이한 셀로부터 오는 값을 저장할 수 있다. 다시 말해서, 비트 라인에 연결된 각각의 래치는 상이한 페이지를 저장할 수 있어서, 효과적으로 로우 버퍼의 개수를 늘리고 로우 버퍼 충돌을 줄일 수 있다.
메모리 컨트롤러에서 경쟁 또는 대기 지연을 해결하기 위해, 개시된 시스템 및 방법은 이종 페이지 버퍼링(Disparate Page Buffering (DPB)) 및 연상 페이지 버퍼링(Associative Page Buffering (APB))을 이용한다. 이종 페이지 버퍼링(DPB)은 동일한 물리적 로우로부터의 논리 페이지만이 로우 버퍼를 점유할 수 있는 제약을 제거한다. 다시 말해서, DPB는 로우 버퍼가 상이한 물리 버퍼로부터의 논리 페이지를 보유할 수 있게 해준다.
연상 페이지 버퍼링(APB)은 하나의 페이지 버퍼가 오직 LSB 비트를 보유하기 위해 고정화되어 있는 반면, 다른 페이지 버퍼는 오직 MSB 비트를 보유하기 위해 고정화되어 있는 제약을 없애준다. 그래서, APB는 두 페이지 버퍼들 중 임의의 버퍼가 로우의 LSB 비트 또는 MSB 비트를 보유할 수 있게 한다. 로우 버퍼 미스 이후 페이지 버퍼의 콘텐츠를 교체할 때, APB는 LSB/MSB 구별에 대응하는 고정화된 페이지 버퍼를 퇴출해야 하는 대신, (로우 버퍼 내 두 페이지 버퍼들 중) 가장 최근에 사용된 페이지 버퍼를 퇴출하는 것을 가능하게 한다. APB는 또한 로우 버퍼 내 상이한 로우로부터의 두 LSB-비트 페이지를 보유하는 것을 가능하게 한다. 그러나, 하나의 MSB-비트 페이지를 페이지 버퍼 내로 읽어들이면 다른 페이지 버퍼의 콘텐츠를 무효화하는 것이므로, 두 MSB-비트 페이지가 버퍼될 수는 없다.
분리를 지원하는 메모리 장치는 이종 페이지 버퍼링을 직접 지원할 수 있다. 감지 회로의 구현에 따라서, 연상 페이지 버퍼링은 재구성된 비트 라인 멀티플렉서를 사용하여, 로우 버퍼 래치에 오직 LSB 또는 MSB 비트 만을 저장하는 제약이 없어지도록 한다. 주된 복잡한 문제는 로우 버퍼 내의 상이한 서브-페이지를 추적하는 메모리 컨트롤러에서 있을 수 있다. 게다가, 라이트 백(write backs)을 스케줄링하면서, 메모리 컨트롤러는 두 LSB 또는 MSB가 셀의 동일한 로우로부터의 값을 저장하는 것을 결정할 수 있다. 만일 아니면, 메모리 컨트롤러는 판독 요청을 명시적으로 스케줄할 수 있다.
도 1은 비트 분리가 구현되는 멀티-레벨 셀 메모리의 실시예의 개략도이다. 도 1의 메모리는 로우와 컬럼으로 구성된다. 메모리 요청은 로우 인덱스 및 데이터에 액세스를 시작하는 로우 내 컬럼의 옵셋을 표시함으로써 그 데이터의 어드레스를 명시한다. 판독 요청에 의거하여, 명시된 로우의 데이터 콘텐츠는 감지 증폭기에 의해 판독되고 로우 버퍼라고 알려진 주변 회로에 래치된다. 그 다음 판독 요청은 데이터를 로우 버퍼로부터 출력 포트로 전송함으로써 서비스된다. 기록 요청의 경우, 입력 포트로부터 들어오는 데이터는 로우 버퍼에 기록된다. 일단 특정 로우의 데이터 콘텐츠가 로우 버퍼에 래치되면, 동일한 로우 내 상이한 컬럼으로의 후속하는 메모리 요청은 로우 버퍼로부터 빠르게 서비스될 수 있다. 그러한 메모리 액세스는 로우 버퍼 히트라고 말하며, 반면 만일 상이한 로우가 요청되고 로우 버퍼의 콘텐츠가 바뀔 필요가 있다면, 이 메모리 액세스는 로우 버퍼 미스라고 말한다. 로우 버퍼 히트의 경우, 주변 회로만이 활용되며, 어떤 액세스도 기반 메모리 셀 어레이에 필요하지 않다. 로우 버퍼 지역성(Row Buffer Locality (RBL))은 로우가 버퍼되는 동안 그 동일한 로우를 재사용하는 것을 말하며, 그래서 로우 버퍼의 콘텐츠를 교체해야 하지 않고 메모리 요청을 효과적으로 서비스할 수 있게 된다.
도 1에서, 도시된 메모리는 멀티-레벨 상전이 메모리(multi-level phase change memory (MLC-PCM))이다. 그러나, MLC-PCM은 단지 예시적인 목적을 위해 도시된 예이며, 다른 메모리 기술이 본 출원에 개시된 분리된 비트 방식을 구현할 수 있다. 도 1의 메모리(100)에서, 비트 분리는 두-비트 MLC-PCM 셀의 두 비트를 나누는 것 또는 분리하는 것을 포함한다. 그러나, MLC-PCM 메모리 셀은 두 비트 이상의 정보를 보유할 수 있다. 아래에서 설명되는 바와 같이, 그러한 비트 분리는 결합된 비트 방식에서 가능하지 않은 LSB 및 MSB 로우 버퍼를 관리함에 있어서 융통성을 제공한다.
도 1에서, 메모리(100)는 메모리 셀(110)의 4x4 어레이(101)를 포함한다. 비록 도 1에서 4x4 어레이가 도시되지만, 메모리(100)는 더 큰 메모리 셀의 어레이를 가질 수 있다. 메모리 셀(110)은 각기 선택 장치(120) 및 메모리 소자(130)와 연관된다.
메모리(100)는 기록 또는 판독 동작 동안 메모리 셀의 특정 로우를 선택하는 컬럼 라인(141-144) 및 로우 라인(151-154)을 포함한다. 컬럼 라인(141-144) 및 로우 라인(151-154)은 이들 라인들이 프로그래밍 또는 판독하는 동안 메모리 셀(110)을 어드레스하는데 사용될 수 있기 때문에 어드레스 라인이라고 지칭되기도 한다. 컬럼 라인(141-144)은 비트 라인이라고도 지칭될 수 있으며 로우 라인(151-154)은 워드 라인이라고도 지칭될 수 있다.
메모리 셀(110)은 I/O 회로(160)에 결합되며, 비트 라인(141-144)으로부터의 데이터 신호는 감지 증폭기(162)에 의해 검출되고 로우 버퍼(도시되지 않음)에 래치된다. 메모리 컨트롤러(165)는 메모리 어레이(101)의 판독 및 기록 동작을 제어한다.
MLC-PCM의 셀을 판독한다는 것은 (적분용) 아날로그-디지털 변환기를 사용하여 MLC-PCM 셀의 저항을 이산적인 (2-비트) 심볼 값으로 양자화하는 것을 포함한다. 심볼 값은 사전-충전된 비트 라인의 전압을 떨어뜨리기 위해 사용된 클럭 사이클 횟수를 측정함으로써 결정될 수 있으며, 클럭 사이클의 횟수는 전하가 통과하여야 하는 셀 저항의 크기에 달려 있다. 따라서, 메모리(100)에서, 판독 대기 시간은 (전하를 최저 속도로 흐르게 하는) 최고의 저항을 가진 셀 상태를 검출하는데 걸리는 시간에 의해 구속된다. N-비트 MLC-PCM의 경우, 이러한 시간은 2N 클럭 사이클 또는 그 이상이다.
그러나, 셀 콘텐츠에 관한 일부 정보는 판독 동작이 완료되기 전에 파악될 수 있다. 예를 들면, 판독 동작을 시작한 후 (2N)/2 사이클의 시점에서, MSB를 결정하는 것이 가능한데, 즉 "11", "10", "01", "00"의 심볼 인코딩 방식 하에서, 만일 메모리 셀 상태가 (2N)/2번째 사이클에 의해 결정되면, MSB는 "1"이다. 그렇지 않으면, LSB과 상관 없이 MSB는 "0"이다.
도 2는 두 개의 래치가 메모리(100)의 셀(110)로부터 두 비트, 특히, LSB 및 MSB를 버퍼하는데 사용되는 것을 보여주는 도 1의 메모리의 양태를 도시한다. 셀의 LSB 및 MSB를 분리하고 분리된 비트를 개별의 논리 페이지에 맵핑함으로써, 도 1의 메모리 어레이(101)와 연관된 로우 버퍼는 도 3에 도시된 바와 같이, 두 페이지 버퍼로서 취급될 수 있다. 도 2에서, 메모리 어레이(101) 내 모든 셀마다 두 개의 래치 중 하나씩은 서로 그룹화되어 하나의 페이지 버퍼, 예를 들면 LSB 페이지 버퍼를 형성한다. 모든 셀 마다 다른 래치는 서로 그룹화되어 다른 페이지 버퍼, 같은 예에서 MSB 페이지 버퍼를 형성한다. 그러므로, 도 2에 도시된 바와 같이, 메모리 셀(110)의 비트 라인(141)은 MSB 래치 또는 LSB 래치에 래치될 수 있는 신호를 제공하는 감지 증폭기(162)에 연결된다.
도 3은 도 1의 메모리(100)에 적용되는 것으로서 분할 페이지 버퍼링의 개략적인 표현을 도시한다. 도 3에서, 비트 라인(141-145)은 데이터를 멀티플렉서(166)를 통하여 페이지 버퍼(0)(210) 및 페이지 버퍼(1)(220)로 나뉘어진 로우 버퍼(200)로 출력한다. 즉, 메모리(100)의 두 래치 중 하나는 다른 메모리 셀(110)의 대응하는 래치와 함께 그룹화되어 페이지 버퍼(210)를 형성하며, 모든 셀(110) 마다 다른 래치들은 서로 그룹화되어 페이지 버퍼(220)를 형성한다. 보다 상세히 말해서, 도시된 분할 페이지 버퍼링 방식에서, 로우 버퍼(200)는 LSB/MSB 차원을 따라서 나뉘어지며 페이지 버퍼(210)는 MSB를 보유하고 페이지 버퍼(220)는 LSB를 보유한다. 로우 버퍼(200)의 이러한 구성은 단일의 큰 로우 버퍼를 이용하는 것과 비교하여 로우 버퍼 히트율(Row Buffer Hit Rate (RBHR) - 로우 버퍼 히트에 해당하는 메모리 액세스의 부분)을 증가시키는 기회를 제공하며, 그럼으로써 더 높은 성능과 에너지 효율을 달성할 수 있다. 이러한 기회는 앞에서 언급된 DPB 및 APB를 이용함으로써 향상된다.
각각의 비트 라인(141-144)은 기준 전압(Vref) 및 비트 라인 전압(Vb1)을 수신하는 감지 증폭기(162)를 포함한다. 감지 증폭기(162)는 클럭 신호(clock)를 수신하는 카운터(164)에 연결된다. 판독 동작이 발생할 때, 클럭은 비트 라인 전압 및 기준 전압이 같아질 때까지 카운트 다운된다. 비트 라인 전압이 기준 전압의 값까지 감소(또는 증가)할 때, 연관된 메모리 셀은 그의 심볼 값을 클럭 신호에 의해 결정된 값으로서 출력한다. 클럭에 의해 측정된 양으로서 시간의 양은 셀의 저항 레벨 또는 심볼 값을 나타낸다. 심볼 값은 로우 버퍼(200) 내에 보유되며, 보다 구체적으로, MSB는 페이지 버퍼 0에 보유되며 LSB는 페이지 버퍼 1에 보유될 수 있다. 반대로, LSB는 페이지 버퍼 0에 그리고 LSB는 페이지 버퍼 1에 보유될 수 있다. 도 3에서, MSB는 페이지 버퍼 1에 보유된다.
도 3에는 또한 메모리 어레이의 추가적인 하드웨어 컴포넌트가 도시되며, 이 하드웨어 컴포넌트는 메모리 컨트롤러(165)에 의해 메모리 셀을 액세스하는데 사용될 수 있으며 데이터를 로우 버퍼(200)로부터 판독하는 메커니즘의 일 예를 구성한다. 추가의 하드웨어 컴포넌트는 페이지 버퍼 0 및 페이지 버퍼 1의 래치 0 및 래치 1 값을 판독하는 멀티플렉서(172)를 포함한다. 멀티플렉서(172)는 메모리 컨트롤러(165)로부터 래치 값들 중 어느 것이 I/O 회로(182)로 출력될 것인지를 결정하는 페이지 버퍼 선택 신호(192)를 수신한다. 로우 버퍼(200)로의 입력에 있는 멀티플렉서(166)도 역시 메모리 셀(110)로부터의 값이 래치(210, 220) 중 어느 래치에 저장될 것인지를 결정하는 페이지 버퍼 선택 신호(192)를 수신한다. 오직 한가지 동작, 즉 로우 버퍼(200) 내에 값을 저장하는 동작 또는 로우 버퍼(200)로부터 값을 판독하는 동작은 따로 따로 발생한다. 그러므로, 이 동작에 의거하여, 즉 로우 버퍼(200)로부터 판독하는 동작 또는 로우 버퍼(200)에 값을 저장하는 동작에 의거하여, 동일한 페이지 버퍼 선택 신호(192)가 값의 흐름을 결정한다.
이종 페이지 버퍼링(DPB)은 동일한 물리적 로우의 논리 페이지만이 로우 버퍼를 점유할 수 있는 제약을 없앤다. 다시 말해서, DPB는 로우 버퍼(200)가 상이한 물리적 로우의 논리 페이지(예를 들면, MSB 페이지 또는 LSB 페이지)를 보유할 수 있게 한다. 개시된 아키텍처 및 방법에 따르면, LSB를 감지하는 것은 단일 래치(예를 들면, 래치 0)를 이용하여 수행될 수 있지만, MSB를 감지하는 것은 두 래치를 이용하는데, 이는 MSB를 보유하는 래치가 심볼의 MSB 값("11", "10", "01", 및 "00")에 이르게 하기 위해 LSB를 보유하는 래치가 메모리 셀의 구별되는 심볼("11", "10", "01", 및 "00")을 카운트 다운하여야 하기 때문이다. 그러므로, LSB는 페이지 버퍼(220)의 콘텐츠에 영향을 주지 않고 페이지 버퍼(210) 내로 읽혀질 수 있다. MSB를 페이지 버퍼(220) 내로 판독하는 것은 페이지 버퍼(210)의 콘텐츠가 무효화되게 할 수 있다. 이러한 발생에 관한 설명은 LSB보다는 MSB를 결정하는데 더 적은 시간이 필요하다는 사실에서 시작한다. 즉, 셀의 콘텐츠를 판독하기 위하여, 감지 증폭기(162)는 도 2에 도시된 바와 같이 비트 라인 및 기준 전압의 신호 레벨들을 비교하며, 카운터는 신호들이 오버랩하는데 걸리는 시간, 즉 도 2의 예에서 알 수 있는 것처럼 시간(t3)에서 발생하여 01이라는 심볼 값을 초래하는 시간을 측정한다. MSB는 카운터가 이진 포맷(도 2를 참조할 것)으로 카운트 다운하기 때문에 더욱 빨리 판독될 수 있다. 예를 들면, t1에서, 값은 1-1이고, t2에서 값은 1-0이고, t3에서 값은 0-1이며, t4에서 값은 0-0이다. 만일 중도에 또는 그 전에 카운트다운이 중단되면, (1-1 또는 1-0 로부터) 첫 비트는 1이다. 마찬가지로, 만일 중도까지 카운트다운이 중단되지 않았으면, (0-1 또는 0-0으로부터) 첫 비트는 분명 0이다. MSB만을 판독하면 LSB가 무효화되는 이유는 MSB이 판독될 때, 첫 비트(즉, MSB)이 결정될 때 카운트다운이 중단되기 때문이다. 그러면, 다른 비트(즉, LSB)가 무시된다. 그래서, 카운트다운의 중도까지 MSB를 판독할 때, MSB가 알려지고, 더 이상의 카운팅이 필요하지 않으며, 카운트다운이 중단된다.
이러한 무효화 제약의 예외는 페이지 버퍼(210 및 220) 내 두 페이지가 동일한 로우로부터 출처된 것일 때(예를 들면, 둘 다 로우(151)로부터 출처된 것일 때)이다. 도 1의 메모리(100)에서, 메모리 컨트롤러(165)는 어느 로우가 로우 버퍼(200) 내로 읽혀지는지 추적하며, 그래서, 메모리 컨트롤러(165)는 페이지 버퍼(210 및 220) 내 MSB 페이지 및 LSB 페이지가 메모리(100)의 동일한 물리적 로우로부터 출처된 때를 "인식" 할 것이다. MSB 비트를 페이지 버퍼(220) 내로 읽어들여 페이지 버퍼(210)의 콘텐츠가 무효화될 때, 메모리 컨트롤러(165)는 아래에서 기술되는 추가 동작을 실행할 수 있다. 이러한 추가적인 동작의 복잡함에도 불구하고, 앞에서 기술된 무효 제약이 있음에도 메모리(100)의 상이한 부분으로부터의 두 페이지를 버퍼할 수 있는 것은 DPB 때문에 발생하는 로우 버퍼 충돌을 줄여주기 때문에 유익할 수 있다.
연상 페이지 버퍼링(APB)은 하나의 페이지 버퍼가 LSB만을 보유하고 반면에 다른 페이지 버퍼가 MSB만을 보유하도록 고정화된 제약을 없애준다. 그래서, APB는 두 페이지 버퍼(210, 220) 중 임의의 버퍼가 로우의 LSB 또는 MSB를 보유할 수 있게 한다. 로우 버퍼 미스 이후 페이지 버퍼의 콘텐츠를 교체할 때, APB는 LSB/MSB 구별에 해당하는 고정화된 페이지 버퍼를 퇴출해야 하는 대신, (로우 버퍼 내 두 페이지 버퍼 중) 가장 최근에 사용된 페이지 버퍼를 퇴출하는 것이 가능하게 한다. 예를 들면, 만일 페이지 버퍼(210)(LSB 페이지 버퍼)가 가장 최근에 사용된 페이지 버퍼이면, 그리고 메모리 컨트롤러(165)가 MSB를 판독하고 있다고 신호하면, APB 하에서, 메모리 컨트롤러(165)는 페이지 버퍼(220)의 콘텐츠 대신 페이지 버퍼(210)의 콘텐츠를 클리어할 것이다. 이 예에서, 로우 버퍼(200)는 두 LSB 페이지를 보유할 것이다. 즉, APB는 로우 버퍼(200) 내의 상이한 로우로부터의 두 LSB 페이지를 보유하는 것을 가능하게 해준다. 그러나, 두 MSB 페이지는 버퍼될 수 없는데, 이것은 앞에서 DPB에 대하여 설명한 바와 같이, MSB 페이지를 페이지 버퍼로 읽어들이면 다른 페이지 버퍼의 콘텐츠가 무효화되기 때문이다.
메모리 컨트롤러(165)를 갖고, 분리를 지원하는 메모리(100)와 같은 메모리 장치는 임의의 하드웨어를 추가하지 않고 이종 페이지 버퍼링을 직접 지원할 수 있다. 그러나, 감지 회로의 구현에 따라서, 연상 페이지 버퍼링은 로우 버퍼 래치 내 LSB 또는 MSB만을 저장하는 제약이 없도록 도 3의 멀티플렉서(166, 172)와 같은 재구성된 비트 라인 멀티플렉서를 사용한다.
그러나 이종/연상 페이지 버퍼링은 로우 버퍼(200) 내의 상이한 페이지(MSB, LSB)의 콘텐츠를 추적하는 메모리 컨트롤러(165)에서 판독 및 기록 요청의 변경을 필요로 할 수 있다. 예를 들면, 라이트백을 스케줄링할 때, 메모리 컨트롤러(165)는 두 LSB 및 MSB 버퍼(210 및 220)가 동일한 메모리 로우로부터의 값을 저장하는지를 결정할 수 있다. 만일 로우 버퍼(200)가 동일한 메모리 로우로부터의 LSB 및 MSB를 저장하지 않으면, 메모리 컨트롤러(165)는 명시적으로 판독 요청을 스케줄할 수 있다. 그러나, 판독 및 기록 프로세스는 버퍼(210 및 220) 중 하나가 더티 비트(dirty bits)를 보유할 때 복잡해진다. 이러한 복잡함은 도 2에 대하여 주목한 바와 같이, 오직 하나의 페이지 버퍼만이 LSB를 판독하는데 필요하되, 두 페이지 버퍼는 MSB를 판독하는데 필요하다는 사실로부터 일부 유래한다. 메모리 로우의 콘텐츠를 업데이트(라이트백)하기 위하여, 로우 버퍼(200)는 동일한 로우로부터의 두 MSB 및 LSB를 보유하여야 한다. 만일 이러한 조건이 기록 요청이 수행되는 시간에 존재하지 않으면, 앞에서 주목한 바와 같이, 메모리 컨트롤러(165)는 명시적으로 메모리 로우로부터 판독을 스케줄할 수 있다. 그러나, 메모리 로우로부터 비트를 판독하면 더티 비트를 로우 버퍼(200)에 오버라이트할 수도 있다. 이러한 문제와 다른 관련된 문제를 방지하기 위하여, 도 4 및 도 5는 APB가 실시될 때 메모리 셀로부터 판독 및 메모리 셀에 기록을 위한 프로세스의 실시예를 도시한다. 도 4 및 도 5의 실시예는 기록 또는 판독으로 인하여 의도하지 않게 더티 데이터를 오버라이트하는 상황을 회피함으로써 데이터 무결성을 보장한다. 구체적으로, 도 4 및 도 5의 실시예는 더티 데이터가 로우 버퍼 쪽으로 보내질 때 동일한 로우의 매칭하는 LSB 및 MSB 데이터는 항시 로우 버퍼에 존재하는 것을 보장한다. 도 6 내지 도 10은 APB가 실시될 때 판독 및 기록 프로세스의 대안의 실시예를 도시한다. 도 6 내지 도 10의 실시예는 또한 더티 데이터의 의도하지 않은 오버라이트가 발생할 수도 있는 상황을 회피한다. 도 6 내지 도 10의 실시예는 더티 LSB 페이지 데이터가 로우 버퍼 쪽으로 보내질 때 동일한 로우의 매칭하는 LSB 및 MSB 데이터가 항시 로우 버퍼 내에 존재하는 것을 보장한다.
도 4 내지 도 10에서, 기록 및 판독 요청은 도 1의 메모리 어레이 및 도 3의 분할 페이지 버퍼 구성을 이용하여 도시된다. 쉬운 설명을 위하여, 도 4 내지 도 10의 예에서, 초기의 판독 및 기록은 메모리 로우(151)에 적용되는 것으로 도시된다.
도 4는 APB가 실시되는 도 1의 메모리 시스템(100)에서 기록 요청의 예를 도시한다. 도 4에서, 방법(400)은 MSB(또는 LSB) 기록 요청이 수행될 때 시작한다. 만일 MSB가 로우 버퍼(200)에 보유되어 있으면, 로우 버퍼 히트가 발생하며, 만일 MSB가 로우 버퍼(200)에 없으면, 로우 버퍼 미스가 발생한다. 블록(410)을 참조한다. 만일, 블록(410)에서, 로우 버퍼 히트가 발생하지 않으면, 방법(400)은 블록(415)으로 이동하며, 메모리 컨트롤러(165)는 기존의 로우 버퍼 콘텐츠가 더티인지를 결정한다. 만일 기존의 로우 버퍼 콘텐츠가 더티가 아니면, 방법(400)은 블록(425)으로 이동한다. 만일 로우 버퍼 콘텐츠가 더티이면, 로우 버퍼(200)가 메모리 로우(151)와 다른 로우로부터의 더티 MSB를 보유하고 있음을 의미하는 것으로, 방법(400)은 블록(420)으로 이동한다. 블록(420)에서, 메모리 컨트롤러(165)는 로우 버퍼(200)의 콘텐츠가 적절한 메모리 로우에 다시 기록되도록 지시한다. 블록(420)에 뒤이어, 방법(400)은 블록(425)으로 이동한다. 블록(425)에서, 로우 버퍼(200)는 지금 비어 있으며, 메모리 컨트롤러(165)는 메모리 로우(151)로부터 판독을 지시한다. 이후 방법(400)은 블록(440)으로 이동한다.
블록(410)으로 되돌아 가서, 만일 로우 버퍼 히트가 발생하면, 방법(400)은 블록(430)으로 이동한다. 블록(430)에서, 메모리 컨트롤러(165)는 로우 버퍼(200)가 동일한 메모리 로우, 예를 들면 메모리 로우(151)의 LSB 및 MSB를 보유하는지를 결정한다. 만일 LSB 및 MSB이 로우(151)로부터 온 것이면, 방법(400)은 블록(440)으로 이동한다. 만일 MSB 및 LSB가 상이한 로우로부터 온 것이면, 방법(400)은 블록(435)으로 이동한다. 블록(435)에서, 메모리 컨트롤러(165)는 앞에서 주목한 바와 같이, 로우 버퍼(200) 내로 로우(151)의 LSB의 판독을 지시하며, 또한 MSB를 판독한다. 블록(405)에서, 만일 MSB 기록 요청 대신, LSB 기록 요청이 수행되면, 블록(435)에서 메모리 컨트롤러(165)는 로우(151)로부터 MSB의 기록을 지시할 것이라는 것을 주목하자. 그런 다음 방법(400)은 블록(440)으로 이동한다. 블록(440)에서, 메모리 컨트롤러(165)는 로우 버퍼(200)로부터 메모리 로우(151)로 데이터의 기록을 지시한다. 이후 방법(400)은 블록(445)으로 이동하고 종료된다.
도 5는 APB가 실시되는 도 1의 메모리 시스템(100)에서 판독 요청의 예를 도시한다. 도 5에서, 방법(450)은 블록(455)에서 MSB 판독 요청으로부터 시작한다. 블록(460)에서, 메모리 컨트롤러(165)는 로우 버퍼 히트가 발생하는지를 결정한다. 만일 로우 버퍼 미스가 발생하면, 방법(450)은 블록(465)으로 이동하며, 메모리 컨트롤러(165)는 만일 로우 버퍼(200) 내의 기존의 비트가 더티인지를 결정한다. 만일 더티 비트가 없으면, 방법(450)은 블록(475)으로 이동한다. 그러나, 만일 로우 버퍼(200) 내에 더티 비트가 있으면, 방법(450)은 블록(470)으로 이동하며 로우 버퍼(200)의 콘텐츠가 적절한 메모리 로우에 쓰여진다. 그런 다음 방법(450)은 블록(475)으로 이동한다. 블록(475)에서, 메모리 컨트롤러(165)는 로우(151)로부터 MSB 판독을 지시한다. 블록(455)에서, 만일 MSB 판독 요청이 수행되는 대신, LSB 판독 요청이 수행되면, 블록(475)에서, 로우(151)의 LSB는 로우 버퍼(200) 내로 읽혀질 것이다. 블록(475) 다음으로, 방법(450)은 블록(480)으로 이동한다.
블록(460)으로 되돌아가서, 만일 로우 버퍼 히트가 발생하면, 방법(450)은 블록(480)으로 이동한다. 블록(480)에서, 요청된 데이터가 로우 버퍼(200)로부터 전달된다. 그런 다음 방법(450)은 블록(485)에서 끝난다.
도 6 내지 도 10은 도 3의 로우 버퍼 구조를 갖는 도 1의 메모리(100)에서 APB가 실시될 때 대안의 판독 및 기록 프로세스를 도시한다. 예시적인 프로세스에서, 초기의 판독 및 기록 요청은 메모리 로우(151)에 적용되는 것으로 도시된다.
도 6은 LSB 기록 방법(600)을 도시하며, 이 방법은 블록(605)에서 LSB 기록 요청이 메모리 컨트롤러(165)를 통해 수행될 때 시작한다. 블록(610)에서, 메모리 컨트롤러(165)는 페이지 버퍼(210)가 메모리 로우(151)의 LSB를 보유하는 것을 의미하는 로우 버퍼 히트가 발생하는지를 결정한다. 블록(610)에서, 로우 버퍼 히트가 없으면, 로우(151)의 LSB는 페이지 버퍼(210)에 보유되어 있지 않다. 이 경우, 방법(600)은 블록(615)으로 이동하며, 메모리 컨트롤러(165)는 기존의 로우 버퍼 콘텐츠가 더티인지를 결정한다. 만일 기존의 로우 버퍼 콘텐츠가 더티가 아니면, 로우 버퍼(200) 내 LSB 및 MSB는 데이터의 손실없이 오버라이트될 수 있다. 따라서, 방법(600)은 블록(620)으로 이동하며 메모리 컨트롤러(165)는 로우(151)의 LSB 및 MSB가 로우 버퍼(200) 내로 읽혀질 것을 지시한다. 그러나, 블록(615)에서, 기존의 로우 버퍼 콘텐츠가 더티이면, 방법(600)은 블록(800)으로 이동하며, 메모리 컨트롤러(165)는 로우 버퍼(200)의 콘텐츠가 다시 메모리 어레이(100)에 기록되도록 지시한다. 도 10은 블록(800)의 라이트백 프로세스를 도시한다.
블록(610)으로 되돌아 가서, 만일 LSB 기록 요청을 수행할 때 로우 버퍼 히트가 있으면, 방법(600)은 블록(625)으로 이동하며, 메모리 컨트롤러(165)는 로우 버퍼(200)가 동일한 로우로부터의 LSB 및 MSB(이 예에서는 메모리 로우(151)로부터의 LSB 및 MSB)를 보유하고 있는지를 결정한다. 만일 로우 버퍼가 로우(151)로부터의 LSB 및 MSB를 보유하고 있으면, 방법(600)은 블록(635)으로 이동한다. 그러나, 로우 버퍼(200)가 로우(151)로부터의 LSB 및 MSB를 보유하고 있지 않으면, 방법(600)은 블록(630)으로 이동한다. 블록(630)에서, 메모리 컨트롤러(165)는 로우(151)로부터 로우 버퍼(200) 내로, 더 구체적으로는 페이지 버퍼(220) 내로 MSB의 판독을 지시한다. 블록(630) 프로세스에 뒤이어, 방법(600)은 블록(635)으로 이동한다. 블록(635)에서, 메모리 컨트롤러는 로우(151)로부터 로우 버퍼(200) 내에, 구체적으로는 페이지 버퍼(210) 내에 LSB를 기록한다. 그런 다음 방법(600)은 블록(640)으로 이동하여 종료된다.
도 7은 예시적인 LSB 판독 프로세스를 도시한다. 도 7에서, LSB 판독 방법(650)은 블록(655)에서 메모리 컨트롤러(165)가 메모리 로우(151) 내 LSB를 판독하는 LSB 판독 요청을 수행할 때 시작한다. 블록(660)에서, 메모리 컨트롤러(165)는 로우(151)의 LSB가 이미 로우 버퍼(200)에 보유되어 있음을 의미하는 로우 버퍼 히트가 있는지를 결정한다. 로우 버퍼 히트가 없는 경우, 방법(650)은 블록(670)으로 이동한다. 블록(670)에서, 메모리 컨트롤러(165)는 로우 버퍼(200)가 더티 LSB를 보유하고 있는지를 결정한다. 만일 로우 버퍼(200)가 더티 LSB를 보유하고 있지 않으면, 방법(650)은 블록(675)으로 이동한다. 그러나, 만일 로우 버퍼(200)가 더티 LSB를 보유하고 있으면, 방법(650)은 블록(800)으로 이동하며, 메모리 컨트롤러(165)는 도 10에서 상세하게 도시된 라이트백 프로세스를 지시한다. 블록(800)에 뒤이어, 방법(650)은 블록(675)으로 이동한다. 블록(675)에서, 로우(151)의 LSB는 로우 버퍼(200) 내로 읽혀진다. 블록(675)에 뒤이어, 방법(650)은 블록(680)으로 이동한다.
블록(660)으로 되돌아 가서, 만일 로우 버퍼 히트가 있으면, 방법(650)은 블록(680)으로 이동한다. 블록(680)에서, 요청된 데이터는 로우 버퍼(200)로부터 전달된다. 그런 다음 방법(650)은 블록(685)으로 이동하고 종료된다.
도 8은 예시적인 MSB 기록 프로세스를 도시한다. 도 7에서, MSB 기록 방법(700)은 블록(705)에서 메모리 컨트롤러(165)가 MSB 기록 요청을 수행할 때 시작한다. 블록(710)에서 메모리 컨트롤러(165)는 먼저 로우 버퍼 히트 조건이 존재하는지를 결정한다. 만일 로우 버퍼 히트가 없으면, 방법(700)은 블록(715)으로 이동하며, 메모리 컨트롤러(165)는 기존의 로우 버퍼 콘텐츠가 더티인지를 결정한다. 만일 기존의 로우 버퍼 콘텐츠가 더티가 아니면, 방법(700)은 블록(720)으로 이동한다. 그러나, 기존의 로우 버퍼 콘텐츠가 더티이면, 방법(700)은 블록(800)으로 이동한다. 블록(800)에서, 메모리 컨트롤러(165)는 도 10에 상세하게 도시된 라이트백 프로세스를 지시한다. 그런 다음 방법(700)은 블록(720)으로 이동한다. 블록(720)에서, 메모리 컨트롤러(165)는 로우 버퍼(200) 내로 로우(151)의 MSB의 판독을 지시한다. 이후, 방법(700)은 블록(725)으로 이동한다.
블록(710)으로 되돌아 가서, 만일 로우 버퍼 히트가 발생하면, 방법(700)은 블록(725)으로 이동한다. 블록(725)에서, 메모리 컨트롤러(165)는 로우 버퍼(200)에 데이터 기록하기를 지시한다. 그런 다음 방법(700)은 블록(730)으로 이동하고 종료된다.
도 9는 메모리 로우(151)의 MSB를 판독하는 요청이 수행되는 예시적인 MSB 판독 프로세스를 도시한다. 도 9에서, 방법(750)은 블록(755)에서 메모리 로우(151)에 대한 MSB 판독 요청으로부터 시작한다. 블록(760)에서, 메모리 컨트롤러(165)는 로우 버퍼 히트가 있는지를 결정한다. 아무런 로우 버퍼 히트도 없으면, 방법(750)은 블록(765)으로 이동한다. 블록(765)에서, 메모리 컨트롤러(165)는 만일 로우 버퍼(200)의 기존의 콘텐츠가 더티인지를 결정한다. 만일 로우 버퍼(200)가 더티 비트를 보유하고 있지 않으면, 방법(750)은 블록(770)으로 이동한다. 그러나, 로우 버퍼(200)가 더티 비트를 보유하고 있으면, 방법(750)은 블록(800)으로 이동하며, 메모리 컨트롤러(165)는 도 10에서 자세하게 도시된 라이트백 프로세스를 지시한다. 블록(800)에 뒤이어, 방법(750)은 블록(770)으로 이동한다. 블록(770)에서, 로우(151)의 MSB는 로우 버퍼(200) 내로 읽혀진다. 블록(770)에 뒤이어, 방법(750)은 블록(775)으로 이동한다.
블록(760)으로 되돌아 가서, 만일 아무 로우 버퍼 히트도 없으면, 방법(750)은 블록(775)으로 이동한다. 블록(775)에서, 요청 데이터는 로우 버퍼(200)로부터 전송된다. 이후 방법(750)은 블록(780)으로 이동하고 종료된다.
도 10은 라이트백 프로세스의 예를 도시한다. 도 10에서, 라이트백 방법(800)은 블록(805)에서 메모리 컨트롤러(165)가 판독 및 기록 프로세스에서 로우 버퍼(200)의 일부 콘텐츠가 더티라고 결정(도 6 내지 도 9의 블록(615, 670, 715, 및 765)을 각기 참조할 것) 한 후에 시작한다. 블록(810)에서, 메모리 컨트롤러(165)는 만일 로우 버퍼(200)가 동일한 메모리 로우의 LSB 및 MSB를 보유하고 있는지를 결정한다. 만일 로우 버퍼(200)가 동일한 메모리 로우의 LSB 및 MSB를 보유하고 있지 않으면, 방법(800)은 블록(815)으로 이동하며, 메모리 컨트롤러(165)는 로우 버퍼(200) 내 MSB에 대응하는 메모리 로우의 LSB의 판독을 지시한다. 이 동작은 LSB 페이지가 (또는 매칭하는 LSB 및 MSB 페이지가 모두) 더티인 경우, 매칭하는 MSB 페이지가 틀림없이 로우 버퍼(200) 내에 이미 버퍼되어 있기 때문에 임의의 더티 데이터를 오버라이트하지 않을 것이며, 방법(800)은 블록(820)으로 진행할 것이다. 그러나, 오직 MSB 페이지만이 버퍼되어 있고 더티이면, 로우 버퍼(200)의 다른 래치 어레이는 더티이고 버퍼된 MSB 페이지의 메모리 로우와 상이한 메모리 로우로부터의 클린(clean) LSB 페이지를 보유하고 있을 수 있다. 이러한 후자의 조건이 존재할 수 있으며, 그러한 경우, 더티 MSB 페이지를 다시 기록하기 위하여, 그의 매칭하는 LSB 페이지는 단일의 래치 어레이(두 페이지 버퍼에 반대되는 한 페이지 버퍼)를 이용하여 로우 버퍼(200) 내로 읽혀질 수 있다. 그래서, 블록(815)의 판독 동작은 임의의 더티 비트를 오버라이트하지 않을 것이다. 블록(810) 또는 (815)에 뒤이어, 방법(800)은 블록(820)으로 이동한다. 블록(820)에서, 기존의 로우 버퍼 콘텐츠가 메모리 어레이에 기록된다. 그런 다음 방법(800)은 블록(825)으로 이동하며 종료된다.
그러므로, 도 4 및 도 5는 APB를 실시하는 메모리에서 판독 및 기록 프로세스에 관한 일 실시예를 도시하며, 도 6 내지 도 10은 다른 실시예를 도시한다. 두 실시예가 데이터의 손실 또는 손상 없이 판독 및 기록 동작을 제공할 것이지만, 도 6 내지 도 10의 실시예는 상이한 메모리 로우로부터의 페이지가 버퍼되는 정도를 높일 수 있는 잠재적인 장점을 갖고 있으며, 그럼으로써 로우 버퍼 히트율을 높일 수 있다. 그러나, 동일한 실시예는 판독 또는 기록 요청을 수행하는 최악의 경우를 고려한 지연을 증가시킬 수 있다. 이것은 로우 버퍼로부터 메모리 어레이로 라이트백을 수행하기 때문이며, 로우 버퍼 콘텐츠는 이들 콘텐츠가 동일한 로우로부터 온 것인지를 보장하기 위해 검사를 받아야 하며, 그리고 만일 로우 버퍼 콘텐츠가 동일한 로우로부터 온 것이 아니면, (로우 버퍼 내 매칭하는 LSB 및 MSB를 갖기 위해) 어레이로부터 추가적인 판독이 이루어진다. 대조적으로, 도 4 및 도 5의 실시예에서, LSB 및 MSB 페이지는 로우 버퍼 내에 더티 데이터가 있을 때마다 동일한 로우의 페이지를 갖는 것으로 제약된다.
Claims (15)
- 둘 이상의 정보 비트를 저장하는 메모리 셀과,
상기 메모리 셀에 결합된 감지 회로 - 상기 감지 회로는 상기 메모리 셀로부터 판독하고 상기 메모리 셀에 기록하도록 동작함 - 와,
제 1 페이지 버퍼 및 제 2 페이지 버퍼를 갖는 분할 페이지 버퍼(a split page buffer)를 포함하는 로우 버퍼 구조 - 상기 감지 회로는 제 1 비트를 상기 제 1 페이지 버퍼 및 상기 제 2 페이지 버퍼 중 하나의 버퍼 내에 배치하며, 상기 감지 회로는 제 2 비트를 상기 제 1 페이지 버퍼 및 상기 제 2 페이지 버퍼 중 하나의 버퍼 내에 배치함 - 를 포함하고,
상기 로우 버퍼 구조는,
상기 분할 페이지 버퍼에 저장하도록 상기 제 1 비트 및 상기 제 2 비트 중 하나를 선택하는데 사용되는 로우 버퍼 입력 멀티플렉서와,
상기 제 1 페이지 버퍼 및 상기 제 2 페이지 버퍼 중 하나를 선택하는데 사용되는 로우 버퍼 출력 멀티플렉서와,
입력 버퍼 및 출력 버퍼의 동작을 결정하는 페이지 버퍼 선택 신호를 더 포함하는
멀티-레벨 셀 메모리.
- 제 1 항에 있어서,
상기 로우 버퍼는 최하위 비트/최상위 비트 방향(the least significant bit/most significant bit direction)으로 두 개의 논리 페이지로 분할되는
멀티-레벨 셀 메모리.
- 제 2 항에 있어서,
메모리의 제 1 물리적 로우(physical row)로부터의 논리 페이지 및 메모리의 제 2 물리적 로우로부터의 논리 페이지는 상기 제 1 페이지 버퍼 내에 보유되는
멀티-레벨 셀 메모리.
- 제 1 항에 있어서,
상기 제 1 비트는 LSB 비트이고 상기 제 2 비트는 MSB 비트이며, 상기 LSB 비트는 상기 제 1 페이지 버퍼 내에 배치되고 상기 MSB는 상기 제 2 페이지 버퍼 내에 배치되는
멀티-레벨 셀 메모리.
- 제 1 항에 있어서,
상기 제 1 비트는 제 1 물리적 로우로부터의 LSB 비트이고 상기 제 2 비트는 제 2 물리적 로우로부터의 LSB 비트이며, 상기 제 1 물리적 로우로부터의 LSB 비트 및 상기 제 2 물리적 로우로부터의 LSB 비트는 동일한 페이지 버퍼 내에 배치되는
멀티-레벨 셀 메모리.
- 제 1 항에 있어서,
상기 제 1 비트 및 상기 제 2 비트는 별개의 논리 페이지에 맵핑되는
멀티-레벨 셀 메모리.
- 제 1 항에 있어서,
상기 메모리 셀의 두 개의 래치 중 하나는 상기 메모리의 다른 메모리 셀의 두 개의 래치 중 하나와 그룹화되어 상기 제 1 페이지 버퍼를 형성하며 상기 메모리 셀의 상기 두 개의 래치 중 다른 하나는 다른 메모리 셀의 두 개의 래치 중 다른 하나와 그룹화되어 상기 제 2 페이지 버퍼를 형성하는
멀티-레벨 셀 메모리.
- 삭제
- 복수개의 멀티-레벨 셀 - 각각의 셀은 복수의 정보 비트를 보유함 - 과,
상기 셀에 결합된 로우 버퍼 - 상기 로우 버퍼는,
상기 복수개의 멀티-레벨 셀의 각각으로부터 제 1 정보 비트를 래치하는 제 1 페이지 버퍼와,
각기 상기 복수개의 멀티-레벨 셀의 각각으로부터 추가 정보 비트 중 하나를 래치하는 복수개의 추가 페이지 버퍼를 포함함 - 와,
상기 제 1 페이지 버퍼 및 상기 추가 페이지 버퍼 중 하나를 선택하여 정보 비트를 래치하는 주변 회로를 포함하는
멀티-레벨 셀 메모리.
- 제 9 항에 있어서,
상기 주변 회로는 상기 제 1 페이지 버퍼의 래치 및 각각의 상기 추가 페이지 버퍼의 래치에 결합된 멀티플렉서를 포함하며,
상기 메모리는 메모리 컨트롤러를 더 포함하고, 상기 메모리 컨트롤러는 어느 래치를 선택하는지를 명시하는 페이지 버퍼 선택 신호 회로를 포함하며, 상기 페이지 버퍼는 상기 멀티-레벨 셀 메모리의 상이한 로우로부터의 정보 비트를 보유하는
멀티-레벨 셀 메모리.
- 멀티-레벨 셀 메모리를 버퍼링하는 방법으로서,
상기 메모리의 요청된 로우에 대한 액세스 요청을 수신하는 단계 - 상기 메모리는 로우 버퍼를 포함하며, 상기 로우 버퍼는 제 1 페이지 버퍼 및 제 2 페이지 버퍼를 포함함 - 와,
로우 버퍼 히트가 발생하는지 여부를 결정하는 단계와,
만일 로우 버퍼 히트가 발생하면, 상기 액세스 요청을 완료하는 단계를 포함하는
방법.
- 제 11 항에 있어서,
상기 액세스는 MSB 기록 요청이며, 상기 로우 버퍼 히트는 발생하지 않으며, 상기 방법은,
상기 로우 버퍼의 기존의 콘텐츠가 더티(dirty)인지 여부를 결정하는 단계를 더 포함하며,
만일 기존의 로우 버퍼 콘텐츠가 더티가 아니면, 상기 방법은 요청된 로우의 LSB 및 MSB를 상기 로우 버퍼 내로 판독하는 단계를 포함하며,
만일 기존의 로우 버퍼 콘텐츠가 더티이면, 상기 방법은,
상기 기존의 로우 버퍼 콘텐츠를 상기 메모리에 기록하는 단계와,
상기 요청된 로우의 LSB 및 MSB를 상기 로우 버퍼 내로 판독하는 단계를 포함하는
방법.
- 제 11 항에 있어서,
상기 액세스는 MSB 기록 요청이며, 상기 로우 버퍼 히트가 발생하며, 상기 방법은,
상기 로우 버퍼가 동일한 로우의 LSB 및 MSB를 보유하고 있는지 여부를 결정하는 단계를 더 포함하며,
만일 상기 로우 버퍼가 상기 동일한 로우의 LSB 및 MSB를 보유하고 있지 않으면, 상기 방법은,
상기 요청된 로우의 상기 LSB를 상기 로우 버퍼 내로 판독하는 단계와,
데이터를 상기 로우 버퍼 내에 기록하는 단계를 포함하며,
만일 상기 로우 버퍼가 상기 동일한 로우의 LSB 및 MSB를 보유하고 있으면, 상기 방법은 데이터를 상기 로우 버퍼 내에 기록하는 단계를 포함하는
방법.
- 제 11 항에 있어서,
상기 액세스는 LSB 기록 요청이며, 상기 로우 버퍼 히트는 발생하지 않으며, 상기 방법은,
상기 로우 버퍼의 기존의 콘텐츠가 더티인지 여부를 결정하는 단계를 더 포함하며,
만일 상기 로우 버퍼의 기존의 콘텐츠가 더티이면, 상기 방법은,
상기 기존의 콘텐츠를 상기 메모리 내에 기록하는 단계와,
상기 요청된 로우의 LSB 및 MSB를 상기 로우 버퍼 내로 판독하는 단계와,
기록 데이터를 상기 로우 버퍼 내에 배치하는 단계를 포함하며,
만일 상기 로우 버퍼의 상기 기존의 콘텐츠가 더티가 아니면, 상기 방법은,
상기 요청된 로우의 LSB 및 MSB를 상기 로우 버퍼 내로 판독하는 단계와,
기록 데이터를 상기 로우 버퍼 내에 배치하는 단계를 포함하는
방법.
- 제 14 항에 있어서,
상기 기존의 콘텐츠를 상기 메모리 내에 기록하는 단계는,
상기 로우 버퍼가 동일한 로우의 LSB 및 MSB를 보유하고 있는지 여부를 결정하는 단계를 포함하며,
만일 상기 로우 버퍼가 상기 LSB 및 상기 MSB를 보유하고 있지 않으면,
상기 로우 버퍼 내 상기 MSB의 로우에 대응하는 로우의 LSB를 판독하는 단계와,
상기 로우 버퍼의 기존의 콘텐츠를 상기 메모리에 기록하는 단계와,
상기 로우 버퍼가 상기 동일한 로우의 LSB 및 MSB를 보유하고 있으면,
상기 로우 버퍼의 상기 기존의 콘텐츠를 상기 메모리에 기록하는 단계를 포함하는
방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/044575 WO2014003755A1 (en) | 2012-06-28 | 2012-06-28 | Multi-level cell memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150015012A KR20150015012A (ko) | 2015-02-09 |
KR101656599B1 true KR101656599B1 (ko) | 2016-09-09 |
Family
ID=49783692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147036603A KR101656599B1 (ko) | 2012-06-28 | 2012-06-28 | 멀티-레벨 셀 메모리 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9443580B2 (ko) |
EP (1) | EP2867897B1 (ko) |
KR (1) | KR101656599B1 (ko) |
CN (1) | CN104380383B (ko) |
TW (1) | TWI578317B (ko) |
WO (1) | WO2014003755A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016171875A1 (en) | 2015-04-03 | 2016-10-27 | Massachusetts Institute Of Technology | Current crowding in three-terminal superconducting devices and related methods |
KR102285785B1 (ko) | 2015-06-02 | 2021-08-04 | 삼성전자 주식회사 | 저항성 메모리 장치 및 상기 저항성 메모리 장치를 포함하는 메모리 시스템 |
KR102356523B1 (ko) | 2015-08-04 | 2022-02-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170054182A (ko) | 2015-11-09 | 2017-05-17 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US10068636B2 (en) * | 2016-12-30 | 2018-09-04 | Intel Corporation | Apparatuses and methods for accessing and scheduling between a plurality of row buffers |
US10163481B1 (en) | 2017-07-20 | 2018-12-25 | Micron Technology, Inc. | Offset cancellation for latching in a memory device |
US11200947B2 (en) | 2018-02-05 | 2021-12-14 | Massachusetts Institute Of Technology | Superconducting nanowire-based programmable processor |
US11017841B2 (en) | 2019-03-05 | 2021-05-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, operating method of nonvolatile memory device, and storage device including nonvolatile memory device |
US11031071B2 (en) | 2019-03-05 | 2021-06-08 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, operating method of nonvolatile memory device, and storage device including nonvolatile memory device |
TWI712052B (zh) * | 2019-12-11 | 2020-12-01 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法、儲存控制器與儲存裝置 |
TWI724895B (zh) * | 2020-05-11 | 2021-04-11 | 力旺電子股份有限公司 | 具多階型記憶胞陣列之非揮發性記憶體及其相關編程控制方法 |
US11557338B2 (en) * | 2020-10-13 | 2023-01-17 | Ememory Technology Inc. | Non-volatile memory with multi-level cell array and associated program control method |
US11894065B2 (en) | 2022-01-05 | 2024-02-06 | Macronix International Co., Ltd. | Three-dimensional memory device |
TWI811940B (zh) * | 2022-01-05 | 2023-08-11 | 旺宏電子股份有限公司 | 三維記憶體裝置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100787856B1 (ko) | 2006-11-29 | 2007-12-27 | 한양대학교 산학협력단 | 플래시 메모리 저장장치의 페이지 교체 방법 |
US20090040836A1 (en) | 2007-08-09 | 2009-02-12 | Samsung Electronics Co., Ltd. | NAND flash memory device and method of programming the same |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570795B1 (en) | 2002-04-10 | 2003-05-27 | Hewlett-Packard Development Company, L.P. | Defective memory component of a memory device used to represent a data bit in a bit sequence |
KR100648286B1 (ko) * | 2005-07-04 | 2006-11-23 | 삼성전자주식회사 | 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치 |
KR100773400B1 (ko) * | 2006-10-26 | 2007-11-05 | 삼성전자주식회사 | 멀티 비트 플래시 메모리 장치 |
KR20080038932A (ko) * | 2006-10-31 | 2008-05-07 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 페이지 버퍼 및 이를 이용한프로그램 방법 |
US7729165B2 (en) | 2007-03-29 | 2010-06-01 | Flashsilicon, Incorporation | Self-adaptive and self-calibrated multiple-level non-volatile memories |
US8068365B2 (en) * | 2008-02-04 | 2011-11-29 | Mosaid Technologies Incorporated | Non-volatile memory device having configurable page size |
WO2009097681A1 (en) * | 2008-02-04 | 2009-08-13 | Mosaid Technologies Incorporated | Flexible memory operations in nand flash devices |
KR101003935B1 (ko) * | 2009-02-26 | 2010-12-30 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자의 페이지 버퍼 회로 및 그 동작 방법 |
KR101678886B1 (ko) | 2009-11-25 | 2016-11-23 | 삼성전자주식회사 | 멀티-레벨 상변환 메모리 장치 및 그 구동 방법 |
TWI449170B (zh) | 2009-12-29 | 2014-08-11 | Ind Tech Res Inst | 相變化記憶體裝置及其製造方法 |
KR101736792B1 (ko) * | 2010-09-20 | 2017-05-18 | 삼성전자주식회사 | 플래시 메모리 및 그것의 셀프 인터리빙 방법 |
-
2012
- 2012-06-28 EP EP12880177.6A patent/EP2867897B1/en active Active
- 2012-06-28 KR KR1020147036603A patent/KR101656599B1/ko active IP Right Grant
- 2012-06-28 CN CN201280074302.2A patent/CN104380383B/zh active Active
- 2012-06-28 US US14/408,512 patent/US9443580B2/en active Active
- 2012-06-28 WO PCT/US2012/044575 patent/WO2014003755A1/en active Application Filing
-
2013
- 2013-06-28 TW TW102123260A patent/TWI578317B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100787856B1 (ko) | 2006-11-29 | 2007-12-27 | 한양대학교 산학협력단 | 플래시 메모리 저장장치의 페이지 교체 방법 |
US20090040836A1 (en) | 2007-08-09 | 2009-02-12 | Samsung Electronics Co., Ltd. | NAND flash memory device and method of programming the same |
Non-Patent Citations (1)
Title |
---|
HanBin Yoon et al., data mapping for higher performance and energy efficiency in multi-level change memory |
Also Published As
Publication number | Publication date |
---|---|
EP2867897A1 (en) | 2015-05-06 |
KR20150015012A (ko) | 2015-02-09 |
EP2867897A4 (en) | 2016-02-17 |
US20150162078A1 (en) | 2015-06-11 |
TWI578317B (zh) | 2017-04-11 |
WO2014003755A1 (en) | 2014-01-03 |
EP2867897B1 (en) | 2020-01-22 |
CN104380383B (zh) | 2018-05-15 |
CN104380383A (zh) | 2015-02-25 |
US9443580B2 (en) | 2016-09-13 |
TW201407613A (zh) | 2014-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101656599B1 (ko) | 멀티-레벨 셀 메모리 | |
Mittal et al. | A survey of architectural approaches for managing embedded DRAM and non-volatile on-chip caches | |
CN105103235B (zh) | 具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器 | |
US5752260A (en) | High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses | |
CN109983536B (zh) | 响应标签匹配命令的存储电路 | |
KR100591218B1 (ko) | 메모리의 리프레시 은닉 및 리프레시 은닉 메모리 | |
CN109923530A (zh) | 混合式存储器中的数据重新定位 | |
US8954672B2 (en) | System and method for cache organization in row-based memories | |
EP3757800A1 (en) | Memory system, computing system, and methods thereof | |
CN110362507A (zh) | 存储器控制设备和包括该设备的存储器系统 | |
KR20140067819A (ko) | 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템 | |
JP5338859B2 (ja) | 記憶装置および情報処理システム | |
US9128850B2 (en) | Multi-ported memory with multiple access support | |
Yoon et al. | Techniques for data mapping and buffering to exploit asymmetry in multi-level cell (phase change) memory | |
Kim et al. | NAND flash memory with multiple page sizes for high-performance storage devices | |
US20050013181A1 (en) | Assisted memory device with integrated cache | |
US20040030835A1 (en) | Efficient cache organization for way-associativity and high refill and copy-back bandwidth | |
Zhang | Improving Data Movement Efficiency in the Memory Systems for Irregular Applications | |
KR101831226B1 (ko) | 차세대 메모리로 구성된 캐시의 제어 장치 및 그 방법 | |
Lin | Mitigating bank conflicts in main memory via selective data duplication and migration | |
Raghunathan et al. | A novel scheduling algorithm for phase change memory based main memory system with multiple ranks | |
Chen et al. | Design and operational assessment of an intra-cell hybrid L2 cache | |
WO2024054448A1 (en) | Split-entry dram cache | |
KR20220066402A (ko) | 자가-적응형 웨어 레벨링 방법 및 알고리즘 | |
Chen | Towards High-Efficiency Data Management In the Next-Generation Persistent Memory System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |