TW201621682A - 經由控制器而具有多功能整合的快閃驅動器 - Google Patents
經由控制器而具有多功能整合的快閃驅動器 Download PDFInfo
- Publication number
- TW201621682A TW201621682A TW104126532A TW104126532A TW201621682A TW 201621682 A TW201621682 A TW 201621682A TW 104126532 A TW104126532 A TW 104126532A TW 104126532 A TW104126532 A TW 104126532A TW 201621682 A TW201621682 A TW 201621682A
- Authority
- TW
- Taiwan
- Prior art keywords
- computing device
- flash drive
- connector
- usb
- ios
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Transfer Systems (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
一種包括利用快閃驅動器的單一控制模組之多功能整合的方法和設備。整合的功能可以藉由快閃驅動器所利用以與快閃驅動器所連接的計算裝置通訊。使用單一控制模組的整合功能可包括,例如,用以控制USB和周邊通訊協定通訊之功能以管理與快閃記憶體的通訊以及與安全IC通訊。使用可被實施於IC上的單一控制模組,該快閃驅動器可以,例如,經由USB與運行Windows作業系統的膝上型電腦通訊,以及可以經由周邊通訊協定和USB與運行iOS的智慧型手機通訊。來自膝上型電腦的資料,像是影片可以被複製至快閃驅動器,且接著可以被複製或串流到智慧型手機。
Description
本發明申請要求受益於美國臨時專利申請號62/039353,發明名稱為“FLASH DRIVE WITH MULTIPLE FUNCTIONS INTEGRATED VIA A CONTROLLER”且申請於2014年8月19日。該申請案的內容併入本文中以全文參考。
本發明係關於經由控制器而具有多功能整合的快閃驅動器。
快閃驅動器為包含快閃記憶體的裝置,其為非揮發性記憶體,且可經由標準連接器被連接到像是個人電腦、智慧型手機、平板電腦等的計算裝置。在經由標準介面將快閃驅動器連接至第一計算裝置後,像是經由全尺寸通用序列匯流排(Universal Serial Bus,USB)連接器連接至桌上型電腦,使用者可使用像是用於USB大量儲存
裝置類別的一組標準通訊協定將資料從桌上型電腦傳輸至快閃驅動器。因為資料是儲存在非揮發性快閃記憶體中,快閃驅動器即使當未連接至任何計算裝置且未接收任何電源時,仍維持資料。快閃驅動器可被連接至具有相同標準的連接器且支持相同通訊協定的第二計算裝置,像是具有全尺寸USB連接器的膝上型電腦,且資料可從快閃驅動器的快閃記憶體被傳輸至膝上型電腦。
這裡介紹的是利用快閃驅動器的單一控制模組整合多功能的技術。整合的功能可以由快閃驅動器所利用以與快閃驅動器所連接的計算裝置通訊。上述的快閃驅動器,其為具有全尺寸USB連接器的快閃驅動器且其支持USB通訊協定,因為無法與一些計算裝置相容而具有問題。由於不相容的實體連接器,快閃驅動器可能與一些計算裝置不相容。例如,快閃驅動器不能直接連接至不具有全尺寸USB連接器的平板電腦。
即使當計算裝置具有實體上相容的連接器,快閃驅動器仍然可能不相容,例如,由於不相容的通信協定。例如,當運行iPhone作業系統(iOS)的蘋果電腦TM(Apple)計算裝置可以具有全尺寸USB連接器,Apple計算裝置可能具有不相容的通信協定。當使用者將快閃驅動器插入至Apple計算裝置的全尺寸USB連接器,Apple計算裝置可顯示描述快閃驅動器係無法辨識或無法支持裝置
的訊息。這可能是因為Apple計算裝置不能識別僅支持大量儲存類別USB通訊協定的裝置,即使該裝置係經由標準USB連接器連接。作為具有不相容的通信協定的結果是,快閃驅動器不能被用來從不相容Apple計算裝置發送資料或獲得資料,即使快閃驅動器和Apple計算裝置可以經由實體相容連接器被連接。
iOS裝置,其為運行iOS任何版本的計算裝置,可能需要經由USB連接器(“iOS USB裝置”)通訊的裝置,像是實施所揭示之技術以與USB和iOS裝置(“iOS USB快閃驅動器”)兩者通訊的快閃驅動器,支持除了USB大量儲存類別通訊協定之外的周邊通訊協定。周邊通訊協定是致能如快閃驅動器的周邊與iOS裝置通訊的一通訊協定及/或一組命令。例如,Apple計算裝置可能須要iOS USB裝置支持USB大量儲存類別通訊協定和周邊通訊協定兩者。周邊通訊協定可以是,例如,Apple專屬周邊通訊協定,其細節可以為Apple的MFi授權程式可用。周邊通訊協定的示例包括參照名為‘用於驗證附屬的方法和系統(Method and system for authenticating an accessory)’的美國專利8,590,036,且其申請日為2012年1月10日。
iOS可進一步要求iOS USB快閃驅動器支持需要iOS USB快閃驅動器包括安全IC的驗證方案。安全IC係可從像是iOS裝置的計算裝置接收訊息的IC,且可對致能計算裝置以驗證包括安全IC之周邊裝置的計算裝置
提供回應。iOS USB快閃驅動器使用周邊通訊協定以啟始與像是iPhone或iPad的iOS裝置通訊的一個示例。作為啟始通訊的一部份,iOS裝置驗證iOS USB快閃驅動器。為了驗證快閃驅動器,驗證訊息被發送至iOS USB快閃驅動器,其反過來將訊息發送至iOS USB快閃驅動器之部分的安全IC。安全IC以合適的訊息回應,其被傳遞到iOS裝置。當iOS裝置接收合適的回應訊息,授權的通訊通道可以被建立作為控制通信期。一旦控制通信期被建立,被發展與驅動器工作的應用可以打開次要通道用於傳輸使用者資料。
一種與USB相容裝置和iOS裝置兩者通訊的方法係使用儲存控制器模組以實施USB通訊協定的功能以及與快閃記憶體通訊,以及使用iOS控制器模組以實施周邊通訊協定的功能以及與安全IC通訊。這裡所介紹的技術使得單一控制模組來實現所有這些功能(“整合的功能”)。換句話說,利用此技術,像是儲存控制器模組的單一控制模組可實施USB通訊協定的功能和與快閃記憶體通訊,也可以實施周邊通訊協定功能和與安全IC通訊。
利用單一模組,像是儲存控制器IC,以整合所有的整合功能,克服了許多限制。例如,為了克服使用不是設計以實施周邊通訊協定的模組之效能限制,連接的周邊(Connected Peripheral,CP)通道可被實施以致能使用小型電腦系統介面(Small Computer System Interface,SCSI)命令。CP通道為兩個組件之間的通訊通道其致能兩
個組件以使用通訊協定及/或超出那些周邊通訊協定的命令來通訊。被設計用於資料儲存應用的儲存控制器IC支持SCSI命令,其為周邊通訊協定所不支持。相比於僅使用周邊通訊協定的通訊協定及/或命令執行資料傳輸,藉由建立CP通道,這些更高效能的SCSI命令可被用於加速資料傳輸多達一個數量級。
作為另一示例,因為資料傳輸在應用級別被管理,且因為在較低級別做出的錯誤檢測對應用程式是不可見的,已經避免了較低級別的錯誤檢測。當在較低級別檢測到錯誤時,沒有通知被發送至應用級別,所以應用不會解決錯誤。此外,發生在應用層的管理,在較低級別檢測到的錯誤沒有被解決,如同應用層沒有被通知該錯誤。為了確保應用級別沒有被通知所有錯誤,像是循環冗於檢查(Cyclic Redundancy Checksum,CRC)的錯誤可以在將資料傳至較低級別之前於應用級別被檢測,以及應用級別可修復該錯誤(以及避免任何由較低級別所檢測的CRC錯誤)。像是這樣的技術使用單一控制模組致能整合的功能整合。
100‧‧‧環境
105‧‧‧使用者
110‧‧‧快閃驅動器
115‧‧‧膝上型電腦
120‧‧‧智慧型手機
125‧‧‧USB連接器
130‧‧‧Lightning連接器
200‧‧‧快閃驅動器
205‧‧‧第一連接器
210‧‧‧第二連接器
215‧‧‧多工器
220‧‧‧閂鎖
225‧‧‧安全IC
230‧‧‧iOS介面控制器
235‧‧‧儲存控制器
240‧‧‧快閃記憶體
300‧‧‧快閃驅動器
335‧‧‧儲存控制器
400‧‧‧快閃驅動器
405‧‧‧快閃介面控制器
410A‧‧‧暫存記憶體
410B‧‧‧暫存記憶體
435‧‧‧儲存控制器
600‧‧‧快閃驅動器
630‧‧‧介面控制器
650‧‧‧電源開關
655‧‧‧電源開關
660‧‧‧保險絲
665‧‧‧暫態電壓抑制器(TVS)
670‧‧‧USB開關
675‧‧‧主機檢測邏輯
680‧‧‧電阻器
685‧‧‧電阻器
700‧‧‧快閃驅動器
730‧‧‧介面/儲存控制器
800‧‧‧快閃驅動器
830‧‧‧介面/儲存控制器
875‧‧‧主機檢測邏輯
890‧‧‧USB開關
895‧‧‧USB電源管理
1005‧‧‧智慧型手機
1210‧‧‧快閃驅動器
1215‧‧‧行動連接器
1220‧‧‧連接器
1225‧‧‧前面部分
1230‧‧‧背面部分
1235‧‧‧U形中間部分
1250‧‧‧第一距離
1255‧‧‧第二距離
1260‧‧‧中間線
1265‧‧‧線
1440‧‧‧部分
1810‧‧‧快閃驅動器
1815‧‧‧連接器
1830‧‧‧背面部分
1835‧‧‧U形中間部分
2000‧‧‧快閃驅動器
2005‧‧‧印刷電路(PCB)
2010‧‧‧內模
2015‧‧‧遮板
2020‧‧‧包覆模
2025‧‧‧凸出
2030‧‧‧凸出
2035‧‧‧蓋
2040‧‧‧光導管
2100‧‧‧處理裝置
2110‧‧‧處理器
2111‧‧‧記憶體
2112‧‧‧通訊
2113‧‧‧輸入/輸出
2114‧‧‧互連
藉由隨附圖示之圖中的示例說明一或多個實施例其中類似的符號表示類似的元件。
圖1是說明與各種實施例相符之說明其中快閃驅動器被使用的環境之環境圖。
圖2是說明與各種實施例相符之利用兩個控制器模組用於兩組功能的快閃驅動器的示例之方塊圖。
圖3是說明與各種實施例相符之使用一個控制器模組整合兩組功能的快閃驅動器的示例之方塊圖。
圖4是說明與各種實施例相符之經由儲存控制器之IC設計的客製化整合兩組功能的快閃驅動器的示例之方塊圖。
圖5是說明與各種實施例相符之快閃驅動器的使用用以將資料從非iPhone作業系統(iOS)計算裝置複製至iOS計算裝置之活動示意圖。
圖6是說明與各種實施例相符之具有致能電流從源裝置流至行動裝置的兩個控制器模組的快閃驅動器的示例之方塊圖。
圖7是說明與各種實施例相符之具有致能電流從源裝置流至行動裝置的整合控制器模組的快閃驅動器的示例之方塊圖。
圖8是說明與各種實施例相符之具有致能電流從源裝置流至行動裝置的電源管理模組的快閃驅動器的示例之方塊圖。
圖9是說明與各種實施例相符之快閃驅動器的使用以使電流從源裝置流至行動裝置之活動示意圖。
圖10是說明與各種實施例相符之當使用者持智慧型手機時,形成於智慧型手機和使用者的手之間的空間之示意圖。
圖11是說明與各種實施例相符之使用者的手指被放置於智慧型手機的底緣以穩定該智慧型手機之示意圖。
圖12是說明與各種實施例相符且可以三種不同角度觀看之成形以利用行動裝置後方的空間的快閃驅動器之示意圖。
圖13是說明與各種實施例相符之被連接智慧型手機且利用智慧型手機後方的空間的快閃驅動器之前視圖。
圖14是說明與各種實施例相符之被連接智慧型手機且利用智慧型手機後方的空間的快閃驅動器之側視圖。
圖15是說明與各種實施例相符之被連接智慧型手機且利用智慧型手機後方的空間的快閃驅動器之背視圖。
圖16是說明與各種實施例相符之利用智慧型手機和使用者的手之間的空間的快閃驅動器之底視圖。
圖17是說明與各種實施例相符之利用智慧型手機和使用者的手之間的空間的快閃驅動器之前視圖。
圖18是說明與各種實施例相符且可以兩種不同角度觀看之成形以利用行動裝置後方的空間的具有一個連接器的快閃驅動器之示意圖。
圖19是說明與各種實施例相符之可彎曲以容納各種厚度的行動裝置的快閃驅動器之示意圖。
圖20是說明與各種實施例相符之成形以利用行動裝置後方的空間的且包括帽蓋的快閃驅動器之分解圖。
圖21是說明與各種實施例相符之其中在此描述的至少一些操作可以被實施的處理系統之方塊圖。
在本發明說明書中,“實施例”,“一個實施例”,“實施”或類似的參照,意味著包括在這裡所介紹的技術之至少一個實施例所描述的特定特徵、功能、結構或特性。在本發明說明書中出現的這種詞語不一定都指代相同的實施例。另一方面,所提及的實施例也不一定是相互排斥的。另外,術語“模組”是指廣義上的軟體、硬體或韌體(或其任何組合)的組件。模組通常是可使用特定輸入來產生有用資料或其他輸出的典型功能組件。模組可以是或可以不是自我包含的。應用程式(也可被稱為"應用")可包括一或多個模組,或模組可包括一或多個應用程式。
此外,術語“原因”及其變化是指任何直接的原因或間接原因。例如,計算系統可以為了命令、請求或促使第二計算系統執行動作而藉由發送訊息至第二計算系統"導致"動作。在此程序中,任何數量的中間裝置可以檢查及/或中繼訊息。在這方面,裝置可以“導致”動作,即使裝置它可能不知道動作最終是否會被執行。
此外,像是USB通訊協定的通訊協定可包括
任何一組通訊協定、可包括各種版本的通訊協定、可包括各種類別的裝置等等而可被本發明領域之通常知識者所理解。例如,USB通訊協定可包括USB大量儲存裝置類別、USB人性介面裝置類別等任一者,可包括USB版本1.0、USB版本2.0、USB版本3.0等。此外,支持通訊協定可包括僅支持通訊協定的一部份。例如,支持通訊協定可包括僅支持該組通訊協定的部分、通訊協定的各種版本的部分、裝置之類別的部分等等或甚至支持該組通訊協定中一者的部分。
圖1是說明與各種實施例相符之說明其中快閃驅動器被使用的環境之環境圖。環境100的實施例中,使用者105具有快閃驅動器110且須要從膝上型電腦115傳輸資料至智慧型手機120。在此實施例中,膝上型電腦115運行微軟Windows作業系統(Windows)包括標準全尺寸USB埠以及支持USB通訊協定。在各種實施例中,膝上型電腦115及/或智慧型手機120可以係運行支持USB大量儲存通訊協定的作業系統的任何電腦系統,像是Android、iOS、MacOS、OS X、Unix、HP-UX、Solaris、BSD、Linux等。作業系統可以是即時作業系統像是LynxOS、RTLinux、VxWorks、Windows CE、FreeRTOS等。回到圖1的實施例,使用者105可以將USB連接器125插入至膝上型電腦115的USB埠。一旦連接,膝上型電腦115將快閃驅動器110識別為USB裝置,以及建立通訊。使用者105使用Windows介面啟始複製命令以從
膝上型電腦115的硬碟將像是影片的一些資料複製到快閃驅動器110。
在影片被複製到快閃驅動器之後,使用者105將USB連接器125從膝上型電腦115的USB埠移除,以及將標準Apple電腦TM(Apple)的連接器之Lightning連接器130插入至運行iOS的Apple裝置之智慧型手機120。一旦連接,智慧型手機120將快閃驅動器110識別為Apple相容裝置,且建立通訊。使用者105使用iOS介面啟始複製命令以從快閃驅動器125複製影片到智慧型手機120。
圖2是說明與各種實施例相符之利用兩個控制器模組用於兩組功能的快閃驅動器的示例之方塊圖。快閃驅動器200包括第一連接器205、第二連接器210、多工器215、閂鎖220、安全IC 225、iOS介面控制器230、儲存控制器235以及快閃記憶體240。儲存控制器235被用於第一組功能,其包括處理USB通訊協定和管理與快閃記憶體240的通訊。iOS介面控制器230被用於第二組功能,其包括特別處理和與安全IC或模組通訊的Apple iOS。圖2的實施例中,第一連接器205、第二連接器210、多工器215、閂鎖220、安全IC 225、iOS介面控制器230、儲存控制器235和快閃記憶體240為連接至印刷電路板(PCB未顯示)的各自獨立的組件,且PCB電連接各組件之被稱為針腳(pin)的點。此外,安全IC 225、iOS介面控制器230、儲存控制器235以及快閃記憶體240為獨
立積體電路(IC)。而在此實施例中元件225至240為獨立IC,在其他實施例中,元件225至240中任一及/或全部而多工器215和閂鎖220可被整合成一或多個IC。
圖2的實施例中,第一連接器205為像是Apple Lightning連接器、Apple 30-pin連接器、或Apple Thunderbolt連接器的標準Apple連接器且可備用以連接至運行iOS的計算裝置。第二連接器210是用於非iOS計算裝置(例如運行除了iOS任何版本以外的作業系統的計算裝置)的標準連接器,像是全尺寸USB連接器、標準USB連接器、標準A型USB連接器、B型USB連接器、迷你(mini)USB連接器、mini USB A型連接器、mini USB B型連接器、微型(micro)USB連接器、micro USB A型連接器、micro USB B型連接器或UC-E6連接器。第二連接器210可被用以連接非iOS計算裝置,以及在一些實施例中,可被用以連接運行iOS的計算裝置。標準連接器可為上述的標準Apple連接器、或上述的標準連接器用於非iOS計算裝置或任何其他產業標準連接器。在各種實施例中,第一連接器205為第一型標準連接器和第二連接器210為第二型標準連接器。
回到圖1的示例,Lightning連接器130可以係第一連接器205,以及USB連接器125可以係第二連接器210。使用圖1的示例,使用者105可以將第二連接器210插入至膝上型電腦115的USB埠。一旦連接,第二連接器210電連接至膝上型電腦115的5.5V電源且電源pin
傳送5.5V至閂鎖220。
在此點,第一連接器205的電源pin未被連接。可以是交叉耦合NAND閂鎖的閂鎖220檢測來自第二連接器210的5.5V電源pin是啟動的,且第一連接器205的3.3V電源pin是未啟動的。閂鎖220被設定成第二值以指示第二連接器210是啟動的(例如用以指示快閃驅動器的讀取和寫入將透過此連接器進行)。閂鎖220的輸出係電連接至多工器215的選擇輸入,以及當選擇輸出被設定成第二值,多工器選擇第二連接器210的資料pin以發送至iOS介面控制器230。閂鎖220的輸出是電連接至iOS介面控制器230和儲存控制器235。當閂鎖220的輸出被設定成第二值時,iOS介面控制器230和儲存控制器235可取樣閂鎖220的輸出以決定第二連接器210是否為啟動的。
組件215至240可藉由適當的電源pin供電(例如,第一連接器205的3.3V電源pin、第二連接器210的5.5V的電源pin、兩個電源pin的組合、第一連接器205或第二連接器210中不同的電源pin等等)。一旦組件215至240被供電啟動時,該些組件透過重設序列,其啟始組件且係儲存在快閃記憶體240中的應用程式之執行,進行以有效地將快閃驅動器"開機"進入就緒狀態。
在快閃驅動器處於就緒狀態後的某些時候,膝上型電腦115發送USB通訊協定訊息至快閃驅動器200以啟始通訊。USB通訊協定訊息通過多工器215至iOS介
面控制器230,其將USB通訊協定訊息關連至儲存控制器235。儲存控制器235被配置成經由儲存控制器235之IC設計的客製化及/或經由儲存控制器235執行的軟體以使用USB通訊協定通訊。儲存控制器235接收和識別USB命令且據此動作以在膝上型電腦115和快閃驅動器200之間建立通訊通道。使用者105使用Windows介面啟始複製命令以從膝上型電腦115的硬碟將像是影片的一些資料複製到快閃驅動器110。膝上型電腦115利用一系列的USB命令經由第二連接器210和多工器215將影片發送至iOS介面控制器230,其將資料傳輸至儲存控制器235,其根據USB命令動作且將影片寫入至快閃記憶體240。
儲存控制器235被配置成經由儲存控制器235之IC設計的客製化及/或經由儲存控制器235執行的軟體以管理與快閃記憶體240的通訊。儲存控制器235可以被優化以管理與快閃記憶體的通訊的模組,其包括管理從快閃記憶體的資料讀取、至快閃記憶體的資料寫入且在快閃記憶體擦除資料。為了適當的處理"擦除區塊",管理快閃記憶體的通訊可以要求像是管理快閃記憶體之資料的特定能力。像是快閃記憶體240的快閃記憶體可以係NAND或NOR快閃記憶體,且可具有"擦除區塊(erase blocks)",擦除區塊係快閃記憶體的最小單位,其可以在一時間被擦除。擦除區塊係實質上大於記憶體可被讀取或寫入的最小單位。例如,NAND快閃記憶體可以典型大小為2KB至4KB範圍之單位的隨機存取方式被讀取或寫入。然而,
擦除區塊可以是128KB或256KB或更大的量級。
結果是,當準備好從快閃記憶體240擦除資料或命令時,儲存控制器235須要能夠確保只有意圖被擦除的資料被實際擦除。儲存控制器235可藉由管理資料來確保這一點,使得將被擦除的快閃記憶體240的擦除區塊只有包含將被擦除的資料。儲存控制器235也可藉由讀取在擦除區塊中將被擦除但不打算被擦除的資料或命令來確保這一點,且在暫存記憶體中儲存該資料或命令,暫存記憶體可以係儲存控制器235的部分或另可以係另一模組的部分。儲存控制器235可以接著安全地擦除包含將被擦除和不要被擦除的資料/命令之混合的擦除區塊。一旦擦除區塊被擦除,不打算要被擦除的資料/命令可以從暫存記憶體被讀取和寫入快閃記憶體240。
在影片被複製至快閃驅動器200後,使用者105從膝上型電腦115拔出快閃驅動器200。在此時,沒有任何電源連接到組件205至240中的任一者。然而,作為一個非揮發性記憶體,快閃記憶體240保留已寫入的數據。
之後,第一連接器205被連接至智慧型手機120和第一連接器205的電源pin被電連接至智慧型手機120的3.3V電源。在此時,第二連接器210的電源pin未被連接。閂鎖220檢測來自第一連接器205的3.3V電源pin係啟動的,以及來自第二連接器210的5.5V電源pin係未啟動的,以及閂鎖220被設定成第一值以指示第一連
接器205係啟動的。依據被設定成第一值的多工器選擇的多工器215選擇第一連接器205的資料pin以發送至iOS介面控制器230。依據閂鎖220的輸出,iOS介面控制器230和儲存控制器235可以決定第一連接器205是否為啟動的。快閃驅動器如前述般“開機”。在快閃驅動器處於就緒狀態的某個時候,智慧型手機120發送周邊通訊協定訊息至快閃驅動器200以啟始通訊。
周邊通訊協定是致能如快閃驅動器200的周邊裝置與iOS裝置通訊的一通訊協定及/或一組命令。iOS裝置係運行任何版本的iOS的計算裝置。即使當兩個裝置具有實體上相容的連接器,該兩個裝置仍然可能不相容,例如,由於不相容的通信協定。例如,當運行iOS的Apple計算裝置可以具有全尺寸USB連接器,Apple計算裝置可能具有不相容的通信協定。當使用者將快閃驅動器插入至Apple計算裝置的全尺寸USB連接器,Apple計算裝置可顯示描述快閃驅動器係無法辨識或無法支持的訊息。這可能是因為Apple計算裝置不能識別僅支持大量儲存類別USB通訊協定的裝置,即使該裝置係經由標準USB連接器連接。
作為具有不相容的通信協定的結果是,快閃驅動器不能被用來從不相容Apple計算裝置發送資料或獲得資料,即使快閃驅動器和Apple計算裝置可以經由實體相容連接器被連接。在這樣的情況下,Apple計算裝置可能要求所述周邊裝置支持除了USB大量儲存類別通訊協
定的周邊通訊協定。周邊通訊協定可以是,例如,Apple專屬周邊通訊協定,其細節可以為Apple的MFi授權程式可用。周邊通訊協定的示例包括參照名為‘用於驗證附屬的方法和系統’的美國專利8,590,036,且其申請日為2012年1月10日。
為了與周邊裝置相容,Apple計算裝置可進一步要求周邊裝置支持驗證方案,其要求該周邊包括像是安全IC 225的安全IC。安全IC係可從像是iOS裝置的計算裝置接收訊息的IC,且可對致能計算裝置以驗證包括安全IC之周邊裝置的計算裝置提供回應。
返回到示例,周邊通訊協定訊息透過多工器215傳送到iOS介面控制器230。iOS介面控制器230被配置成經由iOS介面控制器230之IC設計的客製化及/或經由iOS介面控制器230執行的軟體以使用周邊通訊協定通訊。iOS介面控制器230接收以及識別周邊通訊協定命令。為了建立與Apple iOS裝置的通訊通道,像是智慧型手機120、快閃驅動器200可藉由智慧型手機120授權。智慧型手機120發送訊息以啟始驗證程序,回應於iOS控制器130與安全IC 225通訊以獲取驗證資料。安全IC 225發送驗證資料至iOS介面控制器230,其轉送驗證資料至智慧型手機120以驗證快閃驅動器以及致能快閃驅動器和智慧型手機120之間的資料傳輸。
使用者105使用iOS介面啟始複製命令以從快閃驅動器200複製影片到智慧型手機120。智慧型手機
120,利用可包括由儲存控制器235所處理的USB命令、由iOS介面控制器230所處理的周邊通訊協定命令或USB和周邊通訊協定命令兩者的一系列的命令,啟始影片的複製。儲存控制器235從快閃記憶體240讀取影片以及將影片發送至iOS介面控制器230,其經由多工器215和第一連接器205將影片轉送至智慧型手機120。
圖3是說明與各種實施例相符之使用一個控制器模組整合兩組功能的快閃驅動器的示例之方塊圖。快閃驅動器300包括第一連接器205、第二連接器210、多工器215、閂鎖220、安全IC 225、儲存控制器335以及快閃記憶體240。在一些實施例中,儲存控制器335與儲存控制器235是一樣的或是具有相同的功能。儲存控制器335被利用於第一組功能其包括處理USB通訊協定和管理與快閃記憶體240的通訊以及用於第二組功能其包括Apple iOS特定與安全IC的處理和通訊。在圖2的實施例中,第二組功能是由iOS介面控制器230控制,其可以注意到的是不包括在快閃驅動器300中。在各種實施例中,第一組功能包括處理除了USB通訊協定以外的通訊協定,以及管理與快閃記憶體240的通訊。第二組功能包括處理的通信協定,像是Apple周邊協定,以及與安全IC通訊。
圖3的實施例中,第一連接器205、第二連接器210、多工器215、閂鎖220、安全IC 225、儲存控制器335和快閃記憶體240為連接至PCB(未顯示)的各自獨
立的組件,且PCB電連接各組件的pin。此外,安全IC 225、儲存控制器335以及快閃記憶體240為獨立積體電路(IC)。在此實施例中,安全IC 225、儲存控制器335和快閃記憶體240為獨立IC,在其他實施例中,安全IC 225、儲存控制器335和快閃記憶體240任一者或全部以及多工器215和閂鎖220可被整合至一或多個IC。
再一次參照圖1的示例,快閃驅動器300將處理從膝上型電腦115複製影片,且將影片發送至智慧型手機120,以類似於快閃驅動器200的方式,而有使用儲存控制器335而致能整合兩組功能或結果的顯著區別。圖2之由iOS介面控制器230和儲存控制器235所處理的程序可由圖3的儲存控制器335所處理。作為圖2之示例中的儲存控制器235,儲存控制器335被配置成經由儲存控制器335之IC設計的客製化及/或經由儲存控制器335執行的軟體以使用USB通訊協定來通訊以及管理與快閃記憶體240的通訊。與圖2之示例中的儲存控制器235不同,儲存控制器335也被配置成經由儲存控制器335之IC設計的客製化及/或經由儲存控制器335執行的軟體以使用周邊通訊協定來通訊以及與安全IC 225通訊。當儲存控制器335被配置成經由軟體或不經由儲存控制器335之IC設計的客製化,儲存控制器335可以係與儲存控制器235相同或具有相同的功能。
圖4是說明與各種實施例相符之經由儲存控制器之IC設計的客製化整合兩組功能的快閃驅動器的示
例之方塊圖。快閃驅動器400包括第一連接器205、第二連接器210、多工器215、閂鎖220、安全IC 225、儲存控制器335、快閃介面控制器405、暫存記憶體410、USB/PP/SIC控制器415以及快閃記憶體240。在一些實施例中,儲存控制器435與圖3的儲存控制器335是一樣的或是具有相同的功能。
圖4的實施例中,儲存控制器435被利用於第一組功能其包括處理USB通訊協定和管理與快閃記憶體240的通訊以及用於第二組功能其包括Apple iOS特定與安全IC的處理和通訊。儲存控制器435的子模組、快閃介面控制器405、管理與快閃記憶體240的通訊、儲存控制器435的第二子模組、USB/PP/SIC控制器415處理USB通訊協定、Apple iOS特定處理以及與安全IC通訊。
而圖4示出了經由儲存控制器之IC設計的客製化而被整合的兩組功能,該功能可以經由被一個可程式化IC所執行的客製化軟體而被等效地整合,像是微控制器或特定應用積體電路(application specific integrated circuit,ASIC),或經由客製化IC設計和客製化軟體的組合。也可被稱作為模組,圖4中客製化的區塊當經由客製化軟體整合功能時,可具有客製化軟體的等效模組。
再一次參照圖1的示例,圖4之實施例的快閃驅動器400將處理從膝上型電腦115複製影片,以及將影片發送至智慧型手機120以可以類似圖3之快閃驅動器300或與其相同的方式。在快閃驅動器400連接至膝上型
電腦115且處與就緒狀態之後,影片複製可藉由發送訊息的膝上型電腦115啟始,像是USB通訊協定訊息,到快閃驅動器400用以啟始通訊以及用以發送影片的第一資料。第一資料可以通過第二連接器210和多工器215至儲存控制器435,在那裡它傳遞到子模組USB/PP/SIC控制器415。當USB/PP/SIC控制器415接收第一資料,它可以將第一資料儲存在其連接的暫存記憶體410B中。
快閃記憶體可利用的典型大小為2KB至4KB範圍之單位,有時候被稱為區塊,的隨機存取方式被讀取或寫入。從膝上型電腦115被複製的第一資料可被儲存在暫存記憶體410B直到足夠的影片及/或其他資料已經被接收以觸發快閃記憶體240的區塊之寫入。第一資料可替代地或額外地被發送至快閃介面控制器405,在那裡它可被儲存在暫存記憶體410A直到足夠的影片及/或其他資料已經被接收以觸發快閃記憶體240的區塊之寫入。
一旦足夠的資料被接收而觸發寫入,儲存影片及/或其他資料的暫存記憶體可以被讀取以及將被寫入快閃記憶體240的區塊的該資料可以被發送至快閃介面控制器405。快閃介面控制器405可以將資料寫入至快閃記憶體240的區塊。一旦資料被寫入至快閃記憶體240,保持資料的暫存記憶體的對應記憶體可以對其他的目的為可用的。此外,由膝上型電腦115所發送的命令,像是USB命令,也可被儲存在暫存記憶體410B中直到USB/PP/SIC控制器415能夠適當地處理他們。
在從膝上型電腦115斷接以及連接至智慧型手機120之後,快閃驅動器400可發送影片至智慧型手機120。被發送的影片資料駐留在快閃記憶體240。在快閃驅動器處於就緒狀態的某個時候,智慧型手機120發送周邊通訊協定訊息至快閃驅動器400以啟始通訊。周邊通訊協定訊息通過第一連接器205和多工器215至儲存控制器435,在那裡訊息傳遞到子模組USB/PP/SIC控制器415。USB/PP/SIC控制器415接收周邊通訊協定命令以及可以發送命令至暫存記憶體410B直到USB/PP/SIC控制器415準備好處理該些命令。
作為建立與快閃驅動器400之通訊通道之部分,回應於USB/PP/SIC控制器415與安全IC 225通訊以獲得驗證資料,智慧型手機120發送訊息至快閃驅動器400以啟動驗證程序。安全IC 225發送驗證資料至USB/PP/SIC控制器415,其轉送驗證資料至智慧型手機120以驗證快閃驅動器400以及致能快閃驅動器400和智慧型手機120之間的資料傳輸。在一些實施例中,在依據驗證資料之處理將訊息發送至智慧型手機120之前,USB/PP/SIC控制器415處理驗證資料,以支持快閃驅動器400的授權和致能在快閃驅動器400和智慧型手機120之間的資料傳輸。
使用者105使用iOS介面啟始複製命令以從快閃驅動器400複製影片到智慧型手機120。智慧型手機120利用一系列的命令,其可包括USB命令或周邊通訊協
定命令,兩者皆可由USB/PP/SIC控制器415所處理,來啟始影片的複製。USB/PP/SIC控制器415將訊息發送到快閃介面控制器405,對此回應於,快閃介面控制器405從快閃記憶體240讀取影片以及將影片發送至USB/PP/SIC控制器415,其經由多工器215和第一連接器205將影片轉送至智慧型手機120。
在一些實施例中,快閃介面控制器405可從快閃記憶體240讀取將被發送的影片以及將資料儲存於暫存記憶體410A中。快閃介面控制器405可替代地或額外地將影片資料發送至USB/PP/SIC控制器415,其可把將被發送的影片資料儲存在暫存記憶體410B中。一旦USB/PP/SIC控制器415準備好發送影片資料至智慧型手機120,它可以從暫存記憶體410B讀取影片資料以及將影片資料發送至智慧型手機120,或是可以直接從快閃介面控制器405直接接收影片資料以及將影片資料發送至智慧型手機120。此外,將被發送的命令可被儲存在暫存記憶體410B中直到USB/PP/SIC控制器415準備好發送命令至連接裝置。
快閃介面控制器405也可以管理快閃記憶體240的擦除。如前面所討論的,快閃記憶體具有"擦除區塊",一個擦除區塊是快閃記憶體可以一次被擦除的最小單位。擦除區塊係實質上大於記憶體可被讀取或寫入的最小單位。例如,NAND快閃記憶體可以典型大小為2KB至4KB範圍之單位的隨機存取方式被讀取或寫入。然而,
擦除區塊可以是128KB或256KB或更大的量級。結果是,當準備好從快閃記憶體240擦除資料或命令時,管理與快閃驅動器之通訊的控制器像是快閃介面控制器405應該確保只有意圖被擦除的資料被實際擦除。快閃介面控制器405可藉由管理資料來確保這一點,使得將被擦除的快閃記憶體240的擦除區塊只有包含將被擦除的資料。快閃介面控制器405也可藉由讀取在擦除區塊中將被擦除但不打算被擦除的資料或命令以及藉由在暫存記憶體410B中儲存該資料或命令來確保這一點。快閃介面控制器405可以接著安全地擦除包含將被擦除和不要被擦除的資料/命令之混合的擦除區塊。一旦擦除區塊被擦除,不打算要被擦除的資料/命令可以從暫存記憶體410B被讀取和寫入快閃記憶體240。
那些本領域中之通常知識者將認識到,上述描述於圖1至4中所述的邏輯,並在下面所討論的活動示意圖中可能以各種方式被修改。例如,邏輯的次序可以被重新安排,子步驟可以並行,所示出的邏輯執行可以被刪除,其它邏輯可被包括等。此外,所公開的技術的範圍還包括以各種其他的方式實現在這些所描述的功能的實施例。因此,所公開的技術的範圍旨在包括所有這些落入申請專利範圍的範圍內的替代、修改和變化,以及所有的等同物。
圖5是與各種實施例相符之說明快閃驅動器400之使用的活動示意圖以從非iOS計算裝置505(NCD
505)複製資料到iOS計算裝置510(ICD 510)。NCD 505為不是運行iOS的計算裝置,像是膝上型電腦115,而ICD 510是運行iOS的計算裝置,像是智慧型手機120。而此示意圖說明使用快閃驅動器400以將資料從NCD 505複製到ICD 510,資料可類似使用快閃驅動器400從ICD 510被複製到NCD 505。
像是使用者105的使用者將快閃驅動器400的連接器如公USB連接器插入至NCD 505的相容連接器如母USB連接器。在被插入後,快閃驅動器400通電且進行它初始化以及置於就緒狀態的一重設序列。在一些實施例中,在初始化程序期間,快閃驅動器400讀取和執行來自快閃記憶體240的軟體。例如,在進行重設序列後,快閃介面控制器405從快閃記憶體240讀取資料。資料可以是將由快閃介面控制器405或USB/PP/SIC控制器415所執行的軟體。軟體可以被執行以將快閃驅動器400置入就緒狀態。
一旦快閃驅動器400處於就緒狀態,快閃驅動器400或NCD 505其中之一可啟始兩個裝置之間的通訊。回應於被插入至NCD 505的USB連接器且有效地“開機”至就緒狀態,快閃驅動器400可決定通訊協定以使用於發送訊息至NCD 505以啟始裝置之間的通訊(步驟518)。例如,依據被插入至USB連接器,快閃驅動器400可以決定去發送USB命令或訊息至NCD 505以啟始通訊(步驟520)。回應於接收USB命令或訊息,NCD 505可以
發送回應以建立裝置之間的通訊(步驟512)。在一些實施例或情況中,NCD 505可以發送訊息以啟始通訊至快閃驅動器400,以及快閃驅動器400可以發送回應以建立通訊。
在一些時候,使用者105指示他想要從NCD 505複製像是影片的資料至快閃驅動器400。例如,使用者105可以利用在NCD 505上運行像是在膝上型電腦115上運行的Windows作業系統之非iOS作業系統的使用者介面以指示將影片複製至快閃驅動器400(步驟514)。NCD 505可以使用USB通訊協定和USB通訊協定命令發送影片至快閃驅動器400(步驟516)。快閃驅動器400在USB命令被解譯之處的USB/PP/SIC控制器415接收命令。依據所接收的USB命令,USB/PP/SIC控制器415決定將影片資料寫入至快閃記憶體240(步驟522),以及可以將影片資料轉送到快閃介面控制器405,其管理對快閃記憶體240的資料寫入(步驟524)。在影片被寫入至快閃驅動器400後,使用者105從NCD 505的USB連接器拔出快閃驅動器400。
在某些時候,像是使用者105的使用者將快閃驅動器400的連接器如公Lightning連接器插入至NCD 510的相容連接器如母Lightning連接器。在被插入後,快閃驅動器400通電且進行一重設序列;其中它被初始化以及被置於就緒狀態。一旦快閃驅動器400處於就緒狀態,快閃驅動器400或NCD 510其中之一可啟始兩個裝
置之間的通訊。回應於被插入至NCD 510的Lightning連接器且有效地“開機”至就緒狀態,快閃驅動器400可決定通訊協定以使用於發送訊息至NCD 510以啟始裝置之間的通訊(步驟526)。例如,依據被插入至Lightning連接器,快閃驅動器400可以決定去發送周邊通訊協定命令或訊息至NCD 510以啟始通訊(步驟528)。回應於接收周邊通訊協定命令或訊息,NCD 510可以發送周邊通訊協定訊息以驗證快閃驅動器400(步驟538)。
在接收到周邊通訊協定訊息時,快閃驅動器400決定裝置驗證已被啟始(步驟530)。周邊通訊協定訊息是周邊通訊協定命令被解譯之處的USB/PP/SIC控制器415所接收。USB/PP/SIC控制器415決定驗證已被啟始(步驟530),USB/PP/SIC控制器415發送訊息至安全IC 225以獲得驗證資料。安全IC 225發送驗證資料至USB/PP/SIC控制器415,其將驗證資料轉送至NCD 510(步驟532)以授權快閃驅動器400去致能快閃驅動器400和NCD 510之間的資料傳輸。在一些實施例中,在將轉換的資料發送至NCD 510之前,USB/PP/SIC控制器415處理驗證資料以授權快閃驅動器400。在接收授權資料之後(在一些實施例中,或是轉換的資料),NCD 510使用驗證資料以認證快閃驅動器400為授權的裝置。一旦授權,NCD 510發送回應以建立與快閃驅動器400的通訊(步驟540)。
在一些時候,使用者105指示他想要從快閃
驅動器400將影片複製或串流到ICD 510。例如,使用者105利用運行在ICD 510上的iOS的使用者介面,像是智慧型手機120,來指示以將影片從快閃驅動器400複製或串流到ICD 510(步驟542)。回應於該指示以複製或串流影片,ICD 510對快閃驅動器400(步驟544)發送影片的請求,藉由發送例如請求影片資料的USB命令至快閃驅動器400,該命令被指向解譯該USB命令的USB/PP/SIC控制器415。依據所接收的USB命令,USB/PP/SIC控制器415決定從快閃記憶體240讀取將影片資料(步驟534),以及將影片讀取請求轉送到快閃介面控制器405,其管理從快閃記憶體240的影片資料讀取(步驟524)。在從快閃記憶體240讀取影片資料之後,快閃介面控制器405將影片資料發送或串流到USB/PP/SIC控制器415,其將資料發送或串流到接收資料的ICD 510(步驟536),其中該資料已被修改(步驟546)。
在配置有儲存控制器435的一些實施例中,經由儲存控制器435所執行的整合軟體去整合實施在圖2的iOS介面控制器230和儲存控制器235上的各種功能,一些問題做出成功的整合挑戰。例如,儲存控制器435可以是和儲存控制器235相同的或具有相同功能的,儲存控制器235是未被利用的(在圖2的實施例中)以處理周邊通訊協定通訊,也未處理與安全IC 225的通訊。此外,當在資料傳輸應用級別的軟體中處理資料傳輸時,該資料傳輸應用可能不會被通知在較低級別所做的錯誤檢測,像是
由USB級別命令,及/或錯誤檢測可能對資料傳輸應用是不可見的。結果,經由儲存控制器435所執行的軟體而實施的這些功能可能是相當具有挑戰性。例如,儲存控制器435可能不具有須要處理串流影片至計算裝置用於顯示於該計算裝置上的效能容量,或可能無法適當地處理在資料傳輸期間出現的錯誤。
為了克服效能限制,在一些實施例中,為了致能小型電腦系統介面(Small Computer System Interface,SCSI)命令的使用,連接的周邊(CP)通道可以邏輯地被建立。CP通道為兩個組件之間的通訊通道其致能兩個組件以使用通訊協定及/或超出那些周邊通訊協定的命令。例如,為了克服不是設計以實施周邊通訊協定的模組的效能限制,像是儲存控制器435,CP通道可被實施以致能小型電腦系統介面(Small Computer System Interface,SCSI)命令被使用。儲存控制器435被設計用於資料儲存應用,其支持SCSI命令,其為周邊通訊協定所不支持。相比於僅使用周邊通訊協定的通訊協定及/或命令執行資料傳輸,藉由建立CP通道,這些更高效能的SCSI命令可被用於加速資料傳輸多達一個數量級。
為了實施CP通道,儲存控制器435可被組態以建立兩個USB端點以使用於CP通道,一個邏輯地在快閃驅動器400以及第二個在ICD 510。一旦建立,CP通道可被用以使用除了USB命令以外的命令來發送資料。例如,儲存控制器235可被設計以及優化用於儲存應用,以
及可支持高效能資料傳輸,像是SCSI命令。CP通道可被用於使用SCSI命令從快閃驅動器400傳輸影片資料至ICD 510,及/或從ICD 510至快閃驅動器400。藉由利用SCSI命令,資料傳輸速率可以增加一數量級或甚至更多。
為了克服處理資料傳輸應用至快閃驅動器400或來自快閃驅動器400的資料傳輸應用的傳輸錯誤未被通知或對資料傳輸應用是不可見的傳輸錯誤所造成的問題,這些錯誤可以在資料傳輸應用級別被檢測。例如,USB通訊協定可包括循環冗餘檢查(cyclic redundancy checksum,CRC),其可在USB通訊協定級別被檢查。如果藉由CRC檢測到錯誤,因為這些在比資料傳輸應用還低的級別被檢測到的錯誤,資料傳輸應用可能不會被通知該錯誤,及/或該錯誤可能對資料傳輸應用是不可見的。其他標準USB錯誤檢測機制的示例包括無效的產品ID(PID)序列的檢測、遺失封包的檢測、或不具有資料封包的相對應檢測之訊標封包的檢測,其與匯流排交易逾時期間內的訊標封包對應。其他標準USB錯誤檢測機制可以是那些通過USB規範要求,如在USB 1.0、1.1、2.0、3.0、3.1等等USB規範版本。
為了解決這個問題,在一些實施例中,將由標準USB錯誤檢測機制所檢測的用以檢測錯誤的檢查可以在資料傳輸應用級別被實施,以及該些錯誤可以在由標準USB錯誤檢測機制檢查之前被檢測和修復。通過這樣
做,否則將由下較低級別的USB錯誤檢測機制所檢測的錯誤,像是CRC,可以在資料傳輸應用級別被檢測和處理。此外,藉由在USB錯誤檢測機制被用以檢測錯誤之前修復資料,資料傳輸應用可以確保沒有錯誤出現否則將由USB錯誤檢測機制所檢測,以及與在較低級別所檢測到的錯誤相關的問題可以被略過。
作為錯誤問題的示例,iOS可能不允許像是快閃驅動器400的儲存裝置當被插入像是Lightning連接器的連接器被識別為儲存裝置。當快閃驅動器400被插入至例如運行Android作業系統(operating system,OS)的計算裝置時,快閃驅動器400可以藉由Android OS被識別為儲存裝置。結果,大部分的資料傳輸可以由Android OS的檔案系統所處理。在這樣的情況下,當在檔案傳輸期間遭遇CRC錯誤時,檔案系統的較低部分可適當地處理該錯誤。然而,當iOS不允許快閃驅動器400被識別為儲存裝置時,iOS的檔案系統不可被用以處理資料傳輸。結果,當在檔案傳輸期間遭遇像是CRC錯誤的錯誤,以及檔案系統軟體是不可用時,可能沒有其他可用的軟體以適當地處理該錯誤。
這個問題可以藉由實施檔案系統,並包括具有資料傳輸應用的檔案系統來解決。當ICD 510的iOS不允許快閃驅動器400被識別為儲存裝置,資料傳輸應用可利用它自己的檔案系統以傳輸資料。像是那些由iOS(在某些情況下連同iOS)的檔案系統所檢測和處理的錯誤,相
反,由資料傳輸應用(在某些情況下連同資料傳輸應用)的檔案系統所檢測和處理的錯誤。資料傳輸應用軟體以及與檔案系統軟體相關的可被儲存在快閃記憶體240中。快閃驅動器400可以從快閃記憶體240讀取資料傳輸和檔案系統軟體、發送軟體至ICD 510以及使軟體被ICD 510執行。
若沒有某種形式的保護,當第一連接器205和第二連接器210兩者皆被連接到計算裝置時,快閃驅動器400可能會損壞。例如,連接至兩個連接器的計算裝置可以嘗試衝突寫入。這會導致在快閃記憶體240中的資料損壞或甚至快閃驅動器400的實體損壞。為了防止這種情況,在一些實施例中快閃驅動器400包括保護電路用以檢測何時兩個介面皆連接。這種保護電路,防止試圖同時存取快閃記憶體的這兩個介面可能導致的任何損壞或故障。可替代地,快閃驅動器400可具有防止兩個連接器被同時連接至計算裝置的物理機制。
作為第二個示例,第一計算裝置連接至第一連接器205的第一電源以及第二計算裝置連接至第二連接器210的第二電源可以例如經由短路互動,以及該互動可損壞耦接至第一或第二電源之一的元件。在一些實施例中,快閃驅動器400包括保護電路,其預防第一電源和第二電源電性相互作用而損壞耦接至第一或第二電源之一的任何元件以當快閃驅動器的連接器各者被連接到不同的計算裝置時防止損壞。
在一些實施例中,當第一連接器205和第二連接器210兩者同時被連接至計算裝置時,儲存控制器435可進一步組態以在其是邏輯地在NCD 505的第一USB主機以及其是邏輯地在ICD 510的第二USB主機做區分。例如,儲存控制器435可依據儲存在閂鎖220中的值在主機之間作區分,或可依據從連接快閃驅動器400的計算裝置所接收的資料在主機之間作區分。被接收的資料可以是例如描述符,以及儲存控制器435可依據描述符在主機之間作區分。
此外,快閃驅動器400可決定與兩個連接的計算裝置通訊。例如,快閃驅動器400可依據兩個裝置連接至快閃驅動器400的各別相容的連接器的順序、依據發生在快閃驅動器200與兩個計算裝置之每一者之間的通訊順序、依據兩個計算裝置中何者指示與較高優先權的特定計算裝置通訊等來決定與兩個連接的計算裝置中的哪一者通訊。
圖6是說明與各種實施例相符之具有致能電流從源裝置流至行動裝置的兩個控制器模組的快閃驅動器的示例之方塊圖。快閃驅動器600包括第一連接器205、第二連接器210、快閃記憶體240、介面控制器630、儲存控制器635、電源開關650和655、保險絲660、暫態電壓抑制器(transient voltage suppressor,TVS)665、USB開關670、主機檢測邏輯675以及電阻器680和685。快閃驅動器600可進一步包括額外的元件。介面控制器630
可以係圖2的iOS介面控制器230以及其他的實施。儲存控制器635可以係儲存控制器235以及其他的實施。USB開關670可以係多工器215以及其他的實施。主機檢測邏輯675,其可以係邏輯模組,可以係閂鎖220,以及其他的實施。在一些實施例中,快閃驅動器600包括安全IC 225,其可被耦接至介面控制器635。
儲存控制器635被用於第一組功能,其包括處理USB通訊協定和管理與快閃記憶體240的通訊。在其他實施例中,儲存控制器635處理用於與其他裝置通訊的其他通訊協定,像是周邊通訊協定。介面控制器630被利用第二組功能,其包括與像是Apple iOS裝置、運行Windows作業系統的版本的電腦、運行AndroidTM作業系統的行動裝置等的外部計算裝置之介面。在一些實施例中,介面控制器630係進一步被用於與像是安全IC 225之安全IC或模組通訊。
圖6的實施例中,第一連接器205、第二連接器210、快閃記憶體240、介面控制器630、儲存控制器635、電源開關650和655、保險絲660、TVS 665、USB開關670、主機檢測邏輯675以及電阻器680和685係連接至PCB(未顯示)之各自獨立的組件,以及PCB電連接至各種元件的pin以致能該些組件彼此通訊。在各種實施例中,快閃記憶體240、介面控制器630、儲存控制器635、電源開關650和655、保險絲660、TVS 665、USB開關670、主機檢測邏輯675以及電阻器680和685中任
一者可被整合以建立一或多個組件,其整合這些組件的功能,或可被細分以建立多個組件,其組合包括一或多個這些組件的功能。此外,這些組件可被連接至多個PCB,具有經由導線或藉由另一個致能組件彼此通訊的機制將多個PCB耦接在一起。
回到圖1的示例,快閃驅動器600可以係快閃驅動器110,Lightning連接器130可以係第一連接器205,以及USB連接器125可以係第二連接器210。使用圖1的示例,使用者105可以將第二連接器210插入至膝上型電腦115的USB埠。一旦連接,第二連接器210的電源pin電連接至膝上型電腦115的5.5V電源且電源pin傳送5.5V至主機檢測邏輯675。
在此點上,沒有裝置被連接至第一連接器205,第一連接器205的電源pin未被連接。主機檢測邏輯675經由第一連接器205或第二連接器210決定裝置中的被連接到快閃驅動器600的那個裝置是與快閃驅動器600通訊的主機裝置。在一些實施例中,主機裝置是USB主機,以及快閃驅動器600發送訊息或訊號至主機裝置以建立主機裝置作為USB主機。主機裝置和快閃驅動器600之間的後續通訊可以係基於將被建立為USB主機的快閃驅動器600。
主機檢測邏輯675的輸出控制USB開關670,其是資料開關,以藉由組態USB開關670致能主機裝置與介面控制器630通訊以允許資料在介面控制器630
和第二連接器210通過。主機檢測邏輯675的另一輸出,用以識別哪個裝置是主機以及是否有一或兩個裝置被連接到快閃驅動器600,被耦接到介面控制器630和儲存控制器635。
主機檢測邏輯675可以使用各種演算法/機制的任一種以在多個裝置被連接至快閃驅動器600時,決定哪個裝置是主機。在一些實施例中,主機檢測邏輯675依據哪個裝置是第一個被連接至供電的快閃驅動器600,決定哪個裝置是主機。在其他實施例中,當兩個裝置被連接至快閃驅動器600時,主機檢測邏輯675設定主機為連接至優先化的連接器之主機。例如,當第一和第二連接器205和210被連接至裝置,主機檢測邏輯675可決定連接至第二連接器210的裝置是主機,即使當快閃驅動器600經由第一連接器205最初被連接至裝置,以及裝置最初被設定為主機。
使用圖6的示例,主機檢測邏輯675基於該些連接器的優先權決定主機,當裝置被連接至第一和第二連接器205和210兩者時,在裝置連接到第一連接器205之處被決定是主機。主機檢測邏輯675檢測來自第二連接器210的5.5V電源pin是啟動的而來自第一連接器205的3.3V電源pin是未啟動的,以及決定連接至第二連接器210的裝置,也就是膝上型電腦115,是主機。主機檢測邏輯675進一步決定其只有一個裝置連接到快閃驅動器600。控制USB開關670的主機檢測邏輯675的該輸出是
設定成第二值以指示連接至第二連接器210的裝置是主機。主機檢測邏輯675的該輸出係電連接至USB開關670的選擇輸入。主機檢測邏輯675的第二輸出係電連接至介面控制器630和儲存控制器635,且被設定成指示連接至第二連接器210的裝置是主機以及快閃驅動器600係連接至一個裝置的值。
當USB開關670的選擇輸入是設定成第二值,USB開關670致能第二連接器210的資料pin被耦接到介面控制器630,使得資料可以在膝上型電腦115和介面控制器630之間來回發送。連接到介面控制器630和儲存控制器635之主機檢測邏輯675的第二輸出可藉由介面控制器630和儲存控制器635採樣以決定連接至第二連接器210的裝置是主機以及快閃驅動器600是連接到一個裝置。
快閃驅動器600的各種組件可由適當的電源pin供電。在快閃驅動器600被連接至任何裝置之前,電阻器680和685所連接到的三個節點的電壓都是相同的,所以兩個電阻器之間的節點的電壓是與電阻器685所連接的接地節點的電壓相同。當第二連接器210被連接到膝上型電腦115,第二連接器210的5.5V輸出供電以及電流流過電阻器680和685至接地導致兩個電阻器之間的節點的電壓相對於接地節點增加。兩個電阻器之間的節點是連接至電源開關650,以及將開關設定為適當的狀態。
當5.5V電源為可用時,兩個電阻器之間的節
點的電壓增加,禁能開關650以及防止3.3V電源從第一連接器205流至介面控制器630、儲存控制器635或快閃記憶體240。介面控制器630包括從5.5V電源產生3.3V的功率轉換器。當5.5V電源為可用時,介面控制器630供應3.3V電源至儲存控制器635和快閃記憶體240。當第二連接器210的5.5V電源為不可用時,兩個電阻器之間的節點的電壓是接地的,致能開關650以及使3.3V電源從第一連接器205流至介面控制器630、儲存控制器635以及快閃記憶體240。
一旦快閃驅動器600被供電時,該些組件透過重設序列,其啟始組件且係儲存在快閃記憶體240中的應用程式之執行,進行以有效地將快閃驅動器"開機"進入就緒狀態。與此“開機”程序相關,列舉程序被開始在快閃驅動器600和膝上型電腦115通訊之處,以識別裝置類型。在一些實施例中,在列舉程序期間,快閃驅動器600和膝上型電腦115通訊以決定快閃驅動器600的電源的可允許量以從膝上型電腦115的USB埠取出,以及快閃驅動器600限制它據此取出的電源。限制它取出的電源也可包括限制連接至快閃驅動器的第二裝置的電源取出之快閃驅動器600,且第二裝置可從快閃驅動器600取出電源。
在快閃驅動器600處於就緒狀態後的某些時候,膝上型電腦115發送USB通訊協定訊息至快閃驅動器600以啟始通訊。USB通訊協定訊息通過USB開關670至介面控制器630,其將USB通訊協定訊息關連至儲存控
制器635。儲存控制器635被配置成經由儲存控制器635之IC設計的客製化及/或經由儲存控制器635執行的軟體以使用USB通訊協定通訊。儲存控制器635接收和識別USB命令且據此動作以在膝上型電腦115和快閃驅動器600之間建立通訊通道。使用者105使用Windows介面啟始複製命令以從膝上型電腦115將像是影片的一些資料複製到快閃驅動器600。
膝上型電腦115利用一系列的USB命令經由第二連接器210和USB開關670將影片發送至iOS介面控制器630,其將資料轉送至儲存控制器635,其根據USB命令動作且將影片寫入至快閃記憶體240。儲存控制器635被配置成經由儲存控制器635之IC設計的客製化及/或經由儲存控制器635執行的軟體以管理與快閃記憶體240的通訊,類似於儲存控制器235。
在影片被複製到快閃驅動器600之後,使用者105將快閃驅動器插入至智慧型手機120,使得快閃驅動器600被連接至膝上型電腦115和智慧型手機120兩者。主機檢測邏輯675決定第一連接器205的3.3V電源和第二連接器210的5.5V電源兩者是啟動的。依據被連接至優先的連接器之智慧型手機120,其為第一連接器205,主機檢測邏輯675之輸出被設定成第一值以指示連接到第一連接器205的裝置,其為智慧型手機120,是一個新的主機裝置。如上述討論的,在一些實施例中,主機裝置是USB主機。快閃驅動器600可以發送訊息或訊號
至新的主機裝置以建立該新的主機裝置作為USB主機。新的主機裝置和快閃驅動器600之間的後續通訊可以係基於將被建立為新的USB主機的快閃驅動器600。
USB開關670,依據係設定成第一值的開關選擇,致能第一連接器205的資料pin被耦接到介面控制器630,使得資料可以在智慧型手機120和介面控制器630之間來回發送。主機檢測邏輯675的第二輸出其為電連接至介面控制器630和儲存控制器635,被設定成指示智慧型手機120是主機以及快閃驅動器600係連接至兩個裝置的值。
列舉開始在快閃驅動器600和智慧型手機120之間以決定裝置類型。在列舉後,在智慧型手機120和快閃驅動器600之間建立通訊通道。介面控制器630進一步依據主機檢測邏輯675的第二輸出的值決定快閃驅動器600是連接至兩個裝置。介面控制器630利用電連接至電源開關655的選擇訊號,控制電源開關655的狀態。藉由將電源開關655的選擇訊號設定成致能電源開關,介面控制器630致能電源從膝上型電腦115流過第二連接器210的5.5V電源訊號流過保險絲660流過電源開關655流過第一連接器205至智慧型手機120。智慧型手機可以各種不同的方式使用此電源,像是供電智慧型手機120或充電智慧型手機120的可再充電電池。保險絲660可以是可設定的保險絲。TVS 665和保險絲660被用於幫助防止對快閃驅動器600和連接至快閃驅動器600的該些裝置的組件
電源供應過度/過少電壓。如果過大的電流流過保險絲660,保險絲跳閘以及禁能該電源流動。保險絲660可以是可設定的保險絲。TVS 665藉由將電壓夾在一定範圍內,幫助於保護對抗過多/過少的電壓。
在一些實施例中,在列舉程序期間,快閃驅動器600和智慧型手機115通訊以決定用於智慧型手機120的電源的可允許量以從快閃驅動器600取出。快閃驅動器600可一具電源的量決定智慧型手機120的電源取出,其可以由膝上型電腦115的USB埠所提供,以及依據快閃驅動器600的組件的電源消耗。例如,若膝上型電腦115可以提供10瓦特(watt)的電源至快閃驅動器600,以及快閃驅動器600的組件可消耗1瓦特,接著快閃驅動器600應該限制由智慧型手機120所取出的電源至9瓦特或更少。如果智慧型手機120可以被設定成取出5瓦特或10瓦特,快閃驅動器600可與智慧型手機120通訊以將快閃驅動器600的電源取出設定成5瓦特(如設定取出為10瓦特會使電源過載,其可由膝上型電腦115所提供)。
在一些實施例中,如快閃驅動器600包括像是安全IC 225的安全IC之實施例,智慧型手機120可發送周邊通訊協定訊息至快閃驅動器600以啟動通訊和授權快閃驅動器600。周邊通訊協定經由USB開關670傳遞到介面控制器630。介面控制器630被配置成經由介面控制器630之IC設計的客製化及/或經由介面控制器630執行的軟體以使用周邊通訊協定通訊。介面控制器630接收以
及識別周邊通訊協定命令。當智慧型手機120是Apple iOS裝置時,快閃驅動器600可以由智慧型手機120所授權。智慧型手機120發送訊息以啟始驗證程序,回應於介面控制器630與安全IC通訊以獲取驗證資料。安全IC發送驗證資料至介面控制器630,其轉送驗證資料至智慧型手機120以驗證快閃驅動器以及致能快閃驅動器和智慧型手機120之間的資料傳輸。
使用者105啟始複製命令以從快閃驅動器600複製影片到智慧型手機120。智慧型手機120,利用可包括由儲存控制器635所處理的USB命令、由介面控制器630所處理的周邊通訊協定命令或USB和周邊通訊協定命令兩者的一系列的命令,開始複製程序。儲存控制器635從快閃記憶體240讀取影片以及將影片發送至介面控制器630,其經由USB開關670和第一連接器205將影片轉送至智慧型手機120。
圖7是說明與各種實施例相符之具有致能電流從源裝置流至行動裝置的整合控制器模組的快閃驅動器的示例之方塊圖。使用圖7的示例,快閃驅動器700是與快閃驅動器600相同的,除了介面控制器630和儲存控制器635的功能已經被整合至介面/儲存控制器730,其可以是IC。此外,快閃驅動器700可以是與快閃驅動器300相同的,以及可以是不同的實施。介面/儲存控制器730可以是與儲存控制器335相同的,以及可以是不同的實施。
圖8是說明與各種實施例相符之具有致能電流從源裝置流至行動裝置的電源管理模組的快閃驅動器的示例之方塊圖。使用圖8的示例,此外,快閃驅動器800可以是與快閃驅動器300相同的,快閃驅動器700也是,以及可以是不同的實施。介面/儲存控制器830可以是與介面/儲存控制器730相同的,儲存控制器335也是,以及可以是不同的實施。可以是邏輯模組的主機檢測邏輯875可以是與主機檢測邏輯675相同的,以及可以是不同的實施。快閃驅動器800包括各種組件/模組其不包括在圖7的說明中,包括介面/儲存控制器830、主機檢測邏輯875、USB開關890以及USB電源管理895。快閃驅動器800可進一步包括額外的元件。在一些實施例中,快閃驅動器800包括安全IC 225,其可被耦接至介面/儲存控制器830,以及可使用周邊通訊協定命令通訊。
圖8的實施例中,第一連接器205、第二連接器210、快閃記憶體240、介面儲存控制器830、電源開關650和655、保險絲660、TVS 665、USB開關670以及890、主機檢測邏輯875、USB電源管理895以及電阻器680和685係連接至PCB(未顯示)之各自獨立的組件,以及PCB電連接至各種元件的pin以致能該些組件彼此通訊。在各種實施例中,快閃記憶體240、介面/儲存控制器830、電源開關650和655、保險絲660、TVS 665、USB開關670和890、主機檢測邏輯875、USB電源管理895以及電阻器680和685中任一者可被整合以建立一或多個
組件,其整合這些組件的功能,或可被細分以建立多個組件,其組合包括一或多個這些組件的功能。此外,這些組件可被連接至多個PCB,具有經由導線或藉由另一個致能組件彼此通訊的機制將多個PCB耦接在一起。
快閃驅動器800作用類似於快閃驅動器700。快閃驅動器800包括USB電源管理895,其不會出現在圖7的說明中,以及其是電源管理模組/組件。再次回到圖1的示例,快閃驅動器800可以係快閃驅動器110,Lightning連接器130可以係第一連接器205,以及USB連接器125可以係第二連接器210。使用圖1的示例,使用者105可以將第二連接器210插入至膝上型電腦115的USB埠。一旦連接,第二連接器210的電源pin電連接至膝上型電腦115的5.5V電源且電源pin傳送5.5V至主機檢測邏輯875。
在此點上,沒有裝置被連接至第一連接器205,第一連接器205的電源pin未被連接。主機檢測邏輯875經由第一連接器205或第二連接器210決定裝置中的被連接到快閃驅動器800的那個裝置是與快閃驅動器800通訊的主機裝置。在一些實施例中,主機裝置是USB主機,以及快閃驅動器800發送訊息或訊號至主機裝置以建立主機裝置作為USB主機。主機裝置和快閃驅動器800之間的後續通訊可以係基於將被建立為USB主機的快閃驅動器800。
主機檢測邏輯875的輸出控制USB開關670
和USB開關890以致能主機裝置在列舉期間與USB電源管理895通訊,以及用以致能主機裝置在其他時間與介面/儲存控制器830。第二輸出,用以識別哪個裝置是主機以及是否有一或兩個裝置被連接到快閃驅動器800,被耦接到儲存/介面控制器830。主機檢測邏輯875可以使用上述與主機檢測邏輯675相關的各種演算法/機制的任一者去決定哪個裝置是主機。
使用圖8的示例,主機檢測邏輯875基於該些連接器的優先權決定主機,當裝置被連接至第一和第二連接器205和210兩者時,連接到第一連接器205的裝置被決定是主機。主機檢測邏輯875檢測來自第二連接器210的5.5V電源pin是啟動的,且第一連接器205的3.3V電源pin是未啟動的。依據此,主機檢測邏輯875決定連接至第二連接器210的裝置,其是膝上型電腦115,是主機,以及只有一個裝置連接至快閃驅動器800。
當快閃驅動器800供電時,該些組件透過重設序列,其啟始組件且係儲存在快閃記憶體240中的應用程式之執行,進行以有效地將快閃驅動器"開機"進入就緒狀態。與此“開機”程序相關,列舉程序被開始在快閃驅動器800和膝上型電腦115通訊之處,以識別裝置類型。在列舉程序期間,快閃驅動器800和膝上型電腦115通訊以決定快閃驅動器800的電源的可允許量以從膝上型電腦115的USB埠取出。由USB電源管理895處理電源相關的通訊。
在這些電源相關的通訊期間,主機檢測邏輯875的輸出,其控制USB開關670和890,被設定成致能主機以與USB電源管理895通訊的值。USB電源管理895與主機通訊以決定快閃驅動器800可從主機的USB連接取出的可允許的電源的量。據此,快閃驅動器800接著限制它的電源取出。限制它取出的電源可包括限制連接至快閃驅動器的第二裝置的電源取出之快閃驅動器800,且第二裝置可連接至快閃驅動器。例如,快閃驅動器800可決定膝上型電腦115可提供10瓦特,以及可決定智慧型手機120可取出5瓦特或10瓦特。此外,快閃驅動器800消耗1瓦特的電源。如果快閃驅動器800致能智慧型手機120以取出10瓦特,接著從膝上型電腦115之USB埠取出的電源將是11瓦特,其超過10瓦特限制。因此快閃驅動器800與智慧型手機120通訊以限制智慧型手機120的電源線號至5瓦特。
在USB電源管理895已經完成與主機裝置的通訊,接著,控制USB開關670和890主機檢測邏輯875的輸出被設定以致能主機與介面/儲存控制器830通訊。從這點來看,快閃驅動器800作用相似於快閃驅動器700直到新的裝置連接至快閃驅動器800。一旦新的裝置被連接以及列舉程序開始新的連接裝置,主機檢測邏輯875再次設定它的輸出以致能USB電源管理895以在列舉期間連接至新的裝置。一旦這些通訊被完成,主機檢測邏輯875再次將它的輸出設定以致能該主機,其可能已經從膝
上型電腦115改變至智慧型手機120,以與介面/儲存控制器830通訊。從這點來看,快閃驅動器800再次作用相似於快閃驅動器700直到另一新的裝置連接至快閃驅動器700,以及另一列舉程序開始。
圖9是說明與各種實施例相符之快閃驅動器的使用用以使電流從源裝置流至行動裝置之活動示意圖。源裝置905是具有第一連接器的計算裝置,像是第一連接器是USB埠之處膝上型電腦115,以及行動裝置910是具有第二連接器的計算裝置,像是第二連接器是Lightning埠之處的智慧型手機120。而此示意圖說明使用快閃驅動器800以將資料從源裝置905複製到行動裝置910,資料可類似使用快閃驅動器800從行動裝置910被複製到源裝置905。
源裝置905可以是計算裝置的任何類型,其包括像是USB埠的連接器,其可以提供電源。源裝置905也可以是電源整流器,其不是計算裝置而是一種主要目的為提供電源的裝置。然而,當源裝置905是電源整流器且不是計算裝置時,步驟914、916、922和924是不可能的,以及在一些實施例中,步驟913也是不可能的。行動裝置910以及本文所討論的任何其他行動裝置可以是行動裝置的任何類型,像是膝上型電腦、平板電腦、手機、智慧型手機、穿戴式裝置等。
像是使用者105的使用者將快閃驅動器800的連接器如公USB連接器插入至源裝置905的相容連接
器如母USB連接器。在被插入後,快閃驅動器800通電且進行它初始化至就緒狀態的一重設序列。在一些實施例中,在初始化程序期間,快閃驅動器800讀取和執行來自快閃記憶體240的軟體。例如,在進行重設序列後,介面/儲存控制器830從快閃記憶體240讀取資料。資料可以是軟體將被介面/儲存控制器830所執行的軟體。軟體可以被執行以將快閃驅動器800置入就緒狀態。
一旦快閃驅動器800處於就緒狀態,快閃驅動器800或源裝置905其中之一可啟始兩個裝置之間的通訊。回應於被插入至源裝置905的USB連接器且有效地“開機”至就緒狀態,快閃驅動器800可決定通訊協定以使用以發送訊息至源裝置905以啟始裝置之間的通訊(步驟918)。例如,依據被插入至USB連接器,快閃驅動器800可以決定去發送USB命令或訊息至源裝置905以啟始通訊(步驟920)。回應於接收USB命令或訊息,源裝置905可以發送回應以建立裝置之間的通訊(步驟912)。在一些實施例或情況中,源裝置905可以發送訊息以啟始通訊至快閃驅動器800,以及快閃驅動器800可以發送回應以建立通訊。
一些周邊介面標準,像是USB(每個,例如,USB電源輸送規格)允許連接器埠去提供一個範圍的電源級別,以及允許連接器埠去取出一個範圍的電源級別。例如,第一裝置的USB埠僅可允許100毫安(ma)由連接的裝置取出,而第二裝置的USB埠可允許500ma由連接的
裝置取出。在某些情況下,可協商取出的電源。例如,而第一裝置的USB埠只允許最初地100ma被取出,它可能與第一裝置協商以使第一裝置增加USB埠可提供的電流。類似地,第一裝置的USB埠可預設取出100ma,以及能夠增加它的電流取出。
例如,可以輸出電源的第一裝置的USB埠被連接至須要再充電其電池的第二裝置的micro-USB埠。這兩個裝置可交換電源資訊,像是在列舉期間。第一裝置的USB埠可初始被設定以提供100ma。在列舉期間,第二裝置可決定第一裝置的USB埠可被設定以提供更多電源,以及請求第一裝置提供更多電源,例如,提高將被提供的電流從100ma到500ma。類似地,第二裝置的USB埠可初始被設定以取出100ma。依據決定源USB埠可提供500ma,第二裝置可提高其micro-USB埠的電流消耗從100ma到500ma。
即使快閃驅動器800消耗的電源量小到它不會超過任何USB埠的任何電源限制,因為快閃驅動器800可以將電流從一個連接的裝置通過到第二連接裝置,快閃驅動器800須要知道源裝置905的連接埠可以提供多少電源。快閃驅動器800需要知道它可以確保快閃驅動器800以及第二裝置之結合的電源取出不會超過源裝置905的電源供應能力,而第二裝置可能係在未來的某個時間點連接至快閃驅動器800。因此快閃驅動器800可以發送訊息到源裝置905以決定可允許從USB連接器所取出的電源量
(步驟921)。源裝置905發送指示可允許的電源量的回應(步驟913)。例如,源裝置905可發送回應,其指示它僅可提供一個電源級別。在一些實施例中,源裝置905可發送回應,其指示USB連接器埠可以被設定以提供多個差分電源級別。在這些實施例中,快閃驅動器800可與源裝置905通訊以使源裝置905將USB連接器埠的電源級別設定至一想要的電源級別。
在一些時候,使用者105指示他想要從源裝置905複製像是影片的資料至快閃驅動器800。例如,使用者105可以利用像是在膝上型電腦115的Windows瀏覽器之來源裝置的使用者介面以指示將影片複製至快閃驅動器800(步驟914)。源裝置905可以使用USB通訊協定和USB通訊協定將命令發送影片至快閃驅動器800(步驟916)。快閃驅動器800在USB命令被解譯之處的介面/儲存控制器830接收命令。依據所接收的USB命令,介面/儲存控制器830決定將影片資料寫入至快閃記憶體240(步驟922),以及管理對快閃記憶體240的資料寫入(步驟924)。
在某些時候,像是使用者105的使用者將快閃驅動器800的連接器如公Lightning連接器插入至行動裝置910的相容連接器如母Lightning連接器。在被插入後,快閃驅動器800的主機檢測邏輯875決定快閃驅動器800被連接至兩個裝置,以及決定將主機從源裝置905改變成行動裝置910。快閃驅動器800發送訊息至行動裝置
910以初始化通訊(步驟928)。行動裝置910回應以建立與快閃驅動器800的通訊(步驟938)。
如上所述,快閃驅動器800須要確保從源裝置905的USB埠所取出的其電流未超過可允許的級別。快閃驅動器800發送訊息以決定對行動裝置910的電源消耗級別之範圍(步驟930)。行動裝置910發送回應,其指示電源消耗級別之範圍(步驟939)。在某些情況下,範圍可以是一個單一的值。在其他情況下,該範圍可以是多個離散的級別。因此快閃驅動器800較早前決定了從源裝置905的USB埠所取出的可允許的電源量。快閃驅動器800也知道它會消耗多少電源。依據此,以及依據指示的行動裝置910的電源消耗級別之範圍,快閃驅動器800決定用於行動裝置910的電源消耗級別(步驟932)。快閃驅動器800發送訊息至行動裝置910以設定行動裝置910將經由連接器從快閃驅動器800取出的電源消耗級別(步驟932)。行動裝置910發送訊息以使電源消耗級別智慧型手機120被設定成適當的級別(步驟940)。快閃驅動器800致能電源以從源裝置905流至行動裝置910,像是藉由控制電源開關655以致能電源在兩個裝置之間流動。行動裝置910取出的電源小於或等於所定義的電源消耗級別(步驟941)。
在一些時候,使用者105指示他想要從快閃驅動器800將影片複製或串流到行動裝置910。例如,使用者105利用運行在行動裝置910上的OS的使用者介
面,來指示以將影片從快閃驅動器800複製或串流到行動裝置910(步驟942)。回應於複製或串流影片的指示,行動裝置910發送對影片的請求至快閃驅動器800(步驟944)。例如,行動裝置910發送請求影片資料的USB命令至快閃驅動器800,命令被導至USB命令被解譯的的介面/儲存控制器830。基於所接收的USB命令,介面/儲存控制器830決定以從快閃記憶體240讀取影片資料(步驟934)。介面/儲存控制器830進一步管理從快閃記憶體240的影片資料之讀出。在從快閃記憶體240讀取影片資料之後,介面/儲存控制器830發送或串流資料至接收資料的行動裝置910(步驟936),其中該資料已被修改(步驟946)。
在使用智慧型手機和其他行動裝置的人的觀察之下,觀察者注意到當垂直地手持智慧型手機時,人們通常將它們的手機手持在他們的手指基側和手的內側之間。當以這種方式手持智慧型手機時,進一步注意到,許多智慧型手機使用者會將自己的小指移動到手機的底部,以使其穩定。當使用者以這種方式手持智慧型手機時,以及滑動他的手指至手機的底部以穩定手機,注意到的是,手機的背部和使用者的手掌之間產生了一空間。
圖10是說明與各種實施例相符之當使用者持智慧型手機1005時,形成於智慧型手機1005和使用者的手之間的空間之示意圖。智慧型手機1005是在手機底部邊緣具有Lightning連接器埠的Apple iPhone。觀察者,
在開發技術時,觀察使用他們的智慧型手機和其他行動裝置的人。觀察者注意到當垂直地手持行動裝置時,人們通常將它們的手機手持在他們的手指基側和手的內側之間。圖10和11分別說明將智慧型手機1005手持在他們的手指基側和手的內側之間的使用者的底視圖和前視圖。
觀察者進一步注意到當以這種方式手持智慧型手機時,許多人將他們的小指放在手機的底部以穩定手機。圖10和11分別說明將其小指放在智慧型手機1005的底部以穩定手機的使用者的底視圖和前視圖。當使用者如圖10和11所描繪般手持智慧型手機時,觀察者注意到在手機的背部和使用者的手掌之間產生了一空間。圖10說明這種空間形成在智慧型手機1005的背部和使用者的手之間。
圖12是說明與各種實施例相符且可以三種不同角度觀看之成形以利用行動裝置後方的空間的快閃驅動器之示意圖。圖12的實施例中,快閃驅動器1210具有J形狀,以及在J形狀的兩端皆具有連接器。行動連接器1215,其是在圖12的實施例中的Apple Lightning連接器,從J形狀的短端之前面部分1225延伸。連接器1220,其為在圖12的實施例中之全尺寸通用序列匯流排(Universal Serial Bus,USB)連接器從J形狀的長端後面部分1230延伸。
當行動連接器1215被連接至像是智慧型手機1005的行動裝置,快閃驅動器包圍行動裝置且位於行動
裝置的後方,如圖13至15所描繪。圖13至15為分別說明與各種實施例相符之連接至智慧型手機1005以及利用智慧型手機後方空間之快閃驅動器1210的前視圖、側視圖和後視圖之圖式。圖12之實施例的快閃驅動器是一特定的形狀,當連接至行動裝置時,其他的實施例可包括任何快閃驅動器形狀或組態以快閃驅動器以包圍行動裝置,使得當連接時,快閃驅動器的部分是位於行動裝置的後方。
位於行動裝置的後方之快閃驅動器的該部分可以是鄰近行動裝置的背面部分,如圖14和15所描繪。當使用者手持智慧型手機1005,以及如圖13至15所描繪般快閃驅動器1210被連接至智慧型手機時連接器1220以及快閃驅動器1210的後面部分之部分可以被容納入如圖16和17所描繪的智慧型手機1210的背部和使用者的手之間的空間。圖16和17是說明與各種實施例相符之利用智慧型手機1005和使用者的手之間的空間的快閃驅動器1210之前視圖和底視圖之圖式。
此外,當行動裝置被放置在保護殼中使得該殼體的表面覆蓋行動裝置的背面,位於行動裝置之後方的快閃驅動器的部分(以及殼體的表面後方)可鄰近於行動裝置的背面。這是因為被放置鄰近於第二物件之第一物件相鄰於第三個物件,其中第二物件被放置於鄰近第三物件,如本文所述。因此,鄰近殼體表面的快閃驅動器之部分其中該殼體是鄰近於行動裝置的背面是,由本文所定義,鄰
近於行動裝置的背面。
在一些實施例中,快閃驅動器之本體具有三個部分:前面部分、中間部分以及後面部分。前面部分以第一方向從中間部分延伸,以及具有從前面部分之端部延伸的行動裝置連接器。例如,快閃驅動器1210的中間部分可以是U形狀中間部分1235,以及前面部分可以係前面部分1225。在各種實施例中,中間部分可以是直線U形狀、J形狀或V形狀等等。直線U形狀是三個長方形片所形成的U形狀。行動裝置連接器可以是行動連接器1215。行動裝置連接器致能快閃驅動器以與行動裝置連接和通訊。行動裝置的示例包括智慧型手機、平版電腦、可攜式音樂裝置等等。
主體之背面部分以第二方向從中間部分延伸,以及具有從背面部分的端部延伸的裝置連接器。快閃驅動器1210的背面部分可以是背面部分1230,以及裝置連接器可以係連接器1220。在一些實施例中,快閃驅動器的主體的背面部分進一步以第一方向從中間部分延伸超過以第二方向從中間部分延伸的部分。在其他實施例中,快閃驅動器的主體的背面部分進一步以第一方向從中間部分延伸超過以第一方向從中間部分延伸的前面部分。在其他實施例中,藉由超過兩個的因素,快閃驅動器的主體的背面部分進一步以第一方向從中間部分延伸超過以第一方向從中間部分延伸的部分。
第一方向和第二方向可以基本上平行的,或
兩個方向可以有多達45度之間的角度。這兩個方向之間的最佳角度為0度和大約20度之間。當兩個方向之間的角度超過約20度,具有較長的背面部分之快閃驅動器開始難以被容納入該空間中,如在圖10中所描繪的空間,在智慧型手機和手持該智慧型手機的使用者的手之間。由於兩個方向之間的角度增加時,背面部分需要減小長度,以適合該空間。在上述約45度的角度,快閃驅動器不再能夠合理利用該空間。
在一些實施例中,本體的中間部分是組態或成形以使當行動連接器以第一方向連接至行動裝置時,行動裝置的背面部分的部分,以及裝置連接器是位於行動裝置後方。圖14包含快閃驅動器的示例,快閃驅動器1210,快閃驅動器的背面部分的部分(部分1440)以及裝置連接器(連接器1220)位於行動裝置後方以及鄰近行動裝置。圖15包含快閃驅動器的示例,快閃驅動器1210,快閃驅動器的背面部分的部分以及裝置連接器位於行動裝置後方以及鄰近行動裝置。在一些實施例中,快閃驅動器的行動連接器可以第二定向被插入行動裝置的行動連接器埠。例如,Lightning連接器可以第一定向以及Lightning連接器旋轉180度的第二定向被插入Lightning連接器埠。在這種情況下,當快閃驅動器以第二定向被連接至行動裝置,行動裝置的背面部分以及裝置連接器可以位於行動裝置的前面以及鄰近行動裝置的前表面。
在一些實施例中,像是圖18的實施例,該快
閃驅動器只具有一個連接器,行動連接器。圖18是說明與各種實施例相符且可以兩種不同角度觀看之成形以利用行動裝置後方的空間的具有一個連接器的快閃驅動器之示意圖。圖18的快閃驅動器,快閃驅動器1810只具有一個連接器(連接器1815)。在快閃驅動器只具有一個連接器的實施例中,快閃驅動器的背面部分,像是背面部分1830不具有連接器。在這些實施例的一些中,本體的中間部分(像是U形中間部分1835)是組態或成形以使當行動連接器以第一定向連接至行動裝置時,快閃驅動器的背面部分的部分是位於行動裝置後方。可以是位於行動裝置後方的背面部分的該部分可以是該背面部分的主要。
行動連接器1215是組態以連接至行動裝置以及與行動裝置通訊的連接器。行動裝置連接器的示例包括Apple Lightning連接器、Apple 30-pin連接器、Apple Thunderbolt連接器、mini USB連接器、mini USB A型連接器、mini USB B型連接器、micro USB連接器、micro USB A型連接器、micro USB B型連接器、以及UC-E6連接器。連接器1220是組態以連接至裝置以及與裝置通訊的連接器。裝置連接器的示例包括全尺寸USB連接器、標準USB連接器、標準A型USB連接器、B型USB連接器、mini USB連接器、mini USB A型連接器、mini USB B型連接器、micro USB連接器、micro USB A型連接器、micro USB B型連接器、UC-E6連接器、Apple Lightning連接器、Apple 30-pin連接器、以及Apple
Thunderbolt連接器。
圖19是說明與各種實施例相符之可彎曲以容納各種厚度的行動裝置的快閃驅動器之示意圖。不同的行動裝置可具有不同的厚度。例如,Apple iPod Touch可以是6.1毫米(mm)厚,而Apple 5C iPhone可以是8.9mm厚。在一些實施例中,為了容納各種厚度的行動裝置,快閃驅動器的中間部分可被組態以造成快閃驅動器的前面部分和背面部分之間的一特定分隔距離。這種組態在快閃驅動器的前面部分和背面部分之間產生間隙,而足以在連接至最厚的目標行動裝置時,致能快閃驅動器去圍繞該最厚的目標行動裝置。
在快閃驅動器的前面部分(像是前面部分1225)和背面部分(像是背面部分1230)之間的距離可以在數個位置定義。在一些實施例中,假想線或平面可以用來限定第一距離。例如,圖12中側視顯示了虛線(線1265)其是由沿著前面部分1225與U形中間部分1235連接的平面的第一點,以及沿著背面部分1230與U形中間部分1235連接的平面的第二點所定義。線1265也可以是藉由選擇位於這兩個平面之一上的第三點所定義之平面的部分。
第一距離(像是第一距離1250)可以由兩個點之間的距離所定義。第一點是快閃驅動器的前面部分(像是前面部分1225)的內面上的點,其也是在上述所討論的線(像是線1265)或平面上。第二點是快閃驅動器的背面部
分(像是背面部分1230)的內面上的點,其也是該線或平面上。第一距離可以在第一點和第二點之間的距離。例如,對於快閃驅動器1210而言,第一距離就是第一距離1250。
在一些實施例中,前面部分過渡到中間部分,沿著上述討論的兩個平面之一者,其可以實質地垂直於第一方向上的線。背面部分過渡到中間部分,沿著上述討論的兩個平面之另一者,其可以實質地垂直於第二方向上的線。在一些實施例中,上述討論的兩個平面是共面,以及這兩個平面可以是實質上垂直於第一方向上的該線及/或第二方向上的線。
為了致能快閃驅動器容納下行動裝置的各種厚度,它是基於各種厚度的各種行動裝置的分析,其實際第一距離是在約3mm和約7mm之間的範圍,而較佳的第一距離是5.5mm。在一些實施例中,快閃驅動器的中間部分(像是U形中間部分1235)可以成形或組態以造成一特定的第一距離(像是在實際第一距離的範圍內的第一距離)。例如,U形中間部分1235可以成形或組態以使得第一距離1250在3mm和7mm之間。
當快閃驅動器是連接到圖14所描繪的行動裝置中時,快閃驅動器的背面部分的內面是靠近行動裝置之快閃驅動器的背面部分的表面。快閃驅動器的前面部分的內面是靠近快閃驅動器的背面的內面之快閃驅動器的前面部分的表面。
第二距離(像是第二距離1255)可以由兩個點之間的距離所定義。第三點可以係行動連接器的中間線上的點,像是行動連接器1215的中間線1260上的點。該點也可以或可替代地由平分行動連接器平面上的點平分行動連接器,且其包含中心線。例如,該平面可以是包含中心線1260的平面,且其是垂直於圖12的紙平面。第四點可以是靠近第三點之快閃驅動器的背面部分的內面上的點。第二距離可以在第三點和第四點之間的距離。例如,對於快閃驅動器1210而言,第二距離就是第二距離1255。
為了致能快閃驅動器容納下行動裝置的各種厚度,它是基於各種厚度的各種行動裝置的分析,其實際第二距離是在約3mm和約7mm之間的範圍,而較佳的第二距離是5.5mm。在一些實施例中,快閃驅動器的中間部分(像是U形中間部分1235)可以成形或組態以造成一特定的第二距離(像是在實際第二距離的範圍內的第二距離)。例如,U形中間部分1235可以成形或組態以使得第二距離1255在3mm和7mm之間。
在一些實施例中,快閃驅動器的部分是由撓性材料製成以致能快閃驅動器的前面及背面部分被彎曲分開。例如,U形中間部分1235的部分可以由撓性材料製成以致能U形中間部分1235被彎曲以增加或減少第一距離及/或第二距離,如圖19所描繪。如本文所使用,一些物體的部分或材料可以是該物體的整體或材料。這致能快閃驅動器以被彎曲以容納各種厚度的行動裝置。當快閃驅
動器被連接到行動裝置時,快閃驅動器的一些實施例的背面部分可以緊貼在行動裝置的背面。快閃驅動器也可以合適於較厚的行動裝置。藉由彎曲快閃驅動器以增加第一距離及/或第二距離,快閃驅動器可圍繞較厚的行動裝置以利用行動裝置後方的空間。
分析和實驗已經決定材料具有70和95之間的Shore A硬度之硬度計,像是彈性聚合物,具有足夠的撓性以在快閃驅動器中使用,以及85較佳的Shore A硬度之硬度計。當中間部分(像是U形中間部分1235)是以具有70和95之間的Shore A硬度計的材料所製成,中間部分可足夠撓曲和彎曲以致能快閃驅動器容納行動裝置之厚度的足夠範圍。具有Shore A硬度85的材料被決定為在具有快閃驅動器容易彎曲足夠以適合各種厚度的行動裝置之間是好的折衷,以及仍然具有足夠的剛性以提供給使用者回饋(使用者可以感覺到剛度),其快閃驅動器不應該過度彎曲。各種材料的分析已經決定了一些材料,如彈性聚合物,即足以在快閃驅動器的撓性部分中使用。這些材料包括熱塑性聚氨酯(TPU)、聚丙烯、熱塑性彈性體(TPE)、和矽樹脂,以TPU是較佳的材料。
圖20是說明與各種實施例相符之成形以利用行動裝置後方的空間的且包括帽蓋的快閃驅動器之分解圖。在各種實施例中,快閃驅動器2000可以是快閃驅動器110或快閃驅動器1210或可以是不同的。快閃驅動器2000包括PCB 2005、內模(Inner mold)2010、遮板
(shroud)2015、包覆模(Overmold)2020、凸出(extrusions)2025和2030、蓋(cap)2035以及光導管(lightpipe)2040。PCB 2005包括PCB、快閃記憶體IC、控制器、USB控制器、Lightning控制器以及可以將Lightning連接器耦接到PCB的導線,等其他組件。PCB和導線耦接PCB 2000的各種組件。在各種實施例中,PCB 2005可包括圖2、圖3、圖4、圖6、圖7或圖8所描繪的組件。
內模2010是快閃驅動器2000的中間部分的部分。內模2010是形成於PCB 2005的部分上。在內模2010形成於其上的PCB 2005的部分包括Lightning連接器的部分、在Lightning連接器和PCB之間的導線以及PCB的部分。在一個實施例中,內模2010被形成於PCB的端部為2mm。內模2010可以由70和95之間的Shore A硬度計材料製成。內模2010可以由TPU、聚丙烯、TPE或矽氧烷等等製成。為了形成內模2010,可以建立一個所需形狀的模具。將由內模2010所覆蓋的PCB 2005的部分是放置在模具內部,以及也被稱為插入模程序的超膜程序被使用。包覆模材料被注入模板,以及允許固化和硬化以形成內模2010。內模2010較佳利用85的Shore A硬度計的TPU所形成。
為了幫助內模2010維持連接至PCB 2005的PCB,在一些實施例中,兩個孔在內模2010將形成於其上的PCB的端點被切開。當TPU被注入模具,TPU流進入該兩個孔中。固化後,形成於這兩個孔中的硬化的TPU
致能內模2010維持牢固地附著至PCB。
光導管2040是由導光的材料製成。光導管2040被插入遮板2015中,以及遮板2015是滑過PCB 2005。遮板2015可以由丙烯腈-丁二烯-苯乙烯(acrylonitrile butadiene styrene,ABS)等其他材料製。將遮板2015放置於PCB 2005上具有多種用途。例如,在之後的製造步驟中包覆模被形成於PCB 2005上,以及遮板2015保護PCB和來自該包覆模的其組件。此外,而內模2010被附接到PCB 2005,當快閃驅動器2000被彎曲以適應圍繞厚的行動裝置,給定的壓力被建立,該連接可具有須要維持附接的機械強度。內模2010具有較窄的端部。遮板2015在PCB 2005上滑動,且在內模2010的較窄端部上滑動。
利用這樣的組態,當快閃驅動器2000被彎曲時,包裹內模2010的較窄端部的遮板的部分也助於當彎曲發生導致的應力時機械支持內模2010。除了內模2010有可能因為彎曲所產生的應力而使PCB 2005之端點破裂外,這些應力的一些被傳送至遮板2015,其傳送應力進一步PCB 2005。一旦遮板2015被正確地定位在PCB 2005上/周圍,光導管2040被定位在PCB上的LED上。正是如此的定位,光導管2040可以將光從LED通過至快閃驅動器2000的外側,其中光可以被使用者看到。
包覆模2020被形成於PCB 2005、內模2010以及遮板2015(其被定位在PCB 2005的部分上/周圍)上。
包覆模2020可以由ABS、TPU、聚丙烯、TPE或矽氧烷等等製成。為了形成包覆模2020,可以建立一個所需形狀的模具。將由包覆模2020所覆蓋的PCB 2005的部分、內模2010以及遮板2015被放置在模具的內部,以及包覆模程序被用於建立包覆模2020。包覆模材料被注入模板,以及允許固化和硬化以形成包覆模2020。包覆模2020較佳是由ABS所形成。
在一些實施例中,凸出2025和2030為金屬凸出,像是鋁凸出。當包覆模2020被形成時,它不會整個包裹內模2010或遮板2015。包覆模2020的一端部是形成從內模2010的一端拉回一距離。包覆模2020的另一端部形成從遮板2015的一端拉回一距離。凸出2030滑過最靠近Lightning連接器的內模2010的端部上,其中凸出2030鄰接對著包覆模2020的一端部。凸出2025滑過最靠近USB連接器的遮板2015的端部上,其中凸出2025鄰接對著包覆模2020的第二端部。使用膠將兩個凸出連接到快閃驅動器2000。
蓋2035是J形蓋,其可被放置於兩個連接器上以保護連接器。蓋2035可以由ABS、TPU、聚丙烯、TPE或矽氧烷等其他材料製成。蓋2035在各端部具有一個孔,其被成形以容納被插入持有物的連接器。蓋2035在蓋2035的彎曲部分的中間具有孔。該孔可以被用以,例如,將蓋2035附接鑰匙環。當快閃驅動器2000被插入蓋2035時,蓋2035緊貼地持住快閃驅動器2000。
蓋21是說明與各種實施例相符之其中在此描述的至少一些操作可以被實施的處理系統之方塊圖。處理裝置2100可以表現上述的任何計算裝置,例如,膝上型電腦115、智慧型手機120、非iOS計算裝置505、iOS計算裝置510、源裝置905、行動裝置910或智慧型手機1005。這些系統的任一者可包括兩個或多個處理裝置,如圖21所示,其可經由網路或多個網路而彼此耦接。
在所述的實施例中,處理裝置2100包括一或多個處理器2110、記憶體2111、通訊裝置2112以及一或多個輸入/輸出(I/O)裝置2113,全部透過互連2114彼此耦接。互連2114可以係或包括一或多個導電跡線、匯流排、點對點連接、控制器、轉接器及/或其他習知連接裝置。處理器2110可以係或包括,例如,一或多個通用可程式化微處理器、微控制器、應用特定積體電路(ASICs)、可程式閘陣列或類似物或上述裝置的任何組合。處理器2110控制處理裝置2100的整體操作。記憶體2111可以係或包括一或多個實體儲存裝置,其可是隨機存取記憶體(RAM)、唯讀記憶體(ROM)(其可以是可擦除和可程式化的)、快閃記憶體、微型硬碟或其他適合類型的儲存裝置,或這些裝置的任意組合。記憶體2111可儲存資料和組態處理器2110以執行根據上述技術的操作之指令。通訊裝置2112可以係或包括,例如,乙太網路轉接器、纜線數據機、Wi-Fi轉接器、蜂巢式收發機、藍芽(Bluetooth)接收機或類似物或他們的任何組合。依據處理
裝置2100的本質和目的,I/O裝置2113可包括各種裝置,例如顯示器(其可以是觸控螢幕顯示)、音頻揚聲器、鍵盤、滑鼠或其他指向性裝置、麥克風、攝影機等。
除非與實體可能性相反,可以設想(i)以上描述的方法/步驟可以以任何順序和/或以任何組合來執行,並且(ii)各實施例的組件可以以任何方式進行組合。
以上介紹的技術可以藉由以軟體及/或韌體所編程/組態的可程式化電路或整個由特殊目的電路或由此種形式的任何組合所實施。這種特殊目的電路(如果有的話)可以是以下列的形式,例如,一或多個特殊應用積體電路(ASIC)、可程式化邏輯裝置(PLD)、現場可程式閘陣列(FPGA)等。
用以實施本文所介紹的技術之軟體或韌體可以被儲存在機器可讀取儲存媒介以及可由一或多個通用目的或特殊目的可程式化微處理器所執行。如本文所介紹的術語“機器可讀取媒介”包括可以機器可存取形式儲存的任何機制(機器可以是,例如,電腦、網路裝置、蜂巢式電話、個人數位助理(PDA)、製造工具、具有一或多個處理器的裝置等等)。例如,機器可存取媒介包括可記錄/不可記錄媒體(例如唯獨記憶體(ROM);隨機存取記憶體(RAM);磁碟儲存媒體;光學儲存媒體;快閃記憶體裝置;等等)等等。
需要注意的是任何和所有上述實施例可以彼此結合,除非在某種程度上,它可以指出上述外之其他情
形,或任何這樣的實施例可能是相互排斥的功能和/或結構。
儘管本發明已經參照具體的示例性實施例,但將認識到,本發明並不限於所描述的實施例,而是可以在所附申請專利範圍的精神和範圍內的修改和變換來實踐。因此,說明書和附圖是應被認為是說明性的意義而不是限制性意義。
100‧‧‧環境
105‧‧‧使用者
110‧‧‧快閃驅動器
115‧‧‧膝上型電腦
120‧‧‧智慧型手機
125‧‧‧USB連接器
130‧‧‧Lightning連接器
Claims (24)
- 一種組態以從非iPhone作業系統(非iOS)計算裝置複製影片以及將該影片串流至iPhone作業系統(iOS)計算裝置的快閃驅動器,該快閃驅動器包含:快閃記憶體積體電路(IC);印刷電路板(PCB);第一連接器,其用以連接至該非iOS計算裝置以及與該非iOS計算裝置通訊,該非iOS計算裝置係用以運行非iOS的任一版本之第一作業系統的第一計算裝置;第二連接器,其用以連接至該iOS計算裝置以及與該iOS計算裝置通訊,該iOS計算裝置係用以運行該iOS的第二計算裝置;以及控制模組IC,該控制模組IC係a)與該快閃記憶體IC、該PCB、該第一連接器以及該第二連接器耦接,b)組態以致能該控制模組IC以直接與該快閃記憶體IC通訊,以寫入資料至該快閃記憶體IC、從該快閃記憶體IC讀取資料以及從該快閃記憶體IC擦除資料,以及c)組態以整合通用序列匯流排(USB)通訊協定以及周邊通訊協定兩者的功能以致能該控制模組IC以i)使用USB通訊協定命令的第一組經由該第一連接器從該非iOS計算裝置複製該影片,該 些USB通訊協定命令的該第一組用以藉由該控制模組IC經由該第一連接器被發送至該非iOS計算裝置,以及ii)使用周邊通訊協定命令和該些USB通訊協定命令的第二組兩者經由該第二連接器將該影片串流至該iOS計算裝置,該些周邊通訊協定命令和該些USB通訊協定命令的該第二組兩者皆用以藉由該控制模組IC經由該第二連接器被發送至該iOS計算裝置。
- 如申請專利範圍第1項的快閃驅動器,其中該控制模組IC進一步組態以:從該快閃記憶體IC讀取檔案系統軟體;以及發送該檔案系統軟體至該iOS計算裝置,以致能該iOS計算裝置以使用該檔案系統軟體以將資料發送至該快閃驅動器和從該快閃驅動器接收資料。
- 如申請專利範圍第1項的快閃驅動器,其中該控制模組IC進一步組態以:在該快閃驅動器邏輯地建立第一USB端點,以及在該iOS計算裝置邏輯地建立第二USB端點,以用於連接的周邊(CP)通道;使用該第一USB端點和該第二USB端點以實施該CP通道;以及經由該CP通道串流該影片。
- 如申請專利範圍第3項的快閃驅動器,其中該控 制模組IC進一步組態以:使用經由該CP通道發送的小型電腦系統介面(SCSI)命令來串流該影片。
- 一種組態以整合通用序列匯流排(USB)通訊協定以及周邊通訊協定兩者的功能在控制模組積體電路(IC)上的快閃驅動器,該快閃驅動器包含:快閃記憶體IC;印刷電路板(PCB);第一連接器,用以連接到運行iPhone作業系統(iOS)的第一計算裝置且與其通訊;第二連接器,用以連接到運行不是該iOS的任何版本的第二作業系統的第二計算裝置且與其通訊;以及控制模組IC a)與該快閃記憶體IC、該PCB、該第一連接器以及該第二連接器耦接,b)組態以致能該控制模組IC以直接與該快閃記憶體IC通訊,以寫入資料至該快閃記憶體IC、從該快閃記憶體IC讀取資料以及從該快閃記憶體IC擦除資料,以及c)組態以整合該USB通訊協定以及該周邊通訊協定兩者的功能以致能該控制模組IC以i)使用周邊通訊協定命令和USB通訊協定命令的第一組兩者經由該第一連接器與該第一計算裝置通訊,該些周邊通訊協定命令和該些通訊協定命令的該第一組兩者皆用以藉由該 控制模組IC經由該第一連接器被發送至該第一計算裝置。ii)使用該些USB通訊協定命令的第二組經由該第二連接器與該第二計算裝置通訊,該些USB通訊協定命令的該第二組用以藉由該控制模組IC經由該第二連接器被發送至該第二計算裝置。
- 如申請專利範圍第5項的快閃驅動器,其中該控制模組IC進一步組態以建立兩個USB端點,該兩個USB端點中的一者係邏輯地在該快閃驅動器以及該兩個USB端點中的第二者係邏輯地在該第一計算裝置,以及進一步組態以初始化在該兩個USB端點之間的連接周邊(CP)通道。
- 如申請專利範圍第5項的快閃驅動器,其中該控制模組IC進一步組態以經由標準USB錯誤檢測機制來防止錯誤的檢測,以及組態以經由儲存在該快閃驅動器的該檔案系統軟體致能該錯誤的該檢測。
- 如申請專利範圍第7項的快閃驅動器,其中該標準USB錯誤檢測機制係循環冗餘檢查(CRC)、無效的產品ID(PID)序列的檢測、遺失封包的檢測、或不具有資料封包的相對應檢測之訊標封包的檢測中的任一者,該資料封包與匯流排交易逾時期間內的訊標封包對應。
- 如申請專利範圍第5項的快閃驅動器,其中該第一連接器為Apple Lightning連接器、Apple 30-pin連接器 或Apple Thunderbolt連接器的其中一者,且其中該第二連接器是全尺寸USB連接器、標準USB連接器、標準A型USB連接器、B型USB連接器、迷你(mini)USB連接器、mini USB A型連接器、mini USB B型連接器、微型(micro)USB連接器、micro USB A型連接器、micro USB B型連接器、或UC-E6連接器的其中一者。
- 如申請專利範圍第5項的快閃驅動器,其中該控制模組IC進一步組態以將邏輯地在運行該iOS的計算裝置的第一USB主機與邏輯地在不運行該iOS任一版本的計算裝置的第二USB主機之間進行差分。
- 如申請專利範圍第5項的快閃驅動器,其中當該第一連接器和該第二連接器兩者分別耦接到該第一計算裝置和該第二計算裝置時,該控制模組IC進一步組態以決定是否與a)該第一計算裝置或b)該第二計算裝置通訊。
- 如申請專利範圍第5項的快閃驅動器,其中該控制模組IC進一步組態以防止該第一計算裝置的第一電源供應以及該第二計算裝置的第二電源供應,電性互動而損壞耦接到該第一電源供應或該第二電源供應的任何組件。
- 如申請專利範圍第5項的快閃驅動器,其中該控制模組IC進一步配置:a)以檢測 i)當該第一計算裝置係耦接到該第一連接器時,以及ii)當該第二計算裝置係耦接到該第二連接器時,以及b)以基於以下兩者間的順序,決定從該快閃記憶體IC將資料發送到該第一計算裝置或該第二計算裝置i)被耦接到該第一連接器的該第一計算裝置的該檢測,以及ii)被耦接到該第二連接器的該第二計算裝置的該檢測。
- 如申請專利範圍第5項的快閃驅動器,進一步包含:安全IC,耦接至該控制模組IC,該控制模組IC進一步組態以與該安全IC通訊且從該安全IC獲得驗證資料,以及用以將該驗證資料發送至該第一計算裝置,以致能該第一計算裝置去驗證該快閃驅動器以及,基於該驗證,用以致能該第一計算裝置和該快閃驅動器之間的資料傳輸。
- 如申請專利範圍第5項的快閃驅動器,其中該控制模組IC進一步組態以將資料寫入到以至少2K位元組的資料為單位的快閃記憶體IC,且組態以從以至少128K位元組的資料為單位的快閃記憶體IC擦除資料。
- 如申請專利範圍第5項的快閃驅動器,其中該控制模組IC進一步組態以藉由該控制模組IC或該控制模組IC的客制化所執行的任何韌體將該USB通訊協定和該周 邊通訊協定兩者的功能整合。
- 如申請專利範圍第5項的快閃驅動器,其中該快閃驅動器包括用於傳遞到該第一計算裝置和由該第一計算裝置所執行的檔案系統軟體。
- 一種用於使用將該通用序列匯流排(USB)通訊協定和該周邊通訊協定兩者的功能整合的快閃驅動器的控制模組積體電路(IC)在iPhone作業系統(iOS)計算裝置以及非iOS計算裝置之間傳輸資料的方法,該方法包含:藉由該快閃驅動器的該控制模組IC從該非iOS計算裝置接收USB通訊協定命令以啟始從該非iOS計算裝置至該快閃驅動器的第一資料之複製,該非iOS計算裝置係不運行iOS的任何版本的第一計算裝置,藉由該控制模組IC將該第一資料寫入至該快閃驅動器的快閃記憶體IC的記憶體的區塊;藉由該控制模組IC以及從iOS計算裝置接收訊息以啟始驗證程序以驗證該快閃驅動器,該iOS計算裝置係運行該iOS的任何版本的第二計算裝置;藉由該控制模組IC決定周邊通訊協定命令以作為該驗證程序的部分而發送至該iOS計算裝置;回應於作為該驗證程序的部分而被發送至安全IC的訊息,藉由該控制模組IC從該安全IC接收驗證資料;藉由該控制模組IC將該周邊通訊協定命令和該驗證資料發送至該iOS計算裝置以致能該iOS計算裝置去完成該驗證程序,以及依據該驗證程序的成功完成以致能該 iOS計算裝置和該快閃驅動器之間的資料傳輸;藉由該控制模組IC從該快閃記憶體IC讀取該第一資料;依據該驗證程序的成功完成,藉由該控制模組IC發送該第一資料至該iOS計算裝置;以及藉由該控制模組IC擦除該記憶體區塊。
- 如申請專利範圍第18項所述之方法,進一步包含:在該快閃驅動器邏輯地建立第一USB端點以及在該iOS計算裝置邏輯地建立第二USB端點以用於連接的周邊(CP)通道;以及使用該第一USB端點和該第二USB端點,實施該CP通道。
- 如申請專利範圍第19項所述之方法,進一步包含:經由該CP通道從該iOS計算裝置接收小型電腦系統介面(SCSI)命令。
- 如申請專利範圍第18項所述之方法,進一步包含:從該快閃驅動器的該快閃記憶體IC讀取檔案系統軟體;以及發送該檔案系統軟體至該iOS計算裝置,以致能該iOS計算裝置以使用該檔案系統軟體將資料發送至該快閃驅動器和從該快閃驅動器接收資料。
- 如申請專利範圍第18項所述之方法,進一步包含:當該快閃驅動器被連接至該非iOS計算裝置和該iOS計算裝置兩者時,檢測;以及依據該非iOS計算裝置和該iOS計算裝置被連接至該快閃驅動器的順序,決定該兩個計算裝置中的何者去發送訊息。
- 如申請專利範圍第18項所述之方法,進一步包含:當該快閃驅動器被連接至該非iOS計算裝置和該iOS計算裝置兩者時,檢測;以及依據邏輯地在該iOS計算裝置的第一USB主機和邏輯地在該非iOS計算裝置的第二USB主機之間的差,決定該兩個計算裝置中的何者去發送訊息。
- 一種組態以整合通用序列匯流排(USB)通訊協定以及周邊通訊協定兩者的功能在控制模組上的快閃驅動器,該快閃驅動器包含:快閃記憶體;印刷電路板(PCB);第一連接器,用以連接到運行iPhone作業系統(iOS)的第一計算裝置且與其通訊;第二連接器,用以連接到運行不是iOS的任何版本的第二作業系統的第二計算裝置且與其通訊;控制模組a)與該快閃記憶體、該PCB、該第一連接器 以及該第二連接器耦接,b)組態以致能該控制模組以直接與該快閃記憶體通訊,以寫入資料至該快閃記憶體、從該快閃記憶體讀取資料以及從該快閃記憶體擦除資料,以及c)組態以整合該USB通訊協定以及該周邊通訊協定兩者的功能以致能控制模組以i)使用USB通訊協定命令和周邊通訊協定命令兩者經由該第一連接器與該第一計算裝置通訊,該些USB通訊協定命令和該些周邊通訊協定命令兩者將藉由該控制模組經由該第一連接器被發送至該第一計算裝置。ii)使用該些USB通訊協定命令經由該第二連接器與該第二計算裝置通訊,該些USB通訊協定命令藉由該控制模組經由該第二連接器被發送至該第二計算裝置,以及安全IC,耦接至該控制模組,該控制模組進一步組態以與該安全IC通訊以及從該安全IC獲得驗證資料,以及用以將該驗證資料發送給該第一計算裝置,以致能該第一計算裝置去驗證該快閃驅動器以及,基於該驗證,以致能該第一計算裝置和該快閃驅動器之間的資料傳輸。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462039353P | 2014-08-19 | 2014-08-19 | |
US14/602,211 US20150135267A1 (en) | 2014-08-19 | 2015-01-21 | Flash drive with multiple functions integrated via a controller |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201621682A true TW201621682A (zh) | 2016-06-16 |
Family
ID=53045013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104126532A TW201621682A (zh) | 2014-08-19 | 2015-08-14 | 經由控制器而具有多功能整合的快閃驅動器 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20150135267A1 (zh) |
EP (1) | EP2993590A3 (zh) |
CN (1) | CN105373503A (zh) |
HK (1) | HK1217545A1 (zh) |
MX (1) | MX2015010639A (zh) |
RU (1) | RU2015134411A (zh) |
SG (1) | SG10201506363PA (zh) |
TW (1) | TW201621682A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147333A (zh) * | 2019-04-19 | 2019-08-20 | 宜鼎国际股份有限公司 | 写入保护电路 |
TWI676993B (zh) * | 2019-04-19 | 2019-11-11 | 宜鼎國際股份有限公司 | 寫入保護電路 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11081846B2 (en) * | 2016-09-15 | 2021-08-03 | Hewlett-Packard Development Company, L.P. | Connectors |
CN107820659A (zh) * | 2016-11-21 | 2018-03-20 | 深圳市柔宇科技有限公司 | 电子装置、充电器、充电系统及充电方法 |
US11005842B2 (en) * | 2016-12-27 | 2021-05-11 | Seagate Technology Llc | External storage device that expands a data storage capability of a host device |
JP6360933B1 (ja) * | 2017-03-08 | 2018-07-18 | 深▲しん▼泰克威雲儲科技股▲ふん▼有限公司 | データ処理方法 |
CN108304214B (zh) * | 2017-12-13 | 2022-05-13 | 超聚变数字技术有限公司 | 一种立即数的完整性的校验方法及装置 |
KR102652805B1 (ko) * | 2018-03-12 | 2024-04-01 | 에스케이하이닉스 주식회사 | 파워 게이팅 회로 및 그 제어 시스템 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117651B2 (en) | 2004-04-27 | 2012-02-14 | Apple Inc. | Method and system for authenticating an accessory |
US20060227759A1 (en) * | 2004-09-14 | 2006-10-12 | Bohm Mark R | Peripheral Sharing USB Hub |
JP4643315B2 (ja) * | 2005-03-11 | 2011-03-02 | 株式会社東芝 | 半導体集積回路装置 |
US20140129681A1 (en) * | 2011-06-10 | 2014-05-08 | Dmitry Alekseevich Gorilovsky | Method of installing a driver to emulate a network card |
US20130132629A1 (en) * | 2011-11-23 | 2013-05-23 | Peng-Fei Lin | Apparatus of storage medium for interfacing both host and mobile device |
US9459670B2 (en) * | 2012-09-07 | 2016-10-04 | Apple Inc. | Adapter for use with a portable electronic device |
CN203276850U (zh) * | 2013-05-30 | 2013-11-06 | 刘承刚 | 一种双接口通用u盘、手表 |
CN203689512U (zh) * | 2013-12-25 | 2014-07-02 | 肖俊仙 | 一种双接口手机移动存储装置 |
-
2015
- 2015-01-21 US US14/602,211 patent/US20150135267A1/en not_active Abandoned
- 2015-08-13 SG SG10201506363PA patent/SG10201506363PA/en unknown
- 2015-08-14 TW TW104126532A patent/TW201621682A/zh unknown
- 2015-08-17 RU RU2015134411A patent/RU2015134411A/ru not_active Application Discontinuation
- 2015-08-18 MX MX2015010639A patent/MX2015010639A/es unknown
- 2015-08-19 CN CN201510512691.8A patent/CN105373503A/zh active Pending
- 2015-08-19 EP EP15181499.3A patent/EP2993590A3/en not_active Withdrawn
-
2016
- 2016-05-10 HK HK16105318.6A patent/HK1217545A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147333A (zh) * | 2019-04-19 | 2019-08-20 | 宜鼎国际股份有限公司 | 写入保护电路 |
TWI676993B (zh) * | 2019-04-19 | 2019-11-11 | 宜鼎國際股份有限公司 | 寫入保護電路 |
Also Published As
Publication number | Publication date |
---|---|
US20150135267A1 (en) | 2015-05-14 |
CN105373503A (zh) | 2016-03-02 |
MX2015010639A (es) | 2016-08-02 |
EP2993590A3 (en) | 2016-06-08 |
EP2993590A2 (en) | 2016-03-09 |
RU2015134411A (ru) | 2017-03-02 |
SG10201506363PA (en) | 2016-03-30 |
HK1217545A1 (zh) | 2017-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9454193B2 (en) | Flash drive shaped to utilize space behind a mobile device | |
TW201621682A (zh) | 經由控制器而具有多功能整合的快閃驅動器 | |
US9223375B1 (en) | Providing power to a mobile device using a flash drive | |
US9201827B2 (en) | Device dependent selection between modes for asymmetric serial protocols | |
RU2696321C2 (ru) | Контракты управления питанием для вспомогательных устройств | |
CA2948655C (en) | Reversible connector for accessory devices | |
KR102231741B1 (ko) | 부속 디바이스 전력 관리 | |
WO2013178146A1 (zh) | 一种平板电脑接口扩展方法和装置 | |
CN111602313B (zh) | 用于无线充电和有线数据传输的系统和方法 | |
KR20160081676A (ko) | 트래블 어댑터 | |
CN205646850U (zh) | 提供电力至移动设备的闪存驱动器 | |
CN110896237A (zh) | 手机背夹的充电装置、方法及背夹设备 | |
JP6352674B2 (ja) | 拡張機器、機器検出回路および通信システム | |
TWI839841B (zh) | 擴充基座、用於擴充基座之方法及萬用串列匯流排儲存裝置 | |
JP2006085248A (ja) | ホスト機能を有する携帯機器 | |
US11432384B2 (en) | LED control for reversable power cable |