主动读取干扰缓解

文档序号:139142 发布日期:2021-10-22 浏览:22次 >En<

阅读说明:本技术 主动读取干扰缓解 (Active read interference mitigation ) 是由 S·谢里菲·德黑兰尼 S·帕塔萨拉蒂 于 2021-04-13 设计创作,主要内容包括:本申请涉及主动读取干扰缓解。接收使用存储器装置执行读取操作集合的请求。将所述读取操作集合划分成多个读取操作子集。在所述多个读取操作子集中的第一读取操作子集中选择第一读取操作。所述第一读取操作在存储器装置上的第一位置执行。在所述存储器装置上邻近所述第一位置的一或多个第二位置执行一或多个第一数据完整性扫描操作,以确定与所述一或多个第二位置相关联的一或多个第一可靠性统计数据。(The application relates to active read interference mitigation. A request to perform a set of read operations using a memory device is received. The set of read operations is divided into a plurality of subsets of read operations. A first read operation is selected in a first subset of read operations of the plurality of subsets of read operations. The first read operation is performed at a first location on the memory device. Performing one or more first data integrity scan operations at one or more second locations on the memory device adjacent to the first location to determine one or more first reliability statistics associated with the one or more second locations.)

主动读取干扰缓解

技术领域

本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及在存储器子系统中执行主动读取干扰缓解。

背景技术

存储器子系统可包含一或多个存储数据的存储器装置。存储器装置可以是例如非易失性存储器装置和易失性存储器装置。大体来说,主机系统可利用存储器子系统,将数据存储在存储器装置处并从存储器装置检索数据。

发明内容

在一个方面,本申请提供一种系统,其包括:存储器装置;和处理装置,其以操作方式与所述存储器装置耦合且用于执行包括以下的操作:接收使用所述存储器装置执行读取操作集合的请求;将所述读取操作集合划分成多个读取操作子集;在所述多个读取操作子集中的第一读取操作子集中选择第一读取操作,其中所述第一读取操作在所述存储器装置上的第一位置执行;且在所述存储器装置上邻近所述第一位置的一或多个第二位置执行一或多个第一数据完整性扫描操作,以确定与所述一或多个第二位置相关联的一或多个第一可靠性统计数据。

在另一方面,本申请提供一种方法,其包括:接收执行读取操作集合的请求;选择所述读取操作集合中的随机读取操作,其中所述随机读取操作在位于存储器装置上的第一数据块的第一部分上的第一字线上执行;在位于所述第一数据块的所述第一部分上的第二字线和第三字线上执行错误检测操作,以确定与所述第二字线和所述第三字线相关联的错误率,其中所述第二字线和所述第三字线邻近所述第一字线;确定所述错误率是否满足阈值标准;以及响应于确定所述错误率满足所述阈值标准,将存储在所述第一数据块的所述第一部分上的数据迁移到所述存储器装置上的第二数据块。

在又一方面,本申请提供一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使所述处理装置进行以下操作:接收使用存储器装置执行读取操作集合的请求;将所述读取操作集合划分成多个读取操作子集;在所述多个读取操作子集中的第一读取操作子集中选择第一读取操作,其中所述第一读取操作在所述存储器装置上的第一位置执行;且在所述存储器装置上邻近所述第一位置的一或多个第二位置执行一或多个第一数据完整性扫描操作,以确定与所述一或多个第二位置相关联的一或多个第一可靠性统计数据。

附图说明

根据下文提供的详细描述和本公开的各种实施例的附图将更加全面地理解本公开。然而,附图不应视为将本公开限制于具体实施例,而是仅用于解释和理解。

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

图2描绘根据本公开的一些实施例的执行主动读取干扰缓解的实例。

图3描绘根据本公开的一些实施例的迁移一群字线的图示。

图4是根据本公开的一些实施例的执行主动读取干扰缓解的实例方法的流程图。

图5是根据本公开的一些实施例的用于迁移一群字线以执行主动读取干扰缓解的实例方法的流程图。

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

具体实施方式

本公开的方面涉及在存储器子系统中执行写入操作以执行主动读取干扰缓解。存储器子系统可以是存储装置、存储器模块或存储装置和存储器模块的混合物。下面结合图1描述存储装置和存储器模块的实例。大体来说,主机系统可利用包含存储数据的一或多个存储器组件(例如,存储器装置)的存储器子系统。主机系统可提供将存储在存储器子系统处的数据,并且可请求将从存储器子系统检索的数据。

存储器装置可以是非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。封装中的裸片可以指派给一或多个通道,用于与存储器子系统控制器通信。非易失性存储器装置包含分组成页以存储数据位的单元(即,存储信息的电子电路)。非易失性存储器装置可包含三维交叉点(“3D交叉点”)存储器装置,它是可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储的非易失性存储器单元的交叉点阵列。非易失性存储器装置的另一实例是“与非”(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。

存储器装置的每个裸片可由一或多个平面组成。平面可分组成逻辑单元(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每个平面由一组物理块组成。每个块由一组页组成。每个页由一组存储器单元(“单元”)组成。单元是存储信息的电子电路。在下文中数据块是指用于存储数据的存储器装置的单元,并且可包含一群存储器单元、字线群组、字线或单独的存储器单元。存储器页(在本文中也被称为“页”)存储对应于从主机系统接收到的数据的一或多个二进制数据位。数据块的存储器单元可以沿着数个单独字线布置。

存储于存储器装置的存储器单元处的数据可以从存储器组件读取并被传输到主机系统。当数据从存储器装置的给定字线上的存储器单元读取时,存储器装置的所有其它字线上的存储器单元可能会经历所谓的“读取干扰”。读取干扰(RD)是因为在没有中间擦除操作的情况下连续地从存储器单元读取,导致其它附近字线上的其它存储器单元随时间推移而改变。存储器装置的每个字线的存储器单元可处理特定数目个连续读取操作,然后这些存储器单元无法再可靠地检索数据,达到了RD能力限制(例如,检索到的数据不再可靠的阈值数目个读取操作限制)。在一些实例中,RD能力可随着存储器装置的编程/擦除循环(PEC)的增加而降低。在一些实例中,完整块的RD能力可高于部分块。并且,某些类型的NAND装置的RD能力可高于某些其它类型。如果对给定字线的存储器单元执行的读取操作过多,那么存储于存储器装置的附近或邻近字线的存储器单元处的数据可能会被损坏或不正确地存储于存储器单元处。这可能会使存储于存储器单元处的数据具有较高错误率,并且可能会增加错误检测和校正操作(例如,错误控制操作)的使用以用于后续在存储器单元上执行的操作(例如,读取和/或写入)。增加的对错误控制操作的使用可能会降低常规存储器子系统的性能。另外,当存储器单元或数据块的错误率持续增加时,它甚至可能会超出存储器子系统的错误校正能力,导致数据出现不可修复的损失。此外,用于执行错误控制操作的存储器子系统的资源越多,可用于执行其它读取操作或写入操作的资源就越少。

如果特定字线上的存储器单元被更频繁地读取,那么读取干扰可在数据块的存储器单元上引发非均匀应力。例如,数据块中邻近频繁读取存储器单元的字线的存储器单元可具有高错误率,而不邻近所述字线的存储器单元可具有较低错误率,因为读取干扰对这些存储器单元的影响减小。因此,读取干扰对邻近执行读取操作的字线的字线的影响会比对位置更远的其它字线的影响大。一般来说,最高错误率通常出现在执行读取操作的字线的两个紧密相邻的字线(也称为“受害者字线”或“VWL”)中。

根据特定存储器子系统的主机系统的数据存取活动,读取干扰的影响可以集中在块中的一或多个特定存储器页上,或者更均匀地分布在块的所有存储器页上。例如,如果读取应力集中在单个存储器页上,那么可以认为所述块正在经历单字线(SWL)读取干扰(也称为“行锤击”应力)。当存储在存储器子系统中的某一段数据的读取频率明显高于同一块中其余数据的读取频率时,就会发生SWL读取干扰。然而,如果读取应力均匀地分布在多个存储器页上,那么可以认为正在块经历均匀读取干扰(也称为“完整块”读取干扰)。在以大致相同的频率读取块中的每一段数据的情况下(例如,对于存储视频文件的数据的块,其中视频文件的播放将触发对所述块的每一页的读取),可以发生均匀读取干扰。从主机系统接收到的工作负载可包含不同读取模式或使用模型的组合。

不管使用模型如何,为了消除数据丢失的风险,对存储器装置上的读取操作进行管理,以便不超过RD能力限制。存储器子系统可以执行数据完整性检查(在本文中也被称为“扫描”或“扫描操作”),以验证存储在数据块处的数据具有在为存储器子系统定义的可接受限制(例如,低于RD能力限制等)内的错误。在数据完整性检查期间,通过执行读取操作来确定存储在数据块处的数据的一或多个可靠性统计数据。可靠性统计数据的一个实例是原始位错误率(RBER)。RBER对应于存储在数据块处的数据所经历的每样本大小(例如,每页或每码字)的位错误数目。如果可靠性统计指示至少部分地由读取干扰造成的与存储在数据块处的数据相关联的高错误率,那么存储在数据块处的数据可以重新定位到存储器子系统的新数据块(在本文中也被称为“折叠”)。将存储在数据块处的数据折叠到另一数据块可包含将数据写入另一数据块以刷新由存储器子系统存储的数据。这样做可以消除与数据相关联的读取干扰的影响,并擦除数据块处的数据。

常规存储器子系统使用数据完整性扫描操作在块级执行数据完整性检查。由于扫描操作在块级执行,所以存储器子系统监测在特定数据块上执行的读取操作的数目,并且当读取计数(即,读取操作的数目)符合或超过特定读取阈值时执行扫描操作。根据实施方案,存储器子系统可以维持一个或多个用于跟踪在存储器装置的段上执行的读取操作的数目的读取计数器。例如,一些系统可以为每个物理块维持单独的读取计数器,而其它系统可以为超级块(即,多个物理块的集合)维持读取计数器。在存储器装置具有256裸片且在每个裸片中具有2880个块的实例中,系统可以维持737,280个计数器,如果每个计数器的大小为32位,则可以占用大致2.81MB的存储器空间,以便在数据块级(例如,对于每个数据块)跟踪读取操作。计数器通常在易失性存储器(例如,RAM)中实施,以便以至少每隔几次读取操作(例如,每16次读取操作)的频率频繁地存取和更新。计数器的状态和内容也会在功率循环之间保存和加载。在许多情况下,可用存储器空间(例如,RAM)不足以支持对存储器块的每个单独字线使用读取计数器。存储器子系统控制器固件通常无法区分SWL读取干扰应力和均匀读取干扰应力,因此它采用基于SWL读取干扰应力的保守读取阈值设置。即使这样,由于读取操作的计数保持在块级,所以存储器子系统控制器也无法判断数据块的哪些字线正在或可能正在经历SWL读取干扰,从而对数据块的每个字线执行扫描操作。扫描操作可包含读取每个块中每个字线的一页,以识别最差RBER并决定是否要执行折叠。这样,在数据块具有100个字线的实例中,执行至少100个读取操作。这通常比所需的更多,因为数据块可能只经历了均匀读取干扰应力,并且即使存在SWL读取干扰应力,也可能只有数据块中的一小部分字线受到影响。因此,以此方式执行扫描可能会导致存储器子系统执行过多的存储器管理操作。这可能导致存储器子系统的性能降低,并导致存储器子系统的功耗增加。如上文所描述,在块级跟踪计数器和/或在每个字线上执行扫描也是资源密集型的。系统带宽和其它资源也被长时间占用,使得这些资源无法用于其它功能。

本公开的方面通过执行主动读取干扰缓解来解决以上和其它缺陷。当存储器子系统从主机系统接收到包含读取和写入请求的工作负载时,数据完整性组件通过从工作负载中随机选择给定读取操作子集中的读取操作并在涉及所述读取操作的字线上执行数据完整性扫描以确定是否要执行折叠来主动地执行读取干扰缓解操作。数据完整性组件不会对每个字线执行扫描,而是扫描与数个读取操作中的一个读取操作相关联的有限数目的字线。数据完整性组件不会为每个数据块跟踪计数器,而是可以为每个裸片(其包含多个数据块)跟踪一个计数器,因为同一个计数器可以用于连续读取操作的子集,并且在当前子集中的读取操作完成后,计数器可以重置并重新用于下一个读取操作子集。当存储器子系统接收工作负载时,数据完整性组件将工作负载中的读取操作划分为读取操作的子集(这里也称为“窗”)。数据完整性组件从当前读取操作子集中选择随机读取操作。为了选择随机读取操作,当在当前读取操作子集(“当前子集”)内执行读取操作时,数据完整性组件使用计数器跟踪读取操作的计数。数据完整性组件为当前子集产生随机数,并且当计数器在执行当前子集中的特定读取操作之后达到随机数时,数据完整性组件选择特定计数器作为所述子集的随机读取操作。随机读取操作在特定的字线上执行。数据完整性组件在涉及随机读取操作的字线上执行数据完整性扫描。也就是说,在特定字线的两个邻近字线或受害者字线上执行扫描,以确定与受害者字线相关联的错误率。因此,扫描涉及两个读取操作。如果与所述两个受害者字线相关联的两个错误率中的至少一个错误率超过阈值标准,那么数据完整性组件确定要执行折叠操作以将存储在数据块或数据块的一部分上的数据迁移到存储器装置上的另一个数据块。此外,一旦计数器超过当前子集中的读取操作总数,计数器就会被重置,并且可以重新用于下一个子集。数据完整性组件继续对下一个读取操作子集执行主动读取干扰缓解,使用计数器并在下一个子集中选择新的随机读取操作。

本公开的优点包含但不限于提高存储在存储器子系统处的数据的性能和可靠性,降低功耗并释放系统资源用于其它功能。由于减轻了读取干扰应力对存储在邻近字线中的数据的影响,因此减少了在存储于存储器子系统处的数据中发现的错误的数目。与存储在附近存储器单元中的数据相关联的经降低错误率可以减少由存储器子系统执行的错误校正操作的数目,并且提高存储器子系统的性能。通过对与读取操作子集中的一个读取操作相关联的有限数目的字线执行数据完整性扫描,经扫描字线的数目显著减少。消除了每个块使用一个计数器的情况,从而减少了用于扫描的计算资源。由于通过消除执行过多数据扫描和错误校正操作而减少了专用的计算资源和时间,因此计算资源和时间可用于执行其它操作(例如,主机存取操作),并且存储器子系统存储来自主机系统的数据的容量增加。当使用更高密度的存储器(例如,具有更小的读取干扰能力的QLC存储器)时,或者当数据块的大小以及相应地其中包含的字线的数目增加时,这些益处可被放大。这实现了存储器子系统性能的提高。

图1示出根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或此类装置的组合。

存储器子系统110可以是存储装置、存储器模块或存储装置和存储器模块的混合物。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外廓DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。

计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。

计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与……耦合”大体上是指组件之间的连接,此连接可以是间接通信连接或直接通信连接(例如,不具有中间组件),不管是有线还是无线,包含电气、光学、磁性等连接。

主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如以便将数据写入到存储器子系统110和从存储器子系统110读取数据。

主机系统120可以是计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可以经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)、双倍数据率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双倍数据速率(DDR)的DIMM套接接口)等等。物理主机接口可用于在主机系统120和存储器子系统110之间传输数据。主机系统120可进一步利用NVM快速(NVMe)接口,在存储器子系统110通过PCIe接口与主机系统120耦合时存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110和主机系统120之间传递控制、地址、数据和其它信号的接口。作为实例,图1示出存储器子系统110。一般来说,主机系统120可经由同一个通信连接、多个单独的通信连接和/或通信连接的组合存取多个存储器子系统。

存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。

非易失性存储器装置(例如,存储器装置130)的一些实例包含“与非”(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器。非易失性存储器交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行原位写入操作,其中非易失性存储器单元可以在其先前已进行擦除的情况下进行编程。NAND型快闪存储器包含例如二维NAND(2D NAND)和三维NAND(3D NAND)。

存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC),可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)和四层级单元(QLC),可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含例如SLC、MLC、TLC、QLC或它们的任何组合的一或多个阵列。在一些实施例中,特定存储器装置可包含SLC部分,以及存储器单元的MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可以分组为页,页可以指用于存储数据的存储器装置的逻辑单元。在一些类型的存储器(例如,NAND)中,可以将页分组以形成块。3D交叉点等一些类型的存储器可以跨裸片和通道对页进行分组。

尽管描述了非易失性存储器装置,例如3D交叉点非易失性存储器单元阵列和NAND型快闪存储器(例如,2D NAND、3D NAND),但是存储器装置130可以基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)。

存储器子系统控制器115(或者为简单起见,称为控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路和/或离散组件、缓冲存储器或其组合的硬件。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文中所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。

存储器子系统控制器115可包含处理器117(例如,处理装置),其配置成执行存储在本地存储器119中的指令。在所示的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其配置成存储用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程的指令。

在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。尽管图1中的实例存储器子系统110示出为包含存储器子系统控制器115,但是在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可以依赖于外部控制(例如,由外部主机或者由与存储器子系统分离的处理器或控制器提供)。

一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,并且可将命令或操作转换成指令或适当的命令以实现期望的对存储器装置130的存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾数据收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、命名空间)和物理地址(例如,物理MU地址、物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路系统,用于经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换成存取存储器装置130的命令指令,并将与存储器装置130相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可包含可以从存储器子系统控制器115接收地址并将地址解码以存取存储器装置130的高速缓存或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器)。

在一些实施例中,存储器装置130包含结合存储器子系统控制器115用于对存储器装置130的一或多个存储器单元执行操作的本地媒体控制器135。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,它是与本地控制器(例如,本地控制器135)组合以用于相同存储器装置封装内的媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。

存储器子系统110包含可用于在对存储器装置130和140的数据块执行读取操作期间执行主动读取干扰缓解的数据完整性组件113。在一些实施例中,存储器子系统控制器115包含数据完整性组件113的至少一部分。例如,存储器子系统控制器115可包含配置成执行存储在本地存储器119中的指令以执行本文中所描述的操作的处理器117(处理装置)。在一些实施例中,数据完整性组件113是主机系统110、应用程序或操作系统的部分。

在一个实施例中,数据完整性组件113接收读取操作集合,并将这个集合划分成读取操作子集。数据完整性组件113在读取操作子集中的第一(例如,当前)读取操作子集中选择第一读取操作,其中例如第一读取操作在存储器装置130上的第一位置(例如,字线、存储器单元等)执行。数据完整性组件113在存储器装置上邻近第一位置的一或多个第二位置执行一或多个第一数据完整性扫描操作,以确定与所述一或多个第二位置相关联的一或多个第一可靠性统计数据(例如错误率)。如果所述一或多个第一可靠性统计数据中的至少一个满足第一阈值标准,那么数据完整性组件113可将存储在包括第一和第二位置的数据块中的数据迁移到存储器装置130上的另一数据块,并重置读取计数器用于第二(例如,下一)读取操作子集。下文描述了关于数据完整性组件113的操作的其它细节。

图2描绘根据本公开的一些实施例的在存储器装置200中执行主动读取干扰缓解的实例。在一个实施例中,存储器装置200包含数据块201。数据块201表示组成存储器装置130或存储器装置140的任一个数据块。如所示,数据块201包含数个单独字线,例如字线205a-f(WLn-2、WLn-1、WLn、WLn+1、WLn+2)。例如位置220c处的存储器单元的存储器单元定位在字线205a-e和位线210a-d中的每一个的相交处。字线和位线的这一数目和布置仅仅是一个实例,并且在其它实施例中,数据块201可包含任何其它数目的字线(例如数十个字线或数百个字线)。

在例如读取操作的存储器存取操作期间,读取干扰(RD)应力会影响存储于邻近其中执行读取操作的字线的存储器单元的字线(例如,受害者字线)的存储器单元处的数据。例如,当来自布置在特定字线(例如,WLn)上的存储器单元的数据被反复读取时,WLn的两个邻近字线,即字线WLn+1和WLn-1,会经历来自WLn上的读取操作的最高应力。邻近字线可包含彼此接近、靠近、相邻、连续等的字线。另外,尽管在一些实例中,WLn的邻近字线可包含紧靠着WLn的字线,但是在其它实例中,WLn的邻近字线可包含非紧靠着WLn的字线。字线是否被视为邻近字线可取决于存储器子系统的特定技术实施方案和阵列布局的维度。

因此,在一个实施例中,数据完整性组件113可执行存储器装置200的主动读取干扰缓解。在本公开的实施例中,存储器装置200可接收使用所述存储器装置执行读取操作集合的请求。在一些实例中,主机系统120发送包含读取请求和写入请求的工作负载流230。数据完整性组件113可获得包含在工作负载流230中的读取请求中的读取操作集合240(“集合240”)。读取操作集合240针对物理地址层,例如,存储器装置200中的裸片。读取操作集合240包含读取操作R241-R260及更多。在实例中,每个读取操作的大小可以是4KB。在另一实例中,读取操作可以具有不同大小。

在实施方案中,数据完整性组件113可将读取操作集合240划分(例如,分割)成多个读取操作子集或窗。在一个实例中,如图所示,集合240分离成若干个窗,包含读取操作子集240A和子集240B。在实例中,读取操作是连续且不重叠的。也就是说,特定读取操作仅包含在一个窗或读取操作子集中。

在一些实例中,包含在多个读取操作子集中的每个子集(例如,子集240A)中的读取操作数目对于所有读取操作子集(例如,240A、240B等)来说是相同的。在一个实例中,包含在每个窗(例如,子集240A、240B等)中的读取操作数目可等于“W”个读取操作。例如,W可设置为10K。也就是说,第一窗即子集240A包含10K个读取操作(例如,集合240中的读取操作1到读取操作10,000),第二窗即子集240B包含10K个读取操作(例如,集合240中的读取操作10,001到读取操作20,000),以此类推。在一个实例中,读取操作数目是可修改的。例如,数目可从10K修改为5K,这意味着在修改之后,第一窗将包含读取操作1到读取操作5,000,且第二窗将包含读取操作5,001到10,000,以此类推。每个窗中用于执行主动RD缓解算法(本文中也称为“算法”)的读取操作数目可基于以下进行选择或修改:所使用的存储器装置的特定类型、算法在工作负载流的哪一点执行、存储器装置的寿命(例如,使用期)等等。在实施例中,作为指定窗中的读取操作数目的替代或补充,可以指定每个窗的读取操作的总大小。例如,窗大小可以是40MB,也就是说,包含在窗中的读取操作的总大小等于40MB。

在实施例中,数据完整性组件113可在多个读取操作子集中的第一子集(例如,算法处理的当前子集)中选择第一读取操作。例如,可以在子集240A中选择读取操作R249(例如,算法处理的当前子集)作为第一读取操作。第一读取操作可以在第一读取操作子集中随机选择。

在实施例中,为了在子集中选择随机读取操作,数据完整性组件113可以针对存储器装置200的每个裸片使用计数器。数据完整性组件113可维持计数器以跟踪在每个读取操作子集(例如子集240A)内执行的读取操作的计数(例如,数目)。在一个实施例中,在裸片级维持计数器,当执行第一窗(例如,子集240A)的第一读取操作R241时它以值“1”开始,并在每次执行第一子集240A的读取操作时增加。

在实例中,当算法移动通过每个读取操作子集时,数据完整性组件113可以为读取操作子集中的每一个产生均匀随机数“u”。在实例中,各种低复杂度、高速均匀随机数产生器(URNG)可适用于产生随机数。随机数可以是在1和W之间的数字。也就是说,随机数“u”大于或等于数字“1”且小于或等于给定读取操作子集中的读取操作数目W。在实例中,对于当前窗(例如,第一子集240A),由数据完整性组件113产生的随机数“u”等于“i”,而下一窗即子集240B的随机数“u”等于“j”。例如,“i”的值可以是9999,“j”的值可以是5400。

在执行第一子集240A中的每个读取操作之后,数据完整性组件113可确定计数器(例如,给定点处的计数器的值)是否已达到子集240A的均匀随机数“u”。数据完整性组件113可确定在执行第一子集中的特定读取操作R249之后计数器已达到(例如,符合或等于)均匀随机数“u”,并且可选择所述特定读取操作R249作为第一读取操作。例如,如果确定在执行所述特定读取操作R249之后计数器的值达到数字“i”,那么选择所述特定读取操作(例如,第i个读取操作)作为第一读取操作。在“i”等于9999的实例中,如果在执行第一窗中的第9999个读取操作(R249)之后计数器达到9999,那么选择读取操作9999(例如,子集240A的第9999个读取操作)作为用于执行主动RD缓解算法的第一读取操作(例如,随机读取操作)。

第一读取操作R249可以在存储器装置200上的第一位置执行,如由箭头250所示。在一些实例中,存储器装置上的第一位置可包含一或多个存储器单元(例如,220c或额外单元)、一或多个字线(例如,字线WLn 205c或额外字线)、一群字线等等。

在实施例中,数据完整性组件113可在邻近第一位置(例如,单元220c、字线WLn等)的一或多个第二位置上执行第一数据完整性扫描操作270以确定与第二位置相关联的第一可靠性统计数据中的一或多个。在一些实例中,存储器装置上的第二位置可包含以下中的至少一个:存储器单元(例如,位于字线205b和位线210c的相交处和/或字线205d和位线210c的相交处等等的单元)中的一或多个、字线(例如,字线WLn-1和WLn+1)中的一或多个、一群字线等。第一数据完整性扫描操作270可包含两个读取操作,一个读取操作R271在受害者字线WLn-1上用于确定可靠性统计数据272,另一读取操作R273在受害者字线WLn+1上用于确定可靠性统计数据274。第一数据完整性扫描操作270可包含错误检测操作以确定第一可靠性统计数据。可靠性统计数据的一个实例可以是原始位错误率(RBER)。RBER(本文中也称为“错误率”)对应于存储于数据块处的数据所经历的每样本大小(例如,每页或每码字)的位错误数目。在实例中,给定字线的RBER可以通过确定给定字线上的一组样本存储器单元中的最大RBER来获得。在实例中,扫描270可确定字线WLn-1的RBER值是“390”,且字线WLn+1的RBER值是“410”。

在一个实例中,数据完整性组件113可确定所述一或多个第一可靠性统计数据中的至少一个是否满足(例如,符合或超过)阈值标准。例如,阈值标准可以基于各种因素来定义。在实例中,阈值标准可以是可修改的。阈值标准可以基于例如以下的因素来设置或修改:所使用的存储器装置的特定类型、使用阈值时工作负载流的时间点、使用阈值时存储器装置的寿命(例如,使用期)等等。例如,对应于第一时间的阈值标准可不同于对应第二时间的阈值标准,其中第二时间表示存储器装置200的寿命终结。当存储器装置200的使用期达到寿命终结状态时,错误阈值可以是不同的,例如低于更早阶段。在一些实例中,阈值标准可表示RD能力限制,或者可基于RD能力限制来定义,例如通过考虑RD能力的容限来定义。在图2的实例中,阈值标准被定义为“400”。

在一个实例中,数据完整性组件113可确定所述一或多个第一可靠性统计数据中的至少一个满足阈值标准。例如,统计数据272指示RBER值为“390”,它低于阈值标准“400”,因此不满足阈值标准。但是,统计数据274指示RBER值为“410”,它高于阈值标准“400”,因此满足阈值标准。因此,第一可靠性统计数据中的至少一个满足阈值标准。

响应于确定所述一或多个第一可靠性统计数据中的至少一个(例如,统计数据274)满足阈值标准,数据完整性组件113可将存储在存储器装置200上的第一数据块201上的数据迁移(例如,折叠)到存储器装置200上的第二数据块290。第一数据块201可包含第一位置(例如,WLn)和第二位置(例如,WLn和WLn+1)。也就是说,基于其中执行随机读取操作249的字线中的受害者字线的RBER值,存储在含有执行随机读取操作249的字线的数据块201上的所有数据都被迁移或重新定位到数据块201之外。在一些实例中,存储器子系统110的另一组件(例如,控制器115)可执行数据迁移操作。在实例中,响应于所述一或多个第一可靠性统计数据中的每一个都不满足阈值标准(例如,如果除了统计数据272值低于400之外,统计数据274还指示RBER值低于400),存储器子系统可继续执行第一读取操作子集中的所有读取操作,而不用将存储在第一数据块201上的数据迁移到任何其它数据块。

在实施例中,数据完整性组件113可在执行第一子集240A中的每个读取操作之后确定计数器是否超过第一子集240A中的读取操作数目W。响应于确定计数器超过第一子集240A中的读取操作数目W(例如,10,000)或换句话说,第一子集240A的所有读取操作都已被执行,数据完整性组件113将计数器重置为初始值。计数器可以重新用于下一个窗即子集240B。

在第一窗中的所有读取操作都完成后,主动RD缓解操作可以使用下一窗继续执行。类似于第一窗,数据完整性组件113可以在多个读取操作子集中的第二子集240B(例如,在第一窗之后的下一窗)中选择第二读取操作R256。第二读取操作R256可以基于数据完整性组件113产生等于用于第二窗即子集240B的“j”的随机值“u”并在子集240B中选择第j个读取操作R2256作为第二读取操作来随机选择。如先前所描述,在此实例中,“j”的值可以是5400。第二读取操作R256可以在存储器装置上的第三位置执行(未描绘)。数据完整性组件113可在存储器装置200上邻近第三位置的一或多个第四位置执行一或多个第二数据完整性扫描操作,以确定与所述一或多个第四位置相关联的一或多个第二可靠性统计数据(例如,RBER)。在一个实例中,数据块201可包含第三位置和第四位置。在另一实例中,另一数据块可包含第三和第四位置。数据完整性组件113可确定所述一或多个第二可靠性统计数据中的至少一个是否满足阈值标准,并且响应于所述一或多个第二可靠性统计数据中的至少一个满足阈值标准,将存储在第一数据块201(或其中定位有第三和第四位置的另一数据块)上的数据迁移到存储器装置200上的第三数据块。类似地,过程可针对读取操作集合240中的所有读取操作子集继续进行。

图3描绘根据本公开的一些实施例的在存储器装置300上迁移一群字线的图示。数据块301可类似于图2中描绘的数据块201。如图2中所描述的关于主动RD缓解执行的操作可以相同方式应用于数据块301。在图3的图示中,存储器装置300被描绘为支持存储器装置300中表示数据块301的一部分的各个字线或字线群组的折叠操作。数据块301可由字线行和位线列构成。字线行可以分段成群组312、314、316等,每个群组包含数据块301的三个字线。尽管本图示具有各自包含数据块301的三个字线的群组312、314、316,但是在实施例中,数据块可以分段成任何数目个群组,每个群组可包含任何数目个字线,包含群组中的单个字线。群组314包含存储一或多个用户数据位的一组存储器单元(例如,单元320c)。群组314包含字线305b、305c和305d。

在本图示中,如先前关于在图2中的数据块201的字线上执行的数据完整性扫描270所论述,基于数据完整性扫描已经识别出群组314用于迁移到另一数据块。例如,数据完整性组件113可在位于数据块301的第一部分(例如,群组314)上的第一字线WLn305c(类似于图2中的WLn 205c)上执行随机读取操作。数据完整性组件113在位于数据块301的第一部分(例如,群组314)上的第二字线WLn-1 305b和第三字线WLn+1 305d上执行错误检测操作(例如,类似于图2中的数据完整性扫描270),以确定与第二字线和第三字线相关联的错误率。在实例中,第二字线和第三字线邻近第一字线。当错误率满足阈值标准时,数据完整性组件113识别出第一数据块的第一部分(例如,群组314)以将数据从包含在群组314中的字线迁移到第二数据块(或在一个实例中迁移到相同数据块301)。因此,存储于第一部分(例如,群组314)的一组存储器单元处的数据可以迁移(例如,折叠)到另一数据块上的第二部分(例如,另一群字线)。存储在数据块301中的所有数据都无需迁移,以便迁移存储在群组314内的数据。在一个实例中,存储在第一数据块的第一部分上的数据可以通过以下操作迁移到存储器装置上的第二数据块的第二部分:读取存储在第一数据块的第一部分即群组314的单元上的数据,将存储在群组314的单元上的数据写入到第二数据块,并在将数据写入到第二数据块后,擦除存储在第一数据块301的第一部分即群组314上的数据。从主机系统接收到的新数据可以存储在群组314的这一组存储器单元处。

图4是根据本公开的一些实施例的执行主动读取干扰缓解的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的数据完整性组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程的次序可以修改。因此,所示实施例应理解为只是实例,并且所示过程可以按照不同次序执行,一些过程可以并行执行。另外,在各种实施例中,可以省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。

在操作410处,处理逻辑接收使用存储器装置执行读取操作集合的请求。在一些实例中,主机系统发送包含读取请求和写入请求的工作负载流。处理逻辑可从工作负载流中的读取请求提取执行读取操作集合的请求。

在操作420处,处理逻辑将读取操作集合划分成多个读取操作子集。在一些实例中,包含在多个读取操作子集中的每个子集中的读取操作数目对于所有读取操作子集来说是相同的。在一个实例中,读取操作数目是可修改的。

在操作430处,处理逻辑在多个读取操作子集中的第一子集中选择第一读取操作,其中第一读取操作在第一位置执行。在一些实例中,处理逻辑通过在第一读取操作子集中随机选择第一读取操作来选择第一读取操作。在一个实例中,选择第一读取操作包括:为存储器装置的每个裸片维持计数器以跟踪第一读取操作子集中已执行的读取操作计数;产生小于或等于第一子集中的读取操作数目的均匀随机数;在执行第一子集中的每个读取操作之后确定计数器是否已达到均匀随机数;以及响应于确定在执行第一子集中的特定读取操作之后计数器已达到均匀随机数,选择所述特定读取操作作为第一读取操作。

在操作440处,处理逻辑在存储器装置上邻近第一位置的第二位置执行第一数据完整性扫描操作,以确定与第二位置相关联的第一可靠性统计数据。在一些实例中,存储器装置上的第一位置和第二位置可各自包括以下中的至少一个:存储器单元中的一或多个、字线或一群字线。在一个实例中,处理逻辑可确定所述一或多个第一可靠性统计数据中的至少一个是否满足阈值标准;并且响应于所述一或多个第一可靠性统计数据中的至少一个满足阈值标准,将存储在存储器装置上的第一数据块上的数据迁移到存储器装置上的第二数据块,其中第一数据块包含第一位置和第二位置。在实例中,阈值标准是可修改的。在一些实例中,处理逻辑可在执行第一子集中的每个读取操作之后确定计数器是否超过第一子集中的读取操作数目;并且响应于确定计数器超过第一子集中的读取操作数目,将计数器重置为初始值。在实例中,响应于所述一或多个第一可靠性统计数据中的每一个都不满足阈值标准,处理逻辑可继续执行第一读取操作子集,而不用迁移存储在第一数据块上的数据。

此外,处理逻辑可在多个读取操作子集中的第二子集中选择第二读取操作,其中第二读取操作在存储器装置上的第三位置执行。处理逻辑可在存储器装置上邻近第三位置的一或多个第四位置执行一或多个第二数据完整性扫描操作,以确定与所述一或多个第四位置相关联的一或多个第二可靠性统计数据,确定所述一或多个第二可靠性统计数据中的至少一个是否满足阈值标准,并且响应于所述一或多个第二可靠性统计数据中的至少一个满足阈值标准,将存储在存储器装置上的第一数据块上的数据迁移到存储器装置上的第三数据块,其中第一数据块包括第三位置和所述一或多个第四位置。

图5是根据本公开的一些实施例的用于迁移一群字线以执行主动读取干扰缓解的实例方法500的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法500由图1的数据完整性组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程的次序可以修改。因此,所示实施例应理解为只是实例,并且所示过程可以按照不同次序执行,一些过程可以并行执行。另外,在各种实施例中,可以省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。

在操作510处,处理逻辑接收执行读取操作集合的请求。在一些实例中,主机系统发送在工作负载流中包含读取和写入请求的请求。处理逻辑可从工作负载流中的读取请求获得读取操作集合。

在操作520处,处理逻辑选择读取操作集合中的随机读取操作。在实例中,处理逻辑在位于第一数据块的第一部分上的第一字线上执行随机读取操作。在一个实例中,第一部分可包含一群字线。在一些实例中,使用均匀随机数选择读取操作集合中的随机读取操作。

在操作530处,处理逻辑在位于第一数据块的第一部分上的第二字线和第三字线上执行错误检测操作。处理逻辑执行错误检测操作,以确定与第二字线和第三字线相关联的错误率。在实例中,第二字线和第三字线邻近第一字线。

在操作540处,处理逻辑确定错误率是否满足阈值标准。在一些实例中,阈值标准是可修改的。例如,处理逻辑可基于存储器装置的状态等等修改阈值标准以满足特定存储器装置架构的需要。在一个实例中,对应于第一时间的阈值标准可不同于对应于第二时间的阈值标准,其中存储器装置被指示为在第二时间具有寿命终结状态。

在操作550处,如果错误率满足阈值标准,那么处理逻辑将存储在第一数据块的第一部分上的数据迁移到存储器装置上的第二数据块。在一个实例中,处理逻辑可通过以下操作将存储在第一数据块的第一部分上的数据迁移到存储器装置上的第二数据块的第二部分:读取存储在第一数据块的第一部分上的数据,将数据写入到第二数据块,并且在将数据写入到第二数据块后,擦除存储在第一数据块的第一部分上的数据。

图6示出计算机系统600的实例机器,所述实例机器内可以执行用于使机器执行本文所论述的方法中的任何一或多个的一组指令。在一些实施例中,计算机系统600可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或者可用于执行控制器的操作(例如,以执行操作系统,从而执行对应于图1的数据完整性组件113的操作)。在替代实施例中,所述机器可以在LAN、内联网、外联网和/或互联网中连接(例如,联网)到其它机器。所述机器可以客户端-服务器网络环境中的服务器或客户端机器的资格操作,作为对等(或分布式)网络环境中的对等机器操作,或作为云计算基础设施或环境中的服务器或客户端机器操作。

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

实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或RDRAM等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统618,它们经由总线630彼此通信。

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

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

在一个实施例中,指令626包含实施对应于数据完整性组件(例如,图1的数据完整性组件113)的功能性的指令。尽管在实例实施例中机器可读存储媒体624示出为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一组或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的一组指令且使机器执行本公开的方法中的任何一或多个的任何媒体。术语“机器可读存储媒体”因此应被认为包含但不限于固态存储器、光学媒体和磁性媒体。

先前详细描述的一些部分已经关于计算机存储器内的数据位的操作的算法和符号表示呈现。这些算法描述和表示是数据处理领域中的技术人员用来将他们的工作内容传达给本领域的其他技术人员的最有效方式。此处且一般来说,算法被设想为产生所需结果的操作的自一致序列。所述操作是需要物理量的物理操控的那些操作。通常但是不一定,这些量采取能够存储、组合、比较和以其它方式操控的电气或磁性信号的形式。已经证实,将这些信号称为位、值、元件、符号、字符、项、数字等等有时是方便的,主要是出于常用的原因。

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

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

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

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

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

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种移位寄存器的多路输出方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!