Tevero Logo  
Go to home page Go to product page Go to services page Go to contact info page Tevero Hjem - Norsk
 

FAQ (Frequently Asked Questions)

Download FDC doc.

Download shrdconf.h and fdcconf.h file to see what needs to be configured.

Go here for pricing info and conditions.

 
FDC The Flash Disk Controller (FDC) provides an easy-to-add component in an embedded system. FDC emulates a hard disk. It can be used as a stand-alone product, with our TFFS filesystem product or glued in with other filesystems.

FDC is suitable for embedding with any target and any OS, as long as the C/C++ language is supported. It has been designed in a robust manner in order to cope with restarts and abnormal terminations.


Datasheet:

FDC provides the following functionality:

  • Usable in a preemptive context (i.e. reentrant). Protection is provided by user defined protection functions per partition as needed. (May not be needed if using similar higher layer protection in for instance a file system.)

  • Applicable for uniform linear flash arrays. E.g. a disk partition must consist of uniform sized devices with uniform sized erase zones.

  • Supports start-offset that is not a multiple of the partition erase zone size. This implies also that flash devices that hold non-standard sized erase areas can be supported as long as these are not used by FDC.

  • Supports holes in flash array usage allowing for reserved boot areas etc.

  • Handling an unlimited number of flash disk partitions. A single linear flash array may be split into several individually configured flash partitions.

  • Handling of an unlimited number of different vendor linear flash arrays (device driver set up per partition).

  • Supports removable flash arrays.

  • Supports interleaved flash devices (most of the support must be provided by the flash driver)

  • The minimum write unit (block) is user defined per partition (minimum 32 bytes). A small block size makes it suitable for long life usage, replacing EEPROMs.

  • Each partition may theoretically support up to 228 - 1 blocks

  • Cached bit-chained logical to physical block mapping for fast access. The mapping uses as few bits as possible per mapping entry to reduce RAM usage.

  
  • Wear leveling

  • Supports the recovery of any aborted write/erase operation (power failure etc.)

  • Supports devices that erase to 1 or to 0.

  • Supports dual-plane flash devices.

  • Support for any NOR type of flash devices that allows multiple programming without erase as long as only changing bits from erased to inverted state (considered as a part of the user provided driver). NAND flash devices are not supported.

  • Handling of bad erase zones and blocks (the max number of bad erase zones/blocks to handle is defined at format time for a partition).

  • Resizing a partition (for possible migration from other flash solutions).

  • Optional support for 'errno' updating

  • Some diagnostics functions supported

  • Written in ANSI/ISO C.

  • Host debugging and development support.

The following is required when using FDC and is not included in FDC:

  • Provide read, write and erase function for flash array.

  • If used in a preemptive context, protection functions for the selected environment must be implemented if no higher level protection exists.

  • Provide the following C library glue functions: free, malloc, memcmp, memcpy, memset, strcmp, strcpy, strlen, and printf (printf only if debugging or diagnostics enabled). The functions are defined in shrdconf.h/fdcconf.h and they must all be reentrant if used in a preemptive environment


© 2000-2010

real competence - real commitment - real-time

mail@tevero.no