错误修正方法以及存储器装置制造方法
【专利摘要】本发明提供一种错误修正方法,适用于一存储器装置,其中存储器装置包括多个页面。错误修正方法包括根据一第一读取命令,依序读取页面中的一第一页面的多个第一扇区的数据;当读取第一页面时,借由一错误修正模块,对已读取的第一扇区的数据,进行一第一错误修正;当第一页面的所有第一扇区的数据读取完毕时,产生一第二读取命令;以及根据一第二读取命令,接续于第一页面的所有第一扇区的数据读取完毕后,依序读取页面中的一第二页面的多个第二扇区的数据。
【专利说明】错误修正方法以及存储器装置
【技术领域】
[0001] 本发明关于一种适用于存储器装置的错误修正方法;特别关于一种可以连续读取 页面的数据的错误修正方法。
【背景技术】
[0002] 非挥发快闪存储器(non-volatile memory)被广泛使用在很多应用中,例如固态 硬盘(solid-state disk, SSD)、存储卡、数码相机、数码摄影机、多媒体播放器、移动电话、 电脑和许多其他电子装置。
[0003] 然而,当储存在快闪存储器中的处理数据(例如固件firmware)遗失或受损时 (亦或者设计错误),会导致快闪存储器控制器的处理单元无法正常操作,使得使用者无法 读取快闪存储器中的内容。因此,亟需要一种快闪存储器控制器,使得当储存在快闪存储器 中的处理数据有错误(bug)时,可分析快闪存储器的数据并确认错误所在。
[0004] 然而,一般的错误修正程序与页面读取动作是同时进行的,装置需要等到上一页 的错误修正程序以及页面读取动作皆结束后,方能对下一页面进行读取以及错误修正。因 此,加长了系统等待的时间,无法有效率地读取存储器中的数据。
【发明内容】
[0005] 本发明提供一种错误修正方法,适用于一存储器装置,其中存储器装置包括多个 页面。错误修正方法包括根据一第一读取命令,依序读取页面中的一第一页面的多个第一 扇区的数据;当读取第一页面时,借由一错误修正模块,对已读取的第一扇区的数据,进行 一第一错误修正;当第一页面的所有第一扇区的数据读取完毕时,产生一第二读取命令; 以及根据一第二读取命令,接续于第一页面的所有第一扇区的数据读取完毕后,依序读取 页面中的一第二页面的多个第二扇区的数据。
[0006] 本发明亦提供一种错误修正方法,适用于一存储器装置,其中存储器装置包括多 个页面。错误修正方法包括根据一第一读取命令,依序读取页面中的一第一页面的多个第 一扇区的数据;当读取第一页面时,借由一错误修正模块,对已读取的第一扇区的数据,进 行一第一错误修正;当第一页面的所有第一扇区的数据读取完毕并且第一错误修正未执行 完毕时,产生一第二读取命令;以及根据一第二读取命令,依序读取页面中的一第二页面的 多个第二扇区的数据。
[0007] 本发明更提供一种存储器装置。存储器装置包括一快闪存储器、一存储器控制器 以及一处理器。快闪存储器具有多个页面。存储器控制器用以根据一第一读取命令,依序 读取页面中的一第一页面的多个第一扇区的数据,以及根据一第二读取命令,接续于第一 页面的所有第一扇区的数据读取完毕后,依序读取页面中的一第二页面的多个第二扇区的 数据。存储器控制器更包括一错误修正模块,用以当存储器控制器读取第一页面时,对存储 器控制器已读取的第一扇区的数据,进行一第一错误修正。处理器用以产生第一读取命令, 并且当存储器控制器将第一页面的所有第一扇区的数据读取完毕时,产生第二读取命令。
【专利附图】
【附图说明】
[0008] 图1为本发明存储器装置的方块图。
[0009] 图2为本发明存储器装置的讯号流的示意图。
[0010] 图3为本发明错误修正方法的流程图。
[0011] 【符号说明】
[0012] 100 存储器装置
[0013] 110 快闪存储器
[0014] 120 存储器控制器
[0015] 130 处理器
[0016] 122 暂存器
[0017] 124 错误修正模块
[0018] CMD1-CMDN 读取命令
[0019] META1-METAN 中介数据
[0020] DAP1-DAPN 页面的扇区的数据
[0021] 202 第一错误修正
[0022] 204 第二错误修正
【具体实施方式】
[0023] 以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发 明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说 明本发明的装置及使用方法,但非用于限定本发明的范围。
[0024] 图1为本发明存储器装置的方块图。存储器装置100包括一快闪存储器110、一存 储器控制器120以及一处理器130。快闪存储器110具有多个页面(page),其中每一页面 具有多个扇区(sector),用以储存数据。存储器控制器120用以分别根据处理器130所产 生的多个读取命令CMD1-CMDN,依序读取相应的多个页面中的扇区的数据DAP1-DAPN。值得 注意的是,第一页面的多个扇区可称为第一扇区,第二页面的多个扇区可称为第二扇区,依 此类推。举例而言,存储器控制器120根据一第一读取命令CMD1,依序读取一第一页面中的 所有扇区的数据DAP1。接着,接续于第一页面的所有扇区的数据DAP1读取完毕后,存储器 控制器120根据一第二读取命令CMD2,依序读取一第二页面中的所有扇区的数据DAP2,依 此类推。值得注意的是,存储器控制器120更包括一暂存器122以及一错误修正模块124。
[0025] 暂存器122用以储存读取命令CMD1-CMDN中的中介数据META1-META2。举例而言, 当存储器控制器120自处理器130接收到第一读取命令CMD1后,存储器控制器120将第一 读取命令CMD1中的一第一中介数据META1储存于暂存器122。当错误修正模块124执行相 应于第一页面的一第一错误修正时,存储器控制器120更用以将第一中介数据META1提供 至错误修正模块124。接着,当存储器控制器120自处理器130接收到第二读取命令CMD2 后,存储器控制器12将第二读取命令CMD2中的一第二中介数据META2储存于暂存器122 中。当错误修正模块124执行相应于第二页面的一第二错误修正时,存储器控制器120更 用以将第二中介数据META2提供至错误修正模块124,依此类推。
[0026] 错误修正模块124用以当存储器控制器120读取相应于所接收的读取命令的页 面时,对已被存储器控制器120读取的扇区的数据进行错误修正。举例而言,当存储器控 制器120读取第一页面时,错误修正模块124对已被存储器控制器120读取的扇区的数据 DAP1,进行一第一错误修正。值得注意的是,错误修正模块124更用以当存储器控制器120 读取第二页面并且第一错误修正未执行完毕时,根据存储器控制器120已读取的扇区的数 据DAP1,继续进行第一错误修正,并且当读取第二页面并且第一错误修正执行完毕时,对已 读取的扇区的数据DAP2,进行一第二错误修正,依此类推。在本发明的另一实施例中,错误 修正模块124更用以当进行第一错误修正时,撷取第一中介数据META1。错误修正模块124 更用以当进行第二错误修正时,撷取第二中介数据META2,依此类推。因此,当错误修正模块 124发现一错误时,错误修正模块124可根据所撷取的中介数据,判断错误为哪一扇区的数 据。举例而言,当错误修正模块124发现一错误时,错误修正模块124可根据所撷取的第二 中介数据META2,判断错误为第二页面扇区的数据,以修正所发现的错误。
[0027] 换言之,错误修正模块124用以依序地对已被存储器控制器120读取的页面的数 据进行错误修正。存储器控制器120用以依序地对多个页面进行读取,就算错误修正模块 124尚未完成上一页面所有扇区的数据的错误修正,存储器控制器120仍会继续读取下一 页面的扇区的数据。因此,在本发明中,存储器控制器120不受错误修正影响,而连续地对 快闪存储器110中的多个页面进行读取。因此,在某些实施例中,当存储器控制器120在读 取一页面的数据时,错误修正模块124仍在进行上一页面的错误修正。
[0028] 处理器130用以产生读取命令CMD1-CMDN。举例而言,处理器130首先产生第一读 取命令CMD1,并将第一读取命令CMD1传送至存储器控制器120,使得存储器控制器120依 序地读取第一页面的扇区的数据DAP1。接着,当存储器控制器120将第一页面的所有扇区 的数据DAP1读取完毕时,处理器130产生第二读取命令CMD2,并将第二读取命令CMD2传送 至存储器控制器120,使得存储器控制器120依序地读取第二页面的扇区的数据DAP2,依此 类推。值得注意的是,每一读取命令CMD1-CMDN分别包括一中介数据META1-METAN,每一中 介数据META1-METAN分别包括一页面的逻辑位址、物理位址及/或直接存储器存取(Direct Memory Access, DMA)信息,本发明不限于此。值得注意的是,在某些实施例中,处理器130 是当第一页面的所有扇区的数据DAP1读取完毕且第一错误修正未执行完毕时,产生第二 读取命令CMD2。
[0029] 图2为本发明存储器装置的讯号流的示意图。当处理器130产生包括第一中介数 据META1的第一读取命令CMD1时,存储器控制器120开始依序地读取的第一页面的扇区的 数据DAP1。接着,错误修正模块124依序地对已读取的第一页面的扇区的数据DAP1进行 第一错误修正202。当存储器控制器12读取完所有第一页面的扇区的数据DAP1时,处理 器130无须等待第一页面的扇区的数据DAP1是否可以正确将错误修正即产生包括第二中 介数据META2的第二读取命令CMD2,并且存储器控制器120开始依序地读取第二页面的扇 区的数据DAP2。此时,由于第一错误修正202尚未执行完毕,因此存储器控制器120读取的 第二页面的扇区的数据DAP2的时间与第一错误修正202的时间是重叠的,直到第一错误修 正202执行完毕。当第一错误修正202执行完毕时,错误修正模块124方可依序地对已读 取的第二页面的扇区的数据DAP2进行第二错误修正204,依此类推。值得注意的是,在其 他实施例中,存储器控制器120读取的第二页面的扇区的数据DAP2的时间与第一错误修正 202的时间亦可能不会重叠,但本发明不限于此。
[0030] 举例而言,快闪存储器110中的每一页面皆具有8个扇区,每一扇区皆具有1K位 元,但本发明不限于此。存储器控制器120根据第一读取命令CMD1依序地读取快闪存储器 110中的第一页面的8个扇区,并且错误修正模块124依序地对已读取的第一页面的扇区的 数据DAP1进行错误修正。当存储器控制器120读取完第一页面的第1至第8个扇区时,处 理器130产生第二读取命令CMD2。因此,存储器控制器120于读取完第一页面的第8个扇 区后,紧接着根据第二读取命令CMD2,依序读取第二页面的第1至第8个扇区。在一实施例 中,当存储器控制器120读取完第一页面的第1至第8个扇区时,错误修正模块124依序地 对已读取的扇区进行错误修正至第一页面的第6个扇区。换言之,当存储器控制器120读 取完第一页面的第1至第8个扇区时,错误修正模块124尚未完成第一页面的第一错误修 正。此时,存储器控制器120已开始依序读取第二页面的扇区。然而在本实施例中,错误修 正模块124仍继续对第一页面剩下的第7以及第8个扇区的数据进行错误修正,直到错误 修正模块124对第一页面的第8个扇区的数据进行完错误修正为止。当错误修正模块124 对第一页面的第8个扇区的进行完错误修正,错误修正模块124方可开始对存储器控制器 120已读取的第二页面的扇区的数据DAP2进行错误修正。
[0031] 图3为本发明错误修正方法的流程图,其中错误修正方法适用于图1所示的存储 器装置100。流程开始于步骤S302。
[0032] 在步骤S302中,存储器控制器120根据处理器130所产生的第一读取命令CMD1, 开始依序读取一第一页面中的所有扇区的数据DAP1。值得注意的事,在某些实施例中,第一 读取命令CMD1更包括一第一中介数据META1。存储器控制器120更用以将第一中介数据 META1储存于暂存器122中。
[0033] 接着,在步骤S304中,当存储器控制器120读取第一页面时,借由一错误修正模块 124,对已读取的扇区的数据DAP1,开始进行一第一错误修正。值得注意的事,在某些实施例 中,当错误修正模块124进行第一错误修正时,错误修正模块124更用以撷取暂存器122中 的第一中介数据META1。当错误修正模块124发现一错误时,错误修正模块124可根据所撷 取的第一中介数据META1,判断错误为扇区的数据DAP1。
[0034] 接着,在步骤S306中,处理器130判断存储器控制器120是否已将第一页面中的 所有扇区的数据DAP1读取完毕。当存储器控制器12已将第一页面中的所有扇区的数据 DAP1读取完毕时,流程进行至步骤S308 ;否则,处理器130继续判断存储器控制器120是否 已将第一页面中的所有扇区的数据DAP1读取完毕。
[0035] 在步骤308中,处理器130产生一第二读取命令CMD2,存储器控制器120根据第 二读取命令CMD2,接续于第一页面的所有扇区的数据DAP1读取完毕后,开始依序读取页面 中的一第二页面的多个扇区的数据DAP2。值得注意的事,在某些实施例中,第二读取命令 CMD2更包括一第二中介数据META2。存储器控制器120更用以将第二中介数据META2储存 于暂存器122中。
[0036] 接着,在步骤310中,错误修正模块124判断第一错误修正是否完成。当第一错误 修正完成时,流程进行至步骤S312。当第一错误修正未完成时,流程进行至步骤S314。
[0037] 在步骤S312中,当读取第二页面并且第一错误修正执行完毕时,错误修正模块 124,错误修正模块124开始对已读取第二页面的扇区的数据DAP2,进行一第二错误修正。 值得注意的事,在某些实施例中,当错误修正模块124进行第二错误修正时,错误修正模块 124更用以撷取暂存器122中的第二中介数据META2。当错误修正模块124发现一错误时, 错误修正模块124可根据所撷取的第二中介数据META2,判断错误为第二页面的扇区的数 据DAP2。流程结束于步骤S312,但本发明不限于此。在其他实施例中,处理器130继续产生 相应于第三页面、第四页面等的读取命令。接着,存储器控制器120以及错误修正模块124 的操作步骤相似于步骤S302-S318,请参考上述说明,在此不再赘述。
[0038] 在步骤S314中,当读取第二页面并且第一错误修正未执行完毕时,错误修正模块 124对已读取的扇区的数据DAP1,继续进行第一错误修正。值得注意的事,在本实施例中, 处理器130是当第一页面的所有扇区的数据DAP1读取完毕且第一错误修正未执行完毕时, 产生第二读取命令CMD2的。
[0039] 接着,在步骤S316中,错误修正模块124判断第一错误修正是否完成。当第一错 误修正完成时,流程进行至步骤S318,否则,错误修正模块124继续判断第一错误修正是否 完成。
[0040] 在步骤S318中,当读取第二页面并且第一错误修正执行完毕时,错误修正模块 124对已读取的扇区的数据DAP2,开始进行一第二错误修正。值得注意的事,在某些实施例 中,当错误修正模块124进行第二错误修正时,错误修正模块124更用以撷取暂存器122中 的第二中介数据META2。当错误修正模块124发现一错误时,错误修正模块124可根据所撷 取的第二中介数据META2,判断错误为扇区的数据DAP2。流程结束于步骤S318,但本发明不 限于此。在其他实施例中,处理器130继续产生相应于第三页面、第四页面等的读取命令。 接着,存储器控制器120以及错误修正模块124的操作步骤相似于步骤S302-S318,请参考 上述说明,在此不再赘述。
[0041] 本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于 实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如电脑可读取)储存媒体,亦 或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器 变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任 何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以 参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似 于应用特定逻辑电路的独特装置。
[0042] 惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范 围,即大凡依本发明权利要求及发明说明内容所作的简单的等效变化与修饰,皆仍属本发 明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所公开的全部 目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制 本发明的权利范围。
【权利要求】
1. 一种错误修正方法,适用于一存储器装置,其中上述存储器装置包括多个页面,上述 错误修正方法包括: 根据一第一读取命令,依序读取上述页面中的一第一页面的多个第一扇区的数据; 当读取上述第一页面时,借由一错误修正模块,对已读取的上述第一扇区的数据,进行 一第一错误修正; 当上述第一页面的所有上述第一扇区的数据读取完毕时,产生一第二读取命令;以及 根据上述第二读取命令,接续于上述第一页面的所有上述第一扇区的数据读取完毕 后,依序读取上述页面中的一第二页面的多个第二扇区的数据。
2. 根据权利要求1所述的错误修正方法,其特征在于,上述第二读取命令是当上述第 一页面的所有上述第一扇区的数据读取完毕且上述第一错误修正未执行完毕时产生的。
3. 根据权利要求1所述的错误修正方法,其特征在于,更包括: 当读取上述第二页面并且上述第一错误修正未执行完毕时,对已读取的上述第一扇区 的数据,继续进行上述第一错误修正;以及 当读取上述第二页面并且上述第一错误修正执行完毕时,借由上述错误修正模块,对 已读取的上述第二扇区的数据,进行一第二错误修正。
4. 根据权利要求3所述的错误修正方法,其特征在于,上述第一读取命令以及上述第 二读取命令更分别包括一第一中介数据以及一第二中介数据。
5. 根据权利要求4所述的错误修正方法,其特征在于,更包括: 当进行上述第一错误修正时,借由上述错误修正模块撷取上述第一中介数据; 当进行上述第二错误修正时,借由上述错误修正模块撷取上述第二中介数据;以及 当上述错误修正模块发现一错误时,根据所撷取的上述第一中介数据或者上述第二中 介数据,判断上述错误为上述第一扇区的数据或者上述第二扇区的数据。
6. -种错误修正方法,适用于一存储器装置,其中上述存储器装置包括多个页面,上述 错误修正方法包括: 根据一第一读取命令,依序读取上述页面中的一第一页面的多个第一扇区的数据; 当读取上述第一页面时,借由一错误修正模块,对已读取的上述第一扇区的数据,进行 一第一错误修正; 当上述第一页面的所有上述第一扇区的数据读取完毕并且上述第一错误修正未执行 完毕时,产生一第二读取命令;以及 根据上述第二读取命令,依序读取上述页面中的一第二页面的多个第二扇区的数据。
7. 根据权利要求1所述的错误修正方法,其特征在于,依序读取上述第二页面的上述 第二扇区的数据的步骤是接续于上述第一页面的所有上述第一扇区的数据读取完毕后执 行的。
8. 根据权利要求6所述的错误修正方法,其特征在于,更包括: 当读取上述第二页面并且上述第一错误修正未执行完毕时,对已读取的上述第一扇区 的数据,继续进行上述第一错误修正;以及 当读取上述第二页面并且上述第一错误修正执行完毕时,借由上述错误修正模块,对 已读取的上述第二扇区的数据,进行一第二错误修正。
9. 根据权利要求8所述的错误修正方法,其特征在于,上述第一读取命令以及上述第 二读取命令更分别包括一第一中介数据以及一第二中介数据。
10. 根据权利要求9所述的错误修正方法,其特征在于,更包括: 当进行上述第一错误修正时,借由上述错误修正模块撷取上述第一中介数据; 当进行上述第二错误修正时,借由上述错误修正模块撷取上述第二中介数据;以及 当上述错误修正模块发现一错误时,根据所撷取的上述第一中介数据或者上述第二中 介数据,判断上述错误为上述第一扇区的数据或者上述第二扇区的数据。
11. 一种存储器装置,包括: 一快闪存储器,具有多个页面; 一存储器控制器,用以根据一第一读取命令,依序读取上述页面中的一第一页面的多 个第一扇区的数据,以及根据一第二读取命令,接续于上述第一页面的所有上述第一扇区 的数据读取完毕后,依序读取上述页面中的一第二页面的多个第二扇区的数据,其中上述 存储器控制器更包括一错误修正模块,用以当上述存储器控制器读取上述第一页面时,对 上述存储器控制器已读取的上述第一扇区的数据,进行一第一错误修正;以及 一处理器,用以产生上述第一读取命令,并且当上述存储器控制器将上述第一页面的 所有上述第一扇区的数据读取完毕时,产生上述第二读取命令。
12. 根据权利要求11所述的存储器装置,其特征在于,上述处理器是当上述第一页面 的所有上述第一扇区的数据读取完毕且上述第一错误修正未执行完毕时,产生上述第二读 取命令。
13. 根据权利要求11所述的存储器装置,其特征在于,上述错误修正模块更用以当读 取上述第二页面并且上述第一错误修正未执行完毕时,对已读取的上述第一扇区的数据, 继续进行上述第一错误修正,并且当读取上述第二页面并且上述第一错误修正执行完毕 时,对已读取的上述第二扇区的数据,进行一第二错误修正。
14. 根据权利要求13所述的存储器装置,其特征在于,上述存储器控制器更包括一暂 存器,用以储存上述第一读取命令中的一第一中介数据以及上述第二读取命令中的一第二 中介数据。
15. 根据权利要求14所述的存储器装置,其特征在于,上述错误修正模块更用以当进 行上述第一错误修正时,撷取上述第一中介数据,以及当进行上述第二错误修正时,撷取上 述第二中介数据,其中当上述错误修正模块发现一错误时,上述错误修正模块更用以根据 所撷取的上述第一中介数据或者上述第二中介数据,判断上述错误为上述第一扇区的数据 或者上述第二扇区的数据。
【文档编号】G11C29/44GK104064221SQ201310135930
【公开日】2014年9月24日 申请日期:2013年4月18日 优先权日:2013年3月18日
【发明者】王端杰, 官启智, 陈俊谕, 乔梦麟 申请人:慧荣科技股份有限公司