CN110045914B - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN110045914B
CN110045914B CN201811244710.3A CN201811244710A CN110045914B CN 110045914 B CN110045914 B CN 110045914B CN 201811244710 A CN201811244710 A CN 201811244710A CN 110045914 B CN110045914 B CN 110045914B
Authority
CN
China
Prior art keywords
data
memory
mapping data
read
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811244710.3A
Other languages
English (en)
Other versions
CN110045914A (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.)
SK Hynix Inc
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 CN110045914A publication Critical patent/CN110045914A/zh
Application granted granted Critical
Publication of CN110045914B publication Critical patent/CN110045914B/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
    • 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
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0646Configuration or reconfiguration
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • 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
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Computer Hardware Design (AREA)

Abstract

本发明涉及一种存储器系统,包括:存储器装置,包括第一存储块和第二存储块;高速缓存读取模式设置单元,在第一存储块和第二存储块之中确定存储和管理用于用户数据的映射数据的存储块;以及控制器,并行地对用户数据和映射数据执行读取操作并对映射数据执行更新操作。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2018年1月15日提交的、申请号为10-2018-0005047的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本发明的各个示例性实施例涉及一种存储器系统,且更特别地,涉及一种能够执行改进的高速缓存读取操作的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变至使计算系统能够随时随地使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增长。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
与硬盘装置相比,因为存储器系统没有移动部件(例如,具有读取/写入磁头的机械臂),所以它们可提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种能够执行改进的高速缓存读取操作的存储器系统及其操作方法。存储器系统可选择和管理通过MLC块管理的映射数据。
根据本发明的实施例,一种存储器系统包括:存储器装置,包括第一和第二存储块;高速缓存读取模式设置单元,在第一存储块和第二存储块之中确定存储和管理用于用户数据的映射数据的存储块;以及控制器,并行地对用户数据和映射数据执行读取操作并对映射数据执行更新操作。
第一存储块可以是多层单元(MLC)块,第二存储块可以是单层单元(SLC)块。
存储器系统可进一步包括:高速缓存读取表,适于对执行了高速缓存读取操作的映射数据的地址和读取计数信息进行管理。
当用户数据的映射数据的数量低于预定阈值时,用户数据可以是顺序数据。
顺序数据的映射数据可由高速缓存读取模式设置单元进行管理。
当用户数据的映射数据的数量等于或高于预定阈值时,用户数据可以是随机数据。
高速缓存读取模式设置单元可在高速缓存读取表中对与顺序数据的映射数据相关的信息进行存储和管理。
高速缓存读取表可包括与顺序数据的映射数据的地址和读取计数相关的信息。
高速缓存读取模式设置单元可在存储在高速缓存读取表中的映射数据之中检测读取计数等于或高于预定阈值的映射数据。
控制器可在SLC块中对读取计数等于或高于预定阈值的映射数据进行编程和更新,并且在MLC块中对读取计数低于预定阈值的映射数据进行编程和更新。
根据本发明的实施例,一种存储器系统的操作方法包括:在第一存储块和第二存储块之中确定存储和管理用户数据的映射数据的存储块;以及由控制器并行地执行对用户数据和映射数据的读取操作与对映射数据的更新操作,其中第一存储块和第二存储块被包括在存储器装置中。
第一存储块可以是MLC块,第二存储块可以是SLC块。
该操作方法可进一步包括:在高速缓存读取表中对执行了高速缓存读取操作的映射数据的地址和读取计数信息进行管理。
当用户数据的映射数据的数量低于预定阈值时,用户数据可以是顺序数据。
顺序数据的映射数据可由高速缓存读取模式设置单元进行管理。
当用户数据的映射数据的数量等于或高于预定阈值时,用户数据可以是随机数据。
在第一存储块和第二存储块之中确定存储和管理用户数据的映射数据的存储块可包括在高速缓存读取表中对与顺序数据的映射数据相关的信息进行存储和管理。
高速缓存读取表可包括与顺序数据的映射数据的地址和读取计数相关的信息。
在第一存储块和第二存储块之中确定存储和管理用户数据的映射数据的存储块可包括在存储在高速缓存读取表中的映射数据之中检测读取计数等于或高于预定阈值的映射数据。
控制器可在SLC块中对读取计数等于或高于预定阈值的映射数据进行编程和更新,并且在MLC块中对读取计数低于预定阈值的映射数据进行编程和更新。
根据本发明的实施例,一种存储器系统包括:存储器装置,包括第一和第二存储块;控制器,适于确定顺序输入的至少两个读取请求所需映射数据的数量,基于映射数据的数量在第一和第二存储块之中确定映射数据被存储的存储块,以及响应于至少两个读取请求,并行地执行读取用户数据和映射数据以及更新映射数据的多个操作。
附图说明
图1是示出根据本发明的实施例的数据处理系统的框图。
图2是示出图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维结构的框图。
图5是示出根据本发明的实施例的存储器系统的框图。
图6是示出根据本发明的实施例的高速缓存读取表的示例性配置的示意图。
图7是示出常规高速缓存读取操作和根据本发明的实施例的高速缓存读取操作之间的比较的示图。
图8是示出根据本发明的实施例的存储器系统的操作的流程图。
图9至图17是示意性示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到的是,本发明可以不同的其他实施例、形式及其变型实施,且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将完整和全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被放大。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于形式化的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的包括有存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
主机102可包括至少一个OS(操作系统)。OS可管理和控制主机102的全部功能和操作。OS可支持提供主机102和用户之间的操作,这可利用数据处理系统100或存储器系统110来实现或实施。OS可支持用户请求的功能和操作。作为示例而非限制,根据是否因主机102的移动性而进行定制,OS可被划分成通用OS和移动OS。根据用户的环境,通用OS可被分为个人OS和企业OS。例如,配置为支持向普通用户提供服务的功能的个人OS可包括Windows和Chrome,配置为保护和支持高性能的企业OS可包括Windows服务器、Linux和Unix。此外,被配置成支持向用户提供移动服务的定制功能和系统省电功能的移动OS可包括Android、iOS和Windows Mobile。主机102可包括多个OS。主机102可执行OS以在存储器系统110上执行对应于用户请求的操作。此处,主机102可向存储器系统110提供对应于用户请求的多个命令。因此,存储器系统110可执行对应于多个命令的某些操作,即执行对应于用户请求的某些操作。
存储器系统110可响应于主机102的请求来存储用于主机102的数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪速存储(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC。SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可包括各种类型的存储装置。包括在存储器系统110中的存储装置的非限制性示例可包括诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可以存储用于主机102的数据,并且控制器130可以控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所述的各种类型的存储器系统中。作为示例而非限制,控制器130和存储器装置150可集成为单个半导体装置以构成SSD。当存储器系统110用作SSD时,可提高连接到存储器系统110的主机102的操作速度。在另一示例中,控制器130和存储器装置150可集成为单个半导体装置以构成存储卡。例如,控制器130和存储器装置150可构成诸如以下的存储卡:PCMCIA(个人计算机存储卡国际协会)卡,CF卡,SMC(智能媒体卡),记忆棒,包括RS-MMC和微型-MMC的MMC,包括迷你-SD、微型-SD和SDHC的SD卡,或UFS装置。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、建立数据中心的存储装置、能够在无线环境下传输/接收信息的装置、建立家庭网络的各种电子装置中的一个、建立计算机网络的各种电子装置中的一个、建立远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或建立计算系统的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,即使不供应电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,同时通过读取操作将存储在其中的数据输出给主机102。在实施例中,存储器装置150可包括多个存储器管芯(未示出)。每一个存储器可包括多个平面(未示出)。每一个平面可包括多个存储块152至156,存储块152至156中的每一个可包括多个页面。页面中的每一个可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是具有三维(3D)堆叠结构的闪速存储器。
控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可向主机102提供从存储器装置150读取的数据。控制器130可将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
更具体地,控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、存储器接口单元142和存储器144,其每一个都经由内部总线彼此接合。
主机接口单元132可处理主机102的命令和数据。主机接口单元132可通过诸如以下的各种接口协议中的一个或多个与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。主机接口单元132可经由固件来驱动,即经由用于与主机102交换数据的主机接口层(HIL)来驱动。
此外,ECC单元138可校正待通过存储器装置150处理的数据的错误位,并且可包括ECC编码器和ECC解码器。ECC编码器可对待编程到存储器装置150中的数据执行错误校正编码以生成添加了奇偶校验位的数据。包括奇偶校验位的数据可存储在存储器装置150中。ECC解码器可检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC单元138可通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可输出信号,例如错误校正成功或失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不校正错误位。ECC单元138可输出错误校正失败信号。
ECC单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的其他相关电路、模块、系统或装置。
PMU 140可管理在控制器130中使用和提供的电力。
存储器接口单元142可用作为控制器130和存储器装置150之间提供接口连接的存储器/存储接口,使得控制器130可响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器,或具体地是NAND闪速存储器时,存储器接口单元142可以是NAND闪速控制器(NFC),并且可生成用于存储器装置150的控制信号。存储器接口单元142可在处理器134的控制下为存储器装置150提供数据。存储器接口单元142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口单元142可支持控制器130和存储器装置150之间的数据传输。存储器接口单元142可使用固件,即使用闪存接口层(FIL)来与存储器装置150交换数据。
存储器144可用作存储器系统110和控制器130的工作存储器。存储器144可存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于从主机102输入的请求来控制存储器装置150执行读取操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102。或者,控制器130可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以是易失性存储器。作为示例而非限制,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可被设置在控制器130的内部或外部。图1例示了设置在控制器130内的存储器144。在实施例中,存储器144可以是具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器。
如上所述,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓存存储器、读取缓冲器/高速缓存存储器、数据缓冲器/高速缓存存储器以及映射缓冲器/高速缓存存储器中的至少一个,以存储在主机102和存储器装置150之间执行数据写入操作和读取操作所需的一些数据以及存储控制器130和存储器装置150执行这些操作所需的其它数据。
处理器134可控制存储器系统110的全部操作。处理器134可使用固件来控制存储器系统110的全部操作。固件可称为闪存转换层(FTL)。
例如,控制器130可通过利用微处理器、CPU等实施的处理器134在存储器装置150中执行主机102请求的操作。换言之,控制器130可执行与从主机102输入的命令相对应的命令操作。此处,控制器130可执行作为与从主机102输入的命令相对应的命令操作的前台操作。例如,前台操作可包括对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及对应于作为设置命令的设置参数命令或设置特征命令的参数设置操作。
而且,控制器130可通过利用微处理器或CPU实施的处理器134对存储器装置150执行后台操作。此处,对存储器装置150执行的后台操作可包括:将存储在存储器装置150的存储块152至156之中的一些存储块中的数据复制到其它存储块并进行处理的操作,例如垃圾收集(GC)操作;在存储器装置150的存储块152至156之间或存储块152至156的数据之间执行交换的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储器装置150的存储块152至156中的操作,例如映射刷新操作;或者管理存储器装置150的坏块的操作,例如检测和处理包括在存储器装置150中的存储块152至156之中的坏块的坏块管理操作。
而且,在根据本发明的实施例的存储器系统110中,控制器130可执行与从主机102输入的多个命令相对应的多个命令执行。例如,控制器130可在存储器装置150中执行对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作以及对应于多个擦除命令的多个擦除操作。而且,控制器130可根据命令执行来更新元数据(特别是映射数据)。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可对包括在存储器装置150中的多个存储块152至156中的且在编程操作期间由于NAND闪速存储器的特征而发生编程失败的坏块进行检查的坏块管理操作。管理单元可将坏块的编程失败的数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。在下文中,参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
参照图2,存储器装置150可包括多个存储块BLOCK0到BLOCKN-1。此处,N为大于1的整数。块BLOCK0至BLOCKN-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。此处,M为大于1的整数。此处,虽然描述了存储块中的每一个包括2M个页面,但存储块中的每一个也可包括M个页面。页面中的每一个可包括联接到多个字线WL的多个存储器单元。
而且,包括在各个存储块BLOCK0至BLOCKN-1中的存储器单元可以是存储1位数据的单层单元(SLC)存储块或存储2位数据的多层单元(MLC)存储块中的一个或多个。因此,存储器装置150可根据在存储块中的存储器单元的每一个中可以表示或存储的位的数量而包括SLC存储块或MLC存储块。SLC存储块可包括由每一个都能够存储1位数据的存储器单元实现的多个页面。SLC存储块通常可比MLC存储块具有更高的数据计算性能和更高的耐用性。MLC存储块可包括多个页面,其通过每一个都存储多位(例如,2位或更多位)数据的存储器单元实现。MLC存储块通常可比SLC存储块在相同空间中具有更大的数据存储,即更高的集成密度。在另一实施例中,存储器装置150可包括多个三层单元(TLC)存储块。在再一实施例中,存储器装置150可包括多个四层单元(QLC)存储块。TLC存储块可包括每一个都能够存储3位数据的存储器单元中实现的多个页面。QLC存储块可包括每一个都能够存储4位数据的存储器单元中实现的多个页面。
尽管本发明的实施例示例性地描述了,但是为便于描述,存储器装置150可以是非易失性存储器。存储器装置150可利用相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM((ReRAM))、铁电随机存取存储器(FRAM)和自旋转移扭矩磁性随机存取存储器(STT-RAM(STT-MRAM))中的任何一个来实施。
存储块210、220、230、240可通过编程操作存储从主机102传送的数据。存储块210、220、230、240可通过读取操作将存储在其中的数据传送到主机102。
参照图3,存储块330可包括联接到多个对应的位线BL0至BLm-1的多个单元串340。每个列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可通过能够存储多位数据信息的MLC来实施。单元串340中的每一个可被电联接到多个位线BL0至BLm-1中的对应位线。例如,如图3所示,第一单元串联接到第一位线BL0。最后单元串联接到最后位线BLm-1。
虽然图3示出了NAND闪速存储器单元,但本公开不限于此。应注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的绝缘层的电荷俘获闪速(CTF)存储器。
存储器装置150可进一步包括电压供给单元310,其产生不同的字线电压,包括编程电压、读取电压和通过电压,以根据操作模式将它们中的一个供应给各个字线。电压供给单元310的电压生成操作可通过控制电路(未示出)来控制。在控制电路的控制下,如果可能需要,电压供给单元310可选择存储器单元阵列的存储块(或扇区)中的至少一个、选择被选择的存储块的字线中的至少一个以及将字线电压提供给被选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取(感测和放大)数据。在编程操作期间,读取/写入电路320可用作写入驱动器,用于根据待被存储在存储器单元阵列中的数据,将供给电压或电流提供给位线。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可通过2D或3D存储器装置来实施。特别地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,其每一个具有3D结构(或垂直结构)。
图5是示出根据本发明的实施例的存储器系统的框图。
控制器130可包括高速缓存读取模式设置单元520和高速缓存读取表530。
类似于以上参照图1所述的控制器130的存储器144,高速缓存高速缓存存储器510可利用易失性存储器来实施。例如,高速缓存高速缓存存储器510可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。高速缓存高速缓存存储器510可被包括在控制器130的存储器144中。虽然图5示出了高速缓存高速缓存存储器510处于控制器130外部,但其仅用于说明的目的,并且本公开不限于此。也就是说,高速缓存高速缓存存储器510可被设置在控制器130的内部或外部。
如以上参照图1所述,存储器装置150可包括多个存储块152、154、156。
具体地,存储器装置150可包括多层单元(MLC)块551和单层单元(SLC)块553。也就是说,MLC块551可以是存储块152、154、156中的一个,SLC块553可以是存储块152、154、156中的一个。
此处,仅出于示例性目的,假设MLC块551是包括多个页面的MLC存储块,其由能够在单个存储器单元中存储2位数据的存储器单元实施。然而,应当注意的是,本发明不限于此,并且在其它实施例中,MLC块551可对应于三层单元(TLC)块或四层单元(QLC)块。
在常规的存储器系统中,诸如L2P的映射数据因为可靠性而在SLC块553中进行管理,并且用户数据因为较大的容量而在MCL块551中进行管理。
控制器130可通过高速缓存高速缓存存储器510对存储器装置150执行顺序读取操作。
具体地,当读取诸如视频的高容量文件时,控制器130可对存储器装置150执行顺序读取操作以及使用高速缓存高速缓存存储器510的高速缓存读取操作。
使用高速缓存高速缓存存储器510的高速缓存读取操作可用于读取存储在MLC块551中的顺序数据的操作。
当通过读取存储在MLC块551中的顺序数据来执行高速缓存读取操作时,SLC块553可用于读取与顺序数据相关的映射数据。
为了在高速缓存读取操作期间对SLC块553执行这种读取操作,则中断高速缓存读取操作,并在读取电平转换操作之后对SLC块553执行读取操作。
读取电平转换操作指将对MLC块551的读取操作转换为对SLC块553的读取操作或将对SLC块553的读取操作转换为对MLC块551的读取操作的操作。
特别地,在将对MCL块551的读取操作转换为对SLC块553的读取操作的读取电平转换操作的情况下,当因为对MLC块551的读取操作对应于顺序读取操作而执行高速缓存读取操作时,中断高速缓存读取操作,以将对MCL块551的读取操作转换为对SLC块553的读取操作。
例如,对于读取诸如存储在MLC块551中的视频文件的顺序数据,控制器130从主机102接收对视频文件的映射数据的读取请求。当执行使用高速缓存高速缓存存储器510的高速缓存读取操作时,控制器130中断高速缓存读取操作并对映射数据执行读取操作。
在这种情况下,由于读取电平转换操作的延迟,读取操作的整体性能劣化。
根据本发明所述的实施例的高速缓存读取模式设置单元520可通过高速缓存读取表530来管理MLC块551中的顺序数据的映射数据,从而尽可能减少读取电平转换操作的频率。
然而,在MLC块551中没有管理顺序数据的所有映射数据。高速缓存读取模式设置单元520在被确定为顺序数据的用户数据之中检测读取计数低于预定阈值的映射数据,作为易于在MLC块551中进行管理的映射数据。
高速缓存读取模式设置单元520可检查作为读取目标的用户数据是顺序数据还是随机数据。
具体地,高速缓存读取模式设置单元520可检查作为读取目标的用户数据的映射数据,例如L2P映射数据,的数量是否等于或高于预定阈值。
预定阈值可以是能够确定用户数据是顺序数据还是随机数据的边界值。
当用户数据的映射数据例如L2P的数量等于或高于预定阈值时,用户数据可以是随机数据。对于为随机数据的用户数据,不会出现上述读取电平转换操作的问题。这是因为通常不对随机数据执行高速缓存读取操作。
当用户数据的映射数据例如L2P的数量低于预定阈值时,用户数据可以是顺序数据。通常可对用户数据执行高速缓存读取操作。
高速缓存读取模式设置单元520可将被确定为顺序数据的用户数据之中读取计数低于预定阈值的映射数据设置为能够在MLC块551中进行管理的映射数据。
因为读取计数等于或高于预定阈值的映射数据是可靠性较低的映射数据,所以这些映射数据必须在SLC块533中进行管理。
因为读取计数低于预定阈值的映射数据是可靠性相对较高的映射数据,所以根据本发明的所述实施例,这些映射数据可在MLC块551中进行管理。
图6是示出高速缓存读取表530的示例性配置的示意图。
高速缓存读取表530可包括与映射数据611的地址和读取计数621相关的信息。
参照图6,映射数据611的地址可包括第一映射数据地址613、第二映射数据地址615、第三映射数据地址617和第四映射数据地址619。
读取计数621可包括第一映射数据读取计数623、第二映射数据读取计数625、第三映射数据读取计数627和第四映射数据读取计数629。
包括在高速缓存读取表530中的映射数据信息可以是顺序用户数据的映射数据。
也就是说,高速缓存读取表530可包括与顺序用户数据的映射数据的读取计数相关的信息。
高速缓存读取模式设置单元520可基于包括在高速缓存读取表530中与读取计数有关的信息,在顺序用户数据的映射数据之中检查由于低可靠性而必须在SLC块553中存储和管理的映射数据。
高速缓存读取模式设置单元520可通过高速缓存读取表530检测读取计数等于或高于预定阈值的映射数据。
例如,预定阈值可以是5k。因此,高速缓存读取模式设置单元520可通过高速缓存读取表530检查第四映射数据读取计数629为6k的第四映射数据地址619。高速缓存读取模式设置单元520可基于第四映射数据地址619在SLC块553中存储和管理第四映射数据。
图7是示出根据现有技术的常规高速缓存读取操作和根据本发明的实施例的高速缓存读取操作之间的比较的时间线示图。
参照图7的顶部时间线,示出了常规读取操作(AS-IS)。因此,第一用户数据读取请求711、第二用户数据读取请求713、第一映射数据读取请求715和第三用户数据读取请求717可被顺序输入到控制器130。
第一用户数据读取请求711和第二用户数据读取请求713是顺序数据的读取请求。控制器130通过高速缓存读取操作执行顺序读取操作。
更具体地,控制器130可分别根据第一用户数据读取请求711和第二用户数据读取请求713来执行第一用户数据读取操作721和第二用户数据读取操作723。
高速缓存读取操作可支持第一用户数据读取操作721和第二用户数据读取操作723。
控制器130可终止高速缓存读取操作并执行读取电平转换操作。控制器130随后可根据第一映射数据读取请求715对在SLC块553中存储和管理的第一映射数据执行第一映射数据读取操作725。
控制器130可重新启动以执行高速缓存读取操作并执行读取电平转换操作。控制器130随后可根据第三用户数据读取请求717对在MLC块551中存储和管理的第三用户数据执行第三用户数据读取操作727。
通常,当对顺序数据执行读取操作时,顺序数据的映射数据在SLC块553中进行存储和管理,而顺序数据则在MLC块551中进行存储和管理。因此,对顺序数据而言,导致大量延迟的读取电平转换操作是常规读取操作的基本特征。
根据本发明的实施例,与常规操作相比,高速缓存读取模式设置单元520可减少或最小化读取电平转换操作的频率,因此可获得延迟增益751。
参照图7的底部时间线,示出了根据本发明的实施例的读取操作(TO-BE)。具体地,第一用户数据读取请求731、第二用户数据读取请求733、第一映射数据读取请求735和第三用户数据读取请求737被顺序地输入到控制器130。
第一用户数据读取请求731和第二用户数据读取请求733是对顺序数据的读取请求。为此,假设控制器130能够通过高速缓存读取操作执行顺序读取操作。
控制器130可分别响应于第一用户数据读取请求731和第二用户数据读取请求733来执行第一用户数据读取操作741和第二用户数据读取操作743。
高速缓存读取操作可支持第一用户数据读取操作741和第二用户数据读取操作743。
即使对于第一映射数据读取请求735,控制器130可在不中断高速缓存读取操作的情况下对MLC块551执行第一映射数据读取操作745。
而且,即使对于第三用户数据读取请求737,控制器130可在不进行读取电平转换操作的情况下对MLC块551执行第三用户数据读取操作747。
根据本发明所述的实施例,当选择和管理能够在MLC块551中进行管理的映射数据时,控制器130和高速缓存高速缓存存储器510可不中断地执行高速缓存读取操作。因此,可获得顺序读取操作的延迟增益751(例如,操作时间余量)。
例如,虽然根据现有技术执行多达“A”次的读取电平转换操作,但根据所述实施例可执行“0.8A”次的读取电平转换操作。因此,可将读取电平转换操作的数量减少“0.2A”次,并且可获得延迟增益751。
图8是示出选择和管理能够在MLC块551中进行管理的映射数据的过程的流程图。
在步骤S811中,高速缓存读取模式设置单元520可从控制器130接收映射数据更新请求。
在步骤S813中,当映射数据的数量等于或高于预定阈值时,对应于映射数据的用户数据可以是随机数据。
在步骤S815中,控制器130可对作为随机数据的用户数据的映射数据进行编程,并且高速缓存读取模式设置单元520可在SLC块553中对作为随机数据的用户数据的映射数据进行管理。
这是因为未对作为随机数据的用户数据的映射数据执行高速缓存读取操作。
在步骤S813中,当映射数据的数量低于预定阈值时,对应于映射数据的用户数据可以是顺序数据。
在步骤S817中,高速缓存读取模式设置单元520可检查作为顺序数据的用户数据的映射数据的读取计数的数量是否等于或高于预定阈值。
当作为顺序数据的用户数据的映射数据的读取计数的数量等于或高于预定阈值时,映射数据被识别为具有较低的可靠性并因此在SLC块553中进行管理以提高可靠性。因此,在步骤S815中,控制器130可在SLC块553中对映射数据进行编程。高速缓存读取模式设置单元520可在SLC块553中对映射数据进行管理。
当作为顺序数据的用户数据的映射数据的读取计数的数量低于预定阈值时,映射数据被识别为不具有较低的可靠性,因此在MLC块551中进行管理。因此,在步骤S819中,控制器130可在MLC块551中对映射数据进行编程。高速缓存读取模式设置单元520可在MLC块551中对映射数据进行管理。
在下文中,将参照图9至图17详细描述根据本公开的实施例的如以上参照图1至图8所述的包括存储器装置150和控制器130的存储器系统110的各种数据处理系统和电子装置。
图9是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图9示意性示出了应用根据本实施例的存储器系统的存储卡系统。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,被配置为访问存储器装置6130的存储器控制器6120可电连接到由非易失性存储器实现的存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并使用固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,同时存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。作为示例而非限制,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。作为示例而非限制,存储器装置6130可利用诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成至单个半导体装置中构成固态驱动器(SSD)。而且,存储器控制器6120以及存储器装置6130可构成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图10是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置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用作缓冲存储器时,RAM6222可用于缓冲从主机6210传输到存储器装置6230的数据或反之亦然。当RAM 6222用作高速缓存存储器时,RAM6222可辅助低速存储器装置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的数据。存储器控制器6220可通过NVM接口6225传输/接收去往/来自存储器装置6230的数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性示出应用根据本实施例的存储器系统的SSD。
参照图11,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或者从包括在存储器装置6340中的多个闪速存储器NVM提供的数据。进一步地,缓冲存储器6325可临时存储多个闪速存储器NVM的元数据,例如包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图11示出了缓冲存储器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中选择一个或多个存储器系统或SSD6300,以将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD6300,并将从所选择的SSD 6300读取的数据输出给主机6310。
图12是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图12示意性示出应用了根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130。存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能。NAND接口6433可提供存储器装置6440与控制器6430之间的接口功能。作为示例而非限制,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图13至图16是示意性示出包括根据本实施例的存储器系统的数据处理系统的其它示例的示图。图13至图16示意性示出应用根据本实施例的存储器系统的UFS(通用闪存)系统。
参照图13至图16,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图9描述的存储卡系统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和6730,6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你SD和微型SD彼此通信。
在图13所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在实施例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接至主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接到主机6410。此处,星型形式是一种单个装置与多个装置联接以进行集中操作的配置。多个UFS卡可并联或以星型形式连接到UFS装置6520,或者串联或以链型形式连接到UFS装置6520。
在图14所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行链路层交换例如L3交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图15所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行链路层交换例如L3交换的交换模块6740,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接至交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图16所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作,来与主机6810或UFS卡6830通信。在这种情况下,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6820连接至主机6810且一个UFS卡6830连接至UFS装置6820的配置。然而,多个UFS装置可并联或以星型形式连接到主机6810,或者串联或以链型形式连接到主机6810。多个UFS卡可并联或以星型形式连接到UFS装置6820,或者串联或以链型形式连接到UFS装置6820。
图17是示意性示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的示图。图17是示意性示出应用了根据本实施例的存储器系统的用户系统的示图。
参照图17,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在诸如OS的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDARM、LPDDR2SDRAM或LPDDR3SDRAM的易失性RAM,或诸如PRAM、ReRAM、MRAM或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可被实施为如上参照图11至图16所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据。用户接口6910可支持从触摸面板接收数据的功能。
根据本发明的实施例,当选择和管理能够在MLC块中进行管理的映射数据时,可减少由读取电平转换操作引起的延迟,从而可提高高速缓存读取操作的性能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。

Claims (21)

1.一种存储器系统,包括:
存储器装置,包括第一存储块和第二存储块;
高速缓存读取模式设置单元,在所述第一存储块和所述第二存储块之中确定对用户数据的映射数据进行存储和管理的存储块;以及
控制器,并行地执行对所述用户数据和所述映射数据的读取操作与对所述映射数据的更新操作。
2.根据权利要求1所述的存储器系统,其中所述第一存储块是多层单元块,即MLC块,并且所述第二存储块是单层单元块,即SLC块。
3.根据权利要求1所述的存储器系统,进一步包括:
高速缓存读取表,对执行高速缓存读取操作的映射数据的地址和读取计数信息进行管理。
4.根据权利要求3所述的存储器系统,其中当所述用户数据的所述映射数据的数量低于预定阈值时,所述用户数据是顺序数据。
5.根据权利要求4所述的存储器系统,其中所述顺序数据的映射数据由所述高速缓存读取模式设置单元进行管理。
6.根据权利要求3所述的存储器系统,其中当所述用户数据的所述映射数据的数量等于或高于预定阈值时,所述用户数据是随机数据。
7.根据权利要求5所述的存储器系统,其中所述高速缓存读取模式设置单元在所述高速缓存读取表中与所述顺序数据的所述映射数据相关的信息进行存储和管理。
8.根据权利要求7所述的存储器系统,其中所述高速缓存读取表包括与所述顺序数据的所述映射数据的地址和读取计数相关的信息。
9.根据权利要求8所述的存储器系统,其中所述高速缓存读取模式设置单元在存储在所述高速缓存读取表中的映射数据之中检测读取计数等于或高于预定阈值的映射数据。
10.根据权利要求9所述的存储器系统,其中所述控制器在SLC块中对读取计数等于或高于所述预定阈值的所述映射数据进行编程和更新,并且在MLC块中对读取计数低于所述预定阈值的映射数据进行编程和更新。
11.一种存储器系统的操作方法,包括:
在第一存储块和第二存储块之中确定对用户数据的映射数据进行存储和管理的存储块;以及
由控制器并行地执行对所述用户数据和所述映射数据的读取操作与对所述映射数据的更新操作,
其中所述第一存储块和所述第二存储块包括在存储器装置中。
12.根据权利要求11所述的操作方法,其中所述第一存储块是MLC块,并且所述第二存储块是SLC块。
13.根据权利要求11所述的操作方法,进一步包括:
在高速缓存读取表中对执行高速缓存读取操作的映射数据的地址和读取计数信息进行管理。
14.根据权利要求13所述的操作方法,其中当所述用户数据的所述映射数据的数量低于预定阈值时,所述用户数据是顺序数据。
15.根据权利要求14所述的操作方法,其中所述顺序数据的映射数据由高速缓存读取模式设置单元进行管理。
16.根据权利要求13所述的操作方法,其中当所述用户数据的所述映射数据的数量等于或高于预定阈值时,所述用户数据是随机数据。
17.根据权利要求15所述的操作方法,其中所述在第一存储块和第二存储块之中确定对用户数据的所述映射数据进行存储和管理的存储块包括在所述高速缓存读取表中对与所述顺序数据的所述映射数据相关的信息进行存储和管理。
18.根据权利要求17所述的操作方法,其中所述高速缓存读取表包括与所述顺序数据的所述映射数据的地址和读取计数相关的信息。
19.根据权利要求18所述的操作方法,其中所述在所述第一存储块和所述第二存储块之中确定对用户数据的所述映射数据进行存储和管理的存储块包括在存储在所述高速缓存读取表中的映射数据之中检测读取计数等于或高于预定阈值的映射数据。
20.根据权利要求19所述的操作方法,其中所述控制器在SLC块中对读取计数等于或高于所述预定阈值的所述映射数据进行编程和更新,并且在MLC块中对读取计数低于所述预定阈值的映射数据进行编程和更新。
21.一种存储器系统,包括:
存储器装置,包括第一存储块和第二存储块;
控制器,确定顺序输入的至少两个读取请求所需映射数据的数量,基于所述映射数据的数量在所述第一存储块和所述第二存储块之中确定所述映射数据被存储的存储块,以及响应于所述至少两个读取请求,并行地执行读取用户数据和所述映射数据以及更新所述映射数据的多个操作。
CN201811244710.3A 2018-01-15 2018-10-24 存储器系统及其操作方法 Active CN110045914B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0005047 2018-01-15
KR1020180005047A KR20190086921A (ko) 2018-01-15 2018-01-15 메모리 시스템 및 메모리 시스템의 동작 방법

Publications (2)

Publication Number Publication Date
CN110045914A CN110045914A (zh) 2019-07-23
CN110045914B true CN110045914B (zh) 2022-05-06

Family

ID=67213959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811244710.3A Active CN110045914B (zh) 2018-01-15 2018-10-24 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US10459838B2 (zh)
KR (1) KR20190086921A (zh)
CN (1) CN110045914B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102695175B1 (ko) * 2019-10-11 2024-08-14 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 동작 방법
CN111736760B (zh) * 2020-05-11 2022-05-13 瑞芯微电子股份有限公司 一种动态随机存储方法及系统
KR20220113159A (ko) 2021-02-05 2022-08-12 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN114519059B (zh) * 2022-02-22 2024-07-12 平安科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708744A (zh) * 2015-11-13 2017-05-24 爱思开海力士有限公司 存储系统和存储系统的操作方法
CN106775443A (zh) * 2015-11-23 2017-05-31 爱思开海力士有限公司 存储器系统及其操作方法
CN107450845A (zh) * 2016-05-20 2017-12-08 爱思开海力士有限公司 存储器系统及其操作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662827B1 (ko) * 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
KR102254392B1 (ko) * 2014-05-12 2021-05-25 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
KR20160024546A (ko) * 2014-08-26 2016-03-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102517129B1 (ko) * 2015-11-19 2023-04-04 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708744A (zh) * 2015-11-13 2017-05-24 爱思开海力士有限公司 存储系统和存储系统的操作方法
CN106775443A (zh) * 2015-11-23 2017-05-31 爱思开海力士有限公司 存储器系统及其操作方法
CN107450845A (zh) * 2016-05-20 2017-12-08 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
KR20190086921A (ko) 2019-07-24
CN110045914A (zh) 2019-07-23
US20190220393A1 (en) 2019-07-18
US10459838B2 (en) 2019-10-29

Similar Documents

Publication Publication Date Title
US10942660B2 (en) Memory system for peforming compression based on map data pattern and operating method thereof
CN110858180B (zh) 数据处理系统及其操作方法
CN110765035B (zh) 存储器系统及其操作方法
CN108121665B (zh) 存储器系统及其操作方法
US20180074718A1 (en) Memory system and method for operating the same
CN110321069B (zh) 存储器系统及其操作方法
US10489078B2 (en) Controller keeping a sequence of data and operating method thereof
CN109390003B (zh) 存储器系统及其操作方法
US20200042242A1 (en) Controller and operation method thereof
CN109656470B (zh) 存储器系统及其操作方法
CN110765029B (zh) 控制器及用于操作该控制器的方法
CN108427536B (zh) 存储器系统及其操作方法
CN110489271B (zh) 存储器系统及其操作方法
CN110045914B (zh) 存储器系统及其操作方法
US20200210295A1 (en) Memory system and operating method thereof
CN108628755B (zh) 存储器系统
US20190212936A1 (en) Memory system and operating method thereof
US20190087114A1 (en) Data processing system and operating method thereof
CN110928486B (zh) 存储器系统及其操作方法
US10768839B2 (en) Memory system and operating method thereof
US10908992B2 (en) Controller and operation method thereof
CN107436730B (zh) 数据处理系统及其操作方法
US10528465B2 (en) Memory system and operating method thereof
CN109254722B (zh) 控制器及其操作方法
CN111258920A (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