1 |
1
비휘발성 메모리를 포함하는 스토리지 장치의 동작 방법으로서,호스트로부터 제1 기입 커맨드를 수신하는 단계; 상기 제1 기입 커맨드를 기초로 상기 제1 기입 커맨드에 대한 제1 기입 데이터가 기입 요청된 순서에 따라서 기입될 것이 요구되는 순차 데이터인지 여부를 판단하는 단계; 상기 제1 기입 데이터를 상기 비휘발성 메모리에 기입하는 단계; 및상기 제1 기입 데이터 및 제2 기입 커맨드에 대한 제2 기입 데이터가 상기 순차 데이터이면, 상기 제1 기입 데이터에 대한 논리 주소와 물리 주소간의 맵핑 관계를 포함하는 제1 맵핑 데이터 및 상기 제2 기입 데이터에 대한 제2 맵핑 데이터를, 상기 제1 기입 커맨드 및 상기 제2 기입 커맨드가 수신된 순서에 따라서 차례로 업데이트하는 단계를 포함하는 방법
|
2 |
2
제1 항에 있어서, 상기 호스트로부터 상기 순차 데이터가 저장될 제1 주소 영역에 대한 정보를 수신하는 단계를 더 포함하고,상기 판단하는 단계는,상기 제1 기입 커맨드에 포함되어 수신되는 상기 제1 데이터에 대한 상기 논리 주소가 상기 제1 주소 영역에 포함되는지를 기초로 상기 제1 기입 데이터가 상기 순차 데이터인지 여부를 판단하는 단계를 포함하는 방법
|
3 |
3
제2 항에 있어서, 제1 주소 영역에 대한 정보는, 상기 제1 주소 영역을 나타내는 논리 주소에 대한 정보를 포함하는 것을 특징으로 하는 방법
|
4 |
4
제2 항에 있어서, 제1 주소 영역에 대한 정보는, 상기 호스트로부터 수신되는 설정 커맨드에 포함되어 수신되는 것을 특징으로 하는 방법
|
5 |
5
제1 항에 있어서, 상기 판단하는 단계는,상기 제1 기입 커맨드에 포함되는 제1 플래그 비트의 값을 기초로 상기 제1 기입 데이터가 상기 순차 데이터인지 여부를 판단하는 단계를 포함하는 방법
|
6 |
6
제1 항에 있어서, 상기 업데이트하는 단계는, 상기 제1 맵핑 데이터를 상기 비휘발성 메모리에 기입하는 단계를 포함하는 방법
|
7 |
7
제1 항에 있어서, 상기 업데이트하는 단계는, 상기 제1 맵핑 데이터를 상기 스토리지 장치 내의 별도의 비휘발성 저장 영역에 기입하는 단계를 포함하는 방법
|
8 |
8
제1 항에 있어서, 상기 업데이트하는 단계는, 상기 제1 기입 데이터에 대한 프로그램 완료 신호를 수신하는 단계; 및상기 프로그램 완료 신호가 수신되면, 상기 제1 기입 커맨드 및 상기 제2 기입 커맨드가 수신된 순서에 기초하여, 상기 제1 맵핑 데이터의 업데이트를 결정하는 단계를 포함하는 방법
|
9 |
9
제8 항에 있어서, 상기 제1 맵핑 데이터의 업데이트를 결정하는 단계는,상기 제1 기입 커맨드가 상기 제2 기입 커맨드보다 먼저 수신된 경우, 또는상기 제2 기입 커맨드가 상기 제1 기입 커맨드보다 먼저 수신되고 상기 제2 맵핑 데이터가 업데이트된 경우, 상기 제1 맵핑 데이터를 업데이트하고,상기 제2 기입 커맨드가 상기 제1 기입 커맨드보다 먼저 수신되고 상기 제2 맵핑 데이터가 업데이트되지 않은 경우, 상기 제1 맵핑 데이터의 업데이트를 지연시키는 것을 특징으로 하는 방법
|
10 |
10
비휘발성 메모리를 포함하는 스토리지 장치의 동작 방법에 있어서,호스트로부터 제1 기입 커맨드, 제1 논리 주소 및 제1 기입 데이터를 수신하는 단계; 상기 제1 기입 커맨드의 제1 플래그 비트를 기초로, 상기 제1 기입 데이터가 순차 데이터인지 여부를 판단하는 단계; 상기 제1 기입 데이터를 제1 물리 주소에 대응하는 상기 비휘발성 메모리의 제1 영역에 프로그램하는 단계; 및상기 제1 기입 데이터에 대한 상기 제1 논리 주소와 상기 제1 물리 주소 간의 맵핑 관계를 포함하는 제1 맵핑 데이터를 업데이트하는 단계를 포함하고, 상기 업데이트하는 단계는, 상기 제1 기입 커맨드 이전에 수신된 제2 기입 커맨드에 대한 제2 기입 데이터가 상기 순차 데이터이면, 상기 제2 기입 데이터에 대한 제2 맵핑 데이터를 업데이트한 후, 상기 제1 맵핑 데이터를 업데이트하는 것을 특징으로 하는 방법
|
11 |
11
제10 항에 있어서, 상기 업데이트하는 단계는, 상기 제1 기입 데이터의 프로그램이 완료되면, 상기 제1 맵핑 데이터를 업데이트하는 것을 특징으로 하는 방법
|
12 |
12
제10 항에 있어서, 상기 업데이트하는 단계는, 상기 제1 맵핑 데이터를 상기 비휘발성 메모리 또는 별도의 비휘발성 저장 영역에 기입하는 것을 특징으로 하는 방법
|
13 |
13
제10 항에 있어서, 상기 제1 논리 주소가 미리 설정된 제1 주소 영역에 포함되는지 여부를 기초로 상기 제1 기입 데이터가 순차 데이터인지 여부를 판단하는 단계를 더 포함하는 방법
|
14 |
14
비휘발성 메모리를 포함하는 스토리지 장치의 동작 방법에 있어서, 호스트로부터 제1 주소 영역에 대한 정보를 수신하는 단계;상기 호스트로부터 제1 기입 주소를 포함하는 제1 기입 커맨드 및 상기 제1 기입 커맨드에 대한 제1 기입 데이터를 수신하는 단계; 상기 제1 주소 영역에 대한 정보 및 상기 제1 기입 주소를 기초로 상기 제1기입 데이터가 기입 요청된 순서에 따른 기입 순서 보장이 요구되는 순차 데이터인지 여부를 판단하는 단계; 및상기 제1 기입 데이터 및 제2 기입 커맨드에 대한 제2 기입 데이터가 상기 순차 데이터이면, 상기 제1 기입 커맨드 및 상기 제2 기입 커맨드가 수신된 순서에 기초하여, 상기 제1 기입 데이터에 대한 제1 주소 맵핑 데이터 및 상기 제2 기입 데이터에 대한 제2 주소 맵핑 데이터를 업데이트하는 단계를 포함하는 방법
|
15 |
15
제14 항에 있어서, 제1 주소 영역에 대한 정보는, 상기 제1 주소 영역을 나타내는 논리 주소에 대한 정보를 포함하는 것을 특징으로 하는 방법
|
16 |
16
제14 항에 있어서, 상기 업데이트하는 단계는, 상기 제1 기입 커맨드가 상기 제2 기입 커맨드 이전에 수신된 경우, 상기 제1 주소 맵핑 데이터를 상기 제2 기입 데이터에 대한 제2 주소 맵핑 데이터 이전에 업데이트하는 단계; 및상기 제1 기입 커맨드가 상기 제2 기입 커맨드 이후에 수신된 경우, 상기 제1 주소 맵핑 데이터를 상기 제2 주소 맵핑 데이터 이후에 업데이트하는 단계를 포함하는 것을 특징으로 하는 방법
|
17 |
17
비휘발성 메모리; 및 상기 비휘발성 메모리에 대한 엑세스를 제어하는 컨트롤러를 포함하고,상기 컨트롤러는, 호스트로부터 수신되는 제1 기입 커맨드를 기초로 상기 제1 기입 커맨드에 대한 제1 기입 데이터가 순차 데이터인지 판단하는 커맨드 분류 모듈; 및상기 제1 기입 데이터가 순차 데이터라고 판단되면, 다른 순차 데이터에 대응하는 다른 기입 커맨드 및 상기 제1 기입 커맨드가 상기 호스트로부터 수신된 순서에 기초하여, 상기 제1 기입 데이터에 대한 논리-물리 주소 맵핑 데이터의 업데이트 순서를 결정하는 맵핑 매니저를 포함하는 스토리지 장치
|
18 |
18
제17 항에 있어서, 상기 분류 모듈은,상기 제1 기입 커맨드에 포함되어 수신되는 제1 논리 주소가 미리 설정된 제1 주소 영역에 포함되면, 상기 제1 기입 데이터가 상기 순차 데이터라고 판단하는 것을 특징으로 하는 스토리지 장치
|
19 |
19
제17 항에 있어서, 상기 분류 모듈은,상기 제1 기입 커맨드에 포함되어 수신되는 플래그 비트의 값이 제1 값이면 상기 제1 기입 데이터가 상기 순차 데이터라고 판단하는 것을 특징으로 하는 스토리지 장치
|
20 |
20
제17 항에 있어서, 상기 맵핑 매니저는,상기 제1 기입 커맨드가 상기 다른 기입 커맨드 이후에 수신된 경우, 상기 다른 순차 데이터에 대한 상기 논리-물리 주소 맵핑 데이터가 업데이트된 후, 상기 제1 기입 데이터에 대한 상기 논리-물리 주소 맵핑 데이터가 업데이트 되도록 상기 업데이트 순서를 결정하는 것을 특징으로 하는 스토리지 장치
|