CN110825315A - 存储器系统、数据处理系统及其操作方法 - Google Patents
存储器系统、数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN110825315A CN110825315A CN201910392877.2A CN201910392877A CN110825315A CN 110825315 A CN110825315 A CN 110825315A CN 201910392877 A CN201910392877 A CN 201910392877A CN 110825315 A CN110825315 A CN 110825315A
- Authority
- CN
- China
- Prior art keywords
- reset
- default state
- firmware
- memory device
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
存储器系统、数据处理系统及其操作方法。一种数据处理系统包括:主机;以及存储器系统,其包括非易失性存储器装置以及被设置为控制非易失性存储器装置的控制器,其中,该控制器包括:第一重置电路,其被设置为将固件从非易失性存储器装置加载到易失性存储器,并设定重置默认状态;第二重置电路,其被设置为当从主机接收到重置请求时确定重置请求的原因是否与重置默认状态一致,并重置存储器系统;以及固件加载确定电路,其被设置为通过检查重置默认状态来确定是否重新加载所述固件。
Description
技术领域
本发明的各种实施方式涉及包括主机和存储器系统的数据处理系统,更具体地,涉及一种在来自主机的重置请求的情况下减少引导时间的数据处理系统及其操作方法。
背景技术
最近,计算机环境范式已转移至普适计算,其允许计算机系统随时随地被使用。结果,诸如移动电话、数字相机和笔记本/膝上型计算机的便携式电子装置的使用迅速增加。通常,这些便携式电子装置使用存储器系统,该存储器系统使用存储器装置,即,数据存储装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
由于不存在机械驱动部件,所以用作存储器装置的这种数据存储装置提供诸如优异的稳定性和耐久性、高信息存取速度和低功耗的优点。具有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各种实施方式涉及一种在重置请求的情况下减少引导时间的数据处理系统及其操作方法。
在实施方式中,一种数据处理系统包括:主机;以及存储器系统,其包括非易失性存储器装置以及被设置为控制非易失性存储器装置的控制器,其中,该控制器包括:第一重置电路,其被设置为将固件从非易失性存储器装置加载到易失性存储器,并设定重置默认状态;第二重置电路,其被设置为当从主机接收到重置请求时确定重置请求的原因是否与重置默认状态一致,并重置存储器系统;以及固件加载确定电路,其被设置为通过检查重置默认状态来确定是否重新加载所述固件。
根据权利要求1所述的数据处理系统,其中,第二重置电路包括被设置为设定存储器系统的重置时间的定时器,并使用该定时器来确定存储器系统的重置是否失败。
第一重置电路可将重置默认状态设定为易失性存储器的比特翻转错误。
第二重置电路可确定重置请求的原因是不是被设定为重置默认状态的比特翻转错误,当重置请求的原因不是比特翻转错误时通过重置请求来检查重置请求的原因以更新重置默认状态,然后重置存储器系统。
第二重置电路可包括被设置为设定存储器系统的重置时间的定时器,并使用该定时器来确定存储器系统的重置是否失败。
固件加载确定电路可检查通过第二重置电路确定的重置默认状态,并且当重置默认状态不是比特翻转错误时不从非易失性存储器装置加载固件。固件加载确定电路可检查通过第二重置电路确定的重置默认状态,并且当重置默认状态是比特翻转错误时从非易失性存储器装置重新加载固件。重置存储器系统可包括主机直接重置控制器和非易失性存储器装置二者的硬件重置和主机通过控制器仅重置非易失性存储器装置的端点重置中的任一个。
在另一实施方式中,提出了一种数据处理系统的操作方法,该数据处理系统包括主机和存储器系统,该存储器系统包括非易失性存储器装置以及用于控制非易失性存储器装置的控制器,该操作方法包括以下步骤:将固件从非易失性存储器装置加载到易失性存储器,并设定重置默认状态;当从主机接收到重置请求时确定重置请求的原因是否与重置默认状态一致,并重置所述存储器系统;以及通过检查重置默认状态来确定是否重新加载固件。
数据处理系统还可包括被设置为设定存储器系统的重置时间的定时器,并使用该定时器来确定存储器系统的重置是否失败。
重置默认状态可指示易失性存储器的比特翻转错误。
确定重置请求的原因是否与重置默认状态一致的步骤可包括确定重置请求原因是不是被设定为重置默认状态的比特翻转错误,当重置请求原因不是比特翻转错误时通过重置请求来检查重置请求原因以更新重置默认状态,并重置存储器系统。
确定重置请求的原因是否与重置默认状态一致的步骤可包括确定重置请求原因是不是被设定为重置默认状态的比特翻转错误,当重置请求原因是比特翻转错误时将重置默认状态维持为比特翻转错误,并重置存储器系统。
确定是否重新加载固件的步骤可包括检查通过确定重置请求的原因是否与重置默认状态一致的步骤确定的重置默认状态,并且当重置默认状态不是比特翻转错误时不从非易失性存储器装置加载固件。
确定是否重新加载固件的步骤可包括检查通过确定重置请求的原因是否与重置默认状态一致的步骤确定的重置默认状态,并且当重置默认状态是比特翻转错误时从非易失性存储器装置重新加载固件。
重置存储器系统可包括主机直接重置控制器和非易失性存储器装置二者的硬件重置和主机通过控制器仅重置所述非易失性存储器装置的端点重置中的任一个。
在另一实施方式中,一种存储器系统包括:存储器装置,其被设置为存储固件;以及控制器,其被设置为控制所述存储器装置,其中,所述控制器被配置为:从存储器装置加载固件;当接收到重置请求时,根据重置请求重置存储器系统;基于重置请求确定是否要重新加载固件;并且当确定要重新加载固件时,从存储器装置重新加载固件。
附图说明
图1示出根据本发明的实施方式的包括存储器系统的数据处理系统。
图2至图4示出根据本发明的实施方式的包括存储器系统的数据处理系统的操作方法的示例。
图5至图13是示出根据本发明的实施方式的存储器系统的示例性应用的图。
具体实施方式
将参照附图详细描述各种实施方式。然而,本公开不限于以下实施方式,而是可按照各种其它配置或布置具体实现。提供本发明的实施方式以使得本公开彻底和完整并将本公开的范围充分传达给本领域技术人员。贯穿说明书,对“实施方式”、“另一实施方式”等的引用未必仅指一个实施方式,对任何这种短语的不同引用未必指相同的实施方式。
图1示出根据实施方式的包括存储器系统110的数据处理系统100。
参照图1,数据处理系统100可包括主机10和存储器系统110。存储器系统110可包括控制器20和非易失性存储器装置30。
主机10可将与用户请求对应的多个命令传送至存储器系统110。然后,存储器系统110可执行与命令对应的操作,即,与用户请求对应的操作。
在描述存储器系统110之前,可假设以下情形:当在引导序列(booting sequence)期间发生错误时或者在正常执行引导序列之后存储器系统110基于正常处理操作的同时,存储器系统110可从主机10接收重置请求。即,由于以下原因,可能发生重置请求。首先,即使固件被正常加载到包括在控制器20中的存储器21的特定区域(例如,易失性存储器的固件存储区域),当固件由于易失性存储器中的问题而没有正确地起作用时,可能发生重置请求。其次,当从主机10接收到改变存储器系统110的设置的命令时,可能发生重置请求。第三,可能由于链路故障等而发生重置请求。当出于上述原因中的任何原因从主机10接收到重置请求时,存储器系统110可从非易失性存储器装置30重新加载固件。然而,除了固件由于易失性存储器中的问题而没有正确地起作用的情况之外,重置请求的原因不是由代码区域的损坏导致的。在这种情况下,不需要从非易失性存储器装置30重新加载固件。因此,由于控制器20不需要从非易失性存储器装置30重新加载固件,引导时间可减少。
有多种方法用于根据来自主机10的重置请求重置存储器系统110。第一种方法是主机10直接重置控制器20和非易失性存储器装置30二者。在第二种方法中,主机10通过控制器20仅重置非易失性存储器装置30。第一种方法和第二种方法之间的一个差异取决于当根据主机10的请求重置存储器系统110时除了非易失性存储器装置30之外是否还重置控制器20。即,在第一种方法中,重置控制器20和非易失性存储器装置30二者。然而,在第二种方法中,不重置控制器20,仅重置非易失性存储器装置30。作为参考,存在不同的方法以适应各种主机10。即,如参照图1所述,存储器系统110可与各种类型的主机10一起使用。根据主机10的类型,可根据第一种方法或第二种方法重置存储器系统110。通常,根据第一种方法重置存储器系统110的操作可指示主机10通过硬件重置方法重置存储器系统110。根据第二种方法重置存储器系统110的操作可指示主机10通过端点重置方法重置存储器系统110。下面作为示例描述根据第一种方法重置控制器20和非易失性存储器装置30二者的硬件重置方法。
在以下描述的上下文中,非易失性存储器装置30是NAND闪存。然而,本发明不限于此。相反,非易失性存储器装置30可包括铁电随机存取存储器(RAM)(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM或ReRAM)和电可擦除可编程ROM(EEPROM)中的任一个。非易失性存储器装置30可包括多个存储器元件。所述多个存储器元件可包括多个存储块。非易失性存储器装置30可被划分成用户可写数据或读数据的用户存储区域以及用户无法使用的非用户存储区域。非用户存储区域可包括装置固件和存储有元数据的闪存转换层(FTL)。
控制器20可包括存储器21和重置管理器电路22。重置管理器电路以及其各个组成元件(下面描述)可利用硬件、软件和固件的任何合适的组合实现。
如本公开中所使用的,术语“电路”可指下列所有:(a)仅硬件电路实现方式(例如,仅模拟和/或数字电路中的实现方式)和(b)电路和软件(和/或固件)的组合(例如(如果适用):(i)处理器的组合或者(ii)一起工作以使得诸如移动电话或服务器的设备执行各种功能的处理器/软件的部分(包括数字信号处理器)、软件和存储器),以及(c)需要软件或固件以进行操作(即使软件或固件不物理存在)的电路(例如,微处理器或微处理器的一部分)。“电路”的此定义适用于本申请中(包括任何权利要求中)的此术语的所有使用。作为另一示例,如本申请中所使用的,术语“电路”也将覆盖仅处理器(或多个处理器)或处理器的部分及其附随软件和/或固件的实现方式。例如并且如果适用于特定权利要求元素,术语“电路”也将覆盖用于存储装置的集成电路。
存储器21可包括随机存取存储器(RAM)和只读存储器(ROM)。RAM可用作中央处理单元(CPU)的工作存储器。RAM可用作缓冲存储器或高速缓存存储器。RAM可包括诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、FRAM、PRAM、MRAM或RRAM的易失性或非易失性存储器。例如,存储器21可包括易失性存储器。以下描述基于这样的假定:存储器21是SRAM。ROM(未示出)可包括存储在其中的ROM代码。当电力施加到存储器系统110时,可首先执行ROM代码。
重置管理器电路22可包括第一重置电路22A、第二重置电路22B和固件(FW)加载确定电路22C。
当从主机10接收到电力时,第一重置电路22A可首先执行引导序列(可预定)。引导序列可包括执行ROM代码、执行固件代码以及将重置默认状态初始化。重置默认状态的初始化可指示当在引导序列期间或者在引导序列之后存储器系统110在正常模式下操作的同时从主机10做出重置请求时,响应于出于特定原因发出的重置请求将重置默认状态初始化以针对固件的异常操作进行准备。例如,重置默认状态可包括比特翻转错误。重置默认状态被设定为比特翻转错误的原因是为了当在引导序列之后存储器系统110在正常模式下操作的同时从主机10接收到重置请求时或者当在引导序列期间从主机10接收到重置请求时选择性地执行固件加载。即,当在引导序列之后存储器系统110在正常模式下操作的同时从主机10接收到重置请求时,控制器20需要无条件地从非易失性存储器装置30重新加载固件。在这种情况下,对从主机10接收的命令的响应速度可减慢。因此,根据实施方式,控制器20可在重置请求的情况下检查重置请求的原因是不是比特翻转错误,并且只有当重置请求原因是比特翻转错误时才从非易失性存储器装置30重新加载固件,从而不仅解决对从主机10接收的命令的响应速度减慢的问题,而且确定实际重置请求原因。
当在引导序列期间从主机10接收到重置请求时,控制器20可检查重置请求原因是不是比特翻转错误,并且仅在重置请求原因是比特翻转错误的情况下才从非易失性存储器装置30重新加载固件,从而减少引导时间。
以下,描述在引导序列之后在正常模式期间从主机10接收到重置请求的情况。当在引导序列之后在正常模式期间从主机10接收到重置请求时,第二重置电路22B可使用第一重置电路22A所设定的重置默认状态来确定重置请求的原因。即,第二重置电路22B可确定重置请求原因是不是比特翻转错误。当确定结果指示重置请求原因不是比特翻转错误时,第二重置电路22B可确定实际重置请求原因,删除重置默认状态,然后更新重置默认状态以反映实际重置请求原因。另一方面,当重置请求原因是比特翻转错误时,第二重置电路22B可不更新重置默认状态。在确定重置请求原因之后,第二重置电路22B可重置存储器系统110。第二重置电路22B可使用设定存储器系统110的重置时间的看门狗定时器等来确定存储器系统110的重置是否失败。当使用看门狗定时器的确定结果指示存储器系统110的重置成功时,第二重置电路22B可结束该过程。另一方面,当确定结果指示存储器系统110的重置失败时,第二重置电路22B可重试重置存储器系统110。
固件加载确定电路22C可使用重置默认状态来检查是否读取固件。即,当重置默认状态是比特翻转错误时,可从非易失性存储器装置30重新读取固件。另一方面,当重置默认状态不是比特翻转错误时,可不重新读取固件。
图2至图4示出根据实施方式的包括存储器系统110的数据处理系统的操作方法的示例。图2示出执行(A)上电重置并设定重置默认状态的方法。图3示出当在正常操作(即,正常处理(B))期间接收到重置请求时在确定(C)硬件(HW)重置的原因之后执行(D)HW重置的方法。图4示出根据重置默认状态确定(E)是否加载固件的方法。
参照图2,在步骤301至307,当从主机10接收到电力(即,上电)时,控制器20可首先执行引导序列(即,第一初始化)。在步骤301,引导序列可包括执行ROM代码、执行固件代码以及将重置默认状态初始化。在上电操作之后,控制器20可执行检查是否可在主机10和存储器系统110之间正常地传送信号(例如,链路启动(Link-startup)、NOP OUT、NOP IN)的操作。然后,控制器20可执行检查是否可从包括在存储器系统110中的非易失性存储器装置30读取数据(例如,读描述符(Read Descriptor)、装置描述符(Device Descriptor))的操作。然后,控制器20可从非易失性存储器装置30的引导加载器区域读取测试数据(例如,测试单元就绪(Test Unit Ready))并检查测试数据是否正常地读取。然后,在步骤303和305,控制器20可向非易失性存储器装置30发送固件读请求并从非易失性存储器装置30读取固件。当通过这种处理完成引导序列时,在步骤307,控制器20可设定重置默认状态。即,当在引导序列期间或者在引导序列之后存储器系统110在正常模式下操作的同时从主机10做出重置请求时,控制器20可基于重置请求原因将重置默认状态初始化以针对固件的异常操作进行准备。例如,重置默认状态可包括比特翻转错误。重置默认状态被设定为比特翻转错误的原因是为了当在引导序列之后存储器系统110在正常模式下操作的同时从主机10接收到重置请求时或者当在引导序列期间从主机10接收到重置请求时,选择性地执行固件加载。即,当在引导序列之后存储器系统110在正常模式下操作的同时从主机10接收到重置请求时,控制器20需要从非易失性存储器装置30重新加载固件。在这种情况下,对从主机10接收的命令的响应速度可减慢。因此,根据实施方式的控制器20可在重置请求的情况下检查重置请求原因是不是比特翻转错误,并且只有当重置请求原因是比特翻转错误时才从非易失性存储器装置30重新加载固件,从而不仅解决对从主机10接收的命令的响应速度减慢的问题,而且确定实际重置请求原因。
当在引导序列期间从主机10接收到重置请求时,控制器20可检查重置请求原因是不是比特翻转错误,并且仅在重置请求原因是比特翻转错误的情况下从非易失性存储器装置30重新加载固件,从而减少引导时间。
以下,参照图3描述在引导序列之后在正常模式期间从主机10接收到重置请求的情况。
在描述图3之前,描述根据来自主机10的重置请求重置存储器系统110的方法。第一种方法是主机10直接重置控制器20和非易失性存储器装置30二者。第二种方法是主机10通过控制器20仅重置非易失性存储器装置30。第一种方法和第二种方法之间的差异取决于当根据主机10的请求重置存储器系统110时除了非易失性存储器装置30之外是否还重置控制器20。即,在第一种方法中,重置控制器20和非易失性存储器装置30二者。然而,在第二种方法中,不重置控制器20;仅重置非易失性存储器装置30。作为参考,第一种方法和第二种方法之间存在差异的原因在于,存在各种主机。即,如参照图1所述,存储器系统110可与各种类型的主机一起使用。根据主机10的类型,可根据第一种方法或第二种方法重置存储器系统110。通常,根据第一种方法重置存储器系统110的操作可指示主机10通过硬件重置方法重置存储器系统110。此外,根据第二种方法重置存储器系统110的操作可指示主机10通过端点重置方法重置存储器系统110。在实施方式中,将以根据第一种方法重置控制器20和非易失性存储器装置30二者的硬件重置方法为例进行描述。
参照图3,在步骤401,在引导序列之后数据处理系统可基于正常处理执行操作(即,正常操作)。正常处理可包括写操作、读操作等。
当在步骤403在正常操作期间从主机10接收到重置请求(例如,硬件(HW)重置请求)时,控制器20可在步骤405和407使用重置默认状态确定重置请求的原因。即,控制器20可确定重置请求原因是不是比特翻转错误。当确定结果指示重置请求原因不是比特翻转错误(步骤407,否)时,在步骤409,控制器20可确定实际重置请求原因,删除重置默认状态,然后更新重置默认状态以反映实际重置请求原因。另一方面,当重置请求原因是比特翻转错误(步骤407,是)时,在步骤411,控制器20可不更新重置默认状态并且可维持重置默认状态作为默认值。在确定重置请求原因之后,即,在步骤409或411之后,控制器20可在步骤413重置存储器系统110。控制器20可使用设定存储器系统110的重置时间的看门狗定时器来确定存储器系统110的重置是否失败。当使用看门狗定时器的确定结果指示存储器系统110的重置成功时,控制器20可结束该过程。另一方面,当确定结果指示存储器系统110的重置失败时,控制器20可重试重置存储器系统110。
参照图4,数据处理系统可在步骤501执行第二初始化。由于第二初始化按照与参照图3描述的第一初始化所对应的引导序列相同的方式执行,所以本文中省略其详细描述。
在步骤503和505,控制器20可使用重置默认状态(即,默认值)来确定是否读取固件。即,当重置默认状态是比特翻转错误(步骤505,是)时,控制器20可在步骤507和511从非易失性存储器装置30重新读取固件。另一方面,当重置默认状态不是比特翻转错误(步骤505,否)时,控制器20可不从非易失性存储器装置30重新读取固件。
参照图5至图13,描述根据实施方式的可应用包括存储器装置30和控制器20的存储器系统110的数据处理系统和电子产品。
图5是示出根据实施方式的包括存储器系统110的数据处理系统的图。图5示出应用存储器系统110的存储卡系统6100。
参照图5,存储卡系统6100包括连接器6110、存储控制器6120和存储器装置6130。
存储控制器6120与存储器装置6130(被实现为非易失性存储器(NVM))连接以便于访问存储器装置6130。例如,存储控制器6120控制存储器装置6130的读操作、写操作、擦除操作和后台操作。存储控制器6120在存储器装置6130与主机(未示出)之间提供接口,并且驱动固件以用于控制存储器装置6130。也就是说,存储控制器6120可对应于上面参照图1描述的存储器系统110中的控制器20,并且存储器装置6130可对应于上面参照图1描述的存储器系统110中的存储器装置30。
因此,存储控制器6120可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和纠错组件的组件。
存储控制器6120可通过连接器6110与外部装置(例如,上面参照图1描述的主机102)通信。例如,如上面参照图1所述,存储控制器6120可被配置为通过诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、Firewire、通用闪存(UFS)、无线保真(WiFi或Wi-Fi)和蓝牙的各种通信协议中的至少一个与外部装置通信。因此,根据实施方式的存储器系统110和数据处理系统可应用于有线和/或无线电子产品,特别是移动电子产品。
存储器装置6130可由诸如电可擦除可编程ROM(EPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)和/或自旋转移扭矩磁RAM(STT-MRAM)的非易失性存储器实现。
控制器6120和存储器装置6130可被集成到一个半导体装置中以形成固态驱动器(SSD)或存储卡,例如PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、紧凑闪存卡(CF)、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、MMCmicro和eMMC)、安全数字(SD)卡(例如,SD、miniSD、microSD和SDHC)或通用闪存(UFS)。
图6是示出根据实施方式的包括存储器系统110的数据处理系统6200的图。
参照图6,数据处理系统6200包括由至少一个非易失性存储器(NVM)实现的存储器装置6230以及控制存储器装置6230的存储控制器6220。数据处理系统6200可以是诸如存储卡(例如,CF,SD和microSD)的存储介质。
存储控制器6220响应于来自主机6210的请求来控制对存储器装置6230的读操作、写操作和擦除操作。存储控制器6220包括至少一个中央处理单元(CPU)6221、缓冲存储器(例如,随机存取存储器(RAM))6222、纠错码(ECC)电路6223、主机接口6224和存储器接口(例如,NVM接口)6225。
CPU 6221可控制存储器装置6230的一般操作,例如读、写、文件系统管理、坏页管理等。RAM 6222根据CPU 6221的控制来操作,并且可用作工作存储器、缓冲存储器、高速缓存存储器等。在RAM 6222用作工作存储器的情况下,由CPU 6221处理的数据被暂时存储在RAM 6222中。在RAM 6222用作缓冲存储器的情况下,RAM 6222用于缓冲要从主机6210发送到存储器装置6230或从存储器装置6230发送到主机6210的数据。在RAM 6222用作高速缓存存储器的情况下,RAM 6222可用于使得存储器装置6230能够高速操作。
ECC电路6223生成用于纠正从存储器装置6230接收的数据中的失败比特或错误比特的纠错码(ECC)。另外,ECC电路6223对要提供给存储器装置6230的数据执行纠错编码,并且生成添加有奇偶校验比特的数据。奇偶校验比特可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行纠错解码。ECC电路6223可使用奇偶校验比特来纠错。例如,如上面参照图1所述,ECC电路6223可使用诸如低密度奇偶校验(LDPC)码、BCH(Bose-Chaudhri-Hocquenghem)码、turbo码、Reed-Solomon码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和块编码调制(BCM)的各种编码调制来纠错。
存储控制器6220通过主机接口6224与主机6210交换数据,并且通过NVM接口6225与存储器装置6230交换数据。主机接口6224可通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围组件互连(PCIe)或NAND接口与主机6210连接。此外,当实现诸如无线保真(WiFi)或长期演进(LTE)的无线通信功能或移动通信协议时,存储控制器6220可通过与外部装置(例如,主机6210或另一外部装置)连接来发送和接收数据。具体地,当存储控制器6220被配置为通过各种通信协议当中的至少一个与外部装置通信时,根据实施方式的存储器系统110和数据处理系统可被应用于有线和/或无线电子产品,特别是移动电子产品。
图7是示出根据实施方式的包括存储器系统110的数据处理系统的图。图7示出应用存储器系统110的固态驱动器(SSD)6300。
参照图7,SSD 6300包括控制器6320以及包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于上面参照图1描述的存储器系统110中的控制器20,并且存储器装置6340可对应于上面参照图1描述的存储器系统110中的存储器装置30。
控制器6320通过多个通道CH1、CH2、CH3、…和CHi与存储器装置6340连接。控制器6320包括至少一个处理器6321、ECC电路6322、主机接口6324、缓冲存储器6325和存储器接口(例如,非易失性存储器接口6326)。
缓冲存储器6325暂时存储从主机6310接收的数据或从包括在存储器装置6340中的多个闪存NVM接收的数据,或者暂时存储多个闪存NVM的元数据(例如,包括映射表的映射数据)。缓冲存储器6325可由诸如(但不限于)动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器,或者诸如(但不限于)铁电RAM(FRAM)、电阻RAM(RRAM或ReRAM)、自旋转移扭矩磁RAM(STT-MRAM)和相变RAM(PRAM)的非易失性存储器实现。尽管图7中示出缓冲存储器6325被设置在控制器6320内部,缓冲存储器6325可被设置到控制器6320外部。
ECC电路6322在编程操作中计算要编程在存储器装置6340中的数据的纠错码值。ECC电路6322在读操作中基于纠错码值对从存储器装置6340读取的数据执行纠错操作。ECC电路6322在对失败数据的恢复操作中对从存储器装置6340恢复的数据执行纠错操作。
主机接口6324针对外部装置(例如,主机6310)提供接口功能,并且非易失性存储器接口6326针对通过多个通道CH1、CH2、CH3、…和CHi连接的存储器装置6340提供接口功能。
当使用各自应用上面参照图1描述的存储器系统110的多个SSD 6300时,可实现数据处理系统,例如独立磁盘冗余阵列(RAID)系统。在RAID系统中,可包括多个SSD 6300以及用于控制所述多个SSD 6300的RAID控制器。在通过从主机6310接收写命令来执行编程操作的情况下,RAID控制器可在多个RAID级别(即,多个SSD 6300)当中与所接收的写命令的RAID级别信息对应地选择至少一个存储器系统110(即,至少一个SSD 6300),并且可将与写命令对应的数据输出到所选择的SSD 6300。另外,在通过从主机6310接收读命令来执行读操作的情况下,RAID控制器可在多个RAID级别(即,多个SSD 6300)当中与所接收的读命令的RAID级别信息对应地选择至少一个存储器系统110(即,至少一个SSD 6300),并且可将从所选择的SSD 6300输出的数据提供给主机6310。
图8是示出根据实施方式的包括存储器系统110的数据处理系统的图。图8示出应用存储器系统110的嵌入式多媒体卡(eMMC)6400。
参照图8,eMMC 6400包括控制器6430以及由至少一个NAND闪存实现的存储器装置6440。控制器6430可对应于上面参照图1描述的存储器系统110中的控制器20,并且存储器装置6440可对应于上面参照图1描述的存储器系统110中的存储器装置30。
控制器6430通过多个通道与存储器装置6440连接。控制器6430包括至少一个核6432、主机接口(I/F)6431和存储器接口(即,NAND接口(I/F))6433。
核6432控制eMMC 6400的一般操作。主机接口6431在控制器6430与主机6410之间提供接口功能。NAND接口6433在存储器装置6440与控制器6430之间提供接口功能。例如,主机接口6431可以是并行接口(例如,MMC接口),可以是串行接口(例如,超高速(UHS)-I/UHS-II和/或UFS接口)。
图9至图11是示出根据实施方式的包括存储器系统110的数据处理系统的示例的图。图9至图11中的每一个示出应用存储器系统110的通用闪存(UFS)。
参照图9至图11,各个UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。各个主机6510、6610、6710和6810可以是有线和/或无线电子产品,特别是移动电子产品的应用处理器等。各个UFS装置6520、6620、6720和6820可以是嵌入式UFS装置。各个UFS卡6530、6630、6730和6830可以是外部嵌入式UFS装置或可移除UFS卡。
在各个UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与外部装置(例如,有线和/或无线电子产品,特别是移动电子产品等)通信。UFS装置6520、6620、6720和6820和UFS卡6530、6630、6730和6830可被实现为上面参照图1描述的存储器系统110。例如,在各个UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可按照上面参照图6至图8描述的数据处理系统6200、SSD 6300或eMMC 6400的形式实现,并且UFS卡6530、6630、6730和6830可按照上面参照图5描述的存储卡系统6100的形式实现。
在各个UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820和UFS卡6530、6630、6730和6830可通过通用闪存(UFS)接口(例如,移动行业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro))执行通信。UFS装置6520、6620、6720和6820和UFS卡6530、6630、6730和6830可通过UFS协议以外的另一协议(例如诸如通用存储总线(USB)闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD的各种卡协议中的任一个)执行通信。
在图9所示的UFS系统6500中,UniPro存在于主机6510、UFS装置6520和UFS卡6530中的每一个中。主机6510执行切换操作以与UFS装置6520和UFS卡6530中的每一个执行通信。具体地,主机6510通过UniPro中的链路层切换(例如,L3切换)来与UFS装置6520或UFS卡6530执行通信。UFS装置6520和UFS卡6530可通过主机6510的UniPro中的链路层切换来执行通信。尽管作为示例描述了一个UFS装置6520和一个UFS卡6530联接到主机6510,要注意的是,多个UFS装置和多个UFS卡可按照并联型或星型布置方式联接到主机6510。另外,多个UFS卡可按照并联型、星型、串联型或链型布置方式中的任一种联接到UFS装置6520。
在图10所示的UFS系统6600中,UniPro存在于主机6610、UFS装置6620和UFS卡6630中的每一个中。主机6610通过执行切换操作的切换模块6640(具体地,执行UniPro中的链路层切换(例如,L3切换操作)的切换模块6640)来与UFS装置6620或UFS卡6630执行通信。UFS装置6620和UFS卡6630可通过切换模块6640的UniPro中的链路层切换来执行通信。尽管作为示例描述了一个UFS装置6620和一个UFS卡6630联接到切换模块6640,要注意的是,多个UFS装置和多个UFS卡可按照并联型或星型布置方式联接到切换模块6640。另外,多个UFS卡可按照并联型、星型、串联型或链型布置方式中的任一种联接到UFS装置6620。
在图11所示的UFS系统6700中,UniPro存在于主机6710、UFS装置6720和UFS卡6730中的每一个中。主机6710通过执行切换操作的切换模块6740(具体地,执行UniPro中的链路层切换(例如,L3切换操作)的切换模块6740)来与UFS装置6720或UFS卡6730执行通信。UFS装置6720和UFS卡6730可通过切换模块6740的UniPro中的链路层切换来执行通信。切换模块6740可在UFS装置6720内部或外部与UFS装置6720实现为一个模块。尽管作为示例描述了一个UFS装置6720和一个UFS卡6730联接到切换模块6740,要注意的是,分别实现切换模块6740和UFS装置6720的多个模块可按照并联型或星型布置方式联接到主机6710。另外,各个模块可按照串联型或链型布置方式联接,或者多个UFS卡可按照并联型或星型布置方式联接到切换模块6740。
在图12所示的UFS系统6800中,M-PHY和UniPro存在于主机6810、UFS装置6820和UFS卡6830中的每一个中。UFS装置6820执行切换操作以与主机6810和UFS卡6830执行通信。具体地,UFS装置6820通过用于与主机6810通信的M-PHY和UniPro模块与用于与UFS卡6830通信的M-PHY和UniPro模块之间的切换(例如,目标标识符(ID)切换)来与主机6810或UFS卡6830执行通信。主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID切换来执行通信。尽管作为示例描述了一个UFS装置6820联接到主机6810并且一个UFS卡6830联接到一个UFS装置6820,要注意的是,多个UFS装置可按照并联型或星型布置方式联接到主机6810。另外,多个UFS卡可按照并联型、星型、串联型或链型布置方式中的任一种联接到一个UFS装置6820。
图13是示出根据实施方式的包括存储器系统110的数据处理系统的图。图13示出应用存储器系统110的用户系统6900。
参照图13,用户系统6900包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
应用处理器6930驱动包括在用户系统6900和操作系统(OS)中的组件。例如,应用处理器6930可包括用于控制包括在用户系统6900中的组件、接口、图形引擎和其它组件的控制器。应用处理器6930可作为系统芯片(SoC)提供。
存储器模块6920可作为用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器操作。存储器模块6920可包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率DDR(LPDDR)SDRAM、LPDDR2SDRAM和/或LPDDR3SDRAM的易失性随机存取存储器(RAM),或者诸如相变RAM(PRAM)、电阻RAM(ReRAM)、磁阻RAM(MRAM)和/或铁电RAM(FRAM)的非易失性随机存取存储器。例如,应用处理器6930和存储器模块6920可作为层叠封装(PoP)安装。
网络模块6940可与外部装置通信。例如,网络模块6940可不仅支持有线通信,而且支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示器(WI-DI)等的各种无线通信,并且由此可与有线和/或无线电子产品,特别是移动电子产品通信。结果,存储器系统110和数据处理系统可被应用于有线和/或无线电子产品。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据(例如,从应用处理器6930接收的数据),并将存储在其中的数据发送到应用处理器6930。存储模块6950可由诸如相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(ReRAM)、NAND闪存、NOR闪存和3维NAND闪存的任一种非易失性存储器实现。另外,存储模块6900可作为诸如外部驱动器或用户系统6900的存储卡的可移除存储介质提供。也就是说,存储模块6950可对应于上面参照图1描述的存储器系统110,并且可被实现为上面参照图8至图13描述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、键区、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电机的用户输出接口。
在上面参照图1描述的存储器系统110被应用于根据实施方式的用户系统6900的移动电子产品的情况下,如上所述,应用处理器6930控制移动电子产品的一般操作,并且作为通信模块的网络模块6940控制与外部装置的有线和/或无线通信。作为移动电子产品的显示和触摸模块的用户接口6910显示由应用处理器6930处理的数据或者支持从触摸面板输入数据。
根据实施方式,从主机接收重置请求的控制器可基于设定的默认状态来确定重置的原因,并确定是否从存储器装置加载固件。通过该操作,控制器可减少引导时间。
此外,接收重置请求的控制器可基于设定的默认状态来确定重置的原因,从而确定实际重置原因。
尽管针对特定实施方式示出并描述了本发明,但是鉴于本公开,对于本领域技术人员而言将显而易见的是,在不脱离以下权利要求中限定的本发明的精神和范围的情况下,可进行各种改变和修改。
相关申请的交叉引用
本申请要求2018年8月14日提交的韩国专利申请No.10-2018-0094979的优先权,其整体通过引用并入本文。
Claims (17)
1.一种数据处理系统,该数据处理系统包括:
主机;以及
存储器系统,该存储器系统包括非易失性存储器装置以及被设置为控制所述非易失性存储器装置的控制器,
其中,所述控制器包括:
第一重置电路,该第一重置电路被设置为将固件从所述非易失性存储器装置加载到易失性存储器,并设定重置默认状态;
第二重置电路,该第二重置电路被设置为当从所述主机接收到重置请求时确定所述重置请求的原因是否与所述重置默认状态一致,并重置所述存储器系统;以及
固件加载确定电路,该固件加载确定电路被设置为通过检查所述重置默认状态来确定是否重新加载所述固件。
2.根据权利要求1所述的数据处理系统,其中,所述第二重置电路包括被设置为设定所述存储器系统的重置时间的定时器,并使用所述定时器来确定所述存储器系统的重置是否失败。
3.根据权利要求1所述的数据处理系统,其中,所述第一重置电路将所述重置默认状态设定为所述易失性存储器的比特翻转错误。
4.根据权利要求1所述的数据处理系统,其中,所述第二重置电路确定所述重置请求的原因是不是被设定为所述重置默认状态的比特翻转错误,当所述重置请求的原因不是所述比特翻转错误时通过所述重置请求来检查所述重置请求的原因以更新所述重置默认状态,然后重置所述存储器系统。
5.根据权利要求1所述的数据处理系统,其中,所述第二重置电路确定所述重置请求的原因是不是被设定为所述重置默认状态的比特翻转错误,当所述重置请求的原因是所述比特翻转错误时将所述重置默认状态维持为所述比特翻转错误,并重置所述存储器系统。
6.根据权利要求4所述的数据处理系统,其中,所述固件加载确定电路检查通过所述第二重置电路确定的所述重置默认状态,并且当所述重置默认状态不是所述比特翻转错误时不从所述非易失性存储器装置加载所述固件。
7.根据权利要求5所述的数据处理系统,其中,所述固件加载确定电路检查通过所述第二重置电路确定的所述重置默认状态,并且当所述重置默认状态是所述比特翻转错误时从所述非易失性存储器装置重新加载所述固件。
8.根据权利要求1所述的数据处理系统,其中,重置所述存储器系统的步骤包括所述主机直接重置所述控制器和所述非易失性存储器装置二者的硬件重置和所述主机通过所述控制器仅重置所述非易失性存储器装置的端点重置中的任一个。
9.一种数据处理系统的操作方法,该数据处理系统包括主机和存储器系统,该存储器系统包括非易失性存储器装置以及用于控制所述非易失性存储器装置的控制器,所述操作方法包括以下步骤:
将固件从所述非易失性存储器装置加载到易失性存储器,并设定重置默认状态;
当从所述主机接收到重置请求时确定所述重置请求的原因是否与所述重置默认状态一致,并重置所述存储器系统;以及
通过检查所述重置默认状态来确定是否重新加载所述固件。
10.根据权利要求9所述的操作方法,其中,所述数据处理系统还包括被设置为设定所述存储器系统的重置时间的定时器,并使用所述定时器来确定所述存储器系统的重置是否失败。
11.根据权利要求9所述的操作方法,其中,所述重置默认状态指示所述易失性存储器的比特翻转错误。
12.根据权利要求9所述的操作方法,其中,确定所述重置请求的原因是否与所述重置默认状态一致的步骤包括以下步骤:确定所述重置请求的原因是不是被设定为所述重置默认状态的比特翻转错误,当所述重置请求的原因不是所述比特翻转错误时通过所述重置请求来检查所述重置请求的原因以更新所述重置默认状态,并重置所述存储器系统。
13.根据权利要求9所述的操作方法,其中,确定所述重置请求的原因是否与所述重置默认状态一致的步骤包括以下步骤:确定所述重置请求的原因是不是被设定为所述重置默认状态的比特翻转错误,当所述重置请求的原因是所述比特翻转错误时将所述重置默认状态维持为所述比特翻转错误,并重置所述存储器系统。
14.根据权利要求9所述的操作方法,其中,确定是否重新加载所述固件的步骤包括以下步骤:检查通过确定所述重置请求的原因是否与所述重置默认状态一致的步骤确定的所述重置默认状态,并且当所述重置默认状态不是比特翻转错误时不从所述非易失性存储器装置加载所述固件。
15.根据权利要求9所述的操作方法,其中,确定是否重新加载所述固件的步骤包括以下步骤:检查通过确定所述重置请求的原因是否与所述重置默认状态一致的步骤确定的所述重置默认状态,并且当所述重置默认状态是比特翻转错误时从所述非易失性存储器装置重新加载所述固件。
16.根据权利要求9所述的操作方法,其中,重置所述存储器系统的步骤包括所述主机直接重置所述控制器和所述非易失性存储器装置二者的硬件重置和所述主机通过所述控制器仅重置所述非易失性存储器装置的端点重置中的任一个。
17.一种存储器系统,该存储器系统包括:
存储器装置,该存储器装置被设置为存储固件;以及
控制器,该控制器被设置为控制所述存储器装置,
其中,所述控制器被配置为:
从所述存储器装置加载所述固件;
当接收到重置请求时,根据所述重置请求重置所述存储器系统;
基于所述重置请求确定是否要重新加载所述固件;并且
当确定要重新加载所述固件时,从所述存储器装置重新加载所述固件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0094979 | 2018-08-14 | ||
KR1020180094979A KR102727418B1 (ko) | 2018-08-14 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825315A true CN110825315A (zh) | 2020-02-21 |
CN110825315B CN110825315B (zh) | 2023-04-28 |
Family
ID=69524082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910392877.2A Active CN110825315B (zh) | 2018-08-14 | 2019-05-13 | 存储器系统、数据处理系统及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11194587B2 (zh) |
CN (1) | CN110825315B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382092A (zh) * | 2020-03-05 | 2020-07-07 | 上海龙旗科技股份有限公司 | 传感器网络、方法及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210023184A (ko) * | 2019-08-22 | 2021-03-04 | 에스케이하이닉스 주식회사 | 런타임 오버레이를 통해 펌웨어를 관리하는 장치 및 방법 |
US11556424B2 (en) * | 2021-01-19 | 2023-01-17 | Western Digital Technologies, Inc. | Non-volatile storage device having fast boot code transfer with low speed fallback |
US11841756B2 (en) | 2021-03-08 | 2023-12-12 | SK Hynix Inc. | Method for information configuration in power mode change for an interconnection protocol, controller and storage device |
US11983073B2 (en) * | 2022-07-27 | 2024-05-14 | Micron Technology, Inc. | Hardware reset management for universal flash storage |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283598A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Method and system for loading processor boot code from serial flash memory |
US20080082814A1 (en) * | 2006-10-03 | 2008-04-03 | Magic Pixel Inc. | Electronic system with nand flash memory storing boot code and highly reliable boot up method |
CN101814035A (zh) * | 2008-11-19 | 2010-08-25 | 英特尔公司 | 允许快速平台重启的方法和系统 |
CN102331947A (zh) * | 2011-10-14 | 2012-01-25 | 中科创达软件科技(北京)有限公司 | 一种Android系统的重启方法 |
CN102360304A (zh) * | 2011-10-18 | 2012-02-22 | 华南理工大学 | 嵌入式微处理器系统及其固件更新方法 |
US20120124362A1 (en) * | 2010-02-01 | 2012-05-17 | Xiaoyong Deng | Apparatus and method for recording reboot reason of equipment |
CN103106083A (zh) * | 2011-11-09 | 2013-05-15 | 北京市三希电子科技开发公司 | 一种固件的加载方法及装置 |
CN103765427A (zh) * | 2011-09-07 | 2014-04-30 | 英特尔公司 | 检验设备的固件完整性 |
CN104360935A (zh) * | 2014-10-17 | 2015-02-18 | 浪潮电子信息产业股份有限公司 | 一种服务器系统崩溃转储收集的方法 |
CN105117246A (zh) * | 2015-08-04 | 2015-12-02 | 晶晨半导体(上海)有限公司 | 电子设备快速启动的方法 |
CN105911885A (zh) * | 2015-02-19 | 2016-08-31 | 洛克威尔自动控制技术股份有限公司 | 用于改善工业控制系统的工业控制器 |
CN107040391A (zh) * | 2015-07-28 | 2017-08-11 | 北京华为数字技术有限公司 | 一种故障检测方法及转发设备 |
CN107656757A (zh) * | 2016-07-25 | 2018-02-02 | 南京中兴新软件有限责任公司 | 操作系统切换方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
US10761938B2 (en) * | 2016-09-30 | 2020-09-01 | Intel Corporation | System and method for granular reset management without reboot |
US10706948B2 (en) * | 2018-07-12 | 2020-07-07 | Allegro Microsystems, Llc | Multi-level memory safety of a sensor integrated circuit |
-
2019
- 2019-04-04 US US16/374,919 patent/US11194587B2/en active Active
- 2019-05-13 CN CN201910392877.2A patent/CN110825315B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283598A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Method and system for loading processor boot code from serial flash memory |
US20080082814A1 (en) * | 2006-10-03 | 2008-04-03 | Magic Pixel Inc. | Electronic system with nand flash memory storing boot code and highly reliable boot up method |
CN101814035A (zh) * | 2008-11-19 | 2010-08-25 | 英特尔公司 | 允许快速平台重启的方法和系统 |
US20120124362A1 (en) * | 2010-02-01 | 2012-05-17 | Xiaoyong Deng | Apparatus and method for recording reboot reason of equipment |
CN103765427A (zh) * | 2011-09-07 | 2014-04-30 | 英特尔公司 | 检验设备的固件完整性 |
CN102331947A (zh) * | 2011-10-14 | 2012-01-25 | 中科创达软件科技(北京)有限公司 | 一种Android系统的重启方法 |
CN102360304A (zh) * | 2011-10-18 | 2012-02-22 | 华南理工大学 | 嵌入式微处理器系统及其固件更新方法 |
CN103106083A (zh) * | 2011-11-09 | 2013-05-15 | 北京市三希电子科技开发公司 | 一种固件的加载方法及装置 |
CN104360935A (zh) * | 2014-10-17 | 2015-02-18 | 浪潮电子信息产业股份有限公司 | 一种服务器系统崩溃转储收集的方法 |
CN105911885A (zh) * | 2015-02-19 | 2016-08-31 | 洛克威尔自动控制技术股份有限公司 | 用于改善工业控制系统的工业控制器 |
CN107040391A (zh) * | 2015-07-28 | 2017-08-11 | 北京华为数字技术有限公司 | 一种故障检测方法及转发设备 |
CN105117246A (zh) * | 2015-08-04 | 2015-12-02 | 晶晨半导体(上海)有限公司 | 电子设备快速启动的方法 |
CN107656757A (zh) * | 2016-07-25 | 2018-02-02 | 南京中兴新软件有限责任公司 | 操作系统切换方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382092A (zh) * | 2020-03-05 | 2020-07-07 | 上海龙旗科技股份有限公司 | 传感器网络、方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20200019444A (ko) | 2020-02-24 |
US11194587B2 (en) | 2021-12-07 |
CN110825315B (zh) | 2023-04-28 |
US20200057653A1 (en) | 2020-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255739B (zh) | 存储器系统及其操作方法 | |
TWI783012B (zh) | 記憶體系統、其操作方法以及包括其的資料處理系統 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN110825315B (zh) | 存储器系统、数据处理系统及其操作方法 | |
CN109284202B (zh) | 控制器及其操作方法 | |
KR102612842B1 (ko) | 메모리 시스템 내 펌웨어를 유지하는 방법 및 장치 | |
CN108268212B (zh) | 控制器及操作方法 | |
CN108257637B (zh) | 存储器系统及其操作方法 | |
CN110322915B (zh) | 存储器装置及其操作方法 | |
CN108932202B (zh) | 存储器系统及其操作方法 | |
CN108427536B (zh) | 存储器系统及其操作方法 | |
CN110189775B (zh) | 接口电路和具有该接口电路的存储装置 | |
CN108536622B (zh) | 存储装置、数据处理系统以及操作存储装置的方法 | |
CN109933468B (zh) | 存储器系统及其操作方法 | |
KR102371264B1 (ko) | 메모리 시스템 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN110196822B (zh) | 存储器装置、存储器控制器和存储器系统及其操作方法 | |
KR20190085647A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN108628755B (zh) | 存储器系统 | |
CN110888819B (zh) | 存储器系统及其操作方法 | |
CN109426448B (zh) | 存储器系统及其操作方法 | |
CN111124035B (zh) | 基于实时时钟管理空闲页面的存储器系统及其操作方法 | |
CN111309518B (zh) | 存储器系统和存储器系统的操作方法 | |
KR20190046169A (ko) | 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법 | |
KR20180123266A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |