CN108427647B - 读取数据的方法以及混合存储器模块 - Google Patents

读取数据的方法以及混合存储器模块 Download PDF

Info

Publication number
CN108427647B
CN108427647B CN201711136385.4A CN201711136385A CN108427647B CN 108427647 B CN108427647 B CN 108427647B CN 201711136385 A CN201711136385 A CN 201711136385A CN 108427647 B CN108427647 B CN 108427647B
Authority
CN
China
Prior art keywords
cache
metadata
dram
data
controller
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
Application number
CN201711136385.4A
Other languages
English (en)
Chinese (zh)
Other versions
CN108427647A (zh
Inventor
张牧天
牛迪民
郑宏忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108427647A publication Critical patent/CN108427647A/zh
Application granted granted Critical
Publication of CN108427647B publication Critical patent/CN108427647B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06COMPUTING OR CALCULATING; 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1048Scalability
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/221Static RAM
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/507Control mechanisms for virtual memory, cache or TLB using speculative control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
CN201711136385.4A 2017-02-15 2017-11-16 读取数据的方法以及混合存储器模块 Active CN108427647B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762459414P 2017-02-15 2017-02-15
US62/459,414 2017-02-15
US15/587,286 US10282294B2 (en) 2017-02-15 2017-05-04 Mitigating DRAM cache metadata access overhead with SRAM metadata cache and bloom filter
US15/587,286 2017-05-04

Publications (2)

Publication Number Publication Date
CN108427647A CN108427647A (zh) 2018-08-21
CN108427647B true CN108427647B (zh) 2023-08-08

Family

ID=63106399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711136385.4A Active CN108427647B (zh) 2017-02-15 2017-11-16 读取数据的方法以及混合存储器模块

Country Status (5)

Country Link
US (1) US10282294B2 (enExample)
JP (1) JP6916751B2 (enExample)
KR (1) KR102231792B1 (enExample)
CN (1) CN108427647B (enExample)
TW (1) TWI744457B (enExample)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11397687B2 (en) * 2017-01-25 2022-07-26 Samsung Electronics Co., Ltd. Flash-integrated high bandwidth memory appliance
US10402337B2 (en) * 2017-08-03 2019-09-03 Micron Technology, Inc. Cache filter
CN112805692A (zh) 2018-09-17 2021-05-14 美光科技公司 混合式双列直插式存储器模块中的高速缓存操作
US10761986B2 (en) * 2018-10-23 2020-09-01 Advanced Micro Devices, Inc. Redirecting data to improve page locality in a scalable data fabric
EP3881190A1 (en) * 2018-11-12 2021-09-22 Dover Microsystems, Inc. Systems and methods for metadata encoding
TWI688859B (zh) 2018-12-19 2020-03-21 財團法人工業技術研究院 記憶體控制器與記憶體頁面管理方法
CN109800185B (zh) * 2018-12-29 2023-10-20 上海霄云信息科技有限公司 一种数据存储系统中的数据缓存方法
KR20200092710A (ko) * 2019-01-25 2020-08-04 주식회사 리얼타임테크 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치
US10853165B2 (en) * 2019-02-21 2020-12-01 Arm Limited Fault resilient apparatus and method
US11061670B2 (en) * 2019-03-05 2021-07-13 Marvell Asia Pte, Ltd. Dual-interface flash memory controller with execute-in-place cache control
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
CN110688062B (zh) 2019-08-26 2021-03-30 华为技术有限公司 一种缓存空间的管理方法及装置
EP3812892B1 (en) 2019-10-21 2022-12-07 ARM Limited Apparatus and method for handling memory load requests
TWI739227B (zh) * 2019-12-03 2021-09-11 智成電子股份有限公司 避免多餘記憶體存取的系統單晶片模組
GB2594732B (en) * 2020-05-06 2022-06-01 Advanced Risc Mach Ltd Adaptive load coalescing
CN113934361B (zh) * 2020-06-29 2024-05-03 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN112084216B (zh) * 2020-09-16 2021-05-11 上海嗨普智能信息科技股份有限公司 基于布隆过滤器的数据查询系统
US11914517B2 (en) 2020-09-25 2024-02-27 Advanced Micro Devices, Inc. Method and apparatus for monitoring memory access traffic
CN113204370A (zh) * 2021-03-16 2021-08-03 南京英锐创电子科技有限公司 指令缓存方法及装置
US12271306B2 (en) * 2021-03-27 2025-04-08 Intel Corporation Integrated three-dimensional (3D) DRAM cache
KR102351237B1 (ko) 2021-04-29 2022-01-13 삼성전자주식회사 메모리 저장 장치 및 통신 시스템
CN114095585B (zh) * 2022-01-21 2022-05-20 武汉中科通达高新技术股份有限公司 数据传输方法、装置、存储介质及电子设备
US12072761B2 (en) 2022-06-02 2024-08-27 Micron Technology, Inc. Memory sub-system addressing for data and additional data portions
US11886291B1 (en) * 2022-07-21 2024-01-30 Dell Products L.P. Providing cache line metadata over multiple cache lines
US12032479B2 (en) 2022-08-10 2024-07-09 Astera Labs, Inc. Metadata-caching integrated circuit device
KR102746289B1 (ko) 2022-12-12 2024-12-23 포항공과대학교 산학협력단 하이브리드 메모리 장치 및 그 관리 방법
US20240319880A1 (en) * 2023-03-21 2024-09-26 Micron Technology, Inc. Compute express link dram + nand system solution
CN116303126B (zh) * 2023-03-22 2023-09-01 摩尔线程智能科技(北京)有限责任公司 缓存、数据的处理方法及电子设备
US20240393964A1 (en) * 2023-05-22 2024-11-28 Qualcomm Incorporated Hash filter-based selective-row refresh in memory device
US20240394195A1 (en) * 2023-05-22 2024-11-28 Rambus Inc. Dram cache tag probing
CN117217977B (zh) * 2023-05-26 2024-07-19 摩尔线程智能科技(北京)有限责任公司 Gpu的数据访问处理方法、装置及存储介质
EP4495788A1 (en) * 2023-07-20 2025-01-22 Nokia Solutions and Networks Oy Systems and methods for cache filtering
US20250298522A1 (en) * 2024-03-21 2025-09-25 Sandisk Technologies Llc Optimized selective scanning of overlap-table in storage memories for sequential data
KR102865250B1 (ko) 2024-04-17 2025-09-30 성균관대학교산학협력단 메모리 소자와 반도체 장치 및 그 동작 방법
KR20250152993A (ko) 2024-04-17 2025-10-24 성균관대학교산학협력단 디램 소자와 반도체 장치 및 그 동작 방법
CN119782198B (zh) * 2024-12-11 2025-11-28 厦门大学 一种基于分区命名空间固态硬盘的键值缓存系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035887A (zh) * 2014-05-22 2014-09-10 中国科学院计算技术研究所 一种基于精简配置系统的块设备缓存装置及其方法
CN104090852A (zh) * 2014-07-03 2014-10-08 华为技术有限公司 管理混合缓存的方法及设备
CN104809179A (zh) * 2015-04-16 2015-07-29 华为技术有限公司 访问哈希表的装置和方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920477B2 (en) * 2001-04-06 2005-07-19 President And Fellows Of Harvard College Distributed, compressed Bloom filter Web cache server
US20080155229A1 (en) * 2006-12-21 2008-06-26 Kevin Scott Beyer System and method for generating a cache-aware bloom filter
US20110276744A1 (en) 2010-05-05 2011-11-10 Microsoft Corporation Flash memory cache including for use with persistent key-value store
US8478934B2 (en) 2010-07-19 2013-07-02 Lsi Corporation Managing extended RAID caches using counting bloom filters
US20130173853A1 (en) 2011-09-26 2013-07-04 Nec Laboratories America, Inc. Memory-efficient caching methods and systems
US8868843B2 (en) * 2011-11-30 2014-10-21 Advanced Micro Devices, Inc. Hardware filter for tracking block presence in large caches
SG10201505148QA (en) * 2012-02-23 2015-07-30 Marvell Int Ltd Data Storage Device And Method Of Managing A Cache In A Data Storage Device
US9684469B1 (en) 2012-03-12 2017-06-20 EMC IP Holding Company LLC System and method for cache replacement using access-ordering lookahead approach
US10474584B2 (en) * 2012-04-30 2019-11-12 Hewlett Packard Enterprise Development Lp Storing cache metadata separately from integrated circuit containing cache controller
US9032152B2 (en) * 2013-03-22 2015-05-12 Applied Micro Circuits Corporation Cache miss detection filter
US9552301B2 (en) * 2013-07-15 2017-01-24 Advanced Micro Devices, Inc. Method and apparatus related to cache memory
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9396112B2 (en) * 2013-08-26 2016-07-19 Advanced Micro Devices, Inc. Hierarchical write-combining cache coherence
US10268584B2 (en) * 2014-08-20 2019-04-23 Sandisk Technologies Llc Adaptive host memory buffer (HMB) caching using unassisted hinting
CA2876466C (en) 2014-12-29 2022-07-05 Ibm Canada Limited - Ibm Canada Limitee Scan optimization using bloom filter synopsis
KR102403202B1 (ko) 2015-03-13 2022-05-30 삼성전자주식회사 메타 데이터 관리자를 포함하는 메모리 시스템 및 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035887A (zh) * 2014-05-22 2014-09-10 中国科学院计算技术研究所 一种基于精简配置系统的块设备缓存装置及其方法
CN104090852A (zh) * 2014-07-03 2014-10-08 华为技术有限公司 管理混合缓存的方法及设备
CN104809179A (zh) * 2015-04-16 2015-07-29 华为技术有限公司 访问哈希表的装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姜国松 ; .一种高效、可扩展细粒度缓存管理混合存储研究.计算机科学.2013,(第08期),全文. *

Also Published As

Publication number Publication date
TW201832086A (zh) 2018-09-01
CN108427647A (zh) 2018-08-21
KR102231792B1 (ko) 2021-03-25
US20180232310A1 (en) 2018-08-16
TWI744457B (zh) 2021-11-01
KR20180094469A (ko) 2018-08-23
JP2018133086A (ja) 2018-08-23
US10282294B2 (en) 2019-05-07
JP6916751B2 (ja) 2021-08-11

Similar Documents

Publication Publication Date Title
CN108427647B (zh) 读取数据的方法以及混合存储器模块
TWI771387B (zh) 記憶體模組及操作記憶體模組的方法
CN106663060B (zh) 用于缓存线路去重的方法和系统
US10248572B2 (en) Apparatus and method for operating a virtually indexed physically tagged cache
US20180081822A1 (en) Systems and methods for flushing a cache with modified data
US8185692B2 (en) Unified cache structure that facilitates accessing translation table entries
US20110231598A1 (en) Memory system and controller
US20080168236A1 (en) Performance of a cache by detecting cache lines that have been reused
US10719448B2 (en) Cache devices with configurable access policies and control methods thereof
US20110320720A1 (en) Cache Line Replacement In A Symmetric Multiprocessing Computer
US20140047175A1 (en) Implementing efficient cache tag lookup in very large cache systems
EP1977322A2 (en) Patrol snooping for higher level cache eviction candidate identification
CN113254363B (zh) 具有部分逻辑到物理地址转换表的非易失性存储控制器
CN103383666B (zh) 改善缓存预取数据局部性的方法和系统及缓存访问方法
US20080301372A1 (en) Memory access control apparatus and memory access control method
CN117331853A (zh) 缓存处理方法、装置、电子设备及介质
TWI797354B (zh) 快取記憶體、儲存系統和快取記憶體的逐出方法
US20150052310A1 (en) Cache device and control method thereof
JP2007048296A (ja) 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム
KR102731761B1 (ko) 프로세서 기반 시스템의 압축 메모리 시스템에서 우선순위 기반 캐시 라인 피팅
US9128853B1 (en) Lookup structure for large block cache
US7519778B2 (en) System and method for cache coherence
JPWO2022148943A5 (enExample)
JP2019164491A (ja) 情報処理装置及びキャッシュ制御装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant