KR20150087646A - 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 - Google Patents

불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20150087646A
KR20150087646A KR1020140007836A KR20140007836A KR20150087646A KR 20150087646 A KR20150087646 A KR 20150087646A KR 1020140007836 A KR1020140007836 A KR 1020140007836A KR 20140007836 A KR20140007836 A KR 20140007836A KR 20150087646 A KR20150087646 A KR 20150087646A
Authority
KR
South Korea
Prior art keywords
peak current
operations
nvm
controller
memory
Prior art date
Application number
KR1020140007836A
Other languages
English (en)
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 KR1020140007836A priority Critical patent/KR20150087646A/ko
Priority to US14/447,654 priority patent/US20150205540A1/en
Publication of KR20150087646A publication Critical patent/KR20150087646A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • AHUMAN NECESSITIES
    • A42HEADWEAR
    • A42BHATS; HEAD COVERINGS
    • A42B3/00Helmets; Helmet covers ; Other protective head coverings
    • A42B3/04Parts, details or accessories of helmets
    • A42B3/10Linings
    • A42B3/12Cushioning devices
    • A42B3/124Cushioning devices with at least one corrugated or ribbed layer
    • AHUMAN NECESSITIES
    • A42HEADWEAR
    • A42BHATS; HEAD COVERINGS
    • A42B3/00Helmets; Helmet covers ; Other protective head coverings
    • A42B3/04Parts, details or accessories of helmets
    • A42B3/28Ventilating arrangements
    • A42B3/281Air ducting systems
    • AHUMAN NECESSITIES
    • A42HEADWEAR
    • A42CMANUFACTURING OR TRIMMING HEAD COVERINGS, e.g. HATS
    • A42C2/00Manufacturing helmets by processes not otherwise provided for
    • A42C2/002In-mould forming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 메모리 시스템은 하나의 채널에 연결된 복수의 웨이들을 통하여 인터리빙 방식으로 데이터를 입출력하고, 상기 인터리빙 방식에 따라 입력된 데이터에 대한 프로그램 동작들을 각각 독립적으로 수행하는 복수의 불 휘발성 메모리 장치들, 그리고 상기 복수의 웨이들을 통하여 상기 불 휘발성 메모리 장치들을 상기 인터리빙 방식으로 액세스하고, 상기 불 휘발성 메모리 장치들 각각에 대응하는 데이터 출력 동작들 또는 데이터 입력 동작들을 수행하는 컨트롤러를 포함하되, 상기 컨트롤러는 미리 설정된 기준 피크 전류에 따라 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수를 결정하고, 상기 결정된 프로그램 동작들은 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행된다.

Description

불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법{MEMORY SYSTEM INCLUDING NON-VOLATILE MEMORY DEVICE AND OPERATION METHOD THEREOF}
본 발명은 메모리 시스템에 관한 것으로, 좀 더 구체적으로는 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법에 관한 것이다.
반도체 메모리 장치(Semiconductor Memory Device)는 크게 휘발성 메모리 장치(Volatile Memory Device)와 불 휘발성 메모리 장치(Non-volatile Memory Device)로 구분된다. 휘발성 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 불 휘발성 메모리 장치는 외부 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로 불 휘발성 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다. 특히, 불 휘발성 메모리 중에서 플래시 메모리(Flash memory)는 기존의 EEPROM에 비해 집적도가 높아, 대용량 보조 기억 장치로의 응용에 매우 유리하다.
최근에는 기술의 진보와 플래시 메모리 장치의 가격 인하에 따라 플래시 메모리를 하드 디스크 드라이브(HDD)를 대체하기 위한 저장 매체로 사용되고 있다. 플래시 메모리를 이용한 저장 장치는 다양하게 제조되고 있다. 이러한 저장 장치는 솔리드 스테이트 드라이브(Solid State Drive: SSD), SD카드 등으로 다양하게 제조되고 있다. 저장 장치는 플래시 메모리를 제어하기 위한 컨트롤러를 포함한다. 최근 플래시 메모리의 동작 주파수는 증가하고, 집적도는 높아지고 있다. 따라서, 신뢰성 확보를 위해 컨트롤러는 ECC 회로와 같은 추가적인 기능을 포함하고 있다. 그로 인해 컨트롤러의 소비 전류도 점점 증가하고 있다.
본 발명의 목적은 컨트롤러와 불 휘발성 메모리 장치의 동작 시점을 다르게 하는 메모리 시스템 및 그것의 동작 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 메모리 시스템은 하나의 채널에 연결된 복수의 웨이들을 통하여 인터리빙 방식으로 데이터를 입출력하고, 상기 인터리빙 방식에 따라 입력된 데이터에 대한 프로그램 동작들을 각각 독립적으로 수행하는 복수의 불 휘발성 메모리 장치들; 그리고 상기 복수의 웨이들을 통하여 상기 불 휘발성 메모리 장치들을 상기 인터리빙 방식으로 액세스하고, 상기 불 휘발성 메모리 장치들 각각에 대응하는 데이터 출력 동작들 또는 데이터 입력 동작들을 수행하는 컨트롤러를 포함하되, 상기 컨트롤러는 미리 설정된 기준 피크 전류에 따라 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수를 결정하고, 상기 결정된 프로그램 동작들은 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행된다.
실시 예로서, 상기 프로그램 동작들은 상기 프로그램 동작들 각각에 대응하는 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 각각이 수행된 이후에 수행된다.
실시 예로서, 상기 컨트롤러는 상기 기준 피크 전류에 따라 상기 데이터 출력 동작들 또는 데이터 입력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수를 결정하는 피크 전류 매니저를 포함한다.
실시 예로서, 상기 피크 전류 매니저는 상기 프로그램 동작들, 상기 데이터 출력 동작들 및 상기 데이터 입력 동작들의 피크 전류 값들과 상기 기준 피크 전류 값을 저장하고 있다.
실시 예로서, 상기 컨트롤러는 동작 피크 전류와 상기 기준 피크 전류를 비교하여 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수를 결정한다.
실시 예로서, 상기 동작 피크 전류 값은 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 다음에 수행되는 데이터 출력 동작 또는 데이터 입력 동작의 피크 전류 값과 상기 프로그램 동작들 중 현재 수행되고 있는 프로그램 동작들 및 다음에 추가되어 수행되는 프로그램 동작의 피크 전류 값들을 합하여 결정된다.
실시 예로서, 상기 컨트롤러는 복수의 채널들을 통하여 상기 복수의 불 휘발성 메모리 장치들과 연결되고, 각각의 채널에서 상기 인터리빙 방식에 따라 상기 데이터 출력 동작들 및 상기 데이터 입력 동작들을 수행한다.
실시 예로서, 상기 불 휘발성 메모리 장치들로부터 독출된 데이터를 임시로 저장하는 버퍼 메모리를 더 포함한다.
실시 예로서, 상기 컨트롤러는 상기 데이터 출력 동작들에 의하여 상기 불 휘발성 메모리 장치들로부터 독출된 데이터를 에러 검사 및 정정 동작을 수행한 후 상기 버퍼 메모리로 전송한다.
상기 목적을 달성하기 위한 본 발명에 따른 메모리 시스템의 동작 방법은 하나의 채널에 연결된 복수의 웨이들을 통하여 복수의 불 휘발성 메모리 장치들을 인터리빙 방식으로 액세스하여 순차적으로 데이터를 독출하는 데이터 출력 동작들을 수행하는 단계; 상기 인터리빙 방식으로 액세스된 상기 복수의 불 휘발성 메모리 장치들에서 순차적으로 프로그램 동작들을 수행하는 단계; 그리고 상기 데이터 출력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수는 미리 설정된 기준 피크 전류에 따라 결정하는 단계를 포함하되, 상기 데이터 출력 동작들 중 다음에 수행되는 데이터 출력 동작의 피크 전류 값, 상기 프로그램 동작들 중 현재 수행되고 있는 프로그램 동작들 및 다음에 추가되어 수행되는 프로그램 동작의 피크 전류 값들을 합한 값이 상기 기준 피크 전류 값보다 작은 경우, 상기 다음에 추가되어 수행되는 프로그램 동작은 상기 다음에 수행되는 데이터 출력 동작과 동시에 수행된다.
이상과 같은 본 발명의 실시 예에 따르면, 컨트롤러와 불 휘발성 메모리 장치의 동작 시점을 다르게 하여 피크 전류의 최대값을 감소시키는 메모리 시스템 및 그것의 동작 방법을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 보여주는 블록도이다.
도 2는 도 1의 컨트롤러(110)의 구성들을 보여주는 블록도이다.
도 3은 도 2의 플래시 인터페이스에 의해서 제어되는 불 휘발성 메모리 장치들과 메모리 채널 구성을 보여주는 블록도이다.
도 4는 일반적인 인터리빙(Interleaving) 방식에 의한 메모리 시스템의 카피-백 동작 방법을 보여주는 타이밍도이다.
도 5는 도 1의 메모리 시스템의 각각의 동작에 따른 피크 전류를 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 메모리 시스템의 카피-백 동작 방법을 보여주는 타이밍도이다.
도 7은 본 발명의 다른 실시 예에 따른 메모리 시스템의 카피-백 동작 방법을 보여주는 타이밍도이다.
도 8은 본 발명의 또 다른 실시 예에 따른 메모리 시스템의 카피-백 동작 방법을 보여주는 타이밍도이다.
도 9는 본 발명의 실시 예에 따른 메모리 시스템의 카피-백 동작을 보여주는 순서도이다.
도 10은 일반적인 인터리빙(Interleaving) 방식에 의한 메모리 시스템의 쓰기 동작 방법을 보여주는 타이밍도이다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템의 쓰기 동작 방법을 보여주는 타이밍도이다.
도 12는 본 발명에 따른 메모리 시스템을 간략히 보여주는 블록도이다.
도 13은 본 발명의 실시 예에 따른 SSD를 보여주는 블록도이다.
도 14는 본 발명의 다른 실시 예에 따른 메모리 카드를 예시적으로 보여주는 블록도이다.
도 15는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 불 휘발성 메모리 장치를 포함하는 메모리 시스템이 본 발명의 특징 및 기능을 설명하기 위한 저장 장치 또는 전자 장치의 한 예로서 사용될 것이다. 또한, 이동되는 데이터 단위를 섹터 단위로 가정하여 본 발명의 특징이 설명되었으나, 데이터 단위가 섹터 단위에만 국한되지 않는다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 또한, 저장 매체로서 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불 휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템에도 적용될 수 있다.
본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다. 이하, 본 발명에 따른 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(100)은 컨트롤러(110), 불 휘발성 메모리 장치들(120) 및 버퍼 메모리(130)를 포함할 수 있다. 메모리 시스템(100)은 입출력 포트를 통해 호스트(Host)와 데이터를 교환할 수 있다. 메모리 시스템(100)은 호스트로부터 수신된 읽기/쓰기 요청에 응답하여 불 휘발성 메모리 장치들(120)에 데이터를 저장하거나 독출할 수 있다.
컨트롤러(110)는 호스트(Host)와 메모리 시스템(100) 사이의 물리적 연결을 제공한다. 즉, 컨트롤러(110)는 호스트(Host)의 버스 포맷(Bus format)에 대응하여 메모리 시스템(100)과의 인터페이싱을 제공할 수 있다. 컨트롤러(110)는 펌웨어(Firmware)를 구동하여 메모리 시스템(100)을 제어할 수 있다. 펌웨어(Firmware)는 피크 전류 매니저(Peak Current Manager)를 포함할 수 있다. 컨트롤러(110)는 피크 전류 매니저(Peak Current Manager)를 통하여 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)의 동작 시점을 제어할 수 있다.
컨트롤러(110)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 컨트롤러(110)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
메모리 시스템(100)의 소비 전류는 컨트롤러(110)에서 소비하는 전류와 불 휘발성 메모리 장치들(120)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 메모리 시스템(100)의 피크 전류는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 컨트롤러(110)는 피크 전류 매니저(Peak Current Manager)를 통해서 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 컨트롤러(110)는 메모리 시스템(100)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
불 휘발성 메모리 장치들(120)은 메모리 시스템(100)의 저장 매체로서 제공된다. 예를 들면, 불 휘발성 메모리 장치들(120)은 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 컨트롤러(110)는 불 휘발성 메모리 장치들(120)과 채널을 통해 연결될 수 있다. 컨트롤러(110)는 불 휘발성 메모리 장치들(120)과 복수의 채널을 통해 연결될 수도 있다.
도 1에서는 예시적으로 컨트롤러(110)와 불 휘발성 메모리 장치들(120)이 하나의 채널을 통하여 연결되는 경우가 도시되었다. 하나의 채널에는 복수의 메모리 장치들이 연결되며, 이들 메모리 장치들은 각각 동일한 데이터 버스에 연결될 수 있다. 하나의 채널에 연결된 복수의 불 휘발성 메모리 장치들(120)은 인터리빙(Interleaving) 방식으로 동작할 수 있다. 여기서, 인터리빙(Interleaving)의 크기는 선택된 채널에서 인터리빙 액세스에 적용되는 불 휘발성 메모리 장치의 수(Way)를 의미한다.
저장 매체로서 메모리 장치들이 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불 휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템도 적용될 수 있다. 그리고 저장 매체로서 휘발성 메모리 장치(예를 들면, DRAM)가 포함될 수도 있다.
버퍼 메모리(130)에는 호스트(Host)로부터 제공되는 쓰기 데이터 또는 불 휘발성 메모리로부터 읽혀진 데이터가 일시 저장될 수 있다. 호스트(Host)의 읽기 요청 시에 불 휘발성 메모리 장치들(120)에 존재하는 데이터가 캐시되어 있는 경우에는, 버퍼 메모리(130)는 캐시된 데이터를 직접 호스트로 제공하는 캐시 기능을 지원할 수 있다. 이때, 불 휘발성 메모리 장치들(120)로의 액세스는 발생하지 않는다. 일반적으로, 호스트(Host)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 메모리 시스템(120)의 메모리 채널의 전송 속도보다 월등히 빠르다. 즉, 호스트(Host)의 인터페이스 속도가 월등히 높은 경우, 대용량의 버퍼 메모리(130)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다.
버퍼 메모리(130)는 대용량의 보조 기억 장치로 사용되는 메모리 시스템(100)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다. 하지만, 버퍼 메모리(130)가 여기의 개시에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
이상에서 설명된 특징들에 따르면, 본 발명의 메모리 시스템(100)은 호스트로부터 불 휘발성 메모리 장치들(120)에 대한 액세스 요청을 수신할 수 있다. 그리고 메모리 시스템(100)은 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 비교 결과에 따라 메모리 시스템(100)은 발생하는 피크 전류의 최대값이 감소하도록 컨트롤러(110)와 불 휘발성 메모리 장치들(120)의 동작 순서를 결정할 수 있다. 따라서, 본 발명의 메모리 시스템(100)은 메모리 시스템(100)의 순간 소비 전력을 제어할 수 있다.
도 2는 도 1의 컨트롤러(110)의 구성들을 보여주는 블록도이다. 도 2를 참조하면, 컨트롤러(110)는 중앙 처리 장치(111), 동작 메모리(112), 호스트 인터페이스(113), 버퍼 매니저(114) 및 플래시 인터페이스(115)를 포함할 수 있다.
중앙 처리 장치(111)는 컨트롤러(110)의 동작을 전반적으로 제어할 수 있다. 중앙 처리 장치(111)는 컨트롤러(110)를 제어하기 위한 펌웨어(Firmware)를 구동하도록 구성된다. 이러한 펌웨어(Firmware)는 동작 메모리(112)에 로딩되어 구동될 수 있다. 펌웨어(Firmware)는 피크 전류 매니저(Peak Current Manager)를 포함할 수 있다. 중앙 처리 장치(111)는 호스트(Host)로부터 전달되는 명령어를 디코딩할 수 있다. 중앙 처리 장치(111)는 명령어에 포함된 읽기나 쓰기와 같은 액세스 명령을 수행하도록 버퍼 매니저(114) 또는 플래시 인터페이스(115)를 제어할 수 있다.
중앙 처리 장치(111)는 피크 전류 매니저(Peak Current Manager)를 통하여 컨트롤러(110) 및 불 휘발성 메모리 장치들(120, 도 1 참조)의 동작 순서를 결정할 수 있다. 따라서, 중앙 처리 장치(111)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)의 동시에 수행되는 동작들을 제어할 수 있다. 중앙 처리 장치(111)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 중앙 처리 장치(111)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
호스트 인터페이스(113)는 호스트(Host)와 메모리 시스템(100) 사이의 물리적 연결을 제공할 수 있다. 즉, 호스트 인터페이스(113)는 호스트의 버스 포맷(Bus format)에 대응하여 메모리 시스템(100)과의 인터페이싱을 제공할 수 있다. 호스트(Host)의 버스 포맷은 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등으로 구성될 수 있다.
또한, 호스트 인터페이스(113)는 호스트(Host)가 메모리 시스템(100)을 하드 디스크 드라이브(HDD)로 인식하도록 지원하는 디스크 에뮬레이션(Disk Emulation) 기능을 지원할 수 있다. 예를 들면, 삭제 연산을 숨기기 위한 플래시 변환 계층(Flash Translation Layer: FTL)과 같은 기능을 제공할 수 있다.
버퍼 매니저(114)는 버퍼 메모리(130)의 읽기 및 쓰기 동작들을 제어할 수 있다. 예를 들면, 버퍼 매니저(114)는 호스트(Host)로부터 수신한 쓰기 데이터(Write data)를 버퍼 메모리(130)에 일시 저장할 수 있다. 또한, 버퍼 매니저(114)는 불 휘발성 메모리 장치들(120)로부터 독출한 읽기 데이터(Read data)를 버퍼 메모리(130)에 일시 저장할 수 있다.
플래시 인터페이스(115)는 불 휘발성 메모리 장치들(120)과 데이터를 주고받는다. 플래시 인터페이스(115)는 복수의 채널들을 통하여 불 휘발성 메모리 장치들(120)과 연결될 수 있다. 플래시 인터페이스(115)는 버퍼 메모리(130)로부터 전달되는 데이터를 각각의 채널을 통해 불 휘발성 메모리 장치들(120)로 전달할 수 있다. 그리고 채널을 통하여 제공되는 불 휘발성 메모리 장치들(120)로부터 읽혀진 데이터는 플래시 인터페이스(115)에 의해서 버퍼 메모리(130)로 전달될 수 있다. 도 2에서는 예시적으로 플래시 인터페이스(115)가 하나의 채널을 통해 불 휘발성 메모리 장치들(120)과 연결되는 경우가 도시되었다.
플래시 인터페이스(115)는 중앙 처리 장치(111)의 제어에 따라 불 휘발성 메모리 장치들(120)에 대한 액세스 순서를 지정할 수 있다. 플래시 인터페이스(115)는 인터리빙(Interleaving) 방식으로 불 휘발성 메모리 장치들을 액세스할 수 있다. 여기서, 인터리빙(Interleaving)의 크기는 선택된 채널에서 인터리빙 액세스에 적용되는 불 휘발성 메모리 장치의 수(Way)를 의미한다. 또한, 플래시 인터페이스(115)는 ECC 회로를 포함하여 에러 검사 및 정정 동작을 수행할 수 있다. 플래시 인터페이스(115)는 ECC 회로와 같이 추가적인 기능을 수행하는 부분을 포함할 수 있다.
이상에서 살펴본 바와 같이 컨트롤러(110)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 컨트롤러(110)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
메모리 시스템(100)의 소비 전류는 컨트롤러(110)에서 소비하는 전류와 불 휘발성 메모리 장치들(120)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 메모리 시스템(100)의 피크 전류는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 컨트롤러(110)는 피크 전류 매니저(Peak Current Manager)를 통해서 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 컨트롤러(110)는 메모리 시스템(100)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
도 3은 도 2의 플래시 인터페이스에 의해서 제어되는 불 휘발성 메모리 장치들과 메모리 채널 구성을 보여주는 블록도이다. 도 3을 참조하면, 플래시 인터페이스(115)는 예시적으로 하나의 채널을 통하여 불 휘발성 메모리 장치들(120)과 연결될 수 있다. 하지만, 이에 한정되지 않고, 플래시 인터페이스(115)는 복수의 채널들을 통하여 불 휘발성 메모리 장치들(120)과 연결될 수 있다.
플래시 인터페이스(115)는 중앙 처리 장치(111)의 제어에 따라 불 휘발성 메모리 장치들(120)에 대한 액세스 순서를 지정할 수 있다. 불 휘발성 메모리 장치들(120)은 n개(n은 자연수)의 메모리 장치들(NVM_1, NVM_2, NVM_3, ... , NVM_n)을 포함할 수 있다. 메모리 장치들(NVM_1, NVM_2, NVM_3, ... , NVM_n)은 하나의 채널을 통하여 각각의 입출력 포트(예를 들면, 8비트 I/O 포트)가 연결될 수 있다. 플래시 인터페이스(115)는 인터리빙(Interleaving) 방식으로 각각의 메모리 장치(NVM_1, NVM_2, NVM_3, ... , NVM_n)를 액세스할 수 있다. 여기서, 인터리빙(Interleaving)의 크기는 선택된 채널에서 인터리빙 액세스에 적용되는 불 휘발성 메모리 장치의 수(Way)를 의미한다. 또한, 플래시 인터페이스(115)는 ECC 회로를 포함하여 에러 검사 및 정정 동작을 수행할 수 있다. 플래시 인터페이스(115)는 ECC 회로와 같이 추가적인 기능을 수행하는 부분을 포함할 수 있다.
도 4는 일반적인 인터리빙(Interleaving) 방식에 의한 메모리 시스템의 카피 동작 방법을 보여주는 타이밍도이다. 도 4를 참조하면, 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)의 동작은 동시에 또는 순차적으로 수행될 수 있다. 이하에서, 불 휘발성 메모리 장치들(120)은, 예를 들어, 4개의 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)을 포함하는 것으로 가정한다. 따라서, 플래시 인터페이스(115)는 4웨이 인터리빙(4Way Interleaving) 방식으로 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)을 제어할 수 있다.
도 4는 예시적으로 카피-백(Copy-back) 동작시 메모리 시스템(100, 도 1 참조)의 동작을 보여준다. 컨트롤러(110)는 호스트(Host)로부터 요청 및 데이터를 수신할 수 있다. 또한, 컨트롤러(110)는 호스트(Host)로 데이터를 전송할 수 있다. 이러한 컨트롤러(110)와 호스트(Host) 사이의 호스트 송수신 동작(Host_op)은 언제든지 발생할 수 있다. 또한, 호스트 송수신 동작(Host_op)은 발생하지 않을 수도 있다. 따라서, 최악의 경우, 호스트 송수신 동작(Host_op)은 전 구간에 걸쳐 발생할 수 있다. 호스트 송수신 동작(Host_op)은 호스트 송수신 구간(tHOST) 동안에 수행될 수 있다.
메모리 장치(NVM_1)의 카피-백(Copy-back) 동작은 리드 동작(READ), 데이터 출력 동작(DOUT), 데이터 입력 동작(DIN) 및 프로그램 동작(PROG)을 포함할 수 있다. 리드 동작(READ)은 메모리 장치(NVM_1)에서 데이터를 읽어서 메모리 장치(NVM_1) 내의 버퍼(Buffer)에 저장하는 동작이다. 리드 동작(READ)은 리드 구간(tR) 동안에 수행될 수 있다.
데이터 출력 동작(DOUT)은 메모리 장치(NVM_1) 내의 버퍼(Buffer)에 저장된 데이터를 컨트롤러(110) 내의 버퍼 메모리(130)로 전송하는 동작이다. 이 과정에서 컨트롤러(110)는 에러 검사 및 정정(Error Checking and Correction, 이하 ECC) 동작을 수행할 수 있다. 또한, 컨트롤러(110)는 ECC 동작 외에 추가적인 동작들을 수행할 수 있다. 따라서, 데이터 출력 동작(DOUT)은 많은 전류를 소비하게 될 수 있다. 데이터 출력 동작(DOUT)은 데이터 출력 구간(tDOUT)에 수행될 수 있다.
데이터 입력 동작(DIN)은 데이터 출력 동작(DOUT)에 의해 버퍼 메모리(130)에 저장된 데이터를 메모리 장치(NVM_1) 내의 버퍼(Buffer)로 전송하는 동작이다. 데이터 입력 동작(DIN)은 데이터 입력 구간(tDIN)에 수행될 수 있다.
프로그램 동작(PROG)은 메모리 장치(NVM_1) 내의 버퍼(Buffer)에 저장된 데이터를 메모리 장치(NVM_1)의 소거 상태인 블록에 프로그램하는 동작이다. 따라서, 프로그램 동작(PROG)은 데이터 입력 구간(tDIN)이 종료된 이후에 시작될 수 있다. 프로그램 동작(PROG)은 프로그램 구간(tPROG)에 수행될 수 있다.
다른 메모리 장치들(NVM_2, NVM_3, NVM_4)의 카피-백(Copy-back) 동작도 메모리 장치(NVM_1)의 카피-백(Copy-back) 동작과 마찬가지로 리드 동작(READ), 데이터 출력 동작(DOUT), 데이터 입력 동작(DIN) 및 프로그램 동작(PROG)을 포함할 수 있다. 또한, 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)은 인터리빙(Interleaving) 방식에 의해 카피-백(Copy-back) 동작을 수행할 수 있다. 따라서, 메모리 장치(NVM_1)의 프로그램 동작(PROG)이 수행되는 동안에 메모리 장치(NVM_2)의 데이터 출력 동작(DOUT) 또는 데이터 입력 동작(DIN)은 동시에 수행될 수 있다.
호스트 송수신 동작(Host_op), 데이터 출력 동작(DOUT) 및 데이터 입력 동작(DIN)은 컨트롤러(110)에 의해 수행될 수 있다. 리드 동작(READ) 및 프로그램 동작(PROG)은 각각의 메모리 장치(NVM_1, NVM_2, NVM_3, NVM_4)에 의해 수행될 수 있다. 메모리 시스템(100)의 물리적인 사양이 정해지면, 각각의 동작들(Host_op, DOUT, DIN, READ, PROG)의 피크 전류는 예측될 수 있다. 펌웨어(Firmware)인 피크 전류 매니저(Peak Current Manager)는 각각의 동작들(Host_op, DOUT, DIN, READ, PROG)의 피크 전류의 정보를 가질 수 있다.
예를 들면, 호스트 송수신 동작(Host_op)의 피크 전류는 20mA 일 수 있다. 데이터 출력 동작(DOUT)의 피크 전류는 200mA 일 수 있다. 데이터 입력 동작(DIN)의 피크 전류는 50mA 일 수 있다. 리드 동작(READ)의 피크 전류는 70mA 일 수 있다. 프로그램 동작(PROG)의 피크 전류는 70mA 일 수 있다. 데이터 출력 동작(DOUT)은 ECC 동작 등을 포함하고 있어서 다른 동작들에 비해 많은 전류를 소비할 수 있다. 또한, 데이터 출력 동작(DOUT)의 피크 전류는 프로그램 동작(PROG)의 피크 전류의 2배보다 크다. 따라서, 도 4에서 메모리 시스템(100)의 피크 전류 발생 구간(tPmax)은 메모리 장치(NVM_4)의 데이터 출력 구간(tDOUT)과 일치할 수 있다. 피크 전류 발생 구간(tPmax) 동안에 컨트롤러(110)와 호스트(Host) 사이의 송수신 동작(Host_op), 메모리 장치(NVM_4)의 데이터 출력 동작(DOUT) 및 메모리 장치들(NVM_1, NVM_2, NVM_3)의 프로그램 동작(PROG)들이 동시에 수행될 수 있다. 이때 메모리 시스템(110)의 동작 피크 전류(Iop)는 430mA 일 수 있다. 반면에 메모리 장치(NVM_4)의 데이터 입력 구간(tDIN) 이후에 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작들(PROG)이 수행되는 구간에서 메모리 시스템(100)의 동작 피크 전류(Iop)는 300mA 일 수 있다. 따라서, 데이터 출력 동작(DOUT)이 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작들(PROG)과 동시에 수행되는 구간을 제어하면, 메모리 시스템(100)의 동작 피크 전류(Iop)의 최대값은 감소할 수 있다. 본 발명의 메모리 시스템(100)은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들의 시작 시점을 제어하여 메모리 시스템(100)의 동작 피크 전류(Iop)의 최대값을 감소시킬 수 있다.
도 5는 도 1의 메모리 시스템의 각각의 동작에 따른 피크 전류를 보여주는 도면이다. 도 5를 참조하면, 펌웨어(Firmware)인 피크 전류 매니저(Peak Current Manager)는 각각의 동작들의 피크 전류를 포함하는 룩업 테이블을 가질 수 있다. 또한, 피크 전류 매니저(Peak Current Manager)는 미리 설정된 기준 피크 전류(Iref)를 가질 수 있다. 컨트롤러(110)는 룩업 테이블을 참조하여 동작 피크 전류(Iop)를 계산할 수 있다.
컨트롤러(110)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 컨트롤러(110)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
도 5를 참조하면, 피크 전류 매니저(Peak Current Manager)는 호스트 송수신 구간(tHOST)에 수행되는 호스트 송수신 동작(Host_op)의 피크 전류(Ihost)의 값을 가질 수 있다. 피크 전류 매니저(Peak Current Manager)는 데이터 출력 구간(tDOUT)에 수행되는 데이터 출력 동작(DOUT)의 피크 전류(Idout)의 값을 가질 수 있다. 피크 전류 매니저(Peak Current Manager)는 데이터 입력 구간(tDIN)에 수행되는 데이터 입력 동작(DIN)의 피크 전류(Idin)의 값을 가질 수 있다. 피크 전류 매니저(Peak Current Manager)는 리드 구간(tR)에 수행되는 리드 동작(READ)의 피크 전류(Iread)의 값을 가질 수 있다. 피크 전류 매니저(Peak Current Manager)는 프로그램 구간(tPROG)에 수행되는 프로그램 동작(PROG)의 피크 전류(Iprog)의 값을 가질 수 있다. 피크 전류 매니저(Peak Current Manager)는 동작 피크 전류(Iop)와 비교하기 위한 기준 피크 전류(Iref)의 값을 가질 수 있다.
메모리 시스템(100)의 소비 전류는 컨트롤러(110)에서 소비하는 전류와 불 휘발성 메모리 장치들(120)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 메모리 시스템(100)의 피크 전류는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 컨트롤러(110)는 피크 전류 매니저(Peak Current Manager)를 통해서 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 컨트롤러(110)는 메모리 시스템(100)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
도 6은 본 발명의 실시 예에 따른 메모리 시스템의 카피-백 동작 방법을 보여주는 타이밍도이다. 도 6을 참조하면, 메모리 장치들(NVM_3, NVM_4)의 프로그램 동작(PROG)들은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 이후 시작될 수 있다. 메모리 시스템(100, 도 1 참조)은 동작 피크 전류(Iop)와 기준 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 이하에서, 메모리 시스템(100)은, 예를 들어, 하나의 채널을 통해 연결된 4개의 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)을 포함할 수 있다. 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)은 인터리빙(Interleaving) 방식으로 액세스 될 수 있다. 이하에서, 카피-백(Copy-back) 동작이 수행되는 경우가 예시적으로 설명될 것이다. 카피-백(Copy-back) 동작은 도 4에서 설명된 리드 동작(READ), 데이터 출력 동작(DOUT), 데이터 입력 동작(DIN) 및 프로그램 동작(PROG)을 포함할 수 있다. 또한, 호스트 송수신 동작(Host_op)은 최대 동작 피크 전류(Iop) 발생 구간을 결정하는데 영향이 없으므로, 이하에서 기준 피크 전류를 결정함에 있어서 호스트 송수신 동작(Host_op)의 피크 전류(Iprog)는 생략하기로 한다.
도 6에서 기준 피크 전류(Iref)는 프로그램 동작(PROG)의 피크 전류(Iprog)의 2배와 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값보다 크고, 프로그램 동작(PROG)의 피크 전류(Iprog)의 3배와 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값보다 작은 값으로 설정될 수 있다. 예를 들면, 데이터 출력 동작(DOUT)의 피크 전류는 200mA 일 수 있다. 데이터 입력 동작(DIN)의 피크 전류는 50mA 일 수 있다. 리드 동작(READ)의 피크 전류는 70mA 일 수 있다. 프로그램 동작(PROG)의 피크 전류는 70mA 일 수 있다. 메모리 장치(NVM_4)의 데이터 출력 동작(DOUT)이 수행되는 동안 동작 피크 전류(Iop)는 340mA 일 수 있다. 따라서, 기준 피크 전류(Iref)는 360mA와 410mA 사이에서 결정될 수 있다. 그러면 동작 피크 전류(Iop)의 최대값은 도 4에서의 동작 피크 전류(Iop)의 최대값보다 감소하게 된다.
메모리 시스템(100)은 메모리 장치(NVM_1)의 리드 동작(READ)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_1)의 데이터 출력 동작(DOUT)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_1)의 데이터 입력 동작(DIN)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_1)의 데이터 입력 동작(DIN)을 수행한 후 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 동작 피크 전류(Iop)는 메모리 장치(NVM_1)의 프로그램 동작(PROG)의 피크 전류(Iprog)와 다음에 수행될 메모리 장치(NVM_2)의 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)가 기준 피크 전류(Iref)보다 작으므로, 메모리 시스템(100)은 메모리 장치(NVM_1)의 프로그램 동작(PROG)과 메모리 장치(NVM_2)의 리드 동작(READ)을 동시에 수행할 수 있다.
메모리 시스템(100)은 메모리 장치(NVM_1)과 같은 방법으로 메모리 장치(NVM_2)의 리드 동작(READ), 데이터 출력 동작(DOUT) 및 데이터 입력 동작(DIN)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_2)의 데이터 입력 동작(DIN)을 수행한 후 다시 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 이번의 동작 피크 전류(Iop)는 메모리 장치들(NVM_1, NVM_2)의 프로그램 동작(PROG)들의 피크 전류(Iprog)들과 다음에 수행될 메모리 장치(NVM_3)의 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)가 기준 피크 전류(Iref)보다 작으므로, 메모리 시스템(100)은 메모리 장치(NVM_2)의 프로그램 동작(PROG)과 메모리 장치(NVM_3)의 리드 동작(READ)을 동시에 수행할 수 있다.
같은 방식으로 메모리 시스템(100)은 메모리 장치(NVM_3)의 데이터 입력 동작(DIN)을 수행한 후 다시 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 이번의 동작 피크 전류(Iop)는 메모리 장치들(NVM_1, NVM_2, NVM_3)의 프로그램 동작(PROG)들의 피크 전류(Iprog)들과 다음에 수행될 메모리 장치(NVM_4)의 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)는 기준 피크 전류(Iref)보다 크거나 같아질 수 있다. 따라서, 메모리 시스템(100)은 메모리 장치(NVM_3)의 프로그램 동작(PROG)을 수행하지 않고, 메모리 장치(NVM_4)의 리드 동작(READ)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 후 메모리 장치(NVM_3)의 프로그램 동작(PROG)을 수행할 수 있다.
이상에서 살펴본 바와 같이 메모리 시스템(100)은 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 메모리 시스템(100)은 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
메모리 시스템(100)의 소비 전류는 컨트롤러(110)에서 소비하는 전류와 불 휘발성 메모리 장치들(120)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 메모리 시스템(100)의 피크 전류는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 컨트롤러(110)는 피크 전류 매니저(Peak Current Manager)를 통해서 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 컨트롤러(110)는 메모리 시스템(100)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
도 7은 본 발명의 다른 실시 예에 따른 메모리 시스템의 카피-백 동작 방법을 보여주는 타이밍도이다. 도 7을 참조하면, 메모리 장치들(NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 이후 시작될 수 있다. 메모리 시스템(100, 도 1 참조)은 도 6에서 설명한 것과 같은 방식으로 동작할 수 있다. 따라서, 자세한 설명은 생략한다.
도 7에서 기준 피크 전류(Iref)는 프로그램 동작(PROG)의 피크 전류(Iprog)와 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값보다 크고, 프로그램 동작(PROG)의 피크 전류(Iprog)의 2배와 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값보다 작은 값으로 설정될 수 있다. 따라서, 메모리 장치(NVM_2)의 데이터 입력 동작(DIN)이 수행된 후 동작 피크 전류(Iop)는 메모리 장치들(NVM_1, NVM_2)의 프로그램 동작(PROG)들의 피크 전류(Iprog)들과 다음에 수행될 메모리 장치(NVM_3)의 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)는 기준 피크 전류(Iref)보다 크거나 같아질 수 있다. 따라서, 메모리 시스템(100)은 메모리 장치(NVM_2)의 프로그램 동작(PROG)을 수행하지 않고, 메모리 장치(NVM_3)의 리드 동작(READ)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 후 메모리 장치들(NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들을 동시에 수행할 수 있다.
따라서, 피크 전류 발생 구간(tPmax)은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들만 수행되는 구간으로 이동된다. 동작 피크 전류(Iop)의 최대값은 도 4에서의 동작 피크 전류(Iop)의 최대값보다 감소하게 된다.
도 8은 본 발명의 또 다른 실시 예에 따른 메모리 시스템의 카피-백 동작 방법을 보여주는 타이밍도이다. 도 8을 참조하면, 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 이후 시작될 수 있다. 메모리 시스템(100, 도 1 참조)은 도 6에서 설명한 것과 같은 방식으로 동작할 수 있다. 따라서, 자세한 설명은 생략한다.
도 8에서 기준 피크 전류(Iref)는 데이터 출력 동작(DOUT)의 피크 전류(Idout)보다 크고, 프로그램 동작(PROG)의 피크 전류(Iprog)와 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값보다 작은 값으로 설정될 수 있다. 따라서, 메모리 장치(NVM_1)의 데이터 입력 동작(DIN)이 수행된 후 동작 피크 전류(Iop)는 메모리 장치(NVM_1)의 프로그램 동작(PROG)의 피크 전류(Iprog)와 다음에 수행될 메모리 장치(NVM_2)의 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)는 기준 피크 전류(Iref)보다 크거나 같아질 수 있다. 따라서, 메모리 시스템(100)은 메모리 장치(NVM_1)의 프로그램 동작(PROG)을 수행하지 않고, 메모리 장치(NVM_2)의 리드 동작(READ)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 후 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들을 동시에 수행할 수 있다.
따라서, 피크 전류 발생 구간(tPmax)은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들만 수행되는 구간으로 이동된다. 동작 피크 전류(Iop)는 도 4에서의 동작 피크 전류(Iop)보다 감소하게 된다.
도 9는 본 발명의 실시 예에 따른 메모리 시스템의 카피-백 동작을 보여주는 순서도이다. 도 9를 참조하면, 메모리 시스템(100, 도 1 참조)은 동작 피크 전류(Iop)와 기준 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 이하에서, 메모리 시스템(100)은, 예를 들어, 하나의 채널을 통해 연결된 4개의 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)을 포함할 수 있다. 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)은 인터리빙(Interleaving) 방식으로 액세스 될 수 있다. 이하에서, 카피-백(Copy-back) 동작이 수행되는 경우가 예시적으로 설명될 것이다. 카피-백(Copy-back) 동작은 도 4에서 설명된 리드 동작(READ), 데이터 출력 동작(DOUT), 데이터 입력 동작(DIN) 및 프로그램 동작(PROG)을 포함할 수 있다.
S110 단계에서, 메모리 시스템(100)은 메모리 장치(NVM_1)의 리드 동작(READ)을 수행할 수 있다. 리드 동작(READ)은 메모리 장치(NVM_1)에서 데이터를 읽어서 메모리 장치(NVM_1) 내의 버퍼(Buffer)에 저장하는 동작이다. S160 단계 이후에 반복 수행될 경우, 메모리 시스템(100)은 각각의 메모리 장치(NVM_2, NVM_3, NVM_4)의 리드 동작(READ)을 수행할 수 있다.
S120 단계에서, 메모리 시스템(100)은 메모리 장치(NVM_1)의 데이터 출력 동작(DOUT)을 수행할 수 있다. 데이터 출력 동작(DOUT)은 메모리 장치(NVM_1) 내의 버퍼(Buffer)에 저장된 데이터를 컨트롤러(110) 내의 버퍼 메모리(130)로 전송하는 동작이다. 이 과정에서 컨트롤러(110)는 ECC 동작을 수행할 수 있다. 또한, 컨트롤러(110)는 ECC 동작 이외의 추가적인 동작을 수행할 수 있다. 따라서, 데이터 출력 동작(DOUT)은 높은 피크 전류를 가질 수 있다. S160 단계 이후에 반복 수행될 경우, 메모리 시스템은 각각의 메모리 장치(NVM_2, NVM_3, NVM_4)의 데이터 출력 동작(DOUT)을 수행할 수 있다.
S130 단계에서, 메모리 시스템(100)은 메모리 장치(NVM_1)의 데이터 입력 동작(DIN)을 수행할 수 있다. 데이터 입력 동작(DIN)은 데이터 출력 동작(DOUT)에 의해 버퍼 메모리(130)에 저장된 데이터를 메모리 장치(NVM_1) 내의 버퍼(Buffer)로 전송하는 동작이다. S160 단계 이후에 반복 수행될 경우, 메모리 시스템은 각각의 메모리 장치(NVM_2, NVM_3, NVM_4)의 데이터 입력 동작(DIN)을 수행할 수 있다.
S140 단계에서, 메모리 시스템(100)은 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 동작 피크 전류(Iop)는 메모리 장치(NVM_1)의 프로그램 동작(PROG)의 피크 전류(Iprog)와 다음에 수행될 메모리 장치(NVM_2)의 데이터 출력 동작(DOUT)의 피크 전류(Idout)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)가 기준 피크 전류(Iref)보다 작은 경우, S150 단계로 이동한다. 동작 피크 전류(Iop)가 기준 피크 전류(Iref)보다 크거나 같은 경우, 메모리 시스템(100)은 메모리 장치(NVM_1)의 프로그램 동작(PROG)을 수행하지 않는다. 이 경우 S160 단계로 이동한다.
S150 단계에서, 동작 피크 전류(Iop)가 기준 피크 전류(Iref)보다 작은 경우, 메모리 시스템(100)은 메모리 장치(NVM_1)의 프로그램 동작(PROG)을 수행할 수 있다. 프로그램 동작(PROG)은 메모리 장치(NVM_1) 내의 버퍼(Buffer)에 저장된 데이터를 메모리 장치(NVM_1)의 소거 상태인 블록에 프로그램하는 동작이다. S160 단계 이후에 반복하여 수행되는 경우, 메모리 시스템(100)은 각각의 메모리 장치(NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)을 수행할 수 있다.
S160 단계에서, 메모리 시스템(100)은 모든 컨트롤러(110)의 동작들이 수행되었는지 판단할 수 있다. 아직 메모리 장치들(NVM_2, NVM_3, NVM_4)의 데이터 출력 동작(DOUT)들 및 데이터 입력 동작(DIN)들을 수행하지 않았으므로 메모리 시스템(100)은 S110 단계부터 S150 단계까지를 반복하여 수행할 수 있다. 만일 S110 단계부터 S150 단계를 반복하여 모든 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 리드 동작(READ)들, 데이터 출력 동작(DOUT)들 및 데이터 입력 동작(DIN)들이 완료되면, S170 단계로 이동한다.
S170 단계에서, 모든 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 리드 동작(READ)들, 데이터 출력 동작(DOUT)들 및 데이터 입력 동작(DIN)들은 완료되었으므로, 메모리 시스템(100)은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들 중 아직 수행되지 않은 프로그램 동작(PROG)들을 동시에 수행할 수 있다.
이상에서의 과정에 의하면 메모리 시스템(100)은 다음에 동시에 수행될 동작들의 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 메모리 시스템(100)은 동작 피크 전류(Iop)의 최대값을 감소시키기 위해 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들 중 일부분을 모든 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 리드 동작(READ)들, 데이터 출력 동작(DOUT)들 및 데이터 입력 동작(DIN)들이 완료된 이후에 시작되도록 제어할 수 있다. 따라서, 메모리 시스템(100)은 데이터 출력 구간(tDOUT)에 최대 피크 전류가 발생하지 않도록 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)을 제어할 수 있다. 이로 인해 동작 피크 전류(Iop)의 최대값은 감소할 수 있다.
도 10은 일반적인 인터리빙(Interleaving) 방식에 의한 메모리 시스템의 쓰기 동작 방법을 보여주는 타이밍도이다. 도 10을 참조하면, 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)의 동작은 동시에 또는 순차적으로 수행될 수 있다. 이하에서, 불 휘발성 메모리 장치들(120)은, 예를 들어, 4개의 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)을 포함하는 것으로 가정한다. 따라서, 플래시 인터페이스(115)는 4웨이 인터리빙(4Way Interleaving) 방식으로 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)을 제어할 수 있다.
도 10은 예시적으로 쓰기 동작시 메모리 시스템(100, 도 1 참조)의 동작을 보여준다. 컨트롤러(110)는 호스트(Host)로부터 요청 및 데이터를 수신할 수 있다. 또한, 컨트롤러(110)는 호스트(Host)로 데이터를 전송할 수 있다. 이러한 컨트롤러(110)와 호스트(Host) 사이의 호스트 송수신 동작(Host_op)은 언제든지 발생할 수 있다. 또한, 호스트 송수신 동작(Host_op)은 발생하지 않을 수도 있다. 따라서, 최악의 경우, 호스트 송수신 동작(Host_op)은 전 구간에 걸쳐 발생할 수 있다. 호스트 송수신 동작(Host_op)은 호스트 송수신 구간(tHOST) 동안에 수행될 수 있다.
메모리 장치(NVM_1)의 쓰기 동작은 데이터 입력 동작(DIN) 및 프로그램 동작(PROG)을 포함할 수 있다. 메모리 시스템(100)은 호스트(Host)로부터 수신된 데이터를 임시로 버퍼 메모리(130)에 저장할 수 있다.
데이터 입력 동작(DIN)은 호스트(Host)로부터 수신되어 버퍼 메모리(130)에 저장된 데이터를 메모리 장치(NVM_1) 내의 버퍼(Buffer)로 전송하는 동작이다. 데이터 입력 동작(DIN)은 데이터 입력 구간(tDIN)에 수행될 수 있다.
프로그램 동작(PROG)은 메모리 장치(NVM_1) 내의 버퍼(Buffer)에 저장된 데이터를 메모리 장치(NVM_1)의 소거 상태인 블록에 프로그램하는 동작이다. 따라서, 프로그램 동작(PROG)은 데이터 입력 구간(tDIN)이 종료된 이후에 시작될 수 있다. 프로그램 동작(PROG)은 프로그램 구간(tPROG)에 수행될 수 있다.
다른 메모리 장치들(NVM_2, NVM_3, NVM_4)의 쓰기 동작들도 메모리 장치(NVM_1)의 쓰기 동작과 마찬가지로 데이터 입력 동작(DIN) 및 프로그램 동작(PROG)을 포함할 수 있다. 또한, 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)은 인터리빙(Interleaving) 방식에 의해 쓰기 동작을 수행할 수 있다. 따라서, 메모리 장치(NVM_1)의 프로그램 동작(PROG)이 수행되는 동안에 메모리 장치(NVM_2)의 데이터 입력 동작(DIN)은 동시에 수행될 수 있다.
호스트 송수신 동작(Host_op) 및 데이터 입력 동작(DIN)은 컨트롤러(110)에 의해 수행될 수 있다. 프로그램 동작(PROG)은 각각의 메모리 장치(NVM_1, NVM_2, NVM_3, NVM_4)에 의해 수행될 수 있다. 메모리 시스템(100)의 물리적인 사양이 정해지면, 각각의 동작들(Host_op, DIN, PROG)의 피크 전류는 예측될 수 있다. 펌웨어(Firmware)인 피크 전류 매니저(Peak Current Manager)는 각각의 동작들(Host_op, DIN, PROG)의 피크 전류의 정보를 가질 수 있다.
예를 들면, 호스트 송수신 동작(Host_op)의 피크 전류는 100mA 일 수 있다. 데이터 입력 동작(DIN)의 피크 전류는 150mA 일 수 있다. 프로그램 동작(PROG)의 피크 전류는 70mA 일 수 있다. 쓰기 동작시 메모리 시스템의 동작 피크 전류(Iop)의 최대값은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 하나의 데이터 입력 동작(DIN)과 3개의 프로그램 동작(PROG)들이 함께 수행될 때 발생할 수 있다. 이때의 동작 피크 전류(Iop)는 360mA 일 수 있다. 따라서, 도 10에서 메모리 시스템(100)의 피크 전류 발생 구간(tPmax)은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 하나의 데이터 입력 동작(DIN)과 3개의 프로그램 동작(PROG)들이 함께 수행되는 구간과 일치할 수 있다. 피크 전류 발생 구간(tPmax) 동안에 호스트 송수신 동작(Host_op), 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 하나의 데이터 입력 동작(DIN) 및 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 3개의 프로그램 동작(PROG)들이 동시에 수행될 수 있다. 만약 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 하나의 데이터 입력 동작(DIN)과 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 2개의 프로그램 동작(PROG)들이 동시에 수행되면, 메모리 시스템(100)의 동작 피크 전류(Iop)의 최대값은 감소할 수 있다. 따라서, 데이터 입력 동작(DIN)이 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들과 동시에 수행되는 구간을 제어하면, 메모리 시스템(100)의 동작 피크 전류(Iop)의 최대값은 감소할 수 있다. 본 발명의 메모리 시스템(100)은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들의 시작 시점을 제어하여 메모리 시스템(100)의 동작 피크 전류(Iop)의 최대값을 감소시킬 수 있다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템의 쓰기 동작 방법을 보여주는 타이밍도이다. 도 11을 참조하면, 메모리 시스템(100, 도 1 참조)은 두 번으로 나누어 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)에 쓰기 동작들을 수행할 수 있다. 이하에서, 메모리 시스템(100)은, 예를 들어, 하나의 채널을 통해 연결된 4개의 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)을 포함할 수 있다. 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)은 인터리빙(Interleaving) 방식으로 액세스 될 수 있다. 이하에서, 쓰기 동작을 수행하는 경우가 예시적으로 설명될 것이다. 쓰기 동작은 도 10에서 설명된 데이터 입력 동작(DIN) 및 프로그램 동작(PROG)을 포함할 수 있다. 또한, 호스트 송수신 동작(Host_op)은 최대 동작 피크 전류(Iop) 발생 구간을 결정하는데 영향이 없으므로, 이하에서 기준 피크 전류를 결정함에 있어서 호스트 송수신 동작(Host_op)의 피크 전류(Iprog)는 생략하기로 한다.
첫 번째 쓰기 동작시 메모리 장치들(NVM_3, NVM_4)의 프로그램 동작(PROG)들은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 이후 시작될 수 있다. 메모리 시스템(100)은 동작 피크 전류(Iop)와 기준 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다.
도 11에서 기준 피크 전류(Iref)는 프로그램 동작(PROG)의 피크 전류(Iprog)의 2배와 데이터 입력 동작(DIN)의 피크 전류(Idout)를 합한 값보다 크고, 프로그램 동작(PROG)의 피크 전류(Iprog)의 3배와 데이터 입력 동작(DIN)의 피크 전류(Idout)를 합한 값보다 작은 값으로 설정될 수 있다. 예를 들면, 데이터 입력 동작(DIN)의 피크 전류는 150mA 일 수 있다. 프로그램 동작(PROG)의 피크 전류는 70mA 일 수 있다. 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)이 수행되는 동안 동작 피크 전류(Iop)는 290mA 일 수 있다. 따라서, 기준 피크 전류(Iref)는 290mA와 360mA 사이에서 결정될 수 있다. 그러면 동작 피크 전류(Iop)의 최대값은 도 10에서의 동작 피크 전류(Iop)의 최대값보다 감소하게 된다.
메모리 시스템(100)은 메모리 장치(NVM_1)의 데이터 입력 동작(DIN)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_1)의 데이터 입력 동작(DIN)을 수행한 후 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 동작 피크 전류(Iop)는 메모리 장치(NVM_1)의 프로그램 동작(PROG)의 피크 전류(Iprog)와 다음에 수행될 메모리 장치(NVM_2)의 데이터 입력 동작(DIN)의 피크 전류(Idin)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)가 기준 피크 전류(Iref)보다 작으므로, 메모리 시스템(100)은 메모리 장치(NVM_1)의 프로그램 동작(PROG)과 메모리 장치(NVM_2)의 리드 동작(READ)을 동시에 수행할 수 있다.
메모리 시스템(100)은 메모리 장치(NVM_1)과 같은 방법으로 메모리 장치(NVM_2)의 데이터 입력 동작(DIN)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_2)의 데이터 입력 동작(DIN)을 수행한 후 다시 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 이번의 동작 피크 전류(Iop)는 메모리 장치들(NVM_1, NVM_2)의 프로그램 동작(PROG)들의 피크 전류(Iprog)들과 다음에 수행될 메모리 장치(NVM_3)의 데이터 입력 동작(DIN)의 피크 전류(Idin)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)가 기준 피크 전류(Iref)보다 작으므로, 메모리 시스템(100)은 메모리 장치(NVM_2)의 프로그램 동작(PROG)과 메모리 장치(NVM_3)의 데이터 입력 동작(DIN)을 동시에 수행할 수 있다.
같은 방식으로 메모리 시스템(100)은 메모리 장치(NVM_3)의 데이터 입력 동작(DIN)을 수행한 후 다시 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다. 이번의 동작 피크 전류(Iop)는 메모리 장치들(NVM_1, NVM_2, NVM_3)의 프로그램 동작(PROG)들의 피크 전류(Iprog)들과 다음에 수행될 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)의 피크 전류(Idin)를 합한 값으로 정해질 수 있다. 동작 피크 전류(Iop)는 기준 피크 전류(Iref)보다 크거나 같아질 수 있다. 따라서, 메모리 시스템(100)은 메모리 장치(NVM_3)의 프로그램 동작(PROG)을 수행하지 않고, 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행할 수 있다. 메모리 시스템(100)은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 후 메모리 장치(NVM_3)의 프로그램 동작(PROG)을 수행할 수 있다.
두 번째 쓰기 동작시 메모리 시스템(100)은 첫 번째 쓰기 동작과 같은 방식으로 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4)의 프로그램 동작(PROG)들의 시작 시점을 제어할 수 있다. 메모리 시스템(100)은 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 하나의 데이터 입력 동작(DIN)과 메모리 장치들(NVM_1, NVM_2, NVM_3, NVM_4) 중 어느 2개의 프로그램 동작(PROG)들이 동시에 수행되도록 제어할 수 있다. 따라서, 메모리 장치들(NVM_1, NVM_2)의 프로그램 동작(PROG)들은 메모리 장치(NVM_2)의 데이터 입력 동작(DIN)을 수행한 이후 동시에 시작될 수 있다. 또한, 메모리 장치들(NVM_3, NVM_4)의 프로그램 동작(PROG)들은 메모리 장치(NVM_4)의 데이터 입력 동작(DIN)을 수행한 이후 동시에 시작될 수 있다.
이상에서 살펴본 바와 같이 메모리 시스템(100)은 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 메모리 시스템(100)은 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
메모리 시스템(100)의 소비 전류는 컨트롤러(110)에서 소비하는 전류와 불 휘발성 메모리 장치들(120)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 메모리 시스템(100)의 피크 전류는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 컨트롤러(110)는 피크 전류 매니저(Peak Current Manager)를 통해서 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 컨트롤러(110)는 메모리 시스템(100)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
또한, 도 6 내지 8에서 설명된 카피-백 동작과 도 10 및 11에서 설명된 쓰기 동작은 함께 수행될 수 있다. 이 경우 카피-백 동작과 쓰기 동작의 전반에 걸쳐 최대의 동작 피크 전류(Iop)를 소비하는 동작 시점을 기준으로 기준 피크 전류(Iref)는 설정될 수 있다. 메모리 시스템(100)은 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 동시에 수행되는 동작들의 개수를 제어할 수 있다.
도 12는 본 발명에 따른 메모리 시스템을 간략히 보여주는 블록도이다. 도 12를 참조하면, 본 발명에 따른 메모리 시스템(1000)은 불 휘발성 메모리 장치(1200)와 메모리 컨트롤러(1100)를 포함한다.
메모리 컨트롤러(1100)는 불 휘발성 메모리 장치(1200)를 제어하도록 구성될 것이다. 불 휘발성 메모리 장치(1200)와 메모리 컨트롤러(1100)의 결합에 의해 메모리 카드 또는 반도체 디스크 장치(Solid State Disk: SSD)로 제공될 수 있을 것이다. SRAM(1120)은 중앙 처리 장치(1110)의 동작 메모리로 사용된다. 호스트 인터페이스(1130)는 메모리 시스템(1000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비한다. 에러 정정 블록(1140)은 불 휘발성 메모리 장치(1200)로부터 독출된 데이터에 포함되는 에러를 검출 및 정정한다. 메모리 인터페이스(1150)는 불 휘발성 메모리 장치(1200)와 인터페이싱 한다. 메모리 인터페이스(1150)는 불 휘발성 메모리 장치(1200)와 복수의 채널을 통해 연결될 수 있다. 중앙 처리 장치(1110)는 메모리 컨트롤러(1100)의 데이터 교환을 위한 제반 제어 동작을 수행한다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템(1000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
또한, 메모리 컨트롤러(1100)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(110) 및 불 휘발성 메모리 장치들(120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 메모리 컨트롤러(1100) 및 불 휘발성 메모리 장치(1200)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 메모리 컨트롤러(1100)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
메모리 시스템(1000)의 소비 전류는 메모리 컨트롤러(1100)에서 소비하는 전류와 불 휘발성 메모리 장치(1200)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 메모리 시스템(1000)의 피크 전류는 메모리 컨트롤러(1100) 및 불 휘발성 메모리 장치(1200)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 메모리 컨트롤러(1100)는 펌웨어인 피크 전류 매니저(Peak Current Manager)를 통해서 메모리 컨트롤러(1100) 및 불 휘발성 메모리 장치(1200)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 메모리 컨트롤러(1100)는 메모리 시스템(1000)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
불 휘발성 메모리 장치(1200)는 복수의 플래시 메모리 칩들로 구성되는 멀티-칩 패키지로 제공될 수도 있다. 이상의 본 발명의 메모리 시스템(1000)은 에러의 발생 확률이 낮은 높은 신뢰도의 저장 매체로 제공될 수 있다. 특히, 최근 활발히 연구되고 있는 반도체 디스크 장치(Solid State Disk: 이하 SSD)와 같은 메모리 시스템에서 플래시 메모리 장치가 구비될 수 있다. 이 경우, 메모리 컨트롤러(1100)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다. 또한, 메모리 컨트롤러(1100)에는 랜덤 연산을 수행하기 위한 구성이 더 포함될 수 있다.
도 13은 본 발명의 실시 예에 따른 SSD를 보여주는 블록도이다. 도 13을 참조하면, SSD 시스템(2000)은 호스트(2100)와 SSD(2200)를 포함한다. SSD(2200)는 SSD 컨트롤러(2210), 버퍼 메모리(2220), 그리고 불 휘발성 메모리 장치(2230)를 포함한다.
SSD 컨트롤러(2210)는 호스트(2100)와 SSD(2200)와의 물리적 연결을 제공한다. 즉, SSD 컨트롤러(2210)는 호스트(2100)의 버스 포맷(Bus format)에 대응하여 SSD(2200)와의 인터페이싱을 제공한다. 특히, SSD 컨트롤러(2210)는 호스트(2100)로부터 제공되는 명령어를 디코딩한다. 디코딩된 결과에 따라, SSD 컨트롤러(2210)는 불 휘발성 메모리 장치(2230)를 액세스한다. 호스트(2100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
SSD 컨트롤러(2210)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 SSD 컨트롤러(2210) 및 불 휘발성 메모리 장치(2230)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 SSD 컨트롤러(2210) 및 불 휘발성 메모리 장치(2230)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. SSD 컨트롤러(2210)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
SSD 시스템(2000)의 소비 전류는 SSD 컨트롤러(2210)에서 소비하는 전류와 불 휘발성 메모리 장치(2230)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, SSD 시스템(2000)의 피크 전류는 SSD 컨트롤러(2210) 및 불 휘발성 메모리 장치(2230)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. SSD 컨트롤러(2210)는 펌웨어인 피크 전류 매니저(Peak Current Manager)를 통해서 메모리 컨트롤러(2210) 및 불 휘발성 메모리 장치(2230)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, SSD 컨트롤러(2210)는 메모리 시스템(2000)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
버퍼 메모리(2220)에는 호스트(2100)로부터 제공되는 쓰기 데이터 또는 불 휘발성 메모리 장치(2230)로부터 읽혀진 데이터가 일시 저장된다. 호스트(2100)의 읽기 요청 시에 불 휘발성 메모리 장치(2230)에 존재하는 데이터가 캐시되어 있는 경우에는, 버퍼 메모리(2220)는 캐시된 데이터를 직접 호스트(2100)로 제공하는 캐시 기능을 지원한다. 일반적으로, 호스트(2100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(2200)의 메모리 채널의 전송 속도보다 월등히 빠르다. 즉, 호스트(2100)의 인터페이스 속도가 월등히 높은 경우, 대용량의 버퍼 메모리(2220)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다.
버퍼 메모리(2220)는 대용량의 보조 기억 장치로 사용되는 SSD(2200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다. 하지만, 버퍼 메모리(2220)가 여기의 개시에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
불 휘발성 메모리 장치(2230)는 SSD(2200)의 저장 매체로서 제공된다. 예를 들면, 불 휘발성 메모리 장치(2230)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 불 휘발성 메모리 장치(2230)는 복수의 메모리 장치로 구성될 수 있다. 이 경우, 각각의 메모리 장치들은 채널 단위로 SSD 컨트롤러(2210)와 연결된다. 저장 매체로서 불 휘발성 메모리 장치(2230)가 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불 휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템도 적용될 수 있다. 그리고 저장 매체로서 휘발성 메모리 장치(예를 들면, DRAM)이 포함될 수도 있다.
도 14는 본 발명의 다른 실시 예에 따른 메모리 카드를 예시적으로 보여주는 블록도이다. 도 14를 참조하면, 메모리 카드(3000)는 컨트롤러(3100)와 불 휘발성 메모리 장치(3200)를 포함할 수 있다. 컨트롤러(3100)와 불 휘발성 메모리 장치(3200)는 복수의 채널들(CH1~CHn)을 통해 연결될 수 있다. 불 휘발성 메모리 장치(3200)는 각 채널(CH1~CHn)에 연결되어 독립적으로 관리되는 복수의 불 휘발성 메모리들(NVM_1~NVM_n)을 포함할 수 있다. 컨트롤러(3100)는 메모리 카드(3000) 외부로부터 수신된 제어 신호들에 기초하여 불 휘발성 메모리 장치(3200)를 제어할 수 있다. 메모리 카드(3000)의 구성은 도 1에 도시된 메모리 시스템(100)과 실질적으로 동일하다.
컨트롤러(3100)는 복수의 채널들(CH1~CHn)을 통해 불 휘발성 메모리 장치(3200)와 연결될 수 있다. 컨트롤러(3100)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 컨트롤러(3100) 및 불 휘발성 메모리 장치(3200)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 컨트롤러(3100) 및 불 휘발성 메모리 장치(3200)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 컨트롤러(3100)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
메모리 카드(3000)의 소비 전류는 컨트롤러(3100)에서 소비하는 전류와 불 휘발성 메모리 장치(3200)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 메모리 카드(3000)의 피크 전류는 컨트롤러(3100) 및 불 휘발성 메모리 장치(3200)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 컨트롤러(3100)는 펌웨어인 피크 전류 매니저(Peak Current Manager)를 통해서 컨트롤러(3100) 및 불 휘발성 메모리 장치(3200)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 컨트롤러(3100)는 메모리 카드(3000)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
메모리 카드(3000)는 디지털 카메라, PMP, 모바일 폰, 노트북 컴퓨터와 같은 정보 처리 장치에 장착될 수 있다. 메모리 카드(3000)는 MMC 카드(Multimedia Card), SD 카드(Secure Digital Card), 마이크로 SD 카드, 메모리 스틱(Memory Stick), ID 카드, PCMCIA 카드, 칩 카드(Chip Card), USB 카드, 스마트 카드(Smart Card), CF 카드(Compact Flash Card) 등으로 더 구성될 수 있다.
도 15는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다. 도 15를 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 시스템 버스(4300)에 전기적으로 연결된 불 휘발성 저장 장치(4100), 중앙 처리 장치(4400), 사용자 인터페이스(4500), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(4200)을 포함할 수 있다. 불 휘발성 저장 장치(4100)의 구성은 도 1에 도시된 메모리 시스템(100)과 실질적으로 동일하다.
본 발명에 따른 컴퓨팅 시스템(4000)이 모바일 장치인 경우, 컴퓨팅 시스템(4000)의 동작 전압을 공급하기 위한 배터리(4600)가 추가적으로 제공될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(4000)에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 제공될 수 있다.
메모리 컨트롤러(4110)는 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교하여 다음에 수행될 동작을 결정할 수 있다. 동작 피크 전류(Iop)는 메모리 컨트롤러(4110) 및 플래시 메모리 장치(4120)에서 동시에 수행되는 동작들의 피크 전류의 합을 의미한다. 피크 전류 매니저(Peak Current Manager)는 메모리 컨트롤러(4110) 및 플래시 메모리 장치(4120)에서 수행되는 각각의 동작들의 피크 전류에 대한 정보를 가질 수 있다. 메모리 컨트롤러(4110)는 이러한 피크 전류에 대한 정보를 참조하여 동작 피크 전류(Iop)와 기준 피크 전류(Iref)를 비교할 수 있다.
저장 장치(4100)의 소비 전류는 메모리 컨트롤러(4110)에서 소비하는 전류와 플래시 메모리 장치(4120)에서 소비하는 전류를 합하여 결정될 수 있다. 따라서, 저장 장치(4100)의 피크 전류는 메모리 컨트롤러(4110) 및 플래시 메모리 장치(4120)에서 동시에 수행되는 동작들에 의해서 결정될 수 있다. 메모리 컨트롤러(4110)는 펌웨어인 피크 전류 매니저(Peak Current Manager)를 통해서 메모리 컨트롤러(4110) 및 플래시 메모리 장치(4120)에서 동시에 수행되는 동작들의 개수를 제어할 수 있다. 따라서, 메모리 컨트롤러(4110)는 메모리 카드(3000)에서 발생하는 피크 전류의 최대값을 감소시킬 수 있다.
본 발명에 따른 불 휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 불 휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 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: 메모리 시스템
110: 컨트롤러 111: 중앙 처리 장치
112: 동작 메모리 113: 호스트 인터페이스
114: 버퍼 매니저 115: 플래시 인터페이스
120: 불 휘발성 메모리 장치들 130: 버퍼 메모리
1000: 메모리 시스템
1100: 메모리 컨트롤러 1110: 중앙 처리 장치
1120: SRAM 1130: 호스트 인터페이스
1140: ECC 회로 1150: 메모리 인터페이스
1200: 불 휘발성 메모리 장치
2000: SSD
2100: 호스트 2200: SSD 시스템
2210: SSD 컨트롤러 2220: 버퍼 메모리
2230: 불 휘발성 메모리 장치들
3000: 메모리 카드
3100: 컨트롤러 3200: 불 휘발성 메모리 장치들
4000: 컴퓨팅 시스템
4100: 저장 장치 4110: 메모리 컨트롤러
4120: 플래시 메모리 4200: 모뎀
4300: 시스템 버스 4400: 중앙 처리 장치
4500: 사용자 인터페이스 4600: 배터리

Claims (10)

  1. 하나의 채널에 연결된 복수의 웨이들을 통하여 인터리빙 방식으로 데이터를 입출력하고, 상기 인터리빙 방식에 따라 입력된 데이터에 대한 프로그램 동작들을 각각 독립적으로 수행하는 복수의 불 휘발성 메모리 장치들; 그리고
    상기 복수의 웨이들을 통하여 상기 불 휘발성 메모리 장치들을 상기 인터리빙 방식으로 액세스하고, 상기 불 휘발성 메모리 장치들 각각에 대응하는 데이터 출력 동작들 또는 데이터 입력 동작들을 수행하는 컨트롤러를 포함하되,
    상기 컨트롤러는 미리 설정된 기준 피크 전류에 따라 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수를 결정하고,
    상기 결정된 프로그램 동작들은 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행되는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 프로그램 동작들은 상기 프로그램 동작들 각각에 대응하는 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 각각이 수행된 이후에 수행되는 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 컨트롤러는 상기 기준 피크 전류에 따라 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수를 결정하는 피크 전류 매니저를 포함하는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 피크 전류 매니저는 상기 프로그램 동작들, 상기 데이터 출력 동작들 및 상기 데이터 입력 동작들의 피크 전류 값들과 상기 기준 피크 전류 값을 저장하고 있는 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 컨트롤러는 동작 피크 전류와 상기 기준 피크 전류를 비교하여 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수를 결정하는 메모리 시스템.
  6. 제 5 항에 있어서,
    상기 동작 피크 전류 값은 상기 데이터 출력 동작들 또는 상기 데이터 입력 동작들 중 다음에 수행되는 데이터 출력 동작 또는 데이터 입력 동작 중 하나의 피크 전류 값과 상기 프로그램 동작들 중 현재 수행되고 있는 프로그램 동작들 및 다음에 추가되어 수행되는 프로그램 동작의 피크 전류 값들을 합하여 결정되는 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 컨트롤러는 복수의 채널들을 통하여 상기 복수의 불 휘발성 메모리 장치들과 연결되고, 각각의 채널에서 상기 인터리빙 방식에 따라 상기 데이터 출력 동작들 및 상기 데이터 입력 동작들을 수행하는 메모리 시스템.
  8. 제 1 항에 있어서,
    상기 불 휘발성 메모리 장치들로부터 독출된 데이터를 임시로 저장하는 버퍼 메모리를 더 포함하는 메모리 시스템.
  9. 제 8 항에 있어서,
    상기 컨트롤러는 상기 데이터 출력 동작들에 의하여 상기 불 휘발성 메모리 장치들로부터 독출된 데이터를 에러 검사 및 정정 동작을 수행한 후 상기 버퍼 메모리로 전송하는 메모리 시스템.
  10. 하나의 채널에 연결된 복수의 웨이들을 통하여 복수의 불 휘발성 메모리 장치들을 인터리빙 방식으로 액세스하여 순차적으로 데이터를 독출하는 데이터 출력 동작들을 수행하는 단계;
    상기 인터리빙 방식으로 액세스된 상기 복수의 불 휘발성 메모리 장치들에서 순차적으로 프로그램 동작들을 수행하는 단계; 그리고
    상기 데이터 출력 동작들 중 하나와 동시에 수행되는 상기 프로그램 동작들의 개수는 미리 설정된 기준 피크 전류에 따라 결정하는 단계를 포함하되,
    상기 데이터 출력 동작들 중 다음에 수행되는 데이터 출력 동작의 피크 전류 값, 상기 프로그램 동작들 중 현재 수행되고 있는 프로그램 동작들 및 다음에 추가되어 수행되는 프로그램 동작의 피크 전류 값들을 합한 값이 상기 기준 피크 전류 값보다 작은 경우, 상기 다음에 추가되어 수행되는 프로그램 동작은 상기 다음에 수행되는 데이터 출력 동작과 동시에 수행되는 메모리 시스템의 동작 방법.
KR1020140007836A 2014-01-22 2014-01-22 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 KR20150087646A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140007836A KR20150087646A (ko) 2014-01-22 2014-01-22 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
US14/447,654 US20150205540A1 (en) 2014-01-22 2014-07-31 Memory system including nonvolatile memory devices and operating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140007836A KR20150087646A (ko) 2014-01-22 2014-01-22 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20150087646A true KR20150087646A (ko) 2015-07-30

Family

ID=53544841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140007836A KR20150087646A (ko) 2014-01-22 2014-01-22 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US20150205540A1 (ko)
KR (1) KR20150087646A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170127942A (ko) * 2016-05-13 2017-11-22 에스케이하이닉스 주식회사 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치
KR20170140467A (ko) * 2016-06-10 2017-12-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10802976B2 (en) 2018-04-24 2020-10-13 SK Hynix Inc. Storage device and method of operating the same
US11010226B2 (en) 2019-05-10 2021-05-18 SK Hynix Inc. Memory controller and method of operating the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160074929A (ko) * 2014-12-19 2016-06-29 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 이의 동작 방법
US10095412B2 (en) * 2015-11-12 2018-10-09 Sandisk Technologies Llc Memory system and method for improving write performance in a multi-die environment
US9817595B2 (en) 2016-01-28 2017-11-14 Apple Inc. Management of peak power consumed by multiple memory devices
US11442525B2 (en) * 2019-08-23 2022-09-13 Micron Technology, Inc. Power management

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170127942A (ko) * 2016-05-13 2017-11-22 에스케이하이닉스 주식회사 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치
KR20170140467A (ko) * 2016-06-10 2017-12-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10802976B2 (en) 2018-04-24 2020-10-13 SK Hynix Inc. Storage device and method of operating the same
US11010226B2 (en) 2019-05-10 2021-05-18 SK Hynix Inc. Memory controller and method of operating the same

Also Published As

Publication number Publication date
US20150205540A1 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
KR20150087646A (ko) 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
US9324435B2 (en) Data transmitting method, memory control circuit unit and memory storage apparatus
US9773565B1 (en) Memory retry-read method, memory storage device and memory control circuit unit
KR101856506B1 (ko) 데이터 저장 장치 및 그것의 데이터 쓰기 방법
CN105869675B (zh) 半导体器件及其操作方法
US9099193B2 (en) Data storage device and operating method thereof
US20130305008A1 (en) Memory operation timing control method and memory system using the same
US11184033B2 (en) Data storage device
KR20090006920A (ko) 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법
US20150019796A1 (en) Data storage device and operating method thereof
KR20160074025A (ko) 데이터 저장 장치의 동작 방법
KR102135702B1 (ko) 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법
CN109491828B (zh) 解码方法、存储器存储装置及存储器控制电路单元
KR102025088B1 (ko) 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치
CN113424165B (zh) 在存储器子系统处的编程操作的中断
US9892799B1 (en) Read voltage tracking method, memory storage device and memory control circuit unit
KR20150020384A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210079611A (ko) 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법
CN110069427B (zh) 存储器控制器以及存储器控制器的操作方法
CN117130544A (zh) 用于控制操作速度的存储器系统和数据处理系统
KR20170031311A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR101581858B1 (ko) 저장 장치 및 그것을 포함하는 정보 처리 시스템
US20200310873A1 (en) Controller and memory system including the same
US9460005B2 (en) Storage devices including memory device and methods of operating the same

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid