为什么U盘读出速度比写入速度快?
大家都知道往往u盘的读出速度比写入速度高很多,不止U盘,还有硬盘,内存都是这样的,有没有想过是为什么呢?
下面是NAND的规格书
• Page Read Operation
- Page Size : (4K + 128)Byte
- Random Read : 60µs(Max.)
- Serial Access : 25ns(Min.)
• Memory Cell : 2bit / Memory Cell
• Fast Write Cycle Time
- Program time : 800µs(Typ.)
- Block Erase Time : 1.5ms(Typ.)
去除写命令和地址的时间
单页读速度:(4096+128)/(60µs+(4096+128)*25ns)=24.3M/s 实际可用数据:23.6M/s
单块cache读速度:(4096+128)*128/(60µs+(4096+128)*25ns*128)=38M/s 实际可用数据:36.8M/s
单页写速度:(4096+128)/(800µs+(4096+128)*25ns)=4.4M/s实际可用数据:4.3M/s
单块cache写速度:(4096+128)*128/(800µs*128+(4096+128)*25ns)=5M/s 实际可用数据:4.9M/s
所有加速技术(交错+Cache)用上后的极限速度
读:4096/(4096+128)*25ns=37M/s
写:4096/800µs/2=9.8M/s
实际写的时候如果需要擦除还要加上擦除所需的时间。
实际读出来的时候,主控也要做ECC校验,这也要花部分时间。
所以读出要比写入快