1 |
1
제1 커맨드의 제1 가상 시간과 제2 커맨드의 제2 가상 시간을 비교하고,상기 비교 결과를 바탕으로, 상기 제1 가상 시간과 상기 제2 가상 시간 중 기준이 되는 글로벌 가상 시간을 결정하고,상기 제1 가상 시간과 상기 글로벌 가상 시간의 차이와, 상기 제2 가상 시간과 상기 글로벌 가상 시간의 차이를 이용하여 상기 제1 및 제2 커맨드를 제1 우선 순위 클래스 큐, 제2 우선 순위 클래스 큐 및 제3 우선순위 클래스 큐 중 어느 하나에 전달하는 것을 포함하되,상기 제1 내지 제3 우선 순위 클래스 큐 각각은 서로 다른 처리 속도를 갖는 커맨드 큐잉 방법
|
2 |
2
제1항에 있어서,상기 제1 가상 시간과 상기 글로벌 가상 시간의 차이가 제1 임계값보다 큰 경우, 상기 제1 커맨드는 상기 제3 우선 순위 클래스 큐로 전달되고,상기 제1 가상 시간과 상기 글로벌 가상 시간의 차이가 상기 제1 임계값보다 작고 제2 임계값보다 작은 경우, 상기 제1 커맨드는 상기 제1 우선 순위 클래스 큐로 전달되는, 커맨드 큐잉 방법
|
3 |
3
제1항에 있어서,상기 글로벌 가상 시간은 상기 제1 가상 시간과 상기 제2 가상 시간 중 작은 가상 시간인, 커맨드 큐잉 방법
|
4 |
4
제1 커맨드와 상기 제1 커맨드와 다른 제2 커맨드를 제1 내지 제3 우선 순위 클래스 큐 중 어느 하나로 전달하고,상기 제1 내지 제3 우선 순위 클래스 큐의 제1 처리 빈도 값을 계산하고,상기 제1 처리 빈도 값을 기초로 상기 제1 내지 제3 우선 순위 클래스 큐의 처리 속도를 제1 조절하는 것을 포함하는 복수의 큐의 처리 속도를 조절하는 방법
|
5 |
5
제4항에 있어서,상기 제1 처리 빈도 값은 상기 제1 우선 순위 클래스 큐의 처리 속도를 상기 제3 우선 순위 클래스 큐의 처리 속도로 나눈 값인, 복수의 큐의 처리 속도를 조절하는 방법
|
6 |
6
제5항에 있어서,상기 제1 처리 빈도 값과, 상기 제1 커맨드와 상기 제2 커맨드의 가상 시간 증가량을 계산하여, 상기 제1 내지 제3 우선 순위 클래스 큐의 제2 처리 빈도 값을 계산하고,상기 제2 처리 빈도 값을 기초로 상기 제1 내지 제3 우선 순위 클래스 큐의 처리 속도를 제2 조절하는 것을 더 포함하는 복수의 큐의 처리 속도를 조절하는 방법
|
7 |
7
제6항에 있어서,상기 제2 처리 빈도 값은 상기 제1 커맨드의 가상 시간 증가량과 상기 제3 커맨드의 가상 시간 증가량의 비에 상기 제1 처리 빈도 값을 곱한 값을 기초로 계산되는 복수의 큐의 처리 속도를 조절하는 방법
|
8 |
8
제7항에 있어서,상기 제2 처리 빈도 값은 아래 수학식을 이용하여 계산되고,상기 은 제2 처리 빈도 값이고, 상기 는 제1 처리 빈도 값이고, 상기 는 제1 커맨드의 가상 시간 증가량이고, 상기 는 제3 커맨드의 가상 시간 증가량인 복수의 큐의 처리 속도를 조절하는 방법
|
9 |
9
호스트로부터 NVMe(Non-Volatile Memory Express) 인터페이스를 통해 제1 커맨드와 제2 커맨드를 제공받는 호스트 인터페이스;제1 내지 제3 우선 순위 클래스 큐를 포함하는WRR 중재기; 및상기 제1 및 제2 커맨드를 상기 제1 내지 제3 우선 순위 클래스 큐에 전달하는 입출력 스케쥴러를 포함하되,상기 WRR 중재기는,상기 각 우선 순위 클래스 큐에 대해 계산된 처리빈도를 상기 입출력 스케쥴러로부터 수신하고 이를 바탕으로 큐에 전달된 커맨드를 가중 라운드 로빈(Weighted Round Robin) 방식으로 수행하는 호스트-스토리지 시스템
|
10 |
10
제9항에 있어서,상기 입출력 스케쥴러는,상기 제1 가상 시간과 상기 제2 가상 시간 중 기준이 되는 글로벌 가상 시간을 더 결정하고,상기 제1 가상 시간과 상기 글로벌 가상 시간의 차이와, 상기 제2 가상 시간과 상기 글로벌 가상 시간의 차이를 이용하여 상기 제1 및 제2 커맨드를 상기 제1 내지 제3 우선 순위 클래스 큐 중 어느 하나에 전달하는 호스트-스토리지 시스템
|