1 |
1
복수의 페이지로 구성된 메모리 블록을 복수 개 포함하는 비휘발성 메모리;데이터 페이지를 모니터링하여 업데이트 연산이 일어나지 않은 동결 페이지(frozen page) 여부를 판단하고, 상기 비휘발성 메모리에 쓰기(write) 요청할 페이지가 동결 페이지인 경우, 동결 상태를 의미하는 플래그를 포함하는 쓰기 요청을 전송하는 호스트;상기 호스트로부터 수신한 쓰기 요청에 동결 상태를 의미하는 플래그가 포함된 경우, 해당 페이지를 동결 블록(frozen block)에 저장하는 컨트롤러를 포함하는, 비휘발성 메모리 장치의 데이터 관리 시스템
|
2 |
2
제1항에 있어서,상기 비휘발성 메모리는, 업데이트 연산이 일어나는 데이터(data)를 저장하는 노멀 블록(normal block), 업데이트 연산이 일어나지 않은 동결 페이지(frozen page)를 저장하는 동결 블록(frozen block)을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 관리 시스템
|
3 |
3
제1항에 있어서,상기 호스트는, 데이터베이스 엔진의 스키마나 트랜잭션 로직에 기반하여 동결 페이지 여부를 판단하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 관리 시스템
|
4 |
4
제1항에 있어서,상기 컨트롤러는, 상기 쓰기 요청에 동결 상태를 의미하는 플래그가 포함된 경우, 상기 비휘발성 메모리의 동결 블록에 프리 페이지 존재 여부를 판단하고, 프리 페이지가 존재하는 경우 동결 페이지를 동결 블록에 저장하며, 프리 페이지가 존재하지 않은 경우 상기 동결 블록을 제외한 블록을 대상으로 가비지-콜렉션을 수행하여, 희생 블록을 선정 후 프리 블록을 생성하고, 상기 생성된 프리 블록을 동결 블록으로 할당하여 동결 페이지를 저장하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 관리 시스템
|
5 |
5
제1항에 있어서,상기 컨트롤러는, 동결 페이지로 잘못 판단된 거짓 동결 페이지(False Frozen Page)에 대해, 상기 동결 블록에 기록한 후, 다시 쓰기가 발생한 경우, 상기 거짓 동결 페이지를 상기 동결 블록에 기록한 후 이전 기록을 무효화(invalidation)하고, 필요시 가비지 컬렉션 정책에 따라 동결 블록을 대상으로 가비지-컬렉션(garbage collection)을 수행하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 관리 시스템
|
6 |
6
호스트가 비휘발성 메모리에 기록하고자 하는 페이지의 동결 페이지 여부를 판단하여, 컨트롤러로 쓰기 요청하는 단계;상기 컨트롤러는 상기 쓰기 요청에 동결 상태를 의미하는 플래그가 존재하는지를 판단하는 단계;상기 컨트롤러는 상기 쓰기 요청에 동결 상태를 의미하는 플래그가 존재하는 경우 비휘발성 메모리의 동결 블록에 해당 페이지를 저장하고, 동결 상태를 의미하는 플래그가 존재하지 않은 경우 상기 비휘발성 메모리의 일반 블록에 상기 페이지를 저장하는 단계를 포함하는 비휘발성 메모리 장치의 데이터 관리 방법
|
7 |
7
제6항에 있어서,상기 쓰기 요청에 동결 상태를 의미하는 플래그가 존재하는 경우 비휘발성 메모리의 동결 블록에 해당 페이지를 저장하는 단계는,상기 비휘발성 메모리의 동결 블록에 프리 페이지가 존재하는지 판단하는 단계;프리 페이지가 존재하는 경우, 상기 동결 페이지를 동결 블록에 저장하고, 프리 페이지가 존재하지 않은 경우, 상기 동결 블록을 제외한 블록을 대상으로 가비지-콜렉션을 수행하여, 희생 블록을 선정 후 프리 블록을 생성하고, 상기 생성된 프리 블록을 동결 블록으로 할당하여 동결 페이지를 저장하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 관리 방법
|
8 |
8
제6항에 있어서, 상기 쓰기 요청에 동결 상태를 의미하는 플래그가 존재하지 않은 경우 상기 비휘발성 메모리의 일반 블록에 상기 페이지를 저장하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 관리 방법
|