CN107450845A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN107450845A CN107450845A CN201710203443.4A CN201710203443A CN107450845A CN 107450845 A CN107450845 A CN 107450845A CN 201710203443 A CN201710203443 A CN 201710203443A CN 107450845 A CN107450845 A CN 107450845A
- Authority
- CN
- China
- Prior art keywords
- page
- memory block
- data
- memory
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000011017 operating method Methods 0.000 title claims description 18
- 238000003860 storage Methods 0.000 claims abstract description 293
- 238000013507 mapping Methods 0.000 claims abstract description 168
- 238000013500 data storage Methods 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 22
- 238000007689 inspection Methods 0.000 claims description 10
- 239000000872 buffer Substances 0.000 description 124
- 238000012545 processing Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000010410 layer Substances 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000000151 deposition Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 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
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000005621 ferroelectricity Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 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
- 239000002356 single layer Substances 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
Classifications
-
- 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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0626—Reducing size or complexity of 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
-
- 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]
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器系统,其包括:存储器装置,其包括多个存储块;以及包括存储器的控制器,该控制器适用于:在多个存储块中选择源存储块和目标存储块;将源存储块的映射数据的映射段加载在存储器上;通过映射段确定包括在源存储块中的多个页面中的有效页面;将存储在有效页面中的有效数据加载在存储器上;更新有效数据的映射数据;以及将有效数据和更新的映射数据存储在包括在目标存储块中的多个页面中。
Description
相关申请的交叉引用
本申请要求于2016年5月20日向韩国知识产权局提交的申请号为10-2016-0062270的韩国专利申请的优先权的权益,该公开的全部内容通过引用并入本文。
技术领域
本发明的示例性实施例总体涉及存一种储器系统,更特别地,涉及处理关于存储器装置的数据的存储器系统及其操作方法。
背景技术
计算机环境形式已经转变为普适计算系统,能够在任何时间和任何地点使用。由于此,诸如移动电话、数字照相机和笔记本计算机的便携式电子设备的使用已经迅速增加。这些便携式电子设备通常使用具有一个或多个存储器装置的用于存储数据的存储器系统,即,数据存储装置。存储器系统可用作便携式电子设备的主存储器装置或辅助存储器装置。
使用存储器装置的存储器系统由于不具有移动部件,所以其可提供优良的稳定性、耐用性、高信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置,具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各个实施例涉及一种存储器系统及其操作方法,该存储器系统能够使其复杂性和性能退化最小化,并且存储器装置的使用效率最大化,从而能够使存储器装置快速且可靠地处理数据。
在实施例中,存储器系统可包括:存储器装置,其包括多个存储块;以及包括存储器的控制器,该控制器适用于:在多个存储块中选择源存储块和目标存储块,在存储器上加载源存储块的映射数据的映射段,通过映射段确定包括在源存储块中的多个页面中的有效页面,将存储在有效页面中的有效数据加载在存储器上,更新有效数据的映射数据,以及将有效数据和更新的映射数据存储在包括在目标存储块中的多个页面中。
控制器可将源存储块的多个页面的第二映射数据的映射段,以及第二映射数据的映射段的第一映射数据的映射段加载在存储器上。
控制器可更新加载在存储器上的第一映射数据的映射段中的对应于有效数据的映射段,并且可将有效数据和更新的映射段存储在目标存储块的多个页面中。
控制器可确定有效数据存储在目标存储块的多个页面中,并且可响应于有效数据的存储而更新对应于有效数据的映射段。
控制器可确定有效数据和更新的映射段存储到目标存储块的多个页面,并且可响应于有效数据和映射段的存储而将目标存储块的多个页面的第二映射数据的映射段存储在目标存储块的多个页面中。
控制器可确定加载在存储器上的第二映射数据的映射段和第一映射数据的映射段,并且可确定源存储块中的有效页面。
控制器可将存储在有效页面中的第一有效页面中的第一数据段加载在存储器上,并且可更新加载在存储器上的第一映射数据的映射段中的对应于第一数据段的第一映射段。
控制器可将加载在存储器上的第一数据段存储在目标存储块的第一页面中,将更新的第一映射段存储在目标存储块的第二页面中,并且可将对应于第一页面和第二页面的存储的第二映射段存储在目标存储块的第三页面中。
第一页面、第二页面和第三页面可以是表示第一数据段从源存储块到目标存储块的存储的开始和完成的检查点。
在电源关闭发生后,存储器系统通电的情况下,控制器可通过检查点确定在源存储块的多个页面中的第一有效页面之后的第二页面是否为有效页面。
在实施例中,一种包括控制器和存储器装置的存储器系统的操作方法可包括:在包括在存储器装置中的多个存储块中选择源存储块和目标存储块;将源存储块的映射数据的映射段加载在包括在控制器中的存储器上;通过映射段确定包括在源存储块中的多个页面中的有效页面;将存储在有效页面中的有效数据加载在存储器上;更新有效数据的映射数据;以及将有效数据和更新的映射数据存储在包括在目标存储块中的多个页面中。
映射段加载在存储器上可包括:将源存储块的多个页面的第二映射数据的映射段加载在存储器上;以及将第二映射数据的映射段的第一映射数据的映射段加载在存储器上。
更新可包括更新加载在存储器上的第一映射数据的映射段中的对应于有效数据的映射段,并且存储可包括将有效数据和更新的映射段存储在目标存储块的多个页面中。
更新可包括:确定有效数据存储在目标存储块的多个页面中;以及响应于有效数据的存储,更新对应于有效数据的映射段。
该操作方法还可包括:确定有效数据和更新的映射段存储在目标存储块的多个页面中;以及响应于有效数据和映射段的存储而将目标存储块的多个页面的第二映射数据的映射段存储在目标存储块的多个页面中。
确定有效页面可包括确定加载在存储器上的第二映射数据的映射段和第一映射数据的映射段,并且确定源存储块中的有效页面。
映射段加载在存储器上包括将存储在有效页面中的第一有效页面中的第一数据段加载在存储器上,并且更新可包括更新加载在存储器上的第一映射数据的映射段中的对应于第一数据段的第一映射段。
存储可包括:将加载在存储器上的第一数据段存储在目标存储块的第一页面中;将更新的第一映射段存储在目标存储块的第二页面中;以及将对应于第一页面和第二页面的存储的第二映射段存储在目标存储块的第三页面中。
第一页面、第二页面和第三页面可以是表示第一数据段从源存储块到目标存储块的存储的开始和完成的检查点。
该操作方法还可包括:在电源关闭发生后,存储器系统通电的情况下,通过检查点确定在源存储块的多个页面中的第一有效页面之后的第二页面是否为有效页面。
附图说明
将参考附图描述本发明的这些和其他特征和优点,其中:
图1是示出根据本发明实施例的包括存储器系统的数据处理系统的示意图。
图2是示出在图1的存储器系统中采用的存储器装置的示例的示意图。
图3是示出根据本发明的实施例的存储器装置中的存储块的电路图。
图4是示意性地示出根据本发明的实施例的存储器装置的示例性配置的示意图。
图5至图6是示意性地示出根据本发明的实施例的存储器系统的数据处理操作的示意图。
图7是示意性地示出根据实施例的用于在存储器系统中处理数据的操作过程的示意图。
图8至图13是示出根据本发明的实施例的存储器系统的示例的示意图。
具体实施方式
尽管下面参考附图更详细地描述了各种实施例,但是我们注意到,本发明可以不同的形式实施,并且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例以便使本公开彻底且充分,并将本发明完全传达给本发明所属领域的技术人员。在整个公开中,本发明的各个附图和实施例的相同的附图标记表示相同的部件。
应当理解,尽管在本文中可能使用术语“第一”、“第二”、“第三”等来描述各种元件,但是这些元件不限于这些术语。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,可夸大比例以便清楚地示出实施例的特征。
将进一步理解,当元件被称为“连接到”或“联接到”另一元件时,其可直接在另一元件上,连接到或联接到另一元件,或者可出现一个或多个中间元件。此外,还将理解,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅以描述特定实施例为目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确指示,单数形式也旨在包括复数形式。还应当理解,当在本说明书中使用术语“包括”、“包含”、“含有”时,指定元件的存在,并且不排除存在或添加一个或多个其它元件。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,包括本文使用的技术和科学术语在内的所有术语与本发明所属领域的普通技术人员基于本公开通常的理解具有相同的含义。还应理解,诸如在常用字典中定义的那些术语应当被解释为具有与其在本公开和相关技术语境中一致的含义,并且不被理解为理想化的或过度正式的意义,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的完整理解,描述了大量具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,没有详细地描述公知的处理结构和/或过程以使本发明更清楚。
还应注意,在一些情况下,对于相关领域的技术人员显而易见的是,除非另有特别说明,所描述的一个实施例相关的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
在下文中,将参照附图详细描述本发明的各种实施例。
图1示出了根据本发明的实施例的包括存储器系统的数据处理系统100。
参考图1,数据处理系统100可包括主机102和存储器系统110。
主机102可包括诸如移动电话、MP3播放器和笔记本电脑的便携式电子设备或诸如台式计算机、游戏机、电视(TV)和投影仪的电子设备。
存储器系统110可响应于来自主机102的请求而操作。例如,存储器系统110可存储将由主机102访问的数据。存储器系统110可用作主机102的主存储器或辅助存储器。根据将与主机102电联接的主机接口的协议,存储器系统110可利用各种存储装置中的任一个来实现。存储器系统110可利用如下各种存储装置中的任何一个来实施,诸如固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、减小尺寸的多媒体卡(RS-MMC)和微型-MMC、安全数字(SD)卡、小型-SD和微型-SD、通用串行总线(USB)存储器装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
形成存储器系统110的存储设备可使用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器实现,或使用诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)和闪存的非易失性存储器实现。
存储器系统110可包括存储器装置150和控制器130。存储器装置150存储将由主机102访问的数据,并且控制器130控制存储器装置150和主机102之间的数据交换。也就是说,在控制器130的控制下,从主机接收的数据可存储在存储器装置150中。
控制器130和存储器装置150可集成到一个半导体装置中。例如,控制器130和存储器装置150可集成到一个半导体装置中以形成固态驱动器(SSD)。当存储器系统110用作SSD时,可显著增加与存储器系统110电联接的主机102的运行速度。
控制器130和存储器装置150可集成到一个半导体装置中以形成存储卡,例如个人计算机存储卡国际联合会(PCMCIA)卡、标准闪存(CF)卡、智能媒体(SM)卡(SMC)、记忆棒、多媒体卡(MMC)、RS-MMC和微型MMC、安全数字(SD)卡、小型-SD、微型-SD和SDHC和通用闪速存储(UFS)装置。
对于另一实例,存储器系统110可配置计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑匣子、数字照相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、用于数据中心的存储器、能够在无线环境下传输和接收信息的装置、用于家庭网络的各种电子设备之一、用于计算机网络的各种电子设备之一、用于远程信息处理网络的各种电子设备之一、RFID设备或用于计算系统的各种组件元件之一。
即使在电力被阻断时,存储器装置150也可保持所存储的数据,在写入操作期间存储从主机102提供的数据,并且在读取操作期间将所存储的数据提供到主机102。存储器装置150可包括多个存储块152、154和156。存储块152、154和156中的每一个可包括多个页面。每个页面可包括多个字线(WL)所电联接到的多个存储器单元。存储器单元可以是一位单元或多位单元。存储器单元可布置成二维或三维堆叠结构。存储器装置150可以是非易失性存储器,例如闪速存储器。闪速存储器可具有三维(3D)堆叠结构。稍后将参考图2至图11详细描述存储器装置150的结构和存储器装置150的三维(3D)堆叠结构。
存储器系统110的控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储到存储器装置150中。为此,控制器130可控制存储器装置150的全部操作,诸如读取、写入、编程和擦除操作。
例如,控制器130可包括主机接口(I/F)单元132、处理器134、错误纠正码(ECC)单元138、电源管理单元(PMU)140、NAND闪存控制器(NFC)142以及存储器144。
主机接口单元132可处理从主机102提供的命令和数据,并且可通过各种接口协议的至少一个与主机102通信,诸如通用串行总线(USB)、多媒体卡(MMC),高速外围部件互连(PCI-E)、串行SCSI(SAS)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可在读取操作期间检测并纠正从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可纠正错误位的阈值数量时,ECC单元138可不纠正错误位,并且可输出指示纠正错误位的失败的错误纠正失败信号。
ECC单元138可基于诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆编码(BCH)码、涡轮码,里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、块编码调制(BCM)等的编码调制来执行错误纠正操作。ECC单元138可包括用于错误纠正操作的所有电路、系统或装置。
PMU 140可提供和管理用于控制器130的电力,即用于包括在控制器130中的组成元件的电力。
NFC 142可用作控制器130和存储器装置150之间的存储器接口,以允许控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器并且特别是当存储器装置150是NAND闪速存储器时,NFC 142可生成用于存储器装置150的控制信号并且在处理器134的控制下处理数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储在存储器装置150中。当控制器130控制存储器装置150的操作时,存储器144可存储由控制器130和存储器装置150用于诸如读取、写入、编程和擦除操作的操作的数据。
存储器144可利用诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实现。如上所述,存储器144可存储由主机102和存储器装置150用于读取和写入操作的数据。对于数据的这种存储,存储器144可包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
响应于来自主机102的写入请求或读取请求,处理器134可控制存储器系统110的一般操作以及存储器装置150的写入操作或读取操作。处理器134可驱动被称为闪存转换层(FTL)的固件,以控制存储器系统110的一般操作。处理器134可用微处理器或中央处理单元(CPU)来实现。
管理单元(未示出)可被包括在处理器134中,并且可执行存储器装置150的坏块管理。管理单元可找到包括在存储器装置150中的坏存储块,并且对坏存储块执行坏块管理,这些坏存储块不满足进一步使用的条件。当存储器装置150是闪存,例如NAND闪存时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程故障。在坏块管理期间,可将编程失败的存储块或坏存储块的数据编程到新的存储块中。此外,由于程序故障导致的坏块严重降低了具有3D堆叠结构的存储器装置150的利用效率和存储器系统100的可靠性,因此需要可靠的坏块管理。
图2是图1所示的存储装置150的详细示图。
参考图2,存储器装置150可包括多个存储块,例如第零存储块(BLOCK 0)210、第一存储块(BLOCK 1)220、第二存储块(BLOCK2)230以及第N-1存储块(BLOCK N-1)240。存储块210至240中的每一个可包括多个页面,例如2M个页面(2M PAGES)。每个页面可包括多个字线所电联接到的多个存储器单元。
此外,存储器装置150可根据在存储器单元中的每一个存储或表示的位数而包括多个存储块,例如单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括由每个能够存储1位数据的存储器单元实现的多个页面。MLC存储块可包括由每个都能够存储多位数据(例如,两位或更多位数据)的存储器单元实现的多个页面。包括由分别能够存储3位数据的存储器单元实现的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
存储块210至240中的每一个可存储在写入操作期间从主机102提供的数据,并且在读取操作期间将存储的数据提供给主机102。
图3是示出包括图2所示的存储块的存储器装置150的图。图3示出了单个存储块330及与其相关的电路310和320的详细配置。
参考图3,存储块330可包括分别电联接到位线BL0到BLm-1的多个单元串340。每列的单元串340可包括至少一个漏极选择晶体管(即,串选择晶体管)DST和至少一个接地选择晶体管(即,源极选择晶体管)GST。多个存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管GST和DST之间。各个存储器单元MC0至MCn-1可由多层单元(MLC)构成,每个存储器单元存储多个位的数据信息。单元串340可分别电联接到对应的位线BL0到BLm-1。作为参考,在图3中,“DSL”表示漏极选择线(即,串选择线),“GSL”表示接地选择线(即,源极选择线),并且“CSL”表示公共源极线。
虽然图3示出了由NAND闪存单元配置的存储块330作为示例,但是应当注意,根据本发明的示例性实施例的存储器装置300的存储块330不受限于NAND闪速存储器,并且可由NOR闪速存储器、其中至少有两种存储器单元组合的混合闪速存储器、或者其中控制器内置在存储器芯片中的一个NAND闪速存储器来实施。半导体器件的操作特性不仅可应用于其中电荷存储层由导电浮栅构成的闪速存储器装置,而且还可应用于其中电荷存储层由介电层构成的电荷捕获闪存(CTF)。
存储器装置300的电压供应块310可根据操作模式来提供将供应给各个字线的字线电压,例如编程电压、读取电压和通过电压,以及提供将供应给诸如形成存储器单元的阱区的块的电压。电压供应块310可在控制电路(未示出)的控制下执行电压生成操作。电压供应块310可生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选存储块的字线中的一个,并且将字线电压提供给所选字线和未选字线。
存储器装置300的读取/写入电路320可由控制电路控制,并且可根据操作模式用作读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可用作用于从存储器单元阵列读取数据的读出放大器。此外,在编程操作期间,读取/写入电路320可用作根据将存储在存储器单元阵列中的数据来驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收将写入存储器单元阵列中的数据,并且可根据输入的数据来驱动位线。为此,读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322、324和326,以及多个锁存器(未示出)可被包括在页面缓冲器322、324和326中的每一个中。
存储器装置150可被实现为二维或三维存储器装置。例如,如图4所示,在存储器装置150被实现为三维非易失性存储器的情况下,存储器装置150可包括多个存储块BLK0至BLKN-1。
图4是示出图3所示的存储器装置的存储块的框图,并且存储块BLK0至BLKN-1可被实现为三维结构(或垂直结构)。例如,各个存储块BLK0至BLKN-1可通过包括在第一至第三方向(例如,x轴方向、y轴方向和z轴方向)上延伸的结构而被实现为三维结构。
各个存储块BLK0至BLKN-1可包括在第二方向上延伸的多个NAND串。多个NAND串可设置在第一方向和第三方向上。每个NAND串可电联接到位线、至少一个漏极选择线、至少一个接地选择线、多个字线、至少一个伪字线以及公共源极线。即,各个存储块BLK0至BLKN-1可电联接到多个位线、多个漏极选择线、多个接地选择线、多个字线、多个伪字线、以及多个公共源极线。
下面,将参照图5至图7详细描述根据本发明的实施例的存储器系统中的数据处理操作。特别地,将描述关于存储器装置150的对应于从主机102接收的命令的命令数据处理操作。
图5和图6示出根据本发明的实施例的关于存储器系统中的存储器装置的数据处理操作。以下,为了便于说明,将在如下情况下描述数据处理,在图1所示的存储器系统110中,在将对应于从主机102接收的命令的命令数据存储在包括在控制器130的存储器144中的缓冲器/高速缓冲存储器中后,执行对应于从主机102接收的命令的命令操作。例如,对应于存储在缓冲器/高速缓冲存储器中的写入命令的写入数据被写入(或编程)在包括在存储器装置150中的多个存储块中,然后在存储器装置150中编程的数据在存储器装置150中更新和重新编程。
此外,虽然在本实施例中,为了便于说明控制器130在存储器系统110中执行数据处理操作,下面将作为示例来描述,但是应当注意,如上所述,包括在控制器130中的处理器134可通过闪存转换层(FTL)执行数据处理。此外,在本实施例中,在将对应于从主机102接收的写入命令的用户数据和元数据存储在包括在控制器130的存储器144中的缓冲器中之后,控制器130将存储在缓冲器中存储的数据写入并存储在包括在存储器装置150中的多个存储块中。也就是说,控制器130执行编程操作。
元数据可包括用于响应于编程操作存储在存储块中的数据的第一映射数据和第二映射数据,第一映射数据包括逻辑/物理(逻辑到物理)(L2P)信息(以下称为“逻辑信息”),第二映射数据包括物理/逻辑(物理到逻辑)(P2L)信息(以下称为“物理信息”)。此外,元数据可包括关于对应于从主机102接收的命令的命令数据的信息,关于对应于命令的命令操作的信息,关于将对其执行命令操作的存储器装置150的存储块的信息,以及关于对应于命令操作的映射数据的信息。换言之,元数据可包括除了对应于从主机102接收的命令的用户数据之外的所有剩余信息和数据。
在本实施例中,在控制器130从主机102接收到命令(例如,写入命令)的情况下,控制器130将对应于该命令的用户数据写入并存储在存储器装置150的存储块中。例如,在存储块中,对应于写入命令的用户数据被写入并存储在开放存储块或空闲存储块中。开放存储块是具有至少一个未编程有数据的页面的存储块。空闲存储块是所有页面都没有任何数据的块。可通过执行擦除操作由封闭存储块或开放存储块创建空闲存储块。此外,控制器130在存储器装置150的存储块中的开放存储块或空闲存储块中写入和存储元数据。元数据包括存储在存储块中的用户数据的逻辑地址和物理地址之间的映射信息,以及存储用户数据的存储块的物理地址和逻辑地址之间的映射信息。前一个映射信息是包括记录逻辑信息的L2P映射表的第一映射数据。后一个映射信息是包括记录物理信息的P2L映射表的第二映射数据。特别地,在本实施例中,当从主机102接收到写入命令时,对应于写入命令的用户数据被写入并存储在存储块中,并且包括存储在存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在存储块中。在这种情况下,用户数据的数据段和元数据的元段被存储在存储器装置150的存储块中。换言之,第一映射数据的L2P段和第二映射数据的P2L段作为映射数据的映射段存储在存储装置150的存储块中。
此外,在本实施例中,在对与从主机102接收的命令对应的用户数据执行存储块中的命令操作的情况下,为了执行命令操作,搜索并检查存储在存储块中的用户数据的第一映射数据和第二映射数据。换言之,通过搜索和检查用户数据的第一映射数据的各个逻辑段和用户数据的第二映射数据的各个物理段,对存储块中的用户数据执行命令操作。也就是说,通过扫描用于用户数据的第一映射数据的L2P段和用于用户数据的第二映射数据的P2L段,对存储块中的用户数据执行的命令操作。在这点上,在本实施例中,可考虑第一映射数据和第二映射数据来对存储器装置150执行后台操作。例如,作为后台操作,可执行将存储在存储器装置150的存储块中的数据复制到任意存储块的处理操作。也就是说,可执行垃圾收集(GC)操作。作为后台操作的另一示例,可执行对存储器装置150的存储块的交换处理操作或对存储在存储块中的数据的交换处理操作。也就是说,可执行损耗均衡(WL)操作。作为后台操作的另一示例,可执行将存储在控制器130中的映射数据存储在存储器装置150的存储块中的操作。也就是说,可执行映射刷新操作。
此外,在实施例中,控制器130将对应于从主机102接收的写入命令的写入数据存储在包括在控制器130的存储器144中的缓冲器中。然后,控制器130将存储在缓冲器中的写入数据编程到包括在存储器装置150中的多个存储块的任意存储块中的一个或多个页面中。例如,控制器130可响应于第一写入命令执行第一编程操作,将对应于从主机接收的第一写入命令的写入数据存储在第一存储块的第一页面中。第一编程操作可包括首先将写入数据临时存储在包括在控制器130的存储器144中的缓冲器中,然后将存储在缓冲器中的写入数据存储在第一存储块的第一页面中。在控制器130从主机102接收到针对存储在第一存储块的第一页面中的数据的第二写入命令的情况下,控制器130对存储在第一存储块的第一页面中的数据执行第二编程操作。换言之,控制器130可将对应于从主机102接收的第二写入命令的写入数据存储在第一存储块的另一个空页面中或另一个任意存储块的空页面中。例如,控制器130可将对应于从主机102接收的第二写入命令的写入数据存储在第一存储块的第二页面中或第二存储块的第一页面中。此时,存储在第一存储块的第一页面中的数据变为无效数据,因此,第一存储块的第一页面变为无效页面。
在本实施例中,如上所述,在存储器装置150的存储块中包括无效页面的情况下,为了最大化存储器装置150的使用效率,可执行在存储器装置150的存储块之间处理数据的数据处理操作。在存储器装置150的存储块之间处理数据的数据处理操作可例如包括后台操作。后台操作可以是垃圾收集操作。垃圾收集操作可首先在存储器装置150的存储块中确定包括无效页面并且是封闭块即其所有页面均被数据编程的存储块的至少一个存储块。然后,控制器130可将至少一个封闭存储块(其包含无效数据)的任何有效页面数据复制并存储在开放存储块或空闲存储块中。
在执行垃圾收集操作时,控制器130可检查封闭存储块的一个或多个参数,并基于这一个或多个参数执行垃圾收集操作。例如,控制器可确定存储器装置150的每个封闭存储块中的有效页面的数量,然后根据封闭存储块的有效页面计数(以下称为“VPC”)来执行垃圾收集操作。因此,在实施例中,由控制器确定的封闭存储块的参数可以是有效页面计数。特别地,在实施例中,垃圾收集操作可包括在存储器装置150中的多个封闭存储块中选择至少一个源存储块,并且将至少一个源存储块的任何有效数据复制和存储在目标存储块中。可基于多个封闭存储块中的VPC在多个封闭存储块中选择至少一个源存储块。例如,至少一个源存储块可在存储器装置150的封闭存储块中具有最低的VPC。在实施例中,可选择多于一个源存储块。例如,可以选择VPC小于阈值VPC的封闭存储块作为源存储块。当多于一个的封闭存储块被选择为源存储块时,控制器可同时或顺序地对每个源存储块的有效数据执行复制和存储步骤。例如,当多个源存储块被选择为源存储块时,控制器可以从具有最低VPC的源存储块开始的顺序方式对每个源存储块的有效数据执行复制和存储步骤,随后以VPC递增的顺序对剩余的选定源存储块执行操作。
目标存储块可包括空存储块、开放存储块或空闲存储块,其中的所有页面都没有编程。此外,垃圾收集操作可包括对源存储块执行擦除操作,使得源存储块被转换为空或空闲存储块。在下文中,将参照图5和图6更详细地描述根据本实施例的存储器系统中的数据处理操作。
参考图5,控制器130将对应于从主机102接收的命令的数据写入并存储在存储器装置150的存储块中的数据存储器组550的开放存储块552、554、556、558和560中。例如,控制器130将对应于写入命令的用户数据写入并存储在存储器装置150的存储块中的数据存储器组550的开放存储块552、554、556、558和560中。此外,响应于对数据存储器组550的写入操作,控制器130将用户数据的映射数据存储在存储器装置150的存储块中的映射存储器组580的开放存储块582和584中。
在这点上,控制器130存储指示用户数据存储在包括在存储器装置150的数据存储器组550的开放存储块552、554、556、558和560中的页面中的信息。例如,控制器130分别在开放存储块582和584中存储第一映射数据和第二映射数据。换言之,控制器130将第一映射数据的逻辑段(即,L2P段)存储在映射存储器组580的第一存储块582中,并将第二映射数据的物理段(即,P2L段)存储在映射存储器组580的第二存储块584中。
此外,控制器130将对应于从主机102接收的命令的数据缓存并缓冲在包括在控制器130的存储器144中的第一缓冲器510中。例如,控制器130将对应于写入命令的用户数据缓存和缓冲在包括在控制器130的存储器144中的第一缓冲器510中。也就是说,控制器130将用户数据的数据段512存储在用作数据缓冲/高速缓存的第一缓冲器510中,然后将存储在第一缓冲器510中的数据段512写入并存储在包括在存储器装置150的数据存储器组550中的开放存储块552、554、556、558和560的页面中。
由于对应于从主机102接收的命令的用户数据的数据段512被写入和存储在包括在存储器装置150的数据存储器组550中的开放存储块552、554、556、558和560的页面中,控制器130生成第一映射数据和第二映射数据,并将它们存储在包括在控制器130的存储器144中的第二缓冲器520中。也就是说,控制器130将用户数据的第一映射数据的L2P段522和第二映射数据的P2L段524存储在用作映射缓冲/高速缓存的第二缓冲器520中。在这点上,如上所述,第一映射数据的L2P段522和第二映射数据的P2L段524可存储在控制器130的存储器144的第二缓冲器520中。如图5所示,第一映射数据的L2P段522的映射列表和第二映射数据的P2L段524的映射列表可存储在第二缓冲器520中。
另外,控制器130将已经存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在存储器装置150的映射存储器组580的第一存储块582和第二存储块584中。在图5的实施例中,数据段512、第一映射数据的L2P段522和第二映射数据的P2L段524存储在存储器装置150的存储块中的不同存储块中,即数据存储器组550和映射存储器组580中。然而,我们注意到,在另一实施例中,数据段512、第一映射数据的L2P段522和第二映射数据的P2L段524可存储在相同的任意存储块中,而不区分数据存储器组550和映射存储器组580。换言之,尽管在图5的所示实施例中,数据段512、第一映射数据的L2P段522和第二映射数据的P2L段524被分别存储在数据存储器组550和映射存储器组580中,但是本发明不限于此。例如,在另一实施例(未示出)中,数据段512、第一映射数据的L2P段522和第二映射数据的P2L段524可存储在相同的任意存储块,即不分离在不同存储块中和不同数据和映射存储器组550和580中的用户数据和映射数据。
在实施例中,当执行对应于从主机102接收的命令的命令操作时,控制器可执行对与所接收的命令相对应的用户数据的第一映射数据和第二映射数据的扫描的操作。特别地,控制器130可扫描已经存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524。或者,控制器130可将已经分别存储在存储器装置150的映射存储器组580的第一存储块582和第二存储块584中的第一映射数据的L2P段和第二映射数据的P2L段加载在第二缓冲器520中,然后扫描已经加载在第二缓冲器520的第一映射数据的L2P段522和第二映射数据的P2L段524。
在这点上,在本实施例中,如上所述,控制器可首先通过基于一个或多个参数(例如,VPCS)在包括在存储器装置150中的存储块中选择包含无效页面的一个或多个封闭存储块来确定一个或多个源存储块。然后,控制器130可将一个或多个源存储块的有效数据复制并存储在一个或多个目标存储块中。特别地,控制器130可通过扫描第一映射数据的L2P段522和第二映射数据的P2L段524来检查包括在封闭存储块中的有效页面,然后将存储在有效页面中的数据(即,有效数据)复制和存储在目标存储块中。例如,目标存储块可以是空存储块,即,具有一个或多个空页面的存储块。在实施例中,目标存储块可以是开放存储块。在另一实施例中,目标存储块可以是空闲存储块。在另一实施例中,目标存储块可以是开放存储块、空闲存储块或其组合。
控制器130可首先考虑包括在存储器装置150中的封闭存储块的参数(例如,VPC)来选择源存储块,然后可检查源存储块的映射数据的映射段,并且基于映射数据的映射段在包括在源存储块中的多个页面中确定对应于VPC的有效页面。例如,源存储块的映射数据的映射段可包括第一映射数据的L2P段和第二映射数据的P2L段。控制器130可执行将存储在源存储块的有效页面中的数据(即,有效数据)存储在存储器装置150的目标存储块中的垃圾收集操作,然后可对源存储块执行擦除操作,从而使得源存储块成为空存储块。例如,在实施例中,擦除步骤应用于源存储块的所有页面,从而使得源存储块成为空闲存储块。在另一实施例中,擦除步骤仅应用于源存储块的无效页面,从而使得源存储块成为仅具有有效页面和空页面的开放存储块。
在下文中,将参照图6更详细地描述根据本实施例的存储器系统中的存储器装置150的存储块的垃圾收集操作。在下面的实施例中,如图2所示,包括在存储器装置150中的每个存储块包括N+1个页面作为2M个页面,并且在以下假设下执行垃圾收集操作,在每个存储块已经对其N+1个页面执行数据编程的封闭存储块中,考虑封闭存储块的参数(例如,VPC)来选择任意存储块(例如,存储块1)作为源存储块,并且在每个存储块的N+1个页面尚未执行数据编程的开放存储块中,选择任意存储块(例如,存储块i或存储块i+1)作为目标存储块。
参考图6,控制器130确定包括在存储器装置150中的多个存储块中的哪些存储块是封闭存储块,即已经为包括的所有页面执行数据编程的存储块(例如,对于N+1个页面),并基于封闭存储块的参数在封闭存储块中选择源存储块。该参数可例如是封闭存储块的VPC。例如,控制器可选择具有最低VPC的封闭存储块作为源存储块。如图所示,在图6的实施例中,控制器130可在存储器装置150的存储块中选择存储块1 650作为源存储块。在这点上,在所示的源存储块1 650中可考虑封闭存储块的VPC来选择。然而,我们注意到,本发明不限于使用封闭存储块的VPC作为确定源存储块的参数。例如,可在存储器装置150的封闭存储块中考虑到封闭存储块的其他参数来选择源存储块。例如,封闭存储块的其他合适的参数可包括读取参数、写入/编程参数、更新参数、擦除参数等。
此外,控制器130可在包括在存储器装置150中的多个存储块中检查其中每个存储块中尚未对其所有页面(例如,N+1个页面)执行数据编程的开放存储块,并可在开放存储块中选择目标存储块。例如,控制器130可在存储器装置150的存储块中选择存储块i 660或存储块i+1 670作为目标存储块。更特别地,在多个开放存储块中,控制器将基于开放存储块的一个或多个参数来选择目标存储块。例如,一个或多个参数可包括指示它们的无效页面的数量(IPN)、它们的VPC和/或它们的空页面数量(EPN)的参数。例如,目标存储块可具有指示其不包含无效页面的IPN值0,并且还可具有指示在具有0值IPN的开放块中的最大IPN值。
在已经在存储器装置150的存储块中选择存储块1 650作为源存储块之后,控制器130可在包括在源存储块中的多个页面中检查有效页面。换言之,控制器130在包括在存储块1 650中的多个页面(例如,N+1个页面)中确定哪些页面是有效页面。在这点上,如图5所示,在控制器130将对应于从主机接收的写入命令的用户数据的数据段写入并存储在包括在存储块1 650中的N+1个页面中的情况下,控制器130响应于对存储块1 650的写入操作,将第一映射数据的L2P段和第二映射数据的P2L段存储在存储器装置150的任意存储块中。例如,控制器130将存储块1 650的第一映射数据的L2P段和第二映射数据的P2L段存储在映射存储器组580的第一存储块582和第二存储块584中。然后,控制器130在存储块1 650的第二映射数据的P2L段和第一映射数据的L2P段之间执行扫描,以便确定存储块1 650的有效页面。
更详细地,为了在包括在存储块1 650中的N+1个页面中确定有效页面,控制器130将存储块1 650的第二映射数据的映射段加载在包括在存储器144中的缓冲器600上,并且将P2L段610的第一映射数据的映射段加载在包括在存储器144中的缓冲器600上。也就是说,控制器130将P2L段610和L2P段630加载在缓冲器600上。控制器130此后检查加载在缓冲器600上的P2L段610和L2P段630,以在存储块1 650的N+1个页面中确定有效页面。
例如,控制器130将选择为源存储块的存储块1 650的P2L段610加载在缓冲器600上,并且将P2L段610的L2P段630加载在缓冲器600上。换言之,控制器130将P2L段0的L2P段0加载在缓冲器600上。控制器130检查P2L段0的L2P段0,并检查存储块1 650的页面0是否为有效页面。也就是说,控制器130检查存储在存储块1 650的页面0中的数据段是否为有效数据的数据段。如果存储块1 650的页面0是有效页面,则控制器130将存储在存储块1 650的页面0中的数据段0(即,有效数据)加载在缓冲器600上。如果存储块1 650的页面1不是有效页面,控制器130将P2L段1的L2P段1加载在缓冲器600上,并检查P2L段1和L2P段1,从而检查存储块1 650的页面1是否为有效页面。也就是说,控制器130检查存储在存储块1 650的页面1中的数据段是否为有效数据的数据段。
控制器130检查P2L段0和L2P段0,并且如果存储块1 650的页面0不是有效页面,则删除加载在缓冲器600上的L2P段0。此外,控制器130检查P2L段0和L2P段0,并且如果存储块1 650的页面0是有效页面,则将存储在存储块1 650的页面0中的数据段0加载在缓冲器600上,并将加载在缓冲器600上的数据段0复制并存储在目标存储块中。例如,目标存储块可以是存储块i 660或存储块i+1 670。
因此,控制器130检查已经加载在缓冲器600上的存储块1 650的P2L段610和L2P段630,并因此在包括在存储块1 650中的N+1个页面中检查有效页面。此外,控制器130将存储在存储块1 650的有效页面中的数据段640加载在缓冲器600上,然后将加载在缓冲器600上的数据段640复制并存储在目标存储块中,例如,存储块i 660或存储块i+1670。以下,作为示例,将对在被选择为源存储块的存储块1 650的N+1个页面中的页面2、页面5、页面60和页面130为有效页面的情况进行详细描述。因为存储块1 650的N+1个页面中的有效页面为页面2、页面5、页面60和页面130,所以存储块1 650的VPC为4。如上所述,响应于VPC=4,控制器130选择存储块1 650作为源存储块。
更详细地,例如,控制器130将存储块1 650的P2L段610加载在缓冲器600上,将在P2L段610中P2L段2的L2P段2 632加载在缓冲器600上,然后检查加载在缓冲器600上的P2L段2和L2P段2 632,从而检查存储块1 650的页面2为有效页面。换言之,控制器130检查存储在存储块1 650的页面2中的数据段2 642为有效数据。在这点上,如上所述,控制器130在加载在缓冲器600上的P2L段610中将P2L段0的L2P段0和P2L段1的L2P段1加载在缓冲器600上,并检查P2L段0、L2P段0、P2L段1和L2P段1,从而检查存储块1 650的页面0和页面1不是有效页面。在这种情况下,控制器130删除加载在缓冲器600上的L2P段0和L2P段1。
控制器130将存储在被检查为存储块1 650中的有效页面的页面2中的数据段2642加载在缓冲器600上,并且将加载在缓冲器600上的数据段2 642写入并存储在包括在诸如存储块i 660或存储块i+1 670的目标存储块中的页面中。在本实施例的情况下,例如,控制器130将数据段2 642写入并存储在存储块i 660的页面0中。
在这种情况下,如上所述,控制器130将存储在存储器装置150的存储块中的源存储块中的有效数据复制并存储在目标存储块中。也就是说,控制器130执行垃圾收集操作,从而预测并检查存储在作为源存储块的存储块1 650中的有效数据被存储在作为目标存储块的存储块i 660中。然后,控制器130将存储在作为源存储块的存储块1 650中的有效数据的数据段640加载在缓冲器600上,然后响应于加载在缓冲器600上的有效数据的数据段640的存储,将在作为目标存储块的存储块i 660中更新加载在缓冲器600上的映射数据。例如,控制器130更新存储块i 660中的第一映射数据的L2P段630。随后,控制器130将加载在缓冲器600上的有效数据的数据段640和更新的第一映射数据的L2P段630存储在作为目标存储块的存储块i 660或存储块i+1 670中。
也就是说,控制器130将存储在作为源存储块的存储块1 650的有效页面中的数据段640加载在缓冲器600上。换言之,控制器130将有效数据的数据段640加载在缓冲器600上。此后,控制器130更新加载在缓冲器600上的有效数据的数据段640的映射数据的映射段。例如,控制器130更新第一映射数据的L2P段630。随后,控制器130将加载在缓冲器600上的有效数据的数据段640和更新的第一映射数据的L2P段630存储在作为目标存储块的存储块i 660或存储块i+1 670中。
在这点上,如图5所示,加载在缓冲器600上的有效数据的数据段640和更新的第一映射数据的L2P段630可存储在不同的目标存储块中。换言之,有效数据的数据段640可存储在包括在数据存储器组550中的目标存储块中,并且更新的第一映射数据的L2P段630可存储在包括在映射存储器组580中的目标存储块中。例如,有效数据的数据段640可存储在作为包括在数据存储器组550中的目标存储块的存储块i660中,并且更新的第一映射数据的L2P段630可存储在作为包括在映射存储器组580中的目标存储块的存储块i+1 670中。此外,更新的第一映射数据的L2P段630和有效数据的数据段640可存储在同一目标存储块中。以下,作为示例,将对元数据存储在同一目标存储块中的情况进行详细描述。例如,更新的第一映射数据的L2P段630和有效数据的数据段640可存储在存储块i 660中。
也就是说,控制器130将存储在存储块1 650中被检查为有效页面的页面2中的数据段2 642加载在缓冲器600上,并且将加载在缓冲器600上的有效数据的数据段2 642写入并存储在作为目标存储块的存储块i 660的页面0中。在这点上,响应于有效数据的数据段2642在存储块i 660的页面0中的存储,控制器130更新加载在缓冲器600上的L2P段2 632。此外,控制器130将加载在缓冲器600上的有效数据的数据段2642和更新的L2P段2 632存储在包括在作为目标存储块的存储块i 660中的页面中。在这种情况下,控制器130将加载在缓冲器600上的数据段2 642存储在存储块i 660的页面0中,并将更新的L2P段2 632存储在存储块i 660的页面1中。此外,控制器130将对应于数据段2 642在存储块i 660的页面0中的存储或对应于更新的L2P段2 632在存储块i 660的页面1中的存储的P2L段0存储在存储块i660的页面2中。
因此,控制器130完成将包括在存储块1 650中的N+1个页面中的被检查为有效页面的页面2的数据段2 642复制到目标存储块的操作,以及完成对应于对目标存储块的复制操作的映射数据的更新和存储的操作。也就是说,控制器130完成对包括在存储块1 650中的N+1个页面中的被检查为有效页面的页面2的数据段2 642的垃圾收集操作。也就是说,控制器130完成对包括在存储块1 650中的N+1个页面中的任意页面是否为有效页面的检查,对被检查为有效页面的任意页面的有效数据的复制,以及对任意页面的映射数据的更新和存储。此后,控制器130检查包括在存储块1 650中的N+1个页面中的下一个任意页面是否为有效页面。
例如,如上所述,在控制器130已经将包括在存储块1 650中的N+1个页面中的页面2检查为有效页面并在完成垃圾收集操作之后,控制器130检查在页面2之后的页面3是否为有效页面。为了检查存储块1 650的页面3是否为有效页面,控制器130将在加载在缓冲器600上的P2L段610中的P2L段3的L2P段3加载在缓冲器600上,并检查加载在缓冲器600上的P2L段3和L2P段3,从而检查存储块1 650的页面3是否为有效页面。在这种情况下,控制器130检查存储块1 650的页面3不是有效页面,并且删除加载在缓冲器600上的L2P段3。此外,控制器130检查在页面3之后的页面4是否为有效页面,然后检查页面4不是有效页面,并且删除加载在缓冲器600上的L2P段4。
另外,控制器130在缓冲器600上加载的P2L段610中将P2L段5的L2P段5 634加载在缓冲器600上,然后检查加载在缓冲器600上的P2L段5和L2P段5 634,从而检查存储块1 650的页面5为有效页面。也就是说,控制器130检查存储在页面5中的数据段5 644为有效页面。此外,控制器130将存储在存储块1 650中的被检查为有效页面的页面5中的数据段5 644加载在缓冲器600上。控制器130更新加载在缓冲器600上的数据段5 644的映射数据的映射段。也就是说,控制器130更新第一映射数据的L2P段5 634。此外,控制器130将加载在缓冲器600上的数据段5 644和更新的第一映射数据的L2P段5 634存储在包括在作为目标存储块的存储块i 660中的页面中。在这种情况下,控制器130将加载在缓冲器600上的数据段5644存储在存储块i 660的页面3中,将更新的L2P段5 634存储在存储块i 660的页面4中,并且将对应于数据段5 644在存储块i 660的页面3中的存储或更新的L2P段5 634在存储块i660的页面4中的存储的P2L段1存储在存储块i 660的页面5中。
因此,控制器130完成将包括在存储块1 650中的N+1个页面中的被检查为有效页面的页面5的数据段5 644复制到目标存储块的操作,以及完成对应于对目标存储块的复制操作的映射数据的更新和存储的操作。也就是说,控制器130完成对包括在存储块1 650中的N+1个页面中的被检查为有效页面的页面5的数据段5 644的垃圾收集操作。此后,控制器130检查包括在存储块1 650中的N+1个页面中的页面6是否为有效页面。
例如,如上所述,在控制器130已经将包括在存储块1 650中的N+1个页面中的页面5检查为有效页面并在完成垃圾收集操作之后,控制器130检查在页面5之后的页面6是否为有效页面。为了检查存储块1 650的页面6是否为有效页面,控制器130将在加载在缓冲器600上的P2L段610中的P2L段6的L2P段6加载在缓冲器600上,并检查加载在缓冲器600上的P2L段6和L2P段6,从而检查存储块1 650的页面6是否为有效页面。在这种情况下,控制器130检查存储块1 650的页面6不是有效页面,并且删除加载在缓冲器600上的L2P段6。
另外,控制器130在缓冲器600上加载的P2L段610中将P2L段60的L2P段60 636加载在缓冲器600上,然后检查加载在缓冲器600上的P2L段60和L2P段60 636,从而检查存储块1650的页面60为有效页面。也就是说,控制器130检查存储在页面60中的数据段60 646为有效页面。此外,控制器130将存储在存储块1 650中的被检查为有效页面的页面60中的数据段60 646加载在缓冲器600上。控制器130更新加载在缓冲器600上的数据段60 646的映射数据的映射段。也就是说,控制器130更新第一映射数据的L2P段60 636。此外,控制器130将加载在缓冲器600上的数据段60 646和更新的第一映射数据的L2P段60 636存储在包括在作为目标存储块的存储块i 660中的页面中。在这种情况下,控制器130将加载在缓冲器600上的数据段60 646存储在存储块i660的页面6中,将更新的L2P段60 636存储在存储块i660的页面7中,并且将对应于数据段60 646在存储块i 660的页面6中的存储和更新的L2P段60 636在存储块i 660的页面7中的存储的P2L段2存储在存储块i660的页面8中。
因此,控制器130完成将包括在存储块1 650中的N+1个页面中的被检查为有效页面的页面60的数据段60 646复制到目标存储块的操作,以及完成对应于对目标存储块的复制操作的映射数据的更新和存储的操作。也就是说,控制器130完成对包括在存储块1 650中的N+1个页面中的被检查为有效页面的页面60的数据段60 646的垃圾收集操作。
另外,控制器130在缓冲器600上加载的P2L段610中将P2L段130的L2P段130 638加载在缓冲器600上,然后检查加载在缓冲器600上的P2L段130和L2P段130 638,从而检查存储块1 650的页面130为有效页面。也就是说,控制器130检查存储在页面130中的数据段130648为有效页面。此外,控制器130将存储在存储块1 650中的被检查为有效页面的页面130中的数据段130 648加载在缓冲器600上。控制器130更新加载在缓冲器600上的数据段130648的映射数据的映射段。也就是说,控制器130更新第一映射数据的L2P段130 638。此外,控制器130将加载在缓冲器600上的数据段130 646和更新的第一映射数据的L2P段130 638存储在包括在作为目标存储块的存储块i 660中的页面中。在这种情况下,控制器130将加载在缓冲器600上的数据段130 648存储在存储块i 660的页面9中,将更新的L2P段130 638存储在存储块i660的页面10中,并且将对应于数据段130 648在存储块i 660的页面9中的存储和更新的L2P段130 638在存储块1660的页面10中的存储的P2L段3存储在存储块i 660的页面11中存储中。
因此,控制器130完成将包括在存储块1 650中的N+1个页面中的被检查为有效页面的页面130的数据段130 648复制到目标存储块的操作,以及完成对应于对目标存储块的复制操作的映射数据的更新和存储的操作。也就是说,控制器130完成对包括在存储块1650中的N+1个页面中的被检查为有效页面的页面130的数据段130 648的垃圾收集操作。
因此,在根据本实施例的存储器系统中,控制器130将作为源存储块的存储块1650的P2L段610加载在缓冲器600上,然后将加载在缓冲器600上的各个P2L段610的L2P段630加载在缓冲器600上。此后,控制器130检查加载在缓冲器600上的P2L段610和L2P段630,从而检查包括在存储块1 650中的N+1个页面中的有效页面。随后,控制器130加载存储在有效页面中的数据段640。也就是说,控制器130将有效数据的数据段640加载在缓冲器600上,更新加载在600上的有效数据的数据段640的映射数据。例如,控制器130更新第一映射数据的L2P段630,然后将加载在缓冲器600上的有效数据的数据段640和更新的第一映射数据的L2P段630存储在作为目标存储块的存储块i 660的页面中。
在这种情况下,在根据本实施例的存储器系统中,如上所述,控制器130对作为源存储块的存储块1 650的N+1个页面,完成基于有效页面的垃圾收集操作。换言之,控制器130基于在存储块1 650的N+1个页面中的有效页面执行在缓冲器600上加载有效数据的操作、更新所加载的有效数据的映射数据的操作、以及将所加载的有效数据和所更新的映射数据存储在目标存储块中的操作。因此,在根据本实施例的存储器系统中,即使在执行存储器装置150的垃圾收集操作的同时发生断电,在断电发生之前已经执行的垃圾收集操作可在通电之后连续执行。
例如,在根据本实施例的存储器系统中,如果在对存储在作为源存储块的存储块1650的页面5中的数据段5 644的垃圾收集操作已经完成之后发生断电,当存储器系统通电时,控制器130检查包括在存储块1 650中的N+1个页面中的页面5之后的页面6是否为有效页面。换言之,如果在数据段5 644以及数据段5 644的L2P段5 634和P2L段5已经存储在作为目标存储块的存储块i 660的页面之后发生断电,如上所述,当存储器系统通电时,控制器130检查包括在存储块1 650中的N+1个页面中的页面5之后的页面6是否为有效页面。换言之,当存储器系统通电时,控制器130通过存储在作为目标存储块的存储块i 660的页面3中的数据段5 644、存储在存储块i 660的页面4中的L2P段5634、以及存储在存储块i 660的页面5中的P2L段1来检查数据段5 644的垃圾收集操作已经完成。因此,控制器130执行检查存储块1 650的页面6是否为有效页面的操作。在这种情况下,存储在作为目标存储块的存储块i 660的页面3中的数据段5 644、存储在存储块i 660的页面4中的L2P段5 634、以及存储在存储块i 660的页面5中的P2L段1,成为指示数据段5 644的垃圾收集操作的开始和完成的检查点。
在根据另一实施例的存储器系统中,控制器130基于存储块完成对作为源存储块的存储块1 650的垃圾收集操作。在根据另一实施例的存储器系统中,在完成存储块垃圾收集操作的情况下,为了检查作为源存储块的存储块1 650中的有效页面,控制器130将所有P2L段610和L2P段630加载在缓冲器600上,并检查加载在缓冲器600上的P2L段610和L2P段630,从而检查包括在存储块1 650中的N+1个页面中的有效页面。此后,控制器130生成对应于包括在存储块1 650中的所有有效页面的位图,并且删除已经加载在缓冲器600上的P2L段610和L2P段630。此外,根据另一实施例的存储器系统的控制器130将对应于位图的有效页面的数据段640加载在缓冲器600上,将加载在缓冲器600上的数据段640存储在作为目标存储块的存储块i 660的页面中。然后,控制器130将对应于位图的有效页面的数据段640的映射数据例如第一映射数据的L2P段630再次加载在缓冲器630上,更新加载在缓冲器630上的第一映射数据的L2P段630,然后将更新的第一映射数据的L2P段630存储在作为目标存储块的存储块i 660的页面中。在根据另一实施例的存储器系统中,如果在执行对存储器装置150的垃圾收集操作的同时发生断电,则当存储器系统通电时,从初始操作执行垃圾收集操作。
因此,如在根据本实施例的存储器系统中描述的,理想的情况是,垃圾收集操作基于有效页面执行。也就是说,在根据本实施例的存储器系统中,如上所述,在检查包括在源存储块中的每个页面中是否存在有效页面之后,将存储在有效页面中的有效数据的数据段加载在缓冲器600上,而不生成对应于有效页面的位图,并且更新对应于加载在缓冲器600上的数据段的映射数据的映射段,并且此后将加载在缓冲器600上的数据段和更新的映射段存储在包括在目标存储块中的页面中。
此外,在根据本实施例的存储器系统中,由于垃圾收集操作是基于有效页面执行的,所以通过有效页面将指示垃圾收集操作的开始和完成的检查点包括在目标存储块中。也就是说,如上所述,由于存储在每个有效页面中的数据段、数据段的第一映射数据的L2P段、以及目标存储块的P2L段通过有效页面存储在包括在目标存储块中的页面中,存储在目标存储块的页面中的段成为指示对源存储块的有效数据的存储操作的开始和完成的检查点。因此,在根据本实施例的存储器系统中,由于对源存储块的垃圾收集操作是基于有效页面执行的,因此对存储器装置150中的垃圾收集操作可更加快速和有效地执行。在下文中,将参考图7详细描述根据本实施例的在存储器系统中处理数据的操作。
图7是示意性地示出根据本发明的实施例的在存储器系统中处理数据的操作过程的图。
参考图7,为了对存储器装置150执行垃圾收集操作,在步骤710中,存储器系统将存储在所选源存储块的多个页面中的数据的映射数据加载在存储器系统的缓冲器上。映射数据可包括如上所述的第一映射数据和第二映射数据。缓冲器可以是图1的存储器系统110的控制器130的存储器144的缓冲器。如上所述,存储器系统110可在包括在存储器装置150中的多个存储块中选择源存储块和目标存储块。
在步骤720中,存储器系统通过检查包括在源存储块中的多个页面的第一映射数据和第二映射数据来确定有效页面。
此后,在步骤730中,存储器系统将存储在源存储块的有效页面中的有效数据加载在缓冲器上。也就是说,存储器系统将存储在源存储块的有效页面中的有效数据加载在缓冲器上。在步骤740中,存储器系统更新加载在缓冲器上的有效数据的映射数据。
在步骤750中,存储器系统将加载在缓冲器上的有效数据和更新的映射数据写入并存储在包括在目标存储块中的页面中。可如上所述选择目标存储块。
参考图5和图6的详细描述已经提供对存储器装置的存储块的垃圾收集操作。特别地,已经描述了在缓冲器上加载映射数据以检查包括在存储块中的源存储块中的多个页面中的有效页面操作、以及基于有效页面执行垃圾收集操作的操作。例如,所描述的操作包括加载源存储块的第二映射数据的P2L段、加载所加载的P2L段的第一映射数据的L2P段、通过P2L段和L2P段检查源存储块中的有效页面、以及然后基于有效页面的执行垃圾收集操作。换言之,所述操作包括将存储在有效页面中的有效数据加载在缓冲器上、更新所加载的有效数据的映射数据、以及将所加载的有效数据和所更新的映射数据存储在目标存储块中。因此,将省略其进一步的详细描述。以下,将参照图8至图13进行详细描述应用了包括上面参照图1至图7描述的根据实施例的存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备。
图8是示出包括根据实施例的存储器系统的数据处理系统的图。图8是示意性地示出应用根据实施例的存储器系统的存储卡系统的图。
参考图8,存储卡系统6100包括存储器控制器6120、存储器装置6130和连接器6110。
详细地,存储器控制器6120可与存储器装置6130连接,并且可访问存储器装置6130。在一些实施例中,存储器装置6130可利用非易失性存储器(NVM)来实施。例如,存储器控制器6120可控制存储器装置6130的读取、写入、擦除和后台操作。存储器控制器6120可提供存储器装置6130与主机(未示出)之间的接口,并且可驱动用于控制存储器装置6130的固件。例如,存储器控制器6120可对应于上面参考图1描述的存储器系统110中的控制器130,并且存储器装置6130可对应于上面参考图1描述的存储器系统110中的存储器装置150。
因此,存储器控制器6120可包括如图1所示的诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误纠正单元的组件。
存储器控制器6120可通过连接器6110与外部装置(例如,上面参照图1描述的主机102)通信。例如,如上面参考图1所述,存储器控制器6120可被配置为通过各种通信协议中的一种与外部装置通信,诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA,并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(WI-FI)以及蓝牙等。因此,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备,例如,移动电子设备。
存储器装置6130可使用非易失性存储器来实现。例如,存储器装置6130可用各种非易失性存储器来实现,诸如电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻RAM ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可集成到单个半导体器件中。例如,存储器控制器6120和存储器装置6130可通过集成到单个半导体器件中来构建固态驱动器(SSD)。存储器控制器6120和存储器装置6130可构造存储卡,诸如PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑型闪存卡(CF)、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如:SD、小型-SD、微型-SD和SDHC)以及通用闪存(UFS)。
图9是示意性地示出包括根据本发明的实施例的存储器系统的数据处理系统的示例的图。
参考图9,数据处理系统6200包括可通过至少一个非易失性存储器(NVM)和用于控制存储器装置6230的存储器控制器6220来实现的存储器装置6230。如上面参考图1所描述的,数据处理系统6200可以是诸如存储卡(例如,CF,SD和微型-SD)的存储介质。存储器装置6230可对应于上面参照图1描述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于上面参考图1描述的存储器系统110中的控制器130。
存储器控制器6220可响应于从主机6210接收的请求来控制存储器装置6230的操作,包括读取、写入和擦除操作。存储器控制器6220可包括中央处理单元(CPU)6221、作为缓冲存储器6222的随机存取存储器(RAM)、错误纠正码(ECC)电路6223、主机接口6224、以及作为存储器接口的NVM接口6225,它们均经由内部总线联接。
CPU 6221可控制存储器装置6230的操作,诸如读取、写入、文件系统管理、坏页面管理等。RAM 6222可根据CPU 6221的控制来操作,并且可用作工作存储器、缓冲存储器、高速缓冲存储器等。在RAM 6222用作工作存储器的情况下,由CPU 6221处理的数据临时存储在RAM 6222中。在RAM 6222用作缓冲存储器的情况下,RAM6222用于缓冲将从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。在RAM 6222用作高速缓冲存储器的情况下,RAM 6222可用于使低速的存储装置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)码、涡轮码、里德-所罗门(RS)码、卷积码,递归系统码(RSC)、网格编码调制(TCM)以及块编码调制(BCM)。
存储器控制器6220通过主机接口6224向主机6210传输数据和从主机6210接收数据,并且通过NVM接口6225向存储器装置6230传输数据和从存储器装置6230接收数据。主机接口6224可通过各种接口协议中的至少一种与主机6210连接,诸如并行ATA(PATA)总线、串行ATA(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速PCI(e)或NAND接口等。此外,由于实现了无线通信功能或诸如无线保真(WI-FI)或长期演进(LTE)的移动通信协议,存储器控制器6220可通过与诸如主机6210的外部装置或除主机6210之外的另一外部装置连接来发送和接收数据。特别地,由于存储器控制器6220被配置为通过各种通信协议中的至少一种与外部装置通信,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备,例如,移动电子产品。
图10是示出包括根据本发明的实施例的存储器系统的数据处理系统的示例的图。图10可以是固态驱动器(SSD)。
参考图10,SSD 6300可包括存储器装置6340和控制器6320,存储器装置6340可包括多个非易失性存储器NVM。控制器6320可对应于上面参考图1描述的存储器系统110中的控制器130,并且存储器装置6340可对应于以上参考图1描述的存储器系统110中的存储器装置150。
详细地,控制器6320可通过多个通道CH1、CH2、CH3、...和CHi与存储器装置6340连接。控制器6320可包括经由内部总线联接的处理器6321、缓冲存储器6325、错误纠正码(ECC)电路6322、主机接口6324和作为存储器接口6326的非易失性存储器(NVM)接口。
缓冲存储器6325临时存储从主机6310接收的数据或从包括在存储器装置6340中的多个非易失性存储器NVM接收的数据,或者临时存储多个非易失性存储器NVM的元数据。例如,元数据可包括映射数据,该映射数据包括映射表。缓冲存储器6325可使用易失性存储器来实现,诸如但不限于动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、低功率双数据速率(LPDDR)SDRAM以及图形随机存取存储器(GRAM),或使用非易失性存储器来实现,诸如但不限于铁电随机存取存储器(FRAM)、电阻随机存取存储器(ReRAM)、自旋转移力矩磁性随机存取存储器(STT-MRAM)以及相变随机存取存储器(PRAM)。为便于解释,虽然图10中示出缓冲存储器6325设置在控制器6320内部,但是应当注意,缓冲存储器6325可设置在控制器6320的外部。
ECC电路6322在编程操作中计算将在存储器装置6340中编程的数据的错误纠正码值,在读取操作中基于错误纠正码值对从存储器装置6340读取的数据执行错误纠正操作,并且在故障数据的恢复操作中对从存储器装置6340恢复的数据执行错误纠正操作。
主机接口6324提供关于诸如主机6310的外部装置的接口功能。非易失性存储器接口6326提供关于通过多个通道CH1、CH2、CH3、...和CHi连接的存储器装置6340的接口功能。
作为应用了上面参照图1描述的存储系统110的多个SSD 6300,可实施诸如独立磁盘冗余阵列(RAID)系统的数据处理系统。在RAID系统中,可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。在通过从主机6310接收写入命令来执行编程操作的情况下,RAID控制器可在多个RAID级别(例如,多个SSD 6300)中响应于接收的写入命令的RAID级别信息来选择至少一个存储器系统(例如,至少一个SSD 6300),并且可向所选SSD 6300输出对应于写入命令的数据。在通过从主机6310接收读取命令来执行读取操作的情况下,RAID控制器可在多个RAID级别(例如,多个SSD 6300)中响应于接收的写入命令的RAID级别信息来选择至少一个存储器系统(例如,至少一个SSD 6300),并且可将从所选SSD 6300输出的数据提供给主机6310。
图11是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的示意图。图11是示意性地示出应用根据实施例的存储器系统的嵌入式多媒体卡(eMMC)的图。
参考图11,eMMC 6400包括利用至少一个NAND闪速存储器来实现的存储器装置6440和控制器6430。控制器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接口的并行接口,或者是诸如超高速类1(UHS-I)/UHS类2(UHS-II)和通用闪存(UFS)接口的串行接口。
图12是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。图11是示意性地示出应用根据实施例的存储器系统的通用闪存(UFS)的图。
参考图12,UFS系统6500可包括UFS主机6510、多个UFS装置6520和6530、嵌入式UFS装置6540和可移动UFS卡6550。UFS主机6510可以是有线/无线电子设备的应用处理器,例如移动电子设备。
UFS主机6510、UFS装置6520和6530、嵌入式UFS装置6540和可移动UFS卡6550可分别通过UFS协议与诸如有线/无线电子设备(例如,移动电子设备)的外部装置通信。UFS装置6520和6530、嵌入式UFS装置6540和可移动UFS卡6550可使用上面参照图1描述的存储器系统110来实现,例如作为上面参考图8描述的存储卡系统6100。嵌入式UFS装置6540和可移动UFS卡6550可通过除了UFS协议之外的另一协议进行通信。例如,嵌入式UFS装置6540和可移动UFS卡6550可通过各种卡协议通信,例如但不限于USB闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、小型-SD、微型-SD。
图13是示出包括根据本发明的实施例的存储器系统的数据处理系统的示例的图。图13是示意性地示出应用根据实施例的存储器系统的用户系统的图。
参考图13,用户系统6600可包括应用处理器6630、存储器模块6620、网络模块6640、存储模块6650和用户接口6610。
应用处理器6630可驱动包括在用户系统6600中的组件和操作系统(OS)。例如,应用处理器6630可包括用于控制包括在用户系统6600中的组件,接口,以及图形引擎等的控制器。应用处理器6630可由片上系统(SoC)提供。
存储器模块6620可操作作为用户系统6600的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6620可包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或诸如相变随机存取存储器(PRAM)、电阻随机存取存储器(ReRAM)、磁性随机存取存储器MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,应用处理器6630和存储器模块6620可通过基于堆叠封装(POP)的封装来安装。
网络模块6640可与外部装置通信。例如,网络模块6640不仅可支持有线通信,而且可支持各种无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示器(WI-DI)等,并且因此可与有线/无线电子设备通信,例如,移动电子设备。根据这一事实,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备。网络模块6640可包括在应用处理器6630中。
存储模块6650可存储诸如从应用处理器6530接收的数据的数据,并将存储在其中的数据传输到应用处理器6530。存储模块6650可由诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻性RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器以及三维NAND闪速存储器的非易失性半导体存储装置来实现。存储模块6650可作为诸如用户系统6600的存储卡和外部驱动器的可移除存储介质来提供。例如,存储模块6650可对应于以上参考图1描述的存储器系统100,并且可利用上面参照图10至12描述的SSD、eMMC和UFS来实现。
用户接口6610可包括用于向应用处理器6630输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6610可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、螺仪传感器、振动传感器和压电元件的用户输入接口,以及包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和电动机的用户输出接口。
在根据实施例的将以上参照图1描述的存储器系统110应用于用户系统6600的移动电子设备的情况下,如上所述,应用处理器6630可控制移动电子设备的操作,并且作为通信模块的网络模块6640可控制与外部装置的有线/无线通信。作为移动电子设备的显示/触摸模块的用户接口6610显示由应用处理器6630处理的数据或者支持来自触摸面板的数据输入。
根据实施例的存储器系统及其操作方法可使得存储器系统的复杂性和性能退化最小化,并使得存储器装置的使用效率最大化,从而快速和稳定地处理关于存储器装置的数据。
虽然为了说明的目的描述了各种实施例,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求中所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (20)
1.一种存储器系统,其包括:
存储器装置,其包括多个存储块;以及
包括存储器的控制器,所述控制器适用于:
在所述多个存储块中选择源存储块和目标存储块;
将所述源存储块的映射数据的映射段加载在所述存储器上;
通过所述映射段确定包括在所述源存储块中的多个页面中的有效页面;
将存储在所述有效页面中的有效数据加载在所述存储器上;
更新所述有效数据的映射数据;以及
将所述有效数据和所述更新的映射数据存储在包括在所述目标存储块中的多个页面中。
2.根据权利要求1所述的存储器系统,其中所述控制器将所述源存储块的所述多个页面的第二映射数据的映射段,以及所述第二映射数据的所述映射段的第一映射数据的映射段加载在所述存储器上。
3.根据权利要求2所述的存储器系统,其中所述控制器更新加载在所述存储器上的所述第一映射数据的所述映射段中的对应于所述有效数据的映射段,并且将所述有效数据和所述更新的映射段存储在所述目标存储块的所述多个页面中。
4.根据权利要求3所述的存储器系统,其中所述控制器确定所述有效数据存储在所述目标存储块的所述多个页面中,并且响应于所述有效数据的存储而更新对应于所述有效数据的映射段。
5.根据权利要求3所述的存储器系统,其中所述控制器确定所述有效数据和所述更新的映射段存储到所述目标存储块的所述多个页面,并且响应于所述有效数据和所述映射段的存储而将所述目标存储块的所述多个页面的第二映射数据的映射段存储在所述目标存储块的所述多个页面中。
6.根据权利要求2所述的存储器系统,其中所述控制器确定加载在所述存储器的所述第二映射数据的映射段和所述第一映射数据的映射段,并且确定所述源存储块中的所述有效页面。
7.根据权利要求6所述的存储器系统,其中所述控制器将存储在所述有效页面中的第一有效页面中的第一数据段加载在所述存储器上,并且更新加载在所述存储器上的所述第一映射数据的所述映射段中的对应于所述第一数据段的第一映射段。
8.根据权利要求7所述的存储器系统,其中所述控制器将加载在所述存储器上的所述第一数据段存储在所述目标存储块的第一页面中,将所述更新的第一映射段存储在所述目标存储块的第二页面中,并且将对应于所述第一页面和所述第二页面的存储的第二映射段存储在所述目标存储块的第三页面中。
9.根据权利要求8所述的存储器系统,其中所述第一页面、所述第二页面和所述第三页面是表示所述第一数据段从所述源存储块到所述目标存储块的存储的开始和完成的检查点。
10.根据权利要求9所述的存储器系统,其中在电源关闭发生后,所述存储器系统通电的情况下,所述控制器通过所述检查点确定在所述源存储块的所述多个页面中的所述第一有效页面之后的第二页面是否为有效页面。
11.一种包括控制器和存储器装置的存储器系统的操作方法,其包括:
在包括在所述存储器装置中的多个存储块中选择源存储块和目标存储块;
将所述源存储块的映射数据的映射段加载在包括在所述控制器中的存储器上;
通过所述映射段确定包括在所述源存储块中的多个页面中的有效页面;
将存储在所述有效页面中的有效数据加载在所述存储器上;
更新所述有效数据的映射数据;以及
将所述有效数据和所述更新的映射数据存储在包括在所述目标存储块中的多个页面中。
12.根据权利要求11所述的操作方法,其中所述映射段加载在所述存储器上包括:
将所述源存储块的所述多个页面的第二映射数据的映射段加载在所述存储器上;以及
将所述第二映射数据的所述映射段的第一映射数据的映射段加载在所述存储器上。
13.根据权利要求12所述的操作方法,
其中所述更新包括更新加载在所述存储器上的所述第一映射数据的映射段中的对应于所述有效数据的映射段,以及
其中所述存储包括将所述有效数据和所述更新的映射段存储在所述目标存储块的所述多个页面中。
14.根据权利要求13所述的操作方法,其中所述更新包括:
确定所述有效数据存储在所述目标存储块的所述多个页面中;以及
响应于所述有效数据的存储,更新对应于所述有效数据的所述映射段。
15.根据权利要求13所述的操作方法,其进一步包括:
确定所述有效数据和所述更新的映射段存储在所述目标存储块的所述多个页面中;以及
响应于所述有效数据和所述映射段的存储而将所述目标存储块的所述多个页面的第二映射数据的映射段存储在所述目标存储块的所述多个页面中。
16.根据权利要求12所述的操作方法,其中确定所述有效页面包括确定加载在所述存储器上的所述第二映射数据的所述映射段和所述第一映射数据的所述映射段,并且确定所述源存储块中的所述有效页面。
17.根据权利要求16所述的操作方法,
其中所述映射段加载在所述存储器上包括将存储在所述有效页面中的第一有效页面中的第一数据段加载在所述存储器上,以及
其中所述更新包括更新加载在所述存储器上的所述第一映射数据的所述映射段中的对应于所述第一数据段的第一映射段。
18.根据权利要求17所述的操作方法,其中所述存储包括:
将加载在所述存储器上的所述第一数据段存储在所述目标存储块的第一页面中;
将所述更新的第一映射段存储在所述目标存储块的第二页面中;以及
将对应于所述第一页面和所述第二页面的存储的第二映射段存储在所述目标存储块的第三页面中。
19.根据权利要求18所述的操作方法,其中所述第一页面、所述第二页面和所述第三页面是表示所述第一数据段从所述源存储块到所述目标存储块的存储的开始和完成的检查点。
20.根据权利要求19所述的操作方法,进一步包括:
在电源关闭发生后,所述存储器系统通电的情况下,通过所述检查点确定在所述源存储块的所述多个页面中的所述第一有效页面之后的第二页面是否为有效页面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160062270A KR20170131796A (ko) | 2016-05-20 | 2016-05-20 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2016-0062270 | 2016-05-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107450845A true CN107450845A (zh) | 2017-12-08 |
CN107450845B CN107450845B (zh) | 2020-10-02 |
Family
ID=60330163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710203443.4A Active CN107450845B (zh) | 2016-05-20 | 2017-03-30 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10387057B2 (zh) |
KR (1) | KR20170131796A (zh) |
CN (1) | CN107450845B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110045914A (zh) * | 2018-01-15 | 2019-07-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110321069A (zh) * | 2018-03-28 | 2019-10-11 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN112805686A (zh) * | 2018-10-15 | 2021-05-14 | 华为技术有限公司 | 一种存储块处理的方法及相关设备 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190017550A (ko) * | 2017-08-11 | 2019-02-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11579789B2 (en) * | 2017-09-29 | 2023-02-14 | Apple Inc. | Techniques for managing context information for a storage device |
CN108132890B (zh) * | 2017-12-20 | 2021-08-03 | 北京兆易创新科技股份有限公司 | 存储芯片的垃圾回收方法、装置、设备及存储介质 |
US10489291B2 (en) * | 2018-01-23 | 2019-11-26 | Goke Us Research Laboratory | Garbage collection method for a data storage apparatus by finding and cleaning a victim block |
KR102612918B1 (ko) * | 2018-07-27 | 2023-12-13 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR102675371B1 (ko) * | 2018-12-12 | 2024-06-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200084201A (ko) * | 2019-01-02 | 2020-07-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US11494102B2 (en) | 2021-03-09 | 2022-11-08 | Micron Technology, Inc. | Media management operations based on a ratio of valid data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275660A1 (en) * | 2012-04-12 | 2013-10-17 | Violin Memory Inc. | Managing trim operations in a flash memory system |
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
CN103744798A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法 |
US20150019797A1 (en) * | 2013-07-14 | 2015-01-15 | CNEXLABS, Inc. | Method and Apparatus for Providing Improved Garbage Collection Process In Solid State Drive |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101392174B1 (ko) | 2011-11-09 | 2014-05-09 | 한양대학교 산학협력단 | 소거 대상 블록의 매핑 테이블을 저장하는 플래시 메모리 제어장치 및 방법 |
KR102501751B1 (ko) * | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
US20170242785A1 (en) * | 2016-02-23 | 2017-08-24 | Sandisk Technologies Llc | Efficient Implementation of Optimized Host-Based Garbage Collection Strategies Using Xcopy and Arrays of Flash Devices |
KR102580123B1 (ko) * | 2016-05-03 | 2023-09-20 | 삼성전자주식회사 | Raid 스토리지 장치 및 그것의 관리 방법 |
-
2016
- 2016-05-20 KR KR1020160062270A patent/KR20170131796A/ko not_active Application Discontinuation
-
2017
- 2017-01-16 US US15/407,046 patent/US10387057B2/en active Active
- 2017-03-30 CN CN201710203443.4A patent/CN107450845B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275660A1 (en) * | 2012-04-12 | 2013-10-17 | Violin Memory Inc. | Managing trim operations in a flash memory system |
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
US20150019797A1 (en) * | 2013-07-14 | 2015-01-15 | CNEXLABS, Inc. | Method and Apparatus for Providing Improved Garbage Collection Process In Solid State Drive |
CN103744798A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110045914A (zh) * | 2018-01-15 | 2019-07-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110045914B (zh) * | 2018-01-15 | 2022-05-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110321069A (zh) * | 2018-03-28 | 2019-10-11 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110321069B (zh) * | 2018-03-28 | 2024-01-02 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US11921630B2 (en) | 2018-03-28 | 2024-03-05 | SK Hynix Inc. | Memory system and operating method thereof |
CN112805686A (zh) * | 2018-10-15 | 2021-05-14 | 华为技术有限公司 | 一种存储块处理的方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20170131796A (ko) | 2017-11-30 |
US10387057B2 (en) | 2019-08-20 |
CN107450845B (zh) | 2020-10-02 |
US20170337001A1 (en) | 2017-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947358B (zh) | 存储器系统及其操作方法 | |
US10203900B2 (en) | Memory system for selecting blocks for garbage selection and operating method thereof | |
CN107450845A (zh) | 存储器系统及其操作方法 | |
CN107643985A (zh) | 存储器系统及其操作方法 | |
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN110399311A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN108121669A (zh) | 存储器系统及其操作方法 | |
CN107766257A (zh) | 存储器系统及其操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN107562649A (zh) | 存储器系统及其操作方法 | |
US10956320B2 (en) | Memory system and operating method thereof | |
CN107818057A (zh) | 存储器系统及其操作方法 | |
CN107589906A (zh) | 存储器系统及其操作方法 | |
CN107622019A (zh) | 存储器系统及其操作方法 | |
CN107491396A (zh) | 存储器系统及其操作方法 | |
CN107591182A (zh) | 存储器系统及其操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN109032501A (zh) | 存储器系统及其操作方法 | |
CN110321069A (zh) | 存储器系统及其操作方法 | |
CN108108308A (zh) | 存储器系统及其操作方法 | |
CN107346214A (zh) | 存储器系统及其操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN108257637A (zh) | 存储器系统及其操作方法 | |
CN107562653A (zh) | 存储器系统及其操作方法 | |
CN109271328A (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 |
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 |
|
TR01 | Transfer of patent right |