1 |
1
복수의 블록을 포함하는 불휘발성 메모리 장치의 데이터 관리 방법에 있어서,제 1 블록에 대한 읽기 명령을 수신하는 단계;상기 제 1 블록의 읽기 횟수를 나타내는 블록 읽기 카운트를 기준 값과 비교하는 단계;상기 비교 결과에 기초하여 상기 제 1 블록의 논리 페이지들 중 적어도 하나의 페이지 읽기 정보를 갱신하는 단계;상기 갱신된 페이지 읽기 정보에 기초하여 상기 적어도 하나의 논리 페이지의 속성을 결정하는 단계;상기 결정된 속성에 따라 상기 적어도 하나의 논리 페이지를 선택적으로 제 2 블록에 프로그램하는 단계; 및상기 프로그램 후에, 상기 적어도 하나의 논리 페이지와 대응하는(corresponding) 물리 주소를 나타내는 매핑 테이블을 업데이트하는 단계를 포함하되,상기 페이지 읽기 정보는 상기 적어도 하나의 논리 페이지의 읽기 횟수를 나타내는 페이지 읽기 카운트를 포함하고,상기 제 1 블록의 논리 페이지들은 상기 제 1 블록의 논리 페이지들 각각의 페이지 읽기 카운트의 크기 순서에 따라 제 1 그룹 또는 제 2 그룹으로 구분되고,상기 불휘발성 메모리 장치는 상기 제 1 블록의 블록 읽기 카운트 및 상기 제 1 그룹에 속한 논리 페이지들 각각의 페이지 읽기 카운트들을 저장하기 위한 읽기 카운트 테이블을 포함하는 데이터 관리 방법
|
2 |
2
제 1 항에 있어서, 상기 제 1 블록에 대한 읽기 명령을 수신하는 단계는,상기 제 1 블록에 대한 읽기 명령에 응답하여, 상기 블록 읽기 카운트를 증가시키는 단계를 포함하는 데이터 관리 방법
|
3 |
3
삭제
|
4 |
4
삭제
|
5 |
5
제 1 항에 있어서,상기 페이지 읽기 정보를 갱신하는 단계는,상기 블록 읽기 카운트가 상기 기준 값을 초과하면, 상기 제 1 블록에 대한 읽기 명령에 응답하여, 상기 페이지 읽기 카운트를 증가시키는 단계를 포함하는 데이터 관리 방법
|
6 |
6
제 5 항에 있어서,상기 제 1 블록에 대한 읽기 명령은 상기 적어도 하나의 논리 페이지에 대한 읽기 명령을 포함하는 데이터 관리 방법
|
7 |
7
제 5 항에 있어서,상기 적어도 하나의 논리 페이지의 속성을 결정하는 단계는,상기 페이지 읽기 카운트가 문턱 값(threshold value)보다 크면, 상기 적어도 하나의 논리 페이지의 속성을 핫페이지로 결정하는 단계를 포함하는 데이터 관리 방법
|
8 |
8
제 5 항에 있어서,상기 페이지 읽기 정보는 상기 적어도 하나의 논리 페이지의 상대적인 읽기 빈도를 나타내는 읽기 페이스(read pace)를 포함하고,상기 페이지 읽기 정보를 갱신하는 단계는,상기 페이지 읽기 카운트에 따라 상기 읽기 페이스를 산출하는 단계를 포함하되,상기 읽기 페이스는 수학식 〔읽기 페이스(read pace) 〓 페이지 읽기 카운트 ÷ (제 1 블록의 현재 논리적 읽기 시간) ― 제 1 블록의 초기 논리적 읽기 시간)〕에 의해 정의되는 데이터 관리 방법
|
9 |
9
제 8 항에 있어서,상기 적어도 하나의 논리 페이지의 속성을 결정하는 단계는,상기 산출된 읽기 페이스가 문턱 값(threshold value)보다 크면, 상기 적어도 하나의 논리 페이지의 속성을 핫페이지로 결정하는 단계를 포함하는 데이터 관리 방법
|
10 |
10
제 9 항에 있어서,상기 적어도 하나의 논리 페이지의 속성을 결정하는 단계는,상기 산출된 읽기 페이스를 참조하여, 상기 적어도 하나의 논리 페이지의 보정된 읽기 페이스를 산출하는 단계; 및상기 보정된 읽기 페이스가 문턱 값(threshold value)보다 크면, 상기 적어도 하나의 논리 페이지의 속성을 핫페이지로 결정하는 단계를 포함하되,상기 보정된 읽기 페이스는 〔보정된 읽기 페이스 〓 산출된 읽기 페이스 ― α×평균 읽기 페이스)〕에 의해 정의되고,상기 평균 읽기 페이스는 상기 제 1 블록에 포함된 논리 페이지들 각각의 읽기 페이스들의 평균을 의미하고, 상기 α는 0 이상의 실수인 데이터 관리 방법
|
11 |
11
삭제
|
12 |
12
제 1 항에 있어서,상기 페이지 읽기 정보를 갱신하는 단계는,상기 제 1 블록에 대한 읽기 명령에 따라 읽어낼 페이지(이하, 대상 페이지라 함)가 상기 제 2 그룹에 포함되는지 판단하는 단계;상기 판단 결과에 따라 상기 제 1 블록의 논리 페이지들의 평균 페이지 읽기 카운트를 상기 대상 페이지의 페이지 읽기 카운트로 결정하는 단계;상기 대상 페이지의 페이지 읽기 카운트를 상기 제 1 그룹의 최소 페이지 읽기 카운트와 비교하는 단계; 및상기 최소 페이지 읽기 카운트와의 비교 결과에 따라 상기 대상 페이지를 상기 제 1 그룹으로 결정하는 단계를 포함하는 데이터 관리 방법
|
13 |
13
제 1 항에 있어서,상기 적어도 하나의 논리 페이지를 선택적으로 제 2 블록에 프로그램하는 단계는,상기 적어도 하나의 논리 페이지의 페이지 읽기 정보를 참조하여 상기 적어도 하나의 논리 페이지의 읽기 우선 순위를 결정하는 단계; 상기 읽기 우선 순위에 따라 상기 제 2 블록을 상기 프로그램을 위해 할당하는 단계; 및상기 적어도 하나의 논리 페이지를 상기 할당된 제 2 블록에 프로그램하는 단계를 포함하는 데이터 관리 방법
|
14 |
14
제 13 항에 있어서,상기 적어도 하나의 논리 페이지는 상기 할당된 제 2 블록의 스페어(spare) 페이지에 프로그램되는 데이터 관리 방법
|
15 |
15
제 1 항에 있어서,상기 매핑 테이블을 업데이트하는 단계는,상기 적어도 하나의 논리 페이지의 상기 대응하는 물리 주소가 상기 적어도 하나의 논리 페이지가 프로그램된 상기 제 2 블록의 물리 페이지를 가리키도록 상기 매핑 테이블을 업데이트하는 단계를 포함하는 데이터 관리 방법
|
16 |
16
제 15 항에 있어서,상기 매핑 테이블을 업데이트 하는 단계는,상기 적어도 하나의 논리 페이지가 저장된 상기 제 1 블록의 물리 페이지를 무효화(invalidation)하는 단계를 더 포함하는 데이터 관리 방법
|