CN115729734A - 存储设备及其操作方法 - Google Patents

存储设备及其操作方法 Download PDF

Info

Publication number
CN115729734A
CN115729734A CN202210683097.5A CN202210683097A CN115729734A CN 115729734 A CN115729734 A CN 115729734A CN 202210683097 A CN202210683097 A CN 202210683097A CN 115729734 A CN115729734 A CN 115729734A
Authority
CN
China
Prior art keywords
data
memory
command
log
host
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
CN202210683097.5A
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 CN115729734A publication Critical patent/CN115729734A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种存储设备及其操作方法,包括:存储控制器,被配置为从主机接收获取日志页命令并根据获取日志页命令向主机发送关于从多个组件的各上下文中选择的至少一个上下文的日志数据;以及存储器,存储日志数据,其中,获取日志页命令包括用于从多个组件中选择至少一个组件的选择信息。

Description

存储设备及其操作方法
相关申请的交叉引用
本申请基于并要求于2021年9月1日向韩国知识产权局递交的韩国专利申请No.10-2021-0116505的优先权,其公开内容通过引用整体并入本文中。
技术领域
本发明构思涉及一种电子设备,并且更具体地,涉及一种存储设备及其操作方法。
背景技术
固态驱动器(SSD)是基于闪存的大容量存储设备的示例。随着SSD需求的爆发式增长,SSD的用途已经被多样化。应对SSD进行管理和维护以提供高可靠性和最佳服务质量。
在SSD工作期间,由于硬件或软件问题,可能发生意外故障或错误。在这种情况下,SSD收集发生错误或故障时的状态并将其存储为转储数据。将所收集的转储数据发送到SSD所连接的主机。将发送到主机的转储数据提供给调试工具或调试装置,并且执行基于转储数据的调试。
随着SSD的容量和复杂性的增加,转储数据的大小也增加。具体地,为了进行详细的故障分析,需要收集和提取尽可能大的转储数据。在这种情况下,由于发送速度的限制,将转储数据发送到为SSD的故障分析提供的调试通道导致难以快速分析。因此,难以通过在发生故障或错误时快速获得实时状态信息来对SSD执行准确的调试。
发明内容
本发明构思提供一种能够向主机提供关于选择性地提取的上下文的日志数据的存储设备以及该存储设备的操作方法。
根据本发明构思的一个方面,存储设备包括多个组件。存储设备包括:存储控制器,被配置为从主机接收获取日志页命令并根据获取日志页命令向主机发送关于从多个组件的各个上下文中选择的至少一个上下文(但不是所有上下文)的日志数据;以及存储器,存储日志数据。获取日志页命令包括用于从多个组件中选择至少一个组件的选择信息。
根据本发明构思的另一方面,存储设备包括多个组件。存储设备包括存储器和存储控制器。存储控制器被配置为检测对在多个组件中的至少一个组件中已经发生错误加以指示的错误事件、响应于错误事件而生成关于至少一个组件的多个上下文中的至少一个上下文的日志数据、以及控制存储器存储日志数据,日志数据由至少一个上下文而不是多个上下文中的全部上下文组成。
根据本发明构思的另一方面,一种包括多个组件的存储设备的操作方法包括:从主机接收获取日志页命令的接收操作、响应于获取日志页命令从多个组件的各上下文中选择至少一个上下文但不是所有上下文的选择操作、生成关于所选的至少一个上下文的日志数据的生成操作、以及将日志数据发送到主机的发送操作,其中获取日志页命令包括用于从多个组件中选择至少一个组件的选择信息。
根据本发明构思的另一方面,包括多个组件的存储设备的操作方法包括:检测对在多个组件中的至少一个组件中已经发生错误加以指示的错误事件的检测操作、响应于错误事件生成关于至少一个组件的子上下文的日志数据的生成操作、以及存储日志数据的存储操作。
附图说明
根据以下结合附图进行的详细描述,将更清楚地理解本发明构思的实施例,在附图中:
图1是用于描述根据本发明构思的实施例的存储系统的图;
图2是用于描述根据本发明构思的实施例的存储系统的操作方法的图:
图3是用于描述根据本发明构思的实施例的由主机提供的命令的图;
图4是用于描述根据本发明构思的实施例的存储设备的操作方法的图;
图5是用于描述根据本发明构思的实施例的人类可读格式的数据的图;
图6是用于描述根据本发明构思的实施例的人类可读格式的数据的图;
图7是用于描述根据本发明构思的另一实施例的存储系统的操作方法的图;
图8是用于描述根据本发明构思的另一实施例的存储设备的操作方法的图;
图9是用于描述根据本发明构思的另一实施例的关于由存储设备提供的命令的命令队列条目的图;
图10是用于描述根据本发明构思的另一实施例的由主机提供的命令的图;
图11是示出了应用了根据本发明构思的实施例的存储设备的系统的图;
图12是示出了根据本发明构思的另一实施例的存储系统的框图;
图13是示出了根据本发明构思的实施例的存储器系统的框图;
图14是用于描述根据本发明构思的实施例的3D VNAND结构的图;以及
图15是用于描述根据本发明构思的实施例的BVNAND结构的图。
具体实施方式
下文中,将参考附图详细描述本发明构思的实施例。
图1是描述根据本发明构思的实施例的存储系统的图。
参考图1,存储系统10可以包括存储设备100和主机200。
存储设备100可以包括多个组件。在本文中的各种实施例和描述中描述的存储设备100和其他存储设备中,组件可以以硬件形式、软件形式、以及硬件和软件形式来实现。在本文中,组件可以称为元件。参考图1,例如,存储设备100可以包括存储控制器110、易失性存储器120、非易失性存储器130和硬件元件140。然而,本发明构思不限于此。
存储设备100可以包括用于根据来自主机200的请求来存储数据的存储介质。例如,存储设备100可以包括固态驱动器(SSD)、嵌入式存储器和可移动外部存储器中的至少一种。当存储设备100为SSD时,存储设备100可以是符合非易失性存储器快速(NVMe)标准(规范)的设备。当存储设备100是嵌入式存储器或外部存储器时,存储设备100可以是符合通用闪存(UFS)或嵌入式多媒体卡(eMMC)标准的设备。主机200和存储设备100可以各自根据所采用的标准协议生成分组,并发送该分组。
存储控制器110可以控制存储设备100的整体操作。本文中,存储控制器110也可以称为控制器、设备控制器或存储器控制器。
当从外部向存储设备100供电时,存储控制器110可以执行固件。当非易失性存储器130是闪存器件时,固件可以包括主机接口层(HIL)、闪存转换层(FTL)和闪存接口层(FIL)。
存储控制器110可以响应于主机200的写入请求、读取请求和擦除请求,控制易失性存储器120或非易失性存储器130执行编程操作(或写入操作)、读取操作和擦除操作。
在编程操作期间,存储控制器110可以向非易失性存储器130提供编程命令、物理地址和写入数据。
在读取操作期间,存储控制器110可以向非易失性存储器130提供读取命令和物理地址。
在擦除操作期间,存储控制器110可以向非易失性存储器130提供擦除命令和物理地址。
无论从主机200接收到的请求如何,存储控制器110都可以将其自身生成的命令、地址和数据发送到非易失性存储器130。例如,存储控制器110可以生成用于执行后台操作的命令、地址和数据,并将该命令、该地址和该数据提供给非易失性存储器130。后台操作可以是例如磨损均衡、读取回收或垃圾收集。
存储控制器110可以控制逻辑上用作一个非易失性存储器130的多个非易失性存储器130。
在实施例中,存储控制器110可以从主机200接收获取日志页命令,并根据获取日志页命令向主机200发送关于从多个组件的各上下文中选择的至少一个上下文的日志数据。获取日志页命令可以是用于请求提供存储在存储设备100中的日志数据的命令。可以在NVMe标准中定义获取日志页命令。日志数据可以是表示关于具体组件的当前上下文的信息的数据。日志数据可以是非结构化数据,例如计算机(或机器)可读格式的数据,并且可以是二进制数表示的数据。
获取日志页命令可以包括选择信息。选择信息可以是表示从构成存储设备100的组件中选择的组件的信息。这将在下面参考图3进行详细描述。
在另一实施例中,存储控制器110可以检测错误事件并且响应于该错误事件生成日志数据。错误事件可以是指示在多个组件中的至少一个组件中发生错误的事件。具体地,响应于错误事件,存储控制器110可以生成关于其中已经发生错误的至少一个组件的上下文的日志数据。上下文可以包括例如组件的状态、与组件相关的状态或条件、与组件相关联的具体参数等。在一些情况下,上下文可以指关于组件的数据类别集的信息,例如,如以下结合图5和图6更详细地描绘和描述的。
根据实施例,存储控制器110可以包括上下文选择模块111、日志生成模块112、发送模块113和数据格式改变模块114。上下文选择模块111、日志生成模块112、发送模块113和数据格式改变模块114以及本文中的各个实施例中描述的其他模块可以实现为硬件,或者可以实现为硬件和软件。在实施例中,上下文选择模块111、日志生成模块112、发送模块113和数据格式改变模块114可以实现为固件。
在实施例中,上下文选择模块111可以基于选择信息选择至少一个上下文(例如,具体组件的上下文),并且生成关于所选上下文的上下文信息。
在另一实施例中,上下文选择模块111可以响应于错误事件而选择至少一个组件的上下文,并生成关于所选上下文的上下文信息。
日志生成模块112可以基于上下文信息生成日志数据。此外,日志生成模块112可以控制易失性存储器120或非易失性存储器130存储所生成的日志数据。
发送模块113可以将存储设备100中所生成的信号或数据发送到主机200。
数据格式改变模块114可以对日志数据进行处理以将日志数据转换为例如人类可读格式的数据。人类可读格式可以是用户可以通过使用显示设备等读取的标准格式。人类可读格式可以是例如JavaScript对象表示法(JSON)、可扩展标记语言(XML)或字符分隔值(CSV);然而,本发明构思不限于此。
在图1中,上下文选择模块111、日志生成模块112、发送模块113和数据格式改变模块114被包括在存储控制器110中;然而,本发明构思不限于此。具体地,上下文选择模块111、日志生成模块112、发送模块113和数据格式改变模块114可以被包括在与存储控制器110分开实现的处理器中。
易失性存储器120可以仅在接收电力时响应于存储控制器110的控制而进行操作。易失性存储器120可以仅在接收电力时临时存储从主机200接收的数据或从非易失性存储器130接收的数据。作为缓冲存储器,易失性存储器120可以被包括在存储控制器110中或布置在存储控制器110的外部。例如,易失性存储器件可以包括DRAM、SRAM等。
在实施例中,易失性存储器120可以存储日志数据。
非易失性存储器130可以响应于存储控制器110的控制而进行操作。具体地,非易失性存储器130可以从存储控制器110接收命令和地址,并且访问由该地址从存储单元(未示出)中选择的存储单元。非易失性存储器130可以对由地址选择的存储单元执行由命令指示的操作。
命令可以是例如编程命令、读取命令或擦除命令,并且由命令指示的操作可以是例如编程操作(或写入操作)、读取操作或擦除操作。编程操作可以是其中非易失性存储器130响应于存储控制器110的控制而存储从主机200接收的数据的操作。读取操作可以是其中非易失性存储器130响应于存储控制器110的控制而读取非易失性存储器130中存储的读取数据的操作。擦除操作可以是其中非易失性存储器130响应于存储控制器110的控制而擦除存储器件中存储的数据的操作。
根据实施例,非易失性存储器130可以实现为单个芯片或存储管芯,或者实现为多个存储芯片或多个存储管芯。例如,多个存储芯片中的每一个可以是双管芯封装(DDP)、四管芯封装(QDP)或八管芯封装(ODP)。
作为示例,非易失性存储器130可以是例如闪存。闪存可以包括例如NAND闪存、NOR闪存等。当非易失性存储器130包括闪存时,闪存可以包括2D NAND存储阵列或3D(或竖直)NAND(VNAND)存储阵列。
作为另一示例,存储设备100可以包括各种其他类型的非易失性存储器。例如,存储设备100可以包括磁RAM(MRAM)、自旋转移矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻存储器(电阻RAM)和各种其他类型的存储器。
在实施例中,非易失性存储器130可以存储日志数据。在另一实施例中,非易失性存储器130可以包括多个非易失性存储器,并且多个非易失性存储器中的仅存储日志数据的单独的非易失性存储器可以设置在存储设备100中。
主机200可以通过接口与存储设备100进行通信。在这里,接口可以实现为例如NVMe、NVMe管理接口(NVMe MI)或Fabrics上的NVMe(NVMe-oF)。
在实施例中,主机200可以向存储设备100提供用于请求将数据存储在存储设备100中的写入请求。此外,主机200可以向存储设备100提供写入请求、数据、以及用于识别数据的逻辑地址。存储设备100可以响应于从主机200接收的写入请求而将包括由主机200提供的数据和元数据的写入数据存储在非易失性存储器130中,并向主机200提供指示存储完成的响应。
在另一实施例中,主机200可以向存储设备100提供获取日志页命令。
主机200可以包括主机控制器210、主机存储器220和数据输入/输出模块230。主机控制器210可以控制主机200的整体操作。主机存储器220可以用作用于临时存储要发送到存储设备100的数据或从存储设备100接收的数据的缓冲存储器。数据输入/输出模块230可以将存储在主机存储器220中的数据发送到存储设备100,或者将要存储在主机存储器220中的数据发送到存储设备100。
硬件元件140可以包括功率电容器141、温度传感器142和电源管理集成电路(PMIC)143。然而,本发明构思不限于此。功率电容器141可以存储备用电力。温度传感器142可以感测存储设备100的内部温度。PMIC 143可以管理从外部供应的电力。
图2是用于描述根据本发明构思的实施例的存储系统的操作方法的图。
参考图2,操作S10可以称为接收操作。在操作S10中,主机200向存储设备100发送获取日志页命令。然后,存储设备100接收获取日志页命令。获取日志页命令可以包括对应于遥测主机启动的位信息(或比特值)。遥测主机启动指示符可以指示主机200启动遥测。可以在NVMe标准(例如,基于NVMe标准2.0a的5.16.18)中定义遥测主机启动指示符。这将在下面参考图3进行描述。获取日志页命令可以包括上述选择信息。
操作S20可以称为选择操作。在操作S20中,存储设备100响应于获取日志页命令而从多个组件的各上下文中选择至少一个上下文。例如,当选择信息是用于选择非易失性存储器130的信息时,存储设备100可以通过使用获取日志页命令中包括的选择信息来选择非易失性存储器130的当前上下文。
操作S30可以称为生成操作。在操作S30中,存储设备100生成关于所选至少一个上下文的日志数据。例如,存储设备100可以对当前选择的上下文进行快照,并生成表示被快照的当前上下文的日志数据。
操作S40可以称为存储操作。在操作S40中,存储设备100将所生成的日志数据存储在存储器(例如,易失性存储器120或非易失性存储器130)中。
操作S50可以称为处理操作。备选地,操作S50可以称为加载操作和改变操作。在操作S50中,存储设备100可以加载已存储的日志数据并对已加载的日志数据进行处理,使得已加载的日志数据的格式可以改变为人类可读格式。
操作S60可以称为发送操作。在操作S60中,存储设备100将日志数据发送到主机200。例如,存储设备100可以向主机200发送从存储器(例如,易失性存储器120或非易失性存储器130)加载的日志数据。例如,存储设备100可以向主机200发送被改变为人类可读格式的日志数据。
图3是用于描述根据本发明构思的实施例的由主机提供的命令的图。
参考图3,由主机200提供的命令(或请求)可以是在NVMe标准中被定义的命令,并且命令队列条目可以是在NVMe标准中被定义的提交队列条目。由主机200提供的命令的大小可以是64个字节。由主机200提供的命令可以包括例如16个命令双字。一个命令双字可以是具有4字节大小的数据。
根据实施例,由主机200提供的命令可以包括命令双字0(CDW 0)、命名空间标识符(NSID)、数据指针(DPTR)、命令双字10(CDW 10)、命令双字11(CDW 11)、命令双字12(CDW12)、命令双字13(CDW 13)、命令双字14(CDW 14)和命令双字15(CDW 15)。
在实施例中,由主机200提供的获取日志页命令可以是应用了NVMe标准(例如,NVMe标准2.0a中的5.16)的命令。由主机200提供的获取日志页命令可以包括数据指针(DPTR)、命令双字10(CDW 10)、命令双字11(CDW 11)、命令双字12(CDW 12)、命令双字13(CDW 13)和命令双字14(CDW 14)。
数据指针(DPTR)可以是指定在命令中使用的数据的字段。数据指针(DPTR)可以是指定主机存储器220中的数据缓冲器的起点的字段。
命令双字10(CDW 10)可以包括低双字数(Number of Dwords Lower,NUMDL)、保留异步事件(RAE)、日志特定字段(LSP)和日志页标识符(LID)。除非另有说明,否则NUMDL可以是指定最低有效16位的字段。RAE可以是指定何时保留或删除异步事件的字段,并且可以具有1个比特的大小。LSP可以是表示由LID定义的日志的字段,并且可以具有7个比特的大小。LID可以是表示要搜索的日志页的标识符的字段,并且可以具有7个比特的大小。
在实施例中,LID可以表示对应于遥测主机启动的位信息。对应于遥测主机启动的位信息可以是例如“07h”。
当LID包括对应于遥测主机启动的位信息时,LSP可以包括支持生成遥测主机启动数据的位信息。支持生成遥测主机启动数据的位信息的大小可以是1个比特。
除非另有说明,否则命令双字11(CDW 11)可以包括指定具体日志页中所需的标识符的字段和指定最高有效16位的字段。
除非另有说明,否则命令双字12(CDW 12)可以包括指定在日志页中从何处开始返回数据的字段。
命令双字13(CDW 13)可以包括指定日志页偏移或数据结构的列表中的索引的最高有效32位的字段。
命令双字14(CDW 14)可以包括命令集标识符(CSI)、偏移类型(OT)、选择信息和通用唯一标识符(UUID)索引(UUID INDEX)。CSI可以包括对应于NVM命令集的位信息、对应于键值命令集的位信息和/或对应于分区命名空间命令集的位信息。OT可以具有第一值或第二值。当OT具有第一值时,命令双字12(CDW 12)和命令双字13(CDW 13)可以指定要返回的在日志页中的数据结构的列表的索引。当OT具有第二值时,命令双字12(CDW 12)和命令双字13(CDW 13)可以指定要返回的在日志页中的字节偏移。
选择信息可以是用于从构成存储设备100的多个组件中选择至少一个组件的信息。选择信息可以具有16比特的值。然而,本发明构思不限于此。选择信息的每一位可以对应于构成存储设备100的多个组件。当选择信息的每一位具有特定值(例如,″1″)时,可以选择对应于该位的组件,并且当选择信息的每一位具有不同于特定值的值(例如,“0”)时,可以不选择对应于该位的组件。参考图3,例如,选择信息的第七位数字可以表示存储设备100的所有组件。选择信息的第八位数字可以表示非易失性存储器130(例如,NAND)。选择信息的第九位数字可以表示易失性存储器120(例如,DRAM)。选择信息的第十位数字可以表示功率电容器141。选择信息的第十一位数字可以表示存储设备100的供电功率。选择信息的第十二位数字可以表示存储设备100的外围组件互连快速(PCIe)接口。选择信息的第十三位数字可以表示存储设备100的延迟和/或性能。选择信息的第十四位数字可以表示存储控制器110。选择信息的第十五位数字可以表示存储设备100的耐用性。选择信息的第十六位数字可以表示存储设备100的热信息。然而,本发明构思不限于此。
尽管未示出,由主机200提供的命令还可以包括命令双字2、命令双字3和元数据指针。
图4是用于描述根据本发明构思的实施例的存储设备的操作方法的图。
参考图3和图4,主机410可以执行与图1所示的主机200相同的功能。主机410将获取日志页命令GLPC发送到存储控制器420。获取日志页命令GLPC可以包括命令双字14,该命令双字14包括如图3所示的选择信息。
存储控制器420可以包括上下文选择模块421、日志生成模块422、发送模块423和数据格式改变模块424。
上下文选择模块421接收获取日志页命令GLPC。上下文选择模块421可以通过使用包括在获取日志页命令GLPC中的选择信息来识别所选组件。上下文选择模块421可以向日志生成模块422提供表示所选组件的上下文信息的上下文选择信号CSEL。
日志生成模块422接收上下文选择信号CSEL。日志生成模块422可以对所选组件的当前上下文进行快照,并生成表示当前上下文的日志数据LD。日志生成模块422将日志数据LD、写入命令和地址提供给易失性存储器430。
日志数据LD可以被存储在易失性存储器430中。日志数据LD可以包括:日志标识符,表示LID的比特值;原因标识符,表示对存储控制器的唯一操作条件加以表示的标识信息;以及针对遥测主机启动日志的遥测主机启动数据块(遥测主机启动数据块1)。然而,本发明构思不限于此。
数据格式改变模块424(也被描述为数据格式转换模块)可以控制易失性存储器430加载存储在易失性存储器430中的日志数据LD。数据格式改变模块424可以通过将已加载的日志数据LD改变为人类可读格式的数据来对日志数据LD进行处理。数据格式改变模块424可以将经处理的日志数据PLD输出到发送模块423。
发送模块423将经处理的日志数据PLD发送到主机410。经处理的日志数据PLD的大小可以小于或等于关于存储设备100的所有上下文的日志数据的大小,因此经处理的日志数据PLD可以由关于所选上下文(也被描述为子上下文)的所选日志数据(但不是关于存储设备100的所有上下文的所有日志数据)组成。
如上所述,通过将关于选择性提取的上下文的日志数据提供给主机,可以减少数据传输大小,并且由于数据传输大小的减少而可以提高主机与存储设备之间的传输速度。
此外,如上所述,可以通过向主机发送较小大小的日志数据来减少主机中可能发生的延迟。
图5是用于描述根据本发明构思的实施例的人类可读格式的数据的图。
参考图3和图5,假设选择信息的第八位数字表示非易失性存储器130。此外,假设因为选择信息的第八位数字具有具体值(例如,“1”),选择了非易失性存储器130。
经处理的日志数据PLD可以表示非易失性存储器130的上下文信息。上下文信息可以包括变量和值。例如,经处理的日志数据PLD中包括的上下文信息可以包括具有a值的读取错误率、具有b值的写入错误率、以及具有c值的不可恢复写入错误、具有d值的读取恢复尝试等。然而,本发明构思不限于此。
因为经处理的日志数据PLD是人类可读格式的数据,所以用户可以容易地读取非易失性存储器130的上下文信息。
图6是用于描述根据本发明构思的实施例的人类可读格式的数据的图。
参考图6,假设第一经处理的日志数据至第四经处理的日志数据PLD1、PLD2、PLD3和PLD4是人类可读格式的数据,并且人类可读格式是JSON。假设第一经处理的日志数据PLD1表示NAND的上下文信息。假设第二经处理的日志数据PLD2表示性能(和/或延迟)的上下文信息。假设第三经处理的日志数据PLD3表示耐用性的上下文信息。假设第四经处理的日志数据PLD4表示热信息的上下文信息。第二经处理的日志数据PLD2、第三经处理的日志数据PLD3和第四经处理的日志数据PLD4可以各自与存储设备的一个或多个组件(例如,输入/输出接口、存储阵列和处理器或其他组件)相关联。
用户可以很容易地从第一经处理的日志数据PLD1中读取NAND的上下文信息。在第一经处理的日志数据PLD1的情况下,“读取错误率”的值可以是0,“写入错误率”的值可以是0,“不可恢复写入错误”的值可以是0,以及“读取恢复尝试”的值可以是10。然而,本发明构思不限于此。
用户可以容易地从第二经处理的日志数据PLD2中读取性能的上下文信息。在第二经处理的日志数据PLD2的情况下,“吞吐量性能”的值可以是0,“Perf指示符”的值可以是1。然而,本发明构思不限于此。
用户可以容易地从第三经处理的日志数据PLD3中读取耐用性的上下文信息。在第三经处理的日志数据PLD3的情况下,“定时工作负载媒体”的值可以是16,“终生NAND写入”的值可以是2808,以及“终生磨损等级计数”(“终生磨损等级Cnt”)的值可以是617。然而,本发明构思不限于此。
用户可以容易地从第四经处理的日志数据PLD4读取“热”的上下文信息。在第四经处理的日志数据PLD4的情况下,“最高温度”的值可以是132,“最低温度”的值可以是130,以及“当前温度”的值可以是131。然而,本发明构思不限于此。
如上所述,通过将人类可读格式的日志数据提供给主机,具体地,基于不同上下文而分开的日志数据,用户可以容易地分析存储设备的状态。
此外,如上所述,因为用户通过使用人类可读格式的日志数据来分析正常状态下的存储设备的状态,所以可以提前恢复存储设备的错误,并且因此改善存储设备的可靠性。
图7是用于描述根据本发明构思的另一实施例的存储系统的操作方法的图。
参考图7,操作S100可以被称为检测操作。在操作S100中,存储设备100可以检测错误事件。错误事件可以是指示在多个组件中的至少一个组件中发生错误的事件。可以预设存储设备100检测错误事件的周期(例如,可以基于预设的定时参数来周期性地检测错误)。
操作S200可以称为选择操作。在操作S200中,存储设备100响应于错误事件而从多个组件的各上下文中选择至少一个上下文。例如,当非易失性存储器130中发生错误时,存储设备100可以选择非易失性存储器130的当前上下文。
操作S300可以称为生成操作。在操作S300中,存储设备100生成关于组件的所选的至少一个上下文的日志数据。操作S300可以与上面参考图2描述的操作S20相同。
操作S400可以称为存储操作。操作S400可以与上面参考图2描述的操作S40相同。
操作S500可以称为请求发送操作。在操作S500中,存储设备100向主机200发送异步事件请求信号。异步事件请求信号可以是用于向主机200通知存储设备100中生成的错误信息或存储设备100的状态信息的信号。异步事件请求信号可以是在NVMe标准(例如,NVMe标准2.0a的5.2)中被定义的命令。
操作S600可以称为接收操作。在操作S600中,主机200向存储设备100发送获取日志页命令。然后,存储设备100接收获取日志页命令。获取日志页命令可以包括对应于遥测控制器启动的位信息。遥测控制器启动指示符可以指示存储控制器110启动遥测。遥测控制器启动指示符可以在NVMe标准(例如,基于NVMe标准2.0a的5.16.19)中被定义。此外,获取日志页命令还可以包括用于选择至少一个组件的选择信息。
操作S700可以称为处理操作。备选地,操作S700可以称为加载操作和改变操作。操作S700可以与以上参考图2描述的操作S50相同。
操作S800可以称为发送操作。操作S800可以与上面参考图2描述的操作S60相同。
图8是用于描述根据本发明构思的另一实施例的存储设备的操作方法的图。
参考图8,上下文选择模块421可以检测错误事件并且响应于该错误事件来识别至少一个组件。上下文选择模块421可以向日志生成模块422提供表示所选组件的上下文信息的上下文选择信号CSEL。
日志生成模块422可以接收上下文选择信号CSEL。日志生成模块422可以对所选组件的当前上下文进行快照,并生成表示当前上下文的日志数据LD。日志生成模块422将日志数据LD、写入命令和地址提供给易失性存储器430。
日志数据LD可以包括:日志标识符,表示LID的位值;原因标识符,表示对存储控制器的唯一操作条件加以表示的标识信息;以及针对遥测控制器启动日志的遥测主机启动数据块(遥测控制器启动数据块1)。然而,本发明构思不限于此。
日志生成模块422可以响应于上下文选择信号CSEL而向发送模块423提供异步事件请求信号AER。
发送模块423可以向主机200发送异步事件请求信号。
在异步事件请求信号被发送到主机200之后,主机410可以向存储控制器420发送获取日志页命令,如上面参考图2所述。获取日志页命令可以包括命令双字14,该命令双字14包括如图3所示的选择信息。此外,数据格式改变模块424可以响应于获取日志页命令来控制易失性存储器430加载日志数据。此外,数据格式改变模块424可以将已加载的日志数据转换为人类可读格式的数据。此外,发送模块423可以向主机200发送被转换为人类可读格式的数据的日志数据。
如上所述,通过将关于选择性提取的上下文的日志数据提供给主机,可以减少数据传输大小,并且由于数据传输大小的减少而可以提高主机与存储设备之间的传输速度。
此外,如上所述,可以通过向主机发送较小大小的日志数据来减少主机中可能发生的延迟。
图9是用于描述根据本发明构思的另一实施例的关于由存储设备提供的命令的命令队列条目的图。
参考图9,由存储设备100提供的命令可以是在NVMe标准中被定义的命令,并且命令队列条目可以是在NVMe标准中被定义的完成队列条目。
命令队列条目布局可以至少为16个字节。命令队列条目可以包括双字0(DW 0)、双字1(DW 1)、双字2(DW 2)和双字3(DW 3)。
双字0(DW 0)可以是包括异步事件请求命令的字段。异步事件请求命令可以被称为上述异步事件请求信号。异步事件请求命令可以包括日志页标识符、异步事件信息和异步事件类型。在实施例中,异步事件类型可以是通知。在这种情况下,异步事件信息可以表示被更改的遥测日志。被更改的遥测日志可以对应于“2h”。
双字1(DW1)可以包括各种信息。双字2(DW2)可以包括提交队列标识符(“SQ标识符”)和提交队列头指针(“SQ头指针”)。
双字3(DW3)是表示正在完成的命令的状态的状态字段(“Status Field”)、标识完成队列条目是否是新项目的阶段标签(P)、以及标识正在完成的命令的命令标识符(“Command Identifier”)。
状态字段可以包括不重试(Do Not Retry,DNR)、更多(More,M)、命令重试延迟(Command Retry Delay,CRD)、状态码类型(Status Code Type,SCT)和状态码(StatusCode,SC)。DNR可以具有第一值(例如,“1”)或第二值(例如,“0”)。具有第一值(例如,“1”)的DNR可以指示当相同的命令被重新提供给存储控制器时,预期被重新提供的命令失败。具有第二值(例如,“0”)的DNR可以指示当相同的命令被重试时,被重试的命令可能成功。“更多(M)”可以具有第一值(例如,“1”)或第二值(例如,“0”)。具有第一值(例如,“1”)的“更多(M)”可以指示存在与获取日志页命令相关的附加信息。具有第二值(例如,“0”)的“更多(M)”可以指示不存在附加信息。CRD可以是用于设置延迟时间以重试命令的字段。SCT可以是表示完成队列条目的状态码类型的字段。SC可以是表示关于所指示的命令的状态信息或标识错误的状态码的字段。
在实施例中,当SCT是“1h”并且SC是“05h”时,SCT可以表示命令特定状态,并且SC可以表示“超出异步事件请求限制”。然而,本发明构思不限于此。
图10是用于描述根据本发明构思的另一实施例的由主机提供的命令的图。
参考图10,根据另一实施例的由主机200提供的命令可以是如上面参考图3描述的作为在NVMe标准中被定义的命令的获取日志页命令,并且可以包括数据指针(DPTR)、命令双字10(CDW 10)、命令双字11(CDW 11)、命令双字12(CDW 12)、命令双字13(CDW 13)、以及命令双字14(CDW 14)。
命令双字10(CDW 10)可以包括低双字数(Number of Dwords Lower,NUMDL)、保留异步事件(RAE)、日志特定字段(LSP)和日志页标识符(LID)。
在实施例中,LID可以表示对应于遥测控制器启动的位信息。对应于遥测控制器启动的位信息可以是例如“08h”。
命令双字14(CDW 14)可以包括命令集标识符(CSI)、偏移类型(OT)、选择信息和通用唯一标识符(UUID)索引(UUID INDEX)。在实施例中,选择信息可以被配置在命令双字14(CDW 14)的第7位数字至第22位数字。
图11是示出了应用了根据本发明构思的实施例的存储设备的系统的图。
参考图11,系统1000基本上可以是移动系统,诸如,便携式通信终端(移动电话)、智能电话、平板个人计算机(PC)、可穿戴设备、保健设备或物联网(IoT)设备。然而,系统1000不必限于移动系统,并且还可以是例如个人计算机、膝上型计算机、服务器、媒体播放器或诸如导航设备的汽车设备。
系统1000可以包括主处理器1100、存储器1200a和1200b、以及存储设备1300a和1300b,并且还可以包括图像捕捉设备1410、用户输入设备1420、传感器1430、通信设备1440、显示器1450、扬声器1460、电源设备1470和连接接口1480中的一个或多个。
主处理器1100可以控制系统1000的整体操作,并且更具体地,控制构成系统1000的其他组件的操作。主处理器1100可以实现为例如通用处理器、专用处理器或应用处理器。
主处理器1100可以包括一个或多个CPU核1110,并且还可以包括用于控制存储器1200a和1200b以及/或者存储设备1300a和1300b的控制器1120。根据实施例,主处理器1100还可以包括加速器1130,该加速器1130是用于诸如人工智能(AI)数据操作的高速数据操作的专用电路。加速器1130可以包括例如图形处理单元(GPU)、神经处理单元(NPU)和/或数据处理单元(DPU),并且可以实现为与主处理器1100的其他组件物理独立的单独芯片。
存储器1200a和1200b可以用作系统1000的主存储器件,并且可以包括诸如SRAM和/或DRAM的易失性存储器,或者可以包括诸如闪存、PRAM和/或RRAM的非易失性存储器。存储器1200a和1200b还可以在与主处理器1100相同的封装中实现。
存储设备1300a和1300b可以用作存储数据而不管是否向其提供电力的非易失性存储器设备,并且可以具有比存储器1200a和1200b更大的存储容量。存储设备1300a和1300b可以包括存储控制器1310a和1310b以及在存储控制器1310a和1310b的控制下存储数据的非易失性存储器(NVM)1320a和1320b。非易失性存储器1320a和1320b可以包括具有二维(2D)结构或三维(3D)竖直NAND(V-NAND)结构的闪存,或者可以包括其他类型的非易失性存储器,例如,PRAM和/或RRAM。
存储设备1300a和1300b可以在与主处理器1100物理分开的状态下被包括在系统1000中,或者可以实现在与主处理器1100相同的封装中。此外,因为存储设备1300a和1300b可以具有与固态设备(SSD)或存储卡相同的形状,所以存储设备1300a和1300b可以通过诸如下面描述的连接接口1480的接口被耦接以可拆卸地附接到系统1000的其他组件。存储设备1300a和1300b可以是应用了诸如通用闪存(UFS)、嵌入式多媒体卡(eMMC)或非易失性存储器快速(NVMe)的标准协议的设备,但不必限于此。存储设备1300a和1300b可以被控制,并且可以包括如之前结合图1至图10所描述的各种组件。
图像捕捉设备1410可以捕捉静止图像或运动图像,并且可以包括例如相机、摄像机和/或网络摄像头。用户输入设备1420可以从系统1000的用户接收各种类型的数据输入,并且可以包括例如触摸板、小键盘、键盘、鼠标和/或麦克风。传感器1430可以检测可从系统1000的外部获得的各种类型的物理量,并将检测的物理量转换为电信号。传感器1430可以包括例如温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器。通信设备1440可以根据各种通信协议向系统1000外部的其他设备发送/从系统1000外部的其他设备接收信号。通信设备1440可以实现为包括例如天线、收发器和/或调制解调器。
显示器1450和扬声器1460可以用作分别向系统1000的用户输出视觉信息和听觉信息的输出设备。电源设备1470可以适当地转换从系统1000中内置的电池(未示出)以及/或者外部电源供应的电力,并将电力供应给系统1000的组件中的每一个。连接接口1480可以提供系统1000与外部设备之间的连接,该外部设备可以连接到系统1000以与系统1000交换数据。连接接口1480可以以各种接口方法实现,例如高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、PCI快速(PCIe)、NVMe、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、eMMC、UFS、嵌入式通用闪存(eUFS)和/或紧凑型闪存(CF)卡接口。
图12是示出了根据本发明构思的另一实施例的存储系统的框图。
参考图12,主机存储系统2000可以包括主机2100和存储设备2200。此外,存储设备2200可以包括存储控制器2210和非易失性存储器件(NVM)2220。此外,根据本发明构思的实施例,主机2100可以包括主机控制器2110和主机存储器2120。主机存储器2120可以用作用于临时存储要发送到存储设备2200的数据或从存储设备2200接收的数据的缓冲存储器。
存储设备2200可以包括用于根据来自主机2100的请求来存储数据的存储介质。例如,存储设备2200可以包括固态驱动器(SSD)、嵌入式存储器和可移动外部存储器中的至少一种。当存储设备2200为SSD时,存储设备2200可以是符合NVMe标准的设备。当存储设备2200为嵌入式存储器或外部存储器时,存储设备2200可以是符合UFS或eMMC标准的设备。主机2100和存储设备2200可以各自根据所采用的标准协议生成分组,并发送该分组。主机2100和存储设备2200可以操作,并可以包括如之前结合图1-图10所描述的各种组件。
当存储设备2200的非易失性存储器2220包括闪存时,该闪存可以包括2D NAND存储阵列或3D(或竖直)NAND(VNAND)存储阵列。作为另一示例,存储设备2200可以包括各种其他类型的非易失性存储器。例如,存储设备2200可以包括磁RAM(MRAM)、自旋转移矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻存储器(电阻RAM)和各种其他类型的存储器。
根据实施例,主机控制器2110和主机存储器2120可以被实现为单独的半导体芯片。备选地,在一些实施例中,主机控制器2110和主机存储器2120可以被集成在相同的半导体芯片中。作为示例,主机控制器2110可以是应用处理器中设置的多个模块中的任何一个,并且应用处理器可以实现为片上系统(SoC)。此外,主机存储器2120可以是设置在应用处理器中的嵌入式存储器,或者可以是非易失性存储器或布置在应用处理器外部的存储器模块。
主机控制器2110可以管理将主机存储器2120的缓冲区的数据(例如,写入数据)存储在非易失性存储器2220中的操作或者将非易失性存储器2220的数据(例如,读取数据)存储在缓冲区中的操作。
存储控制器2210可以包括主机接口2211、存储器接口2212和中央处理单元(CPU)2213。此外,存储控制器2210还可以包括闪存转换层(FTL)2214、分组管理器2215、缓冲存储器2216、纠错码(ECC)引擎2217和高级加密标准(AES)引擎2218。存储控制器2210还可以包括加载FTL2214的工作存储器(未示出),并且CPU 2213可以执行闪存转换层以控制对非易失性存储器2220的写入操作和读取操作。
主机接口2211可以向主机2100发送分组/从主机2100接收分组。从主机2100发送到主机接口2211的分组可以包括例如要存储在非易失性存储器2220中的命令或数据,并且从主机接口2211发送到主机2100的分组可以包括例如对从非易失性存储器2220读取的命令或数据的响应。存储器接口2212可以将要存储在非易失性存储器2220中的数据发送到非易失性存储器2220或接收从非易失性存储器2220读取的数据。存储器接口2212可以实现为符合诸如切换(Toggle)或开放式NAND闪存接口(ONFI)的标准协议。
FTL 2214可以执行诸如地址映射、磨损均衡和垃圾收集的各种功能。地址映射可以是将从主机2100接收的逻辑地址改变为用于将数据实际存储在非易失性存储器2220中的物理地址的操作。磨损均衡可以是通过允许非易失性存储器2220中的块被统一使用来防止特定块过度劣化的技术,并且可以通过例如用于平衡物理块的擦除计数的固件技术来实现。垃圾收集可以是通过将块的有效数据复制到新块并然后擦除现有块来确保非易失性存储器2220中的可用容量的技术。
分组管理器2215可以根据与主机2100协商的接口的协议生成分组,或从主机2100所接收的分组中解析各种信息。此外,缓冲存储器2216可以临时存储要存储在非易失性存储器2220中的数据或要从非易失性存储器2220读取的数据。缓冲存储器2216可以设置在存储控制器2210中,或者可以布置在存储控制器2210的外部。
ECC引擎2217可以对从非易失性存储器2220读取的读取数据执行错误检测和纠正功能。更具体地,ECC引擎2217可以生成要存储在非易失性存储器2220中的写入数据的奇偶校验位,并且所生成的奇偶校验位可以与写入数据一起被存储在非易失性存储器2220中。当从非易失性存储器2220读取数据时,ECC引擎2217可以通过使用从非易失性存储器2220读取的奇偶校验位连同读取数据来纠正读取数据中的错误,并输出纠错后的读取数据。
AES引擎2218可以通过使用对称密钥算法对输入到存储控制器2210中的数据执行加密操作和解密操作中的至少一种。
图13是示出了根据本发明构思的实施例的存储器系统的框图。
参考图13,存储器系统3000可以包括存储器件3200和存储器控制器3100。存储器件3200可以对应于基于多个通道之一与存储器控制器3100进行通信的非易失性存储设备之一。存储器控制器3100和存储器设备3200可以操作,并且可以包括之前结合图1至图10描述的各种组件。
存储器件3200可以包括第一引脚P11至第八引脚P18、存储器接口电路3210、控制逻辑电路3220和存储单元阵列3230。存储器接口电路3210可以通过第一引脚P11从存储器控制器3100接收芯片使能信号nCE。存储器接口电路3210可以根据芯片使能信号nCE,通过第二引脚P12至第八引脚P18向存储器控制器3100发送信号或从存储器控制器3100接收信号。例如,当芯片使能信号nCE处于使能状态(例如,处于低电平)时,存储器接口电路3310可以通过第二引脚P12至第八引脚P18向存储器控制器3100发送/从存储器控制器3100接收信号。
存储器接口电路3210可以通过第二引脚P12至第四引脚P14,从存储器控制器3100接收命令锁存使能信号CLE、地址锁存使能信号ALE和写入使能信号nWE。通过第七引脚P17,存储器接口电路3210可以从存储器控制器3100接收数据信号DQ或者将数据信号DQ发送到存储器控制器3100。命令CMD、地址ADDR和数据DATA可以通过数据信号DQ发送。例如,数据信号DQ可以通过多条数据信号线发送。在这种情况下,第七引脚P17可以包括对应于多个数据信号的多个引脚。
存储器接口电路3210可以基于写入使能信号nWE的切换定时而根据数据信号DQ获得命令CMD,该命令CMD是在命令锁存使能信号CLE的使能时段(例如,高电平状态)中接收的。存储器接口电路3210可以基于写入使能信号nWE的切换定时而根据数据信号DQ获得地址ADDR,该地址ADDR是在地址锁存使能信号ALE的使能时段(例如,高电平状态)中接收的。
在实施例中,写入使能信号nWE在保持静态(例如,高电平或低电平)的同时可以在高电平与低电平之间进行切换。例如,写入使能信号nWE可以在发送命令CMD或地址ADDR的时段中切换。因此,存储器接口电路3210可以基于写入使能信号nWE的切换定时,获得命令CMD或地址ADDR。
存储器接口电路3210可以通过第五引脚P15从存储器控制器3100接收读取使能信号nRE。通过第六引脚P16,存储器接口电路3210可以从存储器控制器3100接收数据选通信号DQS或者将数据选通信号DQS发送到存储器控制器3100。
在存储器设备3200的数据(DATA)输出操作中,存储器接口电路3210可以在输出数据DATA之前通过第五引脚P15接收切换读取使能信号nRE。存储器接口电路3210可以基于读取使能信号nRE的切换生成切换数据选通信号DQS。例如,存储器接口电路3210可以生成数据选通信号DQS,该数据选通信号DQS相对于读取使能信号nRE的切换开始时间,在预定延迟(例如,tDQSRE)之后开始切换。存储器接口电路3210可以基于数据选通信号DQS的切换定时,发送包括数据DATA的数据信号DQ。因此,数据DATA可以与数据选通信号DQS的切换定时对齐地发送到存储器控制器3100。
在存储器件3200的数据(DATA)输入操作中,当从存储器控制器3100接收到包括数据DATA的数据信号DQ时,存储器接口电路3210可以从存储器控制器3100接收切换的数据选通信号DQS和数据DATA。存储器接口电路3210可以基于数据选通信号DQS的切换定时从数据信号DQ获得数据DATA。例如,存储器接口电路3210可以通过在数据选通信号DQS的上升沿和下降沿对数据信号DQ进行采样来获得数据DATA。
存储器接口电路3210可以通过第八引脚P18将就绪/繁忙输出信号nR/B发送到存储器控制器3100。存储器接口电路3210可以通过就绪/繁忙输出信号nR/B,将存储器件3200的状态信息发送到存储器控制器3100。当存储器件3200处于繁忙状态时(即,当正在执行存储器件3200的内部操作时),存储器接口电路3210可以将指示繁忙状态的就绪/繁忙输出信号nR/B发送到存储器控制器3100。当存储器件3200处于就绪状态时(即,当不在执行存储器件3200的内部操作或已完成内部操作时),存储器接口电路3210可以将指示就绪状态的就绪/繁忙输出信号nR/B发送到存储器控制器3100。例如,当存储器件3200响应于页面读取命令从存储单元阵列3230读取数据DATA时,存储器接口电路3210可以将表示繁忙状态的就绪/繁忙输出信号nR/B(例如,低电平)发送到存储器控制器31 00。例如,当存储器件3200响应于编程命令从存储单元阵列3230读取数据DATA时,存储器接口电路3210可以将表示繁忙状态的就绪/繁忙输出信号nR/B发送到存储器控制器3100。
控制逻辑电路3220通常可以控制存储器件3200的各种操作。控制逻辑电路3220可以接收从存储器接口电路3210获得的命令/地址CMD/ADDR。控制逻辑电路3220可以根据接收到的命令CMD/地址ADDR生成用于控制存储器件3200的其他组件的控制信号。例如,控制逻辑电路3220可以生成各种控制信号,用于将数据DATA编程到存储单元阵列3230中或从存储单元阵列3230读取数据DATA。
存储单元阵列3230可以在控制逻辑电路3220的控制下存储从存储器接口电路3210获得的数据DATA。存储单元阵列3230可以在控制逻辑电路3220的控制下将存储的数据DATA输出到存储器接口电路3210。
存储单元阵列3230可以包括多个存储单元。例如,多个存储单元可以是闪存单元。然而,本发明构思不限于此,并且存储单元包括电阻随机存取存储器(RRAM)单元、铁电随机存取存储器(FRAM)单元、相变随机存取存储器(PRAM)单元、晶闸管随机存取存储器(TRAM))单元和/或磁随机存取存储器(MRAM)单元。在下文中,将集中于存储单元包括NAND闪存单元的实施例来描述本发明构思的实施例。
存储器控制器3100可以包括第一引脚P21至第八引脚P28以及控制器接口电路3110。第一引脚P21至第八引脚P28可以与存储器件3200的第一引脚P11至第八引脚P18相对应。控制器接口电路3110可以通过第一引脚P21将芯片使能信号nCE发送到存储器件3200。通过第二引脚P22至第八引脚P28,控制器接口电路3110可以向通过芯片使能信号nCE选择的存储器件3200发送/从通过芯片使能信号nCE选择的存储器件3200接收信号。
控制器接口电路3110可以通过第二引脚P22至第四引脚P24将命令锁存使能信号CLE、地址锁存使能信号ALE和写入使能信号nWE发送到存储器件3200。通过第七引脚P27,控制器接口电路3110可以将数据信号DQ发送到存储器件3200或从存储器件3200接收数据信号DQ。
控制器接口电路3110可以将包括命令CMD或地址ADDR的数据信号DQ和切换写入使能信号nWE一起发送到存储器件3200。控制器接口电路3110可以根据具有使能状态的命令锁存使能信号CLE的发送而将包括命令CMD的数据信号DQ发送存储器件3200,并且可以根据具有使能状态的地址锁存使能信号ALE的发送而将包括地址ADDR的数据信号DQ发送到存储器件3200。
控制器接口电路3110可以通过第五引脚P25,将读取使能信号nRE发送到存储器件3200。通过第六引脚P26,控制器接口电路3110可以从存储器件3200接收数据选通信号DQS或者将数据选通信号DQS发送到存储器件3200。
在存储器件3200的数据(DATA)输出操作中,控制器接口电路3110可以生成切换读取使能信号nRE,并将读取使能信号nRE发送到存储器件3200。例如,控制器接口电路3110可以在数据DATA被输出之前生成从固定状态(例如,高电平或低电平)改变为切换状态的读取使能信号nRE。因此,可以基于读取使能信号nRE在存储器件3200中生成切换数据选通信号DQS。控制器接口电路3110可以从存储器件3200接收包括数据DATA的数据信号DQ以及切换数据选通信号DQS。控制器接口3110可以基于数据选通信号DQS的切换定时从数据信号DQ获得数据DATA。
在存储器件3200的数据(DATA)输入操作中,控制器接口电路3110可以生成切换数据选通信号DQS。例如,控制器接口电路3110可以在数据DATA被发送之前生成从固定状态(例如,高电平或低电平)改变为切换状态的数据选通信号DQS。控制器接口电路3110可以基于数据选通信号DQS的切换定时,将包括数据DATA的数据信号DQ发送到存储器件3200。控制器接口电路3110可以通过第八引脚P28从存储器件3200接收就绪/繁忙输出信号nR/B。控制器接口电路3110可以基于就绪/繁忙输出信号nR/B,确定存储器件3200的状态信息。
图14是用于描述根据本发明构思的实施例的3D VNAND结构的图。
参考图14,当非易失性存储器实现为3D竖直NAND(VNAND)型闪存时,构成存储模块的多个存储块中的每一个可以表示为图14所示的等效电路。存储块BLKi可以表示以3D结构形成在衬底上的3D存储块。例如,包括在存储器块BLKi中的多个存储器NAND串可以形成在垂直于衬底的方向上。
存储器块BLKi可以包括连接在位线BL1、BL2和BL3与公共源极线CSL之间的多个存储器NAND串NS11至NS33。多个存储器NAND串NS11至NS33中的每一个可以包括串选择晶体管SST、多个存储单元MC1、MC2...MC8和地选择晶体管GST。尽管图14示出了多个存储器NAND串NS11至NS33中的每一个包括八个存储单元(MC1、MC2...MC8),但是本发明构思不必限于此。
串选择晶体管SST可以连接到相应的串选择线SSL1、SSL2和SSL3。多个存储器单元MC1、MC2...MC8可以分别连接到相应的栅极线GTL1、GTL2...GTL8。栅极线GTL1、GTL2...GTL8可以对应于字线,并且栅极线GTL1、GTL2...和GTL8中的一些可以对应于虚设字线。地选择晶体管GST可以连接到相应的地选择线GSL1、GSL2和GSL3。串选择晶体管SST可以连接到相应的位线BL1、BL2和BL3,地选择晶体管GST可以连接到公共源极线CSL。
相同高度的字线(例如,WL1)可以共同连接,并且地选择线GSL1、GSL2和GSL3与串选择线SSL1、SSL2和SSL3可以彼此分开。虽然图14示出了存储块BLKi连接到八个栅极线(GTL1、GTL2...GTL18)和三个位线(BL1、BL2和BL3),但是本发明构思不必限于此。图14的非易失性存储器可以用作图1的非易失性存储器130、图11的闪存1320a和/或1320b、图12的NVM 2220或图13的存储单元阵列3230。
图15是用于描述根据本发明构思的实施例的BVNAND结构的图。
参考图15,当非易失性存储器实现为接合竖直NAND(BVNAND)型闪存时,非易失性存储器可以具有图15所示的结构。图15的非易失性存储器可以用作图1的非易失性存储器130、图11的闪存1320a和/或1320b、图12的NVM 2220或图13的存储单元阵列3230,并且可以用于实现图14的非易失性存储器。
存储器件4000可以具有芯片到芯片(C2C)结构。对于C2C结构,包括单元区CELL的上芯片可以制造在第一晶片的上方,包括外围电路区PERI的下芯片可以制造在不同于第一晶片的第二晶片的上方,并且然后上芯片和下芯片可以通过接合方法彼此连接。例如,接合方法可以指将形成在上芯片的最上方金属层中的接合金属电连接到形成在下芯片的最上方金属层中的接合金属的方法。例如,当接合金属由铜(Cu)形成时,接合方法可以是Cu-Cu接合方法,并且接合金属也可以由铝或钨形成。
存储器件4000的外围电路区PERI和单元区CELL中的每一个可以包括外部焊盘接合区PA、字线接合区WLBA和位线接合区BLBA。
外围电路区PERI可以包括:第一衬底4110;层间绝缘层4115;在第一衬底4110中形成的多个电路元件4120a、4120b和4120c;分别连接到电路元件4120a、4120b和4120c的第一金属层4130a、4130b和4130c;以及形成在第一金属层4130a、4130b和4130c上方的第二金属层4140a、4140b和4140c。在实施例中,第一金属层4130a、4130b和4130c可以由具有相对高电阻的钨形成,而第二金属层4140a、4140b和4140c可以由具有相对较低电阻的铜形成。
本文中,仅示出和描述了第一金属层4130a、4130b和4130c以及第二金属层4140a、4140b和4140c;然而,本发明构思不限于此,并且至少一个或多个金属层可以还形成在第二金属层4140a、4140b和4140c的上方。形成在第二金属层4140a、4140b和4140c上方的一个或多个金属层中的至少一些可以由电阻低于形成第二金属层4140a、4140b和4140c的铜的铝等形成。
层间绝缘层4115可以布置在第一衬底4110上方以覆盖多个电路元件4120a、4120b和4120c、第一金属层4130a、4130b和4130c、以及第二金属层4140a、4140b和4140c,并且可以包括诸如氧化硅或氮化硅的绝缘材料。
下接合金属4171b和4172b可以形成在字线接合区WLBA的第二金属层4140b的上方。在字线接合区WLBA中,外围电路区PERI的下接合金属4171b和4172b可以通过接合方法电连接到单元区CELL的上接合金属4271b和4272b,并且下接合金属4171b和4172b以及上接合金属4271b和4272b可以由铝、铜、钨等形成。
单元区CELL可以设置至少一个存储器块。单元区CELL可以包括第二衬底4210和公共源极线4220。在第二衬底4210的上方,多条字线4230(例如,4231至4238)可以在垂直于第二衬底4210的顶面的方向(Z轴方向)上堆叠。串选择线和地选择线可以分别布置在字线4230的上方和下方,并且多条字线4230可以布置在串选择线与地选择线之间。
在位线接合区BLBA中,沟道结构CHS可以沿与第二衬底4210的顶表面垂直的方向延伸,以穿过字线4230、串选择线和地选择线。沟道结构CHS可以包括数据存储层、沟道层和掩埋绝缘层,并且沟道层可以电连接到第一金属层4250c和第二金属层4260c。例如,第一金属层4250c可以是位线接触部,而第二金属层4260c可以是位线。在实施例中,位线4260c可以沿平行于第二衬底4210的顶表面的第一方向(Y轴方向)延伸。
布置有沟道结构CHS和位线4260c的区域可以被定义为位线接合区BLBA。位线4260c可以在位线接合区BLBA中与外围电路区PERI中提供页缓冲器4293的电路元件4120c电连接。例如,位线4260c可以与外围电路区PERI中的上接合金属4271c和4272c连接,而上接合金属4271c和4272c可以与下接合金属4171c和4172c连接,该下接合金属4171c和4172与页缓冲器4293的电路元件4120c连接。
在字线接合区WLBA中,字线4230可以沿平行于第二衬底4210的顶表面的第二方向(X轴方向)延伸,并且可以连接到多个单元接触插塞4240(4241至4247)。字线4230和单元接触插塞4240可以在焊盘处彼此连接,该焊盘由沿第二方向延伸不同长度的字线4230中的至少一些提供。第一金属层4250b和第二金属层4260b可以顺序连接到与字线4230相连的单元接触插塞4240的上部。单元接触插塞4240可以在字线接合区WLBA中通过单元区CELL的上接合金属4271b和4272b以及外围电路区PERI的下接合金属4171b和4172b连接到外围电路区PERI。
单元接触插塞4240可以与外围电路区PERI中提供行解码器4294的电路元件4120b电连接。在实施例中,提供行解码器4294的电路元件4120b的工作电压可以不同于提供页缓冲器4293的电路元件4120c的工作电压。例如,提供页缓冲器4293的电路元件4120c的工作电压可以大于提供行解码器4294的电路元件4120b的工作电压。
公共源极线接触插塞4280可以布置在外部焊盘接合区PA中。公共源极线接触插塞4280可以包括诸如金属、金属化合物或多晶硅的导电材料,并且可以电连接到公共源极线4220。第一金属层4250a和第二金属层4260a可以顺序堆叠在共源极线接触插塞4280的上方。例如,其中布置有共源极线接触插塞4280、第一金属层4250a和第二金属层4260a的区域可以被定义为外部焊盘接合区PA。
此外,输入/输出焊盘4105和4205可以布置在外部焊盘接合区PA中。覆盖第一衬底4110的底面的下绝缘层4101可以形成在第一衬底4110的下方,而第一输入/输出焊盘4105可以形成在下绝缘层4101的上方。第一输入/输出焊盘4105可以通过第一输入/输出接触插塞4103与布置在外围电路区PERI中的多个电路元件4120a、4120b和4120c中的至少一个连接,并且可以通过下绝缘层4101与第一衬底4110分开。此外,侧绝缘层可以布置在第一输入/输出接触插塞4103与第一衬底4110之间,以将第一输入/输出接触插塞4103与第一衬底4110电分开。
覆盖第二衬底4210的顶表面的上绝缘层4201可以形成在第二衬底4210的上方,并且第二输入/输出焊盘4205可以布置在上绝缘层4201的上方。第二输入/输出焊盘4205可以通过第二输入/输出接触插塞4203与布置在外围电路区PERI中的多个电路元件4120a、4120b和4120c中的至少一个连接。
在一些实施例中,第二衬底4210和公共源极线4220可以不布置在其中布置有第二输入/输出接触插塞4203的区域中。此外,第二输入/输出焊盘4205可以在第三方向(Z轴方向)上不与字线4230重叠。第二输入/输出接触插塞4203可以在与第二衬底4210的顶面平行的方向上与第二衬底4210分开,并且可以通过单元区CELL的层间绝缘层4215连接到第二输入/输出焊盘4205。
在一些实施例中,可以选择性地形成第一输入/输出焊盘4105和第二输入/输出焊盘4205。例如,存储器件4000可以仅包括布置在第一衬底4110上方的第一输入/输出焊盘4105,或可以仅包括布置在第二衬底4210上方的第二输入/输出焊盘4205。备选地,存储器件4000可以包括第一输入/输出焊盘4105和第二输入/输出焊盘4205。
在分别包括在单元区CELL和外围电路区PERI中的外部焊盘接合区PA和位线接合区BLBA中的每一个中,最上方金属层的金属图案可以存在为虚设图案,或者最上方金属层可以是空的。
在存储器件4000的外部焊盘接合区PA中,对应于形成在单元区CELL的最上方金属层中的上金属图案4272a,具有与上金属图案4272a相同形状的下金属图案4176a可以形成在外围电路区PERI的最上方金属层中。形成在外围电路区PERI的最上方金属层中的下金属图案4176a可以不连接到外围电路区PERI中的单独接触部。类似地,在外部焊盘接合区PA中,对应于形成在外围电路区PERI的最上方金属层中的下金属图案,具有与外围电路区PERI的下金属图案相同形状的上金属图案可以形成在单元区CELL的上金属层中。
下接合金属4171b和4172b可以形成在字线接合区WLBA的第二金属层4140b的上方。在字线接合区WLBA中,外围电路区PERI的下接合金属4171b和4172b可以通过接合方法电连接到单元区CELL的上接合金属4271b和4272b。
此外,在位线接合区PABA中,与形成在外围电路区PERI的最上方金属层中的下金属图案4152相对应,具有与外围电路区PERI的下金属图案4152的形状相同的形状的上金属图案4292可以形成在单元区CELL的最上方金属层中。可以不在形成于单元区CELL的最上方金属层中的上金属图案4292上方形成接触部。
尽管已经参考本发明构思的实施例具体示出和描述了本发明构思,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
如在所公开的技术领域中通常的做法,以功能块、单元和/或模块来描述并在附图中示出特征和实施例。本领域技术人员将理解,这些块、单元和/或模块通过诸如逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接等的电子(或光学)电路物理地实现,其中所述电子(或光学)电路可以使用基于半导体的制造技术或其他制造技术来形成。在块、单元和/或模块由微处理器等实现的情况下,它们可以使用软件(例如,微代码)来编程以执行本文讨论的各种功能,并且可以备选地由固件和/或软件驱动。备选地,每个块、单元和/或模块可以通过专用硬件实现或实现为执行一些功能的专用硬件和执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。此外,在不脱离本发明构思的范围的情况下,实施例的每个块、单元和/或模块可以物理地分成两个或更多个交互和分立的块、单元和/或模块。此外,在不脱离本发明构思的范围的情况下,实施例的块、单元和/或模块可以物理地组合成更复杂的块、单元和/或模块。

Claims (20)

1.一种包括多个组件的存储设备,包括:
存储控制器,被配置为从主机接收获取日志页命令并根据所述获取日志页命令向所述主机发送关于从多个组件的各个上下文中选择的至少一个上下文但不是所有上下文的日志数据;以及
存储器,被配置为存储所述日志数据,
其中,所述获取日志页命令包括用于从所述多个组件中选择至少一个组件的选择信息。
2.根据权利要求1所述的存储设备,其中,所述存储控制器包括:
上下文选择模块,被配置为基于所述选择信息选择所述至少一个上下文,并生成关于所选上下文的上下文信息;
日志生成模块,被配置为基于所述上下文信息生成所述日志数据,并控制所述存储器存储所述日志数据;以及
发送模块,被配置为向所述主机发送所述日志数据。
3.根据权利要求2所述的存储设备,还包括:数据格式改变模块,所述数据格式改变模块被配置为:对所述日志数据进行处理以将所述日志数据转换为人类可读格式的数据,并输出经处理的日志数据,
其中,所述发送模块还被配置为向所述主机发送所述经处理的日志数据。
4.根据权利要求3所述的存储设备,其中,所述数据格式改变模块还被配置为:控制所述存储器加载在所述存储器中存储的日志数据,并将已加载的日志数据改变为所述人类可读格式的数据。
5.根据权利要求1所述的存储设备,其中,所述获取日志页命令包括数据指针、第一命令双字和第二命令双字,
所述第一命令双字包括对应于遥测主机启动指示符的位信息,以及
所述第二命令双字包括所述选择信息。
6.根据权利要求1所述的存储设备,其中,所述存储器包括易失性存储器或非易失性存储器。
7.一种包括多个组件的存储设备,所述存储设备包括:
存储器;以及
存储控制器,被配置为:检测错误事件,所述错误事件指示在所述多个组件中的至少一个组件中已经发生错误;响应于所述错误事件,生成关于所述至少一个组件的多个上下文中的至少一个上下文的日志数据;以及控制存储器存储所述日志数据,所述日志数据由多个上下文中的至少一个上下文组成,而不是由多个上下文中的全部上下文组成。
8.根据权利要求7所述的存储设备,其中,所述存储控制器还被配置为:
向主机发送异步事件请求信号;
从所述主机接收获取日志页命令;
响应于所述获取日志页命令,对所述日志数据进行处理以将所述日志数据转换为人类可读格式的数据;以及
向所述主机发送经处理的日志数据。
9.根据权利要求8所述的存储设备,其中,所述获取日志页命令包括用于选择所述至少一个组件的选择信息。
10.根据权利要求9所述的存储设备,其中:
所述获取日志页命令包括数据指针、第一命令双字和第二命令双字,
所述第一命令双字包括对应于遥测控制器启动指示符的位信息,以及
所述第二命令双字包括所述选择信息。
11.根据权利要求8所述的存储设备,其中,所述存储控制器包括:
上下文选择模块,被配置为响应于所述错误事件而生成关于所述至少一个上下文的上下文信息;
日志生成模块,被配置为基于所述上下文信息生成所述日志数据,并控制所述存储器存储所述日志数据;以及
发送模块,被配置为向所述主机发送所述异步事件请求信号。
12.根据权利要求11所述的存储设备,还包括:数据格式改变模块,所述数据格式改变模块被配置为响应于所述获取日志页命令来控制所述存储器加载所述日志数据,并将已加载的日志数据转换为所述人类可读格式的数据,
其中,所述发送模块还被配置为向所述主机发送被转换为所述人类可读格式的数据的日志数据。
13.根据权利要求7所述的存储设备,其中,所述存储器包括易失性存储器或非易失性存储器。
14.一种包括多个组件的存储设备的操作方法,所述操作方法包括:
检测错误事件的检测操作,所述错误事件指示在所述多个组件中的至少一个组件中已经发生错误;
响应于所述错误事件而生成关于所述至少一个组件的子上下文的日志数据的生成操作;以及
存储所述日志数据的存储操作。
15.根据权利要求14所述的操作方法,还包括:
在所述存储操作之后向主机发送异步事件请求信号的请求发送操作;
从所述主机接收获取日志页命令的接收操作;以及
响应于所述获取日志页命令而向所述主机发送所述日志数据的数据发送操作。
16.根据权利要求15所述的操作方法,还包括:在所述接收操作之后对已存储的日志数据进行处理以将所述已存储的日志数据转换为人类可读格式的数据的处理操作,其中,所述数据发送操作包括向所述主机发送经处理的日志数据。
17.根据权利要求16所述的操作方法,其中,所述人类可读格式包括JavaScript对象表示法JSON、可扩展标记语言XML和字符分隔值CVS中的至少一种。
18.根据权利要求15所述的操作方法,其中,所述获取日志页命令包括用于选择所述至少一个组件的选择信息。
19.根据权利要求18所述的操作方法,其中:
所述获取日志页命令包括数据指针、第一命令双字和第二命令双字,
所述第一命令双字包括对应于遥测控制器启动指示符的位信息,以及
所述第二命令双字包括所述选择信息。
20.根据权利要求14所述的操作方法,其中:
所述存储设备包括易失性存储器或非易失性存储器,以及
所述存储操作包括将所述日志数据存储在所述易失性存储器或所述非易失性存储器中。
CN202210683097.5A 2021-09-01 2022-06-15 存储设备及其操作方法 Pending CN115729734A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0116505 2021-09-01
KR1020210116505A KR20230033485A (ko) 2021-09-01 2021-09-01 저장 장치 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
CN115729734A true CN115729734A (zh) 2023-03-03

Family

ID=81580263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210683097.5A Pending CN115729734A (zh) 2021-09-01 2022-06-15 存储设备及其操作方法

Country Status (5)

Country Link
US (1) US20230069623A1 (zh)
EP (1) EP4145289A1 (zh)
KR (1) KR20230033485A (zh)
CN (1) CN115729734A (zh)
TW (1) TW202311941A (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120260138A1 (en) * 2011-04-05 2012-10-11 Downing Iii Robert L Error logging in a storage device
US9672091B2 (en) * 2015-11-10 2017-06-06 Samsung Electronics Co., Ltd. Storage device and debugging method thereof
US9946592B2 (en) * 2016-02-12 2018-04-17 International Business Machines Corporation Dump data collection management for a storage area network
KR102384773B1 (ko) * 2017-10-12 2022-04-11 삼성전자주식회사 스토리지 장치, 컴퓨팅 시스템, 그리고 그것의 디버깅 방법
SG11202106847SA (en) 2019-01-04 2021-07-29 Kineta Chronic Pain Llc Conotoxin peptide analogs and uses for the treatment of pain and inflammatory conditions
US20210182166A1 (en) * 2019-12-12 2021-06-17 Western Digital Technologies, Inc. Zoned namespace management of non-volatile storage devices
US11392480B2 (en) * 2019-12-19 2022-07-19 Jpmorgan Chase Bank, N.A. System and method for implementing a log file processing module
US11436072B2 (en) * 2020-02-27 2022-09-06 Hewlett Packard Enterprise Development Lp System and method for collecting contextual log files from a computing system

Also Published As

Publication number Publication date
KR20230033485A (ko) 2023-03-08
US20230069623A1 (en) 2023-03-02
EP4145289A1 (en) 2023-03-08
TW202311941A (zh) 2023-03-16

Similar Documents

Publication Publication Date Title
US9905314B2 (en) Storage module and method for datapath bypass
KR20190041331A (ko) 스토리지 장치, 컴퓨팅 시스템, 그리고 그것의 디버깅 방법
CN110383250B (zh) 配置为使用无线接口执行操作的数据存储设备
CN106339178B (zh) 存储器控制单元及包括该存储器控制单元的数据存储设备
CN109407966B (zh) 数据存储装置及其操作方法
US10635350B2 (en) Task tail abort for queued storage tasks
CN114334686A (zh) 在多芯片封装(mcp)中实现的存储设备的测试方法和包括测试方法的制造mcp的方法
KR20220043821A (ko) 멀티-칩 패키지로 구현된 스토리지 장치의 테스트 방법
KR102469098B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
EP4180977A1 (en) Parameter change command for storage device interface tuning
EP4145289A1 (en) Storage device and operating method thereof
CN115963982A (zh) 存储装置及电子系统
US11550578B2 (en) Data storage apparatus including swap memory and operating method thereof
CN114546903A (zh) 存储装置和包括其的存储系统
CN114610522A (zh) 操作存储设备和主机设备的方法以及存储设备
US20230096408A1 (en) Storage device and operating method thereof
CN113111024A (zh) 存储装置、存储系统和及操作存储装置的方法
US11966624B2 (en) Storage device and operating method thereof
KR20220087297A (ko) 처리 코드를 실행하는 스토리지 장치 및 이의 동작 방법
KR102557992B1 (ko) 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법
EP4180937A1 (en) Memory controller, storage device, and operating method of storage device
EP4184332A1 (en) Storage controller and storage device including the same
KR20190037659A (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치
US20230393959A1 (en) Out-of-band management method for storage apparatus, baseboard management controller and storage apparatus
KR20220077400A (ko) 메모리 장치, 메모리 시스템 및 이의 동작 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication