经由来自运行系统的存储器写入的存储器图像捕获的制作方法_3

文档序号:9620861阅读:来源:国知局
110的其它部分读取。存储器控制器可以将存储器的部分写入到缓冲器116。
[0061]步骤412恢复允许不与捕获相关的计算活动。例如,可以准许中断以访问处理器、可以使能对存储器的访问等等。
[0062]步骤414将来自所分配的存储器的缓冲区域的存储器的部分的图像写入到存储装置。存储器成像器模块120例如可以从针对存储器110的存储器控制器接收图像,并且可以提交图像以用于作为存储器图像122的一部分进行存储。
[0063]在至少一些实施例中,存储器的部分的图像可以被访问(例如,通过除错实用程序、各种人员等等),以识别和解决关于软件、硬件等等的问题。因此,上文所讨论的方法描述用于捕获存储器的一部分的图像而不要求系统(例如,处理器中断)在图像被写入到存储装置(例如,到非易失性存储器)时暂停的技术。进一步地,该技术能够实现存储器图像在不让相关联的系统崩溃(例如,无需停止和重新启动计算设备102)的情况下被请求和聚集。
[0064]图5是描述根据一个或者多个实施例的方法中的步骤的流程图。在至少一些实施例中,该方法描述了用于将存储器的部分的图像写入到存储装置中而例如不需要和/或独立于到存储器的图像的中间写入的技术。
[0065]步骤500接收捕获存储器的一部分的图像的请求。在上文中讨论了可以接收请求的各种方式。
[0066]步骤502估计要用于将存储器的一部分的图像存储在存储装置中的文件大小。例如,文件大小可以基于被包括在存储器的部分中的存储器页面数量而被估计。附加地或者替代性地,文件大小可以基于针对存储器的部分而被识别的存储器地址而被估计,例如,通过存储器管理器模块118。在至少一些实施例中,可以将请求发送至控制器,以让存储设备(例如,让数据存储介质108)请求基于所估计的文件大小而分配存储装置的部分。
[0067]步骤504收集针对存储器的部分的地址。针对所识别的存储器的(多个)部分的存储器地址可以例如通过针对存储器110的存储器控制器而被聚集。
[0068]步骤506暂停到存储装置的不与捕获相关的输入/输出请求。存储器成像器模块120例如可以与计算设备102的操作系统交互来阻止到数据存储介质108的输入/输出请求。
[0069]步骤508暂停不与捕获相关的计算活动。例如,对于处理器的中断可以被暂停、对处理器的不与捕获相关的访问可以被暂停等等。在至少一些实施例中,针对存储器成像操作的附加的存储器地址可以在不与捕获相关的计算活动被暂停之后被收集。
[0070]步骤510将存储器的部分的图像写入到存储装置。例如,针对存储器110的存储器控制器可以使用所收集的存储器地址读取存储器的部分,并且提交存储器的部分的图像以存储在器图像122上(例如,经由针对数据存储介质108的控制器)。存储器的部分的图像可以被写入到存储装置,以使得能够实现图像的持久性存储(例如,非易失性)。
[0071]步骤512恢复允许不与捕获相关的计算活动。例如,可以准许中断以访问相关联的处理器,可以准许对存储器的不与捕获相关的访问等等。
[0072]步骤514恢复允许对于存储装置的不与捕获相关的输入/输出请求。例如,存储器成像器模块120可以与计算设备102的操作系统交互以允许来自其它过程的、对数据存储介质108的输入/输出请求。
[0073]如上文提及的,存储器的部分的图像可以从存储装置被访问,以执行各种任务。
[0074]已经讨论了一些示例程序,现在考虑根据一个或者多个实施例的示例系统和设备的讨论。
[0075]示例系统和设备
图6图示包括表示可实施本文描述的各种技术的一个或者多个计算系统和/或设备的示例计算设备602的、大体上在600处的示例系统。例如,上文参考图1讨论的计算设备102可以被体现为计算设备602。计算设备602可以例如是服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其他适当的计算设备或者计算系统。
[0076]所图示的示例计算设备602包括处理系统604、一个或者多个计算机可读介质606、和一个或者多个输入/输出(I/O)接口 608,这些都彼此通信地耦合。虽然未被示出,但是计算设备602可以进一步包括将各种组件彼此耦合的系统总线或者其它数据和命令传输系统。系统总线可以包括不同总线结构中的任何一种或者组合,诸如利用各种各样的总线架构中的任何架构的存储器总线或者存储器控制器、外围总线、通用串行总线和/或处理器或者本地总线。也预计各种各样的其它示例,诸如控制和数据线。
[0077]处理系统604表示使用硬件执行一种或者多种操作的功能性。相应地,处理系统604被图示为包括可以被配置为处理器、功能块等等的硬件元件160。这可以包括作为使用一个或者多个半导体形成的专用集成电路或者其它逻辑设备的硬件中的实施方式。硬件元件610不由被形成其的材料或者其中采用的处理机制所限制。例如,处理器可包括(多个)半导体和/或晶体管(例如,电子集成电路(1C))。在这样的上下文中,处理器可执行指令可以是电子可执行的指令。
[0078]计算机可读介质606被图示为包括存储器/存储装置612。存储器/存储装置612表示与一个或者多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置612可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(R0M)、闪速存储器、光盘、磁盘等等)。存储器/存储装置612可以包括固定介质(例如,RAM、R0M、固定硬盘驱动器等等)以及可移除介质(例如,闪速存储器、可移除硬盘驱动器、光盘等等)。计算机可读介质606可以以如下文进一步描述的各种各样其它方式来配置。
[0079](多个)输入/输出接口608表示允许用户将命令和信息键入到计算设备602、并且还允许使用各种输入/输出设备将信息呈现给用户和/或其它组件或者设备的功能性。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于话音识别和/或口语输入)、扫描仪、触摸功能性(例如,被配置成检测物理触摸的电容或者其它传感器)、相机(例如,其可以采用可见波长或者不可见波长(诸如红外频率)来检测不涉及作为手势的触摸的移动)等等。输出设备的示例包括显示设备(例如,监视器或者投影仪)、扬声器、打印机、网卡、触觉响应设备等等。因此,计算设备602可以以如将在下文中进一步描述的各种各样的方式进行配置,以支持用户交互。
[0080]在本文中,可以在软件、硬件元件或者程序模块的一般上下文中描述各种技术。一般地,这样的模块包括执行任务或者实施特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等等。本文使用的术语“模块”、“功能性”和“组件” 一般表示软件、固件、硬件或者其组合。本文描述的技术的特征是独立于平台的,意味着这些技术可以在具有各种各样的处理器的各种各样的商用计算平台上实施。
[0081]所描述的模块和技术的实施方式可以被存储在某些形式的计算机可读介质上或者跨其被传送。计算机可读介质可以包括可以由计算设备602访问的各种各样的介质。作为示例而不是限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
[0082]“计算机可读存储介质”可以指的与纯粹的信号传输、载波或者信号自身相比能够实现信息的持续性存储的介质和/或设备。因此,计算机可读存储介质不包括信号本身。计算机可读存储介质包括诸如易失性和非易失性、可移除和不可移除介质之类的硬件和/或以适合于信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其它数据)的存储的方法或者技术实现的存储设备。计算机可读存储介质的示例可包括但不限于RAM、ROM、EEPR0M、闪速存储器或者其它存储器技术、CD-ROM、数字通用盘(DVD)或者其它光学存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或者其它磁存储设备、或者其它存储设备、有形介质、或者适用于存储期望的信息并且可以被计算机访问的制品。
[0083]“计算机可读信号介质”可以指的是被配置成诸如经由网络将指令传输到计算设备602的硬件的信号承载介质。信号介质通常可以体现计算机可读指令、数据结构、程序模块、或者诸如载波、数据信号、或者其它传输机制之类的调制数据信号中的其它数据。信号介质还包括任何的信号递送介质。术语“调制数据信号”意味着这样的信号,即:以对信号中的信息进行编码的方式来设定或这改变该信号的特性中的一个或多个。作为示例而不是限制,通信介质包括诸如有线网络或者直接的有线连接之类的有线介质和诸如声学、射频(RF)、红外和其它无线介质之类的无线介质。
[0084]如之前描述的,硬件元件610和计算机可读介质606表示以可以在一些实施例中被采用以实施本文描述的技术的至少一些方面的硬件形式实施的指令、模块、可编程设备逻辑和/或固定设备逻辑。硬件元件可以包括集成电路或者片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、和硅或者在其他硬件设备中的其它实施方式的组件。在这个上下文中,硬件元件可以操作为执行由指令、模块和/或由硬件元件体现的逻辑定义的程序任务的处理设备,以及被用来存储指令以用于运行的硬件设备,例如,之前描述的计算机可读存储介质。
[0085]前述的组合还可以被用来实施本文描述的各种技术和模块。相应地,软件、硬件或者程序模块和其它程序模块可以被实施为在某些形式的计算机可读存储介质上和/或由一个或者多个硬件元件610体
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1