ウェブアプリケーション,インジェクション,コマンドインジェクション

androidのNAND flashの特徴

androidのNAND flashメモリ

androidで使われるデータの型

androidでは主に2つの型のメモリが使われています。
RAM(揮発性)とNAND flash(非揮発性)のメモリです。
この二つのメモリはデバイスのデータの扱いが違います。

NAND Flash(非揮発性)

RAMとは違って、NAND flashは非揮発性で、
デバイスに電源が入っていない、再起動された時でも、
データを保存しています。
NAND flashはシステムファイルの保存だけでなく、
ユーザデータの大事な部分にも使われています。
NAND flashメモリは現在のハードデバイスに見られる
磁気的なメディアとは大きく異なり特徴的です。
NAND flashの持つ特徴がモバイルデバイスの記憶装置として、
理想的な形態を産んでいます。
一方で、同時にプログラマにいくつかの挑戦と、
フォレンジック分析者にいくつかの機会を与えています。

まず、NAND flashはとても高密度で、製造コストが安く済みます。
製造プロセスと技術の効果が裏目にでた場合の大部分は、
そのNAND flashが文字通りメーカーから直接
傷んだブロックを発送することにあります。
製造メーカーは大抵、製造プロセスの一部としてメモリをテストし、
NAND flash上の特定の構造にある悪いブロックにマークをつけます。
ソフトウェアは、そのうちNAND flashと直接やり取りをします。
そしてメーカーがつけた、
傷んだブロックのマークを読むことができ、
たまにシステム上の傷んだブロックを論理的に追跡し、
オペレーションからそれら傷んだブロックを削除する
傷んだブロックテーブルを実行したりします。
この傷んだブロックがいろんなタスクに関わると、
エラー率が高いため、
実行に支障がでたり、思いもよらない結果を生むことがあります。
この傷んだブロックの検査と管理は、
すごいスピードアップしています。
その一方、NAND flashは、一般的なハードディスクのように”お皿”を
回しているよりも物理的に耐久性があります。

他のNAND flashにおける重要な限界点は、
ブロックがまるでデータを保存できなくなる前に
書き込み/削除の寿命にかなり制限を設けています。
この寿命はデバイスによって様々で、
NAND flashのセルやNAND flashの核を
構成しているブロック(1や0ビットを保存しています)につき
保存できるデータの量に大抵、影響してきます。
もしそのセルが1つのビットだけを保存する
(シングルレベルセル、やSLC)としたら、
そのNAND flashが1年間のデータ保有力が、
100K近い書き込み/削除サイクルに値しています。
しかし、NAND flashには稀にしかSLCが使われません。
製造者(また、利用者)が同様のサイズ化されたものや、
より小さいデバイスに、
さらなるデータの記憶容量を要求されれば使われるくらいです。
SLCの技術はマルチレベルセル(multilevel cell)へと移行していき、
MLCではセル単位に2つ、3つ、
さらに多くのビットを保存できるようになってます。
しかし、MLCは製造工程が複雑になるだけでなく、
書き込み/削除のサイクルも遅くなりますが、
デバイスの耐久力(持久力)もかなり減ってしまいます。
大抵のMLC NAND flashはセル単位に2つのビットを保存し、
およそ10Kの書き込み/削除サイクルの値で、
耐久力(持久力)は10倍の減少に陥ります。
(1年間のデータ保有力として計測。)
セル当たりのビット密度の上昇のように、
耐久力(持久力)は落ち込み続けるので、
デバイスのコントロールをすることで、
取り組まなければならない問題のようです。
flashメモリではありますが、
大抵コンピュータの基本入出力やBIOSのようなシステムに使われる
RAMやNOR flashとは違って、
NAND flashはやみくもにアクセスすることはできません。
代わりにデータへのアクセスは、allocation unitを経由してできます。
ページやchunkと呼ばれ、
この大きさは大抵、512から2048バイトの間ですが、
一般的にNAND flashのサイズの増加を包むほど増加しています。
android NAND_flashのこと つづき。。

ホーム
便利堂ロゴ
inserted by FC2 system