專利名稱:用于限制電流尖峰的控制和交錯(cuò)操作的制作方法
技術(shù)領(lǐng)域:
本發(fā)明可以涉及管理諸如NAND閃存系統(tǒng)之類的系統(tǒng)的峰值功耗。
背景技術(shù):
電子系統(tǒng)變得越來越復(fù)雜并且結(jié)合了越來越多的組件。因此,這些系統(tǒng)的峰值功率問題仍然受人關(guān)注。具體地說,因?yàn)橄到y(tǒng)中的很多組件可以同時(shí)操作,因此該系統(tǒng)可能遭受功率或電流尖峰。這種影響在系統(tǒng)組件各自都正在執(zhí)行高功率操作的時(shí)候會特別顯著。通常在消費(fèi)類電子產(chǎn)品中用于大容量存儲的閃存系統(tǒng)是其中峰值功率問題受人關(guān)注的當(dāng)前系統(tǒng)的一個(gè)示例。
發(fā)明內(nèi)容
公開了用于管理諸如閃存系統(tǒng)(例如,NAND閃存系統(tǒng))之類的系統(tǒng)的峰值功耗的系統(tǒng)和方法。可以提供一種包括多個(gè)子系統(tǒng)和用于控制這些子系統(tǒng)的控制器的系統(tǒng)。這些子系統(tǒng)中的每一個(gè)可以具有基本上相同的特征和功能并且可能具有尖峰的電流分布。具體地說,每一個(gè)子系統(tǒng)可以執(zhí)行功耗改變的操作,因此,隨著時(shí)間的推移,在與更高功率的操作對應(yīng)的子系統(tǒng)的電流分布中可能存在電流峰值。在一些實(shí)施例中,該系統(tǒng)可以是或者可以包括存儲器系統(tǒng)??梢跃哂刑貏e尖峰的電流分布的存儲器系統(tǒng)的示例是閃存系統(tǒng)(例如,NAND閃存系統(tǒng))。在這些閃存系統(tǒng)中,子系統(tǒng)可以包括不同的閃存芯片,所述閃存芯片可以執(zhí)行在閃存芯片的電流消耗分布中引起尖峰的能源密集型操作??刂崎W存芯片的控制器可以包括(例如,原始或受管理的NAND系統(tǒng)中的)主機(jī)處理器和/或包括(例如,受管理的NAND系統(tǒng)中的)閃存控制器。在其它實(shí)施例中,替代閃存系統(tǒng),該系統(tǒng)可以包括諸如硬盤驅(qū)動系統(tǒng)的任何其它適當(dāng)?shù)姆且资源鎯ζ飨到y(tǒng)或者任何適當(dāng)?shù)牟⑿杏?jì)算系統(tǒng)??刂破?例如,主機(jī)處理器和/或閃存控制器)可以被配置為管理系統(tǒng)的峰值功耗。例如,控制器可以限制可以同時(shí)執(zhí)行能源密集型操作的子系統(tǒng)的數(shù)量或者輔助子系統(tǒng)確定該子系統(tǒng)在任何給定的時(shí)間可以消耗的峰值功率。這樣,系統(tǒng)的總功率可以維持在適合于主機(jī)系統(tǒng)的操作的閾值水平內(nèi)。在一些實(shí)施例中,可以使用時(shí)分復(fù)用方案,在該方案中,控制器向每一個(gè)子系統(tǒng)分配用于執(zhí)行能源密集型操作的時(shí)隙。在其它實(shí)施例中,控制器可以被配置為在任何給定的時(shí)間向最多預(yù)定數(shù)量的子系統(tǒng)給予執(zhí)行能源密集型操作的準(zhǔn)許?;蛘?,控制器可以跟蹤那些執(zhí)行實(shí)質(zhì)操作的子系統(tǒng)的預(yù)期電流使用的總和,并且可以基于該總和來向另外的子系統(tǒng)給予準(zhǔn)許。在另一些實(shí)施例中,控制器可以向特定的子系統(tǒng)提供與該系統(tǒng)有關(guān)的功率狀態(tài)信息(例如,執(zhí)行能源密集型操作的子系統(tǒng)的總數(shù)量)以向該特定的子系統(tǒng)指示哪些類型的操作可能適合于執(zhí)行。
在結(jié)合附圖考慮下面的詳細(xì)描述以后,本發(fā)明的上述以及其它方面和優(yōu)點(diǎn)將變得更加顯而易見,在附圖中,相同的附圖標(biāo)記貫穿全文指示相同的部分,并且其中圖I是根據(jù)本發(fā)明的各個(gè)實(shí)施例配置的包括控制器和多個(gè)子系統(tǒng)的示例性系統(tǒng)的不意圖;圖2A是根據(jù)本發(fā)明的各個(gè)實(shí)施例配置的包括主機(jī)處理器和受管理的非易失性存儲器封裝的示例性非易失性存儲器系統(tǒng)的示意圖;圖2B是根據(jù)本發(fā)明的各個(gè)實(shí)施例配置的包括主機(jī)處理器和原始的非易失性存儲器封裝的示例性非易失性存儲器系統(tǒng)的示意圖;圖2C是根據(jù)本發(fā)明的各個(gè)實(shí)施例的存儲器子系統(tǒng)的尖峰電流消耗分布的圖形; 圖3是根據(jù)本發(fā)明的各個(gè)實(shí)施例的用于使用時(shí)分復(fù)用方案對不同子系統(tǒng)的能源密集型操作進(jìn)行交錯(cuò)的示例性過程的流程圖;圖4是根據(jù)本發(fā)明的各個(gè)實(shí)施例的用于使用子系統(tǒng)的請求對不同的子系統(tǒng)的能源密集型操作進(jìn)行受管理的示例性過程的流程圖;以及圖5是根據(jù)本發(fā)明的各個(gè)實(shí)施例的用于通過向子系統(tǒng)提供系統(tǒng)的功率狀態(tài)信息來對不同的子系統(tǒng)的能源密集型操作進(jìn)行受管理的示例性過程的流程圖。
具體實(shí)施例圖I是可能遭受峰值功率問題的示例性系統(tǒng)100的示意圖。具體地說,系統(tǒng)100可以包括控制器110和多個(gè)子系統(tǒng)120,其中,在沒有被控制器110適當(dāng)?shù)毓芾淼臅r(shí)候,子系統(tǒng)120的組合功耗可能是不期望地尖峰的。在一些實(shí)施例中,子系統(tǒng)120中的每一個(gè)可以具有基本上相同的特征和功能。例如,子系統(tǒng)120可以是使用基本上相同的制造工藝來制造的,或者可以(例如,在所使用的材料方面等)具有基本上相同的規(guī)格。子系統(tǒng)120中的每一個(gè)可以具有尖峰的電流或功率分布。具體地說,在操作期間,子系統(tǒng)120中的每一個(gè)可以執(zhí)行一些功率更高的操作以及一些功率更低的操作。因此,隨著時(shí)間的推移,子系統(tǒng)120中的每一個(gè)的電流或功率分布可能上升和下降,其中,最高峰值在子系統(tǒng)正在執(zhí)行其最高功率的操作時(shí)出現(xiàn)。如果多個(gè)子系統(tǒng)同時(shí)執(zhí)行高功率的操作,那么系統(tǒng)100的總的功率或電流分布可能達(dá)到高于系統(tǒng)100的功率閾值或規(guī)格的峰值功率水平。如本文所使用的,“能源密集型操作”可以是在系統(tǒng)的總功率水平上具有實(shí)質(zhì)性影響的子系統(tǒng)操作。例如,“能源密集型操作”可以是指需要或者預(yù)期至少消耗預(yù)定量的電流的操作??刂破?10可以被配置為控制、管理和/或同步由子系統(tǒng)120執(zhí)行的操作使得這樣的總的系統(tǒng)峰值不會(或者較不可能)出現(xiàn)。具體地說,如下面更詳細(xì)描述的,控制器110可以以使得最多預(yù)定數(shù)量的子系統(tǒng)120正在同時(shí)執(zhí)行能源密集型操作的方式,或者通過輔助子系統(tǒng)確定子系統(tǒng)在任何給定的時(shí)間可以使用的峰值功率,來控制子系統(tǒng)120。控制器110可以包括用于管理子系統(tǒng)120的基于硬件的組件(例如,專用集成電路、現(xiàn)場可編程陣列等)以及基于軟件的組件(例如,處理器、微處理器等)的任何適當(dāng)?shù)慕M合。系統(tǒng)100被示出為具有三個(gè)子系統(tǒng),但是應(yīng)當(dāng)理解的是,系統(tǒng)100可以包括任何適當(dāng)數(shù)量的子系統(tǒng)(例如,兩個(gè)、四個(gè)、五個(gè)或者更多個(gè)子系統(tǒng))。
系統(tǒng)100可以是可能遭受峰值功率問題的任何適當(dāng)類型的電子系統(tǒng)。例如,系統(tǒng)100可以是或者可以包括并行計(jì)算系統(tǒng)或存儲器系統(tǒng)(例如,硬件驅(qū)動系統(tǒng)或者諸如NAND閃存系統(tǒng)之類的閃存系統(tǒng)等)。圖2A和圖2B是作為圖I的系統(tǒng)100的各個(gè)實(shí)施例的示例的存儲器系統(tǒng)的示意圖。首先參照圖2A,存儲器系統(tǒng)200可以包括主機(jī)處理器210和至少一個(gè)非易失性存儲器(“NVM”)封裝220。主機(jī)處理器210以及可選擇地NVM封裝220可以實(shí)現(xiàn)在任意適當(dāng)?shù)闹鳈C(jī)設(shè)備或系統(tǒng)中,所述主機(jī)設(shè)備或系統(tǒng)例如是便攜式媒體播放器(例如,加州的庫比蒂諾的蘋果公司提供的iPodTM)、蜂窩電話(蘋果公司提供的iPhoneTM)、袖珍個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理(“PDA”)、臺式計(jì)算機(jī)或膝上型計(jì)算機(jī)。主機(jī)處理器210可以包括當(dāng)前可用的或者將來開發(fā)的一個(gè)或多個(gè)處理器或微處理器??商鎿Q地或另外地,主機(jī)處理器210可以包括能夠控制存儲器系統(tǒng)200 (例如,專用集成電路(“ASIC”))的各種操作的任何其它組件或電路,或者可以與之結(jié)合操作。在基于處理器的實(shí)現(xiàn)中,主機(jī)處理器210可以執(zhí)行裝載到主機(jī)上實(shí)現(xiàn)的存儲器(未示出)中的固件和軟件程序。該存儲器可以包括任何適當(dāng)類型的易失性存儲器(例如,例如,高速緩存或隨 機(jī)存取存儲器(“RAM”),諸如雙倍數(shù)據(jù)速率(“DDR”)RAM或靜態(tài)RAM (“SRAM”))。主機(jī)處理器210可以執(zhí)行NVM驅(qū)動器212,該NVM驅(qū)動器212可以提供使主機(jī)處理器210能夠執(zhí)行針對非易失性存儲器封裝220的各種存儲器管理和訪問功能的特定于供應(yīng)商和/或特定于技術(shù)的指令。NVM封裝220可以是球柵陣列(“BGA”)封裝或其它適當(dāng)類型的集成電路(“ 1C”)封裝。NVM封裝220可以是受管理的NVM封裝。具體地說,NVM封裝220可以包括耦合到任何適當(dāng)數(shù)量的NVM芯片224的NVM控制器222。NVM控制器222可以包括處理器、微處理器或基于硬件的組件(例如,ASIC)的任何適當(dāng)?shù)慕M合,并且可以包括與主機(jī)處理器210相同的組件或者不同的組件。NVM控制器222可以與NVM驅(qū)動器212分擔(dān)管理和/或訪問NVM芯片224的物理存儲位置的責(zé)任。可替代地,NVM控制器222可以執(zhí)行針對NVM芯片224的基本上所有的管理和和訪問功能。因此,“受管理的NVM”可以是指一種存儲器設(shè)備或封裝,該存儲器設(shè)備或封裝包括被配置為執(zhí)行針對非易失性存儲器(例如,NVM芯片224)的至少一個(gè)存儲器管理功能的控制器(例如,NVM控制器222)。NVM控制器222可以執(zhí)行的管理功能之一可以是控制存儲器系統(tǒng)200的峰值功耗。這樣,NVM控制器222可以在不影響主機(jī)處理器210的動作或性能的情況下管理NVM封裝210 (具體地說,和NVM芯片224)的功耗??梢杂蒒VM控制器222和/或主機(jī)處理器210針對NVM芯片224執(zhí)行的其它存儲器管理和訪問功能可以包括發(fā)出讀取、寫入或擦除指令以及執(zhí)行損耗均衡、壞塊管理、無用單元收集、邏輯到物理地址的映射、SLC或MLC編程決定、應(yīng)用糾錯(cuò)或檢錯(cuò)以及數(shù)據(jù)排隊(duì)以建立程序操作。NVM芯片224可以用于存儲當(dāng)存儲器系統(tǒng)200被斷電時(shí)需要保留的信息。如本文所使用的并且根據(jù)上下文,“非易失性存儲器”可以是指在其中可以存儲數(shù)據(jù)的NVM芯片,或者可以是指包括NVM芯片的NVM封裝。NVM芯片224可以包括基于浮動?xùn)呕螂姾刹蹲郊夹g(shù)的NVND閃存、NOR閃存、可擦除可編程的只讀存儲器(“EPR0M”)、電可擦除可編程只讀存儲器(“EEPR0M”)、鐵電RAM (“FRAM”)、磁阻RAM (“MRAM”)、相變存儲器(“PCM”)、任何其它已知類型或?qū)眍愋偷姆且资源鎯ζ骷夹g(shù)或者其任意組合。
現(xiàn)在參照圖2B,示出了可以是圖I的系統(tǒng)100的另一個(gè)實(shí)施例的示例的存儲器系統(tǒng)250的示意圖。存儲器系統(tǒng)250可以具有上面結(jié)合圖2A的存儲器系統(tǒng)200所描述的特征和功能中的任意特征和功能。具體地說,圖2B中描繪的組件中的任意組件可以具有圖2A中名字相同的組件的特征和功能中的任意特征和功能,反之亦然。存儲器系統(tǒng)250可以包括主機(jī)處理器260和非易失性存儲器封裝270。與圖2A的存儲器系統(tǒng)200不同,NVM封裝270不包括嵌入式NVM控制器,并且因此,NVM芯片274可以完全由主機(jī)處理器260 (例如,經(jīng)由NVM驅(qū)動器262)來管理。因此,非易失性存儲器封裝270可以稱作“原始NVM”?!霸糔VM”可以是指可以完全由在NVM封裝外部實(shí)現(xiàn)的主機(jī)控制器或處理器(例如,主機(jī)處理器260)受管理的存儲器設(shè)備或封裝。主機(jī)處理器260在此類原始NVM實(shí)現(xiàn)中執(zhí)行的管理功能之一可以是控制存儲器系統(tǒng)250的峰值功耗。主機(jī)處理器260也可以執(zhí)行上面結(jié)合圖2A的主機(jī)處理器210和NVM控制器222所討論的其它存儲器管理和訪問功能中的任意功能。 繼續(xù)參照圖2A和圖2B兩者,NVM控制器222 (圖2A)和主機(jī)處理器270 (例如,經(jīng)由NVM驅(qū)動器262)(圖2B)各自都可以體現(xiàn)上面結(jié)合圖I所討論的控制器110的特征和功能,并且NVM芯片224和274可以體現(xiàn)上面結(jié)合圖I所討論的子系統(tǒng)120的特征和功能。具體地說,NVM芯片224和274中的每一個(gè)可以具有尖峰的電流分布,其中,最高的峰值在芯片正在執(zhí)行其能源最密集的操作時(shí)出現(xiàn)。在閃存實(shí)施例中,此類能源密集型操作的示例是可以在讀取存儲器單元中存儲的數(shù)據(jù)時(shí)使用的感測操作(例如,電流感測操作)。例如,在驗(yàn)證數(shù)據(jù)在編程之后被正確地存儲時(shí),可以響應(yīng)于來自主機(jī)處理器和/或NVM控制器的讀取請求來執(zhí)行此類感測操作。圖2C示出了示例性的電流消耗分布290。電流消耗分布290給出了在驗(yàn)證型感測操作期間NVM芯片(例如,NVM芯片224或274中的一個(gè))的電流消耗的示例。利用包括峰值292和294的幾個(gè)峰值,電流消耗分布290示出了驗(yàn)證型感測操作可以達(dá)到的尖峰程度。這些驗(yàn)證型感測操作可以是特別需要考慮的問題,這是因?yàn)檫@些操作很可能同時(shí)在多個(gè)NVM芯片上出現(xiàn)(S卩,由于在多個(gè)芯片上采用并行寫入)。因此,如果不同NVM芯片的峰值未被NVM控制器222 (圖2A)或者主機(jī)處理器260管理,則這些峰值可能重疊并且電流總和可能高得無法接受。這種情形可能伴隨諸如擦除和編程操作的其它類型的能源密集操作一起發(fā)生。因此,如上文所討論的,NVM控制器222 (圖2A)或主機(jī)處理器260 (圖2B)執(zhí)行的存儲器管理和訪問功能還可以包括通過例如限制可以同時(shí)執(zhí)行能源密集型操作(例如,交錯(cuò)能源密集型操作,使得電流峰值不太可能同時(shí)出現(xiàn))的NVM芯片224或274的數(shù)量或者通過輔助NVM芯片確定其在任何給定的時(shí)間可以消耗的峰值功率,來管理其各自的系統(tǒng)的總峰值功率。這樣,NVM控制器222 (圖2A)或主機(jī)處理器260 (圖2B)可以防止其各自的存儲器系統(tǒng)的總峰值功耗變得太高。返回圖I但是繼續(xù)參照圖2A和圖2B,控制器110 (例如,NVM控制器222 (圖2A)或主機(jī)處理器260 (圖2B))可以使用任何適當(dāng)?shù)姆椒▉砉芾硐到y(tǒng)100的總峰值功耗。在一些實(shí)施例中,可以使用時(shí)分復(fù)用方案,其中,控制器110向每一個(gè)子系統(tǒng)分配時(shí)隙以執(zhí)行能源密集型操作。這可以使子系統(tǒng)120能夠交錯(cuò)其能源密集型操作。下面將結(jié)合圖3來描述這種方法的一個(gè)實(shí)施例。
在其它實(shí)施例中,控制器110可以被配置為在任何給定的時(shí)間向最多預(yù)定數(shù)量的子系統(tǒng)給予執(zhí)行能源密集型操作的準(zhǔn)許。例如,子系統(tǒng)120中的每一個(gè)可以在執(zhí)行能源密集型操作之前向控制器請求準(zhǔn)許,并且控制器110可以管理向其給予準(zhǔn)許的子系統(tǒng)120的數(shù)量??刂破?10是否向子系統(tǒng)給予準(zhǔn)許可以取決于例如已經(jīng)被給予準(zhǔn)許的子系統(tǒng)的預(yù)期的總電流消耗。下面將結(jié)合圖4來描述這種方法的一個(gè)實(shí)施例。在其它實(shí)施例中,控制器110可以向特定的子系統(tǒng)提供與系統(tǒng)有關(guān)的功率狀態(tài)信息,以向該特定的子系統(tǒng)指示哪些類型的操作適合于執(zhí)行。例如,功率狀態(tài)信息可以指示當(dāng)前執(zhí)行能源密集型操作的子系統(tǒng)110的總數(shù)量,或者功率狀態(tài)信息可以指示執(zhí)行能源敏感的操作的那些子系統(tǒng)所使用的預(yù)期的電流總和。下面將結(jié)合圖5來描述這種方法的示例。應(yīng)當(dāng)理解的是,這三種方法僅僅是示例性的并且其它方法可以由控制器110來替代執(zhí)行。圖3至圖5是可以由根據(jù)本發(fā)明的各個(gè)實(shí)施例配置的系統(tǒng)執(zhí)行的示例性過程的流程圖。例如,上面結(jié)合圖I、圖2A和圖2B所討論的系統(tǒng)中的任意一個(gè)(例如,閃存系統(tǒng)、并行計(jì)算系統(tǒng)等)都可以被配置為執(zhí)行這些過程中的一個(gè)或多個(gè)的步驟。 首先轉(zhuǎn)向圖3,示出了用于使用時(shí)分復(fù)用方案在子系統(tǒng)間對能源密集型操作進(jìn)行定時(shí)的示例性過程300的示意圖。過程300可以在步驟302處開始。然后,在步驟304,可以對每一個(gè)子系統(tǒng)的時(shí)鐘進(jìn)行同步??梢允褂萌魏芜m當(dāng)?shù)姆椒▉韺r(shí)鐘進(jìn)行同步,例如,向子系統(tǒng)中的每一個(gè)饋送相同的時(shí)鐘(即,從相同的源時(shí)鐘得到的時(shí)鐘信號)或者使用控制器對每一個(gè)子系統(tǒng)的內(nèi)部時(shí)鐘進(jìn)行同步。然后,在步驟306,可以將時(shí)間劃分為多個(gè)時(shí)隙。時(shí)隙的數(shù)量可以基于子系統(tǒng)的數(shù)量,例如,針對每一個(gè)子系統(tǒng)提供一個(gè)時(shí)隙、針對每兩個(gè)子系統(tǒng)提供一個(gè)時(shí)隙等。時(shí)隙可以具有任何適當(dāng)?shù)拈L度,例如,長度為N個(gè)時(shí)鐘周期,其中,N可以是任何適當(dāng)?shù)恼麛?shù)。例如,如果存在四個(gè)子系統(tǒng),那么步驟306可以涉及創(chuàng)建4個(gè)時(shí)隙并且在四個(gè)時(shí)隙之間旋轉(zhuǎn),其中,每一個(gè)時(shí)隙具有N個(gè)時(shí)鐘周期。繼續(xù)步驟308,每一個(gè)子系統(tǒng)可以被分配給這些時(shí)隙之一。在分配給特定的子系統(tǒng)的時(shí)隙期間,該子系統(tǒng)可以執(zhí)行諸如閃存系統(tǒng)中的編程操作之類的任何能源密集型操作。在未分配給特定的子系統(tǒng)的時(shí)隙期間,該子系統(tǒng)可以推遲執(zhí)行能源密集型操作,并且替代地可以停轉(zhuǎn)直到其分配的時(shí)隙開始和/或同時(shí)執(zhí)行非能源密集型操作為止。在一些實(shí)施例中,每一個(gè)子系統(tǒng)可以被分配到時(shí)隙中的不同時(shí)隙,使得在任何給定的時(shí)間只有一個(gè)子系統(tǒng)可以執(zhí)行能源密集型操作。在其它實(shí)施例中,一個(gè)以上(但少于全部)的子系統(tǒng)可以被分配給相同的時(shí)隙。通過使用該時(shí)分復(fù)用方案,可以限制峰值功率,這是因?yàn)樵摲桨缚梢源_保對能源密集型操作進(jìn)行交錯(cuò)。過程300可以繼續(xù)步驟310并且結(jié)束。在其它實(shí)施例中,在子系統(tǒng)的時(shí)鐘可能需要被定期地調(diào)節(jié)以保持同步的實(shí)施例中,過程300可以在適當(dāng)量的時(shí)間以后返回步驟302?,F(xiàn)在轉(zhuǎn)向圖4,示出了用于使用到控制器的請求來在多個(gè)子系統(tǒng)之間對能源密集型操作進(jìn)行同步的示例性過程的流程圖。過程400可以在步驟402開始。然后,在步驟404,該系統(tǒng)中的子系統(tǒng)之一(在圖4中稱作第一子系統(tǒng))可以決定發(fā)起能源密集型操作。例如,在閃存系統(tǒng)中,針對閃存芯片中的一個(gè)的下一個(gè)排隊(duì)的操作可以是能源密集型操作,例如,(例如,在讀取-驗(yàn)證操作內(nèi))讀取數(shù)據(jù)的感測操作。在步驟406,該子系統(tǒng)可以向系統(tǒng)的控制器(例如,非易失性存儲器系統(tǒng)的NVM驅(qū)動器或控制器)提供發(fā)起能源密集型操作的請求。例如,該子系統(tǒng)可以通過經(jīng)由適當(dāng)?shù)耐ㄐ艆f(xié)議或接口發(fā)出適當(dāng)?shù)拿罨蛘呤褂萌魏纹渌m當(dāng)?shù)姆椒ń?jīng)由專用于該目的的物理通信鏈路來向控制器請求執(zhí)行能源密集型操作的準(zhǔn)許。然后,在步驟408,控制器可以確定一個(gè)或多個(gè)其它子系統(tǒng)是否正在執(zhí)行能源密集型操作。在一些實(shí)施例中,控制器可以通過驗(yàn)證該控制器是否已經(jīng)向預(yù)定數(shù)量(例如,一個(gè)、兩個(gè)等)以上的其它子系統(tǒng)給予執(zhí)行能源密集型操作的準(zhǔn)許以及這些操作是否還未完成來做出該決定。在步驟410,控制器可以決定是否允許該子系統(tǒng)執(zhí)行能源密集型操作。在一些實(shí)施例中,如果預(yù)定數(shù)量的其它系統(tǒng)當(dāng)前正在執(zhí)行能源密集型操作,那么控制器可以不允許該操作,否則,控制器可以允許該操作。在一些實(shí)施例中,步驟480處的決定還可以包括確定執(zhí)行能源密集型操作的一個(gè)或多個(gè)其它子系統(tǒng)的預(yù)期的組合峰值電流。這樣,在步驟410,控制器可以基于預(yù)期的電流使用來做出該決定,而不是基于執(zhí)行能源密集型操作的其它子系統(tǒng)的所述數(shù)量來允許(或者不允許)操作繼續(xù)進(jìn)行。例如,如果存在執(zhí)行較少功耗的能源密集型操作的若干子系統(tǒng),則控制器可以決定允許操作,但是如果存在執(zhí)行較高功耗的能源密集型操作的較少的子系 統(tǒng)(例如,其它子系統(tǒng)),則控制器可以決定不允許操作。如果在步驟410,控制器確定不應(yīng)當(dāng)允許該操作,則過程400可以前進(jìn)至步驟412,并且可以從控制器向子系統(tǒng)提供信號,以等待執(zhí)行能源密集型操作??梢允褂眠m當(dāng)?shù)膮f(xié)議或接口等以任何適當(dāng)?shù)男问?例如,專用物理線上的信號)給出該信號作為適當(dāng)?shù)拿?。這樣,可以指示子系統(tǒng)來推遲執(zhí)行操作,并且可以替代地停止進(jìn)一步的操作或者同時(shí)執(zhí)行其它非能源密集型操作。這可以確保沒有太多的子系統(tǒng)正在同時(shí)執(zhí)行能源密集型操作,或者整個(gè)系統(tǒng)的峰值電流沒有增大超過某一點(diǎn)。然后,過程400可以返回到步驟410以再次確定控制器是否可以允許能源密集型操作(例如,一個(gè)或多個(gè)子系統(tǒng)是否已經(jīng)完成執(zhí)行能源密集型操作)。如果在步驟410,控制器確定應(yīng)當(dāng)允許能源密集型操作,那么過程400可以前進(jìn)至步驟414。在步驟414,可以從控制器向子系統(tǒng)提供繼續(xù)進(jìn)行能源密集型操作的準(zhǔn)許??梢允褂眠m當(dāng)?shù)膮f(xié)議或接口或者使用任何其它適當(dāng)?shù)姆椒▽⒃摐?zhǔn)許例如作為專用物理線上的信號來提供作為適當(dāng)?shù)拿睢H缓?,在步驟416,能源密集型操作可以由子系統(tǒng)來執(zhí)行。當(dāng)該子系統(tǒng)完成執(zhí)行能源密集型操作時(shí),在步驟418,該子系統(tǒng)可以向控制器指示該能源密集型操作完成。該指示可以是到控制器的明確的指示,或者控制器可以在子系統(tǒng)提供操作的結(jié)果(例如,對于閃存系統(tǒng)而言,來自讀取操作的任何由此產(chǎn)生的數(shù)據(jù))時(shí)推斷該能源密集型操作完成。這樣,控制器能夠向另一個(gè)子系統(tǒng)給予執(zhí)行能源密集型操作的準(zhǔn)許。然后,過程400可以在步驟420結(jié)束?,F(xiàn)在轉(zhuǎn)向圖5,示出了用于通過向子系統(tǒng)提供該系統(tǒng)的功率狀態(tài)信息來在多個(gè)子系統(tǒng)(例如,閃存芯片)之間管理能源密集型操作的示例性過程500的流程圖。過程500可以在步驟502開始。在步驟504,執(zhí)行能源密集型操作的子系統(tǒng)的數(shù)量可以由例如可以控制子系統(tǒng)的控制器來決定。例如,通過使用上文所討論的技術(shù)中的任意一種,這些子系統(tǒng)中的每一個(gè)可以被配置為以信號形式向控制器告知該子系統(tǒng)何時(shí)開始或結(jié)束能源密集型操作。這樣,控制器可以跟蹤在任何給定的時(shí)間執(zhí)行能源密集型操作的子系統(tǒng)的數(shù)量。然后,在步驟506,可以從控制器向子系統(tǒng)中的一個(gè)或多個(gè)提供關(guān)于執(zhí)行能源密集型操作的子系統(tǒng)的數(shù)量的指示??梢韵蛟撓到y(tǒng)中的所有子系統(tǒng)或者所有執(zhí)行能源密集型操作的子系統(tǒng)提供該指示??梢栽谌魏芜m當(dāng)?shù)臅r(shí)間或者響應(yīng)于任何適當(dāng)?shù)拇碳ぃ?,響?yīng)于從子系統(tǒng)接收到該子系統(tǒng)將開始執(zhí)行能源密集型操作的指示,來提供該指示。這樣,當(dāng)子系統(tǒng)建立能源密集型操作時(shí),可以向該子系統(tǒng)告知有多少其它子系統(tǒng)也正在執(zhí)行能源密集型操作。然后,過程500可以繼續(xù)到步驟506。在步驟506,可以在子系統(tǒng)處基于執(zhí)行能源密集型操作的子系統(tǒng)的數(shù)量來執(zhí)行操作。通常,當(dāng)執(zhí)行操作時(shí),子系統(tǒng)可以權(quán)衡速度和功率(即,子系統(tǒng)可以以增加功耗為代價(jià)以較高的速度執(zhí)行該操作,或者該子系統(tǒng)可以以花更長的時(shí)間完成操作為代價(jià)以較低的功率執(zhí)行該操作)。例如,子系統(tǒng)可以通過對計(jì)算進(jìn)行并行化而不是對計(jì)算進(jìn)行串行化或者通過以較高的速率對充電泵進(jìn)行充電,以功率為代價(jià)來增加速度。因此,如果在步驟506,子系統(tǒng)接收到關(guān)于其是執(zhí)行能源密集型操作的唯一子系統(tǒng)的指示,那么該子系統(tǒng)可以使用更高/最高速度、更高/最高功率的方案。執(zhí)行能源密集型操作的子系統(tǒng)的數(shù)量越大,特定的子系統(tǒng)可以決定使用的功率越小。即使子系統(tǒng)決定使用更慢、更低功率的方案,也可以提高該系統(tǒng)的總體速度,這是因?yàn)榕c每一個(gè)子系統(tǒng)以更高功率的模式操作時(shí)可能的情況相比,更多的子系統(tǒng)能夠同時(shí)操作。 然后,過程500可以在步驟510結(jié)束。應(yīng)當(dāng)理解的是,圖3至圖5的過程300、400和500僅僅是示例性的??梢栽诓黄x本發(fā)明的范圍的情況下,對這些步驟中的任意一個(gè)進(jìn)行移除、修改或組合,并且可以添加任何額外的步驟。為了說明而非限制的目的,提供了所描述的本發(fā)明的實(shí)施例。
權(quán)利要求
1.ー種閃存系統(tǒng),包括 多個(gè)閃存芯片;以及 控制器,其用于控制所述多個(gè)閃存芯片,其中,所述控制器被配置為允許最多預(yù)定數(shù)量的所述閃存芯片基本上同時(shí)執(zhí)行能源密集型操作。
2.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其中,所述能源密集型操作包括感測操作。
3.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其中,所述閃存系統(tǒng)包括受管理的非易失性存儲器封裝,其中,所述受管理的非易失性存儲器封裝包括所述多個(gè)閃存芯片和所述控制器。
4.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其中,所述閃存系統(tǒng)包括原始非易失性存儲器系統(tǒng),并且其中,所述控制器包括主機(jī)處理器。
5.ー種管理非易失性存儲器系統(tǒng)中的峰值功耗的方法,所述非易失性存儲器系統(tǒng)包括多個(gè)存儲器子系統(tǒng),所述方法包括 將所述存儲器子系統(tǒng)中的每ー個(gè)的時(shí)鐘進(jìn)行同步; 將時(shí)間劃分為多個(gè)時(shí)隙;以及 向所述存儲器子系統(tǒng)中的每ー個(gè)分配時(shí)隙以用于執(zhí)行能源密集型操作。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述同步包括向所述存儲器系統(tǒng)中的每ー個(gè)饋送從相同的時(shí)鐘源得到的時(shí)鐘信號。
7.根據(jù)權(quán)利要求5所述的方法,其中,所述存儲器子系統(tǒng)中的每ー個(gè)包括內(nèi)部時(shí)鐘,并且其中,所述同步包括將所述存儲器子系統(tǒng)中的每ー個(gè)的所述內(nèi)部時(shí)鐘進(jìn)行同歩。
8.根據(jù)權(quán)利要求5所述的方法,其中,所述劃分包括基于所述存儲器子系統(tǒng)的數(shù)量創(chuàng)建多個(gè)時(shí)隙,并且其中,所述時(shí)隙是不間斷地重復(fù)的。
9.根據(jù)權(quán)利要求5所述的方法,還包括 在所述存儲器子系統(tǒng)中的一個(gè)存儲器子系統(tǒng)處決定執(zhí)行能源密集型操作; 確定所述存儲器子系統(tǒng)中的所述ー個(gè)存儲器子系統(tǒng)是否被分配到當(dāng)前時(shí)隙;以及 基于所述存儲器子系統(tǒng)中的所述ー個(gè)存儲器子系統(tǒng)是否被分配到所述當(dāng)前時(shí)隙來執(zhí)行所述能源密集型操作。
10.根據(jù)權(quán)利要求5所述的方法,其中,所述非易失性存儲器系統(tǒng)是NAND閃存系統(tǒng)。
11.ー種使用控制器來控制存儲器系統(tǒng)中的多個(gè)存儲器子系統(tǒng)的方法,所述方法包括 在所述存儲器子系統(tǒng)中的第一存儲器子系統(tǒng)處決定發(fā)起能源密集型操作,其中,所述能源密集型操作包括讀取、編程和擦除操作中的ー個(gè); 請求所述控制器準(zhǔn)許啟動所述能源密集型操作; 在所述控制器處確定所述存儲器子系統(tǒng)中的另一存儲器子系統(tǒng)是否正在執(zhí)行能源密集型操作; 基于所述確定選擇是否向所述第一子系統(tǒng)給予準(zhǔn)許;以及 向所述第一子系統(tǒng)提供所述確定的結(jié)果。
12.根據(jù)權(quán)利要求11所述的方法,其中,所述存儲器系統(tǒng)包括閃存系統(tǒng)并且所述存儲器子系統(tǒng)包括閃存芯片。
13.根據(jù)權(quán)利要求11所述的方法,其中,所述選擇包括當(dāng)比預(yù)定數(shù)量少的所述子系統(tǒng)已經(jīng)在執(zhí)行能源密集型操作吋,決定給予準(zhǔn)許。
14.根據(jù)權(quán)利要求11所述的方法,所述方法還包括 確定已經(jīng)在執(zhí)行能源密集型操作的所述子系統(tǒng)的組合電流使用,其中 所述選擇是基于所述組合電流使用來執(zhí)行的。
15.根據(jù)權(quán)利要求11所述的方法,所述方法還包括 響應(yīng)于接收到在所述第一子系統(tǒng)處啟動所述能源密集型操作的準(zhǔn)許,執(zhí)行所述能源密集型操作;以及 向所述控制器指示所述第一子系統(tǒng)的所述能源密集型操作何時(shí)完成。
16.根據(jù)權(quán)利要求11所述的方法,其中,所述能源密集型操作是第一能源密集型操作,所述方法還包括 在所述子系統(tǒng)中的第二子系統(tǒng)處決定發(fā)起第二能源密集型操作; 請求所述控制器準(zhǔn)許啟動所述第二能源密集型操作; 在所述控制器處確定所述第一能源密集型操作還未完成;以及 決定不向所述第ニ子系統(tǒng)給予啟動所述第二能源密集型操作的準(zhǔn)許。
17.根據(jù)權(quán)利要求16所述的方法,所述方法還包括 在所述控制器處從所述第一子系統(tǒng)接收所述第一子系統(tǒng)已經(jīng)完成了所述第一能源密集型操作;以及 向所述第ニ子系統(tǒng)給予開始所述第二能源密集型操作的準(zhǔn)許。
18.—種系統(tǒng),包括 多個(gè)子系統(tǒng);以及 用于控制所述子系統(tǒng)的控制器,其中,所述控制器被配置為 確定所述子系統(tǒng)中的哪ー個(gè)正在執(zhí)行能源密集型操作;以及 向所述子系統(tǒng)中的至少ー個(gè)子系統(tǒng)提供關(guān)于執(zhí)行能源密集型操作的所述子系統(tǒng)的數(shù)量的指示。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中,所述至少ー個(gè)子系統(tǒng)被配置為基于所述數(shù)量執(zhí)行操作。
20.根據(jù)權(quán)利要求18所述的系統(tǒng),其中,所述至少一個(gè)子系統(tǒng)被進(jìn)一歩配置為基于所述數(shù)量建立所述操作以針對更低速度、更低功率的操作權(quán)衡更高速度、更高功率的操作。
21.根據(jù)權(quán)利要求18所述的系統(tǒng),其中,所述系統(tǒng)包括閃存系統(tǒng)并且所述子系統(tǒng)包括 閃存芯片。
全文摘要
公開了用于管理諸如非易失性存儲器系統(tǒng)(例如,閃存系統(tǒng))的系統(tǒng)的峰值功耗的系統(tǒng)和方法。該系統(tǒng)可以包括多個(gè)子系統(tǒng)和用于控制這些子系統(tǒng)的控制器。每一個(gè)子系統(tǒng)可以具有尖峰的電流分布。因此,該控制器可以通過例如限制可以同時(shí)執(zhí)行能源密集型操作的子系統(tǒng)的數(shù)量或者通過輔助子系統(tǒng)確定在任何給定的時(shí)間該子系統(tǒng)可以消耗的峰值功率,來控制系統(tǒng)的峰值功率。
文檔編號G06F1/26GK102782607SQ201180010308
公開日2012年11月14日 申請日期2011年1月11日 優(yōu)先權(quán)日2010年1月11日
發(fā)明者D·J·潑斯特, H·西歐, K·赫曼, M·拜奧姆, N·J·瓦克拉特, N·瑟奧夫, V·科麥爾尼斯基 申請人:蘋果公司