@RDa: Bohužel, company policy. Disky se rozebírají, a provrtává každý flash čip. Obejít to nejde. Valná většina jsou Intel SSD enterprise-class disky různých řad a dat výroby. Rád bych pomohl, ale tohle neobejdu. Jak už někdo radil - mohlo by pomoci obrátit se e-mailem na servisy PC techniky nebo na větší dodavatele (IBM, HP atd.) oficiální žádostí.
Každopádně vám ale fandím, protože když jsem četl o českém projektu profesionální kamery 4k poprvé, a viděl provedení a domyslel si technologii, tak mě vyloženě zahřálo u srdce, že jde někdo do takového technologicky zajímavého projektu.
S těma FLASH, ono se o tom hodně mluví jak je to bůhvíjak nespolehlivé, a že to nic nevydrží. Bullshit. Praxe ukazuje, že FLASH si toho nechá líbit spoustu, a to obecné povědomí je způsobené hlavně různými USB klíčenkami a entry-level SSD s odpadem při výrobě místo pamětí. Pro vaše použití jako úložiště nepotřebující náhodný přístup bych opravdu nevymýšlel bůhvíjaké zabezpečení. Můžete bezpečně kontrolovat, kolik toho která stránka té které paměti zapsala. Pokud si to nebudete komplikovat souborovým systémem, ale bude zapisovat lineárně, tak stačí zajistit, aby bylo možné zjistit a opravit chybu. Při přiblížení ke garantovanému počtu zápisů FLASH pak můžete začít vypisovat doporučení k výměně úložiště. Jakýkoliv RAID nezajistí integritu - musí zde být mechanismus, který dovede určit že ty čtená data jsou vadná, a eventuelně dokázat chybu opravit (než RAID, vždycky bude lepší i nejobyčejnější Hammingův kód). Minorita podle mě není vhodná, protože je stále potřeba určit, jestli ta minorita je ta "správná". Tady to je místo opravdu pro samoopravné kódy, a vzhledem k pravděpodobnosti výskytu chyby budou stačit i ty jednodušší. A jak jsem načrtnul už v minulém příspěvku, kódování samotné je velmi rychlé, a stačí k němu minimum logiky. Lze tedy realizovat velmi rychlý zápis, což je to, co potřebujete. Kdybych použil nějaký kód, který bude mít např. 1024k data + 128b ECC (v praxi blbost), tak kdybych chtěl rychlý preview, co že to mám na kameře zaznamenané, tak můžu číst jenom ty data, a číst jenom tu datovou část. Když to budu chtít bezchybně přenést a zkontrolovat a opravit pro další střih, tak už to budu číst i s tou ECC částí a ty chybná data kdyžtak opravím.
Nemyslím si ale, že se příliš s chybami potkáte. Jak bylo napsáno v příspěvku, pravděpodobnost souvislých chyb je minimální. Stejně tak v situaci, kdy má flash zapsaná data a stránka se poškodí, tato jde číst, ale nejde již smazat a zapsat. Výhodou pořád je, že jde o sekvenční zápis. A je možné zajistit před započetím nahrávání, že všechny sektory šly vymazat. Pokud budete brát za bernou minci analýzu vyjetých SSD, tak tam není vůbec garance toho, že byly správně používány. Ještě stále spousta filesystémů ignoruje TRIM, nebo je nesprávně použit (misalignment stránek s partitionami). Stejně tak wear-levelling algoritmy se liší a nedělám si iluze že to bude bůhvíjak promyšlené a efektivní. Pokud byste chtěli analýzu, co udělá s FLASH vaše kamerová srandička, tak vezmětě nějakou velkou NAND flash, připravtě nějaký soubor s náhodnými daty, a vždy tu pamě't celou korektně vymažte, lineárně zapište připravený obsah, načtěte ho zpátky a verifikujte. Opakujte do zblbnutí. To se přiblíží praxi mnohem blíž než analýza vyjetého SSD, u kterého ani nevíte, jak se zapisovalo, protože neznáte algoritmus. Můj odhad ale je, že ta flashka bude dobrá, a pak se najednou odporoučí celá.
Jestli se můžu zeptat - co přesně používáte za FPGA v různých částech kamery ? Jestli to teda není součástí trade secret
