闪存的限制
1、区块抹除
闪存的一种限制在于即使它可以单一字节的方式读或写入,但是抹除一定是一整个区块。一般来说都是设置某一区中的所有比特为“1”,刚开始区块内的所有部分都可以写入,然而当有任何一个比特被设为“0”时,就只能借由清除整个区块来恢复“1”的状态。换句话说闪存(特别是NO RF lash)能提供随机读取与写入操作,却无法提供任意的随机改写。不过其上的区块可以写入与既存的“0”值一样长的消息(新值的0比特是旧值的0比特的超集)。例如:有一小区块的值已抹除为1111,然后写入1110的消息。接下来这个区块还可以依序写入1010、0010,最后则是0000。可是实际上少有算法可以从这种连续写入兼容性得到好处,一般来说还是整块抹除再重写。尽管闪存的数据结构不能完全以一般的方式做更新,但这允许它以“ 标记 为不可用”的方式删除消息。这种技巧在每单元 存储 大于1比特数据的MLC设备中必须稍微做点修改。
2、记忆耗损
另一项闪存的限制是它有抹写循环的次数限制(大多商业性SLC闪存保证“0”区有十万次的抹写能力,但其他区块不保证)。这个结果部分地被某些固件或文件系统为了在相异区块间分散写入操作而进行的计算写入次数与动态重对映所抵销;这种技巧称为耗损平衡(wearleveling)。另一种处理方法称为坏区管理(BadBlockManagement,BBM)。这种方法是在写入时做验证并进行动态重测,如果有验证失败的区块就加以剔除。对多数移动设备而言,这些磨损管理技术可以延长其内部闪存的寿命(甚至超出这些设备的使用年限)。此外,丢失部分数据在这些设备上或许是可接受的。至于会进行大量数据读写循环的高可靠性数据存储应用则不建议使用闪存。不过这种限制不适用于路由器与瘦客户端(Thinclients)等只读式应用,这些设备往往在使用年限内也只会写入一次或少数几次而已。
3、读取干扰
所使用的闪存读取方式随着时间的推移会导致在同一区块中相近的记忆单元内容改变(变成写入动作)。这即是所谓的读取干扰。会导致读取干扰现象的读取次数门槛介于区块被抹除间,通常为100,000次。假如连续从一个记忆单元读取,此记忆单元将不会受损,而受损却是接下来被读取的周围记忆单元。为避免读取干扰问题,闪存控制器通常会计算从上次抹除动作后的区块读取动作总次数。当计数值超过所设置的目标值门槛时,受影响的区块会被复制到一个新的区块,然后将原区块抹除后释放到区块回收区中。原区块在抹除动作后就会像新的一样。若是闪存控制器没有即时介入时,读取干扰错误就会发生,如果错误太多而无法被ECC机制修复时就会伴随着可能的数据丢失。
4、写入(编程)干扰
写入干扰(编程干扰)是指当对页(page)进行写入时,由于 阈值电压 接近的关系,相邻的位(bit)也被升高,从而造成相邻的位出错。闪存电荷非常不稳定,相邻存储电荷的悬浮门间会相互干扰,造成相邻悬浮门间的bit错误,MLC由于存在4组接近的电压,与SLC相比更容易受到干扰。
闪存
快闪 存储器 (英语:flashmemory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与U盘。闪存是一种特殊的、以宏块抹写的EEP ROM 。早期的闪存进行一次抹除,就会清除掉整颗芯片上的数据。
闪存的成本远较可以字节为单位写入的EEPROM来的低,也因此成为非易失性固态存储最重要也最广为采纳的技术。像是PDA、笔记本电脑、数字随身听、数码相机与手机上均可见到闪存。此外,闪存在游戏主机上的采用也日渐增加,藉以取代存储游戏数据用的EEPROM或带有 电池 的S RAM 。
闪存是非易失性的内存。这表示单就保存数据而言,它是不需要消耗电力的。与硬盘相比,闪存也有更佳的动态抗震性。这些特性正是闪存被移动设备广泛采用的原因。闪存还有一项特性:当它被制成储存卡时非常可靠──即使浸在水中也足以抵抗高压与极端的温度。闪存的写入速度往往明显慢于读取速度。
虽然闪存在技术上属于EEPROM,但是“EEPROM”这个字眼通常特指非快闪式、以小区块为清除单位的EEPROM。它们典型的清除单位是字节。因为老式的EEPROM抹除循环相当缓慢,相形之下快闪记体较大的抹除区块在写入大量数据时带给其显著的速度优势。闪存最常见的封装方式是TSOP48和 BGA ,在逻辑 接口 上的标准则由于厂商阵营而区分为两种:ONFI和Toggle。手机上的闪存常常以eMMC的方式存在。