两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)寫處理方法、裝置和終端設(shè)備的制作方法

文檔序號:6358941閱讀:234來源:國知局
專利名稱:數(shù)據(jù)寫處理方法、裝置和終端設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及一種數(shù)據(jù)寫處理方法、裝置和終端設(shè)備。
背景技術(shù)
隨著科技的不斷發(fā)展和進(jìn)步,通信產(chǎn)品的種類越來越多樣化,以不斷滿足用戶的各種需求。其中,終端數(shù)據(jù)卡產(chǎn)品為一種用于數(shù)據(jù)存儲、讀寫的通信設(shè)備,目前市場上的終端數(shù)據(jù)卡產(chǎn)品通常均支持迷你(mini)安全數(shù)碼(Secure Digital ;以下簡稱SD)卡,當(dāng)終端數(shù)據(jù)卡插入到個人電腦(Personal Computer ;以下簡稱PC)后,PC會彈出SD U盤設(shè)備, 可供用戶讀寫訪問。當(dāng)終端數(shù)據(jù)卡作為SD U盤功能時,讀數(shù)據(jù)的性能一般比寫數(shù)據(jù)的性能高,如某產(chǎn)品的讀速度可以達(dá)到7-8MByte/s,而寫速度只有3-4MByte/s,因此,寫性能存在優(yōu)化的必要,以提高用戶體驗(yàn)度。目前的通用串行總線(Universal Serial Bus ;以下簡稱USB)大容量存儲(Mass Storage)設(shè)備均通過批處理(bulk)端點(diǎn)進(jìn)行數(shù)據(jù)傳輸,通常遵循以下三個階段命令塊包(Command Block Wrapper ;以下簡稱CBW)_ >數(shù)據(jù)(DATA) - >命令狀態(tài)包(Command Status feapper;以下簡稱CSW)。其中,CBW為一個數(shù)據(jù)塊,其中攜帶有主機(jī)發(fā)給設(shè)備的小型計(jì)算機(jī)系統(tǒng)接口(Small Computer System Interface ;以下簡稱SCSI)命令,設(shè)備根據(jù)接收到的CSW便可以確定后續(xù)DATA階段的具體情況,即無數(shù)據(jù)需要傳輸、輸入(IN)傳輸 (設(shè)備到主機(jī))或輸出(OUT)傳輸(主機(jī)到設(shè)備),而CSW階段則反饋傳輸結(jié)果到主機(jī)或設(shè)備。在現(xiàn)有技術(shù)中,當(dāng)PC向終端設(shè)備寫入數(shù)據(jù)時,先將寫入的數(shù)據(jù)長度和命令通過 CBW傳輸給設(shè)備側(cè),設(shè)備側(cè)接收到CBW后開始準(zhǔn)備接收來自PC的數(shù)據(jù)。在Windows系統(tǒng)下, PC每次發(fā)給設(shè)備側(cè)需要寫入的數(shù)據(jù)長度為64KByte,對于不足64KByte的數(shù)據(jù)則一次寫入。 圖1為現(xiàn)有技術(shù)中數(shù)據(jù)寫入方法的執(zhí)行過程和時間軸示意圖,如圖1所示,時間段A表示設(shè)備側(cè)從USB接收到來自PC的64KByte數(shù)據(jù),時間段B表示設(shè)備側(cè)接收完成數(shù)據(jù)后再向SD 接口寫入該64KByte數(shù)據(jù),時間段E表示回CSW時間,即在數(shù)據(jù)寫入SD卡后通過CSW將傳輸結(jié)果反饋到PC,時間段F表示從CSW到PC下發(fā)下一個數(shù)據(jù)包的時間。然而,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下缺陷現(xiàn)有技術(shù)采用串行數(shù)據(jù)傳輸,不能利用中央處理器(Centre Processing Unit ;以下簡稱CPU)的多線程以及直接內(nèi)存訪問(Direct Memory Access ;以下簡稱DMA)并行搬運(yùn)數(shù)據(jù)的優(yōu)勢, 導(dǎo)致數(shù)據(jù)寫處理的性能較低。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例在于提供一種數(shù)據(jù)寫處理方法、裝置和終端設(shè)備,采用數(shù)據(jù)并行寫入機(jī)制,優(yōu)化數(shù)據(jù)寫處理的性能,提高終端設(shè)備的寫入速率。為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)寫處理方法,包括從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);
執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),其中,所述第二預(yù)設(shè)數(shù)量為所述第一預(yù)設(shè)數(shù)量的兩倍;在接收到所述第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間。本發(fā)明實(shí)施例提供了一種數(shù)據(jù)寫處理裝置,包括接收模塊,用于從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);第一寫入模塊,用于執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),其中,所述第二預(yù)設(shè)數(shù)量為所述第一預(yù)設(shè)數(shù)量的兩倍;第二寫入模塊,用于在接收到所述第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間。本發(fā)明實(shí)施例提供了一種終端設(shè)備,包括上述數(shù)據(jù)寫處理裝置。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)寫處理方法、裝置和終端設(shè)備,先從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù),再執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序以將第一批寫入數(shù)據(jù)寫入存儲空間,此時從主機(jī)接收第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),當(dāng)接收到第二批寫入數(shù)據(jù)后第一批寫入數(shù)據(jù)的寫入已完成時,再將第二批寫入數(shù)據(jù)寫入到存儲空間;本實(shí)施例采用數(shù)據(jù)并行寫入機(jī)制將后半部分寫入數(shù)據(jù)的接收任務(wù)與整個寫入數(shù)據(jù)的寫入任務(wù)并行執(zhí)行, 可以有效利用CPU的多線程及DMA并行搬運(yùn)數(shù)據(jù)的優(yōu)勢,優(yōu)化了數(shù)據(jù)寫處理的性能,提高了終端設(shè)備的寫入速率。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中數(shù)據(jù)寫入方法的執(zhí)行過程和時間軸示意圖;圖2為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例一的流程圖;圖3為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例二的流程圖;圖4為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例二中的執(zhí)行過程和時間軸示意圖一;圖5為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例二中的執(zhí)行過程和時間軸示意圖二 ;圖6為本發(fā)明數(shù)據(jù)寫處理裝置實(shí)施例一的結(jié)構(gòu)圖;圖7為本發(fā)明數(shù)據(jù)寫處理裝置實(shí)施例二的結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖2為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例一的流程圖,如圖2所示,本實(shí)施例提供了一種數(shù)據(jù)寫處理方法,可以包括如下步驟步驟201,從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);步驟202,執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),其中,所述第二預(yù)設(shè)數(shù)量為第一預(yù)設(shè)數(shù)量的兩倍;步驟203,在接收到所述第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入存儲空間。進(jìn)一步的,作為優(yōu)選的實(shí)施例,步驟203進(jìn)一步包括步驟2031 在接收到所述第二批寫入數(shù)據(jù)后,判斷所述第一批寫入數(shù)據(jù)的寫入是否完成,如果是,則執(zhí)行步驟2033,否則執(zhí)行步驟2032 ;步驟2032 如果所述第一批寫入數(shù)據(jù)仍在寫入,則在所述第一批寫入數(shù)據(jù)的寫入完成后,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入存儲空間;步驟2033,如果所述第一批寫入數(shù)據(jù)已經(jīng)寫入完成,則重啟第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第二批寫入數(shù)據(jù)寫入存儲空間。在某些情況下,數(shù)據(jù)寫入的時候或會頻繁出現(xiàn)收到接收到第二批數(shù)據(jù)的時候,第一批寫入數(shù)據(jù)已經(jīng)完成寫入。如果這種情況頻繁出現(xiàn),會因?yàn)閿?shù)據(jù)寫入程序的不完全執(zhí)行, 造成寫性能下降。因此,也可以在執(zhí)行步驟201前先一步判斷是否當(dāng)前主機(jī)的寫超前概率是否達(dá)到了預(yù)設(shè)的概率閾值,如果達(dá)到了概率閾值,則仍采用與第一批寫入數(shù)據(jù)和第二批寫入數(shù)據(jù)的大小相對應(yīng)的數(shù)據(jù)寫入程序來分別執(zhí)行第一批寫入數(shù)據(jù)和第二批寫入數(shù)據(jù)的寫入操作。這里的寫抄寫概率即每接收到100個第二批寫入數(shù)據(jù)中,第一批寫入數(shù)據(jù)已經(jīng)寫入完成的發(fā)生次數(shù)。在本發(fā)明實(shí)施例中,這個概率閾值可以為5/100。本實(shí)施例中的第二預(yù)設(shè)數(shù)量由終端設(shè)備的數(shù)據(jù)處理能力來決定,第一預(yù)設(shè)數(shù)量為第二預(yù)設(shè)數(shù)量的一半,本實(shí)施例具體應(yīng)用在PC向終端數(shù)據(jù)卡寫入數(shù)據(jù)的場景中,其中,主機(jī)可以具體為PC,在Windows系統(tǒng)下,由于PC每次發(fā)送給設(shè)備側(cè)的數(shù)據(jù)包的長度為64K比特(Byte),因此,此處將本實(shí)施例中的第二預(yù)設(shè)數(shù)量具體設(shè)置為64K Byte,第一預(yù)設(shè)數(shù)量具體設(shè)置為32K Byte0本實(shí)施例在執(zhí)行數(shù)據(jù)寫處理的方案前,可以先對各種PC的寫超前概率進(jìn)行實(shí)驗(yàn)統(tǒng)計(jì),此處的寫超前概率為在SD卡中寫入第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)前未接收到第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù)的概率,即在SD卡中寫入32K Byte的第一批寫入數(shù)據(jù)前未接收到PC發(fā)送的32K Byte的第二批寫入數(shù)據(jù)的概率,預(yù)設(shè)的概率閾值可以為 5/100,其表示每寫入100個數(shù)據(jù)包只有5個數(shù)據(jù)包在收到32K Byte的寫入數(shù)據(jù)時在SD卡中寫入的數(shù)據(jù)已超過32K Byte,即這5個數(shù)據(jù)包在SD卡中寫入32K Byte的第一批寫入數(shù)據(jù)前未接收到32K Byte的第二批寫入數(shù)據(jù)。通過實(shí)測發(fā)現(xiàn)在大部分PC上的寫超前概率均極低,即低于預(yù)設(shè)的概率閾值。在本實(shí)施例中,當(dāng)主機(jī)的寫超前概率小于預(yù)設(shè)的概率閾值時,先接收來自主機(jī)的第一預(yù)設(shè)數(shù)量的寫入數(shù)據(jù),即先從PC上接收其發(fā)送的32K Byte的寫入數(shù)據(jù)。在本實(shí)施例中,當(dāng)從主機(jī)接收到第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)后,開始執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,向SD卡中直接寫入第二預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù),并同時繼續(xù)從主機(jī)接收第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù)。
即在接收到32K Byte的第一批寫入數(shù)據(jù)時,便直接向SD卡中寫入64K Byte的第一批寫入數(shù)據(jù),同時繼續(xù)從主機(jī)接收32K Byte的第二批寫入數(shù)據(jù)。本實(shí)施例將主機(jī)發(fā)送的 64K Byte的寫入數(shù)據(jù)分成兩部分,在接收到一半數(shù)據(jù)時,啟動數(shù)據(jù)的寫入操作,將后一半數(shù)據(jù)的接收任務(wù)與數(shù)據(jù)的寫入任務(wù)并行執(zhí)行,可以有效利用CPU的多線程及DMA并行搬運(yùn)數(shù)據(jù)的優(yōu)勢,且在執(zhí)行數(shù)據(jù)的寫入任務(wù)時直接寫入64K Byte,與分兩次寫入相比減少了寫入時間。本實(shí)施例提供了一種數(shù)據(jù)寫處理方法,先從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù),再執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序以將第一批寫入數(shù)據(jù)寫入存儲空間,此時從主機(jī)接收第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),當(dāng)接收到第二批寫入數(shù)據(jù)后第一批寫入數(shù)據(jù)的寫入已完成時,再將第二批寫入數(shù)據(jù)寫入到存儲空間;本實(shí)施例采用數(shù)據(jù)并行寫入機(jī)制將后半部分寫入數(shù)據(jù)的接收任務(wù)與整個寫入數(shù)據(jù)的寫入任務(wù)并行執(zhí)行,可以有效利用CPU的多線程及DMA并行搬運(yùn)數(shù)據(jù)的優(yōu)勢,優(yōu)化了數(shù)據(jù)寫處理的性能,提高了終端設(shè)備的寫入速率。圖3為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例二的流程圖,如圖3所示,本實(shí)施例提供了一種數(shù)據(jù)寫處理方法,本實(shí)施例中的第一預(yù)設(shè)數(shù)量具體為32K Byte,第二預(yù)設(shè)數(shù)量具體為64K Byte,本實(shí)施例提供的方法可以具體包括如下步驟步驟301,判斷主機(jī)上的寫超前概率是否小于預(yù)設(shè)的概率閾值,如果是,則執(zhí)行步驟302,否則執(zhí)行步驟307。本步驟為根據(jù)主機(jī)的類型獲取主機(jī)上的寫超前概率,判斷其寫超前概率是否小于預(yù)設(shè)的概率閾值,此處的概率閾值可以設(shè)定為5/100,如果是,則執(zhí)行后續(xù)步驟302-306,否則執(zhí)行步驟307-309。本實(shí)施例在執(zhí)行數(shù)據(jù)寫處理的方案前,可以先對各種PC的寫超前概率進(jìn)行實(shí)驗(yàn)統(tǒng)計(jì),此處的寫超前概率為在SD卡中寫入第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)前未接收到第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù)的概率,即在SD卡中寫入32K Byte的第一批寫入數(shù)據(jù)前未接收到PC發(fā)送的32K Byte的第二批寫入數(shù)據(jù)的概率,預(yù)設(shè)的概率閾值可以為 5/100,其表示每寫入100個數(shù)據(jù)包只有5個數(shù)據(jù)包在收到32K Byte的寫入數(shù)據(jù)時在SD卡中寫入的數(shù)據(jù)已超過32K Byte,即這5個數(shù)據(jù)包在SD卡中寫入32K Byte的第一批寫入數(shù)據(jù)前未接收到32K Byte的第二批寫入數(shù)據(jù)。通過實(shí)測發(fā)現(xiàn)在大部分PC上的寫超前概率均極低,即低于預(yù)設(shè)的概率閾值。在本實(shí)施例中,當(dāng)主機(jī)的寫超前概率小于預(yù)設(shè)的概率閾值時,先接收來自主機(jī)的第一預(yù)設(shè)數(shù)量的寫入數(shù)據(jù),即先從PC上接收其發(fā)送的32K Byte的寫入數(shù)據(jù)。步驟302,從主機(jī)接收32K Byte的第一批寫入數(shù)據(jù)。當(dāng)主機(jī)上的寫超前概率小于概率閾值時,接收來自主機(jī)的32K Byte的第一批寫入數(shù)據(jù),圖4為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例二中的執(zhí)行過程和時間軸示意圖一,如圖4所示,若寫超前概率滿足概率閾值,則執(zhí)行時間段A所示的接收數(shù)據(jù)的過程。步驟303,執(zhí)行64K Byte的數(shù)據(jù)寫入程序,以將第一批寫入數(shù)據(jù)寫入SD卡,并從主機(jī)接收32K Byte的第二批寫入數(shù)據(jù)。在接收到主機(jī)發(fā)送的32K Byte的第一批寫入數(shù)據(jù),即執(zhí)行完圖4中時間段A所示的任務(wù)后,并行執(zhí)行時間段B和C所示的任務(wù),即執(zhí)行64K Byte的數(shù)據(jù)寫入程序,以向SD 卡中寫入32K Byte的第一批寫入數(shù)據(jù),并同時繼續(xù)從主機(jī)接收32K Byte的第二批寫入數(shù)據(jù)。
步驟304,在接收到32K Byte的第二批寫入數(shù)據(jù)后,判斷在SD卡中是否已寫入32K Byte的第一批寫入數(shù)據(jù),如果是,則執(zhí)行步驟305,否則步驟306,繼續(xù)執(zhí)行步驟303中數(shù)據(jù)的寫入過程。在接收到32K Byte的第二批寫入數(shù)據(jù)后,檢測在SD卡中是否已寫入32K Byte的第一批寫入數(shù)據(jù),即執(zhí)行完圖4中時間段B所示的任務(wù)后,判斷時間段C所示的寫入過程中是否已完成32K Byte的第一批數(shù)據(jù)的寫入,如果是,則執(zhí)行步驟305,否則執(zhí)行步驟306。步驟305,重啟64K Byte的數(shù)據(jù)寫入程序,以重新向SD卡中寫入64K Byte的寫入數(shù)據(jù)。若在接收到時間段B所示的32K Byte的第二批寫入數(shù)據(jù)時,SD卡中已寫完3 Byte的第一批寫入數(shù)據(jù)的寫入操作,則表明寫入數(shù)據(jù)的速度超過了接收數(shù)據(jù)的速度,此時可能出現(xiàn)寫入的數(shù)據(jù)為空的情況,為了避免產(chǎn)生這種數(shù)據(jù)錯誤的問題,本實(shí)施例在出現(xiàn)這種特殊情況時,重啟64K Byte的數(shù)據(jù)寫入程序的執(zhí)行過程,重新向SD卡中寫入64K Byte 的寫入數(shù)據(jù),以保證寫入數(shù)據(jù)的正確性。步驟306,繼續(xù)執(zhí)行步驟303中的64K Byte的數(shù)據(jù)寫入程序,在第一批寫入數(shù)據(jù)的寫入完成后,向SD卡中寫入第二批寫入數(shù)據(jù)。若在接收到時間段B所示的32K Byte的第二批寫入數(shù)據(jù)后,SD卡中尚未完成 32K Byte的第一批寫入數(shù)據(jù)的寫入過程,則不會出現(xiàn)異常數(shù)據(jù)錯誤情況,此時繼續(xù)執(zhí)行步驟303中向SD卡中寫入數(shù)據(jù)的操作,無需中斷該寫入過程,即連續(xù)執(zhí)行時間段C所示的任務(wù)。繼續(xù)參照上述圖4,在完成時間段C所示的數(shù)據(jù)寫入任務(wù)后,后續(xù)還包括時間段D 和E,其中,時間段D表示回CSW時間,即在數(shù)據(jù)寫入SD卡后通過CSW將傳輸結(jié)果反饋到PC, 時間段E表示從CSW到PC下發(fā)下一個數(shù)據(jù)包的時間。步驟307,從主機(jī)接收32K Byte的第一批寫入數(shù)據(jù)。當(dāng)主機(jī)上的寫超前概率大于或等于概率閾值時,表明該主機(jī)出現(xiàn)寫入速率大于接收速率的概率較大,若仍采用圖4中時間段B和C并行執(zhí)行的方法,則重寫數(shù)據(jù)的幾率較大,反而會造成寫性能下降。因此,本實(shí)施例針對這種情況,則采用另外的一種策略來完成數(shù)據(jù)寫入,即從主機(jī)接收32K Byte的第一批寫入數(shù)據(jù),圖5為本發(fā)明數(shù)據(jù)寫處理方法實(shí)施例二中的執(zhí)行過程和時間軸示意圖二,如圖5所示,若寫超前概率不滿足概率閾值,則執(zhí)行圖5中時間段A所示的接收數(shù)據(jù)的過程。步驟308,執(zhí)行第一批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將第一批寫入數(shù)據(jù)寫入 SD卡中,并從主機(jī)接收32K Byte的第二批寫入數(shù)據(jù)。在接收到主機(jī)發(fā)送的32K Byte的第一批寫入數(shù)據(jù),即執(zhí)行完圖5中時間段A所示的任務(wù)后,并行執(zhí)行圖5中時間段B和C所示的任務(wù),即執(zhí)行第一批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,向SD卡中先寫入32K Byte的第一批寫入數(shù)據(jù),并同時繼續(xù)從主機(jī)接收32K Byte 的第二批寫入數(shù)據(jù)。步驟309,執(zhí)行第二批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將第二批寫入數(shù)據(jù)寫入 SD卡中。在SD卡中寫入32K Byte的第一批寫入數(shù)據(jù)后,執(zhí)行第二批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,開始向SD卡中寫入32K Byte的第二批寫入數(shù)據(jù),即在執(zhí)行完成圖5中時間段C所示的任務(wù)后,再執(zhí)行時間段D所示的任務(wù),將向SD卡中寫入數(shù)據(jù)的過程分為兩個階段分別執(zhí)行。繼續(xù)參照上述圖5,在完成時間段C和D所示的數(shù)據(jù)寫入任務(wù)后,后續(xù)還包括時間段E和F,其中,時間段E表示回CSW時間,即在數(shù)據(jù)寫入SD卡后通過CSW將傳輸結(jié)果反饋到PC,時間段F表示從CSW到PC下發(fā)下一個數(shù)據(jù)包的時間。本實(shí)施例提供了一種數(shù)據(jù)寫處理方法,先從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù),再執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序以將第一批寫入數(shù)據(jù)寫入存儲空間,此時從主機(jī)接收第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),當(dāng)接收到第二批寫入數(shù)據(jù)后第一批寫入數(shù)據(jù)的寫入已完成時,再將第二批寫入數(shù)據(jù)寫入到存儲空間;本實(shí)施例采用數(shù)據(jù)并行寫入機(jī)制將后半部分寫入數(shù)據(jù)的接收任務(wù)與整個寫入數(shù)據(jù)的寫入任務(wù)并行執(zhí)行,可以有效利用CPU的多線程及DMA并行搬運(yùn)數(shù)據(jù)的優(yōu)勢,優(yōu)化了數(shù)據(jù)寫處理的性能,提高了終端設(shè)備的寫入速率。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。圖6為本發(fā)明數(shù)據(jù)寫處理裝置實(shí)施例一的結(jié)構(gòu)圖,如圖6所示,本實(shí)施例提供了一種數(shù)據(jù)寫入處理裝置,可以具體執(zhí)行上述方法實(shí)施例一中的各個步驟,此處不再贅述。本實(shí)施例提供的數(shù)據(jù)寫處理裝置可以具體包括接收模塊601、第一寫入模塊602和第二寫入模塊603。其中,接收模塊601用于從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)。第一寫入模塊602用于執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),其中,所述第二預(yù)設(shè)數(shù)量為所述第一預(yù)設(shè)數(shù)量的兩倍。第二寫入模塊603用于在接收到所述第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間。圖7為本發(fā)明數(shù)據(jù)寫處理裝置實(shí)施例二的結(jié)構(gòu)圖,如圖7所示,本實(shí)施例提供了一種數(shù)據(jù)寫入處理裝置,可以具體執(zhí)行上述方法實(shí)施例二中的各個步驟,此處不再贅述。本實(shí)施例提供的數(shù)據(jù)寫處理裝置在上述圖6所示的基礎(chǔ)之上,第二寫入模塊603可以具體包括判斷單元613、第一寫入單元623和第二寫入單元633。其中,判斷單元613用于在接收到所述第二批寫入數(shù)據(jù)時,判斷所述第一批寫入數(shù)據(jù)的寫入是否完成。第一寫入單元623用于若所述第一批寫入數(shù)據(jù)仍在寫入,則在所述第一批寫入數(shù)據(jù)的寫入完成后,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間。第二寫入單元633用于若所述第一批寫入數(shù)據(jù)已經(jīng)寫入完成,則重啟所述第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第二批寫入數(shù)據(jù)寫入所述存儲空間。進(jìn)一步地,本實(shí)施例提供的數(shù)據(jù)寫處理裝置還可以包括判斷模塊701和寫處理模塊702。其中,判斷模塊701用于判斷主機(jī)上的寫超前概率是否小于預(yù)設(shè)的概率閾值。寫處理模塊702用于當(dāng)判斷模塊701的判斷結(jié)果為所述寫超前概率大于或等于預(yù)設(shè)的概率閾值時,從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);執(zhí)行所述第一批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù);執(zhí)行所述第二批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將所述第二批寫入數(shù)據(jù)寫入所述存儲空間。接收模塊601具體用于當(dāng)判斷模塊701的判斷結(jié)果為所述寫超前概率小于預(yù)設(shè)的概率閾值時,執(zhí)行所述從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)的步驟。 其中,所述寫超前概率為在所述存儲空間中寫入所述第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)前未接收到所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù)的概率。具體地,本實(shí)施例中的第一預(yù)設(shè)數(shù)量可以具體為32K比特,第二預(yù)設(shè)數(shù)量可以具體為64K比特。本實(shí)施例提供了一種數(shù)據(jù)寫處理裝置,先從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù),再執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序以將第一批寫入數(shù)據(jù)寫入存儲空間,此時從主機(jī)接收第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),當(dāng)接收到第二批寫入數(shù)據(jù)后第一批寫入數(shù)據(jù)的寫入已完成時,再將第二批寫入數(shù)據(jù)寫入到存儲空間;本實(shí)施例采用數(shù)據(jù)并行寫入機(jī)制將后半部分寫入數(shù)據(jù)的接收任務(wù)與整個寫入數(shù)據(jù)的寫入任務(wù)并行執(zhí)行,可以有效利用CPU的多線程及DMA并行搬運(yùn)數(shù)據(jù)的優(yōu)勢,優(yōu)化了數(shù)據(jù)寫處理的性能,提高了終端設(shè)備的寫入速率。最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換; 而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種數(shù)據(jù)寫處理方法,其特征在于,包括 從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),其中,所述第二預(yù)設(shè)數(shù)量為所述第一預(yù)設(shè)數(shù)量的兩倍;在接收到所述第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在接收到所述第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間包括在接收到所述第二批寫入數(shù)據(jù)時,判斷所述第一批寫入數(shù)據(jù)的寫入是否完成; 若所述第一批寫入數(shù)據(jù)仍在寫入,則在所述第一批寫入數(shù)據(jù)的寫入完成后,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間;若所述第一批寫入數(shù)據(jù)已經(jīng)寫入完成,則重啟所述第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第二批寫入數(shù)據(jù)寫入所述存儲空間。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 判斷主機(jī)上的寫超前概率是否小于預(yù)設(shè)的概率閾值;當(dāng)所述寫超前概率小于預(yù)設(shè)的概率閾值時,執(zhí)行所述從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)的步驟;當(dāng)所述寫超前概率大于或等于預(yù)設(shè)的概率閾值時,從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);執(zhí)行所述第一批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù);執(zhí)行所述第二批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將所述第二批寫入數(shù)據(jù)寫入所述存儲空間;其中,所述寫超前概率為在所述存儲空間中寫入所述第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)前未接收到所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù)的概率。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述第一預(yù)設(shè)數(shù)量為32K比特,所述第二預(yù)設(shè)數(shù)量為64K比特。
5.一種數(shù)據(jù)寫處理裝置,其特征在于,包括接收模塊,用于從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù); 第一寫入模塊,用于執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),其中,所述第二預(yù)設(shè)數(shù)量為所述第一預(yù)設(shè)數(shù)量的兩倍;第二寫入模塊,用于在接收到所述第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述第二寫入模塊包括判斷單元,用于在接收到所述第二批寫入數(shù)據(jù)時,判斷所述第一批寫入數(shù)據(jù)的寫入是否完成;第一寫入單元,用于若所述第一批寫入數(shù)據(jù)仍在寫入,則在所述第一批寫入數(shù)據(jù)的寫入完成后,通過所述數(shù)據(jù)寫入程序?qū)⑺龅诙鷮懭霐?shù)據(jù)寫入所述存儲空間;第二寫入單元,用于若所述第一批寫入數(shù)據(jù)已經(jīng)寫入完成,則重啟所述第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將所述第二批寫入數(shù)據(jù)寫入所述存儲空間。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,還包括判斷模塊,用于判斷主機(jī)上的寫超前概率是否小于預(yù)設(shè)的概率閾值; 寫處理模塊,用于當(dāng)所述判斷模塊的判斷結(jié)果為所述寫超前概率大于或等于預(yù)設(shè)的概率閾值時,從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);執(zhí)行所述第一批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將所述第一批寫入數(shù)據(jù)寫入存儲空間,并從所述主機(jī)接收所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù);執(zhí)行所述第二批寫入數(shù)據(jù)對應(yīng)的數(shù)據(jù)寫入程序,以將所述第二批寫入數(shù)據(jù)寫入所述存儲空間;所述接收模塊具體用于當(dāng)所述判斷模塊的判斷結(jié)果為所述寫超前概率小于預(yù)設(shè)的概率閾值時,執(zhí)行所述從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)的步驟;其中,所述寫超前概率為在所述存儲空間中寫入所述第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù)前未接收到所述第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù)的概率。
8.根據(jù)權(quán)利要求5-7中任一項(xiàng)所述的裝置,其特征在于,所述第一預(yù)設(shè)數(shù)量為32K比特,所述第二預(yù)設(shè)數(shù)量為64K比特。
9.一種終端設(shè)備,其特征在于,包括上述權(quán)利要求5-8中任一項(xiàng)所述的數(shù)據(jù)寫處理裝置。
全文摘要
本發(fā)明實(shí)施例公開了一種數(shù)據(jù)寫處理方法、裝置和終端設(shè)備,方法包括從主機(jī)接收第一預(yù)設(shè)數(shù)量的第一批寫入數(shù)據(jù);執(zhí)行第二預(yù)設(shè)數(shù)量的數(shù)據(jù)寫入程序,以將第一批寫入數(shù)據(jù)寫入存儲空間,并從主機(jī)接收第一預(yù)設(shè)數(shù)量的第二批寫入數(shù)據(jù),其中,第二預(yù)設(shè)數(shù)量為第一預(yù)設(shè)數(shù)量的兩倍;在接收到第二批寫入數(shù)據(jù)后所述第一批寫入數(shù)據(jù)的寫入完成時,通過數(shù)據(jù)寫入程序?qū)⒌诙鷮懭霐?shù)據(jù)寫入存儲空間。裝置包括接收模塊和第一寫入模塊。本發(fā)明實(shí)施例還提供了一種終端設(shè)備。本發(fā)明實(shí)施例優(yōu)化了數(shù)據(jù)寫處理的性能,提高了終端設(shè)備的寫入速率。
文檔編號G06F13/28GK102203753SQ201180000682
公開日2011年9月28日 申請日期2011年5月23日 優(yōu)先權(quán)日2011年5月23日
發(fā)明者潘時林 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
丹凤县| 台北市| 大港区| 招远市| 凤山市| 凌海市| 轮台县| 赞皇县| 平果县| 达孜县| 大余县| 汝州市| 涟源市| 滕州市| 镇巴县| 海丰县| 基隆市| 永德县| 海林市| 正阳县| 宁波市| 义乌市| 怀柔区| 台南市| 龙井市| 广灵县| 裕民县| 依兰县| 宁安市| 公主岭市| 乃东县| 丰都县| 平度市| 措美县| 东阳市| 即墨市| 禄丰县| 襄樊市| 洮南市| 礼泉县| 新泰市|