AR# 47517

Zynq-7000 SoC、SMC — 支持 ECC 的 NAND 可能不会在数据交易之间去断言 CS

描述

NAND 闪存控制器通常在数据传输之间去断言芯片选择 (CS),并在数据交易和命令运行之间保持芯片选择的断言。该协议与大多数器件兼容。在某些工作模式下,控制器可能错误地认为它将在数据运行之后执行一个命令操作,而且该控制器还在两个数据交易之间保持芯片选择的断言。

ECC 禁用时,可避免该问题。ECC 启用时:

  • 使用所有写入命令
  • 在读取块之间读取 ECC 代码

解决方案

影响:

很小,请查看解决方法。

规避措施:

  • 在所有写入命令模式下使用 ECC 块。在读取块之间读取 ECC 代码

  • 如果您正在读取或编写超过 512 字节的块,请确保数据在单个连续交易中跨越 512 字节边界。

受影响的配置:

使用支持 ECC 的 NAND 的系统。

受影响的器件修订版本:

全部,无计划修复。请参考(Xilinx 答复 47916) Zynq-7000 SoC 芯片修订版差异。

 

SMC 旨在支持要求 CS 在数据相访问之间保持为低的 NAND 器件,以及没有这种需求的器件。为了满足这两种内存的要求,如果 ECC 块将发出一个命令,它将不会在一个块传输完成后去断言 CS。然而,在某些工作模式(特别是在启用列改变命令而软件不在块之间读取 ECC 代码时)下,SMC 错误地假设它将执行一项工作,取消了去断言 CS 的请求。

影响详情:在上述情况下,CS 将不去断言。如果创建下一个交易所需的数据或代码通过相同的 EBI 存储,这可能会导致死锁。

AR# 47517
日期 05/23/2018
状态 Active
Type 设计咨询
器件