CN101527171B - 一种多通道并行纠错的闪存控制方法和装置 - Google Patents

一种多通道并行纠错的闪存控制方法和装置 Download PDF

Info

Publication number
CN101527171B
CN101527171B CN200910130461XA CN200910130461A CN101527171B CN 101527171 B CN101527171 B CN 101527171B CN 200910130461X A CN200910130461X A CN 200910130461XA CN 200910130461 A CN200910130461 A CN 200910130461A CN 101527171 B CN101527171 B CN 101527171B
Authority
CN
China
Prior art keywords
data
unit
mistake
error correction
flash memory
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
CN200910130461XA
Other languages
English (en)
Other versions
CN101527171A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN200910130461XA priority Critical patent/CN101527171B/zh
Publication of CN101527171A publication Critical patent/CN101527171A/zh
Application granted granted Critical
Publication of CN101527171B publication Critical patent/CN101527171B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供一种多通道并行纠错的闪存控制方法,所述方法包括:对写入多个通道内的闪存芯片的写入数据分别进行编码,分别生成对应所述多个通道的校验位;根据所述校验位分别对所述多个通道内的闪存芯片的读出数据是否发生错误进行判断;如果任意一个通道内的闪存芯片的读出数据发生错误,则对发生错误的读出数据进行恢复后传输。通过本发明实施例的针对多通道闪存操作模式进行的纠错码电路设计和闪存控制方法,对多个通道并行纠错,除了每个通道必要的数据缓存不会消耗额外的存储资源,在不影响系统性能的前提下也不会增加太多的硬件资源。

Description

一种多通道并行纠错的闪存控制方法和装置
技术领域
本发明涉及存储领域,尤其涉及一种多通道并行纠错的闪存控制方法和装置。
背景技术
在存储领域中,传统硬盘长期占据主导地位,直到闪存(Flash)存储介质的飞速发展。目前,闪存已具备很多传统硬盘无法比拟的良好特性,诸如小尺寸、大容量、非易失性、低功耗等,同时,随着闪存成本价格逐渐降低,使其逐渐占据存储市场一席之地。
伴随着闪存应用领域的扩大及应用技术的发展,用户对设备读写速度要求也越来越高。然而,受物理特性的限制,单颗闪存芯片的读写带宽仅在40MB左右,也就说用单通道读写闪存设备,最大带宽不会超过40MB,这势必不能满足用户的需求。为了解决这一问题,闪存控制开发人员开发出了多通道的闪存芯片操作模式,利用多个通道读写以提高闪存绝对读写带宽,如此可以成倍的提高闪存设备的接口带宽,如:4通道理论带宽是单通道的接近4倍。
另一方面,为了保证闪存存储数据的可靠性,在闪存控制中设计了ECC(Error Correct Code,纠错码)电路以在一定程度上对数据进行保护,同时在一定纠错能力范围内恢复数据。当数据写入闪存时,先对其进行编码,编码完成后将生成的校验位连同编码后的数据一起写入;从闪存读取数据时,对读出的数据进行译码(分为检错和纠错两部分),检测并纠正纠错能力范围内的数据。
目前,ECC操作的单位都是以扇区(512B)为单位,在数据写入过程中,编码可以与数据写入同步进行,数据读出过程中则不然,译码消耗的时间超过512B数据传输时间,这势必会影响读带宽,对此,通常采用流水纠错设计避免译码延迟对读带宽的影响。然而,一方面,流水纠错设计需要缓存每个扇区数据,直到译码完成,这样会消耗扇区数据大小的额外存储资源;另一方面,目前的纠错码设计都只针对单通道,没有专门针对多通道,而多通道并行读写的方式使得闪存设备接口读写带宽成倍增长,也就是说,到达用户端的将是一个单通道、高速度的数据流。
发明人在实现本发明的过程中发现,如果将纠错码放在接近用户端的主通道上实现,会给纠错码设计带来很大的压力,纠错电路本身很难达到一个较高的时钟频率,这会影响整个系统性能;如果将纠错码放在每个通道上实现,每个通道都需要复制一份纠错电路,硬件资源成倍增加,这会导致芯片面积大大增加。
发明内容
本发明实施例提供一种多通道并行纠错的闪存控制方法和装置,以解决现有的纠错码电路的设计会影响系统性能及增加硬件资源的问题。
本发明实施例的上述目的是通过如下技术方案实现的:
一种多通道并行纠错的闪存控制方法,所述方法包括:对写入多个通道内的闪存芯片的写入数据分别进行编码,分别生成对应所述多个通道的校验位;根据所述校验位分别对所述多个通道内的闪存芯片的读出数据是否发生错误进行判断;如果任意一个通道内的闪存芯片的读出数据发生错误,则对发生错误的读出数据进行恢复后传输,并直接传输未发生错误的读出数据。
一种多通道并行纠错装置,所述装置包括:多个编码单元,每一编码单元用于对写入对应通道内的闪存芯片的写入数据进行编码,生成校验位;多个检错单元,每一检错单元用于根据所述校验位判断对应通道内的闪存芯片的读出数据是否发生错误;一个纠错单元,用于在任意一个检错单元的判断结果为对应通道内的闪存芯片的读出数据发生错误时,对所述发生错误的闪存芯片的读出数据进行恢复并传输;数据传输控制单元,与所述多个编码单元、多个检错单元以及所述纠错单元相连,用于控制每一编码单元对写入各个通道内的闪存芯片的数据进行编码,控制每一检错单元对各个通道内的闪存芯片中读出的数据进行出错判断,若发现错误,控制所述纠错单元对错误数据进行恢复;直接传输其他未出现错误的通道内的闪存芯片的读出数据。
通过本发明实施例的针对多通道闪存操作模式进行的纠错码电路设计和闪存控制方法,对多个通道并行纠错,除了每个通道必要的数据缓存不会消耗额外的存储资源,在不影响系统性能的前提下也不会增加太多的硬件资源。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明实施例的多通道并行纠错的闪存控制方法流程图;
图2为本发明实施例的多通道并行纠错装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种多通道并行纠错的闪存控制方法,以下结合附图对本实施例进行详细说明。
图1为本实施例的方法流程图,请参照图1,本实施例的多通道并行纠错的闪存控制方法主要包括:
101:对写入多个通道内的闪存芯片的写入数据分别进行编码,分别生成对应多个通道的校验位;
102:根据所述校验位分别对所述多个通道内的闪存芯片的读出数据是否发生错误进行判断;
103:如果任意一个通道内的闪存芯片的读出数据发生错误,则对发生错误的读出数据进行恢复后传输。
在本实施例中,对发生错误的读出数据进行恢复是在纠错能力范围内进行,对于纠错能力范围则取决于所采用的纠错单元的设置,本实施例并不以此作为限制。
根据本实施例,如果所述多个通道内的闪存芯片的读出数据未发生错误,则对未发生错误的闪存芯片的读出数据直接进行传输。
本实施例针对闪存的每个通道进行编码和检错,并统一纠错。在不增加太多硬件资源的同时实现闪存的多个通道并行纠错。这样避免了在用户端主通道上设计ECC难以达到较高的时钟频率而影响主通道读带宽,进而影响整个系统性能的问题;同时,复用纠错单元也避免了在每个通道都设计ECC会消耗过多的硬件资源的问题。
本发明实施例还提供一种多通道并行纠错装置,以下结合附图对本实施例进行详细说明。
图2为本实施例的装置组成框图,请参照图2,本实施例的多通道并行纠错装置主要包括:多个编码单元21、多个检错单元22以及一个纠错单元23,其中:
多个编码单元21和多个检错单元22是针对闪存的多个通道设置的,每一通道对应一个编码单元21和一个检错单元22。
每一编码单元21用于对写入对应通道的闪存芯片的写入数据进行编码,生成校验位。
在本实施例中,编码单元21是以扇区(512B)为单位对写入闪存的数据进行编码,计算校验位。
每一检错单元22用于根据所述校验位判断对应通道的闪存芯片的读出数据是否发生错误。
在本实施例中,检错单元22是在数据从闪存芯片中读出后,以扇区为单位对该读出数据进行检查,判断该读出数据是否有错,同时为纠错单元23计算提供必要的中间结果。
纠错单元23用于在任意检错单元22的判断结果为对应通道的闪存芯片的读出数据发生错误时,对所述发生错误的读出数据进行恢复。
在本实施例中,纠错单元23对发生错误的数据,以扇区为单位,根据检错单元22输出的中间结果,对发生错误的数据进行纠正。
根据本实施例,所述装置还包括:
多个闪存控制单元24,每一个闪存控制单元24与一个编码单元21、一个检错单元22及一个通道内的闪存芯片连接,用于通过所述编码单元21和所述检错单元22控制每一通道内的闪存芯片的闪存命令发送、状态查询、数据读写。
根据本实施例,所述装置还包括:
数据传输控制单元25,该数据传输控制单元25与所述多个编码单元21、多个检错单元22以及所述纠错单元23相连,用于控制各个通道内的闪存芯片的数据双向传输;控制编码单元21对写入各通道的闪存芯片的数据进行编码;控制检错单元22对各个通道的闪存芯片中读出的数据进行出错判断,若发现错误,则控制纠错单元23对错误数据进行恢复;控制闪存控制单元24读写命令的执行顺序。
根据本实施例,所述装置还包括:
高速缓存单元Cache 26,该高速缓存单元Cache 26与所述数据传输控制单元25、所述纠错单元23以及用户端,例如PC相连,用于将经过纠错单元23纠错后的数据以及经过数据传输控制单元25直接传输的数据按指定位置进行缓存,以供用户端按序读出。
本发明实施例在闪存的每个通道上设置独立的编码单元和检错单元,纠错单元则是多个编码单元和检错单元共用一个。多通道数据同时出错的概率极低,因此,共用纠错单元能够满足带宽设计要求。
根据本实施例提供的多通道并行纠错装置,数据写入闪存前要经过编码单元21计算校验位;数据从闪存读出后要经过检错单元22判断数据是否发生错误;若有错,数据进入纠错单元23,纠错单元23能在纠错能力范围内对数据进行恢复。这也就是说,编码单元21和检错单元22是读写数据流必经的,而纠错单元23只针对错误数据有效。由于数据出错概率很小,纠错单元使用的概率也会很小。
再请参照图2,假设某闪存具有n个通道,本实施例为该闪存设计了n个编码单元和n个检错单元,每一编码单元和每一检错单元通过一个闪存控制单元与一组闪存芯片相连,同时,本实施例还为该闪存设计了一个纠错单元,通过数据传输控制单元与编码单元和检错单元相连。
在不发生错误的情况下,纠错单元不会被启动,若任意检错单元检查到数据错误,会启动纠错单元纠正错误数据,该装置可以自然形成流水,不会影响到读带宽。这是因为闪存出错概率不高,纠错单元对数据有错的通道进行纠错的同时,其他未出现错误的通道数据可以通过数据传输控制单元正常传输。同一时间只能有一个通道往用户端数据缓存cache中写数据,因此,只要让无错的通道先进行数据传输,就可以为错误的通道赢得纠错时间。
本实施例针对多通道的闪存操作模式,将实现简单且硬件资源消耗少、占用芯片面积小的ECC电路的编码单元和检错单元设置于每一通道上,对每一通道上的闪存芯片的数据进行编码和检错,而将实现复杂且硬件资源消耗多的ECC电路的纠错单元设置于主通道上,在检错单元检查出其对应的通道上的闪存芯片的读出数据发生错误时,通过该纠错单元进行纠正。如此,在不增加太多硬件资源的同时实现了闪存的多个通道并行纠错。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种多通道并行纠错的闪存控制方法,其特征在于,所述方法包括:
对写入多个通道内的闪存芯片的写入数据分别进行编码,分别生成对应所述多个通道的校验位;
根据所述校验位分别对所述多个通道内的闪存芯片的读出数据是否发生错误进行判断;
如果任意一个通道内的闪存芯片的读出数据发生错误,则在对发生错误的读出数据进行恢复后传输,并直接传输未发生错误的读出数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果判断所述多个通道内的闪存芯片的读出数据未发生错误,则对未发生错误的读出数据直接进行传输。
3.根据权利要求1所述的方法,其特征在于,所述对发生错误的读出数据进行恢复包括:
在纠错能力范围内对发生错误的读出数据进行恢复。
4.一种多通道并行纠错装置,其特征在于,所述装置包括:
多个编码单元,每一编码单元用于对写入对应通道内的闪存芯片的写入数据进行编码,生成校验位;
多个检错单元,每一检错单元用于根据所述校验位判断对应通道内的闪存芯片的读出数据是否发生错误;
纠错单元,用于在任意一个检错单元的判断结果为对应通道内的闪存芯片的读出数据发生错误时,对所述发生错误的读出数据进行恢复并传输;
数据传输控制单元,与所述多个编码单元、多个检错单元以及所述纠错单元相连,用于控制每一编码单元对写入各个通道内的闪存芯片的数据进行编码,控制每一检错单元对各个通道内的闪存芯片中读出的数据进行出错判断,若发现错误,控制所述纠错单元对错误数据进行恢复;直接传输其他未出现错误的通道内的闪存芯片的读出数据。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
多个闪存控制单元,每一个闪存控制单元与所述多个编码单元中的一个编码单元、所述多个检错单元中的一个检错单元及一个通道内的闪存芯片连接,用于通过所述编码单元和所述检错单元控制每一通道内的闪存芯片的闪存命令发送、状态查询、数据读写。
6.根据权利要求4所述的装置,其特征在于,所述数据传输控制单元还用于控制各个通道内的闪存芯片的数据双向传输。
7.根据权利要求4所述的装置,其特征在于,所述数据传输控制单元还用于控制闪存控制单元读写命令执行顺序。
8.根据权利要求4-7任一项所述的装置,其特征在于,所述装置还包括:
高速缓存单元,与所述数据传输控制单元、所述纠错单元以及用户端相连,用于将经过纠错单元纠错后的数据以及经过所述数据传输控制单元直接传输的数据按指定位置进行缓存,以供用户端按序读出。
9.根据权利要求4所述的装置,其特征在于:所述检错单元以扇区为单位对所述读出数据进行检查,判断该读出数据是否有错,同时为所述纠错单元计算提供必要的中间结果,所述纠错单元对发生错误的数据,以扇区为单位根据检错单元输出的中间结果,对发生错误的数据进行纠正。
CN200910130461XA 2009-04-17 2009-04-17 一种多通道并行纠错的闪存控制方法和装置 Active CN101527171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910130461XA CN101527171B (zh) 2009-04-17 2009-04-17 一种多通道并行纠错的闪存控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910130461XA CN101527171B (zh) 2009-04-17 2009-04-17 一种多通道并行纠错的闪存控制方法和装置

Publications (2)

Publication Number Publication Date
CN101527171A CN101527171A (zh) 2009-09-09
CN101527171B true CN101527171B (zh) 2012-05-23

Family

ID=41094996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910130461XA Active CN101527171B (zh) 2009-04-17 2009-04-17 一种多通道并行纠错的闪存控制方法和装置

Country Status (1)

Country Link
CN (1) CN101527171B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011116454A1 (en) * 2010-03-22 2011-09-29 Mosaid Technologies Incorporated Composite semiconductor memory device with error correction
CN101901169B (zh) * 2010-03-23 2013-08-28 华为数字技术(成都)有限公司 扫描装置及方法
CN101964205B (zh) * 2010-09-17 2013-08-07 记忆科技(深圳)有限公司 基于固态硬盘的ecc模块动态复用系统及方法
CN102543209B (zh) * 2010-12-31 2015-09-30 深圳市朗科科技股份有限公司 多通道闪存控制器的纠错装置、方法及多通道闪存控制器
US9086983B2 (en) * 2011-05-31 2015-07-21 Micron Technology, Inc. Apparatus and methods for providing data integrity
CN103019883B (zh) * 2012-12-31 2015-08-26 华为技术有限公司 一种内存纠错方法及系统
CN103544995B (zh) * 2013-08-27 2016-09-21 华为技术有限公司 一种坏道修复方法及装置
CN104810059B (zh) * 2014-01-23 2018-04-13 群联电子股份有限公司 错误处理方法、存储器储存装置与存储器控制电路单元
CN104331252B (zh) * 2014-10-10 2017-08-25 上海新储集成电路有限公司 异构nand固态硬盘结构及其数据读取管理方法
FR3040523B1 (fr) 2015-08-28 2018-07-13 Continental Automotive France Procede de detection d'une erreur non corrigible dans une memoire non volatile d'un microcontroleur
CN110968449A (zh) * 2018-09-28 2020-04-07 方一信息科技(上海)有限公司 用于多通道闪存控制器的bch ecc纠错资源共享系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3949208A (en) * 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word
US4486881A (en) * 1980-06-19 1984-12-04 Thomson-Csf Device for real-time correction of errors in data recorded on a magnetic medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3949208A (en) * 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word
US4486881A (en) * 1980-06-19 1984-12-04 Thomson-Csf Device for real-time correction of errors in data recorded on a magnetic medium

Also Published As

Publication number Publication date
CN101527171A (zh) 2009-09-09

Similar Documents

Publication Publication Date Title
CN101527171B (zh) 一种多通道并行纠错的闪存控制方法和装置
US11669379B2 (en) Controller that receives a cyclic redundancy check (CRC) code for both read and write data transmitted via bidirectional data link
CN111081308B (zh) 用于混合非易失性存储系统的系统和方法
US8726140B2 (en) Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same
TWI451434B (zh) 在記憶體控制器中之資料完整性及方法
EP2297641B1 (en) Efficient in-band reliability with separate cyclic redundancy code frames
US8514507B2 (en) Processing data for recording to a storage device
CN102103558B (zh) 一种带有写重传功能的多通道NANDflash控制器
CN102110481A (zh) 具有ecc电路的半导体存储系统及其控制方法
US20150026509A1 (en) Storage device having a data stream converter
CN106874140B (zh) 数据存储方法及装置
CN110597654B (zh) 用于超快的具有奇偶校验的纠错码的系统和方法
US9252810B2 (en) Memory system and method of controlling memory system
CN112596674B (zh) 一种用于固态硬盘主控缓存数据双重保护的方法及系统
CN105786749A (zh) 一种基于nand flash接口的双通道ata协议桥接装置
KR20150006616A (ko) 데이터 처리 시스템 및 그것의 동작 방법
TW202338851A (zh) 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置
CN103135946A (zh) 基于ssd的大规模存储系统中的文件布局方法
CN113051109B (zh) 一种高可靠、低误码率的星载存储系统
CN104182292A (zh) 一种数据存储方法及装置
JP2015135676A (ja) 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置
CN101452722B (zh) 错误检测码产生电路和使用该电路的编码电路及相关方法
CN101894582B (zh) 存储数据译码方法,装置以及设备
CN117785025B (zh) Ecc与raid5混合编码优化ssd读性能的方法
CN117331866A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221012

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.