KR101977684B1 - 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치 - Google Patents

저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치 Download PDF

Info

Publication number
KR101977684B1
KR101977684B1 KR1020120144546A KR20120144546A KR101977684B1 KR 101977684 B1 KR101977684 B1 KR 101977684B1 KR 1020120144546 A KR1020120144546 A KR 1020120144546A KR 20120144546 A KR20120144546 A KR 20120144546A KR 101977684 B1 KR101977684 B1 KR 101977684B1
Authority
KR
South Korea
Prior art keywords
memory
memory device
resistive
controller
write
Prior art date
Application number
KR1020120144546A
Other languages
English (en)
Other versions
KR20140076224A (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 KR1020120144546A priority Critical patent/KR101977684B1/ko
Priority to US14/077,851 priority patent/US8995203B2/en
Publication of KR20140076224A publication Critical patent/KR20140076224A/ko
Application granted granted Critical
Publication of KR101977684B1 publication Critical patent/KR101977684B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into 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
    • 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/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/0004Digital 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
    • 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/0069Writing or programming circuits or methods
    • 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/0069Writing or programming circuits or methods
    • G11C2013/0088Write with the simultaneous writing of a plurality of cells

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)
  • Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

저항체를 이용한 비휘발성 메모리 장치를 포함한 메모리 컨트롤러의 구동방법이 제공된다. 다수의 제1 메모리 장치와, 제2 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서, 다수의 제1 메모리 장치 중에서, n(단, n은 자연수)개 사용되면, 제2 메모리 장치 내의 a(단, a는 자연수)개의 라이트 드라이버가 구동되도록 하고, 다수의 제1 메모리 장치가 m(단, m은 n과 다른 자연수)개 사용되면, 제2 메모리 장치 내의 b(단, a와 다른 b는 자연수)개의 라이트 드라이버가 구동되도록 하는 것을 포함한다.

Description

저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치{A driving method of memory controller controlling nonvolatile memory device using variable resistive element, the memory controller, a memory system including the memory controller and nonvolatile memory device}
본 발명은 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치에 관한 것이다.
저항체(resistance material)를 이용한 비휘발성 메모리 장치에는 상변화 메모리 장치(PRAM: Phase change Random Access Memory), 저항 메모리 장치(RRAM: Resistive RAM), 자기 메모리 장치(MRAM: Magnetic RAM) 등 있다. 동적 메모리 장치(DRAM: Dynamic RAM)나 플래시 메모리 장치는 전하(charge)를 이용하여 데이터를 저장하는 반면, 저항체를 이용한 비휘발성 메모리 장치는 캘코제나이드 합금(chalcogenide alloy)과 같은 상변화 물질의 상태 변화(PRAM), 가변 저항체의 저항 변화(RRAM), 강자성체의 자화상태에 따른 MTJ(Magnetic Tunnel Junction) 박막의 저항 변화(MRAM) 등을 이용하여 데이터를 저장한다.
여기서, 상변화 메모리 셀을 예를 들어 설명하면, 상변화 물질은 가열 후 냉각되면서 결정 상태 또는 비정질 상태로 변화되는데, 결정 상태의 상변화 물질은 저항이 낮고 비정질 상태의 상변화 물질은 저항이 높다. 따라서, 결정 상태는 셋(set) 데이터 또는 0데이터로 정의하고 비정질 상태는 리셋(reset) 데이터 또는 1데이터로 정의할 수 있다.
본 발명이 해결하려는 과제는, 향상된 프로그램 속도 및 파워 소모가 감소한 메모리 컨트롤러의 동작방법을 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 향상된 프로그램 속도 및 파워 소모가 감소한 메모리 컨트롤러를 제공하는 것이다.
본 발명이 해결하려는 또 다른 과제는, 향상된 프로그램 속도 및 파워 소모가 감소한 메모리 시스템을 제공하는 것이다.
본 발명이 해결하려는 또 다른 과제는, 향상된 프로그램 속도 및 파워 소모가 감소한 비휘발성 메모리 장치를 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 메모리 컨트롤러의 구동방법의 일 면(aspect)는 다수의 제1 메모리 장치와, 제2 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서, 다수의 제1 메모리 장치 중에서, n(단, n은 자연수)개 사용되면, 제2 메모리 장치 내의 a(단, a는 자연수)개의 라이트 드라이버가 구동되도록 하고, 다수의 제1 메모리 장치가 m(단, m은 n과 다른 자연수)개 사용되면, 제2 메모리 장치 내의 b(단, a와 다른 b는 자연수)개의 라이트 드라이버가 구동되도록 하는 것을 포함한다. 제1 메모리 장치는 낸드 플래시 메모리 장치가 될 수있고, 제2 메모리 장치는 저항성 메모리 장치로 피램(PRAM)이 될 수 있다. n이 상기 m보다 큰 경우, a가 상기 b보다 작고, n이 상기 m보다 작은 경우, 상기 a가 상기 b보다 크다. 그리고 메모리 컨트롤러는 상기 다수의 제1 메모리 장치들의 비지 상태를 확인하고, 확인된 비지 상태를 기초로, 제2 메모리 장치 내의 상기 구동시킬 라이트 드라이버의 개수를 결정한다.
상기 과제를 해결하기 위한 본 발명의 메모리 컨트롤러의 구동방법의 다른 면은 다수의 제1 메모리 장치와 제2 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서, 다수의 제1 메모리 장치들의 동작 상태를 모니터하고, 모니터 된 결과를 기초로, 제2 메모리 장치로 구동시킬 라이트 드라이버들의 개수를 선택하는 명령어를 제공한다. 제1 메모리 장치들의 동작 상태를 모니터 하는 것은 상기 제1 메모리 장치들의 비지 여부를 확인하는 것이다. 제1 메모리 장치는 낸드 플래시 메모리 장치일 수 있으며, 제2 메모리 장치는 저항성 메모리 장치로 예를 들면 피램(PRAM)이 될 수 있다.
상기 다른 과제를 해결하기 위한 본 발명의 메모리 시스템의 일 면은 다수의 제1 메모리 장치, 비트 단위 억세스(bit by bit access)가 가능한 제2 메모리 장치 및 다수의 제1 메모리 장치와 상기 제2 메모리 장치를 제어하되, 다수의 제1 메모리 장치 중 비지(busy) 상태인 제1 메모리 장치의 개수에 따라서, 제 2 메모리 장치 내에 동시에 라이트되는 비트의 개수를 조절하는 컨트롤러를 포함한다. 다수의 제1 메모리 장치에는 유저 데이터(user data)가 저장되고, 제2 메모리 장치에는 메타 데이터(meta data)가 저장된다. 메모리 시스템은 제2 메모리 장치는, 상기 제1 메모리 장치의 인터페이스를 지원는 공유 버스를 포함할 수 있다. 또는 메모리 시스템은 제2 메모리 장치는 상기 제1 메모리 장치와 서로 다른 인터페이스를 지원하여, 공유 버스가 부존재 할 수 있다. 상기 저항성 메모리 장치는, PRAM, RRAM 또는 MRAM일 수 있다.
상기 또 다른 과제를 해결하기 위한 본 발명의 컨트롤러의 일 면은 다수의 제1 메모리 장치와, 상기 제1 메모리 장치와 다른 종류이고 비트 단위 억세스(bit by bit access)가 가능한 제2 메모리 장치를 제어하는 컨트롤러로서, 상기 다수의 제1 메모리 장치 중 비지(busy) 상태인 제1 메모리 장치의 개수에 따라서, 상기 제2 메모리 장치 내에 동시에 라이트되는 비트의 개수를 조절할 수 있다.
상기 또 다른 과제를 해결하기 위한 본 발명의 비휘발성 메모리 장치의 일 면은 저항성 메모리 셀 어레이; 프로그램되는 라이트 드라이버 개수에 대응되는 명령어를 제공받는 제어 로직; 상기 저항성 메모리 셀 어레이에 프로그램 전류를 공급하는 복수개의 라이트 드라이버들; 상기 제어 로직은 프로그램되는 라이트 드라이버 개수에 대응되는 명령어를 제공받고 상기 명령어를 기초로 상기 라이트 드라이버들 개수를 선택할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 저항성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 2는 도 1에 도시된 저항성 메모리 장치의 블록도이다.
도 3는 본 발명의 몇몇 실시예에 따른 저항성 메모리 장치를 설명하기 위한 블록도이다.
도 4a 및 도 4b는 도 2 및 도 3의 메모리 셀 어레이를 설명하기 위한 도면이다.
도 5 본 발명의 몇몇 실시예에 따른 메모리 셀들, 라이트 드라이버들를 도시한 개념도이다.
도 6은 메모리 컨트롤러가 저항성 메모리 장치로 제공하는 명령어 셋트를 예시적으로 보여준다.
도 7은 본 발명의 일 실시예에 따른 메모리 메모리 컨트롤러 및 저항성 메모리 장치의 동작방법을 보여주는 순서도이다.
도 8은 본 발명의 다른 실시예에 따른 메모리 컨트롤러의 동작을 나타내는 순서도이다.
도 9은 본 발명의 다른 실시예에 따른 저항성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 11 내지 도 15은 본 발명의 몇몇 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 16은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 예시적 블록도이다.
도 17은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 다른 예시적 블록도이다.
도 18는 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 또 다른 예시적 블록도이다.
도 19은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 또 다른 예시적 블록도이다.
도 20는 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 또 다른 예시적 블록도이다.
도 21는 SCM이 사용된 메모리 시스템을 도시한 예시적 블록도이다.
도 22은 SCM이 사용된 메모리 시스템을 도시한 다른 예시적 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "연결된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 연결된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 연결된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 본 발명의 실시예들은 상변화 메모리 장치(PRAM: Phase change Random Access Memory)를 이용하여 설명할 것이다. 그러나, 본 발명은 저항 메모리 장치(RRAM: Resistive RAM), 자기 메모리 장치(MRAM: Magnetic RAM) 과 같이 저항체를 이용한 비휘발성 메모리 장치에 모두 적용될 수 있음은 본 발명이 속하는 기술의 당업자에게 자명하다.
도 1은 본 발명의 일 실시예에 따른 저항성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 메모리 시스템(1000)은 저항성 메모리 장치(100), 복수개의 낸드 플래시 메모리 장치(300, 310, 320, 330) 및 메모리 컨트롤러(200)를 포함한다. 도 1은 예시적으로 하나의 PRAM을 도시하였으나, 이에 한정되는 것은 아니다.
저항성 메모리 장치(100)는 메모리 셀 어레이, 메모리 셀 어레이의 메모리 셀들에 데이터 입출력을 제어하는 논리 회로들을 포함한다. 본 발명의 실시예에 따른 저항성 메모리 장치에 대해서는 도 2 내지 도 11을 참조하여 상세히 설명한다.
낸드 플래시 메모리 장치(300, 310, 320, 330, 340)는 유저 데이터(user data)를 저장하고, 대용량의 데이터를 저장 할 수 있다. 저항성 메모리 장치(100)는 메타데이터(meta data)가 저장될 수 있다.
메모리 컨트롤러(200)는 호스트(Host)로부터의 읽기/쓰기 요청에 응답하고, 낸드 플래시 메모리 장치들(300, 310, 320, 330) 및 저항성 메모리 장치(100)로부터 저장된 데이터를 독출 또는 기입하도록 저항성 메모리 장치(100)를 제어한다.
메모리 컨트롤러(200)와 낸드 플래시 메모리 장치(300, 310, 320, 330, 340)는 개별 버스(individual bus)를 통하여 일대일로 연결되어, 각각의 낸드 플래시 메모리 장치(300, 310, 320, 330, 340)는 각각의 개별 버스를 통하여 레디/비지(R/B1, R/B2, R/B3, R/B4) 신호, 칩 인에이블(CE1~CE4) 신호를 제공받는다.
메모리 커트롤러(200)와 저항성 메모리 장치(100)는 개별버스(individual bus)를 통하여 일대일로 연결되며, 저항성 메모리 장치(100)는 개별 버스를 통해서 레디/비지(R/B5) 신호, 칩 인에이블(CE5) 신호를 제공받는다.
또한, 도시된 것과 같이, 복수개의 낸드 플래시 메모리 장치(300, 310, 320, 330, 340) 및 저항성 메모리 장치(100)는 공유 버스(common bus)를 통해서 어드레스 래치 인에이블(ALE), 커맨드 래치 인에이블(CLE), 라이트 프로텍션(WP), 라이트 인에이블(WE) 리드 인에이블(RE) 및 데이터를 제공받는다.
메모리 컨트롤러(200)는 마이크로 프로세서(processing unit; 210), 호스트 인터페이스(host interface), 및 메모리 인터페이스(memory interface) 등을 포함할 수 있다. 마이크로 프로세서(210)는 메모리 컨트롤러(200)의 동작을 제어할 수 있다. 마이크로 프로세서(210)는 복수개의 낸드 플래시 메모리 장치(300, 310, 320, 330, 340)와 저항성 메모리 장치(100)의 동작을 제어 할 수 있다. 마이크로 프로세서(210)는 낸드 플래시 메모리 장치들(300, 310, 320, 330, 340)의 상태를 모니터(monitor)하여, 저항성 메모리 장치(100)로부터 저장된 데이터를 독출 또는 기입하도록 저항성 메모리 장치(100)를 제어한다.
또한, 저항성 메모리 장치(100)와 낸드 플래시 메모리 장치(300, 310, 320, 330)는 ALE(address latch enable), CEL(command latch enable), WE(write protection), RE(read enable), WE(write enable), I/O 핀등을 공유하는 싱글 인터페이스(single interface)를 가질 수 있다. 이 경우, 저항성 메모리 장치(100)와 각각의 낸드 플래시 메모리 장치(300, 310, 320, 330)에 각각의 CE(chip enable; CE1, CE2, CE3, CE4, CE5) 시그널과 레디/비지(R/B; R/B1, R/B2 R/B3 R/B4 R/B5) 신호가 할당된다.
호스트 인터페이스는 호스트(Host) 및 메모리 컨트롤러(200) 사이의 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 것이다. 예를 들어, 메모리 컨트롤러(200)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(호스트)와 통신하도록 구성될 수 있다.
메모리 컨트롤러(200), 낸드 플래시 메모리 장치(300, 310, 320, 330, 340) 및 저항성 메모리 장치(100)는 하나의 시스템으로 집적될 수 있다. 예시적으로, 메모리 컨트롤러(200) 낸드 플래시 메모리 장치(300, 310, 320, 330, 340) 및 저항성 메모리 장치(100)는 집적되어 메모리 카드를 구성할 수 있다. 예를 들어, 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS), 등을 구성할 수 있다.
다른 실시예에 따르면, 저항성 메모리 장치(100) 및 메모리 컨트롤러(200)는 집적되어 반도체 디스크/드라이브(SSD, Solid State Disk/Drive)를 구성할 수 있다.
마이크로 프로세서(210)는 복수개의 낸드 플래시 메모리 장치(300, 310, 320, 330) 중에 비지(busy) 상태인 낸드 플래시 메모리 장치(300, 310, 320, 330)를 모니터하여, 저항성 메모리 장치(100) 내에 동시에 프로그램 되는 비트의 개수를 조절한다.
예를 들어, 메모리 컨트롤러(200)는 낸드 플래시 메모리 장치(300, 310, 320, 330, 340)가 n개(n은 자연수) 사용되면, 저항성 메모리 장치(100)내의 a(단, a는 자연수)개의 라이트 드라이버가 구동되도록 제어한다. 또한, 메모리 컨트롤러(200)는 낸드 플래시 메모리 장치(300, 310, 320, 330, 340)가 m개(m은 n과 다른 자연수) 사용되면, 저항성 메모리 장치(100)내의 b(단, b는 자연수)개의 라이트 드라이버가 구동되도록 제어한다. 여기서, n이 상기 m보다 큰 경우, 상기 a가 상기 b보다 작으며, n이 상기 m보다 작은 경우, 상기 a가 상기 b보다 크다.
낸드 플래시 메모리 장치(300, 310, 320, 330, 340)는 유저(user) 데이터를 프로그램할 수 있고, 즉, 호스트로부터 제공된 대용량의 데이터를 프로그램 할 수 있다. 저항성 메모리 장치(100)는 메타 데이터(meta data), 코드 데이터(code data), 메니징 데이터(managing data)등을 저장할 수 있다. 메타 데이터는 예를 들면, ECC(error correction code) 정보가 될 수 있다. 또는 메니징 데이터는 메모리 장치들의 맴핑 정보 또는 각종 코드 정보들을 포함할 수 있다.
도 2는 도 1에 도시된 저항성 메모리 장치의 블록도이다.
도 2를 참조하면, 본 발명의 실시예들에 따른 저항성 메모리 장치는 메모리 셀 어레이(110), 어드레스 디코더(120), 라이트 드라이버(130), 라이트 버퍼(140), 입출력 버퍼(160) 및 제어 로직(170)을 포함한다. 저항성 메모리 장치는 비트 단위 억세스(bit by bit access)가 가능할 수 있다.
메모리 셀 어레이(110)는 복수의 워드 라인들(WL) 및 복수의 비트 라인(BL)들을 포함하며, 워드 라인(WL)과 비트 라인(BL)이 교차하는 지점들에 메모리 셀들이 연결된다. 메모리 셀 어레이(110)의 구성은 도 3 내지 4를 참조하여 상세히 설명된다.
어드레스 디코더(120)는 워드 라인들(WL)을 통해 메모리 셀 어레이(110)와 연결된다. 어드레스 디코더(120)는 외부에서 입력된 어드레스(ADDR)를 코딩하여, 워드 라인(WL) 및 비트 라인(BL)을 선택한다. 어드레스(ADDR)는 워드 라인(WL)을 선택하기 위한 로우 어드레스(row address)와 비트 라인(BL)을 선택하기 위한 칼럼 어드레스(column address)를 포함한다.
라이트 드라이버(130)은 메모리 셀 어레이(110)에 데이터들을 프로그램 한다. 구체적으로, 라이트 드라이버(130)는 프로그램 펄스, 검증 펄스 및 데이터를 입력받고, 메모리 셀 어레이(110)에 프로그램 전류 및 검증 전류를 제공한다. 여기에서, 프로그램 펄스는 셋 펄스 및 리셋 펄스를 포함한다. 프로그램 전류는 셋 전류 및 리셋 전류를 포함한다.
라이트 버퍼 회로(140)는 라이트 드라이버(130)를 통해 기입될 데이터를 임시로 저장하고, 출력한다. 또한, 라이트 버퍼 회로(140)는 데이터 캐쉬(Data Cache)로 사용된다. 즉, 컨트롤 로직(170)으로부터 억세스되는 데이터를 라이트 버퍼 회로(140)가 저장하고 있는 경우, 라이트 버퍼 회로(130)는 데이터 입출력 버퍼 회로(140)를 통하여 상기 데이터를 출력한다.
또한, 라이트 버퍼 회로(140)은 라이트 동작에서 페일(fail)된 메모리 셀들의 주소를 저장하는 페일 비트 정보 레지스터(미도시)를 포함할 수 있다.
입출력 버퍼(160)는 외부에서 입력된 데이터를 라이트 회로(140)에 제공하거나, 읽기 회로(150)에서 독출한 데이터를 외부로 출력한다.
제어 로직(170)는 외부에서 제공된 명령 신호(CMD)에 따라, 저항성 메모리 장치를 제어하는 제어 신호들을 출력한다.
그리고, 제어 로직(170)은 기입 동작시에는 라이트 드라이버(140) 의 동작을 제어한다. 구체적으로, 제어 로직(170)에서는 기입 동작시 프로그램 전류를 발생시키기 위한 셋 펄스(SET Pulse) 또는 리셋 펄스(RESET Pulse)를 라이트 회로(140)로 제공한다. 그리고, 제어 로직(170)은 멀티 비트 셀에 공급되는 전류량을 제어하기 위한 바이어스 전압(DC_BIAS)을 라이트 회로(140)로 제공한다. 그리고, 제어 로직(170)은 라이트 드라이버 셀렉터(WD selector; 150)를 포함한다. 라이트 드라이버 셀렉터(150)는 메모리 컨트롤러(200)로부터 제공되는 커맨드(CMD)에 따라, 프로그램 할 라이트 드라이버 개수를 선택 할 수 있다. 따라서, 라이트 드라이버 셀렉터(150)는 라이트 드라이버 개수를 선택하므로, 프로그램하는 최소단위의 데이터를 결정할 수 있다. 도 1을 참조하면, 메모리 컨트롤러는 다수의 낸드 플래시 메모리 장치 중에서, n(단, n은 자연수)개 사용되면, 저항성 메모리 장치 내의 a(단, a는 자연수)개의 라이트 드라이버가 구동되도록 명령어를 제공한다. 명령어를 제공받은 라이트 드라이버 셀렉터(150)는 명령어에 따라 구동될 a개의 라이트 드라이버들를 선택한다. 또는 메모리 컨트롤러는 다수의 낸드 플래시 메모리 장치가 m(단, m은 자연수이고, n과 다름)개 사용되면, 저항성 메모리 장치 내의 b(단, b는 자연수)개의 라이트 드라이버가 구동되도록 저항성 메모리 장치에 명령어를 제공한다. 명령어를 제공받은 라이트 드라이버 셀렉터(150)는 명령어에 따라 구동될 a개의 라이트 드라이버들를 선택한다. n이 상기 m보다 큰 경우, 상기 a가 상기 b보다 작은 라이트 드라이버들이 선택되며, n이 상기 m보다 작은 경우, 상기 a가 상기 b보다 큰 라이트 드라이버들이 선택된다.
도 3는 본 발명의 몇몇 실시예에 따른 저항성 메모리 장치를 설명하기 위한 블록도이다. 도 1a에서는 설명의 편의를 위해서 16개의 메모리 뱅크로 구성된 저항성 메모리 장치를 예로 드나, 이에 한정되는 것은 아니다.
도 3를 참조하면, 본 발명의 실시예들에 따른 저항성 메모리 장치는 메모리 셀 어레이, 라이트 드라이버(2_1~2_8), 주변 회로 영역(3)을 포함한다.
메모리 셀 어레이는 다수의 메모리 뱅크(1_1~1_16)로 구성될 수 있고, 각 메모리 뱅크(1_1~1_16)는 각각 다수의 메모리 블록(BLK0~BLK7)으로 구성될 수 있고, 각 메모리 블록(1_1~1_16)은 매트릭스 형태로 배열된 다수의 저항성 메모리 셀을 포함한다. 본 발명의 실시예들에서는, 메모리 블록이 8개씩 배치된 경우를 예로 들었으나, 이에 한정되는 것은 아니다.
또한, 도면에는 자세히 도시하지 않았으나, 메모리 뱅크(1_1~1_16)에 대응하여 라이트/리드하려는 저항성 메모리 셀의 행 및 열을 각각 지정하는 로우 선택 회로 및 컬럼 선택 회로가 배치된다.
라이트 드라이버(2_1~2_8)는 2개의 메모리 뱅크(1_1~1_16)에 대응하여 배치되어, 대응하는 메모리 뱅크에서의 리드 및 라이트 동작을 한다. 본 발명의 실시예들에서는, 라이트 드라이버(2_1~2_8)는 2개의 메모리 뱅크(1_1~1_16)에 대응되는 경우를 예로 들었으나, 이에 한정되는 것은 아니다. 즉, 라이트 드라이버 (2_1~2_8)는 (2_1~2_8)는 1개 또는 4개의 메모리 뱅크 등에 대응하여 배치되어도 무방하다.
주변 회로 영역(3)에는 상기 컬럼 선택 회로, 로우 선택 회로, 라이트 드라이버 (2_1~2_8) 등을 동작시키기 위한 다수의 로직 회로 블록과 전압 생성부가 배치될 수 있다.
도 4a 및 도 4b는 도 2 및 도 3의 메모리 셀 어레이를 설명하기 위한 도면이다.
도 4a를 참조하면, 메모리 셀 어레이는 크로스 포인트 구조(cross point structure)를 가질 수 있다. 크로스 포인트 구조는 하나의 라인과 다른 라인이 서로 교차되는 영역에, 하나의 메모리 셀이 형성되어 있는 구조를 의미한다. 예를 들어, 비트 라인(BL1_1~BL4_1)이 제1 방향으로 연장되어 형성되고, 워드 라인(WL1_1~WL3_1)이 상기 비트 라인(BL1_1~BL4_1)과 서로 교차되도록 제2 방향으로 연장되어 형성되고, 각 비트 라인(BL1_1~BL4_1)과 각 워드 라인(WL1_1~WL3_1)이 교차되는 영역에 저항성 메모리 셀(MC)이 형성될 수 있다.
또는, 메모리 셀 어레이는 도 4b에 도시된 것과 같이, 3차원 적층 구조를 가질 수도 있다. 3차원 적층 구조는 다수의 메모리 셀 레이어(111_1~111_8)가 수직으로 적층된 형태를 의미한다. 도면에서는 8개의 메모리 셀 레이어(111_1~111_8)가 적층된 것을 예로 들고 있으나, 이에 한정되는 것은 아니다. 여기서, 각 메모리 셀 레이어(111_1~111_8)는 다수의 메모리 셀 그룹 및/또는 다수의 리던던시 메모리 셀 그룹을 포함할 수 있다. 메모리 셀 어레이가 3차원 적층 구조일 경우, 각 메모리 셀 레이어(111_1~111_8)는 도 1b에 도시된 크로스 포인트 구조일 수 있으나, 이에 한정되는 것은 아니다.
도 4a에서 도시된 저항성 메모리 셀(MC)은 메모리 셀 어레이 내의 다수의 저항성 메모리 셀 중에서 예를 들면, 리드 또는 프로그램 하기 위해 선택된 저항성 메모리 셀을 나타낸다. 여기서, 저항성 메모리 셀(MC)이 PRAM인 경우에는, 저항성 메모리 셀(170)은 상변화 물질을 구비하는 가변 저항 소자(GST)와, 가변 저항 소자(GST)에 흐르는 전류를 제어하는 억세스 소자(D)를 포함할 수 있다. 여기서, 억세스 소자(D)는 가변 저항 소자(GST)와 직렬로 연결된 다이오드 또는 트랜지스터일 수 있다. 또한, 상변화 물질은 2개의 원소를 화합한 GaSb, InSb, InSe. Sb2Te3, GeTe, 3개의 원소를 화합한 GeSbTe, GaSeTe, InSbTe, SnSb2Te4, InSbGe, 4개의 원소를 화합한 AgInSbTe, (GeSn)SbTe, GeSb(SeTe), Te81Ge15Sb2S2 등 다양한 종류의 물질을 사용할 수 있다. 이 중에서 게르마늄(Ge), 안티모니(Sb), 텔루리움(Te)으로 이루어진 GeSbTe를 주로 이용할 수 있다.
한편, 저항성 메모리 셀이 RRAM인 경우에는, 가변 저항 소자는 예를 들어, NiO 또는 페로브스카이트(perovskite)를 포함할 수 있다. 페로브스카이트는 망가나이트(Pr0.7Ca0.3MnO3, Pr0.5Ca0.5MnO3, 기타 PCMO, LCMO 등), 타이터네이트(STO:Cr), 지르코네이트(SZO:Cr, Ca2Nb2O7:Cr, Ta2O5:Cr) 등의 조합물(composition)일 수 있다. 가변 저항 소자 내에는 필라멘트가 형성될 수 있고, 필라멘트는 저항성 메모리 셀을 관통하여 흐르는 셀 전류의 전류 경로(current path)가 된다.
도 5는 본 발명의 몇몇 실시예에 따른 메모리 셀들, 라이트 드라이버들를 도시한 개념도이다. 그리고, 도 6은 메모리 컨트롤러가 저항성 메모리 장치로 제공하는 명령어 셋트를 예시적으로 보여준다.
도 5 및 도 6을 참조하면, 메모리 블록(BLK0)은 다수의 저항성 메모리 셀(Cp), 다수의 글로벌 비트 라인(GBL0~GBLn), 다수의 비트 라인(BL0, BL1, BL2, BL3), 다수의 워드 라인(WL0, WL1), 컬럼 선택 트랜지스터(YSEL0~YSEL3), 라이트 드라이버 등을 포함한다.
다수의 저항성 메모리 셀(Cp)은 워드 라인(WL0, WL1)과 비트 라인(BL0, BL1, BL2, BL3)이 교차되는 영역에 위치하고, 특히, 다수의 비트 라인(BL0, BL1, BL2, BL3)은 계층적 비트 라인 구조를 갖기 위해 각 글로벌 비트 라인(GBL0~GBLn)으로부터 분지되어 있을 수 있다. 자세히 설명하면, 다수의 글로벌 비트 라인(GBL0~GBLn)은 다수의 메모리 블록(도 3의 BLK0~BLK7)에 공통되도록 일방향으로 연장되어 형성된다. 다수의 비트 라인(BL0, BL1, BL2, BL3)은 각각 컬럼 선택 트랜지스터(YSEL0~YSEL3)를 통해서 글로벌 비트 라인(GBL0~GBLn)과 선택적으로 연결되고, 각 비트 라인(BL0, BL1, BL2, BL3)에는 다수의 저항성 메모리 셀(Cp)이 연결된다.
저항성 메모리 셀(Cp)은 관통 전류에 따라 결정 상태 또는 비정질 상태로 변화하고, 각 상태마다 서로 다른 저항을 갖는 상변화 물질(Rp)와, 상변화 물질(Rp)에 흐르는 관통 전류를 제어하는 억세스 소자(D)를 포함한다.
컬럼 선택 트랜지스터(YSEL0~YSEL3)는 컬럼 선택 신호에 응답하여 글로벌 비트 라인(GBL0~GBLn)과 비트 라인(BL0, BL1, BL2, BL3)을 선택적으로 연결한다. 여기서, 컬럼 선택 신호는 컬럼 어드레스 및 블록 정보(block information)를 디코딩한 신호일 수 있다.
라이트 드라이버(131~13k)는 각 글로벌 비트 라인(GBL0~GBLk)에 연결되어 있다. 라이트 드라이버(131~13k)는 프로그램 전류를 저항성 메모리 셀(Cp)로 제공하여 데이터를 프로그램 되도록 한다. 컬럼 선택 트랜지스터(YSEL0~YSEL3)는 컬럼 선택 신호에 응답하여 비트 라인(BL0, BL1, BL2, BL3)을 선택하여, 메모리 셀에 프로그램 되도록 한다.
도 5 및 도 6을 참조하면, 라이트 드라이버 셀렉터(150)는 메모리 컨트롤러로부터 제공된 명령어(CMD1, CMD2, CMD3, CMD4)에 따라서 구동될 라이트 드라이버들의 개수를 결정한다.
메모리 컨트롤러는 낸드 플래시 메모리 장치들의 비지 상태를 확인하고, 확인된 비지 상태를 기초로 저항성 메모리 장치 내의 구동시킬 라이터 드라이버의 개수를 결정하는 커맨드를 저항성 메모리 장치에 제공할 수 있다.
낸드 플래시 장치들의 비지 상태에 따라서, 저항성 메모리 장치의 구동될 라이트 드라이버 개수들이 달라진다. 도 6은 저항성 메모리 장치로 제공되는 명령어 세트(CMD1, CMD2, CMD3, CMD4)를 보여준다. 제 1 명령어(CMD1)은 4byte 의 라이트 드라이버들을 선택하여 4byte의 프로그램 최소단위 데이터를 결정하는 명령어다.
피램(PRAM)의 예를 들면, 피램이 제 1 명령어(CMD1)를 제공받으면, 라이트 드라이버 셀렉터는 4byte개의 라이트 드라이버를 선택 할 수 있다. 이 경우 피램은 Io의 전류를 소모하며, Io는 예를 들면 10mA가 될 수 있다. 피램이 1KB의 데이터를 프로그램 하기 위해서는 제 1 명령어(CMD1)을 제공받은 경우에 256회의 내부 라이트 싸이클(write cycle number)이 소요된다.
피램이 제 2 명령어(CMD2)를 제공받으면, 라이트 드라이버 셀렉터는 8byte개의 라이트 드라이버를 선택 할 수 있다. 이경우 피램은 2Io의 전류를 소모하며, 2Io는 20mA를 소모할 수 있다. 피램이 1KB의 데이터를 프로그램 하기 위해서는 제 2 명령어(CMD2)을 제공받은 경우에 128회의 내부 라이트 싸이클(write cycle number)이 소요된다.
피램이 제 3 명령어(CMD3)를 제공받으면, 라이트 드라이버 셀렉터는 16byte개의 라이트 드라이버를 선택 할 수 있다. 이경우 피램은 4Io의 전류를 소모하며, 4Io는 40mA를 소모할 수 있다. 피램이 1KB의 데이터를 프로그램 하기 위해서는 제 3 명령어(CMD3)을 제공받은 경우에 64회의 내부 라이트 싸이클(write cycle number)이 소요된다.
피램이 제 4 명령어(CMD4)를 제공받으면, 라이트 드라이버 셀렉터는 32byte개의 라이트 드라이버를 선택 할 수 있다. 이경우 피램은 8Io의 전류를 소모하며, 8Io는 80mA를 소모할 수 있다. 피램이 1KB의 데이터를 프로그램 하기 위해서는 제 4 명령어(CMD4)을 제공받은 경우에 32회의 내부 라이트 싸이클(write cycle number)이 소요된다.
따라서, 선택된 라이트 드라이버 개수가 증가함에 따라서, 저항성 메모리 장치의 프로그램 최소단위의 데이터도 증가되므로, 소비 전류도 증가한다.
도 7은 본 발명의 일 실시예에 따른 메모리 메모리 컨트롤러 및 저항성 메모리 장치의 동작방법을 보여주는 순서도이다. 도 7의 설명은 설명의 편의상 도 1, 도 6을 함께 참조하여 설명하도록 한다. 메모리 컨트롤러는 다수개의 낸드 플래시 메모리 장치들의 동작 상태를 확인한다(S100). 구체적으로 도 1에서 예시적으로 도시한 바와 같이, 4개의 낸드 플래시 메모리 장치의 레디 또는 비지 상태를 체크 한다.
여기서, 4개의 낸드 플레시 메모리 장치가 모두 비지이면(S110), 메모리 컨트롤러는 제 1 명령어(CMD1)를 저항성 메모리 장치로 제공한다. 그리고 저항성 메모리 장치는 제 1 명령어를 수행한다(S111). 그리고 저항성 메모리 장치 동작은 종료된다.
또는, 4개의 낸드 플레시 메모리 장치가 모두 비지가 아니고, 3개의 낸드 플래시 메모리 장치가 비지인 경우(S120), 메모리 컨트롤러는 제 2 명령어를 저항성 메모리 장치로 제공한다. 그리고 저항성 메모리 장치는 제 2 명령어를 수행한다(S121). 그리고 저항성 메모리 장치 동작은 종료된다.
또는, 4개의 낸드 플레시 메모리 장치가 모두 비지가 아니고, 2개의 낸드 플래시 메모리 장치가 비지인 경우(S130), 메모리 컨트롤러는 제 3 명령어를 저항성 메모리 장치로 제공한다. 그리고 저항성 메모리 장치는 제 3 명령어를 수행한다(S131). 그리고 저항성 메모리 장치 동작은 종료된다.
또는, 4개의 낸드 플레시 메모리 장치가 모두 비지가 아니고, 1개의 낸드 플래시 메모리 장치가 비지인 경우(S130), 메모리 컨트롤러는 제 4 명령어를 저항성 메모리 장치로 제공한다. 그리고 저항성 메모리 장치는 제 4 명령어를 수행한다(S140). 그리고 저항성 메모리 장치 동작은 종료된다.
제 1 명령어(CMD1), 제 2 명령어(CMD2), 제 3 명령어(CMD3) 및 제 4 명령어(CMD4)는 도 6에서 도시한 명령어 세트와 동일할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 메모리 컨트롤러의 동작을 나타내는 순서도이다.
도 8을 참조하면, 메모리 컨트롤러는 다수의 제1 메모리 장치와, 제1 메모리 장치와 다른 종류의 제2 메모리 장치를 제어한다. 예를들면, 제 1 메모리 장치는 낸드 플래시 메모리 장치이고, 제 2 메모리 장치는 저항성 메모리 장치로, PRAM, MRAM, 또는 ReRAM이 될 수 있다. 메모리 컨트롤러는 다수의 제1 메모리 장치들의 동작 상태를 모니터한다.(S200) 동작 상태를 모니터 하는 것은 예를 들면, 제 1 메모리 장치 각각이 비지 상태인지 여부를 확인한다.
그리고, 메모리 장치는 모티터된 결과를 기초로, 제2 메모리 장치로 구동시킬 라이트 드라이버의 개수를 선택하는 명령어를 하는 결정하고(S210), 결정된 명령어를 제 2 메모리 장치로 제공한다(S220)
제 1 메모리 장치가 n개 사용되는 경우, 상기 명령어는 a 개의 라이트 드라이버를 구동시키는 제 1 명령어가 될 수 있다. 또한, 제1 메모리 장치가 상기 n보다 작은 m개의 라이트 드라이버가 사용되는 경우, 상기 명령어는 상기 a 보다 많은 b개의 라이트 드라이버들을 구동시키는 제 2 명령어가 될 수 있다.
도 9은 본 발명의 다른 실시예에 따른 저항성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다. 도 9에서는 도 1에서 도시한 메모리 시스템(1000)과 차이점만 설명하도록 한다.
도 9를 참조하면, 도 1에서 설명한 바와 같이, 메모리 시스템(1100)은 메모리 컨트롤러(200), 복수개의 낸드 플래시 메모리 장치(300, 310, 320, 3300 및 저항성 메모리 장치(100)를 포함한다.
메모리 컨트롤러(200)는 낸드 플래시 메모리 장치(300, 310, 320, 330, 340)와 저항성 메모리 장치(100)에 서로 다른 인터페이스를 제공한다.
도면에서,저항성 메모리 장치(100)의 인터페이스는 PRAM 인터페이스인 것으로 도시하였으나, 이에 한정되지 않는다. 예를 들어, 저항성 메모리 장치(100)의 인터페이스는 DDR, SRAM, NOR 등의 인터페이스일 수 있다.
도 1에서와 같이, 메모리 컨트롤러(200)와 낸드 플래시 메모리 장치(300, 310, 320, 330, 340)는 공유 버스 및 개별 버스를 통하여 신호를 전달 한다.
그러나, 저항성 메모리 장치(100)은 별도의 버스를 통하여 메모리 컨트롤러(200)로부터 명령어의 신호를 제공받는다. 따라서, 저항성 메모리 장치(100)는 공유 버스를 사용하지 않는다.
도 10 내지 도 14은 본 발명의 몇몇 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다. 여기서, 도 10 내지 도 14는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 사용하는 메모리 시스템에 관한 것이다.
도 10는 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 휴대폰 시스템(cellular phone system)의 예시적 도면이다.
도 10를 참조하면, 휴대폰 시스템은 소리를 압축하거나 압축된 소리를 푸는(compression or decompression) ADPCM 코덱 회로(1202), 스피커(speaker)(1203), 마이크로폰(microphone)(1204), 디지털 데이터를 시분할 멀티플렉싱하는 TDMA회로(1206), 무선 신호의 캐리어 주파수(carrier frequency)를 세팅하는 PLL회로(1210), 무선 신호를 전달하거나 받기 위한 RF 회로(1211) 등을 포함할 수 있다.
또한, 휴대폰 시스템은 여러가지 종류의 메모리 장치를 포함할 수 있는데, 예를 들어, 비휘발성 메모리 장치(1207), ROM(1208), SRAM(1209)를 포함할 수 있다. 비휘발성 메모리 장치(1207)는 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용될 수 있고, 예를 들어, ID번호를 저장할 수 있다. ROM(1208)은 프로그램을 저장할 수 있고, SRAM(1209)은 시스템 컨트롤 마이크로컴퓨터(1212)를 위한 작업 영역으로써 역할을 하거나 데이터를 일시적으로 저장한다. 여기서, 시스템 컨트롤 마이크로컴퓨터(1212)는 프로세서로서, 비휘발성 메모리 장치(1207)의 라이트 동작 및 리드 동작을 제어할 수 있다.
도 11는 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 카드(memory card)의 예시적 도면이다. 메모리 카드는 예를 들어, MMC 카드, SD카드, 멀티유즈(multiuse) 카드, 마이크로 SD카드, 메모리 스틱, 컴팩트 SD 카드, ID 카드, PCMCIA 카드, SSD카드, 칩카드(chipcard), 스마트카드(smartcard), USB카드 등일 수 있다.
도 11를 참조하면, 메모리 카드는 외부와의 인터페이스를 수행하는 인터페이스부(1221), 버퍼 메모리를 갖고 메모리 카드의 동작을 제어하는 컨트롤러(1222), 본 발명의 실시예들에 따른 비휘발성 메모리 장치(1207)을 적어도 하나 포함할 수 있다. 컨트롤러(1222)는 프로세서로서, 비휘발성 메모리 장치(1207)의 라이트 동작 및 리드 동작을 제어할 수 있다. 구체적으로, 컨트롤러(1222)는 데이터 버스(DATA)와 어드레스 버스(ADDRESS)를 통해서 비휘발성 메모리 장치(1207), 인터페이스부(1221)와 커플링되어 있다.
도 12은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 디지털 스틸 카메라(digital still camera)의 예시적 도면이다.
도 12을 참조하면, 디지털 스틸 카메라는 바디(1301), 슬롯(1302), 렌즈(303), 디스플레이부(1308), 셔터 버튼(1312), 스트로브(strobe)(1318) 등을 포함한다. 특히, 슬롯(1308)에는 메모리 카드(1331)가 삽입될 수 있고, 메모리 카드(1331)는 본 발명의 실시예들에 따른 비휘발성 메모리 장치(1207)를 적어도 하나 포함할 수 있다.
메모리 카드(1331)가 접촉형(contact type)인 경우, 메모리 카드(1331)가 슬롯(1308)에 삽입될 때 메모리 카드(1331)와 회로 기판 상의 특정 전기 회로가 전기적으로 접촉하게 된다. 메모리 카드(1331)가 비접촉형(non-contact type)인 경우, 메모리 카드(1331)는 무선 신호를 통해서 메모리 카드(1331)와 통신하게 된다.
도 13은 도 11의 메모리 카드가 사용되는 다양한 시스템을 설명하는 예시적 도면이다.
도 13을 참조하면, 메모리 카드(331)는 (a) 비디오 카메라, (b) 텔레비전, (c) 오디오 장치, (d) 게임장치, (e) 전자 음악 장치, (f) 휴대폰, (g) 컴퓨터, (h) PDA(Personal Digital Assistant), (i) 보이스 레코더(voice recorder), (j) PC 카드 등에 사용될 수 있다.
도 14은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 이미지 센서(image sensor) 시스템의 예시적 도면이다.
도 14를 참조하면, 이미지 센서 시스템은 이미지 센서(1332), 입출력 장치(1336), RAM(1348), CPU(1344), 본 발명의 실시예들에 따른 비휘발성 메모리 장치(1354) 등을 포함할 수 있다. 각 구성요소, 즉, 이미지 센서(1332), 입출력 장치(1336), RAM(1348), CPU(1344), 비휘발성 메모리 장치(1354)는 버스(1352)를 통해서 서로 통신한다. 이미지 센서(1332)는 포토게이트, 포토다이오드 등과 같은 포토센싱(photo sensing) 소자를 포함할 수 있다. 각각의 구성 요소는 프로세서와 함께 하나의 칩으로 구성될 수도 있고, 프로세서와 각각 별개의 칩으로 구성될 수도 있다.
도 15은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 예시적 블록도이다.
도시된 것과 같이, 메모리(3010)은 메모리 컨트롤러(3020)과 커플링된다. 메모리(3010)은 전술한 실시예들 중 어느 것이어도 무방하다. 메모리 컨트롤러(3020)는 메모리(3010)의 동작 제어를 위해 입력 신호를 제공한다. 예를 들어, 메모리 컨트롤러(3020)은 커맨트(CMD)와 어드레스 신호를 보낼 수 있다. 메모리 컨트롤러(3020)는 메모리 인터페이스, 호스트 인터페이스, ECC회로, CPU(central processing unit), 버퍼 메모리 등을 포함할 수 있다. 메모리 인터페이스는 데이터를 버퍼 메모리로부터 메모리(3010)으로 전송할 수 있고, 메모리(3010)으로부터 데이터를 읽어 버퍼 메모리로 전송할 수도 있다. 또한, 메모리 인터페이스는 커맨드 또는 어드레스를 외부 호스트로부터 메모리(3010)으로 전송할 수 있다.
호스트 인터페이스는 외부 호스트와 USB (Universal Serial Bus), SCSI (Small Computer System Interface), PCI express, ATA, PATA (Parallel ATA), SATA (Serial ATA), SAS (Serial Attached SCSI) 등을 통해서 통신할 수 있다.
본 발명의 실시예들에 따른 메모리 시스템은, ECC회로를 가질 수 있다. ECC회로는 메모리(3010)에 전송되는 데이터를 이용하여 패러티 비트를 생성할 수 있다. 생성된 패러티 비트는 메모리(3010)의 특정 영역에 데이터와 함께 저장될 수 있다. ECC 회로는 메모리(3010)에서 리드되는 데이터의 에러를 감지한다. 만약 감지된 에러가 수정가능하면, ECC회로는 데이터를 수정한다.
CPU는 호스트 인터페이스 또는 메모리 인터페이스를 통해서 외부 호스트 또는 메모리(3010)을 제어한다. CPU는 메모리를 구동하는 펌웨어에 따라서, 라이트, 리드, 이레이즈 동작을 제어할 수 있다.
버퍼 메모리는 외부 소스트로부터 제공된 라이트 데이터 또는 메모리(3010)로부터 리드된 데이터를 일시적으로 저장한다. 또한, 버퍼 메모리는 메모리(3010)에 저장될 메타 데이터 또는 캐쉬 데이터를 저장할 수 있다. 갑작스런 파워 오프 동작 중에, 버퍼 메모리에 저장되어 있는 메타 데이터 또는 캐쉬 데이터는 메모리(3010)에 저장될 수 있다. 버퍼 데이터는 DRAM 또는 SRAM 일 수 있다.
도 16은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 다른 예시적 블록도이다. 도 15의 메모리 시스템과 실질적으로 동일하다. 다른 점은, 메모리(3010), 메모리 컨트롤러(3020)은 카드(3130)에 임베디드된다는 점이다. 예를 들어, 카드(3130)은 플래쉬 메모리 카드일 수 있다. 즉, 카드(3130)는 디지털 카메라, 퍼스널 컴퓨터 등과 같은 소비자 전자 기기에 사용되는 스탠다드 제품일 수 있다. 메모리 컨트롤러(3020)는 다른 장치(외부 장치)로부터 제공된 제어 신호에 따라서 메모리(3010)를 제어할 수 있다.
도 17는 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 또 다른 예시적 블록도이다. 도시된 것과 같이, 메모리(3010)은 호스트 시스템(3210)에 커플링될 수 있다. 호스트 시스템(3210)는 퍼스널 컴퓨터, 디지털 카메라 등과 같은 프로세싱 시스템일 수 있다. 호스트 시스템(3210)은 지울 수 있는 저장 장치로서 메모리(3010)을 사용할 수 있다. 전술한 것과 같이, 호스트 시스템(3210)은 메모리(3010)를 제어하기 위해 입력 신호를 제공할 수 있다. 예를 들어, 호스트 시스템(3210)은 커맨드(CMD)와 어드레스 신호를 제공할 수 있다.
도 18은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 또 다른 예시적 블록도이다. 호스트 시스템(3210)과 카드(3130)이 커플링된다. 호스트 시스템(3210)이 제어 신호를 카드(3130)에 제공하여, 메모리 컨트롤러(3020)가 메모리(3010)을 제어하도록 한다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 메모리 시스템의 또 다른 예시적 블록도이다. 메모리(3010)는 컴퓨터 시스템(3410) 내의 CPU(3120)에 저장된다. 예를 들어, 컴퓨터 시스템(3410)는 퍼스널 컴퓨터, PDA 등일 수 있다. 메모리(3010)는 버스 등을 통해서 CPU(3120)과 직접 연결될 수 있다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치는 SCM(storage class memory)으로 사용될 수 있다. SCM은 비휘발성 특성과 억세스 특성을 동시에 지닌 일반적 메모리 컨셉을 의미한다. SCM은 데이터 저장 영역 및 프로그램 동작 영역으로 사용될 수 있다.
전술한 PRAM, RRAM, MRAM 등의 저항체를 이용한 비휘발성 메모리 장치는 SCM으로 사용될 수 있다. 이러한 SCM은 플래쉬 메모리를 대신하여 데이터 저장 메모리로 사용될 수도 있고, SRAM을 대신하여 메인 메모리로 사용될 수 있다. 하나의 SCM은 플래쉬 메모리와 SRAM을 대체할 수 있다.
도 20는 SCM이 사용된 메모리 시스템을 도시한 예시적 블록도이다. 메모리 시스템(4100)은 CPU(4110), SDRAM(4120), 플래시 메모리를 대신하여 사용된 SCM(4130)을 포함한다.
메모리 시스템(4100)에서, SCM(4130)의 데이터 억세스 스피드는 플래시 메모리의 스피드보다 빠르다. 예를 들어, PC 환경에서, CPU(4110)은 4GHz로 동작할 때, SCM의 일종인 PRAM의 억세스 속도는 플래시의 억세스 속도보다 약 32배 빠르다. 따라서, 메모리 시스템(4100)은 플래쉬 메모리를 장착한 메모리 시스템보다 더 빠른 스피드 억세스 이득(higher-speed access gain)을 얻을 수 있다.
도 21은 SCM이 사용된 메모리 시스템을 도시한 다른 예시적 블록도이다. 메모리 시스템(4200)은 CPU(4210), SDRAM을 대신하여 사용된 SCM(4220), 플래쉬 메모리(4230)을 포함한다.
메모리 시스템(4200)에서, SCM(4220)의 파워 사용은 SDRAM의 파워 사용보다 작다. 컴퓨터 시스템의 메인 메모리에 의해 사용된 에너지는, 전체 시스템에서 사용되는 에너지의 약 40% 정도이다. 그러므로, 많은 사람들이 메인 메모리에서 사용되는 에너지를 줄이기 위한 노력한다. SCM은 동적 에너지 사용을 평균적으로 약 53% 절감할 수 있고, 전력 누수로 인한 에너지 사용을 평균적으로 약 73% 절감할 수 있다. 그 결과, 메모리 시스템(4200)은 SDRAM을 장착한 메모리 시스템보다 에너지를 절감할 수 있다.
도 22은 SCM이 사용된 메모리 시스템을 도시한 다른 예시적 블록도이다. 메모리 시스템(4300)은 CPU(4310), SDRAM 및 플래쉬 메모리를 대신하여 사용된 SCM(4320)을 포함한다. SCM(4320)은 SDRAM 대신 메인 메모리로 사용되고, 플래쉬 메모리 대신 데이터 저장 메모리로 사용된다. 이러한 메모리 시스템(4300)은 데이터 억세스 스피드, 로우 파워, 스페이스 활용, 비용 등에서 장점이 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다.
100 : 저항성 메모리 장치
200 : 메모리 컨트롤러
300 : 낸드 플래시 메모리 장치
1000 : 메모리 시스템

Claims (21)

  1. 다수의 제1 메모리 장치와, 제2 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서,
    다수의 제1 메모리 장치 중에서, n(단, n은 자연수)개 사용되면, 제2 메모리 장치 내의 a(단, a는 자연수)개의 라이트 드라이버가 구동되도록 하고,
    상기 다수의 제1 메모리 장치가 m(단, m은 n과 다른 자연수)개 사용되면,
    상기 제2 메모리 장치 내의 b(단, a와 다른 b는 자연수)개의 라이트 드라이버가 구동되도록 하는 것을 포함하는 메모리 컨트롤러의 동작 방법.
  2. 제1항에 있어서,
    상기 n이 상기 m보다 큰 경우, 상기 a가 상기 b보다 작은 메모리 컨트롤러의 동작 방법.
  3. 제1항에 있어서,
    상기 n이 상기 m보다 작은 경우, 상기 a가 상기 b보다 큰 메모리 컨트롤러의 동작 방법.
  4. 제 1항에 있어서,
    상기 메모리 컨트롤러는 상기 다수의 제1 메모리 장치들의 비지 상태를 확인하고, 확인된 비지 상태를 기초로, 상기 제2 메모리 장치 내의 상기 구동시킬 라이트 드라이버의 개수를 결정하는 메모리 컨트롤러의 동작 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 a개의 라이트 드라이버는 상기 제2 메모리 장치의 최소 프로그램 데이터 단위를 결정하는 메모리 컨트롤러의 동작 방법.
  9. 제 1 항에 있어서,
    상기 컨트롤러는 상기 a개의 라이트 드라이버를 선택하는 제 1 명령어를 상기 제2 메모리 장치에 제공하는 메모리 컨트롤러의 동작 방법.
  10. 제 1 항에 있어서,
    상기 컨트롤러는 상기 b개의 라이트 드라이버를 선택하는 제 2 명령어를 상기 제2 메모리 장치로 제공하는 메모리 컨트롤러의 동작 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 다수의 제1 메모리 장치;
    비트 단위 억세스(bit by bit access)가 가능한 제2 메모리 장치; 및
    상기 다수의 제1 메모리 장치와 상기 제2 메모리 장치를 제어하되, 상기 다수의 제1 메모리 장치 중 비지(busy) 상태인 제1 메모리 장치의 개수에 따라서, 상기 제2 메모리 장치 내에 동시에 라이트되는 비트의 개수를 조절하는 컨트롤러를 포함하는 메모리 시스템.
  17. 제 16항에 있어서,
    상기 다수의 제1 메모리 장치에는 유저 데이터(user data)가 저장되고,
    상기 제2 메모리 장치에는 메타 데이터(meta data)가 저장되는 메모리 시스템.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR1020120144546A 2012-12-12 2012-12-12 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치 KR101977684B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120144546A KR101977684B1 (ko) 2012-12-12 2012-12-12 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치
US14/077,851 US8995203B2 (en) 2012-12-12 2013-11-12 Non-volatile memory device, driving method of memory controller controlling the non-volatile memory device and memory system including the memory controller and the non-volatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120144546A KR101977684B1 (ko) 2012-12-12 2012-12-12 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치

Publications (2)

Publication Number Publication Date
KR20140076224A KR20140076224A (ko) 2014-06-20
KR101977684B1 true KR101977684B1 (ko) 2019-05-13

Family

ID=50880833

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120144546A KR101977684B1 (ko) 2012-12-12 2012-12-12 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치

Country Status (2)

Country Link
US (1) US8995203B2 (ko)
KR (1) KR101977684B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064569B1 (en) * 2014-07-03 2015-06-23 Sandisk Technologies Inc. Memory controller with resistive random access memory (ReRAM)
US10133625B2 (en) 2015-08-11 2018-11-20 Western Digital Technologies, Inc. Storing parity data separate from protected data
JP6509711B2 (ja) * 2015-10-29 2019-05-08 東芝メモリ株式会社 不揮発性半導体記憶装置及びメモリシステム
KR102549620B1 (ko) * 2017-01-10 2023-06-28 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
KR20200017664A (ko) 2018-08-09 2020-02-19 삼성전자주식회사 저장 장치의 데이터 액세스 방법, 데이터 관리 방법 및 이를 수행하는 저장 장치
US11693798B2 (en) 2020-07-10 2023-07-04 Samsung Electronics Co., Ltd. Layered ready status reporting structure

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697270B1 (ko) 2004-12-10 2007-03-21 삼성전자주식회사 저전력 멀티칩 반도체 메모리 장치 및 그것의 칩 인에이블방법
KR101257848B1 (ko) 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
KR100715147B1 (ko) 2005-10-06 2007-05-10 삼성전자주식회사 전류소모를 감소시키는 내부전원전압 발생회로를 가지는멀티칩 반도체 메모리 장치
US7701764B2 (en) 2006-05-17 2010-04-20 Micron Technology, Inc. Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices
JP4829029B2 (ja) 2006-08-02 2011-11-30 株式会社東芝 メモリシステム及びメモリチップ
KR100909902B1 (ko) 2007-04-27 2009-07-30 삼성전자주식회사 플래쉬 메모리 장치 및 플래쉬 메모리 시스템
KR100909965B1 (ko) 2007-05-23 2009-07-29 삼성전자주식회사 버스를 공유하는 휘발성 메모리 및 불휘발성 메모리를구비하는 반도체 메모리 시스템 및 불휘발성 메모리의 동작제어 방법
US8964488B2 (en) * 2007-12-14 2015-02-24 Samsung Electronics Co., Ltd. Non-volatile memory device using variable resistance element with an improved write performance
US8332876B2 (en) * 2008-11-20 2012-12-11 Ati Technologies Ulc Method, system and apparatus for tri-stating unused data bytes during DDR DRAM writes
KR101573047B1 (ko) 2009-01-23 2015-12-02 삼성전자주식회사 복합 메모리 장치 및 이를 이용한 i/o 처리 방법
KR101086858B1 (ko) 2009-04-15 2011-11-25 주식회사 하이닉스반도체 라이트 전압을 생성하는 비휘발성 반도체 메모리 회로
KR101612111B1 (ko) 2009-04-27 2016-04-14 삼성전자주식회사 전류 검출기를 포함하는 데이터 저장 장치
KR101606880B1 (ko) * 2009-06-22 2016-03-28 삼성전자주식회사 데이터 저장 시스템 및 그것의 채널 구동 방법
KR20120028484A (ko) 2010-09-15 2012-03-23 삼성전자주식회사 모바일 기기에 채용하기 적합한 복합형 반도체 장치
KR101161994B1 (ko) 2010-12-03 2012-07-03 에스케이하이닉스 주식회사 멀티 칩 패키지 장치 및 그의 동작 방법
JP5416079B2 (ja) 2010-12-16 2014-02-12 株式会社日立製作所 半導体記憶装置、およびメモリモジュール

Also Published As

Publication number Publication date
US8995203B2 (en) 2015-03-31
KR20140076224A (ko) 2014-06-20
US20140160857A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
KR102154296B1 (ko) 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치
US10741245B2 (en) Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system
KR101237005B1 (ko) 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템, 및 이의 구동 방법
US10770138B2 (en) Method of operating resistive memory device reducing read disturbance
US10303617B2 (en) Storage device supporting byte accessible interface and block accessible interface and electronic system including the same
KR102005226B1 (ko) 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
KR101977684B1 (ko) 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치
JP5837916B2 (ja) 抵抗体を利用する不揮発性メモリ装置及びその駆動方法
US9443586B2 (en) Nonvolatile memory device, memory system including the same and method for driving nonvolatile memory device
KR102504836B1 (ko) 보상 회로를 구비하는 저항성 메모리 장치
KR20140083475A (ko) 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
US9224441B2 (en) Nonvolatile memory device using variable resistive element and memory system having the same
KR102081590B1 (ko) 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
KR102030326B1 (ko) 비휘발성 메모리 장치 및 그 구동 방법
US10121525B2 (en) Nonvolatile memory device and operating method of the same
KR20110120013A (ko) 저항체를 이용한 비휘발성 메모리 장치
US9659644B2 (en) Driving method of nonvolatile memory device using variable resistive element
US10629262B2 (en) Method of operating resistive memory device capable of reducing write latency

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant