메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

김해천 (단국대학교, 단국대학교 대학원)

지도교수
최종무
발행연도
2018
저작권
단국대학교 논문은 저작권에 의해 보호받습니다.

이용수13

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (2)

초록· 키워드

오류제보하기
현재까지 컴퓨터 시스템은 급격히 발전해왔다. CPU와 메모리 보다
상대적으로 느린 동작 속도를 갖는 스토리지가 bottleneck으로 작용했으나
플래시 메모리가 널리 사용됨에 따라 스토리지의 성능이 급격히 증가하였다.
PC환경에서는 디스크 대신 SSD를 사용하게 되었고, 임베디드 시스템에서는
플래시 메모리 기반인 eMMC와 SD카드를 사용하게 되었다. 그리고 임베디드
시스템은 최근 IoT(Internet of Things)의 발전으로 더욱 성장함에 따라 해당
장치에서 센서 혹은 연산 데이터를 안전하게 관리하고 저장해야 하는
필요성이 커지고 있다. 스마트워치, 스마트밴드, 웨어러블 디바이스,
스마트홈 그리고 커넥티드 자동차 등을 위한 각종 센서들이 사용된다. 센서
데이터들은 대기중의 온도, 습도 혹은 체온처럼 다소 사소한 종류와 CCTV
및 자동차의 블랙박스의 영상 데이터처럼 법적 문제가 걸린 중요한 것일 수
있다.
그래서 IoT 디바이스의 센서 데이터를 스토리지에 저장하고 관리하기 위한 파일시스템의 역할이 매우 중요하다. 일반적으로 SD카드의 저장 공간을
관리하기 위해 FAT 파일시스템이 사용된다. 하지만 FAT 파일시스템은
애초에 플래시 메모리를 위해 개발되지 않아서 플래시 메모리의 특성을
고려하지 못하고 동작되는 문제점이 존재한다. FAT 파일시스템의 클러스터
할당 방식은 파일 단편화와 잦은 메타데이터 업데이트 문제로 플래시
메모리의 수명 감소와 성능 저하를 야기한다.
그래서 본 논문에서는 IoT 디바이스와 임베디드 시스템을 위한
FL-FAT이란 이름의 새로운 파일시스템을 제안한다. FL-FAT은 IoT
디바이스의 센서 데이터 특징을 고려하여 단편화 및 빈번한 메타데이터
업데이트 문제를 해결하기 위해 파티셔닝 기법과 미리할당 정책을
도입하였다. 하지만 기존 미리할당 정책은 스토리지 공간을 할당 할 때
라운드 로빈 방식에 의한 싱글 스레드만 지원하는 한계가 있었다. 그래서
유닛(unit)과 비트맵을 통한 파티셔닝과 미리할당으로 멀티스레드를 지원하게
되었다. 또한 파일시스템의 일관성을 확인하는 FSCK(File System Consistency
Check)유틸리티와 미리할당 정책이 충돌하는 것을 막기 위한 설계가
필요하였다. 그래서 FL-FAT 메커니즘의 일관성을 유지하면서 기존 FAT과의
호환성을 유지하기 위한 Internal Checker를 개발하였다. 그리고 IoT
디바이스는 외력에 의한 갑작스런 전원 차단(Sudden-Power-Off)과 SD카드가
분리되는(Suddeon-Pull-Out) 상황이 발생할 수 있다. 이런 상황에서 입력
중인 센서 데이터를 안전하게 스토리지에 기록하고 다시 시스템이 부팅될
때, 데이터들에 대한 온전한 제어 흐름을 갖기 위한 메커니즘을 설계 및
구현하였다.
FL-FAT을 검증 및 평가하기 위해 안드로이드 플랫폼 환경의 ARM기반
테스팅 보드에서 FL-FAT을 적용하여 100%의 단편화 제거와 빈번한
메타데이터 업데이트를 줄여 22%의 성능 향상을 보였다. 그리고 FL-FAT은
실제 IoT 디바이스 제품에 적용될 예정이다.

목차

Ⅰ. 서론 ·············································································································· 1
Ⅱ. 선행연구 ······································································································ 3
2.1 IoT ··············································································································· 3
2.2 플래시 메모리 ··························································································· 4
2.2.1 NAND 플래시 메모리 ······································································· 4
2.2.2 플래시 메모리 구조 ············································································ 5
2.2.3 플래시 메모리 특징 ············································································ 6
2.3 단편화(Fragementation)와 플래시 메모리 ···········································8
2.3.1 단편화 ···································································································· 8
2.3.2 단편화가 플래시 메모리에 끼치는 영향 ········································ 9
2.4 FAT 파일시스템 ·····················································································10
2.4.1 부트 레코드(Boot Record) 영역 ·····················································10
2.4.2 예약된(Resrved) 영역 ·······································································11
2.4.3 FAT(File Allocation Table) 영역 ···················································11
2.4.4 데이터(Data) 영역 (파일과 디렉터리) ·········································· 12
Ⅲ. 연구 동기 ··································································································13
3.1 단편화에 의한 성능 분석 실험 ···························································13
3.2 IoT 디바이스의 센서 데이터 특징과 저장 방식 문제점 ··············· 15
3.3 IoT 디바이스의 갑작스런 전원 차단 및 스토리지 분리 문제 ····· 17
3.4 빈번한 메타데이터 업데이트 문제 ·····················································17
3.5 기존 IoT 디바이스를 위한 파일시스템 문제 ··································· 18
Ⅳ. 문제 해결을 위한 기법 및 정책 ························································ 19
4.1 센서 데이터별 파티셔닝 기법 ·····························································19
4.2 미리할당(Pre-Allocation) 정책 ·····························································20
4.3 기존 파티셔닝과 미리할당 문제점 ·····················································22
Ⅴ. 설계 및 구현 ······························································································24
5.1 유닛(unit)기반 파티셔닝과 미리할당 ·················································24
5.1.1 고정된 위치를 갖는 유닛(unit)의 필요성 ···································· 23
5.1.2 파티셔닝을 위한 자료구조 ······························································25
5.1.3 미리할당 정책과 PA 유닛을 위한 자료구조와 장점 ·················26
5.2 Internal Checker ·····················································································28
5.2.1 fsck 유틸리티와 호환성···································································28
5.2.2 구체적 충돌 현상 ··············································································28
5.2.3 Internal Checker 메커니즘 ····························································30
5.3 SD카드 전원 결함 및 제거 문제 해결 메커니즘 ····························31
5.3.1 미리할당 정책과 Sync를 통한 동기화의 한계 ····························31
5.3.2 재부팅 후 제어 자료구조 복원 ······················································32
5.4 IoT 디바이스 워크로드 합성 생성기와 매니저 ······························· 33
Ⅵ. 평가 ··············································································································35
6.1 실험환경 ···································································································35
6.2 실험 내용 및 결과 ·················································································36
6.2.1 센서 이벤트별 파티셔닝 정책 검증 ··············································36
6.2.2 메타데이터 업데이트 비교 실험 ····················································37
6.2.3 블록 I/O 요청 횟수 비교 실험 ·····················································38
6.2.4 센서 데이터 파일에 대한 단편화 측정 ········································ 39
6.2.5 Fsck에 의한 중간 삽입된 EOF 확인 ············································ 40
6.2.6 Space Leak 발생 확인 ·····································································41
6.2.7 Internal Checker에 의한 삽입된 EOF 제거 및 복구 ················ 42
6.2.8 Internal Checker에 의한 Space Leak 제거 ·································43
Ⅶ. 결론 ··············································································································44
참고문헌 ·············································································································45
영문요약 ·············································································································49

최근 본 자료

전체보기

댓글(0)

0