페이지 사이즈를 고려한 메모리 할당을 수행하는 메모리 관리 시스템 및 메모리 관리 방법
Memory management system for performing memory allocation considering page size and method performing the same
특허 요약
본 발명의 일 실시예에 따른 페이지 사이즈를 고려한 메모리 할당을 수행하는 메모리 관리 시스템에 있어서, 시스템 아키텍처에 의해 정의된 페이지 사이즈들에 대응하는 블록 사이즈들의 배수(multiple) 단위로 블록 정보를 나타내는 프리 리스트에 메인 메모리의 할당 가능한 제1블록 정보를 식별하고, 할당이 요청되는 가상 메모리의 페이지 수에 따라 상기 제1블록 정보를 상기 프리 리스트의 배수 단위에 기초하여 재구성하고, 상기 제1블록 정보를 재구성한 제2블록 정보를 이용하여 상기 메인 메모리의 적어도 하나의 블록을 할당하는 CPU(Central Processing Unit)를 포함한다.
청구항
번호청구항
1

페이지 사이즈를 고려한 메모리 할당을 수행하는 메모리 관리 시스템에 있어서,시스템 아키텍처에 의해 정의된 페이지 사이즈들에 대응하는 블록 사이즈들의 배수(multiple) 단위로 블록 정보를 나타내는 프리 리스트에 메인 메모리의 할당 가능한 제1블록 정보를 식별하고,할당이 요청되는 가상 메모리의 페이지 수에 따라 상기 제1블록 정보를 상기 프리 리스트의 배수 단위에 기초하여 재구성하고,상기 제1블록 정보를 재구성한 제2블록 정보를 이용하여 상기 메인 메모리의 적어도 하나의 블록을 할당하는 CPU(Central Processing Unit)를 포함하는 메모리 관리 시스템.

2

제1항에 있어서,상기 CPU는,상기 메인 메모리의 블록별 시작 물리 페이지 번호(start Physical Page Number, start PPN) 및 블록 사이즈(Block Size)를 포함하는 상기 블록 정보를 식별하는 메모리 관리 시스템.

3

제1항에 있어서,상기 CPU는,가상 페이지 번호(Virtual Page Number, VPN)를 물리 페이지 번호(Physical Page Number, PPN)로 변환하기 위한 매핑 정보를 포함하는 상기 메인 메모리의 제1페이지 테이블에 상기 적어도 하나의 블록을 할당하는 메모리 관리 시스템.

4

제3항에 있어서,상기 CPU는,상기 적어도 하나의 블록에 포함되는 적어도 하나의 PPN 및 PPN의 인접 정보를 포함하는 상기 매핑 정보를 상기 제1페이지 테이블에 할당하는 메모리 관리 시스템.

5

제4항에 있어서,상기 CPU는,페이지 테이블 워크를 수행하여 상기 제1페이지 테이블로부터 제1VPN에 대응하는 제1PPN에 대한 매핑 정보를 추출하고,상기 제1PPN 및 제1PPN의 인접 정보를 이용하여 상기 제1PPN을 포함하는 블록을 메모리 관리 유닛(Memory Management Unit, MMU)의 변환 색인 버퍼(Translation Lookaside Buffer, TLB)에 저장된 제2페이지 테이블에 할당하여 업데이트하는 메모리 관리 시스템.

6

제3항에 있어서,상기 CPU는,상기 적어도 하나의 블록에 대해 할당 해제가 요청되는 경우, 상기 PPN의 인접 정보를 이용하여 상기 제2블록 정보에 포함된 블록들을 병합하는 메모리 관리 시스템.

7

메모리 관리 시스템에 의해 수행되는 페이지 사이즈를 고려한 메모리 할당을 수행하는 메모리 관리 방법에 있어서,시스템 아키텍처에 의해 정의된 페이지 사이즈들에 대응하는 블록 사이즈들의 배수(multiple) 단위로 블록 정보를 나타내는 프리 리스트에 메인 메모리의 할당 가능한 제1블록 정보를 식별하는 단계;할당이 요청되는 가상 메모리의 페이지 수에 따라 상기 제1블록 정보를 상기 프리 리스트의 배수 단위에 기초하여 재구성하는 단계;상기 제1블록 정보를 재구성한 제2블록 정보를 이용하여 상기 메인 메모리의 적어도 하나의 블록을 할당하는 단계를 포함하는 메모리 관리 방법.

8

제7항에 있어서,상기 제1블록 정보를 식별하는 단계는,상기 메인 메모리의 블록별 시작 물리 페이지 번호(start Physical Page Number, start PPN) 및 블록 사이즈(Block Size)를 포함하는 상기 블록 정보를 식별하는 단계를 포함하는 메모리 관리 방법.

9

제7항에 있어서,상기 적어도 하나의 블록을 할당하는 단계는,가상 페이지 번호(Virtual Page Number, VPN)를 물리 페이지 번호(Physical Page Number, PPN)로 변환하기 위한 매핑 정보를 포함하는 상기 메인 메모리의 제1페이지 테이블에 상기 적어도 하나의 블록을 할당하는 단계를 포함하는 메모리 관리 방법.

10

제9항에 있어서,상기 적어도 하나의 블록을 할당하는 단계는,상기 적어도 하나의 블록에 포함되는 적어도 하나의 PPN 및 PPN의 인접 정보를 포함하는 상기 매핑 정보를 상기 제1페이지 테이블에 할당하는 단계를 포함하는 메모리 관리 방법.

11

제10항에 있어서,상기 적어도 하나의 블록을 할당하는 단계는,페이지 테이블 워크를 수행하여 상기 제1페이지 테이블로부터 제1VPN에 대응하는 제1PPN에 대한 매핑 정보를 추출하는 단계;상기 제1PPN 및 제1PPN의 인접 정보를 이용하여 상기 제1PPN을 포함하는 블록을 메모리 관리 유닛(Memory Management Unit, MMU)의 변환 색인 버퍼(Translation Lookaside Buffer, TLB)에 저장된 제2페이지 테이블에 할당하여 업데이트하는 단계를 포함하는 메모리 관리 방법.

12

제9항에 있어서,상기 적어도 하나의 블록에 대해 할당 해제가 요청되는 경우, 상기 PPN의 인접 정보를 이용하여 상기 제2블록 정보에 포함된 블록들을 병합하는 단계를 더 포함하는 메모리 관리 방법.