複製鏈接
請複製以下鏈接發送給好友

利用半導體存儲裝置實現自動執行的方法

鎖定
《利用半導體存儲裝置實現自動執行的方法》是深圳市朗科科技股份有限公司於2003年7月22日申請的發明專利,該專利的申請號為031460909,公佈號為CN1570881,公佈日為2005年1月26日,發明人是楊龍和、鍾智淵,該專利涉及數據存儲領域。 [1] 
《利用半導體存儲裝置實現自動執行的方法》通過激活操作系統的自動執行機制來實現半導體存儲裝置連接電腦主機後指定文件的自動執行,該方法結合半導體存儲裝置的存儲功能以及操作系統的文件自動執行功能,可適用於多種操作系統,擴展了半導體存儲裝置的應用功能。 [2] 
2014年11月6日,《利用半導體存儲裝置實現自動執行的方法》獲得第十六屆中國專利優秀獎。 [3] 
(概述圖為《利用半導體存儲裝置實現自動執行的方法》摘要附圖 [2] 
中文名
利用半導體存儲裝置實現自動執行的方法
公佈號
CN1570881
公佈日
2005年1月26日
申請號
031460909
申請日
2003年7月22日
申請人
深圳市朗科科技股份有限公司
地    址
廣東省深圳市高新區高新南一道中國科技開發院孵化大樓六樓
發明人
楊龍和、鍾智淵
分類號
G06F12/00
代理機構
北京英賽嘉華知識產權代理有限責任公司
類    別
發明專利
代理人
餘朦、黃建國

利用半導體存儲裝置實現自動執行的方法專利背景

截至2003年7月,各種操作系統多具有文件的自動執行機制,但是它們僅僅支持光盤以及本地磁盤上指定文件的自動執行功能。以微軟公司的WINDOWS98操作系統為例,在光盤插入電腦主機的光盤驅動器後,操作系統會根據有關協議(例如MMC3、SCSI等)向所連接的設備發出問詢命令以獲得該設備的設備狀態,並且根據設備報告的設備狀態(光盤驅動器)來識別和配置該設備。設備識別配置完畢後,操作系統會詢問設備是否有光盤插入,如果應答為有光盤插入,則讀取光盤中的文件。如果該光盤的根目錄下有自動執行配置文件,操作系統將會首先對該自動執行配置文件進行處理,即根據該自動執行配置文件所遵循的相關協議找出指定文件,執行該指定文件。在該指定文件運行過程中,操作系統還可對光盤進行數據讀取操作。
自動執行配置文件在多數操作系統中具有統一的文件名autorun.inf,該文件內部保存了待執行的指定文件的名稱以及圖標等。通過上述信息,操作系統可以找出指定文件並執行。
隨着計算機技術的普及,半導體存儲裝置以其獨特的品質正在得到越來越廣泛的應用。但是截至2003年7月,還未開發利用半導體存儲裝置激活操作系統的自動執行機制從而使得指定文件得以自動執行的方法。 [1] 

利用半導體存儲裝置實現自動執行的方法發明內容

利用半導體存儲裝置實現自動執行的方法專利目的

針對上述2003年7月前已有技術的現狀和需求,《利用半導體存儲裝置實現自動執行的方法》的目的在於提供一種利用半導體存儲裝置激活操作系統的自動執行機制而使半導體存儲裝置內的指定文件得以自動執行的方法。利用該方法不僅使得半導體存儲裝置與主機連接情況下能夠自動執行指定文件,還能夠在自動執行過程中或執行完畢後實現半導體存儲裝置常規的存儲功能。 [1] 

利用半導體存儲裝置實現自動執行的方法技術方案

《利用半導體存儲裝置實現自動執行的方法》所述半導體存儲裝置連接到一個主機上,所述主機內置有具有自動執行機制的操作系統,包括以下步驟:
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] 

利用半導體存儲裝置實現自動執行的方法改善效果

根據該發明的上述技術方案,無論是主機的操作系統是支持光盤中文件的自動執行,還是支持本地磁盤中文件的自動執行,都可以利用一個半導體存儲裝置來激活操作系統的自動執行機制,從而實現半導體存儲裝置內置的自動執行配置文件的執行。同時,半導體存儲裝置本市還能夠提供其常規的存儲功能。 [1] 

利用半導體存儲裝置實現自動執行的方法附圖説明

圖1示出根據該發明第一個實施例,將半導體存儲裝置模擬為本地磁盤的操作流程;
圖2示出了根據該發明的第二個實施例,將半導體存儲裝置模擬為光盤驅動器情況下進行自動執行和常規存儲功能切換的流程;
圖3是圖2中步驟7的詳細流程圖,其示出了將半導體存儲裝置模擬為光盤驅動器情況下,自動執行過程的流程;
圖4示出了該發明的第三個實施例,是在第一和第二個實施例的基礎上加入了一種文件複製操作的自動執行過程;
圖5示出了該發明的第四個實施例,是將第三個實施例改進為通過計時來控制半導體存儲裝置復位的時機。 [1] 
圖1 圖1
圖2 圖2
圖3 圖3
圖4 圖4
圖5 圖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中任意一個權利要求所述的利用半導體存儲裝置實現自動執行的方法,其中所述主機可根據用户的指令對所述半導體存儲裝置進行常規存儲操作。 [1] 

利用半導體存儲裝置實現自動執行的方法實施方式

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是該發明的第二個實施例,示出了當一個半導體存儲裝置連接到以第一類操作系統運行的主機上時,半導體存儲裝置模擬一個光盤驅動器以激活操作系統的自動執行機制,並且在此之後切換到半導體存儲裝置常規存儲功能的流程。 [1] 
如圖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示出了該方案。
為了保證指定文件的正常運行,要在所連接到主機上的半導體存儲裝置中預置一個可執行程序(以下統稱為自動執行程序),操作系統打開該半導體存儲裝置上的自動執行配置文件,該自動執行程序可以自動執行如下動作:負責通過預定路徑查找到所述待執行的指定文件,並將該指定文件複製到本地硬盤上、發出復位命令使半導體存儲裝置復位以返回主流程以及其他容錯處理。該自動執行程序還複製自身以及指定文件到主機硬盤上,然後調用指定文件副本執行。在指定文件副本開始執行後,發出半導體存儲裝置復位命令。使該自動執行程序指向指定文件;並使自動執行配置文件指向該自動執行程序。
所述自動執行程序通過預定路徑查找指定文件的方式,可以通過一個預先定義的配置文件進行:該配置文件中保存有所述指定文件的路徑、文件名、文件類型等信息,自動執行程序找到該配置文件後,讀取該配置文件內容,根據配置文件提供的路徑等信息找到指定文件。還可通過自動執行程序自身直接查找到指定文件:根據用户對指定文件的指定過程,在自動執行程序中包含該指定文件的路徑、文件名、文件類型等信息,自動執行程序可根據上述信息直接找出指定文件。 [1] 
如圖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月前已有的自動執行配置文件編輯軟件來進行對指定文件的指定過程。用户可以通過這類軟件,在自動執行配置文件中加入指定文件的指定地址等信息,再將該自動執行配置文件保存在半導體存儲裝置中,從而實現對指定文件的指定。
綜上所述,該發明的原理在於半導體存儲裝置通過對操作系統的應答,激活操作系統預定的自動執行機制,由該機制控制半導體存儲裝置中自動執行配置文件,進而實現指定文件的自動執行功能;結合半導體存儲裝置原有的常規存儲功能,同時實現了半導體存儲裝置中文件的自動執行和存儲功能。該發明提供的方法適用於多種操作系統,多種半導體存儲裝置,並且對於參與自動執行的文件存放地址沒有特殊限制,加強了半導體存儲裝置的應用功能,拓寬半導體存儲裝置的應用範圍。 [1] 

利用半導體存儲裝置實現自動執行的方法榮譽表彰

2014年11月6日,《利用半導體存儲裝置實現自動執行的方法》獲得第十六屆中國專利優秀獎。 [3] 
參考資料