[go: up one dir, main page]

KR20170120470A - Computing system, nonvolatile memory module and operating method of storage device - Google Patents

Computing system, nonvolatile memory module and operating method of storage device Download PDF

Info

Publication number
KR20170120470A
KR20170120470A KR1020160061012A KR20160061012A KR20170120470A KR 20170120470 A KR20170120470 A KR 20170120470A KR 1020160061012 A KR1020160061012 A KR 1020160061012A KR 20160061012 A KR20160061012 A KR 20160061012A KR 20170120470 A KR20170120470 A KR 20170120470A
Authority
KR
South Korea
Prior art keywords
internal operation
renewal time
command
host
request
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020160061012A
Other languages
Korean (ko)
Other versions
KR102646721B1 (en
Inventor
임선영
오기석
서성용
조영진
최인수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to TW106110214A priority Critical patent/TWI737703B/en
Priority to DE102017106713.2A priority patent/DE102017106713A1/en
Priority to CN201710248135.3A priority patent/CN107452423B/en
Priority to US15/492,436 priority patent/US10521153B2/en
Priority to JP2017083913A priority patent/JP7007102B2/en
Publication of KR20170120470A publication Critical patent/KR20170120470A/en
Priority to US16/706,078 priority patent/US11481149B2/en
Application granted granted Critical
Publication of KR102646721B1 publication Critical patent/KR102646721B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory

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)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 따른 저장 장치의 동작 방법은, 외부 장치에 내부 동작에 필요한 리뉴얼 타임(renewal time)을 요청하는 단계, 상기 외부 장치로부터 상기 요청에 대응하는 내부 동작 커맨드를 수신하는 단계, 및 상기 리뉴얼 타임 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하는 단계를 포함할 수 있다.A method of operating a storage device according to the present invention includes the steps of: requesting an external device for a renewal time required for an internal operation; receiving an internal operation command corresponding to the request from the external device; And performing the internal operation in response to the internal operation command.

Description

컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법{COMPUTING SYSTEM, NONVOLATILE MEMORY MODULE AND OPERATING METHOD OF STORAGE DEVICE}TECHNICAL FIELD [0001] The present invention relates to a computing system, a nonvolatile memory module, and a method of operating the storage device.

본 발명은 컴퓨팅 시스템, 비휘발성 메모리 모듈 및 저장 장치의 동작 방법에 관한 것이다.The present invention relates to a computing system, a non-volatile memory module, and a method of operation of the storage device.

현재 사용되는 컴퓨팅 시스템의 다양한 인터페이스와 호환 가능한 비휘발성 메모리에 대한 연구가 이루어지고 있다. 즉, 플래시 메모리를 메인 메모리(또는, 워킹 메모리)와 동일한 슬롯이나 채널에 장착하여 데이터 저장 장치나 또는 워킹 메모리로 사용하려는 시도들이 이루어지고 있다. 이 경우에는 종래에 사용하던 휘발성 램(예를 들면, DRAM)과의 호환성이 고려되어야 한다. 휘발성 램과의 호환성을 유지하면서도 최상의 데이터 신뢰성(data integrity), 저전력 특성을 제공할 수 있는 기술이 필요한 실정이다.Nonvolatile memory compatible with various interfaces of currently used computing systems is being studied. That is, attempts have been made to use a flash memory as a data storage device or a working memory by attaching the flash memory to the same slot or channel as the main memory (or working memory). In this case, compatibility with a conventional volatile RAM (for example, a DRAM) should be considered. There is a need for a technology capable of providing the best data integrity and low power characteristics while maintaining compatibility with volatile RAM.

본 발명의 목적은 신규한 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 저장 장치의 동작 방법을 제공하는 데 있다.It is an object of the present invention to provide a novel memory module, a computing system including the same, and a method of operation of the storage device thereof.

본 발명의 실시 예에 따른 저장 장치의 동작 방법은, 외부 장치에 내부 동작에 필요한 리뉴얼 타임(renewal time)을 요청하는 단계, 상기 외부 장치로부터 상기 요청에 대응하는 내부 동작 커맨드를 수신하는 단계, 및 상기 리뉴얼 타임 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하는 단계를 포함할 수 있다.A method of operating a storage device according to an embodiment of the present invention includes the steps of requesting an external device for a renewal time required for internal operation, receiving an internal operation command corresponding to the request from the external device, And performing the internal operation in response to the internal operation command during the renewal time.

본 발명의 실시 예에 따른 비휘발성 메모리 모듈은, 적어도 하나의 휘발성 메모리, 적어도 하나의 비휘발성 메모리, 및 상기 적어도 하나의 휘발성 메모리 및 상기 적어도 하나의 비휘발성 메모리를 제어하는 메모리 제어회로를 포함하고, 상기 메모리 제어회로는, 내부 동작이 필요하다고 판별될 때 내부 동작 요청 메시지를 외부 장치에 전송하고, 상기 외부 장치로부터 상기 내부 동작 요청 메시지에 대응하는 내부 동작 커맨드를 수신하고, 및 리뉴얼 타임(renewal time) 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하고, 상기 내부 동작 요청 메시지는 상기 리뉴얼 타임을 포함할 수 있다.A non-volatile memory module according to an embodiment of the present invention includes at least one volatile memory, at least one non-volatile memory, and a memory control circuit for controlling the at least one volatile memory and the at least one non-volatile memory , The memory control circuit transmits an internal operation request message to an external device when it is determined that the internal operation is necessary, receives an internal operation command corresponding to the internal operation request message from the external device, and the internal operation request message may include the renewal time in response to the internal operation command.

본 발명의 실시 예에 따른 메모리 모듈은, 복수의 디램들, 커맨드 및 어드레스를 입력 받고 상기 복수의 디램들을 제어하는 메모리 제어회로를 포함하고, 상기 메모리 제어회로는, 내부 동작에 필요한 리뉴얼 타임을 호스트로 요청하고, 상기 호스트로부터 상기 요청에 대응하는 리뉴얼 타임 승인/거절 정보를 수신하고, 및 상기 리뉴얼 타임 승인/거절 정보에 근거로 하여 상기 내부 동작을 전체적 혹은 부분적으로 수행할 수 있다.The memory module according to an embodiment of the present invention includes a memory control circuit that receives a plurality of dirams, a command and an address, and controls the plurality of dirams, and the memory control circuit includes a host , Receiving the renewal time approval / rejection information corresponding to the request from the host, and performing the internal operation in whole or in part based on the renewal time approval / rejection information.

본 발명의 실시 예에 따른 디램은, 메모리 셀 어레이, 및 내부 동작을 요청하는 메시지를 외부 장치로 전송하고, 상기 메시지에 대응하는 내부 동작 커맨드를 수신하고, 리뉴얼 타임 동안 내부 동작을 수행하는 리프레쉬 제어기를 포함하고, 상기 내부 동작은 상기 메모리 셀 어레이에 대한 리프레쉬 동작이고, 상기 메시지는 상기 리뉴얼 타임에 관련된 정보를 포함할 수 있다.A DRAM according to an embodiment of the present invention includes a memory cell array and a refresh controller that transmits an internal operation request message to an external device, receives an internal operation command corresponding to the message, and performs an internal operation during a renewal time The internal operation is a refresh operation for the memory cell array, and the message may include information related to the renewal time.

본 발명의 실시 예에 따른 컴퓨팅 시스템은, 호스트, 메모리 채널을 통해 상기 호스트에 연결된 메모리 모듈, 및 상기 메모리 채널을 통해 상기 호스트에 연결된 비휘발성 메모리 모듈을 포함하고, 상기 메모리 모듈 및 상기 비휘발성 메모리 모듈 중 적어도 하나는, 내부 동작에 필요한 리뉴얼 타임을 상기 호스트에 요청하고, 상기 호스트로부터 상기 요청에 대응하는 내부 동작 커맨드를 수신하고, 및 상기 리뉴얼 타임 동안에 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 전체적 혹은 부분적으로 수행하는 할 수 있다.A computing system according to an embodiment of the present invention includes a host, a memory module coupled to the host through a memory channel, and a non-volatile memory module coupled to the host via the memory channel, At least one of the modules is configured to request the host for a renewal time required for internal operation, receive an internal operation command corresponding to the request from the host, and receive the internal operation in response to the internal operation command during the renewal time You can do it in whole or in part.

본 발명의 실시 예에 따른 컴퓨팅 시스템은 저장 장치의 내부 동작에 필요한 리뉴얼 타임을 저장 장치에서 호스트에 직접 요청하고, 호스트에서는 이러한 요청에 응답하여 저장 장치에 시간에 관한 권한을 리뉴얼 타임 동안 이관시킴으로써, 저장 장치에서 내부 동작을 충분하게 수행할 수 있다.The computing system according to the embodiment of the present invention directly requests the host for the renewal time necessary for the internal operation of the storage device and the host responds to the request to transfer the authority relating to time to the storage device during the renewal time, The internal operation can be sufficiently performed in the storage device.

도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 저장 장치를 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 컴퓨팅 시스템에서 레지스터 설정 방식에 따른 리뉴얼 타임 요청 및 그것의 응답을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 비휘발성 메모리 모듈에 대한 실시 예를 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 실시 예를 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 다른 실시 예를 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 하나의 메모리 채널에 연결된 두 개의 메모리 모듈들을 구비한 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 9는 도 8에 도시된 컴퓨팅 시스템에서 제 2 메모리 모듈에서 내부 동작을 수행할 때 제 1 및 제 2 메모리 모듈들의 타이밍을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 컴퓨팅 시스템에서 호스트에서 발행되는 내부 동작 커맨드를 예시적으로 보여주는 도면이다.
도 11은 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템을 보여주는 도면이다.
도 12는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 디램을 예시적으로 보여주는 도면이다.
도 14는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 호스트의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 16은 본 발명의 실시 예에 따른 저장 장치의 내부 동작 방법을 예시적으로 보여주는 흐름도이다.
도 17은 본 발명의 실시 예에 따른 데이터 서버 시스템을 예시적으로 보여주는 블록도이다.
1 is an exemplary illustration of a computing system in accordance with an embodiment of the present invention.
2 is an exemplary illustration of a storage device according to an embodiment of the present invention.
3 is a diagram illustrating an example of a renewal time request and its response according to a register setting method in a computing system according to an embodiment of the present invention.
4 is an exemplary illustration of a computing system in accordance with another embodiment of the present invention.
FIG. 5 is a diagram illustrating an embodiment of a nonvolatile memory module according to an embodiment of the present invention. Referring to FIG.
6 is a view illustrating an embodiment of a timing of a host interface according to an internal operation request of a nonvolatile memory module according to an embodiment of the present invention.
7 is a view showing another embodiment of the timing of a host interface according to an internal operation request of a nonvolatile memory module according to an embodiment of the present invention.
8 is an exemplary diagram illustrating a computing system having two memory modules connected to one memory channel in accordance with an embodiment of the present invention.
9 is an exemplary diagram illustrating the timing of the first and second memory modules when performing an internal operation in the second memory module in the computing system shown in FIG.
10 is an exemplary diagram illustrating an internal operation command issued from a host in a computing system according to an embodiment of the present invention.
11 is a diagram illustrating a computing system according to another embodiment of the present invention.
12 is an exemplary diagram illustrating a computing system according to another embodiment of the present invention.
13 is a diagram illustrating an example of a DRAM according to an embodiment of the present invention.
Figure 14 is a diagram illustrating an exemplary computing system in accordance with another embodiment of the present invention.
15 is a flowchart illustrating an exemplary method of operating a host according to an embodiment of the present invention.
Figure 16 is a flow diagram illustrating an exemplary internal operation of a storage device in accordance with an embodiment of the present invention.
17 is a block diagram illustrating an exemplary data server system according to an embodiment of the present invention.

아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 혹은 대체물을 포함한다.The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, but on the contrary, is intended to cover all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.

제 1 혹은 제 2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고 유사하게 제 2 구성 요소는 제 1 구성 요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various components, but the components should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element may be referred to as a second element, The component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 혹은 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, specify that the presence of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be construed in a manner consistent with the meaning in the context of the relevant art and are not to be construed as ideal or overly formal, unless explicitly defined herein.

도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 컴퓨팅 시스템(10)은 호스트(100), 및 저장 장치(200)을 포함할 수 있다.1 is an exemplary illustration of a computing system in accordance with an embodiment of the present invention. Referring to FIG. 1, a computing system 10 may include a host 100, and a storage device 200.

실시 예에 있어서, 컴퓨팅 시스템(10)은 컴퓨터, 포터블(portable) 컴퓨터, UMPC(ultra mobile PC), 워크스테이션(workstation), 데이터 서버(data server), 넷북, PDA, 웹 태블릿, 무선 폰, 모바일 폰, 스마트폰, 전자북, PMP(portable multimedia player), 디지털 카메라, 디지털오디오 녹음기/재생기, 디지털 사진기/비디오 기록기/재생기, 포터블 게임 머신, 네비게이션 시스템, 블록 박스, 3D 텔레비전, 무선 환경에서 정보를 수신 및 송신하는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, RFID, 혹은 컴퓨팅 시스템을 구성하는 다양한 전자 장치들 중 어느 하나로 사용될 수 있다.In an embodiment, the computing system 10 may be a computer, a portable computer, an ultra mobile PC (UMPC), a workstation, a data server, a netbook, a PDA, a web tablet, A portable multimedia player (PMP), a digital camera, a digital audio recorder / player, a digital camera / video recorder / player, a portable gaming machine, a navigation system, a block box, a 3D television, Any one of various electronic devices constituting a home network, any one of various electronic devices constituting a computer network, any one of various electronic devices constituting a telematics network, an RFID, or a computing system May be used as any one of a variety of electronic devices.

호스트(100)는 컴퓨팅 시스템(10)의 전반적인 동작을 제어하도록 구현될 수 있다. 실시 예에 있어서, 호스트(100)는 적어도 하나의 프로세서, CPU(central processing unit), GPU(graphic processing unit), 메모리 제어기(memory controller) 등을 포함할 수 있다. 실시 예에 있어서, 프로세서는 범용 마이크로프로세서, 멀티코어 프로세서, 디지털 신호 프로세서(DSP; digital signal processor), ASIC(application specific integrated circuit), 혹은 그것들의 조합을 포함할 수 있다. 실시 예에 있어서, 메모리 제어기는 저장 장치(200)을 제어하도록 구현될 수 있다.The host 100 may be implemented to control the overall operation of the computing system 10. In an embodiment, the host 100 may include at least one processor, a central processing unit (CPU), a graphics processing unit (GPU), a memory controller, and the like. In an embodiment, the processor may comprise a general purpose microprocessor, a multicore processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a combination thereof. In an embodiment, the memory controller may be implemented to control the storage device 200.

실시 예에 있어서, 호스트(100)는 저장 장치(200)의 요청에 응답하여 리뉴얼 타임(renewal time)의 승인 혹은 거절을 지시하는 정보를 저장 장치(200)로 전송할 수 있다. 여기서 리뉴얼 타임은 저장 장치(200)의 내부 동작(internal operation)을 수행하는 데 필요한 시간이다.In an embodiment, the host 100 may send information to the storage device 200 in response to a request from the storage device 200 to indicate approval or rejection of a renewal time. Herein, the renewal time is a time required for performing an internal operation of the storage device 200.

실시 예에 있어서, 리뉴얼 타임 승인/거절 정보는 커맨드(command) 형태로 전송되거나 데이터(data) 형태로 전송될 수 있다. 하지만 본 발명이 여기에 제한되지 않는다. 본 발명의 리뉴얼 타임 승인/거절 정보는 호스트(100)와 저장 장치(200) 사이의 별도의 라인을 통하여 전송될 수도 있다.In an embodiment, the renewal time approval / rejection information may be transmitted in the form of a command or in the form of data. However, the present invention is not limited thereto. The renewal time approval / rejection information of the present invention may be transmitted through a separate line between the host 100 and the storage device 200. [

한편, 도 1에 도시된 호스트(100)는 저장 장치(200)의 요청에 응답하여 리뉴얼 타임을 저장 장치(200)로 전송하지만, 본 발명이 여기에 제한되지 않는다. 본 발명의 호스트(100)는 저장 장치(200)의 요청이 없이도 내부 정책에 따라 리뉴얼 타임 승인/거절 정보를 저장 장치(200)로 전송할 수 있다고 이해되어야 할 것이다.On the other hand, the host 100 shown in FIG. 1 transmits the renewal time to the storage device 200 in response to the request of the storage device 200, but the present invention is not limited thereto. It should be understood that the host 100 of the present invention can transmit the renewal time approval / rejection information to the storage device 200 according to the internal policy without the request of the storage device 200. [

저장 장치(200)는 호스트(100)에 연결되고, 호스트(100)의 동작에 필요한 데이터를 저장하도록 구현될 수 있다. 저장 장치(200)는 휘발성 메모리, 비휘발성 메모리, 혹은 그것들의 조합 중 적어도 하나일 수 있다. 예를 들어, 저장 장치(200)는 DIMM(dual in-line memory module), NVDIMM(nonvolatile dual in-line memory module), SSD(solid state drive), UFS(universal flash storage), eMMC(embedded multimedia card), SD(secure digital) 카드, DRAM(dynamic random access memory), SRAM(static random access memory), nand flash memory, vertical nand flash memory, PRAM(phase random access memory), RRAM(resistive random access memory) 등 일 수 있다.The storage device 200 may be connected to the host 100 and may be configured to store data necessary for the operation of the host 100. [ The storage device 200 may be at least one of volatile memory, non-volatile memory, or a combination thereof. For example, the storage device 200 may be a dual in-line memory module (DIMM), a nonvolatile dual in-line memory module (NVDIMM), a solid state drive (SSD), a universal flash storage (UFS) ), An SD (secure digital) card, a dynamic random access memory (DRAM), a static random access memory (SRAM), a nand flash memory, a vertical nand flash memory, a phase random access memory (PRAM) Lt; / RTI >

실시 예에 있어서, 저장 장치(200)는 DDR(double data rate) 인터페이스 규격에 따라 호스트(100)에 연결될 수 있다. 예를 들어, 저장 장치(200)는 DDRx 시리즈(x는 정수) 중 어느 하나로 구현될 수 있다. 본 발명의 저장 장치(200)는 DDR 인터페이스를 제외한 다양한 종류의 통신 인터페이스를 통하여 프로세서(100)에 연결될 수 있다. 예를 들어, 통신 인터페이스는 NVMe(non-volatile memory express), PCIe(peripheral component interconnect express), SATA(serial advanced technology attachment), SCSI(small computer system interface), SAS(serial attached SCSI), UAS(USB(universal storage bus) attached SCSI), iSCSI(internet small computer system interface), Fiber Channel, FCoE(fiber channel over ethernet) 등과 같은 것일 수 있다.In an embodiment, the storage device 200 may be coupled to the host 100 in accordance with a double data rate (DDR) interface specification. For example, the storage device 200 may be implemented in any one of DDRx series (where x is an integer). The storage device 200 of the present invention may be connected to the processor 100 through various types of communication interfaces except for the DDR interface. For example, the communication interface may be a non-volatile memory express (NVMe), a peripheral component interconnect (PCIe), a serial advanced technology attachment (SATA), a small computer system interface (SCSI), a serial attached SCSI (SAS) (universal storage bus) attached SCSI, iSCSI (Internet Small Computer System Interface), Fiber Channel, fiber channel over ethernet (FCoE), and the like.

실시 예에 있어서, 저장 장치(200)는 내부 정책에 따라 내부 동작이 필요하다고 판별될 경우, 호스트(100)에 내부 동작에 필요한 리뉴얼 타임을 요청하도록 구현될 수 있다. 실시 예에 있어서, 리뉴얼 타임 요청은, 메시지(message) 형태로 호스트(100)에 전송될 수 있다. In the embodiment, the storage device 200 may be configured to request the host 100 for the renewal time necessary for the internal operation when it is determined that the internal operation is required according to the internal policy. In an embodiment, the renewal time request may be sent to the host 100 in the form of a message.

실시 예에 있어서, 리뉴얼 타임 요청(renewal time request)을 갖는 메시지는 호스트(100)와 저장 장치(200) 사이의 적어도 하나의 데이터 채널, 적어도 하나의 클록 채널, 적어도 하나의 제어 채널, 전용의 적어도 하나의 메시지 채널 혹은 그것들의 조합을 통하여 호스트(100)로 전송될 수 있다. 예를 들어, 데이터 채널들을 통해 리뉴얼 타임 요청 메시지가 전송될 경우, 비동기 커맨드(asynchronous command)에 대응하는 응답(response) 메시지에 리뉴얼 타임 요청이 포함될 수 있다. 여기서, 비동기 커맨드는, 비동기 이벤트 요청 커맨드(asynchronous event request command)을 포함할 수 있다. 비동기 이벤트들(asynchronous events)은 저장 장치(200)의 상태(status), 에러(error), 및 헬쓰(health) 정보를 호스트(100)의 소프트웨어에 알리는데 이용될 수 있다.In an embodiment, a message with a renewal time request includes at least one data channel between the host 100 and the storage device 200, at least one clock channel, at least one control channel, at least a dedicated And may be transmitted to the host 100 through one message channel or a combination thereof. For example, when a renewal time request message is transmitted through data channels, a renewal time request may be included in a response message corresponding to an asynchronous command. Here, the asynchronous command may include an asynchronous event request command. Asynchronous events can be used to inform the software of the host 100 of the status, error, and health information of the storage device 200.

상술 된 리뉴얼 타임 요청은 메시지 형태로 호스트(100)로 전송되지만, 본 발명이 여기에 제안되지 않는다고 이해되어야 할 것이다. 본 발명의 리뉴얼 타임 요청은 내부 동작에 필요한 리뉴얼 타임에 대응하는 레지스터 선택을 요청하는 신호 행태로 호스트(100)로 전송될 수 있다.It should be understood that the above-described renewal time request is transmitted to the host 100 in the form of a message, but the present invention is not proposed here. The renewal time request of the present invention can be transmitted to the host 100 in a signaling operation requesting a register selection corresponding to a renewal time necessary for an internal operation.

실시 예에 있어서, 저장 장치(200)는 호스트(100)의 리뉴얼 타임 승인/거절 정보를 수신한 뒤, 내부 동작을 수행하도록 구현될 수 있다. 여기서 내부 동작은, 리프레쉬(refresh), 타이밍(timing) 조절, PVT(process-voltage-temperature) 보상, 내부 데이터 전송 등과 같은 다양한 동작을 포함할 수 있다. 실시 예에 있어서, 내부 동작은 리뉴얼 타임 승인/거절 정보에 응답하여 전체적으로 혹은 부분적으로 수행될 수 있다. 이를 위해 리뉴얼 타임 승인/거절 정보는 내부 동작의 전체 실행 혹은 부분 실행에 관련된 정보를 더 포함할 수 있다.In an embodiment, the storage device 200 may be implemented to perform internal operations after receiving the renewal time approval / rejection information of the host 100. [ Where the internal operations may include various operations such as refresh, timing adjustment, process-voltage-temperature (PVT) compensation, internal data transfer, In an embodiment, the internal operations may be performed wholly or in part in response to the renewal time approval / rejection information. For this, the renewal time approval / rejection information may further include information related to the entire execution or partial execution of the internal operation.

본 발명의 실시 예에 따른 컴퓨팅 시스템(10)은 저장 장치(200)의 내부 동작에 필요한 리뉴얼 타임을 저장 장치(200)에서 호스트(100)에 직접 요청하고, 호스트(100)에서는 이러한 요청에 응답하여 저장 장치(200)에 시간에 관한 권한을 리뉴얼 타임 동안 이관시킴으로써, 저장 장치(200)에서 내부 동작을 충분하게 수행할 수 있다. 즉, 호스트(100)는 저장 장치(200)에 내부 동작에 필요한 리뉴얼 타임을 승인해 줄 수 있다.The computing system 10 according to the embodiment of the present invention requests the renewal time required for the internal operation of the storage device 200 directly from the storage device 200 to the host 100, By transferring the authority relating to time to the storage device 200 during the renewal time, it is possible to sufficiently perform the internal operation in the storage device 200. [ That is, the host 100 can approve the renewal time required for the internal operation in the storage device 200. [

도 2는 본 발명의 실시 예에 따른 메모리 모듈(memory module)로 구현된 저장 장치(200)를 예시적으로 보여주는 도면이다. 도 2를 참조하면, 저장 장치(200)는 복수의 디램들(DRAMs, 211 ~ 214) 및 메모리 모듈 제어기(RCD, 220)를 포함할 수 있다.2 is an exemplary diagram illustrating a storage device 200 implemented with a memory module according to an embodiment of the present invention. Referring to FIG. 2, the storage device 200 may include a plurality of DRAMs (DRAMs) 211 to 214 and a memory module controller (RCD) 220.

복수의 디램들(211 ~ 214) 각각은 메모리 모듈 제어기(220)에 제어에 따라 데이터(DQ)를 입출력 하도록 구현될 수 있다. 도 2에 도시된 디램들(211 ~ 214)의 개수는 4이지만, 본 발명의 디램들의 개수가 여기에 제한되지 않는다고 이해되어야 할 것이다.Each of the plurality of DRAMs 211 to 214 may be implemented to control the memory module controller 220 to input and output data DQ. It should be understood that although the number of the DRAMs 211 to 214 shown in FIG. 2 is 4, the number of DRAMs of the present invention is not limited thereto.

메모리 모듈 제어기(220)는 호스트(100)로부터 커맨드 및/혹은 어드레스를 입력 받고, 복수의 디램들(211 ~ 214)의 입출력 동작을 제어하도록 구현될 수 있다. 실시 예에 있어서, 메모리 모듈 제어기(220)는 내부 정책에 따라 호스트(100)에 내부 동작에 필요한 리뉴얼 타임 요청을 전송하도록 구현될 수 있다. 실시 예에 있어서, 메모리 모듈 제어기(220)는 호스트(100)로부터 전송된 리뉴얼 타임 승인/거절 정보에 응답하여 내부 동작을 수행하도록 구현될 수 있다.The memory module controller 220 may be configured to receive commands and / or addresses from the host 100 and to control input and output operations of the plurality of DRAMs 211 to 214. In an embodiment, the memory module controller 220 may be implemented to send a renewal time request for internal operation to the host 100 according to an internal policy. In an embodiment, the memory module controller 220 may be implemented to perform internal operations in response to renewal time acknowledgment / rejection information sent from the host 100.

실시 예에 있어서, 저장 장치(200)는 패리티를 위한 디램(215)을 더 포함할 수 있다. 실시 예에 있어서, 저장 장치(200)는 호스트(100)와 복수의 디램들(211 ~ 214) 사이에 데이터(DQ)을 버퍼링하기 위한 데이터 버퍼들(DBs)을 더 포함할 수 있다. 실시 예에 있어서, 저장 장치(200)는 DDRx SDRAM 스펙을 만족하도록 구현될 수 있다. 예를 들어, 저장 장치(200)는 차세대 DDR4 SDRAM 스펙을 만족하도록 구현될 수 있다.In an embodiment, the storage device 200 may further include a DRAM 215 for parity. The storage device 200 may further include data buffers DBs for buffering data DQ between the host 100 and the plurality of DRAMs 211 to 214. [ In an embodiment, the storage device 200 may be implemented to satisfy the DDRx SDRAM specification. For example, the storage device 200 may be implemented to satisfy the next generation DDR4 SDRAM specification.

한편, 본 발명의 리뉴얼 타임은 레지스터 설정 방식으로 구현될 수 있다.Meanwhile, the renewal time of the present invention can be realized by a register setting method.

도 3은 본 발명의 실시 예에 따른 컴퓨팅 시스템(10)에서 레지스터 설정 방식에 따른 리뉴얼 타임 요청 및 그것의 응답을 예시적으로 보여주는 도면이다. 도 3을 참조하면, 저장 장치(200)는 복수의 리뉴얼 타임들(RT1 ~ RTk, k는 2 이상의 자연수)을 저장하는 레지스터 집합(register set)을 포함할 수 있다. 예를 들어, 제 1 리뉴얼 타임(RT1)은 16 클록에 대응하는 시간이고, 제 2 리뉴얼 타임(RT2)은 8 클록에 대응하는 시간일 수 있다.FIG. 3 is a diagram illustrating an example of a renewal time request and its response according to a register setting method in the computing system 10 according to an embodiment of the present invention. Referring to FIG. 3, the storage device 200 may include a register set storing a plurality of renewal times RT1 to RTk, k being a natural number of 2 or more. For example, the first renewal time RT1 may correspond to 16 clocks, and the second renewal time RT2 may correspond to 8 clocks.

저장 장치(200)의 리뉴얼 타임 요청에 응답하여 호스트(100)의 메모리 제어기(MC, memory controller)는 레지스터 선택 신호를 저장 장치(200)로 전송할 수 있다. 여기서 레지스터 선택 신호는 레지스터 집합 중에서 리뉴얼 타임 요청에 대응하는 레지스터를 선택하는 신호이다. 즉, 레지스터 선택 신호는 리뉴얼 타임 승인/거절 정보를 포함할 수 있다.In response to the renewal time request of the storage device 200, the memory controller (MC) of the host 100 may send a register selection signal to the storage device 200. Here, the register selection signal is a signal for selecting a register corresponding to the renewal time request in the register set. That is, the register selection signal may include renewal time approval / rejection information.

실시 예에 있어서, 레지스터 집합은 도 2에 도시된 메모리 모듈 제어기(220)에 포함될 수 있다. 하지만, 본 발명의 레지스터 집합의 위치가 여기에 제한되지 않는다고 이해되어야 할 것이다.In an embodiment, the register set may be included in the memory module controller 220 shown in FIG. However, it should be understood that the position of the register set of the present invention is not limited thereto.

한편, 도 1 내지 도 3에 도시된 컴퓨팅 시스템(10)은 리뉴얼 타임 관점에서 본 발명을 설명한다. 하지만 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. 본 발명의 컴퓨팅 시스템은 내부 동작 요청 및 내부 동작 요청에 응답한 내부 동작 커맨드를 발행한다는 관점에서도 설명 가능하다.On the other hand, the computing system 10 shown in FIGS. 1 to 3 describes the present invention in terms of renewal time. However, it should be understood that the present invention is not limited thereto. The computing system of the present invention can also be described in terms of issuing an internal operation command in response to an internal operation request and an internal operation request.

도 4는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(20)을 예시적으로 보여주는 도면이다. 도 4를 참조하면, 컴퓨팅 시스템(20)은 호스트(100a) 및 비휘발성 메모리 모듈(NVDIMM, 300)을 포함할 수 있다.4 is an exemplary illustration of a computing system 20 in accordance with another embodiment of the present invention. 4, the computing system 20 may include a host 100a and a non-volatile memory module (NVDIMM)

호스트(100a)는 비휘발성 메모리 모듈(300)로부터 내부 동작 요청(internal operation request)을 수신하고, 내부 동작 요청에 응답하여 내부 동작 커맨드(IOP)를 발행하고, 발행된 내부 동작 커맨드(IOP)를 비휘발성 메모리 모듈(300)으로 전송하도록 구현될 수 있다. 여기서 내부 동작 커맨드(IOP)는 내부 동작에 필요한 리뉴얼 타임(renewal time)을 포함할 수 있다. 실시 예에 있어서, 내부 동작 커맨드(IOP)는 내부 동작 요청을 승인하거나 거절하는 정보를 더 포함할 수 있다.The host 100a receives an internal operation request from the nonvolatile memory module 300, issues an internal operation command IOP in response to the internal operation request, and outputs the issued internal operation command IOP To the non-volatile memory module 300. The internal operation command (IOP) may include a renewal time required for the internal operation. In an embodiment, the internal operation command (IOP) may further include information to approve or reject the internal operation request.

실시 예에 있어서, 내부 동작 요청은, 데이터 핀들, 데이터 스트로브 핀들, 어드레스/커맨들 핀들, 제어 신호 핀들, 메시지 전용 핀들, 혹은 그것들의 조합을 통하여 호스트(100a)로 전송될 수 있다.In an embodiment, an internal operation request may be sent to the host 100a via data pins, data strobe pins, address / cursor pins, control signal pins, message dedicated pins, or a combination thereof.

실시 예에 있어서, 내부 동작 커맨드(IOP)는 커맨드/어드레스 핀들, RFU(reserved future use) 핀들, 혹은 그것들의 조합으로 발생될 수 있다.In an embodiment, an internal operation command (IOP) may be generated by command / address pins, reserved future use (RFU) pins, or a combination thereof.

비휘발성 메모리 모듈(300)은 내부 정책에 따라 내부 동작이 필요하다고 판별될 때 내부 동작 요청을 호스트(100a)로 전송할 수 있다. 여기서 내부 동작 요청은 메시지/신호 형태로 구현될 수 있다. 예를 들어, 메시지/신호 형태로 전송된 내부 동작 요청은 내부 동작에 필요한 리뉴얼 타임을 포함할 수 있다.The non-volatile memory module 300 may send an internal operation request to the host 100a when it is determined that the internal operation is required according to the internal policy. Here, the internal operation request can be implemented in the form of a message / signal. For example, an internal operation request sent in the form of a message / signal may include a renewal time required for internal operations.

실시 예에 있어서, 비휘발성 메모리 모듈(300)은 DDRx(x는 자연수) 인터페이스를 통하여 호스트(100a)에 연결될 수 있다. 예를 들어, 비휘발성 메모리 모듈(300)은 차세대 DDR4 SDRAM 스펙을 만족하도록 구현될 수 있다.In an embodiment, non-volatile memory module 300 may be coupled to host 100a via DDRx (where x is a natural number) interface. For example, the non-volatile memory module 300 may be implemented to satisfy the next generation DDR4 SDRAM specification.

실시 예에 있어서, 비휘발성 메모리 모듈(300)은 JEDEC 표준에 따른 NVDIMM(nonvolatile dual in line memory module)으로 구현될 수 있다. NVDIMM은 전력이 어느 예상치 못한 전력 손실, 시스템 고장이나 시스템을 정상적으로 종료에서 제거되더라도 데이터를 보유하는 메모리 모듈이다. NVDIMM는 애플리케이션 성능, 데이터 보안 시스템 고장 복구 시간을 개선하고 SSD 내구성 및 신뢰성을 향상시키기 위해 사용될 수 있다.In an embodiment, the non-volatile memory module 300 may be implemented as a nonvolatile dual inline memory module (NVDIMM) in accordance with the JEDEC standard. The NVDIMM is a memory module that retains data even if power is removed from any unexpected power loss, system failure, or system shutdown normally. NVDIMM can be used to improve application performance, data security system failure recovery time, and improve SSD durability and reliability.

이러한 NVDIMM은 다양한 형태로 구분될 수 있다. 하나의 실시 예는 메모리 혹은 가까운 메모리(near memory) 속도로 액세스하는 바이트 어드레서블 메모리 매핑 장치(byte addressable memory mapped device)이다. DDR4를 지원하는 이러한 NVDIMM은 여러 하드웨어 공급 업체에 의해 상업적으로 사용할 수 있다. 다른 실시 예는 DRAM 내부 채널(interconnect channel)에 상주하는 플래시 장치 모듈이다. 이러한 NVDIMM은 일반적으로 호스트의 드라이버 블록을 통해 액세스 될 수 있다. 프론트-엔드 캐시(front-end cache)가 누락될 때 플래시 장치에 액세스 된다. 또 다른 실시 예는 빠르게 액세스 가능한 디램들과 고용량의 비휘발성 메모리의 장점들을 모두 갖는 형태이다.These NVDIMMs can be divided into various types. One embodiment is a byte addressable memory mapped device that accesses memory or near memory speed. These NVDIMMs supporting DDR4 are commercially available from several hardware vendors. Another embodiment is a flash device module resident in a DRAM interconnect channel. These NVDIMMs can generally be accessed through the driver block of the host. The flash device is accessed when a front-end cache is missed. Another embodiment is in the form of having both the advantages of fast accessible DRAMs and high capacity non-volatile memory.

본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)은 호스트(100a)로 내부 동작 요청 메시지를 전송할 메시지 채널을 포함할 수 있다. 실시 예에 있어서, 메시지 채널은, DQ 채널, DQS 채널, 클록 채널, 제어 신호 채널, 혹은 그것들의 조합으로 이용될 수 있다. 다른 실시 예에 있어서, 메시지 채널은 내부 동작 요청 메시지 전송을 위한 전용 채널을 구비할 수 있다.The nonvolatile memory module 300 according to the embodiment of the present invention may include a message channel for transmitting an internal operation request message to the host 100a. In an embodiment, the message channel may be used as a DQ channel, a DQS channel, a clock channel, a control signal channel, or a combination thereof. In another embodiment, the message channel may have a dedicated channel for transmitting an internal operation request message.

실시 예에 있어서, 내부 동작 요청 메시지는 내부 동작을 수행할 비휘발성 메모리 모듈(300)에 대해 호스트(100a)가 소정의 시간 동안 비휘발성 메모리 모듈(300)에 새로운 명령을 전송하지 못하도록 리뉴얼 타임을 요청하는 것을 포함할 수 있다. 다른 실시 예에 있어서, 호스트(100a)가 소정의 시간 동안 새로운 명령을 발행하더라도, 내부 동작 커맨드를 수신한 비휘발성 메모리 모듈(300)은 이러한 새로운 명령을 무시할 수도 있다.In an embodiment, the internal operation request message may include a renewal time to prevent the host 100a from sending a new command to the non-volatile memory module 300 for a predetermined time for the non-volatile memory module 300 to perform the internal operation Requesting a request. In another embodiment, even if the host 100a issues a new command for a predetermined time, the nonvolatile memory module 300 receiving the internal operation command may ignore this new command.

실시 예에 있어서, 리뉴얼 타임은, 비휘발성 메모리 모듈(300)이 수행하는 내부 동작의 종류에 따라 가변 될 수 있다. 예를 들어, 리프레쉬 동작을 위해서는 리뉴얼 타임이 몇 ㎲ 정도 일 수 있다. 예를 들어, 내부 데이터 전송 동작을 위해서는 리뉴얼 타임이 수백 ㎲ 정도 일 수 있다.In an embodiment, the renewal time may vary depending on the type of internal operation performed by the non-volatile memory module 300. [ For example, the refresh time may be several microseconds for the refresh operation. For example, the renewal time may be several hundreds of microseconds for an internal data transfer operation.

실시 예에 있어서, 호스트(100a)는 내부 동작 요청을 수신하면, 이러한 내부 동작 요청을 승인하거나 거절할 수 있다. 예를 들어, 호스트(100a)가 내부 동작 요청을 승인하면, 호스트(100a)는 대응하는 내부 동작 커맨드(IOP)를 발행하고, 이를 비휘발성 메모리 모듈(300)에 전송할 수 있다. 예를 들어, 호스트(100a)가 내부 동작 요청을 거절하면, 비휘발성 메모리 모듈(300)은 내부 동작을 연기할 수 있다.In an embodiment, when host 100a receives an internal operation request, it may acknowledge or reject such internal operation request. For example, when host 100a approves an internal operation request, host 100a may issue a corresponding internal operation command (IOP) and send it to non-volatile memory module 300. [ For example, if host 100a declines an internal operation request, non-volatile memory module 300 may defer internal operations.

실시 예에 있어서, 비휘발성 메모리 모듈(300)은 리뉴얼 타임 동안 호스트(100a)의 중단 지시 없이 내부 동작을 수행할 수 있다.In an embodiment, the non-volatile memory module 300 may perform an internal operation without a stop instruction of the host 100a during the renewal time.

도 5는 본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)에 대한 실시 예를 보여주는 도면이다. 도 5를 참조하면, 비휘발성 메모리 모듈(300)은, 제 1 및 제 2 비휘발성 메모리들(310L, 301R), 제 1 및 제 2 휘발성 메모리들(320L, 320R), 제 1 및 제 2 데이터 버퍼들(330L, 330R), 및 메모리 제어회로(MMCD, 330)을 포함할 수 있다.5 is a diagram illustrating an embodiment of a non-volatile memory module 300 according to an embodiment of the present invention. Referring to FIG. 5, the non-volatile memory module 300 includes first and second non-volatile memories 310L and 301R, first and second volatile memories 320L and 320R, first and second data Buffers 330L and 330R, and memory control circuitry MMCD 330. [

제 1 및 제 2 비휘발성 메모리들(310L, 301R) 각각은 적어도 하나의 비휘발성 메모리를 포함할 수 있다. 실시 예에 있어서, 적어도 하나의 비휘발성 메모리는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM), TRAM(Thyristor Random Access Memory) 등을 포함할 수 있다.Each of the first and second non-volatile memories 310L and 301R may include at least one non-volatile memory. In an embodiment, the at least one non-volatile memory may be a NAND flash memory, a vertical NAND (VNAND), a NOR flash memory, a resistive random access memory (RRAM), a phase-change memory (PRAM), a magnetoresistive random access memory (MRAM), a ferroelectric random access memory (FRAM), a spin transfer torque random access memory Memory: STT-RAM), Thyristor Random Access Memory (TRAM), and the like.

또한, 비휘발성 메모리는 3차원 어레이 구조(three-dimensional array structure)로 구현될 수 있다. 본 발명의 실시 예로서, 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 혹은 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 혹은 기판 위에 위치할 수 있다. 모놀리식(monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착 됨을 의미한다.The non-volatile memory may also be implemented as a three-dimensional array structure. As an embodiment of the present invention, a three-dimensional memory array may be monolithically connected to one or more physical levels of arrays of memory cells having active areas disposed above a circuit associated with operation of a silicon substrate and memory cells. ). The circuitry associated with the operation of the memory cells may be located within or on the substrate. The term monolithical means that layers of each level in a three-dimensional array are deposited directly on the lower-level layers of the three-dimensional array.

본 발명의 개념에 따른 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가져, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.As an embodiment in accordance with the inventive concept, a three-dimensional memory array has vertical directionality and includes vertical NAND strings in which at least one memory cell is located on the other memory cell. The at least one memory cell includes a charge trap layer. Each vertical NAND string may include at least one select transistor located over the memory cells. The at least one select transistor has the same structure as the memory cells and can be formed monolithically with the memory cells.

3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 혹은 비트 라인들을 갖는다. 3차원 메모리 어레이에 적합한 구성은, 삼성전자에서 출원하였으며, 이 출원의 참고문헌으로 결합된 US 7,679,133, US 8,553,466, US 8,654,587, US 8,559,235, 및 US 2011/0233648에 설명될 것이다. 본 발명의 비휘발성 메모리(NVM)는 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리 장치는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(charge trap flash; CTF)에도 모두 적용 가능하다. A three-dimensional memory array is composed of a plurality of levels and has word lines or bit lines shared between levels. Suitable configurations for a three-dimensional memory array will be described in US 7,679,133, US 8,553,466, US 8,654,587, US 8,559,235, and US 2011/0233648, filed by Samsung Electronics and incorporated herein by reference. The nonvolatile memory (NVM) of the present invention is applicable not only to a flash memory device in which the charge storage layer is made of a conductive floating gate but also to a charge trap flash (CTF) in which the charge storage layer is made of an insulating film.

제 1 및 제 2 휘발성 메모리들(320L, 320R) 각각은 적어도 하나의 디램(DRAM)을 포함할 수 있다. 실시 예에 있어서, 적어도 하나의 디램은 듀얼 포트 디램으로 구현될 수 있다. 예를 들어, 적어도 하나의 디램의 제 1 포트들은 제 1 및 제 2 비휘발성 메모리들(310L, 310R) 중 적어도 하나의 비휘발성 메모리에 연결되고, 적어도 하나의 디램의 제 2 포트들은 제 1 및 제 2 데이터 버퍼들(330L, 330R) 중 대응하는 어느 하나에 연결될 수 있다.Each of the first and second volatile memories 320L and 320R may include at least one DRAM (DRAM). In an embodiment, the at least one diram may be implemented as a dual port diram. For example, the first ports of at least one diram are connected to a non-volatile memory of at least one of the first and second non-volatile memories 310L, 310R, and the second ports of the at least one diram are connected to the first and second non- And may be connected to any one of the second data buffers 330L and 330R.

메모리 제어회로(MMCD, 340)는 호스트(100a)로부터 커맨드 혹은 어드레스를 수신하고, 제 1 및 제 2 비휘발성 메모리들(310L, 310R)을 제어하기 위한 제 1 커맨드/어드레스(CAN)를 발생하거나, 제 1 및 제 2 휘발성 메모리들(320L, 320R)을 제어하기 위한 제 2 커맨드/어드레스(CAD)을 발생하도록 구현될 수 있다.The memory control circuit (MMCD) 340 receives a command or address from the host 100a and generates a first command / address (CAN) for controlling the first and second nonvolatile memories 310L and 310R , And a second command / address (CAD) for controlling the first and second volatile memories 320L and 320R.

실시 예에 있어서, 메모리 제어회로(340)는 내부 동작에 필요한 내부 동작 요청을 발생하고, 이를 호스트(100a)에 전송하도록 구현될 수 있다.In an embodiment, the memory control circuit 340 may be implemented to generate an internal operation request required for an internal operation and to transmit it to the host 100a.

실시 예에 있어서, 메모리 제어회로(340)는 호스트(100a)로부터 발행된 내부 동작 커맨드(IOP)를 수신하고, 수신된 내부 동작 커맨드(IOP)에 응답하여 내부 동작을 수행하도록 구현될 수 있다. 여기서 내부 동작 커맨드(IOP)는 내부 동작에 필요한 리뉴얼 타임을 포함할 수 있다.In an embodiment, the memory control circuit 340 may be implemented to receive an internal operation command (IOP) issued from the host 100a and perform an internal operation in response to the received internal operation command (IOP). Herein, the internal operation command (IOP) may include a renewal time required for the internal operation.

한편, 도 5에 도시된 비휘발성 메모리 모듈(300)은 메모리 제어회로(340)를 기준으로 좌측에 배치된 제 1 적어도 하나의 비휘발성 메모리(310L), 제 1 적어도 하나의 휘발성 메모리(320L), 제 1 데이터 버퍼들(330L)과, 우측에 배치된 제 2 적어도 하나의 비휘발성 메모리(310R), 제 2 적어도 하나의 휘발성 메모리(320R), 제 2 데이터 버퍼들(330R)을 포함한다. 하지만, 본 발명의 비휘발성 메모리 모듈(300)의 구조가 여기에 제한되지 않는다고 이해되어야 할 것이다.Meanwhile, the non-volatile memory module 300 shown in FIG. 5 includes a first at least one non-volatile memory 310L, a first at least one volatile memory 320L, The first data buffers 330L and the second at least one nonvolatile memory 310R, the second at least one volatile memory 320R and the second data buffers 330R disposed on the right side. However, it should be understood that the structure of the nonvolatile memory module 300 of the present invention is not limited thereto.

도 6은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 실시 예를 보여주는 도면이다.6 is a diagram illustrating an embodiment of a timing of a host interface according to an internal operation request of the nonvolatile memory module 300 according to an embodiment of the present invention.

실시 예에 있어서, 내부 동작 요청(IOP Request)은 호스트(100a)와 비휘발성 메모리 모듈(300) 사이의 호스트 인터페이스(host interface)를 통해 호스트(100a)로 전송될 수 있다. 여기서 호스트 인터페이스는 메모리 내부 채널일 수 있다.In an embodiment, an internal operation request (IOP Request) may be sent to the host 100a via a host interface between the host 100a and the non-volatile memory module 300. [ Where the host interface may be an in-memory channel.

실시 예에 있어서, 내부 동작 요청은 내부 동작을 완료하는 데 필요한 리뉴얼 타임을 지시하거나, 리뉴얼 타임에 관련된 정보를 포함할 수 있다.In an embodiment, the internal operation request may indicate a renewal time required to complete the internal operation, or may include information related to the renewal time.

내부 동작 요청을 포함하는 메시지가 메시지 핀(MSG)를 통해 호스트(100a)로 전송 될 때, 리뉴얼 타임에 관한 정보도 호스트(100a)에 전송될 수 있다. 리뉴얼 타임에 관한 정보는 데이터 핀(DQ0 ~ DQ7)을 통해 전송될 수 있다. 대안적으로, 리뉴얼 타임에 관한 정보는 CKE, CS, CK, ODT 핀 등과 같은 커맨드/어드레스 핀(CAs)를 통해 전송될 수 있다.When a message including an internal operation request is transmitted to the host 100a via the message pin MSG, information on the renewal time can also be transmitted to the host 100a. Information regarding the renewal time can be transmitted via the data pins DQ0 to DQ7. Alternatively, information regarding the renewal time may be transmitted via command / address pins (CAs) such as CKE, CS, CK, ODT pins, and the like.

선택적으로, 리뉴얼 타임에 관련된 정보는 메시지 핀(MSG)의 토글링을 통해 호스트(100a)에 전송될 수 있다. 실시 예에 있어서, 메시지 핀(MSG)의 연속적인 토글링의 개수는 리뉴얼 타임을 지시할 수 있다. 예를 들어, 메시지 핀(MSG)의 토글링의 개수는 내부 동작을 위해 요구되는 시간 일 수 있다.Alternatively, information related to the renewal time may be transmitted to the host 100a through toggling of the message pin MSG. In an embodiment, the number of consecutive toggling of the message pin MSG may indicate a renewal time. For example, the number of toggling of the message pin MSG may be the time required for internal operation.

또한, 메시지에 포함된 내부 동작 요청은 모든 뱅크에 대한 내부 동작 요청이거나, 일부 뱅크에 대한 내부 동작 요청일 수 있다. 만일, 모든 뱅크에 대한 내부 동작 요청이 호스트(100a)에 의해 승인되면, 호스트(100a)는 비휘발성 메모리 모듈(300)을 전혀 액세스할 수 없고, 비휘발성 메모리 모듈(300)에서는 모든 뱅크에 대한 내부 동작이 수행될 수 있다. 반면에, 일부 뱅크에 대한 내부 동작 요청이 호스트(100a)에 의해 승인되면, 내부 동작은 일부 뱅크에 대한 내부 동작 요청을 통해 선택된 뱅크만이 수행 될 수 있다. 이때, 호스트(100a)는 읽기/쓰기 동작을 위해, 선택된 뱅크를 제외하고, 다른 뱅크에 액세스 할 수 있다.In addition, the internal operation request included in the message may be an internal operation request for all the banks, or an internal operation request for some banks. If the internal operation request for all the banks is approved by the host 100a, the host 100a can not access the non-volatile memory module 300 at all and the non-volatile memory module 300 can not access the non- An internal operation can be performed. On the other hand, if an internal operation request for some of the banks is approved by the host 100a, the internal operation may be performed only on the selected bank through an internal operation request for some of the banks. At this time, the host 100a can access the other banks, except for the selected bank, for the read / write operation.

실시 예에 있어서, 내부 동작 요청 및 리뉴얼 타임에 관한 정보를 수신하면, 호스트(100a)는 내부 동작 요청을 승인할 지 혹은 거부할 지를 결정할 수도 있다.In an embodiment, upon receiving the information regarding the internal operation request and the renewal time, the host 100a may determine whether to approve or reject the internal operation request.

만일, 내부 동작 요청이 승인되면, 비휘발성 메모리 모듈(300)의 내부 동작을 시작하도록 호스트(100a)는 내부 동작 명령(IOP)을 발행할 수 있다. 이후, 호스트(100a)는 리뉴얼 타임 동안 비휘발성 메모리 모듈(300)에 액세스하기 위한 새로운 명령을 발행할 수 없다.If the internal operation request is granted, the host 100a may issue an internal operation command (IOP) to start the internal operation of the non-volatile memory module 300. [ Thereafter, the host 100a can not issue a new command for accessing the non-volatile memory module 300 during the renewal time.

반면에, 내부 동작 요청이 거절되면, 호스트(100a)는 하나의 내부 동작 명령을 실행하지 않음으로써 내부 동작 요청을 무시할 수도 있고, 내부 동작 요청을 거부하는 것을 통지하는 명령을 발행할 수 있다. 이때, 비휘발성 메모리 모듈(300)은 호스트(100a)의 거절 통지를 인지하고, 내부 동작을 수행하는 것을 연기하거나, 포기할 수 있다.On the other hand, if the internal operation request is rejected, the host 100a may issue an instruction to ignore the internal operation request by not executing one internal operation command, and to notify that the internal operation request is rejected. At this time, the nonvolatile memory module 300 recognizes the rejection notification of the host 100a and can postpone or abandon performing the internal operation.

한편, 본 발명은 비휘발성 메모리 모듈(300)의 내부 동작 요청에 리뉴얼 타임 승인/거절 정보를 포함하지 않도록 구현될 수 있다.Meanwhile, the present invention can be implemented so as not to include the renewal time approval / rejection information in the internal operation request of the nonvolatile memory module 300.

도 7은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 다른 실시 예를 보여주는 도면이다. 도 7을 참조하면, 내부 동작 요청은 두 단계의 절차에 의해 전송될 수 있다.7 is a view showing another embodiment of the timing of the host interface according to an internal operation request of the nonvolatile memory module 300 according to the embodiment of the present invention. Referring to FIG. 7, an internal operation request can be transmitted by a two-step procedure.

제 1 단계에서, 비휘발성 메모리 모듈(300)은 메시지 채널(MSG)을 통하여 호스트(100a)에만 내부 동작 요청하는 신호를 전송하고, 비휘발성 메모리 모듈(300)의 소정의 버퍼 영역에 리뉴얼 타임에 관한 정보(time info)를 저장할 수 있다.In the first step, the nonvolatile memory module 300 transmits a signal for requesting an internal operation only to the host 100a through a message channel (MSG), and transmits a signal for requesting an internal operation to the host 100a in a predetermined buffer area of the nonvolatile memory module 300 at a renewal time (Time information).

제 2 단계에서, 호스트(100a)는 소정의 버퍼 영역을 읽음으로써 내부 동작에 필요한 리뉴얼 타임을 추출하기 위한 읽기 명령을 발행할 수 있다. 실시 예에 있어서, 호스트(100a)는 읽혀진 타임 정보를 근거로 하여 내부 동작 커맨드(IOP)을 발행할 수 있다. 이후 저장 장치는 내부 동작 커맨드(IOP)에 응답하여 리뉴얼 타임 동안 내부 동작을 수행할 수 있다.In the second step, the host 100a can issue a read command to extract a renewal time required for the internal operation by reading a predetermined buffer area. In the embodiment, the host 100a can issue an internal operation command (IOP) based on the read time information. The storage device may then perform an internal operation during the renewal time in response to an internal operation command (IOP).

한편, 제 2 단계에서 호스트(100a)가 버퍼 영역의 리뉴얼 타임을 추출하기 위한 읽기 명령을 발행하지만, 본 발명이 여기에 제한될 필요는 없다. 예를 들어, 메모리 모듈(300)은 호스트(100a)의 내부 동작 커맨드(IOP)에 응답하여, 버퍼 영역에 저장된 리뉴얼 타임 승인/거절 정보를 읽고, 읽혀진 리뉴얼 타임 동안 내부 동작을 수행할 수 있다.On the other hand, in the second step, the host 100a issues a read command for extracting the renewal time of the buffer area, but the present invention need not be limited thereto. For example, in response to an internal operation command (IOP) of the host 100a, the memory module 300 may read the renewal time approval / rejection information stored in the buffer area and perform an internal operation during the read renewal time.

도 8은 본 발명의 실시 예에 따른 하나의 메모리 채널에 연결된 두 개의 메모리 모듈들을 구비한 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 8을 참조하면, 호스트는 하나의 메모리 채널(CH)을 통하여 제 1 및 제 2 메모리 모듈들(DIMM 1, DIMM2)에 연결 될 수 있다. 여기서 제 1 및 제 2 메모리 모듈들(DIMM1, DIMM2)의 각각은 내부 동작을 수행할 수 있다. 아래에서는 설명의 편의를 위하여 제 2 메모리 모듈(DIMM 2)에서 내부 동작이 수행된다고 가정하겠다.8 is an exemplary diagram illustrating a computing system having two memory modules connected to one memory channel in accordance with an embodiment of the present invention. Referring to FIG. 8, the host may be connected to the first and second memory modules (DIMM 1, DIMM 2) through one memory channel CH. Here, each of the first and second memory modules DIMM1 and DIMM2 may perform an internal operation. Hereinafter, it is assumed that the internal operation is performed in the second memory module (DIMM 2) for convenience of explanation.

도 9는 도 8에 도시된 컴퓨팅 시스템에서 제 2 메모리 모듈(DIMM 2)에서 내부 동작을 수행할 때 제 1 및 제 2 메모리 모듈들(DIMM 1, DIMM 2)의 타이밍을 예시적으로 보여주는 도면이다.9 is an exemplary diagram illustrating the timing of the first and second memory modules (DIMM 1, DIMM 2) when performing an internal operation in the second memory module (DIMM 2) in the computing system shown in FIG. 8 .

도 8 및 도 9를 참조하면, 제 2 메모리 모듈(DIMM 2)은 내부 동작 커맨드(IOP)에 응답하여 리뉴얼 타임 동안에 내부 동작을 수행할 수 있다. 여기서 내부 동작은 제 2 메모리 모듈(DIMM 2) 내부의 데이터 전송 동작일 수 있다. 호스트는 내부 동작을 수행하는 동안 제 2 메모리 모듈(DIMM 2)의 액세스를 금지할 수 있다. 호스트가 제 2 메모리 모듈(DIMM 2)을 액세스 할 수 없을지라도, 호스트는 아이들 상태(idle state)의 제 1 메모리 모듈(DIMM 1)을 액세스 할 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 제 1 메모리 모듈(DIMM 1)은, 프리차지 커맨드(PRE), 액티브 커맨드(ACT), 리드 커맨드/어드레스(RD)을 순차적으로 수신하고, 읽기 커맨드/어드레스(RD)에 응답한 데이터(D0 ~ D7)을 출력할 수 있다. 이후 다음 읽기 동작을 계속해서 수행할 수 있다.Referring to FIGS. 8 and 9, the second memory module (DIMM 2) may perform an internal operation during a renewal time in response to an internal operation command (IOP). Where the internal operation may be a data transfer operation within the second memory module (DIMM 2). The host may prohibit access of the second memory module (DIMM 2) while performing the internal operation. Although the host can not access the second memory module (DIMM 2), the host can access the first memory module (DIMM 1) in the idle state. 9, the first memory module (DIMM 1) sequentially receives the precharge command PRE, the active command ACT, and the read command / address RD, / D0 to D7 in response to the address RD. Then, the next read operation can be continuously performed.

본 발명의 실시 예에 따른 컴퓨팅 시스템은, 호스트와 제 1 메모리 모듈(DIMM 1) 사이의 데이터 통신 뒤에, 제 2 메모리 모듈(DIMM 2)의 내부 동작을 숨길 수 있다. 메모리 모듈(DIMM 2)의 내부 동작을 숨길 수 있기 때문에 그만큼 시스템 성능 향상을 기대할 수 있다. The computing system according to the embodiment of the present invention may hide the internal operation of the second memory module (DIMM 2) after data communication between the host and the first memory module (DIMM 1). Memory modules (DIMM 2) can hide the internal operation, which can improve system performance.

도 10은 본 발명의 실시 예에 따른 컴퓨팅 시스템에서 호스트에서 발행되는 내부 동작 커맨드를 예시적으로 보여주는 도면이다. 도 10을 참조하면, 호스트는 메모리 모듈(DIMM)/비휘발성 메모리 모듈(NVDIMM)의 내부 동작 요청에 응답하여, 내부 동작을 승인할 경우, 내부 동작 커맨드(IOPA, IOPB)을 발행할 수 있다. 제 1 내부 동작 커맨드(IOPA)는 메모리 모듈(DIMM)/비휘발성 메모리 모듈(NVDIMM)의 모든 뱅크들에 대한 내부 동작을 지시할 수 있다. 제 2 내부 동작 커맨드(IOPB)는 메모리 모듈(DIMM)/비휘발성 메모리 모듈(NVDIMM)의 단일 뱅크에 대한 내부 동작을 지시할 수 있다.10 is an exemplary diagram illustrating an internal operation command issued from a host in a computing system according to an embodiment of the present invention. Referring to FIG. 10, in response to an internal operation request of a memory module (DIMM) / nonvolatile memory module (NVDIMM), the host may issue an internal operation command (IOPA, IOPB) when approving an internal operation. The first internal operation command IOPA may indicate an internal operation for all banks of a memory module (DIMM) / non-volatile memory module (NVDIMM). The second internal operation command IOPB may indicate an internal operation for a single bank of a memory module (DIMM) / nonvolatile memory module (NVDIMM).

실시 예에 있어서, 모든 뱅크 내부 동작과 단일 뱅그 내부 동작은, 도 10 에 도시된 바와 같이 어드레스 핀으로부터 구별될 수 있다.In an embodiment, all bank internal operations and single-bank internal operations can be distinguished from the address pins as shown in FIG.

실시 예에 있어서, 내부 동작 커맨드들(IOPA, IOPB)은 커맨드/어드레스 핀들의 특수한 조합으로부터 생성될 수 있다. 이러한 조합들은 통상적인 DDR4 SDRAM의 RFU(reserved future use)를 위해 예비 될 수 있다. 실시 예에 있어서, 내부 동작 커맨드들(IOPA, IOPB)에 관련된 커맨드/어드레스 핀들은 CKE, CS, CAS, RAS, ACT, 뱅그 어드레스 및 어드레스 핀들을 포함할 수 있다.In an embodiment, the internal operation commands IOPA, IOPB may be generated from a special combination of command / address pins. These combinations can be reserved for a reserved future use (RFU) of a conventional DDR4 SDRAM. In an embodiment, the command / address pins associated with the internal operation commands IOPA, IOPB may include CKE, CS, CAS, RAS, ACT, bank address, and address pins.

실시 예에 있어서, 내부 동작 커맨드들(IOPA, IOPB)은 어드레스 핀들에 인가되는 프로그램된 값에 대응하여 가변되는 리뉴얼 타임을 포함할 수 있다. 예를 들어, 이러한 프로그램된 값은 어드레스핀들(A0 ~ A9)에 프로그램될 수 있다.In an embodiment, the internal operation commands IOPA, IOPB may include a renewal time that varies corresponding to the programmed value applied to the address pins. For example, such a programmed value may be programmed into address pins A0-A9.

한편, 도 8 내지 도 9에서 컴퓨팅 시스템은 하나의 메모리 채널에 동일한 2 개의 메모리 모듈들(DIMM 1, DIMM 2)을 연결되었다. 하지만, 본 발명이 여기에 제한되지 않는다. 본 발명의 컴퓨팅 시스템은 하나의 메모리 채널에 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMM)을 연결할 수도 있다.8 to 9, the computing system is connected to the same two memory modules (DIMM 1, DIMM 2) in one memory channel. However, the present invention is not limited thereto. The computing system of the present invention may couple a memory module (DIMM) and a nonvolatile memory module (NVDIMM) to one memory channel.

도 11은 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템을 보여주는 도면이다. 도 11을 참조하면, 컴퓨팅 시스템은 하나의 메모리 채널을 통하여 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMM)을 연결할 수 있다. 도 11에 도시된 바와 같이 비휘발성 메모리 모듈(NVDIMM)에 상술된 내부 동작을 수행하는 동안에, 호스트는 메모리 모듈(DIMM)를 액세스 할 수 있다. 또한, 반대의 경우도 가능하다. 예를 들어, 메모리 모듈(DIMM)에 내부 동작을 수행하는 동안에, 호스트는 비휘발성 메모리 모듈(NVDIMM)을 액세스할 수 있다.11 is a diagram illustrating a computing system according to another embodiment of the present invention. Referring to FIG. 11, a computing system may connect a memory module (DIMM) and a nonvolatile memory module (NVDIMM) through one memory channel. While performing the above-described internal operation to the nonvolatile memory module (NVDIMM) as shown in FIG. 11, the host can access the memory module (DIMM). The opposite is also possible. For example, while performing internal operations on a memory module (DIMM), the host can access the nonvolatile memory module (NVDIMM).

한편, 도 11에 도시된 컴퓨팅 시스템에서는 하나의 메모리 채널에 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMM)이 연결 되었다. 하지만, 본 발명이 여기에 제한되지 않는다. 본 발명은 2 개의 메모리 채널들 각각에 연결된 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMMP)로 구성된 컴퓨팅 시스템에도 적용 가능하다.Meanwhile, in the computing system shown in FIG. 11, a memory module (DIMM) and a nonvolatile memory module (NVDIMM) are connected to one memory channel. However, the present invention is not limited thereto. The present invention is also applicable to a computing system composed of a memory module (DIMM) and a nonvolatile memory module (NVDIMMP) connected to each of the two memory channels.

도 12는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 12를 참조하면, 호스트는 제 1 메모리 채널(CH1)을 통하여 메모리 모듈(DIMM)에 연결되고, 제 2 메모리 채널(CH2)을 통하여 비휘발성 메모리 모듈(NVDIMM)에 연결될 수 있다. 도 12에 도시된 바와 같이, 비휘발성 메모리 모듈(NVDIMM)에서 내부 동작을 수행하는 동안에, 호스트는 메모리 모듈(DIMM)을 액세스 할 수 있다.12 is an exemplary diagram illustrating a computing system according to another embodiment of the present invention. Referring to FIG. 12, a host may be connected to a memory module (DIMM) through a first memory channel CH1 and to a nonvolatile memory module NVDIMM via a second memory channel CH2. As shown in FIG. 12, while performing an internal operation in the nonvolatile memory module (NVDIMM), the host can access the memory module (DIMM).

한편, 상술한 본 발명의 동작은 메모리 모듈 형태가 아닌 칩 형태의 디램에도 적용 가능하다.Meanwhile, the operation of the present invention described above can be applied not only to a memory module but also to a chip-type DRAM.

도 13은 본 발명의 실시 예에 따른 디램을 예시적으로 보여주는 도면이다. 도 13을 참조하면, 디램(400)은 메모리 셀 어레이(410), 및 리프레쉬 제어기(420)을 포함할 수 있다.13 is a diagram illustrating an example of a DRAM according to an embodiment of the present invention. Referring to FIG. 13, the DRAM 400 may include a memory cell array 410, and a refresh controller 420.

메모리 셀 어레이(410)는 워드라인들과 비트라인들이 교차하는 곳에 형성된 복수의 디램 셀들을 포함할 수 있다.The memory cell array 410 may include a plurality of DRAM cells formed at intersections of the word lines and the bit lines.

리프레쉬 제어기(420)는 디램 셀들의 리프레쉬 동작을 수행하도록 구현될 수 있다. 실시 예에 있어서, 리프레쉬 제어기(420)는 호스트 혹은 외부 장치(external device)의 리프레쉬 커맨드에 응답하여 리프레쉬 동작을 수행할 수 있다.The refresh controller 420 may be implemented to perform the refresh operation of the DRAM cells. In an embodiment, the refresh controller 420 may perform a refresh operation in response to a refresh command of a host or an external device.

실시 예에 있어서, 리프레쉬 제어기(420)는 리프레쉬 동작이 필요하다고 판별될 때, 호스트/외부 장치에 리뉴얼 타임을 요청하도록 구현될 수 있다. 호스트/외부 장치는 리뉴얼 타임 요청에 응답하여 리뉴얼 타임 승인/거절 정보를 리프레쉬 제어기(420)에 전송할 수 있다. 리프레쉬 제어기(420)는 리뉴얼 타임 승인/거절 정보를 수신하고, 리뉴얼 타임 동안 리프레쉬 동작을 수행할 수 있다.In an embodiment, the refresh controller 420 may be implemented to request a renewal time to the host / external device when it is determined that a refresh operation is required. The host / external device may send the renewal time approval / rejection information to the refresh controller 420 in response to the renewal time request. The refresh controller 420 receives the renewal time approval / rejection information, and can perform the refresh operation during the renewal time.

실시 예에 있어서, 리프레쉬 제어기(420)는 모든 뱅크에 대한 리프레쉬 동작을 수행하거나, 일부 뱅크에 대한 리프레쉬 동작을 수행하도록 구현될 수 있다.In an embodiment, refresh controller 420 may be implemented to perform a refresh operation for all banks, or to perform a refresh operation for some banks.

한편, 본 발명은 전기 저항을 비트로 이용하는 3D XPoint 메모리에도 적용 가능하다.Meanwhile, the present invention is also applicable to a 3D XPoint memory using an electric resistance as a bit.

도 14는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 14를 참조하면, 컴퓨팅 시스템(40)은 프로세서(41), 메모리 모듈(DIMM, 42), 및 비휘발성 메모리(NVM, 43)를 포함할 수 있다.Figure 14 is a diagram illustrating an exemplary computing system in accordance with another embodiment of the present invention. 14, a computing system 40 may include a processor 41, a memory module (DIMM) 42, and a non-volatile memory (NVM)

프로세서(41)는 메모리 모듈(42) 및 비휘발성 메모리(43)를 제어하도록 구현될 수 있다. 실시 예에 있어서, 프로세서(41)는 메모리 모듈(42)의 내부 동작 요청에 응답하여 내부 동작 커맨드를 발행할 수 있다.The processor 41 may be implemented to control the memory module 42 and the non-volatile memory 43. In an embodiment, the processor 41 may issue an internal operation command in response to an internal operation request of the memory module 42.

메모리 모듈(42)은 DDR 인터페이스를 통하여 프로세서(41)에 연결될 수 있다. 메모리 모듈(42)은 내부 동작이 필요할 경우 프로세서(41)에 내부 동작 요청을 전송하도록 구현될 수 있다. 또한 메모리 모듈(42)은 프로세서(41)로부터 수신된 내부 동작 커맨드에 응답하여 내부 동작을 수행하도록 구현될 수 있다.The memory module 42 may be coupled to the processor 41 via a DDR interface. The memory module 42 may be implemented to send an internal operation request to the processor 41 when internal operation is required. The memory module 42 may also be implemented to perform internal operations in response to internal operation commands received from the processor 41. [

비휘발성 메모리(43)는 DDR-T(transaction) 인터페이스를 통하여 프로세서(41)에 연결될 수 있다. 이때, 메모리 모듈(42)은 비휘발성 메모리(43)의 캐시 기능을 수행하도록 구현될 수 있다. 실시 예에 있어서, 비휘발성 메모리(NVM)는 3D Xpoint 메모리일 수 있다. 한편, 비휘발성 메모리(43)의 내부 동작에 본 발명이 적용될 수 있다고 이해되어야 할 것이다.The non-volatile memory 43 may be coupled to the processor 41 via a DDR-T (transaction) interface. At this time, the memory module 42 may be implemented to perform the cache function of the nonvolatile memory 43. [ In an embodiment, the non-volatile memory NVM may be a 3D Xpoint memory. On the other hand, it should be understood that the present invention can be applied to the internal operation of the nonvolatile memory 43.

도 15는 본 발명의 실시 예에 따른 호스트의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 15를 참조하면, 호스트의 동작 방법은 다음과 같다.15 is a flowchart illustrating an exemplary method of operating a host according to an embodiment of the present invention. Referring to FIG. 15, an operation method of the host is as follows.

호스트는 메모리 채널에 연결된 다양한 종류의 저장 장치(DIMM, NVDIMM, DRAM, NVM, SSD, eMMC, SD card, UFS 등)로부터 내부 동작을 수행하기 위한 리뉴얼 타임 요청을 수신할 수 있다(S110). 호스트는 리뉴얼 타임 요청에 응답하여 저장 등의 내부 동작을 승인하거나 거절할 수 있다. 호스트는 리뉴얼 타임 요청에 대응하는 내부 동작 커맨드를 발행할 수 있다. 여기서 발행된 내부 동작 커맨드는 리뉴얼 타임을 포함할 수 있다(S120). 발행된 내부 동작 커맨드는 해당 저장 장치로 전송되고, 저장 장치는 내부 동작 커맨드에 응답하여 리뉴얼 타임동안 내부 동작을 수행할 수 있다.The host may receive a renewal time request for performing an internal operation from various kinds of storage devices (DIMM, NVDIMM, DRAM, NVM, SSD, eMMC, SD card, UFS, etc.) connected to the memory channel at step S110. The host may acknowledge or reject internal operations such as storage in response to a renewal time request. The host may issue an internal operation command corresponding to the renewal time request. The internal operation command issued here may include a renewal time (S120). The issued internal operation command is transmitted to the storage device, and the storage device can perform the internal operation during the renewal time in response to the internal operation command.

도 16은 본 발명의 실시 예에 따른 저장 장치의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 15 및 도 16을 참조하면, 저장 장치의 동작 방법은 다음과 같다.16 is a flow chart illustrating an exemplary method of operating a storage device in accordance with an embodiment of the present invention. 15 and 16, a method of operating the storage device is as follows.

저장 장치는 내부 정책에 따라 내부 동작이 필요한 지를 판별하고, 내부 동작에 필요한 리뉴얼 타임 요청을 호스트로 전송할 수 있다(S210). 여기서 리뉴얼 타임 요청은 메시지 형태, 신호 형태 등 다양한 방법들로 호스트로 전송될 수 있다고 이해되어야 할 것이다. 예를 들어, 저장 장치는 호스트에 리뉴얼 타임 요청을 갖는 메시지를 전송하도록 구현될 수 있다.The storage device may determine whether an internal operation is required according to the internal policy, and may transmit a renewal time request required for the internal operation to the host (S210). It should be understood that the renewal time request can be transmitted to the host in various ways such as message type, signal type, and the like. For example, the storage device may be implemented to send a message with a renewal time request to the host.

이후, 저장 장치는 호스트로부터 리뉴얼 타임 승인 혹은 거절을 지시하는 정보를 갖는 내부 동작 커맨드를 수신할 수 있다(S220). 저장 장치는 내부 동작 커맨드에 응답하여 전체적으로 혹은 부분적으로 내부 동작을 수행할 수 있다(S230).Thereafter, the storage device may receive an internal operation command having information indicating a renewal time approval or rejection from the host (S220). The storage device may perform the internal operation in whole or in part in response to the internal operation command (S230).

실시 예에 있어서, 내부 동작 커맨드가 리뉴얼 타임 승인을 지시하는 정보를 포함할 때, 저장 장치는 내부 동작 수행시 호스트로부터 발행된 새로운 커맨드를 무시할 수 있다.In an embodiment, when the internal operation command includes information indicating the renewal time approval, the storage device may ignore the new command issued from the host when the internal operation is performed.

실시 예에 있어서, 내부 동작 커맨드가 리뉴얼 타임 거절을 지시하는 정보를 포함할 때, 저장 장치는 호스트로부터 발생된 새로운 커맨드를 수신 혹은 처리할 수 있다.In an embodiment, when the internal operation command includes information indicating a renewal time rejection, the storage device may receive or process the new command generated from the host.

한편, 저장 장치는 내부 동작을 수행할 때 호스트로부터 발행된 새로운 커맨드를 수신 및 버퍼링할 수 있다고 이해되어야 할 것이다. 저장 장치는 호스트로부터 수신된 새로운 커맨드에 응답하여 내부 동작을 홀딩시킨 후, 새로운 커맨드를 우선적으로 처리할 수도 있다.On the other hand, it should be understood that the storage device can receive and buffer new commands issued from the host when performing internal operations. The storage device may preferentially process the new command after holding the internal operation in response to the new command received from the host.

한편, 본 발명은 데이터 서버에 응용 가능하다.Meanwhile, the present invention is applicable to a data server.

도 17은 본 발명의 실시 예에 따른 데이터 서버 시스템(50)을 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 데이터 서버 시스템(50)은 데이터 베이스 관리 시스템(RDBMS, 51), 캐시 서버(52), 및 어플리케이션 서버(53)를 포함할 수 있다.17 is a block diagram illustrating an exemplary data server system 50 in accordance with an embodiment of the present invention. 17, the data server system 50 may include a database management system (RDBMS) 51, a cache server 52, and an application server 53.

캐시 서버(52)는 데이터 베이스 관리 시스템(51)로부터의 무효화 통지에 대응하여 서로 다른 키(key), 값(value) 쌍을 유지하고, 삭제하는 키값 저장을 포함할 수 있다.The cache server 52 may include a key value storage for holding and deleting different pairs of keys and values in response to the invalidation notification from the database management system 51. [

데이터 베이스 관리 시스템(RDBMS, 51), 캐시 서버(52), 및 어플리케이션 서버(53) 중 적어도 하나는 도 1 내지 도 16에서 설명된 호스트, 메모리 모듈(DIMM), 비휘발성 메모리 모듈(NVDIMM), 디램, 혹은 비휘발성 메모리로 구현될 수 있다.At least one of the database management system (RDBMS) 51, the cache server 52, and the application server 53 includes a host, a memory module (DIMM), a nonvolatile memory module (NVDIMM) DRAM, or non-volatile memory.

한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.The above-described contents of the present invention are only specific examples for carrying out the invention. The present invention will include not only concrete and practical means themselves, but also technical ideas which are abstract and conceptual ideas that can be utilized as future technologies.

10, 20: 컴퓨팅 시스템
100, 100a: 호스트
200: 저장 장치
DIMM: 메모리 모듈
300, NVDIMM: 비휘발성 메모리 모듈
211 ~ 215, 400: DRAM
MC: 메모리 제어기
DB: 데이터 버퍼
IOP: 내부 동작 커맨드
410: 메모리 셀 어레이
420: 리프레쉬 제어기
10, 20: Computing system
100, 100a: host
200: Storage device
DIMM: Memory module
300, NVDIMM: Nonvolatile memory module
211 to 215, 400: DRAM
MC: Memory controller
DB: Data buffer
IOP: internal operation command
410: memory cell array
420: refresh controller

Claims (20)

저장 장치의 동작 방법에 있어서:
내부 동작에 필요한 리뉴얼 타임(renewal time)을 외부 장치에 요청하는 단계;
상기 요청에 대응하는 내부 동작 커맨드를 상기 외부 장치로부터 수신하는 단계; 및
상기 리뉴얼 타임 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하는 단계를 포함하는 방법.
A method of operating a storage device comprising:
Requesting an external device for a renewal time necessary for an internal operation;
Receiving an internal operation command corresponding to the request from the external device; And
And performing the internal operation in response to the internal operation command during the renewal time.
제 1 항에 있어서,
상기 리뉴얼 타임을 요청하는 단계는,
비동기 이벤트 요청 커맨드(asynchronous event request command)의 응답 메시지를 통해 상기 요청을 상기 외부 장치로 전송하는 단계를 포함하는 방법.
The method according to claim 1,
Wherein the step of requesting the renewal time comprises:
And transmitting the request to the external device through a response message of an asynchronous event request command.
제 1 항에 있어서,
상기 리뉴얼 타임을 요청하는 단계는,
상기 리뉴얼 타임을 갖는 메시지를 상기 외부 장치로 전송하는 단계를 포함하는 방법.
The method according to claim 1,
Wherein the step of requesting the renewal time comprises:
And transmitting the message having the renewal time to the external device.
제 1 항에 있어서,
상기 리뉴얼 타임을 요청하는 단계는,
상기 리뉴얼 타임을 상기 저장 장치의 버퍼 영역에 저장하는 단계; 및
메시지 채널을 이용하여 상기 요청을 상기 외부 장치로 전송하는 단계를 포함하고,
상기 내부 동작 커맨드를 수신할 때, 상기 버퍼 영역에 저장된 상기 리뉴얼 타임을 읽고, 상기 읽혀진 리뉴얼 타임 동안 상기 내부 동작이 수행되는 방법.
The method according to claim 1,
Wherein the step of requesting the renewal time comprises:
Storing the renewal time in a buffer area of the storage device; And
And sending the request to the external device using a message channel,
And when receiving the internal operation command, reading the renewal time stored in the buffer area, and performing the internal operation during the read renewal time.
제 1 항에 있어서,
상기 내부 동작 커맨드를 수신하는 단계는,
적어도 하나의 커맨드 핀, 적어도 하나의 어드레스 핀, 적어도 하나의 RFU(reserved future use) 핀 중 적어도 하나를 통하여 이루어지는 방법.
The method according to claim 1,
Wherein receiving the internal operation command comprises:
At least one command pin, at least one address pin, and at least one reserved future use (RFU) pin.
제 1 항에 있어서,
상기 내부 동작을 수행하는 단계는,
상기 내부 동작 커맨드에 응답하여 모든 뱅크 혹은 일부 뱅크에 대한 내부 동작을 수행하는 단계를 포함하는 방법.
The method according to claim 1,
Wherein performing the internal operation comprises:
And performing internal operations on all or some of the banks in response to the internal operation command.
적어도 하나의 휘발성 메모리;
적어도 하나의 비휘발성 메모리; 및
상기 적어도 하나의 휘발성 메모리 및 상기 적어도 하나의 비휘발성 메모리를 제어하는 메모리 제어회로를 포함하고,
상기 메모리 제어회로는, 내부 동작이 필요하다고 판별될 때 내부 동작 요청 메시지를 외부 장치에 전송하고, 상기 외부 장치로부터 상기 내부 동작 요청 메시지에 대응하는 내부 동작 커맨드를 수신하고, 및 리뉴얼 타임(renewal time) 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하고,
상기 내부 동작 요청 메시지는 상기 리뉴얼 타임을 포함하는 비휘발성 메모리 모듈.
At least one volatile memory;
At least one non-volatile memory; And
A memory control circuit for controlling said at least one volatile memory and said at least one non-volatile memory,
Wherein the memory control circuit transmits an internal operation request message to an external device when it is determined that an internal operation is required, receives an internal operation command corresponding to the internal operation request message from the external device, and generates a renewal time ), ≪ / RTI > performing said internal operation in response to said internal operation command,
Wherein the internal operation request message includes the renewal time.
제 7 항에 있어서,
상기 메모리 제어회로는, 상기 내부 동작을 수행할 때, 상기 외부 장치로부터 발행된 새로운 커맨드를 무시하는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the memory control circuit ignores a new command issued from the external device when performing the internal operation.
제 7 항에 있어서,
상기 메모리 제어회로는, 내부 동작 요청을 거절하는 정보를 지시하는 상기 내부 동작 커맨드를 수신할 때, 상기 외부 장치로부터 발행된 새로운 커맨드를 처리하는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the memory control circuit processes a new command issued from the external device when receiving the internal operation command indicating information rejecting an internal operation request.
제 7 항에 있어서,
상기 내부 동작 커맨드는 상기 리뉴얼 타임 혹은 상기 리뉴얼 타임에 관련된 정보를 포함하는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the internal operation command includes information related to the renewal time or the renewal time.
제 7 항에 있어서,
상기 내부 동작 커맨드는 적어도 하나의 커맨드 핀, 적어도 하나의 어드레스 핀, 적어도 하나의 RFU(reserved future use) 핀 중 적어도 하나를 이용하여 수신되는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the internal operation command is received using at least one of at least one command pin, at least one address pin, and at least one reserved future use (RFU) pin.
제 7 항에 있어서,
상기 내부 동작 요청 메시지는 적어도 하나의 데이터 핀 및 적어도 하나의 데이터 스트로브 핀 중 적어도 하나를 이용하여 상기 외부 장치로 전송되는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the internal operation request message is transmitted to the external device using at least one of a data pin and at least one data strobe pin.
제 7 항에 있어서,
상기 내부 동작 요청 메시지는 적어도 하나의 메시지 핀을 통하여 토글되는 신호를 이용하여 상기 외부 장치로 전송되는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the internal operation request message is transmitted to the external device using a signal toggled through at least one message pin.
제 7 항에 있어서,
상기 메모리 제어회로는,
상기 내부 동작에 필요한 상기 리뉴얼 타임을 버퍼 영역에 저장하고,
상기 내부 동작 요청 메시지에 대응하는 신호를 메시지 핀을 통하여 상기 외부 장치로 전송하고,
상기 외부 장치로부터 상기 신호에 대응하는 읽기 커맨드를 수신하고,
상기 수신된 읽기 명령에 응답하여 상기 버퍼 영역에 저장된 리뉴얼 타임을 읽고,
상기 외부 장치로부터 상기 읽혀진 리뉴얼 타임에 대응하는 상기 내부 동작 커맨드를 수신하는 비휘발성 메모리 모듈.
8. The method of claim 7,
The memory control circuit comprising:
Storing the renewal time required for the internal operation in a buffer area,
Transmitting a signal corresponding to the internal operation request message to the external device through a message pin,
Receives a read command corresponding to the signal from the external device,
Reading the renewal time stored in the buffer area in response to the received read command,
And receives the internal operation command corresponding to the read renewal time from the external device.
제 7 항에 있어서,
상기 내부 동작은 상기 적어도 하나의 휘발성 메모리의 리프레쉬 동작을 포함하는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the internal operation includes a refresh operation of the at least one volatile memory.
제 7 항에 있어서,
상기 내부 동작은 상기 적어도 하나의 휘발성 메모리와 상기 적어도 하나의 비휘발성 메모리 사이의 데이터 전송 동작을 포함하는 비휘발성 메모리 모듈.
8. The method of claim 7,
Wherein the internal operation includes a data transfer operation between the at least one volatile memory and the at least one non-volatile memory.
제 7 항에 있어서,
상기 내부 동작 커맨드는,
모든 뱅크에 대한 내부 동작을 지시하는 제 1 내부 동작 커맨드; 혹은
싱글 뱅크에 대한 내부 동작을 지시하는 제 2 내부 동작 커맨드을 포함하는 비휘발성 메모리 모듈.
8. The method of claim 7,
The internal operation command includes:
A first internal operation command indicating an internal operation for all the banks; or
And a second internal operation command that indicates an internal operation for the single bank.
복수의 디램들;
커맨드 및 어드레스를 입력 받고 상기 복수의 디램들을 제어하는 메모리 제어회로를 포함하고,
상기 메모리 제어회로는,
내부 동작에 필요한 리뉴얼 타임을 호스트로 요청하고;
상기 요청에 대응하는 리뉴얼 타임 승인/거절 정보를 상기 호스트로부터 수신하고; 및
상기 리뉴얼 타임 승인/거절 정보에 근거로 하여 상기 내부 동작을 전체적 혹은 부분적으로 수행하는 메모리 모듈.
A plurality of dirams;
And a memory control circuit receiving a command and an address and controlling the plurality of drams,
The memory control circuit comprising:
Request a renewal time required for internal operation to the host;
Receiving renewal time approval / rejection information corresponding to the request from the host; And
And performs the internal operation in whole or in part based on the renewal time approval / rejection information.
제 18 항에 있어서,
상기 요청은 상기 호스트에 메시지 형태로 전송되고, 및
상기 리뉴얼 타임 승인/거절 정보는 상기 호스트로부터 커맨드 형태로 수신되는 메모리 모듈.
19. The method of claim 18,
The request is sent in the form of a message to the host, and
And the renewal time approval / rejection information is received in the form of a command from the host.
메모리 셀 어레이; 및
내부 동작을 요청하는 메시지를 외부 장치로 전송하고, 상기 메시지에 대응하는 내부 동작 커맨드를 수신하고, 리뉴얼 타임 동안 내부 동작을 수행하는 리프레쉬 제어기를 포함하고,
상기 내부 동작은 상기 메모리 셀 어레이에 대한 리프레쉬 동작이고,
상기 메시지는 상기 리뉴얼 타임에 관련된 정보를 포함하는 디램(DRAM).
A memory cell array; And
A refresh controller for transmitting a message requesting an internal operation to an external device, receiving an internal operation command corresponding to the message, and performing an internal operation during a renewal time,
Wherein the internal operation is a refresh operation for the memory cell array,
Wherein the message includes information related to the renewal time.
KR1020160061012A 2016-04-20 2016-05-18 Computing system, nonvolatile memory module and operating method of storage device Active KR102646721B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
TW106110214A TWI737703B (en) 2016-04-20 2017-03-28 Nonvolatile memory module and method for operating a storage device
DE102017106713.2A DE102017106713A1 (en) 2016-04-20 2017-03-29 Computing system, nonvolatile memory module, and method of operating a memory device
CN201710248135.3A CN107452423B (en) 2016-04-20 2017-04-17 Computing system, non-volatile memory module, and method of operating a memory device
US15/492,436 US10521153B2 (en) 2016-04-20 2017-04-20 Computing system, nonvolatile memory module and method of storage device
JP2017083913A JP7007102B2 (en) 2016-04-20 2017-04-20 How to operate the non-volatile memory module and storage device
US16/706,078 US11481149B2 (en) 2016-04-20 2019-12-06 Memory module and memory system relating thereto

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662325051P 2016-04-20 2016-04-20
US62/325,051 2016-04-20

Publications (2)

Publication Number Publication Date
KR20170120470A true KR20170120470A (en) 2017-10-31
KR102646721B1 KR102646721B1 (en) 2024-03-14

Family

ID=60301524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160061012A Active KR102646721B1 (en) 2016-04-20 2016-05-18 Computing system, nonvolatile memory module and operating method of storage device

Country Status (3)

Country Link
KR (1) KR102646721B1 (en)
CN (1) CN107452423B (en)
TW (1) TWI737703B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022211267A1 (en) * 2021-03-30 2022-10-06 삼성전자 주식회사 Data processing system and operation method of data processing apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7048289B2 (en) * 2017-12-08 2022-04-05 キオクシア株式会社 Information processing equipment and methods
TWI708150B (en) * 2018-05-08 2020-10-21 華碩電腦股份有限公司 Motherboard and memory module

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130119545A (en) * 2012-04-24 2013-11-01 삼성전자주식회사 Memory device, memory controller, memory system and method of operating the same
US20140071778A1 (en) * 2012-09-11 2014-03-13 International Business Machines Corporation Memory device refresh
US20150186074A1 (en) * 2013-12-30 2015-07-02 Sandisk Technologies Inc. Storage Module and Method for Configuring Command Attributes
KR20150134066A (en) * 2014-05-21 2015-12-01 에스케이하이닉스 주식회사 Semiconductor Memory Apparatus

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208746A (en) * 2004-01-20 2005-08-04 Victor Co Of Japan Ltd Storage device control method and storage operation instruction device control method
JP4615896B2 (en) * 2004-05-25 2011-01-19 富士通セミコンダクター株式会社 Semiconductor memory device and control method of semiconductor memory device
US7461162B2 (en) * 2004-12-16 2008-12-02 International Business Machines Corporation Usage consciousness in HTTP/HTML for reducing unused data flow across a network
KR100918299B1 (en) * 2007-04-25 2009-09-18 삼성전자주식회사 Flash memory device having row decoder that does not store bad block information and control method thereof
US7788415B2 (en) * 2007-05-28 2010-08-31 Sandisk Il Ltd. Management of internal operations by a storage device
KR102021401B1 (en) * 2012-08-30 2019-11-04 에스케이하이닉스 주식회사 Memory device
KR102088403B1 (en) * 2013-08-08 2020-03-13 삼성전자 주식회사 Storage device, computer system comprising the same, and operating method thereof
CN104505117B (en) * 2014-12-30 2017-10-03 华中科技大学 A kind of dynamic memory refresh method and refresh controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130119545A (en) * 2012-04-24 2013-11-01 삼성전자주식회사 Memory device, memory controller, memory system and method of operating the same
US20140071778A1 (en) * 2012-09-11 2014-03-13 International Business Machines Corporation Memory device refresh
US20150186074A1 (en) * 2013-12-30 2015-07-02 Sandisk Technologies Inc. Storage Module and Method for Configuring Command Attributes
KR20150134066A (en) * 2014-05-21 2015-12-01 에스케이하이닉스 주식회사 Semiconductor Memory Apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022211267A1 (en) * 2021-03-30 2022-10-06 삼성전자 주식회사 Data processing system and operation method of data processing apparatus
US12340105B2 (en) 2021-03-30 2025-06-24 Samsung Electronics Co., Ltd. Data processing system and operation method of data processing apparatus

Also Published As

Publication number Publication date
TWI737703B (en) 2021-09-01
TW201738764A (en) 2017-11-01
CN107452423B (en) 2022-11-04
KR102646721B1 (en) 2024-03-14
CN107452423A (en) 2017-12-08

Similar Documents

Publication Publication Date Title
US11481149B2 (en) Memory module and memory system relating thereto
US9971697B2 (en) Nonvolatile memory module having DRAM used as cache, computing system having the same, and operating method thereof
US11614866B2 (en) Nonvolatile memory device and operation method thereof
US11023396B2 (en) Memory system including DRAM cache and cache management method thereof
US10019367B2 (en) Memory module, computing system having the same, and method for testing tag error thereof
US11086571B2 (en) Nonvolatile memory capable of outputting data using wraparound scheme, computing system having the same, and read method thereof
US20220245021A1 (en) Memory devices for performing repair operation, memory systems including the same, and operating methods thereof
US20250021262A1 (en) Strategic memory cell reliability management
WO2022225590A1 (en) Cache based flow for a simple copy command
CN113946371A (en) Parallel boot execution of memory devices
US20220075560A1 (en) NVMe Simple Copy Command Support Using Dummy Virtual Function
US20250224902A1 (en) Computational storage device, method for operating the computational storage device and method for operating host device
KR102646721B1 (en) Computing system, nonvolatile memory module and operating method of storage device
KR102513903B1 (en) Nonvolatile memory module and memory system
KR102374637B1 (en) Computing system and memory management method therfof
US20230297277A1 (en) Combining Operations During Reset
US11934693B2 (en) Detection of scattered data locations
US20250238157A1 (en) Storage devices, storage systems and methods for operating the same
KR20170042522A (en) Storage device for processing de-identification request and operating method

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160518

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20210517

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20160518

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230615

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20231211

PG1601 Publication of registration