CN102402398B - 闪存控制器及其方法 - Google Patents

闪存控制器及其方法 Download PDF

Info

Publication number
CN102402398B
CN102402398B CN201110037189.8A CN201110037189A CN102402398B CN 102402398 B CN102402398 B CN 102402398B CN 201110037189 A CN201110037189 A CN 201110037189A CN 102402398 B CN102402398 B CN 102402398B
Authority
CN
China
Prior art keywords
correcting code
error correcting
flash memory
link
error correction
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.)
Active
Application number
CN201110037189.8A
Other languages
English (en)
Other versions
CN102402398A (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.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
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
Priority claimed from US12/876,644 external-priority patent/US8555143B2/en
Application filed by Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN102402398A publication Critical patent/CN102402398A/zh
Application granted granted Critical
Publication of CN102402398B publication Critical patent/CN102402398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种闪存控制器及其方法,其中该闪存控制器包含闪存接口控制器、主机接口控制器、随机存取存储器接口控制器、错误更正码编码器、错误更正码分割器、错误更正码建构器和一错误更正码解码器。该主机接口控制器发送消息数据至一主机以及自该主机接收消息数据。该错误更正码编码器产生对应至该写入数据的一可变长度的错误更正码。该错误更正码分割器根据该产生的错误更正码的长度切割该产生的错误更正码成多个错误更正码片段,并发送该等错误更正码片段至该闪存接口控制器。该错误更正码建构器合并该等错误更正码片段以建构成一错误更正码。该错误更正码解码器更正读取消息数据的错误,并发送更正后的读取消息数据至该主机接口控制器。

Description

闪存控制器及其方法
技术领域
本发明是关于闪存,特别是关于闪存的错误更正码的方法和系统。
背景技术
由于功能持续的进步,闪存已在各种应用中(例如可携式装置)成为传统马达驱动磁盘外的另一种选择。由于闪存没有机械构件,相较于马达驱动磁盘,闪存具有抗震动、低功率消耗及高速等优点。然而,闪存仍存在某些限制,其中之一便是闪存内的每一读写单元需在写入前执行消除操作(EraseOperation)以消除前一笔数据。另一限制是闪存内的每一读写单元皆具有消除/写入的次数限制,超过该次数限制将产生位损坏的现象,损害到使用者数据。
传统上,闪存可应用错误更正码、平均耗损算法(wear levelingalgorithm)或是损坏区块管理(bad block management)等技术以减少因上述限制所造成的效能降低,并延长闪存的生命期。为应用错误更正码、平均耗损算法或是损坏区块管理等技术,每一快闪页(闪存中最小的读写单元)皆包含一数据区间(Data Area)和一备用区间(Spare Area),其中该数据区间储存使用者的数据,而备用区间储存管理数据,包含错误更正码、平均耗损算法或是损坏区块管理等技术所需的数据。
然而,闪存必须一次消除一快闪区块(Flash Block),而每一快闪区块包含32个或更多的快闪页(Flash Page)。因此,若一快闪页的损坏位超过其所能更正的能力,损坏区块管理技术会将整个快闪区块标示为已损坏快闪区块。一旦被标示为已损坏快闪区块,所有位于该损坏快闪区块内的快闪页将无法再被存取。若该损坏快闪区块内的其它快闪页仍具有更正错误能力的话,如此的标示将造成资源浪费。
目前有一种方法和系统可根据需求增加错误更正码的长度进而增强错误更正码的能力,以延长闪存的使用寿命。在产生错误更正码后,使用者数据被储存于闪存的一快闪页的数据区间,而该错误更正码并分割(segment)为多个片段并储存于多个快闪页的备用区间。该种方法和系统适用于可切割(partition)其快闪页的备用区间的闪存。然而,对于无法切割其快闪页的备用区间的闪存而言,需要一种更方便的方法和系统。
据此,业界所需要的是一种系统及方法,其适用于无法切割其快闪页的备用区间的闪存以延长其使用寿命。
发明内容
本发明的部分实施例提供了动态分配每一个快闪区块的备用区间的方法。换言之,每一储存于一闪存内的消息数据皆可拥有不同长度的错误更正码数据,故达成根据每一快闪页的特性,付予其不同的错误更正能力。该等不同的错误更正能力可延长闪存的生命期。
本发明揭示一种闪存控制器,包含一闪存接口控制器、一主机接口控制器、一随机存取存储器接口控制器、一错误更正码编码器、一错误更正码分割器、一错误更正码建构器和一错误更正码解码器。该闪存接口控制器被设置以储存消息数据、错误更正码片段和链接串行(Linked-list)至一闪存,以及自该闪存读取消息数据,错误更正码片段和该等链接串行。该主机接口控制器被设置以发送消息数据至一主机以及自该主机接收消息数据。该随机存取存储器接口控制器被设置以储存该等链接串行至一随机存取存储器以及自该随机存取存储器读取该等链接串行。该错误更正码编码器被设置以在操作于一写入操作(Write Operation)时,自该主机接口控制器接收欲写入至该闪存的一写入数据(Write Datum)并产生对应至该写入数据的一可变长度的错误更正码。该错误更正码分割器被设置以在操作于一写入操作时,根据该产生的错误更正码的长度分割该产生的错误更正码成多个错误更正码片段,并发送该等错误更正码片段至该闪存接口控制器。该错误更正码建构器被设置以在操作于一读取操作(Read Operation)时,自该闪存接口控制器接收对应至一自该闪存读取的一读取数据(Read Datum)的多个错误更正码片段,并合并该等错误更正码片段以建构成一错误更正码。该错误更正码解码器被设置以在操作于一读取操作时,根据该读取数据和该建构的错误更正码更正该读取数据的错误,并发送该更正后的读取数据至该主机接口控制器。该等错误更正码片段的链接关系(link relation)被表示于该等链接串行。
本发明揭示一种写入数据和其对应的错误更正码至一闪存的方法,包含下列步骤:自一闪存的至少一延长页(Extended Page)的至少一备用区间(Spare Area)读取一链接串行,其中每一延长页是由多个快闪页(Flash Page)合并而成;根据一欲写入至该闪存的一写入数据产生一错误更正码,其中该错误更正码的长度取决于该链接串行的结点(node)数目;根据该错误更正码的长度分割该错误更正码成多个错误更正码片段;储存该写入数据至该闪存的一延长页的一延长数据区间(Extended Data Area);以及根据该链接串行储存该等错误更正码片段至该闪存的至少一延长页的多个备用区间。
本发明揭示一种自一闪存读取数据和其对应的错误更正码的方法,包含下列步骤:自一闪存的至少一延长页的至少一备用区间读取一链接串行,其中每一延长页是由多个快闪页合并而成;自该闪存的一延长页的一延长数据区间读取一读取数据;根据该链接串行自该闪存的至少一延长页的多个备用区间读取多个错误更正码片段;合并该等错误更正码片段成一错误更正码;以及根据该读取数据和该错误更正码更正该消息数据。
根据本发明所提供的闪存控制器及其方法,对于容易发生损坏的快闪页而言,本发明即通过增加其错误更正码数据的长度加强其错误更正能力。由于每一个快闪页的备用区间的空间有限,每一个编码出的错误更正码数据即加以分割以形成多个错误更正码片段,使其得以储存至多个快闪页的备用区间。如此,不易发生损坏的快闪页可分享其备用区间给容易发生损坏的快闪页。因此,即使在同一个快闪区块的快闪页的损坏率皆不变,其损坏率仍可通过本发明加以平衡而延后该快闪区块被标示为损坏快闪区块的时间。
上文已经概略地叙述本发明的技术特征,俾使下文的详细描述得以获得较佳了解。构成本发明的申请专利范围标的的其它技术特征将描述于下文。本发明所属技术领域中具有通常知识者应可了解,下文揭示的概念与特定实施例可作为基础而相当轻易地予以修改或设计其它结构或制程而实现与本发明相同的目的。本发明所属技术领域中具有通常知识者亦应可了解,这类等效的建构并无法脱离所附的申请专利范围所提出的本发明的精神和范围。
附图说明
图1显示本发明的一实施例的闪存控制器的示意图;
图2显示本发明的一实施例的一快闪区块的架构的示意图;
图3显示本发明的一实施例的共享备用区间的格式的示意图;
图4显示本发明的一实施例的一种写入数据和其对应的错误更正码至一闪存的方法的流程图;以及
图5显示本发明的一实施例的一种自一闪存读取消息数据和其对应的错误更正码至的方法的流程图。
[主要元件标号说明]
100        闪存系统
102        闪存控制器
104        错误更正码控制器
106        主机接口控制器
108        闪存接口控制器
110        随机存取存储器接口控制器
1000       闪存
210        错误更正码编码器
212        错误更正码分割器
214        错误更正码建构器
216        错误更正码解码器
2000       主机
300        随机存取存储器
300        快闪区块
302        快闪页
304        数据区间
306        备用区间
308        延伸页
402~410   步骤
502~510   步骤
具体实施方式
本发明在此所探讨的方向为一种闪存控制器及其方法。为了能彻底地了解本发明,将在下列的描述中提出详尽的步骤及组成。显然地,本发明的施行并未限定于本领域技术人员所熟悉的特殊细节。另一方面,众所周知的组成或步骤并未描述于细节中,以避免造成本发明不必要的限制。本发明的较佳实施例会详细描述如下,然而除了这些详细描述之外,本发明还可以广泛地施行在其它的实施例中,且本发明的范围不受限定,以上述专利范围为主。
图1显示本发明的一实施例的闪存控制器的示意图。该闪存系统100包含一闪存控制器102和一闪存1000。该闪存控制器102包含一错误更正码控制器104、一主机接口控制器106、一闪存接口控制器108和随机存取存储器接口控制器110。该主机接口控制器106和一主机2000交换数据。该闪存接口控制器108和一闪存1000交换数据。该随机存取存储器接口控制器110和一随机存取存储器3000交换数据。该错误更正码控制器104包含一错误更正码编码器210、一错误更正码分割器212、一错误更正码建构器214和一错误更正码解码器216。
该错误更正码编码器210被设置以在操作于一写入操作时,自该主机接口控制器106接收欲写入至该闪存1000的一写入数据并产生对应于该写入数据的一可变长度的错误更正码。该错误更正码分割器212被设置以在操作于一写入操作时,根据该产生的错误更正码的长度分割该产生的错误更正码成多个错误更正码片段,并发送该等错误更正码片段至该闪存接口控制器108。该错误更正码建构器214被设置以在操作于一读取操作时,自该闪存接口控制器108接收对应于一自该闪存1000读取的一读取数据的多个错误更正码片段,并合并该等错误更正码片段以建构成一错误更正码。该错误更正码解码器216被设置以在操作于一读取操作时,根据该读取数据和该建构的错误更正码更正该读取消息数据的错误,并发送该更正后的读取消息数据至该主机接口控制器106。
图2显示本发明的一实施例的一快闪区块的架构的示意图。如图2所示,该快闪区块300包含多个快闪页302,其中每一快闪页302包含一用以储存使用者数据的数据区间304和一用以储存管理数据的备用区间306。多个快闪页302被合并形成多个延伸页308。较佳地,如图2所示,每一延伸页308是由两个相邻的快闪页302合并而成。
以每一快闪页包含512字节的数据区间和16字节的备用区间的闪存为例,图2中每一延伸页308皆包含一具有1024字节的延伸数据区间以及两个16字节的备用区间。该第一个备用区间为自有备用区间,用以储存对应至储存于该1024字节的延伸数据区间的消息数据的错误更正码和管理数据。较佳地,该第一个备用区间中的13个字节用以储存错误更正码片段,而3个字节用以储存管理数据。该第二个备用区间为共享备用区间。大多数的共享备用区间用以形成一共享池(Sharing Pool),其中共享池内的每一共享备用区间用以储存一错误更正码的一错误更正码片段,其中该错误更正码可对应至该快闪区块300内的任一延伸页308。部分共享备用区间是形成指针空间(Pointer Space)以储存多个链接串行的指针(Pointers),其中该等链接串行用以表示所有错误更正码片段的链接关系。部分共享备用区间被形成指针同位空间(Pointer Parity Space)以储存该指针空间的错误更正码。
在本发明的一实施例中,一闪存的一快闪区块可包含p个快闪页。据此,该等p个快闪页可形成p/2个延伸页,包含p/2个自有备用区间和p/2个共享备用区间。每一自有备用区间和共享备用区间皆使用一1字节的指针进行连结。对每一备用区间皆包含16字节的闪存而言,该指针空间是由p/16个共享备用区间组成。若该指针同位空间是由q个共享备用区间组成,则剩下的p/2-p/16-q个共享备用区间组成该共享池。例如,若p等于128,亦即每一快闪区块包含128个快闪页,则每一快闪区块包含64个延伸页,包括64个自有备用区间和64个共享备用区间。在该等共享备用区间中,指针空间是由8个共享备用区间所组成,已足以记录所有的指针。若该指针同位空间是由4个共享备用区间所组成,则该共享池是由剩下的52个共享备用区间所组成。
图3显示本发明的一实施例的共享备用区间的使用分类的示意图。接续上段范例,共52个共享备用区间组成该共享池,其中该共享池内的每一共享备用区间可储存一16字节的错误更正码片段。该指针空间是由8个共享备用区间,共128个字节所组成。其中,pNSA0至pNSA63分别对应至该等64个自有备用区间,其共64个字节用以记录其与共享备用区间的链接关系。而pSSA0至pSSA51分别对应至该等64个共享备用区间,其共52个字节储存该共享池内52个共享备用区间彼此的链接关系。如图3所示,pNSA内的7个位和pSSA内的7个位用以储存下一个错误更正码片段的共享备用区间位置,而剩下的一个位储存一旗标,其用以表示目前的错误更正码片段是否为最后一个片段。该指针空间剩下的12个字节为保留区间且非为本发明所考虑。此外,共有4个共享备用区间,亦即64个字节以组成该指针同位空间,其用以储存根据该指针空间所计算而得的错误更正码,其可用以更正该指针空间的错误。
根据以上所述,本发明的闪存控制器及其方法同样可适用于其每一快闪页包含一512字节的倍数的数据区间和一16字节的倍数的备用区间的快闪区块。然而,本发明的闪存控制器及其方法的适用范围不限于上述架构的快闪区块,而应即于任何快闪区块,其快闪页可根据本发明的精神切割分类。
图4显示本发明的一实施例的一种写入消息数据和其对应的错误更正码至一闪存的方法的流程图。在步骤402,自一闪存的至少一延长页的至少一备用区间读取一链接串行,其中每一延长页是由多个快闪页合并而成,并进入步骤404。在步骤404,根据一欲写入至该闪存的一消息数据产生一错误更正码,其中该错误更正码的长度取决于该链接串行的结点数目,并进入步骤406。在步骤406,根据该错误更正码的长度分割该错误更正码成多个错误更正码片段,其中每个片段分别对应该链接串行的结点,并进入步骤408。在步骤408,储存该消息数据至该闪存的一延长页的一延长数据区间,并进入步骤410。在步骤410,根据该链接串行所对应的备用区间,储存该等错误更正码片段至该闪存的至少一延长页的多个该等对应的备用区间。
以下例示应用图4的写入数据和其对应的错误更正码至一闪存的方法于图1的闪存控制器以及图2的快闪区块。在步骤402,从该快闪区块300的指针空间读取一链接串行。在本实施例中,该链接串行根据储存于该快闪区块300的该指针空间的数据和其储存于该指针同位空间的错误更正码进行错误更正。据此,该错误更正码解码器216可用以根据该链接串行和其错误更正码更正该链接串行。对多数闪存而言,在写入操作前需先进行一清除操作。因此,较佳地,从该快闪区块300读取的该链接串行可储存于一随机存取存储器,例如该随机存取存储器3000,以供之后的随机存取及编辑,直到该快闪区块300被清除后,再写回至该快闪区块300的指针空间。在步骤404,通过检视该链接串行可得到对应至用以储存一消息数据的延长数据区间的错误更正码的长度。此外,亦可得到该错误更正码的错误更正码片段的链接关系,亦即用以储存该等错误更正码片段的共享备用区间的数据。在步骤406,该错误更正码分割器212根据该错误更正码的长度分割该错误更正码成多个错误更正码片段。在步骤408,该消息数据被储存至该快闪区块300的该快闪页308的一延长数据区间,其中该延长数据区间是由该等数据区间304合并而成。在步骤410,该等错误更正码片段是根据该链接串行储存至多个备用区间306。此外,若该快闪区块300被清除而造成该储存于该快闪区块300的链接串行被清除,则从该随机存取存储器3000读取该链接串行以储存至该快闪区块300的指针空间。
图5显示本发明的一实施例的一种自一闪存读取消息数据和其对应的错误更正码至的方法的流程图。在步骤502,自一闪存的至少一延长页的至少一备用区间读取一链接串行,其中每一延长页是由多个快闪页合并而成,并进入步骤504。对多数闪存而言,在写入操作前需先进行一清除操作。因此,较佳地,从该快闪区块300读取的该链接串行可储存于一随机存取存储器,例如该随机存取存储器3000,以供之后的随机存取及编辑,直到该快闪区块300被清除后,再写回至该快闪区块300的指针空间。在步骤504,自该闪存的一延长页的一延长数据区间读取一消息数据,并进入步骤506。在步骤506,根据该链接串行自该闪存的至少一延长页的多个备用区间读取多个错误更正码片段,并进入步骤508。在步骤508,合并该等错误更正码片段成一错误更正码,并进入步骤510。在步骤510,根据该消息数据和该错误更正码更正该消息数据。此外,若该快闪区块300被清除而造成该储存于该快闪区块300的链接串行被清除,则从该随机存取存储器3000读取该链接串行以储存至该快闪区块300的指针空间。
以下例示应用图5的自一闪存读取消息数据和其对应的错误更正码至的方法于图1的闪存控制器以及图2的快闪区块。在步骤502,从该快闪区块300的指针空间读取一链接串行。在本实施例中,该链接串行根据储存于该快闪区块300的该指针空间的数据和其储存于该指针同位空间的错误更正码进行错误更正。据此,该错误更正码解码器216可用以根据该链接串行和其错误更正码更正该链接串行。类似于前述的实施例,较佳地,从该快闪区块300读取的该链接串行可储存于一随机存取存储器,例如该随机存取存储器3000。在步骤504,自该快闪区块300的一延长页308的一延长数据区间读取一消息数据,其中该延长数据区间是由该等数据区间304合并而成。在步骤506,通过检视该链接串行可得到对应的错误更正码的错误更正码片段的链接关系,亦即用以储存该等错误更正码片段的共享备用区间的数据。据此,可根据该链接串行自该快闪区块300的至少一延长页308的多个备用区间306读取多个错误更正码片段。在步骤508,该错误更正码建构器214合并该等错误更正码片段成一错误更正码。在步骤510,该错误更正码解码器216根据该消息数据和该合并的错误更正码更正该消息数据。此外,若该更正的消息数据的错误数量超过一临界值,则延长该错误更正码的长度,并通过延长该链接串行纪录该错误更正码的变化。若该快闪区块300被清除而造成该储存于该快闪区块300的链接串行被清除,则从该随机存取存储器3000读取该链接串行以储存至该快闪区块300的指针空间,且储存该链接串行的错误更正码至该快闪区块300的指针同位空间。
综上所述,对于容易发生损坏的快闪页而言,本发明即通过增加其错误更正码数据的长度加强其错误更正能力。由于每一个快闪页的备用区间的空间有限,每一个编码出的错误更正码数据即加以分割以形成多个错误更正码片段,使其得以储存至多个快闪页的备用区间。如此,不易发生损坏的快闪页可分享其备用区间给容易发生损坏的快闪页。因此,即使在同一个快闪区块的快闪页的损坏率皆不变,其损坏率仍可通过本发明加以平衡而延后该快闪区块被标示为损坏快闪区块的时间。
再者,本发明所提供的闪存控制器及其方法适用于无法切割其快闪页的备用区间的闪存。对这些闪存而言,通过合并多个快闪页成一延伸页可达到类似于切割一快闪页的备用区间的效果,故即可达到前述分享备用区间的概念。
本发明的技术内容及技术特点已揭示如上,然而本领域技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此,本发明的保护范围应不限于实施例所揭示者,而应包括各种不背离本发明的替换及修饰,并为上述权利要求范围所涵盖。

Claims (27)

1.一种闪存控制器,其特征在于包含:
一闪存接口控制器,设定以储存消息数据、错误更正码片段和链接串行至一闪存,以及自该闪存读取消息数据,错误更正码片段和该等链接串行;
一主机接口控制器,设定以发送消息数据至一主机以及自该主机接收消息数据;
一随机存取存储器接口控制器,设定以储存该等链接串行至一随机存取存储器以及自该随机存取存储器读取该等链接串行;
一错误更正码编码器,设定以在操作于一写入操作时,自该主机接口控制器接收欲写入至该闪存的一写入数据并产生对应至该写入数据的一可变长度的错误更正码,其中该错误更正码的长度取决于该链接串行的结点数目;
一错误更正码分割器,设定以在操作于一写入操作时,根据该产生的错误更正码的长度切割该产生的错误更正码成多个错误更正码片段,并发送该多个错误更正码片段至该闪存接口控制器;
一错误更正码建构器,设定以在操作于一读取操作时,自该闪存接口控制器接收对应至一自该闪存读取的一读取消息数据的多个错误更正码片段,并合并该多个错误更正码片段以建构成一错误更正码,其中每个片段分别对应该链接串行的结点;以及
一错误更正码解码器,设定以在操作于一读取操作时,根据该读取消息数据和该建构的错误更正码更正该读取消息数据的错误,并发送该更正后的读取消息数据至该主机接口控制器;
其中该多个错误更正码片段的链接关系是表示于该等链接串行。
2.根据权利要求1所述的闪存控制器,其中各消息数据被储存于由多个快闪页合并的一延伸页中的一延伸数据区间。
3.根据权利要求2所述的闪存控制器,其中每一延伸页是由两个相邻的快闪页合并而成。
4.根据权利要求2所述的闪存控制器,其中该产生的错误更正码的其中一错误更正码片段被储存于储存对应至该产生的错误更正码的消息数据的一延伸页内的多个备用区间中的其中一者。
5.根据权利要求4所述的闪存控制器,其中该产生的错误更正码的其它各错误更正码片段被储存于除该对应至该产生的错误更正码的消息数据的延伸页外的延伸页内的多个备用区间中的其中一者。
6.根据权利要求1所述的闪存控制器,其中每一链接串行表示一错误更正码的所有错误更正码片段的链接关系。
7.根据权利要求2所述的闪存控制器,其中该等链接串行被储存于延伸页的备用区间内。
8.根据权利要求1所述的闪存控制器,其中当该错误更正码解码器更正的一消息数据的错误数量超过一临界值时,对应该消息数据的错误更正码的长度是通过延长其链接串行而延长。
9.根据权利要求1所述的闪存控制器,其中该错误更正码编码器被进一步设定以在一链接串行延长后产生其错误更正码。
10.根据权利要求9所述的闪存控制器,其中该错误更正码解码器被进一步设定以在一链接串行自该闪存读取时,根据读取的链接串行和其对应的错误更正码更正该读取的链接串行。
11.根据权利要求1的闪存控制器,其中每一快闪页包含一512字节的倍数的数据区间和一16字节的倍数的备用区间。
12.一种写入数据和其对应的错误更正码至一闪存的方法,其特征在于包含下列步骤:
自一闪存的至少一延伸页的至少一备用区间读取一链接串行,其中每一延伸页是由多个快闪页合并而成;
根据一欲写入至该闪存的一消息数据产生一错误更正码,其中该错误更正码的长度取决于该链接串行的结点数目;
根据该错误更正码的长度分割该错误更正码成多个错误更正码片段,其中每个片段分别对应该链接串行的结点;
储存该消息数据至该闪存的一延伸页的一延伸数据区间;以及
根据该链接串行储存该多个错误更正码片段至该闪存的至少一延伸页的多个备用区间。
13.根据权利要求12的方法,其进一步包含下列步骤:
储存该链接串行至一随机存取存储器;以及
若该闪存所储存的该链接串行被清除,则自该随机存取存储器读取该链接串行并储存至该闪存的至少一延伸页的至少一备用区间。
14.根据权利要求12的方法,其中每一延伸页是由两个相邻的快闪页合并而成。
15.根据权利要求12的方法,其中该多个错误更正码片段之一被储存于储存该消息数据的一延伸页内的多个备用区间中的其中一者。
16.根据权利要求15的方法,其中该产生的错误更正码的其它各错误更正码片段被储存于除储存该消息数据的延伸页外的延伸页内的多个备用区间中的其中一者。
17.根据权利要求12的方法,其中该链接串行表示该多个错误更正码片段的链接关系。
18.根据权利要求12的方法,其进一步包含下列步骤:
自该闪存的至少一延伸页的至少一备用区间读取该链接串行的一错误更正码;以及
根据该链接串行和其对应的错误更正码更正该链接串行。
19.根据权利要求12的方法,其中每一快闪页包含一512字节的倍数的数据区间和一16字节的倍数的备用区间。
20.一种自一闪存读取消息数据和其对应的错误更正码的方法,其特征在于包含下列步骤:
自一闪存的至少一延伸页的至少一备用区间读取一链接串行,其中每一延伸页是由多个快闪页合并而成;
自该闪存的一延伸页的一延伸数据区间读取一消息数据;
根据该链接串行自该闪存的至少一延伸页的多个备用区间读取多个错误更正码片段,其中每个片段分别对应该链接串行的结点;
合并该等错误更正码片段成一错误更正码,其中该错误更正码的长度取决于该链接串行的结点数目;以及
根据该消息数据和该错误更正码更正该消息数据。
21.根据权利要求20的方法,其进一步包含下列步骤:
储存该链接串行至一随机存取存储器;
若该更正的消息数据的错误数量超过一临界值,则延长该链接串行;以及
在延长该链接串行后储存该链接串行至该闪存的至少一延伸页的至少一备用区间。
22.根据权利要求20的方法,其中每一延伸页是由两个相邻的快闪页合并而成。
23.根据权利要求20的方法,其中该多个错误更正码片段之一被储存于储存该消息数据的一延伸页内的多个备用区间中的其中一者。
24.根据权利要求23的方法,其中该产生的错误更正码的其它各错误更正码片段被储存于除储存该消息数据的延伸页外的延伸页内的多个备用区间中的其中一者。
25.根据权利要求20的方法,其中该链接串行表示该多个错误更正码片段的链接关系。
26.根据权利要求20的方法,其进一步包含下列步骤:
自该闪存的至少一延伸页的至少一备用区间读取该链接串行的一错误更正码;
根据该链接串行和其对应的错误更正码更正该链接串行;
若延长该链接串行,则重新产生该链接串行的错误更正码;以及
储存该链接串行的重新产生的错误更正码至该闪存的至少一延伸页的至少一备用区间。
27.根据权利要求20的方法,其中每一快闪页包含一512字节的倍数的数据区间和一16字节的倍数的备用区间。
CN201110037189.8A 2010-09-07 2011-02-14 闪存控制器及其方法 Active CN102402398B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/876,644 2010-09-07
US12/876,644 US8555143B2 (en) 2008-12-22 2010-09-07 Flash memory controller and the method thereof

Publications (2)

Publication Number Publication Date
CN102402398A CN102402398A (zh) 2012-04-04
CN102402398B true CN102402398B (zh) 2015-03-18

Family

ID=45884644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110037189.8A Active CN102402398B (zh) 2010-09-07 2011-02-14 闪存控制器及其方法

Country Status (2)

Country Link
CN (1) CN102402398B (zh)
TW (1) TWI440039B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6527054B2 (ja) * 2015-08-28 2019-06-05 東芝メモリ株式会社 メモリシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438573A (en) * 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
CN101056157A (zh) * 2007-05-15 2007-10-17 上海微电子装备有限公司 一种传输控制装置及其控制方法
CN101082872A (zh) * 2006-06-02 2007-12-05 上海思必得通讯技术有限公司 对产品中闪存数据的防错、纠错方法
CN101763903A (zh) * 2008-12-22 2010-06-30 财团法人工业技术研究院 快闪存储器控制器、其纠错码控制器及其方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438573A (en) * 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
CN101082872A (zh) * 2006-06-02 2007-12-05 上海思必得通讯技术有限公司 对产品中闪存数据的防错、纠错方法
CN101056157A (zh) * 2007-05-15 2007-10-17 上海微电子装备有限公司 一种传输控制装置及其控制方法
CN101763903A (zh) * 2008-12-22 2010-06-30 财团法人工业技术研究院 快闪存储器控制器、其纠错码控制器及其方法和系统

Also Published As

Publication number Publication date
CN102402398A (zh) 2012-04-04
TW201212036A (en) 2012-03-16
TWI440039B (zh) 2014-06-01

Similar Documents

Publication Publication Date Title
CN101763903B (zh) 快闪存储器控制器、其纠错码控制器及其方法和系统
JP5944941B2 (ja) クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置
US8555143B2 (en) Flash memory controller and the method thereof
US10191840B2 (en) Mapping table updating method, memory control circuit unit and memory storage device
US20210175907A1 (en) Memory controller, memory system, and memory control method
US20140380119A1 (en) Memory controller
EP2218003B1 (en) Correction of errors in a memory array
TWI446350B (zh) 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器
KR101507669B1 (ko) 리던던트 방식으로 복수의 메모리 장치들 내에 데이터 블록들을 저장하는 방법, 메모리 컨트롤러, 및 메모리 시스템
CN104871249A (zh) 数据存储系统的自适应错误纠正码
US8762823B2 (en) Method for performing data shaping, and associated memory device and controller thereof
US20090024787A1 (en) Data writing method and apparatus
US20050283647A1 (en) External storage device
US20120124450A1 (en) Method for enhancing error correction capability, and associated memory device and controller thereof
CN106802837B (zh) 一种更新错误检测和纠正ecc码的方法及装置
US8463982B2 (en) Method of storing and accessing error correcting code in NAND flash
KR101053948B1 (ko) 메모리 시스템 및 컴퓨터 시스템
CN102402398B (zh) 闪存控制器及其方法
KR101417827B1 (ko) 에러 정정 코드의 저장을 위한 플래시 메모리 제어장치 및 방법
US20210019082A1 (en) Nonvolatile memory bad row management
CN111984443A (zh) 一种分布式系统环境下的编码方法、解码方法和对应装置
CN102543213B (zh) Eeprom芯片的数据检错方法
JP2015138498A (ja) フラッシュメモリの誤り訂正符号化装置および方法
JP2005071124A (ja) 不揮発メモリシステム
JP2007042179A (ja) エラー訂正装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant