Giải thích module ổ cứng WD

Thảo luận trong 'Ổ cứng Western Digital' bắt đầu bởi MR Nguyễn, 11/4/18.

  1. MR Nguyễn

    MR Nguyễn Moderator Thành viên BQT

    Tham gia ngày:
    29/3/17
    Bài viết:
    12
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Nghề nghiệp:
    Moderating of Diendancuudulieu.com
    Nơi ở:
    Phú Nhuận, TP. Hồ Chí Minh
    Web:
    [​IMG]
    One, WD module head resolution (common to all modules)
    WD Marvell hard disks (except Hawk2 and before), all modules are
    The beginning of "524F594C (corresponding character:ROYL)".
    data analysis:
    0x00 ~ 0x03: Module Tag [4]
    0x04 ~ 0x05: Start Level [2]
    0x06 ~ 0x07: Valid data address [2]
    0x08 ~ 0x09: Module Name (ID) [2]
    0x0A ~ 0x0B: Module Size [2]
    0x0C ~ 0x0F: Module Check Code [4]
    0x10 ~ 0x17: Module version information [8]

    Second, ROM
    1. ROM structure, every 20 bytes is a small segment, each segment has a check code
    2. ROM directory, 0B/20B module: (0B and 20B represent ROM module list)
    data analysis:
    Valid data address: *[0x06] = 0x1e
    (0x1e - 3) : 0B, 20B activation flags
    0x1e ~ 0x1e: Number of entries [1]
    0x1f ~ (0x1f + *[0x1f]): ROM module list first entry [*[0x1f]]
    0x1f ~ (0x1f + *[0x1e] × *[0x1f] -1): {ROM module directory list} [*[0x1e] × *[0x1f]]

    ROM module list entry resolution:
    Entry length: [1]
    Number of copies: [1]
    Module ID: [2]
    Module size: [2]
    Unknown meaning: [4]
    Copy0 address: [4]
    Copy1 address: [4]
    List end address: 0x1f + *[0x1e] × *[0x1f]
    (list end address + 1) ~ (list end address + 1): number of magnetic heads
    List End Address + 0x06: Header Service Area Address Allocation Information List

    3. 0A module, head bitmap module:
    data analysis:
    Valid data address: *[0x06] = 0x1e
    0x1e ~ 0x1e: Bitmap data length [1]
    0x1f ~ 0x1f: Header Data Bytes [1]
    0x20 ~ 0x20: Configuration flags, a value of 0 represents the default configuration, non-zero means the use of the current configuration [1]
    0x21 ~ 0x21: Disk Holder Number [1]
    0x22 ~ 0x22: Number of heads in use [1]
    0x23 ~ 0x23: head bitmap in use [1]
    0x24 ~ 0x24: Disk head bitmap [1]
    :
    0x2c ~ 0x2d: Verification of head bitmap data [2]

    4. 30 modules, service area compiler module
    data analysis:
    0x28 ~ 0x28: Total number of defect entries |
    0x35 ~ 0x3b: Total number of defect entries | -> 8 offset positions, corresponding to 8 heads
    0x3c ~ (0x3c + *[0x28] × 8) : list of defect entries [*[0x28] × 8]
    Defect list entry resolution:
    Cumulative number of defects: [4]
    Defect start address: [4]

    5. 47 module, SA adapter module
    There are three main configuration information: servo parameters, data adaptation parameters, preamplifier parameters

    6. 4F module, microcode version information module
    The main purpose is to check if the microcode version matches the ROM

    Third, the important module
    1. 01 module, module directory list
    data analysis:
    General header resolution.
    Valid data address: *[0x06] = 0x30
    0x30 ~ 0x31: Number of entries [2]
    0x32 ~ (0x32 + *[0x32]): ROM Module List First Entry [*[0x32]]
    0x32 ~ (0x32 + number of entries × entry length - 1): {ROM module directory list} [*[0x1e] × *[0x1f]]
    Module list entry resolution:
    Entry length: [1]
    The length of the entry is usually 0x12
    Number of copies: [1]
    Module ID: [2]
    Module size: [2]
    Unknown meaning: [4]
    Copy0 address: [4]
    Copy1 address: [4]

    2. 35 module
    data analysis:
    General header resolution.
    Valid data address: *[0x06] = 0x30
    0x30 ~ 0x33: Number of entries [4]
    0x34: Service Area Defect List
    Defect list entry resolution:
    Defective track [1]
    Two bytes reserved [2]
    Defective head [1]
    Defect start sector [2]
    Defect end sector [2]
    35 turns 30 (CHS to ABA):
    Head * Sacyl * SPT + (SaCyl - Cyl) * SPT +Secoff = ABA
     

Chia sẻ trang này