플래시 파일 시스템
Flash file system플래시 파일 시스템은 플래시 메모리 기반 스토리지 장치에 파일을 저장하도록 설계된 파일 시스템입니다.플래시 파일 시스템은 일반적으로 파일 시스템과 밀접하게 관련되어 있지만 플래시 메모리의 특성 및 특성(쓰기 증폭 방지 등) 및 특정 운영 체제에서 사용하도록 최적화되어 있습니다.
개요
블록 디바이스 계층은 디스크 드라이브를 에뮬레이트하여 범용 파일 시스템을 플래시 기반 스토리지 디바이스에서 사용할 수 있지만 다음과 같은 몇 가지 이유로 최적이라고 할 수 없습니다.
- 블록 지우기: 플래시 메모리 블록을 쓰기 전에 명시적으로 삭제해야 합니다.블록을 소거하는 데 걸리는 시간이 길 수 있으므로 디바이스가 아이돌 상태일 때 사용하지 않는 블록을 소거하는 것이 좋습니다.
- 랜덤 액세스: 범용 파일 시스템은 검색 비용이 많이 들기 때문에 가능한 한 디스크 검색을 피할 수 있도록 최적화되어 있습니다.플래시 메모리 디바이스는 시크 레이텐시를 발생시키지 않습니다.
- 마모 레벨링: 플래시 메모리 장치는 단일 블록을 반복적으로 덮어쓰면 마모되는 경향이 있습니다.플래시 파일 시스템은 쓰기를 균등하게 분산하도록 설계되었습니다.
로그 구조화 파일시스템은 플래시 파일시스템에 [1]필요한 모든 속성을 갖추고 있습니다.이러한 파일 시스템에는 JFFS2 및 YAFS가 포함됩니다.
플래시 메모리의 특성 때문에 마모 레벨링 및 오류 수정을 수행하는 컨트롤러 또는 미디어에 쓰기를 분산시키고 NAND 플래시 블록의 긴 지우기 시간을 처리하는 특별히 설계된 플래시 파일 시스템과 함께 사용하는 것이 가장 좋습니다.플래시 파일 시스템의 기본 개념은 플래시 저장소를 업데이트할 때 파일 시스템은 변경된 데이터의 새 복사본을 새 블록에 쓰고 파일 포인터를 다시 매핑한 다음 시간이 나면 이전 블록을 지웁니다.
실제로 플래시 파일 시스템은 컨트롤러가 없는 내장 플래시 메모리인 MTD(Memory Technology Devices)에만 사용됩니다.이동식 플래시 메모리 카드 및 USB 플래시 드라이브에는 마모 레벨링, 불량 블록 복구, 정전 복구, 가비지 수집 및 오류 수정과 같은 전용 알고리즘으로 [2][3]MTD를 관리하는 컨트롤러가 내장되어 있으므로 플래시 파일 시스템을 사용하는 데는 한계가 있습니다.
플래시 기반 메모리 장치는 모바일 장치의 수가 증가하고 메모리 크기당 비용이 감소하며 플래시 메모리 칩의 용량이 증가함에 따라 더욱 보편화되고 있습니다.
오리진스
플래시를 자유롭게 쓸 수 있는 디스크로 관리하는 최초의 플래시 파일 시스템은 1992년 7월 캘리포니아 주 산타 클라라에서 열린 PC-Card Expo에서 소프트웨어 제품으로 선보였으며 [4]1993년에 특허를 취득한 이스라엘 M-Systems의 TrueFFS였습니다.
최초의 플래시 파일 시스템 중 하나는 MS-DOS에 사용하기 [5]위한 마이크로소프트의 FFS2로, 1992년 가을에 출시되었습니다.FFS2에는 플래시 파일 시스템으로는 부족하지만 플래시 어레이를 쓰기 가능한 디스크가 아닌 WORM(write once read many) 공간으로 관리하는 "FFS"라는 이전 제품이 도입되었습니다.
1994년경 업계 그룹인 PCMCIA는 M-Systems의 TrueFFS 설계에 따라 Flash Translation Layer(FTL; 플래시 변환 레이어) 사양을 승인했습니다.이 사양은 M-Systems와 SCM Microsystems에 의해 작성 및 공동 제안되었으며, 또한 FTL의 첫 번째 작업 구현을 제공하기도 했습니다.인텔의 승인을 받은 [6]FTL은 PCMCIA 이외의 미디어에서도 널리 사용되는 플래시 파일 시스템 설계가 되었습니다.
Linux 플래시 파일 시스템
- JFFS, JFFS2 및 YAFS
- JFFS는 Linux용 최초의 플래시 전용 파일 시스템이었지만, 처음에는 NOR 플래시용으로 개발된 JFFS2로 빠르게 대체되었습니다.그 후 YAFS는 2002년에 NAND 플래시를 중심으로 출시되었으며, JFFS2도 NAND 플래시를 지원하도록 업데이트되었습니다.
- UBIFS
- UBIFS는 2008년 Linux 2.6.22[7] 이후 통합되었습니다.UBIFS는 초기 [8]병합부터 활발하게 개발되었습니다.UBIFS에는 JFFS2 및 MTD 드라이버와 함께 infradead.org에서 호스팅되는 문서가 있습니다.일부 초기 비교 결과, 압축 속도가 F2FS보다 [9]빠른 UBIFS가 나타났습니다.
- F2FS
- F2FS([10]Flash-Friendly File System)가 Linux 커널 3.8에 추가되었습니다.F2FS는 원시 플래시 장치와 직접 대화하는 대신 SD [11]카드와 같은 플래시 변환 레이어가 이미 포함된 플래시 기반 스토리지 장치에서 사용하도록 설계되었습니다.
유니언 파일 시스템
이 섹션은 어떠한 출처도 인용하지 않습니다.(2015년 12월 (이 및 ) |
Overlayfs, Unionfs 및 aufs는 여러 파일 시스템을 결합하여 단일 트리로 사용자에게 표시할 수 있는 유니언 파일 시스템입니다.이것에 의해, 시스템 설계자는, 통상적인 읽기/쓰기 영역에, 다른 미디어상의 읽기 전용의 OS 의 일부를 배치할 수 있습니다.OpenWrt는 보통 FTL이 없는 원시 플래시 칩에 설치됩니다.overlayf를 사용하여 압축된 읽기 전용 스쿼시를 결합합니다.FS 와 JFFS2 를 사용합니다.
변환 레이어
「 」를 참조해 주세요.
레퍼런스
- ^ Arnd Bergmann (2011-02-18). "Optimizing Linux with cheap flash drives". LWN.net. Retrieved 2013-01-26.
- ^ "Phison's USBkey controller PS2251-63". Archived from the original on 2011-07-28. Retrieved 2011-05-26.
- ^ OpenNFM: SSD 및 임베디드 스토리지 모듈용 오픈 소스 NAND FTL
- ^ 미국 특허 5404485, "Flash 파일 시스템, Amir Ban"
- ^ Microsoft FFS2 특허
- ^ "Understanding the Flash Translation Layer (FTL) Specification" (PDF). Intel. December 1998. Archived from the original (PDF) on 2014-07-19. Retrieved 2015-07-27.
- ^ Jonathan Corbet (2008-04-02). "UBIFS". LWN.
- ^ Richard Weinberger (2012-09-24). "UBI: Fastmap request for inclusion". LKML.
- ^ Neil Brown (2012-12-11). "JFFS2, UBIFS, and the growth of flash storage". LWN.
- ^ "Filesystems and storage". Kernel Log - Coming in 3.8. The H. 2013-01-21. Retrieved 2013-01-23.
- ^ Neil Brown (2012-10-10). "An f2fs teardown". LWN.net. Retrieved 2014-04-09.
외부 링크
- 다양한 플래시 파일 시스템 프레젠테이션– 2007-09-24
- 다양한 플래시 파일 시스템에 관한 기사– 2005 USENIX 연차 회의
- 다양한 플래시 파일 시스템 조사– 2005년 8월 10
- Linux 플래시 파일 시스템 개요– 2008년 5월 20일