1 |
1
저장장치가, 수신된 제1쓰기명령과 제2쓰기명령 간의 실행순서를 결정하여, 상기 결정된 실행순서에 따라 상기 제1쓰기명령과 상기 제2쓰기명령을 실행하는 단계;를 포함하며,상기 제1쓰기명령은 {제1스트림 아이디, 제1에포크 아이디}를 갖는 제1스트림 식별정보를 포함하고,상기 제2쓰기명령은 {제2스트림 아이디, 제2에포크 아이디}를 갖는 제2스트림 식별정보를 포함하고,상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에는, 상기 실행순서는 상기 제1에포크 아이디와 상기 제2에포크 아이디를 서로 비교한 결과를 이용하지 않고 결정하도록 되어 있는,쓰기 방법
|
2 |
2
제1항에 있어서,상기 제1스트림 아이디와 상기 제2스트림 아이디가 동일한 경우에는, 상기 실행순서는 상기 제1에포크 아이디와 상기 제2에포크 아이디를 서로 비교한 결과를 이용하여 결정되도록 되어 있는, 쓰기 방법
|
3 |
3
제1항에 있어서, 상기 제1쓰기명령은 {제2스트림 아이디, 제3에포크 아이디}를 갖는 제3스트림 식별정보를 더 포함하고,상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에, 상기 제1쓰기명령과 상기 제2쓰기명령 간의 실행순서는, 상기 제3에포크 아이디와 상기 제2에포크 아이디 간의 우선순위에 종속되는 것을 특징으로 하는,쓰기 방법
|
4 |
4
제3항에 있어서, 상기 저장장치가 제3쓰기명령을 더 수신하는 경우에, 상기 실행하는 단계는, 상기 제1쓰기명령, 상기 제2쓰기명령, 및 상기 제3쓰기명령 간의 실행순서를 결정하여, 상기 결정된 실행순서에 따라 상기 제1쓰기명령, 상기 제2쓰기명령, 및 상기 제3쓰기명령을 실행하도록 되어 있고, 상기 제3쓰기명령은 {제1스트림 아이디, 제4에포크 아이디}를 갖는 제4스트림 식별정보를 포함하고,상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에, 상기 제1쓰기명령과 상기 제3쓰기명령 간의 실행순서는, 상기 제4에포크 아이디와 상기 제1에포크 아이디 간의 우선순위에 종속되는 것을 특징으로 하는,쓰기 방법
|
5 |
5
제1항에 있어서, 상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에, 상기 제1스트림 식별정보는, 상기 제1쓰기명령과 상기 제2쓰기명령을 상기 저장장치에게 전송한 호스트에서 실행되는 제1스레드에 의해 생성된 것이고, 상기 제2스트림 식별정보는, 상기 호스트에서 실행되는 제2스레드에 의해 생성된 것인, 쓰기 방법
|
6 |
6
제5항에 있어서, 상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에, 상기 제1에포크 아이디는 상기 제1스레드가 참조하는 제1에포크 카운터에 의해 생성된 것이고,상기 제2에포크 아이디는 상기 제2스레드가 참조하는 제2에포크 카운터에 의해 생성된 것인,쓰기 방법
|
7 |
7
제1항에 있어서,상기 실행하는 단계 이전에, 상기 제1쓰기명령과 상기 제2쓰기명령을 상기 저장장치에게 전송한 호스트가, 제1스레드 및 제2스레드를 실행하는 단계;상기 제1스레드가 상기 제1스트림 아이디와 상기 제1에포크 아이디를 갖는 제1쓰기요청을 생성하여 상기 호스트의 블록계층에 전달하고, 상기 제2스레드가 상기 제2스트림 아이디와 상기 제2에포크 아이디를 갖는 제2쓰기요청을 생성하여 상기 호스트의 블록계층에 전달하는 단계; 및상기 블록계층이, 상기 제1쓰기요청을 기초로 상기 제1쓰기명령을 생성하여 상기 저장장치에 전송하고, 상기 제2쓰기요청을 기초로 상기 제2쓰기명령을 생성하여 상기 저장장치에 전송하는 단계;를 더 포함하는,쓰기 방법
|
8 |
8
제1항에 있어서,상기 제1쓰기명령을 상기 저장장치에게 전송하는 호스트와 상기 저장장치는 복수 개의 전송채널로 연결되어 있고,특정 {스트림 아이디, 에포크 아이디}를 갖는 모든 쓰기명령들은 상기 복수 개의 전송채널들 중 어느 하나의 전송채널만을 통해 전송되는 것을 특징으로 하는,쓰기 방법
|
9 |
9
제1항에 있어서,쓰기명령을 상기 저장장치에게 전송하는 호스트와 상기 저장장치는 복수 개의 전송채널로 연결되어 있고,상기 저장장치는, 타이머를 이용하여 타임아웃 제어부를 포함하며,상기 저장장치가, 제1전송채널을 통해 {제1스트림 아이디, 제6에포크 아이디}를 갖는 제3쓰기명령을 수신하면, 상기 타이머의 타임카운트를 미리 결정된 값으로 리셋하여 상기 타이머를 구동하는 단계;상기 저장장치가, 제2전송채널을 통해 {제1스트림 아이디, 제7에포크 아이디}를 갖는 제4쓰기명령을 수신하였을 때에, 상기 타임카운트가 소정의 기준값에 도달한 것이 확인된 경우에만 상기 제4쓰기명령을 실행하는 단계;를 포함하는,쓰기 방법
|
10 |
10
제9항에 있어서, 상기 저장장치는, 상기 타이머를 구동하는 단계 이후에 제1전송채널을 통해 {제1스트림 아이디, 제6에포크 아이디}를 갖는 다른 쓰기명령을 수신하면, 상기 타이머의 타임 카운트를 상기 미리 결정된 값으로 리셋하여 타이머를 재구동하도록 되어 있는, 쓰기 방법
|
11 |
11
제1항에 있어서,쓰기명령을 상기 저장장치에게 전송하는 호스트와 상기 저장장치는 복수 개의 전송채널로 연결되어 있고,상기 저장장치가, 제1전송채널을 통해 {제1스트림 아이디, 제7에포크 아이디}를 갖는 제4쓰기명령을 수신한 경우,상기 저장장치는, 상기 제4쓰기명령을 수신한 제1시점으로부터 미리 결정된 타임아웃 시간 이전의 시각인 제2시점 사이에, 제2전송채널을 통해 {제1스트림 아이디, 제6에포크 아이디}를 갖는 제3쓰기명령을 수신하지 않은 경우에만 상기 제3쓰기명령을 실행하도록 되어 있고,상기 제6에포크 아이디는 상기 제7에포크 아이디보다 쓰기 우선순위가 높은 값을 갖는,쓰기 방법
|
12 |
12
제1항에 있어서, 상기 {제1스트림 아이디, 제1에포크 아이디}를 갖는 한 세트의 쓰기명령들 중에서 가장 마지막에 발생한 쓰기명령은 배리어-명령인 것을 특징으로 하는, 쓰기 방법
|
13 |
13
콘트롤러; 및 메모리를 포함하는 저장장치로서,상기 콘트롤러는, 상기 저장장치가 수신한 제1쓰기명령과 제2쓰기명령 간의 실행순서를 결정하여, 상기 결정된 실행순서에 따라 상기 제1쓰기명령과 상기 제2쓰기명령을 실행하도록 되어 있고, 상기 제1쓰기명령은 {제1스트림 아이디, 제1에포크 아이디}를 갖는 제1스트림 식별정보를 포함하고,상기 제2쓰기명령은 {제2스트림 아이디, 제2에포크 아이디}를 갖는 제2스트림 식별정보를 포함하고,상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에는, 상기 실행순서는 상기 제1에포크 아이디와 상기 제2에포크 아이디를 서로 비교한 결과를 이용하지 않고 결정하도록 되어 있는,저장장치
|
14 |
14
제13항에 있어서, 상기 제1스트림 아이디와 상기 제2스트림 아이디가 동일한 경우에는, 상기 실행순서는 상기 제1에포크 아이디와 상기 제2에포크 아이디를 서로 비교한 결과를 이용하여 결정되도록 되어 있는, 저장장치
|
15 |
15
제13항에 있어서, 상기 제1쓰기명령은 {제2스트림 아이디, 제3에포크 아이디}를 갖는 제3스트림 식별정보를 더 포함하고,상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에, 상기 제1쓰기명령과 상기 제2쓰기명령 간의 실행순서는, 상기 제3에포크 아이디와 상기 제2에포크 아이디 간의 우선순위에 종속되는 것을 특징으로 하는,저장장치
|
16 |
16
제13항에 있어서, 상기 제1스트림 아이디와 상기 제2스트림 아이디가 서로 다른 경우에, 상기 제1에포크 아이디는 상기 제1쓰기명령과 상기 제2쓰기명령을 상기 저장장치에게 전송한 호스트에서 실행되는 제1스레드가 참조하는 제1에포크 카운터에 의해 생성된 것이고,상기 제2에포크 아이디는 상기 호스트에서 실행되는 제2스레드가 참조하는 제2에포크 카운터에 의해 생성된 것인,저장장치
|
17 |
17
제13항에 있어서,쓰기명령을 상기 저장장치에게 전송하는 호스트와 상기 저장장치는 복수 개의 전송채널로 연결되어 있고,상기 저장장치는, 타이머를 이용하여 타임아웃 제어부를 포함하며,상기 저장장치가, 제1전송채널을 통해 {제1스트림 아이디, 제6에포크 아이디}를 갖는 제3쓰기명령을 수신하면, 상기 타이머의 타임카운트를 미리 결정된 값으로 리셋하여 상기 타이머를 구동하는 단계를 실행하도록 되어 있고, 그리고 상기 저장장치가, 제2전송채널을 통해 {제1스트림 아이디, 제7에포크 아이디}를 갖는 제4쓰기명령을 수신하였을 때에, 상기 타임카운트가 소정의 기준값에 도달한 것이 확인된 경우에만 상기 제4쓰기명령을 실행하는 단계를 실행하도록 되어 있는,저장장치
|
18 |
18
콘트롤러; 및 메모리를 포함하며,상기 콘트롤러는, 수신된 제1쓰기명령, 제2쓰기명령, 및 제3쓰기명령 간의 실행순서를 결정하여, 상기 결정된 실행순서에 따라 상기 제1쓰기명령, 상기 제2쓰기명령, 및 상기 제3쓰기명령을 실행하는 단계를 실행하도록 되어 있으며,상기 제1쓰기명령은 {제1스트림 아이디, 제1에포크 아이디}를 갖는 제1스트림 식별정보 및 {제2스트림 아이디, 제3에포크 아이디}를 갖는 제3스트림 식별정보를 포함하고,상기 제2쓰기명령은 {제2스트림 아이디, 제2에포크 아이디}를 갖는 제2스트림 식별정보를 포함하고,상기 제3쓰기명령은 {제1스트림 아이디, 제4에포크 아이디}를 갖는 제4스트림 식별정보를 포함하며,상기 제3쓰기명령과 상기 제2쓰기명령간의 실행순서는, 상기 제3에포크 아이디와 상기 제2에포크 아이디 간의 우선순위, 그리고 상기 제1에포크 아이디와 상기 제4에포크 아이디 간의 우선순위에 의해 결정되는,저장장치
|
19 |
19
제18항에 있어서, 상기 제1에포크 아이디와 상기 제3에포크 아이디의 우선순위는 서로 동일한, 저장장치
|