存储器子系统中的数据擦除的制作方法

文档序号:25542556发布日期:2021-06-18 20:39阅读:82来源:国知局
存储器子系统中的数据擦除的制作方法

优先权申请

本申请要求2018年10月1日提交的美国申请序列号16/148,564的优先权益,所述美国申请以全文引用的方式并入本文中。

本公开大体上涉及存储器子系统,且更具体来说,涉及存储器子系统中的数据擦除。



背景技术:

存储器子系统可以是存储系统,例如固态驱动器(ssd),且可包含存储数据的一或多个存储器组件。存储器组件可以例如是非易失性存储器组件和易失性存储器组件。一般来说,主机系统可以利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。

附图说明

根据下文给出的详细描述和本公开的各种实施例的附图将更加充分地理解本公开。

图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。

图2为根据本公开的一些实施例的用于执行清理(sanitize)操作(例如,图1的清理操作)的实例方法的流程图。

图3为根据本公开的一些实施例的用于执行清理操作(例如,图1的清理操作)的另一实例方法的流程图。

图4为根据本公开的一些实施例的用于读取擦除循环已失败的块的实例方法的流程图。

图5为根据本公开的一些实施例的用于执行清理操作(例如,图1的清理操作)的另一实例方法的流程图。

图6为其中可操作本公开的实施例的实例计算机系统的框图。

具体实施方式

本公开的方面是针对具备擦除验证能力的存储器子系统。存储器子系统在下文还称为“存储器系统”。存储器子系统的实例是存储系统,例如固态驱动器(ssd)。在一些实施例中,存储器子系统是混合式存储器/存储子系统。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。

存储器子系统可包含可存储来自主机系统的数据的多个存储器组件。不同的存储器组件可包含不同类型的媒体。媒体的实例包含但不限于非易失性存储器和基于闪存的存储器单元的交叉点阵列。在许多存储器子系统中,删除存储器单元与清理存储器单元之间存在区别。删除操作涉及在存储器子系统的控制器和/或主机的操作系统处指示受影响的存储器单元已不再使用。删除操作不包含立即擦除存储在存储器单元处的数据。被删除的存储器单元可稍后被擦除且经配置以通过周期性垃圾收集操作进行重新使用。在垃圾收集操作中,标识且擦除包含不再需要(例如,删除)的数据的存储器单元。当需要擦除数据时,执行清理操作。在清理操作期间,存储器子系统例如通过改变存储器单元中的一些或全部的编程状态来擦除所指示的存储器单元处的数据。

在许多存储器组件(包含包括闪存存储器单元的存储器组件)中,例如,如果一或多个存储器单元块未能正确地操作,那么可弃用所述块。举例来说,如果无法正确地写入或读取块处的一或多个页,那么可弃用所述块。并且,在一些实例中,如果无法成功地擦除块,那么可弃用所述块。当弃用块时,所述块不再用于存储数据。

在不同存储器子系统中,在删除和清理操作期间以不同方式处理弃用块。举例来说,当删除弃用块时,所述块被指示为已不再使用。在一些实例中,当删除弃用块时,垃圾收集操作不像对其它块一样擦除所述块且将其配置成用于重新使用。举例来说,弃用块可不包含于垃圾收集操作中且可保持未使用。类似地,在清理操作期间,可擦除弃用块而不将其配置成用于重新使用。

然而,在常规布置中,清理命令并不提供包含弃用块的块是否被成功地擦除的指示。因此,成功完成清理命令可不提供一或多个相关块处的所有数据已被擦除的指示。考虑被弃用而未能恰当地擦除的实例块。由于块处的先前擦除循环未能在阈值时间内完成,因此块可能已被弃用。这也被称作超时。在清理操作期间,弃用块经历额外的擦除循环。举例来说,取决于第一擦除循环超时的原因,额外的擦除循环可为成功的或不成功的。如果额外的擦除循环失败,那么数据可存储在弃用块处,且可能可恢复,即使进行了清理操作也是如此。

本公开的方面通过在清理操作期间跟踪存储器组件块处的擦除循环的成功或失败且产生任何擦除循环是否不成功的指示来解决以上和其它缺陷。所述指示可包含擦除指示符。如果在清理操作期间的擦除循环失败,那么擦除指示符被设置为假。如果在清理操作期间的所有擦除循环都是成功的,那么擦除指示符被设置为真。可选择任何合适的擦除指示符值以对应于真或假。对应于真的擦除指示符的值是指示在清理操作期间的所有擦除循环成功的任何值。对应于假的擦除指示符的值是指示并非在清理操作期间的所有擦除循环都成功的任何值。举例来说,在一些实施方案中,对应于真的擦除指示符值可为逻辑“1”,而对应于假的擦除指示符值为逻辑“0”。在其它实施方案中,对应于真的擦除指示符值可为逻辑“0”,而对应于假的擦除指示符值为逻辑“1”。在其它实例中,擦除指示符值可包含多于一个位。针对真和假的擦除指示符值彼此不同。举例来说,针对真的擦除指示符值不等于针对假的擦除指示符值。

在一些实例中,在块处执行擦除循环之后,存储器组件提供状态指示符。状态指示符提供擦除循环是成功还是不成功的指示。在一些实例中,除了依靠由存储器组件提供的状态指示符之外或代替依靠所述状态指示符,存储器子系统在块中的一些或全部处尝试读取操作,所述块是在执行擦除循环之后的清理操作的个体。在块处尝试读取操作可包含尝试读取操作和块处包含的页或其它子组件中的一些或全部。如果读取操作成功,那么块未被成功地擦除,且擦除指示符被设置为假。在一些实例中,基于擦除验证操作而设置擦除循环之后的状态指示符,所述擦除验证操作可通过在单个操作或一组操作中读取页组来检查经擦除块的页被擦除。

图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体121,例如存储器组件112a到112n。存储器组件112a到112n可以是易失性存储器组件、非易失性存储器组件或此类组件的组合。在一些实施例中,存储器子系统110为存储系统。存储系统的实例是ssd。在一些实施例中,存储器子系统110是混合式存储器/存储装置子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。举例来说,主机系统120可将数据写入到存储器子系统110以及从存储器子系统110读取数据。

主机系统120可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等连接。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm高速(nvme)接口来存取存储器组件112a到112n。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。

存储器组件112a到112n可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(nand)类型闪存存储器。存储器组件112a到112n中的每一个可包含一或多个存储器单元阵列,例如单电平单元(slc)或多电平单元(mlc)。(mlc大体上指代存储多于一个数据位的存储器单元,包含双电平单元、三电平单元(tlc)或四电平单元(qlc))。在一些实施例中,特定存储器组件可以包含存储器单元的slc部分和mlc部分两者。存储器单元中的每一个可存储由主机系统120或存储器子系统110使用的一或多个数据位。虽然描述了例如nand类型闪存存储器等非易失性存储器组件,但存储器组件112a到112n可基于任何其它类型的存储器,例如易失性存储器。在一些实施例中,存储器组件112a到112n可以是但不限于随机存取存储器(ram)、只读存储器(rom)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、相变存储器(pcm)、磁随机存取存储器(mram)、或非(nor)闪存存储器、电可擦除可编程只读存储器(eeprom)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来执行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112a到112n的存储器单元可以分组为存储器页或数据块,所述存储器页或数据块可以指用于存储数据的存储器组件的单元。

存储器系统控制器115(下文称为“控制器”)可与存储器组件112a到112n通信以执行操作,例如在存储器组件112a到112n处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或另一合适的处理器。控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明的实例中,控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程。在一些实施例中,本地存储器119可包含存储器寄存器,其存储存储器指针、所获取数据等。本地存储器119还可包含用于存储微码的只读存储器(rom)。

虽然图1中的实例存储器子系统110已说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110可依靠外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)以执行存储器子系统110的管理中的一些或全部。在存储器子系统110的管理中的一些或全部由外部主机执行的实例中,可省略控制器115。

一般来说,控制器115可从主机系统120接收命令或操作,且可将命令或操作转换成指令或适当的命令,以实现对存储器组件112a到112n的所要存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、差错检测和差错校验码(ecc)操作、加密操作、高速缓存操作以及在与存储器组件112a到112n相关联的逻辑地址与物理地址之间的地址转换。控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换成命令指令以存取存储器组件112a到112n,以及将与存储器组件112a到112n相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓冲存储器或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),其可从控制器115接收逻辑地址且在存储器组件112a到112n处将逻辑地址解码成一或多个物理地址。

图1的存储器子系统110执行实例清理操作130。清理操作130是针对一组块136a、136b、136c、136d、136e、136f、136g、136h、136i、136j、136k、136l。尽管展示了十二个块,但清理操作130可针对任何合适数目个块。在一些实例中,清理操作130是针对存储器组件112a、112b处的所有块或存储器子系统110中的所有块。在图1的实例中,块的第一部分未被弃用,所述第一部分包含实例块136a、136c、136d、136f、136g、136i、136j、136k。块的第二部分被弃用,所述第二部分包含实例块136b、136e、136h、136l。弃用块136b、136e、136h、136l可能已出于任何合适的原因而被弃用,所述原因包含例如写入失败、读取失败、擦除失败等。

清理操作130包含擦除循环132。擦除循环132可针对所述一组块中的每一块136a、136b、136c、136d、136e、136f、136g、136h、136i、136j、136k、136l包含一个擦除循环。基于擦除循环132的结果,存储器子系统110利用设置标志操作134设置擦除标志(或其它指示符)138。举例来说,如果擦除循环132中的每一个都是成功的,那么擦除标志138被设置为真。如果擦除循环132中的任一个都不成功,那么擦除标志138被设置为指示擦除不成功。擦除标志138可以各种方式供主机系统120或存储器子系统110的其它用户使用。举例来说,可例如响应于状态请求命令而将擦除标志138提供到主机系统。擦除标志138可单独提供或作为状态页或字的部分而提供。状态请求命令可为通用的,或在一些实例中,可特定针对存储器子系统110的制造商。并且,在一些实例中,擦除标志138作为日志页存储在本地存储器119和/或存储器组件112a、112b处。日志页可由主机系统120和/或控制器115利用读取请求存取。

在一些实例中,清理操作130包含设置一或多个指示符(例如,标志),例如弃用块擦除标志和未弃用块擦除标志。如果所有弃用块都已经被成功地擦除,那么弃用块擦除标志被设置为真。如果任何弃用块都未被成功地擦除,那么弃用块擦除标志被设置为假。如果所有未弃用块都已经被成功地擦除,那么未弃用块擦除标志被设置为真。如果任何未弃用块都未被成功地擦除,那么未弃用块擦除标志被设置为假。

在图1的实例环境100中,控制器1155的本地存储器119包含执行清理操作130。在此实例中,清理操作130由控制器115执行。在其它实例中,用于执行清理操作的逻辑中的一些或全部可在各种其它位置处执行。在一些实例中,用于执行清理操作130的逻辑中的一些或全部被包含为在主机系统120处执行的代码。并且,在一些实例中,用于执行清理操作130的逻辑中的一些或全部例如被包含为存储器组件112a、112b中的一或多个处的处理逻辑。

图2为根据本公开的一些实施例的用于执行清理操作(例如,图1的清理操作130)的实例方法200的流程图。清理操作是针对一或多个存储器组件处的一或多个块。在一些实例中,清理操作是针对存储器组件处的所有块和/或存储器媒体处的所有块。清理操作所针对的存储器块被称作在清理操作范围内的块。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

在任选的操作202处,处理逻辑删除对应于在清理操作范围内的块的一或多个密码密钥。举例来说,在清理操作范围内的一些或所有块处的数据可由存储器子系统加密。当块处的数据由存储器子系统加密时,存储器子系统管理密码密钥以对所述数据进行加密和解密。举例来说,当存储器子系统接收包含数据单元的写入请求时,所述存储器子系统产生和/或检索密码密钥。存储器子系统使用密码密钥对数据单元进行加密,从而产生加密的数据单元。将密码密钥存储在控制器的本地存储器处、存储器组件处,或存储器子系统110处的另一合适位置处。可对多个块使用相同的密码密钥,或在一些实例中,可对不同的块使用不同的密码密钥。将加密的数据单元写入到存储器组件处的块。在接收到对数据单元的读取请求后,存储器子系统检索适当的密码密钥且对加密的数据单元进行解密。接着响应于读取请求而返回解密的数据单元。对于利用加密的块,删除对应于在清理操作范围内的块的一或多个密码密钥会使得在清理操作之后从块中恢复数据更加困难,即使块未被成功地擦除也是如此。

在操作204处,处理逻辑针对清理操作范围内的第一块发起擦除循环。擦除循环可以任何合适的方式执行。举例来说,主机装置和/或控制器可将擦除命令发送到包含块的存储器组件,所述擦除命令使存储器组件对块执行擦除循环。在一些实例中,第一块包括nand存储器单元。可通过将相应存储器单元的源极保持接地且在循环时间内将控制栅极升高到擦除电压来擦除块的nand存储器单元。在循环时间之后,包含块的存储器组件返回擦除循环成功或不成功的指示。

在操作206处,处理逻辑确定块的擦除循环是否成功。如果擦除循环不成功,那么在操作208处,处理逻辑将擦除标志改为假,这指示并非所有块都已经被成功地擦除。如果擦除循环成功,那么在操作210处,处理逻辑确定在清理操作范围中是否存在尚未经历擦除循环的额外块。如果没有剩余的块,那么在操作212处,处理逻辑返回当前擦除标志值。如果有剩余的块,那么处理逻辑在操作214处移动到下一块且返回到操作204以在下一块处执行擦除循环。

图3为根据本公开的一些实施例的用于执行清理操作(例如,图1的清理操作130)的另一实例方法300的流程图。清理操作是针对一或多个存储器组件处的一或多个块。在一些实例中,清理操作是针对存储器组件处的所有块和/或存储器媒体处的所有块。清理操作所针对的存储器块被称作在清理操作范围内的块。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

在任选的操作302处,处理逻辑删除针对在清理操作范围内的块的一或多个密码密钥,例如,类似于上述操作202。在操作304处,处理逻辑针对清理操作范围内的第一块执行擦除循环。在操作306处,处理逻辑确定擦除循环是否成功。

如果擦除循环不成功,那么在操作308处,处理逻辑尝试读取块。举例来说,在一些情形中,在擦除操作之后,块可能是不可读取的,即使擦除操作失败也是如此。操作308处的读取检查块是否为不可读取的,即使操作304处的擦除循环失败也是如此。当块包含nand闪存存储器单元时,块可逐页读取,其中块中存在多个页。操作308处的块读取可包含读取块的每一页。在一些实例中,操作308处的块读取包含读取块的少于全部页(例如,每隔一个页、每隔两个页等)或执行同时读取多个页的操作。

在操作310处,处理逻辑确定读取是否成功。举例来说,如果读取产生不具有位差错的数据单元,那么读取成功,例如,如通过差错校验码(ecc)或其它合适的技术所确定。如果块的页中的任一个被成功地读取,那么读取可被视为成功的。在一些实例中,如果块中少于阈值数目个页被成功地读取,那么读取被视为成功的。如果读取不成功,那么其指示块被有效地擦除。因此,如果读取不成功,那么处理逻辑在操作316处前进到下一块,而不将擦除标志设置为假。如果读取成功,那么在操作312处,处理逻辑将擦除标志设置为假。在任选的操作314处,处理逻辑例如通过将对块的指示存储到弃用块列表来弃用块。

在操作316处,处理逻辑确定清理操作范围内是否存在额外块。如果是,那么处理逻辑在操作318处前进到下一块且返回到操作304以在所述块处执行擦除循环。如果在清理操作范围内不存在更多的块,那么在操作320处,处理逻辑返回当前擦除标志值。

图4为根据本公开的一些实施例的用于读取擦除循环已失败的块的实例方法400的流程图。方法400为过程逻辑可执行本文中所描述的方法300的操作308的一种实例方式。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

在操作402处,处理逻辑读取块处的第一页。在操作404处,处理逻辑例如基于ecc或其它方法而确定读取是否成功。如果读取成功,那么在操作406处,处理逻辑返回读取成功的指示。如果读取不成功,那么在操作408处,处理逻辑在操作408处确定待读取块处是否存在额外页。这可包含确定块处是否存在尚未读取的任何页。如果不存在更多的页,那么在操作410处,处理逻辑返回指示块未被成功地读取的读取失败。如果存在剩余的页,那么处理逻辑在操作412处前进到下一页且在操作402处读取下一页。

图5为根据本公开的一些实施例的用于执行清理操作(例如,图1的清理操作130)的另一实例方法500的流程图。清理操作是针对一或多个存储器组件处的一或多个块。在一些实例中,清理操作是针对存储器组件处的所有块和/或存储器媒体处的所有块。清理操作所针对的存储器块被称作在清理操作范围内的块。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。虽然以某一顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

方法500展示处理逻辑维持两个擦除标志的实例。未弃用块擦除标志对应于在清理操作开始时未弃用的块,且弃用块擦除标志对应于弃用块。在任选的操作502处,处理逻辑删除对应于在清理操作范围内的块的一或多个密码密钥。在操作504处,处理逻辑针对清理操作范围内的第一块发起擦除循环。在操作506处,处理逻辑确定块的擦除循环是否成功。

如果擦除循环不成功,那么在操作508处,处理逻辑将对应于块类型的擦除标志改为假,这指示并非所有所述类型的块都已经被成功地擦除。举例来说,如果块先前被弃用,那么处理逻辑将弃用块擦除标志改为假。如果块先前未被弃用,那么处理逻辑将未弃用块擦除标志改为假。(在一些实例中,处理逻辑在将适当的标志设置为假之前读取块,例如,如本文中关于图3和4所描述。)

如果擦除循环成功,那么在操作510处,处理逻辑确定在清理操作范围中是否存在尚未经历擦除循环的额外块。如果没有剩余的块,那么在操作512处,处理逻辑返回当前弃用块擦除标志值和未弃用块擦除标志值。如果有剩余的块,那么处理逻辑在操作514处移动到下一块且返回到操作504以在下一块处执行擦除循环。

图6说明计算机系统600的实例机器,可在其内执行用于使得机器执行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统600可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行用于执行清理操作的指令113)。在替代实施例中,机器可连接(例如联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。

机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的一组指令的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。

实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(rom)、闪存存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambusdram(rdram)等)、静态存储器606(例如,闪存存储器、静态随机存取存储器(sram)等),以及数据存储系统618,其经由总线630彼此通信。

处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602还可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等等。处理装置602被配置成执行指令626以用于执行本文中所论述的操作和步骤。计算机系统600可以进一步包含网络接口装置608以经由网络620进行通信。

数据存储系统618可包含非暂时性机器可读存储媒体624(也称为计算机可读媒体),其上存储有一或多组指令626或体现本文中所描述的方法或功能中的任何一或多种的软件。指令626还可在其由计算机系统600执行期间完全或至少部分地驻存在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618和/或主存储器604可对应于图1的存储器子系统110。

在一个实施例中,指令626包含用以实施对应于清理操作的功能性的指令113,如本文中所描述。尽管在实例实施例中机器可读存储媒体624展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集且使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,术语“机器可读存储媒体”应被认为包含但不限于固态存储器、光学媒体和磁性媒体。

已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常但未必,这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。

然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可涉及将计算机系统的寄存器及存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。

本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom以及磁性光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。

本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。

在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

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