CN110083305B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN110083305B CN110083305B CN201811134329.1A CN201811134329A CN110083305B CN 110083305 B CN110083305 B CN 110083305B CN 201811134329 A CN201811134329 A CN 201811134329A CN 110083305 B CN110083305 B CN 110083305B
- Authority
- CN
- China
- Prior art keywords
- information
- firmware
- initial bad
- bad block
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/08—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器系统,该存储器系统可以包括:非易失性存储器装置,包括用于存储多个存储块的寿命信息的系统区域和在升级固件时不被重置的一次性可编程(OTP)区域;功能部件,存储固件;接口部件,接收用于升级的新固件;验证控制部件,执行非易失性存储器装置的验证操作;以及升级部件,在执行非易失性存储器装置的验证操作时升级固件,其中验证控制部件通过参考OTP区域选择至少一个备份块,将寿命信息备份到至少一个备份块,并且然后控制升级部件升级固件。
Description
相关申请的交叉引用
本申请要求于2018年1月25日向韩国知识产权局提交的申请号为10-2018-0009574的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储器系统,并且更特别地,涉及一种包括非易失性存储器装置的存储器系统。
背景技术
存储器系统可以被配置为响应于外部装置的写入请求来存储从外部装置提供的数据。此外,存储器系统可以被配置为响应于外部装置的读取请求,将存储在该存储器系统中的数据提供给外部装置。外部装置可以包括可以处理数据的电子装置,例如,计算机、数码相机以及移动电话。存储器系统可以被嵌入在外部装置中,或者单独制造并联接到外部装置。
由于使用存储器装置的存储器系统不具有机械驱动器,因此存储器系统具有优异的稳定性和耐久性,表现出高信息访问速度,并且具有低功耗。具有这些优点的存储器系统可以包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态硬盘(SSD)。
发明内容
各个实施例涉及一种存储器系统,该存储器系统能够在升级固件时备份非易失性存储器装置的寿命信息从而防止重置寿命信息。
在实施例中,一种存储器系统可以包括:非易失性存储器装置,其包括用于存储多个存储块的寿命信息的系统区域和在升级固件时不被重置的一次性可编程(one-timeprogrammable OTP)区域;功能部件,其被配置为存储固件;接口部件,其被配置为接收用于升级的新固件;验证控制部件,其被配置为执行非易失性存储器装置的验证操作;以及升级部件,其被配置为在执行非易失性存储器装置的验证操作时升级固件,其中验证控制部件通过参考OTP区域选择至少一个备份块,将寿命信息备份到至少一个备份块,并且然后控制升级部件升级固件。
在实施例中,一种存储器系统的操作方法可以包括以下步骤:由控制器在非易失性存储器装置的块中选择至少一个备份块;由控制器将寿命信息备份到至少一个备份块,寿命信息被存储在非易失性存储器装置的系统区域中;并且由控制器使用新固件升级固件。
在实施例中,一种存储器系统可以包括:非易失性存储器装置,其包括多个存储块、用于存储多个存储块的寿命信息的第一区域和用于存储与多个存储块中的初始坏块有关的初始坏块信息的第二区域;以及控制器,其被配置为:当接收到用于升级的新固件时,基于初始坏块信息在初始坏块中选择初始坏块;将寿命信息备份到初始坏块;并且使用新固件升级固件。
附图说明
图1是示出根据本公开的实施例的存储器系统的框图。
图2示出根据本公开的实施例的在升级固件时重置非易失性存储器装置的寿命信息的进程。
图3至图7是示出根据本公开的实施例的存储器系统的操作的流程图。
图8是示出根据本公开的实施例的包括固态硬盘(SSD)的数据处理系统的示图。
图9是示出根据本公开的实施例的包括存储器系统的数据处理系统的示图。
图10是示出包括根据本公开的实施例的存储器系统的数据处理系统的示图。
图11是示出包括根据本公开的实施例的存储器系统的网络系统的示图。
图12是示出包括在根据本公开的实施例的存储器系统中的非易失性存储器装置的框图。
具体实施方式
通过参照附图的以下实施例描述了本公开的优点和特征以及用于实现该优点和特征的方法。然而,本公开不限于本文描述的实施例,而是可以包括其它的不同实施例,其中其它的不同实施例可以是一个或多个所公开实施例的变化方案或变型方案。提供本发明的实施例是为了描述本公开的方面和特征,以使本公开所属领域的技术人员能够实施本发明。
元件和部件不限于图中所示的具体形状;为清楚起见,这样的形状可能被夸大或以其它方式呈现。在本说明书中,使用具体术语来描述本公开;然而,这样的术语不旨在限制本公开或权利要求的范围。
在本说明书中,诸如“和/或”的表达可以表示包括在该表达之前/之后列出的部件中的一个或多个。此外,诸如“连接/联接”的表达可以指示一个元件直接连接到另一元件或者通过其它元件间接连接。单数形式可以包括其复数形式,并且反之亦然,除非上下文另有说明。此外,“包括”和“包含”或“包括有”和“包含有”的含义可以指定所述部件、步骤、操作和/或元件的存在或添加,而不排除一个或多个其它部件、步骤、操作和/或元件的存在或添加。并且,在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对“实施例”等的不同参考不一定针对相同的实施例。
将参照附图详细地描述各个实施例。
图1是示出根据实施例的存储器系统100的框图。参照图1描述存储器系统100的配置。
存储器系统100可以存储由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)或车载信息娱乐系统的主机装置(未示出)访问的数据。
根据指示与主机装置的传输协议的主机接口,存储器系统100可以被配置为各种存储装置中的任意一种。例如,存储器系统100可以利用诸如以下的各种存储装置中的任意一种来实施:固态硬盘(SSD)、多媒体卡(例如,MMC、eMMC、RS-MMC和微型-MMC)、安全数字卡(例如,SD、迷你-SD和微型-SD)、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置、外围组件互连(PCI)卡型存储装置、PCI高速(PCI-e或PCIe)卡型存储装置、标准闪存(CF)卡、智能媒体卡以及记忆棒。
存储器系统100可以被制造为诸如以下的各种类型的封装中的任意一种:堆叠封装(POP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器系统100可以包括控制器200和非易失性存储器装置300。控制器200可以包括接口部件210、功能部件220、验证控制部件230、升级部件240和存储器控制部件250。
在非易失性存储器装置300被制造之后执行的测试进程中,非易失性存储器装置300可以用于测试固件(FW)。例如,可以在用于验证存储器系统100的可靠性的验证操作中重复地测试对非易失性存储器装置300的数据写入、读取和擦除操作。非易失性存储器装置300可以重复地用于测试各种固件。在本说明书中,固件的“升级”可以指示应用新固件或重新应用相同固件,同时重置存储在非易失性存储器装置300中的数据。
当升级固件时,接口部件210可以接收待被应用的新固件。可以从测试装置或主机装置接收新固件。
功能部件220可以执行预设功能。例如,功能部件220可以存储固件,并且使用存储的固件来执行预设操作。预设操作可以包括数据存储操作、数据处理操作和数据输出操作。当功能部件220具有固件时,功能部件220可以被实现在存储器系统100内。存储器系统100可以包括多个功能部件220。
验证控制部件230可以使用由接口部件210接收的新固件来控制存储在功能部件220中的固件的升级操作。此外,验证控制部件230可以控制非易失性存储器装置300的测试进程中的验证操作,例如,数据写入、读取或擦除操作。
升级部件240可以升级功能部件220的固件。当接口部件210接收到新固件时,升级部件240可以基于验证控制部件230的控制,使用新固件来执行固件升级操作。
存储器控制部件250可以根据控制部件260的控制来控制非易失性存储器装置300。存储器控制部件250也可以被称为存储器接口。存储器控制部件250可以将控制信号提供给非易失性存储器装置300。控制信号可以包括用于控制非易失性存储器装置300的命令、地址和控制信号。存储器控制部件250可以将数据提供给非易失性存储器装置300,或者可以从非易失性存储器装置300接收数据。在非易失性存储器装置300的测试进程中,数据可以通过存储器控制部件250被传输到非易失性存储器装置300,使得验证操作由验证控制部件230执行。
控制部件260可以包括微控制单元(MCU)或中央处理单元(CPU)。控制部件260可以处理从主机装置接收的请求。为了处理请求,控制部件260可以驱动被加载到随机存取存储器(RAM)的基于代码的指令或算法,即固件(FW),并且控制内部功能块和非易失性存储器装置300。
控制部件260可以将数据存储在非易失性存储器装置300的存储器单元阵列中,或者更新存储的数据。此外,控制部件260可以计数非易失性存储器装置300的存储器单元被更新的次数,并且当累积更新计数超过阈值时执行存储块改变操作。控制部件260可以包括计数器电路,该计数器电路用于计数非易失性存储器装置300的存储器单元被更新的次数。可以以块或页面为单位执行存储块改变操作。存储器单元被更新的次数可以指编程/擦除循环计数。控制部件260可以将关于更新计数的信息存储到非易失性存储器装置300的系统区域312中。
RAM(未示出)可以包括动态RAM(DRAM)或静态RAM(SRAM)。RAM可以存储由控制部件260驱动的固件。此外,RAM可以存储驱动固件所需的数据,例如,元数据。即,RAM可以用作控制部件260的工作存储器。
主机接口(未示出)可以接口连接主机装置和存储器系统100。例如,主机接口可以使用标准传输协议中的任意一种与主机装置通信。标准传输协议可以包括:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、PCI高速(PCI-e或PCIe)和通用闪存(UFS)。
非易失性存储器装置300可以由包括以下的各种非易失性存储器装置中的任意一种来实施:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电RAM(FRAM)、使用隧道磁阻(TMR)层的磁性RAM(MRAM)、使用硫族化物合金的相变RAM(PCRAM)和使用过渡金属氧化物的电阻式RAM(ReRAM)。
非易失性存储器装置300可以包括存储器单元阵列。从操作的角度或物理(或结构)的角度来看,存储器单元阵列中的存储器单元可以以存储器单元组为单位来配置。例如,联接到相同字线并且被同时读取或写入(或编程)的存储器单元可以被配置为页面。此后,为了方便起见,被配置为页面的存储器单元将被称为“页面”。此外,被同时擦除的存储器单元可以被配置为存储块。存储器单元阵列可以包括多个存储块,并且存储块中的每一个可以包括多个页面。
存储器单元阵列可以包括多个存储块。根据存储块的用途,多个存储块可以被划分为用户区域311、系统区域312和一次性可编程(OTP)区域313。
在实施例中,用户区域311可以包括多个块Blk0至Blk(n)。用户区域311的多个块Blk0至Blk(n)可以基于从主机装置接收的写入请求来存储数据。此外,在非易失性存储器装置300的测试进程中,可以根据主机装置或测试装置的请求来写入、读取或擦除数据。
在实施例中,系统区域312可以包括多个块(未示出)来存储非易失性存储器装置300的寿命信息。例如,编程/擦除(P/E)周期信息可以被存储在存储器单元阵列的系统区域312中。控制器200可以将系统信息存储在非易失性存储器装置300的系统区域312中,或者更新存储在系统区域312中的系统信息。控制器200可以基于系统信息被更新的次数来改变存储块以存储系统信息。可选地,控制器200可以控制非易失性存储器装置300执行系统块改变操作:改变系统信息在存储有系统信息的存储块内的存储位置。此后,存储有系统信息的存储块将被称为系统块。
控制器200可以计数系统块的存储器单元被更新的次数,并且当累积更新计数超过阈值时执行系统块改变操作。控制器200可以包括计数器电路(未示出),该计数器电路用于计数系统块的存储器单元被更新的次数。可以以块或页面为单位来执行系统块改变操作。
在实施例中,OTP区域313可以包括多个块(未示出),并且OTP区域313指一旦编程了数据则不能另外记录数据的区域。可以使用OTP命令通过设置存储器的操作来记录OTP区域313。OTP区域313的大小和位置不限于本实施例。在实施例中,非易失性存储器装置300的初始坏块信息可以被存储在OTP区域313中。
与NOR闪速存储器不同,NAND闪速存储器可能具有坏块。坏块可以是存储器的块之中的、因为块的寿命结束而不能记录数据的块。存储在坏块中的数据很可能被损坏。因此,存储器系统100需要将数据存储在另一个块中以避免坏块。
坏块可以被划分为运行时坏块(RTBB)和初始坏块(IBB)。初始坏块可以指在最初制造非易失性存储器装置300时产生的坏块,而运行时坏块可以指在使用非易失性存储器装置300时产生的坏块。为了防止由坏块引起的数据损坏,控制器200可以使用单独的坏块检测方法。例如,当对构成非易失性存储器装置300的主区域的块执行写入操作时,控制器200可以将从各个块的数据生成的错误校正码(ECC)值记录到非易失性存储器装置300的备用区域中。当对非易失性存储器装置300的主区域的特定块执行读取操作时,控制器200可以从块的数据生成新ECC值。然后,控制器200可以将存储在备用区域中的块的ECC值与新ECC值进行比较。即,控制器200可以将新ECC值与存储在备用区域中的ECC值进行比较,以检查数据中是否发生错误。当比较结果指示发生错误时,控制器200可以将存储有该数据的存储块识别为坏块。否则,控制器200可以将存储块识别为正常块。
图2示出在升级固件时重置非易失性存储器装置的寿命信息的进程。例如,假设当升级固件时,具有块偏移0、1、2和n的块,即块Blk0、Blk1、Blk2和Blkn的编程/擦除(P/E)循环分别为100、20、140和80。
参照图1和图2,当存储在功能部件220中的固件被升级到新固件或被重新安装时,可以重置非易失性存储器装置300的用户区域311和系统区域312中的块中存储的数据。虽然图2示出重置编程/擦除循环信息的进程,但是可以重置用户区域311和系统区域312中存储的数据。这样的数据可以包括用户数据和寿命信息,其中寿命信息包含编程/擦除循环信息。
如图2所示,即使块Blk0、Blk1、Blk2和Blk(n)的编程/擦除循环具有不同的值,也可以将这些编程/擦除循环全部重置为0。然后,将计数数据被编程或擦除的次数。例如,寿命信息可以是关于编程/擦除(P/E)循环计数的信息的形式。然而,本实施例不限于此;代替P/E循环计数或者除了P/E循环计数之外,可以使用与系统寿命有关的其它信息,诸如读取计数。
当通过升级固件或重新安装固件来重置存储在非易失性存储器装置300的系统区域312中的寿命信息时,难以确定在重置操作之后非易失性存储器装置300中发生错误的原因。例如,当在升级固件之后非易失性存储器装置300的特定块发生错误时,难以确定发生的错误是由于特定块的编程/擦除循环累积引起劣化而导致的,还是由于非易失性存储器装置300的其它缺陷而导致的。此外,由于在测试期间无法确定用于测试的非易失性存储器装置300的寿命,因此固件验证的可靠性可能降低。
图3至图7是示出根据实施例的存储器系统的操作的流程图。这些操作可以由图1的存储器系统100来执行。
再次参照图1,存储器系统100可以包括控制器200和非易失性存储器装置300。非易失性存储器装置300可以包括用于存储多个存储块的寿命信息的系统区域312和在升级固件时不被重置的OTP区域313。控制器200可以包括接口部件210、功能部件220、验证控制部件230和升级部件240。功能部件220可以存储固件。接口部件210可以接收用于升级的新固件。验证控制部件230可以执行非易失性存储器装置300的验证操作。当执行非易失性存储器装置300的验证操作时,升级部件240可以升级固件。验证控制部件230可以通过参考OTP区域313来选择备份块,将寿命信息备份到备份块,并且然后升级固件。
参照图3,根据实施例的图1的存储器系统100的操作方法可以包括步骤S200、S300和S400。在步骤S200处,控制器200可以选择备份块以存储非易失性存储器装置300的寿命信息。在步骤S300处,控制器200可以将存储在非易失性存储器装置300的系统区域312中的寿命信息备份到备份块。在步骤S400处,控制器200可以使用新固件升级固件。即,验证控制部件230可以选择备份块,可以将寿命信息备份到备份块,并且升级部件240可以根据验证控制部件230的控制使用新固件升级固件。
在各个实施例中,备份块可以是在升级固件时不被重置的块。当在存储块的寿命信息被存储在备份块中之后升级固件时,寿命信息可以不被重置而是被存储。因此,当在升级固件之后非易失性存储器装置300的存储块中发生错误时,验证控制部件230可以容易地确定发生的错误是由于累积使用引起劣化而导致的还是其它原因导致的。
参照图3和图4,在步骤S200中,控制器200可以选择备份块以存储非易失性存储器装置300的寿命信息。在步骤S210处,控制器200可以通过参考OTP区域313来选择备份块,OTP区域313可以在升级固件时不被重置。
在实施例中,步骤S210可以包括搜索存储在OTP区域313中的初始坏块信息,并且基于初始坏块信息确定备份块以存储非易失性存储器装置300的寿命信息。在实施例中,初始坏块信息可以被存储在OTP区域313中,并且可以选择初始坏块中的一个或多个作为备份块。即,根据验证控制部件230的控制,寿命信息可以被存储在初始坏块中的一个或多个中。初始坏块信息可以指示哪些存储块是初始坏块。在实施例中,当存储在OTP区域313中的初始坏块信息包括多个初始坏块时,可以预先设置初始坏块被选为备份块的顺序。基于该顺序,可以根据验证控制部件230的控制选择初始坏块作为备份块。可以选择多个初始坏块作为备份块。即,可以选择两个或更多个初始坏块作为备份块,并且可以将相同的寿命信息存储在多个备份块中。由于寿命信息被存储在多个备份块中,因此可以防止寿命信息的丢失,这使得可以容易地确定非易失性存储器装置300中错误的发生原因。因此,存储器系统100的可靠性可以提高。
参照图3和图5,在步骤S200中,控制器200可以选择备份块以存储非易失性存储器装置300的寿命信息。在步骤S211处,控制器200可以搜索存储在OTP区域313中的初始坏块信息和初始坏块的优先级信息。在步骤S212处,控制器200可以基于初始坏块信息和优先级信息来选择备份块。即,初始坏块的优先级信息可以被存储在非易失性存储器装置300的OTP区域313中。优先级信息可以包括与在升级固件之前初始坏块被选为备份块的优先级有关的信息。因此,在执行固件升级操作之前,控制器200可以搜索存储在OTP区域313中的初始坏块信息和优先级信息,并且基于搜索结果选择备份块。在实施例中,优先级信息可以包括关于初始坏块被选为备份块的次数的信息。即,当相同的初始坏块被选为备份块达预定次数时,可以选择另一个初始坏块作为后续备份块。
参照图3和图6,存储器系统100的操作方法可以进一步包括可以在步骤S200之前执行的步骤S100。在步骤S100处,控制器200可以接收新固件。在各个实施例中,控制器200可以通过接口部件210接收新固件,并且升级部件240可以基于新固件升级固件。
参照图3和图7,存储器系统100的操作方法可以进一步包括可以在步骤S400之后执行的步骤S500。在步骤S500处,在升级固件之后,控制器200可以将寿命信息备份到系统区域312。即,在升级固件之后,可能不将改变的寿命信息存储在存储有寿命信息的备份块中。在现有寿命信息被备份到系统区域312的存储块之后,可以将改变的寿命信息存储在系统区域312中。可以将寿命信息备份到在固件升级之前已经存储寿命信息的存储块,并且可以随后存储改变的备份信息。在实施例中,可以将寿命信息备份到除了在固件升级之前已经存储寿命信息的存储块之外的存储块,并且可以将改变的寿命信息存储在新存储块中。
在实施例中,当选择初始坏块作为备份块时,寿命信息很可能不会被可靠的保留。因此,可以在固件升级之后将存储在备份块中的寿命信息备份到系统区域312,并且可以将改变的寿命信息存储在系统区域312中,这使得可以提高系统的可靠性。
在实施例中,可以将指示寿命信息是有效信息的标题信息与寿命信息一起存储在备份块中。此外,可以将升级固件的次数,即,与固件升级计数有关的信息与寿命信息一起存储在备份块中。
根据实施例,存储器系统可以在升级固件之前备份非易失性存储器装置的寿命信息,从而在验证进程期间获取准确的寿命信息。
图8是示出根据实施例的数据处理系统1000的示图。参照图8,数据处理系统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可以包括命令、地址和数据等。根据主机装置1100的协议,主机接口1211可以接口连接主机装置1100和SSD 1200。例如,主机接口1211可以通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、PCI高速(PCI-e或PCIe)和通用闪存(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可以将存储在缓冲存储器装置1220中的数据提供给非易失性存储器装置1231至123n,或将从非易失性存储器装置1231至123n读出的数据提供给缓冲存储器装置1220。
缓冲存储器装置1220可以临时存储待被存储在非易失性存储器装置1231至123n中的数据。进一步地,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n读出的数据。临时存储在缓冲存储器装置1220中的数据可以根据控制器1210的控制而被传输到主机装置1100或非易失性存储器装置1231至123n。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个信道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个信道。联接到每个信道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1260输入的电力PWR提供给SSD1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以在发生突然断电时供给电力,以使SSD1200正常地终止。辅助电源1241可以包括具有大容量的至少一个电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器来实施。
根据主机装置1100的电源方案,电源连接器1260可以由各种类型的连接器来实施。
图9是示出根据实施例的数据处理系统2000的示图。参照图9,数据处理系统2000可以包括主机装置2100和存储器系统2200。
主机装置2100可以被实施为诸如印刷电路板的板的形式。虽然未示出,但是主机装置2100可以包括用于执行各种功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。存储器系统2200可以被安装到连接端子2110。
存储器系统2200可以被实施为诸如印刷电路板的板的形式。存储器系统2200可以被称为存储器模块或存储卡。存储器系统2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制存储器系统2200的一般操作。控制器2210可以以与图8所示的控制器1210相同的方式来实施。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制而被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作存储器系统2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的电力提供给存储器系统2200的内部。PMIC 2240可以根据控制器2210的控制来管理存储器系统2200的电力。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2250,诸如命令、地址、数据等的信号和电力可以在主机装置2100和存储器系统2200之间传输。根据主机装置2100和存储器系统2200之间的接口方案,连接端子2250可以被构造成各种类型。连接端子2250可以被设置在存储器系统2200的任意一侧。
图10是示出根据实施例的数据处理系统3000的示图。参照图10,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以被实施为诸如印刷电路板的板的形式。虽然未示出,但是主机装置3100可以包括用于执行合适功能的内部功能块。
存储器系统3200可以被实施为表面安装型封装的形式。存储器系统3200可以通过焊球3250被安装到主机装置3100。存储器系统3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制存储器系统3200的全部操作。控制器3210可以以与图8所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读出的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制而被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作存储器系统3200的存储介质。
图11是示出根据实施例的网络系统4000的示图。参照图11,网络系统4000可以包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可以存储从多个客户端系统4410到4430提供的数据。又例如,服务器系统4300可以将数据提供给多个客户端系统4410至4430。
服务器系统4300可以包括主机装置4100和存储器系统4200。存储器系统4200可以由图1的存储器系统100、图8的SSD 1200、图9的存储器系统2200或者图10的存储器系统3200来实施。
图12是示出根据实施例的存储器系统中的非易失性存储器装置300的框图。参照图12,非易失性存储器装置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可以基于解码结果来将数据读取/写入块330的、分别与位线BL1至BLn相对应读取/写入电路RW1至RWn与数据输入/输出线路(或数据输入/输出缓冲器)联接。
电压发生器350可以产生待用于非易失性存储器装置300的内部操作的电压。由电压发生器350产生的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可以被施加到将执行编程操作的存储器单元的字线。再例如,在擦除操作中产生的擦除电压可以被施加到将执行擦除操作的存储器单元的阱区。再例如,在读取操作中产生的读取电压可以被施加到将执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的读取操作、写入操作和擦除操作。
可以将上述系统的功能实施为根据本公开的实施例的方法。
虽然上面已经描述了各个实施例,但是本领域技术人员根据本公开将理解,可以以多种方式改变或修改所述的实施例。因此,本发明包括落入所附权利要求范围内的所有这样的改变方案和修改方案。
Claims (17)
1.一种存储器系统,包括:
非易失性存储器装置,包括用于存储多个存储块的寿命信息的系统区域和在升级固件时不被重置的一次性可编程区域,即OTP区域,所述OTP区域存储有初始坏块信息;
功能部件,存储所述固件;
接口部件,接收用于升级的新固件;
验证控制部件,执行所述非易失性存储器装置的验证操作;以及
升级部件,在执行所述非易失性存储器装置的验证操作时升级所述固件,
其中在所述接口部件接收到所述新固件后,所述验证控制部件基于所述初始坏块信息来选择初始坏块,将所述寿命信息从所述系统区域备份到所选择的初始坏块,控制所述升级部件升级所述固件,并且在所述升级之后将所述寿命信息从所选择的初始坏块拷贝到所述系统区域,
其中所述系统区域被所述升级重置,所述初始坏块不被所述升级重置。
2.根据权利要求1所述的存储器系统,其中所述验证控制部件基于存储在所述OTP区域中的优先级信息从多个初始坏块中选择所述初始坏块。
3.根据权利要求1所述的存储器系统,其中所述验证控制部件将所述寿命信息和标题信息存储在所选择的初始坏块中,所述标题信息指示所述寿命信息是有效信息。
4.根据权利要求1所述的存储器系统,其中所述验证控制部件选择多个初始坏块,并且将所述寿命信息备份到所选择的多个初始坏块。
5.根据权利要求1所述的存储器系统,其中所述验证控制部件将关于固件升级计数的信息存储在所选择的初始坏块中,关于所述固件升级计数的所述信息指示升级所述固件的次数。
6.根据权利要求1所述的存储器系统,其中所述寿命信息包括所述存储块的编程/擦除循环信息,即P/E循环信息。
7.一种存储器系统的操作方法,包括以下步骤:
由控制器在非易失性存储器装置的多个初始坏块中选择初始坏块;
由所述控制器将寿命信息备份到所选择的初始坏块,在升级固件之前所述寿命信息被存储在所述非易失性存储器装置的系统区域中;并且
在备份所述寿命信息后由所述控制器使用新固件升级固件。
8.根据权利要求7所述的操作方法,其中所选择的初始坏块在升级所述固件时不被重置。
9.根据权利要求7所述的操作方法,其中选择所述初始坏块包括通过参考在升级所述固件时不被重置的一次性可编程区域,即OTP区域来选择所述初始坏块。
10.根据权利要求9所述的操作方法,其中选择所述初始坏块包括:
搜索存储在所述OTP区域中的初始坏块信息;并且
基于所述初始坏块信息从所述多个初始坏块中选择所述初始坏块。
11.根据权利要求9所述的操作方法,其中选择所述初始坏块包括:
搜索存储在所述OTP区域中的初始坏块信息和初始坏块的优先级信息;并且
基于所述初始坏块信息和所述优先级信息从所述多个初始坏块中选择所述初始坏块。
12.根据权利要求7所述的操作方法,进一步包括由所述控制器接收所述新固件。
13.根据权利要求7所述的操作方法,进一步包括在升级所述固件之后,将所述寿命信息备份到所述系统区域。
14.根据权利要求7所述的操作方法,其中将所述寿命信息备份到所选择的初始坏块包括将所述寿命信息和标题信息存储在所选择的初始坏块中,所述标题信息指示所述寿命信息是有效信息。
15.根据权利要求7所述的操作方法,其中所述寿命信息包括所述非易失性存储器装置中的存储块的编程/擦除循环信息,即P/E循环信息。
16.根据权利要求7所述的操作方法,进一步包括由所述控制器将关于固件升级计数的信息存储在所选择的初始坏块中,关于所述固件升级计数的所述信息指示升级所述固件的次数。
17.一种存储器系统,包括:
非易失性存储器装置,包括多个存储块、用于存储所述多个存储块的寿命信息的第一区域和用于存储与所述多个存储块中的初始坏块有关的初始坏块信息的第二区域;以及
控制器:
当接收到用于升级的新固件时,基于所述初始坏块信息在所述初始坏块中选择初始坏块;
将所述寿命信息备份到所选择的初始坏块;并且
在备份所述寿命信息后使用所述新固件升级固件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180009574A KR20190090634A (ko) | 2018-01-25 | 2018-01-25 | 메모리 시스템 및 그것의 동작 방법 |
KR10-2018-0009574 | 2018-01-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083305A CN110083305A (zh) | 2019-08-02 |
CN110083305B true CN110083305B (zh) | 2022-06-07 |
Family
ID=67298629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811134329.1A Active CN110083305B (zh) | 2018-01-25 | 2018-09-27 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11036493B2 (zh) |
KR (1) | KR20190090634A (zh) |
CN (1) | CN110083305B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094071B (zh) * | 2021-04-25 | 2023-06-09 | 珠海市一微星科技有限公司 | 一种微控制单元、其控制方法及其固件升级方法 |
CN113872812B (zh) * | 2021-09-29 | 2023-06-23 | 联想(北京)有限公司 | 一种信息处理方法、网络设备和终端设备 |
US20240070014A1 (en) * | 2022-08-26 | 2024-02-29 | Micron Technology, Inc. | Commands for testing error correction in a memory device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585926A (zh) * | 2001-09-17 | 2005-02-23 | 索马网络公司 | 软件更新方法、设备和系统 |
CN103403691A (zh) * | 2011-03-10 | 2013-11-20 | 株式会社东芝 | 信息处理装置、外部储存装置、主机装置、中继装置、控制程序以及信息处理装置的控制方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
KR100678047B1 (ko) * | 2004-05-06 | 2007-02-02 | 삼성전자주식회사 | 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법 |
US8315994B2 (en) * | 2008-10-31 | 2012-11-20 | Disney Enterprises, Inc. | System and method for updating digital media content |
US20140028200A1 (en) * | 2011-05-12 | 2014-01-30 | LSI Saco Technologies, Inc. | Lighting and integrated fixture control |
US9952967B2 (en) * | 2015-03-10 | 2018-04-24 | Toshiba Memory Corporation | Method for controlling nonvolatile memory and storage medium storing program |
US20170249155A1 (en) * | 2016-02-26 | 2017-08-31 | Sandisk Technologies Inc. | Memory System and Method for Fast Firmware Download |
US10185553B2 (en) * | 2016-06-30 | 2019-01-22 | Microsoft Technology Licensing, Llc | Fault-tolerant variable region repaving during firmware over the air update |
US20180091315A1 (en) * | 2016-09-27 | 2018-03-29 | Qualcomm Incorporated | Revocation and updating of compromised root of trust (rot) |
US10521343B2 (en) * | 2017-06-12 | 2019-12-31 | Western Digital Technologies, Inc. | Storage system with a controller having a persistent memory interface to local memory |
-
2018
- 2018-01-25 KR KR1020180009574A patent/KR20190090634A/ko unknown
- 2018-08-23 US US16/110,462 patent/US11036493B2/en active Active
- 2018-09-27 CN CN201811134329.1A patent/CN110083305B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585926A (zh) * | 2001-09-17 | 2005-02-23 | 索马网络公司 | 软件更新方法、设备和系统 |
CN103403691A (zh) * | 2011-03-10 | 2013-11-20 | 株式会社东芝 | 信息处理装置、外部储存装置、主机装置、中继装置、控制程序以及信息处理装置的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US11036493B2 (en) | 2021-06-15 |
US20190227788A1 (en) | 2019-07-25 |
CN110083305A (zh) | 2019-08-02 |
KR20190090634A (ko) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243709B2 (en) | Data storage apparatus and operating method thereof | |
CN109933280B (zh) | 数据存储装置及其操作方法 | |
CN110047538B (zh) | 存储器系统及其操作方法 | |
US11481153B2 (en) | Data storage device and operating method thereof | |
CN110083305B (zh) | 存储器系统及其操作方法 | |
CN110942795A (zh) | 存储器系统、其操作方法以及非易失性存储器装置 | |
CN111223514A (zh) | 具有数据保持保护的电子设备及其操作方法 | |
KR20190076296A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN109582483B (zh) | 数据存储装置及其操作方法 | |
US11748025B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
CN110299181B (zh) | 非易失性存储器装置、其操作方法及数据存储装置 | |
CN105374394B (zh) | 半导体存储装置及其操作方法和包括其的数据存储装置 | |
US20230289059A1 (en) | Memory system and operating method thereof | |
CN112394879B (zh) | 操作存储设备的方法、存储设备及操作存储系统的方法 | |
CN110442302B (zh) | 存储器系统及用于操作存储器系统的方法 | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
CN109871339B (zh) | 存储器系统以及该存储器系统的操作方法 | |
CN109840214B (zh) | 数据存储装置及其操作方法 | |
CN113010445A (zh) | 数据存储装置、其操作方法及使用其的存储系统 | |
CN110825654B (zh) | 存储器系统及其操作方法 | |
US20220171706A1 (en) | Memory system and operating method thereof | |
KR20180047808A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN114840444A (zh) | 存储器系统及其操作方法 | |
CN115794535A (zh) | 事件日志管理方法、控制器和存储装置 | |
CN112306895A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |