数据重新写入方法以及使用该方法的装置与流程

文档序号:11950049阅读:271来源:国知局
本发明关连于一种快闪存储器装置,特别是一种数据重新写入方法以及使用该方法的装置。
背景技术
::快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址引脚上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据引脚上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列的字节(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。然而,快闪存储器(flashmemory)中的存储单元(memorycells)可能于多次的存取后失效。此外,亦可能于生产过程中,会因为粉尘或是光罩问题,使得储存单元中的一整个字符线(wordline)的数据都无法正确存取。因此,本发明提出应用于写入错误(programmingfailed)发生时的一种数据重新写入方法以及使用该方法的装置。技术实现要素:本发明的实施例提出一种数据重新写入方法,由处理单元执行,包含下列步骤。于检测到写入一个页面的数据至储存单元中的第一区块的作业失败后,判断此页面为低页面或高页面。当此页面是高页面时,取得存在相同于上述页面的字符线的低页面所关联到的主页面编号,选择第二区块,以及驱动存取接口根据取得的主页面编号将原先储存于低页面至高页面的数据重新写入至第 二区块。本发明的实施例另提出一种数据重新写入装置,包含存取接口以及处理单元。存取接口耦接于储存单元。处理单元耦接于存取接口,于检测到写入一个页面的数据至储存单元中的第一区块的作业失败后,判断此页面为低页面或高页面。当此页面是高页面时,处理单元更取得存在相同于上述页面的字符线的低页面所关联到的主页面编号,选择第二区块,以及驱动存取接口根据取得的主页面编号将原先储存于低页面至高页面的数据重新写入至第二区块。附图说明图1是依据本发明实施例的快闪存储器的系统架构示意图。图2是依据本发明实施例的快闪存储器中的储存单元示意图。图3是依据本发明实施例的众多多层式单元的临界电压分布示意图。图4是依据本发明实施例的实体字符线与主页面的关联示意图。图5是依据本发明实施例的写入方法的流程图。图6是依据本发明实施例的低页面的重新写入示意图。图7是依据本发明实施例的高页面的重新写入示意图。【附图标记说明】10系统;110处理单元;120数据缓存器;130动态随机存取存储器;150存取接口;160主装置;170存取接口;180储存单元;190控制电路;192寄存器;210存储器单元阵列;220行解码单元;230列编码单元;240地址单元;250数据缓存器;B40区块;400字符线;410、430页面;S511~S557方法步骤;B61、B63区块;610、630页面;B71、B73区块;710~780页面。具体实施方式以下说明是为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的
发明内容必须参考之后的权利要求范围。必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。于权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110通过存取接口170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。系统架构10使用数个电子信号来协调处理单元110与储存单元180间的数据与命令传递,包含数据线(dataline)、时脉信号(clocksignal)与控制信号(controlsignal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chipenable,CE)、地址提取致能(addresslatchenable,ALE)、命令提取致能(commandlatchenable,CLE)、写入致能(writeenable,WE)等控制信号。存取接口170可采用双倍数据率(doubledatarate,DDR)通讯协定与储存单元180沟通,例如,开放NAND快闪(openNANDflashinterface,ONFI)、双倍数据率开关(DDRtoggle)或其他接口。处理单元110另可使用存取接口150通过指定通讯协定与主装置160进行沟通,例如,通用序列总线(universalserialbus,USB)、先进技术附着(advancedtechnologyattachment,ATA)、序列先进技术附着(serialadvancedtechnologyattachment,SATA)、快速周边元件互联(peripheralcomponentinterconnectexpress,PCI-E)或其他接口。图2是依据本发明实施例的快闪存储器中的储存单元示意图。储存单元180可包含由MxN个存储器单元(memorycells)组成的阵列(array)210,而每一个存储器单元储存至少一个比特(bit)的信息。快闪存储器可以是NAND型快闪存储 器,或其他种类的快闪存储器。为了正确存取信息,行解码单元220用以选择存储器单元阵列210中指定的行,而列编码单元230用以选择指定行中一定数量的字节的数据作为输出。地址单元240提供行信息给行解码器220,其中定义了选择存储器单元阵列210中的那些行。相似地,列解码器230则根据地址单元240提供的列信息,选择存储器单元阵列210的指定行中一定数量的列进行读取或写入操作。行可称为为字符线(wordline),列可称为比特线(bitline)。数据缓存器(databuffer)250可储存从存储器单元阵列210读取出的数据,或欲写入存储器单元阵列210中的数据。存储器单元可为多层式单元(multi-levelcells,MLCs)。虽然多层式单元从字面上表示为拥有多于二个电压电位的状态,亦即是,每个单元可表示多于一个比特的信息,但目前大多的多层式单元只表示二个比特的信息,从而提供如下所示的范例。单一个多层式单元使用四个不同状态中的一者来储存二个比特的信息,其中的一个比特称为最低比特(LeastSignificantBit,LSB),另一个比特则称为最高比特(MostSignificantBit,MSB)。由于一个存储器单元的状态是使用临界电压来表示,多层式单元的临界电压会有四个不同的有效区间。图3是依据本发明实施例的众多多层式单元的临界电压分布示意图。预期的分布拥有四个峰,每一者相应于一个状态。一个实体字符线上的所有最低比特会集合形成一个低页面(lowerpage),而所有最低比特会集合形成一个高页面(upperpage)。也就是说,同一个多层式单元同时存有两个页面(低页面与高页面)的值。图4是依据本发明实施例的实体字符线与主页面的关联示意图。举例来说,字符线400储存低页面410及高页面430的值,低页面410位于区块B40中的第一个页面(页面编号由零开始),而高页面430位于区块B40中的第六个页面。低页面410储存主装置160所传来的主页面(hostpage)H100的数据,而高页面430储存主装置160所传来的主页面H105的数据。每一个主页面包含连续数目的逻辑区块地址的储存空间,例如LBA0~LBA7,而每一个逻辑区块地址对应到一个固定大小的实体储存空间,例如256K、512K或1024K字节(Bytes)。主装置160可通过存取接口150传送写入命令、写入地址及数据给处理单元110。处理单元110会将待写入数据先储存于动态随机存取存储器130。于每次写入储存单元180时,处理单元110从动态随机存取存储器130取得所需 的数据并储存于数据缓存器120,接着驱动存取接口170将数据缓存器120的数据逐页面写入至储存单元180。数据缓存器120可使用静态随机存取存储器(SRAM,StaticRandomAccessMemory)实施。每次写完一页的数据至储存单元180后,控制电路190检测此写入作业是否成功,并据以设定寄存器(register)192,用以通知处理单元110执行结果。当处理单元110通过寄存器192发现写入作业失败(programfailed)时,执行重新写入程序,用以再次将值写入储存单元180。图5是依据本发明实施例的写入方法的流程图。处理单元110于每次写入一个页面的数据至储存单元180后(步骤S511),判断此写入作业是否成功(步骤S513)。处理单元110可检测寄存器192的设定来判断写入作业是否成功。当写入作业失败时(步骤S513中“否”的路径),执行重新写入程序(步骤S515至S557)。于重新写入程序中,处理单元110依据失败页面为低页面或高页面进行不同的处理。当失败页面为低页面时(步骤S515中“是”的路径),处理单元110将失败页面所在区块中的剩余未使用页面填成空值(dummyvalues)(步骤S531),接着,选择一个新的区块(又称为使用区块activeblock)(步骤S533),以及将原先储存于失败页面的数据写入新区块(步骤S535)。图6是依据本发明实施例的低页面的重新写入示意图。当处理单元110尝试写入主页面H100的数据至区块B61中的第一个页面(低页面)610却发生写入作业失败时,将区块B61中剩余未使用页面(如斜线区域所示)填成空值(步骤S531)。接着,选择一个新的区块B63(步骤S533),并且将主页面H100的数据写入至区块B63中的第0个页面630(步骤S535)。于此须注意的是,当主页面H100的数据成功写入新的区块后,处理单元100会将实体储存对照表(storagemappingtable,又称为H2FHost-to-Flash表)中关联于主页面H100的实体储存位置指向区块B63中的第0个页面630。也就是说,当主装置160发送读取命令欲读取主页面H100的数据时,处理单元100并不会从页面610读取数据。当失败页面为高页面时(步骤S515中“否”的路径),不只是此页面的数据受到影响,存在于相同字符线的低页面数据也会受到影响。因此,处理单元110取得存在于相同于失败页面的字符线的低页面所关联到的主页面编号(步骤S551),并且将失败页面所在区块中的剩余未使用页面填成空值(dummy values)(步骤S553)。接着,处理单元110选择一个新的区块(步骤S555),重新取得关联于主页面编号的数据并将重新取得的数据写入新区块(步骤S557)。于步骤S557中,处理单元110可从动态随机存取存储器130读取关联于主页面编号的数据并储存至数据缓存器120,以及驱动存取接口170读取数据缓存器120中的数据并写入至储存单元180中的新区块。图7是依据本发明实施例的高页面的重新写入示意图。当处理单元110尝试写入主页面H105的数据至区块B71中的第六个页面(高页面)720却发生写入作业失败时,取得存在于相同于失败页面的字符线的低页面710所关联到的主页面编号H100(步骤S551),并且将区块B71中剩余未使用页面(如斜线区域所示)填成空值(步骤S553)。接着,选择一个新的区块B73(步骤S555),并且重新取得关联的主页面H100的数据,并写入至区块B73中的第0个页面730(步骤S557)。正常的情况下,步骤S511会接着反复被执行,用以将主页面H101至H105的数据写入至区块B73中的第1至5个页面740至780。于此须注意的是,当主页面H100至H105的数据成功写入新的区块后,处理单元100会将实体储存对照表中关联于主页面H100至H105的实体储存位置分别指向区块B73中的第0至5个页面730至780。于每次的重新写入作业后,不论是低页面或者是高页面,处理单元110都会判断此重新写入作业是否成功(步骤S513),并依据判断结果进行相应的处理。虽然图1至图2中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图5的流程图采用指定的顺序来执行,但是在不违法发明精神的情况下,熟习此技艺人士可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,熟习此技艺人士亦可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明亦不因此而局限。虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟习此技艺人士显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1