Hello, following code should save data safely on NAND flash: unsigned data = 123456; int fd = open(any_file_name, O_WRONLY | O_CREAT, 0600); write(fd, &data, sizeof(data)); fchmod(fd, any_mode); fsync(fd); close(fd); In reality data is still in Chunk Cache. If power is lost, then data is lost as well. Only on umount() data will be written out by yaffs_FlushEntireDeviceCache(). The key here is fchmod(fd, any_mode); between data is written and flush is called. Any attribute change on that file will call yaffs_UpdateObjectHeader() function. That function will mark object as clean without flushing out data from Chunk Cache (dev->srCache). Following yaffs_FlushFile() will not call yaffs_FlushFilesChunkCache() as object is already marked clean. I propose to call yaffs_FlushFilesChunkCache(in) before marking object as clean in yaffs_UpdateObjectHeader() function. Artis