CN110058798B - 数据处理系统及其操作方法 - Google Patents
数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN110058798B CN110058798B CN201810982365.7A CN201810982365A CN110058798B CN 110058798 B CN110058798 B CN 110058798B CN 201810982365 A CN201810982365 A CN 201810982365A CN 110058798 B CN110058798 B CN 110058798B
- Authority
- CN
- China
- Prior art keywords
- data
- storage block
- block address
- physical storage
- 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
- 238000000034 method Methods 0.000 title claims description 21
- 238000012545 processing Methods 0.000 title description 28
- 230000015654 memory Effects 0.000 claims abstract description 245
- 238000010586 diagram Methods 0.000 description 27
- 239000000872 buffer Substances 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000012937 correction Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000013524 data verification Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 2
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器系统,该存储器系统包括:存储器装置,存储数据;历史数据生成器,生成包括多个物理存储块地址数据的历史数据;以及历史数据分析器,检测历史数据中的逻辑存储块地址数据。
Description
相关申请的交叉引用
本申请要求于2018年1月19日提交的申请号为10-2018-0006841的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本发明的各个实施例总体涉及一种存储器系统。特别地,实施例涉及一种对存储在存储器系统中的数据进行管理的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变成可随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个用于存储数据的存储器装置的存储器系统。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
与硬盘驱动器相比,因为存储器系统不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态硬盘(SSD)。
发明内容
本发明的各个实施例涉及一种数据处理系统及数据处理系统的操作方法,该数据处理系统能够有效地存储以树形结构管理的多个数据。
根据本发明的实施例,一种存储器系统包括:存储器装置,适于存储数据;历史数据生成器,适于生成包括多个物理存储块地址数据的历史数据;以及历史数据分析器,适于检测历史数据中的逻辑存储块地址数据。
历史数据生成器可在历史数据中,以链式数据结构的形式生成多个物理存储块地址数据中的每一个。
历史数据生成器可生成和更新索引信息,其中索引信息链接到多个物理存储块地址数据中的、作为最新生成的物理存储块地址数据的第一物理存储块地址数据。
历史数据生成器可以链式数据结构的形式,将历史数据的逻辑存储块地址数据链接到索引信息,并且更新历史数据的逻辑存储块地址数据。
历史数据可具与逻辑存储块地址数据相对应的读取计数信息、调试信息和擦除/写入计数信息。
历史数据分析器可通过索引信息识别第一物理存储块地址数据,并且识别多个物理存储块地址数据中的、链接到第一物理存储块地址数据的第二物理存储块地址数据。
第二物理存储块地址数据可以链式数据结构的形式链接到存储在第二物理存储块地址处的历史数据的索引信息。
历史数据分析器可通过存储在第二物理存储块地址处的历史数据的索引信息,来识别作为最新生成的物理存储块地址数据的第二物理存储块地址数据,并且识别多个物理存储块地址数据中的、链接到第二物理存储块地址数据的第三物理存储块地址数据。
历史数据分析器可检查历史数据中的读取计数信息、调试信息和擦除/写入计数信息。
存储器系统可进一步包括:控制器,适于控制存储器装置以将历史数据存储在存储器装置中。
根据本发明的另一实施例,一种操作存储器系统的方法,其中存储器系统包括存储器装置,该方法包括:生成包括多个物理存储块地址数据的历史数据;以及通过分析历史数据来检测逻辑存储块地址数据。
生成历史数据可包括在历史数据中以链式数据结构的形式生成多个物理存储块地址数据中的每一个。
生成历史数据可包括生成和更新索引信息,所述索引信息链接到多个物理存储块地址数据中的、作为最新生成的物理存储块地址数据的第一物理存储块地址数据。
生成历史数据可包括以链式数据结构的形式将历史数据的逻辑存储块地址数据链接到索引信息,并且更新历史数据的逻辑存储块地址数据。
历史数据可包括与逻辑存储块地址数据相对应的读取计数信息、调试信息和擦除/写入计数信息。
检测逻辑存储块地址数据可包括通过索引信息识别第一物理存储块地址数据,并且识别链接到第一物理存储块地址数据的第二物理存储块地址数据。
第二物理存储块地址数据可以链式数据结构的形式链接到存储在第二物理存储块地址处的历史数据的索引信息。
检测逻辑存储块地址数据可包括通过存储在第二物理存储块地址处的历史数据的索引信息,来识别作为最新生成的物理存储块地址数据的第二物理存储块地址数据,并且识别多个物理存储块地址数据中的、链接到第二物理存储块地址数据的第三物理存储块地址数据。
检测逻辑存储块地址数据包括检查历史数据中的读取计数信息、调试信息和擦除/写入计数信息。
存储器系统的操作方法可进一步包括:控制存储器装置以将历史数据存储在存储器装置中。
根据本发明的实施例,一种存储器系统包括:存储器装置,适于将数据存储在由逻辑存储器地址和物理存储器地址确定的特定位置;以及控制器,适于识别物理存储器地址的变化,生成与物理存储器地址的变化有关的历史数据,并且基于历史数据更新用于将逻辑存储器地址与物理存储器地址链接的映射数据。
控制器可在更新映射数据之前,确定历史数据是否包括物理存储块地址的错误。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是说明图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维结构的框图。
图5是示出根据本发明的实施例的能够生成和分析历史数据的存储器系统的示图。
图6是示出在R&D环境或数据验证环境中使用的扇区的常规数据结构的示图。
图7A是示出根据本发明的实施例的历史数据的数据结构的示图。
图7B是示出根据本发明的实施例的第二历史数据和历史数据分析器的操作的示图。
图8是示出根据本发明的实施例的历史数据分析器的操作的流程图。
图9至17是示意性地示出根据本发明的各个实施例的数据处理系统的示例性应用的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,本发明可以所公开的实施例的不同形式和变型来实现,因此不限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将完整和全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。而且,在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对“实施例”等的多个参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个具有相同或相似名称的元件区分开。因此,在不脱离本发明的实质和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被放大。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语是用于描述特定实施例,并不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式并且反之亦然,除非上下文另有清楚地说明。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
将参照附图详细描述本发明的各个实施例。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统 110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
主机102可包括至少一个OS(操作系统)。OS可管理和控制主机 102的全部功能和操作。OS可提供或支持主机102与数据处理系统100 或存储器系统110之间的操作。OS可支持用户请求的功能和操作。例如,根据主机102的移动性,OS可被划分为通用OS和移动OS。根据用户的环境,通用OS可被分为个人OS和企业OS。例如,支持向普通用户提供服务的功能的个人OS可包括Windows和Chrome,保护和支持高性能的企业OS可包括Windows服务器、Linux和Unix。此外,支持向用户提供移动服务的功能和系统省电功能的移动OS可包括 Android、iOS和Windows Mobile。主机102可包括多个操作系统。主机102可执行OS以对存储器系统110执行对应于用户的请求的操作。此处,主机102可向存储器系统110提供对应于用户请求的多个命令。因此,存储器系统110可执行对应于多个命令的某些操作,即执行对应于用户请求的某些操作。
存储器系统110可响应于主机102的请求操作以为主机102存储数据。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式 MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC等。SD 卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可包括各种类型的存储装置。存储器系统110中的存储装置的非限制性示例可包括诸如DRAM动态随机存取存储器 (DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如以下的非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括存储器装置150和控制器130。存储器装置 150可为主机102存储数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,其中单个半导体装置可被包括在如上所述的各种类型的存储器系统中的任何一种中。作为示例而非限制,控制器130和存储器装置150可被集成为单个半导体装置以构成SSD。当存储器系统110用作SSD时,可提高连接到存储器系统110的主机102的操作速度。在另一示例中,控制器 130和存储器装置150可被集成为单个半导体装置以构成诸如以下的存储卡:PCMCIA(个人计算机存储卡国际协会)卡,CF卡,SMC(智能媒体卡),记忆棒,包括RS-MMC和微型-MMC的MMC,包括迷你-SD、微型-SD和SDHC的SD卡,或UFS装置。
存储器系统110的非限制性应用示例可包括计算机、超移动PC (UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,其中非易失性存储器装置即使不被供应电力也保留存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在存储器装置150中的数据输出给主机102。在实施例中,存储器装置 150可包括多个存储器管芯(未示出)。每一个存储器管芯可包括多个平面(未示出)。每一个平面可包括多个存储块152至156,其中存储块152至156中的每一个可包括多个页面。页面中的每一个可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是具有三维(3D)堆叠结构的闪速存储器,其将在下面参照图4更详细地描述。
以下将参照图2至图4详细描述存储器装置150的结构和存储器装置150的3D堆叠结构。稍后将参照图6详细描述包括多个存储器管芯的存储器装置150,其中每一个存储器管芯包括多个平面,每一个平面包括多个存储块152至156。因此,在此省略对这种结构的进一步描述。
控制器130可响应于来自主机102的请求来控制存储器装置150。具体地,控制器可控制在存储器装置150中执行的读取操作、写入操作(也称为编程操作)和擦除操作。例如,控制器130可将从存储器装置150读取的数据提供至主机102,并将从主机102提供的数据存储至存储器装置150中。
控制器130可包括主机接口(I/F)132、处理器134、错误校正码 (ECC)部件138、电源管理单元(PMU)140、诸如NAND闪速控制器的存储器接口142以及存储器144,其全部经由内部总线可操作地联接。
主机接口单元132可被配置成处理主机102的命令和数据。主机接口132可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连 (PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。主机接口132可经由固件,即主机接口层(HIL),来驱动以与主机102交换数据。
此外,ECC部件138可校正待由存储器装置150处理的数据的错误位,并且可包括ECC编码器和ECC解码器。ECC编码器可对待被编程到存储器装置150中的数据执行错误校正编码,以生成添加了奇偶校验位的数据。包括奇偶校验位的数据可存储在存储器装置150中。ECC 解码器可检测并校正从存储器装置150读取的数据中包含的错误。换言之,ECC部件138可通过在ECC编码进程期间生成的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC部件138可输出信号,例如错误校正成功或失败信号。当错误位的数量大于可校正错误位的阈值时,ECC部件138可不校正错误位,而是可输出错误校正失败信号。
ECC部件138可通过诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等的编码调制来执行错误校正操作。然而,ECC部件138不限于这些错误校正技术。这样,ECC部件138可包括适于错误校正的所有电路、模块、系统或装置。
PMU 140可管理控制器130使用的电力。
存储器接口142可用作存储器/存储接口以用于接口连接控制器 130和存储器装置150,使得控制器130可响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器,具体地是 NAND闪速存储器时,存储器接口142可以是NAND闪速控制器(NFC),并且可生成用于存储器装置150的控制信号。存储器接口 142可在处理器134的控制下提供用于存储器装置150的数据。存储器接口142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口142可支持控制器130和存储器装置150之间的数据传输。存储器接口142可使用固件,即闪存接口层(FIL)来与存储器装置150交换数据。
存储器144可用作存储器系统110和控制器130的工作存储器。存储器144可存储用于驱动存储器系统110和控制器130的数据。控制器 130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供至主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可通过易失性存储器来实施。作为示例而非限制,存储器144可被实施为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可被设置在控制器130的内部或外部。图1 示出了设置在控制器130内部的存储器144。在实施例中,存储器144 可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
如上所述,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓冲存储器、读取缓冲器/高速缓冲存储器、数据缓冲器/高速缓冲存储器以及映射缓冲器/高速缓冲存储器中的至少一个,以存储在主机102和存储器装置150之间执行数据写入和读取操作所需的数据以及控制器130和存储器装置150执行这些操作所需的其它数据。
处理器134可控制存储器系统110的全部操作。处理器134可使用固件来控制存储器系统110的全部操作。固件可被称为闪存转换层 (FTL)。而且,处理器134可利用微处理器或中央处理单元(CPU) 来实施。
例如,控制器130可通过利用微处理器、CPU等实施的处理器 134,来在存储器装置150中执行主机102请求的操作。换言之,控制器 130可执行与从主机102接收到的命令相对应的命令操作。控制器130 可执行前台操作,其中前台操作为与从主机102接收到的命令相对应的命令操作。例如,前台操作可包括对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及与作为设置命令的设置参数命令或设置特征命令相对应的参数设置操作中的任何一个。
而且,控制器130可通过利用微处理器或CPU实施的处理器134,对存储器装置150执行后台操作。对存储器装置150执行的后台操作可包括以下中的任何一个:将存储在存储器装置150的存储块152至156 之中的一些存储块中的数据复制到其它存储块并进行处理的操作,例如垃圾收集(GC)操作;在存储块152至156之间或存储块的数据之间执行交换的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储块152至156中的操作,例如映射清除(flush) 操作;或者管理存储器装置150的坏块的操作,例如在存储块152至 156中检测和处理坏块的坏块管理操作。
图2是示出图1的存储器系统110中采用的存储器装置150的示例性配置的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK0至 BLOCKN-1,其中N为大于1的整数。存储块BLOCK0至BLOCKN-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。此处,M为大于1的整数。
而且,各个存储块BLOCK0至BLOCKN-1中的存储器单元可以是存储1位数据的单层单元(SLC)存储块或存储2位数据的多层单元 (MLC)存储块中的一个或多个。因此,根据存储块中的存储器单元中的每一个中表示或存储的位的数量,存储器装置150可包括SLC存储块或MLC存储块。SLC存储块可包括由每一个存储1位数据的存储器单元实现的多个页面。相比MCL存储块,SLC存储块通常可具有更高的数据计算性能和更高的耐用性。MLC存储块可包括由每一个存储多位(例如,2位或更多位)数据的存储器单元实现的多个页面。相比 SLC存储块,MLC存储块通常可具有更大的数据存储空间,即更高的集成密度。在另一实施例中,存储器装置150可包括多个三层单元 (TLC)存储块。在另一实施例中,存储器装置150可包括多个四层单元(QLC)存储块。TLC存储块可包括由每一个能够存储3位数据的存储器单元实现的多个页面。QLC存储块可包括由每一个能够存储4位数据的存储器单元实现的多个页面。虽然存储器装置150已被描述为非易失性存储器,但这种描述仅是示例性的。存储器装置150可通过相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM (ReRAM))、铁电随机存取存储器(FRAM)和自旋转移扭矩磁性随机存取存储器(STT-RAM(STT-MRAM))中的任何一个来实施。
图3是示出存储器装置150中的存储块330的存储器单元阵列的示例性配置的电路图。例如,存储块330可对应于存储器系统110的存储器装置150中的多个存储块152至156中的任何一个。
参照图3,存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。作为参照,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。单元串340中的每一个可被电联接到位线BL、至少一个源极选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL以及共源线CSL。每列单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可被串联地联接在漏极选择晶体管DST和源极选择晶体管SST之间。在实施例中,存储器单元晶体管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中的每一个可包括多个锁存器(未示出) 。
图4是说明存储器装置150的示例性3D结构的示意图。
存储器装置150可通过2D或3D存储器装置来实施。图4示出了存储器装置150可被实现为具有3D堆叠结构的非易失性存储器装置。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块 BLK0至BLKN-1,其中多个存储块BLK0至BLKN-1中的每一个具有3D结构(或垂直结构)。
将参照图5至图8详细描述在根据本发明的实施例中,对存储器系统中的存储器装置的数据处理操作,特别是当执行与从主机102接收到的多个命令相对应的多个命令的操作时执行的数据处理操作。
图5是示出根据本发明的实施例的能够生成和分析历史数据的存储器系统的示图。
历史数据生成器510可生成包括逻辑存储块地址和物理存储块地址的历史数据。
控制器130可控制存储器装置150将历史数据存储在存储器装置 150中。
历史数据分析器520可通过分析历史数据来检测逻辑存储块地址。
如图5所示,历史数据生成器510和历史数据分析器520可被设置在控制器130内。然而,这仅为示例。历史数据生成器510和历史数据分析器520中的一个或两个可被设置在控制器130的外部。
历史数据生成器510可以扇区为单位生成历史数据。例如,在 eMMC的情况下,单个扇区的大小可以是512字节,并且在UFS的情况下,单个扇区的大小可以是4千字节。
历史数据可用于R&D环境或数据验证环境。
图6是示出用在在常规存储器系统的R&D环境或数据验证环境中的扇区600的数据结构的示图。
扇区600包括逻辑存储块地址数据691和692以及数据模式(data pattern)611至640。
逻辑存储块地址数据691和692可彼此相同。
数据模式611至640是用于确定扇区600是否正常操作的验证数据。也就是说,控制器130可通过调试操作来确定数据模式611至640 是否被正常编程。
数据模式611至640可被存储在存储区域中,其中存储区域不是 R&D环境或数据验证环境中的用户数据存储区域,而是现实世界使用环境中的用户数据存储区域。
在R&D环境或数据验证环境中的垃圾收集操作期间,表示扇区 600的物理存储块地址发生改变。
当未对表示扇区600的、物理存储块地址被改变之前的先前物理存储块地址进行管理时,难以检测与表示扇区600的先前存储块地址相对应的逻辑存储块地址。
因此,为了解决现有技术中的这个问题,根据本发明的实施例,每当由于垃圾收集操作、突然断电(SPO)等而导致物理存储块地址发生改变时,历史数据生成器510可控制存储器装置150将物理存储块地址作为历史数据存储在存储器装置150中。
历史数据生成器510可以数据结构的形式生成和更新历史数据,使得可以对物理存储块地址进行跟踪。
图7A是示出根据本发明的实施例的历史数据700的数据结构的示图。
历史数据700可具有逻辑存储块地址数据791和792、数据模式711 至713和771至773、擦除/写入计数信息714、读取计数信息715、调试信息716、索引信息717以及物理存储块地址数据731至750。
第一物理存储块地址数据731可以是由历史数据生成器510在历史数据700中首先生成的物理存储块地址数据。
继第一物理存储块地址数据731之后,历史数据生成器510可在历史数据700中生成第二物理存储块地址数据732。
第二物理存储块地址数据732可以在生成第一物理存储块地址数据731之后,由于垃圾收集操作、突然断电(SPO)等,由第一物理存储块地址数据731改变而得到。第二物理存储块地址数据732可以是垃圾收集操作、突然断电(SPO)等之后的最新物理存储块地址数据。
历史数据生成器510可以链式数据结构的形式生成链接到第一物理存储块地址数据731的第二物理存储块地址数据732。
因此,如图7A所示,历史数据700包括二十(20)个物理存储块地址数据731至750,这表示在生成第一物理存储块地址数据731之后,该数据731已经被改变了十九(19)次。
参照图7A,在物理块地址数据731至750之中,第二十物理存储块地址数据750可以是最新物理存储块地址数据,并且第十九物理存储块地址数据749可以是刚好或紧接在第二十物理存储块地址数据750 (即,最新物理存储块地址数据)之前生成的一个物理存储块地址数据。
如上所述,历史数据生成器510可以链式数据结构的形式生成历史数据700的物理存储块地址数据731至750中的每一个。
历史数据生成器510可生成和更新索引信息717,其中索引信息 717以链式数据结构的形式链接到最新生成的物理存储块地址数据(例如,第二十物理存储块地址数据750)。
详细地,历史数据生成器510可通过首先生成第一物理存储块地址数据731并且然后生成索引信息717,来以链式数据结构的形式将索引信息717链接到第一物理存储块地址数据731,其中第一物理存储块地址数据731是首先生成的物理存储器地址数据。
然后,当历史数据生成器510在生成了第一物理存储块地址数据 731之后生成第二物理存储块地址数据732时,历史数据生成器510可以链式数据结构的形式将索引信息717链接到第二物理存储块地址数据732,其中第二物理存储块地址数据732是最新生成的物理存储器地址数据。
也就是说,历史数据生成器510可更新索引信息717,使得索引信息717以链式数据结构的形式链接到最新生成的物理存储块地址数据。
因此,如图7A所示,历史数据700具有作为最新生成的物理存储块地址数据的第二十物理存储块地址数据750。索引信息717可以链式数据结构的形式链接到作为最新生成的物理存储块地址数据的第二十物理存储块地址数据750。
历史数据生成器510可以链式数据结构的形式将逻辑存储块地址数据791、792链接到索引信息717。历史数据生成器510可更新逻辑存储块地址数据791和792。
仅作为示例,图7A示出了具有两(2)个逻辑存储块地址数据 791、792的历史数据700。在实施例中,历史数据700可具有单个逻辑存储块地址数据。
图7A示出了单个逻辑存储块地址数据792链接到索引信息717。在实施例中,所有逻辑存储块地址数据791、792可链接到索引信息 717。在下面的描述中,假设历史数据700具有两(2)个逻辑存储块地址数据791、792,并且在这两个逻辑存储块地址数据之中,将第二十逻辑存储块地址数据792链接到索引信息717。
详细地,历史数据生成器510可以链式数据结构的形式将索引信息717链接到第一逻辑存储块地址数据,其中第一逻辑存储块地址数据是在历史数据700中首先生成的逻辑存储块地址数据。
在生成第一逻辑存储块地址之后,当第一逻辑存储块地址由于垃圾收集操作、突然断电(SPO)等而被改变为第二逻辑存储块地址时,历史数据生成器510可将第一逻辑存储块地址更新为第二逻辑存储块地址。历史数据生成器510可以链式数据结构的形式将第二逻辑存储块地址链接到索引信息717。
而且,历史数据生成器510可在第一逻辑存储块地址被改变为第二逻辑存储块地址之前,生成其它历史数据以生成新历史数据。
其它历史数据或新历史数据可具有第一物理存储块地址数据和第一逻辑存储块地址数据,但是可不具有第二物理存储块地址数据或第二逻辑存储块地址数据。
新历史数据可包括擦除/写入计数信息714、读取计数信息715和调试信息716,这些信息刚好是在第一逻辑存储块地址数据被改变为第二逻辑存储块地址数据之前的信息。
历史数据分析器520可通过使用索引信息717来检测链接到第二物理存储块地址数据的第一物理存储块地址数据。
历史数据分析器520可通过第一物理存储块地址数据来识别具有第一物理存储块地址数据的新历史数据。
据此,历史数据分析器520可识别新历史数据中的擦除/写入计数信息714、读取计数信息715和调试信息716。
例如,历史数据分析器520可通过索引信息717来识别或辨识第一历史数据700中的第二十物理存储块地址数据750和第二十逻辑存储块地址数据792,其中第二十物理存储块地址数据750是最新生成的物理存储块地址。
历史数据分析器520可识别或辨识第一历史数据700中的擦除/写入计数信息714、读取计数信息715和调试信息716。
历史数据分析器520可通过第一历史数据700中的擦除/写入计数信息714、读取计数信息715和调试信息716来识别或辨识第一历史数据700的详细信息。
当第一历史数据700中不存在错误时,历史数据分析器520可基于第二十物理存储块地址数据750来识别第十九物理存储块地址。
历史数据分析器520可基于第十九物理存储块地址数据749来识别存储在第十九物理存储块地址数据749中的第二历史数据。
图7B是示出根据本发明的实施例的第二历史数据705和历史数据分析器520的操作的示图。
如参照图7A所述,第二历史数据705可以是刚好在第十九逻辑存储块地址数据LBA19 794被改变为第二十逻辑存储块地址数据LBA 20 792之前的一个数据。
因此,第二历史数据705可具有第十九物理存储块地址数据749,而不具有作为最新生成的物理存储块地址数据的第二十物理存储块地址数据750。
历史数据分析器520可识别存储在第十九物理存储块地址中的第二历史数据705的擦除/写入计数信息714、读取计数信息715和调试信息716。
历史数据分析器520可通过第二历史数据705中的擦除/写入计数信息714、读取计数信息715和调试信息716来识别第二历史数据705所具有的详细信息。
当第二历史数据705中不存在错误时,历史数据分析器520可基于第十九物理存储块地址数据749来识别第十八物理存储块地址数据 748。
历史数据分析器520可基于第十九物理存储块地址数据749来识别存储在第十八物理存储块地址中的第三历史数据。
图8是示出根据本发明的实施例的历史数据分析器520的操作的流程图。
在步骤S811中,历史数据分析器520可识别第一历史数据700和第一历史数据700中的逻辑存储块地址数据。
详细地,历史数据分析器520可识别第一历史数据700中的擦除/ 写入计数信息714、读取计数信息715和调试信息716。
通过识别,当第一历史数据700中存在任何错误时(例如,在调试操作期间,当第一历史数据700中存在任何错误时),历史数据分析器 520可识别第一历史数据700的逻辑存储块地址数据(例如,第一逻辑存储块地址数据791和第二逻辑存储块地址数据792)。
通过第一历史数据700的逻辑存储块地址数据(例如,第一逻辑存储块地址数据791和第二逻辑存储块地址数据792),可识别与错误相关的数据,使得可使用这些数据来解决错误。
在步骤S813中,当第一历史数据700中没有错误时,历史数据分析器520可识别第一历史数据700中最新生成的物理存储块地址数据。
在步骤S815中,历史数据分析器520可通过第一历史数据700中最新生成的物理存储块地址数据,来识别第一历史数据700中的、链接到最新生成的物理存储块地址数据的物理存储块地址数据。
通过步骤S815中,历史数据分析器520可识别第二历史数据705。
历史数据分析器520可识别第二历史数据705和第二历史数据705 中的逻辑存储块地址数据。
详细地,历史数据分析器520可识别第二历史数据705中的擦除/ 写入计数信息714、读取计数信息715和调试信息716。
通过识别,当第二历史数据705中存在任何错误时(例如,在调试操作期间,当第二历史数据705中存在任何错误时),历史数据分析器 520可识别第二历史数据705的逻辑存储块地址数据(例如,第一逻辑存储块地址数据791和第二逻辑存储块地址数据792)。
通过第二历史数据705的逻辑存储块地址数据(例如,第一逻辑存储块地址数据791和第二逻辑存储块地址数据792),可识别与错误相关的数据,使得可使用这些数据来解决错误。
结合图8所述的第一历史数据700和第二历史数据705可以仅是历史数据分析器520的操作的一部分。在实施例中,历史数据分析器520 可重复该操作,直到历史数据分析器520识别到作为目标的逻辑存储块地址。
图9至图17是示意性示出根据各个实施例的图1至图8的数据处理系统的示例性应用的示图。
图9是示意性示出包括根据实施例的存储器系统的数据处理系统的示例的示图。图9示意性地示出应用了存储器系统的存储卡系统。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120联接到并且被配置成访问被实现为非易失性存储器的存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置为提供存储器装置6130和主机之间的接口并且使用用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置 150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正部件。存储器控制器6120可进一步包括图1所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、 WIFI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,特别是移动电子装置。
存储器装置6130可利用非易失性存储器来实施。例如,存储器装置6130可利用诸如以下的各种非易失性存储器装置中的任何一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM (PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置中以形成固态硬盘(SSD)。而且,存储器控制器6120和存储器装置 6130可形成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、 SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图10是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器 6220。图10所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型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用作高速缓冲存储器时,RAM6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC部件138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路 6223可对从存储器装置6230输出的数据执行错误校正解码。ECC电路 6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224将数据传输至主机6210/ 从主机6210接收数据。存储器控制器6220可通过NVM接口6225将数据传输至存储器装置6230/从存储器装置6230接收数据。主机接口 6224可经由PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进 (LTE)的移动通信协议而执行无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置,特别是移动电子装置。
图11是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的简图。图11示意性地示出可能应用了存储器系统的 SSD。
参照图11,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、SDRAM、DDR SDRAM、LPDDR SDRAM和 GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和 PRAM。图11示出了将缓冲存储器6325实现在控制器6320中。然而,缓冲存储器6325可处于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340 的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置 6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当 RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,以将对应于写入命令的数据输出到选择的SSD 6300。此外,当 RAID控制器响应于从主机6310提供的读取命令执行读取操作时, RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,以将从所选择的SSD 6300读取的数据提供给主机6310。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图12示意性地示出了可能应用了存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,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)接口。
图13至图16是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的示图。图13至图16示意性地示出了应用了存储器系统的UFS(通用闪存)系统。
参照图13至图16,UFS系统6500、6600、6700,6800和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可以参照图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡 6530、6630、6730和6830可以参照图9描述的存储卡系统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协议以外的包括UFD、MMC、SD、迷你SD和微型SD的各种协议中的任何一种彼此通信。
在图13所示的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。
在图14所示的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。
在图15所示的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。
在图16所示的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。
图17是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图17是示意性示出可能应用了存储器系统的用户系统的示图。
参照图17,用户系统6900可包括应用处理器6930、存储器模块 6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在诸如OS的用户系统 6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)提供。
存储器模块6920可作为用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、 SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如 PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,可基于 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可被实施为如上参照图11至图16所述的 SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块 6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据。用户界面6910可支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是本领域技术人员根据本公开显而易见的是,在不脱离如所附权利要求所限定的本发明的实质和范围的情况下,可进行各种改变和修改。
Claims (16)
1.一种存储器系统,包括:
存储器装置,存储数据;
历史数据生成器,生成包括多个物理存储块地址数据的历史数据;以及
历史数据分析器,检测所述历史数据中的逻辑存储块地址数据,
其中所述历史数据生成器在所述历史数据中,以链式数据结构的形式生成所述多个物理存储块地址数据中的每一个,并生成和更新索引信息,所述索引信息链接到所述多个物理存储块地址数据中、作为最新生成的物理存储块地址数据的第一物理存储块地址数据。
2.根据权利要求1所述的存储器系统,其中所述历史数据生成器以所述链式数据结构的形式,将所述历史数据的逻辑存储块地址数据链接到所述索引信息,并且更新所述历史数据的逻辑存储块地址数据。
3.根据权利要求2所述的存储器系统,其中所述历史数据包括与所述逻辑存储块地址数据相对应的读取计数信息、调试信息和擦除/写入计数信息。
4.根据权利要求3所述的存储器系统,其中所述历史数据分析器通过所述索引信息识别所述第一物理存储块地址数据,并且识别所述多个物理存储块地址数据中的、链接到所述第一物理存储块地址数据的第二物理存储块地址数据。
5.根据权利要求4所述的存储器系统,其中所述第二物理存储块地址数据以所述链式数据结构的形式链接到存储在所述第二物理存储块地址处的历史数据的索引信息。
6.根据权利要求5所述的存储器系统,其中所述历史数据分析器通过存储在所述第二物理存储块地址处的历史数据的索引信息,来识别作为最新生成的物理存储块地址数据的所述第二物理存储块地址数据,并且识别所述多个物理存储块地址数据中的、链接到所述第二物理存储块地址数据的第三物理存储块地址数据。
7.根据权利要求6所述的存储器系统,其中所述历史数据分析器检查所述历史数据中的所述读取计数信息、所述调试信息和所述擦除/写入计数信息。
8.根据权利要求2所述的存储器系统,其进一步包括控制器,所述控制器控制所述存储器装置以将所述历史数据存储在所述存储器装置中。
9.一种操作存储器系统的方法,所述存储器系统包括存储器装置,所述方法包括:
生成包括多个物理存储块地址数据的历史数据;并且
通过分析所述历史数据来检测逻辑存储块地址数据,
其中生成所述历史数据包括在所述历史数据中以链式数据结构的形式生成所述多个物理存储块地址数据中的每一个,以及
生成和更新索引信息,所述索引信息链接到所述多个物理存储块地址数据中的、作为最新生成的物理存储块地址数据的第一物理存储块地址数据。
10.根据权利要求9所述的方法,其中生成所述历史数据包括以所述链式数据结构的形式将所述历史数据的逻辑存储块地址数据链接到所述索引信息,并且更新所述历史数据的逻辑存储块地址数据。
11.根据权利要求10所述的方法,其中所述历史数据包括与所述逻辑存储块地址数据相对应的读取计数信息、调试信息和擦除/写入计数信息。
12.根据权利要求11所述的方法,其中检测逻辑存储块地址数据包括通过所述索引信息识别所述第一物理存储块地址数据,并且识别所述多个物理存储块地址数据中的、链接到所述第一物理存储块地址数据的第二物理存储块地址数据。
13.根据权利要求12所述的方法,其中所述第二物理存储块地址数据以所述链式数据结构的形式链接到存储在所述第二物理存储块地址处的历史数据的索引信息。
14.根据权利要求13所述的方法,其中检测逻辑存储块地址数据包括通过存储在所述第二物理存储块地址处的历史数据的索引信息,来识别作为最新生成的物理存储块地址数据的所述第二物理存储块地址数据,并且识别所述多个物理存储块地址数据中的、链接到所述第二物理存储块地址数据的第三物理存储块地址数据。
15.根据权利要求14所述的方法,其中检测逻辑存储块地址数据包括检查所述历史数据中的所述读取计数信息、所述调试信息和所述擦除/写入计数信息。
16.根据权利要求10所述的方法,其进一步包括控制所述存储器装置以将所述历史数据存储在所述存储器装置中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180006841A KR102527132B1 (ko) | 2018-01-19 | 2018-01-19 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2018-0006841 | 2018-01-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058798A CN110058798A (zh) | 2019-07-26 |
CN110058798B true CN110058798B (zh) | 2022-10-04 |
Family
ID=67299982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810982365.7A Active CN110058798B (zh) | 2018-01-19 | 2018-08-27 | 数据处理系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10922222B2 (zh) |
KR (1) | KR102527132B1 (zh) |
CN (1) | CN110058798B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379391A (en) * | 1991-03-01 | 1995-01-03 | Storage Technology Corporation | Method and apparatus to access data records in a cache memory by multiple virtual addresses |
CN101334756A (zh) * | 2007-06-25 | 2008-12-31 | 株式会社东芝 | 非易失性存储器的控制装置及其控制方法以及存储装置 |
CN101819802A (zh) * | 2004-06-15 | 2010-09-01 | 松下电器产业株式会社 | 驱动装置 |
CN102609218A (zh) * | 2012-01-18 | 2012-07-25 | 清华大学 | 并行闪存转换层方法与系统 |
CN105027090A (zh) * | 2012-10-05 | 2015-11-04 | 西部数据技术公司 | 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 |
CN107408022A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 管理存储设备中的逻辑地址的数据的先前版本 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150015764A (ko) | 2013-08-01 | 2015-02-11 | 삼성전자주식회사 | 스토리지 디바이스 및 이를 포함하는 스토리지 시스템 |
US9569120B2 (en) * | 2014-08-04 | 2017-02-14 | Nvmdurance Limited | Adaptive flash tuning |
KR101626218B1 (ko) | 2014-11-21 | 2016-06-13 | 한양대학교 산학협력단 | 블록 기반의 페이지 매핑 방법 |
CN106201350B (zh) * | 2016-07-07 | 2019-10-18 | 华为技术有限公司 | 存储数据的方法、存储器和计算机系统 |
US10642502B2 (en) * | 2018-06-29 | 2020-05-05 | Western Digital Technologies, Inc. | System and method for prediction of read commands to non-sequential data |
-
2018
- 2018-01-19 KR KR1020180006841A patent/KR102527132B1/ko active IP Right Grant
- 2018-07-25 US US16/044,946 patent/US10922222B2/en active Active
- 2018-08-27 CN CN201810982365.7A patent/CN110058798B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379391A (en) * | 1991-03-01 | 1995-01-03 | Storage Technology Corporation | Method and apparatus to access data records in a cache memory by multiple virtual addresses |
CN101819802A (zh) * | 2004-06-15 | 2010-09-01 | 松下电器产业株式会社 | 驱动装置 |
CN101334756A (zh) * | 2007-06-25 | 2008-12-31 | 株式会社东芝 | 非易失性存储器的控制装置及其控制方法以及存储装置 |
CN102609218A (zh) * | 2012-01-18 | 2012-07-25 | 清华大学 | 并行闪存转换层方法与系统 |
CN105027090A (zh) * | 2012-10-05 | 2015-11-04 | 西部数据技术公司 | 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 |
CN107408022A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 管理存储设备中的逻辑地址的数据的先前版本 |
Also Published As
Publication number | Publication date |
---|---|
US20190227923A1 (en) | 2019-07-25 |
KR102527132B1 (ko) | 2023-05-02 |
CN110058798A (zh) | 2019-07-26 |
KR20190088598A (ko) | 2019-07-29 |
US10922222B2 (en) | 2021-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10942660B2 (en) | Memory system for peforming compression based on map data pattern and operating method thereof | |
CN109144408B (zh) | 存储器系统及其操作方法 | |
CN110765035B (zh) | 存储器系统及其操作方法 | |
CN109388594B (zh) | 存储器系统及其操作方法 | |
CN108121665B (zh) | 存储器系统及其操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
US20180074718A1 (en) | Memory system and method for operating the same | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN110096385B (zh) | 存储器系统及其操作方法 | |
CN110321069B (zh) | 存储器系统及其操作方法 | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN109390003B (zh) | 存储器系统及其操作方法 | |
CN110750207B (zh) | 存储器系统及其操作方法 | |
CN110197692B (zh) | 存储器系统及其操作方法 | |
CN108427536B (zh) | 存储器系统及其操作方法 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN107807887B (zh) | 存储器系统及其操作方法 | |
CN110489271B (zh) | 存储器系统及其操作方法 | |
CN110781095A (zh) | 控制器及其操作方法 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN109521946B (zh) | 数据处理系统及其操作方法 | |
CN111367468A (zh) | 存储器系统及其操作方法 | |
CN110825316A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |