亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? yaffs-0.3.html

?? 嵌入式linux yaffs文件系統源代碼
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD>	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">	<TITLE></TITLE>	<META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Linux)">	<META NAME="AUTHOR" CONTENT=" ">	<META NAME="CREATED" CONTENT="20011219;22024300">	<META NAME="CHANGEDBY" CONTENT=" ">	<META NAME="CHANGED" CONTENT="20020128;21063000"></HEAD><BODY><H1 ALIGN=CENTER>YAFFS (yet another Flash File System)</H1><H4 ALIGN=LEFT>Version 0.3<BR>Charles Manning (and Wookey), December 2001</H4><P ALIGN=LEFT><BR><BR></P><H2>Revision History</H2><TABLE WIDTH=548 BORDER=1 CELLPADDING=4 CELLSPACING=3>	<COL WIDTH=88>	<COL WIDTH=72>	<COL WIDTH=350>	<THEAD>		<TR>			<TH WIDTH=88 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">V0.0</P>			</TH>			<TH WIDTH=72 VALIGN=BOTTOM SDVAL="37245" SDNUM="5129;0;D/MM/YY">				<P ALIGN=LEFT STYLE="font-style: normal">20/12/01</P>			</TH>			<TH WIDTH=350 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">First draft</P>			</TH>		</TR>	</THEAD>	<TBODY>		<TR>			<TD WIDTH=88 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">V0.1</P>			</TD>			<TD WIDTH=72 VALIGN=BOTTOM SDVAL="37267" SDNUM="5129;0;D/MM/YY">				<P ALIGN=LEFT STYLE="font-style: normal">11/01/02</P>			</TD>			<TD WIDTH=350 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">Minor corrections &amp;				cosmetics.<BR>Change use of data status byte.</P>			</TD>		</TR>		<TR>			<TD WIDTH=88 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">V0.2</P>			</TD>			<TD WIDTH=72 VALIGN=BOTTOM SDVAL="37284" SDNUM="5129;0;D/MM/YY">				<P ALIGN=RIGHT STYLE="font-style: normal">28/01/02</P>			</TD>			<TD WIDTH=350 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">Added observations about				inodes, file headers and hard links.</P>			</TD>		</TR>		<TR>			<TD WIDTH=88 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">V0.3</P>			</TD>			<TD WIDTH=72 VALIGN=BOTTOM SDVAL="37285" SDNUM="5129;0;D/MM/YY">				<P ALIGN=RIGHT STYLE="font-style: normal">26/02/02</P>			</TD>			<TD WIDTH=350 VALIGN=TOP>				<P ALIGN=LEFT STYLE="font-style: normal">W:Added some general 				observations on compatibility, partitions and bootloading.</P>			</TD>		</TR>	</TBODY></TABLE><P ALIGN=LEFT><BR><BR></P><H2>Scope</H2><P>The purpose of this document is to outline a potentialNAND-friendly file system for Linux.</P><H2>Background</H2><P>There are already various flash-file systems (FFSs) or blockdrivers for flash (on top of which a regular FS runs). There are prosand cons with all of these. </P><P>Flash memory has quite a few constraints which will not beaddressed here. Various approaches are available to work around theseconstraints to provide a file system. It is important to recognisethat &quot;flash&quot; includes both NOR and NAND flash which havedifferent sets of constraints. It is easy to be mislead by thegeneric term &quot;flash&quot; into thinking that approachesappropriate for NOR flash are immediately suitable for NAND flash.</P><P>The NAND block drivers (eg. SmartMedia [currently not availablefor Linux] and DiskOnChip NFTL) typically use FAT16 as the filesystem. This isn't too robust and nor is it that flash-friendly.These block drivers provide a logical to physical mapping layer toemulate rewritable blocks that look like disk sectors. When used withFAT16, these file systems work reasonably well. They have a lowmemory footprint and scale well. Like all FAT based systems they areprone to corruption (&quot;lost clusters etc&quot;).</P><P>The other approach is to design an entire file system which doesnot work through a block driver layer and is flash-friendly. Thisallows more scope to work around issues.</P><P>Currently, two Linux file systems that support NOR flash very wellare JFFS and its derivative JFFS2. Both of these are based on theprinciples of journaling (hence the leading J) which significantlyincreases robustness - a particularly important feature in embeddedsystems. Unfortunately neither of these file systems scaleparticularly well in both boot time and RAM usage. Scaling isparticularly relevant when one considers that a 16MB NOR array wouldbe considered large while a 128MB NAND is available as a single chip.</P><P>JFFS requires a RAM-based jffs_node structure for each journallingnode in the flash. Each of these nodes is 48 bytes. JFFS2 makes asignificant improvement here by reducing the equivalent structure(jffs2_raw_node_ref) to 16 bytes. Still, at say an average node-sizeof 512 bytes, a 128MB NAND might need 250000 of these ... 4MB!</P><P>Both JFFS and JFFS2 require scanning the flash array at boot timeto find the journaling nodes and determine the file structures. SinceNAND is large, slow, serially accessed and needs ECC this does notscale well and will take an unacceptably long boot time for thetarget systems. As a thumb-suck, the scanning of a 128MB NAND arraymight take approx 25 seconds.</P><P>The intentions of the design sketched here are:</P><UL>	<LI><P>Be NAND-flash friendly.</P>	<LI><P>Robustness through journaling strategies.</P>	<LI><P>Significantly reduce the RAM overheads and boot times	associated with JFFSx.</P></UL><p>This FS is intended primarily for internal NAND rather than removable NAND(SM cards). On removable SM cards Smartmedia compatibility is likely to beimportant so SM/FAT will normally be used, although of course YAFFS makes alot of sense if reliability is more important than compatibility.</p><H2>Overview</H2><P>Here follows a simplified overview of YAFFS.</P><P>YAFFS uses a physical flash format similar to SmartMedia. This isdone for various reasons:</P><UL>	<LI><P>Some of the formatting, eg placement of bad block markers is	determined by the NAND manufacturers and can't be changed.</P>	<LI><P>Potential to reuse code.</P>	<LI><P>If it ain't broke don't fix.</P></UL><P>Some of the fields are obviously different to reflect thedifferent usage. Despite the similarities YAFFS is not actually compatiblewith SM/FAT. SM cards need to be reformatted to switch from using SM/FAT toYAFFS or vice versa.</P><P>File data is stored in fixed size &quot;chunks&quot; consistentwith the size of a page (ie. 512 bytes). Each page is marked with afile id and chunk number. These tags are stored in the &quot;sparedata&quot; region of the flash. The chunk number is determined bydividing the file position by the chunk size.</P><P>When data in a file is overwritten, the relevant chunks arereplaced by writing new pages to flash containing the new data butthe same tags. The overwritten data is marked as &quot;discarded&quot;.</P><P>File &quot;headers&quot; are stored as a single page, marked so asto be differentiated from data pages.</P><P>Pages are also marked with a short (2 bit) serial number thatincrements each time the page at this position is incremented. Thereason for this is that if power loss/crash/other act of demonicforces happens before the replaced page is marked as discarded, it ispossible to have two pages with the same tags. The serial number isused to arbitrate.</P><P>A block containing only discarded pages (termed a <I>dirty block</I>)is an obvious candidate for garbage collection. Otherwise valid pagescan be copied off a block thus rendering the whole block discardedand ready for garbage collection.</P><P>In theory you don't need to hold the file structure in RAM... youcould just scan the whole flash looking for pages when you need them.In practice though you'd want better file access times than that! Themechanism proposed here is to have a list of __u16 page addressesassociated with each file. Since there are 2<SUP>18</SUP> pages in a128MB NAND, a __u16 is insufficient to uniquely identify a page butis does identify a group of 4 pages - a small enough region to searchexhaustively. This mechanism is clearly expandable to larger NANDdevices - within reason. The RAM overhead with this approach isapprox 2 bytes per page - 512kB of RAM for a whole 128MB NAND.</P><P>Boot-time scanning to build the file structure lists shouldrequire just one pass reading NAND. Since only the the spare dataneeds to be read, this should be relatively fast ( approx 3 secondsfor 128MB). Improvements can be achieved by partitioning the NAND.ie. mount the critical partition first then mount the data partitionafterwards.</P><P>Various runtime improvements can be achieved by changing the&quot;chunk size&quot; to 1024 bytes or more. However this wouldlikely reduce flash efficiency. As always, life is a compromise....</P><P><BR><BR></P><H3>Spare area details</H3><P>The following table summarizes the layout of the spare area ofeach page.</P><TABLE WIDTH=674 BORDER=1 CELLPADDING=4 CELLSPACING=3>	<COL WIDTH=96>	<COL WIDTH=249>	<COL WIDTH=291>	<THEAD>		<TR VALIGN=TOP>			<TH WIDTH=96>				<P>Byte #</P>			</TH>			<TH WIDTH=249>				<P>SmartMedia usage</P>			</TH>			<TH WIDTH=291>				<P>YAFFS usage</P>			</TH>		</TR>	</THEAD>	<TBODY>		<TR VALIGN=TOP>			<TD WIDTH=96>				<P>0..511</P>			</TD>			<TD WIDTH=249>				<P>Data</P>			</TD>			<TD WIDTH=291>				<P>Data. either file data or file header depending on tags</P>			</TD>		</TR>		<TR VALIGN=TOP>			<TD WIDTH=96>				<P>512..515</P>			</TD>			<TD WIDTH=249>				<P>Reserved</P>			</TD>			<TD WIDTH=291>				<P>Tags</P>			</TD>		</TR>		<TR>			<TD WIDTH=96 VALIGN=BOTTOM SDVAL="516" SDNUM="5129;">				<P ALIGN=RIGHT>516</P>			</TD>			<TD WIDTH=249 VALIGN=TOP>				<P>Data status byte. Not used in SM code from Samsung</P>			</TD>			<TD WIDTH=291 VALIGN=TOP>				<P>Data status byte. If more than 4 bits are zero, then this page				is discarded.</P>			</TD>		</TR>		<TR>			<TD WIDTH=96 VALIGN=BOTTOM SDVAL="517" SDNUM="5129;">				<P ALIGN=RIGHT>517</P>			</TD>			<TD WIDTH=249 VALIGN=TOP>				<P>Block status byte</P>			</TD>			<TD WIDTH=291 VALIGN=TOP>				<P>Block status byte</P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美男女性生活在线直播观看| 不卡一卡二卡三乱码免费网站| 韩国视频一区二区| 成人免费的视频| 欧美日本在线一区| 中文字幕在线视频一区| 青青青伊人色综合久久| 色综合中文字幕国产 | 麻豆成人久久精品二区三区小说| 国产成人自拍高清视频在线免费播放| 欧美亚洲尤物久久| 国产精品免费看片| 色综合天天综合网天天看片| 欧美不卡视频一区| 亚洲与欧洲av电影| 成人avav影音| 国产午夜亚洲精品午夜鲁丝片| 天天免费综合色| 91福利区一区二区三区| 国产精品久久午夜| 丁香天五香天堂综合| 精品粉嫩超白一线天av| 亚洲欧洲成人精品av97| 欧美性猛交xxxxxxxx| 国产女人18水真多18精品一级做| 婷婷久久综合九色综合伊人色| 91一区二区在线| 国产精品久久毛片a| 国产一区二区三区久久久 | 激情综合网av| 精品美女在线播放| 蜜桃在线一区二区三区| 欧美一区二区美女| 日本美女视频一区二区| 欧美老年两性高潮| 日本色综合中文字幕| 欧美裸体bbwbbwbbw| 日韩精品一卡二卡三卡四卡无卡| 在线观看日产精品| 亚洲mv在线观看| 91精品国产欧美一区二区18| 青草国产精品久久久久久| 欧美一级理论片| 麻豆国产精品官网| 久久久另类综合| 成人午夜在线视频| 亚洲精品五月天| 欧美日韩高清影院| 久久99精品一区二区三区 | 国产精品高潮久久久久无| 国内精品视频666| 国产三级精品三级在线专区| 成人免费看视频| 亚洲男人天堂av| 日本道在线观看一区二区| 亚洲成人激情自拍| 精品乱码亚洲一区二区不卡| 国内精品久久久久影院色| 国产精品嫩草久久久久| 色婷婷久久99综合精品jk白丝| 亚洲国产中文字幕在线视频综合 | 精品无人码麻豆乱码1区2区| 国产日韩综合av| 91网站视频在线观看| 亚洲国产成人porn| 精品国产一区久久| 成人黄色片在线观看| 亚洲图片欧美一区| 国产69精品久久99不卡| 国产精品入口麻豆原神| 色av综合在线| 精品一区二区三区久久| 中文字幕不卡在线| 欧美日韩aaa| 国产成人精品www牛牛影视| 亚洲综合久久久| 欧美成人女星排名| 日韩精品一区二区三区在线观看 | 一区二区三区在线影院| 欧美日韩精品综合在线| 精品中文av资源站在线观看| 中文字幕五月欧美| 日韩一区二区在线观看视频 | 国产亚洲一区字幕| 欧美午夜影院一区| 国产精品一级黄| 日本aⅴ亚洲精品中文乱码| 国产免费久久精品| 欧美一级二级三级乱码| 国产亚洲综合在线| 中文字幕乱码日本亚洲一区二区| 91麻豆蜜桃一区二区三区| 美腿丝袜一区二区三区| 亚洲在线一区二区三区| 中文一区二区完整视频在线观看 | 色乱码一区二区三区88| 国产精品一级片| 久久66热偷产精品| 日韩主播视频在线| 亚洲午夜电影在线| 亚洲伦理在线精品| 国产精品美女www爽爽爽| 欧美成人精品高清在线播放| 欧美日韩精品专区| 欧美色国产精品| 欧美在线视频日韩| 91美女片黄在线| 99国产麻豆精品| 成人动漫一区二区三区| 成人综合在线视频| 国产老肥熟一区二区三区| 欧美精品视频www在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲精品一二三区| 亚洲少妇30p| 亚洲天堂久久久久久久| 国产精品护士白丝一区av| 亚洲一区在线看| 夜夜嗨av一区二区三区四季av| 国产精品免费看片| 综合久久给合久久狠狠狠97色| 中文字幕一区二区视频| 亚洲人成影院在线观看| 亚洲三级免费观看| 悠悠色在线精品| 亚洲午夜激情av| 欧美aaaaaa午夜精品| 奇米888四色在线精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产一区二区三区免费| 日本中文一区二区三区| 首页国产欧美久久| 老司机精品视频在线| 激情五月激情综合网| 国产不卡一区视频| 99久久精品情趣| 在线视频国产一区| 高清在线不卡av| 色婷婷精品大在线视频| 精品视频一区 二区 三区| 3atv一区二区三区| 久久众筹精品私拍模特| 久久久99久久精品欧美| 日韩毛片在线免费观看| 亚洲一二三区不卡| 久久成人免费电影| 99久久精品免费| 在线播放中文字幕一区| 久久亚洲一区二区三区四区| 亚洲欧美综合色| 国产一区二区美女| a在线欧美一区| 欧美日韩精品一区二区| 久久综合九色综合97婷婷| 亚洲欧洲精品成人久久奇米网| 亚洲成av人综合在线观看| 麻豆精品蜜桃视频网站| 不卡的电视剧免费网站有什么| 欧美视频一区二区三区在线观看| 精品免费99久久| 伊人开心综合网| 国产精品一二三四五| 欧美性生活影院| 国产欧美日韩视频在线观看| 亚洲成人精品一区| 成人午夜视频福利| 5858s免费视频成人| 中文字幕视频一区| 激情综合五月婷婷| 精品婷婷伊人一区三区三| 成人欧美一区二区三区在线播放| 亚洲欧美成人一区二区三区| 蜜臂av日日欢夜夜爽一区| 91福利视频在线| 国产欧美日韩在线看| 麻豆精品久久久| 欧美日韩精品欧美日韩精品| 亚洲私人影院在线观看| 国产成人亚洲精品狼色在线| 欧美一区二区成人6969| 亚洲一区二区在线观看视频| 国产成人福利片| 欧美xxxxx裸体时装秀| 五月综合激情网| 在线欧美一区二区| 亚洲欧美日韩久久| 成人免费高清在线| 国产欧美中文在线| 国产在线一区二区| 日韩精品一区二区三区四区| 首页国产欧美久久| 69堂亚洲精品首页| 日韩二区三区在线观看| 精品日韩一区二区三区| 奇米在线7777在线精品| 4438x亚洲最大成人网| 日韩电影网1区2区| 91精品国产综合久久小美女| 91视频国产资源| 日韩久久免费av|