首页 | 配件商城 | 汇款方式 | 北京学校| 沈阳学校
电脑维修培训 | 主板维修培训 | 笔记本维修培训 | 显示器维修培训 | 硬盘维修培训
高级主板培训 |高级笔记本培训| 打印机维修培训 | 复印机维修培训 | 数码相机培训
北京学校

QQ:251073013

01051298639

01051298139

沈阳学校

QQ:719878200

02462112622

          更多 >>>
主板维修培训 笔记本维修培训
高级主板培训 高级笔记本培训
硬盘维修培训 显示器维修培训
MP3维修培训 打印机维修培训
网络技术培训 复印机维修培训
电子电路培训 传真机维修培训
硬件维修培训 计算机维修培训
数码相机维修培训 计算机基础培训
          更多 >>>
主板维修 笔记本维修
硬盘维修 投影机维修
MP3 维修 打印机维修
数据恢复 复印机维修
液晶显示器维修 传真机维修
CRT显示器维修 数码相机维修
          更多 >>>
          更多 >>>
一月
          全年课程一览表 >>>
站内文章搜索
 
  硬盘的固件(FIRMWARE)         ★★★ 【字体:
硬盘的固件(FIRMWARE)
 


大家经常能够看到关于FIRMWARE讨论的文章,感觉大家对FIRMWARE还是比较生疏,有的居然想出一些拆掉芯片用编程器烧录后再焊回去的方式,这种方式千万不能使用,因为一些隐含的问题会发生。具体的问题不必多说大家都会明白。

为什么很难获得FIRMWARE
作为一个程序员,我这里几乎有全部种类的FIRMWARE,但是,有些不能公开,有的是为一些厂商而做的,是规定收取费用的种类,有的是内部测试版本,针对特定的方案而专门编写的,不能公开。一般公开的版本号有特别的规定,不能高于市场正在销售的版本。

1.对于普通用户来说,有没有升级硬盘固伯的必要?如果有,什么情况下推荐升级Firmware
2.
如果真的要升级硬件固件,是如何升级?跟升级DVDFirmware一样的道理,即跟涮新BIOS相似的道理和过程?
3.
厂商会不会不断升级Firmware,就像升级驱动程序一样,不断更新版本?这就想请你深入探讨一下Firmware的作用了...

1.对于普通用户来说,有没有升级硬盘固伯的必要?如果有,什么情况下推荐升级Firmware
>>
对于普通用户来说,没有必要升级硬盘固件,一般微小的缺陷可以在软件里使用补丁程序解决。除非和适配器的兼容性存在问题或者弥补硬件的某些缺陷,厂家才会推出升级的程序(包括全部升级或部分补丁升级)。这里要着重说一下补丁,补丁具有很严密的针对性,不是每个同型号的产品都适用补丁,不正当的升级会导致严重的问题。

2.如果真的要升级硬件固件,是如何升级?跟升级DVDFirmware一样的道理,即跟涮新BIOS相似的道理和过程?
>>PC
里的SCSI硬盘升级程序只是一个传送升级代码的程序,是把升级代码送到硬盘缓冲里,然后让硬盘的DSP运行升级代码,升级代码运行过程中执行升级过程并修改EEPROM相应的区域,这时候升级程序进入了状态监视过程。
你们看到的FIRMWARE为什么和EEPROM的大小不一样,现在该明白是什么原因了吧。

3.厂家会不会不断升级Firmware,就像升级驱动程序一样,不断更新版本?这就想请你深入探讨一下Firmware的作用了...
>>
厂家会不断升级Firmware,并且应用到新生产的产品中去,但是厂家不会公开发布FIRMWARE,只有当厂家判定你的硬盘确实需要升级的时候才会给你。当然对于升级的后果厂家不会承担任何责任。FIRMWARE的作用,打个比方硬盘的控制板是台电脑,FIRNWARE就是操作系统,它包括很多模块:驱动,控制,解码,传送,检测……

低级格式化,大家可能不陌生,很多SCSI卡的BIOS里都带了个小工具可以做到,但是如果我问你格式化进行到多少了,你就不能回答上来了,能不能象校验磁盘一样可以看到进度呢,答案是肯定的。不过是让硬盘的FIRMWARE一个一个BLOCK的执行格式化,发现坏道就把他仍到P——LIST里,格完了还不需要校验,更省时间,剩下的咱们不过是作个状态监视就可以了。

既然是硬盘的FIRMWARE来执行格式化,不需要占用系统的资源那样就可以几个硬盘一起来格式化,一个状态监视他们所有设备的进度,更省了大家的时间。

这个功能其实是硬盘固件的功能,你让它开始格式化了,你还可以用计算机干其他的活儿,只要不断电,硬盘会一直到任务完成为止,在这期间内,即使你拔掉信号线也终止不了任务。

上次说到低级格式化,涉及到缺陷列表的问题,看了这里好多的帖子,大家对缺陷列表的分类还是不明确,实际缺陷列表分为四类,1PLIST2GLIST3CLIST4DLIST
明确了这几个列表的区别,才能更好的编制FIRMWARE来管理自己的硬盘,维护自己的数据。

1PLIST,基本缺陷列表是厂家使用专门的测试设备发现的缺陷,这些缺陷是磁介质寿命完成之后产生的永久缺陷,对于非厂家来说是不能够取消的,只能使用特别的设备来增加它,因为有GLIST,一般没有必要去动它,所以有些厂家的新销售磁盘里的GLIST的列表并不是空的。

2GLIST,成长缺陷列表,对硬盘操作过程中发现的缺陷,这些缺陷可以在格式化的过程中发现,也可以由自动的(就是上面所说的让FIRMWARE自动格式过程)或者使用REASSIGN BLOCK(操作码为0X07,上面的程序里有例子)命令做重新分配的过程中发现。

3CLIST,检查列表,包含了在操作系统格式化过程中发现的列表,一般也存储为GLIST方式,

4DLIST,可以人为定义的列表,先定义了这个列表,最后由系统传送给硬盘的缺陷列表,在格式化的过程中,它将变成GLIST的一部分。也可以把好的块定义进去。

实际234最后都存储在GLIST列表里,这个GLIST总的列表和存储PLIST的列表也是存放在一起的,都在磁盘的介质上。对于一些软件表面看来是两个大类,但是实际上由于产生的原因不同,软件所发出的指令也是不一样的。这点对一般人来说怎么分类不重要。

硬盘的代替扇区和柱面,模式页参数和缺陷列表都是存储在盘体的磁介质上的,这些参数和VIDPIDLBAnot LBN)等基本参数是分开的。从这一点大家可以想象,修改了FIRMWARE后还要修改盘片上的一些信息。一般情况下,修改了FIRMWARE后,低级格式化可以恢复一部分FIRMWARE预制的参数到盘片上,但是有些预制参数往往是编写FIRMWARE时任意设置的,如果造成了数据偏移,就会使GLIST出现错误,SCSIGLIST列表记录一般最大为2000H8191)个.发现接近或超过这个数目的GLIST记录,那这个硬盘可能就报废了。

另外说明一点,GLIST是可以读取(0X37)清除(格式化)的,但是清楚以后故障还会存在。

再放一段程序便于你们理解。

int glist(SCSI *sp)
{
SCSI *s;
int al= 8, retval= -1, rv, format;
char format_mask[]= { 0x00, 0x04, 0x05, 0 };
int format_size[]= { 4,8,8,0 };

s= scsi_init(al);
idcpy(s, sp);

s->s.scsi_command[0]= 0x37;
s->s.scsi_command[2]= 0x08;
*(unsigned int *) &s->s.scsi_command[7]= swapint(al);

for (rv= 0, format= 0; format < 3 && rv!= 1; format++)
{
s->s.scsi_command[2]&= 0xf8;
s->s.scsi_command[2]|= format_mask[format];
rv= scsi_execute(s, 0);
}
format--;

if (rv== 1)
{
retval= swapint(*(unsigned int *)&s->s.data_buffer[2])
format_size[format];
}
scsi_destroy(s);
return(retval);
}

 

文章录入:admin    责任编辑:@fyzhlanyu 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    硬件工程师认证中心 北域互联 搜狐IT 百度搜索 Google搜索 笔记本维修培训 新华网IT 天极IT行业
    信息产业部电子教育中心 广州电脑维修 精品教程网 Hao123 国家职业工作网 无锡电脑维修网 265导航 慧聪IT行业
    广东培训网 顺德人才网 IT168 赛迪网 太平洋电脑网 笔记本维修培训 中关村维修网 网站制作
    中国管理培训网 注册公司 IT资源网 国际健康网 体育器材网 深圳喷绘网 深圳公司注册 郑州论坛
    Copyright 2000 - 2010 www.zgcpx.com All rights reserved. 中关村维修在线版权所有

    北京电话:010-51298639 咨询QQ:251073013 沈阳电话:024-62112622 咨询QQ:719878200

    京ICP备07015795号