CN114185479A - 存储设备和操作存储设备的方法 - Google Patents

存储设备和操作存储设备的方法 Download PDF

Info

Publication number
CN114185479A
CN114185479A CN202110400199.7A CN202110400199A CN114185479A CN 114185479 A CN114185479 A CN 114185479A CN 202110400199 A CN202110400199 A CN 202110400199A CN 114185479 A CN114185479 A CN 114185479A
Authority
CN
China
Prior art keywords
mapping
entry
buffer
search
memory device
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
CN202110400199.7A
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 CN114185479A publication Critical patent/CN114185479A/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/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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)
  • Read Only Memory (AREA)

Abstract

本公开的实施例总体上涉及存储设备和操作存储设备的方法。根据实施例的存储设备包括:非易失性存储器设备,包括:存储器单元阵列以及页缓冲器,存储器单元阵列被配置为存储多个映射条目,多个映射条目各自指示逻辑地址与物理地址之间的映射关系,页缓冲器被配置为存储多个映射条目;易失性存储器设备,被配置为从被存储在非易失性存储器设备中的多个映射条目加载映射条目;以及存储器控制器,被配置为控制非易失性存储器设备将从主机提供的逻辑地址转换为物理地址,并且响应于从主机提供的请求,在物理地址上执行与请求相对应的操作。

Description

存储设备和操作存储设备的方法
相关申请的交叉引用
本申请要求于2020年9月14日向韩国知识产权局提交的第10-2020-0117898号韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本公开涉及电子设备,并且更具体地涉及存储设备和操作存储设备的方法。
背景技术
存储设备是在主机设备的控制下存储数据的设备。存储设备可以包括存储数据的存储器设备和控制存储器设备的存储器控制器。存储器设备可以被分类为易失性存储器设备和非易失性存储器设备。
易失性存储器设备可以仅在从电源接收电力的同时存储数据。当电源被切断时,易失性存储器设备中存储的数据可能丢失。易失性存储器设备可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器设备可以是即使电源被切断也不会丢失在其中的数据的设备。非易失性存储器设备可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存等。
发明内容
根据本公开的一个实施例的存储设备可以包括:非易失性存储器设备,包括存储器单元阵列和页缓冲器,该存储器单元阵列被配置为存储多个映射条目,多个映射条目各自指示逻辑地址与物理地址之间的映射关系,页缓冲器被配置为存储多个映射条目;易失性存储器设备,被配置为从被存储在非易失性存储器设备中的多个映射条目加载映射条目;以及存储器控制器,被配置为控制非易失性存储器设备将从主机提供的逻辑地址转换为物理地址,并且响应于从主机提供的请求,对物理地址执行与请求相对应的操作,并且页缓冲器可以包括被配置为存储多个映射条目之中的第一映射条目的映射缓冲器,以及被配置为存储第二映射条目的映射索引缓冲器,第二映射条目按照基于命中计数的顺序来布置,命中计数对应于第一映射条目之中与从主机提供的逻辑地址相对应的映射条目被命中的次数。
根据本公开的另一实施例的操作存储设备的方法可以包括:读取被存储在存储器单元阵列中的多个条目之中的第一映射条目和第二映射条目;将第一映射条目存储在被包括在页缓冲器中的映射缓冲器中;以及根据与映射条目被命中的次数相对应的命中计数,将第二映射条目顺序地存储在被包括在页缓冲器中的映射索引缓冲器中,以及确定是否在映射索引缓冲器中搜索到与从主机接收的逻辑地址相对应的搜索映射条目。
附图说明
图1是图示了根据本公开的一个实施例的存储系统的图。
图2是图示了根据本公开的一个实施例的非易失性存储器设备的图。
图3是图示了存储器块的一个实施例的图。
图4是图示了根据本公开的一个实施例的页缓冲器的图。
图5是图示了图4所示的映射缓冲器的图。
图6是图示了图4所示的映射索引缓冲器的图。
图7是图示了根据本公开的一个实施例的执行映射更新的一个实施例的图。
图8是图示了根据本公开的一个实施例的执行映射更新的另一实施例的图。
图9是图示了根据本公开的一个实施例的执行映射更新的又一实施例的图。
图10是图示了根据编程操作的存储器单元阵列的区域划分的图。
图11是图示了根据本公开的一个实施例的操作存储设备的方法的流程图。
图12是图示了根据本公开的一个实施例的映射缓存缓冲器的图。
图13是图示了根据本公开的一个实施例的存储器控制器的图。
图14是图示了应用根据本公开的一个实施例的存储设备的存储卡系统的框图。
图15是图示了应用根据本公开的一个实施例的存储设备的固态驱动(SSD)系统的框图。
图16是图示了应用根据本公开的一个实施例的存储设备的用户系统的框图。
具体实施方式
在本说明书或申请中公开的根据概念的实施例的具体结构或功能描述仅用于例示根据本公开的概念的实施例。根据本公开的概念的实施例可以以各种形式来执行,并且描述不限于在本说明书或申请中描述的实施例。
本公开的一个实施例旨在提供改进存储映射数据的性能和操作速度的存储设备,以及操作存储设备的方法。
根据本技术,提供了改进存储映射数据的性能和操作速度的存储设备及其操作方法。
图1是图示了根据本公开的一个实施例的存储系统的图。
参考图1,存储系统可以被实现为个人计算机(PC)、数据中心、公司数据存储系统、包括直接附接存储(DAS)的数据处理系统、包括存储区域网络(SAN)的数据处理系统以及包括网络附接的存储(NAS)的数据处理系统等。
存储系统可以包括存储设备1000和主机400。
存储设备1000可以是根据主机400的请求来存储数据的设备,主机为诸如蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板电脑或车载信息娱乐系统。
根据作为与主机400的通信方法的主机接口,存储设备1000可以被制造为各种类型的存储设备中的一个存储设备。例如,存储设备1000可以被配置为各种类型的存储设备中的任一个存储设备,诸如SSD;MMC、eMMC、RS-MMC和micro-MMC形式的多媒体卡;SD、mini-SD和micro-SD形式的安全数字卡、通用串行总线(USB)存储设备、通用闪存(UFS)设备、个人计算机存储卡国际协会(PCMCIA)卡类型的存储设备、外围组件互连(PCI)卡类型的存储设备、PCI Express(PCI-E)卡类型的存储设备、紧凑型闪存(CF)卡、智能媒体卡和记忆棒。
存储设备1000可以被制造为各种类型的封装中的任一个封装。例如,存储设备1000可以被制造为各种类型的封装类型中的任一个封装类型,诸如层叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板载芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储设备1000可以包括非易失性存储器设备100、存储器控制器200和易失性存储器设备300。
非易失性存储器设备100可以响应于存储器控制器200的控制而操作。例如,非易失性存储器设备100可以从存储器控制器200接收命令和地址,并且访问存储器单元(未示出)之中由地址选择的存储器单元。非易失性存储器设备100可以在由地址选择的存储器单元上执行由命令指示的操作。
命令可以是例如编程命令、读取命令或擦除命令,并且由命令指示的操作可以是例如编程操作(或写入操作)、读取操作、或擦除操作。
编程操作可以是其中非易失性存储器设备100响应于存储器控制器200的控制而存储从主机400提供的写入数据的操作。
例如,非易失性存储器设备100可以接收编程命令、地址和数据,并且在由地址选择的存储器单元中对数据进行编程。此处,在所选择的存储器单元中编程的数据可以被定义为写入数据。此处,地址可以是与从主机400提供的逻辑地址相对应的物理地址。
例如,非易失性存储器设备100可以接收读取命令和地址,并且从存储器单元阵列(未示出)中由地址选择的区域中读取数据。被存储在非易失性存储器设备100中的数据之中的、从所选择的区域读取的数据可以被定义为读取数据。此处,地址可以是与从主机400提供的逻辑地址相对应的物理地址。
擦除操作可以是其中非易失性存储器设备100响应于存储器控制器200的控制而擦除被存储在非易失性存储器设备100中的数据的操作。
例如,非易失性存储器设备100可以接收擦除命令和地址,并且擦除被存储在由地址选择的区域中的数据。此处,地址可以是与从主机400提供的逻辑地址相对应的物理地址。
作为一个实施例,非易失性存储器设备100可以被实现为闪存。例如,闪存可以包括NAND闪存、竖直NAND闪存和NOR闪存。
在本说明书中,为了便于描述,假设非易失性存储器设备100是NAND闪存。
非易失性存储器设备100可以在存储器控制器200的控制下存储写入数据,或者在存储器控制器200的控制下读取所存储的读取数据并且将读取数据提供给存储器控制器200。
非易失性存储器设备100可以包括存储器单元阵列110。
存储器单元阵列110可以包括多个存储器块(未示出)。存储器块可以是执行擦除数据的擦除操作的单位。
存储器块可以包括多个页(未示出)。页可以是执行存储写入数据的编程操作或读取所存储的读取数据的读取操作的单位。
在一个实施例中,存储器单元阵列110可以存储多个映射条目。映射条目可以是分别指示逻辑地址和物理地址之间的映射关系的数据。多个映射条目可以被存储在多个存储器块之中的系统块(未示出)中。在本说明书中,“映射条目”或“映射数据”可以具有相同的含义。
非易失性存储器设备100可以包括页缓冲器组123。
在编程操作期间,页缓冲器组123可以接收并临时存储写入数据,并且将经临时存储的写入数据传输到存储器单元阵列110。此外,在读取操作期间,页缓冲器组123可以读取被存储在存储器单元阵列110中的读取数据,并且可以将读取数据输出到存储器控制器200。
页缓冲器组123可以读取并临时存储被存储在存储器单元阵列110中的映射条目。
存储器控制器200可以控制存储设备1000的整体操作。
当功率被施加到存储设备1000时,存储器控制器200可以执行固件。当非易失性存储器设备100是闪存设备时,固件可以包括主机接口层、闪存转译层和闪存接口层。
主机接口层可以控制主机400与存储器控制器200之间的操作。
闪存转译层可以将从主机400提供的逻辑地址转换为物理地址。为此,存储器控制器200可以存储作为逻辑地址于物理地址之间的对应关系的映射条目。例如,闪存转译层可以将被存储在存储器单元阵列110中的多个映射条目中的一些映射条目加载到被包括在易失性存储器设备300中的映射缓存缓冲器320。此外,闪存转译层可以将被存储在存储器单元阵列110中的多个映射条目之中的映射条目加载到被包括在非易失性存储器设备100中的页缓冲器组123。此处,一些映射条目的集合可以被称为映射段。
在一个实施例中,存储器控制器200可以控制非易失性存储器设备100以读取被存储在页缓冲器组123中的映射条目。为此,存储器控制器200可以提供命令将被存储在页缓冲器组123中的映射条目读取到非易失性存储器设备100的映射读取命令。
闪存接口层可以控制存储器控制器200与非易失性存储器设备100之间的通信。
存储器控制器200可以响应于主机400的写入请求、读取请求和擦除请求,分别控制非易失性存储器设备100执行编程操作、读取操作和擦除操作。
在编程操作期间,存储器控制器200可以将编程命令、物理地址和写入数据提供给非易失性存储器设备100。
在读取操作期间,存储器控制器200可以将读取命令和物理地址提供给非易失性存储器设备100。
在擦除操作期间,存储器控制器200可以将擦除命令和物理地址提供给非易失性存储器设备100。
不论从主机400提供的请求如何,存储器控制器200可以自主地生成命令、地址和数据。存储器控制器200可以将自主生成的命令、地址和数据传输到非易失性存储器设备100。
例如,存储器控制器200可以生成用于执行后台操作的命令、地址和数据。此外,存储器控制器200可以将命令、地址和数据提供给非易失性存储器设备100。
后台操作可以是损耗均衡、读取回收或垃圾收集中的至少一个。
损耗均衡可以表示例如静态损耗均衡、动态损耗均衡等。静态损耗均衡可以表示以下操作:将存储器块被擦除的次数存储并且将被包括在具有存储器块被擦除次数最少的存储器块中的冷数据移动到具有存储器块被擦除次数最多的存储器块。此处,冷数据可以是其中几乎不发生擦除操作或写入操作的数据。动态损耗均衡可以表示以下操作:将存储器块被擦除的次数存储,并且在具有最小擦除次数的存储器块中对数据进行编程。
读取回收可以表示被存储在存储器块中的数据发生不可纠正的错误之前,将被存储在存储器块中的数据移动到另一存储器块的操作。
垃圾收集可以表示将被包括在存储器块之中的坏块中的有效数据复制到空闲块并擦除被包括在坏块中的无效数据的操作。此处,将被包括在坏块中的有效数据复制到空闲块可以表示将被包括在坏块中的有效数据移动到空闲块。
存储器控制器200可以控制两个或更多个存储器设备100。在这种情况下,存储器控制器200可以根据交织方法来控制存储器设备100,以改进操作性能。
交织方法可以是控制两个或更多个存储器设备100的重叠的操作的方法。
易失性存储器设备300可以包括读取/写入缓冲器310和映射缓存缓冲器320。
在编程操作期间,读取/写入缓冲器310可以临时存储从主机400接收的写入数据,并且将临时存储的写入数据传输到非易失性存储器设备100。此外,在读操作期间,读取/写入缓冲器310可以临时存储从非易失性存储器设备100接收的读取数据,并且将临时存储的读取数据传输到主机400。
映射缓存缓冲器320可以从非易失性存储器设备100接收映射条目,并且临时存储映射条目。例如,当存储设备1000被上电时,非易失性存储器设备100可以以映射段为单位,读取存储器单元阵列110中存储的多个映射条目之中的一些映射条目,并且将所读取的映射段传输到存储器控制器200。存储器控制器200可以以映射段为单位,将从非易失性存储器设备100加载的映射条目存储在映射缓存缓冲器320中。
例如,易失性存储器设备300可以包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)等。
主机400可以借助接口(未示出)来与存储设备1000通信。
接口可以使用串行高级技术附件(SATA)接口、SATA express(SATA express)接口、串行附接的小型计算机系统接口(SAS)接口、外围组件互连express(PCIe)接口、非易失性存储器express(NVMe)接口、高级主机控制器接口(AHCI)或多媒体卡接口来实现。但是,接口不限于此。
主机400可以与存储设备1000通信,以将写入数据存储在存储设备1000中或获得被存储在存储设备1000中的读取数据。
在一个实施例中,主机400可以向存储设备1000提供写入请求,以请求将写入数据存储在存储设备1000中。此外,主机400可以向存储设备1000提供写入请求、写入数据和用于标识写入数据的逻辑地址。
存储设备1000可以响应于从主机400提供的写入请求,将从主机400提供的写入数据存储在非易失性存储器设备100中,并且向主机400提供存储完成的响应。
在一个实施例中,主机400可以向存储设备1000提供读取请求,以请求将被存储在存储设备1000中的数据提供给主机400。此外,主机400可以向存储设备1000提供读取请求和读取地址。
存储设备1000可以响应于从主机400提供的读取请求,从非易失性存储器设备100读取与由主机400提供的读取地址相对应的读取数据,并且将读取数据提供给主机400,作为对读取请求的响应。
图2是图示了根据本公开的一个实施例的非易失性存储器设备的图。
参考图1和图2,非易失性存储器设备100可以包括存储器单元阵列110、外围电路120和控制逻辑130。控制逻辑130可以被实现为硬件、软件或硬件和软件的组合。例如,控制逻辑130可以是根据执行控制逻辑代码的算法和/或处理器进行操作的控制逻辑电路。
存储器单元阵列110可以包括多个存储器块MB1至MBk(k是正整数)。此处,多个存储器块MB1至MBk的数量仅是用于描述本公开的实施例的示例,但不限于此。
存储器块MB1至MBk中的每一个存储器块可以被连接至本地线LL和位线BL1至BLn(n是正整数)。
本地线LL可以被连接到行解码器122。
本地线LL可以被连接到存储器块MB1至MBk中的每一个存储器块。
尽管未示出,但是本地线LL可以包括第一选择线、第二选择线以及布置在第一选择线与第二选择线之间的多个字线。
尽管未示出,但是本地线LL还可以包括布置在第一选择线与字线之间的虚线、布置在第二选择线与字线之间的虚线以及管线。
位线BL1至BLn可以被共同连接至存储器块MB1至MBk。
存储器块MB1至MBk可以被实现为二维或三维结构。
例如,在二维结构的存储器块MB1至MBk中,存储器单元可以在平行于衬底的方向上布置。
例如,在三维结构的存储器块MB1至MBk中,存储器单元可以在竖直方向上被堆叠在衬底上。
外围电路120可以包括电压发生器121、行解码器122、页缓冲器组123、列解码器124、输入/输出电路125和感测电路126。
电压发生器121可以响应于操作命令OP_CMD而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。此外,电压发生器121可以响应于操作命令OP_CMD而将本地线LL选择性地放电。例如,电压发生器121可以在控制逻辑130的控制下生成编程电压、验证电压、通过电压、导通电压、读取电压、擦除电压、源极线电压等。
作为一个实施例,电压发生器121可以调节外部电源电压来生成内部电源电压。由电压发生器121生成的内部电源电压被用作非易失性存储器设备100的操作电压。
作为一个实施例,电压发生器121可以使用外部电源电压或内部电源电压来生成多个电压。例如,电压发生器121可以包括接收内部电源电压的多个泵浦电容器,并且可以响应于控制逻辑130的控制,通过选择性地激活多个泵浦电容器来生成多个电压。所生成的多个电压可以由行解码器122提供给存储器单元阵列110。
行解码器122可以响应于行地址RADD而将操作电压Vop传送到本地线LL。操作电压Vop可以借助本地线LL而被传送到所选择的存储器块MB1至MBk。
例如,在编程操作期间,行解码器122可以将编程电压施加到所选择的字线,并且将小于编程电压电平的编程通过电压电平施加到未选择的字线。在编程验证操作期间,行解码器122可以将验证电压施加到所选择的字线,并且将大于验证电压的验证通过电压施加到未选择的字线。
在读取操作期间,行解码器122可以将读取电压施加到所选择的字线,并且将大于读取电压的读取通过电压施加到未选择的字线。
在擦除操作期间,行解码器122可以根据经解码的地址来选择一个存储器块。在擦除操作期间,行解码器122可以将接地电压施加到与所选择的存储器块连接的字线。
页缓冲器组123可以包括第一至第n页缓冲器PB1至PBn。第一至第n页缓冲器PB1至PBn可以分别借助第一至第n位线BL1至BLn而被连接到存储器单元阵列110。第一至第n页缓冲器PB1至PBn可以响应于控制逻辑130的控制而操作。
具体地,第一至第n页缓冲器PB1至PBn可以响应于页缓冲器控制信号PBSIGNALS而操作。例如,第一至第n页缓冲器PB1至PBn可以临时存储借助第一至第n位线BL1至BLn接收的数据,或者可以在读取操作或验证操作期间,感测第一至第n位线BL1至BLn的电压或电流。
在编程操作期间,当编程电压被施加到所选择的字线时,第一至第n页缓冲器PB1至PBn可以将借助列解码器124和输入/输出电路125接收的数据DATA借助第一至第n位线BL1至BLn传送至所选择的存储器单元。所选择的页的存储器单元根据所传送的数据DATA进行编程。与被施加有编程许可电压(例如,接地电压)的位线连接的存储器单元可以具有增加的阈值电压。与被施加有编程禁止电压(例如,电源电压)的位线连接的存储器单元的阈值电压可以维持。
在验证操作期间,第一至第n页缓冲器PB1至PBn可以借助第一至第n位线BL1至BLn从所选择的存储器单元中感测被存储在所选择的存储器单元中的数据。
在读取操作期间,第一至第n页缓冲器PB1至PBn可以借助第一至第n位线BL1至BLn从所选择的页的存储器单元感测数据DATA,并且在列解码器124的控制下,将读取数据DATA输出到输入/输出电路125。
在擦除操作期间,第一至第n页缓冲器PB1至PBn可以将第一至第n位线BL1至BLn浮置。
在加载映射条目的操作期间,第一至第n页缓冲器PB1至PBn可以感测被存储在存储器单元阵列110中的所有多个映射条目或者多个映射条目中的一些映射条目。第一至第n页缓冲器PB1至PBn可以临时存储所感测的映射条目。经临时存储的映射条目可以借助输入/输出电路125而被传输到存储器控制器200。
列解码器124可以响应于列地址CADD,在输入/输出电路125和页缓冲器组123之间传送数据。例如,列解码器124可以借助数据线DL而与页缓冲器PB1至PBn交换数据,或者可以借助列线CL而与输入/输出电路125交换数据。
输入/输出电路125可以将从存储器控制器200接收的命令CMD和地址ADD传送到控制逻辑130,或者可以与列解码器124交换数据DATA。
在读取操作或验证操作期间,感测电路126可以响应于许可位信号VRY_BIT<#>而生成参考电流,并且将从页缓冲器组123接收的感测电压VPB与由参考电流生成的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
控制逻辑130可以被连接到电压发生器121、行解码器122、页缓冲器组123、列解码器124、输入/输出电路125和感测电路126。
控制逻辑130可以响应于从外部提供的命令CMD而操作。
例如,控制逻辑130可以响应于命令CMD和地址ADD而输出操作命令OP_CMD、行地址RADD、页缓冲器控制信号PBSIGNALS以及许可位VRY_BIT<#>以控制外围电路120。
控制逻辑130可以响应于从感测电路126输出的通过信号PASS或失败信号FAIL来确定验证操作是通过还是失败。
在一个实施例中,控制逻辑130可以在存储器控制器200的控制下,将从存储器控制器200接收的数据DATA存储在页缓冲器组123中。
控制逻辑130可以在存储器控制器200的控制下,对存储器单元阵列110中的页缓冲器PB1至PBn中存储的写入数据或映射条目进行编程。
例如,当从存储器控制器200接收指示存储映射条目的映射数据刷新命令(未示出)时,控制逻辑130可以响应于映射数据刷新命令,将被存储在页缓冲器PB1至PBn中的映射条目编程在存储器单元阵列110中。
控制逻辑130可以在存储器控制器200的控制下读取被存储在存储器单元阵列110中的映射条目。
例如,存储器控制器200可以将命令读取映射条目的映射读取命令提供给非易失性存储器设备100。控制逻辑130可以响应于映射读取命令,读取被存储在存储器单元阵列110中的多个映射条目之中的一些映射条目,并且借助输入/输出电路125而将所读取的一些映射条目提供给存储器控制器200。此外,控制逻辑130可以响应于映射读取命令,读取被存储在存储器单元阵列110中的多个映射条目中的一些映射条目,将所读取的一些映射条目存储在页缓冲器PB1至PBn中,并且借助输入/输出电路125,将被存储在页缓冲器PB1至PBn中的所读取的一些映射条目提供给存储器控制器200。
图3是图示了存储器块的一个实施例的图。
参考图3,图3中所示的存储器块MBi可以是图2的存储器块MB1至MBk中的任一个存储器块。
存储器块MBi可以包括第一选择线、第二选择线、多个字线WL1至WL16、源极线SL、多个位线BL1至BLn以及多个串ST。
第一选择线可以是例如源极选择线SSL。在下文中,假定第一选择线是源极选择线SSL。
第二选择线可以是例如漏极选择线DSL。在下文中,假定第二选择线是漏极选择线DSL。
多个字线WL1至WL16可以在源极选择线SSL和漏极选择线DSL之间并联布置。
图3中所示的字线WL1至WL16的数量是一个示例并且不限于附图中所示的数量。
源极线SL可以被共同连接到多个串ST。
多个位线BL1至BLn可以被分别连接至串ST。
多个串ST可以被连接到位线BL1至BLn和源极线SL。
由于串ST可以被配置为彼此相同,因此作为示例具体描述了连接至第一位线BL1的串ST。
串ST可以包括多个存储器单元MC1至MC16、至少一个第一选择晶体管以及至少一个第二选择晶体管。
多个存储器单元MC1至MC16可以被串联连接在源极选择晶体管SST与漏极选择晶体管DST之间。
存储器单元MC1至MC16的栅极可以被分别连接至多个字线WL1至WL16。因此,被包括在一个串ST中的存储器单元MC1至MC16的数量可以与字线WL1至WL16的数量相同。
多个存储器单元MC1至MC16中的任一个存储器单元可以被配置为单级单元(SLC)、多级单元(MLC)、三级单元(TLC)和四级单元(QLC)中的任一个。
在被包括在不同串ST中的存储器单元之中,连接到相同字线的存储器单元组可以被称为物理页PG。因此,存储器块MBi可以包括与字线WL1至WL16的数量相对应的物理页PG。在下文中,假定被包括在物理页PG中的存储器单元(例如,MC3)是所选择的存储器单元。
第一选择晶体管可以是例如源极选择晶体管SST。在下文中,假定第一选择晶体管是源极选择晶体管SST。
源极选择晶体管SST的第一电极可以被连接至源极线SL。源极选择晶体管SST的第二电极可以被连接到多个存储器单元MC1至MC16之中的第一存储器单元MC1。源极选择晶体管SST的栅极可以被连接至源极选择线SSL。
第二选择晶体管可以是例如漏极选择晶体管DST。在下文中,假定第二选择晶体管是漏极选择晶体管DST。
漏极选择晶体管DST的第一电极可以被连接到多个存储器单元MC1至MC16之中的第十六存储器单元MC16。漏极选择晶体管DST的第二电极可以被连接到第一位线BL1。漏极选择晶体管DST的栅极电极可以被连接至漏极选择线DSL。
图4是图示了根据本公开的一个实施例的页缓冲器的图,图5是图示了图4所示的映射缓冲器的图,并且图6是图示了图4所示的映射索引缓冲器的图。
参考图4,图4中所示的页缓冲器PB可以是图2所示的第一至第n页缓冲器PB1至PBn中的任一个页缓冲器。
页缓冲器PB可以包括数据感测缓冲器123a、映射缓冲器123b、映射索引缓冲器123c和数据缓存缓冲器123d。
数据感测缓冲器123a可以感测读取数据或临时存储写入数据。例如,在读取操作期间,数据感测缓冲器123a可以感测位线BL1至BLm的电位或电流量,并且临时存储所感测的读取数据。备选地,数据感测缓冲器123a可以根据在编程操作期间临时存储的写入数据来调整位线BL1至BLm的电位电平。
映射缓冲器123b可以存储多个映射条目中的第一映射条目。第一映射条目可以表示被存储在映射缓冲器123b中的映射条目。参考图5,例如,映射缓冲器123b可以存储分别指示逻辑地址LBA200至LBA300与物理地址PBA200至PBA300之间的映射关系的第一映射条目。第一映射条目中的任一个第一映射条目可以是指示第200逻辑地址LBA200和第200物理地址PBA200之间的映射关系的数据。
映射索引缓冲器123c可以存储基于第一映射条目之中的命中计数布置的第二映射条目(例如,分别指示逻辑地址LBA200至LBA300与物理地址PBA200至PBA300之间的映射关系的数据)。此处,第二映射条目可以表示被存储在映射索引缓冲器123c中的映射条目。命中计数可以是与从主机400提供的逻辑地址相对应的映射条目被命中的次数。映射条目的命中可以表示访问与从主机400提供的逻辑地址相对应的物理地址。
参考图6,例如,映射索引缓冲器123c可以存储第二映射条目,第二映射条目分别指示逻辑地址LBA201、LBA252、LBA200、LBA280和LBA265与物理地址PBA201、PBA252、PBA200、PBA280和PBA265之间的映射关系。如图6所示,第二映射条目可以根据命中计数而被顺序地布置。即,第二映射条目可以以命中计数的降序排序。然而,本公开不限于此。
第二映射条目之中具有最大命中计数的第二映射条目可以对应于最近使用最多(MRU),并且第二映射条目之中具有最小命中计数的第二映射条目可以对应于最近使用最少(LRU)。参考图6,例如,由于指示第201逻辑地址LBA201与第201物理地址PBA201之间的映射关系的第二映射条目的命中计数最大,所以指示第201逻辑地址LBA201与第201物理地址PBA201之间的映射关系的第二映射条目可以对应于MRU。由于指示第265逻辑地址LBA265与第265物理地址PBA265之间的映射关系的第二映射条目的命中计数最小,所以指示第265逻辑地址LBA265与第265物理地址PBA265之间的映射关系的第二映射条目可以对应于LRU。
当存储器控制器200在映射索引缓冲器123c中搜索搜索映射条目时,搜索顺序可以是从具有最大命中计数的第二映射条目到具有最小命中计数的第二映射条目而顺序地搜索第二映射条目的顺序。即,搜索顺序可以是命中计数的降序。参考图6,例如,搜索与对应于主机400的逻辑地址相对应的映射条目的顺序可以是从MRU开始并且最后到LRU的顺序。此处,搜索映射条目可以是与从主机400提供的逻辑地址相对应的映射条目。
数据缓存缓冲器123d可以将写入数据传输到数据感测缓冲器123a,或者可以将临时存储的读取数据传输到存储器控制器200。例如,在编程操作期间,数据缓存缓冲器123d可以临时存储从外部接收的写入数据并且将临时存储的写入数据传输到数据感测缓冲器123a。备选地,在读取操作期间,数据缓存缓冲器123d可以接收从数据感测缓冲器123a感测的读取数据并且将读取数据传输到外部。
在一个实施例中,存储器控制器200可以按照映射索引缓冲器123c和映射缓冲器123b的顺序,搜索与从主机400提供的逻辑地址相对应的搜索映射条目是否被存储在页缓冲器PB中。
具体地,例如,存储器控制器200可以首先在映射索引缓冲器123c中对搜索映射条目进行搜索。为此,存储器控制器200可以向非易失性存储器设备100提供第一映射读取命令。第一映射读取命令可以是命令读取被存储在映射索引缓冲器123c中的第二映射条目的命令。在该情况下,第二映射条目可以被提供给存储器控制器200。存储器控制器200可以基于第二映射条目中是否存在与从主机400提供的逻辑地址相对应的第二映射条目来对搜索映射条目进行搜索。这时,如图6所示,存储器控制器200可以首先从与MRU相对应的第二映射条目对搜索映射条目进行搜索,并且可以最后搜索与LRU相对应的第二映射条目。
当在映射索引缓冲器123c中搜索到搜索映射条目时,存储器控制器200可以执行控制非易失性存储器设备100将第二映射条目重新布置的映射更新操作。稍后将参考图7和图8来对此进行描述。
当在映射索引缓冲器123c中没有搜索到搜索映射条目时,存储器控制器200可以基于第一映射条目来搜索搜索映射条目是否被存储在映射缓冲器123b中。为此,存储器控制器200可以向非易失性存储器设备100提供第二映射读取命令。第二映射读取命令可以是命令读取被存储在映射缓冲器123b中的第一映射条目的命令。
当在映射缓冲器123b中搜索到搜索映射条目时,存储器控制器200可以控制非易失性存储器设备100以将与搜索映射条目相对应的第一映射条目作为第二映射条目存储在映射索引缓冲器123c中。因此,存储器控制器200可以执行控制非易失性存储器设备100重新布置第二映射条目的映射更新操作。稍后参考图9对此进行描述。
在一个实施例中,当在页缓冲器PB中搜索到搜索映射条目时,存储器控制器200可以基于搜索映射条目,将从主机400提供的逻辑地址转换为物理地址。
图7是图示了根据本公开的一个实施例的执行映射更新的一个实施例的图,并且图8是图示了根据本公开的一个实施例的执行映射更新的另一实施例的图。
参考图6至图8,映射索引缓冲器123c可以存储第二映射条目,第二映射条目分别指示逻辑地址LBA201、LBA252、LBA200、LBA280以及LBA265与物理地址PBA201、PBA252、PBA200、PBA280以及PBA265之间的映射关系。
此处,假定指示第201逻辑地址LBA201与第201物理地址PBA201之间的映射关系的第二映射条目的命中计数是最高的,为2,并且第二映射条目是MRU,并且假定指示第265逻辑地址LBA265和第265物理地址PBA265之间的映射关系的第二映射条目的命中计数是最低的,为1,并且第二映射条目为LRU。
参考图7,当从主机400提供的逻辑地址是第252逻辑地址LBA252并且主机400向存储器控制器200提供读取请求时,存储器控制器200可以在映射索引缓冲器123c中搜索与第252逻辑地址LBA252相对应的搜索映射条目。在这种情况下,由于与第252逻辑地址LBA252相对应的搜索映射条目被存储在映射索引缓冲器123c中,因此存储器控制器200可以将第252逻辑地址LBA252转换为第252物理地址PBA252。此外,存储器控制器200可以将第252物理地址PBA252和读取命令提供给非易失性存储器设备100。
非易失性存储器设备100可以响应于读取命令而输出被存储在第252物理地址PBA252中的读取数据。例如,被存储在存储器单元阵列110的第252物理地址PBA252中的读取数据被临时存储在数据感测缓冲器123a中,并且数据感测缓冲器123a中临时存储的读取数据可以借助数据缓存缓冲器123d而被输出到存储器控制器200。
在一个实施例中,当在映射索引缓冲器123c中搜索到搜索映射条目时,存储器控制器200可以增加第二映射条目之中与搜索映射条目相对应的第二映射条目的命中计数。此外,随着第二映射条目的命中计数增加,存储器控制器200可以控制非易失性存储器设备100重新布置第二映射条目。
参考图7,例如,当读取数据被输出时,指示第252逻辑地址LBA252与第252物理地址PBA252之间的映射关系的第二映射条目的命中计数可以从1增加到2。此外,由于指示第252逻辑地址LBA252与第二252物理地址PBA252之间的映射关系的第二映射条目的命中计数增加,第二映射条目可以以降序被重新布置。
在一个实施例中,当第二映射条目的增加的命中计数等于最大命中计数时,存储器控制器200可以控制非易失性存储器设备100,使得增加的第二映射条目在具有最大命中计数的第二映射条目之前被搜索到。
参考图7,例如,指示第201逻辑地址LBA201与第201物理地址PBA201之间的映射关系的第二映射条目的命中计数可以是2。此外,指示第252逻辑地址LBA252与第252物理地址PBA252之间的映射关系的第二条目的命中计数也可以是2。在这种情况下,指示第252逻辑地址LBA252与第252物理地址PBA252之间的映射关系的第二映射条目可以优先于指示第201逻辑地址LBA201与第201物理地址PBA201之间的映射关系的第二映射条目来布置。例如,指示第252逻辑地址LBA252与第252物理地址PBA252之间的映射关系的第二映射条目可以对应于MRU。指示第201逻辑地址LBA201和第201物理地址PBA201之间的映射关系的第二映射条目可能不对应于MRU。
参考图8,当从主机400提供的逻辑地址是第280逻辑地址LBA280并且主机400向存储器控制器200提供写入请求时,存储器控制器200可以在映射索引缓冲器123c中搜索与地址LBA280相对应的搜索映射条目。在这种情况下,由于与第280逻辑地址LBA280相对应的搜索映射条目被存储在映射索引缓冲器123c中,因此存储器控制器200可以将第280逻辑地址LBA280转换为第280物理地址PBA280。此外,存储器控制器200可以将第280物理地址PBA280、编程命令和从主机400提供的写入数据提供给非易失性存储器设备100。
非易失性存储器设备100可以响应于编程命令而将写入数据编程到第280物理地址PBA280。例如,数据缓存缓冲器123d可以将写入数据传输到数据感测缓冲器123a,并且调整与数据感测缓冲器123a中临时存储的写入数据相对应的位线BL1至BLm的电位电平。写入数据可以被存储在存储器单元阵列110的第280物理地址PBA280中。
在一个实施例中,当在映射索引缓冲器123c中搜索到搜索映射条目时,与搜索映射条目相对应的第二映射条目的命中计数增加,并且因此第二映射条目可以被重新布置。
参考图8,例如,当写入数据被输出时,指示第280逻辑地址LBA280与第280物理地址PBA280之间的映射关系的第二映射条目的命中计数可以从1增加到2。此外,由于指示第280逻辑地址LBA280与第280物理地址PBA280之间的映射关系的第二映射条目的命中计数增加,第二映射条目可以以降序被重新布置。指示第201逻辑地址LBA201与第201物理地址PBA201之间的映射关系的第二映射条目、指示第252逻辑地址LBA252与第252物理地址PBA252之间的映射关系的第二映射条目以及指示第280逻辑地址LBA280与第280物理地址PBA280之间的映射关系的第二映射条目的每个计数可以相同。在这种情况下,指示第280逻辑地址LBA280与第280物理地址PBA280之间的映射关系的第二映射条目以最高优先级来布置,以对应于MRU。
图9是图示了根据本公开的一个实施例的执行映射更新的又一实施例的图。
参考图5、图6和图9,当从主机400提供的逻辑地址是第202逻辑地址LBA202并且主机400向存储器控制器200提供读取请求时,存储器控制器200可以在映射索引缓冲器123c中搜索与第202逻辑地址LBA202相对应的搜索映射条目。在这种情况下,由于与第202逻辑地址LBA202相对应的搜索映射条目未被存储在映射索引缓冲器123c中,存储器控制器200可以在映射缓冲器123b中搜索与第202逻辑地址LBA202相对应的映射条目。由于与第202逻辑地址LBA202相对应的搜索映射条目被存储在映射缓冲器123b中,存储器控制器200可以将第202逻辑地址LBA202转换为第202物理地址PBA202。此外,存储器控制器200可以将第202物理地址PBA202和读取命令提供给非易失性存储器设备100。
非易失性存储器设备100可以响应于读取命令而输出被存储在第202物理地址PBA202中的读取数据。例如,被存储在存储器单元阵列110的第202物理地址PBA202中的读取数据可以被临时存储在数据感测缓冲器123a中,并且数据感测缓冲器123a中临时存储的读取数据可以借助数据缓存缓冲器123d而被输出到存储器控制器200。
在一个实施例中,当在映射缓冲器123b中搜索到搜索映射条目时,存储器控制器200可以控制非易失性存储器设备100将第一映射条目之中与搜索映射条目相对应的第一映射条目作为第二映射条目存储在映射索引缓冲器123c中。所存储的搜索映射条目的命中计数可以增加,并且因此第二映射条目可以被重新布置。当与搜索映射条目相对应的第一映射条目被存储在映射索引缓冲器123c中时,页缓冲器PB可以从映射索引缓冲器中删除第二映射条目之中具有最小命中计数的映射条目。
参考图9,例如,当读取数据被输出时,指示第202逻辑地址LBA202与第202物理地址PBA202之间的映射关系的映射条目可以被存储在映射索引缓冲器123c中。指示第202逻辑地址LBA202和第202物理地址PBA202之间的映射关系的映射条目的命中计数可以被设置为1。此外,第二映射条目可以以降序被重新布置。如图9所示,指示第202逻辑地址LBA202与第202物理地址PBA202之间的映射关系的映射条目可以按照指示第201逻辑地址LBA201与第201物理地址PBA201之间的映射关系的第二映射条目的下一顺序来布置。当指示第202逻辑地址LBA202与第202物理地址PBA202之间的映射关系的映射条目被存储时,页缓冲器PB可以删除与LRU相对应的第二映射条目,例如删除指示第265逻辑地址LBA265与第265物理地址PBA265之间的映射关系的第二映射条目。
尽管未示出,但是即使在主机400将写入请求传输到存储器控制器200的情况下,在映射缓冲器123b中搜索到的搜索映射条目也可以被存储在映射索引缓冲器123c中。因此,第二映射条目可以被重新布置,并且与LRU相对应的第二映射条目可以被删除。
图10是图示了存储器单元阵列根据编程操作的区域划分的图。
参考图1和图10,在编程操作期间,存储器单元阵列110可以根据编程方法,将存储空间划分为静态SLC区域、动态SLC区域和TLC区域。
例如,静态SLC区域和动态SLC区域是在编程操作期间,以SLC编程方法编程的区域,而TLC区域是在编程操作期间,以TLC编程方法编程的区域。
静态SLC区域可以是由SLC形成的区域,并且可以是由存储器单元阵列110的设置数据容量固定的区域。动态SLC区域可以是与静态SLC区域相同的由SLC形成的区域,但是可以是根据与静态SLC区域不同编程的数据容量而变化的区域。动态SLC区域可以根据需要(诸如在存储空间不足的情况下)而被更改为TLC区域。相应地,动态SLC区域可以与静态SLC区域相邻或者可以被设置在静态SLC区域与TLC区域之间。
在接收到待被编程的数据来改进编程操作期间的编程操作速度和稳定性之后,存储设备1000可以以SLC编程方法,在静态SLC区域或动态SLC区域中对所接收的数据进行编程。在存储设备1000的后台操作期间,被存储在静态SLC区域或动态SLC区域中的数据可以被读取,并且读取数据可以在TLC区域中进行编程。在TLC区域中对SLC区域或动态SLC区域中存储的数据进行编程的操作可以被定义为合并操作。
TLC区域可以是由TLC形成的区域。TLC区域的一部分可以根据需要(诸如编程操作速度)而被更改为动态SLC区域。
结果,当从外部接收的数据被编程时,编程操作速度和数据可靠性可以通过以SLC编程方法执行编程操作来改进,并且数据存储效率可以通过在后台操作期间,以TLC编程方法对静态SLC区域或动态SLC区域中存储数据进行编程来改进。
图11是图示了根据本公开的一个实施例的操作存储设备的方法的流程图。
参考图11,非易失性存储器设备100将第一映射条目和第二映射条目存储在页缓冲器中(S110)。例如,非易失性存储器设备100可以响应于存储器控制器200的控制来读取存储器单元阵列110中存储的多个条目之中的第一映射条目和第二映射条目,将第一映射条目存储在被包括在页缓冲器PB1至PBn中的每一个页缓冲器中的映射缓冲器123b中,并且根据命中计数,将第二映射条目顺序地存储在被包括在页缓冲器PB1至PBn中的每一个页缓冲器中的映射索引缓冲器123c中。
存储器控制器200可以从主机400接收逻辑地址(S120)。
存储器控制器200在映射索引缓冲器123c中搜索与从主机400接收的逻辑地址相对应的搜索映射条目(S130)。例如,存储器控制器200可以从具有最大命中计数的第二映射条目到具有最小命中计数的第二映射条目,顺序地确定在第二映射条目中是否存在与搜索映射条目相对应的第二映射条目。
当在映射索引缓冲器123c中没有搜索到搜索映射条目时(S130,否),存储器控制器200在映射缓冲器123b中对搜索映射条目进行搜索(S140)。
当在映射缓冲器123b中没有搜索到搜索映射条目时(S140,否),存储器控制器200在易失性存储器设备300中对搜索映射条目进行搜索(S150)。例如,存储器控制器200确定搜索映射条目是否被存储在被包括在易失性存储器设备300中的映射缓存缓冲器320中。
当在易失性存储器设备300中没有搜索到搜索映射条目时(S150,否),存储器控制器200可以将非易失性存储器设备100中存储的映射条目加载到易失性存储器设备300(S160),并且在非易失性存储器设备100中存储的映射条目被加载到易失性存储器设备300之后,执行步骤S150。
当在映射索引缓冲器123c中搜索到搜索映射条目时(S130,是),存储器控制器200可以基于搜索映射条目,将从主机400提供的逻辑地址转换为物理地址,并且将数据存储在物理地址中或者读取物理地址中存储的数据(S170)。
当在映射缓冲器123b中搜索到搜索映射条目时(S140,是),执行步骤S170。此外,当在易失性存储器设备300中搜索到搜索映射条目时(S150,是),执行步骤S170。
当数据被存储或读取时,存储器控制器200可以执行映射更新(S180)。例如,存储器控制器200可以增加第二映射条目之中与搜索映射条目相对应的第二映射条目的命中计数,并且当第二映射条目的命中计数增加时,将映射索引缓冲器123c中存储的第二映射条目重新布置。
在一个实施例中,当所更新的第二映射条目的增加的命中计数等于最大命中计数时,存储设备1000可以以最高优先级顺序,将增加的第二映射条目布置在映射索引缓冲器123c中,使得增加的第二映射条目在具有最大命中计数的第二映射条目之前被搜索到。
在一个实施例中,当在映射缓冲器123b中搜索到搜索映射条目时(S140,是),存储器控制器200可以控制非易失性存储器设备100将第一映射条目之中与搜索映射条目相对应的第一映射条目作为第二映射条目存储在映射索引缓冲器123c中。
图12是图示了根据本公开的一个实施例的映射缓存缓冲器的图。
参考图1和图12,易失性存储器设备300中包括的映射缓存缓冲器320可以存储多个映射段段1至段10。此处,图12中所示的多个映射段段1至段10的数量仅用于描述本公开的一个实施例,但不限于此。
一个映射段可以包括多个映射条目。参考图12,例如,第一映射段段1可以包括100个映射条目。一个映射条目可以是指示第一逻辑地址LBA1与第一物理地址PBA1之间的映射关系的数据。另一映射条目可以是指示第二逻辑地址LBA2与第二物理地址PBA2之间的映射关系的数据。又一映射条目可以是指示第三逻辑地址LBA3与第三物理地址PBA3之间的映射关系的数据。又一映射条目可以是指示第100逻辑地址LBA100与第100物理地址PBA100之间的映射关系的数据。
在一个实施例中,搜索映射条目可以不被存储在映射缓冲器123b和映射索引缓冲器123c中。在这种情况下,存储器控制器200可以在易失性存储器设备300中对搜索映射条目进行搜索。即,存储器控制器200可以检查搜索映射条目是否被存储在易失性存储器设备300中。
例如,当在页缓冲器PB中未搜索到搜索映射条目时,存储器控制器200可以参考映射缓存缓冲器320中存储的多个映射段段1至段10来搜索搜索映射条目是否被存储在映射缓存缓冲器320中。
在一个实施例中,当在易失性存储器设备300中没有搜索到搜索映射条目时,存储器控制器200可以控制非易失性存储器设备100读取非易失性存储器设备中存储的多个映射条目之中的新映射条目。在这种情况下,非易失性存储器设备100可以响应于存储器控制器200的控制而读取多个映射条目之中的新映射条目,并且将新读取的映射条目传输到存储器控制器200。存储器控制器200可以将新读取的映射条目存储在易失性存储器设备300中。
在一个实施例中,当在易失性存储器设备300中没有搜索到搜索映射条目时,存储器控制器200可以控制非易失性存储器设备100将非易失性存储器设备100中存储的多个映射条目之中的新映射条目存储在映射缓冲器123b中。
图13是图示了根据本公开的一个实施例的存储器控制器的图。
参考图1和图13,存储器控制器200可以包括处理器210、RAM220、纠错电路230、主机接口240、ROM 250和闪存接口260。
处理器210可以控制存储器控制器200的整体操作。
RAM 220可以被用作存储器控制器200的缓冲存储器、高速缓存存储器、操作存储器等。例如,RAM 220可以是缓冲存储器。
纠错电路230可以生成纠错码(ECC)来纠正从非易失性存储器设备100接收的数据的故障位或错误位。
纠错电路230可以对被提供给非易失性存储器设备100的数据执行纠错编码,以生成添加有奇偶校验位的数据。奇偶校验位(未示出)可以被存储在非易失性存储器设备100中。
纠错电路230可以对从非易失性存储器设备100输出的数据执行纠错解码,并且此时,纠错电路230可以使用奇偶校验来纠错。
例如,纠错电路230可以使用诸如LDPC码、BCH码、Turbo码、Reed-Solomon码、卷积码、RSC、TCM和BCM的各种编码调制来纠错。
纠错电路230可以在编程操作中计算待被编程到非易失性存储器设备100的数据的纠错码值。
纠错电路230可以在读取操作中,基于对从非易失性存储器设备100读取的数据的纠错码值来执行纠错操作。
纠错电路230可以在故障数据的恢复操作中,对从非易失性存储器设备100恢复的数据执行纠错操作。
存储器控制器200可以借助主机接口240来与外部设备(例如,主机400、应用处理器等)通信。
ROM 250可以以固件形式存储操作存储器控制器200所需的各种信息片段。
存储器控制器200可以借助闪存接口260来与非易失性存储器设备100通信。存储器控制器200可以借助闪存接口260,将命令、地址、控制信号等传输到非易失性存储器设备100并接收数据。
例如,闪存接口260可以包括NAND接口。
图14是图示了应用根据本公开的一个实施例的存储设备的存储卡系统的框图。
参考图1和图14,存储卡系统2000包括存储器设备2100、存储器控制器2200和连接器2300。
例如,存储器设备2100可以被配置为各种非易失性存储器元件,诸如电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变式RAM(PRAM)、电阻式RAM(ReRAM)、铁电式RAM(FRAM)和自旋转移转矩磁阻式RAM(STT-MRAM)。
存储器控制器2200被连接到存储器设备2100。存储器控制器2200被配置为访问存储器设备2100。例如,存储器控制器2200可以被配置为控制存储器设备2100的读取、写入、擦除和后台操作。存储器控制器2200被配置为在存储器设备2100于主机400之间提供接口。存储器控制器2200被配置为驱动用于控制存储器设备2100的固件。存储器控制器2200可以被等同地实现为参考图1描述的存储器控制器200。
例如,存储器控制器2200可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和纠错电路的组件。
存储器控制器2200可以借助连接器2300来与外部设备通信。存储器控制器2200可以根据特定的通信标准来与外部设备(例如,主机400)通信。例如,存储器控制器2200被配置为借助各种通信标准中的至少一个通信标准来与外部设备通信,各种通信标准诸如是通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI Express(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。例如,连接器2300可以由上述各种通信标准中的至少一个通信标准来限定。
存储器设备2100和存储器控制器2200可以被集成到一个半导体设备中来配置存储卡。例如,存储器控制器2200和存储器设备2100可以被集成到一个半导体设备中来配置诸如PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存卡、智能媒体卡(SM或SMC)、存储棒、多媒体卡(MMC、RS-MMC、MMCmicro或eMMC),SD卡(SD、miniSD、microSD或SDHC)和通用闪存(UFS)的存储卡。
图15是图示了应用根据本公开的一个实施例的存储设备的固态驱动(SSD)系统的框图。
参考图1和图15,SSD系统包括主机400和SSD 3000。
SSD 3000借助信号连接器3001来与主机400交换信号SIG,并且借助功率连接器3002来接收功率PWR。SSD3000包括SSD控制器3200、多个闪存3100_1、3100_2和3100_n、辅助功率设备3300和缓冲存储器3400。
根据本公开的一个实施例,SSD控制器3200可以执行参考图1描述的存储器控制器200的功能。
SSD控制器3200可以响应于从主机400接收的信号SIG来控制多个闪存3100_1、3100_2和3100_n。例如,信号SIG可以是基于主机400与SSD 3000之间的接口的信号。例如,信号SIG可以是由诸如以下接口中的至少一个接口来定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI Express(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动器电子产品(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
辅助功率设备3300借助功率连接器3002而被连接到主机400。辅助功率设备3300可以从主机400接收功率PWR并且可以充电。当来自主机400的功率供应不平滑时,辅助功率设备3300可以提供SSD 3000的功率。例如,辅助功率设备3300可以被定位在SSD 3000中或者可以被定位在SSD 3000的外部。例如,辅助功率设备3300可以被定位在主板上,并且可以向SSD 3000提供辅助功率。
缓冲存储器3400可以临时存储数据。例如,缓冲存储器3400可以临时存储从主机400接收的数据或者从多个闪存3100_1、3100_2和3100_n接收的数据,或者可以临时存储闪存3100_1、3100_2和3100_n的元数据(例如,映射表)。缓冲存储器3400可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM以及GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM以及PRAM的非易失性存储器。
图16是图示了应用根据本公开的一个实施例的存储设备的用户系统的框图。
参考图16,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动被包括在用户系统4000中的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可以包括控制被包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可以被提供为片上系统(SoC)。
存储器模块4200可以被操作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDARM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器,或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于叠层封装(POP)被封装并且被提供为一个半导体封装。
网络模块4300可以与外部设备通信。例如,网络模块4300可以支持无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙和Wi-Fi。例如,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。备选地,存储模块4400可以将被存储在存储模块4400中的数据传输到应用处理器4100。例如,存储模块4400可以使用非易失性半导体存储器元件(诸如,相变式RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存和三维NAND闪存)来实现。例如,存储模块4400可以被提供为诸如存储卡的可移动存储设备(可移动驱动装置)以及用户系统4000的外部驱动装置。
例如,存储模块4400可以与参考图1描述的存储设备1000相同地操作。存储模块4400可以包括多个非易失性存储器设备,并且多个非易失性存储器设备可以与参考图1描述的非易失性存储器设备100相同地操作。
用户接口4500可以包括用于向应用处理器4100输入数据或指令或者用于向外部设备输出数据的接口。例如,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示设备、有源矩阵OLED(AMOLED)显示设备、LED、扬声器和监视器。

Claims (20)

1.一种存储设备,包括:
非易失性存储器设备,包括:存储器单元阵列,存储多个映射条目,所述多个映射条目各自指示逻辑地址与物理地址之间的映射关系;以及页缓冲器,存储所述多个映射条目;
易失性存储器设备,从被存储在所述非易失性存储器设备中的所述多个映射条目加载映射条目;以及
存储器控制器,控制所述非易失性存储器设备将从主机提供的逻辑地址转换为物理地址,并且响应于从所述主机提供的请求,在所述物理地址上执行与所述请求相对应的操作,
其中所述页缓冲器包括:
映射缓冲器,存储所述多个映射条目之中的第一映射条目;以及
映射索引缓冲器,存储第二映射条目,所述第二映射条目按照基于命中计数的顺序来布置,所述命中计数对应于所述第一映射条目之中与从所述主机提供的所述逻辑地址相对应的映射条目被命中的次数。
2.根据权利要求1所述的存储设备,其中所述存储器控制器搜索与从所述主机提供的所述逻辑地址相对应的搜索映射条目是否按照所述映射索引缓冲器和所述映射缓冲器的顺序而被存储在所述页缓冲器中,并且当在所述页缓冲器中搜索到所述搜索映射条目时,所述存储器控制器基于所述搜索映射条目,将从所述主机提供的所述逻辑地址转换为所述物理地址。
3.根据权利要求2所述的存储设备,其中所述存储器控制器在所述映射索引缓冲器中,从所述第二映射条目之中具有最大命中计数的第二映射条目到具有最小命中计数的第二映射条目顺序地搜索所述搜索映射条目。
4.根据权利要求3所述的存储设备,其中所述第二映射条目之中具有所述最大命中计数的所述第二映射条目对应于最近使用最多(MRU)的第二映射条目,并且所述第二映射条目之中具有所述最小命中计数的所述第二映射条目对应于最近使用最少(LRU)的第二映射条目。
5.根据权利要求3所述的存储设备,其中当在所述映射索引缓冲器中搜索到所述搜索映射条目时,所述存储器控制器增加所述第二映射条目之中与所述搜索映射条目相对应的第二映射条目的命中计数,并且控制所述非易失性存储器设备在所述第二映射条目的所述命中计数增加时,将所述第二映射条目重新布置。
6.根据权利要求5所述的存储设备,其中当所述第二映射条目的增加的命中计数等于所述最大命中计数时,所述存储器控制器控制所述非易失性存储器设备,使得增加的第二映射条目在具有所述最大命中计数的所述第二映射条目之前被搜索到。
7.根据权利要求2所述的存储设备,其中当在所述映射索引缓冲器中没有搜索到所述搜索映射条目时,所述存储器控制器基于所述第一映射条目来搜索所述搜索映射条目是否被存储在所述映射缓冲器中。
8.根据权利要求7所述的存储设备,其中当在所述映射缓冲器中搜索到所述搜索映射条目时,所述存储器控制器控制所述非易失性存储器设备以将所述第一映射条目之中与所述搜索映射条目相对应的第一映射条目作为第二映射条目存储在所述映射索引缓冲器中。
9.根据权利要求8所述的存储设备,其中当所述第一映射条目被存储在所述映射索引缓冲器中时,所述页缓冲器从所述映射索引缓冲器中删除所述第二映射条目之中具有最小命中计数的映射条目。
10.根据权利要求2所述的存储设备,其中当在所述页缓冲器中未搜索到所述搜索映射条目时,所述存储器控制器搜索所述搜索映射条目是否被存储在所述易失性存储器设备中。
11.根据权利要求10所述的存储设备,其中当在所述易失性存储器设备中未搜索到所述搜索映射条目时,所述存储器控制器控制所述非易失性存储器设备读取被存储在所述非易失性存储器设备中的所述多个映射条目之中的新映射条目。
12.根据权利要求1所述的存储设备,其中所述页缓冲器还包括:
数据感测缓冲器,感测被存储在所述存储器单元阵列中的读取数据或临时存储待存储在所述存储器单元阵列中的写入数据;以及
数据缓存缓冲器,将临时存储的读取数据输出到所述存储器控制器或者将所述写入数据传输到所述数据感测缓冲器。
13.一种操作存储设备的方法,所述方法包括:
读取被存储在存储器单元阵列中的多个条目之中的第一映射条目和第二映射条目;
将所述第一映射条目存储在被包括在页缓冲器中的映射缓冲器中,并且根据与映射条目被命中的次数相对应的命中计数,将所述第二映射条目顺序地存储在被包括在所述页缓冲器中的映射索引缓冲器中;以及
确定是否在所述映射索引缓冲器中搜索到与从主机接收的逻辑地址相对应的搜索映射条目。
14.根据权利要求13所述的方法,其中确定是否在所述映射索引缓冲器中搜索到所述搜索映射条目包括:在所述映射索引缓冲器中,从所述第二映射条目之中具有最大命中计数的第二映射条目到具有最小命中计数的第二映射条目,顺序地搜索所述搜索映射条目。
15.根据权利要求13所述的方法,还包括:
当在所述第二映射条目之中搜索到所述搜索映射条目时,将数据存储在与从所述主机提供的所述逻辑地址相对应的物理地址中,或者读取被存储在所述物理地址中的所述数据。
16.根据权利要求15所述的方法,还包括:
当数据被存储或读取时,执行更新所述第二映射条目的映射更新。
17.根据权利要求16所述的方法,其中执行所述映射更新包括:
增加所述第二映射条目之中与所述搜索映射条目相对应的第二映射条目的命中计数;以及
当所述第二映射条目的所述命中计数增加时,将所述映射索引缓冲器中的所述第二映射条目重新布置。
18.根据权利要求17所述的方法,其中执行所述映射更新包括:
当所述第二映射条目的增加的命中计数等于所述最大命中计数时,将增加的第二映射条目以最高优先级布置,使得增加的第二映射条目在具有最大命中计数的第二映射条目之前被搜索到。
19.根据权利要求13所述的方法,还包括:
当在所述映射索引缓冲器中没有搜索到所述搜索映射条目时,确定是否在所述映射缓冲器中搜索到所述搜索映射条目。
20.根据权利要求19所述的方法,还包括:
当在所述映射缓冲器中搜索到所述搜索映射条目时,将所述第一映射条目之中与所述搜索映射条目相对应的第一映射条目作为第二映射条目存储在所述映射索引缓冲器中。
CN202110400199.7A 2020-09-14 2021-04-14 存储设备和操作存储设备的方法 Withdrawn CN114185479A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0117898 2020-09-14
KR1020200117898A KR20220035758A (ko) 2020-09-14 2020-09-14 저장 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
CN114185479A true CN114185479A (zh) 2022-03-15

Family

ID=80601289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110400199.7A Withdrawn CN114185479A (zh) 2020-09-14 2021-04-14 存储设备和操作存储设备的方法

Country Status (3)

Country Link
US (2) US20220083258A1 (zh)
KR (1) KR20220035758A (zh)
CN (1) CN114185479A (zh)

Also Published As

Publication number Publication date
US20220083258A1 (en) 2022-03-17
KR20220035758A (ko) 2022-03-22
US20230418513A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
CN107766257B (zh) 存储器系统及其操作方法
US11614895B2 (en) Data storage device for read operation and method of the same
CN110750207A (zh) 存储器系统及其操作方法
CN111078584A (zh) 存储器系统及其操作方法
CN112748874A (zh) 执行主机感知性能增强模式的存储器控制器及其操作方法
CN111916134B (zh) 存储装置及其操作方法
US10936484B2 (en) Memory system and operating method thereof
US11726683B2 (en) Storage system and operating method for moving data between storage devices thereof
CN114356209A (zh) 存储装置及其操作方法
CN111241001B (zh) 数据处理系统及其操作方法
US10996881B2 (en) Storage device and method of operating the same
US20200174702A1 (en) Memory system, operating method thereof and controller
US11487662B2 (en) Memory controller and storage device including the same
US11474723B2 (en) Storage device and operating method thereof
US11625324B2 (en) Storage device for moving valid data to an open memory block based on a valid page list and operating method thereof
US11449259B2 (en) Memory controller and operating method thereof
KR20230037240A (ko) 호스트 장치, 메모리 컨트롤러 및 이를 포함하는 컴퓨팅 시스템
CN114464237A (zh) 存储器装置、存储装置以及操作存储器控制器的方法
CN112783435A (zh) 存储设备和操作存储设备的方法
US20220083258A1 (en) Storage device and method of operating the storage device
KR20200113387A (ko) 메모리 시스템 및 그것의 동작방법
US11276477B2 (en) Memory controller and operating method thereof
US11537515B2 (en) Reordering a descriptor queue while searching the queue of descriptors corresponding to map segments
US20210318952A1 (en) Storage device and method of operating the same
CN115223636A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220315