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