[bootlin/training-materials updates] master: Flash storage: minor improvements (97631380)
Michael Opdenacker
michael.opdenacker at bootlin.com
Tue Nov 16 08:45:40 CET 2021
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/976313808ab63ac57bc6325b9c012009c0e53fa0
>---------------------------------------------------------------
commit 976313808ab63ac57bc6325b9c012009c0e53fa0
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Tue Nov 16 08:45:40 2021 +0100
Flash storage: minor improvements
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
976313808ab63ac57bc6325b9c012009c0e53fa0
.../sysdev-flash-filesystems.tex | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex b/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
index 3886dcc4..f45aec30 100644
--- a/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
+++ b/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
@@ -66,7 +66,7 @@
\begin{itemize}
\item Short lifetime compared to other storage media
\item Lifetime depends on the NAND flash technology (SLC, MLC):
- between 1000000 and 1000 erase cycles per block
+ between 1,000,000 and 1,000 erase cycles per block
\item Wear leveling mechanisms are required to erase blocks evenly
\item Bad block detection/handling required too
\end{itemize}
@@ -88,9 +88,9 @@
\item ECC data are stored in the OOB area
\item Three algorithms:
\begin{itemize}
- \item Hamming: can fixup a single bit per block
- \item Reed-Solomon: can fixup several bits per block
- \item BCH: can fixup several bits per block
+ \item Hamming: can fixup a single bit per chunk
+ \item Reed-Solomon: can fixup several bits per chunk
+ \item BCH: can fixup several bits per chunk
\end{itemize}
\item BCH and Reed-Solomon strength depends on the size allocated
for ECC data, which in turn depends on the OOB size
@@ -210,7 +210,7 @@
\item Example:
{\scriptsize
\begin{verbatim}
-# Association between U-Boot name and Linux name
+# Association between U-Boot name and Linux name for the flash device
setenv mtdids nand0=omap2-nand.0
# Partition definitions
setenv mtdparts mtdparts=omap2-nand.0:512k(XLoader)ro,1536k(UBoot)ro,512k(Env),4m(Kernel),-(Root)
@@ -465,8 +465,8 @@ Device 0 bad blocks:
\item \code{mtd-utils} is a set of utilities to manipulate MTD devices
\begin{itemize}
\item \code{mtdinfo} to get detailed information about an MTD device
- \item \code{flash_erase} to partially or completely erase a given
- MTD device
+ \item \code{flash_erase} and \code{flash_eraseall} to partially or
+ completely erase a given MTD device
\item \code{nandwrite} to write to NAND flash
\item Flash filesystem image creation tools: \code{mkfs.jffs2},
\code{mkfs.ubifs}, \code{ubinize}, etc.
@@ -989,13 +989,15 @@ ${bootargs_base} ${mtdparts}; bootz 0x81000000 - 0x82000000'}
\end{frame}
\begin{frame}
- \frametitle{Useful reading on Linux on raw flash storage}
+ \frametitle{Useful reading}
\begin{itemize}
\item Documentation on the linux-mtd website:\\
\url{http://www.linux-mtd.infradead.org/}
\begin{itemize}
\item You will find answers to your questions there
\end{itemize}
+ \item Wikipedia's page about ECC:\\
+ \url{https://en.wikipedia.org/wiki/Error_correction_code}
\end{itemize}
\end{frame}
More information about the training-materials-updates
mailing list