80 likes | 258 Views
P / O / W / E / R / P / O / I / N / T. ’12 졸업 프로젝트. 2006011790 경 능 현. 2008012283 권 정 임. Structure of CMFS. BPRAM Processing. PLAN. Contents. Structure of CMFS. 왜 CMFS 를 써야 하는가 ?. NAND Flash Memory . Non in-place. Erasing!!. Size. Price. BPRAM . Overwrite. Durability.
E N D
P / O / W / E / R / P / O / I / N / T ’12 졸업 프로젝트 2006011790 경 능 현 2008012283 권 정 임
Structure of CMFS • BPRAM Processing • PLAN Contents
Structure of CMFS 왜 CMFS를 써야 하는가? NAND Flash Memory Non in-place Erasing!! Size Price BPRAM Overwrite Durability Byte-addressible Speed Size Price CMFS
Structure of CMFS 기존 파일시스템의 문제점 - NAND Flash 1GB당 32MB의 BPRAM이 필요 - 현재 recovery method를 제공하지 않음 - 만약 시스템이 비정상 종료된다면, NAND Flash 전체를 scanning하는 과정이 필요 CMFSMetadata의 저장 방식 CMFS_validitymaker CMFS_device LZO algorithm CMFS_object Hybrid algorithm
BPRAM Processing FRAM의 구조 Bpram_part_info FRAM의 partition에는 24B의 고정된 크기의 part_info를 갖는다. 20B의 고정된 크기를 가지며, partition에 저장되어 있는 data의 valid / invalid 여부를 판단한다. CMFS_validitymaker file마다 하나씩 존재한다. Mapping 정보, data 자료구조를 압축하여 보관한다. 따라서 NAND Flash 메모리에 저장된 data에 따라 가변적인 크기를 갖는다. CMFS_object free page의 수, allocated page의 수 등 partition의 통계적인 정보를 저장한다. 이는 partition의 크기에 따라 유동적이기 때문에 그 크기를 정확히 알 수 없다. 따라서 CMFS_device를 저장하기 전에 CMFS_obj_header를 저장하여 CMFS_object에 접근할 수 있도록 한다 CMFS_device
BPRAM Processing CMFS_object의 할당 Double linked list BPRAM의 마지막에 동적으로 할당하여 기존 마지막 object의 link와 추가된 object를 연결 추 가 삭 제 삭제하는 object를 double linked list에서 제거하고, vaild를 0으로 setting 새로운 공간에 object를 추가하고, 수정하는 object의 link를 추가된 object와 적절하게 연결한다. 이때 수정되는 object의 vaild를 0으로 setting 수 정
Project PLAN ~ 4. 13 ~ 5. 16 ~ 6. 27 • CMFS의 구조 분석 • BPRAM 소스 분석 • 환경구축 • 버디 소스 분석 • 대체 알고리즘 구상 • 중간 보고 • (5. 25) • 2. 구현 • 3. 성능 비교 보고서 작성 및 평가 5. 25 : 중간 보고 (중간보고서 제출) 8. 24 : 1차 심사 10. 26 : 하위작 심사 11. 16 : 결과보고서 제출