1 |
1
호스트에 연결되는 플래시 저장 장치로서,플래시 매체,상기 호스트의 캐시로부터 방출되는 더티 페이지를 저장하는 버퍼, 그리고상기 호스트로부터의 메시지에 기초해서 상기 버퍼의 향후 사용량을 추정하고, 상기 향후 사용량과 임계값을 비교한 결과에 기초해서 상기 버퍼에서 상기 플래시 매체로의 방출 전략을 선택하는 컨트롤러를 포함하며,상기 컨트롤러는 백그라운드 작업으로 상기 버퍼를 방출하는 제1 방출 전략과 포그라운드 작업으로 상기 버퍼를 방출하는 제2 방출 전략을 포함하는 복수의 방출 전략 중에서 상기 방출 전략을 선택하는 플래시 저장 장치
|
2 |
2
제1항에서,상기 임계값은 제1 임계값을 포함하고,상기 컨트롤러는 상기 향후 사용량이 상기 제1 임계값보다 낮은 경우 상기 제1 방출 전략을 선택하고, 상기 향후 사용량이 상기 제1 임계값보다 높은 경우 상기 제2 방출 전략을 선택하는플래시 저장 장치
|
3 |
3
제2항에서,상기 임계값은 상기 제1 임계값보다 낮은 제2 임계값을 더 포함하며,상기 제2 방출 전략을 선택한 경우, 상기 컨트롤러는 상기 버퍼의 현재 사용량이 상기 제2 임계값보다 낮아질 때까지 상기 버퍼를 방출하는 플래시 저장 장치
|
4 |
4
제1항에서,상기 컨트롤러는 상기 호스트의 캐시에서 방출될 더티 페이지의 수에 기초해서 상기 향후 사용량을 추정하는 플래시 저장 장치
|
5 |
5
제4항에서,상기 컨트롤러는 상기 호스트의 캐시에서 방출될 더티 페이지의 수 및 상기 버퍼의 현재 사용량에 기초해서 상기 향후 사용량을 추정하는 플래시 저장 장치
|
6 |
6
제4항에서,상기 메시지는 페이지 희생과 관련된 입출력(input/output, I/O) 요청을 포함하며,상기 컨트롤러는 상기 I/O 요청으로부터 상기 호스트의 캐시에서 방출될 더티 페이지의 수를 획득하는플래시 저장 장치
|
7 |
7
제1항에서,상기 컨트롤러는 셀 레벨에 기초해서 상기 플래시 매체의 복수의 페이지를 복수의 페이지 그룹으로 그룹화하고,상기 복수의 페이지 그룹은 제1 페이지 그룹과 적어도 하나의 제2 페이지 그룹을 포함하며, 상기 제1 페이지 그룹은 LSB(least significant bit) 페이지로 그룹화되어 있는상기 제2 방출 전략이 선택된 경우, 상기 컨트롤러는 상기 제1 페이지 그룹에서 상기 버퍼로부터 방출되는 페이지를 수용하기 위한 빈 페이지를 선택하는플래시 저장 장치
|
8 |
8
제7항에서,상기 플래시 매체는 복수의 플래시 메모리 단위를 포함하며,상기 컨트롤러는 서로 다른 플래시 메모리 단위에서 상기 빈 페이지를 선택하는플래시 저장 장치
|
9 |
9
제8항에서,상기 플래시 메모리 단위는 플래시 다이(die)인, 플래시 저장 장치
|
10 |
10
제7항에서,상기 제1 방출 전략이 선택된 경우, 상기 컨트롤러는 상기 제2 페이지 그룹에서 상기 버퍼로부터 방출되는 페이지를 수용하기 위한 빈 페이지를 우선적으로 선택하고, 상기 제2 페이지 그룹에서 빈 페이지를 사용할 수 없는 경우 상기 제1 페이지 그룹에서 상기 버퍼로부터 방출되는 페이지를 수용하기 위한 빈 페이지를 선택하는, 플래시 저장 장치
|
11 |
11
제1항에서,상기 메시지는 상기 호스트로부터의 명령이며,상기 명령은 상기 캐시로부터 방출된 더티 페이지의 수에 대한 정보를 포함하는플래시 저장 장치
|
12 |
12
제1항에서,상기 컨트롤러는 I/O 요청의 서비스를 완료한 후에 상기 호스트로 완료 메시지를 전달하고,상기 완료 메시지는 상기 버퍼의 현재 사용량에 대한 정보를 포함하는플래시 저장 장치
|
13 |
13
호스트에서 플래시 저장 장치로 캐시의 페이지 희생을 스케줄링하는 방법으로서,제1 세트의 임계값과 상기 제1 세트의 임계값보다 높은 값을 가지는 제2 세트의 임계값을 포함하는 복수의 세트의 임계값 중에서 상기 제1 세트의 임계값을 상기 캐시를 위한 임계값으로 설정하는 단계,상기 제1 세트의 임계값에 기초해서 상기 캐시의 더티 페이지의 플러시를 결정하는 단계,상기 플래시 저장 장치로부터 상기 플래시 저장 장치의 내부 버퍼에 대한 제1 정보를 수신하는 경우, 상기 제2 세트의 임계값을 상기 캐시를 위한 임계값으로 설정하는 단계, 그리고상기 제2 세트의 임계값에 기초해서 상기 캐시의 더티 페이지의 플러시를 결정하는 단계를 포함하는 방법
|
14 |
14
제13항에서,각 세트의 임계값은 제1 임계값과 상기 제1 임계값보다 낮은 제2 임계값을 포함하며,상기 제1 세트의 임계값에 기초해서 상기 캐시의 더티 페이지의 플러시를 결정하는 단계는,상기 캐시의 더티 페이지 비율이 상기 제1 임계값보다 높은 경우, 포그라운드 작업으로 상기 더티 페이지를 플러시하는 단계, 그리고상기 캐시의 더티 페이지 비율이 상기 제1 임계값보다 낮고 상기 제2 임계값보다 높은 경우, 백그라운드 작업으로 상기 더티 페이지를 플러시하는 단계를 포함하는 방법
|
15 |
15
제13항에서,상기 제1 정보는 상기 내부 버퍼의 사용량이 제3 임계값보다 높다는 정보를 포함하는 방법
|
16 |
16
제15항에서,상기 플래시 저장 장치로부터 상기 내부 버퍼에 대한 제2 정보를 수신하는 경우, 상기 제1 세트의 임계값을 상기 캐시를 위한 임계값으로 설정하는 단계를 더 포함하는 방법
|
17 |
17
제16항에서,상기 제2 정보는 상기 내부 버퍼의 사용량이 상기 제3 임계값보다 낮은 제4 임계값보다 낮다는 정보를 포함하는 방법
|
18 |
18
제13항에서,상기 플래시 저장 장치로부터 I/O 요청의 서비스의 완료에 따른 완료 메시지를 수신하는 단계를 더 포함하며,상기 완료 메시지가 상기 제1 정보를 포함하는 방법
|
19 |
19
플래시 저장 장치에 의해 실행되며, 기록 매체에 저장되어 있는 프로그램으로서,상기 프로그램은, 상기 플래시 저장 장치가,상기 호스로부터의 메시지에 기초해서 상기 플래시 저장 장치의 버퍼의 향후 사용량을 추정하는 처리, 그리고 상기 향후 사용량과 임계값을 비교한 결과에 기초해서, 백그라운드 작업으로 상기 버퍼를 방출하는 제1 방출 전략과 포그라운드 작업으로 상기 버퍼를 방출하는 제2 방출 전략을 포함하는 복수의 방출 전략 중에서, 상기 버퍼에서 상기 플래시 저장 장치의 플래시 매체로의 방출 전략을 선택하는 처리를 실행하도록 하는 프로그램
|
20 |
20
컴퓨팅 장치에 의해 실행되며, 기록 매체에 저장되어 있는 프로그램으로서,상기 프로그램은, 상기 컴퓨팅 장치가,제1 세트의 임계값과 상기 제1 세트의 임계값보다 높은 값을 가지는 제2 세트의 임계값을 포함하는 복수의 세트의 임계값 중에서 상기 제1 세트의 임계값을 상기 컴퓨팅 장치의 캐시를 위한 임계값으로 설정하는 처리,상기 제1 세트의 임계값에 기초해서 상기 캐시의 더티 페이지의 플러시를 결정하는 처리,플래시 저장 장치로부터 상기 플래시 저장 장치의 내부 버퍼에 대한 제1 정보를 수신하는 경우, 상기 제2 세트의 임계값을 상기 캐시를 위한 임계값으로 설정하는 처리, 그리고상기 제2 세트의 임계값에 기초해서 상기 캐시의 더티 페이지의 플러시를 결정하는 처리를 실행하도록 하는 프로그램
|