pSLC的全称是:PseudoSLC,其实就是假的SLC,是通过主控的固件算法把MLC或者TLC配置为SLC模式,大大增强了MLC和TLC闪存的性能和寿命。SLCNAND闪存具有非常高的耐用性和可靠性,可以在扩展温度范围下工作。然而,高容量SLCNAND的成本可能会令人望而却步。但是有时候我们又会看到Agrade睿达推出的aSLC固态硬盘或者宜鼎的iSLC,价格比MLC的贵,又比SLC便宜很多。这时候我们可能会有所疑问,这两种到底是什么呢?请继续往下看:
对于那些成本敏感的项目,设计师有时会将MLCNAND视为一种替代方案,MLCNAND高容量低成本。然而,MLCNAND具有较低的耐用性(约等于SLCNAND的1/20),误码率高,在扩展温度范围情况下不能很好工作。一段时间以来,闪存存储厂商已经推出了第三个选项,这是一种增强型MLCNAND产品,这些已经以各种名称销售——如增强型MLC,aSLC,iSLC,superMLC,MLC+,turboMLC等等这些,就是我们今天所说的pSLCNandFlash,而且也已经被各存储厂商提升了很大的性能。对于一般用户来说有点混乱,因为不清楚底层技术,这些不同的称呼的产品是否性能一样呢?
NANDFlash基础知识
NAND闪存结构NANDFlash的内部组织是由块和页构成。每个块包含多个页面,这取决于设备容量;每个块典型的页数量是64到。每页都有一个固定尺寸,目前的MLCNAND具有8KB或16KB的页面大小,具体取决于设备容量。
MLCNAND编程
MLCNAND中的每个单元在编程时会存储两位数据,这两位数据来自两个不同的页面。首先编程LSB,这将使存储单元(cell)置于中级编程状态。这个编程步骤被称为低页面或快速页面编程。
这个编程步骤相当快,因为中级编程状态不需要非常精密,阈值电压值只需要超过能使感测电路能区分擦除状态的高度就足够了。接下来编程MSB,这被称为高页面或慢页面编程。这个编程步骤很慢,有两个原因。首先,必须执行读取操作找出LSB是“0”还是“1”。然后,这个编程步骤必须将单元格精确地置于三种可能状态中的一种,这需要一种在多通道里递增地移动单元阈值的编程算法。
总之,和SLCNAND编程比较,LSB/MSB编程顺序结果在MLC中写入量更慢。快速页面模式现在我们已经看到了MLCNAND的编程方式,仅仅使用MLCNAND简单地存储一位数据而不编程高页面,这个方式显然是可行的。使用MLCNAND的这种编程方式被称为“快速页面模式”。其实一些厂商一直以不同名称在推广这个产品,如“涡轮增压模式”,MLC+等。快速页面模式的优点是任何MLCNAND都可以实现,它不需要任何特殊指令,提供了一种实现性能提升的简单方法,但牺牲了设备的容量。缺点是与真正的SLCNAND闪存相比其设备耐久性只有轻微的提高。这是因为中级编程状态的阈值电压不如SLCNAND那么高。还因为这个,快速页面模式NAND的错误率和数据保持并不比标准MLCNAND好。在pSLC模式下,存储单元也被用于存储单个位的模式,但增加扭曲技术导致编程阈值被提高;这在下图中说明:
pSLC与快速页面
提高编程阈值电压值具有许多优点。它增加编程状态与擦除状态之间的感应余量,从而提高了耐用性,更低的错误率和数据保存更长的时间。这些都是提高了噪音余量的结果,都归功于提高了编程阈值。感应阈值的改变和较高的编程阈值要求每个MLCNAND都有专门的指令。因此,不像快速页模式,pSLC模式不能在任何MLCNAND上使用,仅仅在那些用MLCNAND的地方由供应商提供专门的指令后方可使用。
pSLC模式与快速页面模式
下表总结了pSLC模式和快速页面模式之间的差异:
PSLC模式与%超额配置(OP)
由于pSLC模式是用于MLCNAND预期容量的一半,所以出现了一个问题,是否一个%超额配置的MLCNAND(即物理容量是用户容量的两倍)可以实现与pSLCNAND相同的特性?答案是不。
%OPNAND仍然是在标准MLC模式下使用,因此它没有pSLCNAND所拥有的性能提升,此外,由于%OPNAND只是标准的MLCNAND,它与标准的MLCNAND一样有高错误率和低数据保留问题。对于耐力,%OPNAND与标准MLCNAND相比,其耐久性将翻倍,但正确配置pSLCNAND可以实现超过标准MLCNAND的2倍以上的耐用性。
%OPNAND可能比pSLCNAND具有更耐用的唯一场景,就是在写入smallblock数据时,而pSLCfirmware又是以flashblock来做单位(而不是flashpage),在这样的条件下,smallblock数据会大大增加损耗平衡功能(wearleveling)的运作,flashblock在没有写满数据的时候,就已经要被再erase,erase次数很频密,这可能有助于其实现比pSLCNAND更高的耐力。在所有其他情况下,pSLCNAND应具有更好的耐用特性。
概要
虽然大多数系统设计人员都希望将SLCNAND产品用于其工业嵌入式应用,但其高成本正在推动一些设计师寻找便宜的替代品,MLCNAND产品无法满足这些工业应用的可靠性和耐用性要求。如今,很多SSD主控厂商在其固件中增加了对pSLC模式的支持。
我们已经解释了pSLCNAND背后的技术,其特性在SLCNAND与标准MLCNAND之间。对系统设计人员来说,需要一个解决方案比SLC成本低,但又比MLC具有更高的可靠性,pSLC会是一个不错的选择。