KR102505913B1 - 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템 - Google Patents

메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR102505913B1
KR102505913B1 KR1020180039208A KR20180039208A KR102505913B1 KR 102505913 B1 KR102505913 B1 KR 102505913B1 KR 1020180039208 A KR1020180039208 A KR 1020180039208A KR 20180039208 A KR20180039208 A KR 20180039208A KR 102505913 B1 KR102505913 B1 KR 102505913B1
Authority
KR
South Korea
Prior art keywords
type memory
memory
controller
training
type
Prior art date
Application number
KR1020180039208A
Other languages
English (en)
Other versions
KR20190115923A (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 KR1020180039208A priority Critical patent/KR102505913B1/ko
Priority to US16/205,357 priority patent/US10740010B2/en
Priority to US16/218,720 priority patent/US10990463B2/en
Priority to CN201910164370.1A priority patent/CN110347331B/zh
Publication of KR20190115923A publication Critical patent/KR20190115923A/ko
Application granted granted Critical
Publication of KR102505913B1 publication Critical patent/KR102505913B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0669Configuration or reconfiguration with decentralised address assignment
    • G06F12/0676Configuration or reconfiguration with decentralised address assignment the address being position dependent
    • 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/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops

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)
  • Power Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 메모리 모듈에 관한 것이다. 본 발명의 실시 예에 따른 메모리 모듈은 제1 타입 메모리, 제2 타입 메모리, 초기화 시에, 제2 타입 메모리의 용량 정보를 외부의 호스트 장치로 전송하도록 구성되는 직렬 프레즌스 검출 장치, 그리고 초기화 후의 트레이닝 시에, 외부의 호스트 장치로부터 수신되는 제2 타입 메모리에 대한 트레이닝 명령을 제1 타입 메모리로 전달하도록 구성되는 제어기를 포함한다.

Description

메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템{MEMORY MODULE AND MEMORY SYSTEM INCLUDING MEMORY MODULE)}
본 발명은 반도체 장치에 관한 것으로, 더 상세하게는 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리는 반도체 소자들을 이용하여 데이터를 저장하는 데에 사용된다. 반도체 메모리는 동적 랜덤 액세스 메모리 또는 정적 랜덤 액세스 메모리와 같은 휘발성 메모리, 그리고 플래시 메모리, 상 변화 메모리, 강유전체 메모리, 자기 메모리, 저항성 메모리 등과 같은 불휘발성 메모리를 포함한다.
통상적으로, 휘발성 메모리는 고속의 랜덤 액세스를 지원하며, 개인용 컴퓨터, 서버 또는 워크스테이션과 같은 컴퓨팅 시스템의 주 메모리로 사용된다. 불휘발성 메모리는 큰 저장 용량을 지원하며, 컴퓨팅 시스템의 보조 스토리지로 사용된다.
근래에, 스토리지 클래스 메모리(SCM, Storage Class Memory)에 대한 연구 및 개발이 진행되고 있다. 스토리지 클래스 메모리는 불휘발성의 큰 저장 용량과 고속의 랜덤 액세스 모두를 지원하는 것을 목표로 개발되고 있다. 스토리지 클래스 메모리는 불휘발성 메모리를 이용하여 구현될 수 있다.
기존의 주 메모리와의 호환성을 위하여, 스토리지 클래스 메모리는 주 메모리의 메모리 모듈을 기반으로 연구 및 개발되고 있다. 그러나 주 메모리인 동적 랜덤 액세스 메모리(DRAM)의 동작 특성과 불휘발성 메모리의 동작 특성의 차이로 인해, 스토리지 클래스 메모리를 구현하는 데에 문제가 발생할 수 있다.
본 발명의 목적은 호스트에게 불휘발성 메모리의 저장 용량을 제공하되, 호스트와 동적 랜덤 액세스 메모리의 트레이닝을 성공적으로 수행하는 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템을 제공하는 데에 있다.
본 발명의 실시 예에 따른 메모리 모듈은 제1 타입 메모리, 제2 타입 메모리, 초기화 시에, 제2 타입 메모리의 용량 정보를 외부의 호스트 장치로 전송하도록 구성되는 직렬 프레즌스 검출 장치, 그리고 초기화 후의 트레이닝 시에, 외부의 호스트 장치로부터 수신되는 제2 타입 메모리에 대한 트레이닝 명령을 제1 타입 메모리로 전달하도록 구성되는 제어기를 포함한다.
본 발명의 실시 예에 따른 메모리 모듈은 제1 타입 메모리, 제2 타입 메모리, 그리고 트레이닝 시에 제1 타입 메모리가 외부의 호스트 장치와 트레이닝 하도록 제어하고, 그리고 트레이닝이 완료된 후에 제2 타입 메모리의 저장 공간을 외부의 호스트 장치에 제공하도록 구성되는 제어기를 포함한다.
본 발명의 실시 예에 따른 메모리 시스템은 제1 타입 메모리 모듈, 제2 타입 메모리 모듈, 그리고 제1 타입 메모리 모듈 및 제2 타입 메모리 모듈 각각에 대해 트레이닝을 수행한 후에 제1 타입 메모리 모듈 및 제2 타입 메모리 모듈 각각을 액세스하도록 구성되는 프로세서를 포함한다. 제1 타입 메모리 모듈은 제1 타입 메모리, 제2 타입 메모리, 트레이닝 전에, 제2 타입 메모리의 용량 정보를 프로세서로 전송하도록 구성되는 직렬 프레즌스 검출 장치, 그리고 트레이닝 시에, 프로세서로부터 수신되는 제2 타입 메모리에 대한 트레이닝 명령을 제1 타입 메모리로 전달하도록 구성되는 제어기를 포함한다.
본 발명에 따르면, 반도체 메모리 모듈은 불휘발성 메모리의 저장 용량을 호스트에게 제공하되, 호스트와의 트레이닝은 동적 랜덤 액세스 메모리에게 전담시킨다. 따라서, 호스트와 오류 없는 트레이닝을 수행하면서 호스트에게 불휘발성 메모리의 저장 용량을 제공하는 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템이 제공된다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 제1 타입 메모리 모듈의 동작 방법을 보여주는 순서도이다.
도 3은 메모리 제어기가 제1 및 제3 메모리 모듈들과 초기화를 수행하는 예를 보여준다.
도 4는 초기화가 수행된 후에 트레이닝 시에, 매체 제어기가 메모리 제어기와 채널을 구성하는 예를 보여준다.
도 5는 트레이닝 시에 매체 제어기가 트레이닝 명령들을 제어하는 예를 보여준다.
도 6은 매체 제어기가 제2 타입 메모리와 채널을 수립하는 예를 보여준다.
도 7은 매체 제어기가 트레이닝의 완료를 검출하는 예를 보여준다.
도 8은 본 발명의 실시 예에 따른 제1 타입 메모리 모듈을 보여주는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 보여주는 블록도이다. 예를 들어, 메모리 시스템(100)은 응용 서버, 클라이언트 서버, 데이터 서버와 같은 서버를 포함할 수 있다. 다른 예로서, 메모리 시스템(100)은 개인용 컴퓨터 또는 워크 스테이션을 포함할 수 있다.
도 1을 참조하면, 메모리 시스템(100)은 프로세서(110), 제1 내지 제4 메모리 모듈들(120~150), 루트 컴플렉스(160), 그리고 스토리지 장치(170)를 포함한다. 프로세서(110)는 메모리 시스템(100)의 구성 요소들 및 구성 요소들의 동작들을 제어할 수 있다. 프로세서(110)는 운영체제 및 응용들을 실행하고, 운영체제 또는 응용들을 이용하여 데이터를 처리할 수 있다.
프로세서(110)는 메모리 제어기(111) 및 캐시 메모리(112)를 포함할 수 있다. 메모리 제어기(111)는 메인 채널들(MCH) 및 보조 채널들(SCH)을 통해 제1 내지 제4 메모리 모듈들(120~150)을 액세스할 수 있다. 캐시 메모리(112)는 정적 랜덤 액세스 메모리(SRAM)와 같은 고속의 메모리를 포함할 수 있다.
제1 내지 제4 메모리 모듈들(120~150)은 메인 채널들(MCH) 및 보조 채널들(SCH)을 통해 메모리 제어기(111)에 연결될 수 있다. 메인 채널들(MCH)은 메모리 모듈들(120~150)에 데이터를 저장하거나 데이터를 읽기 위해 사용되는 채널들일 수 있다. 메인 채널들(MCH)은 제1 내지 제4 메모리 모듈들(120~150)에 대해 각각 제공되는 채널들을 포함할 수 있다.
보조 채널들(SCH)은 제1 내지 제4 메모리 모듈들(120~150)에 데이터를 저장하거나 읽는 것 외에, 제1 내지 제4 메모리 모듈들(120~150)과 연관된 추가적인 기능들을 제공할 수 있다. 예를 들어, 제1 내지 제4 메모리 모듈들(120~150)은 보조 채널들(SCH)을 통해 자신의 고유한 정보들을 메모리 제어기(111)에 제공할 수 있다. 보조 채널들(SCH)은 제1 내지 제4 메모리 모듈들(120~150)에 대해 각각 제공되는 채널들을 포함할 수 있다.
제1 내지 제4 메모리 모듈들(120~150)은 메모리 시스템(100)의 메인 메모리로 사용될 수 있다. 제1 내지 제4 메모리 모듈들(120~150)은 DIMM(Dual In-line Memory Module), RDIMM(Registered DIMM), LRDIMM(Load Reduced DIMM) 등과 같은 메모리 모듈의 표준들 중 하나에 따라 메모리 제어기(111)와 통신할 수 있다.
루트 컴플렉스(160)는 프로세서(110)가 다양한 주변 장치들을 액세스하는 채널들을 제공할 수 있다. 예를 들어, 루트 컴플렉스(160)에 스토리지 장치(170)가 연결될 수 있다. 스토리지 장치(170)는 하드 디스크 드라이브, 광학 디스크 드라이브, 솔리드 스테이트 드라이브 등을 포함할 수 있다.
프로세서(110)는 캐시 메모리(112), 메인 메모리인 제1 내지 제4 메모리 모듈들(120~150), 그리고 스토리지 장치(170)를 계층적으로 관리할 수 있다. 예를 들어, 프로세서(110)는 스토리지 장치(170)에 저장된 데이터 중 필요한 데이터를 제1 내지 제4 메모리 모듈들(120~150)을 포함하는 메인 메모리에 로드할 수 있다. 프로세서(110)는 메인 메모리에 저장된 데이터 중 백업이 필요한 데이터를 스토리지 장치(170)로 플러시(flush)할 수 있다.
제1 내지 제4 메모리 모듈들(120~150)을 포함하는 메인 메모리의 저장 영역 중 일부는 캐시 메모리(112)에 사상될 수 있다. 프로세서(110)는 메인 메모리의 특정한 저장 공간을 액세스할 필요가 있을 때, 특정한 저장 공간이 캐시 메모리(112)에 사상되어 있는지 판단할 수 있다.
특정한 저장 공간이 캐시 메모리(112)에 사상되어 있으면, 프로세서(110)는 캐시 메모리(112)의 특정한 저장 공간을 액세스할 수 있다. 특정한 저장 공간이 캐시 메모리에 사상되어 있지 않으면, 프로세서(110)는 제1 내지 제4 메모리 모듈들(120~150)의 특정한 저장 공간을 캐시 메모리(112)에 사상할(또는 가져올(fetch)) 수 있다.
캐시 메모리(112)의 저장 공간이 부족하면, 프로세서(110)는 기존에 캐시 메모리(112)에 사상된 저장 공간을 해제할 수 있다. 해제 대상인 저장 공간의 데이터가 갱신되었으면, 프로세서(110)는 갱신된 데이터를 제1 내지 제4 메모리 모듈들(120~150)로 플러시할 수 있다.
제1 내지 제4 메모리 모듈들(120~150)은 이종의 메모리 모듈들을 포함할 수 있다. 예를 들어, 제1 및 제2 메모리 모듈들(120, 130)은 제1 타입 메모리 모듈들일 수 있다. 제3 및 제4 메모리 모듈들(140, 150)은 제2 타입 메모리 모듈들일 수 있다.
제1 메모리 모듈(120)은 제1 타입 메모리(121), 제2 타입 메모리(122), 매체 제어기(123), 그리고 직렬 프레즌스 검출(SPD, Serial Presence Detect) 장치(125)를 포함할 수 있다. 제2 메모리 모듈(130)은 제1 타입 메모리(131), 제2 타입 메모리(132), 매체 제어기(133), 그리고 직렬 프레즌스 검출(SPD, Serial Presence Detect) 장치(135)를 포함할 수 있다. 이하에서, 제1 메모리 모듈(120)을 참조하여 제1 타입 메모리 모듈들(120, 130)이 설명된다.
제1 타입 메모리(121)는 고속의 휘발성 메모리, 예를 들어 동적 랜덤 액세스 메모리(DRAM)를 포함할 수 있다. 제2 타입 메모리(122)는 제1 타입 메모리(121)보다 느린 속도를 갖고, 제1 타입 메모리(121)보다 큰 저장 용량을 갖는 불휘발성 메모리를 포함할 수 있다. 예를 들어, 제2 타입 메모리(122)는 플래시 메모리, 상 변화 메모리(Phase Change Memory), 강유전체 메모리(Ferroelectric Memory), 자기 메모리(Magnetic Memory), 저항성 메모리(Resistive Memory) 등을 포함할 수 있다.
매체 제어기(123)는 메인 채널들(MCH) 중 대응하는 채널을 통해 전달되는 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)로부터의 액세스 명령을 제1 타입 메모리(121) 또는 제2 타입 메모리(122)에 전달할 수 있다. 액세스 명령에 따라, 매체 제어기(123)는 메인 채널들(MCH) 중 대응하는 채널을 통해 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)와 데이터를 교환할 수 있다.
매체 제어기(123)는 제2 타입 메모리(122)의 저장 용량 또는 저장 공간을 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)에 제공할 수 있다. 매체 제어기(123)는 제1 타입 메모리(121)를 제2 타입 메모리(122)의 캐시 메모리로 사용할 수 있다.
예를 들어, 매체 제어기(123)는 제2 타입 메모리(122)의 저장 공간 중 일부 저장 공간을 제1 타입 메모리(121)에 사상할 수 있다. 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)로부터의 액세스 명령과 연관된 저장 공간이 제1 타입 메모리(121)에 사상되어 있으면, 매체 제어기(123)는 액세스 명령을 제1 타입 메모리(121)로 전달할 수 있다.
외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)로부터의 액세스 명령과 연관된 저장 공간이 제1 타입 메모리(121)에 사상되어 있지 않으면, 매체 제어기(123)는 해당 저장 공간을 제2 타입 메모리(122)로부터 제1 타입 메모리(121)로 사상(또는 백업)할 수 있다.
제1 타입 메모리(121)의 저장 공간이 부족하면, 매체 제어기(123)는 기존에 제1 타입 메모리(121)에 사상된 저장 공간을 해제할 수 있다. 해제 대상인 저장 공간의 데이터가 갱신되었으면, 매체 제어기(123)는 갱신된 데이터를 제2 타입 메모리(122)로 플러시할 수 있다.
매체 제어기(123)는 매체 스위치(MSW)를 포함할 수 있다. 매체 스위치(MSW)는 매체 제어기(123) 내에 집적 회로의 일부로 포함되는 하드웨어 또는 매체 제어기(123)에서 실행되는 펌웨어의 형태로 구현될 수 있다. 매체 스위치(MSW)는 제1 타입 메모리(121) 및 제2 타입 메모리(122)와의 통신을 제어할 수 있다.
예를 들어, 트레이닝 시에, 매체 스위치(MSW)는 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)로부터의 트레이닝 명령을 제1 타입 메모리(121)로만 전달하도록 구성될 수 있다. 트레이닝이 완료된 후에, 매체 스위치(MSW)는 외부의 호스트 장치로부터의 액세스 명령에 따라, 제1 타입 메모리(121) 또는 제2 타입 메모리(122)로 액세스 명령을 전송할 수 있다.
SPD 장치(125)는 보조 채널들(SCH) 중 대응하는 채널을 통해 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)와 통신할 수 있다. 예를 들어, 제1 메모리 모듈(120)이 초기화될 때에, SPD 장치(125)는 저장된 정보를 보조 채널들(SCH) 중 대응하는 채널을 통해 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)에 제공할 수 있다.
예를 들어, SPD 장치(125)는 제1 메모리 모듈(120)의 저장 공간으로서 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)에 제공되는 저장 용량에 대한 정보를 저장할 수 있다. 예를 들어, SPD 장치(125)는 제2 타입 메모리(122)의 저장 용량에 대한 정보를 저장할 수 있다. 초기화 시에, SPD 장치(125)는 제2 타입 메모리(122)의 저장 용량에 대한 정보를 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)에 제공할 수 있다.
예를 들어, SPD 장치(125)에 저장되는 용량 정보는 제2 타입 메모리(122)의 사용자 용량에 대한 정보를 포함할 수 있다. 제2 타입 메모리(122)의 저장 용량은 사용자 용량, 메타 용량, 그리고 예비 용량을 포함할 수 있다. 사용자 용량은 제2 타입 메모리(122)가 외부의 호스트 장치, 예를 들어 메모리 제어기(111)에 제공하는 저장 용량일 수 있다.
메타 용량은 제2 타입 메모리(122)를 관리하기 위한 다양한 메타 정보가 저장되며, 외부의 호스트 장치, 예를 들어 메모리 제어기(111)에 공개되지 않는 저장 용량일 수 있다. 예비 용량은 제2 타입 메모리(122)를 관리하기 위해 확보되며, 외부의 호스트 장치, 예를 들어 메모리 제어기(111)에 공개되지 않는 저장 용량일 수 있다.
SPD 장치(125)에 저장된 용량 정보는 제2 타입 메모리(122)의 사용자 용량에 대한 정보를 포함할 수 있다. 이하에서, 제2 타입 메모리(122)의 용량은 제2 타입 메모리(122)의 사용자 용량을 가리키는 것으로 이해될 수 있다.
제3 메모리 모듈(140)은 제1 타입 메모리(141) 및 직렬 프레즌스 검출(SPD, Serial Presence Detect) 장치(145)를 포함할 수 있다. 제4 메모리 모듈(150)은 제1 타입 메모리(151) 및 직렬 프레즌스 검출(SPD, Serial Presence Detect) 장치(155)를 포함할 수 있다. 이하에서, 제3 메모리 모듈(140)을 참조하여 제2 타입 메모리 모듈들(140, 150)이 설명된다.
제1 타입 메모리(141)는 제1 메모리 모듈(120)의 제1 타입 메모리(121)와 마찬가지로 동적 랜덤 액세스 메모리를 포함할 수 있다. SPD 장치(145)는 보조 채널들(SCH) 중 대응하는 채널을 통해 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)와 통신할 수 있다. 예를 들어, 제3 메모리 모듈(140)이 초기화될 때에, SPD 장치(145)는 저장된 정보를 보조 채널들(SCH) 중 대응하는 채널을 통해 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)에 제공할 수 있다.
예를 들어, SPD 장치(125)는 제3 메모리 모듈(140)의 저장 공간으로서 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)에 제공되는 저장 용량에 대한 정보를 저장할 수 있다. 예를 들어, SPD 장치(145)는 제1 타입 메모리(141)의 저장 용량에 대한 정보를 저장할 수 있다. 초기화 시에, SPD 장치(145)는 제1 타입 메모리(141)의 저장 용량에 대한 정보를 외부의 호스트 장치, 예를 들어 메모리 제어기(111) 또는 프로세서(110)에 제공할 수 있다.
메모리 시스템(100)에 전원이 공급되면, 메모리 제어기(111)는 제1 내지 제4 메모리 모듈들(120~150)과 초기화를 수행할 수 있다. 예를 들어, 제1 내지 제4 메모리 모듈들(120~150)의 SPD 장치들(125~155)은 보조 채널들(SCH)을 통해 메모리 제어기(111)에 각각 용량 정보를 제공할 수 있다.
제1 타입 메모리 모듈들(120, 130)의 SPD 장치들(125, 135)은 각각 제2 타입 메모리들(122, 132)의 저장 용량들을 메모리 제어기(111)에 제공할 수 있다. 제2 타입 메모리 모듈들(140, 150)의 SPD 장치들(145, 155)은 각각 제1 타입 메모리들(141, 151)의 저장 용량들을 메모리 제어기(111)에 제공할 수 있다. 예를 들어, 메모리 제어기(111)는 SPD 장치들(125~155)로부터 저장 용량들을 각각 읽을 수 있다.
초기화가 수행된 후에, 메모리 제어기(111)는 제1 내지 제4 메모리 모듈들(120~150)과 트레이닝을 수행할 수 있다. 예를 들어, 메모리 제어기(111)는 제1 내지 제4 메모리 모듈들(120~150)로 트레이닝 명령을 전송함으로써 트레이닝을 수행할 수 있다.
트레이닝 명령은 둘 이상의 읽기 명령들 또는 둘 이상의 쓰기 명령들을 포함할 수 있다. 트레이닝 동안 메모리 제어기(111)는 제1 내지 제4 메모리 모듈들(120~150)에 명령들을 반복적으로 전송함으로써, 클럭 신호에 동기되어 명령들을 전송하는 타이밍들을 정렬하고, 그리고 제1 내지 제4 메모리 모듈들(120~150)의 저장 용량들의 무결성을 체크할 수 있다.
메모리 제어기(111)가 식별하는 제2 타입 메모리 모듈들(140, 150)의 저장 공간들은 제1 타입 메모리들(141, 151)의 저장 공간들이다. 따라서, 메모리 제어기(111)의 트레이닝 명령은 제1 타입 메모리들(141, 151)로 전달된다.
메모리 제어기(111)가 식별하는 제1 타입 메모리 모듈들(120, 130)의 저장 공간들은 제2 타입 메모리들(122, 132)의 저장 공간들이다. 따라서, 메모리 제어기(111)는 제2 타입 메모리들(122, 132)의 저장 공간들에 대해 트레이닝 명령을 전송할 수 있다.
그러나 메인 메모리들을 제어하는 메모리 제어기(111)의 트레이닝 명령은 제1 타입 메모리, 즉 동적 랜덤 액세스에 부합하도록 정해져 있다. 메모리 제어기(111)가 제2 타입 메모리들(122, 132)의 저장 공간에 대해 트레이닝을 수행할 수 있도록 하려면, 메모리 제어기(111)의 구조 또는 기능이 변경되어야 한다. 그러나 기존에 사용되고 있는 메모리 제어기(111)를 변경하는 것은 큰 비용을 초래한다.
이러한 문제를 해결하기 위하여, 본 발명의 실시 예에 따른 제1 타입 메모리 모듈들(120, 130)은 제2 타입 메모리들(122, 132)의 저장 공간들을 메모리 제어기(111)에 제공하되, 트레이닝을 제1 타입 메모리(121)에게 전담시킨다. 따라서, 메모리 제어기(111)의 트레이닝에 영향을 주거나 오동작을 유발하지 않으면서, 제2 타입 메모리들(122, 132)의 저장 공간들을 메모리 제어기(111)에 제공할 수 있다.
상술된 실시 예에서, 루트 컴플렉스(160)에 스토리지 장치(170)가 연결되는 것으로 도시된다. 그러나 루트 컴플렉스(160)에 연결되는 장치는 스토리지 장치(170)로 한정되지 않는다.
도 2는 본 발명의 실시 예에 따른 제1 타입 메모리 모듈(120 또는 130)의 동작 방법을 보여주는 순서도이다. 예시적으로, 제1 메모리 모듈(120)을 참조하여 동작 방법이 설명된다. 그러나 제2 메모리 모듈(130) 또는 도 2를 참조하여 설명된 동작 방법을 수행할 수 있다.
도 1 및 도 2를 참조하면, S110 단계에서, 초기화 동안에, 제1 메모리 모듈(120)은 제2 타입 메모리(122)의 용량을 제1 메모리 모듈(120)의 전체 용량으로 보고한다. 예를 들어, 제1 메모리 모듈(120)은 SPD 장치(125)에 저장된 용량 정보를 메모리 제어기(111)에 전달할 수 있다. 용량 정보는 제2 타입 메모리(122)의 용량 정보를 포함할 수 있다.
S120 단계에서, 트레이닝 동안에, 제1 메모리 모듈(120)은 메모리 제어기(111)로부터 수신되는 제2 타입 메모리(122)에 대한 트레이닝 명령을 제1 타입 메모리로 전송할 수 있다. 제1 타입 메모리(121)는 트레이닝 명령에 따라 메모리 제어기(111)와 트레이닝을 수행할 수 있다.
제2 타입 메모리(122)에 대한 트레이닝 명령을 제2 타입 메모리(122)가 아닌 제1 타입 메모리(121)로 전송함으로써, 제1 메모리 모듈(120)은 트레이닝에 영향을 주지 않고 그리고 트레이닝에서 오동작을 유발하는 것이 방지된다.
도 3은 메모리 제어기(111)가 제1 및 제3 메모리 모듈들(120, 140)과 초기화를 수행하는 예를 보여준다. 도 3을 참조하면, 제1 및 제3 메모리 모듈들(120, 140)은 각각 제1 및 제2 보조 채널들(SCH1, SCH2)을 통해 제1 및 제2 용량 정보들(CI1, CI2)을 메모리 제어기(111)에 전송할 수 있다. 예를 들어, 메모리 제어기(111)는 SPD 장치들(125, 145)로부터 각각 제1 및 제2 용량 정보들(CI1, CI2)을 읽을 수 있다.
제1 용량 정보(CI1)는 제1 메모리 모듈(120)의 용량으로서 제2 타입 메모리(122)의 용량을 가리킬 수 있다. 제1 용량 정보(CI1)가 가리키는 제2 타입 메모리(122)의 용량은 제1 타입 메모리(121)의 용량(이하에서, 단위 용량)과 연관될 수 있다. 예를 들어, 제1 용량 정보(CI1)에 포함된 제2 타입 메모리(122)의 용량은 단위 용량의 N배(N은 양의 정수)일 수 있다.
제1 용량 정보(CI1)는 단위 용량을 갖는 N개의 메모리들이 존재함을 가리킬 수 있다. 예를 들어, 제1 용량 정보(CI1)는 단위 용량을 갖는 N개의 랭크들이 존재함을 가리킬 수 있다. 예를 들어, 제1 용량 정보(CI1)는 제2 타입 메모리(122)의 저장 공간을 N개의 물리적 또는 논리적으로 구별되는 저장 공간들(예를 들어, 가상으로 구별된 메모리들)로 나타낼 수 있다.
메모리 제어기(111)는 제1 용량 정보(CI1)에 따라 제1 메모리 모듈(120)의 용량을 제1 식별된 용량(IC1)으로 식별할 수 있다. 메모리 제어기(111)는 단위 용량을 갖는 N개의 가상으로 구별된 메모리들에 식별자들을 부여할 수 있다. 예를 들어, N이 8인 경우, 메모리 제어기(111)는 단위 용량을 갖는 8개의 가상 메모리들에 제1 내지 제8 식별자들(CID1~CID8)을 부여할 수 있다.
제1 용량 정보(CI1)에 따라, 메모리 제어기(111)는 N개의 메모리들(예를 들어, 가상으로 구별된 메모리들)이 제1 메모리 모듈(120)에 존재하는 것으로 식별할 수 있다. 초기화 및 트레이닝이 완료된 후에, 메모리 제어기(111)는 N개의 메모리들을 개별적으로 액세스할 수 있다. 초기화 및 트레이닝이 완료된 후에, 제1 메모리 모듈(120)의 매체 제어기(123)는 N개의 메모리들에 대한 액세스들을 제2 타입 메모리(122)의 물리적 또는 논리적으로 구별되는 저장 공간들에 대한 액세스들로 식별할 수 있다.
제2 용량 정보(CI2)는 제3 메모리 모듈(140)의 용량으로서 제1 타입 메모리(141)의 용량을 가리킬 수 있다. 제2 용량 정보(CI2)에 따라, 메모리 제어기(111)는 제3 메모리 모듈(140)의 용량을 제2 식별된 용량(IC2)으로 식별할 수 있다. 예를 들어, 제2 용량 정보(CI2)에 따라, 제2 식별된 용량(IC2)에 하나 또는 그보다 많은 식별자들이 할당될 수 있다.
도 4는 초기화가 수행된 후에 트레이닝 시에, 매체 제어기(123)가 메모리 제어기(111)와 채널을 구성하는 예를 보여준다. 도 4를 참조하면, 매체는 제1 메인 채널(MCH1)을 통해 메모리 제어기(111)와 통신할 수 있다. 매체 제어기(123)의 매체 스위치(MSW)는 제2 타입 메모리(122)와 채널을 구성하지 않고 제1 타입 메모리(121)와만 채널을 구성할 수 있다.
메모리 제어기(111)에 의해 식별된 제1 식별된 용량(IC1) 중에서 제1 타입 메모리(121)에 대응하는 용량, 예를 들어 제1 식별자(CID1)가 부여된 용량이 실제 저장 공간을 가질 수 있다. 제1 식별된 용량(IC1) 중에서 제1 타입 메모리(121)에 대응하지 않는 용량, 예를 들어 제2 내지 제8 식별자들(CID2~CID8)이 부여된 용량들은 실제 저장 공간을 갖지 않는 가상 용량일 수 있다.
제1 메모리 모듈(120)과 달리, 제3 메모리 모듈(140)의 제1 타입 메모리(141)는 제2 메인 채널(MCH2)을 통해 메모리 제어기(111)와 직접 채널을 구성할 수 있다. 제2 식별된 용량(IC2)은 제3 메모리 모듈(140)의 제1 타입 메모리(141)의 저장 공간을 가질 수 있다.
도 5는 트레이닝 시에 매체 제어기(123)가 트레이닝 명령들을 제어하는 예를 보여준다. 도 5를 참조하면, 제1 식별된 용량(IC1)에 따라, 메모리 제어기(111)는 제1 내지 제8 식별자들(CID1~CID8)을 갖는 메모리들이 제1 메모리 모듈(120)에 존재하는 것으로 인식한다.
따라서, 메모리 제어기(111)는 제1 내지 제8 식별자들(CID1~CID8)을 갖는 트레이닝 명령들(T_CMDs)을 제1 메모리 모듈(120)로 순차적으로 전송할 수 있다. 예를 들어, 메모리 제어기(111)는 제1 식별자(CID1)를 갖는 트레이닝 명령을 제1 메모리 모듈(120)로 전송하여, 제1 식별자(CID1)를 갖는 메모리에 대한 트레이닝을 시도할 수 있다.
제1 식별자(CID1)를 갖는 메모리에 대한 트레이닝이 완료된 후에, 메모리 제어기(111)는 제2 식별자(CID2)를 갖는 트레이닝 명령을 제1 메모리 모듈(120)로 전송하여, 제2 식별자(CID2)를 갖는 메모리에 대한 트레이닝을 시도할 수 있다. 예를 들어, 트레이닝 명령은 적어도 하나의 쓰기 명령, 적어도 하나의 읽기 명령, 또는 적어도 하나의 리프레시 명령과 같은 다양한 명령들을 포함할 수 있다.
매체 스위치(MSW)는 트레이닝 명령들(T_CMDs)을 모두 제1 타입 메모리(121)로 전달할 수 있다. 예를 들어, 트레이닝 명령들(T_CMDs)에 포함된 식별자들(CID1~CID8)에 관계없이, 매체 스위치(MSW)는 트레이닝 명령들(T_CMDs)을 제1 타입 메모리(121)로 반복적으로 전달할 수 있다. 예를 들어, 매체 스위치(MSW)는 트레이닝 명령들(T_CMDs)이 모두 제1 식별자(CID1)를 갖는 것으로 인식할 수 있다.
메모리 제어기(111)가 제1 내지 제8 식별자들(CID1~CID8)을 갖는 트레이닝 명령들(T_CMDs)을 순차적으로 전송함에 따라, 매체 스위치(MSW)는 제1 내지 제8 식별자들(CID1~CID8)에 대응하는 트레이닝 명령들(T_CMDs)을 제1 타입 메모리(121)로 반복적으로 전송할 수 있다.
즉, 제1 식별된 용량(IC1)에서, 제2 내지 제8 식별자들(CID2~CID8)을 갖는 가상 용량들은 트레이닝되지 않고, 제1 식별자(CID1)를 갖는 제1 타입 메모리(121)의 용량이 반복적으로 트레이닝될 수 있다.
제1 타입 메모리(121)는 제1 메인 채널(MCH1)의 트레이닝 절차에 부합한다. 따라서, 메모리 제어기(111)로부터의 트레이닝 명령들(T_CMDs)이 제1 타입 메모리(121)로 전달되면, 제1 메모리 모듈(120)이 메모리 제어기(111)와의 트레이닝에 영향을 주거나 오동작을 유발하는 것이 방지된다.
제2 타입 메모리(122)에 대한 초기화 또는 트레이닝은 매체 제어기(123)에 의해 수행될 수 있다. 따라서, 제1 타입 메모리(121)와 제2 타입 메모리(122)의 초기화 및 트레이닝이 오동작 없이 수행될 수 있다.
제1 메모리 모듈(120)과 달이, 제3 메모리 모듈(140)에 대한 트레이닝 명령(T_CMD)은 제1 타입 메모리(141)로 직접 전달된다. 제1 타입 메모리(141)는 제2 메인 채널(MCH2)의 트레이닝 절차에 부합한다. 따라서, 제3 메모리 모듈(140)에 대한 트레이닝이 오동작 없이 수행된다.
상술된 바와 같이, 트레이닝 시에 매체 스위치(MSW)는 메모리 제어기(111)로부터의 트레이닝 명령들(T_CMDs)이 제2 타입 메모리(122)로 전달되는 것을 차단할 수 있다. 트레이닝 시에, 매체 스위치(MSW)는 메모리 제어기(111)로부터의 트레이닝 명령들(T_CMDs)을 제1 타입 메모리(121)로 전달할 수 있다. 따라서, 제1 메인 채널(MCH1)의 트레이닝 절차에 부합하지 않는 제2 타입 메모리(122)를 저장 공간으로 제공하는 제1 메모리 모듈(120)에서 트레이닝이 오동작 없이 수행될 수 있다.
도 6은 매체 제어기(123)가 제2 타입 메모리(122)와 채널을 수립하는 예를 보여준다. 도 5 및 도 6을 참조하면, S210 단계에서, 매체 제어기(123)는 트레이닝의 완료를 검출할 수 있다. 트레이닝의 완료가 검출되면, S220 단계에서, 매체 제어기(123)는 제2 타입 메모리(122)를 메인 메모리로 그리고 제1 타입 메모리(121)를 캐시 메모리로 설정할 수 있다.
예를 들어, 제1 식별된 용량(IC1)에 따라, 메모리 제어기(111)는 제1 메모리 모듈(120)의 저장 용량을 제2 타입 메모리(122)의 저장 용량으로 식별한다. 제2 타입 메모리(122)의 저장 공간의 일부는 제1 타입 메모리(121)에 사상될 수 있다. 메모리 제어기(111)가 액세스하고자 하는 저장 공간이 제1 타입 메모리(121)에 사상되어 있을 때, 매체 제어기(123)는 메모리 제어기(111)로부터의 액세스 명령을 제1 타입 메모리(121)로 전달할 수 있다.
메모리 제어기(111)가 액세스하고자 하는 저장 공간이 제1 타입 메모리(121)에 사상되어 있지 않을 때, 매체 제어기(123)는 액세스 요청된 저장 공간을 제2 타입 메모리(122)로부터 제1 타입 메모리(121)로 사상할 수 있다. 이후에, 매체 제어기(123)는 메모리 제어기(111)로부터의 액세스 명령을 제1 타입 메모리(121)로 전달할 수 있다.
본 실시 예에 따르면, 제1 메모리 모듈(120)은 메모리 제어기(111)의 액세스 요청을 제1 타입 메모리(121)로 전달함으로써, 메모리 제어기(111)가 요구하는 높은 액세스 속도를 보장할 수 있다. 또한, 제1 메모리 모듈(120)은 제2 타입 메모리(122)의 저장 공간을 제1 타입 메모리(121)에 사상(예를 들어, 백업)하거나 또는 제1 타입 메모리(121)의 저장 공간을 제2 타입 메모리(122)에 플러시(flush) 함으로써, 제2 타입 메모리(122)의 큰 저장 용량 및 불휘발성 기능을 메모리 제어기(111)에 제공할 수 있다.
도 7은 매체 제어기(123)가 트레이닝의 완료를 검출하는 예를 보여준다. 도 7을 참조하면, 초기화 및 트레이닝은 바이오스(BIOS. Basic Input Output System)에 의해 수행된다. 초기화 및 트레이닝이 완료되면, 메모리 제어기(111)는 리프레시 명령(R_CMD)을 주기적으로 제1 메모리 모듈(120) 및 제3 메모리 모듈(140)로 전송할 수 있다.
매체 제어기(123)는 리프레시 명령(R_CMD)이 주기적으로(또는 연속적으로) 수신될 때, 트레이닝이 완료된 것을 검출할 수 있다. 예를 들어, 매체 제어기(123)는 다른 명령이 끼어들지 않고 리프레시 명령(R_CMD)만이 특정 횟수 이상 주기적으로(또는 연속적으로) 수신될 때, 트레이닝이 완료된 것을 검출할 수 있다.
트레이닝의 완료가 검출되면, 매체 스위치(MSW)는 제1 타입 메모리(121) 및 제2 타입 메모리(122) 모두와 채널을 수립할 수 있다. 예시적으로, 트레이닝이 수행되는 동안 리프레시 명령(R_CMD)이 잡음의 형태로 수신될 수 있다. 매체 제어기(123)는 리프레시 명령(R_CMD)만이 주기적으로 또는 연속적으로 수신되는지를 판단함으로써, 트레이닝 시에 잡음의 형태로 수신되는 리프레시 명령(R_CMD)과 트레이닝이 완료된 후에 수신되는 리프레시 명령(R_CMD)을 구별할 수 있다.
도 8은 본 발명의 실시 예에 따른 제1 타입 메모리 모듈(200)을 보여주는 블록도이다. 예시적으로, 제1 타입 메모리 모듈(200)은 LRDIMM 표준에 기반한 메모리 모듈일 수 있다. 예시적으로, 제1 메모리 모듈(120)을 참조하여 제1 타입 메모리 모듈(200)이 도시된다.
도 1 및 도 8을 참조하면, 제1 타입 메모리 모듈(200)은 제1 타입 메모리(210), 제2 타입 메모리(220), 매체 제어기(230), 제1 내지 제8 데이터 버퍼들(241~248), 그리고 직렬 프레즌스 검출(SPD) 장치(250)를 포함한다.
제1 타입 메모리(210)는 휘발성 메모리일 수 있다. 예를 들어, 제1 타입 메모리(210)는 제1 내지 제4 휘발성 메모리들(211~214)을 포함한다. 제1 내지 제4 휘발성 메모리들(211~214)은 서로 분리된 패키지들로 형성될 수 있다. 제1 내지 제4 휘발성 메모리들(211~214)은 동적 랜덤 액세스 메모리들을 포함할 수 있다.
제2 타입 메모리(220)는 불휘발성 메모리일 수 있다. 예를 들어, 제2 타입 메모리(220)는 제1 내지 제4 불휘발성 메모리들(221~224)을 포함할 수 있다. 제1 내지 제4 불휘발성 메모리들(221~224)은 서로 분리된 패키지들로 형성될 수 있다. 제1 내지 제4 불휘발성 메모리들(221~224)은 제2 타입 메모리(220) 내에서 서로 다른 어드레스들에 의해 식별되는 저장 영역들일 수 있다.
제2 타입 메모리(220)는 플래시 메모리(Flash Memory Device), 상 변화 메모리(Phase Change Memory), 강유전체 메모리(Ferroelectric Memory), 저항성 메모리(Resistive Memory), 자기 메모리(Magnetoregistive Memory)와 같은 다양한 불휘발성 메모리들 중 적어도 하나를 포함할 수 있다.
매체 제어기(230)는 메모리 제어기(111)로부터 제1 명령 및 주소(CA1), 제1 클럭 신호(CK1), 그리고 제1 제어 신호(CTRL1)를 수신할 수 있다. 매체 제어기(230)는 제1 내지 제8 데이터 버퍼들(241~248)과 제2 데이터 신호들(DQ2)을 통신할 수 있다. 매체 제어기(230)는 제1 명령 및 주소(CA1), 제1 클럭 신호(CK1), 그리고 제1 제어 신호(CTRL1)에 따라, 제1 타입 메모리(210) 또는 제2 타입 메모리(220)를 액세스할 수 있다.
매체 제어기(230)는 제2 명령 및 주소(CA2), 제2 클럭 신호(CK2), 그리고 제2 제어 신호(CTRL2)를 제1 타입 메모리(210)로 전송하고, 제1 타입 메모리(210)와 제3 데이터 신호들(DQ3)을 통신할 수 있다. 매체 제어기(230)는 제3 명령 및 주소(CA3), 제3 클럭 신호(CK3), 그리고 제3 제어 신호(CTRL3)를 제2 타입 메모리(220)로 전송하고, 제2 타입 메모리(220)와 제4 데이터 신호들(DQ4)을 통신할 수 있다.
예시적으로, 제1 명령 및 주소(CA1), 제2 명령 및 주소(CA2), 그리고 제3 명령 및 주소(CA3)는 서로 다른 포맷들을 가질 수 있다. 다른 예로서, 제1 명령 및 주소(CA1), 제2 명령 및 주소(CA2), 그리고 제3 명령 및 주소(CA3) 중 적어도 두 개는 동일한 포맷들을 가질 수 있다. 예를 들어, 매체 제어기(230)가 제1 타입 메모리(210)와 통신하는 포맷과 제2 타입 메모리(220)와 통신하는 포맷은 서로 다를 수 있다.
매체 제어기(230)는 제1 버퍼 명령(CMD_B1)을 전송하여 제1 내지 제4 데이터 버퍼들(241~244)을 제어할 수 있다. 매체 제어기(230)는 제2 버퍼 명령(CMD_B2)을 전송하여 제5 내지 제8 데이터 버퍼들(245~248)을 제어할 수 있다.
매체 제어기(230)는 매체 스위치(MSW)를 포함할 수 있다. 위에서 설명된 바와 같이, 제1 타입 메모리 모듈(200)이 초기화될 때, 매체 스위치(MSW)는 메모리 제어기(111)로부터의 제2 타입 메모리(220)에 대한 트레이닝 명령을 제1 타입 메모리(210)로 전달할 수 있다. 트레이닝이 종료되면, 매체 스위치(MSW)는 제2 타입 메모리(220)를 제1 타입 메모리 모듈(200)의 저장 공간으로서 메모리 제어기(111)에 제공할 수 있다.
제1 내지 제8 데이터 버퍼들(241~248)은 데이터 스트로브 신호들(DQS)과 동기되어 메모리 제어기(111)와 제1 메인 채널(MCH1)을 통해 제1 데이터 신호들(DQ1)을 통신할 수 있다. 제1 내지 제8 데이터 버퍼들(241~248)은 메모리 제어기(111)로부터 제1 메인 채널(MCH1)을 통해 수신되는 제1 데이터 신호들(DQ1)을 제2 데이터 신호들(DQ2)로서 매체 제어기(230)로 전달할 수 있다.
제1 내지 제8 데이터 버퍼들(241~248)은 매체 제어기(230)로부터 수신되는 제2 데이터 신호들(DQ2)을 제1 메인 채널(MCH1)을 통해 제1 데이터 신호들(DQ1)로서 메모리 제어기(111)로 전달할 수 있다. 제1 내지 제8 데이터 버퍼들(241~248)은 서로 분리된 패키지들로 형성될 수 있다.
SPD 장치(250)는 매체 제어기(230)와 통신하고, 그리고 제1 보조 채널(SCH1)을 통해 메모리 제어기(111)와 통신할 수 있다. SPD 장치(250)는 시스템 관리 버스(SMBus, System Management Bus) 또는 I2C(Inter Integrated Circuit) 등과 같은 다양한 통신 방식들 중 적어도 하나에 기반할 수 있다.
예시적으로, 제1 타입 메모리(210)는 제2 타입 메모리(220)의 캐시 메모리로 사용될 수 있다. 제2 타입 메모리(220)의 저장 공간 중 일부가 제1 타입 메모리(210)에 사상될 수 있다.
메모리 제어기(111)로부터 수신되는 제1 명령 및 주소(CA1)가 가리키는 제1 저장 공간이 제1 타입 메모리(210)에 사상되어 있을 때, 즉 캐시 히트가 발생할 때, 매체 제어기(230)는 제1 타입 메모리(210)에 제2 명령 및 주소(CA2)를 전달할 수 있다. 제1 타입 메모리(210)는 제2 명령 및 주소(CA2)에 따라 쓰기 또는 읽기를 수행할 수 있다.
메모리 제어기(111)로부터 수신되는 제1 명령 및 주소(CA1)가 가리키는 제1 저장 공간이 제1 타입 메모리(210)에 사상되어 있지 않을 때, 즉 캐시 미스가 발생할 때, 매체 제어기(230)는 제1 명령 및 주소(CA1)가 가리키는 제1 저장 공간을 제1 타입 메모리(210)에 사상할 수 있다.
예를 들어, 제2 타입 메모리(220)의 제1 저장 공간과 연관된 제2 저장 공간을 제1 타입 메모리(210)에 확보할 수 있다. 제1 타입 메모리(210)에 저장 공간이 부족하면, 매체 제어기(230)는 제1 타입 메모리(210)에 사상된 다른 저장 공간을 버리거나 또는 다른 저장 공간을 제2 타입 메모리(220)에 반환함으로써, 제1 타입 메모리(210)에 저장 공간을 확보할 수 있다.
제2 타입 메모리(220)의 제1 저장 공간에 데이터가 저장되어 있으면, 매체 제어기(230)는 제1 저장 공간의 데이터를 제1 타입 메모리(210)의 제2 저장 공간으로 복사할 수 있다. 이후에, 매체 제어기(230)는 제2 명령 및 주소(CA2)를 제1 타입 메모리(210)로 전달할 수 있다. 제1 타입 메모리(210)는 제2 명령 및 주소(CA2)에 응답하여 제2 저장 공간에 대해 쓰기 또는 읽기를 수행할 수 있다.
제1 타입 메모리(210)에서 제2 저장 공간을 해제하고자 할 때, 매체 제어기(230)는 제2 저장 공간이 오염되었는지(dirty) 체크할 수 있다. 예를 들어, 제2 저장 공간에 대해 쓰기가 수행된 때에, 제2 저장 공간은 오염된(dirty) 것으로 판단될 수 있다.
제2 저장 공간이 오염되지 않았으면(not dirty), 매체 제어기(230)는 제2 저장 공간의 데이터를 버림으로써 제2 저장 공간을 해제할 수 있다. 제2 저장 공간이 오염되었으면(dirty), 매체 제어기(230)는 제2 저장 공간의 데이터를 제2 타입 메모리(220)에 기입함으로써 제2 저장 공간을 반환할 수 있다. 제2 저장 공간을 반환한 후에, 매체 제어기(230)는 제2 저장 공간을 버림으로써 제2 저장 공간을 해제할 수 있다.
다른 예로서, 제1 타입 메모리(210) 및 제2 타입 메모리(220)는 메모리 제어기(111)에 의해 직접 액세스될 수 있다. 예를 들어, 제1 명령 및 주소(CA1) 또는 제1 제어 신호(CTRL1)가 제1 타입 메모리(210)를 가리킬 때, 매체 제어기(230)는 제2 명령 및 주소(CA2), 제2 클럭 신호(CK2) 또는 제2 제어 신호(CTRL2)를 제1 타입 메모리(210)에 전달할 수 있다.
제1 명령 및 주소(CA1) 또는 제1 제어 신호(CTRL1)가 제2 타입 메모리(220)를 가리킬 때, 매체 제어기(230)는 제3 명령 및 주소(CA3), 제3 클럭 신호(CK3) 또는 제3 제어 신호(CTRL3)를 제2 타입 메모리(220)에 전달할 수 있다.
예시적으로, 휘발성 메모리들, 불휘발성 메모리들, 그리고 데이터 버퍼들의 수는 한정되지 않는다. 휘발성 메모리들 또는 불휘발성 메모리들의 수는 데이터 버퍼들의 수와 동일하거나 다를 수 있다. 데이터 버퍼들의 수는 9개로 변경될 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 메모리 시스템
110: 프로세서
111: 메모리 제어기
112: 캐시 메모리
120: 제1 타입의 제1 메모리 모듈
130: 제1 타입의 제2 메모리 모듈
140: 제2 타입의 제3 메모리 모듈
150: 제2 타입의 제4 메모리 모듈
121, 131, 141, 151: 제1 타입 메모리
122, 132: 제2 타입 메모리
123, 133: 매체 제어기
MSW: 매체 스위치
125, 135, 145, 155: 직렬 프레즌스 검출 장치
160: 루트 컴플렉스
170: 스토리지 장치

Claims (20)

  1. 제1 타입 메모리;
    제2 타입 메모리;
    초기화 시에, 상기 제2 타입 메모리의 용량 정보를 외부의 호스트 장치로 전송하도록 구성되는 직렬 프레즌스 검출 장치; 그리고
    상기 초기화 후의 트레이닝 시에, 상기 외부의 호스트 장치로부터 수신되는 상기 제2 타입 메모리에 대한 트레이닝 명령을 상기 제1 타입 메모리로 전달하도록 구성되는 제어기를 포함하고,
    상기 제2 타입 메모리의 제2 용량은 상기 제1 타입 메모리의 제1 용량의 N배(N은 양의 정수)이고,
    상기 용량 정보는 상기 제1 용량을 갖는 N개의 메모리들이 존재함을 가리키고, 그리고
    상기 트레이닝 시에, 상기 제어기는 상기 외부의 호스트 장치로부터 상기 N개의 메모리들에 대해 각각 수신되는 N개의 트레이닝 명령들을 상기 제1 타입 메모리로 반복적으로 전송하는 메모리 모듈.
  2. 제1항에 있어서,
    상기 제어기는 상기 N개의 트레이닝 명령들 각각의 주소를 상기 제1 타입 메모리를 가리키는 동일한 주소로 인식하는 메모리 모듈.
  3. 제1항에 있어서,
    상기 용량 정보가 읽혀지면, 상기 제어기는 상기 외부의 호스트 장치로부터의 상기 트레이닝 명령이 상기 제2 타입 메모리로 전달되는 것을 차단하는 메모리 모듈.
  4. 제1항에 있어서,
    상기 트레이닝이 완료되면, 상기 제어기는 상기 제2 타입 메모리를 주 메모리로 그리고 상기 제1 타입 메모리를 상기 제2 타입 메모리에 대한 캐시 메모리로 사용하는 메모리 모듈.
  5. 제4항에 있어서,
    상기 제어기는 상기 외부의 호스트 장치로부터 리프레시 명령이 주기적으로 수신될 때 상기 트레이닝이 완료되었음을 검출하는 메모리 모듈.
  6. 제1항에 있어서,
    상기 제1 타입 메모리는 하나 또는 그보다 많은 동적 랜덤 액세스 메모리들을 포함하는 메모리 모듈.
  7. 제1항에 있어서,
    상기 제2 타입 메모리는 하나 또는 그보다 많은 불휘발성 메모리들을 포함하는 메모리 모듈.
  8. 제1항에 있어서,
    상기 외부의 호스트 장치가 액세스하는 데이터가 상기 제2 타입 메모리에 저장되어 있으면, 상기 제어기는 상기 데이터를 상기 제2 타입 메모리로부터 상기 제1 타입 메모리로 복사하는 메모리 모듈.
  9. 제1항에 있어서,
    상기 외부의 호스트 장치가 액세스하는 데이터가 상기 제1 타입 메모리에 저장되어 있으면, 상기 제어기는 상기 외부의 호스트 장치로부터 수신된 액세스 명령을 상기 제1 타입 메모리로 전달하는 메모리 모듈.
  10. 제1항에 있어서,
    상기 제어기와 연결되고, 상기 제어기가 상기 외부의 호스트 장치와 통신하는 데이터를 버퍼링하는 데이터 버퍼들을 더 포함하는 메모리 모듈.
  11. 제1 타입 메모리;
    제2 타입 메모리;
    초기화 동작 시에 상기 제2 타입 메모리의 용량 정보를 전송하도록 구성되는 직렬 프레즌스 검출 장치; 그리고
    트레이닝 시에 상기 제1 타입 메모리가 외부의 호스트 장치와 트레이닝 하도록 제어하고, 그리고 상기 트레이닝이 완료된 후에 상기 제2 타입 메모리의 저장 공간을 상기 외부의 호스트 장치에 제공하도록 구성되는 제어기를 포함하고,
    상기 용량 정보는 N개의 메모리들이 존재함을 가리키고, 그리고
    상기 트레이닝 시에, 상기 제어기는 상기 외부의 호스트 장치로부터 상기 N개의 메모리들에 대해 각각 수신되는 N개의 트레이닝 명령들을 순차적으로 상기 제1 타입 메모리로 전송하는 메모리 모듈.
  12. 제11항에 있어서,
    상기 제어기는 상기 제1 타입 메모리를 제외한 상기 제2 타입 메모리의 상기 저장 공간만을 상기 외부의 호스트 장치에 제공하는 메모리 모듈.
  13. 제11항에 있어서,
    상기 제어기는 DIMM(Dual In-line Memory Module), RDIMM (Registered DIMM), LRDIMM (Load Reduced DIMM)을 포함하는 메모리 모듈의 표준에 따라 상기 외부의 호스트 장치와 통신하는 메모리 모듈.
  14. 제1 타입 메모리 모듈;
    제2 타입 메모리 모듈; 그리고
    상기 제1 타입 메모리 모듈 및 상기 제2 타입 메모리 모듈 각각에 대해 트레이닝을 수행한 후에 상기 제1 타입 메모리 모듈 및 상기 제2 타입 메모리 모듈 각각을 액세스하도록 구성되는 프로세서를 포함하고,
    상기 제1 타입 메모리 모듈은:
    제1 타입 메모리;
    제2 타입 메모리;
    상기 트레이닝 전에, 상기 제2 타입 메모리의 용량 정보를 상기 프로세서로 전송하도록 구성되는 직렬 프레즌스 검출 장치; 그리고
    상기 트레이닝 시에, 상기 프로세서로부터 수신되는 상기 제2 타입 메모리에 대한 트레이닝 명령을 상기 제1 타입 메모리로 전달하도록 구성되는 제어기를 포함하고,
    상기 용량 정보는 제1 용량을 갖는 N개의 메모리들이 존재함을 가리키고,
    상기 프로세서는 상기 N개의 메모리들의 식별자들을 이용하여 상기 N개의 메모리들에 각각 트레이닝 명령들을 전송하고, 그리고
    상기 제어기는 상기 트레이닝 명령들의 상기 식별자들을 상기 제1 타입 메모리를 가리키는 동일한 식별자로 인식하는 메모리 시스템.
  15. 제14항에 있어서,
    상기 용량 정보에 따라 상기 프로세서는 상기 제1 타입 메모리 모듈에 상기 N개의 메모리들이 존재함을 식별하는 메모리 시스템.
  16. 제14항에 있어서,
    상기 제2 타입 메모리 모듈은:
    동적 랜덤 액세스 메모리; 그리고
    상기 동적 랜덤 액세스 메모리의 용량 정보를 상기 프로세서로 전송하도록 구성되는 직렬 프레즌스 검출 장치를 포함하는 메모리 시스템.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020180039208A 2018-03-27 2018-04-04 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템 KR102505913B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180039208A KR102505913B1 (ko) 2018-04-04 2018-04-04 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템
US16/205,357 US10740010B2 (en) 2018-04-04 2018-11-30 Memory module and memory system including memory module
US16/218,720 US10990463B2 (en) 2018-03-27 2018-12-13 Semiconductor memory module and memory system including the same
CN201910164370.1A CN110347331B (zh) 2018-04-04 2019-03-05 存储器模块和包括存储器模块的存储器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180039208A KR102505913B1 (ko) 2018-04-04 2018-04-04 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20190115923A KR20190115923A (ko) 2019-10-14
KR102505913B1 true KR102505913B1 (ko) 2023-03-07

Family

ID=68096019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180039208A KR102505913B1 (ko) 2018-03-27 2018-04-04 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템

Country Status (3)

Country Link
US (1) US10740010B2 (ko)
KR (1) KR102505913B1 (ko)
CN (1) CN110347331B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200088634A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 시스템, 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
US11636014B2 (en) 2017-10-31 2023-04-25 SK Hynix Inc. Memory system and data processing system including the same
KR102455880B1 (ko) 2018-01-12 2022-10-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102519572B1 (ko) 2018-05-11 2023-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20200126666A (ko) 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200124045A (ko) 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200126678A (ko) * 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200137548A (ko) 2019-05-30 2020-12-09 에스케이하이닉스 주식회사 메모리 장치 및 이의 테스트 동작 방법
US11139010B2 (en) 2018-12-11 2021-10-05 SK Hynix Inc. Memory system and operating method of the memory system
US11404097B2 (en) 2018-12-11 2022-08-02 SK Hynix Inc. Memory system and operating method of the memory system
CN116048430B (zh) * 2023-04-03 2023-07-14 苏州浪潮智能科技有限公司 随机写入指令处理方法、smr硬盘及计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160357454A1 (en) 2015-06-08 2016-12-08 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US20160357665A1 (en) 2015-06-08 2016-12-08 Samsung Electronics Co., Ltd. Nonvolatile memory module and operation method thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
KR101583002B1 (ko) 2009-02-23 2016-01-21 삼성전자주식회사 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법
US8626997B2 (en) 2009-07-16 2014-01-07 Micron Technology, Inc. Phase change memory in a dual inline memory module
US9552175B2 (en) * 2011-02-08 2017-01-24 Diablo Technologies Inc. System and method for providing a command buffer in a memory system
TWI553500B (zh) * 2011-07-26 2016-10-11 英屬開曼群島商睿能創意公司 用於車輛中之電力儲存器件之實體保全之裝置、方法及物品
US8639918B2 (en) * 2011-08-31 2014-01-28 Dell Products L.P. Memory compatibility system and method
KR101888074B1 (ko) * 2012-01-09 2018-08-13 삼성전자주식회사 저장 장치 및 불휘발성 메모리 장치, 그리고 그것의 동작 방법
US20140337589A1 (en) 2012-04-30 2014-11-13 David G. Carpenter Preventing a hybrid memory module from being mapped
US9753793B2 (en) 2014-06-30 2017-09-05 Intel Corporation Techniques for handling errors in persistent memory
CN105808455B (zh) 2014-12-31 2020-04-28 华为技术有限公司 访问内存的方法、存储级内存及计算机系统
CN107710175B (zh) * 2015-04-20 2021-12-14 奈特力斯股份有限公司 存储器模块以及操作系统和方法
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol
US10558468B2 (en) 2015-10-22 2020-02-11 American Megatrends International, Llc Memory channel storage device initialization
KR102548574B1 (ko) * 2015-12-01 2023-06-29 삼성전자주식회사 불휘발성 메모리 모듈
US10810144B2 (en) * 2016-06-08 2020-10-20 Samsung Electronics Co., Ltd. System and method for operating a DRR-compatible asynchronous memory module
US10180906B2 (en) * 2016-07-26 2019-01-15 Samsung Electronics Co., Ltd. HBM with in-memory cache manager
KR20180012565A (ko) * 2016-07-27 2018-02-06 에스케이하이닉스 주식회사 휘발성 메모리를 캐쉬로 사용하는 비휘발성 메모리 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160357454A1 (en) 2015-06-08 2016-12-08 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US20160357665A1 (en) 2015-06-08 2016-12-08 Samsung Electronics Co., Ltd. Nonvolatile memory module and operation method thereof

Also Published As

Publication number Publication date
CN110347331A (zh) 2019-10-18
CN110347331B (zh) 2023-06-13
US20190310784A1 (en) 2019-10-10
US10740010B2 (en) 2020-08-11
KR20190115923A (ko) 2019-10-14

Similar Documents

Publication Publication Date Title
KR102505913B1 (ko) 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템
CN107656700B (zh) 一种flash-dram混合存储器模块
US9927999B1 (en) Trim management in solid state drives
US20160085585A1 (en) Memory System, Method for Processing Memory Access Request and Computer System
US10120600B2 (en) Persistent memory descriptor
TWI764265B (zh) 用於將資料連結至記憶體命名空間的記憶體系統
WO2018090255A1 (zh) 内存访问技术
CN110347611B (zh) 存储器系统和存储器系统的操作方法
US20160299719A1 (en) Memory device and method for data exchanging thereof
KR20180012565A (ko) 휘발성 메모리를 캐쉬로 사용하는 비휘발성 메모리 시스템
US9727269B2 (en) System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem
CN110597742A (zh) 用于具有持久系统存储器的计算机系统的改进存储模型
US20170004095A1 (en) Memory Control Circuit and Storage Device
US11474717B2 (en) Memory systems having semiconductor memory modules therein that support page fault processing
CN104424124A (zh) 内存装置、电子设备和用于控制内存装置的方法
KR102538253B1 (ko) 반도체 메모리 모듈 및 반도체 메모리 모듈을 포함하는 메모리 시스템
CN115359830B (zh) Scm介质存储模块的读方法写方法,以及存储控制器
KR20190052490A (ko) 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법
US20230359394A1 (en) Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system
US20230376427A1 (en) Memory system and computing system including the same
US20230359379A1 (en) Computing system generating map data, and method of operating the same
EP4273702A1 (en) Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system
KR20230156524A (ko) 스토리지 장치들 및 메모리 장치들과 통신하도록 구성된 호스트의 동작 방법, 및 스토리지 장치들 및 메모리 장치들을 포함하는 시스템
CN117075795A (zh) 存储器系统以及包括其的计算系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant