KR100858237B1 - Tlb를 이용한 메모리 접근 제어 방법 - Google Patents
Tlb를 이용한 메모리 접근 제어 방법 Download PDFInfo
- Publication number
- KR100858237B1 KR100858237B1 KR1020060109531A KR20060109531A KR100858237B1 KR 100858237 B1 KR100858237 B1 KR 100858237B1 KR 1020060109531 A KR1020060109531 A KR 1020060109531A KR 20060109531 A KR20060109531 A KR 20060109531A KR 100858237 B1 KR100858237 B1 KR 100858237B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- memory area
- accessed
- access
- tlb
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (9)
- 보호하고자 하는 메모리 영역에 대하여 페이지 테이블 엔트리의 특정 플래그를 접근 불가 상태로 설정하고;상기 메모리 영역에 대한 접근이 이루어질 경우 발생하는 페이지 폴트 인터럽트에 따라 페이지 폴트 핸들러를 생성하고; 그리고상기 페이지 폴트 핸들러에서 접근하고자 하는 상기 메모리 영역의 주소와 복귀 주소를 비교하여 상기 메모리 영역에 대한 접근 의도를 판단하는;단계로 이루어지는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제1항에 있어서, 상기 메모리 영역에 대한 접근 의도를 판단하는 단계는접근하고자 하는 메모리 영역의 주소와 상기 페이지 폴트 인터럽트가 발생할 때 저장된 복귀 주소를 비교하고;상기 접근하고자 하는 메모리 영역의 주소가 상기 복귀 주소와 동일하면 실행 형태의 접근으로 판단하고; 그리고상기 접근하고자 하는 메모리 영역의 주소가 상기 복귀 주소와 상이하면 데이터 형태의 접근으로 판단하는;단계로 이루어지는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제2항에 있어서, 상기 접근 의도가 데이터 형태의 접근으로 판단되는 경우에,데이터 TLB와 인스트럭션 TLB를 포함하여 구성되는 TLB에 저장된 모든 내용을 플러쉬하고;접근된 메모리 영역에 대한 PTE의 특정 플래그를 접근 가능한 상태로 설정하고;상기 접근된 메모리 영역에 대한 주소를 상기 TLB의 데이터 TLB에 저장하고; 그리고상기 PTE의 특정 플래그를 접근 불가능한 상태로 설정하는;단계를 더 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제3항에 있어서, 상기 데이터 TLB와 인스트럭션 TLB를 포함하여 구성되는 TLB에 저장된 모든 내용을 플러쉬하는 단계 이전에, 접근하고자 하는 메모리 영역에 대한 페이지가 활성화되어 있지 않은 경우 해당 메모리 영역에 대한 페이지를 활성화하는 단계를 더 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제1항에 있어서, 상기 페이지 폴트 핸들러가 발생된 이후에 상기 메모리 접근과 관련된 프로세스가 보호 대상이 아닐 경우 이전에 운영체제에 설치되었던 함수인 원본 핸들러를 호출하는 단계를 더 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제5항에 있어서, 상기 메모리 접근과 관련된 프로세스가 보호 대상일 경우에, 접근하고자 하는 메모리 영역이 보호하고자 하는 메모리 영역이 아닐 경우 이전에 운영체제에 설치되었던 함수인 원본 핸들러를 호출하는 단계를 더 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 접근하고자 하는 메모리 영역의 주소와 상기 페이지 폴트 인터럽트가 발생할 때 저장된 복귀 주소를 비교하고;상기 접근하고자 하는 메모리 영역의 주소가 상기 복귀 주소와 동일하면 실행 형태의 접근으로 판단하고; 그리고상기 접근하고자 하는 메모리 영역의 주소가 상기 복귀 주소와 상이하면 데이터 형태의 접근으로 판단하는;단계로 이루어지는 것을 특징으로 하는 메모리 접근 제어를 위해 메모리 영역에 대한 접근 의도를 판단하는 방법.
- 보호하고자 하는 메모리 영역에 대하여 데이터 형태의 접근이 이루어진 경우 데이터 TLB와 인스트럭션 TLB를 포함하여 구성되는 TLB에 저장된 모든 내용을 플러쉬하고;접근된 메모리 영역에 대한 PTE의 특정 플래그를 접근 가능한 상태로 설정하고;상기 접근된 메모리 영역에 대한 주소를 상기 TLB의 데이터 TLB에 저장하고; 그리고상기 PTE의 특정 플래그를 접근 불가능한 상태로 설정하는;단계로 이루어지는 것을 특징으로 하는 메모리 접근 제어를 위한 페이지 폴트 핸들러의 처리 방법.
- 제8항에 있어서, 상기 데이터 TLB와 인스트럭션 TLB를 포함하여 구성되는 TLB에 저장된 모든 내용을 플러쉬하는 단계 이전에, 접근하고자 하는 메모리 영역에 대한 페이지가 활성화되어 있지 않은 경우 해당 메모리 영역에 대한 페이지를 활성화하는 단계를 더 포함하는 것을 특징으로 하는 메모리 접근 제어를 위한 페이지 폴트 핸들러의 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060109531A KR100858237B1 (ko) | 2006-11-07 | 2006-11-07 | Tlb를 이용한 메모리 접근 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060109531A KR100858237B1 (ko) | 2006-11-07 | 2006-11-07 | Tlb를 이용한 메모리 접근 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080041436A KR20080041436A (ko) | 2008-05-13 |
KR100858237B1 true KR100858237B1 (ko) | 2008-09-12 |
Family
ID=39648604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060109531A KR100858237B1 (ko) | 2006-11-07 | 2006-11-07 | Tlb를 이용한 메모리 접근 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100858237B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101646768B1 (ko) | 2009-02-27 | 2016-08-09 | 삼성전자주식회사 | 이퀄-모델 프로세서를 위한 인터럽트 처리장치 및 처리방법과 그 처리장치를 포함하는 프로세서 |
KR101671494B1 (ko) | 2010-10-08 | 2016-11-02 | 삼성전자주식회사 | 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 |
KR101694284B1 (ko) * | 2010-12-21 | 2017-01-10 | 한국전자통신연구원 | 페이지 테이블 동기화 장치 및 그 방법 |
KR101673774B1 (ko) * | 2015-06-01 | 2016-11-08 | 주식회사 수산아이앤티 | 가상화 시스템에서 파일 입출력 제어를 위한 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940000971A (ko) * | 1992-06-05 | 1994-01-10 | 이문기 | 계층적 페이지 분할 구조의 가상 메모리를 지원하는 폴리어소시에이티브 테이블 룩 어사이드 버퍼 |
JPH1021141A (ja) | 1996-03-08 | 1998-01-23 | Sun Microsyst Inc | キャッシュ・メモリの自己チェックおよび訂正 |
JPH11242633A (ja) | 1998-02-26 | 1999-09-07 | Hitachi Ltd | メモリ保護方式 |
KR20000076653A (ko) * | 1999-03-05 | 2000-12-26 | 썬 마이크로시스템즈, 인코포레이티드 | 간단한 고성능 메모리 관리 유닛 |
KR20060069041A (ko) * | 2004-12-17 | 2006-06-21 | 엘지전자 주식회사 | 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치 |
-
2006
- 2006-11-07 KR KR1020060109531A patent/KR100858237B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940000971A (ko) * | 1992-06-05 | 1994-01-10 | 이문기 | 계층적 페이지 분할 구조의 가상 메모리를 지원하는 폴리어소시에이티브 테이블 룩 어사이드 버퍼 |
JPH1021141A (ja) | 1996-03-08 | 1998-01-23 | Sun Microsyst Inc | キャッシュ・メモリの自己チェックおよび訂正 |
JPH11242633A (ja) | 1998-02-26 | 1999-09-07 | Hitachi Ltd | メモリ保護方式 |
KR20000076653A (ko) * | 1999-03-05 | 2000-12-26 | 썬 마이크로시스템즈, 인코포레이티드 | 간단한 고성능 메모리 관리 유닛 |
KR20060069041A (ko) * | 2004-12-17 | 2006-06-21 | 엘지전자 주식회사 | 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20080041436A (ko) | 2008-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303620B2 (en) | Maintaining processor resources during architectural events | |
US7069389B2 (en) | Lazy flushing of translation lookaside buffers | |
US8028341B2 (en) | Providing extended memory protection | |
US8190914B2 (en) | Method and system for designating and handling confidential memory allocations | |
US20060036830A1 (en) | Method for monitoring access to virtual memory pages | |
EP1898311A1 (en) | Method and apparatus for preventing software side channel attacks | |
TW201502780A (zh) | 頁表資料管理 | |
JP5583274B2 (ja) | コンピュータ・メモリを管理する方法、対応するコンピュータ・プログラム製品、およびそのためのデータ・ストレージ・デバイス | |
TWI812798B (zh) | 用於控制記憶體存取的裝置及方法 | |
KR20200116472A (ko) | 메모리 액세스시의 보호 태그 검사 제어 | |
KR100858237B1 (ko) | Tlb를 이용한 메모리 접근 제어 방법 | |
US8417903B2 (en) | Preselect list using hidden pages | |
JP2021512405A (ja) | メモリ・アクセスにおける保護タグ・チェックの制御 | |
US20050228951A1 (en) | Virtualized load buffers | |
CN115516438A (zh) | 内存管理装置及方法 | |
KR20070096538A (ko) | 메모리 보호 영역의 정보 보호 방법 | |
GB2579614A (en) | Page table isolation method | |
JP2008140161A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120928 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130905 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140905 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150907 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160905 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170905 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180905 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190905 Year of fee payment: 12 |