fork download
  1. def convert(pba):
  2. lun = (pba >> 42) & 0xFF
  3. lun_pba = (pba >> 12) & (2 ** 30 - 1)
  4. off = pba & 0xFFF
  5. print("lun=%d, lun_pba=%d, off=%d" % (lun, lun_pba, off))
  6. logicbs_in_sibling_eblock = 6144
  7. sb, left = divmod(lun_pba, logicbs_in_sibling_eblock)
  8. logicbs_in_eblock = 3072
  9. plane, left = divmod(left, logicbs_in_eblock)
  10. page, logicb = divmod(left, 4)
  11. print("sb=%d, plane=%d, page=%d, logicb=%d" % (sb, plane, page, logicb))
  12.  
  13. pba = 0x8002c400c9e3d150
  14. convert(pba)
  15.  
  16. pba = 0x80000000c9240a70
  17. convert(pba)
Success #stdin #stdout 0.02s 9052KB
stdin
Standard input is empty
stdout
lun=177, lun_pba=826941, off=336
sb=134, plane=1, page=143, logicb=1
lun=0, lun_pba=823872, off=2672
sb=134, plane=0, page=144, logicb=0