數(shù)據(jù)存儲(chǔ)系統(tǒng)以及其管理方法【專利摘要】本發(fā)明公開一種數(shù)據(jù)存儲(chǔ)系統(tǒng)以及其管理方法。該管理方法適用于一數(shù)據(jù)存儲(chǔ)裝置,其中該數(shù)據(jù)存儲(chǔ)裝置經(jīng)由一總線耦接至一主機(jī)裝置,該管理方法包括:判定該數(shù)據(jù)存儲(chǔ)裝置需要使用該主機(jī)裝置的一第一暫存存儲(chǔ)器以存取該數(shù)據(jù)存儲(chǔ)裝置的一第二暫存存儲(chǔ)器的數(shù)據(jù);根據(jù)上述判定,經(jīng)由該總線對(duì)該主機(jī)裝置發(fā)送一裝置總線主控(Device?Bus?Master,DBM)請(qǐng)求訊息以請(qǐng)求該總線上數(shù)據(jù)傳輸?shù)囊豢刂茩?quán);響應(yīng)于該裝置總線主控請(qǐng)求訊息,檢測(cè)該總線以判斷是否從該主機(jī)裝置接收一第一裝置總線主控允許訊息;以及如果收到該第一裝置總線主控允許訊息,則對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行存取?!緦@f(shuō)明】數(shù)據(jù)存儲(chǔ)系統(tǒng)以及其管理方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及一種快閃存儲(chǔ)器,特別涉及一種適用于快閃存儲(chǔ)器的管理方法以及其數(shù)據(jù)存儲(chǔ)系統(tǒng)?!?br>背景技術(shù):
】[0002]快閃存儲(chǔ)器是一種電子抹除式可編程只讀存儲(chǔ)器,允許在操作中被多次抹除或?qū)懭耄瑧?yīng)用于存儲(chǔ)卡或隨身碟等裝置。快閃存儲(chǔ)器通常會(huì)包含多種管理表,暫存于快閃存儲(chǔ)器的一隨機(jī)存取存儲(chǔ)器(RandomAccessMemory,下稱RAM)中,便于在對(duì)該快閃存儲(chǔ)器進(jìn)行存取操作的過(guò)程中,對(duì)這些管理表進(jìn)行查找及實(shí)時(shí)更新。這些管理表包括邏輯對(duì)應(yīng)物理地址表(logical-to-physicaladdressmappingtable),其用于記錄以及管理數(shù)據(jù)存放的邏輯位置和物理地址對(duì)應(yīng)關(guān)系;壞塊表(badblocktable),其用于記錄該快閃存儲(chǔ)器中已經(jīng)損壞的區(qū)塊;等等。除了多種管理表之外,快閃存儲(chǔ)器的RAM還暫存對(duì)該快閃存儲(chǔ)器進(jìn)行存取時(shí)的數(shù)據(jù)。[0003]由于快閃存儲(chǔ)器的RAM的空間有限,其緩存的管理表以及數(shù)據(jù)大小也受到限制。隨著快閃存儲(chǔ)器的存儲(chǔ)空間越來(lái)越大,需要緩存的管理表以及數(shù)據(jù)的數(shù)據(jù)量也越來(lái)越大。單純采用更大存儲(chǔ)容量RAM的方式會(huì)導(dǎo)致產(chǎn)品成本和體積大大增加。因此需要一種存儲(chǔ)器管理方法,用于在不增加產(chǎn)品成本及體積的前提下,增加用于緩存的管理表及數(shù)據(jù)的存儲(chǔ)器空間,并在所有傳輸狀況下都可以控制以及管理緩存的管理表以及暫存的數(shù)據(jù)?!?br/>發(fā)明內(nèi)容】[0004]基于上述目的,本發(fā)明實(shí)施例公開了一種管理方法,適用于一數(shù)據(jù)存儲(chǔ)裝置,其中該數(shù)據(jù)存儲(chǔ)裝置經(jīng)由一總線耦接至一主機(jī)裝置,該管理方法包括:判定該數(shù)據(jù)存儲(chǔ)裝置需要使用該主機(jī)裝置的一第一暫存存儲(chǔ)器以存取該數(shù)據(jù)存儲(chǔ)裝置的一第二暫存存儲(chǔ)器的數(shù)據(jù);根據(jù)上述判定,經(jīng)由該總線對(duì)該主機(jī)裝置發(fā)送一裝置總線主控(DeviceBusMaster,DBM)請(qǐng)求訊息以請(qǐng)求該總線上數(shù)據(jù)傳輸?shù)囊豢刂茩?quán);響應(yīng)于該裝置總線主控請(qǐng)求訊息,檢測(cè)該總線以判斷是否從該主機(jī)裝置接收一第一裝置總線主控允許訊息;以及如果收到該第一裝置總線主控允許訊息,則對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行存取。[0005]本發(fā)明實(shí)施例另外公開了數(shù)據(jù)存儲(chǔ)系統(tǒng),包括一數(shù)據(jù)存儲(chǔ)裝置以及一主機(jī)裝置。該主機(jī)裝置經(jīng)由一總線耦接至該數(shù)據(jù)存儲(chǔ)裝置。該數(shù)據(jù)存儲(chǔ)裝置包括一存儲(chǔ)裝置控制器以及一存儲(chǔ)裝置收發(fā)器。該存儲(chǔ)裝置控制器判定該數(shù)據(jù)存儲(chǔ)裝置需要使用該主機(jī)裝置的一第一暫存存儲(chǔ)器以存取該數(shù)據(jù)存儲(chǔ)裝置的一第二暫存存儲(chǔ)器的數(shù)據(jù)。該存儲(chǔ)裝置收發(fā)器耦接該存儲(chǔ)裝置控制器,根據(jù)上述判定,經(jīng)由該總線對(duì)該主機(jī)裝置發(fā)送一裝置總線主控(DeviceBusMaster,DBM)請(qǐng)求訊息以請(qǐng)求該總線上數(shù)據(jù)傳輸?shù)囊豢刂茩?quán)。該主機(jī)裝置包括一主機(jī)控制器,檢測(cè)到該裝置總線主控請(qǐng)求訊息后,經(jīng)由該總線發(fā)出一第一裝置總線主控允許訊息。該存儲(chǔ)裝置控制器檢測(cè)該總線以判斷是否從該主機(jī)裝置接收該第一裝置總線主控允許訊息,如果該存儲(chǔ)裝置控制器收到該第一裝置總線主控允許訊息,對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行存取。[0006]本發(fā)明公開的數(shù)據(jù)存儲(chǔ)系統(tǒng)以及其管理方法可以在數(shù)據(jù)存儲(chǔ)裝置和主機(jī)裝置連線間的任何階段,包括閑置狀態(tài)、寫入傳輸狀態(tài)或是讀取傳輸狀態(tài)進(jìn)行的情況下,只要判定需要使用主機(jī)裝置的暫存存儲(chǔ)器暫存數(shù)據(jù)或管理表,數(shù)據(jù)存儲(chǔ)裝置就可以即時(shí)發(fā)出裝置總線主控(devicebusmaster,以下稱為DBM)請(qǐng)求訊息至主機(jī)裝置,對(duì)主機(jī)裝置請(qǐng)求總線上數(shù)據(jù)傳輸?shù)目刂茩?quán)。一旦主機(jī)裝置允許數(shù)據(jù)傳輸?shù)目刂茩?quán),數(shù)據(jù)存儲(chǔ)裝置即可自由存取主機(jī)裝置的暫存存儲(chǔ)器?!緦@綀D】【附圖說(shuō)明】[0007]圖1是顯示本發(fā)明實(shí)施例中一種數(shù)據(jù)存儲(chǔ)系統(tǒng)I的區(qū)塊圖;[0008]圖2是顯示本發(fā)明實(shí)施例中一種正常寫入傳輸模式的時(shí)序圖;[0009]圖3是顯示本發(fā)明實(shí)施例中一種正常讀取傳輸模式的時(shí)序圖;[0010]圖4是顯示本發(fā)明實(shí)施例中一種在正常寫入傳輸模式下請(qǐng)求總線主控方法的時(shí)序圖;[0011]圖5是顯示本發(fā)明實(shí)施例中一種在正常讀取傳輸模式下請(qǐng)求總線主控方法的時(shí)序圖;[0012]圖6是顯示本發(fā)明實(shí)施例中一種在閑置模式下請(qǐng)求總線主控方法的時(shí)序圖;[0013]圖7是顯示本發(fā)明實(shí)施例中一種解除請(qǐng)求總線主控方法的時(shí)序圖;[0014]圖8是顯示本發(fā)明實(shí)施例中另一種請(qǐng)求總線主控方法的時(shí)序圖;[0015]圖9是顯示本發(fā)明實(shí)施例中另一種請(qǐng)求總線主控方法的時(shí)序圖;[0016]圖10是顯示本發(fā)明實(shí)施例中另一種請(qǐng)求總線主控方法的時(shí)序圖;[0017]圖11是顯示本發(fā)明實(shí)施例另一種在獲得總線主控后針對(duì)寫入錯(cuò)誤的管理方法的時(shí)序圖;[0018]圖12是顯示本發(fā)明實(shí)施例中另一種在獲得總線主控后針對(duì)寫入錯(cuò)誤的管理方法的時(shí)序圖;以及[0019]圖13是顯示本發(fā)明實(shí)施例中一種數(shù)據(jù)存儲(chǔ)系統(tǒng)的管理方法13的流程圖。[0020]【符號(hào)說(shuō)明】[0021]10~數(shù)據(jù)存儲(chǔ)裝置;[0022]100~存儲(chǔ)裝置收發(fā)器;[0023]102~存儲(chǔ)裝置控制器;[0024]104~快閃存儲(chǔ)器;[0025]106~暫存存儲(chǔ)器;[0026]12~主機(jī)裝置;[0027]13~總線;[0028]120~主機(jī)裝置收發(fā)器;[0029]122~主機(jī)裝置控制器;[0030]124~暫存存儲(chǔ)器;[0031]CLK~時(shí)鐘信號(hào)線;[0032]DS~數(shù)據(jù)閃動(dòng)信號(hào)線;[0033]CMD?指令信號(hào)線;[0034]DAT?數(shù)據(jù)信號(hào)線;[0035]200?指令訊息;[0036]202?回應(yīng)訊息;[0037]220、224?數(shù)據(jù)訊息;[0038]222、226?驗(yàn)證狀態(tài)訊息;[0039]240、242?數(shù)據(jù)快閃訊息;[0040]Tbsyl、Tbsy2?忙碌期間;[0041]Tblkl、Tblk2?區(qū)塊空閑期間;[0042]TpBM—reql、TpBM—req2、TpBM—req3、TpBM—req4閑直期間,[0043]300?指令訊息;[0044]303?回應(yīng)訊息;[0045]320、322?數(shù)據(jù)訊息;[0046]340、342?數(shù)據(jù)快閃訊息;[0047]400、408?數(shù)據(jù)訊息;[0048]402,410?驗(yàn)證狀態(tài)訊息;[0049]404?DBM數(shù)據(jù)訊息;[0050]406?DBM驗(yàn)證狀態(tài)訊息;[0051]420?DBM允許訊息;[0052]422?DBM回應(yīng)訊息;[0053]442?DBM請(qǐng)求訊息;[0054]440、444、446?數(shù)據(jù)快閃訊息;[0055]500?指令訊息;[0056]502?回應(yīng)訊息;[0057]504?DBM允許訊息;[0058]506?DBM回應(yīng)訊息;[0059]520?DBM數(shù)據(jù)訊息;[0060]522?DBM驗(yàn)證狀態(tài)訊息;[0061]524?數(shù)據(jù)訊息;[0062]540?DBM請(qǐng)求訊息;[0063]542、544?數(shù)據(jù)快閃訊息;[0064]600?DBM請(qǐng)求訊息[0065]602?數(shù)據(jù)快閃訊息[0066]622?DBM允許訊息;[0067]622?DBM回應(yīng)訊息;[0068]640?DBM數(shù)據(jù)訊息;[0069]644?DBM驗(yàn)證狀態(tài)訊息;[0070]720?DBM請(qǐng)求訊息[0071]722?數(shù)據(jù)快閃訊息[0072]700?指令訊息;[0073]702?回應(yīng)訊息;[0074]740?數(shù)據(jù)訊息;[0075]840?DBM請(qǐng)求訊息[0076]842、844?數(shù)據(jù)快閃訊息[0077]800?指令訊息;[0078]802?回應(yīng)訊息;[0079]804?DBM允許訊息;[0080]806?DBM回應(yīng)訊息;[0081]820?DBM數(shù)據(jù)訊息;[0082]822?DBM驗(yàn)證狀態(tài)訊息;[0083]824?數(shù)據(jù)訊息;[0084]940?DBM請(qǐng)求訊息[0085]942、944?數(shù)據(jù)快閃訊息[0086]900?DBM允許訊息(TID=O);[0087]902?DBM回應(yīng)訊息(TID=O);[0088]904?DBM允許訊息(TID=I);[0089]906?DBM回應(yīng)訊息(TID=I);[0090]920、924?DBM數(shù)據(jù)訊息;[0091]922、926?DBM驗(yàn)證狀態(tài)訊息;[0092]1040?DBM請(qǐng)求訊息[0093]1042、1044?數(shù)據(jù)快閃訊息[0094]1000?DBM允許訊息(TID=O);[0095]1002?DBM回應(yīng)訊息(TID=O);[0096]1004?DBM允許訊息(TID=I);[0097]1006?DBM回應(yīng)訊息(TID=I);[0098]1020、1024?DBM數(shù)據(jù)訊息;[0099]1140?DBM請(qǐng)求訊息[0100]1142、1144、1146?數(shù)據(jù)快閃訊息[0101]1100、1108?DBM允許訊息(TID=O);[0102]1102、1110?DBM回應(yīng)訊息(TID=O);[0103]1104?DBM允許訊息(TID=I);[0104]1106?DBM回應(yīng)訊息(TID=I);[0105]1120、1124、1128?DBM數(shù)據(jù)訊息;[0106]1122、1126、1130?DBM驗(yàn)證狀態(tài)訊息;[0107]1240?DBM請(qǐng)求訊息[0108]1242、1244?數(shù)據(jù)快閃訊息[0109]1200?DBM允許訊息(TID=O);[0110]1202?DBM回應(yīng)訊息(TID=O);[0111]1204~DBM允許訊息(TID=O);[0112]1206~DBM回應(yīng)訊息(TID=O);[0113]1220、1224~DBM數(shù)據(jù)訊息;以及[0114]S1300,S1302,…,S1310~步驟?!揪唧w實(shí)施方式】[0115]以下說(shuō)明目前實(shí)施本發(fā)明的優(yōu)選實(shí)施方式,其用以舉例說(shuō)明本發(fā)明的主要技術(shù)原貝U,并非用以限定本發(fā)明的范圍。本發(fā)明的范圍需視所附權(quán)利要求書來(lái)界定。[0116]以下公開書中提到的數(shù)據(jù)存儲(chǔ)裝置包括控制器、非易失性存儲(chǔ)器以及快閃存儲(chǔ)器。上述數(shù)據(jù)存儲(chǔ)裝置為一種可移除快閃存儲(chǔ)裝置或是嵌入式快閃存儲(chǔ)裝置,包括通用串行總線(UniversalSerialBus,下稱USB)快閃隨身碟或存儲(chǔ)卡、安全數(shù)字存儲(chǔ)卡(SecureDigitalSDcard)、microSD存儲(chǔ)卡、miniSD存儲(chǔ)卡、MultiMediaCard(下稱MMC)存儲(chǔ)卡、嵌入式MMC(eMultiMediaCardcard,下稱eMMC卡)存儲(chǔ)卡以及CF存儲(chǔ)卡(CompactFlashcard)。[0117]圖1是顯示本發(fā)明實(shí)施例中一種數(shù)據(jù)存儲(chǔ)系統(tǒng)I的區(qū)塊圖,包括數(shù)據(jù)存儲(chǔ)裝置10和主機(jī)裝置12,兩者間以總線13連接。數(shù)據(jù)存儲(chǔ)系統(tǒng)I可以是手機(jī)、個(gè)人數(shù)字助理、平板計(jì)算機(jī)、手提計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、掌上游戲機(jī)、數(shù)字相機(jī)、消費(fèi)者電子裝置或其他計(jì)算機(jī)裝置。在其中一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)裝置10為eMMC卡并且主機(jī)裝置12為處理器芯片。eMMC卡和主機(jī)裝置12間的溝通信號(hào)符合JEDECeMMC規(guī)范或之后更高的規(guī)范版本。連接數(shù)據(jù)存儲(chǔ)裝置10和主機(jī)裝置12的eMMC總線13包括時(shí)鐘信號(hào)線CLK、數(shù)據(jù)閃動(dòng)信號(hào)線DS(DataStrobe)、指令信號(hào)線CMD、數(shù)據(jù)信號(hào)線DAT、電源信號(hào)線(未圖示)以及重置信號(hào)線(未圖示),其中時(shí)鐘信號(hào)線CLK包括I條信號(hào)線、數(shù)據(jù)閃動(dòng)信號(hào)線DS包括I條信號(hào)線、指令信號(hào)線CMD包括I條信號(hào)線、數(shù)據(jù)信號(hào)線DAT包括8條信號(hào)線、電源信號(hào)線包括2條信號(hào)線以及重置信號(hào)線包括I條信號(hào)線。[0118]數(shù)據(jù)存儲(chǔ)裝置10和主機(jī)裝置12內(nèi)部分別具有暫存存儲(chǔ)器106和124。當(dāng)數(shù)據(jù)存儲(chǔ)裝置10和主機(jī)裝置12間有正在進(jìn)行的連線時(shí),數(shù)據(jù)存儲(chǔ)裝置10不但可使用其內(nèi)部的暫存存儲(chǔ)器106,也可使用主機(jī)裝置12內(nèi)部的暫存存儲(chǔ)器124進(jìn)行數(shù)據(jù)暫存運(yùn)作,這里的暫存的數(shù)據(jù)包括例如邏輯對(duì)應(yīng)物理地址表等管理表及數(shù)據(jù),即數(shù)據(jù)存儲(chǔ)裝置10可使用的暫存存儲(chǔ)器空間可延伸到主機(jī)裝置12的內(nèi)部存儲(chǔ)器,在主機(jī)裝置12的暫存存儲(chǔ)器124暫存數(shù)據(jù)以及管理表。數(shù)據(jù)存儲(chǔ)裝置10可動(dòng)態(tài)利用主機(jī)裝置12的內(nèi)部存儲(chǔ)器124來(lái)緩存本來(lái)需要緩存在本地存儲(chǔ)器106的數(shù)據(jù)以及管理表。[0119]在數(shù)據(jù)存儲(chǔ)裝置10和主機(jī)裝置12連線間的任何階段,包括讀取階段、寫入階段以及閑置階段,只要判定需要使用主機(jī)裝置12的暫存存儲(chǔ)器124暫存數(shù)據(jù)或管理表,數(shù)據(jù)存儲(chǔ)裝置10就可以即時(shí)發(fā)出裝置總線主控(devicebusmaster,以下稱為DBM)請(qǐng)求訊息至主機(jī)裝置12,對(duì)主機(jī)裝置12請(qǐng)求總線13上數(shù)據(jù)傳輸?shù)目刂茩?quán)。一旦主機(jī)裝置12允許數(shù)據(jù)傳輸?shù)目刂茩?quán),數(shù)據(jù)存儲(chǔ)裝置10即可自由存取主機(jī)裝置12的暫存存儲(chǔ)器124。上述DBM請(qǐng)求訊息具有最高的處理優(yōu)先順序,高于讀取程序、寫入程序或是閑置程序。當(dāng)正在進(jìn)行正常讀取或?qū)懭氤绦蛑校坏┲鳈C(jī)裝置12收到DBM請(qǐng)求訊息即會(huì)暫停目前正在進(jìn)行中的讀取或?qū)懭氤绦虿⒈M快回應(yīng)該請(qǐng)求。而在DBM請(qǐng)求的數(shù)據(jù)服務(wù)完成后,主機(jī)裝置12可繼續(xù)進(jìn)行暫停的讀取或?qū)懭氤绦?。在整個(gè)DBM的服務(wù)程序中主機(jī)裝置12都可知道正在進(jìn)行的動(dòng)作,并且不會(huì)有其他中斷程序打斷DBM服務(wù)程序。但本發(fā)明對(duì)總線13的具體規(guī)格并不作限制,只要具備可在正常數(shù)據(jù)傳輸過(guò)程中由數(shù)據(jù)存儲(chǔ)裝置10向主機(jī)裝置12發(fā)出DBM請(qǐng)求訊息的信號(hào)線即可。[0120]數(shù)據(jù)存儲(chǔ)裝置10包括存儲(chǔ)裝置收發(fā)器100、存儲(chǔ)裝置控制器102、快閃存儲(chǔ)器104以及暫存存儲(chǔ)器106。存儲(chǔ)裝置控制器102耦接存儲(chǔ)裝置收發(fā)器100、快閃存儲(chǔ)器104以及暫存存儲(chǔ)器106??扉W存儲(chǔ)器104可包括一或多個(gè)快閃存儲(chǔ)器,存儲(chǔ)裝置控制器102可將存取數(shù)據(jù)的管理信息以管理表形式存在暫存存儲(chǔ)器106中,并于存取快閃存儲(chǔ)器104內(nèi)的數(shù)據(jù)時(shí)通過(guò)管理表而存取正確的物理地址。暫存存儲(chǔ)器106可以是RAM,其可存儲(chǔ)數(shù)據(jù)存儲(chǔ)裝置10的管理表或是數(shù)據(jù)存取處理中所需的暫存數(shù)據(jù)。存儲(chǔ)裝置控制器102也可使用DBM服務(wù)程序存取主機(jī)裝置12的內(nèi)部暫存存儲(chǔ)器(存儲(chǔ)空間)124。存儲(chǔ)裝置收發(fā)器100用于和主機(jī)裝置12進(jìn)行數(shù)據(jù)傳輸。[0121]主機(jī)裝置12包括主機(jī)裝置收發(fā)器120、主機(jī)裝置控制器122以及暫存存儲(chǔ)器124。主機(jī)裝置控制器122可存取存儲(chǔ)在暫存存儲(chǔ)器124的程序代碼以及數(shù)據(jù)。暫存存儲(chǔ)器124可以是RAM,其可存儲(chǔ)主機(jī)裝置控制器122要執(zhí)行的程序代碼、暫存數(shù)據(jù)、以及數(shù)據(jù)存儲(chǔ)裝置10的管理表和暫存數(shù)據(jù)。在一實(shí)施例中,暫存存儲(chǔ)器124為該主機(jī)裝置12的主存儲(chǔ)器(hostmemory).主機(jī)裝置控制器122耦接主機(jī)裝置收發(fā)器120以及暫存存儲(chǔ)器124。主機(jī)裝置收發(fā)器120用于和數(shù)據(jù)存儲(chǔ)裝置10進(jìn)行數(shù)據(jù)傳輸。[0122]在正常寫入以及讀取程序中,主機(jī)裝置12用于將正常數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)裝置10以及從數(shù)據(jù)存儲(chǔ)裝置10讀取正常數(shù)據(jù),詳細(xì)動(dòng)作如圖2和圖3所示。圖2是顯示本發(fā)明實(shí)施例中一種正常寫入程序的時(shí)序圖,其中只顯示數(shù)據(jù)閃動(dòng)信號(hào)線DS、指令信號(hào)線CMD和數(shù)據(jù)信號(hào)線DAT。此后圖中所示的DAT皆僅示出數(shù)據(jù)信號(hào)線DAT中的DAT[O]波形。其他未顯示的時(shí)鐘信號(hào)線CLK上信號(hào)會(huì)以固定時(shí)鐘周期切換,電源信號(hào)線持續(xù)供給數(shù)據(jù)存儲(chǔ)裝置10電源,重置信號(hào)線的信號(hào)在需要重置數(shù)據(jù)存儲(chǔ)裝置10才會(huì)動(dòng)作。[0123]在正常寫入程序中,首先主機(jī)裝置12會(huì)發(fā)出寫入指令200,而數(shù)據(jù)存儲(chǔ)裝置10會(huì)響應(yīng)收到的寫入指令200回復(fù)回應(yīng)指令202給主機(jī)裝置12,表示已收到寫入指令200并準(zhǔn)備好從主機(jī)裝置12接收寫入數(shù)據(jù)。主機(jī)裝置12收到回應(yīng)指令202后會(huì)將正常寫入數(shù)據(jù)以數(shù)據(jù)訊息220的形式傳送給數(shù)據(jù)存儲(chǔ)裝置10,該數(shù)據(jù)訊息220可將寫入數(shù)據(jù)封裝為一數(shù)據(jù)分組(datapacket)的形式,其包括起始位S、寫入數(shù)據(jù)DAT、數(shù)據(jù)驗(yàn)證碼例如循環(huán)冗余校驗(yàn)碼(Cyclicredundancycheck,下稱CRC)和結(jié)束位E。數(shù)據(jù)存儲(chǔ)裝置10收到數(shù)據(jù)訊息220通過(guò)CRC進(jìn)行驗(yàn)證,并將驗(yàn)證結(jié)果以驗(yàn)證狀態(tài)訊息222回傳給主機(jī)裝置12,并同時(shí)傳送切換(toggling)的數(shù)據(jù)閃動(dòng)信號(hào)240以提示主機(jī)裝置12開始接收驗(yàn)證狀態(tài)訊息222,其中驗(yàn)證狀態(tài)訊息222包括起始位S、驗(yàn)證結(jié)果CRC狀態(tài)及結(jié)束位E。舉例而言,驗(yàn)證結(jié)果CRC狀態(tài)為010,表示CRC驗(yàn)證數(shù)據(jù)無(wú)誤;驗(yàn)證結(jié)果CRC狀態(tài)為101,表示CRC驗(yàn)證數(shù)據(jù)有錯(cuò)。驗(yàn)證結(jié)果CRC狀態(tài)在數(shù)據(jù)信號(hào)線DAT[O]上序列傳輸,但本發(fā)明不限于此。如果是寫入數(shù)據(jù)不只一筆,則主機(jī)裝置12會(huì)另發(fā)下個(gè)數(shù)據(jù)訊息224給數(shù)據(jù)存儲(chǔ)裝置10并由數(shù)據(jù)存儲(chǔ)裝置10收到相應(yīng)的驗(yàn)證狀態(tài)訊息226。[0124]如圖2所示,主機(jī)裝置12發(fā)送寫入指令200之前,會(huì)有一段閑置期間Tdbm_;在正常寫入程序之中,主機(jī)裝置12也不會(huì)一直被占用,在主機(jī)裝置12接收完回應(yīng)指令202之后直至傳送第一筆數(shù)據(jù)訊息220之前,也存在一段閑置期間Tdbm;在主機(jī)裝置12接收完一筆數(shù)據(jù)訊息的驗(yàn)證狀態(tài)訊息(222)后直至傳送下一筆數(shù)據(jù)訊息(224)之前,也會(huì)有一段閑置期間(如圖2中的TDBM_req3及TDBM_req4)。在上述閑置期間TDBM_reqlTDBM_req4,主機(jī)裝置12不發(fā)送或接收任何數(shù)據(jù)或指令而閑置,可檢測(cè)到數(shù)據(jù)存儲(chǔ)裝置10傳送的DBM請(qǐng)求,進(jìn)而進(jìn)行DBM服務(wù)程序。[0125]以閑置期間TDBM—為例,閑置期間TDBM—包括忙碌期間(busyperiod)Tbsyl和區(qū)塊空閑期間(blockgap)Tblkl。在數(shù)據(jù)存儲(chǔ)裝置10收到數(shù)據(jù)訊息220并回復(fù)驗(yàn)證狀態(tài)訊息222之后,會(huì)需要一段時(shí)間處理寫入數(shù)據(jù)DAT,因此無(wú)法接受其他指令或數(shù)據(jù)。這段數(shù)據(jù)存儲(chǔ)裝置10無(wú)法接受其他指令或數(shù)據(jù)的時(shí)間稱為忙碌期間(busyperiod)Tbsyl,數(shù)據(jù)存儲(chǔ)裝置10會(huì)拉低數(shù)據(jù)信號(hào)線DAT表示處于忙碌期間Tbsyl,并再次拉高數(shù)據(jù)信號(hào)線DAT表示忙碌期間結(jié)束。忙碌期間結(jié)束到收到下一筆寫入數(shù)據(jù)的空閑時(shí)間稱為區(qū)塊空閑期間Tblkl。主機(jī)裝置12可在閑置期間Tdbm內(nèi),包括忙碌期間Tbsyl和區(qū)塊空閑期間Tblkl,檢測(cè)到數(shù)據(jù)存儲(chǔ)裝置10發(fā)送的DBM請(qǐng)求訊息,進(jìn)而進(jìn)行DBM服務(wù)程序。[0126]參考圖3,其顯示本發(fā)明實(shí)施例中一種正常讀取程序的時(shí)序圖。在正常讀取程序中,首先主機(jī)裝置12會(huì)發(fā)出讀取指令300,其包括要讀取的數(shù)據(jù)地址和長(zhǎng)度等信息。數(shù)據(jù)存儲(chǔ)裝置10會(huì)響應(yīng)收到的讀取指令300回復(fù)回應(yīng)指令302給主機(jī)裝置12,表示已收到讀取指令300并準(zhǔn)備好發(fā)送讀取數(shù)據(jù)至主機(jī)裝置12。接著數(shù)據(jù)存儲(chǔ)裝置10會(huì)開始將正常讀取數(shù)據(jù)以數(shù)據(jù)訊息320的形式發(fā)送給主機(jī)裝置12,并同時(shí)在數(shù)據(jù)閃動(dòng)信號(hào)線DS上傳送切換(toggling)的數(shù)據(jù)閃動(dòng)信號(hào)340以提示主機(jī)裝置12開始接收所讀取的數(shù)據(jù)訊息320的數(shù)據(jù)。該數(shù)據(jù)訊息320可將讀取數(shù)據(jù)封裝為一數(shù)據(jù)分組(datapacket)的形式,其包括起始位S、讀取數(shù)據(jù)DAT、數(shù)據(jù)驗(yàn)證碼例CRC和結(jié)束位E。主機(jī)裝置12收到數(shù)據(jù)訊息320通過(guò)CRC進(jìn)行驗(yàn)證。如果是讀取數(shù)據(jù)不只一筆,則數(shù)據(jù)存儲(chǔ)裝置10會(huì)另發(fā)下個(gè)數(shù)據(jù)訊息322以及相應(yīng)的數(shù)據(jù)閃動(dòng)信號(hào)342給主機(jī)裝置12。[0127]如圖3所示,主機(jī)裝置12發(fā)送讀取指令300之前,會(huì)有一段閑置期間Tdbmmi1;在正常讀取程序之中,主機(jī)裝置12也不會(huì)一直被占用,在主機(jī)裝置12接收完回應(yīng)指令302之后直至接收第一筆數(shù)據(jù)訊息320之前,也存在一段閑置期間Tdbm;主機(jī)裝置12在接收完一筆數(shù)據(jù)訊息(320)之后直至接收下一筆數(shù)據(jù)訊息(322)之前,也會(huì)有一段閑置期間(如圖3中的TdBM—req3及TDBM—_)。在上述閑置期間TdbmreqlΤβΒΜ—req4,主機(jī)裝置12不發(fā)送或接收任何數(shù)據(jù)或指令而閑置,可檢測(cè)到數(shù)據(jù)存儲(chǔ)裝置10傳送的DBM請(qǐng)求訊息,用以對(duì)主機(jī)裝置12請(qǐng)求數(shù)據(jù)傳輸?shù)目刂茩?quán),進(jìn)而進(jìn)行DBM服務(wù)程序。例如在圖3的例子中,以閑置期間Tdbmmi3為例,這樣的閑置期間均為區(qū)塊空閑期間。[0128]回到圖1的實(shí)施例,在數(shù)據(jù)存儲(chǔ)系統(tǒng)I開機(jī)后會(huì)先初始內(nèi)部電路元件,主機(jī)裝置12首先執(zhí)行啟動(dòng)載入程序(bootloader),用以設(shè)定數(shù)據(jù)存儲(chǔ)裝置10于暫存存儲(chǔ)器124可存取的存儲(chǔ)器范圍。該可存取的存儲(chǔ)器范圍可以是暫存存儲(chǔ)器124內(nèi)的一部分存儲(chǔ)器范圍,并可由eMMC裝置存儲(chǔ)器基本地址(eMMCdevicememorybaseaddress)[63:0]加以定義。表格I列出主機(jī)裝置12相關(guān)eMMC裝置存儲(chǔ)器基本地址的暫存器參數(shù)。[0129]【權(quán)利要求】1.一種管理方法,適用于一數(shù)據(jù)存儲(chǔ)裝置,其中該數(shù)據(jù)存儲(chǔ)裝置經(jīng)由一總線耦接至一主機(jī)裝置,該管理方法包括:判定該數(shù)據(jù)存儲(chǔ)裝置需要使用該主機(jī)裝置的一第一暫存存儲(chǔ)器以存取該數(shù)據(jù)存儲(chǔ)裝置的一第二暫存存儲(chǔ)器的數(shù)據(jù);根據(jù)上述判定,經(jīng)由該總線對(duì)該主機(jī)裝置發(fā)送一裝置總線主控(DeviceBusMaster,DBM)請(qǐng)求訊息以請(qǐng)求該總線上數(shù)據(jù)傳輸?shù)囊豢刂茩?quán);響應(yīng)于該裝置總線主控請(qǐng)求訊息,檢測(cè)該總線以判斷是否從該主機(jī)裝置接收一第一裝置總線主控允許訊息;以及如果收到該第一裝置總線主控允許訊息,則對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行存取。2.如權(quán)利要求1所述的管理方法,其中,經(jīng)由該總線對(duì)該主機(jī)裝置發(fā)送該裝置總線主控請(qǐng)求訊息的步驟包括:通過(guò)該總線的一數(shù)據(jù)閃動(dòng)(strobe)信號(hào)線聲明一數(shù)據(jù)閃動(dòng)信號(hào)以發(fā)出該裝置總線主控請(qǐng)求訊息。3.如權(quán)利要求1所述的管理方法,其中,當(dāng)該主機(jī)裝置對(duì)該數(shù)據(jù)存儲(chǔ)裝置進(jìn)行讀取或?qū)懭氩僮鲿r(shí),該主機(jī)裝置在一空閑期間檢測(cè)到該裝置總線主控請(qǐng)求訊息。4.如權(quán)利要求3所述的管理方法,其中,該空閑期間包括該主機(jī)裝置完成接收該數(shù)據(jù)存儲(chǔ)裝置發(fā)出的一正?;貞?yīng)指令之后直至傳輸一正常數(shù)據(jù)訊息之前的期間;該空閑期間還包括兩筆正常數(shù)據(jù)訊息之間一區(qū)塊空閑期間(blockgap)。5.如權(quán)利要求1所述的管理方法,還包括:在收到該第一裝置總線主控允許訊息后,停止發(fā)送該裝置總線主控請(qǐng)求訊息至該主機(jī)>j-Uρ?α裝直。6.如權(quán)利要求1所述的管理方法,其中,對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行的該存取步驟包括:傳送一裝置總線主控回應(yīng)訊息至該主機(jī)裝置;以及該裝置總線主控回應(yīng)訊息包括用于存取該主機(jī)裝置的該第一暫存存儲(chǔ)器的相關(guān)信息。7.如權(quán)利要求1所述的管理方法,還包括:如果該數(shù)據(jù)存儲(chǔ)裝置在收到該第一裝置總線主控允許訊息之后需要撤回對(duì)該控制權(quán)的請(qǐng)求,則傳送一裝置總線主控回應(yīng)訊息至該主機(jī)裝置,其中該裝置總線主控回應(yīng)訊息中的相關(guān)信息均為O。8.如權(quán)利要求1所述的管理方法,還包括:如果該數(shù)據(jù)存儲(chǔ)裝置在收到該第一裝置總線主控允許訊息之前需要撤回對(duì)該控制權(quán)的請(qǐng)求,則在收到該第一裝置總線主控允許訊息之前停止發(fā)送該裝置總線主控請(qǐng)求訊息。9.如權(quán)利要求1所述的管理方法,其中,對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行的該存取步驟包括:從該主機(jī)裝置接收一第一寫入數(shù)據(jù);驗(yàn)證該第一寫入數(shù)據(jù)的正確性,并將一驗(yàn)證結(jié)果傳至該主機(jī)裝置;以及當(dāng)該驗(yàn)證結(jié)果表明該第一寫入數(shù)據(jù)錯(cuò)誤時(shí),該主機(jī)裝置重新傳送該第一裝置總線主控允許訊息。10.如權(quán)利要求9所述的管理方法,其中,對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行的該存取步驟還包括:當(dāng)該驗(yàn)證結(jié)果表明該第一寫入數(shù)據(jù)正確時(shí),該主機(jī)裝置傳送一第二裝置總線主控允許訊息以傳輸一第二寫入數(shù)據(jù)。11.如權(quán)利要求1所述的管理方法,其中,對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行的該存取步驟包括:傳送一第一讀取數(shù)據(jù)至該主機(jī)裝置;以及當(dāng)該主機(jī)裝置驗(yàn)證該第一讀取數(shù)據(jù)錯(cuò)誤時(shí),重新傳送該第一裝置總線主控允許訊息。12.如權(quán)利要求11所述的管理方法,其中,對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行的該存取步驟還包括:當(dāng)該主機(jī)裝置驗(yàn)證該第一讀取數(shù)據(jù)出正確時(shí),該主機(jī)裝置傳送一第二裝置總線主控允許訊息以讀取一第二讀取數(shù)據(jù)。13.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括:一數(shù)據(jù)存儲(chǔ)裝置;以及一主機(jī)裝置,經(jīng)由一總線耦接至該數(shù)據(jù)存儲(chǔ)裝置,其中該數(shù)據(jù)存儲(chǔ)裝置還包括:一存儲(chǔ)裝置控制器,判定該數(shù)據(jù)存儲(chǔ)裝置需要使用該主機(jī)裝置的一第一暫存存儲(chǔ)器以存取該數(shù)據(jù)存儲(chǔ)裝置的一第二暫存存儲(chǔ)器的數(shù)據(jù);以及一存儲(chǔ)裝置收發(fā)器,耦接該存儲(chǔ)裝置控制器,根據(jù)上述判定,經(jīng)由該總線對(duì)該主機(jī)裝置發(fā)送一裝置總線主控(DeviceBusMaster,DBM)請(qǐng)求訊息以請(qǐng)求該總線上數(shù)據(jù)傳輸?shù)囊豢刂茩?quán),其中該主機(jī)裝置還包括:一主機(jī)控制器,檢測(cè)到該裝置總線主控請(qǐng)求訊息后,經(jīng)由該總線發(fā)出一第一裝置總線主控允許訊息;其中該存儲(chǔ)裝置控制器檢測(cè)該總線以判斷是否從該主機(jī)裝置接收該第一裝置總線主控允許訊息,如果該存儲(chǔ)裝置控制器收到該第一裝置總線主控允許訊息,對(duì)該主機(jī)裝置的該第一暫存存儲(chǔ)器進(jìn)行存取。14.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中該存儲(chǔ)裝置控制器通過(guò)該總線的一數(shù)據(jù)閃動(dòng)(strobe)信號(hào)線聲明一數(shù)據(jù)閃動(dòng)(strobe)信號(hào)以發(fā)出該裝置總線主控請(qǐng)求訊息。15.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,當(dāng)該主機(jī)裝置對(duì)該數(shù)據(jù)存儲(chǔ)裝置進(jìn)行讀取或?qū)懭氩僮鲿r(shí),該主機(jī)控制器在一空閑期間檢測(cè)到該裝置總線主控請(qǐng)求訊息。16.如權(quán)利要求15所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,該空閑期間包括該主機(jī)裝置完成接收該數(shù)據(jù)存儲(chǔ)裝置發(fā)出的一正?;貞?yīng)指令之后直至傳輸一正常數(shù)據(jù)訊息之前的期間;該空閑期間還包括兩筆正常數(shù)據(jù)訊息之間一區(qū)塊空閑期間(blockgap)。17.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,在收到該第一裝置總線主控允許訊息后,該存儲(chǔ)裝置控制器停止發(fā)送該裝置總線主控請(qǐng)求訊息至該主機(jī)裝置。18.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中:該存儲(chǔ)裝置收發(fā)器傳送一裝置總線主控回應(yīng)訊息至該主機(jī)裝置;以及該裝置總線主控回應(yīng)訊息包括用于存取該主機(jī)裝置的該第一暫存存儲(chǔ)器的相關(guān)信息。19.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中:該主機(jī)裝置傳輸一第一寫入數(shù)據(jù),該存儲(chǔ)裝置控制器驗(yàn)證該第一寫入數(shù)據(jù)的正確性,并將一驗(yàn)證結(jié)果傳至該主機(jī)裝置,以及當(dāng)該驗(yàn)證結(jié)果表明該第一寫入數(shù)據(jù)錯(cuò)誤時(shí),該主機(jī)控制器重新傳送該第一裝置總線主控允許訊息。20.如權(quán)利要求19所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中當(dāng)該驗(yàn)證結(jié)果表明該第一寫入數(shù)據(jù)正確時(shí),該主機(jī)控制器傳送一第二裝置總線主控允許訊息以傳輸一第二寫入數(shù)據(jù)。21.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中:該存儲(chǔ)裝置收發(fā)器傳送一第一讀取數(shù)據(jù)至該主機(jī)裝置,以及當(dāng)該主機(jī)控制器驗(yàn)證該第一讀取數(shù)據(jù)錯(cuò)誤時(shí),重新傳送該第一裝置總線主控允許訊息。22.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,當(dāng)該主機(jī)裝置驗(yàn)證該第一讀取數(shù)據(jù)出正確時(shí),該主機(jī)控制器傳送一第二裝置總線主控允許訊息以讀取一第二讀取數(shù)據(jù)。23.如權(quán)利要求13所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),其中,該數(shù)據(jù)存儲(chǔ)裝置的該第二暫存存儲(chǔ)器的數(shù)據(jù)包括該數(shù)據(jù)存儲(chǔ)裝置的一快閃存儲(chǔ)器的管理表及數(shù)據(jù)?!疚臋n編號(hào)】G06F3/06GK103631534SQ201310560162【公開日】2014年3月12日申請(qǐng)日期:2013年11月12日優(yōu)先權(quán)日:2013年11月12日【發(fā)明者】鐘凌燕,惠志強(qiáng),賴瑾申請(qǐng)人:上海兆芯集成電路有限公司