KR20190066844A - 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치 - Google Patents

메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치 Download PDF

Info

Publication number
KR20190066844A
KR20190066844A KR1020170166646A KR20170166646A KR20190066844A KR 20190066844 A KR20190066844 A KR 20190066844A KR 1020170166646 A KR1020170166646 A KR 1020170166646A KR 20170166646 A KR20170166646 A KR 20170166646A KR 20190066844 A KR20190066844 A KR 20190066844A
Authority
KR
South Korea
Prior art keywords
packet
memory
memory chips
memory device
status information
Prior art date
Application number
KR1020170166646A
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 KR1020170166646A priority Critical patent/KR20190066844A/ko
Priority to US16/128,841 priority patent/US20190171378A1/en
Priority to CN201811093070.0A priority patent/CN109885252A/zh
Publication of KR20190066844A publication Critical patent/KR20190066844A/ko

Links

Images

Classifications

    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0653Monitoring storage devices or systems
    • 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/0658Controller construction 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/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • 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/0626Reducing size or complexity of storage systems

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

컨트롤러 및 메모리 장치가 개시된다. 본 개시의 실시 예에 따른 메모리 장치는, 각각 대응하는 칩 번호로 구분되는 복수의 메모리 칩들; 및 상기 복수의 메모리 칩들과 전기적으로 연결되는 복수의 제1 연결단자들을 포함하고, 상기 복수의 제1 연결단자들을 통해 상기 복수의 메모리 칩들로부터 상기 복수의 메모리 칩들 각각의 레디 및 비지 상태에 관한 상태(status) 정보를 수신하는 모니터 회로를 포함하고, 상기 모니터 회로는, 상기 복수의 메모리 칩들 중 적어도 하나에 대응하는 칩 번호 및 상태 정보를 각각 포함하는 복수의 패킷들을 출력할 수 있다.

Description

메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치{MEMORY DEVICE, MEMORY CONTROLLER, AND STORAGE DEVICE HAVING THEM}
본 개시의 기술적 사상은 스토리지 장치에 관한 것으로서, 더욱 상세하게는, 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치에 관한 것이다.
비휘발성 메모리로서 플래시 메모리는 전원이 차단되어도 저장하고 있는 데이터를 유지할 수 있다. 플래시 메모리는 프로그램(program), 소거 속도가 빠르고 대용량이 가능하다는 장점으로 인해, 최근 SSD(Solid State Drive) 및 메모리 카드 등의 플래시 메모리를 포함하는 스토리지 장치가 널리 사용되고 있다.
한편, 반도체 기술의 발전에 따라, 메모리 장치에 포함되는 메모리 칩의 개수가 늘어나고, 컨트롤러가 각 메모리 칩들의 비지 또는 레디 상태를 감지하는 방법에 관한 다양한 연구가 요구되고 있다.
본 개시의 기술적 사상은 컨트롤러 및 메모리 장치에 관한 것으로서, 메모리 칩의 상태 정보를 포함하는 패킷을 송/수신하는 컨트롤러 및 메모리 장치를 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일 측면에 따른 메모리 장치는, 각각 대응하는 칩 번호로 구분되는 복수의 메모리 칩들; 및 상기 복수의 메모리 칩들과 전기적으로 연결되는 복수의 제1 연결단자들을 포함하고, 상기 복수의 제1 연결단자들을 통해 상기 복수의 메모리 칩들로부터 상기 복수의 메모리 칩들 각각의 레디 및 비지 상태에 관한 상태(status) 정보를 수신하는 모니터 회로를 포함하고, 상기 모니터 회로는, 상기 복수의 메모리 칩들 중 적어도 하나에 대응하는 칩 번호 및 상태 정보를 각각 포함하는 복수의 패킷들을 출력할 수 있다.
본 개시의 기술적 사상의 다른 일 측면에 따른 컨트롤러는, 복수의 메모리 칩들을 포함하는 메모리 장치로 하나 이상의 제어신호를 출력하는 컨트롤 로직 회로; 상기 메모리 장치로부터 상기 복수의 메모리 칩들 중 적어도 하나에 대응하는 상태 정보 및 칩 번호를 각각 포함하는 패킷을 수신하는 패킷 인터페이스; 및 상기 패킷 인터페이스로부터 상기 패킷을 수신하고, 상기 패킷에 기반하여 상기 복수의 메모리 칩들 중 적어도 하나의 상태 정보를 상기 컨트롤 로직 회로로 출력하는 패킷 수신기를 구비하는 백그라운드 처리기를 포함할 수 있다.
본 개시의 기술적 사상의 또 다른 일 측면에 따른 메모리 장치는, 각각 대응하는 칩 번호로 구분되는 복수의 메모리 칩들; 및 상기 복수의 메모리 칩들과 각각 일대일 대응으로 전기적으로 연결되는 복수의 제1 연결단자들 및 상기 복수의 제1 연결단자들을 통해 상기 복수의 메모리 칩들 각각의 상태 정보를 수신하는 패킷 생성기를 포함하는 모니터 회로를 포함하고, 상기 패킷 생성기는 상기 칩 번호 및 상기 상태 정보를 각각 포함하는 복수의 패킷들을 생성하고, 상기 모니터 회로는 소정의 조건에 기반하여 상기 복수의 패킷들을 출력할 수 있다.
본 개시의 기술적 사상에 따르면, 메모리 칩이 레디 상태(ready status)가 되는 시점에서 메모리 장치가 레디 상태인 메모리 칩의 정보를 컨트롤러에 전송함으로써, 불필요한 상태 확인 반복에 따른 성능 감소를 개선할 수 있다.
또한, 본 개시의 기술적 사상에 따르면, 입/출력 인터페이스와 별도의 패킷 인터페이스를 통해 패킷을 송/수신하므로, 메모리 칩의 상태 감지는 별도의 다른 동작과 동시에 수행될 수 있다.
또한, 본 개시의 기술적 사상에 따르면, 단순한 로직으로 메모리 칩의 상태 정보를 컨트롤러가 감지할 수 있으므로, 적은 게이트 개수(Gate Count, GC)로 구현이 가능하고, 이에 따라 칩 사이즈가 감소될 수 있다.
도 1은 본 개시의 예시적 실시 예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2a 내지 2c는 본 개시의 예시적 실시 예에 따른 메모리 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 3은 본 개시의 예시적 실시 예에 따른 모니터 회로의 동작을 설명하기 위한 순서도이다.
도 4a 및 도 4b는 본 개시의 예시적 실시 예에 따른 메모리 장치의 구성에 대한 일 예를 각각 도시한 블록도이다.
도 5a 및 도 5b는 본 개시의 예시적 실시 예에 따른 메모리 장치의 동작을 설명하기 위한 도면이다.
도 6a 및 도 6b는 본 개시의 예시적 실시 예에 따른 컨트롤러의 구성에 대한 일 예를 각각 도시한 블록도이다.
도 7은 본 개시의 예시적 실시 예에 따른 백그라운드 처리기 및 패킷 인터페이스의 일 예를 설명하기 위한 블록도를 도시한다.
도 8은 본 개시의 예시적 실시 예에 따른 백그라운드 처리기의 동작을 설명하기 위한 순서도이다.
도 9는 본 개시의 예시적 실시 예에 따른 컨트롤러 및 메모리 장치의 동작에 대한 타이밍도를 도시한다.
도 10a 및 도 10b는 본 개시의 예시적 실시 예에 따른 메모리 장치의 구성을 설명하기 위한 도면이다.
도 11은 본 개시의 예시적 실시 예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 12는 본 개시의 예시적 실시 예에 따른 컨트롤러 및 메모리 장치를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시 예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 1을 참조하면, 스토리지 시스템(10)은 호스트(HS), 메모리 장치(100) 및 컨트롤러(200)를 포함할 수 있다. 도 1에 개시된 구성들은, 별개의 칩이나 모듈 또는 장치로서 구성될 수 있고, 하나의 장치 내에 포함될 수도 있다. 또한, 메모리 장치(100) 및 컨트롤러(200)는 하나의 장치로 구현되고, 호스트(HS)에 연결되어 사용될 수도 있다.
호스트(HS)는 다양한 인터페이스를 통하여 컨트롤러(200)와 통신할 수 있고, 리드 요청 및 프로그램 요청을 컨트롤러(200)에 전달할 수 있다. 예시적 실시 예에 있어서, 호스트(HS)는 AP(Application Processor) 또는 SoC(System-On-Chip, SoC)로 구현될 수 있다.
컨트롤러(200)는 호스트(HS)로부터의 리드 요청에 응답하여 메모리 장치(100)에 저장된 데이터를 독출하거나, 또는 호스트(HS)로부터의 프로그램 요청에 응답하여 메모리 장치(100)에 데이터를 기입하도록 메모리 장치(100)를 제어할 수 있다. 예를 들어, 컨트롤러(200)는 호스트(HS)의 다양한 요청에 기반하여 메모리 장치(100)로 각종 제어신호를 출력하는 제어 로직 회로를 포함할 수 있다.
예시적 실시 예에 있어서, 컨트롤러(200)는 백그라운드 처리기(Background Processor)(210)를 포함할 수 있다. 백그라운드 처리기(210)는 메모리 장치(100)에 포함된 복수의 메모리 칩들 각각의 상태(status) 정보 및 칩 번호가 포함된 패킷들을 수신할 수 있다. 예를 들어, 백그라운드 처리기(210)는 수신한 패킷에 기반하여 메모리 장치(100)에 포함된 복수의 메모리 칩들 각각의 상태 정보를 제어 로직 회로로 출력할 수 있다. 이에 따라, 컨트롤러(200)는 메모리 장치(100)로부터 출력된 패킷을 통해 메모리 장치(100)에 포함된 복수의 메모리 칩들 각각의 상태 정보를 수신하고, 이에 기반하여 복수의 메모리 칩들에 대한 각종 제어신호를 출력할 수 있다.
예시적 실시 예에 있어서, 백그라운드 처리기(210)는 메모리 장치(100)의 패킷 출력에 기반이 되는 소정의 조건을 메모리 장치(100)에 제공할 수 있다. 일 예로, 메모리 장치(100)의 패킷 출력에 기반이 되는 조건은, 메모리 장치(100)에 포함된 메모리 칩들 중 적어도 하나의 상태가 비지(busy) 상태에서 레디(ready) 상태로 가변하였는지 여부일 수 있다. 또 다른 예로, 메모리 장치(100)의 패킷 출력에 기반이 되는 조건은, 기 설정된 주기에 기반하여 패킷을 출력하는 것일 수 있다. 이에 대한 자세한 설명은 후술하기로 한다.
메모리 장치(100)는 하나 이상의 데이터를 저장하는 복수의 메모리 칩들을 포함할 수 있다. 예를 들어, 복수의 메모리 칩들은 각각 대응하는 칩 번호로 구분될 수 있다.
예시적 실시 예에 있어서, 메모리 장치(100)는 모니터 회로(110)를 포함할 수 있다. 모니터 회로(110)는, 복수의 메모리 칩들 중 적어도 하나에 대응하는 칩 번호 및 상태 정보를 각각 포함하는 패킷들을 컨트롤러(200)로 출력할 수 있다. 예를 들어, 메모리 칩들 각각의 상태 정보는, 메모리 칩들 각각의 레디 및 비지 상태에 관한 정보를 포함할 수 있다.
여기서 비지 상태는, 메모리 칩이 동작 중인 상태로서, 예를 들어 컨트롤러(200)의 요청에도 이에 대응하는 동작을 할 수 없는 상태를 의미할 수 있다. 또한, 레디 상태는, 예를 들어 컨트롤러(200)의 요청에 응답하여 이에 대응하는 동작을 수행할 준비가 완료된 메모리 칩의 상태를 의미할 수 있다.
예시적 실시 예에 있어서, 모니터 회로(110)는 복수의 메모리 칩들과 전기적으로 연결되는 제1 연결단자 그룹을 포함할 수 있다. 제1 연결단자 그룹은 복수의 제1 연결단자들을 포함할 수 있고, 복수의 메모리 칩들은, 예를 들어 제1 연결단자들과 일대일 대응으로 연결될 수 있다. 모니터 회로(110)는 제1 연결단자 그룹을 통해, 각 제1 연결단자에 연결된 메모리 칩의 상태 정보를 수신할 수 있다.
예시적 실시 예에 있어서, 모니터 회로(110)는 기 설정된 조건에 기반하여 컨트롤러(200)로 패킷을 출력할 수 있다. 일 예로, 모니터 회로(110)는 메모리 칩들 중 적어도 하나의 상태 정보가 비지 상태에서 레디 상태로 가변하였는지 여부에 기반하여 패킷을 출력할 수 있다. 다른 예로, 모니터 회로(110)는 기 설정된 주기에 기반하여 패킷을 출력할 수도 있다. 패킷 출력의 기반이 되는 기 설정된 조건은, 예를 들어 컨트롤러(200)로부터 제공받을 수 있다.
스토리지 시스템(10)은 예를 들어, PC(personal computer), 데이터 서버, 네트워크-결합 스토리지(network-attached storage, NAS), IoT(Internet of Things) 장치, 또는 휴대용 전자 기기로 구현될 수 있다. 휴대용 전자 기기는, 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블 기기 등일 수 있다.
일부 실시 예들에서, 메모리 장치(100) 및 컨트롤러(200)는 하나의 스토리지 장치로 구현될 수 있고, 스토리지 장치는 전자 장치에 내장되는 내부 메모리일 수 있다. 예를 들어, 상기 스토리지 장치는 SSD, 임베디드 UFS(Universal Flash Storage) 메모리 장치 또는 eMMC(embedded Multi-Media Card)일 수 있다. 일부 실시 예들에서, 상기 스토리지 장치는 전자 장치에 착탈 가능한 외장 메모리일 수 있다. 예를 들어, 상기 스토리지 장치는 UFS 메모리 카드, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 또는 메모리 스틱(Memory Stick)일 수 있다.
도 2a 내지 2c는 본 개시의 예시적 실시 예에 따른 메모리 장치의 구성 및 동작을 설명하기 위한 도면이다. 구체적으로, 도 2a는 메모리 장치(100)의 블록도를, 도 2b는 복수의 메모리 칩들(120_1~120_N)과 제1 연결단자 그룹(C1) 간의 연결을 도시한 블록도를, 도 2c는 패킷(PCK)의 구성을 각각 도시한다. 이하, 도 2a 내지 2c는 도 1을 참조하여 설명된다.
도 2a를 참조하면, 메모리 장치(100)는 모니터 회로(110) 및 복수의 메모리 칩들(120_1~120_N)을 포함할 수 있다. 메모리 칩들(120_1~120_N)은 1 내지 N의 칩 번호로 각각 구분될 수 있다. 여기서, N은 양의 정수일 수 있고, 실시 예에 따라 다양하게 변경될 수 있다.
복수의 메모리 칩들(120_1~120_N)은 적어도 하나의 메모리 블록을 포함하는 플래시 메모리(Flash Memory) 칩들일 수 있다. 다만, 이에 한정되는 것은 아니고 다른 실시 예에 있어서 복수의 메모리 칩들(120_1~120_N)은, 비제한적인 예시로서 비휘발성 메모리인 PRAM(Phase change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 칩들일 수 있다.
모니터 회로(110)는 패킷 생성기(112), 핸들링 로직(114) 및 복수의 제1 연결단자 그룹(C1)을 포함할 수 있다. 예시적 실시 예에 있어서, 제1 연결단자 그룹(C1)은 메모리 칩들(120_1~120_N)과 전기적으로 연결될 수 있다.
도 2b를 더 참조하면, 제1 연결단자 그룹(C1)은 복수의 제1 연결단자들(C1_1~C1_N)을 포함할 수 있다. 예시적 실시 예에 있어서, 제1 연결단자들(C1_1~C1_N)은 각각 메모리 칩들(120_1~120_N)과 일대일 대응으로 연결될 수 있다. 본 실시 예에서는 제1 연결단자들(C1_1~C1_N)의 개수와 메모리 칩들(120_1~120_N)의 개수가 동일한 것으로 개시되었으나, 이에 한정되는 것은 아니다.
제1 연결단자들(C1_1~C1_N)은 각각 패드(Pad) 또는 핀(Pin)으로 명명될 수 있다. 예를 들어, 제1 연결단자들(C1_1~C1_N) 각각과 메모리 칩들(120_1~120_N) 각각은 하드와이어링(Hardwiring)될 수 있다.
예시적 실시 예에 있어서, 모니터 회로(110)는 제1 연결단자들(C1_1~C1_N)을 통해, 제1 연결단자들(C1_1~C1_N) 각각에 연결된 메모리 칩의 상태 정보를 수신할 수 있다. 예를 들어, 모니터 회로(110)는 제1 연결단자(C1_1)를 통해 제1 메모리 칩(120_1)의 상태 정보를, 제N 연결단자(C1_N)를 통해 제N 메모리 칩(120_N)의 상태 정보를 각각 수신할 수 있다. 상태 정보는, 예를 들어 각 메모리 칩의 레디 및 비지 상태에 관한 정보를 포함할 수 있다.
다시 도 2a를 참조하면, 패킷 생성기(112)는 제1 연결단자 그룹(C1)을 통해 메모리 칩들(120_1~120_N) 각각의 상태 정보를 수신할 수 있다. 예시적 실시 예에 있어서, 패킷 생성기(112)는 수신한 상태 정보들 및 칩 번호에 기반하여 패킷(PCK)들을 생성할 수 있다. 일 예로, 패킷 생성기(112)에서 생성되는 각 패킷(PCK)은 칩 번호 및 칩 번호에 대응하는 메모리 칩의 상태 정보를 포함할 수 있다. 예를 들어, 패킷(PCK)은 복수의 비트들을 포함할 수 있다.
도 2c를 더 참조하면, 예를 들어 제2 메모리 칩(120_2)에 대한 패킷의 경우, 칩 번호 '2' 및 제2 메모리 칩(120_2)의 상태 정보가 포함될 수 있다. 예를 들어, 상태 정보는 1 비트로 표현되고, 상태 정보를 나타내는 비트가 '0'인 경우 제2 메모리 칩(120_2)이 비지 상태임을, '1'인 경우 제2 메모리 칩(120_2)이 레디 상태임을 각각 나타낼 수 있다. 다만, 이에 한정되지 않고 상태 정보를 나타내는 비트가 '1'인 경우 제2 메모리 칩(120_2)이 비지 상태임을, '0'인 경우 제2 메모리 칩(120_2)이 레디 상태임을 각각 나타낼 수 있다.
다시 도 2a를 참조하면, 핸들링 로직(114)은 패킷 생성기(112)로부터 출력된 패킷(PCK)을 수신할 수 있다. 또한, 핸들링 로직(114)은 제1 연결단자 그룹(C1)을 통해 메모리 칩들(120_1~120_N) 각각의 상태 정보를 수신할 수 있다. 예시적 실시 예에 있어서, 핸들링 로직(114)은 기 설정된 조건에 기반하여 패킷 생성기(112)로부터 수신한 패킷(PCK)을 출력할 수 있다. 기 설정된 조건은, 메모리 장치(100)의 외부로부터 제공받은 설정 정보(CDT)에 포함될 수 있다. 일 예로, 설정 정보(CDT)는 컨트롤러(200)에서 제공될 수 있다.
일 예로, 핸들링 로직(114)은 메모리 칩들(120_1~120_N) 중 적어도 하나의 상태 정보가 비지 상태에서 레디 상태로 가변하였는지 여부에 기반하여 패킷(PCK)을 출력할 수 있다. 구체적으로, 핸들링 로직(114)은 메모리 칩들(120_1~120_N) 중, 상태 정보가 비지 상태에서 레디 상태로 변경된 메모리 칩의 칩 번호 및 상태 정보를 포함한 패킷(PCK)을 컨트롤러(200)로 출력할 수 있다.
다른 예로, 핸들링 로직(114)은 기 설정된 주기에 기반하여 패킷(PCK)들을 출력할 수도 있다. 기 설정된 주기는, 예를 들어 설정 정보(CDT)에 포함될 수 있다. 구체적으로, 핸들링 로직(114)은 기 설정된 주기로 반복하여 메모리 칩들(120_1~120_N) 각각에 대응하는 패킷(PCK)들을 출력할 수 있다.
도 3은 본 개시의 예시적 실시 예에 따른 모니터 회로의 동작을 설명하기 위한 순서도이다. 도 3은, 예를 들어 도 2a의 모니터 회로(110)의 동작에 대한 순서도일 수 있다. 이하, 도 3은 도 2a를 참조하여 설명된다.
도 3을 참조하면, 모니터 회로(110)는 메모리 칩들(120_1~120_N)의 레디 또는 비지 상태를 모니터링할 수 있다(S100). 예를 들어, 모니터 회로(110)에 포함된 핸들링 로직(114)은, 제1 연결단자 그룹(C1)을 통해 메모리 칩들(120_1~120_N) 각각의 상태 정보를 모니터링 할 수 있다.
다음, 모니터 회로(110)는 패킷(PCK)을 생성할 수 있다(S110). 예를 들어, 모니터 회로(110)에 포함된 패킷 생성기(112)는, 제1 연결단자 그룹(C1)을 통해 메모리 칩들(120_1~120_N) 각각의 상태 정보를 수신하고, 수신한 상태 정보 및 메모리 칩들(120_1~120_N) 각각의 칩 번호에 기반하여 패킷(PCK)들을 생성할 수 있다. 예시적 실시 예에 있어서, 패킷(PCK)은 칩 번호 및 칩 번호에 대응하는 메모리 칩의 상태 정보를 포함할 수 있다.
본 순서도에서는 S110 단계가 S100 단계 다음에 수행되는 것으로 설명되었으나, 이에 한정되는 것은 아니다. 다시 말해서, 패킷(PCK)의 생성은 메모리 칩들(120_1~120_N)의 레디 또는 비지 상태 모니터링과 동시에 수행될 수도 있고, 또는 그보다 선행하여 수행될 수도 있다.
다음, 모니터 회로(110)는 설정 조건에 기반하여 패킷(PCK)을 출력할 수 있다(S120). 예를 들어, 설정 조건은 컨트롤러(도 1의 200)로부터 제공된 설정 정보(CDT)에 포함된 기 설정된 조건일 수 있다. 예시적 실시 예에 있어서, 패킷 생성기(112)로부터 생성된 패킷(PCK)을 전달받은 핸들링 로직(114)은, 설정 조건에 기반하여 패킷(PCK)을 컨트롤러(도 1의 200)로 출력할 수 있다. 일 예로, 기 설정된 조건은 메모리 칩들(120_1~120_N) 중 적어도 하나의 상태 정보가 비지 상태에서 레디 상태로 가변하였는지 여부일 수 있다. 다른 예로, 기 설정된 조건은 기 설정된 주기에 기반하여 패킷(PCK)들을 출력하는 것일 수도 있다.
도 4a 및 도 4b는 본 개시의 예시적 실시 예에 따른 메모리 장치의 구성에 대한 일 예를 각각 도시한 블록도이다. 도 4a 및 도 4b에 개시된 구성 중, 도 2a와 중복되는 설명은 피하기로 한다.
도 4a를 참조하면, 모니터 회로(110a)는 시리얼 통신 모듈(116a), 송신단자(117a) 및 수신단자(118a)를 더 포함할 수 있다. 시리얼 통신 모듈(116a), 송신단자(117a) 및 수신단자(118a)는, 예를 들어 컨트롤러(도 1의 200)와 모니터 회로(110a)간 통신이 가능하도록 구성될 수 있다.
구체적으로, 수신단자(118a)는 컨트롤러(도 1의 200)로부터, 시리얼라이징(serializing) 된 설정 정보(S_CDTa)를 수신할 수 있다. 시리얼 통신 모듈(116a)은 수신단자(118a)를 통해 수신한 시리얼라이징 된 설정 정보(S_CDTa)를 디시리얼라이징(deserializing)하여, 설정 정보(CDTa)를 핸들링 로직(114a)으로 출력할 수 있다.
또한, 시리얼 통신 모듈(116a)은 핸들링 로직(114a)으로부터 수신한 패킷(PCKa)을 시리얼라이징하고, 시리얼라이징 된 패킷(S_PCKa)을 송신단자(117a)를 통해 컨트롤러(도 1의 200)로 출력할 수 있다. 예를 들어, 시리얼 통신 모듈(116a)은 시리얼라이징 회로 및 디시리얼라이징 회로를 포함할 수 있다.
도 4b를 참조하면, 모니터 회로(110b)는 클럭 수신단자(119b)를 더 포함할 수 있다. 시리얼 통신 모듈(116b)은 클럭 수신단자(119b)를 통해 클럭신호(CLKb)를 수신하고, 클럭신호(CLKb)에 기반하여, 시리얼라이징 된 설정 정보(S_CDTb)에 대한 디시리얼라이징 동작 및 패킷(PCKb)에 대한 시리얼라이징 동작 중 적어도 하나를 수행할 수 있다. 일 예로, 시리얼 통신 모듈(116b)은 클럭신호(CLKb)에 동기화하여 시리얼라이징 동작 및 디시리얼라이징 동작을 동시에 수행할 수 있다.
클럭신호(CLKb)는 메모리 장치(100b) 내의 클럭 발생기(미도시)에서 제공될 수 있다. 또는, 클럭신호(CLKb)는 메모리 장치(100b) 외부(예를 들어, 도 1의 컨트롤러(200))에서 제공될 수도 있다.
도 5a 및 도 5b는 본 개시의 예시적 실시 예에 따른 메모리 장치의 동작을 설명하기 위한 도면이다. 구체적으로, 도 5a는 메모리 장치(100c)의 구성을 나타내는 블록도를, 도 5b는 복수의 패킷(PCKc)들의 출력을 설명하는 개념도를 각각 도시한다. 도 5a 및 도 5b에 개시된 구성 중, 도 2a와 중복되는 설명은 피하기로 한다.
도 5a를 참조하면, 제1 연결단자 그룹(C1c)은 메모리 칩들(120c_1~120c_N)과 전기적으로 연결될 수 있다. 패킷 생성기(112c)는 제1 연결단자 그룹(C1C)을 통해 메모리 칩들(120c_1~120c_N) 각각의 상태 정보를 수신할 수 있다.
핸들링 로직(114c)은 패킷 생성기(112c)로부터 출력된 패킷(PCKc)들을 수신할수 있다. 또한, 핸들링 로직(114c)은, 메모리 장치(100c)의 외부로부터 설정 정보(CDTc)를 제공받을 수 있다. 일 예로, 설정 정보(CDTc)는 컨트롤러(도 1의 200)에서 제공될 수 있다.
예시적 실시 예에 있어서, 설정 정보(CDTc)는 기 설정된 주기에 관한 정보를 포함하고, 핸들링 로직(114c)은 기 설정된 주기에 기반하여 패킷(PCKc)을 출력할 수 있다. 예를 들어, 핸들링 로직(114c)은 기 설정된 주기로 반복하여 메모리 칩들(120c_1~120c_N) 각각에 대응하는 패킷(PCKc)들을 컨트롤러(도 1의 200)로 출력할 수 있다.
도 5b를 더 참조하면, 기 설정된 주기로 출력되는 패킷(PCKc)들이 도시된다. 제1 내지 제N 패킷(PCKc_1~PCKc_N)은 각각 제1 내지 제N 메모리 칩(120c_1~120c_N)과 대응되는 패킷들로, 대응되는 메모리 칩의 칩 번호 및 상태 정보를 포함할 수 있다. 도시된 바와 같이, 핸들링 로직(114c)은 기 설정된 주기로 반복하여 메모리 칩들(120c_1~120c_N) 각각에 대응하는 패킷(PCKc)들을 컨트롤러(도 1의 200)로 출력할 수 있다.
도 6a 및 도 6b는 본 개시의 예시적 실시 예에 따른 컨트롤러의 구성에 대한 일 예를 각각 도시한 블록도이다. 이하, 도 6a 및 도 6b는 도 1을 참조하여 설명된다.
도 6a를 참조하면, 컨트롤러(200)는 백그라운드 처리기(210), 패킷 인터페이스(220), 제어 로직 회로(230) 및 입/출력 인터페이스(240)를 포함할 수 있다. 도시되지는 않았으나, 컨트롤러(200)는 프로세서, 호스트 인터페이스, ECC 모듈, 온도 센서, 버스 등의 구성을 더 포함할 수 있다.
백그라운드 처리기(210)는 패킷 수신기(212)를 구비할 수 있다. 패킷 수신기(212)는 컨트롤러(200) 외부로부터 제공된 패킷(PCK)을 패킷 인터페이스(220)를 통해 수신할 수 있다. 예를 들어, 패킷(PCK)은 컨트롤러(200)와 통신 가능하도록 연결된 메모리 장치(100)에서 출력될 수 있다. 패킷 인터페이스(220)는 입/출력 인터페이스(240)와 별도의 구성으로서, 컨트롤러(200)와 메모리 장치(100) 간 통신이 가능하도록 구성될 수 있다. 예시적 실시 예에 있어서, 패킷(PCK)은 메모리 장치(100)에 포함된 메모리 칩들 각각의 상태 정보 및 칩 번호를 포함할 수 있다. 상태 정보는, 예를 들어 메모리 칩 각각의 레디 및 비지 상태에 관한 정보를 포함할 수 있다.
백그라운드 처리기(210)는 패킷(PCK)에 기반하여 메모리 칩들 각각의 상태 정보를 제어 로직 회로(230)로 제공할 수 있다. 예를 들어, 메모리 장치(100)가 전송하는 패킷(PCK)은, 메모리 칩들 중 비지 상태에서 레디 상태로 변경된 메모리 칩의 칩 번호 및 레디 상태임을 나타내는 비트 정보를 포함할 수 있다. 이에 따라, 백그라운드 처리기(210)는, 레디 상태의 메모리 칩에 관한 정보를 제어 로직 회로(230)로 제공할 수 있다.
제어 로직 회로(230)는 메모리 장치(100)에 각종 제어 신호를 출력하고, 메모리 장치(100)에 포함된 메모리 칩들의 각종 동작을 제어할 수 있다. 제어 로직 회로(230)는 입/출력 인터페이스(240)를 통해 메모리 장치(100)로 각종 제어 신호를 출력하고, 또한 메모리 장치(100)로부터 데이터 등을 수신할 수 있다. 입/출력 인터페이스(240)는, 예를 들어 ATA, SATA, PATA, USB, SCSI, ESDI, IEEE 1394, IDE 및/또는 카드 인터페이스 등 표준 인터페이스를 포함할 수 있다.
예시적 실시 예에 있어서, 제어 로직 회로(230)는 백그라운드 처리기(210)에서 제공된 메모리 칩들 각각의 상태 정보에 기반하여 메모리 장치(100)로 각종 제어 신호를 출력할 수 있다. 예를 들어, 패킷 수신기(212)를 통해 제2 메모리 칩(도 2의 120_2)이 비지 상태에서 레디 상태로 변경된 것을 확인한 경우, 제어 로직 회로(230)는 제2 메모리 칩(도 2의 120_2)의 각종 동작을 제어하기 위한 다양한 제어 신호를 출력할 수 있다. 예시적 실시 예에 있어서, 제어 로직 회로(230)는 메모리 장치(100)로 입/출력 인터페이스(240)를 통해 제어신호를 출력함과 동시에, 패킷 수신기(212)를 통해 메모리 칩들 중 적어도 하나에 대한 상태 정보를 확인할 수 있다.
도 6b의 컨트롤러(200a)의 구성은 도 6a를 참조하여 설명한 컨트롤러(200)의 구성과 유사하다. 다만, 본 실시 예에 따르면, 백그라운드 처리기(210a)는 설정 로직(214a)을 더 포함할 수 있다. 설정 로직(214a)은, 패킷 인터페이스(220a)를 통해 메모리 장치(100)로 설정 정보(CDTa)를 출력할 수 있다.
예시적 실시 예에 있어서, 설정 정보(CDTa)는, 메모리 장치(100)의 패킷(PCKa) 출력에 기반이 되는 소정의 조건을 포함할 수 있다. 일 예로, 설정 정보(CDTa)는 메모리 칩들 중 적어도 하나의 상태 정보가 비지 상태에서 레디 상태로 가변하였는 지 여부를 조건으로서 포함할 수 있다. 다른 예로, 설정 정보(CDTa)는 기 설정된 주기를 조건으로서 포함할 수 있다. 설정 로직(214a)은, 펌웨어(firmware) 또는 소프트웨어(software)로 구현될 수 있고, 메모리(미도시)에 로딩될 수 있다. 다만, 이에 한정되는 것은 아니고, 설정 로직(214a)은 하드웨어로 구현될 수도 있다.
도 7은 본 개시의 예시적 실시 예에 따른 백그라운드 처리기 및 패킷 인터페이스의 일 예를 설명하기 위한 블록도를 도시한다. 예를 들어, 도 7은 도 6b에 도시된 백그라운드 처리기(210a) 및 패킷 인터페이스(220a)의 구체적인 구성에 대한 블록도일 수 있다.
도 7을 참조하면, 백그라운드 처리기(210a)는 시리얼 통신 모듈(216a)을 구비할 수 있다. 또한, 패킷 인터페이스(220a)는 수신단자(222a) 및 송신단자(224a)를 구비할 수 있다. 시리얼 통신 모듈(216a), 수신단자(222a) 및 송신단자(224a)는, 예를 들어 컨트롤러(200a)와 메모리 장치(도 1의 100)의 모니터 회로(도 1의 110)간 통신이 가능하도록 구성될 수 있다.
구체적으로, 수신단자(222a)는 모니터 회로(도 1의 110)로부터, 시리얼라이징 된 패킷(S_PCKa)을 수신할 수 있다. 시리얼 통신 모듈(216a)은 수신단자(222a)를 통해 수신한 시리얼라이징 된 패킷(S_PCKa)을 디시리얼라이징하여, 패킷(PCKa)을 패킷 수신기(212a)로 출력할 수 있다.
또한, 시리얼 통신 모듈(216a)은 설정 로직(214a)으로부터 수신한 설정 정보(CDTa)를 시리얼라이징하고, 시리얼라이징 된 설정 정보(S_CDTa)를 송신단자(224a)를 통해 모니터 회로(도 1의 110)로 출력할 수 있다. 예를 들어, 시리얼 통신 모듈(216a)은 시리얼라이징 회로 및 디시리얼라이징 회로를 포함할 수 있다.
다른 예시적 실시 예에 있어서, 패킷 인터페이스(220a)는 클럭 수신단자(미도시)를 더 포함할 수 있다. 예를 들어, 시리얼 통신 모듈(216a)은 클럭 수신단자(미도시)를 통해 클럭신호를 수신하고, 클럭신호에 기반하여, 시리얼라이징 된 패킷(S_PCKa)에 대한 디시리얼라이징 동작 및 설정 정보(CDTa)에 대한 시리얼라이징 동작 중 적어도 하나를 수행할 수 있다. 일 예로, 시리얼 통신 모듈(216a)은 클럭신호에 동기화하여 시리얼라이징 동작 및 디시리얼라이징 동작을 동시에 수행할 수 있다. 클럭신호는 컨트롤러(200a) 내의 클럭 발생기(미도시)에서 제공될 수도 있고, 컨트롤러(200a) 외부로부터 제공될 수도 있다.
도 8은 본 개시의 예시적 실시 예에 따른 백그라운드 처리기의 동작을 설명하기 위한 순서도이다. 도 8은, 예를 들어 도 6b의 백그라운드 처리기(210a)의 동작에 대한 순서도일 수 있다. 이하, 도 8은 도 6b를 참조하여 설명된다.
도 8을 참조하면, 백그라운드 처리기(210a)는 모니터 회로(도 1의 110)로 설정 정보(CDTa)를 제공할 수 있다(S200). 설정 정보(CDTa)는, 예를 들어 모니터 회로(도 1의 110)에 구비된 핸들링 로직(도 2의 114)에 제공될 수 있다. 예시적 실시 예에 있어서, 설정 정보(CDTa)를 제공받은 핸들링 로직(도 2의 114)은, 설정 정보(CDTa)에 포함된 조건에 기반하여 패킷(PCKa)을 출력할 수 있다.
다음, 백그라운드 처리기(210a)는 모니터 회로(도 1의 110)로부터 출력된 패킷(PCKa)을 수신할 수 있다(S210). 백그라운드 처리기(210a)는, 입/출력 인터페이스(240a)와는 별도의 패킷 인터페이스(220a)를 통해 패킷(PCKa)을 수신할 수 있다. 예를 들어, 백그라운드 처리기(210a)는, 입/출력 인터페이스(240)를 통해 제어신호를 출력함과 동시에, 패킷 인터페이스(220a)를 통해 패킷(PCKa)을 수신할 수 있다. 패킷(PCKa)은, 예를 들어 메모리 칩들(도 2의 120_1~120_N) 각각의 상태 정보 및 칩 번호를 포함할 수 있다.
다음, 백그라운드 처리기(210a)는 제어 로직 회로(230a)로, 메모리 칩들의 레디 또는 비지 상태를 제공할 수 있다(S220). 예를 들어, 모니터 회로(도 1의 110)가, 메모리 칩의 상태 정보가 비지 상태에서 레디 상태로 가변하였는지 여부에 기반하여 패킷(PCKa)을 출력한 경우, 백그라운드 처리기(210a)는 패킷(PCKa)에 포함된 메모리 칩의 칩 번호를 제어 로직 회로(230a)로 제공할 수 있다. 이에 따라, 제어 로직 회로(230a)는 레디 상태인 메모리 칩을 확인하고, 이에 기반하여 메모리 장치(도 1의 100)로 각종 제어신호를 출력할 수 있다. 예시적 실시 예에 있어서, S200 내지 S220 단계는, 입/출력 인터페이스(240a)를 통한 제어 로직 회로(230a)의 메모리 장치(도 1의 100)에 대한 다양한 제어 동작과 동시에 수행될 수 있다.
도 9는 본 개시의 예시적 실시 예에 따른 컨트롤러 및 메모리 장치의 동작에 대한 타이밍도를 도시한다. 도 9에 도시된 타이밍도는, 예를 들어 도 1 내지 도 8에서 설명된 컨트롤러 및 메모리 장치의 동작에 따른 타이밍도일 수 있다. 도 9에서는, 제1 메모리 칩을 예시적으로 설명하고 있으나, 이는 설명의 편의를 위한 것일 뿐 이에 한정되지 않는다.
도 9를 참조하면, 제1 시간(T1)까지 제1 메모리 칩(예를 들어, 도 2a의 120_1, 이하 120_1)은 비지 상태일 수 있다. 예를 들어, 제1 메모리 칩(도 2a의 120_1)은 제1 시간(T1)까지 동작 중인 상태로서, 컨트롤러(예를 들어, 도 6a의 200, 이하 200)의 요청에도 이에 대응하는 동작을 할 수 없는 상태일 수 있다.
제1 시간(T1)에서, 제1 메모리 칩(120_1)은 비지 상태에서 레디 상태로 변경될 수 있다. 예를 들어, 제1 시간(T1)에서 제1 메모리 칩(120_1)은 수행중이던 동작을 완료할 수 있다. 다시 말해서, 제1 시간(T1)부터 제1 메모리 칩(120_1)은 컨트롤러(200)의 요청에 응답하여 이에 대응하는 동작을 수행할 준비가 완료된 상태일 수 있다.
제1 시간(T1) 후 제2 시간(T2)까지, 모니터 회로(예를 들어, 도 2a의 110, 이하 110)는 제1 메모리 칩(120_1)의 상태가 비지 상태에서 레디 상태로 변경된 것을 모니터링 할 수 있다(A). 예를 들어, 모니터 회로(110)에 구비된 핸들링 로직(도 2a의 114, 이하 114)은 제1 연결단자 그룹(도 2a의 C1, 이하 C1)을 통해 제1 메모리 칩(120_1)을 모니터링하고, 이에 따라 제1 메모리 칩(120_1)의 상태가 레디 상태로 변경됨을 감지할 수 있다.
제2 시간(T2) 후 제3 시간(T3)까지, 모니터 회로(110)는 제1 메모리 칩(120_1)의 칩 번호 및 상태 정보가 포함된 패킷(예를 들어, 도 2a의 PCK, 이하 PCK)을 컨트롤러(200)로 전송할 수 있다(B). 예를 들어, 패킷(PCK)은 제1 메모리 칩(120_1)이 레디 상태임을 적어도 하나의 비트를 통해 포함할 수 있다. 예시적 실시 예에 있어서, 패킷(PCK)은 패킷 생성기(도 2의 112, 이하 112)로부터 생성되고, 핸들링 로직(114)은 패킷 생성기(112)에서 생성된 패킷(PCK)을 기설정된 조건에 기반하여 출력할 수 있다.
예를 들어, 핸들링 로직(114)은 메모리 칩들 중 적어도 하나의 상태 정보가 비지 상태에서 레디 상태로 가변한 경우, 상태가 가변한 메모리 칩에 대응하는 패킷(PCK)을 컨트롤러(200)로 전송할 수 있다. 본 실시 예에서, 핸들링 로직(114)은 제1 메모리 칩(120_1)의 상태가 레디 상태로 변경됨을 감지함에 따라, 제1 메모리 칩(120_1)의 칩 번호 및 상태 정보를 포함하는 패킷(PCK)을 컨트롤러(200)로 전송할 수 있다. 다른 실시 예에서, 핸들링 로직(114)은 기 설정된 주기 동안 메모리 칩들 각각에 대응하는 패킷(PCK)들을 컨트롤러(200)로 전송할 수도 있다.
제3 시간(T3) 후 제4 시간(T4)까지, 모니터 회로(110)로부터 전송된 패킷(PCK)을 수신한 컨트롤러(200)는, 제1 메모리 칩(120_1)이 레디 상태임을 확인할 수 있다(C). 예를 들어, 컨트롤러(200)에 구비된 백그라운드 처리기(도 6a의 210, 이하 210)는 패킷 인터페이스(도 6a의 220, 이하 220)를 통해 패킷(PCK)을 수신할 수 있다. 백그라운드 처리기(210)는 수신한 패킷(PCK)에 기반하여, 제1 메모리 칩(120_1)이 레디 상태임을 제어 로직 회로(도 6a의 230, 이하 230)로 전달할 수 있다. 이에 따라, 제어 로직 회로(230)는 제4 시간(T4) 이후 제1 메모리 칩(120_1)의 다양한 동작 수행을 제어할 수 있다.
예시적 실시 예에 있어서, 제1 시간(T1)부터 제4 시간(T4)까지, 제어 로직 회로(230)는 입/출력 인터페이스(도 6a의 240a, 이하 240a)를 통해 제1 메모리 칩(120_1) 이외의 다른 메모리 칩의 동작을 제어할 수 있다. 일 예로, 본 실시 예에서 제어 로직 회로(230)는 입/출력 인터페이스(240a)를 통해 DMA(Direct Memory Access) 제어신호를 출력할 수 있다. 다만, 이에 한정되는 것은 아니고, 제어 로직 회로(230)는 입/출력 인터페이스(240a)를 통해 DMA 제어신호 외에 다양한 다른 제어신호를 출력할 수도 있다. 다시 말해서, 컨트롤러(200)는 제1 메모리 칩(120_1) 외의 메모리 칩의 DMA 동작 등 각종 동작을 제어함과 동시에, 제1 메모리 칩(120_1)의 상태가 레디 상태로 변경됨을 감지할 수 있다.
본 개시의 기술적 사상에 따르면, 메모리 칩이 레디 상태가 되는 시점에서 메모리 장치(100)가 레디 상태인 메모리 칩의 정보를 컨트롤러에 전송함으로써, 불필요한 상태 확인 반복에 따른 성능 감소를 개선할 수 있다. 또한, 입/출력 인터페이스(240a)와 별도의 패킷 인터페이스(220)를 통해 패킷(PCK)을 송/수신 하므로, 메모리 칩의 상태 감지는 별도의 다른 동작과 동시에 수행되고, 이에 따라 스토리지 장치의 성능이 향상될 수 있다. 또한, 단순한 로직으로 메모리 칩의 상태 정보를 컨트롤러가 감지할 수 있으므로, 적은 게이트 개수(Gate Count, GC)로 구현이 가능하고, 이에 따라 칩 사이즈가 감소될 수 있다.
도 10a 및 도 10b는 본 개시의 예시적 실시 예에 따른 메모리 장치의 구성을 설명하기 위한 도면이다. 구체적으로, 도 10a는 메모리 장치(100d)의 블록도를, 도 10b는 패킷(PCKd)의 구성을 각각 도시한다. 도 10a 및 도 10b에 개시된 구성 중, 도 2a 내지 도 2c와 중복되는 설명은 피하기로 한다.
도 10a를 참조하면, 모니터 회로(110d)는 제2 내지 제5 연결단자 그룹(C2d~C5d)을 더 포함할 수 있다. 제2 내지 제5 연결단자 그룹(C2d~C5d)은 메모리 칩들(120d_1~120d_N)과 각각 전기적으로 연결될 수 있다. 예시적 실시 예에 있어서, 제2 내지 제5 연결단자 그룹(C2d~C5d)은, 메모리 칩들(120d_1~120d_N)과 일대일 대응으로 연결되는 복수의 연결단자들을 각각 포함할 수 있다. 예를 들어, 제2 내지 제5 연결단자 그룹(C2d~C5d)은, 제1 연결단자 그룹(C1d)과 유사한 구성을 구비할 수 있다.
패킷 생성기(112d)는 제2 연결단자 그룹(C2d)을 통해, 메모리 칩들(120d_1~120d_N) 각각의 ECC(Error Correction Code) 결과 정보를 수신할 수 있다. 또한, 패킷 생성기(112d)는 제3 및 제4 연결단자 그룹(C3d, C4d)을 통해, 메모리 칩들(120d_1~120d_N) 각각의 프로그램 루프 카운트(Program Loop Count) 및 소거 루프 카운트(Erase Loop Count) 정보를 수신할 수 있다. 또한, 패킷 생성기(112d)는 제5 연결단자 그룹(C5d)을 통해, 메모리 칩들(120d_1~120d_N) 각각에 포함된 데이터의 프로그램에 대한 패스/페일(Pass/Fail, P/F) 정보를 수신할 수 있다.
예시적 실시 예에 있어서, 패킷 생성기(112d)는 수신한 상태 정보들, ECC 결과 정보들, 프로그램/소거 루프 카운트 및 패스/페일 정보 중 적어도 하나에 기반하여 패킷(PCKd)을 생성할 수 있다. 일 예로, 패킷 생성기(112d)에서 생성되는 각 패킷(PCKd)은 칩 번호와, 칩 번호에 대응하는 메모리 칩의 상태 정보, ECC 결과 정보, 프로그램/소거 루프 카운트 및 패스/페일 정보를 포함할 수 있다.
도 10b를 더 참조하면, 예를 들어 제2 메모리 칩(120d_2)에 대한 패킷의 경우, 칩 번호 '2' 및 제2 메모리 칩(120d_2)의 상태 정보, 패스/페일 정보, ECC 결과 정보, 프로그램 루프 카운트 및 소거 루프 카운트 정보가 포함될 수 있다. 예를 들어, 상태 정보, 패스/페일 정보 및 ECC 결과 정보는 1 비트로 표현될 수 있다. 또한, 프로그램 루프 카운트 및 소거 루프 카운트 정보는 16진수로 표현되는 복수의 비트들로 표현될 수 있다.
다시 도 10a를 참조하면, 핸들링 로직(114d)은 제2 연결단자 그룹(C2d)을 통해, 메모리 칩들(120d_1~120d_N) 각각의 ECC 결과 정보를 수신할 수 있다. 또한, 핸들링 로직(114d)은 제3 및 제4 연결단자 그룹(C3d, C4d)을 통해, 메모리 칩들(120d_1~120d_N) 각각의 프로그램 루프 카운트 및 소거 루프 카운트 정보를 수신할 수 있다. 또한, 핸들링 로직(114d)은 제5 연결단자 그룹(C5d)을 통해, 메모리 칩들(120d_1~120d_N) 각각에 포함된 데이터의 프로그램에 대한 패스/페일 정보를 수신할 수 있다.
본 실시 예에서는 핸들링 로직(114d)이 제1 내지 제5 연결단자 그룹(C1d~C5d)과 모두 전기적으로 연결되고, 상기에 개시된 모든 정보들을 수신하는 것으로 설명되나, 본 개시의 기술적 사상이 이에 한정되는 것은 아니다. 즉, 핸들링 로직(114d)은 제1 내지 제5 연결단자 그룹(C1d~C5d) 중 적어도 하나와 전기적으로 연결되고, 메모리 칩들(120d_1~120d_N) 각각의 상태 정보, ECC 결과, 프로그램 루프 카운트, 소거 루프 카운트 및 패스/페일 정보 중 적어도 하나를 제공받을 수 있다.
예시적 실시 예에 있어서, 핸들링 로직(114d)은 기 설정된 조건에 기반하여 패킷 생성기(112d)로부터 수신한 패킷(PCKd)을 출력할 수 있다. 기 설정된 조건은, 메모리 장치(100d)의 외부로부터 제공받은 설정 정보(CDTd)에 포함될 수 있다. 일 예로, 설정 정보(CDTd)는 컨트롤러(도 1의 200)에서 제공될 수 있다.
예시적 실시 예에 있어서, 패킷(PCKd)이 프로그램 루프 카운트 또는 소거 루프 카운트 정보를 포함하는 경우, 패킷(PCKd)을 전송받은 컨트롤러(도 1의 200)는 패킷(PCKd)에 기반하여 프로그램 루프 카운트 또는 소거 루프 카운트를 확인할 수 있다. 예를 들어, 컨트롤러(도 1의 200)는 프로그램/소거 루프 카운트를 방어코드 활용에 적용할 수 있다.
예시적 실시 예에 있어서, 패킷(PCKd)이 ECC 결과 정보를 포함하는 경우, 패킷(PCKd)을 전송받은 컨트롤러(도 1의 200)는 패킷(PCKd)에 기반하여 컨트롤러(도 1의 200) 내의 ECC 동작 수행에 대한 바이패스(bypass) 여부를 결정할 수 있다. 일 예로, 패킷(PCKd)에 포함된 ECC 결과 정보에 따라, 리드 오류(Uncorrectable Error)가 아닌 것으로 확인하면, 컨트롤러(도 1의 200)는 컨트롤러(도 1의 200) 내의 ECC 동작 수행을 바이패스할 수 있다.
도 11은 본 개시의 예시적 실시 예에 따른 스토리지 시스템을 나타내는 블록도이다. 도 11에 개시된 구성 중, 도 1과 중복되는 설명은 피하기로 한다.
도 11을 참조하면, 메모리 장치(100e)는 풀 블록 지시기(Full Block Indicator, FBI)(F_L)를 구비할 수 있다. 예를 들어, 풀 블록 지시기(F_L)는 메모리 장치(100e)에 저장된 데이터의 위치 정보를 논리적 유닛(logical unit)으로 구분하여 맵핑 정보를 기록한 맵 테이블을 포함할 수 있다. 예를 들어, 풀 블록 지시기(F_L)는 컨트롤러(200e)에 포함된 입/출력 인터페이스(예를 들어, 도 6a의 240)에 접속되고, 컨트롤러(200e)로부터 각종 제어신호를 수신할 수 있다. 일 예로, 풀 블록 지시기(F_L)는 페이지 맵 테이블의 메모리 공간이 적은 경우, 특정 조건 하에서 메타 영역으로부터 페이지 맵핑 정보를 로드하지 않고도 페이지 맵핑 동작을 수행할 수 있다.
예시적 실시 예에 있어서, 모니터 회로(110e)는 풀 블록 지시기(F_L)에 포함될 수 있다. 예를 들어, 모니터 회로(110e)는 컨트롤러(200e)에 포함된 패킷 인터페이스(예를 들어, 도 6a의 220)에 접속되고, 컨트롤러(200e)로 패킷(예를 들어, 도 2의 PCK)을 전송할 수 있다. 예시적 실시 예에 있어서, 패킷(PCK)은 메모리 장치(100e)에 포함된 메모리 칩들(예를 들어, 도 2의 120_1~120_N) 각각의 칩 번호 및 상태 정보를 포함할 수 있다.
도 12는 본 개시의 예시적 실시 예에 따른 컨트롤러 및 메모리 장치를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 12를 참조하면, 네트워크 시스템(1000)은 네트워크(1020)를 통해 연결되는 다수의 단말들(1010-1 ~ 1010-n) 및 서버 시스템(1030)을 포함할 수 있다. 예를 들어, 네트워크 시스템(1000)은 서치 포탈(Search Portal) 또는 IDC(Internet Data Center)를 의미할 수 있다. 다수의 단말들(1010-1 ~ 1010-n)은 PC(Personal Computer), 랩탑 컴퓨터(Laptop Computer), 스마트폰, 태블릿(tablet) PC, PDA, MID, 웨어러블 컴퓨터, IoT 장치, 또는 IoE 장치일 수 있다.
다수의 단말들(1010-1 ~ 1010-n)은 네트워크(1020)를 통해 서버 시스템(1030)과 통신할 수 있다. 네트워크(1020)는 유선 네트워크, 무선 네트워크, 인터넷 또는 이동 전화 네트워크를 의미할 수 있다. 서버 시스템(1030)은 네트워크(1020)에 연결되는 다수의 단말들(1010-1 ~ 1010-n)로부터 수신되는 요청을 처리하는 서버(1032) 및 단말들(1010-1 ~ 1010-n)로부터 수신되는 요청에 대응되는 데이터를 저장하는 스토리지 시스템(1034)을 포함할 수 있다. 이 때, 스토리지 시스템(1034)은, 본 개시의 기술적 사상에 따른 컨트롤러 및 메모리 장치를 구비할 수 있다. 이에 따라, 불필요한 반복 없이, 동작이 완료된 메모리 칩을 컨트롤러가 확인할 수 있고, 레디 상태의 메모리 칩에 대한 감지가 다른 동작들과 동시에 수행될 수 있다.
상기한 실시예의 설명은 본 개시의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 개시를 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 개시의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.

Claims (10)

  1. 각각 대응하는 칩 번호로 구분되는 복수의 메모리 칩들; 및
    상기 복수의 메모리 칩들과 전기적으로 연결되는 복수의 제1 연결단자들을 포함하고, 상기 복수의 제1 연결단자들을 통해 상기 복수의 메모리 칩들로부터 상기 복수의 메모리 칩들 각각의 레디 및 비지 상태에 관한 상태(status) 정보를 수신하는 모니터 회로를 포함하고,
    상기 모니터 회로는, 상기 복수의 메모리 칩들 중 적어도 하나에 대응하는 칩 번호 및 상태 정보를 각각 포함하는 복수의 패킷들을 출력하는 메모리 장치.
  2. 제1 항에 있어서,
    상기 모니터 회로는,
    상기 복수의 제1 연결단자들을 통해 수신한 상기 상태 정보 및 상기 칩 번호에 기반하여 상기 패킷을 생성하는 패킷 생성기; 및
    상기 패킷 생성기로부터 상기 패킷을 수신하고, 기 설정된 조건에 기반하여 상기 패킷을 출력하는 핸들링 로직을 더 포함하는 메모리 장치.
  3. 제2 항에 있어서,
    상기 핸들링 로직은,
    상기 복수의 제1 연결단자들로부터 상기 상태 정보를 수신하고,
    상기 복수의 메모리 칩들 중 적어도 하나의 상태 정보가 비지 상태에서 레디 상태로 가변하였는지 여부에 기반하여 상기 패킷을 출력하는 것을 특징으로 하는 메모리 장치.
  4. 제2 항에 있어서,
    상기 핸들링 로직은 상기 패킷을 상기 메모리 장치를 제어하는 컨트롤러로 출력하고, 상기 기 설정된 조건을 상기 컨트롤러로부터 제공받는 것을 특징으로 하는 메모리 장치.
  5. 제2 항에 있어서,
    상기 모니터 회로는,
    상기 메모리 장치 외부로부터, 시리얼라이징(serializing) 된 상기 기 설정된 조건을 수신하는 수신단자;
    상기 수신단자를 통해 수신한 상기 시리얼라이징 된 상기 기 설정된 조건을 디시리얼라이징(deserializing)하고, 상기 핸들링 로직으로부터 출력된 상기 패킷을 시리얼라이징하는 시리얼 통신 모듈; 및
    상기 시리얼 통신 모듈과 전기적으로 연결된 송신단자를 더 포함하고,
    상기 시리얼 통신 모듈은 상기 송신단자를 통해 상기 시리얼라이징 한 패킷을 상기 메모리 장치 외부로 출력하는 것을 특징으로 하는 메모리 장치.
  6. 복수의 메모리 칩들을 포함하는 메모리 장치로 하나 이상의 제어신호를 출력하는 컨트롤 로직 회로;
    상기 메모리 장치로부터 상기 복수의 메모리 칩들 중 적어도 하나에 대응하는 상태 정보 및 칩 번호를 각각 포함하는 패킷을 수신하는 패킷 인터페이스; 및
    상기 패킷 인터페이스로부터 상기 패킷을 수신하고, 상기 패킷에 기반하여 상기 복수의 메모리 칩들 중 적어도 하나의 상태 정보를 상기 컨트롤 로직 회로로 출력하는 패킷 수신기를 구비하는 백그라운드 처리기를 포함하는 컨트롤러.
  7. 제6 항에 있어서,
    상기 패킷은 상기 복수의 메모리 칩들 중 적어도 하나의 레디 및 비지 상태에 관한 정보를 포함하고,
    상기 패킷 수신기는 상기 패킷에 기반하여 상기 컨트롤 로직으로 상기 복수의 메모리 칩들 각각의 레디 및 비지 상태에 관한 정보를 제공하는 것을 특징으로 하는 컨트롤러.
  8. 제6 항에 있어서,
    상기 백그라운드 처리기는,
    상기 패킷의 출력에 기반이 되는 소정의 조건을 상기 메모리 장치로 출력하는 설정 로직을 더 포함하는 컨트롤러.
  9. 제6 항에 있어서,
    입/출력 인터페이스를 더 포함하고,
    상기 컨트롤 로직 회로는 상기 입/출력 인터페이스를 통해 상기 메모리 장치로 상기 하나 이상의 제어신호를 출력하는 것을 특징으로 하는 컨트롤러.
  10. 각각 대응하는 칩 번호로 구분되는 복수의 메모리 칩들; 및
    상기 복수의 메모리 칩들과 각각 일대일 대응으로 전기적으로 연결되는 복수의 제1 연결단자들 및 상기 복수의 제1 연결단자들을 통해 상기 복수의 메모리 칩들 각각의 상태 정보를 수신하는 패킷 생성기를 포함하는 모니터 회로를 포함하고,
    상기 패킷 생성기는 상기 칩 번호 및 상기 상태 정보를 각각 포함하는 복수의 패킷들을 생성하고,
    상기 모니터 회로는 소정의 조건에 기반하여 상기 복수의 패킷들을 출력하는 메모리 장치.
KR1020170166646A 2017-12-06 2017-12-06 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치 KR20190066844A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170166646A KR20190066844A (ko) 2017-12-06 2017-12-06 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치
US16/128,841 US20190171378A1 (en) 2017-12-06 2018-09-12 Memory device, memory controller, and storage device including the same
CN201811093070.0A CN109885252A (zh) 2017-12-06 2018-09-17 存储器装置和存储器控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170166646A KR20190066844A (ko) 2017-12-06 2017-12-06 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치

Publications (1)

Publication Number Publication Date
KR20190066844A true KR20190066844A (ko) 2019-06-14

Family

ID=66659169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170166646A KR20190066844A (ko) 2017-12-06 2017-12-06 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치

Country Status (3)

Country Link
US (1) US20190171378A1 (ko)
KR (1) KR20190066844A (ko)
CN (1) CN109885252A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416426B2 (en) 2020-06-15 2022-08-16 SK Hynix Inc. Memory device and method of operating the same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US8432768B2 (en) * 2009-01-12 2013-04-30 Rambus Inc. Mesochronous signaling system with multiple power modes
US8843692B2 (en) * 2010-04-27 2014-09-23 Conversant Intellectual Property Management Inc. System of interconnected nonvolatile memories having automatic status packet
US9959078B2 (en) * 2015-01-30 2018-05-01 Sandisk Technologies Llc Multi-die rolling status mode for non-volatile storage
JP6623644B2 (ja) * 2015-09-24 2019-12-25 富士ゼロックス株式会社 制御装置および画像形成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416426B2 (en) 2020-06-15 2022-08-16 SK Hynix Inc. Memory device and method of operating the same

Also Published As

Publication number Publication date
CN109885252A (zh) 2019-06-14
US20190171378A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
US9619175B2 (en) Embedded multimedia card (eMMC), host for controlling the eMMC, and methods of operating the eMMC and the host
US11016678B2 (en) Channel optimized storage modules
US9792072B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
KR101626084B1 (ko) 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
CN110059032B (zh) 存储器接口及具有存储器接口的存储器控制器
US10733122B2 (en) System and method for direct memory access in a flash storage
KR20130070251A (ko) 브릿지 칩셋 및 그것을 포함하는 데이터 저장 시스템
CN106339178B (zh) 存储器控制单元及包括该存储器控制单元的数据存储设备
TWI754050B (zh) 微控制器、具有該微控制器的記憶系統及其操作方法
CN108572798B (zh) 针对快速数据传输执行监听操作的存储装置及其方法
US20140372831A1 (en) Memory controller operating method for read operations in system having nonvolatile memory device
JP2013502001A (ja) 不揮発性メモリからのデータ読み出し用コントローラ
US9507707B2 (en) Nonvolatile memory device and data storage device including the same
KR20190066844A (ko) 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치
KR20190060424A (ko) 에러 테스트를 위한 메모리 시스템
US9652403B2 (en) Memory control unit and data storage device including the same
US20150169235A1 (en) Data storage device and operating method thereof
US20140068150A1 (en) Data storage device and operating method thereof
KR20170073266A (ko) 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법
US20230393959A1 (en) Out-of-band management method for storage apparatus, baseboard management controller and storage apparatus
CN115910161A (zh) 存储封装、存储设备和用于操作存储设备的方法
TW202338591A (zh) 記憶體控制器與資料處理方法
KR20150082930A (ko) 데이터 저장 장치 및 그것의 동작 방법