非原生sata硬盘驱动器的驱动方法及其装置的制作方法

文档序号:6420665阅读:139来源:国知局
专利名称:非原生sata硬盘驱动器的驱动方法及其装置的制作方法
技术领域
本发明是有关于一种SATA硬盘驱动器的驱动方法及其装置,且特别是有关于一种非原生SATA(non-native serial ATA)硬盘驱动器的驱动方法及其装置。
(2)背景技术串行式的SATA(Serial ATA)硬盘驱动器是用以取代传统的并行式的PATA(Parallel ATA)硬盘驱动器。PATA硬盘驱动器由于是采用并行式传输,因此针脚数较多,缆线宽度较大,而且为了达到传输同步使得缆线的长度受限。SATA硬盘驱动器是采用串行式传输,因此针脚数较少,缆线也可以较长,使得安装较为容易。而且,SATA硬盘驱动器的速度更快,可以到达150MB/s,并且可以使用多联机(multi-link)的方式更加地提高速度。
但是由于现在处于PATA硬盘驱动器过渡到SATA硬盘驱动器的阶段,原生的SATA(native SATA)硬盘驱动器的技术尚未完全成熟,因此有非原生SATA(non-native SATA)硬盘驱动器做为过渡的产品。非原生SATA硬盘驱动器即是与原生SATA硬盘驱动器的接口相同,同样具有少针脚数等的特性,只是非原生SATA硬盘驱动器内部是采用PATA内盘,然后以非原生SATA硬盘驱动器内的转换接口将串行式的SATA信号与并行式的PATA信号互相转换。
图1是非原生SATA硬盘驱动器的方块图。非原生SATA硬盘驱动器100包括转换接口101与PATA内盘102。非原生SATA硬盘驱动器100是以串行缆线103而与计算机传送接收串行式SATA信号。PATA内盘102是以并行缆线104而与转换接口101传送或接收并行信号。转换接口101用以桥接PATA信号与SATA信号。
使用传统的PATA硬盘驱动器时,操作系统需对PATA硬盘驱动器及硬盘主控端(host)设定定时模式(timing mode)。定时模式用以表示硬盘主控端与PATA硬盘驱动器之间的传输速度,由慢到快可分为以下几种PIO模式0~4、Multi-word DMA模式0~2、Ultra DMA模式0~6。基本输入输出系统(BIOS)会在开机时询问PATA硬盘驱动器的类型及其所支持的定时模式。开机后操作系统再依据硬盘主控端所支持的模式与PATA硬盘所支持的模式而设定适当的时间数。
而使用SATA硬盘驱动器时,其是采用封包方式传输,因此不必如同PATA硬盘驱动器需设定定时模式。然而,非原生SATA硬盘驱动器的内部实际上仍是PATA内盘,所以仍须对非原生SATA硬盘驱动器中的PATA内盘设定定时模式。但是,一般的BIOS及操作系统皆只看到此非原生SATA硬盘驱动器是为SATA接口,因此并不会主动设定非原生SATA硬盘驱动器中的PATA内盘。若不设定PATA内盘的定时模式也可使用此非原生SATA硬盘驱动器,只是此时内部PATA硬盘驱动器将以默认值运作,例如是PIO模式0,这样将使得数据的存取太慢。
图2是传统的一种非原生SATA硬盘的驱动方法。首先,在步骤110中,刚开机时,BIOS进入开机自测试程序(POST)(Power On Self Test)阶段,此阶段是用以初始化计算机的周边硬件,例如显示卡、存储器、中央处理器及硬盘等,然后由BIOS呼叫非原生SATA硬盘驱动器的制造厂商提供的SATA驱动固件(SATAoption ROM)。接着,在步骤120中,开始启动(boot)操作系统,接着,在步骤130中,操作系统加载厂商所提供的SATA驱动程序。这样,操作系统就可以经由制造厂商所提供的SATA驱动程序而以最佳效能存取SATA硬盘驱动器。但是,这种作法需由非原生SATA硬盘驱动器的制造厂商研发SATA的驱动固件及驱动程序,这样会增加研发的费用及时间,而且系统厂商需购买SATA驱动固件及驱动程序,这样也增加系统厂商的制造成本。
(3)发明内容有鉴于此,本发明的目的是提供一种可使用操作系统的预建(default)驱动程序来驱动非原生SATA硬盘驱动器的方法,并且BIOS也不需要SATA驱动固件,以节省研发驱动固件及驱动程序的时间及成本,及系统厂商购买所需的成本。
根据本发明一方面提出一种非原生SATA硬盘驱动器的驱动方法,用于一计算机。计算机包括具有一先进配置及电源接口(Advanced Configuration andPower Interface,ACPI)的基本输入输出系统(BIOS)及支持ACPI的操作系统。非原生SATA硬盘驱动器包括转换接口及PATA内盘。首先,发出一中断。接着,依据中断而执行中断处理程序,以检测非原生SATA硬盘驱动器内的PATA内盘的定时模式并储存。接着,加载预建(default)SATA驱动程序。接着,回报储存的定时模式。最后,依据定时模式设定SATA硬盘驱动器。
根据本发明另一方面提出一种计算机,包括具有ACPI的BIOS、支持ACPI的操作系统以及非原生SATA硬盘驱动器。非原生SATA硬盘驱动器用以传送或接收串行SATA信号,包括PATA内盘,用以传送或接收并行PATA信号;及转换接口,用以桥接并行PATA信号与串行SATA信号。于操作系统启动之初是执行该ACPI的初始函式以发出一中断。中断发生时,中断处理程序检测非原生SATA硬盘驱动器内的PATA内盘的定时模式并储存。中断结束后,操作系统是加载预建(default)SATA驱动程序并执行该ACPI的撷取模式函式以回报储存的定时模式。接收储存的该定时模式后,操作系统即据以设定SATA硬盘驱动器。
为进一步说明本发明的上述目的、结构特点和效果,以下将结合附图对本发明进行详细的描述。
(4)


图1是非原生SATA硬盘驱动器的方块图。
图2是传统的一种非原生SATA硬盘的驱动方法。
图3是依照本发明一第一实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。
图4是依照本发明一第二实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。
(5)具体实施方式
本发明是利用支持先进配置及电源接口(Advanced Configuration andPower Interface,以下简称ACPI)的基本输出入系统(Basic Input/OutputSystem,以下简称BIOS)及支持ACPI的操作系统(Operation System,OS)来共同实现可利用操作系统的预建(default)SATA驱动程序来驱动非原生SATA硬盘驱动器的方法。
ACPI是用以界定一套硬件及软件的接口,使得操作系统可以据以设定计算机内的各硬件的配置,并且管理其电源供应。ACPI提供一组ACPI原始语言程序代码(ACPI source language code,以下简称ASL码),其是包括供操作系统呼叫的种种ACPI函式。当操作系统刚启动时,是先呼叫ACPI的_INI函式,然后再依序加载各硬件的驱动程序以设定各硬件的配置。
一般传统PATA硬盘驱动器的定时模式等信息是在BIOS开机时所取得。但是,当具有非原生SATA硬盘驱动器的计算机开机时,一般没有SATA驱动固件的BIOS是不认得此非原生SATA而不做处理。因此操作系统启动时就不知道如何设定SATA硬盘驱动器中的PATA硬盘驱动器,因此会以最保险的作法,也就是将其设定在预设模式PIO模式0,但是这样会使SATA硬盘驱动器的运作速度大为降低。本发明即是在一般没有SATA驱动固件的BIOS的情况下也能驱动非原生SATA硬盘驱动器。
本发明是在ACPI中的_INI函式加入一段程序代码以发出(issue)系统管理中断(SMI)(System management interrupt)。SMI中断发生后,是执行SMI中断处理程序(handle routine),以查询此SATA硬盘驱动器内部的PATA内盘,以取得例如是定时模式等等的信息并储存,以供后续操作系统启动时之用。
图3是依照本发明一第一实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。首先,BIOS进入开机自测试程序(POST)(Power On Self Test)阶段,此阶段是用以初始化计算机的周边硬件,例如显示卡、存储器、中央处理器及硬盘等,然后开始启动操作系统,如步骤210所示。接着,执行ACPI的_INI函式,如步骤220所示。在_INI函式中,是发出SMI中断。接着,在步骤230中,SMI中断发生,此时是执行SMI中断处理程序(handle routine),以查询此SATA硬盘驱动器内部的PATA内盘,以取得例如是定时模式等等的信息并储存。SMI中断是为权限最高的中断,对操作系统而言是不知情的(transparent)。接着,在步骤240中,SMI中断结束后,操作系统加载预建(default)的SATA驱动程序,此时操作系统会呼叫ACPI的_GTM函式,以取得于SMI中断处理程序所储存的非原生SATA硬盘驱动器的定时模式。接着,在步骤250中,操作系统得到_GTM函式所回报的定时模式。最后,在步骤260中,操作系统据以设定SATA硬盘驱动器,以使此非原生SATA硬盘驱动器能在最佳效能下运作。
由于传统的PATA硬盘驱动器的驱动方法是由BIOS检测其定时模式,而非原生SATA硬盘驱动器的定时模式就无法由BIOS检测而得。因此本发明藉由ACPI的函式发出中断,再以中断处理程序取得非原生SATA硬盘驱动器的定时模式,然后由操作系统依据ACPI函式而取得此定时模式并据以设定。这样并不更改操作系统原本驱动硬件的流程,因此可以使用操作系统中预建的SATA驱动程序来驱动非原生SATA硬盘驱动器。
图4是依照本发明一第二实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。首先,BIOS进入POST(Power On Self Test)阶段,然后开始启动操作系统,如步骤310所示。接着,在步骤320中,操作系统载入预建的SATA驱动程序。然后,在步骤330中,操作系统呼叫ACPI的函式_GTM,此时函式_GTM以最快的定时模式(例如是Ultra DMA 6)当作PATA内盘的定时模式而回报给操作系统。接着,在步骤340中,操作系统依据函式_GTM所回报的定时模式去设定非原生SATA硬盘驱动器。如果所回报的最快的定时模式并不适合此非原生SATA硬盘驱动器中的PATA内盘,则操作系统会自动将非原生SATA硬盘驱动器调整在最佳的定时模式下运作。
本发明上述实施例所揭示的非原生SATA硬盘驱动器的驱动方法不需由制造厂商另外研发SATA驱动固件及驱动程序,因此可以节省研发的时间及成本,并且系统厂商也可以省下购买SATA驱动固件及驱动程序的费用。
虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化和修改,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本发明权利要求书的范围内。
权利要求
1.一种非原生SATA硬盘驱动器的驱动方法,用于一计算机,该计算机包括具有一先进配置及电源接口(ACPI)的一基本输入输出系统(BIOS)及支持该ACPI的一操作系统,该非原生SATA硬盘驱动器包括一转换接口及一PATA内盘,该驱动方法包括(a)执行该ACPI的一初始函式(_INI),其中该初始函式发出一中断;(b)依据该中断而执行一中断处理程序,以检测该非原生SATA硬盘驱动器内的该PATA内盘的一定时模式并储存;(c)加载一预建(default)SATA驱动程序;(d)执行该ACPI的一撷取模式函式(_GTM),以回报储存的该定时模式;(e)依据该定时模式设定该PATA内盘。
2.如权利要求1所述的驱动方法,其特征在于是执行于启动该操作系统之初。
3.如权利要求1所述的驱动方法,其特征在于该中断是为软件管理中断(SMI)。
4.如权利要求1所述的驱动方法,其特征在于步骤(a)、(c)、(d)及(e)是由该操作系统所执行。
5.如权利要求1所述的驱动方法,其特征在于该定时模式是为PIO模式0~4、Multi-word DMA模式0~2、Ultra DMA模式0~6之一。
6.一种非原生SATA硬盘驱动器的驱动方法,用于一计算机,该计算机包括支持一先进配置及电源接口(ACPI)的一BIOS及支持该ACPI的一操作系统,该非原生SATA硬盘驱动器包括一转换接口及一PATA内盘,该驱动方法包括(a)发出一中断;(b)依据该中断而执行一中断处理程序,以检测该非原生SATA硬盘驱动器内的该PATA内盘的一定时模式并储存;(c)加载一预建(default)SATA驱动程序;(d)回报储存的该定时模式;(e)依据该定时模式设定该SATA硬盘驱动器。
7.如权利要求6所述的驱动方法,其特征在于是执行于启动该操作系统之初。
8.如权利要求6所述的驱动方法,其特征在于该中断是为SMI中断。
9.如权利要求6所述的驱动方法,其特征在于步骤(a)中的该中断是由该ACPI的一初始函式所发出。
10.如权利要求9所述的驱动方法,其特征在于该初始函式是由该操作系统所呼叫。
11.如权利要求6所述的驱动方法,其特征在于步骤(c)及(e)是由该操作系统所执行。
12.如权利要求6所述的驱动方法,其特征在于步骤(d)是由该ACPI的一撷取模式函式所执行。
13.如权利要求12所述的驱动方法,其特征在于该撷取模式函式是由该操作系统所呼叫。
14.如权利要求6所述的驱动方法,其特征在于该定时模式是为PIO模式0~4、Multi-word DMA模式0~2、Ultra DMA模式0~6之一。
15.一种计算机,包括具有一先进配置及电源界面(ACPI)的一BIOS;支持该ACPI的一操作系统;以及一非原生SATA硬盘驱动器,用以传送或接收一串行SATA信号,该非原生SATA硬盘驱动器包括一PATA内盘,用以传送或接收一并行PATA信号;及一转换接口,用以桥接该并行PATA信号与该串行SATA信号;其中,于该操作系统启动之初,该操作系统是执行该ACPI的一初始函式,该初始函式发出一中断;其中,该中断发生时,该计算机是执行一中断处理程序,以检测该非原生SATA硬盘驱动器内的该PATA内盘的一定时模式并储存;其中,该中断结束后,该操作系统是加载一预建(default)SATA驱动程序并执行该ACPI的一撷取模式函式,该撷取模式函式是回报储存的该定时模式;其中,该操作系统于接收储存的该定时模式后即据以设定该SATA硬盘驱动器。
16.如权利要求15所述的驱动方法,其特征在于该中断是为SMI中断。
17.如权利要求15所述的驱动方法,其特征在于该定时模式是为PIO模式0~4、Multi-word DMA模式0~2、Ultra DMA模式0~6之一。
18.一种非原生SATA硬盘驱动器的驱动方法,用于一计算机,该计算机包括支持一先进配置及电源接口(ACPI)的一BIOS及支持该ACPI的一操作系统,该非原生SATA硬盘驱动器包括一转换接口及一PATA内盘,该驱动方法包括(a)启动该操作系统;(b)加载一预建(default)SATA驱动程序;(c)回报最快的一定时模式;(e)依据该定时模式设定该SATA硬盘驱动器。
19.如权利要求18所述的驱动方法,其特征在于步骤(b)及(e)是由该操作系统所执行。
20.如权利要求18所述的驱动方法,其特征在于步骤(c)是由该ACPI的一撷取模式函式所执行。
21.如权利要求20所述的驱动方法,其特征在于该撷取模式函式是由该操作系统所呼叫。
全文摘要
一种非原生SATA硬盘驱动器的驱动方法及其装置,用于一计算机。计算机包括具有一先进配置及电源接口(Advanced Configuration and Power Interface,ACPI)的基本输入输出系统(BIOS)及支持ACPI的操作系统。非原生SATA硬盘驱动器包括转换接口及PATA内盘。首先,发出一中断。接着,依据中断而执行中断处理程序,以检测非原生SATA硬盘驱动器内的PATA内盘的定时模式并储存。接着,加载预建(default)SATA驱动程序。接着,回报储存的定时模式。最后,依据定时模式设定SATA硬盘驱动器。
文档编号G06F9/445GK1542590SQ200310114238
公开日2004年11月3日 申请日期2003年11月5日 优先权日2003年11月5日
发明者卓晔, 黄宗庆, 卓 晔 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1