CN109388518A - 数据写入方法 - Google Patents

数据写入方法 Download PDF

Info

Publication number
CN109388518A
CN109388518A CN201810908650.4A CN201810908650A CN109388518A CN 109388518 A CN109388518 A CN 109388518A CN 201810908650 A CN201810908650 A CN 201810908650A CN 109388518 A CN109388518 A CN 109388518A
Authority
CN
China
Prior art keywords
code word
writing
data
written
memory array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810908650.4A
Other languages
English (en)
Other versions
CN109388518B (zh
Inventor
林纪舜
谢明辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Winbond Electronics Corp filed Critical Winbond Electronics Corp
Publication of CN109388518A publication Critical patent/CN109388518A/zh
Application granted granted Critical
Publication of CN109388518B publication Critical patent/CN109388518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种数据写入方法包括:对数据进行编码以产生码字;根据第一写入条件将码字写入到存储器阵列中;及执行验证操作。执行验证操作的步骤包括:从存储器阵列读取码字;将所读取的码字与所述码字进行比较并获得所读取的码字的错误位数目;将所读取的码字解码以产生经解码数据;将经解码数据与所述数据进行比较;及如果相同,则将所读取的码字的错误位数目与通过阈值进行比较。如果所读取的码字的错误位数目大于通过阈值,则根据第二写入条件将所述码字写入到存储器阵列中,所述第二写入条件不同于第一写入条件。

Description

数据写入方法
技术领域
本发明涉及一种存储器存储装置,且更具体来说涉及一种存储器存储装置的数据写入方法。
背景技术
一般来说,将写入到可重写非易失性存储器(non-volatile memory,NVM)的数据可根据错误修正码(error correcting code,ECC)来进行编码。由于存储器单元的缺陷或关于写入经编码数据方面的其他影响因素,经编码数据可能无法被正确地写入到NVM中。为确保经编码数据在被写入到NVM中之后的有效性,可再次读取被写入NVM中的经编码数据以进行验证。如果所读取的经编码数据中存在一个或多个错误位,则可再次写入原始的经编码数据,直到通过验证。
当存在卡死位(stuck bit)时,经编码数据可能被多次地写入且因此造成较长的写入时间。在一些情形中,当被多次地施加写入电压时,正确位可能翻转或反转而变为错误位。此外,位的剩余寿命可能与所述位的写入次数呈负相关。因此,如何提供高效的写入方案来改善写入时间及功率、以及降低施加在存储器单元上的不必要的写入电压,以提高可靠性是所属领域中的技术人员所面临的主要课题之一。
发明内容
本发明涉及一种数据写入方法,通过采用所述数据写入方法,平均写入时间可减少,因而系统效率可提高。
本发明的示例性实施例提供一种用于写入数据的数据写入方法。所述数据写入方法适合于采用错误修正码方案的存储器控制器且包括:对所述数据进行编码以产生码字;根据第一写入条件将所述码字写入到存储器阵列中;以及执行验证操作。所述执行所述验证操作的步骤包括:从所述存储器阵列读取所述码字;将所读取的码字与所述码字进行比较并获得所述所读取的码字的错误位数目;由错误修正码解码器将所述所读取的码字解码以产生经解码数据;将所述经解码数据与所述数据进行比较;以及如果所述经解码数据与所述数据相同,则将所述所读取的码字的所述错误位数目与通过阈值进行比较。如果所述所读取的码字的所述错误位数目大于所述通过阈值,则所述数据写入方法进一步包括根据第二写入条件将所述码字写入到所述存储器阵列中,其中所述第二写入条件不同于所述第一写入条件。
基于以上内容,通过采用本发明中所提供的数据写入方法,数据被编码成码字且所述码字随后被读取以验证所读取的码字中是否存在过多的错误位。如果未通过验证操作,则可使用与原始写入条件不同的另一写入条件来再次写入码字。因此,可根据另一写入条件通过进行码字的另一写入来修正所读取的码字的错误位。因此,平均写入时间可减少,因而系统效率可提高。
为了使本发明的以上特征及优点更易于理解,以下详细阐述附图的若干实施例。
附图说明
为提供对本发明的进一步理解,在本说明书中包含附图,所述附图并入本说明书中并构成本说明书的一部分。所述附图示出本发明的实施例并与本说明一起用于阐释本发明的原理。
图1是说明根据本发明实施例的存储器存储装置的方块图;
图2是说明根据本发明实施例的数据写入方法的流程图;
图3是说明根据本发明实施例的数据写入方法的示意图;
图4是说明根据本发明实施例的数据写入方法的流程图;
图5是说明根据本发明实施例的数据写入方法的流程图;
图6是说明根据本发明实施例的数据写入方法的流程图。
附图标号说明:
100:存储器存储装置
110:主机接口
130:存储器阵列
150:存储器控制器
151:ECC编码器
153:ECC解码器
155:控制电路
D1:数据
D2:码字
D3:所读取的码字
D4:经解码数据
n_e:错误位数目
n_o、n_o’:重复次数
th_1:第一阈值
th_2:第二阈值
th_3:第三阈值
th_p:通过阈值
S210、S220、S230、S231、S232、S233、S234、S235、S240、S250、S410、S420、S430、S431、S432、S433、S434、S435、S440、S450、S460、S510、S520、S530、S531、S532、S533、S534、S535、S540、S550、S560、S610、S620、S630、S631、S632、S633、S634、S635、S640、S650、S660、S670:步骤
具体实施方式
现将详细参照本发明的当前优选实施例,所述优选实施例的实例示出在附图中。尽可能地,在附图及说明中使用相同的参考编号指代相同或相似的部件。
图1是说明根据本发明实施例的存储器存储装置的方块图。参照图1,存储器存储装置100包括主机接口110、存储器阵列130、及存储器控制器150。存储器控制器150耦合到主机接口110及存储器阵列130。在本实施例中,存储器存储装置100是用于存储数据及由主机系统存取的非易失性存储器。
主机接口110耦合到存储器控制器150且被配置成耦合到主机系统。在本实施例中,主机接口110耦合到主机系统以在所述主机系统与存储器控制器150之间建立通信。在本实施例中,主机接口110可与常用闪速存储器接口(common flash memory interface,CFI)标准兼容,但本发明并不仅限于此。在其他实施例中,主机接口110可与以下标准兼容:串行高级技术附接(serial advanced technology attachment,SATA)标准、周边组件快速互连(peripheral component interconnect Express,PCI-E)接口标准、通用串行总线(universal serial bus,USB)标准、集成装置电子设备(integrated deviceelectronics,IDE)接口标准、或其他适合的标准。
存储器阵列130耦合到存储器控制器150且包括多个存储器单元。在本实施例中,存储器阵列130被配置成存储数据且由主机系统及存储器控制器150来读取及写入。
存储器控制器150耦合到主机接口110及存储器阵列130。在本实施例中,存储器控制器150包括ECC编码器151、ECC解码器153以及控制电路155。ECC编码器151与ECC解码器153二者采用BCH 3位ECC方案(BCH 3-bits ECC scheme),但本发明并不仅限于此。在本实施例中,存储器控制器150从主机系统接收将数据写入存储器阵列130中的写入命令。存储器控制器150可执行本发明中所介绍的数据写入方法来正确地及有效地写入数据。应注意,存储器控制器150可以硬件或固件的形式来实作,且负责管理存储器存储装置100的总体操作。
图2说明根据本发明实施例的数据写入方法的流程图。图3说明根据本发明实施例的数据写入方法的示意图。可由图1所示实施例的存储器存储装置100来执行数据写入方法。因此,在本实施例中,可通过参照前述存储器存储装置100来说明数据写入方法。
在本实施例中,存储器存储装置100采用BCH 3位ECC方案,但本发明并不仅限于此。举例来说,当主机系统向存储器控制器150发出读取命令时,存储器控制器150可根据所述读取命令从存储器阵列130获取数据。为了正确地返送所读取的数据,存储器控制器150可首先检测及修正由主机系统所读取的数据的错误位。在本实施例中,存储器控制器150可在读取操作中对于预定数据长度检测及修正至多三个错误位,此意味着存储器存储装置100可容忍被写入且存储在存储器阵列130中的数据中存在至多三个错误位。
参照图2,在本实施例中,存储器控制器150可从主机系统接收写入命令而用于写入数据。响应于写入命令,存储器控制器150可首先对数据进行编码以产生码字(S210),接着根据第一写入条件将所述码字写入到存储器阵列130中(S220)。为正确地写入数据,存储器控制器150执行验证操作以验证写入操作是否是可接受的(S230)。具体来说,如果写入到存储器阵列130中的码字与从存储器阵列130读取的码字之间的不同位的数目足够小,则写入操作是可接受的。如果通过验证测试,则存储器控制器150可确定数据被成功地且完全地写入到存储器阵列130中。如果未通过验证操作,则存储器控制器150可依据验证结果至少执行另一写入操作,以使数据被正确地写入存储器阵列130中或使存储在存储器阵列130中的数据可被正确地读取。以下将搭配图3阐述其细节。
在本实施例中,存储器控制器150对32位的数据D1进行编码以产生50位的码字D2。因此,ECC编码器151的输入是32位的数据D1。存储器控制器150的ECC编码器151可对数据D1进行编码并产生码字D2作为ECC编码器151的输出,其中码字D2可由32位的所述数据与18位的奇偶校验位(parity bit)或检验位(check bit)组成。随后,存储器控制器150根据第一写入条件将码字D2写入到存储器阵列130中。举例来说,存储器控制器150可以第一写入脉冲持续时间施加第一写入电压以将码字D2写入到存储器阵列130中。然而,应注意,码字D2可能因存储器单元的缺陷、存储器阵列130的卡死位、或任何其他原因而无法被正确地写入。为确保数据D1或码字D2被成功地或正确地写入,将执行验证操作。在本实施例中,验证操作总是在已将码字写入到存储器阵列130中之后执行。以下说明验证操作的细节。
存储器控制器150从存储器阵列130读取在上一次写入操作中所写入的码字(S231),将所读取的码字与所述码字进行比较并获得所读取的码字的错误位数目n_e(S232)。随后,存储器控制器150可通过ECC解码器153将所读取的码字解码以产生经解码数据(S233),且将经解码数据与所述数据进行比较以判断经解码数据是否与所述数据相同(S234)。如果经解码数据与所述数据不同(此意味着所读取的码字的错误严重到无法被ECC解码器153修正),则存储器控制器150将再次将码字写入到存储器阵列130中(S220)且再次执行验证操作(S230)。否则,存储器控制器150将会将所读取的码字的错误位数目n_e与通过阈值th_p进行比较以判断是否通过验证操作(S235)。如果所读取的码字的错误位数目n_e不大于通过阈值th_p,则存储器控制器150将确定通过验证操作(S240)且响应于写入命令的写入操作完成。否则,存储器控制器150将根据另一写入条件(即,第二写入条件)将码字写入到存储器阵列130中(S250)且响应于写入命令的写入操作完成。
如图3中所示,所读取的码字D3的大小是50位且所读取的码字D3可被解码以产生32位的经解码数据D4。在本实施例中,将所读取的码字D3与码字D2进行比较以获得所读取的码字D3的错误位数目n_e,且将经解码数据D4与数据D1进行比较以检验经解码数据D4的正确性。
应注意,本实施例中采用BCH 3位ECC方案,因此存储器控制器150能够修正从存储器阵列130读取的数据中的至多三个错误位。因此,可将通过阈值th_p设定成不超过BCH 3位ECC方案的容量。在本实施例中,如果所读取的码字的错误位数目n_e不大于通过阈值th_p(例如,零),则确定存储器控制器150通过验证操作。当通过验证操作时,确定数据被成功地且完全地写入到存储器阵列130中,因此存储器控制器150完成对所述数据的写入。另一方面,如果所读取的码字的错误位数目n_e大于通过阈值th_p,则表示未通过验证测试,且存储器控制器将再次、但根据第二写入条件将码字写入到存储器阵列130中。
应注意,在本实施例中,第二写入条件具有从以下中的一个或其组合选出的性质:第二写入电压高于第一写入条件的第一写入电压;第二写入脉冲持续时间长于第一写入条件的第一写入脉冲持续时间;以及对应于所读取的码字的至少一个错误位的相反极性写入。
因此,通过采用所介绍的数据写入方法,所读取的码字中存在的少量错误位可能通过根据第二写入条件再次写入码字而得到修正。
图4说明根据本发明实施例的数据写入方法的流程图。可由图1所示实施例的存储器存储装置100来执行数据写入方法。因此,在本实施例中,可通过参照前述存储器存储装置100来说明数据写入方法。
本实施例与图2所示实施例之间的不同在于在根据第二写入条件写入码字之后,响应于写入命令的写入操作并不会完成。在本实施例中,重复地根据第二写入条件写入码字,直到通过验证操作。另外,存储器控制器可根据第二写入条件选择性地限制重复次数及改变写入码字的条件。使用在根据第二写入条件写入码字的步骤之后执行的验证操作,可判断所读取的码字是否具有卡死位。此外,通过限制所述根据第二写入条件写入码字的步骤的重复次数,可在所述重复次数达到限制值且通过执行根据第二写入条件进行的写入步骤仍未能恢复卡死位时终止数据写入方法。因此,将不会在难以恢复的卡死位上浪费写入时间。并且,数据写入方法可实现更高的效率。
参照图4,步骤S410、S420、S431、S432、S433、S434、S440、及S450分别与步骤S210、S220、S231、S232、S233、S234、S240、及S250相似,因此本文中不再对其予以赘述。在本实施例中,在确定经解码数据与所述数据相同之后,不仅将所读取的码字的错误位数目n_e与通过阈值th_p(例如,零)进行比较,而且还将所读取的码字的错误位数目n_e与比通过阈值th_p大的第一阈值th_1(例如,一)进行比较(S435)。第一阈值不超过由存储器控制器采用的用于读取数据的ECC方案的容量。如果所读取的码字的错误位数目n_e不大于通过阈值th_p,则存储器控制器150将确定通过验证操作(S440)且响应于写入命令的写入操作完成。如果未通过验证操作且所读取的码字的错误位数目n_e大于第一阈值th_1,则存储器控制器150将再次根据第一写入条件将码字写入到存储器阵列130中(S420),且再次执行验证操作(S430)。
如果未通过验证操作且所读取的码字的错误位数目n_e不大于第一阈值th_1,则存储器控制器150将重复地根据第二写入条件将码字写入到存储器阵列130中,直到重复次数n_o超过第二阈值th_2(例如,五)。具体来说,存储器控制器150可记录根据第二写入条件写入的码字的重复次数n_o。当未通过验证操作且所读取的码字的错误位数目n_e被确定为不大于第一阈值th_1时,存储器控制器150将会将重复次数n_o与第二阈值th_2进行比较(S460)。如果重复次数n_o不超过第二阈值th_2,则存储器控制器150将根据第二写入条件将码字写入到存储器阵列130中(S450),再次执行验证操作(S430),且重复次数n_o将增加一。否则,存储器控制器150完成对数据的写入。
在一些实施例中,当经解码数据与所述数据相同但未通过验证操作时,存储器控制器150可根据所读取的码字的错误位数目n_e使用不同的写入条件再次写入码字。以下说明示例性实施例。
图5说明根据本发明实施例的数据写入方法的流程图。可由图1所示实施例的存储器存储装置100来执行数据写入方法。因此,在本实施例中,可通过参照前述存储器存储装置100来说明数据写入方法。参照图5,步骤S510、S520、S531、S532、S533、S534、S540、及S550分别与步骤S410、S420、S431、S432、S433、S434、S440、及S450相似,因此本文中不再对其予以赘述。在本实施例中,存储器控制器150将所读取的码字的错误位数目n_e与通过阈值th_p及第一阈值th_1进行比较(S535),且如图4所示实施例中一样,如果错误位数目n_e不大于通过阈值th_p,则确定通过验证操作(S540)。然而,如果未通过验证操作且错误位数目n_e大于第一阈值th_1,则存储器控制器150会根据第三写入条件而非第一写入条件将码字写入到存储器阵列130中(S560)。如果未通过验证操作且错误位数目n_e不大于第一阈值th_1,则存储器控制器150会根据第二写入条件将码字写入到存储器阵列130中(S550)。在本实施例中,无论所使用的写入条件如何,总是在将码字写入到存储器阵列130中之后执行验证操作(S530)。
应注意,在本实施例中,第三写入条件具有从以下中的一个或其组合选出的性质:第三写入电压高于第二写入条件的第二写入电压;第三写入脉冲持续时间长于第二写入条件的第二写入脉冲持续时间;以及对应于所读取的码字的至少一个错误位的相反极性写入。
还应注意,可通过与图4所示实施例中所教示的方式相似的方式,限制根据第二写入条件或第三写入条件将码字写入到存储器阵列130中的重复次数,以下说明示例性实施例。
图6说明根据本发明实施例的数据写入方法的流程图。可由图1所示实施例的存储器存储装置100来执行数据写入方法。因此,在本实施例中,可通过参照前述存储器存储装置100来说明数据写入方法。参照图6,步骤S610、S620、S631、S632、S633、S634、S635、S640、S650、及S660分别与步骤S510、S520、S531、S532、S533、S534、S535、S540、S550、及S560相似,因此本文中不再对其予以赘述。本实施例与图5所示实施例之间的唯一不同在于根据第三写入条件写入码字的重复次数有限,因此本实施例具有额外的步骤S670。
在本实施例中,如果未通过验证操作且所读取的码字的错误位数目n_e大于第一阈值th_1,则存储器控制器150将重复地根据第三写入条件将码字写入到存储器阵列130中,直到重复次数n_o’超过第三阈值th_3(例如,三)。具体来说,存储器控制器150可记录根据第三写入条件写入码字的重复次数n_o’。当未通过验证操作且所读取的码字的错误位数目n_e被确定为大于第一阈值th_1时,存储器控制器150将会将重复次数n_o’与第三阈值th_3进行比较(S670)。如果重复次数n_o’不超过第三阈值th_3,则存储器控制器150将根据第三写入条件将码字写入到存储器阵列130中(S660),再次执行验证操作(S630),且重复次数n_o’将增加一。另一方面,如果未通过验证操作且所读取的码字的错误位数目n_e不大于第一阈值th_1,则存储器控制器150将根据第二写入条件将码字写入到存储器阵列130中(S650)且再次执行验证操作(S630)。否则,存储器控制器150完成对数据的写入。在一些实施例中,可通过相似的方式限制根据第二写入条件写入码字的重复次数,本文中不再对其予以赘述。
应注意,在每一验证操作中用于读取码字的感测基准可总是相同或可不总是相同。在一个实施例中,这些感测基准总是相同。在另一实施例中,感测基准与上一次用于将码字写入到存储器阵列130中的写入条件相关联。举例来说,对于在根据第一写入条件将码字写入到存储器阵列130中的步骤之后执行的验证操作,存储器控制器150使用第一感测基准从存储器阵列130读取码字,而对于在根据第二写入条件将码字写入到存储器阵列130中的步骤之后执行的验证操作,则使用第二感测基准从存储器阵列130读取码字。第二感测基准不同于第一感测基准。举例来说,第一感测基准可为第一电压基准且第二感测基准可为比第一电压基准低的第二电压基准。然而,本发明并不限于本文中所述内容,感测基准也可为电流基准。
综上所述,通过采用本发明中所提供的数据写入方法,数据被编码成码字且所述码字随后被读取以验证所读取的码字中是否存在过多的错误位。如果未通过验证操作,则可使用与原始写入条件(即,第一写入条件)不同的另一写入条件来再次写入码字。因此,可根据另一写入条件通过进行码字的另一写入来修正所读取的码字的错误位。在一些实施例中,可使用另一写入条件在写入操作循环中处置所读取的码字的错误位,因此在本发明的实施例中,无论所述错误位是否是卡死位,所述错误位均可被恰当地且高效地处置。如此一来,平均写入时间可减少,因而系统效率可提高。
对于所属领域中的技术人员来说,在不背离本发明的范围或精神的条件下,可对本发明的结构作出各种润饰及变化。根据上述内容,意欲使本发明涵盖本发明的润饰及变化,只要其落于以上权利要求及其等效形式的范围内即可。

Claims (10)

1.一种数据写入方法,适合于采用错误修正码方案的存储器控制器而用于写入数据,其特征在于,包括:
对所述数据进行编码以产生码字;
根据第一写入条件将所述码字写入到存储器阵列中;
执行验证操作,包括:
从所述存储器阵列读取所述码字;
将所读取的码字与所述码字进行比较并获得所述所读取的码字的错误位数目;
由错误修正码解码器将所述所读取的码字解码以产生经解码数据;
将所述经解码数据与所述数据进行比较;以及
如果所述经解码数据与所述数据相同,则将所述所读取的码字的所述错误位数目与通过阈值进行比较;以及
如果所述所读取的码字的所述错误位数目大于所述通过阈值,则根据第二写入条件将所述码字写入到所述存储器阵列中,其中所述第二写入条件不同于所述第一写入条件。
2.根据权利要求1所述的数据写入方法,其特征在于,如果所述经解码数据不与所述数据相同,则所述数据写入方法进一步包括:
再次根据所述第一写入条件将所述码字写入到所述存储器阵列中;以及再次执行所述验证操作。
3.根据权利要求1所述的数据写入方法,其特征在于,所述如果所述经解码数据与所述数据相同,则将所述所读取的码字的所述错误位数目与所述通过阈值进行比较的步骤进一步包括:
将所述所读取的码字的所述错误位数目与比所述通过阈值大的第一阈值进行比较,
其中如果所述所读取的码字的所述错误位数目大于所述通过阈值且小于或等于所述第一阈值,则执行所述根据所述第二写入条件将所述码字写入到所述存储器阵列中的步骤,
其中所述第一阈值不超过所述存储器控制器用于读取数据所采用的所述错误修正码方案的容量。
4.根据权利要求3所述的数据写入方法,其特征在于,如果所述所读取的码字的所述错误位数目大于所述第一阈值,则所述数据写入方法进一步包括:
再次根据所述第一写入条件将所述码字写入到所述存储器阵列中;以及再次执行所述验证操作。
5.根据权利要求3所述的数据写入方法,其特征在于,进一步包括:
再次执行所述验证操作;以及
如果所述所读取的码字的所述错误位数目大于所述通过阈值且小于或等于所述第一阈值,则重复所述根据所述第二写入条件将所述码字写入到所述存储器阵列中的步骤及所述执行所述验证操作的步骤,直到重复次数超过第二阈值。
6.根据权利要求3所述的数据写入方法,其特征在于,如果所述所读取的码字的所述错误位数目大于所述第一阈值,则所述数据写入方法进一步包括:
根据第三写入条件将所述码字写入到所述存储器阵列中;以及
再次执行所述验证操作;
其中所述第三写入条件不同于所述第二写入条件及所述第一写入条件。
7.根据权利要求1所述的数据写入方法,其特征在于,如果所述所读取的码字的所述错误位数目不大于所述通过阈值,则确定通过所述验证操作。
8.根据权利要求5所述的数据写入方法,其特征在于,在所述根据所述第一写入条件将所述码字写入到所述存储器阵列中的步骤之后执行的所述验证操作使用第一感测基准从所述存储器阵列读取所述码字,且在所述根据所述第二写入条件将所述码字写入到所述存储器阵列中的步骤之后执行的所述验证操作使用第二感测基准从所述存储器阵列读取所述码字,其中所述第二感测基准不同于所述第一感测基准。
9.根据权利要求1所述的数据写入方法,其特征在于,所述第二写入条件具有从以下中的一个或其组合选出的性质:
写入电压高于所述第一写入条件的写入电压,
写入脉冲持续时间长于所述第一写入条件的写入脉冲持续时间,以及
对应于所述所读取的码字的至少一个错误位的相反极性写入。
10.根据权利要求6所述的数据写入方法,其特征在于,进一步包括:
如果所述所读取的码字的所述错误位数目大于所述第一阈值,则重复所述根据所述第三写入条件将所述码字写入到所述存储器阵列中的步骤以及所述执行所述验证操作的步骤,直到所述重复次数超过第三阈值。
CN201810908650.4A 2017-08-11 2018-08-10 数据写入方法 Active CN109388518B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/674,520 2017-08-11
US15/674,520 US10417086B2 (en) 2017-08-11 2017-08-11 Data write method and memory storage device using the same

Publications (2)

Publication Number Publication Date
CN109388518A true CN109388518A (zh) 2019-02-26
CN109388518B CN109388518B (zh) 2022-05-31

Family

ID=65274124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810908650.4A Active CN109388518B (zh) 2017-08-11 2018-08-10 数据写入方法

Country Status (3)

Country Link
US (1) US10417086B2 (zh)
CN (1) CN109388518B (zh)
TW (1) TWI665680B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112051966A (zh) * 2019-06-05 2020-12-08 西部数据技术公司 对第一读取的读取干扰的系统处理
CN112151104A (zh) * 2019-06-28 2020-12-29 华邦电子股份有限公司 存储器存放装置及其动态数据修复的方法
CN112540866A (zh) * 2019-09-20 2021-03-23 华邦电子股份有限公司 存储器装置及其数据存取方法
CN113900579A (zh) * 2020-06-22 2022-01-07 旺宏电子股份有限公司 存储器装置及其写入方法
CN114616624A (zh) * 2019-09-24 2022-06-10 美光科技公司 用于存储器的压印管理

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的系统和方法
KR20200016606A (ko) * 2018-08-07 2020-02-17 삼성전자주식회사 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 시스템
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11062077B1 (en) * 2019-06-24 2021-07-13 Amazon Technologies, Inc. Bit-reduced verification for memory arrays
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
TWI755764B (zh) * 2020-06-22 2022-02-21 旺宏電子股份有限公司 記憶體裝置及其寫入方法
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11443828B1 (en) 2021-04-26 2022-09-13 Micron Technology, Inc. Read threshold adjustment techniques for memory
US11476874B1 (en) * 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11606104B1 (en) * 2021-12-08 2023-03-14 Amazon Technologies, Inc. Data integrity protection

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040225943A1 (en) * 2003-05-09 2004-11-11 Brueggen Christopher M. Systems and methods for providing error correction code testing functionality
US20080163033A1 (en) * 2006-12-29 2008-07-03 Samsung Electronics Co., Ltd. Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit
CN101477481A (zh) * 2009-02-06 2009-07-08 中国科学院计算技术研究所 一种自动纠错系统及方法
CN101937725A (zh) * 2009-06-30 2011-01-05 恒忆有限责任公司 比特错误阈值和内容可寻址存储器以寻址重映射存储装置
CN102073563A (zh) * 2011-02-23 2011-05-25 深圳市江波龙电子有限公司 闪存设备、闪存设备中存储块的管理方法及系统
CN102820063A (zh) * 2011-06-09 2012-12-12 夏普株式会社 半导体存储装置
CN103699491A (zh) * 2012-09-28 2014-04-02 群联电子股份有限公司 数据储存方法、存储器控制器与存储器储存装置
US20140164873A1 (en) * 2012-12-12 2014-06-12 HGST Netherlands B.V. Techniques For Storing Bits in Memory Cells Having Stuck-at Faults
CN104217762A (zh) * 2013-05-31 2014-12-17 慧荣科技股份有限公司 数据储存装置及其错误校正方法以及数据读取方法
CN105719696A (zh) * 2014-12-18 2016-06-29 爱思开海力士有限公司 存储系统的操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822338A (en) * 1998-01-28 1998-10-13 International Business Machines Corporation ECC-compare path of cache directory logic improvements
US7398449B1 (en) * 2004-06-16 2008-07-08 Azul Systems, Inc. Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module
US7779334B2 (en) * 2006-06-26 2010-08-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory having an ECC system
TW200826108A (en) * 2006-12-06 2008-06-16 Key Technology Corp Method of improving error correction ability of error correction code (ECC) module
US8583986B2 (en) 2008-12-17 2013-11-12 Seagate Technology Llc Solid-state memory with error correction coding
KR101015655B1 (ko) 2009-05-29 2011-02-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 구동 방법
JP5204825B2 (ja) * 2010-09-17 2013-06-05 シャープ株式会社 半導体記憶装置
US8719677B2 (en) * 2011-12-22 2014-05-06 Sandisk Technologies Inc. Using ECC encoding to verify an ECC decode operation
US8711646B2 (en) * 2012-05-08 2014-04-29 Samsung Electronics Co., Ltd. Architecture, system and method for testing resistive type memory
US9740557B2 (en) * 2014-02-25 2017-08-22 Imagination Technologies Limited Pipelined ECC-protected memory access
US10593398B2 (en) * 2016-09-13 2020-03-17 Toshiba Memory Corporation Semiconductor storage device including a controller configured to execute a first write and a second write

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040225943A1 (en) * 2003-05-09 2004-11-11 Brueggen Christopher M. Systems and methods for providing error correction code testing functionality
US20080163033A1 (en) * 2006-12-29 2008-07-03 Samsung Electronics Co., Ltd. Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit
CN101477481A (zh) * 2009-02-06 2009-07-08 中国科学院计算技术研究所 一种自动纠错系统及方法
CN101937725A (zh) * 2009-06-30 2011-01-05 恒忆有限责任公司 比特错误阈值和内容可寻址存储器以寻址重映射存储装置
CN102073563A (zh) * 2011-02-23 2011-05-25 深圳市江波龙电子有限公司 闪存设备、闪存设备中存储块的管理方法及系统
CN102820063A (zh) * 2011-06-09 2012-12-12 夏普株式会社 半导体存储装置
CN103699491A (zh) * 2012-09-28 2014-04-02 群联电子股份有限公司 数据储存方法、存储器控制器与存储器储存装置
US20140164873A1 (en) * 2012-12-12 2014-06-12 HGST Netherlands B.V. Techniques For Storing Bits in Memory Cells Having Stuck-at Faults
CN104217762A (zh) * 2013-05-31 2014-12-17 慧荣科技股份有限公司 数据储存装置及其错误校正方法以及数据读取方法
CN105719696A (zh) * 2014-12-18 2016-06-29 爱思开海力士有限公司 存储系统的操作方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112051966A (zh) * 2019-06-05 2020-12-08 西部数据技术公司 对第一读取的读取干扰的系统处理
CN112151104A (zh) * 2019-06-28 2020-12-29 华邦电子股份有限公司 存储器存放装置及其动态数据修复的方法
CN112151104B (zh) * 2019-06-28 2023-08-15 华邦电子股份有限公司 存储器存放装置及其动态数据修复的方法
CN112540866A (zh) * 2019-09-20 2021-03-23 华邦电子股份有限公司 存储器装置及其数据存取方法
CN112540866B (zh) * 2019-09-20 2024-01-23 华邦电子股份有限公司 存储器装置及其数据存取方法
CN114616624A (zh) * 2019-09-24 2022-06-10 美光科技公司 用于存储器的压印管理
US11631473B2 (en) 2019-09-24 2023-04-18 Micron Technology, Inc. Imprint management for memory
CN113900579A (zh) * 2020-06-22 2022-01-07 旺宏电子股份有限公司 存储器装置及其写入方法

Also Published As

Publication number Publication date
TW201911329A (zh) 2019-03-16
US10417086B2 (en) 2019-09-17
TWI665680B (zh) 2019-07-11
CN109388518B (zh) 2022-05-31
US20190050285A1 (en) 2019-02-14

Similar Documents

Publication Publication Date Title
CN109388518A (zh) 数据写入方法
KR101576102B1 (ko) 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치
US9239758B2 (en) Semiconductor storage device, method for controlling the same and control program
US9037946B2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
TWI574277B (zh) 記憶體裝置中之錯誤校正操作
US7672162B2 (en) Non-volatile memory device, memory system, and LSB read method
US10067824B2 (en) Error processing method, memory storage device and memory controlling circuit unit
US20150085571A1 (en) Updating read voltages
CN105788648B (zh) 基于异构混合内存的nvm坏块识别处理及纠错方法和系统
US20150358036A1 (en) Decoding method, memory storage device and memory control circuit unit
US9514848B2 (en) Solid state drive and associated error check and correction method
CN111415692B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
US8966344B2 (en) Data protecting method, memory controller and memory storage device
TW201305809A (zh) 快閃記憶體控制器及資料讀取方法
US8166368B2 (en) Writing a special symbol to a memory to indicate the absence of a data signal
TWI816418B (zh) 半導體儲存裝置及其操作方法
CN111712803B (zh) 在存储器系统处存储关键数据
CN112151104B (zh) 存储器存放装置及其动态数据修复的方法
CN110874281B (zh) 存储器管理方法以及存储控制器
US9298547B2 (en) Detection/erasure of random write errors using converged hard decisions
TWI615847B (zh) 固態儲存裝置及其資料處理方法
TW202101470A (zh) 具有動態資料修復機制的記憶體存放裝置及其動態資料修復的方法
CN118312350A (zh) 在存储器系统处存储关键数据
CN113508365A (zh) 存储器子系统的提前解码终止

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant