TWI498743B - 資料儲存系統以及其管理方法 - Google Patents

資料儲存系統以及其管理方法 Download PDF

Info

Publication number
TWI498743B
TWI498743B TW102142002A TW102142002A TWI498743B TW I498743 B TWI498743 B TW I498743B TW 102142002 A TW102142002 A TW 102142002A TW 102142002 A TW102142002 A TW 102142002A TW I498743 B TWI498743 B TW I498743B
Authority
TW
Taiwan
Prior art keywords
data
message
host device
dbm
data storage
Prior art date
Application number
TW102142002A
Other languages
English (en)
Other versions
TW201518947A (zh
Inventor
Ling-Yan Zhong
Zhiqiang Hui
Jiin Lai
Original Assignee
Via Alliance Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Alliance Semiconductor Co Ltd filed Critical Via Alliance Semiconductor Co Ltd
Publication of TW201518947A publication Critical patent/TW201518947A/zh
Application granted granted Critical
Publication of TWI498743B publication Critical patent/TWI498743B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Description

資料儲存系統以及其管理方法
本發明係有關於一種快閃記憶體,特別是一種適用於快閃記憶體的管理方法以及其資料儲存系統。
快閃記憶體是一種電子清除式可程式唯讀記憶體,允許在操作中被多次抹除或寫入,應用於記憶卡或隨身碟等裝置。快閃記憶體通常會包含多種管理表,暫存於快閃記憶體的一隨機存取記憶體(Random Access Memory,下稱RAM)中,便於在對該快閃記憶體進行存取操作的過程中,對這些管理表進行查找及實時更新。這些管理表包括邏輯對應實體位址表(logical-to-physical address mapping table),其用於記錄以及管理資料存放的邏輯位置和實體位址對應關係;壞塊表(bad block table),其用於記錄該快閃記憶體中已經損壞之區塊;等等。除了多種管理表之外,快閃記憶體之RAM還暫存對該快閃記憶體進行存取時的資料。
由於快閃記憶體之RAM的空間有限,其緩存的管理表以及資料大小也受到限制。隨著快閃記憶體的儲存空間越來越大,需要緩存的管理表以及資料的資料量也越來越大。單純採用更大儲存容量RAM的方式會導致產品成本和體積大大 增加。因此需要一種記憶體管理方法,用於在不增加產品成本及體積的前提下,增加用於緩存的管理表及資料的記憶體空間,並在所有傳輸狀況下都可以控制以及管理緩存的管理表以及暫存的資料。
基於上述目的,本發明實施例揭露了一種管理方法,適用於一資料儲存裝置,其中該資料儲存裝置經由一匯流排耦接至一主機裝置,該管理方法包括:判定該資料儲存裝置需要使用該主機裝置之一第一暫存記憶體以存取該資料儲存裝置之一第二暫存記憶體之資料;根據上述判定,經由該匯流排對該主機裝置發送一裝置匯流排主控(Device Bus Master,DBM)請求訊息以請求該匯流排上資料傳輸的一控制權;響應於該裝置匯流排主控請求訊息,偵測該匯流排以判斷是否從該主機裝置接收一第一裝置匯流排主控允許訊息;以及如果收到該第一裝置匯流排主控允許訊息,則對該主機裝置之該第一暫存記憶體進行存取。
本發明實施例另外揭露了資料儲存系統,包括一資料儲存裝置以及一主機裝置。該主機裝置經由一匯流排耦接至該資料儲存裝置。該資料儲存裝置包括一儲存裝置控制器以及一儲存裝置收發器。該儲存裝置控制器判定該資料儲存裝置需要使用該主機裝置之一第一暫存記憶體以存取該資料儲存裝置之一第二暫存記憶體之資料。該儲存裝置收發器耦接該儲存裝置控制器,根據上述判定,經由該匯流排對該主機裝置發送一裝置匯流排主控(Device Bus Master,DBM)請求訊息以請 求該匯流排上資料傳輸的一控制權。該主機裝置包括一主機控制器,偵測到該裝置匯流排主控請求訊息後,經由該匯流排發出一第一裝置匯流排主控允許訊息。該儲存裝置控制器偵測該匯流排以判斷是否從該主機裝置接收該第一裝置匯流排主控允許訊息,如果該儲存裝置控制器收到該第一裝置匯流排主控允許訊息,對該主機裝置之該第一暫存記憶體進行存取。
10‧‧‧資料儲存裝置
100‧‧‧儲存裝置收發器
102‧‧‧儲存裝置控制器
104‧‧‧快閃記憶體
106‧‧‧暫存記憶體
12‧‧‧主機裝置
13‧‧‧匯流排
120‧‧‧主機裝置收發器
122‧‧‧主機裝置控制器
124‧‧‧暫存記憶體
CLK‧‧‧時派訊號線
DS‧‧‧資料閃動訊號線
CMD‧‧‧指令訊號線
DAT‧‧‧資料訊號線
200‧‧‧指令訊息
202‧‧‧回應訊息
220、224‧‧‧資料訊息
222、226‧‧‧驗證狀態訊息
240、242‧‧‧資料快閃訊息
Tbsy1 、Tbsy2 ‧‧‧忙碌期間
Tblk1 、Tblk2 ‧‧‧區塊空閒期間
TDBM_req1 、TDBM_req2 、TDBM_req3 、TDBM_req4 ‧‧‧閒置期間
300‧‧‧指令訊息
303‧‧‧回應訊息
320、322‧‧‧資料訊息
340、342‧‧‧資料快閃訊息
400、408‧‧‧資料訊息
402、410‧‧‧驗證狀態訊息
404‧‧‧DBM資料訊息
406‧‧‧DBM驗證狀態訊息
420‧‧‧DBM允許訊息
422‧‧‧DBM回應訊息
442‧‧‧DBM請求訊息
440、444、446‧‧‧資料快閃訊息
500‧‧‧指令訊息
502‧‧‧回應訊息
504‧‧‧DBM允許訊息
506‧‧‧DBM回應訊息
520‧‧‧DBM資料訊息
522‧‧‧DBM驗證狀態訊息
524‧‧‧資料訊息
540‧‧‧DBM請求訊息
542、544‧‧‧資料快閃訊息
600‧‧‧DBM請求訊息
602‧‧‧資料快閃訊息
622‧‧‧DBM允許訊息
622‧‧‧DBM回應訊息
640‧‧‧DBM資料訊息
644‧‧‧DBM驗證狀態訊息
720‧‧‧DBM請求訊息
722‧‧‧資料快閃訊息
700‧‧‧指令訊息
702‧‧‧回應訊息
740‧‧‧資料訊息
840‧‧‧DBM請求訊息
842、844‧‧‧資料快閃訊息
800‧‧‧指令訊息
802‧‧‧回應訊息
804‧‧‧DBM允許訊息
806‧‧‧DBM回應訊息
820‧‧‧DBM資料訊息
822‧‧‧DBM驗證狀態訊息
824‧‧‧資料訊息
940‧‧‧DBM請求訊息
942、944‧‧‧資料快閃訊息
900‧‧‧DBM允許訊息(TID=0)
902‧‧‧DBM回應訊息(TID=0)
904‧‧‧DBM允許訊息(TID=1)
906‧‧‧DBM回應訊息(TID=1)
920、924‧‧‧DBM資料訊息
922、926‧‧‧DBM驗證狀態訊息
1040‧‧‧DBM請求訊息
1042、1044‧‧‧資料快閃訊息
1000‧‧‧DBM允許訊息(TID=0)
1002‧‧‧DBM回應訊息(TID=0)
1004‧‧‧DBM允許訊息(TID=1)
1006‧‧‧DBM回應訊息(TID=1)
1020、1024‧‧‧DBM資料訊息
1140‧‧‧DBM請求訊息
1142、1144、1146‧‧‧資料快閃訊息
1100、1108‧‧‧DBM允許訊息(TID=0)
1102、1110‧‧‧DBM回應訊息(TID=0)
1104‧‧‧DBM允許訊息(TID=1)
1106‧‧‧DBM回應訊息(TID=1)
1120、1124、1128‧‧‧DBM資料訊息
1122、1126、1130DBM驗證狀態訊息
1240‧‧‧DBM請求訊息
1242、1244‧‧‧資料快閃訊息
1200‧‧‧DBM允許訊息(TID=0)
1202‧‧‧DBM回應訊息(TID=0)
1204‧‧‧DBM允許訊息(TID=0)
1206‧‧‧DBM回應訊息(TID=0)
1220、1224‧‧‧DBM資料訊息
S1300,S1302,…,S1310‧‧‧步驟
第1圖係顯示本發明實施例中一種資料儲存系統1之區塊圖;第2圖係顯示本發明實施例中一種正常寫入傳輸模式之時序圖;第3圖係顯示本發明實施例中一種正常讀取傳輸模式之時序圖;第4圖係顯示本發明實施例中一種在正常寫入傳輸模式下請求匯流排主控方法之時序圖;第5圖係顯示本發明實施例中一種在正常讀取傳輸模式下請求匯流排主控方法之時序圖;第6圖係顯示本發明實施例中一種在閒置模式下請求匯流排主控方法之時序圖;第7圖係顯示本發明實施例中一種解除請求匯流排主控方法之時序圖;第8圖係顯示本發明實施例中另一種請求匯流排主控方法之時序圖; 第9圖係顯示本發明實施例中另一種請求匯流排主控方法之時序圖;第10圖係顯示本發明實施例中另一種請求匯流排主控方法之時序圖;第11圖係顯示本發明實施例另一種在獲得匯流排主控後針對寫入錯誤之管理方法之時序圖;第12圖係顯示本發明實施例中另一種在獲得匯流排主控後針對寫入錯誤之管理方法之時序圖;第13圖係顯示本發明實施例中一種資料儲存系統之管理方法13的流程圖。
以下說明係目前實施本發明的較佳實施方式,其係用以舉例說明本發明之主要技術原則,並非用以限定本發明之範圍。本發明之範圍需視所附申請專利範圍來界定。
以下揭露書中提到之資料儲存裝置包括控制器、非揮發性記憶體以及快閃記憶體。上述資料儲存裝置係為一種可移除快閃儲存裝置或是嵌入式快閃儲存裝置,包括通用序列匯流排(Universal Serial Bus,下稱USB)快閃隨身碟或記憶卡、安全數位記憶卡(Secure Digital SD card)、micro SD記憶卡、mini SD記憶卡、MultiMediaCard(下稱MMC)記憶卡、嵌入式MMC(eMultiMediaCard card,下稱eMMC卡)記憶卡以及CF記憶卡(Compact Flash card)。
第1圖係顯示本發明實施例中一種資料儲存系統1之區塊圖,包括資料儲存裝置10和主機裝置12,兩者間以匯流 排13連接。資料儲存系統1可以是手機、個人數位助理、平板電腦、手提電腦、個人電腦、掌上遊戲機、數位相機、消費者電子裝置或其他電腦裝置。在其中一個實施例中,資料儲存裝置10係為eMMC卡並且主機裝置12係為處理器晶片。eMMC卡和主機裝置12間的溝通訊號符合JEDEC eMMC規範或之後更高的規範版本。連接資料儲存裝置10和主機裝置12的eMMC匯流排13包括時脈訊號線CLK、資料閃動訊號線DS(Data Strobe)、指令訊號線CMD、資料訊號線DAT、電源訊號線(未圖示)以及重置訊號線(未圖示),其中時脈訊號線CLK係包括1條訊號線、資料閃動訊號線DS係包括1條訊號線、指令訊號線CMD係包括1條訊號線、資料訊號線DAT係包括8條訊號線、電源訊號線係包括2條訊號線以及重置訊號線係包括1條訊號線。
資料儲存裝置10和主機裝置12內部分別具有暫存記憶體106和124。當資料儲存裝置10和主機裝置12間有正在進行的連線時,資料儲存裝置10不但可使用其內部的暫存記憶體106,也可使用主機裝置12內部的暫存記憶體124進行資料暫存運作,這裡的暫存的資料包括例如邏輯對應實體位址表等管理表及資料,即資料儲存裝置10可使用的暫存記憶體空間可延伸到主機裝置12的內部記憶體,在主機裝置12的暫存記憶體124暫存資料以及管理表。資料儲存裝置10可動態利用主機裝置12的內部記憶體124來緩存本來需要緩存在本地記憶體106的資料以及管理表。
在資料儲存裝置10和主機裝置12連線間的任何階 段,包括讀取階段、寫入階段以及閒置階段,只要判定需要使用主機裝置12的暫存記憶體124暫存資料或管理表,資料儲存裝置10就可以即時發出裝置匯流排主控(device bus master,以下稱為DBM)請求訊息至主機裝置12,對主機裝置12請求匯流排13上資料傳輸的控制權。一旦主機裝置12允許資料傳輸的控制權,資料儲存裝置10即可自由存取主機裝置12的暫存記憶體124。上述DBM請求訊息具有最高的處理優先順序,高於讀取程式、寫入程式或是閒置程式。當正在進行正常讀取或寫入程式中,一旦主機裝置12收到DBM請求訊息即會暫停目前正在進行中的讀取或寫入程式並儘快回應該請求。而在DBM請求的資料服務完成後,主機裝置12可繼續進行暫停的讀取或寫入程式。在整個DBM的服務程式中主機裝置12都可知道正在進行的動作,並且不會有其他中斷程式打斷DBM服務程序。但本發明對匯流排13的具體規格並不作限制,只要具備可在正常資料傳輸過程中由資料儲存裝置10向主機裝置12發出DBM請求訊息的訊號線即可。
資料儲存裝置10包括儲存裝置收發器100、儲存裝置控制器102、快閃記憶體104以及暫存記憶體106。儲存裝置控制器102耦接儲存裝置收發器100、快閃記憶體104以及暫存記憶體106。快閃記憶體104可包括一或多個快閃記憶體,儲存裝置控制器102可將存取資料的管理資訊以管理表形式存在暫存記憶體106中,並於存取快閃記憶體104內的資料時藉由管理表而存取正確的實體位址。暫存記憶體106可以是RAM,其可儲存資料儲存裝置10的管理表或是資料存取處理中所需的暫 存資料。儲存裝置控制器102也可使用DBM服務程序存取主機裝置12之內部暫存記憶體(儲存空間)124。儲存裝置收發器100用於和主機裝置12進行資料傳輸。
主機裝置12包括主機裝置收發器120、主機裝置控制器122以及暫存記憶體124。主機裝置控制器122可存取儲存在暫存記憶體124的程式碼以及資料。暫存記憶體124可以是RAM,其可儲存主機裝置控制器122要執行的程式碼、暫存資料、以及資料儲存裝置10的管理表和暫存資料。在一實施例中,暫存記憶體124為該主機裝置12的主記憶體(host memory)。主機裝置控制器122耦接主機裝置收發器120以及暫存記憶體124。主機裝置收發器120用於和資料儲存裝置10進行資料傳輸。
在正常寫入以及讀取程式中,主機裝置12用於將正常資料寫入資料儲存裝置10以及從資料儲存裝置10讀取正常資料,詳細動作如第2圖和第3圖所示。第2圖係顯示本發明實施例中一種正常寫入程式之時序圖,其中只顯示資料閃動訊號線DS、指令訊號線CMD和資料訊號線DAT。此後圖中所示的DAT皆僅示出資料訊號線DAT中的DAT[0]波形。其他未顯示的時脈訊號線CLK上訊號會以固定時脈週期切換,電源訊號線持續供給資料儲存裝置10電源,重置訊號線之訊號在需要重置資料儲存裝置10才會動作。
在正常寫入程式中,首先主機裝置12會發出寫入指令200,而資料儲存裝置10會響應收到的寫入指令200回覆回應指令202給主機裝置12,表示已收到寫入指令200並準備好從 主機裝置12接收寫入資料。主機裝置12收到回應指令202後會將正常寫入資料以資料訊息220的形式傳送給資料儲存裝置10,該資料訊息220可將寫入資料封裝為一資料封包(data packet)的形式,其包括起始位元S、寫入資料DAT、資料驗證碼例如循環冗餘校驗碼(Cyclic redundancy check,下稱CRC)和結束位元E。資料儲存裝置10收到資料訊息220藉由CRC進行驗證,並將驗證結果以驗證狀態訊息222回傳給主機裝置12,並同時傳送切換(toggling)的資料閃動訊號240以提示主機裝置12開始接收驗證狀態訊息222,其中驗證狀態訊息222包括起始位元S、驗證結果CRC狀態及結束位元E。舉例而言,驗證結果CRC狀態為010,表示CRC驗證資料無誤;驗證結果CRC狀態為101,表示CRC驗證資料有錯。驗證結果CRC狀態在資料訊號線DAT[0]上序列傳輸,但本發明不限於此。若是寫入資料不只一筆,則主機裝置12會另發下個資料訊息224給資料儲存裝置10並由資料儲存裝置10收到相應之驗證狀態訊息226。
如第2圖所示,主機裝置12發送寫入指令200之前,會有一段閒置期間TDBM_req1 ;在正常寫入程式之中,主機裝置12也不會一直被佔用,在主機裝置12接收完回應指令202之後直至傳送第一筆資料訊息220之前,也存在一段閒置期間TDBM_req2 ;在主機裝置12接收完一筆資料訊息之驗證狀態訊息(222)後直至傳送下一筆資料訊息(224)之前,也會有一段閒置期間(如第2圖中的TDBM_req3 及TDBM_req4 )。在上述閒置期間TDBM_req1 ~TDBM_req4 ,主機裝置12不發送或接收任何資料或指令而閒置,可偵測到資料儲存裝置10傳送的DBM請求,進而進行 DBM服務程序。
以閒置期間TDBM_req3 為例,閒置期間TDBM_req3 包括忙碌期間(busy period)Tbsy1 和區塊空閒期間(block gap)Tblk1 。在資料儲存裝置10收到資料訊息220並回覆驗證狀態訊息222之後,會需要一段時間處理寫入資料DAT,因此無法接受其他指令或資料。這段資料儲存裝置10無法接受其他指令或資料的時間稱為忙碌期間(busy period)Tbsy1 ,資料儲存裝置10會拉低資料訊號線DAT表示處於忙碌期間Tbsy1 ,並再次拉高資料訊號線DAT表示忙碌期間結束。忙碌期間結束到收到下一筆寫入資料的空閒時間稱為區塊空閒期間Tblk1 。主機裝置12可在閒置期間TDBM_req3 內,包括忙碌期間Tbsy1 和區塊空閒期間Tblk1 ,偵測到資料儲存裝置10發送的DBM請求訊息,進而進行DBM服務程序。
參考第3圖,其顯示本發明實施例中一種正常讀取程式之時序圖。在正常讀取程式中,首先主機裝置12會發出讀取指令300,其包括要讀取的資料位址和長度等資訊。資料儲存裝置10會響應收到的讀取指令300回覆回應指令302給主機裝置12,表示已收到讀取指令300並準備好發送讀取資料至主機裝置12。接著資料儲存裝置10會開始將正常讀取資料以資料訊息320的形式發送給主機裝置12,並同時在資料閃動訊號線DS上傳送切換(toggling)的資料閃動訊號340以提示主機裝置12開始接收所讀取的資料訊息320的資料。該資料訊息320可將讀取資料封裝為一資料封包(data packet)的形式,其包括起始位元S、讀取資料DAT、資料驗證碼例CRC和結束位元E。主機 裝置12收到資料訊息320藉由CRC進行驗證。若是讀取資料不只一筆,則資料儲存裝置10會另發下個資料訊息322以及相應的資料閃動訊號342給主機裝置12。
如第3圖所示,主機裝置12發送讀取指令300之前,會有一段閒置期間TDBM_req1 ;在正常讀取程式之中,主機裝置12也不會一直被佔用,在主機裝置12接收完回應指令302之後直至接收第一筆資料訊息320之前,也存在一段閒置期間TDBM_req2 ;主機裝置12在接收完一筆資料訊息(320)之後直至接收下一筆資料訊息(322)之前,也會有一段閒置期間(如第3圖中的TDBM_req3 及TDBM_req4 )。在上述閒置期間TDBM_req1 ~TDBM_req4 ,主機裝置12不發送或接收任何資料或指令而閒置,可偵測到資料儲存裝置10傳送的DBM請求訊息,用以對主機裝置12請求資料傳輸的控制權,進而進行DBM服務程序。例如在第3圖的例子中,以閒置期間TDBM_req3 為例,這樣的閒置期間均為區塊空閒期間。
回到第1圖的實施例,在資料儲存系統1開機後會先初始內部電路元件,主機裝置12首先執行啟動載入程式(boot loader),用以設定資料儲存裝置10於暫存記憶體124可存取的記憶體範圍。該可存取的記憶體範圍可以是暫存記憶體124內的一部分記憶體範圍,並可由eMMC裝置記憶體基本位址(eMMC device memory base address)[63:0]加以定義。表格1列出主機裝置12相關eMMC裝置記憶體基本位址的暫存器參數。
接著主機裝置12會執行控制資料儲存裝置10的驅動程式,例如eMMC驅動程式。驅動程式從主機裝置12之主機裝置控制器122內部的暫存器讀取“DBM功能(DBM capability)”參數。如果該DBM功能參數讀到的是1即表示主機裝置12支援DBM服務程序,若為0則否。驅動程式接著在裝置初始階段時從資料儲存裝置10之內部暫存器讀取該DBM功能參數。如果該DBM功能參數讀到的是1即表示資料儲存裝置10支援DBM服務程序,若為0則否。當主機裝置12和資料儲存裝置10兩者皆確認支援DBM服務程序後,驅動程式會設定“DBM致能(DBM Enable)”參數。如果該DBM致能參數為1,主機裝置12便能夠回應eMMC DBM的請求。如果該DBM致能參數為0,主機裝置12會忽視eMMC DBM的請求。當該DBM致能參數為0時,驅動程式會關閉資料儲存裝置10中eMMC DBM服務程序的功能,藉以避免匯流排衝突。若該DBM致能參數為1時,驅動程式會使致能“DBM致命錯誤中斷訊號致能(DBM fatal error interrupt signal enable)”參數和“DBM致命錯誤中斷狀態致能(DBM fatal error interrupt status enable)”參數。表格2列出主機裝置12所有和DBM控制相關的暫存參數。
現在參考第4圖,其顯示本發明實施例中一種在正常寫入傳輸模式下請求DBM服務程序之時序圖。
當資料儲存裝置10在正常寫入傳輸模式下判定需要請求DBM服務程序時,在時間t40聲明(assert)資料閃動訊號線DS上的DS訊號,如果主機裝置12在閒置期間TDBM_req 內能偵測到在資料閃動訊號線DS上被聲明之DS訊號,則認為資料儲存裝置10發出DBM請求訊息442。在正常寫入傳輸模式下,主機裝置12最早可於閒置期間TDBM_req 的忙碌期間Tbsy 偵測到被聲明(asserted)之的DS訊號,即得知資料儲存裝置10希望獲取匯流排13的控制權,因此主機裝置12會暫停正進行中的正常寫入程式,並藉由在指令訊號線CMD上傳送DBM允許訊息420回應收到的DBM請求訊息442,允許資料儲存裝置10獲得匯流排13的主控權。DBM請求訊息442被插入的時間t40並不受限於第 4圖顯示的時間點,在一優選實施例中,時間t40可以位於主機裝置12可檢測到DS訊號的閒置期間TDBM_req 時間內,此時聲明(assert)DS訊號可以避免與正常讀寫時需要使用的DS訊號衝突。
表格3列出DBM允許訊息的格式以及所包含的相關暫存參數。值得注意的是,在JEDEC eMMC 5.0的通訊協定標準中,指令索引60到63都是可自訂(Vendor Defined)的指令,表格3顯示以指令索引為60表示相應DBM請求的DBM允許訊息的實施例。本領域人士可知實施例中之指令索引60也可以用其他的自訂索引編號取代,表示相應DBM請求的允許訊息。JEDEC eMMC 5.0的通訊協定標準也僅是一舉例,本發明也可採用符合其它標準格式的DBM允許資訊。DBM允許訊息中的傳輸辨識值TID(Transaction ID)表示接下來要存取的資料區塊編號。每個要存取的資料區塊的資料大小範圍在1到512位元組之間。
相應地,資料儲存裝置10收到DBM允許訊息420之後即獲得匯流排13的主控權,可以在時間t42將DS訊號撤銷聲明 (de-assert)以停止DBM請求訊息442。DBM請求訊息442的長度可以是不固定的,其起點由資料儲存裝置10何時聲明DS訊號決定,其終點由資料儲存裝置10何時收到主機裝置12發送的DBM允許訊息420決定。但為了與正常寫入傳輸模式下提示主機裝置12開始接收驗證結果SCRC 而快速切換(toggling)的資料閃動訊號440相區隔,DBM請求訊息442的長度至少應等於或超過一個時脈週期的時間長度。資料儲存裝置10接著發出DBM回應訊息422,該DBM回應訊息422包含資料傳輸方向(transfer direction)、存取主機裝置12的記憶體位址(offset)、以及存取資料長度(block size & block length)等資訊。表格4列出DBM回應訊息的格式以及所包含的相關暫存參數。
接著主控裝置12便可根據DBM回應訊息422而回應資料儲存裝置10。例如在第4圖的實施例中,DBM回應訊息422包含資料由主機裝置12到資料儲存裝置10方向傳輸的寫入操作,因此主控裝置12會將DBM回應訊息422所指定之暫存記憶體124位址之資料以DBM資料訊息404發送給資料儲存裝置10,並接收資料儲存裝置10發送的相應於DBM資料訊息404的DBM驗證狀態訊息406。在完成DBM服務程序後,主控裝置12會繼續未完成的正常資料寫入程式,包括發送正常資料訊息408以及收取相應之驗證狀態訊息410。表格5和6分別列出資料訊息(DBM資料訊息404的格式形同正常資料訊息400及408)以及其相應驗證狀態訊息(DBM驗證狀態訊息406的格式形同正常驗證狀態訊息402及410)的格式以及所包含的相關暫存參數。
雖然第4圖DBM服務程序的實施例顯示由主機裝置12到資料儲存裝置10方向傳輸的寫入操作,即資料儲存裝置10從主機裝置12讀取其所暫存的管理表及資料,熟習本領域人士可知也可在DBM服務程序中進行由資料儲存裝置10到主機裝置12方向傳輸的讀取操作,即資料儲存裝置10向主機裝置12寫入其所需暫存的管理表及資料。注意DBM服務程序中存取的資料訊息可以為1個或更多的資料訊息,該存取的資料訊息會根據其內容順序而被進行編號。每個DBM資料區塊傳輸都會包括一個對應的DBM允許訊息ACK、DBM回應訊息RSP、以及DBM資料訊息DAT+CRC,上述三種訊息都會根據其內容順序而被進行編號。在一實施例中,主機裝置12可以通過直接記憶體存取(Direct Memory Access,DMA)的存取方式從內部暫存記憶體124存取DBM資料。具體而言,主機裝置控制器122中包含一DMA引擎(未繪示)及一記憶體控制器(未繪示),主機裝置控制器122通過該DMA引擎及該記憶體控制器存取該暫存記憶體124。
實施例中的資料儲存裝置10在正常寫入程式正在進行的情況下,判定需要使用主機裝置12的資料儲存空間時以DBM請求訊息初始DBM服務程序,獲取匯流排13的主控權,藉 以由資料儲存裝置10主動發出存取主機裝置12內部的資料儲存空間的請求。
第5圖係顯示本發明實施例中一種在正常讀取傳輸模式下請求匯流排主控方法之時序圖。
首先在請求DBM服務程序前主機裝置12已經藉由在指令訊號線CMD上傳送指令訊息500,例如指令CMD18而起始一正常讀取並從資料儲存裝置10收到相應的回應訊息502,例如指令RSP18,因此進入正常讀取傳輸模式。當資料儲存裝置10在正常讀取傳輸模式下判定需要請求DBM服務程序時,在時間t50聲明(assert)資料閃動訊號線DS上的DS訊號,如果主機裝置12在閒置期間TDBM_req 內能偵測到在資料閃動訊號線DS上被聲明之DS訊號,則認為資料儲存裝置10發出DBM請求訊息540,藉以通知主機裝置12資料儲存裝置10希望初始DBM服務程序。在正常讀取傳輸模式下,主機裝置12可於所有閒置期間TDBM_req 偵測到該DBM請求訊息540,即得知資料儲存裝置10希望獲取匯流排13的控制權,因此會暫停正進行中的正常讀取程式,並藉由在指令訊號線CMD上傳送DBM允許訊息504回應收到的DBM請求訊息540,允許資料儲存裝置10獲得匯流排13的主控權。DBM允許訊息504的格式以及所包含的相關暫存參數可參考之前表格3的描述。
相應地,資料儲存裝置10收到DBM允許訊息504之後即獲得匯流排13的主控權,可以在時間t52將DS訊號撤銷聲明(de-assert)以停止DBM請求訊息540。資料儲存裝置10接著發出DBM回應訊息506,該DBM回應訊息506包含資料傳輸方向、 存取主機裝置12的記憶體位址、以及存取資料長度等資訊。DBM回應訊息506的格式以及所包含的相關暫存參數可參考之前表格4的描述。
接著主控裝置12可根據DBM回應訊息506而回應資料儲存裝置10。例如在第5圖的實施例中,DBM回應訊息506包含資料由主機裝置12到資料儲存裝置10方向傳輸的寫入操作,因此主控裝置12會將DBM回應訊息506指定之暫存記憶體124位址之資料以DBM資料訊息520發送給資料儲存裝置10,並接收資料儲存裝置10發送的相應於資料訊息520的DBM驗證狀態訊息522。在完成DBM服務程序後,主控裝置12會繼續未完成的正常資料讀取程式,包括從資料儲存裝置10讀取正常資料訊息524。
在另一個實施例中,資料儲存裝置10可在從主控裝置12收到讀取程式指令訊息500後立即聲明DS訊號以發出DBM請求訊息,並在主控裝置12允許該DBM請求(即發出DBM允許訊息504)後才結束DBM請求訊息。DBM請求訊息540的長度是不固定的,其起點由資料儲存裝置10何時聲明DS訊號決定,終點由資料儲存裝置10何時收到主機裝置12發送的DBM允許訊息504決定。但為了與提示主機裝置12開始接收DBM驗證狀態訊息522而快速切換(toggling)的資料閃動訊號542相區隔,也為了與正常讀取傳輸模式下提示主機裝置12開始接收正常讀取資料訊息524的而切換(toggling)的資料閃動訊號544相區隔,DBM請求訊息442的長度至少應等於或超過一個時脈週期的時間長度。
雖然第5圖DBM服務程序的實施例顯示由主機裝置12到資料儲存裝置10方向傳輸的寫入操作,即資料儲存裝置10從主機裝置12讀取其所暫存的管理表及資料,熟習本領域人士可知也可在DBM服務程序中進行由資料儲存裝置10到主機裝置12方向傳輸的讀取操作,即資料儲存裝置10向主機裝置12寫入其所需暫存的管理表及資料。注意DBM服務程序中存取的資料訊息可以為1個或更多的資料訊息,該存取的資料訊息會根據其內容順序而由傳輸辨識值進行編號。每個DBM資料區塊傳輸都會包括一個對應的DBM允許訊息ACK、DBM回應訊息RSP、以及DBM存取資料訊息DAT+CRC,上述三種訊息都會根據其內容順序而被進行編號。
實施例中的資料儲存裝置10在正常讀取程式正在進行的情況下,判定需要使用主機裝置12的資料儲存空間時以DBM請求訊息初始DBM服務程序,獲取匯流排13的主控權,藉以由資料儲存裝置10主動發出存取主機裝置12內部的資料儲存空間的請求。
第6圖係顯示本發明實施例中一種在閒置模式下請求匯流排主控方法之時序圖。
在閒置模式下當資料儲存裝置10判斷要開始DBM服務程序時可在任意時間點在資料閃動訊號線DS上聲明(assert)DS訊號,主機裝置12偵測到被聲明之DS訊號,則認為資料儲存裝置10發出DBM請求訊息600,則主機裝置12會在指令訊號線CMD上以DBM允許訊息620回應DBM請求訊息600,並從資料儲存裝置10接收相應的回應訊息622,接受資料儲存 裝置10的控制存取主機裝置12的內部記憶體124。在DBM服務程序後回到原本的閒置模式。
第7圖係顯示本發明實施例中一種解除請求匯流排主控方法之時序圖。資料儲存裝置10可用於解除才剛發送的DBM請求訊息。
當資料儲存裝置10在從主機裝置12接收讀取或寫入指令訊息(指令CMD18或25)700時在時間t70聲明(assert)資料閃動訊號線DS上的DS訊號而插入一DBM請求訊息720,如果此時資料儲存裝置10想要進行正常讀取或寫入程式並中止DBM請求,資料儲存裝置10可在發出回應訊息702起始位元的時序前在時間t72將資料閃動訊號DS撤銷聲明(de-assert),用以解除才剛發送的DBM請求訊息720。主機裝置12會忽略才剛收到的DBM請求訊息720,在收到回應訊息702後繼續進行正常讀取或寫入程序。
相對的,若是資料儲存裝置10在發出回應訊息702後仍未解除DBM請求訊息,則主機裝置12會接受DBM請求訊息,回應對應的允許訊息,並啟動DBM服務程序。第8圖係顯示資料儲存裝置10發出回應訊息後不解除DBM請求訊息的實施例。資料儲存裝置10在從主機裝置12接收讀取或寫入指令訊息(指令CMD18或25)800時在時間t80聲明(assert)DS訊號而插入DBM請求訊息840,並且該DBM請求訊息840在資料儲存裝置10回覆回應訊息802時持續插入而不解除,因此主機裝置12會在閒置期間偵測到DBM請求訊息840,回應對應的允許訊息804,並啟動DBM服務程序。
第9圖係顯示本發明實施例中另一種請求匯流排主控方法之時序圖,用於連續將DBM資料訊息從主機裝置12傳送至資料儲存裝置10。
資料儲存裝置10可使用DBM服務程序連續從主機裝置12讀取DBM資料訊息並傳送至資料儲存裝置10。在資料儲存裝置10發出DBM請求訊息940並獲得主機裝置12的DBM允許訊息900後,資料儲存裝置10會回覆DBM回應訊息902,回應訊息902包括要從主機裝置12讀取的資料儲存空間位址以及長度等資訊。根據DBM回應訊息902,主機裝置12會以DBM資料訊息920傳送內部記憶體124內的第一筆緩存管理表或資料(TID=0),並接收資料儲存裝置10發送的相應於DBM資料訊息920的DBM驗證狀態訊息922。在傳送DBM資料訊息920時,主機裝置12同時也會在指令訊號線CMD上傳送下一筆傳送資料(TID=1)的DBM允許訊息904,並接收來自資料儲存裝置10的DBM回應訊息906,藉以以管線化(pipeline)方式在收到DBM驗證狀態訊息922並確認DBM驗證狀態訊息922顯示驗證正確後(例如CRC狀態=010),繼續以DBM資料訊息924傳送下一筆緩存管理表或資料(TID=1),並獲得相應的DBM驗證狀態訊息926。
實施例中的資料儲存裝置10在DBM服務程序中,以管線化方式連續將多筆儲存在內部記憶體124內部的緩存管理表或資料傳送到資料儲存裝置10,藉以更有效率地存取主機裝置12內部的資料儲存空間。
第10圖係顯示本發明實施例中另一種請求匯流排 主控方法之時序圖,用於連續將DBM資料訊息從資料儲存裝置10傳送至主機裝置12。
資料儲存裝置10可使用DBM服務程序連續寫入DBM資料訊息至主機裝置12。在資料儲存裝置10發出DBM請求訊息1040並獲得主機裝置12的DBM允許訊息1000後,資料儲存裝置10會回覆DBM回應訊息1002,回應訊息1002包括要寫入至主機裝置12的資料儲存空間位址以及長度等資訊。資料儲存裝置10會根據回應訊息1002將第一筆緩存管理表或資料(TID=0)以DBM資料訊息1020的形式寫入至主機裝置12的內部記憶體124。在接收完畢DBM資料訊息1020並確認其正確性後,主機裝置12便會在指令訊號線CMD上傳送下一筆傳送資料(TID=1)的DBM允許訊息1004,並接收來自資料儲存裝置10的DBM回應訊息1006,繼續從資料儲存裝置10接收下一筆DBM資料訊息1022(TID=1)。
實施例中的資料儲存裝置10在DBM服務程序中,以連續方式從資料儲存裝置10讀取多筆要緩儲於內部記憶體124的DBM資料,藉以更有效率地存取主機裝置12內部的資料儲存空間。
在某些實施例中,資料儲存裝置10發出DBM請求訊息並且也已經從主機裝置12收到相應的DBM允許訊息ACK,而資料儲存裝置10此時判斷不需要進行DBM資料傳輸,則資料儲存裝置10可在指令訊號線CMD上回應的DBM回應訊息RSP中將存取資料位址以及長度都設為0([127:8]=0),主機裝置12收到這樣的回應訊息RSP後,會認為所有的DBM資訊訊息 傳輸完成,將儲存系統1回復到DBM請求前的狀態,繼續進行正常的資料傳輸或恢復為閒置狀態。
第11圖係顯示本發明實施例另一種在獲得匯流排主控後針對寫入錯誤之管理方法之時序圖。第11圖和第9圖的實施例大致相同,除了資料儲存裝置10在驗證第一筆DBM資料(TID=0)後發現傳輸資料錯誤並需要針對錯誤的DBM資料進行重傳。
資料儲存裝置10在驗證第一筆DBM資料訊息(TID=0)1120後發現傳輸資料錯誤,將發現的錯誤以DBM驗證狀態訊息1122通知主機裝置12,舉例而言,DBM驗證狀態訊息為010,表示CRC驗證資料無誤;DBM驗證狀態訊息為101,表示CRC驗證資料有錯。DBM驗證狀態訊息在資料訊號線DAT[0]上序列傳輸,但本發明不限於此。由於主機裝置12在獲得DBM驗證狀態訊息1122之前已經允許下一筆DBM資料(TID=1)傳輸,所以主機裝置12仍會繼續傳送下一筆DBM資料訊息1124並接收相應DBM驗證狀態訊息1126。在得知第一筆DBM資料訊息1120錯誤後,主機裝置12會重新傳送DBM允許訊息1108允許重傳第一筆DBM資料(TID=0),在獲得相應DBM回應訊息1110後主機裝置12會重傳第一筆DBM資料訊息1128(TID=0)。若從資料儲存裝置10收到的DBM驗證狀態訊息1130顯示DBM資料訊息1128驗證正確,則所有的DBM資料都被正確傳送,因此DBM服務程序即結束並回到進入DBM服務程序之前的傳輸狀態。若主機裝置12重新傳送多次同一筆DBM資料(例如TID=0),仍不能從資料儲存裝置10獲得驗證正確的DBM驗 證狀態訊息,則認為資料儲存系統1發生致命錯誤,則主機裝置控制器122發出如前述表2提及之DBM致命錯誤中斷(DBM fatal error interrupt)至主機裝置12之驅動程式,使得驅動程式重啟(reset)系統。此外,當資料儲存裝置10自身發生致命錯誤,則可在DBM回應訊息RSP中置位元如表格4中的RSP[10],主機裝置12在接收這樣的DBM回應訊息RSP時,同樣會發出DBM致命錯誤中斷(DBM fatal error interrupt)至主機裝置12之驅動程式,使得驅動程式重啟系統。
第12圖係顯示本發明實施例中另一種在獲得匯流排主控權後針對讀取錯誤之管理方法之時序圖。在第12圖的實施例中,主機裝置12在驗證第一筆DBM資料(TID=0)後發現傳輸資料錯誤並需要針對錯誤的DBM資料進行重傳。
主機裝置12根據DBM資料訊息1220中的CRC資料(參考表格5)驗證第一筆DBM資料訊息(TID=0)1220,如果發現傳輸資料錯誤,則會重新傳送DBM允許訊息1204允許重傳第一筆DBM資料(TID=0),在獲得相應DBM回應訊息1206後資料儲存裝置10會重傳第一筆DBM資料訊息1224(TID=0)。若主機裝置12的驗證結果顯示重傳的DBM資料訊息1224驗證正確,則DBM服務程序即結束並回到進入DBM服務程序之前的傳輸狀態。在其它實施例中,DBM服務程序可以在重傳第一筆DBM資料訊息1224(TID=0)之前或之後傳輸下一筆DBM資料訊息(TID=1,圖未繪示)。此外,與第11圖之寫入過程類似,在讀取過程中,若主機裝置12發送多次TID相同之DBM允許訊息ACK,仍無法從資料儲存裝置10讀取驗證正確的 DBM資料,則認為資料儲存系統1發生致命錯誤,則主機裝置控制器122發出如前述表2提及之DBM致命錯誤中斷(DBM fatal error interrupt)至主機裝置12之驅動程式,使得驅動程式重啟(reset)系統。此外,當資料儲存裝置10自身發生致命錯誤,則可在DBM回應訊息RSP中置位元如表格4中的RSP[10],主機裝置12在接收這樣的DBM回應訊息RSP時,同樣會發出DBM致命錯誤中斷(DBM fatal error interrupt)至主機裝置12之驅動程式,使得驅動程式重啟系統。
第13圖係顯示本發明實施例中一種資料儲存系統之管理方法13的流程圖,使用第1圖的資料儲存系統1。
在管理方法13初始後,資料儲存裝置10和主機裝置12內部的參數和電路都會初始化,準備好進行DBM服務程序(S1300)。
接著資料儲存裝置10會判斷是否需要使用主機裝置12之內部暫存記憶體124的儲存空間以存取屬於該資料儲存裝置10之暫存記憶體106之資料(S1302)。若不需要,資料儲存裝置10會回到步驟S1302繼續判斷是否需要使用主機裝置12內部記憶體124的儲存空間以及初始DBM服務程序。若需要則資料儲存裝置10經由該匯流排13對主機裝置12發出DBM請求訊息以請求匯流排13上資料傳輸的控制權(S1304)。在某些實施例中,資料儲存裝置10會藉由匯流排13之資料閃動(strobe)訊號線聲明(assert)資料閃動訊號DS而發出DBM服務請求。
在送出DBM請求訊息後,資料儲存裝置10會偵測指令訊號線CMD判斷主機裝置12是否允許匯流排上資料傳輸 的控制權請求(S1306)。若偵測到主機裝置12發出的DBM允許訊息,則資料儲存裝置10會對主機裝置12之內部暫存記憶體124進行存取(S1308)。
具體而言,如果送出DBM請求訊息的當下系統正在進行正常資料的讀/寫傳輸,則主機裝置12會於傳輸過程中的閒置期間TDBM_req (具體參考如前第2圖和第3圖的描述)偵測到該DBM請求訊息,中斷正在進行的讀/寫傳輸,並回應該DBM允許訊息;如果送出DBM請求訊息的當下系統正處於閒置狀態,則主機裝置12會立即偵測到該DBM請求訊息,並回應DBM允許訊息。當收到DBM允許訊息後,資料儲存裝置10會發出相應於DBM允許訊息的DBM回應訊息,該DBM回應訊息包括要存取的主機裝置12內部記憶體124之資料位址以及資料長度。主機裝置12會根據DBM回應訊息對其暫存記憶體124進行資料儲存裝置10所指示的資料存取動作,以存取資料儲存裝置10所暫存的管理表及資料。在某些實施例中,在收到DBM允許訊息後,資料儲存裝置10還會再次撤銷聲明(de-assert)資料閃動訊號DS用以停止DBM服務請求,因為主機裝置12也只有在閒置期間TDBM_req (具體參見第2圖和第3圖的描述)才能偵測資料閃動訊號線DS上之DS訊號,因此DS訊號被聲明的時間應持續到系統進入閒置期間TDBM_req 之後。在本發明一實施例中,資料儲存裝置10聲明DS訊號的時間持續到主機裝置12因應DBM服務請求而發送DBM允許訊息ACK之後,即是說,資料儲存裝置10在接收完DBM允許訊息ACK之後可以撤銷聲明(de-assert)DS訊號。在本發明另一實施例中,資料儲存裝置 10甚至可以在傳輸DBM回應訊息RSP完畢之前撤銷聲明(de-assert)DS訊號,因為傳輸完DBM回應訊息RSP之後就進入了DBM資料訊息傳輸階段,主機裝置12在資料訊息傳輸階段需通過檢測快速切換(toggling)的DS訊號,以判斷是否開始接收資料儲存裝置10發出的驗證狀態訊息(寫入過程)或資料訊息(讀取過程)。
若沒有偵測到主機裝置12發出的DBM允許訊息,則資料儲存裝置10會回到發出DBM服務請求訊息前的傳輸狀態(S1310)。該DBM服務請求訊息前的傳輸狀態可以是閒置狀態、寫入傳輸狀態或是讀取傳輸狀態。在某些實施例中,儘管資料儲存裝置10已經偵測到主機裝置12發出的DBM允許信息,但資料儲存裝置10此時判斷不需要進行DBM資料傳輸而希望撤回該DBM服務請求,則資料儲存裝置10可在指令訊號線CMD上的DBM回應訊息RSP中將存取資料位址以及長度都設為0([127:8]=0),主機裝置12收到這樣的回應訊息RSP後,會認為所有的DBM資訊訊息傳輸完成,將儲存系統1回復到DBM請求前的狀態。
實施例中的管理方法13在閒置狀態、寫入傳輸狀態或是讀取傳輸狀態進行的情況下,都可以判定需要初始DBM服務程序,讓資料儲存裝置10獲取匯流排的主控權,藉以讓資料儲存裝置10主動存取主機裝置12內部的資料儲存空間而不受到其他中斷程式的影響。
說明書使用之“判定”一詞包括計算、估算、處理、取得、調查、查找、確定、以及類似意義。“判定”也包 括解決、偵測、選擇、獲得、以及類似的意義。
本發明描述之各種邏輯區塊、模組、以及電路可以使用通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、特定應用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式邏輯閘陣列(Field Programmable Gate Array,FPGA)、或其他可程式控制邏輯元件、離散式邏輯電路或電晶體邏輯閘、離散式硬體元件、或用於執行本發明所描述之執行的功能之其任意組合。通用處理器可以為微處理器,或者,該處理器可以為任意商用處理器、控制器、微處理器、或狀態機。
本發明描述之各種邏輯區塊、模組、以及電路的操作以及功能可以利用電路硬體或嵌入式軟體碼加以實現,該嵌入式軟體碼可以由一處理器存取以及執行。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S1300,S1302,…,S1310‧‧‧步驟

Claims (23)

  1. 一種管理方法,適用於一資料儲存裝置,其中該資料儲存裝置經由一匯流排耦接至一主機裝置,該管理方法包括:判定該資料儲存裝置需要使用該主機裝置之一第一暫存記憶體以存取該資料儲存裝置之一第二暫存記憶體之資料;根據上述判定,經由該匯流排對該主機裝置發送一裝置匯流排主控(Device Bus Master,DBM)請求訊息以請求該匯流排上資料傳輸的一控制權;響應於該裝置匯流排主控請求訊息,偵測該匯流排以判斷是否從該主機裝置接收一第一裝置匯流排主控允許訊息;如果收到該第一裝置匯流排主控允許訊息,則傳送一第一裝置匯流排主控回應訊息至該主機裝置;以及根據該第一裝置匯流排主控回應訊息對該主機裝置之該第一暫存記憶體進行存取,其中,該第一裝置匯流排主控回應訊息包括用於存取該主機裝置之該第一暫存記憶體的相關資訊。
  2. 如申請專利範圍第1項所述之管理方法,其中,經由該匯流排對該主機裝置發送該裝置匯流排主控請求訊息之步驟包括:籍由該匯流排之一資料閃動(strobe)訊號線聲明一資料閃動訊號以發出該裝置匯流排主控請求訊息。
  3. 如申請專利範圍第1項所述之管理方法,其中,當該主機裝置對該資料儲存裝置進行讀取或寫入操作時,該主機裝置在一空閒期間偵測到該裝置匯流排主控請求訊息。
  4. 如申請專利範圍第3項所述之管理方法,其中,該空閒期間包括該主機裝置完成接收該資料儲存裝置發出之一正常回應指令之後直至傳輸一正常資料訊息之前的期間;該空閒期間還包括兩筆正常資料訊息之間一區塊空閒期間(block gap)。
  5. 如申請專利範圍第1項所述之管理方法,更包括:在收到該第一裝置匯流排主控允許訊息後,停止發送該裝置匯流排主控請求訊息至該主機裝置。
  6. 如申請專利範圍第1項所述之管理方法,其中,該第一裝置匯流排主控回應訊息包括資料傳輸方向、存取該主機裝置之該第一暫存記憶體的記憶體位址以及存取資料長度等相關資訊。
  7. 如申請專利範圍第1項所述之管理方法,更包括:如果該資料儲存裝置在收到該第一裝置匯流排主控允許訊息之後需要撤回對該控制權的請求,則傳送一裝置匯流排主控回應訊息至該主機裝置,其中該裝置匯流排主控回應訊息中之相關資訊均為0。
  8. 如申請專利範圍第1項所述之管理方法,更包括:如果該資料儲存裝置在收到該第一裝置匯流排主控允許訊息之前需要撤回對該控制權的請求,則於收到該第一裝置匯流排主控允許訊息之前停止發送該裝置匯流排主控請求訊息。
  9. 如申請專利範圍第1項所述之管理方法,其中,對該主機裝置之該第一暫存記憶體進行之該存取步驟包括: 從該主機裝置接收一第一寫入資料;驗證該第一寫入資料的正確性,並將一驗證結果傳至該主機裝置;以及當該驗證結果表明該第一寫入資料錯誤時,該主機裝置重新傳送該第一裝置匯流排主控允許訊息。
  10. 如申請專利範圍第9項所述之管理方法,其中,對該主機裝置之該第一暫存記憶體進行之該存取步驟更包括:當該驗證結果表明該第一寫入資料正確時,該主機裝置傳送一第二裝置匯流排主控允許訊息以傳輸一第二寫入資料。
  11. 如申請專利範圍第1項所述之管理方法,其中,對該主機裝置之該第一暫存記憶體進行之該存取步驟包括:傳送一第一讀取資料至該主機裝置;以及當該主機裝置驗證該第一讀取資料錯誤時,重新傳送該第一裝置匯流排主控允許訊息。
  12. 如申請專利範圍第11項所述之管理方法,其中,對該主機裝置之該第一暫存記憶體進行之該存取步驟更包括:當該主機裝置驗證該第一讀取資料出正確時,該主機裝置傳送一第二裝置匯流排主控允許訊息以讀取一第二讀取資料。
  13. 一種資料儲存系統,包括:一資料儲存裝置;以及一主機裝置,經由一匯流排耦接至該資料儲存裝置,其中該資料儲存裝置更包括: 一儲存裝置控制器,判定該資料儲存裝置需要使用該主機裝置之一第一暫存記憶體以存取該資料儲存裝置之一第二暫存記憶體之資料;以及一儲存裝置收發器,耦接該儲存裝置控制器,根據上述判定,經由該匯流排對該主機裝置發送一裝置匯流排主控(Device Bus Master,DBM)請求訊息以請求該匯流排上資料傳輸的一控制權,其中該主機裝置更包括:一主機控制器,偵測到該裝置匯流排主控請求訊息後,經由該匯流排發出一第一裝置匯流排主控允許訊息;其中該儲存裝置控制器偵測該匯流排以判斷是否從該主機裝置接收該第一裝置匯流排主控允許訊息,如果該儲存裝置控制器收到該第一裝置匯流排主控允許訊息,則傳送一第一裝置匯流排主控回應訊息至該主機裝置,根據該第一裝置匯流排主控回應訊息對該主機裝置之該第一暫存記憶體進行存取,其中,該第一裝置匯流排主控回應訊息包括用於存取該主機裝置之該第一暫存記憶體的相關資訊。
  14. 如申請專利範圍第13項所述之資料儲存系統,其中該儲存裝置控制器籍由該匯流排之一資料閃動(strobe)訊號線聲明一資料閃動(strobe)訊號以發出該裝置匯流排主控請求訊息。
  15. 如申請專利範圍第13項所述之資料儲存系統,其中,當該主機裝置對該資料儲存裝置進行讀取或寫入操作時,該主 機控制器在一空閒期間偵測到該裝置匯流排主控請求訊息。
  16. 如申請專利範圍第15項所述之資料儲存系統,其中,該空閒期間包括該主機裝置完成接收該資料儲存裝置發出之一正常回應指令之後直至傳輸一正常資料訊息之前的期間;該空閒期間還包括兩筆正常資料訊息之間一區塊空閒期間(block gap)。
  17. 如申請專利範圍第13項所述之資料儲存系統,其中,在收到該第一裝置匯流排主控允許訊息後,該儲存裝置控制器停止發送該裝置匯流排主控請求訊息至該主機裝置。
  18. 如申請專利範圍第13項所述之資料儲存系統,其中:該第一裝置匯流排主控回應訊息包括資料傳輸方向、存取該主機裝置之該第一暫存記憶體的記憶體位址以及存取資料長度等相關資訊。
  19. 如申請專利範圍第13項所述之資料儲存系統,其中:該主機裝置傳輸一第一寫入資料,該儲存裝置控制器驗證該第一寫入資料的正確性,並將一驗證結果傳至該主機裝置,以及當該驗證結果表明該第一寫入資料錯誤時,該主機控制器重新傳送該第一裝置匯流排主控允許訊息。
  20. 如申請專利範圍第19項所述之資料儲存系統,其中當該驗證結果表明該第一寫入資料正確時,該主機控制器傳送一第二裝置匯流排主控允許訊息以傳輸一第二寫入資料。
  21. 如申請專利範圍第13項所述之資料儲存系統,其中:該儲存裝置收發器傳送一第一讀取資料至該主機裝置,以 及當該主機控制器驗證該第一讀取資料錯誤時,重新傳送該第一裝置匯流排主控允許訊息。
  22. 如申請專利範圍第13項所述之資料儲存系統,其中,當該主機裝置驗證該第一讀取資料出正確時,該主機控制器傳送一第二裝置匯流排主控允許訊息以讀取一第二讀取資料。
  23. 如申請專利範圍第13項所述之資料儲存系統,其中,該資料儲存裝置之該第二暫存記憶體之資料包括該資料儲存裝置之一快閃記憶體之管理表及資料。
TW102142002A 2013-11-12 2013-11-19 資料儲存系統以及其管理方法 TWI498743B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310560162.6A CN103631534B (zh) 2013-11-12 2013-11-12 数据存储系统以及其管理方法

Publications (2)

Publication Number Publication Date
TW201518947A TW201518947A (zh) 2015-05-16
TWI498743B true TWI498743B (zh) 2015-09-01

Family

ID=50212645

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102142002A TWI498743B (zh) 2013-11-12 2013-11-19 資料儲存系統以及其管理方法

Country Status (3)

Country Link
US (1) US9519601B2 (zh)
CN (1) CN103631534B (zh)
TW (1) TWI498743B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102318478B1 (ko) * 2014-04-21 2021-10-27 삼성전자주식회사 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
KR20180018886A (ko) 2016-08-09 2018-02-22 삼성전자주식회사 스토리지 시스템의 동작 방법 및 호스트의 동작 방법
KR20180087494A (ko) * 2017-01-23 2018-08-02 에스케이하이닉스 주식회사 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
US11269707B2 (en) 2019-12-30 2022-03-08 Micron Technology, Inc. Real-time trigger to dump an error log
TWI771697B (zh) * 2020-06-12 2022-07-21 佳易科技股份有限公司 具資料上傳功能之儲存卡裝置及應用於其上的資料上傳方法
CN114936173B (zh) * 2022-06-16 2023-03-31 科东(广州)软件科技有限公司 一种eMMC器件的读写方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201237635A (en) * 2011-03-08 2012-09-16 Skymedi Corp Embedded memory system
TW201314450A (zh) * 2011-08-01 2013-04-01 Toshiba Kk 資訊處理裝置、半導體記憶裝置及半導體記憶裝置之控制方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0189944B1 (en) * 1985-02-01 1993-05-12 Nec Corporation Cache memory circuit capable of processing a read request during transfer of a data block
US5442785A (en) * 1991-10-08 1995-08-15 Unisys Corporation Method and apparatus for passing messages between application programs on host processors coupled to a record lock processor
WO1993018461A1 (en) * 1992-03-09 1993-09-16 Auspex Systems, Inc. High-performance non-volatile ram protected write cache accelerator system
US5822584A (en) * 1995-10-13 1998-10-13 Compaq Computer Corporation User selectable priority for disk array background operations
US5673413A (en) * 1995-12-15 1997-09-30 International Business Machines Corporation Method and apparatus for coherency reporting in a multiprocessing system
JP3365283B2 (ja) * 1997-11-14 2003-01-08 日本電気株式会社 半導体記憶装置
US6052772A (en) * 1998-04-13 2000-04-18 International Business Machines Corporation Memory request protocol method
JP2000156031A (ja) * 1998-11-17 2000-06-06 Sony Corp 情報処理システム、情報処理装置、及び情報処理方法
JP4097883B2 (ja) * 2000-07-04 2008-06-11 松下電器産業株式会社 データ転送装置および方法
US7120761B2 (en) * 2000-12-20 2006-10-10 Fujitsu Limited Multi-port memory based on DRAM core
US6820152B2 (en) * 2001-04-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Memory control device and LSI
US7093043B2 (en) * 2001-12-27 2006-08-15 Hewlett-Packard Development Company, L.P. Data array having redundancy messaging between array controllers over the host bus
CA2528080A1 (en) * 2004-07-30 2006-01-30 Research In Motion Limited Method and apparatus for synchronizing contact data stores
EP1624620B1 (en) * 2004-08-05 2010-05-05 Robert Bosch Gmbh FlexRay communication controller
US20060161733A1 (en) * 2005-01-19 2006-07-20 Emulex Design & Manufacturing Corporation Host buffer queues
US7565471B2 (en) * 2005-09-16 2009-07-21 Emulex Design & Manufacturing Corporation Message signaled interrupt extended (MSI-X) auto clear and failsafe lock
US7797398B2 (en) * 2005-09-20 2010-09-14 Brother Kogyo Kabushiki Kaisha Communication system, and peripheral device having trigger generating device and computer program product that monitors whether a trigger has been generated
US8700830B2 (en) * 2007-11-20 2014-04-15 Spansion Llc Memory buffering system that improves read/write performance and provides low latency for mobile systems
JP2009151843A (ja) * 2007-12-19 2009-07-09 Funai Electric Co Ltd 光ディスクの判別方法及び光ディスク装置
US8583835B1 (en) * 2008-08-06 2013-11-12 Siliconsystems, Inc. Command portal for executing non-standard storage subsystem commands
JP2010055152A (ja) * 2008-08-26 2010-03-11 Hitachi Ltd 記憶制御装置
US8225052B2 (en) 2009-06-03 2012-07-17 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
US8966176B2 (en) * 2010-05-27 2015-02-24 Sandisk Il Ltd. Memory management storage to a host device
US8683148B2 (en) * 2010-06-30 2014-03-25 Sandisk Il Ltd. Status indication when a maintenance operation is to be performed at a memory device
US8458435B1 (en) * 2010-12-20 2013-06-04 Western Digital Technologies, Inc. Sequential write thread detection
JP5935235B2 (ja) * 2011-02-18 2016-06-15 ソニー株式会社 通信装置、通信システムおよび通信方法
US8996630B2 (en) * 2012-01-10 2015-03-31 Globestar, Inc. Event notification system for associating an outgoing electronic message with an incoming response
TWI459201B (zh) * 2012-04-27 2014-11-01 Toshiba Kk Information processing device
US20140244904A1 (en) * 2013-02-28 2014-08-28 Kabushiki Kaisha Toshiba Memory device and computer system
KR20140128824A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 속성 데이터를 이용한 데이터 관리 방법
KR102094902B1 (ko) * 2013-07-08 2020-03-30 삼성전자주식회사 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템
US8935465B1 (en) * 2014-06-16 2015-01-13 Sandisk Technologies Inc. System and method of communicating command data in a master-slave environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201237635A (en) * 2011-03-08 2012-09-16 Skymedi Corp Embedded memory system
TW201314450A (zh) * 2011-08-01 2013-04-01 Toshiba Kk 資訊處理裝置、半導體記憶裝置及半導體記憶裝置之控制方法

Also Published As

Publication number Publication date
US9519601B2 (en) 2016-12-13
CN103631534A (zh) 2014-03-12
CN103631534B (zh) 2017-01-11
US20150134889A1 (en) 2015-05-14
TW201518947A (zh) 2015-05-16

Similar Documents

Publication Publication Date Title
TWI498743B (zh) 資料儲存系統以及其管理方法
US10445228B2 (en) Methods and apparatuses for requesting ready status information from a memory
EP2973572B1 (en) System and method of reading data from memory concurrently with sending write data to the memory
KR101932920B1 (ko) 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
KR101988260B1 (ko) 임베디드 멀티미디어 카드, 및 이의 동작 방법
KR102111741B1 (ko) 임베디드 멀티미디어 카드 및 이의 동작 방법
KR101547317B1 (ko) 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템
TW201743219A (zh) Ddr相容非同步記憶體模組、系統與操作記憶體模組的方法
JP5442634B2 (ja) 読出ステータスのコントローラ
US20120060023A1 (en) Methods for booting an operating system using non-volatile memory
US7484030B2 (en) Storage controller and methods for using the same
US20150154132A1 (en) System and method of arbitration associated with a multi-threaded system
KR20180104249A (ko) 메모리 컨트롤러 및 그것을 포함하는 저장 장치
TWI483117B (zh) 用於執行命令之裝置、主機控制器及用於執行命令之系統
KR101029074B1 (ko) 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법
JP2008015876A (ja) データアクセスシステム、データアクセス装置、データアクセス集積回路及びデータアクセス方法
JP2001216254A (ja) バストランザクションにおける制御チップセットのアービトレーション
JP2011070372A (ja) Dma転送制御装置
US20210034294A1 (en) Non-volatile dual in-line memory module (nvdimm) device assisted operations management
US9280298B2 (en) Storage device and storage system
CN104636081B (zh) 数据存储系统以及其管理方法
US20100131677A1 (en) Data transfer device and data transfer method
US9880831B2 (en) Field firmware upgrading method and computer-readable medium
CN103593313B (zh) 一种提高hpi接口访问速度与准确度的方法及装置
JP4538054B2 (ja) データ転送装置および方法