1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
\input{configpres}
\subsection{Memory Technology Devices (MTD)}
\title{\lq Memory Technology Devices (MTD)\rq}
\maketitle
\begin{frame}
\tableofcontents
\end{frame}
\subsubsection{Overview}
\begin{frame}
\frametitle{Overview}
\begin{itemize}
\item designed for flash devices (NAND, NOR, DataFlash, OneNAND, \dots)
\pause
\item software- and hardware-ECC support
\pause
\item takes care on deletion of specified eraseblocksizes
\pause
\item wiring of chip is not relevant (Localbus, SPI, \dots)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{None MTD Flash Devices}
\begin{itemize}
\item USB sticks, CompactFlash Cards, SD Cards, SSD\dots
\pause
\item devices have NAND flash, but own flashcontroller
\pause
\item kernel handles them as block device, like a regular HDD
\pause
\item flash properties, like eraseblocksize, are hidden by flashcontroller
\end{itemize}
\end{frame}
\subsubsection{MTD Kernelsubsystem}
\begin{frame}
\frametitle{responsibility of the MTD subsystem}
\begin{itemize}
\item definition of a userspace interface
\pause
\item partitioning of mtd devices (mtd0, mtd1, \dots)
\pause
\item hides flash internals from user
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{NOT part of the MTD subsystem}
\begin{itemize}
\item filesystems
\pause
\item wear-leveling
\pause
\item protection of writing to bad blocks
\pause
\item data protection for writes during power loss
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{mtdblock}
\begin{itemize}
\item enable use of common filesystem on flash devices
\pause
\item bad idea: no wear-leveling, bad performance, \dots
\pause
\item obsoleted by UBI
\end{itemize}
\end{frame}
\input{tailpres}
|