[译文]伺服格式化
原文:http://bbs.intohard.com/thread-43362-1-1.html硬盘指南:硬盘是如何工作的---伺服格式化
伺服格式化让我们试着显示一下柱道是如何分布在硬盘里的盘片上的。在盘片的每一面生成着圆形的磁道,每个被划分为相等长度的弧或扇区。好吧,硬盘完全就是这样组织的---柱道,磁头(等于磁道/柱道数或盘片的面数),扇区是硬盘上放置数据的。
http://bbs.intohard.com/attachments/month_0805/20080501_6699b926ea4ce6b8b160JPPDD6TQ3aIP.jpg
硬盘上有两类扇区,第1类处于最低级别的是伺服扇区。硬盘制造的时候,磁盘在洁净室里打开,用一种叫做伺服写入机的昂贵机器在盘片写一种叫做灰码的专门格式码。
http://bbs.intohard.com/attachments/month_0805/20080501_16adabb2c016b70cfa4aQ6Td5hyFG6vF.jpg
灰码是一种二进制代码,相继的数字只差一个位。虽然有很多灰码可以使用,由于考虑到计算效率,选择这样一种特定的代码。
虽然还有其他方案,大多数硬盘上灰码以嵌入方式写到每个扇区的开头(嵌入伺服型)。每个磁道上有固定数目的伺服扇区与扇区互相邻接。这种代码是永久性的并且不能由在盘片上写普通数据来改变,也不能象某些人所想的那样由低格硬盘来改变。如果灰码改变,硬盘就完蛋了!
磁头在每个扇区的头部读出灰码,利用灰码移到非常精确的位置,不断校正磁头本身的位置,使得能处于想要到达的磁道,补偿由机械应力和热胀冷缩引起的盘片几何改变。总之,已知磁头定位系统是一个闭环伺服系统---观察打开的硬盘工作是一件很爽的(也许是很危险的)事情。
[ 本帖最后由 wjsxy 于 2008-5-1 09:48 编辑 ] 据我所知,在完全RAW的盘面上写灰码是由伺服写入机控制和定位硬盘本身所带的磁头写的。 伺服写入机器我们获得不了,可以考虑硬盘里边的代码,他们写入的每一个代码命令我们如果能够反汇编,这样我们可以通过外部控制硬盘的工作了,此论点来自于一位反汇编工程师的思路;
当时反汇编工程师设想是把每一个硬盘命令代码分析,然后使用外部工作代码接替所有硬盘内部工作代码,只使用硬盘物理部分,达到控制硬盘,在这点论据产生后,我在国外的几篇学术论文中也得到了部分证实;看起来他们做的很简单,实施起来可能就不是简单的事情了。 我想到一个比较简易的方法是,利用一个盘面上的灰码写其他盘面的灰码,前提是要有写灰码的指令和工作代码。 老师又一翻译力作啊,拜读了。 原帖由 wjsxy 于 2008-5-1 10:58 发表 http://bbs.intohard.com/images/common/back.gif
我想到一个比较简易的方法是,利用一个盘面上的灰码写其他盘面的灰码,前提是要有写灰码的指令和工作代码。
PC3000/HRT就是这样做的,从工具的发展历程到现有能够实现的功能,他们也没有完全解读代码,很大一部分代码还属于未知;
这篇文章好像是某个论坛的老张翻译的吧!
(49: (49: (49: 原帖由 yuanbao 于 2008-5-5 16:22 发表 http://bbs.intohard.com/images/common/back.gif(49: (49: (49:
是啊,完全正确那就是我。用的ID不同而已。不过别的地方这个ID就不一定是我。
[ 本帖最后由 wjsxy 于 2008-5-5 17:17 编辑 ] 老师就是老师!!厉害!! 好技术 好帖子
页:
[1]