mtd/fs/jffs3 JFFS3design.tex,1.12,1.13

Artem Bityuckiy dedekind at infradead.org
Sat Jan 29 06:27:20 EST 2005


Update of /home/cvs/mtd/fs/jffs3
In directory phoenix.infradead.org:/tmp/cvs-serv23051

Modified Files:
	JFFS3design.tex 
Log Message:
Update.


Index: JFFS3design.tex
===================================================================
RCS file: /home/cvs/mtd/fs/jffs3/JFFS3design.tex,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- JFFS3design.tex	27 Jan 2005 19:10:52 -0000	1.12
+++ JFFS3design.tex	29 Jan 2005 11:27:16 -0000	1.13
@@ -10,6 +10,7 @@
 \usepackage{longtable}
 \usepackage{hyperref}
 \usepackage{html}
+\sloppy
 
 \begin{document}
 
@@ -84,6 +85,14 @@
 The minimal flash erasable unit.
 \\[4pt]
 
+\raggedright \emph{Bad block}
+&
+NAND flashes may be shipped with bad blocks. These blocks are marked
+bad and must not be never used or erased. The technology also implies
+that new bad blocks may appear during the flash's life cycle. These blocks
+may be marked bad too. See \ref{ref_ToshibaNAND} for more details.
+\\[4pt]
+
 \raggedright \emph{Eblock}
 &
 JFFS3 may treat several sectors as one eblock. Thus, the minimal
@@ -186,6 +195,12 @@
 errors cased by unclean reboots. There is another mechanism exists for
 this purpose (see section \ref{ref_sec_unclean_reboot}). 
 
+JFFS2 prints the CRC error message to the system log on every CRC error found.
+In syctems, where unclean reboots happen very often, this is very
+annoying. JFFS3 should be implemented such a way that it does not print
+the warning messages if the found checksum error is due to unclean
+reboot.
+
 %
 % Checksum modes
 %
@@ -229,6 +244,34 @@
 not fully written.
 
 %
+% Behaviour in case of checksum errors
+%
+\subsection{Behaviour in case of checksum errors}
+The common JFFS2 behaviour if the media corruption has been detected,
+is marking the file system
+with a kind of "corruptred" flag and rejecting to
+perform any IO operations with this inode. But there should a
+possibility to clean this flag and to force JFFS3 to ignore the
+corrupted nodes.
+
+If the checsum error is due to unclean reboot, the partially written
+nodes are just ignored.
+
+%
+% Marking blocks bad
+%
+\subsection{Marking blocks bad}
+In case of NAND or AG-AND flashes, flash blocks may become bad and may
+be marked bad. Bad blocks are not used anymore.
+
+According to \ref{ref_ToshibaNAND} the general method of bad blocks
+detection is the errors when writing or erasing blocks.
+
+If the write error has been detected, JFFS3 moves all data from
+this eblock to another eblock. Then the bogus block is erased. If the
+erase error has been detected, block is marked bad.
+
+%
 % Checksum algorithm
 %
 \subsection{Checksum algorithm}
@@ -280,12 +323,29 @@
 generated nor checked.\\
 \url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011640.html}.
 
+\item Have special type of notes where we may store static inode node's
+(and may be other's) attributes like UID and GID. Perhaps, the xattr
+support may be used here.\\
+\url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011615.html}.
+
+\item Implement xattr support. There are a lot of cases when having it
+would be very handy.\\
+\url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011617.html}\\
+\url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011632.html}\\
+\url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011644.html}\\
+\url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011556.html}
+
+\item Make compression selectable ber file.\\
+\url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011641.html}
+
 \item Have the end majic bitmask on all note types in order to be able
 to quickly detect the partially written nodes.\\
 \url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011529.html}.
 
 \item Increase the maximum node size. We may keep several pages in one node.
-This leads to better compression and less memory consumption.\\
+This leads to better compression and less memory consumption. Ise
+zisofs-like technique when reading the node with several pages of data
+(compressed).\\
 \url{http://lists.infradead.org/pipermail/linux-mtd/2005-January/011672.html}\\
 and following.
 
@@ -303,11 +363,15 @@
 \begin{enumerate}
 \item \raggedright \label{ref_MTD}
 Memory Technology Device (MTD) Subsystem for Linux,\\
-\url{http://www.linux-mtd.infradead.org}.
+\url{www.linux-mtd.infradead.org}.
 
 \item \raggedright \label{ref_GormanVM}
 Mel Gorman, Linux VM Documentation,\\
-\url{http://www.csn.ul.ie/~mel/projects/vm}
+\url{www.csn.ul.ie/~mel/projects/vm}
+
+\item \raggedright \label{ref_ToshibaNAND}
+Toshiba NAND Flash Applications Design Guide,\\
+www.semicon.toshiba.co.jp/eng/prd/memory/doc/pdf/\\nand\_applicationguide\_e.pdf
 \end{enumerate}
 
 \end{document}





More information about the linux-mtd-cvs mailing list