一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

由闪存单元构成的EEPROM仿真器中的损耗均衡的制作方法

2021-08-24 16:08:00 来源:中国专利 TAG:可编程 只读存储器 带电 损耗 闪存
由闪存单元构成的EEPROM仿真器中的损耗均衡的制作方法

本发明涉及用于在由闪存单元构成的带电可擦可编程只读存储器(eeprom)仿真器中实现损耗均衡的系统和方法。



背景技术:

非易失性存储器单元在本领域中是熟知的。图1中示出现有技术的第一类型非易失性存储器单元110。存储器单元110包括第一导电类型(诸如p型)的半导体衬底112。衬底112具有表面,在该表面上形成第二导电类型(诸如,n型)的第一区114(也称为源极线sl端子),并且第一区114通常连接到源极线(未示出)。也为n型的第二区116(也称为漏极线)形成在衬底112的该表面上。第一区114和第二区116之间是沟道区118。位线bl端子120连接到第二区域116,并且通常连接到位线(未示出)。字线wl端子122位于沟道区118的第一部分上方,并与其绝缘,并通常连接到字线(未示出)。字线端子122几乎不与或完全不与第二区116重叠。浮栅fg124在沟道区118的另一部分上方。浮栅124与该另一部分绝缘,并且与字线端子122相邻并绝缘。浮栅124还与第一区114相邻。浮栅124可与第一区114显著地重叠,以提供从第一区114到浮栅124的强耦合。

现有技术的非易失性存储器单元110的擦除和编程的一个示例性操作如下。通过福勒-诺德海姆隧穿机制对非易失性存储器单元110进行擦除,方法是在字线端子122上施加高电压并且在位线端子120和源极线端子114上施加零电压。电子从浮栅124隧穿到字线端子122中,使得浮栅124带正电,从而在读取条件下导通非易失性存储器单元110。所得的单元擦除状态被称为‘1’状态。通过源极侧热电子编程机制对单元110进行编程,方法是在源极线114上施加高电压,在字线端子122上施加低电压,以及在位线端子120上施加编程电流。流过字线端子122与浮栅124之间的间隙的电子的一部分获得足够的能量以注入到浮栅124中,使得浮栅124带负电,从而在读取条件下关断非易失性存储器单元110。所得的非易失性存储器单元编程状态被称为‘0’状态。

可用于存储器单元110中的读取、编程、擦除和待机操作的示例性电压在下表1中示出:

图2中示出现有技术的第二类型非易失性存储器单元210。非易失性存储器单元210包括第一导电类型(诸如p型)的半导体衬底212。衬底212具有表面,在该表面上形成第二导电类型(诸如,n型)的第一区214(也称为源极线sl端子),并且第一区214通常连接到源极线(未示出)。也为n型的第二区216(也称为漏极线)形成在衬底212的该表面上。第一区214和第二区216之间是沟道区218。位线bl端子220连接到第二区域216,并且通常连接到位线(未示出)。字线wl端子222位于沟道区218的第一部分上方,并与其绝缘,并通常连接到字线(未示出)。字线端子222几乎不与或完全不与第二区216重叠。浮栅fg224在沟道区218的另一部分上方。浮栅224与该另一部分绝缘,并且与字线端子222相邻并绝缘。浮栅224还与第一区214相邻。浮栅224可与第一区214重叠以提供第一区214到浮栅224的耦合。耦合栅cg端子(也称为控制栅端子)226在浮栅224上方并与其绝缘,并且也与字线端子222绝缘,并且通常连接到耦合栅或控制栅(未示出)。

现有技术的非易失性存储器单元210的擦除和编程的一个示例性操作如下。通过福勒-诺德海姆隧穿机制对非易失性存储器单元210进行擦除,方法是在字线端子222上施加高电压,同时其他端子的电压等于零伏。电子从浮栅224隧穿到字线端子222中而带正电,从而在读取条件下导通单元210。所得的非易失性存储器单元擦除状态被称为‘1’状态。通过源极侧热电子编程机制对非易失性存储器单元210进行编程,方法是在耦合栅端子226上施加高电压,在源极线端子214上施加高电压,以及在位线端子220上施加编程电流。流过字线端子222与浮栅224之间的间隙的电子的一部分获得足够的能量以注入到浮栅224中,使得浮栅224带负电,从而在读取条件下关断非易失性存储器单元210。所得的非易失性存储器单元编程状态被称为‘0’状态。

可用于存储器单元210中的读取、编程、擦除和待机操作的示例性电压在下表2中示出:

可用于非易失性存储器单元210中的读取、编程和擦除操作的另一组示例性电压(当负电压可用于读取和编程操作时)在下表3中示出:

可用于非易失性存储器单元210中的读取、编程和擦除操作的另一组示例性电压(当负电压可用于读取、编程和擦除操作时)在下表4中示出:

图3中示出了第三类型的非易失性存储器单元310。非易失性存储器单元310包括第一导电类型(诸如p型)的半导体衬底312。衬底312具有表面,在该表面上形成第二导电类型(诸如,n型)的第一区314(也称为源极线sl端子),并且第一区314通常连接到源极线(未示出)。也为n型的第二区316(也称为漏极线)形成在衬底312的该表面上。第一区314和第二区316之间是沟道区318。位线bl端子320连接到第二区域316,并且通常连接到位线(未示出)。字线wl端子322位于沟道区318的第一部分上方,并与其绝缘,并通常连接到字线(未示出)。字线端子322几乎不与或完全不与第二区316重叠。浮栅fg324在沟道区318的另一部分上方。浮栅324与该另一部分绝缘,并且与字线端子322相邻并绝缘。浮栅324还与第一区314相邻。浮栅324可与第一区314重叠以提供第一区314到浮栅324的耦合。耦合栅cg端子(也称为控制栅端子)326在浮栅324上方并与其绝缘,并且通常连接到耦合栅线或控制栅线(未示出)。擦除栅eg端子328在第一区314上方与浮栅324和耦合栅端子326相邻且绝缘,并且通常连接到擦除栅线(未示出)。浮栅324的顶部拐角可指向t形擦除栅328的内侧拐角以提高擦除效率。擦除栅328也与第一区314绝缘。非易失性存储器单元310在美国专利no.7,868,375中进行了更具体的描述,该专利全文以引用方式并入本文中。

现有技术非易失性存储器单元310的擦除和编程的一个示例性操作如下。通过福勒-诺德海姆隧穿机制对非易失性存储器单元310进行擦除,方法是在擦除栅端子328上施加高电压,同时其他端子的电压等于零伏。电子从浮栅324隧穿到擦除栅端子328中,使得浮栅324带正电,从而在读取条件下导通非易失性存储器单元310。所得的非易失性存储器单元擦除状态被称为‘1’状态。通过源极侧热电子编程机制对非易失性存储器单元310进行编程,方法是在耦合栅端子326上施加高电压,在源极线端子314上施加高电压,在擦除栅端子328上施加中电压,以及在位线端子320上施加编程电流。流过字线端子322与浮栅324之间的间隙的电子的一部分获得足够的能量以注入到浮栅324中,使得浮栅324带负电,从而在读取条件下关断非易失性存储器单元310。所得的非易失性存储器单元编程状态被称为‘0’状态。

可用于非易失性存储器单元310中的读取、编程和擦除操作的示例性电压在下表5中示出:

对于编程操作,eg电压可被施加得比sl电压(例如5v)高得多(例如8v)以加强编程操作。在这种情况下,以较高电压(cg抑制电压)(例如6v)施加未选cg编程电压,以减少共享所选非易失性存储器单元的相同eg栅328的相邻存储器单元的不期望擦除效果。

可用于非易失性存储器单元310中的读取、编程和擦除操作的另一组示例性电压(当负电压可用于读取和编程操作时)在下表6中示出:

可用于非易失性存储器单元310中的读取、编程和擦除操作的另一组示例性电压(当负电压可用于读取、编程和擦除操作时)在下表7中示出:

对于编程操作,eg电压被施加得比sl电压(例如5v)高得多(例如8-9v)以加强编程操作。在这种情况下,以较高电压(cg抑制电压)(例如5v)施加未选cg编程电压,以减少共享所选非易失性存储器单元310的相同eg栅328的相邻存储器单元的不期望擦除效果。

图1至图3所示类型的非易失性存储器单元通常被称为闪存单元。闪存单元通常被排列成行和列以形成阵列。因为字线控制存储器单元的整个行,并且当存在擦除栅(如图3所示类型)时,擦除栅由存储器单元的行对共享,所以一次对整行或行对执行擦除操作。因此,在使用图1至图3所示类型的存储器单元的现有技术存储器系统中,还不可能一次仅擦除一个字节的数据或一个字节的数据对。

现有技术中已知的还有eeprom装置。与图1至图3的闪存单元一样,eeprom装置是非易失性存储器装置。但在eeprom装置中,单元可一次擦除一个字节,这与使用图1至图3的存储器单元的系统不同。eeprom单元尺寸通常比闪存单元尺寸大得多。

申请人先前在2014年8月8日提交的美国专利申请no.14/455,698中公开了一种闪存装置,该闪存装置能够模拟eeprom装置,并且能够逐字节地被擦除,该美国专利申请的标题为“flashmemorysystemwitheepromfunctionality”,并且作为美国专利no.9,286,982发布,其通过引用方式并入本文。

图4至图6示出了现有技术中可用作eeprom仿真器的闪存系统的一个实施方案,其与美国专利申请no.14/455,698的公开内容一致。

图4示出了包括字节401和402的示例性字400。字节401包括非易失性存储器单元403-0、403-1、…、和403-7。字节402包括非易失性存储器单元403-8、403-9、…、和403-15。因此,每个非易失性存储器单元通常存储1位(即,“0”或“1”)。8位构成一个字节,2个字节构成一个字。

图5示出了示例性扇区500,其包括字400-0、400-1、…、和400-15。因此,每个扇区包括两个相邻的字行。在该示例中,每行包含8个字。两个相邻的字行通常具有单独的字线,但是具有共享的源极线和/或擦除栅线。

图6示出了示例性阵列610,其包括扇区500-0、500-1、…、和500-i,其中阵列610包括i 1个扇区。解码器600通常从非易失性存储器系统外部的源接收逻辑地址601。解码器600输出物理地址603的控制信号602。物理地址603是存储器阵列中物理位置的唯一地址,通常包括列号和行号。控制信号602断言物理地址603的行和列。解码器600可以包括逻辑电路和/或执行软件的控制器或处理器。

模拟eeprom装置的闪存系统存在不均匀损耗的风险。具体来说,编程和擦除操作会对物理装置产生压力,并且随着时间的推移,装置将变得不可用。如果重复使用物理装置的相同部分,情况尤其如此。此外,这种装置容易受到一种称为“编程干扰”的现象的影响当非易失性存储器单元在被擦除之前被多次编程时,会发生编程干扰。在这种情况下,由于在编程操作期间施加到该单元的电压,与该非易失性存储器单元相邻的非易失性存储器单元可能会被无意地编程。当系统不打算这样做时,这将产生对相邻的非易失性存储器单元进行编程的不期望效果。

这些问题可以通过实施损耗均衡技术得到至少部分的缓解。图7示出了可由解码器600或解码器600外部的逻辑实现的现有技术损耗均衡方法700。在该示例中,扇区500被用作eeprom字710,它是eeprom仿真器存储单个数据字(通常是两个字节)的单元。因为扇区500包括16个物理字(400-0、…400-15),这意味着单个eeprom字710对应于可以存储它的16个物理位置,即eeprom字710可以存储在16个物理位置中的任一个。

在现有技术的损耗均衡方法700中,当对eeprom字710进行首次编程时,其数据被写入字400-0。当eeprom字710被更新时,不是擦除字400-0然后将更新的数据编程写入字400-0,而是将更新的数据写入字400-1。此时,存储在字400-0中的数据是陈旧的。eeprom字710的每个后续编程操作使用扇区500中的下一个字400,直到第16次编程操作时,字400-15被编程。此时,自上次擦除操作以来,扇区500中的每个字已经被编程一次。当命令对eeprom字710进行另一编程操作时,系统将执行扇区擦除并擦除扇区500,然后将数据编程到字400-0中,从而重新开始该过程。本领域普通技术人员将会理解,现有技术的损耗均衡方法700在扇区500的所有部分中分散“损耗”,而不是将损耗集中在特定位置。

尽管现有技术的损耗均衡方法700是有益的,但它也有一定的局限性。具体来说,它是一种粗略的损耗均衡方法,因为由闪存装置构成的eeprom仿真器能够进行位级编程(而不仅仅是字节级或字级编程)。

所需要的是一种用于在闪存系统中实现损耗均衡的改进的系统和方法,该系统和方法以充分利用装置的功能(包括执行位级编程的能力)的方式来仿真eeprom装置,并且抵消编程干扰现象。



技术实现要素:

本发明涉及用于在模拟eeprom的闪存装置中实现损耗均衡的系统和方法。这些实施方案利用索引阵列,该索引阵列存储仿真eeprom中的每个逻辑地址的索引字。每个索引字中的每一位都与仿真eeprom中的物理字的物理地址相关联,并且索引字跟踪哪个物理字是特定逻辑地址的当前字。使用索引字可实现损耗均衡算法,该算法允许对逻辑地址的编程命令,这导致:(i)如果存储在当前字中的数据不包含与要存储的数据中的“0”相对应的“1”,则跳过编程操作,(ii)在某些情况下对当前字的一个或多个位进行重编程,或者(iii)在某些情况下转移到下一个物理字并对其进行编程。

附图说明

图1是现有技术的非易失性存储器单元的剖视图,本发明的方法可应用于该存储器单元。

图2是现有技术的非易失性存储器单元的剖视图,本发明的方法可应用于该存储器单元。

图3是现有技术的非易失性存储器单元的剖视图,本发明的方法可应用于该存储器单元。

图4示出了形成字的非易失性存储器单元。

图5示出了形成扇区的非易失性存储器单元的字。

图6示出了形成阵列的非易失性存储器单元的扇区以及解码器。

图7示出了现有技术的损耗均衡方法。

图8示出了一种损耗均衡系统。

图9示出了图8的损耗均衡系统中的示例性索引字。

图10示出了图8的损耗均衡系统中的填充的示例性索引字。

图11示出了一种损耗均衡方法。

图12a、图12b和图12c示出了图11的损耗平衡方法的补充细节。

具体实施方式

图8示出了改进的具有损耗均衡的eeprom仿真系统800。系统800包括索引阵列802、损耗均衡模块804和eeprom仿真阵列807。索引阵列802接收逻辑地址801并输出索引字803。损耗均衡模块804接收索引字803、逻辑地址801、命令808(例如,编程、擦除或读取命令)和写入数据809(例如,在编程操作期间要写入的数据),并输出物理地址806的控制信号805。物理地址806是eeprom仿真阵列807中物理位置的唯一地址,通常包括列号和行号。控制信号805断言物理地址806的行和列,从而使得读取、擦除或编程操作能够在物理地址806发生。索引阵列802包含eeprom仿真阵列807中每个扇区的单独索引字。损耗均衡模块804使用执行软件指令、组合逻辑的处理器或控制器或者其他已知技术来实现。

一个示例如图9所示。这里,索引字803对应于eeprom仿真阵列807中的扇区500。索引字803包括16个索引位,804-0、804-1、…、804-15。索引位804-0对应于物理字400-0,索引位804-1对应于物理字400-1,索引位804-2对应于物理字400-2,索引位804-3对应于物理字400-3,索引位804-4对应于物理字400-4,索引位804-5对应于物理字400-5,索引位804-6对应于物理字400-6,索引位804-7对应于物理字400-7,索引位804-8对应于物理字400-8,索引位804-9对应于物理字400-9,索引位804-10对应于物理字400-10,索引位804-11对应于物理字400-11,索引位804-12对应于物理字400-12,索引位804-13对应于物理字400-13,索引位804-14对应于物理字400-14,并且索引位804-15对应于物理字400-15。物理字400-0是扇区500中的第一物理字,物理字400-15是扇区500中的最后物理字。

参考图10,如果其对应的物理字没有被使用,则索引字803中的每个特定索引位804被设置为“1”,并且如果其对应的物理字正在被使用或已经被使用,则被设置为“0”。这里,位804-1和804-0被设置为“0”,表示物理字400-1和400-0正在被使用或已经被使用,位804-0是最低有效位。在该系统下,包含“0”的最高有效位对应于最近被最多编程的当前字,标记为当前字1010,在该示例中是物理字400-1。在这个例子中,物理字400-0先前被使用(此时物理字400-0是当前字1010),但是现在保存“陈旧的”数据。

图11示出了利用索引阵列802和诸如索引字803的索引字的损耗均衡方法1100。索引阵列802和索引字的使用为系统提供了比现有技术损耗均衡方法700更大的能力,因为当编程操作发生时,系统不再需要自动进行到下一个字。相反,如下面参考图12a、图12b和图12c更详细讨论的,在某些情况下,系统将对当前字中的某些位进行编程,或者如果合适,将跳过对当前字中的某些位的编程。

图12a、图12b和图12c示出了关于系统800(先前在图8中示出)及其如何执行损耗均衡方法1100(先前在图11中示出)的补充细节。有利的是,本实施方案的eeprom仿真器执行损耗均衡的同时仍然允许单独位编程。

在步骤1201中,损耗均衡模块804接收命令808、逻辑地址801、索引字803和写入数据809(当命令808是编程命令时),并进行到步骤1202。

在步骤1202中,损耗均衡模块804使用逻辑地址801和索引字803读取eeprom仿真阵列807中的当前字1010,并进行到步骤1203。

在步骤1203中,损耗均衡模块804确定命令808是否是编程命令。如果是,则进行到步骤1204。如果否,则进行到步骤1212。

在步骤1204中,损耗均衡模块804基于当前字1010和写入数据809生成掩码1220,并进行到步骤1205。根据表8生成掩码1220:

在步骤1205中,损耗均衡模块1205确定掩码1220是否包含至少一个“0”(未掩码)位。如果是,则进行到步骤1207。如果否,则进行到步骤1206。

在步骤1206中,损耗均衡模块804跳过编程操作。它这样做是因为它已经得出结论,数据809不能通过编程操作来存储,因为数据809不包含对应于存储在当前字1010中的“1”的任何“0”。因为编程操作只能把“1”变成“0”(而不能把“0”变成“1”),所以通过编程操作无法完成任何操作。有可能写入数据809将包含对应于存储在当前字中的“0”的“1”,并且打算存储的数据(写入数据809)和实际存储的数据(当前字1010)之间可能会存在不匹配。外部系统可选地可以执行读取-验证操作,以确保eeprom字710正确地存储打算存储的数据(写入数据809)。当验证操作失败时,外部系统随后可以执行擦除操作,然后再次编程写入数据809。如表8所示,有利的是,一个位不会被编程两次,这防止了对相邻单元的编程干扰,并增加了耐久性。

在步骤1207中,损耗均衡模块804确定当前字1010是否是扇区500中的最后物理字。如果是,则进行到步骤1208。如果否,则进行到步骤1209。

在步骤1208中,损耗均衡模块804通过断言物理地址806(这里是与当前字相关联的物理地址)的控制信号805并将数据809编程到根据掩码1220未被掩码的那些位的eeprom仿真阵列807内的物理地址806中,来将数据809编程到当前字1010中。有可能写入数据809将包含对应于存储在当前字1010中的“0”的“1”,并且在打算存储的数据(写入数据809)和实际存储的数据(当前字1010)之间可能会存在不匹配。外部系统可选地可以执行读取-验证操作,以确保eeprom字710正确地存储打算存储的数据(写入数据809)。当验证操作失败时,外部系统随后可以执行擦除操作,然后再次编程写入数据809。值得注意的是,因为自上次擦除操作以来,最后物理字可能已经在先前被编程过,所以编程干扰的可能性增加。然而,这是一个可以接受的结果,因为先前的字已经包含“陈旧的数据”,并且如果它的数据受到干扰,它将不会影响系统的完整性。此外,在最后物理字之后没有后续的物理字,因此不担心在最后物理字的那一侧发生编程干扰。

在步骤1209中,损耗均衡模块1209确定当前字1010是否包含所有“1”。如果是,则进行到步骤1210。如果否,则进行到步骤1211。

在步骤1210中,损耗均衡模块1209将数据809编程到当前字1010中。不会发生不匹配,因为在编程操作之前,当前字1010处于擦除状态(全部为“1”)。此外,由于当前字1010自从上次被擦除以来还没有被编程,所以不存在发生编程干扰的问题。损耗均衡模块1209通过断言物理地址806(这里是与当前字1010相关联的物理地址)的控制信号805,并将数据809编程到根据掩码1220未被掩码的那些位的eeprom仿真阵列807中的物理地址806中,来将数据编程到当前字1010中。

在步骤1211中,损耗均衡模块1211将数据809编程到下一个字中,并转移到索引字803中的下一个字。这样做是因为在步骤1209中,当前字1010被确定为不是擦除状态(全部为“1”),这意味着当前字1010已经被编程。实施这种转移是为了避免发生任何编程干扰的可能性。损耗均衡模块1211通过断言物理地址806(这里是与下一个字相关联的物理地址)的控制信号805并将数据809编程到eeprom仿真阵列807内的物理地址806来将数据编程到下一个字中。通过将下一个字的索引位从“1”改变为“0”,来移动到索引字803中的下一个位(这本身需要对索引字803进行编程操作)。

在步骤1212中,损耗均衡模块804确定命令808是否是擦除命令。如果是,则进行到步骤1213。如果否,则进行到步骤1216。

在步骤1213中,损耗均衡模块804确定当前字是否是扇区500中的最后物理字(意味着当前字是字400-15,这将由索引位804-15为“0”表示)。如果是,则进行到步骤1214。如果否,则进行到步骤1215。

在步骤1214中,损耗均衡模块804对扇区500执行扇区擦除,这将导致字400-0、400-1、…、400-15中的所有位被改变为“1”,并且还将擦除索引字803,使得索引字803中的所有位将被改变为“1”。

在步骤1215中,损耗均衡模块804跳过擦除操作,并通过将下一个物理字的索引位从“1”改变为“0”来转移到索引字803中的下一位(这本身需要对索引字803进行编程操作)。这实际上与擦除相同,因为它进行到下一个字,该字还没有被编程并且包含所有的“1”。

在步骤1216中,损耗均衡模块804执行读取操作,因为它可以推断命令808是读取命令。损耗均衡模块通过断言物理地址806(这里是与当前字1010相关联的物理地址)的控制信号805并从eeprom仿真阵列807中的物理地址806读取数据来执行读取。

本文所述的实施方案相对于现有技术的损耗均衡方法700具有以下优点:

·在实施方案中,每个特定位在该位的擦除操作之间被编程为“0”值的次数不会超过一次,这减少了编程干扰现象;

·实施方案在执行损耗均衡的同时允许位编程,而在现有技术的损耗均衡方法700中仅允许字级编程;以及

·当实施方案接收到扇区擦除命令时,它们将转移到下一个字,而不执行擦除,直到当前字是扇区中的最后一个字。

应当指出,如本文所用,术语“在…上方”和“在…上”两者包容地包含“直接在…上”(之间未设置中间材料、元件或空间)和“间接在…上”(之间设置有中间材料、元件或空间)。类似地,术语“相邻”包括“直接相邻”(之间没有设置中间材料、元件或空间)和“间接相邻”(之间设置有中间材料、元件或空间),“安装到”包括“直接安装到”(之间没有设置中间材料、元件或空间)和“间接安装到”(之间设置有中间材料、元件或空间),并且“电耦合至”包括“直接电耦合至”(之间没有将元件电连接在一起的中间材料或元件)和“间接电耦合至”(之间有将元件电连接在一起的中间材料或元件)。例如,“在衬底上方”形成元件可包括在之间没有中间材料/元件的情况下在衬底上直接形成元件,以及在之间有一个或多个中间材料/元件的情况下在衬底上间接形成元件。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜