1. 14 1月, 2014 2 次提交
    • B
      mtd: nand: add generic READ RETRY support · ba84fb59
      Brian Norris 提交于
      Modern MLC (and even SLC?) NAND can experience a large number of
      bitflips (beyond the recommended correctability capacity) due to drifts
      in the voltage threshold (Vt). These bitflips can cause ECC errors to
      occur well within the expected lifetime of the flash. To account for
      this, some manufacturers provide a mechanism for shifting the Vt
      threshold after a corrupted read.
      
      The generic pattern seems to be that a particular flash has N read retry
      modes (where N = 0, traditionally), and after an ECC failure, the host
      should reconfigure the flash to use the next available mode, then retry
      the read operation. This process repeats until all bitfips can be
      corrected or until the host has tried all available retry modes.
      
      This patch adds the infrastructure support for a
      vendor-specific/flash-specific callback, used for setting the read-retry
      mode (i.e., voltage threshold).
      
      For now, this patch always returns the flash to mode 0 (the default
      mode) after a successful read-retry, according to the flowchart found in
      Micron's datasheets. This may need to change in the future if it is
      determined that eventually, mode 0 is insufficient for the majority of
      the flash cells (and so for performance reasons, we should leave the
      flash in mode 1, 2, etc.).
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Acked-by: NHuang Shijie <b32955@freescale.com>
      ba84fb59
    • B
      6f0065b0
  2. 04 1月, 2014 1 次提交
  3. 28 10月, 2013 3 次提交
  4. 31 8月, 2013 4 次提交
  5. 30 8月, 2013 1 次提交
  6. 06 8月, 2013 3 次提交
  7. 05 4月, 2013 13 次提交
  8. 14 3月, 2013 1 次提交
  9. 03 12月, 2012 1 次提交
    • M
      mtd: nand: add NAND_BUSWIDTH_AUTO to autodetect bus width · 64b37b2a
      Matthieu CASTET 提交于
      The driver call nand_scan_ident in 8 bit mode, then
      readid or onfi detection are done (and detect bus width).
      The driver should update its bus width before calling nand_scan_tail.
      
      This work because readid and onfi are read work 8 byte mode.
      
      Note that nand_scan_ident send command (NAND_CMD_RESET, NAND_CMD_READID, NAND_CMD_PARAM), address and read data
      The ONFI specificication is not very clear for x16 device if high byte of address should be driven to 0,
      but according to [1] it should be ok to not drive it during autodetection.
      
      [1]
      3.3.2. Target Initialization
      
      [...]
      The Read ID and Read Parameter Page commands only use the lower 8-bits of the data bus.
      The host shall not issue commands that use a word data width on x16 devices until the host
      determines the device supports a 16-bit data bus width in the parameter page.
      Signed-off-by: NMatthieu CASTET <matthieu.castet@parrot.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      64b37b2a
  10. 15 11月, 2012 1 次提交
  11. 29 9月, 2012 8 次提交
  12. 07 7月, 2012 2 次提交