DE602007007566D1 - Verschleierung von Speicherzugriffsmustern - Google Patents

Verschleierung von Speicherzugriffsmustern

Info

Publication number
DE602007007566D1
DE602007007566D1 DE602007007566T DE602007007566T DE602007007566D1 DE 602007007566 D1 DE602007007566 D1 DE 602007007566D1 DE 602007007566 T DE602007007566 T DE 602007007566T DE 602007007566 T DE602007007566 T DE 602007007566T DE 602007007566 D1 DE602007007566 D1 DE 602007007566D1
Authority
DE
Germany
Prior art keywords
obfuscation
memory access
access patterns
memory
memory location
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
DE602007007566T
Other languages
English (en)
Inventor
Mark J Buxton
Ernest F Brickell
Quinn A Jacobson
Hong Wang
Baiju V Patel
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.)
Intel Corp
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 DE602007007566D1 publication Critical patent/DE602007007566D1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
DE602007007566T 2006-12-27 2007-12-18 Verschleierung von Speicherzugriffsmustern Active DE602007007566D1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/646,642 US7610448B2 (en) 2006-12-27 2006-12-27 Obscuring memory access patterns

Publications (1)

Publication Number Publication Date
DE602007007566D1 true DE602007007566D1 (de) 2010-08-19

Family

ID=39314963

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602007007566T Active DE602007007566D1 (de) 2006-12-27 2007-12-18 Verschleierung von Speicherzugriffsmustern

Country Status (5)

Country Link
US (2) US7610448B2 (de)
EP (1) EP1939752B1 (de)
CN (1) CN101231621B (de)
AT (1) ATE473483T1 (de)
DE (1) DE602007007566D1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610448B2 (en) * 2006-12-27 2009-10-27 Intel Corporation Obscuring memory access patterns
JP5217432B2 (ja) * 2007-12-28 2013-06-19 富士通株式会社 セクタ機能付きキャッシュメモリ
CN102436559B (zh) * 2010-09-29 2016-06-01 联想(北京)有限公司 一种状态切换方法及系统
US9396135B2 (en) * 2011-05-18 2016-07-19 University Of North Texas Method and apparatus for improving computer cache performance and for protecting memory systems against some side channel attacks
US9495111B2 (en) * 2014-10-10 2016-11-15 The Boeing Company System and method for reducing information leakage from memory
CN105989282B (zh) * 2015-02-13 2019-09-24 联想(上海)信息技术有限公司 驱动部件控制方法、装置及电子设备
US10963567B2 (en) * 2017-10-12 2021-03-30 Microsoft Technology Licensing, Llc Speculative side-channel attack mitigations
US20190042479A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Heuristic and machine-learning based methods to prevent fine-grained cache side-channel attacks
US11144468B2 (en) * 2018-06-29 2021-10-12 Intel Corporation Hardware based technique to prevent critical fine-grained cache side-channel attacks
CN110941569B (zh) * 2019-11-18 2021-01-26 新华三半导体技术有限公司 数据处理方法、装置及处理器芯片
US11893251B2 (en) * 2021-08-31 2024-02-06 Apple Inc. Allocation of a buffer located in system memory into a cache memory
US11704245B2 (en) 2021-08-31 2023-07-18 Apple Inc. Dynamic allocation of cache memory as RAM

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202998A (en) * 1990-08-31 1993-04-13 International Business Machines Corporation Fast, simultaneous multi-processor system status communication interface
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
KR940015822A (ko) 1992-12-30 1994-07-21 양승택 다중 프로세서 시스템에서 메모리 모듈의 상태변화 시험방법
US5555398A (en) * 1994-04-15 1996-09-10 Intel Corporation Write back cache coherency module for systems with a write through cache supporting bus
US5794164A (en) * 1995-11-29 1998-08-11 Microsoft Corporation Vehicle computer system
JP3139392B2 (ja) 1996-10-11 2001-02-26 日本電気株式会社 並列処理システム
US6026471A (en) * 1996-11-19 2000-02-15 International Business Machines Corporation Anticipating cache memory loader and method
US5974438A (en) * 1996-12-31 1999-10-26 Compaq Computer Corporation Scoreboard for cached multi-thread processes
DE69814703D1 (de) * 1997-01-30 2003-06-26 Sgs Thomson Microelectronics Cachespeichersystem für gleichzeitig laufende Prozesse
US5909698A (en) * 1997-03-17 1999-06-01 International Business Machines Corporation Cache block store instruction operations where cache coherency is achieved without writing all the way back to main memory
US6094729A (en) * 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US5974507A (en) * 1997-04-14 1999-10-26 International Business Machines Corporation Optimizing a cache eviction mechanism by selectively introducing different levels of randomness into a replacement algorithm
US6091956A (en) * 1997-06-12 2000-07-18 Hollenberg; Dennis D. Situation information system
US6405049B2 (en) * 1997-08-05 2002-06-11 Symbol Technologies, Inc. Portable data terminal and cradle
US6412056B1 (en) * 1997-10-01 2002-06-25 Compac Information Technologies Group, Lp Extended translation lookaside buffer with fine-grain state bits
US6157986A (en) * 1997-12-16 2000-12-05 Advanced Micro Devices, Inc. Fast linear tag validation unit for use in microprocessor
US6418542B1 (en) * 1998-04-27 2002-07-09 Sun Microsystems, Inc. Critical signal thread
US6189112B1 (en) * 1998-04-30 2001-02-13 International Business Machines Corporation Transparent processor sparing
US6282554B1 (en) * 1998-04-30 2001-08-28 Intel Corporation Method and apparatus for floating point operations and format conversion operations
US6332181B1 (en) * 1998-05-04 2001-12-18 International Business Machines Corporation Recovery mechanism for L1 data cache parity errors
JP3331592B2 (ja) 1998-05-22 2002-10-07 日本電気株式会社 キャッシュメモリ
JP3585091B2 (ja) * 1998-06-15 2004-11-04 富士通株式会社 記憶装置
US6366946B1 (en) * 1998-12-16 2002-04-02 Microsoft Corporation Critical code processing management
US6636950B1 (en) * 1998-12-17 2003-10-21 Massachusetts Institute Of Technology Computer architecture for shared memory access
JP2001019464A (ja) * 1999-07-05 2001-01-23 Sumitomo Electric Ind Ltd 光ファイバの線引き装置及び線引き方法
JP3607540B2 (ja) 1999-08-18 2005-01-05 エヌイーシーシステムテクノロジー株式会社 プログラム単位メモリアクセス属性管理方式
JP3611295B2 (ja) * 2000-03-09 2005-01-19 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータシステム、メモリ管理方法及び記憶媒体
US6748496B1 (en) * 2000-04-18 2004-06-08 Ati International Srl Method and apparatus for providing cacheable data to a peripheral device
JP2002074922A (ja) * 2000-08-28 2002-03-15 Pioneer Electronic Corp 車載用オーディオ及び/又はビデオ装置
US6748501B2 (en) 2000-12-30 2004-06-08 International Business Machines Corporation Microprocessor reservation mechanism for a hashed address system
US7184003B2 (en) * 2001-03-16 2007-02-27 Dualcor Technologies, Inc. Personal electronics device with display switching
US7216242B2 (en) * 2001-03-16 2007-05-08 Dualcor Technologies, Inc. Personal electronics device with appliance drive features
JP2002342163A (ja) 2001-05-15 2002-11-29 Fujitsu Ltd マルチスレッドプロセッサ用キャッシュ制御方式
JP3661614B2 (ja) 2001-07-12 2005-06-15 日本電気株式会社 キャッシュメモリ制御方法及びマルチプロセッサシステム
DE10134717C2 (de) * 2001-07-17 2003-05-28 Daimler Chrysler Ag Verfahren zur Konfiguration eines Informationssystems
JP4434534B2 (ja) * 2001-09-27 2010-03-17 株式会社東芝 プロセッサ・システム
US6785774B2 (en) * 2001-10-16 2004-08-31 International Business Machines Corporation High performance symmetric multiprocessing systems via super-coherent data mechanisms
US6854039B1 (en) * 2001-12-05 2005-02-08 Advanced Micro Devices, Inc. Memory management system and method providing increased memory access security
EP1456750A1 (de) 2001-12-12 2004-09-15 Telefonaktiebolaget LM Ericsson (publ) Kollisionsbehandlungsvorrichtung und verfahren
US20030126379A1 (en) * 2001-12-31 2003-07-03 Shiv Kaushik Instruction sequences for suspending execution of a thread until a specified memory access occurs
US7215950B2 (en) * 2002-01-23 2007-05-08 General Motors Corporation Method of telematics unit configuration and activation using vehicle control buttons
JP3866597B2 (ja) * 2002-03-20 2007-01-10 株式会社東芝 内部メモリ型耐タンパプロセッサおよび秘密保護方法
US7006845B2 (en) * 2002-04-03 2006-02-28 General Motors Corporation Method and system for interfacing a portable transceiver in a telematics system
US6912623B2 (en) * 2002-06-04 2005-06-28 Sandbridge Technologies, Inc. Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US6990557B2 (en) 2002-06-04 2006-01-24 Sandbridge Technologies, Inc. Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US7269717B2 (en) * 2003-02-13 2007-09-11 Sun Microsystems, Inc. Method for reducing lock manipulation overhead during access to critical code sections
DE10309919B4 (de) 2003-03-07 2008-09-25 Qimonda Ag Pufferbaustein und Speichermodule
US6931504B2 (en) * 2003-05-06 2005-08-16 Sun Microsystems, Inc. Method and apparatus for relocating objects within an object-addressed memory hierarchy
US7089373B2 (en) * 2003-06-12 2006-08-08 International Business Machines Corporation Shadow register to enhance lock acquisition
US7047387B2 (en) * 2003-07-16 2006-05-16 Microsoft Corporation Block cache size management via virtual memory manager feedback
US7287126B2 (en) * 2003-07-30 2007-10-23 Intel Corporation Methods and apparatus for maintaining cache coherency
US20050138306A1 (en) * 2003-12-19 2005-06-23 Panchbudhe Ankur P. Performance of operations on selected data in a storage area
US7114036B2 (en) * 2004-01-14 2006-09-26 International Business Machines Corporation Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected
US7562361B2 (en) * 2004-02-26 2009-07-14 Microsoft Corporation Thread-based limitation on computer application
US7594234B1 (en) * 2004-06-04 2009-09-22 Sun Microsystems, Inc. Adaptive spin-then-block mutual exclusion in multi-threaded processing
US7624236B2 (en) * 2004-12-27 2009-11-24 Intel Corporation Predictive early write-back of owned cache blocks in a shared memory computer system
US20070043916A1 (en) * 2005-08-16 2007-02-22 Aguilar Maximino Jr System and method for light weight task switching when a shared memory condition is signaled
US8019947B2 (en) 2005-10-19 2011-09-13 Intel Corporation Technique for thread communication and synchronization
US20070124543A1 (en) * 2005-11-28 2007-05-31 Sudhir Dhawan Apparatus, system, and method for externally invalidating an uncertain cache line
US20070124546A1 (en) * 2005-11-29 2007-05-31 Anton Blanchard Automatic yielding on lock contention for a multi-threaded processor
US7987452B2 (en) * 2005-12-15 2011-07-26 International Business Machines Corporation Profile-driven lock handling
US7991965B2 (en) 2006-02-07 2011-08-02 Intel Corporation Technique for using memory attributes
US8065499B2 (en) * 2006-02-22 2011-11-22 Oracle America, Inc. Methods and apparatus to implement parallel transactions
US7831777B2 (en) * 2006-05-26 2010-11-09 De Mevergnies Michael Neve Apparatus and method for reducing information leakage between processes sharing a cache
US7610448B2 (en) 2006-12-27 2009-10-27 Intel Corporation Obscuring memory access patterns

Also Published As

Publication number Publication date
US8078801B2 (en) 2011-12-13
US20080162816A1 (en) 2008-07-03
CN101231621A (zh) 2008-07-30
CN101231621B (zh) 2011-10-19
EP1939752B1 (de) 2010-07-07
US20100299479A1 (en) 2010-11-25
ATE473483T1 (de) 2010-07-15
US7610448B2 (en) 2009-10-27
EP1939752A1 (de) 2008-07-02

Similar Documents

Publication Publication Date Title
DE602007007566D1 (de) Verschleierung von Speicherzugriffsmustern
Hassan et al. ChargeCache: Reducing DRAM latency by exploiting row access locality
TW200710651A (en) Automatic detection of micro-tile enabled memory
US9418009B2 (en) Inclusive and non-inclusive tracking of local cache lines to avoid near memory reads on cache line memory writes into a two level system memory
BRPI0508713A (pt) método para gerar uma lista de estado de autorização, dispositivo, programa de computador, dispositivo de fonte, portadora de gravação, e, sinal
ATE509317T1 (de) Verfahren und vorrichtung zur bereitstellung von unabhängigem logischem adressenraum und zugangsverwaltung
WO2007016302A3 (en) Direct-update software transactional memory
ATE510443T1 (de) Zugangspunkt und sensor eines drahtlosen computernetzes
EP2339457A3 (de) Multi-Thread-Prozessor mit Registerfile
AU2003302824A8 (en) Improved tlb management for real-time applications
BR112014015051A2 (pt) sistema e método para a liberação inteligente de dados de um processador para um subsistema de memória
BRPI0906426A2 (pt) tradução de endereço dinâmico com gerenciamento de quadro
FR2910653B1 (fr) Circuit integre, procede et systeme pour preextraction d'une memoire vive dynamique a une memoire vive statique
JP2011530133A5 (de)
WO2006071792A3 (en) Method for programmer-controlled cache line eviction policy
TW200500855A (en) Memory management in a data processing system
WO2007071606A3 (en) Cache injection using semi-synchronous memory copy operation
BRPI0406525A (pt) técnicas de gravação de conteúdo
WO2007082917A3 (en) Patrol snooping for higher level cache eviction candidate identification
JP2015523668A5 (de)
WO2006102665A3 (en) Global modified indicator to reduce power consumption on cache miss
TW200512650A (en) Store-induced instruction coherency mechanism
GB0607149D0 (en) External state cache for computer processor
BR112015029854A2 (pt) mapeamento de endereço de ecc incorporado
ATE529808T1 (de) Verwaltungsmodul, hersteller- und verbraucherrechner, anordnung davon und verfahren zur kommunikation zwischen rechnern über einen gemeinsam verwendeten speicher