CN111352855B - 具有提高的映射更新速度的存储装置及其操作方法 - Google Patents
具有提高的映射更新速度的存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111352855B CN111352855B CN201910926163.5A CN201910926163A CN111352855B CN 111352855 B CN111352855 B CN 111352855B CN 201910926163 A CN201910926163 A CN 201910926163A CN 111352855 B CN111352855 B CN 111352855B
- Authority
- CN
- China
- Prior art keywords
- logical
- physical
- mapping information
- memory
- data
- 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
Links
- 238000000034 method Methods 0.000 title abstract description 17
- 238000013507 mapping Methods 0.000 claims abstract description 355
- 230000015654 memory Effects 0.000 claims abstract description 331
- 239000000872 buffer Substances 0.000 claims description 49
- 230000036316 preload Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 22
- 238000013500 data storage Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 32
- 239000010410 layer Substances 0.000 description 17
- 238000004891 communication Methods 0.000 description 13
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000005684 electric field Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 101150013423 dsl-1 gene Proteins 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本发明可提供一种存储装置以及操作该存储装置的方法。该存储装置包括:存储器控制器,具有映射管理器和预加载映射信息存储装置;以及存储器装置,具有逻辑到物理映射信息。存储器控制器确定预加载映射信息并且从存储器装置获得预加载映射信息,然后在执行逻辑到物理映射信息的映射更新操作之前,将预加载映射信息存储在预加载映射信息存储装置中。预加载映射信息包括待更新的逻辑到物理映射信息。
Description
相关申请的交叉引用
本申请要求于2018年12月20日提交的申请号为10-2018-0166635的韩国专利申请的优先权,该韩国专利申请通过引用整体并入。
技术领域
本公开的各个实施例总体涉及一种电子装置,并且更特别地,涉及一种存储装置及操作该存储装置的方法。
背景技术
通常,存储装置在诸如计算机或智能电话的主机装置的控制下存储数据。存储装置可以包括被配置为存储数据的存储器装置,以及被配置为控制存储器装置的存储器控制器。存储器装置主要被分类为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是当关闭电源时所存储的数据丢失的存储器装置。易失性存储器装置的示例包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
非易失性存储器装置是即使当关闭电源时也保持所存储的数据的存储器装置。非易失性存储器件的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)和闪速存储器。
在当前技术中,与数据存储在存储器装置中的位置有关的物理地址信息和逻辑地址信息彼此映射。通常,当新数据被写入存储器装置时或者当从存储器装置移除现有数据时,需要映射更新操作。然而,由于通常存在大量针对相应的物理地址而更新的逻辑地址,因此映射更新操作可能消耗相当大量的时间,从而影响数据存储装置的整体性能。因此,期望一种具有减少执行映射更新所需的时间量的更有效的映射更新能力的数据存储装置。
发明内容
本公开的各个实施例涉及一种能够降低映射更新操作的速度的存储装置,以及操作该存储装置的方法。
在一方面,一种存储装置包括:存储器控制器,具有映射管理器和预加载映射信息存储装置;以及存储器装置,具有逻辑到物理映射信息。存储器控制器确定预加载映射信息并且从存储器装置获得预加载映射信息,然后在执行逻辑到物理映射信息的映射更新操作之前将预加载映射信息存储在预加载映射信息存储装置中。预加载映射信息包括待更新的逻辑到物理映射信息。
在另一方面,一种存储装置包括:存储器装置,被配置成存储多个逻辑到物理段,该多个逻辑到物理段包括从主机提供的数据的逻辑地址与存储数据的物理地址之间的映射信息;以及存储器控制器,被配置成在执行更新多个逻辑到物理段的映射更新操作之前,确定待更新的至少一个或多个逻辑到物理段,从存储器装置获得该至少一个或多个逻辑到物理段,并且将该至少一个或多个逻辑到物理段存储在预加载映射信息存储装置中。
在又一方面,一种存储装置包括:存储器装置,该存储器装置包括适于存储多个映射信息的区域;以及控制器,该控制器包括映射管理器。映射管理器基于与第一逻辑地址相对应的第一物理地址,更新在多个映射信息之中的包括与存储器装置相关联的第一逻辑地址的第一映射信息;从存储器装置预加载多个映射信息之中的第二映射信息;并且基于与和存储器装置相关联的第二逻辑地址相对应的第二物理地址来更新第二映射信息。
在再一方面,一种存储装置包括:存储器装置,该存储器装置包括适于存储多个映射信息的块和区域;以及控制器,该控制器包括映射信息存储装置和映射管理器。映射管理器从存储器装置预加载多个映射信息之中的第一映射信息以将第一映射信息存储在映射信息存储装置中;接收映射到块的第一物理地址的第一逻辑地址;并且当第一映射信息对应于第一逻辑地址时,基于第一物理地址修改所存储的第一映射信息。
在又一方面,一种用于操作存储装置的方法包括:基于与第一逻辑地址相对应的第一物理地址,更新在多个映射信息之中的、包括与存储器装置相关联的第一逻辑地址的第一映射信息,该存储器装置包括用于存储多个映射信息的区域;从存储器装置预加载多个映射信息之中的第二映射信息;并且基于与和存储器装置相关联的第二逻辑地址相对应的第二物理地址来更新第二映射信息。
在再一方面,一种用于操作存储装置的方法包括:从存储器装置预加载多个映射信息之中的第一映射信息,该存储器装置包括用于存储多个映射信息的块和区域;接收映射到块的第一物理地址的第一逻辑地址;并且当第一映射信息对应于第一逻辑地址时,基于第一物理地址修改预加载的第一映射信息。
从以下描述,本发明的其它方面将变得显而易见。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出根据本公开的实施例的存储器装置的示图。
图3是示出根据本公开的实施例的存储器单元阵列的示图。
图4是示出根据本公开的实施例的存储块的电路图。
图5是示出根据本公开的实施例的存储块的电路图。
图6是示出根据本发明的实施例的存储器控制器的示图。
图7是示出根据本公开的实施例的更新物理到逻辑映射信息存储装置的操作的示图。
图8是示出根据本公开的实施例的存储器控制器的操作的示图。
图9A是示出根据本公开的实施例的确定预加载映射信息的操作的示图。
图9B是示出根据本公开的实施例的确定预加载映射信息的操作的示图。
图9C是示出根据本公开的实施例的确定预加载映射信息的操作的示图。
图10是示出根据本公开的实施例的映射更新操作的示图。
图11A至图11C是示出根据本公开的实施例的存储器控制器的操作的流程图。
图12是示出根据本公开的实施例的存储器控制器的示图。
图13是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。
图14是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
图15是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
本说明书或申请中引入的本公开的实施例中的特定结构或功能描述仅用于描述本公开的实施例。描述不应被解释为限于本说明书或申请中描述的实施例。
现在将基于实施例详细描述本公开。然而,本公开可以以许多不同的形式实现,并且不应该被解释为仅限于本文阐述的实施例,而是应该被解释为涵盖落入本公开的构思和技术范围内的修改、等同方案或替换方案。然而,将理解的是,本描述并不旨在将本公开限制于那些示例性实施例,并且本公开不仅旨在涵盖示例性实施例,而且还旨在涵盖落入本公开的精神和范围内的各种替换、修改、等同方案和其它实施例。
将理解的是,虽然术语“第一”、“第二”等可在本文中用于描述各个元件,但是这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本公开的教导的情况下,以下讨论的第一元件可以被称为第二元件。类似地,第二元件也可被称为第一元件。
将理解的是,当元件被称为“联接”或“连接”至另一元件时,它可直接联接或连接至其它元件,或者在该元件和其它元件之间可存在中间元件。相反,应理解的是,当元件被称为“直接联接”或“直接连接”至另一元件时,不存在中间元件。解释元件之间的关系的其它表达,诸如“之间”、“直接在......之间”、“与......相邻”或“与......直接相邻”应以相同的方式解释。
本文使用的术语仅用于描述特定实施例的目的,而不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指明所陈述的特征、整数、步骤、操作、元件、组件和/或它们的组合的存在,但并不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。
除非另外定义,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。将进一步理解的是,本文使用的术语应被解释为具有与它们在本说明书的上下文和相关领域中的含义一致的含义,并且将不以理想化或过于形式化的意义来解释,除非本文如此明确地限定。
将省略对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在省略不必要的描述以使本公开的主题清楚。
在下文中,将通过参照附图描述本公开的示例性实施例来详细描述本公开。
图1是示出根据本公开的实施例的存储装置50的示图。
参照图1,存储装置50可以包括存储器装置100以及配置成控制存储器装置100的操作的存储器控制器200。存储装置50可以是配置成在主机300的控制下存储数据的装置。主机300可以是诸如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、平板电脑(PC)或车载信息娱乐系统的装置。
根据作为与主机300的通信系统的主机接口,存储装置50可以被制造为各种类型的存储装置中的任意一种。例如,数据存储装置50可以由诸如下列的各种类型的存储装置中的任意一种来配置:固态驱动器(SSD)、多媒体卡(MMC)(例如,eMMC、RS-MMC或微型MMC),安全数字(SD)(例如,迷你SD、微型SD),通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置、外围组件互连(PCI)卡型存储装置、高速PCI(PCI-e或PCIe)型存储装置、紧凑型闪存(CF)卡、智能媒体卡和记忆棒。
存储装置50可以以各种封装类型中的任意一种的形式来制造。例如,存储装置50可以以诸如下列的各种封装类型中的任意一种的形式来制造:堆叠式封装(POP)类型、系统级封装(SIP)类型、片上系统(SOC)类型、多芯片封装(MCP)类型、板上芯片(COB)类型、晶圆级制造封装(WFP)类型和晶圆级堆叠封装(WSP)类型。
存储器装置100可以将数据存储在其中。存储器装置100可以在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括配置为将数据存储在其中的多个存储器单元。
存储器单元可以包括能够存储单个位的数据的单层单元(SLC)、能够存储两个位的数据的多层单元(MLC)、能够存储三个位的数据的三层单元(TLC)、或者能够存储四个位的数据的四层单元(QLC)。
存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。每个存储块可以包括多个页面。在实施例中,每个页面可以是用于将数据存储在存储器装置100中或从存储器装置100读取所存储的数据的单位。每个存储块可以是擦除数据的单位。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。在本说明书中,通过示例的方式,存储器装置100是NAND闪存存储器。
存储器装置100可以从存储器控制器200接收命令和地址,并且访问由地址选择的存储器单元阵列的区域。也就是说,存储器装置100可以对由地址选择的区域执行对应于命令的操作。例如,存储器装置100可以执行写入(或编程)操作、读取操作以及擦除操作。在编程操作期间,存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可以从由地址选择的区域擦除数据。
在实施例中,存储器装置100可以包括逻辑到物理(L2P)映射信息存储装置111。
逻辑到物理映射信息存储装置111可以存储逻辑地址和物理地址之间的逻辑到物理(L2P)映射信息。例如,逻辑到物理映射信息可以指示从主机300提供的数据的逻辑地址与存储数据的存储器装置100的物理地址之间的映射关系。
在实施例中,逻辑到物理映射信息存储装置111可以形成在存储器单元阵列中的多个存储块的每一个的备用区域中。在实施例中,逻辑到物理映射信息存储装置111可以由存储器单元阵列中的多个存储块之中的至少一个系统块形成,该至少一个系统块存储系统信息。在实施例中,逻辑到物理映射信息存储装置111可以由存储器单元阵列中的多个存储块中包括的字线之中的、设置在特定位置处的字线形成。
存储器控制器200可以控制存储装置50的全部操作。
当电力被供应至存储装置50时,存储器控制器200可以运行固件。在存储器装置100是闪速存储器装置的情况下,存储器控制器200可以运行诸如闪存转换层(FTL)的固件,以用于控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为物理块地址(PBA),该物理块地址表示数据被存储在存储器装置100中包括的存储器单元的地址。
存储器控制器200可以响应于来自主机300的请求控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将编程命令、PBA和数据提供至存储器装置100。在读取操作期间,存储器控制器200可以将读取命令和PBA提供至存储器装置100。在擦除操作期间,存储器控制器200可以将擦除命令和PBA提供至存储器装置100。
在实施例中,存储器控制器200可以自主地生成编程命令、地址和数据,而不管来自主机300的请求,并且将编程命令、地址和数据传送至存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供至存储器装置100,以执行诸如损耗均衡操作和垃圾收集操作的后台操作。
在实施例中,存储器控制器200可以控制至少两个或更多个存储器装置100。在这种情况下,存储器控制器200可以以交织方式控制存储器装置100,以便提高操作性能。交织方案可以是将至少两个或更多个存储器装置100的操作时段重叠的操作方案。
在实施例中,存储器控制器200可以包括映射管理器210和预加载映射信息存储装置220。
映射管理器210可以执行更新在存储器装置100中存储的逻辑到物理映射信息的映射更新操作。
在各个实施例中,映射更新操作可以包括将存储器装置100中存储的一些逻辑到物理映射信息加载到存储器控制器200上的操作。映射更新操作可以包括基于与从主机300提供的写入数据相对应的逻辑地址修改加载的逻辑到物理映射信息的操作。写入数据可以是响应于主机300的写入请求待存储在存储器装置100中的数据。映射更新操作可以包括基于修改的逻辑到物理映射信息更新存储在存储器装置100中的所存储的逻辑到物理映射信息的操作。详细地,映射更新操作可以包括将修改的逻辑到物理映射信息写入到存储器装置100的操作。此处,可以使与写入到存储器装置100的修改的逻辑到物理映射信息相对应的现有逻辑到物理映射信息无效。
在实施例中,当执行映射更新操作时,映射管理器210可以加载存储器装置100中存储的一些逻辑到物理映射信息。
在实施例中,映射管理器210可以确定存储器装置100中存储的逻辑到物理映射信息之中的预期被更新的预加载映射信息。映射管理器210可以在执行后续映射更新操作之前加载所确定的预加载映射信息。映射管理器210可以从存储器装置100获得预加载映射信息。
映射管理器210可以将用于预加载存储器装置100中存储的预加载映射信息的命令提供至存储器装置100。映射管理器210可以响应于命令从存储器装置100接收预加载映射信息。
映射管理器210可以从主机300接收写入请求。映射管理器210可以响应于来自主机300的写入请求接收写入数据以及对应于写入数据的逻辑地址。映射管理器210可以使用对应于写入数据的逻辑地址来修改预加载映射信息存储装置220中存储的预加载映射信息。
映射管理器210可以基于修改的预加载映射信息来更新存储器装置100中存储的逻辑到物理映射信息。映射管理器210可以向存储器装置100提供用于将修改的预加载映射信息存储在存储器装置100中的编程命令。如果修改的预加载映射信息存储在存储器装置100中,则可以使与存储在存储器装置100中的修改的预加载映射信息相对应的现有逻辑到物理映射信息无效。
预加载映射信息存储装置220可以存储由映射管理器210加载的预加载映射信息。
主机300可以使用诸如以下的各种通信方法中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法。
图2是示出根据本公开的实施例的存储器装置,例如图1的存储器装置100的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
外围电路120可以包括地址解码器121、电压发生器122、读取和写入(读取/写入)电路123、数据输入和输出(输入/输出)电路124以及感测电路125。
存储器单元阵列110可以包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接至地址解码器121。存储块BLK1至BLKz可以通过位线BL1至BLm联接到读取/写入电路123。存储块BLK1至BLKz中的每一个可以包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中联接到相同字线的存储器单元被定义为一个页面。也就是说,存储器单元阵列100可以由多个物理页面形成。在实施例中,存储器单元阵列110中的存储块BLK1至BLKz的每一个可以包括多个虚设单元。一个或多个虚设单元可以串联地联接在漏极选择晶体管和存储器单元之间以及源极选择晶体管和存储器单元之间。
存储器装置100的存储器单元中的每一个可以由以下形成:能够存储单个位的数据的单层单元(SLC)、能够存储两个位的数据的多层单元(MLC)、能够存储三个位的数据的三层单元(TLC)、或者能够存储四个位的数据的四层单元(QLC)。
在实施例中,存储器单元阵列100可以包括逻辑到物理映射信息存储装置(例如,图1的逻辑到物理映射信息存储装置111)。
逻辑到物理映射信息存储装置可以存储逻辑到物理映射信息。逻辑到物理映射信息可以指示从参照图1描述的主机提供的数据的逻辑地址与存储数据的存储器单元阵列110的物理地址之间的映射关系。
在实施例中,逻辑到物理映射信息存储装置可以由在存储器单元阵列110中的多个存储块的每一个中的备用区域形成。在实施例中,逻辑到物理映射信息存储装置可以由存储器单元阵列110中的至少一个系统块形成,该至少一个系统块存储系统信息。在实施例中,逻辑到物理映射信息存储装置可以由在存储器单元阵列110中的多个存储块中包括的字线之中的设置在特定位置处的字线形成。
外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110执行编程操作、读取操作或擦除操作。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和共源线。在实施例中,字线可以包括正常字线和虚设字线。在实施例中,行线RL进一步可以包括管道选择线。
地址解码器121可以在控制逻辑130的控制下操作。地址解码器121可以从控制逻辑130接收地址ADDR。
地址解码器121可以解码接收的地址ADDR之中的块地址。地址解码器121可以根据经解码的块地址,选择存储块BLK1至BLKz中的至少一个。地址解码器121可以解码接收的地址ADDR之中的行地址RADD。地址解码器121可以通过根据经解码的行地址RADD将从电压发生器122供应的电压施加到至少一个字线WL来选择所选择的存储块的至少一个字线WL。
在编程操作期间,地址解码器121可以将编程电压施加到选择的字线,并且将电平小于编程电压的电平的编程通过电压施加到未选择的字线。在编程验证操作期间,地址解码器121可以将验证电压施加到选择的字线,并且将电平大于验证电压的电平的验证通过电压施加到未选择的字线。
在读取操作期间,地址解码器121可以将读取电压施加到选择的字线,并且将电平大于读取电压的电平的读取通过电压施加到未选择的字线。
在实施例中,可以以存储块为基础来执行存储器装置100的擦除操作。在擦除操作期间,待输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以解码块地址,并且根据经解码的块地址来选择相应存储块。在擦除操作期间,地址解码器121可以将接地电压施加到与选择的存储块联接的字线。
在本公开的实施例中,地址解码器121可以解码传送的地址ADDR之中的列地址。经解码的列地址可以被传送至读取/写入电路123。例如,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。
电压发生器122可以使用供应至存储器装置100的外部电源电压来生成多个操作电压Vop。电压发生器122可以在控制逻辑130的控制下操作。
在实施例中,电压发生器122可以通过调节外部电源电压来生成内部电源电压。由电压发生器122生成的内部电源电压可用作存储器装置100的操作电压。
在实施例中,电压发生器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压发生器122可以生成存储器装置100所需的各个电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
电压发生器122可以包括被配置成接收内部电源电压的多个泵浦电容器,以便生成具有各种电压电平的多个操作电压Vop。此外,电压发生器122可以通过在控制逻辑130的控制下选择性地启用多个泵浦电容器来生成多个操作电压Vop。
所生成的操作电压Vop可以通过地址解码器121被供应至存储器单元阵列110。
读取/写入电路123可以包括第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm可以分别通过第一至第m位线BL1至BLm联接至存储器单元阵列110。第一至第m页面缓冲器PB1至PBm可以在控制逻辑130的控制下操作。
第一至第m页面缓冲器PB1至PBm可以与数据输入/输出电路124通信数据DATA。在编程操作期间,第一至第m页面缓冲器PB1至PBm可以通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当编程脉冲被施加到选择的字线时,第一至第m页面缓冲器PB1至PBm可以将通过数据输入/输出电路124接收的数据DATA传送到选择的存储器单元。基于传送的数据DATA对所选择的页面的存储器单元进行编程。与被施加编程使能电压(例如,接地电压)的位线联接的存储器单元可以具有增加的阈值电压。与被施加编程禁止电压(例如,电源电压)的位线联接的存储器单元的阈值电压可以被维持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm从选择的存储器单元读取数据DATA。
在读取操作期间,读取/写入电路123可以通过位线BL从所选择的页面的存储器单元读取数据DATA,并将所读取的数据DATA存储到第一至第m页面缓冲器PB1至PBm。
在擦除操作期间,读取/写入电路123可以使位线BL浮置(float)。在实施例中,读取/写入电路123可以包括列选择电路。
在实施例中,当读取/写入电路123中的多个页面缓冲器的一些页面缓冲器中存储的数据被编程到存储器单元阵列110时,其它页面缓冲器可以从存储器控制器200接收新数据并且存储新数据。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124可以在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括用于接收输入的数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124可以从外部控制器(例如,图1的存储器控制器200)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124可以将从读取/写入电路123中的第一至第m页面缓冲器PB1至PBm接收的数据DATA输出至外部控制器。
在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的使能位信号VRYBIT来生成参考电流。此外,感测电路125可以将从读取/写入电路123接收的感测电压VPB与由参考电流生成的参考电压进行比较,并且将通过信号或失败信号输出至控制逻辑130。
控制逻辑130可以联接到地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124以及感测电路125。控制逻辑130可以控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置(例如,图1的存储器控制器200)接收的命令CMD而操作。
控制逻辑130可以响应于命令CMD和地址ADD生成各个信号,并且控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADD生成操作信号OPSIG、行地址RADD、读取/写入电路控制信号PBSIGNALS和使能位信号VRYBIT。控制逻辑130可以将操作信号OPSIG输出至电压发生器122,将行地址RADD输出至地址解码器121,将读取/写入电路控制信号PBSIGNALS输出至读取/写入电路123,并且将使能位信号VRYBIT输出至感测电路125。此外,在验证操作期间,控制逻辑130可以响应于从感测电路125输出的通过信号PASS或失败信号FAIL来确定对目标存储器单元的验证是已经通过还是已经失败。
图3是示出根据本公开的实施例的存储器单元阵列,例如图2的存储器单元阵列110的示图。
参照图3,存储器单元阵列110可以包括多个存储块BLK1至BLKz。每个存储块具有三维结构。每个存储块可以包括堆叠在衬底上的多个存储器单元。存储器单元沿+X方向、+Y方向和+Z方向布置。下面将参照图4和图5详细地描述每个存储块的结构。
图4是示出根据本公开的实施例的存储块,例如图3的存储块BLK1至BLKz中的存储块BLKa的示图。
参照图4,存储块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”型。在存储块BLKa中,m个单元串可以布置在行方向(即,+X方向)上。虽然示出了将两个单元串布置在列方向(即,+Y方向)上,但是可以在列方向上布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在同一行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可以被划分成第一至第p存储器单元MC1至MCp以及第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp沿与+Z方向相反的方向连续布置,并且串联地联接在源极选择晶体管SST和管道晶体管PT之间。第(p+1)至第n存储器单元MCp+1至MCn沿+Z方向连续布置,并且串联地联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn通过管道晶体管PT彼此联接。每个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
单元串的管道晶体管PT的各个栅极联接到管线PL。
每个单元串的漏极选择晶体管DST联接在相应位线与存储器单元MCp+1至MCn之间。布置在行方向上的单元串的漏极选择晶体管联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
布置在列方向上的单元串可以联接到在列方向上延伸的位线。在图4中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
布置在行方向上的单元串中联接到相同字线的存储器单元形成单个页面。例如,在第一行中的单元串CS11至CS1m之中的、联接到第一字线WL1的存储器单元形成单个页面。在第二行中的单元串CS21至CS2m之中的、联接到第一字线WL1的存储器单元形成另一单个页面。当选择漏极选择线DSL1和DSL2中的任意一个时,可以选择在单个行的方向上布置的相应单元串。当选择字线WL1至WLn中的任意一个时,可以从所选择的单元串之中选择相应的单个页面。
在实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。布置在行方向上的单元串CS11至CS1m或CS21至CS2m的偶数编号的单元串可以联接到各个偶数位线。布置在行方向上的单元串CS11至CS1m或CS21至CS2m的奇数编号的单元串可以联接到各个奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。例如,可以设置至少一个或更多个虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCp之间的电场。可选地,可以设置至少一个或更多个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MCp+1至MCn之间的电场。随着虚设存储器单元的数量增大,存储块BLKa的操作可靠性可增加,同时存储块BLKa的大小可能增大。随着虚设存储器单元的数量减少,存储块BLKa的大小可减小,但是存储块BLKa的操作可靠性可能降低。
为了高效地控制至少一个或更多个虚设存储器单元,虚设存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKa执行擦除操作之前或之后,可以对全部或一些虚设存储器单元执行编程操作。在已经执行编程操作之后执行擦除操作的情况下,通过控制待施加到与各个虚设存储器单元联接的虚设字线的电压,虚设存储器单元可以具有所需的阈值电压。
图5是示出根据本公开的实施例的存储块,例如图3的存储块BLK1至BLKz中的存储块BLKb的示图。
参照图5,存储块BLKb可以包括多个单元串CS11'至CS1m'和CS21'至CS2m'。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿+Z方向延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个可以包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,其中衬底设置在存储块BLKb的下部。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCn之间。布置在同一行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管可以联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管可以联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn串联地联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST联接在相应位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管可以联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管可以联接到第二漏极选择线DSL2。
因此,除了管道晶体管PT不包括在每个单元串中之外,图5的存储块BLKb可以具有与图4的存储块BLKa的等效电路类似的等效电路。
在实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号的单元串可以联接到各个偶数位线。布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号的单元串可以联接到各个奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。例如,可以设置至少一个或更多个虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCn之间的电场。可选地,可以设置至少一个或更多个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MC1至MCn之间的电场。随着虚设存储器单元的数量增大,存储块BLKb的操作可靠性可增加,同时存储块BLKb的大小可能增大。随着虚设存储器单元的数量减少,存储块BLKb的大小可减小,但是存储块BLKb的操作可靠性可能降低。
为了高效地控制至少一个或更多个虚设存储器单元,虚设存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKb执行擦除操作之前或之后,可以对全部或一些虚设存储器单元执行编程操作。在已经执行编程操作之后执行擦除操作的情况下,通过控制待施加到与各个虚设存储器单元联接的虚设字线的电压,虚设存储器单元可以具有所需的阈值电压。
图6是示出根据本公开的实施例的存储器控制器,例如存储器控制器200的示图。存储器控制器200可以联接至存储器装置,例如存储器装置100。
参照图6,存储器装置100可以包括逻辑到物理(L2P)映射信息存储装置111。逻辑到物理映射信息存储装置111可以存储逻辑到物理(L2P)映射信息。逻辑到物理映射信息可以指示从主机(例如,图1的主机300)提供的数据的逻辑地址与存储数据的存储器装置100的物理地址之间的映射关系。
逻辑到物理映射信息存储装置111中存储的逻辑到物理映射信息可以包括多个逻辑到物理(L2P)段。每个逻辑到物理段可以包括多条数据的逻辑地址以及对应于各个逻辑地址的物理地址。
存储器控制器200可以包括映射管理器210、预加载映射信息存储装置220、物理到逻辑映射信息存储装置230和映射更新缓冲器240。
映射管理器210可以执行更新在逻辑到物理映射信息存储装置111中存储的逻辑到物理映射信息的映射更新操作。
映射更新操作可以包括将逻辑到物理映射信息存储装置111中存储的一些逻辑到物理映射信息加载到存储器控制器200中的操作。映射更新操作可以包括基于与从主机300提供的写入数据相对应的逻辑地址修改所加载的逻辑到物理映射信息的操作。写入数据可以是响应于主机300的写入请求待存储在存储器装置100的至少一个存储块中的数据。映射更新操作可以包括基于所修改的逻辑到物理映射信息更新逻辑到物理映射信息存储装置111中存储的逻辑到物理映射信息的操作。映射更新操作可以包括将修改的逻辑到物理映射信息写入到逻辑到物理映射信息存储装置111的操作。此处,可以使逻辑到物理映射信息存储装置111中存储的、与写入到逻辑到物理映射信息存储装置111的修改的逻辑到物理映射信息相对应的现有逻辑到物理映射信息无效。
在实施例中,映射管理器210可以将逻辑到物理映射信息存储装置111中存储的一些逻辑到物理映射信息确定为预加载映射信息。预加载映射信息可以是预期被更新的逻辑到物理映射信息。
预加载映射信息可以包括多个逻辑到物理段的至少一个或更多个逻辑到物理段,该多个逻辑到物理段包括在逻辑到物理映射信息存储装置111中存储的逻辑到物理映射信息中。
在实施例中,预加载映射信息可以包括预期对其执行顺序写入操作的逻辑到物理段。该至少一个或更多个逻辑到物理段可以包括相对于当前对其执行映射更新操作的逻辑到物理段按顺序的逻辑到物理段。
在实施例中,预加载映射信息可以包括预期要对其执行随机写入操作的逻辑到物理段。包括待对其执行随机写入操作的逻辑地址的逻辑到物理段可能不是彼此按顺序的。
映射管理器210可以在执行后续映射更新操作之前加载所确定的预加载映射信息。
映射管理器210可以将用于加载逻辑到物理映射信息存储装置111中存储的预加载映射信息的命令提供至逻辑到物理映射信息存储装置111。映射管理器210可以响应于命令从逻辑到物理映射信息存储装置111接收预加载映射信息。
映射管理器210可以从主机300接收写入请求。映射管理器210可以响应于来自主机300的写入请求而接收写入数据以及对应于写入数据的逻辑地址。映射管理器210可以使用对应于写入数据的逻辑地址来修改预加载映射信息存储装置220中的预加载映射信息。映射管理器210可以修改预加载映射信息中的、包括对应于所接收的写入数据的逻辑地址的逻辑到物理段。映射管理器210可以改变待修改的逻辑到物理段中的、与写入数据的逻辑地址相对应的物理地址,或将与写入数据的逻辑地址相对应的物理地址添加在待修改的逻辑到物理段中。此处,待改变或添加的物理地址可以是将存储写入数据的物理地址。将存储写入数据的物理地址可以从物理到逻辑映射信息存储装置230获得。
映射管理器210可以在执行将写入数据存储在存储器装置100中的编程操作的同时修改包括在预加载映射信息中的至少一个或更多个逻辑到物理段。
映射管理器210可以基于修改的逻辑到物理段,更新与逻辑到物理映射信息存储装置111中存储的修改的逻辑到物理段相对应的现有逻辑到物理段。
详细地,映射管理器210可以向存储器装置100提供编程命令,以将修改的逻辑到物理段存储在逻辑到物理映射信息存储装置111中。在修改的逻辑到物理段存储在逻辑到物理映射信息存储装置111中时,可以使与逻辑到物理映射信息存储装置111中存储的修改的逻辑到物理段相对应的现有逻辑到物理段无效。
在实施例中,映射管理器210可以执行对预加载映射信息中包括的至少一个或更多个逻辑到物理段之中的任意一个逻辑到物理段中包括的逻辑地址取消映射的操作。映射管理器210可以在执行将写入数据存储在存储器装置100中的编程操作的同时执行取消映射操作。
取消映射操作可以是擦除包括在逻辑到物理映射信息中的、与待取消映射的逻辑地址映射的物理地址的操作。可选地,取消映射操作可以是使用取消映射数据来修改包括在逻辑到物理映射信息中的、与待取消映射的逻辑地址映射的物理地址的操作。
映射管理器210可以将物理到逻辑映射信息存储在物理到逻辑映射信息存储装置230中,该物理到逻辑映射信息是待存储写入数据的存储块的存储区域的物理地址与对应于写入数据的逻辑地址之间的映射关系。映射管理器210可以将对应于写入数据的逻辑地址提供至物理到逻辑映射信息存储装置230,该写入数据对应于待存储写入数据的存储块的存储区域的物理地址。在实施例中,物理到逻辑映射信息和逻辑到物理映射信息的配置和大小可以彼此不同。
在实施例中,在写入数据的逻辑地址包括在预加载映射信息中包括的至少一个或更多个逻辑到物理段中时,映射管理器210可以不将与写入数据的逻辑地址相对应的物理到逻辑映射信息存储在物理到逻辑映射信息存储装置230中。
在存储写入数据的存储块变为已完全写入数据的写入完成块时,映射管理器210可以执行映射更新操作。在与待存储写入数据的存储块相对应的所有物理地址被分配用于数据存储时,映射管理器210可以执行映射更新操作。
在映射更新操作期间,映射管理器210可以将待更新的逻辑到物理映射信息加载在逻辑到物理映射信息存储装置111中。待更新的逻辑到物理映射信息可以是待根据物理到逻辑映射信息存储装置230中存储的物理到逻辑映射信息来修改的逻辑到物理映射信息。
映射管理器210可以将所加载的逻辑到物理映射信息存储在映射更新缓冲器240中。
预加载映射信息存储装置220可以存储由映射管理器210加载的预加载映射信息。
物理到逻辑映射信息存储装置230可以存储物理到逻辑映射信息。物理到逻辑映射信息可以是指示与待存储写入数据的存储块的存储区域相对应的物理地址与对应于写入数据的逻辑地址之间的映射关系的信息。即使不参考存储器装置100的逻辑到物理映射信息存储装置111,也可以由物理到逻辑映射信息存储装置230直接执行数据写入操作。因此,可以提高数据写入操作的速度。
在映射更新操作期间,映射更新缓冲器240可以存储待更新的逻辑到物理映射信息。待更新的逻辑到物理映射信息可以是待根据物理到逻辑映射信息存储装置230中存储的物理到逻辑映射信息来修改的逻辑到物理映射信息。
在实施例中,存储在映射更新缓冲器240中以及待更新的逻辑到物理映射信息可以根据物理到逻辑映射信息存储装置230中存储的物理到逻辑映射信息来修改。在另一实施例中,存储在映射更新缓冲器240中以及待更新的、对应于预加载映射信息的逻辑到物理映射信息可以不根据物理到逻辑映射信息存储装置230中存储的物理到逻辑映射信息来修改。
在实施例中,存储在逻辑到物理映射信息存储装置111中的逻辑到物理映射信息可以根据存储在映射更新缓冲器240中的修改的逻辑到物理映射信息来更新。在实施例中,存储在映射更新缓冲器240中、对应于预加载映射信息的逻辑到物理映射信息可以不用于更新逻辑到物理映射信息存储装置111中存储的逻辑到物理映射信息。这是因为逻辑到物理映射信息存储装置111中存储的逻辑到物理映射信息已经根据预加载映射信息被更新。
图7是示出根据本公开的实施例的更新物理到逻辑映射信息存储装置,例如图6的物理到逻辑(P2L)映射信息存储装置230的操作的示图。
参照图7,物理到逻辑映射信息存储装置230可以利用物理到逻辑(P2L)表来实施。
物理到逻辑表可以包括物理到逻辑映射信息,该物理到逻辑映射信息指示存储器装置的多个存储块之中待存储写入数据的存储块的物理地址与写入数据的逻辑地址之间的映射关系。通过示例的方式,物理到逻辑表可以包括关于存储器装置的存储块BLK1的物理到逻辑映射信息。
存储块BLK1可以包括第一至第三字线WL1至WL3。物理到逻辑表可以包括第一到第三物理地址PA1至PA3。第一至第三物理地址PA1至PA3可以分别是第一至第三字线WL1至WL3的物理地址。存储块BLK1可以对应于物理到逻辑表。
存储块中包括的字线的数量和物理到逻辑表中包括的物理地址的数量不限于本实施例的数量。在实施例中,物理到逻辑表可以仅包括存储块中包括的字线的一些物理地址。也就是说,存储块可以对应于多个物理到逻辑表。
第一写入数据DATA1可以存储在存储块BLK1的第一字线WL1中。对应于第一写入数据DATA1的逻辑块地址LBA1可以被映射到作为第一字线WL1的物理地址的第一物理地址PA1。
映射到一个物理地址的逻辑地址的数量不限于本实施例的数量。例如,多个逻辑地址可以映射到一个物理地址。如果第一至第三写入数据DATA1至DATA3存储在第一字线WL1中,则第一至第三逻辑块地址LBA1至LBA3可以映射到第一物理地址PA1。
图8是示出根据本公开的实施例的存储器控制器,例如图6的存储器控制器200的操作800的示图。
参照图8,操作800可以包括步骤810、820和830。在下文中,对仅一个逻辑地址执行映射更新操作中的每一个。然而,注意的是,可以对与存储块中的多个物理地址相对应的多个逻辑地址执行映射更新操作中的每一个。
在步骤810,存储器控制器200可以执行第N映射更新操作。第N映射更新操作可以包括更新存储器装置(例如,图6的存储器装置100)的区域中存储的多个映射信息之中的第一映射信息。第一映射信息可以包括与存储器装置相关联的第一逻辑地址。第N映射更新操作可以基于对应于第一逻辑地址的第一物理地址来执行。
在各个实施例中,第N映射更新操作可以包括从存储器装置加载第一映射信息,基于对应于第一逻辑地址的第一物理地址修改所加载的第一映射信息,以及将所修改的第一映射信息写入存储器装置的区域中。
在步骤820,存储器控制器200可以从存储器装置预加载多个映射信息之中的第二映射信息。将参照图9A至图9C描述待预加载的第二映射信息的确定(或设置)。
在实施例中,如图9A所示,第二映射信息可以在第一映射信息之后。
在另一实施例中,如图9B和图9C所示,第二映射信息在多个映射信息的除了第一映射信息之外的剩余映射信息之中可以具有相对高的写入计数值。例如,在剩余映射信息之中,第二映射信息具有最高写入计数值。又例如,第二映射信息是具有大于阈值的写入计数值的剩余映射信息之一。
在步骤820,存储器控制器200可以基于与和存储器装置相关联的第二逻辑地址相对应的第二物理地址来修改预加载的第二映射信息。
在步骤830,存储器控制器200可以执行第(N+1)映射更新操作。第(N+1)映射更新操作可以包括基于与第二逻辑地址相对应的第二物理地址来更新第二映射信息。
在各个实施例中,第(N+1)映射更新操作可以包括将所修改的第二映射信息写入存储器装置的区域中。
在各个实施例中,当存储器装置的块的所有物理地址被分配时,可以执行映射更新操作中的每一个。可选地,当块完全在其中存储数据时,可以执行映射更新操作中的每一个。
如上所述,在执行第N映射更新操作之后,预加载并修改第二映射信息。然后,在第(N+1)映射更新操作期间,更新所修改的第二映射信息。因此,提高了第(N+1)映射更新操作的速度。
图9A是示出根据本公开的实施例的确定预加载映射信息的操作的示图。例如,图9A的确定预加载映射信息的操作可以通过图6的存储器控制器(即,映射管理器210)来执行。
参照图9A,逻辑块地址(LBA)区域空间可以包括第一至第三地址区域L1至L3。逻辑到物理(L2P)段可以包括第一至第六逻辑到物理段S1至S6。可以从图1的主机300接收LBA区域,并且LBA区域可以对应于图1的存储器装置100中的存储块的物理地址。存储器装置100的逻辑到物理段可以是指示逻辑地址和物理地址之间的关系的映射信息。
第一逻辑地址区域L1可以对应于第一和第二逻辑到物理段S1和S2。例如,第一逻辑地址区域L1可以包括多个逻辑块地址LBA。第一和第二逻辑到物理段S1和S2可以表示第一逻辑地址区域L1的多个逻辑块地址LBA与分别映射到多个逻辑块地址LBA的物理地址之间的映射关系。
第二逻辑地址区域L2可以对应于第三和第四逻辑到物理段S3和S4。第三逻辑地址区域L3可以对应于第五和第六逻辑到物理段S5和S6。对应于每个逻辑地址区域的逻辑到物理段的数量不限于本实施例的数量。
存储器装置中存储的逻辑到物理映射信息可以包括多个映射信息,也就是多个逻辑到物理段。预加载映射信息可以包括逻辑到物理映射信息中包括的至少一个或更多个逻辑到物理段。逻辑到物理段中的每一个可以包括至少一个逻辑地址。
在已经完成当前映射更新操作之后,可以在执行后续映射更新操作之前预加载预加载映射信息。预加载映射信息可以包括待预加载的至少一个或更多个逻辑到物理段。预加载映射信息可以包括预期将对其执行顺序写入操作的逻辑到物理段。在各个实施例中,预加载映射信息可以包括在执行了当前映射更新操作的逻辑到物理段之后的逻辑到物理段。对其执行顺序写入操作的逻辑地址可以是顺序逻辑地址。
由于顺序写入操作,在第二逻辑地址区域L2和第三逻辑地址区域L3中包括的逻辑地址可以是顺序逻辑地址。第三和第四逻辑到物理段S3和S4可以对应于第二逻辑地址区域L2,并且第五和第六逻辑到物理段S5和S6可以对应于第三逻辑地址区域L3。因此,第三和第四逻辑到物理段S3和S4以及第五和第六逻辑到物理段S5和S6可以是顺序逻辑到物理段。
因此,预加载映射信息可以包括相对于对其执行了当前映射更新操作的第三和第四逻辑到物理段S3和S4按顺序的第五和第六逻辑到物理段S5和S6。
在实施例中,至少一个或更多个逻辑到物理段中的每一个可以包括相对于已经对其执行顺序写入操作的逻辑地址按顺序的至少一个逻辑地址。例如,相对于第二逻辑地址区域L2中包括的逻辑地址按顺序的逻辑地址可以是第三逻辑地址区域L3中包括的逻辑地址。第五和第六逻辑到物理段S5和S6可以包括第三逻辑地址区域L3中包括的逻辑地址之中的至少一个逻辑地址。
图9B是示出根据本公开的实施例的确定预加载映射信息的操作的示图。例如,图9B的确定预加载映射信息的操作可以由图6的存储器控制器200(即,映射管理器210)来执行。
参照图9B,预加载映射信息可以包括预期要对其执行随机写入操作的逻辑到物理段。待对其执行随机写入操作的逻辑到物理段可能不是彼此按顺序的。
在各个实施例中,预加载映射信息可以包括从逻辑到物理映射信息中选择的至少一个逻辑到物理段。所选择的逻辑到物理段可以按照写入计数的降序来确定。写入计数可以是已经对相应的逻辑到物理段执行写入操作的总次数。可以针对相应的逻辑到物理段中的每个逻辑地址计算写入计数,并且可以确定相应的逻辑到物理段的写入计数。
例如,第一逻辑到物理段S1的写入计数可以是50。第二逻辑到物理段S2的写入计数可以是20。第三逻辑到物理段S3的写入计数可以是80。第四逻辑到物理段S4的写入计数可以是40。第五逻辑到物理段S5的写入计数可以是40。第六逻辑到物理段S6的写入计数可以是100。第六逻辑到物理段S6具有最高写入计数,第三逻辑到物理段S3具有第二高的写入计数,并且第一逻辑到物理段S1具有第三高的写入次数。第二逻辑到物理段S2具有最低写入计数。
例如,可以选择第六逻辑到物理段S6、第三逻辑到物理段S3和第一逻辑到物理段S1作为预加载映射信息。所选择的逻辑到物理段的数量不限于本实施例的数量。
在实施例中,预加载映射信息可以包括具有大于阈值的写入计数的逻辑到物理段。
例如,阈值可以是50。因此,可以选择第六逻辑到物理段S6、第三逻辑到物理段S3和第一逻辑到物理段S1作为预加载映射信息。
图9C是示出根据本公开的实施例的确定预加载映射信息的操作的示图。例如,图9C的确定预加载映射信息的操作可以由图6的存储器控制器200(即,映射管理器210)来执行。
参照图9C,可以按段组来计算写入计数。
逻辑到物理映射信息中的多个逻辑到物理段可以被划分为多个段组。预加载映射信息可以包括多个段组之中的至少一个段组。
例如,第一至第六逻辑到物理段S1至S6可以被划分为第一至第三段组Group 1至Group 3。第一段组Group 1可以包括第一和第二逻辑到物理段S1和S2。第二段组Group 2可以包括第三和第四逻辑到物理段S3和S4。第三段组Group 3可以包括第五和第六逻辑到物理段S5和S6。每个段组中包括的逻辑到物理段的数量不限于本实施例的数量。
在各个实施例中,可以选择至少一个段组作为预加载映射信息。多个段组中的每一个可以具有写入计数。写入计数可以是已经对段组执行写入操作的总次数。写入计数可以通过已经对其写入数据的逻辑地址的数量来计算。
例如,第一段组Group 1的写入计数可以是第一和第二逻辑到物理段S1和S2的各个写入计数的总和。第一段组Group 1的写入计数可以是70(=50+20)。第二段组Group 2的写入计数可以是120(=80+40)。第三段组Group 3的写入计数可以是140(=40+100)。
在各个实施例中,可以选择具有最高写入计数的第三段组Group 3作为待包括在预加载映射信息中的至少一个段组。所选择的段组的数量不限于本实施例的数量。因此,预加载映射信息可以包括属于第三段组Group 3的第五和第六逻辑到物理段S5和S6。
在实施例中,预加载映射信息可以包括具有大于阈值的写入计数的至少一个段组。
例如,阈值可以是130。因此,可以选择第三段组Group 3作为预加载映射信息。
图10是示出根据本公开的实施例的映射更新操作的示图。例如,图10的映射更新操作可以由图6的存储器控制器200(即,映射管理器210)来执行。
参照图10,响应于来自主机(例如,图1的主机300)的第一写入请求,第一写入数据可以存储在与第一逻辑地址区域L1相对应的存储器装置(例如,图1和图6的存储器装置100)的物理地址中。响应于主机的第二写入请求,第二写入数据可以存储在与第二逻辑地址区域L2相对应的存储器装置的物理地址中。第一逻辑地址区域L1中的逻辑地址可以包括在第三逻辑到物理段S3中。第二逻辑地址区域L2中的逻辑地址可以包括在第五逻辑到物理段S5中。
图6的预加载映射信息存储装置220可以在映射管理器210的控制下,存储在执行映射更新操作之前预期被更新的预加载映射信息。例如,预加载映射信息可以包括如图9A和图9B所示的第五和第六逻辑到物理段S5和S6。
物理到逻辑映射信息存储装置230可以存储物理到逻辑映射信息。
在映射更新操作期间,映射更新缓冲器240可以存储待更新的逻辑到物理映射信息。待更新的逻辑到物理映射信息可以是待根据物理到逻辑映射信息存储装置230中存储的物理到逻辑映射信息来修改的逻辑到物理映射信息。
对应于写入数据的逻辑地址可以用于修改预加载映射信息或用于生成物理到逻辑映射信息。在实施例中,如果对应于写入数据的逻辑地址用于修改预加载映射信息,则逻辑地址可以不用于生成物理到逻辑映射信息。
对应于第一写入请求的第一逻辑地址区域L1可以不对应于第五逻辑到物理段S5。因此,第一逻辑地址区域L1可以不用于修改预加载映射信息的第五逻辑到物理段S5。第一逻辑地址区域L1可以用于生成物理到逻辑映射信息。
对应于第二写入请求的第二逻辑地址区域L2可以对应于第五逻辑到物理段S5。因此,第二逻辑地址区域L2可以用于修改预加载映射信息的第五逻辑到物理段S5。在实施例中,第二逻辑地址区域L2可以用于生成物理到逻辑映射信息。在另一实施例中,可以不生成对应于第二逻辑地址区域L2的物理到逻辑映射信息。
在实施例中,在映射更新操作期间,预加载映射信息中修改的第五逻辑到物理段S5可以用于更新存储器装置100中存储的逻辑到物理映射信息。在映射更新操作期间,预加载映射信息中未修改的第六逻辑到物理段S6可以不用于更新存储器装置中存储的逻辑到物理映射信息。
在实施例中,物理到逻辑映射信息可以用于修改存储在映射更新缓冲器240中的逻辑到物理映射信息。例如,使用第一逻辑地址区域L1生成的物理到逻辑映射信息可以用于修改逻辑到物理映射信息。
此外,可以不使用物理到逻辑映射信息修改通过预加载映射信息已经更新的逻辑到物理映射信息。例如,使用第二逻辑地址区域L2生成的物理到逻辑映射信息可以不用于修改逻辑到物理映射信息。这是因为在预加载映射信息中已经修改对应于第二逻辑地址区域L2的逻辑到物理映射信息。
在映射更新缓冲器240中存储的逻辑到物理映射信息可以基于物理到逻辑映射信息存储装置230中存储的物理到逻辑映射信息来修改。在映射更新操作期间,所修改的逻辑到物理信息可以用于更新存储器装置100中存储的逻辑到物理映射信息。
图11A至图11C是示出根据本公开的实施例的存储器控制器的操作的流程图。例如,图11A至图11C的操作可以通过图6的存储器控制器200(即,映射管理器210)来执行。
图11A示出包括确定预加载映射信息和预加载所确定的映射信息的操作1110。
参照图11A,操作1110可以包括步骤1112和1114。如图8和图9A所示,操作1110可以在映射更新操作之后并且在下一映射更新操作之前执行。在步骤1112,存储器控制器200可以确定存储器装置100中存储的逻辑到物理映射信息之中的预加载映射信息。
在步骤1114,存储器控制器200可以从存储器装置100获得预加载映射信息。也就是说,存储器控制器200可以从存储器装置100预加载所确定的映射信息。
图11B示出包括修改预加载映射信息的操作1120。通过示例的方式,操作1120可以响应于从主机(例如,图1的主机300)接收的写入请求来执行。注意的是,操作1120可以响应于诸如读取请求或取消映射请求的其它请求来类似地执行。
参照图11B,操作1120可以包括步骤1121至1125。在步骤1121,存储器控制器200可以从主机300接收写入数据和对应于写入数据的逻辑地址。在步骤1122,存储器控制器200可以搜索图6的预加载映射信息存储装置220。在步骤1123,存储器控制器200可以确定逻辑地址是否包括在预加载映射信息存储装置220中。也就是说,存储器控制器200可以确定是否预加载了对应于逻辑地址的映射信息。
当确定预加载了对应于逻辑地址的映射信息(1123,是)时,在步骤1124,存储器控制器200可以基于逻辑地址修改预加载的映射信息。此外,存储器控制器200可以修改诸如有效页面计数的元数据。
当确定未预加载对应于逻辑地址的映射信息(1123,否)时,在步骤1125,存储器控制器200可以将逻辑地址存储在物理到逻辑(P2L)映射信息存储装置230中。
图11C示出包括更新映射信息的操作1130。当分配了存储器装置的块的所有物理地址时,可以执行操作1130。可选地,当块完全在其中存储数据时,可以执行操作1130。
参照图11C,操作1130可以包括步骤1131至1133和1135。可以对图6的预加载映射信息存储装置220中存储的修改的映射信息执行步骤1135。可以对逻辑到物理映射信息存储装置230中存储的、不对应于预加载映射信息存储装置220中的修改的映射信息的逻辑地址执行步骤1131至1133。
在步骤1131,存储器控制器200可以响应于来自主机300的请求,从存储器装置100的逻辑到物理(L2P)映射信息存储装置111加载对应于逻辑地址的映射信息。在步骤1132,存储器控制器200可以基于对应于逻辑地址的物理地址来修改所加载的映射信息。在步骤1133,存储器控制器200可以将修改的映射信息传送至存储器装置100,使得修改的映射信息被写入在存储器装置100的L2P映射信息存储装置111中。
在步骤1135,存储器控制器200可以基于对应于写入数据的逻辑地址来更新修改的预加载映射信息。也就是说,存储器控制器200可以将预加载映射信息存储装置220中存储的修改的预加载映射信息传送至存储器装置100,使得修改的预加载映射信息被写入在存储器装置100的逻辑到物理映射信息存储装置111中。
图12是示出根据本公开的实施例的存储器控制器1000的示图。存储器控制器1000可以包括如本文所示的组件,并且可以另外包括如图1和图6所示的存储器控制器200的组件。
参照图12,存储器控制器1000联接至主机(例如,图1的主机300)和存储器装置(例如,图1的存储器装置100)。响应于来自主机的请求,存储器控制器1000可以访问存储器装置。例如,存储器控制器1000可以控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以提供存储器装置和主机之间的接口。存储器控制器1000可以驱动固件用于控制存储器装置。
存储器控制器1000可以包括处理器1010、存储器缓冲器电路1020、错误校正码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以在存储器控制器1000的组件之间提供通道。
处理器1010可以控制存储器控制器1000的全部操作,并且执行逻辑操作。处理器1010可以通过主机接口1040与主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器电路1020通信。处理器1010可以使用存储器缓冲器电路1020作为操作存储器、高速缓存存储器或缓冲存储器来控制存储器装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA并使用映射表将LBA转换为PBA。根据映射的单元,可以以各种方式修改使用FTL的地址映射方法。代表性地址映射方法可以包括页面映射方法、块映射方法以及混合映射方法。
处理器1010可以将从主机接收的数据随机化。例如,处理器1010可以使用随机化种子将从主机接收的数据随机化。经随机化的数据可以作为待存储的数据被提供至存储器装置,并且可以被编程到存储器装置的存储器单元阵列。
在读取操作期间,处理器1010可以将从存储器装置100接收的数据去随机化。例如,处理器1010可以使用去随机化种子将从存储器装置接收的数据去随机化。可以将去随机化的数据输出至主机。
在实施例中,处理器1010可以驱动软件或固件来执行随机化操作或去随机化操作。
存储器缓冲器电路1020可以用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器电路1020可以存储待由处理器1010运行的代码和命令。存储器缓冲器电路1020可以存储待由处理器1010处理的数据。存储器缓冲器电路1020可以包括静态随机存取存储器(RAM)(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行错误校正。ECC电路1030可以基于待通过存储器接口1060被写入到存储器装置的数据执行ECC编码操作。经ECC编码的数据可以通过存储器接口1060被传送至存储器装置。ECC电路1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码操作。例如,ECC电路1030可以作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与主机通信。主机接口1040可以使用诸如以下的各种通信方法中的至少一种执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法。
缓冲器控制电路1050可以在处理器1010的控制下控制存储器缓冲器电路1020。
存储器接口1060可以在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。
例如,存储器控制器1000可以既不包括存储器缓冲器电路1020也不包括缓冲器控制电路1050。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从存储器控制器1000中设置的非易失性存储器装置(例如,只读存储器)加载代码。可选地,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以被划分成控制总线和数据总线。数据总线可以在存储器控制器1000中传送数据。控制总线可以在存储器控制器1000中传送诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离,并且可以既不相互干扰也不相互影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器电路1020和存储器接口1060。
图13是示出应用了根据本公开的实施例的存储装置的存储卡系统2000的框图。
参照图13,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以提供存储器装置2100和主机之间的接口。存储器控制器2100可以驱动固件,以用于控制存储器装置2200。存储器控制器2100可以以与参照图1和图6描述的存储器控制器200的方式相同的方式来实现。
在实施例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正码(ECC)电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于特定通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi)、蓝牙以及高速非易失性存储器(NVMe)协议。在实施例中,连接器2300可以由上述各种通信协议中的至少一种来定义。
在实施例中,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
在实施例中,存储器控制器2100和存储器装置2200可以被集成在单个半导体装置中以形成存储卡。例如,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA),紧凑型闪存(CF)卡,智能媒体卡(例如,SM或SMC),记忆棒,多媒体卡(例如,MMC、RS-MMC或微型MMC),安全数字(SD)卡(例如,SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
图14是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统3000的框图。
参照图14,SSD系统3000可以包括主机3100和SSD 3200。SSD 3200可以通过信号连接器3001与主机3100交换信号SIG,并且可以通过电源连接器3002接收电力PWR。SSD 3200可以包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以执行上面参照图1和图6描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在实施例中,信号SIG可以是基于主机3100与SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如以下的各种接口中的至少一个定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi)、蓝牙以及高速非易失性存储器(NVMe)接口。
辅助电源3230可以通过电源连接器3002联接到主机3100。辅助电源3230可以被供应来自主机3100的电力PWR,并且可以用电力PWR进行充电。当未顺利地提供来自主机3100的电力时,辅助电源3230可以供应SSD 3200的电力。在实施例中,辅助电源3230可以位于SSD 3200内部或位于SSD 3200外部。例如,辅助电源3230可以设置在主板上,并且可以向SSD 3200供应辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率双倍数据速率(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器,或诸如铁电RAM(FRAM)、电阻式RAM(ReRAM)、自旋转移力矩磁性RAM(STT-MRAM)和相变RAM(PRAM)的非易失性存储器。
图15是示出应用了根据本公开的实施例的存储装置的用户系统4000的框图。
参照图15,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行用户系统4000中包括的组件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可以包括用于控制用户系统4000中包括的组件的控制器、接口和图形引擎。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3 SDRAM、低功率DDR(LPDDR)SDRAM和LPDDR3 SDRAM的易失性随机存取存储器(RAM),或诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁性RAM(MRAM)和铁电RAM(FRAM)的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可以基于堆叠式封装(POP)来封装并且可以被设置为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙或无线保真(Wi-Fi)通信。在实施例中,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以在其中存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储模块4400中存储的数据传送至应用处理器4100。在实施例中,存储模块4400可以被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可以被设置为可移动存储介质(即,可移动驱动器),诸如用户系统4000的存储卡或外部驱动器。
在实施例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以以与上面参照图1和图6描述的存储器装置100的方式相同的方式操作。存储模块4400可以以与上面参照图1和图6描述的存储装置50的方式相同的方式操作。
用户接口4500可以包括用于将数据或指令输入到应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置的用户输入接口。用户接口4500可以进一步包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和显示器的用户输出接口。
本公开的各个实施例可以提供一种具有提高的映射更新速度的存储装置,以及操作该存储装置的方法。
虽然已经公开了本公开的实施例,但是本领域技术人员将理解的是在不脱离本公开的范围和精神的情况下,可以进行各种修改、添加和替换。
因此,本公开的范围必须由所附权利要求和权利要求的等同方案来限定,而不是由前面的描述来限定。
在以上讨论的实施例中,可以选择性地执行或跳过所有步骤。另外,每个实施例中的步骤可能不总是以常规顺序执行。此外,本说明书和附图中公开的实施例旨在帮助本领域的普通技术人员更清楚地理解本公开,而不是旨在限制本发明的范围。也就是说,本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围可以进行各种修改。
已经参照附图描述了本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本公开的精神来解释,而不限制本公开的主题。应理解的是,本文描述的基本发明构思的许多变化和修改仍将落入如所附权利要求书及其等同方案中限定的本公开的精神和范围内。
Claims (20)
1.一种数据存储装置,包括:
存储器控制器,具有映射管理器和预加载映射信息存储装置;以及
存储器装置,具有逻辑到物理映射信息,
其中所述存储器控制器响应于映射更新操作,确定预加载映射信息并且从所述存储器装置获得预加载映射信息,然后在对所述逻辑到物理映射信息执行后续映射更新操作之前将所述预加载映射信息存储在所述预加载映射信息存储装置中,并且
其中所述预加载映射信息包括待更新的逻辑到物理映射信息。
2.根据权利要求1所述的数据存储装置,其中当从主机接收写入数据和所述写入数据的逻辑地址时,所述映射管理器基于待存储所述写入数据的物理地址来更新所述预加载映射信息之中的、与所述写入数据的逻辑地址相对应的逻辑到物理映射信息。
3.根据权利要求2所述的数据存储装置,
其中所述存储器装置中存储的所述逻辑到物理映射信息包括多个逻辑到物理段,
其中所述预加载映射信息包括所述多个逻辑到物理段中的至少一个或更多个逻辑到物理段,并且
其中所述映射管理器更新包括所述写入数据的逻辑地址的逻辑到物理段。
4.根据权利要求2所述的数据存储装置,其中所述映射管理器在执行将所述写入数据存储在所述存储器装置中的编程操作的同时,更新所述预加载映射信息之中的、与所述写入数据的逻辑地址相对应的所述逻辑到物理映射信息。
5.根据权利要求2所述的数据存储装置,进一步包括:物理到逻辑映射信息存储装置,存储物理到逻辑映射信息,所述物理到逻辑映射信息是待存储所述写入数据的存储块的物理地址和所述写入数据的逻辑地址之间的映射关系。
6.根据权利要求5所述的数据存储装置,其中当分配了对应于所述存储块的所有物理地址时,所述映射管理器执行所述映射更新操作。
7.根据权利要求5所述的数据存储装置,其中当所述存储块是已经完全写入数据的写入完成块时,所述映射管理器执行所述映射更新操作。
8.根据权利要求7所述的数据存储装置,进一步包括:映射更新缓冲器,存储在所述存储器装置中存储的所述逻辑到物理映射信息之中待更新的映射信息。
9.根据权利要求8所述的数据存储装置,其中所述映射管理器基于所述物理到逻辑映射信息更新与所述预加载映射信息不同的逻辑到物理映射信息。
10.根据权利要求1所述的数据存储装置,
其中所述存储器装置中存储的所述逻辑到物理映射信息包括多个逻辑到物理段,以及
其中所述预加载映射信息包括所述多个逻辑到物理段中的至少一个或更多个逻辑到物理段。
11.根据权利要求10所述的数据存储装置,其中所述至少一个或更多个逻辑到物理段包括包含相对于响应于从主机接收的顺序数据的写入请求先前存储的数据的逻辑地址按顺序的逻辑地址的逻辑到物理段。
12.根据权利要求10所述的数据存储装置,其中所述至少一个或更多个逻辑到物理段包括相对于所述映射更新操作之前已经对其执行映射更新操作的逻辑到物理段按顺序的逻辑到物理段。
13.根据权利要求10所述的数据存储装置,
其中所述至少一个或更多个逻辑到物理段包括在所述多个逻辑到物理段之中按照写入计数从最高到最低的顺序选择的逻辑到物理段,并且
其中所述写入计数是数据已经写入在所述多个逻辑到物理段的每一个中的逻辑地址的数量。
14.根据权利要求1所述的数据存储装置,
其中所述存储器装置中存储的所述逻辑到物理映射信息包括多个段组,每个段组包括至少一个逻辑到物理段,
其中所述预加载映射信息包括在所述多个段组之中按照写入计数从最高到最低的顺序选择的至少一个段组,并且
其中所述写入计数是数据已经写入在所述多个段组的每一个中的逻辑地址的数量。
15.根据权利要求1所述的数据存储装置,其中所述映射管理器对所述预加载映射信息中包括的至少一个逻辑到物理段中包括的逻辑地址取消映射。
16.一种存储装置,包括:
存储器装置,存储多个逻辑到物理段,所述多个逻辑到物理段包括从主机提供的数据的逻辑地址与存储所述数据的物理地址之间的映射信息;以及
存储器控制器,响应于映射更新操作,在执行更新所述多个逻辑到物理段的后续映射更新操作之前,确定待更新的至少一个或更多个逻辑到物理段,从所述存储器装置获得所述至少一个或更多个逻辑到物理段,并且将所述至少一个或更多个逻辑到物理段存储在预加载映射信息存储装置中。
17.根据权利要求16所述的存储装置,其中当从所述主机接收到写入数据和所述数据的逻辑地址时,所述存储器控制器更新所述预加载映射信息存储装置中的逻辑到物理段。
18.根据权利要求17所述的存储装置,其中所述存储器控制器在执行将所述写入数据存储在所述存储器装置中的编程操作的同时更新所述预加载映射信息存储装置中的所述逻辑到物理段。
19.根据权利要求16所述的存储装置,其中所述至少一个或更多个逻辑到物理段包括具有相对于响应于从所述主机接收的顺序数据的写入请求先前存储的数据的逻辑地址按顺序的逻辑地址的逻辑到物理段。
20.根据权利要求16所述的存储装置,其中所述至少一个或更多个逻辑到物理段包括在所述多个逻辑到物理段之中按照写入计数从最高到最低的顺序选择的逻辑到物理段,并且
其中所述写入计数是数据已经写入在所述多个逻辑到物理段的每一个中的逻辑地址的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180166635A KR20200077276A (ko) | 2018-12-20 | 2018-12-20 | 저장 장치 및 그 동작 방법 |
KR10-2018-0166635 | 2018-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352855A CN111352855A (zh) | 2020-06-30 |
CN111352855B true CN111352855B (zh) | 2023-08-11 |
Family
ID=71099337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910926163.5A Active CN111352855B (zh) | 2018-12-20 | 2019-09-27 | 具有提高的映射更新速度的存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11119934B2 (zh) |
KR (1) | KR20200077276A (zh) |
CN (1) | CN111352855B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11481119B2 (en) * | 2019-07-15 | 2022-10-25 | Micron Technology, Inc. | Limiting hot-cold swap wear leveling |
KR20220048871A (ko) | 2020-10-13 | 2022-04-20 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20220075945A (ko) * | 2020-11-30 | 2022-06-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11947818B2 (en) * | 2022-04-20 | 2024-04-02 | Silicon Motion, Inc. | Method for accessing flash memory module and associated flash memory controller and electronic device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512348A (zh) * | 2002-11-05 | 2004-07-14 | 松下电器产业株式会社 | 用于存储器管理的设备和方法 |
CN102473140A (zh) * | 2009-07-17 | 2012-05-23 | 株式会社东芝 | 存储器管理装置 |
CN103026330A (zh) * | 2010-06-08 | 2013-04-03 | 桑迪士克以色列有限公司 | 具有预加载的内容的数据存储设备 |
CN107690630A (zh) * | 2015-04-20 | 2018-02-13 | 西部数据技术公司 | 计算设备中的桥配置 |
CN108804023A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650416B2 (en) * | 2003-08-12 | 2010-01-19 | Riverbed Technology | Content delivery for client-server protocols with user affinities using connection end-point proxies |
KR20150006614A (ko) * | 2013-07-09 | 2015-01-19 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102148889B1 (ko) | 2014-08-18 | 2020-08-31 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 |
KR102320864B1 (ko) | 2015-03-24 | 2021-11-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
CN108877856B (zh) * | 2017-05-10 | 2021-02-19 | 慧荣科技股份有限公司 | 储存装置、记录方法以及预载方法 |
-
2018
- 2018-12-20 KR KR1020180166635A patent/KR20200077276A/ko active Search and Examination
-
2019
- 2019-09-11 US US16/567,449 patent/US11119934B2/en active Active
- 2019-09-27 CN CN201910926163.5A patent/CN111352855B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512348A (zh) * | 2002-11-05 | 2004-07-14 | 松下电器产业株式会社 | 用于存储器管理的设备和方法 |
CN102473140A (zh) * | 2009-07-17 | 2012-05-23 | 株式会社东芝 | 存储器管理装置 |
CN103026330A (zh) * | 2010-06-08 | 2013-04-03 | 桑迪士克以色列有限公司 | 具有预加载的内容的数据存储设备 |
CN107690630A (zh) * | 2015-04-20 | 2018-02-13 | 西部数据技术公司 | 计算设备中的桥配置 |
CN108804023A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Non-Patent Citations (1)
Title |
---|
Recyclable pufs: Logically reconfigurable pufs;Katzenbeisser S;《Journal of Cryptographic Engineering》;20111231;177-186 * |
Also Published As
Publication number | Publication date |
---|---|
CN111352855A (zh) | 2020-06-30 |
KR20200077276A (ko) | 2020-06-30 |
US20200201774A1 (en) | 2020-06-25 |
US11119934B2 (en) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461227B2 (en) | Storage device and operating method thereof | |
CN109388578B (zh) | 存储装置及其操作方法 | |
US11543984B2 (en) | Memory controller, storage device and operating method thereof | |
CN111435289B (zh) | 映射数据访问性能提高的存储器控制器及其操作方法 | |
CN110502449B (zh) | 存储装置及其操作方法 | |
CN111352855B (zh) | 具有提高的映射更新速度的存储装置及其操作方法 | |
CN111177020B (zh) | 存储装置及其操作方法 | |
US11360900B2 (en) | Storage device and method of operating the same | |
US11449417B2 (en) | Memory controller performing host-aware performance booster mode and method of operating the same | |
CN111444115B (zh) | 存储装置及其操作方法 | |
CN110175133B (zh) | 存储装置及其操作方法 | |
CN111105832A (zh) | 存储装置和操作存储装置的方法 | |
CN114860622A (zh) | 存储装置及操作存储装置的方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
US20190324693A1 (en) | Storage device and operating method thereof | |
CN111258931A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
US11543998B2 (en) | Memory controller for controlling different numbers of memory devices and storage device including the same | |
CN111506515B (zh) | 存储器控制器及其操作方法 | |
CN112309446A (zh) | 存储设备和操作存储设备的方法 | |
US11269767B2 (en) | Memory controller and operating method thereof | |
US11688464B2 (en) | Storage device and method of operating the same | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
CN111190535B (zh) | 存储装置及其操作方法 | |
CN113764011A (zh) | 存储装置及其操作方法 | |
CN117198366A (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 |