CN113157484A - 通过错误分析应对错误的存储器系统和数据处理系统 - Google Patents

通过错误分析应对错误的存储器系统和数据处理系统 Download PDF

Info

Publication number
CN113157484A
CN113157484A CN202010809375.8A CN202010809375A CN113157484A CN 113157484 A CN113157484 A CN 113157484A CN 202010809375 A CN202010809375 A CN 202010809375A CN 113157484 A CN113157484 A CN 113157484A
Authority
CN
China
Prior art keywords
error
memory device
memory
error correction
memory devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010809375.8A
Other languages
English (en)
Other versions
CN113157484B (zh
Inventor
沈应辅
安南永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN113157484A publication Critical patent/CN113157484A/zh
Application granted granted Critical
Publication of CN113157484B publication Critical patent/CN113157484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1204Bit line control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本公开涉及一种数据处理系统。该数据处理系统包括:存储器系统,包括:多个存储器装置,多个存储器装置中的每一个包括第一错误校正单元以及多个单元阵列区域,多个单元阵列区域中的每一个具有以阵列形式联接到多个字线和多个位线的多个存储器单元;以及主机,包括第二错误校正单元,用于校正从存储器系统传送的数据的错误,并且适用于:生成关于第二错误校正单元的错误校正操作的错误校正信息;使用错误校正信息和日志信息为各个存储器装置设定错误校正强度;并且根据错误校正强度对各个存储器装置执行错误应对操作。

Description

通过错误分析应对错误的存储器系统和数据处理系统
相关申请的交叉引用
本申请要求于2020年1月7日提交的申请号为10-2020-0001998的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例涉及一种数据处理系统,并且更特别地,涉及一种能够通过错误分析选择错误响应操作的存储器系统以及包括存储器系统的数据处理系统。
背景技术
计算装置或有线/无线电子装置,例如诸如服务器、台式计算机和膝上型计算机的计算装置或者诸如移动电话、游戏机、TV和投影仪的电子装置,可以在操作进程期间生成并处理大量数据。为了存储在操作进程期间生成并处理的数据,通常可以使用利用存储器装置的存储器系统,即数据存储装置。数据存储装置可以用作计算装置或电子装置的主存储器装置或辅助存储器装置。
存储器系统可以包括多个存储器装置,并且在将数据写入到多个存储器装置/从多个存储器装置读取数据的进程中,当没有正常写入/读取某些数据时,可能会发生错误。通常,可以通过用于恢复错误的算法来校正大多数发生错误的数据。但是,可能会发生即使通过这种算法也无法校正的严重错误。当发生这种严重错误时,可能使整个存储器系统的可靠性显著劣化。
因此,有利的是能够预测何时何地将发生严重错误。然而,在现有技术中,使用对错误发生的数量进行计数的操作根据统计方法来执行了错误预测。因此,预测的准确性显著降低。
发明内容
各个实施例涉及一种数据处理系统,该数据处理系统包括能够通过分析先前在包括多个存储器装置的存储器系统中发生的错误来对多个存储器装置执行错误应对操作的装置和方法。
在实施例中,一种数据处理系统可以包括:存储器系统,包括:多个存储器装置,多个存储器装置中的每一个包括第一错误校正单元;以及多个单元阵列区域,多个单元阵列区域中的每一个具有以阵列形式联接到多个字线和多个位线的多个存储器单元;以及主机,包括第二错误校正单元,用于对从存储器系统传送的数据的错误进行校正,并且适用于:生成关于第二错误校正单元的错误校正操作的错误校正信息,使用错误校正信息和由存储器装置生成的日志信息为各个存储器装置设定错误校正强度,根据错误校正强度对各个存储器装置执行错误应对操作。可以通过第一错误校正单元来对在通过对多个单元阵列区域的访问操作访问的数据中发生的错误进行校正。存储器装置中的每一个可以生成关于第一错误校正单元的错误校正操作的日志信息。
存储器装置中的每一个可以通过将由第一错误校正单元校正的数据的错误信息累积并存储在其中的信息存储区域中来生成日志信息。存储器装置中的每一个可以根据主机的请求通过存储器系统将日志信息输出到主机。
主机可以包括:错误信息收集单元,适用于实时地或在设定时间点收集错误校正信息,并在设定时间点从存储器系统收集日志信息;第一错误分析单元,适用于分析日志信息和错误校正信息,检查各个存储器装置中发生的错误的数量和类型,并且根据检查结果判定各个存储器装置的错误等级;第二错误分析单元,适用于通过对日志信息和错误校正信息进行额外的分析以检查错误的形式和数量,来根据错误等级来判定多个存储器装置中的一些存储器装置的错误校正强度,并且判定剩余存储器装置的错误校正强度,以使得剩余存储器装置的错误校正强度与错误等级相对应;以及错误应对操作单元,适用于根据错误校正强度对各个存储器装置执行错误应对操作。
第一错误分析单元可以将多个存储器装置之中的、发生的错误的数量等于或大于的第一参考数量的存储器装置分类为第一存储器装置。当在第一存储器装置中发生的错误的类型是在字线中发生的、等于或大于第二参考数量的第一错误时,第一错误分析单元可以将第一存储器装置分类为具有第一错误等级的第二存储器装置。当在第一存储器装置中发生的错误的类型是与第一错误不同的错误类型时,第一错误分析单元可以将相应的第一存储器装置分类为具有第二错误等级的第三存储器装置。
第一错误校正单元和第二错误校正单元中的每一个可以以包括错误校正码即ECC的码字单位对输入到每个存储器装置/从每个存储器装置输出的数据执行错误校正操作。当第二存储器装置中发生的错误跨越数量等于或大于第三参考数量的码字单位,并且错误中包含的错误位的总数量等于或大于第四参考数量时,第二错误分析单元可以将相应的第二存储器装置分类为具有第一错误校正强度的第四存储器装置。当第二存储器装置中发生的错误跨越数量等于或大于第三参考数量的码字单位并且错误中包含的错误位的总数量小于第四参考数量,或者错误跨越数量小于第三参考数量的码字单位时,第二错误分析单元可以将相应的第二存储器装置分类为具有第二错误校正强度的第五存储器装置。第二错误分析单元可以通过向第三存储器装置分配第二错误校正强度来将第三存储器装置分类为第五存储器装置。
错误应对操作单元可以选择以下任意一种作为错误应对操作:选择第四存储器装置中发生错误的区域并且阻止对第四存储器装置中发生错误的区域的访问的操作;选择并且修复第四存储器装置中发生错误的区域的操作;以及根据第四存储器装置的状态,选择并且停用第四存储器装置中发生错误的区域的操作。错误应对操作单元可以执行所选择的操作。
主机可以选择并执行以下操作中的任意一种:将自向存储器系统供应电力时起间隔开特定时间间隔的时间点指定为设定时间点的操作;对对存储器系统的访问操作期间在数据中发生的错误的数量进行计数,将所计数的数量超过第五参考数量的每个时间点指定为设定时间点的操作;以及将校正通过访问操作访问的数据中的错误所需的时间等于或大于特定时间的每个时间点指定为设定时间点的操作。
在实施例中,一种存储器系统可以包括:多个存储器装置,多个存储器装置中的每一个包括第一错误校正单元和多个单元阵列区域,多个单元阵列区域中的每一个具有以阵列形式联接到多个字线和多个位线的多个存储器单元,并且适用于:通过第一错误校正单元来对在通过对多个单元阵列区域的访问操作访问的数据中发生的错误进行校正;并且生成关于第一错误校正单元的错误校正操作的日志信息;以及控制器,包括第二错误校正单元,用于对从多个存储器装置传送的数据的错误进行校正,并且适用于:生成关于第二错误校正单元的错误校正操作的错误校正信息;使用日志信息和错误校正信息为各个存储器装置设定错误校正强度;并且根据错误校正强度对各个存储器装置执行错误应对操作。
存储器装置中的每一个可以通过将由第一错误校正单元校正的数据的错误信息累积并存储在其中的信息存储区域中来生成日志信息。存储器装置中的每一个可以根据控制器的请求将日志信息输出到控制器。
控制器可以包括:错误信息收集单元,适用于实时地或在设定时间点收集错误校正信息,并且在设定时间点从每个存储器装置收集日志信息;第一错误分析单元,适用于分析日志信息和错误校正信息,检查各个存储器装置中发生的错误的数量和类型,并且根据检查结果判定各个存储器装置的错误等级;第二错误分析单元,适用于通过对日志信息和错误校正信息进行额外分析以检查错误的形式和数量,来根据错误等级来判定多个存储器装置中的一些存储器装置的错误校正强度,并且判定剩余存储器装置的错误校正强度,以使得剩余存储器装置的错误校正强度与错误等级相对应;以及错误应对操作单元,适用于根据错误校正强度对各个存储器装置执行错误应对操作。
第一错误分析单元可以将多个存储器装置之中的、发生的错误的数量等于或大于的第一参考数量的存储器装置分类为第一存储器装置。当在第一存储器装置中发生的错误的类型是在字线中发生的、等于或大于第二参考数量的第一错误时,第一错误分析单元可以将相应的第一存储器装置分类为具有第一错误等级的第二存储器装置。当在第一存储器装置中发生的错误的类型是与第一错误不同的错误类型时,第一错误分析单元可以将相应的第一存储器装置分类为具有第二错误等级的第三存储器装置。
第一错误校正单元和第二错误校正单元中的每一个可以以包括错误校正(ECC)码的码字单位对输入到每个存储器装置/从每个存储器装置输出的数据执行错误校正操作。当第二存储器装置中发生的错误跨越数量等于或大于第三参考数量的码字单位,并且错误中包含的错误位的总数量等于或大于第四参考数量时,第二错误分析单元可以将相应的第二存储器装置分类为具有第一错误校正强度的第四存储器装置。当第二存储器装置中发生的错误跨越数量等于或大于第三参考数量的码字单位并且错误中包含的错误位的总数量小于第四参考数量,或者错误跨越数量小于第三参考数量的码字单位时,第二错误分析单元可以将相应的第二存储器装置分类为具有第二错误校正强度的第五存储器装置。第二错误分析单元可以通过向所述第三存储器装置分配第二错误校正强度来将第三存储器装置分类为第五存储器装置。
错误应对操作单元可以选择以下任意一种作为错误应对操作:选择第四存储器装置中发生错误的区域并且阻止对第四存储器装置中发生错误的区域的访问的操作;选择并且修复第四存储器装置中发生错误的区域的操作;以及根据第四存储器装置的状态,选择并且停用第四存储器装置中发生错误的区域的操作。错误应对操作单元可以执行所选择的操作。
控制器可以选择并执行以下操作中的任意一种:将自向存储器系统供应电力时起间隔开特定时间间隔的时间点指定为设定时间点的操作;对对多个存储器装置的访问操作期间在数据中发生的错误的数量进行计数,将所计数的数量超过第五参考数量的每个时间点指定为设定时间点的操作;以及将校正通过访问操作访问的数据中发生的错误所需的时间等于或大于特定时间的每个时间点指定为设定时间点的操作。
在实施例中,一种存储器系统的操作方法,该存储器系统包括:多个存储器装置,多个存储器装置中的每一个包括错误校正单元以及多个单元阵列区域,多个单元阵列区域中的每一个具有以阵列形式联接到多个字线和多个位线的多个存储器单元,该操作方法可以包括:操作错误校正单元以对通过对多个单元阵列区域的访问操作访问的数据中发生的错误进行校正,并且生成关于错误校正单元的错误校正操作的日志信息;使用日志信息为各个存储器装置设定错误等级;并且根据错误等级对各个存储器装置执行错误应对操作。
该操作可以包括:操作错误校正单元以对通过对多个单元阵列区域的访问操作访问的数据中发生的错误进行校正;以及通过将由错误校正单元所校正的数据的错误信息累积并存储在各个存储器装置中的信息存储区域中,来生成日志信息。
该设定可以包括:在每个设定时间点收集信息存储区域中存储的日志信息;以及分析在收集步骤中所收集的日志信息,检查各个存储器装置中发生的错误的数量和类型,并且根据检查结果判定各个存储器装置的错误等级。
该分析可以包括:将多个存储器装置之中发生的错误的数量等于或大于第一参考数量的存储器装置分类为第一存储器装置;当在第一存储器装置中发生的错误的类型是在字线中发生的、等于或大于第二参考数量的第一错误时,将第一存储器装置分类为具有第一错误等级的第二存储器装置;并且当在第一存储器装置中发生的错误的类型是与第一错误不同的错误类型时,将第一存储器装置分类为具有第二错误等级的第三存储器装置。
该执行可以包括执行以下中的任意一项:选择第二存储器装置中发生错误的区域并且阻止对第二存储器装置中发生错误的区域的访问;选择并且修复第二存储器装置中发生错误的区域;以及根据第二存储器装置的状态,选择并且停用第二存储器装置中发生错误的区域。
该操作方法可以进一步包括以下至少一项:将自向存储器系统供应电力时起间隔开特定时间间隔的时间点指定为设定时间点;对对多个存储器装置的访问操作期间对在数据中发生的错误的数量进行计数,将所计数的数量超过第五参考数量的每个时间点指定为设定时间点,并且重置所计数的数量;以及将校正通过访问操作访问的数据中发生的错误所需的时间等于或大于特定时间的每个时间点指定为设定时间点。
在实施例中,一种数据处理系统的操作方法,所述操作方法可以包括:在收集关于错误的信息的同时对从各个存储器装置内的存储区域读取的数据中的错误进行校正;并且基于该信息执行:修复存储器装置中的被选择的存储器装置内的、与错误有关的被选择的存储区域的操作;或者将数据从被选择的存储区域移动到正常存储区域并且阻止对被选择的存储区域的访问的操作。
根据本实施例,包括多个存储器装置的存储器系统可以:生成关于在对各个存储器装置的访问操作期间发生的错误的日志信息,根据错误的数量、类型和形式分析关于错误的日志信息,并且为各个存储器装置设定不同的错误校正强度,从而对各个存储器装置执行错误解决操作。
因此,存储器系统可以预测多个存储器装置之中的、很可能发生严重错误的存储器装置或存储器装置的特定区域,并且执行适当的错误应对解决操作。
附图说明
图1A是示出根据第一实施例的数据处理系统的配置的示图。
图1B是示出根据第二实施例的数据处理系统的配置的示图。
图1C是示出根据第三实施例的存储器系统的配置的示图。
图2至图4以及图5A和图5B是示出根据实施例的日志信息分析操作的流程图和示图。
具体实施方式
图1A是示出根据第一实施例的数据处理系统的配置的示图。在整个说明书中,对“第一实施例”、“第二实施例”、“第三实施例”、“实施例”等的参考并不一定仅指该实施例。虽然在一个实施例的背景下描述了本发明的各种特征,但是本发明的各种特征可以应用于多个实施例中。
参照图1A,根据第一实施例的数据处理系统可以包括主机102和存储器系统110。存储器系统110可以包括多个存储器装置1501至1508。主机102可以包括错误信息收集单元1021、第一错误分析单元1023、第二错误分析单元1024、错误应对操作单元1025和主机错误校正码(ECC)单元1026。
存储器装置1501至1508中的每一个可以包括多个存储体(memory bank)BK<1:4>。存储器装置1501至1508可以分别包括存储器ECC单元ECC1至ECC8和信息存储区域PA1至PA8。
作为参考,图1A基于存储器装置1501至1508中的每一个是DRAM的假设。当存储器装置是不同类型的存储器装置时,可以改变存储器装置的详细配置。具体地,存储体BK<1:4>中的每一个可以包括多个存储器单元CELL,该多个存储器单元CELL以阵列联接到多个字线WL1、WL2、……、WLX和多个位线BL1、BL2、BL3、……、BLY的,并且存储器单元中的每一个可以将一位或多位数据存储在其中。也就是说,存储体BK<1:4>中的每一个可以认为是包括阵列中的多个存储器单元的“单元阵列区域”。因此,表述“多个存储体”是基于存储器装置是DRAM的假设。当存储器装置是不同类型的存储器装置时,可以用表述“多个单元阵列区域”来替换表述“多个存储体””。简而言之,多个存储器装置1501至1508的内部配置的设计可以根据主机102所请求的各个存储器装置1501至1508的特性、存储器系统110的使用目的或存储器系统110的规范而改变。
当通过多个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8的操作来对在由存储器系统110中包括的多个存储器装置1501至1508执行的例如数据读取/写入操作的访问操作期间发生的错误进行校正时,多个存储器装置1501至1508可以生成关于由存储器ECC单元ECC1至ECC8校正其错误的数据的日志信息LOG_INFO。也就是说,多个存储器装置1501至1508可以通过在信息存储区域PA1至PA8中累积并存储错误信息(例如,原始数据)来生成日志信息LOG_INFO,该错误信息与在访问操作期间由存储器ECC单元ECC1至ECC8校正的错误相关联。与错误相关联并且在日志信息LOG_INFO中包括的错误信息可以指示可以由多个存储器装置1501至1508生成的、与错误的发生有关的所有数据。也就是说,与错误相关联并在日志信息LOG_INFO中包括的错误信息可以指示何时发生错误,即分别发生错误的时间(错误的时间)、错误的位置、错误的属性,错误的类型和数量。例如,错误信息可以指示已经发生错误的数据中的位的数量、已经发生错误的数据的物理存储位置、错误的绝对时间、已经发生错误的物理区域的范围以及已经发生的错误的类型。信息存储区域PA1至PA8可以被配置为存储空间,该存储空间以寄存器的形式包括在各个存储器装置1501至1508中。信息存储区域PA1至PA8中的每一个可以对应于相应存储器装置中包括的多个存储体BK<1:4>中的至少一个的至少一部分。
主机102可以通过以下操作来收集错误信息,该错误信息与存储器系统110中包括的多个存储器装置1501至1508中发生的错误相关联。
根据第一操作,与在针对各个存储器装置1501至1508的访问操作期间由存储器ECC单元ECC1至ECC8校正的错误相关联的错误信息可以作为日志信息LOG_INFO累积并存储在信息存储区域PA1至PA8中。因此,主机102可以从各个存储器装置1501至1508的信息存储区域PA1至PA8收集日志信息LOG_INFO。
根据第二操作,主机102可以生成并收集错误信息作为错误校正信息ERR_CO_INFO,该错误信息与由其中包括的主机ECC单元1026在针对各个存储器装置1501至1508的例如数据读取操作的访问操作期间校正的错误相关联。与错误校正信息ERR_CO_INFO相关的错误可以是并非由存储器装置1501至1508中的存储器ECC单元ECC1至ECC8校正而是由主机102中的主机ECC单元1026所校正的错误。与错误相关联并且在错误校正信息ERR_CO_INFO中包括的错误信息可以指示可以由主机ECC单元1026生成的、与错误的发生有关的所有数据。也就是说,与错误相关联并且在错误校正信息ERR_CO_INFO中包括的错误信息可以指示错误的时间、错误的位置、错误的属性、错误的类型和数量。例如,错误信息可以指示已经发生错误的数据中的位的数量、已经发生错误的数据的物理存储位置、错误的绝对时间,已经发生错误的物理区域的范围以及已经发生的错误的类型。
主机102可以分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO,从而确定在存储器装置1501至1508的每一个中已经发生的错误的数量、类型和形式。因此,主机102可以基于错误的数量、类型和形式来分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且可以针对存储器系统110中包括的各个存储器装置1501至1508设定不同的错误校正强度。主机102可以根据错误校正强度对各个存储器装置1501至1508执行不同的错误应对操作。
更具体地,主机102中包括的错误信息收集单元1021可以在设定时间点将用于信息收集的命令(未示出)传送到存储器系统110,并且接收并收集响应于用于信息收集的命令而从存储器系统110中包括的多个存储器装置1501至1508的信息存储区域PA1至PA8输出的日志信息LOG_INFO。错误信息收集单元1021可以实时地或在每个设定时间点收集由主机ECC单元1026生成的错误校正信息ERR_CO_INFO。
主机102可以根据以下任何情形来选择并指定设定时间点。
第一,主机102可以将自向存储器系统110供应电力时起每隔特定时间间隔重新出现的时间点指定为设定时间点。因此,在这种情形下,所指定的时间点自向存储器系统110供应电力时起以特定的频率重新出现。
第二,主机102可以对在对存储器系统110的访问操作期间,即对多个存储器装置1501至1508的访问操作期间发生的错误的数量进行计数,并且将所计数的数量超过参考数量的每个时间点指定为设定时间点。可以预先设定参考数量。在该设定时间点执行的错误计数完成后,可以在每个设定时间点重置所计数的数量。例如,可以由主机ECC单元1026来对错误的数量进行计数。
第三,主机102可以执行错误校正操作,以校正在对存储器系统110的访问操作,即对多个存储器装置1501至1508的访问操作期间发生的错误,并且将错误校正操作所需的时间等于或大于特定时间的每个时间点指定为设定时间点。当错误校正操作所需的时间等于或大于特定时间时,可能指示:在校正错误的进程中,使用汉明码的相对简单的错误校正操作失败,因此使用了利用里德-所罗门(Reed-Solomon)码的相对复杂的错误校正操作。例如,可以由主机ECC单元1026执行错误校正操作。
错误信息收集单元1021可以将日志信息LOG_INFO和错误校正信息ERR_CO_INFO存储在主机102内的设定空间中。如图1A所示,设定空间可以是错误信息收集单元1021内的单独存储区域。虽然在图1A中未直接示出,但是主机102内的设定空间可以是主机存储器的特定存储空间,主机存储器包括在主机102中并且用作主机102的工作存储器。第一错误分析单元1023可以分析由错误信息收集单元1021收集的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,检查在各个存储器装置1501至1508中发生的错误的数量和类型,并且根据检查操作中确定的数量和类型来判定各个存储器装置1501至1508的错误等级。关于由第一错误分析单元1023判定的各个存储器装置1501至1508的错误等级的信息可以存储在主机102内的设定空间中。
第二错误分析单元1024可以根据由第一错误分析单元1023判定的各个存储器装置1501至1508的错误等级来选择多个存储器装置1501至1508中的一些。针对在多个存储器装置1501至1508之中被选择的一些存储器装置,第二错误分析单元1024可以通过对日志信息LOG_INFO和错误校正信息ERR_CO_INFO进行额外分析以检查错误的形式和数量来判定错误校正强度。对于除了被选择的存储器装置之外的其他存储器装置,第二错误分析单元1024可以判定与由第一错误分析单元1023确定的错误等级相对应的错误校正强度。第二错误分析单元1024可以从主机102内的设定空间中读取由第一错误分析单元1023判定的针对各个存储器装置1501至1508的错误校正强度。此外,关于由第二错误分析单元1024判定的各个存储器装置1501至1508的错误等级的信息可以存储在主机102内的设定空间中。
错误应对操作单元1025可以根据由第二错误分析单元1024判定的针对存储器装置1501至1508的错误校正强度对各个存储器装置1501至1508执行不同的错误应对操作。错误应对操作单元1025可以从主机102内的设定空间中读取由第二错误分析单元1024判定的针对各个存储器装置1501至1508的错误校正强度。
主机ECC单元1026可以通过对为了存储在存储器系统110中而生成的数据执行错误校正编码操作来生成ECC。主机102可以将基于码字的数据传送到存储器系统110,该基于码字的数据通过将ECC包括在待存储在存储器系统110中的数据中来配置。存储器系统110可以将从主机102输入的基于码字的数据存储在多个存储器装置1501至1508中。主机ECC单元1026可以执行检查在从存储器系统110输入的数据中是否发生错误的操作,并且当输入数据中发生错误时,执行错误校正解码操作即错误校正操作,从而恢复错误发生之前的正常数据。因为从主机102传送到存储器系统110的数据是基于码字的数据,所以从存储器系统110输入到主机102的数据也可以是基于码字的数据。因此,主机ECC单元1206可以通过使用输入到主机102的基于码字的数据中包括的ECC来执行错误校正操作。当数据中发生的错误位的数量等于或大于可校正错误位极限时,主机ECC单元1026的错误校正操作可能失败,并且不能校正错误位。主机ECC单元1026可以使用诸如以下的编码调制来执行错误校正:汉明码、LDPC(低密度奇偶校验)码、BCH(博斯-查德胡里-霍昆格姆(Bose,Chaudhri,Hocquenghem))码、涡轮(turbo)码、里德-所罗门(Reed-Solomon)码、卷积码、RSC(递归系统代码)、TCM(网格编码调制)或BCM(分组编码调制),并且本实施例不限于此。主机ECC单元1026可以包括用于错误校正的代码、电路、模块、系统或装置。
作为参考,由主机102中包括的主机ECC单元1026能够校正错误的数据的大小可以与由各个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8中的每一个能够校正错误的数据的大小不同。例如,由主机ECC单元1026能够校正错误的数据的大小可以大于由存储器ECC单元ECC1至ECC8中的每一个能够校正错误的数据的大小。在本实施例中,已经描述了所有主机ECC单元1026和存储器ECC单元ECC1至ECC8都可以执行错误校正操作。然而,这仅是示例,而本实施例不限于此。在实施例中,存储器ECC单元ECC1至ECC8可以仅执行检查是否发生错误的错误检查操作,并且主机ECC单元1026可以执行错误检查操作和错误校正操作两者。
图1B是示出根据第二实施例的数据处理系统的配置的示图。
参照图1B,根据第二实施例的数据处理系统可以包括主机102和存储器系统110。存储器系统110可以包括控制器130和多个存储器装置1501至1508。控制器130可以包括错误信息收集单元1301、第一错误分析单元1303、第二错误分析单元1304、错误应对操作单元1305和系统ECC单元1306。
存储器装置1501至1508中的每一个可以包括多个存储体BK<1:4>。此外,存储器装置1501至1508可以分别包括存储器ECC单元ECC1至ECC8和信息存储区域PA1至PA8。
作为参考,图1B基于存储器装置1501至1508中的每一个是DRAM的假设。当存储器装置是不同类型的存储器装置时,可以改变存储器装置的详细配置。具体地,存储体BK<1:4>中的每一个可以包括多个存储器单元CELL,该多个存储器单元CELL以阵列联接到多个字线WL1、WL2、……、WLX和多个位线BL1、BL2、BL3、……、BLY,并且存储器单元中的每一个可以将一位或多位数据存储在其中。也就是说,存储体BK<1:4>中的每一个可以认为是包括阵列中的多个存储器单元的“单元阵列区域”。因此,表述“多个存储体”是基于存储器装置是DRAM的假设。当该存储器装置是不同类型的存储器装置时,可以用表述“多个单元阵列区域”来替换表述“多个存储体”。简而言之,多个存储器装置1501至1508的内部配置的设计可以根据由主机102所请求的各个存储器装置1501至1508的特性、存储器系统110的使用目的或存储器系统110的规范而改变。
当通过多个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8的操作来对在由存储器系统110中包括的多个存储器装置1501至1508执行的例如数据读取/写入操作的访问操作期间发生的错误进行校正时,多个存储器装置1501至1508可以生成关于由存储器ECC单元ECC1至ECC8校正其错误的数据的日志信息LOG_INFO。也就是说,多个存储器装置1501至1508可以通过在信息存储区域PA1至PA8中累积并存储错误信息来生成日志信息LOG_INFO,该错误信息与在访问操作期间由存储器ECC单元ECC1至ECC8校正的错误相关联。与错误相关联并且在日志信息LOG_INFO中包括的错误信息可以指示可以由多个存储器装置1501至1508生成、与错误的发生有关的所有数据。也就是说,与错误相关联并且在日志信息LOG_INFO中包括的错误信息可以指示错误的时间、错误的位置、错误的属性、错误的类型和数量。例如,错误信息可以指示已经发生错误的数据中的位的数量、已经发生错误的数据的物理存储位置、错误的绝对时间、已经发生错误的物理区域的范围以及已经发生的错误的类型。信息存储区域PA1至PA8可以被配置为存储空间,该存储空间以寄存器的形式包括在各个存储器装置1501至1508中。信息存储区域PA1至PA8中的每一个可以对应于相应存储器装置中包括的多个存储体BK<1:4>中的至少一个的至少一部分。
控制器130可以通过以下操作来收集错误信息,该错误信息与存储器系统110中包括的多个存储器装置1501至1508中发生的错误相关联。
根据第一操作,与在针对各个存储器装置1501至1508的访问操作期间由存储器ECC单元ECC1至ECC8校正的错误相关联的错误信息可以作为日志信息LOG_INFO累积并存储在信息存储区域PA1至PA8中。因此,控制器130可以从各个存储器装置1501至1508的信息存储区域PA1至PA8收集日志信息LOG_INFO。
根据第二操作,控制器130可以生成并收集错误信息作为错误校正信息ERR_CO_INFO,该错误信息与由其中包括的系统ECC单元1306在针对各个存储器装置1501至1508的例如数据读取操作的访问操作期间校正的错误相关联。可以将由控制器130中包括的系统ECC单元1306校正错误的访问操作假设为未由各个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8之中的相应存储器ECC单元校正错误的访问操作。与错误相关联并且在错误校正信息ERR_CO_INFO中包括的错误信息可以指示可以由系统ECC单元1306生成的、与错误的发生有关的所有数据。也就是说,与错误相关联并且在错误校正信息ERR_CO_INFO中包括的错误信息可以指示错误的时间、错误的位置、错误的属性、错误的类型和数量。例如,错误信息可以指示已经发生错误的数据中的位的数量、已经发生错误的数据的物理存储位置、错误的绝对时间、已经发生错误的物理区域的范围以及已经发生的错误的类型。
控制器130可以分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO,从而确定在存储器装置1501至1508的每一个中已经发生的错误的数量、类型和形式。因此,控制器130可以基于错误的数量、类型和形式来分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且可以针对存储器系统110中包括的各个存储器装置1501至1508设定不同的错误校正强度。控制器130可以根据错误校正强度对各个存储器装置1501至1508执行不同的错误应对操作。
更具体地,控制器130中包括的错误信息收集单元1301可以在设定时间点将用于信息收集的命令(未示出)传送到存储器系统110,并且然后接收并收集响应于用于信息收集的命令而从存储器系统110中包括的多个存储器装置1501至1508的信息存储区域PA1至PA8输出的日志信息LOG_INFO。错误信息收集单元1301可以实时地或在每个设定时间点收集由系统ECC单元1306生成的错误校正信息ERR_CO_INFO。
控制器130可以根据以下任何情形来选择并指定设定时间点。
第一,控制器130可以将自向存储器系统110供应电力时起每隔特定时间间隔重新出现的时间点指定为设定时间点。
第二,控制器130可以对在对存储器系统110的访问操作期间,即在对多个存储器装置1501至1508的访问操作期间发生的错误的数量进行计数,并且将所计数的数量超过参考数量的每个时间点指定为设定时间点。可以在完成相关联的错误计数之后的每个设定时间点重置所计数的数量。可以由系统ECC单元1306来对错误的数量进行计数。
第三,控制器130可以执行错误校正操作,以校正在对存储器系统110的访问操作,即对多个存储器装置1501至1508的访问操作期间发生的错误,并且将错误校正操作所需的时间等于或大于特定时间的每个时间点指定为设定时间点。当错误校正操作所需的时间等于或大于特定时间时,可能指示:在校正错误的进程中,使用汉明码的相对简单的错误校正操作失败,因此使用了利用里德-所罗门码的相对复杂的错误校正操作。例如,可以由系统ECC单元1306执行错误校正操作。
错误信息收集单元1301可以将日志信息LOG_INFO和错误校正信息ERR_CO_INFO存储在控制器130内的设定空间中。如图1B所示,设定空间可以是错误信息收集单元1301内的单独存储区域。虽然在图1B中未直接示出,但是控制器130内的设定空间可以是系统存储器的特定存储空间,该系统存储器包括在控制器130中并且用作存储器系统110的工作存储器。
第一错误分析单元1303可以分析由错误信息收集单元1301收集的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,检查在各个存储器装置1501至1508中发生的错误的数量和类型,并且根据由检查操作确定的数量和类型来判定各个存储器装置1501至1508的错误等级。关于由第一错误分析单元1303判定的各个存储器装置1501至1508的错误等级的信息可以存储在控制器130内的设定空间中。
第二错误分析单元1304可以根据由第一错误分析单元1303判定的各个存储器装置1501至1508的错误等级来选择多个存储器装置1501至1508中的一些。针对在多个存储器装置1501至1508之中选择的一些存储器装置,第二错误分析单元1304可以通过对日志信息LOG_INFO和错误校正信息ERR_CO_INFO进行额外分析以检查错误的形式和数量来判定错误校正强度。对于除了被选择的存储器装置之外的其他存储器装置,第二错误分析单元1304可以判定与由第一错误分析单元1303确定的错误等级相对应的错误校正强度。第二错误分析单元1304可以从控制器130内的设定空间中读取由第一错误分析单元1303判定的针对各个存储器装置1501至1508的错误校正强度。此外,关于由第二错误分析单元1304判定的各个存储器装置1501至1508的错误等级的信息可以存储在控制器130内的设定空间中。
错误应对操作单元1305可以根据由第二错误分析单元1304判定的针对存储器装置1501至1508的错误校正强度,对各个存储器装置1501至1508执行不同的错误应对操作。错误应对操作单元1305可以从控制器130内的设定空间中读取由第二错误分析单元1304判定的针对各个存储器装置1501至1508的错误校正强度。
系统ECC单元1306可以通过对待存储在各个存储器装置1501至1508中的数据执行错误校正编码操作来生成ECC。控制器130可以将基于码字的数据传送到各个存储器装置1501至1508,该基于码字的数据通过将ECC包括在待存储在各个存储器装置1501至1508中的数据中来配置。从控制器130输入的基于码字的数据可以存储在多个存储器装置1501至1508中。系统ECC单元1306可以执行检查从各个存储器装置1501至1508读取的数据中是否发生错误的操作,并且当所读取的数据中发生错误时,执行错误校正解码操作即错误校正操作,从而恢复发生错误之前的正常数据。因为多个存储器装置1501至1508中存储的数据是基于码字的数据,所以从各个存储器装置1501至1508读取的数据也可以是基于码字的数据。因此,系统ECC单元1306可以通过使用从各个存储器装置1501至1508读取的基于码字的数据中包括的ECC来执行错误校正操作。当数据中发生的错误位的数量等于或大于可校正错误位极限时,系统ECC单元1306的错误校正操作可能失败,并且不能校正该错误位。系统ECC单元1306可以使用诸如以下的编码调制来执行错误校正:汉明码、LDPC(低密度奇偶校验)码、BCH(博斯-查德胡里-霍昆格姆)码、涡轮码、里德-所罗门码、卷积码、RSC(递归系统代码)、TCM(网格编码调制)或BCM(分组编码调制),并且本实施例不限于此。系统ECC单元1306可以包括用于错误校正的代码、电路、模块、系统或装置。
作为参考,由控制器130中包括的系统ECC单元1306能够校正错误的数据的大小,可以与由各个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8中的每一个能够校正错误的数据的大小不同。例如,由系统ECC单元1306能够校正错误的数据的大小可以大于由存储器ECC单元ECC1至ECC8中的每一个能够校正错误的数据的大小。在本实施例中,已经描述了所有系统ECC单元1306和存储器ECC单元ECC1至ECC8都可以执行错误校正操作。然而,这仅是示例,而本实施例不限于此。在实施例中,存储器ECC单元ECC1至ECC8可以仅执行检查是否发生错误的错误检查操作,并且系统ECC单元1306可以执行错误检查操作和错误校正操作两者。
图1C是示出根据第三实施例的存储器系统的配置的示图。
参照图1C,根据第三实施例的存储器系统110可以包括多个存储器装置1501至1508。存储器装置1501至1508中的每一个可以包括多个存储体BK<1:4>、错误信息收集单元1511、错误分析单元1513、错误应对操作单元1515和存储器ECC单元1516。此外,存储器装置1501至1508可以分别包括信息存储区域PA1至PA8。
作为参考,图1C基于存储器装置1501至1508中的每一个是DRAM的假设。当存储器装置是不同类型的存储器装置时,可以改变存储器装置的详细配置。具体地,存储体BK<1:4>中的每一个可以包括多个存储器单元CELL,该多个存储器单元CELL以阵列联接到多个字线WL1、WL2、……、WLX和多个位线BL1、BL2、BL3、……、BLY的,并且存储器单元中的每一个可以将一位或多位数据存储在其中。也就是说,存储体BK<1:4>中的每一个可以认为是包括阵列中的多个存储器单元的“单元阵列区域”。因此,表述“多个存储体”是基于存储器装置是DRAM的假设。当该存储器装置是不同类型的存储器装置时,可以用表述“多个单元阵列区域”来替换表述“多个存储体”。简而言之,多个存储器装置1501至1508的内部配置的设计可以根据各个存储器装置1501至1508的特性、存储器系统110的使用目的或存储器系统110的规范而改变。
当通过多个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8的操作来对在由存储器系统110中包括的多个存储器装置1501至1508执行的例如数据读取/写入操作的访问操作期间发生的错误进行校正时,多个存储器装置1501至1508可以生成关于由存储器ECC单元ECC1至ECC8校正其错误的数据的日志信息LOG_INFO。也就是说,多个存储器装置1501至1508可以通过在信息存储区域PA1至PA8中累积并存储错误信息来生成日志信息LOG_INFO,该错误信息与在访问操作期间由存储器ECC单元ECC1至ECC8校正的错误相关联。与错误相关联并且在日志信息LOG_INFO中包括的错误信息可以指示可以由多个存储器装置1501至1508生成且与错误的发生有关的所有数据。也就是说,与错误相关联并且在日志信息LOG_INFO中包括的错误信息可以指示错误的时间、错误的位置、错误的属性、错误的类型和数量。例如,错误信息可以指示已经发生错误的数据中的位的数量,已经发生错误的数据的物理存储位置、错误的绝对时间、已经发生错误的物理区域的范围以及已经发生的错误的类型。信息存储区域PA1至PA8可以被配置为存储空间,该存储空间以寄存器的形式包括在各个存储器装置1501至1508中。信息存储区域PA1至PA8中的每一个可以对应于相应存储器装置中包括的多个存储体BK<1:4>中的至少一个的至少一部分。
具体地,错误信息收集单元1511可以实时地或在每个设定时间点收集由存储器ECC单元1516生成并存储在信息存储区域PA1至PA8中的日志信息LOG_INFO。
错误信息收集单元1511可以根据以下任何情形来选择并指定设定时间点。
第一,错误信息收集单元1511可以将自向存储器系统110供应电力起每隔特定时间间隔重新出现的时间点指定为设定时间点。
第二,错误信息收集单元1511可以对在对多个存储器装置1501至1508的访问操作期间发生的错误的数量进行计数,并且将所计数的数量超过参考数量的每个时间点指定为设定时间点。可以在完成相关联的错误计数之后的设定时间点重置所计数的数量。可以由存储器ECC单元1516来对错误的数量进行计数。
第三,错误信息收集单元1511可以执行错误校正操作,以校正在对多个存储器装置1501至1508的访问操作期间发生的错误,并且将错误校正操作所需的时间等于或大于特定时间的每个时间点指定为设定时间点。当错误校正操作所需的时间等于或大于特定时间时,可能指示:在校正错误的进程中,使用汉明码的相对简单的错误校正操作失败,因此使用了利用里德-所罗门码的相对复杂的错误校正操作。例如,可以由存储器ECC单元1516执行错误校正操作。
错误分析单元1513可以分析由错误信息收集单元1511收集的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,从而确定在存储器装置1501至1508中的每一个中发生的错误的数量、类型和形式。具体地,错误分析单元1513可以分析由错误信息收集单元1511收集的日志信息LOG_INFO,检查在存储器装置1501至1508中的每一个中发生的错误的数量和类型,并且根据检查操作确定的错误的数量和类型来判定各个存储器装置1501至1508的错误等级。关于由错误分析单元1513判定的各个存储器装置1501至1508的错误等级的信息可以存储在信息存储区域PA1至PA8中。
错误应对操作单元1515可以根据由错误分析单元1513判定的存储器装置1501至1508的错误等级,对各个存储器装置1501至1508执行不同的错误应对操作。错误应对操作单元1515可以从信息存储区域PA1至PA8读取由错误分析单元1513判定的各个存储器装置1501至1508的错误等级。
存储器ECC单元1516可以通过对待存储在各个存储器装置1501至1508中的数据执行错误校正编码操作来生成ECC。存储器ECC单元1516可以将基于码字的数据存储在多个存储器装置1501至1508中,该基于码字的数据通过将ECC包括在待存储在各个存储器装置1501至1508中的数据中来配置。存储器ECC单元1516可以执行检查从各个存储器装置1501至1508读取的数据中是否发生错误的操作,并且当所读取的数据中发生错误时,执行错误校正解码操作即错误校正操作,从而恢复发生错误之前的正常数据。因为各个存储器装置1501至1508中存储的数据是基于码字的数据,所以从各个存储器装置1501至1508读取的数据也可以是基于码字的数据。因此,存储器ECC单元1516可以通过使用从各个存储器装置1501至1508读取的基于码字的数据中包括的ECC来执行错误校正操作。当数据中出现的错误位的数量等于或大于可校正错误位极限时,存储器ECC单元1516的错误校正操作可能失败,并且不能校正该错误位。存储器ECC单元1516可以使用诸如以下的编码调制来执行错误校正:奇偶校验码、汉明码、LDPC(低密度奇偶校验)码、BCH(博斯-查德胡里-霍昆格姆)码、涡轮码、里德-所罗门码、卷积码、RSC(递归系统代码)、TCM(网格编码调制)或BCM(分组编码调制),并且本实施例不限于此。存储器ECC单元1516可以包括用于错误校正的代码、电路、模块、系统或装置。
图2至图4以及图5A和图5B是用于描述根据实施例的数据处理系统的日志信息分析操作的流程图和示图。
图1A和图2示出数据处理系统分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO并且判定各个存储器装置1501至1508的错误等级的方法。
具体地,当通过多个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8的操作来对在由多个存储器装置1501至1508执行的例如数据读取/写入操作的访问操作期间发生的错误进行校正时,多个存储器装置1501至1508可以生成关于由存储器ECC单元ECC1至ECC8校正其错误的数据的日志信息LOG_INFO。
当在对各个存储器装置1501至1508的例如数据读取操作的访问操作期间由主机102中包括的主机ECC单元1026对错误进行校正时,主机102可以生成关于由主机ECC单元1026校正其错误的数据的错误校正信息ERR_CO_INFO。
主机102可以收集并分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO。也就是说,主机102可以判定针对各个存储器装置1501至1508的错误等级和错误校正强度。
作为参考,虽然在附图中未具体示出,但是存储器系统110可进一步包括用于在主机102与多个存储器装置1501至1508之间传送信号的主机接口(未示出)。也就是说,存储器装置1501至1508中的每一个可以通过主机接口将在其中生成的日志信息LOG_INFO输出到主机102。
此外,虽然在附图中未具体示出,但是主机102可进一步包括用于在存储器系统110与主机102内的其他组件1021至1026之间传送信号的存储器接口(未示出)。也就是说,主机102可以通过存储器接口接收由多个存储器装置1501至1508通过存储器系统110输出的日志信息LOG_INFO。
在步骤S10中,主机102中包括的第一错误分析单元1023可以分析由错误信息收集单元1021收集的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,检查多个存储器装置1501至1508之中发生错误的数量等于或大于第一参考数量的存储器装置,并且将相应存储器装置分类为“第一存储器装置”。
例如,假设在针对多个存储器装置1501至1508之中的存储器装置1501的访问进程中由主机ECC单元1026或存储器ECC单元ECC1至ECC8校正的错误的数量为12,并且在针对其他存储器装置1502至1508的访问进程中由主机ECC单元1026或存储器ECC单元ECC1至ECC8校正的错误的数量小于10。此外,假设第一参考数量是10。在这种情况下,第一错误分析单元1023可以将存储器装置1501分类为“第一存储器装置”,并且不判定其他存储器装置1502至1508的错误等级。
具体地,第一错误分析单元1023可以分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型(在步骤S10中为“是”)。第一错误分析单元1023可以将在被分类为“第一存储器装置”的存储器装置中发生的错误分类为步骤S20中的以字线为单位发生的错误、步骤S30中的以单个位为单位发生的错误、步骤S40中的以位线为单位发生的错误以及步骤S50中的其他错误。
步骤S20中的以字线为单位发生的错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误发生在相同存储体内的相同字线中。步骤S30中的以单个位为单位发生的错误可以指示一个错误或没有错误发生在相同字线和相同位线中。步骤S40中的以位线为单位发生的错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误发生在相同位线中。步骤S50中的其他错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误没有特定分布。例如,步骤S50中的其他错误可以指示除了以字线为单位、以单个位为单位或以位线为单位发生的错误以外的错误。
当通过检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型而获得的结果指示该错误是步骤S20中的以字线为单位发生的错误时,在步骤S60中,第一错误分析单元1023可以对在被分类为“第一存储器装置”的存储器装置中的相同字线中发生的错误的数量进行计数。当所计数的错误的数量等于或大于第二参考数量(在步骤S70中为“是”)时,在步骤S90中,第一错误分析单元1023可以通过将该存储器装置的错误等级判定为第一错误等级来将相应存储器装置分类为“第二存储器装置”。当所计数的错误的数量小于第二参考数量(在步骤S70中为“否”)时,在步骤S80中,第一错误分析单元1023可以通过将该存储器装置的错误等级判定为第二错误等级来将相应存储器装置分类为“第三存储器装置”。
当通过检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型来获得的结果指示该错误是在步骤S30中以单个位为单位发生的错误、在步骤S40中以位线为单位发生的错误以及步骤S50中的其他错误时,在步骤S80中,第一错误分析单元1023可以通过将存储器装置的错误等级判定为第二错误等级来将相应存储器装置分类为“第三存储器装置”。
例如,假设在被分类为“第一存储器装置”的存储器装置1501中发生的错误是以字线为单位发生的错误,并且在相同字线中发生的错误的数量等于或大于第二参考数量。在这种情况下,第一错误分析单元1023可以通过将存储器装置1501的错误等级判定为第一错误等级来将被分类为“第一存储器装置”的存储器装置1501分类为“第二存储器装置”。
参照图1A、图2和图3,主机102中包括的第二错误分析单元1024可以根据由第一错误分析单元1023判定的各个存储器装置1501至1508的错误等级来选择多个存储器装置1501至1508中的一些。对于在多个存储器装置1501至1508之中选择的存储器装置,第二错误分析单元1024可以通过对日志信息LOG_INFO和错误校正信息ERR_CO_INFO进行额外分析以检查错误的形式和数量来判定错误校正强度。对于除了被选择存储器装置之外的其他存储器装置,第二错误分析单元1024可以判定与由第一错误分析单元1023判定的错误等级相对应的错误校正强度。
具体地,第一错误分析单元1023已将多个存储器装置1501至1508分类为没有判定错误等级的存储器装置、错误等级被判定为第一错误等级的“第二存储器装置”以及错误等级被判定为第二错误等级的“第三存储器装置”。
在操作K10中,第二错误分析单元1024可以检查由第一错误分析单元1023判定的错误等级是否是第一错误等级。
当操作K10的检查结果指示由第一错误分析单元1023判定的错误等级不是第一错误等级(在操作K10中为“否”),或者相应存储器装置是没有判定错误等级的存储器装置或错误等级被判定为第二错误等级的“第三存储器装置”时,在操作K70中,第二错误分析单元1024可以通过向该存储器装置分配第二错误校正强度来将该存储器装置分类为“第五存储器装置”。在操作K80中,错误应对操作单元1025可以对分配有第二错误校正强度并且被分类为“第五存储器装置”的存储器装置执行第二错误应对操作。
当操作K10的检查结果指示由第一错误分析单元1023判定的错误等级是第一错误等级(在操作K10中为“是”)或相应存储器装置为错误等级被判定为第一错误等级的“第二存储器装置”时,第二错误分析单元1024可以通过额外地分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO来检查错误的形式和数量,然后判定错误校正强度。具体地,第二错误分析单元1024可以额外地分析关于错误等级被判定为第一错误等级的“第二存储器装置”的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且在操作K30中检查在“第二存储器装置”中发生的错误是否跨越数量等于或大于第三参考数量的码字单位。
将参照图4、图5A和图5B描述检查跨越码字单位的错误的操作。
参照图4,码字单位的基本含义可以指示,当主机102中包括的主机ECC单元1026执行校正错误的操作时,被设定为用于校正错误的操作的参考量的数据量。例如,当主机102生成待存储在存储器系统110中的512位数据时(401),主机ECC单元1026可以通过对该512位数据执行错误校正编码操作(402)来生成64位ECC(403)。主机102可以将通过对主机102中生成的512位数据和64位ECC求和而获得的总共576位数据划分为两个码字单位,并且对码字单位进行管理(404)。也就是说,一个码字单位可以包括通过对在主机102中生成的256位数据和32位ECC求和而获得的288位数据。主机102可以将该576位数据输出到存储器系统110(405)。作为参考,图4示出了将576位数据作为两个码字单位进行管理。但是,实际上,可以将576位数据作为更小或更大数量的码字单位进行管理。
与图1的实施例不同,图4是基于存储器系统110包括总共18个存储器装置的假设。存储器系统110可以将从主机102输入的576位数据(405)分配并存储到18个存储器装置中。因此,可以在18个存储器装置的每一个中存储32位数据。此外,由于主机102将576位数据划分为两个码字单位单元并且对该码字单位进行管理,因此存储器系统110可以将与两个码字单位相对应的数据存储在18个存储器装置的每一个中。因此,可以将与第一码字单位Codeword0相对应的16位数据和与第二码字单位Codeword1相对应的16位数据存储在18个存储器装置的每一个中。也就是说,存储器系统110可以将与第一码字单位Codeword0相对应的288位数据和与第二码字单位Codeword1相对应的288位数据分配并存储到18个存储器装置中。
当将从主机102输入的576位数据存储在18个存储器装置的每一个中时,存储器系统110可以识别576位数据是连续数据,并且设定突发长度BL以存储该数据。假设18个存储器装置中的每一个都有四个数据I/O(输入/输出)端子(x4)。在这种情况下,存储器系统110可以将上突发长度设定为4(BL4),并且将与第一码字单位Codeword0相对应的288位数据以16位分配和存储在18个存储器装置中。此外,存储器系统110可以将下突发长度设定为4(BL4),并且将与第二码字单位Codeword1相对应的288位数据以16位分配和存储在18个存储器装置中。
如参照图4所描述的,主机102可以将作为一个或多个码字单位管理的数据输出到存储器系统110。存储器系统110可以将从主机102输入的数据以与码字单位相对应的形式分配并存储到多个存储器装置中。
参照图5A,如参照图4所述,一个存储器装置的32位数据被划分为分别与两个码字单位Codeword0和Codeword1相对应的16位数据,然后通过四个数据I/O端子(x4)DQ<0:3>读取。图5A示出在通过特定数据输入/输出端子例如第一和第三数据I/O端子DQ<1:3>读取的数据中出现错误位ERROR BIT。也就是说,错误位的出现原因未包括在图5A中,但是在通过特定数据I/O端子读取的数据中出现了错误位。因此,错误位ERROR BIT跨越两个码字单位Codeword0和Codeword1。
参照图5B,一个存储器装置的32位数据被划分为分别与两个码字单位Codeword0和Codeword1相对应的16位数据,并且然后如参照图5A所述,通过四个数据输入/输出端子(x4)DQ<0:3>读取。图5B示出在第一码字单位Codeword0中包括的读取数据中出现错误位ERRORBIT,但是在第二码字单位Codeword1中包括的读取数据中没有出现错误位。也就是说,图5B中未包括错误的发生原因,但是错误位ERROR BIT仅包括在一个码字单位Codeword0中,并且没有跨越两个码字单位Codeword0和Codeword1。
返回参照图1A、图2和图3,额外地分析关于由第二错误分析单元1024判定为第一错误等级的“第二存储器装置”的日志信息LOG_INFO,并且检查在“第二存储器装置”中发生的错误是否跨越数量等于或大于第三参考数量的码字单位的操作K30,在第三参考数量被设定为2的假设下,可以指示检查在“第二存储器装置”中发生的错误是如图5A所示那样跨越两个码字单位还是如图5B所示那样仅包括在一个码字单位中的操作。
当操作K30的检查结果指示在“第二存储器装置”中发生的错误跨越数量等于或大于第三参考数量的码字单位(在操作K30中为“是”)时,在操作K40中,第二错误分析单元1024可以检查跨越数量等于或大于第三参考数量的码字单位的错误位的总数量是否等于或大于第四参考数量。例如,由于在第四参考数量被设定为8的假设下,如图5A所示跨越两个码字单位Codeword0和Codeword1的错误位的总数量为16,所以错误位的总数量可以等于或大于被设定为8的第四参考数量。
当操作K40的检查结果指示跨越数量等于或大于第三参考数量的码字单位的错误位的总数量等于或大于第四参考数量(在操作K40中为“是”),而在“第二存储器装置”中发生的错误跨越数量等于或大于第三参考数量的码字单位(在操作K30中为“是”)时,在操作K50中,第二错误分析单元1024可以向“第二存储器装置”分配第一错误校正强度,并且将相应的存储器装置分类为“第四存储器装置”。在操作K60中,错误应对操作单元1025可以对分配有第一错误校正强度并且被分类为“第四存储器装置”的存储器装置执行第一错误应对操作。
当操作K30的检查结果指示在“第二存储器装置”中发生的错误仅包括在小于第三参考数量的码字单位中(在操作K30中为“否”)时,在操作K70中,第二错误分析单元1024可以向“第二存储器装置”分配第二错误校正强度,并且将相应存储器装置分类为“第五存储器装置”。在操作K80中,错误应对操作单元1025可以对分配有第二错误校正强度并且被分类为“第五存储器装置”的存储器装置执行第二错误应对操作。
下面将描述第二错误分析单元1024的操作。
首先,如参照图2所述,假设第一错误分析单元1023通过将存储器装置1501的错误等级判定为第一错误等级来将多个存储器装置1501至1508之中的存储器装置1501分类为“第二存储器装置”,并且没有判定其他存储器装置1502至1508的错误等级,并且没有错误等级被判定为第二错误等级并且被分类为“第三存储器装置”的存储器装置。
在操作K70中,第二错误分析单元1024可以将第二错误校正强度分配给错误等级没有被第一错误分析单元1023判定为第一错误等级的存储器装置(在操作K10中为“否”),即,未判定错误等级的存储器装置和错误等级被判定为第二错误等级的“第三存储器装置”,并且将该存储器装置分类为“第五存储器装置”。因此,在操作K70中,第二错误分析单元1024可以向未判定错误等级的其他存储器装置1502至1508分配第二错误校正强度,并且将其他存储器装置1502至1508分类为“第五存储器装置”。
在错误等级被第一错误分析单元1023判定为第一错误等级的存储器装置(在操作K10中为“是”),即错误等级判定为第一错误等级的“第二存储器装置”的情况下,第二错误分析单元1024可以通过额外地分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO来检查错误的形式和数量,然后判定错误校正强度。因此,第二错误分析单元1024可以通过额外地分析关于错误等级被判定为第一错误等级并且被分类为“第二存储器装置”的存储器装置1501的日志信息LOG_INFO和错误校正信息ERR_CO_INFO来检查错误的形式和数量,然后判定错误校正强度。
具体地,第二错误分析单元1024可以额外地分析关于存储器装置1501的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且在操作K30中检查错误是否跨越数量等于或大于第三参考数量的码字单位。检查结果可以指示在存储器装置1501中发生的错误跨越数量等于或大于第三参考数量的码字单位(在操作K30中为“是”)。因此,在操作K40中,第二错误分析单元1024可以检查存储器装置1501中的、跨越数量等于或大于第三参考数量的码字单位的错误中包含的错误位的总数量是否等于或大于第四参考数量。检查结果可以指示存储器装置1501中的、跨越数量等于或大于第三参考数量的码字单位的错误位的总数量等于或大于第四参考数量(在操作K40中为“是”)。因此,在操作K50中,第二错误分析单元1024可以通过将第一错误校正强度分配给存储器装置1501来将存储器装置1501分类为“第四存储器装置”。
主机102中包括的错误应对操作单元1025可以根据由第二错误分析单元1024判定的针对存储器装置1501至1508的错误校正强度,对各个存储器装置1501至1508执行不同的错误应对操作。
具体地,错误应对操作单元1025可以对多个存储器装置1501至1508之中的、第二错误分析单元1024通过分配第一错误校正强度已经分类为“第四存储器装置”的存储器装置执行第一错误应对操作。此外,错误应对操作单元1025可以对多个存储器装置1501至1508之中的、第二错误分析单元1024通过分配第二错误校正强度已经分类为“第五存储器装置”的存储器装置执行第二错误应对操作。
第一错误应对操作可以包括以下操作中的一个或多个操作。
第一操作是选择被分类为“第四存储器装置”的存储器装置中的发生错误的区域并且阻止对被选择区域的访问的操作。例如,错误应对操作单元1025可以选择被分类为“第四存储器装置”的存储器装置1501中的特定块、字线或位线,并且阻止对被选择块、字线或位线的访问。错误应对操作单元1025可以复制作为访问阻止目标的特定块、字线或位线中存储的数据,将所复制的数据存储在“另一区域”中,然后执行访问阻止操作。此处,“另一区域”可以指示存储器装置1501的另一正常块、正常字线或正常位线。此外,“另一区域”可以指示其他存储器装置1502至1508而不是存储器装置1501中包括的另一正常块、正常字线或正常位线。作为参考,可以正常地执行将作为访问阻止目标的特定块、字线或位线中存储的数据存储在“另一区域”中的操作的原因是,选择特定块、字线或位线作为访问阻止目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常运行或者在特定块、字线或位线中仅发生可恢复错误。
第二操作是选择被分类为“第四存储器装置”的存储器装置中的、发生错误的区域并修复被选择区域的操作。例如,错误应对操作单元1025可以用另一正常冗余块、冗余字线或冗余位线来修复被分类为“第四存储器装置”的存储器装置1501中的特定块、字线或位线。主机102可以停止对存储器装置1501的访问,直到针对与修复目标相对应的存储器装置1501的修复操作完成为止。作为修复目标的存储器装置1501可以将被设定为修复目标的特定块、字线或位线中存储的数据复制到其中的信息存储区域PA1中,然后执行修复操作。在修复操作完成之后,存储器装置1501可以将被复制在信息存储区域PA1中的数据恢复到冗余块、冗余字线或冗余位线中。作为参考,可以正常地执行将被设定为修复目标的特定块、字线或位线中存储的数据复制在信息存储区域PA1中的操作的原因是,选择特定块、字线或位线作为修复目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常操作或者在特定块、字线或位线中仅发生可恢复错误。
第三操作是选择被分类为“第四存储器装置”的存储器装置中的发生错误的区域并且使被选择区域停用的操作。例如,错误应对操作单元1025可以使被分类为“第四存储器装置”的存储器装置1501中的特定块、字线或位线停用。作为停用目标的存储器装置1501可以复制被设定为停用目标的特定块、字线或位线中存储的数据,将所复制的数据存储在“另一区域”中,并且通知主机102数据已经移动到“另一区域”。此处,“另一区域”可以指示存储器装置1501的另一正常块、字线或位线。此外,“另一区域”可以指示其他存储器装置1502至1508而不是存储器装置1501中包括的另一正常块、字线或位线。作为参考,可以正常地执行将被设定为停用目标的特定块、字线或位线中存储的数据存储到“另一区域”中的操作的原因是,选择特定块、字线或位线作为停用目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常运行或者仅发生可恢复错误。
当在对被分类为“第五存储器装置”的存储器装置的访问操作期间发生错误时,第二错误应对操作可以包括对发生错误的基于码字的数据的使用ECC的错误校正操作,该错误校正操作通过主机ECC单元1026执行。
图1B和图2示出数据处理系统分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO并且判定各个存储器装置1501至1508的错误等级的方法。
具体地,当通过多个存储器装置1501至1508中包括的存储器ECC单元ECC1至ECC8的操作对在多个存储器装置1501至1508执行的例如数据读取/写入操作的访问操作期间发生的错误进行校正时,多个存储器装置1501至1508可以生成关于被存储器ECC单元ECC1至ECC8已经校正错误的数据的日志信息LOG_INFO。
当在对各个存储器装置1501至1508的访问操作例如数据读取操作期间,通过控制器130中包括的系统ECC单元1306对错误进行校正时,控制器130可以生成关于被系统ECC单元1306校正错误的数据的错误校正信息ERR_CO_INFO。
控制器130可以收集并分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO。也就是说,控制器130可以判定各个存储器装置1501至1508的错误等级和错误校正强度。
在步骤S10中,控制器130中包括的第一错误分析单元1303可以分析由错误信息收集单元1301收集的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,检查多个存储器装置1501至1508之中的发生的错误的数量等于或大于第一参考数量的存储器装置,并且将相应存储器装置分类为“第一存储器装置”。
例如,假设在对多个存储器装置1501至1508之中的存储器装置1501的访问进程期间由系统ECC单元1306或存储器ECC单元ECC1至ECC8校正的错误的数量为12,并且在对其他存储器装置1502至1508的访问进程期间由系统ECC单元1306或存储器ECC单元ECC1至ECC8校正的错误的数量小于10。此外,假设第一参考数量是10。在这种情况下,第一错误分析单元1303可以将存储器装置1501分类为“第一存储器装置”,并且不判定其他存储器装置1502至1508的错误等级。
具体地,第一错误分析单元1303可以分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型(在步骤S10中为“是”)。第一错误分析单元1303可以将在被分类为“第一存储器装置”的存储器装置中发生的错误分类为步骤S20中的以字线为单位发生的错误、步骤S30中的以单个位为单位发生的错误、步骤S40中的以位线为单位发生的错误、以及步骤S50中的其他错误。
步骤S20中的以字线为单位发生的错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误发生在相同存储体内的相同字线中。步骤S30中的以单个位为单位发生的错误可以指示一个错误或没有错误发生在相同字线和相同位线中。步骤S40中的以位线为单位发生的错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误发生在相同位线中。步骤S50中的其他错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误没有特定分布。例如,步骤S50中的其他错误可以指示除了以字线为单位、以单个位为单位或以位线为单位发生的错误以外的错误。
当通过检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型而获得的结果指示该错误是步骤S20中的以字线为单位发生的错误时,在步骤S60中,第一错误分析单元1303可以对在被分类为“第一存储器装置”的存储器装置中的相同字线中发生的错误的数量进行计数。当所计数的错误的数量等于或大于第二参考数量(在步骤S70中为“是”)时,在步骤S90中,第一错误分析单元1303可以通过将该存储器装置的错误等级判定为第一错误等级来将相应存储器装置分类为“第二存储器装置”。当所计数的错误的数量小于第二参考数量(在步骤S70中为“否”)时,在步骤S80中,第一错误分析单元1303可以通过将该存储器装置的错误等级判定为第二错误等级来将相应存储器装置分类为“第三存储器装置”。
当通过检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型而获得的结果指示该错误是以单个位为单位发生的错误(在步骤S30中为“是”)、以位线为单位发生的错误(在步骤S40中为“是”)以及其他错误(在步骤S50中为“是”)时,在步骤S80中,第一错误分析单元1303可以通过将存储器装置的错误等级判定为第二错误等级来将相应存储器装置分类为“第三存储器装置”。
例如,假设在被分类为“第一存储器装置”的存储器装置1501中发生的错误是以字线为单位发生的错误,并且在相同字线中发生的错误的数量等于或大于第二参考数量。在这种情况下,第一错误分析单元1303可以通过将存储器装置1501的错误等级判定为第一错误等级来将被分类为“第一存储器装置”的存储器装置1501分类为“第二存储器装置”。
参照图1B、图2和图3,控制器130中包括的第二错误分析单元1304可以根据由第一错误分析单元1303判定的各个存储器装置1501至1508的错误等级来选择多个存储器装置1501至1508中的一些。对于在多个存储器装置1501至1508之中选择的一些存储器装置,第二错误分析单元1304可以通过对日志信息LOG_INFO和错误校正信息ERR_CO_INFO进行额外分析以检查错误的形式和数量来判定错误校正强度。对于除了被选择存储器装置之外的其他存储器装置,第二错误分析单元1304可以判定与由第一错误分析单元1303判定的错误等级相对应的错误校正强度。
具体地,第一错误分析单元1303已将多个存储器装置1501至1508分类为没有判定错误等级的存储器装置、错误等级被判定为第一错误等级的“第二存储器装置”以及错误等级被判定为第二错误等级的“第三存储器装置”。
在操作K10中,第二错误分析单元1304可以检查由第一错误分析单元1303判定的错误等级是否是第一错误等级。
当操作K10的检查结果指示由第一错误分析单元1303判定的错误等级不是第一错误等级(在操作K10中为“否”)、或者相应存储器装置是未判定错误等级的存储器装置或错误等级被判定为第二错误等级的“第三存储器装置”时,在操作K70中,第二错误分析单元1304可以通过向该存储器装置分配第二错误校正强度来将对应的存储器装置分类为“第五存储器装置”。在操作K80中,错误应对操作单元1305可以对分配有第二错误校正强度并且被分类为“第五存储器装置”的存储器装置执行第二错误应对操作。
当操作K10的检查结果指示由第一错误分析单元1303判定的错误等级是第一错误等级(在操作K10中为“是”)或存储器装置为错误等级被判定为第一错误等级的“第二存储器装置”时,第二错误分析单元1304可以通过额外地分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO来检查错误的形式和数量,然后判定错误校正强度。具体地,第二错误分析单元1304可以额外地分析关于错误等级被判定为第一错误等级的“第二存储器装置”的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且在操作K30中检查在“第二存储器装置”中发生的错误是否跨越数量等于或大于第三参考数量的码字单位。
已经参照图1A、图4、图5A和图5B描述了检查跨越码字单位的错误的操作的含义。因此,本文将省略对其的详细描述。
此外,额外地分析关于由第二错误分析单元1304判定为第一错误等级的“第二存储器装置”的日志信息LOG_INFO,并且检查在“第二存储器装置”中发生的错误是否跨越数量等于或大于第三个参考数量的码字单位的操作K30,在第三参考数量被设定为2的假设下,可以指示检查在“第二存储器装置”中发生的错误是如图5A所示的那样跨越两个码字单位还是如图5B所示的那样仅包括在一个码字单位中的操作。
当操作K30的检查结果指示在“第二存储器装置”中发生的错误跨越数量等于或大于第三参考数量的码字单位(在操作K30中为“是”)时,在操作K40中,第二错误分析单元1304可以检查跨越数量等于或大于第三参考数量的码字单位的错误位的总数量是否等于或大于第四参考数量。例如,由于在第四参考数量被设定为8的假设下,如图5A所示跨越两个码字单位Codeword0和Codeword1的错误位的总数量为16,所以错误位的总数量可以等于或大于被设定为8的第四参考数量。
当操作K40的检查结果指示跨越数量等于或大于第三参考数量的码字单位的错误位的总数量等于或大于第四参考数量时(在操作K40中为“是”),并且在“第二存储器装置”中发生的错误跨越数量等于或大于第三参考数量的码字单位(在操作K30中为“是”)时,在操作K50中,第二错误分析单元1304可以向“第二存储器装置”分配第一错误校正强度,并且将相应存储器装置分类为“第四存储器装置”。在操作K60中,错误应对操作单元1305可以对分配有第一错误校正强度并且被分类为“第四存储器装置”的存储器装置执行第一错误应对操作。
当操作K30的检查结果指示在“第二存储器装置”中发生的错误仅包括在小于第三参考数量的码字单位中(在操作K30中为“否”)时,在操作K70中,第二错误分析单元1304可以向“第二存储器装置”分配第二错误校正强度,并且将相应存储器装置分类为“第五存储器装置”。在操作K80中,错误应对操作单元1305可以对分配有第二错误校正强度并且被分类为“第五存储器装置”的存储器装置执行第二错误应对操作。
下面将描述第二错误分析单元1304的操作。
首先,如参照图2所述,假设第一错误分析单元1303通过将存储器装置1501的错误等级判定为第一错误等级来将多个存储器装置1501至1508中的存储器装置1501分类为“第二存储器装置”,并且没有判定其他存储器装置1502至1508的错误等级,并且没有错误等级被判定为第二错误等级并且被分类为“第三存储器装置”的存储器装置。
在操作K70中,第二错误分析单元1304可以将第二错误校正强度分配给错误等级没有被第一错误分析单元1303判定为第一错误等级的存储器装置(在操作K10中为“否”),即未判定错误等级的存储器装置和错误等级被判定为第二错误等级的“第三存储器装置”,并且将该存储器装置分类为“第五存储器装置”。因此,在操作K70中,第二错误分析单元1304可以向未判定错误等级的其他存储器装置1502至1508分配第二错误校正强度,并且将其他存储器装置1502至1508分类为“第五存储器装置”。
在错误等级被第一错误分析单元1303判定为第一错误等级的存储器装置(在操作K10中为“是”),即错误等级被判定为第一错误等级的“第二存储器装置”的情况下,第二错误分析单元1304可以通过额外地分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO来检查错误的形式和数量,然后判定错误校正强度。因此,第二错误分析单元1304可以通过额外地分析关于错误等级被判定为第一错误等级并且被分类为“第二存储器装置”的存储器装置1501的日志信息LOG_INFO和错误校正信息ERR_CO_INFO来检查错误的形式和数量,然后判定错误校正强度。
具体地,在操作K30中,第二错误分析单元1304可以额外地分析关于存储器装置1501的日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且检查错误是否跨越数量等于或大于第三参考数量的码字单位。检查结果可以指示在存储器装置1501中发生的错误跨越数量等于或大于第三参考数量的码字单位(在操作K30中为“是”)。因此,在操作K40中,第二错误分析单元1304可以检查存储器装置1501中的、跨越数量等于或大于第三参考数量的码字单位的错误中包含的错误位的总数量是否等于或大于第四参考数量。检查结果可以指示存储器装置1501中的、跨越数量等于或大于第三参考数量的码字单位的错误位的数量等于或大于第四参考数量(在操作K40中为“是”)。因此,在操作K50中,第二错误分析单元1304可以通过向存储器装置1501分配第一错误校正强度来将存储器装置1501分类为“第四存储器装置”。
控制器130中包括的错误应对操作单元1305可以根据由第二错误分析单元1304判定的针对存储器装置1501至1508的错误校正强度,对各个存储器装置1501至1508执行不同的错误应对操作。
具体地,错误应对操作单元1305可以对多个存储器装置1501至1508之中的、第二错误分析单元1304通过分配第一错误校正强度已经分类为“第四存储器装置”的存储器装置执行第一错误应对操作。此外,错误应对操作单元1305可以对多个存储器装置1501至1508之中的、第二错误分析单元1304通过分配第二错误校正强度已经分类为“第五存储器装置”的存储器装置执行第二错误应对操作。
第一错误应对操作可以包括以下操作中的一个或多个操作。
第一操作是选择被分类为“第四存储器装置”的存储器装置中发生错误的区域并且阻止对被选择区域的访问的操作。例如,错误应对操作单元1305可以选择被分类为“第四存储器装置”的存储器装置1501中的特定块、字线或位线,并且阻止对被选择的块、字线或位线的访问。错误应对操作单元1305可以复制作为访问阻止目标的特定块、字线或位线中存储的数据,将所复制的数据存储在“另一区域”中,然后执行访问阻止操作。此处,“另一区域”可以指示存储器装置1501的另一正常块、正常字线或正常位线。此外,“另一区域”可以指示其他存储器装置1502至1508而不是存储器装置1501中包括的另一正常块、正常字线或正常位线。作为参考,可以正常地执行将作为访问阻止目标的特定块、字线或位线中存储的数据存储在“另一区域”中的操作的原因是,选择特定块、字线或位线作为访问阻止目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常运行或者在特定块、字线或位线中仅发生可恢复错误。
第二操作是选择被分类为“第四存储器装置”的存储器装置中的、发生错误的区域并修复被选择区域的操作。例如,错误应对操作单元1305可以用另一正常冗余块、冗余字线或冗余位线来修复被分类为“第四存储器装置”的存储器装置1501中的特定块、字线或位线。控制器130可以停止对存储器装置1501的访问,直到针对与修复目标相对应的存储器装置1501的修复操作完成为止。作为修复目标的存储器装置1501可以将被设定为修复目标的特定块、字线或位线中存储的数据复制到其中的信息存储区域PA1中,然后执行修复操作。在修复操作完成之后,存储器装置1501可以将被复制在信息存储区域PA1中的数据恢复到已经完全修复的冗余块、冗余字线或冗余位线中。作为参考,可以正常地执行将被设定为修复目标的特定块、字线或位线中存储的数据复制在信息存储区域PA1中的操作的原因是因为,选择特定块、字线或位线作为修复目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常操作或者在特定块、字线或位线中仅发生可恢复的错误。
第三操作是选择被分类为“第四存储器装置”的存储器装置中发生错误的区域并且使所选择的区域停用的操作。例如,错误应对操作单元1305可以使被分类为“第四存储器装置”的存储器装置1501中的特定块、字线或位线停用。作为停用目标的存储器装置1501可以复制被设定为停用目标的特定块、字线或位线中存储的数据,将所复制的数据存储在“另一区域”中,并且通知控制器130数据已经移动到“另一区域”。此处,“另一区域”可以指示存储器装置1501的另一正常块、字线或位线。此外,“另一区域”可以指示其他存储器装置1502至1508而不是存储器装置1501中包括的另一正常块、字线或位线。作为参考,可以正常地执行将被设定为停用目标的特定块、字线或位线中存储的数据存储在“另一区域”中的操作的原因是,选择特定块、字线或位线作为停用目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点。特定块、字线或位线正常运行或者在特定块、字线或位线中仅发生可恢复的错误。
当在对被分类为“第五存储器装置”的存储器装置的访问操作期间发生错误时,第二错误应对操作可以包括对发生错误的基于码字的数据的使用ECC的错误校正操作,该错误校正操作通过系统ECC单元1306执行。
图1C和图2示出存储器系统分析日志信息LOG_INFO并且判定各个存储器装置1501至1508的错误等级的方法。
具体地,当通过多个存储器装置1501至1508中包括的存储器ECC单元1506的操作对在由多个存储器装置1501至1508执行的例如数据读取/写入操作的访问操作期间发生的错误进行校正时,多个存储器装置1501至1508可以生成关于被存储器ECC单元1506已经校正错误的数据的日志信息LOG_INFO。
错误信息收集单元1511和错误分析单元1513可以收集并分析日志信息LOG_INFO。也就是说,错误信息收集单元1511和错误分析单元1513可以判定各个存储器装置1501至1508的错误等级。
具体地,在步骤S10中,错误分析单元1513可以分析由错误信息收集单元1511收集的日志信息LOG_INFO,检查多个存储器装置1501至1508之中发生错误的数量等于或大于第一参考数量的存储器装置,并且将相应存储器装置分类为“第一存储器装置”。
例如,假设在对多个存储器装置1501至1508中的存储器装置1501的访问进程期间由存储器ECC单元1516校正的错误数量为12,并且在对其他存储器装置1502至1508的访问进程期间由存储器ECC单元1516校正的错误数量小于10。此外,假设第一参考数量是10。在这种情况下,错误分析单元1513可以将存储器装置1501分类为“第一存储器装置”,而不判定其他存储器装置1502至1508的错误等级。
更具体地,错误分析单元1513可以分析日志信息LOG_INFO和错误校正信息ERR_CO_INFO,并且检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型(在步骤S10中为“是”)。错误分析单元1513可以将在被分类为“第一存储器装置”的存储器装置中发生的错误分类为步骤S20中的以字线为单位发生的错误、步骤S30中的以单个位为单位发生的错误、步骤S40中的以位线为单位发生的错误、以及步骤S50中的其他错误。
步骤S20中的以字线为单位发生的错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误发生在相同存储体内的相同字线中。步骤S30中的以单个位为单位发生的错误可以指示一个错误或没有错发生在相同字线和相同位线中。步骤S40中的以位线为单位发生的错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误发生在相同位线中。步骤S50中的其他错误可以指示在被分类为“第一存储器装置”的存储器装置中发生的两个或更多个错误没有特定分布。例如,步骤S50中的其他错误可以指示除了在字线为单位、以单个位为单位或以位线为单位发生的错误以外的错误。
当在通过检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型而获得的结果指示该错误是步骤S20中的以字线为单位发生的错误时,在步骤S60中,错误分析单元1513可以对在被分类为“第一存储器装置”的存储器装置中的相同字线中发生的错误的数量进行计数。当所计数的错误数量等于或大于第二参考数量(在步骤S70中为“是”)时,在步骤S90中,错误分析单元1513可以通过将该存储器装置的错误等级判定为第一错误等级来将相应存储器装置分类为“第二存储器装置”。当所计数的错误数小于第二参考数量(在步骤S70中为“否”)时,在步骤S80中,错误分析单元1513可以通过将该存储器装置的错误等级判定为第二错误等级来将相应存储器装置分类为“第三存储器装置”。
当通过检查在被分类为“第一存储器装置”的存储器装置中发生的错误的类型来获得的结果指示该错误是以单个位为单位发生的错误(在步骤S30中为“是”)、以位线为单位发生的错误(在步骤S40中为“是”)以及其他错误(在步骤S50中为“是”)时,在步骤S80中,错误分析单元1513可以通过将该存储器装置的错误等级判定为第二错误等级来将相应存储器装置分类为“第三存储器装置”。
例如,假设在被分类为“第一存储器装置”的存储器装置1501中发生的错误是以字线为单位发生的错误,并且在相同字线中发生的错误的数量等于或大于第二参考数量。在这种情况下,错误分析单元1513可以通过将存储器装置1501的错误等级判定为第一错误等级来将被分类为“第一存储器装置”的存储器装置1501分类为“第二存储器装置”。
错误应对操作单元1515可以根据由错误分析单元1513判定的存储器装置1501至1508的错误等级来对各个存储器装置1501至1508执行不同的错误应对操作。
具体地,错误应对操作单元1515可以对多个存储器装置1501至1508之中的、错误分析单元1513通过分配第一错误等级已经分类为“第二存储器装置”的存储器装置执行第一错误应对操作。此外,错误应对操作单元1515可以对多个存储器装置1501至1508之中的、错误分析单元1513通过分配第二错误等级已经分类为“第三存储器装置”的存储器装置执行第二错误应对操作。
第一错误应对操作可以包括以下操作中的一个或多个操作。
第一操作是选择被分类为“第二存储器装置”的存储器装置中的发生错误的区域并且阻止对被选择区域的访问的操作。例如,错误应对应操作单元1515可以选择被分类为“第二存储器装置”的存储器装置1501中特定块、字线或位线,并且阻止对被选择块、字线或位线的访问。错误应对操作单元1515可以复制作为访问阻止目标的特定块、字线或位线中存储的数据,将所复制的数据存储在“另一区域”中,然后执行访问阻止操作。此处,“另一区域”可以指示存储器装置1501的另一正常块、正常字线或正常位线。此外,“另一区域”可以指示其他存储器装置1502至1508而不是存储器装置1501中包括的另一正常块、正常字线或正常位线。作为参考,可以正常地执行将作为访问阻止目标的特定块、字线或位线中存储的数据存储在“另一区域”中的操作的原因是,选择特定块、字线或位线作为访问阻止目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常运行或者在特定块、字线或位线中仅发生可恢复的错误。
第二操作是选择被分类为“第二存储器装置”的存储器装置中的、发生错误的区域并修复被选择区域的操作。例如,错误应对操作单元1515可以用另一正常冗余块、冗余字线或冗余位线来修复被分类为“第二存储器装置”的存储器装置1501中的特定块、字线或位线。在执行修复操作的时间段期间,可以停止对存储器装置1501的访问。作为修复目标的存储器装置1501可以将被设定为修复目标的特定块、字线或位线中存储的数据复制到其中的信息存储区域PA1中,然后执行修复操作。在修复操作完成之后,存储器装置1501可以将被复制在信息存储区域PA1中的数据恢复到已经完全修复的冗余块、冗余字线或冗余位线中。作为参考,可以正常地执行将被设定为修复目标的特定块、字线或位线中存储的数据复制在信息存储区域PA1中的操作的原因是,选择特定块、字线或位线作为修复目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常运行或者在特定块、字线或位线中仅发生可恢复的错误。
第三操作是选择被分类为“第二存储器装置”的存储器装置中的发生错误的区域并且使被选择区域停用的操作。例如,错误应对操作单元1515可以使被分类为“第二存储器装置”的存储器装置1501中的特定块、字线或位线停用。错误响应操作单元1515可以复制设定为停用目标的特定块、字线或位线中存储的数据,并且将所复制的数据存储在“另一区域”中。此处,“另一区域”可以指示存储器装置1501的另一正常块、字线或位线。此外,“另一区域”可以指示其他存储器装置1502至1508而不是存储器装置1501中包括的另一正常块、字线或位线。作为参考,可以正常地执行将被设定为停用目标的特定块、字线或位线中存储的数据存储到“另一区域”中的操作的原因是,选择特定块、字线或位线作为停用目标只是因为预计在不久的将来时间点很可能在特定块、字线或位线中发生不可恢复的错误,而在当前时间点,特定块、字线或位线正常运行或者在特定块、字线或位线中仅发生可恢复错误。
当在对被分类为“第三存储器装置”的存储器装置的访问操作期间发生错误时,第二错误应对操作可以包括对发生错误的基于码字的数据的使用ECC的错误校正操作,该错误校正操作通过存储器ECC单元1516执行。
在本文中被指定为“单元”的任何元件可以利用适当的电路即硬件或硬件与软件和/或固件的组合来实施。
虽然已经示出并描述了各种实施例,但是对于本领域技术人员将显而易见的是,可以在不脱离如所附权利要求所限定的本发明的精神和范围的情况下进行各种改变和修改。

Claims (20)

1.一种数据处理系统,包括:
存储器系统,包括:多个存储器装置,所述多个存储器装置中的每一个包括第一错误校正单元;以及多个单元阵列区域,所述多个单元阵列区域中的每一个具有以阵列形式联接到多个字线和多个位线的多个存储器单元;以及
主机,包括第二错误校正单元,对从所述存储器系统传送的数据的错误进行校正,并且生成关于所述第二错误校正单元的错误校正操作的错误校正信息,使用所述错误校正信息和由存储器装置生成的日志信息为各个存储器装置设定错误校正强度,并且根据所述错误校正强度对所述各个存储器装置执行错误应对操作,
其中通过所述第一错误校正单元来校正在通过对所述多个单元阵列区域的访问操作而访问的数据中发生的错误,并且
其中所述存储器装置中的每一个生成关于所述第一错误校正单元的错误校正操作的日志信息。
2.根据权利要求1所述的数据处理系统,
其中所述存储器装置中的每一个通过将由所述第一错误校正单元校正的数据的错误信息累积并存储在所述存储器装置中的信息存储区域中来生成所述日志信息,并且
其中所述存储器装置中的每一个根据所述主机的请求通过所述存储器系统将所述日志信息输出到所述主机。
3.根据权利要求2所述的数据处理系统,其中所述主机包括:
错误信息收集单元,实时地或在设定时间点收集所述错误校正信息,并且在所述设定时间点从所述存储器系统收集所述日志信息;
第一错误分析单元,分析所述日志信息和所述错误校正信息,检查各个存储器装置中发生的错误的数量和类型,并且根据检查结果判定所述各个存储器装置的错误等级;
第二错误分析单元,通过对所述日志信息和所述错误校正信息进行额外分析以检查所述错误的形式和数量,来根据所述错误等级判定所述多个存储器装置中的一些存储器装置的错误校正强度,并且判定剩余存储器装置的错误校正强度,以使得所述剩余存储器装置的错误校正强度与所述错误等级相对应;以及
错误应对操作单元,根据所述错误校正强度对所述各个存储器装置执行错误应对操作。
4.根据权利要求3所述的数据处理系统,
其中所述第一错误分析单元将所述多个存储器装置之中的、发生的错误的数量等于或大于的第一参考数量的存储器装置分类为第一存储器装置,
其中当在所述第一存储器装置中发生的错误的类型是在字线中发生的、等于或大于第二参考数量的第一错误时,所述第一错误分析单元将所述第一存储器装置分类为具有第一错误等级的第二存储器装置,并且
其中当在所述第一存储器装置中发生的错误的类型是与所述第一错误不同的错误类型时,所述第一错误分析单元将相应的第一存储器装置分类为具有第二错误等级的第三存储器装置。
5.根据权利要求4所述的数据处理系统,
其中所述第一错误校正单元和所述第二错误校正单元中的每一个以包括错误校正码即ECC的码字单位对输入到所述存储器装置中的每一个/从所述存储器装置中的每一个输出的数据执行错误校正操作,
其中当所述第二存储器装置中发生的错误跨越数量等于或大于第三参考数量的码字单位,并且所述错误中包含的错误位的总数量等于或大于第四参考数量时,所述第二错误分析单元将相应的第二存储器装置分类为具有第一错误校正强度的第四存储器装置,
其中当所述第二存储器装置中发生的错误跨越数量等于或大于所述第三参考数量的码字单位并且所述错误中包含的错误位的总数量小于所述第四参考数量,或者所述错误跨越数量小于所述第三参考数量的码字单位时,所述第二错误分析单元将相应的第二存储器装置分类为具有第二错误校正强度的第五存储器装置,并且
其中所述第二错误分析单元通过向所述第三存储器装置分配所述第二错误校正强度来将所述第三存储器装置分类为所述第五存储器装置。
6.根据权利要求5所述的数据处理系统,
其中所述错误应对操作单元选择以下操作中的任意一种作为所述错误应对操作:
选择所述第四存储器装置中发生错误的区域并且阻止对所述第四存储器装置中发生错误的区域的访问的操作;
选择并且修复所述第四存储器装置中发生错误的区域的操作;以及
根据所述第四存储器装置的状态,选择并且停用所述第四存储器装置中发生错误的区域的操作,并且
其中所述错误应对操作单元执行所选择的操作。
7.根据权利要求3所述的数据处理系统,其中所述主机选择并执行以下操作中的任意一种:
将自向所述存储器系统供应电力时起间隔开特定时间间隔的时间点指定为所述设定时间点的操作;
对对所述存储器系统的访问操作期间在数据中发生的错误的数量进行计数,将所计数的数量超过第五参考数量的每个时间点指定为所述设定时间点的操作;以及
将校正通过所述访问操作访问的数据中的错误所需的时间等于或大于特定时间的每个时间点指定为所述设定时间点的操作。
8.一种存储器系统,包括:
多个存储器装置,所述多个存储器装置中的每一个包括第一错误校正单元和多个单元阵列区域,所述多个单元阵列区域中的每一个具有以阵列形式联接到多个字线和多个位线的多个存储器单元,并且所述多个存储器装置:通过所述第一错误校正单元来对在通过对所述多个单元阵列区域的访问操作而访问的数据中发生的错误进行校正;并且生成关于所述第一错误校正单元的错误校正操作的日志信息;以及
控制器,包括第二错误校正单元,对从所述多个存储器装置传送的数据的错误进行校正,并且生成关于所述第二错误校正单元的错误校正操作的错误校正信息;使用所述日志信息和所述错误校正信息为所述各个存储器装置设定错误校正强度;并且根据所述错误校正强度对所述各个存储器装置执行错误应对操作。
9.根据权利要求8所述的存储器系统,
其中所述存储器装置中的每一个通过将由所述第一错误校正单元校正的数据的错误信息累积并存储在所述存储器装置中的信息存储区域中来生成所述日志信息,并且
其中所述存储器装置中的每一个根据所述控制器的请求将所述日志信息输出到所述控制器。
10.根据权利要求9所述的存储器系统,其中所述控制器包括:
错误信息收集单元,实时地或在设定时间点收集所述错误校正信息,并且在所述设定时间点从所述存储器装置中的每一个收集所述日志信息;
第一错误分析单元,分析所述日志信息和所述错误校正信息,检查各个存储器装置中发生的错误的数量和类型,并且根据检查结果判定所述各个存储器装置的错误等级;
第二错误分析单元,通过对所述日志信息和所述错误校正信息进行额外分析以检查所述错误的形式和数量,来根据所述错误等级来判定所述多个存储器装置中的一些存储器装置的错误校正强度,并且判定剩余存储器装置的错误校正强度,以使得所述剩余存储器装置的错误校正强度与所述错误等级相对应;以及
错误应对操作单元,根据所述错误校正强度对所述各个存储器装置执行错误应对操作。
11.根据权利要求10所述的存储器系统,
其中所述第一错误分析单元将所述多个存储器装置之中的、发生的错误的数量等于或大于的第一参考数量的存储器装置分类为第一存储器装置,
其中当在所述第一存储器装置中发生的错误的类型是在字线中发生的、等于或大于第二参考数量的第一错误时,所述第一错误分析单元将相应的第一存储器装置分类为具有第一错误等级的第二存储器装置,并且
其中当在所述第一存储器装置中发生的错误的类型是与所述第一错误不同的错误类型时,所述第一错误分析单元将相应的第一存储器装置分类为具有第二错误等级的第三存储器装置。
12.根据权利要求11所述的存储器系统,
其中所述第一错误校正单元和所述第二错误校正单元中的每一个以包括错误校正码即ECC的码字单位对输入到所述存储器装置中的每一个/从所述存储器装置中的每一个输出的数据执行错误校正操作,
其中当所述第二存储器装置中发生的错误跨越数量等于或大于第三参考数量的码字单位,并且所述错误中包含的错误位的总数量等于或大于第四参考数量时,所述第二错误分析单元将相应的第二存储器装置分类为具有第一错误校正强度的第四存储器装置,
其中当所述第二存储器装置中发生的错误跨越数量等于或大于所述第三参考数量的码字单位并且所述错误中包含的错误位的总数量小于所述第四参考数量,或者所述错误跨越数量小于所述第三参考数量的码字单位时,所述第二错误分析单元将相应的第二存储器装置分类为具有第二错误校正强度的第五存储器装置,并且
其中所述第二错误分析单元通过向所述第三存储器装置分配所述第二错误校正强度来将所述第三存储器装置分类为所述第五存储器装置。
13.根据权利要求12所述的存储器系统,
其中所述错误应对操作单元选择以下操作中的任意一种作为所述错误应对操作:
选择所述第四存储器装置中发生错误的区域并且阻止对所述第四存储器装置中发生错误的区域的访问的操作;
选择并且修复所述第四存储器装置中发生错误的区域的操作;以及
根据所述第四存储器装置的状态,选择并且停用所述第四存储器装置中发生错误的区域的操作,并且
其中所述错误应对操作单元执行所选择的操作。
14.根据权利要求10所述的存储器系统,其中所述控制器选择并执行以下操作中的任意一种:
将自向所述存储器系统供应电力时起间隔开特定时间间隔的时间点指定为所述设定时间点的操作;
对对所述多个存储器装置的访问操作期间在数据中发生的错误的数量进行计数,将所计数的数量超过第五参考数量的每个时间点指定为所述设定时间点的操作;以及
将校正通过所述访问操作访问的数据中发生的错误所需的时间等于或大于特定时间的每个时间点指定为所述设定时间点的操作。
15.一种存储器系统的操作方法,所述存储器系统包括多个存储器装置,所述多个存储器装置中的每一个包括错误校正单元以及多个单元阵列区域,所述多个单元阵列区域中的每一个具有以阵列形式联接到多个字线和多个位线的多个存储器单元,所述操作方法包括:
操作所述错误校正单元以对通过对所述多个单元阵列区域的访问操作访问的数据中发生的错误进行校正,并且生成关于所述错误校正单元的错误校正操作的日志信息;
使用所述日志信息为各个存储器装置设定错误等级;以及
根据所述错误等级对所述各个存储器装置执行错误应对操作。
16.根据权利要求15所述的操作方法,其中所述操作包括:
操作所述错误校正单元以对通过对所述多个单元阵列区域的访问操作访问的数据中发生的错误进行校正;以及
通过将由所述错误校正单元校正的数据的错误信息累积并存储在所述各个存储器装置中的信息存储区域中来生成所述日志信息。
17.根据权利要求16所述的操作方法,其中所述设定包括:
在每个设定时间点收集所述信息存储区域中存储的日志信息;以及
分析在收集步骤中收集的所述日志信息,检查在所述各个存储器装置中发生的错误的数量和类型,并且根据检查结果判定所述各个存储器装置的错误等级。
18.根据权利要求17所述的操作方法,其中所述分析包括:
将所述多个存储器装置之中、发生的错误的数量等于或大于第一参考数量的存储器装置分类为第一存储器装置;
当在所述第一存储器装置中发生的错误的类型是在字线中发生的、等于或大于第二参考数量的第一错误时,将所述第一存储器装置分类为具有第一错误等级的第二存储器装置;并且
当在所述第一存储器装置中发生的错误的类型是与所述第一错误不同的错误类型时,将所述第一存储器装置分类为具有第二错误等级的第三存储器装置。
19.根据权利要求18所述的操作方法,
其中所述执行包括执行以下中的任意一项:
选择所述第二存储器装置中发生错误的区域并阻止对所述第二存储器装置中发生错误的区域的访问;
选择并修复所述第二存储器装置中发生错误的区域;以及
根据所述第二存储器装置的状态,选择并停用所述第二存储器装置中发生错误的区域。
20.根据权利要求17所述的操作方法,进一步包括以下中的至少一项:
将自向所述存储器系统供应电力时起间隔开特定时间间隔的时间点指定为所述设定时间点;
对对所述多个存储器装置的访问操作期间在数据中发生的错误的数量进行计数,将所计数的数量超过第五参考数量的每个时间点指定为所述设定时间点,并且重置所计数的数量;以及
将校正在通过所述访问操作访问的数据中发生的错误所需的时间等于或大于特定时间的每个时间点指定为所述设定时间点。
CN202010809375.8A 2020-01-07 2020-08-12 通过错误分析应对错误的存储器系统和数据处理系统 Active CN113157484B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0001998 2020-01-07
KR1020200001998A KR20210088916A (ko) 2020-01-07 2020-01-07 이전에 발생한 에러 분석을 통해 에러대응동작을 선택하기 위한 메모리 시스템 및 메모리 시스템을 포함하는 데이터 처리 시스템

Publications (2)

Publication Number Publication Date
CN113157484A true CN113157484A (zh) 2021-07-23
CN113157484B CN113157484B (zh) 2024-07-09

Family

ID=76432369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010809375.8A Active CN113157484B (zh) 2020-01-07 2020-08-12 通过错误分析应对错误的存储器系统和数据处理系统

Country Status (5)

Country Link
US (1) US11609813B2 (zh)
JP (1) JP2021111325A (zh)
KR (1) KR20210088916A (zh)
CN (1) CN113157484B (zh)
DE (1) DE102020208450A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132875A1 (en) * 2007-11-21 2009-05-21 Jun Kitahara Method of correcting error of flash memory device, and, flash memory device and storage system using the same
US20140053041A1 (en) * 2012-08-15 2014-02-20 Kenji Sakaue Nonvolatile semiconductor memory system error correction capability of which is improved
US20160218868A1 (en) * 2015-01-23 2016-07-28 Kabushiki Kaisha Toshiba Quantum key distribution device, quantum key distribution system, and computer program product
US20190019569A1 (en) * 2016-01-28 2019-01-17 Hewlett Packard Enterprise Development Lp Row repair of corrected memory address
CN110085277A (zh) * 2018-01-25 2019-08-02 三星电子株式会社 存储器装置、存储器系统和操作存储器装置的方法
US20190361773A1 (en) * 2018-05-23 2019-11-28 Dell Products L.P. System and Method of Utilizing Memory Modules

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102143517B1 (ko) * 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법
US8891303B1 (en) * 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
KR20160144560A (ko) 2015-06-08 2016-12-19 삼성전자주식회사 호스트에 의해 접근되는 오류 정보를 생성하는 불휘발성 메모리 모듈, 스토리지 장치, 및 전자 장치
US10055159B2 (en) 2016-06-20 2018-08-21 Samsung Electronics Co., Ltd. Morphic storage device
KR101941105B1 (ko) 2017-10-27 2019-01-22 주식회사 지음 컴퓨터 시스템에 포함된 하드웨어의 에러 발생 여부를 통합적으로 관리하여 백업 및 복구를 수행하여 외부 단말에 알리는 방법
US10997516B2 (en) * 2017-12-15 2021-05-04 Dell Products L.P. Systems and methods for predicting persistent memory device degradation based on operational parameters
KR20200001998A (ko) 2018-06-28 2020-01-07 서강대학교산학협력단 고분자 전해질 조성물 및 이를 포함하는 고분자 전해질막

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132875A1 (en) * 2007-11-21 2009-05-21 Jun Kitahara Method of correcting error of flash memory device, and, flash memory device and storage system using the same
US20140053041A1 (en) * 2012-08-15 2014-02-20 Kenji Sakaue Nonvolatile semiconductor memory system error correction capability of which is improved
US20160218868A1 (en) * 2015-01-23 2016-07-28 Kabushiki Kaisha Toshiba Quantum key distribution device, quantum key distribution system, and computer program product
US20190019569A1 (en) * 2016-01-28 2019-01-17 Hewlett Packard Enterprise Development Lp Row repair of corrected memory address
CN110085277A (zh) * 2018-01-25 2019-08-02 三星电子株式会社 存储器装置、存储器系统和操作存储器装置的方法
US20190361773A1 (en) * 2018-05-23 2019-11-28 Dell Products L.P. System and Method of Utilizing Memory Modules

Also Published As

Publication number Publication date
JP2021111325A (ja) 2021-08-02
DE102020208450A1 (de) 2021-07-08
KR20210088916A (ko) 2021-07-15
US20210208966A1 (en) 2021-07-08
CN113157484B (zh) 2024-07-09
US11609813B2 (en) 2023-03-21

Similar Documents

Publication Publication Date Title
US8429468B2 (en) System and method to correct data errors using a stored count of bit values
KR100321302B1 (ko) 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩
US8255773B2 (en) System and method of tracking error data within a storage device
CN105788648B (zh) 基于异构混合内存的nvm坏块识别处理及纠错方法和系统
EP2857971B1 (en) Method and device for repairing error data
US10795763B2 (en) Memory system and error correcting method thereof
US8181094B2 (en) System to improve error correction using variable latency and associated methods
JP2001249854A (ja) メモリ設計のための共有式誤り訂正
TWI806649B (zh) 快閃記憶體裝置及快閃記憶體儲存管理方法
US12111726B2 (en) Error rates for memory with built in error correction and detection
CN112612637A (zh) 内存数据存储方法、内存控制器、处理器芯片及电子设备
US20150067443A1 (en) Method and Device for Recovering Erroneous Data
CN105489242A (zh) 数据储存器件及其操作方法
CN114360623A (zh) 用于存储器纠错的方法、存储器控制器及计算机系统
US7577804B2 (en) Detecting data integrity
CN113220221B (zh) 存储器控制器与数据处理方法
CN113157484B (zh) 通过错误分析应对错误的存储器系统和数据处理系统
CN112306382B (zh) 快闪存储器控制器、储存装置及其读取方法
US11321166B2 (en) Device for determining soft error occurred in a memory having stacked layers, and computer readable medium storing program thereon for determining the soft error
CN114356645A (zh) 用于数据纠错的方法、装置、电子设备及存储介质
US20210034446A1 (en) Host system and computing system including the host system
US20230386598A1 (en) Methods for real-time repairing of memory failures caused during operations, memory systems performing repairing methods, and data processing systems including repairing memory systems
EP4439564A1 (en) Method and system for repairing a dynamic random access memory (dram) of memory device
JPH01286060A (ja) 記憶装置におけるeccエラー処理方式
CN113808642A (zh) 数据存取系统和操作数据存取系统的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant