본문 바로가기

Job Notes/File System

(45)
Understanding the Flash Translation Layer (FTL) Specification Understanding the Flash Translation Layer (FTL) Specification CONTENTS 1.0 INTRODUCTION 2.0 OVERVIEW OF FLASH TRANSLATION LAYER 2.1 Virtual Block Device 2.2 Flash Technology 3.0 ERASE UNITS 3.1 Erase Unit Header 3.1.1 Flags 3.2 Block Allocation Information 3.3 Block Allocation Map 4.0 VERIFY FTL PARTITION 5.0 VIRTUAL BLOCK MAP–VIRTUAL-TO-LOGICAL MAPPING 5.1 First Virtual Mapped Address 6.0 VIRTU..
SD Card 64Mbyte FAT32 구조 Sec.No Num 0 MBR (Master Boot Record) 1 1~15 MBR Reserved Sector 15 0(16) PBR (Partition Boot Record) 1 1(17) FileSyste Information 1 2~5 PBR Reserved Sector 4 6(22) PBR Backup 1 7~31 PBR Reserved Sector 25 32~983 FAT 952 984~1935 Backup FAT 952 1936~ Directory & File Data
[펌] FAT 구조 파악 및 ATAPI 명령의 개요 MBR(Master Boot Record)은 PC에서 사용되는 포맷된 하드디스크 드라이브의 첫 번째 섹터의 내용을 말한다. 리눅스를 인스톨하거나 멀티부트를 시도해 본 사람이라면 자주 접해보았던 용어일 것이다. MBR은 CHS (cylinder Head Sector) 어드레스로 헤드=0, 실린더=0, 섹터=1 위치에 존재한다. 이 어드레스는 LBA(Linear Block Address)로는 0에 해당된다. MBR은 부팅에 필요한 실행 코드와 디스크의 파티션에 대한 정보를 1섹터(512바이트) 크기 내에 저장하고 있다. 지난 호에 소개했던 READ SECTORS 명령을 사용해 MBR을 읽어보기로 하겠다. 마스터 부트 레코드 우선 포맷된 하드디스크를 보드에 연결한 후 ata.c를 컴파일한 ata.hex 파일을..
(10) 파일 엑세스 FAT32 이해하기의 마지막 단계인 [파일 엑세스] 부분입니다. 이전의 내용으로 미루어 볼 때, MP3 파일은 클러스터 영역에 존재한다는 것을 알았습니다. (이제 당연한 얘기겠죠?^^) 그런데 MP3 파일이 클러스터에 일렬로 쭉~ 존재하는 것은 아닙니다. 만약에 MP3 파일이 클러스터에 일렬로 쭉~ 존재한다면 MP3 데이터의 시작 클러스터만 알아내고 클러스터 주소를 1씩 증가시키면 쉽게 MP3 파일을 끝부분까지 읽을 수 있을 것입니다. 하지만 MP3 파일은 클러스터에 띄엄띄엄 존재합니다. 정확히 말하면 MP3 데이터가 쭉~ 이어질 수도 있고, 이어지다가 몇 개의 클러스터를 건너띄고 이어질 수도 있습니다. 예를 들면, 1. MP3 데이터가 클러스터에 사슬처럼 쭉~ 이어진 경우는 -> SD카드를 깨끗이 포맷..
(9) 루트 디렉토리 FAT32 구조 [MBR] + [예약된 공간] + [PBR] + [예약된 공간]+ [FAT #1] + [FAT #2] + [클러스터] =================================================================>===========> 위의 파란색 화살표 부분이 현재까지의 진행 상황을 나타냅니다.^^ 앞 부분에서 [FAT #1]과 [FAT #2]에 대한 설명이 부족했지만, [클러스터] 영역으로 접근하는 수식은 PBR영역의 Volume ID 정보를 통해 쉽게 계산할 수 있습니다. 그럼 이제 [클러스터] 영역에 존재하는 루트 디렉토리에 대해 알아보겠습니다.^^ (SD메모리에 노래 2곡을 저장해 놓았는데, 파일이름은 ABBA.mp3와 MORNING.mp3 입니다.) 루트..
(8) FAT 엔트리 우선 지금까지의 내용을 간단히 정리해보겠습니다.^^ FAT32의 속내용만 파악하다 보니, FAT32의 전체구조가 흐릿해졌거든요.^^; 저만 그런가요^^; 또한 FAT32 고지에 어느 정도 다다랐는지 궁금하기도 합니다.^^ FAT32의 전체 구조는 아래의 그림과 같습니다. (지난번에 봤던 그 그림입니다.^^) 위의 그림을 보면서 하나씩 나열해 보면, FAT32는 [MBR] + [예약된 공간] + [PBR] + [예약된 공간]+ [FAT #1] + [FAT #2] + [클러스터] 구조로 되어 있습니다. ==============================> =============================================> 여기서 파란색 화살표 부분까지가 여태껏 알아본 내용입니다.^^ 간략..
(7) SD 카드의 PBR 읽기 지난번에는 SD 카드의 0번 섹터를 읽어 봤습니다.^^ 0번 섹터는 MBR 영역으로 Boot Code + 4개의 파티션 테이블 + 매직코드 = 512 바이트로 구성되어 있음을 알았습니다.^^ SD 메모리에 들어 있는 MP3 파일을 읽기 위해 우선으로 하는 작업은 PBR(부트레코드) 섹터를 읽는 일입니다. 왜냐하면 PBR 섹터에 MP3 파일이 존재하는 섹터 번호가 저장되어 있기 때문입니다.(정확하게 말하자면 약간 다릅니다.^^) 따라서 PBR에 들어 있는 값을 참조하면 MP3 데이터가 있는 섹터를 알 수 있습니다. MBR은 항상 SD 메모리의 0번 섹터에 위치합니다. 그러나 PBR이 위치하는 섹터는 MBR 섹터로부터 멀리 떨어져 있기 때문에 PBR이 위치하는 섹터를 찾으려면 앞에서 말한 바와 같이 MBR ..
(6) FAT32 블럭다이어그램 지금까지의 자료를 종합해 볼 때, FAT32의 전체적인 구조는 아래와 같습니다. 용어는 이미 앞 부분에서 설명 드렸으니, 이제 그림만 봐도 아시겠죠?^^ 그럼 위의 그림을 보면서 하나씩 나열해 보겠습니다.^^ MBR 섹터가 있고, Reserved Sectors가 있고, PBR 섹터가 있고, Reserved Sectors가 또 있고, FAT #1이 있고, FAT #2가 있고, 마지막에 Clusters가 있습니다. 헥헥~ 숨이 차네요^^; 이것을 다시 간단히 정리해 보면, FAT32 파일 시스템은 = MBR + Reserved Sectors + PBR + Reserved Sectors + FAT #1 + FAT #2 + Clusters로 구성되어 있다고 볼 수 있습니다. --------------------..