发明名称 一种闪存交织校验纠错方法及闪存控制器
摘要 本发明公开了一种闪存交织校验纠错方法及闪存控制器,若S(m,n)表示闪存物理块中的一个存储扇区,其中,m为该扇区在逻辑页中的序号,m∈[1,M],n为该扇区所处逻辑页的序号,n∈[1,N],在写数据时,S(m,N)扇区不作为数据存储区,而是作为冗余校验区,形成校验链。读数据时,采用通常的校验码纠错失败时,查找同时包含该校验扇区和出错扇区的校验链,计算出错扇区中错误比特的位置,翻转出错扇区中为“1”的比特位上的数据,即得到正确的数据。本发明旨在通过在闪存物理块内部构建交织关联的校验冗余扇区的方式,提高了物理块中扇区信息的冗余度,增强了信息保存的健壮性。
申请公布号 CN102929736B 申请公布日期 2016.05.11
申请号 CN201210405835.6 申请日期 2012.10.23
申请人 忆正科技(武汉)有限公司 发明人 邢冀鹏;霍文捷
分类号 G06F11/07(2006.01)I 主分类号 G06F11/07(2006.01)I
代理机构 北京华沛德权律师事务所 11302 代理人 周发军
主权项 一种闪存交织校验纠错方法,所述闪存物理块包括个N个逻辑页,每个逻辑页包括M个扇区,N、M均为偶数,S(m,n)表示物理块中的一个存储扇区,其中,m为该扇区在逻辑页中的序号,m∈[1,M],n为该扇区所处逻辑页的序号,n∈[1,N],其特征在于,在写数据时,S(m,N)扇区不作为数据存储区,而是作为冗余校验区,且命名为校验扇区E(i,N),i∈[1,M];校验扇区E(i,N)根据下列公式的生成:当i=1,M时:E(i,N)=S(i+1,1)⊕S(i,2)⊕S(i+1,3)…⊕S(i,N‑2)⊕S(i+1,N‑1)当1<i<M时:E(i,N)=S(i‑1,1)⊕S(i+1,1)⊕S(i,2)⊕S(i‑1,3)⊕S(i+1,3)…⊕S(i‑1,N‑1)⊕S(i+1,N‑1)上式中,公式等号右边的数据扇区S与E(i,N)共同构成了校验链C(i);在读数据时,闪存控制器采用通常的校验码纠错失败时,查找出错扇区S’(i,j)所对应的校验扇区E(i,N),然后,查找同时包含该校验扇区E(i,N)和出错扇区S’(i,j)的校验链C(i),j∈[1,N];计算获取出错扇区S’(i,j)中错误比特位U(i),如下公式所示:当i=1,N时:U(i)=S(i+1,1)⊕S(i,2)⊕S(i+1,3)…⊕S(i,N‑2)⊕S(i+1,N‑1)⊕E(i,N)当1<i<N时:U(i)=S(i‑1,1)⊕S(i+1,1)⊕S(i,2)⊕S(i‑1,3)⊕S(i+1,3)…⊕S(i‑1,N‑1)⊕S(i+1,N‑1)⊕E(i,N)U(i)为“1”则表示S’(i,j)在该错误比特位上的数据信息有错;翻转出错扇区S’(i,j)中U(i)为“1”的错误比特位上的数据,即得到正确的数据。
地址 430070 湖北省武汉市武汉东湖新技术开发区高新二路特一号关南工业园2号厂房2-3楼西面