1 |
1
컴퓨터 장치의 외부 병합 정렬 방법에 있어서,상기 컴퓨터 장치가 소스 데이터를 메모리에서 처리 가능한 크기로 나누어 각각 내부 정렬한 복수의 런(run)들을 저장 장치에 저장하는 단계;상기 저장 장치가 임베디드 소프트웨어를 이용하여 상기 저장된 런들을 상기 저장 장치 내부에서 병합 정렬하는 단계; 및 상기 컴퓨터 장치가 상기 병합 정렬된 데이터에 접근하는 단계를 포함하는 외부 병합 정렬 방법
|
2 |
2
제1항에 있어서,상기 병합 정렬하는 단계 전에상기 컴퓨터 장치가 상기 런들 각각에 대한 저장 위치 및 파일 크기를 포함하는 런 정보를 상기 저장 장치에 전달하는 단계를 더 포함하는 외부 병합 정렬 방법
|
3 |
3
제2항에 있어서,상기 런 정보는 상기 런에 포함된 데이터의 레코드 크기, 키 값의 위치, 키 값의 길이 또는 레코드의 타입 중 적어도 하나의 정보를 더 포함하는 외부 병합 정렬 방법
|
4 |
4
제1항에 있어서,상기 병합 정렬하는 단계에서상기 저장 장치는 상기 런들에 포함된 레코들을 각 레코드의 키 값 및 정렬 기준에 따라 순차적으로 상기 저장 장치의 버퍼에 저장하거나, 상기 저장 장치의 주 저장 매체에 저장하는 외부 병합 정렬 방법
|
5 |
5
제1항에 있어서,상기 병합 정렬하는 단계는 상기 저장 장치가 상기 컴퓨터 장치로부터 상기 소스 데이터에 대한 읽기 명령을 전달받는 경우, 상기 저장 장치가 상기 컴퓨터 장치로부터 병합 명령을 전달받는 경우 또는 상기 저장 장치가 상기 병합 정렬을 수행할 수 있는 유휴(遊休) 상태에서 수행되는 외부 병합 정렬 방법
|
6 |
6
제1항에 있어서,상기 병합 정렬하는 단계에서 상기 저장 장치는 상기 저장 장치의 버퍼에 정렬되는 데이터를 상기 버퍼의 크기 단위로 저장하고,상기 접근하는 단계에서 상기 컴퓨터 장치는 상기 버퍼에 저장되는 데이터를 상기 크기 단위로 전달받는 외부 병합 정렬 방법
|
7 |
7
제1항에 있어서,상기 병합 정렬하는 단계에서 상기 저장 장치는 상기 저장 장치의 주 저장 매체에 정렬되는 데이터를 모두 저장하고,상기 접근하는 단계에서 상기 컴퓨터 장치는 상기 주 저장 매체에 저장된 데이터를 읽는 외부 병합 정렬 방법
|
8 |
8
제1항에 있어서,상기 저장 장치는 비휘발성 메모리 또는 플래시 메모리로 구성되는 저장 매체인 외부 병합 정렬 방법
|
9 |
9
외부 병합 정렬 시스템에 있어서,소스 데이터를 메모리에서 처리 가능한 크기인 기준 세그먼트 크기 단위로 내부 정렬을 수행한 복수의 런(RUN)들을 저장 장치에 저장하고, 상기 복수의 런들에 대한 병합 정렬 명령을 상기 저장 장치에 전달하는 호스트 장치; 및상기 병합 정렬 명령을 수신하고, 상기 복수의 런들에 대한 병합 정렬을 수행하여 정렬된 데이터를 상기 호스트 장치에 전달하는 저장 장치를 포함하는 외부 병합 정렬 시스템
|
10 |
10
제9항에 있어서,상기 호스트 장치는상기 저장 장치, 별도의 저장 장치 또는 네트워크로 연결된 저장 장치로부터 상기 소스 데이터를 전달받는 외부 병합 정렬 시스템
|
11 |
11
제9항에 있어서,상기 호스트 장치는 상기 런들 각각에 대한 저장 위치, 파일 크기, 상기 런에 포함된 데이터의 레코드 크기, 키 값의 위치, 키 값의 길이 또는 레코드의 타입 중 적어도 하나의 정보를 포함하는 런 정보를 상기 저장 장치에 전달하고, 상기 저장 장치는 상기 런 정보를 이용하여 상기 병합 정렬을 수행하는 외부 병합 정렬 시스템
|
12 |
12
제9항에 있어서,상기 저장 장치는상기 런들이 저장되는 주 저장부;상기 정렬된 데이터를 저장하는 버퍼부;상기 버퍼부에 저장되는 정렬된 데이터를 상기 호스트 장치에 전달하는 인터페이스부; 및 상기 런들에 포함된 레코드들을 각 레코드의 키 값 및 정렬 기준에 따라 순차적으로 상기 버퍼부에 저장하고, 상기 버퍼부에 저장된 데이터를 상기 호스트 장치에 전달하도록 상기 인터페이스부를 제어하는 제어부를 포함하는 외부 병합 정렬 시스템
|
13 |
13
제9항에 있어서,상기 호스트 장치는 상기 저장 장치에 저장된 소스 데이터에 대한 접근이 필요한 경우 또는 상기 호스트 장치 내지 상기 저장 장치가 유휴(遊休) 상태에 있는 경우 상기 병합 정렬 명령을 상기 저장 장치에 전달하는 외부 병합 정렬 시스템
|
14 |
14
제9항에 있어서,상기 저장 장치는상기 병합 정렬을 수행하면서 정렬된 데이터를 버퍼에 저장하고, 상기 버퍼에 저장된 데이터를 상기 호스트 장치에 전달하거나,상기 병합 정렬을 수행하면서 정렬된 데이터를 상기 저장 장치의 주 저장 매체에 저장한 후 상기 호스트 장치의 요청이 있으면 상기 주 저장 매체에 저장된 데이터를 상기 호스트 장치에 전달하는 외부 병합 정렬 시스템
|
15 |
15
각 제1 병합 정렬 장치에서 소스 데이터가 제1 분할되어 전달되면 상기 제1 분할된 소스 데이터를 상기 각 제1 병합 정렬 장치의 메모리에서 처리 가능한 크기 단위로 내부 정렬하고, 상기 크기 단위의 정렬된 런(RUN)들을 상기 각 제1 병합 정렬 장치의 제1 저장 장치에 저장하고, 상기 런들에 대한 제1 병합 정렬을 수행하여 정렬된 데이터를 제2 병합 정렬 장치에 전달하는 복수 개의 제1 병합 정렬 장치; 및상기 복수 개의 제1 병합 정렬 장치 각각에서 제1 병합 정렬된 데이터를 전달받고, 상기 각각의 제1 병합 정렬된 데이터에 대한 제2 병합 정렬을 수행하여 제2 병합 정렬 장치의 제2 저장 장치에 저장하는 제2 병합 정렬 장치를 포함하는 외부 병합 정렬을 위한 분산 처리 시스템
|
16 |
16
제15항에 있어서,상기 제1 병합 정렬 장치는 상기 런들에 대한 제1 병합 정렬을 수행하면서 정렬된 결과를 상기 제1 병합 정렬 장치의 버퍼에 저장하고, 상기 버퍼에 저장된 데이터를 상기 제2 병합 정렬 장치에 전달하거나,상기 런들에 대한 제1 병합 정렬을 수행한 결과를 제1 저장 장치에 모두 저장하고, 정렬이 완료되면 상기 제2 병합 정렬 장치에 정렬된 데이터를 전달하는 외부 병합 정렬을 위한 분산 처리 시스템
|
17 |
17
제15항에 있어서,상기 소스 데이터의 제1 분할, 상기 제1 병합 정렬, 상기 런들의 전달 또는 상기 제2 병합 정렬 중 적어도 하나를 제어하는 호스트 장치를 더 포함하는 외부 병합 정렬을 위한 분산 처리 시스템
|
18 |
18
제17항에 있어서,상기 호스트 장치는 상기 런들 각각에 대한 저장 위치, 파일 크기, 상기 런에 포함된 데이터의 레코드 크기, 키 값의 위치, 키 값의 길이 또는 레코드의 타입 중 적어도 하나의 정보를 포함하는 런 정보를 상기 제1 병합 정렬 장치에 전달하고, 상기 제1 병합 정렬 장치는 상기 런 정보를 이용하여 상기 제1 병합 정렬을 독립적으로 수행하는 외부 병합 정렬을 위한 분산 처리 시스템
|
19 |
19
제15항에 있어서,상기 제2 병합 정렬 장치는 호스트 장치이고, 상기 호스트 장치가 상기 제1 병합 정렬된 데이터를 상기 제2 저장 장치에 저장하고, 상기 제2 저장 장치에 저장된 상기 제1 병합 정렬된 데이터를 이용하여 상기 제2 병합 정렬을 수행하는 외부 병합 정렬을 위한 분산 처리 시스템
|
20 |
20
제15항에 있어서,상기 제1 저장 장치 또는 상기 제2 저장 장치 중 적어도 하나는 비휘발성 메모리 또는 플래시 메모리로 구성되는 저장 매체인 외부 병합 정렬을 위한 분산 처리 시스템
|