There are several ways in which flash memory can be used as file storage in embedded systems. Three of them are explainedbelow.As implified diagram of components involved in host Operating System (OS) access to a flash file system is shown in figure 3.  As a reference, the situation for a hard disk is shown on the left hand side. In case of a hard disk, the host OS accesses the hard disk through the file system driver (FSD). The FSD issues commands to the hard disk, for instance the ATA command ‘Read Sector’ to read data from a Logical Block Address (LBA ).

A USB flash disk presents itself to its host as a storage device. After mounting, the host OS can access the device. On the ‘Wintel’ platform for example, a new drive is created when a USB flash disk is inserted into a USB port, after which files canbeaccessed.The disk access commands issued by the FSD are channelled through USB to the USB flash disk. The USB flash disk controller interprets these commands and accesses data in flash memory.To manage the special properties off lash memory the controller generally stores additional information with that data. For instance, the LBA in the ATA command will not be the same as the physical address in the flash chip where the data is actually stored. Information necessary for mapping a LBA to a physical location is stored in the flash memory chip as well.

An embedded system, like a mobile phone or a digital camera, can use a similar mechanism, see figure 3, ‘embedded
device 1’. When the embedded system is connected to a host, the host OS can access the devices flash file system through standard disk access commands. The devices OS (Windows CE, Symbian, proprietary) receives the disk access command from the host OS file system driver and returns the requested data. In this way, the host OS doesn’t see any difference between a hard disk or an attached device.

Another way of accessing flash based storage in an embedded device is shown in figure 3, ‘embedded device 2’. Here the flash file system is accessed through a proprietary application that runs on the host OS. The application communicates with the embedded system and presents the data in the flash file system on the host. An example of this mechanism is access to a disk on a windows CE device through ActiveSync. ActiveSync makes use of the Remote Application Programming Interface (RAPI) to get data, such as files on the devices file system, to the host. Although in this case the file system on the device can be viewed in the same way as other file systems on the host (with windows explorer), the higher level flash file system on the device might be of a completely different structure that usual in magnetic media.

Fig. 3. Components involved in hard disk and flash memory access


Data recovery Salon welcomes your comments and share with us your ideas, suggestions and experience. Data recovery salon is dedicated in sharing the most useful data recovery information with our users and only if you are good at data recovery or related knowledge, please kindly drop us an email and we will publish your article here. We need to make data recovery Salon to be the most professional and free data recovery E-book online.