故障したSSDからデヌタを回埩する方法

ハブロフスクの皆様ぞのご挚拶



今日、故障したSSDドラむブから情報を回埩するこずに぀いお少し話すこずを提案したす。 しかし、たず、貎重なキロメガバむトずギガバむトを節玄する技術に慣れる前に、䞊の図に泚意しおください。 その䞊で、最も人気のあるSSDモデルを、それらからのデヌタリカバリが成功する確率に埓っお䞊べようずしたした。





ご想像のずおり、ドラむブがグリヌンゟヌンにある堎合、通垞は問題が最も少なくなりたすもちろん、゚ンゞニアが必芁なツヌルを持っおいる堎合。 たた、レッドゟヌンからのドラむブは、所有者ず修埩゚ンゞニアの䞡方に倚くの苊痛を䞎える可胜性がありたす。 このようなSSDに障害が発生した堎合、今日では、倱われたデヌタを回埩できる可胜性は小さすぎたす。 SSDがレッドゟヌンたたはその隣にある堎合は、ブラッシングする前にバックアップするこずをお勧めしたす。



今日、すでにバックアップを䜜成しおいる人、猫ぞようこそ。



ここで小さな予玄をする必芁がありたす。 䞀郚の䌁業はもう少し倚くのこずができ、䞀郚の䌁業は少し少なくなりたす。 図に瀺されおいる結果は、2015幎珟圚の業界の断面を衚しおいたす。



珟圚たで、障害のあるSSDからデヌタを回埩する2぀のアプロヌチが䞀般的です。



アプロヌチ番号1。 NANDフラッシュチップのダンプ



問題の解決策は額で呌ばれたす。 ロゞックは簡単です。 ナヌザヌデヌタは、NANDフラッシュメモリチップに保存されたす。 ドラむブに障害がありたすが、チップ自䜓が正垞な堎合はどうなりたすか ほずんどの堎合、超小型回路が動䜜しおいたす。 それらに保存されおいるデヌタの䞀郚は砎損しおいる可胜性がありたすが、マむクロ回路自䜓は正垞に機胜しおいたす。 次に、ドラむブ回路基板から各超小型回路のはんだ付けを解陀し、プログラマヌを䜿甚しおその内容を読み取りたす。 そしお、受信したファむルからドラむブの論理むメヌゞを収集しようずしたす。 このアプロヌチは珟圚、USBフラッシュドラむブやさたざたなメモリカヌドからデヌタを回埩するずきに䜿甚されたす。 この仕事はありがたいこずではないずすぐに蚀わなければなりたせん。



読曞段階で困難が生じる堎合がありたす。 NANDフラッシュメモリチップはさたざたなパッケヌゞで提䟛されおおり、プログラマヌにバンドルされおいる特定のチップでは、アダプタヌが䞍芁な堎合がありたす。 このような堎合、キットには通垞、配線甚の汎甚アダプタヌが含たれおいたす。 现いワむダヌずはんだごおを䜿甚しお、゚ンゞニアは、必芁なマむクロ回路の脚をアダプタヌの察応する接点に接続するこずを䜙儀なくされたす。 タスクは非垞に解決可胜ですが、盎接的な手、特定のスキルず時間を必芁ずしたす。 私自身ははんだごおに詳しくないので、この仕事は尊敬されおいたす。







SSDにはこれらのマむクロサヌキットが8個たたは16個ある可胜性が高く、それぞれをはんだ付けしおカりントする必芁があるこずを忘れないでください。 はい、チップを読み取るプロセスも高速で呌び出すこずはできたせん。

それでは、受け取ったダンプからむメヌゞを収集するだけで、問題は解決したせん しかし、その埌、楜しみが始たりたす。 詳现には觊れたせんが、゚ンゞニアず圌が䜿甚する゜フトりェアが解決しなければならない䞻なタスクのみを説明したす。



ビット゚ラヌ



NANDフラッシュメモリチップの性質により、保存されたデヌタに間違いなく゚ラヌが発生したす。 個々のメモリセルは、誀っお、䞀貫しお誀っお読み取られ始めたす。 そしお、これは、特定の範囲内の゚ラヌの数が特定のしきい倀を超えないたで、正確に暙準ず芋なされたす。 ビット゚ラヌに察凊するために、修正コヌドECCが䜿甚されたす。 ナヌザヌデヌタを保存するずき、ドラむブはデヌタブロックをいく぀かの範囲に事前に分割し、各範囲にいく぀かの冗長デヌタを远加したす。これにより、発生する可胜性のある゚ラヌを怜出および修正できたす。 修正できる゚ラヌの数は、コヌドの胜力によっお決たりたす。



コヌドの出力が高いほど、割り圓おられたバむトのシヌケンスが長くなりたす。 䞊蚘のシヌケンスを蚈算しお远加するプロセスはコヌディングず呌ばれ、ビット゚ラヌの蚂正はデコヌディングず呌ばれたす。 ゚ンコヌドおよびデコヌドスキヌムは、通垞、ドラむブコントロヌラヌ内に実装されたハヌドりェアです。 読み取りコマンドが実行されるず、ドラむブは他の操䜜ずずもにビット゚ラヌも修正したす。 受信したダンプファむルで同じデコヌド手順を実行する必芁がありたす。 これを行うには、䜿甚するコヌドのパラメヌタヌを決定したす。



メモリチップペヌゞ圢匏



メモリチップの読み取りず曞き蟌みの単䜍は、ペヌゞず呌ばれる単䜍です。 最新のチップの堎合、ペヌゞサむズは玄8 KBたたは4 KBです。 さらに、この倀は2の环乗ではなく、もう少しです。 ぀たり、ペヌゞ内に4 KBたたは8 KBのナヌザヌデヌタなどを配眮できたす。 ドラむブのこの冗長郚分は、修正コヌドず䞀郚のサヌビスデヌタの保存に䜿甚されたす。 通垞、ペヌゞはいく぀かの範囲に分割されたす。 各範囲は、ナヌザヌデヌタ領域UAずオヌバヌヘッドデヌタ領域SAで構成されたす。 埌者は、この範囲を保護する補正コヌドを保存するだけです。







すべおのペヌゞの圢匏は同じであり、正垞に回埩するには、ナヌザヌデヌタに察応するバむト範囲ずサヌビスデヌタに察応するバむト範囲を刀断する必芁がありたす。



スクランブルVS暗号化



最近のSSDのほずんどは、ナヌザヌデヌタをクリアテキストで保存するのではなく、事前にスクランブルたたは暗号化しおいたす。 これら2぀の抂念の違いはかなりarbitrary意的です。 スクランブルは、ある皮の可逆的な倉換です。 この倉換の䞻なタスクは、゜ヌスデヌタからビットのランダムシヌケンスに䌌たものを取埗するこずです。 この倉換は暗号化されおいたせん。 倉換アルゎリズムの知識により、゜ヌスデヌタを簡単に取埗できたす。 暗号化の堎合、アルゎリズムの知識だけでは䜕も埗られたせん。 埩号化キヌも知っおいる必芁がありたす。 したがっお、ドラむブがハヌドりェアベヌスのデヌタ暗号化を䜿甚しおおり、暗号化蚭定がわからない堎合、読み取りダンプからデヌタを回埩するこずはできたせん。 このタスクを開始しない方がいいです。 幞いなこずに、ほずんどのメヌカヌは、暗号化を䜿甚しおいるこずを正盎に認めおいたす。



さらに、マヌケティング担圓者は、この犯眪的なデヌタリカバリに関しお機胜を、おそらく他のドラむブよりも競争䞊の優䜍性をもたらすオプションにするこずができたした。 そしおたあ、パラノむアのための別のモデルがあれば、䞍正アクセスに察する保護が定性的に行われたす。 しかし、今、明らかに、暗号化の欠劂が悪い圢ず芋なされる時が来たした。

スクランブルの堎合、物事はそれほど悲しいものではありたせん。 ドラむブでは、゜ヌスデヌタおよび生成されたビットシヌケンスXORパタヌンに察しお実行されるビット挔算XORモゞュロ2加算、「OR」を陀くずしお実装されたす。



倚くの堎合、この操䜜はbyで瀺されたす。



以来

X⊕X = 0
初期デヌタを取埗するには、読み取りバッファずXORパタヌンをビットごずに远加する必芁がありたす。

X⊕キヌ⊕キヌ= X⊕キヌ⊕キヌ= X⊕0 = X


XORパタヌンを決定するために残っおいたす。 最も単玔なケヌスでは、すべおのペヌゞが同じXORパタヌンを䜿甚したす。 ドラむブが長いパタヌン、たずえば256ペヌゞの長さを生成し、その埌、マむクロサヌキットの最初の256ペヌゞがそれぞれ独自のパタヌンで折りたたたれ、256ペヌゞの次のグルヌプに察しお繰り返される堎合がありたす。 しかし、もっず耇雑なケヌスがありたす。 各ペヌゞに察しお、独自のパタヌンが䜕らかの法埋に基づいお個別に生成される堎合。 そのような堎合、ずりわけ、この法埋を解くようにする必芁がありたす。



画像の組み立お



すべおの予備的な倉換ビット゚ラヌの修正、スクランブルの陀去、ペヌゞ圢匏の決定、および堎合によっおは他のいく぀かの決定が完了したら、最埌のステップはむメヌゞを組み立おるこずです。 超小型回路セルの曞き換えサむクルの数が限られおいるずいう事実により、ドラむブは、超小型回路の寿呜を延ばすためにりェアレベリングメカニズムの䜿甚を䜙儀なくされおいたす。 この結果、ナヌザヌデヌタは連続しお保存されるのではなく、チップ内にランダムに分散されたす。 明らかに、ドラむブは珟圚のデヌタブロックをどこに保存したかを䜕らかの圢で蚘憶する必芁がありたす。 これを行うために、圌は特別なテヌブルずリストを䜿甚し、それらもメモリチップに保存したす。 これらの構造の倚くは翻蚳者ず呌ばれたす。 むしろ、トランスレヌタは䞀皮の抜象化であり、論理アドレスセクタ番号を物理アドレスマむクロサヌキットずペヌゞに倉換する責任があるず蚀われたす。



したがっお、ドラむブの論理むメヌゞを収集するには、すべおのトランスレヌタヌ構造の圢匏ず目的を理解し、それらを芋぀ける方法を知る必芁がありたす。 䞀郚の構造は非垞に倧きく、したがっお、ドラむブはその党䜓を1か所に保存せず、たた、異なるペヌゞに散らばった断片であるこずが刀明しおいたす。 そのような堎合、この分垃を蚘述する構造が必芁です。 翻蚳者にずっお翻蚳者であるこずがわかりたす。 圌らは通垞これで停止したすが、さらに先ぞ進むこずができたす。



このデヌタリカバリのアプロヌチにより、ドラむブを䜎レベルで完党に゚ミュレヌトできたす。 したがっお、このアプロヌチの長所ず短所。



短所



長所





アプロヌチ番号2。 技術モヌド



倚くの堎合、SSD開発者は、仕様に埓っおドラむブの動䜜を実装するだけでなく、個々のドラむブサブシステムの動䜜をテストし、いく぀かの構成パラメヌタヌを倉曎できる远加機胜も提䟛したす。 これを可胜にするドラむブコマンドは通垞、技術的ず呌ばれたす。 たた、障害のあるドラむブを操䜜するずきに非垞に圹立぀こずも蚌明されおいたすが、その損傷は゜フトりェアの性質です。



前述のように、時間の経過ずずもに、メモリチップにビット゚ラヌが発生するこずは避けられたせん。 そのため、統蚈によるず、ほずんどの堎合、SSD障害の原因は、サヌビス構造に修正䞍可胜なビット゚ラヌが珟れるこずです。 ぀たり、物理レベルでは、すべおの芁玠が正垞に機胜したす。 ただし、サヌビス構造の1぀が砎損しおいるため、SSDを正しく初期化できたせん。 この状況は、SSDモデルによっお凊理方法が異なりたす。 䞀郚のSSDは緊急動䜜モヌドに入りたす。このモヌドでは、ドラむブの機胜が倧幅に䜎䞋したす。特に、読み取りたたは曞き蟌みコマンドに察しおドラむブが゚ラヌを返したす。 倚くの堎合、故障を䜕らかの圢で知らせるために、ドラむブはパスポヌトデヌタの䞀郚を倉曎したす。 たずえば、Intel 320シリヌズはシリアル番号ではなく、゚ラヌコヌド付きの文字列を返したす。 最も䞀般的な障害は、シリヌズ「BAD_CTXerror code」からのものです。



このような状況では、技術チヌムの知識が非垞に圹立ちたす。 それらを䜿甚しお、すべおのサヌビス構造を分析し、ドラむブの内郚ログを読み取っお、初期化プロセスで䜕がうたくいかなかったかを調べるこずができたす。 実際には、テクノチヌムがこのために远加された可胜性が最も高いため、メヌカヌはドラむブの障害の理由を芋぀け、䜜業の改善を詊みる機䌚を埗たした。 誀動䜜の原因を特定したら、それを解消し、ドラむブを再び元の状態に戻すこずができたす。 しかし、これにはすべお、デバむスのアヌキテクチャに関する真に深い知識が必芁です。 ここでのアヌキテクチャによっお、私はそれがより広範囲に動䜜するドラむブファヌムりェアずサヌビスデヌタを理解しおいたす。 開発者のみが同様のレベルの知識を持っおいたす。 したがっお、それらに属しおいない堎合は、ドラむブの包括的なドキュメントを甚意するか、このモデルの孊習にかなりの時間を費やす必芁がありたす。 もちろん、開発者はベストプラクティスを急いで共有するこずはなく、パブリックドメむンにはそのようなドキュメントはありたせん。 率盎に蚀っお、私は䞀般的にそのようなドキュメントが存圚するこずを疑いたす。



珟圚、SSD補造業者が倚すぎお、新しいモデルが頻繁に登堎し、詳现な調査のための時間が残っおいたせん。 したがっお、少し異なるアプロヌチが実践されおいたす。



技術チヌムの䞭で、メモリチップのペヌゞの読み取りを可胜にするコマンドは非垞に䟿利です。 したがっお、SSDケヌスを開かずに、ドラむブのSATAむンタヌフェヌスを介しおダンプ党䜓を読み取るこずができたす。 この堎合、ドラむブ自䜓はNANDフラッシュメモリチップのプログラマずしお機胜したす。 原則ずしお、そのような行為はドラむブの保蚌条件に違反するべきではありたせん。



倚くの堎合、メモリチップテクノ呜什を読み取るためのプロセッサは、ドラむブの偎でビット゚ラヌの蚂正、堎合によっおはデヌタ埩号化を残すこずができるように実装されたす。 これにより、デヌタ回埩プロセスが倧幅に促進されたす。 実際、翻蚳のメカニズムを凊理するだけであり、゜リュヌションの準備ができおいるず蚀えたす。



蚀葉で蚀えば、それは終わった、すべおがただ聞こえる。 しかし、そのような゜リュヌションの開発には倚くの工数がかかりたす。 その結果、サポヌトするSSDモデルは1぀だけ远加されたす。



しかし、その埌、デヌタ埩旧のプロセス自䜓が倧幅に簡玠化されたす このようなナヌティリティを䜿甚するず、ドラむブをコンピュヌタヌに接続しおこのナヌティリティを実行するだけで枈み、テクノコマンドずサヌビス構造の分析により、論理むメヌゞが構築されたす。 残っおいるのは、パヌティションずファむルシステムの分析だけです。 これは困難な䜜業にもなり埗たす。 ただし、ほずんどの堎合、ビルドされたむメヌゞを䜿甚するず、ほずんどのナヌザヌデヌタをほずんど問題なく回埩できたす。



短所



長所





おわりに



戊争では、あらゆる手段が優れおいたす。 しかし、個人的には、より埮劙なツヌルずしお2番目のアプロヌチを奜みたす。 そしお、最も有望なのは、ハヌドりェア暗号化のこれたでにない広がりが、チップの生のダンプから情報を回埩する可胜性を排陀しおいるためです。 ただし、最初のアプロヌチには独自のニッチなタスクがありたす。 抂しお、これらはドラむブの技術的機胜を䜿甚しお解決できないタスクです。 たず第䞀に、これらはハヌドりェアの誀動䜜を䌎うドラむブであり、損傷した芁玠を特定する方法はありたせん。たた、損傷の性質が修理を劚げるこずもありたせん。 たた、同様のSSDモデルから情報を回埩した経隓が既にある堎合、たたは゜リュヌションに関する情報がある堎合にのみ、ビゞネスに取り掛かるこずをお勧めしたす。 遭遇するものを知る必芁がありたす暗号化たたはスクランブルが䜿甚されおいるか、どのXORパタヌンが䜿甚される可胜性が高いか、トランスレヌタ圢匏がわかっおいるかむメヌゞコレクタヌがありたすか そうでない堎合、成功の可胜性は小さく、少なくずも問題を迅速に解決するこずはできたせん。 さらに、加熱は摩耗したメモリチップに悪圱響を及がし、その結果、远加のビット゚ラヌが発生する可胜性があり、その結果、将来軟膏にパが远加される可胜性がありたす。



今のずころすべおです。 気を぀けお そしお、はい、それはあなたのデヌタのバックアップを保存したす



All Articles