KR102646721B1 - 컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법 - Google Patents

컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법 Download PDF

Info

Publication number
KR102646721B1
KR102646721B1 KR1020160061012A KR20160061012A KR102646721B1 KR 102646721 B1 KR102646721 B1 KR 102646721B1 KR 1020160061012 A KR1020160061012 A KR 1020160061012A KR 20160061012 A KR20160061012 A KR 20160061012A KR 102646721 B1 KR102646721 B1 KR 102646721B1
Authority
KR
South Korea
Prior art keywords
internal operation
request
command
external device
internal
Prior art date
Application number
KR1020160061012A
Other languages
English (en)
Other versions
KR20170120470A (ko
Inventor
임선영
오기석
서성용
조영진
최인수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to TW106110214A priority Critical patent/TWI737703B/zh
Priority to DE102017106713.2A priority patent/DE102017106713A1/de
Priority to CN201710248135.3A priority patent/CN107452423B/zh
Priority to US15/492,436 priority patent/US10521153B2/en
Priority to JP2017083913A priority patent/JP7007102B2/ja
Publication of KR20170120470A publication Critical patent/KR20170120470A/ko
Priority to US16/706,078 priority patent/US11481149B2/en
Application granted granted Critical
Publication of KR102646721B1 publication Critical patent/KR102646721B1/ko

Links

Images

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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)을 요청하는 단계, 상기 외부 장치로부터 상기 요청에 대응하는 내부 동작 커맨드를 수신하는 단계, 및 상기 리뉴얼 타임 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하는 단계를 포함할 수 있다.

Description

컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법{COMPUTING SYSTEM, NONVOLATILE MEMORY MODULE AND OPERATING METHOD OF STORAGE DEVICE}
본 발명은 컴퓨팅 시스템, 비휘발성 메모리 모듈 및 저장 장치의 동작 방법에 관한 것이다.
현재 사용되는 컴퓨팅 시스템의 다양한 인터페이스와 호환 가능한 비휘발성 메모리에 대한 연구가 이루어지고 있다. 즉, 플래시 메모리를 메인 메모리(또는, 워킹 메모리)와 동일한 슬롯이나 채널에 장착하여 데이터 저장 장치나 또는 워킹 메모리로 사용하려는 시도들이 이루어지고 있다. 이 경우에는 종래에 사용하던 휘발성 램(예를 들면, DRAM)과의 호환성이 고려되어야 한다. 휘발성 램과의 호환성을 유지하면서도 최상의 데이터 신뢰성(data integrity), 저전력 특성을 제공할 수 있는 기술이 필요한 실정이다.
본 발명의 목적은 신규한 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 저장 장치의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 저장 장치의 동작 방법은, 외부 장치에 내부 동작에 필요한 리뉴얼 타임(renewal time)을 요청하는 단계, 상기 외부 장치로부터 상기 요청에 대응하는 내부 동작 커맨드를 수신하는 단계, 및 상기 리뉴얼 타임 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 비휘발성 메모리 모듈은, 적어도 하나의 휘발성 메모리, 적어도 하나의 비휘발성 메모리, 및 상기 적어도 하나의 휘발성 메모리 및 상기 적어도 하나의 비휘발성 메모리를 제어하는 메모리 제어회로를 포함하고, 상기 메모리 제어회로는, 내부 동작이 필요하다고 판별될 때 내부 동작 요청 메시지를 외부 장치에 전송하고, 상기 외부 장치로부터 상기 내부 동작 요청 메시지에 대응하는 내부 동작 커맨드를 수신하고, 및 리뉴얼 타임(renewal time) 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하고, 상기 내부 동작 요청 메시지는 상기 리뉴얼 타임을 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 모듈은, 복수의 디램들, 커맨드 및 어드레스를 입력 받고 상기 복수의 디램들을 제어하는 메모리 제어회로를 포함하고, 상기 메모리 제어회로는, 내부 동작에 필요한 리뉴얼 타임을 호스트로 요청하고, 상기 호스트로부터 상기 요청에 대응하는 리뉴얼 타임 승인/거절 정보를 수신하고, 및 상기 리뉴얼 타임 승인/거절 정보에 근거로 하여 상기 내부 동작을 전체적 혹은 부분적으로 수행할 수 있다.
본 발명의 실시 예에 따른 디램은, 메모리 셀 어레이, 및 내부 동작을 요청하는 메시지를 외부 장치로 전송하고, 상기 메시지에 대응하는 내부 동작 커맨드를 수신하고, 리뉴얼 타임 동안 내부 동작을 수행하는 리프레쉬 제어기를 포함하고, 상기 내부 동작은 상기 메모리 셀 어레이에 대한 리프레쉬 동작이고, 상기 메시지는 상기 리뉴얼 타임에 관련된 정보를 포함할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은, 호스트, 메모리 채널을 통해 상기 호스트에 연결된 메모리 모듈, 및 상기 메모리 채널을 통해 상기 호스트에 연결된 비휘발성 메모리 모듈을 포함하고, 상기 메모리 모듈 및 상기 비휘발성 메모리 모듈 중 적어도 하나는, 내부 동작에 필요한 리뉴얼 타임을 상기 호스트에 요청하고, 상기 호스트로부터 상기 요청에 대응하는 내부 동작 커맨드를 수신하고, 및 상기 리뉴얼 타임 동안에 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 전체적 혹은 부분적으로 수행하는 할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은 저장 장치의 내부 동작에 필요한 리뉴얼 타임을 저장 장치에서 호스트에 직접 요청하고, 호스트에서는 이러한 요청에 응답하여 저장 장치에 시간에 관한 권한을 리뉴얼 타임 동안 이관시킴으로써, 저장 장치에서 내부 동작을 충분하게 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 저장 장치를 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 컴퓨팅 시스템에서 레지스터 설정 방식에 따른 리뉴얼 타임 요청 및 그것의 응답을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 비휘발성 메모리 모듈에 대한 실시 예를 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 실시 예를 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 다른 실시 예를 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 하나의 메모리 채널에 연결된 두 개의 메모리 모듈들을 구비한 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 9는 도 8에 도시된 컴퓨팅 시스템에서 제 2 메모리 모듈에서 내부 동작을 수행할 때 제 1 및 제 2 메모리 모듈들의 타이밍을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 컴퓨팅 시스템에서 호스트에서 발행되는 내부 동작 커맨드를 예시적으로 보여주는 도면이다.
도 11은 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템을 보여주는 도면이다.
도 12는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 디램을 예시적으로 보여주는 도면이다.
도 14는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 호스트의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 16은 본 발명의 실시 예에 따른 저장 장치의 내부 동작 방법을 예시적으로 보여주는 흐름도이다.
도 17은 본 발명의 실시 예에 따른 데이터 서버 시스템을 예시적으로 보여주는 블록도이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 혹은 대체물을 포함한다.
제 1 혹은 제 2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고 유사하게 제 2 구성 요소는 제 1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 혹은 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 컴퓨팅 시스템(10)은 호스트(100), 및 저장 장치(200)을 포함할 수 있다.
실시 예에 있어서, 컴퓨팅 시스템(10)은 컴퓨터, 포터블(portable) 컴퓨터, UMPC(ultra mobile PC), 워크스테이션(workstation), 데이터 서버(data server), 넷북, PDA, 웹 태블릿, 무선 폰, 모바일 폰, 스마트폰, 전자북, PMP(portable multimedia player), 디지털 카메라, 디지털오디오 녹음기/재생기, 디지털 사진기/비디오 기록기/재생기, 포터블 게임 머신, 네비게이션 시스템, 블록 박스, 3D 텔레비전, 무선 환경에서 정보를 수신 및 송신하는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, RFID, 혹은 컴퓨팅 시스템을 구성하는 다양한 전자 장치들 중 어느 하나로 사용될 수 있다.
호스트(100)는 컴퓨팅 시스템(10)의 전반적인 동작을 제어하도록 구현될 수 있다. 실시 예에 있어서, 호스트(100)는 적어도 하나의 프로세서, CPU(central processing unit), GPU(graphic processing unit), 메모리 제어기(memory controller) 등을 포함할 수 있다. 실시 예에 있어서, 프로세서는 범용 마이크로프로세서, 멀티코어 프로세서, 디지털 신호 프로세서(DSP; digital signal processor), ASIC(application specific integrated circuit), 혹은 그것들의 조합을 포함할 수 있다. 실시 예에 있어서, 메모리 제어기는 저장 장치(200)을 제어하도록 구현될 수 있다.
실시 예에 있어서, 호스트(100)는 저장 장치(200)의 요청에 응답하여 리뉴얼 타임(renewal time)의 승인 혹은 거절을 지시하는 정보를 저장 장치(200)로 전송할 수 있다. 여기서 리뉴얼 타임은 저장 장치(200)의 내부 동작(internal operation)을 수행하는 데 필요한 시간이다.
실시 예에 있어서, 리뉴얼 타임 승인/거절 정보는 커맨드(command) 형태로 전송되거나 데이터(data) 형태로 전송될 수 있다. 하지만 본 발명이 여기에 제한되지 않는다. 본 발명의 리뉴얼 타임 승인/거절 정보는 호스트(100)와 저장 장치(200) 사이의 별도의 라인을 통하여 전송될 수도 있다.
한편, 도 1에 도시된 호스트(100)는 저장 장치(200)의 요청에 응답하여 리뉴얼 타임을 저장 장치(200)로 전송하지만, 본 발명이 여기에 제한되지 않는다. 본 발명의 호스트(100)는 저장 장치(200)의 요청이 없이도 내부 정책에 따라 리뉴얼 타임 승인/거절 정보를 저장 장치(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) 등 일 수 있다.
실시 예에 있어서, 저장 장치(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) 등과 같은 것일 수 있다.
실시 예에 있어서, 저장 장치(200)는 내부 정책에 따라 내부 동작이 필요하다고 판별될 경우, 호스트(100)에 내부 동작에 필요한 리뉴얼 타임을 요청하도록 구현될 수 있다. 실시 예에 있어서, 리뉴얼 타임 요청은, 메시지(message) 형태로 호스트(100)에 전송될 수 있다.
실시 예에 있어서, 리뉴얼 타임 요청(renewal time request)을 갖는 메시지는 호스트(100)와 저장 장치(200) 사이의 적어도 하나의 데이터 채널, 적어도 하나의 클록 채널, 적어도 하나의 제어 채널, 전용의 적어도 하나의 메시지 채널 혹은 그것들의 조합을 통하여 호스트(100)로 전송될 수 있다. 예를 들어, 데이터 채널들을 통해 리뉴얼 타임 요청 메시지가 전송될 경우, 비동기 커맨드(asynchronous command)에 대응하는 응답(response) 메시지에 리뉴얼 타임 요청이 포함될 수 있다. 여기서, 비동기 커맨드는, 비동기 이벤트 요청 커맨드(asynchronous event request command)을 포함할 수 있다. 비동기 이벤트들(asynchronous events)은 저장 장치(200)의 상태(status), 에러(error), 및 헬쓰(health) 정보를 호스트(100)의 소프트웨어에 알리는데 이용될 수 있다.
상술 된 리뉴얼 타임 요청은 메시지 형태로 호스트(100)로 전송되지만, 본 발명이 여기에 제안되지 않는다고 이해되어야 할 것이다. 본 발명의 리뉴얼 타임 요청은 내부 동작에 필요한 리뉴얼 타임에 대응하는 레지스터 선택을 요청하는 신호 행태로 호스트(100)로 전송될 수 있다.
실시 예에 있어서, 저장 장치(200)는 호스트(100)의 리뉴얼 타임 승인/거절 정보를 수신한 뒤, 내부 동작을 수행하도록 구현될 수 있다. 여기서 내부 동작은, 리프레쉬(refresh), 타이밍(timing) 조절, PVT(process-voltage-temperature) 보상, 내부 데이터 전송 등과 같은 다양한 동작을 포함할 수 있다. 실시 예에 있어서, 내부 동작은 리뉴얼 타임 승인/거절 정보에 응답하여 전체적으로 혹은 부분적으로 수행될 수 있다. 이를 위해 리뉴얼 타임 승인/거절 정보는 내부 동작의 전체 실행 혹은 부분 실행에 관련된 정보를 더 포함할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템(10)은 저장 장치(200)의 내부 동작에 필요한 리뉴얼 타임을 저장 장치(200)에서 호스트(100)에 직접 요청하고, 호스트(100)에서는 이러한 요청에 응답하여 저장 장치(200)에 시간에 관한 권한을 리뉴얼 타임 동안 이관시킴으로써, 저장 장치(200)에서 내부 동작을 충분하게 수행할 수 있다. 즉, 호스트(100)는 저장 장치(200)에 내부 동작에 필요한 리뉴얼 타임을 승인해 줄 수 있다.
도 2는 본 발명의 실시 예에 따른 메모리 모듈(memory module)로 구현된 저장 장치(200)를 예시적으로 보여주는 도면이다. 도 2를 참조하면, 저장 장치(200)는 복수의 디램들(DRAMs, 211 ~ 214) 및 메모리 모듈 제어기(RCD, 220)를 포함할 수 있다.
복수의 디램들(211 ~ 214) 각각은 메모리 모듈 제어기(220)에 제어에 따라 데이터(DQ)를 입출력 하도록 구현될 수 있다. 도 2에 도시된 디램들(211 ~ 214)의 개수는 4이지만, 본 발명의 디램들의 개수가 여기에 제한되지 않는다고 이해되어야 할 것이다.
메모리 모듈 제어기(220)는 호스트(100)로부터 커맨드 및/혹은 어드레스를 입력 받고, 복수의 디램들(211 ~ 214)의 입출력 동작을 제어하도록 구현될 수 있다. 실시 예에 있어서, 메모리 모듈 제어기(220)는 내부 정책에 따라 호스트(100)에 내부 동작에 필요한 리뉴얼 타임 요청을 전송하도록 구현될 수 있다. 실시 예에 있어서, 메모리 모듈 제어기(220)는 호스트(100)로부터 전송된 리뉴얼 타임 승인/거절 정보에 응답하여 내부 동작을 수행하도록 구현될 수 있다.
실시 예에 있어서, 저장 장치(200)는 패리티를 위한 디램(215)을 더 포함할 수 있다. 실시 예에 있어서, 저장 장치(200)는 호스트(100)와 복수의 디램들(211 ~ 214) 사이에 데이터(DQ)을 버퍼링하기 위한 데이터 버퍼들(DBs)을 더 포함할 수 있다. 실시 예에 있어서, 저장 장치(200)는 DDRx SDRAM 스펙을 만족하도록 구현될 수 있다. 예를 들어, 저장 장치(200)는 차세대 DDR4 SDRAM 스펙을 만족하도록 구현될 수 있다.
한편, 본 발명의 리뉴얼 타임은 레지스터 설정 방식으로 구현될 수 있다.
도 3은 본 발명의 실시 예에 따른 컴퓨팅 시스템(10)에서 레지스터 설정 방식에 따른 리뉴얼 타임 요청 및 그것의 응답을 예시적으로 보여주는 도면이다. 도 3을 참조하면, 저장 장치(200)는 복수의 리뉴얼 타임들(RT1 ~ RTk, k는 2 이상의 자연수)을 저장하는 레지스터 집합(register set)을 포함할 수 있다. 예를 들어, 제 1 리뉴얼 타임(RT1)은 16 클록에 대응하는 시간이고, 제 2 리뉴얼 타임(RT2)은 8 클록에 대응하는 시간일 수 있다.
저장 장치(200)의 리뉴얼 타임 요청에 응답하여 호스트(100)의 메모리 제어기(MC, memory controller)는 레지스터 선택 신호를 저장 장치(200)로 전송할 수 있다. 여기서 레지스터 선택 신호는 레지스터 집합 중에서 리뉴얼 타임 요청에 대응하는 레지스터를 선택하는 신호이다. 즉, 레지스터 선택 신호는 리뉴얼 타임 승인/거절 정보를 포함할 수 있다.
실시 예에 있어서, 레지스터 집합은 도 2에 도시된 메모리 모듈 제어기(220)에 포함될 수 있다. 하지만, 본 발명의 레지스터 집합의 위치가 여기에 제한되지 않는다고 이해되어야 할 것이다.
한편, 도 1 내지 도 3에 도시된 컴퓨팅 시스템(10)은 리뉴얼 타임 관점에서 본 발명을 설명한다. 하지만 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. 본 발명의 컴퓨팅 시스템은 내부 동작 요청 및 내부 동작 요청에 응답한 내부 동작 커맨드를 발행한다는 관점에서도 설명 가능하다.
도 4는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(20)을 예시적으로 보여주는 도면이다. 도 4를 참조하면, 컴퓨팅 시스템(20)은 호스트(100a) 및 비휘발성 메모리 모듈(NVDIMM, 300)을 포함할 수 있다.
호스트(100a)는 비휘발성 메모리 모듈(300)로부터 내부 동작 요청(internal operation request)을 수신하고, 내부 동작 요청에 응답하여 내부 동작 커맨드(IOP)를 발행하고, 발행된 내부 동작 커맨드(IOP)를 비휘발성 메모리 모듈(300)으로 전송하도록 구현될 수 있다. 여기서 내부 동작 커맨드(IOP)는 내부 동작에 필요한 리뉴얼 타임(renewal time)을 포함할 수 있다. 실시 예에 있어서, 내부 동작 커맨드(IOP)는 내부 동작 요청을 승인하거나 거절하는 정보를 더 포함할 수 있다.
실시 예에 있어서, 내부 동작 요청은, 데이터 핀들, 데이터 스트로브 핀들, 어드레스/커맨들 핀들, 제어 신호 핀들, 메시지 전용 핀들, 혹은 그것들의 조합을 통하여 호스트(100a)로 전송될 수 있다.
실시 예에 있어서, 내부 동작 커맨드(IOP)는 커맨드/어드레스 핀들, RFU(reserved future use) 핀들, 혹은 그것들의 조합으로 발생될 수 있다.
비휘발성 메모리 모듈(300)은 내부 정책에 따라 내부 동작이 필요하다고 판별될 때 내부 동작 요청을 호스트(100a)로 전송할 수 있다. 여기서 내부 동작 요청은 메시지/신호 형태로 구현될 수 있다. 예를 들어, 메시지/신호 형태로 전송된 내부 동작 요청은 내부 동작에 필요한 리뉴얼 타임을 포함할 수 있다.
실시 예에 있어서, 비휘발성 메모리 모듈(300)은 DDRx(x는 자연수) 인터페이스를 통하여 호스트(100a)에 연결될 수 있다. 예를 들어, 비휘발성 메모리 모듈(300)은 차세대 DDR4 SDRAM 스펙을 만족하도록 구현될 수 있다.
실시 예에 있어서, 비휘발성 메모리 모듈(300)은 JEDEC 표준에 따른 NVDIMM(nonvolatile dual in line memory module)으로 구현될 수 있다. NVDIMM은 전력이 어느 예상치 못한 전력 손실, 시스템 고장이나 시스템을 정상적으로 종료에서 제거되더라도 데이터를 보유하는 메모리 모듈이다. NVDIMM는 애플리케이션 성능, 데이터 보안 시스템 고장 복구 시간을 개선하고 SSD 내구성 및 신뢰성을 향상시키기 위해 사용될 수 있다.
이러한 NVDIMM은 다양한 형태로 구분될 수 있다. 하나의 실시 예는 메모리 혹은 가까운 메모리(near memory) 속도로 액세스하는 바이트 어드레서블 메모리 매핑 장치(byte addressable memory mapped device)이다. DDR4를 지원하는 이러한 NVDIMM은 여러 하드웨어 공급 업체에 의해 상업적으로 사용할 수 있다. 다른 실시 예는 DRAM 내부 채널(interconnect channel)에 상주하는 플래시 장치 모듈이다. 이러한 NVDIMM은 일반적으로 호스트의 드라이버 블록을 통해 액세스 될 수 있다. 프론트-엔드 캐시(front-end cache)가 누락될 때 플래시 장치에 액세스 된다. 또 다른 실시 예는 빠르게 액세스 가능한 디램들과 고용량의 비휘발성 메모리의 장점들을 모두 갖는 형태이다.
본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)은 호스트(100a)로 내부 동작 요청 메시지를 전송할 메시지 채널을 포함할 수 있다. 실시 예에 있어서, 메시지 채널은, DQ 채널, DQS 채널, 클록 채널, 제어 신호 채널, 혹은 그것들의 조합으로 이용될 수 있다. 다른 실시 예에 있어서, 메시지 채널은 내부 동작 요청 메시지 전송을 위한 전용 채널을 구비할 수 있다.
실시 예에 있어서, 내부 동작 요청 메시지는 내부 동작을 수행할 비휘발성 메모리 모듈(300)에 대해 호스트(100a)가 소정의 시간 동안 비휘발성 메모리 모듈(300)에 새로운 명령을 전송하지 못하도록 리뉴얼 타임을 요청하는 것을 포함할 수 있다. 다른 실시 예에 있어서, 호스트(100a)가 소정의 시간 동안 새로운 명령을 발행하더라도, 내부 동작 커맨드를 수신한 비휘발성 메모리 모듈(300)은 이러한 새로운 명령을 무시할 수도 있다.
실시 예에 있어서, 리뉴얼 타임은, 비휘발성 메모리 모듈(300)이 수행하는 내부 동작의 종류에 따라 가변 될 수 있다. 예를 들어, 리프레쉬 동작을 위해서는 리뉴얼 타임이 몇 ㎲ 정도 일 수 있다. 예를 들어, 내부 데이터 전송 동작을 위해서는 리뉴얼 타임이 수백 ㎲ 정도 일 수 있다.
실시 예에 있어서, 호스트(100a)는 내부 동작 요청을 수신하면, 이러한 내부 동작 요청을 승인하거나 거절할 수 있다. 예를 들어, 호스트(100a)가 내부 동작 요청을 승인하면, 호스트(100a)는 대응하는 내부 동작 커맨드(IOP)를 발행하고, 이를 비휘발성 메모리 모듈(300)에 전송할 수 있다. 예를 들어, 호스트(100a)가 내부 동작 요청을 거절하면, 비휘발성 메모리 모듈(300)은 내부 동작을 연기할 수 있다.
실시 예에 있어서, 비휘발성 메모리 모듈(300)은 리뉴얼 타임 동안 호스트(100a)의 중단 지시 없이 내부 동작을 수행할 수 있다.
도 5는 본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)에 대한 실시 예를 보여주는 도면이다. 도 5를 참조하면, 비휘발성 메모리 모듈(300)은, 제 1 및 제 2 비휘발성 메모리들(310L, 301R), 제 1 및 제 2 휘발성 메모리들(320L, 320R), 제 1 및 제 2 데이터 버퍼들(330L, 330R), 및 메모리 제어회로(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) 등을 포함할 수 있다.
또한, 비휘발성 메모리는 3차원 어레이 구조(three-dimensional array structure)로 구현될 수 있다. 본 발명의 실시 예로서, 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 혹은 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 혹은 기판 위에 위치할 수 있다. 모놀리식(monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착 됨을 의미한다.
본 발명의 개념에 따른 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가져, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.
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)에도 모두 적용 가능하다.
제 1 및 제 2 휘발성 메모리들(320L, 320R) 각각은 적어도 하나의 디램(DRAM)을 포함할 수 있다. 실시 예에 있어서, 적어도 하나의 디램은 듀얼 포트 디램으로 구현될 수 있다. 예를 들어, 적어도 하나의 디램의 제 1 포트들은 제 1 및 제 2 비휘발성 메모리들(310L, 310R) 중 적어도 하나의 비휘발성 메모리에 연결되고, 적어도 하나의 디램의 제 2 포트들은 제 1 및 제 2 데이터 버퍼들(330L, 330R) 중 대응하는 어느 하나에 연결될 수 있다.
메모리 제어회로(MMCD, 340)는 호스트(100a)로부터 커맨드 혹은 어드레스를 수신하고, 제 1 및 제 2 비휘발성 메모리들(310L, 310R)을 제어하기 위한 제 1 커맨드/어드레스(CAN)를 발생하거나, 제 1 및 제 2 휘발성 메모리들(320L, 320R)을 제어하기 위한 제 2 커맨드/어드레스(CAD)을 발생하도록 구현될 수 있다.
실시 예에 있어서, 메모리 제어회로(340)는 내부 동작에 필요한 내부 동작 요청을 발생하고, 이를 호스트(100a)에 전송하도록 구현될 수 있다.
실시 예에 있어서, 메모리 제어회로(340)는 호스트(100a)로부터 발행된 내부 동작 커맨드(IOP)를 수신하고, 수신된 내부 동작 커맨드(IOP)에 응답하여 내부 동작을 수행하도록 구현될 수 있다. 여기서 내부 동작 커맨드(IOP)는 내부 동작에 필요한 리뉴얼 타임을 포함할 수 있다.
한편, 도 5에 도시된 비휘발성 메모리 모듈(300)은 메모리 제어회로(340)를 기준으로 좌측에 배치된 제 1 적어도 하나의 비휘발성 메모리(310L), 제 1 적어도 하나의 휘발성 메모리(320L), 제 1 데이터 버퍼들(330L)과, 우측에 배치된 제 2 적어도 하나의 비휘발성 메모리(310R), 제 2 적어도 하나의 휘발성 메모리(320R), 제 2 데이터 버퍼들(330R)을 포함한다. 하지만, 본 발명의 비휘발성 메모리 모듈(300)의 구조가 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 6은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 실시 예를 보여주는 도면이다.
실시 예에 있어서, 내부 동작 요청(IOP Request)은 호스트(100a)와 비휘발성 메모리 모듈(300) 사이의 호스트 인터페이스(host interface)를 통해 호스트(100a)로 전송될 수 있다. 여기서 호스트 인터페이스는 메모리 내부 채널일 수 있다.
실시 예에 있어서, 내부 동작 요청은 내부 동작을 완료하는 데 필요한 리뉴얼 타임을 지시하거나, 리뉴얼 타임에 관련된 정보를 포함할 수 있다.
내부 동작 요청을 포함하는 메시지가 메시지 핀(MSG)를 통해 호스트(100a)로 전송 될 때, 리뉴얼 타임에 관한 정보도 호스트(100a)에 전송될 수 있다. 리뉴얼 타임에 관한 정보는 데이터 핀(DQ0 ~ DQ7)을 통해 전송될 수 있다. 대안적으로, 리뉴얼 타임에 관한 정보는 CKE, CS, CK, ODT 핀 등과 같은 커맨드/어드레스 핀(CAs)를 통해 전송될 수 있다.
선택적으로, 리뉴얼 타임에 관련된 정보는 메시지 핀(MSG)의 토글링을 통해 호스트(100a)에 전송될 수 있다. 실시 예에 있어서, 메시지 핀(MSG)의 연속적인 토글링의 개수는 리뉴얼 타임을 지시할 수 있다. 예를 들어, 메시지 핀(MSG)의 토글링의 개수는 내부 동작을 위해 요구되는 시간 일 수 있다.
또한, 메시지에 포함된 내부 동작 요청은 모든 뱅크에 대한 내부 동작 요청이거나, 일부 뱅크에 대한 내부 동작 요청일 수 있다. 만일, 모든 뱅크에 대한 내부 동작 요청이 호스트(100a)에 의해 승인되면, 호스트(100a)는 비휘발성 메모리 모듈(300)을 전혀 액세스할 수 없고, 비휘발성 메모리 모듈(300)에서는 모든 뱅크에 대한 내부 동작이 수행될 수 있다. 반면에, 일부 뱅크에 대한 내부 동작 요청이 호스트(100a)에 의해 승인되면, 내부 동작은 일부 뱅크에 대한 내부 동작 요청을 통해 선택된 뱅크만이 수행 될 수 있다. 이때, 호스트(100a)는 읽기/쓰기 동작을 위해, 선택된 뱅크를 제외하고, 다른 뱅크에 액세스 할 수 있다.
실시 예에 있어서, 내부 동작 요청 및 리뉴얼 타임에 관한 정보를 수신하면, 호스트(100a)는 내부 동작 요청을 승인할 지 혹은 거부할 지를 결정할 수도 있다.
만일, 내부 동작 요청이 승인되면, 비휘발성 메모리 모듈(300)의 내부 동작을 시작하도록 호스트(100a)는 내부 동작 명령(IOP)을 발행할 수 있다. 이후, 호스트(100a)는 리뉴얼 타임 동안 비휘발성 메모리 모듈(300)에 액세스하기 위한 새로운 명령을 발행할 수 없다.
반면에, 내부 동작 요청이 거절되면, 호스트(100a)는 하나의 내부 동작 명령을 실행하지 않음으로써 내부 동작 요청을 무시할 수도 있고, 내부 동작 요청을 거부하는 것을 통지하는 명령을 발행할 수 있다. 이때, 비휘발성 메모리 모듈(300)은 호스트(100a)의 거절 통지를 인지하고, 내부 동작을 수행하는 것을 연기하거나, 포기할 수 있다.
한편, 본 발명은 비휘발성 메모리 모듈(300)의 내부 동작 요청에 리뉴얼 타임 승인/거절 정보를 포함하지 않도록 구현될 수 있다.
도 7은 본 발명의 실시 예에 따른 비휘발성 메모리 모듈(300)의 내부 동작 요청에 따른 호스트 인터페이스의 타이밍에 대한 다른 실시 예를 보여주는 도면이다. 도 7을 참조하면, 내부 동작 요청은 두 단계의 절차에 의해 전송될 수 있다.
제 1 단계에서, 비휘발성 메모리 모듈(300)은 메시지 채널(MSG)을 통하여 호스트(100a)에만 내부 동작 요청하는 신호를 전송하고, 비휘발성 메모리 모듈(300)의 소정의 버퍼 영역에 리뉴얼 타임에 관한 정보(time info)를 저장할 수 있다.
제 2 단계에서, 호스트(100a)는 소정의 버퍼 영역을 읽음으로써 내부 동작에 필요한 리뉴얼 타임을 추출하기 위한 읽기 명령을 발행할 수 있다. 실시 예에 있어서, 호스트(100a)는 읽혀진 타임 정보를 근거로 하여 내부 동작 커맨드(IOP)을 발행할 수 있다. 이후 저장 장치는 내부 동작 커맨드(IOP)에 응답하여 리뉴얼 타임 동안 내부 동작을 수행할 수 있다.
한편, 제 2 단계에서 호스트(100a)가 버퍼 영역의 리뉴얼 타임을 추출하기 위한 읽기 명령을 발행하지만, 본 발명이 여기에 제한될 필요는 없다. 예를 들어, 메모리 모듈(300)은 호스트(100a)의 내부 동작 커맨드(IOP)에 응답하여, 버퍼 영역에 저장된 리뉴얼 타임 승인/거절 정보를 읽고, 읽혀진 리뉴얼 타임 동안 내부 동작을 수행할 수 있다.
도 8은 본 발명의 실시 예에 따른 하나의 메모리 채널에 연결된 두 개의 메모리 모듈들을 구비한 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 8을 참조하면, 호스트는 하나의 메모리 채널(CH)을 통하여 제 1 및 제 2 메모리 모듈들(DIMM 1, DIMM2)에 연결 될 수 있다. 여기서 제 1 및 제 2 메모리 모듈들(DIMM1, DIMM2)의 각각은 내부 동작을 수행할 수 있다. 아래에서는 설명의 편의를 위하여 제 2 메모리 모듈(DIMM 2)에서 내부 동작이 수행된다고 가정하겠다.
도 9는 도 8에 도시된 컴퓨팅 시스템에서 제 2 메모리 모듈(DIMM 2)에서 내부 동작을 수행할 때 제 1 및 제 2 메모리 모듈들(DIMM 1, DIMM 2)의 타이밍을 예시적으로 보여주는 도면이다.
도 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)을 출력할 수 있다. 이후 다음 읽기 동작을 계속해서 수행할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은, 호스트와 제 1 메모리 모듈(DIMM 1) 사이의 데이터 통신 뒤에, 제 2 메모리 모듈(DIMM 2)의 내부 동작을 숨길 수 있다. 메모리 모듈(DIMM 2)의 내부 동작을 숨길 수 있기 때문에 그만큼 시스템 성능 향상을 기대할 수 있다.
도 10은 본 발명의 실시 예에 따른 컴퓨팅 시스템에서 호스트에서 발행되는 내부 동작 커맨드를 예시적으로 보여주는 도면이다. 도 10을 참조하면, 호스트는 메모리 모듈(DIMM)/비휘발성 메모리 모듈(NVDIMM)의 내부 동작 요청에 응답하여, 내부 동작을 승인할 경우, 내부 동작 커맨드(IOPA, IOPB)을 발행할 수 있다. 제 1 내부 동작 커맨드(IOPA)는 메모리 모듈(DIMM)/비휘발성 메모리 모듈(NVDIMM)의 모든 뱅크들에 대한 내부 동작을 지시할 수 있다. 제 2 내부 동작 커맨드(IOPB)는 메모리 모듈(DIMM)/비휘발성 메모리 모듈(NVDIMM)의 단일 뱅크에 대한 내부 동작을 지시할 수 있다.
실시 예에 있어서, 모든 뱅크 내부 동작과 단일 뱅그 내부 동작은, 도 10 에 도시된 바와 같이 어드레스 핀으로부터 구별될 수 있다.
실시 예에 있어서, 내부 동작 커맨드들(IOPA, IOPB)은 커맨드/어드레스 핀들의 특수한 조합으로부터 생성될 수 있다. 이러한 조합들은 통상적인 DDR4 SDRAM의 RFU(reserved future use)를 위해 예비 될 수 있다. 실시 예에 있어서, 내부 동작 커맨드들(IOPA, IOPB)에 관련된 커맨드/어드레스 핀들은 CKE, CS, CAS, RAS, ACT, 뱅그 어드레스 및 어드레스 핀들을 포함할 수 있다.
실시 예에 있어서, 내부 동작 커맨드들(IOPA, IOPB)은 어드레스 핀들에 인가되는 프로그램된 값에 대응하여 가변되는 리뉴얼 타임을 포함할 수 있다. 예를 들어, 이러한 프로그램된 값은 어드레스핀들(A0 ~ A9)에 프로그램될 수 있다.
한편, 도 8 내지 도 9에서 컴퓨팅 시스템은 하나의 메모리 채널에 동일한 2 개의 메모리 모듈들(DIMM 1, DIMM 2)을 연결되었다. 하지만, 본 발명이 여기에 제한되지 않는다. 본 발명의 컴퓨팅 시스템은 하나의 메모리 채널에 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMM)을 연결할 수도 있다.
도 11은 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템을 보여주는 도면이다. 도 11을 참조하면, 컴퓨팅 시스템은 하나의 메모리 채널을 통하여 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMM)을 연결할 수 있다. 도 11에 도시된 바와 같이 비휘발성 메모리 모듈(NVDIMM)에 상술된 내부 동작을 수행하는 동안에, 호스트는 메모리 모듈(DIMM)를 액세스 할 수 있다. 또한, 반대의 경우도 가능하다. 예를 들어, 메모리 모듈(DIMM)에 내부 동작을 수행하는 동안에, 호스트는 비휘발성 메모리 모듈(NVDIMM)을 액세스할 수 있다.
한편, 도 11에 도시된 컴퓨팅 시스템에서는 하나의 메모리 채널에 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMM)이 연결 되었다. 하지만, 본 발명이 여기에 제한되지 않는다. 본 발명은 2 개의 메모리 채널들 각각에 연결된 메모리 모듈(DIMM)과 비휘발성 메모리 모듈(NVDIMMP)로 구성된 컴퓨팅 시스템에도 적용 가능하다.
도 12는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 12를 참조하면, 호스트는 제 1 메모리 채널(CH1)을 통하여 메모리 모듈(DIMM)에 연결되고, 제 2 메모리 채널(CH2)을 통하여 비휘발성 메모리 모듈(NVDIMM)에 연결될 수 있다. 도 12에 도시된 바와 같이, 비휘발성 메모리 모듈(NVDIMM)에서 내부 동작을 수행하는 동안에, 호스트는 메모리 모듈(DIMM)을 액세스 할 수 있다.
한편, 상술한 본 발명의 동작은 메모리 모듈 형태가 아닌 칩 형태의 디램에도 적용 가능하다.
도 13은 본 발명의 실시 예에 따른 디램을 예시적으로 보여주는 도면이다. 도 13을 참조하면, 디램(400)은 메모리 셀 어레이(410), 및 리프레쉬 제어기(420)을 포함할 수 있다.
메모리 셀 어레이(410)는 워드라인들과 비트라인들이 교차하는 곳에 형성된 복수의 디램 셀들을 포함할 수 있다.
리프레쉬 제어기(420)는 디램 셀들의 리프레쉬 동작을 수행하도록 구현될 수 있다. 실시 예에 있어서, 리프레쉬 제어기(420)는 호스트 혹은 외부 장치(external device)의 리프레쉬 커맨드에 응답하여 리프레쉬 동작을 수행할 수 있다.
실시 예에 있어서, 리프레쉬 제어기(420)는 리프레쉬 동작이 필요하다고 판별될 때, 호스트/외부 장치에 리뉴얼 타임을 요청하도록 구현될 수 있다. 호스트/외부 장치는 리뉴얼 타임 요청에 응답하여 리뉴얼 타임 승인/거절 정보를 리프레쉬 제어기(420)에 전송할 수 있다. 리프레쉬 제어기(420)는 리뉴얼 타임 승인/거절 정보를 수신하고, 리뉴얼 타임 동안 리프레쉬 동작을 수행할 수 있다.
실시 예에 있어서, 리프레쉬 제어기(420)는 모든 뱅크에 대한 리프레쉬 동작을 수행하거나, 일부 뱅크에 대한 리프레쉬 동작을 수행하도록 구현될 수 있다.
한편, 본 발명은 전기 저항을 비트로 이용하는 3D XPoint 메모리에도 적용 가능하다.
도 14는 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 14를 참조하면, 컴퓨팅 시스템(40)은 프로세서(41), 메모리 모듈(DIMM, 42), 및 비휘발성 메모리(NVM, 43)를 포함할 수 있다.
프로세서(41)는 메모리 모듈(42) 및 비휘발성 메모리(43)를 제어하도록 구현될 수 있다. 실시 예에 있어서, 프로세서(41)는 메모리 모듈(42)의 내부 동작 요청에 응답하여 내부 동작 커맨드를 발행할 수 있다.
메모리 모듈(42)은 DDR 인터페이스를 통하여 프로세서(41)에 연결될 수 있다. 메모리 모듈(42)은 내부 동작이 필요할 경우 프로세서(41)에 내부 동작 요청을 전송하도록 구현될 수 있다. 또한 메모리 모듈(42)은 프로세서(41)로부터 수신된 내부 동작 커맨드에 응답하여 내부 동작을 수행하도록 구현될 수 있다.
비휘발성 메모리(43)는 DDR-T(transaction) 인터페이스를 통하여 프로세서(41)에 연결될 수 있다. 이때, 메모리 모듈(42)은 비휘발성 메모리(43)의 캐시 기능을 수행하도록 구현될 수 있다. 실시 예에 있어서, 비휘발성 메모리(NVM)는 3D Xpoint 메모리일 수 있다. 한편, 비휘발성 메모리(43)의 내부 동작에 본 발명이 적용될 수 있다고 이해되어야 할 것이다.
도 15는 본 발명의 실시 예에 따른 호스트의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 15를 참조하면, 호스트의 동작 방법은 다음과 같다.
호스트는 메모리 채널에 연결된 다양한 종류의 저장 장치(DIMM, NVDIMM, DRAM, NVM, SSD, eMMC, SD card, UFS 등)로부터 내부 동작을 수행하기 위한 리뉴얼 타임 요청을 수신할 수 있다(S110). 호스트는 리뉴얼 타임 요청에 응답하여 저장 등의 내부 동작을 승인하거나 거절할 수 있다. 호스트는 리뉴얼 타임 요청에 대응하는 내부 동작 커맨드를 발행할 수 있다. 여기서 발행된 내부 동작 커맨드는 리뉴얼 타임을 포함할 수 있다(S120). 발행된 내부 동작 커맨드는 해당 저장 장치로 전송되고, 저장 장치는 내부 동작 커맨드에 응답하여 리뉴얼 타임동안 내부 동작을 수행할 수 있다.
도 16은 본 발명의 실시 예에 따른 저장 장치의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 15 및 도 16을 참조하면, 저장 장치의 동작 방법은 다음과 같다.
저장 장치는 내부 정책에 따라 내부 동작이 필요한 지를 판별하고, 내부 동작에 필요한 리뉴얼 타임 요청을 호스트로 전송할 수 있다(S210). 여기서 리뉴얼 타임 요청은 메시지 형태, 신호 형태 등 다양한 방법들로 호스트로 전송될 수 있다고 이해되어야 할 것이다. 예를 들어, 저장 장치는 호스트에 리뉴얼 타임 요청을 갖는 메시지를 전송하도록 구현될 수 있다.
이후, 저장 장치는 호스트로부터 리뉴얼 타임 승인 혹은 거절을 지시하는 정보를 갖는 내부 동작 커맨드를 수신할 수 있다(S220). 저장 장치는 내부 동작 커맨드에 응답하여 전체적으로 혹은 부분적으로 내부 동작을 수행할 수 있다(S230).
실시 예에 있어서, 내부 동작 커맨드가 리뉴얼 타임 승인을 지시하는 정보를 포함할 때, 저장 장치는 내부 동작 수행시 호스트로부터 발행된 새로운 커맨드를 무시할 수 있다.
실시 예에 있어서, 내부 동작 커맨드가 리뉴얼 타임 거절을 지시하는 정보를 포함할 때, 저장 장치는 호스트로부터 발생된 새로운 커맨드를 수신 혹은 처리할 수 있다.
한편, 저장 장치는 내부 동작을 수행할 때 호스트로부터 발행된 새로운 커맨드를 수신 및 버퍼링할 수 있다고 이해되어야 할 것이다. 저장 장치는 호스트로부터 수신된 새로운 커맨드에 응답하여 내부 동작을 홀딩시킨 후, 새로운 커맨드를 우선적으로 처리할 수도 있다.
한편, 본 발명은 데이터 서버에 응용 가능하다.
도 17은 본 발명의 실시 예에 따른 데이터 서버 시스템(50)을 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 데이터 서버 시스템(50)은 데이터 베이스 관리 시스템(RDBMS, 51), 캐시 서버(52), 및 어플리케이션 서버(53)를 포함할 수 있다.
캐시 서버(52)는 데이터 베이스 관리 시스템(51)로부터의 무효화 통지에 대응하여 서로 다른 키(key), 값(value) 쌍을 유지하고, 삭제하는 키값 저장을 포함할 수 있다.
데이터 베이스 관리 시스템(RDBMS, 51), 캐시 서버(52), 및 어플리케이션 서버(53) 중 적어도 하나는 도 1 내지 도 16에서 설명된 호스트, 메모리 모듈(DIMM), 비휘발성 메모리 모듈(NVDIMM), 디램, 혹은 비휘발성 메모리로 구현될 수 있다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
10, 20: 컴퓨팅 시스템
100, 100a: 호스트
200: 저장 장치
DIMM: 메모리 모듈
300, NVDIMM: 비휘발성 메모리 모듈
211 ~ 215, 400: DRAM
MC: 메모리 제어기
DB: 데이터 버퍼
IOP: 내부 동작 커맨드
410: 메모리 셀 어레이
420: 리프레쉬 제어기

Claims (20)

  1. 저장 장치의 동작 방법에 있어서:
    외부 장치로부터의 요청 없이 내부 동작이 필요함을 검출하는 것에 응답하여, 상기 저장 장치의 상기 내부 동작의 승인을 획득하기 위한 내부 동작 요청을 상기 외부 장치로 전송하는 단계;
    상기 내부 동작 요청은 내부 동작 시간을 가리키는 메시지를 포함하고 그리고 상기 저장 장치에 의해 생성되고,
    상기 내부 동작 요청에 대응하는 내부 동작 커맨드를 상기 외부 장치로부터 수신하는 단계; 및
    상기 내부 동작 커맨드는 상기 내부 동작 요청이 승인되었는지 또는 거절되었는지를 가리키고,
    상기 내부 동작 요청이 상기 외부 장치에 의해 승인된 때에, 상기 내부 동작 커맨드를 통해 승인된 상기 내부 동작 시간 동안 상기 저장 장치가 상기 내부 동작을 수행하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 내부 동작 요청을 상기 외부 장치로 전송하는 단계는,
    비동기 이벤트 요청 커맨드(asynchronous event request command)의 응답 메시지를 통해 상기 내부 동작 요청을 상기 외부 장치로 전송하는 단계를 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 내부 동작 요청을 상기 외부 장치로 전송하는 단계는,
    상기 내부 동작 시간을 갖는 메시지를 상기 외부 장치로 전송하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 내부 동작 요청을 상기 외부 장치로 전송하는 단계는,
    상기 내부 동작 시간을 상기 저장 장치의 버퍼 영역에 저장하는 단계; 및
    메시지 채널을 이용하여 상기 내부 동작 요청을 상기 외부 장치로 전송하는 단계를 포함하고,
    상기 내부 동작 커맨드를 수신할 때, 상기 버퍼 영역에 저장된 상기 내부 동작 시간을 읽고, 읽혀진 상기 내부 동작 시간 동안 상기 내부 동작이 수행되는 방법.
  5. 제 1 항에 있어서,
    상기 내부 동작 커맨드를 상기 외부 장치로부터 수신하는 단계는,
    적어도 하나의 커맨드 핀, 적어도 하나의 어드레스 핀, 적어도 하나의 RFU(reserved future use) 핀 중 적어도 하나를 통하여 이루어지는 방법.
  6. 제 1 항에 있어서,
    상기 내부 동작을 수행하는 단계는,
    상기 내부 동작 커맨드에 응답하여 모든 뱅크 혹은 일부 뱅크에 대한 상기 내부 동작을 수행하는 단계를 포함하는 방법.
  7. 적어도 하나의 휘발성 메모리;
    적어도 하나의 비휘발성 메모리; 및
    상기 적어도 하나의 휘발성 메모리 및 상기 적어도 하나의 비휘발성 메모리를 제어하는 메모리 제어회로를 포함하고,
    상기 메모리 제어회로는, 내부 동작이 필요하다고 판별될 때, 외부 장치로부터의 요청 없이 상기 내부 동작의 승인을 획득하기 위한 내부 동작 요청 메시지를 상기 외부 장치에 전송하고, 상기 외부 장치로부터 상기 내부 동작 요청이 상기 외부 장치에 의해 승인되었는지 또는 거절되었는지를 가리키는 내부 동작 커맨드를 수신하고, 및 상기 내부 동작 요청이 승인된 때에, 상기 내부 동작 커맨드를 통해 승인된 내부 동작 시간 동안 상기 내부 동작 커맨드에 응답하여 상기 내부 동작을 수행하고,
    상기 내부 동작 요청 메시지는 상기 내부 동작 시간을 포함하는 비휘발성 메모리 모듈.
  8. 제 7 항에 있어서,
    상기 메모리 제어회로는, 상기 내부 동작을 수행할 때, 상기 외부 장치로부터 발행된 새로운 커맨드를 무시하는 비휘발성 메모리 모듈.
  9. 제 7 항에 있어서,
    상기 메모리 제어회로는, 상기 내부 동작 요청을 거절하는 정보를 가리키는 상기 내부 동작 커맨드를 수신할 때, 상기 외부 장치로부터 발행된 새로운 커맨드를 처리하는 비휘발성 메모리 모듈.
  10. 제 7 항에 있어서,
    상기 내부 동작 커맨드는 상기 내부 동작 시간 혹은 상기 내부 동작 시간에 관련된 정보를 포함하는 비휘발성 메모리 모듈.
  11. 제 7 항에 있어서,
    상기 내부 동작 커맨드는 적어도 하나의 커맨드 핀, 적어도 하나의 어드레스 핀, 적어도 하나의 RFU(reserved future use) 핀 중 적어도 하나를 이용하여 수신되는 비휘발성 메모리 모듈.
  12. 제 7 항에 있어서,
    상기 내부 동작 요청 메시지는 적어도 하나의 데이터 핀 및 적어도 하나의 데이터 스트로브 핀 중 적어도 하나를 이용하여 상기 외부 장치로 전송되는 비휘발성 메모리 모듈.
  13. 제 7 항에 있어서,
    상기 내부 동작 요청 메시지는 적어도 하나의 메시지 핀을 통하여 토글되는 신호를 이용하여 상기 외부 장치로 전송되는 비휘발성 메모리 모듈.
  14. 제 7 항에 있어서,
    상기 메모리 제어회로는,
    상기 내부 동작에 필요한 상기 내부 동작 시간을 버퍼 영역에 저장하고,
    상기 내부 동작 요청 메시지에 대응하는 신호를 메시지 핀을 통하여 상기 외부 장치로 전송하고,
    상기 외부 장치로부터 상기 신호에 대응하는 읽기 커맨드를 수신하고,
    상기 수신된 읽기 명령에 응답하여 상기 버퍼 영역에 저장된 상기 내부 동작 시간을 읽고,
    상기 외부 장치로부터 읽혀진 상기 내부 동작 시간에 대응하는 상기 내부 동작 커맨드를 수신하는 비휘발성 메모리 모듈.
  15. 제 7 항에 있어서,
    상기 내부 동작은 상기 적어도 하나의 휘발성 메모리의 리프레쉬 동작을 포함하는 비휘발성 메모리 모듈.
  16. 제 7 항에 있어서,
    상기 내부 동작은 상기 적어도 하나의 휘발성 메모리와 상기 적어도 하나의 비휘발성 메모리 사이의 데이터 전송 동작을 포함하는 비휘발성 메모리 모듈.
  17. 제 7 항에 있어서,
    상기 내부 동작 커맨드는,
    모든 뱅크에 대한 내부 동작을 지시하는 제 1 내부 동작 커맨드; 혹은
    싱글 뱅크에 대한 내부 동작을 지시하는 제 2 내부 동작 커맨드을 포함하는 비휘발성 메모리 모듈.
  18. 복수의 디램들;
    커맨드 및 어드레스를 입력 받고 상기 복수의 디램들을 제어하는 메모리 제어회로를 포함하고,
    상기 메모리 제어회로는,
    호스트로부터의 요청 없이 내부 동작이 필요함을 검출하는 것에 응답하여, 내부 동작의 승인을 획득하기 위한 내부 동작 요청을 상기 호스트로 전송하고;
    상기 내부 동작 요청에 대응하는 내부 동작 시간의 승인/거절 정보를 상기 호스트로부터 수신하고; 및
    상기 내부 동작 요청이 상기 호스트에 의해 승인된 때에, 상기 내부 동작 시간 동안 상기 내부 동작을 전체적 혹은 부분적으로 수행하고,
    상기 내부 동작 요청은 상기 내부 동작 시간을 포함하는 메모리 모듈.
  19. 제 18 항에 있어서,
    상기 내부 동작 요청은 상기 호스트에 메시지 형태로 전송되고, 및
    상기 내부 동작 시간의 승인/거절 정보는 상기 호스트로부터 커맨드 형태로 수신되는 메모리 모듈.
  20. 메모리 셀 어레이; 및
    외부 장치로부터의 요청 없이 내부 동작이 필요함을 검출하는 것에 응답하여, 상기 내부 동작의 승인을 요청하는 메시지를 상기 외부 장치로 전송하고, 상기 메시지에 대응하며 상기 내부 동작 요청이 승인되었는지 또는 거절되었는지를 가리키는 내부 동작 커맨드를 수신하고, 상기 내부 동작 요청이 상기 외부 장치에 의해 승인된 때에 내부 동작 시간 동안 상기 내부 동작을 수행하는 리프레쉬 제어기를 포함하고,
    상기 내부 동작은 상기 메모리 셀 어레이에 대한 리프레쉬 동작이고,
    상기 메시지는 상기 내부 동작 시간에 관련된 정보를 포함하는 디램(DRAM).
KR1020160061012A 2016-04-20 2016-05-18 컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법 KR102646721B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
TW106110214A TWI737703B (zh) 2016-04-20 2017-03-28 非揮發性記憶體模組以及操作儲存裝置的方法
DE102017106713.2A DE102017106713A1 (de) 2016-04-20 2017-03-29 Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
CN201710248135.3A CN107452423B (zh) 2016-04-20 2017-04-17 计算系统、非易失性存储器模块以及操作存储设备的方法
US15/492,436 US10521153B2 (en) 2016-04-20 2017-04-20 Computing system, nonvolatile memory module and method of storage device
JP2017083913A JP7007102B2 (ja) 2016-04-20 2017-04-20 不揮発性メモリモジュール、及び格納装置の動作方法
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 KR20170120470A (ko) 2017-10-31
KR102646721B1 true KR102646721B1 (ko) 2024-03-14

Family

ID=60301524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160061012A KR102646721B1 (ko) 2016-04-20 2016-05-18 컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법

Country Status (3)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7048289B2 (ja) * 2017-12-08 2022-04-05 キオクシア株式会社 情報処理装置および方法
TWI708150B (zh) * 2018-05-08 2020-10-21 華碩電腦股份有限公司 主機板和記憶體模組
KR20220135504A (ko) * 2021-03-30 2022-10-07 삼성전자주식회사 데이터 처리 시스템 및 데이터 처리 장치의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208746A (ja) * 2004-01-20 2005-08-04 Victor Co Of Japan Ltd 記憶装置制御方法および記憶操作命令装置制御方法
JP4615896B2 (ja) * 2004-05-25 2011-01-19 富士通セミコンダクター株式会社 半導体記憶装置および該半導体記憶装置の制御方法
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 (ko) * 2007-04-25 2009-09-18 삼성전자주식회사 배드 블록 정보를 저장하지 않는 행 디코더를 갖는 플래시메모리 장치 및 그것의 제어 방법
US7788415B2 (en) * 2007-05-28 2010-08-31 Sandisk Il Ltd. Management of internal operations by a storage device
KR101962874B1 (ko) * 2012-04-24 2019-03-27 삼성전자주식회사 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법
KR102021401B1 (ko) * 2012-08-30 2019-11-04 에스케이하이닉스 주식회사 메모리 장치
KR102088403B1 (ko) * 2013-08-08 2020-03-13 삼성전자 주식회사 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법
KR102159119B1 (ko) * 2014-05-21 2020-09-23 에스케이하이닉스 주식회사 반도체 메모리 장치
CN104505117B (zh) * 2014-12-30 2017-10-03 华中科技大学 一种动态存储器刷新方法与刷新控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
KR20170120470A (ko) 2017-10-31
CN107452423A (zh) 2017-12-08
TWI737703B (zh) 2021-09-01
TW201738764A (zh) 2017-11-01
CN107452423B (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
US9971697B2 (en) Nonvolatile memory module having DRAM used as cache, computing system having the same, and operating method thereof
US11481149B2 (en) Memory module and memory system relating thereto
US11614866B2 (en) Nonvolatile memory device and operation method thereof
US11438016B2 (en) Error detection code generation circuits of semiconductor devices, memory controllers including the same and semiconductor memory devices including the same
US9767903B2 (en) Nonvolatile memory module having dual-port DRAM
US10649894B2 (en) Nonvolatile memory module and operation method thereof
US10019367B2 (en) Memory module, computing system having the same, and method for testing tag error thereof
US11023396B2 (en) Memory system including DRAM cache and cache management method thereof
US11462255B2 (en) Memory device, a controller for controlling the same, a memory system including the same, and a method of operating the same
US10599363B2 (en) Nonvolatile memory capable of outputting data using wraparound scheme, computing system having the same, and read method thereof
US10929064B2 (en) Methods of operating mixed device type memory modules, and processors and systems configured for operating the same
KR102646721B1 (ko) 컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법
KR102374637B1 (ko) 컴퓨팅 시스템 및 그것의 메모리 관리 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right