MTD versus block devices
There are several different kinds of embedded systems, especially today, since they're cheap. So, it's very important to know which device best fits our needs before starting the coding. As far as the name suggests, the embedded computers are embedded into the device they have to control or monitor. Often, these devices are placed into hostile environments: industrial plants (with dust and vibrations); open environment (extreme temperatures or rains); or aboard of trucks, cars, trains and other automotive systems.
In these scenarios, we have to carefully choose the hardware components that compose our embedded computer. Even if it's quite obvious, we cannot use a normal hard disk to store our data. More subtle is the fact that we cannot even choose a microSD! In fact, we can easily find these devices in every electronic store. However, they are not suitable for environments with vibrations (they are not soldered, and the contacts may get damaged)...