主机系统和包括主机系统的计算系统的制作方法

文档序号:23800943发布日期:2021-02-02 13:21阅读:99来源:国知局
主机系统和包括主机系统的计算系统的制作方法
主机系统和包括主机系统的计算系统
[0001]
相关申请的交叉引用
[0002]
本申请要求于2019年7月31日提交的申请号为10-2019-0093267的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
[0003]
本公开的示例性实施例涉及一种包括存储器系统的主机系统以及包括该存储器系统和该主机系统的计算系统。


背景技术:

[0004]
计算机环境范例已经转变成使计算系统能够随时随地使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
[0005]
因为存储器系统不具有移动部件,所以它们具有诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。具有这些优点的存储器系统的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡以及固态驱动器(ssd)。


技术实现要素:

[0006]
本发明的实施例涉及一种计算系统,其中由于主机系统控制存储器系统的修复,提高了存储器系统的寿命和可靠性。
[0007]
根据本发明的实施例,一种计算系统,包括:存储器系统,包括冗余存储器区域,并且适用于对每个存储器位置中发生的错误的数量进行计数;以及主机系统,适用于基于每个存储器位置中发生的错误的数量来检测缺陷存储器位置,并基于主机系统与存储器系统之间正在处理的当前数据量,控制缺陷存储器位置的修复操作,其中存储器系统使用冗余存储器区域来修复缺陷存储器位置。
[0008]
根据本发明的另一实施例,一种主机系统,该主机系统控制存储器系统,该主机系统包括:检测器,适用于基于存储器系统的每个存储器位置中发生的错误数量来检测缺陷存储器位置;通信量监控器,适用于监控主机系统和存储器系统之间正在处理的当前数据量;以及修复控制器,适用于基于正在处理的当前数据量来控制缺陷存储器位置的修复操作。
附图说明
[0009]
图1是示意性地示出根据本公开的实施例的计算系统的结构的框图。
[0010]
图2是示出根据本公开的实施例的计算系统的结构的框图。
[0011]
图3是示出图2所示的存储库的框图。
[0012]
图4a至图6b是示出根据本公开的实施例的计算系统的操作的流程图。
具体实施方式
[0013]
下面将参照附图更详细地描述本公开的示例性实施例。然而,实施例可以以不同的形式实施,并且不应被解释为限于本文所阐述的实施例。相反,提供这些实施例是为了使本公开是彻底的和完整的,并且将向本领域技术人员充分传达本发明的范围。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
[0014]
在下文中,将参照附图更详细地描述本公开的实施例。
[0015]
图1是示意性地示出根据本公开的实施例的计算系统100的结构的框图。
[0016]
计算系统100可以包括主机系统110和与主机系统110互操作的存储器系统150。存储器系统150可以由主机系统控制,因此可以被称为从属存储器系统150。
[0017]
主机系统110可以包括至少一个操作系统(os),该操作系统可以管理和控制主机系统110的全部功能和操作,并且使用数据处理系统100或存储器系统150来提供主机系统110和用户之间的操作。os可支持与用户的使用目的和用法相对应的功能和操作。例如,根据主机系统110的移动性,os可被划分为通用os和移动os。根据用户的环境,通用os可以被划分为个人os和企业os。
[0018]
存储器系统150可以在主机系统110的控制下操作。存储器系统150可以存储用于驱动主机系统110的数据,并且响应于主机系统110的请求向主机系统110提供数据。例如,存储器系统150可以包括诸如lpddr4 sdram、lpddr5 sdram、ddr4、ddr5等的随机存取存储器。
[0019]
由于各种原因,存储器系统150中可能会发生错误。例如,由于存储器系统150内的存储器单元自身的缺陷而可能发生错误,或者由于电气原因而可能暂时发生错误。
[0020]
尽管存储器系统150中发生错误,但是存在一些方法为用户提供具有增加的存储器系统150的良品率和高可靠性的存储器系统150。
[0021]
当存储器单元本身有缺陷时,存储器单元中可能发生错误。当相同的存储器位置中连续发生错误时,很难信任存储在存储器系统150中的数据。然而,就存储器系统150的良品率而言,由于有限数量的缺陷存储器单元而丢弃整个存储器系统150可能是低效率的。存储器系统150可以包括冗余存储器单元,并且当在存储器系统150的封装之后执行的测试期间检测到缺陷存储器单元时,可以利用冗余存储器单元来修复缺陷存储器单元。
[0022]
当不是缺陷存储器单元的存储器单元中临时发生错误时,可以通过校正该错误并再次读取数据来修复该存储器单元的错误。存储器系统150可以包括错误校正码电路256以校正错误。存储器系统150可以进一步存储当数据存储在其中时通过执行错误校正编码操作而生成的奇偶校验位。存储器系统150能够通过基于数据和奇偶校验位执行错误校正解码操作来检测并校正数据错误。存储器系统150可以将错误校正后的数据写入存储器单元,并将错误校正后的数据输出到主机系统110。
[0023]
在使用存储器系统150的同时,甚至在测试存储器系统150时不是有缺陷的存储器单元中也可能发生缺陷。如果在主机系统110不知道内部存储器单元是否有缺陷时而使用存储器系统150,则存储器系统150可能会存储错误数据。当存储器系统150存储错误数据并且主机系统110基于错误数据进行操作时,主机系统110中可能发生错误。当主机系统110检测到存储器系统150的存储器单元中的缺陷并且利用存储器系统150的冗余存储器单元修复缺陷存储器单元时,可以防止主机系统110中的错误并且可以延长存储器系统150的寿
命。
[0024]
根据本公开的实施例,存储器系统150可以包括错误校正码电路256和错误计数器258。当错误校正码电路256检测到错误时,错误计数器258可以对每个存储器位置的错误数量进行计数。例如,存储器位置可以对应于存储器单元阵列中包括的一行存储器单元。
[0025]
主机系统110可以包括检测器112、通信量监控器114和修复控制器116。主机系统110可以在预定周期内从存储器系统150获得每个存储器位置中的错误数量。检测器112能够基于每个存储器位置中的错误数量来检测缺陷存储器位置。修复控制器116可以控制存储器系统150以利用冗余存储器位置来修复缺陷存储器位置。
[0026]
同时,在修复操作期间,主机系统110可以最低限度地访问存储器系统150。当存储器系统150在修复操作期间从主机系统110接收到访问命令时,存储器系统150可能无法提供对访问命令的响应,直到修复操作完成。当不使用存储器系统150时,修复控制器116可以控制修复操作。根据本公开的实施例,通信量监控器114可以基于主机系统110和存储器系统150之间的数据处理量来确定当前是否正在使用存储器系统150。在本公开的一些实施例中,当主机系统110被启动时,不使用存储器系统150。
[0027]
根据实施例,主机系统110可以通过检测存储器系统150中的缺陷的发生来确保计算系统100的可靠性。当主机系统110检测到存储器系统150中出现缺陷时,通过控制存储器系统150的缺陷部分的修复操作而不是更换存储器系统150,可以提高存储器系统110的寿命。当不使用存储器系统150时,主机系统110可以通过控制存储器系统150的修复操作来防止由存储器系统150的修复操作而引起的响应延迟。
[0028]
图2是示出根据实施例的计算系统100的结构的框图。
[0029]
如参照图1所描述的,计算系统100可以包括主机系统110和存储器系统150。
[0030]
主机系统110可以包括主机处理器210和接口230。主机处理器210可以控制计算系统100的全部操作。
[0031]
接口230可以支持计算系统100的内部组成元件之间的接口连接。例如,接口230可以是支持主机处理器210和计算系统100的其他组成元件之间的接口连接的芯片组或存储器控制器。接口230可以支持主机处理器210和存储器系统150之间的接口连接。计算系统100可以进一步包括存储系统(未示出),并且接口230可以支持主机处理器210和存储系统之间的接口连接。
[0032]
主机处理器210可以驱动启动加载程序216和操作系统。当向计算系统100供应电力时,主机处理器210可以将存储在存储系统中的启动加载程序216加载到存储器系统150。主机处理器210可以驱动启动加载程序216以完成用于加载操作系统的准备,并将存储在存储系统中的操作系统加载到存储器系统150。
[0033]
主机处理器210可以驱动加载到存储器系统150的操作系统。操作系统可以使用主机处理器210、存储器系统150、提取输入/输出装置的资源的内核层214以及驱动应用程序的应用层212。在实施例中,参照图1描述的检测器112和通信量监控器114可以在内核层214中被驱动。修复控制器116可以在接口230中被驱动,但是不限于此。
[0034]
存储器系统150可以包括控制逻辑252、多个存储库254、错误校正码电路256、错误计数器258以及数据输入/输出单元260。
[0035]
存储库254可以包括用于存储数据的存储器单元阵列和外围电路。参照图3详细描
述存储库254的结构。控制逻辑252可以并行访问存储库254。可并行访问的存储库254可以形成存储器存储列。根据存储器系统150的实施方式,存储器系统150可以包括多个存储器存储列。
[0036]
控制逻辑252可以响应于来自主机系统110的命令来控制存储库254。例如,当控制逻辑252从主机系统110接收命令和地址时,控制逻辑252可以向存储库254提供该命令和地址。控制逻辑252可以响应于来自主机系统110的修复命令和地址,通过将存储器操作定向到冗余存储器单元来修复缺陷存储器位置。
[0037]
错误校正码电路256能够检测并校正存储在存储库254中的数据的错误。错误校正码电路256可以执行错误校正编码操作和错误校正解码操作。例如,错误校正码电路256可以对待存储在存储库254中的数据执行错误校正编码操作,并向数据添加奇偶校验位。控制逻辑252可以将添加有奇偶校验位的数据进行划分并存储到存储库254中。错误校正码电路256可以读取分布式地存储在存储库254中的具有奇偶校验位的数据并对该数据执行错误校正解码操作,以检测和校正读取数据中包括的错误。
[0038]
错误校正码电路256可以通过诸如以下的编码调制执行错误校正操作:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhuri-hocquenghem,bch)码、turbo码、里德-所罗门(reed-solomon)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)和分组编码调制(bcm)。然而,错误校正码电路256不限于任何特定的结构。错误校正码电路256可包括用于错误校正的所有电路、模块、系统或装置。
[0039]
错误计数器258可以对每个存储器位置中的错误数量进行计数。例如,当错误校正码电路256检测到错误时,错误计数器258可以增加与存储库254中检测到错误的位置的地址对应的错误计数值。
[0040]
在实施例中,错误计数器258可以将每个地址的错误数量以列表格式存储在内部存储器空间中。错误计数器258的存储器空间的大小可能不足以存储存储器系统150的所有地址的错误数量。根据实施方式,错误计数器258可以存储存储器系统150的一部分地址的错误数量。例如,错误计数器258可以根据最不常用(lfu)算法向列表添加地址和/或从列表中移除地址。
[0041]
在实施例中,错误计数器258可以向主机系统110提供所请求的数据以及指示是否已校正所请求数据的错误的标志位,而不是将每个地址的错误数量存储在内部存储器中。内核层214可以基于标志位来存储每个地址的错误数量。
[0042]
数据输入/输出单元260可以支持主机系统110和存储器系统150之间的数据输入/输出。
[0043]
通信量监控器114可以监控主机系统110和存储器系统150之间处理的数据量。例如,当正在处理的数据量等于或小于阈值时,通信量监控器114可以确定当前存储器系统150处于空闲状态。
[0044]
检测器112可以检测存储器系统150中的缺陷存储器位置,并将检测到的缺陷存储器位置存储在主机系统110的寄存器中。检测器112可以基于在每个存储器位置中检测到的由存储器系统150计数的错误的数量来检测缺陷存储器位置。例如,检测器112可以周期性地从存储器系统150获取在每个存储器位置中已经发生的错误数量,并且将与超过阈值的错误数量相关联的存储器地址确定为缺陷存储器位置或候选缺陷存储器的位置。在另一示
例中,检测器112可以周期性地从存储器系统150获取与超过阈值的错误数量相关联的候选缺陷存储器的位置。检测器112可以通过测试候选缺陷存储器来确定候选缺陷存储器是否实际上是有缺陷的。在实施例中,检测器112可以用软件实现。
[0045]
根据实施例,错误计数阈值可以存储在启动加载程序216中。启动加载程序216可以将错误计数阈值提供到检测器112或存储器系统150。检测器112或存储器系统150可以基于错误计数阈值来检测候选缺陷存储器的位置。存储在启动加载程序216中的错误计数阈值可以通过修改存储在存储系统中的启动加载程序的数据来改变。
[0046]
当存储器系统150处于空闲状态时,修复控制器116可以通过发送命令以将缺陷存储器位置重新定向到冗余存储器单元的位置来控制修复缺陷存储器。例如,当通信量监控器114示出存储器系统150正在处理的数据量等于或小于阈值时,修复控制器116可以向存储器系统150提供修复命令。例如,修复控制器116可以在启动计算系统100时确定未正在使用存储器系统150,并且可以向存储器系统150提供修复命令。
[0047]
图3是示出图2所示的存储库254的框图。
[0048]
参照图1,存储库254可以包括存储器单元阵列310、行解码器320、读出放大器330、列解码器340、刷新控制电路350、命令解码器360、地址缓冲器370以及数据输入/输出电路380。
[0049]
存储器单元阵列310可以包括沿行方向和列方向布置的多个存储器单元。多个存储器单元不仅可以包括用于存储数据的存储器单元,还可以包括用于替换其中已发生错误的存储器单元的冗余存储器单元。冗余存储器单元可以具有与活动存储器单元相同的结构,并且包括冗余存储器单元的冗余存储器单元阵列可以用作存储库254的额外存储器区域。
[0050]
例如,控制逻辑252可以响应于来自主机系统110的修复命令,利用冗余行来替换包含缺陷存储器单元的缺陷行。控制逻辑252可以包括反熔丝电路(未示出)。控制逻辑252可以通过对反熔丝进行编程,将与缺陷行对应的地址信号改变为与冗余行对应的地址信号。
[0051]
命令解码器360可以从控制逻辑252接收命令cmd1,并且可以通过对命令cmd1进行解码来内部生成控制信号。控制信号可以包括激活信号、读取信号、写入信号和刷新信号。刷新控制电路350可以从命令解码器360接收刷新信号,并且将行地址输出到行解码器320,以刷新存储器单元阵列310的字线。
[0052]
控制器可以将地址add1与命令cmd1传送到存储库254,地址add1指定待向其写入数据或待从其读取数据的存储器单元。地址缓冲器370可以从控制器接收地址add1,并生成行地址和列地址。
[0053]
行解码器320可以对从刷新控制电路350或地址缓冲器370输出的行地址进行解码,以指定存储器单元阵列310的一个字线。即,行解码器320可以对从地址缓冲器370输出的行地址进行解码,并且在写入操作或读取操作期间启用联接到存储器单元的字线。此外,行解码器320可以刷新与从刷新控制电路350输出的行地址对应的字线。
[0054]
读出放大器330可以感测和放大联接到由行解码器320指定的字线的存储器单元的数据。列解码器340可对从地址缓冲器370输出的列地址进行解码,以指定联接到一个或多个存储器单元的一个或多个位线,数据输入到该存储器单元或从该存储器单元输出。
[0055]
数据输入/输出电路380可以通过读出放大器330输出从存储器单元阵列310中的存储器单元接收的数据,或者将数据输入到相应的存储器单元。因此,通过数据输入/输出电路380输入的数据可以基于地址add1写入存储器单元阵列310,或者基于地址add1从存储器单元阵列310读取的数据可以通过数据输入/输出电路380输出到控制器。
[0056]
图4a和图4b是示出根据实施例的计算系统100的操作的流程图。
[0057]
图4a是示出当检测到可校正错误时计算系统100的操作的流程图。
[0058]
在步骤s402中,错误校正码电路256可以检测和校正从存储库254中读取的数据的错误。
[0059]
在步骤s404中,错误计数器258可以对每个存储器地址的错误数量进行计数。例如,当错误校正码电路256检测到数据的错误位时,错误计数器258可以更新与存储该错误位的存储器位置对应的地址的错误数量。根据实施例,地址可以包括与存储器位置对应的存储列信息、库信息和行信息。如先前参照图2所述,错误计数器258可以根据lfu算法仅存储一些存储器地址的错误计数。
[0060]
在步骤s406中,检测器112可以基于错误计数器258的每个存储器地址的错误数量来检测缺陷存储器位置。可以参照图5a和图5b描述步骤s406的详细操作的示例。
[0061]
在步骤s408中,主机系统110和存储器系统150可以从检测器112接收与缺陷存储器位置对应的缺陷地址信息,并将缺陷地址信息存储在主机系统110中的内部寄存器或存储装置的指定部分中。寄存器或存储装置可以以非易失性存储器实施。
[0062]
在步骤s416中,修复控制器116可以确定是否修复缺陷存储器位置。修复控制器116可以基于主机系统110是否正在使用存储器系统150来确定是否执行修复操作。例如,当通信量监控器114确定存储器系统150处于空闲状态时,修复控制器116可以确定执行修复操作。根据实施例,修复控制器116可以确定在启动期间将不使用存储器系统150,并执行修复操作。可以参照图6a和图6b描述步骤s416的详细操作的示例。
[0063]
当修复控制器116确定待执行修复操作时,在步骤s418中,修复控制器116可以启用存储器系统150的修复模式。例如,修复控制器116可以向存储器系统150提供控制信号以改变相应的模式寄存器的数据,以便启用存储器系统150的修复模式。此外,修复控制器116可以提供信号以激活缺陷存储器位置,例如缺陷行。
[0064]
在步骤s420中,存储器系统150可以对激活的缺陷存储器的位置执行修复操作。例如,控制逻辑252可以对反熔丝进行编程,以利用与冗余存储器的位置(例如冗余行)对应的地址信号来替换缺陷地址信号。
[0065]
当缺陷存储器位置被修复时,在步骤s422中,修复控制器116可以停用存储器系统150的修复模式。例如,修复控制器116可以在提供针对缺陷地址的激活信号并且经过修复操作所需的预定时间之后,向存储器系统150提供控制信号以停用修复模式。在一些实施例中,修复控制器116可以测试是否利用冗余地址成功地替换了缺陷地址。例如,修复控制器116可以针对用于测试的缺陷地址向存储器系统150提供写入命令和读取命令。
[0066]
图4b是示出当检测到不可校正错误时计算系统100的操作的流程图。
[0067]
在步骤s402中,错误校正码电路256可以检测并校正从存储库254读取的数据的错误。
[0068]
如果错误校正码电路256未能校正错误,则在步骤s410中,存储器系统150可以将
关键错误信号以及不可校正错误的地址提供到主机系统110。关键错误信号可以是状态标志或边带信号。
[0069]
在步骤s412中,主机系统110可以将地址确定为缺陷地址,并将缺陷地址信息存储在主机系统110中的内部寄存器或存储装置的指定部分中。
[0070]
在步骤s414中,主机系统110可以重新启动计算系统100。
[0071]
计算系统100可以执行与图4a所示的步骤相同的步骤s416至s422。
[0072]
图5a是描述与步骤s406相关联的详细操作的第一示例的流程图。
[0073]
在步骤s502中,通信量监控器114可以监控主机系统110和存储器系统150之间处理的数据量。当正在处理的数据量等于或小于阈值时,通信量监控器114可以确定存储器系统150处于空闲状态。
[0074]
当存储器系统150处于空闲状态时,在步骤s504中,检测器112可以从存储器系统150获得每个存储器地址的错误数量。
[0075]
在步骤s506中,检测器112可以基于从存储器系统150获得的每个存储器地址的错误数量来更新每个存储器地址的错误数量。
[0076]
在步骤s508中,检测器112可以将错误数量等于或大于阈值的存储器地址确定为候选缺陷地址。
[0077]
在步骤s510中,通信量监控器114可以检查与候选缺陷地址对应的候选缺陷存储器的位置的操作状态。例如,通信量监控器114可以将与存储器系统150的存储器位置对应的地址转换成在主机处理器210中使用的系统地址。通信量监控器114可以通过参考表示每个系统地址的操作状态的页面表(未示出)来确定当前是否访问候选缺陷存储器的位置。
[0078]
当候选缺陷存储器的位置当前正在被访问时,通信量监控器114可以检查操作状态,直到候选缺陷存储器的位置不再被访问。
[0079]
当候选缺陷存储器的位置没有被访问时,在步骤s512中,检测器112可以向存储器系统150提供测试读取命令以测试在候选缺陷地址处是否存在缺陷存储器。
[0080]
例如,可以将错误校正编码数据进行划分并存储在候选缺陷存储器的位置和与候选缺陷存储器的位置并行访问的存储器的位置中。检测器112可以向存储器系统150提供针对错误校正编码数据被划分和存储的一组存储器的位置的测试读取命令。
[0081]
在步骤s514中,存储器系统150可以响应于测试读取命令来执行测试读取操作。例如,控制逻辑252可以将针对待测试的一组存储器的位置的读取命令提供到存储库254。错误校正码电路256可以对从存储库254读取的数据执行错误校正解码。
[0082]
在步骤s516中,存储器系统150可以向检测器112提供响应,该响应包括指示由于错误校正解码操作,在候选缺陷存储器的位置中是否发生了错误的数据。
[0083]
在步骤s518中,检测器112可以基于响应来确定候选缺陷地址处的存储器是否实际上是有缺陷的。例如,当在候选缺陷存储器的位置中发生错误时,检测器112可以确定在候选缺陷地址处存在缺陷存储器。
[0084]
在步骤s520中,检测器112可以向存储器系统150提供缺陷存储器的地址。可选地,检测器112可以将缺陷存储器的地址存储在主机系统110中的寄存器或存储装置的指定部分中。
[0085]
图5b是描述步骤s406的详细操作的第二示例的流程图。
[0086]
在步骤s522中,存储器系统150可以确定候选缺陷地址。例如,错误计数器258可以对每个存储器地址的错误数量进行计数,并且将错误数量等于或大于阈值的存储器地址确定为候选缺陷地址。
[0087]
在步骤s524中,通信量监控器114可以监控主机系统110和存储器系统150之间处理的数据量,以确定存储器系统150是否处于空闲状态。
[0088]
当存储器系统150处于空闲状态时,在步骤s526中,检测器112可以从存储器系统150获得候选缺陷地址。
[0089]
在步骤s528中,通信量监控器114可以检查与候选缺陷地址对应的候选缺陷存储器的位置的操作状态。
[0090]
当候选缺陷存储器的位置当前未被访问时,在步骤s530中,检测器112可以向存储器系统150提供测试读取命令。
[0091]
在步骤s532中,存储器系统150可以响应于测试读取命令而对候选缺陷存储器的位置执行测试读取操作。
[0092]
在步骤s534中,存储器系统150可以向检测器112提供响应,该响应包括指示由于测试读取操作,在候选缺陷存储器的位置中是否发生了错误的数据。
[0093]
在步骤s536中,存储器系统150可以基于测试结果确定在候选缺陷地址处是否存在缺陷存储器。
[0094]
在步骤s538中,检测器112可以向存储器系统150提供与缺陷存储器相关联的地址。
[0095]
参照图5a和图5b,当主机系统110和存储器系统150检测到候选缺陷地址时,检测器112可以对候选缺陷地址执行测试操作,然后利用缺陷地址确定候选缺陷地址。根据实施例,可以省略对候选缺陷地址的测试操作。例如,检测器112可以立即确定在错误数量等于或大于阈值的存储器地址处存在缺陷存储器,而无需执行任何测试。
[0096]
图6a是示出步骤s416的详细操作的第一示例的流程图。图6a示出了在静态封装后修复(ppr)模式下的修复操作。在静态ppr模式下,计算系统100可以在启动进程期间执行修复操作。
[0097]
当将电力供应到处于关闭状态的计算系统100时,在步骤s602中,计算系统100可以开始启动。主机处理器210可以搜索存储启动加载程序216的存储器系统,并将启动加载程序216加载到存储器系统150。启动加载程序216可以创建用于操作操作系统的环境,并将存储在存储系统中的操作系统加载到存储器系统150。
[0098]
当操作系统被加载到存储器系统150时,检测器112和通信量监控器114可以由主机处理器210驱动。启动加载程序216可以向检测器112或存储器系统150提供存储在启动加载程序216中的错误计数阈值,以便检测器112或存储器系统150可以检测缺陷存储器的地址。另外,通信量监控器114可以确定在启动计算系统100时正被处理的数据量等于或小于阈值。
[0099]
在步骤s604中,检测器112可以获取存储在存储器系统150的非易失性寄存器、主机系统110中的寄存器或存储装置的指定部分中的缺陷存储器的地址。
[0100]
当非易失性寄存器中未存储缺陷存储器的地址时,计算系统100可以完成启动而无需执行修复操作。
[0101]
在步骤s606中,检测器112可以向存储器系统150提供测试读取命令,以测试所获得的地址的存储器是否实际上有缺陷。
[0102]
在步骤s608中,存储器系统150可以通过响应于测试读取命令执行读取操作并执行读取数据的错误校正解码操作,来测试所获得的地址处的存储器是否实际上有缺陷。可选地,控制逻辑252可以停用ecc 256,在执行读取操作之前将预定数据写入与所获得的地址对应的存储器位置。控制逻辑252可以通过读取操作将预定数据与读取数据进行比较来确定所获得的地址是否实际上有缺陷。
[0103]
在步骤s610中,存储器系统150可以向检测器112提供响应,该响应包括指示在与被测试地址对应的存储器位置中是否发生了错误的数据。当测试未检测到错误时,计算系统100可以确定所存储的地址与缺陷存储器没有关联,并且可以在不执行修复操作的情况下终止启动。
[0104]
当在测试中发生错误时,在步骤s612中,检测器112可以确定在该地址处的存储器中存在实际缺陷。
[0105]
在步骤s614中,修复控制器116可以向存储器系统150提供控制信号,以确定是否存在用于修复操作的冗余行。例如,存储器系统150可以将指示冗余行是否可用于每个存储库254的数据存储在模式寄存器中。修复控制器116可以提供控制信号以读取指示模式寄存器中是否存在与缺陷存储器位置对应的存储库254的冗余行的数据。
[0106]
在步骤s616中,存储器系统150可以提供响应,该响应指示是否存在与缺陷存储器位置对应的存储库254的冗余行。
[0107]
当冗余行可用于修复操作时,修复控制器116可以执行步骤s418中所述的修复操作,并结束启动。
[0108]
当不存在用于修复操作的冗余行时,计算系统100可以结束启动而不执行修复操作。
[0109]
在实施例中,计算系统100可以不执行步骤s606至s612。
[0110]
图6b是描述可以在步骤s416中执行的详细操作的第二示例的流程图。图6b示出了在运行时ppr模式下的修复操作。在运行时ppr模式下,计算系统100可以在运行时而不是在启动过程期间执行修复操作。
[0111]
在步骤s622中,通信量监控器114可以监控主机系统110与存储器系统150之间正在处理的数据量,以确定存储器系统150是否处于空闲状态。
[0112]
当存储器系统150处于空闲状态时,在步骤s624中,检测器112可以检查陷存储器的存储地址。
[0113]
当存储有缺陷存储器的地址时,在步骤s626中,通信量监控器114可以通过参考页面表来检查该地址处的存储器的操作状态。
[0114]
当与缺陷地址对应的缺陷存储器位置当前正在被访问时,通信量监控器114可以继续检查操作状态,直到缺陷存储器位置不再被访问。
[0115]
当缺陷存储器位置没有被访问时,在步骤s628中,修复控制器116可以向存储器系统150提供控制信号以确定冗余行是否可用于修复操作。
[0116]
在步骤s630中,存储器系统150可以提供响应,该响应指示是否存在用于修复缺陷存储器的存储库254的冗余行。
[0117]
当冗余行可用于修复操作时,修复控制器116可以根据参照图4描述的步骤s418至s422,阻止从主机处理器210到接口230的通信量请求,并对缺陷存储器执行修复操作。
[0118]
根据本公开的实施例,当存储器系统150的存储器中发生缺陷时,主机系统110可以确定是否修复缺陷存储器位置。主机系统110在确定是否修复缺陷存储器位置时,可以考虑主机系统110是否使用存储器系统150。当未使用存储器系统150时,主机系统110可以控制存储器系统150的修复。根据实施例,主机系统110可以通过在不活动时段期间访问存储器系统150来防止存储器系统150中的响应延迟。此外,缺陷存储器位置存储在存储器系统150中,通过利用冗余存储器单元仅修复缺陷存储器位置,可以提高存储器系统150的可靠性和寿命。
[0119]
根据本公开的实施例,主机系统能够通过控制存储器系统的修复操作来修复稍后在存储器系统中发生的缺陷。因此,可以提高从存储器系统读取的数据的可靠性,并且可以提高存储器系统的寿命。
[0120]
根据本公开的实施例,可以通过基于存储器系统的数据处理量控制修复来为用户提供来自存储器系统的快速响应。
[0121]
待实现的技术问题不限于上述技术问题,并且本领域技术人员将从下面的描述中清楚地理解上述未提及的其他技术问题。
[0122]
虽然已经就具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离所附权利要求书的范围的情况下,可以进行各种改变和修改。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1