eMMCフラッシュメモリをモバイルデバイスでは実現できるが、PCでは実現できないのはなぜですか?
Windowsのようなデスクトップシステムを実行するためにフラッシュメモリを使用することはかなり長い間反対されていました。しかし、それがモバイル機器にとって望ましい実行可能な選択肢となった理由は何ですか?本日のSuperUser Q&A投稿には、興味をそそられる読者の質問に対する答えがあります。.
本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。.
質問
SuperUserの読者RockPaperLizardは、eMMCフラッシュメモリをモバイルデバイスで実現可能にするもので、PCでは実現できないものを知りたいと考えています。
USBフラッシュドライブが発明されて以来ずっと、人々は彼らが彼らの上で彼らのオペレーティングシステムを動かすことができるかどうか疑問に思っていました。オペレーティングシステムが必要とする書き込み数がすぐになくなるため、答えは常に「いいえ」でした。.
SSDの人気が高まるにつれて、オペレーティングシステムを動作させるためにウェアレベリングテクノロジが向上しました。さまざまなタブレット、ネットブック、およびその他のスリムなコンピュータは、ハードドライブやSSDの代わりにフラッシュメモリを使用し、オペレーティングシステムはそこに保存されています。.
これはどうして突然実用的になったのでしょうか。彼らは通常、ウェアレベリング技術を実装していますか。?
eMMCフラッシュメモリをモバイルデバイスでは実行可能にしますが、PCでは実行できません。?
答え
SuperUserの貢献者であるSpeeddymonとJourneyman Geekが私たちに答えてくれます。まずはSpeeddymon:
タブレットから携帯電話、スマートウォッチ、SSD、カメラ内のSDカード、そしてUSBメモリまで、すべてのフラッシュメモリデバイスはNVRAMテクノロジを使用しています。違いは、NVRAMアーキテクチャと、オペレーティングシステムがどのストレージメディアにあるかにかかわらず、ファイルシステムをマウントする方法にあります。.
Androidタブレットや携帯電話の場合、NVRAMテクノロジはeMMCベースです。私がこの技術で見つけることができるデータは3kから10kまでの書き込みサイクルを示唆しています。残念ながら、私がこれまでに見つけたものはどれも決定的なものではありません。ウィキペディアはこのテクノロジーの書き込みサイクルについては空白のためです。私が見た他のすべての場所はたまたまさまざまなフォーラムなので、信頼できる情報源とはほとんど言えないでしょう。.
比較のために、NANDまたはNORテクノロジを使用するSSDなどの他のNVRAMテクノロジの書き込みサイクルは10k〜30kです。.
さて、ファイルシステムをマウントする方法のオペレーティングシステムの選択に関して。私はAppleがそれをどのようにして行うかについて話すことはできないが、Androidに関しては、チップはハードドライブのように分割されている。デバイスの製造元に応じて、オペレーティングシステムパーティション、データパーティション、およびその他いくつかの専用パーティションがあります。.
本当のルートパーティションはブートローダの中にあります。ブートローダはカーネルと一緒に圧縮ファイル(jffs2、cramfsなど)としてバンドルされているので、デバイスのステージ1のブートが完了すると(通常はメーカーのロゴ画面)、カーネルはブートとルートパーティションは同時にRAMディスクとしてマウントされます。.
オペレーティングシステムが起動すると、プライマリパーティションのファイルシステム(Android 4.0より前のデバイスでは/ system、Android 4.0以降のデバイスではext2 / 3/4、最新のデバイスではxfs)がマウントされます。データを書き込むことはできません。もちろん、これはあなたのデバイスのいわゆる「root化」によって回避することができます。それはあなたにスーパーユーザーとしてアクセスを与え、あなたが読み書き可能としてパーティションを再マウントすることを可能にします。あなたの「ユーザー」データはチップ上の別のパーティションに書き込まれます(/ data、Androidバージョンに基づいて上記と同じ規則に従います)。.
SDカードスロットを捨てている携帯電話が増えるにつれて、すべてのデータがSDカードではなくeMMCストレージに保存されるようになるため、ライトサイクルの上限に近づくと思うかもしれません。幸いなことに、ほとんどのファイルシステムは特定のストレージ領域への書き込み失敗を検出します。書き込みが失敗すると、データは暗黙のうちに新しいストレージ領域に保存され、不良領域(不良ブロックと呼ばれる)はファイルシステムドライバによって保護され、将来データが書き込まれなくなります。読み取りに失敗した場合、データは破損しているとマークされ、ユーザーにファイルシステムチェック(またはディスクチェック)を実行するように指示されるか、デバイスが次回の起動時にファイルシステムを自動的にチェックします。.
実際のところ、Googleは自動的に不良ブロックを検出して処理する特許を持っています。電子データフラッシュカード用のフラッシュメモリの不良ブロックの管理
より正確に言うと、これがどのようにして突然実用的になったかについてのあなたの質問は正しい質問ではありません。そもそも現実的ではありませんでした。ディスクへの書き込み回数が多いため、(おそらく)SSDにオペレーティングシステム(Windows)をインストールしないことを強くお勧めしました。.
たとえば、レジストリは1秒間に文字通り何百もの読み取りと書き込みを受信します。これはMicrosoft-SysInternals Regmon Toolで確認できます。.
第一世代のSSDではWindowsをインストールしないことをお勧めします。ウェアレベリングが欠如しているため、レジストリに書き込まれるデータが毎秒(おそらく)初期の採用者に追いつき、レジストリの破損によりシステムが起動できなくなるため.
タブレット、携帯電話、その他ほとんどすべての組み込みデバイスでは、レジストリは存在しません(もちろんWindows Embeddedデバイスは例外です)。したがって、フラッシュメディアの同じ部分にデータが常に書き込まれる心配はありません。.
ときどきランダムなBSODが表示される可能性がある公共の場所(Walmart、Krogerなど)にあるキオスクの多くなど、Windows Embeddedデバイスの場合、それらを実行できるので設定できることはあまりありません。決して変更することを意図していない構成で事前設計されています。変更が行われるのは、ほとんどの場合、チップが書き込まれる前だけです。食料品店への支払いなど、保存する必要があるものはすべて、ネットワークを介してサーバー上の店のデータベースに行われます。.
Journeyman Geekからの回答が続きます。
オペレーティングシステムが必要とする書き込み数がすぐになくなるため、答えは常に「いいえ」でした。.
彼らはついに主流の使用のために費用対効果の高いものになりました。 「磨耗」が唯一の関心事であるということは、ちょっとした仮定です。かなりの期間、システムはソリッドステートメモリを使い果たしてきました。 CFカード(PATAと電気的に互換性があり、PATAハードドライブに比べてインストールが簡単)から起動したカープルを製造した多くの人々、および小型で頑丈なフラッシュベースのストレージを持っていた.
それは言った、平均的な人のための多くの選択肢はありませんでした。あなたはラップトップのために高価なCFカードとアダプタを購入するか、デスクトップのためのモジュールユニットの上に小さい、非常に高価な産業用ディスクを見つけることができます。それらは現代のハードドライブと比べてそれほど大きくはありませんでした(現代のIDE DOMは8GBか16GBです)。標準のSSDが一般的になる前に、ソリッドステートシステムドライブをセットアップすることができたはずです。.
私の知る限り、ウェアレベリングに普遍的/魔法的な改善は実際にはありません。 SLCからMLC、TLC、さらにはQLCまで、より小さなプロセスサイズ(これらすべてが低コストで磨耗のリスクが高い)に移行しつつある中で、段階的な改善が行われてきました。フラッシュはずっと安くなった.
摩耗の問題がないいくつかの代替案もありました。たとえば、初期のSSDやPalm Pilotなどのポータブルデバイスで使用されていたROM(ほぼ間違いなくソリッドステートストレージ)とバッテリバックアップ式RAMでシステム全体を動作させることができます。これらのどれも今日一般的ではありません。ハードドライブは、バッテリバックアップRAM(高価すぎる)、初期のソリッドステートデバイス(多少高価)、またはフラグを持った農民(ひどいデータ密度のために引っかかられない)と比べて揺れ動きました。現代のフラッシュメモリでさえも、急速消去型のeepromの子孫であり、eepromは古くからのファームウェアのようなものを格納するために電子機器に使用されてきた。.
ハードドライブは、大容量(これは重要です)、低コスト、そして比較的十分なストレージの単純な交差点でした。.
最近のローエンドコンピュータでeMMCが見つかるのは、コンポーネントが比較的安価で十分な大きさ(デスクトップオペレーティングシステム用)で、携帯電話のコンポーネントと共通しているため、標準のインターフェイスで大量に製造されているためです。彼らはまた彼らのボリュームのために大きな記憶密度を与えます。これらのマシンの多くが、10年前の大部分のハードドライブと同等の、Paltry 32GBまたは64GBドライブを備えていることを考えると、それらはこの役割では賢明な選択肢です。.
私たちはついに合理的な量のメモリを手ごろな価格でeMMCとフラッシュに適切な速度で保存できるようになりました。.
説明に追加するものがありますか?コメントで音を消す。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.
画像のクレジット:Martin Voltri(Flickr)