This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The tag is a packed byte array, in processor-local endian, with the following contents:
* Magic number - 2 bytes, 0xEF15. (This is a compile-time constant and demonstrates that the block is one of ours. It's a corruption of "eCos FIS".) * Logical block number - 2 bytes. * Master serial number - 4 bytes (see below).
Given you say processor-local endian, I assume you mean there are two 16-bit words and a 32-bit word here.
Given you are assuming partial-page writes, I think you can do something more intelligent here [...]
When you write a new revision of a block, you mark the previous one dead by overwriting it with a partial write (without erasure).
> I should note though that multiple writes are not supported on newer MLC > NAND flash. This could be an issue as this class of NAND may become more > common. Perhaps in that case an obsoleted block can just be erased > immediately.
- That frees up space which we can use for potential optimisations. In particular, the common use-case we are envisaging is wholly sequential reads of fairly large images. So we could use 2 bytes to point to the next block in the logical block chain. This is very useful if most use is sequential.
-- eCosCentric Ltd, Barnwell House, Barnwell Drive, Cambridge CB5 8UU, UK Registered in England no. 4422071. www.ecoscentric.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |