KR102432713B1 - 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법 - Google Patents

저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법 Download PDF

Info

Publication number
KR102432713B1
KR102432713B1 KR1020170160652A KR20170160652A KR102432713B1 KR 102432713 B1 KR102432713 B1 KR 102432713B1 KR 1020170160652 A KR1020170160652 A KR 1020170160652A KR 20170160652 A KR20170160652 A KR 20170160652A KR 102432713 B1 KR102432713 B1 KR 102432713B1
Authority
KR
South Korea
Prior art keywords
data
write
power
bit
write data
Prior art date
Application number
KR1020170160652A
Other languages
English (en)
Other versions
KR20190061855A (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 KR1020170160652A priority Critical patent/KR102432713B1/ko
Priority to US16/007,659 priority patent/US10529421B2/en
Priority to CN201811043813.3A priority patent/CN109841247B/zh
Publication of KR20190061855A publication Critical patent/KR20190061855A/ko
Application granted granted Critical
Publication of KR102432713B1 publication Critical patent/KR102432713B1/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/0069Writing or programming circuits or methods
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/0038Power supply circuits
    • 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/004Reading or sensing 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/0097Erasing, e.g. resetting, circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법에 관한 것으로, 메모리 시스템은 다수 개의 저항성 메모리 셀을 포함하는 메모리 셀 어레이; 라이트 커맨드에 따라, 상기 저항성 메모리 셀들 중 선택된 메모리 셀에 라이트 데이터에 대응하는 셋 펄스 또는 리셋 펄스를 제공하는 주변 회로; 및 상기 주변 회로에 상기 라이트 커맨드 및 상기 라이트 데이터를 제공하며, 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수에 따라 산출된 파워 소모량을 토대로 상기 라이트 커맨드를 스케쥴링하는 메모리 컨트롤러를 포함할 수 있다.

Description

저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법 {MEMORY SYSTEM WITH RESISTIVE MEMORY DEVICE AND METHOD OF OPERATING THE SAME}
본 특허 문헌은 반도체 설계 기술에 관한 것으로, 구체적으로는 저항성 메모리 장치를 구비한 메모리 시스템의 커맨드 스케쥴링 방법에 관한 것이다.
반도체 메모리 장치의 고용량화 및 저전력화의 요구에 따라 비휘발성(non-volatile)이면서 리프레쉬(refresh)가 필요 없는 차세대 메모리 장치들이 연구되고 있다. 이와 같은 차세대 메모리 장치로서, 상변화 물질을 이용하는 PRAM(Phase Change Random Access Memory), 전이금속 산화물 등의 가변저항 특성을 갖는 물질을 이용한 RRAM(Resistive Random Access Memory), 그리고 강자성 물질을 이용한 MRAM(Magnetic Random Access Memory) 등이 있다. 이러한 차세대 반도체 메모리 소자들을 구성하는 물질들은 전류 또는 전압에 따라, 그 저항값이 달라지며, 전류 또는 전압 공급이 중단되더라도 저항값을 그대로 유지하는 특성을 가질 뿐만 아니라, 빠른 동작 속도가 보장된다.
특히, 이러한 저항성 메모리 장치 중 PRAM은 비휘발성이면서도 랜덤하게 데이터 억세스가 가능하여 다양한 반도체 시스템 및 반도체 메모리 장치에 적용되고 있다.
본 발명은 라이트 데이터의 하이 비트 또는 로우 비트의 개수에 따라 저항성 메모리 장치에 인가되는 라이트 커맨드를 스케쥴링할 수 있는 메모리 시스템 및 그의 동작 방법을 제공한다.
본 발명의 일 실시 예에 따르면, 메모리 시스템은 다수 개의 저항성 메모리 셀을 포함하는 메모리 셀 어레이; 라이트 커맨드에 따라, 상기 저항성 메모리 셀들 중 선택된 메모리 셀에 라이트 데이터에 대응하는 셋 펄스 또는 리셋 펄스를 제공하는 주변 회로; 및 상기 주변 회로에 상기 라이트 커맨드 및 상기 라이트 데이터를 제공하며, 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수에 따라 산출된 파워 소모량을 토대로 상기 라이트 커맨드를 스케쥴링하는 메모리 컨트롤러를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 메모리 시스템의 동작 방법은 라이트 커맨드 및 라이트 데이터를 생성하는 단계; 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수에 따라 파워 소모량을 산출하고, 상기 산출된 파워 소모량을 누적 합산한 값을 토대로 상기 라이트 커맨드 및 라이트 데이터를 메모리 장치로 발행하는 단계; 및 상기 라이트 커맨드에 따라, 상기 메모리 장치가 저항성 메모리 셀들 중 선택된 메모리 셀에 상기 라이트 데이터에 대응하는 셋 펄스 또는 리셋 펄스를 제공하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 메모리 시스템의 동작 방법은 라이트 커맨드 및 라이트 데이터를 생성하는 단계; 상기 라이트 커맨드가 제 1 라이트 동작을 지시하는 경우, 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수에 따라 파워 소모량을 산출하고, 상기 산출된 파워 소모량을 어드레스에 따라 파워 데이터 테이블에 저장하는 단계; 상기 라이트 커맨드가 제 2 라이트 동작을 지시하는 경우, 상기 어드레스에 따라 상기 파워 데이터 테이블에 저장된 파워 소모량을 누적 합산하는 단계; 상기 누적 합산한 값을 토대로 상기 라이트 커맨드 및 라이트 데이터를 메모리 장치로 발행하는 단계; 및 상기 라이트 커맨드에 따라, 상기 메모리 장치가 저항성 메모리 셀들 중 선택된 메모리 셀에 상기 라이트 데이터에 대응하는 셋 펄스 또는 리셋 펄스를 제공하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 라이트 데이터의 하이 비트 또는 로우 비트의 개수에 따라 저항성 메모리 장치에 인가되는 라이트 커맨드의 수를 조절함으로써 파워 버짓을 효율적으로 관리하고 라이트 동작의 성능을 향상시킬 수 있는 효과가 있다.
도 1 은 저항성 메모리 장치의 메모리 셀을 설명하는 도면 이다.
도 2 는 저항성 메모리 장치의 메모리 셀의 상변화 물질의 특성을 설명하기 위한 그래프이다.
도 3 은 본 발명의 제 1 실시예에 따른 메모리 시스템의 블록도 이다.
도 4 는 도 3 의 커맨드 스케쥴링부의 상세 블록도 이다.
도 5 는 도 3 의 메모리 장치의 상세 블록도 이다.
도 6 은 도 3 의 메모리 컨트롤러의 동작 방법을 설명하기 위한 플로우 차트 이다.
도 7 은 본 발명의 제 2 실시예에 따른 메모리 시스템의 블록도 이다.
도 8 은 도 7 의 메모리 컨트롤러의 동작을 설명하기 위한 표 이다.
도 9 는 버퍼 라이트 동작과 셀 라이트 동작을 설명하기 위한 블록도 이다.
도 10 은 본 발명의 제 3 실시예에 따른 메모리 시스템의 블록도 이다.
도 11a 는 도 10 의 파워 데이터 테이블의 구성을 설명하기 위한 도면 이다.
도 11b 는 도 10 의 메모리 장치에 대응되는 어드레스의 구성을 설명하기 위한 도면 이다.
도 12 는 도 10 의 커맨드 스케쥴링부의 상세 블록도 이다.
도 13a 및 도 13b 는 도 10 의 메모리 시스템의 동작 방법을 설명하는 블록도 이다.
도 14 는 본 발명의 실시예에 따른 저항성 메모리 장치를 포함하는 컴퓨팅 시스템의 블록도 이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예들을 첨부 도면을 참조하여 설명하고자 한다.
도 1 은 저항성 메모리 장치의 메모리 셀(10)을 설명하는 도면 이다.
도 1 을 참조하면, 저항성 메모리 장치의 메모리 셀(10)은 가변 저항체(C)와 액세스 트랜지스터(M)로 구성된다.
가변 저항체(C)는 비트 라인(BL)에 연결된다. 액세스 트랜지스터(M)는 가변 저항체(C)와 접지 사이에 연결된다. 액세스 트랜지스터(M)의 게이트에는 워드 라인(WL)이 연결되어 있다. 워드 라인(WL)에 소정의 전압이 인가되면, 액세스 트랜지스터(M)는 턴 온(turn on) 된다. 액세스 트랜지스터(M)가 턴 온(turn on) 되면, 가변 저항체(C)는 비트 라인(BL)을 통해 전류(Ic)를 공급받는다.
가변 저항체(C)가 온도에 따라 결정 상태(crystal state) 또는 비정질 상태(amorphous state)를 갖는 캘코제나이드 합금(chalcogenide alloy)과 같은 상변화 물질(phase change material)을 포함하는 경우, 저항성 메모리 장치는 상변화 메모리 장치로 구성될 수 있다. 상변화 물질을 가열하는 방법으로서는, 레이저 빔을 이용하는 방법과 전류를 이용하는 방법 등이 알려져 있는데, 메모리 칩의 구현용이성 측면에서 전류를 이용하는 방법이 선호된다. 따라서, 상변화 메모리 장치는 비트 라인(BL)을 통해 공급되는 전류(Ic)에 따라 결정 상태(crystal state) 또는 비정질 상태(amorphous state)로 변하는 상변화 물질의 특성을 이용하여 데이터를 라이트할 수 있다.
도 2 는 저항성 메모리 장치의 메모리 셀(10)의 상변화 물질의 특성을 설명하기 위한 그래프이다.
도 2 에서 도면 부호 "AS" 은 상변화 물질이 비정질 상태(amorphous state)로 되기 위한 조건(이하, 리셋 펄스(AS)라 한다)를 나타내며, 도면 부호 "CS" 는 결정 상태(crystal state)로 되기 위한 조건(이하, 셋 펄스(CS)라 한다)를 나타낸다.
도 2 를 참조하면, 상변화 물질은 제 1 시간(T1) 동안 비트 라인을 통하여 공급되는 리셋 펄스(AS)에 의해 용융 온도(melting temperature; Tm) 보다 높은 온도로 가열된 후 급속히 냉각되면(quenching), 비정질 상태로 된다. 비정질 상태는 보통 리셋 상태(reset state)라고 부르며, 하이 데이터("1")가 저장될 수 있다.
이와는 달리, 상변화 물질은 제 1 시간(T1) 보다 긴 제 2 시간(T2>T1) 동안 비트 라인을 통하여 공급되는 셋 펄스(CS)에 의해 결정화 온도(crystallization temperature; Tc) 보다 높고 녹는점(Tm)보다는 낮은 온도에서 가열된 뒤 서서히 냉각되면 결정 상태로 된다. 결정 상태는 보통 셋 상태(set state)라고도 부르며, 로우 데이터("0")가 저장될 수 있다. 메모리 셀은 상변화 물질의 비정질 양(amorphous volume)에 따라 저항값(resistance)이 달라진다. 메모리 셀의 저항값은 비정질 상태일 때 가장 높고, 결정 상태일 때 가장 낮다.
이하, 도 1 및 도 2 를 참조하여, 상변화 메모리 장치의 기본적인 동작을 설명하면 다음과 같다.
우선, 상변화 메모리 장치의 라이트 동작 시, 워드 라인(WL)에 소정의 전압이 인가되면 액세스 트랜지스터(M)는 턴온(turn on)되고, 비트 라인(BL)을 통해 전류(Ic)가 가변 저항체(C)(즉, 상변화 물질)로 공급된다. 이에 따라, 가변 저항체(C)는 결정 상태(Crystalline State) 또는 비정질 상태(Amorphous State)로 변화하게 된다.
라이트 동작은, 리셋 펄스(AS)를 공급하여 상변화 물질을 리셋 상태(Reset State)로 전환시켜 하이 데이터("1")를 라이트하는 리셋 동작과, 셋 펄스(CS)를 공급하여 상변화 물질을 셋 상태(Set State)로 전환시켜 로우 데이터("0")를 라이트하는 셋 동작을 포함한다. 상변화 물질은 결정 상태(Crystalline State) 보다 비정질 상태(Amorphous State)에서 더 큰 저항값을 가지므로, 리셋 동작 시 인가되는 리셋 펄스(AS)가 셋 동작 시 인가되는 셋 펄스(CS) 보다 큰 피크 전류를 가진다. 반면, 셋 동작 시 인가되는 셋 펄스(CS)는 리셋 동작 시 인가되는 리셋 펄스(AS) 보다 더 긴 시간 동안 인가되어 더 큰 전류 소모량을 가진다.
또한, 상변화 메모리 장치의 리드 동작 시, 워드 라인(WL)에 소정의 전압이 인가되면 액세스 트랜지스터(M)는 턴온(turn on)되고, 비트 라인(BL)을 통해 리드 펄스가 가변 저항체(C)(즉, 상변화 물질)로 공급된다. 이 때, 상변화 물질의 저항값에 따라 흐르는 전류량이 다르므로 이를 이용하여 상변화 물질의 상태(즉, 상변화 물질에 저장된 데이터)를 판별하게 된다.
일반적으로 상변화 메모리 장치의 라이트 동작은 상변화 물질의 상태를 변화시키기 위해 많은 전류가 필요하며 레이턴시(latency) 또한 길어질 수 있는 반면, 리드 동작은 상변화 물질의 현재 상태만을 감지하기 때문에 작은 전류와 적은 레이턴시로 값을 읽어올 수 있다.
한편, 상변화 메모리 장치는 비휘발성으로 개발되었으나, 실제로는, 메모리 셀에 데이터가 라이트된 이후에 시간이 지날수록 저항값이 변동되는 드리프트 현상 등이 발생해 데이터가 유실되는 현상이 발생하고 있다. 따라서, 저항성 메모리 장치는 메모리 셀에 데이터를 라이트한 후 해당 메모리 셀의 저항 레벨이 타겟 윈도우 내에 들어올 때까지의 시간(즉, 데이터 리커버리 시간(DATA RECOVERY TIME)을 확보해야 한다. 이에 따라, 데이터 리커버리 시간에 따라 라이트 동작 시에 컨트롤러로부터 상변화 메모리 장치로 인가되는 라이트 커맨드의 수가 제한될 수 있다.
뿐만 아니라, 컨트롤러는 상변화 메모리 장치의 라이트 동작 및 리드 동작 시 커맨드가 발행될 때마다 일정한 수치를 더하여 산출된 값이 할당된 파워 버짓을 초과하지 않도록 스케쥴링하고 있다. 이 때, 일정한 수치는 해당 커맨드가 수행될 때 소모될 수 있는 최악의 파워 조건을 고려하여 설정될 수 있다. 따라서, 데이터 리커버리 시간을 만족시킨다 하더라도 할당된 파워 버짓에 따라 소정 구간 동안 컨트롤러로부터 상변화 메모리 장치로 인가되는 라이트 커맨드의 수가 제한될 수 있다.
상기에서 설명한 바와 같이, 상변화 메모리 장치는 라이트 동작의 리셋 동작과 셋 동작 시에 소모되는 전류량과 펄스가 인가되는 시간이 각각 다르다. 즉, 하이 데이터를 라이트하는데 소모되는 파워와 로우 데이터를 라이트하는데 소모되는 파워는 다르다. 하지만, 현재의 메모리 시스템에는 이러한 점이 고려되어 있지 않고 있어 라이트 동작의 성능 저하로 이어진다.
이하, 제안 발명에서는, 라이트 동작 시, 라이트 데이터의 로우 비트(또는 하이 비트)의 개수에 따라 소모되는 파워를 산출하고, 산출된 파워 소모량을 토대로 라이트 동작을 효율적으로 수행하는 방법에 대해 논의하기로 한다.
본 명세서에서, 어떤 데이터의 하이 비트라 함은 "1"의 값을 가지는 비트이고, 로우 비트라 함은 "0"의 값을 가지는 비트로 정의할 수 있다. 또한, 다수 비트라 함은 데이터에 포함된 비트들 중 많은 수를 차지하는 비트를 의미한다. 예를 들어, '01100000001'의 데이터가 있다고 가정하면, 로우 비트의 수는 8개이고, 하이 비트의 수는 3개이다. 이 경우, 데이터의 다수 비트는 로우 비트가 된다.
도 3 은 본 발명의 제 1 실시예에 따른 메모리 시스템의 블록도 이다.
도 3 을 참조하면, 메모리 시스템은 메모리 컨트롤러(100) 및 메모리 장치(200)를 포함할 수 있다.
메모리 장치(200)는 다수 개의 메모리 셀들(MC)을 포함하는 메모리 셀 어레이(210)와 다수 개의 워드 라인(WL) 및 비트 라인(BL)을 통해 메모리 셀들(MC)과 연결된 주변 회로(220)를 포함할 수 있다. 메모리 셀 어레이(210)의 메모리 셀들(MC)은 도 1 및 도 2 에서 설명된 저항성 메모리 셀들일 수 있으며, 메모리 장치(200)는 상변화 메모리(PCRAM)로 구성될 수 있다. 이 경우, 주변 회로(220)는 라이트 커맨드(WT)에 따라, 저항성 메모리 셀들 중 어드레스(ADDR)에 따라 선택된 메모리 셀(이하, “타겟 메모리 셀”이라고 한다)에 라이트 데이터(WDATA)에 대응하는 셋 펄스 또는 리셋 펄스를 제공할 수 있다. 라이트 동작은, 리셋 펄스를 공급하여 라이트 데이터(WDATA)의 하이 비트("1")를 라이트하는 리셋 동작과, 셋 펄스를 공급하여 라이트 데이터(WDATA)의 로우 비트("0")를 라이트하는 셋 동작을 포함할 수 있다.
메모리 컨트롤러(100)는 호스트로부터 입력되는 요청(REQ)에 응답하여 커맨드(CMD), 데이터(DATA), 어드레스(ADDR)를 메모리 장치(200)로 전달하여 메모리 장치(200)의 동작을 제어할 수 있다.
예를 들어, 호스트로부터 입력되는 요청(REQ)이 라이트 요청일 경우, 컨트롤러(100)는 라이트 커맨드(WT), 라이트 데이터(WDATA), 메모리 셀 영역(210)의 타겟 메모리 셀에 대응되는 어드레스(ADDR)를 메모리 장치(200)로 전달하여, 타겟 메모리 셀에 라이트 데이터(WDATA)가 프로그램되도록 라이트 동작을 제어할 수 있다. 반면, 호스트로부터 입력되는 요청(REQ)이 리드 요청일 경우, 컨트롤러(100)는 리드 커맨드(RD) 및 메모리 셀 영역(210)의 타겟 메모리 셀에 대응되는 어드레스(ADDR)를 메모리 장치(200)에 전달하고, 타겟 메모리 셀로부터 리드 데이터(RDATA)가 독출되도록 리드 동작을 제어할 수 있다.
특히, 본 발명에 따른 메모리 컨트롤러(100)는, 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트의 개수에 따라 산출된 파워 소모량을 토대로 라이트 커맨드(WT)를 스케쥴링할 수 있다.
보다 상세하게, 메모리 컨트롤러(100)는 어드레스 생성부(110), 커맨드 생성부(120), 데이터 처리부(130), DBI 제어부(140) 및 커맨드 스케쥴링부(150)를 포함할 수 있다.
어드레스 생성부(110)는, 호스트로부터 요청(REQ)이 입력되면, 어드레스(ADDR)를 생성할 수 있다. 어드레스(ADDR)는 워드 라인(WL)을 지정하기 위한 로우 어드레스 및 비트 라인(BL)을 지정하기 위한 컬럼 어드레스를 포함할 수 있다. 메모리 셀 어레이(210)가 다수의 뱅크를 포함하는 경우, 어드레스(ADDR)는 각 뱅크를 지정하기 위한 뱅크 어드레스를 더 포함할 수 있다.
커맨드 생성부(120)는, 호스트로부터 요청(REQ)이 입력되면, 커맨드(CMD)를 생성할 수 있다. 커맨드(CMD)는 라이트 동작을 지시하는 라이트 커맨드(WT) 및 리드 동작을 지시하는 리드 커맨드(RD)를 포함할 수 있다. 한편, 커맨드 생성부(120)는 다양한 동작을 위한 커맨드들을 생성할 수 있지만, 본 발명의 요지를 충실히 설명하기 위해 나머지 커맨드들에 대한 설명은 생략하기로 한다.
데이터 처리부(130)는, 호스트로부터 입력되는 요청(REQ)이 라이트 요청일 경우, 라이트 데이터(WDATA)를 생성하고, 호스트로부터 입력되는 요청(REQ)이 리드 요청일 경우 메모리 장치(200)으로부터 제공되는 리드 데이터(RDATA)를 호스트로 전달할 수 있다.
DBI 제어부(140)는 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트의 개수를 카운팅하고, 카운팅 결과에 따라 라이트 데이터(WDATA)에 대응되는 DBI(Data Bus Inversion) 정보(CDBI)를 결정할 수 있다. 예를 들어, 라이트 데이터(WDATA)의 로우 비트가 다수 비트이면, DBI 제어부(140)는 DBI 정보(CDBI)를 "0"로 결정한다. 반면에, 라이트 데이터(WDATA)의 하이 비트가 다수 비트이면, DBI 제어부(140)는 DBI 정보(CDBI)를 "1"로 결정한다. 다만, 이는 예시적인 것으로서, DBI 제어부(140)는 로우 비트가 다수 비트일 때 DBI 정보(CDBI)를 "1"으로 결정하고, 하이 비트가 다수 비트일 때 DBI 정보(CDBI)를 "0"로 결정할 수 있다. DBI 정보(CDBI)는 메모리 장치(200)가 전송된 라이트 데이터를 프로그램할 때, 라이트 데이터(WDATA)의 비트들을 반전시키기 위한 참조 정보로서 사용된다. 한편, 도 3 에서는, DBI 정보(CDBI)와 라이트 데이터(WDATA)가 별도의 신호로 메모리 장치(200)로 제공되는 것으로 설명되었지만, 본 발명은 이에 한정되지 않는다. 실시예에 따라, 별도의 DBI 정보(CDBI)의 전송 없이, DBI 정보(CDBI)가 반영되는 즉, DBI 정보(CDBI)에 따라 반전 혹은 비반전된 라이트 데이터(WDATA)가 메모리 장치(200)로 제공될 수 있다.
본 발명의 실시예에서, DBI 제어부(140)는 DBI 정보(CDBI)에 따라 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)를 커맨드 스케쥴링부(150)에 제공할 수 있다. 이 때, 비트 개수 정보(BIT_NUM)는 로우 비트 정보(0'S)와 하이 비트 정보(1'S)를 포함할 수 있다. 실시예에 따라, 비트 개수 정보(BIT_NUM)는 로우 비트 정보(0'S)와 하이 비트 정보(1'S) 중 적어도 하나를 포함하도록 구성될 수 있다.
DBI 제어부(140)는 DBI 정보(CDBI)에 따라 실제로 메모리 셀 어레이(210)에 라이트될 라이트 데이터(WDATA)의 특정 비트를 카운팅할 수 있다. 예를 들어, 메모리 장치(200)가 DBI 정보(CDBI)가 "1"인 경우 라이트 데이터(WDATA)의 비트들을 비반전한다면, DBI 제어부(140)는 라이트 데이터(WDATA)의 로우 비트를 카운팅하여 비트 개수 정보(BIT_NUM)의 로우 비트 정보(0'S)로 커맨드 스케쥴링부(150)에 제공하고, 라이트 데이터(WDATA)의 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)의 하이 비트 정보(1'S)로 커맨드 스케쥴링부(150)에 제공할 수 있다. 반면, 메모리 장치(200)가 DBI 정보(CDBI)가 "0"인 경우 라이트 데이터(WDATA)의 비트들을 반전한다면, DBI 제어부(140)는 라이트 데이터(WDATA)의 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)의 로우 비트 정보(0'S)로 커맨드 스케쥴링부(150)에 제공하고, 라이트 데이터(WDATA)의 로우 비트를 카운팅하여 비트 개수 정보(BIT_NUM)의 하이 비트 정보(1'S)로 커맨드 스케쥴링부(150)에 제공할 수 있다. 하지만, 본 발명은 이에 한정되지 않으며, 실시예에 따라 DBI 제어부(140)는 라이트 데이터(WDATA)의 하이 비트 또는 로우 비트 중 적어도 하나를 카운팅하여 비트 개수 정보(BIT_NUM)를 커맨드 스케쥴링부(150)에 제공할 수 있다.
커맨드 스케쥴링부(150)는, 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하고, 산출된 파워 소모량을 누적 합산한 값을 토대로 소정 구간 동안 메모리 장치(200)로 인가되는 라이트 커맨드들(WT)의 수를 조절할 수 있다. 커맨드 스케쥴링부(150)는, 누적 합산한 값이 할당된 파워 버짓 보다 작을 경우, 커맨드 생성부(120)로부터 생성된 내부 라이트 커맨드(IWT)를 메모리 장치(200)의 라이트 커맨드(WT)로 발행하고, 누적 합산한 값이 할당된 파워 버짓 보다 크거나 같을 경우, 커맨드 생성부(120)로부터 생성된 내부 라이트 커맨드(IWT)를 메모리 장치(200)로 발행하지 않고, 발행 중단 신호(NO_ISSUE)를 출력할 수 있다.
커맨드 생성부(120)는 발행 중단 신호(NO_ISSUE)에 응답하여 추가적인 라이트 커맨드의 생성을 중단할 수 있다. 한편, 도 1 에서는 설명의 편의를 위해 어드레스 생성부(110), 커맨드 생성부(120) 및 데이터 처리부(130)가 별개의 구성으로 도시되었지만, 이들을 하나의 구성에 포함되어 구현될 수 있다.
도 4 는 도 3 의 커맨드 스케쥴링부(150)의 상세 블록도 이다.
도 4 를 참조하면, 커맨드 스케쥴링부(150)는 파워 산출부(152), 누적 합산부(154) 및 발행 결정부(156)를 포함할 수 있다.
파워 산출부(152)는, 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하여 파워 데이터(PWR_DATA)를 생성할 수 있다.
보다 자세하게, 파워 산출부(152)는, 파워 설정부(152A) 및 연산부(152B)를 구비할 수 있다. 파워 설정부(152A)는, 리셋 펄스를 인가하는 데 소요되는 제 1 파워량(ASP)과 셋 펄스를 인가하는데 필요한 제 2 파워량(CSP)을 설정할 수 있다. 연산부(152B)는, 비트 개수 정보(BIT_NUM)에 포함된 하이 비트 정보(1'S)와 제 1 파워량(ASP)을 곱하고, 비트 개수 정보(BIT_NUM)에 포함된 로우 비트 정보(0'S)와 제 2 파워량(CSP)을 곱하고, 곱한 결과들을 합산하여 파워 데이터(PWR_DATA)를 출력할 수 있다.
누적 합산부(154)는, 내부 라이트 커맨드(IWT)에 응답하여 파워 데이터(PWR_DATA)를 누적 합산하여 누적 합산 신호(PWR_SUM)를 출력할 수 있다. 즉, 누적 합산부(154)는, 내부 라이트 커맨드(IWT)가 입력될 때마다 산출되는 파워 데이터(PWR_DATA)를 누적 합산하여 누적 합산 신호(PWR_SUM)를 출력할 수 있다.
발행 결정부(156)는, 누적 합산 신호(PWR_SUM)와 할당된 파워 버짓을 비교하여 내부 라이트 커맨드(IWT)를 메모리 장치의 라이트 커맨드(WT)로 발행할지를 결정할 수 있다. 발행 결정부(156)는, 누적 합산 신호(PWR_SUM)가 할당된 파워 버짓 보다 작을 경우, 내부 라이트 커맨드(IWT)를 메모리 장치의 라이트 커맨드(WT)로 발행하고, 누적 합산 신호(PWR_SUM)가 할당된 파워 버짓 보다 크거나 같을 경우, 내부 라이트 커맨드(IWT)를 메모리 장치로 발행하지 않고 발행 중단 신호(NO_ISSUE)를 출력할 수 있다.
도 5 는 도 3 의 메모리 장치(200)의 상세 블록도 이다.
도 5 를 참조하면, 메모리 장치(200)는 메모리 셀 어레이(210)와 주변 회로(220)를 포함할 수 있다. 도 5 에는, 메모리 셀 어레이(210)의 메모리 셀들(MC)은 도 1 및 도 2 에서 설명된 저항성 메모리 셀들인 경우가 도시되어 있다.
주변 회로(220)는 어드레스 디코더(230), 페이지 버퍼 회로(240), 라이트 드라이버(250), 감지 증폭 회로(260), 데이터 입출력 버퍼(270) 및 제어 로직(280)을 포함한다.
제어 로직(280)은 어드레스 디코더(230), 페이지 버퍼 회로(240), 라이트 드라이버(250), 감지 증폭 회로(260) 및 데이터 입출력 버퍼(270)를 제어하며, 라이트 커맨드(WT) 및 리드 커맨드(RD)에 응답하여, 펄스 제어 신호(P_WT)를 라이트 드라이버(250)로 제공하고, 감지 제어 신호(P_RD)를 감지 증폭 회로(260)로 제공하고, 입출력 제어 신호(CON)를 데이터 입출력 회로(270)로 제공할 수 있다.
어드레스 디코더(230)는 워드 라인(WL0~WLn)을 통해 메모리 셀 어레이(210)와 연결된다. 어드레스 디코더(230)는 외부에서 입력된 어드레스(ADDR)를 디코딩하여 선택된 워드 라인으로 바이어스 전압을 제공한다. 도면에 도시되지 않았지만, 제어 로직(280)은 바이어스 전압을 제어하기 위한 제어 신호를 어드레스 디코더(230)로 제공할 수 있다. 또한, 어드레스 디코더(230)는 비트 라인(BL0~BLm)을 선택하기 위한 선택 신호(Yi)를 발생한다. 선택 신호(Yi)는 페이지 버퍼 회로(240)에 제공된다.
페이지 버퍼 회로(240)는 비트 라인(BL0~BLm)을 통해 메모리 셀 어레이(210)와 연결된다. 페이지 버퍼 회로(240)는 어드레스 디코더(230)로부터 제공되는 선택 신호(Yi)에 응답하여 비트 라인을 선택한다. 페이지 버퍼 회로(240)는 선택 신호(Yi)에 응답하여, 라이트 동작 시에는 비트 라인(BL)과 데이터 라인(DL)을 연결하고, 리드 동작 시에는 비트 라인(BL)과 감지 라인(SL)을 연결한다.
라이트 드라이버(250)는 펄스 제어 신호(P_WT) 및 입력 데이터(DI)에 따라 프로그램 펄스(I_PGM)를 데이터 라인(DL)으로 제공한다. 프로그램 펄스(I_PGM)는 셋 펄스 또는 리셋 펄스를 포함할 수 있다.
감지 증폭 회로(260)는 감지 제어 신호(P_RD)에 따라 감지 라인(SL)의 전압과 기준 전압(VREF)의 차이를 감지하여, 타겟 메모리 셀에 저장된 데이터를 독출하여 출력 데이터(DO)로 제공한다. 기준 전압(VREF)은 기준 전압 발생 회로(미도시)에서 제공될 수 있다.
데이터 입출력 회로(270)는 입출력 제어 신호(CON)에 따라, 라이트 데이터(WDATA)를 입력받아 입력 데이터(DI)로 제공하거나, 감지 증폭 회로(260)로부터 제공되는 출력 데이터(DO)를 리드 데이터(RDATA)로 메모리 컨트롤러(도 3 의 100)로 출력할 수 있다. 이 때, 데이터 입출력 회로(270)는 메모리 컨트롤러(100)의 DBI 제어부(140)로부터 제공되는 DBI 정보(CDBI)를 토대로 라이트 데이터(WDATA)의 비트들을 반전시킬지를 결정할 수 있다.
일반적으로 라이트 데이터(WDATA)의 로우 비트를 라이트하는 셋 펄스가 라이트 데이터(WDATA)의 하이 비트를 라이트하는 리셋 펄스에 비해 파워 소모량이 크기 때문에, 데이터 버스 반전 동작은 이러한 점을 고려해 리셋 펄스가 많아지도록 수행될 수 있다. 예를 들어, DBI 정보(CDBI)가 "0"인 경우, 라이트 데이터(WDATA)의 로우 비트가 다수 비트이므로, 데이터 입출력 회로(270)는 라이트 데이터(WDATA)의 비트들을 반전하여 입력 데이터(DI)로 제공할 수 있다. 반면, DBI 정보(CDBI)가 "1"인 경우, 라이트 데이터(WDATA)의 하이 비트가 다수 비트이므로, 데이터 입출력 회로(270)는 라이트 데이터(WDATA)를 그대로 입력 데이터(DI)로 제공할 수 있다.
이하, 도 1 내지 도 6 을 참조하여, 본 발명의 실시예에 따른 메모리 시스템의 동작을 설명하고자 한다.
도 6 은 도 3 의 메모리 컨트롤러(100)의 동작 방법을 설명하기 위한 플로우 차트 이다.
도 6 을 참조하면, 호스트로부터 라이트 요청이 입력되면(S610), 커맨드 생성부(120)는 내부 라이트 커맨드(IWT)를 생성하고, 데이터 처리부(130)는 라이트 데이터(WDATA)를 생성한다(S620). 또한, 어드레스 생성부(110)는 어드레스(ADDR)를 생성한다.
DBI 제어부(140)는 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트를 카운팅하고 카운팅 결과에 따라 라이트 데이터(WDATA)에 대응되는 DBI 정보(CDBI)를 결정하여 메모리 장치(200)로 제공한다. 또한, DBI 제어부(140)는 DBI 정보(CDBI)에 따라 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)를 출력한다(S630).
커맨드 스케쥴링부(150)는, 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하고, 산출된 파워 소모량을 누적 합산한 값을 토대로 내부 라이트 커맨드(IWT)를 메모리 장치(200)의 라이트 커맨드(WT)로 발행할지를 결정할 수 있다.
보다 자세하게, 파워 산출부(152)는, 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하여 파워 데이터(PWR_DATA)를 생성한다(S640). 파워 산출부(152)는, 비트 개수 정보(BIT_NUM)에 포함된 하이 비트 정보(1'S)와 리셋 펄스를 인가하는 데 소요되는 제 1 파워량(ASP)을 곱하고, 비트 개수 정보(BIT_NUM)에 포함된 로우 비트 정보(0'S)와 셋 펄스를 인가하는데 필요한 제 2 파워량(CSP)을 곱하고, 곱한 결과들을 합산하여 파워 데이터(PWR_DATA)를 출력할 수 있다.
누적 합산부(154)는, 내부 라이트 커맨드(IWT)에 응답하여 파워 데이터(PWR_DATA)를 기산출된 파워 데이터(PWR_DATA)와 누적 합산하여 누적 합산 신호(PWR_SUM)를 출력한다(S650).
발행 결정부(156)는, 누적 합산 신호(PWR_SUM)와 할당된 파워 버짓을 비교한다(S660).
누적 합산 신호(PWR_SUM)가 할당된 파워 버짓 보다 작을 경우(S660의 NO), 발행 결정부(156)는, 내부 라이트 커맨드(IWT)를 메모리 장치(200)의 라이트 커맨드(WT)로 발행하고, 라이트 데이터(WDATA)를 메모리 장치(200)로 전달한다(S670). 상기의 동작(S620-670)은 누적 합산 신호(PWR_SUM)가 할당된 파워 버짓 보다 크거나 같을 때까지 되풀이되어, 할당된 파워 버짓 내에서 라이트 커맨드들의 수를 조절할 수 있다.
한편, 누적 합산 신호(PWR_SUM)가 할당된 파워 버짓 보다 크거나 같을 경우(S660의 YES), 발행 결정부(156)는, 내부 라이트 커맨드(IWT)를 메모리 장치로 발행하지 않고 발행 중단 신호(NO_ISSUE)를 출력한다(S680). 커맨드 생성부(120)는 발행 중단 신호(NO_ISSUE)에 응답하여 추가적인 내부 라이트 커맨드(IWT)의 생성을 중단할 수 있다.
한편, 메모리 장치(200)의 제어 로직(280)은, 발행 결정부(156)로부터 제공되는 라이트 커맨드(WT)에 따라 펄스 제어 신호(P_WT) 및 입출력 제어 신호(CON)를 생성한다. 데이터 입출력 회로(270)는, DBI 정보(CDBI)를 토대로 라이트 데이터(WDATA)의 비트들을 반전시킬지를 결정하고, 입출력 제어 신호(CON)에 따라 라이트 데이터(WDATA)를 입력 데이터(DI)로 제공한다. 라이트 드라이버(250)는 펄스 제어 신호(P_WT) 및 입력 데이터(DI)에 따라 셋 펄스 또는 리셋 펄스를 포함하는 프로그램 펄스(I_PGM)를 어드레스(ADDR)에 대응되는 타겟 메모리 셀에 인가할 수 있다.
상기와 같이, 제안 발명은 라이트 데이터의 로우 비트(또는 하이 비트)의 개수에 따라 소모되는 파워를 산출하고, 산출된 파워 소모량을 누적 합산한 값을 토대로 라이트 커맨드를 스케쥴링함으로써 파워 버짓을 효율적으로 관리하고 라이트 동작의 성능을 향상시킬 수 있다.
예를 들어, 라이트 데이터(WDATA)의 로우 비트와 하이 비트를 메모리 셀 어레이(210)에 라이트 하는 데 소모되는 파워의 비가 2:1 일 때, 512 비트의 라이트 데이터(WDATA)의 로우 비트와 하이 비트가 각각 256 비트씩 구성되는 경우를 가정한다. 기존의 방식에 따라 최악의 파워 조건을 고려하여 산출되는 파워 소모량은 라이트 데이터당 2*(256+256)=1024 가 되는 반면, 본 발명에 따라 라이트 데이터의 로우 비트(또는 하이 비트)의 개수를 고려하여 산출되는 파워 소모량은 라이트 데이터당 2*256+1*256=768 이 된다. 따라서, 기존의 방식에서 5 us의 구간 동안 3 번의 라이트 커맨드만 스케쥴링이 가능했다면, 본 발명에서는 5 us의 구간 동안 4 번의 라이트 커맨드까지 스케쥴링 할 수 있다. 또한, 동일한 상황에서, 512 비트의 라이트 데이터(WDATA)가 모두 하이 비트로 구성된 경우에는, 본 발명에 따라 산출되는 파워 소모량이 라이트 데이터당 1*256+1*256=512 가 되어, 5 us의 구간 동안 6 번의 라이트 커맨드까지 스케쥴링 할 수 있어 기존 대비 라이트 동작의 성능을 2 배로 향상시킬 수 있다.
이하, 다양한 라이트 동작에서 제안 발명에 따른 커맨드 스케쥴링을 수행하기 위한 방법에 대해 설명하고자 한다.
메모리 시스템은 라이트 동작에서 라이트 데이터의 일부 비트만 메모리 셀 어레이에 라이트하는 부분 라이트 동작(혹은 마스크드 라이트 동작)을 수행할 수 있다. 부분 라이트 동작 시에는, 타겟 메모리 셀에 기저장된 내부 데이터와 타겟 메모리 셀에 라이트될 데이터를 비교하여 변경된 비트만을 라이트할 수 있다. 따라서, 부분 라이트 동작을 수행하기 위해서는, 기존의 데이터를 독출하는 내부 리드 동작을 수행하고, 독출된 기존의 데이터와 새로운 라이트 데이터를 비교하여 변경된 비트만을 라이트하는 라이트 동작을 수행할 필요가 있다.
도 7 은 본 발명의 제 2 실시예에 따른 메모리 시스템의 블록도 이다.
도 7 을 참조하면, 메모리 시스템은 메모리 컨트롤러(300) 및 메모리 장치(200)를 포함할 수 있다.
도 7 의 메모리 장치(200)는 도 3 의 메모리 장치(200)와 실질적으로 동일하다. 단, 메모리 컨트롤러(300)로부터 부분 라이트 동작을 알리는 부분 라이트 커맨드(MWT) 및 어드레스(ADDR)가 입력되면, 도 7 의 메모리 장치(200)는, 내부 리드 동작을 수행하여 어드레스(ADDR)에 대응되는 타겟 메모리 셀로부터 내부 리드 데이터(RDATA_PRE)를 독출하여 메모리 컨트롤러(300)로 제공할 수 있다.
메모리 컨트롤러(300)는, 어드레스 생성부(310), 커맨드 생성부(320), 데이터 처리부(330), DBI 제어부(340), 커맨드 스케쥴링부(350) 및 데이터 비교부(360)를 포함할 수 있다.
도 7 의 메모리 컨트롤러(300)의 어드레스 생성부(310), 커맨드 생성부(320) 및 데이터 처리부(330)는 도 3 의 어드레스 생성부(110), 커맨드 생성부(120) 및 데이터 처리부(130)과 실질적으로 동일하므로 상세한 설명은 생략하기로 한다.
데이터 비교부(360)는 메모리 장치(200)로부터 독출되는 내부 리드 데이터(RDATA_PRE)와 라이트 데이터(WDATA)를 비교하여 마스킹 데이터(MSK_DATA)를 출력할 수 있다. 데이터 비교부(360)는 라이트 데이터(WDATA)의 비트들과 내부 리드 데이터(RDATA_PRE)의 비트들을 XOR 연산하여 마스킹 데이터(MSK_DATA)를 출력할 수 있다. 예를 들어, 라이트 데이터(WDATA)가 "000111"이고, 내부 리드 데이터(RDATA_PRE)가 "001000"라고 가정하면, 데이터 비교부(360)는 "001111"의 마스킹 데이터(MSK_DATA)를 출력할 수 있다. 즉, 데이터 비교부(360)는 라이트 데이터(WDATA)의 비트들과 내부 리드 데이터(RDATA_PRE)의 비트들을 비교하여 달라진 부분을 하이 비트로 설정한 마스킹 데이터(MSK_DATA)를 출력할 수 있다.
DBI 제어부(340)는 마스킹 데이터(MSK_DATA)의 하이 비트의 개수에 따라 마스킹 데이터(MSK_DATA)에 대응되는 DBI(Data Bus Inversion) 정보(CDBI)를 결정할 수 있다. 예를 들어, DBI 제어부(340)는 "001111"의 마스킹 데이터(MSK_DATA)의 하이 비트가 다수 비트일 때. DBI 정보(CDBI)를 "0"로 결정할 수 있다. 즉, 마스킹 데이터(MSK_DATA)의 하이 비트가 다수 비트임은 라이트될 데이터가 많다는 것을 의미하므로 DBI 제어부(340)는 라이트될 데이터가 적어지도록, 즉, 라이트 데이터(WDATA)가 반전되도록 DBI 정보(CDBI)를 설정할 수 있다.
또한, DBI 제어부(340)는 마스킹 데이터(MSK_DATA)의 DBI 정보(CDBI)에 따라 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)를 커맨드 스케쥴링부(350)에 제공할 수 있다. 예를 들어, 마스킹 데이터(MSK_DATA)의 DBI 정보(CDBI)가 "1"인 경우, 라이트 데이터(WDATA)를 마스킹 데이터(MSK_DATA)로 마스킹한 데이터의 하이 비트 및 로우 비트를 각각 카운팅하여 비트 개수 정보(BIT_NUM)의 하이 비트 정보(1'S) 및 로우 비트 정보(0'S)로 커맨드 스케쥴링부(150)에 제공할 수 있다. 반면, 마스킹 데이터(MSK_DATA)의 DBI 정보(CDBI)가 "0"인 경우, DBI 제어부(340)는 반전된 라이트 데이터를 반전된 마스킹 데이터로 마스킹한 데이터의 하이 비트 및 로우 비트를 각각 카운팅하여 비트 개수 정보(BIT_NUM)의 하이 비트 정보(1'S) 및 로우 비트 정보(0'S)로 커맨드 스케쥴링부(150)에 제공할 수 있다.
커맨드 스케쥴링부(350)는, 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하고, 산출된 파워 소모량을 누적 합산한 값을 토대로 라이트 동작 중에 메모리 장치(200)로 인가되는 라이트 커맨드들(WT)의 수를 조절할 수 있다. 도 7 의 커맨드 스케쥴링부(350)는 도 3 의 커맨드 스케쥴링부(150)와 실질적으로 동일하므로 상세한 설명은 생략하기로 한다.
도 8 은 도 7 의 메모리 컨트롤러(300)의 동작을 설명하기 위한 표이다.
도 8 을 참조하면, CASE 1의 경우, 라이트 데이터(WDATA)가 "1100 1111"이고, 내부 리드 데이터(RDATA_PRE)가 "1111 0000"일 때, 데이터 비교부(360)는 "0011 1111"의 마스킹 데이터(MSK_DATA)를 출력한다. DBI 제어부(340)는 마스킹 데이터(MSK_DATA)의 하이 비트가 다수 비트이므로 DBI 정보(CDBI)를 "0"로 결정하고, 반전된 라이트 데이터(/WDATA)를 반전된 마스킹 데이터(/MSK_DATA)로 마스킹한 데이터의 로우 비트를 카운팅하여 비트 개수 정보(BIT_NUM)의 로우 비트 정보(0'S)를 커맨드 스케쥴링부(150)에 제공할 수 있다.
CASE 2의 경우, 라이트 데이터(WDATA)가 "1111 0011"이고, 내부 리드 데이터(RDATA_PRE)가 "1111 0000"일 때, 데이터 비교부(360)는 "0000 0011"의 마스킹 데이터(MSK_DATA)를 출력한다. DBI 제어부(340)는 마스킹 데이터(MSK_DATA)의 로우 비트가 다수 비트이므로 DBI 정보(CDBI)를 "1"로 결정하고, 라이트 데이터(WDATA)를 마스킹 데이터(MSK_DATA)로 마스킹한 데이터의 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)의 하이 비트 정보(1'S)를 커맨드 스케쥴링부(150)에 제공할 수 있다.
CASE 3의 경우, 라이트 데이터(WDATA)가 "1100 1111"이고, 내부 리드 데이터(RDATA_PRE)가 "0011 0011"일 때, 데이터 비교부(360)는 "1111 1100"의 마스킹 데이터(MSK_DATA)를 출력한다. DBI 제어부(340)는 DBI 정보(CDBI)를 "0"로 결정하고, 반전된 라이트 데이터(/WDATA)를 반전된 마스킹 데이터(/MSK_DATA)로 마스킹한 데이터의 로우 비트를 카운팅하여 비트 개수 정보(BIT_NUM)의 로우 비트 정보(0'S)를 커맨드 스케쥴링부(150)에 제공할 수 있다.
상기와 같이, 부분 라이트 동작을 수행하는 경우에도, 실제로 라이트될 데이터의 로우 비트(또는 하이 비트)의 개수에 따라 소모되는 파워를 산출하고, 산출된 파워 소모량을 토대로 라이트 커맨드를 스케쥴링함으로써 라이트 동작의 성능을 향상시킬 수 있다.
도 9 는 버퍼 라이트 동작과 셀 라이트 동작을 설명하기 위한 블록도 이다.
도 9 를 참조하면, 메모리 시스템은 라이트 동작을 버퍼 라이트 동작과 셀 라이트 동작으로 구분하여 수행할 수 있다.
메모리 컨트롤러(400)는 호스트로부터 라이트 요청(REQ)을 수신하면, 라이트 데이터(WDATA)를 메모리 장치(200)로 제공하여, 라이트 데이터(WDATA)가 페이지 버퍼 회로(240)에 저장되도록 메모리 장치(200)의 버퍼 라이트 동작을 제어할 수 있다. 메모리 컨트롤러(400)는 메모리 장치(200)의 버퍼 라이트 동작을 제어하기 위해서, 메모리 장치(200)로 버퍼 라이트 커맨드를 전송할 수 있다.
또한, 메모리 컨트롤러(400)는 페이지 버퍼 회로(240)에 저장된 데이터가 메모리 셀 어레이(210)의 타겟 메모리 셀에 저장되도록 메모리 장치(200)의 셀 라이트 동작을 제어할 수 있다. 메모리 컨트롤러(400)는 메모리 장치(200)로부터 버퍼 라이트 동작의 완료를 보고받은 후 메모리 장치(200)의 셀 라이트 동작을 제어할 수 있다. 메모리 컨트롤러(400)는 메모리 장치(200)의 셀 라이트 동작을 제어하기 위해서, 메모리 장치(200)로 셀 라이트 커맨드를 전송할 수 있다.
버퍼 라이트 동작이 수행된 후에 셀 라이트 동작이 수행될 수 있으며, 버퍼 라이트 동작과 셀 라이트 동작은 연속하여 수행될 수도 있지만, 불연속적으로 수행될 수도 있다. 메모리 셀 어레이(210)가 다수의 뱅크(BANK0~BANKN)을 포함하고, 각 뱅크는 메모리 셀 어레이(210) 및 페이지 버퍼 회로(240)를 포함하는 경우, 소정 뱅크들에 대한 버퍼 라이트 동작이 수행된 후에 이에 대응되는 다수의 셀 라이트 동작이 수행될 수 있다. 예를 들어, 제 1 뱅크(BANK0)에 대응되는 제 1 버퍼 라이트 동작, 제 2 뱅크(BANK1)에 대응되는 제 2 버퍼 라이트 동작 및 제 3 뱅크(BANK2)에 대응되는 제 3 버퍼 라이트 동작이 수행된 후에, 대응되는 제 1 셀 라이트 동작, 제 2 셀 라이트 동작 및 제 3 셀 라이트 동작이 수행될 수 있다.
한편, 버퍼 라이트 동작 시에는 메모리 셀 어레이(210)에 프로그램 펄스를 실질적으로 인가하지 않기 때문에, 이상적으로는 버퍼 라이트 동작으로 인한 파워 소모량은 거의 없다. 반면, 셀 라이트 동작 시에는 메모리 셀 어레이(210)에 프로그램 펄스를 인가하게 되므로, 버퍼 라이트 동작으로 인한 파워 소모량은 일반적인 라이트 동작 시에 소모되는 파워 소모량과 실질적으로 동일하다.
도 10 은 본 발명의 제 3 실시예에 따른 메모리 시스템의 블록도 이다.
도 10 을 참조하면, 메모리 시스템은 메모리 컨트롤러(400) 및 메모리 장치(200)를 포함할 수 있다.
도 10 의 메모리 장치(200)는 도 3 의 메모리 장치(200)와 실질적으로 동일하다. 단, 도 10 의 메모리 장치(200)는, 버퍼 라이트 동작을 알리는 버퍼 라이트 커맨드(BWT)가 발행되면, 메모리 컨트롤러(400)로 제공되는 라이트 데이터(WDATA)를 내부의 페이지 버퍼 회로(미도시)에 저장하고, 셀 라이트 동작을 알리는 셀 라이트 커맨드(CWT)가 발행되면, 페이지 버퍼 회로에 저장된 데이터를 타겟 메모리 셀에 저장할 수 있다. 참고로, 도 10 에 도시된 내부 라이트 커맨드(IWT)는 버퍼 라이트 커맨드(BWT) 및 셀 라이트 커맨드(CWT)를 포함할 수 있다.
메모리 컨트롤러(400)는, 어드레스 생성부(410), 커맨드 생성부(420), 데이터 처리부(430), DBI 제어부(440), 커맨드 스케쥴링부(450) 및 파워 데이터 테이블(460)을 포함할 수 있다.
도 10 의 메모리 컨트롤러(400)의 어드레스 생성부(410), 커맨드 생성부(420) 및 데이터 처리부(430)는 도 3 의 어드레스 생성부(110), 커맨드 생성부(120) 및 데이터 처리부(130)과 실질적으로 동일하므로 상세한 설명은 생략하기로 한다.
DBI 제어부(440)는, 버퍼 라이트 동작 시 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트의 개수를 카운팅하고, 카운팅 결과에 따라 라이트 데이터(WDATA)에 대응되는 DBI(Data Bus Inversion) 정보(CDBI)를 결정할 수 있다. 또한, DBI 제어부(440)는 버퍼 라이트 동작 시 DBI 정보(CDBI)에 따라 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)를 커맨드 스케쥴링부(450)에 제공할 수 있다.
커맨드 스케쥴링부(450)는, 버퍼 라이트 동작 시 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하여 파워 데이터(PWR_DATA)를 출력하고, 셀 라이트 동작 시 저장 파워 데이터(PWR_DATA_S)를 누적 합산한 값을 토대로 메모리 장치(200)로 인가되는 라이트 커맨드들(WT)의 수를 조절할 수 있다.
파워 데이터 테이블(460)은, 버퍼 라이트 동작 시 어드레스(ADDR)에 따라 커맨드 스케쥴링부(450)로부터 출력되는 파워 데이터(PWR_DATA)를 저장하고, 셀 라이트 동작 시 어드레스(ADDR)에 따라 저장 파워 데이터(PWR_DATA_S)를 커맨드 스케쥴링부(450)로 출력할 수 있다. 파워 데이터 테이블(460)은 버퍼 라이트 동작 및 셀 라이트 동작을 구분하기 위해 버퍼 라이트 커맨드(BWT) 및 셀 라이트 커맨드(CWT)를 포함하는 내부 라이트 커맨드(IWT)를 입력받을 수 있다.
도 11a 는 도 10 의 파워 데이터 테이블(460)의 구성을 설명하기 위한 도면 이다. 도 11b 은 도 10 의 메모리 장치(200)에 대응되는 어드레스(ADDR)의 구성을 설명하기 위한 도면 이다.
도 11a 를 참조하면, 파워 데이터 테이블(460)은 다수의 뱅크들(도 9 의 BANK0~BANKN)의 개수(즉, (N+1) 개)에 대응하는 필드 수(X)를 가지고, 각 필드는 파워 데이터(PWR_DATA)의 비트 수에 대응하는 사이즈(Y)를 가지도록 구성될 수 있다.
도 11b 를 참조하면, 메모리 장치(200)가 다수의 랭크를 포함하는 멀티-랭크 구조인 경우가 설명되어 있다. 예를 들어, 메모리 장치(200)가 4 개의 랭크(RANK0~RANK3)를 포함하고, 각 랭크가 4 개의 뱅크 그룹(BG0~BG3)을 포함하고, 각 뱅크 그룹이 4 개의 뱅크들(BANK0~BANK3)을 구비한다고 가정하면, 메모리 장치(200)는 4*4*4=64 개의 뱅크를 구비할 수 있다. 이 때, 파워 소모량이 라이트 데이터당 512~1024의 범위를 가진다고 가정하면, 파워 데이터 테이블(460)은 64 개의 필드들을 포함하고, 각 필드는 10 비트로 구성되어, 파워 데이터 테이블(460)의 사이즈는 64(X) * 10(Y)이 될 수 있다. 한편, 이는 하나의 예시 일뿐, 본 발명의 메모리 장치(200)의 뱅크 구성 및 수는 이에 한정되지 않는다.
도 11a 를 다시 참조하면, 파워 데이터 테이블(460)의 필드들은 뱅크들(BANK0~BANKN)에 각각 대응하므로, 각 필드는 뱅크 정보를 포함하는 어드레스(ADDR)에 의해 지정될 수 있다. 도 11b 의 구조를 가지는 메모리 장치(200)의 경우, 어드레스(ADDR)는 랭크 정보, 뱅크 그룹 정보 및 뱅크 정보를 포함하도록 구성될 수 있다. 예를 들어, 파워 데이터 테이블(460)의 각 필드는 {랭크 어드레스(RA), 뱅크 그룹 어드레스(BG), 뱅크 어드레스(BA)}를 포함하는 어드레스(ADDR)에 따라 지정될 수 있다. 하지만, 이는 하나의 예시 일뿐, 본 발명의 어드레스(ADDR)의 구성은 이에 한정되지 않으며, 메모리 장치(200)의 구성에 따라 뱅크를 지정하기 위한 뱅크 어드레스를 포함하도록 어드레스(ADDR)가 구성될 수 있다.
도 12 는 도 10 의 커맨드 스케쥴링부(450)의 상세 블록도 이다.
도 12 를 참조하면, 커맨드 스케쥴링부(450)는 파워 산출부(452), 누적 합산부(454) 및 발행 결정부(456)를 포함할 수 있다. 도 11 의 파워 산출부(452), 누적 합산부(454) 및 발행 결정부(456)는 도 4 의 파워 산출부(152), 누적 합산부(154) 및 발행 결정부(156)과 실질적으로 동일한 구성을 가진다.
단, 파워 산출부(452)는 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하여 파워 데이터(PWR_DATA)를 생성하고, 생성된 파워 데이터(PWR_DATA)를 파워 데이터 테이블(460)에 제공한다. 또한, 누적 합산부(454)는 셀 라이트 동작을 알리는 셀 라이트 커맨드(CWT)가 생성되면, 파워 데이터 테이블(460)로부터 제공되는 저장 파워 데이터(PWR_DATA_S)를 누적 합산하여 누적 합산 신호(PWR_SUM)를 출력할 수 있다. 즉, 누적 합산부(454)는, 셀 라이트 커맨드(CWT)가 입력될 때마다 파워 데이터 테이블(460)로부터 제공되는 저장 파워 데이터(PWR_DATA_S)를 누적 합산하여 누적 합산 신호(PWR_SUM)를 출력할 수 있다.
도 13a 및 도 13b 는 도 10 의 메모리 시스템의 동작 방법을 설명하는 블록도 이다. 도 13a 는 도 10 의 메모리 시스템의 버퍼 라이트 동작을 설명하는 블록도 이고, 도 13b 는 도 10 의 메모리 시스템의 셀 라이트 동작을 설명하는 블록도 이다.
도 13a 를 참조하면, 호스트로부터 라이트 요청이 입력되면, 커맨드 생성부(420)는 내부 라이트 커맨드(IWT)를 생성하고, 데이터 처리부(430)는 라이트 데이터(WDATA)를 생성한다. 이 때, 내부 라이트 커맨드(IWT)는 버퍼 라이트 동작을 알리는 버퍼 라이트 커맨드(BWT)를 포함한다. 또한, 어드레스 생성부(410)는 어드레스(ADDR)를 생성한다. 이 때, 어드레스(ADDR)는 뱅크 어드레스를 포함할 수 있다.
DBI 제어부(440)는 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트를 카운팅하고 카운팅 결과에 따라 라이트 데이터(WDATA)에 대응되는 DBI 정보(CDBI)를 결정하여 메모리 장치(200)로 제공한다. 또한, DBI 제어부(440)는 DBI 정보(CDBI)에 따라 라이트 데이터(WDATA)의 로우 비트 또는 하이 비트를 카운팅하여 비트 개수 정보(BIT_NUM)를 출력한다.
커맨드 스케쥴링부(450)의 파워 산출부(452)는 비트 개수 정보(BIT_NUM)에 따라 파워 소모량을 산출하여 파워 데이터(PWR_DATA)를 생성하고, 생성된 파워 데이터(PWR_DATA)를 파워 데이터 테이블(460)에 제공한다.
파워 데이터 테이블(460)은, 버퍼 라이트 커맨드(BWT)에 응답하여 어드레스(ADDR)의 뱅크 어드레스에 의해 지정되는 필드에 파워 데이터(PWR_DATA)를 저장할 수 있다.
한편, 메모리 장치(200)는 버퍼 라이트 커맨드(BWT), 어드레스(ADDR) 및 라이트 데이터(WDATA)를 입력받는다. 메모리 장치(200)는, DBI 정보(CDBI)를 토대로 라이트 데이터(WDATA)의 비트들을 반전시킬지를 결정하고, 최종 라이트 데이터(WDATA)를 어드레스(ADDR)에 대응되는 뱅크의 페이지 버퍼 회로에 저장할 수 있다. 따라서, 버퍼 라이트 동작이 종료된다.
이와 같은 버퍼 라이트 동작은 각 뱅크 별로 반복하여 수행될 수 있다. 이에 따라, 파워 데이터 테이블(460)는 각 뱅크에 대응되는 파워 데이터(PWR_DATA)가 각 필드에 저장될 수 있다.
도 13b 를 참조하면, 호스트로부터 라이트 요청이 입력되면, 커맨드 생성부(420)는 내부 라이트 커맨드(IWT)를 생성한다. 이 때, 내부 라이트 커맨드(IWT)는 셀 라이트 동작을 알리는 셀 라이트 커맨드(CWT)를 포함한다. 또한, 어드레스 생성부(410)는 어드레스(ADDR)를 생성한다. 이 때, 어드레스(ADDR)는 뱅크 어드레스를 포함할 수 있다.
파워 데이터 테이블(460)은 셀 라이트 커맨드(CWT)에 응답하여 어드레스(ADDR)의 뱅크 어드레스에 의해 지정되는 필드로부터 저장 파워 데이터(PWR_DATA_S)를 출력할 수 있다.
누적 합산부(454)는 셀 라이트 커맨드(CWT)가 입력되면, 파워 데이터 테이블(460)로부터 출력되는 저장 파워 데이터(PWR_DATA_S)를 누적 합산하여 누적 합산 신호(PWR_SUM)를 출력할 수 있다. 발행 결정부(456)는, 누적 합산 신호(PWR_SUM)와 할당된 파워 버짓을 비교하여, 내부 라이트 커맨드(IWT)를 메모리 장치의 라이트 커맨드(WT)로 발행할지를 결정할 수 있다.
한편, 메모리 장치(200)는 셀 라이트 커맨드(CWT) 및 어드레스(ADDR)를 입력받는다. 메모리 장치(200)는, 셀 라이트 커맨드(CWT) 및 어드레스(ADDR)에 대응되는 뱅크의 페이지 버퍼 회로에 저장된 데이터에 따라 셋 펄스 또는 리셋 펄스를 포함하는 프로그램 펄스(I_PGM)를 타겟 메모리 셀에 인가할 수 있다. 따라서, 셀 라이트 동작이 종료된다.
상기와 같이, 제안 발명은, 버퍼 라이트 동작 시 라이트 데이터의 로우 비트(또는 하이 비트)의 개수에 따라 소모되는 파워를 산출하고 산출된 파워 소모량을 파워 데이터 테이블에 저장한다. 이후, 메모리 셀에 라이트 데이터가 실질적으로 라이트되는 셀 라이트 동작 시, 파워 데이터 테이블에 저장된 파워 소모량을 누적 합산한 값을 토대로 라이트 커맨드를 스케쥴링함으로써 라이트 동작의 성능을 향상시킬 수 있다.
도 14 는 본 발명의 실시예에 따른 저항성 메모리 장치를 포함하는 컴퓨팅 시스템(1400)을 간략히 보여주는 블록도 이다.
도 14 를 참조하면, 컴퓨팅 시스템(1400)은 저항성 메모리 장치(1411) 및 메모리 컨트롤러(1412)로 구성되는 메모리 시스템(1410), 시스템 버스(1450)에 전기적으로 연결된 중앙처리장치(CPU, 1430), 사용자 인터페이스(1440), 전원 공급 장치(1420)를 포함한다.
저항 메모리 장치(1411)에는 사용자 인터페이스(1440)를 통해서 제공되거나 또는, 중앙처리장치(1430)에 의해서 처리된 데이터가 메모리 컨트롤러(1412)를 통해 저장된다. 도 14 의 메모리 시스템(1410)은 도 3 의 메모리 시스템, 도 7 의 메모리 시스템 및 도 10 의 메모리 시스템 중 하나로 구현될 수 있다. 따라서, 라이트 데이터의 로우 비트 또는 하이 비트의 개수에 따라 소모되는 파워를 산출하고, 산출된 파워 소모량을 토대로 라이트 커맨드를 스케쥴링함으로써 라이트 동작의 성능을 향상시킬 수 있다.
비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기록되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
100, 300, 400: 메모리 컨트롤러 200: 메모리 장치
110, 310, 410: 어드레스 생성부 120, 320, 420: 커맨드 생성부
130, 330, 430: 데이터 처리부 140, 340, 440: DBI 제어부
150, 350, 450: 커맨드 스케쥴링부

Claims (24)

  1. 다수 개의 저항성 메모리 셀을 포함하는 메모리 셀 어레이;
    라이트 커맨드에 따라, 상기 저항성 메모리 셀들 중 선택된 메모리 셀에 라이트 데이터에 대응하는 셋 펄스 또는 리셋 펄스를 제공하는 주변 회로; 및
    상기 주변 회로에 상기 라이트 커맨드 및 상기 라이트 데이터를 제공하며, 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수에 따라 산출된 파워 소모량을 토대로 상기 라이트 커맨드를 스케쥴링하되, 상기 라이트 데이터가 생성되면 해당 라이트 데이터의 DBI(Data Bus Inversion) 정보에 따라 상기 파워 소모량을 산출하고, 상기 산출된 파워 소모량을 누적 합산한 값을 토대로 소정 구간 동안 상기 주변 회로로 인가되는 라이트 커맨드들의 수를 조절하는 메모리 컨트롤러
    를 포함하는 메모리 시스템.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 주변 회로는,
    상기 라이트 데이터의 로우 비트를 라이트할 때는 상기 셋 펄스를 인가하고, 상기 라이트 데이터의 하이 비트를 라이트할 때는 상기 리셋 펄스를 인가하는 메모리 시스템.
  3. 삭제
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 메모리 컨트롤러는,
    상기 라이트 데이터의 DBI 정보에 따라 상기 로우 비트 또는 하이 비트의 개수를 카운팅하여 비트 개수 정보를 출력하는 DBI 제어부; 및
    상기 비트 개수 정보에 따라 상기 파워 소모량을 산출하고, 상기 산출된 파워 소모량을 누적 합산한 값을 토대로 소정 구간 동안 상기 주변 회로로 인가되는 라이트 커맨드들의 수를 조절하는 커맨드 스케쥴링부
    를 포함하는 메모리 시스템.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제 4 항에 있어서,
    상기 DBI 제어부는,
    상기 라이트 데이터의 DBI 정보가 제 1 로직 레벨일 때, 상기 로우 비트의 개수를 카운팅하여 상기 비트 개수 정보의 로우 비트 정보로 출력하고, 상기 하이 비트의 개수를 카운팅하여 상기 비트 개수 정보의 하이 비트 정보로 출력하고,
    상기 라이트 데이터의 DBI 정보가 제 2 로직 레벨일 때, 상기 하이 비트의 개수를 카운팅하여 상기 로우 비트 정보로 출력하고, 상기 로우 비트의 개수를 카운팅하여 상기 하이 비트 정보로 출력하는 메모리 시스템.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제 4 항에 있어서,
    상기 커맨드 스케쥴링부는,
    상기 비트 개수 정보에 따라 상기 파워 소모량을 산출하여 파워 데이터를 출력하는 파워 산출부;
    상기 라이트 커맨드에 응답하여 상기 파워 데이터를 누적 합산하여 누적 합산 신호를 출력하는 누적 합산부; 및
    상기 누적 합산 신호와 할당된 파워 버짓을 비교하여 상기 라이트 커맨드를 발행할지를 결정하는 발행 결정부
    를 포함하는 메모리 시스템.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제 6 항에 있어서,
    상기 파워 산출부는,
    상기 리셋 펄스를 인가하는 데 소요되는 제 1 파워량과 상기 셋 펄스를 인가하는데 필요한 제 2 파워량을 설정하는 파워 설정부; 및
    상기 비트 개수 정보에 포함된 하이 비트 정보와 상기 제 1 파워량을 곱하고, 상기 비트 개수 정보에 포함된 로우 비트 정보와 상기 제 2 파워량을 곱하고, 상기 곱한 결과들을 합산하여 상기 파워 데이터로 출력하는 연산부
    를 포함하는 메모리 시스템.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제 6 항에 있어서,
    상기 발행 결정부는,
    상기 누적 합산 신호가 상기 할당된 파워 버짓 보다 작을 경우, 상기 라이트 커맨드를 발행하고,
    상기 누적 합산 신호가 상기 할당된 파워 버짓 보다 크거나 같을 경우, 상기 라이트 커맨드의 생성을 중단하도록 제어하는 메모리 시스템.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 메모리 컨트롤러는,
    상기 라이트 데이터와 상기 메모리 셀 어레이로부터 출력되는 리드 데이터를 비교하여 마스킹 데이터를 출력하는 데이터 비교부;
    상기 마스킹 데이터의 DBI 정보에 따라 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수를 카운팅하여 비트 개수 정보를 출력하는 DBI 제어부; 및
    상기 비트 개수 정보에 따라 상기 파워 소모량을 산출하고, 상기 산출된 파워 소모량을 누적 합산한 값을 토대로 소정 구간 동안 상기 주변 회로로 인가되는 라이트 커맨드들의 수를 조절하는 커맨드 스케쥴링부
    를 포함하는 메모리 시스템.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제 9 항에 있어서,
    상기 데이터 비교부는,
    상기 라이트 데이터의 비트들과 상기 리드 데이터의 비트들을 XOR 연산하여 상기 마스킹 데이터를 출력하는 메모리 시스템.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 라이트 동작은 상기 메모리 컨트롤러로부터 상기 주변 회로로 상기 라이트 데이터가 저장되는 제 1 라이트 동작과, 페이지 버퍼 회로로부터 상기 메모리 셀 어레이로 상기 라이트 데이터가 저장되는 제 2 라이트 동작으로 구분되는 메모리 시스템.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제 11 항에 있어서,
    상기 메모리 컨트롤러는,
    상기 제 1 라이트 동작 시, 상기 라이트 데이터의 DBI 정보에 따라 상기 로우 비트 또는 하이 비트의 개수를 카운팅하여 비트 개수 정보를 출력하는 DBI 제어부;
    상기 비트 개수 정보에 따라 상기 파워 소모량을 산출하는 파워 산출부;
    상기 제 1 라이트 동작 시 상기 산출된 파워 소모량을 어드레스에 따라 저장하고, 상기 제 2 라이트 동작 시 저장된 파워 소모량을 상기 어드레스에 따라 출력하는 파워 데이터 테이블;
    상기 제 2 라이트 동작 시, 상기 파워 데이터 테이블로부터 제공되는 상기 파워 소모량을 누적 합산하여 누적 합산 신호를 출력하는 누적 합산부; 및
    상기 누적 합산 신호와 할당된 파워 버짓을 비교하여 상기 라이트 커맨드를 발행할지를 결정하는 발행 결정부
    를 포함하는 메모리 시스템.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제 12 항에 있어서,
    상기 파워 산출부는,
    상기 리셋 펄스를 인가하는 데 소요되는 제 1 파워량과 상기 셋 펄스를 인가하는데 필요한 제 2 파워량을 설정하는 파워 설정부; 및
    상기 비트 개수 정보에 포함된 하이 비트 정보와 상기 제 1 파워량을 곱하고, 상기 비트 개수 정보에 포함된 로우 비트 정보와 상기 제 2 파워량을 곱하고, 상기 곱한 결과들을 합산하여 상기 파워 소모량으로 산출하는 연산부
    를 포함하는 메모리 시스템.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제 12 항에 있어서,
    상기 발행 결정부는,
    상기 누적 합산 신호가 상기 할당된 파워 버짓 보다 작을 경우, 상기 라이트 커맨드를 발행하고,
    상기 누적 합산 신호가 상기 할당된 파워 버짓 보다 크거나 같을 경우, 상기 라이트 커맨드의 생성을 중단하도록 제어하는 메모리 시스템.
  15. 라이트 커맨드 및 라이트 데이터를 생성하는 단계;
    상기 라이트 데이터의 DBI(Data Bus Inversion) 정보에 따라 로우 비트 또는 하이 비트의 개수를 카운팅하여 비트 개수 정보를 출력하는 단계;
    상기 비트 개수 정보에 따라 파워 소모량을 산출하는 단계;
    상기 라이트 커맨드에 응답하여 상기 파워 소모량을 누적 합산하여 누적 합산 신호를 출력하는 단계;
    상기 누적 합산 신호와 할당된 파워 버짓을 비교하여 상기 라이트 커맨드를 메모리 장치로 발행할지를 결정하여 상기 라이트 커맨드 및 라이트 데이터를 상기 메모리 장치로 발행하는 단계; 및
    상기 라이트 커맨드에 따라, 상기 메모리 장치가 저항성 메모리 셀들 중 선택된 메모리 셀에 상기 라이트 데이터에 대응하는 셋 펄스 또는 리셋 펄스를 제공하는 단계
    를 포함하는 메모리 시스템의 동작 방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제 15 항에 있어서,
    상기 메모리 장치는,
    상기 라이트 데이터의 로우 비트를 라이트할 때는 상기 선택된 메모리 셀에 상기 셋 펄스를 인가하고, 상기 라이트 데이터의 하이 비트를 라이트할 때는 상기 선택된 메모리 셀에 상기 리셋 펄스를 인가하는 메모리 시스템의 동작 방법.
  17. 삭제
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제 15 항에 있어서,
    상기 파워 소모량을 산출하는 단계는,
    상기 리셋 펄스를 인가하는 데 소요되는 제 1 파워량과 상기 셋 펄스를 인가하는데 필요한 제 2 파워량을 설정하는 단계;
    상기 비트 개수 정보에 포함된 하이 비트 정보와 상기 제 1 파워량을 곱하고, 상기 비트 개수 정보에 포함된 로우 비트 정보와 상기 제 2 파워량을 곱하는 단계; 및
    상기 곱한 결과들을 합산하여 상기 파워 소모량으로 산출하는 단계
    를 포함하는 메모리 시스템의 동작 방법.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    제 15 항에 있어서,
    상기 라이트 커맨드를 발행할지를 결정하는 단계는,
    상기 누적 합산 신호가 상기 할당된 파워 버짓 보다 작을 경우, 상기 라이트 커맨드를 발행하고,
    상기 누적 합산 신호가 상기 할당된 파워 버짓 보다 크거나 같을 경우, 상기 라이트 커맨드의 생성을 중단하도록 제어하는 메모리 시스템의 동작 방법.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제 15 항에 있어서,
    상기 라이트 커맨드 및 라이트 데이터를 메모리 장치로 발행하는 단계는,
    상기 라이트 데이터와 상기 메모리 장치로부터 출력되는 리드 데이터를 비교하여 마스킹 데이터를 출력하는 단계;
    상기 마스킹 데이터의 DBI 정보에 따라 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수를 카운팅하여 비트 개수 정보를 출력하는 단계;
    상기 비트 개수 정보에 따라 상기 파워 소모량을 산출하는 단계;
    상기 라이트 커맨드에 응답하여 상기 파워 소모량을 누적 합산하여 누적 합산 신호를 출력하는 단계; 및
    상기 누적 합산 신호와 할당된 파워 버짓을 비교하여 상기 라이트 커맨드를 상기 메모리 장치로 발행할지를 결정하는 단계
    를 포함하는 메모리 시스템의 동작 방법.
  21. 라이트 커맨드 및 라이트 데이터를 생성하는 단계;
    상기 라이트 커맨드가 제 1 라이트 동작을 지시하는 경우, 상기 라이트 데이터의 로우 비트 또는 하이 비트의 개수에 따라 파워 소모량을 산출하고, 상기 산출된 파워 소모량을 어드레스에 따라 파워 데이터 테이블에 저장하는 단계;
    상기 라이트 커맨드가 제 2 라이트 동작을 지시하는 경우, 상기 어드레스에 따라 상기 파워 데이터 테이블에 저장된 파워 소모량을 누적 합산하는 단계;
    상기 누적 합산한 값을 토대로 상기 라이트 커맨드 및 라이트 데이터를 메모리 장치로 발행하는 단계; 및
    상기 라이트 커맨드에 따라, 상기 메모리 장치가 저항성 메모리 셀들 중 선택된 메모리 셀에 상기 라이트 데이터에 대응하는 셋 펄스 또는 리셋 펄스를 제공하는 단계
    를 포함하는 메모리 시스템의 동작 방법.
  22. ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈
    제 21 항에 있어서,
    상기 제 1 라이트 동작은 메모리 컨트롤러로부터 상기 메모리 장치의 페이지 버퍼 회로로 상기 라이트 데이터가 저장되는 동작이고,
    상기 제 2 라이트 동작은 상기 페이지 버퍼 회로로부터 상기 메모리 장치의 메모리 셀 어레이로 상기 라이트 데이터가 저장되는 동작인 메모리 시스템의 동작 방법.
  23. ◈청구항 23은(는) 설정등록료 납부시 포기되었습니다.◈
    제 21 항에 있어서,
    상기 파워 소모량을 산출하는 단계는,
    상기 리셋 펄스를 인가하는 데 소요되는 제 1 파워량과 상기 셋 펄스를 인가하는데 필요한 제 2 파워량을 설정하는 단계;
    상기 라이트 데이터의 하이 비트의 개수와 상기 제 1 파워량을 곱하고, 상기 라이트 데이터의 로우 비트의 개수와 상기 제 2 파워량을 곱하는 단계; 및
    상기 곱한 결과들을 합산하여 상기 파워 소모량으로 산출하는 단계
    를 포함하는 메모리 시스템의 동작 방법.
  24. ◈청구항 24은(는) 설정등록료 납부시 포기되었습니다.◈
    제 21 항에 있어서,
    상기 라이트 커맨드를 발행할지를 결정하는 단계는,
    상기 산출된 파워 소모량이 할당된 파워 버짓 보다 작을 경우, 상기 라이트 커맨드를 발행하고,
    상기 산출된 파워 소모량이 상기 할당된 파워 버짓 보다 크거나 같을 경우, 상기 라이트 커맨드의 생성을 중단하도록 제어하는 메모리 시스템의 동작 방법.
KR1020170160652A 2017-11-28 2017-11-28 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법 KR102432713B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170160652A KR102432713B1 (ko) 2017-11-28 2017-11-28 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법
US16/007,659 US10529421B2 (en) 2017-11-28 2018-06-13 Memory system having resistive memory device for scheduling write command and operating method thereof
CN201811043813.3A CN109841247B (zh) 2017-11-28 2018-09-07 具有电阻式存储器件的存储系统及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170160652A KR102432713B1 (ko) 2017-11-28 2017-11-28 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20190061855A KR20190061855A (ko) 2019-06-05
KR102432713B1 true KR102432713B1 (ko) 2022-08-17

Family

ID=66632593

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170160652A KR102432713B1 (ko) 2017-11-28 2017-11-28 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법

Country Status (3)

Country Link
US (1) US10529421B2 (ko)
KR (1) KR102432713B1 (ko)
CN (1) CN109841247B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10937495B2 (en) * 2019-07-02 2021-03-02 Winbond Electronics Corp. Resistive memory apparatus and method for writing data thereof
CN110569203B (zh) * 2019-08-09 2021-11-30 华为技术有限公司 一种输入控制方法、装置及存储设备
CN112712841A (zh) * 2019-10-25 2021-04-27 长鑫存储技术(上海)有限公司 写操作电路、半导体存储器和写操作方法
CN111026328B (zh) * 2019-11-13 2022-04-22 华为技术有限公司 一种能耗控制方法、装置及存储系统
US11099784B2 (en) * 2019-12-17 2021-08-24 Sandisk Technologies Llc Crosspoint memory architecture for high bandwidth operation with small page buffer
WO2021176243A1 (en) * 2020-03-03 2021-09-10 Micron Technology, Inc. On-the-fly programming and verifying method for memory cells based on counters and ecc feedback
TWI755154B (zh) 2020-03-03 2022-02-11 美商美光科技公司 基於計數器及錯誤校正碼反饋用於記憶體單元之即時程式化及驗證方法
US11756592B2 (en) * 2020-09-29 2023-09-12 Samsung Electronics Co., Ltd. Memory device supporting DBI interface and operating method of memory device
US20220100407A1 (en) * 2020-09-30 2022-03-31 Seagate Technology, Llc Data storage system with workload-based dynamic power consumption
KR20220046211A (ko) * 2020-10-07 2022-04-14 에스케이하이닉스 주식회사 저항성 메모리 장치를 제어하기 위한 메모리 컨트롤러 및 이를 포함하는 메모리 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827702B1 (ko) * 2006-11-01 2008-05-07 삼성전자주식회사 가변저항 반도체 메모리 장치
JP2010129154A (ja) 2008-11-28 2010-06-10 Samsung Electronics Co Ltd 不揮発性半導体記憶装置
US8407560B2 (en) * 2010-07-14 2013-03-26 Hewlett-Packard Development Company, L.P. Systems and methods for encoding information for storage in an electronic memory and for decoding encoded information retrieved from an electronic memory
KR101964261B1 (ko) * 2012-05-17 2019-04-01 삼성전자주식회사 자기 메모리 장치
US8773891B2 (en) 2012-09-07 2014-07-08 Being Advanced Memory Corporation Systems, methods, and devices with write optimization in phase change memory
KR102127616B1 (ko) * 2013-01-04 2020-06-30 유니버시티 오브 메인 시스템 보드 오브 트러스티스 Pcm 기록 비대칭들을 이용한 기록 가속
KR20150073487A (ko) * 2013-12-23 2015-07-01 에스케이하이닉스 주식회사 반도체 메모리 장치
KR102151183B1 (ko) * 2014-06-30 2020-09-02 삼성전자주식회사 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
US9612958B1 (en) * 2015-06-18 2017-04-04 Crossbar, Inc. Wear leveling and improved efficiency for a non-volatile memory device

Also Published As

Publication number Publication date
CN109841247B (zh) 2023-06-13
KR20190061855A (ko) 2019-06-05
US20190164605A1 (en) 2019-05-30
CN109841247A (zh) 2019-06-04
US10529421B2 (en) 2020-01-07

Similar Documents

Publication Publication Date Title
KR102432713B1 (ko) 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법
EP3117435B1 (en) Mitigating read disturb in a cross-point memory
US9368201B2 (en) Nonvolatile memory device having resistive memory cell and method sensing data in same
US8077496B2 (en) Nonvolatile memory device and method of driving the same
US8031517B2 (en) Memory device, memory system having the same, and programming method of a memory cell
KR102386198B1 (ko) 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법
KR101311499B1 (ko) 가변 저항 메모리 장치 및 그것의 프로그램 방법
US9659645B2 (en) Resistive memory device and method of writing data
US20160099049A1 (en) Resistive memory device, resistive memory system, and operating method thereof
US9583189B2 (en) Memory device, operating and control method thereof
KR102238647B1 (ko) 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법
KR102215359B1 (ko) 비휘발성 메모리 장치와 그 센싱 방법
US9799399B2 (en) Nonvolatile memory devices including controller for operating nonvolatile memory cell array layer in memory chip in one of memory mode and storage mode
KR20100031893A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템
US20210020226A1 (en) Memory device for avoiding multi-turn on of memory cell, and operating method thereof
KR20140075438A (ko) 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
CN110875077A (zh) 存储器控制器及其操作方法
KR20150116270A (ko) 비휘발성 메모리 장치와 이를 포함하는 메모리 시스템, 및 비휘발성 메모리 장치의 구동 방법
KR102401183B1 (ko) 메모리 장치 및 그 동작 방법
KR20140021321A (ko) 라이트 드라이버 회로, 이를 이용하는 반도체 장치 및 메모리 시스템
KR20210047606A (ko) 메모리 장치
CN111326190B (zh) 相变随机存取存储器单元阵列及其写入方法
KR20210081049A (ko) 저항성 메모리 장치 및 그의 동작 방법
US20200381024A1 (en) Page buffer and memory device including the same

Legal Events

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