串行高阶硬盘架构控制器自动初始化方法

文档序号:6392792阅读:422来源:国知局
专利名称:串行高阶硬盘架构控制器自动初始化方法
技术领域
本发明涉及一种串行高阶硬盘架构(Serial Advanced TechnologyArchitecture,SATA)控制器初始化方法,特别是一种自动执行的SATA控制器初始化方法。
背景技术
目前英特尔公司设计的南桥芯片中,内置SATA控制器的有ICH5(ICH,是I/O Contoller Hub的缩写,即南桥)系列(包括ICH5,ICH5R),可支持2个SATA(Serial Advanced Technology Architecture的缩写,即串行高阶硬盘架构)端口;ICH6系列(包括ICH6,ICH6R ICH6M),可支持四个SATA端口,以及未来将推出的ICH7,ICH8等。其中,每种南桥芯片具有一个制造厂商号和一个装置号的信息。这些信息在开机后记录在BIOS(基本输入/输出系统)的某个地址中。现有南桥芯片上SATA控制器初始化方法是按照英特尔公司所提供说明书上的设置步骤手动操作,即在DOS模式下执行“RU.exe”,修改BIOS中的内容。例如手动操作开启ICH6系列SATA控制器功能的步骤为首先在DOS(磁盘操作系统)环境下执行“RU.exe”,按“Alt+T”,选择“ListPCI Device”;选择“Intel Bridge,Dev#=1F,Fun#=00”,然后按回车键,再按“Alt+7”,读位置F0h至F3h的值作为基址,基址+偏移量3418h得出一地址对应ICH6系列SATA控制器的内存位置,键入此地址后按回车,将此内存位置下的所有数据(以二进制表示)的第二位置零;按“Alt+T”,选择“ListPCI Device”,选择“Intel XXXX8086 2652”,按顺序在相应的位置填入如下的值(输入一个值后按回车)(A0h)=18,(A4h)=64,(A0h)=40,(A6h)=22,(92h)=00,(A0h)=1C,(A6h)=04,(92h)=****决定了所允许的端口,如Port 0---01,Port 1---02,Port 2---04,Port 3---08把示波器接在SATA端口的数据线上,示波器就会显示信号的波形图。
但是,这样一连串的SATA控制器初始化的手动操作,过程太过复杂费时,而且容易发生人为操作上的错误,给测量人员带来了不便。

发明内容本发明的目的在于提供一种SATA控制器自动初始化方法,以对待测SATA端口作允许/禁止设定。
为实现本发明的目的,本发明所采用的初始化方法包括以下步骤输入一个待测SATA端口值于一运行界面上;通过南桥芯片和SATA控制器的制造厂商号/装置号的查表以自动识别所述南桥芯片和SATA控制器;根据识别结果自动更改SATA控制器所在位置的数据以允许所述SATA控制器;自动设定BIOS中偏移地址的数据以完成所述SATA控制器初始化。所述自动设定BIOS中偏移地址的步骤包括初始化所述SATA控制器;禁止所有的SATA端口;进入SATA测试模式;允许待测的SATA端口。
本发明的有益效果是,该自动初始化方法克服了现有技术复杂费时的不足,能够自动完成待测端口初始化,给产品验证阶段和量产时测量SATA信号带来方便。

图1是本发明ICH6系列SATA控制器自动初始化流程图。
具体实施方式下面以初始化ICH6 SATA控制器为例,结合ICH6系列SATA端口允许程序流程图,说明本发明的具体实施过程。
请参阅图1,本发明所采用的初始化方法包括以下步骤(1)步骤100,首先判断ICH6系列的南桥芯片是否存在于主板上,若存在,则进入步骤102,若不存在,则结束。本发明将ICH6系列所有的南桥芯片建表,首先查找BIOS地址中是否有一个制造厂商号/装置号,与表中ICH6系列的制造厂商号/装置号相同。若存在,表示主板支持该ICH6系列;若不存在,则在界面上显示找不到ICH6系列设备。
(2)步骤102,判断SATA控制器是否存在于南桥芯片上,若存在,则进入步骤104,若不存在,则结束。本发明将所有的ICH6系列SATA控制器建表,通过查找BIOS地址中是否有一个制造厂商号/装置号,与表中SATA控制器的制造厂商号/装置号相同,若存在,表示南桥支持的是该款SATA控制器;若不存在,则在界面上显示找不到SATA控制器设备。
步骤100,步骤102查表形式如下南桥芯片制造厂商号/装置号桌上型电脑ICH6系列 8086/2640笔记本电脑ICH6系列 8086/2641SATA控制器 制造厂商号/装置号ICH6 SATA控制器 8086/2651ICH6R SATA控制器8086/2652ICH6M SATA控制器8086/2653(3)步骤104,设定允许SATA控制器。本发明自动读该款南桥芯片在BIOS所分配的第一偏移地址F0h,F1h,F2h,F3h的数值作为第一基址,将第一基址的后三位用000h代替得出第二基址,让第二基址+第二偏移地址3418h得出一地址对应该款SATA控制器的内存位置,将此内存位置下的所有数据(二进制表示)的第二位置零,以允许SATA控制器。
(4)步骤106,初始化该款SATA控制器,即对该款SATA控制器在BIOS中的偏移地址A0h,A4h,A0h,A6h设定值,即令(A0h)=18,(A4h)=64,(A0h)=40,(A6h)=22。
(5)步骤108,禁止所有的SATA端口,即对偏移地址92h设定值,令(92h)=00。
(6)步骤110,进入SATA测试模式,即对A0h,A6h重新设定值,令(A0h)=1C,(A6h)=04。
(7)步骤112,允许待测的SATA端口,即对偏移地址92h重新设定值(这个值和用户输入的待测SATA端口值是对应的),然后结束。
步骤108和步骤112中,92h设定值实现对SATA端口允许/禁止控制,如下所示设定值端口允许/禁止状态00全部端口禁止01端口0允许02端口1允许04端口2允许
08 端口3允许使用本方法初始化ICH6SATA控制器过程是,首先在DOS环境下执行本程序,从键盘上输入与各个端口对应的数值1,2,3,4中的一个,程序就会自动找到ICH6系列南桥芯片,再找到ICH6SATA控制器,程序自动读入ICH6在BIOS所分配的第一偏移地址F0h至F3h的数值作为第一基址,下面是在BIOS中读取的内容偏移地址 数值F0 01F1 C0F2 D1F3 FE第一基址FED1C001h后三位用000h代替,得出第二基址FED1C000h。
FED1C000h(第二基址)+3418h(第二偏移地址)=FED1F418hFED1F418h即ICH6SATA控制器对应的内存位置。将该内存位置下所有数据的第二位置零,需转换的数据有(00h)=65h=0110 0101b转换成0110 0001b=61h(02h)=0Fh=0000 1111b转换成0000 1011b=0Bh至此,完成允许SATA控制器。然后,程序再自动执行步骤106至步骤112,完成ICH6 SATA控制器初始化过程。
如果要初始化ICH6R SATA控制器或者ICH6M SATA控制器,从流程图来看,比较初始化ICH6 SATA控制器,程序执行内容的差异体现在步骤102至步骤104中。在步骤102中,将会找到一个对应ICH6R SATA控制器或者ICH6MSATA控制器的制造厂商号/装置号,步骤104中,程序会读入ICH6R或者ICH6M在BIOS所分配的第一偏移地址F0h,F1h,F2h,F3h的数值。而在步骤106至步骤112中,程序在BIOS所要更改的偏移地址及其中的数值是相同的。
本SATA控制器初始化方法同样适合于ICH5系列南桥芯片。比较初始化ICH6系列SATA控制器,程序执行内容的差异在于,步骤100,步骤102中查找的制造厂商号/装置号不同,以及在步骤104中,只需自动读该款南桥芯片在BIOS所分配的偏移地址F2h的数值,并将该数值(二进制表示)的第二位置零,即可设定允许SATA控制器。在步骤106至步骤112中,程序在BIOS所要更改的偏移地址及其中的数值是相同的。
权利要求
1.一种串行高阶硬盘架构控制器自动初始化方法,包括以下步骤输入一个待测SATA端口值于一运行界面上;通过南桥芯片和SATA控制器的制造厂商号/装置号的查表以自动识别所述南桥芯片和SATA控制器;根据识别结果自动更改SATA控制器所在位置的数据以允许所述SATA控制器;自动设定BIOS中偏移地址的数据以完成所述SATA控制器初始化。
2.如权利要求1所述的串行高阶硬盘架构控制器自动初始化方法,所述自动设定BIOS中偏移地址的步骤包括初始化所述SATA控制器;禁止所有的SATA端口;进入SATA测试模式;允许所述待测的SATA端口。
3.如权利要求1所述的串行高阶硬盘架构控制器自动初始化方法,所述界面运行于DOS环境中。
全文摘要
本发明为一种SATA控制器自动初始化方法,通过该方法可对待测SATA端口作允许/禁止设定。该方法包括以下步骤输入一个待测SATA端口值于一运行界面上;通过南桥芯片和SATA控制器的制造厂商号/装置号的查表以自动识别所述南桥芯片和SATA控制器;根据识别结果自动更改SATA控制器所在位置的数据以允许所述SATA控制器;自动设定BIOS中偏移地址的数据以完成所述SATA控制器初始化。
文档编号G06F15/177GK1694066SQ20041002719
公开日2005年11月9日 申请日期2004年5月8日 优先权日2004年5月8日
发明者王柏昌, 林鸿年, 陈维沅, 王太诚 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1