CN106155830A - 数据储存装置以及错误校正方法 - Google Patents

数据储存装置以及错误校正方法 Download PDF

Info

Publication number
CN106155830A
CN106155830A CN201510180624.0A CN201510180624A CN106155830A CN 106155830 A CN106155830 A CN 106155830A CN 201510180624 A CN201510180624 A CN 201510180624A CN 106155830 A CN106155830 A CN 106155830A
Authority
CN
China
Prior art keywords
mentioned
error correction
memory
memory plane
data
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
CN201510180624.0A
Other languages
English (en)
Other versions
CN106155830B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN106155830A publication Critical patent/CN106155830A/zh
Application granted granted Critical
Publication of CN106155830B publication Critical patent/CN106155830B/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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

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

Abstract

本发明提供一种数据储存装置以及错误校正方法,该数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个芯片,并且每一芯片包括一第一存储器平面以及一第二存储器平面,其中第一存储器平面以及第二存储器平面分别包括多个页面。控制器被设置为用以根据一错误校正能力表,对第一存储器平面以及第二存储器平面中所储存的数据进行错误校正,其中错误校正能力表用以记录第一存储器平面的一第一错误比特校正能力值以及第二存储器平面所相应的一第二错误比特校正能力值。

Description

数据储存装置以及错误校正方法
技术领域
本发明系关于一种数据储存装置,特别是关于可对同一芯片中的不同存储器平面以不同的错误校正能力进行存取的数据储存装置。
背景技术
快闪存储器为一种可以被电抹除并且重新写入的非易失性存储器,并且主要是应用在存储卡、USB随身盘、eMMC以及固态硬盘(Solid-State Disk)中,借以作为一般的储存与电脑装置和数字产品间的数据的转运。
快闪存储器于生产过程中,会因为粉尘或是光罩问题,使得快闪存储单元中的一整列(column)的数据都无法正确存取。传统上,可以扫描的方式检测出坏列的数量。但是,一旦无法存取的数据列数目太多,则会影响到错误检查码进行修正的能力。
发明内容
本发明所提供的数据储存装置以及错误校正方法,可实施具有不同的错误比特更正能力的错误校正(Error Correction)在同一芯片的不同存储器平面上。
本发明提供一种数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个芯片(die),并且每一芯片包括一第一存储器平面(plane)以及一第二存储器平面(plane),其中第一存储器平面以及第二存储器平面分别包括多个页面(page)。控制器被设置为用以根据一错误校正能力表,对第一存储器平面以及第二存储器平面中所储存的数据进行错误校正,其中错误校正能力表用以记录第一存储器平面的一第一错误比特校正能力值以及第二存储器平面所相应的一第二错误比特校正能力值。
在一实施例中,控制器更包括一随机存取存储器,并且控制器更用以将错误校正能力表载入随机存取存储器,以根据随机存取存储器中的错误校正能力表,对第一存储器平面以及第二存储器平面中的页面的数据进行错误校正以及编码。
在另一实施例中,控制器更包括一错误校正引擎,控制器更被设置为根据对第一存储器平面进行读取的一第一读取命令,传送随机存取存储器所储存的错误校正能力表中相应于第一存储器平面的第一错误比特校正能力值至错误校正引擎,使得错误校正引擎依照第一错误比特校正能力值对第一存储器平面中的页面的数据进行错误校正,或者根据对第二存储器平面进行读取的一第二读取命令,传送随机存取存储器所储存的错误校正能力表中相应于第二存储器平面的第二错误比特校正能力值至错误校正引擎,使得错误校正引擎依照第二错误比特校正能力值对第二存储器平面中的页面的数据进行错误校正。
又另一实施例中,控制器更包括一第一错误校正引擎以及一第二错误校正引擎,其中第一错误校正引擎是以第一错误比特校正能力值对数据进行编码以及错误校正,并且第二错误校正引擎是以第二错误比特校正能力值对数据进行编码以及错误校正。控制器更被设置为用以根据错误校正能力表,将第一存储器平面的页面的数据分配给第一错误校正引擎进行编码以及错误校正,并且将第二存储器平面的页面的数据分配给第二错误校正引擎进行编码以及错误校正。
另外,第一存储器平面以及第二存储器平面中的每一页面分别包括多个数据块(chunk),每一数据块包括一数据段以及一校验码(parity),其中第一存储器平面中的校验码具有一第一长度,第二存储器平面中的校验码具有一第二长度,并且第一长度不同于第二长度。
本发明亦提供一种错误校正方法,适用于一数据储存装置,其中数据储存装置包括一快闪存储器,快闪存储器包括多个芯片(die),并且每一芯片包括一第一存储器平面(plane)以及一第二存储器平面(plane),其中每一第一存储器平面以及第二存储器平面分别包括多个页面(page)。数据存取方法包括:根据一第一错误比特校正能力值,对第一存储器平面的页面的数据进行错误校正;以及根据一第二错误比特校正能力值,对第二存储器平面的页面的数据进行错误校正。
在一实施例中,错误校正方法更包括:将一错误校正能力表,载入一随机处理存储器;根据用以对第一存储器平面进行读取的一第一读取命令,传送随机存取存储器所储存的错误校正能力表中相应于第一存储器平面的第一错误比特校正能力值至一错误校正引擎;以及根据用以对第二存储器平面进行读取的一第二读取命令,传送随机存取存储器中的错误校正能力表中相应于第二存储器平面的第二错误比特校正能力值至错误校正引擎,其中错误校正引擎是用以对第一存储器平面以及第二存储器平面中的页面的数据进行错误校正。
在另一实施例中,错误校正方法更包括:将一错误校正能力表,载入一随机处理存储器,其中错误校正能力表用以记录第一存储器平面的第一错误比特校正能力值以及第二存储器平面所相应的第二错误比特校正能力值;根据对第一存储器平面进行读取的一第一读取命令以及错误校正能力表,将第一存储器平面的页面的数据分配给一第一错误校正引擎进行编码以及错误校正;以及根据对第二存储器平面进行读取的一第二读取命令以及错误校正能力表,将第二存储器平面的页面的数据分配给一第二错误校正引擎进行编码以及错误校正。
另外,第一存储器平面以及第二存储器平面中的每一页面分别包括多个数据块(chunk),每一数据块包括一数据段以及一校验码(parity),其中错误校正方法更包括:根据第一存储器平面中的数据块中的校验码,对第一存储器平面中的数据块中的数据段进行错误校正;以及根据第二存储器平面中的数据块中的校验码,对第二存储器平面中的数据块中的数据段进行错误校正,其中第一存储器平面中的校验码具有一第一长度,第二存储器平面中的校验码具有一第二长度,并且第一长度不同于第二长度。
又另一实施例中,错误校正方法更包括根据第一存储器平面以及第二存储器平面中的坏列(bad column),定义第一存储器平面所相应的第一错误校正能力以及第二存储器平面所相应的第二错误校正能力。
附图说明
图1为本发明所提供的一电子系统的一种实施例的方块图。
图2为本发明所提供的芯片的一种实施例的示意图。
图3为本发明所提供的页面的一种实施例的示意图。
图4为本发明所提供的页面的另一种实施例的示意图。
图5为本发明所提供的一错误校正方法的一种实施例的流程图。
图6为本发明所提供的一错误校正方法的另一种实施例的流程图。
附图标记说明:
100 电子系统;
120 主机;
140 数据储存装置;
160 控制器;
162 运算单元;
164 永久存储器;
166 随机存取存储器;
180 快闪存储器;
182 错误校正能力表;
D0~DN 芯片;
BU 缓冲器;
PL0、PL1 存储器平面;
S500~S512、S600~S612 步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM)164以及随机存取存储器(RAM)166。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。随机存取存储器(RAM)166用以载入程序码与参数以提供控制器160根据所载入的程序码与参数动作。快闪存储器180包括多个芯片(die)D0~DN,如图2所示。每一芯片D0~DN包括一缓冲器BU、一第一存储器平面(plane)PL0以及一第二存储器平面(plane)PL1。每一第一存储器平面PL0以及第二存储器平面PL1分别包括多个页面(page)P0~PN。值得注意的是,在本实施例中,每一芯片D0~DN包括一缓冲器BU,用以缓冲第一存储器平面PL0以及第二存储器平面PL1的数据,但本发明不限于此。在其他实施例中,每一芯片D0~DN可包括两个缓冲器,分别用以缓冲第一存储器平面PL0以及第二存储器平面PL1的数据。
快闪存储器于生产过程中,会因为粉尘或是光罩问题,使得快闪存储单元中的一整列(column)的数据都无法正确存取,损毁的列称为坏列(bad column)。然而,在同一芯片中的存储器平面所具有坏列的数量可能彼此不同。坏列的数量越多,存储器平面中的页面里可利用的存储器空间则越少,其中存储器空间的大小影响到错误比特校正能力。详细而言,具有越高的错误比特校正能力的错误校正(Error Correction)的编码,会产生长度越长的校验码(Parity)。
图3为本发明所提供的页面的一种实施例的示意图。在本实施例中,第一存储器平面PL0的每一页面中,分别具有1000字节(Byte)无法使用的坏列,第二存储器平面PL1每一页面中,分别具有900字节(Byte)无法使用的坏列。值得注意的是,图3示意性的将坏列显示于页面P0尾端,但实际上坏列是随机散落于页面中。在本实施例中,产品设计者将同一芯片中具有不同坏列数量的第一存储器平面PL0以及第二存储器平面PL1的错误比特校正能力,皆定义为同一错误比特校正能力值。举例而言,在本实施例中,第一存储器平面PL0以及第二存储器平面PL1的错误比特校正能力值皆为59比特(Bit),59比特的错误比特校正能力值需要长度为104字节的校验码。以第一存储器平面PL0以及第二存储器平面PL1的页面P0为例,页面P0分别具有7个数据块(Chunk)C0~C6以及一元数据段(Meta data)MD。每一数据块C0~C6分别具有一数据段以及一校验码段(parity)。数据段的长度为1024字节。校验码的长度为104字节。元数据段MD的长度为32字节。如图3所示,具有较少坏列的第二存储器平面PL1由于配合具有较多坏列的第一存储器平面PL0,会损失可使用的100字节,造成资源的浪费。值得注意的是,坏列的数量、元数据段MD的长度、数据段的长度、以及错误比特校正能力值皆为本发明的一种实施例,但本发明不限于此。每一个不同的存储器平面皆可能由于不同的生产环境具有不同数量的坏列。页面中数据块的数量、错误比特校正能力值以及数据段的长度皆可由产品开发者自行决定,其中元数据段MD的长度则是由所决定的错误比特校正能力值以及错误校验的种类而决定的。
图4为本发明所提供的页面的另一种实施例的示意图。在本实施例中,第一存储器平面PL0的每一页面中,分别具有1000字节(Byte)无法使用的坏列,第二存储器平面PL1每一页面中,分别具有900字节(Byte)无法使用的坏列。值得注意的是,图4示意性的将坏列显示于页面P0尾端,但实际上坏列是随机散落于页面中。在本实施例中,相应于不同的坏列数量,第一存储器平面PL0以及第二存储器平面PL1具有不同的错误比特校正能力值。第一存储器平面PL0具有一第一错误比特校正能力值并且第二存储器平面PL1具有一第二错误比特校正能力值。另外,由于第一存储器平面PL0以及第二存储器平面PL1具有不同的错误比特校正能力值,因此第一存储器平面PL0以及第二存储器平面PL1中的校验码具有不同的长度。换言之,第一存储器平面PL0中的校验码具有一第一长度,第二存储器平面PL1中的校验码具有一第二长度,并且第一长度不同于第二长度。举例而言,在本实施例中,第一存储器平面PL0的错误比特校正能力值为59比特,第二存储器平面PL1的错误比特校正能力值为67比特(Bit),但本发明不限于此。59比特的错误比特校正能力值需要长度为104字节的校验码。67比特的错误比特校正能力值需要长度为118字节的校验码。以第一存储器平面PL0以及第二存储器平面PL1的页面P0为例,页面P0分别具有7个数据块(Chunk)C0~C6以及一元数据段(Meta data)MD。每一数据块C0~C6分别具有一数据段以及一校验码段(parity)。在第一存储器平面PL0中,数据段的长度为1024字节、校验码的长度为104字节以及元数据段MD的长度为32字节。在第二存储器平面PL1中,数据段的长度为1024字节、校验码的长度为118字节以及元数据段MD的长度为32字节。如图4所示,具有较少坏列的第二存储器平面PL1具有较多的空间可以储存具有较高错误比特校正能力的校验码。相较于图3的实施例,本实施例可较有效的利用存储器空间。值得注意的是,坏列的数量、元数据段MD的长度、数据段的长度、以及错误比特校正能力值皆为本发明的一种实施例,但本发明不限于此。每一个不同的存储器平面皆可能由于不同的生产环境具有不同数量的坏列。页面中数据块的数量、错误比特校正能力值以及数据段的长度皆可由产品开发者自行决定,其中元数据段MD的长度则是由所决定的错误比特校正能力值以及错误校验的种类决定。
在图4的实施例中,快闪存储器180更包括一错误校正能力表182,其中错误校正能力表182用以记录第一存储器平面PL0的第一错误比特校正能力值以及第二存储器平面PL1所相应的第二错误比特校正能力值。在数据储存装置140上电后,控制器160被设置为将错误校正能力表182载入随机存取存储器166,以根据随机存取存储器166中的错误校正能力表182,对第一存储器平面PL0以及第二存储器平面PL1中的页面进行编码以及错误校正。换言之,在读取数据时,控制器160被设置为用以根据错误校正能力表182,对第一存储器平面PL0以及第二存储器平面PL1中所储存的数据进行错误校正。在写入数据时,控制器160被设置为用以根据错误校正能力表182,对将写入第一存储器平面PL0以及第二存储器平面PL1中的数据进行编码,以分别获得具有不同长度的校验码,并且在获得校验码后,将数据与校验码写入第一存储器平面PL0以及第二存储器平面PL1中。
在一实施例中,控制器160具有一错误校正引擎(未图示)。在本实施例中,该一个错误校正引擎用以分别进行具有不同错误比特校正能力的错误校正。举例而言,当控制器160接收到一读取命令时,控制器160可根据读取命令的地址判断读取命令是用以对第一存储器平面PL0进行读取的一第一读取命令或者用以对第二存储器平面PL1进行读取的一第二读取命令。当读取命令为用以对第一存储器平面PL0进行读取的第一读取命令时,控制器160被设置为根据对第一存储器平面PL0进行读取的第一读取命令,传送随机存取存储器166所储存的错误校正能力表182中相应于第一存储器平面PL0的第一错误比特校正能力值至错误校正引擎,使得错误校正引擎可依照第一错误比特校正能力值对第一存储器平面PL0中的页面的数据进行错误校正。当读取命令为用以对第二存储器平面PL1进行读取的第二读取命令时,控制器160被设置为根据对第二存储器平面PL1进行读取的第二读取命令,传送随机存取存储器166中所储存的错误校正能力表182中相应于第二存储器平面PL1的第二错误比特校正能力值至错误校正引擎,使得错误校正引擎依照第二错误比特校正能力值对第二存储器平面PL1中的页面的数据进行错误校正。同理,当控制器160接收到一写入命令时,控制器160可根据数据写入的地址判断数据是预计被写入第一存储器平面PL0或者第二存储器平面PL1。当数据是预计被写入第一存储器平面PL0时,控制器160被设置为传送随机存取存储器166中的错误校正能力表182中相应于第一存储器平面PL0的第一错误比特校正能力值至错误校正引擎,使得错误校正引擎可依照第一错误比特校正能力值对预计写入的数据进行编码,并获得符合第一错误比特校正能力值的校验码,以将数据以及校验码储存至第一存储器平面PL0。当数据是预计被写入第二存储器平面PL1时,控制器160被设置为传送随机存取存储器166中所储存的错误校正能力表182中相应于第二存储器平面PL1的第二错误比特校正能力值至错误校正引擎,使得错误校正引擎依照第二错误比特校正能力值对预计写入的数据进行编码,并获得符合第二错误比特校正能力值的校验码,以将数据以及校验码储存至第二存储器平面PL1。
在另一实施例中,控制器160更包括一第一错误校正引擎(未图示)以及一第二错误校正引擎(未图示),其中第一错误校正引擎具有第一错误比特校正能力值,并且第二错误校正引擎具有第二错误比特校正能力值。换言之,第一错误校正引擎是用以对第一存储器平面PL0的数据进行编码以及错误校正,而第二错误校正引擎是用以对第二存储器平面PL1的数据进行编码以及错误校正。在本实施例中,控制器160更被设置为用以根据错误校正能力表182,将第一存储器平面PL0的页面的数据分配给第一错误校正引擎进行编码以及错误校正,并且将第二存储器平面PL1的页面的数据分配给第二错误校正引擎进行编码以及错误校正。举例而言,当控制器160接收到一读取命令时,控制器160可根据读取命令的地址判断读取命令为对第一存储器平面PL0进行读取的一第一读取命令或者对第二存储器平面PL1进行读取的一第二读取命令。当读取命令为用以对第一存储器平面PL0进行读取的第一读取命令时,控制器160被设置为根据对第一存储器平面PL0进行读取的第一读取命令,将所读取的第一存储器平面PL0的页面的数据分配给第一错误校正引擎进行错误校正(解码)。当读取命令为用以对第二存储器平面PL1进行读取的第二读取命令时,控制器160被设置为根据对第二存储器平面PL1进行读取的第二读取命令,将所读取的第二存储器平面PL1的页面的数据分配给第二错误校正引擎进行错误校正(解码)。同理,当控制器160接收到一写入命令时,控制器160可根据数据写入的地址判断数据是预计被写入第一存储器平面PL0或者第二存储器平面PL1。当数据是预计被写入第一存储器平面PL0时,控制器160被设置为将预计写入第一存储器平面PL0的数据传送至第一错误校正引擎,使得第一错误校正引擎可依照第一错误比特校正能力值对预计写入的数据进行编码,并获得符合第一错误比特校正能力值的校验码,以将数据以及校验码储存至第一存储器平面PL0。当数据是预计被写入第二存储器平面PL1时,控制器160被设置为将预计写入第二存储器平面PL1的数据传送至第二错误比特校正引擎,使得第二错误校正引擎依照第二错误比特校正能力值对预计写入的数据进行编码,并获得符合第二错误比特校正能力值的校验码,以将数据以及校验码储存至第二存储器平面PL1。
图5为本发明所提供的一错误校正方法的一种实施例的流程图。错误校正方法适用于图1所示的电子系统100。流程开始于步骤S500。在步骤S500开始之前,产品设计者可根据第一存储器平面PL0以及第二存储器平面PL1中的坏列(bad column)的数量,定义第一存储器平面PL0所相应的第一错误校正能力以及相应于第二存储器平面PL1所相应的第二错误校正能力。另外,在本实施例中,控制器160具有一错误校正引擎(未图示),并且该一个错误校正引擎用以分别进行具有不同错误比特校正能力的错误校正。
在步骤S500中,在数据储存装置140上电后,控制器160被设置为将错误校正能力表182载入随机存取存储器166中,其中错误校正能力表182用以记录第一存储器平面PL0的第一错误比特校正能力值以及第二存储器平面PL1所相应的第二错误比特校正能力值。
接着,在步骤S502中,控制器160判断数据储存装置140是否自主机120接收到一读取命令。当数据储存装置140自主机120接收到读取命令时,流程进行至步骤S504;否则,控制器160继续判断数据储存装置140是否自主机120接收到一读取命令。
在步骤S504中,控制器160可根据读取命令的地址判断读取命令为对第一存储器平面PL0进行读取的一第一读取命令或者对第二存储器平面PL1进行读取的一第二读取命令。当读取命令为第一读取命令时,流程进行至步骤S506。当读取命令为第二读取命令时,流程进行至步骤S510。
在步骤S506中,控制器160被设置为传送随机存取存储器166中所储存的错误校正能力表182中相应于第一存储器平面PL0的第一错误比特校正能力值至错误校正引擎。
接着,在步骤S508中,错误校正引擎依照第一错误比特校正能力值对第一存储器平面PL0中的页面的数据进行错误校正,其中错误校正引擎是根据第一存储器平面PL0中的数据块中的校验码,对第一存储器平面PL0中的数据块中的数据段进行错误校正。流程结束于步骤S508。
在步骤S510中,控制器160被设置为传送随机存取存储器166中所储存的错误校正能力表182中相应于第二存储器平面PL1的第二错误比特校正能力值至错误校正引擎。
接着,在步骤S512中,错误校正引擎依照第二错误比特校正能力值对第二存储器平面PL1中的页面的数据进行错误校正,其中错误校正引擎是根据第二存储器平面PL1中的数据块中的校验码,对第二存储器平面PL1中的数据块中的数据段进行错误校正。值得注意的是,第二存储器平面PL1的校验码与第一存储器平面PL0的校验码的长度不同。流程结束于步骤S512。
图6为本发明所提供的一错误校正方法的另一种实施例的流程图。错误校正方法适用于图1所示的电子系统100。流程开始于步骤S600。在步骤S600开始之前,产品设计者可根据第一存储器平面PL0以及第二存储器平面PL1中的坏列(bad column)的数量,定义第一存储器平面PL0所相应的第一错误校正能力以及相应于第二存储器平面PL1所相应的第二错误校正能力。在本实施例中,控制器160包括一第一错误校正引擎(未图示)以及一第二错误校正引擎(未图示),其中第一错误校正引擎是以第一错误比特校正能力值对数据进行编码以及错误校正,并且第二错误校正引擎是以第二错误比特校正能力值对数据进行编码以及错误校正。值得注意的是,步骤S600~S604相似于图5的步骤S500~S504,步骤S600~S604的详细说明请参考图5的说明,在此不在赘述。
在步骤S606中,控制器160读取在随机存取存储器166中所储存的错误校正能力表182中相应于第一存储器平面PL0的第一错误比特校正能力值。
接着,在步骤S608中,控制器160根据第一错误比特校正能力值,将第一存储器平面PL0的页面的数据分配给第一错误校正引擎,使得第一错误校正引擎依照第一错误比特校正能力值对第一存储器平面PL0中的页面的数据进行解码,其中错误校正引擎是根据第一存储器平面PL0中的数据块中的校错误校正,对第一存储器平面PL0中的数据块中的数据段进行错误校正。流程结束于步骤S608。
在步骤S610中,控制器160读取在随机存取存储器166中所储存的错误校正能力表182中相应于第二存储器平面PL0的第二错误比特校正能力值。
接着,在步骤S612中,控制器160根据第二错误比特校正能力值,将第二存储器平面PL1的页面的数据分配给第二错误校正引擎,使得第二错误校正引擎依照第二错误比特校正能力值对第二存储器平面PL0中的页面的数据进行解码,其中错误校正引擎是根据第二存储器平面PL1中的数据块中的校验码,对第二存储器平面PL1中的数据块中的数据段进行错误校正。流程结束于步骤S612。
本发明所提供的数据储存装置140以及错误校正方法,可实施具有不同的错误比特更正能力的错误校正(Error Correction)在同一芯片的不同存储器平面上。
本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可储存于实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

Claims (11)

1.一种数据储存装置,包括:
一快闪存储器,包括多个芯片,并且每一上述芯片包括一第一存储器平面以及一第二存储器平面,其中上述第一存储器平面以及上述第二存储器平面分别包括多个页面;以及
一控制器,被设置为用以根据一错误校正能力表,对上述第一存储器平面以及上述第二存储器平面中所储存的数据进行错误校正,其中上述错误校正能力表用以记录上述第一存储器平面的一第一错误比特校正能力值以及上述第二存储器平面所相应的一第二错误比特校正能力值。
2.如权利要求1所述的数据储存装置,其特征在于,上述控制器更包括一随机存取存储器,并且上述控制器更用以将上述错误校正能力表载入上述随机存取存储器,以根据上述随机存取存储器中的上述错误校正能力表,对上述第一存储器平面以及上述第二存储器平面中的页面的数据进行错误校正以及编码。
3.如权利要求2所述的数据储存装置,其特征在于,上述控制器更包括一错误校正引擎,上述控制器更被设置为根据对上述第一存储器平面进行读取的一第一读取命令,传送上述随机存取存储器所储存的上述错误校正能力表中相应于上述第一存储器平面的上述第一错误比特校正能力值至上述错误校正引擎,使得上述错误校正引擎依照上述第一错误比特校正能力值对上述第一存储器平面中的页面的数据进行错误校正,或者根据对上述第二存储器平面进行读取的一第二读取命令,传送上述随机存取存储器所储存的上述错误校正能力表中相应于上述第二存储器平面的上述第二错误比特校正能力值至上述错误校正引擎,使得上述错误校正引擎依照上述第二错误比特校正能力值对上述第二存储器平面中的页面的数据进行错误校正。
4.如权利要求2所述的数据储存装置,其特征在于,上述控制器更包括一第一错误校正引擎以及一第二错误校正引擎,其中上述第一错误校正引擎是以上述第一错误比特校正能力值对数据进行编码以及错误校正,并且上述第二错误校正引擎是以上述第二错误比特校正能力值对数据进行编码以及错误校正。
5.如权利要求4所述的数据储存装置,其特征在于,上述控制器更被设置为用以根据上述错误校正能力表,将上述第一存储器平面的上述页面的数据分配给上述第一错误校正引擎进行编码以及错误校正,并且将上述第二存储器平面的上述页面的数据分配给上述第二错误校正引擎进行编码以及错误校正。
6.如权利要求1所述的数据储存装置,其特征在于,上述第一存储器平面以及上述第二存储器平面中的每一上述页面分别包括多个数据块,每一上述数据块包括一数据段以及一校验码,其中上述第一存储器平面中的上述校验码具有一第一长度,上述第二存储器平面中的上述校验码具有一第二长度,并且上述第一长度不同于上述第二长度。
7.一种错误校正方法,适用于一数据储存装置,其特征在于,上述数据储存装置包括一快闪存储器,上述快闪存储器包括多个芯片,并且每一上述芯片包括一第一存储器平面以及一第二存储器平面,其中每一上述第一存储器平面以及上述第二存储器平面分别包括多个页面,并且上述数据存取方法包括:
根据一第一错误比特校正能力值,对上述第一存储器平面的页面的数据进行错误校正;以及
根据一第二错误比特校正能力值,对上述第二存储器平面的页面的数据进行错误校正。
8.如权利要求7所述的错误校正方法,其特征在于,更包括:
将一错误校正能力表,载入一随机处理存储器;
根据用以对上述第一存储器平面进行读取的一第一读取命令,传送上述随机存取存储器所储存的上述错误校正能力表中相应于上述第一存储器平面的上述第一错误比特校正能力值至一错误校正引擎;以及
根据用以对上述第二存储器平面进行读取的一第二读取命令,传送上述随机存取存储器中的上述错误校正能力表中相应于上述第二存储器平面的上述第二错误比特校正能力值至上述错误校正引擎,其中上述错误校正引擎是用以对上述第一存储器平面以及上述第二存储器平面中的页面的数据进行错误校正。
9.如权利要求7所述的错误校正方法,其特征在于,更包括:
将一错误校正能力表,载入一随机处理存储器,其中上述错误校正能力表用以记录上述第一存储器平面的上述第一错误比特校正能力值以及上述第二存储器平面所相应的上述第二错误比特校正能力值;
根据对上述第一存储器平面进行读取的一第一读取命令以及上述错误校正能力表,将上述第一存储器平面的上述页面的数据分配给一第一错误校正引擎进行编码以及错误校正;以及
根据对上述第二存储器平面进行读取的一第二读取命令以及上述错误校正能力表,将上述第二存储器平面的上述页面的数据分配给一第二错误校正引擎进行编码以及错误校正。
10.如权利要求7所述的错误校正方法,其特征在于,上述第一存储器平面以及上述第二存储器平面中的每一上述页面分别包括多个数据块,每一上述数据块包括一数据段以及一校验码,其中上述错误校正方法更包括:
根据上述第一存储器平面中的上述数据块中的上述校验码,对上述第一存储器平面中的上述数据块中的上述数据段进行错误校正;以及
根据上述第二存储器平面中的上述数据块中的上述校验码,对上述第二存储器平面中的上述数据块中的上述数据段进行错误校正,其中上述第一存储器平面中的上述校验码具有一第一长度,上述第二存储器平面中的上述校验码具有一第二长度,并且上述第一长度不同于上述第二长度。
11.如权利要求7所述的错误校正方法,其特征在于,更包括根据上述第一存储器平面以及上述第二存储器平面中的坏列,定义上述第一存储器平面所相应的上述第一错误校正能力以及上述第二存储器平面所相应的上述第二错误校正能力。
CN201510180624.0A 2015-02-12 2015-04-16 数据储存装置以及错误校正方法 Active CN106155830B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW104104676A TWI555028B (zh) 2015-02-12 2015-02-12 資料儲存裝置以及錯誤校正方法
TW104104676 2015-02-12

Publications (2)

Publication Number Publication Date
CN106155830A true CN106155830A (zh) 2016-11-23
CN106155830B CN106155830B (zh) 2019-07-23

Family

ID=56622163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510180624.0A Active CN106155830B (zh) 2015-02-12 2015-04-16 数据储存装置以及错误校正方法

Country Status (3)

Country Link
US (1) US9928137B2 (zh)
CN (1) CN106155830B (zh)
TW (1) TWI555028B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112083887A (zh) * 2020-09-10 2020-12-15 深圳芯邦科技股份有限公司 一种数据处理方法及相关设备
CN112988449A (zh) * 2019-12-16 2021-06-18 慧荣科技股份有限公司 写入页面群组的数据到闪存模块的装置及方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11403010B2 (en) * 2020-08-19 2022-08-02 Silicon Motion, Inc. Data storage device and plane selection method thereof
US11468963B2 (en) * 2020-12-08 2022-10-11 Macronix International Co., Ltd. Memory device and read method thereof
CN116431381B (zh) * 2023-04-06 2024-01-05 深圳三地一芯电子股份有限公司 平衡闪存ecc纠错能力方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779194A (zh) * 2007-07-09 2010-07-14 美光科技公司 用于存储器的错误校正
CN102034552A (zh) * 2009-09-25 2011-04-27 威刚科技(苏州)有限公司 存储装置与其资料处理方法
US20110191651A1 (en) * 2010-02-04 2011-08-04 Tsung-Heng Chen Two-plane error correction method for a memory device and the memory device thereof
CN102436406A (zh) * 2010-09-15 2012-05-02 株式会社东芝 半导体装置及其数据存取方法
CN103329103A (zh) * 2010-10-27 2013-09-25 Lsi公司 用于基于闪存的数据存储的自适应ecc技术

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI360048B (en) * 2008-04-24 2012-03-11 Powerflash Technology Corp Method for determining number of bits of ecc block
US8898548B1 (en) * 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
US9720769B2 (en) * 2014-12-03 2017-08-01 Sandisk Technologies Llc Storage parameters for a data storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779194A (zh) * 2007-07-09 2010-07-14 美光科技公司 用于存储器的错误校正
CN102034552A (zh) * 2009-09-25 2011-04-27 威刚科技(苏州)有限公司 存储装置与其资料处理方法
US20110191651A1 (en) * 2010-02-04 2011-08-04 Tsung-Heng Chen Two-plane error correction method for a memory device and the memory device thereof
CN102436406A (zh) * 2010-09-15 2012-05-02 株式会社东芝 半导体装置及其数据存取方法
CN103329103A (zh) * 2010-10-27 2013-09-25 Lsi公司 用于基于闪存的数据存储的自适应ecc技术

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988449A (zh) * 2019-12-16 2021-06-18 慧荣科技股份有限公司 写入页面群组的数据到闪存模块的装置及方法
CN112988449B (zh) * 2019-12-16 2023-08-15 慧荣科技股份有限公司 写入页面群组的数据到闪存模块的装置及方法
CN112083887A (zh) * 2020-09-10 2020-12-15 深圳芯邦科技股份有限公司 一种数据处理方法及相关设备
CN112083887B (zh) * 2020-09-10 2023-09-15 深圳芯邦科技股份有限公司 一种数据处理方法及相关设备

Also Published As

Publication number Publication date
TWI555028B (zh) 2016-10-21
US20160239382A1 (en) 2016-08-18
US9928137B2 (en) 2018-03-27
TW201629980A (zh) 2016-08-16
CN106155830B (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN106445723B (zh) 存取闪存模块的方法、闪存控制器以及记忆装置
CN106155830A (zh) 数据储存装置以及错误校正方法
US8949690B2 (en) Memory controller
CN106067321A (zh) 适于存储器编程暂停-恢复的控制器
CN105302659B (zh) 固态器件中的多纠错码代码字尺寸
CN106569735B (zh) 数据储存装置及数据维护方法
CN104217761B (zh) 数据储存装置及其错误校正方法
DE102012112354A1 (de) Speichervorrichtung und nichtflüchtige Speichervorrichtung sowie Betriebsverfahren davon
CN106409344A (zh) 数据储存设备及其操作方法
DE102008003113A1 (de) ECC-Steuereinheit, Speichersystem und Verfahren zur Korrektur eines Fehlers
CN106484316A (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
CN104699622A (zh) 数据储存装置以及其数据抹除方法
CN106354653B (zh) 数据储存装置及其数据维护方法
CN104750570B (zh) 数据储存装置及其错误校正方法
US20140337681A1 (en) Data writing method, memory storage device, and memory controller
CN106683701B (zh) 存储器管理方法、存储器储存装置及存储器控制电路单元
CN105513638A (zh) 数据储存装置及其数据存取方法
CN110089035A (zh) 存储控制器、数据处理芯片及数据处理方法
CN105097045A (zh) 用于nand闪存器件中的缺陷修复的方法和装置
CN103955440A (zh) 一种非易失存储设备及其进行数据操作的方法
CN105938419B (zh) 数据储存装置及其数据维护方法
WO2015087651A1 (ja) メモリの使用可能期間を延ばすための装置、プログラム、記録媒体および方法
CN106155572A (zh) 数据储存装置以及数据存取方法
CN106155916A (zh) 数据储存装置以及数据读取方法
TWI578222B (zh) 資料儲存裝置及其資料維護方法

Legal Events

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