【FileSystem】車載外部ストレージ その3【不揮発性メモリ①】

【FileSystem】車載外部ストレージ その3【不揮発性メモリ①】 車載外部ストレージ

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/

はじめに

オープンソース組み込みFatファイルシステムであるFatFsの概要について。
と見せかけけて不揮発性メモリの話。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

FatFsとは

フクさん
フクさん

前回、軽く説明したけど、入手元は以下。
日本語サイトと英語サイトがあって、最新情報が欲しい場合は英語サイトを見るように。

FatFs 日本語サイト

ELM - FatFs 汎用FATファイルシステム・モジュール
組み込みシステム向けFATファイル・システム

FatFs 英語サイト

FatFs - Generic FAT Filesystem Module
Open source FAT filesystem for embedded projects
太郎くん
太郎くん

簡単に説明するとどういうものになるの?

フクさん
フクさん

まぁ公式の情報をそのまま書くと、

FatFsは、小規模な組み込みシステム向けの汎用FAT/exFATファイルシステムモジュールである。FatFsモジュールは、ANSI C(C89)に準拠して記述されており、ディスクI/O層から完全に分離されており、プラットフォームから独立している。8051、PIC、AVR、ARM、Z80、RXなどのリソースが限られたの小規模なマイクロコントローラーに組み込むことができる。

http://elm-chan.org/fsw/ff/00index_e.html の説明を日本語訳
太郎くん
太郎くん

ディスクI/O層ってのが、SDカードドライバってことになるのかな?

フクさん
フクさん

そうだね。
ストレージとしてはSDカードである必要はなくて、
セクタの概念が作れるデバイスであべば、何にでも組み込める。

FATファイルシステムを搭載するのに適切なメモリデバイス

太郎くん
太郎くん

EEPROMとかでもできるの?

フクさん
フクさん

まぁ出来なくはないけど、FATファイルシステムを組み込むには結構な容量が求められるからEEPROMだとちょっと勿体ないかな。
EEPROMって大体4[Mbyte]が最大なんじゃないかなー。
FATを使おうと思ったら32[MByte]以上は無いとねー。

EEPROM(Electrically Erasable Programmable Read-Only Memory)は不揮発性メモリの一種。E2PROMとも表記される。コンピュータなどの電子機器において、設定情報など、電源を切っても保持すべきデータの記憶に用いられる。USBメモリのように大量のデータを格納する用途では、従来型のEEPROMよりもその一種であるフラッシュメモリなどの方が経済的である。EEPROMはフローティングゲートMOSFETの配列でできている。

Wikipediaより
太郎くん
太郎くん

シリアルFlashとかは?

フクさん
フクさん

シリアルFlashのNOR型だと256Mbyteとかあるからいけるかもねー。

NOR型フラッシュメモリ(ノアがたフラッシュメモリ)は、フラッシュメモリの一種である。NAND型フラッシュメモリとは異なり、データの読み出しにおいて、RAMと同様にアドレス指定によるアクセスができ、コードをRAMにコピーすることなく直接実行すること(execute in place)が可能。データの書き込みについては、一度ブロック単位で消去した後、書き込むという手順を踏む。この手順についてはIntel系コマンドやAMD系コマンドなどがあるが、チップの特性情報を読み出すコマンドは共通フラッシュメモリインターフェース(Common Flash memory Interface) として標準化されている。用途として、マイコンをはじめ、高い信頼性が求められるルーター、プリンター、デジタルカメラ、GPS、車載機器、携帯電話やPDAなど、どれもハードディスクが使用できない環境でファームウェアの格納等に使われる。

Wikipediaより
太郎くん
太郎くん

NOR型?
FLASHメモリっていろいろ種類があるの?

フクさん
フクさん

NOR型フラッシュメモリの引用にも書いてるけど、
NAND型ってのがあるね。

NAND型フラッシュメモリ(ナンドがたフラッシュメモリ、NANDフラッシュメモリ)は、不揮発性記憶素子のフラッシュメモリの一種である。NOR型フラッシュメモリと比べて回路規模が小さく、安価に大容量化できる。また書き込みや消去も高速であるが、バイト単位の書き替え動作は不得手である。従来のフロッピーディスクに代わるPC用のUSBメモリやソリッドステートドライブ(SSD)、デジタルカメラ用のメモリーカード、携帯音楽プレーヤー、携帯電話などの記憶装置として使用される。

Wikipediaより
太郎くん
太郎くん

んー、これ見るとNAND Flashがストレージとしては適切ってことになるのかな?

フクさん
フクさん

そうだね。
ただ、消去単位がNOR-Flashよりもとてつもなく大きいから、
それなりと消去単位以上のRAM容量を持ってるようなシステムじゃないと使えないだろうね。

太郎くん
太郎くん

え?どういうこと?

フクさん
フクさん

まぁそこらへんの説明はまぁまぁのボリュームがあるから、次回説明にしようかな。

太郎くん
太郎くん

まじかー。

まとめ

フクさん
フクさん

まとめだよ。

 

  • ストレージとして使える不揮発性メモリはおおよそ3種類
    • EEPROM。
    • NOR-FLASH。
    • NAND-FLASH。
  • EEPROMは4[Mbyte]程度なのでファイルシステムを組み込むのは不向き。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました