CN114300033A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN114300033A CN114300033A CN202110671556.3A CN202110671556A CN114300033A CN 114300033 A CN114300033 A CN 114300033A CN 202110671556 A CN202110671556 A CN 202110671556A CN 114300033 A CN114300033 A CN 114300033A
- Authority
- CN
- China
- Prior art keywords
- memory
- parity
- parity information
- data
- controller
- 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
Links
Images
Classifications
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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
-
- 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/1441—Resetting or repowering
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- 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/1448—Management of the data involved in backup or backup restore
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/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/0656—Data buffering 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本技术涉及一种电子装置。根据本技术,一种具有提高的操作速度的存储装置包括:存储器装置,包括多个存储器区域;缓冲存储器,被配置为存储第一奇偶校验信息,该第一奇偶校验信息包括用于多个存储器区域之中的一个或多个第一存储器区域中的每一个中存储的数据的奇偶校验;以及存储器控制器,被配置为存储第二奇偶校验信息,并且在发生突然断电时控制存储器装置以存储转储奇偶校验信息,该第二奇偶校验信息包括用于多个存储器区域之中除了一个或多个第一存储器区域之外的一个或多个第二存储器区域中的每一个中存储的数据的奇偶校验,该转储奇偶校验信息包括第一奇偶校验信息和第二奇偶校验信息中的一些。
Description
相关申请的交叉引用
本申请要求于2020年10月7日提交的申请号为10-2020-0129545的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开涉及一种电子装置,并且更特别地,涉及一种存储装置及其操作方法。
背景技术
存储装置是在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可以包括存储数据的存储器装置以及控制存储器装置的存储器控制器。存储器装置可以分类为易失性存储器装置和非易失性存储器装置。
易失性存储器装置可以是仅在供电时存储数据并且在切断电源时丢失所存储的数据的装置。易失性存储器装置包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使切断电源也不会丢失数据的装置。非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器等。
发明内容
本公开的实施例提供了一种具有提高的操作速度的存储装置及其操作方法。
根据本公开的实施例,一种存储装置可以包括:存储器装置,包括多个存储器区域;缓冲存储器,被配置为存储第一奇偶校验信息,该第一奇偶校验信息包括用于多个存储器区域之中的一个或多个第一存储器区域中的每一个中存储的数据的奇偶校验;以及存储器控制器,被配置为存储第二奇偶校验信息,并且当发生突然断电时,控制该存储器装置以存储转储奇偶校验信息,该第二奇偶校验信息包括用于多个存储器区域之中除了一个或多个第一存储器区域之外的一个或多个第二存储器区域中的每一个中存储的数据的奇偶校验,该转储奇偶校验信息包括第一奇偶校验信息和第二奇偶校验信息中的一些。
根据本公开的实施例,一种控制缓冲存储器和存储器装置的存储器控制器,该存储器装置包括多个存储器区域,该存储器控制器可以包括:奇偶校验信息控制器,被配置为:向缓冲存储器提供第一奇偶校验信息并且存储第二奇偶校验信息,该第一奇偶校验信息包括用于多个存储器区域之中的一个或多个第一存储器区域中的每一个中存储的数据的奇偶校验,该第二奇偶校验信息包括用于多个存储器区域之中除了一个或多个第一存储器区域之外的一个或多个第二存储器区域中的每一个中存储的数据的奇偶校验;以及突然断电控制器,被配置为在发生突然断电时控制存储器装置以存储包括第一奇偶校验信息和第二奇偶校验信息中的一些的转储奇偶校验信息。
根据本公开的实施例,一种操作存储装置的方法可以包括:将包括用于多个存储器区域中存储的数据的奇偶校验的奇偶校验信息存储在缓冲存储器和存储器控制器中;感测突然断电;响应于突然断电将奇偶校验信息中包括的奇偶校验中的一些存储在存储器装置中;响应于在突然断电之后的通电而将该奇偶校验中的一些提供到存储器控制器;并且根据提供到存储器控制器的该奇偶校验中的一些中是否包括用于与从主机输入的请求相对应的数据的奇偶校验,重新生成用于与从主机输入的请求相对应的数据的奇偶校验。
根据本公开的实施例,一种控制器的操作方法可以包括:在生成用于数据的奇偶校验的同时将该数据存储到存储器装置中;将该奇偶校验作为第一奇偶校验缓冲到第一存储器中,同时在当第一存储器充满第一奇偶校验时将第一奇偶校验的至少一部分作为第二奇偶校验移动到第二存储器或作为第三奇偶校验移动到存储器装置;一旦发生突然断电(SPO),则在系统的剩余电力耗尽之前,首先将第一奇偶校验然后将第二奇偶校验转储到存储器装置中;在SPO之后的恢复期间,将所转储的奇偶校验分别加载回第一存储器和第二存储器;并且当第一存储器、第二存储器和存储器装置中的任何一个中都不存在用于所请求的数据的奇偶校验时,生成用于所请求的数据的奇偶校验。
根据本技术,提供了一种具有提高的操作速度的存储装置及其操作方法。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出图1的存储器装置的示图。
图3是示出图2的存储块中的一个的结构的示图。
图4是示出根据本公开的实施例的生成奇偶校验的示例的示图。
图5A至图5C是示出根据本公开的实施例的数据与奇偶校验之间的关系的示图。
图6是示出根据本公开的实施例的分区的概念以及分区与奇偶校验之间的关系的示图。
图7是示出根据本公开的实施例的突然断电恢复操作的示图。
图8是示出根据本公开的实施例的存储器控制器的示图。
图9是示出根据本公开的实施例的当发生突然断电时存储器控制器的操作的示图。
图10是示出根据本公开的实施例的当接通电源时存储器控制器的操作的示图。
图11A和图11B是示出根据本公开的实施例的重新生成奇偶校验的示例的示图。
图12是示出根据本公开的实施例的操作存储装置的方法的示图。
图13是示出根据本公开的实施例的重新生成奇偶校验的方法的流程图。
图14是示出图1的存储器控制器的示图。
图15是示出根据本公开的实施例的应用存储装置的存储卡系统的框图。
图16是示出根据本公开实施例的应用存储装置的固态驱动器(SSD)系统的框图。
图17是示出根据本公开的实施例的应用存储装置的用户系统的框图。
具体实施方式
示出根据在本说明书中所公开的概念的实施例的具体结构或功能描述仅为了描述根据本公开的概念的实施例。根据本公开的概念的实施例可以以各种形式来实施,并且该描述不限于本说明书或本申请中所描述的实施例。
图1是示出根据本公开的实施例的存储装置的示图。
参照图1,存储装置50可以包括存储器装置100、缓冲存储器300以及控制存储器装置100和缓冲存储器300的操作的存储器控制器200。存储装置50可以是在诸如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统的主机400的控制下存储数据的装置。
可以根据作为与主机400的通信方法的主机接口将存储装置50制造为各种类型的存储装置中的一种。例如,存储装置50可以被配置为诸如以下的各种类型的存储装置中的任意一种:SSD,MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以被制造为各种类型的封装中的任意一种。例如,存储装置50可以被制造为诸如以下的各种类型的封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下进行操作。存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
存储器单元阵列(未示出)可以包括多个存储块。每个存储块可以包括多个存储器单元。一个存储块可以包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。存储块可以是用于擦除数据的单位。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为了便于描述,存储器装置100是NAND闪速存储器。
存储器装置100被配置为从存储器控制器200接收命令CMD和地址ADDR,并且访问存储器单元阵列中由该地址选择的区域。存储器装置100可以对由地址ADDR选择的区域执行由命令CMD指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程在由地址ADDR选择的区域中。在读取操作期间,存储器装置100可以从由地址ADDR选择的区域读取数据。在擦除操作中,存储器装置100可以擦除由地址ADDR选择的区域中存储的数据。
存储器控制器200可以控制存储装置50的全部操作。
当向存储装置50供应电力时,存储器控制器200可以运行固件(FW)。当存储器装置100是闪速存储器装置时,固件(FW)可以包括控制与主机400的通信的主机接口层(HIL),并且存储器控制器200可以包括控制主机400与存储器装置100之间的通信的闪存转换层(FTL)以及控制与存储器装置100的通信的闪存接口层(FIL)。
在实施例中,存储器控制器200可以从主机400接收数据和逻辑块地址(LBA),并且可以将LBA转换为物理块地址(PBA),该物理块地址指示存储器装置100中包括的将存储数据的存储器单元的地址。在本说明书中,LBA和“逻辑的(logic)地址”或“逻辑(logical)地址”可以作为具有相同的含义来使用。在本说明书中,PBA和“物理地址”可以作为具有相同的含义来使用。
存储器控制器200可以根据主机400的请求控制存储器装置100以执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器装置100提供写入命令、PBA和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和PBA。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可以不考虑来自主机400的请求而独立地生成命令、地址和数据,并且将命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以将用于伴随执行损耗均衡、读取回收、垃圾收集等而执行的读取操作和编程操作的命令、地址和数据提供到存储器装置100。
在实施例中,存储器控制器200可以控制至少两个或更多个存储器装置100。在这种情况下,存储器控制器200可以根据交错方法来控制存储器装置100以提高操作性能。交错方法可以是控制至少两个存储器装置100的操作以使操作彼此重叠的方法。
从主机400提供的读取请求请求再次向主机400提供原始数据,该原始数据由主机400请求被存储在存储装置50中。存储器控制器200通过对原始数据执行错误校正编码来生成包括用于错误校正的奇偶校验数据的写入数据。存储器控制器200可以控制存储器装置100以将写入数据存储在存储器装置100中。
此后,响应于来自主机400的读取请求,存储器控制器200可以向存储器装置100提供读取命令和指示存储待读取的数据的存储器单元的位置的物理地址,以从存储器装置100获得与主机400的读取请求相对应的数据。
存储器装置100可以使用默认读取电压来执行读取操作。读取电压可以是被施加以识别存储器单元中存储的数据的电压。默认读取电压可以是在存储器装置100的制造过程中通过测试确定的读取电压。
存储器装置100可以将通过使用默认读取电压读取在所接收的物理地址中存储的数据而获得的读取数据提供到存储器控制器200。存储器控制器200可以对读取数据执行错误校正解码。
错误校正解码可以是通过校正读取数据中包括的错误位来获得原始数据的操作。根据读取数据中包括的错误位的数量是否等于或小于可校正的错误位的数量,错误校正解码可以成功或失败。当读取数据中包括的错误位的数量等于或小于可校正的错误位的数量时,错误校正解码可以通过。相反地,当读取数据中包括的错误位的数量超过可校正的错误位的数量时,错误校正解码可以失败。当错误校正解码通过时,可以获得与主机400请求的逻辑地址相对应的原始数据。因此,当错误校正解码通过时,由存储器装置100执行的读取操作通过。当错误校正解码失败时,可能无法获得原始数据,并且由存储器装置100执行的读取操作失败。
当读取操作失败时,存储器控制器200可以执行多种恢复算法,直到获得原始数据。可以根据预设顺序来执行多种恢复算法。随着恢复算法的复杂性增加,将获得原始数据的可能性也增加。然而,由于待由存储器控制器200执行的操作或计算的量根据复杂度增加,因此开销也可能增加。在实施例中,存储器控制器200可以以从具有低复杂度的恢复算法到具有高复杂度的恢复算法的顺序来执行恢复算法。当通过恢复算法中的一种获得原始数据时,可以不执行剩余的恢复算法。
主机400可以使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
存储器控制器200可以根据主机400的请求控制缓冲存储器300以临时存储待存储在存储器装置100中的数据。可以根据逻辑地址将缓冲存储器300中存储的数据存储在缓冲存储器300中的预分配区域(未示出)中。
编程单位被定义为在编程操作期间将被一次编程到存储器装置100中的数据的大小。从主机400提供到存储装置50的数据的大小可以与编程单位不同。因此,存储器控制器200可以将根据主机400的编程请求接收的数据存储在缓冲存储器300中。之后,当缓冲存储器300中存储的数据变为编程单位的大小时,存储器控制器200可以控制缓冲存储器300和存储器装置100以将具有编程单位大小的数据编程到存储器装置100中。
缓冲存储器300可以是易失性存储器装置。因此,当切断电源时,可能无法保持缓冲存储器300中存储的数据。
参照图1,缓冲存储器300被包括在存储装置50中并且位于存储器控制器200的外部。然而,在各个实施例中,缓冲存储器300可以位于存储器控制器200内部。
图2是示出图1的存储器装置的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、电压生成器120、地址解码器130、输入/输出电路140和控制逻辑150。
存储器单元阵列110包括多个存储块BLK1至BLKi。多个存储块BLK1至BLKi通过行线RL连接到地址解码器130。多个存储块BLK1至BLKi可以通过列线CL连接到输入/输出电路140。在实施例中,行线RL可以包括字线、源极选择线和漏极选择线。在实施例中,列线CL可以包括位线。
多个存储块BLK1至BLKi中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中连接到相同字线的存储器单元可以被定义为一个物理页面。也就是说,存储器单元阵列110可以包括多个物理页面。存储器装置100的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
在实施例中,电压生成器120、地址解码器130和输入/输出电路140可以被统称为外围电路。外围电路可以在控制逻辑150的控制下驱动存储器单元阵列110。外围电路可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
电压生成器120被配置为使用被供应到存储器装置100的外部电源电压来生成多个操作电压Vop。电压生成器120响应于控制逻辑150的控制而操作。
在实施例中,电压生成器120可以通过调节外部电源电压来生成内部电源电压。将由电压生成器120生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压生成器120可以使用外部电源电压或内部电源电压来生成多个操作电压。电压生成器120可以被配置为生成存储器装置100中所需的各种电压。例如,电压生成器120可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
电压生成器120可以包括接收内部电源电压的多个泵浦电容器(pumpingcapacitors)以生成具有各种电压电平的多个操作电压,并且可以响应于控制逻辑150的控制而通过选择性地启用多个泵浦电容器来生成多个操作电压。
所生成的多个操作电压可以由地址解码器130供应给存储器单元阵列110。
地址解码器130通过行线RL连接到存储器单元阵列110。地址解码器130被配置为响应于控制逻辑150的控制而操作。地址解码器130可以从控制逻辑150接收地址ADDR。地址解码器130可以对所接收的地址ADDR之中的块地址进行解码。地址解码器130根据解码后的块地址在存储块BLK1至BLKi之中选择至少一个存储块。地址解码器130可以对所接收的地址ADDR之中的行地址进行解码。地址解码器130可以根据解码后的行地址在所选择的存储块的字线之中选择至少一个字线。在实施例中,地址解码器130可以对所接收的地址ADDR之中的列地址进行解码。地址解码器130可以根据解码后的列地址将输入/输出电路140和存储器单元阵列110彼此连接。
根据本公开的实施例,在读取操作期间,地址解码器130可以将读取电压施加到所选择的字线,并且将电平高于该读取电压的电平的读取通过电压施加到未选择的字线。
例如,地址解码器130可以包括诸如行解码器、列解码器和地址缓冲器的组件。
输入/输出电路140可以包括多个页面缓冲器。多个页面缓冲器可以通过位线连接到存储器单元阵列110。在编程操作期间,可以根据多个页面缓冲器中存储的数据将数据存储在所选择的存储器单元中。
在读取操作期间,可以通过位线感测所选择的存储器单元中存储的数据,并且可以将所感测到的数据存储在页面缓冲器中。
控制逻辑150可以控制地址解码器130、电压生成器120和输入/输出电路140。控制逻辑150可以响应于从外部装置传输的命令CMD而操作。控制逻辑150可以响应于命令CMD和地址ADDR而生成各种信号以控制外围电路。
图3是示出图2的存储块中的一个的结构的示图。
存储块BLKi是图2的存储块BLK1至BLKi之中的一个存储块BLKi。
参照图3,可以将彼此平行布置的多个字线连接在第一选择线和第二选择线之间。此处,第一选择线可以是源极选择线SSL,并且第二选择线可以是漏极选择线DSL。更具体地,存储块BLKi可以包括在位线BL1至BLn与源极线SL之间连接的多个串ST。位线BL1至BLn可以分别连接到串ST,并且源极线SL可以共同连接到串ST。由于串ST可以被配置为彼此相同,因此,作为示例,具体描述连接到第一位线BL1的串ST。
串ST可以包括串联连接在源极线SL与第一位线BL1之间的源极选择晶体管SST、多个存储器单元MC1至MC16、以及漏极选择晶体管DST。一个串ST可以包括源极选择晶体管SST和漏极选择晶体管DST中的至少一个或多个,并且可以包括多于图中所示的存储器单元MC1至MC16的数量。
源极选择晶体管SST的源极可以连接到源极线SL,并且漏极选择晶体管DST的漏极可以连接到第一位线BL1。存储器单元MC1至MC16可以在源极选择晶体管SST与漏极选择晶体管DST之间串联连接。不同串ST中包括的源极选择晶体管SST的栅极可以连接到源极选择线SSL,漏极选择晶体管DST的栅极可以连接到漏极选择线DSL,并且存储器单元MC1至MC16的栅极可以连接到多个字线WL1至WL16。可以将不同串ST中包括的存储器单元之中的连接到相同字线的一组存储器单元称为页面PG。因此,存储块BLKi可以包括字线WL1至WL16的数量的页面PG。
一个存储器单元可以存储一个数据位。这通常称为单层单元(SLC)。在这种情况下,一个物理页面PG可以存储一个逻辑页面(LPG)数据。一个逻辑页面(LPG)数据可以包括与一个物理页面PG中包括的单元相同数量的数据位。
一个存储器单元可以存储两个或更多个数据位。在这种情况下,一个物理页面PG可以存储两个或更多个逻辑页面(LPG)数据。
图4是示出根据本公开的实施例的生成奇偶校验的示例的示图。
参照图4,存储器控制器200可以使用待存储在存储器装置100中的数据DATA来生成用于该数据DATA的奇偶校验Parity。例如,存储器控制器200可以执行用于通过使用数据DATA来生成奇偶校验Parity的操作。该操作可以包括各种方法,但是在本实施例中,以异或(XOR)操作为例进行描述。
异或操作和数据恢复方法描述如下。
例如,数据DATA可以包括数据的第一数据条和数据的第二数据条。在该示例中,第一数据条是“1101 0011”,第二数据条是“00111011”。存储器控制器200可以对第一数据条和第二数据条执行异或操作。因此,可以针对数据DATA生成奇偶校验Parity“1110 1000”。之后,数据DATA和奇偶校验Parity可以存储在存储器装置100中。
作为对存储器装置100中存储的第一数据条执行读取操作的结果,可能发生错误。在这种情况下,存储器控制器200可以读取第二数据条和奇偶校验Parity,并且对第二数据条和奇偶校验Parity执行异或(XOR)操作。也就是说,当对“0011 1011”和“1110 1000”执行XOR操作时,可以生成第一数据条“1101 0011”。因此,可以恢复发生了错误的第一数据条。
图5A至图5C是示出根据本公开的实施例的数据与奇偶校验之间的关系的示图。
在图5A至图5C中,存储器装置100可以包括多个平面。然而,为了便于描述,在本说明书中,存储器装置100包括两个平面Plane 1和Plane 2。一个平面可以包括第一至第i存储块BLK1至BLKi,并且一个存储块可以包括第一至第k页面Page 1至Page k。
在实施例中,可以针对每个预设大小的数据生成一个奇偶校验。
例如,可以针对存储器装置100中包括的每个存储器区域生成一个奇偶校验。在实施例中,存储器装置100可以包括多个存储器区域。此时,可以以存储器区域的大小为单位来存储数据。另外,可以以存储器区域的大小为单位生成奇偶校验。例如,存储器区域可以是页面、存储块、平面等。可以在初始设置中不同地定义存储器区域。
图5A是示出针对每个一个页面中存储的数据生成一个奇偶校验的示例的示图。参照图5A,每个页面可以存储数据DATA和用于数据DATA的奇偶校验Parity。此时,可以通过对一个页面中存储的数据DATA应用异或操作来生成奇偶校验Parity。
图5B是示出针对每个两个页面中存储的数据生成一个奇偶校验的示例的示图。参照图5B,每个页面可以存储数据DATA,并且可以针对每两个页面存储一个奇偶校验Parity。此时,可以通过对两个页面中存储的数据DATA应用异或操作来生成奇偶校验Parity。
图5C是示出针对每个四个页面中存储的数据生成一个奇偶校验的示例的示图。参照图5C,每个页面可以存储数据DATA,并且可以针对每四个页面存储一个奇偶校验Parity。此时,可以通过对四个页面中存储的数据DATA应用异或操作来生成奇偶校验Parity。
在上述示例中,根据实施例,在不同平面中包括的页面之间生成奇偶校验,但是可以在相同平面中包括的页面之间生成奇偶校验。
另外,在上述示例中,根据实施例,针对每个页面单位生成奇偶校验,但是不限于此,并且可以针对每个存储块单位或平面单位生成奇偶校验。
图6是示出根据本公开的实施例的分区的概念以及分区与奇偶校验之间的关系的示图。
在图6中,多个分区可以包括第一分区Zone 1至第N分区Zone N。多个分区中的每一个可以包括多个存储块。在实施例中,多个分区中的每一个中包括的存储块的数量可以彼此不同或可以相同。分区可以是与逻辑地址组相对应的存储区域,该逻辑地址组由从主机输入的逻辑地址构成。具体地,多个分区可以是用于存储与各个逻辑地址组相对应的数据的区域。例如,第一分区Zone1可以是用于存储与第一逻辑地址组LBA Group 1相对应的数据的区域。另外,第二分区Zone 2可以是用于存储与第二逻辑地址组LBA Group 2相对应的数据的区域。另外,第三分区Zone 3可以是用于存储与第三逻辑地址组LBA Group 3相对应的数据的区域。另外,第N分区Zone N可以是用于存储与第N逻辑地址组LBA Group N相对应的数据的区域。此时,逻辑地址组中的每一个可以包括连续逻辑地址。
在实施例中,可以针对每个分区生成一个奇偶校验Parity。例如,存储器控制器200可以通过使用待存储在多个分区中的每一个中的数据生成用于该数据的奇偶校验Parity。具体地,存储器控制器200可以通过对待存储在每个分区中的数据应用异或操作来生成用于该数据的奇偶校验Parity。
图7是示出根据本公开的实施例的突然断电恢复操作的示图。
在图7中,存储器控制器200可以具有能够存储分别包括奇偶校验的四条奇偶校验信息的存储容量。然而,这仅是示例,并且存储器控制器200的存储容量可以变化。
参照图7,奇偶校验信息可以包括指示存储器区域的元数据和用于该存储器区域中存储的数据的奇偶校验。例如,与第一存储器区域相对应的奇偶校验信息可以包括指示第一存储器区域的元数据Meta1和用于第一存储器区域中存储的数据的奇偶校验Parity1。
当存储装置50操作时,存储装置50可能发生突然切断电源的突然断电(SPO)。当在发生突然断电情况之后再次供应电力时,即当发生通电情况时,存储装置50可以执行突然断电恢复操作。
例如,在发生突然断电之前,关于多个存储器区域的奇偶校验信息被存储在存储器控制器200和缓冲存储器300中的每一个中。此时,当发生突然断电时,由于存储器控制器200和缓冲存储器300中存储的奇偶校验信息没有被转储到存储器装置100,所以存储器控制器200和缓冲存储器300中存储的奇偶校验信息会丢失。因此,当在发生突然断电之后接通电源时,存储器控制器200重新生成关于多个存储器区域中存储的数据的奇偶校验信息。此时,由于随着多个存储器区域的大小增加,待重新生成的奇偶校验信息的大小增加,因此存在用于存储装置50由于突然断电而再次启动的时间增加的问题。另外,随着存储装置50的启动时间增加,存在主机400由于主机400中发生超时错误而无法识别存储装置50的问题。
根据本公开的实施例,当发生突然断电时,可以将存储器控制器200和缓冲存储器300中存储的奇偶校验信息中的一些尽可能多地转储到存储器装置100中。在接通电源之后,当接收到对与奇偶校验相对应的数据的请求时,可以重新生成在发生突然断电时未能转储在存储器装置100中的奇偶校验。因此,可以提高存储装置50的操作速度,并且可以提高主机400的存储装置识别率。
图8是示出根据本公开的实施例的存储器控制器的示图。
图8所示的存储器装置100、存储器控制器200、缓冲存储器300和主机400可以分别指示图1所示的存储器装置100、存储器控制器200、缓冲存储器300和主机400。
参照图8,存储器控制器200可以包括奇偶校验信息控制器210和突然断电控制器220。
奇偶校验信息控制器210可以生成用于与从主机400输入的请求相对应的数据的奇偶校验。在实施例中,从主机400输入的请求可以包括读取请求和编程请求中的至少一个。在实施例中,可以使用XOR加速引擎来实施奇偶校验信息控制器210。
在实施例中,奇偶校验信息控制器210可以包括奇偶校验信息生成器211和奇偶校验信息存储装置212。
在实施例中,奇偶校验信息生成器211可以计算用于待存储在各个存储器区域中的数据的奇偶校验。例如,奇偶校验信息生成器211可以使用待存储在各个存储器区域中的数据来执行异或操作。奇偶校验信息生成器211可以根据异或操作来生成用于待存储在各个存储器区域中的数据的奇偶校验。
在实施例中,奇偶校验信息生成器211可以生成第一奇偶校验信息,该第一奇偶校验信息包括用于多个存储器区域之中的一个或多个第一存储器区域中的每一个中存储的数据的奇偶校验。此后,奇偶校验信息生成器211可以将第一奇偶校验信息提供到奇偶校验信息存储装置212。
奇偶校验信息存储装置212可以存储第一奇偶校验信息。
另外,奇偶校验信息生成器211可以生成第二奇偶校验信息,该第二奇偶校验信息包括用于多个存储器区域之中除了一个或多个第一存储器区域之外的一个或多个第二存储器区域中的每一个中存储的数据的奇偶校验。
此时,当在奇偶校验信息存储装置212中不存在用于存储奇偶校验的空间时,奇偶校验信息控制器210可以将第一奇偶校验信息中的一些从奇偶校验信息存储装置212提供到存储器装置100或缓冲存储器300。例如,当奇偶校验信息存储装置212将第一奇偶校验信息提供到存储器装置100时,存储器装置100可以存储第一奇偶校验信息。另外,当奇偶校验信息存储装置212将第一奇偶校验信息提供到缓冲存储器300时,缓冲存储器300可以存储第一奇偶校验信息。
此后,当在奇偶校验信息存储装置212中产生存储空间时,奇偶校验信息生成器211可以将第二奇偶校验信息提供到奇偶校验信息存储装置212。奇偶校验信息存储装置212可以存储第二奇偶校验信息。
奇偶校验信息存储装置212、存储器装置100和缓冲存储器300中的每一个中存储的奇偶校验信息可以彼此不同。也就是说,奇偶校验信息存储装置212、存储器装置100和缓冲存储器300可以存储用于不同数据的奇偶校验。
当发生突然断电时,突然断电控制器220可以感测突然断电的发生并且执行突然断电恢复操作。
在实施例中,当发生突然断电时,突然断电控制器220可以控制存储器装置100以将转储奇偶校验信息存储在存储器装置100中。转储奇偶校验信息可以包括第一奇偶校验信息和第二奇偶校验信息中的一些。此时,转储奇偶校验信息可以是当发生突然断电时存储在存储器装置100中的奇偶校验信息。在实施例中,转储奇偶校验信息可以包括第二奇偶校验信息,该第二奇偶校验信息是奇偶校验信息存储装置212中存储的奇偶校验信息。另外,在实施例中,转储奇偶校验信息可以包括第一奇偶校验信息中的一些,该第一奇偶校验信息是缓冲存储器300中存储的奇偶校验信息。
例如,当发生突然断电时,突然断电控制器220可以控制存储器装置100以将奇偶校验信息存储装置212和缓冲存储器300中存储的第一奇偶校验信息和第二奇偶校验信息中的一些存储在存储器装置100中。具体地,突然断电控制器220可以控制存储器装置100和奇偶校验信息存储装置212以将奇偶校验信息存储装置212中存储的第二奇偶校验信息存储在存储器装置100中。另外,在将第二奇偶校验信息提供到存储器装置100之后,突然断电控制器220可以将缓冲存储器300中存储的第一奇偶校验信息中的一些提供到存储器装置100。也就是说,根据在发生突然断电时临时供应电力的诸如POSCAP的应急电源装置(未示出)的容量,从奇偶校验信息存储装置212和缓冲存储器300转储到存储器装置100的奇偶校验信息的量可以不同。
在实施例中,突然断电控制器220可以在发生突然断电之后接通电源时控制存储器装置100以将转储奇偶校验信息提供到奇偶校验信息存储装置212。具体地,突然断电控制器220可以在发生突然断电之后接通电源时执行将存储器装置100中存储的转储奇偶校验信息再次提供到奇偶校验信息存储装置212的“重建操作”。因此,即使发生突然断电,也可以将一些奇偶校验信息存储在存储器装置100中,从而减少生成奇偶校验所需的时间。
在奇偶校验信息存储装置212和缓冲存储器300中存储的奇偶校验之中,除了转储奇偶校验信息中包括的奇偶校验之外的剩余奇偶校验由于突然断电而丢失。因此,需要一种在接通电源之后恢复所丢失的奇偶校验的方法。
在实施例中,当在接通电源之后在转储奇偶校验信息中不存在用于与从主机400输入的请求相对应的数据的奇偶校验时,奇偶校验信息生成器211可以生成用于与从主机400输入的请求相对应的数据的奇偶校验。
例如,当在奇偶校验信息存储装置212和缓冲存储器300中不存在用于与从主机400输入的请求相对应的数据的奇偶校验时,奇偶校验信息生成器211可以生成用于与从主机400输入的请求相对应的数据的奇偶校验。
另外,在实施例中,存储器装置100可以存储第三奇偶校验信息,该第三奇偶校验信息包括用于多个存储器区域之中除了一个或多个第一存储器区域和一个或多个第二存储器区域之外的一个或多个第三存储器区域中的每一个中存储的数据的奇偶校验。例如,第三奇偶校验信息可以包括未存储在奇偶校验信息存储装置212和缓冲存储器300中的奇偶校验。奇偶校验信息生成器211可使用一个或多个第三存储器区域中的每一个中存储的数据来生成第三奇偶校验信息。此后,奇偶校验信息生成器211可以将第三奇偶校验信息提供到存储器装置100。
具体地,存储器装置100可以存储未存储在奇偶校验信息存储装置212和缓冲存储器300中的奇偶校验。此时,可以使用具有预设大小的数据来生成存储器装置100中存储的每个奇偶校验。预设大小可以是用于生成一个奇偶校验的数据的大小。例如,预设大小可以是存储器区域中除了一个奇偶校验的大小之外的大小。在另一示例中,预设大小可以是分区的除了一个奇偶校验的大小之外的大小。
在实施例中,当转储奇偶校验信息和第三奇偶校验信息中不存在用于与从主机400输入的请求相对应的数据的奇偶校验时,奇偶校验信息生成器211可以生成用于与从主机400输入的请求相对应的数据的奇偶校验。
例如,当在存储器装置100、奇偶校验信息存储装置212和缓冲存储器300中不存在用于与从主机400输入的请求相对应的数据的奇偶校验时,奇偶校验信息生成器211可以生成用于与从主机400输入的请求相对应的数据奇偶校验。
根据本公开的实施例,可以根据从主机400输入的请求来重新生成丢失的奇偶校验。因此,可以在接通电源时减少存储装置50的操作时间,从而提供具有提高的操作速度的存储装置50。
图9是示出根据本公开的实施例的当发生突然断电时存储器控制器的操作的示图。
参照图9,突然断电控制器220可以感测突然断电。此时,突然断电控制器220可以将控制信号Ctrl传送到奇偶校验信息存储装置212、存储器装置100和缓冲存储器300中的每一个。
例如,突然断电控制器220可以控制奇偶校验信息存储装置212以将奇偶校验信息存储装置212中存储的第二奇偶校验信息Parity2提供到存储器装置100。另外,突然断电控制器220可以控制存储器装置100以存储第二奇偶校验信息Parity2。
另外,突然断电控制器220可以控制缓冲存储器300以将缓冲存储器300中存储的第一奇偶校验信息Parity1中的一些提供到存储器装置100。另外,突然断电控制器220可以控制存储器装置100以存储第一奇偶校验信息Parity1。也就是说,在可以通过应急电源装置(未示出)维持电力的时间内,突然断电控制器220可以将奇偶校验信息存储装置212和缓冲存储器300中存储的第一和第二奇偶校验信息之中尽可能多的奇偶校验信息存储在存储器装置100中。
因此,存储器装置100可以存储包括第一奇偶校验信息Parity1中的一些和第二奇偶校验信息Parity2的转储奇偶校验信息Dump parity。
图10是示出根据本公开的实施例的当接通电源时存储器控制器的操作的示图。
参照图10,当在发生突然断电之后接通电源时,突然断电控制器220可以控制存储器装置100以读取存储器装置100中存储的转储奇偶校验信息Dump parity。例如,突然断电控制器220可以将控制信号Ctrl传送到存储器装置100,以控制存储器装置100以将转储奇偶校验信息Dump parity提供到奇偶校验信息存储装置212。
另外,在实施例中,突然断电控制器220可以将控制信号Ctrl传送到存储器装置100,以控制存储器装置100以将转储奇偶校验信息Dump parity提供到缓冲存储器300。例如,当转储奇偶校验信息Dump parity的大小超过奇偶校验信息存储装置212的存储容量时,突然断电控制器220可以控制存储器装置100以将转储奇偶校验信息Dump parity提供到缓冲存储器300。
图11A和图11B是示出根据本公开的实施例的重新生成奇偶校验的示例的示图。
在图11A和图11B中,奇偶校验信息存储装置212存储分别包括奇偶校验的四条奇偶校验信息,并且因此充满了奇偶校验信息。另外,在图11A和图11B中,在发生突然断电之后接通电源。
图11A是示出将奇偶校验信息存储装置212中存储的一个奇偶校验提供到存储器装置100以重新生成奇偶校验的示例的示图。
参照图11A,在实施例中,当在从主机400输入请求时奇偶校验信息存储装置212中存储的奇偶校验信息的大小等于或大于阈值时,奇偶校验信息控制器210可以将奇偶校验信息存储装置212中存储的奇偶校验信息之中通过使用具有预设大小的数据生成的奇偶校验提供到存储器装置100。此时,该预设大小可以指示用于生成一个奇偶校验的数据的大小。另外,该阈值可以指示奇偶校验信息存储装置212的存储容量。
例如,当从主机400接收到请求REQUEST时,奇偶校验信息生成器211可以在存储器装置100、奇偶校验信息存储装置212和缓冲存储器300中检查用于与请求REQUEST相对应的数据的奇偶校验。当在存储器装置100、奇偶校验信息存储装置212和缓冲存储器300中的任意一个中都不存在用于与请求REQUEST相对应的数据的奇偶校验时,奇偶校验信息生成器211可以生成用于该数据的奇偶校验。例如,如果请求是读取请求,则奇偶校验信息生成器211可以通过使用从存储器装置100读取的数据来生成奇偶校验。在另一示例中,如果请求是编程请求,则奇偶校验信息生成器211可以通过使用从主机400提供的数据来生成奇偶校验。
此时,由于在奇偶校验信息存储装置212中不存在用于存储奇偶校验的空间,所以奇偶校验信息控制器210可以将一个奇偶校验从奇偶校验信息存储装置212提供到存储器装置100和缓冲存储器300中的一个。例如,当第二奇偶校验Parity2是通过使用具有预设大小的数据来生成的时,奇偶校验信息控制器210可以将第二奇偶校验Parity2从奇偶校验信息存储装置212提供到存储器装置100。另外,存储器装置100可以将第二奇偶校验Parity2与第二数据DATA2一起存储。
此后,奇偶校验信息生成器211可以生成用于与请求REQUEST相对应的数据的第七奇偶校验Parity7,并且将第七奇偶校验Parity7提供到奇偶校验信息存储装置212。
图11B是示出将奇偶校验信息存储装置212中存储的一个奇偶校验提供到缓冲存储器300以重新生成奇偶校验的示例的示图。
参照图11B,在实施例中,当在奇偶校验信息存储装置212中不存在通过使用具有预设大小的数据生成的任何奇偶校验时,奇偶校验信息控制器210可以从奇偶校验信息存储装置212向缓冲存储器300提供奇偶校验信息存储装置212中存储的奇偶校验信息之中用于最近最少访问的存储器区域中存储的数据的奇偶校验。
例如,当从主机400接收到请求REQUEST时,奇偶校验信息生成器211可以在存储器装置100、奇偶校验信息存储装置212和缓冲存储器300中检查用于与请求REQUEST相对应的数据的奇偶校验。当在存储器装置100、奇偶校验信息存储装置212和缓冲存储器300中的任意一个中都不存在用于与请求REQUEST相对应的数据的奇偶校验时,奇偶校验信息生成器211可以生成用于该数据的奇偶校验。例如,如果请求是读取请求,则奇偶校验信息生成器211可以通过使用从存储器装置100读取的数据来生成奇偶校验。在另一示例中,如果请求是编程请求,则奇偶校验信息生成器211可以通过使用从主机400提供的数据来生成奇偶校验。
此时,由于在奇偶校验信息存储装置212中不存在用于存储奇偶校验的空间,所以奇偶校验信息控制器210可以将一个奇偶校验从奇偶校验信息存储装置212提供到存储器装置100和缓冲存储器300中的一个。例如,当在奇偶校验信息存储装置212中不存在通过使用具有预设大小的数据生成的任何奇偶校验时,奇偶校验信息控制器210可以从奇偶校验信息存储装置212向缓冲存储器300提供包括用于最近最少访问的存储器区域中存储的数据的奇偶校验的奇偶校验信息。具体地,当与第二奇偶校验Parity2相对应的第二存储器区域是最近最少访问的存储器区域时,可以将第二奇偶校验Parity2提供到缓冲存储器300。另外,缓冲存储器300可以将第二奇偶校验Parity2与用于第二存储器区域的元数据Meta2一起存储。
此后,奇偶校验信息生成器211可以生成用于与请求REQUEST相对应的数据的第七奇偶校验Parity7,并且将第七奇偶校验Parity7提供到奇偶校验信息存储装置212。
图12是示出根据本公开的实施例的操作存储装置的方法的示图。
图12所示的方法例如可以由图1所示的存储装置50执行。
参照图12,在操作S1201中,存储装置50可以将包括用于多个存储器区域中存储的数据的奇偶校验的奇偶校验信息存储在缓冲存储器300和存储器控制器200中。此时,存储器控制器200和缓冲存储器300可以存储用于不同数据的奇偶校验。
在操作S1203中,存储装置50可以感测突然断电。
在操作S1205中,响应于突然断电,存储装置50可以将奇偶校验信息中包括的奇偶校验中的一些存储在存储器装置100中。例如,存储装置50可以将存储器控制器200中存储的奇偶校验存储在存储器装置100中。另外,存储装置50还可以将缓冲存储器300中存储的奇偶校验中的一些存储在存储器装置100中。
在操作S1207中,响应于突然断电之后的通电,存储装置50可以将存储器装置100中存储的一些奇偶校验提供到存储器控制器200。另外,当在存储器控制器200中不存在用于存储奇偶校验的空间时,存储装置50可以将存储器装置100中存储的一些奇偶校验提供到缓冲存储器300。
在操作S1209中,存储装置50可以根据存储器装置100、存储器控制器200或缓冲存储器300中的至少一个中存储的一些奇偶校验中是否包括用于与从主机400输入的请求相对应的数据的奇偶校验,重新生成用于与从主机400输入的请求相对应的数据的奇偶校验。
图13是示出根据本公开的实施例的重新生成奇偶校验的方法的流程图。
例如,图13所示的流程图可以是实现图12所示的操作S1209的流程图。
图13所示的方法例如可以由图1所示的存储装置50执行。
参照图13,在操作S1301中,存储装置50可以从主机400接收请求。此时,该请求可以是读取请求或编程请求。
在操作S1303中,存储装置50可以检查用于与该请求相对应的数据的奇偶校验是否存储在存储器装置100、存储器控制器200和缓冲存储器300中的至少一个中。
根据操作S1303中的检查结果,当在存储器装置100、存储器控制器200和缓冲存储器300中的至少一个中存在用于与该请求相对应的数据的奇偶校验时,操作可以结束。
根据操作S1303中的检查结果,当在存储器装置100、存储器控制器200和缓冲存储器300中的任意一个中都不存在用于与该请求相对应的数据的奇偶校验时,可以执行操作S1305。
在操作S1305中,存储装置50可以检查在存储器控制器200中是否存在存储空间。
根据操作S1305中的检查结果,当在存储器控制器200中存在存储空间时,在操作S1307中,存储装置50可以重新生成用于与从主机400提供的请求相对应的数据的奇偶校验。
根据操作S1305中的检查结果,当在存储器控制器200中不存在存储空间时,在操作S1309中,存储装置50可以将存储器控制器200中存储的一个奇偶校验提供到存储器装置100或缓冲存储器300。之后,在操作S1307中,存储装置50可以重新生成用于与从主机400提供的请求相对应的数据的奇偶校验。
图14是示出图1的存储器控制器的示图。
参照图1和图14,存储器控制器200可以包括处理器230、RAM 240、错误校正电路250、ROM 260、主机接口270和闪存接口280。
处理器230可以控制存储器控制器200的全部操作。RAM 240可以用作存储器控制器200的缓冲存储器、高速缓存存储器、操作存储器等。
ROM 260可以以固件形式存储存储器控制器200操作所需的各种信息。在实施例中,参照图8描述的奇偶校验信息控制器210和突然断电控制器220可以是存储在ROM中的固件。
存储器控制器200可以通过主机接口270与外部装置(例如,主机400、应用处理器等)通信。
存储器控制器200可以通过闪存接口280与存储器装置100通信。存储器控制器200可以通过闪存接口280将命令CMD、地址ADDR、控制信号CTRL等传输到存储器装置100并且接收数据DATA。例如,闪存接口280可以包括NAND接口。
图15是示出根据本公开的实施例的应用存储装置的存储卡系统的框图。
参照图15,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100可以被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置为提供存储器装置2200和主机之间的接口。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件。存储器控制器2100可以与参照图1描述的存储器控制器200相同地实施。
例如,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正器的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定的通信标准与外部装置(例如,主机)进行通信。例如,存储器控制器2100可以被配置为通过诸如以下各种通信标准中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。例如,连接器2300可以由上述各种通信标准中的至少一种来定义。
例如,存储器装置2200可以由诸如以下的各种非易失性存储器装置来配置:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置存储卡。例如,存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)和通用闪存(UFS)。
图16是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)系统的框图。
参照图16,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
根据本公开的实施例,SSD控制器3210可以执行参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。例如,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是通过诸如以下的接口中的至少一种来定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
辅助电源3230通过电源连接器3002连接到主机3100。辅助电源3230可以从主机3100接收电力PWR并且可以充电电力。当来自主机3100的电力供应不平稳时,辅助电源3230可以提供SSD 3200的电力。例如,辅助电源3230可以位于SSD 3200中或可以位于SSD 3200外部。例如,辅助电源3230可以位于主板上,并且可以向SSD 3200提供辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图17是示出根据本公开的实施例的应用存储装置的用户系统的框图。
参照图17,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可以包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器来操作。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)而被封装并且被设置为一个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙和Wi-Fi。例如,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储模块4400中存储的数据传输到应用处理器4100。例如,存储模块4400可以利用诸如以下的非易失性半导体存储器元件来实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存和三维NAND闪存。例如,存储模块4400可以被设置为用户系统4000的诸如存储卡和外部驱动器的可移动存储装置(可移动驱动器)。
例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1描述的存储器装置100相同地操作。存储模块4400可以与参照图1描述的存储装置50相同地操作。
用户接口4500可以包括用于将数据或指令输入到应用处理器4100或用于将数据输出到外部装置的接口。例如,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和显示器。
Claims (20)
1.一种存储装置,包括:
存储器装置,包括多个存储器区域;
缓冲存储器,存储第一奇偶校验信息,所述第一奇偶校验信息包括用于所述多个存储器区域之中的一个或多个第一存储器区域中的每一个中存储的数据的奇偶校验;以及
存储器控制器,存储第二奇偶校验信息,并且在发生突然断电时控制所述存储器装置以存储转储奇偶校验信息,所述第二奇偶校验信息包括用于所述多个存储器区域之中除了所述一个或多个第一存储器区域之外的一个或多个第二存储器区域中的每一个中存储的数据的奇偶校验,所述转储奇偶校验信息包括所述第一奇偶校验信息和所述第二奇偶校验信息中的一些。
2.根据权利要求1所述的存储装置,其中所述转储奇偶校验信息包括所述第二奇偶校验信息。
3.根据权利要求2所述的存储装置,其中所述转储奇偶校验信息进一步包括所述第一奇偶校验信息中的一些。
4.根据权利要求1所述的存储装置,其中所述存储器控制器进一步:通过生成用于待存储在所述第一存储器区域和所述第二存储器区域中的数据的奇偶校验来生成所述第一奇偶校验信息和所述第二奇偶校验信息,并且将所述第一奇偶校验信息提供到所述缓冲存储器。
5.根据权利要求1所述的存储装置,其中当在发生所述突然断电之后接通电源时,所述存储器控制器进一步从所述存储器装置接收所述转储奇偶校验信息并且存储所述转储奇偶校验信息。
6.根据权利要求5所述的存储装置,其中当在接通所述电源之后所述存储器控制器中存储的所述转储奇偶校验信息中不存在用于与从主机输入的请求相对应的数据的奇偶校验时,所述存储器控制器进一步重新生成用于与从所述主机输入的所述请求相对应的所述数据的所述奇偶校验。
7.根据权利要求6所述的存储装置,
其中所述存储器装置存储第三奇偶校验信息,所述第三奇偶校验信息包括用于所述多个存储器区域之中除了所述一个或多个第一存储器区域和所述一个或多个第二存储器区域之外的一个或多个第三存储器区域中的每一个中存储的数据的奇偶校验。
其中当所述第三奇偶校验信息中不存在用于与从所述主机输入的所述请求相对应的所述数据的所述奇偶校验时,所述存储器控制器重新生成用于与从所述主机输入的所述请求相对应的所述数据的所述奇偶校验。
8.根据权利要求6所述的存储装置,其中从所述主机输入的所述请求包括读取请求和编程请求中的至少一个。
9.根据权利要求1所述的存储装置,其中所述多个存储器区域中的每一个是页面、存储块和平面中的一个。
10.根据权利要求1所述的存储装置,其中所述存储器控制器进一步:使用待存储在所述第一存储器区域和所述第二存储器区域中的数据执行异或操作,并且根据所述异或操作来生成用于待存储在所述第一存储器区域和所述第二存储器区域中的所述数据的奇偶校验。
11.根据权利要求1所述的存储装置,
其中所述存储器装置包括分别与从主机提供的连续逻辑地址的组相对应的多个分区,并且
其中所述存储器控制器进一步使用待存储在所述多个分区中的每一个中的数据来生成用于待存储在所述多个分区中的每一个中的所述数据的奇偶校验。
12.根据权利要求1所述的存储装置,其中当从主机输入请求时,当所述存储器控制器中存储的所述第二奇偶校验信息的大小等于或大于阈值时,所述存储器控制器进一步向所述存储器装置提供所述存储器控制器中存储的奇偶校验之中使用具有预设大小的数据生成的奇偶校验。
13.根据权利要求12所述的存储装置,其中当所述存储器控制器中不存在使用具有所述预设大小的所述数据生成的任何奇偶校验时,所述存储器控制器进一步向所述缓冲存储器提供所述存储器控制器中存储的所述奇偶校验之中用于最近最少访问的存储器区域中存储的数据的奇偶校验。
14.一种存储器控制器,所述存储器控制器控制缓冲存储器和存储器装置,所述存储器装置包括多个存储器区域,所述存储器控制器包括:
奇偶校验信息控制器:
将第一奇偶校验信息提供到所述缓冲存储器,所述第一奇偶校验信息包括用于所述多个存储器区域之中的一个或多个第一存储器区域中的每一个中存储的数据的奇偶校验,以及
存储第二奇偶校验信息,所述第二奇偶校验信息包括用于所述多个存储器区域之中除了所述一个或多个第一存储器区域之外的一个或多个第二存储器区域中的每一个中存储的数据的奇偶校验;以及
突然断电控制器,在发生突然断电时控制所述存储器装置以存储转储奇偶校验信息,所述转储奇偶校验信息包括所述第一奇偶校验信息和所述第二奇偶校验信息中的一些。
15.根据权利要求14所述的存储器控制器,其中所述转储奇偶校验信息包括所述第二奇偶校验信息以及所述第一奇偶校验信息中的一些。
16.根据权利要求14所述的存储器控制器,其中所述奇偶校验信息控制器包括:
奇偶校验信息生成器,通过生成用于待存储在所述第一存储器区域和所述第二存储器区域中的数据的奇偶校验来生成所述第一奇偶校验信息和所述第二奇偶校验信息;以及
奇偶校验信息存储装置,存储所述第二奇偶校验信息。
17.根据权利要求16所述的存储器控制器,其中当在发生所述突然断电之后接通电源时,所述突然断电控制器进一步控制所述存储器装置以将所述转储奇偶校验信息提供到所述奇偶校验信息存储装置。
18.根据权利要求17所述的存储器控制器,其中当在接通所述电源之后所述奇偶校验信息存储装置中存储的所述转储奇偶校验信息中不存在用于与从主机输入的请求相对应的数据的奇偶校验时,所述奇偶校验信息生成器进一步重新生成用于与从所述主机输入的所述请求相对应的所述数据的所述奇偶校验。
19.根据权利要求18所述的存储器控制器,
其中所述存储器装置存储第三奇偶校验信息,所述第三奇偶校验信息包括用于所述多个存储器区域之中除了所述一个或多个第一存储器区域和所述一个或多个第二存储器区域之外的一个或多个第三存储器区域中的每一个中存储的数据的奇偶校验。
其中当所述第三奇偶校验信息中不存在用于与从所述主机输入的所述请求相对应的所述数据的所述奇偶校验时,所述奇偶校验信息生成器重新生成用于与从所述主机输入的所述请求相对应的所述数据的所述奇偶校验。
20.一种操作存储装置的方法,所述方法包括:
将包括用于多个存储器区域中存储的数据的奇偶校验的奇偶校验信息存储在缓冲存储器和存储器控制器中;
感测突然断电;
响应于所述突然断电,将所述奇偶校验信息中包括的所述奇偶校验中的一些存储在存储器装置中;
响应于在所述突然断电之后的通电,将所述奇偶校验中的一些提供到所述存储器控制器;并且
根据提供到所述存储器控制器的所述奇偶校验中的一些中是否包括用于与从主机输入的请求相对应的数据的奇偶校验,重新生成用于与从所述主机输入的所述请求相对应的所述数据的所述奇偶校验。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0129545 | 2020-10-07 | ||
KR1020200129545A KR20220046299A (ko) | 2020-10-07 | 2020-10-07 | 스토리지 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114300033A true CN114300033A (zh) | 2022-04-08 |
Family
ID=80931344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110671556.3A Withdrawn CN114300033A (zh) | 2020-10-07 | 2021-06-17 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11599268B2 (zh) |
KR (1) | KR20220046299A (zh) |
CN (1) | CN114300033A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11797445B2 (en) * | 2021-12-06 | 2023-10-24 | Western Digital Technologies, Inc. | Data storage device and method for preventing data loss during an ungraceful shutdown |
US20230266898A1 (en) * | 2022-02-24 | 2023-08-24 | Micron Technology, Inc. | Host Defined Zone Group Configuration At A Memory Sub-System |
US20240070021A1 (en) * | 2022-08-28 | 2024-02-29 | Micron Technology, Inc. | Proximity based parity data management |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9520901B2 (en) * | 2014-03-06 | 2016-12-13 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and memory control method |
US9910786B2 (en) | 2015-11-03 | 2018-03-06 | Intel Corporation | Efficient redundant array of independent disks (RAID) write hole solutions |
KR102599188B1 (ko) | 2018-11-09 | 2023-11-08 | 삼성전자주식회사 | 호스트 메모리를 사용하는 스토리지 장치 및 그것의 동작 방법 |
US11520523B2 (en) * | 2020-05-26 | 2022-12-06 | Western Digital Technologies, Inc. | Data integrity protection of ZNS needs |
US11126378B1 (en) * | 2020-05-27 | 2021-09-21 | Western Digital Technologies, Inc. | Rate limit on the transitions of zones to open |
US11194521B1 (en) * | 2020-05-27 | 2021-12-07 | Western Digital Technologies, Inc. | Rate limit on the transitions of streams to open |
-
2020
- 2020-10-07 KR KR1020200129545A patent/KR20220046299A/ko unknown
-
2021
- 2021-04-02 US US17/221,286 patent/US11599268B2/en active Active
- 2021-06-17 CN CN202110671556.3A patent/CN114300033A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20220107734A1 (en) | 2022-04-07 |
KR20220046299A (ko) | 2022-04-14 |
US11599268B2 (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599268B2 (en) | Storage device and method of operating the same | |
US11327839B2 (en) | Storage device and method of operating the same | |
CN114443507A (zh) | 存储器系统及其操作方法 | |
CN112988049A (zh) | 存储装置及其操作方法 | |
CN113377687A (zh) | 存储器控制器及其操作方法 | |
CN112582011A (zh) | 存储器设备及其操作方法 | |
CN114356209A (zh) | 存储装置及其操作方法 | |
CN114327251A (zh) | 存储装置及其操作方法 | |
CN114077387A (zh) | 存储装置及其操作方法 | |
US11880274B2 (en) | Host device, memory controller, and computing system including the same | |
US11003392B2 (en) | Memory controller and method of operating the memory controller | |
TW202223890A (zh) | 記憶體裝置及其操作方法 | |
CN114510371A (zh) | 存储装置及操作存储装置的方法 | |
CN114496040A (zh) | 存储器装置 | |
CN113409854A (zh) | 数据存储装置及其操作方法 | |
US11586370B2 (en) | Memory controller and method of operating the same | |
US11599275B2 (en) | Memory controller for controlling power loss recovery and method of operating the same | |
US11989089B2 (en) | Memory controller, operating method thereof, and computing system including the same | |
CN116804909A (zh) | 存储装置及其操作方法 | |
CN114446357A (zh) | 存储装置及其操作方法 | |
CN114842895A (zh) | 存储器设备以及存储器设备的操作方法 | |
CN115933962A (zh) | 存储器控制器及其操作方法 | |
CN115376592A (zh) | 存储装置及其操作方法 | |
CN115469798A (zh) | 存储装置及操作存储装置的方法 | |
CN115793831A (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 |
Application publication date: 20220408 |
|
WW01 | Invention patent application withdrawn after publication |