jffs2

Artem B. Bityuckiy abityuckiy at yandex.ru
Tue Sep 28 07:22:29 EDT 2004


Also, the direntry node and probably the root directory inode node will 
also add 1-2 NAND pages. Thus, 24-27 pages if compression is disabled...

Artem B. Bityuckiy wrote:
> Kornel Masłowski wrote:
> 
>> I'm not sure how jffs2 works.
>> I have jffs2 on  8bit NAND flash (page 512 B).
>> I want to append record 32B to the file on flash which current size is 
>> 10kB.
>> Flash device is almost empty.
>> How many pages will be written by jffs2?
>>
>>
> It is hard to calculate because of compression. Moreover, if your file 
> was created by
> seek to "nowhere" it will cosist of only one "hole" node and fit into 
> one NAND page only.
> 
> If there is no compression, the exact number of pages also depends on 
> how your file was created. Also, there is some platform dependency - 
> does you platform has 4K RAM pages? - but this is minor since most 
> platforms have 4K RAM pages.
> 
> If your 10K file was created by one go and there is no compression, the 
> file will consist of 3 JFFS2 nodes (4K + 4K + 2K) and fit into 9 + 9 + 5 
> = 23 NAND pages (4K data = 4 NAND pages and one is needed for node 
> header; the rest of page won't be used since the next node isn't fit to 
> it).
> 
> When you append 32 bytes, one more page will be used (24 total). But if 
> your append just after 10K file creation (i.e, the JFFS2 write buffer 
> hasn't yet been written to the NAND flash media), the 32B appendix node 
> will be added to the 23-th page and there will be only 23 used pages.
> 
> If the compression is on, there ought to be fewer used NAND pages.
> 
> Ok, this is theory (I didn't check) and my own understanding of how 
> JFFS2 works. I might make mistakes :-)
> 
> You may check this by creating/appending your file and then calculating 
> the numbur of used pages. The nanddump utility may be used.
> 

-- 
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.





More information about the linux-mtd mailing list