CN110888819A - 存储器***及其操作方法 - Google Patents

存储器***及其操作方法 Download PDF

Info

Publication number
CN110888819A
CN110888819A CN201811609940.5A CN201811609940A CN110888819A CN 110888819 A CN110888819 A CN 110888819A CN 201811609940 A CN201811609940 A CN 201811609940A CN 110888819 A CN110888819 A CN 110888819A
Authority
CN
China
Prior art keywords
memory
lba
information
lba information
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.)
Granted
Application number
CN201811609940.5A
Other languages
English (en)
Other versions
CN110888819B (zh
Inventor
边谕俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mimi Ip Co ltd
Original Assignee
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110888819A publication Critical patent/CN110888819A/zh
Application granted granted Critical
Publication of CN110888819B publication Critical patent/CN110888819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1004Defragmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明提供了一种存储器***。该存储器***包括存储器装置,存储器装置包括第一存储块和第二存储块;以及控制器,适于控制存储器装置,其中控制器包括顺序索引计算器,适于基于被写入在第一存储块的第一逻辑块地址(LBA)信息和第二LBA信息来计算顺序索引;内部操作确定组件,适于通过将第一存储块的顺序索引与阈值进行比较来确定是否对第一存储块执行内部操作;以及内部操作执行组件,适于当确定对第一存储块执行内部操作时,将存储在第一存储块中的LBA信息片段迁移至第二存储块以重新排列LBA信息片段。

Description

存储器***及其操作方法
相关申请的交叉引用
本申请要求于2018年9月10日提交的申请号为10-2018-0107821 的韩国专利申请的优先权,其公开通过引用整体并入本文。
技术领域
本发明的各种实施例总体涉及一种半导体装置。特别地,实施例 涉及一种存储器***及其操作方法
背景技术
近年来,计算机环境范例已经转变成允许计算机***可被随时随 地使用的普适计算。由于该事实,诸如移动电话、数码相机以及笔记 本电脑的便携式电子装置的使用已经迅速增加。通常,这些便携式电 子装置使用采用存储器装置的存储器***,即数据存储器装置。数据 存储器装置用作便携式电子装置的主存储器装置或辅助存储器装置。
由于不存在机械驱动部件,因此使用存储器装置的数据存储装置 提供优良的稳定性和耐用性、高信息访问速度以及低功耗的优点。具 有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、 具有各种接口的存储卡和固态硬盘(SSD)。
发明内容
各种实施例涉及一种通过根据多个LBA模式,基于顺序索引执行 内部操作来减少碎片的存储器***以及该存储器***的操作方法。
根据实施例,一种存储器***包括存储器装置,包括第一存储块 和第二存储块;以及控制器,适于控制存储器装置,其中控制器包括: 顺序索引计算器,适于基于被写入在第一存储块的第一逻辑块地址信 息(LBA)信息和第二LBA信息来计算顺序索引;内部操作确定组件, 适于通过将第一存储块的顺序索引与阈值进行比较来确定是否要对 第一存储块执行内部操作;以及内部操作执行组件,适于当确定要对 第一存储块执行内部操作时,将存储在第一存储块中的LBA信息片段 (pieces)迁移到第二存储块以重新排列LBA信息片段。
根据实施例,一种存储器***的操作方法,存储器***包括存储 器装置,包括第一存储块和第二存储块;以及控制器,适于控制存储 器装置,该操作方法包括:基于被写入在第一存储块的第一逻辑块地 址(LBA)信息和第二LBA信息来计算顺序索引;将第一存储块的顺 序索引与阈值进行比较来确定是否要对第一存储块执行内部操作;并 且当确定要对第一存储块执行内部操作时,将存储在第一存储块中的 多条LBA信息迁移到第二存储块以重新排列LBA信息片段。
根据实施例,一种存储器***包括:存储器装置,包括存储器管 芯,存储器管芯中的每一个包括存储块;以及控制器,被配置成控制 存储器装置,控制器包括碎片整理管理器,该碎片整理管理器被配置 成:计算顺序索引,顺序索引指示存储块中的每一个的逻辑块地址 (LBA)访问模式,将所计算的顺序索引中的每一个与阈值进行比较, 并且对具有小于或等于阈值的顺序索引的存储块执行内部操作。
附图说明
图1是示意性地示出包括根据实施例的存储器***的数据处理系 统的框图。
图2A至图2C是示意性地示出根据实施例的对存储器***中的存 储器装置的数据处理操作的示图。
图3至图6是示出根据实施例的存储器***的操作的流程图。
图7是示意性地示出根据实施例的存储器***中使用的超级存储 块的示图。
图8至图16是示意性地示出根据各种实施例的包括存储器***的 数据处理***的应用示例的示图。
具体实施方式
下面参照附图更详细地描述本发明的各种实施例。然而,注意的 是,本发明可以不同的形式实施。此外,本发明的方面和特征可与所 示实施例中所示的方面和特征不同地配置或布置。因此,本发明不应 被解释为限于本文阐述的实施例。相反,提供所描述的实施例以使本 公开彻底和完整,并将本发明完全传达给本发明所属领域的技术人 员。此外,在整个说明书中,对“实施例”,“另一实施例”等的参考 不一定仅针对一个实施例,并且对任何这样的短语的不同参考不一定 针对相同实施例。
将进一步理解,当元件被称为“连接至”或“联接至”另一元件 时,它可直接在另一元件上,直接连接至或联接至另一元件,或者可 存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两 个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可存 在一个或多个中间元件。无论是直接还是间接连接/联接,两个元件 之间的通信可以是有线的或无线的,除非另有说明或上下文另有说 明。
如本文中所使用的,除非上下文另有明确说明,否则单数形式也 可包括复数形式,反之亦然。
将进一步理解的是,当在本说明书中使用时,术语“包括”,“包 括有”,“包含”和“包含有”指定所述元件的存在并且不排除一个元 件或更多其它元件的存在或添加。如本文中所使用的,术语“和/或” 包括一个或多个相关所列项目的任何和所有组合。
在下文中,将参照附图详细描述本发明的各种实施例。
图1是示出包括根据实施例的存储器***的数据处理***100的 框图。
参照图1,数据处理***100可包括主机102和存储器***110。
主机102可由诸如下列各种电子装置,例如便携式电子装置中的 任意一种来实施:移动电话、MP3播放器和膝上型计算机的便携式电 子装置或诸如台式计算机、游戏机、电视机(TV)和投影仪的电子 装置,即,有线和无线电子装置。
并且,主机102包括至少一个操作***(OS)。操作***通常管 理并控制主机102的功能和操作,并且提供主机102和使用数据处理 ***100或存储器***110的用户之间的交互操作性。操作***支持 与用户的使用目的和操作***的用途对应的功能和操作。例如,根 据主机102的移动性,操作***可以是一般操作***或移动操作系 统。根据用户的使用环境,一般操作***可以是个人操作***或企 业操作***。例如,配置成支持一般用户的服务提供功能的个人操 作***可包括Windows和Chrome,配置成确保并支持高性能的企业操作***可包括Windows server、Linux和Unix。配置成支持用户的 移动服务提供功能和***节电功能的移动操作***可包括Android、 iOS、Windows mobile等。主机102可包括多个操作***,并且对应 于用户请求运行操作***以利用存储器***110执行操作。主机102将与用户请求对应的多个命令传送至存储器***110,并且因此,存 储器***110执行与命令对应的操作,即,与用户请求对应的操作。
存储器***110响应于主机102的请求操作,特别地,存储待由 主机102访问的数据。换言之,存储器***110可用作主机102的主存 储器装置或辅助存储器装置。根据与主机102连接的主机接口协议, 存储器***110可实施为各种存储器装置中的任一种。例如,存储器 ***110可被实施为固态硬盘(SSD)、多媒体卡(例如,MMC、嵌 入式MMC(eMMC)、减小尺寸的MMC(RS-MMC)和微型MMC)、 安全数字卡(例如,SD、迷你SD和微型SD)、通用串行总线(USB) 存储器装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体 卡和记忆棒中的任一种。
实施存储器***110的存储器装置中的任意一种可以是诸如动态 随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)的易 失性存储器装置或者诸如以下的非易失性存储器装置:只读存储器 (ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除 可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电 随机存取存储器(FRAM)、相变RAM(PRAM)、磁性RAM(MRAM) 和/或电阻式RAM(RRAM)。
存储器***110包括存储待由主机102访问的数据的存储器装置 150和控制存储器装置150中的数据存储的控制器130。
控制器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)播放器、三维电视、智能 电视、数字音频记录仪、数字音频播放器、数字图片记录仪、数字 图片播放器、数字视频记录仪、数字视频播放器、配置数据中心的 存储器装置、能够在无线环境下传送和接收信息的装置、配置家庭 网络的各种电子装置中的一种、配置计算机网络的各种电子装置中 的一种、配置远程信息处理网络的各种电子装置中的一种、无线射 频识别(RFID)装置、或者配置计算***的各种组成元件中的一种 中。
即使不供应电力,存储器装置150也可保留所存储的数据。特别 地,存储器装置150通过写入操作存储从主机102提供的数据,并且 通过读取操作将存储的数据提供至主机102。存储器装置150包括多 个存储器管芯1501至150n。
多个存储器管芯1501至150n包括多个存储块BLK1至BLKz,每个 存储块包括多个页面。每个页面包括连接至多个字线(WL)的多个 存储器单元。并且,存储器装置150包括多个平面,每个平面包括多 个存储块,例如块BLK1至BLKz。特别地,存储器装置150可包括多个存储器管芯1501至150n,每个存储器管芯包括多个平面。存储器 装置150可以是非易失性存储器装置,例如,闪速存储器。闪速存储 器可具有三维(3D)堆叠结构。
在下文中给出包括3D堆叠结构的存储器装置150的结构的详细 说明。
控制器130响应于来自主机102的请求控制存储器装置150。例 如,控制器130将从存储器装置150读取的数据提供至主机102,并且 将从主机102提供的数据存储在存储器装置150中。为此,控制器130 控制存储器装置150的操作,诸如读取操作、写入操作、编程操作和 擦除操作。
控制器130包括主机接口(I/F)132、处理器134、存储器接口 (I/F)142、存储器144以及碎片整理管理器145。
主机接口132处理主机102的命令和数据,并且可配置成通过诸 如以下的各种接口协议中的至少一种与主机102通信:通用串行总线 (USB)、多媒体卡(MMC)、高速***组件互连(PCI-e或PCIe)、 串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附 件(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)以及移动工业处理器接口(MIPI)。 主机接口32可通过被称为主机接口层(HIL)的固件驱动,主机接口 层为与主机102交换数据的区域。
存储器接口142用作执行控制器130和存储器装置150之间的接口 连接的存储器存储接口以允许控制器130响应于来自主机102的请求 来控制存储器装置150。在存储器装置150是闪存存储器的情况下, 特别是在存储器装置150是NAND闪存存储器的情况下,存储器接口 142根据作为NAND闪存控制器(NFC)的处理器134的控制生成用于 存储器装置150的控制信号并处理数据。存储器接口142可支持处理 控制器130和存储器装置150之间的命令和数据的例如NAND闪存接 口的接口的操作,特别是,控制器130和存储器装置150之间的数据 输入/输出。存储器接口142可通过被称为闪存接口层(FIL)的固件 驱动,闪存接口层为与存储器装置150交换数据的区域。
作为存储器***110和控制器130的工作存储器的存储器144存储 用于驱动存储器***110和控制器130的数据。例如,当控制器130响 应于来自主机102的请求控制存储器装置150时,控制器130可将从存 储器装置150读取的数据提供至主机102,和/或将从主机102提供的 数据存储在存储器装置150中。为此,当控制器130控制存储器装置 150的诸如读取操作、写入操作、编程操作和擦除操作的操作时,存 储器144存储允许存储器***110,即控制器130和存储器装置150之间 执行这些操作所需的数据。
存储器144可由易失性存储器来实现。例如,存储器144可由静 态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实 现。此外,存储器144可被设置在如图1所示的控制器130内。可选 地,存储器144可在控制器130外,对此,存储器144可实现为通过存 储器接口与控制器130通信的独立的外部易失性存储器。
如上所述,存储器144存储在主机102和存储器装置150之间执行 数据读取操作和写入操作所需的数据以及执行数据读取操作和写入 操作时的数据。对于这种数据存储,存储器144包括程序存储器、数 据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲 器/高速缓存、映射缓冲器/高速缓存等。
处理器134控制存储器***110的全部操作,特别地,响应于来自 主机102的写入请求或读取请求控制对存储器装置150的编程操作或 读取操作。处理器134驱动被称为闪存转换层(FTL)的固件,以控 制存储器***110的一般操作。处理器134可由微处理器或中央处理单 元(CPU)实现。
例如,控制器130通过由微处理器或中央处理单元(CPU)实施 的处理器134,在存储器装置150中执行主机102请求的操作,即,利 用存储器装置150执行与从主机102接收的命令对应的命令操作。控制 器130可执行前台操作,该前台操作为与从主机102接收的命令对应的 命令操作,例如,与写入命令对应的编程操作、与读取命令对应的读 取操作、与擦除命令对应的擦除操作、或与作为设置命令的设置参数 命令或设置特征命令对应的参数设置操作。
控制器130还可通过由微处理器或中央处理单元(CPU)实施的 处理器134来对存储器装置150执行后台操作。后台操作包括将存储器 装置150的存储块BLK1至BLKz之中的一个存储块中存储的数据复制 到另一存储块中的操作。这种后台操作可以是:垃圾收集(GC)操 作;交换选择存储块BLK1至BLKz或存储块BLK1至BLKz中存储的数 据的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射 数据存储在存储块BLK1至BLKz中的操作,例如映射清除操作;或者 对存储器装置150执行坏块管理的操作,例如识别并处理存储器装置 150中的存储块BLK1至BLKz之中的坏块的操作。
处理器134可驱动碎片整理管理器145。也就是说,碎片整理管理 器145可由处理器134驱动。在描述碎片整理管理器145之前,注意的 是,通常由于与从主机102接收的命令对应的操作,例如与写入命令 或读取命令对应的写入操作或读取操作的吞吐量的增加增强了每个 块中包括的逻辑块地址(LBA)的碎片化,因此控制器130的写入性 能或读取性能可能被显著劣化。为了解决这个问题,碎片整理管理器 145计算多个存储块的顺序索引。另外,碎片整理管理器145将多个存 储块的顺序索引与阈值Th进行比较,并对具有小于或等于阈值的顺序 索引的存储块执行内部操作。关于这一点,将参照图2A至图2C详细 描述碎片整理管理器145。
根据实施例,提供了一种包括一个或多个处理器以及包含编程命 令的一个或多个存储装置,同时与主机进行交互的存储器***。例如, 一个或多个处理器和包括编程命令的一个或多个存储装置可利用包 括在控制器130中的存储器144和处理器134来实施。
图2A至图2C是示出根据实施例的对存储器***中的存储器装置 的数据处理操作的示例的示图。
参照图2A至图2C,碎片整理管理器145可包括顺序索引计算器 1451、内部操作确定组件1452以及内部操作执行组件1453。
参照图2A,每当控制器130响应于从主机102接收的命令执行命 令操作,例如响应于写入命令将数据写入至第一存储块BLK1中的操 作时或者当LBA信息被写入到包括在第一存储块BLK1中的所有页面 时,顺序索引计算器1451计算第一存储块BLK1的顺序索引。例如, 顺序索引计算器1451可在每当LBA信息被写入到第一存储块BLK1时 计算顺序索引,并将顺序索引存储在存储器144中包括的顺序索引列 表(未示出)中。具体地,当第一存储块BLK1是开放块时,顺序索 引计算器1451可将第一存储块BLK1的顺序索引重置为“0”。每当LBA 信息被写入到第一存储块BLK1时,顺序索引计算器1451确定先前已 被写入的第一LBA信息和第二LBA信息的LBA访问模式。第一LBA信 息是指当前被写入在第一存储块BLK1中的LBA信息,第二LBA信息 是指在第一LBA信息被写入到第一存储块BLK1之前所写入的LBA信息。为了便于描述,第一LBA信息被称为“当前LBA信息”,第二LBA 信息被称为“先前LBA信息”。另外,LBA信息可被映射到指示存储 块的任意一个页面的物理地址,并且可在控制器130的存储器144中管 理与LBA信息相关的L2P表。
顺序索引计算器1451可基于当前LBA信息和先前LBA信息之间 的差值来确定LBA访问模式。例如,在当前LBA信息与先前LBA信息 之间的差值为“1”时,顺序索引计算器1451将LBA访问模式确定为 顺序模式,并将顺序索引增加(1++)。另一方面,在当前LBA信息与先前LBA信息之间的差值不是“1”时,顺序索引计算器1451将LBA 访问模式确定为随机模式,并且不增加顺序索引。例如,当LBA0首 先被存储在第一存储块BLK1中时,顺序索引为“0”。当在LBA0之后, 将LBA18存储在第一存储块BLK1中时,LBA18和LBA0之间的差值大 于“1”。因此,顺序索引计算器1451将LBA访问模式确定为随机模式, 并且不增加顺序索引。另一方面,当在LBA40被存储在第一存储块 BLK1中之后存储LBA41时,LBA41和LBA40之间的差值为“1”。因 此,顺序索引计算器1451将LBA访问模式确定为顺序模式,并将顺序 索引增加(1++)。以这种方式,顺序索引计算器1451可确定第一存储 块BLK1的LBA访问模式,并计算顺序索引,直到LBA信息被存储在 第一存储块BLK1中的所有页面中。当LBA信息被存储在第一存储块 BLK1中的所有页面中时,控制器130可将第一存储块BLK1指定为关 闭块,并将第一存储块BLK1的顺序索引存储在存储器144中的顺序索 引列表中。例如,控制器130可将第一存储块BLK1的顺序索引“3” 存储在存储器144的顺序索引列表中。
随后,参照图2B描述的内部操作确定组件1452可基于第一存储块 BLK1的顺序索引来确定是否执行内部操作。
参照图2B,内部操作确定组件1452可将存储在顺序索引列表中的 第一存储块BLK1的顺序索引与阈值进行比较,并且确定是否对第一 存储块BLK1执行内部操作。换言之,当第一存储块BLK1的顺序索引 与阈值之间的比较结果指示第一存储块BLK1的顺序索引大于阈值 时,内部操作确定组件1452确定存储在第一存储块BLK1中的LBA信 息片段被顺序地排列,并且不需要被执行内部操作。
另一方面,当比较结果指示第一存储块BLK1的顺序索引小于阈 值时,内部操作确定组件1452确定LBA信息片段被随机存储在第一存 储块中BLK1,并且将必须被执行内部操作的存储块的指示存储在候 选列表中。例如,当阈值为“6”时,第一存储块BLK1的顺序索引为 “3”。因此,内部操作确定组件1452确定第一存储块BLK1的LBA碎 片已经出现,并且因此确定必须执行通过内部操作执行组件1453的内 部操作。
参照图2C,内部操作执行组件1453检查存储在候选列表中的存储 块。例如,内部操作执行组件1453可从候选列表中检查到第一存储块 BLK1。内部操作执行组件1453可按照LBA信息的升序来读取检查到 的第一存储块BLK1中的LBA信息片段,并将该LBA信息片段迁移到 空闲块,以便顺序地重新排列和存储该LBA信息片段。例如,内部操 作执行组件1453读取LBA0,LBA0是包括在从候选列表检查到的第一 存储块BLK1中的LBA信息片段之中的最低LBA信息,并且将最低 LBA信息(即,LBA0)迁移到作为空闲块的第二存储块BLK2。随后, 内部操作执行组件1453读取LBA12,LBA12是除了LBA0之外的、第 一存储块BLK1中的剩余LBA信息片段之中的最低LBA信息,并且将 最低LBA信息(即LBA12)迁移到第二存储块BLK2。以这种方式, 可执行内部操作,直到不再存在LBA信息以被从第一存储块BLK1迁 移到第二存储块BLK2。因此,LBA信息片段可被顺序地重新排列并 且存储在第二存储块BLK2中。
图3至图6是示出根据实施例的存储器***的操作的流程图。图3 是示出根据实施例的碎片整理管理器的操作方法的流程图。
参照图3,在步骤S301中,每当控制器130响应于从主机102接收 的命令执行命令操作,例如响应写入命令将数据写入到第一存储块 BLK1的操作时,或者当LBA信息被写入到包括在第一存储块BLK1 中的所有页面时,控制器130可计算第一存储块BLK1的顺序索引。例 如,每当LBA信息被写入到第一存储块BLK1时,控制器130可计算第 一存储块BLK1的顺序索引并将顺序索引存储在存储器144中包括的 顺序索引列表(未示出)中。
在步骤S303中,控制器130将计算的顺序索引与设定或预定阈值 进行比较,并确定是否必须对第一存储块BLK1执行内部操作。
当在步骤S303中确定必须对第一存储块BLK1执行内部操作时, 在步骤S305中,控制器130可读取存储在第一存储块BLK1中的LBA 信息片段,并且将LBA信息片段迁移并存储至作为空闲块的第二存储 块BLK2中。
图4是示出根据实施例的图3中的计算存储块的顺序索引的方法 的流程图。
参照图4,在步骤S401中,当第一存储块BLK1是开放块时,控制 器130可将第一存储块BLK1的顺序索引重置为“0”。例如,当LBA0 被首先存储在第一存储块BLK1中时,顺序索引为“0”。
在步骤S403中,控制器130确定先前已被写入的第一LBA信息和 第二LBA信息的LBA访问模式。第一LBA信息是指当前被写入在第一 存储块BLK1中的LBA信息,第二LBA信息是指在第一LBA信息被写 入到第一存储块BLK1之前所写入的LBA信息。为了便于描述,第一LBA信息被称为“当前LBA信息”,第二LBA信息被称为“先前LBA 信息”。
在步骤S405中,控制器130可基于当前LBA信息与先前LBA信息 之间的差值来确定存储在第一存储块BLK1中的LBA信息的LBA访问 模式是顺序模式还是随机模式。例如,控制器130可确定当前LBA信 息和先前LBA信息之间的差值是否为“1”,以便确定LBA访问模式是顺序模式还是随机模式。
在当前LBA信息与先前LBA信息之间的差值不为“1”(即在步骤 S405中为“否”)时,在步骤S406中,控制器130确定当前LBA信息和 先前LBA信息的模式是随机模式,并且不增加顺序索引。例如,当在 LBA0之后,将LBA18存储在第一存储块BLK1中时,因为LBA18和LBA0之间的差值大于“1”,所以控制器130确定LBA18和LBA0的模 式是随机模式,并且不增加顺序索引。
另一方面,在当前LBA信息与先前LBA信息之间的差值为“1” (即,在步骤S405中为“是”)时,在步骤S407中,控制器130确定当 前LBA信息和先前LBA信息的模式是顺序模式,并且将顺序索引增加 (1++)。例如,当在LBA40被存储在第一存储块BLK1中之后存储 LBA41时,因为LBA40和LBA41之间的差值是“1”,所以控制器130 确定LBA41和LBA40的模式是顺序模式,并且将顺序索引增加(1++)。 以这种方式,控制器130可通过确定第一存储块BLK1的LBA访问模 式,直到LBA信息被存储在第一存储块BLK1中包括的所有页面中, 来计算顺序索引。在步骤S409中,当LBA信息被存储在第一存储块 BLK1中包括的所有页面中时,控制器130可将第一存储块BLK1改变 为关闭块,并将第一存储块BLK1的顺序索引存储在存储器144中包括 的顺序索引列表中。例如,控制器130可将第一存储块BLK1的顺序索 引“3”存储在存储器144的顺序索引列表中。
图5是示出根据实施例的基于图3中的存储块的顺序索引与阈值 之间的比较结果来确定是否执行内部操作的方法的流程图。
参照图5,在步骤S501中,控制器130检查存储在顺序索引列表中、 作为关闭块的第一存储块BLK1的顺序索引,并且确定是否执行内部 操作。
在步骤S503中,控制器130将第一存储块BLK1的顺序索引与阈值 进行比较。
当第一存储块BLK1的顺序索引与阈值之间的比较结果表明第一 存储块BLK1的顺序索引大于阈值时(即在步骤S503中为“否”)时, 控制器130确定存储在第一存储块BLK1中的LBA信息片段被顺序地 排列,并且不需要执行内部操作。
另一方面,当第一存储块BLK1的顺序索引与阈值之间的比较结 果表明第一存储块BLK1的顺序索引小于阈值时(即,在步骤S503中 为“是”)时,在步骤S505中,控制器130确定LBA信息片段被随机地 存储在第一存储块BLK1中,并且将必须被执行内部操作的存储块存 储在候选列表中。例如,当阈值为“6”时,因为第一存储块BLK1 的顺序索引是“3”,所以控制器130确定第一存储块BLK1的LBA碎片 已经出现。因此,控制器130确定必须执行内部操作。
图6是示出根据实施例的执行内部操作的方法的流程图。
参照图6,在步骤S6001中,控制器130检查存储在候选列表中的 存储块。例如,控制器130从候选列表中检查到第一存储块BLK1。
在步骤S6003中,控制器130读取在第一存储块中包括的LBA信息 片段之中的最低LBA信息,并将LBA信息迁移到空闲块。通过按照 LBA信息的升序来将存储在第一存储块中的LBA信息片段迁移到空 闲块,LBA信息片段可被顺序地重新排列在空闲块中。例如,控制器 130读取LBA0,LBA0是包括在从候选列表检查到的第一存储块BLK1 中的LBA信息片段之中的最低LBA信息,并且将该最低LBA信息(即 LBA0)迁移到作为空闲块的第二存储块BLK2。随后,控制器130读 取LBA12,LBA12是除了LBA0之外的、第一存储块BLK1中的剩余 LBA信息片段之中的最低LBA信息,并且将该最低LBA信息(即 LBA12)迁移到第二存储块BLK2。以这种方式,可执行迁移操作, 直到不再存在LBA信息以被从第一存储块BLK1迁移到第二存储块BLK2。因此,LBA信息片段可被顺序地重新排列并存储在第二存储 块BLK2中。
本实施例可应用于超级存储块。
图7是描述在根据实施例的存储器***中使用的超级存储块的概 念的示图。
图7示出包括在根据图1的实施例的存储器***110的组件之中的 存储器装置150中的多个存储器管芯1501至150n。例如,存储器装置 150可包括第一存储器管芯1501和第二存储器管芯1502。
第一存储器管芯1501和第二存储器管芯1502中的每一个可包括 多个平面。例如,第一存储器管芯1501可包括第一平面PLANE00和 第二平面PLANE01,第二存储器管芯1502可包括第三平面PLANE10 和第四平面PLANE11。平面中的每一个可包括多个块。例如,第一平 面PLANE00可包括第一至第N存储块BLOCK000至BLCOK00N,第二 平面PLANE01可包括第一至第N存储块BLOCK010至BLCOK01N。第 三平面PLANE10可包括第一至第N存储块BLOCK100至BLCOK10N, 第四平面PLANE11可包括第一至第N存储块BLOCK110至 BLCOK11N。
第一存储器管芯1501能够通过第零通道CH0输入/输出数据,第二 存储器管芯1502能够通过第一通道CH1输入/输出数据。第零通道CH0 和第一通道CH1可以交错方案输入/输出数据。
第一存储器管芯1501包括分别与多个通路WAY0和WAY1对应的 多个平面PLANE00和PLANE01,多个通路WAY0和WAY1能够通过共 享第零通道CH0以交错方案输入/输出数据。
第二存储器管芯1502包括分别与多个通路WAY2和WAY3对应的 多个平面PLANE10和PLANE11,多个通路WAY2和WAY3能够通过共 享第一通道CH1以交错方案输入/输出数据。
存储器装置150中的多个存储块可基于使用相同通路或相同通道 的物理位置来被划分为组。
根据设计者的选择,多于或少于两个存储器管芯可被包括在存储 器装置150中,并且多于或少于两个平面可包括在每个存储器管芯中。 另外,还可根据设计者的选择来调整包括在每个平面中的存储块的设 定或预定数量。
控制器130可将基于存储块的物理位置而被划分为不同管芯或不 同平面的多个存储块之中的可被同时选择的存储块进行分组,并且将 该存储块组作为超级存储块来管理。
可以根据设计者的选择来以各种方式执行以下方案:控制器130 将存储块划分为超级存储块并管理超级存储块。下面将描述三个示例 性方案。
第一方案是控制器130将存储器装置150中的多个存储器管芯 1501和1502的第一存储器管芯1501中的第一平面PLANE00的任意存 储块BLOCK000和第二平面PLANE01的任意存储块BLOCK010进行 分组,并且将分组的存储块BLOCK000和BLOCK010作为单个超级 存储块A1来管理。当将第一方案应用于存储器装置150中的第二存 储器管芯1502时,控制器130可将第二存储器管芯1502中的第一平面 PLANE10的任意存储块BLOCK100和第二平面PLANE11的任意存储 块BLOCK110进行分组,并将分组的存储块BLOCK100和BLOCK110 作为单个超级存储块A2来管理。
第二方案是控制器130将第一存储器管芯1501的第一平面 PLANE00中的任意存储块BLOCK002和第二存储器管芯1502的第一 平面PLANE10中的任意存储块BLOCK102进行分组,并将分组的存储 块BLOCK002和BLOCK102作为单个超级存储块B1来管理。另外,根 据第二方案,控制器130可将第一存储器管芯1501的第二平面 PLANE01中的任意存储块BLOCK012和第二存储器管芯1502的第二 平面PLANE11中的任意存储块BLOCK112进行分组,并将分组的存储 块BLOCK012和BLOCK112作为单个超级存储块B2来管理。
第三方案是控制器130将第一存储器管芯1501的第一平面 PLANE00中的任意存储块BLOCK001、第一存储器管芯1501的第二 平面PLANE01中包括的任意存储块BLOCK011、第二存储器管芯 1502的第一平面PLANE10中的任意存储块BLOCK101以及第二存储 器管芯1502的第二平面PLANE11中的任意存储块BLOCK111进行分 组,并将分组的存储块BLOCK001、BLOCK011、BLOCK101和 BLOCK111作为单个超级存储块C来管理。
因此,可通过交错方案来基本上同时地选择超级存储块的每一 个包括的可同时选择的存储块。交错方案例如通道交错方案、存储器 管芯交错方案、存储器芯片交错方案或通路交错方案。
参照图8至图16,描述根据实施例的可应用包括上面描述的存储 器装置150和控制器130的存储器***110的数据处理***和电子设 备。
图8是示出包括根据实施例的存储器***的数据处理***的示 图。图8示出应用存储器***的存储卡***6100。
参照图8,存储卡***6100包括连接器6110、存储器控制器6120 和存储器装置6130。
存储器控制器6120与实施为非易失性存储器(NVM)的存储器 装置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或Wi-Fi以及蓝牙。因此,存储器系 统和数据处理***可应用于有线和/或无线电子设备,特别是移动电 子设备。
存储器装置6130可通过诸如以下的非易失性存储器来实施:电 可擦除可编程ROM(EPROM)、NAND闪存存储器、NOR闪存存储 器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可集成到一个半导体装置 中,以形成固态硬盘(SSD)、或诸如以下的存储卡:PC卡(个人计 算机存储卡国际协会(PCMCIA))、标准闪存(CF)卡、智能媒体 卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、 RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,SD、 迷你SD、微型SD和SDHC)或通用闪存(UFS)。
图9是示意性示出包括根据实施例的存储器***的数据处理*** 6200的示图。
参照图9,数据处理***6200包括通过至少一个非易失性存储器 (NVM)实施的存储器装置6230和控制存储器装置6230的存储器控 制器6220。数据处理***6200可以是诸如存储卡(例如,CF、SD和 微型SD)的存储介质。存储器装置6230可对应于上面参照图1描述的 存储器***110中的存储器装置150,并且存储器控制器6220可对应 于上面参照图1描述的存储器***110中的控制器130。
存储器控制器6220可响应于来自主机6210的请求来控制对存储 器装置6230的读取操作、写入操作和擦除操作。存储器控制器6220 包括至少一个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路 6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的一般操作,例如读取、写 入、文件***管理和坏页面管理等。RAM 6222可根据CPU 6221的 控制来操作且可用作工作存储器、缓冲存储器或高速缓存存储器 等。在RAM 6222用作工作存储器的情况下,通过CPU 6221处理的 数据可被临时存储在RAM 6222中。在RAM 6222用作缓冲存储器的 情况下,RAM 6222用于缓冲从主机6210传送到存储器装置6230的数 据或从存储器装置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码、turbo码、里德-所罗门)码、卷积码、RSC、TCM 和BCM的各种编码调制中的任意一种来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传送数据以 及从主机6210接收数据,并通过NVM接口6225向存储器装置6230传 送数据以及从存储器装置6230接收数据。主机接口6224可通过PATA 总线、SATA总线、SCSI、USB、PCIe或NAND接口与主机6210连接。此外,由于实施了诸如WiFi或长期演进(LTE)的无线通信功能 或移动通信协议,存储器控制器6220可通过与外部装置,例如主机 6210或其它外部装置连接来传送和接收数据。具体地,由于存储器 控制器6220被配置为通过各种通信协议中的至少一种与外部装置进 行通信,因此存储器***和数据处理***可应用于有线和/或无线电 子设备,特别是移动电子设备。
图10是示出包括根据实施例的存储器***的数据处理***的示 图。图10示出应用存储器***的固态硬盘(SSD)6300。
参照图10,SSD 6300包括控制器6320和包括多个非易失性存储 器(NVM)的存储器装置6340。控制器6320可对应于上面参照图1描 述的存储器***110中的控制器130,并且存储器装置6340可对应于 上面参照图1描述的存储器***110中的存储器装置150。
控制器6320通过多个信道CH1、CH2、CH3、……和CHi与存储 器装置6340连接。控制器6320包括至少一个处理器6321、ECC电路 6322、主机接口6324、缓冲存储器6325以及例如非易失性存储器 (NVM)接口6326的存储器接口。
缓冲存储器6325临时存储从主机6310接收的数据或从存储器装 置6340中包括的多个闪存存储器NVM接收的数据,或者临时存储多 个闪存存储器NVM的元数据,例如,包括映射表的映射数据。缓冲 存储器6325可通过诸如但不限于DRAM、SDRAM、DDR SDRAM、 LPDDRSDRAM和GRAM的易失性存储器或诸如但不限于FRAM、 ReRAM、STT-MRAM和PRAM的非易失性存储器来实现。尽管图13 示出了缓冲存储器6325设置在控制器6320内,然而缓冲存储器6325可设置在控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340中的数据的错误校正编码值。在读取操作期间,ECC电路6322 基于错误校正编码值对从存储器装置6340读取的数据执行错误校正 操作。在失效数据的恢复操作期间,ECC电路6322对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324提供与诸如主机6310的外部装置的接口功能,并 且非易失性存储器接口6326提供与通过多个信道CH1、CH2、 CH3、……和CHi连接的存储器装置6340的接口功能。
通过使用每一个均应用了存储器***110的多个SSD 6300,可实 现数据处理***,例如,独立磁盘冗余阵列(RAID)***。在RAID ***中,可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制 器。在通过从主机6310接收写入命令而执行编程操作的情况下,RAID控制器可对应于接收的写入命令的RAID级别信息在多个RAID 级别,即多个SSD 6300中选择至少一个存储器***,即,至少一个SSD 6300,并可将与写入命令对应的数据输出到选择的SSD 6300。并 且,在通过从主机6310接收读取命令而执行读取操作的情况下, RAID控制器可对应于接收的读取命令的RAID级别信息在多个RAID 级别,即多个SSD 6300中选择至少一个存储器***,即,至少一个 SSD 6300,并可将从选择的SSD 6300输出的数据提供给主机6310。
图11是示出包括根据实施例的存储器***的数据处理***的示 图。图11示出应用存储器***的嵌入式多媒体卡(eMMC)6400。
参照图11,eMMC 6400包括控制器6430和通过至少一个NAND 闪存存储器实施的存储器装置6440。控制器6430可对应于上面参照 图1描述的存储器***110中的控制器130,并且存储器装置6440可对 应于上面参照图1描述的存储器***110中的存储器装置150。
控制器6430通过多个信道与存储器装置6440连接。控制器6430 包括至少一个内核6432、主机接口(I/F)6431和存储器接口,即 NAND接口(I/F)6433。
内核6432控制eMMC 6400的一般操作。主机接口6431提供控制 器6430和主机6410之间的接口功能。NAND接口6433提供存储器装 置6440和控制器6430之间的接口功能。例如,主机接口6431可以是 并行接口,例如上面参照图1所描述的MMC接口,并且主机接口6431可以是串行接口,例如超高速(UHS)-I/UHS-II接口和UFS接 口。
图12至图15是示出包括根据实施例的存储器***的数据处理系 统的示例的示图。图12至图15中的每一个示出应用存储器***的通 用闪存(UFS)。
参照图12至图15,各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可参照图9至图11描述的数据 处理***6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡 6530、6630、6730和6830可参照图15描述的存储卡***6100的形式来 实施。
在各UFS***6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、 6630、6730和6830可通过通用闪存(UFS)接口,例如,移动工业处 理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)来执 行通信。UFS装置6520、6620、6720和6820与UFS卡6530、6630、 6730和6830可通过除UFS协议之外的另一协议,例如,诸如通用存 储总线(USB)、闪存驱动器(UFD)、多媒体卡(MMC)、安全 数字(SD)、迷你SD和/或微型SD的各种卡协议来执行通信。
在图12所示的UFS***6500中,主机6510、UFS装置6520以及 UFS卡6530中的每一个可包括UniPro。主机6510执行交换操作,以 便与UFS装置6520和UFS卡6530中的每一个通信。特别地,主机6510 通过例如L3交换的UniPro中的链路层交换与UFS装置6520或UFS卡6530来执行通信。UFS装置6520和UFS卡6530可通过主机6510的 UniPro中的链路层交换来执行通信。尽管作为示例描述了一个UFS 装置6520和一个UFS卡6530连接到主机6510,然而要注意的是,多 个UFS装置和多个UFS卡可并联布置或星型布置连接到主机6510。并 且,多个UFS卡可并联式布置、星型式布置、串联式布置或链型式 布置连接到UFS装置6520。
在图13所示的UFS***6600中,主机6610、UFS装置6620和UFS 卡6630中的每一个可包括UniPro。主机6610通过执行交换操作的交 换模块6640,例如,执行例如L3交换操作的UniPro中的链路层交换 的交换模块6640,来与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过在交换模块6640的UniPro中的链路层交换 来执行通信。尽管作为示例描述了一个UFS装置6620和一个UFS卡 6630连接到交换模块6640,然而要注意的是,多个UFS装置和多个 UFS卡可并联式布置或星型式布置连接到交换模块6640。并且,多 个UFS卡可并联式布置、星型式布置、串联式布置或链型式布置连 接到UFS装置6620。
在图14所示的UFS***6700中,主机6710、UFS装置6720和UFS 卡6730中的每一个中可包括UniPro。主机6710通过执行交换操作的 交换模块6740,特别地,执行例如L3交换操作的UniPro中的链路层 交换的交换模块6740,来与UFS装置6720或UFS卡6730通信。UFS装 置6720和UFS卡6730可通过交换模块6740的UniPro中的链路层交换 来执行通信。交换模块6740可在UFS装置6720内部或外部与UFS装置 6720实施为一个模块。尽管作为示例描述了一个UFS装置6720和一 个UFS卡6730连接到交换模块6740,然而要注意的是,交换模块6740和UFS装置6720分别被实施在其中的多个模块可并联式布置或 星型式布置连接到主机6710。并且,各模块可串联式布置或以链型 式布置连接,或者多个UFS卡可并联式布置或星型式布置连接到交 换模块6740。
在图15所示的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。并且,多 个UFS卡可并联式布置、星型式布置、串联式布置或链型式布置中 的任一种连接到UFS装置6820。
图16是示出包括根据实施例的存储器***的数据处理***的示 图。图16示出应用存储器***的用户***6900。
参照图16,用户***6900包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
应用处理器6930驱动用户***6900中包括的组件和操作*** (OS)。例如,应用处理器6930可包括控制用户***6900中包括的 组件的控制器、接口和图形引擎等。应用处理器6930可通过片上系 统(SoC)被提供。
存储器模块6920可用作用户***6900的主存储器、工作存储 器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如 DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2 SDRAM和LPDDR3 SDRAM 的易失性随机存取存储器,或诸如PRAM、ReRAM、MRAM和 FRAM的非易失性随机存取存储器。例如,可基于堆叠封装(PoP) 封装来安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可 支持有线通信,而且可支持各种无线通信,诸如码分多址 (CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、 CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接 入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、 蓝牙、无线显示(WI-DI)等,因此可与有线和/或无线电子设备,特 别是移动电子设备通信。因此,存储器***和数据处理***可应用 于有线和/或无线电子设备。网络模块6940可包括在应用处理器6930 中。
存储模块6950可存储数据,例如从应用处理器6930接收的数 据,并且可将存储在其中的数据传送到应用处理器6930。存储模块 6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻 式RAM(ReRAM)、NAND闪存存储器、NOR闪存存储器和三维 NAND闪存存储器的非易失性存储器来实施。并且,存储模块6950 可被提供为诸如用户***6900的存储卡和外部驱动器的可移除存储 介质。也就是说,存储模块6950可对应于上面参照图1描述的存储器 ***110,并且可被实施为上面描述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或 者用于将数据输出到外部装置的接口。例如,用户接口6910可包括 诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、 摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输 入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED) 显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和 监视器的用户输出接口。
在上面参照图1描述的存储器***110被应用于根据实施例的用 户***6900的移动电子设备的情况下,如上所述,应用处理器6930 控制移动电子设备的一般操作,并且作为通信模块的网络模块6940 控制与外部装置的有线和/或无线通信。作为移动电子设备的显示和 触摸模块的用户接口6910显示应用处理器6930处理的数据,或支持 来自触摸面板的数据输入。
根据本发明的实施例,通过有效地使包括在存储器装置中的 NAND映射表与包括在主机中的主机映射表同步,数据处理***和操 作数据处理***的方法可具有最小的或低的复杂性和性能劣化。
根据本发明的实施例,可通过基于顺序逻辑块地址信息片段而计 算的顺序索引来重新排列多个逻辑块地址,从而减少逻辑块地址的碎 片。
虽然针对特定实施例已经示出并描述了本发明,但是根据前面的 描述,本领域技术人员将显而易见的是,在不脱离如所附权利要求所 限定的本发明的精神和范围的情况下,可进行各种改变和修改。

Claims (21)

1.一种存储器***,包括:
存储器装置,包括第一存储块和第二存储块;以及
控制器,控制所述存储器装置,
其中所述控制器包括:
顺序索引计算器,基于被写入在所述第一存储块的第一逻辑块地址信息,即第一LBA信息和第二逻辑块地址信息,即第二LBA信息来计算顺序索引;
内部操作确定组件,通过将所述第一存储块的顺序索引与阈值进行比较来确定是否对所述第一存储块执行内部操作;以及
内部操作执行组件,当确定对所述第一存储块执行所述内部操作时,将存储在所述第一存储块中的LBA信息片段迁移至所述第二存储块以重新排列所述LBA信息片段。
2.根据权利要求1所述的存储器***,其中所述第一LBA信息是指当前被写入在所述第一存储块中的信息。
3.根据权利要求1所述的存储器***,其中所述第二LBA信息是指在所述第一LBA信息被写入至所述第一存储块中之前被写入的信息。
4.根据权利要求1所述的存储器***,其中所述顺序索引计算器基于被写入在所述第一存储块中的所述第一LBA信息和所述第二LBA信息来确定LBA访问模式。
5.根据权利要求4所述的存储器***,其中当所确定的LBA访问模式指示所述第一LBA信息和所述第二LBA信息之间的差值是第一值时,所述顺序索引计算器确定所述第一LBA信息和所述第二LBA信息的LBA访问模式是顺序模式,并且将所述顺序索引增加设定单位值。
6.根据权利要求4所述的存储器***,其中当所确定的LBA访问模式指示所述第一LBA信息和所述第二LBA信息之间的差值等于或大于第二值时,所述顺序索引计算器确定所述第一LBA信息和所述第二LBA信息的LBA访问模式是随机模式,并且不增加所述顺序索引。
7.根据权利要求4所述的存储器***,其中所述顺序索引计算器基于所述第一LBA信息和所述第二LBA信息来确定所述LBA访问模式,直到所述LBA信息被写入至所述第一存储块中的所有页面。
8.根据权利要求1所述的存储器***,其中当所述比较结果指示所述第一存储块的顺序索引小于所述阈值时,所述内部操作确定组件将所述第一存储块存储在候选列表中以对所述第一存储块执行所述内部操作。
9.根据权利要求8所述的存储器***,其中所述候选列表存储一个或多个用于执行所述内部操作的存储块信息片段。
10.根据权利要求1所述的存储器***,其中所述内部操作执行组件在存储在所述第一存储块中的LBA信息片段之中检查具有最低值的LBA信息,按照LBA信息的升序来将所述LBA信息片段迁移至所述第二存储块以顺序地重新排列所述LBA信息片段,并且擦除存储在所述第一存储块中的所述LBA信息片段。
11.一种存储器***的操作方法,所述存储器***包括存储器装置和控制器,所述存储器装置包括第一存储块和第二存储块,以及所述控制器控制所述存储器装置,所述操作方法包括:
基于被写入在所述第一存储块中的第一逻辑块地址信息,即第一LBA信息和第二逻辑块地址信息,即第二LBA信息来计算顺序索引;
将所述第一存储块的顺序索引与阈值进行比较来确定是否对所述第一存储块执行内部操作;并且
当确定对所述第一存储块执行所述内部操作时,将存储在所述第一存储块中的LBA信息片段迁移至所述第二存储块以重新排列所述LBA信息片段。
12.根据权利要求11所述的操作方法,其中所述第一LBA信息是指当前被写入在所述第一存储块中的信息。
13.根据权利要求11所述的操作方法,其中所述第二LBA信息是指在所述第一LBA信息被写入至所述第一存储块之前被写入的信息。
14.根据权利要求11所述的操作方法,其中计算所述顺序索引包括基于被写入在所述第一存储块中的所述第一LBA信息和所述第二LBA信息来确定LBA访问模式。
15.根据权利要求14所述的操作方法,其中当所确定的LBA访问模式指示所述第一LBA信息和所述第二LBA信息之间的差值是第一值时,将所述第一LBA信息和所述第二LBA信息的LBA访问模式确定为顺序模式,并且将所述顺序索引增加设定单位值。
16.根据权利要求14所述的操作方法,其中当所确定的LBA访问模式指示所述第一LBA信息和所述第二LBA信息之间的差值等于或大于第二值时,将所述第一LBA信息和所述第二LBA信息的LBA访问模式确定为随机模式,并且不增加所述顺序索引。
17.根据权利要求11所述的操作方法,其中基于被写入至所述第一存储块的所述第一LBA信息和所述第二LBA信息来计算所述顺序索引,直到所述LBA信息被写入至所述第一存储块中的所有页面。
18.根据权利要求11所述的操作方法,其中确定是否对所述第一存储块执行所述内部操作包括当所述第一存储块的顺序索引与所述阈值之间的比较结果指示所述第一存储块的顺序索引小于所述阈值时,将所述第一存储块存储在候选列表中以对所述第一存储块执行所述内部操作。
19.根据权利要求18所述的操作方法,其中所述候选列表存储一个或多个用于执行所述内部操作的存储块信息片段。
20.根据权利要求11所述的操作方法,其中将存储在所述第一存储块中的LBA信息片段迁移至所述第二存储块以重新排列所述LBA信息片段包括:在存储在所述第一存储块中的LBA信息片段之中检查具有最低值的LBA信息,按照LBA信息的升序来将所述LBA信息片段迁移至所述第二存储块以顺序地重新排列所述LBA信息片段,并且擦除存储在所述第一存储块中的LBA信息片段。
21.一种存储器***,包括:
存储器装置,包括存储器管芯,所述存储器管芯的每个包括存储块;以及
控制器,控制所述存储器装置,所述控制器包括碎片整理管理器,所述碎片整理管理器:
计算顺序索引,所述顺序索引指示所述存储块的每个的逻辑块地址访问模式,即LBA访问模式,
将所计算的顺序索引的每个与阈值进行比较,并且
对具有小于或等于所述阈值的顺序索引的存储块执行内部操作。
CN201811609940.5A 2018-09-10 2018-12-27 存储器***及其操作方法 Active CN110888819B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0107821 2018-09-10
KR1020180107821A KR102593757B1 (ko) 2018-09-10 2018-09-10 메모리 시스템 및 메모리 시스템의 동작방법

Publications (2)

Publication Number Publication Date
CN110888819A true CN110888819A (zh) 2020-03-17
CN110888819B CN110888819B (zh) 2023-03-28

Family

ID=69719662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811609940.5A Active CN110888819B (zh) 2018-09-10 2018-12-27 存储器***及其操作方法

Country Status (3)

Country Link
US (1) US11042317B2 (zh)
KR (1) KR102593757B1 (zh)
CN (1) CN110888819B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102675371B1 (ko) * 2018-12-12 2024-06-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
TWI724550B (zh) * 2019-09-19 2021-04-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
CN112631647A (zh) * 2020-12-19 2021-04-09 苏州浪潮智能科技有限公司 一种固件配置方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1956088A (zh) * 2005-10-26 2007-05-02 索尼株式会社 信息处理装置、信息处理方法以及计算机程序
US8762627B2 (en) * 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
CN104011692A (zh) * 2011-12-26 2014-08-27 瑞萨电子株式会社 数据处理装置
CN107203334A (zh) * 2016-03-17 2017-09-26 爱思开海力士有限公司 混合存储器件及其操作方法
CN107346214A (zh) * 2016-05-04 2017-11-14 爱思开海力士有限公司 存储器***及其操作方法
CN107807887A (zh) * 2016-09-09 2018-03-16 爱思开海力士有限公司 存储器***及其操作方法
CN107957959A (zh) * 2016-10-17 2018-04-24 爱思开海力士有限公司 具有文件级安全擦除的存储器***及其操作方法
US20180136865A1 (en) * 2016-11-15 2018-05-17 Samsung Electronics Co., Ltd. Method of operating memory device, memory device using the same and memory system including the device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330654B1 (en) * 1999-08-26 2001-12-11 Micron Technology, Inc. Memory cache with sequential page indicators
US8380680B2 (en) * 2010-06-23 2013-02-19 International Business Machines Corporation Piecemeal list prefetch
US20150081967A1 (en) * 2013-09-18 2015-03-19 Hewlett-Packard Development Company, L.P. Management of storage read requests
TWI526830B (zh) * 2013-11-14 2016-03-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US9229876B2 (en) * 2013-12-17 2016-01-05 Sandisk Technologies Inc. Method and system for dynamic compression of address tables in a memory
IN2015CH01601A (zh) 2015-03-28 2015-05-01 Wipro Ltd
MX363170B (es) * 2015-11-27 2019-03-13 Huawei Tech Co Ltd Método para almacenar datos por medio de un dispositivo de almacenamiento y dispositivo de almacenamiento.
KR20190087217A (ko) * 2018-01-16 2019-07-24 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11163489B2 (en) * 2018-05-23 2021-11-02 SK Hynix Inc. Workload clusterization for memory system and method of executing the same

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1956088A (zh) * 2005-10-26 2007-05-02 索尼株式会社 信息处理装置、信息处理方法以及计算机程序
US8762627B2 (en) * 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
CN104011692A (zh) * 2011-12-26 2014-08-27 瑞萨电子株式会社 数据处理装置
CN107203334A (zh) * 2016-03-17 2017-09-26 爱思开海力士有限公司 混合存储器件及其操作方法
CN107346214A (zh) * 2016-05-04 2017-11-14 爱思开海力士有限公司 存储器***及其操作方法
CN107807887A (zh) * 2016-09-09 2018-03-16 爱思开海力士有限公司 存储器***及其操作方法
CN107957959A (zh) * 2016-10-17 2018-04-24 爱思开海力士有限公司 具有文件级安全擦除的存储器***及其操作方法
US20180136865A1 (en) * 2016-11-15 2018-05-17 Samsung Electronics Co., Ltd. Method of operating memory device, memory device using the same and memory system including the device

Also Published As

Publication number Publication date
US20200081646A1 (en) 2020-03-12
US11042317B2 (en) 2021-06-22
KR20200029235A (ko) 2020-03-18
KR102593757B1 (ko) 2023-10-26
CN110888819B (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
US11086537B2 (en) Method and system to perform urgency level garbage collection based on write history of memory blocks
CN110399311B (zh) 存储器***及该存储器***的操作方法
CN107797882B (zh) 存储器***及其操作方法
CN109144408B (zh) 存储器***及其操作方法
CN110858180B (zh) 数据处理***及其操作方法
CN110765035B (zh) 存储器***及其操作方法
CN109947358B (zh) 存储器***及其操作方法
CN109284202B (zh) 控制器及其操作方法
CN110825318B (zh) 控制器及其操作方法
CN108268212B (zh) 控制器及操作方法
CN111208938B (zh) 存储器***及其操作方法
CN108427536B (zh) 存储器***及其操作方法
CN108733616B (zh) 包括多处理器的控制器及其操作方法
KR102646252B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN109656470B (zh) 存储器***及其操作方法
KR102571629B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
CN110045914B (zh) 存储器***及其操作方法
KR20200006379A (ko) 컨트롤러 및 그것의 동작방법
KR20200074647A (ko) 메모리 시스템 및 그것의 동작방법
CN110888819B (zh) 存储器***及其操作方法
CN110895447A (zh) 控制器及其操作方法
CN111176554A (zh) 存储器***及其操作方法
CN109426448B (zh) 存储器***及其操作方法
CN111258920A (zh) 存储器***、存储器***的操作方法和控制器
US11144406B2 (en) Memory system performing check pointing operation and operating method thereof

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