CN111752858A - 控制器、存储器系统及其操作方法 - Google Patents

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

Info

Publication number
CN111752858A
CN111752858A CN201911099951.8A CN201911099951A CN111752858A CN 111752858 A CN111752858 A CN 111752858A CN 201911099951 A CN201911099951 A CN 201911099951A CN 111752858 A CN111752858 A CN 111752858A
Authority
CN
China
Prior art keywords
mapping data
memory
host
controller
cached
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.)
Withdrawn
Application number
CN201911099951.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
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 CN111752858A publication Critical patent/CN111752858A/zh
Withdrawn 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/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
    • 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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0658Controller construction arrangements
    • 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • 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/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • 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

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)

Abstract

本申请涉及控制器、存储器系统及其操作方法。存储器系统可以包括:非易失性存储器器件,被配置为存储多个L2P(逻辑到物理)映射数据;和控制器,被配置为控制所述非易失性存储器器件。控制器可以包括存储器,所述存储器被配置为高速缓存所述多个L2P映射数据中的一个或多个,以及所述控制器将所述多个L2P映射数据中的、包括与高速缓存在所述存储器中的L2P映射数据相同逻辑地址的L2P映射数据传送到主机。

Description

控制器、存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2019年3月27日提交的韩国申请号10-2019-0035205的优先权,其全部内容通过引用合并于此。
技术领域
各个实施例总体上涉及一种半导体器件,并且更具体地,涉及控制器、存储器系统及其操作方法。
背景技术
近来,用于计算环境的范例已经变为无所不在的计算环境,在该环境中可以随时随地使用计算机系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子设备的使用迅速增加。这种便携式电子设备通常使用利用存储器器件的存储器系统。存储器系统用于存储便携式电子设备中使用的数据。
由于使用存储器器件的存储器系统不具有机械驱动器,因此数据存储设备具有优异的稳定性和耐用性,展现出高信息访问速度,并且具有低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器器件、具有各种接口的存储器卡、通用闪存存储(UFS)设备和固态驱动器(SSD)。
发明内容
各个实施例涉及一种技术,其能够改善使用主机的存储器资源的存储器系统的性能。
在实施例中,一种存储器系统可以包括:非易失性存储器器件,被配置为存储多个逻辑到物理(L2P)映射数据;和控制器,被配置为控制所述非易失性存储器器件。所述控制器包括存储器,所述存储器被配置为高速缓存所述多个L2P映射数据中的一个或多个。所述控制器将所述多个L2P映射数据中的、包括与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送至主机。
在实施例中,一种控制器可以包括:存储器接口,被配置为从非易失性存储器器件接收多个L2P映射数据;存储器,被配置为高速缓存多个逻辑到物理(L2P)映射数据中的一个或多个;主机接口,被配置为与主机通信;和处理器,被配置为控制所述主机接口,以将所述多个L2P映射数据中的、与高速缓存在所述存储器中的L2P映射数据相对应的L2P映射数据传送至所述主机。
在实施例中,提供了一种数据处理系统的操作方法,所述数据处理系统包括主机、存储器器件和用于基于包括在来自所述主机的访问请求中的一个或多个映射数据来访问所述存储器器件的控制器。所述操作方法可以包括:由所述存储器器件在其中存储一个或多个映射数据;由所述控制器在其中高速缓存存储在所述存储器器件中的一个或多个映射数据;由所述主机在其中高速缓存在所述控制器中高速缓存的一个或多个映射数据;以及当高速缓存在所述控制器中的映射数据内的映射数据发生变化时,由所述主机更新在主机中高速缓存的映射数据内的对应映射数据。所述映射数据指示逻辑地址与物理地址之间的映射关系。
附图说明
图1是示出根据实施例的存储器系统的配置的图。
图2是描述根据实施例的存储器系统使用主机的存储器资源的示例的图。
图3是描述根据实施例的存储器系统的操作方法的流程图。
图4示出了描述根据实施例的存储器系统的操作方法的图。
图5是描述根据实施例的存储器系统的操作方法的流程图。
图6是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的图。
图7是示出图6的控制器的配置的图。
图8是示出包括根据实施例的存储器系统的数据处理系统的图。
图9是示出包括根据实施例的存储器系统的数据处理系统的图。
图10是示出包括根据实施例的存储器系统的网络系统的图。
图11是示出包括在根据实施例的存储器系统中的非易失性存储器器件的框图。
具体实施方式
将通过以下实施例并参照附图来描述本公开的优点和特征以及用于实现该优点和特征的方法。然而,本公开不限于本文描述的实施例,而是可以以不同的形式体现。提供本实施例仅是为了详细描述本公开,使得本公开所属领域的技术人员可以容易地实施本公开的技术思想。
注意,对“一个实施例”、“另一实施例”等的引用不一定意味着仅一个实施例,并且对任何这样的短语的不同引用不一定对相同的实施例。
如本文所用,除非上下文另外明确指出,否则单数形式也可以包括复数形式,反之亦然。除非另外说明或从上下文清楚地理解为单数形式,否则在本申请和所附权利要求书中使用的冠词“一”和“一个”通常应被解释为意指“一个或多个”。
在整个说明书中,当某个元件“耦合”到另一个元件时,不仅可以指前一个元件“直接耦合到”后者,而且还可以指前一个元件“间接耦合到”后一个元件,其间插入有另一个元件。在本说明书中,当元件“包括或包含”一个组件时,除非相反地指出,否则可以表示该元件不排除其他组件,并且可以进一步包括或包含其他组件。
此后,将参考附图详细描述实施例。
图1是示出根据实施例的存储器系统10的配置的图。
参照图1,根据本实施例的存储器系统10可以存储由主机20访问的数据,该主机20诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视或车载信息娱乐系统。
根据耦合到主机20的接口协议,存储器系统10可以被制造为各种类型的存储设备中的任何一种。例如,存储器系统10可以被配置为各种类型的存储设备中的任何一种,包括SSD(固态驱动器)、MMC(多媒体卡)(例如eMMC、RS-MMC或微型-MMC)、SD(安全数字)卡(例如迷你SD或微型SD卡)、USB(通用串行总线)存储设备、UFS(通用闪存存储)设备、PCMCIA(个人计算机存储器卡国际协会)卡类型存储设备、PCI(外围组件互连)卡类型存储设备、PCI-E(PCI快速)卡类型存储设备、CF(紧凑闪存)卡、智能媒体卡和记忆棒。
存储器系统10可以被制造为各种类型的封装中的任何一种。例如,存储器系统10可以被制造为各种类型的封装中的任何一种,诸如POP(封装上封装)、SIP(封装内系统)、SOC(片上系统)、MCP(多芯片封装)、COB(板上芯片)、WFP(晶片级制备封装)和WSP(晶片级堆叠封装)。
存储器系统10可以包括非易失性存储器器件100和控制器200。
非易失性存储器器件100可以用作存储器系统10的存储介质。取决于存储器单元,非易失性存储器器件100可以被配置为诸如NAND闪存存储器器件、NOR闪存存储器器件、使用铁电电容器的FRAM(铁电随机存取存储器)、使用TMR(隧道磁阻)层的MRAM(磁性随机存取存储器)、使用硫族化物合金的PRAM(相变随机存取存储器)和使用过渡金属氧化物的ReRAM(电阻随机存取存储器)的各种类型的非易失性存储器器件中的任何一种。
图1示出了存储器系统10包括一个非易失性存储器器件100。然而,这仅是为了方便描述,并且存储器系统10可以包括多个非易失性存储器器件。本实施例可以以相同的方式应用于包括多个非易失性存储器器件的存储器系统10。
非易失性存储器器件100可以包括具有多个存储器单元的存储器单元阵列(未示出),多个存储器单元布置在多个位线(未示出)和多个字线(未示出)之间的相应交点处。存储器单元阵列可以包括多个存储器块,并且每个存储器块可以包括多个页面。
例如,存储器单元阵列的每个存储器单元可以被配置为能够存储1位数据的单级单元(SLC)或能够存储2位或更多位数据的多级单元(MLC)。MLC可以存储2位数据、3位数据、4位数据等。通常,用于存储2位数据的存储器单元可以被称为MLC,用于存储3位数据的存储器单元可以被称为三级单元(TLC),并且用于存储4位数据的存储器单元可以被称为四级单元(QLC)。然而,在本实施例中,为了便于描述,用于存储2位至4位数据的存储器单元将被统称为MLC。
存储器单元阵列110可以包括SLC和MLC中的一个或多个。此外,存储器单元阵列110可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。控制器200可以通过驱动加载到存储器230的固件或软件来控制存储器系统10的整体操作。控制器200可以解码和驱动基于代码的指令或算法,例如固件或软件。控制器200可以以硬件或硬件和软件的组合来实现。尽管未在图1中示出,但控制器200可以进一步包括纠错码(ECC)引擎,其通过对从主机提供的写入数据执行ECC编码来生成奇偶校验数据,并且使用奇偶校验数据对从非易失性存储器器件100读取的读取数据执行ECC解码。
主机接口210可以响应于主机20的协议而接口连接主机20和存储器系统10。例如,主机接口210可以通过以下任何一种协议与主机20进行通信:USB(通用串行总线)、UFS(通用闪存存储)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串行附接SCSI)、PCI(外围组件互连)和PCI-E(PCI快速)。
处理器220可以包括微控制单元(MCU)和中央处理单元(CPU)。处理器220可以处理从主机20传送来的请求。为了处理从主机20传送来的请求,处理器220可以驱动加载到存储器230中的基于代码的指令或算法即固件,并控制非易失性存储器器件100和内部功能块,例如主机接口210、存储器230和存储器接口240。
处理器220可以基于从主机20传送来的请求来生成控制信号以控制非易失性存储器器件100的操作,并且可以通过存储器接口240将所生成的控制信号提供给非易失性存储器器件100。
存储器230可以包括随机存取存储器(RAM)(诸如动态RAM(DRAM)或静态RAM(SRAM))和只读存储器(ROM)。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储驱动固件所需的数据,例如,元数据。即,存储器230可以用作处理器220的工作存储器。
存储器230可以包括数据缓冲器,该数据缓冲器用于临时存储要从主机20传送到非易失性存储器器件100的写入数据或要从非易失性存储器器件100传送到主机20的读取数据。即,存储器230可以用作缓冲器存储器。
然而,对于本领域技术人员显而易见的是,存储器230可以包括用于各种目的的区域,诸如用作临时存储写入数据的写入数据缓冲器的区域,用作用于临时存储读取数据的读取数据缓冲器的区域以及用作用于高速缓存映射数据的映射高速缓存缓冲器的区域。
存储器230可以存储系统数据或元数据。
当非易失性存储器器件100被配置为闪存存储器器件时,处理器220可以控制非易失性存储器器件100的唯一操作,并且驱动被称为闪存转换层(FTL)的软件以便提供对主机20的设备兼容性。随着FTL被驱动,主机20可以识别存储器系统10并且将存储器系统10用作诸如硬盘的通用存储设备。
存储器接口240可以在处理器220的控制下控制非易失性存储器器件100。存储器接口240也可以被称为存储器控制器。存储器接口240可以向非易失性存储器器件100提供控制信号。控制信号可以包括用于控制非易失性存储器器件100的命令、地址和操作控制信号。存储器接口240可以将存储在数据缓冲器中的数据提供给非易失性存储器器件100或将从非易失性存储器器件100传送的数据存储在数据缓冲器中。
控制器200可以包括直接耦合到处理器220的第一存储器(未示出)。处理器220可以将固件从存储器230加载到第一存储器,并驱动在第一存储器中加载的固件。第一存储器可以存在于控制器200的外部。
图2是示出根据实施例的存储器系统使用主机的存储器资源的图。
参照图2,在步骤S210中,主机20可以从存储器系统10请求存储在存储器系统10中的多个逻辑到物理(L2P)映射数据中的全部或一些L2P映射数据。
在实施例中,当存储器系统10的引导操作完成时,主机20可以从存储器系统10请求L2P映射数据。L2P映射数据可以指示由主机20使用的逻辑地址和由控制器200使用的物理地址之间的映射关系,以便访问存储在非易失性存储器器件100中的数据。逻辑地址可以包括基于页面设置的逻辑页面编号LPN和逻辑块地址LBA。物理地址可以包括基于页面设置的物理页面号PPN和物理块地址PBN。
在实施例中,主机20可以请求存储在存储器系统10中的多个L2P映射数据中的、与特定工作负载相对应的L2P映射数据。
在实施例中,主机20可以从存储器系统10请求存储在非易失性存储器器件100中的多个L2P映射数据的全部或一些L2P映射数据。
在实施例中,主机20可以从存储器系统10请求存储在控制器200的存储器230中的多个L2P映射数据的全部或一些L2P映射数据。
在步骤S220中,存储器系统10可以将主机20请求的一个或多个L2P映射数据传送到主机20。
在实施例中,控制器200的存储器230可以包括:DRAM,被配置为存储从非易失性存储器器件100接收的多个L2P映射数据;以及SRAM,被配置为高速缓存存储在DRAM中的多个L2P映射数据中的一个或多个L2P映射数据。
在实施例中,存储器系统10可以将存储在控制器200的存储器230中的多个L2P映射数据的全部或一些L2P映射数据传送到主机20。
在实施例中,存储器系统10可以读取存储在非易失性存储器器件100中的多个L2P映射数据的全部或一些L2P映射数据,并将读取的L2P映射数据传送到主机20。
主机20可以从存储器系统10接收一个或多个L2P映射数据,并且将接收到的L2P映射数据高速缓存到主机存储器21中。
在步骤S230中,当主机20需要存储在存储器系统10中的数据时,主机20可以生成读取命令,该读取命令包括从高速缓存在主机存储器21中的L2P映射数据中选择的L2P映射数据。所选择的L2P映射数据可以指示读取命令的目标数据在非易失性存储器器件100内的位置。主机20可以将所生成的读取命令传送到存储器系统10。
在步骤S240中,存储器系统10可以从主机20接收读取命令,并根据接收到的读取命令执行读取存储在非易失性存储器器件100中的数据的读取操作。
在实施例中,存储器系统10可以基于包括在读取命令中的L2P映射数据来读取存储在非易失性存储器器件100中的数据。
在实施例中,存储器系统10可以基于高速缓存在存储器230中的L2P映射数据来读取数据,而不使用包括在读取命令中的L2P映射数据。
即,存储器系统10可以将L2P映射数据高速缓存到具有相对大容量的主机存储器21中,并且执行包括从高速缓存在主机存储器21中的L2P映射数据中选择的L2P映射数据的读取命令,从而确保用于高速缓存L2P映射数据的存储器230的存储空间。此外,存储器系统10在执行读取命令时不需要参考高速缓存在存储器系统10中的L2P映射数据,这提高了存储器系统10的性能。
已经以L2P映射数据为例描述了图2。然而,可以以L2P区段为单位将L2P映射数据高速缓存到主机存储器21中,每个所述L2P区段包括多个L2P映射数据。
图3是用于描述根据实施例的存储器系统的操作方法的流程图。
图4示出了描述根据实施例的存储器系统的操作方法的图。
以下描述将基于其中根据图2的处理将L2P映射数据1高速缓存在主机存储器21中的示例。
参照图3和图4,存储器系统10可以在步骤S310中改变L2P映射数据1。具体地,控制器200可以执行使得发生诸如垃圾收集、读取回收或数据更新的映射数据改变事件的操作,并且将原来存储在由物理页面号PPN1指示的位置中的数据存储到由物理页面号PPN2指示的位置。这时,如图4所示,可以改变L2P映射数据1的映射关系,使得原来映射到L2P映射数据1的逻辑块地址LBA1的物理页面号PPN1改变为物理页面号PPN2(①)。在这种情况下,由于高速缓存在主机存储器21中的L2P映射数据1的逻辑块地址LBA1仍然保持逻辑块地址LBA1和物理页面号PPN1之间的原始映射关系,因此控制器200需要执行同步操作以执行与改变后的L2P映射数据1的同步。
在实施例中,存储器系统10可以将L2P映射数据1的改变通知给主机20。
在实施例中,主机20可以向存储器系统10提供对高速缓存在主机存储器21中的L2P映射数据1的同步请求。
在实施例中,当由存储器系统10通知对L2P映射数据1的改变时,主机20可以将同步请求传送到存储器系统10。
在步骤S320中,当从主机20接收到同步请求时,存储器系统10可以将改变的L2P映射数据1传送到主机20。即如图4所示,控制器200可以将存储在存储器230中的L2P映射数据1传送到主机20(②)。
在步骤S330中,主机20可以从控制器200接收改变后的L2P映射数据1。主机20可以基于改变后的L2P映射数据1(③)更新高速缓存在主机存储器21中的L2P映射数据1。即,可以改变映射关系,使得原来映射到高速缓存在主机存储器21中的L2P映射数据1内的逻辑块地址LBA1的物理页面号PPN1被改变为物理页面号PPN2。
已经以L2P映射数据为例描述了图3和图4。然而,可以以L2P区段为单位将L2P映射数据高速缓存到主机存储器中,每个所述L2P区段包括多个L2P映射数据。
图5是描述根据本实施例的存储器系统的操作的流程图。
以下描述将基于根据图2的处理将L2P映射数据高速缓存在主机存储器21中。
在步骤S510中,存储器系统10可以更改L2P映射数据。具体地,控制器200可以执行映射数据改变事件,由于该事件,映射到L2P映射数据的逻辑地址的物理地址被改变。映射数据改变事件可以包括针对存储在非易失性存储器器件100的用户数据区域中的数据的垃圾收集操作、读取回收操作和更新操作。
在步骤S520中,存储器系统10可以确定是否将改变的L2P映射数据高速缓存在控制器200的存储器230中。具体地,在步骤S520,控制器200可以确定L2P映射数据是否高速缓存在存储器230中,所述L2P映射数据具有与改变后的L2P映射数据相同的逻辑地址。步骤S520可以允许仅对高速缓存在控制器200的存储器230中的L2P映射数据执行同步操作,从而防止由于频繁的同步操作而导致的存储器系统10的性能降低。
在步骤S530中,存储器系统10可以将高速缓存在存储器230中的改变的L2P映射数据传送到主机20。具体地,当改变后的L2P映射数据被高速缓存在存储器230中时(即,在步骤S520中为“是”),控制器200可以将高速缓存在存储器230中的改变后的L2P映射数据传送到主机20。此时,主机20可以更新高速缓存在主机存储器21中的L2P映射数据中的、包括与被传送(即,改变)的L2P映射数据相同逻辑地址的L2P映射数据。
图6是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的图。参照图6,数据处理系统2000可以包括主机2100和SSD2200。
SSD 2200可以包括控制器2210、缓冲器存储器器件2220、非易失性存储器器件2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的整体操作。
缓冲器存储器器件2220可以临时存储要存储在非易失性存储器器件2231至223n中的数据。此外,缓冲器存储器器件2220可以临时存储从非易失性存储器器件2231至223n读取的数据。可以在控制器2210的控制下将临时存储在缓冲器存储器器件2220中的数据传送到主机2100或非易失性存储器器件2231至223n。
非易失性存储器器件2231至223n可以用作SSD 2200的存储介质。非易失性存储器器件2231至223n可以分别通过多个通道CH1至CH耦合到控制器2210。一个或多个非易失性存储器器件可以耦合到一个通道。耦合到一个通道的非易失性存储器件可以耦合到相同的信号总线和相同的数据总线。
电源2240可以提供通过电源连接器2260输入到SSD 2200的电力PWR。电源2240可以包括辅助电源2241。当发生突然断电时,辅助电源2241可以提供电力以正常关闭SSD2200。辅助电源2241可以包括能够存储电力PWR的大电容器。
控制器2210可以通过信号连接器2250与主机2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机2100和SSD 2200之间的接口方法,信号连接器2250可以被配置为各种类型的连接器。
图7示出了图6的控制器的配置。参照图7,控制器2210可以包括主机接口2211、控制单元2212、RAM 2213、ECC单元2214和存储器接口2215。
主机接口2211可以根据主机2100的协议将主机2100和SSD 2200接口连接。例如,主机接口2211可以通过以下任何一种安全数字协议与主机2100通信:USB(通用串行总线)、MMC(多媒体卡)、eMMC(嵌入式MMC)、PCMCIA(个人计算机存储器卡国际协会)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串行附接SCSI)、PCI(外围组件互连)、PCI-E(PCI快速)和UFS(通用闪存存储)。主机接口2211可执行磁盘仿真功能,以支持主机2100将SSD 2200识别为通用存储器系统,例如硬盘驱动器(HDD)。
控制单元2212可以分析和处理从主机2100输入的信号SGL。控制单元2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。RAM 2213可以用作用于驱动这种固件或软件的工作存储器。
ECC单元2214可以生成要被传送到非易失性存储器器件2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据和数据可以被存储在非易失性存储器器件2231至223n中。ECC单元2214可以基于奇偶校验数据来检测从非易失性存储器器件2231至223n读取的数据的错误。当检测到的错误落入可校正范围内时,ECC单元2214可以校正检测到的错误。
存储器接口2215可以在控制单元2212的控制下将诸如命令和地址的控制信号提供给非易失性存储器器件2231至223n。存储器接口2215可以在控制单元2212的控制下与非易失性存储器器件2231至223n交换数据。例如,存储器接口2215可以向非易失性存储器器件2231至223n提供存储在缓冲器存储器器件2220中的数据,或者向缓冲器存储器器件2220提供从非易失性存储器器件2231至223n读取的数据。
图8是示出根据实施例的包括存储器系统的数据处理系统的图。参照图8,数据处理系统3000可以包括主机3100和存储器系统3200。
主机3100可以以板的形式配置,诸如印刷电路板(PCB)。尽管未示出,但是主机3100可以包括用于执行主机的功能的内部功能块。
主机3100可以包括连接端子3110诸如插座、插槽或连接器。存储器系统3200可以被安装在连接端子3110上。
存储器系统3200可以以板的形式配置,诸如PCB。存储器系统3200可以被称为存储器模块或存储器卡。存储器系统3200可以包括控制器3210、缓冲器存储器器件3220、非易失性存储器器件3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制存储器系统3200的整体操作。控制器3210可以以与图7所示的控制器2210相同的方式来配置。
缓冲器存储器器件3220可以临时存储将被存储在非易失性存储器器件3231和3232中的数据。此外,缓冲器存储器器件3220可以临时存储从非易失性存储器器件3231和3232读取的数据。被临时存储在缓冲器存储器器件3220的数据可以在控制器3210的控制下被传送到主机3100或非易失性存储器器件3231和3232。
非易失性存储器器件3231和3232可以用作存储器系统3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供给存储器系统3200。PMIC3240可以在控制器3210的控制下管理存储器系统3200的电力。
连接端子3250可以耦合到主机的连接端子3110。通过连接端子3250,可以在主机3100和存储器系统3200之间传送信号和电力,信号包括命令、地址、数据等。取决于主机3100和存储器系统3200之间的接口方法,可以以各种方式配置连接端子3250。连接端子3250可以设置在存储器系统3200的任意一侧处。
图9是示出根据实施例的包括存储器系统的数据处理系统的图。参照图9,数据处理系统4000可以包括主机4100和存储器系统4200。
主机4100可以板的形式配置,诸如PCB。尽管未示出,但主机4100可以包括用于执行所述主机的功能的内部功能块。
存储器系统4200可以被配置为表面安装封装。存储器系统4200可以通过焊料球4250被安装在主机4100上。存储器系统4200可以包括控制器4210、缓冲器存储器器件4220和非易失性存储器器件4230。
控制器4210可以控制存储器系统4200的整体操作。控制器4210可以与图7所示的控制器2210相同的方式配置。
缓冲器存储器器件4220可以临时存储将要存储在非易失性存储器器件4230中的数据。此外,缓冲器存储器器件4220可以临时存储从非易失性存储器器件4230中读取的数据。临时存储在缓冲器存储器器件4220中的数据可以在控制器4210的控制下被传送到主机4100或非易失性存储器器件4230。
非易失性存储器器件4230可以用作存储器系统4200的存储介质。
图10是示出包括根据实施例的存储器系统的网络系统500的图。参照图10,网络系统5000可以包括通过网络5500连接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以向多个客户端系统5410至5430提供数据。
服务器系统5300可以包括主机5100和存储器系统5200。存储器系统5200可以被配置为图1的存储器系统10、图7的SSD 2200、图8的存储器系统3200或图9的存储器系统4200。
图11是示出根据实施例的包括在存储器系统中的非易失性存储器器件的框图。参照图11,非易失性存储器器件100可以包括存储器单元阵列110、行解码器120、列解码器130、数据读取/写入块140、电压生成器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm与位线BL1至BLn之间的各个交叉处的存储器单元MC。
行解码器120可以通过字线WL1至WLm耦合到存储器单元阵列110。行解码器120可以在控制逻辑160的控制下操作。行解码器120可以解码从外部设备(未示出)提供的地址。行解码器120可以基于解码结果选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压生成器150接收的字线电压提供给字线WL1至WLm。
数据读取/写入块140可以通过位线BL1至BLn耦合到存储器单元阵列110。数据读取/写入块140可以包括与各个位线BL1到BLn相对应的读取/写入电路RW1到RWn。数据读取/写入块140可以在控制逻辑160的控制下进行操作。根据操作模式,数据读取/写入块140可以作为写入驱动器或读出放大器进行操作。例如,数据读取/写入块140可以用作写入驱动器,在写入操作期间将从外部设备提供的数据存储在存储器单元阵列110中。再例如,数据读取/写入块140可以用作读出放大器,在读取操作期间从存储器单元阵列110读取数据。
列解码器130可以在控制逻辑160的控制下操作。列解码器130可以解码从外部设备提供的地址。列解码器130可以基于解码结果将与各个位线BL1至BLn相对应的数据读取/写入块140的读取/写入电路RW1至RWn耦合到数据输入/输出线(或数据输入/输出缓冲器)。
电压生成器150可生成将用于非易失性存储器器件100的内部操作的电压。由电压生成器150生成的电压可被施加到存储器单元阵列110的存储器单元。例如,可以将在编程操作期间产生的编程电压施加到将在其上执行编程操作的存储器单元的字线。再例如,可以将在擦除操作期间产生的擦除电压施加到要在其上执行擦除操作的存储器单元的阱区域。再例如,可以将在读取操作期间产生的读取电压施加到将在其上执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部设备提供的控制信号来控制非易失性存储器器件100的整体操作。例如,控制逻辑160可以控制非易失性存储器器件100的操作,例如非易失性存储器器件100的读取、写入或擦除操作。
根据本实施例,可以通过有效的同步操作来提高存储器系统的性能。
尽管上面已经描述了各种实施例,但是本领域技术人员将理解,所描述的实施例仅是示例。因此,在此已经描述的存储器系统及其操作方法不应基于所描述的实施例而受到限制。
已经参考附图描述了本公开的实施例,并且在描述中使用的特定术语或词语应根据本公开的精神来解释,而不限制其主题。应当理解,本文描述的基本发明构思的许多变化和修改仍将落入如所附权利要求及其等同物所限定的本公开的精神和范围内。

Claims (19)

1.一种存储器系统,包括:
非易失性存储器器件,被配置为存储多个逻辑到物理(L2P)映射数据;和
控制器,被配置为控制所述非易失性存储器器件,
其中,所述控制器包括存储器,所述存储器被配置为高速缓存所述多个L2P映射数据中的一个或多个L2P映射数据,以及
其中,所述控制器将所述多个L2P映射数据中的、包括与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到主机。
2.根据权利要求1所述的存储器系统,其中,所述控制器不将所述多个L2P映射数据中的、与高速缓存在所述存储器中的L2P映射数据不同的L2P映射数据传送到所述主机。
3.根据权利要求1所述的存储器系统,其中,当从所述主机接收到L2P映射数据请求时,所述控制器将所述多个L2P映射数据中的、包括与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到所述主机。
4.根据权利要求1所述的存储器系统,其中,所述存储器包括:
第一存储器,被配置为存储从所述非易失性存储器器件读取的多个L2P映射数据;和
第二存储器,被配置为高速缓存在所述第一存储器中存储的L2P映射数据内的一个或多个L2P映射数据,
其中,所述存储器将高速缓存在所述第二存储器中的L2P映射数据中的、包括与存储在所述第一存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到所述主机。
5.根据权利要求4所述的存储器系统,其中,所述第一存储器是动态随机存取存储器(DRAM),并且所述第二存储器是静态随机存取存储器(SRAM)。
6.根据权利要求1所述的存储器系统,其中,所述控制器将所述多个L2P映射数据中的以下L2P映射数据传送到所述主机:所述L2P映射数据包括与高速缓存在所述存储器中并且由于映射数据改变事件而改变的L2P映射数据相同的逻辑地址。
7.根据权利要求6所述的存储器系统,其中,所述映射数据改变事件是以下事件:映射到与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的物理地址被改变。
8.根据权利要求6所述的存储器系统,其中,所述映射数据改变事件是更新操作、垃圾收集操作和读取回收操作中的至少一项。
9.根据权利要求6所述的存储器系统,其中,所述控制器将所述映射数据改变事件通知给所述主机;以及然后,当所述主机请求改变的L2P映射数据时,将所述多个L2P映射数据中的、包括与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到所述主机。
10.一种控制器,包括:
存储器接口,被配置为从非易失性存储器器件接收多个L2P映射数据;
存储器,被配置为高速缓存多个逻辑到物理(L2P)映射数据中的一个或多个L2P映射数据;
主机接口,被配置为与主机通信;和
处理器,被配置为控制所述主机接口,以将所述多个L2P映射数据中的、与高速缓存在所述存储器中的L2P映射数据相对应的L2P映射数据传送到所述主机。
11.根据权利要求10所述的控制器,其中,所述处理器控制所述主机接口不将所述多个L2P映射数据中的、不与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到所述主机。
12.根据权利要求10所述的控制器,其中,当从所述主机接收到L2P映射数据请求时,所述处理器控制所述主机接口以将所述多个L2P映射数据中的、包括与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到所述主机。
13.根据权利要求10所述的控制器,其中,所述存储器包括:
第一存储器,被配置为存储从所述非易失性存储器器件读取的多个L2P映射数据;和
第二存储器,被配置为高速缓存在所述第一存储器中存储的多个L2P映射数据内的一个或多个L2P映射数据,
其中,所述处理器控制所述主机接口以将高速缓存在所述第二存储器中的L2P映射数据中的、包括与存储在所述第一存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到所述主机。
14.根据权利要求10所述的控制器,其中,所述第一存储器是动态随机存取存储器(DRAM),并且所述第二存储器是静态随机存取存储器(SRAM)。
15.根据权利要求10所述的控制器,其中,所述处理器控制所述主机接口以将所述多个L2P映射数据中的以下L2P映射数据传送到所述主机:所述L2P映射数据包括与高速缓存在所述存储器中并且由于映射数据改变事件而改变的L2P映射数据相同的逻辑地址。
16.根据权利要求15所述的控制器,其中,所述映射数据改变事件指示映射到逻辑地址的物理地址被改变。
17.根据权利要求15所述的控制器,其中,所述映射数据改变事件是更新操作、垃圾收集操作和读取回收操作中的至少一项。
18.根据权利要求15所述的控制器,其中,所述处理器控制所述主机接口以将所述映射数据改变事件通知给所述主机,以及然后,当所述主机请求改变的L2P映射数据时,将所述多个L2P映射数据中的、包括与高速缓存在所述存储器中的L2P映射数据相同的逻辑地址的L2P映射数据传送到所述主机。
19.一种数据处理系统的操作方法,所述数据处理系统包括主机、存储器器件和控制器,所述控制器用于基于包括在来自所述主机的访问请求中的一个或多个映射数据来访问所述存储器器件,所述操作方法包括:
由所述存储器器件在其中存储一个或多个映射数据;
由控制器在其中高速缓存存储在所述存储器器件中的一个或多个映射数据;
由所述主机在其中高速缓存在所述控制器中高速缓存的一个或多个映射数据;以及
当高速缓存在所述控制器中的映射数据内的一个映射数据发生变化时,由所述主机更新在所述主机中高速缓存的映射数据内的对应映射数据,
其中,所述映射数据指示逻辑地址与物理地址之间的映射关系,以及
其中,所述主机中高速缓存的映射数据内的一个或多个映射数据将被包括在所述访问请求中。
CN201911099951.8A 2019-03-27 2019-11-12 控制器、存储器系统及其操作方法 Withdrawn CN111752858A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0035205 2019-03-27
KR1020190035205A KR20200114086A (ko) 2019-03-27 2019-03-27 컨트롤러, 메모리 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
CN111752858A true CN111752858A (zh) 2020-10-09

Family

ID=72604331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911099951.8A Withdrawn CN111752858A (zh) 2019-03-27 2019-11-12 控制器、存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US20200310981A1 (zh)
KR (1) KR20200114086A (zh)
CN (1) CN111752858A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114520016A (zh) * 2020-11-19 2022-05-20 美光科技公司 用于存储器地址区的激活和去激活的增强
CN114880251A (zh) * 2022-07-12 2022-08-09 荣耀终端有限公司 存储单元的访问方法、访问装置和终端设备
WO2023092446A1 (zh) * 2021-11-26 2023-06-01 华为技术有限公司 数据同步方法及相关设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114520016A (zh) * 2020-11-19 2022-05-20 美光科技公司 用于存储器地址区的激活和去激活的增强
CN114520016B (zh) * 2020-11-19 2022-12-20 美光科技公司 用于存储器地址区的激活和去激活的增强
US11886341B2 (en) 2020-11-19 2024-01-30 Micron Technology, Inc. Enhancement for activation and deactivation of memory address regions
WO2023092446A1 (zh) * 2021-11-26 2023-06-01 华为技术有限公司 数据同步方法及相关设备
CN114880251A (zh) * 2022-07-12 2022-08-09 荣耀终端有限公司 存储单元的访问方法、访问装置和终端设备
CN114880251B (zh) * 2022-07-12 2023-08-29 荣耀终端有限公司 存储单元的访问方法、访问装置和终端设备

Also Published As

Publication number Publication date
KR20200114086A (ko) 2020-10-07
US20200310981A1 (en) 2020-10-01

Similar Documents

Publication Publication Date Title
US11216362B2 (en) Data storage device and operating method thereof
CN111414312B (zh) 数据存储装置及其操作方法
US10769066B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
KR20190057887A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20200218653A1 (en) Controller, data storage device, and operating method thereof
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器系统
US11163696B2 (en) Controller, memory system and operating method thereof for controlling a non-volatile memory device during a sync-up operation
US11520694B2 (en) Data storage device and operating method thereof
CN110837342A (zh) 数据存储装置及其操作方法
KR20200048978A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200121645A (ko) 컨트롤러 및 그것의 동작 방법과 메모리 시스템
CN113704138A (zh) 存储装置及其操作方法
CN111752858A (zh) 控制器、存储器系统及其操作方法
KR20190006677A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200115831A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20210156010A (ko) 저장 장치 및 그 동작 방법
CN112286443A (zh) 控制器、存储器系统及其操作方法
CN110795366B (zh) 数据存储装置及数据存储装置的操作方法
US20200394134A1 (en) Data storage device and operating method thereof
KR20210156061A (ko) 저장 장치 및 그 동작 방법
CN112231240A (zh) 控制器、存储器系统及其操作方法
KR20200015185A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11216384B2 (en) Controller, memory system and operating method of the controller
US11144246B2 (en) Memory system using available bad block based on data storage reliability and operating method thereof
US20200117390A1 (en) Data storage device 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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201009

WW01 Invention patent application withdrawn after publication