CN1245676C - 非原生sata硬盘驱动器的驱动方法及其装置 - Google Patents

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

Info

Publication number
CN1245676C
CN1245676C CN 200310114238 CN200310114238A CN1245676C CN 1245676 C CN1245676 C CN 1245676C CN 200310114238 CN200310114238 CN 200310114238 CN 200310114238 A CN200310114238 A CN 200310114238A CN 1245676 C CN1245676 C CN 1245676C
Authority
CN
China
Prior art keywords
hard disk
disk drive
sata
pata
sata hard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN 200310114238
Other languages
English (en)
Other versions
CN1542590A (zh
Inventor
卓晔
黄宗庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN 200310114238 priority Critical patent/CN1245676C/zh
Publication of CN1542590A publication Critical patent/CN1542590A/zh
Application granted granted Critical
Publication of CN1245676C publication Critical patent/CN1245676C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

一种非原生SATA硬盘驱动器的驱动方法及其装置,用于一计算机。计算机包括具有一先进配置及电源接口(Advanced Configuration and Power Interface,ACPI)的基本输入输出系统(BIOS)及支持先进配置及电源接口的操作系统。非原生SATA硬盘驱动器包括转换接口及PATA内盘。首先,发出一中断。接着,依据中断而执行中断处理程序,以检测非原生SATA硬盘驱动器内的PATA内盘的定时模式并储存。接着,加载预建(default)SATA驱动程序。接着,回报储存的定时模式。最后,依据定时模式设定SATA硬盘驱动器。

Description

非原生SATA硬盘驱动器的驱动方法及其装置
(1)技术领域
本发明是有关于一种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)及支持先进配置及电源接口的操作系统。非原生SATA硬盘驱动器包括转换接口及PATA内盘。首先,发出一中断。接着,依据中断而执行中断处理程序,以检测非原生SATA硬盘驱动器内的PATA内盘的定时模式并储存。接着,加载预建(default)SATA驱动程序。接着,回报储存的定时模式。最后,依据定时模式设定SATA硬盘驱动器。
根据本发明另一方面提出一种计算机,包括具有先进配置及电源接口的BIOS、支持先进配置及电源接口的操作系统以及非原生SATA硬盘驱动器。非原生SATA硬盘驱动器用以传送或接收串行SATA信号,包括PATA内盘,用以传送或接收并行PATA信号;及转换接口,用以桥接并行PATA信号与串行SATA信号。于操作系统启动之初是执行该先进配置及电源接口的初始函数以发出一中断。中断发生时,中断处理程序检测非原生SATA硬盘驱动器内的PATA内盘的定时模式并储存。中断结束后,操作系统是加载预建(default)SATA驱动程序并执行该先进配置及电源接口的撷取模式函数以回报储存的定时模式。接收储存的该定时模式后,操作系统即据以设定SATA硬盘驱动器。
为进一步说明本发明的上述目的、结构特点和效果,以下将结合附图对本发明进行详细的描述。
(4)附图说明
图1是非原生SATA硬盘驱动器的方块图。
图2是传统的一种非原生SATA硬盘的驱动方法。
图3是依照本发明一第一实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。
图4是依照本发明一第二实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。
(5)具体实施方式
本发明是利用支持先进配置及电源接口(Advanced Configuration andPower Interface,以下简称ACPI)的基本输出入系统(Basic Input/OutputSystem,以下简称BIOS)及支持先进配置及电源接口的操作系统(Operat ionSystem,OS)来共同实现可利用操作系统的预建(default)SATA驱动程序来驱动非原生SATA硬盘驱动器的方法。
先进配置及电源接口是用以界定一套硬件及软件的接口,使得操作系统可以据以设定计算机内的各硬件的配置,并且管理其电源供应。先进配置及电源接口提供一组先进配置及电源接口原始语言程序代码(ACPI sourcelanguage code,以下简称ASL码),其是包括供操作系统呼叫的种种先进配置及电源接口函数。当操作系统刚启动时,是先呼叫先进配置及电源接口的_INI函数,然后再依序加载各硬件的驱动程序以设定各硬件的配置。
一般传统PATA硬盘驱动器的定时模式等信息是在BIOS开机时所取得。但是,当具有非原生SATA硬盘驱动器的计算机开机时,一般没有SATA驱动固件的BIOS是不认得此非原生SATA而不做处理。因此操作系统启动时就不知道如何设定SATA硬盘驱动器中的PATA硬盘驱动器,因此会以最保险的作法,也就是将其设定在预设模式PIO模式0,但是这样会使SATA硬盘驱动器的运作速度大为降低。本发明即是在一般没有SATA驱动固件的BIOS的情况下也能驱动非原生SATA硬盘驱动器。
本发明是在先进配置及电源接口中的_INI函数加入一段程序代码以发出(issue)系统管理中断(SMI)(System management interrupt)。SMI中断发生后,是执行SMI中断处理程序(handle routine),以查询此SATA硬盘驱动器内部的PATA内盘,以取得例如是定时模式等等的信息并储存,以供后续操作系统启动时之用。
图3是依照本发明一第一实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。首先,BIOS进入开机自测试程序(POST)(Power On Self Test)阶段,此阶段是用以初始化计算机的周边硬件,例如显示卡、存储器、中央处理器及硬盘等,然后开始启动操作系统,如步骤210所示。接着,执行先进配置及电源接口的_INI函数,如步骤220所示。在_INI函数中,是发出SMI中断。接着,在步骤230中,SMI中断发生,此时是执行SMI中断处理程序(handleroutine),以查询此SATA硬盘驱动器内部的PATA内盘,以取得例如是定时模式等等的信息并储存。SMI中断是为权限最高的中断,对操作系统而言是不知情的(transparent)。接着,在步骤240中,SMI中断结束后,操作系统加载预建(default)的SATA驱动程序,此时操作系统会呼叫先进配置及电源接口的_GTM函数,以取得于SMI中断处理程序所储存的非原生SATA硬盘驱动器的定时模式。接着,在步骤250中,操作系统得到GTM函数所回报的定时模式。最后,在步骤260中,操作系统据以设定SATA硬盘驱动器,以使此非原生SATA硬盘驱动器能在最佳效能下运作。
由于传统的PATA硬盘驱动器的驱动方法是由BIOS检测其定时模式,而非原生SATA硬盘驱动器的定时模式就无法由BIOS检测而得。因此本发明藉由先进配置及电源接口的函数发出中断,再以中断处理程序取得非原生SATA硬盘驱动器的定时模式,然后由操作系统依据先进配置及电源接口函数而取得此定时模式并据以设定。这样并不更改操作系统原本驱动硬件的流程,因此可以使用操作系统中预建的SATA驱动程序来驱动非原生SATA硬盘驱动器。
图4是依照本发明一第二实施例的一种非原生SATA硬盘驱动器的驱动方法流程图。首先,BIOS进入POST(Power On Self Test)阶段,然后开始启动操作系统,如步骤310所示。接着,在步骤320中,操作系统载入预建的SATA驱动程序。然后,在步骤330中,操作系统呼叫先进配置及电源接口的函数_GTM,此时函数GTM以最快的定时模式(例如是Ultra DMA 6)当作PATA内盘的定时模式而回报给操作系统。接着,在步骤340中,操作系统依据函数GTM所回报的定时模式去设定非原生SATA硬盘驱动器。如果所回报的最快的定时模式并不适合此非原生SATA硬盘驱动器中的PATA内盘,则操作系统会自动将非原生SATA硬盘驱动器调整在最佳的定时模式下运作。
本发明上述实施例所揭示的非原生SATA硬盘驱动器的驱动方法不需由制造厂商另外研发SATA驱动固件及驱动程序,因此可以节省研发的时间及成本,并且系统厂商也可以省下购买SATA驱动固件及驱动程序的费用。
虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化和修改,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本发明权利要求书的范围内。

Claims (11)

1.一种非原生SATA硬盘驱动器的驱动方法,用于一计算机,该计算机包括具有一先进配置及电源接口的一基本输入输出系统及支持该先进配置及电源接口的一操作系统,该非原生SATA硬盘驱动器包括一转换接口及一PATA内盘,该驱动方法包括:
(a)执行该先进配置及电源接口的一初始函数,其中该初始函数发出一中断;
(b)依据该中断而执行一中断处理程序,以检测该非原生SATA硬盘驱动器内的该PATA内盘的一定时模式并储存;
(c)加载一预建SATA驱动程序;
(d)执行该先进配置及电源接口的一撷取模式函数,以回报储存的该定时模式;
(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硬盘驱动器,用以传送或接收一串行SATA信号,该非原生SATA硬盘驱动器包括:
一PATA内盘,用以传送或接收一并行PATA信号,定时模式设定所述SATA硬盘驱动器的PATA内盘;及
一转换接口,用以桥接该并行PATA信号与该串行SATA信号;
其中,于该操作系统启动之初,该操作系统是执行该先进配置及电源接口的一初始函数,该初始函数发出一中断;
其中,该中断发生时,该计算机是执行一中断处理程序,以检测该非原生SATA硬盘驱动器内的该PATA内盘的一定时模式并储存;
其中,该中断结束后,该操作系统是加载一预建SATA驱动程序并执行该先进配置及电源接口的一撷取模式函数,该撷取模式函数是回报储存的该定时模式;
其中,该操作系统于接收储存的该定时模式后即据以设定该SATA硬盘驱动器。
7.如权利要求6所述的驱动方法,其特征在于该中断是为SMI中断。
8.如权利要求6所述的驱动方法,其特征在于该定时模式是为PIO模式0~4、Multi-word DMA模式0~2、Ultra DMA模式0~6之一。
9.一种非原生SATA硬盘驱动器的驱动方法,用于一计算机,该计算机包括支持一先进配置及电源接口的一基本输入输出系统及支持该先进配置及电源接口的一操作系统,该非原生SATA硬盘驱动器包括一转换接口及一PATA内盘,该驱动方法包括:
(a)启动该操作系统;
(b)加载一预建SATA驱动程序;
(c)回报最快的一定时模式,该定时模式设定所述SATA硬盘驱动器的PATA内盘,并由该先进配置及电源接口的一撷取模式函数所执行,;
(e)依据该定时模式设定该SATA硬盘驱动器。
10.如权利要求9所述的驱动方法,其特征在于步骤(b)及(e)是由该操作系统所执行。
11.如权利要求10所述的驱动方法,其特征在于该撷取模式函数是由该操作系统所呼叫。
CN 200310114238 2003-11-05 2003-11-05 非原生sata硬盘驱动器的驱动方法及其装置 Expired - Lifetime CN1245676C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200310114238 CN1245676C (zh) 2003-11-05 2003-11-05 非原生sata硬盘驱动器的驱动方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200310114238 CN1245676C (zh) 2003-11-05 2003-11-05 非原生sata硬盘驱动器的驱动方法及其装置

Publications (2)

Publication Number Publication Date
CN1542590A CN1542590A (zh) 2004-11-03
CN1245676C true CN1245676C (zh) 2006-03-15

Family

ID=34337054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200310114238 Expired - Lifetime CN1245676C (zh) 2003-11-05 2003-11-05 非原生sata硬盘驱动器的驱动方法及其装置

Country Status (1)

Country Link
CN (1) CN1245676C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426250C (zh) * 2005-07-18 2008-10-15 鸿富锦精密工业(深圳)有限公司 系统主板接收信号灵敏度的测量装置与方法
CN102339236B (zh) * 2010-07-21 2013-08-14 英业达股份有限公司 侦测可插拔储存装置的方法及电子装置
CN109446133A (zh) * 2018-11-14 2019-03-08 天津津航计算技术研究所 在VxWorks系统下提高SATA硬盘传输速度的方法

Also Published As

Publication number Publication date
CN1542590A (zh) 2004-11-03

Similar Documents

Publication Publication Date Title
EP3299958B1 (en) Direct boot arrangement using a nand flash memory
CN100359434C (zh) 信息处理设备及其启动方法
USRE40092E1 (en) Method for quickly booting a computer system
US9778844B2 (en) Installation of operating system on host computer using virtual storage of BMC
US7689802B2 (en) Controlling memory access in a multi-booting system
CN1299483A (zh) 初始化和重新启动操作系统
CN1536484A (zh) 可移动的操作系统和加载该系统的方法
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
US7698547B1 (en) Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware
US8335891B2 (en) Method and system for configuring a storage array
CN109634618A (zh) 基于TMS320C674X处理器二级BootLoader串行加载自启动方法
EP2990956B1 (en) Usb device and method thereof for automatically recognizing microsoft windowing operating system version
CN1245676C (zh) 非原生sata硬盘驱动器的驱动方法及其装置
US7293167B2 (en) Method and apparatus for driving a non-native SATA hard disk
CN102169446A (zh) 一种基于开源系统基本输入输出系统的bios系统和方法
CN100498710C (zh) 自储存装置上读取选择只读存储器程序代码的方法
CN1261876C (zh) 具有更新及检测bios的装置
US20040243797A1 (en) Method and apparatus for booting a computer with a memory card
CN1940887A (zh) 自行修复嵌入式设备的主控应用程序的方法及设备
CN102455919A (zh) 基本输入输出系统自动最佳化设定方法
CN1610894A (zh) 用于修改版本标识寄存器的内容的方法和装置
CN101034355A (zh) 多用户环境下改变操作系统文件路径的方法以及相应的电脑系统
US7100031B1 (en) Detector and operational method for a firmware interface
TW201734800A (zh) 設定磁碟陣列的方法
CN1624658A (zh) 电脑系统快速开机的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060315