KR102273622B1 - 거대한 페이지들을 지원하는 메모리 관리 - Google Patents

거대한 페이지들을 지원하는 메모리 관리 Download PDF

Info

Publication number
KR102273622B1
KR102273622B1 KR1020197011367A KR20197011367A KR102273622B1 KR 102273622 B1 KR102273622 B1 KR 102273622B1 KR 1020197011367 A KR1020197011367 A KR 1020197011367A KR 20197011367 A KR20197011367 A KR 20197011367A KR 102273622 B1 KR102273622 B1 KR 102273622B1
Authority
KR
South Korea
Prior art keywords
page
data
main memory
memory
size
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
KR1020197011367A
Other languages
English (en)
Korean (ko)
Other versions
KR20190052106A (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 구글 엘엘씨
Publication of KR20190052106A publication Critical patent/KR20190052106A/ko
Application granted granted Critical
Publication of KR102273622B1 publication Critical patent/KR102273622B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/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/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/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/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/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)
KR1020197011367A 2016-09-22 2017-08-25 거대한 페이지들을 지원하는 메모리 관리 Active KR102273622B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/273,433 2016-09-22
US15/273,433 US10108550B2 (en) 2016-09-22 2016-09-22 Memory management supporting huge pages
PCT/US2017/048663 WO2018057235A1 (en) 2016-09-22 2017-08-25 Memory management supporting huge pages

Publications (2)

Publication Number Publication Date
KR20190052106A KR20190052106A (ko) 2019-05-15
KR102273622B1 true KR102273622B1 (ko) 2021-07-06

Family

ID=59772830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011367A Active KR102273622B1 (ko) 2016-09-22 2017-08-25 거대한 페이지들을 지원하는 메모리 관리

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 华为技术有限公司 内存数据迁移方法和相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172344A1 (en) * 2007-12-31 2009-07-02 Ed Grochowski Method, system, and apparatus for page sizing extension
WO2011002900A1 (en) * 2009-07-01 2011-01-06 Advanced Micro Devices, Inc. Extended page size using aggregated small pages

Family Cites Families (22)

* 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 情報処理方法および情報処理装置、プログラム
US9208084B2 (en) * 2009-06-29 2015-12-08 Oracle America, Inc. Extended main memory hierarchy having flash memory for page fault handling
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172344A1 (en) * 2007-12-31 2009-07-02 Ed Grochowski Method, system, and apparatus for page sizing extension
WO2011002900A1 (en) * 2009-07-01 2011-01-06 Advanced Micro Devices, Inc. Extended page size using aggregated small pages

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
SG10201903332RA (en) 2019-05-30
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
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
KR102273622B1 (ko) 거대한 페이지들을 지원하는 메모리 관리
JP6944983B2 (ja) ハイブリッドメモリ管理
US10705975B2 (en) Hybrid memory management
KR102665339B1 (ko) 변환 색인 버퍼 축출 기반 캐시 교체
US11074189B2 (en) FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy
US20110161597A1 (en) Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller
KR101893966B1 (ko) 메모리 관리 방법 및 장치, 및 메모리 컨트롤러
JPWO2010032433A1 (ja) バッファメモリ装置、メモリシステム及びデータ読出方法
US12210458B2 (en) Information processing system and memory system
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
JP2011141754A (ja) キャッシュメモリ
HK40100521A (zh) 支持巨页的内存管理
HK1246906A (en) Hybrid memory management
HK1246906A1 (en) Hybrid memory management
Bletsch ECE 650 Systems Programming & Engineering Spring 2018

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20190419

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20201230

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: 20210517

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20210630

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20210630

End annual number: 3

Start annual number: 1

PG1601 Publication of registration