CN116324726A - 加速的非易失性存储器设备检查和取证 - Google Patents
加速的非易失性存储器设备检查和取证 Download PDFInfo
- Publication number
- CN116324726A CN116324726A CN202180071343.5A CN202180071343A CN116324726A CN 116324726 A CN116324726 A CN 116324726A CN 202180071343 A CN202180071343 A CN 202180071343A CN 116324726 A CN116324726 A CN 116324726A
- Authority
- CN
- China
- Prior art keywords
- memory device
- computer system
- user
- memory
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
示例实施例采用选择性存储器交换系统,用于选择性地将计算机系统的非易失性存储器设备置于离线,例如,以用于后台更新,以及置于在线,以供计算机系统使用,由此后台更新过程包括在替代存储器设备可由第一计算机系统的用户使用的同时执行离线存储器设备的取证分析和更新的机制。
Description
对相关申请的交叉引用
本申请要求于2020年10月19日提交的题为ACCELERATED NON-VOLATILE MEMORYDEVICE INSPECTION AND FORENSICS(ORACP0262/ORACP00515-US-NP)的美国专利申请序列号17/074,379的优先权,该专利申请出于所有目的通过引用并入本文,如同在本申请中完整阐述一样。
背景技术
本申请涉及计算,更具体地涉及用于提高计算环境中回收计算资源的效率,同时最小化计算资源停机时间的软件、系统和方法。
用于选择性地回收计算资源(例如,计算机系统和伴随的存储器、数据、软件等)的系统和方法被用于各种要求苛刻的应用中,包括涉及将计算机系统(例如,服务器)租赁给外部客户的基于云的应用,其中伴随的服务器侧计算机系统必须在先前客户放弃它们时在被移交给或租赁给新客户之前被回收。这样的应用通常需要高效的机制用于促进回收计算资源(例如,以便为后续用户准备它们),同时最小化资源停机时间以及最小化执行回收操作所需的基于云的资源。
在示例的基于云的计算环境中,计算机系统被回收;然后被移交给后续用户。回收过程可能涉及对计算机系统进行数字清理和更新,诸如通过清除先前数据(例如,来自先前客户的数据)、更新运行在计算机的非易失性存储器设备上的较旧固件等。
常规地,当用户放弃对他们租赁的计算机系统的使用时,整个计算机系统被离线,同时系统被回收,例如,通过执行非易失性存储器的擦除并用新固件和伴随数据进行替换而被回收。然而,这可能导致计算机系统的大量停机时间,从而使主办机构损失收入。此外,使用传统的擦除和重新安装固件和数据可能特别耗时,从而进一步延长计算机系统停机时间。
计算资源回收的替代方法可能表现出类似的低效率,使得过多的基于云的资源可能需要用于回收操作。
发明内容
本文讨论的各种实施例实现基于云的服务器侧功能,用于实现在新用户潜在地同时在伴随的计算机系统上执行工作负载时,对先前用户的非易失性存储器内容的检查(例如取证分析)。每个计算机系统可以具有多个非易失性存储设备(例如,网络接口控制器(NIC)、基本输入/输出系统(BIOS)存储器、现场可编程门阵列(FPGA)等)。
本文讨论的实施例可以并行或并发采用给定计算机上所有必要存储器设备的取证后台更新,使得离线回收的所有存储器设备可以根据需要切换到在线以满足新用户的需要,而无需系统停机时间,并且同时确保准备好的/回收的存储器设备未被篡改,例如,以任何方式被修改或损坏。此外,取证分析的使用可以进一步加快回收过程,如下文更全面地讨论的。
一种示例方法促进选择性地更新基于云的计算环境的计算机系统的一个或多个存储器设备,以为供后续用户使用做准备,并且包括:确定正在采用第一存储器设备的第一计算机系统的当前第一用户计划在未来时间放弃第一存储器设备;准备第二存储器设备以与第一存储器设备互换以便为供第一计算机系统以及伴随的第二后续用户使用做准备,其中准备还包括:对第二存储器设备执行取证分析,以及响应于执行而选择性地更新或更改第二存储器设备上的数据或代码;检测到第一计算机系统已被第一用户放弃;以及响应于检测,采用存储器交换系统来(电子地,而不是物理地)定位第二存储器设备以替代第一存储器(即,交换离线和在线状态,使得第二存储器设备被置于在线,并且第一存储器设备被置于离线),从而使第二用户能够使用与第二存储器设备通信的计算机系统。
在更具体的实施例中,示例方法还包括采用云服务来与存储器交换系统通信以促进准备第二存储器设备以与第一存储器设备互换。
云服务可被用来与存储器交换系统的信任根(ROT)处理器通信以促进取证分析和选择性地更新或更改数据。ROT处理器可以与交换机通信以促进第一存储器设备与第二存储器设备的互换(即,互换在线和离线状态)。
服务处理器可以与交换机通信以促进将由计算机系统的用户发起的计算机系统的一个或多个操作与第一存储器设备或第二存储器设备对接,这分别取决于第一存储器设备或第二存储器设备是否已经经由后台更新过程准备好供计算机系统使用。
在替代实施例中,采用的步骤还可以包括,响应于检测:将第一存储器设备离线,同时将第二存储器设备置于在线;对第一存储器设备进行取证分析,并响应于此产生取证结果;使用取证结果来确定随后要写入第一存储器设备的数据;选择性地向已经经过取证处理以确定应该写入第三存储器设备的新数据的第三存储器设备写入新数据,以便准备第三存储器设备用于在第二存储器设备和伴随的计算机系统被第二用户放弃时电子定位以替代第二存储器设备;检测到第二用户已放弃计算机;以及电子定位第三存储器设备以替代第二存储器设备,使得:第二存储器设备离线以为取证分析做准备;第三存储器设备被置于在线以供第一计算机系统和第三用户使用;以及第一存储器设备被电子定位以准备针对第一存储器设备重写或更新数据,以便准备第一存储器设备以在放弃第三用户使用的第三存储器设备和第一计算机系统时供第四用户使用。
第一存储器设备和第二存储器设备可以代表非易失性存储器。计算环境可以包括或代表联网的计算环境,诸如基于云的计算环境。取证分析可以包括采用一个或多个散列或循环冗余校验(CRC)或其他代码或取证机制来确定关于一组数据和/或计算机代码是否已在第一存储器设备或第二存储器设备上被修改或以其他方式被篡改、替换或扩充的指示。
可以通过参考说明书的其余部分和附图来实现对本文公开的特定实施例的性质和优点的进一步理解。
附图说明
图1图示了第一示例系统和伴随的计算环境,其采用恢复后端来促进选择性地实现计算资源的后台更新,如可以经由一个或多个云服务和/或应用编程接口和/或代码库来实现。
图2图示了第二示例系统和伴随的计算环境,其可以由图1的第一示例系统实现并且其进一步图示了用于选择性地采用取证和后台更新的控制平面云服务的示例细节。
图3图示了图2的存储器交换系统的示例组件,其可以经由图1的第一示例系统来实现。
图4是图示计算机系统中回收存储器设备的示例常规方法的第一序列流程图,该常规方法需要大量的计算机系统停机时间。
图5是第二序列流程图,其图示图1-图3的云服务和几个存储器之间的示例通信交换,并且其进一步图示了根据本文讨论的实施例的大量时间节省,包括用于回收事件和存储器交换事件的计算机系统停机时间的几乎消除。
图6是适合与本文讨论的各种实施例一起使用的第一示例方法的流程图。
图7图示了示例网络环境的框图,其可以用于本文描述的实现。
图8图示了示例计算设备或系统的框图,其可以用于本文描述的实现。
具体实施方式
目前,作为计算机回收事件(本文也被称为回收事件)的一部分,例如,由此计算机系统和伴随的非易失性存储器被清理、更新和/或以其他方式为被转移给另一个用户(例如,客户)做准备。通常,非易失性存储器设备的受到用户更改的区域被盲目清除(即擦除);然后用最新的已知的良好数据重写。
然而,此方法可能导致被回收的计算机系统的停机时间延长。不仅擦除和重写过程效率低且冗长,而且经常使计算机系统离线以执行操作。计算机系统不可用来供他人使用的时间在本文中被称为“停机时间”。
下面更全面地讨论的各种实施例提供了系统、方法、功能,这些系统、方法、功能实现相对于这样的方法的大量性能改进,例如,这部分地通过在作为回收过程或操作的一部分的后台更新过程期间,将对先前客户使用的计算机的非易失性存储器的检查(包括取证分析)与同时或并发地将新的已知的良好数据写入替代的非易失性存储器设备交织在一起而实现,如下面更全面地讨论的。
出于当前讨论的目的,计算环境可以是用于执行涉及计算机处理的一个或多个任务的计算资源的任何集合。计算机可以是与存储器通信的任何处理器。计算资源可以是计算环境的任何组件、机制或者其能力或数量,包括但不限于处理器、存储器、软件应用、用户输入设备和输出设备、服务器、数据等。
联网的计算环境可以是包括相互通信的计算机的任何计算环境,即,计算机网络。类似地,联网的软件应用可以是适于促进经由网络与一个或多个计算资源(例如服务器)通信或以其他方式使用一个或多个计算资源(例如服务器)的计算机代码。
出于本讨论的目的,服务器可以是任何计算资源,诸如适于向请求它的另一计算资源或实体(即,客户端)提供内容(例如数据和/或功能)的计算机和/或软件。客户端可以是适于从被称为服务器的另一计算机或系统接收内容的任何计算机或系统。服务器系统可以是一个或多个服务器和伴随的计算资源的任何集合。
数据中心可以是用于容纳多个计算机系统(例如,服务器和其他基于云的计算资源)的一个或多个建筑物或设施的任何集合。
基于云的计算资源可以是数据中心或一个或多个相互通信的服务器的其他集合容纳的任何计算资源。
云服务可以是用于使用户和/或其他软件应用能够采用经由云提供的数据和/或功能的任何机制(例如,一个或多个web服务、应用编程接口(API)等)。云可以是一台或多台服务器的任何集合。例如,某些云经由具有服务器的一个或多个数据中心实现,这些服务器可以提供数据、数据存储和客户端设备可访问的其他功能。
某些数据中心可以提供集中位置,用于使计算和联网的设备集中,以供用户访问、消耗和存储大量数据。通常在计算系统集合(例如云计算系统)中,诸如处理器和存储器之类的公共资源被配置为供不同用户轮流利用。这样的计算集合利用可重写存储器,例如闪存,一旦一个用户用完该可重写存储器,它就可以被清除并针对下一个用户被重写。例如,云服务提供商必须确保当新用户开始访问云资源时,资源针对后续用户被正确配置,并且来自先前用户的任何信息都不可用。
为清楚起见,某些众所周知的组件,诸如互联网、硬盘驱动器、处理器、电源、路由器、互联网服务提供商(ISP)、输入/输出(I/O)工作流编排器、进程调度器、身份管理云、进程云、证书颁发机构、业务进程管理系统、数据库管理系统、中间件等,不一定在图中明确指出。然而,可以访问本教导的本领域技术人员将知道要实现哪些组件以及如何实现它们以满足给定实现的需要。
图1图示了第一示例系统10和伴随的计算环境,其采用恢复后端22来促进选择性地实现计算资源的后台更新,如可以经由可以在控制平面云服务模块24之中运行或包括在控制平面云服务模块24内的一个或多个云服务和/或应用编程接口和/或代码库(诸如信任根(ROT)库)来实现。
示例系统10包括例如经由互联网或其他网络与服务器系统14通信的一个或多个客户端系统12。服务器系统14可以经由数据中心实现并且可以代表云。
注意,通常,系统10的各种模块的分组是说明性的并且可以变化,例如,某些模块可以与其他模块组合或在其他模块内部实现,或者模块可以以其他方式(与所示)不同地分布在网络之中或在一个或多个计算设备或虚拟机内,而不脱离本教导的范围。
例如,虽然交换机28(如下文更全面地讨论的)被示为包括在恢复后端22中,但是交换机28可以被认为在恢复后端22之外,而不脱离本教导的范围。类似地,前端处理模块18的服务处理器38可以被认为是一个或多个服务器侧计算机系统20的一部分,而不是前端处理模块18的一部分,而不脱离本教导的范围。
此外,在上面识别和并入的题为CONFIGURABLE MEMORY DEVICE CONNECTED TO AMICROPROCESSOR的美国专利申请中更全面地讨论了系统的模块的替代分组和布置,其可以容易地适于由本领域的技术人员与本教导(以及本文讨论的相关联的实施例)一起使用。
在本示例实施例中,客户端系统12包括用于促进访问由服务器系统14提供的数据和功能的客户端侧软件16。示例服务器系统14包括前端处理模块18,其可以经由一个或多个web服务和/或应用编程接口(API)和相关联的处理器(包括服务处理器38)实现。
出于当前讨论的目的,软件功能可以是经由计算机代码(即软件)提供的任何功能、能力或特征,例如存储或布置的数据。软件功能可以包括动作,诸如检索与计算对象(例如,业务对象)有关的数据;执行与企业相关的任务、计算分析、启动某些对话框、执行搜索、在存储器设备上实现取证分析算法等,如下面更全面地讨论的。
前端处理模块18与一个或多个第一计算机系统20通信,其资源被选择性地租赁给用户,例如服务器系统14的所有者的客户。通常,这样的第一计算机系统20包括用于促进第一计算机系统20的操作的一个或多个第一存储器设备30。注意本文中术语“存储器设备”可以与术语“存储器”互换使用。
执行(客户端系统12的用户指引第一计算机系统20执行的)操作的请求由前端处理的服务处理器38处理,服务处理器38促进了将客户端系统12与服务器侧计算资源对接,该服务器侧计算资源除了计算机系统20提供的其他计算资源(例如,处理、操作系统软件、应用软件等)之外,还包括第一计算机20的第一存储器设备30(以及伴随的固件、数据等)。
当服务处理器38正在处理来自客户端系统12的消息传送时,这可能因此影响第一存储器设备30的使用,则第一存储器设备30被称为在线或活动的,即它正在被使用或可用于由客户端系统12经由前端处理模块18使用。类似地,当第一存储器设备30与客户端系统12和前端处理模块18(例如,经由交换机28,如下文更全面讨论的)电隔离时,第一存储器设备30被称为离线或非活动的。注意,服务处理器38可以包括类似于基板管理控制器(BMC)的功能,用于监控服务器(计算机系统)硬件并与例如现场可编程门阵列(FPGA)、基本输入/输出系统(BIOS)等的各种外围设备通信。
在本示例实施例中,恢复后端22包括实现一个或多个离线存储器设备32-36的后台更新和相关联的处理所涉及的各种模块26、28、32-36和相关联的功能。恢复后端22与前端处理18的服务处理器38和第一计算机系统20的第一存储器设备30通信。
恢复后端22的各种模块26、28、32-36包括信任根处理器(ROT)26(本文也被称为ROT处理器)。ROT 26实现用于经由交换机28将控制平面云服务模块24的一个或多个云服务与恢复后端22的存储器设备32-36中的一个或多个安全地对接的功能。ROT 26可以向交换机28发出一个或多个控制信号,例如,以选择性地控制交换机28的交换操作,如下文更全面地讨论的。
交换机28(例如,响应于由ROT处理器26发出的一个或多个控制信号)选择性地将服务处理器38与存储器设备30-36中的一个或多个耦合。在本实施例中,服务处理器38经由交换机28电耦合至第一存储器设备30。
出于说明的目的,第一存储器设备30被示为包括在第一计算机系统20中。然而,第一存储器设备30可以包括也可以不包括在第一计算机系统20内。交换机28包括用于选择性地电子地断开服务处理器38和第一存储器设备30之间的通信并将它重新连接到一个或多个其他存储器(例如当前离线的存储器设备32-34之一)的功能。
此切换和重新连接在本文中被称为交换。例如,如果ROT 26向交换机28发出控制信号以将服务处理器38与第一存储器设备30断开;电子地将第一存储器设备30置于离线;然后连接到第三存储器设备34,则第三存储器设备34可以被认为是第一计算机系统20的一部分,鉴于第三存储器设备34然后可以被第一计算机系统20使用,而先前的第一存储器30经由交换机28被电子地移动到恢复后端22中。
注意,ROT处理器26还与控制平面云服务模块24的一个或多个云服务(例如,web服务、应用编程接口(API)等)通信。在本示例实施例中,控制平面云服务模块24包括用于实现(通过ROT处理器26实现的)功能以实现取证分析和将数据写入可能正在经历后端处理(例如,为在另一用户被分配第一计算机系统20时可用于替换第一存储器设备30做准备)的离线存储器32-36中的一个或多个离线存储器的模块。
通过选择性地使用离线后端处理来准备存储器设备32-36以供在第一存储器设备30离线时与第一计算机系统20相关联的随后使用,这可以避免第一计算机系统20的任何停机时间。
例如,在使用第一存储器设备30之后,当第一计算机系统20被(一个或多个)客户端系统12的第一用户放弃时,ROT处理器26可以例如经由来自控制平面云服务模块24的一个或多个云服务的信令检测到此事件。在检测到这样的放弃事件时,ROT处理器26然后可以使用交换机28电子地交换出第一存储器设备30。例如,第一存储器设备30可以被电子地交换出并被替换为第三存储器设备34,该第三存储器设备34已被清理、更新以及以其他方式被处理,以为供第一计算机系统20的后续用户使用做准备。
在将第一计算机系统20从第一用户移交到第二用户(或为移交到第二用户做准备)时发生的此交换时间可以接近于零,使得计算机系统20的停机时间几乎被消除。
注意,本文讨论的实施例包括附加的有益技术;不仅仅是出于实现回收操作的目的的离线后台处理。例如,如下面更全面地讨论的,除了用于将任何必要的新数据和/或更新写入先前取证分析的存储器设备的功能之外,控制平面云服务模块24还包括一个或多个云服务(例如,web服务)或用于实现离线存储器模块32-36中的一个或多个的取证分析的其他模块。
注意,在取证分析针对给定的离线存储器设备32-36执行例如以便确认存储器设备尚未被篡改(例如,以便确认其上的数据和/或固件或软件没有被修改以不同于经由已知信任源指示的数据和/或不同于经由已知信任源指示的数据和/或固件)之后,则存储器设备无需被擦除。相反,任何新的更新,例如固件和/或数据更新,都可以写入存储器设备32-36,而无需首先要求擦除几乎整个存储器设备32-36。
在一些情况下,例如,当没有固件和/或数据更新可用时,在存储器设备(例如,存储器设备32-36中的一个)通过取证分析(例如,以确认没有数据和/或固件已经改变或以其他方式不合适)之后,没有附加的数据将需要被写入该存储器设备,以用于存储器设备被认为准备好供计算机系统20的后续用户重新使用。
取证分析的使用还可以促进检测服务器系统14上的任何恶意活动,否则当仅依靠存储器擦除来准备存储器设备时,即,回收存储器设备以供后续用户与第一计算机系统20相关联的后续使用时,这些恶意活动可能未被检测到。
注意,虽然在本示例实施例中,恢复后端22在离线存储器设备32-26上操作以准备它们以供计算机系统20上的随后在线使用,但是实施例不限于此。例如,在某些实现中,控制平面云服务模块24的一个或多个云服务可以采用ROT处理器26来对在线存储器(例如对第一存储器设备30)进行检查,即执行取证分析,而不脱离本教导的范围。
在本示例实现中,控制平面云服务模块24的云服务被用于取证地检查第二存储器设备32,同时任何新数据(例如,对固件和/或数据的更新)被写入第三存储器设备34。此时,第三存储器设备34先前曾经位于过第二存储器设备32的位置(电子位置),使得在任何新数据写入至其之前取证检查已经针对第三存储器设备34执行。
注意,在图1的实施例中,正在经历取证分析和/或检查的第二存储器32和可能同时正有新数据向其写入的第三存储器34两者当前离线。
然而注意,实施例不限于多个存储器设备(例如,第二存储器设备32和第三存储器设备34)的同时后端处理。例如,在某些场景中,单个离线存储器设备可以通过取证处理和任何数据(和/或固件)写入、重写和/或更新,而第一存储器设备30当前正被第一计算机系统20和伴随的客户端系统12的第一用户使用。到用户放弃第一计算机系统20之前(并且第一存储器设备30必须在被另一客户使用之前由恢复后端22处理,并且经过清理和更新的第二存储器然后必须被置于在线以供第一计算机系统20使用),第二存储器设备32的后台处理将可能已经完成。
然而,下面更全面地讨论的实施例可以处理和保持存储器设备32-36中的两个(例如,第二存储器设备32和第三存储器设备36)离线直到第一计算机系统20和相关联的第一存储器设备30被用户放弃为止。
相应地,在本示例实施例中,在取证分析针对第二存储器设备32执行的同时任何新数据被写入第三存储器设备34之后,以及取证分析针对第二存储器设备32完成之后,等待时间段可以开始。
等待时间段可以涉及等待直到第一计算机系统20的第一用户放弃第一计算机系统20。当第一用户放弃第一计算机系统20时,然后第一存储器设备30被置于离线并且(经由来自ROT处理器26的一个或多个控制信号经由交换机28)被电子定位以替代第二存储器设备32,例如,以便为至少部分地经由控制平面云服务模块24的一个或多个云服务实现的取证分析做准备。
同时,对于第一计算机系统20,将已经准备好的(经后台处理以为交换出第一存储器设备30做准备的)第三存储器设备34电子地置于在线,同时使第一存储器设备30离线。在此情况下,第三存储器设备34被认为占据了第一存储器设备30的位置。
然后,第一存储器设备30将离线,并将取代第二存储器设备32,第二存储器设备32将取代第三存储器设备34。因此,将对现在离线的第一存储器设备30执行取证分析。在下一个回收事件(也被称为回收(recycling)事件)时,第一存储器然后将移动到下一个位置(对应于图1中的第三存储器设备34的位置),并且(曾经有任何新数据写入到其的)第三存储器设备将前进到在线状态,从而电子地替换第一计算机系统20使用的先前存储器设备。
在包括两个处理步骤(取证分析和新数据写入)的虚拟循环队列中选择性地交换存储器设备30、32、34的循环确保高效的取证分析和数据写入可以经由恢复后端执行,同时用户可以正在第一计算机系统20上执行负载并使用当前在线的任何存储器,例如,第一存储器30在图1中被示为当前在线。
一旦用户放弃第一计算机系统20,经后台处理的存储器设备,例如第三存储器设备34,可以被交换到位置(即,置于在线)以供第一计算机系统20使用。
注意,虽然上面讨论的本示例实施例使用至少三个存储器设备作为三级环路的一部分,但是在不脱离本教导的范围的情况下附加的或更少的级可以被采用。
图2图示了第二示例系统50和伴随计算环境,其可以由图1的第一示例系统10实现并且其进一步图示了用于选择性地采用取证和后台更新的控制平面云服务模块24的示例细节。注意,虽然图1的第一在线存储器设备30未在图2中示出,但是图2的第一计算机系统20还包括图1的第一存储器设备30(或者以其他方式与第一存储器设备30通信或拥有第一存储器设备30)。
示例控制平面云服务模块24包括与检查器服务(本文中也被称为检查器模块)56、存储器重写器服务(本文中也被称为存储器重写器模块)58和真相源60通信的控制器54。真相源60包括数据、固件映像和检查器模块56对一个或多个存储器设备(例如,第二存储器设备32和第三存储器设备34)进行取证分析所需的任何其他信息,以及可以写入存储器设备32、34中的一个或多个的任何信息,例如数据和/或固件更新。
在本示例性实施例中,检查器模块56和存储器重写器(和/或写入器,因为它还可以简单地执行写入功能,而不脱离本教导的范围)58通过包括恢复后端22的选择性存储器交换系统52与存储器设备32、34通信。存储器交换系统52被称为交换系统,因为它促进(例如,经由图1的交换机28)选择性地电子地使非易失性存储器设备离线(以便为经由后台处理进行回收做准备),并将回收的存储器设备置于在线,例如,当计算机系统易手时,例如,从一个用户或客户的使用传递给另一个用户或者客户时。
注意,出于说明的目的,离线存储器,即第二存储器设备32和第二存储器设备34,被示为包括在第一计算机系统20上,即使存储器设备32、34当前离线并且与可以由第一计算机系统20的用户执行的任何处理电子断开。因此,在不脱离本教导的范围的情况下,离线存储器设备32、34的物理位置可以变化。
此外,存储器设备32、34被示为包括或代表多个存储器设备,例如,软管网络接口控制器(NIC)存储器、智能NIC、BIOS存储器、现场可编程门阵列存储器等。注意,存储器设备32、34中的每一个可以代表这样的非易失性存储器设备中的一个或多个或任何组合。在本示例实施例中,第二存储器32、第三存储器34和第一存储器34是非易失性存储器,即它们在电源与相关联的集成电路断开时保留存储器。
在本示例实施例中,检查器服务56包括用于执行取证分析的代码和相关联的功能,取证分析可以包括采用散列和相关联的功能、循环冗余校验(CRC)和/或其他取证技术来验证数据的完整性和/或维持在非易失性存储器32、34上的固件(例如,由与恢复后端22(例如,其ROT 26,如图1所示)通信的控制平面云服务模块24)后台处理。
图3图示了图2的存储器交换系统52的示例组件26、28、38,其可以经由图1的第一示例系统10来实现。在本示例实施例中,选择性存储器交换系统52被示为包括ROT处理器26、(图1的前端处理模块18的)服务处理器38和图1的恢复后端22的交换机28。注意,虽然图1的第一在线存储器设备30未在图3中示出,但是选择性存储器交换系统52也与图1的第一存储器设备30通信。
在图3中,控制平面云服务模块24被示为经由第一总线(总线1)与选择性存储器交换系统52的ROT 26通信。ROT 26经由第二总线(总线2)与交换机28通信,服务处理器38经由第三总线(总线3)与交换机28通信。交换机28经由第四总线(总线4)与第二离线非易失性存储器32通信。交换机还经由第五总线(总线5)与第三非易失性存储器设备34通信。
注意,交换机28可以经由各种技术来实现。可以访问本教导的本领域技术人员可以容易地确定合适的交换机架构以满足给定实现的需要,而无需过度的实验。在一种实现中,交换机28可以使用一个或多个交叉交换机和/或(一个或多个)其他交换机机构来实现,以用于选择性地将一个或多个输入端子交换(例如,连接和/或断开)到一个或多个输出端子。
图4是示出经由云服务80在计算机系统中回收存储器设备82的示例常规方法的第一序列流程图,其方法可能需要大量的计算机系统停机时间,例如,当相关联的非易失性存储器82被回收时。
示例流程包括垂直时间轴88,其中处理时间的持续时间沿轴88进一步向下增加。初始数据清除和推送步骤包括发出清除和推送操作控制84,该清除和推送操作控制84然后启动存储器清除过程和后续写入过程,该后续写入过程花费大量时间,例如,如指示的持续时间86所指示的。
在新数据被接收并写入非易失性存储器82后,回收操作(也被称为后台处理操作)完成,非易失性存储器82准备好重新使用,例如准备好根据需要上线。确认消息90可以被返回到云服务80以确认清除和重写操作已完成。
然而,常规地,整个持续时间86代表使用非易失性存储器82的计算机系统不可操作的时间。这代表计算机停机时间。
实施例不仅基本上消除了这样的停机时间86,而且还提供取证分析功能和更高效的数据重写。例如,取决于取证分析,并非非易失性存储器设备82上的所有数据和固件都必须被重写,并且有时没有数据和/或固件将需要被写入或重写入非易失性存储器82。例如,当第一用户放弃计算机系统以供第二用户使用,但当没有对非易失性存储器82做出过修改并且还没有数据和/或固件更新对非易失存储器82可用时,这可能发生。
图5是示出云服务24和第二非易失性存储器32之间的示例通信交换100(和包括取证分析的处理)以及云服务24和图1-图3的第三存储器设备34之间的通信交换102(无取证步骤)的第二序列流程图。
图5的流程进一步图示了大量的时间节省,包括根据本文讨论的实施例对用于回收事件和存储器交换事件的计算机系统停机时间的几乎消除。
注意,控制平面云服务模块24和第三存储器设备34之间的示例通信交换涉及任何新数据(例如,更新,如果可用的话)的推送,并且不一定需要涉及(如经由图4所示的方法中执行的)任何数据的清除,因为经由本文讨论的实施例,非易失性存储器设备34的现有数据的完整性可能已经经由先前取证分析被确认。注意,通常,如果现有非易失性存储器设备34的完整性已被确认为良好(并且出于特定实现的目的而足够新近),并且没有软件或固件更新可用,则没有数据需要从中清除或向其写入。
在本示例实施例中,取证处理100包括控制平面云服务模块24发出向第二存储器设备32请求散列测量的请求消息104。第二存储器设备32然后在散列处理步骤106期间处理散列测量请求。在响应于散列请求104完成散列处理步骤106之后,第二存储器设备然后将响应的散列测量108发回到控制平面云服务模块24。
控制平面云服务模块24然后在散列测量处理步骤110中处理返回的散列测量108。在完成散列测量处理步骤110之后,控制平面云服务模块24基于处理后的散列测量处理110在第一数据请求消息112中向第二存储器设备32请求所需的任何附加数据。
第二存储器设备32随后在数据请求处理步骤114期间处理第一数据请求消息112,然后经由数据发送消息116将数据发送回控制平面云服务模块24。
控制平面云服务模块24然后在检索数据处理步骤118中处理在数据发送步骤116中发送的检索数据。在完成检索数据处理步骤118之后,控制平面云服务模块24向第二存储器设备32发出新数据请求消息120。第二存储器设备32然后在相关联的新数据请求处理步骤122中处理新数据请求消息120。
在本示例场景中,第二存储器设备32在新数据请求处理步骤122中确定无新数据需要被发送,或者新数据已经被发送。如果是的话,则对第二存储器设备32的取证分析完成。完成确认消息(未示出)然后可以从第二存储器设备32发回控制平面云服务模块24。
注意,与控制平面云服务模块24向第二存储器设备32发出初始散列测量请求消息104同时或并发地,控制平面云服务模块24开始(例如,经由初始推送消息124)将新数据推送到经先前取证分析的第三存储器设备34。
然后,在推送消息处理步骤126中,推送消息124由第三存储器设备34处理。注意,推送消息处理步骤126的持续时间(例如,相对于图4的方法所示的清除和推送持续时间86)相对短,因为也不需要清除已经通过取证检查的任何数据。
此外,注意,虽然图5中未示出,但控制平面云服务模块24与非易失性存储器32、34之间的通信可通过ROT 26和交换机28发生,例如,如图1所示。
此外,注意,由图5的控制平面云服务模块24实现的取证处理100部分可以由图2的伴随的检查器服务或模块56实现。类似地,推送(例如,推送消息124的发出)可以经由控制平面云服务模块24的存储器重写器(或写入器)58来实现,如图2所示。
总之,第二非易失性存储器32针对任何损坏(经由取证处理100)被检查,并被验证。
经验证的部分不需要被清除以使它为推送新数据做准备。这可以节省附加时间,因为新数据到第二存储器设备32上的推送可被最小化,即,更少的数据可能需要被推送,因为经取证检查的区域可被保留。推送的新数据可以包括对已经取证验证的第三存储器设备34的某些区域的更新等。
在替代实施例和伴随场景中,用户或客户可能刚刚完成第二存储器设备32的执行(即,使用)。在此替代场景中,在客户对第二存储器设备32的先前使用期间,第三存储器设备34已经获得新数据(例如,并且被取证分析)。在这种情况下,第三存储器34将准备好供新客户使用,即,将准备好经由图1的恢复后端22和伴随的交换机28和ROT 26被置于在线。
然后,新客户可以在第三存储器设备34交换为在线之后立即开始执行第三存储器设备34,同时检查和取证在第二存储器设备32上执行。以此方式,只有两个存储器需要被包括在交换操作中。
然而,注意,图5中未示出此替代方法,其替代地示出了在第二存储器设备32和第三存储器设备34上执行的同时的离线步骤104、124。在替代场景中,在如可经由控制平面云服务模块24控制的取证分析(例如对应于取证处理步骤100)之后,第三存储器设备34将已经具有推送到其的数据,例如,从图60的真相源60获得并且然后根据需要(例如,经由图2的存储器重写器或写入器58)写入的数据。
图6是适合与本文讨论的各种实施例一起使用的第一示例方法130的流程图。第一示例方法130促进选择性地验证/确认(例如取证分析)和/或更新计算环境的计算机系统的一个或多个存储器设备以便为供后续用户使用做准备。
第一示例方法130包括第一步骤132,其包括确定正在采用第一存储器设备(例如,图1的第一存储器设备30)的第一计算机系统(例如,图1的第一计算机系统20)的当前第一用户计划在未来时间放弃第一存储器设备。这可以经由从图1的控制平面云服务模块24上运行的一个或多个服务发送到图1的ROT处理器26的检测信号来完成。图24的控制平面云服务模块24可以包括被配置为检测给定用户何时腾出或计划腾出特定计算机系统(例如,图1的第一计算机系统20)的一个或多个云服务,其从而可以警告图1的服务器系统14的一个或多个附加模块,例如,恢复后端22。
第二步骤134包括准备第二存储器设备(例如,图1的第二存储器设备32)以与第一存储器设备(例如,图1的第一存储器设备30)互换以为供第一计算机系统和第二后续用户对第二存储器设备的使用做准备。
经由第二步骤134实现的准备可以进一步包括(例如,在来自图1和图2的控制平面云服务模块24(例如,来自图2的检查器模块56)的一个或多个信号的指导下经由图1的ROT26)对第二存储器设备(例如,图1的第二存储器设备32)执行取证分析,然后响应于执行选择性地更新或更改第二存储器设备上的数据或代码。
第三步骤136,包括检测第一计算机系统已经被第一用户放弃。此检测也可以由图1的恢复后端22经由来自控制平面云服务模块24的信令获得,该控制平面云服务模块24可以合并用于执行该检测的一个或多个云服务。
第四步骤138包括响应于检测,采用存储器交换系统(例如,图3的交换系统52)来电子定位第二存储器设备以替代第一存储器,从而使第二用户能够使用与第二存储器设备通信的计算机系统。
注意,在不脱离本教导的范围的情况下,可以修改第一示例方法130,例如,可以添加、修改、与其他步骤交换附加步骤等。
例如,第一示例方法130可以被修改为进一步指定采用云服务与存储器交换系统通信以促进准备第二存储器设备以与第一存储器设备互换的步骤;包括采用云服务与存储器交换系统的信任根(ROT)(例如,对应于图1的ROT处理器26)通信以促进取证分析和选择性地更新或更改数据。
第一示例方法130可以进一步指定采用ROT处理器与交换机(例如,图1的交换机28)通信以促进第一存储器设备与第二存储器设备互换。
第一示例方法130可以进一步指定与交换机通信的服务处理器(例如,图1的服务处理器38)的使用以促进由计算机系统的用户发起的计算机系统的一个或多个操作与第一存储器设备或第二存储器设备的对接,这分别取决于第一存储器设备或第二存储器设备是否已准备好供计算机系统使用。这发生在第一存储器设备或第二存储器设备例如经由ROT处理器和恢复后端(例如,图1的恢复后端22)的伴随交换机被置于在线时。
第一示例方法130可以进一步指定,响应于检测:将第一存储器设备离线,同时将第二存储器设备置于在线;对第一存储器设备进行取证分析,并响应于此产生取证结果;使用取证结果来确定随后写入第一存储器设备的数据;选择性地向已经经过取证处理以确定应该写入第三存储器设备的新数据的第三存储器设备写入新数据,以便准备第三存储器设备用于在第二存储器设备和伴随的计算机系统被第二用户放弃时电子定位以替代第二存储器设备;检测到第二用户已放弃计算机;以及电子定位第三存储器设备以替代第二存储器设备,使得:第二存储器设备离线以为取证分析做准备;第三存储器设备被置于在线以供第一计算机系统和第三用户使用;以及第一存储器设备被定位以准备对其重写或更新数据,以便准备经准备的第二存储器设备以在放弃第三用户使用的第三存储器设备和第一计算机系统时供第四用户使用。
第一存储器设备和第二存储器设备可以代表非易失性存储器。计算环境可以是联网的计算环境,诸如基于云的计算环境。
取证分析可以包括:采用一个或多个散列或循环冗余校验(CRC)或其他代码来确定关于一组数据和/或计算机代码是否已在第一存储器设备或第二存储器设备上被修改或以其他方式被篡改、替换或扩充的指示。
图7是可用于实现图1-图6的实施例的系统900和伴随的计算环境的一般框图。实施例可以实现为(例如,驻留在用户设备中的)独立应用或实现为使用客户端侧和服务器侧代码的组合实现的基于web的应用。
一般系统900包括用户设备960-990,包括台式计算机960、笔记本计算机970、智能电话980、移动电话985和平板电脑990。一般系统900可以与能够显示和导航网页或其他类型的电子文档和UI和/或执行应用的任何类型的用户设备对接,用户设备诸如瘦客户端计算机、启用互联网的移动电话、移动互联网接入设备、平板电脑、电子书或个人数字助理。尽管系统900被示为具有五个用户设备,但是任何数量的用户设备可被支持。
Web服务器910用于处理来自web浏览器和独立应用的对网页、电子文档、企业数据或其他内容以及来自用户计算机的其他数据的请求。Web服务器910还可以提供与企业操作相关的数据的推送数据或联合内容,诸如RSS订阅源。
应用服务器920操作一个或多个应用。应用可以实现为以诸如Java、C、C++、C#之类的任何编程语言或诸如JavaScript或ECMAScript(欧洲计算机制造商协会脚本)、Perl、PHP(超文本预处理器)、Python、Ruby或TCL(工具命令语言)之类的任何脚本语言编写的一个或多个脚本或程序。应用可以使用诸如Rails、Enterprise JavaBeans或.NET之类的库或应用框架构建。Web内容可以使用HTML(超文本标记语言)、CSS(级联样式表)和包括模板语言和解析器的其他web技术创建。
在应用服务器920上运行的数据应用适用于处理输入数据和用户计算机请求,并且可以从数据存储设备或数据库930存储或检索数据。数据库930存储由数据应用创建和使用的数据。在实施例中,数据库930包括适合于响应于SQL格式命令或其他数据库查询语言来存储、更新和检索数据的关系数据库。其他实施例可以使用非结构化数据存储架构和NoSQL(不止SQL)数据库。
在实施例中,应用服务器920包括能够执行程序或脚本的一个或多个通用计算机。在实施例中,web服务器910被实现为在一个或多个通用计算机上运行的应用。Web服务器910和应用服务器920可以组合并在相同的计算机上执行。
电子通信网络940-950使用户计算设备960-990、web服务器910、应用服务器920和数据库930之间能够通信。在实施例中,网络940-950还可以包括任何形式的电或光通信设备,包括有线网络940和无线网络950。网络940-950还可以合并一个或多个局域网,诸如以太网、诸如互联网之类的广域网;蜂窝载波数据网络;以及虚拟网络,诸如虚拟专用网络。
系统900是根据本发明实施例的用于执行应用的一个示例。在另一个实施例中,应用服务器920、web服务器910和可选的数据库930可以组合成单个服务器计算机应用和系统。在又一实施例中,虚拟化和虚拟机应用可用于实现应用服务器920、web服务器910和数据库930中的一个或多个。
在更进一步的实施例中,所有或部分web和应用服务功能可以被集成到运行在每个用户计算机上的应用中。例如,用户计算机上的JavaScript应用可用于检索或分析数据并显示应用的部分。
参照图1和图7,图1的(一个或多个)客户端系统12可以经由图7的台式计算机960、平板电脑990、智能电话980、笔记本计算机970和/或移动电话985中的一个或多个来实现。图1的服务器系统14和伴随模块18-28可以经由图7的web服务器910和/或应用服务器920来实现。图2的真相源60可以使用图7的数据存储设备930来实现。
图8图示了示例计算设备或系统500的框图,其可以用于本文描述的实现。例如,计算设备1000可以用于实现图7的服务器设备910、920以及执行本文描述的方法实现。在一些实现中,计算设备1000可以包括处理器1002、操作系统1004、存储器1006和输入/输出(I/O)接口1008。
在各种实现中,处理器1002可用于实现本文描述的各种功能和特征,以及执行本文描述的方法实现。虽然处理器1002被描述为执行本文描述的实现,但是计算设备1000的任何合适的组件或组件的组合或与设备1000相关联的任何合适的一个或多个处理器或任何合适的系统可以执行所描述的步骤。本文描述的实现可以在用户设备上、在服务器上或在两者的组合上执行。
示例计算设备1000还包括可以存储在存储器1006或任何其他合适的存储位置或计算机可读介质上的软件应用1010。软件应用1010提供使处理器1002能够执行本文描述的功能和其他功能的指令。计算设备1000的组件可以由一个或多个处理器或硬件设备的任何组合以及硬件、软件、固件等的任何组合来实现。
为了便于说明,图8为处理器1002、操作系统1004、存储器1006、I/O接口1008和软件应用1010中的每一个示出了一个框。这些框1002、1004、1006、1008和1010可以代表多个处理器、操作系统、存储器、I/O接口和软件应用。在各种实现中,计算设备1000可能不具有所示的所有组件和/或可以具有包括替代本文所示的组件或除本文所示的组件之外的其他类型组件的其他元素。
尽管描述已经针对其特定实施例被描述,但是这些特定实施例仅是说明性的而非限制性的。例如,尽管特征可以针对具体类型的资源或操作(例如,非易失性存储器)被描述,但是本文描述的特征可以适用于其他云计算资源和操作。
此外,虽然云计算是所描述的计算系统的一个示例,其中存储器恢复系统可以由主板实现,但是本存储器恢复系统可用于在后台更新存储器设备或其他电子硬件的其他计算环境。例如,可以在不干扰当前执行的软件的情况下更新网卡、硬盘驱动器等。
包括C、C++、Java、汇编语言等的任何合适的编程语言可被用来实现特定实施例的例程。诸如面向过程的或对象的不同的编程技术可被采用。这些例程可以在单个处理设备或多个处理器上执行。尽管步骤、操作或计算可以以具体次序呈现,但是此次序可以在不同的特定实施例中改变。在一些特定的实施例中,在本说明书中示为顺序的多个步骤可以被同时执行。
特定实施例可以在计算机可读存储介质中实现,以供指令执行系统、装置、系统或设备使用或与指令执行系统、装置、系统或设备结合使用。特定实施例可以以软件或硬件或两者的组合中的控制逻辑的形式来实现。当由一个或多个处理器执行时,控制逻辑可以可操作以执行特定实施例中所描述的动作。例如,诸如硬件存储设备之类的非暂时性介质可被用来存储可以包括可执行指令的控制逻辑。
特定实施例可以通过使用编程的通用数字计算机、通过使用专用集成电路、可编程逻辑器件、现场可编程门阵列、光学系统、化学系统、生物系统、量子系统或纳米工程系统等来实现。其他组件和机构可被使用。通常,特定实施例的功能可以通过本领域已知的任何手段来实现。分布式联网系统、组件和/或电路可被使用。云计算或云服务可被采用。数据的通信或传输可以是有线的、无线的或通过任何其他手段。
还将理解,附图/图中描绘的元素中的一个或多个元素还可以以更分离或集成的方式实现,或者甚至在某些情况下被移除或呈现为不可操作的,如根据特定应用有用的。实现可以存储在机器可读介质中以允许计算机执行上述任何方法的程序或代码也在精神和范围内。
“处理器”可以包括处理数据、信号或其他信息的任何合适的硬件和/或软件系统、机构或组件。处理器可包括具有通用中央处理单元、多个处理单元、用于实现功能的专用电路的系统或其他系统。处理不必限于地理位置,或有时间限制。例如,处理器可以“实时”、“离线”、以“批处理模式”等方式执行其功能。处理的部分可以在不同时间和不同位置由不同(或相同)的处理系统执行。处理系统的示例可以包括服务器、客户端、终端用户设备、路由器、交换机、联网的存储装置等。计算机可以是与存储器通信的任何处理器。存储器可以是任何合适的处理器可读存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、磁盘或光盘,或适合存储指令以供处理器执行的其他非暂时性介质。
如本文中的描述和随后的权利要求各处所使用的,“一”、“一个”和“该”包括复数引用,除非上下文另有明确规定。此外,如本文中的描述和随后的权利要求各处所使用的,“在……中”的含义包括“在……中”和“在……上”,除非上下文另有明确规定。
因此,虽然本文已经描述了特定的实施例,但在前述公开内容中旨在有修改、各种变化和替换的自由,并且将理解,在一些情况下,在不脱离所阐述的范围和精神的情况下,将采用特定实施例的一些特征而无需其他特征的对应使用。因此,可以做出许多修改以使特定情况或材料适应基本范围和精神。
Claims (20)
1.一种有形处理器可读介质,包括指令,所述指令能够由一个或多个处理器执行,并且当被执行时能够操作用于:
确定正在采用第一存储器设备的第一计算机系统的当前第一用户计划在未来时间放弃第一存储器设备;
准备第二存储器设备以与第一存储器设备互换以便为由第一计算机系统和第二后续用户对第二存储器设备的使用做准备,其中所述准备还包括:
对第二存储器设备执行取证分析;以及
响应于所述执行而选择性地更新或更改第二存储器设备上的数据或代码;
检测到第一计算机系统已被第一用户放弃;以及
响应于所述检测,采用存储器交换系统来电子定位第二存储器设备以替代第一存储器设备,从而使第二用户能够使用与第二存储器设备通信的第一计算机系统。
2.如权利要求1所述的有形处理器可读介质,还包括:
采用云服务与所述存储器交换系统通信以促进准备第二存储器设备以与第一存储器设备互换。
3.如权利要求2所述的有形处理器可读介质,还包括:
采用所述云服务与所述存储器交换系统的信任根ROT通信以促进所述取证分析和响应于所述执行而选择性地更新或更改第二存储器设备上的数据或代码。
4.如权利要求2所述的有形处理器可读介质,还包括:
采用与交换机通信的信任根ROT处理器以促进将第一存储器设备与第二存储器设备互换。
5.如权利要求4所述的有形处理器可读介质,还包括服务处理器,所述服务处理器与所述交换机通信以促进将由第一计算机系统的用户发起的第一计算机系统的一个或多个操作与第一存储器设备或第二存储器设备对接,这分别取决于第一存储器设备或第二存储器设备是否已经经由后台更新过程准备好供第一计算机系统使用。
6.如权利要求1所述的有形处理器可读介质,其中采用还包括,响应于所述检测:
将第一存储器设备离线,同时将第二存储器设备置于在线;
对第一存储器设备进行取证分析,并响应于此产生取证结果;
使用所述取证结果来确定随后要写入第一存储器设备的数据;
向已经经过取证处理以确定应该写入第三存储器设备的新数据的第三存储器设备选择性地写入所述新数据,以便准备第三存储器设备用于在第二存储器设备和伴随的计算机系统被第二用户放弃时电子定位以替代第二存储器设备;
检测到第二用户已放弃所述计算机;以及
电子定位第三存储器设备以替代第二存储器设备,使得:
第二存储器设备离线以为取证分析做准备;
第三存储器设备被置于在线以供第一计算机系统和第三用户使用;以及
第一存储器设备被电子定位以准备针对第一存储器设备重写或更新数据,以便准备第一存储器设备以在放弃第三用户使用的第三存储器设备和第一计算机系统时供第四用户使用。
7.如权利要求1所述的有形处理器可读介质,其中第一存储器设备和第二存储器设备代表非易失性存储器。
8.如权利要求7所述的有形处理器可读介质,其中所述有形处理器可读介质被并入联网的计算环境中。
9.如权利要求8所述的有形处理器可读介质,其中所述计算环境包括基于云的计算环境。
10.如权利要求1所述的有形处理器可读介质,其中取证分析包括:
采用一个或多个散列或循环冗余校验CRC或其他代码来确定关于一组数据和/或计算机代码是否已在第一存储器设备或第二存储器设备上被修改或以其他方式被篡改、替换或扩充的指示。
11.一种用于促进选择性地验证和/或更新计算环境的计算机系统的一个或多个存储器设备以准备供后续用户使用的方法,所述方法包括:
确定正在采用第一存储器设备的第一计算机系统的当前第一用户计划在未来时间放弃第一存储器设备;
准备第二存储器设备以与第一存储器设备互换以便为由第一计算机系统和第二后续用户对第二存储器设备的使用做准备,其中所述准备还包括:
对第二存储器设备执行取证分析;以及
响应于所述执行而选择性地更新或更改第二存储器设备上的数据或代码;
检测到第一计算机系统已被第一用户放弃;以及
响应于所述检测,采用存储器交换系统来电子定位第二存储器设备以替代第一存储器设备,从而使第二用户能够使用与第二存储器设备通信的第一计算机系统。
12.如权利要求11所述的方法,还包括:
采用云服务与所述存储器交换系统通信以促进准备第二存储器设备以与第一存储器设备互换。
13.如权利要求12所述的方法,还包括:
采用所述云服务与所述存储器交换系统的信任根ROT通信以促进所述取证分析和响应于所述执行而选择性地更新或更改第二存储器设备上的数据或代码。
14.如权利要求12所述的方法,还包括:
采用与交换机通信的信任根ROT处理器以促进将第一存储器设备与第二存储器设备互换。
15.如权利要求14所述的方法,还包括:
服务处理器,所述服务处理器与所述交换机通信以促进将由第一计算机系统的用户发起的第一计算机系统的一个或多个操作与第一存储器设备或第二存储器设备对接,这分别取决于第一存储器设备或第二存储器设备是否已经准备好供第一计算机系统使用。
16.如权利要求11所述的方法,其中采用还包括,响应于所述检测:
将第一存储器设备离线,同时将第二存储器设备置于在线;
对第一存储器设备进行取证分析,并响应于此产生取证结果;
使用所述取证结果来确定随后要写入第一存储器设备的数据;
向已经经过取证处理以确定应该写入第三存储器设备的新数据的第三存储器设备选择性地写入所述新数据,以便准备第三存储器设备用于在第二存储器设备和伴随的计算机系统被第二用户放弃时电子定位以替代第二存储器设备;
检测到第二用户已放弃所述计算机;以及
电子定位第三存储器设备以替代第二存储器设备,使得:
第二存储器设备离线以为取证分析做准备;
第三存储器设备被置于在线以供第一计算机系统和第三用户使用;以及
第一存储器设备被电子定位以准备针对第一存储器设备重写或更新数据,以便准备第一存储器设备以在放弃第三用户使用的第三存储器设备和第一计算机系统时供第四用户使用。
17.如权利要求11所述的方法,其中第一存储器设备和第二存储器设备代表非易失性存储器。
18.如权利要求17所述的方法,其中所述计算环境包括基于云的计算环境。
19.权利要求11所述的方法,其中取证分析包括:
采用一个或多个散列或循环冗余校验CRC或其他代码来确定关于一组数据和/或计算机代码是否已在第一存储器设备或第二存储器设备上被修改或以其他方式被篡改、替换或扩充的指示。
20.一种装置,包括:
一个或多个处理器;和
编码在一个或多个有形介质中的逻辑,用于由所述一个或多个处理器执行,并且当被执行时能够操作用于:
确定正在采用第一存储器设备的第一计算机系统的当前第一用户计划在未来时间放弃该设备;
准备第二存储器设备以与第一存储器设备互换以便为由第一计算机系统和第二后续用户对第二存储器设备的使用做准备,其中准备还包括:
对第二存储器设备执行取证分析;以及
响应于所述执行而选择性地更新或更改第二存储器设备上的数据或代码;
检测到第一计算机系统已被第一用户放弃;以及
响应于所述检测,采用存储器交换系统来电子定位第二存储器设备以替代第一存储器设备,从而使第二用户能够使用与第二存储器设备通信的第一计算机系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/074,379 US11620076B2 (en) | 2020-10-19 | 2020-10-19 | Accelerated non-volatile memory device inspection and forensics |
US17/074,379 | 2020-10-19 | ||
PCT/US2021/055432 WO2022086860A1 (en) | 2020-10-19 | 2021-10-18 | Accelerated non-volatile memory device inspection and forensics |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116324726A true CN116324726A (zh) | 2023-06-23 |
Family
ID=78622026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180071343.5A Pending CN116324726A (zh) | 2020-10-19 | 2021-10-18 | 加速的非易失性存储器设备检查和取证 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11620076B2 (zh) |
EP (1) | EP4208787A1 (zh) |
JP (1) | JP2023546904A (zh) |
CN (1) | CN116324726A (zh) |
WO (1) | WO2022086860A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11436000B2 (en) | 2020-10-19 | 2022-09-06 | Oracle International Corporation | Prioritized non-active memory device update |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183412B2 (en) * | 2012-08-10 | 2015-11-10 | Sprint Communications Company L.P. | Systems and methods for provisioning and using multiple trusted security zones on an electronic device |
KR102323763B1 (ko) * | 2019-01-04 | 2021-11-08 | 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 | 호스트 시스템과 데이터 처리 가속기 사이의 보안 통신을 제공하기 위한 방법 및 시스템 |
US20200327025A1 (en) * | 2019-04-10 | 2020-10-15 | Alibaba Group Holding Limited | Methods, systems, and non-transitory computer readable media for operating a data storage system |
-
2020
- 2020-10-19 US US17/074,379 patent/US11620076B2/en active Active
-
2021
- 2021-10-18 WO PCT/US2021/055432 patent/WO2022086860A1/en active Application Filing
- 2021-10-18 CN CN202180071343.5A patent/CN116324726A/zh active Pending
- 2021-10-18 JP JP2023523622A patent/JP2023546904A/ja active Pending
- 2021-10-18 EP EP21807373.2A patent/EP4208787A1/en active Pending
-
2023
- 2023-03-06 US US18/117,907 patent/US11861214B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11620076B2 (en) | 2023-04-04 |
US11861214B2 (en) | 2024-01-02 |
JP2023546904A (ja) | 2023-11-08 |
US20230214153A1 (en) | 2023-07-06 |
US20220121390A1 (en) | 2022-04-21 |
EP4208787A1 (en) | 2023-07-12 |
WO2022086860A1 (en) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11392461B2 (en) | Method and apparatus for processing information | |
CN106575244B (zh) | 确保云应用的高可用性的修补过程 | |
CN100435101C (zh) | 在软件环境中用于保持资源完整性的装置和方法 | |
US10255086B2 (en) | Determining optimal methods for creating virtual machines | |
US8612973B2 (en) | Method and system for handling interrupts within computer system during hardware resource migration | |
US8930761B2 (en) | Test case result processing | |
CN110673936B (zh) | 编排业务的断点续作方法、装置、存储介质及电子设备 | |
US20160378521A1 (en) | Automated test optimization | |
JP2023027785A (ja) | 装置およびコンピュータプログラム | |
US11861214B2 (en) | Memory device forensics and preparation | |
US20170220624A1 (en) | Transaction processor | |
CN108369503A (zh) | 对外部场可更换单元(fru)过程的自动系统响应 | |
US20230385048A1 (en) | Predictive recycling of computer systems in a cloud environment | |
US10997058B2 (en) | Method for performance analysis in a continuous integration pipeline | |
US20230088318A1 (en) | Remotely healing crashed processes | |
CN112286909B (zh) | 执行状态确定方法、装置、服务器及存储介质 | |
US11086818B2 (en) | Establishing object atomicity in snapshot based disaster recovery environments | |
CN115689561A (zh) | U盾测试方法、装置、设备及介质 | |
CN112650663A (zh) | 一种代码处理方法、装置、设备及介质 | |
CN114924978A (zh) | 基于人工智能的多分支增量检查方法及相关设备 | |
CN110750550A (zh) | 数据查证方法、数据查证装置、存储介质与电子设备 | |
CN112181701A (zh) | 一种定位异常业务请求的方法和装置 | |
CN113095919A (zh) | 一种商品文件的存储方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |