CN110704331A - 控制器及其操作方法 - Google Patents

控制器及其操作方法 Download PDF

Info

Publication number
CN110704331A
CN110704331A CN201910596848.8A CN201910596848A CN110704331A CN 110704331 A CN110704331 A CN 110704331A CN 201910596848 A CN201910596848 A CN 201910596848A CN 110704331 A CN110704331 A CN 110704331A
Authority
CN
China
Prior art keywords
mapping data
memory
target mapping
controller
compression ratio
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.)
Pending
Application number
CN201910596848.8A
Other languages
English (en)
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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110704331A publication Critical patent/CN110704331A/zh
Pending legal-status Critical Current

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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/1028Power efficiency
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种控制器,该控制器包括:确定组件,适于确定对应于读取请求的目标映射数据是否可压缩以及目标映射数据的压缩比;存储器,适于存储元表,该元表中包含关于目标映射数据是否可压缩的信息以及目标映射数据的压缩比,该存储器包括映射高速缓存缓冲器,该映射高速缓存缓冲器包括保持区域和非保持区域;压缩器,适于在确定目标映射数据可压缩时,以所确定的压缩比压缩目标映射数据;以及处理器,适于将经压缩的目标映射数据存储在保留区域中。

Description

控制器及其操作方法
相关申请的交叉引用
本申请要求于2018年7月10日提交的申请号为10-2018-0080051的韩国专利申请的优先权,其公开内容通过引用整体并入本文。
技术领域
本发明的各个实施例涉及一种控制器。特别地,各个实施例涉及一种能够有效地处理映射高速缓存存储器中存储的数据的控制器及其操作方法。
背景技术
计算机环境范例已经向使得能够随时随地使用计算系统的普适计算转变。因此,对于诸如移动电话、数码相机和膝上型计算机的便携式电子装置的需求已经快速增长。这些电子装置通常包括使用存储器装置作为数据存储装置的存储器系统。数据存储装置可用作便携式电子装置的主存储器或辅助存储器。
由于不存在机械驱动部件,因此数据存储装置提供诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。而且,与硬盘装置相比,这种数据存储装置可具有快速数据访问速率和低功耗。具有这样的优点的数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、各种接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种控制器,该控制器能够有效地处理映射高速缓存存储器中存储的数据。
根据本发明的实施例,控制器可包括:确定组件,适于确定对应于读取请求的目标映射数据是否可压缩以及目标映射数据的压缩比;存储器,适于存储元表(meta table),该元表中包含关于目标映射数据是否可压缩的信息以及目标映射数据的压缩比,该存储器包括映射高速缓存缓冲器,该映射高速缓存缓冲器包括保持区域和非保持区域;压缩器,适于在确定目标映射数据可压缩时,以所确定的压缩比压缩目标映射数据;以及处理器,适于将所压缩的目标映射数据存储在保持区域中。
根据本发明的实施例,控制器的操作方法可包括:确定关于对应于读取请求的目标映射数据是否可压缩的信息以及目标映射数据的压缩比;存储关于目标映射数据是否可压缩的信息以及压缩比;在确定目标映射数据可压缩时,以压缩比压缩目标映射数据;并且将所压缩的目标映射数据存储在存储器的保持区域中。
根据本发明的实施例,存储器系统可包括:存储器装置,适于存储对应于读取请求的目标映射数据;以及控制器,适于从存储器装置加载目标映射数据,基于关于目标映射数据是否可压缩的信息以及目标映射数据的压缩比,将目标映射数据存储在包括保持区域和非保持区域的存储器中,在确定目标映射数据可压缩时,以压缩比压缩目标映射数据,并且将所压缩的目标映射数据存储在保持区域中。
根据本发明的实施例,存储器系统可包括:存储器装置;以及控制器,包括存储器,该存储器包括保持区域和非保持区域,其中该控制器适于:控制存储器装置以存储对应于读取请求的目标映射数据;将目标映射数据的信息存储在存储器中,该信息指示目标映射数据是否可压缩;从存储器装置加载目标映射数据;基于该信息确定目标映射数据是否可压缩;在确定目标映射数据可压缩时,压缩该目标映射数据;并且将所压缩的目标映射数据存储在保持区域中。
附图说明
在本文中参照附图进行描述,其中在若干视图中,相同的附图标记始终指代相同的部件,并且其中:
图1是示出根据本公开的实施例的包括存储器系统的数据处理系统的框图;
图2是示出根据本公开的实施例的存储器系统的存储器装置的示意图;
图3是示出根据本公开的实施例的存储器装置中的存储块的存储器单元阵列的电路图;
图4是示出根据本公开的实施例的存储器装置的三维结构的示意图;
图5示出了根据本公开的实施例的存储器系统的结构;
图6示出了根据本公开的实施例的存储器的结构;
图7示出了根据本公开的实施例的元表;
图8是示出根据本公开的实施例的控制器的操作的流程图;
图9是示出根据本公开的实施例的控制器的操作的流程图;并且
图10至图18是示出根据本发明的各个实施例的数据处理系统的示例性应用的示意图。
具体实施方式
以下参照附图更详细地描述本公开的各个实施例。然而,本发明的元件和特征可被配置或布置以形成其它实施例,这些实施例可以是任何所公开的实施例的修改或变型。因此,本发明不限于本文阐述的实施例。而是,提供所描述的实施例使得本公开彻底且完整并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本公开的各个附图和示例中始终表示相同的部件。注意的是,对“实施例”等的参考不一定仅意味着一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来识别各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开,否则一个元件与另一元件具有相同或相似的名称。因此,在不脱离本发明的精神和范围的情况下,一个示例中的第一元件在另一示例中可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,可能已经放大了比例。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。除非另有规定或上下文另有说明,否则无论两个元件是直接或间接连接/联接,两个元件之间的通信可以是有线的或无线的。
本文使用的术语的是为了描述特定实施例的目的,而不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其明确所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的相同的含义。将进一步理解的是,诸如在常用词典中限定的那些的术语应被理解为具有与它们在本公开和相关领域的语境中的含义一致的含义,并且将不以理想化或过于形式化的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供本发明的透彻理解,阐述了许多具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还要注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,结合一个实施例所描述的特征或元件可单独使用或与另一实施例的其它特征或元件组合使用,除非另有特别说明。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括可操作地联接到存储器系统110的主机102。
例如,主机102可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种或诸如台式计算机、游戏机、电视(TV)和投影仪等的各种非便携式电子装置中的任意一种。
存储器系统110可响应于来自主机102的请求来操作或执行具体的功能或操作,并且特别地,可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的任意一种来实施。合适的存储装置的非限制性示例包括固态驱动器(SSD),多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC,安全数字(SD)卡、迷你SD和微型SD,通用串行总线(USB)存储装置,通用闪存(UFS)装置,紧凑式闪存(CF)卡,智能媒体(SM)卡,记忆棒等。
存储器系统110的存储装置可利用易失性存储器装置和/或非易失性存储器装置来实施,其中易失性存储器装置诸如动态随机存取存储器(DRAM)和/或静态RAM(SRAM),非易失性存储器装置诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和/或闪速存储器。
存储器系统110可包括控制器130和存储器装置150。存储器装置150可存储待由主机102访问的数据,并且控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可集成到单个半导体装置中,该单个半导体装置可被包括在如上所例示的各种类型的存储器系统中的任意一种中。
存储器系统110可被配置成例如以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下发送和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种组件之一。
存储器装置150可以是即使不供应电力时也保留存储在其中的数据的非易失性存储器装置。存储器装置150可通过写入操作存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供到主机102。存储器装置150可包括多个存储块152至156,多个存储块152至156中的每一个可包括多个页面。多个页面中的每一个可包括与多个字线(WL)电联接的多个存储器单元。
控制器130可控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供到主机102,并且/或者可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括全部经由内部总线可操作地联接的主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、电源管理器(PM)140、存储器接口(I/F)142以及存储器144。
主机接口132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC组件138可检测并校正在读取操作期间从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件138可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。
ECC组件138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)等。ECC组件138可包括基于上述代码中的至少一种来执行错误校正操作的电路、模块、系统或装置中的全部或一些。
PM 140可提供并管理控制器130的电力。
存储器接口142可用作用于处理在控制器130和存储器装置150之间传递的命令和数据的接口,以允许控制器130响应于从主机102传送的请求来控制存储器装置150。当存储器装置150是闪速存储器,特别是NAND闪速存储器时,存储器接口142可在处理器134的控制下生成用于存储器装置150的控制信号,并可处理输入到存储器装置150中或从存储器装置150输出的数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且可存储用于操作或驱动存储器系统110和控制器130的临时性数据或事务数据。控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据传送到主机102中,并且将通过主机102输入的数据存储到存储器装置150内。存储器144可用于存储控制器130和存储器装置150为了执行这些操作所需的数据。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。虽然图1示出存储器144设置在控制器130内部,但本公开不限于此。也就是说,存储器144可位于控制器130内部或外部。例如,存储器144可由具有在存储器144与控制器130之间传递数据和/或信号的存储器接口的外部易失性存储器实现。
处理器134可控制存储器系统110的全部操作。处理器134可驱动或运行固件来控制存储器系统110的全部操作。可将固件称为闪存转换层(FTL)。
FTL可作为主机102和存储器装置150之间的接口来执行操作。主机102可通过FTL将对写入操作和读取操作的请求传输到存储器装置150。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可存储映射数据。因此,控制器130可通过映射数据将从主机102提供的逻辑地址映射到存储器装置150的物理地址。由于地址映射操作,存储器装置150可如普通装置那样执行操作。并且,通过基于映射数据的地址映射操作,当控制器130更新特定页面的数据时,由于闪速存储器装置的特性,控制器130可将新数据编程到另一空白页面并且可使特定页面的旧数据无效。进一步地,控制器130可将新数据的映射数据存储到FTL中。
处理器134可利用微处理器或中央处理单元(CPU)来实施。存储器系统110可包括一个或多个处理器134。
管理单元(未示出)可被包括在处理器134中。管理单元可执行存储器装置150的坏块管理。管理单元可发现存储器装置150中的不符合进一步使用条件的坏存储块,并且对坏存储块执行坏块管理。当存储器装置150为例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可被编程到新的存储块中。坏块可使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性显著降低,因此需要可靠的坏块管理。
图2是示出根据本公开的实施例的例如图1的存储器装置150的存储器装置的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK0 210至BLOCKN-1 240,并且块BLOCK0 210至BLOCKN-1 240中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。存储器装置150可包括多个存储块,根据每个存储器单元中可存储或表达的位的数量,如单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括由每个能够存储1位数据的存储器单元实施的多个页面。MLC存储块可包括由每个能够存储多位数据,例如两位或更多位数据的存储器单元实施的多个页面。包括利用每个能够存储3位数据的存储器单元实施的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
图3是示出根据本公开的实施例的存储器装置150中的存储块330的电路图。
参照图3,存储块330可对应于存储器系统110的存储器装置150中的多个存储块152至156中的任意一个。
存储块330可包括分别电联接到位线BL0至BLm-1的多个单元串340。每列单元串340可包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可被配置成每个可存储1位信息的单层单元(SLC)或者每个可存储多位信息的多层单元(MLC)。串340可分别电联接到对应的位线BL0至BLm-1。作为参照,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
虽然作为示例,图3示出了存储块330由NAND闪速存储器单元构成,但要注意的是,存储器装置150的存储块330不限于NAND闪速存储器。存储块330可被配置成NOR闪速存储器、其中组合了至少两种存储器单元的混合闪速存储器或其中控制器被内置在存储器芯片中的OneNAND闪速存储器。半导体装置的操作特性不仅可被应用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且可被应用于其中电荷存储层由电介质层配置的电荷撷取闪存(CTF)。
存储器装置150的电源电路310可根据操作模式向各个字线供应例如编程电压、读取电压和通过电压的字线电压,以及向例如其中形成有存储器单元的阱区的体材料(bulk)供应电压。电源电路310可在控制电路(未示出)的控制下执行电压生成操作。电源电路310可生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选择的存储块的字线中的一个,并将字线电压提供到所选择的字线和未选择的字线。
存储器装置150的读取和写入(读取/写入)电路320可由控制电路控制,并且可根据操作模式用作读出放大器或写入驱动器。在验证操作或正常读取操作期间,读取/写入电路320可用作从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可用作根据待存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待存储到存储器单元阵列中的数据,并且根据所接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是示出根据本公开的实施例的例如存储器装置150的存储器装置的三维(3D)结构的示意图。
具体地,如图4所示,存储器装置150可被实现在具有3D堆叠结构的非易失性存储器装置中。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,每个存储块具有3D结构(或垂直结构)。作为图4所示的3D结构的可替换方案,存储器装置150可被配置成二维(2D)结构。
关于便携式电子装置的工作负载,便携式电子装置的每一个中使用的存储器系统可通过休眠来减少其功耗。在这种情况下,随着存储器系统从正常模式切换到睡眠模式,存储器系统的功耗可减少。然而,当存储器系统再次从睡眠模式转换或改变到正常模式时,存储器系统中存储的一些现有数据可能丢失。
特别地,当存储器系统根据休眠改变到睡眠模式或正常模式时,从控制器的存储器中可能丢失映射数据,这些映射数据在FTL操作中用作相当重要的要素。因此,在读取操作期间,需要将映射数据从存储器装置重新加载到控制器的存储器。因此,存储器系统的读取性能可能劣化。
为了防止上述劣化,存储器系统110提供了一种即使在存储器系统110从睡眠模式改变到正常模式时也能够使用控制器130的存储器144中包括的保持区域来防止数据丢失的方法。
图5示出了根据本实施例的例如图1的存储器系统110的存储器系统的结构。为了清楚和便于以下描述,图5仅示出了图1所示的存储器系统110中的一些组件。
存储器系统110可包括控制器130和存储器装置150。如上所述,控制器130可控制参照图2至图4描述的存储器装置150。
除了电源管理器(PM)140、存储器144、存储器接口(I/F)142和处理器134之外,控制器130可进一步包括确定组件510和压缩器530。
如参照图1所述,PM 140可管理存储器系统110的全部电力。例如,当存储器系统110进入睡眠模式时,PM 140可向一些组件供应电力,而不向其它组件供应电力或者切断对其它组件的电力。此外,PM 140可频繁地检查此时可提供到存储器系统110的剩余电力。
图6示出了根据实施例的存储器144的结构。为了清楚起见,图6示出了存储器144的与本实施例有关的组件。
参照图6,存储器144可包括地址缓冲器610、映射表630、映射更新缓冲器650、映射高速缓存缓冲器670和元表690。存储器144可使用多个缓冲器和表来存储与从主机102提供的数据相对应的逻辑块地址以及指示与从主机102提供的请求相对应的数据实际存储在存储器装置150中的位置的物理块地址。此外,存储器144可存储指示逻辑块地址与物理块地址之间的映射关系的映射信息。在下文中,映射信息可被称为映射数据。存储器144可基于映射段来管理映射数据。
地址缓冲器610可存储映射数据。具体地,地址缓冲器610可存储映射信息,该映射信息指示与从主机102提供的写入请求相对应的目标数据的逻辑块地址LBA与存储器装置150的将实际存储目标数据的物理块地址PBA之间的映射关系。
映射表630可记录地址缓冲器610中存储的映射数据。映射表630可包括多个映射段。映射段中的每一个可包括多个映射数据。可更新映射表630。例如,每当与来自主机102的写入请求相对应的目标数据的大小之和变成可被预定的设定大小时,可更新映射表630中存储的映射数据,或者每当地址缓冲器610没有空白空间时可更新映射表630中存储的映射数据。然而,这仅是示例;更新映射表630中存储的映射数据的时间不被特别限制。
映射更新缓冲器650可临时存储存储器装置150中存储的映射数据之中待更新的映射数据。可改变临时存储在映射更新缓冲器650中的映射数据中的每一个的物理块地址PBA,以对应于地址缓冲器610中存储的映射数据。由于根据处理器134的控制将已改变物理块地址PBA的映射数据存储在存储器装置150中,所以可完成映射表630的更新。
映射高速缓存缓冲器670可对与对应于最近从主机102提供的读取请求的逻辑块地址相对应的或对与对应于从主机102频繁提供的读取请求的逻辑块地址相对应的映射数据进行高速缓存。可压缩或不压缩被高速缓存的映射数据。
映射高速缓存缓冲器670可包括保持区域671和非保持区域675。虽然存储器系统110进入睡眠模式,但是可向保持区域671供应电力。因此,即使在睡眠模式下,保持区域671中存储的映射数据也可以不丢失。另一方面,当存储器系统110进入睡眠模式时,可切断供应到非保持区域675的电力。因此,在睡眠模式中,非保持区域675中存储的映射数据可能丢失。
映射高速缓存缓冲器670可将经压缩的映射数据存储在保持区域671中,并且将未压缩的映射数据存储在非保持区域675中。此外,映射高速缓存缓冲器670甚至可基于存储器系统110的当前剩余电力将经压缩的映射数据存储在非保持区域675中。
元表690可存储关于映射数据中的每一个是否可被压缩的信息以及映射数据的压缩比。此外,元表690可存储关于映射段中的每一个是否可被压缩的信息以及映射段的压缩比。元表690可包括位图表。
图7示出了根据本实施例的元表,例如图6的元表690。参照图7,元表690可具有三个域,这三个域由“映射段”、“可压缩”和“压缩比”表示,并且分别对应于多个映射段、关于映射段是否可被压缩的信息和压缩比。在元表690中,关于映射段中的每一个是否可被压缩的信息可表示为例如“1”的逻辑高电平,或例如“0”的逻辑低电平。例如,在元表690中,可压缩映射段可表示为“1”,不可压缩映射段可表示为“0”。
例如,可将第一映射段S1压缩到其原始大小的1/2。也就是说,可根据2:1的压缩比将第一映射段S1压缩到原始大小的50%。又例如,可根据4:1的压缩比将第二映射段S2压缩到原始大小的1/4或25%。然而,无法压缩第三映射段S3。这种配置仅是示例;本发明不限于此。
返回参照图5,处理器134可通过存储器接口142将存储器144中存储的映射数据存储到存储器装置150中。例如,当更新存储器144中存储的映射数据时,处理器134可将更新的映射数据存储到存储器装置150中。另一方面,处理器134可通过存储器接口142将存储器装置150中存储的映射数据存储到存储器144中。例如,当未从存储器144中检索到与从主机102提供的读取请求相对应的目标映射数据时,处理器134可从存储器装置150中加载目标映射数据,并且将所加载的目标映射数据存储在存储器144中。
处理器134可将从存储器装置150加载的映射数据进行划分并存储到保持区域671和非保持区域675中,这将在下面描述。例如,处理器134可将经压缩的映射数据存储在保持区域671中,并且将未压缩的映射数据存储在非保持区域675中。
处理器134可从PM 140接收关于存储器系统110的剩余电力的信息,并且设置与剩余电力相对应的阈值。阈值可以是预定的。具体地,当剩余电力较低时,处理器134可将阈值设置为相对较大的值。另一方面,当剩余电力较高时,处理器134可将阈值设置为相对较小的值。处理器134可将映射数据的压缩比与对应于剩余电力的阈值进行比较。处理器134可根据比较结果将映射数据存储在保持区域671或非保持区域675中。例如,当剩余电力对应于整个电力的50%时,处理器134可将阈值设置为50,并且将具有2:1或更大的压缩比的映射数据存储在保持区域671中。又例如,当剩余电力对应于整个电力的20%时,处理器134可将阈值设置为80,并且将具有5:1或更大的压缩比的映射数据存储在保持区域671中。
确定组件510可确定存储器144中存储的映射数据中的每一个是否可被压缩以及映射数据的压缩比。确定组件510可基于映射段来确定映射数据是否可被压缩以及映射数据的压缩比。此外,确定组件510可在更新映射数据的时间点确定映射数据是否可被压缩以及映射数据的压缩比。例如,当映射更新结果指示在映射段中包括的映射数据之中存在顺序映射数据时,确定组件510可确定相应的映射段可被压缩。此外,确定组件510可基于顺序映射数据的比率来确定压缩比。例如,确定组件510可将映射段的压缩比设置为2:1、4:1和8:1中的一个。然而,这仅是示例;本发明不限于此。确定组件510可向存储器144提供所确定的关于映射数据是否可被压缩的信息以及所确定的压缩比。
压缩器530可基于所确定的关于映射数据是否可被压缩的信息以及所确定的压缩比来压缩映射数据。压缩器530可根据处理器134的控制将经压缩的映射数据提供到存储器144。
图8是示出根据实施例的例如图5的控制器130的控制器的操作的流程图。特别地,图8示出了控制器130根据映射更新操作来确定映射数据中的每一个是否可被压缩以及映射数据的压缩比的操作。在本说明书的上下文中,基于映射段执行映射更新操作。然而,因为可在其它基础上执行映射更新操作,所以这仅仅是示例。
参照图8,在步骤S801中,处理器134可加载存储器装置150中存储的映射段之中与更新目标相对应的映射段。例如,处理器134可从存储器装置150加载与新存储在存储器装置150中的数据相对应的映射段或者加载包括已经改变了先前存储的物理地址的映射数据的映射段。
在步骤S803中,存储器144可根据处理器134的控制将与更新目标相对应的映射段临时存储在映射更新缓冲器650中。
在步骤S805中,存储器144可更新映射更新缓冲器650中存储的映射段的每一个中的映射数据的物理地址。
在步骤S807中,存储器144可更新映射表630以将经更新的映射段反映到映射表630中。
在步骤S809中,确定组件510可确定经更新的映射段中的每一个是否可被压缩以及映射段的压缩比,并且向存储器144提供所确定的关于经更新的映射段中的每一个是否可被压缩的信息以及所确定的压缩比。存储器144可更新元表690以反映关于经更新的映射段中的每一个是否可被压缩的信息以及压缩比。
图9是示出根据实施例的例如图5的控制器130的控制器的操作的流程图。例如,图9示出了控制器130从存储器装置150加载映射数据的操作。此处,描述了与从主机102提供的读取请求相对应的映射数据未存储在存储器144中的示例。也就是说,控制器130需要加载与读取请求相对应并存储在存储器装置150中的映射数据,以便读取与读取请求相对应的数据。作为示例,基于映射段加载映射数据。
参照图9,在步骤S901中,处理器134可从存储器装置150加载目标映射段。目标映射段可对应于从主机102提供的读取请求。
在步骤S903中,处理器134可基于存储器144内的元表690来检查对应于目标映射段的元信息。元信息可包括关于目标映射段是否可被压缩的信息以及目标映射段的压缩比。
当目标映射段不可压缩(步骤S905处为否)时,在步骤S915中,处理器134可将目标映射段存储在映射高速缓存缓冲器670内的非保持区域675中。
另一方面,当目标映射段可被压缩(步骤S905处为是)时,在步骤S907,压缩器530可根据处理器134的控制以可被预定的压缩比来压缩目标映射段。
在步骤S909中,PM 140可检查存储器系统110的剩余电力。PM 140可向处理器134提供关于剩余电力的信息。检查剩余电力的操作不限于进程中的该特定点。PM 140可频繁地检查存储器系统110的剩余电力。
在步骤S911中,处理器134可将目标映射段的压缩比与对应于剩余电力的阈值进行比较。
当压缩比小于阈值(步骤S911处为否)时,在步骤S915中,处理器134可将经压缩的目标映射段存储在映射高速缓存缓冲器670内的非保持区域675中。
另一方面,当压缩比大于或等于阈值(步骤S911处为是)时,在步骤S913中,处理器134可将经压缩的目标映射段存储在映射高速缓存缓冲器670内的保持区域671中。
当将映射数据划分并存储在保持区域671和非保持区域675中时,可将相对大量的映射数据存储在存储器144中,其中在存储器144中,由于存储器系统110的电力效率,可限制性地存储映射数据。此外,虽然存储器系统110进入睡眠模式,但相对大量的映射数据可能不会丢失,而是被保留在存储器144中。
下面参照图10至图18详细描述包含有包括以上通过参照图1至图9描述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子装置。
图10至图18是示意性地示出根据各个实施例的图1至图9的数据处理系统的示例性应用的示图。
图10是示意性地示出根据实施例的包括存储器系统的数据处理系统的示例的示图。图10示意性地示出可应用存储器系统的存储卡系统6100。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可连接到存储器装置6130,并可被配置成访问存储器装置6130。存储器装置6130可由非易失性存储器(NVM)来实现。通过示例而非限制的方式,存储器控制器6120可被配置成控制对存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口,并且/或者驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图9描述的存储器系统110中的控制器130,而存储器装置6130可对应于参照图1至图9描述的存储器装置150。
因此,如图1所示,存储器控制器6120可包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件。存储器控制器6120可进一步包括图1所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1描述的,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或WiFi)和蓝牙。因此,存储器系统和数据处理系统可应用于有线和/或无线电子装置,特别是移动电子装置。
存储器装置6130可由非易失性存储器来实施。例如,存储器装置6130可由诸如以下的各种非易失性存储器装置中的任意一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-RAM)。存储器装置6130可包括如在图1的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可被如此集成以形成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可被如此集成以形成诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、紧凑式闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图11是示意性地示出根据实施例的包括存储器系统的数据处理系统6200的另一示例的示图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制该存储器装置6230的存储器控制器6220。数据处理系统6200可用作如参照图1所述的诸如存储卡(例如,CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图9所描绘的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图9所描绘的存储器系统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。存储器控制器6220可利用诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议而具有无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一外部装置,然后向外部装置传输数据和/或从外部装置接收数据。由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此存储器系统和数据处理系统可被应用于有线和/或无线电子装置,特别是移动电子装置。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图12示意性地示出可应用存储器系统的固态驱动器(SSD)6300。
参照图12,SSD 6300可包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可包括一个或多个处理器6321、错误校正码(ECC)电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中包括的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由各种易失性存储器或非易失性存储器中的任意一种来实现,其中易失性存储器诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功耗DDR(LPDDR)SDRAM和图形RAM(GRAM),非易失性存储器诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移力矩磁性RAM(STT-MRAM)和相变RAM(PRAM)。作为示例,图12示出了缓冲存储器6325被设置在控制器6320中,但缓冲存储器6325可位于控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340的数据的错误校正码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,应用了图1的存储器系统110的多个SSD 6300可被提供以实现例如独立磁盘冗余阵列(RAID)系统的数据处理系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的写入命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供到主机6310。
图13是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图13示意性地示出可应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图13,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接口。
图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可以参照图11至图13所描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实现,并且UFS卡6530、6630、6730、6830可以参照图10所描述的存储卡系统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协议以外的各种协议彼此通信,例如,通用串行总线(USB)闪存驱动器(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处的链路层交换来彼此通信。作为示例,图14示出了一个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的链路层交换来彼此通信。作为示例,图15示出了一个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集成为一个模块。作为示例,图16示出了一个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交换来彼此通信。图17示出了其中一个UFS装置6820连接到主机6810且一个UFS卡6830连接到UFS装置6820的实施例。然而,多个UFS装置可并联或以星型形式连接到主机6810或者串联或以链型形式连接到主机6810,并且多个UFS卡可并联或以星型形式连接到UFS装置6820或者串联或以链型形式连接到UFS装置6820。
图18是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图18是示意性地示出可应用存储器系统的用户系统6900的示图。
参照图18,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可驱动例如操作系统(OS)的用户系统6900中包括的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM或LPDDR3 SDRAM的易失性随机存取存储器(RAM),或者诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(FRAM)的非易失性RAM。例如,可基于堆叠式封装(PoP)来封装并安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,还可支持诸如以下的各种无线通信协议:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与特别是移动电子装置的有线/无线电子装置通信。因此,存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可由诸如以下的非易失性半导体存储器装置实现:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且被设置为诸如用户系统6900的存储卡或外部驱动器的可移动存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实现为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示和触摸模块上显示通过处理器6930处理的数据,或支持从触摸面板接收数据的功能。
虽然已经关于具体实施例说明和描述了本发明,但是根据本公开对于本领域技术人员将显而易见的是,在不脱离如所附权利要求所确定的本发明的精神和范围的情况下,可进行各种改变和修改。

Claims (20)

1.一种控制器,包括:
确定组件,确定对应于读取请求的目标映射数据是否可压缩以及所述目标映射数据的压缩比;
存储器,存储元表,所述元表中包含关于所述目标映射数据是否可压缩的信息以及所述目标映射数据的所述压缩比,所述存储器包括映射高速缓存缓冲器,所述映射高速缓存缓冲器包括保持区域和非保持区域;
压缩器,在确定所述目标映射数据可压缩时,以所确定的压缩比压缩所述目标映射数据;以及
处理器,将所压缩的目标映射数据存储在所述保持区域中。
2.根据权利要求1所述的控制器,进一步包括电源管理器,所述电源管理器检查所述控制器的剩余电力,并且向所述处理器提供关于所述剩余电力的信息。
3.根据权利要求2所述的控制器,其中所述处理器设置对应于所述剩余电力的阈值,并且在所述目标映射数据的所述压缩比小于所述阈值时,将所述目标映射数据存储在所述非保持区域中。
4.根据权利要求1所述的控制器,其中在确定所述目标映射数据不可压缩时,所述处理器将所述目标映射数据存储在所述非保持区域中。
5.根据权利要求1所述的控制器,其中所述元表以位图形式存储关于所述目标映射数据是否可压缩的信息以及所述压缩比。
6.根据权利要求1所述的控制器,其中在执行映射更新操作时,所述确定组件确定关于所述目标映射数据是否可压缩的信息以及所述压缩比。
7.根据权利要求1所述的控制器,其中所述存储器进一步包括临时存储待更新的映射数据的映射更新缓冲器。
8.根据权利要求1所述的控制器,其中所述存储器进一步包括存储映射数据的地址缓冲器。
9.根据权利要求8所述的控制器,其中所述存储器进一步包括写入关于所述映射数据的信息的映射表。
10.根据权利要求1所述的控制器,其中所述压缩比包括2:1、4:1和8:1中的一个。
11.一种控制器的操作方法,包括:
确定关于对应于读取请求的目标映射数据是否可压缩的信息以及所述目标映射数据的压缩比;
存储关于所述目标映射数据是否可压缩的信息以及所述压缩比;
在确定所述目标映射数据可压缩时,以所述压缩比压缩所述目标映射数据;并且
将所压缩的目标映射数据存储在存储器的保持区域中。
12.根据权利要求11所述的操作方法,进一步包括检查所述控制器的剩余电力。
13.根据权利要求12所述的操作方法,进一步包括:
设置对应于所述剩余电力的阈值;并且
在确定所述目标映射数据的所述压缩比小于所述阈值时,将所述目标映射数据存储在非保持区域中。
14.根据权利要求11所述的操作方法,进一步包括在所述目标映射数据不可压缩时,将所述目标映射数据存储在非保持区域中。
15.根据权利要求11所述的操作方法,其中以位图形式存储关于所述目标映射数据是否可压缩的信息以及所述压缩比。
16.根据权利要求11所述的操作方法,其中在执行映射更新操作时,执行对关于所述目标映射数据是否可压缩的信息以及所述压缩比的确定。
17.根据权利要求11所述的操作方法,进一步包括临时存储待更新的映射数据。
18.根据权利要求11所述的操作方法,其中所述压缩比包括2:1、4:1和8:1中的一个。
19.一种存储器系统,包括:
存储器装置,存储对应于读取请求的目标映射数据;以及
控制器,从所述存储器装置加载所述目标映射数据,基于关于所述目标映射数据是否可压缩的信息以及所述目标映射数据的压缩比,将所述目标映射数据存储在包括保持区域和非保持区域的存储器中,在确定所述目标映射数据可压缩时,以所述压缩比压缩所述目标映射数据,并且将所压缩的目标映射数据存储在所述保持区域中。
20.根据权利要求19所述的存储器系统,其中,在所述存储器系统进入睡眠模式时,所述控制器向所述保持区域供应电力,并且不向所述非保持区域供应电力。
CN201910596848.8A 2018-07-10 2019-07-03 控制器及其操作方法 Pending CN110704331A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180080051A KR20200006379A (ko) 2018-07-10 2018-07-10 컨트롤러 및 그것의 동작방법
KR10-2018-0080051 2018-07-10

Publications (1)

Publication Number Publication Date
CN110704331A true CN110704331A (zh) 2020-01-17

Family

ID=69139431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910596848.8A Pending CN110704331A (zh) 2018-07-10 2019-07-03 控制器及其操作方法

Country Status (3)

Country Link
US (1) US20200019507A1 (zh)
KR (1) KR20200006379A (zh)
CN (1) CN110704331A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597129A (zh) * 2020-05-21 2020-08-28 北京泽石科技有限公司 缓存管理方法、装置、存储介质和固态非易失存储设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144454B2 (en) * 2019-11-22 2021-10-12 Dell Products L.P. Enhanced vault save with compression
US11481115B2 (en) * 2020-08-17 2022-10-25 Western Digital Technologies, Inc. Host-managed hardware compression with zoned namespaces
EP4283474A1 (en) * 2022-05-23 2023-11-29 Samsung Electronics Co., Ltd. Storage device, memory device, and computing system including the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195875A1 (en) * 2007-02-12 2008-08-14 Russell Hobson Low power mode data preservation in secure ICs
JP2008290377A (ja) * 2007-05-25 2008-12-04 Kyocera Mita Corp 画像形成装置
CN103176752A (zh) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
US20140208003A1 (en) * 2013-01-22 2014-07-24 Lsi Corporation Variable-size flash translation layer
CN104035725A (zh) * 2013-03-05 2014-09-10 宏达国际电子股份有限公司 用以存取数据的电子装置及其数据存取方法
US20160196075A1 (en) * 2013-07-19 2016-07-07 Hitachi, Ltd. Storage apparatus and storage control method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112208A (en) * 1997-08-25 2000-08-29 Fujitsu Limited Data compressing method and apparatus to generate bit maps in accordance with extracted data symbols
US8145833B1 (en) * 2009-10-30 2012-03-27 CSR Technology Holdings Inc. Compression solution for embedded devices and systems
US9361228B2 (en) * 2014-08-05 2016-06-07 Qualcomm Incorporated Cache line compaction of compressed data segments
US9632562B2 (en) * 2014-11-20 2017-04-25 Qualcomm Incorporated Systems and methods for reducing volatile memory standby power in a portable computing device
KR101735369B1 (ko) * 2015-12-14 2017-05-15 숭실대학교산학협력단 태양 에너지 기반 무선 센서 네트워크를 위한 에너지 적응형 선택적 압축 방법, 이를 수행하기 위한 기록 매체 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195875A1 (en) * 2007-02-12 2008-08-14 Russell Hobson Low power mode data preservation in secure ICs
JP2008290377A (ja) * 2007-05-25 2008-12-04 Kyocera Mita Corp 画像形成装置
CN103176752A (zh) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
US20140208003A1 (en) * 2013-01-22 2014-07-24 Lsi Corporation Variable-size flash translation layer
CN104035725A (zh) * 2013-03-05 2014-09-10 宏达国际电子股份有限公司 用以存取数据的电子装置及其数据存取方法
US20160196075A1 (en) * 2013-07-19 2016-07-07 Hitachi, Ltd. Storage apparatus and storage control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597129A (zh) * 2020-05-21 2020-08-28 北京泽石科技有限公司 缓存管理方法、装置、存储介质和固态非易失存储设备

Also Published As

Publication number Publication date
KR20200006379A (ko) 2020-01-20
US20200019507A1 (en) 2020-01-16

Similar Documents

Publication Publication Date Title
CN110399311B (zh) 存储器系统及该存储器系统的操作方法
CN107562649B (zh) 存储器系统及其操作方法
CN109144408B (zh) 存储器系统及其操作方法
US20190369918A1 (en) Memory system and operating mehtod thereof
CN109947358B (zh) 存储器系统及其操作方法
CN110825318B (zh) 控制器及其操作方法
CN109213622B (zh) 存储系统及其操作方法
CN110347330B (zh) 存储器系统及其操作方法
US10387057B2 (en) Memory system and operating method of memory system
CN108268212B (zh) 控制器及操作方法
CN108694138B (zh) 控制器及其操作方法
CN108108308B (zh) 存储器系统及其操作方法
CN109032501B (zh) 存储器系统及其操作方法
CN108932203B (zh) 数据处理系统和数据处理方法
CN109697171B (zh) 控制器及其操作方法
CN107562653B (zh) 存储器系统及其操作方法
US10168907B2 (en) Memory system and operating method thereof
CN108733616B (zh) 包括多处理器的控制器及其操作方法
CN110570894A (zh) 存储器系统及该存储器系统的操作方法
CN110704331A (zh) 控制器及其操作方法
US20190391915A1 (en) Memory system and operating mehtod thereof
US20200057724A1 (en) Controller and operating method thereof
CN110703983B (zh) 控制器及其操作方法
CN110968521B (zh) 存储器系统及其操作方法
CN110928486B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200117

WD01 Invention patent application deemed withdrawn after publication