KR102491651B1 - 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 - Google Patents
비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102491651B1 KR102491651B1 KR1020150178365A KR20150178365A KR102491651B1 KR 102491651 B1 KR102491651 B1 KR 102491651B1 KR 1020150178365 A KR1020150178365 A KR 1020150178365A KR 20150178365 A KR20150178365 A KR 20150178365A KR 102491651 B1 KR102491651 B1 KR 102491651B1
- Authority
- KR
- South Korea
- Prior art keywords
- tag
- dram
- cache
- data
- volatile memory
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 246
- 238000011017 operating method Methods 0.000 title description 3
- 239000000872 buffer Substances 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 12
- 230000003213 activating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 40
- 238000012545 processing Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013403 standard screening design Methods 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0853—Cache with multiport tag or data arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1004—Compatibility, e.g. with legacy hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Databases & Information Systems (AREA)
Abstract
Description
도 2는 본 발명의 실시 예에 따른 비휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 Tag DRAM 및 Data DRAM을 개념적으로 설명하기 위한 도면이다.
도 4는 본 발명의 다른 실시 예에 따른 비휘발성 메모리 모듈을 예시적으로 보여주는 도면이다.
도 5는 도 4에 도시된 DRAM들 중 어느 하나를 예시적으로 보여주는 블록도이다.
도 6은 도 4에 도시된 비휘발성 메모리 모듈의 쓰기 동작을 개략적으로 설명하는 도면이다.
도 7은 도 4에 도시된 비휘발성 메모리 모듈의 읽기 동작을 개략적으로 설명하는 도면이다.
도 8은 본 발명의 실시 예에 따른 멀티 캐시 웨이 동작을 지원하는 캐시 라인의 구성을 예시적으로 보여주는 도면이다.
도 9a 및 도 9b는 본 발명의 실시 예에 따른 패리티를 갖는 캐시 구성을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 Cache DRAM의 2-웨이 셋 연상 방식에 따른 캐시 출력 방법을 예시적으로 보여주는 도면이다.
도 11은 본 발명의 다른 실시 예에 따른 비휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 12는 본 발명의 다른 실시 예에 따른 비휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 13은 본 발명의 실시 예에 따른 티어리드 메모리를 예시적으로 보여주는 블록도이다.
도 14는 본 발명의 실시 예에 따른 프로세서의 소프트웨어 구조를 예시적으로 보여주는 블록도이다.
도 15는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 16은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 17은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 18은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 19는 본 발명의 다른 실시 예에 따른 데이터 서버 시스템을 예시적으로 보여주는 블록도이다.
도 20은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
100: 프로세서
200, DIMM: 메모리 모듈
300, NVDIMM: 비휘발성 메모리 모듈
310, NVM: 비휘발성 메모리
330: Cache DRAM
350, MMCD: 메모리 모듈 제어 장치
Claims (20)
- 적어도 하나의 비휘발성 메모리;
상기 적어도 하나의 비휘발성 메모리를 제어하는 적어도 하나의 비휘발성 메모리 제어기;
상기 적어도 하나의 비휘발성 메모리의 캐시로 사용하는 적어도 하나의 DRAM(dynamic random access memory);
상기 적어도 하나의 DRAM과 외부 사이에 입출력되는 데이터를 저장하는 데이터 버퍼들; 및
상기 적어도 하나의 비휘발성 메모리 제어기, 상기 적어도 하나의 DRAM, 및 상기 데이터 버퍼들을 제어하는 메모리 모듈 제어 장치를 포함하고,
상기 적어도 하나의 DRAM은 캐시 데이터에 대응하는 태그를 저장하고, 상기 캐시 데이터의 출력 여부를 결정하기 위하여 상기 저장된 태그를 입력된 태그 정보와 비교하고,
상기 적어도 하나의 DRAM은,
상기 태그를 저장하는 적어도 하나의 Tag DRAM; 및
상기 캐시 데이터를 저장하는 적어도 하나의 Data DRAM을 포함하고,
상기 적어도 하나의 Tag DRAM은, 상기 태그를 저장하는 제 1 메모리 셀 어레이; 상기 태그와 상기 태그 정보를 비교하고, 캐시 히트 혹은 캐시 미스를 지시하는 매치 신호를 발생하는 제 1 태그 비교 회로; 및 상기 제 1 태그 비교 회로가 활성화될 때 비활성화되는 제 1 먹스 회로를 포함하는 비휘발성 메모리 모듈. - 삭제
- 제 1 항에 있어서,
상기 적어도 하나의 Tag DRAM과 상기 적어도 하나의 Data DRAM은 동일한 구성으로 구현되는 비휘발성 메모리 모듈. - 제 1 항에 있어서,
상기 적어도 하나의 Data DRAM은, 상기 캐시 데이터를 저장하는 제 2 메모리 셀 어레이; 제 2 태그 비교 회로; 및 상기 제 2 태그 비교 회로가 비활성화될 때 활성화되고, 상기 매치 신호에 응답하여 상기 캐시 데이터의 출력 여부를 결정하는 제 2 먹스 회로를 포함하는 비휘발성 메모리 모듈. - 제 4 항에 있어서,
상기 제 1 및 제 2 태그 비교회로들, 상기 1 및 제 2 먹스 회로들은 퓨즈 컷팅 혹은 모드 레지스터 설정에 의해 활성화 혹은 비활성화되는 비휘발성 메모리 모듈. - 제 4 항에 있어서,
상기 적어도 하나의 Tag DRAM 및 상기 적어도 하나의 Data DRAM은 상기 매치 신호에 연관된 적어도 하나의 핀을 포함하는 비휘발성 메모리 모듈. - 제 1 항에 있어서,
상기 적어도 하나의 DRAM은,
상기 태그 및 상기 캐시 데이터를 모두 저장하는 복수의 DRAM들을 포함하는 비휘발성 메모리 모듈. - 제 7 항에 있어서,
상기 복수의 DRAM들 각각은,
하나의 워드라인에 연결된 제 1 DRAM셀들에 상기 태그를 저장하는 태그 어레이;
상기 하나의 워드라인에 연결된 제 2 DRAM셀들에 상기 캐시 데이터를 저장하는 데이터 어레이;
로우 어드레스에 응답하여 상기 하나의 워드라인을 활성화시키는 어드레스 디코더;
컬럼 어드레스에 응답하여 상기 제 1 DRAM셀들에 연결된 제 1 컬럼 선택 라인과 상기 제 2 DRAM셀들에 연결된 제 2 컬럼 선택 라인을 활성화시키고, 상기 제 1 DRAM셀들로부터 상기 태그를 읽거나, 상기 제 2 DRAM셀들로부터 상기 캐시 데이터를 읽는 컬럼 디코더 및 감지 증폭기;
상기 태그와 상기 태그 정보를 비교하고, 상기 비교 결과에 따라 캐시 히트 혹은 캐시 미쓰를 지시하는 매치 신호를 발생하는 태그 비교 회로; 및
상기 매치 신호에 응답하여 상기 캐시 데이터를 상기 데이터 버퍼들 중 대응하는 데이터 버퍼로 출력하는 먹스 회로를 포함하는 비휘발성 메모리 모듈. - 제 8 항에 있어서,
쓰기 요청시 상기 태그 어레이로부터 대응하는 제 1 태그를 읽고, 상기 제 1 태그와 입력된 제 1 태그 정보를 비교함으로써 상기 쓰기 요청에 대응하는 캐시 히트인지를 지시하는 제 1 매치 신호를 발생하고, 상기 제 1 매치 신호에 응답하여 상기 쓰기 요청에 대응하는 제 1 캐시 데이터를 상기 데이터 어레이에 저장하는 비휘발성 메모리 모듈. - 제 8 항에 있어서,
읽기 요청시 상기 태그 어레이로부터 대응하는 제 2 태그를 읽고, 상기 제 2 태그와 입력된 제 2 태그 정보를 비교함으로써 상기 읽기 요청에 대응하는 캐시 히트인지를 지시하는 제 2 매치 신호를 발생하고, 상기 제 2 매치 신호에 응답하여 상기 읽기 요청에 대응하는 제 2 캐시 데이터를 상기 데이터 어레이로부터 읽는 비휘발성 메모리 모듈. - 제 8 항에 있어서,
상기 태그 어레이는 멀티-웨이 방식에 따른 복수의 캐시들에 대응하는 태그들을 저장하고,
상기 데이터 어레이는 상기 복수의 캐시들에 대응하는 캐시 데이터를 저장하고,
상기 복수의 캐시들에 대응하는 태그들과 캐시 데이터는 컬럼 투 컬럼 딜레이(tCCD) 시간을 이용하여 출력되는 비휘발성 메모리 모듈. - 제 11 항에 있어서,
상기 태그들 각각은 더티/클리어(dirty/clear) 정보를 더 포함하고,
상기 캐시 데이터 출력시 상기 더티/클리어 정보도 함께 출력되는 비휘발성 메모리 모듈. - 제 1 항에 있어서,
상기 적어도 하나의 DRAM은 듀얼 포트 DRAM인 비휘발성 메모리 모듈. - 제 13 항에 있어서,
상기 적어도 하나의 DRAM은,
상기 적어도 하나의 DRAM과 상기 데이터 버퍼들 사이의 입출력 패스에 연관된 제 1 포트들; 및
상기 적어도 하나의 DRAM과 상기 적어도 하나의 비휘발성 메모리 제어기 사이의 입출력 패스에 연관된 제 2 포트들을 포함하는 비휘발성 메모리 모듈. - 제 13 항에 있어서,
상기 적어도 하나의 DRAM은,
플러시 기능을 수행하기 위하여 상기 비휘발성 메모리 제어기에 연결된 전용 채널을 포함하는 비휘발성 메모리 모듈. - 프로세서; 및
상기 프로세서에 DDR(double data rate) 인터페이스에 따라 연결되는 적어도 하나의 비휘발성 메모리 모듈을 포함하고,
상기 적어도 하나의 비휘발성 메모리 모듈은,
적어도 하나의 비휘발성 메모리; 및
상기 적어도 하나의 비휘발성 메모리의 캐시 기능을 수행하고, 캐시의 태그를 저장하고, 태그 비교를 통하여 상기 캐시의 히트/미쓰를 판별하는 적어도 하나의 DRAM을 포함하고,
상기 적어도 하나의 DRAM은,
상기 태그를 저장하는 적어도 하나의 Tag DRAM; 및
캐시 데이터를 저장하는 적어도 하나의 Data DRAM을 포함하고,
상기 적어도 하나의 Tag DRAM은, 상기 태그를 저장하는 제 1 메모리 셀 어레이; 상기 태그와 태그 정보를 비교하고, 캐시 히트 혹은 캐시 미스를 지시하는 매치 신호를 발생하는 제 1 태그 비교 회로; 및 상기 제 1 태그 비교 회로가 활성화될 때 비활성화되는 제 1 먹스 회로를 포함하는 컴퓨팅 시스템. - 제 16 항에 있어서,
상기 프로세서에 상기 DDR 인터페이스에 따라 연결되는 적어도 하나의 메모리 모듈; 및 상기 프로세서에 DDR-T(transaction) 인터페이스에 따라 연결된 적어도 하나의 비휘발성 메모리를 더 포함하는 컴퓨팅 시스템. - 제 17 항에 있어서,
상기 적어도 하나의 메모리 모듈은 상기 적어도 하나의 비휘발성 메모리의 캐시 기능을 수행하는 컴퓨팅 시스템. - 제 16 항에 있어서,
상기 프로세서는 DRAM을 포함하고,
상기 프로세서에 DDR-T(transaction) 인터페이스에 따라 연결된 비휘발성 메모리를 더 포함하고,
상기 DRAM은 상기 비휘발성 메모리의 캐시 기능을 수행하는 컴퓨팅 시스템. - 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150178365A KR102491651B1 (ko) | 2015-12-14 | 2015-12-14 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
US15/354,354 US9971697B2 (en) | 2015-12-14 | 2016-11-17 | Nonvolatile memory module having DRAM used as cache, computing system having the same, and operating method thereof |
CN201611152034.8A CN106997324B (zh) | 2015-12-14 | 2016-12-14 | 非易失性存储器模块、具有其的计算系统及其操作方法 |
US15/479,795 US10019367B2 (en) | 2015-12-14 | 2017-04-05 | Memory module, computing system having the same, and method for testing tag error thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150178365A KR102491651B1 (ko) | 2015-12-14 | 2015-12-14 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170070920A KR20170070920A (ko) | 2017-06-23 |
KR102491651B1 true KR102491651B1 (ko) | 2023-01-26 |
Family
ID=59020560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150178365A Active KR102491651B1 (ko) | 2015-12-14 | 2015-12-14 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9971697B2 (ko) |
KR (1) | KR102491651B1 (ko) |
CN (1) | CN106997324B (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155926B (zh) * | 2015-04-09 | 2019-11-26 | 澜起科技股份有限公司 | 存储器及存储器的数据交互方法 |
US10401935B2 (en) * | 2016-05-03 | 2019-09-03 | Samsung Electronics Co., Ltd. | Storage device with a power source and persistent store that provides backup power to DRAM in a power loss event |
KR102498208B1 (ko) * | 2016-06-07 | 2023-02-10 | 삼성전자주식회사 | 여분의 용량을 포함하는 메모리 장치 및 이를 포함하는 적층 메모리 장치 |
EP3532933B1 (en) * | 2016-10-31 | 2022-03-02 | Rambus Inc. | Hybrid memory module |
US10845866B2 (en) | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
US10216685B1 (en) * | 2017-07-19 | 2019-02-26 | Agiga Tech Inc. | Memory modules with nonvolatile storage and rapid, sustained transfer rates |
CN107480074B (zh) * | 2017-08-31 | 2020-02-07 | 郑州云海信息技术有限公司 | 一种缓存方法、装置及电子设备 |
CN109729730B (zh) | 2017-08-31 | 2020-09-04 | 华为技术有限公司 | 写入信息的方法和装置 |
KR102340446B1 (ko) * | 2017-09-08 | 2021-12-21 | 삼성전자주식회사 | 스토리지 장치 및 그것의 데이터 트레이닝 방법 |
US10719474B2 (en) * | 2017-10-11 | 2020-07-21 | Samsung Electronics Co., Ltd. | System and method for providing in-storage acceleration (ISA) in data storage devices |
US11221767B2 (en) * | 2017-10-16 | 2022-01-11 | Vmware, Inc. | Cache line persistence indicator for non-volatile memory using coherence states |
US12118241B2 (en) | 2017-10-27 | 2024-10-15 | SK Hynix Inc. | Memory controller, memory system, and operating method thereof |
KR102799075B1 (ko) | 2019-02-27 | 2025-04-23 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
KR102456173B1 (ko) | 2017-10-27 | 2022-10-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102427323B1 (ko) | 2017-11-08 | 2022-08-01 | 삼성전자주식회사 | 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법 |
KR102384759B1 (ko) * | 2017-11-13 | 2022-04-11 | 삼성전자주식회사 | 호스트 메모리 버퍼를 사용하기 위해 호스트 장치와 속성 정보를 공유하는 스토리지 장치 및 그것을 포함하는 전자 장치 |
US10431305B2 (en) * | 2017-12-14 | 2019-10-01 | Advanced Micro Devices, Inc. | High-performance on-module caching architectures for non-volatile dual in-line memory module (NVDIMM) |
US11048645B2 (en) * | 2018-02-01 | 2021-06-29 | Samsung Electronics Co., Ltd. | Memory module, operation method therof, and operation method of host |
US10705747B2 (en) | 2018-03-21 | 2020-07-07 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
KR102538253B1 (ko) * | 2018-04-16 | 2023-06-01 | 삼성전자주식회사 | 반도체 메모리 모듈 및 반도체 메모리 모듈을 포함하는 메모리 시스템 |
KR20190113437A (ko) * | 2018-03-28 | 2019-10-08 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 컴퓨팅 시스템 |
US11726920B2 (en) * | 2018-06-29 | 2023-08-15 | Rambus Inc. | Tag processing for external caches |
KR101952827B1 (ko) | 2018-06-29 | 2019-02-27 | 주식회사 맴레이 | 메모리 제어 장치 및 이를 포함하는 메모리 시스템 |
US20200042066A1 (en) * | 2018-08-02 | 2020-02-06 | Alibaba Group Holding Limited | System and method for facilitating dram data cache dumping and rack-scale battery backup |
KR102778192B1 (ko) | 2018-12-03 | 2025-03-10 | 삼성전자주식회사 | Pim을 채용하는 반도체 메모리 장치 및 그 동작 방법 |
KR20200121533A (ko) | 2019-04-16 | 2020-10-26 | 한국전자통신연구원 | 이종 메모리의 특성에 기반한 메모리 관리 장치 및 그것의 동작 방법 |
KR102707637B1 (ko) * | 2019-04-29 | 2024-09-13 | 에스케이하이닉스 주식회사 | 명령 머지 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법 |
US11537521B2 (en) | 2019-06-05 | 2022-12-27 | Samsung Electronics Co., Ltd. | Non-volatile dual inline memory module (NVDIMM) for supporting dram cache mode and operation method of NVDIMM |
KR20210063724A (ko) | 2019-11-25 | 2021-06-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102456176B1 (ko) | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11573891B2 (en) | 2019-11-25 | 2023-02-07 | SK Hynix Inc. | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device |
US11086780B1 (en) * | 2020-03-23 | 2021-08-10 | EMC IP Holding Company LLC | Scratchpad journaling mechanism for performance optimization |
KR102435253B1 (ko) | 2020-06-30 | 2022-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11755476B2 (en) | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
KR102495910B1 (ko) | 2020-04-13 | 2023-02-06 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102406449B1 (ko) | 2020-06-25 | 2022-06-08 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20210154277A (ko) * | 2020-06-11 | 2021-12-21 | 삼성전자주식회사 | 메모리 모듈 및 그의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044872A1 (en) | 1998-10-26 | 2001-11-22 | James W. Meyer | Method for controlling a cache memory in a computer system |
US20140181364A1 (en) | 2012-12-21 | 2014-06-26 | Dell Products L.P. | Systems And Methods For Support Of Non-Volatile Memory On A DDR Memory Channel |
US20150255130A1 (en) * | 2014-03-10 | 2015-09-10 | Futurewei Technologies, Inc. | Ddr4-ssd dual-port dimm device |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4920538A (en) * | 1985-06-28 | 1990-04-24 | International Business Machines Corporation | Method of checking the execution of microcode sequences |
US5014195A (en) * | 1990-05-10 | 1991-05-07 | Digital Equipment Corporation, Inc. | Configurable set associative cache with decoded data element enable lines |
US5682515A (en) * | 1993-01-25 | 1997-10-28 | Benchmarq Microelectronics, Inc. | Low power set associative cache memory with status inhibit of cache data output |
JP3305056B2 (ja) | 1993-08-31 | 2002-07-22 | 沖電気工業株式会社 | ダイナミックram |
KR100391727B1 (ko) * | 1994-11-09 | 2003-11-01 | 소니 일렉트로닉스 인코포레이티드 | 메모리시스템및메모리억세싱방법 |
US5860127A (en) * | 1995-06-01 | 1999-01-12 | Hitachi, Ltd. | Cache memory employing dynamically controlled data array start timing and a microcomputer using the same |
US7827348B2 (en) | 2000-01-06 | 2010-11-02 | Super Talent Electronics, Inc. | High performance flash memory devices (FMD) |
US6463506B1 (en) | 2000-04-29 | 2002-10-08 | Hewlett-Packard Company | Arrangement of data within cache lines so that tags are first data received |
US6912628B2 (en) | 2002-04-22 | 2005-06-28 | Sun Microsystems Inc. | N-way set-associative external cache with standard DDR memory devices |
US20040103251A1 (en) * | 2002-11-26 | 2004-05-27 | Mitchell Alsup | Microprocessor including a first level cache and a second level cache having different cache line sizes |
US7051166B2 (en) | 2003-04-21 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Directory-based cache coherency scheme for reducing memory bandwidth loss |
US7385858B2 (en) * | 2005-11-30 | 2008-06-10 | Mosaid Technologies Incorporated | Semiconductor integrated circuit having low power consumption with self-refresh |
US7564722B2 (en) * | 2007-01-22 | 2009-07-21 | Micron Technology, Inc. | Memory system and method having volatile and non-volatile memory devices at same hierarchical level |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8082482B2 (en) | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
US20090313416A1 (en) | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
US8134875B2 (en) * | 2008-12-08 | 2012-03-13 | Xilinx, Inc. | Data storage system with removable memory module having parallel channels of DRAM memory and flash memory |
US8572320B1 (en) * | 2009-01-23 | 2013-10-29 | Cypress Semiconductor Corporation | Memory devices and systems including cache devices for memory modules |
US8886885B2 (en) | 2009-11-13 | 2014-11-11 | Marvell World Trade Ltd. | Systems and methods for operating a plurality of flash modules in a flash memory file system |
CN102110057B (zh) * | 2009-12-25 | 2013-05-08 | 澜起科技(上海)有限公司 | 存储器模组及存储器模组内的数据交换方法 |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
KR101682666B1 (ko) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
US8949502B2 (en) | 2010-11-18 | 2015-02-03 | Nimble Storage, Inc. | PCIe NVRAM card based on NVDIMM |
US20120221785A1 (en) | 2011-02-28 | 2012-08-30 | Jaewoong Chung | Polymorphic Stacked DRAM Memory Architecture |
US8607121B2 (en) | 2011-04-29 | 2013-12-10 | Freescale Semiconductor, Inc. | Selective error detection and error correction for a memory interface |
US9753858B2 (en) | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
US9286205B2 (en) | 2011-12-20 | 2016-03-15 | Intel Corporation | Apparatus and method for phase change memory drift management |
KR101888009B1 (ko) * | 2012-02-28 | 2018-09-07 | 삼성전자주식회사 | 저장 장치 |
US8806294B2 (en) * | 2012-04-20 | 2014-08-12 | Freescale Semiconductor, Inc. | Error detection within a memory |
US10474584B2 (en) | 2012-04-30 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Storing cache metadata separately from integrated circuit containing cache controller |
US20130329491A1 (en) * | 2012-06-12 | 2013-12-12 | Jichuan Chang | Hybrid Memory Module |
US8935481B2 (en) | 2012-10-19 | 2015-01-13 | Oracle International Corporation | Apparatus system and method for providing raw data in a level-two cache |
KR20140095296A (ko) * | 2013-01-24 | 2014-08-01 | 삼성전자주식회사 | 픽셀 캐시 및 픽셀 캐시의 동작 방법 |
US20140229655A1 (en) | 2013-02-08 | 2014-08-14 | Seagate Technology Llc | Storing Error Correction Code (ECC) Data In a Multi-Tier Memory Structure |
US9411774B2 (en) * | 2013-04-23 | 2016-08-09 | Arm Limited | Memory access control |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US20150261446A1 (en) * | 2014-03-12 | 2015-09-17 | Futurewei Technologies, Inc. | Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller |
CN106155926B (zh) * | 2015-04-09 | 2019-11-26 | 澜起科技股份有限公司 | 存储器及存储器的数据交互方法 |
US9460791B1 (en) * | 2015-12-08 | 2016-10-04 | Inphi Corporation | Data clock synchronization in hybrid memory modules |
-
2015
- 2015-12-14 KR KR1020150178365A patent/KR102491651B1/ko active Active
-
2016
- 2016-11-17 US US15/354,354 patent/US9971697B2/en active Active
- 2016-12-14 CN CN201611152034.8A patent/CN106997324B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044872A1 (en) | 1998-10-26 | 2001-11-22 | James W. Meyer | Method for controlling a cache memory in a computer system |
US20140181364A1 (en) | 2012-12-21 | 2014-06-26 | Dell Products L.P. | Systems And Methods For Support Of Non-Volatile Memory On A DDR Memory Channel |
US20150255130A1 (en) * | 2014-03-10 | 2015-09-10 | Futurewei Technologies, Inc. | Ddr4-ssd dual-port dimm device |
Also Published As
Publication number | Publication date |
---|---|
CN106997324A (zh) | 2017-08-01 |
US9971697B2 (en) | 2018-05-15 |
US20170168931A1 (en) | 2017-06-15 |
KR20170070920A (ko) | 2017-06-23 |
CN106997324B (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102491651B1 (ko) | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 | |
US11438016B2 (en) | Error detection code generation circuits of semiconductor devices, memory controllers including the same and semiconductor memory devices including the same | |
US10019367B2 (en) | Memory module, computing system having the same, and method for testing tag error thereof | |
US11481149B2 (en) | Memory module and memory system relating thereto | |
US9432018B2 (en) | Storage controllers, methods of operating the same and solid state disks including the same | |
US11023396B2 (en) | Memory system including DRAM cache and cache management method thereof | |
US20130329491A1 (en) | Hybrid Memory Module | |
US11086571B2 (en) | Nonvolatile memory capable of outputting data using wraparound scheme, computing system having the same, and read method thereof | |
KR102344834B1 (ko) | 솔리드 스테이트 드라이브 및 이를 포함하는 컴퓨팅 시스템 | |
US20190102287A1 (en) | Remote persistent memory access device | |
US10109344B2 (en) | Semiconductor memory devices with banks with different numbers of memory cells coupled to their bit-lines and memory systems including the same | |
US10389380B2 (en) | Efficient data path architecture for flash devices configured to perform multi-pass programming | |
KR102727005B1 (ko) | 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 태그 에러 테스트 방법 | |
KR20210118727A (ko) | 행 주소 지정 및 열 주소 지정이 가능한 메모리의 동적 데이터에 대한 에러 정정 | |
US20190042372A1 (en) | Method and apparatus to recover data stored in persistent memory in a failed node of a computer cluster | |
KR102646721B1 (ko) | 컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법 | |
KR102374637B1 (ko) | 컴퓨팅 시스템 및 그것의 메모리 관리 방법 | |
US10379768B2 (en) | Selective memory mode authorization enforcement | |
KR102461460B1 (ko) | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템 및 그것의 pvt 보상 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20151214 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20200730 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20151214 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: 20220713 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: 20221020 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230118 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20230119 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |