日本电子维修技术 备用服务区的原理(作者不明)



备用服务区



一、备用服务区的原理

  厂商在N40P/CALYPSO/SABRE/FALCON系列硬盘驱动器中使用了备用服务区,N40P系列比较特殊,不是所有N40P系列驱动器都具有备用服务区,通过查看模块列表可以验证N40P系列是否具有备用的服务区。如果PN=95h模块存在,说明这个硬盘不具有备用服务区。有一个特殊的情况,应当注意,当你在一个具有备用服务区的N40P系列驱动器上,加载了一个创建自没有备用服务区硬盘的LDR以后,或许在模块列表中会出现PN=95h模块,一旦打开它,你会发现PN=95h模块是空的。这样的盘,是具有备用服务区的。而CALYPSO/SABRE/FALCON系列全部具有备用服务区。
  备用服务区是厂商用来在生产过程中创建主服务区,以及隐藏它的缺陷。在备用服务区中包含了该驱动器的部分原始模块,它的结构与主服务区类似,但是功能与模块内容是有区别的。
  主服务区的FW,叫做Program A,人们习惯称它为A区;备用服务区的FW,叫做ProgramC,也就是大家说的C区。N40P系列备用服务区的FW版本类似于NCRxxxx0,CALYPSO系列备用服务区的FW版本类似于YCRxxxx0,只有FALCON系列特殊,它的FW版本类似于RDMxxx0的样子。[因此,FALCON系列的备用服务区也被称为D区。]
  在一个具有备用服务区的驱动器引导过程中,主轴启转后,BOOT-ROM首先从主服务区读取模块中的微代码以及转译器,并检查它们的结构状态,如果它们的结构无效或者无法读取,BOOT-ROM便转向装载备用固件区。也就是说,当主服务区的代码模块或者转译器异常,BOOT-ROM便转向装载备用固件区。
  使一个具有备用服务区的硬盘驱动器转向备用服务区引导,有两个办法:
  1、在安全模式下,使用专用的ProgramC_LDR引导驱动器到备用固件区。
   [此方法适用于无法从主服务区正常引导的驱动器,在技术支持群已经提供LDR文件]
  2、·在“Utility status”对话框中,勾选“Write all module copies”。
     ·在module viewing (Ctrl-Alt-2)中打开PN=18h模块,并修改模块头的两个字节为任意字符,回写。
   [此方法适用于可从主服务区完整引导的驱动器]

二、备用服务区的功能
  在原理部分曾提到“备用服务区是厂商用来在生产过程中创建主服务区,以及隐藏它的缺陷。”,事实上,备用服务区的使用贯穿了驱动器生产的整个环节,当驱动器的HDA装配完毕,首先要写Sevo标志,以及我们刚刚提到的备用服务区。再封闭Sevo Window,装配PCB。这个环节中装配的PCB并不是销售时我们见到的样子,它是带有AI接口的工程PCB,上面有各TP以及串行通讯口。这个AI接口是通过一条专用电缆与工厂的I/O盒相连,I/O盒是一个通用设备,它可以从工厂的控制主机中Download某系列驱动器的控制代码,然后脱机使用。当工程PCB接驳好带有相应控制代码的I/O盒,就可以启动备用服务区的SelfTest程序了。
  SelfTest程序首先应用工厂计算得到的SA缺省适配,按照物理地址检查预设的主服务区范围,排除缺陷,并将完好扇区编目,生成主服务区的转译器,并缓冲在备用服务区的Swap0区域。对于FALCON系列驱动器,还要检查另外一个预设服务区,我们把它叫做“ProgramB”,也就是B区,生成B区的转译器,并缓冲在备用固件区的Swap1区域。之后,应用编目后的UBA地址对主服务区做适配调整,再根据调整的结果,继续编目一定数量的扇区作为SA保留扇区,但这些保留扇区不做缺陷检测。
  生成了SA区的转译器以后,SelfTest程序试图将两个特定扇区填充数据,并标记为缺陷。如果成功,开始根据备用固件区的模块生成主服务区模块。对新生成模块进行校验。校验结束,对主服务区模块进行标记,标记当前进程,并暂停SelfTest,等待I/O盒的键盘交互式返回PN=48h中一些数据,PN=48h的数据填充完毕,将继续进行SelfTest进程。
  接下来的进程,就是我们在主服务区可以看到的那些进程了。
  如果SelfTest进程因为媒质缺陷过多,会返回0006进程,等待I/O盒的键盘返回下一级型号所需的PN=48h中的一些数据……
  这就是在工厂中备用服务区的功能。
  在现有条件下,多数朋友可能无法获得I/O盒以及控制代码。但是,备用固件区中的大部分功能仍然是可以利用的,因为最后一次工厂测试时使用的控制代码,被保存在备用固件区的SelfTest模块组中了。我们通过打开、注销、更改个别流程,可以基本实现工厂级别的SelfTest.

[ 本帖最后由 河东 于 2007-12-25 10:24 编辑 ]

评论
首先我们应该明白,哪些硬盘具备C区(备用固件区),哪些系列不具备,迈拓硬盘微代码机制与Self Test启动方式有什么变化和要求,这样直观的给大家说一下;   
  LDR:包含ROM和Overlay而不包含硬盘完全运行所需要的数据,比如缺陷表,校准数据和其他参数;电路板中的程序和固件区中的程序版本也自然不同,这样我们可以判断处理器中当前运行的代码是运行在电路板上的还是固件区的程序,如果版本号为“Z”(版本号最后一个字母),那么说明硬盘没有进行完全初始化(我们通常为寻道)例如硬盘在完全初始化后版本为WAK21R90;在没有完全初始化的时候就是WAK21R9Zlker/ardent系列硬盘的固件区有两个控制程序;分别为:   
程序1;包含模块38H 39H 4FH;
程序2;包含模块97H 96H 98H;
    在这种情况下自然存在了三种微代码,我们以版本号中的字否来区别:A,B,C---以N40P为例就是NARxxxxZ,NBRxxxxZ,和NCRxxxxZ;当版本号标示为NARxxxxZ的固件区中代码与BootROM中程序是不同的;   
ATA指令“DOWNLOAD MICROCODE”92H来载入LDR从而启动微代码;当然有很大一部分硬盘不需要修改92H,直接可以启动,以下是迈拓硬盘启动Self Test的一些说明;
   
MAX VL40(PROXIMA)系列; 不存在ALT-SA,启动Self tels不需要修改脚本,启动时间大约30秒;
MAX PLUS60(RIGEL)系列; 不存在ALT-SA,启动Self tels不需要修改脚本,启动时间大约30秒;
D531(NIKE)系列;       不存在ALT-SA,启动Self tels不需要修改脚本,启动时间大约30秒;   
ATHENA DSP系列;       不存在ALT-SA,启动Self tels不需要修改脚本,启动时间大约30秒;   
ATHENA PKR系列;       不存在ALT-SA,启动Self tels不需要修改脚本,启动时间大约30秒;   
VULCAN系列;           不存在ALT-SA,启动Self tels不需要修改脚本,启动时间大约30秒;
ARES 64K系列;           不存在ALT-SA,启动SF需要修改ID=89H;启动时间大约30秒/10分钟;
MAX16(FALCON)系列;     不存在ALT-SA,启动Self tels不需要修改脚本,启动时间大约30秒;   
MAX PLUS8(N40P);有些硬盘含有/有些不含有ALT-SA,没有程序备用固件区的,修改ID=89直接测试,如果带有备用固件区,那么启动Self test需要选择从A还是B来创建原始固件区,然后从备用固件区启动,启动时间大约30秒/10分钟;   
MAX PLUS9(CALYPSO)系列;每个硬盘都存在ALT-SA,支持从基本固件区和备用固件区执行,两种方式可以自由选择执行,启动时间大约30秒/10分钟;   
大家了解了以上原理,我们分别对金8/金9两种启动Self Test做出说明;   

金8开始执行Self Test流程如下:   

1:安全模式载入LDR;
2:执行"ASSPORT READING"检查固件版本号是否为NCRxxxx0标称,检查是否出现序列号,如果没有出现序列号,那么ldr没有启动,这个时候选择另外ldr或者说明备用固件区有故障;当然,这种情况下执行self test不会产生任何效果; 3:选择"Utility state"比较载入代码与ROM_SA的校验和,如果他们不一致,那么立即从硬盘中生成LDR,并且使用生成的LDR启动;或者可以将所有模块保存在数据库,然后从数据库中启动LDR(运行To form来生成程序),备用固件区的程序都是相似的;
注意:如果在数据库中已经存在相同校验的rom,那么应该使用另外的文件名保存;
4:执行Self Test,保持电源打开和PC-3000程序执行;
5:关闭电源在此载入同一个LDR,再次载入LDR后自捡发光二极管会闪烁10分钟,之后开始启动Self test,要察看Self test的状态,那么启动pc3000的mt程序时,选择"Self test state monitoring"按下“launch utility”这个时候就可以从文件中加载脚本并监视Self test状态;
  Self test的启动需要5分钟左右,然后硬盘回重载被用固件区89H来重建基本固件区(隐藏缺陷,写入基本模块,重新计算校准参数);然后回关闭硬盘,移除“安全模式”跳线并打开电源;   
现在不需要载入LDR,发光二极管闪烁10分钟之后开始执行SELFTEST,不过此时是从基本固件区执行;

CALYPSO执行Self test
CALYPSO可以从基本固件区启动Self Test;也可以从备用固件区启动Self Test;不过有些硬盘虽然具有备用固件区,可是却不能从备用固件区启动SelfTest,我们可以通过固件区脚本察看来得到,如果调用出来的测试数量为7,那么就不能够从备用固件区启动Self Test,这个时候需要从基本固件区启动Self test;从备用固件区启动还是从基本固件区启动Selftest开始决定使用那个程序来创建原始固件区;
从备用固件区启动self test的操作流程如下; )

1:安全模式加载LDR
2:执行“Passport reading”检查固件版本号为NCRxxxx0的形式,会差看到是否出现序列号,如果没有出现序列号,就说明ldr没有启动(尝试使用其他的ldr)或备用固件区损坏; I )
注意:备用固件区损坏或者ldr不启动,启动self test 不发生任何效果;
3:启动pc3000程序并执行"utility state",比较载入的rom和rom_sa的校验和--如果两者不同,那么立即从此硬盘中生成ldr并使用生成的ldr启动硬盘,或者也可以将所有模块保存到数据库,然后从数据库中启动ldr(运行"to form"来生成程序);备用固件区的程序都是相似的;
注意:如果在数据库中已经存在相同校验的rom,那么应该使用另外的文件名保存(不要覆盖);
4:现在开始执行self test,察看脚本中测试的数量,如果数量过少(7个),那么就不能执行self test-此硬盘不能从备用固件区启动self test;
5:我们需要修改脚本;使用"NOP"来注释掉“Waiting outside event(ID=06H)”测试(数据一般位于第二项);循环(LOOP)(等待外部时间时的循环(Waiting outside event))另外还要将id=90测试注释为"nop";PC-3000不会自动禁用前面提出的测试;
6:修改后的脚本保存到硬盘文件《以后直接可以从文件载入脚本》;
7:执行“Start Self Test”保持电源开启和pc3000程序在运行;
8:关闭硬盘电源再打开,然后载入ldr,大约30秒后(30秒之间发光二极管不会跳闪),这个时候就会启动selftest;大约5分钟左右程序开始执行id=89h,从基本固件区载入,发光二极管会跳闪30秒,之后将从基本固件区继续执行self test,这个时候中止测试并察看基本固件区变化;
9:从基本固件区继续执行self test;
备用固件区的脚本更改后的硬盘启动不需要再次做更改脚本工作,只需要从上面的第5步开始,从备用固件区启动self test即可;
注意:以上操作为PC-3000使用流程;希望能够给朋友们带来方便;

评论
在安全模式下装载的LDR引导进入之后,硬盘进入的是AL-SA(备份SA区模式),看ID变化.
思路:通过安全模式下,用LDR引导进入,不管校验和是否一致,都直接生成LDR(注意,这个LDR与正常模式下的LDR不同),这就是俗称C 区的LDR文件.
以金8为例子,从安全模式下生成C区的LDR,断电,加载所生成的C区LDR文件,进入SELFSCAN模式,通过89H模块的引导(这个模块在这里不是普通的数据模块,更像批处理文件---类似IBM的LDR文件功能"插曲:IBM的LDR不是引导文件,而是告诉硬盘去执行什么命令的文件,例如砍头,为什么IBM砍头需要多次写入LDR就是这个原因"),进入,SELFSCAN准备工作,调用所需的数据,断电,开始真正的SELFSCAN

评论
6Y进c区自检方法(
1认盘进pci-pc3000   TOOLS->UTILITY EXTENSIONS->VIEW MODULES->#18->修改第一个字节为00并校正验证码->write to hdd->退出pci-pc3000 断电,通电再进入pcipc3000就进入C区---Firmware 由原来 YAR41BWO 变为YCR41VJO ,生成ldr文件(如果是用别的ldr进入的最好读出c区固件,通过from profile files 生成,)断电退出pc3000 ,跳安全模式用上面生产的ldr 这时要注意2点1.sn有没有读出,2点UTILITY STATE 看看两个验证码是否相同 如果没有说明固件有错误,自检不会成功,启动自检 关掉id=06 id=90 进程,写入硬盘,退出再重进,开始跑自检(选第一项不断电),断电推出再次通电加ldr 等大概不到1分钟,自检自动启动,通过selftest monitoring 查看进程,到id=89 后开始从A区载认,然后从A区继续执行.

从c区启动自检有很大局限性,1首先c区固件好的不多,碰到的没有几个c区是好的,c区固件坏了读出来用mrt修一下再写进去没有问题,和A区的方法没有区别,但好像不能写其他盘的固件写了以后,即使写测试通过也写不进任何东西,一写或一开自检就busy,2.C区的副头是空的主头坏了就没发做自检.我碰到过C区自检敲盘,在A区做成功的.总的说来对C区认识还不深.

评论
很详细的介绍,对硬盘底层有个清楚的认识,谢谢楼主

评论
好帖子
还比较全面

评论
真的顶得不得了~~~~~~~~~~~~~~
学习拉~~~~~

评论
很好的东西,非常谢谢,希望高手今后发这样的帖子.

评论
很好的东西,非常谢谢,希望高手今后多发这样的帖子.还有就是请教到哪有C区的LDR下载?请赐教,俺非常谢谢了,我的QQ:75358841

评论
这是我见过备用务服区最详细的介绍了?

精典!

评论
好东西!!!好东西!!!好东西!!!好东西!!! 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收
 ·日本中文新闻 唐田绘里香为新剧《极恶女王》剃光头 展现演员决心
·日本中文新闻 真子小室夫妇新居引发隐私担忧
·日本中文新闻 前AKB48成员柏木由纪与搞笑艺人交往曝光
·日本学校 {日本国际学校}梅田インターナショナルスクール
·日本学校 LINE:sm287 陳雨菲、20歳、台湾からの留学生、東京に来たばかり
·日本留学生活 出售平成22年走行48000km 代步小车
·日本华人网络交流 円相場 一時1ドル=140円台まで上昇?
·日本华人网络交流 问日本华人一个问题
·日本旅游代购 富山接机
 ·生活百科 英国转澳大利亚转换插头
·汽车 【求助】修车遇到困难怎么办?

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...