題:
相機為什麼不支持日誌文件系統?
Vaddadi Kartick
2014-01-05 19:58:12 UTC
view on stackexchange narkive permalink

像SD卡的NTFS,HFS +或ext4一樣?畢竟,日記減少了數據丟失的機會,這對於攝影師而言很重要。在巴厘島時,我丟失了一張可能包含一千張照片的SD卡,這是我之前或之後沒有機會去的地方。

在下次旅行之前,我可以採取任何預防措施嗎? ?

我是否理解SDXC(exFAT)和Sony Memory Stick所提供的可靠性不比SD卡高?

請分別發布SDXC與SD卡問題。 AFAICT與日記文件系統無關。
嗯。SDXC使用不同的文件系統(exFAT),因此它與文件系統問題有關。我同意這與日記無關,但我很好奇exFAT / SDXC卡是否比FAT32 / SD更可靠。我得到了答案。謝謝。
您如何建議我在Windows機器上閱讀這些ext4格式的卡?
在SD上運行這些文件系統中的任何一個,都可能很快殺死閃存。
@Tim聽起來確實很合理。您是否有一些引用來支持該語句? (可能值得將您的評論擴展為答案)。
@PhilipKendall不是我的來源,但是這個SE答案提到了它:http://serverfault.com/questions/41674/flash-drives-should-be-formatted-ntfs ...無論如何,SSD硬盤實際上需要特殊的邏輯以避免浪費使用普通文件系統時閃爍。像SD卡中那樣的廉價閃存甚至不太適合這種負載。 FAT是一個非常簡單的文件系統,非常適合相機造成的連續存儲負載並導致閃存損耗低。儘管如此,主要問題已經在所提供的答案中:增加了複雜性而沒有收益。
這裡的錯誤是在卡上保留1000張照片而沒有備份。如果旅行到您將無法訪問要備份的計算機的遠程位置,則應攜帶備份設備。
我不會擔心日誌文件系統會大大降低設備的使用壽命。如果這意味著我的照片沒有丟失,我會很樂意選擇將壽命從5年減少到4.5年。吉姆,指責用戶使用不可靠的技術並沒有幫助。我希望我的工具可靠。至於“如何在Windows上訪問ext4?”問題,您可以將相機連接到計算機並使用MTP,或者相機OEM可以捆綁安裝的ext4驅動程序。是的,這很不方便,但是丟失照片不再方便。但我同意這是一個折衷。
吉姆,我想不出一種旅行時備份照片的好方法。我閱讀了http://photo.stackexchange.com/questions/533/how-can-i-backup-my-photos-while-travelling和http://photo.stackexchange.com/questions/924/how-can-我在旅行時備份了我的原始照片,沒有互聯網訪問權限,但它們對我不起作用。請查看我對Itai答案的評論,以了解原因。
@KartickVaddadi日誌文件系統將使壽命減少10%(5年至4.5年),您的數字來源是什麼?您是否可以指出一些研究?
@KartickVaddadi:邏輯扇區號和物理磁盤塊之間的映射層會創建故障模式,這種模式不同於通常與磁介質相關聯的任何模式。不了解隱藏在其中的映射層的文件系統無法避免該層造成的任何故障模式。
@KartickVaddadi如果將卡的使用壽命從5年縮短至2年並且成本提高兩倍,該怎麼辦?您是否會對權衡感到滿意?
邁克爾,當然不是:)超級貓,同意並且很有趣。我在這裡向您致辭。菲利普,你是對的,我不是。您是否有研究表明它會導致生命的急劇減少?或者我想我們可以問一下@supercat,,因為他是這方面的專家。
我看不到這裡提到的JFFS,它旨在提供日誌文件系統的價值,同時提供閃存介質損耗平衡。不一定非要為照片用途而爭辯,但是存在這樣的事情...
十 答案:
Nir
2014-01-05 22:01:48 UTC
view on stackexchange narkive permalink

讓我們做一些成本效益分析:

  1. 日誌文件系統更複雜-這意味著更長的開發時間,更多的錯誤,更多的電池耗電,更高的生產成本等

  2. 日誌文件系統解決的問題-損壞的FS數據,但文件數據完整-通過第三方數據恢復工具可以很好地解決。

  3. 日誌文件系統無法解決所有問題,您確實需要良好的備份-不僅存在帶有內置備份的系統(雙卡插槽),此功能還用於使專業人士獲得更昂貴的相機。

  4. 沒有很大的存儲卡可靠性危機,這些存儲卡相當可靠,故障相對較少。

  5. 最後,在Windows和Mac上都沒有現成可用的日誌文件系統。

  6. ol>

    所以-如果您是產品經理您是否會批准以下項目:1.以不完整的方式解決已經解決的問題(使用第三方工具); 2.不足以成為賣點; 3.使市場的很大一部分無法使用相機(至少沒有安裝其他競爭品牌將不需要的軟件)?

實際上,OSX可以讀取NTFS卷,並使用某些終端foo將其寫入其中(http://osxdaily.com/2013/10/02/enable-ntfs-write-support-mac-os-x/)。
@JustinDearing:整齊!您應該將其作為質量檢查交叉發佈到*問*中。
OS X中的默認文件系統配置(意味著,所有Mac都預裝了該配置)是HFS +,並且已啟用日記功能。實際上,啟用了Time Machine _requires_日記功能。
@strugee-我不是說OS X沒有日記文件系統-我說OS X和Windows都沒有開箱即用的單一系統(Windows根本不了解HFS +,而Mac則完全不了解(默認)不能寫NTFS)
@Nir啊,沒關係。我誤解了。
Itai
2014-01-05 20:16:37 UTC
view on stackexchange narkive permalink

帶日誌的文件系統僅確保文件系統的完整性。如果卡確實發生故障,則整個文件系統都會發生故障。現在,如果您有一些壞的存儲單元,那麼您將只使用佔據該空間的任何照片,而日誌文件系統也無濟於事。換句話說,這是您所描述的事件的錯誤解決方案。

真正的解決方案是冗餘,這就是為什麼您會從Nikon,Pentax和Canon那裡找到提供雙存儲卡插槽的高端產品的原因。並能夠一次將圖像寫入兩張卡的功能。這為您提供了即時備份。如果這些相機不方便您使用,則必須尋找其他方法進行頻繁備份。有些人每天在筆記本電腦,便攜式驅動器,光盤上進行此操作。

雖然我還沒有嘗試過,並且不確定它的實用性,但是您也可以使用WiFi設備或卡(SD / SDHC僅AFAIK),當您將圖像捕穫後自動將其發送到另一台聯網設備(可能是平板電腦或具有良好存儲空間的設備)。自己也可以在FAT32中使用。大多數相機都會接受這兩種方式。但是,可靠性差異可能為零。

是的,但這不是唯一的失敗模式,不是嗎?以我為例,對整個卡進行多次寫入的壓力測試沒有檢測到錯誤,因此我不認為這是存儲單元損​​壞的問題。只是一些腐敗。關於壞的存儲單元,日誌文件系統將確保僅丟失存儲在那裡的照片,而不丟失整個文件系統(擁有數千張照片),對嗎?如果日誌文件系統是解決該問題的錯誤解決方案,恐怕我看不到正確的解決方案。旅行時,我並不總是擁有筆記本電腦,平板電腦或便攜式磁盤來備份照片。
日誌文件系統可確保整個文件系統是一致的,但實際上它們並不會為損壞做任何事情。您將需要一些冗餘。
並且確保整個文件系統一致意味著僅丟失具有損壞塊的文件,而不會丟失整個文件。
@KartickVaddadi用於在旅行時備份照片,請參閱[此問題](http://photo.stackexchange.com/q/533/9161)
謝謝,巴特。我看了一下這個問題以及從那裡鏈接的問題。我不想在休假的有限時間內去尋找網吧,在公共計算機上輸入密碼,等等。恕我直言,這是一種比疾病更有效的治療方法。也有備用設備,但是我必須同意這樣的答案,即它們昂貴或不便,否則當您住在便宜的旅館中時可能會丟失它們。我已經經常旅行,價值數千美元的裝備,而且我不想讓它變得更糟。
@KartickVaddadi我認為最好假設當您購買任何類型的閃存時,它都會在某個時間點失敗。如果您不願意在野外進行投資以降低風險,那麼您可以做的最好的事情就是確保您從信譽良好的製造商那裡購買可靠的卡。
@KartickVaddadi您正在嘗試吞下駱駝,以免吃東西過緊。如果您在設備上花費了“數千美元”,那麼要想利用第二個存儲卡插槽,還是必須購買一張額外的20美元的額外存儲卡?
20美元不是什麼,但我指的是便利性,我想盡量減少攜帶的零散物品的數量。此外,我可以隨身攜帶十二張卡,但是擁有另一張卡並不能幫助從損壞的卡中恢復照片,而日記則不會出現這種情況。攜帶另一張卡是針對不可靠技術的一種變通方法,一種破解方法。我不敢相信您在爭論它應該保持不可靠。
@KartickVaddadi:進行壓力測試以多次寫入整張卡,除了將您的卡推向不可靠之外,它不會做任何其他事情,因為它是我們正在討論的閃存而不是磁性介質。在擦除塊開始失敗之前,閃存(至少基於NAND)僅支持有限數量的寫入。轉換層將通過在寫入時將失敗的塊映射到工作塊來嘗試對我們隱藏。
獅子座,如果某些塊永久損壞,那麼我應該不能成功地將8GB數據寫入8GB卡中,對嗎?不僅可以寫,而且還可以成功讀回。是的,我知道它會稍微減少卡的壽命,但是我需要知道如果卡不可靠,在這種情況下我會把它扔掉。或者這是一次腐敗。
@KartickVaddadi:是的,您應該這樣做。大多數NAND閃存芯片都帶有專門用作替換模塊的備用模塊,因此用戶不會注意到模塊變壞了。正如其他評論所指出的那樣:NAND閃存本質上是不穩定的,將其推向極限只會使它更有可能發生故障。
謝謝,我會記住這一點。那麼,您是否建議我丟棄該特定的SD卡?
如果無法取出照片,我將立即銷毀該卡片。對於大多數酒店來說,對於大多數顧客來說,瀏覽每晚或幾乎所有網吧的計算機上的計算機,應該可以實現每晚備份到便攜式驅動器。
James Snell
2014-01-05 20:58:41 UTC
view on stackexchange narkive permalink

歸結為解決“有市場嗎?”和“採用的障礙是什麼?”。即使這是值得的,但它們都為採用提供了巨大的障礙。

NTFS將產生許可費用,即使為相機的處理器提供了一個合適的庫(並不能保證)並在Windows外部提供支持也是如此。會不完整。儘管HFS +和ext4在Windows中沒有本機支持,但消除了許多潛在的客戶群。因此,這些產品沒有市場。

如您所述, SCXD 標準需要 exFAT ,因此您會看到出現了對更大,更快卡的支持,但事實並非如此。如此簡單,因為更多的代碼也容易出錯,並且對於像相機這樣的嵌入式系統,您真的不想推出固件更新,因此希望在寫入 exFAT 卡時可能可讀並且採用正確的格式,它實際上可能並未使用任何可能提供任何保護的 exFAT 功能。因此,採用這種方法也存在很大的障礙。

大多數卡的故障模式很可能是控制器,而不是存儲單元,這是很多工作(製造成本),卻沒有什麼好處。

p>

Sony MS(MemoryStick)仍然是SLC或MLC閃存,只是控制器和物理連接在系統之間有所不同。在遇到這種情況時,最好的保護是隨身攜帶一個小型便攜式備份設備,它們體積小巧,價格相對便宜(而且可能與Journaled文件系統也不兼容。)

[NFS](https://en.wikipedia.org/wiki/Network_File_System)不是磁盤上的文件系統,它是一種網絡協議(就其解決的問題而言,與它相當熟悉的FTP大致相當) )。您是說[HFS +](https://en.wikipedia.org/wiki/HFS_Plus)(Mac OS本身使用的文件系統)嗎?
我確實是說HFS +,將進行編輯:)
Michael C
2014-01-05 22:39:53 UTC
view on stackexchange narkive permalink

據我所知,所有在零售市場上生產的數碼相機都結合了相機文件系統(DCF)設計規則 DCF標準的一部分是FAT文件系統必須由兼容的設備使用。該標準已被數碼相機行業用作將數字圖像和聲音文件存儲在存儲設備中的事實上的標準,確保從一個品牌到另一個品牌的互操作性。

有關DCF的更多信息,請參見 https://photo.stackexchange.com/a/46387/15871

該標準是否會阻止相機供應商使用NTFS。 HFS +或其他文件系統(如果插入了使用這些系統之一格式化過的卡),還是要求相機簡單地說“卡不可用”?
某一時刻規範不包括FAT32 IIRC。目前(DCF v2,2010年發布),該規範僅限於所有FAT變體+ exFAT。因此,如果成員願意,將來會有擴展DCF的先例,以包括其他文件系統。
@supercat這將超出現在編寫的標準。標準始終會進行修訂。但是問題似乎是在問為什麼現在沒有任何相機支持日誌文件系統。
@JamesSnell [Regular FAT16](https://en.wikipedia.org/wiki/FAT16B#FAT16B)在每個分區上也達到2 GiB,因此允許稍作更新的做法解決了一個非常實際的問題。在非Microsoft系統中對FAT32的廣泛支持[似乎已經在2000年左右實現](https://en.wikipedia.org/wiki/File_Allocation_Table#FAT32),並且FAT32甚至在今天仍然有用得多使用512字節邏輯扇區大小時,每個分區2 TiB。
@MichaelKjörling-我很清楚FAT16的局限性,我並不是說FAT32是在2010年添加的(那是在添加exFAT的時候)。關鍵是CIPA發現擴展規範很有用,並且可以在將來的文件系統中進行擴展。顯然,他們看到了對FAT32以外的東西的需求。
derobert
2014-01-09 04:41:41 UTC
view on stackexchange narkive permalink

一個明顯的原因:因為相機上的日記文件系統很可能不會對您(或任何人)有所幫助。

作為一個非常高級的概述,以下是日記文件系統的作用:每次寫入之前到元數據(或數據,如果還有數據記錄的話),請首先將要更改的內容寫到日記中。只有在確定磁盤上有磁盤後,才繼續進行更改。基本上,這意味著如果在寫入過程中電源中斷,則可以使用日誌恢復文件系統,然後繼續執行日誌中的任何操作。

這在台式PC上很有價值,因為台式PC上可能會斷電,或者用戶可能會按下“重置”按鈕或拔下插頭等。在服務器上(斷電),它也很有價值,但作用不大)和筆記本電腦(重置按鈕)。

相機由電池供電。它具有關閉開關,但這通常會告訴固件將其關閉-這不是物理電源斷開。通常沒有重置按鈕,或者如果有重置按鈕,則基本上不會使用。因此,您不需要日記,固件只需完成寫入即可。唯一的例外是如果您物理上卸下了電池。可能是外部電源發生了這種情況,但除此之外,相機絕不要經歷不正常關機。

而且,幾乎沒有閃存設備實際上可以處理意外的電源故障好。將它們放在部門搬遷(損耗均衡)的中間,所有賭注都關閉了。因此,即使您擁有日記文件系統,也仍然無法避免電源故障。

日記文件系統不能保護您免受以下損害:

  • 損壞SD等卡上的閃存控制器。
  • 損壞相機的SD主機硬件
  • 損壞相機的文件系統代碼
  • 固件的SD驅動程序中的錯誤
  • 介質上的扇區丟失
  • 硬件故障(例如,由於宇宙射線,靜電釋放,EM噪聲,水等引起的)

事實上,日記文件系統更複雜,因此您實際上更有可能遇到文件系統錯誤。它會放大寫入,因此您更有可能遇到閃存控制器或SD主機錯誤。而且您會稍早耗盡閃光燈。

S182
2014-01-06 10:29:19 UTC
view on stackexchange narkive permalink

日誌文件系統對SD卡(或任何NAND Flash設備)不利。

寫操作對NAND Flash設備而言很昂貴,日誌文件系統比非日誌文件系統寫的更多。

因此,SD卡的運行速度會變慢,而日記文件系統的使用時間會減少。

基於FLASH的存儲,其核心使用了一種稱為NAND閃存。 NAND FLASH可讀可寫,但有一些皺紋。

  1. 基本讀寫單元是“頁”,而不是扇區。 2007-2008年的FLASH設備的頁面大小為2K,在2009年的版本中遷移為4K的頁面大小,而在2011年的一代中已觀察到16K的頁面大小。

  2. 您隨時都無法寫頁面-在寫頁面之前,必須先擦除它。但是您不能一次擦除單個頁面-您必須擦除(通常)64個連續頁面的整個“擦除塊”(128Kbytes或256Kbytes,具體取決於一代)。並且,在擦除完該塊之後,就不能以任意順序寫入頁面,而必須從第一個頁面開始依次寫入。

  3. 塊往往會磨損隨著時間的流逝。在一定數量的擦除週期之後,一個塊將永久“變質”,因此它將不再可靠地保存數據。頁面也可能由於對其他頁面的寫入活動甚至由於讀取而導致數據錯誤!

  4. ol>

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

編輯:值得一提的是,日記文件系統不會比非日記文件系統具有明顯優勢。

Flash設備使用塊重映射層(FTL),因此您不會一次又一次地寫入同一物理塊。 Android使用ext4之類的文件系統,因此我看不出您的論據不適合使用Flash的有效性。
Android設備通常具有一些RAM和閃存,不是嗎?
在塊變壞之前,塊重新映射不會增加每個塊的寫總數,它只是將寫操作散佈到整個卡上,因此幾乎每個塊都以相同的速率磨損。與非日記系統相比,日記系統使用更多的寫操作來執行相同的操作,因此使用日記系統時,卡損壞之前的總寫入次數會更快。
我知道,但是我可以縮短我的SD卡壽命,如果這意味著我不太可能使用您的照片。您說的所有內容都適用於Android,該設備的確在閃存上使用日誌文件系統。因此,這並不像您要實現的那麼重要。
Android存在一些與存儲相關的問題(I / O延遲),並且他們正在實施[TRIM](http://en.wikipedia.org/wiki/Trim_%28computing%29)命令來改善這種情況。 SD卡製造得既便宜又小巧,而不是堅固耐用。有一些更健壯的選擇,但它們更昂貴。
Android之所以使用JSF,是因為這些設備會不斷地從多個進程中寫入信息,並且它們很容易意外關閉(OS塊,電池電量低等)。這不是最好的,但他們需要它。另一方面,Cameras中的持久性操作要簡單得多,並且JFS會帶來比解決方案更多的問題。 [日誌文件系統更具彈性,不易損壞,但不受干擾。](http://unix.stackexchange.com/a/12700/56031),在大多數情況下,您可以使用以下命令修復非日誌文件“掃描磁盤”。
@Kartick Vaddadi:我認為JSF無法解決您在OP中提到的數據丟失問題。有關SD管理的一般建議是:不要自己格式化它們,因為它們帶有出廠特定的格式設置。始終使用兩倍於所需大小的SD卡,因為它將在更多塊中分配擦除/寫入操作。
@MichaelClark:塊重映射的一個更重要的功能是允許磁盤充當具有可獨立寫入的512字節扇區的驅動器,即使介質本身對寫入數據的順序有更多的限制。
Serge,有人告訴我,SD卡管理的一個好習慣是在相機中格式化它們,以便為使用創建最佳的文件系統配置。像FAT32 vs exFAT,以及在格式化文件系統時可以指定的任何配置參數。那不是真的嗎Serge,您對Android的觀點是正確的,而且我意識到我的比較並非100%準確。感謝您提供的信息和觀點。但是,不能說日記文件系統不是100%可靠的,所以不要使用它。沒有什麼能解決所有問題。如果能解決一些問題,那就是向前邁出了一步。
supercat
2014-01-06 04:16:55 UTC
view on stackexchange narkive permalink

不同的文件系統在使用它們的系統中需要不同數量的RAM。從理論上講,需要將文件寫入FAT文件系統的系統可以通過單個512字節的緩衝區來解決,儘管性能會非常糟糕。擴展到兩個或三個512字節緩衝區將極大地改善性能。超越這一點將使性能有所改善,從大卡中獲得最佳性能要比從小卡中獲得最佳性能要多,但只有小緩衝區的相機才能在小卡中獲得最佳性能。即使效率較低,也可以與較大的產品一起使用。

一個棘手的問題集中在以下事實上:存儲卡標準規定每個卡的行為就像一個512字節扇區的編號集合,可以按任意順序獨立讀取和寫入,但這不是數據存儲在存儲卡上的方式。卡內的籌碼。典型存儲卡中使用的存儲芯片分為528字節的頁面;依次將它們分為256個或更多的塊。寫入頁面後,如果不擦除頁面及其塊中的所有其他頁面,則無法對其進行重寫。從理論上講,SD卡有可能通過將其塊中的所有數據複製到RAM,擦除該塊並將整個塊寫回但將新數據寫入一個扇區來滿足寫入512字節扇區的請求。 。在實踐中,性能將令人恐懼。相反,寫入扇區將導致SD卡選擇空白頁,將數據連同其扇區號和各種輔助信息一起寫入(原因是頁面為528字節而不是512字節),並以某種方式跟踪該地址是否正確數據的位置。當空白頁面供不應求時,控制器將識別一個頁面,該頁面的頁面大部分已被最近寫入的頁面所取代,將所有當前頁面從該頁面複製到空白頁面,然後擦除整個現在的冗餘頁面。所有這些邏輯完全由卡本身處理,而無需相機的任何干預。

所有這些邏輯意味著,除了攝像機可以看到的FAT32或其他文件系統之外,SD卡還需要具有自己的塊分配和管理系統。該系統中發生的任何問題都可能導致數據丟失,無論位於其頂部的是哪種系統。從理論上講,許多存儲卡旨在確保即使在某些操作過程中意外斷電,該存儲卡也能夠將卡的狀態回滾到操作開始之前的狀態,或者將其運行到完成狀態(如果所有必要的數據均已寫入,並且該卡只是在清除冗餘數據)。不幸的是,卡在實現這種邏輯的方式上有所不同。如果意外的功率損耗破壞了卡的存儲管理表,那麼了解這種表的內部工作原理的軟件可能能夠恢復對於僅使用基於扇區的讀寫接口的任何軟件都看不見的數據。

就個人而言,我認為SD聯盟指定一個獨立於FAT32的文件系統會更好,或者至少指定即使一個卡必須作為FAT32卷可讀,也應該使用一個文件寫入基於通信協議。一張知道每個文件的扇區組的卡可以優化其碎片整理程序,並且與必須將磁盤顯示為一堆獨立的512字節的磁盤相比,可以更好地防止數據丟失。部門,但無論好壞,這都不是事情的具體規定。

我認為已經有一個標準的解決方案:塊重映射層,其頂部是標准文件系統(NTFS,HFS +,ext4)。而且它也用於Android的移動設備。攝像頭操作系統可能更原始,但需要修復。
@KartickVaddadi:塊重映射層是標準的;我的觀點是,如果實現了塊重映射層的存儲卡至少在某種程度上可以識別文件系統的佈局,那麼與沒有這種知識的情況相比,它可以更有效地優化重映射的佈局。
可以,但是我更願意嘗試一些經過測試的東西,而不是在塊設備層和文件系統之間提出新的接口。我們不是在這裡討論CS研究:)我想拿一些可以在我的計算機和手機上使用的東西,並將其放在相機上。
@KartickVaddadi:我已經為具有各種約束的嵌入式設備設計了一些損耗均衡的閃存文件系統。如果損耗平衡系統被告知“我要寫入文件;請在此處
...這是數據;而已。我想寫另一個文件;這是數據;就是這樣,它的行為比只給一堆單獨的扇區工作而又不知道它們代表什麼要聰明得多。此外,與每個文件關聯的所有數據塊都可以用標記標記,例如“文件ID 193,291,374的塊347,更新273,837,199。”
@KartickVaddadi:使用此類標記標記文件的每個塊可以幫助避免數據丟失。用邏輯扇區號標記與文件分配無關的數據塊的幫助遠沒有那麼大。
@KartickVaddadi:在我不小心單擊“添加評論” [並且不太成功]之後急於擊敗五分鐘計時器,我忽略了我的要點,實際上這不只是恢復問題:針對攝像頭典型使用模式進行了優化的API與必須支持任意順序的512字節扇區寫入的應用程序相比,應用程序可以提供更快,更一致的性能。例如,如果將大多數空間格式化為128K塊,並要求將1000K文件寫入7個128K塊和26個4K塊...
...那麼大多數閃存將不會被包含舊數據和新數據混合的塊碎片化;所有未使用的空間將合併為完全空白的塊。僅在寫入文件的最後一點時才需要更好的分配。
是的,我在考慮http://www.networkcomputing.com/storage-networking-management/seagate-boosts-disk-drive-intelligence/240162976
user25159
2014-01-06 12:16:00 UTC
view on stackexchange narkive permalink

假設卡被簡單地損壞,你還沒有把它扔或覆蓋它,我強烈建議你嘗試PhotoRec。 (幾個月前,這使我擺脫了不太那麼糟糕的局面。它甚至發現一些倖存下來的圖像被刪除了一年或兩年。)

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

關於日記FS,我有多次相同的問題。正如其他人所說,與磁性介質相比,當前的閃存介質實際上是脆弱的,並且很難記錄日誌。由於相機的使用模式通常是拍攝一堆照片,請先讀取它們,然後將其全部刪除,因此對高級FS功能的需求不大。簡單,經過測試的實現可能比日記的邊際收益更重要。另一個好處是,FAT的啞巴分配策略使PhotoRec之類的工具更容易使用。

我想在那種情況下我確實使用過PhotoRec。仍然感謝您的鏈接。
Garf
2014-01-06 15:13:53 UTC
view on stackexchange narkive permalink

1,如果您實際上遺失了卡片,上帝將無法拯救您。您是什麼意思在巴厘島遺失了卡?

2,日誌式FS專門用於突然的OS故障或突然的電源故障。當這些不良情況發生時,它們使FS元數據保持一致。如果您希望刪除的文件回來,它們將無濟於事。

3,壞塊是基於NAND FLASH的存儲設備中最關鍵的問題。寫作時會出現壞塊。因此,在為NAND FLASH存儲選擇FS時,應首先考慮寫入頻率。顯然,就像其他所有人所說的那樣,日記式FS帶來了更多的東西要寫。

4,日記式FS當然具有更多的功能。當然更複雜。但是,我認為這些並不是我們不將其用於NAND FLASH的主要原因。

TADA ~~就是這樣。

1.請參閱我對AJ答案的評論。 2.我沒有手動刪除文件。 3.就像我在其他評論中所寫的那樣,您如何解釋Android在閃存中使用日誌記錄的FS?它並不像您確定的那樣糟糕。不丟失照片比減少卡的使用壽命更為重要。
大多數日記式FS需要一個或多個守護進程/線程來管理其“日誌”。 (例如,對於EXT3,在Linux中為kjournald)如果環境不是一個沒有進程/線程概念的成熟OS,將很難採用它們。
@KartickVaddadi再次,請提供一些研究指示,表明日誌文件系統只會使卡的壽命僅“微不足道”減少。這是您第二次聲明它。
公平的問題,但是請記住,正如我已經說過很多次,Android使用它。如果導致媒體壽命的急劇減少,他們不會使用它,對嗎?此外,我也可以請您引用一些研究表明它會導致生命的急劇減少:)
也許我們應該問@supercat,,因為他是專家,而且我們倆都沒有引用數據。
@KartickVaddadi:我對Android文件系統的實現方式一無所知,但我希望典型的卡在其生命週期內可以容納一定數量的扇區寫入總數,並且文件系統將盡力確保一切總是最新的,它將執行的寫入更多。但是,我懷疑大多數卡被替換的原因不是超出扇區寫入的最大次數。還值得注意的是,相機的內存使用方式將與手機的使用方式大不相同。
那麼,您是說相機上的日誌文件系統會導致SD卡文件的減少量微不足道嗎?
AJ Henderson
2014-01-06 01:00:08 UTC
view on stackexchange narkive permalink

文件系統本身不需要復雜,因為圖像只是簡單地寫入卡中,在初始創建後幾乎不需要對文件進行任何編輯,也不需要同時進行文件I / O操作

數據完整性問題實際上是在硬件級別解決的,因為所有閃存本質上都是不穩定的。 SD卡中的控制器會執行很多自己的檢查和存儲技巧,以確保數據有效。日記文件系統無濟於事,因為它處理數據存儲的完整性而不是文件操作的完整性。

照相機使用這種簡單(高速)的文件操作,複雜的文件系統會導致額外的成本和復雜性,從而導致I / O速度變慢,並可能引入更多的錯誤,這些錯誤會由於更複雜的文件處理而導致數據丟失,而不會使相機受益匪淺。

就我而言,文件系統已損壞,可能是由於相機的文件系統代碼中的錯誤在極少數情況下觸發的。日記將確保如果發生這種情況,文件系統更有可能不會受到損壞,這意味著您不會丟失數千張照片。
@KartickVaddadi-您確定是文件系統損壞了,而不是SD卡本身損壞了嗎? FAT表的文件損壞問題永遠不會導致整個存儲卡出現故障,除非存儲卡本身發生故障,否則對於大多數照片來說,它應該很容易恢復。您如何確定確切失敗的原因。
我能夠使用那些可以忽略文件系統,讀取設備上所有塊並嘗試找出文件內容的恢復工具之一,從筆記本電腦中恢復大部分照片。我無法用相機閱讀它,這意味著我無法在當天餘下的時間裡拍照,而且我再也沒有去過那天去過的地方,所以這是一個錯失的機會。
@KartickVaddadi-是的,但這可能是文件系統或SD卡故障。如果TOC被清除,則無論使用FAT還是NTFS,您都仍然需要在文件系統上進行恢復。我仍然不確定日誌文件系統是否會有所幫助。日記文件系統的主要優點是可以從部分寫入的文件中恢復,因為它知道文件或目錄記錄是錯誤的。您正在處理的問題很可能是分配表損壞,可能是磁盤或文件系統故障。
@KartickVaddadi:我認為,從原則上來說,應該始終嘗試備有備用卡,如果正在使用該卡,則表明有任何故障跡象會立即切換至備用卡,從而避免破壞任何可能會造成故障的數據。可從有問題的卡中恢復。
超級貓,自那次經歷以來,我一直在攜帶另一張卡片。不過,感謝您指出這一點。當我使用傻瓜相機時,我沒有攜帶相機包(我只是將相機裝在口袋裡),因此沒有方便攜帶的卡。所以我就把它留在我的旅館房間裡。現在,我有了一個需要裝袋的NEX,然後將備用SD卡放入袋中。底線:是的,我有兩張卡。
AJ,我同意日記對所有失敗模式都不會有所幫助,只是會有所幫助。但這對我來說足夠擁有它了。
@KartickVaddadi-但這仍然是一個非常非常小的優勢,因為這實際上一直很重要。出現丟失的罕見機會(尤其是在使用高質量卡時),在許可成本,增加的複雜性,性能降低,硬件要求更加複雜等方面的支出所抵消,這是可以抵消的。 ,我們會看到這種情況的存在,但是普遍的共識是,在極少數情況下,您可能不值得這樣做。
也許可以,但是我認為人們很快就會開始要求他們的相機比手機更原始。如果在Android和iOS上實現日記功能,但是相機製造商說:“哦,不,我們使用原始操作系統”,那將不是一個可靠的藉口。無論如何,我認為我們現在處於觀點而非事實領域,因此也許我們應該結束這一討論。謝謝你的幫助。
@KartickVaddadi-在電池供電的設備中可能發生的最糟糕的情況是,日誌文件系統可以告訴您在寫入過程中是否拔出了電池,這可能會有所幫助。但是,需要寫入的數據將丟失,並且分配表本身也可以以最小的恢復恢復,因為這只會是一個未完成的新TOC記錄(在最壞的情況下)。日記功能對相機沒有任何好處。它確實為Android提供了一些小好處,因為它是具有多個同時讀取/寫入和修改操作的更高功率的設備。
日記文件系統的主要優點是確保您知道操作(例如更新等)是否還沒有完成,但是相機不進行更新操作,創建新文件或刪除文件。這不是意見領域,而僅僅是日記操作的幫助。相機不做日記幫助的事情。對於相機而言,最糟糕的情況是在斷電或拉動存儲卡之前部分地創建了文件,但這僅意味著並非所有數據都在那裡,並且也不知道一張照片是不好的。
為文件創建FAT條目時如果出現問題怎麼辦?如某處的錯誤?然後,您可能會損壞整個FAT文件系統,而日記文件系統不會發生這種情況,對嗎?
@KartickVaddadi-我很確定對於一個新文件,不良的分配記錄將被忽略,並且不會影響系統的其餘部分。重要的是在文件被修改的情況下,如果操作在操作中途進行,則整個文件可能會丟失,因為日誌系統可以恢復。自從我上次深入探討確切的寫入順序以來已經過去了幾年。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...