一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

跨存储器子系统执行异步扫描操作的制作方法

2021-07-16 21:26:00 来源:中国专利 TAG:子系统 存储器 多个 扫描 执行


1.本公开大体上涉及具有多个存储器子系统的系统,且更具体来说,涉及跨那些存储器子系统执行异步扫描操作。


背景技术:

2.存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可使用存储器子系统将数据存储在存储器装置处并且从存储器装置检索数据。


技术实现要素:

3.本公开的一实施例提供一种方法,其包括:通过多个存储器子系统中的第一存储器子系统获得第一延迟值;和通过所述第一存储器子系统在用于所述第一存储器子系统的第一事件起的第一时间之后执行第一扫描操作,其中所述第一时间是基于所述第一延迟值,且其中所述多个存储器子系统中的第二存储器子系统基于不同于所述第一延迟值的第二延迟值执行第二扫描操作。
4.本公开的另一实施例提供一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时致使所述处理装置进行以下操作:通过多个存储器子系统中的第一存储器子系统获得第一延迟值;和通过所述第一存储器子系统在用于所述第一存储器子系统的第一事件起的第一时间之后执行第一扫描操作,其中所述第一时间是基于所述第一延迟值,且其中所述多个存储器子系统中的第二存储器子系统基于不同于所述第一延迟值的第二延迟值执行第二扫描操作。
5.本公开的又一实施例提供一种系统,其包括:存储器组件;和处理装置,其以可操作方式与所述存储器组件耦合以进行以下操作:获得第一延迟值,其中所述存储器组件和所述处理装置是多个存储器子系统中的第一存储器子系统的部分;和在从电力施加到所述第一存储器子系统起的第一时间之后执行第一扫描操作,其中所述第一时间是基于所述第一延迟值,且其中所述多个存储器子系统中的第二存储器子系统基于不同于所述第一延迟值的第二延迟值执行第二扫描操作。
附图说明
6.根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,附图不应视为将本公开限制于具体实施例,而是仅用于解释和理解。
7.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
8.图2说明根据本公开的一些实施例的异步扫描操作的实例定时。
9.图3是根据本公开的一些实施例的执行异步扫描操作的实例方法的流程图。
10.图4是根据本公开的一些实施例的执行异步扫描操作的另一实例方法的流程图。
11.图5是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
12.本公开的方面针对于跨存储器子系统执行异步扫描操作。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。存储器装置可包含例如非易失性存储器装置(例如,nand)。下文结合图1更详细地描述其它类型的存储器装置(包含易失性存储器装置)。主机系统可提供将存储在存储器子系统处的数据且可请求将从存储器子系统检索的数据。
13.随时间推移且不进行维护的话,存储器子系统所存储的数据可变得受损。数据损坏通常是存储器单元的表示数据的电特性发生改变的结果。举例来说,某些存储器技术使用电荷表示存储器单元中的数据位(即,1和0),而其它存储器技术使用电阻表示数据位。不同存储器技术可易受这类特性发生改变的不同原因影响。举例来说,所述特性可随时间衰减,受例如对附近存储器单元的存取等内部因素干扰,受例如温度或辐射等外部因素干扰等。虽然差错校正码(ecc)可用以编码所存储的数据并且进而允许校正有限数目的位破坏,但太多改变可致使数据变得不可校正,这是非常不想看到的结果。
14.为了缓解这些对数据完整性的风险,存储器子系统通常采用扫描操作来确保存储器子系统所存储的数据保持可得。存储器子系统可扫描所存储的数据并且重写或以其它方式刷新所存储的数据以“重置”对数据的任何改变,从而将错误的数目保持在ecc或另一错误校正方案可校正的容限内。举例来说,存储器子系统可从存储器装置中的一个读取“旧”数据(就当是被写入时来说),解码所述数据以校正任何错误,并且将经校正数据写回到存储器装置中的一个。这类扫描操作的持续时间通常随存储器子系统所存储的数据量而变(例如,更多所存储数据引起更长扫描时间)。虽然扫描操作减小数据丢失的可能性,但所述扫描操作并非没有代价,存储器子系统可从主机系统尝试存取的存储器的同一部分读取数据或将数据写入到主机系统尝试存取的存储器的同一部分,从主机系统的角度降低了存储器子系统的性能。扫描操作有时被称为背景扫描操作或完整性扫描操作并且可或可不阻挡其它主机起始的操作。
15.主机系统可使用多个存储器子系统改进数据存储性能的方面(例如,归因于跨多个存储器子系统的数据镜射或复制的较高可用性、归因于跨存储器子系统的数据条带化的较高带宽、归因于子系统内奇偶校验或ecc的较高可靠性等)。如果每一存储器子系统被配置成在同一步调上执行扫描操作,那么尝试存取存储器子系统的主机系统将经历存储器子系统的性能的周期性降级。
16.本公开的方面通过跨存储器子系统执行异步扫描操作来解决上述和其它缺陷。特定来说,每一存储器子系统在从例如电力施加到存储器子系统(“通电”)的事件起的可变延迟之后开始扫描操作。举例来说,一个存储器子系统可在通电之后一小时开始扫描操作,另一存储器子系统可在通电之后一小时十五分钟开始扫描操作等。如本文所描述,这类延迟可预编程、由存储器子系统自产生、由主机系统指定等。通过在起始扫描操作之前改变所述延迟,显著减小跨到存储器子系统中的多个存储器子系统同时发生扫描操作的可能性,从而限制取决于存储器子系统对主机系统的任何负面性能影响。
17.图1说明根据本公开的一些实施例的包含存储器子系统110的实例系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多
个非易失性存储器装置(例如,存储器装置130),或这类的组合。
18.存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡,和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so

dimm)和各种类型的非易失性双列直插式存储器模块(nvdimm)。
19.系统100可为计算装置,例如台式计算机、手提式计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(iot)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
20.计算系统100可包含与一或多个存储器子系统110a

110m耦合的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到多个存储器子系统110的主机系统120的一个实例。主机系统120使用存储器子系统110。如本文中所使用,“耦合到”或“与
……
耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
21.主机系统120可包含处理器芯片组以及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110例如将数据写入到存储器子系统110以及从存储器子系统110读取数据。
22.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)、小型计算机系统接口(scsi)、双数据速率(ddr)存储器总线、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)、开放nand闪存接口(onfi)、双数据速率(ddr)、低功率双数据速率(lpddr),或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm高速(nvme)接口存取组件(例如,存储器装置130)。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传送控制、地址、数据以及其它信号。图1说明作为实例的存储器子系统110。一般来说,主机系统120可经由相同通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
23.存储器装置130、140可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
24.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器和就地写入存储器,例如三维交叉点(3d交叉点)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失
性存储器单元进行编程。nand型快闪存储器包含(例如)二维nand(2d nand)和三维nand(3d nand)。
25.存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc)可每单元存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)和四层级单元(qlc)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分,和mlc部分、tlc部分或qlc部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,nand),页可被分组以形成块。
26.虽然描述了非易失性存储器装置,例如3d交叉点非易失性存储器单元阵列和nand型快闪存储器(例如,2d nand、3d nand),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)

mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器,以及电可擦除可编程只读存储器(eeprom)。
27.每一存储器子系统110可另外包含存储器系统控制器115(或为简单起见,控制器115),其与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它这类操作(例如,响应于控制器115在命令总线上调度的命令)。存储器子系统控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器,或其组合。硬件可包含具有执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或另一适当的处理器。
28.存储器子系统控制器115可包含处理装置117(处理器),其被配置成执行存储于本地存储器119中的指令。在所说明实例中,控制器115的本地存储器119包含嵌入式存储器,其被配置成存储指令以用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程以及例程。
29.在一些实施例中,本地存储器119可以包含存储器寄存器,其存储存储器指针、提取的数据等。本地存储器119还可以包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一个实施例中,存储器子系统110不包含存储器子系统控制器115,且可替代地依赖于外部控制(例如,由外部主机提供,或由与存储器子系统隔开的处理器或控制器提供)。
30.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作(例如,读取和写命令)并且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130和/或存储器装置140的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名称空间)与物理地址(例如,物理mu地址、物理块地址)之间的地址转译。存储器子系统控制器115可另外包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的
命令转换为命令指令以存取存储器装置130和/或存储器装置140,以及将与存储器装置130和/或存储器装置140相关联的响应转换为用于主机系统120的信息。
31.存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存器或缓冲器(例如,dram)和可从控制器115接收地址并且解码所述地址以存取存储器装置130的地址电路系统(例如,行解码器和列解码器)
32.每一存储器子系统110包含可起始扫描操作的扫描调度器113。在一些实施例中,控制器115包含扫描调度器113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其被配置成执行存储在本地存储器119中的指令以用于执行本文中所描述的操作。在一些实施例中,扫描调度器113是主机系统110、应用程序或操作系统的部分。
33.在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以在存储器装置130的一或多个存储器单元上执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其为与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理nand(mnand)装置。
34.扫描调度器113可周期性地起始扫描操作。如上文所解释,扫描操作可确保存储器子系统110所存储的数据的完整性,但从主机系统120的的角度,可降级存储器子系统110的性能,尤其是在耦合到主机系统120的每一存储器子系统110同时执行扫描操作时。扫描调度器113分配存储器子系统110的扫描开始时间,包含在其中那些存储器子系统110不与彼此通信的情况下。下文描述关于扫描调度器113的操作的另外细节。
35.在一些实施例中,扫描调度器113基于以下两个值起始扫描:延迟值121和间隔值122,这两个值可存储于本地存储器119中。延迟值121表示在例如通电的事件之后且截止到扫描调度器113起始第一扫描操作时经过的时间量。间隔值122表示扫描调度器113起始处于所述第一扫描操作之后的扫描操作之前经过的时间量。通过跨存储器子系统110改变延迟值121,扫描操作可异步。此外,通过跨存储器子系统110维持固定间隔值122,消除在可变的初始延迟之后跨存储器子系统的扫描操作彼此同相和异相漂移的机率。如下文所描述,图2提供延迟值121和间隔值122之间的关系说明。
36.实施例可使用对延迟值121跨存储器子系统110变化的多种技术。优选地,无论使用何种技术,来自存储器子系统群体的延迟值121跨可能的延迟值范围形成均匀分布,使得多个存储器子系统同时执行扫描操作的可能性保持相对恒定。范围的下限表示在通电之后存储器子系统为起始扫描等待的最小时间量。所述下限防止扫描操作影响在通电时由主机系统120执行的各种启动或其它密集型存储操作。所述范围的上限表示存储器子系统110在通电之后起始扫描之前可操作的最大时间量。所述上限可基于数据的最差“衰减”进行设置以确保扫描是在存在数据丢失风险之前执行。在一个实施例中,所述上限设置为小于下限值和间隔值的总和的值。
37.在一些实施例中,扫描调度器113可计算或以其它方式产生处于可能延迟值的范围内的延迟值121。出于说明实例的目的,这类范围可为从通电起一小时到从通电起三小时。在这类实例中,存储器子系统110可具有在制造期间分配的唯一硬件识别符,其存储于非易失性存储器(例如,本地存储器119的一部分)中。示范性唯一硬件标识符包含制造者序
列号和全球名称。扫描调度器113可读取硬件识别符以确定延迟值121。扫描调度器113可将硬件识别符的最低n位映射到延迟值范围。在一个实施例中,扫描调度器113使用散列函数将识别符映射到延迟值范围。如果使用硬件识别符的最低六位(例如,64个二进制值),那么两小时窗可划分成大约2分钟增量(例如,2小时除以64)。在这类情境中,具有最低有效位

000000’的硬件识别符将对应于一小时的延迟值,具有最低有效位

011111’的硬件识别符将对应于大约两小时的延迟值(在所述范围的中间)等。作为另一实例,扫描调度器113可使用随机数产生器随机产生处于所述范围内的延迟值。
38.在其它实施例中,存储器子系统110可具有在制造期间编程为随机数的延迟值121。在又其它实施例中,主机系统120可编程延迟值121,为主机系统120提供对扫描操作的相对定时的更多控制。举例来说,主机系统120的处理器可执行用于存储器子系统110的软件驱动器。软件驱动器可包含主机系统120借以可将延迟值121发送到每一经连接存储器子系统110的api。软件驱动器或存储器子系统110可拒绝落在所述范围之外的经编程延迟值110。通过允许主机系统120编程延迟值121,主机系统120可达成扫描操作跨经连接存储器子系统120的均匀分布。
39.在一些实施例中,不管针对既定存储器子系统110使延迟值121变化所使用的技术是何种技术,存储器子系统110可将延迟值121存储于非易失性存储器(例如,本地存储器119的一部分)中。存储延迟值121可避免在电力循环之后对重新产生、重新计算、重新编程或以其它方式重新获得延迟值121的需要。在一个实施例中,有效旗标可指示所存储的延迟值121的有效性。举例来说,可初始清除所述旗标,并且稍后当主机系统120编程延迟值121时或当扫描调度器113计算延迟值121并将所述延迟值121存储到非易失性存储器时再设置所述旗标。
40.在一些实施例中,可使用使延迟值121变化的技术组合。举例来说,存储器子系统110可具有预编程或经计算延迟值121,主机系统110可对所述预编程或经计算延迟值121进行替代。举例来说,存储器子系统121可将使用硬件识别符计算的延迟值121存储于第一存储器方位中并且将从主机系统120接收的另一延迟值121存储于另一存储器方位中。在起始扫描操作时,扫描调度器113可首先检查主机编程的延迟值121的有效性旗标以确定其是否有效,且如果是,那么基于所述主机编程的延迟值121起始扫描。如果主机编程的延迟值121无效,那么扫描调度器113可基于从硬件识别符计算的延迟值121起始扫描。
41.在一些实施例中,可跨存储器子系统110使间隔值从默认间隔变化。举例来说,主机系统120可编程跨经耦合存储器子系统110中的每一个的扫描操作之间的较长或较短间隔持续时间。
42.图2说明根据本公开的一些实施例的异步扫描操作的实例定时。如所说明,实例定时是与通电时间四个存储器子系统(ms)110a

110d相关联,如图式左侧所指示。存储器子系统110a的扫描调度器在基于存储器子系统110a的延迟值的延迟a之后的扫描开始时间202a

1处开始扫描操作。存储器子系统110b的扫描调度器在基于存储器子系统110b的延迟值的延迟b之后的扫描开始时间202b

1处开始扫描操作。存储器子系统110c的扫描调度器在基于存储器子系统110c的延迟值的延迟c之后的扫描开始时间202c

1处开始扫描操作。存储器子系统110d的扫描调度器在基于存储器子系统110d的延迟值的延迟d之后的扫描开始时间202d

1处开始扫描操作。值得注意的是,初始
“‑
1”扫描开始时间202a

1、202b

1、
202c

1和202d

1落入延迟范围205内。
43.基于间隔值122,在此实例中,所述间隔值122跨存储器子系统110是一致的,以防止跨存储器子系统的后续扫描开始时间从其初始
“‑
1”扫描开始时间漂移。如所示出,存储器子系统110a的扫描调度器在基于间隔值122的间隔之后的扫描开始时间202a

2处开始后续扫描操作。存储器子系统110b的扫描调度器在基于间隔值122的间隔之后的扫描开始时间202b

2处开始后续扫描操作。存储器子系统110c的扫描调度器在基于间隔值122的间隔之后的扫描开始时间202c

2处开始后续扫描操作。存储器子系统110d的扫描调度器在基于间隔值122的间隔之后的扫描开始时间202d

2处开始后续扫描操作。
44.图3是根据本公开的一些实施例的执行异步扫描操作的实例方法的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法300是由图1的扫描调度器113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
45.在操作305处,处理装置在通电时开始定时器以跟踪从例如通电的事件起经过的时间。这类定时器可为基于发到处理装置的时钟信号的硬件或软件定时器。
46.在操作310处,处理装置获得延迟值。如本文所描述,各种技术可用以设置跨存储器子系统变化的延迟值。举例来说,处理装置可从主机系统接收延迟值,处理装置可基于存储器子系统的硬件识别符计算或以其它方式产生延迟值,处理装置可从非易失性存储器读取在制造期间编程的延迟值等。
47.在操作315处,处理装置确定是否已满足延迟(例如,已经过了与延迟值相关联的时间)。举例来说,如果延迟值表示两小时,那么处理装置可基于在操作305处开始的定时器所跟踪的时间值来检查从通电起是否已经过两小时。如果尚未经过与延迟值相关联的时间,那么方法300返回到操作315。如果已经过与延迟值相关联的时间,那么方法300转到操作320。虽然未示出,但在一些实施例中,主机系统可在与操作315相关联的等待期间更新延迟值。举例来说,如果延迟值初始是两小时,那么主机可在方法300转到操作320之前的某一时间将两小时延迟值替代为另一延迟值。
48.在操作320处,处理装置开始定时器,并且在操作325处,处理装置起始扫描操作以检查存储器子系统所存储的数据的完整性。应注意,在操作320处,处理装置可重新起始最初在操作305处开始的定时器或开始新定时器。在另一实施例中,处理装置在存储器子系统执行扫描操作之后开始或重新开始定时器。
49.在操作330处,处理装置检查是否已经满足了间隔时间(例如,从起始或执行最后一次扫描起已经过与间隔值相关联的时间)。如本文中所阐释,在初始延迟和第一扫描之后,可基于间隔来讲后续扫描间隔开。在图2中示出并且参考图2描述有关如由延迟值和间隔值确定的扫描定时之间的关系的额外细节。
50.虽然方法300的以上描述涉及计时器的开始和可能的重新开始,但在其它实施例中,处理装置可基于从单个定时器或时钟所捕获的时戳做出关于何时起始扫描操作的确
定。举例来说,处理装置可记录时钟或系统定时器在通电或另一事件处的时间戳。处理装置接着可周期性地检查时间戳加延迟值是否小于或等于当前系统时钟时间(即,已经过延迟值)。如果是,处理装置可起始扫描操作并且记录新时间戳。
51.图4是根据本公开的一些实施例的执行异步扫描操作的另一实例方法的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400是由图1的扫描调度器113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
52.在操作405处,处理装置通过多个存储器子系统中的第一存储器子系统获得第一延迟值。如上文所描述,处理装置可以多种方式获得延迟值。举例来说,存储器子系统的处理装置可从与存储器子系统相关联的另一值(例如,全球名称或其它识别符)(例如存储于存储器子系统的非易失性存储器中的值)计算或以其它方式产生延迟值。作为另一实例,处理装置可从主机系统接收延迟值。
53.在操作410处,处理装置通过第一存储器子系统在从用于第一存储器子系统的第一事件起的第一时间之后执行扫描操作。所述第一时间是基于第一延迟值。另外,多个存储器子系统中的第二存储器子系统基于不同于第一延迟值的第二延迟值执行扫描操作。因此,第一存储器子系统和第二存储器子系统可异步地执行其相应的扫描操作。
54.如上文所描述,处理装置可执行扫描以确保存储器子系统所存储的数据的完整性。处理装置可在存储器子系统操作期间的各个点处,例如在电力施加到存储器子系统或以其它方式重置存储器子系统之后的某一时间,执行扫描。所述时间是由延迟值表示。如图2中所说明,跨多个存储器子系统的延迟优选地是变化的以减小原本在所有存储器子系统同时执行扫描的情况下发生的任何负面性能影响。
55.图5说明计算机系统500的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于包含、耦合到或使用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,以执行操作系统来执行对应于图1的扫描调度器113的操作)的主机系统(例如,图1的主机系统120)。在替代性实施例中,机器可连接(例如,网络连接)到lan、内联网、外联网或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端

服务器网络环境中的服务器或客户端机器的容量中操作。
56.机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络器具、服务器、网络路由器、开关或桥接器、或能够(依序或以其它方式)执行指定由机器采取的动作的指令集的任何机器。另外,虽然说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种。
57.实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(rom)、闪
存存储器、动态随机存取存储器(dram)例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器506(例如,闪存存储器、静态随机存取存储器(sram)等),以及数据存储系统518,其经由总线530彼此通信。
58.处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置502被配置成执行指令526以用于执行本文中所论述的操作和步骤。计算机系统500可另外包含网络接口装置508以在网络520上通信。
59.数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的任何一或多种方法或功能的软件。指令526还可在其由计算机系统500执行期间完全或至少部分地驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
60.在一个实施例中,指令526包含实施对应于扫描调度器(例如,图1的扫描调度器113)的功能性的指令。尽管在实例实施例中将机器可读存储媒体524展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一组或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
61.已关于计算机存储器内的数据位的操作的算法和符号表示而呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是产生期望的结果的操作的自洽序列。操作是要求对物理量进行物理控制的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数目等是方便的。
62.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
63.本公开还涉及用于执行本文中的操作的设备。此设备可出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。举例来说,计算机系统或其它数据处理系统(例如控制器115)可响应于其处理器执行存储器或其它非暂时性机器可读存储媒体中所含的计算机程序(例如,指令序列)而执行计算机实施的方法300和400。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、cd

rom和磁性光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
64.本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或所述通用系统可以证明为便于构造以用以执行所述方法更加专用的设备。将如下文描述中所阐述的那样来呈现多种这些系统的结构。此外,并不参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文所描述的本公开的教示内容。
65.本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。、
66.在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜