본문 바로가기

Job Notes/File System

YAFFS Mount Processing


사용자 삽입 이미지

YAFFS Mount Processing


위 그림은 YAFFS Mount processing을 Flowchart로 나타낸 것입니다.

        Check & Initialization

주어진 YAFFS Device의 기본적인 멤버 값들을 검사하고, 추가적으로 멤버 값들을 초기화하고 계산합니다.

        CheckPoint Restore

YAFFS2이면 CheckPoint의 유무를 확인하고 CheckPoint가 있으면 이를 사용하고, CheckPoint가 없거나 YAFFS1이면 NAND Flash 전체를 Scan합니다.

CheckPoint란 mount 시간을 줄이기 위해 FileSystem 동작 시 사용되는 Device와 Object를 NAND flash에 저장한 것입니다. 이후 mount 시 NAND flash를 scan 대신 CheckPoint를 읽어옵니다.

        Scan

YAFFS1이거나 YAFFS2에서 CheckPoint가 없을 시 NAND flash를 전체 scan하여 File system에 저장된 Object를 모두 불러와서 Object list를 생성합니다. 전체 flash 영역의 tag와 chunk 0번(Object Header)을 읽어와 Object를 생성하고 그것들의 list를 만듭니다.