專利名稱::存儲器儲存裝置、存儲器控制器與控制方法
技術領域:
:本發明涉及一種存儲器儲存裝置的控制技術,且特別涉及一種能夠根據工作電壓來設定運作模式的存儲器儲存裝置及其存儲器控制器與控制方法。
背景技術:
:數碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于可重寫非揮發性存儲器(rewritablenon-volatilememory)具有數據非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適于可攜式電子產品,例如筆記型電腦。固態硬盤就是一種以快閃存儲器作為儲存媒體的存儲器儲存裝置。因此,近年快閃存儲器產業成為電子產業中相當熱門的一環。而一個存儲器儲存裝置中會包含多個元件,并且每個元件會操作在不同的工作電壓。當一個元件的工作電壓低于一電壓閾值時,此元件便不能正常工作。為了維持存儲器儲存裝置的正常運作,在公知的一般的作法中,是當存儲器儲存裝置中之控制器的工作電壓低于其對應的電壓閾值時方對整個存儲器儲存裝置復位。然而,當存儲器儲存裝置的電源短暫不穩定時,可能有些元件能正常運作,而有些元件不能正常運作。例如,在某電源供應下,存儲器儲存裝置中的緩沖存儲器是可以正常運作,但其中的可重寫非揮發性存儲器卻不能正常運作。此時,若復位整個存儲器儲存裝置,將造成緩沖存儲器的數據丟失。因此,如何設計出一種存儲器儲存裝置與其控制方法,使得能夠在電源不穩定中避免存儲器之數據的丟失,為此領域技術人員所關心的議題。
發明內容本發明提供一種存儲器儲存裝置、存儲器控制器與控制方法,其能夠根據不同的工作電壓來控制存儲器儲存裝置的運作模式,由此使其中的數據不會丟失。本發明一范例實施例提出一種存儲器儲存裝置,包括連接器、電壓檢測電路、可重寫非揮發性存儲器模塊與存儲器控制器。其中,連接器用于電連接至主機系統。電壓檢測電路用于接收輸入電壓并且提供第一工作電壓與一電路元件工作電壓。其中電壓檢測電路具有第一電壓檢測器與一電路元件電壓檢測器,而第一電壓檢測器用于檢測第一工作電壓是否低于第一電壓閾值,并且電路元件電壓檢測器用于檢測電路元件工作電壓是否低于一電路元件電壓閾值。可重寫非揮發性存儲器模塊是電連接電壓檢測電路并且操作于第一工作電壓。存儲器控制器是電連接電壓檢測電路。其中當第一工作電壓低于第一電壓閾值時,電壓檢測電路會發送第一消息給存儲器控制器并且存儲器控制器會進入省電模式以響應第一消息。其中在省電模式中,存儲器控制器會停止執行來自于主機系統的指令并且停止對可重寫非揮發性存儲器模塊下達指令。當電路元件工作電壓低于電路元件電壓閾值時,電壓檢測電路會使能復位信號,在復位信號被使能時,存儲器控制器無法接收與執行來自于主機系統的指令。在本發明的一實施例中,上述省電模式期間,當第一工作電壓高于第一電壓閾值時,電壓檢測電路會發送第二消息給存儲器控制器。其中存儲器控制器會重新進入一正常模式以響應此第二消息。并且在正常模式中,存儲器控制器會接收來自于主機系統的指令并且根據此指令來存取可重寫非揮發性存儲器模塊。在本發明的一實施例中,上述存儲器控制器在重新進入正常模式之后,會對可重寫非揮發性存儲器模塊重新執行指令。在本發明的一實施例中,上述指令為寫入指令,并且存儲器控制器會從可重寫非揮發性存儲器模塊中重新提取物理塊并且將對應此寫入指令的數據從緩沖存儲器中寫入至物理塊。在本發明的一實施例中,上述指令為讀取指令,并且存儲器控制器會從可重寫非揮發性存儲器模塊重新讀取對應此讀取指令的數據。在本發明的一實施例中,上述指令為擦除指令,并且存儲器控制器會重新對可重寫非揮發性存儲器模塊下達擦除指令。在本發明的一實施例中,上述存儲器儲存裝置還包括緩沖存儲器,此緩沖存儲器電連接至電壓檢測電路。其中電路元件電壓檢測器還包括第二電壓檢測器,第二電壓檢測器用于檢測第二工作電壓是否低于第二電壓閾值。而緩沖存儲器操作于第二工作電壓,上述電路元件工作電壓為第二工作電壓,電路元件電壓閾值為第二電壓閾值。在本發明的一實施例中,上述電路元件電壓檢測器還包括第三電壓檢測器,此第三電壓檢測器用于檢測第三工作電壓是否低于第三電壓閾值。而存儲器控制器操作于第三工作電壓,上述電路元件工作電壓為第三工作電壓,電路元件電壓閾值為第三電壓閾值。在本發明的一實施例中,當上述第二工作電壓低于第二電壓閾值或第三工作電壓低于第三電壓閾值時,電壓檢測電路會使能上述的復位信號。在本發明的一實施例中,上述第一電壓閾值為2.7伏特,第二電壓閾值為1.8伏特并且第三電壓閾值為1.0伏特。以另外一個角度來說,本發明一范例實施例提出一種存儲器控制器,用于存儲器儲存裝置,此存儲器儲存裝置具有可重寫非揮發性存儲器模塊。上述存儲器控制器包括:主機接口、存儲器接口、以及存儲器管理電路。其中主機接口用于電連接至主機系統。存儲器接口用于電連接至可重寫非揮發性存儲器模塊。存儲器管理電路電連接至主機接口與存儲器接口,用于接收第一消息并且進入省電模式以響應此第一消息。在省電模式中,存儲器控制器會停止執行來自于主機系統的指令并且停止對可重寫非揮發性存儲器模塊下達指令。上述可重寫非揮發性存儲器模塊操作于第一工作電壓并且當第一工作電壓低于第一電壓閾值時,第一消息會被發送給存儲器管理電路。并且,存儲器管理電路會檢測復位信號是否被使能,當此復位信號被使能時,存儲器管理電路無法接收與執行來自于主機系統的指令。其中,當一電路元件工作電壓低于一電路元件電壓閾值時,上述復位信號將被使能。在本發明的一實施例中,上述省電模式期間,存儲器管理電路還用于接收第二消息。并且,存儲器管理電路會重新進入一正常模式以響應第二消息。在省電模式期間,當第一工作電壓高于第一電壓閾值時,此第二消息會被發送給存儲器管理電路。其中,在正常模式中,存儲器控制器會接收來自于主機系統的指令并且根據此指令存取可重寫非揮發性存儲器模塊。在本發明的一實施例中,上述存儲器管理電路會在重新進入正常模式之后,會對可重寫非揮發性存儲器模塊重新執行指令。以另外一個角度來說,本發明一范例實施例提出一種控制方法,用于一存儲器儲存裝置。此控制方法包括:配置可重寫非揮發性存儲器模塊于存儲器儲存裝置,并且設定可重寫非揮發性存儲器模塊操作于第一工作電壓;檢測第一工作電壓是否低于第一電壓閾值。上述方法還包括:檢測電路元件工作電壓是否低于電路元件電壓閾值;當第一工作電壓低于第一電壓閾值時,設定存儲器儲存裝置進入省電模式以停止執行來自于主機系統的指令并且停止對可重寫非揮發性存儲器模塊下達指令;以及,當電路元件工作電壓低于電路元件電壓閾值時,使能復位信號以停止接收與執行來自于主機系統的指令。在本發明的一實施例中,上述控制方法還包括:當在省電模式期間第一工作電壓高于第一電壓閾值時,設定存儲器儲存裝置重新進入一正常模式以接收來自于主機系統的指令及根據此指令存取可重寫非揮發性存儲器模塊。在本發明的一實施例中,上述控制方法還包括:在重新進入正常模式之后,對可重寫非揮發性存儲器模塊重新執行指令。在本發明的一實施例中,上述指令為寫入指令。其中對可重寫非揮發性存儲器模塊重新執行指令的步驟包括:從可重寫非揮發性存儲器模塊重新提取物理塊并且將對應寫入指令的數據從緩沖存儲器中寫入至物理塊。在本發明的一實施例中,上述指令為讀取指令。其中對可重寫非揮發性存儲器模塊重新執行指令的步驟包括的步驟包括:從可重寫非揮發性存儲器模塊中重新讀取對應此讀取指令的數據。在本發明的一實施例中,上述指令為擦除指令。其中對可重寫非揮發性存儲器模塊重新執行指令的步驟包括:重新對可重寫非揮發性存儲器模塊下達此擦除指令。在本發明的一實施例中,上述控制方法還包括:配置緩沖存儲器于存儲器儲存裝置中,設定此緩沖存儲器操作于第二工作電壓;檢測第二工作電壓是否低于第二電壓閾值;以及,設定上述電路元件工作電壓為第二工作電壓,電路元件電壓閾值為第二電壓閾值。在本發明的一實施例中,上述控制方法還包括:配置一存儲器控制器于存儲器儲存裝置,設定存儲器控制器操作于第三工作電壓;檢測第三工作電壓是否低于第三電壓閾值;以及,設定上述電路元件工作電壓為第三工作電壓,電路元件電壓閾值為第三電壓閾值。在本發明的一實施例中,上述控制方法還包括:當第二工作電壓低于第二電壓閾值或第三工作電壓低于第三電壓閾值時,使能上述的復位信號。在本發明的一實施例中,上述控制方法還包括:設定第一電壓閾值為2.7伏特;設定第二電壓閾值為1.8伏特;以及,設定第三電壓閾值為1.0伏特。基于上述,上述范例實施例所提出的存儲器儲存裝置、存儲器控制器與控制方法,能夠在供應電壓不穩定時,有效地避免緩沖存儲器中的數據丟失并且于供應電壓正常后重新執行未完成的指令。圖1A是根據本發明第一范例實施例所示出的主機系統與存儲器儲存裝置。圖1B是根據本發明第一范例實施例所示出的電腦、輸入/輸出裝置與存儲器儲存裝置的示意圖。圖1C是根據本發明第一范例實施例所示出的主機系統與存儲器儲存裝置的示意圖。圖2是示出圖1A所示的存儲器儲存裝置的概要方塊圖。圖3是根據本發明第一范例實施例所示出之存儲器控制器的概要方塊圖。圖4A與4B是根據本發明第一范例實施例在重新進入正常模式后執行寫入指令的示意圖。圖5是根據本發明第一范例實施例所示出之控制方法的流程圖。圖6是根據本發明第二范例實施例所示出之控制方法的流程圖。主要元件符號說明1000:主機系統1100:電腦1102:微處理器1104:隨機存取存儲器1106:輸入/輸出裝置1108:系統總線1110:數據傳輸接口1202:鼠標1204:鍵盤1206:顯示器1208:打印機1212:U盤1214:存儲卡1216:固態硬盤1310:數碼相機1312:SD卡1314:MMC卡1316:存儲棒1318:CF卡1320:嵌入式儲存裝置100:存儲器儲存裝置102:連接器104:輸入電壓110:電壓檢測電路111:第一工作電壓112:第二工作電壓113:第三工作電壓114:第一電壓檢測器115:第二電壓檢測器116:第三電壓檢測器117:電路元件電壓檢測器120:可重寫非揮發性存儲器模塊130:緩沖存儲器140:存儲器控制器142:存儲器管理電路144:主機接口146:存儲器接口410、420:物理塊412:第一部分數據414:第二部分數據422:寫入數據S501、S503、S505、S507、S509、S511、S513、S515、S602、S604、S606、S608、S610:控制方法的步驟具體實施例方式為讓本發明之上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。[第一范例實施例]一般而言,存儲器儲存裝置(亦稱,存儲器儲存系統)包括可重寫非揮發性存儲器模塊與控制器(亦稱,控制電路)。通常存儲器儲存裝置是與主機系統一起使用,以使主機系統可將數據寫入至存儲器儲存裝置或從存儲器儲存裝置中讀取數據。圖1A是根據第一范例實施例所示出的主機系統與存儲器儲存裝置。請參照圖1A,主機系統1000—般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取存儲器(randomaccessmemory,RAM)1104、系統總線1108與數據傳輸接口1110。輸入/輸出裝置1106包括如圖1B的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖1B所示的裝置并非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。在本發明實施例中,存儲器儲存裝置100通過數據傳輸接口1110與主機系統1000的其他元件電連接。藉由微處理器1102、隨機存取存儲器1104與輸入/輸出裝置1106的運作可將數據寫入至存儲器儲存裝置100或從存儲器儲存裝置100中讀取數據。例如,存儲器儲存裝置100可以是如圖1B所示的U盤1212、存儲卡1214或固態硬盤(SolidStateDrive,SSD)1216等的可重寫非揮發性存儲器儲存裝置。一般而言,主機系統1000為可實質地與存儲器儲存裝置100配合以儲存數據的任意系統。雖然在本范例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一范例實施例中主機系統1000可以是數碼相機、攝像機、通信裝置、音頻播放器或視頻播放器等系統。例如,在主機系統為數碼相機(攝像機)1310時,可重寫非揮發性存儲器儲存裝置則為其所使用的SD卡1312、MMC卡1314、存儲棒(memorystick)1316,CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡直接電連接于主機系統的基板上。圖2是示出圖1A所示的存儲器儲存裝置的概要方塊圖。請參照圖2,存儲器儲存裝置100包括連接器102、電壓檢測電路110、可重寫非揮發性存儲器模塊120、緩沖存儲器130與存儲器控制器140。連接器102用于電連接至主機系統1000。例如,連接器102兼容于序列先進附件(SerialAdvancedTechnologyAttachment,SATA)標準。然而,必須了解的是,本發明不限于此,連接器102亦可以是符合并列先進附件(ParallelAdvancedTechnologyAttachment,PATA)標準、電氣和電子工程師協會(InstituteofElectricalandElectronicEngineers,IEEE)1394標準、高速外圍組件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)標準、通用序列總線(UniversalSerialBus,USB)標準、安全兼數字(SecureDigital,SD)接口標準、存儲棒(MemoryStick,MS)接口標準、多媒體儲存卡(MultiMediaCard,MMC)接口標準、小型快閃(CompactFlash,CF)接口標準、集成驅動電子接口(IntegratedDeviceElectronics,IDE)標準或其他適合的標準。電壓檢測電路110電連接至連接器102,并且用于接收輸入電壓104并提供第一工作電壓111、第二工作電壓112與第三工作電壓113。電壓檢測電路110包括電路元件電壓檢測器117與第一電壓檢測器114。第一電壓檢測器114用于檢測第一工作電壓111是否低于一第一電壓閾值。而電路元件電壓檢測器117用于檢測一電路元件工作電壓是否低于一電路元件電壓閾值。而當電路元件工作電壓低于電路元件電壓閾值時,表示存儲器儲存裝置100中有一關鍵性的電路元件的工作電壓過低,使得整個存儲器儲存裝置100無法正常運作。在本實施例中,電路元件電壓檢測器117還包括第二電壓檢測器115與第三電壓檢測器116。其中,第二電壓檢測器115用于檢測第二工作電壓112是否低于一第二電壓閾值,并且存儲器130操作于第二工作電壓112。而第三電壓檢測器116用于檢測第三工作電壓113是否低于一第三電壓閾值,并且存儲器控制器113操作于第三工作電壓。在本實施例中,上述電路元件工作電壓為第二工作電壓112,而上述電路元件電壓閾值為第二電壓閾值。例如,在本范例實施例中,第一電壓閾值為2.7伏特,第二電壓閾值為1.8伏特并且第三電壓閾值為1.0伏特。但必須了解的是本發明不限于此,在本發明另一范例實施例中,第一電壓閾值、第二電壓閾值與第三電壓閾值亦可被設定為其他適當的值。特別是,在本范例實施例中,電壓檢測電路110會根據第一電壓檢測器114、第二電壓檢測器115與第三電壓檢測器116的檢測結果,發送第一消息、使能復位信號或發送第二消息。其中發送第一消息、使能復位信號或發送第二消息的運作,將于以下做詳細的描述。可重寫非揮發性存儲器模塊120電連接至電壓檢測電路110,并且用于儲存主機系統1000所寫入之數據。可重寫非揮發性存儲器模塊120具有多個物理塊。每一物理塊分別具有復數個物理頁面,并且每一物理頁面具有至少一物理扇區,其中屬于同一個物理塊之物理頁面可被獨立地寫入且被同時地擦除。并且,物理塊為擦除之最小單位。亦即,每一物理塊含有最小數目之一并被擦除之存儲單元。而物理頁面為編程的最小單元。特別是,可重寫非揮發性存儲器模塊120操作于第一工作電壓111,并且當第一工作電壓111低于第一電壓閾值時,可重寫非揮發性存儲器模塊120便無法正常運作。在本范例實施例中,可重寫非揮發性存儲器模塊120為多層存儲單元(MultiLevelCelI,MLC)NAND快閃存儲器模塊。然而,本發明不限于此,可重寫非揮發性存儲器模塊120亦可是單層存儲單元(SingleLevelCell,SLC)NAND快閃存儲器模塊、其他快閃存儲器模塊或其他具有相同特性的存儲器模塊。緩沖存儲器130電連接至電壓檢測電路110,并且用于暫存任何數據。例如,緩沖存儲器130為動態隨機存取存儲器(DynamicRandomAccessMemory,DRAM)。在其他實施例中,緩沖存儲器也可為靜態隨機存取存儲器(StaticRandomAccessMemory,SRAM)。特別是,緩沖存儲器130操作于第二工作電壓112,并且當第二工作電壓112低于第二電壓閾值時,緩沖存儲器130便無法正常運作。存儲器控制器140電連接至連接器102、電壓檢測電路110、可重寫非揮發性存儲器模塊120與緩沖存儲器130。存儲器控制器140用于執行以硬體型式或固件型式實作的多個邏輯門或控制指令,并且根據主機系統1000的指令在可重寫非揮發性存儲器模塊120中進行數據的寫入、讀取與擦除等運作。存儲器控制器140還用于接收來自電壓檢測電路110的信號,藉此進入不同的模式以響應所接收到的信號。特別是,存儲器控制器140操作于第三工作電壓113,并且當第三工作電壓113低于第三電壓閾值時,存儲器控制器140便無法正常運作。圖3是根據本發明第一范例實施例所示出之存儲器控制器的概要方塊圖。請參照圖3,存儲器控制器140包括存儲器管理電路142、主機接口144與存儲器接口146。存儲器管理電路142用于控制存儲器控制器140的整體運作。具體來說,存儲器管理電路142具有多個控制指令,并且在存儲器儲存裝置100運作時,這些控制指令會被執行以進行數據的寫入、讀取與擦除等運作。在本范例實施例中,存儲器管理電路142的控制指令是以固件型式來實作。例如,存儲器管理電路142具有微處理器單元(未示出)與只讀存儲器(未示出),并且這些控制指令是被燒錄至此只讀存儲器中。當存儲器儲存裝置100運作時,這些控制指令會由微處理器單元來執行以進行數據的寫入、讀取與擦除等運作。在本發明另一范例實施例中,存儲器管理電路142的控制指令亦可以程序代碼型式儲存于可重寫非揮發性存儲器模塊120的特定區域(例如,存儲器模塊中專用于存放系統數據的系統區)中。此外,存儲器管理電路142具有微處理器單元(未示出)、只讀存儲器(未示出)及隨機存取存儲器(未示出)。特別是,此只讀存儲器具有驅動碼,并且當存儲器控制器140被使能時,微處理器單元會先執行此驅動碼段來將儲存于可重寫非揮發性存儲器模塊120中之控制指令載入至存儲器管理電路142的隨機存取存儲器中。之后,微處理器單元會運轉這些控制指令以進行數據的寫入、讀取與擦除等運作。此外,在本發明另一范例實施例中,存儲器管理電路142的控制指令亦可以一硬體型式來實作。主機接口144電連接至存儲器管理電路142并且用于接收與識別主機系統1000所傳送的指令與數據。也就是說,主機系統1000所傳送的指令與數據會通過主機接口144來傳送至存儲器管理電路142。在本范例實施例中,主機接口144兼容于SATA標準。然而,必須了解的是本發明不限于此,主機接口144亦可以兼容于PATA標準、IEEE1394標準、PCIExpress標準、USB標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的數據傳輸標準。存儲器接口146電連接至存儲器管理電路142并且用于存取可重寫非揮發性存儲器模塊120。也就是說,欲寫入至可重寫非揮發性存儲器模塊120的數據會經由存儲器接口146轉換為可重寫非揮發性存儲器模塊120所能接受的格式。在本范例實施例中,存儲器管理電路142還用于根據電壓檢測電路110所發送的第一消息與第二消息,或者是根據復位信號是否被使能而進入不同的模式。請再參照圖2,一般情況下,當第一工作電壓111高于第一電壓閾值、第二工作電壓112高于第二電壓閾值且第三工作電壓113高于第三電壓閾值時,存儲器控制器140是處于正常模式。具體來說,在正常模式下,存儲器控制器140會接收來自于主機系統1000的指令,并且根據此指令存取可重寫非揮發性存儲器模塊120。例如,存儲器控制器140會從主機系統1000接收到寫入指令并且根據此指令將數據寫入至可重寫非揮發性存儲器模塊120。然而,當第一電壓檢測器114檢測到第一工作電壓111低于第一電壓閾值時,電壓檢測電路110會發送第一消息給存儲器控制器140。特別是,存儲器管理電路142在接收到此第一消息以后,會進入省電模式。具體來說,在省電模式下,存儲器管理電路142會停止執行來自于主機系統1000的指令,并且停止對可重寫非揮發性存儲器模塊120下達指令。例如,以連接器102為符合SATA標準的例子中,主機系統1000在傳送存取的指令給存儲器儲存裝置100之前,會先發送X_RDY信號給存儲器儲存裝置100,用于詢問存儲器儲存裝置100是否可接受存取指令。若存儲器儲存裝置100可接收存取指令,則會回復R_RDY信號,否則會回復SYNC信號。在本范例實施例中,若存儲器控制器140在省電模式下,存儲器管理電路142會回復SYNC信號給主機系統1000以響應所接收的X_RDY信號,用于表示目前存儲器儲存裝置100無法執行存取的指令。而存儲器管理電路142回復SYNC信號的用意為托延回復R_RDY的時間,因為一旦回復R_RDY給主機系統1000,主機系統1000就會認為可重寫非揮發性存儲器模塊120已準備好可執行數據存取的動作。也就是說,由于當第一工作電壓111低于第一電壓閾值(例如,2.7伏特)時,可重寫非揮發性存儲器模塊120無法正常的運作,存儲器控制器140便會暫停對可重寫非揮發性存儲器模塊120的存取。并且,此時可重寫非揮發性存儲器模塊120正在執行的指令也會被中斷。例如,存儲器控制器140在進入省電模式時可重寫非揮發性存儲器模塊120正在執行的指令為寫入指令,因此可重寫非揮發性存儲器模塊120執行此寫入指令的操作便會被中斷,而此寫入指令所對應的寫入數據則仍被暫存在緩沖存儲器130中。值得注意的是,在省電模式下,緩沖存儲器130與存儲器控制器140還是可以正常的運作。當存儲器控制器140在省電模式并且第一電壓檢測器114檢測到第一工作電壓111已提升并高于第一電壓閾值時,電壓檢測電路110會傳送第二信號給存儲器控制器140。在接收到第二信號以后,存儲器管理電路142會重新進入正常模式以響應此第二信號。也就是說,在重新進入正常模式以后,存儲器控制器140便可繼續接收來自于主機系統1000的指令,并且根據此指令來存取可重寫非揮發性存儲器模塊120。特別是,在本范例實施例中,在存儲器控制器140重新進入正常模式之后,存儲器管理電路142會對可重寫非揮發性存儲器模塊120重新執行在進入省電模式之前的指令。例如,假設存儲器控制器140在進入省電模式之前正對可重寫非揮發性存儲器模塊120執行寫入指令,并且此寫入指令所對應的寫入數據被暫存在緩沖存儲器130中。當存儲器控制器140重新進入正常模式以后,存儲器管理電路142會在可重寫非揮發性存儲器模塊120中重新提取一物理塊,從緩沖存儲器130中取得上述未完成的寫入指令所對應的寫入數據,并且將此寫入數據寫入至重新提取的物理塊。然而,在其他實施例中,存儲器控制器140在重新進入正常模式以后,可根據上述寫入指令將所對應的寫入數據寫入至一舊塊的下一個物理頁面,此舊塊指的是進入省電模式之前正在執行上述寫入指令的物理塊。在另外一實施例中,存儲器控制器140在重新進入正常模式以后,也可將上述寫入指令所對應的寫入數據的一部分寫入至上述新提取的物理塊,并將另一部分寫入至上述的舊塊,本發明并不在此限。圖4A與4B是根據本發明第一范例實施例在重新進入正常模式后執行寫入指令的示意圖。請參考圖4A,假設若存儲器管理電路142在執行一寫入指令的期間,存儲器控制器140根據第一消息進入了省電模式,其中對應此寫入指令的寫入數據422之中的第一部分已寫入數據412已被寫入至物理塊410中并且此數據之中的第二部分數據414尚未被寫入至物理塊410。請參考圖4B,由于在省電模式中,緩沖存儲器130仍可正常地運作并且由此寫入數據422仍暫存在緩沖存儲器130中而不會丟失。因此,當存儲器控制器140接收到第二信號而重新進入正常模式以后,存儲器管理電路142會從緩沖存儲器130取得寫入數據422,并將寫入數據422寫入至新提取的物理塊420。更詳細來說,可重寫非揮發性存儲器模塊120的物理塊的物理頁面只能被編程(program)一次,若要對物理頁面編程第二次則必須先執行擦除指令。因此,若已寫入的第一部分數據412的結尾是寫入至一個物理頁面的一部分,則在存儲器控制器140重新進入正常模式以后,也無法將未寫入之第二部分數據414寫入至此已被寫入一部分的物理頁面。在本范例實施例中,存儲器管理電路142會重新提取空的物理塊,并將寫入數據寫入至重新提取的物理塊以便重新執行寫入指令。除此之外,倘若在進入省電模式之前,存儲器控制器140正對可重寫非揮發性存儲器模塊120執行讀取指令時,在存儲器控制器140重新進入正常模式以后,存儲器管理電路142會從可重寫非揮發性存儲器模塊120重新讀取對應此讀取指令的數據。再者,若在進入省電模式之前,存儲器控制器140正對可重寫非揮發性存儲器模塊120執行擦除指令,則在存儲器控制器140重新進入正常模式以后,存儲器管理電路142會重新對可重寫非揮發性存儲器模塊120下達此擦除指令。請再參照圖2,在本范例實施例中,當第二電壓檢測器115檢測到第二工作電壓112低于第二電壓閾值或者是第三電壓檢測器116檢測到第三工作電壓113低于第三電壓閾值時,電壓檢測電路110會使能復位信號。當此復位信號被使能以后,存儲器控制器113無法接收與執行來自于主機系統1000的指令。具體來說,在復位信號被使能期間,主機系統1000與存儲器儲存裝置100之間的電連接會被中斷。并且,在復位信號不再被使能以后以后,主機系統1000會重新與存儲器儲存裝置100電連接,并且通過連接器102供應電源給存儲器儲存裝置100。圖5是根據本發明第一范例實施例所示出之控制方法的流程圖。請參照圖5,當存儲器儲存裝置100啟動后,在步驟S501,第一工作電壓會被檢測是否低于第一電壓閾值。倘若第一工作電壓低于第一電壓閾值,則在步驟S503中,存儲器儲存裝置100會被設定進入省電模式。具體來說,如上所述,在省電模式中,存儲器控制器140的存儲器管理電路142會停止執行來自于主機系統1000的指令并且停止對可重寫非揮發性存儲器模塊120下達指令。之后,在步驟S505中,第二工作電壓會被檢測是否低于第二電壓閾值或者第三工作電壓會被檢測是否低于第三電壓閾值。倘若第二工作電壓非低于第二電壓閾值且第三工作電壓非低于第三電壓閾值,在步驟S507中,第一工作電壓會被檢測是否回升且高于第一電壓閾值。倘若第一工作電壓回升且高于第一電壓閾值時,則在步驟S509中,存儲器儲存裝置100會被設定重新進入正常模式。并且,在步驟S511中,對可重寫非揮發性存儲器模塊120重新執行進入省電模式之前的指令。并且在步驟S511之后,步驟S501會被執行以繼續檢測第一工作電壓。倘若第一工作電壓未回升且高于第一電壓閾值時,則步驟S505會被執行以繼續檢測第二與第三工作電壓。倘若第二工作電壓低于第二電壓閾值或者第三工作電壓低于第三電壓閾值時,則在步驟S513中,復位信號會被使能。倘若在步驟S501中判斷第一工作電壓非低于第一電壓閾值時,則在步驟S515中,第二工作電壓會被檢測是否低于第二電壓閾值或者第三工作電壓會被檢測是否低于第三電壓閾值。倘若第二工作電壓被檢測非低于第二電壓閾值且第三工作電壓被檢測非低于第三電壓閾值,則步驟S501會被執行以繼續檢測第一工作電壓。倘若第二工作電壓被檢測低于第二電壓閾值或者第三工作電壓被檢測低于第三電壓閾值,則在步驟S513會被執行,以復位存儲器儲存裝置100。在步驟S513之后,圖5的流程會被中止,并且當存儲器儲存裝置100再被啟動后,步驟S510會被執行。[第二范例實施例]本范例實施例與第一范例實施例類似,不同之處在于電壓檢測電路110是根據第一工作電壓與電路元件工作電壓來控制存儲器儲存裝置100。請參考圖2,電路元件電壓檢測器117用于檢測電路元件工作電壓是否低于一電路元件電壓閾值。在本實施例中,電路元件工作電壓為用于操作存儲器控制器140的第三工作電壓113,電路元件電壓閾值為上述第三電壓閾值。當電路元件工作電壓低于電路元件電壓閾值時,電壓檢測電路110會使能復位信號以停止接收與執行來自于主機系統1000的指令。其中當第一工作電壓111低于第一電壓閾值時,電壓檢測電路110會發送第一消息給存儲器控制器140并且存儲器控制器140會進入省電模式以響應第一消息。對于第一消息以及省電模式已詳細說明如上,在此并不再贅述。另一方面,省電模式中,存儲器控制器140會停止執行來自于主機系統1000的指令并且停止對可重寫非揮發性存儲器模塊120下達指令。當電路元件工作電壓低于電路元件電壓閾值時,電壓檢測電路110會使能復位信號,且在復位信號被使能時,存儲器控制器140無法接收與執行來自于主機系統的指令。然而,復位信號、存儲器控制器140、可重寫非揮發性存儲器模塊120與電壓檢測電路110已詳細說明如上,在此便不再贅述。然而,必須了解的是,盡管在本范例實施例中,電路元件工作電壓為用于操作存儲器控制器140的第三工作電壓113,并且電路元件電壓閾值為上述第三電壓閾值。但本發明不限于此,在本發明另一范例實施例中,電路元件工作電壓亦可為用于操作緩沖存儲器130的第二工作電壓112,并且電路元件電壓閾值對應為上述第二電壓閾值。圖6是根據本發明第二實施例所示出的控制方法流程圖。請參考圖6,在步驟S602中,配置可重寫非揮發性存儲器模塊于存儲器儲存裝置中,并且設定可重寫非揮發性存儲器模塊操作于第一工作電壓。在步驟S604中,第一電壓檢測器114檢測第一工作電壓111是否低于第一電壓閾值。在步驟S606中,電路元件電壓檢測器117檢測電路元件工作電壓是否低于電路元件電壓閾值。在步驟S608中,當第一工作電壓111低于第一電壓閾值時,設定存儲器儲存裝置100進入省電模式以停止執行來自于主機系統1000的指令并且停止對可重寫非揮發性存儲器模塊120下達指令。在步驟S610中,當電路元件工作電壓低于電路元件電壓閾值時,電壓檢測電路110會使能復位信號以停止接收與執行來自于主機系統1000的指令。值得注意的是,圖6中各步驟可以有其他順序,本發明并不在此限。例如,在執行步驟S602中,可先執行步驟S606再執行步驟S604,并且先執行步驟S610再執行步驟S608,本發明并不限制圖6各步驟的執行順序。另一方面,步驟S604、S606、S608、以及S610會重復的被執行,且此持續的監控存儲器儲存裝置100的各個工作電壓。綜上所述,本發明范例實施例提出的存儲器儲存裝置、存儲器控制器與控制方法,可以避免輸入電壓不穩定時,丟失緩沖存儲器中的數據。當第一工作電壓低于第一電壓閾值時,存儲器儲存裝置會進入省電模式。若第一工作電壓已回復并高于第一電壓閾值,存儲器儲存裝置便再回復到正常模式。如此一來,緩沖存儲器中的數據便不會丟失并且據此在回復到正常模式以后重新執行在進入省電模式之前的指令。并且在電路元件工作電壓低于電路元件電壓閾值時,才使能復位信號。結論來說,藉由不同的電壓值來控制存儲器儲存裝置,本發明可以提升存儲器儲存裝置的穩定性。雖然本發明已以實施例揭露如上,然其并非用于限定本發明,任何所屬
技術領域:
中具有通常知識者,在不脫離本發明之精神和范圍內,當可作些許之更動與潤飾,故本發明之保護范圍當視后附之權利要求所界定者為準。權利要求1.一種存儲器儲存裝置,包括:一連接器,用于電連接至一主機系統;一電壓檢測電路,具有一第一電壓檢測器與一電路元件電壓檢測器,該第一電壓檢測器用于檢測一第一工作電壓是否低于一第一電壓閾值,并且該電路元件電壓檢測器用于檢測一電路元件工作電壓是否低于一電路元件電壓閾值;一可重寫非揮發性存儲器模塊,電連接該電壓檢測電路并且操作于該第一工作電壓;一存儲器控制器,電連接該電壓檢測電路;其中當該第一工作電壓低于該第一電壓閾值時,該電壓檢測電路發送一第一消息給該存儲器控制器并且該存儲器控制器會進入一省電模式以響應該第一消息,其中在該省電模式中,該存儲器控制器停止執行來自于該主機系統的指令并且停止對該可重寫非揮發性存儲器模塊下達指令,其中當該電路元件工作電壓低于該電路元件電壓閾值時,該電壓檢測電路使能一復位信號,其中在該復位信號被使能時,該存儲器控制器無法接收與執行來自于該主機系統的指令。2.如權利要求1所述的存儲器儲存裝置,其中在該省電模式期間,當該第一工作電壓高于該第一電壓閾值時,該電壓檢測電路發送一第二消息給該存儲器控制器,其中該存儲器控制器會重新進入一正常模式以響應該第二消息,其中在該正常模式中,該存儲器控制器會接收來自于該主機系統的至少一指令并且根據該至少一指令存取該可重寫非揮發性存儲器模塊。3.如權利要求2所述的存儲器儲存裝置,其中該存儲器控制器在重新進入該正常模式之后,對該可重寫非揮發性存儲器模塊重新執行一指令。4.如權利要求3所述的存儲器儲存裝置,其中該指令為一寫入指令,并且該存儲器控制器會從該可重寫非揮發性存儲器模塊中重新提取一物理塊并且將對應該寫入指令的一數據從該緩沖存儲器中寫入至該物理塊。5.如權利要求3所述的存儲器儲存裝置,其中該指令為一讀取指令,并且該存儲器控制器會從該可重寫非揮發性存儲器模塊重新讀取對應該讀取指令的數據。6.如權利要求3所述的存儲器儲存裝置,其中該指令為一擦除指令,并且該存儲器控制器會重新對該可重寫非揮發性存儲器模塊下達該擦除指令。7.如權利要求1所述的存儲器儲存裝置,還包括:一緩沖存儲器,電連接至該電壓檢測電路,其中該電路元件電壓檢測器包括一第二電壓檢測器,該第二電壓檢測器用于檢測一第二工作電壓是否低于一第二電壓閾值,其中該緩沖存儲器操作于該第二工作電壓,該電路元件工作電壓為該第二工作電壓,該電路元件電壓閾值為該第二電壓閾值。8.如權利要求1所述的存儲器儲存裝置,其中該電路元件電壓檢測器包括一第三電壓檢測器,該第三電壓檢測器用于檢測一第三工作電壓是否低于一第三電壓閾值,其中該存儲器控制器操作于該第三工作電壓,該電路元件工作電壓為該第三工作電壓,該電路元件電壓閾值為該第三電壓閾值。9.如權利要求7所述的存儲器儲存裝置,其中該電路元件電壓檢測器還包括一第三電壓檢測器,該第三電壓檢測器用于檢測一第三工作電壓是否低于一第三電壓閾值,其中該存儲器控制器操作于該第三工作電壓。10.如權利要求9所述的存儲器儲存裝置,其中當該第二工作電壓低于該第二電壓閾值或該第三工作電壓低于該第三電壓閾值時,該電壓檢測電路使能該復位信號。11.如權利要求10所述的存儲器儲存裝置,其中該第一電壓閾值為2.7伏特,該第二電壓閾值為1.8伏特并且該第三電壓閾值為1.0伏特。12.—種存儲器控制器,用于一存儲器儲存裝置,該存儲器儲存裝置具有一可重寫非揮發性存儲器模塊,該存儲器控制器包括:一主機接口,用于電連接至一主機系統;一存儲器接口,用于電連接至該可重寫非揮發性存儲器模塊;以及一存儲器管理電路,電連接至該主機接口與該存儲器接口,用于接收一第一消息并且進入一省電模式以響應該第一消息,其中在該省電模式中,該存儲器控制器停止執行來自于該主機系統的指令并且停止對該可重寫非揮發性存儲器模塊下達指令,其中該可重寫非揮發性存儲器模塊操作于一第一工作電壓并且當該第一工作電壓低于一第一電壓閾值時,該第一消息會被發送給該存儲器管理電路,其中該存儲器管理電路檢測一復位信號是否被使能,當該復位信號被使能時,該存儲器管理電路無法接收與執行來自于該主機系統的指令,其中當一電路元件工作電壓低于一電路元件電壓閾值時,該復位信號將被使能。13.如權利要求12所述的存儲器控制器,其中在該省電模式期間,該存儲器管理電路還用于接收一第二消息,其中該存儲器管理電路會重新進入一正常模式以響應該第二消息,其中在該省電模式期間當該第一工作電壓高于該第一電壓閾值時,該第二消息會被發送給該存儲器管理電路,其中在該正常模式中,該存儲器控制器會接收來自于該主機系統的至少一指令并且根據該至少一指令存取該可重寫非揮發性存儲器模塊。14.如權利要求12所述的存儲器控制器,其中該存儲器管理電路會在重新進入該正常模式之后,對該可重寫非揮發性存儲器模塊重新執行一指令。15.一種控制方法,用于一存儲器儲存裝置,包括:配置一可重寫非揮發性存儲器模塊于該存儲器儲存裝置,并且設定該可重寫非揮發性存儲器模塊操作于一第一工作電壓;檢測該該第一工作電壓是否低于一第一電壓閾值;檢測一電路元件工作電壓是否低于一電路元件電壓閾值;當該第一工作電壓低于該第一電壓閾值時,設定該存儲器儲存裝置進入一省電模式以停止執行來自于一主機系統的指令并且停止對該可重寫非揮發性存儲器模塊下達指令;以及當該電路元件工作電壓低于該電路元件電壓閾值時,使能一復位信號以停止接收與執行來自于該主機系統的指令。16.如權利要求15所述的控制方法,還包括:當在該省電模式期間該第一工作電壓高于該第一電壓閾值時,設定該存儲器儲存裝置重新進入一正常模式以接收來自于該主機系統的至少一指令及根據該至少一指令存取該可重寫非揮發性存儲器模塊。17.如權利要求16所述的控制方法,還包括:在重新進入該正常模式之后,對該可重寫非揮發性存儲器模塊重新執行一指令。18.如權利要求17所述的控制方法,其中該指令為一寫入指令,其中對該可重寫非揮發性存儲器模塊重新執行該指令的步驟包括:從該可重寫非揮發性存儲器模塊重新提取一物理塊并且將對應該寫入指令的一數據從該緩沖存儲器中寫入至該物理塊。19.如權利要求17所述的控制方法,其中該指令為一讀取指令,其中對該可重寫非揮發性存儲器模塊重新執行該指令的步驟包括的步驟包括:從該可重寫非揮發性存儲器模塊中重新讀取對應該讀取指令的數據。20.如權利要求17所述的控制方法,其中該指令為一擦除指令,其中對該可重寫非揮發性存儲器模塊重新執行該指令的步驟包括:重新對該可重寫非揮發性存儲器模塊下達該擦除指令。21.如權利要求15所述的控制方法,還包括:配置一緩沖存儲器于該存儲器儲存裝置中,設定該緩沖存儲器操作于一第二工作電壓;檢測該第二工作電壓是否低于一第二電壓閾值;以及設定該電路元件工作電壓為該第二工作電壓,該電路元件電壓閾值為該第二電壓閾值。22.如權利要求15所述的控制方法,還包括:配置一存儲器控制器于該存儲器儲存裝置,設定該存儲器控制器操作于一第三工作電壓;檢測該第三工作電壓是否低于一第三電壓閾值;以及設定該電路元件工作電壓為該第三工作電壓,該電路元件電壓閾值為該第三電壓閾值。23.如權利要求21所述的控制方法,還包括:配置一存儲器控制器于該存儲器儲存裝置,設定該存儲器控制器操作于一第三工作電壓;以及檢測該第三工作電壓是否低于一第三電壓閾值。24.如權利要求23所述的控制方法,還包括:當該第二工作電壓低于該第二電壓閾值或該第三工作電壓低于該第三電壓閾值時,使能該復位信號。25.如權利要求24所述的控制方法,還包括:設定該第一電壓閾值為2.7伏特;設定該第二電壓閾值為1.8伏特;以及設定該第三電壓閾值為1.0伏特。全文摘要本發明提出一種存儲器儲存裝置的控制方法,包括配置操作于第一工作電壓的可重寫非揮發性存儲器模塊于存儲器儲存裝置中;檢測第一工作電壓是否低于第一電壓閾值。本方法還包括檢測電路元件工作電壓是否低于電路元件電壓閾值;當第一工作電壓低于第一電壓閾值時,設定存儲器儲存裝置停止執行來自于主機系統的指令并且停止對可重寫非揮發性存儲器模塊下達指令;以及,當電路元件工作電壓低于電路元件電壓閾值時,使能復位信號以停止接收與執行來自于主機系統的指令。藉此,本方法可有效地提升存儲器儲存裝置之運作的穩定度。文檔編號G11C16/06GK103198861SQ20121000404公開日2013年7月10日申請日期2012年1月6日優先權日2012年1月6日發明者朱健華申請人:群聯電子股份有限公司