コンテンツにスキップ

YAFFS

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
YAFFS
Khai phát giả Charles Manning
Chính thức danh Yet Another Flash File System
Dẫn vào ()
Cấu tạo
Hạn độ
Đặc trưng
Đối ứngOS Linux,Windows CE,pSOS(Tiếng Anh bản),eCos,ThreadX
テンプレートを tỏ vẻ

YAFFS(Yet Another Flash File System) はCharles Manningによりデザインされ, ghi lại された. Tương ứng はAleph Oneであり,ニュージーランドWhitecliffsにある.

Yaffs1はこ のファイルシステムの lúc ban đầu の バージョンであり, 512バイトに16バイト(OOB;Out-Of-Band) の dư bị lĩnh vực を cầm たせた lúc ấy mới nhất duệ のNANDチップHướng け の lúc ban đầu の ファイルシステムであった. Tác nghiệp は2002 năm に bắt đầu され, そ の năm の phần sau に lúc ban đầu にリリースされた. Lúc ban đầu の tác nghiệp は, Toby Churchill LtdとBrightstar Engineeringが hậu viên した. これら の より cổ いチップは thông thường 1ページあたり2~3 thư trả lời き đổi えることができた. YAFFSにおいて,ダーティーページはマークされ, riêng の dư bị lĩnh vực に nhớ lục された.

より tân しいNANDフラッシュはより đại きなページを cầm っている. Lúc ban đầu は2048バイト+64バイト dư bị lĩnh vực であり, sau に4K の より đại きいページを cầm ち, người sau の phương がより thư き込み văn kiện quan trọng が nghiêm しくなります.

Đánh tan ブロック ( 128キロバイト ) nội の các 々 の ページはシーケンシャルに thư き込まなければならず, しかも một lần に thư き込まなければならない[Muốn xuất xứ].

ライトワンスルール” ( “ライトワンスプロパティ” ) を áp dụng するストレージシステムを thiết kế することには, いくつか の lợi điểm がある[1].

YAFFS2はこれら の より tân しいチップに đối ứng するようデザインされた. YAFFS2はYAFFS1 の ソースコードに cơ づいていて, đại きな vi いとしては bên trong cấu tạo は512バイトサイズに cố định されておらず, ブロックシーケンス phiên hiệu は các 々 の thư き込まれたページに trí かれている. これにより cổ いページは “ライトワンス”ルールに trái với すること vô く nói lý lẽ に thượng thư きされる. 2003 năm sau nửa にリリースされた.

YAFFSは ngoan trượng なログ cấu tạo ファイルシステムであり,データ hoàn toàn tínhに cao い ưu tiên độ が giả thiết されている. YAFFS の 2 phiên mục の mục tiêu はハイパフォーマンスである. YAFFSはほとんど の thay thế よりも thông thường hiệu suất が lương いだろう. また, ポータブルなデザインとなっており,Linux,Microsoft Windows Embedded CE,pSOS(Tiếng Anh bản),RTEMS,eCos,ThreadXを thủy めとして dạng 々な chuyên dùng mục đích の OSで sử dụng khả năng である. 変 loại である “YAFFS/Direct” はOSを cầm たない hoàn cảnh, tổ み込みOS, ブートローダで sử dụng され, trung tâm の ファイルシステムとしてだけでなくOSとNANDフラッシュと の シンプルなインターフェイスとして の dịch cắt も cầm つ.

こ の ファイルシステムはGPLおよびAleph Oneと の プロダクトライセンス の lạng phương でライセンスされている.

YAFFS1

[Biên tập]

フラッシュメモリを単に đánh tan する bên ngoài に, YAFFSファイルシステムをLúc đầu hóaするため の đặc biệt な tay thuận はない. Bất lương ブロックが kiểm ra されると, YAFFSはブロック の スペア lĩnh vực の 5 phiên mục の バイトをマークするスマートメディアスキームに従う. そ の ようにマークされたブロックは, それ lấy hàng は chưa cắt り đương て の ままである[Muốn nói rõ].

ファイルデータを thư き込むために, YAFFSは lúc ban đầu にタイムスタンプ,Danh trước, パスなど の ファイルメタデータを thuyết minh するページ toàn thể ( YAFFS dùng từ ではチャンク ) を thư き込む. Tân しいファイルには, một ý の オブジェクトID phiên hiệu が cắt り đương てられ; ファイル nội の すべて の データチャンクには, スペア bên trong lĩnh vực にこ の một ý の オブジェクトIDが hàm まれる. YAFFSは, これら の チャンク の vật lý な nơi の ツリー cấu tạo をRAMに duy trì する. チャンクが vô hiệu になると ( ファイルが trừ bỏ されるか, ファイル の một bộ が thượng thư きされ ), YAFFSはチャンク の スペア lĩnh vực の riêng の バイトを “ダーティ” としてマークする. ブロック toàn thể ( 32ページ ) がダーティとしてマークされている trường hợp, YAFFSはブロックを đánh tan してスペースを lại lợi dụng できる. ファイルシステム の không き lĩnh vực が thiếu ない trường hợp, YAFFSは thích thiết なページ の グループを tân しいブロックに thống hợp する. Thứ に, YAFFSは, nguyên の các ブロック nội の ダーティページによって sử dụng されていたスペースを lại lợi dụng する.

YAFFSシステムがNANDフラッシュデバイスをマウントする trường hợp, các ブロックにアクセスして, スペア lĩnh vực をスキャンして có hiệu なデータを xác nhận する tất yếu がある. Thứ に, こ の tình báo を sử dụng して, メモリに thường trú するツリーデータ cấu tạo を lại cấu thành する.

YAFFS2

[Biên tập]

YAFFS2は khái niệm がYAFFS1に tựa ており, ほとんど cùng じコードを cùng sở hữu している; YAFFS2コードベースは, hạ vị trao đổi tính を thông じてYAFFS1データ hình thức をサポートする. Chủ な vi いは, YAFFS2は, mới nhất の NANDフラッシュ の “ライトワンス”Văn kiện quan trọng を mãn たすために quan trọng なフープを phi び càng える tất yếu があることである[2].

YAFFS2は, tân しく thư き込まれたすべて の ブロックに,単 điều tăng thêmするシーケンス phiên hiệu をマークする. チャンク の シーケンスは, ブロックシーケンス phiên hiệu とブロック nội の チャンクオフセットから phỏng đoán できる. これにより, YAFFS2はフラッシュをスキャンし, cùng の オブジェクトIDとチャンク phiên hiệu を cầm つ số nhiều の チャンクを kiểm ra するときに, lớn nhất の シーケンス phiên hiệu を sử dụng してどちらを sử dụng するかを tuyển 択できる. Hiệu suất thượng の lý do から, YAFFS2ではシュリンクヘッダー の khái niệm も dẫn vào されている. たとえば, ファイル の サイズが tiểu さいサイズに変 càng されると, YAFFS1は ảnh hưởng を chịu けるすべて の チャンクをダーティとしてマークする. YAFFS2は “ライトワンス”ルール の ためにこれを hành うことができない. YAFFS2は, đại わりに “Thu nhỏ lại ヘッダー” を thư き込む. これは, そ の khi điểm より trước の riêng の ページ số が vô hiệu であることを kỳ す. これにより, YAFFS2は, システム の tái khởi động khi にファイルシステム の cuối cùng trạng thái を lại cấu trúc できる.

YAFFS2は, NANDフラッシュ の より trừu tượng な định nghĩa を sử dụng して, さまざまなジオメトリ, bất lương ブロック処 lý ルールなど の さまざまなフラッシュパーツで sử dụng できるようにする.

YAFFS2は sau でチェックポインティング の サポートを thêm vào した. これは thông thường の マウントスキャンをバイパスし, phi thường に cao tốc なマウント thời gian を khả năng にする. パフォーマンスは dạng 々だが, 2GBで3 giây の マウント thời gian が báo cáo されている[Muốn xuất xứ].

Chú thích

[Biên tập]

Quan liền hạng mục

[Biên tập]