mtd/fs/jffs3 JFFS3design.tex,1.31,1.32
Artem Bityuckiy
dedekind at infradead.org
Wed Mar 30 08:27:21 EST 2005
Update of /home/cvs/mtd/fs/jffs3
In directory phoenix.infradead.org:/tmp/cvs-serv28060
Modified Files:
JFFS3design.tex
Log Message:
The gocument is getting large. Mark-up high-level sections to make it
easier to recognize them.
Index: JFFS3design.tex
===================================================================
RCS file: /home/cvs/mtd/fs/jffs3/JFFS3design.tex,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- JFFS3design.tex 26 Mar 2005 14:24:34 -0000 1.31
+++ JFFS3design.tex 30 Mar 2005 13:27:18 -0000 1.32
@@ -44,9 +44,11 @@
\section*{Document status}
Incomplete, working draft.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% CHECKSUM
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Checksum}
Any data (including actual file content and internal JFFS3 data) stored within
JFFS3 file-system is protected by checksum. Nothing is stored on the flash media
@@ -183,9 +185,11 @@
If zlib library is used to compress node's data it is worth asking zlib not to
generate redundant adler32 checksum for better performance.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% VIRTUAL BLOCK HANDLING
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Virtual Block handling}
To reduce memory consumption for block references JFFS3 can
concatenate several physical erase blocks into a virtual erase block.
@@ -209,9 +213,11 @@
A nice benefit is that this keeps the File System compatible for different
concatenation settings in case of removable media.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% WEAR LEVELLING
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Wear Leveling}
JFFS2's wear spread is of random nature. On filesystems with
unchanged files the wear almost never touches blocks which contain
@@ -248,9 +254,11 @@
copying. This feature should be made available in the MTD Kernel API
to enhance performance of such operations.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% BLOCK REFERENCE
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Blocks reference}
The JFFS2 block accounting variables (see [\ref{ref_JFFS2_blk_ref}])
@@ -354,9 +362,11 @@
};
\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% MAXIMAL SIZE OF THE INODE NODE DATA
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Maximal size of the inode node data}
It is proposed to enlarge the maximal data node size to effect several
enhancements (see \ref{ref_BackgroundInformation} for more details).
@@ -440,9 +450,11 @@
drawback, see (\ref{ref_JFFS2_and_mem}) for more information about this.
\end{itemize}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% INODE CHECKPOINTS
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Inode Checkpoints}
\subsection{JFFS2 and memory consumption problem} \label{ref_JFFS2_and_mem}
@@ -452,14 +464,18 @@
\url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011671.html}
for the description of the problem for now.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DATA STRUCTURES
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Data Structures}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ALGORITHMS
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Algorithms}
This section describes the main JFFS3 algorithms in pseudo-code. The
description doesn't contain all the details but refers most fundamental
@@ -590,10 +606,11 @@
\subsection{Memory shrink}
TODO
-
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ABBREVIATIONS
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Abbreviations}
\begin{enumerate}
\item \emph{BB} - Bad Block
@@ -605,9 +622,11 @@
\item \emph{VFS} - Virtual File System
\end{enumerate}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DEFINITIONS
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Definitions}
\begin{enumerate}
@@ -711,9 +730,11 @@
\end{enumerate}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% REFERENCES
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{References}
\begin{enumerate}
@@ -751,9 +772,11 @@
\end{enumerate}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% CREDITS
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Credits}
David Woodhouse\\
Joern Engel\\
@@ -766,9 +789,11 @@
\small{Note: feel free to remind us to include your name if it has been
forgotten.}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% MISCELLANIOUS
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Miscellaneous}
This section contains the gathered list of different ideas and thoughts
suggested by different people but have not yet highlighted/used in this
More information about the linux-mtd-cvs
mailing list