KR20110024147A - 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법 - Google Patents
저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법 Download PDFInfo
- Publication number
- KR20110024147A KR20110024147A KR1020090082030A KR20090082030A KR20110024147A KR 20110024147 A KR20110024147 A KR 20110024147A KR 1020090082030 A KR1020090082030 A KR 1020090082030A KR 20090082030 A KR20090082030 A KR 20090082030A KR 20110024147 A KR20110024147 A KR 20110024147A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- cache memory
- host
- read
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템이 개시된다. 메모리 시스템은 저항성 메모리 장치, 캐쉬 메모리 및 호스트를 포함한다. 호스트는 저항성 메모리 장치에 데이터를 기입하고, 동시에 데이터에 관한 프로그램 정보를 캐쉬 메모리에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 저항성 메모리 장치로부터 데이터를 독출하는 대신에 캐쉬 메모리로부터 데이터에 관한 프로그램 정보를 독출한다. 따라서, 메모리 시스템은 동작속도가 빠르다.
Description
본 발명은 메모리 시스템에 관한 것으로, 특히 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 데이터를 저장하는 데 사용되며, 크게 휘발성 반도체 메모리 장치와 비휘발성 반도체 메모리 장치로 나누어진다. 휘발성 반도체 메모리 장치는 커패시터의 충전 또는 방전에 의해 데이터가 저장된다. RAM(Random Access Memory) 등의 휘발성 반도체 메모리 장치는 전원이 인가되는 동안 데이터가 저장되고 읽혀지며, 전원이 차단되면 데이터는 손실된다. 휘발성 메모리 장치로서 주로 컴퓨터의 메인 메모리 장치로 사용된다.
비휘발성 반도체 메모리 장치는 전원이 차단되어도 데이터를 저장할 수 있다. 비휘발성 반도체 메모리 장치는 컴퓨터, 휴대용 통신기기 등 넓은 범위의 응용에서 프로그램 및 데이터를 저장하는 데 사용된다.
반도체 메모리 장치의 고용량화 및 저전력화의 요구에 따라 비휘발성(non-volatile)이며 리프레쉬(refresh)가 필요 없는 차세대 메모리 장치들이 연구되고 있다. 현재 각광을 받고 있는 차세대 메모리 장치로서는 상변화 물질을 이용하는 PRAM(Phase Change Random Access Memory), 전이금속 산화물 등의 가변저항 특성을 갖는 물질을 이용한 RRAM(Resistive Random Access Memory)과 강자성 물질을 이용한 MRAM(Magnetic Random Access Memory) 등이 있다. 차세대 메모리 장치를 구성하는 물질들의 공통점은 전류 또는 전압에 다라 그 저항 값이 가변되며, 전류 또는 전압이 사라져도 그 저항 값을 그대로 유지하는 비휘발성 특성으로 리프레쉬가 필요 없다는 것이다.
이러한 저항성 메모리 장치에서, 단위 메모리 셀은 하나의 가변저항 소자와 하나의 스위칭 소자로 이루어지고, 가변저항 소자는 비트 라인과 스위칭 소자 사이에 연결되며, 스위칭 소자는 일반적으로 가변저항 소자와 워드 라인 사이에 연결된다. 저항성 메모리 장치는 이러한 단위 메모리 셀들로 구성된 가변 저항 메모리 셀 어레이를 포함한다.
저항성 메모리 장치는 메모리 셀을 구성하는 가변저항 소자의 종류에 따라 PRAM, RRAM, MRAM 등으로 분류될 수 있다. 예를 들어, 가변저항 소자가 상변화(phase change) 물질(GST, Ge-Sb-Te)로서 온도에 따라 저항이 변화하는 경우에는 저항성 메모리 장치는 PRAM이 될 수 있다. 가변저항 소자가 상부 전극, 하부 전극, 및 그 사이에 있는 전이금속 산화물(complex metal oxide)로 형성된 경우에는 저항성 메모리 장치는 RRAM이 될 수 있다. 가변저항 소자가 자성체의 상부 전극, 자성 체의 하부 전극, 및 그 사이에 있는 유전체(dielectric material)로 형성된 경우에는 저항성 메모리 장치는 MRAM이 될 수 있다.
그런데, PRAM 등의 저항성 메모리 장치는 프로그램 동작, 즉 기입 동작을 수행한 후 일정 시간이 지난 후에 액티브 동작, 즉 독출 동작을 수행할 수 있다. 이런 현상을 저항 드리프트(resistance drift)라 부르고, 프로그램 동작과 액티브 동작 사이의 시간을 프로그램-투-액티브 시간(tPTA)이라 부른다. PRAM 등의 저항성 메모리 장치는 저항 드리프트 현상 때문에 동작 속도를 향상시키는 데 한계가 있다.
본 발명의 목적은 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템을 제공하는 것이다.
본 발명의 다른 목적은 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템의 데이터 처리 방법을 제공하는 것이다.
상기 목적을 달성하기 위하여 본 발명의 하나의 실시형태에 따른 메모리 시스템은 저항성 메모리 장치, 캐쉬 메모리 및 호스트를 포함한다.
호스트는 상기 저항성 메모리 장치에 제 1 데이터를 기입하고, 동시에 상기 제 1 데이터에 관한 프로그램 정보를 상기 캐쉬 메모리에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 상기 저항성 메모리 장치로부터 상기 제 1 데이터를 독 출하는 대신에 상기 캐쉬 메모리로부터 상기 제 1 데이터에 관한 프로그램 정보를 독출한다.
본 발명의 하나의 실시예에 의하면, 캐쉬 메모리는 메모리 컨트롤러에 포함될 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 캐쉬 메모리는 상기 호스트의 드라이버 또는 운영체계(OS)에 포함될 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 캐쉬 메모리는 DRAM 또는 SRAM일 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 저항성 메모리 장치는 상변화 램(PRAM)일 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 상기 캐쉬 메모리에 저장 공간이 없을 때, 상기 제 1 데이터에 관한 프로그램 정보를 상기 호스트의 큐(queue)에 기입하고, 상기 캐쉬 메모리에 빈 공간이 생기면 상기 제 1 데이터에 관한 프로그램 정보를 상기 캐쉬 메모리에 제공할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 캐쉬 메모리에 빈 공간이 생겼을 때 상기 제 1 데이터에 관한 프로그램 정보는 FIFO(First In First Out) 방식으로 상기 캐쉬 메모리에 제공될 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 제 1 데이터에 관한 프로그램 정보는 상기 제 1 데이터가 저장될 메모리 셀 어레이의 출발 어드레스, 워드의 수 및 데이터를 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 독출(read) 신호가 발생한 경우, 상기 캐쉬 메모리에 빈 공간이 없고 상기 호스트에 대기 중인 프로그램 정보들이 있으면, 대기 중인 큐(queue)를 먼저 검색할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 독출하려는 데이터에 관한 정보가 상기 큐(queue)에 있으면, 독출 정보도 큐에 저장할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 독출하려는 데이터에 관한 정보가 상기 큐(queue)에 없으면, 상기 출발 어드레스들과 상기 워드의 수를 사용하여 완전 연관된 방법으로 상기 캐쉬 메모리의 어드레스들을 검색할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 상기 캐쉬 메모리에 상기 독출하려는 데이터에 관한 프로그램 정보가 있으면, 선택된 로우(row)로부터 관련된 칼럼들을 읽어내고, 상기 캐쉬 메모리에 독출하려는 데이터에 관한 프로그램 정보가 없으면, 상기 저항성 메모리 장치로부터 데이터를 독출할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 제 1 데이터에 관한 프로그램 정보는 상기 제 1 데이터가 저장될 메모리 셀 어레이의 출발 어드레스 및 워드의 수를 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 캐쉬 메모리에는 데이터가 저장되지 않고, 대기 중인 독출 정보들이 저장될 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 독출(read) 신호가 발생한 경우, 상기 캐쉬 메모리에 빈 공간이 없고 상기 호스트에 대기 중인 프로그램 정보들이 있으면, 대기 중인 큐(queue)를 먼저 검색할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 독출하려는 데이터에 관한 정보가 상기 큐(queue)에 있으면, 독출 정보도 큐에 저장할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 독출하려는 데이터에 관한 정보가 상기 큐(queue)에 없으면, 상기 출발 어드레스들과 상기 워드의 수를 사용하여 완전 연관된 방법으로 상기 캐쉬 메모리의 어드레스들을 검색할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 호스트는 상기 캐쉬 메모리에 상기 독출하려는 데이터에 관한 프로그램 정보가 있으면, 상기 캐쉬 메모리의 정보 구조 테이블의 각 로우(row)의 끝에 있는 대기 중인 독출 정보들을 큐에 저장하고, 상기 캐쉬 메모리에 독출하려는 데이터에 관한 프로그램 정보가 없으면, 상기 저항성 메모리 장치로부터 데이터를 독출할 수 있다.
본 발명의 하나의 실시형태에 따른 메모리 시스템은 저항성 메모리 장치, 메모리 컨트롤러 및 호스트를 포함한다.
호스트는 상기 저항성 메모리 장치에 제 1 데이터를 기입하고, 동시에 상기 제 1 데이터에 관한 프로그램 정보를 상기 메모리 컨트롤러에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 상기 저항성 메모리 장치로부터 상기 제 1 데이터를 독출하는 대신에 상기 메모리 컨트롤러로부터 상기 제 1 데이터에 관한 프로그램 정보를 독출한다.
본 발명의 하나의 실시형태에 따른 메모리 시스템의 데이터 처리 방법은 저항성 메모리 장치에 제 1 데이터를 기입하고, 동시에 상기 제 1 데이터에 관한 정보를 캐쉬 메모리에 기입하는 단계, 프로그램-투-액티브 시간(tPTA) 동안에 상기 저항성 메모리 장치로부터 상기 제 1 데이터를 독출하는 대신에 상기 캐쉬 메모리로부터 상기 제 1 데이터에 관한 정보를 독출하는 단계, 및 상기 프로그램-투-액티브 시간(tPTA)이 지난 후 상기 저항성 메모리 장치로부터 상기 제 1 데이터 또는 제 2 데이터를 독출하는 단계를 포함한다.
본 발명의 실시예에 따른 메모리 시스템은 메모리 컨트롤러 또는 호스트에 캐쉬 메모리를 구비하여, 프로그램 모드에서 PRAM에 데이터를 프로그램하는 동시에 캐쉬 메모리에도 데이터에 관한 프로그램 정보를 저장하고, 프로그램-투-액티브 시간(tPTA) 동안 캐쉬 메모리로부터 독출한다. 따라서, PRAM 등 저항성 메모리 장치의 저항 드리프트 현상의 영향을 줄임으로써 동작속도가 빠르다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다.
도 1은 본 발명의 하나의 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 호스트(110), 메모리 컨트롤러(130) 및 PRAM(Phase-change Random Access Memory)(150)을 포함한다. 메모리 컨트롤러(130)는 프로그램-투-액티브 시간(tPTA)을 보상하기 위한 캐쉬 메모리(140)를 포함한다.
호스트(110)는 CPU(Central Processing Unit), 드라이버 및 운영체계(Operating System; OS)를 포함하며, 커맨드들, 어드레스들 및 제 1 데이터를 출력한다. 메모리 컨트롤러(130)는 커맨드들, 어드레스들 및 제 1 데이터를 PRAM(150)에 전달한다. PRAM(150)은 커맨드들 및 어드레스들에 기초하여 제 1 데이터를 저장하거나, 제 2 데이터를 출력한다. 또한, 메모리 컨트롤러(130)는 제 2 데이터를 호스트(110)에 전달한다.
호스트(110)는 메모리 컨트롤러(130)를 통해 PRAM(150)에 제 1 데이터를 기입(write)하고, 동시에 제 1 데이터에 관한 정보를 메모리 컨트롤러(130)에 포함된 캐쉬 메모리(140)에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 PRAM(150)으로부터 제 1 데이터를 독출하는 대신에 캐쉬 메모리(140)로부터 상기 제 1 데이터에 관한 정보를 독출한다. 캐쉬 메모리(140)는 SRAM(Static Random Access Memory) 또는 DRAM일 수 있다.
도 2는 도 1의 메모리 시스템에 포함된 PRAM(150)의 메모리 셀 어레이를 구성하는 가변저항 소자의 하나의 예를 나타내는 도면이다.
도 2를 참조하면, 가변저항 소자는 상부 전극(UE), 하부 전극(BE) 및 상부 전극(UE)과 하부 전극(BE) 사이에 존재하는 상변화 물질(phase change material)(GST)을 포함한다. 상변화 물질(GST)은 온도 및 가열 시간에 따라 비정질 상태(AMORPHOUS STATE) 또는 결정질 상태(CRYSTALLINE STATE)가 되며, 저항 값이 변화한다. 상변화 물질(GST)의 하나의 예는 GexSbyTez 이다.
도 3은 도 2의 가변저항 소자의 상변화(phase change) 특성을 나타내는 도면이다. 도 3에서, 가로축은 시간(TIME)을 나타내며, 세로축은 온도(TMP)를 나타낸다.
도 3을 참조하면, 참조 부호들(12, 10, 14)이 붙은 파형은 상변화 물질(GST)의 비정질 상태(AMORPHOUS STATE)를 나타내고, 참조 부호들(22, 20, 24)이 붙은 파형은 상변화 물질(GST)의 결정질 상태(CRYSTALLINE STATE)를 나타낸다. 상변화 물질(GST)을 용융 온도(melting temparature, Tm) 이상으로 가열한 후 급속히 냉각시키면 비정질 상태(AMORPHOUS STATE)(T0-T1)를 얻을 수 있고, 상변화 물질(GST)을 결정화 온도(crystallization temperature, Tx) 이상으로 가열한 후 냉각시키면 결정질 상태(CRYSTALLINE STATE)(T0-T2)를 얻을 수 있다. 도25의 가변저항 소자를 갖는 저항성 메모리 장치의 비정질 상태(AMORPHOUS STATE)에서 결정질 상태(CRYSTALLINE STATE)로 바뀌는 경우를 셋 동작(SET OPERATION) 모드로 정의하고, 결정질 상태(CRYSTALLINE STATE)에서 비정질 상태(AMORPHOUS STATE)로 바뀌는 경우를 리셋 동작(RESET OPERATION) 모드로 정의할 수 있다.
도 4는 도 3의 상변화 특성을 얻기 위하여 도 2의 가변저항 소자를 갖는 단위 메모리 셀 양단에 인가하는 전류 펄스의 파형을 나타내는 도면이다. 도 4에서, 가로축은 시간(TIME)을 나타내며, 세로축은 전류(CURRENT)를 나타낸다.
도 4를 참조하면, 리셋 펄스(RESET)의 전류 레벨은 셋 펄스(SET)의 전류 레벨보다 높고, 리셋 펄스(RESET)의 인가시간은 셋 펄스(SET)의 인가시간보다 짧다. 리셋 펄스(RESET)와 셋 펄스(SET)는 기입(write) 동작 모드에서 데이터 "1" 또는 데이터"0"을 메모리 셀에 인가해야 하는 기입 전류를 나타낸다.
예를 들면, PRAM 등의 저항성 메모리 장치의 메모리 셀이 연결된 비트라인이 고 저항 상태 또는 고 전압인 상태를 리셋(RESET) 동작 모드로, 저 저항 상태 또는 저 전압인 상태를 셋(SET) 동작 모드로 정의할 수 있다.
그런데, PRAM 등의 저항성 메모리 장치는 프로그램 동작, 즉 기입 동작을 수행한 후 일정 시간이 지난 후에 액티브 동작, 즉 독출 동작을 수행할 수 있다. 이런 현상을 저항 드리프트(resistance drift)라 부르고, 프로그램 동작과 액티브 동작 사이의 시간을 프로그램-투-액티브 시간(tPTA)이라 부른다. 예를 들면, tPTA는 1㎲ 내지 100㎲일 수 있다. PRAM 등의 저항성 메모리 장치는 저항 드리프트 현상 때문에 동작 속도를 향상시키는 데 한계가 있다.
캐쉬 메모리를 호스트(210)의 드라이버 또는 운영체계(OS) 내에 구비하여, 저항 드리프트 현상의 영향을 줄이고 PRAM 등의 저항성 메모리 장치의 동작 속도를 향상시킨다.
본 발명의 실시예들에서는 저항성 메모리 장치의 외부에 캐쉬 메모리를 구비하여, 저항 드리프트 현상의 영향을 줄이고 PRAM 등의 저항성 메모리 장치의 동작 속도를 향상시킨다. 도 1을 참조하면, 호스트(110)는 메모리 컨트롤러(130)를 통해 PRAM(150)에 제 1 데이터를 기입(write)하고, 동시에 제 1 데이터에 관한 정보를 메모리 컨트롤러(130)에 포함된 캐쉬 메모리(140)에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 PRAM(150)으로부터 제 1 데이터를 독출하는 대신에 캐쉬 메모리(140)로부터 상기 제 1 데이터에 관한 프로그램 정보를 독출한다.
또한, 호스트(110)는 캐쉬 메모리(140)에 저장 공간이 없을 때, 상기 제 1 데이터에 관한 프로그램 정보를 상기 호스트의 큐(queue)에 기입하고, 캐쉬 메모리(140)에 저장 공간이 생기면 상기 제 1 데이터에 관한 프로그램 정보를 상기 캐 쉬 메모리에 기입한다.
도 5는 캐쉬 메모리(140)에 저장 공간이 있을 때, 데이터 캐싱(data caching)에서 사용되는 정보 구조(information structure)의 하나의 예를 나타내는 표이다.
도 5의 표에서, TIME STAMP는 카운터로서 새로운 엔트리(entry)가 들어오면 증가하기 시작하고, 그 값이 tPTA에 이르면 종료한다(expired). VALID는 유효 비트(valid bit)로서 새로운 엔트리가 들어오면 1의 값을 갖고, TIME STAMP가 종료되면, 0의 값을 갖는다. STARTING ADDRESS는 데이터가 저장될 PRAM의 메모리 공간의 출발 어드레스를 나타낸다. # OF WORDS는 프로그램할 워드의 수를 나타내고, DATA는 캐싱 데이터(cached data)를 나타낸다.
도 1 및 도 5를 참조하여 데이터 캐싱의 동작에 대해 설명한다.
프로그램(PGM) 신호가 발생한 경우 도 1의 메모리 시스템의 데이터 캐싱 동작은 다음과 같다.
호스트(110)는 캐쉬 메모리의 비어 있는 로우(row), 즉 VALID의 값이 0인 로우에 새로운 엔트리를 기입하고, PRAM(150)의 메모리 셀 어레이에 새로운 엔트리의 데이터를 기입하기 위한 프로그램(PGM)을 수행한다.
캐쉬 메모리가 풀(full)이면, 즉 캐쉬 메모리에 기입할 공간이 남아 있지 않으면, 프로그램은 수행되지 않고 캐쉬 풀(cash full) 신호가 호스트(110)에 전송된다. 호스트(110)는 대기 중인(sustained) 프로그램 정보들을 위한 큐(queue)를 제공한다. 호스트(110)는 임의의 엔트리가 캐쉬 메모리로부터 빠져 나간 다음 캐쉬 메모리에 빈 공간이 생기면, 큐(queue)에 대기 중인 프로그램 정보들을 FIFO(First In First Out) 방식으로 캐쉬 메모리에 제공한다.
독출(read) 신호가 발생한 경우 도 1의 메모리 시스템의 데이터 캐싱 동작은 다음과 같다.
호스트(110)는 캐쉬 메모리가 풀(full)이고 호스트(110)에 대기 중인 프로그램 정보들이 있으면, 대기 중인 큐(queue)를 먼저 검색(search)한다. 독출하려는 데이터에 관한 정보가 큐(queue)에 있으면, 호스트(110)는 독출 정보도 큐(queue)에 저장한다.
독출하려는 데이터에 관한 정보가 큐(queue)에 없으면, STARTING ADDRESS들과 # OF WORDS를 사용하여 완전 연관된 방법(fully-associative manner)으로 캐쉬 메모리(140)의 어드레스들을 검색한다. 캐쉬 메모리(140)에 독출하려는 데이터에 관한 정보가 있으면, 선택된 로우(row)로부터 관련된 칼럼들을 읽어낸다. 캐쉬 메모리(140)에 독출하려는 데이터에 관한 정보가 없으면, PRAM(150)의 메모리 셀 어레이로부터 데이터를 독출한다.
도 6은 캐쉬 메모리(140)에 저장 공간이 없을 때, 데이터 캐싱(data caching)에서 사용되는 정보 구조의 하나의 예를 나타내는 표이다. 도에서, 141은 대기 중인 프로그램 큐를 나타내고, 143은 대기중인 독출 큐(read queue)를 나타낸다.
도 6을 참조하면, N개의 대기 중인 프로그램 정보들(Sus. PGM1, Sus. PGM2, Sus. PGM3, ..., Sus. PGMN)이 큐에 저장되어 있고, N개의 대기 중인 독출 정보 들(Sus. RD1, Sus. RD2, Sus. RD3, ..., Sus. RDN)이 큐에 저장되어 있다.
상기한 바와 같이, 캐쉬 메모리에 기입할 공간이 남아 있지 않으면, 호스트(110)는 대기 중인(sustained) 프로그램 정보들을 큐(queue)에 저장한다. 호스트(110)는 임의의 엔트리가 캐쉬 메모리(140)로부터 빠져 나간 다음 캐쉬 메모리(140)에 빈 공간이 생기면, 큐(queue)에 대기 중인 프로그램 정보들을 FIFO(First In First Out) 방식으로 캐쉬 메모리에 제공한다. 대기 중인 독출 정보들(Sus. RD1, Sus. RD2, Sus. RD3, ..., Sus. RDN)은 대기 중인 프로그램 정보들(Sus. PGM1, Sus. PGM2, Sus. PGM3, ..., Sus. PGMN)에 링크(link) 되어 있다.
대기 중인 프로그램 정보들이 캐쉬 메모리에 제공되면, 연관된 대기 중인 독출 정보들이 순서로 제공되며, 독출 큐(read queue)는 압축된다. 예를 들면, 대기 중인 제 1 프로그램 정보(Sus. PGM1)가 캐쉬 메모리에 제공되면, 연관된 제 1 독출 정보(Sus. RD1) 및 제 3 독출 정보(Sus. RD1)가 캐쉬 메모리에 제공되고, 독출 큐는 왼쪽으로 압축된다.
도 7은 캐쉬 메모리에 저장 공간이 있을 때, 어드레스 캐싱(address caching)에서 사용되는 정보 구조의 하나의 예를 나타내는 표이다.
도 7의 표에서, TIME STAMP는 카운터로서 새로운 엔트리(entry)가 들어오면 증가하기 시작하고, 그 값이 tPTA에 이르면 종료한다(expired). VALID는 유효 비트(valid bit)로서 새로운 엔트리가 들어오면 1의 값을 갖고, TIME STAMP가 종료되면, 0의 값을 갖는다. STARTING ADDRESS는 데이터가 저장될 PRAM의 메모리 공간의 출발 어드레스를 나타낸다. # OF WORDS는 프로그램할 워드의 수를 나타내고, DATA 는 캐싱 데이터(cached data)를 나타낸다.
도 7에 도시된 어드레스 캐싱(address caching)에서 사용되는 정보 구조는 도 5의 표에 도시된 데이터 캐싱(data caching)에서 사용되는 정보 구조(information structure)와 달리, 데이터(DATA)가 포함되지 않고, 대기 중인 독출 정보들(Sus. RD1, Sus. RD2, Sus. RD3)이 포함된다.
도 1 및 도 7을 참조하여 데이터 캐싱의 동작에 대해 설명한다.
프로그램(PGM) 신호가 발생한 경우, 도 1의 메모리 시스템의 어드레스 캐싱 동작은 데이터(DATA)가 캐쉬 메모리에 기입되지 않는 점을 제외하면, 상기한 데이터 캐싱 동작과 유사하다.
호스트(110)는 캐쉬 메모리의 비어 있는 로우(row), 즉 VALID의 값이 0인 로우에 새로운 엔트리를 기입하고, PRAM(150)의 메모리 셀 어레이에 새로운 엔트리의 데이터를 기입하기 위한 프로그램(PGM)을 수행한다.
캐쉬 메모리가 풀(full)이면, 즉 캐쉬 메모리에 기입할 공간이 남아 있지 않으면, 프로그램은 수행되지 않고 캐쉬 풀(cash full) 신호가 호스트(110)에 전송된다. 호스트(110)는 대기 중인(sustained) 프로그램 정보들을 위한 큐(queue)를 제공한다. 호스트(110)는 임의의 엔트리가 캐쉬 메모리로부터 빠져 나간 다음 캐쉬 메모리에 빈 공간이 생기면, 큐(queue)에 대기 중인 프로그램 정보들을 FIFO(First In First Out) 방식으로 캐쉬 메모리에 제공한다.
독출(read) 신호가 발생한 경우 도 1의 메모리 시스템의 어드레스 캐싱 동작은 다음과 같다.
호스트(110)는 캐쉬 메모리가 풀(full)이고 호스트(110)에 대기 중인 프로그램 정보들이 있으면, 대기 중인 큐(queue)를 먼저 검색(search)한다. 독출하려는 데이터에 관한 정보가 큐(queue)에 있으면, 호스트(110)는 독출 정보도 큐(queue)에 저장한다.
독출하려는 데이터에 관한 정보가 큐(queue)에 없으면, STARTING ADDRESS들과 # OF WORDS를 사용하여 완전 연관된 방법(fully-associative manner)으로 캐쉬 메모리(140)의 어드레스들을 검색한다. 캐쉬 메모리(140)에 독출하려는 데이터에 관한 정보가 있으면, 호스트(110)는 도 7의 표의 각 로우(row)의 끝에 있는 대기 중인 독출 정보들(Sus. RD1, Sus. RD2, Sus. RD3)을 큐에 저장한다. 캐쉬 메모리(140)에 독출하려는 데이터에 관한 정보가 없으면, PRAM(150)의 메모리 셀 어레이로부터 데이터를 독출한다.
TIME STAMP가 종료되면(expired), 유효 비트는 0의 값을 갖고, 각 로우(row)에 있는 대기 중인 독출 정보들(Sus. RD1, Sus. RD2, Sus. RD3)은 순서대로 PRAM(150)에 제공된다.
도 8은 캐쉬 메모리에 저장 공간이 없을 때, 어드레스 캐싱에서 사용되는 정보 구조의 하나의 예를 나타내는 표이다. 도 8에서, 대기 중인 프로그램 정보들(Sus. PGM1 및 Sus. PGM5) 및 저항 드리프트 프로그램 정보들(R-drifted PGM2, R-drifted PGM3, R-drifted PGM4)은 큐에 저장되어 있고, N개의 대기 중인 독출 정보들(Sus. RD1, Sus. RD2, Sus. RD3, ..., Sus. RDN)이 큐에 저장되어 있다.
캐쉬 메모리에 기입할 공간이 남아 있지 않으면, 호스트(110)는 대기 중 인(sustained) 프로그램 정보들을 큐(queue)에 저장한다. 호스트(110)는 캐쉬 메모리(140)에 빈 공간이 생기면, 맨 위에 대기 중인 프로그램 정보(Sus. PGM1)를 캐쉬 메모리에 제공한다. 대기 중인 프로그램 정보들이 캐쉬 메모리에 제공되면, 연관된 대기 중인 독출 정보들이 순서대로 캐쉬 메모리에 제공된다.
저항 드리프트 프로그램 정보들(R-drifted PGM2, R-drifted PGM3, R-drifted PGM4)의 경우, TIME STAMP가 종료되면 호스트의 운영체계(Operating System)를 검색하여 매칭되는 프로그램 정보가 있는지 확인한다. 호스트(110)의 OS에 매칭되는 프로그램 정보들이 있으면, 캐쉬 메모리에 있는 모든 대기 중인 프로그램 정보들이 PRAM(150)에 제공된 후, 호스트(110)의 OS에 매칭되는 프로그램 정보들을 순서대로 PRAM(150)에 제공한다.
도 9는 데이터 캐싱의 하나의 예를 설명하기 위한 도면이다.
도 9에서 PRAM은 도 1의 PRAM(150)에 대응하고, CACHE FOR TPTA는 도 1의 메모리 컨트롤러(130)에 포함된 캐쉬 메모리(140)에 대응하고, QUEUE는 호스트(110) 내에 있는 운영체계(OS)에 포함된 큐(queue)(미도시)에 대응한다.
도 9를 참조하면, PRAM의 100번지에 데이터(AA)가 저장되고, 200번지에 데이터(BB)가 저장되고, 400번지에 데이터(CC)가 저장되어 있다. 데이터(AA)와 데이터(BB)는 PRAM(150)에 저장되는 동시에 캐쉬 메모리(CACHE FOR TPTA)에도 저장된다. 캐쉬 메모리(CACHE FOR TPTA)에 빈 공간이 없어서, 300번지의 프로그램 데이터는 호스트의 큐(QUEUE)에 저장되어 있다. 호스트의 큐에 저장된 300번지의 프로그램 정보는 캐쉬 메모리에 빈 공간이 생기면 캐쉬 메모리에 제공된다.
상기한 바와 같이, PRAM 등의 저항성 메모리 장치는 저항 드리프트(resistance drift) 때문에 프로그램 동작, 즉 기입 동작을 수행한 후 일정 시간이 지난 후에 액티브 동작, 즉 독출 동작을 수행할 수 있다. 따라서, PRAM 등의 저항성 메모리 장치는 프로그램 동작과 액티브 동작 사이의 시간인 프로그램-투-액티브 시간(tPTA) 동안은 PRAM으로부터 데이터를 독출할 수 없게 된다.
따라서, 본 발명의 실시예들에서는 저항 드리프트 현상에 기인한 PRAM 등의 저항성 메모리 장치의 동작 속도를 향상시키기 위해, 프로그램-투-액티브 시간(tPTA) 동안에 PRAM(150)으로부터 데이터를 독출하는 대신에 PRAM의 외부에 있는 캐쉬 메모리로부터 데이터에 관한 프로그램 정보를 독출한다.
예를 들면, 독출시 400번지의 데이터는 PRAM(150)으로부터 읽어오고, 100번지 및 200번지의 데이터는 캐쉬 메모리(140)로부터 읽어온다.
도 10은 본 발명의 다른 하나의 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 10을 참조하면, 메모리 시스템(200)은 호스트(210), 메모리 컨트롤러(230) 및 PRAM(150)을 포함한다. 호스트(210)는 프로그램-투-액티브 시간(tPTA)을 보상하기 위한 캐쉬 메모리(240)를 포함한다. 도 10의 메모리 시스템(200)은 캐쉬 메모리(220)가 호스트(210)의 드라이버 또는 운영체계(OS)에 포함된다.
호스트(210)는 CPU, 드라이버 및 운영체계(Operating System; OS)를 포함하며, 커맨드들, 어드레스들 및 제 1 데이터를 출력한다. 메모리 컨트롤러(230)는 커맨드들, 어드레스들 및 제 1 데이터를 PRAM(150)에 전달한다. PRAM(150)은 커맨드 들 및 어드레스들에 기초하여 제 1 데이터를 저장하거나, 제 2 데이터를 출력한다. 또한, 메모리 컨트롤러(230)는 제 2 데이터를 호스트(210)에 전달한다.
호스트(210)는 메모리 컨트롤러(230)를 통해 PRAM(150)에 제 1 데이터를 기입(write)하고, 동시에 제 1 데이터에 관한 정보를 호스트(210)에 포함된 캐쉬 메모리(140)에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 PRAM(150)으로부터 제 1 데이터를 독출하는 대신에 캐쉬 메모리(220)로부터 상기 제 1 데이터에 관한 정보를 독출한다. 캐쉬 메모리(220)는 SRAM(Static Random Access Memory) 또는 DRAM일 수 있다.
도 10의 메모리 시스템(200)은 캐쉬 메모리를 호스트(210)의 드라이버 또는 운영체계(OS) 내에 구비하여, 저항 드리프트 현상의 영향을 줄이고 PRAM 등의 저항성 메모리 장치의 동작 속도를 향상시킨다.
도 10 참조하면, 호스트(210)는 메모리 컨트롤러(230)를 통해 PRAM(150)에 제 1 데이터를 기입(write)하고, 동시에 제 1 데이터에 관한 정보를 호스트(210)에 포함된 캐쉬 메모리(220)에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 PRAM(150)으로부터 제 1 데이터를 독출하는 대신에 캐쉬 메모리(220)로부터 상기 제 1 데이터에 관한 프로그램 정보를 독출한다.
또한, 호스트(210)는 캐쉬 메모리(220)에 저장 공간이 없을 때, 제 1 데이터에 관한 프로그램 정보를 상기 호스트의 큐(queue)에 기입하고, 캐쉬 메모리(220)에 저장 공간이 생기면 상기 제 1 데이터에 관한 프로그램 정보를 캐쉬 메모리(220)에 기입한다.
도 10의 메모리 시스템(200)의 동작은 도 1의 메모리 시스템(100)의 동작과 유사하다.
상기에서는 주로 PRAM에 데이터를 저장하고 PRAM으로부터 데이터를 출력하는 메모리 시스템에 대해 설명하였지만, 본 발명은 PRAM을 포함하는 저항성 메모리 장치를 포함하는 메모리 시스템에서 저항성 메모리 장치의 저항 드리프트 현상을 줄이는 데 적용할 수 있다.
본 발명은 메모리 시스템에 적용이 가능하며, 특히 저항성 메모리 장치를 포함하는 메모리 시스템에 적용이 가능하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 하나의 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 PRAM의 메모리 셀 어레이를 구성하는 가변저항 소자의 하나의 예를 나타내는 도면이다.
도 3은 도 2의 가변저항 소자의 상변화(phase change) 특성을 나타내는 도면이다.
도 4는 도 3의 상변화 특성을 얻기 위하여 도 2의 가변저항 소자를 갖는 단위 메모리 셀 양단에 인가하는 전류 펄스의 파형을 나타내는 도면이다.
도 5는 캐쉬 메모리에 저장 공간이 있을 때, 데이터 캐싱(data caching)에서 사용되는 정보 구조(information structure)의 하나의 예를 나타내는 표이다.
도 6은 캐쉬 메모리에 저장 공간이 없을 때, 데이터 캐싱(data caching)에서 사용되는 정보 구조의 하나의 예를 나타내는 표이다.
도 7은 캐쉬 메모리에 저장 공간이 있을 때, 어드레스 캐싱(address caching)에서 사용되는 정보 구조의 하나의 예를 나타내는 표이다.
도 8은 캐쉬 메모리에 저장 공간이 없을 때, 어드레스 캐싱에서 사용되는 정보 구조의 하나의 예를 나타내는 표이다.
도 9는 데이터 캐싱의 하나의 예를 설명하기 위한 도면이다.
도 10은 본 발명의 다른 하나의 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
<도면의 주요부분에 대한 부호의 설명>
100, 200 : 메모리 시스템
110, 210 :호스트
130, 230 : 메모리 컨트롤러
140, 220 :캐쉬 메모리
150 : PRAM
Claims (24)
- 저항성 메모리 장치;캐쉬 메모리; 및상기 저항성 메모리 장치에 제 1 데이터를 기입하고, 동시에 상기 제 1 데이터에 관한 프로그램 정보를 상기 캐쉬 메모리에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 상기 저항성 메모리 장치로부터 상기 제 1 데이터를 독출하는 대신에 상기 캐쉬 메모리로부터 상기 제 1 데이터에 관한 프로그램 정보를 독출하는 호스트를 포함하는 메모리 시스템.
- 제 1 항에 있어서, 상기 캐쉬 메모리는메모리 컨트롤러에 포함되는 것을 특징으로 하는 메모리 시스템.
- 제 1 항에 있어서, 상기 캐쉬 메모리는상기 호스트에 포함되는 것을 특징으로 하는 메모리 시스템.
- 제 3 항에 있어서, 상기 캐쉬 메모리는상기 호스트의 드라이버에 포함되는 것을 특징으로 하는 메모리 시스템.
- 제 3 항에 있어서, 상기 캐쉬 메모리는상기 호스트의 운영체계(OS)에 포함되는 것을 특징으로 하는 메모리 시스템.
- 제 1 항에 있어서, 상기 캐쉬 메모리는DRAM인 것을 특징으로 하는 메모리 시스템.
- 제 1 항에 있어서, 상기 캐쉬 메모리는SRAM인 것을 특징으로 하는 메모리 시스템.
- 제 1 항에 있어서, 상기 저항성 메모리 장치는상변화 램(PRAM)인 것을 특징으로 하는 메모리 시스템.
- 제 1 항에 있어서, 상기 호스트는상기 캐쉬 메모리에 저장 공간이 없을 때, 상기 제 1 데이터에 관한 프로그램 정보를 상기 호스트의 큐(queue)에 기입하고, 상기 캐쉬 메모리에 빈 공간이 생기면 상기 제 1 데이터에 관한 프로그램 정보를 상기 캐쉬 메모리에 제공하는 것을 특징으로 하는 메모리 시스템.
- 제 9 항에 있어서,상기 캐쉬 메모리에 빈 공간이 생겼을 때 상기 제 1 데이터에 관한 프로그램 정보는 FIFO 방식으로 상기 캐쉬 메모리에 제공되는 것을 특징으로 하는 메모리 시 스템.
- 제 1 항에 있어서, 상기 제 1 데이터에 관한 프로그램 정보는상기 제 1 데이터가 저장될 메모리 셀 어레이의 출발 어드레스, 워드의 수 및 데이터를 포함하는 것을 특징으로 하는 메모리 시스템.
- 제 11 항에 있어서, 상기 호스트는독출(read) 신호가 발생한 경우, 상기 캐쉬 메모리에 빈 공간이 없고 상기 호스트에 대기 중인 프로그램 정보들이 있으면, 대기 중인 큐(queue)를 먼저 검색하는 것을 특징으로 하는 메모리 시스템.
- 제 12 항에 있어서, 상기 호스트는독출하려는 데이터에 관한 정보가 상기 큐(queue)에 있으면, 독출 정보도 큐에 저장하는 것을 특징으로 하는 메모리 시스템.
- 제 12 항에 있어서, 상기 호스트는독출하려는 데이터에 관한 정보가 상기 큐(queue)에 없으면, 상기 출발 어드레스들과 상기 워드의 수를 사용하여 완전 연관된 방법으로 상기 캐쉬 메모리의 어드레스들을 검색하는 것을 특징으로 하는 메모리 시스템.
- 제 14 항에 있어서, 상기 호스트는상기 캐쉬 메모리에 상기 독출하려는 데이터에 관한 프로그램 정보가 있으면, 선택된 로우(row)로부터 관련된 칼럼들을 읽어내고, 상기 캐쉬 메모리에 독출하려는 데이터에 관한 프로그램 정보가 없으면, 상기 저항성 메모리 장치로부터 데이터를 독출하는 것을 특징으로 하는 메모리 시스템.
- 제 1 항에 있어서, 상기 제 1 데이터에 관한 프로그램 정보는상기 제 1 데이터가 저장될 메모리 셀 어레이의 출발 어드레스 및 워드의 수를 포함하는 것을 특징으로 하는 메모리 시스템.
- 제 16 항에 있어서,상기 캐쉬 메모리에는 데이터가 저장되지 않고, 대기 중인 독출 정보들이 저장되는 것을 특징으로 하는 메모리 시스템.
- 제 16 항에 있어서, 상기 호스트는독출(read) 신호가 발생한 경우, 상기 캐쉬 메모리에 빈 공간이 없고 상기 호스트에 대기 중인 프로그램 정보들이 있으면, 대기 중인 큐(queue)를 먼저 검색하는 것을 특징으로 하는 메모리 시스템.
- 제 18 항에 있어서, 상기 호스트는독출하려는 데이터에 관한 정보가 상기 큐(queue)에 있으면, 독출 정보도 큐에 저장하는 것을 특징으로 하는 메모리 시스템.
- 제 18 항에 있어서, 상기 호스트는독출하려는 데이터에 관한 정보가 상기 큐(queue)에 없으면, 상기 출발 어드레스들과 상기 워드의 수를 사용하여 완전 연관된 방법으로 상기 캐쉬 메모리의 어드레스들을 검색하는 것을 특징으로 하는 메모리 시스템.
- 제 20 항에 있어서, 상기 호스트는상기 캐쉬 메모리에 상기 독출하려는 데이터에 관한 프로그램 정보가 있으면, 상기 캐쉬 메모리의 정보 구조 테이블의 각 로우(row)의 끝에 있는 대기 중인 독출 정보들을 큐에 저장하고, 상기 캐쉬 메모리에 독출하려는 데이터에 관한 프로그램 정보가 없으면, 상기 저항성 메모리 장치로부터 데이터를 독출하는 것을 특징으로 하는 메모리 시스템.
- 저항성 메모리 장치;메모리 컨트롤러; 및상기 저항성 메모리 장치에 제 1 데이터를 기입하고, 동시에 상기 제 1 데이터에 관한 프로그램 정보를 상기 메모리 컨트롤러에 기입하고, 프로그램-투-액티브 시간(tPTA) 동안에 상기 저항성 메모리 장치로부터 상기 제 1 데이터를 독출하는 대신에 상기 메모리 컨트롤러로부터 상기 제 1 데이터에 관한 프로그램 정보를 독출하는 호스트를 포함하는 메모리 시스템.
- 제 22 항에 있어서,상기 제 1 데이터에 관한 프로그램 정보는 상기 메모리 컨트롤러의 내부에 있는 캐쉬 메모리에 기입되고 독출되는 것을 특징으로 하는 메모리 시스템.
- 저항성 메모리 장치에 제 1 데이터를 기입하고, 동시에 상기 제 1 데이터에 관한 정보를 캐쉬 메모리에 기입하는 단계;프로그램-투-액티브 시간(tPTA) 동안에 상기 저항성 메모리 장치로부터 상기 제 1 데이터를 독출하는 대신에 상기 캐쉬 메모리로부터 상기 제 1 데이터에 관한 정보를 독출하는 단계; 및상기 프로그램-투-액티브 시간(tPTA)이 지난 후 상기 저항성 메모리 장치로부터 상기 제 1 데이터 또는 제 2 데이터를 독출하는 단계를 포함하는 메모리 시스템의 데이터 처리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090082030A KR20110024147A (ko) | 2009-09-01 | 2009-09-01 | 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법 |
US12/859,459 US20110055486A1 (en) | 2009-09-01 | 2010-08-19 | Resistive memory devices and related methods of operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090082030A KR20110024147A (ko) | 2009-09-01 | 2009-09-01 | 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110024147A true KR20110024147A (ko) | 2011-03-09 |
Family
ID=43626536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090082030A KR20110024147A (ko) | 2009-09-01 | 2009-09-01 | 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110055486A1 (ko) |
KR (1) | KR20110024147A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8923043B2 (en) | 2012-02-09 | 2014-12-30 | Samsung Electronics Co., Ltd. | Memory device using flag cells and system using the memory device |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120311262A1 (en) * | 2011-06-01 | 2012-12-06 | International Business Machines Corporation | Memory cell presetting for improved memory performance |
TWI508070B (zh) * | 2011-12-06 | 2015-11-11 | Winbond Electronics Corp | 電阻式記憶體的寫入方法 |
US9245619B2 (en) * | 2014-03-04 | 2016-01-26 | International Business Machines Corporation | Memory device with memory buffer for premature read protection |
KR102646755B1 (ko) * | 2017-01-06 | 2024-03-11 | 삼성전자주식회사 | 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 |
KR102684082B1 (ko) | 2017-01-13 | 2024-07-10 | 삼성전자주식회사 | 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 |
KR20180114417A (ko) * | 2017-04-10 | 2018-10-18 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
US10068663B1 (en) * | 2017-05-30 | 2018-09-04 | Seagate Technology Llc | Data storage device with rewriteable in-place memory |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4082913B2 (ja) * | 2002-02-07 | 2008-04-30 | 株式会社ルネサステクノロジ | メモリシステム |
US20050251617A1 (en) * | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
KR100626371B1 (ko) * | 2004-03-30 | 2006-09-20 | 삼성전자주식회사 | 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법 |
US7930422B2 (en) * | 2004-07-14 | 2011-04-19 | International Business Machines Corporation | Apparatus and method for supporting memory management in an offload of network protocol processing |
KR100578143B1 (ko) * | 2004-12-21 | 2006-05-10 | 삼성전자주식회사 | 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템 |
JP4275085B2 (ja) * | 2005-02-17 | 2009-06-10 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理方法、およびデータストリーム生成方法 |
KR100843209B1 (ko) * | 2006-11-02 | 2008-07-02 | 삼성전자주식회사 | 버퍼 메모리를 포함하는 저항형 메모리 장치, 저항형메모리 장치를 포함하는 메모리 시스템, 및 저항형 메모리장치의 데이터 기입/독출 방법 |
US8004884B2 (en) * | 2009-07-31 | 2011-08-23 | International Business Machines Corporation | Iterative write pausing techniques to improve read latency of memory systems |
-
2009
- 2009-09-01 KR KR1020090082030A patent/KR20110024147A/ko not_active Application Discontinuation
-
2010
- 2010-08-19 US US12/859,459 patent/US20110055486A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8923043B2 (en) | 2012-02-09 | 2014-12-30 | Samsung Electronics Co., Ltd. | Memory device using flag cells and system using the memory device |
Also Published As
Publication number | Publication date |
---|---|
US20110055486A1 (en) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20110024147A (ko) | 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법 | |
JP4273087B2 (ja) | 半導体記憶装置およびその書込み方法 | |
KR100704329B1 (ko) | 프로세서 기반 시스템을 형성하는 방법 및 장치 | |
US7907441B2 (en) | Data management method and mapping table update method in non-volatile memory device | |
US11010061B2 (en) | Scalable bandwidth non-volatile memory | |
US20170352403A1 (en) | Memory controller, and memory module and processor including the same | |
US7920432B2 (en) | Semiconductor device having resistance based memory array, method of reading, and systems associated therewith | |
US20100226165A1 (en) | Resistive memory devices having a stacked structure and methods of operation thereof | |
US8050083B2 (en) | Phase change memory device and write method thereof | |
KR102059865B1 (ko) | 가변 저항 메모리 장치 및 그것을 포함하는 가변 저항 메모리 시스템 | |
KR102684082B1 (ko) | 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 | |
US10020052B2 (en) | Resistive memory device and memory system including the same | |
JP2018206378A (ja) | 書き換え可能なインプレースメモリを有するデータ記憶装置 | |
KR102401183B1 (ko) | 메모리 장치 및 그 동작 방법 | |
JP5420828B2 (ja) | 半導体記憶装置及びその書き込み制御方法 | |
US8107284B2 (en) | Nonvolatile memory device using a variable resistive element | |
US10121525B2 (en) | Nonvolatile memory device and operating method of the same | |
KR100919556B1 (ko) | 상 변화 메모리 장치 | |
KR101858930B1 (ko) | 상변화 메모리 장치 및 이를 포함하는 컴퓨팅 시스템 | |
US8116154B2 (en) | Semiconductor memory device with a write control circuit commonly provided for a plurality of pages | |
CN110858499B (zh) | 电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |