專利名稱:用于使用后臺擦除改善存儲性能的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體來說涉及非易失性存儲器裝置,且更特定來說涉及擦除所述非易失性存儲器裝置的部分。
背景技水
相關(guān)技術(shù)說明非易失性存儲器裝置提供于許多電子裝置中,例如個人計算機、個人數(shù)字助理、數(shù)碼相機及數(shù)字音樂播放器。非易失性存儲器裝置(例如,快閃存儲器裝置及其它電可擦除可編程只讀存儲器(EEPROM))具有優(yōu)于其它類型的數(shù)字存儲裝置(易失性與非易失性兩種)的許多優(yōu)點。不同于磁性及光學裝置(例如,硬盤、光盤(CD)及數(shù)字通用光盤(DVD)),非易失性存儲器裝置包括無移動部分。不同于其它非易失性半導體存儲器(例如,只讀存儲器(ROM)),非易失性存儲器裝置可重新編程。最后,不同于其它半導體存儲器(例如,隨機存取存儲器(RAM)及動態(tài)隨機存取存儲器(DRAM)),非易失性存儲器裝置即使在從所述裝置移除電力之后仍保留其數(shù)據(jù)值。
然而,非易失性存儲器(例如,快閃存儲器)包括許多不同于其它半導體存儲器的特性。 一個顯著差異是快閃存儲器裝置中的個別位單元一旦經(jīng)編程則不能夠被直接編程為新的值。而是, 一旦位單元經(jīng)編程,那么可再次對其進行編程之前必須對其進行擦除。常規(guī)上,位在被擦除時定義為"1",且在被編程時定義為"0"。此外,可將快閃存儲器編程為8位字節(jié)或16位字。因此,字節(jié)/字最初經(jīng)擦除而全部為1,然后編程為既定值,所述既定值可能是1與0的組合。為將所述字節(jié)/字重新編程為新的值,其必須首先經(jīng)擦除而全部為1,且然后重新編程為新的值。此外,通常不能夠在字節(jié)/字的基礎(chǔ)上擦除快閃存儲器。而是,同時擦除相對大的塊內(nèi)的所有位。
此塊擦除操作可使快閃存儲器中的其它操作(例如,讀取及寫入操作)停轉(zhuǎn)。此外,可能需要在移除一些信息時將其它信息保留在塊中。因此,在擦除塊之前,可需要將可保留的信息拷貝到新的塊,然后再擦除所述塊。由于這些限制,許多快閃存儲器系統(tǒng)嘗試在初始化或掉電時執(zhí)行塊擦除操作。然而,如果在初始化期間執(zhí)行塊擦除操作,那么所述快閃存儲器裝置可在所述初始化期間不可用達較長的周期,此可對性能產(chǎn)生顯而易見的不利影響。在掉電期間執(zhí)行塊擦除操作也可造成顯著問題。許多快閃存儲器系統(tǒng)使用暫態(tài)功率,其中所述系統(tǒng)非常頻繁地在對所述快閃存儲器裝置的通電與斷電之間循環(huán),試圖節(jié)約電力。在這些系統(tǒng)中,可能不總是可預測電力何時將從快閃存儲器裝置或快閃存儲器卡移除。如果在正在擦除塊時從快閃存儲器裝置移除電力,那么可能不能夠完全擦除所述塊,即使所述快閃存儲器系統(tǒng)"相信"其已被擦除。因此,當再次對所述塊進行編程時,由于所述塊未被完全擦除,因此可能無法正確地寫入數(shù)據(jù)。
需要一種提供用于以后臺模式執(zhí)行塊擦除的手段的方法及設(shè)備,以降低性能影響并提供展開其中快閃存儲器系統(tǒng)可確信即使在暫態(tài)功率系統(tǒng)中仍可恰當擦除塊的時間周期。
發(fā)明內(nèi)容
本發(fā)明提供一種用于以后臺模式執(zhí)行塊擦除的方法及設(shè)備,其可提高總存儲器性能并展開其中快閃存儲器系統(tǒng)可確信即使在暫態(tài)功率系統(tǒng)中仍可恰當擦除塊的時間周期。
本發(fā)明的實施例包括一種組織成多個可擦除塊的存儲器裝置。所述存儲器裝置包含后臺-過程-忙碌旗標及后臺控制器。所述后臺控制器經(jīng)配置以用于接收至少一個擦除命令及至少一個可擦除塊地址。所述后臺控制器還經(jīng)配置以用于斷言所述后臺-過程-忙碌旗標及產(chǎn)生用于擦除所述多個可擦除塊中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個可擦除塊的命令。此擦除在接收所述至少一個擦除命令之后的時間延遲處發(fā)生。所述后臺控制器還經(jīng)配置以用于在所述擦除完成之后求反所述后臺-過程-忙碌旗標。
本發(fā)明的另一實施例包含一種存儲器卡,其包括組織成多個可擦除塊的至少一個存儲器裝置及可操作地耦合到所述至少一個存儲器裝置的存儲器控制器。所述存儲器控制器包括后臺-過程-忙碌旗標及后臺控制器。所述后臺控制器經(jīng)配置以用于接收至少一個擦除命令及至少一個可擦除塊地址。所述后臺控制器還經(jīng)配置以用于斷言所述后臺-過程-忙碌旗標及產(chǎn)生用于擦除所述多個可擦除塊中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個可擦除塊的命令。此擦除在接收所述至少一個擦除命令之后的時間延遲處發(fā)生。所述后臺控制器還經(jīng)配置以用于在所述擦除完成之后求反所述后臺-過程-忙碌旗標。
本發(fā)明的另一實施例包含一種存儲器系統(tǒng),其包括組織成多個可擦除塊的至少一個存儲器裝置及可操作地耦合到所述至少一個存儲器裝置的處理器。所述處理器包括后臺-過程-忙碌旗標及后臺控制器。所述后臺控制器經(jīng)配置以用于接收至少一個擦除命令及至少一個可擦除塊地址。所述后臺控制器還經(jīng)配置以用于斷言所述后臺-過程-忙碌旗標及產(chǎn)生用于擦除所述多個可擦除塊中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個可擦除塊的命令。此擦除在接收所述至少一個擦除命令之后的時間延遲處
發(fā)生。所述后臺控制器還經(jīng)配置以用于在所述擦除完成之后求反所述后臺-過程-忙碌旗標。
本發(fā)明的另一實施例包含其上存儲有命令的一個或一個以上計算機可讀媒體,當
6所述命令由處理器執(zhí)行時致使所述處理器執(zhí)行接收針對組織成多個可擦除塊的至少一個存儲器裝置的至少一個擦除命令及至少一個可擦除塊地址的動作。還致使所述處理器執(zhí)行斷言后臺-過程-忙碌旗標及向所述至少一個存儲器裝置產(chǎn)生用于擦除所述多個可擦除塊中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個可擦除塊的命令的動作。此擦除在接收所述至少一個擦除命令之后的時間延遲處發(fā)生。最后,還致使所述處理器在所述擦除完成之后執(zhí)行求反所述后臺-過程-忙碌旗標的動作。
本發(fā)明的另一實施例包含一種用于在存儲器裝置中執(zhí)行后臺擦除的方法,其中所述方法包括接收針對所述存儲器裝置的至少一個擦除命令及至少一個可擦除塊地址。所述方法還包括在接收所述至少一個擦除命令及所述至少一個可擦除塊地址之后斷言后臺-過程-忙碌旗標。所述方法還包括擦除所述存儲器中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個塊,其中所述擦除在接收所述至少一個擦除命令之后的時間延遲處發(fā)生。最后,所述方法包括在所述擦除完成之后求反所述后臺-過程-忙碌旗標。
根據(jù)本發(fā)明的再一實施例包含另一種用于在存儲器裝置中執(zhí)行后臺擦除的方法,其中所述方法包括接收即將-掉電旗標。所述方法還包括確定是否至少一個擦除命令對于所述存儲器裝置是未決的,且如果是,那么斷言后臺-過程-忙碌旗標并擦除所述存儲器裝置中與所述至少一個擦除命令相關(guān)聯(lián)的至少一個塊。所述方法還包括在所述擦除完成之后求反所述后臺-過程-忙碌旗標。
根據(jù)本發(fā)明的又一實施例包含另一種用于在存儲器裝置中執(zhí)行后臺擦除的方法。所述方法包括接收即將-掉電旗標,及確定是否至少一個擦除命令對于所述存儲器裝置是未決的。如果所述至少一個擦除命令待處理,那么所述方法還包括傳輸所述至少一個擦除時間的所估計完成時間及擦除所述存儲器裝置中與所述至少一個擦除命令相關(guān)聯(lián)的至少一個塊。
在圖解說明當前認為是用于實施本發(fā)明的最好模式的圖式中圖1是對存儲器裝置的代表性實施例的示意性描繪;圖2是對存儲器裝置的代表性邏輯組織的示意性描繪;
圖3是對包括處理器及存儲器卡的代表性實施例的存儲器系統(tǒng)的示意性描繪,所述存儲器卡具有包括后臺控制器的存儲器控制器及設(shè)置于其上的存儲器裝置;圖3A是對根據(jù)本發(fā)明的后臺控制器的示意性描繪;
圖4是對包括處理器及存儲器卡的代表性實施例的存儲器系統(tǒng)的示意性描繪,所述存儲器卡具有設(shè)置于其上的存儲器裝置,其中每一存儲器裝置包括后臺控制器;
圖4A是對包括處理器及存儲器裝置的另一存儲器系統(tǒng)的示意性描繪,其中每一存儲器裝置包括后臺控制器;
圖5是對軟件組織的示意性描繪,其可用于圖3、 4及4A的代表性實施例中;圖6是圖解說明根據(jù)本發(fā)明的代表性過程的流程圖;及圖7是圖解說明根據(jù)本發(fā)明的另一代表性過程的流程圖。
具體實施例方式
本發(fā)明提供一種用于以后臺模式執(zhí)行塊擦除的方法及設(shè)備,其可提高總存儲器性能并展開其中快閃存儲器系統(tǒng)可確信即使在暫態(tài)功率系統(tǒng)中仍可恰當擦除塊的時間周期。
在以下說明中,為了不在不必要的細節(jié)中模糊本發(fā)明,可能以框圖形式顯示電路及功能。相反,所顯示及所說明的具體電路實施方案僅為實例性且除非本文另外明確說明否則不應將其理解為實施本發(fā)明的唯一方式。此外,塊定義及各個塊之間的邏輯分割是具體實施方案的實例。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地明了,可通過多種其它分割解決方案實踐本發(fā)明。大概地,己在關(guān)于時序考慮等的細節(jié)對于獲得對本發(fā)明的完整理解并非必需且所述細節(jié)在相關(guān)技術(shù)領(lǐng)域中的技術(shù)人員的能力以內(nèi)的地方省略所述細節(jié)。
在此說明中,出于清楚陳述及說明的目的, 一些圖式可能將若干信號圖解說明為單個信號。所屬技術(shù)領(lǐng)域中的技術(shù)人員應了解,所述信號可表示信號的總線,其中所述總線可具有各種位寬度且本發(fā)明可在任何數(shù)量的數(shù)據(jù)信號(包括單個數(shù)據(jù)信號)上實施。此外,可將一些信號描述為具有斷言或求反的狀態(tài)。同樣,可將數(shù)據(jù)位描述為斷言或求反,或另一選擇為,描述為設(shè)定或清除。所屬技術(shù)領(lǐng)域中的技術(shù)人員應認識到,在大多數(shù)實例中,對斷言、求反、設(shè)定或清除的選擇可以是任意的且本發(fā)明可用所述信號及位的相反狀態(tài)實施。
雖然已參照具體數(shù)據(jù)寬度、頁大小、塊大小及存儲器大小說明了代表性實施例,但所屬技術(shù)領(lǐng)域中的技術(shù)人員應認識到,可容易地在本發(fā)明的范圍內(nèi)涵蓋具有不同的數(shù)據(jù)寬度值、頁大小值、塊大小值及存儲器大小值的其它實施例。
如本文中使用,存儲器裝置意指任何使用塊擦除操作來擦除所述存儲器裝置的一
部分的存儲器裝置,例如快閃存儲器裝置或EEPROM存儲器裝置。此外,在本文中可將所述存儲器裝置稱作存儲器或快閃存儲器。
在其它參考中可將后臺擦除定義為在相對于軟件環(huán)境的后臺中發(fā)生的擦除,其中在所述軟件看來,所述擦除可從軟件層隱藏且在相對于所述軟件所請求的文件及數(shù)據(jù)存取的后臺中發(fā)生。然而,如本發(fā)明的上下文中使用,后臺擦除是指在從快閃存儲器的角度來看的后臺中執(zhí)行擦除操作。換句話說,后臺擦除可相對于向快閃存儲器卡或快閃存儲器裝置發(fā)出的其它操作或命令而發(fā)生。
圖1圖解說明根據(jù)本發(fā)明的存儲器裝置100的代表性實施例的框圖。已簡化存儲器裝置100的框圖以聚焦于有助于理解本發(fā)明的存儲器特征。所屬技術(shù)領(lǐng)域中的技術(shù)人員已知快閃存儲器的內(nèi)部電路及功能的更詳細理解。存儲器裝置100包括耦合到I/O接口 110的輸入/輸出(I/O)總線115。其中還包括 耦合到控制邏輯120的控制總線125。雖然控制邏輯120未顯示到內(nèi)部功能塊的連接, 但所屬技術(shù)領(lǐng)域中的技術(shù)人員應認識到,控制邏輯120可包括到任何或所有所述內(nèi)部 功能塊的內(nèi)部信號。 一般來說,控制邏輯120結(jié)合I/O總線115使用控制總線125上 的信號,以辨識來自外部裝置的命令。這些命令中的一些命令可用于將來自1/0總線 115的數(shù)據(jù)存儲在地址寄存器130、數(shù)據(jù)寄存器180、命令寄存器150或狀態(tài)寄存器 140中。其它命令可用于從數(shù)據(jù)寄存器180、命令寄存器150或狀態(tài)寄存器140讀取 到I/O總線115的數(shù)據(jù)。另外其它命令可用于對存儲器裝置100中的頁進行編程或擦 除存儲器裝置100中的塊。
一個或一個以上地址寄存器130從I/O接口 110捕獲地址。所述地址的一部分耦 合到列解碼器170以選擇存儲器陣列190中的適當列,且耦合到行解碼器160以選擇 存儲器陣列190中的適當行。當讀取存儲器陣列190時,將來自存儲器陣列190的數(shù) 據(jù)傳送到數(shù)據(jù)寄存器180。從數(shù)據(jù)寄存器180,可將數(shù)據(jù)傳送到I/O總線115上以傳 送出存儲器裝置100。為將數(shù)據(jù)寫入到存儲器陣列190,首先將數(shù)據(jù)從I/O總線115 寫入到數(shù)據(jù)寄存器180中,當已寫入足以填充存儲器陣列190的一頁的數(shù)據(jù)時,可向 存儲器裝置100發(fā)送命令以將數(shù)據(jù)寄存器180中的所述數(shù)據(jù)傳送到存儲器陣列190中 的頁。
圖2圖解說明所述存儲器陣列的邏輯組織200的代表性實施例。數(shù)據(jù)寄存器180 可經(jīng)組織而具有8位字節(jié)的深度及2112字節(jié)的寬度??蓪⑺?112字節(jié)的寬度分割 為2048字節(jié)的數(shù)據(jù)區(qū)域及64字節(jié)的擴展區(qū)域。在許多快閃存儲器裝置中,所述擴展 區(qū)域可用于錯誤管理功能或其它控制功能。
所述存儲器中的頁210可與數(shù)據(jù)寄存器180大小相同。因此, 一次一頁地從所述 存儲器區(qū)域讀取數(shù)據(jù)并將其傳送到數(shù)據(jù)寄存器180。同樣,向數(shù)據(jù)寄存器180寫入數(shù) 據(jù)直到存儲器的整個頁準備進行編程,且然后將數(shù)據(jù)從數(shù)據(jù)寄存器180傳送到存儲器 陣列190中的頁210。
存儲器陣列190的塊220可包括64個頁210。整個存儲器陣列190可包括2048 個塊220。當然,所屬技術(shù)領(lǐng)域中的技術(shù)人員應認識到,所述存儲器裝置可存在許多 其它邏輯組織。存儲器裝置的容量頻繁地變大且存儲器裝置可用于各種位寬度(例如, 8位字節(jié)及16位字)。因此,可存在數(shù)據(jù)寬度、頁大小、塊大小的許多其它組織及 這些各種組織定義之間的邏輯分割且其涵蓋于本發(fā)明的范圍內(nèi)。
圖3圖解說明包括處理器310及至少一個存儲器卡320的存儲器系統(tǒng)300的框圖, 其中每一存儲器卡320包括存儲器控制器330及至少一個存儲器裝置100。處理器310 經(jīng)由外部總線315與存儲器控制器330進行通信。存儲器控制器330經(jīng)由內(nèi)部總線 335與存儲器裝置100進行通信。
可在存儲器卡320上配置許多個存儲器裝置100且存在許多不同類型的存儲器卡 320,例如小型快閃(CF)、多媒體卡(MMC)、安全數(shù)字(SD)卡、智能媒體(SM)卡及記憶棒(MS)。
這些卡中的每一者可用于許多不同類型的主機系統(tǒng)中,所述主機系統(tǒng)可具有用于
與存儲器卡320上的存儲器控制器330進行通信的不同方法及協(xié)議。這些主機系統(tǒng)可 包括電子裝置,例如個人計算機、個人數(shù)字助理、數(shù)碼相機及數(shù)字音樂播放器。所述 主機系統(tǒng)由標記為處理器310的塊表示。
存儲器控制器330將來自處理器310的外部總線315循環(huán)轉(zhuǎn)譯成存儲器裝置100 理解的命令,且然后針對存儲器裝置100在內(nèi)部總線335上呈現(xiàn)那些命令。此外,所 述控制器可管理到外部總線315以及內(nèi)部總線335的數(shù)據(jù)移動及數(shù)據(jù)業(yè)務。
后臺控制器350可實施于存儲器控制器330中。如圖3A中圖解說明,后臺控制 器350包括用于管理擦除命令的后臺模式的操作的邏輯及旗標。在下文中詳細解釋后 臺控制器350。
圖4圖解說明包括處理器310及至少一個存儲器卡320的另一存儲器系統(tǒng)300A 的框圖,其中每一存儲器卡320包括至少一個存儲器裝置100。 一些存儲器裝置IOO 在存儲器裝置100上可包括存儲器控制器330及后臺控制器350。在這些實施例中, 可能不需要如圖3中所圖解說明的存儲器卡上的單獨存儲器控制器。因此,處理器 310經(jīng)由外部總線315與存儲器卡320進行通信。此外,此外部總線315可與存儲器 裝置IOO進行通信。當然,所屬技術(shù)領(lǐng)域中的技術(shù)人員應認識到,在存儲器卡320上, 外部總線315與存儲器裝置100之間可存在某種緩沖及時序控制(未顯示)。
圖4A是對包括處理器310及至少一個存儲器裝置100的另一存儲器系統(tǒng)300B 的示意性描繪。許多存儲器系統(tǒng)可不包括存儲器卡320。而是,主機可直接與存儲器 裝置IOO進行通信。所屬技術(shù)領(lǐng)域中的技術(shù)人員應認識到,非常寬泛地使用"直接"。 主機處理器310可包括用于將處理器循環(huán)轉(zhuǎn)換為通用存儲器循環(huán)、快閃存儲器裝置循 環(huán)或其組合的其它總線控制器。圖4A的存儲器系統(tǒng)300B、圖4的存儲器系統(tǒng)300A 及圖3的存儲器系統(tǒng)300可包括用于管理快閃存儲器操作的軟件、固件或其組合。
圖5是對可用于圖3、 4及4A的代表性實施例中的軟件組織500的示意性描繪。 可將所述軟件組織為向文件系統(tǒng)520作出數(shù)據(jù)請求的操作系統(tǒng)510。如果所述數(shù)據(jù)請 求針對快閃存儲器裝置100,那么文件系統(tǒng)520可從快閃驅(qū)動器530請求所述數(shù)據(jù)。
快閃驅(qū)動器530可包括例如地址映射540及快閃控制550等組件。地址映射540 將與文件系統(tǒng)520相關(guān)聯(lián)的邏輯域中的地址轉(zhuǎn)換為與存儲器裝置100中的位置相關(guān)聯(lián) 的物理域??扉W控制550可用于將文件請求轉(zhuǎn)換為用于存儲器卡320或存儲器裝置 100的總線循環(huán)命令。根據(jù)本發(fā)明的快閃驅(qū)動器530還包括圖3A的后臺控制器350。
返回到圖3A,后臺控制器350包括用于管理擦除命令的后臺模式的操作的邏輯 及旗標。后臺-過程-忙碌旗標364指示后臺擦除可能在進行中或可能正在等待執(zhí)行。 即將-掉電旗標366指示處理器310 (即,主機系統(tǒng))想要立刻從存儲器卡320或存儲 器裝置100移除電力。后臺啟用旗標362指示后臺擦除操作得到準許。此外,在一些 代表性實施例中,后臺啟用旗標362可不存在。在那些不存在后臺啟用旗標362的代表性實施例中,且根據(jù)本文中的說明,對后臺啟用旗標362的提及將假設(shè)操作就像總
是斷言所述后臺啟用旗標那樣發(fā)生。
后臺控制器還可包括后臺持續(xù)時間寄存器368。后臺持續(xù)時間寄存器368可以是 經(jīng)編程使得后臺控制器可解釋其必須執(zhí)行多長時間的后臺操作的寄存器。另一選擇 為,可將后臺持續(xù)時間寄存器368設(shè)定為一時間(例如,固定時間、所編程時間或基 于多少后臺操作未決的時間),以使得當后臺控制器350接收即將-掉電旗標366時, 所述后臺控制器可通過將所估計完成時間發(fā)送回處理器來響應。在所述模式中,所述 處理器可在沒有信號交換操作的情況下確定何時掉電適當,如下文更加全面地解釋。
根據(jù)本發(fā)明,后臺控制器350可存在于存儲器裝置100中,作為硬件存在于存儲 器控制器330中,作為軟件/固件存在于存儲器控制器330中,作為軟件/固件存在于 處理器310中或其組合。后臺控制器350包括用于管理擦除命令的后臺模式的操作的 邏輯及旗標。
如前文所陳述,快閃存儲器單元經(jīng)擦除而為"1"且可經(jīng)編程而為"0"。如果所 述存儲器單元中的數(shù)據(jù)需要再次為1,那么需要擦除所述單元。然而, 一次一塊地擦
除快閃存儲器裝置100。因此,存儲器系統(tǒng)包括用于管理如何編程及擦除數(shù)據(jù)的程序。 當新數(shù)據(jù)進來時,快閃存儲器系統(tǒng)不會擦除舊數(shù)據(jù)及在相同的位置覆寫所述新數(shù)據(jù)。 而是,所述存儲器系統(tǒng)所做的是將所述舊數(shù)據(jù)加標簽為壞并將所述新數(shù)據(jù)寫入到某個 其它位置中,同時更新地址轉(zhuǎn)譯映射以指向存儲所述新數(shù)據(jù)的地方。然而,在某一點 處,所述控制器需要回收被加標簽為壞的區(qū)域并移動周圍的一些好數(shù)據(jù)以使所述存儲 器系統(tǒng)更加高效地操作。
記住,擦除在存儲器的塊上發(fā)生,所述數(shù)據(jù)管理可追蹤塊變得如何"臟"。換句 話說,追蹤塊中可能有多少壞位置。在某一點處,所述存儲器系統(tǒng)可決定清洗塊。為 進行此步驟,所述存儲器系統(tǒng)將大部分是好數(shù)據(jù)的頁移動到另一塊。存儲器系統(tǒng)300 還可重新布置數(shù)據(jù)以將好數(shù)據(jù)壓縮在一起并將其移動到不同的塊。 一旦己將所有好數(shù) 據(jù)移動到另一塊,那么可擦除有問題的塊。此大掃除可使存儲器裝置IOO的總性能降 級高達約10%。
不同的存儲器系統(tǒng)可具有不同的性能特性。在許多實例中,這些存儲器系統(tǒng)的性 能可直接與存儲器裝置的性能相關(guān)。舉例來說,卡的處理量通常與向快閃存儲器中存 儲數(shù)據(jù)的速度相關(guān)。還存在許多其它因素,例如連接到控制器的存儲器裝置的數(shù)量及 可如何交錯所述存儲器裝置以產(chǎn)生不同的存儲器組織。
本發(fā)明可通過執(zhí)行后臺擦除來提高存儲器系統(tǒng)的總性能。換句話說,后臺控制器 350提供用于在存儲器系統(tǒng)300未正在存取存儲器裝置100時執(zhí)行這些大掃除操作中 的一些操作的手段。
然而,許多存儲器系統(tǒng)300可對存儲器裝置100或存儲器卡320加電及掉電以降 低電力消耗。當此電力循環(huán)發(fā)生時,存儲器裝置IOO可能不能夠執(zhí)行后臺擦除操作, 因為電力到存儲器裝置100的持續(xù)時間是暫態(tài)的且可不為存儲器裝置100所知??烧J為塊擦除操作是可阻礙存儲器裝置的總性能的大掃除操作,因為正常操作 (例如,讀取及寫入)不能夠在塊擦除期間發(fā)生。
可將NAND類型的快閃存儲器的第一級性能模型近似為包括寫入傳送模型及讀 取傳送模型。塊擦除主要影響所述寫入傳送模型。因此,在本文中不對所述讀取傳送 模型加以論述。
可基于完全編程及擦除一個NAND塊所需要的時間來計算第一級寫入傳送速
率
T寫入=n字節(jié)/塊/((n頁/塊(n字節(jié)/頁* tWC + tPROG)) + tBERS)
對于典型的512Mb x8的裝置來說,這些變量可以是
n字節(jié)/塊=每塊的字節(jié)數(shù)量=16896;
n頁/塊=每塊的頁數(shù)量=32;
n字節(jié)/頁=每頁的字節(jié)數(shù)量=528;
tWC =寫入循環(huán)時間=50 nS;
tPROG:編程時間二200uS;及
tBERS =塊擦除時間=2 mS。
因此,T寫入=16896/((32 (528* 50ns+ 200us)) +2ms) = 1.8 MB/秒
在本發(fā)明的實施例中,可在空閑時間期間、部分地在空閑時間期間或在未正在執(zhí) 行其它操作時的掉電時進行塊擦除時間,以改善總寫入傳送速率。因此,如果在后臺
進行所有塊擦除,那么所述寫入傳送速率可高達
T寫入=16896/(32 (528 * 50ns + 200us)) = 2.3 MB/秒
需注意的一點是,總的大掃除工作不會因執(zhí)行后臺擦除而改變,因此對所述系統(tǒng) 的總能量需求不存在影響。后臺控制器350恰好在不同的時間且以可改善總的存儲器 系統(tǒng)性能的方式執(zhí)行所述擦除操作。
如圖3A中圖解說明,可以不同的配置實施各種旗標,其中某些配置在軟件實施 方案中可更便利且某些配置在硬件實施方案中可更便利。請回憶,存儲器裝置100可 接收命令且其也可將讀取/寫入循環(huán)接收到狀態(tài)寄存器140或命令寄存器150。因此, 可將所述旗標實施為已接收命令總線循環(huán)、已發(fā)送響應總線循環(huán)、狀態(tài)寄存器140或 命令寄存器150中的位或硬件信號。因此,后臺啟用旗標362可以是每當接收后臺啟 用命令時設(shè)定的旗標,其可以是狀態(tài)/命令寄存器中的后臺啟用位,其可以是后臺啟 用信號372,或其可實施為以上的組合。同樣,后臺-過程-忙碌旗標364可以是由后 臺控制器350發(fā)出的指示后臺-過程-忙碌總線響應或后臺-過程-已進行總線響應的總 線循環(huán)。后臺-過程-忙碌旗標364還可以是狀態(tài)/命令寄存器中的后臺-過程-忙碌位, 其可以是后臺-過程-忙碌信號374,或其可實施為以上的組合。最后,即將-掉電旗標 366可以是每當接收即將-掉電命令時設(shè)定的旗標,其可以是狀態(tài)/命令寄存器150中 的即將-掉電位,其可以是即將-掉電信號376,或其可實施為以上的組合。
分別圖解說明于圖6及圖7中的過程600及700圖解說明可由后臺控制器350執(zhí)行的代表性過程及使用各種旗標的方式。除非另外明確說明,否則并非既定將說明 所述過程的次序理解為限制。此外,所述過程可實施于任何適合的硬件、軟件、固件
或其組合中。通過實例的方式,過程600可實施于圖3中所示的存儲器控制器330、 圖l、 3及4中所示的存儲器裝置100或圖5中所示的快閃驅(qū)動器530上。當然,可 在圖3及4中所示的處理器310、圖3中所示的存儲器控制器330或其組合上執(zhí)行快 閃驅(qū)動器530。
當作為固件或軟件執(zhí)行時,可將用于執(zhí)行所述過程的指令存儲在計算機可讀媒體 上。計算機可讀媒體包括但不限于磁性及光學存儲裝置,例如磁盤驅(qū)動器、磁帶、CD (光盤)、DVD(數(shù)字通用光盤或數(shù)字視頻光盤)及半導體裝置(例如,RAM、 DRAM、 ROM、 EPROM及快閃存儲器)。
本發(fā)明的代表性實施例可在正常操作期間以后臺模式操作,其中可在空閑時間期 間執(zhí)行后臺擦除以提高總性能。如圖6中所示,過程600圖解說明所述存儲器裝置的 正常操作期間的此后臺模式。本發(fā)明的代表性實施例還可以結(jié)合在不久的將來掉電的 存儲器裝置的后臺模式操作,其中可通過在電力的移除(在所述存儲器裝置中可能存 在很少或不存在其它活動的時間周期)之前等待執(zhí)行后臺擦除來改善總性能。如圖7 中所示,過程700圖解說明結(jié)合在不久的將來掉電的存儲器裝置的此后臺模式。
圖6中所圖解說明的過程600包括動作610-670且可用于其中需要在正常操作期 間且可能利用空閑時間以及掉電時間進行后臺擦除的存儲器系統(tǒng)中。過程600在決策 塊610處開始,其一直等到接收到擦除命令。所述擦除命令可由至少一個指示要擦除 存儲器裝置100中的哪一塊的可擦除塊地址伴隨。過程600在決策塊610上循環(huán),直 到接收到所述擦除命令,然后進行到?jīng)Q策塊620。決策塊620進行測試以斷定是否斷 言了后臺啟用旗標362,可在過程600的開始之前的任何時間斷言后臺啟用旗標362。 如果未斷言后臺啟用旗標362,那么執(zhí)行在操作塊660處繼續(xù),如下文所解釋。如果 斷言了后臺啟用旗標362,那么執(zhí)行在操作塊630處繼續(xù),操作塊630用指示所述操 作為可選的虛線顯示。
如前文所陳述, 一些實施例可不包括后臺啟用旗標362。在那些實施例中,可認 為決策塊620不存在(S卩,控制從決策塊610的真評估流動且在操作塊630處繼續(xù)), 或可認為決策塊620總是評估為真。
在操作塊630處, 一些實施例可在此點處斷言后臺-過程-忙碌旗標364以指示擦 除指令待處理。其它實施例可稍后斷言后臺-過程-忙碌旗標364。
接下來,決策塊640在其自身上循環(huán),直到時間延遲事件發(fā)生。所述時間延遲事 件可以是任何數(shù)量的事件。舉例來說,所述時間延遲可以是等待由多個時鐘循環(huán)測量 的預定時間延遲, 一直等到接收到后續(xù)命令,或一直等到預定數(shù)量的空閑循環(huán)已在總 線上發(fā)生。所述時間延遲可經(jīng)配置以嘗試一直等到所述存儲器裝置為空閑,以便通過 不在所述存儲器裝置忙于執(zhí)行其它操作時嘗試擦除循環(huán)來改善總存儲性能。在其它實 施例中,所述時間延遲可經(jīng)配置以在接收到即將-掉電旗標366時期滿。在所述實施
13例中,可將一個或一個以上擦除命令拖延到確定幾乎要掉電的時間,然后在移除電力 之前執(zhí)行所述擦除循環(huán)。
在所述時間延遲事件發(fā)生之后,所述過程轉(zhuǎn)向操作塊650,其中斷言后臺-過程-忙碌旗標364。注意,后臺-過程-忙碌旗標364可能已在可選操作塊630中被斷言, 在此情況下,只是重新斷言后臺-過程-忙碌旗標364。接下來,在操作塊660中,執(zhí) 行任何待處理擦除循環(huán)。在執(zhí)行所述擦除循環(huán)之后,操作塊670求反后臺-過程-忙碌 旗標364以完成過程600。
所屬技術(shù)領(lǐng)域中的技術(shù)人員應認識到,過程600包括信號交換機構(gòu),其中發(fā)出擦 除命令的代理可等待后臺過程忙碌旗標被求反,以確定所述擦除命令實際上已被執(zhí) 行。此信號交換過程在圖7中所圖解說明的有些不同的代表性實施例中甚至更明顯。
圖7圖解說明過程700,其包括動作710-790且可用于頻繁地循環(huán)電力的存儲器 系統(tǒng)300中。過程700包括兩個過程, 一個(包括動作710-730)由請求者實施,且 另一個(包括動作740-790)由執(zhí)行者實施。舉例來說,在圖3中,所述請求者可以 是處理器310,而所述執(zhí)行者可以是存儲器控制器330或存儲器裝置100。作為另一 實例,在圖4中,所述請求者可以是處理器310且所述執(zhí)行者可以是存儲器裝置100。 作為再一實例,在圖4及5中,所述請求者可以是在處理器310上執(zhí)行的文件系統(tǒng) 520,而所述執(zhí)行者可以是在處理器310上執(zhí)行的快閃驅(qū)動器530。
過程700在操作塊710處開始,其中請求者斷言即將-掉電旗標366。在斷言所 述即將-掉電旗標366之后,所述請求者轉(zhuǎn)向決策塊720,其中所述請求者循環(huán)等待直 到不再斷言后臺-過程-忙碌旗標364。作為所述信號交換過程的部分,所述執(zhí)行者控 制后臺-過程-忙碌旗標364。
所述執(zhí)行者在檢測到即將-掉電旗標366被斷言時開始操作,如操作塊740所圖 解說明。接下來,在決策塊750中,測試后臺啟用旗標362。如果未斷言后臺啟用旗 標362,那么控制轉(zhuǎn)向操作塊790,因為后臺擦除過程未被使用。如前文所陳述,一 些實施例可不包括后臺啟用旗標362。在那些實施例中,可認為決策塊750不存在(即, 控制從操作塊740流到?jīng)Q策塊760),或可認為決策塊750總是評估為真。
在決策塊760處,進行測試以看是否存在任何擦除命令未決。如果不存在,那么 不需要所述后臺擦除信號交換且控制轉(zhuǎn)向操作塊790。如果存在任何擦除命令未決, 那么控制轉(zhuǎn)移到操作塊770。在操作塊770中,斷言后臺-過程-忙碌旗標364,其是到 請求者的指示移除電力還不安全的信號交換信號。
接下來,可選操作塊775可執(zhí)行將所估計完成時間發(fā)送回處理器的過程。如果所 述后臺控制器包括啟用的后臺持續(xù)時間寄存器368,那么所述后臺控制器可解釋其必 須執(zhí)行多長時間的后臺操作。然后,其可將所述所估計完成時間發(fā)送回所述處理器。 在此所估計完成時間模式中,所述處理器可在沒有信號交換操作的情況下確定何時掉 電適當。
接下來,操作塊780執(zhí)行待處理的擦除操作。最后,在操作塊790處,求反后臺-過程-忙碌旗標364,從而指示現(xiàn)在可安全地移除電力。注意,如果從分支795到達操作塊790,那么就未曾斷言后臺-過程-忙碌旗標364。換句話說,分支795也可直接轉(zhuǎn)到執(zhí)行者的過程的末尾,而不求反后臺-過程-忙碌旗標364,因為早前未對其進行斷言。圖中顯示分支795轉(zhuǎn)到操作塊790作為加強等待后臺-過程-忙碌旗標364變?yōu)榍蠓礌顟B(tài)的請求者的信號交換機構(gòu)的方式。然而,在包括所估計完成時間的操作中,可不需要所述信號交換機構(gòu)。
在檢測到后臺-過程-忙碌旗標364被求反之后,或在所述所估計完成時間已期滿之后,執(zhí)行者轉(zhuǎn)向操作塊730,其中其可安全地從存儲器裝置移除電力,而不丟失任何擦除命令。
雖然已參照特定實施例說明了本發(fā)明,但本發(fā)明并不受限于所說明的這些實施例。而是,本發(fā)明僅受所附權(quán)利要求書的限制,所述權(quán)利要求書在其范圍內(nèi)包括根據(jù)所說明的本發(fā)明原理操作的所有等效裝置或方法。
權(quán)利要求
1、一種用于管理組織成多個可擦除塊的存儲器裝置的若干方面的控制器,所述控制器包含后臺-過程-忙碌旗標;及后臺控制器,其經(jīng)配置以接收至少一個擦除命令及至少一個可擦除塊地址;斷言所述后臺-過程-忙碌旗標;產(chǎn)生用于擦除所述多個可擦除塊中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個可擦除塊的命令,其中所述擦除在接收所述至少一個擦除命令之后的時間延遲處發(fā)生;及在所述擦除完成之后對所述后臺-過程-忙碌旗標求反。
2、 如權(quán)利要求1所述的控制器,其進一步包含后臺啟用旗標,所述后臺啟用旗 標經(jīng)配置以用于在所述后臺啟用旗標被斷言時啟用所述后臺控制器且在所述后臺啟 用旗標被求反時停用所述后臺控制器,且其中所述后臺啟用旗標選自由后臺啟用位、 后臺啟用信號、后臺啟用命令及其組合組成的群組。
3、 如權(quán)利要求1或2所述的控制器,其中所述后臺-過程-忙碌旗標選自由后臺-過程-忙碌位、后臺-過程-忙碌信號、后臺-過程-忙碌總線響應、后臺-過程-已進行總 線響應及其組合組成的群組。
4、 如權(quán)利要求l、 2或3所述的控制器,其中 所述控制器進一步包含即將-掉電旗標;所述后臺控制器進一步經(jīng)配置以用于接收所述即將-掉電旗標;且 所述時間延遲在接收所述即將-掉電旗標時期滿。
5、 如權(quán)利要求4所述的控制器,其中所述即將-掉電旗標選自由即將-掉電位、 即將-掉電信號、即將-掉電命令及其組合組成的群組。
6、 如權(quán)利要求l、 2或3所述的控制器,其中所述時間延遲選自由在預定時間延 遲處、在后續(xù)命令之后及在預定數(shù)量的空閑循環(huán)之后組成的群組。
7、 一種半導體存儲器裝置,其包含 如權(quán)利要求1-6中任一權(quán)利要求所述的控制器;及 可操作地耦合到所述控制器的多個可擦除塊。
8、 一種存儲器卡,其包含如權(quán)利要求1-6中任一權(quán)利要求所述的控制器,其配置于存儲器控制器半導體裝 置中;及至少一個存儲器裝置,其組織成多個可擦除塊且可操作地耦合到所述存儲器控制 器半導體裝置。
9、 一種存儲器系統(tǒng),其包含如權(quán)利要求1-6中任一權(quán)利要求所述的控制器,其配置于處理器中;及 至少一個存儲器裝置,其組織成多個可擦除塊且可操作地耦合到所述處理器。
10、 一種用于在存儲器裝置中執(zhí)行后臺擦除的方法,其包含 接收即將-掉電旗標;及確定是否至少一個擦除命令對于所述存儲器裝置是未決的,且如果是 傳輸至少一個擦除時間的所估計完成時間;及擦除所述存儲器裝置中與所述至少一個擦除命令相關(guān)聯(lián)的至少一個塊。
11、 如權(quán)利要求10所述的方法,其進一步包含 等待所述所估計完成時間的持續(xù)時間;及 在所述持續(xù)時間之后從所述存儲器裝置移除電力。
12、 一種用于在存儲器裝置中執(zhí)行后臺擦除的方法,其包含 接收即將-掉電旗標;及確定是否至少一個擦除命令對于所述存儲器裝置是未決的,且如果是 斷言后臺-過程-忙碌旗標;擦除所述存儲器裝置中與所述至少一個擦除命令相關(guān)聯(lián)的至少一個塊;及在所述擦除完成之后對所述后臺-過程-忙碌旗標求反。
13、 如權(quán)利要求12所述的方法,其進一步包含檢測被求反的所述后臺-過程-忙碌旗標;及 在所述檢測之后從所述存儲器裝置移除電力。
14、 一種用于在存儲器裝置中執(zhí)行后臺擦除的方法,其包含接收針對所述存儲器裝置的至少一個擦除命令及至少一個可擦除塊地址;在接收所述至少一個擦除命令及所述至少一個可擦除塊地址之后斷言后臺-過程-忙碌旗標;擦除所述存儲器中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個塊,其中所述擦除在接收所述至少一個擦除命令之后的時間延遲處發(fā)生;及在所述擦除完成之后對所述后臺-過程-忙碌旗標求反。
15、 如權(quán)利要求14所述的方法,其中所述時間延遲選自由在預定時間延遲處、 在后續(xù)命令之后及在預定數(shù)量的空閑循環(huán)之后組成的群組。
16、 如權(quán)利要求14或15所述的方法,其進一步包含接收即將-掉電旗標且其中 所述時間延遲在接收所述即將-掉電旗標時期滿。
17、 如權(quán)利要求16所述的方法,其進一步包含在對所述后臺-過程-忙碌旗標求 反之后從所述存儲器裝置移除電力。
18、 如權(quán)利要求IO、 12或14所述的方法,其進一步包含接收后臺啟用旗標,其 中如果所述后臺啟用旗標被斷言,則發(fā)生所述擦除所述存儲器中的至少一個塊的動 作,而如果所述后臺啟用旗標被求反,則不發(fā)生所述動作。
19、 如權(quán)利要求18所述的方法,其中接收所述后臺啟用旗標進一步包含選自由 設(shè)定后臺啟用位、檢測后臺啟用信號、接收后臺啟用命令及其組合組成的群組的過程。
20、 如權(quán)利要求IO、 12或16所述的方法,其中接收所述即將-掉電旗標選自由 檢測即將-掉電信號、接收即將-掉電命令、設(shè)定即將-掉電位及其組合組成的群組。
21、 如權(quán)利要求12或14所述的方法,其中斷言所述后臺-過程-忙碌旗標包含選 自由設(shè)定后臺-過程-忙碌位、斷言后臺-過程-忙碌信號、傳輸后臺-過程-忙碌總線響應 及其組合組成的群組的過程。
22、 如權(quán)利要求12或14所述的方法,其中對所述后臺-過程-忙碌旗標求反包含 選自由清除后臺-過程-忙碌位、求反后臺-過程-忙碌信號、傳輸后臺-過程-已進行總線 響應及其組合組成的群組的過程。
23、 一種或一種以上存儲有命令的計算機可讀媒體,當所述命令由處理器執(zhí)行時致使所述處理器執(zhí)行以下動作接收針對組織成多個可擦除塊的至少一個存儲器裝置的至少一個擦除命令及至 少一個可擦除塊地址;斷言后臺-過程-忙碌旗標;向所述至少一個存儲器裝置產(chǎn)生用于擦除所述多個可擦除塊中與所述至少一個 可擦除塊地址相關(guān)聯(lián)的至少一個可擦除塊的命令,其中所述擦除在接收所述至少一個 擦除命令之后的時間延遲處發(fā)生;及在所述擦除完成之后對所述后臺-過程-忙碌旗標求反。
全文摘要
本發(fā)明揭示一種經(jīng)配置以用于在存儲器裝置中執(zhí)行后臺擦除的設(shè)備、方法及計算機可讀媒體。其中包括接收針對所述存儲器裝置的至少一個擦除命令(610)及至少一個可擦除塊地址的動作。其中還包括在接收所述至少一個擦除命令及所述至少一個可擦除塊地址之后斷言后臺-過程-忙碌旗標(630)的動作。擦除所述存儲器中與所述至少一個可擦除塊地址相關(guān)聯(lián)的至少一個塊(660),其中如果斷言后臺啟用旗標,那么所述擦除在接收所述至少一個擦除命令之后的時間延遲處發(fā)生(640)。最后,在所述擦除完成之后求反所述后臺-過程-忙碌旗標(670)。
文檔編號G11C16/10GK101479806SQ200780023559
公開日2009年7月8日 申請日期2007年5月23日 優(yōu)先權(quán)日2006年5月25日
發(fā)明者弗朗姬·魯帕爾瓦爾 申請人:美光科技公司