一种固态硬盘的高温保护方法与流程

文档序号:14451258阅读:633来源:国知局

本发明涉及电子存储器技术领域,特别涉及一种固态硬盘的高温保护方法。



背景技术:

随着电子信息技术的不断发展,大数据存储的需求不断带动着闪存存储器快速地向更大规模、更高密度、更高可靠性的方向发展。固态硬盘(ssd,solidstatedriver)是一种非易失性的存储设备,拥有长时间保存数据、快速更新数据、存储海量数据等特性,满足各行业中大数据存储需求。固态硬盘采用高密度、大容量的nandflash作为存储介质,具有存取速度快、存储容量大等优点,在军事、航天、消费、工控、监控等诸多领域中被广泛应用。固态硬盘主要由主机通讯接口、ssd控制器、nandflash存储介质及电源相关电路组成,其中,主机通讯接口、ssd控制器、nandflash存储介质直接决定着固态硬盘的性能。主机通讯接口作为主机与固态硬盘的通信接口,完成命令交互、数据传输功能,当下固态硬盘的主流通讯接口有sata、ahci、nvme等。ssd控制器主要用于主机通讯接口到nandflash存储介质间的数据的中转;nandflash存储介质实现对数据的存储,nandflash存储介质的性能在固态硬盘中起着至关重要的作用,直接制约着整个固态硬盘的性能。

随着固态硬盘应用场景越来越复杂,当其工作环境温度在60~100℃时,考虑到固态硬盘自身功耗,固态硬盘的盘片温度可能会超过固态硬盘控制器或存储介质的最大操作温度,致使固态硬盘不能正常工作,导致用户数据丢失,甚至出现固态硬盘永久损坏。固态硬盘盘片温度过高主要是工作环境温度和盘片业务操作时自身所产生的功耗导致,工作环境温度由用户决定,那么需要一种方法来保证盘片在高温环境中可正常工作,同时尽量兼顾盘片性能,只能通过调整盘片的性能来达到目的。

固态硬盘盘片性能主要体现在带宽上,固态硬盘盘片带宽主要受控于主机通讯接口、固态硬盘控制器的后端命令并发能力和nandflash存储介质的性能,固态硬盘盘片的带宽包括数据传输带宽和命令传输带宽,由于固态硬盘主要是传输数据,因此数据传输带宽主要制约盘片带宽。而针对指定的固态硬盘盘片其固态硬盘控制器的后端命令并发能力基本是固定的。在现有的技术中,主要是降低主机通讯接口的i/o并发度来达到降低盘片温度的目的,但是,当盘片工作的环境温度在80℃之上很难保证盘片可正常工作,且会导致盘片性能波动较大,带宽振幅很大,从而大大降低固态硬盘的性能,严重限制了固态硬盘的广泛应用。

综上所述,在固态硬盘的实际使用中,固态硬盘工作的环境温度在80℃是经常出现的,例如企业长时间使用服务器,或者在天气炎热的环境下使用固态硬盘等情况,为保证盘片在高温的下仍能正常且高效工作,并且满足高可靠性能,非常有必要提出一种固态硬盘,解决高温环境下固态硬盘高性能工作的技术瓶颈。提高固态硬盘的可靠性,实现更为广泛的应用,使制造高可靠性的固态硬盘成为可能。



技术实现要素:

针对上述缺陷,本发明所要解决的技术问题是,提供一种固态硬盘的高温保护方法,目的是在盘片温度较高的情况下,有效地降低盘片温度,从而提高了固态硬盘的可靠性,并尽量兼顾盘片的其他性能,保证固态硬盘高温下安全、可靠、高效工作。

为实现上述目的,本发明提供一种固态硬盘的高温保护方法,温度检测电路对固态硬盘盘片的温度进行检测,并根据检测的温度信息对固态硬盘的带宽进行有效地、合理地限制,从而降低固态硬盘的功耗,以此防止固态硬盘由于温度过高而不能正常工作。并且,本发明所提供的一种固态硬盘的高温保护方法,在限制固态硬盘带宽的同时也有效地保证了较好的盘片性能,在现有技术的基础上,极大地增强了固态硬盘的可靠性。所述方法包括如下步骤:

步骤1:温度检测电路检测固态硬盘的盘片温度;

步骤2:设置定时触发温度检测电路任务;

步骤3:设置固态硬盘的起始温度阀值;

步骤4:启动定时触发任务;

步骤5:定时获取固态硬盘的实际温度信息;

步骤6:将固态硬盘的实际温度与设定的起始温度阈值进行比较,获取二者的差值;

步骤7:依据固态硬盘的实际温度与设定的起始温度阀值间的差值,调整固态硬盘的带宽。

所述温度检测电路检测固态硬盘的盘片温度,温度检测电路接收触发信号,并启动固态硬盘温度采集任务。

所述设置定时触发温度检测电路,包括配置固态硬盘的定时电路的中断周期t1,启动定时器,并以t1为单位周期性地向温度检测电路发送触发信号。当固态硬盘的实际温度达到设置的温度起始阈值时,开始对固态硬盘进行数据传输带宽限制。

所述定时任务会周期性地发送触发信号给温度检测电路,并获取温度检测电路反馈的固态硬盘的实际温度。

通过调整nandflash的数据传输带宽来提升或限制固态硬盘带宽。

所述调整nandflash的数据传输带宽,包括对nandflash控制器中的命令并发通道数量和nandflash接口的数据吞吐率进行调整。

所述调整nandflash控制器中的命令并发通道数量,包括:当固态硬盘的实际温度大于设置的起始温度阀值且比上一个周期的盘片温度值要高,减少nandflash控制器中的命令并发通道数量;当固态硬盘的实际温度大于起始温度阀值且比上一个周期的盘片温度值要低,增加nandflash控制器中的命令并发通道数量;当固态硬盘的实际温度小于起始温度阀值,恢复默认的nandflash控制器中的命令并发通道数量。

所述调整nandflash接口的数据吞吐率,包括:当固态硬盘的实际温度大于设置的起始温度阀值且比上一个周期的盘片温度值要高,降低nandflash接口的数据吞吐率;当固态硬盘的实际温度大于起始温度阀值且比上一个周期的盘片温度值要低,提升nandflash接口的数据吞吐率;当固态硬盘的实际温度小于起始温度阀值,恢复默认的nandflash的数据吞吐率。

所述调整nandflash接口的数据吞吐率,采用对nandflash存储介质的读取或编程命令的操作时间进行调整。

所述调整nandflash存储介质的业务操作时间包括:

步骤1:周期性地获取固态硬盘的盘片温度,记为盘片第一温度t1;

步骤2:根据盘片所处的工作环境温度设定盘片的温度起始阈值,记为盘片第二温度t2;

步骤3:根据固态硬盘主控芯片的工艺温度上限,设定温度裕量,并计算固态硬盘盘片温度的上限,记为盘片第三温度t3;

步骤4:从nandflash存储介质内部获取读取或编程命令的基本操作时间,分别记为nandflash的第一读取时间cr1和第一编程时间cw1;

步骤5:当固态硬盘的盘片第一温度t1升至盘片第三温度t3时,设定nandflash存储介质的读取或编程命令最大操作时间,分别记为nandflash的第二读取时间crmax2和第二编程时间cwmax2;

步骤6:根据cr1和crmax2,cw1和cwmax2得到nandflash存储介质读取或编程操作时,对应命令的操作时间差值,分别记为nandflash的第三读取时间cr3和第三编程时间cw3;

步骤7:根据t2和t3得到固态硬盘的实际温度范围差值,记为盘片第一温度差值t4;

步骤8:根据t4和cr3、t4和cw3,得到平均每一摄氏度的温度变化所引起的nandflash存储介质命令操作时间的变化值,分别记为nandflash的第四读取周期cr4和第四编程周期cw4;

步骤9:若t1大于等于t2,开始调整固态硬盘带宽,得到t1与t2的差值,并获取本次对nandflash存储介质的操作类型,结合cr4和cw4分别得到nandflash存储介质的读取或编程命令的实际操作时间。本次为读取命令时,对nandflash存储介质的读取操作时间cread满足:

cread=(t1-t2)*cr4+cr1

本次编程操作时,对nandflash存储介质的实际编程时间cwrite满足:

cwrite=(t1-t2)*cw4+cw1

若t1小于t2,停止调整固态硬盘带宽,此时nandflash存储介质的读取或编程命令的操作时间采用基本操作时间。对nandflash存储介质的读取操作的实际操作时间cread满足:

cread=cr1

对nandflash存储介质的编程操作的实际操作时间cwrite满足:

cwrite=cw1。

附图说明

图1示出根据本发明实施例的加入限速方法后的固态硬盘装置。

图2示出根据本发明实施例的温度检测电路模块的内部结构框图。

图3示出根据本发明实施例的高温限速控制模块框图。

图4示出根据本发明实施例的一种固态硬盘高温保护方法总体流程图。

图5示出根据本发明实施例的固态硬盘在读取或编程操作中调整操作时间流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施方式对本发明作进一步详细的说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参见图1,根据本发明实施例提供了一种加入了限速方法后的固态硬盘(ssd,solidstatedriver)装置,包括前端主机通讯接口、固态硬盘控制器及nandflash存储介质芯片。固态硬盘的操作业务总的分为编程业务、读取业务和擦除业务。整个固态硬盘电路实现将主机下发的数据存储至nandflash存储器颗粒中,也可实现将nandflash存储器存储的数据读取至主机。所述前端主机通讯接口与固态硬盘控制器相连,用于主机电脑与盘片之间进行数据传输的接口,包括固态硬盘的数据传送至主机或者将主机的数据传送至固态硬盘控制器;用于将固态硬盘的数据传送至主机或者将主机的数据传送至固态硬盘控制器。所述前端主机通讯接口包括sata接口或pcie接口,可以支持目前主流的sata3.0(serialata,串行ata)接口或者pcie(peripheralcomponentinterconnectexpress)接口。固态硬盘控制器连接主机通讯接口,用于接收或者上传数据至主机通讯接口,固态硬盘控制器是整个固态硬盘的核心,用于控制整个固态硬盘盘片的数据传输、命令传输及对盘片的读取、编程、擦除业务的操作。固态硬盘控制器连接至nandflash存储芯片,用于在对固态硬盘读取操作时,从nandflash存储芯片读取的数据传送至固态硬盘控制器,再通过固态硬盘控制器的操作控制,将读出的数据依次传送至主机通讯接口电路,最终上传至主机。固态硬盘控制器包括温度检测电路模块,其产生温度检测触发信号连接至所述温度读取模块,用于接收温度读取模块中的控制信号,触发温度检测电路模块进行温度检测,并周期性地将温度值信息传送至高温限速控制模块;

温度读取模块,其产生温度读取控制信号连接至所述温度检测电路模块及定时触发电路,用于实时读取固态硬盘盘片的温度大小;

定时触发电路,其产生周期性地定时触发信号连接至高温限速控制模块及温度读取模块,用于作为温度检测的触发机制,按周期传送定时触发信号给温度读取控制电路;

高温限速控制模块,其产生控制定时触发的信号连接至所述定时触发电路,产生限速控制命令连接至所述nandflash控制器,将接收的温度信息值传送至所述高温限速值生成器模块,用于当固态硬盘盘片的温度大于所设置的温度大小,对固态硬盘进行高温限速控制。

nandflash控制器,其接收高温限速控制模块传送的限速控制命令,产生调整通道及nandflash存储芯片数据带宽的控制信号和数据带宽大小至nandflash存储芯片接口电路,用于控制整个固态硬盘盘片的编程或读取或擦除操作,以及控制数据和命令的传递,并接收高温限速模块传递的高温限速逻辑控制信号及nandflash存储芯片限速带宽值;

nandflash存储芯片接口电路,接收nandflash控制器传送的控制信号及数据,产生访问nandflash存储器芯片的编程或擦除或读取操作时序传送至nandflash存储芯片;nandflash存储芯片接口电路可支持异步、onfi协议接口和toggle协议接口。本领域技术人员可知,onfi(opennandflashinterface)协议和toggle同步协议为nandflash存储器颗粒厂商共同标记的国际协议标准,不同厂商采用不同协议。

高温限速值生成器模块,其产生nandflash读取或编程命令的潜伏期值大小传送至高温限速控制模块,用于接收高温限速控制模块所得到的不同温度信息值,并产生nandflash读取或编程命令的潜伏期值大小。本发明实施例中所述温度检测电路模块、温度读取模块、定时触发电路模块、高温限速控制模块、高温限速值模块、nandflash控制器(nandflashcontroller,nfc)和nandflash存储器接口电路全部由数字集成电路制成,为实际存在的芯片电路模块。

固态硬盘后端包括nandflash控制器中的nandflash存储芯片接口电路及多通道的nandflash存储芯片。本发明实施例中固态硬盘后端由多通道组成,这样可以实现数据的大容量存储及数据的高效存储。每通道一般由大于两个nandflash存储芯片构成,本实施例中所述nandflash存储介质芯片采用8个nandflash存储介质芯片级连,构成一个nandflash存储通道,一共4个nandflash存储通道。其中nandflash存储介质芯片包括slcnandflash存储芯片、mlcnandflash存储芯片、tlcnandflash存储芯片、3dnandflash存储芯片。slcnandflash(singlelevelcell,单层单元闪存)存储芯片即每个阵列器件存储1比特数据,mlcnandflash(multi-levelcell)存储芯片每个阵列器件存储2比特数据,tlcnandflash(triple-levelcell)存储芯片每个阵列器件存储3比特数据。3dnandflash存储芯片其阵列结构采用当今前言技术三维存储器,大大提高了存储容量。在对固态硬盘编程操作时,固态硬盘控制器接收由主机通讯接口传输的数据及命令,并按照操作命令产生对应的操作时序电路,将数据按照编程操作时序传送至nandflash存储芯片指定地址,完成对固态硬盘的编程操作。主机通讯接口采用sata(serialadvancedtechnologyattachment,串行ata接口规范)接口协议,实现与sata主机进行命令交互及数据传输。固态硬盘的核心组件为固态硬盘控制器和nandflash存储介质芯片,固态硬盘控制器用于控制从主机传送至前端接口电路的数据传送至固态硬盘控制器,并控制实现从主机传送进的数据编程至nandflash存储器芯片,或者控制实现对nandflash存储器芯片的擦除操作,或者实现从nandflash存储器芯片中读取数据至前端接口电路。nandflash存储芯片用于作为数据存储。本发明实施例的固态硬盘装置对固态硬盘控制器进行改进,加入高温保护电路控制模块,实现对固态硬盘的高温保护,在较小影响固态硬盘性能的前提下极大程度地提高了固态硬盘地稳定性。图1示出根据本发明实施例的加入限速方法后的固态硬盘电路装置,其中,固态硬盘控制器包括温度检测电路模块、温度读取模块、定时触发电路模块、高温限速控制模块、高温限速值模块、nandflash控制器(nandflashcontroller,nfc)和nandflash存储器接口电路。温度检测电路模块与温度读取模块、定时触发电路模块、高温限速控制模块、高温限速值模块依次相连;高温限速控制模块与nandflash控制器、nandflash存储芯片接口电路依次相连。其中,温度检测电路模块用于接收温度读取模块中的控制信号,触发温度检测电路模块进行温度检测,并周期性地将温度值传送至高温限速控制模块。温度检测电路模块实际是一个模数转换器,模拟信号来源是温度检测电路。温度检测电路作为物理信号转换为电信号的实现模块,模块中核心器件为pt100温度传感器件,它通过介质将温度信号传送到相应的检测电路并转换为电信号。温度读取模块用于实时读取固态硬盘盘片的温度大小。定时器触发电路作为温度检测的触发机制,按周期传送触发信号给温度读取模块,触发周期可由用户自定义,主要通过增加一个主机通信命令来完成触发周期的更新。触发周期由cpu下发给定时器电路,定时器电路实现计数,当计数至设置的触发周期,即产生触发信号传送至温度读取模块。高温限速控制模块用于当固态硬盘盘片的温度大于所设置的温度大小,对固态硬盘进行高温限速控制。其中,高温限速的方法即调整nandflash的数据传输带宽,包括对nandflash控制器中的命令并发通道数量和/或nandflash接口的数据吞吐率进行调整。高温限速值生成器模块用于接收高温限速控制模块所得到的不同信息值,包括盘片第一温度t1、盘片第二温度t2、盘片第三温度t3、nandflash的第一读取时间cr1和第一编程时间cw1、nandflash的第二读取时间crmax2和第二编程时间cwmax2。高温限速值生成器模块接收高温限速控制模块所计算出的高温控制参数后,计算产生对nandflash存储介质的实际编程时间cwrite和/或对nandflash存储介质的读取操作时间cread时间值大小,最终将计算出的对nandflash存储介质的实际编程时间cwrite和/或读取操作时间cread时间的值大小传送至高温限速控制模块,高温限速控制模块控制将其值大小传送至nandflash控制器。由nandflash控制器根据该值大小调控nandflash存储芯片接口电路,最终调控访问nandflash存储芯片的数据带宽,从而达到温度过高进行限速的方案,温度降低恢复数据带宽。从而,在不影响固态硬盘的其他工作性能指标情况下高效地解决了固态硬盘在高温环境下的工作问题,大大提高了固态硬盘的可靠性。

其次,本发明实施例的固态硬盘具备4个通道,每个通道可以挂载8颗nandflash存储介质芯片,多通道的固态硬盘可以实现数据的大容量存储及较高带宽,多通道固态硬盘共同操作引起固态硬盘盘片温度上升的问题也是本发明引起高温的原因,在满足多通道进行大数据传输以及多通道数据传输引起盘片温度升高的矛盾问题也是本发明方案所解决的问题之一。高温限速的方法即调整nandflash的数据传输带宽,也包括对nandflash控制器中的命令并发通道数量的调整,高温限速控制模块接收到温度读取模块的信息值大小时,比较读取的盘片温度值与起始温度阈值差值大小,当固态硬盘的实际温度大于设置的起始温度阀值且比上一个周期的盘片温度值要高,减少nandflash控制器中的命令并发通道数量;当固态硬盘的实际温度大于起始温度阀值且比上一个周期的盘片温度值要低,增加nandflash控制器中的命令并发通道数量;当固态硬盘的实际温度小于起始温度阀值,恢复默认的nandflash控制器中的命令并发通道数量。

固态硬盘的不断发展,集成度越来越高,其不在只是适用于常规室温环境下,应用场景越来越复杂,在一些特殊的应用场景下,如环境温度超过常规温度如60~100摄氏度时,再对固态硬盘的编程操作或者读取操作或者擦除操作时,其自身工作功耗很高,可能会造成固态硬盘本身的温度超过其芯片的工艺温度,致使固态硬盘盘片异常工作,导致用户数据丢失的情况,严重时还会导致固态硬盘烧坏。图1示出根据本发明实施例前端接口电路采用sata协议,为了不减缓固态硬盘的访问速率及不降低其他性能指标,本发明仍然采用前端接口同时下发32个io口命令,即前端io口的并发度仍然是32,与之前已有专利cn201210475065对高温保护提出的减小指令队列深度(即降低前端io口并发度)相比,已有专利的方案虽然在一定程度上起到保护固态硬盘的作用,但是却造成固态硬盘的的整体性能大幅降低。本发明提出的一种固态硬盘的高温保护方法很好地解决了了现有技术的瓶颈,客服了高温环境下对固态硬盘的保护,同时很好地保证了固态硬盘的良好性能,增强了固态硬盘的可靠性。

图2示出根据本发明实施例的温度检测实现的内部结构框图,包括温度传感器、温度转换电路、温度数据寄存器、检测触发模块。温度转换电路、温度数据寄存器、检测触发模块由数字电路制成。其中,温度传感器、温度转换电路、温度数据寄存器依次相连,检测触发模块连接至温度转换电路。温度传感器用于将温度信号传输到温度转换电路中,温度传感器使用特殊材质构成,对于其应用场景、使用寿命、精准度都有较好的效果。温度转换电路根据温度传感器对应的阻抗变化引起电压分布,主要利用温度传感器的温阻效应进行,从而得到温度物理信号向电压信号的转换。由于温度传感器(pt100)的特殊性需要有温度补偿电路,主要作用是对其进行校准,用于使用得到的温度值更为精确。当温度信号转换为电压信号后就直接可通过模数转换得到数字信号值,其转换基准按下式进行:

温度值=vout/cbase

在上式中,温度值为最终准确值,vout为温度转换电路得到的电信号值,cbase为温度基准值,即每摄氏度的变化引起的电压值的变化的线性关系。在实际的应用中,传感器件的温阻效率不可能是线性关系,但是经过补偿后,可近似看作为线性关系,由此可计算得到固态硬盘的工作温度。而工作温度是暂存于温度数据寄存器中的,是由固态硬盘的主控写入到该寄存器中的,最终在获取该值的时候需要以特定时序去访问该数据寄存器的基地址,以此获取到固态硬盘的工作温度。温度检测触发模块是被动式触发,需要指定的触发信号,所以,固态硬盘的温度获取是被动式,只有提供了触发信号给温度检测触发模块之后,温度检测与转换相关电路才能真正的工作,否则温度寄存器保存的是上一次检测的结果。

温度传感器用于检测固态硬盘盘片温度,它获取到的是物理信号,获取结果直接传送给温度转换电路。温度转换电路主要作用是将物理信号转换为电信号,因为电信号为实际可采样信号,然后将电信号数据送往处理器。经过处理器计算后的数据为实际的固态硬盘盘片温度值,处理器最终将最新的温度值存放于固态地址的温度寄存器中,用户可直接通过该地址获取到固态硬盘当前的盘片温度值。检测触发模块是专门设计的采样固态硬盘温度的电路,用户可通过简单的电平触发施加给该模块,该模块会自动触发温度转换电路工作并将新的数据送往处理器。

图3示出根据本发明实施例的高温限速控制装置图,包括:温度采集信号、温度采集寄存器、高温限速控制模块、nandflash通道,所述温度采集寄存器、高温限速控制模块、nandflash通道全部采用数字集成电路制成,是实在的制造出来的芯片集成电路。其中:

所述温度采集信号连接至所述高温限速控制模块,用于触发固态硬盘的温度采集电路工作;

所述温度采集寄存器连接至所述高温限速控制模块,用于存放盘片温度值;

所述高温限速控制模块连接至所述nandflash通道,用于依据盘片温度值信息完成高温限制控制;

所述nandflash通道连接至所述高温限速控制模块,用于作为nandflash命令或数据的传输通道。

所述高温限速控制模块包括:温度采集信号产生模块、温度值有效性检测模块、温度采集次数统计模块、温度分析模块、温度与阀值比较模块、高温限速启动判定模块、nfc命令操作时间获取模块、nfc命令操作时间有效性分析模块和nfc命令操作时间配置模块,其中:

所述温度采集信号产生模块连接至所述温度有效值检测模块,用于周期性地发出温度检测信号,并接收温度值信息,并传递到温度有效值检测模块;此处,nfc(nandflashcontroller,nandflash控制器)为本领域技术人员所知专业词汇。

所述温度有效值检测模块连接至所述温度采集次数统计模块,用于对温度值信息进行检测,若检测当前温度信息无效则直接丢弃;否则,将有效的温度信息传递到温度采集次数统计模块;

所述温度采集次数统计模块连接至所述温度分析模块,用于获取多次温度信息值,并统计温度值的时间戳信息;

所述温度分析模块连接至所述温度与阀值比较模块,用于依据时间戳信息对所有的温度信息进行分析,得到一个最大的温度值;

所述温度与阀值比较模块连接至所述高温限速启动判定模块模块,用于比较温度值与设定阀值,这个比较操作还包括与上一周期温度信息值比较;

所述高温限速启动判定模块连接至所述nfc命令操作时间获取模块,用于判定高温限速是否要开始启动,并产生一个启动信号;

所述nfc命令操作时间获取模块连接至所述nfc命令操作时间有效性分析模块,用于依据当前获取到的温度转换为nfc命令的实际操作时间;

所述nfc命令操作时间有效性分析模块连接至nfc命令操作时间配置模块,用于对nfc命令的实际操作时间的有效性进行分析,主要识别当前nfc命令的实际操作时间是否超限;

所述nfc命令操作时间配置模块连接至nandflash通道,用于存储当前nfc命令的实际操作时间,并一直有效,直到获取到新的nfc命令的操作时间。

一种用于固态硬盘控制器的高温限速控制装置,其特征在于,可对盘片的温度进行实时采集操作。

一种用于固态硬盘控制器的高温限速控制装置,其特征在于,基于盘片温度获取到nfc读命令的实际操作时间。

一种用于固态硬盘控制器的高温限速控制装置,其特征在于,基于盘片温度获取到nfc写命令的实际操作时间。

一种用于固态硬盘控制器的高温限速控制装置,其特征在于,所述对盘片温度信息有效性进行智能检测。

一种用于固态硬盘控制器的高温限速控制装置,其特征在于,所述对nfc命令操作时间进行存储。

一种用于固态硬盘控制器的高温限速控制装置,其特征在于,所述nfc命令操作时间会被新的操作时间所替换。

一种用于固态硬盘控制器的高温限速控制装置,其特征在于,所述nfc命令包括:对nandflash存储器读取操作命令、编程操作命令、擦除操作命令、读状态命令、模式切换命令、读id命令。

图4所示出根据本发明实施例的一种固态硬盘高温保护方法总体流程图,包括以下步骤:

步骤1:温度检测电路检测固态硬盘的盘片温度;

步骤2:设置定时触发温度检测电路;

步骤3:设置固态硬盘的起始温度阀值;

步骤4:启动定时触发任务;

步骤5:定时获取固态硬盘的实际温度信息;

步骤6:将固态硬盘的实际温度与设定的起始温度阈值进行比较,获取二者的差值;

步骤7:依据固态硬盘的实际温度与设定的起始温度阀值间的差值,调整固态硬盘的带宽。

所述依据固态硬盘的实际温度与设定的起始温度阀值间的差值,调整固态硬盘的带宽。通过检测到温度与设定的起始温度差值,调整固态硬盘的带宽来调整固态硬盘的操作时间周期,从而达到降低温度的作用。固态硬盘的带宽包括数据传输带宽及命令传输带宽,由于对固态硬盘的操作主要是数据的存储,而命令相对数据很小,因此影响固态硬盘带宽主要由数据传输带宽决定。

所述设置定时触发温度检测电路,包括配置固态硬盘的定时电路的中断周期t1,启动定时器,并以t1为单位周期性地向温度检测电路发送定时触发信号。温度检测电路模块,其产生温度检测触发信号连接至所述温度读取模块,用于接收温度读取模块中的控制信号,触发温度检测电路模块进行温度检测,并周期性地将温度值信息传送至高温限速控制模块。

所述设置定时触发温度检测电路,包括配置固态硬盘的定时电路的中断周期t1,启动定时器,并以t1为单位周期性地向温度检测电路发送触发信号。当固态硬盘的实际温度达到设置的温度起始阈值时,开始对固态硬盘进行带宽限制。固态硬盘所设置的温度起始阈值由用户设置,通常实施例为70摄氏度。当温度检测电路检测盘片达到设置温度起始阈值则开始对固态硬盘带宽进行限制。

所述定时任务会周期性地发送触发信号给温度检测电路,并获取温度检测电路反馈的固态硬盘的实际温度。将固态硬盘的实际温度与设定的起始温度阈值进行比较,获取二者的差值。如实施例中获取的温度检测电路反馈的固态硬盘实际温度为t1,设定的起始温度阈值为t2,则求出t1-t2的大小。通过调整nandflash的数据传输带宽来提升或限制固态硬盘带宽。

所述调整nandflash的数据传输带宽,包括对nandflash控制器中的命令并发通道数量和/或nandflash接口的数据吞吐率进行调整。

所述调整nandflash控制器中的命令并发通道数量,包括:当固态硬盘的实际温度大于设置的起始温度阀值且比上一个周期的盘片温度值要高,减少nandflash控制器中的命令并发通道数量;当固态硬盘的实际温度大于起始温度阀值且比上一个周期的盘片温度值要低,增加nandflash控制器中的命令并发通道数量;当固态硬盘的实际温度小于起始温度阀值,恢复默认的nandflash控制器中的命令并发通道数量。

所述调整nandflash接口的数据吞吐率,包括:当固态硬盘的实际温度大于设置的起始温度阀值且比上一个周期的盘片温度值要高,降低nandflash接口的数据吞吐率;当固态硬盘的实际温度大于起始温度阀值且比上一个周期的盘片温度值要低,提升nandflash接口的数据吞吐率;当固态硬盘的实际温度大于起始温度阀值且比上一个周期的盘片温度值要低时,提升nandflash接口的数据吞吐率以保证固态硬盘整体操作性能提升,即当温度降低下去时候,不能一直限制固态硬盘带宽,故采用提升nandflash接口的数据吞吐率来提升固态硬盘带宽,从而大大提升固态硬盘性能。当固态硬盘的实际温度小于起始温度阀值,恢复默认的nandflash的数据吞吐率。

所述调整nandflash接口的数据吞吐率,采用对nandflash存储介质的读取或编程命令的操作时间进行调整。所述对nandflash存储介质的读取或编程命令的操作时间即对nandflash存储芯片操作的潜伏期。

所述调整nandflash存储介质的读取或编程业务操作时间包括:

步骤1:周期性地获取固态硬盘的盘片温度,记为盘片第一温度t1;

步骤2:根据盘片所处的工作环境温度设定盘片的温度起始阈值,记为盘片第二温度t2;

步骤3:根据固态硬盘主控芯片的工艺温度上限,设定温度裕量,并计算固态硬盘盘片温度的上限,记为盘片第三温度t3;所述固态硬盘主控芯片的工艺温度由生产工艺线所决定,一般是125摄氏度。例如实施例中工艺温度是125摄氏度,温度裕量为25摄氏度,则计算固态硬盘的盘片温度的上限为工艺温度上限-设定温度裕量=125-25=100摄氏度。固态硬盘的盘片温度的上限即在调整过程中不能超过的最大盘片温度,即若此时高温环境温度是71摄氏度,设置的温度起始阈值也为70摄氏度,则此刻开始调整固态硬盘带宽,且要让固态硬盘盘片温度不能超过盘片温度的上限100摄氏度。

步骤4:从nandflash存储介质内部获取读取或编程命令的基本操作时间,分别记为nandflash的第一读取时间cr1和第一编程时间cw1;从nandflash存储介质内部获取读取或编程命令的基本操作时间可以直接通过nandflash存储芯片操作手册,按照芯片操作手册发送对应命令来获取nandflash的第一读取时间cr1和第一编程时间cw1。

步骤5:当固态硬盘的盘片第一温度t1升至盘片第三温度t3时,设定nandflash存储介质的读取或编程命令最大操作时间,分别记为nandflash的第二读取时间crmax2和第二编程时间cwmax2;

步骤6:根据cr1和crmax2,cw1和cwmax2得到nandflash存储介质读取或编程操作时,对应命令的操作时间差值,分别记为nandflash的第三读取时间cr3和第三编程时间cw3;即cr3为cr1与crmax2值的差值,cw3为cw1与cwmax2值的差值。

步骤7:根据t2和t3得到固态硬盘的实际温度范围差值,记为盘片第一温度差值t4;即t4为t2-t3的大小。

步骤8:根据t4和cr3、t4和cw3,得到平均每一摄氏度的温度变化所引起的nandflash存储介质命令操作时间的变化值,分别记为nandflash的第四读取周期cr4和第四编程周期cw4;

步骤9:若t1大于等于t2,开始调整固态硬盘带宽,得到t1与t2的差值(t1-t2),并获取本次对nandflash存储介质的操作业务类型,操作业务类型包括编程操作业务和读取操作业务。结合cr4和cw4分别得到nandflash存储介质的读取或编程命令的实际操作时间。本次为读取命令时,对nandflash存储介质的实际操作时间cread满足:

cread=(t1-t2)*cr4+cr1

本次编程操作时,对nandflash存储介质的实际操作时间cwrite满足:

cwrite=(t1-t2)*cw4+cw1

若t1小于t2,停止调整固态硬盘带宽,此时nandflash存储介质的读取或编程命令的操作时间采用基本操作时间。对nandflash存储介质的读取操作的实际操作时间cread满足:

cread=cr1

对nandflash存储介质的编程操作的实际操作时间cwrite满足:

cwrite=cw1

图5示出根据本发明实施例的固态硬盘在读取或编程操作中调整操作时间流程图,其步骤包括:

步骤1:周期性地获取固态硬盘的盘片温度,记为盘片第一温度t1;

步骤2:根据盘片所处的工作环境温度设定盘片的温度起始阈值,记为盘片第二温度t2;

步骤3:根据固态硬盘主控芯片的工艺温度上限,设定温度裕量,并计算固态硬盘盘片温度的上限,记为盘片第三温度t3;

步骤4:从nandflash存储介质内部获取读取或编程命令的基本操作时间,分别记为nandflash的第一读取时间cr1和第一编程时间cw1;

步骤5:当固态硬盘的盘片第一温度t1升至盘片第三温度t3时,设定nandflash存储介质的读取或编程命令最大操作时间,分别记为nandflash的第二读取时间crmax2和第二编程时间cwmax2;

步骤6:根据cr1和crmax2,cw1和cwmax2得到nandflash存储介质读取或编程操作时,对应命令的操作时间差值,分别记为nandflash的第三读取时间cr3和第三编程时间cw3;

步骤7:根据t2和t3得到固态硬盘的实际温度范围差值,记为盘片第一温度差值t4;

步骤8:根据t4和cr3、t4和cw3,得到平均每一摄氏度的温度变化所引起的nandflash存储介质命令操作时间的变化值,分别记为nandflash的第四读取周期cr4和第四编程周期cw4;

步骤9:若t1大于等于t2,开始调整固态硬盘带宽,得到t1与t2的差值,并获取本次对nandflash存储介质的操作类型,结合cr4和cw4分别得到nandflash存储介质的读取或编程命令的实际操作时间;本次为读取命令时,对nandflash存储介质的读取操作时间cread满足:

cread=(t1-t2)*cr4+cr1

本次编程操作时,对nandflash存储介质的实际编程时间cwrite满足:

cwrite=(t1-t2)*cw4+cw1

若t1小于t2,停止调整固态硬盘带宽,此时nandflash存储介质的读取或编程命令的操作时间采用基本操作时间,对nandflash存储介质的读取操作的实际操作时间cread满足:

cread=cr1

对nandflash存储介质的编程操作的实际操作时间cwrite满足:

cwrite=cw1。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1