카메라가 저널 파일 시스템을 지원하지 않는 이유는 무엇입니까?


15

SD 카드의 경우 NTFS, HFS + 또는 ext4와 같은? 결국 저널링은 데이터 손실 가능성을 줄이며 이는 사진가에게 중요합니다. 발리에있을 때 수천 장의 사진이 포함 된 SD 카드를 잃어 버렸습니다.

다음에 여행하기 전에 취할 수있는주의 사항이 있습니까? 카메라에서 카드를 포맷 하시겠습니까?

SDXC (exFAT) 및 Sony Memory Stick이 SD 카드보다 더 높은 안정성을 제공하지 않는다는 것을 이해하고 있습니까?


2
SD에서 이러한 파일 시스템을 실행하면 플래시 메모리가 매우 빨리 죽일 수 있습니다.
Tim Seguine

1
내 소스는하지 @PhilipKendall하지만,이 SE 응답은 언급 : serverfault.com/questions/41674/... ... 어쨌든 SSD 하드 드라이브가 실제로 일반 파일 시스템을 사용하는 경우 플래시를 부수고 피하기 위해 특별한 논리가 필요합니다. SD 카드와 같은 저렴한 플래시 메모리는 이러한 종류의 부하에 덜 적합합니다. FAT는 카메라의 순차 스토리지로드에 적합한 매우 간단한 파일 시스템으로, 플래시 메모리 마모가 적습니다. 주요 문제는 이미 제공된 답변에 있습니다.
Tim Seguine

2
여기서 오류는 백업하지 않고 1000 장의 사진을 카드에 보관하는 것입니다. 백업 할 컴퓨터에 액세스 할 수없는 원격 위치로 여행하는 경우 백업 장치를 가지고 있어야합니다.
Jim Garrison

1
@KartickVaddadi 저널 파일 시스템이 수명을 10 % (5 년에서 4.5 년) 단축시키는 숫자의 출처는 무엇입니까? 당신이 지적 할 수있는 연구가 있습니까?
Philip Kendall

1
@KartickVaddadi : 논리 섹터 번호와 물리 디스크 블록 사이의 매핑 계층은 일반적으로 자기 매체와 관련된 실패 모드를 만듭니다. 숨겨져있는 매핑 계층을 이해하지 못하는 파일 시스템은 해당 계층에 의해 발생하는 모든 실패 모드를 피할 수 없습니다.
supercat

답변:


28

약간의 비용 편익 분석을 해보자.

  1. 저널링 된 파일 시스템은 더 복잡합니다. 개발 시간이 길고 버그가 많으며 배터리 소모가 많으며 생산 비용이 높습니다.

  2. 저널링 된 파일 시스템 (FS 데이터는 손상되었지만 파일 데이터는 손상되지 않음)으로 해결 된 문제는 타사 데이터 복구 도구로 잘 처리됩니다.

  3. 저널 파일 시스템은 모든 문제를 해결하지는 못하고 실제로 백업이 필요하며 내장 백업 기능이있는 시스템 (이중 카드 슬롯)뿐만 아니라 전문가가 더 비싼 카메라를 얻는 데 사용되는 기능입니다.

  4. 큰 메모리 카드 신뢰성 위기가없고, 그 카드는 꽤 안정적이며 고장은 비교적 드 rare니다.

  5. 마지막으로 Windows와 Mac 모두에서 기본적으로 지원되는 저널 파일 시스템이 없습니다.

따라서-담당 제품 관리자 인 경우 1. 이미 해결 된 (타사 도구를 사용하여) 문제를 불완전한 방식으로 해결하는 프로젝트를 승인 하시겠습니까? 2. 판매 포인트가 될만큼 중요하지 않으며 3. 시장에서 카메라를 사용할 수없는 상당 부분 (적어도 다른 브랜드에 필요하지 않은 추가 소프트웨어를 설치하지 않은 상태)?


3
실제로 OSX는 NTFS 볼륨을 읽고 터미널 foo로 쓸 수 있습니다 .
저스틴 친애하는

1
@JustinDearing : 깔끔한! 당신은 교차 게시물을해야으로 QA로 askdifferent .
ov

OS X의 기본 파일 시스템 구성 (즉, 모든 Mac에 사전 설치되는 구성)은 저널링이 활성화 된 HFS +입니다. 실제로 Time Machine 저널링을 활성화 해야합니다 .
strugee

1
@ strugee-OS X에 저널링 파일 시스템이 없다고 말하지 않았습니다 .OS X와 ​​Windows가 모두 사용할 수있는 단일 시스템이 없다고 말했습니다 (Windows는 HFS +를 전혀 이해하지 못합니다. 기본적으로) NTFS를 쓸 수 없습니다)
Nir

@Nir 아, 신경 쓰지 마라. 나는 오해했다.
strugee

11

저널 파일 시스템은 파일 시스템의 무결성 만 보장합니다. 카드가 실제로 실패하면 전체 파일 시스템에서 실패합니다. 메모리 셀이 불량한 경우 해당 공간을 차지한 사진 만 사용하고 저널 파일 시스템도 도움이되지 않습니다. 다시 말해, 이것은 당신이 묘사 한 사건에 대한 잘못된 해결책입니다.

실제 솔루션은 이중화이므로 Nikon, Pentax 및 Canon의 듀얼 메모리 카드 슬롯과 한 번에 두 카드에 이미지를 기록 할 수있는 고급 제품을 찾을 수 있습니다. 이것은 즉시 백업을 제공합니다. 해당 카메라가 편리하지 않은 경우 자주 백업하는 다른 방법을 찾아야합니다. 어떤 사람들은 매일 랩톱, 휴대용 드라이브, 광 디스크에서 작업합니다.

아직 시도하지 않았으며 실용성이 확실하지 않은 경우 이미지를 다른 네트워크 장치 (태블릿 또는 좋은 저장 공간을 가진 무언가.

SDXC는 기본적으로 exFAT 형식으로 제공되지만 FAT32에서도 직접 형식을 지정할 수 있습니다. 대부분의 카메라는 두 가지 방법으로 모두 사용할 수 있습니다. 신뢰성의 차이는 아마도 0입니다.


예, 그러나 이것이 유일한 실패 모드는 아닙니다. 그렇지 않습니까? 필자의 경우 전체 카드에 여러 번 쓰는 스트레스 테스트에서 오류를 감지하지 못했기 때문에 메모리 셀의 문제가 아니라고 생각합니다. 약간의 부패. 불량 메모리 셀과 관련하여 저널링 된 파일 시스템은 거기에 저장된 사진 만 손실되고 수천 개의 사진과 함께 전체 파일 시스템이 손실되지 않도록합니다. 저널 파일 시스템이 문제에 대한 잘못된 해결책이라면 올바른 해결책이 무엇인지 알지 못합니다. 여행 할 때 사진을 백업 할 노트북, 태블릿 또는 휴대용 디스크가 항상있는 것은 아닙니다.
Vaddadi Kartick

저널링 된 파일 시스템은 전체 파일 시스템이 일관되게하지만 실제로는 손상되지 않습니다. 이를 위해 약간의 중복성이 필요합니다.
Itai

1
@KartickVaddadi 어떤 유형의 플래시 메모리를 구입할 때 어떤 시점에서 실패한다고 가정하는 것이 가장 좋습니다. 현장에있을 때 위험을 줄이기 위해 투자하지 않으려는 경우 최선을 다하는 것은 평판 좋은 제조업체로부터 신뢰할 수있는 카드를 구매하는 것입니다.
Peng Tuck Kwok

4
@KartickVaddadi 당신은 모기를 먹는 긴장을 피하기 위해 낙타를 삼키려고합니다. 장비에 '수천 달러'를 지출했다면, 추가 메모리 카드를 구입하기 위해 추가로 20 달러를 지불해야하는 경우는 무엇입니까?
Michael C

1
@KartickVaddadi : 전체 카드에 여러 번 쓰는 스트레스 테스트는 자기 미디어가 아니라 플래시 스토리지이므로 카드를 신뢰성에 더 가깝게 밀지 않는 것 외에는 아무 것도하지 않습니다. 플래시 스토리지 (적어도 NAND 기반)는 지우기 블록이 실패하기 전에 제한된 수의 쓰기 만 지원합니다. 변환 계층은 쓸 때 실패한 블록을 작업 블록에 매핑하여이를 숨기려고 시도합니다.
Leo

5

내가 아는 한, 소매 시장에서 판매되도록 제작 된 모든 디지털 카메라에는 DCF (Camera File System)디자인 규칙이 포함되어 있습니다. DCF 표준의 일부는 FAT 파일 시스템을 호환 장치에서 사용해야한다는 것입니다. 이 표준은 한 브랜드에서 다른 브랜드로의 상호 운용성을 보장하기 위해 디지털 카메라 업계의 메모리 장치에 디지털 이미지 및 사운드 파일을 저장하기위한 사실상의 표준으로 채택되었습니다.

DCF에 대한 자세한 내용은 /photo//a/46387/15871 을 참조 하십시오 .


표준에 따라 카메라 공급 업체가 NTFS를 사용할 수 없게 되었습니까? HFS + 또는 다른 파일 시스템이 해당 시스템 중 하나로 포맷 된 카드를 삽입했거나 카메라가 단순히 "카드 사용 불가"라고 말해야합니까?
supercat

한 시점에서 사양에는 FAT32 IIRC가 포함되지 않았습니다. 현재 (DCF v2, 2010 년 발표)이 사양은 모든 FAT 변형 + exFAT로 제한됩니다. 따라서 구성원이 원할 경우 다른 파일 시스템을 포함하도록 DCF가 앞으로 확장 될 선례가 있습니다.
제임스 스넬

@supercat 그것은 지금 쓰여졌을 때 표준 밖에있을 것입니다. 표준은 항상 개정 될 수 있습니다. 그러나 문제는 현재 카메라가 저널 파일 시스템을 지원 하지 않는 이유를 묻는 것 같습니다 .
Michael C

@JamesSnell Regular FAT16 도 파티션 당 2GiB를 차지 하므로 약간 더 현대적인 것을 허용하는 움직임은 매우 실제적인 문제를 해결했습니다. 비 Microsoft 시스템에서 FAT32에 대한 광범위한 지원은 2000 년 경에 구현 된 것으로 보이며 FAT32는 512 바이트의 논리 섹터 크기를 사용할 때 오늘날 파티션 당 2TiB보다 훨씬 더 유용합니다.
CVn

@ MichaelKjörling-FAT16 덕분에 FAT16의 한계에 대해 잘 알고 있으며 FAT32가 2010 년에 추가되었다고 말하는 것은 아닙니다 (exFAT가 추가 된 시점). 요점은 CIPA가 사양을 확장하는 것이 유용하다는 점이며, 원하는 경우 향후 파일 시스템으로도 그렇게 할 수 있다는 것입니다. 분명히 그들은 FAT32 이외의 무언가에 대한 요구 / 욕구를 보았습니다.
James Snell

5

"시장이 있습니까?"를 해결하는 것입니다. "채택의 장벽은 무엇입니까?" 이들 각각은 가치가 있더라도 채택에 큰 장벽을 제시합니다.

NTFS는 카메라의 프로세서에 적합한 라이브러리가 존재하더라도 (보증되지는 않음) 라이센스 비용이 발생하며 Windows 외부 지원은 패치가되지 않습니다. HFS + 및 ext4는 Windows에서 기본적으로 지원되지 않으므로 잠재적 인 고객 기반을 상당 부분 제거합니다. 따라서 시장은 없습니다.

언급 했듯이 SCXD 표준 에는 exFAT 가 필요 하므로 더 크고 빠른 카드에 대한 지원이 나타나는 것처럼 보이지만 더 많은 코드가 잘못되기 쉽고 카메라와 같은 임베디드 시스템을 사용하는 것만 큼 간단하지는 않습니다. 실제로 펌웨어 업데이트를 배포하고 싶지 않으므로 exFAT 카드에 쓰기 작업을 읽을 수 있고 올바른 형식 일 수 있지만 실제로 보호 기능을 제공 할 수 있는 exFAT 기능을 사용하지 못할 수 있습니다. 따라서 채택에도 상당한 장벽이 있습니다.

대부분의 카드의 고장 모드는 메모리 셀처럼 컨트롤러 일 가능성이 높으며 거의 ​​이점이없는 많은 작업 (제조 비용)입니다.

Sony MS (MemoryStick)는 여전히 SLC 또는 MLC 플래시 메모리이며 시스템간에 다른 컨트롤러와 물리적 연결 일뿐입니다. 당신이 경험 한 상황에서 가장 좋은 보호는 소형 휴대용 백업 장치를 휴대하는 것입니다. 포켓 크기이며 비교적 저렴합니다 (아마도 저널 파일 시스템과 호환되지 않을 수도 있습니다).


NFS 는 온 디스크 파일 시스템이 아니라 네트워크 프로토콜입니다 (이 문제가 해결되는 측면에서 훨씬 친숙한 사촌 FTP와 거의 비슷합니다). HFS + (Mac OS에서 기본적으로 사용되는 파일 시스템) 를 의미 했습니까 ?
CVn

나는 실제로 HFS +를 의미했고, 편집 할 것이다 :)
James Snell

4

한 가지 분명한 이유 : 카메라의 저널링 파일 시스템이 도움이되지 않았기 때문입니다.

매우 높은 수준의 개요로서 저널링 파일 시스템의 기능은 다음과 같습니다. 메타 데이터 (또는 데이터가 저널링 된 경우 데이터)에 쓰기 전에 먼저 저널로 변경할 내용을 작성하십시오. 디스크에 있는지 확인한 후에 만 ​​변경 사항을 작성하십시오. 기본적으로 이는 쓰기 중에 전원이 중단되면 저널을 사용하여 파일 시스템을 복구 할 수 있음을 의미합니다. 저널에서 작업을 수행하십시오.

이는 전원이 꺼 지거나 사용자가 재설정 버튼을 누르거나 플러그 등을 뽑을 수있는 데스크탑 PC에서 유용합니다. 또한 서버 (정전) 및 랩톱 (재설정 단추)에서 덜 중요합니다. .

카메라는 배터리로 작동합니다. 스위치가 꺼져 있지만 일반적으로 펌웨어를 종료하도록 지시합니다. 물리적 인 전원 연결이 끊어지지 않습니다. 일반적으로 재설정 버튼이 없거나 기본적으로 사용되지 않는 버튼이 있습니다. 따라서 저널링이 필요하지 않으며 펌웨어가 쓰기를 마칠 수 있습니다. 배터리를 물리적으로 제거한 경우는 예외입니다. 외부 전원 팩에서 발생했을 수도 있지만 그 외에는 카메라가 비정상적으로 종료 되지 않아야합니다 .

또한 플래시 장치는 실제로 예기치 않은 정전을 잘 처리하지 않습니다. 섹터 재배치 (마모 레벨링)의 중간에 놓으면 모든 베팅이 해제됩니다. 따라서 저널링 파일 시스템이 있어도 정전으로부터 안전하지는 않습니다.

저널링 파일 시스템은 다음으로부터 보호 하지 않습니다 .

  • SD 등 카드의 플래시 컨트롤러에 버그가 있습니다.
  • 카메라의 SD 호스트 하드웨어 버그
  • 카메라의 파일 시스템 코드 버그
  • 펌웨어 SD 드라이버의 버그
  • 미디어 부문의 손실
  • 하드웨어 오작동 (예 : 우주선, 정전기 방전, EM 노이즈, 물 등으로 인해)

실제로 저널링 파일 시스템은 더 복잡 하므로 실제로 파일 시스템 버그가있을 가능성이 높습니다. 쓰기를 증폭시켜 플래시 컨트롤러 나 SD 호스트 버그에 부딪 칠 가능성이 높습니다. 그리고 당신은 약간 더 빨리 플래시를 닳게 될 것입니다.


3

저널 파일 시스템은 SD 카드 (또는 NAND 플래시 장치)에 좋지 않습니다.

쓰기 작업은 NAND 플래시 장치에 비용이 많이 들고 저널 파일 시스템은 동일한 활동을 위해 저널링되지 않은 파일 시스템보다 더 많이 쓰는 경향이 있습니다.

따라서 SD 카드는 저널링 파일 시스템에서 느리게 작동하고 지속성이 떨어집니다.

FLASH 기반 스토리지는 핵심적으로 NAND FLASH라는 기술을 사용합니다. NAND FLASH는 읽고 쓸 수 있지만 몇 가지 주름이 있습니다.

  1. 기본 읽기 / 쓰기 장치는 섹터가 아닌 "페이지"입니다. 2007-2008 세대 FLASH 디바이스는 2K 페이지 크기를 가지며 2009 세대에서 4K 페이지 크기로 마이그레이션하고 2011 세대에서 16K 페이지 크기가 관찰되었습니다.

  2. 언제든지 페이지를 작성할 수 없습니다. 페이지를 작성하기 전에 먼저 삭제해야합니다. 그러나 한 번에 한 페이지를 지울 수는 없습니다. 일반적으로 64 개의 연속 페이지 (생성에 따라 128Kbyte 또는 256Kbyte)의 "삭제 블록"전체를 지워야합니다. 그리고 블록을 지운 후에는 임의의 순서로 페이지에 쓸 수 없으며 처음부터 시작하여 순차적으로 작성해야합니다.

  3. 블록은 시간이 지남에 따라 마모되는 경향이 있습니다. 특정 횟수의 소거주기 후에는 블록이 영구적으로 "나쁜 상태"가되어 더 이상 데이터를 안정적으로 보관할 수 없습니다. 페이지는 다른 페이지에 대한 쓰기 활동의 결과로, 심지어 읽기 결과로 인해 데이터 오류를 발생시킬 수 있습니다!

http://wiki.laptop.org/go/How_to_Damage_a_FLASH_Storage_Device

편집 : 저널 파일 시스템은 저널링되지 않은 파일 시스템보다 큰 이점을 제공하지는 않습니다.


1
플래시 장치는 FTL (block remapping layer)을 사용하므로 동일한 물리적 블록에 반복해서 쓰지 않습니다. 안드로이드는 ext4와 같은 파일 시스템을 사용하므로 플래시에 적합하지 않다는 주장의 타당성이 보이지 않습니다.
Vaddadi Kartick

안드로이드 기기는 일반적으로 플래시뿐만 아니라 약간의 RAM을 가지고 있습니다.
Michael C

1
블록 리매핑은 블록이 잘못되기 전에 블록 당 총 쓰기 수를 늘리지 않고 거의 모든 블록이 같은 속도로 마모되도록 전체 카드에 쓰기 작업을 분산시킵니다. 저널링 된 시스템은 저널링되지 않은 시스템과 동일한 작업을 수행하기 위해 더 많은 쓰기 작업을 사용하므로 저널링 된 시스템의 수명주기에서 카드가 잘못되기 전에 총 쓰기 횟수가 더 빨리 발생합니다.
Michael C

1
Android는 스토리지 (I / O 랙)와 관련된 몇 가지 문제가 있으며 상황을 개선하기 위해 TRIM 명령을 구현 하고 있습니다. SD 카드는 견고하지 않고 저렴하고 작게 만들어졌습니다. 더 강력한 대안이 있지만 더 비쌉니다.
S182

1
Android는 JSF를 사용합니다. 이러한 기기는 여러 프로세스에서 지속적으로 정보를 작성하고 있으며 예기치 않게 소리가 나기 쉽습니다 (OS 블록, 배터리 부족 등). 최고는 아니지만 필요합니다. 반면에 카메라의 지속성 작업은 훨씬 단순하며 JFS는 솔루션보다 더 많은 문제를 야기합니다. 저널링 파일 시스템은 복원력이 뛰어나고 부패하기 쉽지만 면역력은 없습니다. 대부분의 경우 "스캔 디스크"로 저널링되지 않은 FS를 복구 할 수 있습니다.
S182

2

다른 파일 시스템은 사용중인 시스템에서 다른 양의 RAM이 필요합니다. FAT 파일 시스템에 파일을 써야하는 시스템은 이론적으로 단일 512 바이트 버퍼를 사용할 수 있지만 성능은 상당히 두려울 수 있습니다. 2 개 또는 3 개의 512 바이트 버퍼로 확장하면 상황이 크게 향상됩니다. 이를 넘어 서면 일이 더 많이 개선되고 더 큰 카드에서 최적의 성능을 얻으려면 작은 카드에서 최적의 성능을 얻는 것보다 더 많은 메모리가 필요하지만 작은 카드로 최적의 효율성을 달성하기에 충분한 버퍼 만 포함 된 카메라는 여전히 덜 효율적이더라도 더 큰 작업을 수행하십시오.

까다로운 문제는 메모리 카드 표준이 각 카드가 임의의 순서로 독립적으로 읽고 쓸 수있는 512 바이트 섹터의 번호가 매겨진 모음으로 동작한다는 사실을 중심으로하지만, 데이터가 칩 내에서 칩에 저장되는 방식이 아닙니다. 카드. 일반적인 메모리 카드에 사용되는 메모리 칩은 528 바이트 페이지로 나뉩니다. 그것들은 차례로 256 이상의 블록으로 그룹화됩니다. 페이지가 작성된 후에는 페이지와 해당 블록의 다른 모든 페이지를 지우지 않으면 다시 작성할 수 없습니다. 이론적으로 SD 카드는 블록의 모든 데이터를 RAM에 복사하고 블록을 지우고 전체 블록을 다시 쓰지만 한 섹터에 새 데이터를 작성하여 512 바이트 섹터 쓰기 요청을 받아 들일 수 있습니다. . 실제로 성능은 두려울 것입니다. 대신에 섹터를 쓰면 SD 카드가 빈 페이지를 선택하고 섹터 번호 및 다양한 보조 정보 (페이지가 512가 아닌 528 바이트 인 이유)와 함께 데이터를 쓰며 적절한 위치인지 추적합니다. 자료. 빈 페이지가 부족한 경우 컨트롤러는 최근에 작성된 페이지로 페이지가 대체 된 페이지를 식별하고 해당 블록의 모든 현재 페이지를 빈 블록으로 복사 한 다음 현재 중복 된 전체 블록을 지 웁니다. . 이 모든 논리는 카메라의 개입없이 카드 자체에서 전적으로 처리됩니다. 빈 페이지가 부족한 경우 컨트롤러는 최근에 작성된 페이지로 페이지가 대체 된 페이지를 식별하고 해당 블록의 모든 현재 페이지를 빈 블록으로 복사 한 다음 현재 중복 된 전체 블록을 지 웁니다. . 이 모든 논리는 카메라의 개입없이 카드 자체에서 전적으로 처리됩니다. 빈 페이지가 부족한 경우 컨트롤러는 최근에 작성된 페이지로 페이지가 대체 된 페이지를 식별하고 해당 블록의 모든 현재 페이지를 빈 블록으로 복사 한 다음 현재 중복 된 전체 블록을 지 웁니다. . 이 모든 논리는 카메라의 개입없이 카드 자체에서 전적으로 처리됩니다.

이 모든 논리는 카메라에 보이는 FAT32 또는 기타 파일 시스템 외에도 SD 카드에 자체 블록 할당 및 관리 시스템이 필요하다는 것을 의미합니다. 해당 시스템에서 발생하는 모든 문제는 시스템 종류에 관계없이 데이터 손실을 일으킬 수 있습니다. 이론적으로, 많은 메모리 카드는 일부 작동 중에 전원이 예기치 않게 제거 되더라도 카드가 작동을 시작하기 전의 상태로 롤백하거나 완료 될 때까지 카드 상태를 롤백 할 수 있도록 설계되었습니다 ( 필요한 모든 데이터가 작성되었고 카드가 단순히 중복 데이터를 정리 한 경우). 불행히도, 카드는 그러한 논리를 얼마나 잘 구현하는지가 다릅니다. 예기치 않은 정전이 카드의 스토리지 관리 테이블을 방해하는 경우,

개인적으로, SD 컨소시엄이 FAT32와 독립적으로 파일 시스템을 지정하는 것이 더 좋았거나 최소한 카드를 FAT32 볼륨으로 읽을 수 있어야하더라도 파일 기반 통신을 사용하여 작성해야한다고 지정했습니다 실험 계획안. 각 파일의 구성원 인 섹터 그룹을 알고있는 카드는 그 주위의 조각 모음 루틴을 최적화 할 수 있으며 디스크를 독립된 512 바이트의 무리로 표시해야하는 것보다 데이터 손실을보다 효과적으로 보호 할 수 있습니다. 더 나쁘거나 나쁘게 그것은 일이 구체화되는 방식이 아닙니다.


표준 파일 시스템 (NTFS, HFS +, ext4)이있는 블록 리매핑 레이어와 같은 표준 솔루션이 이미 있다고 생각합니다. 그리고 Android에서도 모바일에서도 사용됩니다. 카메라 OS가 더 원시적 일 수 있지만 수정해야합니다.
Vaddadi Kartick

@KartickVaddadi : 블록 리매핑 레이어가 표준입니다. 필자의 요점은 블록 리매핑 레이어를 구현 한 메모리 카드가 파일 시스템 레이아웃을 어느 정도 인식 할 수 있다면 그러한 지식 없이는 가능한 것보다 리매핑 레이아웃을보다 효과적으로 최적화 할 수 있다는 것이다.
supercat

물론, 블록 장치 계층과 파일 시스템 사이에 새로운 인터페이스를 제공하는 것보다 시도하고 테스트 한 것을 선호합니다. 우리는 여기서 CS 연구를 이야기하고 있지 않습니다 :) 나는 내 컴퓨터와 휴대 전화에서 작동하는 것을 가져 와서 카메라에 넣고 싶습니다.
Vaddadi Kartick

@KartickVaddadi : 다양한 제약 조건이있는 임베디드 장치를위한웨어 레벨링 플래시 파일 시스템을 설계했습니다. 웨어 레벨링 시스템에 "파일을 쓰고 싶습니다; 여기
supercat

... 데이터가 있습니다. 그게 다야. 다른 파일을 작성하고 싶습니다. 여기에 데이터가 있습니다; 그게 전부입니다. "단순히 작업 할 개별 섹터를 여러 개 제공하고 해당 섹터가 무엇을 나타내는 지 모를 때보 다 지능적으로 동작 할 수 있습니다. 무엇보다도 각 파일과 관련된 모든 데이터 블록에 태그를 표시 할 수 있습니다. 예 : "파일 ID 193,291,374의 블록 347, 업데이트 273,837,199."
supercat

1

카드가 단순히 손상되었고 카드를 던지거나 덮어 쓰지 않았다고 가정하면 PhotoRec을 사용해 보는 것이 좋습니다. (몇 달 전에 나쁘지 않은 상황에서 벗어날 수있었습니다. 심지어 1 ~ 2 년 동안 삭제 된 채 남아있는 이미지도 발견했습니다.)

http://www.cgsecurity.org/wiki/PhotoRec

저널링 FS와 관련하여 동일한 질문이 여러 번 발생했습니다. 다른 사람들이 말했듯이, 현재 플래시 미디어는 실제로 자기 미디어에 비해 깨지기 쉽고 저널링은 어렵습니다. 카메라의 사용 패턴은 일반적으로 많은 사진을 찍고, 읽은 다음 모두 삭제하므로 고급 FS 기능이 필요하지 않습니다. 단순하고 테스트 된 구현은 저널링의 한계 이점보다 더 중요합니다. 추가 혜택으로 FAT의 바보 할당 전략을 통해 PhotoRec와 같은 도구를보다 쉽게 ​​사용할 수 있습니다.


이 경우 PhotoRec을 사용했다고 생각합니다. 어쨌든 링크 주셔서 감사합니다.
Vaddadi Kartick

1

1, 당신이 육체적으로 카드를 잃어버린 경우, 하나님은 당신을 구원하실 수 없습니다. 발리에서 카드를 잃어 버렸다는 것은 무엇을 의미합니까?

2, Journaled FS는 갑작스런 OS 장애 또는 갑작스런 전원 장애와 같은 경우를 위해 만들어졌습니다. 이러한 나쁜 일이 발생할 때 FS 메타 데이터를 일관되게 유지합니다. 삭제 된 파일을 다시 가져 오려면 도움이되지 않습니다.

3, 불량 블록은 NAND FLASH 기반 스토리지의 가장 중요한 문제입니다. 글을 쓸 때 불량 블록이 나타납니다. 따라서 NAND FLASH 스토리지에 FS를 선택할 때는 쓰기 빈도가 가장 먼저 고려해야합니다. 분명히 다른 모든 사람들과 마찬가지로 Journaled FS는 더 많은 것을 쓸 수 있습니다.

4, 저널링 된 FS는 물론 더 많은 전력을 소비합니다. 더 복잡하고 확실합니다. 그러나 이것이 NAND FLASH에 채택하지 않은 주요 이유는 아닙니다.

타다 ~~ 그게 다야.


1. AJ의 답변에 대한 내 의견을 참조하십시오. 2. 파일을 수동으로 삭제하지 않았습니다. 3. 다른 의견들에서 썼 듯이, 플래시에서 저널링 된 FS를 사용하는 Android를 어떻게 설명합니까? 당신이 만드는 것만 큼 나쁘지 않습니다. 사진을 잃지 않는 것이 카드 수명을 조금 줄이는 것보다 중요합니다.
Vaddadi Kartick

3
대부분의 저널링 된 FS에는 "저널"을 관리하기 위해 하나 이상의 데몬 프로세스 / 스레드가 필요합니다. (인스턴스의 경우 EXT3 용 Linux에서 kjournald) env가 완전한 운영 체제가 아닌 경우 프로세스 / 스레드 개념이없는 경우 채택하기가 어렵습니다.
Garf

@KartickVaddadi 다시, 저널링 된 파일 시스템이 카드의 수명을 "마지막"감소시키는 것을 보여주는 일부 연구에 대한 포인터를 제공하십시오. 당신이 주장한 것은 이번이 두 번째입니다.
Philip Kendall

공정한 질문이지만 이미 여러 번 말했듯이 Android에서 사용한다는 점을 명심하십시오. 미디어의 수명을 크게 줄이면 사용하지 않았을까요? 게다가, 나는 그것이 삶의 급격한 감소를 초래한다는 것을 보여주는 연구를 인용하도록 요청할 수 있습니다 :)
Vaddadi Kartick

그가 전문가이기 때문에 @supercat에게 물어봐야 할 것입니다. 우리 중 누구도 데이터를 인용하지 않았습니다.
Vaddadi Kartick

-1

이미지는 단순히 카드에 기록되기 때문에 파일 시스템 자체는 복잡 할 필요가 없으며 초기 생성 후 파일을 편집 할 필요가 거의 없으며 걱정할 필요가있는 파일 I / O 문제가 동시에 발생하지 않습니다. 카메라에.

모든 플래시 메모리가 본질적으로 불안정하기 때문에 데이터 무결성 문제는 실제로 하드웨어 수준에서 해결됩니다. SD 카드 내의 컨트롤러는 자체 검사 및 스토리지 트릭을 많이 수행하여 데이터가 유효한지 확인합니다. 저널링 파일 시스템은 파일 작업의 무결성보다는 데이터 스토리지의 무결성을 처리하므로이 작업에 도움이되지 않습니다.

카메라는 단순한 (고속) 파일 작업을 사용하므로 복잡한 파일 시스템은 추가 비용과 복잡성을 초래하여 I / O 속도가 느려지고 더 복잡한 파일 처리로 인해 데이터가 손실 될 수있는 추가 버그가 발생할 수 있습니다. 카메라에 사용되는 것을 얻습니다.


필자의 경우 파일 시스템이 손상되었을 수 있습니다. 아마도 드문 경우에 트리거되는 카메라 파일 시스템 코드의 버그 때문일 수 있습니다. 저널링을 사용하면 파일 시스템이 손상되지 않고 수천 장의 사진을 잃지 않을 가능성이 높아집니다.
Vaddadi Kartick

3
@KartickVaddadi-SD 카드 자체가 아닌 파일 시스템이 손상 되었습니까? FAT 테이블의 파일 손상 문제는 전체 카드의 고장을 초래하지 않아야하며, 카드 자체가 고장 나지 않는 한 대부분의 사진에서 쉽게 복구 할 수 있어야합니다. 정확히 실패한 것을 어떻게 확신하십니까?
AJ Henderson

파일 시스템을 무시하고 장치의 모든 블록을 읽고 파일이 무엇인지 알아 내려는 복구 도구 중 하나를 사용하여 랩톱에서 대부분의 사진을 복구 할 수있었습니다. 카메라로 읽을 수 없어서 하루 종일 사진을 찍을 수 없었으며 그 날 방문한 장소를 다시는 방문하지 않았으므로 기회를 놓쳤습니다.
Vaddadi Kartick

2
@KartickVaddadi-예, 그러나 파일 시스템 또는 SD 카드 오류 일 수 있습니다. TOC가 지워지면 FAT 또는 NTFS를 사용하는지 여부에 관계없이 파일 시스템에서 복구를 수행해야합니다. 여전히 저널 파일 시스템이 도움이 될지 확실하지 않습니다. 저널 파일 시스템의 주요 장점은 파일 또는 디렉토리 레코드가 잘못되었음을 알고 있기 때문에 부분적으로 작성되는 파일에서 복구 할 수 있다는 것입니다. 당신이 가장 많이 다루고있는 것은 디스크 나 파일 시스템 고장 일 수있는 할당 테이블의 손상이었습니다.
AJ Henderson

2
@ KartickVaddadi : 원칙적으로 항상 여분의 카드를 준비해야하며 카드를 사용하는 경우 문제가 발생하면 즉시 여분의 카드로 전환하여 데이터가 손상되는 것을 피하십시오. 문제가있는 카드에서 복구 할 수있었습니다.
supercat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.