首页> 中国专利> 针对存储设备使用作为RAM代码的具有破坏性的特征

针对存储设备使用作为RAM代码的具有破坏性的特征

摘要

一种主机,包括控制器,其被配置为连接至独立于该主机的存储设备。该控制器被配置为将随机访问存储器(RAM)代码保持在该主机上,该RAM代码被配置为提供具有破坏性的功能,在制造过程期间将该RAM代码临时加载到该存储设备中的易失性存储器上,其中,所加载的RAM代码在被该存储设备中的处理器所执行时被配置为使得该存储设备中的处理器在该存储设备上执行具有破坏性的功能,并且在制造过程之后从该易失性存储器移除所加载的RAM代码,其中,该具有破坏性的功能在所加载的RAM代码从该易失性存储器移除时无法被该处理器所执行。

著录项

  • 公开/公告号CN105745616A

    专利类型发明专利

  • 公开/公告日2016-07-06

    原文格式PDF

  • 申请/专利权人 西部数据技术公司;

    申请/专利号CN201480060605.8

  • 发明设计人 M·W·韦伯斯特;

    申请日2014-09-30

  • 分类号G06F9/06(20060101);G06F12/00(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人张扬;王英

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 15:54:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-17

    授权

    授权

  • 2016-11-23

    实质审查的生效 IPC(主分类):G06F9/06 申请日:20140930

    实质审查的生效

  • 2016-07-06

    公开

    公开

说明书

背景技术

依照惯例,存储设备可以存储各种程序。一些程序对于用户或制造方而言可能是有利的。然而,即使程序对于用户或制造方有利,该程序也可能包括具有破坏性的特征。也就是说,即使在用户并非故意使得存储设备无法工作时,程序也可能具有使得存储设备无法工作的能力。在这样的情况下,存储设备可能需要被送回维修。这对于用户而言可能是高成本且耗时的。此外,这在存储设备处于保修期内的情况下还会增加该存储设备的制造和维修成本。

然而,停用该程序可能会增加制造成本,因为该程序在存储设备的制造或设计期间可能具有有益的质量。

附图说明

当前实施例的特征和优势将在与附图相结合时通过以下所给出的详细描述而更加显而易见,其中:

图1描绘了根据一个实施例的连接至存储设备的主机;

图2描绘了根据一个实施例的存储设备中的桥接器板;

图3描绘了根据一个实施例的存储设备中的非易失性存储器;

图4描绘了根据一个实施例的用于配置存储设备的过程;

图5描绘了根据一个实施例的用于将置换数据加载到易失性存储器上的过程;和

图6描绘了根据一个实施例的用于配置存储设备的过程。

具体实施方式

在如图1所示的实施例中,存储设备102连接至主机104。在一个实施例中,主机104包括独立于存储设备102的外部主机。在一个实施例中,存储设备102可以包括网络附接存储(NAS)设备或直接附接存储(DAS)设备。在一个实施例中,存储设备102可以包括桥接器板108和存储单元106。在一个实施例中,主机104被配置为使用桥接器板108连接至存储设备102。在一个实施例中,存储单元106包括硬盘驱动器或固态驱动器。在一个实施例中,该硬盘驱动器包括磁性旋转磁盘。在一个实施例中,该固态驱动器包括固态存储器。

虽然这里的描述总体上涉及到固态存储器,但是所要理解的是,固态存储器可以包括一个或多个各种类型的固态非易失性存储器设备,诸如闪存集成电路、硫属化合物RAM(C-RAM)、相变RAM(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、双向通用存储器(OUM)、电阻RAM(RRAM)、NAND存储器(例如,单级单元(SLC)存储器、多级单元(MLC)存储器,或者它们的任意组合)、NOR存储器、EEPROM、铁电存储器(FeRAM)、磁阻RAM(MRAM)、其它离散NVM(非易失性存储器)芯片,或者它们的任意组合。

在一个实施例中,主机104包括存储器118和存储器120,它们将在下文中更为详细地进行描述。在一个实施例中,存储器120可以包括易失性存储器、非易失性存储器,或者它们的任意组合。存储器120可以被配置为存储控制器118可能希望加以使用的代码、数据或程序。

虽然存储器120在图1所示的实施例中位于主机104之中,但是只要存储器120能够由主机104访问但是无法被存储设备102进行访问或者能够以受限方式被存储设备102进行访问,则存储器120也可以位于主机104外部。也就是说,存储设备102在存储设备102离开制造设施或维修设施之后将无法访问存储器120。

在一个实施例中,主机104包括计算机、测试机,或者能够被用来配置存储设备102的其它设备。在一个实施例中,主机104被配置为使用小型计算机系统接口(SCSI)连接至桥接器板108。然而,在一个实施例中,主机104可以利用其它类型的接口来连接至存储设备102。

在一个实施例中,桥接器板108被配置为使用串行高级技术附件(SATA)接口连接至存储单元106。然而,在一个实施例中,桥接器板108可以被配置为使用其它类型的接口连接至存储单元106。

在一个实施例中,桥接器板108在图2中被示出。在图2所示的实施例中,桥接器板108包括诸如只读存储器(ROM)的非易失性存储器110,诸如闪速存储器的非易失性存储器112,诸如随机访问存储器(RAM)的易失性存储器114,以及处理器116。在一个实施例中,处理器116包括微处理器。

在一个实施例中,非易失性存储器110(ROM)能够存储诸如ROM程序之类的程序,该程序能够在存储设备102启动时被加载并且由处理器116所执行。在一个实施例中,该ROM程序包括初始程序。在一个实施例中,非易失性存储器112(闪速存储器)能够被配置为存储如图3中的实施例中所示的固件。

在图3所示的实施例中,非易失性存储器112(闪速存储器)被配置为存储固件的多个副本,诸如固件的第一副本和固件的第二副本。该固件的多个副本能够通过为固件提供冗余性来提供针对故障的保障。因此,如果固件的第一副本损毁或受损,则能够替代使用固件的第二副本。类似地,如果固件的第二副本损毁或受损,则能够替代使用固件的第一副本。

此外,非易失性存储器112(闪速存储器)还能够存储元数据的一个或多个副本。元数据能够提供有关固件的每个副本的有用信息,诸如版本信息、固件的最近写入副本以及固件的循环冗余校验(CRC)信息。在一个实施例中,移除固件的所有副本或者元数据的所有副本可以使得存储器102无法工作。

在一个实施例中,当该ROM程序被处理器116所执行时,存储在非易失性存储器112(闪速存储器)中的固件能够被加载到易失性存储器114(RAM)中以便由处理器116所执行。

在一个实施例中,图4中示出了用于配置存储设备102的过程。在框S402,主机104的控制器118将RAM代码保持在主机104上,该主机104独立于存储设备。如之前所提到的,该RAM代码能够被配置为提供具有破坏性的功能。

在框S404中,主机104的控制器118在制造过程期间将该RAM代码临时加载到易失性存储器114(RAM)上。例如,主机104中的控制器118能够被配置为将该RAM代码加载到易失性存储器114(RAM)上。此外,所加载的RAM代码在被处理器116所执行时被配置为使得处理器116在存储设备102上执行具有破坏性的功能。在一个实施例中,该具有破坏性的功能被配置为执行第一动作而使得存储设备102无法工作,直至第二动作被执行而使得存储设备102能够工作。

在一个实施例中,能够对存储在存储设备102中的存储器之中的数据执行该具有破坏性的功能。在一个实施例中,该存储器包括非易失性存储器112(闪速存储器)。

例如,该具有破坏性的功能可以包括完全擦除非易失性存储器112(闪速存储器)中所存储的数据。因此,包括所有固件副本在内的固件可以被擦除。在没有存储在非易失性存储器112(闪速存储器)中的固件的情况下,该存储设备可能无法工作,因为没有固件可以被加载到易失性存储器114(RAM)上以用于由处理器所执行。此外,可以擦除每个固件的元数据。另外,在没有元数据的情况下,存储设备102可能无法确定有关固件的相关信息或者甚至无法确定固件是否有效。因此,在一个实施例中,当存储设备102无法工作时,存储设备102可能无法在启动时完成其引导过程。

在框S406中,控制器118能够在制造过程之后从易失性存储器114(RAM)移除所加载的RAM代码,其中该具有破坏性的功能在所加载的RAM代码被从易失性存储器114(RAM)移除时无法被处理器116所执行。在一个实施例中,能够通过使得存储设备102断电来从存储设备102中的易失性存储器114(RAM)中移除所加载的RAM代码。在这样的情况下,所加载的RAM代码将被移除,因为易失性存储器114(RAM)将会在失去电力时丢失其存储器中所存储的数据。

在一个实施例中,主机104中的控制器118能够向存储设备102发送信号以将其断电。在一个实施例中,主机104中的控制器118能够阻止向存储设备102供电以便使得存储设备102断电。

在一个实施例中,能够通过从主机104中的控制器118所发出的命令来从存储设备102中的易失性存储器114(RAM)移除所加载的RAM代码。例如,在一个实施例中,主机104中的控制器118能够指示存储设备102中的处理器116从易失性存储器114(RAM)擦除所加载的RAM代码,或者利用置换数据或其它数据替代所加载的RAM代码。在一个实施例中,该置换数据可以是固件和/或元数据的新的副本。

在框S408中,控制器118能够执行第二动作以使得存储设备102能够工作。在一个实施例中,该第二动作包括将置换数据加载到非易失性存储器112(闪速存储器)上。例如,控制器118能够被配置为将该置换数据加载到非易失性存储器112(闪速存储器)上以使得存储设备102再次能够进行工作。在一个实施例中,该置换数据能够包括被擦除的固件的副本、该固件的正确或功能性副本、该固件的新版本、用于该固件的相对应元数据,或者应当被加载到非易失性存储器112(闪速存储器)上并且将使得存储设备102再次能够进行工作的附加数据。

在一个实施例中,图5中示出了用于将置换数据加载到易失性存储器114(RAM)上的可选或附加处理。在框S502,主机104中的控制器118指示存储设备102重启。在一个实施例中,当存储设备102重启时,处理器116执行存储在非易失性存储器110(ROM)中所存储的ROM程序。在一个实施例中,该ROM程序使得处理器116将来自非易失性存储器112(闪速存储器)的置换数据加载到易失性存储器114(RAM)上。例如,该ROM程序能够使得处理器116将存储在非易失性存储器112(闪速存储器)中的固件加载到易失性存储器114(RAM)上。在一个实施例中,这利用置换数据替代了易失性存储器114(RAM)中所加载的RAM代码。因此,易失性存储器114(RAM)中所加载的RAM代码能够被该固件所替代。

在一个实施例中,在所加载的RAM代码被从易失性存储器114(RAM)移除时,处理器116无法执行该具有破坏性的功能。这之所以是有利的是因为其能够防止用户导致处理器116执行所加载的RAM代码而利用该具有破坏性的功能。如之前所提到的,该具有破坏性的功能的使用会使得存储设备102无法工作,这可能需要用户将存储设备102送回维修。

然而,在一个实施例中,该具有破坏性的功能在存储设备102的配置期间可能是有利的,诸如在存储设备102的制造或部署期间。例如,在制造期间,非易失性存储器112(闪速存储器)可能包括损毁的固件。为了确保固件的正确的或功能性的副本被加载到非易失性存储器112(闪速存储器)上,可以在该非易失性存储器112(闪速存储器)上使用具有破坏性的功能以擦除存储在非易失性存储器112(闪速存储器)中的所有数据。在一个实施例中,这能够确保非易失性存储器112(闪速存储器)在加载固件的正确的或功能性的副本之前被完全清扫干净。

在一个实施例中,这能够有助于再次利用或重新使用非易失性存储器112(闪速存储器)中的固件可能已经损毁的存储设备102。在一个实施例中,这能够降低制造成本,因为存储设备102或者其一部分并不需要被浪费。此外,如果非易失性存储器112(闪速存储器)仍然包含有损毁的固件,则非易失性存储器112(闪速存储器)能够更快地被识别为有问题而不是固件的问题。这能够通过降低故障排除成本而降低制造成本。

类似地,在部署期间,确保加载并采用新版本的固件而不是旧版本的固件会是有利的。因此,在加载新版本的固件之前可以利用该具有破坏性的功能来擦除非易失性存储器112(闪速存储器)中的所有数据并且确保非易失性存储器112(闪速存储器)并不包含旧版本固件的副本。

在一个实施例中,RAM代码的移除以及用户针对RAM代码的访问的缺失将不会阻止用户对固件进行升级。为了升级固件,新版本的固件将覆盖旧版本的固件。例如,旧版本的固件的副本能够连同新版本固件的副本一起被保持在非易失性存储器112(闪速存储器)中。因此,如果新版本固件出现安装问题,诸如在新版本固件损毁或者不兼容存储设备102的情况下,则能够恢复旧版本的固件。

在一个实施例中,通过使用RAM代码而不是其它持久性代码来执行具有破坏性的功能,能够对用户利用该具有破坏性的功能的能力加以限制,这是因为用户对于该RAM代码将具有受限访问或无法对其进行访问。然而,制造商在存储设备102的配置期间利用该具有破坏性的功能的能力能够得以保持,因为制造商将有权访问该RAM代码。

在一个实施例中,主机104中的存储器120被配置为存储原始RAM代码,而被加载到存储设备102中的易失性存储器114(RAM)上的RAM代码则包括该原始RAM代码的可移除副本。在一个实施例中,该RAM代码的副本并未被存储在存储设备102中的任何非易失性存储器中。在一个实施例中,这能够确保该RAM代码的任何副本都将在被用户访问之前从存储设备102被擦除,因为存储设备102能够在被用户访问之前被断电。在一个实施例中,这可以进一步降低用户将访问到该RAM代码的可能性。在一个实施例中,该原始RAM代码版本该RAM代码的永久性副本。

在一个实施例中,图6中示出了用于配置存储设备102的过程。在一个实施例中,该具有破坏性的功能能够包括对于存储设备102可能有害但是在存储设备102的配置期间可能会有用的其它功能。在图6所示的实施例中,该具有破坏性的功能并不需要执行第一动作来使得存储设备102无法工作直至第二动作被执行而使得存储设备102能够工作。

在框S602,主机104的控制器118将RAM代码保持在主机104上。该RAM代码能够被配置为提供具有破坏性的功能。在一个实施例中,这能够与图4中所示的实施例的框402相似或相同。在框S604,主机104的控制器118能够在制造过程期间将该RAM代码临时加载到易失性存储器114(RAM)上。例如,主机104中的控制器118能够被配置为将该RAM代码加载到易失性存储器114(RAM)上。此外,所加载的RAM代码在被处理器116所执行时被配置为使得处理器116在存储设备102上执行具有破坏性的功能。

例如,该具有破坏性的功能包括用于针对存储设备102设置热量排除操作的功能。在一个实施例中,该热量排除操作包括诸如存储设备102的风扇工作速度之类的热控制。在一个实施例中,这之所以可能具有破坏性是因为其可能在不适当设置的情况下损坏存储设备102。然而,该具有破坏性的功能可能是有用的,因为存储设备102中的风扇的工作速度可能需要进行配置。

此外,在一个实施例中,该具有破坏性的功能可以使得存储设备102中的某些性能特性能够有所改善,而这对于存储在存储设备102中的数据可能存在危险。例如,当存储单元106包括磁盘驱动器时,该具有破坏性的功能可能包括使得能够对该磁盘驱动器中的磁盘进行延迟的高速缓存写入。在一个实施例中,这对于该磁盘驱动器中的数据完整性会存在危险。

在框S606中,控制器118能够在制造过程之后从易失性存储器114(RAM)移除所加载的RAM代码,其中该具有破坏性的功能在所加载的RAM代码从易失性存储器114(RAM)被移除之后无法由处理器116所执行。在一个实施例中,这能够与图4中所示的实施例中的框S406相似或相同。

本领域技术人员将会意识到,结合这里所公开的示例进行描述的各种说明性逻辑框、模块和算法部分可以被实现为电子硬件、计算机软件或者二者的组合。此外,实施例还能够体现在非暂时性的机器可读介质上而使得处理器或计算机执行或实施某些功能。

为了清楚地阐述硬件和软件的这种可互换性,以上已经围绕它们的功能在总体上对各种说明性组件、框块、模块、电路和过程部分进行了描述。这样的功能被实施为硬件还是软件取决于具体应用和施加于整体系统上的设计约束。技术人员可以针对每种特定应用以有所变化的方式实施所描述的功能,但是这样的实施决策并不应当被解释为导致背离所公开的装置和方法的范围。

结合这里所描述的示例进行描述的方法或算法的多个部分可以直接以硬件、处理器所执行的软件模块或者以二者的组合来体现。该方法或算法的多个部分还可以以不同于示例中所提供的顺序的替换的顺序来执行。软件模块可以处于RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除磁盘、光盘或者本领域已知的任意其它形式的存储介质之中。示例性存储介质耦合至处理器而使得处理器能够从该存储介质读取信息并向其写入信息。可选地,该存储介质可以构成该处理器的一部分。该处理器和存储介质可以处于专用集成电路(ASIC)之中。

之前对所公开示例的描述被提供而使得本领域技术人员能够制造或使用所公开的方法和装置。针对这些示例的各种修改对于本领域技术人员将会是显而易见的,并且在不背离所公开方法和装置的精神或范围的前提下,这里所限定的原则可以被应用于其它示例。所描述的实施例在所有方面都要被认为是说明性而非限制性的,并且本公开的范围因此由所附权利要求而不是之前的描述所指示。落入权利要求等同形式的含义和范围之内的所有变化都被涵盖于其范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号