[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20190088734A - Memory interface and memory controller having the same, and memory system having the same - Google Patents

Memory interface and memory controller having the same, and memory system having the same Download PDF

Info

Publication number
KR20190088734A
KR20190088734A KR1020180007195A KR20180007195A KR20190088734A KR 20190088734 A KR20190088734 A KR 20190088734A KR 1020180007195 A KR1020180007195 A KR 1020180007195A KR 20180007195 A KR20180007195 A KR 20180007195A KR 20190088734 A KR20190088734 A KR 20190088734A
Authority
KR
South Korea
Prior art keywords
command
normal
time
suspend
control unit
Prior art date
Application number
KR1020180007195A
Other languages
Korean (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 KR1020180007195A priority Critical patent/KR20190088734A/en
Priority to US16/119,575 priority patent/US10705757B2/en
Priority to CN201811109225.5A priority patent/CN110059032B/en
Publication of KR20190088734A publication Critical patent/KR20190088734A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The present invention relates to a memory interface, a memory controller including the same, and a memory system including the same. The memory interface comprises: a command queue control unit which determines the order of execution of normal commands and a suspend command; a command time control unit which receives the normal commands from the command queue control unit, provides additional operating time to the normal commands, respectively and outputs information on commands and time; a command time table which matches the command and time information with each of the normal commands, stores the same, and outputs a completion signal; and an input/output interface which receives the normal commands or the suspend command from the command queue control unit, and transmits the normal commands or the suspend command to a memory device through a channel. Therefore, the memory interface can prevent continuous delays of execution of normal commands due to the suspend command.

Description

메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템{Memory interface and memory controller having the same, and memory system having the same}[0001] The present invention relates to a memory interface, a memory controller including the same, and a memory system including the same,

본 발명은 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것으로, 보다 구체적으로는 노말 커맨드(normal command) 및 서스펜드 커맨드(suspend command)를 관리하는 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory interface, a memory controller including the memory interface, and a memory system including the memory interface. More particularly, the present invention relates to a memory interface for managing a normal command and a suspend command, Controller and a memory system including the same.

메모리 시스템(memory system)은 메모리 장치(memory device) 및 메모리 컨트롤러(memory controller)를 포함할 수 있다. The memory system may include a memory device and a memory controller.

메모리 장치는 데이터를 저장하거나, 저장된 데이터를 출력할 수 있다. 예를 들면, 메모리 장치는 전원 공급이 차단되면 저장된 데이터가 소멸되는 휘발성 메모리 장치로 이루어지거나, 전원 공급이 차단되더라도 저장된 데이터가 유지되는 비휘발성 메모리 장치로 이루어질 수 있다. The memory device may store data or output the stored data. For example, the memory device may consist of a volatile memory device in which the stored data is destroyed when the power supply is interrupted, or a nonvolatile memory device in which the stored data is retained even if the power supply is interrupted.

메모리 컨트롤러는 호스트(host)와 메모리 장치 사이의 데이터 통신을 제어할 수 있다. The memory controller can control data communication between the host and the memory device.

호스트는 PCI-E(Peripheral Component Interconnect - Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜을 사용하여 메모리 컨트롤러를 통해 메모리 장치와 통신할 수 있다. 호스트와 메모리 시스템 간의 인터페이스 프로토콜들은 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스들이 포함될 수 있다.A host can use an interface protocol such as Peripheral Component Interconnect-Express (PCI-E), Advanced Technology Attachment (ATA), Serial ATA (SATA), Parallel ATA (PATA), or Serial Attached SCSI And can communicate with the memory device. The interface protocols between the host and the memory system are not limited to the above examples and various interfaces such as USB (Universal Serial Bus), MMC (Multi-Media Card), ESDI (Enhanced Small Disk Interface) May be included.

본 발명의 실시예는 노말 커맨드(normal command)에 동작 시간(operation time)을 설정함으로써, 추후에 서스펜드 커맨드(suspend command)를 실행(execute)해야 하는 경우 상기 동작 시간만큼 상기 노말 커맨드를 더 실행시킨 후 상기 서스펜드 커맨드를 실행하도록 커맨드를 관리하는 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것이다. The embodiment of the present invention sets an operation time to a normal command so that if the suspend command is to be executed later, A memory controller including the memory interface, and a memory system including the memory controller.

본 발명의 실시예에 따른 메모리 인터페이스는, 노말 커맨드들(normal commands) 및 서스펜드 커맨드(suspend command)의 실행 순서를 결정하는 커맨드 큐 제어부; 상기 커맨드 큐 제어부로부터 상기 노말 커맨드들을 전송받고, 상기 노말 커맨드들에 추가 동작 시간을 각각 부여하여 커맨드 및 시간 정보를 출력하는 커맨드 시간 제어부; 상기 커맨드 및 시간 정보를 상기 노말 커맨드들에 각각 매칭하여 저장하고, 종료 신호를 출력하는 커맨드 시간 테이블; 및 상기 커맨드 큐 제어부로부터 상기 노말 커맨드들 또는 상기 서스펜드 커맨드를 수신하고, 채널을 통해 상기 노말 커맨드들 또는 상기 서스펜드 커맨드를 메모리 장치로 전송하는 입출력 인터페이스를 포함한다. A memory interface according to an embodiment of the present invention includes a command queue control unit for determining execution orders of normal commands and suspend commands; A command time control unit receiving the normal commands from the command queue control unit and outputting commands and time information by giving the normal commands an additional operation time; A command time table for matching and storing the command and time information with the normal commands and outputting a termination signal; And an input / output interface for receiving the normal commands or the suspend command from the command queue control unit and transmitting the normal commands or the suspend command to the memory device via a channel.

본 발명의 실시예에 따른 메모리 컨트롤러는, 호스트(host)의 요청에 따라 노말 커맨드 또는 서스펜드 커맨드를 생성하는 중앙 처리 장치; 및 상기 노말 커맨드 또는 상기 서스펜드 커맨드를 메모리 장치로 전송하는 메모리 인터페이스를 포함하며, 상기 메모리 인터페이스는, 상기 노말 커맨드가 수신되면 상기 노말 커맨드에 추가 동작 시간을 부여한 후, 상기 노말 커맨드를 상기 메모리 장치에 전송하고, 상기 서스펜드 커맨드가 수신되면, 상기 추가 동작 시간 동안 상기 노말 커맨드를 더 실행시킨 후, 상기 서스펜드 커맨드를 상기 메모리 장치에 전송한다. A memory controller according to an embodiment of the present invention includes a central processing unit for generating a normal command or a suspend command in response to a request from a host; And a memory interface for transferring the normal command or the suspend command to a memory device, wherein the memory interface provides the normal command to the memory device after giving the normal command an additional operating time when the normal command is received And when the suspend command is received, further executes the normal command for the additional operation time, and then transmits the suspend command to the memory device.

본 발명의 실시예에 따른 메모리 시스템은, 데이터가 저장되는 메모리 장치; 및 호스트의 요청에 따라 노말 커맨드 또는 서스펜드 커맨드를 생성하고, 상기 노말 커맨드 또는 상기 서스펜드 커맨드를 채널을 통해 상기 메모리 장치로 전송하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는, 상기 노말 커맨드가 생성되면 상기 노말 커맨드에 추가 동작 시간을 부여한 후, 상기 노말 커맨드를 상기 메모리 장치로 전송하고, 상기 서스펜드 커맨드가 생성되면, 상기 추가 동작 시간만큼 상기 서스펜드 커맨드를 지연시킨 후에 상기 서스펜드 커맨드를 상기 메모리 장치로 전송한다. A memory system according to an embodiment of the present invention includes: a memory device in which data is stored; And a memory controller for generating a normal command or a suspend command in accordance with a request from the host and transmitting the normal command or the suspend command to the memory device through a channel, wherein, when the normal command is generated, After sending the normal command to the memory device after giving an additional operation time to the normal command and, when the suspend command is generated, transferring the suspend command to the memory device after delaying the suspend command by the additional operation time .

본 기술은 서스펜드 커맨드를 실행해야 하는 경우, 이미 수행 중이던 노말 커맨드를 미리 설정된 동작 시간만큼 추가적으로 실행시킨 후에 서스펜드 커맨드를 실행시킴으로써, 서스펜드 커맨드로 인해 노말 커맨드의 실행이 계속 지연되는 현상을 방지할 수 있다. When the suspend command is to be executed, the present invention can prevent the execution of the normal command from being delayed by the suspend command by executing the suspend command after additionally executing the already executed normal command for a predetermined operation time .

도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 메모리 컨트롤러를 구체적으로 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 메모리 인터페이스를 구체적으로 설명하기 위한 도면이다.
도 4는 도 3의 커맨드 큐 제어부를 구체적으로 설명하기 위한 도면이다.
도 5는 도 3의 커맨드 시간 제어부를 구체적으로 설명하기 위한 도면이다.
도 6 및 도 7은 도 3의 커맨드 시간 테이블의 실시예들을 설명하기 위한 도면들이다.
도 8은 본 발명의 실시예에 따라 노말 커맨드를 실행시키는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따라 서스펜드 커맨드를 실행시키는 방법을 설명하기 위한 도면이다.
도 10은 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 11은 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 12는 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 13은 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
1 is a diagram for explaining a memory system according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining the memory controller of FIG. 1 in detail.
3 is a diagram for explaining a memory interface according to an embodiment of the present invention.
FIG. 4 is a diagram for explaining the command queue control unit of FIG. 3 in detail.
FIG. 5 is a diagram for specifically explaining the command time control unit of FIG. 3; FIG.
Figs. 6 and 7 are diagrams for explaining embodiments of the command time table of Fig.
8 is a diagram for explaining a method of executing a normal command according to an embodiment of the present invention.
9 is a diagram for explaining a method of executing a suspend command according to an embodiment of the present invention.
FIG. 10 is a diagram for explaining another embodiment of a memory system including the memory controller and the memory device shown in FIG. 2. FIG.
11 is a diagram for explaining another embodiment of a memory system including the memory controller and the memory device shown in Fig.
12 is a diagram for explaining another embodiment of the memory system including the memory controller and the memory device shown in FIG.
13 is a diagram for explaining another embodiment of the memory system including the memory controller and the memory device shown in Fig.

본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and how to accomplish it, will be described with reference to the embodiments described in detail below with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. The embodiments are provided so that those skilled in the art can easily carry out the technical idea of the present invention to those skilled in the art.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "indirectly connected" . Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a memory system according to an embodiment of the present invention.

도 1을 참조하면, 메모리 시스템(Memory System; 1000)은 데이터가 저장되는 메모리 장치(Memory Device; 1100)와, 호스트(Host; 2000)의 제어에 따라 메모리 장치(1100)를 제어하는 메모리 컨트롤러(Memory Controller; 1200)를 포함할 수 있다. 1, a memory system 1000 includes a memory device 1100 for storing data, a memory controller 1100 for controlling the memory device 1100 under the control of a host 2000, A memory controller 1200, and the like.

호스트(2000)는 PCI-E(Peripheral Component Interconnect - Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜을 사용하여 메모리 시스템(1000)과 통신할 수 있다. 또한 호스트(2000)와 메모리 시스템(1000) 간의 인터페이스 프로토콜들은 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 인터페이스 프로토콜들이 더 포함될 수 있다. The host 2000 may be connected to the memory 2000 using an interface protocol such as Peripheral Component Interconnect-Express (PCI-E), Advanced Technology Attachment (ATA), Serial ATA (SATA), Parallel ATA (PATA) And can communicate with the system 1000. In addition, the interface protocols between the host 2000 and the memory system 1000 are not limited to the above-described examples. For example, USB (Universal Serial Bus), Multi-Media Card (MMC), Enhanced Small Disk Interface (ESDI) Drive Electronics) may be further included.

메모리 컨트롤러(1200)는 메모리 시스템(1000)의 동작을 전반적으로 제어하며, 호스트(2000)와 메모리 장치(1100) 사이의 데이터 교환을 제어할 수 있다. 예를 들면, 메모리 컨트롤러(1200)는 호스트(2000)와 메모리 장치(1100) 사이에서 커맨드(command; CMD), 어드레스(address) 및 데이터(data)가 통신될 수 있도록 수신된 정보를 변환하고 및 변환된 정보를 저장 및 출력할 수 있다. 예를 들면, 메모리 컨트롤러(1200)는 프로그램, 리드 또는 소거 동작이 수행되도록 메모리 장치(1100)를 제어할 수 있다. 실시예에 따라, 메모리 장치(1100)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR4(Low Power Double Data Rate4) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, LPDDR(Low Power DDR), RDRAM(Rambus Dynamic Random Access Memory) 또는 플래시 메모리(FLASH Memory)를 포함할 수 있다. The memory controller 1200 controls the overall operation of the memory system 1000 and can control the exchange of data between the host 2000 and the memory device 1100. For example, the memory controller 1200 may convert received information so that a command CMD, an address, and data may be communicated between the host 2000 and the memory device 1100, The converted information can be stored and output. For example, the memory controller 1200 may control the memory device 1100 to perform a program, read, or erase operation. According to an embodiment, the memory device 1100 may be a DDR SDRAM, a Low Power Double Data Rate (SDRAM) SDRAM, a GDDR (Graphics Double Data Rate) SDRAM, a LPDDR (Low Power DDR) A Rambus Dynamic Random Access Memory (RDRAM) or a FLASH memory.

메모리 컨트롤러(1200)는 일반적으로 실행되는 노말 커맨드(normal command)를 커맨드 큐에 따라 순차적으로 실행시킬 수 있다. 또한, 메모리 컨트롤러(1200)는 서스펜드 커맨드(suspend command)를 사용하여 노말 커맨드보다 우선 적으로 특정 동작이 수행되도록 메모리 장치(1100)를 제어할 수 있다. 본 실시예에 따른 메모리 컨트롤러(1200)는 노말 커맨드들 각각에 추가 동작 시간을 부여하고, 서스펜드 커맨드를 실행할 때 노말 커맨드들에 대응되는 동작이 추가 동작 시간 동안 더 수행되도록 커맨드를 제어할 수 있다. The memory controller 1200 can sequentially execute the normally executed normal command according to the command queue. In addition, the memory controller 1200 may use the suspend command to control the memory device 1100 to perform certain operations prior to the normal command. The memory controller 1200 according to the present embodiment can give an additional operation time to each of the normal commands and control the command so that the operation corresponding to the normal commands is further performed during the additional operation time when executing the suspend command.

도 2는 도 1의 메모리 컨트롤러를 구체적으로 설명하기 위한 도면이다. FIG. 2 is a diagram for explaining the memory controller of FIG. 1 in detail.

도 2를 참조하면, 메모리 컨트롤러(1200)는 호스트(2000)와 메모리 장치(1100) 사이의 통신을 제어하기 위하여 버퍼 메모리(BUFFER MEMORY; 1210), 중앙 처리 장치(central processing unit; CPU; 1220), 내부 메모리(INTERNAL MEMORY; 1230), 호스트 인터페이스(HOST INTERFACE; 1240), 에러 정정 회로(Error Correction Circuit; ECC; 1250) 및 모리 인터페이스(MEMORY INTERFACE; 1260)를 포함할 수 있다. 버퍼 메모리(1210), 중앙 처리 장치(1220), 내부 메모리(1230), 호스트 인터페이스(1240), 에러 정정 회로(1250) 및 메모리 인터페이스(1260)는 버스(bus; 1270)를 통해 서로 통신할 수 있으며, 메모리 인터페이스(1260)는 채널(channel; 1280)을 통해 메모리 장치(1100)와 통신할 수 있다. 2, the memory controller 1200 includes a buffer memory 1210, a central processing unit (CPU) 1220, and a buffer memory 1210 to control communication between the host 2000 and the memory device 1100. [ An internal memory 1230, a host interface 1240, an error correction circuit (ECC) 1250, and a memory interface 1260. The internal memory 1230 may be a memory, The buffer memory 1210, the central processing unit 1220, the internal memory 1230, the host interface 1240, the error correction circuit 1250 and the memory interface 1260 can communicate with each other via a bus 1270 And the memory interface 1260 may communicate with the memory device 1100 via a channel 1280.

버퍼 메모리(1210)는 메모리 컨트롤러(1200)와 메모리 장치(1100) 사이에서 송수신되는 데이터를 임시로 저장할 수 있다. 예를 들면, 프로그램 동작 시, 프로그램될 데이터는 메모리 장치(1100)에 전송되기 이전에 버퍼 메모리(1210)에 임시로 저장될 수 있으며, 이때 저장된 데이터를 메모리 장치(1100)에서 프로그램 동작이 페일된 경우 재 사용될 수 있다. 또한, 리드 동작 시, 메모리 장치(1100)로부터 리드된 데이터를 버퍼 메모리(1210)에 임시로 저장될 수 있다. 예를 들면, 리드 동작 시 버퍼 메모리(1210)에 정해진 용량의 리드된 데이터가 임시로 저장되면, 리드된 데이터는 호스트 인터페이스(1240)를 통해 호스트(2000)로 출력될 수 있다. The buffer memory 1210 may temporarily store data transmitted and received between the memory controller 1200 and the memory device 1100. For example, during program operation, the data to be programmed may be temporarily stored in the buffer memory 1210 before being transmitted to the memory device 1100, where the stored data is stored in the memory device 1100, Can be reused. Further, at the time of the read operation, the data read from the memory device 1100 can be temporarily stored in the buffer memory 1210. For example, when the read data of the predetermined capacity is temporarily stored in the buffer memory 1210 during the read operation, the read data may be output to the host 2000 through the host interface 1240.

중앙 처리 장치(1220)는 메모리 장치(1100)를 제어하기 위한 각종 연산을 수행하거나 펌웨어(firmware)를 수행할 수 있다. 또한, 중앙 처리 장치(1220)는 호스트(2000)로부터 수신된 노말 요청들(normal requests)에 응답하여 노말 커맨드(normal command)를 생성하거나, 서스펜드 요청(suspend request)에 응답하여 서스펜드 커맨드(suspend command)를 생성할 수 있다. The central processing unit 1220 may perform various operations for controlling the memory device 1100 or may perform firmware. The central processing unit 1220 also generates a normal command in response to normal requests received from the host 2000 or generates a suspend command in response to a suspend request, Can be generated.

내부 메모리(1230)는 메모리 컨트롤러(1200)의 동작에 필요한 다양한 시스템 정보들을 저장할 수 있는 저장 장치(storage device)로 사용될 수 있다. 예를 들면, 내부 메모리(1230)는 SRAM으로 구현될 수 있다. 내부 메모리(1230)는 메모리 시스템(1000)의 동작에 필요한 다양한 시스템 정보가 저장된 테이블을 포함할 수 있다. The internal memory 1230 may be used as a storage device capable of storing various system information necessary for the operation of the memory controller 1200. For example, the internal memory 1230 may be implemented as an SRAM. The internal memory 1230 may include a table in which various system information necessary for operation of the memory system 1000 is stored.

호스트 인터페이스(1240)는 중앙 처리 장치(1220)의 제어에 따라 메모리 시스템(1000)과 접속되는 외부의 호스트(2000)와 통신하도록 구성될 수 있다. 예를 들면, 호스트 인터페이스(1240)는 호스트(2000)로부터 기입 커맨드(write command), 데이터 및 기입 커맨드에 대응하는 논리 어드레스(logical address)를 수신할 수 있다. 또한 호스트 인터페이스(1240)는 호스트(2000)로부터 리드 커맨드(read command) 및 리드 커맨드에 대응하는 논리 어드레스(logical address)를 수신할 수 있다.The host interface 1240 may be configured to communicate with an external host 2000 connected to the memory system 1000 under the control of the central processing unit 1220. [ For example, the host interface 1240 may receive a write command, data, and a logical address corresponding to the write command from the host 2000. [ The host interface 1240 can also receive a read command and a logical address corresponding to the read command from the host 2000. [

에러 정정 회로(1250)는 메모리 장치(1100)로부터 리드된 데이터에 포함되어 있는 에러를 검출하거나 정정할 수 있다. 예를 들면, 에러 정정 회로(1250)는 메모리 인터페이스(1260)를 통해 메모리 장치(1100)에 기입될 데이터에 기반하여 에러 정정 인코딩(ECC encoding) 동작을 수행할 수 있다. 에러 정정 인코딩 동작이 수행된 데이터는 메모리 인터페이스(1260)를 통해 메모리 장치(1100)로 전달될 수 있다. 또한, 에러 정정 회로(1250)는 메모리 인터페이스(1260)를 통해 메모리 장치(1100)로부터 수신되는 데이터에 대해 에러 정정 디코딩(ECC decoding)을 수행할 수 있다. 에러 정정 회로(1250)는 보즈-초두리-오켄젬 코드(BCH code) 또는 저밀도 패리티 체크 코드(LDPC code)에 기초하여 에러 정정 동작을 수행할 수 있다. The error correction circuit 1250 can detect or correct an error included in the data read from the memory device 1100. [ For example, the error correction circuit 1250 may perform an error correction encoding (ECC encoding) operation based on data to be written to the memory device 1100 via the memory interface 1260. The data on which the error correction encoding operation has been performed can be transferred to the memory device 1100 through the memory interface 1260. [ The error correction circuit 1250 may also perform error correction decoding (ECC decoding) on data received from the memory device 1100 via the memory interface 1260. The error correction circuit 1250 can perform an error correction operation based on a Bose-Choduria-Okenzem code (BCH code) or a low density parity check code (LDPC code).

메모리 인터페이스(1260)는 중앙 처리 장치(1220)의 제어에 따라 메모리 장치(1100)와 통신하도록 구성될 수 있다. 본 실시예에서는, 메모리 인터페이스(1260)는 중앙 처리 장치(1220)로부터 수신된 커맨드들(commands), 예를 들면 노말 커맨드들을 큐잉(queueing)할 수 있다. 또한, 메모리 인터페이스(1260)는 노말 커맨드들 각각에 대하여 추가 동작 시간을 설정할 수 있다. 추가 동작 시간은 서스펜드 커맨드가 수신되더라도 노말 커맨드의 실행 시간을 일정시간 동안 보장하기 위하여 설정될 수 있다. The memory interface 1260 may be configured to communicate with the memory device 1100 under the control of the central processing unit 1220. In this embodiment, the memory interface 1260 may queue commands, e.g., normal commands, received from the central processing unit 1220. In addition, the memory interface 1260 may set an additional operation time for each of the normal commands. The additional operation time may be set to ensure the execution time of the normal command for a predetermined time even if the suspend command is received.

도 3은 본 발명의 실시예에 따른 메모리 인터페이스를 구체적으로 설명하기 위한 도면이다. 3 is a diagram for explaining a memory interface according to an embodiment of the present invention.

도 3을 참조하면, 메모리 인터페이스(1260)는 커맨드 큐 제어부(CMD Queue Controller; 61), 커맨드 시간 제어부(CMD Time Controller; 62), 커맨드 시간 테이블(CMD Time Table; 63) 및 입출력 인터페이스(I/O Interface; 64)를 포함할 수 있다. 3, the memory interface 1260 includes a CMD Queue Controller 61, a CMD Time Controller 62, a CMD Time Table 63, and an I / O Interface 64).

커맨드 큐 제어부(61)는 버스(1270)를 통해 노말 커맨드 또는 서스펜드 커맨드를 수신할 수 있다. 커맨드 큐 제어부(61)는 다수의 노말 커맨드들을 순차적으로 수신하고, 실행 순서에 따라 노말 커맨드들을 큐잉(queueing)할 수 있다. 커맨드 큐 제어부(61)는 큐잉된 노말 커맨드들을 커맨드 시간 제어부(62)로 순차적으로 출력할 수 있다. 또한, 커맨드 큐 제어부(61)는 서스펜드 커맨드가 수신되면, 노말 커맨드들의 큐잉 순서에 관계 없이 서스펜드 커맨드를 커맨드 시간 테이블(63)로 즉시 출력할 수 있다. The command queue control unit 61 can receive a normal command or a suspend command via the bus 1270. [ The command queue control unit 61 sequentially receives a plurality of normal commands and queues the normal commands according to the execution order. The command queue control unit 61 can sequentially output the queued normal commands to the command time control unit 62. [ Further, when the suspend command is received, the command queue control section 61 can immediately output the suspend command to the command time table 63 irrespective of the queuing order of the normal commands.

커맨드 시간 제어부(62)는 커맨드 큐 제어부(61)로부터 수신된 노말 커맨드들 각각에 추가 동작 시간을 부여하고, 노말 커맨드들과 추가 동작 시간이 포함된 정보를 커맨드 시간 테이블(63)로 전송할 수 있다. 이하에서 상기 정보는 ‘커맨드 및 시간 정보’로 칭하기로 한다. The command time control section 62 can give an additional operation time to each of the normal commands received from the command queue control section 61 and transmit information including the normal commands and the additional operation time to the command time table 63 . Hereinafter, the information will be referred to as 'command and time information'.

커맨드 시간 테이블(63)은 커맨드 시간 제어부(62)로부터 커맨드 및 시간 정보를 수신받고, 노말 커맨드에 매칭되는 추가 동작 시간을 각각 저장할 수 있다. 커맨드 시간 테이블(63)은 노말 커맨드에 대한 커맨드 및 시간 정보를 저장한 후 커맨드 큐 제어부(61)에 종료 신호를 출력할 수 있다. 또한, 커맨드 시간 테이블(63)은 커맨드 큐 제어부(61)로부터 서스펜드 커맨드를 수신하면, 테이블에 저장된 커맨드 및 시간 정보에 따라 추가 동작 시간이 지난 후에 커맨드 큐 제어부(61)에 종료 신호를 출력할 수 있다. The command time table 63 can receive command and time information from the command time control unit 62 and store the additional operation time matched to the normal command, respectively. The command time table 63 may store the command and time information for the normal command and then output the end signal to the command queue control unit 61. [ The command time table 63 can also output a termination signal to the command queue control unit 61 after an additional operation time has elapsed according to the command and time information stored in the table upon receiving the suspend command from the command queue control unit 61 have.

종료 신호가 커맨드 큐 제어부(61)에 입력되면, 커맨드 큐 제어부(61)는 종료 신호에 대응되는 노말 커맨드 또는 서스펜드 커맨드를 입출력 인터페이스(64)로 전송할 수 있다. 예를 들면, 커맨드 큐 제어부(61)는 종료 신호가 수신될 때마다 노말 커맨드를 입출력 인터페이스(64)에 순차적으로 출력하거나, 서스펜드 커맨드를 입출력 인터페이스(64)에 출력할 수 있다. When the end signal is input to the command queue control unit 61, the command queue control unit 61 can transmit the normal command or the suspend command corresponding to the end signal to the input / output interface 64. [ For example, the command queue control section 61 can sequentially output the normal command to the input / output interface 64 or output the suspend command to the input / output interface 64 whenever the end signal is received.

커맨드 시간 테이블(63)에 저장된 추가 동작 시간과 이에 매칭된 노말 커맨드는, 메모리 장치(1100)에서 노말 커맨드에 대한 동작이 종료되면 삭제될 수 있다. The additional operation time stored in the command time table 63 and the corresponding normal command may be deleted when the operation on the normal command in the memory device 1100 is completed.

입출력 인터페이스(64)는 커맨드 큐 제어부(61)로부터 노말 커맨드 또는 서스펜드 커맨드를 수신하면, 채널(1280)을 통해 노말 커맨드 또는 서스펜드 커맨드를 출력할 수 있다. Upon receiving the normal command or the suspend command from the command queue control unit 61, the input / output interface 64 can output a normal command or a suspend command via the channel 1280. [

채널(1280)을 통해 노말 커맨드 또는 서스펜드 커맨드를 수신한 메모리 장치는 해당 커맨드를 실행할 수 있다. The memory device receiving the normal command or the suspend command through the channel 1280 can execute the corresponding command.

상술한 메모리 인터페이스(1260)의 구성들을 보다 상세히 설명하면 다음과 같다. The configuration of the memory interface 1260 will be described in more detail as follows.

도 4는 도 3의 커맨드 큐 제어부를 구체적으로 설명하기 위한 도면이다. FIG. 4 is a diagram for explaining the command queue control unit of FIG. 3 in detail.

도 4를 참조하면, 커맨드 큐 제어부(61)는 버스(도 3의 1270)를 통해 수신된 노말 커맨드들(1N_CMD~aN_CMD; a는 양의 정수)의 큐(queue)를 관리할 수 있다. 예를 들면, 버스(1270)를 통해 수신된 제1 내지 제a 노말 커맨드들(1N_CMD~aN_CMD)을 순서에 따라 순차적으로 출력할 수 있다(T41). Referring to FIG. 4, the command queue control unit 61 may manage a queue of normal commands (1N_CMD through aN_CMD; a is a positive integer) received via a bus (1270 in FIG. 3). For example, the first through the a-th normal commands 1N_CMD through aN_CMD received via the bus 1270 may be sequentially output in order (T41).

제1 내지 제a 노말 커맨드들(1N_CMD~aN_CMD)이 순차적으로 출력될 때, 중요도가 높은 서스펜드 커맨드(S_CMD)가 수신되면, 커맨드 큐 제어부(61)는 다음 순번의 노말 커맨드를 출력하지 않고 서스펜드 커맨드(S_CMD)를 우선적으로 출력할 수 있다(T42). 예를 들면, 버스(1270)를 통해 수신된 노말 커맨드는 커맨드 시간 제어부(도 3의 62)로 출력되며, 종료 신호가 수신되면 커맨드 시간 제어부(62)에 출력된 동일한 노말 커맨드는 입출력 인터페이스(도 3의 64)로 출력될 수 있다. 또한, 버스(1270)를 통해 서스펜드 커맨드(S_CMD)가 수신되면, 커맨드 큐 제어부(61)는 서스펜드 커맨드(S_CMD)를 커맨드 시간 제어부(62)가 아닌 커맨드 시간 테이블(도 3의 63)로 출력할 수 있다. 서스펜드 커맨드(S_CMD)가 커맨드 시간 테이블(63)에 출력된 이후에 종료 신호가 수신되면, 커맨드 큐 제어부(61)는 서스펜드 커맨드(S_CMD)를 입출력 인터페이스(64)로 출력할 수 있다. When the first to the a-th normal commands 1N_CMD to aN_CMD are sequentially output, when the suspend command S_CMD having a high degree of importance is received, the command queue control unit 61 outputs the suspend command (S_CMD) can be preferentially output (T42). For example, the normal command received through the bus 1270 is output to the command time control section (62 of FIG. 3). When the end signal is received, the same northern command output to the command time control section 62 is input / 3, < / RTI > 64). When the suspend command S_CMD is received via the bus 1270, the command queue control unit 61 outputs the suspend command S_CMD to the command time table (63 in FIG. 3) instead of the command time control unit 62 . The command queue control unit 61 can output the suspend command S_CMD to the input / output interface 64 when the end signal is received after the suspend command S_CMD is output to the command time table 63. [

도 5는 도 3의 커맨드 시간 제어부를 구체적으로 설명하기 위한 도면이다. FIG. 5 is a diagram for specifically explaining the command time control unit of FIG. 3; FIG.

도 5를 참조하면, 커맨드 시간 제어부(62)는 커맨드 큐 제어부(도 3의 61)로부터 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD)이 수신되면, 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD) 각각에 추가 동작 시간(1Min_T ~ aMin_T)을 부여할 수 있다. 추가 동작 시간(1Min_T ~ aMin_T)은 서스펜드 커맨드가 수신될 때, 현재 실행 중인 노말 커맨드가 추가적으로 실행되는 시간을 의미한다. 5, when the first to the a-th normal commands 1N_CMD to aN_CMD are received from the command queue control unit 61 (FIG. 3), the command time control unit 62 outputs the first to the a-th normal commands 1N_CMD (1Min_T to aMin_T) can be given to each of the sub-fields a1 to aN_CMD. The additional operation time (1Min_T to aMin_T) means a time at which the currently executed normal command is additionally executed when the suspend command is received.

예를 들면, 커맨드 시간 제어부(62)는 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD)에 제1 내지 제a 추가 동작 시간(1Min_T ~ aMin_T)을 각각 부여하고, 추가 동작 시간(1Min_T ~ aMin_T)이 부여된 커맨드 및 시간 정보(1N_CMD+1Min_T ~ aN_CMD+aMin_CMD)를 순차적으로 출력할 수 있다. 즉, 노말 커맨드들(1N_CMD~aN_CMD) 각각에 부여되는 추가 동작 시간은 노말 커맨드가 메모리 장치에서 실행 중일 때 서스펜드 커맨드(S_CMD)가 수신되면, 실행중인 노말 커맨드가 즉시 중단되지 않고 설정된 추가 동작 시간만큼 더 실행되도록 하는 데 사용될 수 있다. For example, the command time control unit 62 gives the first to the a-th additional operation times (1Min_T to aMin_T) to the first to the a-th normal commands 1N_CMD to aN_CMD respectively, and the additional operation time 1Min_T to aMin_T (1N_CMD + 1Min_T to aN_CMD + aMin_CMD) to which the command and time information (1N_CMD + 1Min_T to aN_CMD + aMin_CMD) That is, the additional operation time given to each of the normal commands 1N_CMD to aN_CMD is set such that when the suspend command S_CMD is received when the normal command is being executed in the memory device, the executing normal command is not immediately stopped, Can be used to further execute.

추가 동작 시간(1Min_T ~ aMin_T)은 메모리 시스템(1000)에 따라 다르게 설정될 수 있다. 예를 들면, 추가 동작 시간(1Min_T ~ aMin_T)은 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD) 각각에 모두 동일한 시간으로 설정되거나, 서로 다른 시간으로 설정될 수 있다. 예를 들면, 추가 동작 시간(1Min_T ~ aMin_T)은 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD)의 특성에 따라 각각 설정될 수 있다. 예를 들면, 추가 동작 시간(1Min_T ~ aMin_T)은 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD)의 중요도에 따라 다르게 설정될 수 있다. 예를 들면, 추가 동작 시간(1Min_T ~ aMin_T)은 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD)에 따라 일부 노말 커맨드들에 설정되고 나머지 노말 커맨드들에는 설정되지 않을 수도 있다. 상술한 제1 내지 제a 노말 커맨드들(1N_CMD ~ aN_CMD)의 특성 또는 중요도는 메모리 시스템(1000)에 따라 다를 수 있다. The additional operation time (1Min_T to aMin_T) may be set differently according to the memory system 1000. For example, the additional operation time (1Min_T to aMin_T) may be set to the same time in each of the first to the a-th normal commands (1N_CMD to aN_CMD), or may be set to different times. For example, the additional operation time (1Min_T to aMin_T) may be set according to the characteristics of the first to the a-th normal commands (1N_CMD to aN_CMD), respectively. For example, the additional operation time (1Min_T to aMin_T) may be set differently depending on the importance of the first to the a-th normal commands (1N_CMD to aN_CMD). For example, the additional operation time (1Min_T to aMin_T) may be set to some normal commands according to the first to the a-th normal commands (1N_CMD to aN_CMD) and not to the rest of the normal commands. The characteristics or importance of the above-mentioned first to the a-th normal commands 1N_CMD to aN_CMD may vary depending on the memory system 1000.

도 6 및 도 7은 도 3의 커맨드 시간 테이블(63)의 실시예들을 설명하기 위한 도면들이다. 도 6은 일 실시예에 따른 커맨드 시간 테이블(63a)을 설명하기 위한 도면이고, 도 7은 다른 실시예에 따른 커맨드 시간 테이블(63b)을 설명하기 위한 도면이다. Figs. 6 and 7 are diagrams for explaining embodiments of the command time table 63 of Fig. FIG. 6 is a diagram for explaining a command time table 63a according to an embodiment, and FIG. 7 is a diagram for explaining a command time table 63b according to another embodiment.

도 6을 참조하면, 커맨드 시간 테이블(63a)은 정보 테이블(31a)과 종료 신호 출력부(E_SG Generator; 32)를 포함할 수 있다. Referring to FIG. 6, the command time table 63a may include an information table 31a and an end signal output unit (E_SG Generator) 32.

정보 테이블(31a)에는 커맨드(CMD) 정보 및 시간(Time) 정보가 서로 매칭된 데이터가 저장될 수 있다. 예를 들면, 정보 테이블(31a)에는 제1 노말 커맨드(1N_CMD)와 제1 추가 동작 시간(1Min_T)이 서로 매칭된 데이터가 저장될 수 있고, 제2 노말 커맨드(2N_CMD)와 제2 추가 동작 시간(2Min_T)이 서로 매칭된 데이터가 저장될 수 있으며, 이러한 방식으로 제a 노말 커맨드(aN_CMD)와 제a 추가 동작 시간(aMin_T)이 서로 매칭된 데이터가 저장될 수 있다. Data in which the command (CMD) information and time (Time) information are matched with each other can be stored in the information table 31a. For example, in the information table 31a, data in which the first normal command 1N_CMD and the first additional operation time 1Min_T match each other can be stored, and the second normal command 2N_CMD and the second additional operation time (2Min_T) are matched with each other, and data in which the a-th normal command (aN_CMD) and the a-th additional operation time (aMin_T) match each other can be stored.

종료 신호 출력부(32)는 커맨드 시간 테이블(63a)에 입력된 정보가 정보 테이블(31a)에 저장되면, 테이블에 정보가 저장되었음을 알리기 위한 종료 신호(end signal)를 출력할 수 있다. The end signal output unit 32 may output an end signal indicating that information is stored in the table when the information input to the command time table 63a is stored in the information table 31a.

도 7을 참조하면, 커맨드 시간 테이블(63b)은 정보 테이블(31b)과 종료 신호 출력부(E_SG Generator; 32)를 포함할 수 있다. 도 7의 실시예에 따른 커맨드 시간 테이블(63b)은 도 6의 정보 테이블(31a)에 저장되는 정보에 차이가 있으며, 나머지 구성은 도 6의 커맨드 시간 테이블(63a)과 유사하다. Referring to FIG. 7, the command time table 63b may include an information table 31b and an end signal output unit (E_SG Generator) 32. The command time table 63b according to the embodiment of FIG. 7 is different from the information stored in the information table 31a of FIG. 6, and the remaining configuration is similar to the command time table 63a of FIG.

도 7의 커맨드 시간 테이블(63b)에는 다이(DIE) 정보, 커맨드(CMD) 정보 및 시간(Time) 정보가 서로 매칭된 데이터가 저장될 수 있다. 예를 들면, 메모리 컨트롤러(도 2의 1200)가 제어하는 메모리 장치(도 2의 1100)가 다수인 경우, 메모리 인터페이스(도 2의 1260)에는 다수의 채널들(도 2의 1280)이 연결될 수 있고, 채널들(1280) 각각에는 다수의 메모리 장치(1100)들이 연결될 수 있다. 각각의 메모리 장치(1100)들을 다이(DIE)라고 한다면, 각각의 다이(DIE)에서 실행중인 커맨드(CMD)도 다양할 수 있다. Data in which die DIE information, command CMD information, and time information match each other may be stored in the command time table 63b of FIG. 2) may be connected to the memory interface (1260 of FIG. 2) if, for example, the memory device (1200 of FIG. 2) And a plurality of memory devices 1100 may be connected to each of the channels 1280. [ If each memory device 1100 is a die DIE, then the command CMD running on each die DIE may vary.

따라서, 이러한 구조로 이루어진 메모리 시스템(1000)에서는 커맨드 시간 테이블(63b)에 다이(DIE)의 정보가 저장될 수 있다. 예를 들면, 정보 테이블(31b)에는 제1 다이(1DIE), 제1 노말 커맨드(1N_CMD) 및 제1 추가 동작 시간(1Min_T)이 서로 매칭된 데이터가 저장될 수 있다. 즉, 제1 다이(1DIE)에서 실행중인 커맨드(CMD)가 제1 노말 커맨드(1N_CMD)인 경우, 제1 노말 커맨드(1N_CMD)에는 제1 추가 동작 시간(1Min_T)이 부여되어 저장될 수 있다. 이 경우, 제1 다이(1DIE)에 대한 서스펜드 커맨드가 수신되면, 제1 노말 커맨드(1N_CMD)는 즉시 종료되지 않고, 제1 추가 동작 시간(1Min_T)만큼 더 실행된 후에 종료될 수 있다. 이러한 방식으로 제a 다이(aDIE)에서 실행중인 커맨드(CMD)가 제a 노말 커맨드(aN_CMD)인 경우, 제a 노말 커맨드(aN_CMD)에는 제a 추가 동작 시간(aN_CMD)이 부여되어 저장될 수 있다. Therefore, in the memory system 1000 having such a structure, the information of die DIE can be stored in the command time table 63b. For example, in the information table 31b, data in which the first die 1DIE, the first normal command 1N_CMD, and the first additional operation time 1Min_T match each other can be stored. That is, when the command CMD being executed in the first die 1DIE is the first normal command 1N_CMD, the first normal operation 1N_CMD may be given a first additional operation time 1Min_T and stored. In this case, when the suspend command for the first die 1DIE is received, the first normal command 1N_CMD does not immediately terminate, but can be terminated after being further executed for the first additional operation time 1Min_T. In this manner, when the command CMD being executed in the a-th die aDIE is the a-th normal command aN_CMD, the a-th additional command aN_CMD can be given and added to the a-th additional operation time aN_CMD .

종료 신호 출력부(32)는 커맨드 시간 테이블(63b)에 입력된 정보가 정보 테이블(31b)에 저장되면, 테이블에 정보가 저장되었음을 알리기 위한 종료 신호(end signal)를 출력할 수 있다. The end signal output unit 32 may output an end signal for informing that information is stored in the table when the information input to the command time table 63b is stored in the information table 31b.

도 8은 본 발명의 실시예에 따라 노말 커맨드를 실행시키는 방법을 설명하기 위한 도면이다. 8 is a diagram for explaining a method of executing a normal command according to an embodiment of the present invention.

도 8을 참조하면, 버스(1270)를 통해 제1 노말 커맨드(1N_CMD)가 메모리 인터페이스(1260)에 입력되면, 커맨드 큐 제어부(61)는 제1 노말 커맨드(1N_CMD)를 내부에 임시로 저장할 수 있다. 이어서, 커맨드 큐 제어부(61)는 제1 노말 커맨드(1N_CMD)를 커맨드 시간 제어부(62)로 전송할 수 있다. 8, when the first normal command 1N_CMD is input to the memory interface 1260 via the bus 1270, the command queue control unit 61 can temporarily store the first normal command 1N_CMD therein have. Then, the command queue control section 61 can transmit the first normal command 1N_CMD to the command time control section 62. [

커맨드 시간 제어부(62)는 제1 노말 커맨드(1N_CMD)에 제1 추가 동작 시간(1Min_T)을 부여하고, 제1 노말 커맨드(1N_CMD)에 대한 제1 커맨드 및 시간 정보(1N_CMD+1Min_T)를 출력할 수 있다. The command time control section 62 gives the first additional operation time 1Min_T to the first normal command 1N_CMD and outputs the first command and the time information 1N_CMD + 1Min_T for the first normal command 1N_CMD .

커맨드 시간 제어부(62)에서 출력된 제1 커맨드 및 시간 정보(1N_CMD+1Min_T)는 커맨드 시간 테이블(63)에 입력될 수 있다. 제1 커맨드 및 시간 정보(1N_CMD+1Min_T)가 커맨드 시간 테이블(63)에 저장되면 커맨드 시간 테이블(63)은 종료 신호(E_SG)를 커맨드 큐 제어부(61)로 출력할 수 있다. The first command and the time information (1N_CMD + 1Min_T) output from the command time control unit 62 can be input to the command time table 63. [ When the first command and the time information 1N_CMD + 1Min_T are stored in the command time table 63, the command time table 63 can output the end signal E_SG to the command queue control unit 61. [

커맨드 큐 제어부(61)는 종료 신호(E_SG)가 수신되면, 임시로 저장된 제1 노말 커맨드(aN_CMD)를 입출력 인터페이스(64)로 전송할 수 있다. The command queue control unit 61 can transmit the temporarily stored first normal command aN_CMD to the input / output interface 64 when the end signal E_SG is received.

입출력 인터페이스(64)는 커맨드 큐 제어부(61)로부터 수신한 제1 노말 커맨드(aN_CMD)를 채널(1280)을 통해 메모리 장치(도 2의 1100)로 전송할 수 있다. The input / output interface 64 can transmit the first normal command aN_CMD received from the command queue control unit 61 to the memory device (1100 in Fig. 2) via the channel 1280. [

메모리 장치(1100)는 채널(1280)을 통해 제1 노말 커맨드(1N_CMD)가 수신되면, 제1 노말 커맨드(1N_CMD)를 실행할 수 있다. The memory device 1100 may execute the first normal command 1N_CMD when the first normal command 1N_CMD is received via the channel 1280. [

메모리 장치(1100)가 제1 노말 커맨드(1N_CMD)를 실행하는 동안 서스펜드 커맨드가 발생한 경우, 서프센드 커맨드는 다음과 같은 순서에 따라 실행될 수 있다. If the suspend command occurs while the memory device 1100 executes the first normal command 1N_CMD, the surge-send command can be executed in the following order.

도 9는 본 발명의 실시예에 따라 서스펜드 커맨드를 실행시키는 방법을 설명하기 위한 도면이다. 9 is a diagram for explaining a method of executing a suspend command according to an embodiment of the present invention.

도 9를 참조하면, 버스(1270)를 통해 서스펜드 커맨드(S_CMD)가 메모리 인터페이스(1260)에 입력되면, 커맨드 큐 제어부(61)는 서스펜드 커맨드(S_CMD)를 내부에 임시로 저장할 수 있다. 이어서, 커맨드 큐 제어부(61)는 서스펜드 커맨드(S_CMD)를 커맨드 시간 테이블(63)로 전송할 수 있다.9, when the suspend command S_CMD is input to the memory interface 1260 via the bus 1270, the command queue control unit 61 may temporarily store the suspend command S_CMD therein. Subsequently, the command queue control unit 61 can transmit the suspend command S_CMD to the command time table 63. [

서스펜드 커맨드(S_CMD)가 커맨드 시간 테이블(63)에 입력되면, 커맨드 시간 테이블(63)은 메모리 장치(1100)가 현재 실행중인 노말 커맨드를 찾고, 찾아진 노말 커맨드 정보에 매칭된 추가 동작 시간이 있는지를 판단할 수 있다. When the suspend command S_CMD is input to the command time table 63, the command time table 63 is a table in which the memory device 1100 searches for the currently executed normal command, determines whether there is an additional operation time matched to the found normal command information Can be determined.

추가 동작 시간에 대한 정보가 없으면, 커맨드 시간 테이블(63)은 즉시 종료 신호(E_SG)를 출력할 수 있다. 만약, 추가 동작 시간에 대한 정보가 있으면, 커맨드 시간 테이블(63)은 해당 추가 동작 시간만큼 지연된 시간 후에 종료 신호(E_SG)를 출력할 수 있다. 예를 들면, 메모리 장치(1100)가 제1 노말 커맨드(1N_CMD)를 실행 중이고, 제1 노말 커맨드(1N_CMD)에 제1 추가 동작 시간(1Min_T)이 매칭된 경우, 커맨드 시간 테이블(63)은 제1 추가 동작 시간(1Min_T)이 지난 후에 종료 신호(E_SG)를 출력할 수 있다. If there is no information on the additional operation time, the command time table 63 can immediately output the end signal E_SG. If there is information on the additional operation time, the command time table 63 can output the end signal E_SG after a delay time corresponding to the additional operation time. For example, when the memory apparatus 1100 is executing the first normal command 1N_CMD and the first additional operation time 1Min_T is matched with the first normal command 1N_CMD, It is possible to output the end signal E_SG after one additional operation time (1Min_T) has elapsed.

이에 따라, 메모리 장치(1100)는 서스펜드 커맨드(S_CMD)가 발생하더라도 현재 실행 중인 제1 노말 커맨드(1N_CMD)의 동작을 즉시 종료하지 않고 제1 추가 동작 시간(1Min_T)만큼 해당 동작을 더 수행할 수 있다. Accordingly, even if the suspend command S_CMD occurs, the memory device 1100 can perform the corresponding operation for the first additional operation time 1Min_T without immediately terminating the operation of the currently executed first normal command 1N_CMD have.

커맨드 시간 테이블(63)이 종료 신호(E_SG)를 출력하면, 출력된 종료 신호(E_SG)는 커맨드 큐 제어부(61)에 입력될 수 있다. When the command time table 63 outputs the end signal E_SG, the output end signal E_SG can be input to the command queue control unit 61. [

커맨드 큐 제어부(61)는 종료 신호(E_SG)가 입력되면, 임시로 저장된 서스펜드 커맨드(S_CMD)를 입출력 인터페이스(64)로 전송할 수 있다. The command queue control unit 61 can transmit the temporarily stored suspend command S_CMD to the input / output interface 64 when the end signal E_SG is input.

입출력 인터페이스(64)는 커맨드 큐 제어부(61)로부터 수신한 서스펜드 커맨드(S_CMD)를 채널(1280)을 통해 메모리 장치(1100)로 전송할 수 있다. Output interface 64 can transmit the suspend command S_CMD received from the command queue control unit 61 to the memory device 1100 through the channel 1280. [

상술한 실시예에 따라, 노말 커맨드에 추가 동작 시간이 부여됨으로써, 서스펜드 커맨드가 발생하더라도 노말 커맨드가 추가적으로 실행될 수 있는 최소 시간이 보장됨으로써, 노말 커맨드가 무한대로 지연되는 현상을 방지할 수 있다. According to the embodiment described above, since the additional time is given to the normal command, even if the suspend command is generated, the minimum time in which the normal command can be additionally executed is guaranteed, thereby preventing the normal command from being delayed infinitely.

도 10은 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다. FIG. 10 is a diagram for explaining another embodiment of a memory system including the memory controller and the memory device shown in FIG. 2. FIG.

도 10을 참조하면, 메모리 시스템(Memory System; 30000)은 이동 전화기(cellular phone), 스마트폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant) 또는 무선 통신 장치로 구현될 수 있다. 메모리 시스템(30000)은 메모리 장치(1100)와 상기 메모리 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함할 수 있다. 메모리 컨트롤러(1200)는 프로세서(Processor; 3100)의 제어에 따라 메모리 장치(1100)의 데이터 액세스 동작, 예컨대 프로그램(program) 동작, 소거(erase) 동작 또는 리드(read) 동작 등을 제어할 수 있다. 10, the memory system 30000 may be implemented as a cellular phone, a smart phone, a tablet PC, a personal digital assistant (PDA), or a wireless communication device . The memory system 30000 can include a memory device 1100 and a memory controller 1200 that can control the operation of the memory device 1100. The memory controller 1200 may control the data access operation of the memory device 1100 such as a program operation, an erase operation, or a read operation according to the control of the processor 3100 .

메모리 장치(1100)에 프로그램된 데이터는 메모리 컨트롤러(1200)의 제어에 따라 디스플레이(Display; 3200)를 통하여 출력될 수 있다.The data programmed into the memory device 1100 may be output through a display (Display) 3200 under the control of the memory controller 1200.

무선 송수신기(RADIO TRANSCEIVER; 3300)는 안테나(ANT)를 통하여 무선 신호를 주고받을 수 있다. 예컨대, 무선 송수신기(3300)는 안테나(ANT)를 통하여 수신된 무선 신호를 프로세서(3100)에서 처리(process)될 수 있는 신호로 변경할 수 있다. 따라서, 프로세서(3100)는 무선 송수신기(3300)로부터 출력된 신호를 처리(process)하고 처리(process)된 신호를 메모리 컨트롤러(1200) 또는 디스플레이(3200)로 전송할 수 있다. 메모리 컨트롤러(1200)는 프로세서(3100)에 의하여 처리(process)된 신호를 메모리 장치(1100)에 전송할 수 있다. 또한, 무선 송수신기(3300)는 프로세서(3100)로부터 출력된 신호를 무선 신호로 변경하고 변경된 무선 신호를 안테나(ANT)를 통하여 외부 장치로 출력할 수 있다. 입력 장치(Input Device; 3400)는 프로세서(3100)의 동작을 제어하기 위한 제어 신호 또는 프로세서(3100)에 의하여 처리(process)될 데이터를 입력할 수 있는 장치로서, 터치 패드(touch pad)와 컴퓨터 마우스(computer mouse)와 같은 포인팅 장치(pointing device), 키패드(keypad) 또는 키보드로 구현될 수 있다. 프로세서(3100)는 메모리 컨트롤러(1200)로부터 출력된 데이터, 무선 송수신기(3300)로부터 출력된 데이터, 또는 입력 장치(3400)로부터 출력된 데이터가 디스플레이(3200)를 통하여 출력될 수 있도록 디스플레이(3200)의 동작을 제어할 수 있다.The radio transceiver 3300 can transmit and receive radio signals through the antenna ANT. For example, the wireless transceiver 3300 may change the wireless signal received via the antenna ANT to a signal that can be processed by the processor 3100. Thus, the processor 3100 can process the signal output from the wireless transceiver 3300 and transmit the processed signal to the memory controller 1200 or display 3200. Memory controller 1200 may send a signal processed by processor 3100 to memory device 1100. In addition, the wireless transceiver 3300 may convert the signal output from the processor 3100 into a wireless signal, and output the modified wireless signal to an external device through the antenna ANT. An input device 3400 is a device capable of inputting a control signal for controlling the operation of the processor 3100 or data to be processed by the processor 3100 and includes a touch pad, A pointing device such as a computer mouse, a keypad, or a keyboard. The processor 3100 is connected to the display 3200 so that data output from the memory controller 1200, data output from the wireless transceiver 3300, or data output from the input device 3400 can be output via the display 3200. [ Can be controlled.

실시 예에 따라, 메모리 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(3100)의 일부로서 구현될 수 있고 또한 프로세서(3100)와 별도의 칩으로 구현될 수 있다.According to an embodiment, a memory controller 1200 capable of controlling the operation of the memory device 1100 may be implemented as part of the processor 3100 and may also be implemented as a separate chip from the processor 3100.

도 11은 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다. 11 is a diagram for explaining another embodiment of a memory system including the memory controller and the memory device shown in Fig.

도 11을 참조하면, 메모리 시스템(Memory System; 40000)은 PC(personal computer), 태블릿(tablet) PC, 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어로 구현될 수 있다.11, the memory system 40000 includes a personal computer (PC), a tablet PC, a net-book, an e-reader, a personal digital assistant ), A portable multimedia player (PMP), an MP3 player, or an MP4 player.

메모리 시스템(40000)은 메모리 장치(1100)와 상기 메모리 장치(1100)의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함할 수 있다. The memory system 40000 can include a memory device 1100 and a memory controller 1200 that can control the data processing operations of the memory device 1100.

프로세서(Processor; 4100)는 입력 장치(Input Device; 4200)를 통하여 입력된 데이터에 따라 메모리 장치(1100)에 저장된 데이터를 디스플레이(Display; 4300)를 통하여 출력할 수 있다. 예컨대, 입력 장치(4200)는 터치 패드 또는 컴퓨터 마우스와 같은 포인팅 장치, 키패드, 또는 키보드로 구현될 수 있다.A processor 4100 may output data stored in the memory device 1100 through a display 4300 according to data input through an input device 4200. For example, the input device 4200 may be implemented as a pointing device such as a touch pad or a computer mouse, a keypad, or a keyboard.

프로세서(4100)는 메모리 시스템(40000)의 전반적인 동작을 제어할 수 있고 메모리 컨트롤러(1200)의 동작을 제어할 수 있다. 실시 예에 따라 메모리 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(4100)의 일부로서 구현되거나, 프로세서(4100)와 별도의 칩으로 구현될 수 있다.The processor 4100 may control the overall operation of the memory system 40000 and may control the operation of the memory controller 1200. [ The memory controller 1200 capable of controlling the operation of the memory device 1100 according to an embodiment may be implemented as part of the processor 4100 or in a separate chip from the processor 4100. [

도 12는 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다. 12 is a diagram for explaining another embodiment of the memory system including the memory controller and the memory device shown in FIG.

도 12를 참조하면, 메모리 시스템(50000)은 이미지 처리 장치, 예컨대 디지털 카메라, 디지털 카메라가 부착된 이동 전화기, 디지털 카메라가 부착된 스마트 폰, 또는 디지털 카메라가 부착된 태블릿 PC로 구현될 수 있다.Referring to Fig. 12, the memory system 50000 can be implemented as an image processing device, such as a digital camera, a mobile phone with a digital camera, a smart phone with a digital camera, or a tablet PC with a digital camera.

메모리 시스템(50000)은 메모리 장치(1100)와 상기 메모리 장치(1100)의 데이터 처리 동작, 예컨대 프로그램 동작, 소거 동작 또는 리드 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함한다.The memory system 50000 includes a memory controller 1200 that is capable of controlling the data processing operations of the memory device 1100 and the memory device 1100, such as program operations, erase operations, or read operations.

메모리 시스템(50000)의 이미지 센서(Image Sensor; 5200)는 광학 이미지를 디지털 신호들로 변환할 수 있고, 변환된 디지털 신호들은 프로세서(Processor; 5100) 또는 메모리 컨트롤러(1200)로 전송될 수 있다. 프로세서(5100)의 제어에 따라, 상기 변환된 디지털 신호들은 디스플레이(Display; 5300)를 통하여 출력되거나 메모리 컨트롤러(1200)를 통하여 메모리 장치(1100)에 저장될 수 있다. 또한, 메모리 장치(1100)에 저장된 데이터는 프로세서(5100) 또는 메모리 컨트롤러(1200)의 제어에 따라 디스플레이(5300)를 통하여 출력될 수 있다. The image sensor 5200 of the memory system 50000 can convert the optical image into digital signals and the converted digital signals can be transmitted to the processor 5100 or the memory controller 1200. Depending on the control of the processor 5100, the converted digital signals may be output via a display 5300 or stored in the memory device 1100 through a memory controller 1200. The data stored in the memory device 1100 may also be output via the display 5300 under the control of the processor 5100 or the memory controller 1200. [

실시 예에 따라 메모리 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(5100)의 일부로서 구현되거나 프로세서(5100)와 별개의 칩으로 구현될 수 있다.The memory controller 1200 capable of controlling the operation of the memory device 1100 according to an embodiment may be implemented as a part of the processor 5100 or in a chip separate from the processor 5100. [

도 13은 도 2에 도시된 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.13 is a diagram for explaining another embodiment of the memory system including the memory controller and the memory device shown in Fig.

도 13을 참조하면, 메모리 시스템(Memory System; 70000)은 메모리 카드(memory card) 또는 스마트 카드(smart card)로 구현될 수 있다. 메모리 시스템(70000)은 메모리 장치(1100), 메모리 컨트롤러(1200) 및 카드 인터페이스(Card Interface; 7100)를 포함할 수 있다. Referring to FIG. 13, the memory system 70000 may be implemented as a memory card or a smart card. The memory system 70000 may include a memory device 1100, a memory controller 1200, and a card interface (Card Interface) 7100.

메모리 컨트롤러(1200)는 메모리 장치(1100)와 카드 인터페이스(7100) 사이에서 데이터의 교환을 제어할 수 있다. 실시 예에 따라, 카드 인터페이스(7100)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다. The memory controller 1200 may control the exchange of data between the memory device 1100 and the card interface 7100. According to an embodiment, the card interface 7100 may be an SD (secure digital) card interface or a multi-media card (MMC) interface, but is not limited thereto.

카드 인터페이스(7100)는 호스트(HOST; 60000)의 프로토콜에 따라 호스트(60000)와 메모리 컨트롤러(1200) 사이에서 데이터 교환을 인터페이스할 수 있다. 실시 예에 따라 카드 인터페이스(7100)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스(7100)는 호스트(60000)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어 또는 신호 전송 방식을 의미할 수 있다.The card interface 7100 can interface data exchange between the host 60000 and the memory controller 1200 according to the protocol of the host (HOST) 60000. According to the embodiment, the card interface 7100 can support USB (Universal Serial Bus) protocol and IC (InterChip) -USB protocol. Here, the card interface 7100 may mean hardware that can support the protocol used by the host 60000, software installed on the hardware, or a signal transmission method.

메모리 시스템(70000)이 PC, 태블릿 PC, 디지털 카메라, 디지털 오디오 플레이어, 이동 전화기, 콘솔 비디오 게임 하드웨어, 또는 디지털 셋-탑 박스와 같은 호스트(60000)의 호스트 인터페이스(6200)와 접속될 때, 호스트 인터페이스(6200)는 마이크로프로세서(Microprocessor; μP; 6100)의 제어에 따라 카드 인터페이스(7100)와 메모리 컨트롤러(1200)를 통하여 메모리 장치(1100)와 데이터 통신을 수행할 수 있다.When the memory system 70000 is connected to the host interface 6200 of the host 60000 such as a PC, tablet PC, digital camera, digital audio player, mobile phone, console video game hardware, or digital set- The interface 6200 can perform data communication with the memory device 1100 through the card interface 7100 and the memory controller 1200 under the control of a microprocessor (μP) 6100.

본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the equivalents of the claims of the present invention as well as the claims of the following.

2000: 호스트 1000: 메모리 시스템
1100: 메모리 장치 1200: 메모리 컨트롤러
1210: 버퍼 메모리 1220: 중앙 처리 장치
1230: 내부 메모리 1240: 호스트 인터페이스
1250: 에러 정정 회로 1260: 메모리 인터페이스
61: 커맨드 큐 제어부 62: 커맨드 시간 제어부
63: 커맨드 시간 테이블 64: 입출력 인터페이스
2000: Host 1000: Memory System
1100: memory device 1200: memory controller
1210: buffer memory 1220: central processing unit
1230: internal memory 1240: host interface
1250: error correction circuit 1260: memory interface
61: Command queue control unit 62: Command time control unit
63: Command time table 64: I / O interface

Claims (20)

노말 커맨드들(normal commands) 및 서스펜드 커맨드(suspend command)의 실행 순서를 결정하는 커맨드 큐 제어부;
상기 커맨드 큐 제어부로부터 상기 노말 커맨드들을 전송받고, 상기 노말 커맨드들에 추가 동작 시간을 각각 부여하여 커맨드 및 시간 정보를 출력하는 커맨드 시간 제어부;
상기 커맨드 및 시간 정보를 상기 노말 커맨드들에 각각 매칭하여 저장하고, 종료 신호를 출력하는 커맨드 시간 테이블; 및
상기 커맨드 큐 제어부로부터 상기 노말 커맨드들 또는 상기 서스펜드 커맨드를 수신하고, 채널을 통해 상기 노말 커맨드들 또는 상기 서스펜드 커맨드를 메모리 장치로 전송하는 입출력 인터페이스를 포함하는 메모리 인터페이스.
A command queue control unit for determining an execution order of normal commands and suspend commands;
A command time control unit receiving the normal commands from the command queue control unit and outputting commands and time information by giving the normal commands an additional operation time;
A command time table for matching and storing the command and time information with the normal commands and outputting a termination signal; And
And an input / output interface for receiving the normal commands or the suspend command from the command queue control unit and transmitting the normal commands or the suspend command to a memory device via a channel.
제1항에 있어서,
상기 커맨드 큐 제어부는,
상기 노말 커맨드들이 수신되면, 상기 노말 커맨드들을 임시로 저장하고,
상기 노말 커맨드들을 상기 커맨드 시간 제어부에 순차적으로 전송하고,
상기 종료 신호에 응답하여 상기 노말 커맨드들을 상기 입출력 인터페이스로 순차적으로 전송하는 메모리 인터페이스.
The method according to claim 1,
The command queue control unit,
When the normal commands are received, the normal commands are temporarily stored,
Sequentially transmits the normal commands to the command time control unit,
And sequentially transmits the normal commands to the input / output interface in response to the termination signal.
제1항에 있어서,
상기 커맨드 큐 제어부는,
상기 노말 커맨드들을 상기 커맨드 시간 제어부로 순차적으로 출력한 후,
상기 종료 신호가 수신될 때마다 상기 노말 커맨드들을 상기 입출력 인터페이스로 순차적으로 전송하는 메모리 인터페이스.
The method according to claim 1,
The command queue control unit,
Sequentially outputs the normal commands to the command time control unit,
And sequentially transmits the normal commands to the input / output interface each time the termination signal is received.
제1항에 있어서,
상기 커맨드 큐 제어뷰는,
상기 서스펜드 커맨드가 수신되면, 상기 노말 커맨드들의 출력 순서에 관계없이 상기 서스펜드 커맨드를 우선적으로 출력하는 메모리 인터페이스.
The method according to claim 1,
Wherein the command queue control view comprises:
Wherein when the suspend command is received, the suspend command is preferentially output irrespective of an output order of the normal commands.
제1항에 있어서,
상기 커맨드 큐 제어부는,
상기 노말 커맨드들이 수신되면 상기 노말 커맨드들을 상기 커맨드 시간 제어부로 순차적으로 전송하고,
상기 서스펜드 커맨드가 수신되면 상기 서스펜드 커맨드를 상기 커맨드 시간 테이블로 전송하는 메모리 인터페이스.
The method according to claim 1,
The command queue control unit,
And sequentially transmits the normal commands to the command time control unit when the normal commands are received,
And transmits the suspend command to the command time table when the suspend command is received.
제1항에 있어서,
상기 커맨드 시간 제어부는,
상기 노말 커맨드들의 특성 또는 중요도에 따라 상기 추가 동작 시간을 각각 부여하는 메모리 인터페이스.
The method according to claim 1,
The command time control unit,
And wherein the memory interface gives the additional operation time in accordance with the nature or importance of the normal commands.
제6항에 있어서,
상기 커맨드 시간 제어부는,
상기 노말 커맨드들에 상기 추가 동작 시간을 모두 동일하게 부여하거나,
상기 노말 커맨드들 중 일부에 상기 추가 동작 시간을 부여하고, 나머지 노말 커맨드들에는 상기 추가 동작 시간을 부여하지 않는 메모리 인터페이스.
The method according to claim 6,
The command time control unit,
All of the additional operation times are equally given to the normal commands,
The additional operation time is given to a part of the normal commands and the additional operation time is not given to the remaining normal commands.
제7항에 있어서,
상기 커맨드 시간 제어부는,
상기 노말 커맨드들의 상기 특성 및 중요도에 따라 상기 추가 동작 시간을 부여하거나 부여하지 않는 메모리 인터페이스.
8. The method of claim 7,
The command time control unit,
And does not give or give the additional operating time according to the nature and importance of the normal commands.
제1항에 있어서,
상기 커맨드 시간 테이블은,
상기 노말 커맨드들에 상기 추가 동작 시간이 각각 매칭된 커맨드 및 시간 정보가 저장되는 정보 테이블; 및
상기 정보 테이블에 상기 커맨드 및 시간 정보가 저장될 때마다 상기 종료 신호를 출력하는 메모리 인터페이스.
The method according to claim 1,
The command time table includes:
An information table in which the command and the time information in which the additional operation time is respectively matched are stored in the normal commands; And
And outputs the termination signal whenever the command and the time information are stored in the information table.
제1항에 있어서,
상기 커맨드 시간 테이블은,
상기 서스펜드 커맨드가 수신되면, 상기 노말 커맨드에 매칭된 상기 추가 동작 시간이 지난 후에 상기 종료 신호를 출력하는 메모리 인터페이스.
The method according to claim 1,
The command time table includes:
And when the suspend command is received, outputs the end signal after the additional operation time matched to the normal command.
호스트(host)의 요청에 따라 노말 커맨드 또는 서스펜드 커맨드를 생성하는 중앙 처리 장치; 및
상기 노말 커맨드 또는 상기 서스펜드 커맨드를 메모리 장치로 전송하는 메모리 인터페이스를 포함하며,
상기 메모리 인터페이스는,
상기 노말 커맨드가 수신되면 상기 노말 커맨드에 추가 동작 시간을 부여한 후, 상기 노말 커맨드를 상기 메모리 장치에 전송하고,
상기 서스펜드 커맨드가 수신되면, 상기 추가 동작 시간 동안 상기 노말 커맨드를 더 실행시킨 후, 상기 서스펜드 커맨드를 상기 메모리 장치에 전송하는 메모리 컨트롤러.
A central processing unit for generating a normal command or a suspend command in response to a request from a host; And
And a memory interface for transferring the normal command or the suspend command to a memory device,
The memory interface comprising:
After the normal command is received, an additional operation time is given to the normal command, and then the normal command is transmitted to the memory device,
And when the suspend command is received, further executing the normal command for the additional operation time, and then sending the suspend command to the memory device.
제11항에 있어서,
상기 메모리 인터페이스는,
상기 노말 커맨드 또는 상기 서스펜드 커맨드의 출력 순서를 제어하는 커맨드 큐 제어부;
상기 노말 커맨드에 따라 상기 추가 동작 시간을 부여하는 커맨드 시간 제어부;
상기 노말 커맨드와 상기 추가 동작 시간이 매칭된 정보를 저장하고, 상기 서스펜드 커맨드가 수신되면 상기 추가 동작 시간 동안 상기 서스펜드 커맨드를 지연시키는 커맨드 시간 테이블; 및
상기 커맨드 큐 제어부로부터 수신되는 상기 노말 커맨드 또는 상기 서스펜드 커맨드를 상기 메모리 장치로 전송하는 입출력 인터페이스를 포함하는 메모리 컨트롤러.
12. The method of claim 11,
The memory interface comprising:
A command queue control unit for controlling an output order of the normal command or the suspend command;
A command time control unit for giving the additional operation time according to the normal command;
A command time table for storing information in which the normal command and the additional operation time are matched and for delaying the suspend command for the additional operation time when the suspend command is received; And
And an input / output interface for transmitting the normal command or the suspend command received from the command queue control unit to the memory device.
제12항에 있어서,
상기 커맨드 큐 제어부는,
상기 노말 커맨드가 수신되면 상기 노말 커맨드를 임시로 저장한 후, 상기 노말 커맨드를 상기 커맨드 시간 제어부로 전송하고,
상기 서스펜드 커맨드가 수신되면 상기 서스펜드 커맨드를 임시로 저장한 후, 상기 서스펜드 커맨드를 상기 커맨드 시간 테이블로 전송하는 메모리 컨트롤러.
13. The method of claim 12,
The command queue control unit,
Wherein when the normal command is received, the normal command is temporarily stored, and then the normal command is transmitted to the command time control unit,
Temporarily stores the suspend command when the suspend command is received, and then transmits the suspend command to the command time table.
제12항에 있어서,
상기 커맨드 시간 제어부는,
상기 노말 커맨드의 특성 또는 중요도에 따라 상기 추가 동작 시간을 부여하는 메모리 컨트롤러.
13. The method of claim 12,
The command time control unit,
And adds said additional operation time in accordance with the nature or importance of said normal command.
제12항에 있어서,
상기 커맨드 시간 제어부는,
상기 노말 커맨드의 특성 또는 중요도에 따라 상기 추가 동작 시간을 부여하거나 부여하지 않는 메모리 컨트롤러.
13. The method of claim 12,
The command time control unit,
Wherein said additional operation time is not given or given in accordance with the nature or importance of said normal command.
제12항에 있어서,
상기 커맨드 시간 테이블은,
상기 노말 커맨드에 상기 추가 동작 시간이 각각 커맨드 및 시간 정보가 저장되는 정보 테이블; 및
상기 정보 테이블에 상기 커맨드 및 시간 정보가 저장될 때마다 상기 종료 신호를 출력하는 메모리 컨트롤러.
13. The method of claim 12,
The command time table includes:
An information table in which the command and the time information are stored in the normal command, respectively; And
And outputs the end signal each time the command and time information are stored in the information table.
제12항에 있어서,
상기 커맨드 시간 테이블은,
상기 서스펜드 커맨드가 수신되면, 상기 노말 커맨드에 매칭된 상기 추가 동작 시간 동안 상기 서스펜드 커맨드를 지연시키고, 상기 추가 동작 시간이 지나면 상기 종료 신호를 출력하는 메모리 컨트롤러.
13. The method of claim 12,
The command time table includes:
And when the suspend command is received, delays the suspend command for the additional operation time matched to the normal command, and outputs the termination signal after the additional operation time.
데이터가 저장되는 메모리 장치; 및
호스트의 요청에 따라 노말 커맨드 또는 서스펜드 커맨드를 생성하고, 상기 노말 커맨드 또는 상기 서스펜드 커맨드를 채널을 통해 상기 메모리 장치로 전송하는 메모리 컨트롤러를 포함하고,
상기 메모리 컨트롤러는,
상기 노말 커맨드가 생성되면 상기 노말 커맨드에 추가 동작 시간을 부여한 후, 상기 노말 커맨드를 상기 메모리 장치로 전송하고,
상기 서스펜드 커맨드가 생성되면, 상기 추가 동작 시간만큼 상기 서스펜드 커맨드를 지연시킨 후에 상기 서스펜드 커맨드를 상기 메모리 장치로 전송하는 메모리 시스템.
A memory device in which data is stored; And
And a memory controller for generating a normal command or a suspend command in accordance with a request from the host and transmitting the normal command or the suspend command to the memory device via a channel,
The memory controller includes:
Wherein when the normal command is generated, after giving an additional operation time to the normal command, the normal command is transmitted to the memory device,
And when the suspend command is generated, delays the suspend command by the additional operating time and then sends the suspend command to the memory device.
제18항에 있어서,
상기 메모리 컨트롤러는,
상기 노말 커맨드의 특성 또는 중요도에 따라 상기 추가 동작 시간을 부여하는 메모리 시스템.
19. The method of claim 18,
The memory controller includes:
And adds the additional operation time according to the nature or importance of the normal command.
제18항에 있어서,
상기 메모리 컨트롤러는,
상기 메모리 장치에서 상기 노말 커맨드가 실행되는 도중에 상기 서스펜드 커맨드가 생성되면,
상기 메모리 장치에서 상기 노말 커맨드가 상기 추가 동작 시간동안 더 실행되도록 상기 서스펜드 커맨드의 출력을 지연시키고,
상기 추가 동작 시간이 지나면 상기 서스펜드 커맨드를 상기 메모리 장치로 전송하는 메모리 시스템.
19. The method of claim 18,
The memory controller includes:
When the suspend command is generated while the normal command is being executed in the memory device,
Delaying the output of the suspend command so that the normal command is further executed during the additional operation time in the memory device,
And to send the suspend command to the memory device after the additional operating time.
KR1020180007195A 2018-01-19 2018-01-19 Memory interface and memory controller having the same, and memory system having the same KR20190088734A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180007195A KR20190088734A (en) 2018-01-19 2018-01-19 Memory interface and memory controller having the same, and memory system having the same
US16/119,575 US10705757B2 (en) 2018-01-19 2018-08-31 Memory interface, memory controller having the memory interface, and memory system having the memory controller
CN201811109225.5A CN110059032B (en) 2018-01-19 2018-09-21 Memory interface and memory controller having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180007195A KR20190088734A (en) 2018-01-19 2018-01-19 Memory interface and memory controller having the same, and memory system having the same

Publications (1)

Publication Number Publication Date
KR20190088734A true KR20190088734A (en) 2019-07-29

Family

ID=67299205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180007195A KR20190088734A (en) 2018-01-19 2018-01-19 Memory interface and memory controller having the same, and memory system having the same

Country Status (3)

Country Link
US (1) US10705757B2 (en)
KR (1) KR20190088734A (en)
CN (1) CN110059032B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11342013B2 (en) 2020-10-27 2022-05-24 SK Hynix Inc. Memory system and operating method to set target command delay time to merge and process read commands
US11941294B2 (en) 2021-06-08 2024-03-26 SK Hynix Inc. Memory controller for controlling suspension of operation and method of operating the same

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102680273B1 (en) * 2019-02-12 2024-07-01 삼성전자주식회사 A method for controlling a suspend mode and a memory controller including the same
US10871923B2 (en) * 2019-03-06 2020-12-22 Micron Technology, Inc. Management of program suspend and resume operations of a memory sub-system
KR20210061171A (en) * 2019-11-19 2021-05-27 에스케이하이닉스 주식회사 Memory system and operating method thereof
KR20220073998A (en) * 2020-11-27 2022-06-03 에스케이하이닉스 주식회사 Memory system and operating method of memory system
WO2023141934A1 (en) 2022-01-28 2023-08-03 Nvidia Corporation Efficient masking of secure data in ladder-type cryptographic computations
CN116830076A (en) 2022-01-28 2023-09-29 辉达公司 Techniques, apparatus and instruction set architecture for efficient modulo division and modulo inversion
WO2023141935A1 (en) 2022-01-28 2023-08-03 Nvidia Corporation Techniques, devices, and instruction set architecture for balanced and secure ladder computations

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797468B2 (en) 2006-10-31 2010-09-14 Hewlett-Packard Development Company Method and system for achieving fair command processing in storage systems that implement command-associated priority queuing
KR101662824B1 (en) * 2009-07-08 2016-10-06 삼성전자주식회사 Solid state drive device and driving method thereof
US9134919B2 (en) * 2012-03-29 2015-09-15 Samsung Electronics Co., Ltd. Memory device including priority information and method of operating the same
KR101962874B1 (en) * 2012-04-24 2019-03-27 삼성전자주식회사 Memory device, memory controller, memory system and method of operating the same
KR20150017526A (en) 2013-08-07 2015-02-17 삼성전자주식회사 Memory command schedular and method for memory command scheduling
KR102226367B1 (en) * 2014-01-02 2021-03-12 삼성전자주식회사 Nonvolatile memory device and nonvolatile memory system including the same
KR102624606B1 (en) * 2016-07-04 2024-01-15 에스케이하이닉스 주식회사 Semiconductor memory device and operating method thereof
US10528268B2 (en) * 2017-09-12 2020-01-07 Toshiba Memory Corporation System and method for channel time management in solid state memory drives

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11342013B2 (en) 2020-10-27 2022-05-24 SK Hynix Inc. Memory system and operating method to set target command delay time to merge and process read commands
US11941294B2 (en) 2021-06-08 2024-03-26 SK Hynix Inc. Memory controller for controlling suspension of operation and method of operating the same

Also Published As

Publication number Publication date
CN110059032B (en) 2023-11-03
US20190227736A1 (en) 2019-07-25
US10705757B2 (en) 2020-07-07
CN110059032A (en) 2019-07-26

Similar Documents

Publication Publication Date Title
KR20190088734A (en) Memory interface and memory controller having the same, and memory system having the same
US9563368B2 (en) Embedded multimedia card and method of operating the same
KR101626084B1 (en) Multi-chip memory system and data transfer method thereof
US8099529B1 (en) Software based native command queuing utilizing direct memory access transfer context information
US11294814B2 (en) Memory system having a memory controller and a memory device having a page buffer
KR102350644B1 (en) Memory controller and memory system having the same
TW201418990A (en) Host for controlling non-volatile memory card, and methods operating the host and the system
US11061607B2 (en) Electronic system having host and memory controller, and operating method thereof
KR20180104839A (en) Data transfer training method and data storage device performing the same
KR20160025292A (en) Data storage device, data processing system including the same and operating method thereof
KR20190098394A (en) Memory controller and operating method thereof
KR20180023311A (en) Data storage device
US11455186B2 (en) Controller and memory system having the same
TW202011203A (en) Command processing method and storage controller using the same
US10692585B2 (en) Memory system for error test
US11237954B2 (en) Controller and data storage system having the same
KR20190099879A (en) Memory controller and operating method thereof
KR20190108346A (en) Input output circuit
KR102417980B1 (en) Universal asynchronous receiver/transmitter unit and memory controller and memory system having the same
KR20220032816A (en) Calibration apparatus and method for data communication in a memory system
EP4287029A1 (en) Storage system and operation method therefor
KR20190118428A (en) Controller and memory system having the same
KR20240032362A (en) Memory device for supporting stable data transfer and memory system thereof
KR20150082930A (en) Data storage device and operating method thereof
KR20200128873A (en) Controller, memory system and operating method thereof