1 |
1
소정의 길이를 가지는 복수 개의 서브 데이터 블록들로 구성되는 복수 개의 데이터 블록들을 포함하는 데이터 메모리;상기 복수 개의 데이터 블록과 일대일 대응되는 엔트리들을 포함하고, 상기 엔트리는 상기 대응되는 데이터 블록내의 서브 데이터 블록들의 각각의 사용여부를 나타내는 정보를 포함하고, 상기 정보를 기초로 상기 서브 데이터 블록들의 미사용 개수가 동일한 데이터 블록들에 해당하는 엔트리별로 연결관계를 설정하는 프리 리스트 메모리; 및상기 연결관계의 시작 위치 정보 및 끝 위치 정보를 저장하는 레지스터;를 포함하는 것을 특징으로 하는 메모리 관리 장치
|
2 |
2
제 1항에 있어서,상기 프리 리스트 메모리의 엔트리 번호로부터 상기 데이터 메모리의 대응되는 데이터 블록의 주소를 산출하는 주소 변환기;를 더 포함하는 것을 특징으로 하는 메모리 관리 장치
|
3 |
3
삭제
|
4 |
4
제 2항에 있어서,상기 대응되는 데이터 블록의 주소는 "상기 엔트리 번호 x 상기 데이터 블록의 크기 + 상기 데이터 메모리의 시작 주소 값"인 것을 특징으로 하는 메모리 관리 장치
|
5 |
5
제 1 항에 있어서, 상기 데이터 메모리는, n이 2의 배수이고, i 및 j가 각각 양의 정수일 때(단, i<j), n 바이트의 기억영역을 가지는 복수 개의 데이터 블록들을 포함하며, 상기 각각의 데이터 블록은 바이트의 기억영역을 가지는 복수 개의 서브 데이터 블록들로 구성되고, 상기 각각의 서브 데이터 블록들은 바이트의 기억영역을 가지는 복수 개의 서브 데이터 블록들로 각각 구성되는 계층적 구조를 가지는 것을 특징으로 하는 메모리 관리 장치
|
6 |
6
제 1항에 있어서, 상기 프리 리스트 메모리를 구성하는 각각의 엔트리는,상기 대응되는 블록의 각각의 서브 데이터 블록의 사용 여부를 나타내는 복수 개의 비트 마스크; 및상기 비트 마스크를 기초로 파악된 상기 서브 데이터 블록들의 미사용 개수가 동일한 블록에 해당하는 바로 다음 위치의 엔트리를 가리키는 제1 포인터;를 포함하는 것을 특징으로 하는 메모리 관리 장치
|
7 |
7
제 6항에 있어서,상기 서브 블록들의 미사용 개수가 동일한 데이터 블록에 해당하는 바로 전 위치의 엔트리를 가리키는 제2포인터;를 더 포함하는 것을 특징으로 하는 메모리 관리장치
|
8 |
8
제 7 항에 있어서, 상기 프리 리스트 메모리는, 상기 비트 마스크 값에 따라 n 바이트의 기억영역이 할당 가능한 n 바이트 엔트리 목록, 바이트의 기억영역이 할당 가능한 바이트 엔트리 목록, 및 바이트의 기억영역이 할당 가능한 바이트 엔트리 목록을 각각 구성하는 것을 특징으로 하는 메모리 관리 장치
|
9 |
9
제 1 항에 있어서, 상기 레지스터는, 상기 데이터 블록이 X 개의 서브 데이터 블록들로 구성되는 경우, 상기 목록의 상기 시작 위치정보 및 상기 끝 위치정보를 저장하기 위한 1+log2 X 개의 포인터 쌍들을 포함하는 것을 특징으로 하는 메모리 관리 장치
|
10 |
10
제 8 항에 있어서, 상기 메모리 관리 장치는, 상기 바이트의 기억영역 할당시 상기 바이트 엔트리 목록에 유효 엔트리가 존재하지 않을 경우, 상기 바이트 엔트리 목록을 분할하여 상기 바이트의 기억영역으로 할당하는 것을 특징으로 하는 메모리 관리 장치
|
11 |
11
제 8 항에 있어서, 상기 메모리 관리 장치는, 상기 바이트의 기억영역 할당시 상기 바이트 엔트리 목록에 유효 엔트리가 존재하지 않을 경우, 상기 바이트 엔트리 목록을 분할하여 상기 바이트의 기억영역으로 할당하는 것을 특징으로 하는 메모리 관리 장치
|
12 |
12
제 8 항에 있어서, 상기 메모리 관리 장치는, 상기 바이트의 기억영역 반환시 상기 반환되는 기억영역의 동일 엔트리 내에 인접한 바이트의 기억영역이 사용 중이 아니면, 상기 반환되는 기억영역 및 상기 인접 기억영역을 통합하여 상기 바이트의 기억영역으로 반환하는 것을 특징으로 하는 메모리 관리 장치
|
13 |
13
제 8 항에 있어서, 상기 메모리 관리 장치는, 상기 바이트의 기억영역 반환시 상기 반환되는 기억영역의 동일 엔트리 내에 인접한 바이트의 기억영역이 사용 중이 아니면, 상기 반환되는 기억영역 및 상기 인접 기억영역을 통합하여 상기 바이트의 기억영역으로 반환하는 것을 특징으로 하는 메모리 관리 장치
|
14 |
14
소정의 길이를 가지는 복수 개의 서브 데이터 블록들로 구성되는 복수 개의 데이터 블록들을 포함하는 데이터 메모리; 상기 복수 개의 데이터 블록과 일대일 대응되는 엔트리들을 포함하고, 상기 엔트리는 상기 대응되는 데이터 블록내의 서브 데이터 블록들의 각각의 사용여부를 나타내는 정보를 포함하고, 상기 정보를 기초로 상기 서브 데이터 블록들의 미사용 개수가 동일한 데이터 블록들에 해당하는 엔트리별로 연결관계를 설정하는 프리 리스트 메모리; 및 상기 연결관계의 시작 위치 정보 및 끝 위치 정보를 저장하는 레지스터;를 포함하는 메모리 관리 장치의 메모리 할당 방법에 있어서,(a) n이 2의 배수이고 i가 양의 정수일 때, 기억영역의 할당 요구 크기가 바이트보다 큰 경우, 상기 프리 리스트 메모리에 의해 관리되는 바이트 엔트리 목록 상에 존재하는 유효 엔트리에 바이트의 기억영역을 할당하는 단계; 및(b) 기억영역의 할당 요구 크기가 바이트보다 같거나 작은 경우, 상기 프리 리스트 메모리에 의해 관리되는 바이트 엔트리 목록 상에 존재하는 유효 엔트리에 바이트의 기억영역을 할당하되, 상기 바이트 엔트리 목록에 유효 엔트리가 존재하지 않으면, 상기 바이트 엔트리 목록을 분할하여 바이트의 기억영역으로 할당하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법
|
15 |
15
제 14 항에 있어서, 상기 (a) 단계는(a-1) 상기 바이트 엔트리 목록의 시작 위치에 해당되는 엔트리를 상기 기억영역으로 할당하고, 상기 기억영역에 대응되는 비트마스크를 상기 엔트리가 현재 사용중임을 나타내는 제 1의 값으로 설정하는 단계; 및(a-2) 상기 바이트 엔트리 목록의 시작 위치 값을 상기 엔트리와 동일한 엔트리 목록에 속하는 다음 엔트리의 위치 값으로 갱신하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법
|
16 |
16
제 14 항에 있어서, 상기 (b) 단계는(b-1) 상기 바이트 엔트리 목록에 유효 엔트리가 존재하는지 여부를 판별하는 단계;(b-2) 상기 (b-1) 단계에서의 판별 결과, 상기 바이트 엔트리 목록에 유효 엔트리가 존재하는 경우, 상기 바이트 엔트리 목록의 시작 위치에 해당되는 엔트리를 상기 기억영역으로 할당하고, 상기 기억영역에 대응되는 비트마스크를 상기 제 1의 값으로 설정하는 단계;(b-3) 상기 바이트 엔트리 목록의 시작 위치 값을 상기 엔트리와 동일한 엔트리 목록에 속하는 다음 엔트리의 위치 값으로 갱신하는 단계;(b-4) 상기 (b-1) 단계에서의 판별 결과, 상기 바이트 엔트리 목록에 유효 엔트리가 존재하지 않는 경우, 상기 바이트 엔트리 목록의 시작 위치에 해당되는 엔트리를 상기 기억영역으로 할당하고, 상기 기억영역에 대응되는 비트마스크를 상기 제 1의 값으로 설정하는 단계;(b-5) 할당된 상기 엔트리의 위치 값을 상기 바이트 엔트리 목록의 끝 위치에 추가시키는 단계; 및(b-6) 상기 바이트 엔트리 목록의 시작 위치 값을 상기 엔트리와 동일한 엔트리 목록에 속하는 다음 엔트리의 위치 값으로 갱신하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법
|
17 |
17
소정의 길이를 가지는 복수 개의 서브 데이터 블록들로 구성되는 복수 개의 데이터 블록들을 포함하는 데이터 메모리; 상기 복수 개의 데이터 블록과 일대일 대응되는 엔트리들을 포함하고, 상기 엔트리는 상기 대응되는 데이터 블록내의 서브 데이터 블록들의 각각의 사용여부를 나타내는 정보를 포함하고, 상기 정보를 기초로 상기 서브 데이터 블록들의 미사용 개수가 동일한 데이터 블록들에 해당하는 엔트리별로 연결관계를 설정하는 프리 리스트 메모리; 및 상기 연결관계의 시작 위치 정보 및 끝 위치 정보를 저장하는 레지스터;를 포함하는 메모리 관리 장치의 메모리 반환 방법에 있어서, (a) n이 2의 배수이고 i가 양의 정수일 때, 반환되는 기억영역의 크기가 바이트보다 큰 경우, 데이터 메모리에 바이트의 기억영역을 반환하고, 상기 프리 리스트 메모리에 의해 관리되는 바이트 엔트리 목록에 상기 기억영역에 대응되는 엔트리를 포함시키는 단계; 및(b) 기억영역의 할당 요구 크기가 바이트보다 같거나 작은 경우, 데이터 메모리에 바이트의 기억영역을 반환하고, 상기 프리 리스트 메모리에 의해 관리되는 바이트 엔트리 목록에 상기 기억영역에 대응되는 엔트리를 포함시키되, 상기 반환된 기억영역과 동일한 엔트리로 관리되는 인접 기억 영역이 사용중이 아니면, 상기 반환된 기억영역 및 상기 인접 기억영역을 통합한 기억영역에 대응되는 엔트리를 상기 바이트 엔트리 목록에 포함시키는 단계를 포함하는 것을 특징으로 하는 메모리 반환 방법
|
18 |
18
제 17 항에 있어서, 상기 (a) 단계는(a-1) 상기 반환되는 기억영역에 대응되는 데이터 블록의 비트마스크를 상기 엔트리가 현재 사용중이지 않음을 나타내는 제 2의 값으로 설정하고, 상기 기억영역 다음에 사용될 기억영역의 위치 값을 유효 엔트리가 없음을 나타내는 제 3의 값으로 설정하는 단계; 및(a-2) 상기 반환되는 기억영역을 상기 바이트 엔트리 목록의 끝 위치에 추가시키는 단계를 포함하는 것을 특징으로 하는 메모리 반환 방법
|
19 |
19
제 17 항에 있어서, 상기 (b) 단계는(b-1) 상기 반환되는 기억영역이 속하는 엔트리에 포함된 바이트의 서브 데이터 블록들이 모두 사용중인지 여부를 판별하는 단계;(b-2) 상기 (b-1) 단계에서의 판별 결과, 상기 서브 데이터 블록들이 모두 사용중인 경우, 상기 반환되는 기억영역에 대응되는 상기 서브 데이터 블록의 비트마스크를 상기 제 2의 값으로 설정하고, 상기 기억영역 다음에 사용될 기억영역의 위치 값을 상기 제 3의 값으로 설정하는 단계; (b-3) 상기 반환되는 기억영역을 상기 바이트 엔트리 목록의 끝 위치에 추가시키는 단계;(b-4) 상기 (b-1) 단계에서의 판별 결과, 상기 서브 데이터 블록들이 모두 사용중이 아닌 경우, 상기 반환되는 기억영역에 대응되는 엔트리를 상기 바이트 목록에서 삭제하는 단계;(b-5) 상기 반환되는 기억영역이 포함된 상기 데이터 블록의 비트마스크를 상기 제 2의 값으로 설정하고, 상기 기억영역 다음에 사용될 기억영역의 위치 값을 상기 제 3의 값으로 설정하는 단계; 및 (b-6) 상기 반환되는 기억영역을 상기 바이트 엔트리 목록의 끝 위치에 추가시키는 단계를 포함하는 것을 특징으로 하는 메모리 반환 방법
|
20 |
20
제 14 항 내지 제 19 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
|
21 |
20
제 14 항 내지 제 19 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
|