- 积分
- 118
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2010-9-6
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
WD固件模块结构
一、 WD模块头部解析(所有模块通用)
WD Marvell硬盘除了早期的硬盘外(Hawk2及其之前),所有模块均以“524F594C(对应字符:ROYL)”开头.
数据解析:
0x00 ~ 0x03:模块标记 [4]
0x04 ~ 0x05: 启动级别 [2]
0x06 ~ 0x07: 有效数据地址 [2]
0x08 ~ 0x09: 模块名(ID) [2]
0x0A ~ 0x0B: 模块大小 [2]
0x0C ~ 0x0F: 模块校验码 [4]
0x10 ~ 0x17: 模块版本信息 [8]
二、ROM
1. ROM结构,每20个字节为一小段,每小段都有一个校验码
2. ROM目录,0B/20B模块:(0B和20B表示ROM模块列表)
数据解析:
有效数据地址: *[0x06] = 0x1e
(0x1e - 3) : 0B,20B的激活标记
0x1e ~ 0x1e: 条目数 [1]
0x1f ~ (0x1f + *[0x1f]): ROM模块列表第一个条目 [*[0x1f]]
0x1f ~ (0x1f + *[0x1e] × *[0x1f] - 1):{ROM模块目录列表} [*[0x1e] × *[0x1f]]
ROM模块列表条目解析:
条目长度: [1]
Copy数量: [1]
模块ID: [2]
模块大小: [2]
未知意义: [4]
Copy0地址: [4]
Copy1地址: [4]
列表结束地址:0x1f + *[0x1e] × *[0x1f]
(列表结束地址 + 1) ~ (列表结束地址 + 1):盘腔容纳磁头数
列表结束地址 + 0x06: 磁头服务区地址分配信息列表
3. 0A模块,磁头位图模块:
数据解析:
有效数据地址:*[0x06] = 0x1e
0x1e ~ 0x1e: 位图数据长度 [1]
0x1f ~ 0x1f: 磁头数据字节数 [1]
0x20 ~ 0x20: 配置标记,值为0代表缺省配置,非0则代表使用当前配置 [1]
0x21 ~ 0x21: 盘腔容纳磁头数 [1]
0x22 ~ 0x22: 使用中的磁头数 [1]
0x23 ~ 0x23: 使用中的磁头位图 [1]
0x24 ~ 0x24: 盘腔磁头位图 [1]
:
0x2c ~ 0x2d: 磁头位图数据的校验[2]
4. 30模块,服务区编译器模块
数据解析:
0x28 ~ 0x28: 缺陷条目总数 |
0x35 ~ 0x3b: 缺陷条目总数 | -> 8个偏移位置,分别对应8个磁头
0x3c ~ (0x3c + *[0x28] × 8) : 缺陷条目列表 [*[0x28] × 8]
缺陷列表条目解析:
缺陷累计数量:[4]
缺陷起始地址:[4]
5. 47模块,SA适配模块
主要有3大配置信息:伺服参数,数据适配参数,前置放大器参数
6. 4F模块,微代码版本信息模块
主要用途,查看微代码版本是否与ROM相匹配
三、重要模块
1. 01模块,模块目录列表
数据解析:
通用头部解析。
有效数据地址:*[0x06] = 0x30
0x30 ~ 0x31: 条目数 [2]
0x32 ~ (0x32 + *[0x32]): ROM模块列表第一个条目 [*[0x32]]
0x32 ~ (0x32 + 条目数 × 条目长度 - 1):{ROM模块目录列表} [*[0x1e] × *[0x1f]]
模块列表条目解析:
条目长度: [1] 条目长度通常为0x12
Copy数量: [1]
模块ID: [2]
模块大小: [2]
未知意义: [4]
Copy0地址: [4]
Copy1地址: [4]
2. 35模块
数据解析:
通用头部解析。
有效数据地址:*[0x06] = 0x30
0x30 ~ 0x33: 条目数 [4]
0x34:服务区缺陷列表
缺陷列表条目解析:
缺陷所在磁道 [1]
两字节保留 [2]
缺陷所在磁头 [1]
缺陷开始扇区 [2]
缺陷结束扇区 [2]
35转30(CHS转ABA):
Head * Sacyl * SPT + (SaCyl - Cyl) * SPT + Secoff = ABA
3. 02模块
有效数据地址: *[0x06] = 0x30
①启动慢信息地址:*[0x9A]
启动慢信息长度:*[0x9c]
②password信息地址:*(2)[0x7A] + 4
③SN地址:*(2)[0x30 + 2] + 2
SN长度:*(2)[0x30 + 4] - 2
④容量信息地址:*(2)[0x30 + 0x42] + 2
⑤型号信息地址:*(2)[0x30 + 0x44] - 2
4. 40模块,适配参数模块
其中包含47模块数据的备份,可做生成47用
5. 03模块,段位表模块
TPI:块地址索引
CAP:容量
|
|