1 |
1
유니커널을 이용하는 원격 직접 메모리 접근(Remote Direct Memory Access; RDMA) 기반 파일 입출력 오프로드 장치의 동작 방법에 있어서,상기 유니커널의 응용 프로그램에서 파일 입출력 커널 함수를 호출하는 단계;상기 파일 입출력 커널 함수에서 파일 입출력 정보를 생성하는 단계;상기 유니커널에서 상기 파일 입출력 정보를 리눅스로 전송하는 단계;상기 리눅스에서 상기 파일 입출력 정보를 이용하여 파일 입출력 함수를 구성 및 호출하는 단계; 및상기 파일 입출력 함수에서 상기 파일 입출력 정보에 대응하는 파일 입출력 요청을 파일 서버로 전송하는 단계를 포함하는 방법
|
2 |
2
제 1 항에 있어서,상기 파일 입출력 정보를 생성하는 단계는,파일 입출력 버퍼에 대한 연속적인 물리 주소 구간을 추출하는 단계; 및상기 추출된 물리 주소 구간에 대응하는 IO 벡터를 생성하는 단계를 포함하는 방법
|
3 |
3
제 1 항에 있어서,상기 리눅스의 파일 입출력 프록시를 구동하는 단계를 더 포함하는 방법
|
4 |
4
제 3 항에 있어서,상기 파일 입출력 프록시에서 상기 유니커널로부터 상기 파일 입출력 정보를 수신하는 단계를 더 포함하는 방법
|
5 |
5
제 1 항에 있어서,상기 파일 입출력 정보는 파일 입출력 명령, 파일 디스크립터, IO 벡터, 벡터 카운트를 포함하는 것을 특징으로 하는 방법
|
6 |
6
제 5 항에 있어서,상기 파일 입출력 요청을 파일 서버로 전송하는 단계는,상기 리눅스의 파일 시스템 스텁에서 상기 IO 벡터의 개수에 대응하는 상기 입출력 요청을 상기 파일 서버로 전송하는 단계를 포함하는 방법
|
7 |
7
제 1 항에 있어서,상기 리눅스에서 상기 파일 서버로부터 상기 파일 입출력 요청에 대한 결과를 수신하는 단계를 더 포함하는 방법
|
8 |
8
제 7 항에 있어서,상기 파일 입출력 요청에 대한 결과가 성공일 때, 상기 리눅스에서 상기 유니커널로 상기 입출력 요청에 대한 결과를 전송하는 단계를 더 포함하는 방법
|
9 |
9
제 1 항에 있어서,상기 파일 입출력 요청에 응답하여 상기 파일 서버의 데이터를 RDMA(Remote Direct Memory Access) 방식으로 상기 유니커널의 메모리로 입출력시키는 단계를 포함하는 방법
|
10 |
10
유니커널을 이용하는 원격 직접 메모리 접근(Remote Direct Memory Access; RDMA) 기반 파일 입출력 오프로드 장치의 동작 방법에 있어서,파일 서버에서 유니커널 시스템의 리눅스로부터 파일 입출력 요청을 수신하는 단계;파일 서버에서 상기 파일 입출력 요청에 대응하는 파일 정보를 파일시스템에서 추출하는 단계;상기 파일 정보를 이용하여 비휘발성 메모리에서 데이터를 입출력하는 단계; 및상기 입출력된 데이터를 RDMA 엔진을 통하여 상기 유니커널 시스템으로 전송하는 단계를 포함하는 방법
|
11 |
11
제 10 항에 있어서,상기 파일 서버에서 상기 유니커널 시스템의 리눅스로 상기 파일 입출력 요청에 대한 파일 입출력 결과를 전송하는 단계를 더 포함하는 방법
|
12 |
12
제 10 항에 있어서,상기 파일 정보를 상기 파일 시스템에서 추출하는 단계는,상기 파일 입출력 요청에 포함된 파일 디스크럽터에 대응하는 파일로부터 파일 명령을 수행하기 위한 상기 파일 정보를 추출하는 단계를 포함하는 방법
|
13 |
13
제 10 항에 있어서,상기 파일 서버에서 상기 비휘발성 메모리의 상기 입출력된 데이터를 RDMA NIC로 복사를 명령하는 단계를 더 포함하는 방법
|
14 |
14
제 10 항에 있어서,상기 RDMA 엔진은 상기 입출력된 데이터를 상기 유니커널 시스템의 유니커널의 물리 메모리로 RDMA 방식으로 전송하는 것을 특징으로 하는 방법
|
15 |
15
원격 직접 메모리 접근(Remote Direct Memory Access; RDMA) 기반 파일 입출력 오프로드 장치에 있어서:적어도 하나의 프로세서; 및상기 적어도 하나의 프로세서에 실행되는 유니커널 및 리눅스를 저장하는 메모리를 포함하고,상기 유니커널은, 응용 프로그램에서 파일 입출력 커널 함수를 호출하고, 상기 파일 입출력 커널 함수에서 파일 입출력 정보를 생성하고; 상기 유니커널에서 상기 파일 입출력 정보를 리눅스로 전송하고,상기 리눅스는 상기 파일 입출력 정보를 이용하여 파일 입출력 함수를 구성 및 호출하고; 및 상기 파일 입출력 함수에서 상기 파일 입출력 정보에 대응하는 파일 입출력 요청을 파일 서버로 전송하는 것을 특징으로 하는 파일 입출력 오프로드 장치
|
16 |
16
제 15 항에 있어서,상기 리눅스는 파일 입출력 프록시를 구동하여 상기 파일 입출력 정보를 상기 유니커널로부터 수신하는 것을 특징으로 하는 파일 입출력 오프로드 장치
|
17 |
17
제 15 항에 있어서,상기 리눅스는 상기 파일 입출력 정보를 이용하여 파일 디스크립터에 대응하는 파일에 대하여 IO 벡터 크기만큼 IO 벡터의 물리 주소로 입출력 명령을 상기 파일 서버로 전송하는 것을 특징으로 하는 파일 입출력 오프로드 장치
|
18 |
18
제 17 항에 있어서,상기 리눅스는 입출력 명령에 대응하는 결과는 상기 파일 서버로부터 수신하는 것을 특징으로 하는 파일 입출력 오프로드 장치
|
19 |
19
제 17 항에 있어서,상기 파일 서버로부터 상기 입출력 명령에 대응하는 데이터를 RDMA 방식으로 입출력하는 RDMA NIC(Network Interface Card)를 더 포함하는 것을 특징으로 하는 파일 입출력 오프로드 장치
|
20 |
20
제 15 항에 있어서,상기 리눅스는 상기 파일 서버의 저장 장치에 대한 디바이스 드라이버로 이용되는 것을 특징으로 하는 파일 입출력 오프로드 장치
|