《利用半导体存储装置实现自动执行的方法》是
深圳市朗科科技股份有限公司于2003年7月22日申请的发明专利,该专利的申请号为031460909,公布号为CN1570881,公布日为2005年1月26日,发明人是杨龙和、钟智渊,该专利涉及数据存储领域。
专利背景
截至2003年7月,各种操作系统多具有文件的自动执行机制,但是它们仅仅支持
光盘以及
本地磁盘上指定文件的自动执行功能。以微软公司的
WINDOWS98操作系统为例,在光盘插入电脑主机的光盘驱动器后,操作系统会根据有关协议(例如MMC3、SCSI等)向所连接的设备发出问询命令以获得该设备的设备状态,并且根据设备报告的设备状态(光盘驱动器)来识别和配置该设备。设备识别配置完毕后,操作系统会询问设备是否有光盘插入,如果应答为有光盘插入,则读取光盘中的文件。如果该光盘的根目录下有自动执行配置文件,操作系统将会首先对该自动执行配置文件进行处理,即根据该自动执行配置文件所遵循的相关协议找出指定文件,执行该指定文件。在该指定文件运行过程中,操作系统还可对光盘进行数据读取操作。
自动执行配置文件在多数操作系统中具有统一的文件名autorun.inf,该文件内部保存了待执行的指定文件的名称以及图标等。通过上述信息,操作系统可以找出指定文件并执行。
随着计算机技术的普及,半导体存储装置以其独特的品质正在得到越来越广泛的应用。但是截至2003年7月,还未开发利用半导体存储装置激活操作系统的自动执行机制从而使得指定文件得以自动执行的方法。
发明内容
专利目的
针对上述2003年7月前已有技术的现状和需求,《利用半导体存储装置实现自动执行的方法》的目的在于提供一种利用半导体存储装置激活操作系统的自动执行机制而使半导体存储装置内的指定文件得以自动执行的方法。利用该方法不仅使得半导体存储装置与主机连接情况下能够自动执行指定文件,还能够在自动执行过程中或执行完毕后实现半导体存储装置常规的存储功能。
技术方案
《利用半导体存储装置实现自动执行的方法》所述半导体存储装置连接到一个主机上,所述主机内置有具有自动执行机制的操作系统,包括以下步骤:
1)主机的操作系统向所述连接到主机的半导体存储装置发出问询命令以获取连接的设备的类型;
2)对上述问询命令,所述半导体存储装置根据预定的设备类型向操作系统作出应答;
3)所述主机的操作系统根据所述半导体存储装置的应答将其视为预定类型的设备而进行相应的处理;
4)所述操作系统内置的自动执行机制查找模拟为预定类型设备的所述半导体存储装置内的自动执行配置文件,并执行查找到的自动执行配置文件所指向的指定文件。
上述方法中所述半导体存储装置与主机的连接方式包括但不限于通过USB接口、UWB接口、蓝牙接口、IrDA红外接口、HomeRF接口、IEEE802.11a接口和/或IEEE802.11b接口连接,或通过IEEE1394总线、IDE总线和/或USB总线连接,或通过局域和/或广域网络连接。
该方法中所述预定类型的设备是主机操作系统自动执行机制支持的设备中的一种或几种,预定的设备类型包括但不限于光盘驱动器、本地磁盘、可移动磁盘、USB大容量存储设备、USB闪存盘;其中所述光盘驱动器包括但不限于CD-ROM、CD-RW、DVD-ROM、DVD-RW、DVD-RAM、蓝光DVD和/或红光DVD。步骤3)中所述的处理包括对设备安装驱动程序、相应配置等。
该发明的利用半导体存储装置实现自动执行的方法,在半导体存储装置与主机连接的情况下,用户可通过指令、按键和/或程序方式指示半导体存储装置改变设备类型;半导体存储装置根据用户的指示预设设备类型,在半导体存储装置复位后,根据上述预设的设备类型连接到主机。
该发明所述的利用半导体存储装置实现自动执行的方法,预定的设备类型根据相关协议可以一种或一种以上的设备类型,将所述半导体存储装置作为一个设备连接到主机,也可以作为一个以上的不同设备连接到主机,由主机分别进行对应设备类型的数据操作。
并且在半导体存储装置与主机连接的情况下,半导体存储装置检测存储空间中是否存在自动执行配置文件,如果存在该文件则按照预设的设备类型连接到主机;如果不存在该文件,则按照半导体存储装置常规设备类型连接到主机。并且主机可根据用户的指令对所述半导体存储装置进行常规存储操作。在激活所述操作系统的自动执行机制后,无论指定文件是否执行结束,都可根据用户的命令对所述半导体存储装置进行常规存储操作。
该发明方法中所述的常规类型是所述半导体存储装置自身的设备类型;所述常规存储操作是指根据半导体存储装置的常规设备类型,遵循相应协议规范的操作,包括但不限于UFI、SFF8020I、SCSITransparentCommandSet、ReducedBlockCommands(RBC)、T10Project1240-D、ZIP盘和/或MO盘协议。具体来说,对只读光盘的操作有读数据操作;对可擦写光盘的操作有读数据、写数据操作;对可擦写磁存储器的操作有读数据、写数据、格式化操作等。
为实现发明目的,该发明还提供一种利用半导体存储装置实现自动执行的方法,所述半导体存储装置连接到一个主机上,所述主机内置有具有自动执行机制的操作系统,包括以下步骤:
1)所述主机的操作系统向所述连接到主机的半导体存储装置发出问询命令以获取连接的设备的类型;
2)对上述问询命令,所述半导体装置报告设备类型为光盘驱动器;
3)所述主机的操作系统根据所述半导体存储装置的应答将其视为光盘驱动器而进行相应的处理;
4)所述操作系统内置的自动执行机制查找模拟为光盘驱动器的所述半导体存储装置内的自动执行配置文件,并执行所查找到的自动执行配置文件所指向的指定文件。
上述方法中,步骤4)包括以下步骤:
(4-1)操作系统将所述半导体存储装置视为光盘驱动器后,发出问询命令以确认光盘驱动器内是否有光盘;
(4-2)对于上述问询命令,所述模拟为光盘驱动器的半导体存储装置在一预定延时之后向所述操作系统报告光盘已插入,所述操作系统根据上述应答将所述半导体存储装置视为一个已插入光盘的光盘驱动器;
(4-3)所述操作系统内置的自动执行机制查找模拟为已插入光盘的光盘驱动器的所述半导体存储装置内的自动执行配置文件,执行查找到的自动执行配置文件所指向的指定文件。
另外,可以在所连接到主机上的半导体存储装置中预置一个自动执行程序,该自动执行程序指向指定文件;使自动执行配置文件指向该自动执行程序,步骤(4-3)包括以下步骤:
(4-3-1)操作系统打开该半导体存储装置上的自动执行配置文件,查找到所述自动执行程序;
(4-3-2)自动执行程序运行,找出指定文件,将自身及指定文件复制到主机的本地磁盘上;
(4-3-3)该主机本地磁盘上的自动执行程序副本调用执行指定文件副本;
(4-3-4)所述自动执行程序副本向半导体存储装置发出复位命令。
或者在所连接到主机上的半导体存储装置中预置一个自动执行程序,该自动执行程序指向指定文件;使自动执行配置文件指向该自动执行程序,步骤(4-3)包括以下步骤:
(4-3-1)操作系统打开该半导体存储装置上的自动执行配置文件,查找到自动执行程序,并开始计时;
(4-3-2)自动执行程序运行,找出指定文件,将自身及待执行的指定文件复制到本地磁盘上;
(4-3-3)该主机本地磁盘上的自动执行程序副本调用执行指定文件副本;
(4-3-4)所述计时一旦到达预定计时值,就向半导体存储装置发出复位命令。
其中,计时值由用户指定或通过专用软件和/或程序指定。
上述方法进一步包括在步骤4)完成后,即激活操作系统的自动执行机制后,将所述半导体存储装置切换到常规存储功能的步骤:
5)使所述半导体存储装置复位;
6)在操作系统再次询问设备类型时,报告设备类型为所述半导体存储装置的常规设备类型;
7)所述主机的操作系统根据所述半导体存储装置的应答而进行相应的配置;
8)所述操作系统根据用户的指令对对所述半导体存储装置进行常规存储操作。
该发明方法中所述切换到常规存储功能的步骤可以在激活所述操作系统的自动执行机制后进行,而无论指定文件是否执行结束。所述主机操作系统内置的自动执行机制支持光盘驱动器中的光盘上文件的自动执行,所述光盘驱动器包括但不限于CD-ROM、CD-RW、DVD-ROM、DVD-RW、DVD-RAM、蓝光DVD、红光DVD。并且用户可通过指令、按键、程序方式指示半导体存储装置改变设备类型;半导体存储装置根据用户的指示预设设备类型,在半导体存储装置复位后,根据上述预设的设备类型连接到主机。在半导体存储装置与主机连接的情况下,半导体存储装置检测存储空间中是否存在自动执行配置文件,如果存在该文件则按照预设的设备类型连接到主机;如果不存在该文件,则按照半导体存储装置常规设备类型连接到主机。主机可根据用户的指令对所述半导体存储装置进行常规存储操作。
改善效果
根据该发明的上述技术方案,无论是主机的操作系统是支持光盘中文件的自动执行,还是支持本地磁盘中文件的自动执行,都可以利用一个半导体存储装置来激活操作系统的自动执行机制,从而实现半导体存储装置内置的自动执行配置文件的执行。同时,半导体存储装置本市还能够提供其常规的存储功能。
附图说明
图1示出根据该发明第一个实施例,将半导体存储装置模拟为本地磁盘的操作流程;
图2示出了根据该发明的第二个实施例,将半导体存储装置模拟为光盘驱动器情况下进行自动执行和常规存储功能切换的流程;
图3是图2中步骤7的详细流程图,其示出了将半导体存储装置模拟为光盘驱动器情况下,自动执行过程的流程;
图4示出了该发明的第三个实施例,是在第一和第二个实施例的基础上加入了一种文件复制操作的自动执行过程;
图5示出了该发明的第四个实施例,是将第三个实施例改进为通过计时来控制半导体存储装置复位的时机。
权利要求
1.《利用半导体存储装置实现自动执行的方法》所述半导体存储装置连接到主机上,所述主机内置有具有自动执行机制的操作系统,包括以下步骤:
1)所述主机的操作系统向所述连接到主机的半导体存储装置发出问询命令以获取连接的设备的类型;
2)对上述问询命令,所述半导体存储装置根据预定的设备类型向操作系统作出应答;
3)所述主机的操作系统根据所述半导体存储装置的应答将其视为预定类型的设备而进行相应的处理;
4)所述操作系统内置的自动执行机制查找模拟为预定类型设备的所述半导体存储装置内的自动执行配置文件,并执行查找到的自动执行配置文件所指向的指定文件。
2.根据权利要求1所述的利用半导体存储装置实现自动执行的方法,其中所述半导体存储装置与主机的连接,其连接方式包括但不限于通过
USB接口、UWB接口、蓝牙接口、
IrDA红外接口、HomeRF接口、IEEE802.11a接口和/或IEEE802.11b接口连接,或通过IEEE1394总线、IDE总线和/或USB总线连接,或通过局域和/或广域网络连接。
3.根据权利要求1所述的利用半导体存储装置实现自动执行的方法,其中所述预定类型的设备是主机操作系统自动执行机制支持的设备中的一种或几种,预定的设备类型包括但不限于光盘驱动器、本地磁盘、
可移动磁盘、USB大容量存储设备和/或USB闪存盘。
4.根据权利要求3所述的利用半导体存储装置实现自动执行的方法,其中所述光盘驱动器包括但不限于CD-ROM、CD-RW、DVD-ROM、DVD-RW、
DVD-RAM、蓝光DVD和/或红光DVD。
5.根据权利要求1所述的利用半导体存储装置实现自动执行的方法,用户可通过指令、按键和/或程序方式指示半导体存储装置改变设备类型;半导体存储装置根据用户的指示预设设备类型,在半导体存储装置复位后,根据上述预设的设备类型连接到主机。
6.根据权利要求1所述的利用半导体存储装置实现自动执行的方法,所述预定的设备类型根据相关协议可以定义为一种或一种以上的设备类型,所述半导体存储装置可以作为一个设备连接到主机;也可以作为一个以上的设备连接到主机,对所述一个以上的设备分别进行对应设备类型的数据操作。
7.根据权利要求1所述的利用半导体存储装置实现自动执行的方法,半导体存储装置检测存储空间中是否存在自动执行配置文件,如果存在该文件则按照预设的设备类型连接到主机;如果不存在该文件,则按照半导体存储装置常规设备类型连接到主机。
8.根据权利要求1-7中任意一项权利要求所述的利用半导体存储装置实现自动执行的方法,其中所述主机可根据用户的指令对所述半导体存储装置进行常规存储操作。
9.根据权利要求8所述的利用半导体存储装置实现自动执行的方法,在激活所述操作系统的自动执行机制后,无论指定文件是否执行结束,都可根据用户的命令对所述半导体存储装置进行常规存储操作。
10.根据权利要求9所述的利用半导体存储装置实现自动执行的方法,所述常规存储操作是指根据半导体存储装置的常规设备类型,遵循相应协议规范的操作,所述协议包括但不限于UFI、SFF8020I、SCSITransparentCommandSet、ReducedBlockCommands(RBC)、T10Project1240-D、ZIP盘和/或MO盘协议。
11.利用半导体存储装置实现自动执行的方法,所述半导体存储装置连接到一个主机上,所述主机内置有具有自动执行机制的操作系统,包括以下步骤:
1)所述主机的操作系统向所述连接到主机的半导体存储装置发出问询命令以获取连接的设备的类型;
2)对上述问询命令,所述半导体装置报告设备类型为光盘驱动器;
3)所述主机的操作系统根据所述半导体存储装置的应答将其视为光盘驱动器而进行相应的处理;
4)所述操作系统内置的自动执行机制查找模拟为光盘驱动器的所述半导体存储装置内的自动执行配置文件,并执行所查找到的自动执行配置文件所指向的指定文件。
12.根据权利要求11所述的利用半导体存储装置实现自动执行的方法,其中步骤4)包括以下步骤:
(4-1)所述操作系统将所述半导体存储装置视为光盘驱动器后,发出问询命令以确认光盘驱动器内是否有光盘;
(4-2)对于上述问询命令,所述模拟为光盘驱动器的半导体存储装置在一预定延时之后向所述操作系统报告光盘已插入,所述操作系统根据上述应答将所述半导体存储装置视为一个已插入光盘的光盘驱动器;
(4-3)所述操作系统内置的自动执行机制查找模拟为已插入光盘的光盘驱动器的所述半导体存储装置内的自动执行配置文件,执行查找到的自动执行配置文件所指向的指定文件。
13.根据权利要求12所述的利用半导体存储装置实现自动执行的方法,在所连接到主机上的半导体存储装置中预置一个自动执行程序,该自动执行程序指向指定文件;使自动执行配置文件指向该自动执行程序,步骤(4-3)包括以下步骤:
(4-3-1)操作系统打开该半导体存储装置上的自动执行配置文件,查找到所述自动执行程序;
(4-3-2)自动执行程序运行,找出指定文件,将自身及指定文件复制到主机的本地磁盘上;
(4-3-3)该主机本地磁盘上的自动执行程序副本调用执行指定文件副本;
(4-3-4)所述自动执行程序副本向半导体存储装置发出复位命令。
14.根据权利要求12所述的利用半导体存储装置实现自动执行的方法,在所连接到主机上的半导体存储装置中预置一个自动执行程序,该自动执行程序指向指定文件;使自动执行配置文件指向该自动执行程序,步骤(4-3)包括以下步骤:
(4-3-1)操作系统打开该半导体存储装置上的自动执行配置文件,查找到自动执行程序,并开始计时;
(4-3-2)自动执行程序运行,找出指定文件,将自身及待执行的指定文件复制到本地磁盘上;
(4-3-3)该主机本地磁盘上的自动执行程序副本调用执行指定文件副本;
(4-3-4)所述计时一旦到达预定计时值,就向半导体存储装置发出复位命令。
15.根据权利要求14所述的利用半导体存储装置实现自动执行的方法,所述的计时值由用户指定或通过专用软件和/或程序指定。
16.根据权利要求11所述的利用半导体存储装置实现自动执行的方法,进一步包括在步骤4)完成后,即激活操作系统的自动执行机制后,将所述半导体存储装置切换到常规存储功能的步骤:
5)使所述半导体存储装置复位;
6)在操作系统再次询问设备类型时,报告设备类型为所述半导体存储装置的常规设备类型;
7)所述主机的操作系统根据所述半导体存储装置的应答而进行相应的配置;
8)所述操作系统根据用户的指令对对所述半导体存储装置进行常规存储操作。
17.根据权利要求16所述的利用半导体存储装置实现自动执行的方法,其中所述切换到常规存储功能的步骤可以在激活所述操作系统的自动执行机制后进行,而无论指定文件是否执行结束。
18.根据权利要求11-15中任一项权利要求所述的利用半导体存储装置实现自动执行的方法,其中所述主机操作系统内置的自动执行机制支持光盘驱动器中的光盘上文件的自动执行,所述光盘驱动器包括但不限于CD-ROM、CD-RW、DVD-ROM、DVD-RW、DVD-RAM、蓝光DVD和/或红光DVD。
19.根据权利要求11-15中任一项权利要求所述的利用半导体存储装置实现自动执行的方法,用户可通过指令、按键、程序方式指示半导体存储装置改变设备类型;半导体存储装置根据用户的指示预设设备类型,在半导体存储装置复位后,根据上述预设的设备类型连接到主机。
20.根据权利要求11-15中任意一个权利要求所述的利用半导体存储装置实现自动执行的方法,其中所述主机可根据用户的指令对所述半导体存储装置进行常规存储操作。
实施方式
2003年7月前已有的各种操作系统中,按照其自动执行机制所支持的设备类型的不同可分为两类:第一类操作系统只支持光盘中指定文件的自动执行,包括WINDOWS9X、WINDOWSXP等。第二类操作系统除支持光盘外,还可支持本地磁盘内指定文件自动执行,包括WINDOWS2000、WINDOWSME等。
根据《利用半导体存储装置实现自动执行的方法》,当一种半导体存储装置连接到主机上以第一类操作系统为平台进行操作时,可将该半导体存储装置模拟为插入光盘的光盘驱动器,从而激活操作系统的自动执行机制。对于第二类操作系统而言,既可以将半导体存储装置模拟为插入光盘的光盘驱动器,按照与第一类操作系统相同的方法去激活自动执行机制;也可以将半导体存储装置模拟为本地磁盘来激活自动执行机制,在自动执行机制运行过后,会自动转入读取半导体存储装置内的文件系统,准备开始对本地磁盘进行读、写等数据操作,即进入本地磁盘的常规存储功能。
半导体存储装置模拟各种2003年7月前已有存储装置例如光盘,软盘,本地磁盘等等的方法已由本申请人在先的中国专利申请“一种多功能半导体存储装置”(申请号01114883.7)揭示和公开,该申请的全部内容在此引用。
以下将结合图1对该发明的第一个实施例进行详细说明。在该实施例中,所述半导体存储装置连接的主机的操作系统是第二类操作系统,即所述操作系统除支持光盘外,还可支持本地磁盘内文件自动执行,这类操作系统包括WINDOWS2000、WINDOWSME等。
针对主机的操作系统,实施例1中将半导体存储装置模拟为本地磁盘,实现指定文件的自动播放。图1示出了该实施例的流程。
参见图1,当半导体存储装置连接到主机后,首先进行初始化过程(步骤1)。半导体存储装置的初始化属2003年7月前已有技术,在此不作赘述。初始化完成之后,操作系统对该新连接设备发出问询命令,以获取连接的设备类型;半导体存储装置接到该问询命令(步骤2)并根据预设的设备类型值进行应答。该领域普通技术人员可以理解,新连接的设备对于操作系统的问询命令的应答将决定操作系统对设备的识别、配置以及随后的不同处理,包括操作系统的自动执行机制是否被激活,自动执行阶段的进程等等。例如,如果应答设备类型为移动磁盘,操作系统将不启动自动执行。如果应答设备类型为光盘驱动器或者本地磁盘,操作系统的自动执行机制将可能被激活从而使指定文件(如果存在的话)进行自动执行。
该实施例中,由于所述连接的半导体存储装置预设为模拟本地磁盘,所以,操作系统从连接的设备获得的应答为本地磁盘(步骤3)。根据该应答,操作系统将把半导体存储装置视为本地磁盘,根据预设的自动执行机制在半导体存储装置的存储空间中查找符合操作系统要求的自动执行配置文件(步骤4)。如果找不到自动执行配置文件,则自动跳出自动执行而开始进入半导体存储装置的常规存储功能;如果能找到自动执行配置文件,则读取该文件包含的信息(步骤5),根据这些信息在指定路径中寻找指定的要执行的文件(简称指定文件)。如果不能找到指定文件,则跳出自动执行过程,开始半导体存储装置的常规存储功能。如果能找到指定文件(步骤6),则打开执行该指定文件(步骤7),同时进入半导体存储装置的常规存储功能,激活自动执行机制的过程结束。
在图1中,步骤7是由操作系统控制指定文件的运行,其运行的过程和处理由操作系统控制,该发明的半导体存储装置在激活上述指定文件的自动执行后进入到常规的存储功能,而与指定文件的自动运行过程和结果无关。例如,根据指定文件的不同,执行时间、执行结果可能不同,结束执行的方式也可能不同。例如指定文件是文本类型,打开后需要用户操作或干预才能关闭;如果指定文件是一个可执行文件,运行完毕后可能自动关闭。在指定文件开始执行后,激活操作系统的自动执行机制的过程即告结束,进入半导体存储装置的常规存储功能。故此,步骤7用虚线框示出。
根据该发明,所述指定文件的存放地点并不局限于在连接的半导体存储装置上。操作系统允许指向指定文件的路径可以是绝对路径或相对路径,只要根据该路径能够找到指定文件即可。指定文件可以存放于主机硬盘、光盘、其他可连接的移动存储盘上,甚至可以是存放在与主机建立连接的网络上。在指定文件执行过程中如果由于存储介质被移动或改变,致使指定文件不可访问,执行过程将会中断,自动进入半导体存储装置的常规存储功能。
对于第一类操作系统,包括WINDOWS9X、WINDOWSXP等,其不支持本地磁盘上的文件自动执行,当所述半导体存储装置在连接主机时,要进行设置以使该半导体存储装置模拟成有光盘插入的光盘驱动器来激活这一类操作系统的自动执行机制。
此外,2003年7月前已有的操作系统对光盘内文件的自动执行机制由于默认光盘是不可擦写的,所以自动执行完毕后,不会转入常规存储功能。但是,该发明的半导体存储装置尽管是模拟光盘驱动器来激活操作系统的自动执行机制,在完成此项任务以后,半导体存储装置还要能够实现其常规的存储功能,也就是说,对于利用半导体存储装置执行自动执行的方法来说,需要实现自动执行功能到常规存储功能的切换而将文件自动执行功能和半导体存储装置的常规存储功能结合起来。附图2是该发明的第二个实施例,示出了当一个半导体存储装置连接到以第一类操作系统运行的主机上时,半导体存储装置模拟一个光盘驱动器以激活操作系统的自动执行机制,并且在此之后切换到半导体存储装置常规存储功能的流程。
如图2所示,在半导体存储装置连接主机后首先进行初始化操作(步骤1),初始化操作完毕后,检测设备切换标志(步骤2)。所述设备切换标志存储在所述半导体存储装置的存储空间中,用于引导设备类型切换过程。在该实施例中,将设备切换标志预设为一个第一预定值,例如为“1”。如果检测到所述的设备切换标志值为“1”(步骤3),则进行步骤4,设置当前设备类型标志设为光盘驱动器。当前设备类型标志用于标明设备的类型,保存在所述半导体存储装置中,并且设定以所述的当前设备类型标志作为对操作系统问询命令的应答,操作系统将根据当前设备类型标志来识别连接主机的设备并且安装配置设备。在接到操作系统发出的问询命令(步骤5)后,半导体存储装置将在步骤4中设置好的当前设备类型标志即光盘驱动器应答给操作系统(步骤6)。操作系统收到应答后,将半导体存储装置视为未插入光盘的光盘驱动器。在上述步骤完成后,已将半导体存储装置模拟为光盘驱动器,接下来操作系统对模拟的光盘驱动器执行自动执行过程(步骤7),详细的自动执行过程将在后文中参照图3做出说明。
另一方面,所述半导体存储装置内的微处理器将设备切换标志由第一预定值修改为一个不同于所述第一预定值的第二预定值,例如为“0”(步骤8),然后发出重新启动(复位)半导体存储装置的命令(步骤9)。复位相当于将半导体存储装置重新连接到主机,因此程序将回到初始化步骤(步骤1)开始执行。初始化操作完成后,在检测设备切换标志的步骤2中,检测到的设备切换标志已经为“0”,经步骤3后,应进行步骤10。在步骤10中,所述半导体存储装置内的微处理器一方面要将设备切换标志重新修改为第一预定值例如“1”,以便将来再次使用该半导体存储装置来激活操作系统的自动执行机制;另一方面,将当前设备类型标志由光盘驱动器设为磁盘,其目的是要使该半导体存储装置进入到其常规的存储功能。如图2所示,在接到操作系统对新连接设备的问询命令时(步骤11),半导体存储装置根据当前设备类型标志应答为磁盘。这样,操作系统将不会激活自动执行机制,而是直接进入该半导体存储装置的常规存储功能,完成了设备切换动作。
通过当前设备类型标志与设备切换标志的设置,该实施例实现了将半导体存储装置连接主机后,光盘驱动器与磁盘类型的切换,也就实现了激活自动执行机制和回到常规存储功能的切换。
上述设备切换标志用于在设备切换过程中起导向作用,设备切换过程根据该设备切换标志的不同值来选择执行分支程序,该设备切换标志的第一和第二预定值可以是任何一对字符、数值或字符与数值的结合,例如“1”和“0”,“光盘驱动器”和“移动磁盘”等,只要设备切换过程可以根据该设备切换标志的值来选择执行不同的分支程序即可。
该实施例中的自动执行和设备类型切换流程同样适用于前文所述的第二类操作系统,既支持本地磁盘又支持光盘自动执行的操作系统,包括WINDOWS2000、WINDOWSME等。这类操作系统对光盘驱动器同样没有设置存储功能。如果将半导体存储装置模拟为光盘驱动器,也需要通过上述常规存储功能切换过程来实现自动执行机制到常规存储功能的切换。
在上述流程中,到步骤6为止,都只是将半导体存储装置模拟为光盘驱动器,操作系统认为半导体存储装置是一个未插入光盘的光盘驱动器,还不会进行自动执行操作。进一步的激活操作由自动执行过程(步骤7)完成。如图3,示出了当一个半导体存储装置模拟为有光盘插入的光盘驱动器时激活操作系统自动执行机制的流程。此处将前述自动执行和常规存储功能切换的流程(如图2所示)称为主流程,而此处的自动执行流程作为前述主流程的分流程。
操作系统在识别到有光盘驱动器连接后,会向设备发出问询命令检查有无光盘插入(步骤1)。根据操作系统发出的问询命令,可以进一步判断操作系统类型(步骤2)。例如,如果操作系统先发出READCAPACITY命令,可知操作系统为WINDOWS2000或WINDOWSXP;如果操作系统先发出MODESENSE命令,可知操作系统为WINDOWS9X或WINDOWSME。根据操作系统的不同,该领域普通技术人员可知,接下来对命令的应答处理也略有不同。为了模拟光盘插入光盘驱动器的动作,使操作系统读取半导体存储装置中的文件,需要进行延时处理(步骤3)。经过一段时间的延时,在操作系统发出设备问询命令时,应答介质改变,光盘已经准备好(步骤4),可以使操作系统读取半导体存储装置中的数据,根据自动执行机制来寻找自动执行配置文件。如果在半导体存储装置没有找到自动执行配置文件(步骤5),则操作系统自动跳出自动执行过程。如果找到自动执行配置文件,操作系统将读取该自动执行配置文件中的信息,根据该信息寻找所指向的指定文件(步骤6)。如果根据自动执行配置文件找不到指定文件(步骤7),则跳出自动执行过程。如果找到指定文件,则操作系统打开并执行指定文件(步骤8),同时退出自动执行过程。
在上述自动执行过程中,指定文件的执行与设备切换过程是独立进行的。指定文件可能是执行完毕后自动结束,也可能是需要在用户干预下结束,其执行所需的时间是不固定的。如果在半导体存储装置上的指定文件尚未执行结束时就发生了设备切换动作,将半导体存储装置复位(重新启动)后重新配置,会造成指定文件执行中断,甚至产生蓝屏的现象。为了避免这种异常现象出现,需要将参与自动执行的文件复制到主机硬盘上再执行硬盘上的指定文件副本,这样,半导体存储装置的重新启动操作将不会影响指定文件副本的执行。根据这一思想,提出了一种改进的自动执行过程方案,即实施例3。图4示出了该方案。
为了保证指定文件的正常运行,要在所连接到主机上的半导体存储装置中预置一个可执行程序(以下统称为自动执行程序),操作系统打开该半导体存储装置上的自动执行配置文件,该自动执行程序可以自动执行如下动作:负责通过预定路径查找到所述待执行的指定文件,并将该指定文件复制到本地硬盘上、发出复位命令使半导体存储装置复位以返回主流程以及其他容错处理。该自动执行程序还复制自身以及指定文件到主机硬盘上,然后调用指定文件副本执行。在指定文件副本开始执行后,发出半导体存储装置复位命令。使该自动执行程序指向指定文件;并使自动执行配置文件指向该自动执行程序。
所述自动执行程序通过预定路径查找指定文件的方式,可以通过一个预先定义的配置文件进行:该配置文件中保存有所述指定文件的路径、文件名、文件类型等信息,自动执行程序找到该配置文件后,读取该配置文件内容,根据配置文件提供的路径等信息找到指定文件。还可通过自动执行程序自身直接查找到指定文件:根据用户对指定文件的指定过程,在自动执行程序中包含该指定文件的路径、文件名、文件类型等信息,自动执行程序可根据上述信息直接找出指定文件。
如图4,改良后的自动执行流程前4步骤与改良前相同,都是根据操作系统的问询命令判断操作系统类型并进行延时处理。在第5步,操作系统打开半导体存储装置上的自动执行配置文件后,根据该自动执行配置文件中的指定地址和文件名等信息找出自动执行程序(步骤6),操作系统将根据自动执行机制运行该自动执行程序。自动执行程序进一步根据指定地址找出指定文件,并将自身和指定文件复制到主机硬盘上(步骤7)。此时共有两份相同的文件:一份是在自动执行程序原本和指定文件原本,另一份是在主机硬盘上的自动执行程序副本和指定文件副本。
自动执行程序原本调用主机硬盘上的自动执行程序副本(步骤8),使该自动执行程序副本运行(步骤9)后,自动执行程序原本结束运行,半导体存储装置等待由自动执行程序副本发来的复位命令(步骤13)。
自动执行程序副本调用主机硬盘上的指定文件副本(步骤10),使该指定文件副本执行(步骤11)。调用指定文件副本成功后,自动执行程序副本向半导体存储装置发出复位命令(步骤12),提示开始进行设备切换操作。半导体存储装置接到该复位命令后(步骤14)返回主流程。结合附图2,自动执行过程将返回到图2所示流程的节点①处。再设置设备类型标志为第二预定值例如“0”(步骤8),进行半导体存储装置的重新启动和切换过程。
由以上的操作流程可以得出,为保证指定文件在半导体存储装置进行设备切换过程中仍能正常执行,需要保证真正执行的指定文件位于半导体存储装置以外的位置,该位置可以是主机硬盘上,也可以是主机的其他外部存储设备如光盘上,或者可以是与主机建立连接的网络上。如果自动执行配置文件指定的自动执行程序和/或指定文件位于半导体存储装置以外,那么不需要将指定文件复制到主机硬盘,就可以直接执行,不会因设备切换而影响指定文件的执行。
附图4中,步骤10和11是由操作系统控制指定文件进行的,与该发明的自动执行过程的进展无关,故用虚线框示出。
在上述实施例中,在调用指定文件副本成功后,由自动执行程序副本向半导体存储装置发出复位命令;对于支持多用户的主机操作系统而言,只有以系统管理员身份登入主机,运行该指定文件才能发出复位命令,其他非管理员用户将不能够由自动执行程序副本向半导体存储装置发出复位命令,这样会造成设备切换操作无法启动。
为解决上述问题,该发明提出了又一实施例,该实施例采用计时触发的方式向半导体存储装置发出复位命令,可支持操作系统多用户的使用。该实施例中同样使用如图2所示的主流程来实现模拟光盘驱动器、切换到半导体存储装置常规存储功能。该实施例针对主流程中,自动执行过程(步骤7)的分流程结合图5进行说明:
如图5,改良后的自动执行流程前4步骤与改良前相同,都是根据操作系统的问询命令判断操作系统类型并进行延时处理。在第5步,加入计时步骤13,该计时步骤将一直持续直至到达预定的时间长度,即到达预定计时值。第6、7、8、9步骤与上一实施例类似,都是操作系统根据半导体存储装置上的自动执行配置文件找出自动执行程序,运行该自动执行程序。自动执行程序进一步找出指定文件,并将自身和指定文件复制到主机硬盘上。自动执行程序原本调用执行自动执行程序副本,自动执行程序原本结束运行。
在步骤10,自动执行程序副本调用主机硬盘上的指定文件副本,使该指定文件副本执行(步骤11)。调用指定文件副本成功后自动执行程序副本终止运行(步骤12)。
另一方面,步骤13所示的计时一直进行,直到到达预定计时值(步骤14)。此时计时程序向半导体存储装置发出复位命令(步骤15),然后返回主流程。
结合附图2,自动执行过程将返回到图2所示流程的节点①处。再设置设备类型标志为第二预定值例如“0”(步骤8),进行半导体存储装置的重新启动和切换过程。
上述方法中,预定计时值应不小于执行步骤5到步骤11所需的时间,即从操作系统打开自动执行配置文件到指定文件副本执行的总时间,保证复位命令是在指定文件副本执行后发出。通常情况下预定计时值与指定文件、自动执行程序的文件尺寸以及主机系统和半导体存储装置的性能有关,该预定计时值的确定可由用户进行,也可通过专用软件和/或程序指定。
该实施例中通过计时触发复位命令的方法可与上一实施例中通过翕动执行程序发出复位命令的方法结合使用,也可单独使用;结合使用的情况下,如果自动执行程序未能成功发出复位命令,而计时已到达预定计时值,则由计时程序发出复位命令,可提高自动执行机制的稳定性和可靠性。除此之外,还可通过开关来手动触发复位命令。
附图5中,步骤10和11是由操作系统控制指定文件进行的,与《利用半导体存储装置实现自动执行的方法》的自动执行过程的进展无关,故用虚线框示出。
由以上的操作流程可以得出,为保证指定文件在半导体存储装置进行设备切换过程中仍能正常执行,需要保证真正执行的指定文件位于半导体存储装置以外的位置,该位置可以是主机硬盘上,也可以是主机的其他外部存储设备如光盘上,或者可以是与主机建立连接的网络上。如果自动执行配置文件指定的自动执行程序和/或指定文件位于半导体存储装置以外,那么不需要将指定文件复制到主机硬盘,就可以直接执行,不会因设备切换而影响指定文件的执行。
至此为止,上述实施例大多是将半导体存储装置先后作为两种不同设备类型的设备连接到主机并分别进行数据处理。实际上根据有关协议,还可将半导体存储装置作为两个或两个以上类型的设备同时与主机相连接,主机或用户对两个或两个以上的设备同时进行对应设备类型的数据处理而不需要任何方式的切换。
例如在操作系统询问设备类型时,将半导体存储装置应答为同时具有光盘驱动器和移动磁盘两个设备,所述主机对这两个设备分别进行配置、装载驱动程序等处理,在主机操作系统中产生两个盘符:在光盘驱动器设备方面,半导体存储装置模拟有光盘插入的光盘驱动器,激活操作系统的自动执行机制,从而使指定文件自动执行,还可读取设备中的数据甚至根据模拟光盘驱动器类型的不同,进行数据写入、刻录等操作;而移动磁盘方面,主机读取半导体存储装置的文件系统,根据用户的指令对半导体存储装置进行移动磁盘设备类型的操作例如读、写数据、格式化等等,这两个设备的操作互相独立,并不需要切换过程。对于每个设备的容量等信息,可由用户手动或通过程序指定,也可由半导体存储装置自动指定。
在使用该发明方法实现半导体存储装置内文件的自动执行时,可根据需要结合加密机制,对半导体存储装置内的存储空间或文件进行加密;也可以通过软件实现自动执行配置文件的有限次执行或有限时执行。例如当自动执行配置文件指定要执行的指定文件是某软件程序,那么该指定文件可以记录首次使用的日期,在该软件程序使用到达预定的使用期限时,提示用户进行相应操作,否则软件程序将不再可用。
该发明方法中,可通过各种2003年7月前已有的自动执行配置文件编辑软件来进行对指定文件的指定过程。用户可以通过这类软件,在自动执行配置文件中加入指定文件的指定地址等信息,再将该自动执行配置文件保存在半导体存储装置中,从而实现对指定文件的指定。
综上所述,该发明的原理在于半导体存储装置通过对操作系统的应答,激活操作系统预定的自动执行机制,由该机制控制半导体存储装置中自动执行配置文件,进而实现指定文件的自动执行功能;结合半导体存储装置原有的常规存储功能,同时实现了半导体存储装置中文件的自动执行和存储功能。该发明提供的方法适用于多种操作系统,多种半导体存储装置,并且对于参与自动执行的文件存放地址没有特殊限制,加强了半导体存储装置的应用功能,拓宽半导体存储装置的应用范围。
荣誉表彰
2014年11月6日,《利用半导体存储装置实现自动执行的方法》获得第十六届中国专利优秀奖。