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

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

Info

Publication number
CN111367468A
CN111367468A CN201911037634.3A CN201911037634A CN111367468A CN 111367468 A CN111367468 A CN 111367468A CN 201911037634 A CN201911037634 A CN 201911037634A CN 111367468 A CN111367468 A CN 111367468A
Authority
CN
China
Prior art keywords
memory
read
boot
block
data
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.)
Withdrawn
Application number
CN201911037634.3A
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 CN111367468A publication Critical patent/CN111367468A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Abstract

本文描述了存储器系统及其操作方法。一种存储器系统,包括:存储器装置,包括主块和备份主块;以及控制器,适于通过使用从主块或备份主块读取的引导数据来执行引导操作,其中控制器包括:引导管理器,适于在从主块读取引导数据的操作失败时从备份主块读取引导数据;以及测试读取管理器,适于每当引导数据被读取的次数达到阈值时对备份主块执行测试读取操作,并且在测试读取操作失败时对备份主块执行恢复操作。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2018年12月26日提交的韩国专利申请号10-2018-0169485的优先权,其全部内容通过引用并入本文。
技术领域
本发明的各个实施例涉及数据处理系统,并且更具体地涉及用于有效地执行引导(boot)操作的存储器系统以及用于操作存储器系统的方法。
背景技术
计算机环境范例已转移到普适计算,这使得能够随时随地使用计算系统。结果,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可以被用作便携式电子装置的主存储器装置或辅助存储器装置。
与硬盘装置相比,由于它们没有移动部件,存储器系统具有出色的稳定性、耐用性、高信息访问速度和低功耗。具有这样的优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储器卡以及固态驱动器(SSD)。
发明内容
本发明的实施例针对可以通过对备份主块周期性地执行测试读取操作来有效地执行引导操作的存储器系统。
根据本发明的一个实施例,一种存储器系统包括:存储器装置,包括主块和备份主块;以及控制器,适于通过使用从主块或备份主块读取的引导数据来执行引导操作,其中控制器包括:引导管理器,适于在从主块读取引导数据的操作失败时从备份主块读取引导数据;以及测试读取管理单元,适于每当引导数据被读取的次数达到阈值时对备份主块执行测试读取操作,并且在测试读取操作失败时对备份主块执行恢复操作。
根据本发明的另一实施例,一种用于操作存储器系统的方法包括:通过使用从存储器装置的主块或备份主块读取的引导数据来执行引导操作,其中执行引导操作包括:当从主块读取引导数据的操作失败时,从备份主块读取引导数据;以及每当引导数据被读取的次数达到阈值时,对备份主块执行测试读取操作;以及在测试读取操作失败时,对备份主块执行恢复操作。
根据本发明的另一实施例,一种存储器系统包括:存储器装置,包括用于存储引导数据的主块和备份块;以及控制器,适用于:从主块读取引导数据;通过使用所读取的引导数据来执行引导操作;以及在执行引导操作之后,周期性地执行从备份块读取引导数据的测试读取操作。
控制器可以进一步适于在测试读取操作失败时对备份块执行恢复操作。
附图说明
图1是图示根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是图示在图1所示的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是图示图1所示的存储器装置中的存储器块的存储器单元阵列的示例性配置的电路图。
图4是图示根据本发明的实施例的存储器系统的存储器装置的结构的框图。
图5是示出示意性地图示了3位多级单元(3位MLC)非易失性存储器装置的编程状态和擦除状态的阈值电压分布的图。
图6是示出示意性地图示了由于3位MLC非易失性存储器装置的特性劣化而导致的编程状态和擦除状态的阈值电压分布的图。
图7是图示常规引导数据读取操作的流程图。
图8是图示根据本发明的实施例的存储器系统的操作的流程图。
图9是图示根据本发明的实施例的数据处理系统的框图。
图10是图示根据本发明的实施例的恢复操作的框图。
图11至图19是示意性地图示根据本发明的各个实施例的数据处理系统的示例性应用的图。
具体实施方式
下面参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式体现,并且不应被解释为限于本文所阐述的实施例。相反,提供这些实施例是为了使本公开透彻和完整,并将本发明的范围充分传达给本领域技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部分。
注意,对“一个实施例”、“另一实施例”等的参考不一定意味着仅一个实施例,并且对任何这样的短语的不同参考不一定针对相同的(一个或多个)实施例。
将理解,尽管在本文中可以使用术语“第一”和/或“第二”来标识各种要素,但是这些要素不应受这些术语的限制。这些术语仅用于区分一个要素和另一要素。在不脱离本公开的教导的情况下,一个实例中的第一要素可以被称为另一实例中的第二要素,反之亦然。
将理解,当一个元件被称为“耦合”或“连接”到另一元件时,它可以直接耦合或连接到另一元件或者在它们之间可以存在一个或多个中间元件。相反,应理解,当一个元件被称为“直接耦合”或“直接连接”至另一元件时,不存在中间元件。描述元件之间关系的其他表述(例如,“之间”、“直接在......之间”、“与......相邻”或“与......直接相邻”)应以相同的方式进行解释。
本文所使用的术语仅出于描述特定实施例的目的,而不旨在限制。在本公开中,除非上下文另外明确指出,否则单数形式也旨在包括复数形式,反之亦然。还将理解,当在本说明书中使用时,开放式术语“包括”、“包含”、“具有”等指定存在所陈述的特征、数、步骤、操作、元件、部件和/或其组合,但不排除存在或附加一个或多个其他特征、数、步骤、操作、元件、部件和/或其组合。
本文描述的实施例仅为了理解本公开的技术精神;本发明的范围不限于所公开的实施例。对于本公开所属领域的技术人员显而易见的是,根据本公开,可以对所公开的任何实施例进行基于本公开的技术精神的各种修改。
除非另有定义,否则本文所使用的包括技术和科学术语在内的所有术语具有与本公开所属领域的普通技术人员通常所理解的相同含义。除非在本公开中另外定义,否则不应以理想的或过度正式的方式来解释这些术语。
下面参考附图来详细描述本发明的各种实施例。
图1是图示根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参考图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任一个,或者诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任一个。
主机102可以包括至少一个操作系统(OS)或多个操作系统。主机102可以在存储器系统110上执行OS,以执行与用户的请求相对应的操作。这里,主机102可以向存储器系统110提供与用户的请求相对应的多个命令。因此,存储器系统110可以执行与多个命令相对应(即,与用户的请求相对应)的某些操作。OS可以管理并控制主机102的整体功能和操作。OS可以使用数据处理系统100或存储器系统110来支持主机102和用户之间的操作。
存储器系统110可以响应于来自主机102的请求而操作或执行特定功能或操作。特别地,存储器系统110可以存储待由主机102访问的数据。存储器系统110可以用作主机102的主存储器系统或辅助存储器系统。存储器系统110可以利用各种类型的存储装置中的任一个来实现,存储装置可以根据主机接口的协议与主机102电耦合。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)和嵌入式MMC(eMMC)。
存储器系统110可以包括各种类型的存储装置。这样的存储装置的非限制性示例包括易失性存储器装置(诸如动态随机存取存储器(DRAM)和静态RAM(SRAM))以及非易失性存储器装置(诸如只读存储器(ROM)、掩码ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)和闪存)。
存储器系统110可以包括控制器130和存储器装置150。
控制器130和存储器装置150可以被集成到单个半导体装置中,单个半导体装置可以包括在如上所述的各种类型的存储器系统中的任一个中。例如,控制器130和存储器装置150可以集成为单个半导体装置,以构成固态驱动器(SSD)、个人计算机存储器卡国际协会(PCMCIA)卡、安全数字(SD)卡(例如,小型SD、微型SD和SD高容量(SDHC))和/或通用闪存(UFS)装置。存储器系统110可以被配置作为计算机、智能电话、便携式游戏机或构成计算系统的各种部件中的任一个的一部分。
存储器装置150可以是即使不供电也可以保留所存储的数据的非易失性存储器装置。存储器装置150可以通过写入操作来存储从主机102提供的数据,并且可以通过读取操作将存储在其中的数据输出到主机102。在一个实施例中,存储器装置150可以包括多个存储管芯(未示出),并且每个存储管芯可以包括多个平面(未示出)。每个平面可以包括多个存储器块152至156,每个存储器块可以包括多个页,每个页可以包括耦合到字线的多个存储器单元。在一个实施例中,存储器装置150可以是具有3维(3D)堆叠结构的闪存。
下面参考图2至图4来详细描述存储器装置150的结构和存储器装置150的3D堆叠结构。
控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取、写入、编程和擦除操作。
更具体地,控制器130可以包括全部经由内部总线在操作上耦合或接合的主机接口(I/F)132、处理器134、纠错码(ECC)部件138、存储器接口142和存储器144。如下面参考图9所描述,控制器130可以进一步包括引导管理器902和测试读取管理器904。
主机接口132可以对主机102的命令和数据进行处理。主机接口132可以通过各种接口协议(诸如通用串行总线(USB)、多媒体卡(MMC)、外围部件互连快速(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和集成驱动电子装置(IDE))中的一个或多个来与主机102通信。可以经由固件(即,用于与主机102交换数据的主机接口层(HIL))来驱动主机接口132。
ECC部件138可以纠正待由存储器装置150处理的数据的错误位,并且可以包括ECC编码器和ECC解码器。ECC编码器可以对待编程到存储器装置150中的数据执行纠错编码,以生成添加有奇偶校验位的数据。包括奇偶校验位的数据可以存储在存储器装置150中。ECC解码器可以检测并纠正从存储器装置150读取的数据中包含的错误。ECC部件138可以通过编码调制(诸如低密度奇偶校验(LDPC)码、Bose-Chaudhri-Hocquenghem(BCH)码、turbo码、Reed-Solomon(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和块编码调制(BCM))来执行纠错。然而,ECC部件138不限于这些纠错技术。这样,ECC部件138可以包括用于执行适当的纠错的任何和所有电路、模块、系统或装置。
存储器接口142可以用作控制器130和存储器装置150之间的存储器/存储接口,使得控制器130可以响应于来自主机102的请求来控制存储器装置150。
存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
存储器144可以是易失性存储器。例如,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可以被设置在控制器130内部或外部。在一个实施例中,如图1所示,存储器144可以被设置在控制器130内。在另一实施例中,存储器144可以是具有用于在存储器144和控制器130之间传递数据的存储器接口的外部易失性存储器。
如上所述,存储器144可以包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存和映射缓冲器/高速缓存,以存储执行主机102和存储器装置150之间的数据写入和读取操作所需的一些数据以及控制器130和存储器装置150执行这些操作所需的其他数据。
处理器134可以控制存储器系统110的整体操作。处理器134可以使用固件来控制存储器系统110的整体操作。固件可以称为闪存转译层(FTL)。可以利用微处理器或中央处理单元(CPU)来实现处理器134。
例如,控制器130可以通过处理器134在存储器装置150中执行由主机102所请求的操作。此外,控制器130可以通过处理器134在存储器装置150上执行后台操作。后台操作可以包括:将存储在存储器装置150的存储器块152至156之中的一些存储器块中的数据复制并处理到其他存储器块中的操作(即,垃圾收集(GC)操作)、在存储器块152至156的所选择的存储器块之间交换数据的操作(即,损耗均衡(WL)操作)、将存储在控制器130中的映射数据存储在存储器块152至156中的操作(即,映射刷新操作)、或管理存储器装置150的坏块的操作(即,检测并处理存储器装置150中的存储器块152至156之中的坏块的坏块管理操作)。
参考图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是图示存储器装置150的示意图。图3是图示存储器装置150中的存储器块330的存储器单元阵列的示例性配置的图。图4是图示存储器装置150的示例性三维(3D)结构的图。
参考图2,存储器装置150可以包括多个存储器块BLOCK0至BLOCKN-1,其中N是大于1的整数。块BLOCK0至BLOCKN-1中的每一个可以包括多个页(例如,2M个或M个页),页的数目可以根据电路设计而变化,M是大于1的整数。每个页可以包括耦合到多个字线WL的多个存储器单元。
相应存储器块BLOCK0至BLOCKN-1中的存储器单元可以是存储1位数据的单级单元(SLC)或存储2位数据的多级单元(MLC)中的一个或多个。因此,根据可以在存储器块中的每个存储器单元中表达或存储的位的数目,存储器装置150可以包括包含SLC的存储器块(即,SLC存储器块)或包含MLC的存储器块(即,MLC存储器块)。SLC存储器块可以包括由存储器单元体现的多个页,每个存储器单元存储一位数据。与MLC存储器块相比,SLC存储器块通常可以具有更高的数据计算性能和更高的耐用性。MLC存储器块可以包括由存储器单元体现的多个页,每个存储器单元存储多位数据(例如,2位或更多位)。与SLC存储器块相比,MLC存储器块通常可以具有更大的数据存储空间(即,更高的集成密度)。在另一实施例中,存储器装置150可以包括多个三级单元(TLC)存储器块。TCL存储器块可以包括由存储器单元体现的多个页,每个存储器单元能够存储3位数据。在又一实施例中,存储器装置150可以包括多个四级单元(QLC)存储器块。QLC存储器块可以包括由存储器单元体现的多个页,每个存储器单元能够存储4位数据。
代替非易失性存储器,可以由相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电式随机存取存储器(FRAM)和自旋转移力矩磁性随机存取存储器(STT-RAM或STT-MRAM)中的任一个来实现存储器装置150。
存储器块210、220、230、240可以通过编程操作来存储从主机102传递的数据,并且可以通过读取操作来将存储在其中的数据传递至主机102。
参考图3,表示存储器装置150的存储器块中的任一个的存储器块330可以包括耦合到多个对应位线BL0至BLm-1的多个单元串340。每一列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,可以将多个存储器单元MC0至MCn-1串联耦合。在一个实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以由能够存储多个位的数据信息的MLC来体现。单元串340中的每一个可以电耦合到多个位线BL0至BLm-1之中的对应位线。例如,如图3所示,第一单元串耦合到第一位线BL0,而最后单元串耦合到最后位线BLm-1。
尽管图3图示了NAND闪存单元,但是本发明不限于此。注意,存储器单元可以是NOR闪存单元,或者是包括组合在其中的两个或更多个类型的存储器单元的混合闪存单元。此外,应注意,存储器装置150可以是包括导电浮栅作为电荷存储层的闪存装置或包括绝缘层作为电荷存储层的电荷陷阱闪存(CTF)装置。
存储器装置150可以进一步包括电压源310,电压源310根据操作模式生成包括编程电压、读取电压和通过电压的不同字线电压来提供给字线。电压源310的电压生成操作可以由控制电路(未示出)控制。在控制电路的控制下,电压源310可以选择存储器单元阵列的存储器块(或扇区)中的至少一个,选择所选择的存储器块的字线中的至少一个,并且根据需要将字线电压提供给所选择的(一个或多个)字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取(感测和放大)数据的感测放大器。在编程操作期间,读取/写入电路320可以用作写入驱动器,以用于根据待存储在存储器单元阵列中的数据来向位线提供电压或电流。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据,并且根据所接收的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页缓冲器322至326。页缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
存储器装置150可以由二维(2D)或三维(3D)存储器装置体现。特别地,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来体现。当存储器装置150具有3D结构时,存储器装置150可以包括多个存储器块BLK0至BLKN-1。在本文中,图4是图示图1所示的存储器装置150的存储器块152、154和156的框图。存储器块152、154和156中的每一个可以以3D结构(或垂直结构)实现。例如,存储器块152、154和156中的每一个可以是维度在第一至第三方向(例如,x轴方向、y轴方向和z轴方向)上延伸的3D结构。
存储器装置150中的每一个存储器块330可以包括在第二方向上延伸的多个NAND串NS。多个NAND串NS在第一方向和第三方向上延伸。这里,NAND串NS中的每一个可以耦合到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一条虚设字线DWL和公共源极线CSL,并且NAND串NS中的每一个可以包括多个晶体管结构TS。
简而言之,存储器装置150的存储器块152、154和156之中的每一个存储器块330可以耦合到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚设字线DWL和多个公共源极线CSL,并且每个存储器块330可以包括多个NAND串NS。在每个存储器块330中,一个位线BL可以耦合到多个NAND串NS,以在一个NAND串NS中实现多个晶体管。每个NAND串NS的串选择晶体管SST可以耦合到对应的位线BL,并且每个NAND串NS的接地选择晶体管GST可以耦合到公共源极线CSL。在本文中,可以在每个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间提供存储器单元MC。换言之,可以在存储器装置150的存储器块152、154和156的每一个存储器块330中实现多个存储器单元。
如上文参考图2所述,闪存可以根据存储在每个存储器单元中的位的数目来确定可以存储在每个存储器单元中的数据的状态。每个单元存储1位数据的存储器单元被称为单个位单元或单级单元(SLC)。每个单元存储多位数据(即,2个或更多位数据)的存储器单元被称为多位单元、多级单元(MLC)或多状态单元。MLC对于高度集成是有利的。然而,随着在每个存储器单元中编程的位的数目的增加,可靠性降低并且读取失败率增加。
例如,当k位要被编程在存储器单元中时,2k个阈值电压中的一个形成在存储器单元中。由于存储器单元的电特性之间的微小差异,被编程用于相同数据的存储器单元的阈值电压形成阈值电压分布。阈值电压分布分别对应于表示k位信息的2k个数据值。
然而,可用于阈值电压分布的电压窗口是有限的。因此,随着值k增加,阈值电压分布之间的距离减小并且相邻的阈值电压分布彼此重叠。当相邻的阈值电压分布彼此重叠时,所读取的数据可以包括几个或几十个错误位。
图5是示意性地图示了3位MLC非易失性存储器装置的编程和擦除状态的阈值电压分布。
图6是示意性地示出了由于3位MLC非易失性存储器装置的特性劣化而导致的编程和擦除状态的阈值电压分布。
在MLC非易失性存储器装置(例如,能够在单个存储器单元中存储k位数据的MLC闪存装置)中,存储器单元可以具有2k个阈值电压分布中的一个。例如,3位MLC具有8个阈值电压分布中的一个。
由于存储器单元之间的特性差异,被编程用于相同数据的存储器单元的阈值电压形成阈值电压分布。如图5所示,在3位MLC非易失性存储器装置中,与包括7个编程状态“P1”至“P7”和擦除状态“E”的数据状态相对应地形成阈值电压分布。图5示出了其中阈值电压分布不重叠并且在其间具有读取电压余裕的理想情况。
参考图6,存储器单元可能随着时间经历电荷损失,在浮置栅极或隧道氧化物膜处捕获的电子放电。当隧道氧化物膜由于迭代编程和擦除操作而劣化时,这样的电荷损失可能加速。电荷损失导致存储器单元的阈值电压降低。例如,如图6所示,阈值电压分布可能由于电荷损失而向左偏移。
此外,编程干扰、擦除干扰和/或反向模式相关性导致阈值电压增加。如图6所示,随着存储器单元的特性劣化,相邻的阈值电压分布可能重叠。
一旦相邻阈值电压分布重叠,当特定读取电压被施加到所选择的字线时,读取数据可能包括大量错误。例如,当根据施加到所选择的字线的读取电压Vread3所感测到的存储器单元的状态为接通时,确定存储器单元具有第二编程状态“P2”。当根据施加到所选择的字线的读取电压Vread3的所感测到的存储器单元的状态为关断时,存储器单元被确定具有第三编程状态“P3”。然而,当相邻的阈值电压分布重叠时,实际上具有第三编程状态“P3”的存储器单元可能被错误地确定为具有第二编程状态“P2”。
主块MASTER_BLK可以存储用于引导操作的引导加载程序和固件(FW)(统称为引导数据)。当从主机102提供引导命令CMD_BOOT时,控制器130可以控制存储器装置150从主块读取引导数据。控制器130可以通过使用所读取的引导数据来执行引导操作。
当主块由于先前参考图6描述的电荷损失或编程干扰现象而劣化时,由存储器装置150从主块读取的引导数据可能包括不可纠正的纠错码(UECC)错误。当从主块读取的引导数据包括UECC错误时,控制器130可以将对引导数据执行的读取操作(即,引导数据读取操作)处理为失败。当引导数据读取操作失败时,控制器130可能不能使用所读取的引导数据来执行引导操作。
控制器130可以控制存储器装置150以存储用于主块的备份数据,以应对主块被严重劣化以至于引导操作不被执行的情况。控制器130可以控制存储器装置150以执行将存储在主块中的引导数据复制到备份主块中的备份操作。因此,当在主块上的引导数据读取操作失败时,控制器130可以控制存储器装置150从备份主块读取引导数据。
图7是图示常规引导数据读取操作的流程图。
参考图7,在步骤S702中,图1的控制器130可以响应于从主机102提供的引导命令CMD_BOOT来控制存储器装置150以读取存储在主块MASTER_BLK中的引导数据。引导数据可以统一指代执行引导操作所需的数据,并且可以包括引导加载程序和固件。存储器装置150可以向控制器130提供从主块读取的引导数据。
在步骤S704中,控制器130可以检测并且纠正在步骤S702中提供的引导数据中的错误。当引导数据中的错误被纠正时,控制器130可以将引导数据读取操作处理为已通过。当控制器130已将引导数据读取操作处理为已通过时(在步骤S704中的“否”),在步骤S710中,控制器130可以使用经纠正的引导数据来执行引导操作。
当控制器130将引导数据读取操作处理为失败时(在步骤S704中的“是”),在步骤S706中,控制器130可以控制存储器装置150以读取存储在备份主块BACK-UP_BLK中的引导数据。当控制器130未纠正引导数据中的错误时,控制器130可以将引导数据读取操作处理为失败。例如,当引导数据中包括的错误位的数目大于或等于可以预先确定的阈值时,或者当引导数据中的错误是UECC错误时,控制器130可以将引导数据读取操作处理为失败。存储器装置150可以向控制器130提供从备份主块读取的引导数据。
在步骤S708中,控制器130可以检测并且纠正在步骤S706中提供的引导数据中的错误。当引导数据中的错误被纠正时,控制器130可以将引导数据读取操作处理为已通过。当控制器130将引导数据读取操作处理为已通过时(在步骤S708中的“否”),可以在步骤S710中使用经纠正的引导数据来执行引导操作。当控制器130将引导数据读取操作处理为失败时(在步骤S708中的“是”),控制器130可以在步骤S712中将引导操作处理为失败。
根据常规的引导数据读取操作,仅在每当提供引导命令CMD_BOOT时通过从主块读取引导数据来重复执行引导操作的过程中对主块的读取操作失败时,控制器130可以读取存储在备份主块中的引导数据。由于控制器130在对主块执行读取操作时不对备份主块执行读取操作,备份主块不会由于编程干扰而劣化(这在前面已参考图6进行了描述),但可能会由于电荷损失而劣化。当备份主块由于电荷损失等而劣化时,在针对主块的读取操作失败之后针对备份主块执行读取操作时刻的备份主块已经被劣化,针对备份主块的读取操作可能会失败。
如上所述,除非针对主块的读取操作失败,否则控制器130可能不针对备份主块执行读取操作。因此,可能存在这样的担忧:在针对主块的读取操作失败并且因此读取备份主块时,不能确保备份主块的完整性。由于引导操作的失败是致命的,控制器130可以生成备份主块以应对对主块的读取操作失败的情况。然而,当在备份主块要被读取的时刻不能确保备份主块的完整性时,引导操作很可能会失败。
根据本发明的实施例,控制器130可以控制存储器装置150以执行对备份主块周期性地执行读取操作的测试读取操作。因此,读取操作不仅在对主块的读取操作已失败时对备份主块执行。当作为测试读取操作的结果而确定备份主块劣化时,控制器130可以对备份主块执行恢复操作。因此,根据本发明的实施例,当作为周期性地执行测试读取操作的结果备份主块劣化时,控制器130可以通过对备份主块执行恢复操作来每当在对主块执行的读取操作被处理为失败之后要对备份主块执行读取操作时确保供使用的备份主块的完整性。
图8是图示根据本发明的实施例的存储器系统110的操作的流程图。
参考图8,在步骤S802中,控制器130可以响应于从主机102提供的引导命令CMD_BOOT而控制存储器装置150以读取存储在主块MASTER_BLK中的引导数据。例如,用户可以通过按下引导按钮来向控制器130提供引导命令CMD_BOOT。引导数据可以统一指代控制器130执行引导操作所需的数据,并且可以包括引导加载程序和固件。存储器装置150可以向控制器130提供从主块MASTER_BLK读取的第一引导数据DATA_BOOT1。
在步骤S804中,当控制器130在步骤S802中读取引导数据时,控制器130可以增加计数值k。根据本发明的实施例,每当存储器装置150读取引导数据时,控制器130可以增加计数值k以保持这样的读取的累积计数。此外,当计数值k达到阈值TH时(步骤S816中的“是”),在步骤S818中,控制器130可以控制存储器装置150以对备份主块BACK-UP_BLK执行测试读取操作。控制器130可以将关于计数值的信息存储在存储器144中,并且可以控制存储器装置150以将关于计数值的信息编程在存储器块中,以应对突然断电(SPO)。
在读取主块MASTER_BLK中的引导数据(步骤S802)并且将k递增(步骤S804)之后,在步骤S806中,控制器130可以检测并且纠正在步骤S802中提供的第一引导数据DATA_BOOT1中的错误。当第一引导数据DATA_BOOT1中的错误被纠正时,控制器130可以将引导数据读取操作处理为已通过。当控制器130将引导数据读取操作处理为已通过时(步骤S806中的“否”),在步骤S814中,控制器130可以通过使用经纠正的引导数据来执行引导操作。
当控制器130将引导数据读取操作处理为失败时(步骤S806中的“是”),在步骤S808中,控制器130可以控制存储器装置150以读取存储在备份主块BACK-UP_BLK中的引导数据。当引导数据中的错误未被纠正时,控制器130可以将引导数据读取操作处理为失败。根据本发明的实施例,当引导数据中的错误位的数目大于或等于阈值或者引导数据中的错误是不可纠正的错误(即,UECC错误)时,控制器130可以将引导数据读取操作处理为失败。存储器装置150可以向控制器130提供从备份主块BACK-UP_BLK读取的第二引导数据DATA_BOOT2。
在步骤S810中,当控制器130在步骤S808中读取引导数据时,控制器130可以增加计数值k。根据本发明的实施例,如上所述,每当存储器装置150读取引导数据时,控制器130就可以增加计数值k。因此,不仅在步骤S802中从主块MASTER_BLK读取引导数据时,而且在步骤S808中从备份主块BACK-UP_BLK读取数据时,都可以增加计数值k。
在步骤S812中,控制器130可以检测并且纠正在步骤S808中提供的第二引导数据DATA_BOOT2中的错误。当第二引导数据DATA_BOOT2中的错误被纠正时,控制器130可以将引导数据读取操作处理为已通过。当控制器130将引导数据读取操作处理为已通过时(步骤S812中的“否”),可以在步骤S814中使用经纠正的引导数据来执行引导操作。当控制器130将引导数据读取操作处理为失败时(步骤S812中的“是”),控制器130可以将引导操作处理为失败。
根据本发明的实施例,每当计数值k达到阈值TH时,控制器130可以对备份主块BACK-UP_BLK执行测试读取操作和恢复操作,稍后描述阈值TH。由于在步骤S808中对备份主块BACK-UP_BLK执行引导数据读取操作时可以确保备份主块BACK-UP_BLK的完整性,在步骤S812中引导数据读取操作不太可能被处理为失败。
在步骤S814中,当引导数据如上所述被成功读取时(步骤S806中的“否”或步骤S812中的“否”),控制器130可以执行引导操作。根据本发明的实施例,控制器130可以对备份主块BACK-UP_BLK周期性地执行测试读取操作,这将在稍后描述。以此方式,可以减少在步骤S808中读取的第二引导数据DATA_BOOT2中的错误位的数目。因此,可以在步骤S812中以相对较高的概率来纠正第二引导数据DATA_BOOT2中的错误。
在步骤S816中,控制器130可以将计数值k与阈值TH进行比较。根据本发明的实施例,当计数值k尚未达到阈值TH时(步骤S816中的“否”),控制器130可以响应于从主机102提供的引导命令CMD_BOOT而返回到步骤S802来重复步骤S802至S814的操作。
在步骤S818中,当计数值k达到阈值TH时(步骤S816中的“是”),控制器130可以控制存储器装置150以执行测试读取操作150。控制器130可以控制存储器装置150以执行读取存储在备份主块BACK-UP_BLK中的引导数据的测试读取操作。存储器装置150可以根据测试读取操作,向控制器130提供从备份主块BACK-UP_BLK读取的第三引导数据DATA_BOOT3。
在步骤S820中,控制器130可以检测并且纠正在步骤S818中提供的第三引导数据DATA_BOOT3中的错误。当第三引导数据DATA_BOOT3中的错误被纠正时(步骤S820中的“否”),控制器130可以在步骤S824中将计数值k初始化为“0”,然后返回步骤S802以重复步骤S802至S822的操作。
在步骤S822中,当控制器130无法纠正第三引导数据DATA_BOOT3中的错误并且将引导数据读取操作处理为失败时(步骤S820中的“是”),控制器130可以控制存储器装置150以对备份主块BACK-UP_BLK执行恢复操作。控制器130可以根据恢复操作来生成除了主块MASTER_BLK以外的用于存储引导数据DATA_BOOT的新块,并且将该新块用作针对主块MASTER_BLK的备份块,并且将经劣化的备份主块BACK-UP_BLK处理为坏块。例如,控制器130可以分配新块,并且控制存储器装置150以将主块MASTER_BLK中包括的引导数据BOOT_DATA复制到所分配的块中。所分配的新块可以是没有由于电荷损失或编程干扰而劣化的块。根据本发明的实施例,控制器130可以通过将所分配的新块用作备份主块BACK-UP_BLK来减少在步骤S812中从备份主块BACK-UP_BLK读取的第二引导数据DATA_BOOT2中包括的错误位的数目。
在步骤S824中,控制器130可以将计数值k初始化为“0”,然后返回至步骤S802以重复步骤S802至S822的操作。控制器130可以在执行测试读取操作之后将计数值k初始化,并且由此每当计数值k达到阈值TH时控制存储器装置150以对备份主块BACK-UP_BLK执行测试读取操作,每当响应于引导命令CMD_BOOT而读取引导数据时计数值k递增。
图9是图示根据本发明的实施例的数据处理系统100的框图。例如,图9仅示意性地示出了图1的数据处理系统100中与本发明有关的组成元件。
参考图9,图1的控制器130可以进一步包括引导管理器902和测试读取管理器904。存储器装置150可以包括主块MASTER_BLK和备份主块BACK-UP_BLK。
引导管理器902可以响应于从主机102提供的引导命令CMD_BOOT而控制存储器装置150以读取存储在主块MASTER_BLK中的引导数据。存储器装置150可以向ECC部件138提供从主块读取的第一引导数据DATA_BOOT1。每当存储器装置150从主块MASTER_BLK读取第一引导数据DATA_BOOT1时,ECC部件138可以向测试读取管理器904提供第一触发信号SIG_TRIG1。
测试读取管理器904可以响应于所提供的第一触发信号SIG_TRIG1而增加计数值k。根据本发明的实施例,通过每当接收来自ECC部件138的第一触发信号SIG_TRIG1时增加计数值k,测试读取管理器904可以在每当存储器装置150读取引导数据时增加计数值k。测试读取管理器904可以将关于计数值的信息INFO_COUNT存储在存储器144中,并且可以控制存储器装置150以将关于计数值的信息INFO_COUNT编程在存储器块950中以应对突然断电(SPO)。
ECC部件138可以检测并且纠正第一引导数据DATA_BOOT1中的错误。当第一引导数据DATA_BOOT1中的错误被纠正时,ECC部件138可以将对主块MASTER_BLK的引导数据读取操作处理为已通过。当ECC部件138将对主块MASTER_BLK的引导数据读取操作处理为已通过时,ECC部件138可以向引导管理器902提供经纠正的第一引导数据DATA_BOOT1'。当第一引导数据DATA_BOOT1中的错误未被纠正时,ECC部件138可以将对主块MASTER_BLK的引导数据读取操作处理为失败。当对主块MASTER_BLK的引导数据读取操作被处理为失败时,ECC部件138可以向引导管理器902提供第一失败信号SIG_FAIL1。
引导管理器902可以使用所提供的第一引导数据DATA_BOOT1'来执行引导操作。在完成引导操作之后,引导管理器902可以向测试读取管理器904提供第一完成信号SIG_COMPLETE1。而且,引导管理器902可以响应于从ECC部件138提供的第一失败信号SIG_FAIL1,控制存储器装置150以读取存储在备份主块BACK-UP_BLK中的引导数据。存储器装置150可以向ECC部件138提供从备份主块BACK-UP_BLK中读取的第二引导数据DATA_BOOT2。每当存储器装置150从备份主块BACK-UP_BLK读取第二引导数据DATA_BOOT2时,ECC部件138可以向测试读取管理器904提供第二触发信号SIG_TRIG2。
测试读取管理器904可以响应于从ECC部件138提供的第二触发信号SIG_TRIG2而增加计数值k。根据本发明的实施例,通过如上所述每当从引导管理器902提供第一触发信号或提供第二触发信号SIG_TRIG2时增加计数值k,测试读取管理器904可以在每当存储器装置150读取引导数据时增加计数值k。
ECC部件138可以检测并且纠正所提供的第二引导数据DATA_BOOT2中的错误。当第二引导数据DATA_BOOT2中的错误被纠正时,ECC部件138可以将对备份主块BACK-UP_BLK的引导数据读取操作处理为通过。当ECC部件138将对备份主块BACK-UP_BLK的引导数据读取操作处理为通过时,ECC部件138可以向引导管理器902提供经纠正的第二引导数据DATA_BOOT2’。当第二引导数据DATA_BOOT2中的错误未被纠正时,ECC部件138可以将对备份主块BACK-UP_BLK的引导数据读取操作处理为失败。当对备份主块BACK-UP_BLK的引导数据读取操作被处理为失败时,ECC部件138可以向引导管理器902提供第二失败信号SIG_FAIL2。
引导管理器902可以使用所提供的第二引导数据DATA_BOOT2'来执行引导操作。在完成引导操作之后,引导管理器902可以向测试读取管理器904提供第二完成信号SIG_COMPLETE2。而且,引导管理器902可以响应于所提供的第二失败信号SIG_FAIL2而将引导操作处理为失败。根据本发明的实施例,测试读取管理器904可以控制存储器装置150以对备份主块BACK-UP_BLK周期性地执行测试读取操作。结果,可以防止将对备份主块BACK-UP_BLK的引导数据读取操作被处理为失败。
测试读取管理器904可以响应于所提供的第一完成信号SIG_COMPLETE1或第二完成信号SIG_COMPLETE2,将计数值k与阈值TH进行比较。当计数值k达到阈值TH时,测试读取管理器904可以控制存储器装置150以执行测试读取操作。测试读取管理器904可以控制存储器装置150以执行读取存储在备份主块BACK-UP_BLK中的引导数据的测试读取操作。存储器装置150可以根据测试读取操作,向ECC部件138提供从备份主块BACK-UP_BLK读取的第三引导数据DATA_BOOT3。
ECC部件138可以检测并且纠正所提供的第三引导数据DATA_BOOT3中的错误。当第三引导数据DATA_BOOT3中的错误被纠正时,ECC部件138可以向测试读取管理器904提供初始化信号SIG_INITIATE。测试读取管理器904可以响应于所提供的初始化信号SIG_INITIATE而将计数值k初始化为“0”。当第三引导数据DATA_BOOT3中的错误未被纠正时,ECC部件138可以向测试读取管理器904提供第三失败信号SIG_FAIL3。
测试读取管理器904可以响应于所提供的第三失败信号SIG_FAIL3,控制存储器装置150以对备份主块BACK-UP_BLK执行恢复操作。测试读取管理器904可以根据恢复操作,生成除了主块MASTER_BLK以外的用于存储引导数据DATA_BOOT的新块,并且将所生成的新块用作针对主块MASTER_BLK的备份块,并且将劣化的备份主块BACK-UP_BLK处理为坏块。例如,测试读取管理器904可以分配新块并且控制存储器装置150以将主块MASTER_BLK中的引导数据BOOT_DATA复制到存储器装置150所分配的块中。测试读取管理器904可以在完成恢复操作后,将计数值k初始化为“0”。
如上所述,每当从ECC部件138提供第一触发信号SIG_TRIG1和第二触发信号SIG_TRIG2时,测试读取管理器904可以增加计数值k。而且,当从ECC部件138提供初始化信号SIG_INITIATE时或者在存储器装置150完成恢复操作之后,测试读取管理器904可以将计数值k初始化为值“0”。每当在将计数值k初始化之前计数值k达到阈值TH时,测试读取管理器904可以控制存储器装置150以对备份主块BACK-UP_BLK执行测试读取操作。
当存储器装置150重复执行从主块MASTER_BLK读取引导数据的操作时,备份主块BACK-UP_BLK可能由于电荷损失而劣化。根据本发明的实施例,测试读取管理器904可以对备份主块BACK-UP_BLK周期性地执行测试读取操作,并且当主块BACK-UP_BLK劣化时,控制存储器装置150以对备份主块BACK-UP_BLK执行恢复操作。因此,当从主块MASTER_BLK读取引导数据的操作已失败并且从备份主块BACK-UP_BLK读取引导数据时,确保备份主块BACK-UP_BLK的完整性。
例如,当阈值TH是50时,每当存储器装置150执行从主块MASTER_BLK或备份主块BACK-UP_BLK读取引导数据的操作50次时,测试读取管理器904可以控制存储器装置150以执行读取存储在备份主块BACK-UP_BLK中的引导数据的测试读取操作。
图10是图示根据本发明的实施例的恢复操作的框图。
参考图10,当从备份主块1004读取的引导数据中的错误位的数目大于或等于阈值时,或者当从备份主块1004读取的引导数据是不可纠正的错误(即,UECC错误)时,测试读取管理器904可以将备份主块1004处理为坏块BAD_BLK,并且分配新块1006作为备份主块。测试读取管理器904可以通过将主块1002中的引导数据DATA_BOOT复制到新指定的备份主块1006中来对劣化的备份主块1004执行恢复操作。因此,当随后从主机102提供引导指令CMD_BOOT并且对主块1002执行的引导数据读取操作失败时,由于存储器装置150可以从通过恢复操作切换到正常块的备份主块1006读取引导数据,存储器装置150可以防止引导操作失败。
根据本发明的实施例,每当存储器装置150读取引导数据时,测试读取管理器904可以增加计数值k,并且每当计数值k达到阈值TH时,测试读取管理器904可以控制存储器装置150的测试读取操作。因此,在读取主块MASTER_BLK中存储的引导数据的操作已失败之后,在读取备份主块BACK-UP_BLK中存储的引导数据的时刻,备份主块BACK-UP_BLK可以防止引导操作失败,因为作为测试读取操作的结果可以确保完整性。
参考图11至图19,根据本发明的实施例更详细地描述应用了包括存储器装置150和控制器130的上述存储器系统110的数据处理系统和电子装置。
图11是示意性地图示根据实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图11示意性地图示了可以应用存储器系统的存储器卡系统6100。
参考图11,存储器卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可以电连接到存储器装置6130并且被配置为访问由非易失性存储器(NVM)体现的存储器装置6130。例如,存储器控制器6120可以被配置为控制存储器装置6130的读取、写入、擦除和后台操作。存储器控制器6120可以被配置为提供存储器装置6130和主机之间的接口,并且使用固件来控制存储器装置6130。即,存储器控制器6120可以对应于参考图1描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参考图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可以包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和纠错部件。
存储器控制器6120可以通过连接器6110与外部装置(例如,图1的主机102)通信。例如,如参考图1所述,存储器控制器6120可以被配置为通过各种通信协议(诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、PCI快速(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、集成驱动电子装置(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或WiFi)和蓝牙)中的一个或多个与外部装置通信。因此,存储器系统和数据处理系统可以被应用于包括移动电子装置的有线/无线电子装置。
存储器装置6130可以由非易失性存储器实现。例如,存储器装置6130可以由各种非易失性存储器装置(诸如可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-RAM))中的任一个来实现。
存储器控制器6120和存储器装置6130可以集成到单个半导体装置中来形成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可以被集成来形成诸如PC卡(例如,个人计算机存储器卡国际协会(PCMCIA)卡)、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、MMCmicro和eMMC)、安全数字(SD)卡(例如,SD、miniSD、microSD和SDHC)和/或通用闪存(UFS)的存储器卡。
图12是示意性图示根据实施例的包括存储器系统的数据处理系统6200的另一示例的图。
参考图12,数据处理系统6200可以包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如参考图1所描述,图12所示的数据处理系统6200可以用作诸如存储器卡(CF、SD、micro-SD等)或USB装置的存储介质。存储器装置6230可以对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可以对应于图1所示的存储器系统110中的控制器130。
存储器控制器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(反之亦然)的数据。当RAM 6222用作高速缓存存储器时,RAM 6222可以辅助低速存储器装置6230以高速操作。
ECC电路6223可以生成用于纠正从存储器装置6230提供的数据的故障位或错误位的纠错码(ECC)。ECC电路6223可以对提供给存储器装置6230的数据进行纠错编码,从而形成具有奇偶校验位的数据。奇偶校验位可以存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行纠错解码。ECC电路6223可以使用奇偶校验位来纠正错误。例如,如参考图1所述,ECC电路6223可以使用低密度奇偶校验(LDPC)码、Bose-Chaudhri-Hocquenghem(BCH)码、turbo码、Reed-Solomon(RS)码、卷积码、递归系统码(RSC)或编码调制(诸如网格编码调制(TCM)或块编码调制(BCM))来纠正错误。
存储器控制器6220可以通过主机接口6224与主机6210交换数据。存储器控制器6220可以通过NVM接口6225与存储器装置6230交换数据。主机接口6224可以通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、外围部件互连快速(PCIe)或NAND接口连接到主机6210。存储器控制器6220可以利用移动通信协议(诸如无线保真(WiFi)或长期演进(LTE))具有无线通信功能。存储器控制器6220可以连接到外部装置(例如,主机6210或另一外部装置),然后与外部装置交换数据。特别地,由于存储器控制器6220被配置为根据各种通信协议中的一个或多个与外部装置通信,存储器系统和数据处理系统可以被应用于有线/无线电子装置、特别是移动电子装置。
图13是示意性地图示根据实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图13示意性地图示了可以应用存储器系统的固态驱动器(SSD)6300。
参考图13,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可以对应于图1的存储器系统110中的控制器130,并且存储器装置6340可以对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可以通过多个信道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、缓冲存储器6325、纠错码(ECC)电路6322、主机接口6324和存储器接口(例如,非易失性存储器接口6326)。
缓冲存储器6325可以临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪存NVM提供的数据。此外,缓冲存储器6325可以临时存储多个闪存NVM的元数据,例如包括映射表的映射数据。缓冲存储器6325可以由各种易失性存储器(诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM以及图形RAM(GRAM))或非易失性存储器(诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移力矩磁性RAM(STT-MRAM)和相变RAM(PRAM))中的任一个来实现。图13图示了缓冲存储器6325实现在控制器6320中。然而,缓冲存储器6325可以在控制器6320的外部。
ECC电路6322可以在编程操作期间计算待编程到存储器装置6340的数据的纠错码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行纠错操作,以及在失败数据恢复操作期间对从存储器装置6340恢复的数据执行纠错操作。
主机接口6324可以提供与外部装置(例如,主机6310)的接口功能,并且非易失性存储器接口6326可以提供与通过多个信道连接的存储器装置6340的接口功能。
此外,可以应用图1的存储器系统110的多个SSD 6300可以被提供来实现数据处理系统,例如,独立盘冗余阵列(RAID)系统。RAID系统可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令而执行编程操作时,RAID控制器可以根据多个RAID级(即,从SSD 6300中的主机6310提供的写入命令的RAID级信息)来选择一个或多个存储器系统或SSD 6300,并且将与写入命令相对应的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令来执行读取命令时,RAID控制器可以根据多个RAID级(即,SSD 6300中的从主机6310提供的读取命令的RAID级信息)来选择一个或多个存储器系统或SSD 6300,并且将从所选择的SSD 6300中读取的数据提供给主机6310。
图14是示意性地图示根据实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图14示意性地图示了可以应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参考图14,eMMC 6400可以包括控制器6430和由一个或多个NAND闪存实现的存储器装置6440。控制器6430可以对应于图1的存储器系统110中的控制器130。存储器装置6440可以对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可以通过多个信道连接到存储器装置6440。控制器6430可以包括一个或多个核6432、主机接口6431和存储器接口(例如,NAND接口)6433。
核6432可以控制eMMC 6400的整体操作,主机接口6431可以在控制器6430和主机6410之间提供接口功能,并且NAND接口6433可以在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口6431可以用作并行接口(例如,参考图1描述的MMC接口)。此外,主机接口6431可以用作串行接口(例如,超高速(UHS)-I/UHS-II接口)。
图15至图18是示意性图示根据实施例的包括存储器系统的数据处理系统的其他示例的图。例如,图15至图18示意性地图示了可以应用存储器系统的通用闪存(UFS)系统。
参考图15至图18,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可以以参考图12至图14所描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来体现,并且UFS卡6530、6630、6730、6830可以以参考图11描述的存储器卡系统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)中的任一个彼此通信。
在图15中所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可以包括UniPro。主机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卡可以并行或以星形的形式连接到主机6410。星形结构是其中单个装置与多个装置耦合以进行集中操作的布置。多个UFS卡可以并联或以星形的形式连接到UFS装置6520,或者串联或以链的形式连接到UFS装置6520。
在图16所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可以包括UniPro。主机6610可以通过执行切换操作的切换模块6640(例如,通过执行在UniPro处的链路层切换(例如,L3切换)的切换模块6640)与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可以通过UniPro处的切换模块6640的链路层切换彼此通信。在所示的实施例中,一个UFS装置6620和一个UFS卡6630连接到切换模块6640。然而,多个UFS装置和UFS卡可以并联或以星形的形式连接到切换模块6640。多个UFS卡可以串联或以链的形式连接到UFS装置6620。
在图17所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可以包括UniPro。主机6710可以通过执行切换操作的切换模块6740(例如,通过执行在UniPro处的链路层切换(例如,L3切换)的切换模块6740)与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可以通过UniPro处的切换模块6740的链路层切换彼此通信。切换模块6740可以与UFS装置6720作为一个模块被集成在UFS装置6720内部或外部。在所示的实施例中,一个UFS装置6720和一个UFS卡6730连接到切换模块6740。然而,各自包括切换模块6740的多个模块和UFS装置6720可以并联或以星形的形式连接到主机6710。在另一示例中,多个模块可以串联或以链的形式彼此连接。此外,多个UFS卡可以并联或以星形的形式连接到UFS装置6720。
在图18所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可以包括M-PHY和UniPro。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,或者串联或以链的形式连接到主机6810。多个UFS卡可以并联或以星形的形式连接到UFS装置6820,或者串联或以链的形式连接到UFS装置6820。
图19是示意性地图示根据本发明的实施例的包括存储器系统的数据处理系统的另一示例的图。例如,图19是示意性地图示可以应用存储器系统的用户系统6900的图。
参考图19,用户系统6900可以包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动用户系统6900中的部件(例如,OS)并且包括对用户系统6900中包括的部件进行控制的控制器、接口和图形引擎。可以提供应用处理器6930作为片上系统(SoC)。
存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可以包括易失性随机存取存储器(RAM)(诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3 SDRAM、低功率DDR(LPDDR)SDARM、LPDDR3 SDRAM或LPDDR4 SDRAM)或非易失性RAM(诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻式RAM(MRAM)或铁电RAM(FRAM))。例如,可以基于叠层封装(PoP)来封装并安装应用处理器6930和存储器模块6920。
网络模块6940可以与外部装置通信。例如,网络模块6940不仅可以支持有线通信,而且可以支持各种无线通信协议(诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互通(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI)),从而与有线/无线电子装置、特别是移动电子装置进行通信。因此,根据本发明的实施例,存储器系统和数据处理系统可以应用于有线/无线电子装置。网络模块6940可以被包括在应用处理器6930中。
存储模块6950可以存储数据(例如,从应用处理器6930接收的数据),然后可以将所存储的数据传输到应用处理器6930。存储模块6950可以由诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存的非易失性半导体存储器装置来实现,并且被提供作为用户系统6900的可移除存储介质(诸如存储器卡或外部驱动器)。存储模块6950可以对应于参考图1描述的存储器系统110。此外,存储模块6950可以被实现为以上参考图13至图18描述的SSD、eMMC和UFS。
用户接口6910可以包括用于向应用处理器6930输入数据或命令或向外部装置输出数据的接口。例如,用户接口6910可以包括用户输入接口(诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件)以及用户输出接口(诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电机)。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的整体操作,并且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据或者支持从触摸面板接收数据的功能。
根据本发明的实施例,每当引导数据被读取的次数达到阈值时,存储器系统可以通过对备份主块执行测试读取操作来防止引导操作失败。
虽然已相对于特定实施例图示和描述了本发明,但是根据本公开,对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

Claims (20)

1.一种存储器系统,包括:
存储器装置,包括主块和备份主块;以及
控制器,适于通过使用从所述主块或所述备份主块读取的引导数据来执行引导操作,
其中所述控制器包括:
引导管理器,适于当从所述主块读取所述引导数据的操作失败时,从所述备份主块读取引导数据;以及
测试读取管理器,适于:
每当所述引导数据被读取的次数达到阈值时,对所述备份主块执行测试读取操作,以及
当所述测试读取操作失败时,对所述备份主块执行恢复操作。
2.根据权利要求1所述的存储器系统,其中所述控制器进一步包括:
纠错码(ECC)部件,适于纠正从所述主块或所述备份主块读取的所述引导数据中的错误。
3.根据权利要求1所述的存储器系统,其中所述控制器进一步包括:
存储器,适于存储关于所述引导数据被读取的次数的信息。
4.根据权利要求2所述的存储器系统,其中当读取的所述引导数据中的错误位的数目大于或等于阈值时,所述ECC部件将读取所述引导数据的操作处理为失败。
5.根据权利要求1所述的存储器系统,其中所述恢复操作包括以下操作:当针对所述备用主块的测试读取操作失败时,将所述备用主块处理为坏块,并且将针对所述主块的备份数据存储到新块中。
6.根据权利要求1所述的存储器系统,其中所述测试读取管理器在所述恢复操作被执行之后或者在所述测试读取操作通过之后,将所述引导数据被读取的次数初始化。
7.根据权利要求1所述的存储器系统,其中所述引导数据包括驱动所述引导操作的引导加载程序和固件中的至少一个。
8.根据权利要求1所述的存储器系统,其中所述备份主块存储针对存储在所述主块中的所述引导数据的备份数据。
9.根据权利要求1所述的存储器系统,其中每次所述引导管理器读取所述引导数据时,所述测试读取管理器增加所述引导数据被读取的次数。
10.根据权利要求3所述的存储器系统,其中所述存储器包括易失性存储器。
11.一种用于操作存储器系统的方法,包括:
通过使用从存储器装置的主块或备份主块读取的引导数据来执行引导操作,
其中,执行所述引导操作包括:
当从主块读取所述引导数据的操作失败时,从所述备份主块读取引导数据;以及
每当所述引导数据被读取的次数达到阈值时,对所述备份主块执行测试读取操作;以及
当所述测试读取操作失败时,对所述备份主块执行恢复操作。
12.根据权利要求11所述的方法,进一步包括:
纠正从所述主块或所述备份主块读取的所述引导数据中的错误。
13.根据权利要求11所述的方法,进一步包括:
将关于所述引导数据被读取的次数的信息存储在存储器中。
14.根据权利要求12所述的方法,其中纠正从所述主块或所述备份主块读取的所述引导数据中的错误包括:
当读取的所述引导数据中的错误位的数目大于或等于阈值时,将读取所述引导数据的操作处理为失败。
15.根据权利要求11所述的方法,其中对所述备份主块执行所述恢复操作包括:
当针对所述备份主块的测试读取操作失败时,将所述备份主块处理为坏块,并且将针对所述主块的备份数据存储到新块中。
16.根据权利要求11所述的方法,其中每当所述引导数据被读取的次数达到所述阈值时对所述备份主块执行所述测试读取操作包括:
在所述恢复操作被执行之后或者在所述测试读取操作通过之后,将所述引导数据被读取的次数初始化。
17.根据权利要求11所述的方法,其中所述引导数据包括驱动所述引导操作的引导加载程序和固件中的至少一个。
18.根据权利要求11所述的方法,其中所述备份主块存储针对存储在所述主块中的所述引导数据的备份数据。
19.根据权利要求11所述的方法,其中当所述测试读取操作失败时对所述备份主块执行所述恢复操作包括:
每次所述引导数据被读取时,增加所述引导数据被读取的次数。
20.根据权利要求13所述的方法,其中所述存储器包括易失性存储器。
CN201911037634.3A 2018-12-26 2019-10-29 存储器系统及其操作方法 Withdrawn CN111367468A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0169485 2018-12-26
KR1020180169485A KR20200079851A (ko) 2018-12-26 2018-12-26 메모리 시스템 및 그것의 동작방법

Publications (1)

Publication Number Publication Date
CN111367468A true CN111367468A (zh) 2020-07-03

Family

ID=71124281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911037634.3A Withdrawn CN111367468A (zh) 2018-12-26 2019-10-29 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US20200210295A1 (zh)
KR (1) KR20200079851A (zh)
CN (1) CN111367468A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237506A (zh) * 2021-12-14 2022-03-25 四川长虹电器股份有限公司 一种emmc数据存储和读写的方法
TWI805236B (zh) * 2021-12-23 2023-06-11 大陸商合肥沛睿微電子股份有限公司 一種資料存取管理方法和儲存裝置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI765443B (zh) * 2020-12-03 2022-05-21 宜鼎國際股份有限公司 資料儲存裝置及維持資料儲存裝置正常開機的方法
TWI808362B (zh) * 2020-12-03 2023-07-11 宜鼎國際股份有限公司 可自我監視及恢復作業系統運作的電腦系統及方法
US11914468B1 (en) 2022-08-15 2024-02-27 Western Digital Technologies, Inc. NVMe boot partition error correction code enhancement

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199825A1 (en) * 2003-04-07 2004-10-07 Zeller Jeremy R. Redundant boot memory
US20040221194A1 (en) * 1999-12-01 2004-11-04 Microsoft Corporation Automated recovery of computer appliances
CN101183563A (zh) * 2006-09-06 2008-05-21 三星电子株式会社 包括闪存的存储器系统和操作该系统的方法
US20090172467A1 (en) * 2007-12-26 2009-07-02 Kabushiki Kaisha Toshiba Information processing apparatus
CN101673226A (zh) * 2008-06-30 2010-03-17 英特尔公司 Nand错误管理
CN101794622A (zh) * 2010-02-10 2010-08-04 成都市华为赛门铁克科技有限公司 存储设备的数据扫描方法和装置
CN102067086A (zh) * 2008-06-18 2011-05-18 高通股份有限公司 用于减少无线设备的工厂编程时间的系统和方法
CN102298545A (zh) * 2011-08-23 2011-12-28 晨星软件研发(深圳)有限公司 一种系统启动引导处理方法及装置
US20120023309A1 (en) * 2010-07-23 2012-01-26 Brocade Communications Systems, Inc. Achieving ultra-high availability using a single cpu
CN102376362A (zh) * 2010-08-24 2012-03-14 晨星软件研发(深圳)有限公司 应用于快闪存储器的方法与相关的控制器
US20130055046A1 (en) * 2011-08-31 2013-02-28 Greg A. Blodgett Memory refresh methods and apparatuses
CN103092531A (zh) * 2013-01-21 2013-05-08 中国科学院苏州纳米技术与纳米仿生研究所 一种消除固态存储系统读取错误的方法
CN104571961A (zh) * 2014-12-31 2015-04-29 深圳市成为信息技术有限公司 一种三角式存储装置的数据校验备份、写入及读取方法
CN108108121A (zh) * 2016-11-25 2018-06-01 三星电子株式会社 存储器控制器和控制其操作的方法
CN108304140A (zh) * 2017-01-12 2018-07-20 中兴通讯股份有限公司 闪存数据管理方法、装置及微控制器

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221194A1 (en) * 1999-12-01 2004-11-04 Microsoft Corporation Automated recovery of computer appliances
US20040199825A1 (en) * 2003-04-07 2004-10-07 Zeller Jeremy R. Redundant boot memory
CN101183563A (zh) * 2006-09-06 2008-05-21 三星电子株式会社 包括闪存的存储器系统和操作该系统的方法
US20090172467A1 (en) * 2007-12-26 2009-07-02 Kabushiki Kaisha Toshiba Information processing apparatus
CN102067086A (zh) * 2008-06-18 2011-05-18 高通股份有限公司 用于减少无线设备的工厂编程时间的系统和方法
CN101673226A (zh) * 2008-06-30 2010-03-17 英特尔公司 Nand错误管理
CN101794622A (zh) * 2010-02-10 2010-08-04 成都市华为赛门铁克科技有限公司 存储设备的数据扫描方法和装置
US20120023309A1 (en) * 2010-07-23 2012-01-26 Brocade Communications Systems, Inc. Achieving ultra-high availability using a single cpu
CN102376362A (zh) * 2010-08-24 2012-03-14 晨星软件研发(深圳)有限公司 应用于快闪存储器的方法与相关的控制器
CN102298545A (zh) * 2011-08-23 2011-12-28 晨星软件研发(深圳)有限公司 一种系统启动引导处理方法及装置
US20130055046A1 (en) * 2011-08-31 2013-02-28 Greg A. Blodgett Memory refresh methods and apparatuses
CN103092531A (zh) * 2013-01-21 2013-05-08 中国科学院苏州纳米技术与纳米仿生研究所 一种消除固态存储系统读取错误的方法
CN104571961A (zh) * 2014-12-31 2015-04-29 深圳市成为信息技术有限公司 一种三角式存储装置的数据校验备份、写入及读取方法
CN108108121A (zh) * 2016-11-25 2018-06-01 三星电子株式会社 存储器控制器和控制其操作的方法
CN108304140A (zh) * 2017-01-12 2018-07-20 中兴通讯股份有限公司 闪存数据管理方法、装置及微控制器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237506A (zh) * 2021-12-14 2022-03-25 四川长虹电器股份有限公司 一种emmc数据存储和读写的方法
CN114237506B (zh) * 2021-12-14 2023-05-02 四川长虹电器股份有限公司 一种emmc数据存储和读写的方法
TWI805236B (zh) * 2021-12-23 2023-06-11 大陸商合肥沛睿微電子股份有限公司 一種資料存取管理方法和儲存裝置

Also Published As

Publication number Publication date
KR20200079851A (ko) 2020-07-06
US20200210295A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
CN107491396B (zh) 存储器系统及其操作方法
CN108121665B (zh) 存储器系统及其操作方法
KR102468751B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN110058797B (zh) 存储器系统及其操作方法
CN110321069B (zh) 存储器系统及其操作方法
US11163646B2 (en) Memory system for detecting erased page including memory cells with distorted threshold voltages, and operation method thereof
CN110858180A (zh) 数据处理系统及其操作方法
CN109390003B (zh) 存储器系统及其操作方法
US10943634B2 (en) Read latency improvement method and memory system thereof
CN110750207B (zh) 存储器系统及其操作方法
CN110489271B (zh) 存储器系统及其操作方法
CN110197692B (zh) 存储器系统及其操作方法
CN110556152B (zh) 存储器装置、其操作方法以及包括其的存储器系统
US20200210295A1 (en) Memory system and operating method thereof
CN110765029B (zh) 控制器及用于操作该控制器的方法
CN110910941B (zh) 存储器系统及其操作方法
US20180374552A1 (en) Memory system and operation method thereof
CN109656470B (zh) 存储器系统及其操作方法
CN111078583A (zh) 存储器系统及其操作方法
CN111367827A (zh) 存储器系统及其操作方法
CN111145818B (zh) 存储器系统及其操作方法
CN111090596B (zh) 存储器系统及其操作方法
CN110045914B (zh) 存储器系统及其操作方法
CN110197695B (zh) 存储器系统及其操作方法
CN111324552A (zh) 存储器系统及其操作方法

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200703