操作數(shù)據(jù)存儲裝置和主機及移動計算裝置的方法
【專利說明】操作數(shù)據(jù)存儲裝置和主機及移動計算裝置的方法
[0001]相關(guān)申請的交叉引用
[0002]本申請要求于2014年10月27日提交的韓國專利申請N0.10-2014-0145651的優(yōu)先權(quán),該申請的公開內(nèi)容以引用方式全文并入本文中。
技術(shù)領(lǐng)域
[0003]本發(fā)明構(gòu)思的至少一些示例實施例涉及數(shù)據(jù)存儲裝置,并且具體涉及能夠?qū)㈥P(guān)于寫入命令的處理時間的信息發(fā)送至主機的數(shù)據(jù)存儲裝置、用于操作該數(shù)據(jù)存儲裝置的方法以及能夠基于該信息調(diào)整讀取等待時間的移動計算裝置。
【背景技術(shù)】
[0004]與動態(tài)隨機存取存儲器(DRAM)或硬盤驅(qū)動器(HDD)不同的是,閃速存儲器不能對數(shù)據(jù)執(zhí)行原位更新操作。在將程序代碼寫入NOR閃速存儲器之后,在該NOR閃速存儲器中幾乎不產(chǎn)生更新。然而,由于在NAND閃速存儲器中經(jīng)常產(chǎn)生對數(shù)據(jù)的更新,因此需要用于更新的擦除操作。
[0005]在NAND閃速存儲器中,為了對已寫入存儲器區(qū)域的數(shù)據(jù)進行更新,需要執(zhí)行擦除操作以擦除已寫入該存儲器區(qū)域中的數(shù)據(jù)。擦除操作會占用比寫入操作(或編程操作)或讀取操作更長的時間,并且經(jīng)受擦除操作的存儲器區(qū)域或數(shù)據(jù)的大小會大于經(jīng)受寫入操作或讀取操作的存儲器區(qū)域或數(shù)據(jù)的大小。通常,以頁面為單位執(zhí)行寫入操作或讀取操作,并且以塊為單位執(zhí)行擦除操作,此時,一個塊包括了多個頁面。
[0006]當(dāng)針對閃速存儲器的第一存儲器區(qū)域中寫入的頁面或頁面數(shù)據(jù)發(fā)生更新請求時,該閃速存儲器不會立即刪除該頁面,而是在該閃速存儲器的第二存儲器區(qū)域中寫入待更新的頁面,然后使得第一存儲器區(qū)域中寫入的頁面無效并利用映射表來重新映射待更新的頁面。
[0007]當(dāng)閃速存儲器中無效的頁面數(shù)量增加時,能夠?qū)懭胄马撁娴拇鎯ζ鲄^(qū)域或空閑塊變得不足。因此,閃速存儲器周期性地對塊執(zhí)行擦除操作。此時,在對相應(yīng)的塊執(zhí)行擦除操作之前,閃速存儲器執(zhí)行將該相應(yīng)塊中存儲的無效頁面復(fù)制到其他存儲器區(qū)域的操作。這被稱作無用單元收集(garbage collect1n)。
【發(fā)明內(nèi)容】
[0008]本發(fā)明構(gòu)思的至少一個示例實施例的技術(shù)目的在于提供一種主機和一種用于操作主機的方法,所述主機能夠向數(shù)據(jù)存儲裝置發(fā)送請求是否執(zhí)行后臺操作的命令以適應(yīng)性地調(diào)整讀取等待時間。
[0009]本發(fā)明構(gòu)思的至少一個示例實施例的技術(shù)目的在于提供一種數(shù)據(jù)存儲裝置和一種用于操作數(shù)據(jù)存儲裝置的方法,所述數(shù)據(jù)存儲裝置能夠向主機發(fā)送表示是否執(zhí)行后臺操作的響應(yīng),以對請求是否執(zhí)行后臺操作的命令做出應(yīng)答。數(shù)據(jù)存儲裝置包括三維存儲器陣列,其中所述三維存儲器陣列包括以單片方式形成在一個或多個物理層的存儲器單元中的非易失存儲器,所述存儲器單元具有布置在硅襯底上方的有源區(qū)。
[0010]本發(fā)明構(gòu)思的至少一個示例實施例的技術(shù)目的在于提供一種移動計算裝置和一種用于操作移動計算裝置的方法,所述移動計算裝置包括主機,所述主機能夠向數(shù)據(jù)存儲裝置發(fā)送請求是否執(zhí)行后臺操作的命令以適應(yīng)性地調(diào)整讀取等待時間,并且所述數(shù)據(jù)存儲裝置能夠向所述主機發(fā)送表示是否執(zhí)行后臺操作的響應(yīng)。
[0011]根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例,一種用于操作數(shù)據(jù)存儲裝置的方法包括步驟:接收第一命令,所述第一命令包括從主機發(fā)送的設(shè)置位;響應(yīng)于所述第一命令,在寄存器中存儲所述設(shè)置位;從主機接收第一狀態(tài)查詢命令;以及基于所述第一狀態(tài)查詢命令和存儲在寄存器中的所述設(shè)置位向主機發(fā)送響應(yīng),所述響應(yīng)包括所述數(shù)據(jù)存儲裝置的狀態(tài)信息以及與針對所述數(shù)據(jù)存儲裝置的寫入命令相對應(yīng)的處理信息。
[0012]所述方法還可以包括步驟:通過所述數(shù)據(jù)存儲裝置產(chǎn)生響應(yīng),使得所述處理信息包括關(guān)于所述數(shù)據(jù)存儲裝置中要處理的寫入命令的等待時間的信息。
[0013]所述方法還可以包括步驟:通過所述數(shù)據(jù)存儲裝置產(chǎn)生響應(yīng),使得所述處理信息包括關(guān)于所述數(shù)據(jù)存儲裝置中要執(zhí)行的無用單元收集的信息。
[0014]所述方法還可以包括步驟:在執(zhí)行無用單元收集的同時從主機接收讀取命令;響應(yīng)于所述讀取命令,停止無用單元收集;響應(yīng)于所述讀取命令,向主機發(fā)送讀取到的數(shù)據(jù);以及恢復(fù)被停止的無用單元收集。
[0015]所述方法還可以包括步驟:響應(yīng)于在完成無用單元收集之后從主機發(fā)送的第二狀態(tài)查詢命令,向主機發(fā)送表示完成無用單元收集的響應(yīng);以及從主機接收寫入命令和寫入數(shù)據(jù),并且基于所述寫入命令在存儲器中存儲所述寫入數(shù)據(jù)。
[0016]所述方法還可以包括步驟:當(dāng)在多個步驟中執(zhí)行無用單元收集并且所述多個步驟具有不同的執(zhí)行時間時,所述數(shù)據(jù)存儲裝置產(chǎn)生響應(yīng),使得所述響應(yīng)包括具有與所述多個步驟中的每一個步驟相對應(yīng)的各個位的處理信息。
[0017]所述數(shù)據(jù)存儲裝置可以是嵌入式多媒體卡(eMMC),所述第一命令可以是包括所述設(shè)置位的SWITCH命令(CMD6),所述寄存器可以是EXT_CSD寄存器,存儲所述設(shè)置位的步驟可以包括在EXT_CSD寄存器的供應(yīng)商特定的字段中存儲所述設(shè)置位,并且所述第一狀態(tài)查詢命令為CMD13。
[0018]根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例,一種用于操作包括主機和數(shù)據(jù)存儲裝置的移動計算裝置的方法包括步驟:通過所述主機確定要在所述數(shù)據(jù)存儲裝置中執(zhí)行的讀取命令的讀取等待時間;根據(jù)確定結(jié)果,通過所述主機將第一命令發(fā)送至所述數(shù)據(jù)存儲裝置,所述第一命令包括設(shè)置位;響應(yīng)于所述第一命令,通過所述數(shù)據(jù)存儲裝置將所述設(shè)置位存儲在寄存器中;通過所述主機將第一狀態(tài)查詢命令發(fā)送至所述數(shù)據(jù)存儲裝置;以及基于所述第一狀態(tài)查詢命令和存儲在寄存器中的所述設(shè)置位,通過所述數(shù)據(jù)存儲裝置將第一響應(yīng)和第二響應(yīng)中的一個發(fā)送至所述主機。
[0019]所述方法還可以包括步驟:產(chǎn)生所述第一響應(yīng),使得所述第一響應(yīng)包括所述數(shù)據(jù)存儲裝置的狀態(tài)信息;以及產(chǎn)生所述第二響應(yīng),使得所述第二響應(yīng)包括所述數(shù)據(jù)存儲裝置的狀態(tài)信息以及與針對所述數(shù)據(jù)存儲裝置的寫入命令相對應(yīng)的處理信息。
[0020]所述方法還可以包括步驟:基于所述第二響應(yīng),通過所述主機對要發(fā)送至所述數(shù)據(jù)存儲裝置的讀取命令和寫入命令中的至少一個重新進行調(diào)度。
[0021]所述方法還可以包括步驟:基于所述第二響應(yīng),通過所述主機調(diào)整要發(fā)送至所述數(shù)據(jù)存儲裝置的隊列就緒查詢命令的發(fā)送間隔。
[0022]所述方法還可以包括步驟:產(chǎn)生所述處理信息,使得所述處理信息包括下列信息中的至少一個:關(guān)于所述數(shù)據(jù)存儲裝置中要處理的下一個寫入命令的等待時間的信息,以及用于表示所述數(shù)據(jù)存儲裝置中正在執(zhí)行的后臺操作的信息。
[0023]所述后臺操作可以包括無用單元收集、損耗均衡和讀取回收(read reclaim)操作中的至少一個。
[0024]所述方法還可以包括步驟:在執(zhí)行無用單元收集的同時通過所述數(shù)據(jù)存儲裝置從所述主機接收第一讀取命令;響應(yīng)于所述第一讀取命令,通過所述數(shù)據(jù)存儲裝置停止無用單元收集;響應(yīng)于所述第一讀取命令,通過所述數(shù)據(jù)存儲裝置向所述主機發(fā)送讀取到的數(shù)據(jù);以及通過所述數(shù)據(jù)存儲裝置恢復(fù)被停止的無用單元收集。
[0025]所述方法還可以包括步驟:響應(yīng)于第二狀態(tài)查詢命令,通過所述數(shù)據(jù)存儲裝置向所述主機發(fā)送表示完成無用單元收集的第三響應(yīng),所述第二狀態(tài)查詢命令是在完成無用單元收集之后從所述主機發(fā)送的命令;以及通過所述數(shù)據(jù)存儲裝置從所述主機接收第一寫入命令和寫入數(shù)據(jù),并且基于所述第一寫入命令在存儲器中存儲所述寫入數(shù)據(jù)。
[0026]所述數(shù)據(jù)存儲裝置可以是嵌入式多媒體卡(eMMC),所述第一命令是包括所述設(shè)置位的SWITCH命令(CMD6),所述寄存器是EXT_CSD寄存器,存儲所述設(shè)置位的步驟包括在EXT_CSD寄存器的供應(yīng)商特定的字段中存儲所述設(shè)置位,并且所述第一狀態(tài)查詢命令是CMD13o
[0027]根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例,一種用于操作主機的方法包括步驟:在所述主機處確定數(shù)據(jù)存儲裝置的讀取等待時間;在所述主機處產(chǎn)生設(shè)置標示符,使得所述主機基于確定的讀取等待時間來選擇所述設(shè)置標示符的值;將狀態(tài)查詢命令從所述主機發(fā)送至所述數(shù)據(jù)存儲裝置;在所述主機處從所述數(shù)據(jù)存儲裝置接收第一響應(yīng),所述第一響應(yīng)的響應(yīng)類型是第一類型或第二類型;當(dāng)所述第一響應(yīng)表示所述數(shù)據(jù)存儲裝置正在執(zhí)行后臺操作時,基于所述第一響應(yīng)的響應(yīng)類型來確定是否對所述主機的命令調(diào)度中的數(shù)據(jù)存取命令的順序重新進行安排;以及基于命令調(diào)度將第一數(shù)據(jù)存取命令從所述主機發(fā)送至所述數(shù)據(jù)存儲裝置。
[0028]確定是否對數(shù)據(jù)存取命令的順序重新進行安排的步驟可以包括:當(dāng)所述第一響應(yīng)的響應(yīng)類型是所述第二類型時,對所述主機的命令調(diào)度中的數(shù)據(jù)存取命令的順序重新進行安排,使得命令調(diào)度中的讀取命令移動到命令調(diào)度中的寫入命令之前,并且當(dāng)所述第一響應(yīng)的響應(yīng)類型是所述第一類型時,保持命令調(diào)度的當(dāng)前順序而沒有對命令調(diào)度重新進行安排。
[0029]產(chǎn)生所述設(shè)置標示符的步驟可以包括:當(dāng)確定的等待時間超出參考值時,產(chǎn)生所述設(shè)置標示符以使其具有第一值,并且當(dāng)確定的等待時間沒有超出所述參考值時,產(chǎn)生所述設(shè)置標示符以使其具有第二值。
[0030]從所述數(shù)據(jù)存儲裝置接收第一響應(yīng)的步驟可以包括:當(dāng)所述設(shè)置標示符具有所述第一值時接收具有第二響應(yīng)類型的第一響應(yīng),并且當(dāng)所述設(shè)置標示符具有所述第二值時接收具有第一響應(yīng)類型的第一響應(yīng)。
【附圖說明】
[0031]通過參照附圖對本發(fā)明構(gòu)思的示例實施例進行詳細描述,本發(fā)明構(gòu)思的示例實施例的上述和其他特征和優(yōu)點將變得更加清楚。附圖旨在描述本發(fā)明構(gòu)思的示例實施例,而不應(yīng)當(dāng)解釋為限制權(quán)利要求的預(yù)期范圍。除非明確地表示,否則不應(yīng)當(dāng)認為按比例繪制附圖。
[0032]圖1是根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例的數(shù)據(jù)處理系統(tǒng)的示意性框圖;
[0033]圖2是描述了根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例的圖1所示的數(shù)據(jù)處理系統(tǒng)中執(zhí)行的輸入/輸出調(diào)度器的調(diào)度操作的數(shù)據(jù)流程圖;
[0034]圖3是描述了根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例的圖1所示的數(shù)據(jù)處理系統(tǒng)的操作的示圖;
[0035]圖4是根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例的圖1所示的數(shù)據(jù)處理系統(tǒng)的操作的示圖;
[0036]圖5是描述了根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例的圖1所示的數(shù)據(jù)處理系統(tǒng)的操作的數(shù)據(jù)流程圖;
[0037]圖6是描述了根據(jù)本發(fā)明構(gòu)思的至少一個示例實施例的對隊列就緒查詢命令的發(fā)送間隔進行調(diào)整的方法的概念圖;以及
[0038]圖7是包括圖1所示的數(shù)據(jù)處理系統(tǒng)的系統(tǒng)的框圖。
【具體實施方式】
[0039]本文公開本發(fā)明構(gòu)思的具體示例實施例。然而,在本文中公開的特定的結(jié)構(gòu)性細節(jié)和功能性細節(jié)僅出于描述本發(fā)明構(gòu)思的示例實施例的目的。然而,可以按照多種不同的形式來具體實現(xiàn)本發(fā)明構(gòu)思的示例實施例,而不應(yīng)理解為僅限于在本文中所闡述的各實施例。
[0040]因此,本發(fā)明構(gòu)思的示例實施例能夠進行不同的修改和替代形式,同時在附圖中以示例的方式示出了本發(fā)明構(gòu)思的各實施例并將在本文中進行詳細描述。然而,應(yīng)當(dāng)理解的是,并沒有旨在將本發(fā)明構(gòu)思的示例實施例限制為所公開的具體形式,而是與此相反,本發(fā)明構(gòu)思的示例實施例是為了涵蓋落入本發(fā)明構(gòu)思的示例實施例的范圍內(nèi)的所有修改、等價物和替代物。相同的附圖標記在附圖描述中始終表示相同的元件。
[0041]應(yīng)當(dāng)理解的是,雖然在本文中使用了術(shù)語第一、第二等來描述各個元件,然而這些元件不應(yīng)當(dāng)被這些術(shù)語所限定。這些術(shù)語僅用于將一個元件與另一個元件區(qū)分開。例如,第一元件可被稱作第二元件,并且類似地,第二元件可被稱作第一元件,而沒有背離本發(fā)明構(gòu)思的示例實施例的范圍。如在本文