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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1621—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single 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
Description
본 발명은 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것으로, 보다 구체적으로는 노말 커맨드(normal command) 및 서스펜드 커맨드(suspend command)를 관리하는 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것이다. BACKGROUND OF THE
메모리 시스템(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
호스트(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
메모리 컨트롤러(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
메모리 컨트롤러(1200)는 일반적으로 실행되는 노말 커맨드(normal command)를 커맨드 큐에 따라 순차적으로 실행시킬 수 있다. 또한, 메모리 컨트롤러(1200)는 서스펜드 커맨드(suspend command)를 사용하여 노말 커맨드보다 우선 적으로 특정 동작이 수행되도록 메모리 장치(1100)를 제어할 수 있다. 본 실시예에 따른 메모리 컨트롤러(1200)는 노말 커맨드들 각각에 추가 동작 시간을 부여하고, 서스펜드 커맨드를 실행할 때 노말 커맨드들에 대응되는 동작이 추가 동작 시간 동안 더 수행되도록 커맨드를 제어할 수 있다. The
도 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
버퍼 메모리(1210)는 메모리 컨트롤러(1200)와 메모리 장치(1100) 사이에서 송수신되는 데이터를 임시로 저장할 수 있다. 예를 들면, 프로그램 동작 시, 프로그램될 데이터는 메모리 장치(1100)에 전송되기 이전에 버퍼 메모리(1210)에 임시로 저장될 수 있으며, 이때 저장된 데이터를 메모리 장치(1100)에서 프로그램 동작이 페일된 경우 재 사용될 수 있다. 또한, 리드 동작 시, 메모리 장치(1100)로부터 리드된 데이터를 버퍼 메모리(1210)에 임시로 저장될 수 있다. 예를 들면, 리드 동작 시 버퍼 메모리(1210)에 정해진 용량의 리드된 데이터가 임시로 저장되면, 리드된 데이터는 호스트 인터페이스(1240)를 통해 호스트(2000)로 출력될 수 있다. The
중앙 처리 장치(1220)는 메모리 장치(1100)를 제어하기 위한 각종 연산을 수행하거나 펌웨어(firmware)를 수행할 수 있다. 또한, 중앙 처리 장치(1220)는 호스트(2000)로부터 수신된 노말 요청들(normal requests)에 응답하여 노말 커맨드(normal command)를 생성하거나, 서스펜드 요청(suspend request)에 응답하여 서스펜드 커맨드(suspend command)를 생성할 수 있다. The
내부 메모리(1230)는 메모리 컨트롤러(1200)의 동작에 필요한 다양한 시스템 정보들을 저장할 수 있는 저장 장치(storage device)로 사용될 수 있다. 예를 들면, 내부 메모리(1230)는 SRAM으로 구현될 수 있다. 내부 메모리(1230)는 메모리 시스템(1000)의 동작에 필요한 다양한 시스템 정보가 저장된 테이블을 포함할 수 있다. The
호스트 인터페이스(1240)는 중앙 처리 장치(1220)의 제어에 따라 메모리 시스템(1000)과 접속되는 외부의 호스트(2000)와 통신하도록 구성될 수 있다. 예를 들면, 호스트 인터페이스(1240)는 호스트(2000)로부터 기입 커맨드(write command), 데이터 및 기입 커맨드에 대응하는 논리 어드레스(logical address)를 수신할 수 있다. 또한 호스트 인터페이스(1240)는 호스트(2000)로부터 리드 커맨드(read command) 및 리드 커맨드에 대응하는 논리 어드레스(logical address)를 수신할 수 있다.The
에러 정정 회로(1250)는 메모리 장치(1100)로부터 리드된 데이터에 포함되어 있는 에러를 검출하거나 정정할 수 있다. 예를 들면, 에러 정정 회로(1250)는 메모리 인터페이스(1260)를 통해 메모리 장치(1100)에 기입될 데이터에 기반하여 에러 정정 인코딩(ECC encoding) 동작을 수행할 수 있다. 에러 정정 인코딩 동작이 수행된 데이터는 메모리 인터페이스(1260)를 통해 메모리 장치(1100)로 전달될 수 있다. 또한, 에러 정정 회로(1250)는 메모리 인터페이스(1260)를 통해 메모리 장치(1100)로부터 수신되는 데이터에 대해 에러 정정 디코딩(ECC decoding)을 수행할 수 있다. 에러 정정 회로(1250)는 보즈-초두리-오켄젬 코드(BCH code) 또는 저밀도 패리티 체크 코드(LDPC code)에 기초하여 에러 정정 동작을 수행할 수 있다. The
메모리 인터페이스(1260)는 중앙 처리 장치(1220)의 제어에 따라 메모리 장치(1100)와 통신하도록 구성될 수 있다. 본 실시예에서는, 메모리 인터페이스(1260)는 중앙 처리 장치(1220)로부터 수신된 커맨드들(commands), 예를 들면 노말 커맨드들을 큐잉(queueing)할 수 있다. 또한, 메모리 인터페이스(1260)는 노말 커맨드들 각각에 대하여 추가 동작 시간을 설정할 수 있다. 추가 동작 시간은 서스펜드 커맨드가 수신되더라도 노말 커맨드의 실행 시간을 일정시간 동안 보장하기 위하여 설정될 수 있다. The
도 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
커맨드 큐 제어부(61)는 버스(1270)를 통해 노말 커맨드 또는 서스펜드 커맨드를 수신할 수 있다. 커맨드 큐 제어부(61)는 다수의 노말 커맨드들을 순차적으로 수신하고, 실행 순서에 따라 노말 커맨드들을 큐잉(queueing)할 수 있다. 커맨드 큐 제어부(61)는 큐잉된 노말 커맨드들을 커맨드 시간 제어부(62)로 순차적으로 출력할 수 있다. 또한, 커맨드 큐 제어부(61)는 서스펜드 커맨드가 수신되면, 노말 커맨드들의 큐잉 순서에 관계 없이 서스펜드 커맨드를 커맨드 시간 테이블(63)로 즉시 출력할 수 있다. The command
커맨드 시간 제어부(62)는 커맨드 큐 제어부(61)로부터 수신된 노말 커맨드들 각각에 추가 동작 시간을 부여하고, 노말 커맨드들과 추가 동작 시간이 포함된 정보를 커맨드 시간 테이블(63)로 전송할 수 있다. 이하에서 상기 정보는 ‘커맨드 및 시간 정보’로 칭하기로 한다. The command
커맨드 시간 테이블(63)은 커맨드 시간 제어부(62)로부터 커맨드 및 시간 정보를 수신받고, 노말 커맨드에 매칭되는 추가 동작 시간을 각각 저장할 수 있다. 커맨드 시간 테이블(63)은 노말 커맨드에 대한 커맨드 및 시간 정보를 저장한 후 커맨드 큐 제어부(61)에 종료 신호를 출력할 수 있다. 또한, 커맨드 시간 테이블(63)은 커맨드 큐 제어부(61)로부터 서스펜드 커맨드를 수신하면, 테이블에 저장된 커맨드 및 시간 정보에 따라 추가 동작 시간이 지난 후에 커맨드 큐 제어부(61)에 종료 신호를 출력할 수 있다. The command time table 63 can receive command and time information from the command
종료 신호가 커맨드 큐 제어부(61)에 입력되면, 커맨드 큐 제어부(61)는 종료 신호에 대응되는 노말 커맨드 또는 서스펜드 커맨드를 입출력 인터페이스(64)로 전송할 수 있다. 예를 들면, 커맨드 큐 제어부(61)는 종료 신호가 수신될 때마다 노말 커맨드를 입출력 인터페이스(64)에 순차적으로 출력하거나, 서스펜드 커맨드를 입출력 인터페이스(64)에 출력할 수 있다. When the end signal is input to the command
커맨드 시간 테이블(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
입출력 인터페이스(64)는 커맨드 큐 제어부(61)로부터 노말 커맨드 또는 서스펜드 커맨드를 수신하면, 채널(1280)을 통해 노말 커맨드 또는 서스펜드 커맨드를 출력할 수 있다. Upon receiving the normal command or the suspend command from the command
채널(1280)을 통해 노말 커맨드 또는 서스펜드 커맨드를 수신한 메모리 장치는 해당 커맨드를 실행할 수 있다. The memory device receiving the normal command or the suspend command through the
상술한 메모리 인터페이스(1260)의 구성들을 보다 상세히 설명하면 다음과 같다. The configuration of the
도 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
제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
도 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
예를 들면, 커맨드 시간 제어부(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
추가 동작 시간(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
도 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
도 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
따라서, 이러한 구조로 이루어진 메모리 시스템(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
종료 신호 출력부(32)는 커맨드 시간 테이블(63b)에 입력된 정보가 정보 테이블(31b)에 저장되면, 테이블에 정보가 저장되었음을 알리기 위한 종료 신호(end signal)를 출력할 수 있다. The end
도 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
커맨드 시간 제어부(62)는 제1 노말 커맨드(1N_CMD)에 제1 추가 동작 시간(1Min_T)을 부여하고, 제1 노말 커맨드(1N_CMD)에 대한 제1 커맨드 및 시간 정보(1N_CMD+1Min_T)를 출력할 수 있다. The command
커맨드 시간 제어부(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
커맨드 큐 제어부(61)는 종료 신호(E_SG)가 수신되면, 임시로 저장된 제1 노말 커맨드(aN_CMD)를 입출력 인터페이스(64)로 전송할 수 있다. The command
입출력 인터페이스(64)는 커맨드 큐 제어부(61)로부터 수신한 제1 노말 커맨드(aN_CMD)를 채널(1280)을 통해 메모리 장치(도 2의 1100)로 전송할 수 있다. The input /
메모리 장치(1100)는 채널(1280)을 통해 제1 노말 커맨드(1N_CMD)가 수신되면, 제1 노말 커맨드(1N_CMD)를 실행할 수 있다. The
메모리 장치(1100)가 제1 노말 커맨드(1N_CMD)를 실행하는 동안 서스펜드 커맨드가 발생한 경우, 서프센드 커맨드는 다음과 같은 순서에 따라 실행될 수 있다. If the suspend command occurs while the
도 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
서스펜드 커맨드(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
추가 동작 시간에 대한 정보가 없으면, 커맨드 시간 테이블(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
이에 따라, 메모리 장치(1100)는 서스펜드 커맨드(S_CMD)가 발생하더라도 현재 실행 중인 제1 노말 커맨드(1N_CMD)의 동작을 즉시 종료하지 않고 제1 추가 동작 시간(1Min_T)만큼 해당 동작을 더 수행할 수 있다. Accordingly, even if the suspend command S_CMD occurs, the
커맨드 시간 테이블(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
커맨드 큐 제어부(61)는 종료 신호(E_SG)가 입력되면, 임시로 저장된 서스펜드 커맨드(S_CMD)를 입출력 인터페이스(64)로 전송할 수 있다. The command
입출력 인터페이스(64)는 커맨드 큐 제어부(61)로부터 수신한 서스펜드 커맨드(S_CMD)를 채널(1280)을 통해 메모리 장치(1100)로 전송할 수 있다.
상술한 실시예에 따라, 노말 커맨드에 추가 동작 시간이 부여됨으로써, 서스펜드 커맨드가 발생하더라도 노말 커맨드가 추가적으로 실행될 수 있는 최소 시간이 보장됨으로써, 노말 커맨드가 무한대로 지연되는 현상을 방지할 수 있다. 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
메모리 장치(1100)에 프로그램된 데이터는 메모리 컨트롤러(1200)의 제어에 따라 디스플레이(Display; 3200)를 통하여 출력될 수 있다.The data programmed into the
무선 송수신기(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
실시 예에 따라, 메모리 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(3100)의 일부로서 구현될 수 있고 또한 프로세서(3100)와 별도의 칩으로 구현될 수 있다.According to an embodiment, a
도 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
메모리 시스템(40000)은 메모리 장치(1100)와 상기 메모리 장치(1100)의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함할 수 있다. The
프로세서(Processor; 4100)는 입력 장치(Input Device; 4200)를 통하여 입력된 데이터에 따라 메모리 장치(1100)에 저장된 데이터를 디스플레이(Display; 4300)를 통하여 출력할 수 있다. 예컨대, 입력 장치(4200)는 터치 패드 또는 컴퓨터 마우스와 같은 포인팅 장치, 키패드, 또는 키보드로 구현될 수 있다.A
프로세서(4100)는 메모리 시스템(40000)의 전반적인 동작을 제어할 수 있고 메모리 컨트롤러(1200)의 동작을 제어할 수 있다. 실시 예에 따라 메모리 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(4100)의 일부로서 구현되거나, 프로세서(4100)와 별도의 칩으로 구현될 수 있다.The
도 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
메모리 시스템(50000)은 메모리 장치(1100)와 상기 메모리 장치(1100)의 데이터 처리 동작, 예컨대 프로그램 동작, 소거 동작 또는 리드 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함한다.The
메모리 시스템(50000)의 이미지 센서(Image Sensor; 5200)는 광학 이미지를 디지털 신호들로 변환할 수 있고, 변환된 디지털 신호들은 프로세서(Processor; 5100) 또는 메모리 컨트롤러(1200)로 전송될 수 있다. 프로세서(5100)의 제어에 따라, 상기 변환된 디지털 신호들은 디스플레이(Display; 5300)를 통하여 출력되거나 메모리 컨트롤러(1200)를 통하여 메모리 장치(1100)에 저장될 수 있다. 또한, 메모리 장치(1100)에 저장된 데이터는 프로세서(5100) 또는 메모리 컨트롤러(1200)의 제어에 따라 디스플레이(5300)를 통하여 출력될 수 있다. The
실시 예에 따라 메모리 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(5100)의 일부로서 구현되거나 프로세서(5100)와 별개의 칩으로 구현될 수 있다.The
도 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
메모리 컨트롤러(1200)는 메모리 장치(1100)와 카드 인터페이스(7100) 사이에서 데이터의 교환을 제어할 수 있다. 실시 예에 따라, 카드 인터페이스(7100)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다. The
카드 인터페이스(7100)는 호스트(HOST; 60000)의 프로토콜에 따라 호스트(60000)와 메모리 컨트롤러(1200) 사이에서 데이터 교환을 인터페이스할 수 있다. 실시 예에 따라 카드 인터페이스(7100)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스(7100)는 호스트(60000)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어 또는 신호 전송 방식을 의미할 수 있다.The
메모리 시스템(70000)이 PC, 태블릿 PC, 디지털 카메라, 디지털 오디오 플레이어, 이동 전화기, 콘솔 비디오 게임 하드웨어, 또는 디지털 셋-탑 박스와 같은 호스트(60000)의 호스트 인터페이스(6200)와 접속될 때, 호스트 인터페이스(6200)는 마이크로프로세서(Microprocessor; μP; 6100)의 제어에 따라 카드 인터페이스(7100)와 메모리 컨트롤러(1200)를 통하여 메모리 장치(1100)와 데이터 통신을 수행할 수 있다.When the
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.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)
상기 커맨드 큐 제어부로부터 상기 노말 커맨드들을 전송받고, 상기 노말 커맨드들에 추가 동작 시간을 각각 부여하여 커맨드 및 시간 정보를 출력하는 커맨드 시간 제어부;
상기 커맨드 및 시간 정보를 상기 노말 커맨드들에 각각 매칭하여 저장하고, 종료 신호를 출력하는 커맨드 시간 테이블; 및
상기 커맨드 큐 제어부로부터 상기 노말 커맨드들 또는 상기 서스펜드 커맨드를 수신하고, 채널을 통해 상기 노말 커맨드들 또는 상기 서스펜드 커맨드를 메모리 장치로 전송하는 입출력 인터페이스를 포함하는 메모리 인터페이스.
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.
상기 커맨드 큐 제어부는,
상기 노말 커맨드들이 수신되면, 상기 노말 커맨드들을 임시로 저장하고,
상기 노말 커맨드들을 상기 커맨드 시간 제어부에 순차적으로 전송하고,
상기 종료 신호에 응답하여 상기 노말 커맨드들을 상기 입출력 인터페이스로 순차적으로 전송하는 메모리 인터페이스.
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.
상기 커맨드 큐 제어부는,
상기 노말 커맨드들을 상기 커맨드 시간 제어부로 순차적으로 출력한 후,
상기 종료 신호가 수신될 때마다 상기 노말 커맨드들을 상기 입출력 인터페이스로 순차적으로 전송하는 메모리 인터페이스.
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.
상기 커맨드 큐 제어뷰는,
상기 서스펜드 커맨드가 수신되면, 상기 노말 커맨드들의 출력 순서에 관계없이 상기 서스펜드 커맨드를 우선적으로 출력하는 메모리 인터페이스.
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.
상기 커맨드 큐 제어부는,
상기 노말 커맨드들이 수신되면 상기 노말 커맨드들을 상기 커맨드 시간 제어부로 순차적으로 전송하고,
상기 서스펜드 커맨드가 수신되면 상기 서스펜드 커맨드를 상기 커맨드 시간 테이블로 전송하는 메모리 인터페이스.
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.
상기 커맨드 시간 제어부는,
상기 노말 커맨드들의 특성 또는 중요도에 따라 상기 추가 동작 시간을 각각 부여하는 메모리 인터페이스.
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.
상기 커맨드 시간 제어부는,
상기 노말 커맨드들에 상기 추가 동작 시간을 모두 동일하게 부여하거나,
상기 노말 커맨드들 중 일부에 상기 추가 동작 시간을 부여하고, 나머지 노말 커맨드들에는 상기 추가 동작 시간을 부여하지 않는 메모리 인터페이스.
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.
상기 커맨드 시간 제어부는,
상기 노말 커맨드들의 상기 특성 및 중요도에 따라 상기 추가 동작 시간을 부여하거나 부여하지 않는 메모리 인터페이스.
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.
상기 커맨드 시간 테이블은,
상기 노말 커맨드들에 상기 추가 동작 시간이 각각 매칭된 커맨드 및 시간 정보가 저장되는 정보 테이블; 및
상기 정보 테이블에 상기 커맨드 및 시간 정보가 저장될 때마다 상기 종료 신호를 출력하는 메모리 인터페이스.
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.
상기 커맨드 시간 테이블은,
상기 서스펜드 커맨드가 수신되면, 상기 노말 커맨드에 매칭된 상기 추가 동작 시간이 지난 후에 상기 종료 신호를 출력하는 메모리 인터페이스.
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.
상기 노말 커맨드 또는 상기 서스펜드 커맨드를 메모리 장치로 전송하는 메모리 인터페이스를 포함하며,
상기 메모리 인터페이스는,
상기 노말 커맨드가 수신되면 상기 노말 커맨드에 추가 동작 시간을 부여한 후, 상기 노말 커맨드를 상기 메모리 장치에 전송하고,
상기 서스펜드 커맨드가 수신되면, 상기 추가 동작 시간 동안 상기 노말 커맨드를 더 실행시킨 후, 상기 서스펜드 커맨드를 상기 메모리 장치에 전송하는 메모리 컨트롤러.
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.
상기 메모리 인터페이스는,
상기 노말 커맨드 또는 상기 서스펜드 커맨드의 출력 순서를 제어하는 커맨드 큐 제어부;
상기 노말 커맨드에 따라 상기 추가 동작 시간을 부여하는 커맨드 시간 제어부;
상기 노말 커맨드와 상기 추가 동작 시간이 매칭된 정보를 저장하고, 상기 서스펜드 커맨드가 수신되면 상기 추가 동작 시간 동안 상기 서스펜드 커맨드를 지연시키는 커맨드 시간 테이블; 및
상기 커맨드 큐 제어부로부터 수신되는 상기 노말 커맨드 또는 상기 서스펜드 커맨드를 상기 메모리 장치로 전송하는 입출력 인터페이스를 포함하는 메모리 컨트롤러.
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.
상기 커맨드 큐 제어부는,
상기 노말 커맨드가 수신되면 상기 노말 커맨드를 임시로 저장한 후, 상기 노말 커맨드를 상기 커맨드 시간 제어부로 전송하고,
상기 서스펜드 커맨드가 수신되면 상기 서스펜드 커맨드를 임시로 저장한 후, 상기 서스펜드 커맨드를 상기 커맨드 시간 테이블로 전송하는 메모리 컨트롤러.
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.
상기 커맨드 시간 제어부는,
상기 노말 커맨드의 특성 또는 중요도에 따라 상기 추가 동작 시간을 부여하는 메모리 컨트롤러.
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.
상기 커맨드 시간 제어부는,
상기 노말 커맨드의 특성 또는 중요도에 따라 상기 추가 동작 시간을 부여하거나 부여하지 않는 메모리 컨트롤러.
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.
상기 커맨드 시간 테이블은,
상기 노말 커맨드에 상기 추가 동작 시간이 각각 커맨드 및 시간 정보가 저장되는 정보 테이블; 및
상기 정보 테이블에 상기 커맨드 및 시간 정보가 저장될 때마다 상기 종료 신호를 출력하는 메모리 컨트롤러.
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.
상기 커맨드 시간 테이블은,
상기 서스펜드 커맨드가 수신되면, 상기 노말 커맨드에 매칭된 상기 추가 동작 시간 동안 상기 서스펜드 커맨드를 지연시키고, 상기 추가 동작 시간이 지나면 상기 종료 신호를 출력하는 메모리 컨트롤러.
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.
상기 메모리 컨트롤러는,
상기 노말 커맨드의 특성 또는 중요도에 따라 상기 추가 동작 시간을 부여하는 메모리 시스템.
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.
상기 메모리 컨트롤러는,
상기 메모리 장치에서 상기 노말 커맨드가 실행되는 도중에 상기 서스펜드 커맨드가 생성되면,
상기 메모리 장치에서 상기 노말 커맨드가 상기 추가 동작 시간동안 더 실행되도록 상기 서스펜드 커맨드의 출력을 지연시키고,
상기 추가 동작 시간이 지나면 상기 서스펜드 커맨드를 상기 메모리 장치로 전송하는 메모리 시스템. 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.
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)
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)
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)
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 |
-
2018
- 2018-01-19 KR KR1020180007195A patent/KR20190088734A/en unknown
- 2018-08-31 US US16/119,575 patent/US10705757B2/en active Active
- 2018-09-21 CN CN201811109225.5A patent/CN110059032B/en active Active
Cited By (2)
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 |