CN101208648A - 存储装置控制器的超级电容的寿命监视 - Google Patents

存储装置控制器的超级电容的寿命监视 Download PDF

Info

Publication number
CN101208648A
CN101208648A CNA2006800224383A CN200680022438A CN101208648A CN 101208648 A CN101208648 A CN 101208648A CN A2006800224383 A CNA2006800224383 A CN A2006800224383A CN 200680022438 A CN200680022438 A CN 200680022438A CN 101208648 A CN101208648 A CN 101208648A
Authority
CN
China
Prior art keywords
capacitor group
accumulation
life
span
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800224383A
Other languages
English (en)
Other versions
CN101208648B (zh
Inventor
V·K·佩科尼
Y·F·王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Cloud Systems Corp
Original Assignee
Dot Hill Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/421,967 external-priority patent/US7487391B2/en
Application filed by Dot Hill Systems Corp filed Critical Dot Hill Systems Corp
Publication of CN101208648A publication Critical patent/CN101208648A/zh
Application granted granted Critical
Publication of CN101208648B publication Critical patent/CN101208648B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

存储装置控制器,具有用于存储电能以在主电源中断时提供电能的电容器组、可感测该电容器组温度的温度感测器、及中央处理器,重复地:于该电容器组操作的时间区间中接收温度、判断该电容器组具有至少存储有预设电能量数目的电容量时的寿命,若该电容器组于该寿命期间在该温度中操作、通过电容器组的保证寿命相对于该经判断的寿命的比值标准化该时间区间、及将该标准化时间区间加入至累积标准化运作时间。也可采样该电容器组的工作电压以判断该寿命。该预设电能量数目可为在主电源中断时用于备份易失性存储器至非易失性存储器所需的电能。

Description

存储装置控制器的超级电容的寿命监视
本案主张于8/4/2005所申请的美国申请NO.60/705,997号d优先权。
本案与以下美国申请相关:
  (案号)   申请日   发明名称
  (CHAP.0133)   存储装置控制器超电容器动态电压调节
  (DH0136)   存储装置控制器动态写缓存依超电容器的电容量的大小调整
技术领域
本发明的技术领域关于运用一电容器组作为一在存储控制器中的可重复充电式备用电能供给源,且尤指监视该电容器组的寿命。
背景技术
磁盘阵列(Redundant Array of Inexpensive Disk/RAID)已成为现今市面上大多数电脑系统大容量存储系统的主流,其大多被应用在需要高效能、大容量存储空间及/或高数据利用性上,例如金融交易处理、银行事务、医疗应用、数据库服务器、网络服务器、文件处理服务器、科学运算、及其它应用等的协调控制上。磁盘阵列控制器控制了包含多个实体磁盘机的群组,使此群组能以单一逻辑磁盘机(或多个逻辑磁盘机)方式呈现在电脑操作系统下。磁盘阵列控制器运用了数据分割及数据冗余技术以提升效能及数据可利用性。
磁盘阵列控制器的主要特征在于其运用于例如在金融交易处理或自大量的数据流动中作快速的数据撷取的特定应用上时,可提供快速写入的效能。尤其,当磁盘阵列控制器的写入等待时间(writelatency)较短时,该电脑系统整体效能将大为提升。写入等待时间指磁盘阵列控制器需要完成自该电脑系统所发出的写入指令时所需时间。
大多数磁盘阵列包含一大容量的高速缓存存储器以用于自该些磁盘机缓存用户数据。因磁盘阵列控制器无须执行自磁盘读取数据时所需的繁杂或长时间操作,故当所需求的数据存于高速缓存存储器中时,缓存数据使磁盘阵列控制器可快速回传数据至电脑系统。高速缓存存储器也可经所谓后写入操作(posted-write operation)以用于减少写入指令等待时间。于一后写入操作中,磁盘阵列控制器读取自电脑系统读取由该电脑系统所界定的数据至磁盘阵列控制器的高速缓存存储器中,然后立即告知该电脑系统该写入指令已完成,即使该磁盘阵列控制器未将该数据写入该些磁盘中,仍执行前述动作。后写入操作由其在磁盘阵列控制器中特别有用,因在部分冗余磁盘阵列级别中(RAID level),在多个磁盘上必须执行一读写转换操作(read-modify-write operation)以完成该系统的写入指令。换言之,除了所界定的系统数据必须写入至该些磁盘机外,这些磁盘机的一部份也必须在用户数据及冗余数据可以被写入至该些磁盘机中前先被读取,此动作若不通过后写入操作的优势来执行,将会使磁盘阵列控制器的写入等待时间拉长,甚至超过未用磁盘阵列控制器或非磁盘阵列控制器所需的时间。
然而,后写入操作容易因电力消失而造成系统的数据丧失。此乃因高速缓存存储器为易失性存储器,故当电力消失时,暂存于该高速缓存存储器中尚未写入至磁盘机的数据将会丧失。
为解决此问题,有些磁盘阵列包含了电池以提供高速缓存存储器在主电源丧失时所需的电能。虽然此电池大幅改善了用户数据丧失的可能性,然而因电池所存储的电能是有限的,故当电池的电能耗尽时且主电源仍无法恢复时,用户数据仍将丧失。不同用户的磁盘阵列系统所需供应至其高速缓存存储器的最短电池电能并不相同,但在一般情况下,许多用户需要至少72小时以防止在周末可能发生的主电源中断。
另外,使用电池在应用上亦有不少为大众所知的限制,如下所述。首先,电池对磁盘阵列控制器而言无疑是一昂贵的额外元件。第二,目前电池相关技术也显示电池所能维持的电能在2到3年后便开始减弱,且此寿命也比磁盘阵列控制器的预期寿命较为短。故,磁盘阵列控制器必须将电池纳入设计中并将其视为现场可替换单元(field-replaceable unit),且通常情况下,其为可热插拔的现场可替换单元。也因此提高了磁盘阵列控制器的成本。第三,在不影响电池寿命及效能降低情况下的操作温度范围相当窄。第四,当电池电能为弥补主电源短缺而耗尽时,磁盘阵列控制器将必须以低效能的直接写入(write-through)缓存模式下操作直到电池电能重新充足,而此电池充电时间较为长。第五,当高速缓存存储器的容量增大时,同样地,所需的电池电能以弥补主电源断电也相对增加;若将其所需的电能视为电池电能密度,则当需求电能增加时,电池的大小也将相对的增加且甚至可能会超过磁盘阵列控制器上所提供的电池容纳空间。
为解决上述问题,2005年9月14日申请的美国专利申请No.11/226,825公开了包含电容器组或电池的存储装置控制器,及非易失性存储器如闪速存储器(flash memory)。当主电源中断时,该电容器组或电池可自存于其中的电能提供给该控制器以用于将写缓存的数据备份、或注入至该非易失性存储器。因此,纵使该电容器组或电池的电能耗尽时且无法在主电源恢复前提供所需电能,该写缓存数据保存于该非易失性存储器中,故当主电源恢复时且该控制器重新启动后,该写缓存数据可恢复或还原至该写缓存存储器中,而后再依序送至磁盘机。
无论是用电池或电容器组作为充电式电源以提供备用电能,监视该电源以确保该电源持续具有可提供足够电能以执行备份操作是非常重要的,并藉以防止写缓存记忆的丧失。当电源不在存有足够电能以执行其所需功能时,例如提供备份操作所需的电能,则可以视该电源的寿命已耗尽。若该电源为电池,则监视该电池的寿命较为单纯,因电池的寿命通常与该电池相关技术所提供的数据一致。例如,常用于写缓存存储装置控制器的锂离子电池的寿命约为3年。故,电池的所剩寿命可单纯直接地通过纪录实际时间或日历时间来监视,例如通过即时计时电路(real-time clock circuit)。
不同于电池,电容器的寿命与其温度、工作电压、极性变化及过量电流的产出呈非线性函数关系,且其寿命也因该些因素改变而有所不同。例如,在特定用途中的特定工作电压下,电容器的寿命在操作温度为摄氏10度时为百万个小时;而当同一电容器在操作温度为摄氏80度时,该电容器的寿命可能仅只有一千个小时。同样地,在特定操作温度下,电容器在工作电压为1.8V中可能会有比在2.5V的工作电压中长达近三倍使用时数的寿命。因此,单纯地使用用于监视电池寿命的即时计时技术对电容器而言在许多应用上并不合适,且电容器的不同寿命的变异也会造成用于写缓存存储装置控制器的数据丧失的危险。
电容器制造商所建议的用于测量电容器的电容量(此可为有效的测量其寿命的方法因其电容量决定了可存储电能的多寡)的方法为放电而后充电该电容器以测量充电时所需的时间及电流量,并通过所测量的数值进而计算出其电容量。然而,此方法对写缓存存储装置控制器的相关应用并不合适,由于此方法当该电容器在放电/充电过程中时,需要将该写缓存存储器设在直接写入的模式中,以避免当主电源中断且欲执行备份操作时可能产生的写缓存数据的丧失。
因此,提供有别于监视电容器组的实际存在时间或通过放电及充电来测量其电容量的替代方法,以判断一电容器组的寿命为一诉求。
除此之外,不同于电池,电容器组可设计为非现场可替换单元,且该存储装置控制器的制造商可对消费者或用户保证该存储装置控制器的电容器组的寿命。因此,当一电容器组的寿命可大幅度改变时,如何提供一方法可使该电容器组较能达到该存储装置控制器制造商保证用户的寿命亦为一诉求。
发明内容
本发明公开在操作区间或时间区间(interval)上采样存储装置控制器的电容器组的温度及电压,并运用该电容器组的保证寿命对于一该电容器组在采样的温度及电压下的寿命的比值以用于标准化(normalize)所述区间。当该电容器组不再具有足够的电容量以在正常工作电压下存储预先设定的电能时,则该电容器组已到达其寿命末期或期限。于本发明的实施例中,所述的保证寿命基于当主电源中断时需供电至存储装置控制器以备份易失性写缓存至非易失性存储器(如一闪速存储器)所需的电能大小进而判断。该存储装置控制器在其操作的一系列区间或时间区间中将会累积标准化的区间(normalized interval)。该些累积标准化操作区间可用于有效地测量相对于所述保证寿命的该电容器组的实际年龄。电容器组的电容量下降也可计算为该累积标准化操作区间及保证寿命的函数。于本发明的较佳实施例中,所知的寿命通过查询经实验后并依采样的温度及电压作为指标或索引所作成的数据库或表而得知。于本发明的另一实施例中,所知的寿命通过运用一实验所得的包含温度及电压为变量的公式而计算得知。于一实施例中,该电压值固定的且使用该温度为变量以用于计算该所知的寿命。
本发明的目的在于提供一种用于监视一于存储装置控制器中的电容器组的累积标准化运作时间的方法。此方法包括初始化该电容器组的累积标准化运作时间。此方法也包括感测电容器组在其操作时的一段时间区间中的一温度。另外,此方法也包括判断该电容器组于其寿命期间在该温度中操作时,具有一至少存储有一预设电能量的电容量的一寿命。此方法也包括通过一电容器的保证寿命相对于其实际寿命的比值而标准化该区间。此方法也包括将标准化区间加入至累积标准化运作时间中。此方法并包括重复该些在存储装置控制器操作中的感测、判断、标准化及加入的步骤。
本发明的另一目的在于提供一种存储装置控制器。该控制器包含一电容器组,该电容器组可存储电能以供应该控制器在主电源中断时所需电力。该控制器也包含一温度感测器,其耦合至该电容器组,以用于该电容器组的一温度。该控制器也包含一中央处理器(CPU),其耦合至该温度感测器上。该CPU可初始化该电容器组的一累积标准化运作时间。该CPU也可在该电容器组运作的一时间区间中接收来自该感测器的温度。该CPU也可判断该电容器组的一寿命,该寿命指当其在寿命期间于温度下操作时将具有的用于存储至少一预设电能量的电容量。该CPU也通过电容器的一保证寿命相对于其寿命的比值进而标准化时间区间。该CPU也会将标准化区间加入至累积标准化运作时间。该CPU可在存储装置控制器的操作中,重复该些接收温度、判断寿命、标准化区间及将标准化区间加入至累积标准化运作时间的步骤。
附图说明
图1显示本发明的一磁盘阵列控制器的一方块图。
图2显示依本发明如图1所示的存储器控制器的方块图。
图3显示依本发明如图2所示的CSR的一方块图。
图4显示依本发明如图1所示的磁盘阵列控制器执行一注入操作的一流程图。
图5显示依本发明如图1所示的磁盘阵列控制器在一主电源受中断后恢复供电情况下的流程图。
图6显示本发明的磁盘阵列的另一较佳实施例的方块图。
图7显示依本发明的另一较佳实施例如图6所示的磁盘阵列控制器执行一注入操作的流程图。
图8显示依本发明如图1所示的电容器组在不同温度及电压条件组合下的电容器组寿命表图或数据表图。
图9显示依本发明如图1所示的磁盘阵列控制器的操作流程图。
图10显示依本发明如图1所示的磁盘阵列控制器的操作流程图。
图11显示依本发明如图1所示磁盘阵列控制器的操作流程图。
图12显示依本发明如图1所示磁盘阵列控制器的操作流程图。
图13显示依本发明磁盘阵列控制器的另一较佳实施例的操作流程图。
图14显示依本发明的磁盘阵列控制器的另一较佳实施例的操作流程图。
图15显示依本发明的磁盘阵列控制器的另一较佳实施例的操作流程图。
具体实施方式
图1显示本发明的磁盘阵列控制器100的方块图。于本发明的一实施例中,磁盘阵列控制器100可为一对或组双主动冗余容错(active-active redundant fault-tolerant)的磁盘阵列控制器之一,以提供高数据可利用性。当一磁盘阵列控制器100故障时,如此所述的自易失性存储器将后写入数据注入至非易失性存储器时发生故障,此时该系统将冗余或故障转移(failover)至其它磁盘阵列控制器100。磁盘阵列控制器100包含一个或多个电容器,以在主电源中断时提供该磁盘阵列100的所选择部份的电路所需的电力,故使存储器控制器可快速且有效率地自高速缓存存储器注入后写入数据至非易失性存储器。较佳为,磁盘阵列控制器100周期性地采样电容器的温度及电压,并通过所得的寿命特性的信息以用于标准化该电容器的操作区间,而适当地计算出该些电容器的有效年龄,其中该寿命信息基于实验且以所采样的温度及电压值的组合而得的信息。另外,磁盘阵列控制器100动态地调整电容器的工作电压,例如依温度上升而调整,基于电容器的有效年龄作为确认该些电容器到达至对用户保证的寿命的依据。最后,若控制器判断认为该些电容器的电容量已下降至不具存储足够电能可以于新调整的电压中执行备份操作时,该控制器将动态地减少写缓存值的大小至使该些电容器具有可以存储足够电能执行备份操作的电容量的合适大小。
磁盘阵列控制器100包含主接口118,以作为与主电脑的接口。于一实施例中,该磁盘阵列控制器100为区域总线控制器,如一插入或整合于主电脑系统的一区域输入/输出(I/O)总线的控制器,例如PCI、PCI-X、CompactPCI、PCI-Express、PCI-X2、EISA、VESA、VME、RapidIO、AGP、ISA、3GIO、HyperTransport、Futurebus、MultiBus或其它区域总线。于此实施例中,该主接口118包含一区域(local)总线接口,该区域总线可为上述不同类形的区域总线之一。于另一实施例中,磁盘阵列控制器100为独立式(standalone)控制器,其与发出I/O指令至该磁盘阵列100的主电脑分隔设于分离的实体中。例如,该磁盘阵列控制器可为存储区域网络(storage areanetwork/SAN)的部份。于此实施例中,该主接口118可包含不同的接口,如光纤通道、Ethernet、InfiniBand、SCSI、HIPPI、Token Ring、Arcnet、FDDI、LocalTalk、ESCON、FICON、ATM、SAS、SATA、iSCSI及其它类似形式的接口。
磁盘阵列控制器100也可包含磁盘接口116,以作为与磁盘机或其它大量存储装置的接口,其中磁盘机或大量存储装置包含以下但不仅限于如磁带机、固态磁盘机(solid-state disk/SSD)及光学存储装置如CDROM或DVD机。该些磁盘机可存储用户数据。该磁盘接口116可包含但不仅限于以下如:光纤通道、小型电脑系统接口(SCSI)、先进附加技术(Advanced Technology Attachment/ATA)、序列附加式SCSI(Serial Attached SCSI/SAS)、序列式先进附加技术(SerialAdvanced Technology Attachment/SATA)、Ethernet、Infiniband、HIPPI、ESCON、iSCSI或FICON。磁盘阵列控制器100可依自主电脑所收到的输入/输出指令以自该些磁盘机读取数据或写入数据至该些磁盘机。
磁盘阵列控制器100也可包含一易失性高速缓冲存储器104,或高速缓冲存储器104或易失性存储器104。该易失性高速缓冲存储器104包含一写缓存156及一读缓存158。当该易失性高速缓冲存储器104为易失性时,存储于其中的数据将因电力消失而消失。于一实施例中,该易失性高速缓冲存储器104包含双倍数据速率同步动态随机存取存储器(DDR SDRAM),其包含一自我更新模式。当SDRAM为设于自我更新模式中时,该SDRAM消耗较少于非在自我更新模式下操作时的电力。于其它实施例中,该易失性高速缓冲存储器104可包含其它形式的易失性存储器,例如但不仅限于静态随机存取存储器(SRAM)。易失性高速缓冲存储器104的容量或大小也是相当重要的。易失性高速缓冲存储器104可包含512MB、1GB及2GB大小的实施例;然而,其他较大或较小的易失性高速缓冲存储器104也可运用或包含于磁盘阵列控制器100上。
磁盘阵列控制器100通过易失性高速缓冲存储器104以缓冲传输于主机与磁盘之间的数据。当一主机要求数据被写入磁盘时,磁盘阵列控制器100可经由主接口118将数据自主机传送至易失性高速缓冲存储器104的写缓存156中,然后再将该数据自该写缓存156经由磁盘接口116传送至该些磁盘中。相反地,当一主机要求数据自磁盘读取时,磁盘阵列控制器100可经由磁盘接口116将数据自该些磁盘传送至易失性高速缓冲存储器104的读缓存158中,然后再将该数据自该读缓存158经主接口118传送至主机。
如前述,当一主机要求数据被写入至磁盘机时,磁盘阵列控制器100可经由主接口118将数据自主机传送至易失性高速缓冲存储器104中,然后再将该数据自该易失性高速缓冲存储器104经由磁盘接口116传送至该些磁盘中。通常,磁盘阵列控制器100在数据已确实写入至磁盘前,并无需告知主机该写入指令已完成。然而,磁盘阵列控制器100可经设计或配置而可将数据缓存于易失性高速缓冲存储器104中,并可在数据实际或确实写入至磁盘前,告知主机该写入指令已完成,然后再将数据写入或注入至磁盘中。此操作称写入缓存(write-caching),也可指一后写入操作。相关于一后写入操作的数据称后写入数据,也可指写入缓存数据。意即,后写入数据指存储于易失性高速缓冲存储器104中而未被写入至磁盘机中的数据,但就磁盘阵列控制器100而言,该磁盘阵列控制器100已告知主机该写入操作已完成。另外,此所指写入数据可包含元数据(metadata),其指写入数据至磁盘时所需的控制信息,包含但不仅限于如,写入数据的逻辑方块地址及磁盘机单元号码、及界定该数据是否为具有一磁盘阵列级别的磁盘阵列一部份的信息以依必须被写入至磁盘的后写入数据进而产生所需的冗余数据。
磁盘阵列控制器100也可用易失性高速缓冲存储器104以执行数据的读缓存;意即,若因一前或过去的读取要求要求相同的数据,故所要求的数据已存在于该易失性高速缓冲存储器104中时,将由该易失性高速缓冲存储器104提供要求的数据至主机,而非自磁盘提供。最后,磁盘阵列控制器100可用易失性高速缓冲存储器104以缓冲为提供写入至磁盘而产生的冗余磁盘阵列数据。
磁盘阵列控制器100也可包含一中央处理器(CPU)子系统112,以用于撷取及执行程序指令进而控制介于磁盘机与主机之间数据的传输,如前所述。该CPU子系统112可包含任何处理器,该处理器可执行所存储的程序,包含但不仅限于如一处理器及芯片组,例如一x86架构的处理器及如公知的北桥或存储器控制集线器(MemoryControl Hub/MCH)及南桥或输入/输出控制集线器(I/O ControlHub/ICH),其包含输入/输出总线接口,例如一连接至ISA总线或PCI相关形式的总线的接口。于一实施例中,该CPU子系统112包含英特尔赛扬M(Intel Celeron M)处理器及一北桥(MCH)及南桥(ICH)。于另一实施例中,该CPU子系统112也包含随机存取存储器(RAM)以存储程序指令,使该些指令可由微处理器所撷取及执行,及一耦合至该CPU子系统112的闪速存储器106可将程序指令以一非易失性方式存储并将该些指令解压缩及写入至程序随机存取存储器中以使其可由微处理器执行。于一实施例中,高速缓存存储器106亦存储有信息,例如一签名,以用于比较一写入至一非易失性存储器108(如下所述)的签名以示一由该高速缓冲存储器104注入至该非易失性存储器108的操作是成功的,如下所述。
该CPU子系统112自主接口118接收主电脑的输入/输出指令并处理该些指令。处理该些指令包含了不同的功能。例如,主机输入/输出指令可界定一逻辑方块号码及数据方块的数目以用于传输至冗余阵列或自该冗余阵列传出;然而该些逻辑方块号码及方块数目通常并不相对应于适合的实体方块号码及包含该冗余阵列的实体磁盘的方块数目。因此,于该主机输入/输出指令中所界定的逻辑方块号码必须转换为适合的实体方块号码,方块数目及磁盘以用于执行一个或多个介于磁盘阵列控制器100与该些包含冗余阵列的磁盘间数据的转换。此转换功能由该CPU子系统112所执行。于一实施例中,该CPU子系统112依照公知的磁盘阵列技术以执行所述转换。于执行该转换后,CPU子系统112编程该磁盘接口116以执行介于该些磁盘与易失性高速缓冲存储器104之间数据的转换。除此之外,CPU子系统112还编程该主接口118以执行介于该主电脑及该易失性高速缓冲存储器104之间数据的转换。故,当处理一主机输入/输出指令以自一主电脑写入数据至一冗余阵列时,该CPU子系统112将编程该主接口118以自该主电脑传送数据至该易失性高速缓冲存储器104中;在数据接收进入至该易失性高速缓冲存储器104后,该CPU子系统112将编程磁盘接口116以自该易失性高速缓冲存储器104传送数据至包含有冗余阵列的磁盘的已转换的适合实体方块号码中。相反地,当处理一主机输入/输出指令以自一冗余阵列读取数据至一主电脑时,该CPU子系统112编程该磁盘接口116以自包含有冗余阵列的磁盘的已转换的适合实体方块号码传送数据至该易失性高速缓冲存储器104中;在该数据接收进入该非发性高速缓冲存储器104后,该CPU子系统112将编程该主接口118以自该易失性高速缓冲存储器104传送数据至主电脑。该CPU子系统112也执行该易失性高速缓冲存储器104的部分的配置管理的功能,尤指缓存管理;意即,视该易失性高速缓冲存储器104为一可缓存在非易失性高速缓冲存储器104中缓冲的部份数据的高速缓存存储器而管理,故可依公知的缓存技术改善介于该冗余阵列与主电脑间的输入/输出表现或性能。于一实施例中,该CPU子系统112在特定的磁盘阵列级别中所需的数据执行异或(exclusive-OR)操作,该些特定磁盘阵列级别将奇偶校验数据(parity data)作为冗余数据,如磁盘阵列级别5。于一实施例中,该CPU子系统112编程一专用的异或电路,该异或电路设于存储器控制器102中以对用户数据执行异或操作以产生冗余奇偶校验数据。
磁盘阵列控制器100也包含一非易失性存储器108。该非易失性存储器108因其在电力消失时仍持续存储内含的所有数据,故为非易失性的存储器。于一实施例中,非易失性存储器108包含一小型闪速(Compact FLASH)存储装置,该小型闪速存储装置包含与非门闪速(NAND Flash)装置及一可为ATA接口连接至一存储器控制器102(如下所述)的控制器。非易失性存储器108的容量或大小的实施例包含有256MB、512MB及1GB;然而,设于磁盘阵列控制器100上的非易失性存储器108的其他实施例也可为其他较大或较小容量。于一实施例中,该非易失性存储器108包含微磁盘机(micro-disk drive)。磁盘阵列控制器100用非易失性存储器108于备份或注入易失性高速缓冲存储器104中的内容,尤指后写入数据,故当主电源中断且恢复时,该后写入数据可由该非易失性存储器108恢复回至该易失性高速缓冲存储器104中。于一实施例中,该非易失性存储器108包含一与非门高速缓存存储器阵列以供存储器控制器102直接写入。较佳为,在该阵列中的每一NAND闪速存储装置包含8位宽的数据装置,且该装置经配制而使存储器控制器102可执行16位或32位宽的写入存取至非易失性存储器108中以提升写入速率,故进一步减少注入操作的时间。在CPU 112上执行的程序存储有一累积标准化运作时间152及一于该非易失性存储器108中的累积日历运作时间154。于另一实施例中,在CPU 112上执行的程序存储有该累积标准化运作时间152及一于该编码闪速存储器106中的累积日历运作时间154。该累积标准化运作时间152及该累积日历运作时间154的使用将于以下作详细说明。
磁盘阵列控制器100也包含一存储器控制器102,其耦合至磁盘接口116、主接口118、高速缓冲存储器104及非易失性存储器108。该存储器控制器102控制了磁盘接口116、主接口118、及CPU子系统112至高速缓冲存储器104及非易失性存储器108的存取。于一实施例中,存储器控制器102也具有如一总线桥接器(bus bridge)的功能,以用于桥接介于易失性高速缓冲存储器104总线、非易失性存储器108总线、CPU子系统112总线、主接口118及磁盘116总线之间的通信。于一实施例中,存储器控制器102为一定制的大型集成电路。于一实施例中,存储器控制器102包含一定制的可编程逻辑装置。于此所述的存储器控制器102可通过图2更佳详细了解。
在正常操作中,磁盘阵列控制器100接收由一设置于该磁盘阵列控制器100外的主电源所供应的电力,包括但不仅限于一消费者惯用的A/C电源,其为一公知的电源供应装置。然而,磁盘阵列控制器100也可包含一个或多个电容器136或电容器组136,以用于供应该磁盘阵列控制器100在主电源中断时所需电力,详如下所述。若在该些电容器136上的部份或全部电荷或电能存储因主电源中断而耗尽时,该些电容器136可在主电源恢复时重新自该主电源充电。于一实施例中,电容器136运用气凝胶碳(aerogel carbon)技术为一活性材质并经配置而形成于单一封装体中的并联电容器阵列。于一实施例中,电容器136包含四个由佛罗里达州波因屯滩的隶属库柏工业旗下的库柏博士曼公司(Cooper Bussman of Boynton Beach,a division ofCooper Industries)所制造的型号为B1860-2R5107 PowerStor B系列的气凝胶超级电容器。然而,其他电容器的实施例也可采用,且本发明并不局限于任一特定的电容器型号或技术上。
磁盘阵列控制器100也包含一电源调节器134,其耦合至该控制器上以用于接收自电容器136及主电源两者的电力。该电源调节器134可感测主电源是否需要供电;若是,则调节该主电源以供电至不同的磁盘阵列控制器100电路。若该主电源未供应足够的电力,则该电源调节器134将调节电容器136以供电至磁盘阵列控制器100电路的一子集(subset),如下所述。
磁盘阵列控制器100也包含一电源控制装置132,其耦合至该电源调节器134及存储器控制器102。该电源控制装置132也可感测主电源是否需要供电。若该电源控制装置132感测到主电源中断时,电源控制装置将选择性地指使存储器控制器102自高速缓冲存储器104中注入后写入数据至非易失性存储器108中,详如下。于一实施例中,该电源控制装置132包含微复合式可编程逻辑装置(CPLD),其消耗的电力相当少。另外,也可运用其他电路以达到上述由电源控制装置132的功能,如定制的集成电路或独立元件。
如图1所示的实施例,当主电源中断时,电容器136将仅供电至高速缓冲存储器104、非易失性存储器108、存储器控制器102、及电源控制装置132,还有其它需用于维持这些电路运作的电路,例如耦合存储器控制器102至高速缓冲存储器104的高速存储器总线的总线终端器。也就是说,电容器136仅需要供电到执行注入操作将后写回数据自高速缓冲存储器104送至非易失性存储器108的电路。此方式的优点是,电容器136并不需要供电至与执行注入操作无关的电路,例如CPU子系统112、磁盘接口116、主接口118及存储器控制器102的非必要部分,如介于该CPU子系统112、磁盘接口116、主接口118之间的接口部分。
依本发明所公开的技术内容,注入(flush)操作泛指当主电源中断时,自高速缓冲存储器104复制数据至非易失性存储器108中;而一恢复(restore)操作泛指当电源恢复后,自非易失性存储器108复制数据至高速缓冲存储器104中。当电源恢复后,磁盘阵列控制器100可选择式地执行恢复操作,详如下所述。
磁盘阵列控制器100也包含温度感测器142,以感测电容器组136的环境温度,并提供采样的温度至CPU 112。另外,磁盘阵列控制器100也包含电压感测器144,以感测电容器组136的电压,并提供采样的电压至CPU 112。除此之外,磁盘阵列控制器100也包含电流感测器146,以感测电容器组136当其载电时所用的电流,并提供采样的电流至CPU 112。于一实施例中,该CPU 112经由存储器控制器102及/或电源控制装置132读取该些采样的温度、电压及电流。于一实施例中,该温度感测器142、电压感测器144及电流感测器146包含有I2C从装置,其包含模数转换器。该CPU 112利用该些采样的温度、电压及电流值以监视并维持电容器组136的寿命,详如下所述。
请参阅图2,其显示了如图1所示的存储器控制器102的方块图。该存储器控制器102包含控制逻辑214以用于控制该存储器控制器102的不同部分。于一实施例中,该控制逻辑214包含一直接存储器存取控制器(DMAC),其可在注入操作中自易失性高速缓冲存储器104复制数据至非易失性存储器108。
该控制逻辑214可接收来自如图1的电源控制装置132的重设信号226。当电源控制装置132撷取到该重设信号226时,该存储器控制器102将重新设定。电源控制装置132用于选择式地重设高速缓冲存储器104,故当磁盘阵列控制器100重设或当主电源恢复时,若该高速缓冲存储器104中的内容仍为有效时,该存储器控制器102将不会使该高速缓冲存储器104中的内容成为无效。举例而言,若高速缓冲存储器104处于执行一注入操作的过程中时,电源控制装置132不会重设存储器控制器102,因此可允许CPU子系统112顺利地或有效地中断该注入操作,如下所述。
控制逻辑214也自电源控制装置132接收pwr_state信号222。该电源控制装置132经由如下表1所示的pwr_state信号222指示存储器控制器102执行相关动作。尤其,电源控制装置132可指示存储器控制装置102依该pwr_state信号222的值,将高速缓冲存储器104的内容注入至非易失性存储器108中,并指示存储器控制器102依该pwr_state信号222的另一值,将高速缓冲存储器104置放于自我更新模式以应对不同情况如主电源中断或注入操作完成,详如下。
  00   保留。
  01   注入高速缓存存储器至非易失性存储器。完成于PCI-X总线上的处理程序后停止PCI-X操作。注入内部FIFO至高速缓存存储器。启动DMA操作以经由ATA接口注入在CSR中所界定的高速缓存存储器数据至非易失性存储器。
  10   将高速缓存存储器置放于自我更新模式。完成于PCI-X总线上的处理程序后停止PCI-X操作。注入内部FIFO至高速缓存存储器后,将高速缓存存储器置放于自我更新模式。
  11   一般正常操作。允许一般正常数据于所有的总线上传输。
表1-PWR_STATE信号
控制逻辑214也提供flush_status信号224至电源控制装置132。存储器控制器102以现有的高速缓冲存储器104经由该flush_status信号224供电控制装置132给或至非易失性存储器108注入状态,如下表2所示。尤其,存储器控制器102可经由该flush_status信号224告知电源控制器132注入操作是否进行中,以及告知注入操作是否完成无误或有误。
  00   非注入操作。正常存储器控制器操作。
  01   注入进行中。
  10   注入完成但有误(ECC、ATA、或中断/Aborted)。
  11   注入成功完成。
表2-FLUSH_STATUS信号
存储器控制器102也可包含区域总线接口216(如一PCI-X接口)以作为存储器控制器102连接至磁盘接口116的接口;另一区域总线接口218(如一PCI-X接口)以作为存储器控制器102连接至主接口118的接口;一存储器总线接口204(如一DDR SDRAM接口)以作为存储器控制器102连接至高速缓冲存储器104的接口;及一ATA接口208以作为存储器控制器102连接至非易失性存储器108的接口。该些区域总线接口216及218、存储器总线接口204及ATA接口208皆耦合至控制逻辑214且皆耦合至缓冲器206(如先进先出型/first-in-first-out/FIFO缓冲器),其用于缓冲介于多个接口间传输的数据并于彼此间提供并联高速数据传输通路。于一实施例中,ATA接口208支持ATA PIO Mode-4及一数据传输速率可高达每秒16.7MB的速率。
存储器控制器102也包含有一区域总线接口212,如PCI接口,其耦合至控制逻辑214,以作为存储器控制器102连接至CPU子系统212的接口。CPU子系统112可经由该PCI接口212对高速缓冲存储器104、非易失性存储器108、磁盘接口116及主接口118作存取。
存储器控制器102也包含有控制及状态暂存器(CSR)202,其耦合至区域总线接口212及控制逻辑214。该些CSR 202皆由如图1所示的CPU子系统112所编程以控制存储器控制器102,且可被CPU子系统112读取以使存储器控制器102可提供状态至CPU子系统112。介于该些CSR 202之间的为可使CPU子系统112界定一或多个在高速缓冲存储器104中的数据区的位置及大小的控制暂存器,其中该些数据区的数据可为例如后写入数据,且当主电源中断时,存储器控制器102将注入该高速缓冲存储器104至非易失性存储器108中。以下将进一步说明该些CSR 202并请参图3。
请参阅图3,其显示了如图2所示的控制及状态暂存器(CSR)202的方块图。不同的控制及状态暂存器(CSR)202以及其内容将会在以下的说明和图表中描述。
NVB_FLUSH_CRL暂存器302提供CPU子系统112一似于电源控制装置132可经由pwr_state信号222启动注入操作的启动一注入操作能力,并提供CPU子系统112一似于电源控制装置132可经由flush_state信号224读取注入操作状态的读取注入操作状态能力。当主电源恢复及CPU子系统112程序开始时,一注入操作可能仍处于进行中,及高速缓冲存储器104的内容可能仍为可用或有效的。因此,于一实施例中,CPU子系统112可通过写入一0值至于如下表3所公开的NVB_FLUSH_CTRL暂存器302中的FLUSH_START位,以指示存储器控制器102中止或中断一尚于进行中的注入操作(如前述,因该高速缓冲存储器1042的内容仍可能为有用或有效的)。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31:4   读RO  0   保留
  3   读RO   AUTO_START   若注入操作由SW所启动则为0;若注入操作由HW(脚位)所启动则为1;当一注入开始时,此位将被设定且将维持该设定直到一新的注入启动。
  2:1   读RO  0   FLUSH_STATUS   提供数据注入操作的状态。00-无数据注入01-数据注入进行中10-数据注入完成但有误(ECC、ATA或中断)11-数据注入成功完成
  0   读与写RW  0   FLUSH_START   写入「1」至此暂存器以启动数据注入操作。外在的PWR_STATE销
  /pin也将设定此位。当注入完成时,此位将被重设回0。写入「0」以中断进行中的注入操作(在下个512位边界中止)。在一中断后,应重设ATA装置因其可能处于一未知状态中。
表3-NVB_FLUSH_CTRL暂存器/Register
NVB_RESTORE_CTRL暂存器302使CPU子系统112可启动一恢复操作以自非易失性存储器108恢复至高速缓冲存储器104,及使CPU子系统可读取一恢复操作的状态。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31:3   读RO  0   保留
  2:1   读RO  0   RESTORE_STATUS   提供数据恢复操作的状态。00-无恢复进行01-数据恢复进行中10-数据恢复完成但有误(ECC、ATA或中断)11-数据恢复成功完成无误
  0   读与写RW  0   RESTORE_START   写入「1」至此暂存器以启动数据恢复操作。当恢复完成时,此位将被重设回0。写入「0」以中止进行中的恢复操作(在下个512位边界中
 断)。在一中断后,应重设ATA装置因其可能处于一未知状态中。
表4-NVB_RESTORE_CTRL暂存器
NVB_RAM_START_ADDR1暂存器306界定于数据的一第一区的高速缓冲存储器104中的开始地址,该数据分别为注入或恢复操作的源出或汲入。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31   读RO  0   保留
  30:9   读与写RW  0   NVB_RAM_START_ADDR1   开始高速缓存存储器地址以用于第1区/Region 1的注入或恢复操作
  8:0   读RO  0   保留
表5-NVB_RAM_START_ADDR1暂存器
NVB_ATA_START_ADDR1暂存器308界定于数据的第一区的的非易失性存储器108中的开始地址,该数据分别为一注入或恢复操作的汲入或源出。于一实施例中,存储器控制器102将在该NVB_ATA_START_ADDR1暂存器308中所界定的非易失性存储器108的地址转换为一扇区编号,即若所述的非易失性存储器108为一已扇区化的ATA装置时或前提下。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31   读RO  0   保留
  30:9   读与写RW  0   NVB_ATA_START_ADDR1   开始非易失性存储器地址以用于第1区/Region 1的注入
  或恢复操作
  8:0   读RO   0   保留
表6-NVB_ATA_START_ADDR1暂存器
NVB_SIZE1暂存器312界定数据的第一区整体大小或长度,该数据可藉一注入或恢复操作而被复制。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31   读RO  0   保留
  30:9   读写RW  0   NVB_SIZE1   第1区/Region 1的注入或恢复操作整体大小(长度)。
  8:0   读RO  0   保留
表7-NVB_SIZE1暂存器
NVB_RAM_START_ADDR2暂存器31界定于数据的第二区的高速缓冲存储器104中的开始地址,该数据分别为注入或恢复操作的源出或汲入。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31   读RO  0   保留
  30:9   读与写RW  0   NVB_RAM_START_ADDR2   开始高速缓存存储器地址以用于第2区/Region 2的注入或恢复操作
  8:0   读RO  0   保留
表8-NVB_RAM_START_ADDR2暂存器
NVB_ATA_START_ADDR2暂存器316界定于数据的第二区的非易失性存储器108中的开始地址,该数据分别为注入或恢复操作的汲入或源出。于一实施例中,存储器控制器102将在该NVB_ATA_START_ADDR2暂存器316中所界定的非易失性存储器108的地址转换为扇区编号,即若所述的非易失性存储器108为一已扇区化的ATA装置时或前提下。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31   读RO  0   保留
  30:9   读与写RW  0   NVB_ATA_START_ADDR2   开始非易失性存储器地址以用于第2区/Region 2的注入或恢复操作
  8:0   读RO  0   保留
表9-NVB_ATA_START_ADDR2暂存器
NVB_SIZE2暂存器318为界定数据的第二区整体大小或长度,该数据可藉注入或恢复操作而被复制。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31   读RO  0   保留
  30:9   读与写RW  0   NVB_SIZE2   第2区/Region 2的注入或恢复操作整体大小(长度)。
  8:0   读RO  0   保留
表10-NVB_SIZE2暂存器
NVB_SECTOR_COUNT暂存器322为界定扇区数目以用于存储器控制器102发出至非易失性存储器108ATA装置的每一写入/读取指示。NVB_SECTOR_COUNT暂存器322可用于最佳化至非易失性存储器108 ATA装置的注入操作及自非易失性存储器108的恢复操作的速度。NVB_SECTOR_COUNT暂存器322与NVB_SIZE暂存器312/318共同使用。例如,CPU子系统112可以一256KB值编程该NVB_SIZE暂存器312/318及以32值编程NVB_SECTOR_COUNT暂存器322,故可使256KB的数据以每32扇区(16KB)的16个写入指令写入。NVB_SIZE暂存器312/318必须以该NVB_SECTOR_COUNT暂存器322值的复数值或乘数值而编程。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31:9   读RO  0   保留
  8:0   读与写RW  0   NVB_SECTOR_COUNT   非易失性存储器扇区计算。可用于发至ATA装置的每一写入/读取指令的扇区数目。此些可允许的数值为:0x000       1扇区/sector0x001       1扇区0x002       2扇区0x004       4扇区0x008       8扇区0x010       16扇区0x020       32扇区0x040       64扇区0x080       128扇区0x100       256
  扇区
表11-NVB_SECTOR_COUNT暂存器
NVB_PROGRESS暂存器324为界定目前于高速缓冲存储器104中分别被一注入操作读取或一恢复操作写入的地址。该NVB_PROGRESS暂存器324使CPU子系统112可得知或取得一注入或恢复操作的进行过程。若注入或恢复操作产生有一错误,该NVB_PROGRESS暂存器324的值将界定错误发生的大约地址。若依注入或恢复操作中断时,NVB_PROGRESS暂存器324将在该中断发生后,步进或增量(increment)至下一扇区。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31   读RO  0   保留
  30:4   读RO  0   NVB_PROGRESS   目前非易失性存储器的注入或恢复的地址。此值仅在一注入或恢复操作中有效。
  8:0   读RO  0   保留
表12-NVB_PROGRESS暂存器
ATA_INT_STATUS暂存器326可由CPU子系统112所读取,以判断非易失性存储器108ATA装置是否已产生中止(interrupt),如在一注入或恢复操作中成功读取或写入数据的一个或多个扇区时,并判断一注入或恢复操作是否已完成。该ATA_INT_STATUS暂存器326也可使CPU子系统112清移除该中止的源出或来源。
  位   读/写(R/W)  重设(Reset)   名称   说明
  31:3   读RO  0   保留
  2   读RO  0   ATA_DEVICE_INT   ATA装置中止。此位反应非易失性存储器ATA装置中止线
  的状态(1=确认/asserted)。
 1   读写1CRW1C   0   RESTORE_DONE_INT   恢复操作完成。当一恢复操作完成时,此位将会被设为1。若于ATA_INT_ENABLE暂存器中的关联位也被设定时,则一ATA_IRQ将会产生。写入1至此位位置将会清移除该位(及中止)也会开始一新的恢复操作。
 0   读写1CRW1C   0   FLUSH_DONE_INT   注入操作完成。当一注入操作完成时,此位将会被设为1。若于ATA_INT_ENABLE暂存器中的关联位也被设定时,则一ATA_IRQ将会产生。写入1至此位位置将会清移除该位(及中止)也会开始一新的注入操作。
表13-ATA_INT_STATUS暂存器
ATA_INT_ENABLE暂存器328致能CPU子系统112可致能或停止由ATA_INT_STATUS暂存器326所界定的中断来源。
  位   读/写   重设   名称   说明
  (Bits)   (R/W)  (Reset)
  31:3   读写RW  0   保留
  2   读与写RW  0   ATA_DEVICE_INT_EN   ATA装置中止开启。当设为1时,ATA装置的中止将会产生一ATA_IRQ中止。
  1   读与写RW  0   RESTORE_DONE_INT_EN   恢复操作完成中止开启。当设为1时,该恢复完成的中止将会产生一ATA_IRQ中止。
  0   读与写RW  0   FLUSH_DONE_INT_EN   注入操作完成中止开启。当设为1时,该注入完成的中止将会产生一ATA_IRQ中止。
表14-ATA_INT_ENABLE暂存器
NVB_ERROR_CODE暂存器322可在NVB_FLUSH_CRTL暂存器302或NVB_RESTORE_CTRL暂存器304告知一故障或失败发生时,界定当一注入或恢复操作完成时的错误类型。当检测到一ECC错误时,该操作将会终止于下一个扇区边界上。因此,仍可在该错误发生后传输至多512字节/bytes。于一实施例中,CPU子系统112可有忽视ECC错误的能力。硬件检测ATA装置的错误通过检查ATA装置状态暂存器/ATA Device Status Register的内容而达成,其是于ATA直接存取暂存器342/ATA Direst Access Register中的工作档案暂存器/Task File Register,详如下。存储器控制器102可在发出ATA指令及每一扇区的传输完成后,读取该ATA装置状态暂存器。故,ATA装置的错误可于该错误发生的扇区边界上被检测到并回报,意即,在ATA错误实际发生后仍可传输至多512字节。同理地,ATA操作仅终止于一扇区边界上。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31:9   读RO  0   保留
  8   读RO  0   NVB_ERROR_TYPE   0=ATA装置错误(或若无故障或失败则为无错误)1=DDR SDRAM无法更正的错误
  7:0   读RO  0   ATA_ERROR_CODE   ATA装置状态暂存器位/Bit 7:BUSY/忙碌Bit 6:RDYBit 5:DWF-发生写入错误Bit 4:DSCBit 3:DRQBit 2:CORRBit 1:IDX(定为0)Bit 0:ERR-指令终止于在ATA装置错误工作档案暂存器中所界定的错误
表15-NVB_ERROR_CODE暂存器
NVB_COFIG暂存器334使CPU子系统112可配置一注入操作的多种型态。尤其,CPU子系统112可使存储器控制器102自动执行一注入操作或可停止存储器控制器102使其不会自动执行一注入操作。另外,CPU子系统112也可经由NVB_CONFIG暂存器334选择式地指示存储器控制器102将界定一当注入操作终止时的注入操作结果的信息写入至非易失性存储器108中,该信息可为该注入是否成功完成或中断或有错误发生,如下所述。存储器控制器102将注入结果的信息写入至非易失性存储器108ATA装置的一预设注入结果扇区中。于一实施例中,注入结果扇区为该非易失性存储器108的第一扇区。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31:2   读RO  0   保留
  1   读/写R/W  0   WR_FLUSH_RESULTS_EN   开启位可允许注入操作的结果写入回至NVB存储器的第一扇区中。如下的形式。
  0   读/写R/W  0   AUTO_FLUSH_EN   开启位以用于电源低状态/power-down上自动注入。1=enabled/开启。0=disabled/停止。若为开启,则当一自动注入操作完成时(成功、失败或中断),此位将会被清移除。
表16-NVB_CONFIG暂存器
ATA_RESET暂存器336致能CPU子系统112可重设该非易失性存储器108ATA装置。
  位(Bits)   读/写(R/W)  重设(Reset)   名称   说明
  31:1   读RO   0   保留
  0   读/写R/W   0   ATA_RESET   当此位为1时,ATA装置将会维持于重设中。0则允许正常操作。
表17-ATA_RESET暂存器
ATA_CRC暂存器338包含32位CRC供数据在一注入或恢复操作完成时使用。CRC数据可自动地写入至写入结果扇区中,若此方式已被启动或许可。于一实施例中,一注入操作写入该CRC值至该写入结果扇区中,且当执行一恢复操作时,该CRC值与ATA_CRC暂存器338值比对以判断在注入或恢复操作中是否有任何数据损毁的发生,意即该比对将为一非相符的结果。
  位   读/写(R/W)   重设(Reset)   名称   说明
  31:0   读RO   0xFFFFFFFF   ATA_CRC   最后注入或恢复操作的CRC。该CRC为一使用16位输入的32位CRC。开始值为0xFFFFFFFF(预设)。多项式为:x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1(IEEE 802.3CRC-32多项式)然而,此最后结果并非可互补的(complemented)。
表18-ATA_CRC暂存器
写入至非易失性存储器108 ATA装置的注入结果扇区的注入结果信息的格式公开于下表19。
 字节偏置(Byte Offset)   名称
 0   完成签名 0x13AC
 2   完成状态 0x002(若完成有误或中止)0x003(若成功完成)
  4  完成错误码  同于NVB_ERROR_CODE暂存器的值
  6  CRC的高半(high half ofCRC)  0xXXXX
  8  CRC的低半(low half of CRC)  0xXXXX
  10  保留  0x00000000
  14  扇区栏字节/Sector Pad Bytes  0xFF(扇区的余数具有此值)
表19-注入结果扇区形式
完成签名(Completion Signature)的值也存储于闪速106的编码中,因此CPU 112可将该值与于非易失性存储器108注入结果扇区中的完成签名值作比对,以判断一注入操作是否成功。除此之外,于一实施例中,存储器控制器102可计算被注入至非易失性存储器108的数据的一运作循环冗余校验码(CRC),并将最后的CRC值写入至于在如表19所示的偏置中的注入结果扇区。如此将可使CPU子系统112在一恢复操作中读取数据时产生一CRC以通过将其与ATA_CRC暂存器338值作比对以确定该数据是否有效,意即,经由注入操作该数据正确地写入至非易失性存储器108中。
ATA直接存取暂存器342包含控制及状态暂存器以供CPU子系统112使用于与非易失性存储器108ATA装置通信。于一实施例中,ATA直接存取暂存器342包含一标准ATA暂存器档案,即一般所称的工作档案(Task File),亦指本领域熟知的磁盘机。存储器控制器102读取及写入该ATA直接存取暂存器342以对非易失性存储器108ATA装置执行ATA指令,如于一注入操作中之后写入数据的写入及一恢复操作中的数据读取。CPU子系统112也可直接对ATA直接存取暂存器342作存取。
请参阅图4,其显示如图1所示的本发明的磁盘阵列控制器100执行一注入操作流程图。该流程由方块402开始。
于方块402中,CPU子系统112依存储器控制器102所需用于执行一自动注入操作的信息而编程如图3所示的存储器控制器102CSR202。较佳为,CPU子系统112程序执行此功能并视其为开机或开启中的初始化程序。然而,与如于此一并提及的动态写缓存大小的实施例而言,在磁盘阵列控制器100的正常操作下,CPU 112仍可在开机时间后以更新的信息编程存储器控制器102CSR 202以回应一写缓存的大小调整。尤其,CPU子系统112可以所需之值进而编程NVB_FLUSH_CTRL暂存器302、NVB_RAM_START_ADDR1暂存器306、NVB_ATA_START_ADDR1暂存器308、NVB_SIZE1暂存器312、NVB_RAM_START_ADDR2暂存器314、NVB_ATA_START_ADDR2暂存器316、NVB_SIZE2暂存器318、NVB_SECTOR_COUNT暂存器322、ATA_INT_ENABLE暂存器328、NVB_CONFIG暂存器334,以提供存储器控制器102执行一注入操作时所需的信息。于一实施例中,CPU子系统112编程存储器控制器102以注入所有缓存的数据,即后写入数据及读缓存数据;然而,于另一实施例中,CPU子系统112编程存储器控制器102以仅包含后写入数据,由此而减少执行注入操作所需的电能及时间。另外,CPU子系统112可初始化注入结果扇区为一预设值,以使CPU子系统112可判断存储器控制器102是否在一注入操作后,成功地将注入操作结果的信息写入至注入结果扇区。举例而言,于一实施例中,CPU子系统112以一至注入结果扇区中的每一字节的0xFF值进而写入或擦除该注入结果扇区。当主电源供电至磁盘阵列控制器100时,CPU子系统112将随后开始正常运作。正常操作包含执行后写入操作,其可使后写入数据存入至非易失性存储器104中。流程进行至方块404,详如下。
于方块404中,主电源无法供电至磁盘阵列控制器100。因此,电容器136开始供电至磁盘阵列控制器100的预设部分,即高速缓冲存储器104、非易失性存储器108、存储器控制器102、电源控制装置132、及电源调节器134以及其他相关电路。尤其,电容器136并不供电至CPU子系统112、磁盘接口116、或主接口118。另外,PCI-X接口216及218以及FIFO 206由于此些接口仅用于作为与磁盘接口116及主接口118的接口,故电容器136可不供电至此些接口。因此较佳为,CPU子系统112、磁盘接口116、主接口118及存储器控制器102的非必要部份,都将不于注入操作时耗电,由此磁盘阵列控制器100可使电容器136可存储较少的电能,故也隐喻该些电容器136可为较非昂贵及/或仅需较小空间的电容器。另外,由于CPU子系统112、磁盘接口116及主接口118并不消耗存于电容器136中的电能,故电容器136在注入操作完成后仍可保留较多的电能,也因此增加了电容器136可在注入完成时仍持续供电至高速缓冲存储器104的可能性,故可完整保留后写入数据以备当主电源恢复时一恢复操作的需求,详如下所述。流程进行至方块406。
于方块406中,电源控制装置132检测主电源的中断并经由pwr_state信号指示存储器控制器102可开始将数据自高速缓冲存储器104注入至非易失性存储器108的注入操作。流程进行至方块408。
于方块408中,若于NVB_CONFIG暂存器334中的AUTO_FLUSH_EN位被设定时,则存储器控制器102将依先前已编程至如方块402所示的CSR 202中的信息执行注入操作。尤其,存储器控制器102可复制由NVB_RAM_START_ADDR1暂存器306/NVB_SIZE1暂存器312及NVB_RAM_START_ADDR2暂存器314/NVB_SIZE2暂存器318所界定的二区域中的数据至非易失性存储器108中分别由NVB_ATA_START_ADDR1暂存器308及NVB_ATA_START_ADDR2暂存器316所界定的二位置,如NVB_SECTOR_COUNT暂存器322及ATA_INT_ENABLE暂存器328所界定。于一实施例中,第一区域包含后写入数据中含有实际用户数据部分的数据,及第二区域包含后写入数据中为元数据部份的数据。于另一实施例中,该第一区域包含后写入用户数据及与其相关联的元数据,及该第二区域包含读取缓存(read-cached)用户数据及与其相关联的元数据。然而,此二区域的使用不仅限于此些实施例。而且,该些实施例也可不仅限于二数据区域,CSR 202可包含藉定较多或较少于二数据区域的暂存器。流程进行至方块412。
于方块412中,若于NVB_CONFIG暂存器334中的WR_FLUSH_RESULTS_EN位被设定时,则存储器控制器102可在注入操作后,将如表19所界定的注入结果信息写入非易失性存储器108的注入结果扇区,该数据可为注入操作是否已成功、已中断或因一错误而终止。若CPU子系统112中断一注入(或恢复)操作,或若存储器控制器102于该注入(或恢复)操作中检测到一ECC或ATA错误,则存储器控制器102将终止该注入(或恢复)操作于下一扇区边界上。若于NVB_CONFIG暂存器334中的WR_FLUSH_RESULTS_EN位被设定时,存储器控制器102将存写注入结果扇区并置放布尔(Boolean)值10至flush_status信号224上以及至NVB_FLUSH_CTRL暂存器302的FLUSH_STATUS位中。当存储器控制器102写入注入操作结果至注入结果扇区本身中时,若CPU子系统112指示一中断或存储器控制器102检测到一错误,则该注入操作结果将不一定可成功地被写入至注入结果扇区中,且若该些结果可被写入,该注入结果的信息仍是不可靠的。流程进行至方块414。
于方块414中,电源控制装置132指示存储器控制器102初始化注入操作后时,电源控制装置132经由flush_status信号224监控该注入操作的过程。当该注入操作完成时,电源控制装置132经由pwr_state信号222指示存储器控制器102将高速缓冲存储器104设于自我更新模式中,以减少可供高速缓冲存储器104消耗的存于电容器136中的电能。流程进行至方块416。
于方块416中,存储器控制器102将高速缓冲存储器104设于自我更新的模式中以回应于方块414中的电源控制装置132所执行的指令。流程进行至方块418。
于方块418中,电源控制装置132使电容器136仅供电至高速缓冲存储器104。意即,电源控制装置132使电容器136不再供电至非易失性存储器108及存储器控制器102,如此以减少等待直到主电源恢复前所消耗的存于电容器136中的电力。流程终止于方块418。
参图5,其显示如图1所示的本发明的磁盘阵列控制器100于主电源自主电源中断或故障恢复后的流程图。流程开始于方块502。
于方块502中,主电源恢复供电至磁盘阵列控制器100。因此,CPU子系统112程序将开启或开机,并开始其初始化程序。流程进行至判定方块504。
于判定方块504中,CPU子系统112判断高速缓冲存储器104的内容是否仍为有效的。于一实施例中,CPU子系统112通过存储器于电源控制装置132中的数据完好指示器以判断高速缓冲存储器104的内容,其系可由该存储器控制器102写入。电源控制装置132用于使其在电力提升时,该数据完好指示器可重设为预设值,如为零的布尔值。除此之外,电源控制装置132的电力关闭临界(power-offthreshold)至少与高速缓冲存储器104开始流失或丧失其数据的电力临界同高。当主电源中断时,存储器控制器102写入不同于该电力提升重设值的值至该数据完好指示器中。因此,若电容器136无法供电至高速缓冲存储器104(并因此也无法供电至数据完好指示器),则当主电源恢复时,CPU子系统112将会自该数据完好指示器读取该电力提升重设值,而非写入至存储器控制器102的值。故,若注入操作成功时,CPU子系统112将判断高速缓冲存储器104系必需自非易失性存储器108。然而,若CPU子系统自该数据完好指示器读取由存储器控制器102写入的值,则CPU子系统112将判断其可先行恢复高速缓冲存储器104,因此可使用户数据较早提供主电脑使用。若高速缓冲存储器104的内容有效时,流程将进行至判定方块516;否则,则流程将进行至判定方块506。
于判定方块506中,CPU子系统112通过检查NVB_FLUSH_CTRL暂存器302的FLUSH_STATUS位以判断一如图4所执行的注入操作是否成功完成。于一实施例中,CPU子系统112进一步通过检查于注入结果扇区中的完成状态(Completion Status)以判断该注入操作是否成功完成。于一实施例中,CPU子系统112亦通过比对于注入结果扇区中的完成签名(Completion Signature)与于编码缓存106中的完成签名,以判断该注入操作是否成功完成。于一实施例中,CPU子系统112亦通过比对于注入结果扇区中的CRC与经自非易失性存储器108中读取数据而计算出的CRC,以判断该注入操作是否成功完成。若注入操作成功完成,流程将进行至方块512;否则,流程将进行至方块508。
于方块508中,因后写入数据已丧失或失去,磁盘阵列控制器100可故障转移至其合伙者或分担者(partner),即于该系统中的重复或多余的磁盘阵列控制器。于一实施例中,在正常操作下当主机发出一写入输入/输出需求至磁盘阵列控制器100时,后写入数据也将被写入至所述的分担磁盘阵列控制器100中。因此,若该些磁盘阵列控制器100的故障时,尤其若一注入操作在一磁盘阵列控制器100上失误或故障时,将可大为提高注入操作在其分担磁盘阵列控制器上成功执行的可能性。故,该分担磁盘阵列控制器100可执行后写入数据的一自非易失性存储器108至高速缓冲存储器104的恢复,且因此而使该后写入数据可注入至磁盘中。流程结束于方块508。
于方块512中,CPU子系统112指示存储器控制器112执行一恢复操作以恢复在如图4所示的注入回高速缓冲存储器104的注入操作中,自高速缓冲存储器104注入至非易失性存储器108的数据。于指示高速缓存存储器102执行恢复操作之前,CPU子系统112将编程合适的值至需执行的恢复存储器控制器102中不同的CSR 202。于一实施例中,CPU子系统112执行恢复操作,而非指示存储器控制器102执行该恢复操作,并通过简易地自易失性存储器108读取数据及写入数据至高速缓冲存储器104以执行该操作。因注入操作系于当主电源供电时执行,故存储器控制器102并非绝对必要需以一较低的耗电级别进而执行该注入操作。然而,此实施例的缺点在于,CPU子系统将需较长为存储器控制器102的时间以完成注入操作。流程进行至方块514。
于方块514中,CPU子系统112自高速缓冲存储器104注入后写入数据至磁盘。流程结束于方块514。
于判定方块516中,CPU子系统112通过读取NVB_FLUSH_CTRL暂存器302的FLUSH_STATUS位以判断一注入操作是否为处于进行中。若一注入操作系于进行中,流程将进行至判定方块518;否则,流程进行至方块514。
于判定方块518中,CPU子系统112检查电容器136的电压电平以判断该电压级是否高于最低临界值。于一实施例中,该最低电压临界值为编程入CPU子系统112程序中。于另一实施例中,最低电压临界值是用户可编程的,其可经由一用户配置程序而编程。若电容器136的电压电平高于该最低临界值,流程将回至判定方块516以等待注入操作完成或电容器136的电压达到该最低临界值;否则,流程进行至方块522。
于方块522中,CPU子系统112通过写入布尔值0至于NVB_FLUSH_CTRL暂存器302中的FLUSH_START位中以中断注入操作。流程进行至方块514。
若高速缓冲存储器104仍为有效及注入操作仍处于进行中直至注入操作完成或电容器136电压电平达到最低临界值时,等待开启或开始磁盘阵列控制器100及恢复正常操作的程序将可解决在无使用于判定方块518中的额外测试的情况下可能发生的问题,如下所举例。假设电源控制装置132感测到主电源中断并指示存储器控制器102执行一注入操作。电容器136所存储的大部分电能被该注入操作所消耗。于该注入操作完成前,主电源恢复了;因此,CPU子系统112中断该注入操作。CPU子系统112开机并使另一主电源中断时需启动的另一注入操作开启。紧接在此之后,且重要地,当电容器136处于低于其完全充电的状态时,电源控制装置132将因此感测到另一主电源中断,并指示存储器控制器102执行另一注入操作。此第二次注入操作将再次消耗相当大小的存储于电容器136中的电能,且其已以一低于完全充电的状态而开始的操作。若此程序或流程持续下去,最后该些电容器136将不具有足够的电能以成功完成一注入操作,而造成用户数据丧失的可能。以上所述的情况可能因主电源的周期性的电力减弱或有干扰的供电而造成电源控制装置132感测到某程度的周期性的主电源中断,而该些周期于注入操作的时间上。然而较佳的是,在判定方块518中的额外测试可减少此问题的发生。于另一实施例,在方块518中,CPU 112判断注入操作是否完成;且若是,则流程进行至方块514;若否,则流程进行至方块516。
虽然于此所述的该些实施例中的存储器控制器用于执行自易失性存储器将后写入数据注入至非易失性存储器中,该些实施例也涵盖CPU执行自易失性存储器至非易失性存储器的注入操作,如图6及7所示。如图6及7所示的实施例,其用CPU子系统112以执行注入操作为可成立的实施例若以下一个或多个情况为肯定时:电容器136的电能密度高至足够存储磁盘阵列控制器100所需的电能,其包括CPU子系统,以执行注入操作;磁盘阵列控制器100上用于容纳电容器136的可用空间大至容纳足够的电容器136以存储磁盘阵列控制器100所需的电能,其包括CPU子系统,以执行注入操作;CPU子系统112消耗一够小的电力而使电容器136可存储足够的电力提供该磁盘阵列100,包括CPU子系统,以执行注入操作。虽然此实施例可能消耗较多于如图1至5所示的该些实施例所消耗的电能,但若电容器136可提供所需的电能,则磁盘阵列控制器100将可享有利用电容器的技术所带来的优于如前述的电池技术的优点,如较低的成本、较高的可靠性、较少的维护及较短的充电时间等优点。
请参阅图6,其显示如本发明的另一实施例的磁盘阵列控制器600的方块图。如图6所示的磁盘阵列控制器600类似于如图1所示的磁盘阵列控制器100;然而,就注入操作而言,电源控制装置132耦合以与CPU子系统112通信,而非与存储器控制器102通信,如下所述并请参图7。
请参阅图7,其显示如图6所示的磁盘阵列控制器600执行注入操作的操作流程。流程开始于方块704。
于方块704中,主电源无法供电至磁盘阵列控制器600。为回应此情况,电容器136开始供电至磁盘阵列控制器600的预设部分,即高速缓冲存储器104、非易失性存储器108、存储器控制器102、电源控制装置132、电源调节器134、CPU子系统及其相关的电路。尤其,电容器136并不供电至CPU子系统112、磁盘接口116、或主接口118。另外,PCI-X接口216及218以及FIFO 206由于此些接口仅用于作为与磁盘接口116及主接口118的接口,故电容器136可不供电至此些接口。因此较佳为,CPU子系统112、磁盘接口116、主接口118及存储器控制器102的非必要部份,都将不于注入操作时耗电,由此磁盘阵列控制器100可使电容器136可存储较少的电能,故也隐喻该些电容器136可为较非昂贵及/或仅需较小空间的电容器。另外,由于CPU子系统112、磁盘接口116及主接口118并不消耗存于电容器136中的电能,故电容器136在注入操作完成后仍可保留较多的电能,也因此增加了电容器136可在注入完成时仍持续供电至高速缓冲存储器104的可能性,故可完整保留后写入数据以备当主电源恢复时一恢复操作的需求,详如下所述。流程进行至方块706。
于方块706中,电源控制装置132检测主电源的中断并告知CPU子系统112有一将数据自高速缓冲存储器104注入至非易失性存储器108的注入操作的必要。流程进行至方块708。
于方块708中,CPU子系统112通过自高速缓冲存储器104复制数据制非易失性存储器108以执行注入操作。流程进行至方块712。
于方块712中,CPU子系统112于注入操作完成时,将如表19所界定的注入结果信息写入至非易失性存储器108的注入结果扇区中,结果如注入操作是否成功、中断或因错误而终止。流程进行至方块716。
于方块716中,CPU子系统112系将高速缓冲存储器104设于自我更新模式中。流程进行至方块718。
于方块718中,CPU子系统112指示电源控制装置132使电容器136仅供电至高速缓冲存储器104。意即,电源控制装置132使电容器136不再供电至CPU子系统112、非易失性存储器108及存储器控制器102,如此以减少等待直到主电源恢复前所消耗的存于电容器136中的电力。流程终止于方块718。
请参阅图8显示的表800或数据库800,其是如本发明的图1电容器组136于不同温度及电压组合下的存储寿命。如图8所示的数值是参考用的假设值,而非一特定电容器产品的真实数值,其真实数值可透过该特定电容器的制造商而获得。另外,所示温度范围也为假设的范围,仅提供作为参考用。
如前述,电容器组136的目的在于存储电能,故当主电源中断时,可以提供在将缓存存储数据自写缓存156备份或注入至非易失性存储器108时所需的电力。当电容器组136不再具有存储足够电能的容量或能力以备份写缓存156至非易失性存储器108时,该电容器组136已达到其寿命末期,即其寿命已过期。当电容器组136用于磁盘阵列控制器100的操作中时,该电容器组136的电容量随时间而下降。多种不同的因素皆有可能影响电容器组136电容量的下降,因素包括温度、工作电压、过度或过大的电流、及电容器组136的极性改变。于一实施例中,电容器组136的电流也受监视,且若电流超过一预设的大小时,电容器组136的充电将暂时停止以防止提早缩短该电容器组136的寿命,如下所述。于磁盘阵列控制器100操作中时,电容器组136的极性保持相同的,以防止提早缩短该电容器组136的寿命。因此,温度及工作电压影响电容器组136的电容量,进而影响其寿命的主要因素。
于磁盘阵列控制器100的一实施例中,电容器组136的保证寿命为5年。意即,该磁盘阵列控制器100的制造商保证该电容器组136会有至少可用5年以用于存储足够电力提供备份写缓存156至非易失性存储器108的足够电容量。电容器组136中的每一电容器可存储的电能可由公式(1)得知,其中E为电容器所存的电能、C为电容器电容量、Vop为电容器的工作电压及Vmin为电容器的截止(cut-off)电压:
E=1/2*C*(Vop 2-Vmin 2)             (1)
于一实施例中,电容器组136由四电容器串联设置而成,其中每一电容器为相同的电容器种类或型号。因此,该电容器组136所存储的电能总和为在该电容器组136中的该些四电容器的每一电容器所存储电能的总和,或大致同等于在该电容器组中每单一电容器电能的四倍。除此之外,该电容器组136的工作电压为于该电容器组136中的四电容器工作电压的总和,或大致同等于在该电容器组中每单一电容器工作电压的四倍。磁盘阵列控制器100包含有效平衡均衡电路,其用一四运算放大电路以平衡该电容器组136中每一电容器的电压至大约为该电容器组136电压的四分之一。于一实施例中,在该电容器组136中的每一单一电容器所受的环境温度及工作电压假设为大致相同的;故,每一该些电容器的寿命为大致相同的。于另一实施例中,该电容器组136中的每一该些电容器的寿命依温度及个别的电压读数而计算出,且以所计算得到的最低电容器的寿命数值作为该电容器组136整体观的寿命限制。
于一实施例中,电容器组136的寿命末期指当该电容器组136中的该些电容器已达比原电容量值有30%电容量下降。于一实施例中,当30%电容量下降到达时,该电容器组136将无法存储足够电能以在正常电压下执行备份操作。于另一实施例中,30%电容量下降的寿命末期的值可提供某程度的容错裕量(error margin);意即,于电容器组136中的电容器可实际上具有多于30%下降的电容量,以视为不具有存储足够电能以在正常工作电压下执行备份的能力。然而,可以理解的是,本发明并不局限于一特定的电容量下降值;反之,本发明可在其它不同电容量下降值上实施,视所需执行备份的电能及所用的特定电容器特征而定。如图8所示的表800所界定的寿命数值,其公开电容器组136的单一电容器在到达其寿命末的自原电容量值的电容量下降百分比前,可于一界定的温度及电压下操作的时数。因此,每一存于该表800中的寿命值可理解为若该电容器组136于所索引的寿命期间的温度及电压下操作时,该电容器组将可具有存储至少预设电能量的电容量的情况下的寿命。于一实施例中,该预设电能大小为所计算的电能大小以提供足够电能执行备份写缓存156的完整大小至非易失性存储器108。
于一实施例中,图8的表800以二次元阵列存储于编码闪速106中,并当磁盘阵列控制器100开启时复制CPU子系统的程序RAM,故使该CPU 112可运用采样的温度及电压值进而查询于表800中的寿命值。如图8的实施例中,磁盘阵列控制器100支持于二不同的电压下操作电容器组136,8.2V及7.2V,如表800所示。于表800中,该8.2V工作电压占据了所述阵列的标号0,而该7.2V工作电压则占有该阵列的标号1。较佳为,于此所述为用于动态减少或节流控制(throttling)电容器组136的工作电压至较低的电压电平以增加该电容器组136寿命的方法。虽然图8实施例仅公开二可能的工作电压,本发明并不局限于二工作电压;反之,所有实施例皆可具有一较大的工作电压。而且,也可包含其它未叙的工作电压值实施例。于一具体例子中,四电容器136为串联设置,且每一电容器136于大约为2.05V或1.8V下操作,其依CPU 112所控制的该电容器组136的工作电压而定。该阵列800包含相对于所述的二电压值的二纵列。该阵列800的横行则标示有温度值。每一横行相对于不同整数摄氏温度值。图8的表800的实施例包括有自摄氏10度至40度的环境温度值。例如,如图8所示,在摄氏40度及8.2V(或每一电容器为2.05V)时的寿命为800小时,及在7.2V(或每一电容器为1.8V)时的寿命则为820小时。于一实施例中,假设在一固定工作电压值下,于电容器组136中的电容器的特征为该些寿命值大约为温度的对数函数(logarithmicfunction)。CPU 112运用采样温度及电压值以标示该表800,以获得所界定的寿命进而用于计算累积标准化运作时间152及其相关数值,详如下及其相关图式所公开。
如前述,于一实施例中,保证寿命为5年。然而,为与如表800所提供的假设值更为相符,于此假设一保证寿命为1000小时。于表800所示,若电容器组136持续于8.2V及摄氏25度下操作,该电容器组的保证寿命为1000小时,意即该电容器组将在1000小时后到达其寿命末期的电容量下降百分比(如30%)。相较之下,若该电容器组136持续在7.2V及摄氏28度下操作,该电容器组的保证寿命为1000小时,意即该电容器组将在1000小时后到达其寿命末期的电容量下降百分比。因此,当在8.2V下操作的电容器组136的标准温度为摄氏25度,而当在7.2V下操作的标准温度为摄氏28度。意即,所述的标准温度,对一特定工作电压而言,为电容器组136的寿命到达保证寿命时的温度,或超过该保证寿命而设有边限的寿命。然而,表800的数值可自实验环境中将电容器组的温度及电压维持于恒值而取得,当电容器组136在一电脑系统中的磁盘阵列控制器100中操作时,所述温度将会与标准温度有所差别。相同地,较佳为电容器组136的工作电压可于必要时有目的地动态调整,由此使该电容器组136的寿命增加以提供其保证寿命,详如下。因此较佳地,本发明说明了磁盘阵列控制器100如何使用相对于在特定工作电压值的标准温度中进而标准化自表800所得的寿命值,如下所述并请参图9。
于一实施例中,电容器组136包含四个50法拉的电容器串联一起并当完全充电且于其满电容量时存储约为356焦耳的可用电能,假设每一电容器具有一2.05V的工作电压及一0.8V的截止(cut-off)电压,其界定用于可靠的FET栅临界值的最低工作电压及低压差电压稳压器(low drop out regulation);相对地,于一30%电容量下降时,电容器组136仅存储有250焦耳。假设每一电容器于一1.8V工作电压,该电容器组136可存储260焦耳的可用电能;相对地,于一30%电容量下降时,该电容器组仅存有182焦耳。于一实施例中,高速缓冲存储器104、非易失性存储器108、存储器控制器102、电源控制装置132、DDR-SDRAM总线接口终端电路、一时间电路及其他多种需要于注入操作时耗电的电路的耗电约为4瓦。非易失性存储器108可以一约为10MB/秒的认可速度被写入。于一实施例中,高速缓冲存储器104的大小为1GB,其包含约512MB大小用于一写缓存156的整体,及该非易失性存储器108的大小为512MB。因此,注入操作约需50秒完成并消耗约200焦耳的电能。故可以得知,当电容器组136于较低的7.2V值操作时,虽然电容器组136尚未到达其30%电容量下降及其寿命末期,但该电容器组136可能已无法存储足够电能以备份完整的写缓存156。较佳为如下所述,一用于动态式地减少写缓存156大小至一可使电容器组136提供足够电能以执行备份的大小的方法。
虽然于此所述的实施例中的保证寿命是基于一可执行由写缓存156备份至非易失性存储器108时所需的预设电能大小,然而如此所述的电容器组136的寿命监视及动态电压节流控制方法并不仅限于此一应用。该些实施例包含保证寿命基于一可执行其他功能时所需的预设电能量大小的应用。例如,实施例可为磁盘阵列控制器100并不包含非易失性存储器108以用于备份写缓存156,及预设电能量为需用于供电至易失性存储器104一预设时间(如3天)的电能大小,故在主电源中断时可保持于写缓存156中数据的完整性直到主电源恢复为止。
请参阅图9,其显示本发明的如1图所示的磁盘阵列控制器100的操作流程图。尤指,图9显示磁盘阵列控制器100如何计算电容器组136的累积标准化运作时间152。流程开始于方块902。
于方块902,CPU 112初始化累积标准化运作时间152及累积日历运作时间154。于一实施例中,该累积标准化运作时间152及该累积日历运作时间154皆在磁盘阵列控制器100制造时被初始化。于一实施例中,累积标准化运作时间152及累积日历运作时间154皆初始化为零。于另一实施例中,累积标准化运作时间152及累积日历运作时间154依电容器组的电容量值的偏差因素而初始化为一时间值,如由电容器组制造者所界定或提供的信息。举例而言,若电容器组制造商界定10%的偏差,则累积标准化运作时间152及累积日历运作时间154初始化至寿命末期值的10%,如5年的10%。于另一实施例,累积标准化运作时间152及累积日历运作时间154初始化至一日历年龄,如自该电容器组136制造后开始算起的时间。其他实施例可为累积标准化运作时间152及累积日历运作时间154初始化至一基于偏差值及日历年龄组合值。其他实施例也可为累积标准化运作时间152及累积日历运作时间154初始化至一基于所欲设的误差边限值。流程进行至方块904。
于方块904中,CPU 112分别经由温度感测器142及电压感测器144周期性地在如图1的电容器组136的一大时间区间上采样电容器组的温度及电压并平均所采样的温度及电压。于一实施例中,采样时段为15秒及平均时间区间为一小时。平均化在一较大的时间区间上所采样值并在每一该较大时间区间上写入累积标准化运作时间152及累积日历运作时间154至非易失性存储器108,而非在每一次采样该些值时,所有的优点在于其可减少CPU 112带宽的消耗并可避免超过至非易失性存储器108的写入循环的最大值。流程进行至方块906。
于方块906中,CPU 112通过索引图8的表800以查询方块904于平均温度及电压值的寿命数据以获得于平均温度及电压寿命。于一实施例中,平均温度及电压值若有必要可四舍五入至下一最高值。例如,若平均温度为30.8度时,则该值可四舍五入至31度以用为于图8的表800中的索引。同理地,若平均采样电压为7.8V,则该值四舍五入至8.2V而入该表800的电压索引为0。值得注意的是,于另一实施例中,若寿命值可为一温度及电压函数时,则该寿命值可自该公式计算出而无需自表800查询出。然而此实施例有一潜在缺点,其可能需要较宽于利用表查询方法的CPU 112运算带宽,尤其于执行浮点数运算时。然而,此实施例也可有其优点,可允许间隔较小于该表查询方法的温度及电压值。流程进行至方块908。
于方块908中,CPU 112通过将时间区间与保证寿命对自方块906所得的寿命值之间的比值进行相乘,以标准化该时间区间。举例而言,假设该时间区间为一小时,保证寿命为1000小时,及自方块906所得的寿命为2000小时(因所测温度及/或电压低于正常温度及电压),则标准化时间区间为1小时*(1000/2000)=0.5小时;因此,该标准化时间区间小于该时间区间的日历时间,由此说明了在一小时的日历操作时间区间中,电容器组136的寿命有效地减少了一小时。相对地,假设于方块906所得寿命仅为500小时(因所测温度及/或电压低于正常温度及电压),则该标准化时间区间将为1小时*(1000/5000)=2小时;因此,该标准化时间区间大于该时间区间的日历时间,由此说明了在一小时的日历操作时间区间中,电容器组136的寿命有效地增加了一小时。流程进行至912。
于方块912中,CPU 112将自方块908计算的标准化时间区间加入至累积标准化运作时间152值以反映电容器组136于自方块904所得的平均温度及电压在方块904所得的时间区间中操作的影响或效果。另外,CPU 112亦将平均的时间区间(即非标准化时间区间,如一小时)加入至累积日历运作时间154,以产生一更新的累积日历运作时间154值。流程进行至方块914。
于方块914中,CPU 112写入该更新的累积标准化运作时间152及自方块912所计算出的累积日历运作时间154至非易失性存储器108,故可在主电源中断时维持该些值并可于磁盘阵列控制器100重新开机时再次利用该些值。流程进行至方块916。
于方块916中,CPU 112计算所使用的标准化保证寿命的使用百分比,即累积标准化运作时间152与保证寿命的比值。例如,若累积标准化运作时间152为200小时及保证寿命为1000小时,则该电容器组136的标准化保证寿命的使用百分比为20%,意即已用掉有效保证寿命的20%,而剩有效保证寿命的80%。流程进行至方块918。
于方块918中,CPU 112计算电容器组136的电容量下降百分比,即自方块916所算的标准化保证寿命的使用百分比与寿命末期的电容量下降百分比的乘积数值。举例而言,若寿命末期电容量下降百分比为30%,而自方块916所算的标准化保证寿命的使用百分比为20%时,则电容器组136的电容量下降百分比为6%。流程进行至方块922。
于方块922中,CPU 112将自方块918所计算的电容器组136的电容量下降百分比报告给用户。另外,用户也可得知该电容量下降百分比是否于良好、警告或错误的范围内。于一实施例中,当该电容量下降百分比在寿命末期电容量下降百分比的1%之内时,则用户将被警告已接近该寿命末期。于一实施例中,用户可输入欲被告知的寿命末期已接近的范围。于一实施例中,用户也可得知寿命末期电容量下降百分比以用于比对电容量下降百分比。于一实施例中,CPU 108也报告用户所剩的标准化寿命小时数,其由保证寿命减掉累积标准化运作时间152计算而得。于一实施例中,该信息经由串行接口提供给用户。于一实施例中,该信息经由一网络浏览器接口提供给用户,如经由一TCP/IP连接至一Ethernet接口。流程回至方块904以监视于另一时间区间的电容器组136寿命。
如图9所示,磁盘阵列控制器100较佳为可计算累积标准化运作时间152,其可有效地为电容器组136相对于其保证寿命的年龄测量或寿命。相对于累积日历运作时间154,其电容器组136操作的日历时间区间的总和,累积标准化运作时间152为相关于组成累积日历运作时间154的日历时间区间的标准化运作时间总和。该标准化运作时间通过标准化由表800所示寿命读取值而得,而该表所示于该时间区间上在相对于采样的工作电压下正常温度中的平均采样温度所得的值。因此,该累积标准化运作时间152一较电容器组136的日历年龄更有意义并较为正确的该电容器组136的有效年龄测量值,且此可在不受因放电/充电方式测量电容器组136的电容量可能产生的不利影响下完成。
值得注意的是如图9所示的实施例中,累积标准化运作时间152及累积日历运作时间154仅在磁盘阵列控制器100的操作中被更新,且尤指在CPU 112的操作中时。尤其,在磁盘阵列控制器100完全关机及当CPU 112在将一写缓存156备份至非易失性存储器108操作中为关机,该些值未被更新,所述的操作符合于如图1所示的实施例(虽非相符于如图5所示的实施例)。然而,应注意的是当磁盘阵列控制器100为关机时,于电容器组136上的电荷一般将快速地流失,因此而减少电压;且于低电压时,电容器组136的寿命将较慢老化。故,关机时间相对于有一保证寿命如5年的实施例而言并不是非常重要;然而,对具有较短的保证寿命的一实施例而言,该关机时间则可纳入考虑中。此与采用电池情况相反,电池在未使用状态时所存的电能将严重下降。除此之外,执行备份所需的时间以分钟计算。因此,即使于一高温度标准化,备份时间相对于有一保证寿命如5年的实施例而言并不是非常重要;然而,对具有较短的保证寿命的一实施例而言,该备份时间则可纳入考虑中。
请参阅图10,其显示本发明的如1图的磁盘阵列控制器100操作流程图。尤其,图10显示磁盘阵列控制器100如何调节电容器组136的工作电压,以在必要时延伸电容器组136的累积标准化运作时间152。图10也显示磁盘阵列控制器100在必要时如何动态减少写缓存156的大小。流程开始于方块1002。
于方块1002中,CPU 112检测到电容器组136温度已超过一第一预设临界值。于一实施例中,该第一预设临界值为摄氏51度。虽然图10公开一实施例,当检测到电容器组136温度已超过一临界值时,电容器组136的工作电压将被调节及写缓存156的大小将被调整,于此所述的该电压调节及写缓存156大小的调整方法并不局限于此实施例;而且,其他实施例可为磁盘阵列控制器100可基于其它原因进而调节工作电压并调整写缓存156的大小。举例而言,于一实施例中,在图9的每一时间区间末期,当CPU 112计算累积标准化运作时间152及累积日历运作时间154时,CPU 112进行至方块1004以判断电压调节及/或写缓存156的之大小调整是否为必要的。举另一例,虽然电容器组136温度可能未升高于该第一临界值,磁盘阵列控制器100仍可判断该电容器组136以到达其寿命末期并提供用户可以选择继续操作或是更换该磁盘阵列100,虽然可能为于一较小的写缓存156大小中。流程进行至方块1004。
于方块1004,CPU 112基于累积标准化运作时间152及累积日历运作时间154计算电容器组136的预期寿命。尤其,该预期的寿命计算为保证寿命与累积日历运作时间154相对于累积标准化运作时间152的比值的乘积。举例而言,若保证寿命为1000小时,累积日历运作时间154为300小时,及累积标准化运作时间152为200小时,则该预期寿命为1000小时*(300/200)=1500小时。流程进行至判定方块1006。
于判定方块1006,CPU 112将于方块1004所算出的电容器组136的预期寿命与保证寿命作比对以判断该预期寿命是否少于该保证寿命。若是,流程则进行至判定方块1008;若否,流程则进行至判定方块1024。
于判定方块1008,CPU 112判断电容器组136是否目前已于最低电压级或值下操作。于一例子中,当仅提供二电压级或值(如8.2V及7.2V)时,则最低电压级为7.2V。然而,于其他实施例中可提供多于二电压级。提供较多电压级的优点在于较小间隔的电压级可允许写缓存156的较小间隔调整;然而此缺点在于其可能需要较为复杂的电压调整电路及程序以用于电压调整及写缓存156的大小调整。若电容器组136目前已于最低的电压级操作,则流程进行至方块1022;若否,流程进行至方块1012。
于方块1012中,CPU 112已判断出电容器组136工作电压必须减少,故CPU 112可依其累积标准化运作时间152而计算通过电容器组136可于下一较低工作电压中存储电能而进行写缓存156的备份的大小。举例而言,假设一写缓存156的完整大小为512MB,及8.2V(每一电容器为2.05V)与7.2V(每一电容器为1.SV)的二电压级。虽然于电容器组136中的个别电容器数量可为不同,对一单一电容器而言的电容量下降百分比计算相同于电容器组136整体的电容量下降百分比。若C0为一电容器的原电容量,该电容器在正常2.05V的工作电压中所存的电能于30%寿命末期电容量百分比下降后为:E2.05、30%电容量下降=1/2*0.7C0*(2.052-0.82)=1/2*C0*2.494。当电容器于较低的1.8V工作电压及电容量下降百分比为零时所存的电能为::E1.8、无电容量下降=1/2*0.7C0*(1.82-0.82)=1/2*C0*2.6。因2.6大于2.494,电容器组136可存储足够电能以备份完整大小512MB的写缓存156;故无需要调整写缓存156的大小,且其将于方块1014所判断。然而,若已有一10%电容量下降,存储的电能为:E1.8、10%电容量下降=1/2*C*2.34。因2.34小于2.494,电容器组136仅存储足够的电能以备份(2.34/2.494)*512MB=480MB的写缓存156。同理地,若已有一20%的电容量下降,所存储的电能为:E1.8、20%电容量下降=1/2*C*2.08。故,电容器组136仅存储足够的电能以备份一(2.08/2.494)*512MB=427MB的写缓存156。于一实施例中,于CPU 112上执行的程序维持有一写缓存156大小值表,该表包含有介于零值及寿命末期电容量下降百分比值之间在每一可能工作电压值上的每一电容量下降百分比值。该表由电容量下降百分比作为其索引,如图9方块918中所计算的值。于一实施例中,电容量下降百分比于方块918中计算后,亦被写入至非易失性存储器108。流程进行至判定方块1014。
于判定方块1014中,CPU 112判断写缓存156于方块1012中所计算出的大小是否小于目前写缓存156的大小。若是,流程进行至方块1016;若否,流程进行至方块1018。
于方块1016,CPU 112减少写缓存156的大小至如方块1012所计算出的大小。于一实施例中,CPU 112通过暂停主机输入/输出指令的处理、注入写缓存156、减少写缓存至所需的大小(及由此可选择性增加读缓存大小),以及恢复主机输入/输出处理,以减少写缓存156的大小。于一实施例中,为减少主机输入/输出指令处理的暂停时间,CPU 112仅注入写缓存156中需自该写缓存156移除的部分(及可选择性地加入至读缓存),通常该部分邻近读缓存。于一实施例中,CPU 112也将写缓存156及读缓存158的新大小值写入至非易失性存储器108,因此磁盘阵列控制器100重新启动后,CPU 112可配置该写缓存156及读缓存158的大小为该些新大小值。流程进行至方块1018。
于方块1018中,CPU 112减少电容器组136的工作电压至下一电压级,以增加该电容器组136的寿命。于一实施例中,磁盘阵列控制器100也告知用户工作电压已减少。于一实施例中,CPU 112也将新的工作电压值写入至非易失性存储器108,因此在磁盘阵列控制器100重新启动后,该CPU 112可将该工作电压设定为该新的工作电压值。于一实施例中,电源控制装置132包含一控制暂存器,CPU 112可写入至该控制暂存器以调整电容器组136的工作电压。流程进行至方块1026。
于方块1022中,虽然需减少电容器组136的电压以增加该电容器组136的寿命,CPU 112判断该电容器组136已经于最低电压级中操作,故将无法减少该电压。因此,CPU 112发出用户一警告消息以警告此情况。流程进行至判定方块1026。
于判定方块1024中,CPU 112判断电容器组136的温度是否已超过一第二预设临界值。于一实施例中,该第二预设临界值为摄氏55度。若温度已超过该第二预设临界值,则流程进行至判定方块1008以减少电容器组136的工作电压-及减少写缓存156的大小-虽于方块1004所计算出的该电容器组136的预期寿命至少与保证寿命等长。若温度并未超过该第二预设临界值,则流程终止。
于判定方块1026中,CPU 112判断电容器组136的温度是否已超过一第三预设临界值。于一实施例中,该第三预设临界值为摄氏59度。若温度超过该第三预设临界值,则流程进行至方块1028;若否,则流成终止。
于方块1028中,CPU 112停止电容器组136的充电以避免过早或提早减少该电容器组136的寿命超过其保证寿命。造成温度急剧上升的可能原因为电容器组136的过度充电及系统中冷却风扇的故障。另外,若电容器组136并非完全充电CPU 112且将可能无法存有足够电力以备份写缓存156至非易失性存储器108中时,CPU 112将设该写缓存为直接写入的模式。流程终止于方块1028。于一实施例中,CPU 112延迟一预设时间后并尝试恢复电容器组136的充电。
如图10所示,磁盘阵列控制器100较佳可减少电容器组136的工作电压以增加其寿命,而此乃是基于若依累积标准化运作时间152,该电容器组136的保证寿命将无法被达到时。除此之外,若磁盘阵列控制器100判断电容器组136的电容量已下降至某一程度大小使该电容器组136无法于新的工作电压中存储足够的电能以支持写缓存156的备份时,则较佳地,该磁盘阵列控制器100将可减少该写缓存156的大小至一使该电容器组136可支持该备份大小。
请参阅图11,其显示如本发明图1所示的磁盘阵列控制器100的操作流程图。尤指,该流程公开了磁盘阵列控制器100在适当之时,将增加工作电压及写缓存156的大小。流程开始于方块1102。
于方块1102中,CPU 112检测到磁盘阵列控制器100目前以一小于写缓存156的正常或完整大小的写缓存156大小进行操作,并检测到因该写缓存156的大小已减小的缘故,一时间已经过或消耗。于一实施例中,所述经过的时间约为2小时,以防止过于平繁地调整该写缓存156大小造成无效率。流程进行至方块1104。
于方块1104中,CPU 112依累积标准化运作时间152及累积日历运作时间154计算出电容器组136的预期寿命,如图10的方块1004所执行的步骤。流程进行至判定方块1106。
于判定方块1106,CPU 112将于方块1104中所计算出的电容器组136的预期寿命与保证寿命作比对以判断该预期寿命是否小于该保证寿命。若否,流程将中止;若是,则流程进行至判定方块1108。于一实施例中,CPU 112通过一预设百分比判断该预期寿命是否小于该保证寿命,而非仅判断是否小于该保证寿命值,以避免调整该写缓存156的大小造成的辗转现象(thrashing)。
于判定方块1108中,CPU 112判断电容器组136目前是否已于最高电压电平中操作。若是,则流程终止;若否,则流程进行至方块1112。
于方块1112中,CPU 112将电容器组136的工作电压增加致下一电压电平。流程进行至方块1114。
于方块1114中,CPU 112计算出可备份的写缓存156的大小,而该大小指电容器组136可通过方块1112依该电容器组136的累积标准化运作时间152而设的新的工作电压下可以存储的电能进行备份操作的大小。流程进行至方块1116。
于方块1116中,CPU 112将写缓存156的大小增加至于方块1114中所计算出的大小值。于一实施例中,CPU 112通过暂停主机输入/输出指令的处理、增加写缓存156的大小至所需的大小,及恢复主机输入/输出的处理,以增加写缓存156的大小。与图10所示实施例中的方块1016一并参考,其中当减少写缓存156的大小时,读缓存158的大小也随之增加,而于方块1116中,CPU 112在暂停主机输入/输出指令处理后亦完成目前所有待完成的读取要求,并在增加该写缓存的大小前减少该读缓存的大小。
如图11所示,当磁盘阵列控制器100于依累积标准化运作时间152进而判断增加工作电压及增加写缓存156的大小的步骤为安全时,其将进行该步骤。
请参阅图12,其显示如本发明的图1所示的磁盘阵列控制器100的操作流程。尤指,图12所示的在磁盘阵列控制器100开机当中避免过早或提早使电容器组136老化磁盘阵列控制器100的操作流程。流程开始于方块1202。
于方块1202中,主电源提供至磁盘阵列控制器100。此意味着此电容器组136至少部份充电,若非完全充电。流程进行至方块1204。
于方块1204中,电源控制装置132开始充电该电容器组136。流程进行至方块1206。
于方块1206中,CPU 112将写缓存156设于直接写入模式中,因电容器组136并非完全充电,故其可能无法提供足够的电能以执行写缓存156备份至非易失性存储器108的操作。流程进行至方块1208。
于方块1208中,CPU 112分别经由温度感测器142、电压感测器144电流感测器146周期性地采样如图1的电容器组136的温度、电压及电流。于一实施例中,在所有时间中当电容器组136于充电时所采样的周期时间为3秒,此短于在非充电时的采样周期时间,进而可较快速地检测温度或电流的增加,尤其因温度或电流的增加可能提早老化电容器组136至超过其保证寿命。流程进行至方块1212。
于判定方块1212中,CPU 112判断电容器组136所使用的电流是否已超过一预设临界值。于一实施例中,该预设临界值为2安培。若是,流程进行至方块1214;若否,流程则进行至判定方块1216。
于方块1214中,CPU 112使电容器组136停止充电,以防止提早老化该电容器组136超过其保证的寿命。流程结束于1214。于一实施例中,CPU 112延迟一段时间后尝试恢复该电容器组136的充电并返回至方块1208。
于判定方块1216中,CPU 112判断温度是否已超过该第三预设临界值,类似于图10的判定方块1026所执行的步骤。若温度已超过该第三预设临界值,流程将进行至方块1214;若否,流程则进行至判定方块1218。
于判定方块1218中,CPU 112判断电容器组136的电压是否已到达其所已设的工作电压级或值。于一实施例中,目前的工作电压值存于非易失性存储器108中,故当主电源中断后且重新启动时,CPU112可判断在主电源中断前的工作电压并将其恢复至该电压值。若电容器组136的电压已到达其已设的电压值时,流程将进行至方块1222;若否,则流程返回至方块1208。
于方块1222中,因电容器组136是完全充电的,故CPU 112将写缓存156设于回写模式。流程结束于方块1222。
请参阅图13,其显示如本发明的另一实施例的磁盘阵列控制器100的操作流程图。图13的流程图显示磁盘阵列控制器100如何节流控制该电容器组136的工作电压,以在必要时延长电容器组136的累积标准化运作时间152,该流程图也显示磁盘阵列控制器100如何在必要时动态地减少写缓存156的大小,似于图10所示;然而,图13所示的实施例运用一不同的比较以判断是否需节流控制该工作电压。基于此,图13的流程图似于图10流程图;不同的是,流程自方块1002至方块1304而非至方块1004。
于方块1304中,CPU 112计算出电容器组136的日历时间电容量下降百分比,此百分比为寿命末期电容量下降百分比与累积日历运作时间154对保证寿命的比值的乘积值。故举例而言,若寿命末期电容量下降百分比为30%、累积日历运作时间154为400小时及保证寿命为1000小时,则日历时间电容量下降百分比为12%。流程进行至判定方块1306。
于判定方块1306中,CPU 112将于图9的方块918中所计算出的电容量下降百分比与于方块1304中所计算的日历时间电容量下降百分比作比对,以判断该电容量下降百分比是否大于该日历时间电容量下降百分比。若是,流程进行至判定方块1008;若否,流程进行至判定方块1024,如图10所示。
请参阅图14,其显示如本发明的另一实施例的磁盘阵列控制器100的操作流程。图14的流程图显示磁盘阵列控制器100如何节流控制该电容器组136的工作电压,以在必要时延长电容器组136的累积标准化运作时间152,该流程图也显示磁盘阵列控制器100如何在必要时动态地减少写缓存156的大小,似于图10所示;然而,图14所示的实施例运用一不同的比较以判断是否需节流控制该工作电压。基于此,图14的流程图类似于图10的流程图;不同的是,流程自方块1002至方块1406而非至方块1004。
于判定方块1406中,CPU 112将于图9的方块912中所计算出的累积标准化运作时间152与于方块914中所计算的累积日历运作时间154作比对,以判断该累积标准化运作时间152是否大于该累积日历运作时间154。若是,流程进行至判定方块1008;若否,流程进行至判定方块1024,如图10所示。
请参阅图15,其显示如本发明的另一实施例的磁盘阵列控制器100的操作流程。图15的流程图显示磁盘阵列控制器100如何节流控制该电容器组136的工作电压,以在必要时延长电容器组136的累积标准化运作时间152,该流程图也显示磁盘阵列控制器100如何在必要时动态地减少写缓存156的大小,似于图10所示;然而,图15所示的实施例运用不同的比较以判断是否需减少写缓存156的大小。基于此,图15的流程图类似于图10的流程图;不同的是,若电流箱136目前并非于最低电压电平中操作,流程将自判定方块1008进行至方块1512而非至方块1012。
于方块1512中,CPU 112计算出电容器组136依其累积标准化运作时间152可于下一较低工作电压中所能存储的电能。尤指,CPU112基于上述的公式(1)以计算该电能。电容器组136中的每一电容器的电容量值为电容器的原电容量值与数值1减掉图9的方块918所计算出的电容量下降百分比值的乘积。流程进行至判定方块1514。
于判定方块1514中,CPU 112判断于方块1512所计算出的电能是否足够提供备份写缓存156至非易失性存储器108所需的电力。若是,流程进行至方块1516;若否,流程进行至方块1018。
于判定方块1516中,CPU 112计算出可受下一较低工作电压支持的写缓存156的大小,如图10中的方块1012所执行的步骤。该CPU 112则随之减少该写缓存156的大小至该计算出的大小。流程进行至方块1018。
虽本发明及其元件、特征及优点等已于此详细说明,本发明也包含了其他实施例。例如,虽于此所述的实施例与磁盘阵列控制器相关,然而所述的监视电容器组寿命的方法、动态调整电容器组工作电压以提供一保证寿命、及动态调整写缓存大小也可运用于其他任何形式的存储装置控制器上。另外,虽于此所述的实施例中的电容器组主要用于供电以使存储装置控制器备份易失性存储器至非易失性存储器,在此所述的方法也可运用于其它应用电容器组为充电式的电源的用途上。电容器组的另一应用例包含维持易失性写缓存为荷电的直至主电源恢复,例如在未包含可供易失性存储器备份的非易失性存储器的存储装置控制器。
虽该些实施例说明电容器组的电容量整体性地受监视,实施例也包含于电容器组中的每一单一电容器的寿命依该每一单一电容器的个别工作电压级温度而监视,且该电容器组的整体寿命依该些电容器中最短的寿命而认定。
虽然物理原理可主导于此所述的发明,例如不同的电能及电容量计算方法,然而可以理解的是这些数值并无不直接或完全计算出的必要以使本发明得以具体实施。换言之,实施例也可运用其它物理原理。举例而言,实施例可为电能、电容量、电容量下降、电容量下降百分比、写缓存的大小及其它数值等依一般电压及温度值预先计算出并存于一表中以可依测量的电压及温度读数进而获得。其它实施例可为该些数值完全依照公式而计算出,而非由一表查询出。其它实施例也可为运用直接计算及预先计算出的值的组合或综合。
虽如此所述的实施例说明CPU 112执行不同的计算,如累积标准化运作时间152的计算,其他实施例可包含专属的电路以执行该些计算,例如设于电源控制装置132内的电路。最后,虽实施例说明并界定不同的临界值,可以理解的是本发明也可运用其它临界值。
最后,本发明虽参照上述具体实施例得以描述,但可以理解的是本案实施方式的公开为阐明本发明原则的具体实施例,应不拘限本发明于所公开的实施例。故不同的变型、改进或其他实施例皆是可能的实施例,并且所有的这些变型、改进或组合皆可能,且不悖于本发明的精神与其权利要求范围。

Claims (47)

1.一种用于监视于存储装置控制器中的电容器组的累积标准化运作时间的方法,该方法包含:
(1)初始化该电容器组的该累积标准化运作时间;
(2)在所述初始化后感测该电容器组在该电容器组操作期间的一段时间区间的温度;
(3)判断该电容器组具有存储至少预设电能量数目的电容量时的寿命,若该电容器组在于该寿命期间在该温度中操作;
(4)通过该电容器组的保证寿命相对于该寿命的比值而标准化该段时间区间;
(5)将该标准化时间区间加入至该累积标准化运作时间;及
(6)在该存储装置控制器操作时,重复步骤(2)至(5)。
2.如权利要求1所述的方法,其中该判断该寿命的步骤包含在利用该温度经实验证得的数据库中查询该寿命。
3.如权利要求1所述的方法,其中该判断该寿命的步骤包含以该寿命为该温度的预设函数而计算。
4.如权利要求1所述的方法,还包括:
(7)在该步骤(3)前,感测该电容器组于该段时间区间中的电压;
其中该步骤(3)包含若该电容器组于该寿命期间在该温度中操作时,判断该电容器组具有存储至少该预设电能量的电容量的所述寿命;
其中该步骤(6)包含在该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)。
5.如权利要求4所述的方法,其中该判断该寿命的步骤包含在利用该温度经实验证得的数据库中查询该寿命。
6.如权利要求4所述的方法,其中该判断该寿命的步骤包含以该寿命为该温度的预设函数而计算。
7.如权利要求1所述的方法,其中该初始化该电容器组的所述累积标准化运作时间的步骤包含初始化该累积标准化运作时间为零。
8.如权利要求1所述的方法,其中该初始化该电容器组的所述累积标准化运作时间的步骤包含初始化该累积标准化运作时间为依照该电容器组的误差规格所得的时间值。
9.如权利要求1所述的方法,其中该初始化该电容器组的所述累积标准化运作时间的步骤包含初始化该累积标准化运作时间为依照该电容器组的日历年龄所得的时间值。
10.如权利要求1所述的方法,其中该段时间区间包含预设时段。
11.如权利要求10所述的方法,其中该段预设时段包含第一预设时段,其指当该存储装置控制器由主电源供电时,及该预设时段包含第二预设时段,其指当该存储装置控制器由该电容器组供电时,且其中该第二预设时段小于该第一预设时段。
12.如权利要求1所述的方法,还包括:
(7)依该累积标准化运作时间对于该保证寿命的比值进而计算出该电容器组的相对于其原电容量的电容量下降百分比;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)。
13.如权利要求12所述的方法,进一步包含:
(8)显示该电容器组的该电容量下降百分比给该存储装置控制器的用户;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)及(8)。
14.如权利要求12所述的方法,其中该步骤(7)包含将该电容器组的寿命末期电容量下降百分比乘以该比值。
15.如权利要求13所述的方法,其中该电容器组的该寿命末期电容量下降百分比包含该电容器组的高于该电容器组于正常工作电压下可存储至少足够电能以供该存储装置控制器于主电源中断未供电至该存储装置控器时将写缓存备份至非易失性存储器的电容量下降百分比。
16.如权利要求1所述的方法,其中该预设电能量数目包含该存储装置控制器于主电源中断供电至该存储装置控器时,将写缓存备份至非易失性存储器所需的电能量数目。
17.如权利要求1所述的方法,还包括:
(7)判断该电容器组于目前工作电压中,是否具有可存储该存储装置控制器将具有现有大小的写缓存备份至非易失性存储器所需的电能量数目的电容量;及
(8)若该电容器组不具有该电容量时,减少该写缓存的该大小至新的大小,使该电容器组可具有该电容量;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)及(8)。
18.如权利要求17所述的方法,还包括:
(9)判断该累积标准化运作时间是否大于该电容器组的累积日历运作时间;及
(10)若该累积标准化运作时间大于该累积日历运作时间,则在该步骤(8)后,减少该电容器组的该目前工作电压;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)至(10)。
19.如权利要求18所述的方法,还包括:
(11)于该步骤(2)前,初始化该电容器组的该累积日历运作时间;及
(12)将该段时间区间加入至该累积日历运作时间;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)至(12)。
20.如权利要求1所述的方法,还包括:
(7)判断该累积标准化运作时间是否大于该电容器组的累积日历运作时间;及
(8)若该累积标准化运作时间大于该累积日历运作时间,则减少该电容器组的工作电压;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)及(8)。
21.如权利要求20所述的方法,还包括:
(9)在执行该步骤(8)前,判断该电容器组是否于该已减少的工作电压中具有可存储该存储装置控制器将具有该现有大小的写缓存备份至非易失性存储器所需的电能量数目的电容量;及
(10)若该电容器组不具有该电容量时,减少该写缓存的该大小至新的大小,使该电容器组于该已减少的工作电压中可具有该电容量;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)至(10)。
22.如权利要求20所述的方法,还包括:
(9)于该步骤(2)前,初始化该电容器组的该累积日历运作时间;及
(10)将该时间区间加入至该累积日历运作时间;
其中该步骤(6)包含于该存储装置控制器操作时,重复所述步骤(2)至(5)及(7)至(8)及(10)。
23.如权利要求20所述的方法,还包括:
检测该温度是否已超过预设临界值;
其中该检测该累积标准化运作时间是否大于该电容器组的一累积日历运作时间的步骤将被执行,以回应检测到的该温度已超过该预设临界值。
24.一种存储装置控制器,包含:
电容器组,用于存储电能于主电源中断供电至该存储装置控制器时,以提供电能至该存储装置控制器;
温度感测器,耦合至该电容器组,以用于感测该电容器组的温度;及
中央处理器,耦合至该温度感测器,其中该中央处理器经配置用于执行:
(1)初始化该电容器组的该累积标准化运作时间;
(2)于该电容器组操作期间的段时间区间中接收该温度;
(3)判断该电容器组具有存储至少预设电能量数目的电容量时的寿命,若该电容器组于该寿命的期间在该温度中操作时;
(4)通过该电容器组的保证寿命相对于该寿命的比值而标准化该时间区间;
(5)将该标准化时间区间加入至该累积标准化运作时间;及
(6)于该存储装置控制器的操作时,重复步骤(2)至(5)。
25.如权利要求24所述的控制器,进一步包含:
存储器,耦合至该中央处理器,以用于存储该电容器组于多个温度中的经实验证得的多个寿命值的数据库;
其中该中央处理器通过于该数据库中利用该温度所查询寿命值而判断该寿命。
26.如权利要求24所述的控制器,其中该中央处理器通过将该寿命为该温度的预设函数而计算以判断该寿命。
27.如权利要求24所述的控制器,进一步包含:
(7)在该步骤(3)前,感测该电容器组于该时间区间中的电压;
其中该步骤(3)包含若该电容器组于该寿命期间在该温度中操作时,判断该电容器组具有存储至少该预设电能量的电容量的所述寿命;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)。
28.如权利要求27所述的控制器,进一步包含:
存储器,耦合至该中央处理器,以用于存储该电容器组于多个温度中的经实验证得的多个寿命值的数据库;
其中该中央处理器通过于该数据库中利用该温度所查询的寿命值而判断该寿命。
29.如权利要求27所述的控制器,其中该中央处理器通过将该寿命为该温度的预设函数而计算以判断该寿命。
30.如权利要求24所述的控制器,其中该中央处理器初始化该电容器组的该累积标准化运作时间为零。
31.如权利要求24所述的控制器,其中该中央处理器初始化该电容器组的该累积标准化运作时间至依该电容器组的误差规格书所得的时间值。
32.如权利要求24所述的控制器,其中该中央处理器初始化该电容器组的该累积标准化运作时间至依该电容器组的日历年龄所得的时间值。
33.如权利要求24所述的控制器,其中该时间区间包含预设时段。
34.如权利要求33所述的控制器,其中该预设时段包含第一预设时段,其指当该存储装置控制器由主电源供电时,及该预设时段包含第二预设时段,其指当该存储装置控制器由该电容器组供电时,且其中该第二预设时段少于该第一预设时段。
35.如权利要求24所述的控制器,其中该中央处理器进一步用于执行:
(7)依该累积标准化运作时间对于该保证寿命的比值进而计算出该电容器组的相对于其原电容量的电容量下降百分比;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)。
36.如权利要求35所述的控制器,其中该中央处理器进一步用于执行:
(8)显示该电容器组的该电容量下降百分比至该存储装置控制器的用户;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)及(8)。
37.如权利要求35所述的控制器,其中该步骤(7)包含将该电容器组的寿命末期电容量下降百分比乘以该比值。
38.如权利要求36所述的控制器,其中该电容器组的该寿命末期电容量下降百分比包含该电容器组的高于该电容器组于正常工作电压下可存储至少足够电能以供该存储装置控制器于主电源中断未供电至该存储装置控器时将写缓存备份至非易失性存储器的电容量下降百分比。
39.如权利要求24所述的控制器,还包括:
易失性存储器,耦合至该电容器组,包含用于缓存写缓存数据的写缓存,该写缓存具有一大小;及
非易失性存储器,耦合至该易失性存储器;
其中该预设电容量包含该存储装置控制器于主电源中断未供电至该存储装置控器时,将写缓存备份至非易失性存储器所需的电能量。
40.如权利要求24所述的控制器,进一步包含:
易失性存储器,耦合至该电容器组,包含用于缓存写缓存数据的写缓存,该写缓存具有由该中央处理器动态判断的大小;及
非易失性存储器,耦合至该易失性存储器;
其中该中央处理器进一步用于:
(7)判断该电容器组是否于目前工作电压中具有可存储该存储装置控制器将该现有大小的写缓存备份至非易失性存储器所需的电能量的电容量;及
(8)若该电容器组不具有该电容量时,减少该写缓存的该大小至新的大小,使该电容器组可具有所述电容量;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)至(8)。
41.如权利要求40所述的控制器,其中该中央处理器进一步用于执行:
(9)判断该累积标准化运作时间是否大于该电容器组的累积日历运作时间;及
(10)若该累积标准化运作时间大于该累积日历运作时间,则在该步骤(8)后,减少该电容器组的该目前工作电压;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)至(10)。
42.如权利要求41所述的控制器,其中该中央处理器进一步用于执行:
(11)于该步骤(2)前,初始化该电容器组的该累积日历运作时间;及
(12)将该时间区间加入至该累积日历运作时间;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)至(10)及(12)。
43.如权利要求24所述的控制器,其中该中央处理器进一步用于执行:
(7)判断该累积标准化运作时间是否大于该电容器组的累积日历运作时间;及
(8)若该累积标准化运作时间大于该累积日历运作时间,则减少该电容器组的工作电压;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)及(8)。
44.如权利要求43所述的控制器,进一步包含:
易失性存储器,耦合至该电容器组,并包含用于缓存写缓存数据的写缓存,该写缓存具有由该中央处理器动态判断的大小;及
非易失性存储器,耦合至该易失性存储器;
其中该中央处理器进一步用于执行:
(9)在执行该步骤(8)前,判断该电容器组是否于该已减少的工作电压中具有可存储该存储装置控制器将具有该现有大小的写缓存备份至非易失性存储器所需的电能量的电容量;及
(10)在执行该步骤(8)前,若该电容器组不具有该电容量时,减少该写缓存的该大小至新的大小,使该电容器组于该已减少的工作电压中可具有所述电容量;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)至(10)。
45.如权利要求43所述的控制器,其中该中央处理器进一步经用于执行:
(11)于该步骤(2)前,初始化该电容器组的该累积日历运作时间;及
(12)将该时间区间加入至该累积日历运作时间;
其中该步骤(6)包含于该存储装置控制器操作中,重复所述步骤(2)至(5)及(7)至(8)及(10)。
46.如权利要求43所述的控制器,其中该中央处理器进一步用于执行:
检测该温度已超过预设临界值;
其中该检测该累积标准化运作时间是否大于该电容器组的累积日历运作时间的步骤将执行,以回应检测到的该温度已超过该预设临界值。
47.一种存储装置控制器,包含:
电容器组,用于存储电能以于主电源中断未供电至该存储装置控制器时提供电能至该存储装置控制器;
存储器,以用于存储该电容器组于多个温度以及多个工作电压中的经实验证得的多个寿命值的数据库;
温度感测器,耦合至该电容器组,以用于感测该电容器组的温度;
电压感测器,耦合至该电容器组,以用于感测该电容器组的工作电压;及
中央处理器,耦合至该存储器、该温度感测器及该电压感测器,其中该中央处理器用于执行:
(1)初始化该电容器组的该累积标准化运作时间;
(2)于该电容器组操作期间的时间区间中自该温度感测器接收该温度及自该电压感测器接收该电压;
(3)若该电容器组于该寿命期间在该温度及该电压中操作时,判断该电容器组具有存储至少预设电能量的电容量时的寿命,其中该中央处理器通过于该数据库中利用该温度及该电压所查询的寿命值进而判断该寿命;
(4)通过该电容器组的保证寿命相对于该寿命的比值而标准化该时间区间;
(5)将该标准化时间区间加入至该累积标准化运作时间;及
(6)于该存储装置控制器的操作中,重复步骤(2)至(5)。
CN2006800224383A 2005-08-04 2006-06-23 存储装置控制器的超级电容的寿命监视 Expired - Fee Related CN101208648B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US70599705P 2005-08-04 2005-08-04
US60/705,997 2005-08-04
US11/421,967 US7487391B2 (en) 2005-08-04 2006-06-02 Storage controller super capacitor adaptive life monitor
US11/421,967 2006-06-02
PCT/US2006/024659 WO2007018777A1 (en) 2005-08-04 2006-06-23 Storage controller super capacitor adaptive life monitor

Publications (2)

Publication Number Publication Date
CN101208648A true CN101208648A (zh) 2008-06-25
CN101208648B CN101208648B (zh) 2010-06-02

Family

ID=39518087

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2006800224383A Expired - Fee Related CN101208648B (zh) 2005-08-04 2006-06-23 存储装置控制器的超级电容的寿命监视
CN200680022534A Expired - Fee Related CN100583005C (zh) 2005-08-04 2006-06-23 具有动态电压调节超级电容的存储控制器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN200680022534A Expired - Fee Related CN100583005C (zh) 2005-08-04 2006-06-23 具有动态电压调节超级电容的存储控制器

Country Status (1)

Country Link
CN (2) CN101208648B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103185868A (zh) * 2011-12-29 2013-07-03 赛普拉斯半导体公司 电容器电源的干扰保护和可靠性测试
CN103514176A (zh) * 2012-06-21 2014-01-15 苏州工业园区新宏博通讯科技有限公司 一种智能终端的数据管理方法
CN105531673A (zh) * 2013-09-11 2016-04-27 美敦力公司 用于小型化装置的优化的闪存存储器装置
TWI600989B (zh) * 2014-01-31 2017-10-01 Tokyo Electron Ltd 基板處理裝置、編輯方法及記憶媒體
CN108206045A (zh) * 2016-12-20 2018-06-26 三星电子株式会社 估计固态驱动设备的剩余寿命的方法
CN108257643A (zh) * 2016-12-28 2018-07-06 上海宝存信息科技有限公司 数据储存装置以及其备用电力来源的储电能力监控方法
CN109655094A (zh) * 2017-10-11 2019-04-19 巴鲁夫股份有限公司 传感器设备、传感器系统和用于运行传感器设备的方法
CN113655315A (zh) * 2021-08-12 2021-11-16 华南理工大学 超级电容剩余寿命综合评估方法、系统、装置及介质
CN113760075A (zh) * 2021-08-24 2021-12-07 深圳大普微电子科技有限公司 电容切换管理方法、装置及备电系统、固态硬盘
CN113760075B (zh) * 2021-08-24 2024-05-14 深圳大普微电子科技有限公司 电容切换管理方法、装置及备电系统、固态硬盘

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5314698B2 (ja) * 2009-03-23 2013-10-16 パナソニック株式会社 エネルギー供給システム
RU2011106927A (ru) * 2009-03-23 2013-04-27 Панасоник Корпорэйшн Система энергоснабжения
US9064557B2 (en) * 2013-11-21 2015-06-23 Infineon Technologies Ag Systems and methods for non-volatile memory
CN103870400B (zh) * 2014-03-06 2018-11-30 华为技术有限公司 一种超级电容的电压调节方法、装置及系统
CN104461964B (zh) * 2014-12-12 2017-03-15 杭州华澜微电子股份有限公司 一种存储装置
US9996471B2 (en) * 2016-06-28 2018-06-12 Arm Limited Cache with compressed data and tag
CN109085909A (zh) * 2018-07-25 2018-12-25 郑州云海信息技术有限公司 一种磁盘阵列的分布式备电方法及装置
US10761769B2 (en) * 2018-09-04 2020-09-01 Micron Technology, Inc. Accessible accumulated memory temperature readings in a memory sub-system
CN109066950A (zh) * 2018-10-31 2018-12-21 郑州云海信息技术有限公司 一种超级电容监控系统
CN115562946A (zh) * 2022-11-09 2023-01-03 欧伏电气股份有限公司 一种动态环境检测的微调方法及系统
CN117573043A (zh) * 2024-01-17 2024-02-20 济南浪潮数据技术有限公司 分布式存储数据的传输方法、装置、系统、设备和介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4874960A (en) * 1988-03-04 1989-10-17 Square D Company Programmable controller capacitor and battery backed ram memory board
GB2362768A (en) * 2000-05-26 2001-11-28 Motorola Israel Ltd Capacitor fed back-up power supply
JP3850311B2 (ja) * 2002-02-21 2006-11-29 オムロン株式会社 残存寿命予測報知方法および電子機器
JP2004037258A (ja) * 2002-07-03 2004-02-05 Toshiba Corp フィルムコンデンサの劣化診断装置
JP2005346321A (ja) * 2004-06-02 2005-12-15 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置のバッテリ出力制御方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103185868B (zh) * 2011-12-29 2016-10-05 赛普拉斯半导体公司 电容器电源干扰保护和可靠性测试电路和系统及其操作方法
CN103185868A (zh) * 2011-12-29 2013-07-03 赛普拉斯半导体公司 电容器电源的干扰保护和可靠性测试
CN103514176A (zh) * 2012-06-21 2014-01-15 苏州工业园区新宏博通讯科技有限公司 一种智能终端的数据管理方法
CN105531673A (zh) * 2013-09-11 2016-04-27 美敦力公司 用于小型化装置的优化的闪存存储器装置
CN105531673B (zh) * 2013-09-11 2019-04-16 美敦力公司 用于小型化装置的优化的闪存存储器装置
TWI600989B (zh) * 2014-01-31 2017-10-01 Tokyo Electron Ltd 基板處理裝置、編輯方法及記憶媒體
CN108206045B (zh) * 2016-12-20 2022-05-31 三星电子株式会社 估计固态驱动设备的剩余寿命的方法
CN108206045A (zh) * 2016-12-20 2018-06-26 三星电子株式会社 估计固态驱动设备的剩余寿命的方法
CN108257643A (zh) * 2016-12-28 2018-07-06 上海宝存信息科技有限公司 数据储存装置以及其备用电力来源的储电能力监控方法
CN108257643B (zh) * 2016-12-28 2021-02-09 上海宝存信息科技有限公司 数据储存装置以及其备用电力来源的储电能力监控方法
CN109655094A (zh) * 2017-10-11 2019-04-19 巴鲁夫股份有限公司 传感器设备、传感器系统和用于运行传感器设备的方法
CN109655094B (zh) * 2017-10-11 2021-11-05 巴鲁夫股份有限公司 传感器设备、传感器系统和用于运行传感器设备的方法
CN113655315A (zh) * 2021-08-12 2021-11-16 华南理工大学 超级电容剩余寿命综合评估方法、系统、装置及介质
CN113655315B (zh) * 2021-08-12 2022-07-26 华南理工大学 超级电容剩余寿命综合评估方法、系统、装置及介质
CN113760075A (zh) * 2021-08-24 2021-12-07 深圳大普微电子科技有限公司 电容切换管理方法、装置及备电系统、固态硬盘
CN113760075B (zh) * 2021-08-24 2024-05-14 深圳大普微电子科技有限公司 电容切换管理方法、装置及备电系统、固态硬盘

Also Published As

Publication number Publication date
CN101203825A (zh) 2008-06-18
CN101208648B (zh) 2010-06-02
CN100583005C (zh) 2010-01-20

Similar Documents

Publication Publication Date Title
CN101208648B (zh) 存储装置控制器的超级电容的寿命监视
JP2009503724A (ja) 記憶制御装置スーパーコンデンサ動的電圧スロットリング
US7487391B2 (en) Storage controller super capacitor adaptive life monitor
US7451348B2 (en) Dynamic write cache size adjustment in raid controller with capacitor backup energy source
US7536506B2 (en) RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage
EP2476039B1 (en) Apparatus, system, and method for power reduction management in a storage device
US8984216B2 (en) Apparatus, system, and method for managing lifetime of a storage device
KR101506675B1 (ko) 보조 전원 장치를 갖는 사용자 장치
US8607076B2 (en) Circuit apparatus with memory and power control responsive to circuit-based deterioration characteristics
US8370720B2 (en) Mass storage device and method for offline background scrubbing of solid-state memory devices
US8650419B2 (en) Storage apparatus and its control method
US10198300B1 (en) Thermal and power memory actions
KR102546255B1 (ko) 호스트의 지시 없이 능동적으로 유지보수 동작을 개시하는 스토리지 장치 및 그것을 포함하는 전자 시스템
EP1470483A1 (en) Method and apparatus for securing volatile data in power failure in systems having redundancy
US20180349225A1 (en) Systems and methods for implementing and managing persistent memory
US20130117603A1 (en) Method for completing write operations to a raid drive pool with an abnormally slow drive in a timely fashion
US9021275B1 (en) Method and apparatus to exercise and manage a related set of power managed storage devices
US8862923B1 (en) Method and apparatus to determine an idle state of a device set based on availability requirements corresponding to the device set
JP3790618B2 (ja) 電池モジュール及びその電池管理システム
CN117055822A (zh) NVME SSD Raid卡板载备电系统及控制方法
JP5795758B2 (ja) 不揮発性記憶装置のデータを保護する方法
CN113050896A (zh) 一种支持nvdimm的国产飞腾服务器及数据保护方法
Lynn et al. Non-Volatile CACHE for Host-Based RAID Controllers
CN117148948A (zh) 包括电池模块的存储系统及其操作方法
JP2020030670A (ja) 制御装置および制御プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20200623