CN108108810A - 包括非易失性存储器件的存储装置及访问方法 - Google Patents
包括非易失性存储器件的存储装置及访问方法 Download PDFInfo
- Publication number
- CN108108810A CN108108810A CN201711191140.1A CN201711191140A CN108108810A CN 108108810 A CN108108810 A CN 108108810A CN 201711191140 A CN201711191140 A CN 201711191140A CN 108108810 A CN108108810 A CN 108108810A
- Authority
- CN
- China
- Prior art keywords
- access
- information
- grader
- storage device
- controller
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
存储装置包括非易失性存储器件、缓冲存储器、控制器和神经形态芯片。神经形态芯片被配置为基于访问结果信息和访问环境信息生成访问分类器。控制器被配置为使用缓冲存储器执行对非易失性存储器件的第一访问,并且收集缓冲存储器中的第一访问的访问结果信息和访问环境信息。控制器被配置为使用缓冲存储器执行非易失性存储器件的第二访问。控制器被配置为通过使用与第二访问和访问分类器相关联的访问环境信息来获得与第二访问相关联的访问参数的预测结果。
Description
相关申请的交叉引用
要求于2016年11月24日向韩国知识产权局提交的韩国专利申请No.10-2016-0157445的优先权,其全部内容通过引用并入本文。
技术领域
本文公开的发明概念涉及半导体电路,更具体地,涉及包括用于非易失性存储器件(memory device)的存储装置(storage device)和对非易失性存储器件的存取方法。
背景技术
存储装置包括非易失性存储器。由于即使在断电时存储装置也保存其中存储的数据,所以存储装置可以长时间存储数据。存储装置可以用作诸如计算机、智能电话和智能平板的各种电子设备中的主存储器。
在存储装置上执行数据读取和写入的模式可以根据用户的数据使用模式和使用数据的环境而变化。如果在存储装置上执行数据读取和写入的模式变化,则存储装置的操作性能可能变化。
存储装置的制造商基于平均使用模式和使用环境设置其内部操作(例如,写入和读取操作)的算法。如果将平均使用模式和使用环境应用于存储装置,则存储装置无法为每个用户提供最佳的操作性能。
发明内容
发明概念的一些示例性实施例提供存储装置,和对非易失性存储器件的访问方法,其为每个用户提供期望的(和/或最佳)操作性能。
根据发明构思的一些示例性实施例,存储装置包括非易失性存储器件、缓冲存储器、神经形态芯片(neuromorphic chip)和控制器。神经形态芯片被配置为基于访问结果信息和访问环境信息生成访问分类器。控制器被配置为使用缓冲存储器来执行对非易失性存储器件的第一访问。控制器被配置为收集缓冲存储器中的第一访问的访问结果信息和访问环境信息。控制器被配置为使用缓冲存储器执行对非易失性存储器件的第二访问。控制器被配置为通过使用与第二访问相关联的访问环境信息和访问分类器来获得与第二访问相关联的访问参数的预测结果。
根据发明构思的一些示例性实施例,存储装置包括非易失性存储器件、缓冲存储器和控制器。控制器可以被配置为使用缓冲存储器来执行对非易失性存储器件的第一访问。控制器可以被配置为收集缓冲存储器中的第一访问的访问结果信息和访问环境信息,并且控制器可以被配置为基于在缓冲存储器中收集的访问结果信息和访问环境信息执行机器学习来生成访问分类器。控制器可以被配置为使用缓冲存储器执行非易失性存储器件的第二访问。控制器可以被配置为通过使用与第二访问相关联的访问环境信息和访问分类器来获得与第二访问相关联的访问参数的预测结果。
根据发明构思的一些示例性实施例,非易失性存储器件的访问方法包括执行对非易失性存储器件的第一访问以收集第一访问的第一访问结果信息和第一访问环境信息,基于所收集的第一访问结果信息和所收集的第一访问环境信息通过执行机器学习生成访问分类器,在对非易失性存储器件执行第二访问之前,通过使用第二访问的第二访问环境信息和访问分类器获得与第二访问相关联的访问参数的预测结果,通过使用预测结果在非易失性存储器件上执行第二访问,并更新访问分类器,以使得第二访问的第二访问结果信息和第二访问的第二访问环境信息被应用到访问分类器。
根据一些示例实施例,控制器包括缓冲存储器和第一核心(core)。第一核心可以被配置为与外部主机、缓冲存储器和非易失性存储器件进行通信。第一核心可以被配置为使用缓冲存储器在非易失性存储器件上执行第一访问。第一核心可以被配置为在使用缓冲存储器在非易失性存储器件上执行第二访问之前接收与第二访问相关联的访问参数的预测结果。预测结果可以基于与第二访问相关联的访问环境信息以及与第一访问相关联的访问分类器。与第一访问相关联的访问分类器可以基于在第一访问之后从非易失性存储器件收集的访问结果信息和访问环境信息。第一核心可以被配置为使用缓冲存储器在非易失性存储器件上执行第二访问的第一操作,或者基于预测结果,使用缓冲存储器在非易失性存储器件上执行第二访问的第二操作。第二访问的第二操作可以不同于第一访问的第一操作。
附图说明
从以下参照附图进行的描述中,以上和其他效果和特征将变得显而易见,其中除非另有说明,贯穿各个附图,相同的附图标记指代相同的部件,其中:
图1是示出了根据本发明概念的一些示例性实施例的存储装置的框图;
图2显示了由图1的用于机器学习的核心实现的模块的示例;
图3是示出了根据本发明概念的一些示例性实施例的存储装置的操作方法的流程图;
图4显示了根据本发明概念的一些示例实施例的其中存储装置通过使用访问分类器来预测(或分类)新的访问请求的访问结果的示例;
图5显示了根据本发明概念的一些示例性实施例的存储器块的示例;
图6显示了其中控制器访问非易失性存储器件的示例;
图7显示了当机器学习应用于可靠性验证读取操作时的访问结果信息和访问环境信息的示例;
图8显示了在获得分类结果之后处理与分类结果相关联的可靠性验证读取操作的方法的示例;
图9显示了当将机器学习应用于读取操作、写入操作或擦除操作时的访问结果信息和访问环境信息的示例;
图10显示了其中控制器访问非易失性存储器件110的另一示例。
图11显示了将机器学习应用于检查操作时的访问结果信息和访问环境信息的示例;
图12显示了在获得分类结果之后处理与分类结果相关联的检查操作的方法的示例;
图13显示了其中通过使用子访问操作的结果将访问操作的结果分类为访问环境信息的示例;
图14显示了使用图13的访问环境信息和访问结果信息的方法的示例;
图15显示了访问结果信息的应用;
图16显示了访问结果信息的另一应用;
图17显示了访问环境信息的应用;
图18是示出了存储装置的操作方法的示例的流程图;
图19是示出了其中存储装置基于模式选择特征信息的示例的流程图;
图20显示了通过机器学习生成的访问分类器的示例;
图21显示了通过机器学习生成的访问分类器的另一示例;
图22显示了通过机器学习生成的访问分类器的另一示例;
图23是示出了图1的存储装置的应用的框图;以及
图24是示出了图23的存储装置200的应用的框图。
具体实施方式
以下,将参考附图更全面地描述本发明构思的一些示例性实施例,以使得本公开将是彻底和完整的,并且将向本领域普通技术人员充分传达发明概念的范围。
图1是示出了根据本发明概念的一些示例实施例的存储装置100的框图。参考图1,存储装置100包括非易失性存储器件110、控制器120和缓冲存储器130。
非易失性存储器件110可以在控制器120的控制下执行写入操作、读取操作和擦除操作。非易失性存储器件110可以从控制器120接收写入命令、地址和数据,并且可以将数据写入对应于该地址的存储空间。非易失性存储器件110可以从控制器120接收读取命令和地址,可以从对应于该地址的存储空间读取数据,并且可以将读取的数据输出到控制器120。非易失性存储器件110可以从控制器120接收擦除命令和地址,并且可以擦除对应于该地址的存储空间的数据。
非易失性存储器件110可以包括多个存储器块BLK1至BLKz。存储器块BLK1至BLKz中的每一个可以包括多个存储器单元。存储器单元可以形成非易失性存储器件110的存储空间。存储器块BLK1至BLKz中的每一个还可以包括选择晶体管,所述选择晶体管允许存储器单元彼此独立地被选择。存储器块BLK1至BLKz可以根据非易失性存储器件110的操作特性或结构特性进行区分。
非易失性存储器件110可以包括闪速存储器、相变随机存取存储器(PRAM)、铁电RAM(FeRAM)、磁RAM(MRAM)、电阻RAM(RRAM)等。
控制器120可以访问非易失性存储器件110和缓冲存储器130。控制器120可以响应于外部主机设备(未示出)的请求执行写操作、读操作和擦除操作。控制器120可以将写入请求的数据写入非易失性存储器件110中,并且可以从非易失性存储器件110读取和输出读取请求的数据。
控制器120可以通过使用缓冲存储器130来管理存储装置100。例如,控制器120可以在缓冲存储器130中临时存储要写入非易失性存储器件110的数据或者从非易失性存储器件110读取的数据。控制器120可以在缓冲存储器130上加载管理非易失性存储器件110所需的元数据。
控制器120可以在访问非易失性存储器件110时收集访问环境信息和访问结果信息。例如,访问环境信息和访问结果信息可以被收集在缓冲存储器130中。控制器120可以基于在缓冲存储器130中收集的访问环境信息和访问结果信息执行机器学习。例如,控制器120可以基于与两个或多个访问相关联的访问环境信息和访问结果信息执行机器学习。不管是否运行,控制器120可以基于机器学习的结果来选择下一个访问方法以及访问参数。
控制器120包括总线121、核心122和123、RAM 124、主机接口125、缓冲器控制电路126和存储器接口127。
总线121被配置为在控制器120的元件之间提供通道。
可以使用(或分配或指定)核心122和123的一些核心122来管理存储装置100,并且可以使用(或分配或指定)其他核心123来执行机器学习。
核心122可以控制控制器120的总体操作并且可以运行逻辑操作。核心122可以通过主机接口125与外部主机设备通信,可以通过存储器接口127与非易失性存储器件110通信,并且可以通过缓冲器控制电路126与缓冲存储器130通信。核心122可以通过使用RAM124作为工作存储器、高速缓冲存储器或缓冲存储器来控制存储装置100。核心122可以请求核心123来预测与由外部主机设备请求的访问或由内部策略进行的访问的至少一些相关联的结果。核心122可以基于从核心123接收到的预测结果来选择至少一些访问的运行与否、执行方式、运行过程以及运行参数。核心122可以被称为第一核心。核心123可以被称为第二核心。
核心123可以基于在缓冲存储器130中存储的访问环境信息和访问结果信息执行机器学习。例如,核心123可以通过执行机器学习生成(或更新)学习结果,诸如决策树、神经网络和支持向量机,作为访问分类器。核心123可以将访问分类器加载在RAM 124或缓冲存储器130上用于驱动。在生成访问分类器之后,核心123可以通过响应于核心122的请求,使用访问分类器来预测与至少一些访问相关联的结果。核心123可将预测结果传送到核心122。核心123可以周期性地或者当感测到存储装置100的电源关闭时将访问分类器写入非易失性存储器件110中。例如,访问分类器可以写入存储块BLK1至BLKz中的存储块,其被设置为存储元数据信息。当向存储装置100提供电力时,核心123可以从非易失性存储器件110读取访问分类器,并且可以将读取访问分类器加载到缓冲存储器130或RAM 124上。
RAM 124可以用作核心122和123的工作存储器、高速缓冲存储器或缓冲存储器。RAM 124可以存储核心122和123将要运行的代码或命令。RAM 124可以存储由核心122和123处理的数据。RAM 124可以包括静态RAM(SRAM)。核心122和123可各自分别包括硬件处理器、专用集成电路(ASIC)和/或另一合适的硬件处理单元,当运行代码或命令和/或处理存储在RAM中的数据时,分别配置核心122和123分别作为用于控制核心122和123的一个或多个操作的专用处理器。因此,核心122和123可以将控制器120配置为用于控制本文所讨论的控制器120的一个或多个操作的专用控制器。
主机接口125可以被配置为在核心122的控制下与外部主机设备进行通信。主机接口125可以被配置为通过使用各种通信方式中的至少一种来传达通信,诸如通用串行总线USB)、串行AT附件(SATA)、串行连接SCSI(SAS)、高速中间片(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、PCI Express(PCIe)、非易失性存储器快速(NVMe)、通用闪存存储(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插存储器模块(DIMM)注册DIMM(RDIMM)和减负载的DIMM(LRDIMM)。
缓冲器控制电路126可以在核心122的控制下控制缓冲存储器130。
存储器接口127可被配置为响应于核心122的控制,与非易失性存储器件110通信。如参考图1所描述的,存储器接口127可以通过输入/输出通道将命令、地址和数据传达到非易失性存储器件110。存储器接口127可以通过控制信道将控制信号传达到非易失性存储器件110。
存储器接口127可以包括纠错块128。纠错块128可以包括纠错码ECC。纠错块128可以执行纠错。纠错块128可以基于要通过存储器接口127写入非易失性存储器件110的数据来执行纠错编码。纠错编码的数据可以通过存储器接口127提供给非易失性存储器件110。纠错块128可以对通过存储器接口127从非易失性存储器件110接收的数据执行纠错解码。
在一些示例性实施例中,在其中存储装置100不包括缓冲存储器130的情况下,控制器120可以不包括缓冲器控制电路126。
图2示出了由图1的用于机器学习的核心123实现的模块的示例。参考图1和图2,核心123包括信息收集模块123_1、访问环境信息收集模块123_2、训练模块123_3和分类模块123_4。
信息收集模块123_1可以在控制器120访问非易失性存储器件110时收集生成的访问结果信息A。例如,信息收集模块123_1可以收集与对非易失性存储器件110进行各种访问中的由核心122或123指定种类的访问有关的访问结果信息AI。此外,由相应的访问生成的各种结果信息中的由核心122或123指定的种类的结果信息,可以作为访问结果信息AI被收集。此外,信息收集模块123_1可以收集与指定种类的访问相关联的访问环境信息EI。收集的访问结果信息AI可以存储在缓冲存储器130中。
访问环境信息收集模块123_2可以接收与由核心122处理的访问中的由核心122或123指定种类的访问相关联的命令CMD或地址ADDR。访问环境信息收集模块123_2可以基于命令CMD或地址ADDR来收集访问环境信息EI。所收集的访问环境信息EI可以被传送到信息收集模块123_1和分类模块123_4。
当所收集的访问环境信息EI和所收集的访问结果信息AI达到训练条件时,训练模块123_3可以执行机器学习。作为机器学习的结果,训练模式123_3可以新生成访问分类器CF,或者可以更新先前的访问分类器CF。新的访问分类器CF可以存储在缓冲存储器130或RAM 124中,并且可以将控制新的访问分类器CF的权限(authority)传送到分类模块123_4。在一些示例性实施例中,访问分类器CF在预测与分类访问相对应的结果方面被称为“分类器”,并且访问分类器CF的功能和特征可以不受术语“分类器”的限制。
分类模块123_4可以从访问环境信息收集模块123_2接收环境信息EI。分类模块123_4可以基于环境信息EI和访问分类器CF输出分类结果CR。分类结果CR可以被传送到核心122。
在图2中,其中由模块123_1至123_4处理信息的两个示例由第一箭头A1和第二箭头A2示出。
参考第一箭头A1,可以从核心122请求特定访问的结果预测。访问环境信息收集模块123_2可以收集环境信息EI。分类模块123_4可以通过使用环境信息EI和访问分类器CF来获得分类结果CR。分类结果CR可以被传送到核心122。如果核心122基于分类结果CR确定不执行访问,则可能不会收集访问结果信息AI。因此,访问环境信息EI也可能不被信息收集模块123_1收集。
参考第二箭头A2,可以从核心122请求特定访问的结果预测。访问环境信息收集模块123_2可以收集环境信息EI。分类模块123_4可以通过使用环境信息EI和访问分类器CF来获得分类结果CR。分类结果CR可以被传送到核心122。如果核心122基于分类结果CRC确定执行访问,则可以收集访问结果信息AI。因此,信息收集模块123_2可以收集访问环境信息EI和访问结果信息AI。
图3是示出了根据本发明概念的一些示例性实施例的存储装置100的操作方法的流程图。参考图1至图3,在操作S110中,信息收集模块123_1可以与访问环境信息收集模块123_2一起收集访问非易失性存储器件110的访问结果信息AI和访问环境信息EI。访问可以包括写入操作、读取操作或擦除操作。
在操作S120中,训练模式123_3确定是否满足学习条件。例如,当期望的(和/或可选地预定的)时间段到达时,当所收集的访问结果信息AI和收集的访问环境信息EI的大小达到期望的(和/或可选地预定的)时间段时,当空闲时(或当到达空闲时间时),当检测到电源关闭时和/或当缓冲存储器的存储容量不足时,可能满足学习条件。如果不满足学习条件,则处理进行到操作S110,以继续收集信息CI(参见图2)。如果满足学习条件,则处理进入操作S130。
在操作S130中,训练模式123_3可以基于收集的访问结果信息AI和所收集的访问环境信息EI执行机器学习,以生成访问分类器CF。例如,训练模块123_3可以通过生成新的访问分类器CF或改变诸如先前访问分类器的权重的参数来使用新的访问分类器CF更新先前的访问分类器。
图4显示了根据本发明概念的一些示例实施例的其中存储装置100通过使用访问分类器来预测(或分类)新的访问请求的访问结果的示例。参考图1、图2和图4,在操作S210中,核心122可以从外部主机设备接收访问请求,或者可以基于内部策略生成访问请求。在核心122响应于访问请求执行访问之前,核心122可以请求核心123来预测访问结果。例如,访问环境信息收集模块123_2可以接收包括命令CMD和地址ADDR的访问请求。
在操作S220中,访问环境信息收集模块123_2可以收集与接收到的访问请求相关联的访问环境信息EI。
在操作S230中,分类模块123_4可以通过使用访问环境信息EI和访问分类器CF来获得分类结果CR。核心122可以基于分类结果CR来处理访问请求。例如,核心122可以基于分类结果CR来确定是否执行访问。此外,当核心122执行访问时,核心122可以基于分类结果CR来选择(或更改)各种参数,例如非易失性存储器件110中使用的电压和时间。
图5显示了根据本发明概念的一些示例实施例的存储器块BLKa的示例。参考图1和图5,多个单元串CS可以以行和列布置在基板SUB上。单元串CS可以共同连接到形成在基板SUB上(或其中)上的公共源极线CSL。在图5中,显示了衬底SUB的位置作为示例,以帮助理解存储器块BLKa的结构。图5中显示了当公共源极线CSL连接到单元串CS的下端的示例。然而,公共源极线CSL足以电连接到电池串CS的下端。然而,本发明的概念不限于公共源线CSL物理上位于单元串CS的下端的情况。图5中显示了当单元串CS被布置成四乘四矩阵的示例。然而,存储块BLKa中的单元串CS的数量可以增加或减少。
每行的单元串可以连接到第一接地选择线GSL1至第四接地选择线GSL4中的相应一个以及第一串选择线SSL1至第四串选择线SSL4中的相应一个。每列的单元串可以连接到第一位线BL1至第四位线BL4中的相应的一个。为了便于说明,连接到第二接地选择线GSL2和第三接地选择线GSL3或第二串选择线SSL2和第三串选择线SSL3的单元串被描绘为细线(light)。
每个单元串CS可以包括连接到相应的地选择线的至少一个接地选择晶体管GST、连接到第一虚拟字线DWL1的第一虚拟存储器单元DMC1、分别连接到多个MC字线WL1~WL8的多个存储器单元、连接到第二虚拟字线DWL2的第二虚拟存储器单元DMC2和分别连接到串选择线SSL的串选择晶体管SST。在每个单元串CS中,接地选择晶体管GST、第一虚拟存储器单元DMC1、存储器单元MC、第二虚拟存储器单元DMC2和串选择晶体管SST可以沿着垂直于衬底SUB的方向彼此串联连接,并且可以沿着垂直于衬底SUB的方向依次堆叠。
如图5所示,在一些示例性实施例中,可以在每个单元串CS中的接地选择晶体管GST和存储器单元MC之间布置一个或多个虚拟存储器单元。在每个单元串CS中,可以在串选择晶体管SST和存储器单元MC之间布置一个或多个虚拟存储器单元。在每个单元串CS中,可以在存储器单元MC之间布置一个或多个虚拟存储器单元。虚拟存储器单元可以具有与存储器单元MC相同的结构,并且可以不被编程(例如,编程禁止)或者可以与存储器单元MC不同地被编程。例如,当存储器单元被编程以形成两个或更多个阈值电压分布时,可以将虚拟存储器单元编程为具有一个阈值电压分布范围,或者具有数量小于存储器单元MC数量的阈值电压分布。
以与基板SUB或接地选择晶体管GST相同的高度(或次序)布置的单元串CS的存储器单元可以彼此电连接。布置在与衬底SUB或接地选择晶体管GST不同的高度(或次序)上的单元串CS的存储器单元可以彼此电分离。在图5中建立的实施例中,相同高度的存储器单元连接到相同的字线。然而,相同高度的存储器单元可以在其中形成了存储器单元的平面中彼此直接连接,或者可以通过诸如金属层的另一层间接地彼此连接。
对应于串(或地)选择行和字线的存储器单元可以构成页面。可以通过页执行写操作和读操作。在每个页面中,每个存储器单元可以存储两个或更多位。写在属于一个页面的存储器单元中的位可以形成逻辑页。例如,分别写入每页的存储器单元中的第k位可以形成第k个逻辑页。
可以在三维(3D)存储器阵列处提供存储器块BLKa。3D存储器阵列单片地形成在具有布置在硅衬底之上的有源区以及与这些存储器单元MC的操作相关联的电路的存储器单元MC阵列的一个或多个物理层级中。与存储器单元MC的操作相关联的电路可以位于该衬底的上方或内部。术语“单片”意味着阵列的每个层级的层直接沉积在3D存储器阵列的每个底层的层上。
在本发明构思的一些示例性实施例中,3D存储器阵列包括垂直的NAND串(或单元串),其垂直取向以使得至少一个存储器单元位于另一个存储器单元上。至少一个存储器单元可以包括电荷陷阱层。每个垂直NAND串还可以包括置于存储器单元MC上的至少一个选择晶体管。所述至少一个选择晶体管可以具有与存储器单元MC相同的结构,并且可以与存储器单元MC均匀地形成。
以下通过引用并入本文的专利文献描述了三维存储器阵列的合适配置,其中三维存储器阵列被配置为多个层级,具有在层级之间共享的字线和/或位线:美国专利第7,679,133号;第8,553,466号;第8,654,587号;第8,559,235号;以及美国公开专利第2011/0233648号。
图6示出了其中控制器120访问非易失性存储器件110的示例。在图6的第一图形G1和第二图形G2中,横坐标代表存储器单元的阈值电压,纵坐标代表存储器单元的数量。在图6中,假设在每个存储器单元中写入三位,并且一页有三个逻辑页。然而,发明概念不限于此。
参考图1和图5以及图6的第一图形G1,存储器单元中的每一个可以具有八个状态。八个状态可以由阈值电压范围定义。由于在每个存储器单元中写入三位,所以每个存储器单元可被编程为具有属于八种状态之一的阈值电压Vth。可以通过使用七个读取电压来区分八个状态,其电平(level)在八个阈值电压分布的范围内。
数据写入存储器单元后可能会发生干扰和保留劣化(retentiondeterioration)。干扰是指存储器单元的阈值电压随着在存储器单元周围生成的编程、读取、擦除、耦合等而变化的现象。保留劣化是指其中存储器单元的阈值电压随着通过编程操作而陷入(trap)存储器单元的电荷陷阱层的电荷随时间而放电的现象。
通常,干扰和保留劣化可能导致属于低阈值电压范围的存储器单元的阈值电压的增加和属于高阈值电压范围的存储器单元的阈值电压的降低。当发生干扰和保留劣化时,存储器单元的阈值电压可能从第一图形G1偏移到第二图形G2。
参考第二图形G2,可以混合属于不同阈值电压范围的存储器单元的阈值电压。例如,属于第一阈值电压范围的存储器单元的阈值电压可以偏移为属于第二阈值电压范围;相反,属于第二阈值电压范围的存储器单元的阈值电压可能会偏移到属于第一阈值电压范围。当存储器单元的阈值电压如第二图形G2所示变化时,在读取操作中生成的错误可能无法由纠错块128校正。
可以执行可靠性验证读取操作以限制和/或防止在读取操作中生成不可校正的错误。可靠性验证读取操作可以利用其数量小于在一般读取操作中使用的读取电压的数量的读取电压。例如,可靠性验证读取操作可以包括通过使用第一读取电压VR1执行第一读取的第一操作和通过使用第二读取电压VR2执行读取的第二操作中的至少一个。可以在第一操作期间通过将导通的导通单元(on-cell)的数量与阈值进行比较来监测由于干扰或保留劣化引起的阈值电压的变化。可以在第二操作期间通过将关断的关断单元(off-cell)的数量与阈值进行比较来检测由于干扰或保留劣化引起的阈值电压的变化。
根据发明构思的一些示例实施例的存储装置100可以通过将机器学习应用于可靠性验证读取操作来生成访问分类器。在访问分类器的基础上,控制器120可以预先分类(或预测)可靠性验证读取操作的结果。
图7显示了当将机器学习应用于可靠性验证读取操作时的访问结果信息AI和访问环境信息EI的示例。参考图1、图2、图6和图7,可以在对应于一个串选择行和一个字线的页面中执行可靠性验证读取操作。
访问环境信息收集模块123_2可以收集目标块、目标串选择行、目标字线、温度、时间戳、编程/擦除计数、擦除计数以及读取计数中的至少一个作为访问环境信息EI,但是本发明的概念不限于此。
目标块可以包括其中执行可靠性验证读取操作的存储器块的地址或者关于所有存储器块BLK1至BLKz中的目标块的位置的信息,例如,指示目标块是否位于存储块BLK1至BLKz的中心或对应于最外层存储块的信息。
目标串选择行可以包括对应于其中执行可靠性验证读取操作的页面的串选择行的地址或关于目标块中的串选择行的位置的信息,例如,指示串选择线是否更靠近第一串选择线SSL1或第四串选择线SSL4的信息。
目标字线可以包括连接到其中执行可靠性验证读取操作的页面的字线的地址或关于目标块中的字线的位置的信息,例如,关于来自衬底SUB的字线的高度的信息。
温度是指当在控制器120的控制下对非易失性存储器件110执行可靠性验证读取操作时的温度。
时间戳是指在执行可靠性验证读取操作的页面中写入数据的时间或写入数据之后经过的时间。
编程/擦除计数是指在目标块上执行的编程/擦除循环数。
读取计数是指在将数据写入目标块后执行读取操作的次数。
信息收集模块123_1可以收集指示第一读取电压VR1的导通单元的数量是否大于阈值的信息,以及指示第二读取电压VR2的关断单元的数量是否大于阈值的信息中的至少一个。例如,导通单元的阈值可以不同于关断单元的阈值。
如果收集了访问访问环境信息EI和访问结果信息AI,则可以通过机器学习生成访问分类器CF。在生成访问分类器CF之后,当控制器120打算对非易失性存储器件110执行可靠性验证读取操作时,可以在执行可靠性验证读取操作之前通过使用访问分类器CF来预先进行结果预测。例如,访问环境信息收集模块123_2可以收集与将要执行的访问相关联的环境信息EI。分类模块123_4可以通过使用环境信息EI和访问分类器CF来获得分类结果CR。
如果执行了可靠性验证读取操作,则分类结果CR可以包括指示第一读取电压VR1的导通单元的数量是否大于阈值的信息,以及指示是否第二读取电压VR2的关断单元的数量是否大于阈值的信息中的至少一个。
图8显示了在获得分类结果CR之后处理与分类结果CR相关联的可靠性验证读取操作的方法的示例。参考图1、图6和图8,在操作S310中,可以确定分类结果CR是否指示导通单元的数目或者关断单元的数量大于阈值。例如,控制器120或核心122可以确定用于第一读取电压VR1的导通单元数目和用于第二读取电压VR2的关断单元数目中的两者或之一是否大于阈值。
如果确定分类结果CR指示导通单元的数量或关断单元的数量大于阈值,则在操作S320中,控制器120或核心122可以调度访问分类目标的页面的读取回收(read reclaim)(例如,可靠性验证读取操作)或读取回收页面所属的存储器块。例如,读取回收包括读取非易失性存储器件110的页面或存储器块的数据,并将所读取的数据写入非易失性存储器件110的另一个页面或另一个存储器块中。通过执行读取回收,数据的干扰和保留劣化可能消失。
如果分类结果CR指示导通单元的数量或关断单元的数量不大于阈值,则处理进行到操作S330。在操作S330中,控制器120可以在进行访问分类的页面上执行可靠性验证读取操作。在操作S340中,控制器120可以对第一读取电压VR1的导通单元数或第二读取电压VR2的关断单元进行计数。或者,控制器120可以控制非易失性存储器件110以使得非易失性存储器件110计数和输出导通单元或关断单元的数量。
在操作S350中,控制器120可以确定导通单元或关断单元计数是否大于阈值。如果计数大于阈值,则执行操作S360和操作S370。如果计数不大于阈值,则在不进行操作S360的情况下执行操作S370。
在操作S360中,控制器120可以调度其中执行可靠性验证读取操作的页面或包括页面的存储器块的读取回收。在操作S370中,控制器120或核心123可以收集访问结果信息AI和访问环境信息EI。
简而言之,核心122可以基于内部策略来在非易失性存储器件110中的目标块的目标页面上执行可靠性验证读取操作。在核心122实际执行可靠性验证读取操作之前,核心122可以从核心123请求分类结果CR。核心123可以收集与目标页面相关联的访问环境信息EI,并且可以基于收集的结果输出分类结果CR。分类结果CR指示导通单元或关断单元的数量是否大于阈值。
如果分类结果CR指示导通单元的数量或关断单元的数量大于阈值,即,如果存储器单元的数据被干扰或劣化的程度被预测为大于阀值,则核心122调度读取回收而不实际上执行可靠性验证读取操作。可靠性验证读取操作可能不运行而结束。如图2的第一箭头A1所示,当不执行可靠性验证读取操作时,可能不会收集相关的信息。
如果分类结果CR指示导通单元的数量或关断单元的数量不大于阈值,即,如果存储器单元的数据被干扰或劣化的程度被预测为不大于阈值时,核心122可以控制非易失性存储器件110,以使得非易失性存储器件110实际上执行可靠性验证读取操作。核心122可以基于可靠性验证读取操作的结果来确定是否调度读取回收。如图2的第二箭头A2所示,当实际执行可靠性验证读取操作时,可以收集访问结果信息AI和访问环境信息EI。
图9显示了当将机器学习应用于读取操作、写入操作或擦除操作时的访问结果信息AI和访问环境信息EI的示例。参考图1、图2、图4和图9,与读取操作、写入操作或擦除操作相关联的访问环境信息EI包括目标块、目标串选择行、目标字线、目标逻辑页面、温度、时间戳、编程/擦除计数(或编程/擦除周期数)和读取计数。除了目标逻辑页面,访问环境信息EI可以与图7的访问环境信息EI相同,这里不再重复与参照图7给出的描述相同的描述。
目标逻辑页面可以包括关于目标逻辑页面是否属于目标页面中的LSB、CSB和MSB逻辑页面中的任何一个的信息。
在一些示例性实施例中,写入操作可以由页面或逻辑页面执行。当由页面执行写入操作时,与写入操作相关联的访问环境信息EI可以包括除目标逻辑页面之外的,图9的访问环境信息EI的剩余信息中的至少一个。当由逻辑页面执行写入操作时,与写入操作相关联的访问环境信息EI可以包括图9的访问环境信息EI中的至少一个。读取操作可以由逻辑页面执行。与读取操作相关联的访问环境信息EI可以包括除目标逻辑页面之外的,图9的访问环境信息EI的剩余信息中的至少一个。擦除操作可以由存储块执行。与擦除操作相关联的访问环境信息EI可以包括除目标字线、目标逻辑页和目标串选择行之外的,图9的访问环境信息EI的剩余信息中的至少一个。
与读取操作、写入操作或擦除操作相关联的访问结果信息AI可以包括读取电平、读取通过电平、是否执行软判决、误码率(BER)、编程启动电平、编程电压的增量、编程通过电平、编程循环数、擦除启动电平、擦除电压的增量以及擦除循环次数。
所收集的与读取操作有关的访问结果信息AI可以包括读取电平、读取通过电平、是否执行软判决和误码率BER。读取电平是指通过字线将要施加到被选择为读取目标的页面的读取电压的电平。读取通过电平是指要施加于对应于被选择为读取目标的存储器块的未被选择为读取目标的页面的字线的读取通过电压的电平。是否执行软判决是指是否激活其中通过使用通过在所选择的页上执行多个读取操作而获得的读取结果来执行软判决的操作。误码率BER是指在纠错块128对从非易失性存储器件110读取的数据执行纠错解码之后检测到的错误位的比率(或数量)。
所收集的与写入操作有关的访问结果信息AI可以包括编程启动电平、编程电压的增量、编程通过电平和编程循环的数量。通过重复编程循环来执行写操作。编程启动电平是指在第一编程循环中要应用到被选择为写入目标的字线的编程电压的电平。编程电压的增量是指在重复编程循环时编程电压增加的电压电平。编程通过电平是指要施加于连接到未被选择为写入目标的页面的字线的编程通过电压的电平。编程循环的数量是指所选页面的存储器单元被完全编程之前重复的编程循环的数量。
所收集的与擦除操作有关的访问结果信息AI可以包括擦除启动电平、擦除电压的增量和擦除循环的数量。通过重复擦除循环执行擦除操作。擦除启动电平是指在第一擦除循环中被施加到被选择为擦除目标的存储器块的擦除电压的电平。擦除电压的增量是指在重复擦除循环时擦除电压增加的电压电平。擦除循环的次数是指所选择的存储块的存储器单元被完全擦除之前重复的擦除循环的数量。
如果收集了到访问环境信息EI和访问结果信息AI,则可以通过机器学习来生成访问分类器CF。在生成访问分类器CF之后,当控制器120打算执行非易失性存储器件110上的写入操作、读取操作或擦除操作时,可以在执行写入操作、读操作或擦除操作之前事先通过使用访问分类器CF进行结果预测。例如,访问环境信息收集模块123_2可以收集与要执行的访问相关联的环境信息EI。分类模块123_4可以通过使用环境信息EI和访问分类器CF来获得分类结果CR。
分类结果CR可以包括在执行读取操作时导致较少错误的读取电平和读取通过电平、执行读取操作时是否执行软判定、以及执行读操作时预测的误码率BER中的至少一个。基于分类结果CR,控制器120可以选择读取电平或读取通过电平,或者可以确定是否执行软判决。此外,基于分类结果CR的误码率BER,控制器120可以确定是否执行读取操作(例如,当误码率BER大于阈值时不执行读取操作)以及是否调度所选择的页面或包括所选择的页面的存储器块的读取回收(例如,当误码率BER大于阈值时,控制器120调度读取回收)。
分类结果CR可以包括编程启动电平、编程电压的增量、编程通过电平,或用于在执行写入操作时提高数据的可靠性、减少编程时间或限制(和/或防止)编程失败的编程循环的数量。控制器120可以基于分类结果CR来选择编程启动电平、编程电压的增量或编程通过电平。此外,基于分类结果CR的编程循环的数量,控制器120可以确定是否执行写入操作(例如,当编程循环的数量大于阈值时,不执行写入操作)或者是否将包括所选择的页面的存储块分类为坏块(例如,当编程循环的数量大于阈值时,控制器120将存储块分类为坏块)。
分类结果CR可以包括擦除启动电平、擦除电压的增量或用于当执行擦除操作时提高数据可靠性、减少擦除时间或限制(和/或防止)擦除失败的擦除循环的数量。控制器120可以基于分类结果CR来选择擦除电压的起始电平或增量。此外,基于分类结果CR的擦除循环的数量,控制器120可以确定是否执行擦除操作(例如,当擦除循环的数量大于阈值时,不执行擦除操作)以及是否将选择的存储块分类为坏块(例如,当擦除循环的数量大于阈值时,控制器120将存储块分类为坏块)。
图10显示了其中控制器120访问非易失性存储器件110的另一示例。在图10的第一图形G1和第二图形G2中,横轴代表虚拟存储器单元或选择晶体管的阈值电压,纵坐标表示虚拟存储器单元或选择晶体管的数量。
参考图1和图5以及图10的第一图形G1,每个虚拟存储器单元或选择晶体管可以具有由一个阈值电压范围限定的一个逻辑状态。虚拟存储器单元可以包括图5的第一虚拟存储器单元DMC1和第二虚拟存储器单元DMC2。选择晶体管可以包括图5的串选择晶体管SST和接地选择晶体管。
在虚拟存储器单元或选择晶体管被编程之后可能发生干扰和保留劣化。当发生干扰和保留劣化时,虚拟存储器单元或选择晶体管的阈值电压可以从第一图形G1偏移到第二图形G2。
如果虚拟存储器单元或选择晶体管的阈值电压分布如第二曲线图G2所示变宽时,写入、读取或擦除存储器单元时生成的单元电流的量可以变化。在这种情况下,存储器单元的阈值电压分布较宽,从而导致写入存储器单元的数据的可靠性降低。
如第二图形G2所示,可以检查虚拟存储器单元或选择晶体管的阈值电压以限制和/或防止其阈值电压变宽。例如,关于虚拟存储器单元或选择晶体管的阈值电压,可以通过使用第一读取电压VR1和第二读取电压VR2来执行读取操作。如果通过使用第一读取电压VR1和第二读取电压VR2执行读取操作,则可以检查虚拟存储器单元或选择晶体管的阈值电压是否离开由第一读取电压VR1和第二读取电压VR2定义的范围RNG。
根据本发明概念的一些示例性实施例的存储装置100可以通过将机器学习应用于检查虚拟存储器单元或选择晶体管的阈值电压的操作来生成访问分类器。在访问分类器的基础上,控制器120可以预先对检查操作的结果进行分类(或预测)。
图11显示了当将机器学习应用于检查操作时的访问结果信息AI和访问环境信息EI的示例。参考图1、图2、图10和图11,可以以对应于一个串选择线或一个地选择线的选择晶体管为单位或以与一个串选择线和一个字线相对应的虚拟存储器单元(例如,通过虚页)为单位执行检查操作。
访问环境信息收集模块123_2可以收集目标块、目标串选择行或目标地选择行、目标字线、温度、时间戳、编程/擦除计数和读取计数中的至少一个(或编程/擦除周期数)。关于虚拟存储器单元的访问环境信息EI可以包括图11的访问环境信息EI中的至少一个。关于选择晶体管的访问环境信息EI可以包括除目标字线外的,图11的访问环境信息EI的剩余信息中的至少一个。
访问结果信息AI可以包括关于离开范围RNG的虚拟存储器单元或选择晶体管的数量是否大于阈值的信息。
如果收集了访问访问环境信息EI和访问结果信息AI,则可以通过机器学习来生成访问分类器CF。在生成访问分类器CF之后,当控制器120打算对非易失性存储器件110执行检查操作时,可以在执行检查操作之前通过使用访问分类器CF提前进行结果预测。例如,访问环境信息收集模块123_2可以收集与将要执行的检查操作相关联的环境信息EI。分类模块123_4可以通过使用环境信息EI和访问分类器CF来获得分类结果CR。分类结果CR可以包括关于具有离开范围RNG的阈值电压的虚拟存储器单元或选择晶体管的数量是否大于阈值的信息。
图12显示了在获得分类结果CR之后,处理与分类结果CR相关联的检查操作的方法的示例。参考图1、图10和图12,在操作S410中,可以确定分类结果CR是否指示虚拟存储器单元或选择晶体管的数量大于阈值。例如,控制器120或核心122确定具有离开范围RNG的阈值电压的虚拟存储器单元或选择晶体管的数量是否大于阈值。
如果确定分类结果CR指示虚拟存储器单元或选择晶体管的数量大于阈值,则在操作S420中,控制器120或核心122可以调度访问分类目标(例如,检查目标)的选择晶体管或虚拟存储器单元所属的存储器块的重新编程(reprogram)操作。例如,重新编程操作可以包括通过对阈值电压降低的选择晶体管或虚拟存储器单元进行编程来增加选择晶体管或虚拟存储器单元的阈值电压,或者在选择晶体管或虚拟存储器单元擦除其阈值电压使得其阀值电压降低之后,通过编程选择晶体管或虚拟存储器单元来增加选择晶体管或虚拟存储器单元的阈值电压。
如果分类结果CR指示选择晶体管或虚拟存储器单元的数量不大于阈值,则处理进行到操作S430。在操作S430中,控制器120可执行用于检查选择晶体管或虚拟存储器单元的阈值电压的检查操作。在操作S440中,控制器120可以对具有离开范围RNG的阈值电压的虚拟存储器单元或选择晶体管的数量进行计数。或者,控制器120可以控制非易失性存储器件110以使得非易失性存储器件110计数并输出具有离开范围RNG的阈值电压的虚拟存储器单元或选择晶体管的数量。
在操作S450中,控制器120确定具有离开范围RNG的阈值电压的虚拟存储器单元或选择晶体管的数量是否大于阈值。如果虚拟存储器单元或选择晶体管的数量大于阈值,则执行操作S460和操作S470。如果虚拟存储器单元或选择晶体管的数量不大于阈值,则执行操作S470而不执行操作S460。
在操作S460中,控制器120可以调度其中执行检查操作的存储器块的重新编程操作。在操作S470中,控制器120或核心123可以收集访问结果信息AI和访问环境信息EI。
图13示出了其中通过使用子访问操作的结果将访问操作的结果分类为访问环境信息EI的示例。在一些示例性实施例中,子访问操作可以是参考图6描述的可靠性验证读取操作,访问操作可以是读取操作。
参考图1、图2、图6和图13,访问环境信息EI可以包括关于对所选页面的可靠性验证读取操作中的用于第一读取电压VR1的导通单元的数量和用于第二读取电压VR2的关断单元的数量的信息。访问环境信息EI还可以包括目标块、目标串选择行、目标字线、温度、时间戳、编程/擦除计数(或编程/擦除周期数)和读取计数中的至少一个。
访问结果信息AI可以包括关于当对所选页面执行读取操作时的错误比特率BER是否超过阈值的信息。
如果收集了访问访问环境信息EI和访问结果信息AI,则可以通过机器学习来生成访问分类器CF。
图14显示了使用图13的访问环境信息EI和访问结果信息AI的方法的示例。在一些示例性实施例中,可以将使用环境信息EI和访问结果信息AI的分类应用于可靠性验证读取操作的一部分。
参考图1、图13和图14,在操作S510中,控制器120可以对非易失性存储器件110执行可靠性验证读取操作。通过可靠性验证读取操作获得的导通单元数量和关断单元数量可以作为访问环境信息EI被收集。
响应于执行可靠性验证读取操作,在操作S520中,访问分类器CF可以通过使用所收集的环境信息EI来获得分类结果CR。例如,分类模块123_4可以预测(或分类)在所选择的页面上执行读取操作而不是可靠性验证读取操作时生成的错误比特率(例如,BER)。分类结果CR可以包括关于误码率BER是否大于阈值的信息。
在操作S530中,可以确定分类结果CR是否指示误码率BER大于阈值。如果分类结果CR指示误码率BER不大于阈值,则可靠性验证读取操作结束。如果分类结果CR指示比特错误率BER大于阈值,则在操作S540中,控制器120可以调度对被选择作为可靠性验证读取对象的页面或包括所选择的页面的存储块的读取回收。
与图13和图14的示例相比,在执行可靠性验证读取操作之前,图6至图8的示例基于访问环境信息EI确定是否执行可靠性验证读取操作。是否调度读取回收可以通过仅将导通单元的数量或关断单元的数量与阈值进行比较来确定。
图13和图14的实施例执行可靠性验证读取操作,并且可以使用可靠性验证读取操作的结果作为访问环境信息。在可靠性验证读取操作中,可以在执行读取操作时,基于访问环境信息EI和将误码率BER与阈值进行比较,通过分类(或预测)误码率BER来确定是否调度读取回收。也就是说,在执行可靠性验证读取操作之后,使用分类来确定是否执行读取回收。
在一些示例性实施例中,随着执行读取操作,可靠性验证读取操作可以随机地或周期地执行。可靠性验证读取操作的结果和与可靠性验证读取操作相对应的读取操作的结果可以被收集为访问环境信息。
图15显示了访问结果信息AI的应用。例如,在图15中示出了访问结果信息AI的信息的示例(例如,称为“默认信息”),其用于构成(或组织)访问分类器CF并由访问分类器CF分类(或预测)作为分类结果CR。
参考图1、图2和图15,默认信息可以包括关于读取操作的信息、关于编程操作的信息、关于擦除操作的信息以及关于一般操作的信息。
关于读取操作的信息可以包括读取电平、读取通过电平,是否执行软判决以及是否安排读取回收中的至少一种。例如,当执行非易失性存储器件110的读取操作时,核心122可以收集关于在读取操作期间使用的读取电平、读取通过电平、是否执行软判定,以及是否安排读取回收中的至少一个的信息。所收集的信息可以应用于用于机器学习的核心123以创建(或更新)访问分类器CF。当打算在非易失性存储器件110上执行读取操作时,核心122可以在访问分类器CF中输入访问环境信息EI(参考图17)。访问分类器CF可以预测(或分类)读取电平、读取通过电平、是否执行软判定、以及是否调度读取回收中的至少一个,并且可以输出分类结果CR(或预测结果)。核心122可以基于分类结果CR来调整用于执行读取操作的以下条件中的至少一个:读取电平、读取通过电平、是否执行软判定以及是否安排读取回收。
关于编程操作的信息可以包括编程启动电平、编程通过电平、编程增量电平、用于确定存储器单元的阈值电压是否对应于编程通过的编程验证电平、以及是否执行可选编码中的至少一个。例如,当执行非易失性存储器件110的编程操作时,核心122可以收集关于在读操作期间使用的编程启动电平、编程通过电平、编程增量电平、编程验证电平及是否执行可选编码中的至少一个的信息。所收集的信息可以应用于用于机器学习的核心123以创建(或更新)访问分类器CF。当打算在非易失性存储器件110上执行编程操作时,核心122可以在访问分类器CF中输入访问环境信息EI(参考图17)。访问分类器CF可以预测(或分类)编程启动电平、编程通过电平、编程增量电平、编程验证电平以及是否执行可选编码中的至少一个,并且可以输出分类结果CR(或预测结果)。核心122可以基于分类结果CR来调整用于执行编程操作的以下条件中的至少一个:编程启动电平、编程通过电平、编程增量电平、编程验证电平以及是否执行可选编码(optional encoding)。例如,可选编码可以包括加密、用于减少编程到特定编程状态的存储器单元的数量的状态整形、用于将数据位改变为任何模式的随机化、用于改变数据片段的排列的交织等。
关于擦除操作的信息可以包括擦除启动电平、擦除增量电平和擦除验证电平中的至少一个。例如,当执行非易失性存储器件110的擦除操作时,核心122可以收集关于在擦除操作期间使用的擦除启动电平、擦除增量电平和擦除验证电平中的至少一个的信息。所收集的信息可以应用于用于机器学习的核心123以创建(或更新)访问分类器CF。当打算在非易失性存储器件110上执行擦除操作时,核心122可以在访问分类器CF中输入访问环境信息EI(参考图17)。访问分类器CF可以预测(或分类)擦除启动电平、擦除增量电平和擦除验证电平中的至少一个,并且可以输出分类结果CR(或预测结果)。核心122可以基于分类结果CR来调整用于执行擦除操作的以下条件中的至少一个:擦除启动电平、擦除增量电平和擦除验证电平。
关于一般操作的信息可以包括是否调度垃圾收集、是否调度磨损均衡、是否调度坏块处理、是否调度可靠性验证读取以及是否调度访问结果信息(AI)读取中的至少一个。例如,当在非易失性存储器件110上执行垃圾回收、磨损均衡化、坏块处理、可靠性验证读取和读取访问结果信息中的至少一个时,核心122可以收集与引起垃圾回收、磨损均衡、坏块处理、可靠性验证读取和访问结果信息读取中的至少一个的访问操作(例如,读取、编程或擦除操作)相关联的访问结果信息。所收集的信息可以应用于用于机器学习的核心123以创建(或更新)访问分类器CF。当打算在非易失性存储器件110上执行擦除操作时,当执行擦除操作时或者在执行擦除操作之后,核心122可以在访问分类器CF中输入访问环境信息EI(参考图17)。访问分类器CF可以预测(或分类)是否调度垃圾回收、是否调度磨损均衡、是否调度坏块处理、是否调度可靠性验证读取以及是否调度访问结果信息读取中的至少一个,并输出分类结果CR(或预测结果)。核心122可以根据分类结果CR决定是否调度垃圾回收、是否调度磨损均衡、是否调度坏块处理、是否调度可靠性验证读取中的至少一个。例如,磨损均衡可以包括互相交换第一存储器块的数据,例如,高访问频率的热数据和第二存储器块的数据,例如低访问频率的冷数据。访问结果信息读取可以对应于核心122随机地调度以获得访问结果信息AI的读取操作。
图16显示了访问结果信息AI的另一应用。例如,图1中示出了访问结果信息AI的用于构成(或组织)访问分类器CF的信息(例如,称为“附加信息”)的示例。
参考图1、图2和图16,附加信息可以包括一般信息(或物理信息)、分布信息、劣化信息(deterioration information)和逻辑信息。
一般信息包括非易失性存储器件110的一般特性信息。一般信息可以包括关于非易失性存储器件110的物理特性的信息。一般信息可以包括编程时间、擦除时间、读取迭代次数、错误次数、物理位置、坏块的位置以及纠错时间。
编程时间表示执行编程操作所需的时间。可以针对每个页面、每个字线、每个串选择行、每个存储器块、两个或更多个存储器块的每个组计算和管理编程时间。编程时间可以是个别时间、平均时间、最大时间、最小时间和中间时间中的一个。例如,编程时间可以以各种形式量化,例如编程脉冲的数量,在一个编程循环中编程通过的通过单元的数量,以及在一个编程循环中累积或被捕获的编程电荷的量。
擦除时间指示执行擦除操作所需的时间。可以针对每个页面、每个字线、每个串选择行、每个存储器块、两个或更多个存储器块的每个组计算和管理编程时间。擦除时间可以是个别时间、平均时间、最大时间、最小时间和中间时间中的一个。例如,擦除时间可以以各种形式被量化,例如擦除脉冲的数量,在一个擦除循环中擦除通过的通过单元的数量,以及在一个擦除循环中放电的擦除电荷的量。
读取迭代次数可以指示在读取操作期间执行的读取重试次数。例如,当从非易失性存储器件110读取的数据的错误位的数量超过可校正范围时,核心122可以执行读取重试。在给定的调度或访问环境信息EI的基础上,核心122可以选择多个读取重试方案中的一个来执行第二读取操作。如果第二读取操作不成功,则核心122可以选择另一个读取重试方案来执行第三读取操作。因此,如果读取操作不成功,则根据读取的重试方案迭代读取操作。读取迭代次数可以指示迭代读取操作的次数。
错误的数量可以指示由纠错块128检测到的错误位的数量。读取操作不成功可以指示检测到的错误是不可校正的。
物理位置指示经历读取、编程或擦除操作的目标存储器单元的物理位置。例如,在非易失性存储器件110的存储器单元阵列中,存储器单元的物理特性可以随着存储器单元的物理位置而改变。例如,位于存储器单元阵列中心的存储器单元的可靠性可能高于位于存储器单元阵列周边的存储器单元。为了应用上述物理特性,可以收集物理位置作为访问结果信息AI。
与坏块相邻布置的存储块变成坏块的概率可能高于不与坏块相邻布置的存储块变成坏块的概率。为了应用上述物理特性,可以收集坏块的位置作为访问结果信息AI。误差校正时间可以指示在纠错块128中执行读取操作的纠错所需的时间。
分布信息可以包括谷值电平(valley level)、峰值电平(peak level)以及谷值电平与峰值电平之间的斜率中的至少一个。如图6的第二图形G2所示,存储器单元的阈值电压的分布范围可以彼此重叠(overlap)。谷值电平可以指示两个分布范围彼此重叠的中心点,例如,两个分布范围彼此重叠形成的谷值的阈值电压电平。峰值电平指示每个分布范围的峰值点的阈值电压电平。例如,为了抓取分布信息,核心122可以在空闲时间内执行用于抓取(seizing)分布信息的读取操作。例如,核心122可以掌握(grasp)一个或两个分布范围(例如,最低分布范围或最高分布范围)的分布信息,并且可以基于所掌握的结果来估计剩余分布范围的分布信息。例如,如果在掌握分布信息之后经过了参考时间,则考虑到保留劣化,可以丢弃或忽略分布信息。
劣化信息可能包括存储器单元的劣化或写入存储器单元的数据的劣化。劣化信息可以包括编程和擦除周期、读取计数、编程之后的时间(例如,编程时间戳)、总脉冲数和电压电平中的至少一个。
可以针对每个页面、每个字线、每个串选择行、每个存储器块、或者两个或更多个存储器块的每个组来计算和管理编程和擦除周期。编程和擦除周期可以指示执行编程操作或擦除操作的次数。编程和擦除周期可以指示存储器单元的劣化信息。
读取计数可以包括在将数据写入存储器单元之后执行的读取操作的次数。由于在执行读取操作时发生干扰,所以读取计数可以指示数据的劣化。读取计数还可以包括读取存储器单元的总次数。在这种情况下,读取计数还可以指示存储器单元的劣化。
编程后的时间指示在将数据写入存储器单元之后经过的时间。在数据写入存储器单元之后,保留劣化随时间的推移而推进。因此,编程后的时间指示数据的劣化。例如,可以通过使用在执行编程操作时生成的时间戳来计算编程之后的时间。
可以针对每个页面、每个字线、每个串选择线、每个存储器块、或者两个或更多个存储器块的每个组计算和管理脉冲总数。脉冲总数可以包括应用到存储器单元的编程脉冲、擦除脉冲和读取脉冲(例如读取通过电压的脉冲)的总数。脉冲的总数可以指示存储器单元的劣化。
可以针对每个页面、每个字线、每个串选择线、每个存储器块、或者两个或更多个存储器块的每个组计算和管理总脉冲数。电压电平可以包括应用到存储器单元的编程、读取或擦除的最大(或平均)电平。电压电平可能指示存储器单元的劣化。
例如,随着存储器单元劣化,编程速度、擦除速度、读取次数、误差数量和存储器单元的纠错时间中的至少一个可能会改变。因此,编程速度、擦除速度、读取迭代次数、错误次数或纠错时间中的至少一个可以可选地作为劣化信息被管理。
逻辑信息指示将要写入存储器单元的数据或写入到存储器单元的数据是热数据、暖数据还是冷数据。例如,可以基于编程或读取频率将数据分类为热数据、暖数据和冷数据。暖数据的编程或读取频率可能高于冷数据的编程或读取频率。热数据的编程或读取频率可能高于冷数据的编程或读取频率。关于热数据、暖数据和冷数据的信息可以通过测量和掌握核心122处的编程或读取频率来获得,或者可以从外部主机设备提供给核心122。
逻辑信息可以包括映射数据更新。例如,映射数据包括主机设备的逻辑地址和非易失性存储器件110的物理地址之间的信息。核心122可以自己收集映射数据或更新映射数据的信息作为访问结果信息AI。
图17显示了访问环境信息EI的应用。参考图1、图2、图3和图17,通过使用传感器(未示出),核心122可以获得关于执行访问时的温度和湿度的信息或关于温度和湿度变化的信息。访问非易失性存储器件110的请求可以包括地址。该地址可以区分将要访问的存储器单元。核心122可以在分类器CF中输入温度、湿度和访问目标信息作为访问环境信息EI。
图18是示出了存储装置100的操作方法的示例的流程图。参考图1、图2和图18,在操作S610中,当进行对非易失性存储器件110的访问时,核心122可以收集访问结果信息AI和访问环境信息EI。在操作S620中,核心122可以确定是否满足学习条件。如果不满足学习条件,则处理进行到操作S610,其中继续收集访问结果信息AI和访问环境信息EI。如果满足学习条件,则处理进入操作S630。
在操作630中,用于机器学习的核心123可以检测支配(dominant to)访问结果信息AI的特征信息。例如,核心123可以检测访问结果信息AI和访问环境信息EI的一部分,其作为特征信息,对图15所示的默认信息具有主要(dominant)影响。
在操作S640中,核心123可以基于特征信息生成(或更新)访问分类器CF。也就是说,核心123可以通过使用访问结果信息AI和访问环境信息EI的一部分的特征信息而不是全部来生成(或更新)访问分类器CF。例如,当通过引用计数生成或更新访问分类器CF时,当生成或更新访问分类器CF时,一种特征信息可以定期地(或以均匀的时间间隔)重新被设置以及重新被检测。
图19是示出其中存储装置100基于模式选择特征信息的示例的流程图。参考图1、图2和图19,在操作S710中,核心123可以检测至少两个支配至少两个性能的特征信息。例如,可以检测分别对应于第一性能和第二性能的第一特征信息和第二特征信息。第一性能和第二性能可能分别是速度和可靠性。与第二特征信息相比,第一特征信息可能对提高访问速度具有主要影响。与第一特征信息相比,第二特征信息可能对提高可靠性,例如数据的劣化或存储器单元的劣化具有更主要的影响。第一特征信息的一部分可以与第二特征信息的一部分重叠。
在操作S720中,核心123可以确定性能的模式。例如,可以由外部主机设备来设置性能模式。可以通过控制器120中的熔断选项(fuse option)来设置性能模式。当制造控制器120时,可以设置性能模式。如果控制器120基于性能的模式选择特征信息,则可以根据用户的意图来调整存储装置100的操作性能。
图20显示了通过机器学习生成的访问分类器CF1的示例。在一些示例性实施例中,访问分类器CF1可以是决策树。参考图1至图20,访问分类器CF1包括根节点RN、第一内部节点IN1至第四内部节点IN4以及第一叶节点LN1至第六叶节点LN6。根节点RN,第一内部节点IN1至第四内部节点IN4以及第一叶节点LN1至第六叶节点LN6可以通过分支连接。
在根节点RN和第一内部节点IN1至第四内部节点IN4中的每一个中,可以相对于访问环境信息EI之一进行比较。根据比较结果选择连接到每个节点的分支之一。当另一个内部节点已连接到所选择的分支时,可以相对于内部节点中的另一个访问环境信息EI进行比较。当叶节点已经连接到所选择的分支时,可以获得叶值的值作为分类结果CR。在一些示例实施例中,可以将具有最高选择性的访问环境信息EI的信息与根节点RN中的访问环境信息EI进行比较。
基于所收集的信息的机器学习可以包括确定与根节点RN和第一内部节点IN1至第四内部节点IN4中的每一个中的访问环境信息EI进行比较的比较值。
当存储装置100被制造和销售时,初始访问分类器CF1可以被安装在存储装置100中。例如,可以基于存储装置100的制造商从多个用户收集的访问结果信息AI和访问环境信息EI来生成初始访问分类器CF1。初始访问分类器CF1可以被视为通过“离线”学习生成,因为初始访问分类器CF1由先前收集的信息生成。
虽然存储装置100在被销售之后被用户使用,但可以通过用户的访问环境信息EI和访问结果信息AI来更新访问分类器CF1。访问分类器CF1可以不断地和/或一致地被更新。访问分类器CF1的更新可以通过机器学习进行,通过该学习,与根节点RN和第一内部节点IN1至第四内部节点IN4中的每一个中的访问环境信息EI进行比较的比较值被更新。由于在存储装置100出售之后,通过使用实时访问结果信息AI和实时访问环境信息EI来更新访问分类器CF1,所以可以通过“在线”学习更新访问分类器CF1。
图21显示了通过机器学习生成的访问分类器CF2的另一示例。在一些示例性实施例中,访问分类器CF2可以是神经网络。参考图1和图21,访问分类器CF2包括第一输入节点IN1至第四输入节点IN4,第一隐藏节点HN1至第十隐藏节点HN10以及输出节点ON。可以在构建神经网络时预先确定输入节点的数量、隐藏节点的数量和输出节点的数量。
第一输入节点IN1至第四输入节点IN4形成输入层。第一隐藏节点HN1至第四隐藏节点HN5形成第一隐藏层。第六隐藏节点HN6至第十隐藏节点HN10形成第二隐藏层。输出节点ON形成输出层。可以在构建神经网络时预先确定隐藏层的数量。
可以将访问环境信息EI输入到第一输入节点IN1至第四输入节点IN4。可以将不同种类的访问环境信息输入到不同的输入节点。每个输入节点的访问环境信息EI被传送到具有权重的第一隐藏层的第一隐藏节点HN1至第五隐藏节点HN5。第一隐藏节点HN1至第五隐藏节点HN5中的每一个的输入被传送到具有权重的第二隐藏层的第六隐藏节点HN6至第十隐藏节点HN10。第六隐藏节点HN6至第十隐藏节点HN10的输入被传送到具有权重的输出节点ON。
可以通过基于将访问环境信息EI输入到第一输入节点IN1至第四输入节点IN4而获得的输出节点ON的值与实际执行的访问而获得的访问结果信息AI之间的差重复更新加权来执行机器学习。
基于神经网络的初始访问分类器CF2可以通过离线学习生成,并且可以被安装在存储装置100中。当用户利用存储装置100时,基于神经网络的访问分类器CF2可以通过在线学习被更新。
图22显示了通过机器学习生成的访问分类器CF的另一示例。在一些示例性实施例中,访问分类器CF可以是支持向量机。在图22中,横坐标“x”和纵坐标“y”中的每一个指示访问环境信息EI。图22中分布的样品的形状(正方形和圆形)指示不同的访问结果信息AI。
参考图1和图22,线A和线B可以有效地用于对平方样本SQ和圆样本CR进行分类。然而,考虑稍后收集的样本的概率,线A的裕度(margin)大于线B的裕度。访问分类器CF可以选择具有比较大的裕度的分类准则。
访问分类器CF可以通过离线学习具有初始分类标准。随着用户使用存储装置100,采样数量增加,并且访问分类器CF可以通过在线学习来更新分类标准。
图23是示出存储装置100的应用的框图。参考图1和图18,存储装置200包括非易失性存储器件210、控制器220、缓冲存储器230和用于机器学习的处理器240。处理器240可以是微处理器(MPU)或图形处理器(GPU)。
控制器220包括总线221、核心222、外部接口223、RAM 224、主机接口225、缓冲器控制电路226和包括纠错块228的存储器接口227。核心222和处理器240可以各自包括硬件处理器、专用集成电路(ASIC)和/或另一合适的硬件处理单元,其当运行代码或命令并处理存储在RAM 224中的数据时,将核心222和处理器240配置为用于控制核心222和处理器240的一个或多个操作的专用处理器。因此,核心222可以将控制器220配置为用于控制本文所讨论的控制器220的一个或多个操作的专用控制器。在一些示例性实施例中,处理器240可以包括诸如非易失性或易失性存储器的单独的存储器(未示出)。
控制器220的核心222可以不用于执行机器学习。控制器220可以包括用于与单独在控制器220的外部提供的处理器240进行通信的外部接口223。核心222可以通过外部接口223请求来自处理器240的机器学习。另外,核心222可以通过外部接口223从处理器240请求分类结果CR。
图24是示出图1的存储装置200的应用的框图。参考图1和图24,存储装置300包括非易失性存储器件310、控制器320、缓冲存储器330和用于机器学习的神经形态芯片340。神经形态芯片340是硬件处理器,其模拟大脑的操作方式以以低功率处理巨大的并行操作。与其他处理器相比,神经形态核心片340可以用于通过处理参考图15至图17所描述的信息来并行处理机器学习。
控制器320包括总线321、核心322、外部接口323、RAM 324、主机接口325、缓冲器控制电路326和包括纠错块328的存储器接口327。
控制器320的核心322可以不用于执行机器学习。控制器320可以包括用于与单独在控制器320的外部提供的神经形态芯片340进行通信的外部接口323。核心322可以通过外部接口323请求来自神经形态芯片340的机器学习。此外,核心322可以通过外部接口323从神经形态芯片340请求分类结果CR。核心322可以包括硬件处理器、专用集成电路(ASIC)和/或另一合适的硬件处理单元,当运行代码或命令以及处理存储在RAM 324中的数据时,分别将核心322配置为用于控制核心322的一个或多个操作的专用处理器。因此,核心322可以将控制器320配置为用于控制本文所讨论的控制器320的一个或多个操作的专用控制器。
根据发明构思的一些示例实施例,根据机器学习调整其中控制器访问非易失性存储器件的方法。
因此,可能提供一种非易失性存储器件的存储装置和访问方法,其为每个用户提供最佳操作性能以适应用户模式。
虽然已经描述了发明构思的一些示例实施例,但是对于本领域技术人员显而易见的是,在不脱离本发明概念的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述实施例不是限制性的,而是说明性的。
Claims (20)
1.一种存储装置,包括:
非易失性存储器件;
缓冲存储器;
神经形态芯片,被配置为基于访问结果信息和访问环境信息生成访问分类器;以及
控制器,被配置为使用所述缓冲存储器对所述非易失性存储器件执行第一访问,所述控制器被配置为收集在所述缓冲存储器中的第一访问的所述访问结果信息和所述访问环境信息,
所述控制器被配置为使用所述缓冲存储器执行对所述非易失性存储器件的第二访问,以及
所述控制器被配置为通过使用与第二访问和所述访问分类器相关联的访问环境信息来获得与第二访问相关联的访问参数的预测结果。
2.如权利要求1所述的存储装置,其中,所述访问结果信息和所述预测结果中的每一个包括读取电平、读取通过电平、是否执行软判决以及是否调度读取回收中的至少一个。
3.如权利要求1所述的存储装置,其中,所述访问结果信息和所述预测结果中的每一个包括编程启动电平、编程通过电平、编程增量电平以及是否执行编码中的至少一个。
4.如权利要求1所述的存储装置,其中,所述访问结果信息和所述预测结果中的每一个包括擦除启动电平和擦除增量电平中的至少一个。
5.如权利要求1所述的存储装置,其中,所述访问结果信息和所述预测结果中的每一个包括是否调度垃圾回收、是否调度磨损均衡、是否调度坏块处理、是否执行可靠性读取、以及是否执行访问结果信息读取中的至少一个。
6.如权利要求1所述的存储装置,其中,所述访问结果信息包括编程时间、擦除时间、读取迭代的次数、错误的次数、物理位置、坏块的位置和纠错时间中的至少一个。
7.如权利要求1所述的存储装置,其中,所述访问结果信息包括谷值电平、峰值电平以及所述谷值电平与所述峰值电平之间的斜率中的至少一个。
8.如权利要求1所述的存储装置,其中,所述访问结果信息包括编程和擦除计数、读取计数、编程之后的时间、所应用的编程或擦除脉冲的次数以及在访问操作期间所使用的电压电平中的至少一个。
9.如权利要求1所述的存储装置,其中,所述访问结果信息包括数据是否是热数据、数据是否是暖数据、数据是否是冷数据以及映射数据更新状态中的至少一个。
10.如权利要求1所述的存储装置,其中,所述访问环境信息包括温度、湿度和访问目标中的至少一个。
11.如权利要求10所述的存储装置,其中
所述神经形态芯片被配置为检测所述访问结果信息和所述访问环境信息的主要特征信息,以及
所述神经形态芯片被配置为基于所述主要特征信息生成所述访问分类器。
12.如权利要求1所述的存储装置,其中,
所述神经形态芯片被配置为检测分别支配至少两个性能的至少两个特征信息,
所述神经形态芯片被配置为基于性能模式来选择所述至少两个特征信息中的一个,以及
所述神经形态芯片被配置为基于所选择的至少两个特征信息来生成所述访问分类器。
13.如权利要求12所述的存储装置,其中,所述至少两个性能包括速度和可靠性。
14.如权利要求12所述的存储装置,其中,所述神经形态芯片被配置为增加所选择的特征信息的权重并减小未选择的特征信息的权重。
15.如权利要求12所述的存储装置,其中,所述控制器被配置为调整所述性能模式。
16.如权利要求1所述的存储装置,其中,所述访问结果信息包括用于读取操作的参数、用于编程操作的参数、用于擦除操作的参数、所述非易失性存储器件的一般物理信息、非易失性存储器件的存储器单元的阈值电压的分布信息、非易失性存储器件的存储器单元的劣化信息、写入存储器单元的数据的劣化信息、以及与非易失性存储器件相关联的逻辑信息中的至少一个。
17.如权利要求1所述的存储装置,其中,所述控制器被配置为当生成所述访问分类器时,基于所述访问结果信息和所述访问环境信息,更新先前的访问分类器。
18.如权利要求1所述的存储装置,其中,如果是当时间段到达时、当所收集的访问结果信息和访问环境信息的大小达到期望的(和/或备选地预定的)尺寸、当空闲时间到达时、当检测到电源关闭时、以及当缓冲存储器的存储容量不足时中的至少一个情况,则控制器通过机器学习来生成或更新访问分类器。
19.一种存储装置,包括:
非易失性存储器件;
缓冲存储器;以及
控制器,其被配置为使用所述缓冲存储器对所述非易失性存储器件执行第一访问,所述控制器被配置为收集所述缓冲存储器中的第一访问的访问结果信息和访问的环境信息,并且所述控制器被配置为通过基于在所述缓冲存储器中收集的访问结果信息和访问环境信息执行机器学习来生成访问分类器,
所述控制器被配置为使用所述缓冲存储器执行对所述非易失性存储器件的第二访问,以及
所述控制器被配置为通过使用与第二访问和访问分类器相关联的访问环境信息来获得与第二访问相关联的访问参数的预测结果。
20.一种非易失性存储器件的访问方法,所述方法包括:
执行对所述非易失性存储器件的第一访问以收集第一访问的第一访问结果信息和第一访问环境信息;
生成访问分类器,所述生成访问分类器包括基于所收集的第一访问结果信息和所收集的第一访问环境信息执行机器学习;
在执行对所述非易失性存储器件的第二访问之前,通过使用第二访问的第二访问环境信息和所述访问分类器,获得与第二访问相关联的访问参数的预测结果;
使用所述预测结果对所述非易失性存储器件执行第二访问;以及
更新访问分类器以将第二访问的第二访问结果信息和第二访问的第二访问环境信息应用于访问分类器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0157445 | 2016-11-24 | ||
KR1020160157445A KR102656190B1 (ko) | 2016-11-24 | 2016-11-24 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108810A true CN108108810A (zh) | 2018-06-01 |
CN108108810B CN108108810B (zh) | 2023-08-18 |
Family
ID=62146912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711191140.1A Active CN108108810B (zh) | 2016-11-24 | 2017-11-24 | 包括非易失性存储器件的存储装置及访问方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10216422B2 (zh) |
KR (1) | KR102656190B1 (zh) |
CN (1) | CN108108810B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886416A (zh) * | 2019-02-01 | 2019-06-14 | 京微齐力(北京)科技有限公司 | 集成人工智能模块的系统芯片及机器学习方法 |
CN110580932A (zh) * | 2019-08-29 | 2019-12-17 | 华中科技大学 | 一种应用于损耗均衡的存储单元质量度量方法 |
WO2020003073A1 (en) * | 2018-06-29 | 2020-01-02 | International Business Machines Corporation | Using a machine learning module to determine when to perform error checking of a storage unit |
CN110750209A (zh) * | 2018-07-24 | 2020-02-04 | 三星电子株式会社 | 固态驱动器和用于元数据访问的方法 |
CN111104343A (zh) * | 2018-10-25 | 2020-05-05 | 三星电子株式会社 | 存储装置、操作存储装置的方法和非易失性存储器装置 |
CN111192608A (zh) * | 2018-11-14 | 2020-05-22 | 三星电子株式会社 | 监视和存储块的导通单元计数的存储装置及其操作方法 |
CN111429960A (zh) * | 2019-01-10 | 2020-07-17 | 慧荣科技股份有限公司 | 改善闪存的读取重试的方法、控制器以及相关存储装置 |
CN111736757A (zh) * | 2019-03-25 | 2020-10-02 | 西部数据技术公司 | 用于机器学习的增强型存储设备存储架构 |
CN111752856A (zh) * | 2019-03-27 | 2020-10-09 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN112446469A (zh) * | 2019-09-05 | 2021-03-05 | 美光科技公司 | 基于温度的数据存储操作优化 |
CN112732594A (zh) * | 2019-10-14 | 2021-04-30 | 美光科技公司 | 具有用来执行机器学习操作的内部逻辑的存储器子系统 |
CN112997138A (zh) * | 2018-10-30 | 2021-06-18 | 马维尔国际贸易有限公司 | 对存储介质访问的支持人工智能的管理 |
CN113269321A (zh) * | 2020-02-14 | 2021-08-17 | 美光科技公司 | 数据存储装置的服务质量的优化 |
US11099743B2 (en) | 2018-06-29 | 2021-08-24 | International Business Machines Corporation | Determining when to replace a storage device using a machine learning module |
CN113344020A (zh) * | 2020-03-02 | 2021-09-03 | 美光科技公司 | 从存储器单元检索的数据的错误率的分类 |
US11119663B2 (en) | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform a data integrity check of copies of a data set by training a machine learning module |
WO2022095786A1 (zh) * | 2020-11-03 | 2022-05-12 | 北京灵汐科技有限公司 | 存储器及神经形态芯片、数据处理方法 |
CN117157711A (zh) * | 2021-05-24 | 2023-12-01 | 微芯片技术股份有限公司 | 用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿值来执行对闪存存储器的读取的方法和装置 |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102620562B1 (ko) | 2016-08-04 | 2024-01-03 | 삼성전자주식회사 | 비휘발성 메모리 장치 |
US11017838B2 (en) | 2016-08-04 | 2021-05-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices |
US10248906B2 (en) * | 2016-12-28 | 2019-04-02 | Intel Corporation | Neuromorphic circuits for storing and generating connectivity information |
US10347317B2 (en) * | 2017-10-05 | 2019-07-09 | Gyrfalcon Technology Inc. | Method of self-testing and reusing of reference cells in a memory architecture |
TWI689816B (zh) * | 2018-03-06 | 2020-04-01 | 群聯電子股份有限公司 | 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置 |
KR102424372B1 (ko) * | 2018-03-30 | 2022-07-25 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그것의 동작 방법 |
KR102607864B1 (ko) * | 2018-07-06 | 2023-11-29 | 삼성전자주식회사 | 뉴로모픽 시스템 및 그것의 동작 방법 |
JP2020047348A (ja) * | 2018-09-19 | 2020-03-26 | キオクシア株式会社 | 半導体記憶装置及びその制御方法 |
KR102634338B1 (ko) * | 2018-10-08 | 2024-02-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR102569820B1 (ko) * | 2018-10-25 | 2023-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102686924B1 (ko) * | 2018-11-12 | 2024-07-19 | 삼성전자주식회사 | 스토리지 장치의 구동 방법, 이를 수행하는 스토리지 장치 및 이를 포함하는 스토리지 시스템 |
KR102610821B1 (ko) * | 2018-11-15 | 2023-12-06 | 삼성전자주식회사 | 내구성 저하를 판단하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법 |
US11449268B2 (en) * | 2018-11-20 | 2022-09-20 | Samsung Electronics Co., Ltd. | Deep solid state device (deep-SSD): a neural network based persistent data storage |
US11610116B2 (en) * | 2018-12-31 | 2023-03-21 | SK Hynix Inc. | Storage device performance optimization using deep learning |
US10901628B2 (en) * | 2019-03-12 | 2021-01-26 | Wipro Limited | Method for operating storage drives, and system thereof |
KR20200117374A (ko) * | 2019-04-04 | 2020-10-14 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치, 이의 동작 방법 및 이를 이용하는 시스템 |
US11080152B2 (en) | 2019-05-15 | 2021-08-03 | Western Digital Technologies, Inc. | Optimized neural network data organization |
KR20210020689A (ko) | 2019-08-16 | 2021-02-24 | 삼성전자주식회사 | 추론에 기초하여 요청을 처리하는 메모리 시스템 및 이의 동작 방법 |
US10811075B1 (en) * | 2019-08-19 | 2020-10-20 | Silicon Motion, Inc. | Method for performing access control regarding quality of service optimization of memory device with aid of machine learning, associated memory device and controller thereof |
KR20210031220A (ko) | 2019-09-11 | 2021-03-19 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR20210032222A (ko) | 2019-09-16 | 2021-03-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그것의 동작 방법 |
US11676010B2 (en) * | 2019-10-14 | 2023-06-13 | Micron Technology, Inc. | Memory sub-system with a bus to transmit data for a machine learning operation and another bus to transmit host data |
US20210110249A1 (en) * | 2019-10-14 | 2021-04-15 | Micron Technology, Inc. | Memory component with internal logic to perform a machine learning operation |
US11769076B2 (en) * | 2019-10-14 | 2023-09-26 | Micron Technology, Inc. | Memory sub-system with a virtualized bus and internal logic to perform a machine learning operation |
US11081182B2 (en) * | 2019-10-29 | 2021-08-03 | Macronix International Co., Ltd. | Integrated circuit and computing method thereof |
US11163453B2 (en) | 2019-11-01 | 2021-11-02 | Samsung Electronics Co., Ltd. | Memory device, memory system including memory device and vehicle-based system including memory system |
KR20210053390A (ko) | 2019-11-01 | 2021-05-12 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR20210083448A (ko) | 2019-12-26 | 2021-07-07 | 삼성전자주식회사 | 비지도 학습 기법을 사용하는 스토리지 장치 및 그것의 메모리 관리 방법 |
EP3863017B1 (en) * | 2020-02-06 | 2023-04-05 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
KR20210100790A (ko) | 2020-02-06 | 2021-08-18 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
JP2021149990A (ja) | 2020-03-19 | 2021-09-27 | キオクシア株式会社 | メモリシステム |
US11257546B2 (en) | 2020-05-07 | 2022-02-22 | Micron Technology, Inc. | Reading of soft bits and hard bits from memory cells |
US11907571B2 (en) | 2020-07-13 | 2024-02-20 | SK Hynix Inc. | Read threshold optimization systems and methods using domain transformation |
US11960989B2 (en) | 2020-07-24 | 2024-04-16 | SK Hynix Inc. | Read threshold estimation systems and methods using deep learning |
US11742901B2 (en) * | 2020-07-27 | 2023-08-29 | Electronics And Telecommunications Research Institute | Deep learning based beamforming method and apparatus |
US11217320B1 (en) | 2020-08-13 | 2022-01-04 | Micron Technology, Inc. | Bin placement according to program-erase cycles |
US11355204B2 (en) | 2020-09-03 | 2022-06-07 | SK Hynix Inc. | Efficient read-threshold calculation method for parametric PV-level modeling |
KR20220058278A (ko) | 2020-10-30 | 2022-05-09 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 동작 방법 |
US11430530B2 (en) | 2021-01-25 | 2022-08-30 | SK Hynix Inc. | Deep learning based program-verify modeling and voltage estimation for memory devices |
US11514992B2 (en) | 2021-02-25 | 2022-11-29 | Microchip Technology Inc. | Method and apparatus for reading a flash memory device |
US11514999B2 (en) | 2021-04-16 | 2022-11-29 | SK Hynix Inc. | Systems and methods for parametric PV-level modeling and read threshold voltage estimation |
US11934696B2 (en) | 2021-05-18 | 2024-03-19 | Microchip Technology Inc. | Machine learning assisted quality of service (QoS) for solid state drives |
US11514994B1 (en) | 2021-05-28 | 2022-11-29 | Microchip Technology Inc. | Method and apparatus for outlier management |
US11749354B2 (en) | 2021-07-13 | 2023-09-05 | SK Hynix Inc. | Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation |
US11769555B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Read threshold voltage estimation systems and methods for parametric PV-level modeling |
US11769556B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Systems and methods for modeless read threshold voltage estimation |
CN117480732A (zh) | 2021-09-28 | 2024-01-30 | 微芯片技术股份有限公司 | 具有陷阱块管理的ldpc解码 |
KR102491655B1 (ko) | 2021-10-01 | 2023-01-27 | 삼성전자주식회사 | 에러 카운트를 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
US11854629B2 (en) | 2021-11-22 | 2023-12-26 | SK Hynix Inc. | System and method for non-parametric optimal read threshold estimation using deep neural network |
KR102546274B1 (ko) * | 2022-08-04 | 2023-06-21 | 삼성전자주식회사 | 리드 리클레임을 결정하는 비-휘발성 메모리 장치, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
US20240184671A1 (en) * | 2022-12-01 | 2024-06-06 | Solid State Storage Technology Corporation | Statistics table of solid state storage device and using method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678004A (zh) * | 2013-12-19 | 2014-03-26 | 南京大学 | 一种基于非监督特征学习的主机负载预测方法 |
CN104516830A (zh) * | 2013-09-26 | 2015-04-15 | 凯为公司 | 多阶段地址转换中的转换旁路 |
US20150163242A1 (en) * | 2013-12-06 | 2015-06-11 | Cyberlytic Limited | Profiling cyber threats detected in a target environment and automatically generating one or more rule bases for an expert system usable to profile cyber threats detected in a target environment |
CN105229592A (zh) * | 2013-03-15 | 2016-01-06 | 马维尔国际贸易有限公司 | 用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置和方法 |
US20160255446A1 (en) * | 2015-02-27 | 2016-09-01 | Giuliano BERNARDI | Methods, Systems, and Devices for Adaptively Filtering Audio Signals |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2131145C1 (ru) | 1998-06-16 | 1999-05-27 | Закрытое акционерное общество Научно-технический центр "Модуль" | Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор |
US6294926B1 (en) | 1999-07-16 | 2001-09-25 | Philips Electronics North America Corporation | Very fine-grain field programmable gate array architecture and circuitry |
JPWO2008093606A1 (ja) | 2007-01-30 | 2010-05-20 | パナソニック株式会社 | 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置 |
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
US20090132769A1 (en) * | 2007-11-19 | 2009-05-21 | Microsoft Corporation | Statistical counting for memory hierarchy optimization |
KR101522402B1 (ko) * | 2008-10-07 | 2015-05-26 | 삼성전자주식회사 | 반도체 디스크 장치 및 그것의 데이터 관리 방법 |
US8327066B2 (en) | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8213255B2 (en) | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
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 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
US9111222B2 (en) | 2011-11-09 | 2015-08-18 | Qualcomm Incorporated | Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network |
KR102028128B1 (ko) * | 2012-08-07 | 2019-10-02 | 삼성전자주식회사 | 불휘발성 랜덤 액세스 메모리 및 낸드 플래시 메모리를 포함하는 메모리 시스템의 동작 방법 |
US9256371B2 (en) | 2013-05-28 | 2016-02-09 | Globalfoundries Inc. | Implementing reinforcement learning based flash control |
KR102244618B1 (ko) | 2014-02-21 | 2021-04-26 | 삼성전자 주식회사 | 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법 |
US20150324691A1 (en) | 2014-05-07 | 2015-11-12 | Seagate Technology Llc | Neural network connections using nonvolatile memory devices |
US9372630B2 (en) * | 2014-07-09 | 2016-06-21 | International Business Machines Corporation | Migration of newly allocated data to a storage tier |
US9821470B2 (en) | 2014-09-17 | 2017-11-21 | Brain Corporation | Apparatus and methods for context determination using real time sensor data |
US9542122B2 (en) | 2014-10-23 | 2017-01-10 | Seagate Technology Llc | Logical block addresses used for executing host commands |
KR102290974B1 (ko) | 2014-11-07 | 2021-08-19 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법 |
US10460237B2 (en) * | 2015-11-30 | 2019-10-29 | International Business Machines Corporation | Neuron-centric local learning rate for artificial neural networks to increase performance, learning rate margin, and reduce power consumption |
-
2016
- 2016-11-24 KR KR1020160157445A patent/KR102656190B1/ko active IP Right Grant
-
2017
- 2017-06-27 US US15/634,100 patent/US10216422B2/en active Active
- 2017-11-24 CN CN201711191140.1A patent/CN108108810B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105229592A (zh) * | 2013-03-15 | 2016-01-06 | 马维尔国际贸易有限公司 | 用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置和方法 |
CN104516830A (zh) * | 2013-09-26 | 2015-04-15 | 凯为公司 | 多阶段地址转换中的转换旁路 |
US20150163242A1 (en) * | 2013-12-06 | 2015-06-11 | Cyberlytic Limited | Profiling cyber threats detected in a target environment and automatically generating one or more rule bases for an expert system usable to profile cyber threats detected in a target environment |
CN103678004A (zh) * | 2013-12-19 | 2014-03-26 | 南京大学 | 一种基于非监督特征学习的主机负载预测方法 |
US20160255446A1 (en) * | 2015-02-27 | 2016-09-01 | Giuliano BERNARDI | Methods, Systems, and Devices for Adaptively Filtering Audio Signals |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11099743B2 (en) | 2018-06-29 | 2021-08-24 | International Business Machines Corporation | Determining when to replace a storage device using a machine learning module |
GB2587314B (en) * | 2018-06-29 | 2021-09-15 | Ibm | Using a machine learning module to determine when to perform error checking of a storage unit |
WO2020003073A1 (en) * | 2018-06-29 | 2020-01-02 | International Business Machines Corporation | Using a machine learning module to determine when to perform error checking of a storage unit |
US11119851B2 (en) | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform error checking of a storage unit by training a machine learning module |
GB2587314A (en) * | 2018-06-29 | 2021-03-24 | Ibm | Using a machine learning module to determine when to perform error checking of a storage unit |
US11119662B2 (en) | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform a data integrity check of copies of a data set using a machine learning module |
US11119663B2 (en) | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform a data integrity check of copies of a data set by training a machine learning module |
US11119850B2 (en) | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to perform error checking of a storage unit by using a machine learning module |
US11119660B2 (en) | 2018-06-29 | 2021-09-14 | International Business Machines Corporation | Determining when to replace a storage device by training a machine learning module |
US11204827B2 (en) | 2018-06-29 | 2021-12-21 | International Business Machines Corporation | Using a machine learning module to determine when to perform error checking of a storage unit |
CN110750209A (zh) * | 2018-07-24 | 2020-02-04 | 三星电子株式会社 | 固态驱动器和用于元数据访问的方法 |
CN111104343A (zh) * | 2018-10-25 | 2020-05-05 | 三星电子株式会社 | 存储装置、操作存储装置的方法和非易失性存储器装置 |
CN111104343B (zh) * | 2018-10-25 | 2023-06-30 | 三星电子株式会社 | 存储装置、操作存储装置的方法和非易失性存储器装置 |
CN112997138A (zh) * | 2018-10-30 | 2021-06-18 | 马维尔国际贸易有限公司 | 对存储介质访问的支持人工智能的管理 |
CN111192608B (zh) * | 2018-11-14 | 2023-10-03 | 三星电子株式会社 | 监视和存储块的导通单元计数的存储装置及其操作方法 |
CN111192608A (zh) * | 2018-11-14 | 2020-05-22 | 三星电子株式会社 | 监视和存储块的导通单元计数的存储装置及其操作方法 |
CN111429960B (zh) * | 2019-01-10 | 2022-05-24 | 慧荣科技股份有限公司 | 改善闪存的读取重试的方法、控制器以及相关存储装置 |
US11573734B2 (en) | 2019-01-10 | 2023-02-07 | Silicon Motion, Inc. | Method for improving read-retry of flash memory and related controller and storage device |
CN111429960A (zh) * | 2019-01-10 | 2020-07-17 | 慧荣科技股份有限公司 | 改善闪存的读取重试的方法、控制器以及相关存储装置 |
CN109886416A (zh) * | 2019-02-01 | 2019-06-14 | 京微齐力(北京)科技有限公司 | 集成人工智能模块的系统芯片及机器学习方法 |
CN111736757A (zh) * | 2019-03-25 | 2020-10-02 | 西部数据技术公司 | 用于机器学习的增强型存储设备存储架构 |
CN111752856A (zh) * | 2019-03-27 | 2020-10-09 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN110580932B (zh) * | 2019-08-29 | 2021-04-06 | 华中科技大学 | 一种应用于损耗均衡的存储单元质量度量方法 |
CN110580932A (zh) * | 2019-08-29 | 2019-12-17 | 华中科技大学 | 一种应用于损耗均衡的存储单元质量度量方法 |
CN112446469A (zh) * | 2019-09-05 | 2021-03-05 | 美光科技公司 | 基于温度的数据存储操作优化 |
CN112732594A (zh) * | 2019-10-14 | 2021-04-30 | 美光科技公司 | 具有用来执行机器学习操作的内部逻辑的存储器子系统 |
CN113269321A (zh) * | 2020-02-14 | 2021-08-17 | 美光科技公司 | 数据存储装置的服务质量的优化 |
CN113344020A (zh) * | 2020-03-02 | 2021-09-03 | 美光科技公司 | 从存储器单元检索的数据的错误率的分类 |
CN113344020B (zh) * | 2020-03-02 | 2024-06-07 | 美光科技公司 | 从存储器单元检索的数据的错误率的分类的装置、方法和系统 |
WO2022095786A1 (zh) * | 2020-11-03 | 2022-05-12 | 北京灵汐科技有限公司 | 存储器及神经形态芯片、数据处理方法 |
CN117157711A (zh) * | 2021-05-24 | 2023-12-01 | 微芯片技术股份有限公司 | 用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿值来执行对闪存存储器的读取的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US10216422B2 (en) | 2019-02-26 |
KR102656190B1 (ko) | 2024-04-11 |
KR20180058890A (ko) | 2018-06-04 |
CN108108810B (zh) | 2023-08-18 |
US20180143762A1 (en) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108810A (zh) | 包括非易失性存储器件的存储装置及访问方法 | |
CN107797935B (zh) | 存储装置和用于非易失性存储器装置的访问方法 | |
CN111009280B (zh) | 存储装置以及存储装置的操作方法 | |
KR102599123B1 (ko) | 인공 신경망 모델에 기초하여 읽기 레벨들을 추론하는 스토리지 장치 및 인공 신경망 모델의 학습 방법 | |
KR102645142B1 (ko) | 예측된 유효 페이지들을 이용하여 가비지 콜렉션을 수행하는 스토리지 장치들, 방법들 및 불휘발성 메모리 장치들 | |
US11049009B2 (en) | Identifying memory block write endurance using machine learning | |
US10424388B2 (en) | Storage device, memory system, and read voltage decision method thereof | |
KR102634700B1 (ko) | 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법 | |
JP2012174331A (ja) | 不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法、並びにウェアレベリング方法 | |
CN108206041A (zh) | 存储器读取操作方法、存储器控制器及存储系统操作方法 | |
US20220027083A1 (en) | Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices | |
CN102543204A (zh) | 存储系统及其操作方法 | |
CN106971754A (zh) | 非易失性存储器设备、包括其的存储装置和操作其的方法 | |
CN108694989A (zh) | 存储设备及其坏块指派方法 | |
US20220058488A1 (en) | Partitionable Neural Network for Solid State Drives | |
CN108628763A (zh) | 用于高效垃圾收集的预测块分配的存储系统和方法 | |
KR102599117B1 (ko) | 블록들의 온 셀 카운트들을 모니터링하고 저장하는 스토리지 장치 및 그것의 동작 방법 | |
EP3893116A1 (en) | Storage device and method for operating the same | |
US11409441B2 (en) | Operation method of a storage controller configured to control a nonvolatile memory device | |
CN109726143A (zh) | 存储器控制器的操作方法和储存设备的操作方法 | |
KR102696971B1 (ko) | 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법 | |
KR102491652B1 (ko) | 산포 타입을 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
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 |