CN109582483A - 数据存储装置及其操作方法 - Google Patents

数据存储装置及其操作方法 Download PDF

Info

Publication number
CN109582483A
CN109582483A CN201810772412.5A CN201810772412A CN109582483A CN 109582483 A CN109582483 A CN 109582483A CN 201810772412 A CN201810772412 A CN 201810772412A CN 109582483 A CN109582483 A CN 109582483A
Authority
CN
China
Prior art keywords
kernel
transferred
state recording
mistake
volatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810772412.5A
Other languages
English (en)
Other versions
CN109582483B (zh
Inventor
金永东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN109582483A publication Critical patent/CN109582483A/zh
Application granted granted Critical
Publication of CN109582483B publication Critical patent/CN109582483B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/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/0721Error 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 within a central processing unit [CPU]
    • G06F11/0724Error 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 within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Abstract

本发明涉及一种数据存储装置,其包括:非易失性存储器装置;以及控制器,其包括多个内核,其中,当在多个内核中的至少一个内核中发生错误时,与非易失性存储器装置联接的第一内核将多个内核中的至少一个内核在发生错误时的状态记录传输到非易失性存储器装置。

Description

数据存储装置及其操作方法
相关申请的交叉引用
本申请要求于2017年9月29日提交的申请号为10-2017-0127233的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种数据存储装置,并且更特别地,涉及一种包括非易失性存储器装置的数据存储装置。
背景技术
数据存储装置可以响应于来自外部装置的写入请求来存储从外部装置提供的数据。并且,数据存储装置可以响应于来自外部装置的读取请求向外部装置提供存储的数据。作为能够处理数据的电子装置的外部装置可以包括计算机、数码相机或移动电话。数据存储装置可以通过内置在外部装置中来操作,或者可以通过以可分离的形式制造并且联接到外部装置来操作。
使用存储器装置的数据存储装置提供由于不存在机械驱动部件,因此稳定性、耐久性优良,信息访问速度高并且功耗小的优点。具有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态硬盘(SSD)。
在分析多内核解决方案环境下发生的错误时,可能无法通过仅利用发生错误的内核的状态记录来分析和解释错误。例如,当在多个内核彼此协作操作时发生错误时,可能无法通过仅利用发生错误的内核的状态记录来精确地分析原因。需要参与彼此协作操作的所有内核的状态记录。特别地,在该情况下,为了分析错误的原因或校正错误,有必要获得在发生错误时的状态记录。
发明内容
各个实施例涉及一种能够增加分析多内核环境下错误原因的可能性的数据存储装置及其操作方法。
在实施例中,一种数据存储装置可以包括:非易失性存储器装置;以及控制器,其包括多个内核,其中,当在多个内核中的至少一个内核中发生错误时,与非易失性存储器装置联接的第一内核将多个内核中的至少一个内核在发生错误时的状态记录传输到非易失性存储器装置。
在实施例中,一种数据存储装置的操作方法可以包括:由控制器确定在多个内核中是否发生错误;当确定已经发生错误时,由第一内核收集多个内核中的一个或多个内核在发生错误时的状态记录;以及将状态记录从第一内核传输到非易失性存储器装置。
在实施例中,一种数据存储装置的操作方法可以包括:由控制器确定在多个内核中是否发生错误;当确定已经发生错误时,在存储多个内核的数据的共享区域中获得基于数据的在多个内核中的一个或多个内核在发生错误时的状态记录;以及将存储在共享区域中的状态记录从第一内核传输到非易失性存储器装置。
在根据实施例的数据存储装置中,当包括多个内核的存储装置中发生错误时,可以在发生错误时获得状态记录,从而增加分析原因的可能性。特别地,可以分析错误的原因而不再现错误情况。
附图说明
图1是示出根据实施例的数据存储装置的示例的框图。
图2是示出根据实施例的包括多个内核的数据存储装置的示例的框图。
图3是示出根据实施例的包括多个区域的数据存储装置的示例的框图。
图4是示出根据实施例的包括共享区域的数据存储装置的示例的框图。
图5至图13是帮助描述根据实施例的数据存储装置的操作方法的流程图的示例。
图14是示出包括根据实施例的固态硬盘(SSD)的数据处理系统的示例的示图。
图15是示出包括根据实施例的数据存储装置的数据处理系统的示例的示图。
图16是示出包括根据实施例的数据存储装置的数据处理系统的示例的示图。
图17是示出包括根据实施例的数据存储装置的网络系统的示例的示图。
图18是示出包括在根据实施例的数据存储装置中的非易失性存储器装置的示例的框图。
具体实施方式
在下文中,以下将通过实施例的各个示例并参照附图来描述数据存储装置及其操作方法。
图1是示出根据实施例的数据存储装置100的示例的框图。
数据存储装置100可以存储待由诸如移动电话、MP3播放器、膝上型计算机,台式计算机、游戏机、TV、车载信息娱乐系统等的主机装置(未示出)访问的数据。数据存储装置100可以被称为存储器系统。
数据存储装置100可以根据主机接口被制造为各种类型的存储装置中的任意一种,主机接口是指相对于主机装置的传输协议。例如,数据存储装置100可以为诸如以下的各种类型的存储装置中的任意一种:固态硬盘(SSD)、MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡、SD、迷你SD和微型SD形式的安全数字卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡式存储装置、外围组件互连(PCI)卡型存储装置、高速PCI(PCI-E)卡式存储装置、标准闪存(CF)卡、智能媒体卡、记忆棒等。
数据存储装置100可以被制造为各种类型的封装中的任意一种。例如,数据存储装置100可以被制造为诸如以下的各种类型的封装中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置100可以包括控制器200。控制器200可以包括控制单元210和随机存取存储器220。
控制单元210可以通过微控制单元(MCU)或中央处理单元(CPU)来配置。控制单元210可以处理从主机装置传输的请求。为了处理该请求,控制单元210可以驱动代码类型的指令或算法,即在随机存取存储器220中加载的固件FW,并且可以控制内部功能块和非易失性存储器装置300。
随机存取存储器220可以通过诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的随机存取存储器来配置。随机存取存储器220可以存储待被控制单元210驱动的固件FW。并且,随机存取存储器220可以存储用于驱动固件FW必需的数据,例如,元数据。即,随机存取存储器220可以用作控制单元210的工作存储器。
非易失性存储器装置300可以包括存储器单元区域。存储器单元区域可以包括多个存储块B1至Bm,并且存储块B1至Bm中的每一个可以包括多个页面P1至Pn。从操作观点或物理(或结构)观点来看,包括在存储器单元区域中的存储器单元可以被配置为分层存储器单元组或存储器单元组。例如,联接到相同字线并且待被同时读取和写入(或编程)的存储器单元可以被配置为页面P。在以下描述中,被配置为页面P的存储器单元将被称为“页面”。并且,待被同时擦除的存储器单元可以被配置为存储块B。
图2是示出根据实施例的包括多个内核的数据存储装置100的示例的框图。
参照图2,根据实施例的数据存储装置100可以包括非易失性存储器装置300和包括多个内核212的控制器200。当在内核212中的至少一个内核中发生错误时,与非易失性存储器装置300联接的第一内核211可以在发生错误时将内核212的状态记录传输到非易失性存储器装置300。可以预先设置并且可以随时改变存储内核212中的一个或多个内核的状态记录的非易失性存储器装置300的存储器单元区域。
第一内核211是指在包括在控制单元210中的多个内核212中的能够与非易失性存储器装置300接口连接的内核。第一内核211获得在内核212中的至少一个内核(甚至第一内核211本身)发生错误时的状态记录,并且将状态记录传输到非易失性存储器装置300,使得第一内核211可以将内核212的状态记录传输到非易失性存储器装置300。
状态记录可以指调试所必需的信息。即,状态记录可以包括发现错误、分析错误原因以及校正错误所必需的所有信息。特别地,状态记录可以指内核转储。内核转储是指在特定时间点操作的存储器的状态。例如,内核转储可以指在特定时间点的快照映像、编程计数、硬件寄存器信息等。然而,内核转储不限于此,并且可以应用能够存储在存储器中的所有信息。
根据实施例的数据存储装置100的内核212可以根据控制器200的中断命令将状态记录传输到第一内核211。中断命令可能是中断正在执行的操作并且请求将发生错误时的状态记录传输到第一内核211。当在内核212中的至少一个内核中发生错误时,控制器200可以向第一内核211传送关于发生错误的时间点的信息。第一内核211可以向非易失性存储器装置300传输从接收到中断命令的时间点或从发生错误的时间点起的预定时间内获得的状态记录。预定时间可以由控制器200来设置。由第一内核211获得的状态记录的预定时间可以随时由控制器200或通过从主机装置(未示出)提供的改变命令来改变。
图3是示出根据实施例的包括多个区域的数据存储装置100的示例的框图。
参照图3,根据实施例的数据存储装置100的控制器200可以进一步包括多个区域223,多个区域223分别存储内核212的状态记录。多个区域223中的存储第一内核211的状态记录的第一区域221可以从除了第一区域221之外的其余区域223接收发生错误时的状态记录,并且第一内核211可以将存储在第一区域221中的状态记录传输到非易失性存储器装置300。第一内核211可以被定义为能够执行与非易失性存储器装置300接口连接的内核。虽然多个区域223可以是由SRAM构成的区域,但是实施例不限于此,并且可以应用能够输入/输出和存储数据的各种类型的存储装置。
图4是示出根据实施例的包括共享区域的数据存储装置100的示例的框图。
参照图4,根据实施例的数据存储装置100的控制器200可以进一步包括存储内核212的状态记录的共享区域222,并且第一内核211可以将存储在共享区域222中的状态记录传输到非易失性存储器装置300。共享区域222可以存储包括在控制单元210中的所有或一些内核的状态记录。
在另一实施例中,多个区域223或共享区域222可以以预定周期存储包括在控制单元210中的所有或一些内核的状态记录。预定周期可以由控制器200来设置或改变。在设置数据以预定周期存储在多个区域223或共享区域222中的情况下,中断命令可以包括在中断命令被接收时命令存储各个内核的数据的命令。虽然与上述多个区域223类似,共享区域222可以是由SRAM构成的区域,但是本实施例不限于SRAM,并且可以应用能够输入/输出和存储数据的各种类型的存储装置。
图5是用于帮助描述根据实施例的数据存储装置的操作方法的流程图的示例。
参照图5,根据本实施例的数据存储装置100的操作方法可以包括由控制器200确定多个内核212中是否发生错误的步骤S100和步骤S110、在确定已经发生错误时,由第一内核211收集内核212中的一个或多个内核在发生错误时的状态记录的步骤S500以及由第一内核211将状态记录传输到非易失性存储器装置的步骤S600。
图6是用于帮助描述根据实施例的数据存储装置100的操作方法的流程图的示例。
参照图6,根据实施例的数据存储装置100的操作方法可以进一步包括由控制器211确定在内核212中发生错误的内核的步骤S200和步骤S210。当指定发生错误的内核时,在步骤S800中,发生错误时指定内核的状态记录可以从指定内核被传输到第一内核,并且在步骤S810中,第一内核211可以将发生错误时指定内核的状态记录传输到非易失性存储器装置。
图7是用于帮助描述根据实施例的数据存储装置100的操作方法的流程图的示例。
参照图7,根据实施例的数据存储装置100的操作方法可以进一步包括当确定发生错误时由控制器200将中断命令传输到内核212的步骤S300。中断命令可以是中断正在执行的操作并且请求将发生错误时的状态记录传输到第一内核。
图8是用于帮助描述根据实施例的数据存储装置100的操作方法的流程图的示例。
参照图8,在根据实施例的数据存储装置100的操作方法中,可以从发生错误时间起执行步骤S500预定时间,步骤S500是当确定已经发生错误时由第一内核211收集内核212中的一个或多个内核在发生错误时的状态记录。在该情况下,可以利用将预定时间内收集的状态记录从第一内核211传输到非易失性存储器装置的步骤S700来替代将状态记录从第一内核传输到非易失性存储器装置300的步骤S600。
并且参照图8,在根据实施例的数据存储装置100的操作方法中,在从接收到中断命令起的预定时间内执行步骤S500,步骤S500是当确定已经发生错误时由第一内核211收集内核212中的一个或多个内核在发生错误时的状态记录。在该情况下,可以利用将预定时间内收集的状态记录从第一内核211传输到非易失性存储器装置的步骤S700来替代将状态记录从第一内核传输到非易失性存储器装置300的步骤S600。
图9是用于帮助描述根据实施例的数据存储装置的操作方法的流程图的示例。
参照图9,在根据本实施例的数据存储装置100的操作方法中,当确定发生错误时,由第一内核211收集内核212中的一个或多个内核在发生错误时的状态记录的步骤S500可以包括步骤S400和步骤S410,步骤400是当确定已经发生错误时由分别存储内核212的状态记录的多个区域223在发生错误时获得状态记录,步骤S410是由存储第一内核211的状态记录的第一区域221来收集内核212中的一个或多个内核的状态记录。在该情况下,可以利用将存储在第一区域221中的状态记录传输到非易失性存储器装置300的步骤S420来替代将状态记录从第一内核传输到非易失性存储器装置300的步骤S600。虽然多个区域可以是由SRAM构成的区域,但是实施例不限于此,并且可以应用能够输入/输出和存储数据的各种类型的存储装置。
图10是用于帮助描述根据实施例的数据存储装置100的操作方法的流程图的示例。
参照图10,根据本实施例的数据存储装置100的操作方法可以包括由控制器200确定多个内核212中是否发生错误的步骤S1000和步骤S1100、在确定已经发生错误时由存储内核212的状态记录的共享区域222获得内核212中的一个或多个内核在发生错误时的状态记录的步骤S4000以及由第一内核211将存储在共享区域222中的状态记录传输到非易失性存储器装置300的步骤S5000。虽然与上述多个区域类似,共享区域可以是由SRAM构成的区域,但是可以应用能够输入/输出和存储数据的各种类型的存储装置。
图11是用于帮助描述根据实施例的数据存储装置100的操作方法的流程图的示例。
参照图11,根据实施例的数据存储装置100的操作方法可以进一步包括由控制器211确定在内核212中发生错误的内核的步骤S2000和步骤S2100。当指定发生错误的内核时,在步骤S6000中,可以通过共享区域222获得发生错误时的指定内核的状态记录,并且在步骤S6100中,第一内核211可以将存储在共享区域222中的指定内核的状态记录传输到非易失性存储器装置。
图12是用于帮助描述根据实施例的数据存储装置100的操作方法的流程图的示例。
参照图12,根据实施例的数据存储装置100的操作方法可以进一步包括当确定已经发生错误时由控制器200将中断命令传输到内核212的步骤S300。中断命令可以是中断正在执行的操作并且请求将错误发生时的状态记录传输到共享区域。
图13是用于帮助描述根据实施例的数据存储装置100的操作方法的流程图的示例。
参照图13,在根据实施例的数据存储装置100的操作方法中,可以从发生错误时间起执行步骤S4000预定时间,步骤S4000是当确定发生错误时由共享区域222获得内核212中的一个或多个内核在发生错误时的状态记录。在该情况下,可以利用通过第一内核211将预定时间内获得的状态记录从第一内核211传输到非易失性存储器装置300的步骤S7000替代由第一内核211将存储在共享区域222中的状态记录传输到非易失性存储器装置300的步骤S5000。
并且参照图13,在根据实施例的数据存储装置100的操作方法中,可以从接收到中断命令的时间起执行步骤S4000预定时间,步骤S4000是当确定发生错误时由共享区域222获得在内核212中的一个或多个内核在发生错误时的状态记录。在该情况下,可以利用通过第一内核211将预定时间内获得的状态记录从第一内核211传输到非易失性存储器装置300的步骤S7000替代由第一内核211将存储在共享区域222中的状态记录传输到非易失性存储器装置300的步骤S5000。
图14是示出包括根据实施例的固态硬盘(SSD)的数据处理系统的示例的示图。参照图14,数据处理系统1000可以包括主机装置1100和固态硬盘(SSD)1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD 1200的整体操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元1211可以根据主机装置1100的协议来接口连接主机装置1100和SSD 1200。例如,主机接口单元1211可以通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-E)和通用闪存(UFS)。
控制单元1212可以分析和处理从主机装置1100输入的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可以用作驱动这种固件或软件的工作存储器。
错误校正码(ECC)单元1214可以生成待传输到非易失性存储器装置1231至123n的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起被存储在非易失性存储器装置1231至123n中。错误校正码(ECC)单元1214可以基于奇偶校验数据来检测从非易失性存储器装置1231至123n读出的数据的错误。如果检测的错误在可校正的范围内,则错误校正码(ECC)单元1214可以校正检测的错误。
存储器接口单元1215可以根据控制单元1212的控制向非易失性存储器装置1231至123n提供诸如命令和地址的控制信号。此外,存储器接口单元1215可以根据控制单元1212的控制与非易失性存储器装置1231至123n交换数据。例如,存储器接口单元1215可以将向非易失性存储器装置1231至123n提供存储在缓冲存储器装置1220中的数据,或将向缓冲存储器装置1220提供从非易失性存储器装置1231至123n读出的数据。
缓冲存储器装置1220可以临时存储待存储在非易失性存储器装置1231至123n中的数据。进一步地,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n读出的数据。临时存储在缓冲存储器装置1220中的数据可以根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个通道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以向SSD 1200的内部提供通过电源连接器1260输入的功率PWR。电源1240可以包括辅助电源1241。当发生突然断电时辅助电源1241可以供给电力以允许SSD1200正常地终止。辅助电源1241可以包括大容量电容器。
信号连接器1250可以根据主机装置1100和SSD 1200之间的接口方案由各种类型的连接器配置。
电源连接器1260可以根据主机装置1100的电源方案由各种类型的连接器配置。
图15是示出包括根据实施例的数据存储装置的数据处理系统的示例的示图。参照图15,数据处理系统2000可以包括主机装置2100和数据存储装置2200。
主机装置2100可以被配置成诸如印刷电路板的板的形式。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可以被安装到连接端子2110。
数据存储装置2200可以被配置成诸如印刷电路板的板的形式。数据存储装置2200可以被称为存储器模块或存储卡。数据存储装置2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制数据存储装置2200的整体操作。控制器2210可以以与图14所示的控制器1210相同的方式来配置。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读出的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作数据存储装置2200的存储介质。
PMIC 2240可以向数据存储装置2200的内部提供通过连接端子2250输入的功率。PMIC 2240可以根据控制器2210的控制来管理数据存储装置2200的电源。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2250,可以在主机装置2100和数据存储装置2200之间传送诸如命令、地址、数据等的信号和功率。连接端子2250可以根据主机装置2100和数据存储装置2200之间的接口方案被配置成各种类型。连接端子2250可以被设置在数据存储装置2200的任意一侧。
图16是示出包括根据实施例的数据存储装置的数据处理系统的示例的示图。参照图16,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置成诸如印刷电路板的板的形式。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置3200可以被配置成表面安装型封装的形式。数据存储装置3200可以通过焊球3250被安装到主机装置3100。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制数据存储装置3200的整体操作。控制器3210可以以与图9所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读出的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作数据存储装置3200的存储介质。
图17是示出包括根据实施例的数据存储装置的网络系统的示例的示图。参照图17,网络系统4000可以包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来提供数据。例如,服务器系统4300可以存储从多个客户端系统4410到4430提供的数据。又例如,服务器系统4300可以向多个客户端系统4410至4430提供数据。
服务器系统4300可以包括主机装置4100和数据存储装置4200。数据存储装置4200可以由图1所示的数据存储装置100、图14所示的SSD1200、图15所示的数据存储装置2200或图16所示的数据存储装置3200来构造。
图18是示出包括在根据实施例的数据存储装置中的非易失性存储器装置的示例的框图。参照图18,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制来操作。行解码器320可以解码从外部装置(未示出)提供的地址。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压发生器350提供的字线电压提供给字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制来操作。数据读取/写入块330可以根据操作模式而用作写入驱动器或读出放大器。例如,数据读取/写入块330可以作为写入驱动器来操作,该写入驱动器在写入操作中将从外部装置提供的数据存储在存储器单元阵列310中。例如,数据读取/写入块330可以用作读出放大器,该读出放大器在读取操作中从存储器单元阵列310读出数据。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以解码从外部装置提供的地址。列解码器340可以基于解码结果来将分别对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线路(或数据输入/输出缓冲器)联接。
电压发生器350可以产生待用于非易失性存储器装置300的内部操作的电压。由电压发生器350产生的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可以被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中产生的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。再例如,在读取操作中产生的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的整体操作。例如,控制逻辑360可以控制非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然上面已经描述各个实施例,但是本领域技术人员将理解,描述的实施例仅是示例。因此,本文描述的数据存储装置及其操作方法不应受到所描述的实施例的限制。

Claims (22)

1.一种数据存储装置,其包括:
非易失性存储器装置;以及
控制器,其包括多个内核,
其中,当在所述多个内核中的至少一个内核中发生错误时,与所述非易失性存储器装置联接的第一内核将所述多个内核中的至少一个内核在发生错误时的状态记录传输到所述非易失性存储器装置。
2.根据权利要求1所述的数据存储装置,
其中所述多个内核根据所述控制器的中断命令将所述状态记录传输到所述第一内核,以及
其中所述中断命令是中断正在执行的操作的命令并且是指示将发生错误时的状态记录传输到所述第一内核的命令。
3.根据权利要求2所述的数据存储装置,
其中所述第一内核将从接收到所述中断命令的时间起的预定时间内获得的所述状态记录传输到所述非易失性存储器装置,以及
其中所述预定时间由所述控制器设置。
4.根据权利要求1所述的数据存储装置,
其中所述控制器进一步包括存储所述内核的数据的多个区域,
其中存储所述第一内核的数据的第一区域从除了所述第一区域以外的剩余区域接收发生错误时的状态记录,以及
其中所述第一内核将存储在所述第一区域中的所述状态记录传输到所述非易失性存储器装置。
5.根据权利要求4所述的数据存储装置,其中所述多个区域是由SRAM配置的区域。
6.根据权利要求1所述的数据存储装置,
其中所述控制器进一步包括存储所述多个内核的数据的共享区域,以及
其中所述第一内核将基于所述数据的状态记录传输到所述非易失性存储器装置。
7.根据权利要求6所述的数据存储装置,其中所述共享区域是由SRAM配置的区域。
8.根据权利要求1所述的数据存储装置,
其中所述第一内核将从发生错误时起的预定时间内获得的所述状态记录存储在所述非易失性存储器装置中,以及
其中所述预定时间由所述控制器设置。
9.一种数据存储装置的操作方法,其包括:
由控制器确定在多个内核中是否发生错误;
当确定已经发生错误时,由第一内核收集所述多个内核中的一个或多个内核在发生错误时的状态记录;以及
将所述状态记录从所述第一内核传输到非易失性存储器装置。
10.根据权利要求9所述的方法,其进一步包括:
由所述控制器确定发生错误的内核,
其中,当指定发生错误的内核时,其中发生错误的内核在发生错误时的状态记录被从发生错误的内核传输到所述第一内核,以及
其中所述第一内核将所述状态记录传输到所述非易失性存储器装置。
11.根据权利要求9所述的方法,其中将所述状态记录从所述第一内核传输到所述非易失性存储器装置包括:
由所述第一内核从发生错误时间起的预定时间内获得所述状态记录;以及
将所获得的状态记录从所述第一内核传输到所述非易失性存储器装置。
12.根据权利要求9所述的方法,其进一步包括:
当确定已经发生错误时,将中断命令从所述控制器传输到所述内核,
其中所述中断命令是中断正在执行的操作的命令并且是指示将发生错误时的状态记录传输到所述第一内核的命令。
13.根据权利要求12所述的方法,其中将所述状态记录从所述第一内核传输到所述非易失性存储器装置包括:
由所述第一内核从接收到所述中断命令的时间起的预定时间内获得所述状态记录;以及
将所获得的状态记录从所述第一内核传输到所述非易失性存储器装置。
14.根据权利要求10所述的方法,其中将所述状态记录从发生错误的内核传输到所述第一内核包括:
当确定发生错误时,通过存储所述内核的数据的多个区域获得在发生错误时的所述状态记录;以及
通过存储所述第一内核的数据的第一区域收集所述内核中的一个或多个内核的状态记录。
15.根据权利要求14所述的方法,其中所述多个区域是由SRAM配置的区域。
16.一种数据存储装置的操作方法,其包括:
由控制器确定在多个内核中是否发生错误;
当确定已经发生错误时,在存储所述多个内核的数据的共享区域中获得基于所述数据的在所述多个内核中的一个或多个内核在发生错误时的状态记录;以及
将存储在所述共享区域中的所述状态记录从第一内核传输到非易失性存储器装置。
17.根据权利要求16所述的方法,其进一步包括:
由所述控制器确定发生错误的内核,
其中,当指定发生错误的内核时,所述共享区域获得发生错误的内核在发生错误时的状态记录,并且存储在所述共享区域中的所述状态记录被从所述第一内核传输到所述非易失性存储器装置。
18.根据权利要求16所述的方法,其中将所述状态记录从所述第一内核传输到所述非易失性存储器装置包括:
由所述共享区域从发生错误时间起的预定时间内获得所述状态记录;以及
将所获得的状态记录从所述第一内核传输到所述非易失性存储器装置。
19.根据权利要求16所述的方法,其中所述共享区域是由SRAM配置的区域。
20.根据权利要求16所述的方法,其进一步包括:
当确定已经发生错误时,将中断命令从所述控制器传输到所述内核,
其中所述中断命令是中断正在执行的操作的命令并且是指示将发生错误时的状态记录传输到所述共享区域的命令。
21.根据权利要求20所述的方法,其中将所述状态记录从所述第一内核传输到所述非易失性存储器装置包括:
由所述共享区域从接收到所述中断命令的时间起的预定时间内获得所述状态记录;以及
将所获得的状态记录从所述第一内核传输到所述非易失性存储器装置。
22.一种存储器系统,其包括:
存储器装置;以及
控制器,其包括多个内核,并且适于:
检测所述多个内核的一个或多个错误;
在第一周期性时间点和第一非周期性时间点中的一个或多个中在其中临时存储关于所述一个或多个错误的信息;以及
控制所述存储器装置在第二周期性时间点和第二非周期性时间点中的一个或多个中存储所收集的信息。
CN201810772412.5A 2017-09-29 2018-07-13 数据存储装置及其操作方法 Active CN109582483B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170127233A KR20190037666A (ko) 2017-09-29 2017-09-29 데이터 저장 장치 및 그것의 동작 방법
KR10-2017-0127233 2017-09-29

Publications (2)

Publication Number Publication Date
CN109582483A true CN109582483A (zh) 2019-04-05
CN109582483B CN109582483B (zh) 2022-09-06

Family

ID=65897763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810772412.5A Active CN109582483B (zh) 2017-09-29 2018-07-13 数据存储装置及其操作方法

Country Status (3)

Country Link
US (1) US10719382B2 (zh)
KR (1) KR20190037666A (zh)
CN (1) CN109582483B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928719A (zh) * 2019-11-19 2020-03-27 深圳忆联信息系统有限公司 Ssd低功耗模式异常处理方法、装置、计算机设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220010303A (ko) * 2020-07-17 2022-01-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11544148B2 (en) * 2021-04-02 2023-01-03 Microsoft Technology Licensing, Llc Preserving error context during a reboot of a computing device

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1582428A (zh) * 2001-11-07 2005-02-16 国际商业机器公司 用于在非均衡存储器存取计算机系统中调度任务的方法和设备
CN1794187A (zh) * 2004-12-21 2006-06-28 日本电气株式会社 计算机系统及处理错误的方法
CN102103527A (zh) * 2009-12-21 2011-06-22 上海贝尔股份有限公司 具有错误处理装置的多内核dsp电路和错误处理方法
JP2011159136A (ja) * 2010-02-02 2011-08-18 Seiko Epson Corp 制御装置、制御装置の異常検出・復旧方法および電子機器
CN102662785A (zh) * 2012-04-12 2012-09-12 青岛海信移动通信技术股份有限公司 一种Android系统内核错误信息获取方法及装置
CN102971715A (zh) * 2010-07-06 2013-03-13 三菱电机株式会社 处理器装置以及程序
US20140040670A1 (en) * 2011-04-22 2014-02-06 Fujitsu Limited Information processing device and processing method for information processing device
CN103699512A (zh) * 2012-09-27 2014-04-02 国际商业机器公司 多线程处理器中的内核间线程备用
CN103870353A (zh) * 2014-03-18 2014-06-18 北京控制工程研究所 一种面向多核的可重构容错系统及方法
CN105426293A (zh) * 2015-10-29 2016-03-23 汉柏科技有限公司 记录内核异常栈及vmcore文件的方法及系统
US20160132382A1 (en) * 2014-11-12 2016-05-12 Samsung Electronics Co., Ltd. Computing system with debug assert mechanism and method of operation thereof
CN106844082A (zh) * 2017-01-18 2017-06-13 联想(北京)有限公司 处理器预测故障分析方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3481737B2 (ja) * 1995-08-07 2003-12-22 富士通株式会社 ダンプ採取装置およびダンプ採取方法
US9038070B2 (en) 2004-09-14 2015-05-19 Synopsys, Inc. Debug in a multicore architecture
US7865774B2 (en) * 2007-09-19 2011-01-04 Cisco Technology, Inc. Multiprocessor core dump retrieval
JP6122290B2 (ja) * 2011-12-22 2017-04-26 三星電子株式会社Samsung Electronics Co.,Ltd. 再配線層を有する半導体パッケージ
TWI625622B (zh) * 2013-10-31 2018-06-01 聯想企業解決方案(新加坡)有限公司 在多核心處理器系統與運作多核心處理器系統的電腦實施方法
US10025650B2 (en) * 2015-09-17 2018-07-17 International Business Machines Corporation Determining a trace of a system dump

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1582428A (zh) * 2001-11-07 2005-02-16 国际商业机器公司 用于在非均衡存储器存取计算机系统中调度任务的方法和设备
CN1794187A (zh) * 2004-12-21 2006-06-28 日本电气株式会社 计算机系统及处理错误的方法
CN102103527A (zh) * 2009-12-21 2011-06-22 上海贝尔股份有限公司 具有错误处理装置的多内核dsp电路和错误处理方法
JP2011159136A (ja) * 2010-02-02 2011-08-18 Seiko Epson Corp 制御装置、制御装置の異常検出・復旧方法および電子機器
CN102971715A (zh) * 2010-07-06 2013-03-13 三菱电机株式会社 处理器装置以及程序
US20140040670A1 (en) * 2011-04-22 2014-02-06 Fujitsu Limited Information processing device and processing method for information processing device
CN102662785A (zh) * 2012-04-12 2012-09-12 青岛海信移动通信技术股份有限公司 一种Android系统内核错误信息获取方法及装置
CN103699512A (zh) * 2012-09-27 2014-04-02 国际商业机器公司 多线程处理器中的内核间线程备用
CN103870353A (zh) * 2014-03-18 2014-06-18 北京控制工程研究所 一种面向多核的可重构容错系统及方法
US20160132382A1 (en) * 2014-11-12 2016-05-12 Samsung Electronics Co., Ltd. Computing system with debug assert mechanism and method of operation thereof
CN105426293A (zh) * 2015-10-29 2016-03-23 汉柏科技有限公司 记录内核异常栈及vmcore文件的方法及系统
CN106844082A (zh) * 2017-01-18 2017-06-13 联想(北京)有限公司 处理器预测故障分析方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928719A (zh) * 2019-11-19 2020-03-27 深圳忆联信息系统有限公司 Ssd低功耗模式异常处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
KR20190037666A (ko) 2019-04-08
US10719382B2 (en) 2020-07-21
US20190102245A1 (en) 2019-04-04
CN109582483B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
US10789161B2 (en) Data storage device to identify and process a sequential read request and operating method thereof
CN110858129A (zh) 数据存储装置及其操作方法
CN110874330B (zh) 非易失性存储器装置、数据存储装置及其操作方法
KR20200085519A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN109992202B (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
CN110413446B (zh) 数据存储设备及其操作方法
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器系统
CN110286847B (zh) 数据存储装置及其操作方法
CN108459978A (zh) 包括非易失性存储器装置的数据存储装置及其操作方法
KR20180113230A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN111752852A (zh) 数据存储装置及数据存储装置的操作方法
CN109582483A (zh) 数据存储装置及其操作方法
US11748025B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
CN109240937A (zh) 数据存储装置及其操作方法
US11481153B2 (en) Data storage device and operating method thereof
CN110032466B (zh) 数据存储装置及其操作方法
CN114385070B (zh) 主机、数据存储装置、数据处理系统以及数据处理方法
CN109840222B (zh) 存储器系统及其操作方法
CN109830251B (zh) 数据存储装置及其操作方法
CN109584937B (zh) 非易失性存储器装置、其操作方法及其数据存储装置
KR102469098B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
CN110442302A (zh) 存储器系统及该存储器系统的操作方法
CN111324302B (zh) 数据存储装置及其操作方法
US11314461B2 (en) Data storage device and operating method of checking success of garbage collection operation
US11429530B2 (en) Data storage device and operating method thereof

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