
◇ [データ復旧に不可欠な統計 一つ目] 壊れかけのドライブに対する観測
ドライブが故障し、壊れかけております。その動作は「不安定」で、不良セクタもあります。
そこで、まず不良セクタの「状態」について、正常な場合は0(状態0)、不良の場合は1(状態1)とします。
次に、「壊れかけのドライブ」の「状態1」にk回アクセスすると、
完全に壊れてしまうという「観測データを集めたもの」(観測データA)が存在いたします。
※ この「観測データを集めたもの」については、ドライブの種類によらず、
量産されている点ならびにファイルシステムのアルゴリズムより、その「ばらつき」は狭く、
しっかりとドライブ別に「特徴付け」を行いますと、良質な分布……すなわち「統計」が得られます。
◇ [データ復旧に不可欠な統計 二つ目] 散らばる不良セクタに対する観測
ドライブは、数多くの「セクタ」と呼ばれるもので構成されております。
そして故障いたしますと、そのうちの一部が「不良セクタ」になります。
そこで、「数多くのセクタ」のうちから「状態1」となったセクタの位置pについて、
「観測データを集めたもの」(観測データB)が存在いたします。
◇ [大数の法則] 観測データA, 観測データBの「存在」
観測データA, 観測データBの「存在」から、何も考えずにn回「壊れかけのドライブ」にアクセスしてデータの復旧を試みると、大部分のデータが救えずに、ドライブが完全に壊れてしまう点を以下に示します。まず、1つのセクタには512バイト(または4096バイト)しか、データが収まりません。
つまり、ドライブには「億単位のセクタが存在」いたします。
ここで、「壊れかけのドライブ」からデータが綺麗に復旧できる確率をP1(壊れない確率)とします。
そして、データを救うには、とにかくドライブに「アクセス」するしかありません。
よって、nを大きな数にする必要があります(nはドライブへのアクセス回数となりますので……)。
その結果、「大数の法則」に従いまして、P1は0(復旧失敗)に向かいます。
◇ [大数の法則] 各セクタの「状態1」を、同じ重みで計ると、P1が0に向かう
「何も考えずにn回アクセス」は、言い換えますと、各セクタの「重み」(そのセクタが「状態1」である確率)を考慮せずにアクセスを繰り返した、に同値です。
ここで、アクセスしたセクタが「状態1」である確率をP2とします。
そして、P2を考慮せずにドライブへのアクセスを繰り返すとP1が0に向かう、と同値です。
では、どうしたらデータの復旧に成功できるのか、それを考えます。
◇ [特徴付け] P2は「観測データB」から作る
P2が有名な分布、例えば某所などで有名な「正規分布」に従う……なら復旧作業は「簡単」になります。
しかし……、セクタのふるまいが、そのような決まった分布に従うわけがありません。そもそも、決まった分布に、あらゆる事象が従うのであれば「統計」自体が不要になってしまいます。
結局、このP2については「観測データB」から地道に作るしかありません。データ復旧作業は、このような地道なデータの蓄積で復旧率が向上するので、とても大切な過程になります。
※ このP2の分布や「集め方の手法」が「データ復旧技術やノウハウに相当する」ものになります。
◇ [特徴付け] いきなりP2はできません
道筋が立ったので、では「観測データB」からP2を……としたいのですが、直接は無理です。
なぜなら「状態1」同士の絡み方を考慮していないためです。
例えばAの位置が「状態1」ならBの位置も「状態1」になる確率が1だとします。……ちょっと悩みますね。なので簡単にします。イメージは、本来なら「独立試行」となる複数枚の同時コイン投げを思い浮かべてみてください。
(注:コインはコインでも、bitcoinは電子化された数値のやり取りなので、「物理的に」投げられません。独立試行なので、計算式の方も「同時確率Pr(X,Y)」のみで簡単に済むはずです。
しかし……コインに強力な磁石が仕込まれていて、「表と裏」の出方に、お互いの作用があるもとします。そのような場合はお互いのコイン同士で事象が揺れ動くために「共分散」と呼ばれるものが出てきます。つまり、独立ではない事象同士で絡めていくと、必ずその作用分が数値……「影響」として残り、後から確実に「誤差では済まない」事態に発展します。
※ 共分散は、例えばA銘柄とB銘柄の値動きについて、関連があるのかを調べる指標にあったと思います。共分散は、各試行が「独立」しているなら、同時確率による「打ち消し」作用によりゼロになります。