1 |
1
저장 장치의 메모리 컨트롤러가 수행하는 청크 할당 방법에 있어서,호스트 장치로부터 힙 영역의 객체 저장소에 대응하는 메모리의 세그먼트에 청크(Chunk)를 할당하기 위한 요청을 수신하는 단계;상기 수신한 요청에 대응하여 상기 청크가 메모리의 세그먼트에 할당이 가능한지 여부를 판단하는 단계;상기 청크가 메모리의 세그먼트에 할당이 불가능한 경우, 할당 리스트(Allocation List)를 이용하여 메모리의 세그먼트에 대한 가비지 컬렉션을 수행하는 단계;상기 청크가 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 가능한지 여부를 판단하는 단계; 및판단 결과에 따라 상기 청크를 메모리의 세그먼트에 할당하는 단계를 포함하고,상기 호스트 장치에 포함되어, 상기 청크를 할당하기 위한 요청을 전송하는 제1 프로세서보다 상기 저장 장치의 메모리 컨트롤러에 포함되어 청크 할당을 수행하는 제2 프로세서가 높은 우선 순위로 동작하는 청크 할당 방법
|
2 |
2
제1항에 있어서,상기 메모리의 세그먼트에 할당이 가능한지 여부를 판단하는 단계는,상기 객체 저장소에 대응하는 메모리의 세그먼트 중 비워진 세그먼트로 상기 청크가 할당되지는 여부를 판단하는 청크 할당 방법
|
3 |
3
제1항에 있어서,상기 가비지 컬렉션을 수행하는 단계는,상기 메모리의 세그먼트를 구성하는 페이지들을 나타내는 물리 주소가 상기 할당 리스트에서 검색되는지 여부를 고려하여 가비지 컬렉션을 수행하는 청크 할당 방법
|
4 |
4
제3항에 있어서,상기 가비지 컬렉션을 수행하는 단계는,상기 할당 리스트에서 상기 물리 주소가 검색되지 않는 경우, 상기 검색되지 않는 물리 주소를 갖는 세그먼트의 페이지를 가비지로 판단하고, 상기 가비지로 판단된 페이지를 대상으로 메모리의 세그먼트에 대한 가비지 컬렉션을 수행하는 청크 할당 방법
|
5 |
5
제1항에 있어서,상기 객체 저장소는,상기 메모리의 세그먼트에 청크를 할당하기 위한 자료 구조의 형태가 저장되는 메타 데이터 영역 및 데이터가 저장되는 사용자 데이터 영역으로 구분되고,상기 힙 영역은,상기 객체 저장소의 단위로 분할되는 청크 할당 방법
|
6 |
6
제5항에 있어서,상기 할당 리스트는,상기 메타 데이터 영역에 저장된 자료 구조를 기반으로 상기 사용자 데이터 영역에서 검색되는 각 노드를 탐색하여 탐색된 노드들의 물리 주소를 포함하고,상기 노드들의 물리 주소를 기준으로 정렬되는 청크 할당 방법
|
7 |
7
제1항에 있어서,상기 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 가능한지 여부를 판단하는 단계는,i) 상기 가비지 컬렉션이 수행되는 과정에서 비워진 메모리의 세그먼트, 또는ii) 상기 가비지 컬렉션이 수행되는 과정에서 메모리의 세그먼트가 비워지지 않았지만, 메모리의 세그먼트 중 이미 비워진 메모리의 세그먼트를 고려하여 할당이 가능한지 여부를 판단하는 청크 할당 방법
|
8 |
8
제7항에 있어서,상기 청크를 할당하는 단계는,상기 판단 결과, 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 가능한 경우, 상기 비워진 메모리의 세그먼트로 상기 청크를 할당하는 청크 할당 방법
|
9 |
9
제7항에 있어서,상기 청크를 할당하는 단계는,상기 판단 결과, 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 불가능한 경우, 상기 객체 저장소에 대응하는 메모리의 세그먼트가 아닌 서로 다른 메모리의 세그먼트로 상기 청크를 할당하는 청크 할당 방법
|
10 |
10
청크 할당 방법을 수행하는 메모리 컨트롤러에 있어서,상기 메모리 컨트롤러는,호스트 장치로부터 힙 영역의 객체 저장소에 대응하는 메모리의 세그먼트에 청크(Chunk)를 할당하기 위한 요청을 수신하면, 상기 수신한 요청에 대응하여 상기 청크가 메모리의 세그먼트에 할당이 가능한지 여부를 판단하여, 상기 청크가 메모리의 세그먼트에 할당이 불가능한 경우, 할당 리스트(Allocation List)를 이용하여 메모리의 세그먼트에 대한 가비지 컬렉션을 수행한 후, 상기 청크가 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 가능한지 여부를 판단하여 판단 결과에 따라 상기 청크를 메모리의 세그먼트에 할당하고,상기 호스트 장치에 포함되어, 상기 청크를 할당하기 위한 요청을 전송하는 제1 프로세서보다 상기 메모리 컨트롤러에 포함되어 청크 할당을 수행하는 제2 프로세서가 높은 우선 순위로 동작하는 저장 장치의 메모리 컨트롤러
|
11 |
11
제10항에 있어서,상기 메모리 컨트롤러는,상기 객체 저장소에 대응하는 메모리의 세그먼트 중 비워진 세그먼트로 상기 청크가 할당되지는 여부를 판단하는 저장 장치의 메모리 컨트롤러
|
12 |
12
제10항에 있어서,상기 메모리 컨트롤러는,상기 메모리의 세그먼트를 구성하는 페이지들을 나타내는 물리 주소가 상기 할당 리스트에서 검색되는지 여부를 고려하여 가비지 컬렉션을 수행하는 저장 장치의 메모리 컨트롤러
|
13 |
13
제12항에 있어서,상기 메모리 컨트롤러는,상기 할당 리스트에서 상기 물리 주소가 검색되지 않는 경우, 상기 검색되지 않는 물리 주소를 갖는 세그먼트의 페이지를 가비지로 판단하고, 상기 가비지로 판단된 페이지를 대상으로 메모리의 세그먼트에 대한 가비지 컬렉션을 수행하는 저장 장치의 메모리 컨트롤러
|
14 |
14
제10항에 있어서,상기 객체 저장소는,상기 메모리의 세그먼트에 청크를 할당하기 위한 자료 구조의 형태가 저장되는 메타 데이터 영역 및 데이터가 저장되는 사용자 데이터 영역으로 구분되고,상기 힙 영역은,상기 객체 저장소의 단위로 분할되는 저장 장치의 메모리 컨트롤러
|
15 |
15
제14항에 있어서,상기 할당 리스트는,상기 메타 데이터 영역에 저장된 자료 구조를 기반으로 상기 사용자 데이터 영역에서 검색되는 각 노드를 탐색하여 탐색된 노드들의 물리 주소를 포함하고,상기 노드들의 물리 주소를 기준으로 정렬되는 저장 장치의 메모리 컨트롤러
|
16 |
16
제10항에 있어서,상기 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 가능한지 여부를 판단하는 단계는,i) 상기 가비지 컬렉션이 수행되는 과정에서 비워진 메모리의 세그먼트, 또는ii) 상기 가비지 컬렉션이 수행되는 과정에서 메모리의 세그먼트가 비워지지 않았지만, 메모리의 세그먼트 중 이미 비워진 메모리의 세그먼트를 고려하여 할당이 가능한지 여부를 판단하는 저장 장치의 메모리 컨트롤러
|
17 |
17
제16항에 있어서,상기 메모리 컨트롤러는,상기 판단 결과, 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 가능한 경우, 상기 비워진 메모리의 세그먼트로 상기 청크를 할당하는 저장 장치의 메모리 컨트롤러
|
18 |
18
제10항에 있어서,상기 메모리 컨트롤러는,상기 판단 결과, 가비지 컬렉션이 수행된 메모리의 세그먼트에 할당이 불가능한 경우, 상기 객체 저장소에 대응하는 메모리의 세그먼트가 아닌 서로 다른 메모리의 세그먼트로 상기 청크를 할당하는 저장 장치의 메모리 컨트롤러
|