專(zhuān)利名稱(chēng):存儲(chǔ)器儲(chǔ)存裝置及其存儲(chǔ)器控制器與回應(yīng)主機(jī)指令的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種回應(yīng)主機(jī)指令的方法,尤其涉及一種執(zhí)行該方法的存儲(chǔ)器儲(chǔ)存裝置及其存儲(chǔ)器控制器。
背景技術(shù):
數(shù)碼相機(jī)、手機(jī)與MP3在這幾年來(lái)的成長(zhǎng)十分迅速,使得消費(fèi)者對(duì)儲(chǔ)存媒體的需求也急速增加。由于快速存儲(chǔ)器(Flash Memory)具有數(shù)據(jù)非揮發(fā)性、省電、體積小與無(wú)機(jī)械結(jié)構(gòu)等特性,故十分適合作為這類(lèi)可攜式產(chǎn)品的儲(chǔ)存媒體。對(duì)于采用快速存儲(chǔ)器作為儲(chǔ)存媒體的儲(chǔ)存裝置來(lái)說(shuō),當(dāng)主機(jī)系統(tǒng)將寫(xiě)入指令下達(dá)至儲(chǔ)存裝置時(shí),首先由儲(chǔ)存裝置中的緩沖存儲(chǔ)器接收主機(jī)系統(tǒng)傳輸(transfer)而來(lái)的數(shù)據(jù)。待數(shù)據(jù)完全傳輸至緩沖存儲(chǔ)器后,儲(chǔ)存裝置才開(kāi)始將暫存在緩沖存儲(chǔ)器中的數(shù)據(jù)存入快速存儲(chǔ)器。而儲(chǔ)存裝置會(huì)在寫(xiě)入指令執(zhí)行完畢時(shí)將一確認(rèn)信息回復(fù)至主機(jī)系統(tǒng),以通知主機(jī)系統(tǒng)可以下達(dá)下一個(gè)指令。然而,主機(jī)系統(tǒng)在收到來(lái)自?xún)?chǔ)存裝置的確認(rèn)信息后,需經(jīng)過(guò)一段等待時(shí)間(約40 微秒(μ s))才能下達(dá)新指令。也就是說(shuō),在上述等待時(shí)間之內(nèi)儲(chǔ)存裝置是處于閑置狀態(tài)。 據(jù)此,如何降低儲(chǔ)存裝置處于閑置狀態(tài)的時(shí)間以提升其處理主機(jī)指令的效率,便成為本領(lǐng)域技術(shù)人員所致力的目標(biāo)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種回應(yīng)主機(jī)指令的方法,能夠讓主機(jī)系統(tǒng)提前下達(dá)下一個(gè)指令,同時(shí)避免下一個(gè)指令的執(zhí)行時(shí)間逾時(shí)。本發(fā)明提供一種存儲(chǔ)器控制器,能夠讓主機(jī)系統(tǒng)提前下達(dá)下一個(gè)指令,同時(shí)避免下一個(gè)指令的執(zhí)行時(shí)間逾時(shí)。本發(fā)明提供一種存儲(chǔ)器儲(chǔ)存裝置,能夠讓主機(jī)系統(tǒng)提前下達(dá)下一個(gè)指令,同時(shí)避免下一個(gè)指令的執(zhí)行時(shí)間逾時(shí)。本發(fā)明提出一種回應(yīng)主機(jī)指令的方法,用于具有快速存儲(chǔ)器晶片與緩沖存儲(chǔ)器的存儲(chǔ)器儲(chǔ)存裝置。此方法包括接收主機(jī)系統(tǒng)下達(dá)的寫(xiě)入指令,判斷寫(xiě)入指令是否致使存儲(chǔ)器儲(chǔ)存裝置觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行。若否,則在寫(xiě)入指令所對(duì)應(yīng)的寫(xiě)入數(shù)據(jù)被完全傳輸至緩沖存儲(chǔ)器時(shí),將對(duì)應(yīng)寫(xiě)入指令的確認(rèn)信息傳送至主機(jī)系統(tǒng)。從另一觀點(diǎn)來(lái)看,本發(fā)明提出一種存儲(chǔ)器控制器,其包括主機(jī)系統(tǒng)接口、存儲(chǔ)器接口、緩沖存儲(chǔ)器,以及存儲(chǔ)器管理電路。其中,主機(jī)系統(tǒng)接口用以耦接主機(jī)系統(tǒng)。存儲(chǔ)器接口用以耦接快速存儲(chǔ)器晶片。存儲(chǔ)器管理電路耦接至主機(jī)系統(tǒng)接口、存儲(chǔ)器接口與緩沖存儲(chǔ)器。存儲(chǔ)器管理電路用以接收主機(jī)系統(tǒng)下達(dá)的寫(xiě)入指令,并判斷寫(xiě)入指令是否觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行。若寫(xiě)入指令不會(huì)觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,存儲(chǔ)器管理電路還用以在寫(xiě)入指令所對(duì)應(yīng)的寫(xiě)入數(shù)據(jù)被完全傳輸至緩沖存儲(chǔ)器時(shí),將對(duì)應(yīng)寫(xiě)入指令的確認(rèn)信息傳送至主機(jī)系統(tǒng)。
從又一觀點(diǎn)來(lái)看,本發(fā)明提出一種存儲(chǔ)器儲(chǔ)存裝置,包括連接器、快速存儲(chǔ)器晶片,以及存儲(chǔ)器控制器。其中連接器是用以耦接主機(jī)系統(tǒng)。存儲(chǔ)器控制器耦接至快速存儲(chǔ)器晶片與連接器,此存儲(chǔ)器控制器包括一緩沖存儲(chǔ)器。存儲(chǔ)器控制器用以接收主機(jī)系統(tǒng)下達(dá)的寫(xiě)入指令,并判斷寫(xiě)入指令是否觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行。若寫(xiě)入指令不會(huì)觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,存儲(chǔ)器控制器還用以在寫(xiě)入指令所對(duì)應(yīng)的寫(xiě)入數(shù)據(jù)被完全傳輸至緩沖存儲(chǔ)器時(shí),將對(duì)應(yīng)寫(xiě)入指令的確認(rèn)信息傳送至主機(jī)系統(tǒng)。基于上述,本發(fā)明是根據(jù)來(lái)自主機(jī)系統(tǒng)的寫(xiě)入指令是否致使存儲(chǔ)器儲(chǔ)存裝置觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,以決定將該寫(xiě)入指令的確認(rèn)信息回傳至主機(jī)系統(tǒng)的時(shí)間點(diǎn)。據(jù)此,對(duì)于不會(huì)導(dǎo)致數(shù)據(jù)搬移程序的寫(xiě)入指令,在寫(xiě)入指令完成前便提早將確認(rèn)信息傳送至主機(jī)系統(tǒng),進(jìn)而讓主機(jī)系統(tǒng)能提前下達(dá)下一個(gè)指令。而對(duì)于會(huì)導(dǎo)致數(shù)據(jù)搬移程序的寫(xiě)入指令,則等待數(shù)據(jù)搬移程序執(zhí)行完畢后才回應(yīng)主機(jī)系統(tǒng),以防止下一個(gè)指令的執(zhí)行時(shí)間逾時(shí)。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說(shuō)明如下。
圖IA是根據(jù)本發(fā)明一范例實(shí)施例所繪示的使用存儲(chǔ)器儲(chǔ)存裝置的主機(jī)系統(tǒng)的示意圖。圖IB是根據(jù)本發(fā)明一范例實(shí)施例所繪示的計(jì)算機(jī)、輸入/輸出裝置與存儲(chǔ)器儲(chǔ)存裝置的示意圖。圖IC是根據(jù)本發(fā)明另一范例實(shí)施例所繪示的主機(jī)系統(tǒng)與存儲(chǔ)器儲(chǔ)存裝置的示意圖。圖2是圖IA所示的存儲(chǔ)器儲(chǔ)存裝置的概要方框圖。圖3是根據(jù)本發(fā)明一范例實(shí)施例所繪示的存儲(chǔ)器控制器的概要方框圖。圖4是主機(jī)系統(tǒng)下達(dá)兩指令的時(shí)間示意圖。圖5A、圖5B是根據(jù)本發(fā)明一范例實(shí)施例所繪示的回應(yīng)主機(jī)指令的方法的流程圖。主要元件符號(hào)說(shuō)明1000主機(jī)系統(tǒng)
1100計(jì)算機(jī)
1102微處理器
1104隨機(jī)存取存儲(chǔ)器
1106輸入/輸出裝置
1108系統(tǒng)總線(xiàn)
1110數(shù)據(jù)傳輸接口
1202鼠標(biāo)
1204鍵盤(pán)
1206顯不器
1208打印機(jī)
1212隨身盤(pán)
1214存儲(chǔ)卡
1216:固態(tài)硬盤(pán)1310 數(shù)碼相機(jī)1312 =SD 卡1314:MMC 卡1316 存儲(chǔ)棒I3I8=CF 卡1320 嵌入式儲(chǔ)存裝置100:存儲(chǔ)器儲(chǔ)存裝置102 連接器104 存儲(chǔ)器控制器106 快速存儲(chǔ)器晶片1041:主機(jī)系統(tǒng)接口1043 存儲(chǔ)器管理電路1045 緩沖存儲(chǔ)器1047:存儲(chǔ)器接口3002:電源管理電路3004 錯(cuò)誤檢查與校正電路t”t2、t3:時(shí)間點(diǎn)Tw 等待時(shí)間Tp 處理時(shí)間510 580、5001 5005 本發(fā)明的一實(shí)施例所述的回應(yīng)主機(jī)指令的方法的各步驟
具體實(shí)施例方式一般而言,存儲(chǔ)器儲(chǔ)存裝置(也稱(chēng),存儲(chǔ)器儲(chǔ)存系統(tǒng))包括存儲(chǔ)器晶片與控制器 (也稱(chēng),控制電路)。通常存儲(chǔ)器儲(chǔ)存裝置會(huì)與主機(jī)系統(tǒng)一起使用,以使主機(jī)系統(tǒng)可將數(shù)據(jù)寫(xiě)入至存儲(chǔ)器儲(chǔ)存裝置或從存儲(chǔ)器儲(chǔ)存裝置中讀取數(shù)據(jù)。另外,也有存儲(chǔ)器儲(chǔ)存裝置是包括嵌入式存儲(chǔ)器與可執(zhí)行于主機(jī)系統(tǒng)上以實(shí)質(zhì)地作為此嵌入式存儲(chǔ)器的控制器的軟件。圖IA是根據(jù)本發(fā)明一范例實(shí)施例所繪示的使用存儲(chǔ)器儲(chǔ)存裝置的主機(jī)系統(tǒng)的示意圖。主機(jī)系統(tǒng)1000包括計(jì)算機(jī)1100與輸入/輸出anput/Output,I/O)裝置1106。 計(jì)算機(jī)1100包括微處理器1102、隨機(jī)存取存儲(chǔ)器(RandomAccess Memory, RAM) 1104、系統(tǒng)總線(xiàn)1108以及數(shù)據(jù)傳輸接口 1110。輸入/輸出裝置1106包括如圖IB所示的鼠標(biāo)1202、 鍵盤(pán)1204、顯示器1206與打印機(jī)1208。必須了解的是,如圖2B所示的裝置非限制輸入/ 輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。在本發(fā)明范例實(shí)施例中,存儲(chǔ)器儲(chǔ)存裝置100是通過(guò)數(shù)據(jù)傳輸接口 1110與主機(jī)系統(tǒng)1000的其他元件耦接。藉由微處理器1102、隨機(jī)存取存儲(chǔ)器1104以及輸入/輸出裝置 1106的運(yùn)作,主機(jī)系統(tǒng)1000可將數(shù)據(jù)寫(xiě)入至存儲(chǔ)器儲(chǔ)存裝置100,或從存儲(chǔ)器儲(chǔ)存裝置100 中讀取數(shù)據(jù)。例如,存儲(chǔ)器儲(chǔ)存裝置100可以是如圖IB所示的存儲(chǔ)卡1214、隨身盤(pán)1212、 或固態(tài)硬盤(pán)(Solid State Drive, SSD) 1216。
一般而言,主機(jī)系統(tǒng)1000為可儲(chǔ)存數(shù)據(jù)的任意系統(tǒng)。雖然在本范例實(shí)施例中主機(jī)系統(tǒng)1000是以計(jì)算機(jī)系統(tǒng)來(lái)作說(shuō)明,然而,在本發(fā)明另一范例實(shí)施例中,主機(jī)系統(tǒng)1000 也可以是手機(jī)、數(shù)碼相機(jī)、攝影機(jī)、通訊裝置、音頻播放器或視頻播放器等系統(tǒng)。例如,在主機(jī)系統(tǒng)為數(shù)碼相機(jī)1310時(shí),存儲(chǔ)器儲(chǔ)存裝置則為其所使用的安全數(shù)字(kcureDigital, SD)卡 1312、多媒體存儲(chǔ)(Multimedia Card, MMC)卡 1314、存儲(chǔ)棒(Memory Stick, MEM STICK) 1316、小型快速(Compact Flash, CF)卡1318或嵌入式儲(chǔ)存裝置1320(如圖IC所示)。嵌入式儲(chǔ)存裝置1320包括嵌入式多媒體卡(Embedded MMC, eMMC)。值得一提的是, 嵌入式多媒體卡是直接耦接于主機(jī)系統(tǒng)的基板上。圖2是圖IA所示的存儲(chǔ)器儲(chǔ)存裝置100的方框圖。請(qǐng)參照?qǐng)D2,存儲(chǔ)器儲(chǔ)存裝置 100包括連接器102、存儲(chǔ)器控制器104與快速存儲(chǔ)器晶片106。連接器102耦接至存儲(chǔ)器控制器104,并且用以耦接主機(jī)系統(tǒng)1000。在本范例實(shí)施例中,連接器102所支持的傳輸接口種類(lèi)為串行高級(jí)技術(shù)附件(Serial Advanced Technology Attachment, SATA)接口。然而在其他范例實(shí)施例中,連接器102的傳輸接口種類(lèi)也可以是通用串行總線(xiàn)(Universal Serial Bus,USB)接口、多媒體存儲(chǔ)卡(Multimedia Card, MMC)接口、平行高級(jí)技術(shù)附件(Parallel Advanced TechnologyAttachment, PATA) 接口、電氣禾口電子工禾呈師協(xié)會(huì)(Institute ofElectrical and Electronic Engineers, IEEE) 1394接口、高速周邊零件連接接口(Peripheral Component Interconnect Express, PCIExpress)、安全數(shù)字(Secure Digital, SD)接口、存儲(chǔ)棒(Memory Stick,MS)接口、小型快速(Compact Flash, CF)接口,或整合驅(qū)動(dòng)電子(Integrated Drive Electronics, IDE) 接口等任何適用的接口,在此并不加以限制。存儲(chǔ)器控制器104會(huì)執(zhí)行以硬件型式或固件型式實(shí)作的多個(gè)邏輯閘或控制指令, 并根據(jù)主機(jī)系統(tǒng)1000的指令在快速存儲(chǔ)器晶片106中進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與清除等運(yùn)作。其中,存儲(chǔ)器控制器104還特別用以根據(jù)本范例實(shí)施例的回應(yīng)主機(jī)指令的方法,在收到主機(jī)系統(tǒng)1000的指令后決定回應(yīng)主機(jī)系統(tǒng)1000的時(shí)間。本范例實(shí)施例的回應(yīng)主機(jī)指令的方法將于后配合附圖再作說(shuō)明。快速存儲(chǔ)器晶片106耦接至存儲(chǔ)器控制器104??焖俅鎯?chǔ)器晶片106是用以?xún)?chǔ)存如文件配置表(File Allocation Table, FAT)或增強(qiáng)型文件系統(tǒng)(New Technology File System, NTFS)等文件系統(tǒng)信息,以及儲(chǔ)存如文字、影像或聲音文件等一般性數(shù)據(jù)。舉例來(lái)說(shuō),快速存儲(chǔ)器晶片106為多層記憶胞(Multi Level Cell, MLC)NAND快速存儲(chǔ)器晶片,但本發(fā)明不限于此,快速存儲(chǔ)器晶片106也可以是單層記憶胞(SingleLevel Cell, SLC)NAND 快速存儲(chǔ)器晶片、其他快速存儲(chǔ)器晶片或任何具有相同特性的存儲(chǔ)器晶片。在本范例實(shí)施例中,快速存儲(chǔ)器晶片106是由數(shù)個(gè)實(shí)體區(qū)塊(block)所組成,每個(gè)實(shí)體區(qū)塊分別包括多個(gè)實(shí)體地址(也稱(chēng)為實(shí)體頁(yè)面),且對(duì)應(yīng)于同一實(shí)體區(qū)塊的該些實(shí)體頁(yè)面可獨(dú)立寫(xiě)入并同時(shí)清除。更詳細(xì)地說(shuō),實(shí)體區(qū)塊為清除的最小單位,而實(shí)體頁(yè)面則為寫(xiě)入數(shù)據(jù)時(shí)的最小單元??焖俅鎯?chǔ)器晶片106的該些實(shí)體區(qū)塊會(huì)被邏輯地分組為系統(tǒng)區(qū)(system area)、 數(shù)據(jù)區(qū)(data area)、備用區(qū)(spare area)與取代區(qū)(!^placement area)。其中,分組為系統(tǒng)區(qū)的實(shí)體區(qū)塊是用以?xún)?chǔ)存存儲(chǔ)器儲(chǔ)存裝置100相關(guān)的重要信息,而分組為取代區(qū)的實(shí)體區(qū)塊是用以取代數(shù)據(jù)區(qū)或備用區(qū)中已損壞的實(shí)體區(qū)塊。因此,在一般存取狀態(tài)下,主機(jī)系統(tǒng)1000并無(wú)法存取系統(tǒng)區(qū)與取代區(qū)中的實(shí)體區(qū)塊。分組為數(shù)據(jù)區(qū)的實(shí)體區(qū)塊會(huì)儲(chǔ)存由主機(jī)系統(tǒng)1000下達(dá)的寫(xiě)入指令所寫(xiě)入的數(shù)據(jù),而備用區(qū)中的實(shí)體區(qū)塊是用以在執(zhí)行寫(xiě)入指令時(shí)替換數(shù)據(jù)區(qū)中的實(shí)體區(qū)塊。例如,當(dāng)存儲(chǔ)器儲(chǔ)存裝置100接受到主機(jī)系統(tǒng)1000的寫(xiě)入指令而欲更新(或?qū)懭?數(shù)據(jù)至數(shù)據(jù)區(qū)中某一實(shí)體區(qū)塊的某一實(shí)體頁(yè)面時(shí),存儲(chǔ)器控制器 104會(huì)從備用區(qū)中提取一實(shí)體區(qū)塊并且將欲被更新的實(shí)體區(qū)塊中的有效舊數(shù)據(jù)與欲寫(xiě)入的新數(shù)據(jù)寫(xiě)入至從備用區(qū)中提取的實(shí)體區(qū)塊中,并且將已寫(xiě)入有效舊數(shù)據(jù)與新數(shù)據(jù)的實(shí)體區(qū)塊邏輯地關(guān)聯(lián)為數(shù)據(jù)區(qū),并且將數(shù)據(jù)區(qū)中欲被更新的實(shí)體區(qū)塊進(jìn)行清除并邏輯地關(guān)聯(lián)為備用區(qū)。在主機(jī)系統(tǒng)1000下達(dá)的寫(xiě)入指令會(huì)導(dǎo)致快速存儲(chǔ)器晶片106中兩實(shí)體區(qū)塊的數(shù)據(jù)的合并(Merge)時(shí),也即此寫(xiě)入指令會(huì)致使存儲(chǔ)器儲(chǔ)存裝置100觸發(fā)一數(shù)據(jù)搬移程序的執(zhí)行。換言之,存儲(chǔ)器儲(chǔ)存裝置100中的存儲(chǔ)器控制器104會(huì)執(zhí)行該數(shù)據(jù)搬移程序。此外,快速存儲(chǔ)器晶片106的每個(gè)實(shí)體區(qū)塊的清除次數(shù)是有限的,例如實(shí)體區(qū)塊清除一萬(wàn)次后就會(huì)磨損。因此當(dāng)實(shí)體區(qū)塊磨損導(dǎo)致快速存儲(chǔ)器晶片106的部份儲(chǔ)存容量損失或性能明顯退化時(shí),會(huì)造成儲(chǔ)存在其中的數(shù)據(jù)的損失,甚至無(wú)法儲(chǔ)存數(shù)據(jù)等不利影響。一般來(lái)說(shuō),實(shí)體區(qū)塊的磨損取決于每一實(shí)體區(qū)塊中被程式化(program,或稱(chēng)寫(xiě)入)或清除的次數(shù)。例如,當(dāng)主機(jī)系統(tǒng)1000重復(fù)地使用相同邏輯區(qū)塊地址來(lái)寫(xiě)入數(shù)據(jù)時(shí),將導(dǎo)致快速存儲(chǔ)器晶片106內(nèi)的相同實(shí)體地址的區(qū)塊會(huì)被重復(fù)地寫(xiě)入與清除,此實(shí)體區(qū)塊的磨損就會(huì)相對(duì)地高。一般而言,只要有區(qū)塊磨損便會(huì)降低快速存儲(chǔ)器晶片106的性能。詳言之,除了磨損區(qū)塊本身性能的退化之外,當(dāng)未磨損的區(qū)塊不足以?xún)?chǔ)存數(shù)據(jù)時(shí),快速存儲(chǔ)器晶片106整體的性能也會(huì)降低。因此,當(dāng)快速存儲(chǔ)器晶片106中磨損區(qū)塊的數(shù)量超過(guò)一門(mén)檻數(shù)時(shí),即使仍有其他區(qū)塊未磨損,快速存儲(chǔ)器晶片106仍會(huì)被判定為無(wú)法再使用。實(shí)質(zhì)上未磨損的區(qū)塊被視為無(wú)法使用將造成資源上的浪費(fèi)。為了增加快速存儲(chǔ)器晶片106的壽命,存儲(chǔ)器控制器104會(huì)盡可能平均地使用快速存儲(chǔ)器晶片106的區(qū)塊。為達(dá)到平均使用的目的,存儲(chǔ)器控制器104會(huì)在存取一段時(shí)間后進(jìn)行交換區(qū)塊的數(shù)據(jù)搬移運(yùn)作來(lái)平均磨損(wear leveling)。換句話(huà)說(shuō),存儲(chǔ)器控制器 104為了平均磨損也會(huì)執(zhí)行一數(shù)據(jù)搬移程序。圖3是根據(jù)本發(fā)明一范例實(shí)施例所繪示的存儲(chǔ)器控制器的概要方框圖。請(qǐng)參照?qǐng)D 3,存儲(chǔ)器控制器104包括主機(jī)系統(tǒng)接口 1041、存儲(chǔ)器管理電路1043、緩沖存儲(chǔ)器1045,以及存儲(chǔ)器接口 1047。主機(jī)系統(tǒng)接口 1041耦接至存儲(chǔ)器管理電路1043,并通過(guò)連接器102以耦接主機(jī)系統(tǒng)1000。主機(jī)系統(tǒng)接口 1041是用以接收與識(shí)別主機(jī)系統(tǒng)1000所傳送的指令與數(shù)據(jù)。據(jù)此,主機(jī)系統(tǒng)1000所傳送的指令與數(shù)據(jù)會(huì)通過(guò)主機(jī)系統(tǒng)接口 1041而傳送至存儲(chǔ)器管理電路1043。在本范例實(shí)施例中,主機(jī)系統(tǒng)接口 1041對(duì)應(yīng)連接器102而為SATA接口,而在其他范例實(shí)施例中,主機(jī)系統(tǒng)接口 1041也可以是USB接口、匪C接口、PATA接口、IEEE 1394接口、PCI Express接口、SD接口、MS接口、CF接口、IDE接口或符合其他接口標(biāo)準(zhǔn)的接口。存儲(chǔ)器管理電路1043是用以控制存儲(chǔ)器控制器104的整體運(yùn)作。具體來(lái)說(shuō),存儲(chǔ)器管理電路1043具有多個(gè)控制指令,在存儲(chǔ)器儲(chǔ)存裝置100運(yùn)作時(shí),上述控制指令會(huì)被執(zhí)行以實(shí)現(xiàn)本范例實(shí)施例的回應(yīng)主機(jī)指令的方法。在一范例實(shí)施例中,存儲(chǔ)器管理電路1043的控制指令是以固件型式來(lái)實(shí)作。例如,存儲(chǔ)器管理電路1043具有微處理器單元(未示出)與只讀存儲(chǔ)器(未示出),且上述控制指令是被燒錄在只讀存儲(chǔ)器中。當(dāng)存儲(chǔ)器儲(chǔ)存裝置100運(yùn)作時(shí),上述控制指令會(huì)由微處理器單元來(lái)執(zhí)行以完成本范例實(shí)施例的回應(yīng)主機(jī)指令的方法。在本發(fā)明另一范例實(shí)施例中,存儲(chǔ)器管理電路1043的控制指令也可以程式碼型式儲(chǔ)存于快速存儲(chǔ)器晶片106的特定區(qū)域(例如,快速存儲(chǔ)器晶片106中專(zhuān)用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲(chǔ)器管理電路1043具有微處理器單元(未示出)、只讀存儲(chǔ)器 (未示出)及隨機(jī)存取存儲(chǔ)器(未示出)。其中,只讀存儲(chǔ)器具有驅(qū)動(dòng)碼段,并且當(dāng)存儲(chǔ)器控制器104被致能時(shí),微處理器單元會(huì)先執(zhí)行此驅(qū)動(dòng)碼段來(lái)將儲(chǔ)存于快速存儲(chǔ)器晶片106 中的控制指令載入至存儲(chǔ)器管理電路1043的隨機(jī)存取存儲(chǔ)器中。之后,微處理器單元會(huì)運(yùn)轉(zhuǎn)上述控制指令以執(zhí)行本范例實(shí)施例的回應(yīng)主機(jī)指令的方法。此外,在本發(fā)明另一范例實(shí)施例中,存儲(chǔ)器管理電路1043的控制指令也可以一硬件型式來(lái)實(shí)作。緩沖存儲(chǔ)器1045耦接至存儲(chǔ)器管理電路1043,用以暫存來(lái)自于主機(jī)系統(tǒng)1000的數(shù)據(jù),或暫存來(lái)自于快速存儲(chǔ)器晶片106的數(shù)據(jù)。詳言之,當(dāng)主機(jī)系統(tǒng)1000欲將數(shù)據(jù)寫(xiě)入存儲(chǔ)器儲(chǔ)存裝置100時(shí),對(duì)應(yīng)寫(xiě)入指令的寫(xiě)入數(shù)據(jù)將先被暫存至緩沖存儲(chǔ)器1045,接著由存儲(chǔ)器管理電路1043將緩沖存儲(chǔ)器1045中的寫(xiě)入數(shù)據(jù)寫(xiě)入至快速存儲(chǔ)器晶片106。存儲(chǔ)器接口 1047耦接至存儲(chǔ)器管理電路1043,用以使存儲(chǔ)器控制器104與快速存儲(chǔ)器晶片106相耦接。據(jù)此,存儲(chǔ)器控制器104可對(duì)快速存儲(chǔ)器晶片106進(jìn)行相關(guān)運(yùn)作。 也就是說(shuō),欲寫(xiě)入至快速存儲(chǔ)器晶片106的數(shù)據(jù)會(huì)經(jīng)由存儲(chǔ)器接口 1047轉(zhuǎn)換為快速存儲(chǔ)器晶片106所能接受的格式。在本發(fā)明另一范例實(shí)施例中,存儲(chǔ)器控制器104還包括電源管理電路3002。電源管理電路3002耦接至存儲(chǔ)器管理電路1043,用以控制存儲(chǔ)器儲(chǔ)存裝置100的電源。在本發(fā)明又一范例實(shí)施例中,存儲(chǔ)器控制器104還包括錯(cuò)誤檢查與校正電路 3004。錯(cuò)誤檢查與校正電路3004耦接至存儲(chǔ)器管理電路1043,用以執(zhí)行錯(cuò)誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體而言,當(dāng)存儲(chǔ)器管理電路1043接收到來(lái)自主機(jī)系統(tǒng)1000的寫(xiě)入指令時(shí),錯(cuò)誤檢查與校正電路3004會(huì)為對(duì)應(yīng)此寫(xiě)入指令的數(shù)據(jù)產(chǎn)生對(duì)應(yīng)的錯(cuò)誤檢查與校正碼(Error Checking and Correcting Code, ECC Code),且存儲(chǔ)器管理電路 1043 會(huì)將對(duì)應(yīng)此寫(xiě)入指令的數(shù)據(jù)與對(duì)應(yīng)的錯(cuò)誤檢查與校正碼寫(xiě)入至快速存儲(chǔ)器晶片106。之后當(dāng)存儲(chǔ)器管理電路1043從快速存儲(chǔ)器晶片106中讀取數(shù)據(jù)時(shí),會(huì)同時(shí)讀取此數(shù)據(jù)對(duì)應(yīng)的錯(cuò)誤檢查與校正碼,且錯(cuò)誤檢查與校正電路3004會(huì)依據(jù)此錯(cuò)誤檢查與校正碼對(duì)所讀取的數(shù)據(jù)執(zhí)行錯(cuò)誤檢查與校正程序。平均來(lái)說(shuō),存儲(chǔ)器儲(chǔ)存裝置100每秒能處理約一萬(wàn)個(gè)主機(jī)系統(tǒng)1000下達(dá)的指令。 也即,每個(gè)指令的執(zhí)行時(shí)間約100微秒。然而在存儲(chǔ)器儲(chǔ)存裝置100處理完一指令并將確認(rèn)信息回復(fù)給主機(jī)系統(tǒng)1000后,主機(jī)系統(tǒng)1000需經(jīng)過(guò)一段等待時(shí)間(約40微秒(μ S)) 才能下達(dá)新指令。不難預(yù)見(jiàn),倘若存儲(chǔ)器儲(chǔ)存裝置100每處理完一個(gè)指令都必須耗費(fèi)約40 微秒的閑置時(shí)間來(lái)等待主機(jī)系統(tǒng)1000下達(dá)新指令,存儲(chǔ)器儲(chǔ)存裝置100等待新指令的時(shí)間將占據(jù)一個(gè)指令的執(zhí)行時(shí)間的40%,這種情況會(huì)對(duì)存儲(chǔ)器儲(chǔ)存裝置100執(zhí)行指令的整體效率造成負(fù)面影響。但若為了減少閑置時(shí)間而每次都提前將確認(rèn)信息回復(fù)給主機(jī)系統(tǒng)1000,則可能導(dǎo)致新指令執(zhí)行時(shí)間逾期的情況產(chǎn)生。具體而言,如圖4所示,假設(shè)主機(jī)系統(tǒng)1000對(duì)存儲(chǔ)器儲(chǔ)存裝置100下達(dá)寫(xiě)入指令CMD_1,且在時(shí)間點(diǎn)、主機(jī)系統(tǒng)1000將寫(xiě)入指令CMD-I所對(duì)應(yīng)的寫(xiě)入數(shù)據(jù)完全傳輸至緩沖存儲(chǔ)器1045。若存儲(chǔ)器儲(chǔ)存裝置100在時(shí)間點(diǎn)^就將確認(rèn)信息回復(fù)給主機(jī)系統(tǒng)1000,主機(jī)系統(tǒng)1000在經(jīng)過(guò)等待時(shí)間Tw (約40微秒)后的時(shí)間點(diǎn)t2便能將另一個(gè)指令CMD_2下達(dá)至存儲(chǔ)器儲(chǔ)存裝置100。然而,若在寫(xiě)入數(shù)據(jù)被完全傳輸至緩沖存儲(chǔ)器1045后,存儲(chǔ)器儲(chǔ)存裝置100還需要處理時(shí)間Tp來(lái)完成寫(xiě)入指令CMD_1,表示存儲(chǔ)器儲(chǔ)存裝置100不能在時(shí)間點(diǎn)t2開(kāi)始處理指令CMD_2,而必須等到時(shí)間點(diǎn)t3才能開(kāi)始進(jìn)行處理。在寫(xiě)入指令CMD_1會(huì)致使存儲(chǔ)器儲(chǔ)存裝置100觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行的情況下, 由于統(tǒng)計(jì)數(shù)據(jù)顯示要完成一數(shù)據(jù)搬移程序約需要0. 5秒的時(shí)間,這將使時(shí)間點(diǎn)t2到時(shí)間點(diǎn) t3的間距過(guò)長(zhǎng),而導(dǎo)致指令CMD_2逾時(shí)?;?,為了提高存儲(chǔ)器儲(chǔ)存裝置100處理指令的效率并避免新指令逾時(shí),本范例實(shí)施例所述的存儲(chǔ)器儲(chǔ)存裝置100中的存儲(chǔ)器管理電路1043會(huì)在收到主機(jī)系統(tǒng)1000下達(dá)的指令時(shí),判斷該指令是否需要較長(zhǎng)的執(zhí)行時(shí)間。若需要的執(zhí)行時(shí)間較短,則在指令真正執(zhí)行完畢之前便將確認(rèn)信息回復(fù)給主機(jī)系統(tǒng)1000,讓主機(jī)系統(tǒng)1000能提前下達(dá)新指令。但為了防止正在進(jìn)行較費(fèi)時(shí)的處理時(shí)接獲新指令,卻因不能立即處理新指令而造成逾時(shí),存儲(chǔ)器管理電路1043在判斷已接收到的指令需要較長(zhǎng)執(zhí)行時(shí)間的情況下,則會(huì)在指令真正地執(zhí)行完畢之后才作回應(yīng)。在主機(jī)系統(tǒng)1000經(jīng)常對(duì)存儲(chǔ)器儲(chǔ)存裝置100下達(dá)的各種指令當(dāng)中,必須合并實(shí)體區(qū)塊或執(zhí)行平均磨損而致使存儲(chǔ)器儲(chǔ)存裝置100觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行的寫(xiě)入指令,其需要的執(zhí)行時(shí)間遠(yuǎn)超過(guò)一般寫(xiě)入、讀取、或清除等其他類(lèi)型的指令?;耍韵绿貏e以接收到來(lái)自主機(jī)系統(tǒng)1000的寫(xiě)入指令為例來(lái)對(duì)本發(fā)明進(jìn)行說(shuō)明。詳細(xì)地說(shuō),當(dāng)主機(jī)系統(tǒng)1000欲將數(shù)據(jù)寫(xiě)入存儲(chǔ)器儲(chǔ)存裝置100時(shí),存儲(chǔ)器控制器 104通過(guò)連接器102接收來(lái)自主機(jī)系統(tǒng)1000的寫(xiě)入指令,并由緩沖存儲(chǔ)器1045暫存主機(jī)系統(tǒng)1000所傳輸?shù)膶?xiě)入數(shù)據(jù)。而在主機(jī)系統(tǒng)1000傳輸寫(xiě)入數(shù)據(jù)的過(guò)程中,存儲(chǔ)器管理電路 1043會(huì)判斷此次收到的寫(xiě)入指令是否需要較長(zhǎng)的執(zhí)行時(shí)間。也即,是否會(huì)觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行(例如合并實(shí)體區(qū)塊或執(zhí)行平均磨損所產(chǎn)生的數(shù)據(jù)搬移)。在本范例實(shí)施例中, 存儲(chǔ)器管理電路1043是根據(jù)可用的實(shí)體區(qū)塊的數(shù)目是否少于一預(yù)設(shè)門(mén)檻值或特定的變數(shù) (例如執(zhí)行平均磨損時(shí)所產(chǎn)生的變數(shù),或其他使數(shù)據(jù)產(chǎn)生搬移的變數(shù))來(lái)判斷寫(xiě)入指令是否觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行。若寫(xiě)入指令并不觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,存儲(chǔ)器管理電路1043將在寫(xiě)入數(shù)據(jù)被完全傳輸至緩沖存儲(chǔ)器1045時(shí),將對(duì)應(yīng)寫(xiě)入指令的確認(rèn)信息傳送至主機(jī)系統(tǒng)1000。然而,倘若寫(xiě)入指令會(huì)觸發(fā)存儲(chǔ)器管理電路1043執(zhí)行快速存儲(chǔ)器晶片106的數(shù)據(jù)搬移程序, 存儲(chǔ)器管理電路1043則會(huì)在數(shù)據(jù)搬移程序執(zhí)行完畢時(shí),才將確認(rèn)信息傳送至主機(jī)系統(tǒng) 1000。而主機(jī)系統(tǒng)1000在收到來(lái)自存儲(chǔ)器儲(chǔ)存裝置100的確認(rèn)信息后,便能再次對(duì)存儲(chǔ)器儲(chǔ)存裝置100下達(dá)另一個(gè)指令。由于主機(jī)系統(tǒng)1000在收到存儲(chǔ)器儲(chǔ)存裝置100的確認(rèn)信息后,需經(jīng)過(guò)一段等待時(shí)間才能下達(dá)新指令。也就是說(shuō),存儲(chǔ)器儲(chǔ)存裝置100在處理完一個(gè)來(lái)自主機(jī)系統(tǒng)1000的指令后,最少須經(jīng)過(guò)上述等待時(shí)間才能接獲新指令并開(kāi)始進(jìn)行處理。因此,存儲(chǔ)器管理電路 1043在指令真正處理完畢之前(例如,寫(xiě)入指令所對(duì)應(yīng)的寫(xiě)入數(shù)據(jù)尚未被寫(xiě)入快速存儲(chǔ)器晶片106)便提早通知主機(jī)系統(tǒng)1000準(zhǔn)備下達(dá)新指令,將能提升存儲(chǔ)器儲(chǔ)存裝置100執(zhí)行主機(jī)系統(tǒng)1000所下達(dá)的指令的效率。另外,當(dāng)主機(jī)系統(tǒng)1000下達(dá)的寫(xiě)入指令會(huì)致使數(shù)據(jù)搬移程序的執(zhí)行而需要較長(zhǎng)的處理時(shí)間時(shí),為了避免接獲新指令到執(zhí)行新指令的時(shí)間過(guò)長(zhǎng),存儲(chǔ)器管理電路1043會(huì)在數(shù)據(jù)搬移程序執(zhí)行完畢后才回應(yīng)主機(jī)系統(tǒng)1000,以避免因無(wú)法立即處理新指令而造成新指令操作時(shí)間逾時(shí)的情況。在以下的范例實(shí)施例中,存儲(chǔ)器管理電路1043是通過(guò)設(shè)定判斷參數(shù)以及在特定時(shí)刻檢查判斷參數(shù)的數(shù)值,來(lái)決定將確認(rèn)信息傳送至主機(jī)系統(tǒng)1000的時(shí)機(jī)。具體而言,存儲(chǔ)器管理電路1043在主機(jī)系統(tǒng)1000將寫(xiě)入指令下達(dá)至存儲(chǔ)器儲(chǔ)存裝置100后,便將一判斷參數(shù)設(shè)定為第一特定值,并通知主機(jī)系統(tǒng)1000可以開(kāi)始傳輸寫(xiě)入數(shù)據(jù)。而在寫(xiě)入數(shù)據(jù)被傳輸至緩沖存儲(chǔ)器1045的期間,存儲(chǔ)器管理電路1043判斷寫(xiě)入指令是否觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行。而只要主機(jī)系統(tǒng)1000已將寫(xiě)入數(shù)據(jù)完全傳輸至緩沖存儲(chǔ)器1045,主機(jī)系統(tǒng)1000會(huì)傳送一中斷指令至存儲(chǔ)器儲(chǔ)存裝置100。倘若存儲(chǔ)器管理電路1043判定寫(xiě)入指令并不觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,存儲(chǔ)器管理電路1043會(huì)將判斷參數(shù)設(shè)定為第二特定值。此時(shí),若存儲(chǔ)器儲(chǔ)存裝置100接收到來(lái)自主機(jī)系統(tǒng)1000的中斷指令(表示寫(xiě)入數(shù)據(jù)已完全傳輸至緩沖存儲(chǔ)器1045),存儲(chǔ)器管理電路1043會(huì)去檢查判斷參數(shù)為第一特定值或第二特定值。由于判斷參數(shù)已被設(shè)定為第二特定值,因此即便寫(xiě)入指令尚未完全處理完畢,存儲(chǔ)器管理電路1043仍會(huì)將確認(rèn)信息提前傳送至主機(jī)系統(tǒng)1000,以告知主機(jī)系統(tǒng)1000可以準(zhǔn)備下達(dá)下一個(gè)指令。接下來(lái),存儲(chǔ)器管理電路1043會(huì)繼續(xù)依據(jù)寫(xiě)入指令進(jìn)行對(duì)應(yīng)的處理,也即,將緩沖存儲(chǔ)器1045中的寫(xiě)入數(shù)據(jù)搬移至快速存儲(chǔ)器晶片106。由于在這種情況下,寫(xiě)入指令并不會(huì)觸發(fā)存儲(chǔ)器管理電路1043 執(zhí)行數(shù)據(jù)搬移程序,因此即便主機(jī)系統(tǒng)1000緊接著對(duì)存儲(chǔ)器儲(chǔ)存裝置100下達(dá)另一新指令,新指令也能被很快地執(zhí)行而較不容易發(fā)生逾時(shí)。然而若存儲(chǔ)器管理電路1043判定寫(xiě)入指令會(huì)觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,存儲(chǔ)器管理電路1043將不改變判斷參數(shù)的數(shù)值,而準(zhǔn)備進(jìn)行數(shù)據(jù)搬移程序。期間,若存儲(chǔ)器儲(chǔ)存裝置100接收到主機(jī)系統(tǒng)1000下達(dá)的中斷指令,存儲(chǔ)器管理電路1043檢查判斷參數(shù)仍為第一特定值,表示目前所處理的寫(xiě)入指令需要較長(zhǎng)的執(zhí)行時(shí)間,因此存儲(chǔ)器管理電路1043 不會(huì)在此時(shí)將確認(rèn)信息傳送至主機(jī)系統(tǒng)1000,以避免過(guò)快接收到新指令但卻無(wú)法立即處理而產(chǎn)生逾時(shí)的情況。存儲(chǔ)器管理電路1043會(huì)繼續(xù)進(jìn)行數(shù)據(jù)搬移程序,并等到數(shù)據(jù)搬移程序執(zhí)行完畢時(shí),才將判斷參數(shù)設(shè)定為第二特定值。之后,若收到主機(jī)系統(tǒng)1000傳送而來(lái)的中斷指令,存儲(chǔ)器管理電路1043便會(huì)將確認(rèn)信息傳送至主機(jī)系統(tǒng)1000。并且,存儲(chǔ)器管理電路1043會(huì)將緩沖存儲(chǔ)器1045中的寫(xiě)入數(shù)據(jù)搬移至快速存儲(chǔ)器晶片106以完成寫(xiě)入指令。也就是說(shuō),無(wú)論在主機(jī)系統(tǒng)1000發(fā)出中斷指令時(shí)存儲(chǔ)器管理電路1043正在進(jìn)行什么階段的處理動(dòng)作,都可藉由檢查判斷參數(shù)的數(shù)值是第一特定值或第二特定值來(lái)決定要稍后傳送確認(rèn)信息或是隨即將確認(rèn)信息傳送至主機(jī)系統(tǒng)1000。相較之下,因只有比較少數(shù)的寫(xiě)入指令會(huì)觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,因此在大多數(shù)的情況下都能因?yàn)橄葘⒋_認(rèn)信息傳送至主機(jī)系統(tǒng)1000而使主機(jī)系統(tǒng)1000提前傳送下一個(gè)指令,進(jìn)而達(dá)到減少等待指令下達(dá)時(shí)間的目的。而在需要進(jìn)行費(fèi)時(shí)的數(shù)據(jù)搬移程序時(shí),也能避免下一個(gè)指令逾時(shí)的情況。圖5A、圖5B是根據(jù)本發(fā)明一范例實(shí)施例所繪示的回應(yīng)主機(jī)指令的方法的流程圖。請(qǐng)參閱圖5A,首先如步驟510所示,存儲(chǔ)器儲(chǔ)存裝置100接收主機(jī)系統(tǒng)1000下達(dá)的寫(xiě)入指令,此時(shí)存儲(chǔ)器管理電路1043會(huì)通知主機(jī)系統(tǒng)1000可以開(kāi)始傳送對(duì)應(yīng)的寫(xiě)入數(shù)據(jù)。接著在步驟520中,存儲(chǔ)器管理電路1043將判斷參數(shù)設(shè)定為第一特定值。如步驟530所示,存儲(chǔ)器儲(chǔ)存裝置100接收主機(jī)系統(tǒng)1000傳輸?shù)膶?xiě)入數(shù)據(jù),此寫(xiě)入數(shù)據(jù)將被暫存在緩沖存儲(chǔ)器1045。并如步驟540所示,存儲(chǔ)器管理電路1043判斷寫(xiě)入指令是否觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行。其中,存儲(chǔ)器管理電路1043能在主機(jī)系統(tǒng)1000傳輸寫(xiě)入數(shù)據(jù)的期間執(zhí)行步驟MO的判斷動(dòng)作。倘若寫(xiě)入指令并不會(huì)觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,如步驟550所示,存儲(chǔ)器管理電路1043將判斷參數(shù)設(shè)定為第二特定值。然而若寫(xiě)入指令會(huì)觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,則如步驟560所示,存儲(chǔ)器管理電路1043開(kāi)始執(zhí)行數(shù)據(jù)搬移程序。當(dāng)數(shù)據(jù)搬移程序執(zhí)行完畢時(shí),如步驟570所示,存儲(chǔ)器管理電路1043將判斷參數(shù)設(shè)定為第二特定值。最后如步驟580所示,存儲(chǔ)器管理電路1043將暫存于緩沖存儲(chǔ)器1045中的寫(xiě)入數(shù)據(jù)儲(chǔ)存至快速存儲(chǔ)器晶片106,以完成寫(xiě)入指令。因此在圖5A所示的各步驟的期間,一旦主機(jī)系統(tǒng)1000已將寫(xiě)入數(shù)據(jù)完全傳輸至緩沖存儲(chǔ)器1045,主機(jī)系統(tǒng)1000會(huì)將中斷指令下達(dá)至存儲(chǔ)器儲(chǔ)存裝置100?;?,當(dāng)收到主機(jī)系統(tǒng)1000傳送而來(lái)的中斷指令時(shí),如圖5B所示的步驟5001所示,存儲(chǔ)器管理電路1043 檢查判斷參數(shù)是否為第二特定值。若否,則如步驟5003所示,存儲(chǔ)器管理電路1043暫不將確認(rèn)信息傳送至主機(jī)系統(tǒng)1000。若是,存儲(chǔ)器管理電路1043將確認(rèn)信息傳送至主機(jī)系統(tǒng) 1000。如圖5A、圖5B所示,在判斷參數(shù)被設(shè)定為第二特定值之前,存儲(chǔ)器管理電路1043 都不會(huì)將確認(rèn)信息傳送至主機(jī)系統(tǒng)1000。而在判斷參數(shù)被設(shè)定為第二特定值之后,只要接收到主機(jī)系統(tǒng)1000傳送而來(lái)的中斷指令,無(wú)論寫(xiě)入指令是否執(zhí)行完畢,存儲(chǔ)器管理電路 1043都會(huì)將確認(rèn)信息傳送至主機(jī)系統(tǒng)1000。綜上所述,本發(fā)明所述的回應(yīng)主機(jī)指令的方法、存儲(chǔ)器控制器以及存儲(chǔ)器儲(chǔ)存裝置在接收來(lái)自主機(jī)系統(tǒng)的寫(xiě)入指令時(shí),根據(jù)寫(xiě)入指令是否致使存儲(chǔ)器儲(chǔ)存裝置觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,以決定在不同的時(shí)間點(diǎn)將寫(xiě)入指令的確認(rèn)信息傳送至主機(jī)系統(tǒng)。如此一來(lái), 對(duì)于不會(huì)觸發(fā)數(shù)據(jù)搬移程序的寫(xiě)入指令,提早傳送確認(rèn)信息的時(shí)間,進(jìn)而讓主機(jī)系統(tǒng)能提前將下一個(gè)指令下達(dá)至存儲(chǔ)器儲(chǔ)存裝置,以提高存儲(chǔ)器儲(chǔ)存裝置處理指令的整體效率。另外對(duì)于會(huì)導(dǎo)致數(shù)據(jù)搬移程序的寫(xiě)入指令,則等待數(shù)據(jù)搬移程序執(zhí)行完畢后才回應(yīng)主機(jī)系統(tǒng),以防止接收到的下一個(gè)指令產(chǎn)生逾時(shí)的情況。雖然本發(fā)明已以實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域中的普通技術(shù)人員,當(dāng)可作些許更動(dòng)與潤(rùn)飾,而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種回應(yīng)主機(jī)指令的方法,用于具有一快速存儲(chǔ)器晶片與一緩沖存儲(chǔ)器的一存儲(chǔ)器儲(chǔ)存裝置,該方法包括接收一主機(jī)系統(tǒng)下達(dá)的一寫(xiě)入指令;判斷該寫(xiě)入指令是否致使該存儲(chǔ)器儲(chǔ)存裝置觸發(fā)一數(shù)據(jù)搬移程序的執(zhí)行;以及若否,則在該寫(xiě)入指令所對(duì)應(yīng)的一寫(xiě)入數(shù)據(jù)被完全傳輸至該緩沖存儲(chǔ)器時(shí),將對(duì)應(yīng)該寫(xiě)入指令的一確認(rèn)信息傳送至該主機(jī)系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的回應(yīng)主機(jī)指令的方法,其中該數(shù)據(jù)搬移程序包括合并該快速存儲(chǔ)器晶片的實(shí)體區(qū)塊而產(chǎn)生的數(shù)據(jù)搬移,或?qū)υ摽焖俅鎯?chǔ)器晶片執(zhí)行平均磨損而產(chǎn)生的數(shù)據(jù)搬移。
3.根據(jù)權(quán)利要求1所述的回應(yīng)主機(jī)指令的方法,其中在判斷該寫(xiě)入指令是否致使該存儲(chǔ)器儲(chǔ)存裝置觸發(fā)該數(shù)據(jù)搬移程序的執(zhí)行的步驟之后,該方法還包括若是,則在該數(shù)據(jù)搬移程序執(zhí)行完畢時(shí),將該確認(rèn)信息傳送至該主機(jī)系統(tǒng)。
4.根據(jù)權(quán)利要求1所述的回應(yīng)主機(jī)指令的方法,其中在接收該主機(jī)系統(tǒng)下達(dá)的該寫(xiě)入指令的步驟之后,該方法還包括將一判斷參數(shù)設(shè)定為一第一特定值。
5.根據(jù)權(quán)利要求4所述的回應(yīng)主機(jī)指令的方法,其中還包括若判定該寫(xiě)入指令不致使該數(shù)據(jù)搬移程序的執(zhí)行,則將該判斷參數(shù)設(shè)定為一第二特定值;以及若判定該寫(xiě)入指令致使該數(shù)據(jù)搬移程序的執(zhí)行,則在該數(shù)據(jù)搬移程序執(zhí)行完畢時(shí),將該判斷參數(shù)設(shè)定為該第二特定值。
6.根據(jù)權(quán)利要求5所述的回應(yīng)主機(jī)指令的方法,其中還包括在接收該主機(jī)系統(tǒng)下達(dá)的一中斷指令時(shí),檢查該判斷參數(shù)為該第一特定值或該第二特定值;若該判斷參數(shù)為該第一特定值,則不傳送該確認(rèn)信息至該主機(jī)系統(tǒng);以及若該判斷參數(shù)為該第二特定值,則傳送該確認(rèn)信息至該主機(jī)系統(tǒng)。
7.根據(jù)權(quán)利要求6所述的回應(yīng)主機(jī)指令的方法,其中該中斷指令是當(dāng)該主機(jī)系統(tǒng)判斷已將該寫(xiě)入數(shù)據(jù)完全傳輸至該緩沖存儲(chǔ)器時(shí)下達(dá)至該存儲(chǔ)器儲(chǔ)存裝置。
8.一種存儲(chǔ)器控制器,包括一主機(jī)系統(tǒng)接口,用以耦接一主機(jī)系統(tǒng);一存儲(chǔ)器接口,用以耦接一快速存儲(chǔ)器晶片;一緩沖存儲(chǔ)器;以及一存儲(chǔ)器管理電路,耦接至該主機(jī)系統(tǒng)接口、該存儲(chǔ)器接口與該緩沖存儲(chǔ)器,其中該存儲(chǔ)器管理電路用以接收該主機(jī)系統(tǒng)下達(dá)的一寫(xiě)入指令,并判斷該寫(xiě)入指令是否觸發(fā)一數(shù)據(jù)搬移程序的執(zhí)行,若否,該存儲(chǔ)器管理電路還用以在該寫(xiě)入指令所對(duì)應(yīng)的一寫(xiě)入數(shù)據(jù)被完全傳輸至該緩沖存儲(chǔ)器時(shí),將對(duì)應(yīng)該寫(xiě)入指令的一確認(rèn)信息傳送至該主機(jī)系統(tǒng)。
9.根據(jù)權(quán)利要求8所述的存儲(chǔ)器控制器,其中該數(shù)據(jù)搬移程序包括合并該快速存儲(chǔ)器晶片的實(shí)體區(qū)塊而產(chǎn)生的數(shù)據(jù)搬移,或?qū)υ摽焖俅鎯?chǔ)器晶片執(zhí)行平均磨損而產(chǎn)生的數(shù)據(jù)搬移。
10.根據(jù)權(quán)利要求8所述的存儲(chǔ)器控制器,其中若該存儲(chǔ)器管理電路判斷該寫(xiě)入指令觸發(fā)該數(shù)據(jù)搬移程序的執(zhí)行,該存儲(chǔ)器管理電路還用以在該數(shù)據(jù)搬移程序執(zhí)行完畢時(shí),將該確認(rèn)信息傳送至該主機(jī)系統(tǒng)。
11.根據(jù)權(quán)利要求8所述的存儲(chǔ)器控制器,其中該存儲(chǔ)器管理電路還用以在接收該主機(jī)系統(tǒng)下達(dá)的該寫(xiě)入指令之后,將一判斷參數(shù)設(shè)定為一第一特定值。
12.根據(jù)權(quán)利要求11所述的存儲(chǔ)器控制器,其中該存儲(chǔ)器管理電路還用以在判定該寫(xiě)入指令不會(huì)觸發(fā)該數(shù)據(jù)搬移程序的執(zhí)行時(shí),將該判斷參數(shù)設(shè)定為一第二特定值,并且在判定該寫(xiě)入指令會(huì)觸發(fā)該數(shù)據(jù)搬移程序的執(zhí)行時(shí),在該數(shù)據(jù)搬移程序執(zhí)行完畢時(shí)將該判斷參數(shù)設(shè)定為該第二特定值。
13.根據(jù)權(quán)利要求12所述的存儲(chǔ)器控制器,其中該存儲(chǔ)器管理電路還用以在接收該主機(jī)系統(tǒng)下達(dá)的一中斷指令時(shí),檢查該判斷參數(shù)為該第一特定值或該第二特定值,若該判斷參數(shù)為該第一特定值,該存儲(chǔ)器管理電路不傳送該確認(rèn)信息至該主機(jī)系統(tǒng),若該判斷參數(shù)為該第二特定值,該存儲(chǔ)器管理電路傳送該確認(rèn)信息至該主機(jī)系統(tǒng)。
14.根據(jù)權(quán)利要求13所述的存儲(chǔ)器控制器,其中該中斷指令是當(dāng)該主機(jī)系統(tǒng)判斷已將該寫(xiě)入數(shù)據(jù)完全傳輸至該緩沖存儲(chǔ)器時(shí)下達(dá)至該存儲(chǔ)器管理電路。
15.一種存儲(chǔ)器儲(chǔ)存裝置,包括一連接器,用以耦接一主機(jī)系統(tǒng);一快速存儲(chǔ)器晶片;以及一存儲(chǔ)器控制器,耦接至該快速存儲(chǔ)器晶片與該連接器,其中該存儲(chǔ)器控制器包括一緩沖存儲(chǔ)器,該存儲(chǔ)器控制器用以接收該主機(jī)系統(tǒng)下達(dá)的一寫(xiě)入指令,并判斷該寫(xiě)入指令是否觸發(fā)一數(shù)據(jù)搬移程序的執(zhí)行,若否,該存儲(chǔ)器控制器還用以在該寫(xiě)入指令所對(duì)應(yīng)的一寫(xiě)入數(shù)據(jù)被完全傳輸至該緩沖存儲(chǔ)器時(shí),將對(duì)應(yīng)該寫(xiě)入指令的一確認(rèn)信息傳送至該主機(jī)系統(tǒng)。
16.根據(jù)權(quán)利要求15所述的存儲(chǔ)器儲(chǔ)存裝置,其中該數(shù)據(jù)搬移程序包括合并該快速存儲(chǔ)器晶片的實(shí)體區(qū)塊而產(chǎn)生的數(shù)據(jù)搬移,或?qū)υ摽焖俅鎯?chǔ)器晶片執(zhí)行平均磨損而產(chǎn)生的數(shù)據(jù)搬移。
17.根據(jù)權(quán)利要求15所述的存儲(chǔ)器儲(chǔ)存裝置,其中若該存儲(chǔ)器控制器判斷該寫(xiě)入指令會(huì)觸發(fā)該數(shù)據(jù)搬移程序的執(zhí)行,該存儲(chǔ)器控制器還用以在該數(shù)據(jù)搬移程序執(zhí)行完畢時(shí),將該確認(rèn)信息傳送至該主機(jī)系統(tǒng)。
18.根據(jù)權(quán)利要求15所述的存儲(chǔ)器儲(chǔ)存裝置,其中該存儲(chǔ)器控制器還用以在接收該主機(jī)系統(tǒng)下達(dá)的該寫(xiě)入指令之后,將一判斷參數(shù)設(shè)定為一第一特定值。
19.根據(jù)權(quán)利要求18所述的存儲(chǔ)器儲(chǔ)存裝置,其中該存儲(chǔ)器控制器還用以在判斷該寫(xiě)入指令不會(huì)觸發(fā)該數(shù)據(jù)搬移程序的執(zhí)行時(shí),將該判斷參數(shù)設(shè)定為一第二特定值,并且在判斷該寫(xiě)入指令會(huì)觸發(fā)該數(shù)據(jù)搬移程序的執(zhí)行時(shí),在該數(shù)據(jù)搬移程序執(zhí)行完畢時(shí)將該判斷參數(shù)設(shè)定為該第二特定值。
20.根據(jù)權(quán)利要求19所述的存儲(chǔ)器儲(chǔ)存裝置,其中該存儲(chǔ)器控制器還用以在接收該主機(jī)系統(tǒng)下達(dá)的一中斷指令時(shí),檢查該判斷參數(shù)為該第一特定值或該第二特定值,若該判斷參數(shù)為該第一特定值,該存儲(chǔ)器控制器不傳送該確認(rèn)信息至該主機(jī)系統(tǒng),若該判斷參數(shù)為該第二特定值,該存儲(chǔ)器控制器傳送該確認(rèn)信息至該主機(jī)系統(tǒng)。
21.根據(jù)權(quán)利要求20所述的存儲(chǔ)器儲(chǔ)存裝置,其中該中斷指令是當(dāng)該主機(jī)系統(tǒng)判斷已將該寫(xiě)入數(shù)據(jù)完全傳輸至該緩沖存儲(chǔ)器時(shí)下達(dá)至該存儲(chǔ)器控制器。
全文摘要
本發(fā)明公開(kāi)了一種存儲(chǔ)器儲(chǔ)存裝置及其存儲(chǔ)器控制器與回應(yīng)主機(jī)指令的方法。此存儲(chǔ)器儲(chǔ)存裝置具有快速存儲(chǔ)器晶片與緩沖存儲(chǔ)器。此方法包括接收主機(jī)系統(tǒng)下達(dá)的寫(xiě)入指令,判斷寫(xiě)入指令是否致使存儲(chǔ)器儲(chǔ)存裝置觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行。此方法還包括若寫(xiě)入指令不致使存儲(chǔ)器儲(chǔ)存裝置觸發(fā)數(shù)據(jù)搬移程序的執(zhí)行,則在寫(xiě)入指令所對(duì)應(yīng)的寫(xiě)入數(shù)據(jù)被完全傳輸至緩沖存儲(chǔ)器時(shí),將對(duì)應(yīng)寫(xiě)入指令的確認(rèn)信息傳送至主機(jī)系統(tǒng)。
文檔編號(hào)G06F13/16GK102486757SQ201010580878
公開(kāi)日2012年6月6日 申請(qǐng)日期2010年12月6日 優(yōu)先權(quán)日2010年12月6日
發(fā)明者葉志剛 申請(qǐng)人:群聯(lián)電子股份有限公司