Mengapa kamera tidak mendukung sistem file jurnal?

15

seperti NTFS, HFS + atau ext4, untuk kartu SD? Bagaimanapun, penjurnalan mengurangi kemungkinan kehilangan data, yang akan menjadi penting bagi fotografer. Saya kehilangan kartu SD yang berisi ribuan foto ketika di Bali - tempat yang belum sempat saya kunjungi sebelum atau sesudahnya.

Apakah ada tindakan pencegahan yang dapat saya lakukan sebelum perjalanan di waktu berikutnya? Memformat kartu dalam kamera?

Apakah saya benar dalam memahami bahwa SDXC (exFAT) dan Sony Memory Stick tidak menawarkan keandalan lebih dari kartu SD?

Vaddadi Kartick
sumber
2
menjalankan salah satu sistem file pada SD dapat membunuh memori flash dengan sangat cepat.
Tim Seguine
1
@ PhilipKendall Bukan sumber saya, tetapi jawaban SE ini menyebutkannya: serverfault.com/questions/41674/… ... tetap saja hard drive SSD benar-benar membutuhkan logika khusus untuk menghindari pemotongan flash saat menggunakan sistem file normal. Memori flash yang murah seperti itu di kartu SD bahkan kurang cocok untuk jenis beban ini. FAT adalah sistem file yang sangat sederhana yang sangat cocok untuk beban penyimpanan berurutan yang dibuat oleh kamera dan menyebabkan keausan memori flash yang rendah. Masalah utama sudah ada di jawaban yang diberikan: kompleksitas tambahan tanpa keuntungan.
Tim Seguine
2
Kesalahan di sini adalah menyimpan 1000 foto di kartu tanpa membuat cadangan. Jika bepergian ke lokasi terpencil di mana Anda akan tanpa akses ke komputer tempat Anda membuat cadangan, Anda harus membawa perangkat cadangan.
Jim Garrison
1
@KartickVaddadi Apa sumber Anda untuk nomor Anda bahwa sistem file jurnal akan mengurangi masa pakai sebesar 10% (5 tahun hingga 4,5 tahun)? Apakah Anda memiliki riset yang bisa Anda tunjukkan?
Philip Kendall
1
@KartickVaddadi: Lapisan pemetaan antara angka sektor logis dan blok disk fisik menciptakan mode kegagalan yang tidak seperti biasanya terkait dengan media magnetik; sistem file yang tidak memahami lapisan pemetaan yang tersembunyi darinya tidak dapat menghindari mode kegagalan yang ditimbulkan oleh lapisan itu.
supercat

Jawaban:

28

Mari kita lakukan analisis manfaat biaya kecil:

  1. Sistem file jurnal lebih rumit - ini berarti waktu pengembangan lebih lama, lebih banyak bug, lebih banyak daya baterai habis, biaya produksi lebih tinggi dll.

  2. masalah diselesaikan oleh filesystem journal - data FS rusak tetapi data file utuh - ditangani dengan cukup baik oleh alat pemulihan data pihak ke-3.

  3. sistem file journaled tidak menyelesaikan semua masalah, Anda benar-benar membutuhkan cadangan yang bagus - dan tidak hanya sistem yang memiliki cadangan bawaan (slot kartu ganda) ini adalah fitur yang digunakan untuk membuat pro mendapatkan kamera yang lebih mahal.

  4. tidak ada krisis keandalan kartu memori besar, kartu-kartu itu cukup dapat diandalkan dan kegagalan relatif jarang.

  5. dan akhirnya, tidak ada sistem file journaled yang didukung di luar kotak pada Windows dan Mac.

Jadi - jika Anda adalah manajer produk yang bertanggung jawab, apakah Anda akan menyetujui proyek yang 1. menyelesaikan masalah yang sudah diselesaikan (dengan alat pihak ketiga) dengan cara yang tidak lengkap, 2. tidak cukup penting untuk menjadi titik penjualan dan 3. akan membuat bagian penting dari pasar tidak dapat menggunakan kamera (setidaknya tanpa menginstal perangkat lunak tambahan yang tidak mereka perlukan dengan merek pesaing)?

Nir
sumber
3
Sebenarnya, OSX dapat membaca volume NTFS, dan menulis kepada mereka dengan beberapa terminal foo .
Justin Dearing
1
@JustinDearing: rapi! Anda harus mem -posting itu sebagai QA ke askdifferent .
Ov
konfigurasi sistem file default di OS X (artinya, konfigurasi yang sudah dipasangi semua Mac) adalah HFS + dengan penjurnalan diaktifkan. pada kenyataannya, Time Machine mengharuskan penjurnalan diaktifkan.
strugee
1
@ Strugee - Saya tidak mengatakan OS X tidak memiliki sistem file penjurnalan - Saya mengatakan tidak ada sistem tunggal yang dapat digunakan oleh OS X dan Windows di luar kotak (Windows sama sekali tidak memahami HFS + dan Mac ( secara default) tidak dapat menulis NTFS)
Nir
@Nah ah, tidak apa-apa. Saya salah paham.
strugee
11

Sistem file yang dijurnal hanya menjamin integritas sistem file. Jika kartu benar-benar gagal, gagal dengan seluruh sistem file. Sekarang jika Anda memiliki beberapa sel memori buruk, Anda hanya akan menggunakan foto mana saja yang menempati ruang itu dan sistem file yang dijurnal tidak akan membantu. Dengan kata lain, ini adalah solusi yang salah untuk insiden yang Anda gambarkan.

Solusi sebenarnya adalah redundansi, itulah sebabnya Anda akan menemukan penawaran kelas atas dari Nikon, Pentax dan Canon yang menawarkan slot kartu memori ganda dan kemampuan untuk menulis gambar ke kedua kartu sekaligus. Ini memberi Anda cadangan instan. Jika kamera-kamera itu tidak nyaman bagi Anda, Anda harus menemukan cara lain untuk membuat cadangan sering. Beberapa orang melakukannya setiap hari ke laptop, drive portabel, optical-disk.

Walaupun saya belum mencoba ini dan saya tidak yakin seberapa praktisnya, Anda juga dapat menggunakan perangkat atau kartu WiFi (hanya SD / SDHC AFAIK) yang secara otomatis mengirim gambar Anda saat diambil ke perangkat jaringan lain, mungkin tablet atau sesuatu dengan penyimpanan yang baik.

Sementara SDXC datang memformat sebagai exFAT secara default, Anda dapat memformatnya sendiri di FAT32 juga. Sebagian besar kamera akan menerima keduanya. Perbedaan dalam reliabilitas mungkin nol.

Itai
sumber
Ya, tapi itu bukan satu-satunya mode kegagalan, bukan? Dalam kasus saya, tes stres menulis beberapa kali ke seluruh kartu tidak mendeteksi kesalahan, jadi saya tidak berpikir itu masalah sel memori yang buruk; hanya korupsi. Mengenai sel-sel memori buruk, sistem file jurnal akan memastikan bahwa hanya foto yang disimpan di sana akan hilang dan tidak seluruh sistem file, dengan ribuan foto, kan? Jika filesystem journal adalah solusi yang salah untuk masalah ini, saya khawatir saya tidak melihat apa solusi yang tepat. Ketika saya bepergian, saya tidak selalu memiliki laptop, tablet atau disk portabel untuk cadangan foto.
Vaddadi Kartick
Sistem file jurnal memastikan seluruh sistem file konsisten tetapi mereka benar-benar tidak melakukan apa pun untuk korupsi. Anda perlu redundansi untuk itu.
Itai
1
@KartickVaddadi Saya pikir yang terbaik untuk mengasumsikan ketika Anda membeli semua jenis memori flash itu akan gagal pada suatu titik waktu. Yang terbaik yang dapat Anda lakukan jika Anda tidak ingin berinvestasi untuk mengurangi risiko ketika Anda berada di lapangan adalah memastikan Anda membeli kartu yang dapat diandalkan dari produsen terkemuka.
Peng Tuck Kwok
4
@KartickVaddadi Anda mencoba menelan unta untuk menghindari usaha memakan nyamuk. Jika Anda telah menghabiskan 'ribuan dolar' untuk peralatan Anda, berapa $ 20 lagi untuk kartu memori tambahan yang harus Anda beli untuk memanfaatkan slot kartu kedua?
Michael C
1
@KartickVaddadi: Melakukan tes stres menulis beberapa kali ke seluruh kartu tidak akan melakukan apa pun selain mendorong kartu Anda lebih dekat ke tidak dapat diandalkan karena ini adalah penyimpanan flash yang kita bicarakan dan bukan media magnetik. Penyimpanan flash (setidaknya berbasis NAND) hanya mendukung sejumlah penulisan sebelum menghapus blok mulai gagal. Lapisan terjemahan akan mencoba menyembunyikan ini dari kami dengan memetakan blok yang gagal ke blok yang berfungsi saat menulis.
Leo
5

Sejauh yang saya tahu, semua kamera digital yang diproduksi untuk dijual di pasar ritel menggabungkan aturan Desain untuk Sistem File Kamera (DCF) . Bagian dari standar DCF adalah bahwa sistem file FAT harus digunakan oleh perangkat yang sesuai. Standar ini diadopsi sebagai standar de facto untuk menyimpan gambar digital dan file suara dalam perangkat memori oleh industri kamera digital untuk memastikan interoperabilitas dari satu merek ke merek berikutnya.

Lihat /photo//a/46387/15871 untuk informasi lebih lanjut tentang DCF.

Michael C
sumber
Apakah standar akan mencegah vendor kamera menggunakan NTFS. HFS +, atau sistem file lainnya jika kartu dimasukkan yang diformat dengan salah satu sistem itu, atau apakah kamera diminta untuk hanya mengatakan "kartu tidak dapat digunakan"?
supercat
Pada satu titik spec tidak termasuk FAT32 IIRC. Saat ini (DCF v2, diterbitkan 2010) spesifikasi terbatas untuk semua varian FAT + exFAT. Jadi ada preseden untuk DCF yang akan diperluas di masa depan untuk memasukkan sistem file lain jika anggota menginginkannya.
James Snell
@supercat Itu akan di luar standar seperti yang sekarang ditulis. Standar selalu tunduk pada revisi. Tetapi pertanyaannya tampaknya bertanya mengapa tidak ada kamera saat ini mendukung sistem file yang dijurnal.
Michael C
@JamesSnell Regular FAT16 juga mencapai 2 GiB per partisi, sehingga langkah untuk memungkinkan sesuatu yang sedikit lebih modern memecahkan masalah yang sangat nyata. Dukungan luas untuk FAT32 dalam sistem non-Microsoft tampaknya telah diterapkan pada tahun-tahun sekitar 2000 , dan FAT32 menduduki peringkat yang jauh lebih bermanfaat bahkan hingga saat ini 2 TiB per partisi saat menggunakan ukuran sektor logis 512 byte.
CVn
@ MichaelKjörling - Saya sangat menyadari keterbatasan FAT16 terima kasih dan saya tidak mengatakan FAT32 ditambahkan pada 2010 (saat itulah exFAT ditambahkan). Intinya adalah bahwa CIPA bermanfaat untuk memperluas spesifikasi dan dapat melakukannya dengan sistem file masa depan jika mereka menginginkannya. Jelas mereka melihat kebutuhan / keinginan untuk sesuatu di luar FAT32.
James Snell
5

Itu datang untuk menyelesaikan "apakah ada pasar?" dan "apa hambatan untuk adopsi?". Masing-masing dari mereka menghadirkan hambatan besar untuk adopsi bahkan jika itu berharga.

NTFS akan mengeluarkan biaya untuk lisensi bahkan jika perpustakaan yang sesuai bahkan ada untuk prosesor kamera (yang tidak dijamin) dan dukungan di luar Windows akan tambal sulam. Sementara HFS + dan ext4 tidak memiliki dukungan asli di Windows, menghilangkan banyak basis pelanggan potensial. Jadi tidak ada pasar untuk itu.

Seperti yang Anda sebutkan, exFAT diperlukan oleh standar SCXD sehingga Anda akan melihat bahwa dukungan untuk kartu yang lebih besar dan lebih cepat muncul tetapi tidak sesederhana itu karena lebih banyak kode juga lebih salah, dan dengan sistem tertanam seperti kamera, Anda benar-benar tidak ingin menyingkirkan pembaruan firmware, jadi harap sementara menulis ke kartu exFAT mungkin dapat dibaca dan dalam format yang tepat, itu mungkin tidak benar-benar menggunakan salah satu fitur exFAT yang mungkin menawarkan perlindungan. Jadi ada hambatan yang signifikan untuk adopsi juga.

Mode kegagalan pada sebagian besar kartu adalah pengontrolnya seperti halnya sel memori, karena banyak pekerjaan (biaya pembuatan) untuk sedikit manfaat.

Sony MS (MemoryStick) masih SLC atau MLC flash memory, hanya saja pengontrol dan koneksi fisik yang berbeda di antara sistem. Perlindungan terbaik Anda dalam situasi yang Anda alami adalah dengan membawa perangkat cadangan portabel kecil bersamamu, mereka berukuran saku dan relatif murah (dan mungkin juga tidak kompatibel dengan sistem file Journal.)

James Snell
sumber
NFS bukan sistem file pada disk, ini adalah protokol jaringan (kira-kira setara dengan FTP sepupunya yang jauh lebih akrab dalam hal masalah yang dipecahkannya). Apakah maksud Anda HFS + (sistem file yang digunakan secara native oleh Mac OS)?
CVn
Saya memang bermaksud HFS +, akan mengedit :)
James Snell
4

Satu alasan yang jelas: karena sistem file jurnal pada kamera sangat mungkin tidak akan membantu Anda (atau siapa pun).

Sebagai gambaran tingkat tinggi, inilah yang dilakukan oleh sistem file jurnal: Sebelum masing-masing menulis ke metadata (atau data, jika data juga dijurnal), pertama-tama tulis apa yang akan Anda ubah ke jurnal. Hanya sekali Anda yakin itu ada di disk, silakan dan tulis perubahannya. Pada dasarnya, ini berarti bahwa jika daya terputus selama penulisan, Anda dapat memulihkan sistem file dengan menggunakan jurnal — Anda melanjutkan dan melakukan tindakan apa pun dalam jurnal.

Ini berharga pada PC desktop, di mana daya mungkin padam, atau pengguna dapat menekan tombol reset, atau menarik steker, dll. Juga berharga, tetapi kurang begitu, pada server (listrik mati) dan laptop (tombol reset) .

Kamera bertenaga baterai. Ini memiliki saklar mati, tetapi ini biasanya memberitahu firmware untuk mematikannya — itu bukan pemutusan daya fisik. Biasanya tidak ada tombol reset, atau jika ada, pada dasarnya tidak pernah digunakan. Jadi, Anda tidak perlu membuat jurnal, firmware hanya bisa menyelesaikan penulisan. Satu-satunya pengecualian adalah jika Anda melepas baterai secara fisik. Mungkin itu terjadi dengan paket daya eksternal, tetapi selain itu, kamera seharusnya tidak pernah mengalami shutdown yang tidak bersih.

Juga, hampir tidak ada perangkat flash yang menangani kegagalan daya yang tidak diharapkan dengan baik. Dapatkan mereka di tengah relokasi sektor (leveling pakai), dan semua taruhan dibatalkan. Jadi, bahkan jika Anda memiliki sistem file penjurnalan, Anda tetap tidak akan aman dari kegagalan daya.

Sistem file jurnal tidak melindungi Anda dari:

  • Bug di pengontrol flash pada kartu SD, dll.
  • Bug di perangkat keras host SD kamera
  • Bug dalam kode sistem file pada kamera
  • Bug pada driver SD firmware
  • Hilangnya sektor di media
  • Kerusakan perangkat keras (misalnya, karena sinar kosmik, pelepasan statis, kebisingan EM, air, ...)

Faktanya, sistem file penjurnalan lebih rumit , sehingga Anda sebenarnya lebih cenderung memiliki bug pada sistem berkas. Itu memperkuat menulis, sehingga Anda lebih mungkin untuk memukul flash controller atau bug host SD. Dan Anda akan cepat aus menggunakan flash.

derobert
sumber
3

Sistem File Journal adalah buruk untuk kartu SD (atau perangkat NAND Flash).

Operasi tulis mahal untuk perangkat NAND Flash dan sistem file journaled cenderung menulis lebih dari sistem file non-journal untuk aktivitas yang sama.

Jadi kartu SD akan bekerja lebih lambat dan akan bertahan lebih sedikit dengan sistem file Journal.

Penyimpanan berbasis FLASH, pada intinya, menggunakan teknologi yang disebut NAND FLASH. NAND FLASH dapat dibaca dan ditulis, tetapi dengan beberapa kerutan.

  1. Unit baca / tulis mendasar adalah "halaman", bukan sektor. Perangkat FLASH generasi 2007-2008 memiliki ukuran halaman 2K, bermigrasi ke ukuran halaman 4K pada generasi 2009 dan ukuran halaman 16K telah diamati pada generasi 2011.

  2. Anda tidak dapat menulis halaman kapan saja Anda mau - sebelum Anda menulisnya, Anda harus menghapusnya terlebih dahulu. Tetapi Anda tidak dapat menghapus satu halaman pada suatu waktu - Anda harus menghapus seluruh "blok hapus" dari (biasanya) 64 halaman berturut-turut (128Kbytes atau 256Kbytes tergantung pada generasi). Dan setelah Anda menghapus blok, Anda tidak dapat menulis ke halaman dalam urutan acak, Anda harus menulisnya secara berurutan mulai dari yang pertama.

  3. Balok cenderung aus seiring waktu. Setelah sejumlah siklus penghapusan, blok akan "memburuk" secara permanen, sehingga tidak lagi dapat diandalkan untuk menyimpan data. Halaman juga dapat mengembangkan kesalahan data sebagai hasil dari aktivitas menulis ke halaman lain, dan bahkan sebagai hasil dari pembacaan!

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

Sunting: Perlu disebutkan bahwa sistem File Journal tidak akan membawa keuntungan yang signifikan atas sistem File non-Journal.

S182
sumber
1
Perangkat Flash menggunakan blok remapping layer (FTL), sehingga Anda tidak menulis ke blok fisik yang sama lagi dan lagi. Android menggunakan sistem file seperti ext4, jadi saya tidak melihat validitas argumen Anda bahwa itu tidak cocok untuk flash.
Vaddadi Kartick
Perangkat Android biasanya memiliki beberapa RAM dan juga flash, bukan?
Michael C
1
Block remapping tidak menambah jumlah total penulisan per blok sebelum blok menjadi buruk, itu hanya menyebar operasi penulisan di seluruh kartu sehingga hampir setiap blok dikenakan pada tingkat yang sama. Sistem jurnal menggunakan lebih banyak operasi tulis untuk melakukan hal yang sama daripada sistem non-journal lakukan, sehingga jumlah total penulisan sebelum kartu menjadi buruk akan terjadi lebih cepat dalam siklus hidupnya dengan sistem jurnal.
Michael C
1
Android memiliki beberapa masalah yang berkaitan dengan penyimpanan (I / O lags) dan mereka menerapkan perintah TRIM untuk memperbaiki situasi. Kartu SD dibuat murah dan kecil, tidak kuat. Ada alternatif yang lebih kuat tetapi lebih mahal.
S182
1
Android menggunakan JSF karena perangkat-perangkat itu secara konstan menulis informasi dari beberapa proses dan mereka cenderung untuk berteriak secara tiba-tiba (blok OS, baterai lemah, dll). Ini bukan yang terbaik tetapi mereka membutuhkannya. Di sisi lain operasi kegigihan dalam Kamera jauh lebih sederhana dan JFS akan membawa lebih banyak masalah daripada solusi. Sistem File Jurnal lebih tangguh dan kurang rentan terhadap korupsi, tetapi tidak kebal. , dalam kebanyakan kasus, Anda dapat memperbaiki FS yang tidak dijurnal dengan "scandisk".
S182
2

Sistem file yang berbeda membutuhkan jumlah RAM yang berbeda dalam sistem yang menggunakannya. Sebuah sistem yang perlu menulis file ke sistem file FAT secara teori bisa bertahan dengan buffer 512-byte tunggal, meskipun kinerjanya akan sangat mengerikan. Memperluas dua atau tiga buffer 512-byte akan meningkatkan banyak hal. Melampaui hal itu akan meningkatkan hal-hal sedikit lebih banyak, dan mendapatkan kinerja yang optimal dari kartu yang lebih besar akan membutuhkan lebih banyak memori daripada mendapatkan kinerja yang optimal dari yang lebih kecil, tetapi kamera yang hanya menyertakan buffer yang cukup untuk mencapai efisiensi optimal dengan kartu yang lebih kecil masih akan mampu bekerja dengan yang lebih besar, meskipun kurang efisien.

Masalah rumit berpusat pada fakta bahwa standar kartu memori menentukan bahwa setiap kartu berperilaku sebagai kumpulan bernomor sektor 512-byte yang dapat dibaca dan ditulis secara independen dalam urutan sewenang-wenang, tetapi bukan itu cara data disimpan pada chip di dalam kartu-kartu. Chip memori yang digunakan dalam kartu memori khas dibagi menjadi halaman 528-byte; yang pada gilirannya dikelompokkan ke dalam blok 256 atau lebih. Setelah halaman ditulis, itu tidak dapat ditulis ulang tanpa menghapusnya dan semua halaman lain di bloknya. Secara teori, kartu SD dapat memenuhi permintaan untuk menulis sektor 512-byte dengan menyalin ke RAM semua data dalam bloknya, menghapus blok, dan menulis seluruh blok kembali tetapi dengan data baru dalam satu sektor . Dalam praktiknya, kinerja akan mengerikan. Sebagai gantinya, menulis suatu sektor akan menyebabkan kartu SD memilih halaman kosong, menulis data di sana bersama dengan nomor sektornya dan berbagai informasi tambahan (halaman alasannya adalah 528 byte daripada 512), dan entah bagaimana melacaknya menjadi lokasi yang tepat untuk data. Ketika halaman kosong menjadi kekurangan pasokan, controller akan mengidentifikasi blok yang halamannya sebagian besar telah digantikan oleh halaman yang ditulis baru-baru ini, salin semua halaman yang masih aktif dari blok itu ke blok kosong, dan kemudian hapus seluruh blok yang sekarang-redundan . Semua logika ini ditangani sepenuhnya oleh kartu itu sendiri, tanpa ada intervensi oleh kamera. Ketika halaman kosong menjadi kekurangan pasokan, controller akan mengidentifikasi blok yang halamannya sebagian besar telah digantikan oleh halaman yang ditulis baru-baru ini, salin semua halaman yang masih aktif dari blok itu ke blok kosong, dan kemudian hapus seluruh blok yang sekarang-redundan . Semua logika ini ditangani sepenuhnya oleh kartu itu sendiri, tanpa ada intervensi oleh kamera. Ketika halaman kosong menjadi kekurangan pasokan, controller akan mengidentifikasi blok yang halamannya sebagian besar telah digantikan oleh halaman yang ditulis baru-baru ini, salin semua halaman yang masih aktif dari blok itu ke blok kosong, dan kemudian hapus seluruh blok yang sekarang-redundan . Semua logika ini ditangani sepenuhnya oleh kartu itu sendiri, tanpa ada intervensi oleh kamera.

Semua logika ini berarti bahwa selain FAT32 atau sistem file lain yang dilihat oleh kamera, kartu SD perlu memiliki alokasi blok dan sistem manajemen sendiri. Masalah apa pun yang terjadi dalam sistem itu cenderung menyebabkan kehilangan data, terlepas dari sistem apa yang duduk di atasnya. Secara teori, banyak kartu memori dirancang untuk memastikan bahwa meskipun daya tiba-tiba dilepaskan selama beberapa operasi kartu akan dapat memutar kembali keadaan kartu ke apa itu sebelum operasi dimulai, atau menjalankannya sampai selesai ( jika semua data yang diperlukan telah ditulis, dan kartu hanya membersihkan data yang berlebihan). Sayangnya, kartu berbeda dalam seberapa baik mereka mengimplementasikan logika tersebut. Jika kehilangan daya yang tidak terduga mengganggu tabel manajemen penyimpanan kartu,

Secara pribadi, saya pikir akan lebih baik bagi Konsorsium SD untuk menentukan sistem file independen dari FAT32, atau setidaknya menentukan bahwa bahkan jika kartu harus dapat dibaca sebagai volume FAT32, harus ditulis menggunakan komunikasi berbasis file protokol. Kartu yang mengetahui kelompok sektor mana yang merupakan anggota dari setiap file dapat mengoptimalkan defragmentasi rutinnya di sekitar itu, dan juga dapat melakukan pekerjaan yang lebih baik untuk melindungi terhadap kehilangan data daripada yang harus menyajikan disk sebagai sekelompok independen 512-byte sektor, tetapi untuk yang lebih baik atau lebih buruk itu bukan bagaimana hal-hal yang ditentukan.

supercat
sumber
Saya pikir sudah ada solusi standar: lapisan blok-remapping, dengan sistem file standar (NTFS, HFS +, ext4) di atas. Dan itu digunakan di ponsel juga, di Android. OS Kamera mungkin lebih primitif, tetapi itu perlu diperbaiki.
Vaddadi Kartick
@KartickVaddadi: Lapisan block-remapping adalah standar; poin saya adalah bahwa jika kartu memori yang mengimplementasikan layer block-remapping setidaknya sedikit menyadari tata letak sistem file, itu bisa mengoptimalkan tata letak remapping lebih efektif daripada yang mungkin tanpa pengetahuan tersebut.
supercat
Tentu, tetapi saya lebih suka mengambil sesuatu yang sudah dicoba dan diuji daripada muncul dengan antarmuka baru antara lapisan perangkat blok dan sistem file. Kami tidak berbicara tentang riset CS di sini :) Saya ingin mengambil sesuatu yang berfungsi di komputer saya, dan telepon saya, dan meletakkannya di kamera saya.
Vaddadi Kartick
@KartickVaddadi: Saya telah merancang beberapa sistem file flash level-pakai untuk perangkat tertanam dengan berbagai kendala. Jika sistem level-wear diberitahu "Saya ingin menulis file; di sini
supercat
... ini datanya; itu dia. Saya ingin menulis file lain; inilah datanya; " mis. "blok 347 dari id file 193.291.374, perbarui 273.837.199."
supercat
1

Dengan asumsi kartu itu rusak, dan Anda belum melemparkannya atau menimpanya, saya sangat menyarankan Anda mencoba PhotoRec. (Itu membuat saya keluar dari situasi yang sedikit kurang buruk beberapa bulan yang lalu. Bahkan menemukan beberapa gambar yang selamat dihapus selama satu atau dua tahun.)

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

Mengenai FS jurnal, saya punya pertanyaan yang sama berkali-kali. Seperti yang dikatakan orang lain, media flash saat ini sebenarnya rapuh dibandingkan dengan media magnetik, dan membuat jurnal sulit dilakukan. Karena pola penggunaan untuk kamera umumnya mengambil banyak foto, membacanya, lalu menghapus semuanya, tidak perlu banyak fitur FS canggih. Implementasi yang sederhana dan teruji mungkin lebih penting daripada manfaat marginal jurnal. Sebagai manfaat tambahan, strategi alokasi bodoh FAT membuatnya lebih mudah untuk alat-alat seperti PhotoRec.

pengguna25159
sumber
Saya pikir saya memang menggunakan PhotoRec dalam kasus itu. Terima kasih atas tautannya.
Vaddadi Kartick
1

1, Tuhan tidak dapat menyelamatkan Anda, jika Anda kehilangan kartu secara fisik. Apa maksud Anda Anda kehilangan kartu di Bali?

2, Journaled FSs dibuat untuk acara-acara seperti kegagalan OS mendadak atau kegagalan daya mendadak. Mereka menjaga agar meta-data FS tetap konsisten, ketika hal-hal buruk itu terjadi. Mereka tidak membantu jika Anda ingin file Anda dihapus kembali.

3, Bad-block adalah masalah paling vital dari penyimpanan berbasis NAND FLASH. Blok buruk muncul ketika tulisan muncul. Oleh karena itu, ketika memilih FS untuk penyimpanan NAND FLASH, frekuensi menulis adalah hal pertama yang harus Anda pertimbangkan. Jelas, seperti yang dikatakan semua orang, FS Jurnalis membawa lebih banyak hal untuk ditulis.

4, FS yang dijurnal mengambil lebih banyak kekuatan, tentu saja. Lebih rumit, tentu saja. Tapi ini bukan alasan dominan bahwa kami tidak mengadopsinya untuk NAND FLASH, saya pikir.

TADA ~~ Itu dia.

Garf
sumber
1. Lihat komentar saya pada jawaban AJ. 2. Saya tidak menghapus file secara manual. 3. Seperti yang saya tulis di komentar lain, bagaimana Anda menjelaskan penggunaan FS journaled pada flash di Android? Ini tidak seburuk yang Anda bayangkan. Tidak kehilangan foto lebih penting daripada pengurangan marginal dalam masa pakai kartu.
Vaddadi Kartick
3
Sebagian besar FS yang disurvei memerlukan satu atau beberapa proses / utas daemon untuk mengelola "jurnal" mereka. (Sebagai contoh, kjournald di Linux untuk EXT3) Akan sulit untuk mengadopsi mereka jika env bukan OS yang lengkap, di mana kita tidak memiliki konsep proses / utas.
Garf
@KartickVaddadi Sekali lagi, tolong beri petunjuk untuk beberapa penelitian yang menunjukkan bahwa sistem file jurnal hanya menghasilkan pengurangan "marginal" dalam masa pakai kartu. Ini adalah kedua kalinya Anda menegaskannya.
Philip Kendall
Pertanyaan yang wajar, tetapi perlu diingat Android menggunakannya, seperti yang saya katakan berkali-kali. Mereka tidak akan menggunakannya jika menyebabkan pengurangan drastis dalam kehidupan media, bukan? Selain itu, saya bisa meminta Anda untuk mengutip penelitian yang menunjukkan bahwa hal itu menyebabkan penurunan drastis dalam hidup :)
Vaddadi Kartick
Mungkin kita harus bertanya pada @ supercat, karena dia ahli, dan tidak ada dari kita yang mengutip data.
Vaddadi Kartick
-1

Sistem file itu sendiri tidak perlu rumit karena gambar hanya ditulis ke kartu, hampir tidak ada pengeditan yang dilakukan untuk file setelah pembuatan awal dan tidak ada kekhawatiran file I / O simultan yang perlu khawatir tentang di kamera.

Masalah integritas data sebenarnya diselesaikan pada tingkat perangkat keras karena SEMUA memori flash secara inheren tidak stabil. Pengontrol dalam kartu SD melakukan banyak pemeriksaan sendiri dan trik penyimpanan untuk memastikan bahwa data tersebut valid. Sistem file jurnal tidak akan melakukan apa-apa untuk membantu hal ini karena berkaitan dengan integritas penyimpanan data daripada integritas operasi file.

Kamera menggunakan operasi file yang sederhana (dan kecepatan tinggi), sehingga sistem file yang kompleks akan menimbulkan biaya dan kompleksitas tambahan, menyebabkan I / O lebih lambat dan berpotensi memperkenalkan bug lebih lanjut yang dapat mengakibatkan hilangnya data karena penanganan file yang lebih kompleks, sementara tidak mendapatkan apa pun yang berguna untuk kamera.

AJ Henderson
sumber
Dalam kasus saya, filesystem rusak, mungkin karena bug dalam kode sistem file kamera yang memicu dalam kasus yang jarang terjadi. Penjurnalan akan memastikan bahwa jika itu terjadi, sistem file lebih cenderung tetap tidak rusak, yang berarti Anda tidak akan kehilangan ribuan foto.
Vaddadi Kartick
3
@KartickVaddadi - apakah Anda yakin itu adalah sistem file yang menjadi rusak dan bukan kartu SD itu sendiri? Masalah file korupsi dengan tabel FAT seharusnya tidak pernah mengakibatkan kegagalan seluruh kartu, itu harus mudah dipulihkan untuk sebagian besar foto kecuali kartu itu sendiri gagal. Bagaimana Anda yakin apa yang sebenarnya gagal.
AJ Henderson
Saya dapat memulihkan sebagian besar foto dari laptop saya menggunakan salah satu alat pemulihan yang mengabaikan sistem file, membaca semua blok pada perangkat dan mencoba mencari tahu apa file-file itu. Saya tidak bisa membacanya di kamera, yang berarti saya tidak bisa mengambil foto untuk sisa hari itu, dan saya tidak pernah lagi mengunjungi tempat-tempat yang saya kunjungi pada hari itu, jadi itu adalah kesempatan yang terlewatkan.
Vaddadi Kartick
2
@KartickVaddadi - ya, tapi itu bisa menjadi sistem file atau kegagalan kartu SD. Jika TOC terhapus, Anda masih harus melakukan pemulihan pada sistem file, terlepas dari apakah Anda menggunakan FAT atau NTFS. Saya masih tidak yakin bahwa sistem file jurnal akan membantu. Kekuatan utama sistem file jurnal hanya dapat pulih dari file yang sedang ditulis sebagian karena mengetahui catatan file atau direktori buruk. Apa yang Anda hadapi di sana kemungkinan besar adalah korupsi pada tabel alokasi yang dapat berupa kegagalan sistem disk atau file.
AJ Henderson
2
@KartickVaddadi: Saya akan berpikir bahwa sebagai prinsipnya kita harus selalu mencoba untuk memiliki kartu cadangan, dan jika kartu yang digunakan menunjukkan tanda-tanda masalah segera beralih ke cadangan, untuk menghindari penghancuran data apa pun yang akan dapat dipulihkan dari kartu yang bermasalah.
supercat