CN109032501B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN109032501B CN109032501B CN201810600572.1A CN201810600572A CN109032501B CN 109032501 B CN109032501 B CN 109032501B CN 201810600572 A CN201810600572 A CN 201810600572A CN 109032501 B CN109032501 B CN 109032501B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- blocks
- memory block
- block
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 539
- 238000011017 operating method Methods 0.000 title description 5
- 238000013507 mapping Methods 0.000 claims abstract description 171
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 20
- 239000000872 buffer Substances 0.000 description 35
- 238000012545 processing Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 16
- 239000010410 layer Substances 0.000 description 14
- 238000012937 correction Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process 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
- 230000006866 deterioration 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
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 206010047289 Ventricular extrasystoles Diseases 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
- 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
- 239000002356 single layer Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000005129 volume perturbation calorimetry Methods 0.000 description 1
Images
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/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
- 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/0626—Reducing size or complexity of storage systems
-
- 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/0253—Garbage collection, i.e. reclamation of unreferenced 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/061—Improving I/O performance
-
- 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
-
- 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/065—Replication mechanisms
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- 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
- 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/7205—Cleaning, compaction, garbage collection, erase control
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)
- Memory System (AREA)
Abstract
本发明涉及一种存储器系统,其包括:存储器装置,其适于包括存储数据的多个页面以及包含页面的多个存储块;以及控制器,其适于从主机接收多个命令,响应于存储块中的命令执行命令操作,根据正在执行的命令操作来更新存储块的映射数据,并且将关于映射数据的信息登记在存储块中的每一个存储块的数据表中。
Description
相关申请的交叉引用
本申请要求于2017年6月12日提交的申请号为10-2017-0072951的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器系统,并且更特别地,涉及一种通过使用存储器装置来处理数据的存储器系统以及存储器系统的操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如例如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种具有最小化的复杂度和性能恶化并且用于最大化存储器装置的使用效率的存储器系统及其操作方法。
根据本发明的实施例,一种存储器系统包括:存储器装置,其适于包括存储数据的多个页面以及包括页面的多个存储块;以及控制器,其适于从主机接收多个命令,响应于存储块中的命令执行命令操作,根据正在执行的命令操作来更新存储块的映射数据,并且将关于映射数据的信息登记在针对存储块中的每一个存储块的数据表中。
控制器可以检出存储块的映射数据和数据表中登记的信息,选择存储器装置的存储块中的源存储块,并且将存储在源存储块中的有效数据复制并存储到存储器装置的存储块中的目标存储块中。
控制器可以基于登记在数据表中的信息来计算存储块的映射数据的加载时间和扫描时间,并且选择具有最少加载时间和最少扫描时间的第一存储块作为存储器装置的存储块中的源存储块。
控制器可以将包括在存储块中的每一个存储块的映射数据中的映射段的数量、映射段的映射段列表、以及包括在映射段中的每一个映射段中的有效地址的数量登记在针对存储块中的每一个存储块的数据表中。
控制器可以基于存储块中的每一个存储块中的映射数据中包括的映射段的数量、映射段的映射段列表以及映射段中的每一个映射段中包括的有效地址的数量来计算加载时间和扫描时间,并且其中第一存储块的映射数据、映射段和有效地址可以具有最小大小,并且第一存储块可以具有最大局部性分布或连续性/序列分布的有效地址分布。
控制器可以将第一存储块的映射数据加载到控制器中包括的存储器中,并且通过扫描第一存储块的映射数据中包括的映射段来从包括在第一存储块中的页面检测有效页面。
控制器可以将存储在第一存储块的有效页面中的有效数据复制并存储到包括在目标存储块中的页面中。
第一存储块可以被包括在以下至少一个组中:属于包括在存储器装置中的多个存储器管芯中的第一存储器管芯和第二存储器管芯的存储块的存储块组、属于包括在第一存储器管芯中的多个平面中的第一平面和第二平面的存储块的存储块组、以及仅包括在第一平面中的存储块组。
控制器可以将存储块组的映射数据的信息登记在针对每个存储块组的数据表中。
控制器可以从用于存储块的有效页面位图检测包括在存储块中的每一个存储块中的有效页面计数(VPC),并且基于存储块中的每一个存储块的VPC选择源存储块。
根据本发明的另一实施例,一种存储器系统的操作方法,方法包括:从主机接收针对包括存储数据的多个页面以及包含页面的多个存储块的存储器装置的多个命令;对存储块执行命令操作;根据执行的命令操作来更新存储块的映射数据;以及将关于映射数据的信息登记在存储块中的每一个存储块的数据表中。
方法可以进一步包括:检查存储块的映射数据和数据表中登记的信息,并且选择存储器装置的存储块中的源存储块;以及将存储在源存储块中的有效数据复制并存储到存储器装置的存储块中的目标存储块中。
检查存储块的映射数据和数据表中登记的信息以及选择存储器装置的存储块中的源存储块可以包括:基于登记在数据表中的信息来计算存储块的映射数据的加载时间和扫描时间;以及选择具有最少加载时间和最少扫描时间的第一存储块作为存储器装置的存储块中的源存储块。
在存储块中的每一个存储块的数据表中登记关于映射数据的信息时,包括在存储块中的每一个存储块中的映射数据中的映射段的数量、映射段的映射段列表、以及包括在映射段中的每一个映射段中有效地址的数量可以被登记在针对存储块中的每一个存储块的数据表中。
在基于登记在数据表中的信息计算存储块的映射数据的加载时间和扫描时间时,基于包括在存储块中的每一个存储块中的映射数据中的映射段的数量、映射段的映射段列表以及包括在映射段中的每一个映射段中的有效地址的数量来计算加载时间和扫描时间,并且其中第一存储块的映射数据、映射段和有效地址可以具有最小大小,并且第一存储块可以具有最大局部性分布或连续性/序列分布的有效地址分布。
将存储在源存储块中的有效数据复制并存储到存储器装置的存储块中的目标存储块中可以进一步包括:将第一存储块的映射数据加载到包括在控制器中的存储器中;以及通过扫描包括在第一存储块的映射数据中的映射段来从包括在第一存储块中的页面检测有效页面。
在将存储在源存储块中的有效数据复制并存储到存储器装置的存储块中的目标存储块中时,存储在第一存储块的有效页面中的有效数据可以被复制并存储到包括在目标存储块中的页面中。
第一存储块可以被包括在以下至少一个组中:属于包括在存储器装置中的多个存储器管芯中的第一存储器管芯和第二存储器管芯的存储块的存储块组、属于包括在第一存储器管芯中的多个平面中的第一平面和第二平面的存储块的存储块组、以及仅包括在第一平面中的存储块组。
针对存储块中的每一个在数据表中登记关于映射数据的信息可以进一步包括:将存储块组的映射数据的信息登记在针对每个存储块组的数据表中。
检查存储块的映射数据和数据表中登记的信息以及选择存储器装置的存储块中的源存储块可以进一步包括:从用于存储块的有效页面位图检测包括在存储块中的每一个存储块中的有效页面计数(VPC);以及基于存储块中的每一个存储块的VPC选择源存储块。
根据本发明的另一实施例,一种存储器系统,包括:多个存储块;以及控制器,其适于在存储块中选择具有相应映射数据的最少加载时间且所加载映射数据的最少扫描时间的源存储块,并且利用选择的源存储块来控制对存储块的垃圾收集操作,其中控制器基于映射数据的大小、包括在映射数据中的有效地址的数量以及有效地址的位置分布来确定最少加载时间和最少扫描时间。
附图说明
图1是示出包括根据本发明的实施例的存储器系统的数据处理系统的框图。
图2是示出在图1所示的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2的存储器装置的示例性三维(3D)结构的示意图。
图5至图8示出图1的存储器系统110的操作示例。
图9是示出图1的存储器系统的操作的流程图。
图10至图18是示意性示出图1的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到,本发明可以以不同的其它实施例、形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本发明将是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部分。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下所述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所所述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出包括根据本发明的实施例的存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机102可以是诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪的非便携式电子装置。
存储器系统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)和静态RAM(SRAM)的易失性存储器装置和诸如以下的非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。闪速存储器可以具有三维(3D)堆叠结构。
存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据,并且控制器130可以控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可以包括:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使当不供应电源,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯,每个存储器管芯包括多个平面,每个平面包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且页面中的每一个可包括联接到字线的多个存储器单元。
控制器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)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可以检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC单元138可以通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可以输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不能校正错误位,并且可以输出错误校正失败信号。
ECC单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的电路、模块、系统或装置中的所有。
PMU 140可提供和管理控制器130的电力。
NFC 142可以用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体是NAND闪速存储器时,NFC142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供给存储器装置150的数据。NFC 142可以用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可以支持控制器130和存储器装置150之间的数据传送。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统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之间传送数据的存储器接口的外部易失性存储器实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动固件来控制存储器系统110的全部操作。固件可以被称为闪存转换层(FTL)。
控制器130的处理器134可以包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可以对包括在存储器装置150中的多个存储块152至156中的且在编程操作期间由于NAND闪速存储器的特征而发生编程失败的坏块进行检查的坏块管理操作。管理单元可以将坏块的编程失败的数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可降低存储器装置150的使用效率和存储器系统110的可靠性。因此,坏块管理操作需要被更可靠性地执行。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可以包括多个存储块0至N-1,并且块0到N-1中的每一个可以包括例如2M个页面的多个页面,其数量可以根据电路设计而变化。包含在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)、存储4位数据的四层单元(QLC)、存储5位或更多位数据的多层(multiple level)单元等。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可以对应于存储器系统110的多个存储块152至156中的任意一个的存储块330可以包括联接到多个相应位线BL0至BLm-1的多个单元串340。每个列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以由能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后的单元串联接到最后的位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。应注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的绝缘层的电荷撷取闪速(CTF)存储器。
存储器装置150可以进一步包括电压供给单元310,其提供包括根据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。电压供给单元310的电压产生操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供给单元310可以选择存储器单元阵列的存储块(或扇区)中的一个存储块,选择所选择的存储块的字线中的一个字线,并且将字线电压提供给所选择的字线和未选择的字线。
存储器装置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,其每一个具有3D结构(或垂直结构)。
图5至图8示出存储器系统110的操作示例。
元数据可以对应于编程操作并且包括第一映射数据和第二映射数据,其中第一映射数据包含针对存储块中存储的数据的逻辑到物理(L2P)信息(在下文中被称为“逻辑信息”),第二映射数据包含针对存储块中存储的数据的物理到逻辑(P2L)信息(在下文中被称为“物理信息”)。此外,元数据可以包括:关于对应于从主机102接收的命令的命令数据的信息;关于对应于命令的命令操作的信息;关于对其执行命令操作的存储器装置150的存储块的信息;以及关于对应于命令操作的映射数据的信息。
参照图5,控制器130可以响应于多个命令来执行命令操作,例如,控制器130可以响应于多个写入命令来执行编程操作。在本文中,控制器130可以将用户数据编程并存储在存储块552至584中,并且控制器130还可以根据编程操作生成并更新用户数据的元数据,并将生成的且更新的元数据存储在存储块552至584中。
在本文中,控制器130可以生成并更新表示用户数据被存储在存储块中的页面中的信息。换言之,控制器130可以生成并更新第一映射数据的逻辑段,即L2P段,和第二映射数据的物理段,即P2L段。然后控制器130可以将生成的且更新的信息存储在包括在存储块552至584中的页面中。
例如,控制器130可以将用户数据高速缓存并缓冲在包括在存储器144中的第一缓冲器510中,换言之,控制器130可以将用户数据的数据段512存储在作为数据缓冲器/高速缓存器的第一缓冲器510中,然后将存储在第一缓冲器510中的数据段512存储在存储器装置150的存储块552至584中包括的页面中。
当对应于写入命令的用户数据的数据段512被编程并存储在存储块552至584中包括的页面中时,控制器130可以生成并更新第一映射数据和第二映射数据,并将生成且更新的第一映射数据和第二映射数据存储在包括在存储器144中的第二缓冲器520中。换言之,控制器130可以将针对用户数据的第一映射数据的L2P段522和针对用户数据的第二映射数据的P2L段524存储在作为映射缓冲器/高速缓存器的第二缓冲器520中。在本文中,如上所述,第一映射数据的L2P段522和第二映射数据的P2L段524或者用于第一映射数据的L2P段522的映射列表和用于第二映射数据的P2L段524的映射列表可以被存储在第二缓冲器520中。此外,控制器522可以将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在包括在存储块552至584中的页面中。
此外,控制器130可以响应于多个命令来执行命令操作,例如,响应于多个读取命令来执行读取操作。在本文中,控制器130可以将对应于读取命令的映射数据的映射段,例如第一映射数据的L2P段522和第二映射数据的P2L段524,加载到第二缓冲器520中,并在第二缓冲器520中对其进行检测,然后读取存储在存储块552至584中的相应存储块的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中,并将它们传送到主机102。
此外,控制器130可以响应于多个命令来执行命令操作,例如,响应于多个擦除命令来执行擦除操作。在本文中,控制器130可以响应于存储块552至584中的擦除命令来检测存储块,并且对检测到的存储块执行擦除操作。
当控制器130执行后台操作,例如,存储器装置150中包括的存储块中的复制数据或交换数据的操作,诸如垃圾收集操作或磨损均衡操作时,控制器130可以将相应用户数据的数据段512存储在第一缓冲器510中,并且还将对应于用户数据的映射数据的映射段522和524存储在第二缓冲器520中,并且执行垃圾收集操作或磨损均衡操作。
此外,参照图6,存储器装置150可以包括多个存储器管芯,并且每个存储器管芯可以包括多个平面。平面可以包括多个存储块。并且,存储器装置150可以包括分别对应于存储器管芯的多个缓冲器。
存储块可以被分组为多个超级存储块,并且可以以超级存储块执行命令操作。
当存储块包括无效页面时,可以对存储块执行垃圾收集操作以最大化使用效率。在本文中,控制器130可以检测存储块中的有效页面,然后基于存储块的参数,例如,有效页面计数(VPC)来执行垃圾收集操作,并生成空存储块、开放存储块或空闲存储块。
控制器130可以根据存储块的参数选择存储块中的源存储块,并且将存储在源存储块的有效页面中的有效数据复制并存储在目标存储块的页面中。在本文中,控制器130可以选择存储块中的空存储块、开放存储块或空闲存储块作为目标存储块。当对存储块执行垃圾收集操作时,控制器130然后可以从存储块读取针对存储块的映射段,然后执行将读取的映射段加载到存储器144中的操作以及扫描被加载到存储器144中的映射段的操作,即,扫描映射段的操作,并且对选择的源存储块执行复制操作和擦除操作以检测有效页面并选择存储块中的源存储块。
在本文中,当垃圾收集操作被执行时,控制器130可以检出存储块的处理时间,其为存储块的参数,并且根据处理时间选择存储块中的源存储块。这里,处理时间可以是对存储块执行的垃圾收集操作所花费的操作时间。
处理时间可以包括执行加载针对存储块的映射段的操作所花费的加载时间、执行扫描所加载的映射段的操作所花费的扫描时间、执行对存储块的复制操作所花费的复制时间,以及执行擦除操作所花费的擦除时间。可以基于针对每个存储块的映射段的数量、每个映射段中包括的有效地址的数量,例如L2P段的数量、每个L2P段中包括的有效物理地址的数量、P2L段的数量、每个P2L段中包括的有效逻辑地址的数量,例如逻辑块地址(LBA)的数量来决定加载时间和扫描时间。在本文中,有效地址可以是包含在每个存储块中的有效页面的地址或存储在有效页面中的有效数据的地址。此外,可以基于包括在每个存储块中的有效页面的数量,换言之,有效数据的大小来确定复制时间。
简而言之,当在存储器系统110中执行垃圾收集操作时,控制器130可以检查每个存储块的处理时间,处理时间受到每个存储块中的有效数据的大小的影响,例如,有效页面的数量和映射数据的大小,例如,映射段的数量和每个映射段中包括的有效地址的数量。根据每个存储块的参数(即,处理时间),控制器130可以选择存储块中的源存储块,将源存储块的有效数据复制并存储到目标存储块中,然后对源存储块执行擦除操作。
参考图7,控制器130可以将对应于多个写入命令的用户数据写入并存储到诸如存储块710至750的存储块中包括的页面中。
当控制器130对存储块执行垃圾收集操作时,控制器130可以不仅根据包括在存储块中的有效页面的数量,例如,存储块的VPC的数量,而且根据执行将每个存储块的映射数据加载到存储器144中的加载操作所花费的加载时间和执行扫描被加载到存储器144中的映射数据的扫描操作所花费的扫描时间来选择存储块中的源存储块,并且将存储在源存储块的有效页面中的有效数据复制并存储到目标存储块的页面中。
在本文中,针对存储块的映射数据的加载时间和扫描时间可能受到针对每个存储块的映射段的数量、每个映射段中包括的有效地址的数量,例如L2P段的数量、每个L2P段中包括的有效物理地址的数量、P2L段的数量、每个P2L段中包括的有效逻辑地址的数量,例如逻辑块地址(LBA)的数量来决定加载时间和扫描时间的影响。在本文中,有效地址可以是先前描述的包含在每个存储块中的有效页面的地址或存储在有效页面中的有效数据的地址。
通过生成对应于每个存储块的有效页面的有效页面位图并且在数据表700中登记关于存储块的映射数据的信息,基于数据表700,不仅根据通过有效页面位图的每个存储块的VPC,而且根据针对存储块的映射数据的加载时间和扫描时间,控制器130可以从存储块选择最佳源存储块。
特别地,当针对存储块的映射数据被更新时,控制器130可以将关于映射数据的信息登记在数据表700中。在本文中,控制器130可以将针对每个存储块的映射段的数量704、映射段列表706以及包括在每个映射段中的地址的数量708登记在用于指示存储块的索引702中的每一个的数据表700中。控制器130可以基于在数据表700中登记的每个存储块的映射段的数量704、映射段列表706以及包括在每个映射段中的地址的数量708来检出针对每个存储块的加载时间和映射段的扫描时间,并且然后根据映射数据的加载时间和扫描时间,选择最佳源存储块,并且以低成本快速和高效地执行垃圾收集操作。
控制器130可以将关于诸如存储块710至750的存储块的映射数据的信息登记在数据表700中。在本文中,数据表700可以被存储在第二缓冲器520中。
例如,当存储块720和735的映射数据被更新时,控制器130可以对针对存储块720和735的映射数据的映射段的数量进行计数,然后对于将表示针对存储块720和735的映射数据的映射段的数量是M12和M15的数据登记在用于存储块720和735的索引702的数据表700的映射段的数量704中。
例如,例如,当存储块720和735的映射数据被更新时,控制器130可以根据存储块710和735的索引702将对应于在数据表700的映射段的数量704中登记的存储块720和735的映射段的数量(即M12和M15)的映射段列表L12和映射段列表L15登记在映射段列表706中。
此外,数据表700中的地址的数量708可以表示根据存储块710至750的索引702分别包括在存储块710至750的映射数据的映射段中的地址的数量。在本文中,如前所述,在执行针对存储块710至750的映射数据的更新操作的同时,控制器130可以将包括在对应于存储块710至750的映射数据的映射段(例如,第一映射数据的L2P段和第二映射数据的P2L段)中的地址的数量,登记在数据表700的地址的数量708中。特别地,控制器130可以对包括在存储块710至750的映射数据的映射段中的有效地址的数量,即,对包括在L2P段中的有效物理地址的数量和包含在P2L段中的有效逻辑地址的数量进行计数,并且将表示针对存储块710至750的映射数据的映射段的有效地址的计数数量的信息登记在数据表700的地址的数量708中。例如,当存储块720和735的映射数据被更新时,控制器130可以对存储块720和735的映射数据的映射段中包括的有效地址的数量进行计数,并且根据存储块720和735的索引702将表示针对存储块720和735的映射数据的映射段的有效地址的计数数量是A12和A15的信息登记在数据表700的地址的数量708中。
当控制器130对包括在存储器装置150中的存储块执行垃圾收集操作时,控制器130可以基于上述的其中登记存储块的映射数据的信息的数据表700,不仅根据通过有效页面位图的每个存储块的VPC,而且根据存储块的映射数据的加载时间和扫描时间来从存储块选择源存储块。
特别地,控制器130可以基于来自数据表700的针对每个存储块的映射段和映射段列表706的数量704检查针对每个存储块的映射数据的加载时间,并且还基于来自数据表700的针对每个存储块的地址段的数量704、映射段列表706和地址的数量708检出每个存储块的映射数据的扫描时间。
此外,根据每个存储块的映射数据的加载时间和扫描时间,控制器130可以选择存储块中的源存储块。在本文中,控制器130可以选择具有最少加载时间和最少扫描时间的一个或多个存储块作为存储块中的最佳源存储块或者选择具有最少加载时间和最少扫描时间的一个或多个超级存储块作为超级存储块中的最佳源存储块。为了便于描述,在本发明的该实施例中,具有最少加载时间和最少扫描时间的一个存储块,例如,存储块735,被选择为存储块中的最佳源存储块的情况可以作为示例并且通过参照图8来描述。
参照图8,控制器130可以从数据表700的映射段的数量704、映射段列表706和地址的数量708中检出映射数据或映射段的大小以及包括在映射数据或映射段中的有效地址的大小和分布。控制器130可以选择具有最小大小的映射数据或映射段、最小大小的有效地址以及最大局部性分布或连续性/序列分布的有效地址的存储块735作为最佳源存储块。在本文中,如上所述,从数据表700的针对存储块735的映射数据的映射段的数量704、映射段列表706和地址的数量708中可以看出,被选择为最佳源存储块的存储块735可以具有最小大小的映射数据或映射段、最小大小的有效地址以及最大局部性分布或连续性/序列分布的有效地址,存储块735成为包括在存储器装置150中的存储块中具有最少加载时间和扫描时间的存储块。因此,存储块735成为最佳源存储块。
此外,控制器130可以将针对被选择为源存储块的存储块735的映射数据,例如,第一映射数据820和第二映射数据810加载在存储器144中包括的第二缓冲器520中,。简而言之,控制器130可以执行对存储块735的映射数据的加载操作。并且,控制器130可以扫描加载在第二缓冲器520中的第一映射数据820和第二映射数据810之间的映射数据。简而言之,控制器130可以执行对存储块735的映射数据的扫描操作。
在本文中,控制器130可将针对存储块735的第一映射数据820的L2P段822至828和第二映射数据810的P2L段812至816加载在第二缓冲器520中,并且通过扫描包括在第一映射数据820的L2P段822到828中的物理地址和包括在第二映射数据810的P2L段812到816中的逻辑地址,例如逻辑块地址(LBA)来检测包括在存储块735中的有效页面。
具体而言,控制器130可以通过将加载在第二缓冲器520中的L2P段822至828的有效物理地址与同样加载在第二缓冲器520中的P2L段812至816的有效逻辑地址进行比较来检测包括在存储块735中的有效页面。
此外,控制器130可以将存储在存储块735的有效页面中的有效数据复制并存储在包括在诸如存储块760的目标存储块中的页面中,换言之,控制器130可以对存储块735的有效数据执行复制操作,然后对其有效数据被复制的存储块735执行擦除操作。
图9是示出存储器系统110的操作的流程图。
参照图9,在步骤S910中,存储器系统110可以响应于多个命令来执行命令操作。例如,存储器系统110可以响应于多个写入命令而执行编程操作。
在步骤S920中,可以根据命令操作的执行更新存储块的映射数据。在本文中,当更新映射数据时,可以在数据表700中登记关于存储块的映射数据的信息,例如每个存储块的映射段的数量、映射段的列表以及每个映射段中包括的地址的数量。
在步骤S930中,检查针对存储块的数据表和映射数据,并且可以在存储块中选择源存储块。
在步骤S940中,可以将存储在源存储块中的有效数据复制并存储到目标存储块中,然后可以对源存储块执行擦除操作。简而言之,可以对存储块执行垃圾收集操作。
在本文中,由于以上参照图5至图8详细描述通过使用数据表700快速地以低成本在存储块中选择最佳源存储块并且然后复制并存储源存储块中存储的有效数据的进程,因此本文将不提供对它们的进一步描述。在下文中,将参照图10至图18详细描述应用了包括根据本发明的实施例以上通过参照图1至图9描述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子装置。
图10是示意性地示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图9示意性地示出应用了根据本实施例的存储器系统的存储卡系统。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可连接到通过易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口和/或驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1所述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1所述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI和蓝牙。因此,根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可由易失性存储器来实施。例如,存储器装置6130可由诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、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)。
图11是示意性地示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可用作如参照图1所述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM6222可用于缓冲从主机6210传输至存储器装置6230的数据或从存储器装置6230传输至主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的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接收数据,并且通过NVM接口6225将数据传输到存储器装置6230/从存储器装置6230接收数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可具有诸如WiFi或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可连接到例如主机6210或另一外部装置的外部装置,并且然后将数据传输到外部装置/从外部装置接收数据。特别地,由于存储器控制器6220被配置成通过各种通信协议的一种或多种与外部装置进行通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性地示出包括根据本实施例的存储器系统的数据处理系统的示例的示图。图12示意性地示出应用了根据本实施例的存储器系统的SSD。
参照图12,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提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由易失性存储器或非易失性存储器来实现,其中易失性存储器诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM,非易失性存储器诸如FRAM、ReRAM、STT-MRAM和PRAM。为了便于描述,图8示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340中的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与外部装置例如主机6310的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。此时,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的读取命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图13是示意性说明包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图13示意性说明包括存储器系统110的嵌入式多媒体卡(eMMC)。
参照图13,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)接口。
图14至图17是示意性示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图14至图17示意性示出应用根据实施例的存储器系统的UFS(通用闪存)系统。
参照图14至图17,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可参照图10至图12所述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可参照图6所述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过例如移动工业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)的UFS接口彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过UFS协议以外的各种协议彼此通信,例如,UFD、MMC、SD、迷你-SD和微型-SD。
在图14所示的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卡可并联或以星形的形式连接至主机6510,并且多个UFS卡可并联或以星形的形式连接至UFS装置6520,或者串联或以链的形式连接至UFS装置6520。
在图15所示的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。
在图16所示的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。
在图17所示的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。
图18是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图18是示意性示出包括存储器系统110的用户系统的示图。
参照图18,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如OS的部件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或缓存存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可基于POP(堆叠封装)的被封装并安装。
网络模块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处理的数据或支持从触摸面板接收数据的功能。
根据本发明的实施例,存储器系统和存储器系统的操作方法可能能够使存储器系统的复杂性和性能恶化最小化、使存储器装置的使用效率最大化并且将数据快速且稳定地处理到存储器装置中。
虽然已经关于具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (14)
1.一种存储器系统,其包括:
存储器装置,其适于包括存储数据的多个页面以及包含所述页面的多个存储块;以及
控制器,其适于从主机接收多个命令,响应于所述命令在所述存储块中执行命令操作,根据正在执行的所述命令操作来更新所述存储块的映射数据,并且将关于所述映射数据的信息登记在针对所述存储块中每一个存储块的数据表中,
其中所述控制器检出所述存储块的映射数据和所述数据表中登记的所述信息,选择所述存储器装置的所述存储块中的源存储块,并且将存储在所述源存储块中的有效数据复制并存储到所述存储器装置的所述存储块中的目标存储块中,
其中所述控制器基于登记在所述数据表中的所述信息来计算所述存储块的所述映射数据的加载时间和扫描时间,并且选择具有最少加载时间和最少扫描时间的第一存储块作为所述存储器装置的所述存储块中的所述源存储块,
其中所述控制器将所述存储块中的每一个存储块中的所述映射数据中包括的映射段的数量、所述映射段的映射段列表、以及包括在所述映射段中的每一个存储块中的有效地址的数量登记在针对所述存储块中的每一个存储块的所述数据表中,
其中所述控制器基于所述存储块中的每一个存储块中的所述映射数据中包括的所述映射段的数量、所述映射段的所述映射段列表以及包括在所述映射段中的每一个映射段中的所述有效地址的数量来计算所述加载时间和所述扫描时间。
2.根据权利要求1所述的存储器系统,
其中所述第一存储块的所述映射数据、所述映射段和所述有效地址可以具有最小大小,并且所述第一存储块可以具有最大局部性分布或连续性/序列分布的有效地址分布。
3.根据权利要求1所述的存储器系统,其中控制器将所述第一存储块的所述映射数据加载到包括在所述控制器中的存储器中,并且通过扫描包括在所述第一存储块的所述映射数据中的映射段来从包括在所述第一存储块中的页面检测有效页面。
4.根据权利要求3所述的存储器系统,其中所述控制器将存储在所述第一存储块的所述有效页面中的所述有效数据复制并存储到包括在所述目标存储块中的页面中。
5.根据权利要求1所述的存储器系统,其中所述第一存储块被包括在以下的至少一个组中:属于包括在所述存储器装置中的多个存储器管芯中的第一存储器管芯和第二存储器管芯的存储块的存储块组、属于包括在所述第一存储器管芯中的多个平面中的第一平面和第二平面的存储块的存储块组、以及仅包括在所述第一平面中的存储块组。
6.根据权利要求5所述的存储器系统,其中所述控制器将所述存储块组的映射数据的信息登记在针对每个存储块组的所述数据表中。
7.根据权利要求1所述的存储器系统,其中所述控制器从用于所述存储块的有效页面位图检测包括在所述存储块中的每一个存储块中的有效页面计数,即VPC,并且基于所述存储块中的每一个存储块的所述VPC选择所述源存储块。
8.一种存储器系统的操作方法,所述方法包括:
从主机接收针对包括存储数据的多个页面以及包含所述页面的多个存储块的存储器装置的多个命令;
对所述存储块执行命令操作;
根据所述执行的命令操作来更新所述存储块的映射数据;以及
将关于所述映射数据的信息登记在所述存储块中的每一个存储块的数据表中,
所述方法进一步包括:
检查所述存储块的所述映射数据和所述数据表中登记的所述信息,并且选择所述存储器装置的所述存储块中的源存储块;以及
将存储在所述源存储块中的有效数据复制并存储到所述存储器装置的所述存储块中的目标存储块中,
其中检查所述存储块的所述映射数据和所述数据表中登记的信息,并且选择所述存储器装置的存储块中的所述源存储块包括:
基于登记在所述数据表中的所述信息来计算所述存储块的所述映射数据的加载时间和扫描时间;以及
选择具有最少加载时间和最少扫描时间的第一存储块作为所述存储器装置的所述存储块中的所述源存储块,
其中在所述存储块中的每一个存储块的所述数据表中登记关于所述映射数据的所述信息时,将所述存储块中的每一个存储块中的所述映射数据中包括的映射段的数量、映射段的映射段列表、以及映射段中的每一个映射段中包括的有效地址的数量登记在针对所述存储块中的每一个存储块的所述数据表中,
其中在基于登记在所述数据表中的信息计算所述存储块的所述映射数据的加载时间和扫描时间时,基于所述存储块中的每一个存储块中的所述映射数据中包括的所述映射段的数量、所述映射段的映射段列表以及所述映射段中的每一个映射段中包括的所述有效地址的数量来计算加载时间和扫描时间。
9.根据权利要求8所述的方法,
其中所述第一存储块的映射数据、映射段和有效地址可以具有最小大小,并且所述第一存储块可以具有最大局部性分布或连续性/序列分布的有效地址分布。
10.根据权利要求8所述的方法,将存储在所述源存储块中的所述有效数据复制并存储到所述存储器装置的所述存储块中的所述目标存储块中进一步包括:
将所述第一存储块的映射数据加载到包括在所述存储器系统的控制器中的存储器中;以及
通过扫描包括在所述第一存储块的所述映射数据中的所述映射段来从包括在所述第一存储块中的页面检测有效页面。
11.根据权利要求10所述的方法,其中在将存储在所述源存储块中的所述有效数据复制并存储到所述存储器装置的所述存储块中的所述目标存储块中时,存储在所述第一存储块的所述有效页面中的有效数据被复制并存储到包括在所述目标存储块中的页面中。
12.根据权利要求8所述的方法,其中所述第一存储块被包括在以下至少一个组中:属于包括在所述存储器装置中的多个存储器管芯中的第一存储器管芯和第二存储器管芯的存储块的存储块组、属于包括在所述第一存储器管芯中的多个平面中的第一平面和第二平面的存储块的存储块组、以及仅包括在所述第一平面中的存储块组,以及
其中检查所述存储块的所述映射数据和所述数据表中登记的所述信息并且选择所述存储器装置的所述存储块中的所述源存储块进一步包括:
从用于所述存储块的有效页面位图检测包括在所述存储块中的每一个存储块中的有效页面计数,即VPC;以及
基于所述存储块中的每一个存储块的所述VPC选择所述源存储块。
13.根据权利要求12所述的方法,其中将关于所述映射数据的信息登记在针对所述存储块中的每一个存储块的所述数据表进一步包括将所述存储块组的映射数据的信息登记在针对所述每个存储块组的所述数据表中。
14.一种存储器系统,其包括:
多个存储块;以及
控制器,其适于在所述存储块中选择具有相应映射数据的最少加载时间且所加载的映射数据的最少扫描时间的源存储块,并且利用所选择的源存储块来控制对所述存储块的垃圾收集操作,
其中所述控制器基于映射数据的大小、包括在所述映射数据中的有效地址的数量以及所述有效地址的位置分布来确定所述最少加载时间和所述最少扫描时间,
其中所述控制器检出所述存储块的映射数据和数据表中登记的信息,选择存储器装置的存储块中的源存储块,并且将存储在所述源存储块中的有效数据复制并存储到所述存储器装置的存储块中的目标存储块中,
其中所述控制器基于登记在所述数据表中的信息来计算所述存储块的映射数据的加载时间和扫描时间,并且选择具有最少加载时间和最少扫描时间的第一存储块作为所述存储器装置的存储块中的所述源存储块,
其中所述控制器将所述存储块中的每一个存储块中的所述映射数据中包括的映射段的数量、所述映射段的映射段列表、以及包括在所述映射段中的每一个存储块中的有效地址的数量登记在针对所述存储块中的每一个存储块的所述数据表中,
其中所述控制器基于所述存储块中的每一个存储块中的所述映射数据中包括的所述映射段的数量、所述映射段的映射段列表以及包括在所述映射段中的每一个映射段中的所述有效地址的数量来计算所述加载时间和所述扫描时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170072951A KR20180135188A (ko) | 2017-06-12 | 2017-06-12 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2017-0072951 | 2017-06-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032501A CN109032501A (zh) | 2018-12-18 |
CN109032501B true CN109032501B (zh) | 2021-09-17 |
Family
ID=64562208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810600572.1A Active CN109032501B (zh) | 2017-06-12 | 2018-06-12 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10635582B2 (zh) |
KR (1) | KR20180135188A (zh) |
CN (1) | CN109032501B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190017550A (ko) * | 2017-08-11 | 2019-02-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
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 |
KR102708925B1 (ko) * | 2019-01-11 | 2024-09-25 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 유효 데이터 체크 방법 및 장치 |
CN111610930B (zh) * | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI706250B (zh) * | 2019-02-26 | 2020-10-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
KR20210011176A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 액세스 동작 방법 및 장치 |
US11237953B2 (en) * | 2019-05-21 | 2022-02-01 | Micron Technology, Inc. | Host device physical address encoding |
TWI724550B (zh) * | 2019-09-19 | 2021-04-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
CN113495871B (zh) * | 2020-04-04 | 2023-06-23 | 厦门网宿有限公司 | 一种基于LSM-Tree存储引擎的文件管理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856475B1 (en) * | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
WO2015114754A1 (ja) * | 2014-01-29 | 2015-08-06 | 株式会社日立製作所 | ストレージ装置 |
CN106775443A (zh) * | 2015-11-23 | 2017-05-31 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN106802770A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN106802769A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626986B2 (en) | 2010-06-30 | 2014-01-07 | Sandisk Technologies Inc. | Pre-emptive garbage collection of memory blocks |
KR101278591B1 (ko) | 2011-05-30 | 2013-06-25 | 성균관대학교산학협력단 | 플래시 메모리 시스템 및 그 동작 방법 |
KR102094902B1 (ko) * | 2013-07-08 | 2020-03-30 | 삼성전자주식회사 | 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템 |
KR102254392B1 (ko) * | 2014-05-12 | 2021-05-25 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 |
KR102292198B1 (ko) | 2014-10-15 | 2021-08-25 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 |
KR101604949B1 (ko) | 2015-03-06 | 2016-03-18 | 한양대학교 산학협력단 | 메모리 제어 방법 및 메모리 제어 장치 |
KR102501751B1 (ko) * | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
US10380028B2 (en) * | 2016-12-30 | 2019-08-13 | Western Digital Technologies, Inc. | Recovery of validity data for a data storage system |
US10268387B2 (en) * | 2017-01-04 | 2019-04-23 | Sandisk Technologies Llc | Meta-groups in non-volatile storage based on performance times |
-
2017
- 2017-06-12 KR KR1020170072951A patent/KR20180135188A/ko unknown
-
2018
- 2018-01-05 US US15/862,859 patent/US10635582B2/en active Active
- 2018-06-12 CN CN201810600572.1A patent/CN109032501B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856475B1 (en) * | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
WO2015114754A1 (ja) * | 2014-01-29 | 2015-08-06 | 株式会社日立製作所 | ストレージ装置 |
CN106775443A (zh) * | 2015-11-23 | 2017-05-31 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN106802770A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN106802769A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109032501A (zh) | 2018-12-18 |
US10635582B2 (en) | 2020-04-28 |
KR20180135188A (ko) | 2018-12-20 |
US20180357157A1 (en) | 2018-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121669B (zh) | 存储器系统及其操作方法 | |
CN108304141B (zh) | 存储器系统及其操作方法 | |
CN107797882B (zh) | 存储器系统及其操作方法 | |
CN109144408B (zh) | 存储器系统及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN109388594B (zh) | 存储器系统及其操作方法 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN107346213B (zh) | 存储器系统及其操作方法 | |
CN109656837B (zh) | 存储器系统及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
US20180074718A1 (en) | Memory system and method for operating the same | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN108932203B (zh) | 数据处理系统和数据处理方法 | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
CN107807887B (zh) | 存储器系统及其操作方法 | |
CN108733616B (zh) | 包括多处理器的控制器及其操作方法 | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN110570894A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
CN109147853B (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 |