[发明专利]一种纠错方法、装置和系统在审
申请号: | 201310306315.4 | 申请日: | 2013-07-19 |
公开(公告)号: | CN104298572A | 公开(公告)日: | 2015-01-21 |
发明(设计)人: | 杨凤兰 | 申请(专利权)人: | 杨凤兰 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F12/08 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王玲;王宝筠 |
地址: | 100108 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 纠错 方法 装置 系统 | ||
技术领域
本发明涉及数据处理领域,特别是涉及一种纠错方法、装置和系统。
背景技术
固态硬盘(Solid State Disk,SSD)是一种由固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元组成。一般的固态硬盘通常使用FLASH芯片作为存储单元。FLASH即闪存,主要有NOR FLASH和NAND FLASH两种类型。由于NORFLASH的成本高于NAND FLASH,因此,固态硬盘SSD一般采用NANDFLASH作为存储芯片。
NAND FLASH具有一个特点,即在每次写入新数据前必须先做擦除操作以恢复到可以重新写入的状态,写入和擦除是一一对应的关系,因此衡量NANDflash性能的一个重要参数就是擦写次数。在NAND FLASH被不停擦写的过程中,有可能在读出时产生错误数据。这时,原来写入NAND FLASH的内容在重新读出时可能会和原来写入的内容不一致,也就是读出数据时产生错误数据。随着擦写次数的增多,读出数据时出错的位数也会增多。
现有技术中,SSD通常由一片FPGA芯片和若干NAND FLASH芯片组成。其中,FPGA芯片作为主控制器,NAND FLASH芯片作为存储单元,二者通过FLASH通道连接。为了实现对NAND FLASH芯片错误数据的纠正,在主控制器中设置编码电路、解码电路、纠错电路和更正电路。其中,编码电路用于产生校验数据,由解码电路利用校验数据判断读出数据是否包含错误,如果包含错误则由纠错电路发现错误位置,并由相应的更正电路对错误数据进行修改、更正。为了提高SSD的存储性能,通常会设置多个FLASH通道,每个FLASH通道均对应一个编码模块和一个解码模块。FLASH通道的数量越多,编码电路、解码电路占用的资源就越多,留给纠错电路的资源就越少。如果在主控制器中为每一个FLASH通道配置一个纠错模块,会导致大量占用主控制器的资源,导致主控制器资源不够用。因此,通常在主控制器中设置一个或数个(远小于FLASH通道的数量)纠错模块,被所有的flash通道复用。
发明人在实现本发明的过程中发现,现有技术至少存在以下问题:NANDflash在使用过程中随着擦写次数的增加,读出时出错的位数越来越多,所需的纠错时间越来越长。由于将多个解码模块、一个纠错模块均放在主控制器中,解码模块复用纠错模块,当多个解码模块均需要使用纠错模块时,只能顺序等候纠错。由于纠错电路不能及时纠正所有错误,导致产品实际性能会明显的下降,甚至可能降至标称性能的10%。
发明内容
为解决上述技术问题,本发明实施例提供了一种纠错方法、装置和系统,可以有效提高纠错效率,提升产品性能。技术方案如下:
根据本发明实施例的第一方面,公开了一种纠错方法,所述方法应用于纠错装置侧,所述纠错装置包括多个纠错模块,所述纠错装置与主控制器数据连接,所述纠错装置与所述主控制器独立设置,则所述方法包括:
接收所述主控制器发送的第一数据,所述第一数据为当判断读取的返回数据集与写入的初始数据集不一致时由所述主控制器向所述纠错装置发送的数据,其中,所述第一数据包括第一标识,所述第一标识用于唯一标识所述第一数据;所述初始数据集包括写入的原始有效数据和校验数据;所述返回数据集包括读出的有效数据和校验数据;
将接收的所述第一数据分配给一个或多个纠错模块;
所述一个或多个纠错模块对所述第一数据进行运算,获得包含第二标识的第二数据,以使得所述主控制器在获得所述第二数据时利用第二标识与第一标识的对应关系确定原始有效数据并利用所述第二数据包含的错误数据位置信息更正所述原始有效数据;其中,所述第二数据至少包括错误数据的位置信息,所述第二标识与所述第一标识具有一一对应关系。
进一步的,所述纠错装置还包括第一缓存模块,则所述方法还包括:
在接收所述主控制器发送的第一数据后,将第一数据按照时间顺序保存在所述第一缓存模块中;
则所述将接收的所述第一数据分配给一个或多个纠错模块包括:
当判断所述纠错装置有至少一个纠错模块空闲时,将所述第一缓存模块中最早收到的第一数据分配至空闲的纠错模块。
进一步的,所述方法还包括:
当所述纠错装置获得包含第二标识的第二数据时,将所述第二数据保存在第二缓存模块中,并向所述主控制器发送第一信号,所述第一信号用于表明所述第二缓存模块不为空,以使得所述主控制器在接收到第一信号时,从所述纠错装置读取所述第二数据。
进一步的,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杨凤兰,未经杨凤兰许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310306315.4/2.html,转载请声明来源钻瓜专利网。