Jaehyek Choi Embedded/Firmware Engineer

eMMC UFS Issues 09

2016-12-26
Jaehyek

Component Feature

  • 32GB UFS
  • Controller :
  • TO

Failure Symptom

  • fDeviceInit fail

Root Cause

GCBlkInfo: stored GC target Block information. (stored total one ItlvBlk#)
BitmapTbl: stored L2P information. (stored total user area’s ItlvBlk#)

  • Pass Case 001

  • Fail Case 002
  • have found the unmatched table between GCBlkInfoand BitmapTbl, which are the cause of fDeviceInit fail.
  • have found that unmatched table have been generated by the FW bug, which occurs under very complicated conditions.

Failure procedure

003

  • Step1: GC starts at ItlvBlk#AAA
    • Failure occurrence condition (1)
    • The GC of IntlvBLK#AAAneeds to stop at the end page of the GC destination BLK just before Unmap.
  • Step2 :ItlvBlk#Abecomes free group.
    • Failure occurrence condition (2)
    • ItlvBlk#AAAis unmapped, and ItlvBlk#AAA’snumber of valid data becomes zero, and Stop ItlvBlk#A’sGC
  • Step3 : ItlvBlk#Ais assigned new block group.
    • Failure occurrence condition (3)
    • ItlvBlk#AAAshould be assigned new free blocks. In this case, ItlvBlk#AAAis selected from many free areas on BitmapTblby chance.
  • Step4: GC starts at ItlvBlk#A

  • Step5: As ItlvBlk#Ainfo between BitmapTbland GcBlkInfoare NOT the same, UFS device becomes fail because of unmatched table

Similar Posts

Comments