主权项 |
一种闪存交织校验纠错方法,所述闪存物理块包括个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”的错误比特位上的数据,即得到正确的数据。 |