On Wednesday 05 March 2008 05:20:26 shizheng wrote: > I'm viewing the latest source from cvs and I've got > a few questions about Yaffs2, especially when I compared > the code to the development notes(http://www.yaffs.net/node/38): > > 1. tag information stored in NAND oob > In the development notes, it says Yaffs2 has these tag information > including blockState, chunkId, objectId, nBytes, blockSequence, tagsEcc > and ecc. > But in yaffs_packedtags2.h, it defines > typedef struct { > unsigned sequenceNumber; > unsigned objectId; > unsigned chunkId; > unsigned byteCount; > } yaffs_PackedTags2TagsPart; > > typedef struct { > yaffs_PackedTags2TagsPart t; > yaffs_ECCOther ecc; > } yaffs_PackedTags2; > > and blockState and ecc on data are missing. I have no idea > about the MTD layer of linux, so I don't know whether the > two tags are handled by MTD. The difference is because the one structure is the yaffs_ExtendedTags structure which is an abstracted form of the tags. This is the structure that is passed around within yaffs. The packed tags are the tags as packed down for writing into NAND. If you look at the yaffs_packedtags2.c file you will see the conversion beween these two forms. The block state is managed by a slightly different mechanism, by directly querying the nand driver. This stuff can be a bit confusing at times and I hope to refactor this to be far clearer. > > > 2. The file $(SRC_ROOT)/patches/yaffs_mtdif2.c isn't useful, is it? > I have checkouted the source code, and done make/insmod directly on linux > without merging Yaffs into kernel tree. I think I must be missing your point here. THis file converts the more abstract NAND interface into calls to mtd to provide the services. > The module works well without any patch when simple file operation is > tested on NANDSim(2kB page, 64B oob, 512MB chipsize). Glad to hear it. > > best wishes, shizheng > > > > _______________________________________________ > yaffs mailing list > yaffs@lists.aleph1.co.uk > http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs