• B
    mtd: nand: detect OOB size for Toshiba 24nm raw SLC · 60c67382
    Brian Norris 提交于
    Toshiba NAND datasheets have not been very forthcoming on OOB size
    information; they do not provide any bitfields in the ID string for
    spare area. In their 24nm technology flash, however, Toshiba migrated
    their NAND to have 32 bytes spare per 512 bytes of page area (up from
    the traditional 16 bytes), as they now require 8-bit ECC or higher.
    
    I have discussed this issue directly with Toshiba representatives, and
    they acknowledge this problem. They recommend detecting these flash
    based on their technology node as follows:
    
      For 24nm Toshiba SLC raw NAND (not BENAND -- Built-in Ecc NAND), there
      are 32 bytes of spare area for every 512 bytes of in-band data area.
    
    We can implement this rule with the following snippet of a device ID
    decode table, which applies to all their 43nm, 32nm, and 24nm SLC NAND
    (this table is not fully in the NAND datasheets, but it was provided
    directly by Toshiba representatives):
    
      - ID byte 5, bit[7]:
              1    -> BENAND
              0    -> raw SLC
    
      - ID byte 6, bits[2:0]:
              100b -> 43nm
              101b -> 32nm
              110b -> 24nm
              111b -> Reserved
    
    I'm also working with Toshiba on including this bitfield description for
    their 5th and 6th ID bytes in their public data sheets.
    
    I will provide the 8-byte ID strings from the two 24nm Toshiba samples I
    have; their first 6 bytes match the documentation I received from
    Toshiba:
    
      24nm SLC 1Gbit TC58NVG0S3HTA00
      0x98 0xf1 0x80 0x15 0x72 0x16 0x08 0x00
    
      24nm SLC 2Gbit TC58NVG1S3HTA00
      0x98 0xda 0x90 0x15 0x76 0x16 0x08 0x00
    
    I have also tested for regressions with:
    
      43nm SLC 4Gbit TC58NVG2S3ETA00
      0x98 0xdc 0x90 0x15 0x76 0x14 0x03 0x10
    
      32nm SLC 8Gbit TC58NVG3SOFA00
      0x98 0xd3 0x90 0x26 0x76 0x15 0x02 0x08
    Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
    Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
    Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
    60c67382
nand_base.c 98.7 KB