非易失性存储器装置及其读取方法与流程

文档序号:11621680阅读:309来源:国知局
非易失性存储器装置及其读取方法与流程

本发明涉及一种非易失性存储器装置,特别涉及一种记录解码码字成功率较高的读取电压的非易失性存储器装置及其读取方法。



背景技术:

存储器主要分为两大类,一是易失性存储器(volatilememory),另一是非易失性存储器(non-volatilememory)。易失性存储器的存取速度快,但在关机后,易失性存储器所存储的数据将会全部遗失。相反地,即使关机,非易失性存储器仍可维持数据。然而,非易失性存储器所存储的数据可能会因种种原因,如放置的时间太久而发生电荷流失(chargeloss)、读取干扰(readdisturb)或是编程干扰(programdisturb)等现象,因而若继续以固定的读取电压读取数据,则可能无法正确地读取数据。



技术实现要素:

本发明提供一种非易失性存储器装置,包括一非易失性存储器以及一控制器。非易失性存储器存储多个数据以及一读取表格。读取表格记录多个索引值。不同的索引值对应不同的读取电压。控制器依据读取表格所存储的索引值建立一标准表格,并根据标准表格中的一第一索引值所对应的读取电压读取非易失性存储器所存储的一第一码字。控制器对第一码字进行一错误检查校正。当第一码字通过一错误检查校正时,控制器根据第一索引值建立一优先表格。

本发明还提供一种读取方法,适用于一非易失性存储器装置。非易失性存储器装置包含一控制器以及一非易失性存储器。非易失性存储器用以存储多个数据以及一读取表格。本发明的读取方法包括,依据读取表格所存储的多个索引值建立一标准表格,不同的索引值对应不同的读取电压;根据标准表格中的一第一索引值所对应的读取电压读取非易失性存储器所存储的第一码字;对第一码字进行一错误检查校正;以及当第一码字通过错误检查校正时,根据第一索引值建立一优先表格。

本发明又提供一种非易失性存储器装置,包括一非易失性存储器以及一控制器。控制器根据非易失性存储器所存储的一读取表格建立一标准表格以及至少一优先表格,控制器优先使用优先表格所存储的索引值所对应的读取电压读取非易失性存储器所存储的码字再进行解码,当控制器无法解码时,控制器使用标准表格里的索引值所对应的读取电压来读取相同码字再进行解码。

为让本发明的特征和优点能更明显易懂,下文特举出优选实施例,并配合附图,作详细说明如下:

附图说明

图1为本发明的非易失性存储器装置的示意图。

图2为本发明的读取表格、标准表格与优先表格的示意图。

图3为本发明的读取方法的示意图。

【符号说明】

100:非易失性存储器装置;

110:非易失性存储器;

111:读取表格;

120:控制器;

130:微处理器;

140:存储器;

141、143、144:优先表格;

142:标准表格;

150:错误检查校正电路;

s311~s318:步骤。

具体实施方式

图1为本发明的非易失性存储器装置的示意图。如图所示,非易失性存储器装置100包括一非易失性存储器110以及一控制器120。在一可能实施例中,非易失性存储器110可为一与非门快闪存储器(nandflash),但并非用以限制本发明。非易失性存储器110由多个存储器胞(cell)所构成。本发明并不限定该等存储器胞的架构。在一可能实施例中,非易失性存储器110的存储器胞为单层存储单元(single-levelcell),用以存储1位的数据。在另一可能实施例中,非易失性存储器110的存储器胞为多层存储单元(multi-levelcell),用以存储2位的数据。在其它实施例中,非易失性存储器110的存储器胞为三层存储单元(triple-levelcell),用以存储3位的数据。

非易失性存储器110用以存储多个数据以及一读取表格111。在本实施例中,读取表格111记录多个索引值。每一索引值对应一读取电压。不同的索引值对应不同的读取电压。藉由该读取电压判断非易失性存储器110的每一存储器胞所存储的数据为0或1。在一可能实施例中,读取表格111事先存储在非易失性存储器110中。

控制器120用以存取非易失性存储器110。在本实施例中,控制器120依据该读取表格111所存储的这些索引值建立一标准表格142,控制器120再根据该标准表格142中所存储的索引值,使用相对应的读取电压读取非易失性存储器110所存储的数据。在另一可能实施例中,控制器120并不建立标准表格。在此例中,控制器120直接根据读取表格111所存储的这些索引值,使用相对应的读取电压读取非易失性存储器110所存储的数据。如图所示,控制器120包括一微处理器130、一存储器140以及一错误检查校正(errorcheckingandcorrecting)电路150。

微处理器130根据一外部装置(未显示)的一写入指令(未显示)将一写入数据存储至非易失性存储器110中,或是根据外部装置所提供的一读取指令(未显示)读取非易失性存储器110所存储的数据。举例而言,在一写入模式下,微处理器130将一写入数据送入错误检查校正电路150,用以产生一错误校正码(errorcorrectingcode),并将写入数据连同错误校正码一起存入非易失性存储器110中。在一读取模式下,微处理器130根据标准表格142所存储的索引值,使用相对应的读取电压读取非易失性存储器110所存储的先前写入数据以及对应的错误校正码。在本实施例中,上述先前写入数据以及对应的错误校正码称为一个码字(codeword)。

在一可能实施例中,微处理器130提取读取表格111所存储的索引值,并将提取结果存入标准表格142。本发明并不限定微处理器130如何提取读取表格111所存储的索引值。微处理器130可能依序或是随机提取读取表格111所存储的索引值,并将提取结果依序或是随机存入标准表格142中。微处理器130再根据存储器140所存储的标准表格142所记录的一第一索引值所对应的读取电压,读取非易失性存储器110的一第一地址的一第一码字,并将该第一码字中的错误校正码送入错误检查校正电路150。

错误检查校正电路150根据该第一码字中的错误检查码,判断该第一码字中的先前写入数据中的错误位的数量是否超过一容忍值。当该第一码字中的先前写入数据中的错误位的数量超过该容忍值时,该第一码字将无法通过错误检查校正(亦称作解码失败)。因此,微处理器130根据标准表格142里的一第二索引值所对应的读取电压,重新读取该第一码字,并判断该第一码字是否可通过错误检查校正。若该第一码字仍无法通过错误检查校正时,微处理器130再根据标准表格142里的一第三索引值所对应的读取电压读取该第一码字,并判断该第一码字是否可通过错误检查校正。如果该第一码字可通过错误检查校正,表示该第一码字中的先前写入数据中的错误位能够被错误检查校正电路150修正为正确(亦称作解码成功)。由于错误检查校正电路150成功解码该第一码字,则微处理器130将第三索引值(一特定索引值)存入一优先表格141中,并在下一次的读取操作下,先使用优先表格141所存储的第三索引值所对应的读取电压。

在微处理器130建立优先表格141后,当需要进行一读取操作时,微处理器130会根据优先表格141所记录的最新索引值(例如第三索引值)所对应的读取电压读取非易失性存储器110的一第二地址的第二码字,并对该第二码字进行错误检查校正。错误检查校正电路150根据该第二码字中的错误检查码,判断该第二码字中的先前写入数据中的错误位的数量是否超过一容忍值。当该第二码字中的先前写入数据中的错误位的数量超过该容忍值时,该第二码字将无法通过错误检查校正。因此,微处理器130根据优先表格141所记录的另一索引值所对应的读取电压再次读取第二码字,并判断第二码字是否可通过错误检查校正。如果第二码字仍无法通过错误检查校正,并且优先表格141所记录的索引值全被微处理器130使用过时,则微处理器130改从标准表格142中,再次选择该第一索引值,并根据该第一索引值所对应的读取电压再次读取第二码字,并进行错误检查校正。如果第二码字仍无法通过错误检查校正,则继续从标准表格142中,选择该第二索引值,并根据该第二索引值所对应的读取电压再次读取第二码字,并进行错误检查校正。如果第二码字仍无法通过错误检查校正,则继续从标准表格142中,选择一第四索引值(未出现在优先表格141中),并根据该第四索引值所对应的读取电压再次读取第二码字,并进行错误检查校正。如果第二码字仍无法通过错误检查校正,则继续从标准表格142中,选择一第五索引值(未出现在优先表格141中),并根据第五索引值所对应的读取电压读取第二码字。如果第二码字可通过错误检查校正,则微处理器130将第五索引值(一特定索引值)存入优先表格141中,在下次的读取操作时,微处理器130优先读取最新存入优先表格141的索引值(例如第五索引值)。

由于使用优先表格141所存储的索引值所对应的读取电压读取的码字有较高的机率可以解码成功,因此,如果微处理器130根据优先表格141所存储的索引值所对应的读取电压进行码字读取时,则可减少码字解码失败的机率,进而提高码字解码成功率。

在一可能实施例中,如果优先表格141所记录的索引值的数量大于一预设数量时,则最先存入优先表格141的索引值会被移除。在本实施例中,优先表格141所记录的索引值并不会出现在标准表格142中,以避免微处理器130重复使用某一索引值。在其它实施例中,当微处理器130将标准表格142所记录的某一索引值存入优先表格141后,微处理器130遮罩或是移除标准表格142里相对应的索引值。在此例中,当优先表格141里的某一索引值被移除后,微处理器130将该索引值写回标准表格142中,或是取消标准表格142里被遮罩的索引值。

在本实施例中,控制器120的存储器140用以存储优先表格141以及标准表格142,但并非用以限制本发明。在其它实施例中,优先表格141与标准表格142可能分别存储在两独立的存储器中,或是优先表格141与标准表格142的至少一个存储于非易失性存储器110中。在一可能实施例中,存储器140为一易失性存储器,如sram或是dram,然不限于此。在每次关机时,存储器140所存储的数据会被清空。在每次开机后,微处理器130重新建立标准表格142。此外,微处理器130一边进行读取操作,一边建立优先表格141,用以将解码成功机率较高的索引值存入优先表格141。

举例而言,在一开机时,微处理器130复制读取表格111所记录的所有索引值,用以产生标准表格142。在一可能实施例中,读取表格111所记录的索引值的排列顺序相同或不同于标准表格142所记录的索引值的排列顺序。另外,微处理器130可能依序或是随机读取标准表格142所记录的索引值。

图2为本发明的读取表格111、标准表格142与优先表格141的示意图。如图所示,读取表格111具有n个索引值,其中n>0。不同的索引值对应不同的读取电压。在其它实施例中,读取表格111直接记录不同的读取电压。在一实施例中,标准表格142与优先表格141是直接记录读取电压。

在本实施例中,微处理器130根据读取表格111所记录的索引值建立标准表格142。如图所示,标准表格142所记录的索引值的排列顺序相同于读取表格111所记录的索引值的排列顺序,但并非用以限制本发明。

在读取操作下,控制器120根据标准表格142所记录的索引值0~n所对应的读取电压,读取非易失性存储器110存储的码字,并判断该码字是否可通过错误检查校正。如果可通过错误检查校正,则将该索引值写入优先表格141中。举例而言,在一第一读取期间,控制器120根据标准表格142的第一索引值0所对应的读取电压读取非易失性存储器110所存储的一第一码字,并进行一错误检查校正。

如果第一码字未通过错误检查校正,则控制器120根据标准表格142中的第二索引值1所对应的读取电压读取第一码字,并进行错误检查校正。当第一码字通过错误检查校正时,控制器120根据第二索引值1建立一优先表格141。在此例中,控制器120将第二索引值1存入优先表格141中。由于标准表格142的第二索引值1已存入优先表格141中,故控制器120遮罩或是移除标准表格142里的第二索引值1,用以避免控制器120回到标准表格142时,再度读取到第二索引值1。

如果控制器120又接收到一读取指令时,控制器120根据优先表格141所存储的第二索引值1所对应的读取电压读取存储于非易失性存储器110的第二码字,并进行错误检查校正。如果第二码字无法通过错误检查校正并且优先表格141里已无其它未使用过索引值时,则控制器120回到标准表格142中选择另一索引值。由于标准表格142里的第二索引值1已被移除或遮罩,因此,控制器120根据标准表格142中的第二索引值1以外的一特定索引值(如0)所对应的读取电压读取第二码字,并进行错误检查校正。如果第二码字通过错误检查校正时,控制器120将特定索引值0存入优先表格141中。在下一次的读取操作时,控制器120根据优先表格141最新的索引值(例如索引值0)所对应的读取电压来读取非易失性存储器110。

在本实施例中,当优先表格141所记录的索引值的数量大于一预设数量(例如预设数量为3)时,控制器120移除优先表格141里最早存入的索引值(即第二索引值1),并取消遮罩标准表格142里的第二索引值1或是将第二索引值1写入标准表格142中。在其它实施例中,优先表格141可存储其它数量的索引值。在一可能实施例中,优先表格141根据先进先出(fifo)方式存储索引值。

另外,本发明并不限定优先表格的数量。在一可能实施例中,控制器120建立多个优先表格141、143、144。优先表格141、143、144所记录的索引值可能各不相同。控制器120在不同的非易失性存储器管理的操作下,使用不同的优先表格。举例而言,控制器120可能在进行数据保持(dataretention)的读取操作时,建立优先表格141。因此,当控制器120再次进行数据保持的读取操作时,控制器120使用优先表格141所记录的索引值所对应的读取电压读取非易失性存储器110。在另一可能实施例中,控制器120在克服读取干扰(readdisturb)的读取操作时,建立优先表格143。因此,当控制器120再次进行克服读取干扰的读取操作时,控制器120使用优先表格143所记录的索引值所对应的读取电压读取非易失性存储器110。在其它实施例中,控制器120可能在克服编程干扰(programdisturb)的读取操作时,建立优先表格144。在此例中,当控制器120再次进行克服编程干扰的读取操作时,控制器120使用优先表格144所记录的索引值所对应的读取电压读取非易失性存储器110。

本发明不限定非易失性存储器110所存储的读取表格的数量。当非易失性存储器110的存储器胞属于slc架构时,则只需单一读取表格。然而,当非易失性存储器110的存储器胞属于mlc架构时,可能需要两个读取表格。因此,读取表格的数量根据非易失性存储器110的架构所决定。在一实施例中,非易失性存储器110的制造商在完成非易失性存储器110后,便将相对应的读取表格写入非易失性存储器110中。在另一实施例中,芯片制造商可将读取表格或是标准表格预先建置并以固件形式存放于控制器中。

图3为本发明的读取方法的示意图。本发明的读取方法适用于一非易失性存储器装置。上述非易失性存储器装置包含一控制器以及一非易失性存储器,其中上述非易失性存储器用以预先存储多个数据以及一读取表格。上述控制器读取非易失性存储器的读取表格。该读取表格可能是非易失性存储器装置的制造商事先存入,然不限于此。读取表格记录多个索引值。每一索引值具有一相对应的读取电压。不同索引值对应不同的读取电压。在其它实施例中,读取表格直接记录多个读取电压。

首先,依据读取表格所存储的多个索引值建立一标准表格(步骤s310)。在一实施例中,由控制器提取读取表格的索引值,并将提取结果存入标准表格。因此上述标准表格亦记录读取表格所存储的索引值。另外,在一些实施例中,读取表格所记录的索引值的排列顺序可能相同或不同于标准表格所记录的索引值的排列顺序。

接着,根据标准表格中的一第一索引值所对应的读取电压读取非易失性存储器所存储的一第一码字(步骤s311)。在一可能实施例中,标准表格存储在一易失性存储器或是与读取表格共同存储在非易失性存储器中。

接着,判断第一码字是否可通过一错误检查校正(步骤s312)。当第一码字无法通过错误检查校正时,表示读取电压可能不适合,因此,回到步骤s311,读取标准表格中的一第二索引值所对应的读取电压再次读取非易失性存储器所存储的第一码字,并进行错误检查校正(步骤s312)。

当第一码字可通过错误检查校正时,则根据第二索引值建立一优先表格(步骤s313)。在一实施例中,第二索引值被存入至优先表格。优先表格可能被存储在一易失性存储器或是与读取表格共同存储在非易失性存储器中。由于第二索引值已存入优先表格中,因此,进行遮罩或是移除标准表格里的第二索引值(步骤s314)。步骤s314的目的是为了避免不合适的索引值被重复使用。在其它实施例中,也可省略步骤s314。

接着,如果控制器接收到一读取指令时,则根据优先表格所记录的最新索引值(如第二索引值)所对应的读取电压读取非易失性存储器中的一第二码字(步骤s315)。

然后,对第二码字进行错误检查校正(步骤s316)。当第二码字未通过错误检查校正时,判断优先表格里的所有索引值是否全被使用过(步骤s317)。在此例中,由于优先表格仅记录单一索引值(即第二索引值),因此,回到步骤s311,改为依据标准表格的其它索引值所对应的读取电压读取第二码字。

由于标准表格里的第二索引值已被遮罩或是移除,因此,在一可能实施例中,步骤s311改从标准表格中,再次选择该第一索引值,并根据该第一索引值所对应的读取电压再次读取第二码字,并进行错误检查校正(步骤s312)。如果第二码字仍无法通过错误检查校正,则继续从标准表格中,选择一第三索引值所对应的读取电压读取第二码字(步骤s311)。步骤s312判断第二码字是否可通过错误检查校正。当第二码字通过错误检查校正时,步骤s313将该第三索引值记录至优先表格中。此时,优先表格具有两索引值(即第二索引值以及第三索引值)。

接着,遮罩或移除标准表格里的第三索引值(步骤s314)。在下一次的读取操作下,先根据优先表格里最新存入的索引值(即第三索引值)所对应的读取电压读取非易失性存储器(步骤s315),并进行错误检查校正(步骤s316)。若错误检查校正失败,则判断优先表格里的所有索引值是否全被使用过(步骤s317)。若否,则改选择优先表格里另一索引值(如第二索引值)(步骤s318),并回到步骤s315继续读取第二码字,并进行错误检查校正(步骤s316)。若优先表格里的所有索引值全被使用过,则回到步骤s311,在标准表格中重新选择另一索引值(例如第一索引值、一第四索引值),继续执行步骤s312、s313,并将适合的索引值存入优先表格中。

本发明并不限定优先表格所记录的索引值的数量。在一可能实施例中,当优先表格所记录的索引值的数量大于一预设数量时,移除优先表格所记录的最旧的索引值(如第二索引值),并取消遮罩标准表格里的第二索引值或是将第二索引值写入标准表格中。

在步骤s316中,如果目前码字可通过错误检查校正,则回到步骤s315,继续以最新存入的索引值所对应的读取电压读取其他码字。由于码字的读取优先使用优先表格中解码成功机率较高的读取电压,因此,当控制器藉由优先表格所存储的索引值所对应的读取电压读取非易失性存储器所存储的码字时,可得到一较高的解码成功率,因而减少重新读取跟解码码字的时间并增加读取速度。另外,在其它实施例中,可根据不同的非易失性存储器的读取操作,如数据保持的读取操作、克服读取干扰的读取操作、或是克服编程干扰的读取操作,建立并使用不同的优先表格,用以提高码字解码成功的机率。

在本发明的一实施例中,控制器根据非易失性存储器所存储的一读取表格建立一标准表格以及至少一优先表格,控制器优先使用优先表格所存储的索引值所对应的读取电压读取非易失性存储器所存储的码字再进行解码,当控制器无法解码时,控制器使用标准表格里的索引值所对应的读取电压来读取相同码字再进行解码。

在本发明的一实施例中,控制器以优先表格中所存储的索引值所对应的读取电压读取非易失性存储器所存储的码字的解码成功率高于以标准表格中所存储的索引值所对应的读取电压读取非易失性存储器所存储的码字的解码成功率。

除非另作定义,在此所有词汇(包含技术与科学词汇)均属本发明所属领域技术人员的一般理解。此外,除非明白表示,词汇在一般字典中的定义应解释为与其相关技术领域的文章中意义一致,而不应解释为理想状态或过分正式的语态。

虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附权利要求书界定范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1