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

存储装置、存储系统和操作存储装置的方法与流程

2022-08-03 01:52:03 来源:中国专利 TAG:


1.本发明构思通常涉及存储装置。更具体地,本发明构思涉及能够执行高效刷新操作的存储装置、用于此类存储装置的操作方法、以及包括此类存储装置的存储系统。


背景技术:

2.半导体存储装置可以被广泛地分类为易失性存储装置和非易失性存储装置。易失性存储装置(例如,动态随机存取存储器(dram))通过单元电容器的充电或放电快速地存储数据,但是在施加的电力不存在的情况下丢失存储的数据。相比之下,非易失性存储装置在施加的电力不存在的情况下保持存储的数据。易失性存储装置常常被用作用于计算机和类似数字平台的主存储器。非易失性存储装置常常被用作用于在诸如计算机、移动通信装置等的宽范围的装置中存储程序和/或数据的大容量存储器。
3.存储在易失性存储装置(例如,dram)的单元电容器中的电荷可能由于泄漏电流而逐渐减少。因此,在电荷水平下降至一致性阈值以下并且存储的数据丢失之前,必须对存储单元再充电。这种对存储单元再充电以在易失性存储装置中保持存储的数据的操作被称为刷新操作,并且只要易失性存储装置仍然在操作中,就必须重复地执行刷新操作。


技术实现要素:

4.随着使能更大集成密度的高级半导体处理技术的持续发展,使相邻和邻近易失性存储单元分开的间隔已逐渐减小。此类减小的存储单元间隔加剧了相邻和邻近存储单元的激活(或驱动)所引起的存储单元干扰问题。此外,即使当干扰集中在特定存储单元周围时,也难以在易失性存储装置(例如,dram)的操作期间限制对相应地址的访问。因此,存储单元干扰可能发生并且不利地影响存储单元阵列中的存储单元的刷新特性。
5.本发明构思的各方面提供一种存储装置、一种存储系统以及一种相关的操作存储装置的方法,所述方法能够执行可以获得状态信息的刷新操作。
6.在一个实施例中,本发明构思提供一种存储装置,所述存储装置包括:存储体存储阵列,所述存储体存储阵列包括存储单元;控制单元,所述控制单元被配置为响应于从外部源接收到的刷新命令而指示所述存储体存储阵列的目标行;刷新控制电路,所述刷新控制电路响应于所述控制单元指示所述目标行而提供刷新行地址;行译码器,所述行译码器响应于所述刷新行地址而向所述目标行的存储单元施加刷新驱动电压;状态监测器,所述状态监测器监测所述目标行的存储单元的行特定状态信息;状态寄存器,所述状态寄存器在所述状态监测器的控制下存储所述状态信息;以及数据输入/输出(i/o)缓冲器,所述数据i/o缓冲器响应于所述刷新命令从所述状态寄存器接收所述状态信息并且向所述外部源提供所述状态信息。
7.在另一实施例中,本发明构思提供一种存储系统,所述存储系统包括存储装置和发出第一刷新命令的存储控制器。所述存储装置包括:存储体存储阵列,所述存储体存储阵列包括存储单元;控制单元,所述控制单元被配置为响应于所述第一刷新命令而指示所述
存储体存储阵列的目标行;刷新控制电路,所述刷新控制电路响应于所述控制单元指示所述目标行而提供刷新行地址;行译码器,所述行译码器响应于所述刷新行地址而向所述目标行的存储单元施加刷新驱动电压;状态监测器,所述状态监测器监测所述目标行的存储单元的行特定状态信息;状态寄存器,所述状态寄存器在所述状态监测器的控制下存储所述状态信息;以及数据输入/输出(i/o)缓冲器,所述数据i/o缓冲器响应于所述第一刷新命令从所述状态寄存器接收所述状态信息并且向所述存储控制器提供所述状态信息,其中,所述状态信息包括行锤水平和位错误水平中的至少一种。
8.在另一实施例中,本发明构思提供一种操作存储装置的方法,所述方法包括:接收刷新命令;对存储体存储阵列的目标行执行刷新操作;以及在限定由所述存储装置执行的刷新操作的刷新操作周期期间,向存储控制器提供相对于所述目标行的相邻行的状态信息。
附图说明
9.在下文中将参考附图描述本发明构思的制作和使用,在附图中:
10.图1a和图1b是图示根据本发明构思的实施例的电子系统的框图;
11.图2、图3和图7是进一步图示根据本发明构思的各种实施例的图1a和图1b的存储装置100的各个框图;
12.图4是在一个示例中进一步图示图3的控制单元120的框图;
13.图5和图6是图示根据本发明构思的实施例的存储装置的操作的各个定时图;
14.图8、图9和图10是不同地图示根据本发明构思的实施例的用于操作存储装置的方法的各个流程图;
15.图11是列举了针对由存储装置根据状态信息执行的刷新操作的条件的表;
16.图12和图13是图示针对图10的存储装置的刷新操作的各个概念图;
17.图14是图示根据本发明构思的实施例的操作存储系统的方法的流程图;
18.图15是列举了针对由存储装置根据状态信息执行的刷新操作的条件的表;
19.图16是图示包括根据本发明构思的实施例的存储装置的系统的框图;以及
20.图17是图示包括根据本发明构思的实施例的存储装置的数据中心的框图。
具体实施方式
21.贯穿书面描述和附图,相似的附图标记和标签将用于表示相似或类似的元件、特征和/或方法步骤。
22.图1a和图1b是图示电子系统的框图。
23.这里,电子系统通常包括主机1和存储系统2。
24.在一些实施例中,存储系统2包括图1a中描述的存储控制器20和至少一个存储装置(memory device)100。
25.主机1可以使用诸如以下各项的一种或更多种接口协议来与存储系统2通信:pci-e(外围组件互连-快速)、ata(高级技术附件)、sata(串行ata)、pata(并行ata)、sas(串行连接scsi)、usb(通用串行总线)、mmc(多媒体卡)、esdi(增强小型磁盘接口)、ide(电子集成驱动器)等。
26.在图1b的一些实施例中,主机1包括处理器11和存储控制器20。处理器11可以控制电子系统的整体操作,更具体地,组成电子系统的其他组件的操作。这种处理器11可以被实现为通用处理器、专用处理器、应用处理器等。
27.处理器11可以包括一个或更多个cpu核心,并且还可以包括用于控制存储装置100中的至少一个存储装置的存储控制器20。取决于实施例,处理器11还可以包括加速器块,该加速器块是用于诸如ai(人工智能)数据计算的高速数据计算的专用电路。这样的加速器块可以包括gpu(图形处理单元)、npu(神经处理单元)和/或dpu(数据处理单元)等,并且可以被实现为在物理上独立于处理器11的其他组件的单独芯片。
28.存储控制器20可以用于控制存储装置100的操作,包括主机1与存储装置100之间的数据通信(例如,发送和/或接收)。例如,存储控制器20可以响应于从主机1接收到的各种请求(例如,存储系统命令)而控制存储装置100在写入操作和读取操作期间的操作。
29.存储控制器20可以通过向存储装置100生成和/或提供各种存储装置命令、地址和/或控制信号来控制存储装置100的操作。
30.这里,(一个或更多个)存储装置100可以是dram、ddr sdram(双倍数据速率同步动态随机存取存储器)、lpddr(低功率双倍数据速率)sdram、gddr(图形双倍数据速率)sdram和rdram(rambus动态随机存取存储器)中的一种或更多种。
31.存储控制器20可以基于诸如以下各项的接口标准中的一种与存储装置通信:双倍数据速率(ddr)、低功率双倍数据速率(lpddr)、图形双倍数据速率(gddr)、宽i/o、高带宽存储器(hbm)、混合存储器立方体(hmc)等。
32.在一些实施例中,存储控制器20和存储装置100可以经由相应的(一个或更多个)命令引脚、(一个或更多个)地址引脚和/或(一个或更多个)数据引脚连接。(一个或更多个)命令引脚可以用于经由(一个或更多个)命令传输线传送接收到的(一个或更多个)存储装置命令信号cmd。(一个或更多个)地址引脚可以用于经由(一个或更多个)地址传输线传送(一个或更多个)地址信号addr,而(一个或更多个)数据引脚可以用于经由(一个或更多个)数据传输线传送数据dq。例如,存储装置100经由引脚发送读取数据选通信号rdqs和数据信号dq,而存储控制器20经由引脚发送命令/地址信号c/a、写入数据选通信号wdqs和数据信号dq。
33.响应于从主机1接收到的写入请求,存储控制器20可以经由(一个或更多个)地址引脚向存储装置100提供写入地址,并且可以经由(一个或更多个)数据引脚向存储装置100提供写入数据。响应于从主机1接收到的读取请求,存储控制器20可以经由(一个或更多个)地址引脚向存储装置100提供读取地址,并且可以经由(一个或更多个)数据引脚从存储装置100接收读取数据。
34.存储控制器在逐行基础上访问(例如,读取或写入)数据是常见的。也就是说,给定存储装置100的存储单元阵列,其中组成存储单元根据行和列(在物理上和/或在逻辑上)布置,存储控制器20可以重复地激活特定行(例如,行k,其中“k”是正整数)。(此后,可以将关于数据访问操作被激活的特定行称为“目标行”)。这种激活(例如,与数据访问操作的执行相关联的电干扰)将确定地(并且相当有意地)影响目标行(行k)的存储单元。然而,这种激活将同样影响与目标行相邻(或接近)的行(例如,(一个或更多个)行k
±
n,其中“n”是正整数或负整数)的存储单元。(此后,可以将无意中受到针对目标行的数据访问操作影响的相
邻(或接近)行称为“相邻行”)。例如,与针对易失性存储装置的目标行的(一个或更多个)数据访问操作的执行相关联的电干扰可能无意中引起一个或更多个相邻行的存储单元中的(一个或更多个)位翻转。
35.在这方面,存储控制器20可以经由(一个或更多个)数据传输线向主机1传送存储装置100的状态信息,并且主机1可以响应于从存储控制器20接收到的状态信息而控制存储装置100的操作。例如,主机1(通过存储控制器20)可以向存储装置100传送刷新命令。替换地或附加地,主机1可以允许存储装置100执行清理操作(scrubbing operation)。替换地或附加地,主机1可以将存储装置100中的相邻行的数据转移到先前指定的“冗余行”。
36.图2是在一个示例中进一步图示根据本发明构思的实施例的图1a或图1b的存储装置100的框图。
37.参考图2,存储装置100可以包括控制单元120、地址寄存器130、存储体控制逻辑134、行地址复用器(ra mux)140、列地址锁存器(ca锁存器)136、行译码器、列译码器、存储体存储阵列110、读出放大器、输入/输出(i/o)门控电路190、数据i/o缓冲器195、地址转换电路132、状态监测器210、状态寄存器220和刷新控制电路150。
38.存储体存储阵列110可以包括(在物理上和/或在逻辑上)被划分成存储块的存储单元,其中相应的存储块可以具有变化的物理特性。例如,在存储块当中,第一存储块的运行速度可以不同于第二存储块的运行速度。每个存储块可以包括多个页面,其中在一些实施例中,每个页面包括单个行的存储单元。
39.在一些实施例中,行译码器可以包括不同地连接到存储体存储阵列110的存储体行译码器160,而列译码器可以包括不同地连接到存储体存储阵列110的存储体列译码器170。读出放大器可以包括不同地连接到存储体存储阵列110的存储体读出放大器115。
40.在一些实施例中,存储体存储阵列110、存储体读出放大器115、存储体行译码器160和存储体列译码器170中的每一者可以分别构成多个存储体。因此,在一些实施例中,可以将存储装置100理解为包括多个存储体。
41.控制单元120可以控制存储装置100的操作。例如,控制单元120可以生成控制信号,使得存储装置100执行写入操作、读取操作或刷新操作。也就是说,响应于从主机1接收到的请求,存储控制器20可以生成命令(cmd)、地址(add)和/或控制存储装置100的操作的控制信号。替换地或附加地,控制单元120可以生成控制由存储装置100在所限定的条件下执行的一个或更多个自操作的控制信号。例如,控制单元120可以生成控制状态监测器210和/或状态寄存器220的操作的控制信号。
42.地址寄存器130从存储控制器20接收地址信号addr。这里,地址信号addr可以包括来自存储控制器20的存储体地址bank_addr、逻辑行地址raddl和列地址col_addr。因此,地址寄存器130可以向存储体控制逻辑134提供存储体地址bank_addr,向地址转换电路132和控制单元120提供逻辑行地址raddl,并且向列地址锁存器136提供列地址col_addr。
43.控制单元120可以接收逻辑行地址raddl并且生成与存储装置100的操作相关联的各种控制信号。例如,逻辑行地址raddl可以是指示执行刷新操作或执行数据访问操作的目标行的地址。
44.地址转换电路132将逻辑行地址raddl转换成与存储体存储阵列110的存储单元行相关联的物理行地址raddp,并且将其提供给行地址复用器140。地址转换电路132可以包括
使存储体存储阵列110的每个存储单元行的逻辑行地址raddl和相应的物理行地址raddp相关联的地址映射表。因此地址映射表可以用于将逻辑行地址raddl转换成相应的物理行地址raddp。
45.存储体控制逻辑134可以响应于存储体地址bank_addr而生成存储体控制信号。响应于存储体控制信号,可以激活来自存储体行译码器160当中的与存储体地址bank_addr相对应的特定存储体行译码器,并且也可以激活来自存储体列译码器170当中的与存储体地址bank_addr相对应的存储体列译码器。
46.行地址复用器140可以从地址转换电路132接收物理行地址raddp,并且可以从刷新控制电路150接收刷新行地址ref_addr。在一些实施例中,行地址复用器140可以响应于刷新信号refa而选择性地输出物理行地址raddp或刷新行地址ref_addr。可以响应于刷新命令而生成刷新信号refa。替换地,可以依照存储装置100的自操作在内部生成刷新信号refa。作为示例,刷新信号refa可以是由控制单元120响应于刷新命令ref cmd和逻辑行地址raddl而生成的信号,或由控制单元120响应于逻辑行地址raddl根据所限定的条件通过自操作生成的信号。
47.作为依照刷新信号refa执行刷新操作的一部分,刷新控制电路150可以输出目标行地址ref_addr。
48.因此,可以将由行地址复用器140提供的行地址应用于存储体行译码器160中的每一个存储体行译码器。存储体行译码器160当中的由存储体控制逻辑134激活的存储体行译码器可以对从行地址复用器140输出的行地址进行译码以输出与行地址相对应的字线。例如,被激活的存储体行译码器可以对与行地址相对应的字线施加字线驱动电压。
49.存储装置100可以依照刷新信号refa在低单元中执行刷新操作。在此上下文中,术语“刷新操作”表示读取存储在与刷新行地址ref_addr相关联的存储单元中的信息并且该信息此后可以被恢复(或再充电)的操作。
50.列地址锁存器136可以从地址寄存器130接收列地址col_addr并且暂时存储列地址col_addr。此外,列地址锁存器136可以在突发模式下逐渐增加列地址col_addr。列地址锁存器136可以将暂时存储的或逐渐增加的列地址col_addr应用于存储体列译码器170中的每一个存储体列译码器。
51.在存储体列译码器170当中,由存储体控制逻辑134激活的存储体列译码器可以通过i/o门控电路190激活与存储体地址bank_addr和列地址col_addr相对应的读出放大器。
52.在一些实施例中,状态监测器210可以监测存储体存储阵列110的存储单元的行特定状态信息(row-specific status information)。也就是说,能够监测来自被激活的存储体的字线当中的被驱动(或被激活)字线的存储单元的状态信息。在一些实施例中,当每条字线被激活时,状态监测器210可以对针对每条字线的激活的次数(或频率)进行计数(例如,递增)。替换地或附加地,在一些实施例中,状态监测器210可以监测取决于存储装置的操作而影响存储在存储单元中的数据的可靠性的各种类型的环境信息作为状态信息。例如,所谓的“行锤计数(row hammer count)”(r/h计数)可以作为包括在状态信息中的环境信息被包括。
53.在一些实施例中,状态监测器210可以实时地监测存储单元的行特定状态信息,并且将所得的状态信息存储在状态寄存器220中。在这方面,状态监测器210可以经由数据i/o
缓冲器195提供来自状态寄存器220的目标行的存储单元和/或相邻行的存储单元的状态信息。例如,在存储装置100接收到刷新命令并且存储装置在内部执行刷新命令的同时,状态监测器210可以控制状态寄存器220经由数据总线(dq总线)提供存储在状态寄存器220中的状态信息。在此周期期间,可以提供与执行刷新命令的目标行相关联的特定行状态信息和/或可以提供与一个或更多个相邻行相关联的特定行状态信息。这里,可以通过预设控制数据来定义(一个或更多个)相邻行的数目和/或(一个或更多个)相邻行与目标行之间的(一个或更多个)物理关系。
54.在一些实施例中,状态寄存器220可以在状态监测器210的控制下存储并输出与存储体存储阵列110的存储单元相关联的状态信息。也就是说,状态寄存器220可以在状态监测器210的控制下存储与在操作期间由行地址指示的字线(例如,在存储体存储阵列110中由存储体行译码器160驱动的字线)相关联的存储单元的状态信息。在这方面,行地址可以由行地址复用器140输出。在一些实施例中,当行地址是来自地址转换电路132的物理行地址raddp时,状态寄存器220可以在状态监测器210的控制下存储与行地址(目标行)相关联的存储单元的状态信息以及与(一个或更多个)相邻行相关联的存储单元的状态信息。
55.在一些实施例中,当行地址是来自刷新控制电路150的刷新行地址ref_addr时,状态寄存器220可以在状态监测器210的控制下向数据i/o缓冲器195输出存储在状态寄存器220中的与一个或更多个相邻行地址以及刷新行地址ref_addr(目标行)相关联的存储单元的状态信息。
56.状态信息可以包括各种类型的信息,诸如取决于存储装置的操作而可能影响存储在存储单元中的数据的可靠性的环境信息。在一些实施例中,状态信息包括以下各项中的至少一种:激活计数数目、行锤水平(row hammer level)(或rh水平)、位错误计数数目。
57.此外在这方面,当在存储体存储阵列110中重复地激活目标行时,受到所谓的“行锤现象”影响的一个或更多个相邻行的存储单元可能遭受非故意的位翻转。因此,存储控制器20可以请求状态信息以便准确地预测行锤现象发生的可能性。
58.在一些实施例中,与目标行(或相邻行)的激活计数的最大数目相比,可以关于激活计数的当前数目计算行锤水平。例如,在一些实施例中,每次对存储体存储阵列110执行激活时,存储装置100可以更新针对每行的激活命令的数目。使用所计数的激活命令的数目,可以计算行锤水平,并且存储装置100可以将所计算的行锤水平存储在状态寄存器220中。
59.i/o门控电路190可以包括输入数据屏蔽逻辑、存储从存储体存储阵列110输出的数据的读取数据锁存器和将数据写入到存储体存储阵列110的写入驱动器以及用于门控i/o数据的电路。
60.从存储体存储阵列110当中的至少一个存储体阵列读取的读取数据dq可以由与至少一个存储体阵列相对应的读出放大器检测并且存储在读取数据锁存器中。可以将存储在读取数据锁存器中的读取数据dq经由数据i/o缓冲器195提供给存储控制器20。
61.可以从存储控制器20向数据i/o缓冲器195提供写入到存储体存储阵列110当中的至少一个存储体阵列的写入数据dq。可以将提供给数据i/o缓冲器195的写入数据dq经由写入驱动器写入到该至少一个存储体阵列。这里,可以以与操作的突发模式(例如,16位突发模式)相关联的所限定的突发为单位发送和/或接收经由数据i/o缓冲器195传送的读取数
据和/或写入数据。
62.图3是在另一示例中图示根据本发明构思的实施例的图1a或图1b的存储装置100的框图,并且图4是在一个示例中进一步图示图3的控制单元120的框图。这里,所图示的图3的实施例与图2的实施例的实质上差异在于状态寄存器220被省略,并且状态监测器210的操作与控制单元120更直接相关。因此,可以将存储体存储阵列110的存储单元的状态信息存储在控制单元120中。
63.在一些实施例中,状态监测器210可以监测存储体存储阵列110的每个存储体中的存储单元的行特定状态信息。也就是说,能够监测来自与存储体存储阵列110的存储体当中的被激活的存储体相关联的字线当中的被驱动字线的状态信息。
64.在一些实施例中,状态监测器210可以针对字线当中的字线的每次激活更新激活计数的数目(或频率)。替换地或附加地,状态监测器210可以监测可能影响存储在存储单元中的数据的可靠性的环境信息作为状态信息。例如,行锤(r/h)计数可以作为状态信息被包括。
65.在像图4所示的实施例一样的一些实施例中,控制单元120可以包括能够对从存储控制器20接收到的命令cmd进行译码的命令译码器121、以及能够设置存储装置100的操作模式的模式寄存器122。例如,命令译码器121可以对写入使能信号(/we)、行地址选通信号(/ras)、列地址选通信号(/cas)、芯片选择信号(/cs)等进行译码以生成与命令cmd相对应的控制信号。此外,控制单元120还可以接收用于以同步方式驱动存储装置100的时钟信号clk和时钟使能信号(/cke)。
66.在一些实施例中,当存储装置100从主机1接收到刷新命令时,控制单元120可以响应于逻辑行地址raddl向存储体行译码器160传送用于以刷新电压驱动目标行的刷新信号refa。
67.模式寄存器122可以存储控制存储装置100的各种操作模式所必需的各种设置值。在这方面,在由jedec发布的公开可以获得的技术标准(例如ddr5 sdram标准)中描述了各种模式寄存器。此外在这方面,模式寄存器122可以由继jesd79-5之后的一个或更多个技术标准定义。
68.模式寄存器122可以以各种方式存储存储体存储阵列110的存储单元的行特定状态信息。例如,在存储装置100正在一种或更多种模式下操作的同时,模式寄存器122可以存储由状态监测器210监测的存储单元的行特定状态信息。如上面指出的,状态信息可以包括各种类型的信息,诸如取决于存储装置100的操作可能影响存储在存储单元中的数据的可靠性的环境信息。因此,在一些实施例中,状态信息可以包括激活计数的数目、行锤水平(或rh水平)、位错误计数的数目等中的至少一种。
69.在一些实施例中,模式寄存器122可以响应于模式寄存器读取(mrr)命令而根据与目标行和/或相邻行相关联的一个或更多个逻辑行地址raddl向数据i/o缓冲器190提供状态信息。可以关于(1)来自存储控制器20的刷新命令、(2)来自存储控制器20的单独请求、(3)在状态监测器210的控制下来自存储控制器20的周期性或非周期性命令等发出mrr命令。
70.替换地或附加地,状态信息可以被存储在由控制单元120访问的单独寄存器(未示出)中。在这种情况下,可以响应于针对单独寄存器的读取命令而通过数据i/o缓冲器195提
供状态信息。可以关于(1)来自存储控制器20的刷新命令、(2)来自存储控制器20的单独请求、(3)在状态监测器210的控制下来自存储控制器20的周期性或非周期性命令等发出单独寄存器读取命令。
71.图5和图6是图示根据本发明构思的实施例的存储装置100的操作的相应的定时图。
72.参考图5,存储装置100可以在刷新操作周期trfc期间对存储体存储阵列110执行刷新操作。这里,假定了刷新操作根据刷新操作周期trfc期间的刷新操作循环(例如,行刷新循环时间)刷新由单个刷新命令ref cmd指示的所有行。刷新操作周期trfc是足以对于任何行避免数据丢失的相邻刷新循环之间的时间。刷新操作可以刷新响应于刷新命令而被刷新的行中的至少一行(例如,目标行)。
73.当存储装置100接收到刷新命令ref cmd时,它可以通过dq总线dq[15:0]输出“刷新操作的目标行”(即,通过刷新操作正在被刷新的行)和“刷新操作的相邻行”(即,与目标行相邻或接近的行)的状态信息。此时,可以响应于刷新命令而在刷新操作周期trfc内将状态信息输出到存储控制器20。
[0074]
在一些实施例中,状态信息可以由存储装置100实时地监测和存储。也就是说,当存储装置100接收到刷新命令时,存储装置100可以通过dq总线输出与目标行和相邻行两者相关联的状态信息。在这方面,状态信息可以由状态监测器210实时地监测,并且当接收到刷新命令或单独请求时,可以在状态监测器210的控制下通过dq总线输出状态信息。状态信息可以被存储在状态寄存器220中、在控制逻辑120的模式寄存器122中或在单独寄存器(未示出)中。
[0075]
在一些实施例中,状态信息可以包括存储单元的行特定行锤水平和位错误水平(bit error level)中的至少一种。状态信息可以包括至少一个或更多个位,并且当被输出到dq总线时,取决于dq总线大小,一些位可以被零填充或者可以被随机位填充。例如,假定16位的突发dq总线大小并且可以在没有单独请求的情况下提供状态信息,那么除状态信息之外的剩余位部分可以被零填充或者用随机位填充。在一些特定示例中,行锤水平2位、位错误水平2位,那么剩余12位可以被零填充或随机位填充。替换地,再次假定16位的突发dq总线大小,可以提供仅由主机请求的请求类型的状态信息,那么剩余部分可以被零填充或随机位填充。例如,行锤水平2位,那么剩余14位可以被零填充或随机位填充。
[0076]
参考图3、图4和图6,当状态信息被存储在模式寄存器中时,模式寄存器122可以在存储装置100正在操作的同时实时地存储存储单元的每行的状态信息。
[0077]
当控制单元120接收到刷新命令ref cmd时,控制单元120可以在内部输出模式寄存器读取命令mrr cmd,并且模式寄存器122可以根据mrr命令将存储在模式寄存器122中的状态信息输出到存储控制器20。例如,可以在jedec ddr5 sdram标准中定义mrr命令。
[0078]
在一些实施例中,模式寄存器122可以输出与目标行相邻的行的状态信息dq[15:0]。在一些实施例中,模式寄存器122可以输出至少来自各种状态信息类型当中的由主机请求的请求类型的状态信息。
[0079]
图7是在又一示例中进一步图示根据本发明构思的实施例的图1a或图1b的存储装置100的框图。为了说明的方便,将突出仅与图2所图示的实施例的实质差异。
[0080]
图7的存储装置100还可以包括错误检测器300。错误检测器300可以检测在读取操
作期间从存储体存储阵列110中检索并由数据i/o缓冲器195输出的读取数据中的(一个或更多个)错误。
[0081]
在一些实施例中,当在读取数据中发生了单个位错误时,错误检测器300可以检测并校正该错误。错误检测器还可以对已发生了错误的码字的数目进行计数,然后向状态监测器210提供所计数的(错误)码字的数目。状态监测器210可以将所计数的码字的数目作为位错误的数目存储在状态寄存器220中。
[0082]
位错误的数目可以是存储体存储阵列110的激活行的页面数据的错误位的数目。替换地或附加地,位错误的数目可以是存储体存储阵列110的激活行的每个存储单元中的数据的错误位的数目。存储装置100可以对从存储体存储阵列110中检索到的读取数据执行错误检测,然后可以在作为错误检测的结果发生单个位错误时执行错误校正。存储装置100可以对错误校正的码字的数目进行计数,计算位错误水平,并且将其存储在状态寄存器220中。在一些实施例中,错误检测器300可以响应于由状态监测器210提供的控制信号con而将与码字的数目相对应的错误位水平(er)传送到状态寄存器220。在这种情况下,状态寄存器220可以将错误位水平存储为状态信息。
[0083]
替换地或附加地,当错误检测器300响应于由状态监测器210提供的控制信号con而向状态寄存器220传送码字的数目(或位错误计数er的数目)时,状态寄存器220也可以将与码字的数目(er)相对应的错误位水平存储为状态信息。例如,状态寄存器220可以根据限定的标准来将行锤水平或位错误水平计算并存储为比率。将此后关于图9、图10和图11描述此方法的示例。
[0084]
图8是图示根据本发明构思的实施例的用于操作存储装置的方法的流程图。
[0085]
参考图1、图2、图3、图7和图8,在存储装置100的操作(s10)期间,可以监测存储单元的状态(s20)。存储装置100的激活和/或存储单元的监测可以由通过存储控制器20发出的(一个或更多个)命令产生或者由存储装置100的自操作产生。由存储单元的监测产生的状态信息可以被存储在状态寄存器220中、在模式寄存器中和/或在单独寄存器中。
[0086]
当存储装置100接收到刷新命令(s30)时,它对刷新命令进行译码,提取目标行,并且对目标行执行刷新操作(s40)。此外,存储装置100可以从状态寄存器220读取在刷新操作期间存储的状态信息(s50)。因此,状态信息的读取可以响应于从存储控制器20接收到的刷新命令、响应于从存储控制器20接收到的寄存器读取命令或者响应于存储装置100的自操作而发生。这里,状态信息可以包括目标行和/或一个或更多个相邻行的状态信息,其中可以根据状态信息确定(一个或更多个)相邻行的数目(或范围)。
[0087]
存储装置100然后将状态信息输出到存储控制器20(s60)。
[0088]
图9是在一个示例中图示根据本发明构思的实施例的在图8的方法中监测存储单元的状态的步骤(s20)的流程图。
[0089]
这里,假定了状态信息包括可能影响存储在存储单元中的数据的可靠性的信息,诸如行锤水平和/或位错误水平。
[0090]
参考图1、图2、图3、图7、图8和图9,存储装置100可以在对存储单元阵列执行激活时对针对每行的激活命令的数目进行计数(s21)。例如,状态监测器210可以对激活命令的数目进行计数。存储装置100可以将所计数的激活命令的数目存储(s23)在状态寄存器220、模式寄存器和单独寄存器中的至少一者中,并且可以基于所存储的激活命令的数目计算行
锤水平(s25)。存储装置100可以将所计算出的行锤水平rh存储在状态寄存器220中。
[0091]
在一些实施例中,存储装置100可以每次从存储体存储阵列110读取数据时检测(一个或更多个)数据错误以便确定是否已发生了单个位错误(s21)。当发生了单个位错误时,存储装置100可以执行错误校正操作,然后对错误校正后的码字的数目进行计数和存储(s23)。可以例如使用以硬件和/或软件实现的错误检测器来执行步骤s21和s23。存储装置100可以基于所存储的码字的数目来计算位错误水平(s25),并且将其例如存储在状态寄存器220、模式寄存器或单独寄存器中的一者中。
[0092]
图10是图示根据本发明构思的实施例的操作存储系统的方法的流程图。图11是列举了针对依照状态信息的刷新操作的选项的表。图12和图13是图示由存储装置100依照图10的方法执行刷新操作的相应的概念图。
[0093]
参考图1、图2、图3、图7和图10,当主机1接收到状态信息(例如,响应于图8所图示的方法的步骤s60)(s100)时,存储控制器20可以检查状态信息(s101),然后响应于状态信息而发出特定命令以便对存储装置100进行控制。
[0094]
在一些实施例中,存储控制器20可以响应于对状态信息的检查(s101

th
rh
)而向存储装置100输出针对相邻行的存储单元的刷新命令(s102)。
[0095]
存储装置100可以将状态信息存储为以根据给定行锤(rh)阈值标度(或标准)th
rh
的比率计算和映射的至少两个或更多个位值。参考图11,行锤水平的范围可以被划分成四个部分并映射到两个位。例如,可以根据四个阈值水平th
rh
(例如,0%、25%、50%和75%)来划分行锤水平。作为示例,针对特定行地址,存储装置100可以将行锤水平计算为激活计数的当前数目与可激活计数的最大数目的比率。当比率为0%时,存储装置100可以将状态信息存储(或映射)为00。当比率介于0%与25%之间时,可以将状态信息映射为01。当比率介于25%与50%之间时,可以将状态信息映射为10,而当比率介于50%与75%之间时,可以将状态信息映射为11。一旦被映射,这些值就可以被输出到存储控制器20。
[0096]
存储控制器20可以基于行锤水平的值控制存储装置100。例如,当从存储装置接收到的行锤水平为10时,存储控制器20可以向存储装置输出刷新命令以对相邻行(例如,行(n
±
1),给定目标行n)执行刷新操作。当行锤水平为11时,存储控制器20可以向存储装置输出刷新命令以对至少两个相邻行(例如,行(n
±
1)和行(n
±
2))执行刷新操作。也就是说,能够依照行锤水平控制(一个或更多个)相邻行的适当范围。
[0097]
参考图10并且基于对状态信息的检查(s101

th
rhr
),存储控制器20可以将状态信息与预设取代阈值th
rhr
进行比较。也就是说,存储控制器20可以确定特定行(例如,目标行或相邻行)是否超过取代阈值,并且将超过取代阈值的特定行确定为替换目标行。此后,存储控制器20可以用冗余行的存储单元替换替换目标行的存储单元(s103)。将此后关于图12和图13描述用冗余行替换的可能方法。
[0098]
参考图12,如果状态信息满足建立的替换条件(例如,大于或等于第一取代阈值th
rhrl
),则存储装置100可以转移存储体存储阵列110中的替换目标行的数据。也就是说,可以替换目标行(行n)或相邻行(行n
±
k)。此后,由存储装置100转移的数据可以在冗余行的存储单元中操作。可以将经转移的冗余行放置在与存储体存储阵列110的正常区域内的被替换行(例如,行n或行n
±
k)的原始位置间隔开(例如,至少5行)的行处。这里,术语“正常区域”是指与不可以被直接访问的(一个或更多个)虚设区域相比存储体存储阵列110的可以
被访问的区域。
[0099]
替换地,参考图13,存储体存储阵列110可以包括在正常区域111外部的冗余行将被转移到的备用区域115。这里,备用区域可以包括虚设区域等,并且可以被称为冗余区域。
[0100]
在前面的实施例中,存储装置100可以在将数据转移到冗余行的同时持续地监测状态信息。如果更新后的状态信息满足返回条件(例如,小于第二取代阈值th
rhr2
),则可以将数据从冗余行返回到其原始位置(即,作为替换目标的行)。在这方面,第二取代阈值可以具有小于第一取代阈值的值(th
rhr2
《th
rhr1
)。
[0101]
在所图示的图11、图12和图13的实施例中,存储控制器20允许存储装置100更新某些数据的映射地址信息(例如,物理行地址与逻辑行地址之间的映射信息),直到存储装置100将数据转移到冗余行(图12和图13中的操作1)并且将数据返回到作为替换目标的行(图12和图13中的操作2)为止。
[0102]
图14是图示根据本发明构思的实施例的用于操作存储系统的方法的流程图。图15是列举了针对由存储装置响应于第二状态信息而执行的刷新操作的条件的表。
[0103]
参考图1、图2、图3、图7和图14,当主机1接收到状态信息(s100)时,主机可以基于检查状态信息(s110)向存储装置输出数据清理命令(s111)。可以根据各种错误水平阈值如图15所示执行清理命令。
[0104]
在这方面,存储装置100可以将状态信息存储为以根据给定范围的错误水平阈值(或标准)the的比率计算和映射的至少两个或更多个位值。参考图14和图15,检测到的位错误水平可以被划分成四个部分并映射到两个位。例如,位错误水平可以被划分成四个标准the(例如,0%、25%、50%和75%)。作为示例,存储装置100可以将位错误水平计算为已校正了错误的码字的数目与数据位的总数的比率。当检测到的位错误水平为0%时,存储装置可以将状态信息存储为00,当位错误水平介于0%与25%之间时,可以将状态信息映射为01,当位错误水平介于25%与50%之间时,可以将状态信息映射为10,而当位错误水平介于50%与75%之间时,可以将状态信息映射为11。一旦被映射,位错误水平就可以被输出到存储控制器20。
[0105]
存储控制器20可以基于位错误水平控制存储装置100。例如,当从存储装置10接收到的位错误水平为10时,存储控制器20可以向存储装置10输出清理命令以对目标行和/或相邻行执行清理操作。例如,当所接收到的位错误水平为11时,存储控制器20可以向存储装置100输出清理命令以对包括目标行的存储体执行清理操作。也就是说,能够关于位错误水平的值扩展清理操作的范围。
[0106]
图16是图示包括根据本发明构思的实施例的存储装置的系统1000的框图。
[0107]
这里,系统1000可以是移动系统,诸如移动电话、智能电话、平板pc(平板个人计算机)、可穿戴设备、医疗保健设备、iot(物联网)设备、个人计算机、膝上型计算机、服务器、媒体播放器、车载装置、导航设备等。
[0108]
参考图16,系统1000可以包括主处理器1100、存储器1200a和1200b、以及存储设备(storage device)1300a、1300b,并且可以附加地包括以下各项中的一个或更多个:图像捕获装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、供电装置1470和连接接口1480。
[0109]
主处理器1100可以控制系统1000的总体操作,更具体地,组成系统1000的其他组
件的操作。这样的主处理器1100可以被实现为通用处理器、专用处理器、应用处理器等。
[0110]
主处理器1100可以包括一个或更多个cpu核心1110,并且还可以包括用于控制存储器1200a和1200b和/或存储设备1300a和1300b的控制器1120。取决于实施例,主处理器1100还可以包括加速器块1130,其是用于诸如ai(人工智能)数据计算的高速数据计算的专用电路。这样的加速器块1130可以包括gpu(图形处理单元)、npu(神经处理单元)和/或dpu(数据处理单元)等,并且可以被实现为物理上独立于主处理器1100的其他组件的单独芯片。
[0111]
存储器1200a和1200b可以被用作系统1000的主存储单元,并且可以包括诸如sram和/或dram的易失性存储器,但是还可以包括诸如闪速存储器、pram和/或rram的非易失性存储器。当存储器1200a和1200b是易失性存储器时,它们可以被实现为关于本发明构思的前述实施例不同地描述的存储装置100。在一些实施例中,还可以在与主处理器1100相同的封装件中实现存储器1200a和1200b。
[0112]
存储设备1300a和1300b可以充当用于不管是否供电都存储数据的非易失性存储设备,并且可以具有比存储器1200a和1200b相对更大的容量。存储设备1300a和1300b可以包括存储控制器1310a和1310b以及在存储控制器1310a和1310b的控制下存储数据的非易失性存储器(nvm)1320a和1320b。非易失性存储器1320a和1320b可以包括2d(2维)结构或3d(3维)结构的v-nand闪速存储器,但是还可以包括诸如pram和/或rram的其他类型的非易失性存储器。
[0113]
存储设备1300a和1300b可以在与主处理器1100物理上分离的状态下被包括在系统1000中,并且可以被实现在与主处理器1100相同的封装件中。此外,由于存储设备1300a和1300b具有诸如ssd(固态硬盘)或存储卡的形状,所以存储设备1300a和1300b还可以通过诸如将在下面描述的连接接口1480的接口与系统1000的其他组件可拆卸地耦接。此类存储设备1300a和1300b可以是但不一定限于应用了诸如ufs(通用闪存)、emmc(嵌入式多媒体卡)或nvme(非易失性存储器快速)的标准协议的设备。
[0114]
图像捕获装置1410可以捕获静止图像或运动图像,并且可以是相机、视频相机(摄像机)和/或网络摄像头等。
[0115]
用户输入装置1420可以从系统1000的用户接收各种类型的数据输入,并且可以是触摸板、键区、键盘、鼠标和/或麦克风。
[0116]
传感器1430可以检测可以从系统1000的外部获取的各种类型的物理量,并且将所检测到的物理量转换成电信号。这样的传感器1430可以是温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪。
[0117]
通信装置1440可以根据各种通信协议向系统1000外部的其他装置发送信号并且从系统1000外部的其他装置接收信号。可以通过包括天线、收发器和/或调制解调器等来实现这样的通信装置1440。
[0118]
显示器1450和扬声器1460可以分别充当向系统1000的用户输出视觉信息和听觉信息的输出装置。
[0119]
供电装置1470可以适当地转换从系统1000中配备的电池(未示出)和/或外部电源供应的电力并且将电力供应给系统1000的每个组件。
[0120]
连接接口1480可以提供系统1000与外部装置之间的连接,所述外部装置可以连接
到系统1000以向系统1000发送数据并且从系统1000接收数据。连接接口1480可以通过诸如以下各项的各种接口类型来实现:ata(高级技术附件)、sata(串行ata)、e-sata(外部sata)、scsi(小型计算机系统接口)、sas(串行连接scsi)、pci(外围组件互连)、pcie(pci快速)、nvme(nvm快速)、ieee 1394、usb(通用串行总线)、sd(安全数字)卡、mmc(多媒体卡)、emmc(嵌入式多媒体卡)、ufs(通用闪存)、eufs(嵌入式通用闪存)和cf(紧凑型闪存)卡接口。
[0121]
图17是图示包括根据本发明构思的实施例的存储设备的数据中心3000的框图。
[0122]
这里,数据中心3000可以是收集各种类型的数据并且提供服务的设施,并且可以被称作数据存储中心。数据中心3000可以是用于数据库操作的搜索引擎和系统,并且可以是由诸如银行或政府机构的企业使用的计算系统。数据中心3000可以包括应用服务器3100至3100n和存储服务器3200至3200m。可以取决于实施例而不同地选择应用服务器3100至3100n的数目和存储服务器3200至3200m的数目,并且应用服务器3100至3100n的数目和存储服务器3200至3200m的数目可以彼此不同。
[0123]
应用服务器3100或存储服务器3200可以包括处理器3110和3210以及存储器3120和3220中的至少一者。以存储服务器3200为例,处理器3210可以控制存储服务器3200的整体操作,并且访问存储器3220以执行加载到存储器3220中的命令语言和/或数据。存储器3220可以是ddr sdram(双倍数据速率同步dram)、hbm(高带宽存储器)、hmc(混合存储器立方体)、dimm(双列直插式存储器模块)、傲腾dimm或nvmdimm(非易失性dimm)。取决于实施例,当存储器3120或3220是易失性存储器时,可以依照本发明构思的前面的实施例实现它们。
[0124]
取决于实施例,可以不同地选择包括在存储服务器3200中的处理器3210的数目和存储器3220的数目。在实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在实施例中,处理器3210的数目和存储器3220的数目可以彼此不同。处理器3210可以包括单核心处理器或多核心处理器。对存储服务器3200的前述说明还可以被类似地应用于应用服务器3100。取决于实施例,应用服务器3100可以不包括存储设备3150。存储服务器3200可以包括至少一个或更多个存储设备3250。可以取决于实施例而不同地选择包括在存储服务器3200中的存储设备3250的数目。
[0125]
应用服务器3100至3100n和存储服务器3200至3200m可以通过网络3300彼此通信。网络3300可以使用fc(光纤通道)、以太网等来实现。此时,fc是用于相对高速数据转移的介质,并且可以使用提供高性能/高可用性的光开关。取决于网络3300的访问类型,可以将存储服务器3200至3200m作为文件存储装置、块存储装置或对象存储装置提供。
[0126]
在示例中,网络3300可以是诸如san(存储区域网络)的仅存储网络。例如,san可以是使用fc网络并且根据fcp(fc协议)实现的fc-san。在另一实施例中,san可以是使用tcp/ip网络并且根据iscsi(tcp/ip上的scsi或因特网scsi)协议实现的ip-san。在另一实施例中,网络3300可以是诸如tcp/ip网络的一般网络。例如,可以根据诸如fcoe(以太网上的fc)、nas(网络附连存储)和nvme-of(结构上的nvme)的协议来实现网络3300。
[0127]
在下文中,将主要描述应用服务器3100和存储服务器3200。对应用服务器3100的说明还可以被应用于另一应用服务器3100n,并且对存储服务器3200的说明还可以被应用于另一存储服务器3200m。
[0128]
应用服务器3100可以通过网络3300将用户或客户端请求存储的数据存储在存储服务器3200至3200m中的一者中。此外,应用服务器3100可以通过网络3300从存储服务器3200至3200m中的一者获取用户或客户端请求读取的数据。例如,应用服务器3100可以由web服务器或dbms(数据库管理系统)实现。
[0129]
应用服务器3100可以通过网络3300访问包括在另一应用服务器3100n中的存储器3120n或存储设备3150n,或者可以通过网络3300访问包括在存储服务器3200至3200m中的存储器3220至3220m或存储设备3250至3250m。因此,应用服务器3100可以对存储在应用服务器3100至3100n和/或存储服务器3200至3200m中的数据执行各种操作。例如,应用服务器3100可以执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的命令。此时,数据可以经由存储服务器3200至3200m的存储器3220至3220m被从存储服务器3200至3200m的存储设备3250至3250m移动,或者可以被直接移动到应用服务器3100至3100n的存储器3120至3120n。通过网络3300移动的数据可以是为了安全性和隐私而加密的数据。
[0130]
以存储服务器3200为例,接口3254可以提供处理器3210与控制器(ctrl)3251之间的物理连接以及nic 3240与控制器3251之间的物理连接。例如,接口3254可以通过存储设备3250与专用电缆直接连接的das(直接附加存储)类型来实现。此外,例如,接口3254可以通过诸如以下各项的各种接口类型来实现:ata(高级技术附件)、sata(串行ata)、e-sata(外部sata)、scsi(小型计算机系统接口)、sas(串行连接scsi)、pci(外围组件互连)、pcie(pci快速)、nvme(nvm快速)、ieee 1394、usb(通用串行总线)、sd(安全数字)卡、mmc(多媒体卡)、emmc(嵌入式多媒体卡)、ufs(通用闪存)、eufs(嵌入式通用闪存)和cf(紧凑型闪存)卡接口。
[0131]
存储服务器3200还可以包括交换机3230和nic 3240。交换机3230可以选择性地连接处理器3210和存储设备3250,或者可以根据处理器3210的控制选择性地连接nic 3240和存储设备3250。
[0132]
在实施例中,nic 3240可以包括网络接口卡、网络适配器等。nic 3240可以通过有线接口、无线接口、蓝牙接口、光接口等连接到网络3300。nic3240可以包括内部存储器、dsp、主机总线接口等,并且可以通过主机总线接口连接到处理器3210和/或交换机3230等。主机总线接口也可以被实现为上述接口3254的示例之一。在实施例中,nic 3240还可以与处理器3210、交换机3230和存储设备3250中的至少一者集成在一起。
[0133]
在存储服务器3200至3200m或应用服务器3100至3100n中,处理器3110和3210可以向存储设备3130至3130n和3250至3250m或存储器3120至3120和320m至3220发送命令以对数据进行编程或读取。此时,数据可以是通过ecc(纠错码)引擎校正了错误的数据。数据是经受数据总线反转(dbi)或数据屏蔽(data masking,dm)处理的数据,并且可以包括crc(循环冗余码)信息。数据可以是为了安全和隐私而加密的数据。
[0134]
存储设备3150至3150m和3250至3250m可以响应于从处理器接收到的读取命令而向nand闪存3252至3252m发送控制信号和命令/地址信号。因此,当从nand闪存3252至3252m读取数据时,re(读取使能)信号作为数据输出控制信号被输入,并且可以用来将数据输出到dq总线。可以使用re信号来生成dqs(数据选通)信号。取决于we(写入使能)信号的上升沿或下降沿,命令和地址信号可以被锁存到页面缓冲器。
[0135]
控制器3251通常可以控制存储设备3250的操作。在实施例中,控制器3251可以包括sram(静态随机存取存储器)。控制器3251可以响应于写入命令而在nand闪存3252中写入数据,或者可以响应于读取命令而从nand闪存3252读取数据。例如,可以从存储服务器3200中的处理器3210、另一存储服务器3200m中的处理器3210m、或应用服务器3100和3100n中的处理器3110至3110n提供写入命令和/或读取命令。dram 3253可以暂时存储(缓冲)要写入在nand闪存3252中入的数据或从nand闪存3252读取的数据。另外,dram 3253可以存储元数据。这里,元数据是用户数据或由控制器3251生成来管理nand闪存3252的数据。取决于实施例,dram 3253可以是图1至图15中描述的存储装置。存储设备3250可以包括用于安全性和隐私的se(安全元件)。
[0136]
本领域的技术人员将领会,在实质上不脱离本发明构思的范围的情况下,可以对前面的实施例做出许多变化和修改。因此,所图示的实施例在被呈现以教导本发明构思的制作和使用的性质上是说明性的。
再多了解一些

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

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

相关文献