一种利用半导体存储装置实现自动执行及启动主机的方法转让专利

申请号 : CN200410050953.5

文献号 : CN100590594C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钟智渊

申请人 : 深圳市朗科科技股份有限公司

摘要 :

本发明涉及一种利用半导体存储装置实现自动执行及启动主机的方法,通过判断主机操作系统特征,确定主机操作系统的类型或主机状态、确定调用自动执行功能或启动主机功能的时机条件以及根据所述确定的时机或条件触发调用相应功能的方法,来实现在无需用户干预的情况下,半导体存储装置引导主机操作系统以完成启动主机功能,在主机已启动、准备自动执行的情况下,又可以触发主机的自动执行机制,完成自动执行功能。本方法适用于多种操作系统和具有多种接口、多种存储介质的半导体存储装置。

权利要求 :

1.一种利用半导体存储装置实现自动执行及启动主机的方法,所述半导体存储 装置连接到装有操作系统的主机上,所述半导体存储装置模拟为两个或两个以上的 逻辑设备,其中第一逻辑设备为光盘驱动器类型,用于存储启动主机的所必须的启 动文件和自动执行配置文件,第二逻辑设备为磁盘类型,用于存储自动执行配置文 件和供用户存储数据;包括以下步骤:(1)判断主机操作系统支持最大逻辑设备数的特征,以及主机下发命令的序列 的特征;

(2)根据判断的结果,确定主机是否启动,并在确定所述主机已经启动的情况 下,进一步确定所述主机是否具备自动执行条件;以及(3)在确定所述主机尚未启动情况下,调用所述半导体存储装置的启动主机功 能;在确定所述主机已经启动并且具备自动执行条件的情况下,调用所述半导体存 储装置的自动执行功能,其中,所述主机下发命令的序列包括主机是否下发READ CAPACITY命令、是否 下发MODE SENSE(10)命令以及主机下发MODE SENSE(10)及READ CAPACITY命令 的先后顺序。

2.根据权利要求1所述的利用半导体存储装置实现自动执行及启动主机的方 法,可以先判定主机支持的最大逻辑设备数,再判定主机下发命令的序列;也可以 先判定主机下发命令的序列,再判定主机支持的最大逻辑设备数。

3.根据权利要求1所述的利用半导体存储装置实现自动执行及启动主机的方 法,其中,当且仅当在步骤(1)中判断出所述主机操作系统支持最大逻辑设备数小 于2、并且所述主机在下发MODE SENSE(10)命令之前没有下发READ CAPACITY命 令时,在步骤(2)确定所述主机尚未启动。

4.根据权利要求1所述的利用半导体存储装置实现自动执行及启动主机的方 法,其中所述半导体存储装置与所述主机的连接方式包括:通过USB接口、UWB接 口、蓝牙接口、IrDA红外接口、HomeRF接口、IEEE802.11a接口、IEEE802.11b 接口、IEEE1394总线、IDE总线、USB总线、局域网络或广域网络连接。

5.根据权利要求1所述的利用半导体存储装置实现自动执行及启动主机的方 法,其中所述光盘驱动器类型包括CD-ROM、CD-RW、DVD-ROM、DVD-RW、DVD-RAM、 蓝光DVD或红光DVD。

说明书 :

技术领域

本发明涉及数据存储领域,具体地说涉及利用半导体存储装置的管理控制领 域。

背景技术

现有的半导体存储技术为半导体存储装置设置了多种类的附加功能,但其中部 分附加功能不能够互相兼容,在一个半导体存储装置上,实现了其中部分功能,就 无法实现另一部分功能,造成用户使用不便和半导体存储装置功能的限制。
专利号为zl01114883.7,名为“一种多功能半导体存储装置”的中国发明专利 公开了把半导体存储装置模拟成插入光盘的光盘驱动器,以实现半导体存储装置通 过USB接口启动主机(以下简称启动主机)的方法;而申请号为03146090.9,名为 “利用半导体存储器实现自动执行的方法”的中国发明专利申请公开了将半导体存 储装置模拟成插入光盘的光盘驱动器,以此实现在操作系统下半导体存储装置自动 打开、运行指定程序文件(以下简称自动执行)的方法。
虽然这两种方法都是把半导体存储装置模拟成插入光盘的光盘驱动器,但目前 这两种方法却无法在同一个半导体存储装置内实现。即,如果一个半导体存储装置 可以实现启动主机功能,就不可以实现自动执行功能,反之亦然。
究其原因,是因为自动执行功能需要在操作系统检测到由半导体存储装置模拟 的光盘驱动器设备后的一段时间,由半导体存储装置向操作系统报告“光盘介质插 入”的状态,才能够触发操作系统自动执行打开指定的程序文件。
而如果在使用半导体存储装置启动主机的过程中,半导体存储装置报告“光盘 介质插入”的状态,就会导致启动失败。这样导致半导体存储装置的功能不够全面, 使用不便。

发明内容

本发明要解决的问题就是实现在无需用户干预的情况下,半导体存储装置能够 正确引导主机操作系统以完成启动主机功能,在主机已启动、准备自动执行的情况 下,又可以触发主机的自动执行机制,完成自动执行功能。
为解决上述技术问题,本发明提出一种利用半导体存储装置实现自动执行及启 动主机的方法,半导体存储装置连接到装有操作系统的主机上,所述半导体存储装 置模拟为两个或两个以上的逻辑设备,其中第一逻辑设备为光盘驱动器类型,用于 存储启动主机的所必须的启动文件和自动执行配置文件,第二逻辑设备为磁盘类型, 用于存储自动执行配置文件和供用户存储数据;包括步骤(1)判断主机操作系统支 持最大逻辑设备数的特征,以及主机下发命令的类型和/或序列的特征,确定主机操 作系统的类型和/或主机状态;(2)确定调用自动执行功能或启动主机功能的时机和 /或条件;以及(3)根据所述确定的时机和/或条件触发调用相应功能。
上述方法中,所述主机下发命令的类型和/或序列包括主机是否下发READ CAPACITY命令、是否下发MODE SENSE(10)命令和/或主机下发MODE SENSE(10) 及READ CAPACITY命令的先后顺序。在判断主机操作系统特征过程中,可以先判定 主机支持的最大逻辑设备数,再判定主机下发命令的类型和/或序列;也可以先判定 主机下发命令的类型和/或序列,再判定主机支持的最大逻辑设备数。所述的主机操 作系统的类型和/或主机状态包括主机尚未启动、主机已经启动和/或是否具备自动 执行条件。在主机尚未启动情况下,调用所述半导体存储装置的启动主机功能;在 主机已经启动并且具备自动执行条件的情况下调用所述半导体存储装置的自动执行 功能。
上述方法中半导体存储装置与主机的连接方式包括但不限于通过USB接口、UWB 接口、蓝牙接口、IrDA红外接口、HomeRF接口、IEEE802.11a接口和/或 IEEE802.11b接口连接,或通过IEEE1394总线、IDE总线和/或USB总线连 接,或通过局域和/或广域网络连接。
上述方法还包括将所述半导体存储装置模拟为两个或两个以上逻辑设备,并且 其中第一逻辑设备是光盘驱动器类型的步骤,其中光盘驱动器类型包括但不限于 CD-ROM、CD-RW、DVD-ROM、DVD-RW、DVD-RAM、蓝光DVD和/或红光DVD。
本方法通过对半导体存储装置的管理控制以及对主机操作系统特征(支持的最 大逻辑设备数以及主机下发命令类型和/或下发命令的序列)的判断,以确定主机 操作系统的类型以及主机状态,进一步确定调用自动执行功能和启动主机功能的时 机,实现在无需用户干预的情况下,同一个半导体存储装置能够正确引导操作系统 以完成启动主机功能,在系统已启动、准备自动执行的情况下,又可以完成自动执 行功能。结合半导体存储装置的常规存储功能,加强了半导体存储装置的应用功能, 拓宽半导体存储装置的应用范围。

附图说明

图1示出根据本发明第一实施例,对半导体存储装置存储空间划分的示意图;
图2示出根据本发明第一实施例,实现自动执行及启动主机的操作流程。

具体实施方式

把半导体存储装置模拟成插入光盘的光盘驱动器,以实现半导体存储装置通过 USB接口启动主机的方法已在本申请人取得的专利号为zl01114883.7,名为“一种 多功能半导体存储装置”的中国发明专利中公开;而将半导体存储装置模拟成插入 光盘的光盘驱动器,以此实现在操作系统下半导体存储装置自动执行程序文件的方 法也在本申请人申请的申请号为03146090.9,名为“利用半导体存储器实现自动执 行的方法”的中国发明专利申请中公开。上述两份专利及专利申请在此全部引用。
以下将结合附图1对本发明的第一个实施例进行详细说明。
在该实施例中,预先将半导体存储装置中的存储空间人为地划分成至少两个分 区,其中至少有一个光盘分区,一个磁盘分区。光盘分区可用于存放自动执行配置 文件和/或启动主机所必须的启动文件,可模拟成为一个插入光盘的光盘驱动器; 磁盘分区则供用户存取数据和/或自动执行配置文件。
本实施例所述的半导体存储装置连接到一个装有操作系统的主机上,主机操作 系统将向半导体存储装置发出问询命令以获取连接的设备类型;对该问询命令, 半导体装置报告自己有两个或两个以上的逻辑设备,并且第一逻辑设备(LUNO)类 型为光盘驱动器,将光盘分区模拟为一个光盘驱动器。
此后,需要进行一系列对主机、操作系统及半导体存储装置状态特征的检测, 以确定主机操作系统的类型以及主机状态,决定调用半导体存储装置的启动主机功 能还是自动执行功能。
根据现有操作系统技术,根据操作系统具备的两个特征即可确定主机操作系统 的类型以及主机状态。第一特征为操作系统支持的最大逻辑设备数,以下简称 LUN(Logic Unit Number)。最大逻辑设备数是指同一个物理设备里面,可能有多个 逻辑设备的参数。如带鼠标的键盘,就可能有两个逻辑设备,一个是键盘一个是鼠 标。在主机看来,这是两个设备,但物理上其实只有一个设备,也只需要一个接口 就可以和主机通信。同样,本发明方法可以把半导体存储装置划分为两个以上逻辑 设备,其中至少一个是光盘驱动器,主机会认为有两个以上的设备,但物理上只有 一个设备。
主机开机启动过程中,首先由主机的基本输入输出系统,以下简称BIOS(Basic Input Output System)进行引导,而引导过程中只需要几个必要命令即可完成。 而且BIOS的程序空间很小,所以主机去检测设备时并没有提供两个逻辑设备的支 持。因此可以通过主机操作系统发下来的命令,判断主机操作系统是否支持有两个 以上逻辑设备的物理设备。具体如下:在半导体存储装置模拟为两个或两个以上逻 辑设备,并且其中第一逻辑设备是光盘驱动器的情况下,如果在一段时间内(一般 大约十几秒)操作系统下发的命令中有一个是针对第二逻辑设备或其他逻辑设备, 则认为操作系统支持有两个以上逻辑设备的物理设备,如果所发命令中没有一个是 针对第二逻辑设备或其他逻辑设备的,则认为操作系统不支持有两个以上逻辑设备 的物理设备。
如果操作系统不支持两个LUN设备,则主机有可能尚未启动,也有可能已经启 动但仅支持单个逻辑设备,例如未打SP3补丁的WINDOWS 2000、LINUX、MAC等操 作系统。需要进一步判定这些主机所处的状态,这需要对第二特征进行分析。
第二特征是主机下发命令的序列。通过判断主机操作系统发下来的命令的先后 顺序,可以得出主机所处的状态。以WINDOWS操作系统为例,具体判断方法如下: 在半导体存储装置模拟为两个或两个以上逻辑设备,并且其中第一逻辑设备是光盘 驱动器的情况下,如果第一设备在收到主机下发的READ CAPACITY命令前没有收到 MODE SENSE(10)命令,则标志主机已完成开机启动过程,不需半导体存储装置启 动主机;反之如果第一设备在收到MODE SENSE(10)命令前,没有收到READ CAPACITY 命令,则标志主机尚未开机启动完毕,需要调用半导体存储装置的启动主机功能。
上述的MODE SENSE(10)、READ CAPACITY都是标准SCSI命令,分别用于获 取访问设备时的一些必要信息。READ CAPACITY是读取设备容量命令,MODE SENSE 则用于确定设备是否写保护等信息。这两个命令不一定都会下发,有可能只发其中 一个。例如在WINDOWS 98操作系统下就不会发READ CAPACITY命令,而只发MODE SENSE(10)命令。
本发明的方法不关注这两条命令的具体细节,只关心他们是否下发以及下发的 先后顺序。对于WINDOWS以外的其他类型的操作系统,只要其遵循SCSI标准,则 根据上述两条命令的先后顺序都可以断定主机的状态。
根据上述原理得出本实施例的具体流程,参照附图2详细说明如下:
步骤201,主机操作系统查找读取半导体存储装置的光盘分区中的启动信息, 判断半导体存储装置中的启动信息是否符合启动主机条件,确定半导体存储装置是 否具有启动主机功能(步骤202)。具体来说,根据现有光盘数据管理技术,在每张 光盘数据的第34个页(每一页2048字节)是光盘的启动分区,如果该启动分区中 有启动标志符则表示该光盘为具备启动主机功能的光盘,否则表示为不具启动主机 功能的光盘,主机操作系统在检测半导体存储装置的光盘分区的信息后即可确认该 分区是否具备启动主机功能。
如果半导体存储装置不具启动主机功能,则执行步骤207,判断主机和/或半导 体存储装置是否具备自动执行条件。如果半导体存储装置具有启动主机功能则进行 步骤203,接收主机发来的SCSI命令。
接下来执行步骤204,根据接收到的SCSI命令判断主机第一特征,即操作系统 支持的最大逻辑设备数。如果主机支持两个以上的设备,则说明主机已完成了开机 启动过程,则执行步骤207,判断主机和/或半导体存储装置是否具备自动执行条件; 如果主机不支持两个以上的设备,则根据上述原理,需要检测第二特征,即主机下 发命令的序列。
执行步骤205,判断主机下发命令的序列,根据命令先后顺序进一步分析判断 不支持两个以上设备的这类主机是已完成开机启动过程而仅支持单个设备,还是尚 未完成开机启动。
如果主机已完成开机启动过程,则执行步骤207,判断主机和/或半导体存储装 置是否具备自动执行条件;如果主机尚未完成开机启动过程,则执行步骤206,调 用半导体存储装置的启动主机功能,对主机操作系统进行引导启动。
在上述主机启动工作完毕后,进入步骤207,判断主机和/或半导体存储装置是 否具备自动执行条件。根据申请号为03146090.9,名为“利用半导体存储器实现自 动执行的方法”的中国发明专利申请所公开的内容,通过检查主机操作系统类型以 及半导体存储装置中的自动执行配置文件来确定是否具备自动执行条件,如果具备 自动执行条件(步骤208)则调用自动执行功能进行自动执行过程,之后结束整个 流程;如果不具备自动执行条件,则直接结束流程。
上述实施例中,判断第一特征大约需要10秒时间,而判断第二特征仅需一至 两秒时间。为提高本发明方法的效率,可将第一特征和第二特征的判定步骤互换, 即可以先判断主机下发命令的序列,再判断主机支持最大逻辑设备数。
只有主机不支持两个以上的逻辑设备、在收到MODE SENSE(10)命令前没有收 到READ CAPACITY命令,以上两个条件都符合,才能断定当前主机尚未完成开机启 动过程,此时不调用自动执行功能,而是调用启动主机功能,完成对主机的启动主 机操作。否则其余情况都认为当前主机已完成开机启动过程,应当调用自动执行功 能。
综上所述,本发明的原理在于通过对半导体存储装置的管理控制以及对主机操 作系统特征(支持的最大逻辑设备数以及主机下发命令的序列)的判断,以确定主 机操作系统的类型以及主机状态,进一步确定调用自动执行功能和启动主机功能的 时机,在同一个半导体存储装置上实现了文件的自动执行功能、主机启动功能。结 合半导体存储装置的常规存储功能,加强了半导体存储装置的应用功能,拓宽半导 体存储装置的应用范围。本发明提供的方法适用于多种操作系统,多种接口、多种 存储介质的半导体存储装置。
不偏离本发明思想的对本发明技术方案的各种改型将落入本发明权利要求所 限定的范围中。