CN112395210A - 存储器系统和操作存储器系统的方法 - Google Patents

存储器系统和操作存储器系统的方法 Download PDF

Info

Publication number
CN112395210A
CN112395210A CN202010534678.3A CN202010534678A CN112395210A CN 112395210 A CN112395210 A CN 112395210A CN 202010534678 A CN202010534678 A CN 202010534678A CN 112395210 A CN112395210 A CN 112395210A
Authority
CN
China
Prior art keywords
read
degradation
level
memory
degradation information
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.)
Pending
Application number
CN202010534678.3A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112395210A publication Critical patent/CN112395210A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

提供一种存储器系统和操作存储器系统的方法。所述存储器系统包括:存储器装置,包括多个块;缓冲器,存储关于所述多个块中的至少一个块的劣化信息;以及存储器控制器,被配置为响应于来自主机的读取请求基于劣化信息确定与读取请求对应的块的劣化水平,基于劣化水平对与读取请求对应的读取电平进行推断,并且基于读取电平从存储器装置读取数据。

Description

存储器系统和操作存储器系统的方法
本申请要求于2019年8月16日在韩国知识产权局提交的第10-2019-0100539号韩国专利申请的权益,该韩国专利申请的公开通过引用全部包含于此。
技术领域
发明构思的一个或更多个实施例涉及一种存储器系统,更具体地,涉及一种基于关于与读取请求对应的块的劣化信息对读取电平进行推断的存储器系统及其操作方法。
背景技术
存储器系统可以包括存储器控制器和存储器装置。作为一种类型的存储器装置,非易失性存储器装置可以包括以非易失性的方式存储数据的多个存储器单元。作为非易失性存储器,闪存可以通过修改存储器单元的阈值电压来存储数据,并且通过使用预定的读取电平来读取数据。然而,存储器单元可能由于各种原因而劣化,并且由于阈值电压受存储器单元的劣化而改变,会发生读取错误。
发明内容
发明构思的一个或更多个实施例提供了一种通过使用基于关于与读取请求对应的块的劣化信息推断的读取电平来读取数据而具有提高的可靠性和效率的存储器系统及其操作方法。
根据发明构思的一个方面,一种存储器系统包括:存储器装置,包括至少一个块;缓冲器,被配置为存储关于所述至少一个块的劣化信息;以及存储器控制器,被配置为基于与来自主机的针对所述至少一个块的读取请求对应的所述至少一个块的劣化信息对读取电平进行推断,并且基于所述读取电平从存储器装置读取数据。
根据发明构思的另一方面,一种存储器系统包括:存储器装置,包括多个块;缓冲器,存储关于所述多个块中的至少一个块的劣化信息;以及存储器控制器,被配置为响应于来自主机的读取请求从所述至少一个块读取数据,其中,存储器控制器可以包括:硬件加速器,执行被训练为对读取电平进行推断的人工智能模型;以及处理器,被配置为:控制缓冲器向硬件加速器提供关于与读取请求对应的所述至少一个块的劣化信息,通过人工智能模型获得与读取请求对应的读取电平,并且基于获得的读取电平读取数据。
根据发明构思的另一方面,一种操作存储器系统的方法,所述存储器系统包括包含多个块的存储器装置,所述方法包括:从主机接收读取请求;获得关于所述多个块中的与读取请求对应的块的劣化信息;基于劣化信息确定与读取请求对应的块的劣化水平;基于劣化水平对与读取请求对应的读取电平进行推断;以及基于读取电平从存储器装置读取数据。
附图说明
通过下面结合附图进行的详细描述,将更清楚地理解发明构思的实施例,在附图中:
图1是示出根据发明构思的实施例的存储器系统的框图;
图2是示出根据发明构思的实施例的图1的存储器装置的实施方式的框图;
图3A和图3B是示出由于存储器单元的劣化而引起的阈值电压分布变化的示例的示图;
图4A和图4B是示出由于存储器单元的劣化而引起的阈值电压分布变化的另一示例的示图;
图5是示出根据发明构思的实施例的图1的存储器控制器的框图;
图6是示出根据发明构思的另一实施例的图1的存储器控制器的框图;
图7和图8是示出根据发明构思的实施例的操作存储器系统的方法的流程图;
图9是示出根据发明构思的实施例的生成劣化信息的方法的流程图;
图10是示出根据图9的生成劣化信息的方法的劣化信息的示例的示图;
图11是示出使用图10的劣化信息对读取电平进行推断的方法的流程图;
图12是示出根据发明构思的实施例的生成劣化信息和劣化水平信息的方法的流程图;
图13是示出根据图12的生成劣化信息和劣化水平信息的方法的劣化信息和劣化水平信息的示例的示图;
图14是示出使用图13的劣化信息和劣化水平信息对读取电平进行推断的方法的示例的流程图;
图15是示出根据发明构思的实施例的人工智能模型的示图;以及
图16是示出根据发明构思的实施例的固态驱动器(SSD)系统的框图。
具体实施方式
图1是示出根据发明构思的实施例的存储器系统的框图。
参照图1,存储器系统10可以包括存储器控制器100和存储器装置200,其中,存储器控制器100可以包括人工智能模型110,存储器装置200可以包括存储器单元阵列210、电压产生器220和控制逻辑230。
主机HOST可以通过各种接口与存储器系统10进行通信。例如,主机HOST可以将读取请求、写入请求等发送到存储器系统10。可以用应用处理器(AP)、片上系统(SoC)等来实现主机HOST。
存储器系统10可以用个人计算机(PC)、数据服务器、附网存储(NAS)、物联网(IoT)装置、便携式电子装置等来实现。便携式电子装置的示例可以包括膝上型计算机、移动电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助(EDA)、数字相机、数字摄像机、音频装置、便携式多媒体播放器(PMP)、个人导航装置(PND)、MPEG-1音频层3(MP3)播放器、手持式游戏机、电子书、可穿戴装置等。
可选地,存储器系统10可以用嵌入在电子装置中的内部存储器来实现。例如,存储器系统10可以是通用闪存(UFS)、嵌入式多媒体卡(eMMC)或固态驱动器(SSD)。可选地,存储器系统10可以用可移除地附接到电子装置的外部存储器来实现。例如,存储器系统10可以是UFS存储卡、紧凑型闪存(CF)卡、安全数字(SD)卡、微型安全数字(Micro-SD)卡、迷你安全数字(Mini-SD)卡、极限数字(xD)卡或记忆棒。
存储器控制器100可以响应于来自主机HOST的读取/写入请求而控制存储器装置200将数据写入(或编程)到存储器装置200,或者读取或擦除存储在存储器装置200中的数据。
详细地,存储器控制器100可以通过向存储器装置200提供地址ADDR、命令CMD或控制信号CTRL来控制存储器装置200的写入操作、读取操作或擦除操作。此外,可以在存储器控制器100与存储器装置200之间发送和接收将写入到存储器装置200的数据DATA和从存储器装置200读取的数据DATA。
存储器装置200可以包括非易失性存储器装置。存储器单元阵列210可以包括多个存储器单元,其中,所述多个存储器单元可以包括闪存单元。然而,发明构思的实施例不限于此。包括在存储器单元阵列210中的多个存储器单元可以包括电阻式存储器单元(如,电阻式随机存取存储器(ReRAM))、相变随机存取存储器(PRAM)或磁性随机存取存储器(MRAM)。
存储器单元阵列210可以包括多个块。所述多个块中的每个可以包括多个页,其中,每个页可以包括多个存储器单元。在存储器单元阵列210中,可以以块为单位执行数据擦除操作,并且可以以页为单位执行数据读取操作和数据写入操作。例如,存储器装置200可以参照来自存储器控制器100的地址ADDR以块为单位执行擦除操作并以页为单位执行读取操作和写入操作。
电压产生器220可以产生用于执行读取/写入/擦除操作的各种类型的电压。例如,数据写入操作可以通过使用增量步进脉冲编程(ISPP)来执行,并且电压产生器220可以产生用于ISPP的多个电压并向存储器单元阵列210提供产生的多个电压。此外,电压产生器220可以产生在读取操作中使用的读取电压,并且向存储器单元阵列210提供产生的读取电压。此外,电压产生器220可以产生在擦除操作中使用的具有高电压电平的擦除电压,并且向存储器单元阵列210提供产生的擦除电压。
控制逻辑230可以控制与存储器装置200的存储器操作相关联的总体操作。例如,控制逻辑230可以控制电压产生器220,其中,电压产生器220可以对在控制逻辑230的控制下产生的各种类型的电压的电平进行修改。可以根据由电压产生器220产生的电压来调节存储器单元阵列210的存储器单元的阈值电压分布。
然而,在存储器单元阵列210的多个存储器单元中可能发生劣化(例如,阈值电压改变)。由于保持(retention)、浮栅耦合、因经过时间而引起的电荷损失等,可能发生劣化。
如果阈值电压已经由于多个存储器单元的劣化而改变,则在存储器系统10使用默认读取电平并尝试读取曾经处于阈值电压的数据时可能发生读取错误。读取错误可以指其中读取数据的错误比特的数量等于或大于能够被纠错码(ECC)校正的错误的参考数量的情况。读取错误可以被称为不可校正的ECC(UECC)。
为了去除读取错误,可能需要通过读取重试操作对读取电平进行修改。为了执行读取重试操作,存储器系统10可以执行恢复码,而在执行恢复码时可能需要相当长的时间段。如果在存储器单元已经劣化时使用默认读取电平读取数据,则存储器系统10可能由于读取错误而具有降低的数据可靠性,并且由于读取重试操作而具有性能劣化。
根据发明构思的示例实施例,存储器控制器100可以响应于来自主机HOST的读取请求,基于关于存储器装置200的多个块的劣化信息对读取电平进行推断,并且基于推断的读取电平从存储器装置200读取数据,以防止数据的可靠性和存储器控制器100的性能由于劣化而被破坏。劣化信息可以包括与包括在存储器单元阵列210中的多个块的劣化状态相关的各种信息。
在发明构思的示例实施例中,存储器控制器100可以基于关于多个块的劣化信息来预期与读取请求对应的块的劣化状态,并且推断即使在预期的劣化状态下也能够读取数据而不造成任何读取错误的读取电平。此外,存储器控制器100可以通过经由命令CMD和/或控制信号CTRL向存储器装置200提供关于推断的读取电平的信息来读取数据。因此,根据发明构思的示例实施例的存储器系统10可以减少在读取数据中造成的读取错误,提高数据的可靠性,并且通过不引起涉及读取重试的操作的任何开销来改善存储器系统10的性能。
根据发明构思的示例实施例,存储器控制器100可以包括被训练为对读取电平进行推断的人工智能模型110。存储器控制器100可以使用人工智能模型110来执行对读取电平进行推断的前述操作。详细地,存储器控制器100可以通过向人工智能模型110提供劣化信息来获得与读取请求对应的读取电平。
人工智能模型110可以用软件或硬件来实现,并且可以是基于以下项中的至少一个的模型:人工神经网络(ANN)模型、多层感知器(MLP)模型、卷积神经网络(CNN)模型、反卷积神经网络、决策树模型、随机森林模型,AdaBoost(adaptive boosting,自适应增强)模型、多元回归分析模型、逻辑回归模型、选择性地包括长短期记忆(LSTM)单元和/或门控递归单元(GRU)的递归神经网络(RNN)、堆叠神经网络(SNN)、状态空间动态神经网络(SSDNN)、深度信念网络(DBN)、生成式对抗网络(GAN)和/或受限玻尔兹曼机(RBM)。可选地或附加地,人工智能模型110可以包括其他形式的人工智能模型,诸如,线性回归和/或逻辑回归、统计聚类、贝叶斯分类、决策树、降维(诸如,主成分分析)、专家系统、随机抽样一致(RANSAC)模型和/或它们的组合。人工智能模型110的示例不限于此。
此外,根据发明构思的示例实施例,存储器控制器100可以根据与读取请求对应的块的劣化水平选择性地执行对读取电平进行推断的操作。详细地,存储器控制器100可以基于关于与读取请求对应的块的劣化信息来确定表示已经发生的劣化的程度的劣化水平,并且基于确定的劣化水平来确定是否对读取电平进行推断。
例如,当与读取请求对应的块的劣化水平等于或大于预定义阈值时,存储器控制器100预期由于劣化而引起的阈值电压分布改变是巨大的,因此,可以对与读取请求对应的读取电平进行推断。相反,当与读取请求对应的块的劣化水平小于阈值时,存储器控制器100预期由于劣化而引起的阈值电压分布改变是轻微的。在那种情况下,存储器控制器100可以基于默认读取电平来读取数据,而无需对读取电平进行推断。可选地,由存储在存储器控制器100中的处理单元执行的单独的固件或软件可以执行确定劣化水平以及是否基于确定的劣化水平对读取电平进行推断的前述操作。
在发明构思的示例实施例中,通过仅在预期阈值电压分布改变将是巨大的时对读取电平进行推断,存储器控制器100可以在提高数据的可靠性并减少数据重试操作的同时减少涉及推断操作的计算的开销。
图2是示出根据发明构思的实施例的图1的存储器装置的实施方式的框图。
参照图2,存储器装置200可以包括存储器单元阵列210、电压产生器220、控制逻辑230、行解码器240和页缓冲器250。尽管在图2中未示出,但是存储器装置200还可以包括与存储器操作相关的其他各种组件(如,数据输入/输出电路、输入/输出接口等)。
存储器单元阵列210包括多个块BLK1至BLKz,其中,块BLK1至BLKz的存储器单元可以连接到字线WL、串选择线SSL、地选择线GSL和位线BL。存储器单元阵列210通过字线WL、串选择线SSL和地选择线GSL连接到行解码器240,并且可以通过位线BL连接到页缓冲器250。存储器单元中的每个可以存储一个或更多个比特。例如,每个存储器单元可以包括多层单元(MLC)、三层单元(TLC)或四层单元(QLC)。
存储器单元阵列210可以包括二维存储器单元阵列,其中,二维存储器单元阵列可以包括布置在行方向和列方向上的多个单元串。此外,根据发明构思的实施例,存储器单元阵列210可以包括三维存储器单元阵列,其中,三维存储器单元阵列可以包括多个单元串,其中,每个单元串可以包括竖直地堆叠在基底上的连接到多条字线中的每条的存储器单元。例如,第7,679,133号美国专利、第8,553,466号美国专利、第8,654,587号美国专利和第8,559,235号美国专利以及公开号为2011/0233648的美国专利公开了由多个层形成的三维存储器单元阵列的可能构造,其中,字线和/或位线在层之间共享。第7,679,133号美国专利、第8,553,466号美国专利、第8,654,587号美国专利和第8,559,235号美国专利以及公开号为2011/0233648的美国专利通过引用包含于此。
基于从存储器控制器100接收的命令CMD、地址ADDR或控制信号CTRL,控制逻辑230可以输出用于将数据编程到存储器单元阵列210中或从存储器单元阵列210读取数据的各种类型的内部控制信号。例如,控制逻辑230可以输出用于控制在电压产生器220中产生的各种类型的电压的电平的电压控制信号CTRL_vol,向行解码器240提供行地址X-ADDR,并且向页缓冲器250提供列地址Y-ADDR。电压产生器220可以产生在存储器装置200中使用的各种类型的电压。作为示例,电压产生器220可以产生在写入操作中使用的编程电压和验证电压以及在读取操作中使用的读取电压。
根据发明构思的示例实施例,关于对读取电平进行推断的操作,存储器控制器100可以通过命令CMD和/或控制信号CTRL发送关于推断的读取电平的信息。控制逻辑230可以基于关于通过接收的命令CMD和/或控制信号CTRL验证的读取电平的信息来产生电压控制信号CTRL_vol。电压产生器220可以响应于电压控制信号CTRL_vol而产生与推断的读取电平对应的读取电压。
图3A和图3B是示出由于存储器单元的劣化而引起的阈值电压分布变化的示例的示图。
参照图3A和图3B,横轴表示阈值电压Vth,纵轴表示存储器单元的数量。参照图3A,当存储器单元是以1比特进行编程的单层单元时,存储器单元可以具有擦除状态E和编程状态P中的任一种。此外,存储器单元可以具有与擦除状态E或编程状态P对应的阈值电压分布。存储器系统10可以使用默认读取电平DRL来确定存储器单元的擦除状态E或编程状态P。
另一方面,当存储器单元劣化时,阈值电压分布可能改变。参照图3B,可以确认的是,与存储器单元的擦除状态E或编程状态P对应的阈值电压分布已经改变。当阈值电压由于存储在存储器单元的电荷存储层中的电荷泄漏到基底上而降低时,或者当阈值电压由于对相邻存储器单元执行的读取操作所导致的读取干扰而增大时,存储器单元的阈值电压分布会改变。此外,存储器单元的阈值电压分布可能由于对存储器单元的编程/擦除操作的频率增大或存储器单元的操作温度改变而改变。
当阈值电压分布已经改变时,如果存储器系统10为了确定存储器单元的擦除状态E或编程状态P而使用默认读取电平DRL读取数据,则在编程状态P下被编程的存储器单元中的一些存储器单元中可能发生读取错误。在那种情况下,可能需要通过读取重试操作对读取电平进行修改。
然而,根据发明构思的示例实施例,存储器系统10可以响应于来自主机HOST的读取请求而基于劣化信息来预期与读取请求对应的块的劣化状态,并且基于预期的劣化状态来推断能够不造成读取错误的读取电平。此外,存储器系统10可以使用推断的读取电平IRL,以确定存储器单元的擦除状态E或编程状态P。因此,存储器系统10可以提高读取数据的可靠性,并且通过不引起涉及读取重试的操作的任何开销来改善存储器系统10的性能。
图4A和图4B是示出由于存储器单元的劣化而引起的阈值电压分布变化的另一示例的示图。
参照图4A和图4B,横轴表示阈值电压Vth,纵轴表示存储器单元的数量。参照图4A,当存储器单元是以2比特进行编程的多层单元时,存储器单元可以具有擦除状态E、第一编程状态P1、第二编程状态P2和第三编程状态P3中的一种状态。存储器单元可以具有与擦除状态E、第一编程状态P1、第二编程状态P2或第三编程状态P3对应的阈值电压分布。存储器系统10可以使用第一默认读取电平DRL1至第三默认读取电平DRL3中的每个以确定存储器单元的第一编程状态P1至第三编程状态P3。
另一方面,当存储器单元劣化时,存储器单元的阈值电压分布可能改变。参照图4B,可以确认的是,与存储器单元的擦除状态E、第一编程状态P1、第二编程状态P2或第三编程状态P3对应的阈值电压分布已经改变。在那种情况下,如果存储器系统10为了确定存储器单元的擦除状态E、第一编程状态P1、第二编程状态P2或第三编程状态P3而按照原样使用默认读取电平DRL1至DRL3读取数据,则在第一编程状态P1至第三编程状态P3下被编程的存储器单元中的一些存储器单元中可能发生读取错误。在那种情况下,可能需要通过读取重试操作对读取电平进行修改。
然而,根据发明构思的示例实施例,存储器系统10可以响应于来自主机HOST的读取请求而基于劣化信息来预期与读取请求对应的块的劣化状态,并且基于预期的劣化状态来推断能够不造成读取错误的读取电平。此外,存储器系统10可以使用推断的读取电平IRL1至IRL3,以确定存储器单元的擦除状态E、第一编程状态P1、第二编程状态P2或第三编程状态P3。因此,存储器系统10可以提高读取数据的可靠性,并且通过不引起涉及读取重试的操作的任何开销来改善存储器系统10的性能。
尽管在图3A至图4B中未示出,但是同一原理可以应用于存储器单元为更多层的单元(例如,三层单元或四层单元)的情况。
图5是示出根据发明构思的实施例的图1的存储器控制器的框图。
参照图5,存储器控制器100可以包括主机接口120、处理器130、紧耦合存储器(TCM)140、存储器150、纠错码(ECC)模块160和存储器接口170,并且这些元件可以经由总线180彼此通信。
主机接口120可以提供主机HOST与存储器系统10之间的物理连接。作为示例,主机接口120可以包括各种接口方法,如,高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、PCI快速(PCI-E)、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡接口、多媒体卡(MMC)接口、嵌入式多媒体卡(eMMC)接口、紧凑型闪存(CF)卡接口等。
主机接口120可以从主机HOST接收读取请求,并且将从存储器装置200读取的数据传输到主机HOST。
处理器130可以是处理电路(诸如,包括逻辑电路的硬件;执行软件的硬件/软件组合;或者它们的组合)。例如,处理电路更具体地可以包括但不限于中央处理器(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。处理器130可以通过执行存储在存储器150中的指令来控制存储器控制器100的总体操作。例如,处理器130可以使用关于与读取请求对应的块的劣化信息来确定劣化水平,并且执行固件或软件,所述固件或软件执行基于确定的劣化水平确定是否对读取电平进行推断的操作。此外,处理器130可以包括其中存储有被训练为对读取电平进行推断的人工智能模型的TCM 140。此外,因为处理器130可以在相对短的时间段内访问TCM 140,所以处理器130可以在从主机HOST接收到读取请求时使用人工智能模型110快速地执行读取电平推断操作。
存储器150可以是数据缓冲器,可以在处理器130的控制下进行操作,并且可以是易失性存储器(如,DRAM和SRAM)或非易失性存储器(如,PRAM和闪存)。存储器150可以是专用作处理器130的数据缓冲器的存储器块,或者可以是例如存储器装置的专用作缓冲器的块。
包括在存储器150中的后台读取控制器BRC可以通过被处理器130执行来控制对包括在存储器装置200中的多个块BLK1至BLKn的后台读取操作。后台读取操作可以指由后台读取控制器BRC执行的操作,后台读取控制器BRC对它自己发出读取命令CMD和地址ADDR而无需从主机HOST接收读取请求,并且响应于读取命令CMD和地址ADDR而从存储器装置200读取数据DATA。后台读取控制器BRC可以用固件或软件来实现,并且可以被加载到存储器150。然而,发明构思的实施例不限于此。可选地,后台读取控制器BRC可以用硬件来实现。
存储器控制器100可以在后台读取操作之后收集关于多个块中的每个块的劣化信息DI。在此之后,存储器控制器100可以将收集的劣化信息DI存储在存储器150中。劣化信息DI可以包括编程/擦除循环(P/E循环)、读取计数、保持时间、操作温度和读取数据的错误比特的数量中的至少一种。
此外,劣化信息DI可以包括关于包括在每个块中的每条字线或每个存储器单元的前述信息。
此外,劣化信息DI可以包括导通单元计数(例如,当默认读取电平被施加到块的每条字线时导通的存储器单元的数量)和/或截止单元计数(例如,当默认读取电平在后台读取控制器BRC的控制下被施加到块的每条字线时截止的存储器单元的数量)。然而,劣化信息DI的类型不限于此。
存储器控制器100可以以预设周期执行后台读取操作和劣化信息DI收集操作。然而,发明构思的实施例不限于此。可选地,存储器控制器100可以根据可变周期来执行后台读取操作和劣化信息DI收集操作。
可以在处理器130的控制下向人工智能模型110提供收集的劣化信息DI,因此,可以执行读取电平推断操作。在下文中,将更详细地描述读取电平推断操作。
当从主机HOST接收到读取请求时,处理器130可以从存储在存储器150中的劣化信息DI中获得关于与读取请求对应的块的劣化信息。一旦处理器130已经从主机HOST接收到读取请求和逻辑地址,处理器130就可以获得与逻辑地址对应的物理地址,并且获得关于存储器装置200的多个块中的与该物理地址对应的块的劣化信息。另一方面,存储器150可以存储映射逻辑地址和物理地址的映射表(未示出)。
此外,处理器130可以基于获得的劣化信息来确定与读取请求对应的块的劣化水平。当确定的劣化水平等于或大于阈值时,处理器130可以控制存储器150向TCM 140提供验证的劣化信息。根据劣化程度,劣化水平可以由三个或更多个不同的水平组成。劣化水平越高,劣化程度可以越大。然而,发明构思的实施例不限于此。存在两种劣化水平:劣化水平“0”表示劣化尚未发生或劣化轻微,劣化水平“1”表示存在劣化。
可以基于包括在劣化信息中的各种信息集的组合来执行劣化水平确定操作。例如,劣化水平可以与劣化信息中的导通单元计数或截止单元计数的值对应,并且处理器130可以通过对劣化信息中的导通单元计数或截止单元计数进行验证来确定块的劣化水平。可选地,可以基于包括在劣化信息中的P/E循环、读取计数、保持时间、操作温度、读取数据的错误比特的数量等中的至少一种或更多种的组合来确定劣化水平。可选地,可以通过除了处理器130之外的单独的配置来执行劣化水平确定操作。
处理器130可以执行包括在TCM 140中的人工智能模型110,并且获得从人工智能模型110推断的读取电平。此外,处理器130可以控制存储器接口170通过命令CMD和/或控制信号CTRL向存储器装置200提供关于推断的读取电平的信息。
另一方面,当确定的劣化水平小于阈值时,处理器130可以将默认读取电平确定为与读取请求对应的读取电平,而无需对与读取请求对应的读取电平进行推断。此外,处理器130可以控制存储器接口170通过命令CMD和/或控制信号CTRL向存储器装置200提供关于默认读取电平的信息。
ECC模块160从自存储器装置200接收的数据检测错误比特,并且可以执行对检测到的错误比特进行校正的ECC操作。ECC模块160可以确定从接收的数据检测到的错误比特的数量是否超过ECC模块160的校正能力。
例如,ECC模块160响应于来自主机HOST的读取请求而从读取数据检测错误比特,并且可以确定检测到的错误比特的数量是否超过ECC模块160的纠错能力。如果检测到的错误比特的数量超过ECC模块160的纠错能力,则ECC模块160可以将结果事实通知给处理器130,其中,处理器130可以执行恢复码以执行读取重试操作。
ECC模块160可以用硬件来实现。然而,发明构思的实施例不限于此。可选地,ECC模块160可以用固件或软件来实现,并且可以被加载到存储器150。
存储器接口170可以提供存储器控制器100与存储器装置200之间的通道。例如,可以通过存储器接口170在存储器控制器100与存储器装置200之间发送和接收命令CMD、地址ADDR、数据DATA、劣化信息DI等。请求的将从主机HOST写入的数据和从存储器装置200读取的数据可以临时地存储在存储器150中。
尽管在图5的图示和描述中存储器控制器被示出和描述为包括一个TCM,但是存储器控制器可以用多个TCM实现。
此外,尽管在图5的图示和描述中存储器控制器被示出和描述为包括一个存储器,但是存储器控制器可以包括多个存储器。在那种情况下,可以将后台读取控制器BRC存储在一个存储器中,并且可以将劣化信息存储在剩余的存储器中。
图6是示出根据发明构思的另一实施例的图1的存储器控制器的框图。
参照图6,存储器控制器100'是图5中示出的存储器控制器100的修改实施例。因此,在下文中将省略与图5的描述相同的描述。硬件加速器190可以实现被训练为对读取电平进行推断的人工智能模型110。硬件加速器190可以包括人工智能计算专用加速器。
硬件加速器190的示例可以包括各种类型的加速器,如,现场可编程门阵列(FPGA)、大规模并行处理器阵列(MPPA)、图形处理器(GPU)、专用集成电路(ASIC)、神经处理器(NPU)、张量处理器(TPU)、多处理器片上系统(MPSoC)等。处理器130可以使用硬件加速器190来执行读取电平推断操作。
一旦处理器130'已经从主机HOST接收到读取请求,处理器130'就可以从存储在存储器150中的劣化信息DI确认关于与读取请求对应的块的劣化信息。在此之后,处理器130'可以基于确认的劣化信息来确定与读取请求对应的块的劣化水平。当确定的劣化水平等于或大于阈值时,处理器130'可以控制存储器150向实现人工智能模型110的硬件加速器190提供确认的劣化信息。
此外,处理器130'可以控制硬件加速器190执行人工智能模型110,并且可以获得从人工智能模型110推断的读取电平。此外,处理器130'可以控制存储器接口170通过命令CMD和/或控制信号CTRL向存储器装置200提供关于推断的读取电平的信息。
另一方面,当确定的劣化水平小于阈值时,处理器130'可以将默认读取电平确定为与读取请求对应的读取电平,而无需对读取电平进行推断。此外,处理器130可以控制存储器接口170通过命令CMD和/或控制信号CTRL向存储器装置200提供关于默认读取电平的信息。
当使用由人工智能计算专用硬件(如,硬件加速器190)执行的人工智能模型110时,可以并行地快速执行读取电平推断操作。在这样的情况下,可以在几乎与当使用不需要推断处理的读取路径时的时间段相同的时间段内对读取电平进行推断,因此,可以将结果读取电平发送到存储器装置200。
图7和图8是示出根据发明构思的实施例的操作存储器系统的方法的流程图。
图7是示出根据本实施例的基于关于与读取请求对应的块的劣化信息的读取电平推断操作的流程图。例如,可以在包括图5的存储器控制器100的存储器系统10或包括图6的存储器控制器100'的存储器系统10中执行根据本实施例的操作方法。参照图1至图6进行的描述可以应用于本实施例。
参照图7,在操作S11中,可以从主机接收读取请求。存储器控制器100和100'可以通过主机接口120从主机接收读取请求。存储器系统10还可以从主机接收与读取请求相关联的逻辑地址。
在操作S12中,可以获得关于块的劣化信息。存储器控制器100和100'可以从存储器装置200的多个块获得与接收的逻辑地址对应的物理地址,并且可以获得关于多个块中的与该物理地址对应的块的劣化信息。劣化信息可以包括导通单元计数、截止单元计数、P/E循环、读取计数、保持时间、操作温度和读取数据的错误比特的数量中的至少一种。
在操作S13中,可以确定关于块的劣化水平。存储器控制器100和100'可以基于获得的劣化信息来确定劣化水平。详细地,存储器控制器100和100'可以通过验证与包括在劣化信息中的导通单元计数或截止单元计数的值对应的劣化水平来确定与读取请求对应的块的劣化水平。可选地,存储器控制器100和100'可以基于包括在劣化信息中的P/E循环、读取计数、保持时间、操作温度、读取数据的错误比特的数量等中的至少一种或更多种的组合来确定劣化水平。
在操作S14中,可以基于劣化水平来对读取电平进行推断。存储器控制器100和100'可以基于确定的劣化水平来对与读取请求对应的读取电平进行推断。例如,根据劣化水平是否等于或大于阈值,存储器控制器100和100'可以执行或可以不执行读取电平推断操作。在下文中,将在图8的描述和图示中提供对其的详细描述。
可以以根据确定的劣化水平而选择的推断方法来执行基于劣化水平的读取电平推断操作。例如,如果存在用于对读取电平进行推断的第一方法和第二方法,则可以根据劣化水平以第一方法或第二方法来对读取电平进行推断。
存储器控制器100和100'可以使用被训练为对读取电平进行推断的人工智能模型110来对读取电平进行推断。详细地,存储器控制器100和100'可以将关于与读取请求对应的块的劣化信息输入到人工智能模型110,并且获得从人工智能模型110推断的读取电平。
人工智能模型110可以用软件或硬件来实现,并且可以是基于如上讨论的决策树模型、随机森林模型、AdaBoost模型、多元回归分析模型、逻辑回归模型和随机抽样一致(RANSAC)模型中的至少一种或者它们的组合。人工智能模型110的示例不限于此。
可选地,可以在包括在存储器控制器100的处理器130中的TCM 140中执行人工智能模型110。此外,可以通过包括在存储器系统10的存储器控制器100'中的硬件加速器190来实现人工智能模型110。
在操作S15中,可以基于读取电平来读取数据。存储器控制器100和100'可以通过命令CMD和/或控制信号CTRL将关于推断的读取电平的信息发送到存储器装置200,并且接收从存储器装置200读取的数据。
图8是详细地示出根据图7的基于与读取请求对应的块的劣化水平的读取电平推断操作的流程图。参照图8,在操作S21至S23中执行的从主机接收读取请求、获得关于块的劣化信息和确定块的读取电平的操作可以与参照图7的操作S11至S13中的前述操作基本相同。因此,在下文中将省略与图7的描述相同的描述。
在操作S24中,可以将与读取请求对应的块的劣化水平与阈值进行比较。如果劣化水平等于或大于阈值,则存储器控制器100和100'可以执行操作S25。相反,如果劣化水平小于阈值,则存储器控制器100和100'可以执行操作S27。
在操作S25中,可以使用关于与读取请求对应的块的劣化信息来对与读取请求对应的读取电平进行推断。在操作S26中,可以使用推断的读取电平来读取数据。存储器控制器100和100'可以通过命令CMD和/或控制信号CTRL将关于推断的读取电平的信息发送到存储器装置200。存储器装置200通过接收的命令CMD和/或控制信号CTRL对关于推断的读取电平的信息进行验证,由此,存储器装置200可以使用与推断的读取电平对应的读取电压来读取数据。
在操作S27中,可以将默认读取电平确定为与读取请求对应的读取电平。详细地,存储器控制器100和100'可以将默认读取电平确定为与读取请求对应的读取电平,而无需执行读取电平推断操作。在操作S28中,可以使用默认读取电平来读取数据。存储器控制器100和100'可以通过命令CMD和/或控制信号CTRL将关于默认读取电平的信息发送到存储器装置200。存储器装置200通过接收的命令CMD和/或控制信号CTRL对关于默认读取电平的信息进行验证,由此,存储器装置200可以使用与默认读取电平对应的读取电压来读取数据。
图9是示出根据发明构思的实施例的生成劣化信息的方法的流程图。
参照图9,根据本实施例的生成劣化信息的方法是通过后台读取操作来执行的方法。例如,可以在包括图5的存储器控制器100的存储器系统10中或在包括图6的存储器控制器100'的存储器系统10中执行根据本实施例的生成劣化信息的方法。参照图1至图6进行的前述描述可以应用于本实施例。
在操作S31中,可以通过监测存储器装置200来收集(或者获得)关于多个块中的每个块的劣化信息。存储器控制器100和100'可以在执行后台操作时通过后台读取控制器BRC执行后台读取操作。此外,存储器控制器100和100'可以在后台读取操作之后收集关于多个块中的每个的劣化信息。
在操作S32中,可以基于收集的劣化信息来确定多个块中的每个块的劣化水平。确定劣化水平的详细方法可以与结合图5进行的前述描述基本相同。因此,在下文中将省略与图5的描述相同的描述。
在操作S33中,可以将多个块中的每个块的劣化水平与阈值进行比较。存储器控制器100和100'可以对其劣化水平等于或大于阈值的块执行操作S34。另一方面,存储器控制器100和100'可以对其劣化水平小于阈值的块执行操作S35。存储器控制器100和100'可以并行地执行操作S34和S35。
在操作S34中,可以存储关于多个块中的其劣化水平等于或大于阈值的块的劣化信息。换言之,存储器控制器100和100'可以仅将关于其劣化水平等于或大于阈值的块的劣化信息存储在存储器150中。
另一方面,在操作S35中,可以省略存储关于多个块中的其劣化水平小于阈值的块的劣化信息的操作。换言之,存储器控制器100和100'可以省略将关于其劣化水平小于阈值的块的劣化信息存储在存储器150中的操作。
图10是示出根据图9的生成劣化信息的方法的劣化信息的示例的示图。
参照图10,存储在存储器150中的劣化信息可以包括以多个块中的每个块的编号和向量格式描述的关于劣化的信息。以向量格式描述的关于劣化的信息(例如,图10中的V1至Vn)可以包括导通单元计数(例如,OCC1)、截止单元计数(例如,OCC2)、P/E循环、读取计数、保持时间、操作温度和读取数据的错误比特的数量中的至少一种。可选地,以向量格式描述的关于劣化的信息可以包括通过使用彼此不同的读取电平获得的两个或更多个导通单元计数或通过使用彼此不同的读取电平获得的两个或更多个截止单元计数。尽管在示出和描述图10时以向量格式描述了关于劣化的信息,但将理解的是,这样的方法是通过示例而非限制的方式给出的。可以以其他的描述方法来生成劣化信息。
如图9中所述,可以仅将关于其劣化水平等于或大于阈值的块的劣化信息存储在存储器150中。因此,与关于其劣化水平等于或大于阈值的块BLK1和BLKn的劣化信息可以被存储,而关于其劣化水平小于阈值的块BLK2的劣化信息可以为空。
图11是示出使用图10的劣化信息对读取电平进行推断的方法的示例的流程图。
参照图11,在操作S41中,可以从主机接收读取请求。存储器控制器100和100'可以通过主机接口120从主机接收读取请求和逻辑地址。
在操作S42中,可以对关于与读取请求对应的块的劣化信息是否存在做出验证。详细地,存储器控制器100和100'可以从存储器装置200的多个块获得与接收的逻辑地址对应的物理地址,并且对关于多个块中的与该物理地址对应的块的劣化信息是否存储在存储器150中进行验证。如果验证的关于块的劣化信息存储在存储器150中,则存储器控制器100和100'可以执行操作S43。相反,如果验证的关于块的劣化信息未存储在存储器150中,则存储器控制器100和100'可以执行操作S45。
在操作S43中,可以使用验证的关于块的劣化信息来对与读取请求对应的读取电平进行推断。因为存在验证的关于块的劣化信息表示所述块发生了验证的劣化的事实,所以存储器控制器100和100'可以执行读取电平推断操作。详细地,存储器控制器100和100'向人工智能模型110提供验证的关于块的劣化信息,并且可以获得从人工智能模型110推断的读取电平。在操作S44中,可以使用推断的读取电平来读取数据。存储器控制器100和100'可以通过命令CMD和/或控制信号CTRL将关于推断的读取电平的信息发送到存储器装置200。存储器装置200通过接收的命令CMD和/或控制信号CTRL来对关于推断的读取电平的信息进行验证,由此,存储器装置200可以使用与推断的读取电平对应的读取电压来读取数据。
在操作S45中,可以将默认读取电平确定为与读取请求对应的读取电平。因为不存在验证的关于块的劣化信息表示所述块发生轻微的验证的劣化或未发生验证的劣化的事实,所以存储器控制器100和100'可以将默认读取电平确定为与读取请求对应的读取电平。在操作S46中,可以使用默认读取电平来读取数据。存储器控制器100和100'可以通过命令CMD和/或控制信号CTRL将关于默认读取电平的信息发送到存储器装置200。存储器装置200通过接收到的命令CMD和/或控制信号CTRL来对关于默认读取电平的信息进行验证,由此,存储器装置200可以使用与默认读取电平对应的读取电压来读取数据。
因此,图9至图11的存储器控制器100和100'可以通过预先选择需要对其进行读取电平推断操作的块(即,其中已经发生劣化的块)并仅存储关于那些块的劣化信息来降低存储容量。
图12是示出根据发明构思的实施例的生成劣化信息和劣化水平信息的方法的流程图。
参照图12,根据本实施例的生成劣化信息和劣化水平信息的方法是通过后台读取操作来执行的方法。例如,可以在包括图5的存储器控制器100的存储器系统10中或在包括图6的存储器控制器100'的存储器系统10中执行根据本实施例的生成劣化信息和劣化水平信息的方法。参照图1至图6进行的上述描述可以应用于本实施例。
在操作S51中,可以通过监测存储器装置200来收集关于多个块中的每个块的劣化信息。存储器控制器100和100'可以在执行后台操作时通过后台读取控制器BRC执行后台读取操作。此外,在后台读取操作之后,存储器控制器100和100'可以收集关于多个块中的每个块的劣化信息,并且将收集的信息存储在存储器150中。换言之,存储器控制器100和100'可以存储收集的关于多个块中的每个块的劣化信息的全部。
在操作S52中,可以基于收集的劣化信息来确定多个块中的每个的劣化水平(即,劣化水平信息)。确定劣化水平的详细方法可以与同图5相关联的上述描述基本相同。因此,在下文中将省略与图5的描述相同的描述。
在操作S53中,存储器150可以存储确定的关于多个块中的每个块的劣化水平信息。存储器系统10可以存储确定的关于多个块中的每个块的劣化水平信息的全部。
图13是示出根据图12的生成劣化信息和劣化水平信息的方法的劣化信息和劣化水平信息的示例的示图。
参照图13,存储在存储器150中的劣化信息可以包括以多个块中的每个块的编号和向量格式描述的与劣化相关的信息,并且劣化水平信息可以包括多个块中的每个块的劣化水平。
以向量格式描述的与劣化相关的信息(例如,图13中的V1至Vn)可以包括导通单元计数(例如,OCC1)、截止单元计数(例如,OCC2)、P/E循环、读取计数、保持时间、操作温度和读取数据的错误比特的数量中的至少一种。此外,以向量格式描述的关于劣化的信息可以包括通过使用彼此不同的读取电平获得的两个或更多个导通单元计数或通过使用彼此不同的读取电平获得的两个或更多个截止单元计数。另一方面,可以以除了向量格式之外的不同格式来生成关于劣化的信息。
如在图12的描述中所提及的,因为可以将关于全部多个块的劣化信息存储在存储器150中而不考虑劣化水平,所以也可以将关于其劣化水平小于阈值的块BLK2的劣化信息存储在存储器150中。
劣化信息和劣化水平信息在图13的描述和图示中被描述为同时生成。然而,劣化信息和劣化水平信息可以在实施方式中被分别地生成和存储。
图14是示出使用图13的劣化信息和劣化水平信息对读取电平进行推断的方法的示例的流程图。
参照图14,在操作S61中,可以从主机接收读取请求。存储器控制器100和100'可以通过主机接口120从主机接收读取请求和逻辑地址。
在操作S62中,可以获得关于与读取请求对应的块的劣化水平信息。存储器控制器100和100'从存储器装置200的多个块获得与接收的逻辑地址对应的物理地址,并且可以从存储器150获得关于多个块中的与该物理地址对应的块的劣化水平信息。
在操作S63中,可以将与读取请求对应的块的劣化水平与阈值进行比较。换言之,存储器控制器100和100'可以将与读取请求对应的块的劣化水平与预设的阈值进行比较。如果劣化水平等于或大于阈值,则存储器控制器100和100'可以执行操作S64。相反,如果劣化水平小于阈值,则存储器控制器100和100'可以执行操作S66。
在操作S64中,可以使用关于与读取请求对应的块的劣化信息来对读取电平进行推断。详细地,存储器控制器100和100'向人工智能模型110提供验证的关于块的劣化信息,并且可以获得从人工智能模型110推断的读取电平。在操作S65中,可以使用推断的读取电平来读取数据。存储器控制器100和100'可以通过命令CMD和/或控制信号CTRL将关于推断的读取电平的信息发送到存储器装置200。存储器装置200通过命令CMD和/或控制信号CTRL来对关于推断的读取电平的信息进行验证,由此,存储器装置200可以使用与推断的读取电平对应的读取电压来读取数据。
在操作S66中,可以将默认读取电平确定为与读取请求对应的读取电平。换言之,存储器控制器100和100'可以将默认读取电平确定为与读取请求对应的读取电平,而无需在对读取电平进行推断。在操作S67中,可以使用默认读取电平来读取数据。存储器控制器100和100'可以通过命令CMD和/或控制信号CTRL将关于默认读取电平的信息发送到存储器装置200。存储器装置200通过命令CMD和/或控制信号CTRL来对关于默认读取电平的信息进行验证,由此,存储器装置200可以使用与默认读取电平对应的读取电压来读取数据。
根据图12至图14的描述和图示,存储器控制器100和100'预先生成劣化水平信息,并且可以在接收到读取请求时通过对已经生成的劣化水平信息进行验证来确定是否执行读取电平推断操作。因此,可以减少在其期间响应于读取请求而对存储器进行读取的时间。
图15是示出根据发明构思的实施例的人工智能模型的示图。
参照图15,人工智能模型110可以通过将关于与读取请求对应的块的劣化信息用作输入数据来对与读取请求对应的读取电平进行推断,并且可以输出推断的读取电平。
人工智能模型110的输入数据可以由包括在劣化信息中的各种类型的信息组成。例如,人工智能模型110的输入数据可以是导通单元计数,所述导通单元计数表示当默认读取电平被施加到与读取请求对应的块时导通的存储器单元的数量。可选地,根据实施例,人工智能模型110的输入数据可以是第一导通单元计数和第二导通单元计数,第一导通单元计数与当第一读取电平被施加到与读取请求对应的块时相关,第二导通单元计数与当与第一读取电平不同的第二读取电平被施加到与读取请求对应的块时相关。然而,人工智能模型110的输入数据的示例不限于此。人工智能模型110的输入数据可以用P/E循环、读取计数、保持时间、操作温度、读取数据的错误比特的数量等中的至少一种或更多种的组合来实现。根据实施例,人工智能模型110还可以对其它操作条件(例如,编程电平、擦除电平等)进行推断。
此外,可以在关于块的劣化信息用作人工智能模型110的输入数据和关于不产生读取错误的读取电平的信息用作人工智能模型110的输出数据的基础上对人工智能模型110进行训练。此外,人工智能模型110可以由其制造者预先训练并在制造存储器系统10时被包括。换言之,可以在制造存储器系统10时包括在由其制造者从多个存储器系统收集的劣化信息和关于不产生读取错误的读取电平的信息的基础上进行训练的人工智能模型110。然而,发明构思的实施例不限于此。根据实施例,人工智能模型110可以在由存储器系统10在实际操作期间收集的劣化信息用作其输入数据和不产生读取错误的读取电平用作其输出数据的基础上对自身进行训练或更新。
可选地,除了关于块的劣化信息之外,可以在与读取请求对应的块的字线编号进一步用作人工智能模型110的输入数据的基础上训练人工智能模型110。以这样的方式训练的人工智能模型110可以通过将与从主机HOST接收的读取请求对应的块的字线编号用作其附加输入数据来输出与读取请求对应的读取电平。可选地,人工智能模型110可以将除了前述示例之外的各种类型的信息用作其输入数据或输出数据。
图16是示出根据发明构思的实施例的固态驱动器(SSD)系统的框图。
参照图16,SSD系统300可以包括主机310和SSD 320。SSD 320通过信号连接器与主机310交换信号SIG,并且可以通过电力连接器接收电力PWR。SSD 320可以包括SSD控制器321、辅助电源322和存储器装置323_1至323_n(例如,闪存1至闪存n)。可以使用上面参照图1至图15描述的实施例来实现SSD 320。根据发明构思的实施例,SSD控制器321可以包括人工智能模型321_1,并且存储器装置323_1至323_n中的每个可以包括多个块。
前述实施例可以应用于SSD系统300。当从主机310接收到读取请求时,SSD控制器321可以基于关于存储器装置323_1至323_n中的与读取请求对应的块的劣化信息来确定与读取请求对应的块的劣化水平,基于确定的劣化水平对与读取请求对应的读取电平进行推断,并且使用推断的读取电平分别通过通道1至通道3(例如,Ch1至Ch3)从存储器装置323_1至323_n读取数据。
根据前述实施例,如果使用劣化信息对读取电平进行推断,则可以提高读取数据的可靠性,并且可以通过不引起涉及读取重试的操作的任何开销来改善性能。此外,因为基于与读取请求对应的块的劣化水平来执行读取电平推断操作,所以可以在提高数据的可靠性的同时减少涉及推断操作的计算的开销,并且降低读取重试的频率。
尽管已经参照发明构思的实施例具体地示出和描述了发明构思,但将理解的是,在不脱离权利要求的精神和范围的情况下,可以在其中做出形式和细节上的各种改变。

Claims (20)

1.一种存储器系统,包括:
存储器装置,包括至少一个块;
缓冲器,被配置为存储关于所述至少一个块的劣化信息;以及
存储器控制器,被配置为:基于与来自主机的针对所述至少一个块的读取请求对应的所述至少一个块的劣化信息获得读取电平,并且基于获得的读取电平从存储器装置读取数据。
2.根据权利要求1所述的存储器系统,其中,存储器控制器被配置为:
确定与读取请求对应的所述至少一个块的劣化水平;
当劣化水平等于或大于阈值时对读取电平进行推断,并基于推断的读取电平读取数据;以及
当劣化水平小于阈值时基于默认读取电平读取数据。
3.根据权利要求1所述的存储器系统,其中,存储器控制器被配置为:
包括被训练为对读取电平进行推断的人工智能模型;以及
通过向人工智能模型提供劣化信息来获得与读取请求对应的所述至少一个块的读取电平。
4.根据权利要求3所述的存储器系统,其中,人工智能模型基于以下中的至少一个:人工神经网络模型、多层感知器模型、卷积神经网络模型、决策树模型、随机森林模型、AdaBoost模型、多元回归分析模型、逻辑回归模型和随机抽样一致模型。
5.根据权利要求3所述的存储器系统,其中,存储器控制器包括:
硬件加速器,被配置为实现人工智能模型,并且
存储器控制器被配置为控制缓冲器向硬件加速器提供劣化信息。
6.根据权利要求3所述的存储器系统,其中,
存储器控制器包括:处理器,包括存储有人工智能模型的紧耦合存储器;并且
存储器控制器被配置为控制缓冲器向紧耦合存储器提供劣化信息。
7.根据权利要求1所述的存储器系统,其中,
劣化信息包括所述至少一个块的导通单元计数、截止单元计数、操作温度、读取数据的错误比特的数量、编程/擦除循环、读取计数和保持时间中的至少一种。
8.一种存储器系统,包括:
存储器装置,包括多个块;
缓冲器,存储关于所述多个块中的至少一个块的劣化信息;以及
存储器控制器,被配置为响应于来自主机的读取请求而从存储器装置读取数据,其中,存储器控制器包括:
硬件加速器,被配置为执行被训练为对读取电平进行推断的人工智能模型;以及
处理器,被配置为:控制缓冲器向硬件加速器提供关于与读取请求对应的所述至少一个块的劣化信息,通过人工智能模型获得与读取请求对应的读取电平,并且基于获得的读取电平读取数据。
9.根据权利要求8所述的存储器系统,其中,处理器被配置为在不存在关于与读取请求对应的块的劣化信息时基于默认读取电平读取数据。
10.根据权利要求8所述的存储器系统,其中,处理器被配置为:
通过监测所述存储器装置来收集关于所述多个块中的每个块的劣化信息,
基于收集的关于所述多个块中的每个块的劣化信息确定所述多个块中的每个块的劣化水平,以及
基于所述多个块中的每个块的劣化水平,存储收集的关于所述多个块中的每个块的劣化信息之中的所述至少一个块的劣化信息。
11.根据权利要求10所述的存储器系统,其中,处理器被配置为:
存储收集的关于所述多个块中的每个块的劣化信息之中的具有等于或大于阈值的劣化水平的块的劣化信息,以及
省略对收集的关于所述多个块中的每个块的劣化信息之中的具有小于阈值的劣化水平的块的劣化信息的存储。
12.根据权利要求10所述的存储器系统,其中,处理器被配置为通过以预定周期监测存储器装置来收集关于所述多个块中的每个块的劣化信息。
13.一种操作存储器系统的方法,所述存储器系统包括包含多个块的存储器装置,所述方法包括:
从主机接收读取请求;
获得关于所述多个块中的与读取请求对应的块的劣化信息;
基于劣化信息获得与读取请求对应的读取电平;以及
基于获得的读取电平从存储器装置读取数据。
14.根据权利要求13所述的方法,还包括:
基于劣化信息确定与读取请求对应的块的劣化水平,
其中,获得读取电平的步骤包括:当劣化水平等于或大于阈值时基于劣化信息对读取电平进行推断,以及当劣化水平小于阈值时将默认读取电平确定为所述读取电平。
15.根据权利要求13所述的方法,其中,获得读取电平的的步骤包括:
向被训练为对读取电平进行推断的人工智能模型提供劣化信息;以及
从人工智能模型获得与读取请求对应的读取电平。
16.根据权利要求15所述的方法,其中,人工智能模型基于以下中的至少一个:人工神经网络模型、多层感知器模型、卷积神经网络模型、决策树模型、随机森林模型、AdaBoost模型、多元回归分析模型、逻辑回归模型和随机抽样一致模型。
17.根据权利要求15所述的方法,其中,通过包括在存储器系统中的硬件加速器来实现人工智能模型。
18.根据权利要求13所述的方法,其中,劣化信息包括块的导通单元计数、截止单元计数、操作温度、读取数据的错误比特的数量、编程/擦除循环、读取计数和保持时间中的至少一种。
19.根据权利要求13所述的方法,还包括:
将关于所述多个块中的至少一个块的劣化信息存储在包括在存储器系统中的缓冲器中,
其中,存储劣化信息的步骤包括:
通过监测存储器装置来收集关于所述多个块中的每个块的劣化信息;
基于收集的关于所述多个块中的每个块的劣化信息确定所述多个块中的每个块的劣化水平;以及
基于所述多个块中的每个块的劣化水平存储收集的关于所述多个块中的每个块的劣化信息之中的所述至少一个块的劣化信息,并且
其中,获得劣化信息的步骤包括:
从存储在缓冲器中的劣化信息获得关于与读取请求对应的块的劣化信息。
20.根据权利要求19所述的方法,其中,存储收集的关于所述多个块中的每个块的劣化信息之中的所述至少一个块的劣化信息的步骤包括:存储收集的关于所述多个块中的每个块的劣化信息之中的具有等于或大于阈值的劣化水平的块的劣化信息。
CN202010534678.3A 2019-08-16 2020-06-12 存储器系统和操作存储器系统的方法 Pending CN112395210A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190100539A KR20210020689A (ko) 2019-08-16 2019-08-16 추론에 기초하여 요청을 처리하는 메모리 시스템 및 이의 동작 방법
KR10-2019-0100539 2019-08-16

Publications (1)

Publication Number Publication Date
CN112395210A true CN112395210A (zh) 2021-02-23

Family

ID=74566886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010534678.3A Pending CN112395210A (zh) 2019-08-16 2020-06-12 存储器系统和操作存储器系统的方法

Country Status (3)

Country Link
US (2) US11114174B2 (zh)
KR (1) KR20210020689A (zh)
CN (1) CN112395210A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11366718B2 (en) * 2020-04-30 2022-06-21 SK Hynix Inc. Optimal read bias tracking system and method thereof
KR102344380B1 (ko) 2021-06-02 2021-12-28 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법
KR102460717B1 (ko) 2021-08-17 2022-10-31 삼성전자주식회사 최적 독출 레벨을 산출하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법
KR102505857B1 (ko) * 2021-11-15 2023-03-06 삼성전자 주식회사 스트롱 에러 정보를 관리하는 메모리 컨트롤러 및 그 동작방법
US11886293B2 (en) 2021-11-15 2024-01-30 Samsung Electronics Co., Ltd. Memory controller managing strong error information and operating method thereof
CN116451756B (zh) * 2023-06-16 2023-08-18 深圳亘存科技有限责任公司 内存高利用率的神经网络协处理器

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US8010738B1 (en) 2008-06-27 2011-08-30 Emc Corporation Techniques for obtaining a specified lifetime for a data storage device
KR101586047B1 (ko) * 2009-03-25 2016-01-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
IES20100615A2 (en) 2009-09-23 2011-03-30 Conor Maurice Ryan A flash memory device and control method
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR102211212B1 (ko) 2013-03-15 2021-02-03 비데리 인코포레이티드 디지털 아트 및 이미징을 디스플레이하고, 배포하고, 뷰잉하고 제어하기 위한 시스템 및 방법
US9336483B1 (en) 2015-04-03 2016-05-10 Pearson Education, Inc. Dynamically updated neural network structures for content distribution networks
US10599208B2 (en) 2015-09-08 2020-03-24 Toshiba Memory Corporation Memory system and controller
KR102696971B1 (ko) 2016-09-06 2024-08-21 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
KR102643916B1 (ko) * 2016-10-18 2024-03-08 삼성전자주식회사 스토리지 장치, 메모리 시스템, 및 그것의 읽기 전압 결정 방법
KR102656190B1 (ko) 2016-11-24 2024-04-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
US10726930B2 (en) 2017-10-06 2020-07-28 Western Digital Technologies, Inc. Method and system for a storage (SSD) drive-level failure and health prediction leveraging machine learning on internal parametric data
US10643730B1 (en) * 2018-02-26 2020-05-05 Toshiba Memory Corporation Adapting flash memory programming parameters for high endurance and steady performance
US10552063B2 (en) * 2018-06-21 2020-02-04 International Business Machines Corporation Background mitigation reads in a non-volatile memory system

Also Published As

Publication number Publication date
US11715538B2 (en) 2023-08-01
US20210050067A1 (en) 2021-02-18
US11114174B2 (en) 2021-09-07
US20210366562A1 (en) 2021-11-25
KR20210020689A (ko) 2021-02-24

Similar Documents

Publication Publication Date Title
US11715538B2 (en) Memory system processing request based on inference and operating method of the same
US11748223B2 (en) Method of operating storage device, storage device performing the same and storage system including the same
US10902924B2 (en) Memory system varying pass voltage based on erase count of target memory block and operating method thereof
US11086540B2 (en) Memory system, memory controller and memory device for configuring super blocks
US20180157415A1 (en) Apparatus and method for controlling memory device
US20240160357A1 (en) Memory for improving performance of read retry operation, storage device, and method for operating storage device
US12001709B2 (en) Storage devices and operating methods of storage controllers
US11586379B2 (en) Memory system and method of operating the same
JP6997258B2 (ja) メモリシステムに対するプログラム検証のためのシステム及び方法
KR102695482B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US20240152276A1 (en) Storage device determining priorities on the basis of temperatures of memory dies and temperature variations, and method thereof
US12067252B2 (en) Storage device writing data on the basis of temperatures of memory dies and method thereof
US20240202090A1 (en) Storage device for storing temperature log information according to temperature storage level and operating method thereof
US20240078023A1 (en) Storage device determining whether to apply thermal throttling mode to target operation
US20240184486A1 (en) Storage device determining memory area to which data is written using write throughput and method of operation
US20240094952A1 (en) System and storage device for executing read command using read recovery level and methods of operation
US20240078042A1 (en) Storage device determining a policy for fetching commands from a plurality of command queues, and method thereof
US20240176541A1 (en) Storage device controlling target operation based on collected performance information and operating method thereof
US20240118998A1 (en) Decoding device for determining whether to decode data unit, and operating method thereof
US20240184657A1 (en) Storage device for setting operation parameters for random access memory upon power-on and operation
US20240143186A1 (en) Storage device determining victim memory block for garbage collection or wear leveling, and method thereof
US20240143168A1 (en) Storage device controlling garbage collection or wear leveling on the basis of timestamp, and method thereof
US20240176407A1 (en) Storage device for executing background operation based on power state and operating method thereof
US20240274201A1 (en) Storage device for determining memory cell type after data input during program operation and operating method thereof
US20240143222A1 (en) Storage device controlling write buffer while processing power off request and method of operating the storage device

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