简介
闪存(NAND flash memory)是相当普及的储存媒介,从小尺寸规格(small form factor)的行动装置乃至大数据中心皆可使用。不过,随着奈米制程的演进,内存单元越做越小,“读取干扰” (Read Disturbance)也逐渐成为影响闪存可靠度的一大因素。读取干扰通常发生在对内存进行大量读取之后。这些读取行为会改变读取区域周遭单元的位状态,造成数据出错。
为什么会发生读取干扰?
每个闪存单元,都有浮动闸(floating gate)和控制闸(control gate),与字符线(word-line; WL)相连;同时,单元中还有源极(source)以及汲极(drain),单元的源极与隔壁单元的汲极彼此相邻,连通之后称为位线(bit-line; BL)。如图所示,浮闸位于控制闸下方。浮闸中储存的电荷数目决定了晶体管的阈值电压(threshold voltage)。
要得知是否有电荷困在浮闸中,内存会读取整列字符线。如图所示,若想读取某一列 (以淡绿色表示),则必须对邻近该列的字符线施加一较高电流(以深绿色表示)。同时,每行位线会选定一个内存单元,好让装置判读其位状态,即储存的是0或是1。对邻近单元施加的高电压,会把电荷吸入浮闸中,同时每一次读取,都稍微提高该单元的阈值电压,使位状态受干扰。长此以往,单元的阈值电压不断累积,最后从 “未编程” 状态(储存一个1),变成 “已编程” 状态(储存一个0),这个现象就是读取干扰。位状态一旦变化便不可逆,只有将区块抹除,才能让其回复初始值。
创见的解决方案
透过减少不必要的读取行为,可以改善读取干扰的现象。创见提供以下三种方案,来改善读取干扰的影响。
-
平均抹写技术 (Wear leveling algorithm):这个功能能够均化闪存的使用,让使用范围平均分布于整块内存的可用空间,确保数据能平均地抹写。
- 预防性搬离 (Early move):此功能可侦测并纠正潜在的数据错误。如果区块中的错误接近上限,数据就会被移动至另一区块,同时原区块将被抹除。(注:仅部分产品支持。)
-
重复读取 (Read retry):此功能可让闪存调整读取时的参考电压 (read reference voltage) ,防止读取错误。