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
- Fail Case
- 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
- 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