Changes between Version 14 and Version 15 of Developer/FileSystems
- Timestamp:
- 09/17/08 04:33:42 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Developer/FileSystems
v14 v15 72 72 73 73 74 RTEMS supports the MSDOS file system or the FAT (File Allocation Table) File System. This file system uses the block device library and the block device drivers to implement the file system.74 RTEMS supports the MSDOS file system or the FAT (File Allocation Table) File System. This file system uses the block device library and the block device drivers to access various types of disk media. 75 75 76 76 <blockquote> … … 87 87 </blockquote> 88 88 89 The Block Devices layer provides a buffering and caching type function that improves the performance of the file system. It also provides a simplified driver interface. Any file system could use the Block Devices layer how-ever only the MSDOS file system does. The block devices supported are:89 The file system interfaces to the cache. The cache provides a performance increase to applications using the MSDOS file system. Many FAT operations require more than one pass over a FAT directory or the FAT table and holding this data in memory increases performance. The Block Devices layer is optional and provides any specific device protocols, for example ATA disks. Any file system could use the Block Devices layer how-ever only the MSDOS file system does. The block devices supported are: 90 90 91 91 # ATA Disk Drives … … 95 95 # SPI SD Card 96 96 97 Block devices are normally accessed using the block device cache.97 Block devices are normally accessed from the block device cache and not directly. The Block Device driver are specific to the type of hardware used to access the disk media. 98 98 99 99 See [wiki:TBR/UserManual/Using_the_RTEMS_DOS_File_System Using the RTEMS DOS File System] to see how to configure and use this file system in RTEMS. 100 101 The MSDOS file is tested against FreeDOS and Windows. 100 102 = ATA Disk Drives = 101 103 102 104 103 The ATA Disk Drive support allows an IDE type device to be accessed. The device normally has a Master Boot Record and a partition table. The ATA Disk driver is currently located in libchip. The IDEdisk can be a hard disk or a Compact Flash disk in IDE mode.105 The ATA Disk Drive supports IDE type disk media. The device normally has a Master Boot Record and a partition table. The ATA Disk driver is currently located in libchip and the disk can be a hard disk or a Compact Flash disk in IDE mode. 104 106 105 The ATA driver is a task that interfaces to a BSP supplied driver loaded into a table. Initialization and mounting of a partition on an ATA disk is a 2 stage process. The Master Boot Record (MRB) is read from the disk and various partition checks. The mounting of a partition requires the selection of a partitionand a mount point.107 The ATA driver is a task that interfaces to a BSP supplied driver. The BSP initializes a table with the BSP driver functions. Initialization and mounting of a partition on an ATA disk is a 2 stage process. The Master Boot Record (MRB) is read from the disk and valid MSDOS partitions added as devices. The mounting of a partition requires a partition device path and a mount point. 106 108 = RAM Disk = 107 109 108 110 109 The RAM disk allows a fixed sized disk driver to be created in RAM. You can provide the address of the RAM or let the driver allocate the RAM from the heap. If you create a disk from the heap you will need to format it. If you provide the address of the RAM to use it could reside in static RAM and therefore survive a reset and may or may not need to formatted. If the RAM is battery backed up you may consider the Non-volatile or NVDISK driver. The RAM disk does not provide any checking on the blocks in RAM. It is the fastest file system.111 The RAM disk allows a fixed sized disk to exist in RAM. You can provide the address of the RAM or let the driver allocate the RAM from the heap. If you create a disk from the heap you will need to format it. Providing the RAM address allows you to use static RAM that could survive a reset and may or may not need to be formatted during initialisation. If the RAM is battery backed up you may consider the Non-volatile or NVDISK driver. The RAM disk does not provide any checking on the blocks in RAM. It is the fastest block device driver. 110 112 = Non-Volatile Disk = 111 113 112 114 113 The Non-volatile or NVDISK is similar to the RAM disk who-ever each block has a checksum. It provides a one to one mapping of blocks to the device like the RAM disk but it also adds a CRC checksum on each block. The NVDISK driveis suitable for battery backed up static RAM or EEPROM type devices that are byte re-programmable.115 The Non-volatile or NVDISK is similar to the RAM disk how-ever each block has a checksum. It provides a one to one mapping of blocks to the memory like the RAM disk but it also adds a CRC checksum on each block. The NVDISK driver is suitable for battery backed up static RAM or EEPROM type devices that are byte re-programmable. 114 116 = Flash Disk = 115 117 116 118 117 The Flash disk driver or FDISK driver maps a block disk device to flash devices. You can specify the devices and how much of each device to use when creating a disk. The driver will manage the flash sectors/segments and handle the mapping of the disk blocks to the flash devices. The types of flash supported is independent of the flash driver. You define device descriptions the flash driver uses. The flash driver is not a flash file system, rather it is a way to map an existing block device file system to flash devices. Currently the flash driver does not support NOR flash devices and does not journal blocks written to the disk. This means you need to manage power failures. Journaling support could be added in the future and if you are interested in supporting this please contact OAR Corp. 119 The Flash disk driver or FDISK driver maps a block disk device to flash devices. You can specify the devices and how much of each device to use when creating a disk. This allows the disk to share a boot image. The driver will manage the flash sectors/segments and handle the mapping of the disk blocks to the flash devices. The types of flash supported is independent of the flash driver. You define device descriptions the flash driver uses. The flash driver is not a flash file system, rather it is a way to map an existing block device file system to flash devices. Currently the flash driver does not support NOR flash devices and does not journal blocks written to the disk. This means you need to manage power failures. Journaling support could be added in the future and if you are interested in supporting this please contact OAR Corp. 120 121 The flash driver does manage the moving of blocks to allow the the recovery of flash segments (sectors). The compaction operation can cause flash updates to vary in length. 118 122 = SPI SD Card = 119 123 120 124 121 The SPI SD Card driver is locate in libchip. It uses libi2c despite its name supports I2C and SPI serial bus interfaces.125 The SPI SD Card driver is locate in libchip. It uses libi2c and despite this libraries name supports I2C and SPI serial bus interfaces. 122 126 = Block Device Cache = 123 127 … … 135 139 136 140 The cache has a swap out task that collects blocks who's hold timer has expired for a specific device and writes them to disk device. Each modified block as an individual timer and the cache can be configured by the driver to only write consecutive blocks helping drivers that support the multi-sector write operations. 141 142 The cache can be synchronized at the request of a user giving an application full control over the data written to the disk media.