Microsoft Word - src.doc

Similar documents
Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

00-1표지

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

Mango220 Android How to compile and Transfer image to Target

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 교육과학기술부

리뉴얼 xtremI 최종 softcopy

6.24-9년 6월

< D B0F8B1BA5F FB1BABCF6B9B0C0DAB0FCB8AEBDC3BDBAC5DB5FC0C0BFEBBFE4B1B8BBE7C7D75FC7C1B7CEC6C4C0CF2E687770>

Microsoft Word - TTAK.KO

±èÇö¿í Ãâ·Â


<4D F736F F F696E74202D20BCD2C7C1C6AEBFFEBEEEC6AFB7D03038B3E22E BC8A3C8AF20B8F0B5E55D>

우루과이 내지-1

ez-shv manual

(72) 발명자 서진교 경기 용인시 수지구 풍덕천2동 1167 진산마을 삼성5차아파트526동 1004호 조필제 경기 용인시 풍덕천동 유스빌 401호 - 2 -


백서2011표지

KDTÁ¾ÇÕ-2-07/03

세계 비지니스 정보

금오공대 컴퓨터공학전공 강의자료

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

[96_RE11]LMOs(......).HWP

<C1A4C3A5BFACB1B D3420C1A4BDC5C1FAC8AFC0DAC0C720C6EDB0DFC7D8BCD220B9D720C0CEBDC4B0B3BCB1C0BB20C0A7C7D120B4EBBBF3BAB020C0CEB1C720B1B3C0B020C7C1B7CEB1D7B7A520B0B3B9DF20BAB8B0EDBCAD28C7A5C1F6C0AF292E687770>

PowerPoint 프레젠테이션

ez-md+_manual01

israel-내지-1-4

2 / 26

03-ÀÌÁ¦Çö

Monitoring Report _SSD 시장동향.hwp


노무관리업무 담당자 워크숍 속표지


CONTENTS.HWP

INDUS-8.HWP

vm-웨어-앞부속

<4D F736F F D205B D D20B8F0B9D9C0CF20BDC5B7DA20BCADBAF1BDBAB8A620C0A7C7D120BDC5B7DABAB8BEC8B8F0B5E25F4D544D5F20BBE7BFEB20BDC3B3AAB8AEBFC02E646F63>

R50_51_kor_ch1

京 畿 鄕 土 史 學 第 16 輯 韓 國 文 化 院 聯 合 會 京 畿 道 支 會

06_ÀÌÀçÈÆ¿Ü0926

solution map_....

API 매뉴얼

APOGEE Insight_KR_Base_3P11

Microsoft PowerPoint - ch07.ppt

(SW3704) Gingerbread Source Build & Working Guide

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

<4D F736F F D C3DFB0E820BFECBCF6B9DFC7A5B3EDB9AE2920C4C4C7BBC6C3C0C720BDC7C1A620B9D720B7B9C5CD2D496E2D53746F F E67C0BB20C0A7C7D BCD2C7C1C6AEBFFEBEEE20C7C3B7A7C6FB20BDC3B9C4B7B

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

KDTÁ¾ÇÕ-1-07/03

Microsoft PowerPoint - o8.pptx

SRC PLUS 제어기 MANUAL


USER GUIDE

4 꼬부랑 이라는 말이 재미있습니다. 5같은 말이 반복이 되어서 지루합니다. 4 꼬부랑 은 굽은 모양을 재미있게 흉내 낸 말입니다. 꼬부랑 을 빼고 읽는 것보다 넣어서 읽 으면 할머니와 엿가락, 강아지의 느낌이 좀 더 실감 나서 재미가 있습니다. 국어2(예습) / 1.

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx

DBPIA-NURIMEDIA

05Àå

DBPIA-NURIMEDIA

H3050(aap)


Main Title

DE1-SoC Board

사용시 기본적인 주의사항 경고 : 전기 기구를 사용할 때는 다음의 기본적인 주의 사항을 반드시 유의하여야 합니다..제품을 사용하기 전에 반드시 사용법을 정독하십시오. 2.물과 가까운 곳, 욕실이나 부엌 그리고 수영장 같은 곳에서 제품을 사용하지 마십시오. 3.이 제품은

슬라이드 1

< DC1A4BAB8C8AD20BBE7C8B8BFA1BCADC0C720C0CEB1C728C3D6C1BE292E687770>

Flute-GR_BV199_DOS.indb

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

<4D F736F F D20B4EBBFF BFB5BEF7BAB8B0EDBCAD2E646F63>

*통신1802_01-도비라및목차1~11

Microsoft Word - 1-차우창.doc

Copyright 2009 Hewlett-Packard Development Company, L.P. Intel 은 미국 및 다른 국가에서 Intel Corporation 의 상표입니다. Microsoft 및 Windows 는 Microsoft Corporation 의

Microsoft PowerPoint - Flash Memory Based Bottom Up Analysis for Smart Phone System _Final [호환 모드]

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

PRO1_04E [읽기 전용]

T100MD+

T T A S t a n d a r d

ÀÌÁÖÈñ.hwp


CD-RW_Advanced.PDF

특허청구의 범위 청구항 1 디바이스가 어플리케이션을 실행하는 방법에 있어서, 상기 디바이스에 연결된 제1 외부 디바이스와 함께 상기 어플리케이션을 실행하는 단계; 상기 어플리케이션의 실행 중에 제2 외부 디바이스를 통신 연결하는 단계; 및 상기 제1 외부 디바이스 및

Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related

12È«±â¼±¿Ü339~370

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

intro

장양수

#Ȳ¿ë¼®

Microsoft PowerPoint - eSlim SV [080116]

표1

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

대학교육151호-합침

歯 c PDF

Microsoft PowerPoint - 30.ppt [호환 모드]

Á¦1-1ºÎ

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

07_À±¿ø±æ3ÀüºÎ¼öÁ¤


다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

<BCADBFEFC1F6B9E6BAAFC8A3BBE7C8B85FBAAFC8A3BBE C1FD2831B1C7292E687770>

Transcription:

t T T A T e c h n i c a l R e p o r 기술보고서 제정일: 2012년 xx월 xx일 TL 탑재 장치 내부 정보와 파일시스템의 성능 개선 Internal Information of TL Devices and Performance Improvement of ile System

제정일: 2012년 xx월 xx일 TL 탑재 장치 내부 정보와 파일시스템의 성능 개선 Internal Information of TL Devices and Performance Improvement of ile System 본 문서에 대한 저작권은 TTA 에 있으며, TTA 와 사전 협의 없이 이 문서의 전체 또는 일부를 상업적 목적으로 복제 또는 배포해서는 안 됩니다 Copyrightc Telecommunications Technology Association 2012 All Rights Reserved

서 문 1 기술보고서의 목적 본 기술보고서의 목적은 플래시 메모리 기반의 저장장치인 TL 탑재 장치 위에서 동 작하는 파일시스템의 I/O 성능을 개선하기 위해서, TL 탑재 장치가 장치를 구성하는 플 래시 메모리 정보를 제공할 경우의 이점을 밝히는 데에 있다 파일시스템은 부가적으로 제공되는 내부 정보를 통해 TL 탑재 장치를 구성하는 플래시 메모리의 물리적인 레이 아웃에 맞게 파일시스템의 저장장치 상 레이아웃을 정렬시키는 등의 최적화를 통해 성 능 향상을 꾀할 수 있다 2 주요 내용 요약 현재의 TL 탑재 장치들은 플래시 변환 계층을 통해 상위의 운영체제에는 하드디스크 와 같은 블록 장치로 보인다 때문에 운영체제에서는 이 저장장치가 플래시 메모리를 사 용한다는 것을 인지할 수 없다 플래시 메모리를 사용한다는 것을 알 수 없기 때문에 파 일시스템의 레이아웃을 TL 탑재 장치를 구성하는 플래시 메모리에 맞게 정렬을 시키는 등의 최적화를 도모할 수 없다는 문제점이 있다 본 기술보고서에서는 플래시 메모리의 특성, TL 탑재 장치의 구성에 대해 살펴보고 상위의 파일시스템이 효율적으로 동작할 수 있도록 TL 탑재 장치가 제공해야 할 내부 정보를 제시한다 3 기술보고서 적용 산업 분야 및 산업에 미치는 영향 본 기술보고서는 파일시스템이 효율적으로 동작할 수 있도록 TL 탑재 장치가 제공해 야 할 내부 정보를 제시한다 따라서 파일시스템을 탑재하는 운영체제와 emmc와 같은 TL 탑재 장치 산업 분야와 관련된다 파일시스템은 장치 내부 정보를 통해 여러 가지 최적화를 도모할 수 있다 이를 통해 하드웨어적인 성능 개선 없이도 TL 탑재 장치의 전반적인 I/O 성능을 향상시킬 수 있어 TL 탑재 장치의 보급에 도움이 되리라 기대한 다 4 참조 표준(권고) 41 국외 표준(권고) - INCITS 452-2008 (D1699): AT Attachment 8 - ATA/ATAPI Command Set i

42 국내 표준 - 해당 사항 없음 5 참조 표준(권고)과의 비교 51 참조 표준(권고)과의 관련성 - 해당 사항 없음 52 참조한 표준(권고)과 본 표준의 비교표 - 해당 사항 없음 6 지적재산권 관련사항 본 기술보고서의 '지적재산권 확약서 제출 현황은 TTA 웹사이트에서 확인할 수 있다 본 기술보고서를 이용하는 자는 이용함에 있어 지적재산권이 포함되어 있을 수 있으므로, 확인 후 이용한다 본 기술보고서와 관련하여 접수된 확약서 이외에도 지적재산권이 존재할 수 있다 7 시험인증 관련사항 71 시험인증 대상 여부 - 해당 사항 없음 72 시험표준 제정 현황 - 해당 사항 없음 8 기술보고서의 이력 정보 81 기술보고서의 이력 ii

판수 제정 개정일 제정 개정내역 제 1 판 2012---- 제정 TTAxxx-xxxxxx 기술보고서 82 주요 개정 사항 - 해당 사항 없음 iii

Preface 1 Purpose of Technical Report The purpose of this Technical Report is to explain the reason why internal information of TL devices should be revealed to improve I/O performance of file system y using internal information of TL devices, file system data can be aligned with physical layout of flash memory of TL device If file system data is aligned with physical layout of flash memory of TL device, I/O performance of file system can be improved 2 Summary of Contents TL stands for "lash Translation Layer" and it is software which emulates a block device on top of flash hardware All TL devices provide operating system with block I/O access Due to this, file system can t recognize that the underlying storage consists of flash memory ecause file system have no information about the physical layout of flash memory based storage, it cannot optimize the layout of file system data, which can lead to I/O performance degradation 3 Applicable fields of industry and its effect This Technical Report defines internal information of TL devices open to upper layer like file system y using this information, file system can improve I/O performance Due to this, overall I/O performance of TL devices can be improved without any hardware improvement of TL devices So, this Technical Report is related to operating system and TL device industry 4 Reference Standards (Recommendations) 41 International Standards (Recommendations) - INCITS 452-2008 (D1699): AT Attachment 8 - ATA/ATAPI Command Set iv

42 Domestic Standards 기술보고서 - None 5 Relationship to Reference Standards (Recommendations) 51 Relationship of Reference Standards - None 52 Differences between Reference Standard (Recommendation) and this Technical Report - None 6 Statement of Intellectual Property Rights IPRs related to the present document may have been declared to TTA The information pertaining to these IPRs, if any, is available on the TTA Website No guarantee can be given as to the existence of other IPRs not referenced on the TTA website And, please make sure to check before applying the technical report 7 Statement of Testing and Certification 71 Object of Testing and Certification - None 72 Standards of Testing and Certification - None 8 History of Technical Report 81 Change History v

Edition Issued date Outline The 1st edition 2012---- Established TTAxxx-xxxxxx 82 Revisions - None vi

목 차 1 개 요 1 2 기술보고서의 구성 및 범위 1 3 참조 표준(권고) 1 4 용어정의 2 5 하드디스크와 TL 탑재 장치 비교 4 51 하드디스크의 특성 4 52 플래시 메모리의 특성 5 53 플래시 변환 계층 7 6 TL 탑재 장치와 파일시스템 성능 8 61 플래시 메모리와 파일시스템의 정렬 문제 8 62 파일시스템 성능 개선을 위한 TL 탑재 장치 내부 정보 9 63 TL 탑재 장치 내부 정보 제공 예제 10 vii

Contents 1 Introduction 1 2 Constitution and Scope 1 3 Reference Standards (Recommendations) 1 4 Terms and Definitions 2 5 The Comparison of Hard Disk and TL Device 4 51 Characteristics of Hard Disk 4 52 Characteristics of lash Memory 5 53 Characteristics of Hard Disk 7 6 TL Devices and Performance of ile System 8 61 lash Memory and ile System Alignment Problem 8 62 Internal Information of TL Devices to Improve I/O performance 9 63 An example of Identifying TL Devices 10 viii

TL 탑재 장치 내부 정보와 파일시스템의 성능 개선 Internal Information of TL Devices and Performance Improvement of ile System 1 개요 현재의 TL 탑재 장치들은 플래시 변환 계층을 통해 상위의 운영체제에는 하드디스크 와 같은 블록 장치로 보인다 때문에 운영체제에서는 이 저장장치가 플래시 메모리를 사 용한다는 것을 인지할 수 없다 플래시 메모리를 사용한다는 것을 알 수 없기 때문에 파 일시스템의 레이아웃을 TL 탑재 장치를 구성하는 플래시 메모리에 맞게 정렬을 시키는 등의 최적화를 도모할 수 없다는 문제점이 있다 본 기술보고서에서는 플래시 메모리의 특성, TL 탑재 장치의 구성에 대해 살펴보고 상위의 파일시스템이 효율적으로 동작할 수 있도록 TL 탑재 장치가 제공해야 할 내부 정보를 제시한다 2 기술보고서의 구성 및 범위 본 기술보고서는 크게 용어 정의, 하드디스크와 TL 탑재 장치 비교, TL 탑재 장치 와 파일시스템 성능 부분으로 구성되어 있다 용어 정의는 저장장치 기술 관련 주요 용 어들(TL, emmc, LA 등)에 대해 다룬다 하드디스크와 TL 탑재 장치의 비교에서는 각 저장장치의 읽기/쓰기 특성을 살펴보고, 플래시 메모리의 독특한 특성과 이를 처리하 기 위해 존재하는 플래시 변환 계층에 대해 알아본다 마지막으로 TL 탑재 장치와 파 일시스템 성능 부분은 데이터가 정렬되어 저장되지 않을 경우 TL 탑재 장치의 어떤 특 성 때문에 성능 상의 문제가 발생하는지, 이를 회피하기 위해 어떤 정보들이 외부로 제 공되어야 하는지에 대해 다룬다 3 참조 표준(권고) - 해당 사항 없음 1

4 용어정의 기술보고서 41 저장 장치 기술 관련 용어 411 플래시 변환 계층(TL, lash Translation Layer) 플래시 메모리는 페이지/블록 주소 접근 인터페이스를 가지는데, 이를 숨기고 운영체제에 LA(Logical lock Addressing) 공간을 제공하는 블록 장치로 보이는 역할을 수행하는 계층을 의미한다 플래시 메모리가 블록 장치와는 다른 특성들, 즉 한번 쓴 페이지는 블록 전체를 삭제하기 전에는 다시 쓰기를 할 수 없는 점, 블록 내의 페이지들은 반드시 순서대로 써야 한다는 점, 삭제를 할 수 있는 횟수에는 한계가 있다는 점 등을 숨기고 블록 장치로 보이기 때문에 LA 공간과 대응되는 물리적인 플래시 메모리 공간 간의 매핑을 관리한다 412 TL 탑재 장치(TL device) 플래시 메모리에 TL 기능을 수행하는 컨트롤러를 결합하여 하나의 저장장치로 보이게 만든 것으로 플래시 메모리를 대상으로 만들어진 것이 아닌 기존 파일시스템들을 바로 사용할 수 있다는 장점을 가지고 있다 이동식 저장매체로 널리 쓰이는 US 메모리, SD 카드 등과 스마트폰 등 모바일 임베디드 시스템에 많이 들어가는 emmc, 하드디스크를 대체할 수 있는 SSD 등이 대표적이다 412 LA(Logical lock Addressing) 저장장치의 각 블록들에 대해 정수 인덱스로 접근이 가능한 선형 주소 체계이다 저장장치의 내부를 상세하게 알아야 하는 기존의 주소 체계를 대체하기 위해 등장한 것이다 초기의 하드디스크들은 본래 CHS(Cylinder-Head-Sector) 체계를 사용했는데, 이는 하드디스크 상의 실린더, 헤드, 섹터를 일일이 지정해야 하며 선형 주소 공간도 아니기 때문에 사용하는 것이 복잡하고 불편한 면이 있다 이를 해결하기 위해 등장한 것이 LA 방식이다 412 블록 장치(lock Device) 연속적인 바이트인 블록 단위로 데이터를 읽고 쓸 수 있는 장치를 의미한다 이에 대비되는 것으로 문자 장치(Character Device)가 있다 하드디스크, CDROM 등이 대표적인 블록 장치이다 문자 장치가 데이터에 대해 임의 접근이 안 되는 데에 비해, 블록 장치는 임의 접근이 가능하다 412 MMC(Multi Media Card) 플래시 메모리로 만든 메모리 카드의 표준 주로 이동식 저장장치로 쓰기 위해 고안된 것으로 디지털 카메라 등에 탑재되어 사용되는 것이 대표적이다 MMC 는 이후 MMC 를 계승하여 나온 SD 카드에 의해 대체되었으나, SD 카드를 지원하는 대부분의 장치에서 여전히 사용이 가능하다 초기에는 1 비트 시리얼 통신 인터페이스를 사용했으나 이후 4/8 비트 인터페이스로 개선되었다 2

412 SD 카드(SD card, Secure Digital card) MMC 를 확장한 플래시 메모리 기반의 메모리 카드 규격 역시 이동식 저장장치로 사용하는 것을 목적으로 고안된 규격이다 SDSC(Standard Capacity), SDHC(High Capacity), SDXC(eXtended Capaticy), SDIO(Input Output) 4 가지 규격을 포함한다 카드의 물리적인 크기를 기준으로 SD, minisd, microsd 3 가지를 지원한다 412 emmc(embedded Multi Media Card) MMC 인터페이스를 이동식 저장장치가 아닌 임베디드 시스템에 내장된 저장장치로 쓰기 위한 구조를 정의한 규격 이 규격에 따라 만든 것으로 삼성전자의 MoviNAND, SanDisk 의 inand 등이 있다 임베디드 시스템에서 NAND lash Memory 를 직접 내장해서 저장장치로 사용하는 경우를 대체하는 용도로 많이 쓰일 것으로 기대되고 있다 412 NOR 플래시 메모리(NOR lash Memory) 플래시 메모리의 한 종류 바이트 단위로 읽기/쓰기가 가능해 RAM 과 비슷한 모습을 보여 XIP(execute in place) 메모리로 사용되기도 한다 삭제는 블록 단위로만 가능하다 읽기/쓰기 성능은 NAND lash Memory 에 비해 우수하나 삭제 성능은 오히려 떨어지고 가격이 비싸기 때문에 보통 은 NAND lash Memory 처럼 Secondary Storage 로 쓰이지 않는다 412 NAND 플래시 메모리(NAND lash Memory) 플래시 메모리의 한 종류 RAM 처럼 바이트 어드레싱이 가능한 NOR 플래시 메모리와 달리 페이지/블록 단위로 접근한다는 측면에서 블록 장치와 유사하다 읽기/쓰기 성능은 NOR 플래시 메모리보다 떨어지나 삭제 속도는 더 빠르고 가격이 저렴하여 대용량화 하기 쉽기 때문에 이동식 저장장치 등 Secondary Storage 를 만드는 데에 많이 쓰이고 있다 412 JS2(Journaling lash ile System 2) 플래시 메모리에서 사용하기 위해 만들어진 플래시 파일시스템의 하나로 JS 를 계승하였다 로그 구조 기반 파일시스템(log-structured file system)의 형식을 취하고 있으며 리눅스 커널 2410 부터 커널에 포함되었다 마운트 시점에 저장장치 전체를 스캔하여야 하기 때문에 마운트에 시간이 오래 걸리는 단점이 있어 YAS2, UIS 등 다른 플래시 파일시스템들이 등장하게 되었다 412 YAS2(Yet Another lash ile System 2) 플래시 파일시스템의 하나로 YAS 의 후속버전 NAND lash memory 가 small block 구조에서 large block 구조로 가면서 생긴 추가적인 제약사항인 sequential programming 을 해결하기 위해 YAS 를 약간 수정한 것으로 전체적으로 큰 차이는 없다 마운트를 하기 위해 JS2 가 플래시 메모리 전체 페이지들을 스캔하는 데에 3

비해, YAS2 는 플래시 메모리의 스페어 영역들만 스캔하기 때문에 마운트 시간 측면에서 상대적으로 유리하다는 장점을 가지고 있다 412 UIS(UI ile System) JS2 의 후속 버전으로 기존의 JS2 가 가지고 있던 문제점들을 개선하기 위해 개발되었다 UI(Unsorted lock Image)라는 하위 계층 상에서 동작하여 UIS 라는 이름을 가지고 있다 JS2 는 파일시스템의 인덱스를 저장장치에 저장하지 않기 때문에 마운트 시점에 플래시 메모리 전체를 스캔해야 하는 데에 비해, UIS 는 인덱스를 저장장치에 저장해 두기 때문에 인덱스만 읽어 들이면 되기 때문에 마운트 시간이 짧다 또한 write-back 을 지원하여 쓰기 성능 측면에서 우수하다는 장점도 가지고 있다 5 하드디스크와 TL 탑재 장치 비교 TL 탑재 장치는 플래시 메모리에 플래시 변환 계층을 수행하는 컨트롤러를 결합하여 기존의 하드디스크와 같이 블록 장치로 보이는 저장장치이다 TL 탑재 장치는 플래시 메모리의 저렴한 가격, 낮은 소비전력, 작은 크기, 충격에 강한 특성 등의 장점 덕분에 임베디드 시스템에서 저장장치로 널리 쓰인다 플래시 메모리는 하드디스크에 사용되는 자기 디스크와는 그 특성이 크게 다르다 이 로 인해 플래시 메모리를 TL 계층 없이 바로 접근해서 사용할 경우에는 상위에서 동작 하는 소프트웨어(운영체제의 파일시스템 등)가 그 특성에 맞게 따로 제작된 것으로 바뀌 어야 한다 이는 기존 소프트웨어를 그대로 사용할 수 없다는 불편으로 이어진다 때문 에 TL 탑재 장치는 TL을 통해 기존의 블록 장치처럼 보이도록 한다 덕분에 기존의 소프트웨어들을 그대로 사용할 수 있다는 장점이 있긴 하지만, 상위의 운영체제가 저장 장치가 플래시 메모리로 구성되어 있음을 인식하지 못하므로 저장 매체의 특성에 맞는 최적화를 수행할 수가 없다 이 장에서는 기존 하드디스크의 특성, 플래시 메모리의 특성을 알아보고 TL이 하는 역할과 그 구성에 대해서 알아본다 51 하드디스크의 특성 하드디스크는 회전하는 플래터(platter) 위를 헤드가 원하는 데이터가 있는 위치로 이 동하여 데이터를 읽어오는 구조이다 헤드는 플래터 위를 직선으로 앞 뒤로만, 즉 1차원 으로 움직인다 데이터에 접근하기 위해서는 먼저 헤드가 원하는 데이터가 있는 트랙으 로 이동해야 하고 이 과정은 기계적인 동작이다 헤드가 원하는 트랙위로 이동하는 데에 걸리는 시간을 탐색 시간(seek time)이라고 부르는데, 기계 동작이기 때문에 이 시간을 줄이는 데에는 한계가 있다 헤드가 목표한 트랙으로 가면 트랙 상의 원하는 섹터가 헤 드 아래에 위치할 때까지 플래터가 회전하는 것을 기다려야 한다 이에 걸리는 시간을 회전 지연시간(rotational delay)라고 한다 회전 지연 시간 역시 기계적인 동작 시간이 영항을 미치기 때문에 줄이는 데에 한계가 있지만 탐색 시간에 비해서는 짧다 원하는 4

섹터가 헤드 아래에 위치하면 비로서 데이터 전송이 이루어진다 이와 같이 하드디스크 는 기계적인 동작 특성 때문에 임의의 데이터에 접근하는 데에 걸리는 시간이 길다 하드 디스크는 512바이트의 섹터 단위로 데이터 읽기/쓰기가 가능하며, 이 섹터 단위 의 접근 주소를 LA(Logical lock Address)라고 부른다 읽기/쓰기 모두 섹터 단위로 이루어지며 각 연산의 속도 차이도 없다 52 플래시 메모리의 특성 플래시 메모리에는 NOR lash Memory와 NAND lash Memory 가 있지만, TL 탑재 장치에 사용되는 것은 NAND lash Memory이므로, 본 기술보고서에서 플래시 메모리라 함은 NAND lash Memory를 지칭하는 것임을 먼저 밝혀둔다 앞서 밝혔듯이 하드디스크는 512바이트 섹터 단위로 데이터 전송이 이루어지고, 읽기 /쓰기 모두 섹터 단위로 이루어진다 그에 비해 플래시 메모리는 읽기/쓰기는 페이지 라 는 단위로 이루어지는데, 한번 쓰기를 한 페이지는 삭제를 하기 전에는 다시 쓰기를 수 행할 수 없다 이 삭제 연산은 여러 개의 페이지로 구성된 블록 단위로만 가능하다 블 록은 삭제 단위이기 때문에 erase block이라고 부르기도 한다 Page Spare lock 0 P 0 P 1 P 2 P 3 512 512 512 512 16 16 16 16 P 31 lock 1 lock M (그림 5-1) Small lock NAND lash Memory 구조 (그림 5-1)은 페이지 크기가 512바이트인 NAND lash Memory의 구조를 나타낸다 그림에서와 같이, 페이지가 하나의 섹터로 구성된 것을 Small lock 이라고 부른다 각 페이지에는 16바이트의 스페어 영역이 있어 페이지의 데이터를 읽고 쓸 때 제대로 되었 는지 확인하기 위한 ECC 값을 저장하는 등의 용도로 사용된다 각 블록은 32개의 페이 5

지로 구성되어 16K의 크기를 가진다 기술보고서 삭제 동작은 읽기/쓰기에 비해 매우 많은 시간이 걸린다 또한 각 블록은 삭제 가능한 횟수에 제한이 있어 한계에 달하면 해당 블록은 사용할 수 없게 된다 더 이상 쓸 수 없 게 된 블록은 bad block이라 부른다 이런 bad block은 처리하는 것이 힘들뿐만 아니라 bad block만큼 사용 가능한 공간이 감소하기 때문에 저장 장치로서의 기능을 상실하게 된다 따라서 각 블록들이 골고루 닳게 해서 최대한 bad block이 늦게 나타나도록 해야 충분한 수명을 확보할 수 있다 이런 기능을 wear-leveling이라고 부른다 플래시 메모리의 읽기/쓰기/삭제 각 연산은 모두 수행에 소요되는 시간이 다르며, 읽 기 > 쓰기 > 삭제 순으로 빠르다 각 제조사별, 제품별로 그 수치는 다르지만 각 연산 별 상대적인 격차는 거의 비슷하다 <표 5-1>은 플래시 메모리의 각 연산에 걸리는 시 간을 나타낸 한 예이다 <표 5-1> 플래시 메모리 각 연산 수행 속도 비교 종류 시간 읽기(Read) 36 usec 쓰기(Write) 200 usec 삭제(Erase) 2000 usec 플래시 메모리의 이런 특성은 하드디스크와는 달리 기존의 기록된 데이터에 대한 수 정을 원래 위치에 기록하는 in-place update가 매우 곤란함을 의미한다 즉 플래시 메모 리에서는 기존에 기록된 어떤 파일의 데이터를 일부 수정하더라도 해당 위치에 다시 쓰 기를 시도하는 것은 바람직하지 않다 해당 수정 데이터가 대응되는 페이지가 속한 블록 전체를 삭제하고 다시 기록하므로, 시간이 오래 걸려 쓰기 성능이 크게 떨어지기 때문이 다 또한 한 개 페이지에 대해서만 수정해도 페이지가 속한 블록을 모두 다시 쓰기 때문 에 결과적으로 삭제를 남발하는 것이 되어 플래시 메모리의 수명에도 악영향을 미친다 따라서 플래시 메모리에서는 수정 사항이 있어도 본래 위치가 아닌 다른 위치에 수정 사항을 기록하는 방식이 적합하며 이를 out-of-place update라고 부른다 최근의 플래시 메모리들은 용량이 증가하면서 하나의 페이지가 여러 개의 서브 페이 지(sub-page)로 구성된 Large lock 구조를 사용하고 있다 (그림 5-2)는 페이지 크기 가 2K인 Large lock NAND lash Memory의 구조를 나타낸다 512바이트 크기의 서브 페이지 4개로 구성된 각 페이지에는 64바이트의 스페어 영역이 있어 페이지의 데이터를 읽고 쓸 때 제대로 되었는지 확인하기 위한 ECC 값을 저장하는 등의 용도로 사용된다 각 블록은 64개의 페이지로 구성되어 128K의 크기를 가진다 6

Page Spare lock 0 P 0 P 1 P 2 P 63 Sector n Sector n+1 Sector n+2 Sector n+3 512 512 512 512 64 512 512 512 512 64 512 512 512 512 64 lock 1 lock M (그림 5-2) Large lock NAND lash Memory의 구조 Large lock NAND lash Memory의 경우, 한 블록 내의 각 페이지는 반드시 앞에서 부터 차례대로 쓰기를 해야 한다 는 제약 사항도 가지고 있다 이를 어기고 강제로 쓰기 를 수행하면 플래시 메모리의 데이터가 훼손되게 된다 이 제약사항을 다른 용어로 sequential programming 이라고 부른다 53 플래시 변환 계층 앞서 살펴본 바와 같이, 플래시 메모리는 매우 독특한 특성을 가지고 있어 본래 하드 디스크와는 다른 인터페이스(NAND interface)를 가지고 있으며, 블록 장치가 아니다 블 록 장치가 아니므로 상위의 파일시스템 또한 달라야 한다(기존 파일시스템들은 블록 장 치 상에서 동작하도록 구현되어 있음) 때문에 플래시 메모리의 제약 사항들을 처리하고 블록 장치가 아닌 인터페이스에서 동작하는 전용 파일시스템인 플래시 파일시스템들이 등장하였다 플래시 파일시스템으로는 JS2, YAS2, UIS 등이 대표적이다 그러나 기존 파일시스템들을 쓸 수 없으면 불편하므로 TL 탑재 장치는 플래시 메모리를 하드 디스크와 같은 블록 장치로 보이게 하는 TL(lash Translation) 계층을 장치 내부에서 수행한다 즉 레거시 시스템(Legacy System)을 지원하기 위해 TL 탑재 장치는 내부에 컨트롤러를 탑재하여 플래시 메모리의 동작 속성을 외부에 숨긴다 TL은 상위의 운영체제에는 고정된 LA 주소 공간을 제공하여 블록 장치처럼 접근할 수 있도록 한다 그리고 이 주소 공간에 매핑되는 실제 플래시 메모리의 페이지/블록을 7

바꿔줌으로써 플래시 메모리의 여러 제약 사항들, 즉 페이지/블록 단위로 접근하며 한 번 쓰기 한곳에 다시 쓸 때는 먼저 삭제를 하는 점, 블록 내에 페이지는 순차적으로 기 록해야 하는 점 등을 숨겨준다 TL 탑재 장치는 내부에 컨트롤러를 탑재하고 이 컨트롤 러가 TL을 로직을 수행하도록 되어 있다 (그림 5-3)는 이 구조를 나타내고 있다 LA 공간 (운영체제에서의 시점) lash Translation Layer 플래시 메모리 공간 (그림 5-3) 계층 구조 상 TL의 위치 TL을 구현하는 방식은 LA 공간에 매핑되는 플래시 메모리 공간을 어느 크기 단위 로 관리하느냐, 즉 매핑 테이블을 유지하느냐에 따라 여러 가지가 있다 플래시 메모리 의 페이지 단위의 매핑 테이블을 사용하는 페이지 레벨 매핑(Page level mapping), 플래 시 메모리의 블록 단위의 매핑을 수행하는 블록 레벨 매핑(lock level mapping), 블록 레벨 매핑을 사용하지만 일부 블록에 대해서는 좀더 조밀한 페이지 레벨 매핑을 사용하 는 하이브리드 매핑 방식 등이 있다 6 TL 탑재 장치와 파일시스템 성능 본 기술보고서는 TL 탑재 장치에서 동작하는 파일시스템의 성능을 향상시키기 위해 TL필장치가 상위에서 최적화하는 데에 필요한 정보를 제공할 것을 제안한다 이 장에 서는 파일시스템이 TL 탑재 장치 내부의 플래시 메모리 구성 정보를 모르고 접근하면 어떤 문제가 생길 수 있는지 살펴보고, 그에 따라 장치 외부로 공개되어야 하는 정보들 이 어떤 것인지 알아보도록 한다 61 플래시 메모리와 파일시스템의 정렬 문제 TL 탑재 장치는 플래시 메모리로 구성되기 때문에 플래시 메모리의 특성에 따른 영 향을 받을 수 밖에 없다 이는 데이터의 배치에 따라 I/O 성능이 크게 좌우될 수 있다는 뜻이다 이를 몇 가지 예를 통해 설명하도록 하겠다 우선 (그림 5-2)에 나타난 것과 같 은 2K 페이지/128K 블록 인 플래시 메모리로 구성된 TL 탑재 장치가 있다고 가정 한다 이 TL 탑재 장치에 (1)2K의 데이터를 쓰는 경우와, (2)이 내용을 512바이트 단위로 나누어 4회 걸쳐 쓰기를 하는 경우를 비교해 보자 하드디스크라면 별 차이가 나지 않겠 지만 TL 탑재 장치의 경우는 다르다 TL 탑재 장치에서는 플래시 메모리의 특성 때문 에 한번 쓴 페이지에는 다시 쓸 수 없기에 다른 페이지에 써야 한다 때문에 (2)의 경우 에는 페이지 4개에 쓰기를 수행하게 되어 결국 8K 데이터를 쓰게 된다 8

다른 예로 (그림 5-4)의 경우를 살펴보자 LA에 공간에 대해 2개 페이지에 해당하는 연속적인 영역에 쓰기를 수행했다 그런데 대응되는 플래시 메모리 상의 위치가 블록 경 계에 위치하게 되어 각 페이지가 서로 다른 블록에 위치하게 된 경우를 나타내고 있다 LA 공간 (운영체제에서의 시점) lash Translation Layer 플래시 메모리 공간 (그림 5-4) 쓰기 데이터 위치가 플래시 메모리의 블록 경계에 걸친 경우 페이지 하나는 블록의 제일 끝에 위치하고 다른 하나는 블록의 제일 앞에 위치한다 후자의 경우는 문제가 없으나 전자의 경우, 플래시 메모리의 sequential programming 제약사항을 어기게 된다 이를 TL이 처리해서 파일시스템에게는 아무 일도 일어난 것 처럼 보이도록 하게 된다 TL 구현마다 따라 처리 방법이 다르긴 하나, 최악의 경우 (그림 5-4)에서 빗금 친 부분과 같이 sequential programming 제약을 어기게 되는 페 이지 앞의 모든 페이지들을 쓰레기 값으로 채우는 쓰기를 수행하게 된다 이 경우, 파 일시스템에서는 4K의 데이터를 기록했는데 실제 장치에서는 130K(128+2)에 이르는 쓰기를 수행하는 결과를 낳게 된다 이는 곧 I/O 성능 저하 및 플래시 메모리의 수명 단 축으로 이어진다 TL 구현이 달라 위 경우에 대한 대응 방식이 다른 경우를 상정하더라도 좋지 않다 이를테면 페이지 레벨 매핑을 사용하는 TL이라면 위의 경우에 대해 일단은 2개 페이지 만 사용하여 4K의 쓰기만 수행한다 그러나 변경된 매핑 테이블 정보 또한 플래시 메 모리에 저장해야 하므로 추가적이 쓰기가 발생하고, 페이지 레벨 매핑을 사용하기 위해 서는 매핑 테이블 공간이 훨씬 많이 사용되는 것 등을 감안하면 물리적인 장치의 레이 아웃을 고려하지 않은 데이터 배치는 여러 모로 TL에 부담을 안겨주게 된다는 것을 알 수 있다 62 파일시스템 성능 개선을 위한 TL 탑재 장치 내부 정보 앞서 두 가지 예를 통해 살펴본 바와 같이 파일시스템이 TL 탑재 장치를 구성하는 플래시 메모리의 레이아웃에 맞게 데이터를 정렬시켜 배치하는 것이 I/O 성능 및 장치 수명 측면에서 유리하다 즉 플래시 메모리의 제약사항들에 대한 처리를 전부 TL에게 만 맡겨 의존하고 상위 계층인 파일시스템에서 아무렇게나 쓰는 것은 바람직하지 않다 유감스럽게도 현재 대부분의 파일시스템들은 플래시 메모리의 특성들을 고려하여 만들 어지지 않았기에 여러 부분에서 비효율이 발생할 수 있다 이를 막기 위해 파일시스템 또한 데이터 배치를 플래시 메모리 레이아웃에 맞게 하는 것이 좋은데, 문제는 TL 탑재 장치를 구성하는 플래시 메모리의 페이지/블록 크기를 알지 못하면 파일시스템이 최적의 레이아웃을 구성하기 어렵다는 점이다 따라서 emmc, 9

SD card 등 TL 탑재 장치들이 외부로 제공해야 하는 최소한의 정보는 다음과 같다 - 플래시 메모리 페이지 크기 - 플래시 메모리 블록 크기 파일시스템은 이 정보들을 통해 데이터 배치를 정렬시켜 성능을 개선시킬 수 있다 예 를 들어 페이지/블록 크기가 각각 2K/128K인 플래시 메모리를 사용하는 경우를 가정 해보자 이 경우, 파일시스템은 공간 관리 단위 블록(플래시 메모리의 블록을 지칭하는 것이 아님)을 2K로 설정한다 이렇게 하면 앞서 쓰기 최소 단위가 2K가 되어 61장 에서 예로 들은 첫 번째 사례(512바이트 단위로 4번 쓰는 경우)는 발생하지 않게 된다 또한 128K 단위로 공간을 나누어(이를 여기에서는 세그먼트라고 지칭하겠음) 새로운 블록을 할당할 때, 세그먼트 앞 부분부터 할당을 할 수 있다 이렇게 하면 sequential programming을 지키는 것이 가능하므로 61장에서 예로든 두 번째 사례(플래시 메모리 블록 경계에 걸친 경우)를 피할 수 있게 된다 63 TL 탑재 장치 내부 정보 제공 예제 TL 탑재 장치의 내부 정보는 통상적으로 장치 인식 과정에서 제공하는 것이 적절하 다 이를 설명하기 위해 SSD를 예로 들겠다 SSD의 경우, 기존 하드디스크를 대체하기 위해 ATA 인터페이스를 통해 시스템에 연결된다 ATA 인터페이스에서 필수적으로 구현 해야 하는 명령어 중에는 장치 식별을 위한 명령어도 존재한다 IDENTIY DEVICE 명 령어가 그것으로 호스트에서 이 명령어를 보내면 저장장치는 512바이트 블록의 데이터 를 전달하도록 되어있다 전달받는 데이터를 IDENTIY DEVICE data 라고 부르며 <표 6-1>은 이 데이터의 구성의 일부를 나타내고 있다 <표 6-1> ATA IDENTIY DEVICE data Word OM SP V 설명 80 M Major revision number 0000h or h = device does not report version 15:9 Reserved 8 1 = supports ATA8-ACS 7 1 = supports ATA/ATAPI-7 6 1 = supports ATA/ATAPI-6 5 1 = supports ATA/ATAPI-5 4 1 = supports ATA/ATAPI-4 3 Obsolete 2 Obsolete 1 Obsolete 0 Reserved 81 M Minor revision number 82 M Command set supported 10

N X X 기술보고서 15 Obsolete 14 1 = NOP command supported 13 1 = READ UER command supported 12 1 = WRITE UER command supported 11 Obsolete 10 1 = Host Protected Area feature set supported 9 1 = DEVICE RESET command supported 8 1 = SERVICE interrupt supported 7 1 = release interrupt supported 6 1 = look-ahead supported 5 1 = write cache supported 4 Shall be cleared to zero to indicate that the PACKET feature set is not supported 3 1 = mandatory Power Management feature set supported 2 Obsolete 1 1 = Security Mode feature set supported 0 1 = SMART feature set supported <표 6-1>에서 한 word는 16비트로 2바이트 값을 나타낸다 OM은 이 word가 Mandatory인지 Optional인지를 나타낸다 SP는 해당 내용일 Serial 전송인지, Parallel 전 송인지를 의미한다 V에서 인 경우는 이 word의 필드 값이 고정되어 바뀌지 않는다는 것을 의미한다 V인 경우는 장치의 상태나 명령어에 따라 해당 필드가 바뀔 수 있는 (variable) 것을 의미한다 <표 6-2> 제안하는 SSD IDENTIY DEVICE data Word OM V 설명 xxx O 1:15 Reserved 0 1= SSD 장치 xxx+1 O SSD 페이지 크기(바이트 단위) xxx+2 O SSD 블록 크기(바이트 단위) SSD에서는 이 IDENTIY DEVICE data 에 사용하는 플래시 메모리의 페이지 크기/블 록 크기 정보를 <표 6-2>와 같은 형태로 제공하면 된다 Word xxx의 0번 비트가 1이면 이 장치가 SSD임을 의미한다 ATA 인터페이스를 통해 연결된 장치가 하드디스크일 수 도 있으므로 SSD임을 명시해 주어야 식별이 가능하다 나머지 비트는 기타 SSD 속성을 나타내기 위한 용도로 예약해둔다 Word xxx+1은 SSD에 사용된 플래시 메모리의 페이 지 크기를 나타낸다 페이지 크기가 2K인 경우, xxx+1의 값은 2048이 된다 Word xxx+2는 SSD에 사용된 플래시 메모리의 블록 크기를 나타낸다 128K 블록의 경우, 이 값은 131072가 된다 11

기술보고서 작성 공헌자 기술보고서 번호 : /R1 이 기술보고서의 제 개정 및 발간을 위해 아래와 같이 여러분들이 공헌하였습니다 구분 성명 위원회 및 직위 연락처 소속사 기술보고서(과제) 제안 기술보고서 초안 작성자 기술보고서 초안 검토 기술보고서안 심의 사무국 담당 정영준 임베디드 SW 프로젝트그룹 간사 jjing@etrirekr 한국전자통신연구원 천한성 - hschun@etrirekr 한국전자통신연구원 박문주 임베디드 SW 프로젝트그룹 의장 mpark@incheonackr 인천대 외 프로젝트그룹 위원 박승민 기반 SW 기술위원회 의장 minpark@etrirekr 한국전자통신연구원 외 기술위원회 위원 김영화 팀장 ykim@ttaorkr TTA 김영재 책임 yjkim@ttaorkr TTA 12

TL 탑재 장치 내부 정보와 파일시스템의 성능 개선 (Internal Information of TL Devices and Performance Improvement of ile System) 발행인 : 한국정보통신기술협회 회장 발행처 : 한국정보통신기술협회 463-824, 경기도 성남시 분당구 서현동 267-2 Tel : 031-724-0114, ax : 031-724-0019 발행일 : 2012xx