CN111444115B - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111444115B CN111444115B CN201910961997.XA CN201910961997A CN111444115B CN 111444115 B CN111444115 B CN 111444115B CN 201910961997 A CN201910961997 A CN 201910961997A CN 111444115 B CN111444115 B CN 111444115B
- Authority
- CN
- China
- Prior art keywords
- mapping data
- memory
- mapping
- original
- data segment
- 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
Images
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0656—Data buffering arrangements
-
- 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
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
-
- 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/08—Address circuits; Decoders; Word-line control 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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
Abstract
本公开涉及一种存储器控制器,该存储器控制器可以包括:映射数据处理器,从存储器装置接收原始映射数据段并且生成模式信号;原始映射数据存储装置,将原始映射数据段顺序地存储在与源地址对应的源存储区域中;转换映射数据存储装置,将原始映射数据段存储在与目标地址对应的目标存储区域中;以及映射数据转换器,控制转换映射数据存储装置,使得当任意一个原始映射数据段被存储在对应于第一目标地址的第一目标存储区域中时,将该任意一个原始映射之后的原始映射数据段存储在对应于第二目标地址的第二目标存储区域中,该第二目标地址通过将预定偏移添加到第一目标地址而获得。
Description
相关申请的交叉引用
本申请要求于2019年1月15日提交的申请号为10-2019-0005353的韩国专利申请的优先权,其全部内容通过引用并入本文用于所有目的。
技术领域
本公开技术的各个实施例总体涉及一种电子装置,更具体地,涉及一种存储装置和操作该存储装置的方法。
背景技术
存储装置指的是用于永久地或临时地存储数据的电子组件。每个存储装置可以包括一个或多个存储介质以存储数据,并且可以进一步包括被配置为控制存储器装置以存储或检索数据的存储器控制器。可以基于存储介质的类型对存储装置进行分类。例如,硬盘驱动器(HDD)使用磁盘作为存储介质,并且固态驱动器(SSD)或存储卡使用诸如易失性存储器装置和非易失性存储器装置的半导体存储器装置作为存储介质。
易失性存储器装置是仅在被供电时才能保留其数据的存储器装置。因此,这种易失性存储器装置在没有电力的情况下会丢失其数据。易失性存储器装置的示例包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
另一方面,非易失性存储器装置是即使在没有电力的情况下也能够保留所存储的数据的存储器装置。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)以及闪速存储器。
发明内容
本公开技术的各个实施例涉及一种被配置为执行映射数据转换操作的存储装置,以及操作该存储装置的方法。
本公开技术的实施例可以提供一种存储器控制器,包括:映射数据处理器,被配置为从存储器装置接收原始映射数据段并生成模式信号;原始映射数据存储装置,被配置为将原始映射数据段顺序地存储在分别对应于多个源地址的源存储区域中;转换映射数据存储装置,被配置为将原始映射数据段存储在分别对应于多个目标地址的目标存储区域中;以及映射数据转换器,被配置为控制转换映射数据存储装置,使得响应于模式信号,当顺序地存储在源存储区域中的原始映射数据段的任意一个原始映射数据段被存储在对应于多个目标地址中的第一目标地址的第一目标存储区域中时,将任意一个原始映射数据段之后的原始映射数据段存储在对应于第二目标地址的第二目标存储区域中,该第二目标地址通过将预定偏移添加到第一目标地址来获得。
本公开技术的实施例可以提供一种存储器控制器,包括:映射数据处理器,被配置为从存储器装置接收原始映射数据段,并且生成模式信号以用于请求生成通过转换原始映射数据段而获得的转换映射数据段;原始映射数据存储装置,被配置为存储具有第一数据大小的原始映射数据段;转换映射数据存储装置,被配置为存储具有与第一数据大小不同的第二数据大小的转换映射数据段;以及映射数据转换器,被配置为响应于模式信号控制转换映射数据存储装置以将原始映射数据段的一部分存储为转换映射数据段。
本公开技术的实施例可以提供一种存储装置,包括:存储器装置,被配置为存储逻辑到物理映射表,该逻辑到物理映射表指示从主机提供的数据的逻辑地址与其中存储数据的存储器装置的物理地址之间的映射关系;以及存储器控制器,被配置为从存储器装置接收包括在逻辑到物理映射表中的原始映射数据段,生成模式信号以用于请求生成通过转换原始映射数据段而获得的转换映射数据段,响应于模式信号将原始映射数据段顺序地存储在分别对应于多个源地址的源存储区域中,并且当原始映射数据段中的所选择原始映射数据段被存储在对应于多个目标地址中的第一目标地址的目标存储区域中时,将在所选择原始映射数据段之后的原始映射数据段存储在对应于第二目标地址的目标存储区域中,该第二目标地址通过将预定偏移添加到多个目标地址中的第一目标地址而获得。多个源地址可以以与预定偏移的间隔不同的偏移间隔增加。
本公开技术的实施例可以提供一种存储装置,包括:存储器装置,被配置为存储逻辑到物理映射表,该逻辑到物理映射表指示从主机提供的数据的逻辑地址与其中存储数据的存储器装置的物理地址之间的映射关系;以及存储器控制器,被配置为从存储器装置接收逻辑到物理映射表中包括的原始映射数据段,生成模式信号以用于请求生成通过转换原始映射数据段而获得的转换映射数据段,响应于模式信号将原始映射数据段的一部分存储为转换映射数据段,其中原始映射数据段具有第一数据大小,并且其中转换映射数据段具有第二数据大小,第二数据大小与第一数据大小不同。
本公开技术的实施例可以提供一种包括存储器控制器的存储装置,该存储器控制器包括:映射高速缓存,存储用于逻辑到物理映射的高速缓存段;存储器映射电路,被配置为将高速缓存段从一种格式转换为另一种格式;以及存储器接口,被配置为基于所转换的高速缓存段来访问存储器装置。通过存储器映射电路的高速缓存段的转换包括将附加信息添加到一种格式的高速缓存段以匹配另一种格式。通过存储器映射电路的高速缓存段的转换包括跳过数据段的预定数量的字节,使得该数据段的预定数量的字节和一种格式的数据段的字节数量的总和与其他格式的数据段的字节数量匹配。
附图说明
图1是示出基于本公开技术的实施例的存储装置的示例的示图。
图2是示出图1的存储器装置的示例配置的示图。
图3是示出基于本公开技术的实施例的图2的存储器单元阵列的示例的示图。
图4是示出基于本公开技术的实施例的图3的存储块BLK1至BLKz中的任意一个存储块BLKa的电路图。
图5是示出基于本公开技术的实施例的图3的存储块BLK1到BLKz中的任意一个存储块BLKb的电路图。
图6A示出了基于本公开技术的实施例的存储器控制器的示例操作。
图6B示出了基于本公开技术的实施例的存储器控制器的示例操作。
图7是用于描述图6A和图6B的映射数据转换器的示图。
图8示出了图7的第一映射数据转换器的示例操作。
图9示出了图7的第二映射数据转换器的示例操作。
图10是示出基于本公开技术的实施例的存储器控制器的操作的流程图。
图11是示出基于本公开技术的实施例的存储器控制器的操作的流程图。
图12是用于描述基于本公开技术的实施例的存储器控制器的操作的流程图。
图13是示出基于本公开技术的实施例的存储器控制器的操作的流程图。
图14是示出基于本公开技术的实施例的图1的存储器控制器的示例的示图。
图15是示出包括基于本公开技术的实施例实施的存储装置的存储卡系统的框图。
图16是示出包括基于本公开技术的实施例实施的存储装置的固态驱动器(SSD)系统的框图。
图17是示出包括基于本公开技术的实施例实施的存储装置的用户系统的框图。
具体实施方式
该专利文献中公开的技术可以在实施例中实现,以提供可以执行映射信息转换以转换映射格式的存储装置。
图1是示出基于本公开技术的实施例的存储装置50的示图。
参照图1,存储装置50可包括存储器装置100和被配置为控制存储器装置100的操作的存储器控制器200。存储装置50用于根据来自诸如蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统的主机300的请求来存储和检索。
存储装置50可以根据主机接口而制造为各种类型的存储装置中的任意一种,该主机接口是主机300与存储装置50之间的通信接口。例如,数据存储装置50可以被配置为诸如以下的各种存储装置中的任意一种:SSD、MMC、eMMC、RS-MMC或微型-MMC型多媒体卡,SD、迷你-SD、微型-SD型的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以以各种封装类型中的任意一种形式来制造。例如,存储装置50可以以诸如以下的各种封装类型中的任意一种形式来制造:堆叠封装(POP)类型、系统级封装(SIP)类型、片上系统(SOC)类型、多芯片封装(MCP)类型、板上芯片(COB)类型、晶圆级制造封装(WFP)类型和晶圆级堆叠封装(WSP)类型。
存储器装置100可以是存储待处理的数据和/或待执行的指令的存储空间。存储器装置100可以包括读取和写入存储器装置100所需的逻辑。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括被配置为在其中存储数据的多个存储器单元。
可以使存储器单元能够存储多于单个位信息。例如,单层单元(SLC)为每个单元存储单个数据位,多层单元(MLC)为每个单元存储两个数据位,三层单元(TLC)为每个单元存储三个数据位,并且四层单元(QLC)为每个单元存储四个数据位。
存储器单元阵列可包括多个存储块。每个存储块可以包括多个页面,并且每个页面对应于多个存储器单元。在本公开技术的实施例中,基于页面来执行读取和编程(写入)操作,并且基于块来执行擦除操作。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功耗DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。在该专利文献中,为了便于说明,假设存储器装置100是NAND闪速存储器。
通过向存储器控制器200提供命令/地址信号,基于来自用户/主机的请求,存储器控制器200可以访问存储器装置100。换言之,存储器装置100可对由地址选择的区域执行与命令对应的操作。例如,存储器件100可以根据用户/主机请求的任务来执行写入(编程)操作、读取操作和擦除操作。在编程操作期间,存储器控制器200可以将数据写入存储器装置100中的由地址选择的存储器单元区域。在读取操作期间,存储器控制器200可以从存储器装置100中的由地址选择的区域读取数据。在擦除操作期间,存储器控制器200可以从存储器装置100中的由地址选择的区域擦除数据。
在实施例中,存储器装置100可以将逻辑到物理映射表存储在包括在存储器单元阵列中的存储块中。在另一实施例中,逻辑到物理映射表可以保留在存储器装置100外部的数据存储器中。逻辑到物理映射表可以包括映射信息,该映射信息可以用于将逻辑地址映射到物理地存储数据的存储器装置100的物理地址。包括在逻辑到物理映射表中的原始映射数据可以被划分为多个原始映射数据段。
在实施例中,每个原始映射数据段可以包括物理地址信息,该物理地址信息指示与从主机300提供的数据的逻辑地址相对应的物理地址。在实施例中,每个原始映射数据段可以进一步包括与物理地址信息有关的附加信息。
存储器控制器200可以控制存储装置50的全部操作。
当向存储装置50供电时,存储器控制器200可以执行可以是固件形式的某些计算机编程指令。在存储器装置100是闪速存储器装置的情况下,存储器控制器200可以执行诸如闪速转换层(FTL)的固件,以用于控制主机300和存储器装置100之间的通信。在实施方案中,闪存转换层(FTL)可以位于存储器控制器200中,以实现逻辑到物理映射、垃圾收集、损耗均衡管理和坏块管理。例如,FTL可以提供主机接口层和闪存接口层之间的接口。
在实施例中,在从主机300接收到数据和相应逻辑块地址(LBA)时,存储器控制器200可以将LBA转换为物理块地址(PBA),该物理块地址(PBA)指示存储器装置100中的待被写入数据或读取数据的存储器单元。
存储器控制器200可以基于来自主机300的请求来控制存储器装置100以执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可向存储器装置100提供编程命令、PBA和数据。在读取操作期间,存储器控制器200可向存储器装置100提供读取命令和PBA。在擦除操作期间,存储器控制器200可向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可以自主地生成编程命令、地址和数据,而不管来自主机300的请求,并且将它们发送到存储器装置100。例如,存储器控制器200可将命令、地址和数据提供给存储器装置100以执行后台操作,诸如用于耗损均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以同时控制多于一个的存储器装置100。在这种情况下,存储器控制器200可以以交错方式控制存储器装置100,以提高操作性能。交错方案可以通过在给定时间范围(frame)内通过执行多于一个操作来改善系统性能。例如,交错方案可以通过交错与存储器装置相关联的队列的一部分和与另一存储器装置相关联的另一队列的一部分,来同时对两个或更多个存储器装置100执行操作。
在实施例中,存储器控制器200可以包括映射高速缓存210、映射数据处理器220和映射数据转换器230。
在实施方案中,存储器控制器200可以使用自己的存储器作为用于映射表(例如,L2P映射表、FTL映射表)的高速缓存。在另一实施方案中,存储器控制器200可以使用单独的存储器作为用于映射表的高速缓存。在本公开技术的实施例中,映射高速缓存210可以存储映射信息。例如,映射高速缓存210可以存储存储器装置100中存储的逻辑到物理映射表中包括的映射信息的一部分。当需要访问存储在存储器装置100中的数据时,可以使用存储在映射高速缓存210中的映射数据。映射数据处理器220可以从存储器装置100接收包括多个原始映射数据组块或段的原始映射数据。在实施例中,每个原始映射数据段可以包括逻辑到物理映射表,诸如用于逻辑到物理(L2P)映射的映射表,该逻辑到物理(L2P)映射将从主机300提供的逻辑地址映射到相应的物理地址。在实施例中,每个原始映射数据段可以进一步包括与物理地址信息有关的附加信息。
映射数据处理器220可以从主机300接收映射数据请求。映射数据处理器220可以响应于映射数据请求而生成第一模式信号。在本公开技术的一些实施例中,映射数据处理器220可以当执行后台操作时生成第一模式信号。在本公开技术的一些其他实施例中,映射数据处理器220可以基于映射数据管理策略而生成第一模式信号,而不管主机的请求。
在本公开技术的实施例中,映射数据处理器220可以将原始映射数据和第一模式信号提供给映射数据转换器230。第一模式信号可以是用于使用原始映射数据生成第一转换映射数据的请求消息。
在各个实施方案中,第一转换映射数据可以包括通过响应于第一模式信号来转换包括在原始映射数据中的原始映射数据段而获得的第一转换映射数据段。此处,每个原始映射数据段可以包括物理地址信息。第一转换映射数据段可以包括每个原始映射数据段中包括的物理地址信息和与物理地址信息有关的附加信息。
映射数据处理器220可以向主机300提供从映射数据转换器230获得的第一转换映射数据。
在本公开技术的实施例中,当更新了存储在存储器装置100中的逻辑到物理映射表中包括的映射信息时,映射数据处理器220可以生成第二模式信号。此处,映射信息可以对应于存储在映射高速缓存210中的映射信息。映射数据处理器220可以将原始映射数据和第二模式信号提供给映射数据转换器230。第二模式信号可以是请求使用原始映射数据生成第二转换映射数据的信号。
第二转换映射数据可以包括通过响应于第二模式信号来转换包括在原始映射数据中的原始映射数据段而获得的第二转换映射数据段。此处,每个原始映射数据段可以包括物理地址信息和与物理地址信息有关的附加信息。第二转换映射数据段是相应原始映射数据段的一部分,并且可以包括原始映射数据段中包括的物理地址信息。第二转换映射数据段可以不包括与原始映射数据段中包括的物理地址信息有关的附加信息。
映射数据处理器220可以使用从映射数据转换器230获得的第二转换映射数据来更新映射高速缓存210。在实施方案中,存储器控制器200可以将第二转换映射数据添加到映射高速缓存210,或者在另一实施方案中,存储器控制器200可以将存储在映射高速缓存210中的映射信息转换为第二转换映射数据。
映射数据转换器230可以从映射数据处理器220接收原始映射数据和模式信号。模式信号可以包括第一模式信号或第二模式信号。映射数据转换器230可以响应于模式信号、使用原始映射数据来生成包括多个转换映射数据段的转换映射数据。
与第一模式信号一起接收的原始映射数据可不同于与第二模式信号一起接收的原始映射数据。例如,当接收到第一模式信号时,与第一模式信号一起接收的原始映射数据可以仅包括物理地址信息。与第二模式信号一起接收的原始映射数据可以包括物理地址信息和与物理地址信息有关的附加信息。
在本公开技术的实施例中,映射数据转换器230可以响应于从映射数据处理器220提供的第一模式信号,使用接收的原始映射数据段来生成包括多个第一转换映射数据段的第一转换映射数据。映射数据转换器230可以将所生成的第一转换映射数据提供到映射数据处理器220。
在本公开技术的实施例中,映射数据转换器230可以响应于从映射数据处理器220提供的第二模式信号,使用接收的原始映射数据段来生成包括多个第二转换映射数据段的第二转换映射数据。映射数据转换器230可以将所生成的第二转换映射数据提供给映射数据处理器220。
主机300可以使用诸如通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法的各种通信方法中的至少一种与存储装置50通信。
在实施例中,主机300可以向存储器控制器200提供映射数据请求。主机300可以将响应于映射数据请求而获得的第一转换映射数据存储在主机存储器中。主机300可以将针对存储在存储器装置100中的数据的读取请求连同该数据的逻辑地址一起提供到存储器控制器200。当向存储器控制器200提供逻辑地址时,主机300可以将存储在主机存储器中的第一转换映射数据连同逻辑地址一起提供给存储器控制器200。存储器控制器200可以控制存储器装置,以使用从主机300接收的第一转换映射数据中包括的物理地址信息来读取与读取请求相对应的数据。
图2是示出图1的存储器装置100的示例配置的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110可以包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。存储块BLK1至BLKz可以通过位线BL1至BLm联接到读取/写入电路123。存储块BLK1至BLKz中的每一个可以包括多个存储器单元。在本公开技术的实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中的、联接到相同字线的存储器单元被定义为一个页面。换言之,存储器单元阵列110可以由多个页面形成。在实施例中,包括在存储器单元阵列110中的存储块BLK1至BLKz中的每个可以包括多个虚拟单元,这些虚拟单元的结构类似于存储器单元,但是用于除了存储数据之外的目的。例如,一个或多个虚设单元可以串联联接在漏极选择晶体管和存储器单元之间以及在源极选择晶体管和存储器单元之间,以减少漏极/源极选择晶体管和存储器单元之间的不期望的干扰。
在本公开技术的实施例中,逻辑到物理映射表可以存储在存储器单元阵列110中包括的存储块中。逻辑到物理映射表可以包括映射信息,该映射信息可以用于在从参照图1描述的由主机提供的数据的逻辑地址与存储各条数据的存储器装置100的物理地址之间,将一个地址映射到另一地址。存储在逻辑到物理映射表中的原始映射数据可以被划分为多个原始映射数据段。
在实施例中,每个原始映射数据段可以包括指示与数据的逻辑地址相对应的物理地址的物理地址信息。在实施例中,每个原始映射数据段可以包括物理地址信息和与物理地址信息有关的附加信息。
附加信息可用于确定物理地址信息是否有效。附加信息还可用于指示访问物理地址信息的频率。附加信息还可以包括与物理地址信息的生成有关的信息。可以基于物理地址信息是否是最近更新信息来确定物理地址信息是否有效。与物理地址信息的生成有关的信息可以包括生成物理地址信息的序列。
存储器装置100的每个存储器单元可以是存储单个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
外围电路120可以包括地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124和感测电路125。
外围电路120可以用于I/O功能、电力分配、地址解码等。例如,外围电路120可以驱动字线和位线以对存储器单元阵列110执行编程操作、读取操作或擦除操作。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。在实施例中,字线可包括普通字线和虚设字线。在实施例中,行线RL可进一步包括管道选择线。
控制逻辑130控制外围电路120的操作。控制逻辑130基于地址ADDR通过生成行地址和列地址来控制地址解码器121的操作。
地址解码器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。控制逻辑130控制电压发生器122的操作。
在实施例中,电压发生器122可以通过调节外部电源电压来生成内部电源电压。从电压发生器122生成的内部电源电压可以用作存储器装置100的工作电压。
在实施例中,电压发生器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压发生器122可以生成存储器装置100所需的各种电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
电压发生器122可以包括被配置为接收内部电源电压的多个泵浦电容器。电压发生器122可以通过选择性地启用多个泵浦电容器来生成多个操作电压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可以通过位线BL1到BLm将通过数据输入/输出电路124接收的数据DATA传送到所选择的存储器单元。基于传输的数据DATA来对所选择的页面中的存储器单元进行编程。联接到被施加编程启用电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。联接到被施加编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以被保持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm从所选择的存储器单元读取数据DATA。
在读取操作期间,读取/写入电路123可以通过位线BL从所选择的页面的存储器单元读取数据DATA,并且将所读取的数据DATA存储到第一至第m页面缓冲器PB1至PBm。
在擦除操作期间,读取/写入电路123可使位线BL浮置。在实施例中,读取/写入电路123可包括列选择电路。
在实施例中,当将存储在读取/写入电路123中包括的多个页面缓冲器的一些页面缓冲器中的数据编程到存储器单元阵列110时,其他页面缓冲器可以从存储器控制器200接收新数据并且存储新数据。
数据输入/输出电路124通过数据线DL而联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124可以在控制逻辑130的控制下进行操作。
数据输入/输出电路124可以包括用于接收输入的数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124可从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124可以向外部控制器输出从包括在读取/写入电路123中的第一至第m页面缓冲器PB1至PBm接收的数据DATA。
在读取操作或验证操作期间,感测电路125可响应于由控制逻辑130生成的使能位信号VRYBIT而生成参考电流,将从读取/写入电路123接收的感测电压VPB与由参考电流生成的参考电压进行比较,将通过信号或失败信号输出到控制逻辑130。
控制逻辑130可以联接到地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以控制存储器装置100的全部操作。控制逻辑130可响应于从外部装置发送的命令CMD而操作。
控制电路130可以响应于命令CMD和地址ADD而生成各种信号并且控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADD而生成操作信号OPSIG、行地址RADD、读取/写入电路控制信号PBSIGNALS和启用位VRYBIT。控制逻辑130可以将操作信号OPSIG输出到电压发生器122,将行地址RADD输出到地址解码器121,将读取/写入控制信号输出到读取/写入电路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方向)布置。在图5中,两个单元串被示出为沿列方向(即,+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的奇数编号的单元串可以联接到相应的奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元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’中的奇数单元串可以联接到相应的奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。例如,可设置至少一个或多个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,可设置至少一个或多个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着虚设存储器单元的数量增加,可以增加存储块BLKb的操作可靠性,同时可能增加存储块BLKb的大小。随着虚设存储器单元的数量减少,存储块BLKb的大小可以减小,但是存储块BLKb的操作可靠性可能降低。
为了有效地控制至少一个或多个虚设存储器单元,每个虚设存储器单元可以具有所需的阈值电压。在对存储块BLKb执行擦除操作之前或之后,可以对所有或一些虚设存储器单元执行编程操作。在已经执行编程操作之后执行擦除操作的情况下,通过控制待施加到与各自虚设存储器单元联接的虚设字线的电压,虚设存储器单元可以具有所需的阈值电压。
图6A示出了基于本公开技术的实施例的存储器控制器200的示例操作。
参照图6A,存储器装置100可以包括第一逻辑到物理映射表。
第一逻辑到物理映射表可以保留在存储器装置中。例如,第一逻辑到物理映射表可以存储在参照图2描述的存储器单元阵列的存储块中。第一逻辑到物理映射表可以包括映射信息,该映射信息可以用于将由主机300提供的逻辑地址映射到物理地存储数据的存储器装置100的物理地址。包括在第一逻辑到物理映射表中的原始映射数据可以被划分为多个原始映射数据段。每个原始映射数据段可以包括指示与数据的逻辑地址相对应的物理地址的物理地址信息。
参照图6A,存储器控制器200可以包括映射数据处理器220和映射数据转换器230。
映射数据处理器220可以从存储器装置100接收包括多个原始映射数据段的原始映射数据。在实施方案中,原始映射数据段的每一个可以包括逻辑到物理映射表,诸如用于逻辑到物理(L2P)映射的映射表,该逻辑到物理(L2P)映射将逻辑地址映射到相应的物理地址。
主机300将映射数据请求发送到映射数据处理器220。在接收到映射数据请求时,映射数据处理器220可以生成第一模式信号。在本公开技术的另一实施例中,当执行后台操作时,映射数据处理器220可以生成第一模式信号。在本公开技术的另一实施例中,映射数据处理器220可以基于映射数据管理策略生成第一模式信号,而不管主机的请求。
映射数据处理器220可以将原始映射数据和第一模式信号提供给映射数据转换器230。第一模式信号可以是用于使用原始映射数据来生成第一转换映射数据的请求消息。第一转换映射数据可以包括第一转换映射数据段,该第一转换映射数据段通过响应于第一模式信号转换包括在原始映射数据中的原始映射数据段而获得。第一转换映射数据段可以包括每个原始映射数据段中包括的物理地址信息和与该物理地址信息有关的附加信息。
附加信息可用于确定物理地址信息是否有效。附加信息还可用于指示访问物理地址信息的频率。附加信息还可以包括与物理地址信息的生成有关的信息。可以基于物理地址信息是否是最近更新信息来确定物理地址信息是否有效。与物理地址信息的生成有关的信息可以包括生成物理地址信息的序列。
映射数据处理器220可以向主机300提供从映射数据转换器230获得的第一转换映射数据。
映射数据转换器230可以响应于从映射数据处理器220提供的第一模式信号,使用原始映射数据段来生成包括第一转换映射数据段的第一转换映射数据。映射数据转换器230可以将第一转换映射数据提供给映射数据处理器220。
在实施例中,主机300可以包括主机存储器310。
为了接收第一转换映射数据,主机300将映射数据请求发送到存储器控制器200。主机300可以将响应于映射数据请求而获得的第一转换映射数据存储在主机存储器310中。主机300可以将针对存储在存储器装置100中的数据的读取请求连同该数据的逻辑地址一起提供到存储器控制器200。当向存储器控制器200提供逻辑地址时,主机300可以将存储在主机存储器310中的第一转换映射数据连同逻辑地址一起提供给存储器控制器200。存储器控制器200可以控制存储器装置,通过使用从主机300接收的第一转换映射数据中包括的物理地址信息来读取与读取请求相对应的数据。存储器控制器200可以使用与第一转换映射数据中包括的物理地址信息有关的附加信息来确定该物理地址信息是否有效和/或访问该物理地址信息的频率。
将参照图6B描述的映射高速缓存(未示出)可以存储存储器装置100的映射数据的一部分。存储在映射高速缓存中的映射数据可以用于访问存储器装置100。但是,映射高速缓存的容量是有限的。因此,可以使用存储在主机存储器310中的映射数据信息来访问存储器装置100。这种主机300的主机存储器310的高效高速缓存方案可以称为“主机性能提升(HPB)”。
根据HPB映射数据管理方案,由主机300管理的映射数据段的大小可能与由存储器控制器200和存储器装置100管理的映射数据段的大小不同。因此,在实施例中,由存储器控制器200和存储器装置100管理的原始映射数据段可以被转换为第一转换映射数据段,并且主机300可以使用第一转换映射数据段来用于映射目的。
图6B示出了基于本公开技术的实施例的存储器控制器200的示例操作。
参照图6B,存储器装置100可以包括第二逻辑到物理映射表。
与参照图6A描述的第一逻辑到物理映射表相比,存储在第二逻辑到物理映射表中的每个原始映射数据段可以包括指示与数据的逻辑地址相对应的物理地址的物理地址信息和与物理地址信息有关的附加信息。
附加信息的示例可以包括确定物理地址信息是否有效的信息、指示访问物理地址信息的频率的信息以及与物理地址信息的生成有关的信息。指示确定物理地址信息是否有效的信息可以是指示物理地址信息是否是最近更新信息的信息。与物理地址信息的生成有关的信息可以包括关于生成物理地址信息的序列的信息。
参照图6B,存储器控制器200可以包括映射高速缓存210、映射数据处理器220和映射数据转换器230。映射高速缓存210可以存储在存储器装置100中存储的第二逻辑到物理映射表中包括的映射信息的一部分。存储在映射高速缓存210中的映射数据可以用于访问存储器装置100。
当更新了包括在第二逻辑到物理映射表中并且与存储在映射高速缓存210中的映射信息相对应的映射信息时,映射数据处理器220可以生成第二模式信号。在各个实施例中,映射数据处理器220可以当执行后台操作时生成第二模式信号,或者通过映射数据管理策略生成第二模式信号,而不管是否已经更新了第二逻辑到物理映射表。
映射数据处理器220可以将原始映射数据段和第二模式信号提供给映射数据转换器230。第二模式信号可以是用于使用原始映射数据生成第二转换映射数据的请求消息。第二转换映射数据可以包括第二转换映射数据段,该第二转换映射数据段通过响应于第二模式信号转换包括在原始映射数据中的原始映射数据段而获得。第二转换映射数据段是相应原始映射数据段的一部分。例如,第二转换映射数据段可以包括原始映射数据段中包括的物理地址信息。第二转换映射数据段可以不包括与原始映射数据段中包括的物理地址信息有关的附加信息。
映射数据处理器220可以使用从映射数据转换器230获得的第二转换映射数据来更新映射高速缓存210。详细地,映射数据处理器220可以将第二转换映射数据添加到映射高速缓存210,或者将存储在映射高速缓存210中的映射信息转换为第二转换映射数据。
映射数据转换器230可以响应于从映射数据处理器220提供的第二模式信号,使用所接收的原始映射数据段,来生成被划分为第二转换映射数据段的第二转换映射数据。映射数据转换器230可以将所生成的第二转换映射数据提供给映射数据处理器220。
根据参照图6A描述的HPB映射数据管理方案,由主机300和存储器装置100管理的映射数据单元的大小可以与由存储器控制器200管理的映射数据单元的大小不同。因此,在实施例中,可以将在主机300和存储器装置100中管理的原始映射数据组块(chunk)或段转换为第二转换映射数据段,并且可以在存储器控制器200的映射高速缓存210中使用第二转换映射数据段。
图7示出了图6A和6B的映射数据转换器230的示例。
参照图7,映射数据转换器230可以包括第一映射数据转换器231、第二映射数据转换器232和映射数据存储装置233。
映射数据存储装置233可以包括原始映射数据存储装置233a和转换映射数据存储装置233b。
原始映射数据存储装置233a可以包括与多个相应源地址相对应的源存储区域。原始映射数据存储装置233a可以将从映射数据处理器220接收的原始映射数据段顺序地存储在源存储区域中。
转换映射数据存储装置233b可以包括与多个相应目标地址相对应的目标存储区域。
在实施例中,转换映射数据存储装置233b可以在第一映射数据转换器231的控制下,将从原始映射数据存储装置233a接收的每个原始映射数据段的全部或一部分存储在目标存储区域中。
例如,转换映射数据存储装置233b可以在第一映射数据转换器231的控制下,将原始映射数据段存储在目标存储区域中。存储在各个目标存储区域中的数据段可以是第一转换映射数据段。除了相应原始映射数据段之外,每个第一转换映射数据段可以进一步包括单独的附加信息。转换映射数据存储装置233b可以将被划分为第一转换映射数据段的第一转换映射数据提供给映射数据处理器220。
在实施例中,转换映射数据存储装置233b可以在第二映射数据转换器232的控制下,将从原始映射数据存储装置233a接收的每个原始映射数据段的一部分存储在目标存储区域中。
例如,转换映射数据存储装置233b可以在第二映射数据转换器232的控制下,将每个原始映射数据段的全部或一部分存储为第二转换映射数据段。每个第二转换映射数据段可以是相应原始映射数据段的一部分。转换映射数据存储装置233b可以将被划分为第二转换映射数据段的第二转换映射数据提供给映射数据处理器220。
映射数据转换器230可以包括第一映射数据转换器231和第二映射数据转换器232。第一映射数据转换器231可以响应于从映射数据处理器220接收的第一模式信号来控制原始映射数据存储装置233a和转换映射数据存储装置233b。
第一映射数据转换器231可以将顺序地存储在原始映射数据存储装置233a的源存储区域中的原始映射数据段存储到转换映射数据存储装置233b中的、分别对应于多个目标地址的目标存储区域。
例如,第一映射数据转换器231可以将原始映射数据段之中的、存储在第一源存储区域中的原始映射数据段存储在第一目标存储区域中。
如果将存储在第一源存储区域中的原始映射数据存储在第一目标存储区域中,则第一映射数据转换器231可以将存储在第二源存储区域中的原始映射数据段存储在第二目标存储区域中。
第一源存储区域可以是与多个源地址之中的第一源地址相对应的存储区域。第二源存储区域可以是与多个源地址之中的第二源地址相对应的存储区域。可以以常规源地址偏移间隔来增加与原始映射数据存储装置233a中包括的源存储区域相对应的源地址。因此,在第一源地址和第二源地址之间存在与源地址偏移相对应的间隔。因此,第一源存储区域可以具有与源地址偏移值相对应的大小。
第一目标存储区域可以是与多个目标地址之中的第一目标地址相对应的存储区域。第二目标存储区域可以是与多个目标地址之中的第二目标地址相对应的存储区域。第二目标地址可以是通过将预定偏移添加到第一目标地址而获得的地址。由于第一目标地址和第二目标地址之间具有对应于预定偏移的间隔,因此第一目标存储区域可以具有与预定偏移值相对应的大小。
在实施例中,预定偏移可以具有与源地址偏移的值不同的值。因此,预定偏移可以大于或小于源地址偏移。如果预定偏移小于源地址偏移,则第一目标存储区域的大小可能小于第一源存储区域的大小。如果预定偏移大于源地址偏移,则第一目标存储区域的大小可能大于第一源存储区域的大小。
第二映射数据转换器232可以响应于从映射数据处理器220接收的第二模式信号来控制原始映射数据存储装置233a和转换映射数据存储装置233b。
详细地,第二映射数据转换器232可以将存储在原始映射数据存储装置233a中并且每个具有第一数据大小的原始映射数据段转换为每个具有小于第一数据大小的第二数据大小的转换映射数据段,并且将转换映射数据段存储在转换映射数据存储装置233b中。第二映射数据转换器232可以将原始映射数据段转换为转换映射数据段,使得原始映射数据段的一部分被存储为转换映射数据段。
图8示出了图7的第一映射数据转换器的示例操作。
参照图8,源存储区域可以对应于源地址。图8的表中所示的源地址可以指示各个源存储区域的开始位置。源地址可以以源地址偏移来增加。源地址偏移(原始地址偏移)可以是4。源地址偏移可以是源地址之间的偏移。源地址可以是存储原始数据的原始地址。
原始映射数据段D1可以存储在与源地址0至3对应的第一源存储区域中。原始映射数据段D2可以存储在与源地址4至7对应的第二源存储区域中。原始映射数据段D3可以存储在与源地址8至11对应的第三源存储区域中。原始映射数据段D4可以存储在与源地址12至15对应的第四源存储区域中。原始映射数据段D1至D4中的每一个可以包括参照图6A描述的物理地址信息。源地址的值、源地址偏移的值和原始映射数据段的数量不限于本实施例的那些。
目标存储区域可以对应于目标地址。图8的表中所示的目标地址可以指示各个目标存储区域的开始位置。目标地址之间的偏移是预定值,并且可以是8。预定偏移可以是转换地址偏移。转换地址是存储转换数据的地址。转换地址可以是目标地址。
因此,第一目标存储区域可以对应于目标地址100至107。第二目标存储区域可以对应于目标地址108至115。第三目标存储区域可以对应于目标地址116至123。第四目标存储区域可以对应于目标地址124至131。
可以响应于第一模式信号来激活参照图7描述的第一映射数据转换器。具有相同地址偏移的对应于源地址的存储区域的大小可以与具有相同地址偏移的对应于目标地址的存储区域的大小相同。例如,对应于源地址0至3的源存储区域的大小可以与对应于目标地址100至103的目标存储区域的大小相同。
参照图7,第一映射数据转换器可以控制转换操作,使得顺序地存储在源存储区域中的原始映射数据段D1至D4可以存储到第一至第四目标存储区域。
例如,原始映射数据段D1可以存储在第一目标存储区域中的、与目标地址100至103对应的存储区域中。原始映射数据段D2可以存储在第二目标存储区域中的、与目标地址108至111对应的存储区域中。原始映射数据段D3可以存储在第三目标存储区域中的、与目标地址116至119对应的存储区域中。原始映射数据段D4可以存储在第四目标存储区域中的、与目标地址124至127对应的存储区域中。
“跳过”区域可以是不存储原始映射数据段的空白空间。可以在跳过区域中存储单独的附加信息。例如,附加信息可以包括与存储在相应原始数据段中的物理地址信息有关的信息。与物理地址信息有关的信息的示例可以包括确定物理地址信息是否有效的信息、指示访问物理地址信息的频率的信息、以及与物理地址信息的生成有关的信息。指示确定物理地址信息是否有效的信息可以是指示物理地址信息是否是最近更新信息的信息。与物理地址信息的生成有关的信息可以包括关于生成物理地址信息的序列的信息。可选地,虚拟数据可以存储在跳过区域中。
参照图8,第一目标存储区域中的、与目标地址104至107对应的存储区域可以是跳过区域。第二目标存储区域中的、与目标地址112至115对应的存储区域可以是跳过区域。第三目标存储区域中的、与目标地址120至123对应的存储区域可以是跳过区域。第四目标存储区域中的、与目标地址128至131对应的存储区域可以是跳过区域。
因此,分别存储在第一至第四目标存储区域中的第一转换映射数据段D1’至D4’中的每一个不仅可以包括相应原始映射数据段中包括的物理地址信息,还可以包括存储在相应跳过区域中的单独的附加信息。
第一转换映射数据段的数量和目标地址的数量不限于本实施例的那些。
图9示出了图7的第二映射数据转换器的示例操作。
参照图9,每个原始映射数据段可以具有第一数据大小,并且每个第二转换映射数据段可以具有第二数据大小。第二数据大小可以小于第一数据大小。
可以响应于第二模式信号来激活参照图7描述的第二映射数据转换器。在第二映射数据转换器的控制下,每个原始映射数据段的一部分可以存储为转换映射数据段。例如,每个具有第一数据大小的原始映射数据段可以被存储为具有第二数据大小的第二转换映射数据段。
原始映射数据段D1至D4中的每一个可以包括物理地址信息和与物理地址信息有关的附加信息。附加信息的示例可以包括确定物理地址信息是否有效的信息、指示访问物理地址信息的频率的信息、以及与物理地址信息的生成有关的信息。指示确定物理地址信息是否有效的信息可以是指示物理地址信息是否是最近更新信息的信息。与物理地址信息的生成有关的信息可以包括生成物理地址信息的序列。
第二转换映射数据段D1’至D4’中的每一个可以是原始映射数据段D1至D4中的相应原始映射数据段的一部分并且包括物理地址信息。
图10是示出基于本公开技术的实施例的存储器控制器的操作的流程图。
参照图10,在步骤S1001中,存储器控制器可以响应于第一模式信号将原始映射数据段存储在与各自源地址相对应的源存储区域中。
在步骤S1003中,存储器控制器可以将原始映射数据段存储在各自对应于目标地址的目标存储区域中,其中目标地址之间具有与源地址之间的偏移不同的偏移。
在步骤S1005中,存储器控制器可以生成存储在目标存储区域中并且对应于各自原始映射数据段的第一转换映射数据段。
图11是示出基于本公开技术的实施例的存储器控制器的操作的流程图。
参照图11,在步骤S1101中,存储器控制器可以响应于第二模式信号,将每个原始映射数据段的一部分存储为相应的一个第二转换映射数据段。
在步骤S1103中,存储器控制器可以生成与各自原始映射数据段对应的第二转换映射数据段。
图12是用于描述基于本公开技术的实施例的存储器控制器的操作的流程图。
参照图12,在步骤1201中,存储器控制器可以从主机接收映射数据请求。
在步骤S1203中,存储器控制器可以响应于第一模式信号,来生成通过转换存储在存储器装置的逻辑到物理映射表中的原始映射数据段而获得的第一转换映射数据段。
在步骤S1205中,存储器控制器可以将第一转换映射数据段提供给主机。
图13是示出基于本公开技术的实施例的存储器控制器的操作的流程图。
参照图13,在步骤S1301中,存储器控制器可以更新包括在存储器装置的逻辑到物理映射表中的映射信息。在各个实施例中,如果更新了包括在映射表中的映射信息,则可以生成第二模式信号。
在步骤S1303中,存储器控制器可以响应于第二模式信号,来生成通过转换存储在存储器装置的逻辑到物理映射表中的原始映射数据段而获得的第二转换映射数据段。
在步骤S1305中,存储器控制器可以使用第二转换映射数据段来更新映射高速缓存。
该专利文献中公开的技术可以在实施例中实现,以提供可以执行映射信息转换以转换映射格式的存储装置。在一些实施方案中,在处理器和存储器装置之间存在存储器映射单元,以将处理器格式的地址转换为存储器格式的地址。处理器格式可以与存储器格式不同。因此,有必要适应不同的格式。
对于快速地址转换,FTL可以使用高速缓存来存储例如逻辑到物理映射的映射数据,以加速页面和/或块层地址转换。例如,存储在存储器控制器的映射高速缓存中的映射信息可以存储到主机端高速缓存。然而,存储器控制器的映射高速缓存中的映射信息的段大小可能与主机端高速缓存中的映射信息的段大小不同。
在本公开技术的实施例中,将地址格式从处理器格式转换为装置格式,反之亦然。例如,在存储器控制器的映射高速缓存中的映射信息的段大小为4字节并且在主机端高速缓存处的映射信息的段大小为8字节的情况下,当FTL从存储器装置获取映射信息时,8字节的映射信息可以被转换为4字节格式。在实施方案中,可以将4字节的附加信息添加到4字节的映射信息中以适应8字节的映射信息格式。
在本公开技术的另一实施例中,针对在存储器控制器的映射高速缓存中的映射信息的段大小与在主机侧高速缓存中的映射信息的段大小之间的差异,跳过地址获取。在存储器控制器的映射高速缓存中的映射信息的段大小为4字节并且主机端高速缓存的映射信息的段大小为8字节的情况下,在每次获取4字节的映射信息之后跳过4字节。
在本公开技术的实施例中,存储装置包括存储器控制器,存储器控制器包括:映射高速缓存,存储用于逻辑到物理映射的高速缓存段;存储器映射电路,被配置为将高速缓存段从一种格式转换为另一种格式;以及存储器接口,被配置为基于所转换的高速缓存段来访问存储器装置。通过存储器映射电路的高速缓存段的转换包括将附加信息添加到一种格式的高速缓存段以匹配另一种格式。通过存储器映射电路的高速缓存段的转换包括跳过数据段的预定数量的字节,使得该数据段的预定数量的字节和一种格式的数据段的字节数量的总和与其他格式的数据段的字节数量匹配。
图14是示出基于本公开技术的实施例的图1的存储器控制器的示例的示图。
参照图14,存储器控制器1000联接到主机和存储器装置。响应于来自主机的请求,存储器控制器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而写入存储器装置100的数据来执行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的控制下与存储器装置100通信。存储器接口1060可通过通道与存储器装置进行命令、地址和数据通信。
例如,存储器控制器1000可以既不包括存储缓冲器1020也不包括缓冲器控制电路1050。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可从在存储器控制器1000中设置的非易失性存储器装置(例如,只读存储器)中加载代码。可选地,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以分为控制总线和数据总线。数据总线可以在存储器控制器1000中传输数据。控制总线可以在存储器控制器1000中发送诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离,并且彼此既不会相互干扰也不会相互影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图15是示出包括基于本公开技术的实施例实施的存储装置的存储卡系统2000的框图。
参照图15,存储卡系统2000可包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可控制存储器装置2200的读取操作、写入操作、擦除操作和/或后台操作。存储器控制器2100可以提供存储器装置2100和主机之间的接口。存储器控制器2100可以驱动用于控制存储器装置2200的固件。存储器控制器2100可以以与参照图1描述的存储器控制器200的相同的方式实施。
在实施例中,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和ECC电路的组件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可以基于特定通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(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)等。
图16是示出包括基于本公开技术的实施例实施的存储装置的固态驱动器(SSD)系统3000的框图。
参照图16,SSD系统3000可以包括主机3100和SSD 3200。SSD 3200可以通过信号连接器3001与主机3100交换信号SIG,并且可以通过电源连接器3002接收电力PWR。SSD 3200可以包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以执行上面参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在实施例中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和高速非易失性存储器(NVMe)接口的各种接口中的至少一种所定义的信号。
辅助电源3230可以通过电源连接器3002联接到主机3100。辅助电源3230可以供给有来自主机3100的电力PWR,并且可以由电力PWR充电。当不能平稳地执行来自主机3100的电力供应时,辅助电源3230可以供应SSD 3200的电力。在实施例中,辅助电源3230可以位于SSD3200内部或者位于SSD 3200外部。例如,辅助电源3230可以设置在主板中,并且可以向SSD3200提供辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图17是示出包括基于本公开技术的实施例实施的存储装置的用户系统4000的框图。
参照图17,用户系统4000可包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400、用户接口4500。
应用处理器4100可以运行包括在用户系统4000中的组件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可以包括用于控制包括在用户系统4000中的部件的控制器、接口、图形引擎等。应用处理器4100可被设置为片上系统(SoC)。
存储器模块4200可用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2SDARM和LPDDR3SDRAM的易失性RAM,或者诸如PRAM、ReRAM、MRAM和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描述的存储器装置100相同的方式操作。存储模块4400可以以与上面参照图1描述的存储装置50相同的方式操作。
用户接口4500可包括用于将数据或指令输入到应用处理器4100或用于将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括用户输入界面,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500还可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
Claims (20)
1.一种存储器控制器,包括:
映射数据处理器,从存储器装置接收原始映射数据段并且生成模式信号;
原始映射数据存储装置,与所述映射数据处理器通信并且将所述原始映射数据段顺序地存储在分别对应于多个源地址的源存储区域中;
转换映射数据存储装置,与所述映射数据处理器通信并且将所述原始映射数据段存储在分别对应于多个目标地址的目标存储区域中;以及
映射数据转换器,与所述映射数据处理器通信并且控制所述转换映射数据存储装置,使得响应于所述模式信号,当所述原始映射数据段中的任意一个原始映射数据段被存储在与所述多个目标地址之中的第一目标地址相对应的第一目标存储区域中时,将所述任意一个原始映射数据段之后的原始映射数据段存储在与第二目标地址相对应的第二目标存储区域中,所述第二目标地址通过将预定偏移添加到所述第一目标地址而获得。
2.根据权利要求1所述的存储器控制器,其中当从主机接收到映射数据请求时,所述映射数据处理器生成所述模式信号。
3.根据权利要求2所述的存储器控制器,
其中所述第一目标存储区域存储与所述任意一个原始映射数据段相对应的转换映射数据段,并且
其中所述转换映射数据段响应于所述映射数据请求而被提供至所述主机并且被存储在所述主机的存储区域中。
4.根据权利要求3所述的存储器控制器,其中所述任意一个原始映射数据段包括物理地址信息,所述物理地址信息指示与从所述主机提供的数据的逻辑地址相对应的、存储所述数据的所述存储器装置的物理地址。
5.根据权利要求4所述的存储器控制器,其中所述转换映射数据段包括所述物理地址信息,并且进一步包括确定所述物理地址信息是否有效的信息、指示访问所述物理地址信息的频率的信息以及与所述物理地址信息的生成有关的信息中的至少一个。
6.根据权利要求1所述的存储器控制器,其中所述多个源地址以与所述预定偏移的间隔不同的偏移间隔增加。
7.根据权利要求5所述的存储器控制器,其中所述第一目标存储区域的大小大于存储所述任意一个原始映射数据段的源存储区域的大小。
8.根据权利要求1所述的存储器控制器,其中当执行后台操作时,所述映射数据处理器生成所述模式信号,所述后台操作为不管主机的请求而执行的内部操作。
9.一种存储器控制器,包括:
映射数据处理器,从存储器装置接收原始映射数据段,并且生成模式信号以用于请求生成通过转换所述原始映射数据段而获得的转换映射数据段;
原始映射数据存储装置,与所述映射数据处理器通信并且存储具有第一数据大小的所述原始映射数据段;
转换映射数据存储装置,与所述映射数据处理器通信并且存储具有第二数据大小的所述转换映射数据段,所述第二数据大小与所述第一数据大小不同;
映射数据转换器,与所述映射数据处理器通信并且响应于所述模式信号控制所述转换映射数据存储装置以将所述原始映射数据段的一部分存储为所述转换映射数据段。
10.根据权利要求9所述的存储器控制器,
其中所述映射数据处理器响应于从主机提供的映射数据请求,将所述原始映射数据段提供至所述主机,并且
其中将所述原始映射数据段存储在所述主机的存储区域中。
11.根据权利要求10所述的存储器控制器,其中所述原始映射数据段包括物理地址信息,所述物理地址信息指示与从所述主机提供的数据的逻辑地址相对应的、存储所述数据的所述存储器装置的物理地址,所述原始映射数据段进一步包括确定所述物理地址信息是否有效的信息、指示访问所述物理地址信息的频率的信息以及与所述物理地址信息的生成有关的信息中的至少一个。
12.根据权利要求11所述的存储器控制器,其中所述转换映射数据段包括所述物理地址信息。
13.一种存储装置,包括:
存储器装置,存储逻辑到物理映射表,所述逻辑到物理映射表指示从主机提供的数据的逻辑地址与存储所述数据的所述存储器装置的物理地址之间的映射关系;以及
存储器控制器,从所述存储器装置接收包括在所述逻辑到物理映射表中的原始映射数据段,生成模式信号以用于请求生成通过转换所述原始映射数据段而获得的转换映射数据段,响应于所述模式信号将所述原始映射数据段顺序地存储在分别对应于多个源地址的源存储区域中,并且当所述原始映射数据段中的所选择原始映射数据段被存储在与多个目标地址中的第一目标地址相对应的目标存储区域中时,将在所选择原始映射数据段之后的原始映射数据段存储在与第二目标地址相对应的目标存储区域中,
其中通过将预定偏移添加到所述多个目标地址之中的所述第一目标地址来获得所述第二目标地址,并且
其中所述多个源地址以与所述预定偏移的间隔不同的偏移间隔增加。
14.根据权利要求13所述的存储装置,其中与所述第一目标地址相对应的目标存储区域存储与所述所选择原始映射数据段相对应的转换映射数据段。
15.根据权利要求14所述的存储装置,
其中当从所述主机接收到映射数据请求时,所述存储器控制器生成所述模式信号,并且响应于所述模式信号将所生成的转换映射数据段提供至所述主机,并且
其中将所述转换映射数据段存储在所述主机的存储区域中。
16.根据权利要求15所述的存储装置,
其中所述所选择原始映射数据段包括指示与所述逻辑地址相对应的所述物理地址的物理地址信息,并且
其中所述转换映射数据段包括所述物理地址信息,并且进一步包括确定所述物理地址信息是否有效的信息、指示访问所述物理地址信息的频率的信息以及与所述物理地址信息的生成有关的信息中的至少一个。
17.一种存储装置,包括:
存储器装置,存储逻辑到物理映射表,所述逻辑到物理映射表指示从主机提供的数据的逻辑地址与存储所述数据的所述存储器装置的物理地址之间的映射关系;以及
存储器控制器,从所述存储器装置接收所述逻辑到物理映射表中包括的原始映射数据段,生成模式信号以用于请求生成通过转换所述原始映射数据段而获得的转换映射数据段,响应于所述模式信号将所述原始映射数据段的一部分存储为所述转换映射数据段,
其中所述原始映射数据段具有第一数据大小,并且
其中所述转换映射数据段具有第二数据大小,所述第二数据大小与所述第一数据大小不同。
18.根据权利要求17所述的存储装置,
其中所述存储器控制器响应于从所述主机提供的映射数据请求,将所述原始映射数据段提供至所述主机,并且
其中将所述原始映射数据段存储在所述主机的存储区域中。
19.根据权利要求17所述的存储装置,
其中所述原始映射数据段包括指示与所述逻辑地址相对应的所述物理地址的物理地址信息,并且进一步包括确定所述物理地址信息是否有效的信息、指示访问所述物理地址信息的频率的信息以及与所述物理地址信息的生成有关的信息中的至少一个,并且
其中所述转换映射数据段包括所述物理地址信息。
20.根据权利要求19所述的存储装置,其中所述存储器控制器进一步包括映射高速缓存,所述映射高速缓存存储包括在所述逻辑到物理映射表中的映射信息中的一些映射信息,使用响应于所述模式信号而生成的所述转换映射数据段来更新所述映射高速缓存。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005353A KR20200088709A (ko) | 2019-01-15 | 2019-01-15 | 저장 장치 및 그 동작 방법 |
KR10-2019-0005353 | 2019-01-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444115A CN111444115A (zh) | 2020-07-24 |
CN111444115B true CN111444115B (zh) | 2023-02-28 |
Family
ID=71517572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910961997.XA Active CN111444115B (zh) | 2019-01-15 | 2019-10-11 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10936508B2 (zh) |
KR (1) | KR20200088709A (zh) |
CN (1) | CN111444115B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210154277A (ko) * | 2020-06-11 | 2021-12-21 | 삼성전자주식회사 | 메모리 모듈 및 그의 동작 방법 |
US11341060B2 (en) * | 2020-08-11 | 2022-05-24 | International Business Machines Corporation | Multifunction communication interface supporting memory sharing among data processing systems |
KR20220021186A (ko) * | 2020-08-13 | 2022-02-22 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 내 데이터를 공유하는 장치 및 방법 |
EP4273706A1 (en) * | 2022-05-02 | 2023-11-08 | Samsung Electronics Co., Ltd. | Storage device, memory device, and system including storage device and memory device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748763A (en) * | 1993-11-18 | 1998-05-05 | Digimarc Corporation | Image steganography system featuring perceptually adaptive and globally scalable signal embedding |
KR20140057454A (ko) * | 2012-11-02 | 2014-05-13 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이와 통신하는 호스트 장치 |
CN103946923A (zh) * | 2011-09-23 | 2014-07-23 | 莫塞德技术公司 | 闪存系统 |
KR20150132151A (ko) * | 2013-03-12 | 2015-11-25 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 프로그램 가능한 어드레스 매핑 및 메모리 액세스 동작 |
CN106126433A (zh) * | 2015-05-07 | 2016-11-16 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN108027778A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 与断言的存储指令相关联的预取 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100963140B1 (ko) | 2008-11-27 | 2010-06-16 | 한국과학기술원 | 직접 메모리 접근 장치 및 직접 메모리 접근 방법 |
EP2742429A4 (en) | 2011-08-09 | 2015-03-25 | Lsi Corp | I / O DEVICE AND INTERACTION WITH DATA PROCESSING HOST |
KR101400506B1 (ko) | 2012-07-13 | 2014-05-27 | 주식회사 이에프텍 | 비휘발성 메모리 제어기 및 그 제어 방법 |
KR20170031389A (ko) | 2015-09-11 | 2017-03-21 | 삼성전자주식회사 | 수신 장치 및 그 신호 처리 방법 |
JP2019057074A (ja) * | 2017-09-20 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム |
US10970226B2 (en) * | 2017-10-06 | 2021-04-06 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US10558393B2 (en) * | 2017-10-20 | 2020-02-11 | Qualcomm Incorporated | Controller hardware automation for host-aware performance booster |
KR102384759B1 (ko) * | 2017-11-13 | 2022-04-11 | 삼성전자주식회사 | 호스트 메모리 버퍼를 사용하기 위해 호스트 장치와 속성 정보를 공유하는 스토리지 장치 및 그것을 포함하는 전자 장치 |
JP6967986B2 (ja) * | 2018-01-29 | 2021-11-17 | キオクシア株式会社 | メモリシステム |
US10929285B2 (en) * | 2018-02-27 | 2021-02-23 | Western Digital Technologies, Inc. | Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer |
US10922221B2 (en) * | 2018-03-28 | 2021-02-16 | Micron Technology, Inc. | Memory management |
TWI679538B (zh) * | 2018-03-31 | 2019-12-11 | 慧榮科技股份有限公司 | 資料儲存系統之控制單元以及邏輯至物理映射表更新方法 |
-
2019
- 2019-01-15 KR KR1020190005353A patent/KR20200088709A/ko unknown
- 2019-09-12 US US16/569,536 patent/US10936508B2/en active Active
- 2019-10-11 CN CN201910961997.XA patent/CN111444115B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748763A (en) * | 1993-11-18 | 1998-05-05 | Digimarc Corporation | Image steganography system featuring perceptually adaptive and globally scalable signal embedding |
CN103946923A (zh) * | 2011-09-23 | 2014-07-23 | 莫塞德技术公司 | 闪存系统 |
KR20140057454A (ko) * | 2012-11-02 | 2014-05-13 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이와 통신하는 호스트 장치 |
KR20150132151A (ko) * | 2013-03-12 | 2015-11-25 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 프로그램 가능한 어드레스 매핑 및 메모리 액세스 동작 |
CN106126433A (zh) * | 2015-05-07 | 2016-11-16 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN108027778A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 与断言的存储指令相关联的预取 |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
Non-Patent Citations (1)
Title |
---|
Model-transformation design patterns;Lano K;《IEEE Transactions on Software Engineering》;20141231;1224-1259 * |
Also Published As
Publication number | Publication date |
---|---|
CN111444115A (zh) | 2020-07-24 |
US10936508B2 (en) | 2021-03-02 |
US20200226070A1 (en) | 2020-07-16 |
KR20200088709A (ko) | 2020-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111435289B (zh) | 映射数据访问性能提高的存储器控制器及其操作方法 | |
CN111444115B (zh) | 存储装置及其操作方法 | |
CN112905502A (zh) | 存储装置及其操作方法 | |
CN111105832B (zh) | 存储装置和操作存储装置的方法 | |
US11614895B2 (en) | Data storage device for read operation and method of the same | |
CN111352855B (zh) | 具有提高的映射更新速度的存储装置及其操作方法 | |
CN111177020B (zh) | 存储装置及其操作方法 | |
US11543986B2 (en) | Electronic system including host, memory controller and memory device and method of operating the same | |
CN110175133B (zh) | 存储装置及其操作方法 | |
CN112463664A (zh) | 存储装置及其操作方法 | |
CN112988049A (zh) | 存储装置及其操作方法 | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US20210240632A1 (en) | Memory controller and operating method thereof | |
CN114115708A (zh) | 存储装置及其操作方法 | |
CN111338978B (zh) | 存储装置以及操作存储装置的方法 | |
CN113448892A (zh) | 存储器控制器及其操作方法 | |
US11636899B2 (en) | Memory device and method of operating the same | |
US11593023B2 (en) | Memory controller and method of operating the same | |
US11650924B2 (en) | Memory controller and method of operating the same | |
US11868658B2 (en) | Memory controller including first processor for generating commands and second processor for generating logging information and method of operating the memory controller | |
US11928056B2 (en) | Memory controller for allocating cache lines and method of operating the same | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same |
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 |