◇ [データ復旧に不可欠な統計 一つ目] 壊れかけのドライブに対する観測

ドライブが故障し、壊れかけております。その動作は「不安定」で、不良セクタもあります。
そこで、まず不良セクタの「状態」について、正常な場合は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銘柄の値動きについて、関連があるのかを調べる指標にあったと思います。共分散は各試行が「独立」しているなら、同時確率による「打ち消し」作用によりゼロになります。