CN110908594B - 存储器***的操作方法和存储器*** - Google Patents
存储器***的操作方法和存储器*** Download PDFInfo
- Publication number
- CN110908594B CN110908594B CN201811636994.0A CN201811636994A CN110908594B CN 110908594 B CN110908594 B CN 110908594B CN 201811636994 A CN201811636994 A CN 201811636994A CN 110908594 B CN110908594 B CN 110908594B
- Authority
- CN
- China
- Prior art keywords
- logical address
- valid data
- block
- target
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/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/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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储器***的操作方法,该存储器***包括多个逻辑地址组,每个逻辑地址组具有预设逻辑地址范围。该操作方法可包括:选择牺牲块;在空块之中选择多个目标块;将逻辑地址组中的至少一个逻辑地址组映射到目标块中的每一个;在逻辑地址组之中确定包括存储在牺牲块中的第一有效数据的逻辑地址的第一逻辑地址组;并且将第一有效数据备份到目标块之中映射到第一逻辑地址组的第一目标块中。
Description
相关申请的交叉引用
本申请要求于2018年9月18日向韩国知识产权局提交的申请号为10-2018-0111661的韩国申请的优先权,其通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器***。特别地,实施例涉及一种包括非易失性存储器装置的存储器***。
背景技术
存储器***可被配置成响应于外部装置的写入请求,存储从外部装置提供的数据。而且,存储器***可被配置成响应于外部装置的读取请求,将存储在该存储器***中的数据提供至外部装置。外部装置可包括作为能够处理数据的电子装置的计算机、数码相机、移动电话等。存储器***可被嵌入在外部装置中或被单独制造并且连接至外部装置。
由于使用存储器装置的存储器***没有机械驱动器,因此存储器***具有优异的稳定性和耐用性,表现出高的信息访问速度,并且具有低功耗。具有这些优点的存储器***的示例可包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态硬盘(SSD)。
发明内容
在实施例中,提供一种存储器***的操作方法,该存储器***包括多个逻辑地址组,每个逻辑地址组具有预设逻辑地址范围。该操作方法可包括:选择牺牲块;在空块之中选择多个目标块;将逻辑地址组中的至少一个逻辑地址组映射到目标块中的每一个;在逻辑地址组之中确定包括存储在牺牲块中的第一有效数据的逻辑地址的第一逻辑地址组;并且将第一有效数据备份到目标块之中映射到第一逻辑地址组的第一目标块中。
在实施例中,提供一种存储器***的操作方法,该存储器***包括多个逻辑地址组,每个逻辑地址组具有预设逻辑地址范围。该操作方法可包括:选择牺牲块;在空块之中选择存储在牺牲块中的有效数据待被备份到的目标块;判定逻辑地址组的备份顺序,备份顺序指示与各逻辑地址组对应的有效数据被备份到目标块中的顺序;并且基于备份顺序将从有效数据中选择的有效数据备份到目标块中。
在实施例中,提供一种存储器***。该存储器***可包括:多个非易失性存储器装置,每个非易失性存储器装置包括由多个逻辑地址组表示的多个存储块,每个逻辑地址组具有预设逻辑地址范围;以及控制器,被配置成跨非易失性存储器装置将存储块分组为多个超级块,在超级块之中选择牺牲超级块,并且控制对牺牲超级块的内部备份操作,其中控制器进一步在逻辑地址组之中确定包括存储在牺牲超级块中的有效数据的逻辑地址的逻辑地址组,并且将有效数据备份到映射到所确定的逻辑地址组的位置。
在实施例中,提供一种存储器***。该存储器***可包括:存储器装置,包括一个或多个目标块以及一个或多个牺牲块,每个牺牲块对应于一个或多个逻辑地址组;以及控制器,被配置成控制存储器装置以将存储在与逻辑地址组之中的一个对应的牺牲块中的有效数据收集到目标块之中的一个中。
附图说明
图1是示出根据实施例的存储器***的配置的框图。
图2是描述图1的随机存取存储器(RAM)中驱动的软件的示图。
图3A是描述分别包括在逻辑地址组(LAG)中的逻辑地址(LA)范围的示图。
图3B是描述存储在映射表中的信息的示图。
图4是描述由图2的垃圾收集模块执行的垃圾收集操作的示图。
图5示出存储与多个逻辑地址组对应的有效数据的牺牲块。
图6是描述根据实施例的存储在图5的牺牲块中的有效数据被备份到两个目标块中的情况的示图。
图7是描述图6的实施例的流程图。
图8是描述根据实施例的存储在图5的牺牲块中的有效数据被备份到一个目标块中的情况的示图。
图9是描述图8的实施例的流程图。
图10是示出根据实施例的控制器的配置的框图。
图11是示出包括根据实施例的固态硬盘(SSD)的数据处理***的示图。
图12是示出包括根据实施例的存储器***的数据处理***的示图。
图13是示出包括根据实施例的存储器***的数据处理***的示图。
图14是示出包括根据实施例的存储器***的网络***的示图。
图15是示出包括在根据实施例的存储器***中的非易失性存储器装置的框图。
具体实施方式
将参照附图通过以下实施例描述本公开的优点和特征以及用于实现该优点和特征的方法。然而,本公开不限于本文描述的实施例,而是可以不同方式实施。提供本实施例仅是为了详细描述本公开,使得本公开所属领域的技术人员可容易地实现本公开的技术理念。
注意的是,对“实施例”等的参考不一定仅指一个实施例,并且对“实施例”的不同参考不一定针对相同实施例。
本实施例不限于附图中所示的特定形状,而是为了清楚起见,可能被夸大。在本说明书中,使用特定术语。然而,术语仅用于描述本公开,而不限制权利要求中描述的本公开的范围。
在本说明书中,诸如“和/或”的表达可指包括在表达之前/之后列出的一种或多种组件。此外,诸如“连接/联接”的表达可指一个元件直接连接/联接至另一元件或者通过又一元件间接连接/联接至另一元件。除非上下文另有提及,否则单数形式的术语可包括复数形式。此外,“包括”和“包含”或“包括有”和“包含有”的含义可指定组件、步骤、操作和元件,但不排除一个或多个其它组件、步骤、操作和元件的存在或添加。
在下文中,将参照附图详细描述示例性实施例。
图1是示出根据实施例的存储器***10的配置的框图。
存储器***10可存储由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV或车载信息娱乐***的主机装置访问的数据。
根据指示与主机装置的传送协议的主机接口,存储器***10可被制造为各种类型的存储装置中的任意一种。例如,存储器***10可被配置为包括下列的各种类型的存储装置中的任意一种:诸如SSD、MMC、eMMC、RS-MMC或微型MMC的多媒体卡,诸如SD、迷你SD或微型SD的安全数字卡,通用存储总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡式存储装置,***组件互连(PCI)卡式存储装置,高速PCI(PCI-E)卡式存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储器***10可被制造为各种类型的封装中的任意一种。例如,存储器***10可被制造为诸如下列的各种类型的封装中的任意一种:堆叠式封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)封装、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器***10可包括控制器100和非易失性存储器装置200。控制器100可包括控制组件110和随机存取存储器(RAM)120。
控制组件110可包括微控制单元(MCU)和中央处理单元(CPU)。控制组件110可处理从主机装置传送的请求。为了处理该请求,控制组件110可驱动加载至RAM 120的基于代码的指令或算法,即固件FW,并且控制内部功能块和非易失性存储器装置200。
RAM 120可被配置为动态RAM(DRAM)或静态RAM(SRAM)。RAM 120可存储由控制组件110驱动的固件FW。此外,RAM 120可存储驱动固件FW所需的数据,例如元数据。也就是说,RAM 120可作为控制组件110的工作存储器操作。
通过示例而非限制的方式,非易失性存储器装置200可被配置为包括以下的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电RAM(FRAM)、使用隧道磁阻(TMR)膜的磁性RAM(MRAM)、使用硫族化物合金的相变RAM(PCRAM)以及使用过渡金属氧化物的电阻式RAM(RERAM)。
非易失性存储器装置200可包括诸如图15的存储器单元阵列210的存储器单元阵列。从操作的角度或者物理或结构的角度来看,包括在存储器单元阵列中的存储器单元可基于分层存储器单元组或存储器单元配置。例如,联接至相同字线并且同时读取/写入或编程的存储器单元可被配置成页面。在下文中,为了便于描述,配置成页面的存储器单元将被称为“页面”。此外,同时删除的存储器单元可被配置成存储块。存储器单元阵列可包括多个存储块,并且存储块中的每一个可包括多个页面。本说明书基于存储块Blk0至Blkn中的每一个包括四个页面作为示例的假设。
控制器100可控制非易失性存储器装置200执行与主机装置的请求对应的操作。具体地,控制器100可生成与请求对应的命令,将生成的命令传送至非易失性存储器装置200,并且控制非易失性存储器装置200执行相应操作。与请求对应的操作可包括数据写入操作、数据读取操作等。
在实施例中,多个主机装置20_0至20_m可共用存储器***10。根据主机装置20_0至20_m的工作负载的特性,主机装置20_0至20_m可在物理上或逻辑上彼此分离。多个主机装置20_0至20_m可具有不同特性的工作负载。可针对各主机装置20_0至20_m在逻辑上划分存储器***10内的存储空间。
例如,响应于从主机装置20_0输出的请求而被存储在非易失性存储器装置200中的大多数数据可对应于读取请求,而响应于从主机装置20_1输出的请求而被存储在非易失性存储器装置200中的大多数数据可对应于写入请求。在这种情况下,可更频繁地更新与主机装置20_1对应的数据。当具有不同工作负载特性的多个主机装置20_0至20_m使用一个存储器***10时,需要单独管理存储在存储器***10中的数据或存储数据的存储块。
图2是描述图1的随机存取存储器(RAM)中驱动的软件的示图。参照图1和图2,将描述驱动闪存转换层(FTL)的示例。
如上所述,控制组件110可以块为基础控制对存储块的擦除操作,并且以页面为基础控制对页面的读取操作或编程操作。由于非易失性存储器装置200不能重写数据,因此控制组件110可优先执行擦除操作以将新数据存储在已存储数据的存储器单元中。
控制组件110可驱动被称为FTL的固件或软件,以便控制非易失性存储器装置200的这种独特操作并且提供与主机装置20的装置兼容性。当FTL被驱动时,数据存储装置可被主机装置20识别为诸如硬盘的通用数据存储装置。
加载至RAM 120的FTL可包括用于执行各种功能的模块以及驱动模块所需的元数据。例如,参照图2,FTL可包括地址映射表MPT、垃圾收集模块GCM、磨损均衡模块(未示出)、坏块管理模块(未示出)等。
当主机装置20访问数据存储装置时(例如,当主机装置20请求读取操作或写入操作时),主机装置20可将逻辑地址提供至数据存储装置。FTL可将提供的逻辑地址转换为非易失性存储器装置200的物理地址,并通过参考转换的物理地址来执行所请求的操作。对于这种地址转换操作,地址转换数据,即地址映射表MPT可包括在FTL中。
垃圾收集模块GCM可管理存储碎片化的数据的存储块。如上所述,非易失性存储器装置200不能重写数据,并且擦除单元可大于编程单元。因此,当非易失性存储器装置200的存储空间接近预定限值时,非易失性存储器装置200可能需要将分布在物理上不同的位置处的有效数据收集在一个空间中的操作。垃圾收集模块GCM可通过执行多个写入操作和多个擦除操作来执行将碎片化的有效数据收集在一个收集区域中的操作。将参照图4至图9详细描述根据本实施例的执行用于收集有效数据的垃圾收集操作的进程。
磨损均衡模块可管理非易失性存储器装置200的页面或存储块的磨损水平。编程操作和擦除操作可使非易失性存储器装置200的存储器单元老化。老化的存储器单元,即磨损的存储器单元可能导致缺陷。为了防止特定存储块比其它存储块磨损地快,磨损均衡模块可管理存储块以具有标准化的编程-擦除计数。
坏块管理模块可管理非易失性存储器装置200的存储块之中具有缺陷的存储块。如上所述,在磨损的存储器单元中可能出现缺陷。存储在出现缺陷的存储器单元中的数据不能被正常读取。而且,数据不能被正常存储在出现缺陷的存储器单元中。坏块管理模块可管理包括出现缺陷的存储器单元的存储块,从而不使用该存储块。
图3A示出分别包括在逻辑地址组(LAG)中的逻辑地址(LA)范围。在下文中,参照图1和图3,将描述应用于存储器***10的命名空间的示例。
存储器***的多路径和虚拟化对多个主机装置共用存储器***内的存储空间起重要作用。如果有必要,多路径和虚拟化可使主机装置能够访问存储在存储器***中的数据。
根据本实施例的存储器***10可支持命名空间功能。此处,“命名空间”可被定义为非易失性存储器装置200内的存储空间的数量。命名空间可通过逻辑块配置。多个命名空间可分别对应于不同的逻辑地址组LAG,并且逻辑地址组LAG可分别具有不同的逻辑地址(LA)范围,每个LA范围表示逻辑块的集合。“命名空间功能”可指从一个物理存储空间提供多个逻辑存储空间的功能。具体地,命名空间功能可指将存储器***10的单个物理存储空间划分为多个命名空间(即多个逻辑存储空间),并且为各命名空间分配唯一的逻辑地址的技术。
在实施例中,存储器***10可管理多命名空间。因此,存储器***10可被称为提供多命名空间功能。具体地,存储器***10可动态地生成分别与多个逻辑地址组对应的多个命名空间,并且动态地删除一些生成的命名空间。例如,存储器***10可包括非易失性存储器高速固态硬盘(NVMe SSD)。在本说明书中,多个逻辑地址组LAG0至LAG3可指多命名空间。
如图3A所示,存储器***10可管理四个逻辑地址组LAG0至LAG3。逻辑地址组LAG0至LAG3可包括不同的逻辑地址范围。例如,逻辑地址组LAG0可包括从逻辑地址LA0至逻辑地址LA499的逻辑地址范围。逻辑地址组LAG1可包括从逻辑地址LA500至逻辑地址LA749的逻辑地址范围。逻辑地址组LAG2可包括从逻辑地址LA750至逻辑地址LA999的逻辑地址范围。逻辑地址组LAG3可包括从逻辑地址LA1000至逻辑地址LA1999的逻辑地址范围。也就是说,逻辑地址组LAG0至LAG3可分别包括500、250、250和1000个逻辑地址。可根据主机装置20_0至20_m的工作负载特性来可变地设置逻辑地址组LAG0至LAG3中的每一个的逻辑地址范围。
图3B是描述存储在映射表MPT中的信息的示图。
如上所述,FTL可将提供的逻辑地址转换为非易失性存储器装置200的物理地址,并且通过参考转换的物理地址来执行所请求的操作。对于这种地址转换操作,地址转换数据,即地址映射表MPT可包括在FTL中。
在实施例中,映射表MPT可包括关于物理地址PA、逻辑地址LA以及逻辑地址组LAG的信息。物理地址PA中的每一个可包括块地址ADD_Blk和页面地址ADD_PG。图3B示出对应于块地址ADD_Blk为0的存储块Blk0和块地址ADD_Blk为1的存储块Blk1的逻辑地址LA和逻辑地址组LAG。
映射表MPT可存储指示与为400至402的逻辑地址LA对应的数据存储在存储块Blk0中的页面地址ADD_PG为0至2的页面中的信息,以及关于包括为400至402的逻辑地址LA的逻辑地址组LAG0的信息。映射表MPT可存储指示与为0的逻辑地址LA对应的数据存储在存储块Blk0中的页面地址ADD_PG为3的页面中的信息,以及关于包括为0的逻辑地址LA的逻辑地址组LAG0的信息。类似地,映射表MPT可存储指示与为1000、1001、800和801的逻辑地址LA对应的数据存储在存储块Blk1中的页面地址ADD_PG为0至3的页面中的信息,以及关于与各页面对应的逻辑地址组LAG3和LAG2的信息
虽然未示出,但是在实施例中,映射表MPT可进一步存储关于存储在非易失性存储器装置200中的数据是有效数据还是无效数据的信息。例如,映射表MPT可包括关于存储在存储块Blk0中的页面地址ADD_PG为0的页面中的数据是有效数据(即最后更新的数据)还是无效数据的信息。当存储在特定页面中的数据无效时,该数据的新版本或更新版本可存储在另一页面中。特定页面和另一页面(即,该数据的不同物理存储区域)可对应于由相同逻辑地址表示的相同逻辑存储区域。
在实施例中,控制器100可通过参考映射表MPT来确定数据是有效数据还是无效数据。例如,控制器100可通过参考映射表MPT来确定与所请求数据具有相同逻辑地址的数据是否存储在非易失性存储器装置200的另一区域中。基于确定结果,控制器100可确定存储在相应区域中的数据是有效数据还是无效数据。
图4是描述由图2的垃圾收集模块执行的垃圾收集操作的示图。
没有写入数据的存储块,即擦除的存储块,可被定义为空块,并且擦除的块可包括空页面。写入数据的存储块可被定义为使用的块。使用的块可包括存储有效数据的一个或多个有效页面以及存储无效数据的一个或多个无效页面。在使用的存储块中,选择为垃圾收集操作的目标的存储块,即待被执行垃圾收集的存储块可被定义为牺牲块。存储在牺牲块的有效页面中的数据通过垃圾收集操作待被备份到的块可被定义为目标块Blk_T。
图4中所示的实施例基于存储块Blk0和Blk1被设置为牺牲块的假设。在牺牲存储块Blk0的页面PG0至PG3中,有效页面PG3的数据可被复制到目标块Blk_T的空页面PG0中。并且,在牺牲存储块Blk1的页面PG0至PG3中,有效页面PG0和PG1的数据可分别被复制到目标块Blk_T的空页面PG1和PG2中。在有效页面的数据被复制之后,牺牲块Blk0和Blk1可被擦除并变为空块。
与包括在逻辑地址组LAG0中的逻辑地址对应的数据可存储在存储块Blk0的所有页面PG0至PG3中,并且与包括在逻辑地址组LAG3和逻辑地址组LAG2中的逻辑地址对应的数据可分别存储在存储块Blk1的页面PG0至PG3中。此时,当执行垃圾收集操作GC时,存储在存储块Blk0的页面PG3中的有效数据和存储在存储块Blk1的页面PG0和PG1中的有效数据可被备份到目标块Blk_T中。因此,与包括在逻辑地址组LAG0和逻辑地址组LAG3中的逻辑地址对应的有效数据可存储在目标块Blk_T的各页面PG0至PG2中。
由于垃圾收集操作GC伴随着将牺牲块的有效页面写入到目标块Blk_T中的操作以及擦除牺牲块的操作,因此垃圾收集操作GC可能显著地消耗控制器的资源,并且需要很长的操作时间。特别地,当多个主机装置共用存储器***并且具有不同工作负载特性的数据(例如,从不同主机装置请求的数据)存储在相同存储块中时,存储在相同存储块中的数据可能在不同的时间被更新,这可增加有效数据和无效数据共存的可能性。因此,可能增加用于垃圾收集操作GC的牺牲块的数量,可能增加执行垃圾收集操作GC的次数,并且可能增加执行垃圾收集操作GC所需的时间。因此,***的性能可能劣化。
当优化执行垃圾收集操作GC的时段和垃圾收集操作GC所需的时间时,存储器***的操作速度可得到提高。可选地,当优化垃圾收集操作GC的量或吞吐量时,存储器***的操作速度可得到提高。
图5示出存储与多个逻辑地址组对应的有效数据的牺牲块。
在实施例中,可以包括多个存储块的超级块为单元设置作为内部备份操作的目标的牺牲块和牺牲块的有效数据被备份到的目标块。可跨多个非易失性存储器装置形成超级块。超级块可被配置为包括在非易失性存储器装置中的每一个中的一个或多个存储块。
在下文中,假设以超级块为基础描述牺牲块和目标块,牺牲块和目标块中的每一个包括四个存储块,并且存储块中的每一个包括四个页面PG0至PG3。
参照图1和图5,牺牲超级块VSB_0可包括四个牺牲存储块VB_0至VB_3,并且数据可存储在牺牲存储块VB_0至VB_3中的每一个中包括的所有页面PG0至PG3中。有效数据可指与逻辑地址对应的最新数据。也就是说,当与特定逻辑地址对应的多个数据存储在非易失性存储器装置200中时,最后存储的数据可变为有效数据,并且除有效数据之外的其它数据可被定义为无效数据。在实施例中,控制器100可通过参考存储在RAM 120或非易失性存储器装置200中的映射表MPT来获取关于存储在牺牲块中的数据是有效数据还是无效数据的信息。
在牺牲存储块VB_0中,与包括在逻辑地址组LAG0中的逻辑地址对应的有效数据可存储在三个页面PG0、PG1和PG2中,并且在牺牲存储块VB_1中,与包括在逻辑地址组LAG3中的逻辑地址对应的有效数据可存储在两个页面PG2和PG3中。并且,在牺牲存储块VB_2中,与包括在逻辑地址组LAG0中的逻辑地址对应的有效数据可存储在两个页面PG0和PG1中,并且与包括在逻辑地址组LAG2中的逻辑地址对应的有效数据可存储在页面PG2中。在牺牲存储块VB_3中,与包括在逻辑地址组LAG1中的逻辑地址对应的有效数据可存储在两个页面PG0和PG1中。
有效数据可存储在与内部备份操作的目标对应的牺牲超级块VSB_0中包括的页面之中的10个页面中,并且与逻辑地址组LAG0至LAG3对应的有效数据的数量可分别为5、2、1和2。然后,在随后的内部备份操作(例如,垃圾收集)期间,10个有效数据可存储在目标块的特定区域中。
图6是描述根据实施例的存储在图5的牺牲超级块VSB_0中的有效数据被备份到两个目标超级块TSB_0和TSB_1中的情况的示图。图7是描述图6的实施例的流程图。在下文中,参照图1、图5和图7,将描述根据本实施例的将有效数据存储在两个目标超级块TSB_0和TSB_1中的进程。
在步骤S110中,控制组件110可选择图5的牺牲超级块VSB_0。牺牲超级块VSB_0可以包括四个存储块VB_0至VB_3的超级块为单元来设置。有效数据可存储在如图5所例示的牺牲超级块VSB_0的10个页面中。
在步骤S120中,控制组件110可选择图6的目标超级块TSB_0和TSB_1。目标超级块TSB_0和TSB_1中的每一个可以包括四个存储块TB_0至TB_3和TB_4至TB_7的超级块为单元来设置。
在步骤S130中,控制组件110可将逻辑地址组LAG0至LAG3中的一个或多个逻辑地址组映射到目标超级块TSB_0和TSB_1中的每一个。
例如,控制组件110可将逻辑地址组LAG0至LAG3之中、包括与存储在牺牲超级块VSB_0中的有效数据对应的最大数量的逻辑地址的逻辑地址组LAG0映射到目标超级块TSB_0。控制组件110可将剩余逻辑地址组LAG1至LAG3映射到剩余目标超级块TSB_1。
在步骤S140中,控制组件110可在逻辑地址组LAG0至LAG3之中确定包括存储在牺牲超级块VSB_0中的第一有效数据的逻辑地址的第一逻辑地址组。
在步骤S150中,控制组件110可将第一有效数据备份到目标超级块TSB_0和TSB_1之间映射到第一逻辑地址组的第一目标超级块。因此,控制组件110可将与逻辑地址组LAG0对应的有效数据备份到目标超级块TSB_0中,并且将与逻辑地址组LAG1至LAG3对应的有效数据备份到目标超级块TSB_1中。
在与步骤S130相关的实施例中,控制组件110可根据逻辑地址组LAG0至LAG3的偏移值将一个或多个逻辑地址组映射到目标超级块TSB_0和TSB_1中的每一个。例如,控制组件110可根据逻辑地址组的偏移值是奇数还是偶数将一个或多个逻辑地址组映射到目标超级块TSB_0和TSB_1中的每一个。例如,控制组件110可将具有奇数偏移值的逻辑地址组LAG1和LAG3映射到目标超级块TSB_0,并且将具有偶数偏移值的逻辑地址组LAG0和LAG2映射到目标超级块TSB_1。
根据本实施例,非易失性存储器装置200的内部备份操作的效率可得到提高。特别地,在多个主机装置共用存储器***10的情况下,当在相同目标块中收集与相同逻辑地址组对应的数据时,具有不同工作负载特性的数据被存储在相同存储块中的情况的数量可减少,同时增加将在相似时间更新存储在相同存储块中的数据的可能性。因此,减少了有效数据和无效数据将在存储块中共存的可能性。因此,可以减少执行内部备份操作(例如,垃圾收集操作)的次数,同时缩短执行内部备份操作所需的时间。
图8是描述根据实施例的存储在图5的牺牲超级块VSB_0中的有效数据被备份到一个目标超级块TSB中的情况的示图。图9是描述图8的实施例的流程图。在下文中,参照图1、图5、图8和图9,将描述根据本实施例的将有效数据存储在一个目标超级块TSB中的进程。
在实施例中,在对数据的内部备份操作期间,控制组件110可将一个超级块SB设置为目标块。也就是说,包括四个存储块TB_0至TB_3的超级块SB可被设置为目标块。图8基于包括在目标超级块TSB中的四个目标存储块TB_0至TB_3位于不同的非易失性存储器装置MV0至MV3中的假设。目标存储块TB_0和TB_2可以位于非易失性存储器装置MV0和MV2中,在非易失性存储器装置MV0和MV2之间通过通道CH0传送/接收命令和数据,并且目标存储块TB_1和TB_3可以位于非易失性存储器装置MV1和MV3中,在非易失性存储器装置MV1和MV3之间通过通道CH1传送/接收命令和数据。此外,假设非易失性存储器装置MV0和MV1由芯片使能信号CE0驱动,并且非易失性存储器装置MV2和MV3由芯片使能信号CE1驱动。此时,可以在用于驱动目标超级块TSB的芯片使能信号CE0和CE1之间首先启用芯片使能信号CE0。
在步骤S210中,控制组件110可选择牺牲超级块VSB_0。
在步骤S220中,控制组件110可在空超级块之中选择存储在牺牲超级块VSB_0中的有效数据待被备份到的目标超级块TSB。
在步骤S230中,控制组件110可以判定逻辑地址组LAG0至LAG3的备份顺序。备份顺序可指与各逻辑地址组LAG0至LAG3对应的有效数据被备份到目标超级块TSB中的顺序。
具体地,控制组件110可在构成目标超级块TSB的多个区域之中选择有效数据待被首先备份到的第一区域,并且在逻辑地址组LAG0至LAG3之中选择待被映射到第一区域的第一逻辑地址组。也就是说,第一逻辑地址组的备份顺序可以最高。此外,控制组件110可在构成目标超级块TSB的多个区域之中选择第二区域,并且在除第一逻辑地址组之外的逻辑地址组之中选择待被映射到第二区域的第二逻辑地址组。也就是说,第二逻辑地址组的备份顺序可低于第一逻辑地址组的备份顺序。在实施例中,第二逻辑地址组可包括逻辑地址组LAG0至LAG3之中除第一逻辑地址组之外的逻辑地址组。
在实施例中,第一区域可由第一芯片使能信号CE0驱动,并且第二区域可由第二芯片使能信号CE1驱动。也就是说,可选择第一区域和第二区域以便由不同的芯片使能信号CE0和CE1驱动。可在用于驱动目标超级块TSB的芯片使能信号CE0和CE1之间首先启用第一芯片使能信号CE0。
例如,控制组件110可在构成目标超级块TSB的目标存储块TB_0至TB_3之中选择目标存储块TB_0和TB_1作为有效数据待被首先备份到的第一区域。由于目标存储块TB_0和TB_1由芯片使能信号CE0和CE1之间首先启用的芯片使能信号CE0驱动,因此可选择目标存储块TB_0和TB_1作为第一区域。此外,控制组件110可在逻辑地址组LAG0至LAG3之中选择逻辑地址组LAG0作为待被映射到目标存储块TB_0和TB_1的第一逻辑地址组。逻辑地址组LAG0可以是逻辑地址组LAG0至LAG3之中、包括与存储在牺牲超级块VSB_0中的有效数据对应的最大数量的逻辑地址的逻辑地址组。因此,控制组件110可以将逻辑地址组LAG0映射到目标存储块TB_0和TB_1。
在另一实施例中,控制组件110可在逻辑地址组LAG0至LAG3之中选择具有预设偏移值的逻辑地址组作为第一逻辑地址组。
控制组件110可选择目标存储块TB_0至TB_3中的目标存储块TB_2和TB_3作为备份顺序低于第一区域的第二区域。目标存储块TB_2和TB_3可由芯片使能信号CE1驱动。控制组件110可选择逻辑地址组LAG1至LAG3作为待被映射到目标存储块TB_2和TB_3的第二逻辑地址组。控制组件110可将逻辑地址组LAG1至LAG3映射到目标存储块TB_2和TB_3。
在步骤S240中,控制组件110可基于备份顺序将存储在牺牲超级块VSB_0中的有效数据中的选择的有效数据备份到目标超级块TSB中。控制组件110可根据步骤S230的映射信息,将与逻辑地址组LAG0对应的有效数据备份到目标存储块TB_0和TB_1中,并将与逻辑地址组LAG1至LAG3对应的有效数据备份到目标存储块TB_2和TB_3中。
根据本实施例,非易失性存储器装置200的内部备份操作的效率可得到提高。特别地,在多个主机装置共用存储器***10的情况下,当在相同区域(例如,由相同芯片使能信号驱动的区域)中收集与包括在相同逻辑地址组中的逻辑地址对应的数据时,可减少具有不同工作负载特性的数据存储在相同存储块中的情况的数量,同时增加将在相似时间更新存储在相同存储块中的数据的可能性。因此,可降低有效数据和无效数据将在存储块中共存的可能性。因此,可减少执行内部备份操作的次数,并且可缩短执行内部备份操作所需的时间,这可以提高***的性能。
图10是示出根据实施例的控制器的配置的框图。
参照图1和图10,根据本实施例的控制器100可包括控制组件110、RAM 120、主机接口130和存储器控制组件140。在实施例中,控制器100、控制组件110和RAM 120可分别对应于图1的控制器100、控制组件110和RAM 120。因此,将省略详细说明。
主机接口130可接口连接主机装置20和存储器***10。例如,主机接口130可使用对应于诸如下列的标准传送协议中的任意一个的主机接口与主机装置20通信:安全数字、USB(通用串行总线)、MMC(多媒体卡)、eMMC(嵌入式MMC)、PCMCIA(个人计算机存储卡国际协会)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机***接口)、SAS(串列SCSI)、PCI(***组件互连)、PCI-E(高速PCI)和UFS(通用闪存)。
存储器控制组件140可在控制组件110的控制下控制非易失性存储器装置200。存储器控制组件140也可被称为存储器接口。存储器控制组件140可将控制信号提供至非易失性存储器装置200。控制信号可包括用于控制非易失性存储器装置200的命令、地址和控制信号。存储器控制组件140可将数据提供至非易失性存储器装置200或者从非易失性存储器装置200接收数据。
图11是示出包括根据实施例的固态硬盘(SSD)1200的数据处理***1000的示图。参照图11,数据处理***1000可包括主机装置1100和SSD 1200。
SSD 1200可包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。在实施例中,控制器1210和非易失性存储器装置1231至123n可分别对应于图1的控制器100和非易失性存储器装置200。
控制器1210可控制SSD 1200的一般操作。控制器1210可包括主机接口1211、控制组件1212、随机存取存储器1213、错误校正码(ECC)组件1214和存储器接口1215。在实施例中,控制组件1212和随机存取存储器1213可分别对应于图1的控制组件110和RAM120。存储器接口1215可对应于图10的存储器控制组件140。
主机接口1211可通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可包括命令、地址、数据等。主机接口1211可根据主机装置1100的协议接口连接主机装置1100和SSD 1200。例如,主机接口1211可通过诸如以下的标准接口协议中的任意一个与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串列SCSI(SAS)、***组件互连(PCI)、高速PCI(PCI-E)和通用闪存(UFS)。
控制组件1212可分析并处理从主机装置1100接收的信号SGL。控制组件1212可根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可用作用于驱动这种固件或软件的工作存储器。
ECC组件1214可生成待传输至非易失性存储器装置1231至123n中的至少一个的数据的奇偶校验数据。生成的奇偶校验数据可与数据一起被存储在非易失性存储器装置1231至123n中。ECC组件1214可基于奇偶校验数据检测从非易失性存储器装置1231至123n中的至少一个读取的数据的错误。如果检测到的错误在可校正范围内,则ECC组件1214可校正检测到的错误。
存储器接口1215可根据控制组件1212的控制将诸如命令和地址的控制信号提供至非易失性存储器装置1231至123n中的至少一个。此外,存储器接口1215可根据控制组件1212的控制,与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口1215可将存储在缓冲存储器装置1220中的数据提供至非易失性存储器装置1231至123n中的至少一个或将从非易失性存储器装置1231至123n中的至少一个读取的数据提供至缓冲存储器装置1220。
缓冲存储器装置1220可临时存储待存储在非易失性存储器装置1231至123n中的至少一个中的数据。此外,缓冲存储器装置1220可临时存储从非易失性存储器装置1231至123n中的至少一个读取的数据。临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制被传输至主机装置1100或非易失性存储器装置1231至123n中的至少一个。
非易失性存储器装置1231至123n可用作SSD 1200的存储介质。非易失性存储器装置1231至123n可分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接至一个通道。联接至每个通道的非易失性存储器装置可联接至相同的信号总线和数据总线。
电源1240可将通过电源连接器1260输入的电力PWR提供至SSD 1200的内部。电源1240可包括辅助电源1241。辅助电源1241可供应电力以在发生突然断电时使SSD 1200正常终止。辅助电源1241可包括大容量电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1250可由各种类型的连接器配置。
根据主机装置1100的电力供应方案,电源连接器1260可由各种类型的连接器配置。
图12是示出包括根据实施例的存储器***2200的数据处理***2000的示图。参照图12,数据处理***2000可包括主机装置2100和存储器***2200。
主机装置2100可以诸如印刷电路板的板的形式配置。虽然未示出,但是主机装置2100可包括用于执行主机装置的功能的内部功能块。
主机装置2100可包括连接端子2110,诸如插座、插槽或连接器。存储器***2200可安装到连接端子2110。
存储器***2200可以诸如印刷电路板的板的形式配置。存储器***2200可被称为存储器模块或存储卡。存储器***2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可控制存储器***2200的一般操作。控制器2210可以与图11中所示的控制器1210相同的方式配置。
缓冲存储器装置2220可临时存储待被存储在非易失性存储器装置2231和2232中的数据。此外,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232读取的数据。临时存储在缓冲存储器装置2220中的数据可根据控制器2210的控制被传输至主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可用作存储器***2200的存储介质。
PMIC 2240可将通过连接端子2250输入的电力提供至存储器***2200的内部。PMIC 2240可根据控制器2210的控制来管理存储器***2200的电力。
连接端子2250可联接至主机装置2100的连接端子2110。通过连接端子2250,可在主机装置2100和存储器***2200之间传送诸如命令、地址、数据等的信号和电力。根据主机装置2100和存储器***2200之间的接口方案,连接端子2250可被配置成各种类型。连接端子2250可被设置在存储器***2200的任意一侧上。
图13是示出包括根据实施例的存储器***3200的数据处理***3000的示图。参照图13,数据处理***3000可包括主机装置3100和存储器***3200。
主机装置3100可以诸如印刷电路板的板的形式配置。虽然未示出,但是主机装置3100可包括用于执行主机装置的功能的内部功能块。
存储器***3200可以表面安装型封装的形式配置。存储器***3200可通过焊球3250安装到主机装置3100。存储器***3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可控制存储器***3200的一般操作。控制器3210可以与图11中所示的控制器1210相同的方式配置。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。此外,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读取的数据。临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输至主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可用作存储器***3200的存储介质。
图14是示出包括根据实施例的存储器***4200的网络***4000的示图。参照图14,网络***4000可包括通过网络4500联接的服务器***4300和多个客户端***4410至4430。
服务器***4300可响应于来自多个客户端***4410至4430的请求来服务数据。例如,服务器***4300可存储从多个客户端***4410至4430提供的数据。再例如,服务器***4300可将数据提供至多个客户端***4410至4430。
服务器***4300可包括主机装置4100和存储器***4200。存储器***4200可由图1的存储器***10、图11的SSD 1200、图12的存储器***2200或图13的存储器***3200来配置。
图15是示出包括在根据实施例的存储器***中的非易失性存储器装置200的框图。参照图15,非易失性存储器装置200可包括存储器单元阵列210、行解码器220、数据读取/写入块230、列解码器240、电压发生器250和控制逻辑260。
存储器单元阵列210可包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器220可通过字线WL1至WLm与存储器单元阵列210联接。行解码器220可根据控制逻辑260的控制而操作。行解码器220可解码从外部装置(未示出)提供的地址。行解码器220可基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器220可将从电压发生器250提供的字线电压提供至字线WL1至WLm。
数据读取/写入块230可通过位线BL1至BLn与存储器单元阵列210联接。数据读取/写入块230可包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块230可根据控制逻辑260的控制而操作。数据读取/写入块230可根据操作模式而用作写入驱动器或读出放大器。例如,在写入操作中,数据读取/写入块230可用作将从外部装置提供的数据存储在存储器单元阵列210中的写入驱动器。再例如,在读取操作中,数据读取/写入块230可用作从存储器单元阵列210读出数据的读出放大器。
列解码器240可根据控制逻辑260的控制而操作。列解码器240可解码从外部装置提供的地址。列解码器240可基于解码结果将数据读取/写入块230的、分别对应于位线BL1至BLn的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压发生器250可生成待在非易失性存储器装置200的内部操作中使用的电压。由电压发生器250生成的电压可被施加到存储器单元阵列210的存储器单元。例如,在编程操作中生成的编程电压可被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区。又例如,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。
控制逻辑260可基于从外部装置提供的控制信号来控制非易失性存储器装置200的一般操作。例如,控制逻辑260可控制非易失性存储器装置200的操作,例如非易失性存储器装置200的读取操作、写入操作和擦除操作。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,不应基于所描述的实施例来限制本文描述的操作方法和存储器***。
Claims (20)
1.一种存储器***的操作方法,所述存储器***包括多个逻辑地址组,每个所述逻辑地址组具有预设逻辑地址范围,其中从具有不同工作负载特性的多个主机装置提供的多个逻辑地址根据工作负载特性被划分为多个逻辑地址组,所述操作方法包括:
选择牺牲块;
在空块之中选择多个目标块;
将所述逻辑地址组中的至少一个逻辑地址组映射到所述目标块中的每一个;
在所述逻辑地址组之中确定包括存储在所述牺牲块中的第一有效数据的逻辑地址的第一逻辑地址组;并且
将所述第一有效数据备份到所述目标块之中映射到所述第一逻辑地址组的第一目标块中。
2.根据权利要求1所述的操作方法,其中将所述至少一个逻辑地址组映射到所述目标块中的每一个包括:
在所述逻辑地址组之中判定包括与存储在所述牺牲块中的有效数据对应的最大数量的逻辑地址的逻辑地址组;
将所判定的逻辑地址组映射到所述目标块中的任意一个目标块;并且
将所述逻辑地址组之中除所判定的逻辑地址组之外的其它逻辑地址组映射到所述目标块中的另一目标块。
3.根据权利要求1所述的操作方法,其中将所述至少一个逻辑地址组映射到所述目标块中的每一个包括:
根据所述逻辑地址组的偏移值,将所述至少一个逻辑地址组映射到所述目标块中的每一个。
4.根据权利要求1所述的操作方法,进一步包括:
基于存储关于所述牺牲块的映射信息的映射表对所述第一有效数据进行选别。
5.根据权利要求4所述的操作方法,其中所述映射表包括指示所述第一有效数据存储在所述牺牲块中的位置的物理地址与所述第一有效数据的逻辑地址之间的映射信息。
6.根据权利要求1所述的操作方法,其中所述牺牲块和所述目标块中的每一个以超级块为基础设置,所述超级块包括多个存储块,所述多个存储块分别包括在所述存储器***中包括的多个非易失性存储器装置中。
7.一种存储器***的操作方法,所述存储器***包括多个逻辑地址组,每个所述逻辑地址组具有预设逻辑地址范围,其中从具有不同工作负载特性的多个主机装置提供的多个逻辑地址根据工作负载特性被划分为多个逻辑地址组,所述操作方法包括:
选择牺牲块;
在空块之中选择存储在所述牺牲块中的有效数据待被备份到的目标块;
判定所述逻辑地址组的备份顺序,所述备份顺序指示与各所述逻辑地址组对应的有效数据被备份到所述目标块中的顺序;并且
基于所述备份顺序将从所述有效数据中选择的有效数据备份到所述目标块中。
8.根据权利要求7所述的操作方法,其中判定所述备份顺序包括:
在构成所述目标块的多个区域之中选择有效数据待被首先备份到的第一区域;并且
在所述逻辑地址组之中选择待被映射到所述第一区域的第一逻辑地址组。
9.根据权利要求8所述的操作方法,其中将选择的有效数据备份到所述目标块中包括:
将与所述第一逻辑地址组对应的有效数据备份到所述第一区域中;并且
将与所述逻辑地址组之中除所述第一逻辑地址组之外的其它逻辑地址组对应的有效数据备份到所述多个区域中的第二区域中。
10.根据权利要求9所述的操作方法,
其中所述第一区域由第一芯片使能信号驱动,
其中所述第二区域由第二芯片使能信号驱动,并且
其中在用于驱动所述目标块的芯片使能信号之中,所述第一芯片使能信号被首先启用。
11.根据权利要求8所述的操作方法,其中选择所述第一逻辑地址组包括:
在所述逻辑地址组之中选择包括与存储在所述牺牲块中的有效数据对应的最大数量的逻辑地址的逻辑地址组作为所述第一逻辑地址组。
12.根据权利要求8所述的操作方法,其中选择所述第一逻辑地址组包括:
当所述逻辑地址组具有不同的偏移值时,在所述逻辑地址组之中选择具有预设偏移值的逻辑地址组作为所述第一逻辑地址组。
13.根据权利要求7所述的操作方法,进一步包括:
基于存储关于所述牺牲块的映射信息的映射表对所述有效数据进行选别。
14.根据权利要求13所述的操作方法,其中所述映射表包括指示所述有效数据存储在所述牺牲块中的位置的物理地址与所述有效数据的逻辑地址之间的映射信息。
15.根据权利要求7所述的操作方法,其中所述牺牲块和所述目标块中的每一个以超级块为基础设置,所述超级块包括多个存储块,所述多个存储块分别包括在所述存储器***中包括的多个非易失性存储器装置中。
16.一种存储器***,包括:
多个非易失性存储器装置,每个所述非易失性存储器装置包括由多个逻辑地址组表示的多个存储块,每个所述逻辑地址组具有预设逻辑地址范围,其中从具有不同工作负载特性的多个主机装置提供的多个逻辑地址根据工作负载特性被划分为多个逻辑地址组;以及
控制器,跨所述非易失性存储器装置将所述存储块分组为多个超级块,在所述超级块之中选择牺牲超级块,并且控制对所述牺牲超级块的内部备份操作,
其中所述控制器进一步在所述逻辑地址组之中确定包括存储在所述牺牲超级块中的有效数据的逻辑地址的逻辑地址组,并且将所述有效数据备份到映射到所确定的逻辑地址组的位置。
17.根据权利要求16所述的存储器***,其中所述控制器通过以下来确定所述逻辑地址组并备份所述有效数据:
在空超级块之中选择多个目标超级块;
将所述逻辑地址组中的至少一个逻辑地址组映射到所述目标超级块中的每一个;
在所述逻辑地址组之中确定包括存储在所述牺牲超级块中的第一有效数据的逻辑地址的第一逻辑地址组,并且
将所述第一有效数据备份到所述目标超级块之中映射到所述第一逻辑地址组的第一目标超级块中。
18.根据权利要求17所述的存储器***,其中所述控制器通过以下来映射所述至少一个逻辑地址组:
在所述逻辑地址组之中判定包括与存储在所述牺牲超级块中的有效数据对应的最大数量的逻辑地址的逻辑地址组;
将所判定的逻辑地址组映射到所述目标超级块中的任意一个目标超级块;并且
将所述逻辑地址组之中除所判定的逻辑地址组之外的其它逻辑地址组映射到所述目标超级块中的另一目标超级块。
19.根据权利要求16所述的存储器***,其中所述控制器通过以下来确定所述逻辑地址组并备份所述有效数据:
在空超级块之中选择目标超级块;
将所述逻辑地址组中的至少一个逻辑地址组映射到多个区域中的每一个,所述多个区域包括在所述目标超级块中并且分别由不同的芯片使能信号驱动;
在所述逻辑地址组之中确定包括存储在所述牺牲超级块中的第一有效数据的逻辑地址的第一逻辑地址组;并且
将所述第一有效数据备份到所述多个区域之中映射到所述第一逻辑地址组的第一区域中。
20.根据权利要求19所述的存储器***,
其中所述控制器通过以下来映射所述至少一个逻辑地址组:
将所述第一逻辑地址组映射到所述第一区域;并且
将所述逻辑地址组之中除所述第一逻辑地址组之外的其它逻辑地址组映射到所述多个区域中的第二区域,
其中在所述逻辑地址组之中,所述第一逻辑地址组包括与存储在所述牺牲超级块中的有效数据对应的最大数量的逻辑地址,并且
其中所述第一区域由所述芯片使能信号之中首先启用的芯片使能信号驱动。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180111661A KR102585883B1 (ko) | 2018-09-18 | 2018-09-18 | 메모리 시스템의 동작 방법 및 메모리 시스템 |
KR10-2018-0111661 | 2018-09-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908594A CN110908594A (zh) | 2020-03-24 |
CN110908594B true CN110908594B (zh) | 2023-08-25 |
Family
ID=69774065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811636994.0A Active CN110908594B (zh) | 2018-09-18 | 2018-12-29 | 存储器***的操作方法和存储器*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11086772B2 (zh) |
KR (1) | KR102585883B1 (zh) |
CN (1) | CN110908594B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI718492B (zh) * | 2019-03-12 | 2021-02-11 | 群聯電子股份有限公司 | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 |
KR20200110859A (ko) * | 2019-03-18 | 2020-09-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 이를 포함하는 컴퓨팅 장치와 그 동작 방법 |
KR20210012329A (ko) * | 2019-07-24 | 2021-02-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20220028332A (ko) * | 2020-08-28 | 2022-03-08 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US20220222008A1 (en) * | 2021-01-14 | 2022-07-14 | Silicon Motion, Inc. | Method for managing flash memory module and associated flash memory controller and memory device |
TWI766582B (zh) * | 2021-02-17 | 2022-06-01 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體儲存裝置及記憶體控制電路單元 |
CN115495287B (zh) * | 2022-11-16 | 2024-04-09 | 珠海妙存科技有限公司 | 一种mlc nand的备份数据方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169762A (zh) * | 2006-10-27 | 2008-04-30 | 北京中电华大电子设计有限责任公司 | 一种面向智能卡的软硬件协同保护机制 |
CN101176074A (zh) * | 2005-12-09 | 2008-05-07 | 松下电器产业株式会社 | 非易失性存储器件,写入数据的方法,和读出数据的方法 |
CN102081576A (zh) * | 2011-03-01 | 2011-06-01 | 华中科技大学 | 一种闪存的磨损平衡方法 |
CN103150261A (zh) * | 2013-03-11 | 2013-06-12 | 北京忆恒创源科技有限公司 | 用于同时访问多个固态盘的方法与装置 |
JP2015001908A (ja) * | 2013-06-17 | 2015-01-05 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
CN106445740A (zh) * | 2016-09-22 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 固态硬盘中nand闪存数据的控制方法及控制*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101056909B1 (ko) * | 2008-12-30 | 2011-08-12 | 아주대학교산학협력단 | 플래시 메모리 장치 및 플래시 메모리 장치에서의 메모리 관리 방법 |
US8166233B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
US9753653B2 (en) * | 2015-04-14 | 2017-09-05 | Sandisk Technologies Llc | High-priority NAND operations management |
KR102509540B1 (ko) | 2015-06-30 | 2023-03-14 | 삼성전자주식회사 | 저장 장치 및 그것의 가비지 컬렉션 방법 |
US10162558B2 (en) * | 2015-10-30 | 2018-12-25 | Micron Technology, Inc. | Data transfer techniques for multiple devices on a shared bus |
US10540274B2 (en) * | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
JP2018181213A (ja) * | 2017-04-20 | 2018-11-15 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム |
JP2018181207A (ja) * | 2017-04-20 | 2018-11-15 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム |
US10452536B2 (en) * | 2017-06-12 | 2019-10-22 | Western Digital Technologies, Inc. | Dynamic management of garbage collection and overprovisioning for host stream storage |
-
2018
- 2018-09-18 KR KR1020180111661A patent/KR102585883B1/ko active IP Right Grant
- 2018-12-19 US US16/224,955 patent/US11086772B2/en active Active
- 2018-12-29 CN CN201811636994.0A patent/CN110908594B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101176074A (zh) * | 2005-12-09 | 2008-05-07 | 松下电器产业株式会社 | 非易失性存储器件,写入数据的方法,和读出数据的方法 |
CN101169762A (zh) * | 2006-10-27 | 2008-04-30 | 北京中电华大电子设计有限责任公司 | 一种面向智能卡的软硬件协同保护机制 |
CN102081576A (zh) * | 2011-03-01 | 2011-06-01 | 华中科技大学 | 一种闪存的磨损平衡方法 |
CN103150261A (zh) * | 2013-03-11 | 2013-06-12 | 北京忆恒创源科技有限公司 | 用于同时访问多个固态盘的方法与装置 |
JP2015001908A (ja) * | 2013-06-17 | 2015-01-05 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
CN106445740A (zh) * | 2016-09-22 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 固态硬盘中nand闪存数据的控制方法及控制*** |
Also Published As
Publication number | Publication date |
---|---|
KR20200032527A (ko) | 2020-03-26 |
US11086772B2 (en) | 2021-08-10 |
CN110908594A (zh) | 2020-03-24 |
US20200089603A1 (en) | 2020-03-19 |
KR102585883B1 (ko) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908594B (zh) | 存储器***的操作方法和存储器*** | |
CN106681931B (zh) | 数据储存设备及其操作方法 | |
CN107168886B (zh) | 数据存储装置及其操作方法 | |
US10997039B2 (en) | Data storage device and operating method thereof | |
CN109783008B (zh) | 数据存储装置及其操作方法 | |
US20200117559A1 (en) | Data storage device and operating method thereof | |
US20190317892A1 (en) | Memory system, data processing system, and operating method of memory system | |
US11487669B2 (en) | Memory system for storing data of log-structured merge tree structure and data processing system including the same | |
CN111124273B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US11526439B2 (en) | Storage device and operating method thereof | |
US10877853B2 (en) | Data storage device and operation method optimized for recovery performance, and storage system having the same | |
CN109240937B (zh) | 数据存储装置及其操作方法 | |
CN111752852A (zh) | 数据存储装置及数据存储装置的操作方法 | |
US10558562B2 (en) | Data storage device and operating method thereof | |
CN112286443A (zh) | 控制器、存储器***及其操作方法 | |
US20220229775A1 (en) | Data storage device and operating method thereof | |
US11249917B2 (en) | Data storage device and operating method thereof | |
US20190278703A1 (en) | Memory system, operating method thereof and electronic device | |
US11720276B2 (en) | Memory system and controller for managing write status | |
CN109840214B (zh) | 数据存储装置及其操作方法 | |
CN113805793A (zh) | 存储装置及其操作方法 | |
CN112783429A (zh) | 数据存储装置、使用其的存储***及其操作方法 | |
US20180122490A1 (en) | Data storage device and operating method thereof | |
CN112486850A (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 |