TWI547804B - 一種傳輸介於一主機裝置與一外部裝置之間的資料之方法及其系統 - Google Patents
一種傳輸介於一主機裝置與一外部裝置之間的資料之方法及其系統 Download PDFInfo
- Publication number
- TWI547804B TWI547804B TW100133056A TW100133056A TWI547804B TW I547804 B TWI547804 B TW I547804B TW 100133056 A TW100133056 A TW 100133056A TW 100133056 A TW100133056 A TW 100133056A TW I547804 B TWI547804 B TW I547804B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- memory
- external device
- footprint
- host device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
本發明係關於資料傳輸,且更具體而言係介於複數裝置之間最佳的資料傳輸。
近年來觀察到可攜式裝置(例如行動電話、個人數位助理、媒體播放器及其類似者)的需求不斷增加。大部分可攜式裝置包含至少一記憶媒體,例如內部記憶體、記憶棒及其類似者。為了保持彼此相容,大部分的裝置會預先格式化成FAT32檔案系統。當接收來自一主機電腦的資料時,具有記憶媒體的可攜式裝置呈現一緩慢的資料傳輸速率。緩慢的資料傳輸可被接受於傳統程序,例如資料備份或資料歸檔,但當龐大的資料量需要與主機電腦同步時,資料傳輸速率緩慢是不利的。例如,以8mbps(每秒百萬位元組)的一資料傳輸速率從一個人電腦傳輸1GB的資料到一MP3播放器可能花費約兩分鐘。而且,當使用高容量儲存媒體或同步大量的資料時,此問題會增加。
可用的解決方案例如直接記憶體存取(DMA,direct memory access),但只有當使用於將資料傳輸到「稀疏檔案(Sparse File)」時會加速該資料傳輸,然而一特別的檔案並不需要初始化。不幸地,此要求使DMA於FAT32無法作用,因為FAT32不支援直接稀疏檔案建立。在FAT32,間接稀疏檔案建立涉及寫入複數零到該預先配置的記憶區塊,其在任何資料被傳輸前強加一主要的負荷。
儘管最近的發展已經有用於該等可攜式裝置的最佳化記憶體預先配置技術,但在該技術領域中仍有藉由該核心/檔案系統與該可攜式裝置的協同運作而克服該檔案系統之限制的需求。
由於在大部分可攜式裝置中FAT32係為檔案系統,故具有在該FAT32檔案系統使用DMA技術用於快速資料傳輸的一個簡單且有效的機制係有迫切之需求。
本發明所揭示係描述一種用於一主機裝置與一外部裝置之間傳輸資料之方法,該外部裝置係具有一FAT32檔案系統。該方法接受用於來自該主機裝置的一輸入檔案資料之參數。而且,該方法根據該等參數在該外部裝置配置用於該輸入檔案資料的記憶區塊,且在一記憶體索引表指示所配置的記憶區塊,用以建立一檔案足跡。該方法讀取該記憶體索引表以辨識該檔案足跡並將來自該主機裝置的輸入檔案資料接收至該檔案足跡中。
本發明所揭示的另一具體實施例係描述一種一外部裝置之資料傳輸系統,該外部裝置係具有一FAT32檔案系統。該系統包含一記憶體管理模組與一資料傳輸模組。該記憶體管理模組接受用於一輸入檔案資料的參數,並根據該等參數配置用於該輸入檔案資料的記憶區塊。而且,該記憶體管理模組在一記憶體索引表指示所配置的記憶區塊,用以建立一檔案足跡。該資料傳輸模組讀取該記憶體索引表以辨識該檔案足跡並將該輸入檔案資料接收至該檔案足跡中。
以下詳細的描述係配合參考的圖式。示例性具體實施例被描述來說明本發明之標的物,而不是限制標的物的範圍,標的物係藉由所附加的申請專利範圍所定義。
本發明描述一種用於一主機裝置與具有一FAT32檔案系統的一外部裝置之間傳輸資料之方法與其系統。所揭示之方法接受用於來自該主機裝置的一輸入檔案資料之參數。而且,該方法根據該等參數在該外部裝置預先配置用於該輸入檔案資料的記憶區塊,並在一記憶體索引表指示所配置的記憶區塊,用以建立一檔案足跡,其係藉由對於將被傳輸的資料檔案建立一索引項(index entry)。一檔案足跡(file footprint)係一檔案陰影(file shadow)或一檔案壓印(file impression),其係代表該等所指示之記憶區塊,在一稀疏檔案的情況下,其係可不需實際以複數零初始化該等記憶體位置來用於傳輸資料。在任何其他檔案的情況下,該等記憶體位置以類似的方法被指示。該方法讀取該記憶體索引表以辨識該檔案足跡並在該檔案足跡接收來自該主機裝置的輸入檔案資料。檔案足跡建立係模擬建立一稀疏檔案的操作,而不需透過該等記憶區塊初始化的步驟,其係能加速該資料傳輸。具體而言,當避免修改該外部裝置的系統核心或引動新的系統呼叫時,本發明之方法與系統說明延伸到該FAT32檔案系統,來在該外部裝置有效地允許該等檔案足跡的建立。所揭示之方法與系統超載該現有的核心系統呼叫read()、ioctl()及fallocate()。隨著該核心保持不變且該現有的FAT32檔案系統驅動器保持相同,當除了資料傳輸的情況以外之操作時,該驅動器之運行不需任何改變。
下列術語在本發明各處被使用,並清楚且合宜的在此被定義。
稀疏檔案:一檔案包含僅由複數零組成其大部分的資料,其係被標記在最新的檔案系統中,例如,新技術檔案系統(NTFS,New Technology File System)。當讀取該檔案的非配置部時,該檔案系統自動傳回複數零至該呼叫者。
側載(sideloading):介於一個人電腦與一移動裝置(例如一行動電話、智慧型手機、PDA或可攜式媒體播放器)之間的資料傳輸。
交握(handshaking):在通訊之前,用於動態設定一通訊頻道的參數之一自動協商程序被建立在兩個裝置之間。
安全數位(SD,Secure Digital):一非揮發性記憶卡格式,其係使用在可攜式裝置,例如,數位相機、媒體播放器、行動電話、GPS接收器及電動遊戲。大部分的SD卡會被預先格式化成FAT32或其他FAT檔案系統。
應用程式設計界面(API,Application Programming Interface):一界面藉由一軟體程式被執行,該界面使其能夠與其他軟體互相作用,促進介於不同軟體程式之間的互動。一API藉由應用系統、程式庫系統及操作系統被執行以判定他們的詞彙與呼叫慣例,並被用來存取他們的服務。例如一API能呼叫一函數或一副程式。
超載:各種程式語言的一個特性,其係允許數個具有相同名稱的函數或方法之建立,該等函數或方法在輸入參數與該輸出類型方面係互為不同。
外部裝置:一可攜式計算裝置,例如,手機或行動電話(包含智慧型手機)、PDA、數位相機、可攜式媒體播放器或其他類似裝置。通常,該術語「外部裝置」包含複數裝置,其係包含至少一處理器,該處理器執行來自一記憶媒體(可為一SD卡)的指令且係很容易攜帶。
主機裝置:一個人計算裝置,例如具有至少一記憶媒體之一電腦、輸入裝置、至少一處理單元及一視覺顯示。另外,該主機裝置可為一USB裝置。
第1圖說明傳輸資料的一示例性系統100之一先前技術。該系統100描述由一主機裝置104至一行動電話102(外部裝置)的資料流。介於該行動電話102與該主機裝置104之間的資料傳輸能藉由建立介於該兩個裝置之間的一物理連接透過DMA被執行。當執行DMA,介於一個人電腦與其周邊裝置之間的資料係被傳輸,而不需任何處理器(例如CPU)介入。而且,該資料傳輸採用媒體傳輸協定(MTP,Media Transfer Protocol)。MTP代表附有由微軟開發的一套驅動器之一協定,用以連接可攜式裝置至一個人電腦(PC),並使介於該裝置與該PC的數位媒體內容同步化。在該系統100的具體實施例中,該主機裝置104可為一MTP啟動器,且該行動電話102的記憶媒體106可為一MTP回應器。
該行動電話102包含一MTP堆疊108、一檔案系統驅動器110及一USB API 112,該USB API 112係包含執行各種資料傳輸任務的API函數。該MTP堆疊108藉由分離介於標頭與資料之間的MTP封包來處理所有的MTP指令。藉由該MTP堆疊108與該檔案系統驅動器110的適當修改,可促進該MTP堆疊處理該標頭及該資料被寫入到該記憶媒體106。該行動電話102包含一USB晶片,其係使用一USB連接114接收來自該主機裝置104的資料。而且,該行動電話102包含SPI硬體116,其係用於與該行動電話102的一系統單晶片(SoC,system-on-chip)處理器117進行SPI通訊。
該主機裝置104包含處理器118及一主機記憶體120,其係以所屬技術領域中習知的方法被操作。該主機裝置104傳送一控制訊號到行動電話102,指示該主機裝置104準備好進行資料傳輸。而且,該主機記憶體120包含一資料檔案,其係需被傳輸到該行動電話102。
成功的連接以後,此二裝置認定其透過一交握程序經由MTP同步化,其中在該主機裝置104的處理器通知該SoC處理器117關於該資料檔案的參數。而且,該SoC處理器117對於該行動電話102執行記憶體管理。該主機裝置104可請求來自該SoC處理器117的記憶體管理資料,然後提供該記憶體管理資料到該主機裝置104來啟動該資料傳輸到該行動電話102。
當傳輸來自該主機裝置104的資料檔案到該行動電話102時,如該DMA傳輸需要在該記憶媒體106中一現有的空檔案用於傳輸資料時,在該系統100的資料傳輸速度係緩慢的。在該空檔案被建立前,該SoC處理器117的記憶體管理模組不能提供該等空檔案的參數到該主機裝置104,該空檔案之建立係涉及在該記憶媒體106寫入複數零到記憶區塊,其係為費時且使資料傳輸為一緩慢過程。
第2圖描述一示例性系統200的實施以允許介於一外部裝置202與一主機裝置204之間的高速資料傳輸。此二裝置係以如上述揭示中所指之系統100的類似連接來連接。
該主機裝置204包含一主機記憶體206與一主機處理器208。而且,該主機記憶體206可具有多種資料檔案與資料管理單元。另外,該主機裝置204包含一輸入檔案資料210,其係被傳輸到該外部裝置202。
在本發明的某些具體實施例中,該外部裝置202可為一USB裝置。該主機裝置204可為一電腦系統,其係可包含輸入裝置與一顯示器。該外部裝置202可包含一SoC處理器212與至少一外部裝置記憶媒體214。該外部裝置記憶媒體214可只藉由該SoC處理器212來存取。該主機處理器208,仍可在MTP模式下透過該SoC處理器212存取該外部裝置記憶媒體214。該外部裝置202可透過一集線器(可能是一USB集線器或一USB電纜或在所屬技術領域中其他習知的類似連接)被耦合到該主機裝置204上。如使用在幾個具體實施例中的主機裝置204可為一USB裝置或任何各種適合的裝置。
該外部裝置記憶媒體214可為一高速快閃記憶體。而且,該SoC處理器212包含FAT32檔案系統216,其係包含一記憶體管理模組218與一資料傳輸模組220。該記憶體管理模組218接受至少一參數,其係相關於來自該主機裝置204的輸入檔案資料210。該等參數可包含檔案名稱、尺寸、類型、建立日期、作者或關於該輸入檔案資料任何其他類似的參數。
此外,該FAT32檔案系統216包含一API區塊222,其係可助於引動來自一系統呼叫區塊224的系統呼叫。該API區塊222與該系統呼叫區塊224可包含多種API與系統呼叫。
該記憶體管理模組218根據該等參數在該外部裝置記憶媒體214分配用於該輸入檔案資料210的記憶區塊。此外,所配置的記憶區塊係於一記憶體索引表中被指示,用以在該外部裝置記憶媒體214建立一檔案足跡(file footprint)226。
來自該系統呼叫區塊214的一系統呼叫fallocate()之一非標準執行計算磁碟叢集的數量,其係被詳細描述在本發明所揭示之方法300。該fallocate()系統呼叫係非直接地呼叫,而是透過來自該API區塊222的一API來呼叫,其係在一非標準模式呼叫fallocate()且保留該等記憶區塊。
該FAT32檔案系統216的驅動器包含在該外部裝置記憶媒體214的檔案分配或扇區資訊,其係讀取該記憶體索引表以辨識該剛被建立的檔案足跡226。具體而言,該資料傳輸模組220經由來自該系統呼叫區塊224的一系統呼叫read()之一非標準版本來存取對於該檔案足跡226的扇區/叢集對映。該read()係非直接地存取,而是透過來自該API區塊222的一API呼叫來存取,其係建立用於該read()系統呼叫之一已知尺寸的資料區塊。
下述是該檔案足跡226的識別,該資料傳輸模組220使用DMA將來自該主機裝置204的輸入檔案資料210接收至該資料足跡226中。該資料傳輸不需由該SoC處理器212的任何干涉來被執行。在一具體實施例中,該外部裝置記憶媒體214被指定為一MTP裝置。該資料傳輸採用該MTP協定。此外,該外部裝置202的檔案系統驅動器鎖定該FAT32檔案系統216,用以防止對於該檔案足跡226的另一同時存取。該鎖定透過該FAT32檔案系統216的ioctl()系統呼叫之一非標準版本來被執行,其係需要一開啟檔案描述符。用於該資料傳輸而建立的檔案足跡226將被開啟在「唯讀」模式且將無法被存取用於「寫入」操作。該API呼叫的詳細函數在本發明以下的方法300被解釋。
第3圖係用於該主機裝置與該外部裝置之間的傳輸資料之一示例性方法300的流程圖。該方法300克服了習知方法的缺點,其係藉由使用延伸到該FAT32檔案系統以建立在該外部裝置傳輸資料的一檔案足跡,其係避免在該外部裝置系統核心的任何修改且不需引進新的系統呼叫。相反地,該方法300使用並超載該FAT32檔案系統的read()、ioctl()及fallocate()系統呼叫以在非標準方法執行。該系統呼叫read()、ioctl()及fallocate()運作係完全為習知。
使用一FAT32檔案系統的外部裝置係經由一USB埠與該主機裝置連接。另外,該方法300可在配合第2圖所討論的示例性系統200下操作。
該主機裝置包含一資料檔案,其係被傳輸到該外部裝置。在步驟302,該方法300接受關於來自該主機裝置的輸入檔案資料之至少一參數。該等參數可包含檔案名稱、尺寸、類型、建立日期、作者或任何其他類似的參數。且在步驟304,該方法300根據該等參數而在該外部裝置的記憶媒體配置用於該輸入檔案資料的記憶區塊。接著在步驟306,所配置的記憶區塊在一記憶體索引表被指示以建立一檔案足跡。
該fallocate()系統呼叫的一非標準執行計算磁碟叢集的數量,該等磁碟叢集係根據所接收的參數而被請求用於該輸入檔案資料,並且該fallocate()系統呼叫的一非標準執行FAT表管理,該FAT表管理係包含在該記憶體索引表中指示所配置的記憶區塊。而且,該系統呼叫fallocate()呼叫一子程式fat_add_cluster()之一修改的版本,其係增加所配置的叢集到一i節點(inode)紀錄,但不標示該i節點為非淨形(dirty)且不強制所有該等區塊的一填零寫入。該fallocate()系統呼叫係非直接地呼叫,而是透過一API呼叫,其係在一非標準模式呼叫fallocate()且保留該等記憶區塊。
在步驟308,該檔案系統驅動器包含在該外部裝置記憶體的檔案分配或扇區資訊,其係讀取該記憶體索引表以辨識該剛被建立的檔案足跡。具體而言,該方法300經由該read()系統呼叫之一非標準版本來存取該檔案的扇區/叢集對映。該read()係非直接地呼叫,而是透過一API呼叫建立用於該read()系統呼叫之一已知尺寸的資料區塊,且初始化該已知尺寸的資料區塊,以使其第一位元組包含該呼叫被使用於該非標準方式中的明確特徵。該API呼叫將兩個16位元特徵碼放置在一陣列的開頭,然後用該陣列呼叫read(),且一「Special Magic Number」係作為呼叫參數。該「Special Magic Number」係一獨特的數值,其絕不會呈現在該呼叫的標準使用。如果該「Special Magic Number」與該兩個16位元特徵碼符合,則該read()呼叫被阻止且退回該叢集資料而非執行一實際讀取。該步驟確保該標準read()不會意外地落入到該非標準操作模式。
接續於步驟308的檔案足跡辨識之後,在步驟310中,該方法300使用DMA技術將來自該主機裝置的輸入檔案資料接收至該檔案足跡中。
在本發明具體實施例中,在該資料傳輸期間並不涉及該外部裝置處理器或SoC。另外,該資料傳輸的整個過程,該SoC可為可操作以執行與該外部裝置相關的各種其他程序,例如打電話、播放媒體、傳輸資料到其他記憶體及更多類似的操作,其係提供高傳輸量執行的一最佳工作分割。
在另一具體實施例,在該資料傳輸期間,該SoC可作為介於該主機裝置與該外部裝置的記憶媒體之間的一中間裝置。例如,該資料傳輸可依需求而涉及更新該外部裝置或所儲存的檔案或被儲存的接點。在資料傳輸期間,當該處理器的處理能力之顯著部份被使用時,則該SoC可具有限制之功能性。例如,其中該外部裝置係一行動電話,當執行資料傳輸時,該SoC可能無法執行呼叫或其他作業。
在本發明具體實施例中,該資料傳輸採用MTP協定。所屬技術領域的通常知識者將可了解習知技術領域中類似的協定在不背離本發明所揭示之範圍下亦可被使用。該資料傳輸根據需求可包含任何習知資料類型。例如,一使用者可能希望在該外部裝置的記憶媒體儲存媒體、檔案、試算表、聯絡資料或其他類似資料。而且,該資料傳輸可能在一USB高速或超高速傳輸速率下發生。USB傳輸速率可能指大於藉由USB1.1、2.0或3.0協定所提供之傳輸速率的速度。
另外,該檔案系統驅動器鎖定該FAT32檔案系統,用以防止對於該檔案足跡的另一同時存取。該鎖定係透過該ioctl()系統呼叫的一非標準版本被執行。用於該資料傳輸(側載)所建立的檔案足跡將被開啟在「唯讀」模式且將無法被存取用於「寫入」操作。
該API呼叫開啟該檔案足跡,執行該動作,然後再次關閉該檔案,允許該檔案系統在該配置呼叫後開啟該檔案在「唯寫」模式,且在該讀取呼叫後開啟該檔案在「唯讀」模式。
本發明所揭示之方法與系統描述來自一計算裝置的一最佳側載(或資料傳輸)到一外部裝置之技術,其係涉及在該外部裝置建立一檔案足跡,而不需以零初始化該檔案。尤其,本發明所揭示之方法與系統說明延伸到該FAT32檔案系統以達成該所需求的結果。雖然大部分檔案系統方法係操作於該主機電腦的操作系統核心中的情形,然而該等所揭示的方法係操作於同時涉及該主機電腦與該外部裝置之資料傳輸程序中的情形。通常使用DMA的方法允許效能最佳化。本發明中新穎性的部份在於,該等檔案系統方法故意以不一致的狀態留下檔案系統與核心,其係在該資料傳輸程序時被解決。
而且,當該新的系統呼叫將需要廣泛的改變且係無法被定位成一單一核心模組時,該等方法與系統避免在該系統核心中進行任何修改,並避免引入新的系統呼叫。相反地,該等方法與系統使用並超載read()、ioctl()及fallocate()系統呼叫。當該FAT32檔案系統驅動器中不存在代碼被改變時,該驅動器於該側載之外運行時沒有任何偏差。
所屬技術領域之通常知識者將了解上述所討論的步驟在所揭示的具體配置可被合併或改變。該等所說明的步驟被用來解釋所示之具體實施例,且應預料到正在進行中技術發展將改變本發明中特定函數的執行方式。這些圖式不用來限制本發明所揭示之範圍,僅藉由參照該等附加的申請專利範圍來判定。
本說明書描述了延伸到該FAT32檔案系統來執行介於兩個裝置之間的資料同步。本說明書已列舉一些具體示例性實施例,但本發明所屬之技術領域的人員了解這些具體實施例的變化後,將在具體的實施與環境下自然地實現本發明的標的物具體化的過程。例如,所描述的外部裝置能為一數位相機、一行動電話、個人數位助理或其他類似裝置。更應了解的是,這些變化與其他相同者皆屬於本發明之範圍。本發明之範圍既不是被那些可能的變化,也不是被上面所列舉的具體示例所限制。更確切地說,本發明專利的範圍係僅藉由下述的申請專利範圍來定義。
100...系統
102...行動電話
104...主機裝置
106...記憶媒體
108...MTP堆疊
110...檔案系統驅動器
112...USB API
114...USB連接
116...SPI硬體
117...SoC處理器
118...處理器
120...主機記憶體
200...系統
202...外部裝置
204...主機裝置
206...主機記憶體
208...主機處理器
210...輸入檔案資料
212...SoC處理器
214...外部裝置記憶媒體
216...FAT32檔案系統
218...記憶體管理模組
220...資料傳輸模組
222...API區塊
224...系統呼叫區塊
226...檔案足跡
300...方法
302-310...步驟
該等圖式的描述陳列如下並說明本發明一些示例性具體實施例。所有的圖式中,類似的參考元件符號歸類於相同或功能類似的元件。該等圖式在本質上係說明性,並非按比例繪製。
第1圖說明傳輸資料的一示例性系統之一先前技術。
第2圖描述一示例性系統的可操作性以允許介於一主機裝置與一外部裝置之間的高速資料傳輸。
第3圖係一傳輸介於一主機裝置與一外部裝置之間的資料之一示例性方法的流程圖。
300...方法
302-310...步驟
Claims (17)
- 一種用於一主機裝置與一外部裝置之間傳輸資料之方法,該外部裝置係具有一32位元檔案配置表(FAT32,File Allocation Table 32)檔案系統,該方法包含:接受參數,該等參數係用於來自該主機裝置的一輸入資料檔案;根據該等參數在該外部裝置配置用於該輸入資料檔案之記憶區塊,其中不初始化所配置之該等記憶區塊;藉由在一記憶體索引表中指示所配置的該等記憶區塊以建立一檔案足跡;讀取該記憶體索引表以辨識該檔案足跡;及使用一直接記憶體存取(DMA)技術將來自該主機裝置的該輸入資料檔案接收至該檔案足跡中,其中該檔案足跡指定扇區/叢集對映以將該資料檔案儲存於該外部裝置上。
- 如申請專利範圍第1項所述之方法,其中該等參數包含以下之至少一者:檔案名稱;尺寸;類型;建立日期;或作者。
- 如申請專利範圍第1項所述之方法,其中該主機裝置及該外部裝置係經由一通用序列匯流排(USB,Universal Serial Bus)埠而連接。
- 如申請專利範圍第1項所述之方法,其中該配置步驟係使用一應用程式設計界面(API,Application Programming Interface)耦合到該FAT32檔案系統被執行。
- 如申請專利範圍第1項所述之方法,其中該讀取步驟係使用一應用程式設計界面(API)耦合到該FAT32檔案系統被執行。
- 如申請專利範圍第1項所述之方法,更進一步包含於該資料傳輸 期間鎖定該FAT32檔案系統,用以防止另一個對於該檔案足跡的同時存取。
- 一種用於一外部裝置之資料傳輸系統,該外部裝置包括一記憶媒體及一處理器配置成執行一FAT32檔案系統,其係包含:一記憶體管理模組,其配置成:接受用於一輸入資料檔案的參數;根據該等參數配置用於該輸入資料檔案的記憶區塊,其中不初始化所配置之該等記憶區塊;及在一記憶體索引表藉由指示所配置的該等記憶區塊以建立一檔案足跡;及一資料傳輸模組,其配置成:讀取該記憶體索引表以辨識該檔案足跡;及使用一直接記憶體存取(DMA)技術將該輸入資料檔案接收至該檔案足跡中,其中該檔案足跡指定扇區/叢集對映以將該資料檔案儲存於該外部裝置上。
- 如申請專利範圍第7項所述之系統,其中該等參數係以下之至少一者:檔案名稱;尺寸;類型;建立日期;或作者。
- 如申請專利範圍第7項所述之系統,其中該資料傳輸系統採用一媒體傳輸協定(MTP,Media Transfer Protocol)。
- 如申請專利範圍第7項所述之系統,更進一步包含一通用序列匯流排(USB,Universal Serial Bus)埠,其配置成有效地耦合該外部裝置到一主機裝置。
- 如申請專利範圍第7項所述之系統,其中該主機裝置係一計算裝置。
- 如申請專利範圍第7項所述之系統,更進一步包含一應用程式設計界面(API,Application Programming Interface),其係發送指令 到該FAT32檔案系統,用以配置用於該輸入資料檔案的記憶區塊並讀取該記憶體索引表。
- 如申請專利範圍第7項所述之系統,其中該外部裝置係具有記憶體的一可攜式裝置。
- 如申請專利範圍第7項所述之系統,其中該外部裝置係一行動電話。
- 一種用於傳輸資料的系統,該系統包含:一主機裝置,其中該主機裝置包含一主機記憶體;一外部裝置,其係與該主機裝置通訊,其中該外部裝置包括配置成使用一FAT32檔案系統的一記憶體,該外部裝置係更進一步包含:一記憶體管理模組,其配置成:接受來自該主機裝置之關於一輸入資料檔案的參數;根據該等參數在該外部裝置配置用於該輸入資料檔案的記憶區塊,其中不初始化所配置之該等記憶區塊;及藉由在一記憶體索引表指示所配置的該等記憶區塊以建立一檔案足跡;及一資料傳輸模組,其配置成:讀取該記憶體索引表以辨識該檔案足跡;使用一直接記憶體存取(DMA)技術將該輸入資料檔案接收至該檔案足跡中,其中該檔案足跡指定扇區/叢集對映以將該資料檔案儲存於該外部裝置上。
- 如申請專利範圍第15項所述之系統,其中該外部裝置係具有記憶體的一可攜式裝置。
- 如申請專利範圍第15項所述之系統,其中該主機裝置係一計算裝置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/884,154 US8990181B2 (en) | 2010-09-16 | 2010-09-16 | Method and system for transferring data between a host device and an external device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201217972A TW201217972A (en) | 2012-05-01 |
TWI547804B true TWI547804B (zh) | 2016-09-01 |
Family
ID=45818640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100133056A TWI547804B (zh) | 2010-09-16 | 2011-09-14 | 一種傳輸介於一主機裝置與一外部裝置之間的資料之方法及其系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8990181B2 (zh) |
TW (1) | TWI547804B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110509B2 (en) * | 2010-07-28 | 2015-08-18 | VIZIO Inc. | System, method and apparatus for controlling presentation of content |
US9494975B1 (en) * | 2011-03-28 | 2016-11-15 | Amazon Technologies, Inc. | Accessory device identification method |
US9239607B2 (en) * | 2011-12-22 | 2016-01-19 | Intel Corporation | Storing data using a direct data path architecture to reduce energy consumption and improve performance |
US9779124B2 (en) * | 2012-08-27 | 2017-10-03 | Lg Electronics Inc. | Mobile terminal and control method thereof |
US10049117B2 (en) * | 2013-09-12 | 2018-08-14 | International Business Machines Corporation | Defragmentation-less deduplication |
US20150153766A1 (en) | 2013-11-29 | 2015-06-04 | Avigilon Corporation | Camera supporting removable storage divided into multiple partitions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089390B2 (en) * | 2001-02-16 | 2006-08-08 | Broadcom Corporation | Apparatus and method to reduce memory footprints in processor architectures |
TW200702994A (en) * | 2005-07-14 | 2007-01-16 | Optimark Technology Co Ltd | Portable storage device having data-protecting function |
US20090049222A1 (en) * | 2004-03-17 | 2009-02-19 | Super Talent Electronics, Inc. | PCI Express-Compatible Controller And Interface For Flash Memory |
TW201001187A (en) * | 2008-06-30 | 2010-01-01 | Trade Van Information Services Co | Method of processing digital data and system thereof, and computer readable storage media storing programs of processing digital data and computer program products thereof |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US5491808A (en) * | 1992-09-30 | 1996-02-13 | Conner Peripherals, Inc. | Method for tracking memory allocation in network file server |
US6047280A (en) * | 1996-10-25 | 2000-04-04 | Navigation Technologies Corporation | Interface layer for navigation system |
US6879266B1 (en) * | 1997-08-08 | 2005-04-12 | Quickshift, Inc. | Memory module including scalable embedded parallel data compression and decompression engines |
CA2483760A1 (en) * | 2004-10-25 | 2006-04-25 | Thomas E. Chalker | System and method for a secure, scalable wide area file system |
US8364638B2 (en) * | 2005-09-15 | 2013-01-29 | Ca, Inc. | Automated filer technique for use in virtualized appliances and applications |
KR101513609B1 (ko) * | 2007-10-04 | 2015-04-20 | 엘지전자 주식회사 | 휴대단말기의 음악 재생장치 및 방법 |
-
2010
- 2010-09-16 US US12/884,154 patent/US8990181B2/en active Active
-
2011
- 2011-09-14 TW TW100133056A patent/TWI547804B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089390B2 (en) * | 2001-02-16 | 2006-08-08 | Broadcom Corporation | Apparatus and method to reduce memory footprints in processor architectures |
US20090049222A1 (en) * | 2004-03-17 | 2009-02-19 | Super Talent Electronics, Inc. | PCI Express-Compatible Controller And Interface For Flash Memory |
TW200702994A (en) * | 2005-07-14 | 2007-01-16 | Optimark Technology Co Ltd | Portable storage device having data-protecting function |
TW201001187A (en) * | 2008-06-30 | 2010-01-01 | Trade Van Information Services Co | Method of processing digital data and system thereof, and computer readable storage media storing programs of processing digital data and computer program products thereof |
Also Published As
Publication number | Publication date |
---|---|
US20120072401A1 (en) | 2012-03-22 |
US8990181B2 (en) | 2015-03-24 |
TW201217972A (en) | 2012-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI547804B (zh) | 一種傳輸介於一主機裝置與一外部裝置之間的資料之方法及其系統 | |
US7802022B2 (en) | Generic USB drivers | |
TWI393009B (zh) | 資料共享及傳輸之系統及方法 | |
US8868628B2 (en) | Sharing computer data among computers | |
US8150452B2 (en) | Providing a connection between a memory medium of a mobile device and an external device | |
US7058748B1 (en) | ATA device control via a packet-based interface | |
TWI526841B (zh) | 用於通用串列匯流排至sd之橋接器之電腦可存取的儲存媒體、方法、系統及設備 | |
US20060218324A1 (en) | Systems and methods for flexible data transfers in SDIO and/or MMC | |
TW200846920A (en) | Interfacing an external attachment device to a computing device | |
US20190294382A1 (en) | Mass storage virtualization for cloud computing | |
US8166244B2 (en) | Emulating a computer system on a removable storage device | |
US20130326189A1 (en) | Extensible method and system for storage metadata | |
US8265919B1 (en) | Emulating a peripheral mass storage device with a portable device | |
US8973019B1 (en) | Method and system for emulation of super speed devices in virtual machines | |
WO2024032474A1 (zh) | 设备接入方法、数据交换方法及相关设备 | |
US20090083021A1 (en) | Emulation of ahci-based solid state drive using nand interface | |
TWI626543B (zh) | 透過資料儲存裝置控制週邊裝置之方法與可控制週邊裝置的資料儲存裝置 | |
CN115292231A (zh) | 设备端口切换方法和装置 | |
Meng et al. | Design of mass information communication system based on MCF52223 | |
CN117389592A (zh) | 电子设备自动升级的实现方法以及升级装置 | |
TW201324172A (zh) | 隨身儲存裝置、提供數位裝置傳輸資料之系統及其方法 | |
Lakshmi et al. | Area Optimized Design for Data Archival to SD Card | |
Kaul et al. | USB Capabilities and Bootability of Portable Devices | |
WO2006051583A1 (ja) | インタフェースカード |