專利背景
截至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日,《利用半導體存儲裝置實現自動執行的方法》獲得第十六屆中國專利優秀獎。