[发明专利]一种固态硬盘读错误处理方法在审
| 申请号: | 201811312147.9 | 申请日: | 2018-11-06 |
| 公开(公告)号: | CN109491820A | 公开(公告)日: | 2019-03-19 |
| 发明(设计)人: | 陈友元 | 申请(专利权)人: | 湖南国科微电子股份有限公司 |
| 主分类号: | G06F11/07 | 分类号: | G06F11/07 |
| 代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
| 地址: | 410100 湖南省*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 固态硬盘 主机地址 错误标记 预设 纠错 错误处理 错误信号 错误位 读请求 闪存 主机 数据丢失率 空间设置 数据块 映射表 构建 申请 | ||
本申请实施例提供了一种固态硬盘读错误处理方法,包括:以预设纠错粒度为单位构建主机地址空间的错误位图表;当数据块发生读错误时,将错误位图表中对应读错误的主机地址空间设置错误标记,错误标记的标记粒度为预设纠错粒度;获取主机下发的读请求;判断读请求对应的主机地址空间中在每个预设纠错粒度内是否有错误标记;如果有,生成读错误信号;如果没有,根据主机地址空间的映射表从闪存中读取数据;将数据或读错误信号发送到主机。本申请实施例提高了固态硬盘闪存的利用率,降低了固态硬盘数据丢失率。
技术领域
本申请涉及固态硬盘技术领域,尤其涉及一种固态硬盘读错误处理方法。
背景技术
目前绝大多数SSD(Solid State Drives,固态硬盘)使用闪存芯片作为存储介质。闪存芯片是一种非易失性存储器,其基本存储单元是浮栅晶体管,因电荷泄漏、氧化层老化等物理特性,闪存芯片在使用过程中不可避免会发生读错误、编程失败或擦编程失败等错误,固态硬盘的主控芯片必须对这些错误进行处理。
现有技术中,固态硬盘的数据块发生读错误时的处理方法为:将出错数据对应的映射表项设置UNC(Uncorrectable Error,不可校正的错误)标记,通常以4KB为粒度,下次主机再读此映射表项对应的数据时不再访问闪存芯片,而是直接向主机返回UNC错误。
由于数据块发生读错误时以映射表项进行UNC标记,只要主机读取的地址落在了有UNC标记的映射表项,就向主机返回UNC错误。这种方式可能导致主机读取的地址中部分没有错误的地址也不能够被读取,数据丢失率较高。
发明内容
本申请提供了一种固态硬盘读错误处理方法,以解决固态硬盘数据丢失率较高的问题。
本申请提供了一种固态硬盘读错误处理方法,该方法包括:
以预设纠错粒度为单位构建主机地址空间的错误位图表,其中,所述预设纠错粒度小于映射表项粒度;
当数据块发生读错误时,将所述错误位图表中对应所述读错误的主机地址空间设置错误标记,所述错误标记的标记粒度为所述预设纠错粒度。
优选地,所述方法还包括:
获取主机下发的读请求;
以所述预设纠错粒度为单位查询所述错误位图表,判断所述读请求对应的主机地址空间是否有所述错误标记;
如果有,生成读错误信号;
如果没有,根据所述主机地址空间的映射表从闪存中读取数据;
将所述数据或读错误信号发送到所述主机。
优选地,所述方法还包括:
获取主机下发的写请求;
以所述预设纠错粒度为单位查询所述错误位图表,判断所述写请求对应的主机地址空间是否有所述错误标记;
如果有,清除所述错误标记;
将所述写请求的数据写入到闪存中;
如果没有,根据所述主机地址空间的映射表将所述写请求的数据写入到所述闪存中。
优选地,所述预设纠错粒度为最小可纠错粒度。
优选地,所述错误标记包括UNC标记。
优选地,所述以预设纠错粒度为单位构建主机地址空间的错误位图表,包括:
建立包含不可校正错误信息的错误位图表,所述不可校正错误信息的数量等于所述主机地址空间与预设纠错粒度的比值,所述不可校正错误信息用二进制数值分别表示无错误标记和有错误标记;
将所述错误位图表全部初始化为无错误标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南国科微电子股份有限公司,未经湖南国科微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811312147.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种诊断服务器故障的方法和系统
- 下一篇:抗单粒子翻转的加固系统及方法





