CN113946280A - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN113946280A
CN113946280A CN202110310621.XA CN202110310621A CN113946280A CN 113946280 A CN113946280 A CN 113946280A CN 202110310621 A CN202110310621 A CN 202110310621A CN 113946280 A CN113946280 A CN 113946280A
Authority
CN
China
Prior art keywords
command
error history
memory
host
buffer
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
CN202110310621.XA
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN113946280A publication Critical patent/CN113946280A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/0709Error 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 distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/073Error 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 memory management context, e.g. virtual memory or cache management
    • 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/0751Error or fault detection not based on redundancy
    • 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/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0036Small computer system interface [SCSI]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开涉及一种存储器系统。该存储器系统包括:存储器装置;以及控制器,适于控制存储器装置并包括缓冲存储器,其中控制器响应于来自主机的记录开始命令而在缓冲存储器中执行错误历史记录,响应于来自主机的记录停止命令而停止错误历史记录,并且响应于来自主机的输出命令而向主机提供所记录的错误历史。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2020年7月17日提交的申请号为10-2020-0089028的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例涉及一种包括存储器装置的存储器系统。
背景技术
计算机环境范例已经转变为普适计算,这使得能够随时随地使用计算系统。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统没有移动部件,所以存储器系统提供了诸如优异的稳定性和耐久性、高信息访问速度以及低功耗的优点。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各个实施例涉及一种存储器系统及其操作方法,该存储器系统能够响应于来自主机的请求而记录错误历史,以便于错误分析和调试。
根据实施例,一种存储器系统包括:存储器装置;以及控制器,适于控制存储器装置,并且包括缓冲存储器,其中控制器响应于来自主机的记录开始命令而在缓冲存储器中执行错误历史记录,响应于来自主机的记录停止命令而停止错误历史记录,并且响应于来自主机的输出命令而向主机提供所记录的错误历史。
根据实施例,一种存储器系统的操作方法,包括:响应于来自主机的记录开始命令,在存储器系统中包括的缓冲存储器中执行错误历史记录;响应于来自主机的记录停止命令,停止错误历史记录;并且响应于来自主机的输出命令,向主机提供所记录的错误历史。
根据实施例,一种系统包括:主机;以及存储器系统,包括存储器装置和控制器,该控制器包括存储器,其中控制器被配置为:从主机接收第一错误历史命令;响应于第一错误历史命令而触发错误历史记录,使得将系统中发生的错误记录在存储器中,其中被记录在存储器中的每个错误与在相应错误发生时关于存储器装置的一个或多个命令的命令信息以及存储器系统的状态信息中的至少一个相关联;从主机接收第二错误历史命令;并且响应于第二错误历史命令而向主机提供错误历史。
附图说明
图1示出根据实施例的数据处理系统。
图2示出小型计算机系统接口(SCSI)命令集中包括的读取缓冲命令。
图3示出读取缓冲命令的各种模式。
图4示出错误历史命令的各种动作。
图5示出根据实施例的命令。
图6示出根据实施例的主机与存储器系统之间的事务。
图7示出根据实施例的可以被存储在历史缓冲区域中的错误历史目录。
具体实施方式
下面参照附图更详细地描述各个实施例。然而,本公开可以以不同的形式实现,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本公开透彻和完整,并且将本公开的范围充分地传达给本领域技术人员。在整个公开中,相同的附图标记在本公开的各个附图和实施例中指代相同的部件。而且,在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可以包括可操作地联接到存储器系统110的主机102。
主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种,或者诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任意一种。
主机102可以包括至少一个操作系统(OS),OS可以管理和控制主机102的全部功能和操作,并且提供主机102与使用数据处理系统100或存储器系统110的用户之间的操作。OS可以支持与用户的使用目的和用途相对应的功能和操作。例如,根据主机102的移动性,可以将OS划分为通用OS和移动OS。根据用户的环境,可以将通用OS划分为个人OS和企业OS。
存储器系统110可以响应于主机102的请求而操作以存储主机102的数据。存储器系统110的非限制性示例包括通用闪存(UFS)装置。
存储器系统110可以由各种类型的存储装置中的任意一种实现。这种存储装置的示例包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。闪速存储器可以具有三维(3D)堆叠结构。
存储器系统110可以包括控制器130和存储器装置150。存储器装置150可以存储主机102的数据,并且控制器130可以控制将数据存储到存储器装置150中。
控制器130和存储器装置150可以被集成到单个半导体装置中。例如,控制器130和存储器装置150可以被集成为一个半导体装置以构成固态驱动器(SSD)。当存储器系统110用作SSD时,可以提高连接到存储器系统110的主机102的操作速度。在另一实施例中,控制器130和存储器装置150可以被集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡,紧凑型闪存(CF)卡,智能媒体(SM)卡,记忆棒,包括缩小尺寸的MMC(RS-MMC)和微型MMC的多媒体卡(MMC),包括迷你SD卡、微型SD卡和SDHC卡的安全数字(SD)卡,或通用闪存(UFS)装置。
存储器系统110的非限制性应用示例包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一种、构成计算机网络的各种电子装置中的一种、构成远程信息处理网络的各种电子装置中的一种、射频识别(RFID)装置或构成计算系统的各种组件中的一种。
存储器装置150可以是非易失性存储器装置,并且即使没有供应电力也可以保留所存储的数据。存储器装置150可以通过编程操作存储从主机102提供的数据,并且通过读取操作将所存储的数据提供到主机102。存储器装置150可以包括多个存储块,存储块中的每一个可以包括多个页面,并且页面中的每一个可以包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可以具有三维(3D)堆叠结构。
控制器130可以响应于来自主机102的请求而控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供到主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取操作、编程操作和擦除操作。
控制器130可以包括主机接口(I/F)132、处理器134、存储器I/F142和缓冲存储器144,所有这些经由内部总线可操作地联接。
主机I/F 132可以被配置为处理来自主机102的命令和数据。主机I/F 132可以通过诸如小型计算机系统接口(SCSI)、串列SCSI(SAS)的各种接口协议中的一种或多种与主机102通信。
可以通过被称为主机接口层(HIL)的固件来驱动主机I/F 132,以便与主机102交换数据。
存储器I/F 142可以用作用于使控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求而控制存储器装置150。当存储器装置150是闪速存储器或者具体地是NAND闪速存储器时,存储器I/F 142可以在处理器134的控制下生成用于存储器装置150的控制信号,并且处理待提供到存储器装置150的数据。存储器I/F 142可以用作用于处理控制器130与存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器I/F 142可以支持控制器130和存储器装置150之间的数据传送。
可以通过被称为闪存接口层(FIL)的固件来驱动存储器I/F 142,以便与存储器装置150交换数据。
处理器134可以控制存储器系统110的全部操作。处理器134可以驱动固件以控制存储器系统110的全部操作。该固件可以被称为闪存转换层(FTL)。而且,处理器134可以被实现为微处理器或中央处理单元(CPU)。
处理器134可以驱动FTL,并且执行与从主机102接收的请求相对应的前台操作。例如,处理器134可以响应于来自主机102的写入请求而控制存储器装置150的写入操作,并且响应于来自主机102的读取请求而控制存储器装置150的读取操作。
而且,控制器130可以对存储器装置150执行后台操作。后台操作的示例包括垃圾收集(GC)操作、损耗均衡(WL)操作、映射清除操作和坏块管理操作。
缓冲存储器144可以缓冲从主机102接收的数据,或者可以缓冲待从存储器系统110提供到主机102的数据。待提供到主机102的数据可以包括错误历史。在实施例中,缓冲存储器144可以包括历史缓冲区域146,即,缓冲存储器144中可以缓冲错误历史的区域。
缓冲存储器144可以被实施为易失性存储器。例如,缓冲存储器144可以被实施为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。缓冲存储器144可以被设置在控制器130内部或外部。在图1所示的实施例中,缓冲存储器144被设置在控制器130内部。在另一实施例中,缓冲存储器144可以被实施为外部易失性存储器装置,该外部易失性存储器装置具有用于在缓冲存储器144和控制器130之间交换数据的存储器接口。
主机102可以获得与由于存储器系统110的操作期间的各种原因中的任意一种而引起的错误有关的数据,并且可以基于该数据执行调试。
例如,当在存储器系统110中检测到错误时,处理器134可以将包括存储器系统110的状态信息的错误事件记录到历史缓冲区域146中,该状态信息指示错误发生的时间。在实施例中,该状态信息可以包括与错误发生时的控制器130的寄存器值有关的信息。在一些实施方案中,该状态信息可以包括另一条信息,例如命令信息。被记录在历史缓冲区域146中的多个错误事件共同构成存储器系统110的错误历史。
使用SCSI命令集的存储器系统110可以支持错误历史命令。主机102可以通过向存储器系统110提供错误历史命令来获得与错误有关的数据。特别地,规范UFS 3.0和UFS 3.1规定存储器系统110将支持错误历史命令。
存储器系统110可以响应于来自主机102的错误历史命令而将所记录的错误历史提供到主机102。主机102可以基于该错误历史来识别错误原因,并且可以执行调试。
如果处理器134仅将指示错误发生的时间的状态信息记录为错误历史,则主机102仅可以基于该错误历史来识别存储器系统110中发生错误的原因,该错误历史可能不总是准确的或最新的。
例如,即使当存储器系统110响应于一个命令而执行操作时,存储器系统110的状态也可能改变。因此,根据处理器134检测到错误的时间,被记录到历史缓冲区域146中的状态信息可能不同。此外,存储器系统110中的在检测到错误之前的内部操作信息可能未被记录到历史缓冲区域146中。因此,尽管主机102从存储器系统110获得错误历史,但是主机102一般难以检查存储器系统110的内部操作,并且难以执行调试。
因此,需要一种能够由主机102获得期望时间窗口内的期望信息的方法,该期望信息不限于指示错误发生的时间的状态信息。
例如,除了指示错误发生的时间的状态信息之外,还可以期望主机102能够获得从控制器130提供到存储器装置150的命令信息。
根据实施例,主机102可以通过向存储器系统110提供第一命令来控制处理器134以在缓冲存储器144的历史缓冲区域146中开始命令信息记录,并且可以通过向存储器系统110提供第二命令来控制处理器134以停止该命令信息记录。处理器134可以记录在通过从主机102接收到第一和第二命令而确定的时间窗口内的命令信息。主机102可以通过向存储器系统110提供第三命令来获得被记录到历史缓冲区域146中的命令信息。
命令信息可以是与状态信息的错误历史不同的错误历史。也就是说,在实施例中,错误历史可以包括状态类型信息错误历史和命令类型信息错误历史。
可以基于SCSI命令集来实施第一至第三命令。如果基于SCSI命令集来实施第一至第三命令,则与将第一至第三命令实施为供应商专用命令的情况相比,可以降低控制器130的这种实施的复杂性。
在下文中,参照图2至图4描述SCSI命令集。参照图5描述根据一些实施例的基于SCSI命令集实施的命令。
图2示出第一表200,第一表200描述了SCSI命令集中包括的读取缓冲命令。
参照图2,第一表200示出读取缓冲命令的命令描述符块(CDB)。读取缓冲命令可以被配置为具有10字节数据,并且可以包括诸如以下的数据:操作代码“3ch”、模式、缓冲标识符(ID)、缓冲偏移、分配长度和控制代码“00h”。
存储器系统110可以响应于来自主机102的读取缓冲命令,从缓冲存储器144内的设置偏移向主机102的缓冲器提供设置数量的数据字节。
主机102可以通过设置被提供到存储器系统110的读取缓冲命令的模式值来指定存储器系统110的数据模式或错误历史模式。
图3示出第二表300,第二表300描述了读取缓冲命令的各种模式。
参照图3,第二表300指示读取缓冲命令的模式值。模式值“00h”和“03h-1Bh”可以不用于UFS存储器系统。模式值“01h”可以指示供应商专用模式。模式值“02h”可以指定数据模式。模式值“1Ch”可以指示错误历史模式。“1Dh-1Fh”可以是当前未用于指定任何(多个)模式的保留模式值。
具有被设置为“1Ch”的模式值的读取缓冲命令可以被表示为错误历史命令。
图4示出第三表400,第三表400描述了错误历史命令的各种动作。
参照图4,主机102可以通过设置图2中的错误历史命令的缓冲ID值来指定待由存储器系统110执行的动作以及待由存储器系统110返回的数据。
例如,缓冲ID值“00h”可以指示应当返回缓冲存储器144中缓冲的错误历史目录。错误历史目录可以包括多个目录条目。目录条目中的每一个可以包括错误历史。“10h-EFh”可以指示仅应当返回错误历史目录中所选择的目录条目的错误历史。
缓冲ID值“01h-03h”和“FEh-FFh”可以不用于UFS存储器系统。缓冲ID值“04h-0Fh”和“F0h-FDh”可以是当前未指定任何动作而保留的值。图4所示的虚线指示所保留的缓冲ID值。
根据实施例,存储器系统110可以支持记录开始命令、记录停止命令和输出命令,其中记录开始命令使用错误历史命令的保留缓冲ID值控制处理器134以在缓冲存储器144中开始命令信息记录,记录停止命令控制处理器134以停止该命令信息记录,并且输出命令控制处理器134以输出被记录到缓冲存储器144中的命令信息。
图5示出第四表500,第四表500描述了根据实施例的命令。
在一些实施例中,如图5所示,存储器系统110可以支持记录开始命令、记录停止命令和输出命令的命令描述符。存储器系统110可以进一步支持清除命令。图5还示出清除命令的命令描述符。
根据图5所示的示例,主机102可以向存储器系统110提供将缓冲ID设置为“04h”并且将缓冲偏移设置为“0x10”的错误历史命令作为记录开始命令。如参照图2和图3所述,图5所示的“READ_BUFFER(10),Mode=1Ch”指示错误历史命令。缓冲偏移“0x10”可以指定历史缓冲区域146。在一些实施方案中,缓冲偏移的值可以不同。
处理器134可以响应于记录开始命令而将命令信息记录到历史缓冲区域146中。例如,在接收记录开始命令之后,处理器134可以记录由处理器134生成并提供到存储器装置150的命令以创建命令历史。
主机102可以向存储器系统110提供将缓冲ID设置为“05h”并且将缓冲偏移设置为“0x10”的错误历史命令作为记录停止命令。处理器134可以响应于该记录停止命令而停止命令信息记录。
主机102可以通过提供记录开始命令和记录停止命令来主动地确定将记录命令信息的时间窗口。进一步地,主机102可以通过提供输出命令来获得在时间窗口中记录的命令信息。
主机102可以向存储器系统110提供将缓冲ID设置为“F0h”并且将缓冲偏移设置为“0x10”的错误历史命令作为输出命令。处理器134可以响应于该输出命令,向主机102提供被缓冲在历史缓冲区域146中的命令信息。
主机102可以向存储器系统110提供将缓冲ID设置为“F1h”并且将缓冲偏移设置为“0x10”的错误历史命令作为清除命令。处理器134可以响应于该清除命令,清除被缓冲在历史缓冲区域146中的命令信息。
作为示例,第四表500分别将记录开始命令、记录停止命令、输出命令和清除命令的缓冲ID示出为“04h”、“05h”、“F0h”和“F1h”,但是本发明不限于那些具体内容。例如,记录开始命令、记录停止命令、输出命令和清除命令的缓冲ID中的任意一个或所有可以由所保留的(多个)缓冲ID值指定。
图6示出根据实施例的主机102与存储器系统110之间的事务。
参照图6,在操作S602,主机102可以向存储器系统110提供记录开始命令。
例如,当在存储器系统110的测试期间在存储器系统110中检测到错误时,主机102可以通过再现错误的发生来确认错误发生的原因,并且可以执行调试。为了获得错误发生之前和之后的命令信息,主机102可以在错误发生之前提供记录开始命令。
在操作S604,存储器系统110可以在从主机102接收到记录停止命令之前,将所有命令(或所有条命令信息)记录到历史缓冲区域146中。
例如,每当控制器130向存储器装置150提供命令时,存储器系统110可以将命令的命令信息存储在历史缓冲区域146中。
在存储器系统110记录命令信息的同时,可能在存储器系统110中检测到错误。在一些实施例中,与在操作S604记录的命令信息分开,存储器系统110还可以记录指示错误发生的时间的状态信息。
命令信息和状态信息可以被包括在历史缓冲区域146中存储的错误历史目录中。下面参照图7描述根据实施例的错误历史目录。
在操作S606,主机102可以向存储器系统110提供记录停止命令,以停止命令信息记录。存储器系统110可以响应于记录停止命令而停止命令信息记录。
在操作S608,主机102可以向存储器系统110提供输出命令,以获得在操作S604记录的命令信息(命令历史)。
在操作S610,存储器系统110可以响应于输出命令,向主机102提供被缓冲在历史缓冲区域146中的命令历史(历史数据)。
在操作S612,主机102可以基于从存储器系统110接收的命令信息来执行调试。
图7是示出根据一些实施例的可以被存储在历史缓冲区域146中的错误历史目录700的示图。
参照图7,错误历史目录700可以包括多个目录条目。尽管在图7中未示出,但是错误历史目录700也可以包括标头。
多个目录条目中的每一个可以包括错误历史。在实施例中,错误历史可以包括状态信息和命令信息中的任意一个。在图7所示的示例中,每个目录条目的错误历史类型可以取决于每个错误历史指示状态信息还是命令信息。
当满足设置条件时,处理器134可以执行错误历史记录。当发生错误事件时,处理器134可以将错误事件添加到错误历史目录700。
图7中的操作S604示出如参照图6所述的以下操作:由主机102提供记录开始命令,并且由处理器134记录在记录停止命令被提供之前的时间窗口中的命令信息。
在时间窗口中,每当将命令提供到存储器装置150时,处理器134可以将包括相关联的命令信息的错误事件添加到错误历史目录700。所添加的每个错误事件与状态信息和/或命令信息相关联。
即使当在时间窗口中发生错误时,处理器134可以将指示错误发生的时间的状态信息添加到错误历史目录700。
根据实施例,存储器系统110可以支持记录开始命令、记录停止命令和输出命令,使得主机102可以获得期望时间窗口中的期望信息,该信息不限于指示错误发生的时间的状态信息。存储器系统110可以使用错误历史命令的保留缓冲ID值来支持记录开始命令、记录停止命令和输出命令。作为示例,该期望信息可以是从控制器130提供到存储器装置150的命令信息,但是本发明不限于此。
主机102可以使用记录开始命令、记录停止命令和输出命令获得期望时间窗口中的命令信息。主机102可以获得错误发生之前和之后的命令信息,一般可以检查错误发生之前和之后的内部操作,可以容易地分析错误原因,并且可以执行调试。
本公开可以提供一种存储器系统及其操作方法,该存储器系统能够响应于来自主机的请求而记录错误事件以生成错误历史,以便于错误分析和调试。
尽管已经示出和描述了各个实施例,但是对于本领域技术人员显而易见的是,鉴于本公开,在不脱离如所附权利要求书所限定的本公开的精神和范围的情况下,可以进行各种改变和修改。

Claims (19)

1.一种存储器系统,包括:
存储器装置;以及
控制器,控制所述存储器装置,并且包括缓冲存储器,
其中所述控制器响应于来自主机的记录开始命令而在所述缓冲存储器中执行错误历史记录,响应于来自所述主机的记录停止命令而停止所述错误历史记录,并且响应于来自所述主机的输出命令而向所述主机提供所记录的错误历史。
2.根据权利要求1所述的存储器系统,其中所述控制器响应于来自所述主机的清除命令,从所述缓冲存储器中清除所述错误历史。
3.根据权利要求2所述的存储器系统,其中:
所述记录开始命令、所述记录停止命令、所述输出命令和所述清除命令被包括在错误历史命令中,所述错误历史命令是小型计算机系统接口命令,即SCSI命令,并且
所述记录开始命令、所述记录停止命令、所述输出命令和所述清除命令中的每一个基于所述错误历史命令的缓冲标识符即缓冲ID的值来指定。
4.根据权利要求3所述的存储器系统,其中所述错误历史命令被指定为作为所述SCSI命令的读取缓冲命令的特定模式值。
5.根据权利要求3所述的存储器系统,其中:
所述记录开始命令、所述记录停止命令、所述输出命令和所述清除命令中的每一个进一步包括所述错误历史命令的缓冲偏移的值,并且
所述缓冲偏移的值指定错误历史目录所存储的位置。
6.根据权利要求1所述的存储器系统,其中每当所述控制器向所述存储器装置提供命令时,所述控制器通过将所述命令的命令信息存储在所述缓冲存储器中来执行记录所述错误历史。
7.根据权利要求6所述的存储器系统,其中所述控制器进一步将状态信息存储在所述缓冲存储器中,所述状态信息指示所述存储器系统中发生错误的时间。
8.根据权利要求7所述的存储器系统,其中所述状态信息包括与所述错误发生时的所述控制器的寄存器值有关的信息。
9.根据权利要求7所述的存储器系统,其中:
所述缓冲存储器存储错误历史目录,所述错误历史目录包括多个目录条目,并且
所述多个目录条目中的每一个包括所述命令信息和所述状态信息中的一个。
10.一种存储器系统的操作方法,包括:
响应于来自主机的记录开始命令,在所述存储器系统中包括的缓冲存储器中执行错误历史记录;
响应于来自所述主机的记录停止命令,停止所述错误历史记录;并且
响应于来自所述主机的输出命令,向所述主机提供所记录的错误历史。
11.根据权利要求10所述的操作方法,进一步包括响应于来自所述主机的清除命令,从所述缓冲存储器中清除所述错误历史。
12.根据权利要求11所述的操作方法,其中:
所述记录开始命令、所述记录停止命令、所述输出命令和所述清除命令被包括在错误历史命令中,所述错误历史命令是小型计算机系统接口命令,即SCSI命令,并且
所述记录开始命令、所述记录停止命令、所述输出命令和所述清除命令中的每一个基于所述错误历史命令的缓冲标识符即缓冲ID的值来指定。
13.根据权利要求12所述的操作方法,其中所述错误历史命令被指定为作为所述SCSI命令的读取缓冲命令的特定模式值。
14.根据权利要求12所述的操作方法,其中:
所述记录开始命令、所述记录停止命令、所述输出命令和所述清除命令中的每一个进一步包括所述错误历史命令的缓冲偏移的值,并且
所述缓冲偏移的值指定错误历史目录所存储的位置。
15.根据权利要求10所述的操作方法,其中执行记录所述错误历史包括:每当所述存储器系统的控制器向所述存储器系统的存储器装置提供命令时,将所述命令的命令信息存储在所述缓冲存储器中。
16.根据权利要求15所述的操作方法,进一步包括:将状态信息存储在所述缓冲存储器中,所述状态信息指示所述存储器系统中发生错误的时间。
17.根据权利要求16所述的操作方法,其中所述状态信息包括与所述错误发生时的所述控制器的寄存器值有关的信息。
18.根据权利要求16所述的操作方法,其中:
所述缓冲存储器存储错误历史目录,所述错误历史目录包括多个目录条目,并且
所述多个目录条目中的每一个包括所述命令信息和所述状态信息中的一个。
19.一种系统,包括:
主机;以及
存储器系统,包括存储器装置和控制器,所述控制器包括存储器,
其中所述控制器:
从所述主机接收第一错误历史命令;
响应于所述第一错误历史命令而触发错误历史记录,使得将所述系统中发生的错误记录在所述存储器中,其中被记录在所述存储器中的每个错误与在相应错误发生时关于所述存储器装置的一个或多个命令的命令信息以及所述存储器系统的状态信息中的至少一个相关联;
从所述主机接收第二错误历史命令;并且
响应于所述第二错误历史命令而向所述主机提供所述错误历史。
CN202110310621.XA 2020-07-17 2021-03-23 存储器系统及其操作方法 Pending CN113946280A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200089028A KR20220010303A (ko) 2020-07-17 2020-07-17 메모리 시스템 및 메모리 시스템의 동작방법
KR10-2020-0089028 2020-07-17

Publications (1)

Publication Number Publication Date
CN113946280A true CN113946280A (zh) 2022-01-18

Family

ID=79292465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110310621.XA Pending CN113946280A (zh) 2020-07-17 2021-03-23 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US11663065B2 (zh)
KR (1) KR20220010303A (zh)
CN (1) CN113946280A (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083588A1 (en) * 2005-05-25 2009-03-26 Matsushita Electric Industrial Co., Ltd. Device remote monitor/recovery system
US20120216079A1 (en) * 2011-02-22 2012-08-23 Apple Inc. Obtaining Debug Information from a Flash Memory Device
US20180181346A1 (en) * 2016-12-28 2018-06-28 SK Hynix Inc. Memory system and operating method thereof
US20180293022A1 (en) * 2017-04-10 2018-10-11 SK Hynix Inc. Controller and operating method thereof
US20190102245A1 (en) * 2017-09-29 2019-04-04 SK Hynix Inc. Data storage device and operating method thereof
US20190107945A1 (en) * 2017-10-11 2019-04-11 SK Hynix Inc. Controller for controlling one or more memory devices and operation method thereof
US20190114239A1 (en) * 2017-10-17 2019-04-18 SK Hynix Inc. Memory system and method for operating the same
US20190205064A1 (en) * 2018-01-03 2019-07-04 SK Hynix Inc. Controller, operating method thereof and data processing system
US20190294542A1 (en) * 2018-03-26 2019-09-26 SK Hynix Inc. Memory system and operating method thereof
US20200019325A1 (en) * 2018-07-16 2020-01-16 SK Hynix Inc. Memory system and operation method thereof
US20200125437A1 (en) * 2017-11-29 2020-04-23 Seagate Technology Llc In-drive bus trace
US20200176045A1 (en) * 2018-11-30 2020-06-04 SK Hynix Inc. Memory system and operating method thereof
US20200174865A1 (en) * 2018-11-30 2020-06-04 SK Hynix Inc. Controller, storage device having the controller, and method of operating the controller

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085118A (ja) * 2001-09-13 2003-03-20 Fujitsu Ltd 周辺装置のパラメータ設定方法、及び、周辺装置
JPWO2012046293A1 (ja) * 2010-10-04 2014-02-24 富士通株式会社 障害監視装置、障害監視方法及びプログラム
WO2014193412A1 (en) * 2013-05-31 2014-12-04 Hewlett-Packard Development Company, L.P. Memory error determination
US9690649B2 (en) 2015-05-08 2017-06-27 International Business Machines Corporation Memory device error history bit
US10042688B2 (en) * 2016-03-02 2018-08-07 Western Digital Technologies, Inc. Self-diagnosis of device drive-detected errors and automatic diagnostic data collection
US10599508B2 (en) * 2017-06-08 2020-03-24 International Business Machines Corporation I/O error diagnostics
US11294750B2 (en) * 2019-07-15 2022-04-05 Micron Technology, Inc. Media management logger for a memory sub-system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083588A1 (en) * 2005-05-25 2009-03-26 Matsushita Electric Industrial Co., Ltd. Device remote monitor/recovery system
US20120216079A1 (en) * 2011-02-22 2012-08-23 Apple Inc. Obtaining Debug Information from a Flash Memory Device
US20180181346A1 (en) * 2016-12-28 2018-06-28 SK Hynix Inc. Memory system and operating method thereof
US20180293022A1 (en) * 2017-04-10 2018-10-11 SK Hynix Inc. Controller and operating method thereof
US20190102245A1 (en) * 2017-09-29 2019-04-04 SK Hynix Inc. Data storage device and operating method thereof
US20190107945A1 (en) * 2017-10-11 2019-04-11 SK Hynix Inc. Controller for controlling one or more memory devices and operation method thereof
US20190114239A1 (en) * 2017-10-17 2019-04-18 SK Hynix Inc. Memory system and method for operating the same
US20200125437A1 (en) * 2017-11-29 2020-04-23 Seagate Technology Llc In-drive bus trace
US20190205064A1 (en) * 2018-01-03 2019-07-04 SK Hynix Inc. Controller, operating method thereof and data processing system
US20190294542A1 (en) * 2018-03-26 2019-09-26 SK Hynix Inc. Memory system and operating method thereof
US20200019325A1 (en) * 2018-07-16 2020-01-16 SK Hynix Inc. Memory system and operation method thereof
US20200176045A1 (en) * 2018-11-30 2020-06-04 SK Hynix Inc. Memory system and operating method thereof
US20200174865A1 (en) * 2018-11-30 2020-06-04 SK Hynix Inc. Controller, storage device having the controller, and method of operating the controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
INCITS: "SCSI Primary Commands-5(SPC-5)", 《INCITS 502-201X》, pages 99 *

Also Published As

Publication number Publication date
KR20220010303A (ko) 2022-01-25
US20220019499A1 (en) 2022-01-20
US11663065B2 (en) 2023-05-30

Similar Documents

Publication Publication Date Title
CN110858129B (zh) 数据存储装置及其操作方法
CN108932107B (zh) 数据存储装置及其操作方法
KR20200085967A (ko) 데이터 저장 장치 및 그 동작 방법
CN113220220B (zh) 控制器、控制器的操作方法及包括该控制器的存储装置
CN113110799A (zh) 用于针对损耗均衡操作选择牺牲块的控制器和方法
CN114371812B (zh) 控制器及其操作方法
KR20190083148A (ko) 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
CN110047538B (zh) 存储器系统及其操作方法
US11113202B2 (en) Operating method forcing the second operation to fail using a scatter-gather buffer and memory system thereof
CN113741798A (zh) 数据存储装置及其操作方法
CN109582483B (zh) 数据存储装置及其操作方法
KR102270103B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN113093987A (zh) 控制存储器装置的控制器及其操作方法
US11460906B2 (en) Electronic device and operation method thereof
US11449321B2 (en) Controller and method for installing and executing bridge firmware data
CN113946280A (zh) 存储器系统及其操作方法
CN115080457A (zh) 控制器及其操作方法
US11775209B2 (en) Controller and operation method thereof
US20220012180A1 (en) Memory system for meta data management and operating method of memory system
KR20230037255A (ko) 이벤트 로그 관리 방법, 컨트롤러 및 저장 장치
CN114372010A (zh) 存储器系统及其操作方法
US20220156003A1 (en) Controller and operation method thereof
KR20200142698A (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI810095B (zh) 資料儲存裝置與寫入緩存器管理方法
KR20190061942A (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