一种掉电保护电路、数据存储装置及掉电保护方法与流程

文档序号:23706899发布日期:2021-01-23 13:57阅读:204来源:国知局
一种掉电保护电路、数据存储装置及掉电保护方法与流程

[0001]
本申请涉及数据存储技术领域,尤其涉及一种掉电保护电路、数据存储装置及掉电保护方法。


背景技术:

[0002]
目前,针对固态驱动器(solid state disk或solid state drive,ssd)在出现掉电时对数据进行存储,通常是采用在ssd的板卡上外加一个电容。当ssd系统检测到掉电信号时,通过该电容对ssd进行供电,以尽可能的将主机传送给ssd的数据或者ssd的数据页表写入到flash存储器中。
[0003]
然而,一旦电源信号检测不准确则会造成ssd的固件错误地进入掉电流程,从而导致一系列的错误处理(例如当监测到电源异常时,设备控制器、硬件控制器会断开与系统总线连接,甚至会直接掉盘)。并且,若外加的电容存在电量不足时,则会造成存储于缓存中的用户数据或者数据页的映射表丢失。
[0004]
因此,现有的固态驱动器掉电技术存在着系统掉电时,存储于缓存中的用户数据或者数据页的映射表丢失的问题。


技术实现要素:

[0005]
本申请的目的在于提供一种掉电保护电路、数据存储装置及掉电保护方法,旨在解决现有的固态驱动器掉电技术存在着系统掉电时,存储于缓存中的用户数据或者数据页的映射表丢失的问题。
[0006]
本申请实施例的第一方面提供了一种掉电保护电路,应用于固态驱动器,所述固态驱动器的板卡上设有一储电电容,所述掉电保护电路包括:
[0007]
电源检测电路,被配置为实时监测所述固态驱动器的工作电压,并输出第一反馈信号;
[0008]
电容管理电路,与所述储电电容连接,被配置为获取所述储电电容的容量并进行反馈;以及
[0009]
电源控制电路,与输入电源、所述电源检测电路及所述电容管理电路连接,被配置为根据所述储电电容的容量,控制所述输入电源对所述储电电容进行充电,并且根据所述第一反馈信号,判断当所述固态驱动器出现掉电时,触发掉电保护机制,以及结合所述储电电容的容量采取对应的存储模式将缓存中的用户数据或者数据页的映射表进行保存。
[0010]
由此保证了储电电容的电量的有效性,实现了对于数据的写入采取不同的策略,尽最大可能在有限的电容的容量情况下存入足够多的用户数据和数据页的转换表。
[0011]
在其中一实施例中,还包括:
[0012]
电容除跳电路,与所述电源检测电路、所述电源控制电路及所述储电电容连接,被配置为判断所述固态驱动器是否发生瞬间电压跳变现象,并输出第二反馈信号;
[0013]
所述电源控制电路还被配置为根据所述第二反馈信号判断所述固态驱动器出现
cell,tlc)模式将缓存中的用户数据或者数据页的映射表进行保存;
[0030]
当所述储电电容的容量低于预设电量值时,采取单个单元存储(single-level cell,slc)模式将缓存中的用户数据或者数据页的映射表进行保存。该实施例具体限定了根据储电电容的容量大小,对应采取不同的模式对数据进行保存。
[0031]
在其中一实施例中,所述掉电保护方法还包括:
[0032]
判断所述固态驱动器是否发生瞬间电压跳变现象,并输出第二反馈信号;
[0033]
根据所述第二反馈信号判断所述固态驱动器出现瞬间掉电时,触发所述掉电保护机制。由此可有效防止瞬间的电压跳变造成的掉电误判操作。
[0034]
在其中一实施例中,实时监测所述固态驱动器的工作电压包括:
[0035]
判断所述固态驱动器的工作电压是否处于预设电压范围,若否,则判定所述输入电源出现异常。该实施例根据固态驱动器的工作电压判断输入电源是否出现异常,以便更好地对固态驱动器的掉电现象进行处理。
[0036]
本发明实施例与现有技术相比存在的有益效果是:上述的一种掉电保护电路、数据存储装置及掉电保护方法,通过电源检测电路实时监测固态驱动器的工作电压和电容管理电路获取储电电容的容量,使得电源控制电路根据储电电容的容量,控制输入电源对储电电容进行充电,并且判断当固态驱动器出现掉电时,触发掉电保护机制,以及结合储电电容的容量采取对应的存储模式将数据进行保存,由此保证了储电电容的电量的有效性,实现了对于数据的写入采取不同的策略,尽最大可能在有限的电容的容量情况下存入足够多的用户数据和数据页的转换表。
附图说明
[0037]
图1为本申请一方面提供的一种掉电保护电路的一种结构模块示意图;
[0038]
图2为本申请一方面提供的一种掉电保护电路的另一种结构模块示意图;
[0039]
图3为本申请提供的一种掉电保护电路中电源检测电路的示例电路图;
[0040]
图4为本申请另一方面提供的一种掉电保护方法的一种步骤流程示意图;
[0041]
图5为本申请另一方面提供的一种掉电保护方法的另一种步骤流程示意图。
具体实施方式
[0042]
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0043]
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0044]
请参阅图1,为本申请一方面提供的一种掉电保护电路的一种结构模块示意图,为了便于说明,仅示出了与本实施例相关的部分,详述如下:
[0045]
上述一种掉电保护电路,应用于固态驱动器106,固态驱动器106的板卡上设有一储电电容105,该掉电保护电路包括电源检测电路101、电容管理电路103以及电源控制电路
102。
[0046]
其中,电源检测电路101用于实时监测所述固态驱动器106的工作电压,并输出第一反馈信号。
[0047]
具体地,该方案中采用输入电源104对固态驱动器106进行供电,电源检测电路101主要用于检测固态驱动器106的工作电压是否处于预设电压范围,若是,则判定输入电源104正常;若否,则判定输入电源104异常。上述预设电压范围可根据实际需求进行设定。
[0048]
电容管理电路103与储电电容105连接,电容管理电路103用于获取储电电容105的容量并进行反馈。
[0049]
具体地,电容管理电路103反馈储电电容105的剩余容量大小并通知电源控制电路102对储电电容105进行充电,当充电完成之后,电源控制电路102则会断开充电通路的开关,以保证储电电容105的储存电量的有效性。应理解,储电电容105的剩余容量大小等同于储电电容105的储存电量。
[0050]
电源控制电路102与输入电源104、电源检测电路101及电容管理电路103连接,电源控制电路102用于根据储电电容105的容量,控制输入电源104对储电电容105进行充电,并且根据第一反馈信号,判断当固态驱动器106出现掉电时,触发掉电保护机制,以及结合储电电容105的容量采取对应的存储模式将缓存中的用户数据或者数据页的映射表进行保存。
[0051]
具体地,该实施例中电源控制电路102涉及两个功能,一方面,根据电容管理电路103反馈的储电电容105的容量,控制输入电源104对储电电容105进行充电;另一方面,根据电源检测电路101输出的第一反馈信号,判断当固态驱动器106出现掉电时,触发掉电保护机制,同时结合储电电容105的剩余容量采取对应的存储模式将缓存中的用户数据或者数据页的映射表进行保存。应理解,固态驱动器106掉电时,通过储电电容105对固态驱动器106进行供电,以尽可能的将主机传送给固态驱动器106的数据或者固态驱动器106的数据页表写入到flash存储芯片中,以便固态驱动器106在下一次启动的时候能够顺利的读回掉电的时候的数据。掉电保护机制是一种特殊的保护数据的方式,是指在掉电时,所有的数据将一直保存在磁盘上,直到重构完成后才删除。
[0052]
示例性的,当固态驱动器106出现掉电时,储电电容105的剩余容量超过预设电量值时,采取tlc模式将缓存中的用户数据或者数据页的映射表进行保存;
[0053]
当固态驱动器106出现掉电时,储电电容105的剩余容量低于预设电量值时,采取slc模式将缓存中的用户数据或者数据页的映射表进行保存。
[0054]
应理解,tlc模式中每个单元可以存放较多的数据,共八个充电值,所需访问时间更长,因此传输速度更慢。
[0055]
slc模式只存在0和1两个充电值,结构简单但是执行效率高。slc闪存的优点是传输速度更快,功率消耗更低和存储单元的寿命更长。
[0056]
由此上述一种掉电保护电路保证了储电电容105的电量的有效性,实现了对于数据的写入采取不同的策略,尽最大可能在有限的储电电容105的容量情况下存入足够多的用户数据和数据页的转换表。
[0057]
请参阅图2,本申请一方面提供的一种掉电保护电路的另一种结构模块示意图,为了便于说明,仅示出了与本实施例相关的部分,详述如下:
[0058]
在图1示出的实施例的基础上,上述掉电保护电路还包括电容除跳电路107。
[0059]
电容除跳电路107与电源检测电路101、电源控制电路102及储电电容105连接,电容除跳电路107用于判断固态驱动器106是否发生瞬间电压跳变现象,并输出第二反馈信号;
[0060]
电源控制电路102还用于根据第二反馈信号判断固态驱动器106出现瞬间掉电时,触发掉电保护机制。
[0061]
具体地,该实施例中设置了电容除跳电路107,可以有效防止瞬间的电压跳变造成的掉电误判操作。由于突发的瞬间掉电,这个掉电时间非常短暂,可能只有几毫秒,因此固态驱动器106还没来得及做下电操作,下电的过程中,如果主机又恢复了正常供电,则会造成固态驱动器106出现掉盘的现象,因此设置电容除跳电路107也是很有必要的。
[0062]
请参阅图3,为本申请提供的一种掉电保护电路中电源检测电路的示例电路图,为了便于说明,仅示出了与本实施例相关的部分,详述如下:
[0063]
在其中一实施例中,上述电源检测电路101包括双运算放大器u1、第一电阻r1、第二电阻r2、第三电阻r3、第四电阻r4、第五电阻r5、第一电容c1、第二电容c2、第一发光二极管led1以及第二发光二极管led2。
[0064]
第一电阻r1的第一端与双运算放大器u1的第一正相输入端in1+接入输入电源104,第二电阻r2的第一端与第一电容c1的第一端以及双运算放大器u1的第一反相输入端in1-共接,第一电阻r1的第二端与第一电容c1的第二端接地,第二电阻r2的第二端、双运算放大器u1的第一输出端out1、双运算放大器u1的第二正相输入端in2+以及第二电容c2的第一端共接,第三电阻r3的第一端与第四电阻r4的第一端以及双运算放大器u1的第二反相输入端in2-共接,第三电阻r3的第二端、第五电阻r5的第一端、第一发光二极管led1的阳极以及双运算放大器u1的第二输出端out2共接,第五电阻r5的第二端接第二发光二极管led2的阳极,第二电容c2的第二端、第四电阻r4的第二端、第一发光二极管led1的阴极以及第二发光二极管led2的阴极接地。
[0065]
在其中一实施例中,上述电容管理电路103采用多谐振荡器实现,其中,储电电容105的容值越大,则振荡频率就越低。
[0066]
在其中一实施例中,上述电源控制电路102包括主控芯片,主控芯片一般采用微型处理器(microcontroller unit,mcu),比如单片机。
[0067]
本申请还提供了一种数据存储装置,应用于固态驱动器106,固态驱动器106的板卡上设有一储电电容105,该数据存储装置包括:
[0068]
输入电源104,用于对固态驱动器106进行供电;和
[0069]
如上述所述的掉电保护电路。
[0070]
需要说明的是,该数据存储装置是在上述掉电保护电路的基础上增加了输入电源104,因此关于掉电保护电路中的电源检测电路101、电源控制电路102、电容管理电路103以及电容除跳电路107的功能描述及原理说明可参照图1和图3的实施例,此处不再详细赘述。
[0071]
请参阅图4,为本申请另一方面提供的一种掉电保护方法的步骤流程,为了便于说明,仅示出了与本实施例相关的部分,详述如下:
[0072]
本申请还提供了一种掉电保护方法,应用于固态驱动器,固态驱动器的板卡上设有一储电电容,掉电保护方法包括以下步骤:
[0073]
s100.实时监测固态驱动器的工作电压,并输出第一反馈信号;
[0074]
具体地,采用输入电源对固态驱动器进行供电,通过检测固态驱动器的工作电压是否处于预设电压范围,若是,则判定输入电源正常;若否,则判定输入电源异常。上述预设电压范围可根据实际需求进行设定。
[0075]
s200.获取储电电容的容量并进行反馈;
[0076]
具体地,实时反馈储电电容的容量大小并通知对储电电容进行充电,当充电完成之后,则会断开充电通路的开关,以保证储电电容的电量的有效性。
[0077]
s300.根据储电电容的容量,控制输入电源对储电电容进行充电;
[0078]
具体地,实时保证储电电容的剩余电量足够,以保证固态驱动器掉电时,最大可能在有限的储电电容的容量情况下存入足够多的用户数据和数据页的转换表,避免造成存放在缓存中的用户数据或者数据页的映射表会丢失的现象。
[0079]
s400.根据第一反馈信号,判断当固态驱动器出现掉电时,触发掉电保护机制,以及结合储电电容的容量采取对应的存储模式将缓存中的用户数据或者数据页的映射表进行保存。
[0080]
应理解,固态驱动器106掉电时,通过储电电容105对固态驱动器106进行供电,以尽可能的将主机传送给固态驱动器106的数据或者固态驱动器106的数据页表写入到flash存储芯片中,以便固态驱动器106在下一次启动的时候能够顺利的读回掉电的时候的数据。
[0081]
其中,结合储电电容的容量采取对应的存储模式将数据进行保存包括:
[0082]
当储电电容的容量超过预设电量值时,采取tlc模式将缓存中的用户数据或者数据页的映射表进行保存;
[0083]
当储电电容的容量低于预设电量值时,采取slc模式将缓存中的用户数据或者数据页的映射表进行保存。
[0084]
该掉电保护方法保证了储电电容的电量的有效性,实现了对于数据的写入采取不同的策略,尽最大可能在有限的电容的容量情况下存入足够多的用户数据和数据页的转换表。
[0085]
如图5所示,在图4示出的实施例的基础上,上述掉电保护方法还包括以下步骤:
[0086]
s500.判断固态驱动器是否发生瞬间电压跳变现象,并输出第二反馈信号;
[0087]
s600.根据第二反馈信号判断固态驱动器出现瞬间掉电时,触发掉电保护机制。
[0088]
由此可有效防止瞬间的电压跳变造成的掉电误判操作。
[0089]
在其中一实施例中,实时监测固态驱动器的工作电压包括:
[0090]
判断固态驱动器的工作电压是否处于预设电压范围,若否,则判定输入电源出现异常。
[0091]
该实施例根据固态驱动器的工作电压判断输入电源是否出现异常,以便更好地对固态驱动器的掉电现象进行处理。
[0092]
由此可得,上述一种掉电保护电路、数据存储装置及掉电保护方法的优势体现在以下几方面:
[0093]
1.设置电容除跳电路107,可以有效防止瞬间的电压跳变造成的掉电误判操作;
[0094]
2.通过对于储电电容105的容量检测,可以通过固件实时获取到当前储电电容105的信息,通过反馈可以保证电容的电量的有效性;
[0095]
3.通过固件算法可以对于数据的写入采取不同的策略,尽最大可能在有限的储电电容105的容量情况下存入足够多的用户数据和数据页的转换表。
[0096]
结合图1-图5,上述一种掉电保护电路、数据存储装置及掉电保护方法的工作原理如下:
[0097]
首先,固态驱动器106上电之后,电源检测电路101和电容管理电路103正常运行;电容管理电路103开始反馈储电电容105容量的大小并通知电源控制电路102对储电电容105进行充电,当充电完成之后,断开充电通路的开关,并定期反馈实时的电容容量以通知电源控制电路102是否要对其充电;
[0098]
电源检测电路101正常运行过程中,实时监测固态驱动器106的电压范围,如果电压在预设的范围之内,那么输入电源104正常;如果电压不在预设的范围之内且电容除跳电路107也显示异常,则输入电源104异常;
[0099]
当电源检测电路101检测到输入电源104异常之后,通过电源控制电路102对固态驱动器106的主控芯片发送一个电源中断信号;
[0100]
固态驱动器106的主控芯片接收到中断信号之后,读取电容管理电路103的信息,获取当前储电电容105的信息并触发掉电保护机制,通过固态驱动器106的内部软件算法,根据储电电容105的容量大小和当前还剩余未写入的数据的大小,以判定采取的数据写入的策略,例如:储电电容105的容量足够时,直接讲将据采取tlc模式写入到tlc的数据块中,当储电电容105的剩余电量减少,后续的数据将采取slc模式写入。优先写入数据,如果数据写入完成之后,还有剩余容量,再将把数据块的页转换表通过slc模式写入到flash存储芯片中;
[0101]
当电源检测电路101监测到输入电源104恢复之后,通过电源控制电路102对固态驱动器106的主控芯片发送一个电源恢复中断信号,固态驱动器106控制器开始根据电容管理电路103和电容除跳电路107反馈的信息对储电电容105进行充电。
[0102]
综上所述,本申请提供的一种掉电保护电路、数据存储装置及掉电保护方法,通过电源检测电路实时监测固态驱动器的工作电压和电容管理电路获取储电电容的容量,使得电源控制电路根据储电电容的容量,控制输入电源对储电电容进行充电,并且判断当固态驱动器出现掉电时,触发掉电保护机制,以及结合储电电容的容量采取对应的存储模式将数据进行保存,由此保证了储电电容的电量的有效性,实现了对于数据的写入采取不同的策略,尽最大可能在有限的电容的容量情况下存入足够多的用户数据和数据页的转换表。同时,设置了电容除跳电路,可有效防止瞬间的电压跳变造成的掉电误判操作。
[0103]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0104]
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应
包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1