SG10201903332RA - Memory Management Supporting Huge Pages - Google Patents

Memory Management Supporting Huge Pages

Info

Publication number
SG10201903332RA
SG10201903332RA SG10201903332RA SG10201903332RA SG10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA SG 10201903332R A SG10201903332R A SG 10201903332RA
Authority
SG
Singapore
Prior art keywords
page
data
main memory
memory management
management supporting
Prior art date
Application number
SG10201903332RA
Other languages
English (en)
Inventor
Joel Dylan Coburn
Albert Borchers
Christopher Lyle Johnson
Robert S Sprinkle
Original Assignee
Google Llc
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 Google Llc filed Critical Google Llc
Publication of SG10201903332RA publication Critical patent/SG10201903332RA/en

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/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
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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
    • 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/04Addressing variable-length words or parts of words
    • 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/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
    • G06F12/0871Allocation or management of cache space
    • 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/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
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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/0877Cache access modes
    • G06F12/0882Page mode
    • 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/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/12Replacement control
    • 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
    • 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
    • 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/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06COMPUTING OR CALCULATING; 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/305Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
SG10201903332RA 2016-09-22 2017-09-18 Memory Management Supporting Huge Pages SG10201903332RA (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/273,433 US10108550B2 (en) 2016-09-22 2016-09-22 Memory management supporting huge pages

Publications (1)

Publication Number Publication Date
SG10201903332RA true SG10201903332RA (en) 2019-05-30

Family

ID=59772830

Family Applications (2)

Application Number Title Priority Date Filing Date
SG10201903332RA SG10201903332RA (en) 2016-09-22 2017-09-18 Memory Management Supporting Huge Pages
SG10201707699VA SG10201707699VA (en) 2016-09-22 2017-09-18 Memory Management Supporting Huge Pages

Family Applications After (1)

Application Number Title Priority Date Filing Date
SG10201707699VA SG10201707699VA (en) 2016-09-22 2017-09-18 Memory Management Supporting Huge Pages

Country Status (9)

Country Link
US (2) US10108550B2 (https=)
EP (1) EP3516526B1 (https=)
JP (1) JP6719027B2 (https=)
KR (1) KR102273622B1 (https=)
CN (2) CN116701250A (https=)
DK (1) DK3516526T3 (https=)
IE (2) IE20170188A1 (https=)
SG (2) SG10201903332RA (https=)
WO (1) WO2018057235A1 (https=)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427340B (zh) * 2018-04-28 2023-08-04 伊姆西Ip控股有限责任公司 用于文件存储的方法、装置和计算机存储介质
US20190354470A1 (en) * 2018-05-16 2019-11-21 Sap Se Reduced Database Backup Memory Usage
US10956058B2 (en) * 2018-08-03 2021-03-23 Western Digital Technologies, Inc. Tiered storage system with tier configuration by peer storage devices
US10949356B2 (en) * 2019-06-14 2021-03-16 Intel Corporation Fast page fault handling process implemented on persistent memory
US11593186B2 (en) * 2019-07-17 2023-02-28 Memverge, Inc. Multi-level caching to deploy local volatile memory, local persistent memory, and remote persistent memory
US12086446B2 (en) 2019-10-21 2024-09-10 Intel Corporation Memory and storage pool interfaces
JP6972202B2 (ja) * 2020-02-14 2021-11-24 株式会社日立製作所 計算機システム及びメモリ管理方法
US11829298B2 (en) 2020-02-28 2023-11-28 Apple Inc. On-demand memory allocation
CN111666230B (zh) * 2020-05-27 2023-08-01 江苏华创微系统有限公司 在组相联tlb中支持巨页的方法
CN111913893A (zh) * 2020-06-22 2020-11-10 成都菁蓉联创科技有限公司 保留内存的映射方法和装置、设备和存储介质
US11567880B2 (en) 2020-08-12 2023-01-31 Microsoft Technology Licensing, Llc Prevention of RAM access pattern attacks via selective data movement
CN114253873A (zh) * 2020-09-22 2022-03-29 华为技术有限公司 内存管理方法、装置、设备和存储介质
CN112148736B (zh) * 2020-09-23 2024-03-12 抖音视界有限公司 缓存数据的方法、设备及存储介质
US20220382478A1 (en) * 2021-06-01 2022-12-01 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for page migration in memory systems
CN113608866B (zh) * 2021-07-13 2024-10-25 阿里巴巴创新公司 内存分配方法及装置
CN115904642A (zh) * 2021-08-19 2023-04-04 北京字节跳动网络技术有限公司 云服务器控制方法、装置、存储介质及电子设备
US20220012209A1 (en) * 2021-09-20 2022-01-13 Intel Corporation Apparatus, system and method to sample page table entry metadata between page walks
CN113641464A (zh) * 2021-10-15 2021-11-12 云宏信息科技股份有限公司 Xen平台的内存配置方法、系统及计算机可读存储介质
US12579073B2 (en) 2022-05-23 2026-03-17 Intel Corporation Apparatus and method for intelligent memory page management
US20230004302A1 (en) * 2022-09-14 2023-01-05 Intel Corporation Apparatus, Device, Method, and Computer Program for Managing Memory of a Computer System
US12147352B2 (en) * 2022-10-20 2024-11-19 International Business Machines Corporation Dynamic tuning of larger pages during runtime
CN115794397A (zh) * 2022-11-29 2023-03-14 阿里云计算有限公司 冷热页管理加速设备、方法、mmu、处理器及电子设备
CN118377606A (zh) * 2023-01-20 2024-07-23 华为技术有限公司 内存访问的页错误处理方法及装置
US20240256459A1 (en) * 2023-01-26 2024-08-01 Vmware, Inc. System and method for managing a memory hierarchy
CN116185903A (zh) * 2023-02-28 2023-05-30 阿里云计算有限公司 页面整合方法、装置、电子设备及存储介质
US12481588B2 (en) 2023-03-12 2025-11-25 Samsung Electronics Co., Ltd. Systems and methods for memory representation and management
US12423229B2 (en) 2023-03-16 2025-09-23 Samsung Electronics Co., Ltd. Systems and methods for memory representation and tracking
CN118732931A (zh) * 2023-03-31 2024-10-01 华为技术有限公司 内存数据迁移方法和相关设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361345A (en) 1991-09-19 1994-11-01 Hewlett-Packard Company Critical line first paging system
US5987561A (en) * 1995-08-31 1999-11-16 Advanced Micro Devices, Inc. Superscalar microprocessor employing a data cache capable of performing store accesses in a single clock cycle
US5960463A (en) * 1996-05-16 1999-09-28 Advanced Micro Devices, Inc. Cache controller with table walk logic tightly coupled to second level access logic
US6112285A (en) 1997-09-23 2000-08-29 Silicon Graphics, Inc. Method, system and computer program product for virtual memory support for managing translation look aside buffers with multiple page size support
US6804729B2 (en) 2002-09-30 2004-10-12 International Business Machines Corporation Migrating a memory page by modifying a page migration state of a state machine associated with a DMA mapper based on a state notification from an operating system kernel
US7447869B2 (en) * 2005-04-07 2008-11-04 Ati Technologies, Inc. Method and apparatus for fragment processing in a virtual memory system
US7519781B1 (en) 2005-12-19 2009-04-14 Nvidia Corporation Physically-based page characterization data
US8543792B1 (en) 2006-09-19 2013-09-24 Nvidia Corporation Memory access techniques including coalesing page table entries
US7917725B2 (en) 2007-09-11 2011-03-29 QNX Software Systems GmbH & Co., KG Processing system implementing variable page size memory organization using a multiple page per entry translation lookaside buffer
JP2009069969A (ja) * 2007-09-11 2009-04-02 Canon Inc 情報処理方法および情報処理装置、プログラム
US9244855B2 (en) * 2007-12-31 2016-01-26 Intel Corporation Method, system, and apparatus for page sizing extension
US9208084B2 (en) * 2009-06-29 2015-12-08 Oracle America, Inc. Extended main memory hierarchy having flash memory for page fault handling
US8195917B2 (en) 2009-07-01 2012-06-05 Advanced Micro Devices, Inc. Extended page size using aggregated small pages
US8615642B2 (en) 2009-10-14 2013-12-24 International Business Machines Corporation Automatic page promotion and demotion in multiple page size environments
US8533382B2 (en) * 2010-01-06 2013-09-10 Vmware, Inc. Method and system for frequent checkpointing
US9158701B2 (en) 2012-07-03 2015-10-13 International Business Machines Corporation Process-specific views of large frame pages with variable granularity
US10133677B2 (en) 2013-03-14 2018-11-20 Nvidia Corporation Opportunistic migration of memory pages in a unified virtual memory system
US20150058520A1 (en) 2013-08-22 2015-02-26 International Business Machines Corporation Detection of hot pages for partition migration
US9864698B2 (en) 2013-11-04 2018-01-09 International Business Machines Corporation Resolving cache lookup of large pages with variable granularity
US9535831B2 (en) 2014-01-10 2017-01-03 Advanced Micro Devices, Inc. Page migration in a 3D stacked hybrid memory
US9501422B2 (en) 2014-06-11 2016-11-22 Vmware, Inc. Identification of low-activity large memory pages
CN105095099B (zh) 2015-07-21 2017-12-29 浙江大学 一种基于内存页位图变更的大内存页整合方法
US10037173B2 (en) 2016-08-12 2018-07-31 Google Llc Hybrid memory management
US10152427B2 (en) 2016-08-12 2018-12-11 Google Llc Hybrid memory management

Also Published As

Publication number Publication date
DK3516526T3 (da) 2020-11-30
US20180081816A1 (en) 2018-03-22
WO2018057235A1 (en) 2018-03-29
CN109791523B (zh) 2023-07-14
JP2019532450A (ja) 2019-11-07
EP3516526A1 (en) 2019-07-31
US10108550B2 (en) 2018-10-23
IE20170188A1 (en) 2018-04-04
KR20190052106A (ko) 2019-05-15
JP6719027B2 (ja) 2020-07-08
IE20180302A1 (en) 2018-10-31
SG10201707699VA (en) 2018-04-27
US10474580B2 (en) 2019-11-12
CN116701250A (zh) 2023-09-05
KR102273622B1 (ko) 2021-07-06
US20180365157A1 (en) 2018-12-20
CN109791523A (zh) 2019-05-21
IE87058B1 (en) 2019-10-16
EP3516526B1 (en) 2020-10-14

Similar Documents

Publication Publication Date Title
SG10201903332RA (en) Memory Management Supporting Huge Pages
GB2544903A (en) Storing and transferring application data between devices
BR112016021485A2 (pt) Pesquisa de encriptador com base em hash para cópia intrabloco
PH12020550686A1 (en) Asset Management Method And Apparatus, And Electronic Device
MX2016013227A (es) Metodo para almacenar datos por medio de un dispositivo de almacenamiento y dispositivo de almacenamiento.
PH12017500192B1 (en) Methods and systems for distributing orders
IN2015KN00221A (https=)
SG11201811458SA (en) Object allocation method and device
EP3291097A3 (en) Hybrid memory management
EP4303795A3 (en) Fluid timeline social network
BR112016022636A2 (pt) Sistema distribuído de armazenamento, método de gerenciamento de sessão em sistema distribuído de armazenamento, e, meio de armazenamento acessível por computador não transitório
GB2558794A (en) Systems and methods for allocating sharable orders
BR112016025156A8 (pt) Método implantado por computador para acessar arquivos em um sistema de arquivos distribuído
PH12017500241A1 (en) File access method, device and storage system
GB2519015A (en) Managing accessing page table entries
EP2598996A4 (en) APPARATUS, SYSTEM AND METHOD FOR CONDITIONAL AND ATOMIC STORAGE OPERATIONS
BR112015019003A2 (pt) dispositivo para um sistema de construção de website, e método para um sistema de construção de website
GB2525551A (en) Boosting remote direct memory access performance using cryptographic hash based approach
MX383436B (es) Expansión y contracción de dirección en un sistema de computadora de subprocesamiento múltiple.
IN2014CH01654A (https=)
EP4236253A3 (en) Slice allocating method
BR112017010328A2 (pt) transferência de dados sem uso de fios com eficiência de energia
EP4361824A3 (en) In-memory distributed cache
BR112018001224A2 (pt) acesso simultâneo em espaço de memória através de interfaces múltiplas
GB2534009A8 (en) Aggregate service with user interface