Job Notes (118) 썸네일형 리스트형 Algorithms and Data Structures for Flash Memories Algorithms and Data Structures for Flash Memories ERAN GAL and SIVAN TOLEDO School of Computer Science, Tel-Aviv University Flash memory is a type of electrically erasable programmable read-only memory (eeprom). Because flash memories are nonvolatile and relatively dense, they are now used to store files and other persistent objects in handheld computers, mobile phones, digital cameras, portable.. System Software for Flash Memory: A Survey Abstract. Recently, flash memory is widely adopted in embedded ap- plications since it has several strong points: non-volatility, fast access speed, shock resistance, and low power consumption. However, due to its hardware characteristic, namely \erase before write", it requires a software layer called FTL (Flash Translation Layer). This paper surveys the state-of-the-art FTL software for °ash m.. FTL Erase Unit 1 Erase Unit 2 : : Erase Unit n Sector 1 Erase Unit Header Sector Allocation Map Sector 2 Sector 3 Not Used Sector 4 Data Sector 5 Sector 6 Sector 7 Sector 8 Erase Unit Header Field Size (bytes) Description Validation 5 EU가 valid한지 검사하기 위한 code Logical EUN 2 현재 EU의 논리적인 번호 Sector Size 1 Sector의 크기 Erase Unit Size 1 EU의 크기 First Physical EUN 2 FTL에서 사용하는 첫 번째 EU의 번호 Num Erase Units 2 E.. 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.. 문자 포인터(string pointer) 변수 전역 변수로 아래와 같이 선언되어 있다. char aString[] = "now is the time"; /* an array */ char *pString = "now is the time"; /* a pointer */ 위 두 변수의 차이점은? * aString 각각의 문자를 바꿀 수 있지만, 항상 일정한 장소에 저장 * pString 가리키는 위치를 바꿀 수 있지만 내용을 바꾸는 것은 정의되어 있지 않다. (바꿀 수 없다는 말은 아니다) 그런데, pString이 가리키는 문자열들은 어디 저장되는 것일까? 그리고 왜 바꿀 수 없는 것일까? 실제로 Visual C++로 "strcpy(pString, aString)"을 하면 "0xC0000005: 0x00487894 위치를 기록하는 동안 액세스 위반이 .. 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카드를 깨끗이 포맷.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 15 다음