)]}'
{
  "log": [
    {
      "commit": "437aa565e2656776a7104aaacd792fe789ea8b2d",
      "tree": "a48688f36673af7bdb29fd24de216e170f4ef22b",
      "parents": [
        "2c1c5f199482356c00f70b6f2f368c3455d1230c"
      ],
      "author": {
        "name": "Ivan Djelic",
        "email": "ivan.djelic@parrot.com",
        "time": "Fri Mar 11 11:05:32 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Mar 11 14:25:50 2011 +0000"
      },
      "message": "lib: add shared BCH ECC library\n\nThis is a new software BCH encoding/decoding library, similar to the shared\nReed-Solomon library.\n\nBinary BCH (Bose-Chaudhuri-Hocquenghem) codes are widely used to correct\nerrors in NAND flash devices requiring more than 1-bit ecc correction; they\nare generally better suited for NAND flash than RS codes because NAND bit\nerrors do not occur in bursts. Latest SLC NAND devices typically require at\nleast 4-bit ecc protection per 512 bytes block.\n\nThis library provides software encoding/decoding, but may also be used with\nASIC/SoC hardware BCH engines to perform error correction. It is being\ncurrently used for this purpose on an OMAP3630 board (4bit/8bit HW BCH). It\nhas also been used to decode raw dumps of NAND devices with on-die BCH ecc\nengines (e.g. Micron 4bit ecc SLC devices).\n\nLatest NAND devices (including SLC) can exhibit high error rates (typically\na dozen or more bitflips per hour during stress tests); in order to\nminimize the performance impact of error correction, this library\nimplements recently developed algorithms for fast polynomial root finding\n(see bch.c header for details) instead of the traditional exhaustive Chien\nroot search; a few performance figures are provided below:\n\nPlatform: arm926ejs @ 468 MHz, 32 KiB icache, 16 KiB dcache\nBCH ecc : 4-bit per 512 bytes\n\nEncoding average throughput: 250 Mbits/s\n\nError correction time (compared with Chien search):\n\n        average   worst      average (Chien)  worst (Chien)\n----------------------------------------------------------\n1 bit    8.5 µs   11 µs         200 µs           383 µs\n2 bit    9.7 µs   12.5 µs       477 µs           728 µs\n3 bit   18.1 µs   20.6 µs       758 µs          1010 µs\n4 bit   19.5 µs   23 µs        1028 µs          1280 µs\n\nIn the above figures, \"worst\" is meant in terms of error pattern, not in\nterms of cache miss / page faults effects (not taken into account here).\n\nThe library has been extensively tested on the following platforms: x86,\nx86_64, arm926ejs, omap3630, qemu-ppc64, qemu-mips.\n\nSigned-off-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    }
  ]
}
