本文继续讨论如何在PC-3000 Flash中为AU6989和AU6998构建良好的数据文件夹结构。
正如你可能知道的,有很多情况下,由于插入,我们无法确定ECC。通常,即使是普通的插入也会引起很多问题。那么,如果它们是异或的,该怎么办?
正如我们所知,坏列可以是硬件(它们总是2字节,我们可以面对它们与TLC芯片一起工作)和软件(1或2字节,可以在TLC和MLC芯片中找到)。
以下是在芯片中放置插件的示例:
在这种情况下,插入是异或的,很难使用位图检测坏列的可视化方法删除它们。
让我们回顾一下基于控制器AU6989构建的闪存驱动器的示例。
当我们试图找到ECC时,它无法确定。
要执行此操作,请转到页面设计工具并移动到最后一个范围。对于AU控制器(如1096 x8, 1104 x16, 1078 x8等),ECC的所有范围都是相同的。
为了找到插入-移除过程所需的异或,让我们尝试手动确定ECC的范围。
首先,在页面设计器(Page Designer)中转到页面的末尾,找到服务区的起点。
然后找到SA的结尾。
正如我们看到的,8936–8856=80–这是SA的范围
现在计算整个ECC范围1024DA+80SA=1104。
所以ECC应该是1104*8。
页面大小1104*8=8832有一些XOR,但这里我们面临更大的页面大小,因为每个页面都包含大量坏字节,这些字节会扩展页面的正常大小。
为了正确删除所有插入,我们需要将页面大小从8944增加到9216,因为有许多Alcor Micro XOR与此页面大小的ECC类型相匹配。
如您所见,PLANE 0上的所有块都是黑色的。这意味着只有一半的闪存驱动器充满了数据。这也意味着我们只需要删除PLANE 1上的插入。通常,我们建议在所有PLANE中滚动dump和搜索插入。但是,在这种情况下,只有PLANE 1包含整个dump的数据。
你看到这里的XORed坏列了吗?
这是:
点击XOR按钮并继续。
选择我们需要的XOR:
你会发现自己的形式是删除插入。
在继续之前,您需要了解这种“坏字节剪切”模式的接口。在表格1中,你可以看到我们的页面。在表单2中,您可以使用找到的模式浏览不同的页面。按钮3用于在块和页面之间移动。表4告诉我们哪些ECC范围可以调整。要激活此功能,请按5。表6显示了附加项的位置。
然后你需要找到所有0字节的页面。通常,在AU控制器中有很多这样的控制器。
扫描后,您会在页面顶部找到许多零:
移动到带有零的区域结束的地方。之后,使用form 2或form 3按钮在其他页面之间切换,并确保此位置上没有0,以验证这确实是插入,而不是位错误。
如果确定,请单击“添加切割位置”
在此之后,您将看到0范围发生移动。反复这样做,直到达到1024,SA开始。正如我们所知,SA中没有0。那里的插入看起来像是两个相似的字节。为了确保这是一个加法,使用2或3并遍历各个Blocks。
纠正第一个范围后,需要检查是否可以找到ECC。打开标志“在XOR之后”(在这种情况下,ECC只能在XOR之后确定)
现在,如果单击按钮5,您将看到以下内容:
继续,在整个页面上这样做。
然后试着找到ECC。
更正ECC并更改块号的异或。
最后,构建闪存驱动器的映像。做得好!
如果您有任何问题,请随时联系我们技术支持。
评论前必须登录!
注册