数据储存装置及数据维护方法与流程

文档序号:18969310发布日期:2019-10-28 23:47阅读:91来源:国知局
数据储存装置及数据维护方法与流程

本发明有关于一种存储器装置的数据维护方法;特别有关于读取数据的数据维护方法。



背景技术:

快闪存储器为一种普遍的非挥发性数据储存装置,以电性方式抹除与程序化。以与非门型的快闪存储器(即NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模组(eMMC)…等使用。

快闪存储器(如,NAND FLASH)的储存阵列包括多个区块(blocks),其中浮置栅极晶体管可用以构成快闪存储器。浮置栅极晶体管中的浮置栅极,可捕捉的电荷以储存数据。然而,储存于浮置栅极的电荷会由于快闪存储器的操作以及各种环境参数,自浮置栅极流失,造成数据保存(Data retention)的问题。



技术实现要素:

本发明所提供的数据储存装置以及数据维护方法,可藉由将冗余数据写入未关闭的字元线的其他页面,使得减少为关闭的字元线所控制的页面的错误位元数。

本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个页面以及多条字元线,其中每一字元线用以控制至少两个页面。控制器用以根据一读取命令对页面中的一第一页面进行读取,并且当字元线中用以控制第一页面的一第一字元线没有关闭时,将一冗余数据(dummy data)写入第一字元线所控制的其他页面。其中,控制器更用以在将冗余数据写入第一字元线所控制的其他页面后,重新对第一页面进行读取。控制器还用以在第一页面被成功读取后响应于读取命令将所读取的第一页面的数据传送至一主机。

在一实施例中,控制器当第一页面无法被成功读取时,才进行将冗余数据写入第一字元线所控制的其他页面的步骤。

另外,控制器还用以根据一重复读取表中的多读取电压对第一页面进行读取,并且在读取电压皆无法成功读取第一页面时才进行将冗余数据写入第一字元线所控制的其他页面的步骤。

本发明亦提供一种数据维护方法,适用于具有一快闪存储器的一数据储存装置,其中快闪存储器包括多个页面以及多条字元线,每一字元线用以控制至少两个页面。数据维护方法包括:接收一读取命令,其中读取命令指示对页面中的一第一页面进行读取;以及当字元线中用以控制第一页面的一第一字元线没有关闭时,将一冗余数据(dummy data)写入第一字元线所控制的其他页面。数据维护方法还包括在将冗余数据写入第一字元线所控制的其他页面后,重新对第一页面进行读取;以及在第一页面被成功读取后响应于读取命令将所读取的第一页面的数据传送至一主机。

在一实施例中当第一页面无法被成功读取时,才进行将冗余数据写入第一字元线所控制的其他页面的步骤。

又另一实施例中,数据维护方法还包括根据一重复读取表中的多读取电压对第一页面进行读取,并且在读取电压皆无法成功读取第一页面时才进行将冗余数据写入第一字元线所控制的其他页面的步骤。

附图说明

图1是本发明的一种实施例的电子系统的方块图。

图2是本发明的一种实施例的快闪存储器的示意图。

图3是本发明的另一种实施例的快闪存储器的示意图。

图4是本发明的一种实施例的数据维护方法的流程图。

图5A~5C是本发明的另一种实施例的数据维护方法的流程图。

符号说明

100 电子系统;

120 主机;

140 数据储存装置;

160 控制器;

162 运算单元;

164 永久存储器;

180 快闪存储器;

W0~WN 字元线;

P0~PM 页面;

B0~BN 区块;

LSB 强页面;

CSB 中页面;

MSB 弱页面;

S400~S416、S500~S528 步骤。

具体实施方式

以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。

图1是本发明的一种实施例的电子系统的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机120所下达的命令操作。

控制器160包括一运算单元162以及一永久存储器(如,只读存储器ROM)164。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。另外,运算单元162还包括一错误校正引擎(未图示)。错误校正引擎用以在数据发生错误时,对所读取的数据进行错误校正(Error Correction;ECC),本发明不限于此。值得注意的是,在本发明的一实施例中,永久存储器164包括一软件或者固件用以致使运算单元162对要被存入页面的使用者数据进行编码,以产生使用者数据的校验码(Parity)。另外,在本发明中,永久存储器164包括的软件或者固件更用以致使运算单元162对某些页面的使用者数据的校验码进行编码,以产生相应于校验码数据的校验码。当所读取的数据具有错误位元时,控制器160可藉由校验码(Parity)对所储存的数据进行错误校正,以成功读取所储存的数据。另外,控制器160可根据一重复读取表对页面进行重复读取。详细而言,重复读取表可储存于快闪存储器180或者永久存储器164中,并且重复读取表用以储存不同的多读取电压。当控制起160无法用初始读取电压成功读取页面时,控制器160可根据重复读取表中所储存的不同的读取电压对同一页面进行重复读取,以获得正确的页面数据。

快闪存储器180包括多区块,每一区块包括多个页面。另外,快闪存储器180还包括彼此相邻的多条字元线与多位元线,其中每一字元线用以控制至少一页面,以选择所欲读取的页面。举例而言,当快闪存储器180为单阶储存单元(Single-Level Cell,SLC)时,一条字元线用以控制一个页面。当快闪存储器180为多阶储存单元(Multi-Level Cell,MLC)时,一条字元线用以控制一强页面LSB(strong page)以及一弱页面MSB(weak page)。当快闪存储器180为三阶储存单元(Triple-Level Cell,TLC)时,一条字元线用以控制一强页面LSB(strong page)、一中页面CSB(middle page)以及一弱页面MSB(weak page),但本发明不限于此。详细而言,当快闪存储器180为多阶储存单元时,快闪存储器180中由一条字元线所控制的一个页面可被程序化(program)为一个强页面LSB(strong page)以及一个弱页面MSB(weak page)。当快闪存储器180为三阶储存单元时,快闪存储器180中由一条字元线所控制的一个页面可被程序化(program)为一个强页面LSB(strong page)、一个中页面CSB(middle page)以及一个弱页面MSB(weak page)。

值得注意的是,当字元线没有关闭(close)时,被未关闭的字元线所控制的页面相较于关闭的字元线具有较高的错误位元。换言之,当被同一个字元线所控制的页面仅有一个或者两个被写入数据并且有至少一个页面没被写入数据时,具有数据的页面则不稳定具有较高的错误位元。因此,本发明提供一种数据维护方法以及数据储存装置140用以关闭开启的字元线以降低页面的错误位元。

详细而言,控制器160可根据一读取命令对页面中的一第一页面进行读取。当字元线中用以控制第一页面的一第一字元线没有关闭时,控制器160将一冗余数据(dummy data)写入第一字元线所控制的其他页面,其中冗余数据可为一既定的无效数据或者随机的数据,不具有任何意义。接着,控制器160还用以在将冗余数据写入第一字元线所控制的其他页面后,重新对第一页面进行读取。在第一页面被成功读取后,控制器160响应于读取命令将所读取的第一页面的数据传送至一主机120。在一实施例中,控制器160当第一页面无法被成功读取时,才进行将冗余数据写入第一字元线所控制的其他页面的步骤。举例而言,控制器160可在初始读取电压无法成功读取第一页面时,根据一重复读取表中的多读取电压对第一页面进行重复读取,并且在重复读取表中的所有读取电压皆无法成功读取第一页面时才进行将冗余数据写入第一字元线所控制的其他页面的步骤。

图2是本发明的一种实施例的快闪存储器的示意图。图2所示为多阶储存单元(Multi-Level Cell,MLC)的快闪存储器180。在本实施例中,快闪存储器180包括多区块B0~BN,并且每一区块具有多个页面P0~PM,其中页面P0、P2、P4…PM-1为强页面LSB,并且页面P1、P3、P5…PM为弱页面MSB。值得注意的是,被相同字元线所控制的页面不一定具有连续的地址。举例而言,数据依序地被写入区块B0的页面P0~P4并且页面P5~PM未被写入数据(program)时,字元线W0~W1是关闭的,而字元线W2~WN为未关闭(开启)的字元线。当控制器160根据读取命令对在未关闭的字元线W2上的页面P4进行读取并且页面P4无法被成功读取时,控制器160则用以将一冗余数据(dummy data)写入字元线W2所控制的其他页面P5,以关闭字元线W2。在控制器160将冗余数据写入字元线W2所控制的页面P5后,控制器160重新对字元线W2上的页面P4进行读取,并且当页面P4被成功读取时,控制器160将所读取的数据回传至主机120。在另一实施例中,在关闭字元线W2前当控制器160无法藉由初始读取电压成功读取页面P4时,控制器160可根据重复读取表中的多读取电压重复对页面P4进行读取。当重复读取表中的多读取电压皆无法成功读取页面P4后,控制器160才将冗余数据写入字元线W2所控制的其他页面P5,以关闭字元线W2。在字元线W2关闭之后,控制器160会先根据初始读取电压对页面P4进行读取。当在字元线W2关闭后初始读取电压仍无法成功读取页面P4时,控制器160亦可再次根据重复读取表中的多读取电压重复对在已关闭的字元线W2上的页面P4进行重复读取。当控制器160成功读取页面P4时,控制器将所读取的数据回传给主机120。当控制器160根据重复读取表中的读取电压皆无法成功读取在已关闭的字元线W2上的页面P4时,控制器160将页面P4标记为坏页(bad page)或者将页面P4所属的区块B0标记为坏区块(bad block)。在一实施例中,在冗余数据被写入区块B0中的页面P5后,控制器160则停止将数据写入区块B0。换言之,在冗余数据被写入区块B0中的面P5后,虽然区块B0中的页面P6~PM不具有有效数据,但控制器160不会再选择区块B0以将数据写入页面P6~PM。

图3是本发明的另一种实施例的快闪存储器的示意图。图3所示为三阶储存单元(Triple-Level Cell,TLC)的快闪存储器180。在本实施例中,快闪存储器180包括多区块B0~BN,并且每一区块具有多个页面P0~PM,其中页面P0、P3、P6…PM-2为强页面LSB,页面P1、P4、P7…PM-1为中页面CSB,并且页面P2、P5、P8…PM为弱页面MSB。同样地,被相同字元线所控制的页面不一定具有连续的地址。举例而言,数据依序地被写入区块B0的页面P0~P9并且页面P10~PM未被写入数据(program)时,字元线W0~W2是关闭的,而字元线W3~WN为未关闭(开启)的字元线。当控制器160根据读取命令对在未关闭的字元线W3上的页面P9进行读取并且页面P9无法被成功读取时,控制器160则用以将一冗余数据(dummy data)写入字元线W3所控制的其他页面P10以及P11,以关闭字元线W3。在控制器160将冗余数据写入字元线W3所控制的页面P10以及P11后,控制器160重新对字元线W3上的页面P9进行读取,并且当页面P9被成功读取时,控制器160将所读取的数据回传至主机120。在另一实施例中,在关闭字元线W3前当控制器160无法藉由初始读取电压成功读取页面P9时,控制器160可根据重复读取表中的多读取电压重复对页面P9进行读取。当重复读取表中的多读取电压皆无法成功读取页面P9后,控制器160才将冗余数据写入字元线W3所控制的其他页面P10以及P11,以关闭字元线W3。在字元线W3关闭之后,控制器160会先根据初始读取电压对页面P9进行读取。当在字元线W3关闭后初始读取电压仍无法成功读取页面P9时,控制器160亦可再次根据重复读取表中的多读取电压重复对在已关闭的字元线W3上的页面P9进行重复读取。当控制器160成功读取页面P9时,控制器将所读取的数据回传给主机120。当控制器160根据重复读取表中的读取电压皆无法成功读取在已关闭的字元线W3上的页面P9时,控制器160将页面P9标记为坏页(bad page)或者将页面P9所属的区块B0标记为坏区块(bad block)。在一实施例中,在冗余数据被写入区块B0中的页面P10以及P11后,控制器160则停止将数据写入区块B0。换言之,在冗余数据被写入区块B0中的页面P10以及P11后,虽然区块B0中的页面P12~PM不具有有效数据,但控制器160不会再选择区块B0以将数据写入页面P12~PM。在另一实施例中,举例而言,数据依序地被写入区块B0的页面P0~P7并且页面P8~PM未被写入数据(program)时,字元线W0~W1是关闭的,而字元线W2~WN为未关闭(开启)的字元线。当控制器160根据读取命令对在未关闭的字元线W2上的页面P6进行读取并且页面P6无法被成功读取时,控制器160则用以将一冗余数据(dummy data)写入字元线W2所控制的其他页面P8,以关闭字元线W2。在控制器160将冗余数据写入字元线W2所控制的页面P8后,控制器160重新对字元线W2上的页面P6进行读取,并且当页面P6被成功读取时,控制器160将所读取的数据回传至主机120。在另一实施例中,在关闭字元线W2前当控制器160无法藉由初始读取电压成功读取页面P6时,控制器160可根据重复读取表中的多读取电压重复对页面P6进行读取。当重复读取表中的多读取电压皆无法成功读取页面P6后,控制器160才将冗余数据写入字元线W2所控制的其他页面P6,以关闭字元线W2。在字元线W2关闭之后,控制器160会先根据初始读取电压对页面P6进行读取。当在字元线W2关闭后初始读取电压仍无法成功读取页面P6时,控制器160亦可再次根据重复读取表中的多读取电压重复对在已关闭的字元线W2上的页面P6进行重复读取。当控制器160成功读取页面P6时,控制器将所读取的数据回传给主机120。当控制器160根据重复读取表中的读取电压皆无法成功读取在已关闭的字元线W2上的页面P6时,控制器160将页面P6标记为坏页(bad page)或者将页面P6所属的区块B0标记为坏区块(bad block)。在一实施例中,在冗余数据被写入区块B0中的P8后,控制器160则停止将数据写入区块B0。换言之,在冗余数据被写入区块B0中的页面P8后,虽然区块B0中的页面P9~PM不具有有效数据,但控制器160不会再选择区块B0以将数据写入页面P9~PM。

图4是本发明的一种实施例的数据维护方法的流程图。数据维护方法,适用于图1所示的数据储存装置140。流程开始于步骤S400。

在步骤S400中,控制器160自主机120接收一读取命令,其中读取命令用以对快闪存储器180中的一第一页面进行读取的命令。

接着,在步骤S402中,控制器160根据读取命令对第一页面进行读取。

接着,在步骤S404中,控制器160判断第一页面是否被成功读取。换言之,控制器160判断自第一页面所读取的数据是否具有错误位元以及自第一页面所读取具有错误位元的数据在经由校验码校正后是否仍然存在错误位元。当第一页面不具有错误位元时,控制器160判断第一页面被成功读取。当第一页面被成功读取时,流程进行至步骤S416;否则,流程进行至步骤S406。

在步骤S406中,控制器160判断控制第一页面的一第一字元线是否关闭。当控制第一页面之第一字元线关闭时,流程进行至步骤S414;否则,流程进行至步骤S408。

接着,在步骤S408中,控制器160将一冗余数据(dummy data)写入第一字元线所控制的其他页面,以关闭第一字元线。

接着,在步骤S410中,控制器160重新读取第一页面。

接着,在步骤S412中,控制器160判断第一页面是否被成功读取。换言之,控制器160判断自第一页面所读取的数据是否具有错误位元以及自第一页面所读取具有错误位元的数据在经由校验码校正后是否仍然存在错误位元。当第一页面不具有错误位元时,控制器160判断第一页面被成功读取。当第一页面被成功读取时,流程进行至步骤S416;否则,流程进行至步骤S414。

在步骤S414中,控制器160将第一页面标记为坏页或者将第一页面所属的一第一区块标记为坏区块。在一实施例中,控制器160亦可舍弃第一页面的数据并且将第一页面所属的区块中的其他数据搬移至另一区块。流程结束于步骤S414。

在步骤S416中,控制器160响应于在步骤S400中所接收的读取命令将成功读取的第一页面的数据传送至主机120。流程结束于步骤S416。

图5是本发明的一种实施例的数据维护方法的流程图。数据维护方法,适用于图1所示的数据储存装置140。流程开始于步骤S500。

在步骤S500中,控制器160自主机120接收一读取命令,其中读取命令用以对快闪存储器180中的一第一页面进行读取的命令。

接着,在步骤S502中,控制器160根据读取命令,使用一初始读取电压对第一页面进行读取。

接着,在步骤S504中,控制器160判断第一页面是否被成功读取。换言之,控制器160判断自第一页面所读取的数据是否具有错误位元以及自第一页面所读取具有错误位元的数据在经由校验码校正后是否仍然存在错误位元。当第一页面不具有错误位元时,控制器160判断第一页面被成功读取。当第一页面被成功读取时,流程进行至步骤S528;否则,流程进行至步骤S506。

在步骤S506中,控制器160自重复读取表中选取一读取电压,以设定一重复读取电压。

接着,在步骤S508中,控制器160使用所设定的重复读取电压对第一页面进行读取。

接着,在步骤S510中,控制器160判断第一页面是否被成功读取。换言之,控制器160判断自第一页面所读取的数据是否具有错误位元以及自第一页面所读取具有错误位元的数据在经由校验码校正后是否仍然存在错误位元。当第一页面不具有错误位元时,控制器160判断第一页面被成功读取。当第一页面被成功读取时,流程进行至步骤S528;否则,流程进行至步骤S511。

在步骤S511中,控制器160判断是否所有重复读取表中的读取电压皆使用过以读取第一页面。当重复读取表中的读取电压皆使用过时,流程进行至步骤S512;否则,流程回到步骤S506,控制器160继续选取重复读取标中的下一个数值以设定重复读取电压。

在步骤S512中,控制器160判断控制第一页的一第一字元线是否关闭。当控制第一页面的第一字元线关闭时,流程进行至步骤S526;否则,流程进行至步骤S514。

接着,在步骤S514中,控制器160将一冗余数据(dummy data)写入第一字元线所控制的其他页面,以关闭第一字元线。

接着,在步骤S516中,控制器160使用初始读取电压重新读取第一页面。

接着,在步骤S518中,控制器160判断第一页面是否被成功读取。换言之,控制器160判断自第一页面所读取的数据是否具有错误位元以及自第一页面所读取具有错误位元的数据在经由校验码校正后是否仍然存在错误位元。当第一页面不具有错误位元时,控制器160判断第一页面被成功读取。当第一页面被成功读取时,流程进行至步骤S528;否则,流程进行至步骤S520。

在步骤S520中,控制器160自重复读取表中选取一读取电压,以设定一重复读取电压。

接着,在步骤S522中,控制器160使用所设定的重复读取电压对第一页面进行读取。

接着,在步骤S524中,控制器160判断第一页面是否被成功读取。换言之,控制器160判断自第一页面所读取的数据是否具有错误位元以及自第一页面所读取具有错误位元的数据在经由校验码校正后是否仍然存在错误位元。当第一页面不具有错误位元时,控制器160判断第一页面被成功读取。当第一页面被成功读取时,流程进行至步骤S528;否则,流程进行至步骤S525。

在步骤S525中,控制器160判断是否所有重复读取表中的读取电压皆使用过以读取第一页面。当重复读取表中的读取电压皆使用过时,流程进行至步骤S526;否则,流程回到步骤S520,控制器160继续选取重复读取标中的下一个数值以设定重复读取电压。

在步骤S526中,控制器160将第一页面标记为坏页或者将第一页面所属的一第一区块标记为坏区块。在一实施例中,控制器160亦可舍弃第一页面的数据并且将第一页面所属的区块中的其他数据搬移至另一区块。流程结束于步骤S526。

在步骤S528中,控制器160响应于在步骤S500中所接收的读取命令将成功读取的第一页面的数据传送至主机120。流程结束于步骤S528。

本发明所提供的数据储存装置140以及数据维护方法,可藉由关闭字元线减少页面的错误位元数,以成功读取页面中的数据。

本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。

以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭示的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

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