diff options
| author | Holger Dengler <dengler@linutronix.de> | 2012-10-09 11:49:22 +0200 |
|---|---|---|
| committer | Holger Dengler <dengler@linutronix.de> | 2012-10-15 11:53:19 +0200 |
| commit | 664ec7412576bc7e756c407574e1a1f73f3d3c95 (patch) | |
| tree | fc9b66c949cdec556e03aedf4ecab78bfab682b6 | |
| parent | 77537e998773dc4e553c8c4bb31f89c1c3f7eeb4 (diff) | |
Flash-Memory: new Technology presentation
This new technology presentation describes the Flash-Memory technology,
the functional principles and the side effects. It can be used as an
introduction to a one-day session about Flash-Memory and Flash-Filesystems.
Signed-off-by: Holger Dengler <dengler@linutronix.de>
| -rw-r--r-- | flash-memory/technology/Makefile | 9 | ||||
| -rw-r--r-- | flash-memory/technology/pres_technology_en.tex | 181 | ||||
| -rw-r--r-- | images/fmtech-fgmos.png | bin | 0 -> 10189 bytes | |||
| -rw-r--r-- | images/fmtech-read.png | bin | 0 -> 61131 bytes | |||
| -rw-r--r-- | images/fmtech-read_disturb.png | bin | 0 -> 88711 bytes | |||
| -rw-r--r-- | images/fmtech-single_erase.png | bin | 0 -> 15836 bytes | |||
| -rw-r--r-- | images/fmtech-single_program.png | bin | 0 -> 27205 bytes | |||
| -rw-r--r-- | images/fmtech-single_read.png | bin | 0 -> 24939 bytes | |||
| -rw-r--r-- | images/fmtech-write.png | bin | 0 -> 65468 bytes | |||
| -rw-r--r-- | images/fmtech-write_disturb.png | bin | 0 -> 92603 bytes | |||
| -rw-r--r-- | images/fmtech.odg | bin | 0 -> 15306 bytes |
11 files changed, 190 insertions, 0 deletions
diff --git a/flash-memory/technology/Makefile b/flash-memory/technology/Makefile new file mode 100644 index 0000000..d641258 --- /dev/null +++ b/flash-memory/technology/Makefile @@ -0,0 +1,9 @@ +all: + for pdf in `ls -1 *.tex` ; do \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + done + +clean: + rm -f *.aux *.log *.pdf *.log *.snm *.toc *.vrb *.nav *.out + diff --git a/flash-memory/technology/pres_technology_en.tex b/flash-memory/technology/pres_technology_en.tex new file mode 100644 index 0000000..546a1be --- /dev/null +++ b/flash-memory/technology/pres_technology_en.tex @@ -0,0 +1,181 @@ +\def\lximg{/usr/share/lx/icons/fueller.png} + +\input{configpres} + +\subsection{Technology} + +\title{Flash-Memory Technology} +\maketitle + +\def\lximg{none} + +\begin{frame} +\frametitle{Contents} +\tableofcontents +\end{frame} + +\subsubsection{Structure and Function} +\begin{frame}[fragile] +\frametitle{Single Cell Structure} +\begin{itemize} +\item Base element: MOSFET with a floating gate (FGMOS) +\item Organization of cells in blocks and pages +\end{itemize} +\begin{figure}[h] +\centering +\includegraphics[scale=0.5]{images/fmtech-fgmos.png} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Read} +\begin{figure}[h] +\centering +\includegraphics[scale=0.4]{images/fmtech-single_read.png} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Write (Program)} +\begin{figure}[h] +\centering +\includegraphics[scale=0.4]{images/fmtech-single_program.png} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Erase} +\begin{figure}[h] +\centering +\includegraphics[scale=0.4]{images/fmtech-single_erase.png} +\end{figure} +\end{frame} + +\subsubsection{Flash-Memory Types} +\begin{frame}[fragile] +\frametitle{Overview} +\begin{itemize} +\item NOR +\item NAND +\item Single- and Multi-Level Cells +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{NOR} +\begin{itemize} +\item direct addressable +\item usable like RAM/ROM (direct attach to CPU) +\item pros: + \begin{itemize} + \item fault tolerant + \item high write-rate for small data + \end{itemize} +\item cons: + \begin{itemize} + \item low data density (multiple gates per bit) + \item low write-rate for large data + \item cost + \end{itemize} +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{NAND} +\begin{itemize} +\item matrix organization (blocks and pages) +\item addressing via controller logic +\item pros: + \begin{itemize} + \item cost + \item high data density (1 to many bits per gate) + \item high read-/write-rate for large data + \item no layout change in hardware for more capacity + \end{itemize} +\item cons: + \begin{itemize} + \item large effort for extensive Error Correction Codes (ECC) + \end{itemize} +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Data density} +\begin{itemize} +\item Single-Level Cells (SLC) + \begin{itemize} + \item ca. 100,000 write/delete cycles + \item pros: + \begin{itemize} + \item robust + \item low Error Correction Code (ECC) effort + \end{itemize} + \item cons: + \begin{itemize} + \item low data density + \end{itemize} + \end{itemize} +\end{itemize} +\pause +\begin{itemize} +\item Multi-Level Cells (MLC) + \begin{itemize} + \item ca. 3,000 to 10,000 write/delete cycles + \item pros: + \begin{itemize} + \item high data density + \end{itemize} + \item cons: + \begin{itemize} + \item expensive Error Correction Codes (ECC) like BCH + \item wear prone + \item low read-rate + \end{itemize} + \end{itemize} +\end{itemize} +\end{frame} + +\subsubsection{NAND block operations and side effects} +\begin{frame}[fragile] +\frametitle{Read} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/fmtech-read.png} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Read Disturb} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/fmtech-read_disturb.png} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Write} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/fmtech-write.png} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Write Disturb} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/fmtech-write_disturb.png} +\end{figure} +\end{frame} + +\subsection{} +\begin{frame} +\frametitle{References} +\begin{thebibliography}{99} +% \bibitem{FLASHMEM} David Woodhouse. Presentation \emph{Flash Memory}, 2012. http://david.woodhou.se/dwmw2-kr-2012-09.odp +\bibitem{FLASHMEM} David Woodhouse. Presentation \emph{Flash Memory}, 2012. +\href{http://david.woodhou.se/dwmw2-kr-2012-09.odp}{http://david.woodhou.se/dwmw2-kr-2012-09.odp} +\end{thebibliography} +\end{frame} + +\input{tailpres} diff --git a/images/fmtech-fgmos.png b/images/fmtech-fgmos.png Binary files differnew file mode 100644 index 0000000..ec62a31 --- /dev/null +++ b/images/fmtech-fgmos.png diff --git a/images/fmtech-read.png b/images/fmtech-read.png Binary files differnew file mode 100644 index 0000000..52bc039 --- /dev/null +++ b/images/fmtech-read.png diff --git a/images/fmtech-read_disturb.png b/images/fmtech-read_disturb.png Binary files differnew file mode 100644 index 0000000..51b3db4 --- /dev/null +++ b/images/fmtech-read_disturb.png diff --git a/images/fmtech-single_erase.png b/images/fmtech-single_erase.png Binary files differnew file mode 100644 index 0000000..7992cbd --- /dev/null +++ b/images/fmtech-single_erase.png diff --git a/images/fmtech-single_program.png b/images/fmtech-single_program.png Binary files differnew file mode 100644 index 0000000..4efeec2 --- /dev/null +++ b/images/fmtech-single_program.png diff --git a/images/fmtech-single_read.png b/images/fmtech-single_read.png Binary files differnew file mode 100644 index 0000000..3877201 --- /dev/null +++ b/images/fmtech-single_read.png diff --git a/images/fmtech-write.png b/images/fmtech-write.png Binary files differnew file mode 100644 index 0000000..d8ef79e --- /dev/null +++ b/images/fmtech-write.png diff --git a/images/fmtech-write_disturb.png b/images/fmtech-write_disturb.png Binary files differnew file mode 100644 index 0000000..84aaffa --- /dev/null +++ b/images/fmtech-write_disturb.png diff --git a/images/fmtech.odg b/images/fmtech.odg Binary files differnew file mode 100644 index 0000000..47f55e7 --- /dev/null +++ b/images/fmtech.odg |
