Indigresso Wiki

Open Source Stuff for DASH7

User Tools

Site Tools


opentag:veelite

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

opentag:veelite [2011/07/19 03:41] (current)
jpnorair created
Line 1: Line 1:
 +====== Veelite ======
 +One of the pride-points of OpenTag is Veelite, a very compact file system that includes flash wear leveling, mirroring to RAM, and a POSIX-like interface (it stands for Virtual EEPROM lite, which doesn'​t quite do justice, but it is catchy). ​ Veelite contains functions that open, close, read, and write files. ​ The opening process is gated by user authentication,​ which leverages the [[:Auth Module|Authentication module]].
  
 +===== Veelite Featureset =====
 +
 +=== Virtual Addressing ===
 +Veelite uses a 24 bit virtual addressing scheme, although in many implementation it is truncated to 16 bits.  By using virtual addressing, features like wear-levelling,​ file mirroring, and file restoration are possible.
 +
 +=== Flat-Blocked Filesystem ===
 +Veelite supports up to 256 blocks. ​ Each block contains up to 256 files. ​ When using the 24 bit addressing scheme (vs the 16 bit scheme), the upper 8 bits is the block number, therefore the maximum file size is 64 KB in either case.
 +
 +=== Flash Wear Leveling ===
 +Veelite supports Flash wear-leveling,​ generally done in software. ​ There are two schemes available, X1 and X2, although the X2 scheme is strongly preferred.
 +  * X1 is an older idea that works, and it has the nice benefit of retaining data even on spontaneous power loss, but is not nearly as fast or compact as X2.  ​
 +  * X2 is the one you want to use unless you need 100.0000% reliability (as in, better than six 9'​s).  ​
 +
 +The X2 system works by a process of logical transformations (i.e. a data cipher), such that the data in the flash may not actually represent the file data unless you know the logical mapping template. ​ Thus, the mapping table needs to be saved in ROM when the power goes down, such that it can be brought back up when power resumes. ​ Otherwise the data in Veelite will be lost.  Application layer tricks, like saving the mapping table when voltage gets low and then shutting down, are suitable for providing high-reliabilty for X2, and the savings in power of using the much faster X2 method more than make up for not being able to utilize the last drops of battery power. ​ Alternatively,​ some platforms contain integrated EEPROM, and, on these sorts of devices, the mapping table can be saved directly to EEPROM. ​ This strategy, when available, provides bulletproof reliability to the X2 method.
 +
 +=== Filesystem Operations ===
 +Veelite can be programmed with default data, which is available after compile-time. ​ Additionally,​ real-time read, write, create, delete, and file-info features are available.
opentag/veelite.txt ยท Last modified: 2011/07/19 03:41 by jpnorair