本申請要求于2016年3月23日提交到韓國知識產權局的第10-2016-0034850號韓國專利申請的權益,該韓國專利申請的公開通過引用被全部包含于此。
本公開的一個或更多個實施例涉及一種存儲器控制器和包括該存儲器控制器的存儲裝置,更具體地,涉及能夠根據從主機接收到的數據或指令來有效率地管理其功耗和性能的存儲器控制器,以及包括該存儲器控制器的存儲裝置。
背景技術:
通常,包括非易失性存儲器(例如,固態驅動器(ssd))的存儲裝置使用以高速(例如,g比特/s)操作的高速串行接口,諸如串行高級技術附件(sata)接口、外設組件互連快速(pcie)接口或通用閃存(ufs)接口。在處于操作或空閑狀態時管理這樣的裝置的功耗是重要的。
在裝置性能和功耗之間存在權衡。因此,應該降低裝置性能以降低功耗。因此,需要根據主機的接口性能通過控制存儲裝置的性能來降低功耗。
技術實現要素:
根據本公開的一方面,存儲器控制器包括被配置為基于從主機接收的數據或指令輸出多條控制信息中的至少一條控制信息的主機接口。低功率模式進入控制器被配置為基于多條控制信息中的至少一條控制信息選擇并輸出多個控制信號中的至少一個控制信號。低功率模式進入控制器輸出多個控制信號以運行其中降低了功耗的低功率模式。多條控制信息包括:操作信息,表示讀操作或寫操作;模式信息,表示隨機操作或順序操作;速度信息,表示主機每單位時間的吞吐量。
根據本公開的另一方面,存儲裝置包括電力管理集成電路(pmic)、存儲器控制器、緩沖器和非易失性存儲器。存儲器控制器包括:主機接口,被配置為基于從主機接收的數據或指令輸出多條控制信息中的至少一條控制信息;低功率模式進入控制器,被配置為基于所述多條控制信息中的至少一條控制信息來選擇并輸出多個控制信號中的至少一個控制信號;以及中央處理單元(cpu),被配置為控制或操作低功率模式進入控制器。多條控制信息包括:操作信息,表示讀操作或寫操作;模式信息,表示隨機操作或順序操作;速度信息,表示主機每單位時間的吞吐量。主機接口包括:操作檢測器,被配置為基于從主機接收的指令或數據產生操作信息;模式檢測器,被配置為基于從主機接收的指令或數據產生模式信息;速度測量器,被配置為基于從主機接收的數據產生速度信息。速度測量器通過對單位時間內接收的數據的塊進行計數來測量主機每單位時間的吞吐量,并且產生速度信息。
根據本公開的另一方面,存儲裝置包括非易失性存儲器、存儲器緩沖器和存儲器控制器。存儲器控制器根據從外部主機接收的數據或指令將信息編程到非易失性存儲器中,從非易失性存儲器讀取編程的信息,并且控制由存儲裝置消耗的功率。通過以下方式來改變由存儲裝置消耗的功率:(1)控制提供到非易失性存儲器、緩沖器或存儲器控制器的操作電壓,(2)控制提供到非易失性存儲器、緩沖器或存儲器控制器的時鐘信號的頻率,(3)控制是否激活用于臨時存儲在非易失性存儲器和主機之間通信的緩沖器數據的存儲器緩沖器,或者(4)控制非易失性存儲器內的多個數據存儲區域中的哪個或哪幾個數據存儲區域為了操作使用而被激活。
附圖說明
通過下面結合附圖的詳細的描述將更加清楚地理解本公開的示例實施例,在附圖中:
圖1是根據本公開的實施例的數據處理系統的框圖;
圖2是根據本公開的一些實施例的存儲裝置的透視圖;
圖3是根據本公開的一些實施例的非易失性存儲器的詳細的框圖;
圖4是根據本公開的一些實施例的主機接口的詳細的框圖;
圖5是根據本公開的一些實施例的操作存儲裝置的方法的流程圖;
圖6是包括在圖5的方法中的確定是否將要進入低功率模式的步驟的詳細的流程圖;
圖7是根據本公開的一些實施例的數據處理系統的框圖;
圖8是根據本公開的一些實施例的數據處理系統的框圖;
圖9是根據本公開的一些實施例的數據處理系統的框圖;
圖10是根據本公開的一些實施例的數據處理系統的框圖。
具體實施方式
圖1是根據本公開的實施例的數據處理系統1的框圖。參照圖1,數據處理系統1可以包括主機10、存儲裝置20和接口30。例如,數據處理系統1可以被理解為存儲器系統。
在一些實施例中,數據處理系統1可以實現為個人計算機(pc)、工作站、數據中心、因特網數據中心(idc)、存儲區域網絡(san)、網絡附加存儲(nas)裝置或移動計算裝置,但不限于此。
移動計算裝置可以是膝上型計算機、移動電話、智能電話、平板pc、個人數字助理(pda)、企業數字助理(eda)、數字靜態照相機、數字視頻照相機、便攜式多媒體播放器(pmp)、個人/便攜式導航裝置(pnd)、手持式游戲控制臺、移動互聯網裝置(mid)、可穿戴計算機、物聯網(iot)裝置、萬物互聯(ioe)裝置、無人機或電子書。
主機10可以控制存儲裝置20的數據處理操作(例如,寫操作或讀操作等)。主機10可以被理解為主機控制器。
主機10可以向存儲裝置20發送將數據寫入到存儲裝置20的寫入請求或者從存儲裝置20讀取數據的讀取請求。寫入請求可以包括寫入地址。讀取請求可以包括讀取地址。術語“請求”可以被理解為指令。
主機10可以經由接口30向存儲裝置20發送數據或者從存儲裝置20接收數據。
接口30可以實現為,但不限于,串行高級技術附件(sata)接口、sata快速(satae)接口、串行連接的小型計算機系統接口(scsi)(sas)、外設組件互連快速(pcie)接口、非易失性存儲器快速(nvme)接口、高級主機控制器接口(ahci)、通用閃存(ufs)接口或多媒體卡(mmc)接口。
在一個實施例中,主機10可以實現為,但不限于,集成電路(ic)、主板、片上系統(soc)、應用處理器(ap)、移動ap、網絡服務器、數據服務器或數據庫服務器。
在一些實施例中,接口30可以傳輸電信號或光信號。
存儲裝置20可以經由接口30與主機10交換指令和/或數據。
存儲裝置20可以實現為閃存類存儲器裝置,但不限于此。例如,存儲裝置20可以實現為,但不限于,ssd、嵌入式ssd(essd)、通用閃存(ufs)裝置、mmc、嵌入式mmc(emmc)或管理型nand存儲器。閃存類存儲器裝置可以是nand型閃存裝置或nor型閃存裝置。
在一些實施例中,存儲裝置20可以實現為,但不限于,硬盤驅動器(hdd)、相變隨機存取存儲器(pram)裝置、磁阻ram(mram)裝置、自旋轉移矩mram(stt-mram)裝置、鐵電ram(fram)裝置或電阻ram(rram)裝置。
存儲裝置20可以包括電力管理集成電路(pmic)100、存儲器控制器200、緩沖器300和非易失性存儲器400。
pmic100可以在存儲器控制器200的控制下向存儲器控制器200、緩沖器300和非易失性存儲器400供應電力(或操作電壓)。例如,分別供應到存儲器控制器200、緩沖器300和非易失性存儲器400的操作電壓可以相同或不同。
存儲器控制器200可以控制非易失性存儲器400和pmic100。在一些實施例中,存儲器控制器200可以實現為ic、soc、處理器、ap、芯片組或半導體芯片組。
存儲器控制器200可以控制在主機10和非易失性存儲器400之間交換的指令和/或數據的傳輸或處理。
存儲器控制器200可以包括總線210、主機接口220、中央處理單元(cpu)230、電力管理單元(pmu)240、時鐘管理單元(cmu)250、緩沖器管理器260和存儲器接口270。
總線210可以是,但不限于,高級微控制器總線架構(amba)、高級高性能總線(ahb)、高級外設總線(apb)、高級可擴展接口(axi)、高級系統總線(asb)、axi一致性擴展(ace)或它們的組合。
主機接口220可以改變將要傳輸到主機10的數據data的格式,并且經由接口30向主機10傳輸具有改變后的格式的數據。此外,主機接口220可以從主機10接收數據data或指令cmd。另外,主機接口220可以改變數據data的格式或者指令cmd的格式,并且向cpu230或緩沖器管理器260傳輸具有改變后的格式的數據data或者指令cmd。
主機接口220可以基于從主機10接收到的數據data或指令cmd輸出多條控制信息op、pt和sp中的至少一條控制信息。多條控制信息op、pt和sp可以包括表示讀操作或寫操作的操作信息op、表示隨機操作或順序操作的模式信息pt以及表示主機10的每單位時間的吞吐量的速度信息sp。例如,主機接口220可以基于數據data或指令cmd產生操作信息op或模式信息pt。此外,主機接口220可以通過對每單位時間接收的數據data的塊進行計數來測量主機10的每單位時間的吞吐量,并且產生速度信息sp。主機接口220可以向低功率模式進入控制器(lpmec)235傳輸多條控制信息op、pt和sp中的至少一條控制信息。如下面將參照圖3詳細描述的,可以在d-phy層或鏈路層執行主機接口220的上面的操作,但本公開的實施例不限于此。
主機接口220可以向總線210或緩沖器管理器260輸出從主機10接收的數據data或指令cmd。主機接口220可以向主機10傳輸從緩沖器管理器260輸出的數據。主機接口220可以使用適用于接口30的協議。
主機接口220的結構和操作可以實現為適用于接口30的結構和操作。例如,主機接口220可以實現為,但不限于,sata接口、satae接口、sas接口、pcie接口、nvme接口、ahci接口、mmc接口、nand型閃存接口或nor型閃存接口。
cpu230可以控制元件210、220、235、240、250、260和270。例如,cpu230可以操作或控制低功率模式進入控制器235。
低功率模式進入控制器235可以控制存儲裝置20或存儲器控制器200進入低功率模式,并且產生多個控制信號ctr1和ctr2。低功率模式可以被理解為省電模式。低功率模式可以被理解為存儲裝置20或存儲器控制器200低功率模式。
低功率模式可以被理解為如下模式中的至少一種模式:控制將要供應到包括在存儲裝置20中的元件210、220、230、235、240、250、260和270中的至少一個元件的時鐘信號和操作電壓中的至少一種以便降低存儲裝置20的功耗,控制非易失性存儲器400的操作,以及控制緩沖器300。
即,低功率模式進入控制器235可以采用動態頻率縮放(dfs)算法、動態電壓和頻率縮放(dvfs)算法、動態電力管理(dpm)策略或它們的組合。dpm策略指有選擇地關閉空閑的或未充分使用的系統組件,以減少系統中的功率消耗。
低功率模式進入控制器235可以通過硬件或軟件來實現。
當低功率模式進入控制器235通過軟件實現時,低功率模式進入控制器235可以如圖1中示出的在cpu230的控制下操作。當低功率模式進入控制器235通過硬件實現時,不同于圖1中示出的,低功率模式進入控制器235可以作為單個組件包括在存儲器控制器200中,并可以單獨地操作且不受cpu230的控制。然而,本公開的實施例不限于此。
pmu240可以響應于從cpu230輸出的第一控制信號ctr1來產生用于控制pmic100的第三控制信號ctr3。pmic100可以響應于第三控制信號ctr3來控制(增大、維持或減小)將要施加到元件210、220、230、235、240、250、260和270中的至少一個元件的電壓。
cmu250可以響應于從cpu230輸出的第二控制信號ctr2來控制將要供應到元件210、220、230、235、240、250、260和270中的至少一個元件的時鐘信號的頻率。例如,cmu250可以執行時鐘傳動(clockgearing)、增加時鐘信號的頻率、維持時鐘信號的頻率恒定或者減小時鐘信號的頻率。
時鐘傳動應該被理解為通過去除時鐘信號的齒(例如,周期性發生的上升脈沖或下降脈沖)而不是通過使用鎖相回路直接改變時鐘信號的頻率來控制時鐘信號的頻率的方法。例如,可以通過在時鐘信號的每一百個齒中去除五十個齒而大幅地減小時鐘信號的頻率,來執行時鐘傳動。
緩沖器管理器260可以在cpu230的控制下向緩沖器300寫入數據或從緩沖器300讀取數據。由緩沖器管理器260處理的數據可以傳輸至主機接口220或存儲器接口270。緩沖器管理器260可以被稱作能夠控制對緩沖器300執行寫操作和讀操作的緩沖器控制器。
緩沖器300可以存儲功率表。功率表可以存儲信息,該信息使低功率模式進入控制器235能夠基于多條控制信息op、pt和sp中的至少一條控制信息來確定是否進入低功率模式或者確定多種低功率模式中的最優低功率模式。
可以已經根據主機10的性能在產品的開發期間存儲了功率表,從而可以優化存儲裝置20的功耗。例如,功率表可以存儲關于根據多條控制信息op、pt和sp來確定是否將進入低功率模式、最優低功率模式、進入時間、進入速度等的信息。盡管圖1中未示出,但是存儲器控制器200還可以包括直接存儲器存取(dma)控制器。
dma控制器可以將數據從緩沖器管理器260傳輸到存儲器接口270或者向緩沖器管理器260傳輸從存儲器接口270輸出的數據。
存儲器接口270可以在cpu230或dma控制器的控制下,控制對非易失性存儲器400執行寫操作(或編程操作)和讀操作。此外,如下面將參照圖3詳細地描述的,存儲器接口270可以設定用于執行寫操作(或編程操作)和讀操作的信道或路。
在一些實施例中,存儲器接口270可以實現為,但不限于,sata接口、satae接口、sas接口、pcie接口、nvme接口、ahci接口、mmc接口、nand型閃存接口或nor型閃存接口。
緩沖器300可以實現為易失性存儲器或者諸如nand閃存的非易失性存儲器裝置,易失性存儲器是諸如ram、動態ram(dram)、靜態ram(sram)、緩沖器存儲器、高速緩存或緊密耦合存儲器,但本公開的實施例不限于此。
緩沖器300可以包括,但不限于,存儲用于非易失性存儲器400的邏輯地址到物理地址的轉換的映射表的第一存儲區、能夠執行高速緩存功能的第二存儲區以及存儲功率表的第三存儲區。例如,由cpu230執行的閃存轉換層(ftl)可以使用存儲在第一存儲區中的映射表來執行邏輯地址到物理地址的轉換。
在一個實施例中,當存儲器控制器200和緩沖器300是不同的芯片時,存儲器控制器200和緩沖器300可以實現為一個封裝件,例如,層疊封裝件(pop)、多芯片封裝件(mcp)或系統級封裝件(sip),但是本公開的實施例不限于此。例如,包括緩沖器300的第一芯片可以經由堆疊球堆疊在包括存儲器控制器200的第二芯片上面。
非易失性存儲器400可以包括多個集群201。如下面將參照圖3詳細地描述的,數據data可以在存儲器控制器200的控制下存儲在多個集群201中。
圖2是根據本公開的一些實施例的存儲裝置20的透視圖。
參照圖1和圖2,存儲裝置20可以實現為ssd。作為ssd的存儲裝置20可以包括頂蓋21、連接到接口30的接口連接件31、pmic100、存儲器控制器200(例如,ssd控制器)、緩沖器300(例如,dram裝置)、非易失性存儲器400和底蓋22。
元件100、200、300和400可以封裝到半導體封裝件中。非易失性存儲器400可以位于印刷電路板(pcb)23的一個表面或相對的表面上。
圖3是根據本公開的一些實施例的非易失性存儲器400的詳細的框圖。
參照圖1至圖3,非易失性存儲器400可以包括路控制電路410和多個集群201-11至201-nm。這里,n和m均表示大于或等于3的自然數。
存儲器接口270可以經由多條信道ch1至chn與多個集群201-11至201-nm交換數據data。例如,存儲器接口270可以經由第一信道ch1與多個集群201-11至201-nm中的與第一信道ch1對應的集群201-11至201-1m交換數據data。
存儲器接口270可以根據從cpu230接收的存儲器控制信號ctrm僅激活多條信道ch1至chn中的對應的信道。
此外,存儲器接口270可以根據從cpu230接收的存儲器控制信號ctrm將路控制信號wc輸出到路控制電路410。
路控制電路410可以根據從存儲器接口270接收的路控制信號wc僅激活多條路way1至waym中對應的路。
在一些實施例中,與圖3中示出的不同,路控制電路410可以包括在存儲器接口270中或者集群201-11至201-nm中的每個集群中。然而,本公開的實施例不限于此。
多個集群201-11至201-nm中的每個集群可以實現為nand型閃存裝置。多個集群201-11至201-nm中的每個集群可以包括存儲器單元陣列以及控制存儲器單元陣列的操作(例如,寫操作和讀操作)的控制邏輯電路(未示出)。
存儲器單元陣列可以包括二維(2d)存儲器單元陣列或三維(3d)存儲器單元陣列。3d存儲器單元陣列可以包括整體地形成在存儲器單元的陣列的一個或更多個物理層內且與這些存儲器單元的操作有關的電路,其中,存儲器單元具有在硅基底上或上面的陣列區。電路可以形成在硅基底內部、上或上面。
術語“整體的”意指陣列的每個層級的層直接沉積在陣列的每個下面的層級的層上。
3d存儲器單元陣列可以包括垂直地取向使得至少一個存儲器單元位于另一個存儲器單元上方的垂直nand串。所述至少一個存儲器單元可以包括電荷陷阱層。
存儲器單元陣列可以包括多個存儲器單元。多個存儲器單元中的每個存儲器單元可以實現為能夠存儲1比特信息的單層單元(slc)或能夠存儲2比特信息或更多比特信息的多層單元(mlc)。信息可以被理解為邏輯“1”或邏輯“0”。
在本公開中,術語“信道”可以被理解為在存儲器控制器200(具體地,存儲器接口270)和與所述存儲器控制器200對應的一條信道之間的獨立的數據路徑。數據路徑可以包括通過其傳輸數據和/或控制信號的傳輸線。
術語“路”可以被理解為共享一條主信道的一個或更多個集群的組。因此,多條路可以連接到一條主信道。存儲器控制器200可以控制n條信道×m條路。
如上所述,存儲器接口270可以激活多個集群201-11至201-nm中的一些,從而降低功耗。
圖4是根據本公開的一些實施例的主機接口的詳細框圖。為了便于解釋,圖4也示出了低功率模式進入控制器235、pmu240、cmu250、緩沖器管理器260和存儲器接口270。
雖然圖4示出了低功率模式進入控制器235通過獨立于cpu230的硬件來實現,但是根據一些實施例,低功率模式進入控制器235可以通過由cpu230運行或控制的軟件來實現。
低功率模式進入控制器235可以輸出多個控制信號ctr1、ctr2、ctrm和ctrb。
參照圖4,主機接口220可以包括操作檢測器221、模式檢測器222和速度測量塊223。
操作檢測器221可以基于從主機10接收的指令cmd或數據data產生將要由存儲裝置20執行的操作的操作信息op。操作信息op可以表示讀操作或寫操作。操作檢測器221可以向低功率模式進入控制器235傳輸操作信息op。
模式檢測器222可以基于從主機10接收的指令cmd或數據data產生將要由存儲裝置20執行的操作的模式信息pt。模式信息pt可以表示隨機操作或順序操作。模式檢測器222可以向低功率模式進入控制器235傳輸模式信息pt。
速度測量塊223可以基于從主機10接收的數據data測量主機10每單位時間的吞吐量,并且產生表示主機10每單位時間的吞吐量的速度信息sp。詳細地,速度測量塊223可以通過對單位時間內從主機10接收的數據data或者數據data的塊進行計數來測量主機10每單位時間的吞吐量。例如,速度測量塊223可以產生表示以mb/s(每秒兆字節)為單位的速度的速度信息sp。在一些實施例中,例如,速度測量塊223可以產生表示以iops(每秒輸入/輸出操作)為單位的速度的速度信息sp。
速度測量塊223可以向低功率模式進入控制器235傳輸速度信息sp。
在一些實施例中,與圖4中示出的不同,操作檢測器221、模式檢測器222、速度測量塊223可以位于主機接口220的外部,并且均可以通過軟件來實現。然而,本公開的實施例不限于此。
如上所述,cpu230可以控制或操作低功率模式進入控制器235。
低功率模式進入控制器235可以控制進入低功率模式,并產生控制信號ctr1、ctr2、ctrm和ctrb。低功率模式可以被理解為省電模式。低功率模式可以被理解為存儲裝置20和/或存儲器控制器200的低功率模式。詳細地,低功率模式進入控制器235可以基于操作信息op、模式信息pt和速度信息sp中的至少一種信息確定是否將進入低功率模式,并且可以在確定將要進入低功率模式時選擇多種低功率模式中的一種模式。
低功率模式進入控制器235可以包括模式選擇器236和控制信號產生器239。
模式選擇器236可以接收操作信息op、模式信息pt和速度信息sp。模式選擇器236基于操作信息op、模式信息pt和速度信息sp確定是否將要進入低功率模式,并且在確定將要進入低功率模式時選擇多種低功率模式中的一種模式。
詳細地,模式選擇器236可以基于操作信息op、模式信息pt和速度信息sp中的至少一種來確定主機10的操作、模式和傳輸速率。例如,模式選擇器236可以確定主機10的操作是順序的讀操作以及主機10的傳輸速率是90000iops。
模式選擇器236可以基于功率表確定是否將進入低功率模式。當確定將進入低功率模式時,模式選擇器236可以選擇多種低功率模式中的一種模式。
詳細地,模式選擇器236可以通過將操作信息op、模式信息pt和速度信息sp中的至少一種信息插入到存儲在緩沖器300中的功率表中來確定是否將要進入低功率模式。當確定將要進入低功率模式時,模式選擇器236可以選擇多種低功率模式中的對應的低功率模式。
低功率模式可以包括如下模式中的至少一種模式:控制將要供應到包括在存儲裝置20中的元件210、220、230、235、240、250、260和270中的至少一個元件的時鐘信號和操作電壓中的至少一種以便降低存儲裝置20中的功耗,控制非易失性存儲器400的操作,以及控制緩沖器300。
例如,第一低功率模式可以是減小存儲裝置20的操作時鐘頻率的模式,第二低功率模式可以是限制非易失性存儲器400的活動區的模式,第三低功率模式可以是通過合并第一低功率模式和第二低功率模式獲得的新模式。
例如,當主機10的接口性能是sata1并且存儲裝置20的接口性能是sata3時,低功率模式進入控制器235可以控制存儲裝置20的性能與主機10的性能相同,從而防止不必要的功耗。
此外,即使主機10的接口性能是sata3,低功率模式進入控制器235也可以在主機10的操作是順序的讀操作且傳輸速率是4000iops時,控制存儲裝置20的性能與主機10的實際性能相同,從而防止不必要的功耗。
控制信號產生器239可以基于選擇的低功率模式來選擇并產生多個控制信號ctr1、ctr2、ctrb和ctrm中的至少一個控制信號。
例如,當選擇的低功率模式中的功耗的程度與當前的功耗的程度基本相同時,控制信號產生器239可以僅產生多個控制信號ctr1、ctr2、ctrb和ctrm中的第一控制信號ctr1。這種操作被稱為微改變(micro-change)。
當選擇的低功率模式中的功耗的程度與當前的功耗的程度明顯不同時,控制信號產生器239可以產生多個控制信號中的兩個或更多個控制信號(例如,第一控制信號ctr1、第二控制信號ctr2和存儲器控制信號ctrm)。這種操作被稱為大改變(macro-change)。
控制信號產生器239可以控制將要輸出至少一個產生的控制信號的時間點。例如,控制信號產生器239可以連續測量主機10的操作、模式和傳輸速率,并且在連續測量主機10的操作、模式和傳輸速率的結果達到閾值時,將至少一個產生的控制信號輸出到對應的元件。連續測量主機10的操作、模式和傳輸速率的結果可以是通過速度信息sp表示的主機10的數據傳輸速率。閾值可以是預定的值。
另外,當發生預定的事件(例如,當有缺陷的nand塊的數目大于或等于特定數目時)、當經過預定的時間時或當從主機10接收到模式改變指令時,控制信號產生器239可以輸出至少一個產生的控制信號到與所述至少一個產生的控制信號對應的元件240、250、260和270。然而,本公開的實施例不限于此。
控制信號產生器239可以在預定的時間點將多個控制信號ctr1、ctr2、ctrb和ctrm中的至少一個控制信號輸出到與所述至少一個控制信號對應的元件240、250、260和270。
低功率模式進入控制器235可以重復執行上述操作。
為了便于解釋,盡管控制信號產生器239可以直接輸出多個控制信號ctr1、ctr2、ctrb和ctrm,但是下面將描述的是,低功率模式進入控制器235可以輸出這些控制信號。然而,本公開的實施例不限于此。
低功率模式進入控制器235可以向pmu240輸出第一控制信號ctr1。pmu240可以基于第一控制信號ctr1向pmic100輸出第三控制信號ctr3。因此,低功率模式進入控制器235可以控制pmic100來改變將要施加到存儲裝置20的元件210、220、230、235、240、250、260和270中的至少一個元件的操作電壓。
另外,低功率模式進入控制器235可以向cmu250輸出第二控制信號ctr2使得cmu250可以控制將要供應到存儲裝置20的元件210、220、230、240、250、260和270中的至少一個元件的控制信號。詳細地,cmu250可以通過改變時鐘信號的頻率來控制時鐘信號或者根據第二控制信號ctr2執行時鐘傳動。
低功率模式進入控制器235可以向緩沖器管理器260輸出緩沖器控制信號ctrb使得緩沖器管理器260可以控制是否將要使用緩沖器300。
低功率模式進入控制器235可以向存儲器控制器270輸出存儲器控制信號ctrm使得存儲器控制器250可以僅激活非易失性存儲器400的一個區域。
可以單獨地執行上述操作,多個低功率模式中的每個低功率模式可以被設計為對應于上面的操作中的一個操作或上面的操作的組合。然而,本公開的實施例不限于此。
圖5是根據本公開的一些實施例操作存儲裝置的方法的流程圖。
參照圖1和圖5,在操作s110中,存儲裝置20可以接收數據data或指令cmd。
在操作s120中,存儲裝置20可以基于數據data或指令cmd確定是否將進入低功率模式。例如,當主機10的性能低于存儲裝置20的性能時,存儲裝置20可以進入低功率模式以降低功耗。
在操作s130中,當確定將進入低功率模式(在操作s125中“是”)時,存儲裝置20可以選擇多種低功率模式中的一種。例如,存儲裝置20可以基于數據data或指令cmd選擇多種低功率模式中的一種。如果操作s125確定將不進入低功率模式,那么隨后執行回到操作s110。
低功率模式可以包括以下模式中的至少一種:控制將要供應到存儲裝置20中的元件210、220、240、250、260和270中的至少一個元件的時鐘信號和操作電壓中的至少一種以便降低存儲裝置20的功耗,控制非易失性存儲器400的操作,以及控制緩沖器300。
例如,第一低功率模式可以是降低存儲裝置20的操作時鐘頻率的模式,第二低功率模式可以是限制非易失性存儲器400的活動區的模式,第三低功率模式可以是通過合并第一低功率模式和第二低功率模式獲得的新模式。
例如,當主機10的接口性能是sata1并且存儲裝置20的接口性能是sata3時,低功率模式進入控制器235可以控制存儲裝置20的性能與主機10的性能相同,從而防止不必要的功耗。
在操作s140中,存儲裝置20可以基于選擇的低功率模式來選擇并產生多個控制信號ctr1、ctr2、ctrb和ctrm中的至少一個。
例如,當選擇的低功率模式中的功耗的程度與當前的功耗的程度基本相同時,存儲裝置20可以僅產生多個控制信號ctr1、ctr2、ctrb和ctrm中的第一控制信號ctr1。
當選擇的低功率模式中的功耗的程度與當前的功耗的程度明顯不同時,存儲裝置20可以產生多個控制信號ctr1、ctr2、ctrb和ctrm中的兩個或更多個控制信號(例如,第一控制信號ctr1、第二控制信號ctr2和存儲器控制信號ctrm)。
在操作s150中,存儲裝置20可以確定將要輸出多個控制信號ctr1、ctr2、ctrb和ctrm中的至少一個產生的控制信號的時間點。
例如,控制信號產生器239可以連續地測量主機10的操作、模式和傳輸速率,并且在測量主機10的操作、模式和傳輸速率的結果達到閾值時,將至少一個產生的控制信號輸出到與所述至少一個產生的控制信號對應的元件。
此外,當發生預定的事件(例如,當有缺陷的nand塊的數目大于或等于特定數目時)、當經過預定的時間時或當從主機10接收到模式改變指令時,控制信號產生器239可以將至少一個產生的控制信號輸出到與所述至少一個產生的控制信號對應的元件240、250、260和270。然而,本公開的實施例不限于此。
在操作s160中,存儲裝置20可以在確定的時間點通過輸出至少一個產生的控制信號來運行低功率模式。
存儲裝置20可以重復執行上面的操作。
這些控制信號可以包括第一控制信號ctr1、第二控制信號ctr2、第三控制信號ctr3、存儲器控制信號ctrm、緩沖器控制信號ctrb等,但本公開的實施例不限于此。
例如,第一控制信號ctr1和第三控制信號ctr3可以是用于控制將要施加到存儲裝置20的操作電壓的信號,第二控制信號ctr2可以是用于控制將要供應到存儲裝置20的時鐘信號的信號,存儲器控制信號ctrm可以是用于控制非易失性存儲器400的信號,緩沖器控制信號ctrb可以是用于控制緩沖器300的信號。
可以根據存儲器控制信號ctrm改變非易失性存儲器400的活動區。可以根據緩沖器控制信號ctrb確定是否將要操作緩沖器300。
圖6是包括在圖5的方法中的確定是否將要進入低功率模式的步驟的詳細的流程圖。
參照圖1和圖6,在操作s210中,存儲裝置20可以基于從主機10接收的數據data或指令cmd產生針對將由存儲裝置20執行的操作的操作信息op。操作信息op可以表示讀操作或寫操作。
在操作s220中,存儲裝置20可以基于從主機10接收的數據data或指令cmd產生將由存儲裝置20執行的操作的模式信息pt。模式信息pt可以表示隨機操作或順序操作。
在操作s230中,存儲裝置20可以基于從主機10接收的數據data通過測量主機10每單位時間的吞吐量(例如,傳輸速率)來產生速度信息sp。詳細地,速度測量塊223可以通過對單位時間內從主機10接收的數據或數據塊進行計數來測量主機10的傳輸速率。
在一些實施例中,存儲裝置20可以包括操作檢測器221、模式檢測器222和速度測量塊223。
操作檢測器221、模式檢測器222和速度測量塊223可以通過軟件或硬件來實現,但是本公開的實施例不限于此。
在操作s240中,存儲裝置20可以基于操作信息op、模式信息pt和速度信息sp中的至少一種確定是否將進入低功率模式。例如,存儲裝置20可以通過將操作信息op、模式信息pt和速度信息sp中的至少一種插入功率表來確定是否將要進入低功率模式。
功率表可以是在產品開發期間已經存儲的表從而根據主機10的特定性能來優化存儲裝置20的功耗。例如,功率表可以根據操作信息op、模式信息pt和速度信息sp中的至少一種信息,不僅存儲關于是否將進入低功率模式的信息而且存儲關于將要選擇的低功率模式的信息、關于進入時間的信息等。
在一些實施例中,與圖6中示出的不同,存儲裝置20可以同時執行操作s210、s220和s230或者可以執行操作s210、s220和s230中的至少一個操作。然而,本公開的實施例不限于此。
圖7是根據本公開的實施例的數據處理系統700的框圖。參照圖1和圖7,數據處理系統700可以實現為蜂窩式電話、智能電話或平板個人計算機(pc)。
數據處理系統700包括主機10和非易失性存儲器400。非易失性存儲器400可以是圖1中示出的非易失性存儲器400。
根據一些實施例,主機10和非易失性存儲器400可以是層疊封裝件。在這種情況下,封裝件可以安裝在系統板(未示出)上。
主機10包括可控制非易失性存儲器400的測試操作以及非易失性存儲器400的數據處理操作(例如,寫操作或讀操作)的存儲器控制器200。
存儲器控制器200可以被控制數據處理系統700的全部操作的主機10控制。存儲器控制器200可以連接在主機10和非易失性存儲器400之間。
可以根據主機10的控制通過顯示器710來顯示非易失性存儲器400中的數據。
無線電收發器720通過天線ant發送或接收無線電信號。無線電收發器720可以將通過天線ant接收的無線電信號轉換成可由主機10處理的信號。因此,主機10可以處理從無線電收發器720輸出的信號并將處理的信號存儲在非易失性存儲器400中或通過顯示器710顯示處理的信號。
無線電收發器720也可以將從主機10輸出的信號轉換成無線電信號并通過天線ant將無線電信號輸出到外部裝置。
輸入裝置730使用于控制主機10的操作的控制信號或將要由主機10處理的數據能夠輸入到系統700。輸入裝置730可以通過諸如觸摸板或計算機鼠標、小鍵盤或者鍵盤的定點裝置來實現。
主機10可以控制顯示器710的操作以顯示從非易失性存儲器400輸出的數據、從無線電收發器720輸出的數據或者從輸入裝置730輸出的數據。
圖8是根據本公開的一些實施例的數據處理系統800的框圖。參照圖8,包括圖1中示出的存儲器控制器200的數據處理系統800可以實現為個人計算機(pc)、網絡服務器、平板pc、上網本、電子閱讀器、個人數字助理(pda)、便攜式多媒體播放器(pmp)、mp3播放器或mp4播放器。
數據處理系統800包括主機10、非易失性存儲器400、用于控制非易失性存儲器400的數據處理操作的存儲器控制器200、顯示器810和輸入裝置820。
主機10可以根據通過輸入裝置820輸入的數據通過顯示器810來顯示存儲在非易失性存儲器400中的數據。輸入裝置820可以通過諸如觸摸板或計算機鼠標、小鍵盤或者鍵盤的定點裝置來實現。
主機10可以控制非易失性存儲器400的全部操作和存儲器控制器200的操作。根據一些實施例,可控制非易失性存儲器400的操作的存儲器控制器200可以實現為主機10的一部分或實現為單獨的芯片。
圖9是根據本公開的一些實施例的數據處理系統900的框圖。參照圖9,數據處理系統900可以實現為和數字照相機相似的圖像處理裝置、裝備有數字照相機的蜂窩電話或者裝備有數字照相機的智能電話。
數據處理系統900包括主機10、非易失性存儲器400、控制非易失性存儲器400的數據處理操作(諸如寫操作或讀操作)的存儲器控制器200。數據處理系統900還包括圖像傳感器910和顯示器920。
數據處理系統900中包括的圖像傳感器910將光學圖像轉換成數字信號并且將數字信號輸出到主機10或存儲器控制器200。數字信號可以被主機10控制以通過顯示器920顯示或通過存儲器控制器200存儲在非易失性存儲器400中。
可以根據主機10或存儲器控制器200的控制通過顯示器920來顯示存儲在非易失性存儲器400中的數據。可控制非易失性存儲器400的操作的存儲器控制器200可以實現為主機10的一部分或實現為單獨的芯片。
圖10是根據本公開的一些實施例的數據處理系統1000的框圖。數據處理系統1000包括非易失性存儲器400以及控制非易失性存儲器400的操作的主機10。非易失性存儲器400可以通過諸如閃存的非易失性存儲器來實現。
數據處理系統1000也包括存儲器裝置1020、存儲器接口1030、糾錯碼(ecc)塊1040和主機接口1050。
與數據處理系統1000連接的主機10可以通過存儲器接口1030和主機接口1050與存儲器裝置1020執行數據通信。
ecc塊1040被主機10控制以通過存儲器接口1030檢測包括在從存儲器裝置1020輸出的數據中的錯誤位、糾正錯誤位并且通過主機接口1050將糾錯后的數據傳輸到主機10。主機10可以通過總線570控制存儲器接口1030、ecc塊1040、主機接口1050和非易失性存儲器400之間的數據通信。數據處理系統1000可以實現為閃存驅動器、usb存儲器驅動器、ic-usb存儲器驅動器或記憶棒。
根據本公開的實施例的存儲器控制器以及包括存儲器控制器的存儲裝置能夠分析從主機接收的數據或指令并且基于分析數據或指令的結果來消耗將針對實際數據傳輸性能來優化的功率,從而提高功率的效率。
如在本領域中慣例的,可以按照執行一種描述的功能或多種功能的塊來描述并示出實施例。可在此被稱為單元或模塊等的這些塊通過模擬電路和/或數字電路(諸如邏輯門、集成電路、微處理器、微控制器、存儲器電路、無源電子組件、有源電子組件、光學組件、硬連線電路等)來物理地實現,并且可以通過固件和/或軟件來選擇性地驅動。電路可以,例如,實現在一個或更多個半導體芯片中,或者實現在諸如印刷電路板等的基底支撐件上。構成塊的電路可以通過專用硬件來實現,或者通過處理器(例如,一個或更多個編程的微處理器和相關的電路)來實現,或者通過將執行塊的一些功能的專用硬件以及執行塊的其它功能的處理器組合來實現。在不脫離本公開的范圍的情況下,實施例的每個塊可以物理地分離成兩個或多個交互且分散的塊。同樣地,在不脫離本公開的范圍的情況下,實施例的塊可以物理地組成更多個復雜的塊。
盡管已經參照附圖中示出的示例實施例具體地示出并描述了本公開,但是這些實施例僅僅是示例。對于本領域的普通技術人員來講將明顯的是,這些實施例將覆蓋落入本公開的范圍內的所有的修改、等同物和替代物。因此,應該基于所附權利要求書的技術構思來限定本公開的技術范圍。