IN2014CN00386A - - Google Patents

Info

Publication number
IN2014CN00386A
IN2014CN00386A IN386CHN2014A IN2014CN00386A IN 2014CN00386 A IN2014CN00386 A IN 2014CN00386A IN 386CHN2014 A IN386CHN2014 A IN 386CHN2014A IN 2014CN00386 A IN2014CN00386 A IN 2014CN00386A
Authority
IN
India
Prior art keywords
state
entries
pasid
tlb
management unit
Prior art date
Application number
Inventor
Rajesh M Sankaran
Altug Koker
Philip Lantz
Asit K Mallick
James B Crossland
Aditva Navale
Gilbert Neiger
Andrew V Anderson
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of IN2014CN00386A publication Critical patent/IN2014CN00386A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/303In peripheral interface, e.g. I/O adapter or channel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/682Multiprocessor TLB consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/683Invalidation

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)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Methods and apparatus are disclosed for efficient TLB (translation look aside buffer) shoot downs for heterogeneous devices sharing virtual memory in a multi core system. Embodiments of an apparatus for efficient TLB shoot downs may include a TLB to store virtual address translation entries and a memory management unit coupled with the TLB to maintain PASID (process address space identifier) state entries corresponding to the virtual address translation entries. The PASID state entries may include an active reference state and a lazy invalidation state. The memory management unit may perform atomic modification of PASID state entries responsive to receiving PASID state update requests from devices in the multi core system and read the lazy invalidation state of the PASID state entries. The memory management unit may send PASID state update responses to the devices to synchronize TLB entries prior to activation responsive to the respective lazy invalidation state.
IN386CHN2014 2011-07-26 2012-07-24 IN2014CN00386A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/191,327 US9916257B2 (en) 2011-07-26 2011-07-26 Method and apparatus for TLB shoot-down in a heterogeneous computing system supporting shared virtual memory
PCT/US2012/047991 WO2013016345A2 (en) 2011-07-26 2012-07-24 Method and apparatus for tlb shoot-down in a heterogeneous computing system supporting shared virtual memory

Publications (1)

Publication Number Publication Date
IN2014CN00386A true IN2014CN00386A (en) 2015-04-03

Family

ID=47425977

Family Applications (1)

Application Number Title Priority Date Filing Date
IN386CHN2014 IN2014CN00386A (en) 2011-07-26 2012-07-24

Country Status (9)

Country Link
US (1) US9916257B2 (en)
JP (2) JP6032855B2 (en)
KR (1) KR101604929B1 (en)
CN (2) CN106776379B (en)
DE (1) DE202012007252U1 (en)
GB (1) GB2506788B (en)
IN (1) IN2014CN00386A (en)
TW (1) TWI489278B (en)
WO (1) WO2013016345A2 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014016650A1 (en) * 2012-07-27 2014-01-30 Freescale Semiconductor, Inc. Circuitry for a computing system and computing system
RU2633126C2 (en) * 2013-02-28 2017-10-11 Интел Корпорейшн Strengthening mechanism of transfer and/or configuration of one protocol of inter-connections for another protocol of inter-connections
US9223690B2 (en) * 2013-10-04 2015-12-29 Sybase, Inc. Freeing memory safely with low performance overhead in a concurrent environment
US9411745B2 (en) 2013-10-04 2016-08-09 Qualcomm Incorporated Multi-core heterogeneous system translation lookaside buffer coherency
US9384133B2 (en) * 2014-05-30 2016-07-05 International Business Machines Corporation Synchronizing updates of page table status indicators and performing bulk operations
US9785554B2 (en) 2014-05-30 2017-10-10 International Business Machines Corporation Synchronizing updates of page table status indicators in a multiprocessing environment
US20160098203A1 (en) * 2014-12-18 2016-04-07 Mediatek Inc. Heterogeneous Swap Space With Dynamic Thresholds
CN105846859B (en) * 2015-01-12 2019-05-24 芋头科技(杭州)有限公司 A kind of embedded OS realizes the system and method for Bluetooth slave devices function
EP3054384B1 (en) 2015-02-04 2018-06-27 Huawei Technologies Co., Ltd. System and method for memory synchronization of a multi-core system
US10853277B2 (en) * 2015-06-24 2020-12-01 Intel Corporation Systems and methods for isolating input/output computing resources
US10310974B2 (en) * 2015-09-25 2019-06-04 Intel Corporation Systems and methods for input/output computing resource control
US10942683B2 (en) 2015-10-28 2021-03-09 International Business Machines Corporation Reducing page invalidation broadcasts
US9898226B2 (en) * 2015-10-28 2018-02-20 International Business Machines Corporation Reducing page invalidation broadcasts in virtual storage management
US10386904B2 (en) 2016-03-31 2019-08-20 Qualcomm Incorporated Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks
US10120814B2 (en) * 2016-04-01 2018-11-06 Intel Corporation Apparatus and method for lazy translation lookaside buffer (TLB) coherence
US10067870B2 (en) 2016-04-01 2018-09-04 Intel Corporation Apparatus and method for low-overhead synchronous page table updates
US10540292B2 (en) 2016-06-08 2020-01-21 Google Llc TLB shootdowns for low overhead
EP3255550B1 (en) * 2016-06-08 2019-04-03 Google LLC Tlb shootdowns for low overhead
US10282308B2 (en) * 2016-06-23 2019-05-07 Advanced Micro Devices, Inc. Method and apparatus for reducing TLB shootdown overheads in accelerator-based systems
US20180276175A1 (en) * 2017-03-22 2018-09-27 National Instruments Corporation Direct Network Access by a Memory Mapped Peripheral Device for Scheduled Data Transfer on the Network
CN108932213A (en) * 2017-10-10 2018-12-04 北京猎户星空科技有限公司 The means of communication, device, electronic equipment and storage medium between multiple operating system
US10725932B2 (en) 2017-11-29 2020-07-28 Qualcomm Incorporated Optimizing headless virtual machine memory management with global translation lookaside buffer shootdown
US10990436B2 (en) * 2018-01-24 2021-04-27 Dell Products L.P. System and method to handle I/O page faults in an I/O memory management unit
US11106613B2 (en) 2018-03-29 2021-08-31 Intel Corporation Highly scalable accelerator
US10846235B2 (en) 2018-04-28 2020-11-24 International Business Machines Corporation Integrated circuit and data processing system supporting attachment of a real address-agnostic accelerator
DE102018004086A1 (en) 2018-05-18 2019-11-21 Singulus Technologies Ag Continuous flow system and method for coating substrates
KR102655094B1 (en) * 2018-11-16 2024-04-08 삼성전자주식회사 Storage device including heterogeneous processors which shares memory and method of operating the same
US11036649B2 (en) 2019-04-04 2021-06-15 Cisco Technology, Inc. Network interface card resource partitioning
CN110968530B (en) * 2019-11-19 2021-12-03 华中科技大学 Key value storage system based on nonvolatile memory and memory access method
US20210004338A1 (en) * 2020-09-21 2021-01-07 Pratik Marolia Pasid based routing extension for scalable iov systems

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02183849A (en) * 1989-01-11 1990-07-18 Fujitsu Ltd Invalidation processing system for address correspondence table
JPH06139149A (en) * 1992-10-29 1994-05-20 Mitsubishi Electric Corp Multiple virtual space control device
US6175876B1 (en) 1998-07-09 2001-01-16 International Business Machines Corporation Mechanism for routing asynchronous state changes in a 3-tier application
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US7111145B1 (en) 2003-03-25 2006-09-19 Vmware, Inc. TLB miss fault handler and method for accessing multiple page tables
US7073043B2 (en) * 2003-04-28 2006-07-04 International Business Machines Corporation Multiprocessor system supporting multiple outstanding TLBI operations per partition
US7552254B1 (en) * 2003-07-30 2009-06-23 Intel Corporation Associating address space identifiers with active contexts
US7093100B2 (en) * 2003-11-14 2006-08-15 International Business Machines Corporation Translation look aside buffer (TLB) with increased translational capacity for multi-threaded computer processes
US7069389B2 (en) 2003-11-26 2006-06-27 Microsoft Corporation Lazy flushing of translation lookaside buffers
US7562179B2 (en) * 2004-07-30 2009-07-14 Intel Corporation Maintaining processor resources during architectural events
US7376807B2 (en) 2006-02-23 2008-05-20 Freescale Semiconductor, Inc. Data processing system having address translation bypass and method therefor
US7555628B2 (en) * 2006-08-15 2009-06-30 Intel Corporation Synchronizing a translation lookaside buffer to an extended paging table
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
US8386745B2 (en) * 2009-07-24 2013-02-26 Advanced Micro Devices, Inc. I/O memory management unit including multilevel address translation for I/O and computation offload
US9535849B2 (en) 2009-07-24 2017-01-03 Advanced Micro Devices, Inc. IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect
US8364902B2 (en) 2009-08-07 2013-01-29 Via Technologies, Inc. Microprocessor with repeat prefetch indirect instruction
US8719547B2 (en) 2009-09-18 2014-05-06 Intel Corporation Providing hardware support for shared virtual memory between local and remote physical memory
US20130179971A1 (en) 2010-09-30 2013-07-11 Hewlett-Packard Development Company, L.P. Virtual Machines
JP5956754B2 (en) 2012-01-06 2016-07-27 株式会社荏原製作所 Vacuum exhaust system

Also Published As

Publication number Publication date
TW201333700A (en) 2013-08-16
KR101604929B1 (en) 2016-03-18
JP6378733B2 (en) 2018-08-22
CN106776379A (en) 2017-05-31
GB201400358D0 (en) 2014-02-26
CN106776379B (en) 2021-09-07
TWI489278B (en) 2015-06-21
US9916257B2 (en) 2018-03-13
GB2506788B (en) 2020-05-27
CN103827839A (en) 2014-05-28
JP6032855B2 (en) 2016-11-30
JP2017037672A (en) 2017-02-16
JP2014526102A (en) 2014-10-02
WO2013016345A2 (en) 2013-01-31
US20130031333A1 (en) 2013-01-31
GB2506788A (en) 2014-04-09
KR20140028137A (en) 2014-03-07
CN103827839B (en) 2016-12-21
DE202012007252U1 (en) 2012-11-29
WO2013016345A3 (en) 2013-04-11

Similar Documents

Publication Publication Date Title
IN2014CN00386A (en)
WO2013167886A3 (en) Data processing apparatus having cache and translation lookaside buffer
WO2010077885A3 (en) Extending cache coherency protocols to support locally buffered data
WO2012040723A3 (en) Apparatus, method, and system for implementing micro page tables
GB2518785A (en) Concurrent control for a page miss handler
JP2017037672A5 (en)
IN2015DN01261A (en)
WO2012094481A3 (en) Memory address translation
GB2485328A (en) Cache partitioning in virtualized environments
WO2012068486A3 (en) Load/store circuitry for a processing cluster
GB2484881A (en) Transactional memory system with efficient cache support
WO2014031495A3 (en) Translation look-aside buffer with prefetching
GB2528796A8 (en) Instructions and logic to provide advanced paging capabilities for secure enclave page caches
GB201300525D0 (en) Memory address translation-based data encryption/compression
EP2863607A3 (en) System and method for improving internet communication by using intermediate nodes
WO2013067066A3 (en) Intelligent caching for security trimming
JP2013257911A5 (en) Processor
WO2012170954A3 (en) Line based image processing and flexible memory system
MX2015006179A (en) Memory segment remapping to address fragmentation.
GB2512784A (en) Runtime optimization using meta data for dynamic programming languages
IN2012DN00934A (en)
GB201119730D0 (en) System, method and apparatus for cache flush of a range of a pages and TLB invalidation of a range of entries
GB2565495A (en) Page fault resolution
EP2780831A4 (en) Query summary generation using row-column data storage
GB201303300D0 (en) Data Processing