发表于:2008/5/30 1:22:00
#0楼
大家好,小弟在做U盘存储控制器的开发,采用的arm9+linux开发Usb主控器,在应用程序层面,我将数据使用write+fsync写入U盘(sandisk),现在有以下几个问题
1 fsync的使用是将内核缓冲区的数据强制通过USB传到U盘并写入磁盘,还是write的时候已经将数据传到U盘缓冲区,用fsync时才将数据从磁盘的缓冲区强制写入flash
2 我每次强制写入的数据块大小对写入速度似乎有影响,每次以100字节强制写一次速度似乎不稳定,有时要比以1024写一次还长,这是由于flash擦和写的原因吗,
3 我曾经看过资料说flsh必须以block为单位擦,以page为单位写,可是我要是把不足1page的数据强制写入,不是也能写入吗
小弟很着急,请大家帮忙解答
1 fsync的使用是将内核缓冲区的数据强制通过USB传到U盘并写入磁盘,还是write的时候已经将数据传到U盘缓冲区,用fsync时才将数据从磁盘的缓冲区强制写入flash
2 我每次强制写入的数据块大小对写入速度似乎有影响,每次以100字节强制写一次速度似乎不稳定,有时要比以1024写一次还长,这是由于flash擦和写的原因吗,
3 我曾经看过资料说flsh必须以block为单位擦,以page为单位写,可是我要是把不足1page的数据强制写入,不是也能写入吗
小弟很着急,请大家帮忙解答