long term jpeg data protection and recovery for nand
play

Long-Term JPEG Data Protection and Recovery for NAND Flash-Based - PowerPoint PPT Presentation

Long-Term JPEG Data Protection and Recovery for NAND Flash-Based Solid-State Storage Yu-Chun Kuo, Ruei-Fong Chiu, and Ren-Shuo Liu System and Storage Design Lab Department of Electrical Engineering National Tsing Hua University Taiwan 1


  1. Long-Term JPEG Data Protection and Recovery for NAND Flash-Based Solid-State Storage Yu-Chun Kuo, Ruei-Fong Chiu, and Ren-Shuo Liu System and Storage Design Lab Department of Electrical Engineering National Tsing Hua University Taiwan 1

  2. Overview • SD cards and eMMC consistute massive storage • Tens to hundreds of Exabytes per year • JPEG pictures are one of the most valuable data in them • Leaving JPEG files in SD and eMMC for a long term is risky • NAND flash is prone to have retention errors • Uncorrectable errors  corrupted pictures A Few Years Later 2

  3. Contributions • Increase the robustness of JPEG stored in NAND flash • At the cost of 9.9% storage overhead • Rescue corrupted JPEG files • Four techniques based on our observations • Strong-page header protection • Bit error propagation prevention • DC error propagation mitigation • Huffman-assisted error correction • Compatible with existing JPEG viewers 3

  4. Outline • JPEG Background • Observations and Design • Evaluation • Conclusion 4

  5. JPEG Encoding Steps (Simplified) DC DPCM Huffman 8x8 JFIF DCT Compression Blocks AC • DCT : Discrete Cosine Transform • DPCM : Differential Pulse Code Modulation • JFIF : JPEG File Interchange Format 5

  6. DC DPCM Huffman 8x8 JFIF DCT Compression Blocks AC 8 8 6

  7. DC DPCM Huffman 8x8 JFIF DCT Compression Blocks AC DC (mean value of the 8x8 block) DCT 8 8 63 AC 's 8 8 7

  8. DC DPCM Huffman 8x8 JFIF DCT Compression Blocks AC Absolute DC values: Differential DC values: 8

  9. DC DPCM Huffman 8x8 JFIF DCT Compression Blocks AC 011 111 0011110 111 2 3 14 3 Popular values  Less bits Less-popular values  More bits 9

  10. DC DPCM Huffman 8x8 JFIF DCT Compression Blocks AC • Picture width & height Header • Sampling method • Huffman tables Huffman bits Body of all 8 × 8 blocks 10

  11. Outline • Background • Observations and Design • Evaluation • Conclusion 11

  12. Observations • Unequal criticality of JPEG file contents • Error propagation phenomena • Bit error propagation • DC error propagation • Skewed reliability of NAND flash 12

  13. Unequal Criticality of JPEG File Contents • Picture width & height Header • Sampling method • Huffman tables Huffman bits of Body all 8 × 8 blocks 13

  14. Unequal Criticality of JPEG Data Header having a single bit error  very likely corrupts the entire picture 14

  15. Unequal Criticality of JPEG Data Body having a single bit error  the results depends • Nearly identical • Horizontal stripes • Totally corrupted 15

  16. Observations • Unequal criticality of JPEG • Error propagation phenomena • Bit error propagation • DC error propagation  Totally corrupted  Horizontal stripes 16

  17. Bit Error Propagation Phenomenon Huffman is a variable-length coding scheme  bit error can change code length  many following codes can thus be mis-decoded 011 111 0011110 111 2 3 14 3 011 111 0 1 1 111 011 111 2 3 2 3 2 17

  18. DC Error Propagation Phenomenon JPEG stores differential DC values  Once a bit error interferes with one value, the following values are also mis-decoded Original values: DPCM encoded: Decoded values: 18

  19. Observations • Unequal criticality of JPEG • Error propagation phenomena • Bit error propagation • DC error propagation • Skewed reliability of NAND flash 19

  20. Skewed Storage Reliability • One third of flash pages can store data much more reliably than the other pages • We refer to them as strong/weak pages • This property is known to SD and eMMC vendors but is not exposed to users and applications Flash Address Space Strong Weak 20

  21. Skewed Storage Reliability • Bits are grouped into MSB, CSB, LSB pages • LSB pages are strong pages for the flash we tested # of 2 3 2 unlikely to happen 21

  22. Proposed Techniques • Strong-page header protection • Bit error propagation prevention • DC error propagation mitigation • Huffman-assisted error correction 22

  23. Applications Oblivious to Strong/Weak Pages Application Storage strong weak weak 23

  24. Strong-Page Header Protection Application Storage strong strong strong 24

  25. Bit Error Propagation Prevention • We additionally store the length of each 8 × 8 block in JPEG header • Stop bit errors from propagation 16 011 111 0011110 111 2 3 14 3 011 111 0 1 1 111 011 111 2 3 2 3 2 25

  26. DC Error Propagation Mitigation • Thumbnail • Small JPEG embedded in the header of the Thumbnail: main JPEG • Facilitate image preview • We propose to set the width and height of the thumbnail to be 1/8 of the main JPEG • By doing so, thumbnail pixels approximate the DC values of the main JPEG 26

  27. DC Error Propagation Mitigation • Use thumbnail pixels to calibrate decoded DCs • Error propagation is mitigated Decoded DCs Thumbnail: 10 16 17 19 21 Thumbnail pixels 27

  28. Huffman-Assisted Error Correction • Many 8×8 blocks contain only single bit error • 8 × 8 block is around 100 bits • Target bit error rate is 10 -2 Flip one bit • We propose to correct single bit error per 8×8 block in a trial-and-error manner Decode the block Check 28

  29. Huffman-Assisted Error Correction • We additionally store the number of Huffman codes of each 8 × 8 block in the header to check whether decoding is successful 4 Flip one bit 011 111 0011110 111 2 3 14 3 Decode Check the block 011 111 0 1 1 111 011 111 Check 2 3 2 3 2 Decoding results: 5 29

  30. Outline • Background • Observations and Design • Evaluation • Conclusion 30

  31. Setup • Platform • Xilinx Zedboard FPGA • 16nm, 3-bit-per-cell flash chip • 105 JPEG files • 100 from personal iPhone (3264 × 2448) • Five from the Kodak suite (3072 × 2048) • Temperature acceleration • 70 hours under 85 ° C = 10 years under 25 ° C • Assume bit error rates greater than 5 × 10 -3 are uncorrectable 31

  32. Experiments • Flash characterization • Average bit error rate • Percentage of uncorrectable 2KB data blocks • JPEG image quality at retention time wihin 10 years • PSNR (Peak Signal to Noise Ratio) • SSIM (Structural Similarity Index) 32

  33. Average Raw BERs (Within 10 Years at 25 ° C) Weak pages Strong pages 33

  34. Average % of Uncorrectable 2KB Blocks Weak pages Strong pages 34

  35. Image Quality (10 Years at 25 °C) Ideal JPEG Baseline This work • Strong-page header protection All the four • Bit error propagation techniques 35 prevention

  36. Average PSNR (Within 10 Years at 25 ° C) 36

  37. Average SSIM (Within 10 Years at 25 ° C) 37

  38. Concerns About Employing Extra ECC Parities • Employing that at flash chip level • Cost per bit increases • Vendors are reluctant to do so • Employing that at disk level • Disk capacity becomes non-constant • May be problematic to applications and operating systems • Employing that at application level • Effectiveness of the extra parities is limited • Modern ECCs heavily rely on low-level accesses to flash memory 38

  39. Conclusion • Increasing the robustness of JPEG files and rescue corrupted JPEG files in flash-based storage • Four techniques • Strong-page header protection • Bit error propagation prevention • DC error propagation mitigation • Huffman-assisted error correction • Rescue corrupted JPEG files (10 years @ 25 °C) • Up to 24.3 dB PSNR improvement • At the cost of 9.9% of storage overhead • Backward compatible with existing JPEG viewers 39

  40. Long-Term JPEG Data Protection and Recovery for NAND Flash-Based Solid-State Storage Yu-Chun Kuo, Ruei-Fong Chiu, and Ren-Shuo Liu System and Storage Design Lab Department of Electrical Engineering National Tsing Hua University Taiwan 40

  41. JPEG Decoding and Recover Speed • It takes 12 seconds on average for our program to recover a corrupted (10-year) JPEG file • Note that • Speed is not a top concern for rescuing corrupted JPEG files • It is easy to parallelize the recovery tasks of multiple corrupted JPEG files 41

  42. Skewed Storage Reliability LSB pages are strong pages MSB pages are strong pages 42

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend