KR102533229B1 - 상대 주소를 사용하는 메모리 장치의 접근 방법 - Google Patents

상대 주소를 사용하는 메모리 장치의 접근 방법 Download PDF

Info

Publication number
KR102533229B1
KR102533229B1 KR1020150167581A KR20150167581A KR102533229B1 KR 102533229 B1 KR102533229 B1 KR 102533229B1 KR 1020150167581 A KR1020150167581 A KR 1020150167581A KR 20150167581 A KR20150167581 A KR 20150167581A KR 102533229 B1 KR102533229 B1 KR 102533229B1
Authority
KR
South Korea
Prior art keywords
address
memory
stream
ram
relative
Prior art date
Application number
KR1020150167581A
Other languages
English (en)
Other versions
KR20170062614A (ko
Inventor
조영진
김진우
박재근
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150167581A priority Critical patent/KR102533229B1/ko
Priority to US15/360,134 priority patent/US10269423B2/en
Publication of KR20170062614A publication Critical patent/KR20170062614A/ko
Application granted granted Critical
Publication of KR102533229B1 publication Critical patent/KR102533229B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2253Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders

Abstract

본 발명의 실시 예에 따른 랜덤 액세스가 가능한 불휘발성 램의 접근 방법은, 외부로부터 베이스 주소를 수신하는 단계, 상기 베이스 주소로부터 증가 또는 감소하는 크기에 대응하는 상대 주소를 수신하는 단계, 그리고 상기 베이스 주소와 상기 상대 주소를 참조하여 상기 불휘발성 램의 메모리 영역에 저장된 데이터를 읽거나 외부로부터 제공된 데이터를 상기 불휘발성 램에 기입하는 단계를 포함한다.

Description

상대 주소를 사용하는 메모리 장치의 접근 방법{ACCESS METHOD OF MEMORY DEVICE USING RELATIVE ADDRESSING}
본 발명은 반도체 메모리에 관한 것으로 더욱 상세하게는 상대 주소를 사용하는 메모리 장치의 접근 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
최근, 불휘발성 메모리 장치를 메인 메모리로 사용하려는 시도들이 활발히 이루어지고 있다. 이러한 불휘발성 메모리 장치를 메인 메모리로 사용하는 시스템에서 기존의 디램 기반의 메인 메모리와의 호환성도 고려되어야 한다. 디램과의 호환성을 제공하면서도 버스의 효율성을 높일 수 있는 접근 방법이 절실한 실정이다.
본 발명의 목적은 불휘발성 램에 접근하기 위한 상대 주소 기법을 제공하여 기존의 메인 메모리 인터페이스를 사용하면서도 높은 접근 속도 및 주소 관리 효율을 높일 수 있는 불휘발성 램의 접근 방법을 제공하기 위한 것이다.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 랜덤 액세스가 가능한 불휘발성 램의 접근 방법은, 외부로부터 베이스 주소를 수신하는 단계, 상기 베이스 주소로부터 증가 또는 감소하는 크기에 대응하는 상대 주소를 수신하는 단계, 그리고 상기 베이스 주소와 상기 상대 주소를 참조하여 상기 불휘발성 램의 메모리 영역에 저장된 데이터를 읽거나 외부로부터 제공된 데이터를 상기 불휘발성 램에 기입하는 단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 랜덤 액세스가 가능한 불휘발성 램에 접근하는 방법은, 상기 불휘발성 램에 대한 접근 요청을 수신하는 단계, 상기 접근 요청에 대응하는 스트림 아이디가 상대 주소 테이블에 존재하는지 검출하는 단계, 상기 상대 주소 테이블에 상기 스트림 아이디가 존재하는 경우, 상기 스트림 아이디에 대응하는 최종 전송 주소를 참조하여 베이스 주소 및 상기 베이스 주소로부터 증가 또는 감소하는 크기에 대응하는 상대 주소를 생성하는 단계, 그리고 상기 베이스 주소와 상기 상대 주소를 상기 불휘발성 램에 전달하는 단계를 포함한다.
본 발명에 따르면, 상대적인 주소 기법을 사용하여 불휘발성 메모리 장치에 접근 가능하여, 기존의 메인 메모리의 인터페이스와 호환성을 제공하면서도 높은 접근 속도를 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1의 메모리 시스템의 상대 주소 기법을 보여주는 타이밍도이다.
도 3은 도 1의 메모리 컨트롤러에서 구성하는 상대 주소 테이블을 예시적으로 보여주는 도면이다.
도 4는 최종 전송 주소를 참조한 메모리 컨트롤러의 상대 주소 생성 방법을 보여주는 순서도이다.
도 5는 본 발명의 메모리 컨트롤러가 불휘발성 램에 접근하는 명령어 시퀀스를 간략히 보여주는 타이밍도이다.
도 6은 본 발명의 불휘발성 램의 동작을 보여주는 순서도이다.
도 7은 본 발명의 상대 주소 생성 방식과 기존의 절대 주소 생성 방식을 선택적으로 적용할 수 있는 메모리 시스템의 예를 보여주는 순서도이다.
도 8은 메모리 컨트롤러에 의한 상대 주소 생성 방법의 다른 예를 보여주는 순서도이다.
도 9는 본 발명의 불휘발성 램에 대한 예를 보여주는 블록도이다.
도 10은 본 발명의 메모리 시스템의 다른 예를 보여주는 블록도이다.
도 11은 본 발명의 불휘발성 메모리 장치의 예로 상 변화 메모리 장치의 셀 구조 및 물성을 각각 보여주는 도면이다.
도 12 및 도 13은 본 발명의 불휘발성 램에 포함되는 메모리 셀을 간략히 보여주는 도면들이다.
도 14는 본 발명의 상대 주소 방식을 사용하는 불휘발성 램을 메인 메모리로 사용하는 메모리 시스템을 예시적으로 보여주는 블록도이다.
이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예들이 상세하게 설명된다. 이하의 설명에서, 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 발명의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 발명의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 당업자에 의해 수행될 수 있다. 더욱이, 잘 알려진 기능들 및 구조들에 대한 설명들은 명확성 및 간결성을 위하여 생략된다. 본문에서 사용된 용어들은 본 발명의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.
이하의 도면들 또는 상세한 설명에서의 모듈들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 직접적 또는 비직접적일 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 통신에 의한 연결이거나 또는 물리적인 접속일 수 있다.
다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서의 당업자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기분 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(100)은 메모리 버스(130)에 연결되는 호스트(110)와 불휘발성 램(120)을 포함한다. 여기서, 불휘발성 램(120)은 단일 메모리 장치나 메모리 모듈(Memory module)로 구성될 수 있을 것이다.
호스트(110)는 데이터를 처리하거나 또는 메모리 시스템(100)에 포함된 구성 요소들을 제어할 수 있다. 예를 들어, 호스트(110)는 다양한 운영 체제(OS)를 구동할 수 있고, 운영 체제(OS) 상에서 다양한 애플리케이션(Application)들을 실행할 수 있다. 호스트(110)는 불휘발성 램(120)에 데이터를 기입하거나 또는 불휘발성 램(120)에 저장된 데이터를 읽을 수 있다. 호스트(110)는 불휘발성 램(120)에 데이터를 로드하고, 로드된 데이터를 사용하여 다양한 연산을 수행할 수 있다. 예를 들면, 호스트(110)는 메모리 시스템(100)을 제어하는 중앙 처리 장치(CPU)를 포함할 수 있다.
호스트(110)는 불휘발성 램(120)을 제어하기 위한 메모리 컨트롤러(115)를 포함할 수 있다. 호스트(110)는 불휘발성 램(120)에 저장된 데이터를 읽기 위해 메모리 컨트롤러(115)에 읽기 요청을 전달할 수 있다. 메모리 컨트롤러(115)는 호스트(110)가 요청한 데이터를 읽기 위해서 불휘발성 램(120)에 접근할 것이다. 메모리 컨트롤러(115)는 불휘발성 램(120)에 접근하기 위해서 상대 주소(R_ADD)를 생성할 수 있다. 메모리 컨트롤러(115)는 상대 주소(R_ADD)를 생성하기 위한 상대 주소 테이블(112)을 구성하고, 구성된 상대 주소 테이블(112)을 유지 및 업데이트할 수 있다.
메모리 컨트롤러(115)는 호스트(110)에서 생성된 쓰기 요청들의 특성에 따라 스트림 아이디(Stream ID)를 할당할 수 있다. 스트림 아이디는 접근 요청을 발행하는 멀티 코어들 또는 애플리케이션들 각각에 따라 할당될 수 있다. 또는, 스트림 아이디는 쓰레드(Thread)나 태스크(Task) 단위로 할당될 수도 있을 것이다. 메모리 컨트롤러(115)는 할당된 스트림 아이디들 각각에 대해 마지막으로 접근한 지점에 대한 정보를 저장한다. 따라서, 메모리 컨트롤러(115)는 어느 하나의 특정 스트림 아이디에 대응하는 접근 요청을 수신하면, 최종적으로 접근한 지점에 대한 상대 주소(R_ADD)를 불휘발성 램(120)에 전달할 수 있다. 또한, 메모리 컨트롤러(115)는 특정 시점에 상대 주소(R_ADD)의 기준이 되는 베이스 주소(B_ADD)를 불휘발성 램(120)에 전달할 수도 있다. 이하에서는 베이스 주소(B_ADD)와 베이스 주소(B_ADD)에 대한 상대적인 값으로 제공되는 상대 주소(R_ADD)를 이용하는 방식으로 상대 주소 기법이 설명될 것이다. 하지만, 상대 주소 기법은 최종 주소와 상대 주소를 사용하는 방식으로도 사용될 수 있음은 잘 이해될 것이다.
불휘발성 램(120)은 장치 컨트롤러(122)와 불휘발성 메모리 장치(124)를 포함한다. 장치 컨트롤러(122)는 호스트(110)로부터의 상대 주소(R_ADD)를 수신하여 불휘발성 메모리 장치(124)에 접근할 수 있다. 장치 컨트롤러(122)는 베이스 주소 테이블(123)을 참조하여 상대 주소(R_ADD)만큼 증가 또는 감소된 위치의 메모리 영역을 접근할 수 있다. 그리고 장치 컨트롤러(122)는 최종적으로 접근된 위치를 다시 베이스 주소 테이블(123)에 업데이트할 것이다.
불휘발성 메모리 장치(124)는 덮어쓰기 가능한 불휘발성 메모리 소자나, 덮어쓰기 불가한 불휘발성 메모리 소자를 포함할 수 있을 것이다. 불휘발성 메모리 장치(124)는 예를 들면, EEPROM(Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM(Phase-change RAM), ReRAM(Resistive RAM), FRAM(Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 메모리 장치 중 적어도 하나로 구현될 수 있다.
예시적으로, 본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 불휘발성 램(120)은 3차원 메모리 어레이를 포함할 수 있다. 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(Monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(Monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.
본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가지며, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 또는 비트 라인들을 갖고, 3차원 메모리 어레이에 적합한 구성은 미국등록특허공보 제7,679,133호, 미국등록특허공보 제8,553,466호, 미국등록특허공보 제8,654,587호, 미국등록특허공보 제8,559,235호, 그리고 미국공개특허공보 제2011/0233648호에 개시되어 있으며, 본 발명의 레퍼런스로 포함된다.
메모리 버스(130)는 호스트(110)와 불휘발성 램(120) 사이에 데이터, 제어 신호, 클록 등의 교환 경로로 제공될 수 있다. 메모리 버스(130)는 불휘발성 램에 접근하기 위한 인터페이스를 제공한다. 예를 들면, 불휘발성 램(120)이 메인 메모리로 사용되는 경우, 디램 버스 방식으로 메모리 버스(130)가 제공될 수도 있을 것이다. 메모리 버스(130)는 예를 들면, DDR, DDR2, DDR3, DDR4, LPDDR(Low Power DDR), UFS(Universal Flash Storage), NVMe (Nonvolatile Memory express) 중 적어도 하나를 포함할 수 있다.
상술한 구성을 통해서 본 발명의 메모리 시스템(100)은 상대 주소를 사용함에 따라 실질적으로 주소의 전달에 필요한 버스 점유율을 획기적으로 낮출 수 있다. 더불어, 상대 주소를 전달하기 위한 버스 프로토콜은 기존의 디램의 버스 방식과 완벽한 호환성을 제공할 수 있다. 따라서, 본 발명의 상대 주소 기법을 적용하면, 주소 전달 효율성을 높일 수 있는 불휘발성 램(120)의 구현이 가능하다.
도 2는 도 1의 메모리 시스템의 상대 주소 기법을 예시적으로 보여주는 타이밍도이다. 도 2를 참조하면, 본 발명의 메모리 시스템(100)은 베이스 주소(B_ADD)와 상대 주소(R_ADD)를 사용하여 불휘발성 램(120)에 접근할 수 있다. 본 발명의 접근 방식을 읽기 동작을 예로 하여 설명하기로 한다.
메모리 컨트롤러(115)는 먼저 베이스 주소(B_ADD)를 설정하기 위한 명령어를 불휘발성 램(120)에 전달한다. 즉, 메모리 컨트롤러(115)는 상대 주소 테이블(112)을 참조하여 스트림 아이디(S1)에 대응하는 베이스 주소(B_ADD0)를 설정하기 위한 명령어/주소를 장치 컨트롤러(122)에 전달할 수 있다. 즉, 메모리 컨트롤러(115)는 동일한 클록 사이클 내에서 셋 명령어(141), 베이스 주소(151), 그리고 스트림 아이디(161)를 전달할 수 있다. 그러면, 스트림 아이디(S1, 161)에 대응하는 베이스 주소(B_ADD0, 151)가 장치 컨트롤러(122)의 베이스 주소 테이블(123)에 설정될 것이다.
이어서, 상대 주소들(R_ADD1, R_ADD2)에 대응하는 읽기 명령어 셋이 각각 순차적으로 제공될 수 있다. 즉, 베이스 주소(B_ADD0, 151)에 대해 제 1 상대 주소(R_ADD1, 152)만큼 증가한 메모리 영역에 대한 읽기 명령어(142)가 제공될 수 있다. 더불어, 베이스 주소(B_ADD0, 151)에 대응하는 스트림 아이디(162)도 제공될 수 있다. 또한, 베이스 주소(B_ADD0, 151)에 대해 제 2 상대 주소(R_ADD2, 153)만큼 이동한 위치의 데이터에 대한 읽기 명령어(143)가 연속적으로 제공될 수 있다. 더불어, 베이스 주소(B_ADD0, 151)에 대응하는 동일한 스트림 아이디(163)도 제공될 수 있다.
여기서, 메모리 버스(130)가 DDR 방식의 프로토콜인 경우, 셋 명령(SET, 141)은 액티브 명령(Active)을 사용하여 제공될 수 있다. 그리고 스트림 아이디(S1)는 뱅크 어드레스(Bank Address)의 입력 사이클에, 베이스 주소(B_ADD0, 151)는 로우 어드레스(Row Address) 입력 사이클에 대응할 수 있을 것이다. 그리고 읽기 명령어(142, 143)들은 읽기 명령어 사이클에 대응하고, 상대 주소들(152, 153) 각각은 칼럼 어드레스(Colunm Address) 입력 사이클에 대응할 수 있다. 상술한 상대 주소들(R_ADD0, R_ADD2)에 대응하는 읽기 데이터는 각각 데이터 라인(DQ)을 통해서 데이터 출력 사이클(171, 172) 동안 호스트(110)에 출력될 수 있다.
만일, 메모리 컨트롤러(115)가 스트림 아이디(S2)에 대응하는 데이터의 읽기 요청을 수신하는 경우, 새로운 스트림 아이디(165) 및 베이스 주소(B_ADD1)를 설정하기 위한 명령어를 불휘발성 램(120)에 전달할 것이다. 메모리 컨트롤러(115)는 액티브 명령어 사이클을 사용하여 스트림 아이디(S2) 및 베이스 주소(B_ADD1)를 설정하기 위한 명령어/주소를 장치 컨트롤러(122)에 전달할 수 있다. 즉, 메모리 컨트롤러(115)는 셋 명령어(145), 베이스 주소(155), 그리고 스트림 아이디(165)를 장치 컨트롤러(122)에 전달할 수 있다. 그러면, 스트림 아이디(S2, 165)에 대응하는 베이스 주소(B_ADD1, 155)가 베이스 주소 테이블(123)에 설정될 것이다.
이어서, 상대 주소들(156, 157)에 대응하는 읽기 명령어 셋이 순차적으로 제공될 수 있다. 즉, 베이스 주소(B_ADD1, 155)에 대해 제 1 상대 주소(R_ADD1, 156)만큼 이동한 위치의 데이터에 대한 읽기 명령어(146)가 제공될 수 있다. 더불어, 베이스 주소에 대응하는 동일한 스트림 아이디(166)도 제공될 수 있다. 또한, 베이스 주소(B_ADD0, 155)에 대해 제 2 상대 주소(R_ADD2, 157)만큼 이동한 위치의 데이터에 대한 읽기 명령어(147)가 연속적으로 제공될 수 있다. 더불어, 베이스 주소에 대응하는 동일한 스트림 아이디(167)도 제공될 수 있다. 상술한 스트림 아이디(S2)에 대응하는 상대 주소들(R_ADD0, R_ADD2)의 읽기 데이터는 각각 데이터 라인(DQ)을 통해서 데이터 출력 사이클(173, 174) 동안 호스트(110)로 출력될 수 있다.
상술한 상대 주소 방식에 따르면, 추가적인 접근 명령어는 동일한 베이스 주소(B_ADDx)에 대한 상대 주소만 제공하면 된다. 즉, 불휘발성 램(120)의 경우 디램과 같이 행을 액티브시키는 명령어 시퀀스의 생략이 가능하다. 불휘발성 램(120)의 경우, 하나의 행 단위로 관리될 필요가 없기 때문에, 연속된 읽기 동작시에 상대 주소만을 사용하여 변경된 열 위치만을 제공하여 데이터를 독출할 수 있을 것이다. 상대 주소는 하나의 행의 바운드리(Boundary)에 제한받지 않고 제공될 수 있다. 즉, 불휘발성 메모리의 서로 다른 행에 대해서도 연속적인 주소값을 할당하면, 복수의 행들의 데이터도 단일 베이스 주소와 하나의 상대 주소를 통해서 접근할 수 있다.
이상에서는 본 발명의 실시 예에 따른 상대 주소의 전달 방법이 예시적으로 설명되었다. 상대 주소는 베이스 주소(B_ADD)를 기준으로 어드레스의 증가 크기를 나타내는 상대적인 값이다. 따라서, 베이스 주소만 설정되면, 반복적인 액티브 명령없이 불휘발성 메모리 장치(124)로의 접근이 가능하다.
도 3은 도 1의 메모리 컨트롤러에서 구성하는 상대 주소 테이블을 예시적으로 보여주는 도면이다. 도 3을 참조하면, 상대 주소 테이블(112)은 복수의 스트림 아이디들, 그리고 각각의 스트림 아이디에 대응하는 최종 전송 어드레스가 포함될 수 있다.
메모리 컨트롤러(115)는 접근 요청을 발행하는 코어나 애플리케이션에 따라 스트림 아이디를 할당할 수 있다. 그리고 스트림 아이디에 대응하는 최종 전송 주소에 대한 정보가 상대 주소 테이블(112)에 보관 및 업데이트될 것이다. 호스트(110)의 특정 코어에서 발행한 접근 요청에 대해서 스트림 아이디(S_ID1)가 할당되었다고 가정하자. 그러면, 메모리 컨트롤러(115)는 스트림 아이디(S_ID1)에 대응하는 최종 전송 주소(Last sending address)를 상대 주소 테이블(112)에 저장한다. 예를 들면, 스트림 아이디(S_ID1)의 최종 전송 주소는 베이스 주소 '110'과 상대 주소 '150'으로 기입될 수 있다. 마찬가지로, 스트림 아이디(S_ID4)에 대응하는 최종 전송 주소(Last sending address)를 상대 주소 테이블(112)에 저장될 수 있다. 스트림 아이디(S_ID4)의 최종 전송 주소는 베이스 주소 '240'과 상대 주소 '300'으로 기입될 수 있다. 이것은 베이스 주소 '240'으로부터 '300' 만큼 증가된 칼럼 위치를 나타낼 수 있다.
더불어, 베이스 주소로부터 상대 주소를 차감하는 방식으로도 상대 주소 기법이 사용될 수 있다. 즉, 상대 주소와 더불어 증가/감소를 나타내는 부호(+, -)가 옵션으로 추가될 수 있을 것이다. 즉, 스트림 아이디(S_ID5)의 최종 전송 주소는 베이스 주소 '500'에 부호 '-'와 함께 상대 주소 '200'이 제공되었다고 가정하자. 그러면, 최종 전송 주소는 베이스 주소 '500'에서 상대 주소 '200'을 차감한 열 위치 '300'에 해당할 것이다.
여기에서, 스트림 아이디가 하나의 계층으로 할당되는 것으로 설명되었으나, 스트림 아이디도 복수의 계층을 갖는 상대 주소 방식으로 할당될 수도 있을 것이다.
이상에서 설명된 호스트(110)의 상대 주소 테이블(112)에 따르면, 스트림 아이디 각각에 대한 최종 전송 주소가 유지 및 업데이트될 수 있다. 따라서, 상대 주소 테이블(112)을 참조하여 동일한 스트림 아이디에 대해서 추가적인 접근 요청이 발생하면, 최종 전송 주소를 기반으로 상대 주소를 생성할 수 있다.
도 4는 최종 전송 주소를 참조한 메모리 컨트롤러(115)의 상대 주소 생성 방법을 보여주는 순서도이다. 도 4를 참조하면, 메모리 컨트롤러(115)는 스트림 아이디를 기반으로 상대 주소를 생성하고 관리할 수 있다.
S110 단계에서, 메모리 컨트롤러(115)는 호스트(110)의 특정 구성들로부터 불휘발성 램(120)에 대한 접근 요청을 수신한다. 예를 들면, 도시되지는 않았지만, 멀티-코어로 구성되는 프로세싱 유닛들 중 어느 하나의 코어로부터 접근 요청을 수신할 수 있다. 특정 코어로부터 제공되는 접근 요청에 대해서는 특정 스트림 아이디를 할당할 것이다.
S120 단계에서, 메모리 컨트롤러(115)는 상대 주소 테이블(112)에서 특정 스트림 아이디가 존재하는지 검색할 것이다. 이전에도 특정 코어로부터 제공된 접근 요청이 있었다면, 특정 코어에 대응하는 스트림 아이디는 상대 주소 테이블(112)에 존재할 것이다. 하지만, 특정 코어로부터 최초로 접근 요청이 발행된 경우라면, 상대 주소 테이블(112)에는 특정 코어에 대응하는 스트림 아이디는 존재하지 않을 것이다.
S130 단계에서, 상대 주소 테이블(112)에 접근 요청된 스트림 아이디와 동일한 스트림 아이디의 존재 여부에 따라 동작 분기가 발생한다. 접근 요청된 스트림 아이디와 동일한 스트림 아이디의 존재하는 경우(Yes 방향), 절차는 S140 단계로 이동한다. 반면, 접근 요청된 스트림 아이디와 동일한 스트림 아이디가 존재지 않는 경우(No 방향), 절차는 S150 단계로 이동한다.
S140 단계에서, 메모리 컨트롤러(115)는 최종 전송 어드레스를 참조하여 접근 요청된 위치의 베이스 주소와 상대 주소를 생성하게 될 것이다. 즉, 최종 전송 주소의 베이스 주소와 상대 주소를 결합한 위치를 베이스 주소로 생성하고, 접근 요청된 데이터의 사이즈를 참조하여 상대 주소를 생성할 수 있다.
S150 단계에서, 메모리 컨트롤러(115)는 새로운 스트림 아이디를 할당할 것이다. 그리고 새로운 스트림 아이디에 대응하는 베이스 주소와 상대 주소를 생성할 것이다.
S160 단계에서, 메모리 컨트롤러(115)는 생성된 주소를 불휘발성 램(120)에 전달한다. 즉, 스트림 아이디를 전달하기 위한 명령어/어드레스와 베이스 주소, 상대 주소를 전달하기 위한 명령어/어드레스를 불휘발성 램(120)에 전달할 것이다.
S170 단계에서, 메모리 컨트롤러(150)는 최종적으로 전달된 스트림 아이디와 베이스 주소, 상대 주소를 상대 주소 테이블(112)에 업데이트할 것이다.
이상에서는 호스트(110)에서 수행되는 상대 주소 테이블(112)을 이용하여 스트림 단위로 상대 주소를 생성하는 방법이 설명되었다. 하지만, 호스트(110)에서 생성되는 상대 주소의 생성 방식은 여기에만 국한되지 않음은 잘 이해될 것이다. 특정 스트림 아이디에서 베이스 주소는 항상 최종 전송 상대 주소가 되도록 설정될 수 있다. 또는, 스트림 아이디를 상위 스트림과 하위 스트림과 같은 계층적으로 설정할 수 있다. 즉, 접근 요청을 발행하는 코어별, 쓰레드별 계층을 나누어서 스트림 아이디를 계층적으로 구성할 수 있을 것이다.
도 5는 본 발명의 메모리 컨트롤러가 불휘발성 램에 접근하는 명령어 시퀀스를 간략히 보여주는 타이밍도이다. 도 5를 참조하면, 메모리 컨트롤러(115)는 불휘발성 램(120)에 디램 인터페이스 방식으로 접근할 수 있다.
메모리 컨트롤러(115)는 액티브 명령어(ACT)를 사용하여 스트림 아이디(S1)와 베이스 주소(BO)를 설정할 수 있다. 액티브 명령어(ACT) 입력 사이클에 동기하여, 스트림 아이디(S1)는 뱅크 주소(BA) 입력 사이클에 전달되고, 베이스 주소(B0)는 행 주소(Row Address)의 입력 사이클에 전달될 수 있다. 이러한 베이스 주소(B0)와 스트림 아이디(S1)의 설정은 T0 시점에 동시에 이루어질 수 있다.
스트림 아이디(S1)와 베이스 주소(B0)의 입력에 후속하여, T1 시점에서 읽기 명령어(RD)와 상대 주소(R1)의 입력 사이클이 수행될 수 있다. 물론 이때에도 스트림 아이디(S1)가 함께 제공될 수 있을 것이다. 그리고 T2 시점에서, 연속하여 액티브 명령(ACT)의 제공없이 읽기 명령어(RD)와 상대 주소(R2)의 입력 사이클이 이어진다. 그리고 액티브 명령(ACT)의 사용없이 T3 시점에서 읽기 명령어(RD)와 상대 주소(R3)의 입력 사이클이 후속될 수 있다.
상술한 상대 주소를 사용한 읽기 요청에 응답하여 불휘발성 램(120)은 요청된 데이터(D1, D2, D3)를 순차적으로 출력할 것이다. 여기서, 하나의 데이터 출력 사이클에 요청된 데이터가 출력되는 것으로 도시되었으나, 데이터(D1, D2, D3) 각각은 복수의 사이클에 대응할 수도 있음은 잘 이해될 것이다.
이상에서는 디램 인터페이스를 사용하여 본 발명의 상대 주소를 전달하는 방법이 설명되었다. 따라서, 디램과 호환성을 제공하면서도 주소 전달을 위해서 소모되는 메모리 버스의 사용율을 줄일 수 있다.
도 6은 본 발명의 불휘발성 램의 동작을 보여주는 순서도이다. 도 6을 참조하면, 장치 컨트롤러(122)는 베이스 주소 테이블(123)을 사용하여 메모리 컨트롤러(115)에서 제공하는 상대 주소에 대응하는 메모리 위치에 접근할 수 있다.
S210 단계에서, 장치 컨트롤러(122)는 명령어/어드레스 입력 사이클에서 전달되는 명령어/어드레스 셋을 수신한다. 명령어/어드레스 셋에는 스트림 아이디와 베이스 주소가 전달되는 사이클이나, 읽기/쓰기 명령어와 상대 주소가 전달되는 사이클이 포함될 수 있다.
S220 단계에서, 장치 컨트롤러(122)는 명령어/어드레스 입력 사이클에서 전달된 명령어(CMD)의 종류에 따라 동작 분기를 수행한다. 예를 들면, 명령어(CMD)가 새로운 스트림 아이디와 베이스 주소를 설정하기 위한 셋 명령어(또는, ACT 명령어)인 경우, 절차는 S230 단계로 이동할 것이다. 반면, 명령어(CMD)가 기존에 입력된 스트림 아이디와 베이스 주소에 기반한 상대 주소를 입력하기 위한 읽기/쓰기 명령어에 해당하는 경우, 절차는 S240 단계로 이동할 것이다.
S230 단계에서, 장치 컨트롤러(122)는 셋 명령어(또는, ACT 명령어)를 통해서 제공된 스트림 아이디와 베이스 주소를 베이스 주소 테이블(123)에 기입할 것이다. 이 경우 제공된 스트림 아이디는 새롭게 제공된 것이기 때문에 베이스 주소 테이블(123)에 등록되고, 베이스 주소도 새롭게 설정될 것이다. 이 후에, 절차는 상대 주소를 동반하는 접근 명령어를 수신하기 위한 S210 단계로 복귀한다.
S240 단계에서, 장치 컨트롤러(122)는 읽기/쓰기 명령어와 동기되어 입력된 상대 주소가 지시하는 메모리 영역에 접근한다. 장치 컨트롤러(122)는 베이스 주소 테이블(123)에 등록된 베이스 주소를 기준으로, 입력된 상대 주소만큼 증가 또는 감소된 열 위치의 메모리 영역에 접근할 수 있다.
S250 단계에서, 장치 컨트롤러(122)는 지정된 메모리 영역에 데이터를 기입하거나 기입된 데이터를 센싱할 것이다.
S260 단계에서, 장치 컨트롤러(122)는 최종적으로 입력된 상대 주소를 사용하여 베이스 주소 테이블(123)을 업데이트할 것이다. 즉, 장치 컨트롤러(122)는 최종 입력된 상대 주소를 사용하여 대응하는 스트림 아이디의 베이스 주소를 업데이트할 수 있다.
이상에서는 장치 컨트롤러(122)의 상대 주소의 적용 방법이 설명되었다. 여기서, 액티브 명령어를 통해서 베이스 주소와 스트림 아이디가 설정되는 것으로 설명되었으나, 이러한 예는 상대 주소를 입력하기 위한 일 실시 예에 불과함은 잘 이해될 것이다. 즉, 베이스 주소와 상대 주소를 설정하기 위한 프로토콜은 상술한 방법 이외에도 다양하게 변경된 형태로 제공될 수 있을 것이다.
도 7은 본 발명의 상대 주소 생성 방식과 기존의 절대 주소 생성 방식을 선택적으로 적용할 수 있는 메모리 시스템의 예를 보여주는 순서도이다. 도 7을 참조하면, 메모리 컨트롤러(115, 도 1 참조)는 미리 설정된 기준에 따라 접근 요청에 대해서 상대 주소를 적용할지 또는 절대 주소를 적용할지 결정할 수 있다.
S310 단계에서, 메모리 컨트롤러(115)는 호스트(110)에서 제공되는 불휘발성 램(120)에 대한 접근 요청을 수신한다.
S320 단계에서, 메모리 컨트롤러(115)는 불휘발성 램(120)에 대한 접근 요청에 대해 상대 주소를 적용할지, 또는 절대 주소를 적용할지 판단한다. 주소 방식의 판단 기준은 다양하게 설정될 수 있다. 예를 들면, 호스트(110)의 바이오스(BIOS)와 같은 설정 환경에 따라 절대 주소 방식과 상대 주소 방식 중 어느 하나를 선택할 수 있을 것이다. 또는, 메모리 컨트롤러(115)가 메모리 버스(130)의 상태를 판단하여 불휘발성 램(120)에 접근하기 위한 주소 방식을 선택할 수도 있을 것이다. 즉, 메모리 버스(130)의 사용율이 상대적으로 높은 경우, 메모리 컨트롤러(115)는 상대 주소 방식을 선택하여 버스 사용 효율을 높일 수 있을 것이다. 하지만, 절대 주소와 상대 주소 방식의 선택 기준은 여기에만 국한되지 않으며, 다양한 기준에 따라 주소 방식이 선택될 수 있을 것이다.
S330 단계에서, 주소 방식에 따른 동작 분기가 발생한다. 만일, 선택된 주소 방식이 상대 주소인 경우(Yes 방향), 절차는 S340 단계로 이동할 것이다. 반면, 선택된 주소 방식이 상대 주소가 아닌 절대 주소인 경우(No 방향), 절차는 S350 단계로 이동할 것이다.
S340 단계에서, 메모리 컨트롤러(115)는 상대 주소 테이블(112)을 참조하여 상대 주소를 생성한다. 메모리 컨트롤러(115)는 상대 주소 테이블(112)에 등록된 스트림 아이디를 검색하고, 최종 전송 주소를 참조하여 베이스 주소 및 상대 주소를 생성할 수 있다.
S350 단계에서, 메모리 컨트롤러(115)는 생성된 주소를 사용하여 불휘발성 램에 접근 명령어를 전달할 수 있다. 메모리 컨트롤러(115)는 상대 주소 방식 또는 절대 주소 방식에 따라 명령어/어드레스를 불휘발성 램(120)에 전달할 수 있다. 그리고 메모리 컨트롤러(115)는 상대 주소 방식인지, 또는 절대 주소 방식에 의한 접근인지를 나타내는 힌트 정보나 제어 신호를 불휘발성 램(120)에 함께 제공할 수 있을 것이다.
이상에서는 상대 주소 방식과 절대 주소 방식을 선택적으로 적용하는 메모리 컨트롤러(115)의 기능이 설명되었다. 여기서, 도시되지는 않았지만 메모리 컨트롤러(115)에 의해서 제공되는 주소 방식을 불휘발성 램(120)이 인식할 수 있는 다양한 수단들이 제공될 수도 있음은 잘 이해될 것이다.
도 8은 메모리 컨트롤러에 의한 상대 주소 생성 방식의 다른 예를 보여주는 순서도이다. 도 8을 참조하면, 메모리 컨트롤러(115, 도 1 참조)는 동일한 스트림 아이디로 접근 요청이 발생하더라도, 베이스 주소로부터 상대적으로 큰 폭의 주소 이동(Jump size)인 경우, 새로운 베이스 주소를 할당할 수 있다.
S410 단계에서, 메모리 컨트롤러(115)는 호스트(110)에서 제공되는 불휘발성 램(120)에 대한 접근 요청을 수신한다.
S420 단계에서, 메모리 컨트롤러(115)는 접근 요청에 대응하는 상대 주소의 점프 사이즈(Jump size)를 체크한다.
S430 단계에서, 메모리 컨트롤러(115)는 상대 주소의 점프 사이즈(Jump size)에 따른 동작 분기를 수행할 것이다. 점프 사이즈가 기준치(TH)보다 작은 경우(Yes 방향), 절차는 S440 단계로 이동한다. 점프 사이즈가 기준치(TH)와 같거나 큰 경우(No 방향), 절차는 S450 단계로 이동할 것이다.
S440 단계에서, 메모리 컨트롤러(115)는 대응하는 스트림 아이디에 대한 베이스 주소를 최종 전송 주소에 의해서 설정된 값 또는 이전에 전송한 베이스 주소와 동일한 값으로 유지할 것이다.
S450 단계에서, 메모리 컨트롤러(115)는 대응하는 스트림 아이디에 대한 베이스 주소를 새로운 값으로 할당할 것이다.
S460 단계에서, 메모리 컨트롤러(115)는 생성된 주소를 사용하여 불휘발성 램에 접근 명령어를 전달할 수 있다.
이상에서는 동일한 스트림 아이디 내에서 상대 주소의 점프 사이즈에 따라 새로운 베이스 주소를 설정하는 방법이 설명되었다. 하지만, 동일한 스트림 아이디에서 베이스 주소를 새로운 값으로 리셋하는 기준은 다양한 조건에 따라 변경될 수 있음은 잘 이해될 것이다.
도 9는 본 발명의 불휘발성 램에 대한 예를 보여주는 블록도이다. 도 9를 참조하면, 본 발명의 불휘발성 램(120)은 장치 컨트롤러(122)와 복수의 불휘발성 메모리 장치들(124_1~124_7)을 포함할 수 있다.
복수의 불휘발성 메모리 장치들(124_1~124_7)은 메모리 버스(130, 도 1 참조)의 데이터 라인들(DQ)과 데이터 스트로브 라인들(DQS)에 각각 연결될 수 있을 것이다. 예를 들면, 불휘발성 메모리 장치(124_1)는 4개(×4) 데이터 라인들(DQ)과 직접 연결될 수도 있다. 그리고 도시되지는 않았지만 4개의 데이터 라인들(DQ)에 하나가 할당되는 데이터 스트로브 라인(DQS)에 따라 불휘발성 메모리 장치(124_1)에 데이터가 입력 또는 출력될 수 있을 것이다. 그리고 나머지 불휘발성 메모리 장치들(124_2~124_7) 각각 서로 다른 데이터 라인들(DQ)과 데이터 스트로브 라인(DQS)이 연결될 것이다. 호스트(110)의 메모리 컨트롤러(115)는 메모리 버스(130)를 통해서 불휘발성 메모리 장치들(124_1~124_7)에 데이터를 제공하고, 장치 컨트롤러(122)에 명령어나 어드레스를 전달할 수 있다.
장치 컨트롤러(122)는 호스트(110)의 메모리 컨트롤러(115)로부터 제공되는 명령어/어드레스(CMD/ADD)를 수신할 수 있다. 장치 컨트롤러(122)는 수신된 명령어/어드레스를 불휘발성 메모리 장치들(124_1~124_7)에 전달할 수 있다. 장치 컨트롤러(122)는 메모리 컨트롤러(115)로부터 제공되는 상대 주소, 스트림 아이디 등을 참조하여 불휘발성 메모리 장치들(124_1~124_7)에 접근할 수 있다.
도시되지는 않았지만, 불휘발성 램(120)은 불휘발성 메모리 장치들(153~157)과 다른 랭크(Rank)를 구성하는 복수의 디램 장치들을 더 포함할 수도 있을 것이다. 또는, 불휘발성 램(120)은 불휘발성 메모리 장치들(124_1~124_7)의 버퍼 용도로 사용되는 휘발성 메모리 장치들을 더 포함할 수도 있다. 그리고 불휘발성 램(120)은 디램 장치들을 포함하고, 불휘발성 메모리 장치들(124_1~124_7)은 디램 장치들의 백업 용도로 사용되는 형태로 구성될 수도 있음은 잘 이해될 것이다. 더불어, 데이터 라인들(DQ)이 장치 컨트롤러(122)에 연결되고, 장치 컨트롤러(122)에 의해서 입력된 데이터가 불휘발성 메모리 장치들(124_1~124_7)에 전달되는 구조로도 불휘발성 램(120)이 구성될 수 있을 것이다. 그리고, 불휘발성 메모리 장치들(124_1~124_7)에는 각각 대응하는 데이터 버퍼들(DBs)이 포함될 수 있다.
데이터 버퍼들(DBs)은 호스트(110)와의 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 수신하여 불휘발성 메모리 장치들(124_1~124_7)에 전달할 수 있다. 일반적으로, 데이터 버퍼들(DBs)의 존재에 따라 불휘발성 램(120)은 예를 들면, LRDIMM(Load Reduced DIMM)과 호환되는 구조를 가질 수 있다.
불휘발성 메모리 장치들(124_1~124_7)은 예를 들면, 하나 이상의 플래시 메모리로 제공될 수 있다. 또는, 불휘발성 메모리 장치들(124_1~124_7)은 EEPROM(Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM(Phase-change RAM), ReRAM(Resistive RAM), FRAM(Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 불휘발성 메모리 소자들로 구현될 수 있다.
도 10은 본 발명의 메모리 시스템의 다른 구조를 보여주는 블록도이다. 도 10을 참조하면, 메모리 시스템(200)은 메모리 버스(230)에 연결되는 호스트(210)와 불휘발성 램(220)을 포함한다. 여기서, 불휘발성 램(220)은 하나의 메모리 장치나 메모리 카드, 또는 솔리드 스테이트 드라이브(SSD)형태로도 제공될 수 있을 것이다. 호스트(210)는 스트림 아이디(S_ID)와 상대 주소(R_ADD)를 사용하여 불휘발성 램(220)에 접근한다. 호스트(210)의 기능이나 구성은 도 1의 그것과 실질적으로 동일하므로, 호스트에 대한 구체적인 설명은 생략하기로 한다.
불휘발성 램(220)은 셀 어레이(222), 제어 로직(224), 읽기/쓰기 회로(226), 그리고 입출력 버퍼(228)를 포함할 수 있다. 셀 어레이(222)는 불휘발성 메모리 소자를 포함할 수 있다. 예를 들면, 셀 어레이(222)는 EEPROM(Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM(Phase-change RAM), ReRAM(Resistive RAM), FRAM(Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM)과 같은 불휘발성 소자를 포함할 수 있다.
제어 로직(224)은 호스트(210)로부터 제공되는 스트림 아이디(S_ID), 상대 주소(R_ADD)를 사용하여 셀 어레이(222)에 접근할 수 있다. 제어 로직(224)은 스트림 아이디(S_ID), 베이스 주소(B_ADD), 그리고 상대 주소(R_ADD)들 중 적어도 하나를 디코딩하여 행과 열을 선택할 수 있다. 제어 로직(224)은 선택된 행과 열에 대응하는 워드 라인과 비트 라인을 선택할 수 있다. 이러한 스트림 아이디(S_ID), 베이스 주소(B_ADD), 그리고 상대 주소(R_ADD)를 디코딩하기 위해 제어 로직(224)은 베이스 주소 테이블(BADD table)을 포함할 수 있다. 베이스 주소 테이블(BADD table)은 스트림 아이디(S_ID), 베이스 주소(B_ADD), 그리고 상대 주소(R_ADD)를 저장하고 업데이트할 수 있다.
읽기/쓰기 회로(226)는 선택된 열의 비트 라인(BL)을 통해서 셀 어레이(222)에 데이터를 기입하거나, 기입된 데이터를 센싱한다. 입출력 버퍼(228)는 메모리 버스(230)를 통해서 제공되는 데이터(DQ)를 읽기/쓰기 회로(226)에 전달한다. 또한, 입출력 버퍼(228)는 읽기/쓰기 회로(226)로부터 제공되는 데이터를 메모리 버스(230)로 전달한다.
도 11은 본 발명의 불휘발성 메모리 장치의 예로 상 변화 메모리 장치의 셀 구조 및 물성을 각각 보여주는 도면이다. 도 11을 참조하면, 메모리 셀(300)은 가변 저항체와 액세스 트랜지스터(NT)로 구성된다. 상부 전극(310), 상 변화 물질(320), 콘택 플러그(330), 그리고 하부 전극(340)으로 가변 저항체가 구성된다. 상부 전극(310)은 비트 라인(BL)에 연결된다. 하부 전극(340)은 콘택 플러그(Contact plug: CP)(330)와 액세스 트랜지스터(NT) 사이에 연결된다. 콘택 플러그(330)는 도전성 물질(예컨대, TiN 등)로 형성되며, 히터 플러그(Heater Plug)라고도 부른다. 상 변화 물질(320)은 상부 전극(310)과 콘택 플러그(330) 사이에 형성된다. 상 변화 물질(320)의 상태(Phase)는 공급되는 전류 펄스의 크기(Amplitude), 폭(Duration), 하강 시간(Fall time) 등에 따라 바뀌게 된다. 셋(Set) 또는 리셋(Reset)에 대응하는 상 변화 물질의 상태(Phase)는 도시된 바와 같이 비정질 양(Amorphous volume, 350)에 의해서 결정된다. 일반적으로 비정질 상태(Amorphous Phase)는 리셋 상태에, 결정 상태(Crystal Phase)는 셋 상태에 대응한다. 비정질 상태(Amorphous state)에서 결정 상태(Crystal state)로 진행될수록 비정질 양은 적어진다. 상 변화 물질(320)은 형성되는 비정질 양(Amorphous volume, 350)에 따라 가변되는 저항(Resistance)을 갖는다. 즉, 서로 다른 전류 펄스에 따라 형성되는 상 변화 물질(320)의 비정질 양(350)에 따라 기입되는 데이터가 결정된다.
도 12 및 도 13은 본 발명의 불휘발성 램에 포함되는 메모리 셀을 간략히 보여주는 도면들이다. 도 12에는 스핀 전달 토크형 MRAM(STT-MRAM)의 셀 구조가 입체적으로 간략히 도시되어 있다. 그리고 도 13에는 저항성 램의 셀 구조가 설명되어 있다.
도 12를 참조하면, 불휘발성 램의 메모리 셀로 스핀 전달 토크형 MRAM(Spin Transfer Torque Magneto resistive Random Access Memory: 이하, STT-MRAM)의 메모리 셀(400)을 보여준다. 메모리 셀(400)은 자기 터널 접합(Magnetic Tunnel Junction: 이하, MTJ) 소자(410) 및 셀 트랜지스터(CT, 420)를 포함할 수 있다. 셀 트랜지스터(420)의 게이트에는 워드 라인(WL0)이 연결될 수 있다. 그리고 셀 트랜지스터(420)의 일단은 MTJ 소자(410)를 경유하여 비트 라인(BL0)과 연결된다. 또한, 셀 트랜지스터(420)의 타단은 소스 라인(SL0)에 연결된다.
MTJ 소자(410)는 고정층(Pinned layer, 413)과 자유층(Free layer, 411), 그리고 이들 사이에 위치하는 터널층(412)이 포함할 수 있다. 고정층(413)의 자화 방향은 고정되어 있으며, 자유층(411)의 자화 방향은 조건에 따라 고정층(413)의 자화 방향과 같거나 역방향이 될 수 있다. 고정층(413)의 자화 방향을 고정시켜 주기 위하여, 예컨대, 반강자성층(Anti-ferromagnetic layer, 미도시)이 더 구비될 수 있다.
STT-MRAM(400)의 라이트 동작을 하기 위해서는, 워드 라인(WL0)에 전압을 인가하여 셀 트랜지스터(420)를 턴-온 시키고, 비트 라인(BL0)과 소스 라인(SL0) 사이에 쓰기 전류를 인가한다. STT-MRAM(400)의 리드 동작을 하기 위해서는, 워드 라인(WL0)에 턴-온 전압을 인가하여 셀 트랜지스터(420)를 턴-온시키고, 비트 라인(BL0)으로부터 소스 라인(SL0) 방향으로 읽기 전류를 인가하여, 측정되는 저항 값에 따라 MTJ 셀(420)에 저장된 데이터를 판별할 수 있다.
도 13은 저항성 메모리 장치의 메모리 셀(500)을 예시적으로 보여주는 회로도들이다. 도 13을 참조하면, 저항 메모리 장치의 메모리 셀(500)은 가변 저항 소자(510, Rv)와 선택 소자(520, STR)를 포함한다.
가변 저항 소자(510)는 데이터를 저장하기 위한 가변 저항 물질을 포함한다. 선택 소자(520)는 워드 라인(WL)의 바이어스에 따라 가변 저항 소자(510)에 전류를 공급 또는 차단한다. 선택 소자(520)는 도시된 바와 같이 NMOS 트랜지스터로 구성될 수 있다. 하지만, 선택 소자(520)는 PMOS 트랜지스터, 또는 다이오드 등과 같은 스위치 소자들 중 어느 하나로 구성될 수 있다.
가변 저항 소자(510, Rv)는 한 쌍의 전극들(511, 513), 그리고 전극들 사이에 형성되는 데이터 저장막(512)을 포함한다. 데이터 저장막(512)은 쌍극성(Bipolar) 저항 기억 재료 또는 단극성(Unipolar) 저항 기억 재료로 형성될 것이다. 쌍극성 저항 기억 재료는 펄스의 극성에 의하여 셋이나 리셋 상태로 프로그램된다. 단극성 저항 기억 재료는 동일한 극성의 펄스에 의해서도 셋이나 리셋 상태로 프로그램될 수 있다. 단극성 저항 기억 재료에는, NiOx나 TiOx와 같은 단일의 천이 금속의 산화물(Metal Oxide) 등이 포함된다. 쌍극성 저항 기억 재료에는 페로브스카이트(Perovskite) 계열의 물질들이 포함될 수 있다.
이상에서 불휘발성 램을 구성하는 메모리 셀의 예로 STT-MRAM과 RRAM이 간단히 소개되었다. 하지만, 본 발명의 불휘발성 램을 구성하는 메모리 셀은 여기에 국한되지 않음은 잘 이해될 것이다. 즉, 불휘발성 램의 메모리 셀은 플래시 메모리, PRAM, MRAM, FRAM 중 어느 하나의 형태로 제공될 수 있을 것이다.
도 14는 본 발명의 상대 주소 방식을 사용하는 시스템을 예시적으로 보여주는 블록도이다. 도 14를 참조하면, 메모리 시스템(1000)은 메모리 버스(1400)를 통해서 연결되는 호스트(1100), 디램 캐시(1300), 그리고 메인 메모리(1200)를 포함할 수 있다. 여기서, 메인 메모리(1200)는 앞서 설명된 도 1의 불휘발성 램(120)과 실질적으로 동일하게 구성될 것이다.
호스트(1100)는 메인 메모리(1200)에 데이터를 기입하거나 또는 메인 메모리(1200)에 저장된 데이터를 읽을 수 있다. 호스트(1100)는 메인 메모리(1200)에 데이터를 로드하고, 로드된 데이터를 사용하여 다양한 연산을 수행할 수 있다. 예를 들면, 호스트(1100)는 메모리 시스템(1000)을 제어하는 중앙 처리 장치(CPU)를 포함할 수 있다.
호스트(1100)는 디램 캐시(1300)와 메인 메모리(1200)를 제어하기 위한 메모리 컨트롤러(1150)를 포함할 수 있다. 호스트(1100)는 메인 메모리(1200)에 저장된 데이터를 읽기 위해 메모리 컨트롤러(1150)에 읽기 요청을 전달할 수 있다. 메모리 컨트롤러(1150)는 호스트(1100)가 요청한 데이터를 읽기 위해서 메인 메모리(1200)에 접근할 것이다. 이때, 메모리 컨트롤러(1150)는 도 1에서 설명한 상대 주소를 사용하여 메인 메모리(1200)에 접근할 수 있다.
특히, 메모리 컨트롤러(1150)는 디램 캐시(1300)를 메인 메모리(1200)의 캐시 메모리로 사용한다. 즉, 메모리 컨트롤러(1150)는 메인 메모리(1200)에 저장된 데이터를 디램 캐시(1300)의 캐시 라인(Cache line)에 저장할 수 있다. 메모리 컨트롤러(1150)는 메인 메모리(1200) 대신에 캐시 라인에 접근할 수 있다. 디램 캐시(1300)와 메모리 버스(1400)를 공유하기 때문에, 메모리 컨트롤러(1150)는 액티브 명령(ACT)을 사용하여 스트림 아이디(S_ID), 베이스 주소(B_ADD)를 메인 메모리(1200)에 전달할 수 있다. 그리고 읽기/쓰기 명령어를 사용하여 상대 주소(R_ADD)를 메인 메모리(1200)에 제공할 수 있다.
메인 메모리(1200)는 불휘발성 메모리를 포함하는 메모리 장치 또는 메모리 모듈로 제공될 수 있다. 메인 메모리(1200)는 디램 캐시(1300)에 비해서 상대적으로 대용량화가 용이한 메모리 장치들을 포함할 수 있다. 메인 메모리(1200)는 덮어쓰기 가능한 불휘발성 메모리 장치나, 덮어쓰기 불가한 불휘발성 메모리를 포함할 수 있을 것이다. 메인 메모리(1200)는 예를 들면, 복수의 플래시 메모리로 제공될 수 있다. 예시적으로, 메인 메모리(1200)는 EEPROM(Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM(Phase-change RAM), ReRAM(Resistive RAM), FRAM(Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 불휘발성 메모리 장치로 구현될 수 있다.
본 발명에 따른 디램, 불휘발성 메모리 장치, 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 휘발성 및 불휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예들에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100, 200 : 메모리 시스템 110, 210 : 호스트
112 : 상대 주소 테이블 115, 215 : 메모리 컨트롤러
120, 220 : 불휘발성 램 122 : 장치 컨트롤러
123 : 베이스 주소 테이블 124 : 불휘발성 메모리 장치
222 : 셀 어레이 224 : 제어 로직
226 : 읽기/쓰기 회로 228 : 입출력 버퍼
310 : 상부 전극 320 : 상 변화 물질
330 : 콘택 플러그 340 : 하부 전극
410 : MTJ 소자 411 : 자유층
412 : 터널층 413 : 고정층
420 : 셀 트랜지스터 510 : 가변 저항 소자
511 : 전극 512 : 데이터 저장막
513 : 전극 520 : 선택 소자
1100 : 호스트 1150 : 메모리 컨트롤러
1200 : 메인 메모리 1300 : 디램 캐시
1400 : 메모리 버스

Claims (10)

  1. 랜덤 액세스가 가능한 불휘발성 램의 접근 방법에 있어서:
    외부로부터 베이스 주소 및 스트림 아이디를 수신하는 단계;
    상기 베이스 주소로부터 증가 또는 감소하는 크기에 대응하는 상대 주소, 및 상기 스트림 아이디를 수신하는 단계; 그리고
    상기 베이스 주소와 상기 상대 주소를 참조하여 상기 불휘발성 램의 메모리 영역에 저장된 데이터를 읽거나 외부로부터 제공된 데이터를 상기 불휘발성 램에 기입하는 단계를 포함하고,
    상기 베이스 주소와 상기 스트림 아이디는 액티브 명령을 사용하여 상기 불휘발성 램에 전달되고,
    상기 스트림 아이디에 상응하는 상기 불휘발성 램에 대한 추가적인 접근 명령은 추가적인 상기 액티브 명령없이 상기 불휘발성 램에 전달되는 접근 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 베이스 주소는 행 어드레스의 입력 시퀀스에서, 상기 스트림 아이디는 뱅크 어드레스의 입력 시퀀스에서 수신되는 접근 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 상대 주소를 수신하는 단계에서, 상기 상대 주소는 읽기 또는 쓰기 명령어를 사용하여 상기 불휘발성 램에 전달되는 접근 방법.
  6. 제 1 항에 있어서,
    상기 상대 주소와 상기 베이스 주소를 이용한 최종 접근 주소를 저장하는 단계를 더 포함하는 접근 방법.
  7. 제 1 항에 있어서,
    상기 베이스 주소로부터 상기 상대 주소만큼의 증가 또는 감소를 지시하는 값을 수신하는 단계를 더 포함하는 접근 방법.
  8. 제 1 항에 있어서,
    상기 불휘발성 램은 EEPROM(Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM(Phase-change RAM), ReRAM(Resistive RAM), FRAM(Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 중 적어도 하나의 메모리 장치를 포함하는 접근 방법.
  9. 랜덤 액세스가 가능한 불휘발성 램에 접근하는 방법에 있어서:
    상기 불휘발성 램에 대한 접근 요청을 수신하는 단계;
    상기 접근 요청에 대응하는 스트림 아이디가 상대 주소 테이블에 존재하는지 검출하는 단계;
    상기 상대 주소 테이블에 상기 스트림 아이디가 존재하는 경우, 상기 스트림 아이디에 대응하는 최종 전송 주소를 참조하여 베이스 주소 및 상기 베이스 주소로부터 증가 또는 감소하는 크기에 대응하는 상대 주소를 생성하는 단계; 그리고
    상기 베이스 주소와 상기 상대 주소를 상기 불휘발성 램에 전달하는 단계를 포함하고,
    상기 베이스 주소는 액티브 명령과 함께 전달되고, 상기 상대 주소는 읽기 또는 쓰기 명령어와 함께 전달되는 접근 방법.
  10. 삭제
KR1020150167581A 2015-11-27 2015-11-27 상대 주소를 사용하는 메모리 장치의 접근 방법 KR102533229B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150167581A KR102533229B1 (ko) 2015-11-27 2015-11-27 상대 주소를 사용하는 메모리 장치의 접근 방법
US15/360,134 US10269423B2 (en) 2015-11-27 2016-11-23 Access methods of memory device using relative addressing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150167581A KR102533229B1 (ko) 2015-11-27 2015-11-27 상대 주소를 사용하는 메모리 장치의 접근 방법

Publications (2)

Publication Number Publication Date
KR20170062614A KR20170062614A (ko) 2017-06-08
KR102533229B1 true KR102533229B1 (ko) 2023-05-17

Family

ID=58777484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150167581A KR102533229B1 (ko) 2015-11-27 2015-11-27 상대 주소를 사용하는 메모리 장치의 접근 방법

Country Status (2)

Country Link
US (1) US10269423B2 (ko)
KR (1) KR102533229B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102336666B1 (ko) 2017-09-15 2021-12-07 삼성전자 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR102482035B1 (ko) 2017-11-30 2022-12-28 에스케이하이닉스 주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법
US11593117B2 (en) * 2018-06-29 2023-02-28 Qualcomm Incorporated Combining load or store instructions
US11354038B2 (en) * 2019-07-19 2022-06-07 International Business Machines Corporation Providing random access to variable-length data
CN113360423A (zh) * 2020-03-03 2021-09-07 瑞昱半导体股份有限公司 数据储存系统及操作数据储存系统的方法
JP2021149992A (ja) * 2020-03-23 2021-09-27 キオクシア株式会社 記憶装置
US11921641B1 (en) * 2022-08-31 2024-03-05 Western Digital Technologies, Inc. Address translation for zoned namespace nonvolatile memory using a compacted logical-to-physical table

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110078359A1 (en) 2009-09-25 2011-03-31 Van Dyke James M Systems and Methods for Addressing Physical Memory
US20110233648A1 (en) 2010-03-26 2011-09-29 Samsung Electronics Co., Ltd. Three-Dimensional Semiconductor Memory Devices And Methods Of Fabricating The Same
US20140325129A1 (en) * 2008-12-31 2014-10-30 Micron Technology, Inc. Method and apparatus for active range mapping for a nonvolatile memory device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392252A (en) 1990-11-13 1995-02-21 Vlsi Technology, Inc. Programmable memory addressing
US5497474A (en) 1993-02-25 1996-03-05 Franklin Electronic Publishers, Incorporated Data stream addressing
US6816934B2 (en) 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
US6751143B2 (en) 2002-04-11 2004-06-15 Micron Technology, Inc. Method and system for low power refresh of dynamic random access memories
US7269825B1 (en) 2002-12-27 2007-09-11 Unisys Corporation Method and system for relative address translation
US7805589B2 (en) 2006-08-31 2010-09-28 Qualcomm Incorporated Relative address generation
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
GB2455545B (en) 2007-12-13 2010-01-27 Nec Corp MBMS bearer establishment reconfiguration and release
US8045416B2 (en) 2008-03-05 2011-10-25 Micron Technology, Inc. Method and memory device providing reduced quantity of interconnections
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325129A1 (en) * 2008-12-31 2014-10-30 Micron Technology, Inc. Method and apparatus for active range mapping for a nonvolatile memory device
US20110078359A1 (en) 2009-09-25 2011-03-31 Van Dyke James M Systems and Methods for Addressing Physical Memory
US20110233648A1 (en) 2010-03-26 2011-09-29 Samsung Electronics Co., Ltd. Three-Dimensional Semiconductor Memory Devices And Methods Of Fabricating The Same

Also Published As

Publication number Publication date
KR20170062614A (ko) 2017-06-08
US20170153825A1 (en) 2017-06-01
US10269423B2 (en) 2019-04-23

Similar Documents

Publication Publication Date Title
KR102533229B1 (ko) 상대 주소를 사용하는 메모리 장치의 접근 방법
US9818481B2 (en) Resistive memory device and operation method thereof
US8223527B2 (en) Semiconductor device having memory array, method of writing, and systems associated therewith
US9589632B2 (en) Resistive memory device including column decoder and method of performing a bidirectional driving operation and providing appropriate biasing with respect to bit lines
KR101448915B1 (ko) 프로그램 및 검증 동작을 수행하는 가변 저항 메모리 장치
US11069404B2 (en) Nonvolatile memory device including banks operating in different operation modes, operation method of memory controller, and storage device comprising nonvolatile memory device and memory controller
US10303617B2 (en) Storage device supporting byte accessible interface and block accessible interface and electronic system including the same
US9514813B2 (en) Resistive memory device, resistive memory system, and operating method thereof
CN108475528B (zh) 写入之前的双分界电压感测
EP3547318B1 (en) Tailoring current magnitude and duration during a programming pulse for a memory device
US11087840B2 (en) Method of operating resistive memory device to increase read margin
US20170309330A1 (en) Resistive memory device and a memory system including the same
US10170181B2 (en) Variable resistance memory device including bidirectional switch, memory system including the same, and operating method thereof
KR102187116B1 (ko) 비휘발성 메모리 장치와 이를 포함하는 메모리 시스템, 및 비휘발성 메모리 장치의 구동 방법
US11726690B2 (en) Independent parallel plane access in a multi-plane memory device
US8107284B2 (en) Nonvolatile memory device using a variable resistive element
US11636895B2 (en) Non-volatile resistive memory device including a plurality of write modes
CN109727618A (zh) 具有电阻可变存储器件的半导体存储器系统及其驱动方法
CN109461466B (zh) 具有减小的芯片尺寸的电阻性存储器器件及其操作方法
US10629262B2 (en) Method of operating resistive memory device capable of reducing write latency
US20180047447A1 (en) Current driver, write driver, and semiconductor memory apparatus using the same

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant