UBIFS
UBIFS개발자 | 노키아와 Szeged 대학교 지원 |
---|---|
풀네임 | 정렬되지 않은 블록 이미지 파일 시스템 |
소개했다 | Linux 커널 2.6.27 사용 | 전(
구조물들 | |
디렉토리 내용 | B+ 트리 |
한계 | |
파일 이름에 허용되는 문자 | NUL 및 슬래시 "/"[citation needed]를 제외한 임의의 바이트 |
특징들 | |
포크 | 네. |
특성 | 네. |
파일 시스템 권한 | POSIX |
투과적 압축 | 네. |
다른. | |
지원되는 운영 체제 | 리눅스 |
UBIFS(UBIFS, UBI File System, 보다 완전한 정렬되지 않은 블록 이미지 파일 시스템)는 관리되지 않는 플래시 [1]메모리 장치를 위한 플래시 파일 시스템입니다.UBIFS는 메모리 테크놀로지 디바이스(MTD) 레이어 위에 있는 [2]UBI(Unsorted Block Image) 레이어 [3]위에서 작동합니다.파일 시스템은 노키아 엔지니어가 헝가리 Szeged 대학의 도움을 받아 개발했습니다.개발은 2007년에 본격적으로 시작되었으며, 2008년 10월에 Linux 커널 2.6.27에 대한 첫 번째 안정적인 릴리스가 이루어졌습니다.[4]
UBIFS와 JFFS2의 두 가지 주요 차이점은 UBIFS가 쓰기 [5]캐시를 지원하고 UBIFS가 빈 공간 [6]계산의 비관적인 측면에서 오류를 발생시킨다는 것입니다.대형 NAND 플래시 메모리 장치의 경우 [7]UBIFS가 JFFS2보다 더 나은 성능을 발휘하는 경향이 있습니다.이는 UBIFS 설계 [8]목표인 마운트 속도 향상, 대용량 파일 액세스 속도 향상과 같은 결과입니다.또한 UBIFS는 JFFS2의 즉각적인 압축, 복구 기능 및 정전 [8]허용성을 유지 또는 개선합니다.UBIFS의 온 더 플라이 데이터 압축 기능을 통해 zlib(감소 알고리즘), LZO 또는 Zstandard를 사용할 수 있습니다.
UBIFS는 인덱스를 플래시에 저장하고 JFFS2는 파일 시스템 인덱스를 [9]메모리에 저장합니다.이는 볼륨이 마운트될 때마다 테이블을 재구축해야 하므로 JFFS2의 scalability에 직접적인 영향을 미칩니다.또한 JFFS2 테이블은 시스템 RAM을 충분히 소비하여 일부 이미지를 사용할 수 없는 경우가 있습니다.
기본소득
UBI(Unsorted Block Images)[10]는 플래시 메모리 디바이스의 소거 블록 관리 레이어입니다.UBI는 NAND 플래시 메모리 불량 블록을 추적하고 마모 레벨을 제공하는 두 가지 목적을 수행합니다.웨어 레벨링은 지우기 및 쓰기를 플래시 장치 전체에 분산시킵니다.UBI는 논리 삭제 블록을 상위 계층에 제시하고 이를 물리적 삭제 블록에 매핑합니다.UBI는 UBIFS를 위해 특별히 작성되었으며 UBIFS는 마모 레벨링 및 불량 블록을 처리할 필요가 없습니다.그러나 UBI는 스쿼시와 NAND 플래시에서도 유용할 수 있습니다. 스쿼시는 NAND 플래시 불량 블록을 인식하지 못합니다.
UBI 문서에서는 완전한 플래시 변환 레이어(FTL)가 아니라고 설명하고 있습니다.FTL은 불량 블록 및 마모 레벨링도 처리하지만 FTL이 제공하는 인터페이스는 완전히 독립적으로 쓸 수 있는 작은 섹터(일반적으로 512바이트)를 가진 블록 디바이스입니다.이와는 대조적으로 UBI의 인터페이스는 삭제 블록과 프로그래밍 가능한 페이지(일반 블록 장치 섹터보다 훨씬 큰 크기)를 직접 노출하며, UBI를 사용하는 파일 시스템은 쓰기 전에 블록을 지워야 하는 크기와 제한 사항을 알고 있어야 합니다.
UBI는 논리볼륨 매니저와 유사한 점이 있습니다.일반적으로 플래시를 고정 영역으로 분할하는 것이 아니라 단일 UBI 디바이스가 플래시 전체에 걸쳐 있으며(부트로더용으로 예약된 고정 위치에 있는 몇 페이지만 제외), UBI 디바이스 내에 여러 볼륨이 생성됩니다.따라서 일부 볼륨이 다른 볼륨보다 더 자주 기록되더라도 전체 플래시에 걸쳐 마모 레벨을 분산할 수 있습니다.UBI 볼륨은 정적(전체 파일 또는 이미지를 한 번 쓰고 UBI에 의해 CRC-32에 의해 보호됨) 또는 동적(데이터 무결성을 담당하는 읽기/쓰기 파일 시스템 포함)일 수 있습니다.UBI를 직접 지원하는 파일 시스템은 UBIFS뿐이지만gluebi
MTD 디바이스를 에뮬레이트하여 JFFS2나 YAFS와 같은 다른 플래시 파일 시스템을 실행할 수 있습니다.ubiblk
Ext4와 같은 일반적인 파일 시스템을 실행할 수 있는 블록 디바이스를 에뮬레이트할 수 있습니다.
패스트 맵
Linux 3.7에서는 UBI가 패스트맵 [11][12]지원으로 강화되었습니다.Fastmap은 플래시 디바이스 전체를 스캔하여 이전에 메모리에 작성된 정보의 온디스크 버전을 유지합니다.코드는 장애 시 전체 스캔의 이전 메커니즘으로 돌아가며, 오래된 UBI 시스템은 단순히 패스트맵 정보를 무시합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Jonathan Corbet (2 April 2008). "UBIFS". LWN.net. Retrieved 18 December 2016.
- ^ "UBIFS – UBI File-System: Big red note". 22 January 2015. Retrieved 18 December 2016.
It does not work on top of block devices. UBIFS was designed to work on top of raw flash.
- ^ "UBIFS – UBI File-System: Overview". 22 January 2015. Retrieved 18 December 2016.
- ^ Artem Bityutskiy (27 March 2008). "UBIFS – new flash file system". Retrieved 18 December 2016.
- ^ "UBIFS – UBI File-System: Write-back support". 22 January 2015. Retrieved 18 December 2016.
- ^ "UBIFS FAQ and HOWTO: Why does df report too little free space?". 18 December 2015. Retrieved 18 December 2016.
- ^ "UBIFS – UBI File-System: Scalability". 22 January 2015. Retrieved 18 December 2016.
- ^ a b Bityutskiy, Artem; Hunter, Adrian (24 September 2008). "UBIFS File System" (PDF). p. 9.
- ^ Adrian Hunter (27 March 2008). "A Brief Introduction to the Design of UBIFS" (PDF).
- ^ "UBI – Unsorted Block Images". 22 January 2015. Retrieved 18 December 2016.
- ^ Thomas Petazzoni (3 October 2012). "UBI fastmap making its way to mainline". Archived from the original on 15 November 2012. Retrieved 18 December 2016.
- ^ Richard Weinberger (24 September 2012). "UBI: Fastmap request for inclusion (v18)". Retrieved 18 December 2016.
외부 링크
- 홈페이지
- Szeged 대학교: UBIFS
- XO 노트북에 대한 UBIFS 실험 (자녀 1명당 노트북 1대)
- UBIFS 파일 시스템