|
原帖由 kim.lee 于 2007-12-27 16:50 发表 ![]()
存储卡,都是电子设备用来存储的设备,如相机等,你说他不适合反复读写,那影楼里的相机一天到晚在使用不反复读写
我不懂闪存的存储单元结构,麻烦您老大说说,这个结构为啥不适合反复读写?
公司的思科路 ...
这个就要说说存储结构了
现在所有的电脑系统在设计时候就是以硬盘作为外部存储器来考虑,在I/O算法上是按照硬盘存储数据的特点,以扇区为单位进行数据的存贮和读取,所以会出现一个扇区里就一个或者少量字节的数据单元的情况,属于典型的随机分布,但是又因为扇区是从外圈往内圈连续分布的,当用户在进行I/O操作的时候,其实硬盘的磁头往往只是在一些固定区域进行读写,导致结果就是磁盘上每个磁机的读写次数差异非常大,好在磁极的磁性变化非常稳定,不影响盘片使用寿命。
基于以上原因,当现在的软件对闪存进行操作的时候,也会产生这样的情况,问题产生了,闪存每个cell寿命是固定的,一般从10万次到100万次,如果不进行刻意的随机分布,就容易产生部分单元失效。
至于数码相机或者大容量闪存设备的读写问题,厂家们早就考虑到了,所以采用了适合闪存特点的I/O算法,即线性存储,让每个单元都顺序参与读写。举例之,一个4G的CF卡,每次往里面就写入一个1M的文件,然后删除,然后再写入,再删除,大家会以为一定是反复在一个地址段上读写。实际情况是,IC控制器会按照容量合理安排,第一次1M数据写在0-1M的地址,删除时仅仅标记,不真正操作,第二次1M文件写在1-2M的地址位,依次类推,等到地址段用光之后,才会把标记过的地址全部清零删除,然后反复,这样可以保持所有单元的读取次数尽可能一致,但是读取速度,特别是写入速度会比读取速度慢很多。
SSD的那块读写管理芯片其实就是把电脑系统的I/O算法转换成线性存储方式,所以目前速度上不具有优势,但是寿命方面的确可以进入商用环节了 |
|