CN112328516A - 控制器、控制器的操作方法以及包括控制器的存储装置 - Google Patents

控制器、控制器的操作方法以及包括控制器的存储装置 Download PDF

Info

Publication number
CN112328516A
CN112328516A CN201911220516.6A CN201911220516A CN112328516A CN 112328516 A CN112328516 A CN 112328516A CN 201911220516 A CN201911220516 A CN 201911220516A CN 112328516 A CN112328516 A CN 112328516A
Authority
CN
China
Prior art keywords
mapping
controller
memory
list
registered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201911220516.6A
Other languages
English (en)
Inventor
朴炳奎
赵荣翼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN112328516A publication Critical patent/CN112328516A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及一种控制器、控制器的操作方法以及包括控制器的存储装置。该控制器可以包括存储器,存储器被配置成存储映射更新列表,映射信息待被更新的映射段的信息被寄存在映射更新列表中。该控制器还可以包括取消映射模块。取消映射模块可以响应于接收取消映射命令生成指示已经寄存在映射更新列表中的映射段的列表信息位图,使用生成的列表信息位图检查与取消映射命令相对应的一个或多个取消映射目标映射段是否与在映射更新列表中寄存的映射段重叠,并且根据检查结果将一个或多个取消映射目标映射段选择性地寄存到映射更新列表中。

Description

控制器、控制器的操作方法以及包括控制器的存储装置
相关申请的交叉引用
本申请要求于2019年8月5日向韩国知识产权局提交的申请号为10-2019-0094835的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种电子装置,并且更特别地,涉及一种控制器、控制器的操作方法以及包括控制器的存储装置。
背景技术
近来,计算环境范例已经变成可以随时随地使用计算机***的普适计算环境。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用利用存储器装置特别是非易失性存储器装置的存储装置。存储装置用于存储在便携式电子装置中使用的数据。
由于使用存储器装置的存储装置没有机械驱动器,因此存储装置具有优异的稳定性和耐用性、高的信息访问速度以及低功耗。具有这些优点的存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够提高取消映射操作的性能的控制器、控制器的操作方法以及包括控制器的存储装置。
在实施例中,一种控制器可以包括:存储器,被配置成存储映射更新列表,映射信息待被更新的映射段的信息被寄存在该映射更新列表中;以及取消映射模块,被配置成生成指示已经寄存在映射更新列表中的映射段的列表信息位图,使用生成的列表信息位图检查一个或多个取消映射目标映射段是否与在映射更新列表中寄存的映射段重叠,并且根据检查结果将一个或多个取消映射目标映射段选择性地寄存到映射更新列表中。
在实施例中,一种控制器的操作方法可以包括:从主机接收具有一个或多个取消映射目标逻辑地址的取消映射命令;基于映射更新列表生成列表信息位图,映射信息待被更新的映射段已被寄存在映射更新列表中;使用生成的列表信息位图检查与一个或多个取消映射目标逻辑地址相关的一个或多个取消映射目标映射段是否与在映射更新列表中寄存的映射段重叠;以及根据检查结果将一个或多个取消映射目标映射段选择性地寄存到映射更新列表中。
在实施例中,一种存储装置可以包括:非易失性存储器;存储器,被配置成存储映射更新列表,关于映射信息待被更新的映射段的信息被寄存在映射更新列表中;以及控制器,被配置成控制非易失性存储器的操作。控制器可以被配置成生成指示寄存在映射更新列表中的映射段的列表信息位图,使用生成的列表信息位图检查一个或多个取消映射目标映射段是否与在映射更新列表中寄存的映射段重叠;并且根据检查结果将一个或多个取消映射目标映射段选择性地寄存到映射更新列表中。
附图说明
图1是根据实施例的存储装置的示图。
图2是图1的存储器的示图。
图3是图2的闪存转换层(FTL)的示图。
图4是图2的映射更新列表(MUL)的示图。
图5是图2的列表信息位图(LIB)的示图。
图6是地址映射表的示图。
图7示出根据实施例的将取消映射目标映射段寄存在MUL中的进程。
图8是根据实施例的控制器的操作进程的流程图。
图9是根据实施例的包括固态驱动器(SSD)的数据处理***的示图。
图10是诸如图9中所示的控制器的示图。
图11是根据实施例的包括数据存储设备的数据处理***的示图。
图12是根据实施例的包括数据存储设备的数据处理***的示图。
图13是根据实施例的包括数据存储设备的网络***的示图。
图14是根据实施例的数据存储设备中包括的非易失性存储装置的示图。
具体实施方式
在下文中,将通过说明性实施例并参照附图描述根据本公开的控制器、控制器的操作进程以及包括控制器的存储装置。
图1示出根据实施例的存储装置10的配置。
参照图1,根据本实施例的存储装置10可以存储由诸如下列的主机(未示出)访问的数据:移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV或车载信息娱乐***。存储装置10也可被称为存储器***。
根据联接至主机的接口协议,存储装置10可以被配置成各种类型的存储装置中的任意一种。例如,存储装置10可以被配置成包括下列的各种类型的存储装置中的任意一种:SSD(固态驱动器),诸如eMMC、RS-MMC或微型MMC的MMC(多媒体卡),诸如迷你-SD或微型-SD型的SD(安全数字)卡,USB(通用串行总线)存储装置、UFS(通用闪存)装置、PCMCIA(个人计算机存储卡国际协会)卡型的存储装置、PCI(***组件互连)卡型的存储装置、PCI-e(高速PCI)卡型的存储装置、CF(标准闪存)卡、智能媒体卡和记忆棒。
存储装置10可以被制造为各种类型的封装中的任意一种。例如,存储装置10可以被制造为诸如下列的各种类型的封装中的任意一种:POP(层叠封装)、SIP(***级封装)、SOC(片上***)、MCP(多芯片封装)、COB(板上芯片)、WFP(晶圆级制造封装)和WSP(晶圆级堆叠封装)。
存储装置10可以包括非易失性存储器100和控制器200。
非易失性存储器100可以作为存储装置10的数据存储介质而操作。根据非易失性存储器100中使用的存储器单元,非易失性存储器100可以包括诸如下列的各种类型的非易失性存储器中的任意一种:NAND闪速存储器、NOR闪速存储器、使用铁电电容器的FRAM(铁电随机存取存储器)、使用TMR(隧道磁阻)层的MRAM(磁性随机存取存储器)、使用硫属化物合金的PRAM(相变随机存取存储器)以及使用过渡金属氧化物的ReRAM(电阻随机存取存储器)等。
图1示出非易失性存储器100为一个块,但是非易失性存储器100可以包括多个存储器芯片或管芯。本实施例可以以相同的方式应用于包括由多个存储器芯片构成的非易失性存储器100的存储装置10。
非易失性存储器100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)之间的各个交叉处的多个存储器单元。存储器单元阵列可以包括多个存储块,多个存储块中的每一个可以包括多个页面。
在实施例中,存储器单元阵列的每个存储器单元可以被配置成用于存储1位数据的单层单元(SLC)、用于存储2位数据的多层单元(MLC)、用于存储3位数据的三层单元(TLC)或用于存储4位数据的四层单元(QLC)。存储器单元阵列110可以包括SLC、MLC、TLC和QLC中的一种或多种。在实施例中,存储器单元阵列可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
控制器200可以控制存储装置10的全部操作。控制器200可以处理从主机接收的命令或请求。控制器200可以响应于从主机接收的命令生成用于控制非易失性存储器100的操作的控制信号,并且将生成的控制信号提供至非易失性存储器100。返回参照图1,控制器200可以包括第一内核210、存储器220和第二内核230。
第一内核210可以被配置成响应于主机的协议将主机和存储装置10接口连接。因此,第一内核210可以被称为协议内核或主机接口层(HIL)。例如,第一内核210可以通过诸如下列中的任意一种协议与主机通信:USB(通用串行总线)、UFS(通用闪存)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机***接口)、SAS(串列SCSI)、PCI(***组件互连)、PCI-e(高速PCI)等。
第一内核210可以包括微控制单元(MCU)和/或中央处理单元(CPU)。第一内核210可以接收从主机传送的命令,并且将接收的命令提供至第二内核230。
第一内核210可以将从主机接收的数据(例如,写入数据)存储在存储器220的写入缓冲器(参见图2)中。对于该操作,控制器200可以进一步包括用于将从主机接收的数据传送到存储器220的写入缓冲器的单独数据传送块(未示出)。例如,根据从第一内核210接收的控制信号,数据传送块可以从主机接收数据并且将所接收的数据存储在存储器220的写入缓冲器中。
第一内核210可以将存储在存储器220的读取缓冲器(参见图2)中的数据(例如,读取数据)传送到主机。例如,根据从第一内核210接收到的控制信号,数据传送块可以读取存储在存储器220的读取缓冲器中的数据并且将读取数据传送到主机。
取消映射命令(也可以称为修整命令)允许使用存储装置10的主机指示不再考虑使用存储装置10中的数据的一个或多个逻辑块,从而指示可以丢弃这些逻辑块中的数据。当从主机接收到取消映射命令时,第一内核210可以将取消映射命令排队到在存储器220内分配的命令队列(未示出)中包括的取消映射命令队列中。然而,实施例不限于此。
虽然未在图1中示出,但是第一内核210可以在其中包括专用存储器。第一内核210的专用存储器可以是诸如静态RAM(SRAM)的RAM,但是实施例不限于此。
存储器220可以被配置成RAM(诸如SRAM)或动态RAM(DRAM),但是实施例不限于此。虽然图1示出存储器220包括在控制器200中,但是存储器220可以设置在控制器200的外部。
存储器220可以物理联接和电联接至第一内核210和第二内核230。存储器220可以存储由第二内核230运行的固件。此外,存储器220可以存储用于运行固件所需的数据,例如元数据。也就是说,存储器220可以作为第二内核230的工作存储器而操作。
存储器220可以包括缓冲器,该缓冲器用于临时存储待从主机传送到非易失性存储器100的写入数据,或者待从非易失性存储器100传送到主机的读取数据。也就是说,存储器220可以作为缓冲存储器而操作。将参照图2详细地描述存储器220的内部配置。
第二内核230可以通过运行被加载至存储器220的固件或软件来控制存储装置10的全部操作。第二内核230可以解码并驱动基于代码的指令或算法,诸如固件或软件。因此,第二内核230也可以被称为FTL(闪存转换层)或FTL内核。第二内核230可以包括微控制单元(MCU)和/或中央处理单元(CPU)。
第二内核230可以基于通过第一内核210提供的命令来生成用于控制非易失性存储器100的操作的控制信号,并且将所生成的控制信号提供到非易失性存储器100。控制信号可以包括用于控制非易失性存储器100的命令、地址和操作控制信号等。第二内核230可以将临时存储在存储器220中的写入数据提供到非易失性存储器100或者接收来自非易失性存储器100的读取数据。
虽然未在图1中示出,但是第二内核230可以包括专用存储器。第二内核230的专用存储器可以是诸如SRAM的RAM,但是实施例不限于此。
图2是示出图1的存储器220的示图。
参照图2,根据本实施例的存储器220大致可以被划分为第一区域和第二区域,但是本实施例不具体限于此。例如,存储器220的第一区域可以存储由第二内核230分析和执行的软件(固件)以及第二内核230执行计算和处理操作所需的元数据。存储器220的第一区域也可以存储从主机接收的命令。
例如,在存储器220的第一区域中存储的软件可以是FTL。FTL可以由第二内核230运行,并且第二内核230可以运行FTL以控制非易失性存储器100的独有操作,并且提供与主机的装置兼容性。当运行FTL时,主机可以识别存储装置10并且将存储装置10用作诸如硬盘的通用存储装置。
FTL的固件和数据可以存储在非易失性存储器100的***区域(未示出)中。当存储装置10被通电时,FTL的固件和数据可以被从非易失性存储器100的***区域读取并且被加载到存储器220的第一区域。在实施例中,FTL的固件和数据可以被加载到第二内核230的专用存储器(未示出)来代替存储器220的第一区域。下面将参照图3描述FTL。
存储器220的第一区域可以包括用于存储驱动FTL中包括的各个模块所需的元数据的元数据区域。元数据区域可以存储映射更新列表(MUL),该映射更新列表被配置成寄存在映射更新操作期间映射信息待被更新的映射段。元数据区域可以进一步存储由取消映射模块UMM(参见图3)生成、使用和擦除的列表信息位图(LIB)。LIB可以被配置成示出关于在MUL中寄存的映射段的信息,并且可以基于MUL而生成。下面将参照图4和图5分别对MUL和LIB进行描述。
存储器220的第二区域可以包括写入缓冲器、读取缓冲器、映射更新缓冲器等。
写入缓冲器可以被配置成临时存储从主机接收的并且待被传送到非易失性存储器100的写入数据。读取缓冲器可以被配置成临时存储从非易失性存储器100读取并且待被传送至主机的读取数据。映射更新缓冲器可以被配置成临时存储映射信息待被更新的映射段。
存储器220的第一区域可以在物理上比存储器220的第二区域更靠近第一内核210和第二内核230中的每一个,但是实施例不限于此。当存储器220的第一区域在物理上靠近第一内核210和第二内核230时,第一内核210和第二内核230可以快速访问存储器220的第一区域。因此,可以增加命令处理速度以提高存储装置10的整体性能。
图3示出图2的FTL。
参照图3,FTL可以包括写入模块WM、取消映射模块UMM和映射模块MM。然而,实施例不限于此,FTL还可以包括各种模块,诸如读取模块、垃圾收集模块、损耗均衡模块、坏块管理模块、电源管理模块等。FTL中包括的模块中的每一个可以被配置成存储在非暂时性计算机可读介质上的源代码组,该源代码组在由处理器或控制器运行时分别执行特定操作或功能。
写入模块WM可以被配置成执行对应于从主机接收的写入命令的操作。例如,写入模块WM可以执行用于将与写入命令一起从主机接收的待被写入的逻辑地址(以下称为“写入逻辑地址”)映射到或转换成与待在非易失性存储器100中存储的数据的实际位置(即特定存储器单元)相对应的物理地址的地址映射操作或地址转换操作。写入模块WM可以将映射段的编号寄存到映射更新列表(MUL)中,其中映射段包括映射到物理地址的逻辑地址。
取消映射模块UMM可以将映射段的编号寄存到MUL中,该映射段(以下称为“取消映射目标映射段”)对应于从主机接收的取消映射命令以及待被取消映射或修整的逻辑地址(以下称为“取消映射目标逻辑地址”)。当将取消映射目标映射段的编号寄存到MUL中时,取消映射模块UMM可以执行重叠检查操作以确定取消映射目标映射段是否已被寄存在MUL中。仅当取消映射目标映射段尚未寄存在MUL中时,取消映射模块UMM才可以将相应取消映射目标映射段的编号寄存到MUL中。
当从主机接收到取消映射命令时,取消映射模块UMM可以生成列表信息位图(LIB)(参见图5),并且通过参考所生成的LIB来执行上述重叠检查操作。当将取消映射目标映射段寄存到MUL中的操作完成时,取消映射模块UMM可以从存储器220中删除LIB。也就是说,响应于从主机接收到的每个取消映射命令,取消映射模块UMM可以生成LIB,使用LIB,然后删除LIB。
映射模块MM可以管理非易失性存储器100和存储器220以执行与映射数据(诸如地址映射表和映射更新缓冲器的数据)有关的操作。与映射数据有关的操作可以主要包括映射更新操作和映射高速缓存操作,但是实施例不限于此。
映射模块MM可以基于在存储器220中存储的MUL执行映射更新操作。例如,当满足执行映射更新操作的条件时,映射模块MM可以通过参考MUL检查映射信息待被更新的映射段,从非易失性存储器100的地址映射表(参见图6)中读取相应映射段,并且将读取映射段存储在存储器220的映射更新缓冲器中。映射模块MM可以根据最新的映射信息来更新关于在映射更新缓冲器中存储的映射段中包括的逻辑地址的映射信息,或者修整(或取消映射)该映射信息。
图4示出图2的映射更新列表(MUL)。
参照图4,MUL可以包括多个寄存空间1至N。此处,N可以是等于或大于2的自然数。寄存空间1至N中的每一个可以存储待被更新的映射段的编号。例如,每个寄存空间1至N可以具有2个字节的大小。然而,实施例不限于此,并且可以根据待存储的映射段的编号的大小来确定寄存空间的大小。MUL可以由图3所示的写入模块WM、取消映射模块UMM和映射模块MM访问。例如,写入模块WM和取消映射模块UMM可以访问MUL以存储待被更新的映射段的编号,并且映射模块MM可以访问MUL以标识在映射更新操作期间待被更新的映射段。
图5示出图2的列表信息位图(LIB)。
参照图5,LIB可以由M位0至M-1组成。此处,M可以是等于或大于2的自然数。此外,M可以大于MUL中的寄存空间N的数量,但是实施例不限于此。在实施例中,LIB可以包括与地址映射表(参见图6)中包括的映射段的数量相同数量的位。也就是说,每个位可以对应于各个映射段。
在MUL中存在相应映射段时,LIB中包括的M位0至M-1中的每一个可以被设置为指示“设置”状态的值,并且在MUL中不存在相应映射段时,LIB中包括的M位0至M-1中的每一个被设置为指示“重置”状态的值。指示“设置”状态的值可以是“1”,并且指示“重置”状态的值可以是“0”。然而,本实施例不具体限于此。图5示出LIB为二维阵列,但是实施例不限于此,并且在实施例中,LIB可以是一维串的位。
图6示出地址映射表。虽然未在图1中示出,但是地址映射表可以存储在非易失性存储器100中。
参照图6,地址映射表可以包括多个映射段0至M-1。映射段0至M-1中的每一个可以包括多个L2P(逻辑地址到物理地址)条目。L2P条目中的每一个可以将一个物理地址映射到一个逻辑地址。
可以按照升序(或降序)将在映射段0至M-1中的每一个中包括的逻辑地址进行排序和固定。映射到逻辑地址中的每一个的物理地址可以被更新为与分配给该逻辑地址的最新位置相对应的物理地址。可以响应于从主机接收的取消映射命令移除逻辑地址和物理地址之间的映射。
图6示出包括M个映射段0至M-1的地址映射表,其中M个映射段0至M-1中的每一个包括100个L2P条目。然而,映射段的编号和每个映射段中的L2P条目的数量不限于此。
可以基于映射段执行映射更新操作。例如,可以通过下列方法来执行映射更新操作:当映射信息待被更新的逻辑地址是LBA1至LBA30时,与映射段'0'相对应的包括逻辑地址LBA1至LBA30的逻辑地址LBA0至LBA99可以全部被读取并存储在存储器220的映射更新缓冲器中,逻辑地址LBA0至LBA99之中的逻辑地址LBA1至LBA30的映射信息可以在映射更新缓冲器中被改变,然后映射段“0”被写回到非易失性存储器100中的地址映射表。映射信息的更新可以包括将映射到各个逻辑地址LBA1至LBA30的物理地址改变为与最新位置相对应的物理地址,或者将映射到逻辑地址LBA1至LBA30的物理地址取消映射。
图7示出根据实施例的将取消映射目标映射段寄存在MUL中的进程。
参照图7,写入模块WM和取消映射模块UMM都可以访问在存储器220中存储的MUL。也就是说,写入模块WM可以根据从主机接收到的写入命令,将包括写入逻辑地址的映射段的编号寄存或存储到MUL中。此外,可以根据从主机接收到的取消映射命令,将包括取消映射目标逻辑地址的取消映射目标映射段的编号寄存或存储到MUL中。
具体地,当从主机接收到写入命令WCMD和写入逻辑地址LBA10000(S1)时,写入模块WM可以将物理地址映射到写入逻辑地址LBA 10000,该物理地址对应于待存储写入数据的非易失性存储器100的实际位置(未示出)。此外,写入模块WM可以将包括写入逻辑地址LBA 10000的映射段的编号(在该示例中为“100”)寄存到MUL中(S1')。
然后,当从主机顺序地接收到具有写入逻辑地址LBA 20000的写入命令WCMD和具有写入逻辑地址LBA 50000的写入命令WCMD(S2和S3)时,写入模块WM可以分别将非易失性存储器100的物理地址顺序地映射到写入逻辑地址LBA 20000和LBA 50000。此外,写入模块WM可以将包括写入逻辑地址LBA 20000的映射段的编号(在该示例中为“200”)和包括写入逻辑地址50000的映射段的编号(在该示例中为“500”)顺序地寄存到MUL中(S2'和S3')。
然后,当从主机接收到具有取消映射目标逻辑地址“LBA 20000、200”的取消映射命令UMMCD(S4)时,取消映射模块UMM可以通过参考MUL来生成LIB,并且将所生成的LIB存储在存储器220中(S5)。由于映射段“100”,“200”和“500”被寄存在MUL中,因此可以将与LIB中的与映射段“100”,“200”和“500”相对应的位设置为“1”,并且可以将LIB中的其它位设置为“0”。
在取消映射目标逻辑地址中,“LBA 20000”可以表示起始逻辑地址,而“200”可以表示长度信息(或大小信息)。也就是说,取消映射目标逻辑地址可以指定待对逻辑块地址20000至20199进行取消映射,因此包括取消映射目标逻辑地址的取消映射目标映射段可以是“200”和“201”。
取消映射模块UMM可以执行用于检查在MUL中是否存在取消映射目标映射段200和201的重叠检查操作,然后仅将在MUL中不存在的取消映射目标映射段寄存到MUL中(S6)。例如,取消映射模块UMM可以通过检查是否将与生成并存储的LIB中的取消映射目标映射段200和201相对应的位设置为指示“设置状态”的值的进程来对取消映射目标映射段执行重叠检查操作。
由于如上所述,与LIB中的映射段“200”相对应的位被设置为“1”,取消映射模块UMM可以确定在MUL中存在映射段“200”,因此取消映射模块UMM不将映射段“200”寄存在MUL中。此外,由于与LIB中的映射段“201”相对应的位被设置为“0”,取消映射模块UMM可以确定在MUL中不存在映射段“201”,因此取消映射模块UMM将映射段“201”寄存在MUL中。
在本实施例中,存储装置可以在将与从主机接收的取消映射目标逻辑地址相关的取消映射目标映射段寄存到MUL中之前,生成指示已经被寄存在MUL中的映射段的LIB,并且使用LIB简单地检查取消映射目标映射段是否寄存在MUL中。
因此,当存在多个待寄存在MUL中的取消映射目标映射段时,不需要将取消映射目标映射段中的每一个与已寄存在MUL中的映射段进行比较的进程。因此,可以快速执行将取消映射目标映射段寄存到MUL中的操作。
图8是根据实施例的控制器200的操作进程800的流程图。当参考图8描述根据本实施例的控制器200的操作进程800时,可以参照图1至图7中的一个或多个。
在步骤S810中,控制器200可以从主机接收具有取消映射目标逻辑地址的取消映射命令。取消映射目标逻辑地址可以包括起始逻辑地址和长度。
在步骤S820中,控制器200可以生成列表信息位图(LIB),并且将所生成的LIB存储在存储器220中,该列表信息位图指示地址映射表的哪些映射段被寄存在存储器220中存储的映射更新列表(MUL)中。
在步骤S830中,控制器200可以使用LIB检查与取消映射目标逻辑地址相对应的取消映射目标映射段是否寄存在MUL中。
在步骤S840中,控制器200可以根据LIB中的、与取消映射目标映射段相对应的位的值确定取消映射目标映射段是否已被寄存在MUL中。例如,当与取消映射目标映射段相对应的位是“1”时,控制器200可以确定取消映射目标映射段被寄存在MUL中,并且进程800可以进行至步骤S860。另一方面,当与取消映射目标映射段相对应的位是“0”时,控制器200可以确定取消映射目标映射段未被寄存在MUL中,并且进程800可以进行至步骤S850。
在步骤S850中,控制器200可以将取消映射目标映射段寄存到MUL中。具体地,控制器200可以将取消映射目标映射段的编号存储在MUL的可用寄存空间中。
在步骤S860中,控制器200可以确定与从主机接收的取消映射目标逻辑地址相对应的取消映射目标映射段的寄存是否完成。当确定与取消映射目标逻辑地址相对应的取消映射目标映射段的寄存完成时,进程可以进行至步骤S880。当确定与取消映射目标逻辑地址相对应的取消映射目标映射段的寄存未完成时,进程可以进行至步骤S870。
在步骤S870中,控制器200可以通过参考LIB检查下一取消映射目标映射段是否已寄存在MUL中。然后,进程可以进行至步骤S840,并且可以依次对每个取消映射目标映射段重复执行步骤S840至S870,直到与从主机接收的取消映射目标逻辑地址相对应的所有取消映射目标映射段(即,具有在由取消映射目标逻辑地址指定的逻辑地址的范围中包括的逻辑地址的所有映射段)被寄存在MUL中为止。
在步骤S880中,控制器200可以擦除存储在存储器220中的LIB。
根据本实施例,当在将取消映射目标映射段寄存到MUL中的进程期间用于检查与取消映射目标逻辑地址相对应的取消映射目标映射段中的每一个是否与在MUL中寄存的映射段重叠所需的时间显著减少时,可以提高取消映射操作的性能。
此外,由于生成、使用和擦除针对仅由取消映射模块生成的MUL的LIB,因此LIB对与映射更新有关的其它模块没有影响,这使得可以降低将出现固件错误的可能性。
图9示出根据实施例的包括固态驱动器(SSD)的数据处理***。参照图9,数据处理***2000可以包括主机设备2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2220的全部操作。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输至主机设备2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn联接至控制器2210。一个或多个非易失性存储器装置可以联接至一个通道。联接至一个通道的非易失性存储器装置可以联接至相同的信号总线和相同的数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供至SSD 2200的内部。电源2240可以包括辅助电源2241。即使在发生突然断电时,辅助电源2241也可以供应电力使得SSD 2200正常终止。辅助电源2241可以包括能够充电力PWR的大容量电容器。
控制器2210可以通过信号连接器2250与主机设备2100交换信号SGL。信号SGL可包括命令、地址、数据等。根据主机设备2100和SSD2200之间的接口方法,信号连接器2250可以由各种类型的连接器配置。
图10示出图9的控制器2210。参照图10,控制器2210可以包括主机接口单元2211、控制单元2212、随机存取存储器(RAM)2213、错误校正码(ECC)单元2214和存储器接口单元2215。
主机接口单元2211可以根据主机设备2100的协议执行主机设备2100和SSD 2200之间的接口连接。例如,主机接口单元2211可通过以下之中的任意一种与主机设备2100通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SCSI(SAS)协议、***组件互连(PCI)协议、高速PCI(PCI-E)协议和通用闪存(UFS)协议。主机接口单元2211可以执行磁盘仿真功能,该磁盘仿真功能是主机设备2100将SSD 2200识别为通用数据存储设备,例如硬盘驱动器HDD。
控制单元2212可以分析并处理从主机设备2100输入的信号SGL。控制单元2212可以根据用于驱动SSD 2200的固件和/或软件来控制内部功能块的操作。RAM 2213可以作为用于驱动固件或软件的工作存储器而操作。
ECC单元2214可以生成待传送至非易失性存储器装置2231至223n的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置2231至223n中。ECC单元2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误落在可校正范围内时,ECC单元2214可以校正检测到的错误。
存储器接口单元2215可以根据控制单元2212的控制将诸如命令和地址的控制信号提供至非易失性存储器装置2231至223n。存储器接口单元2215可以根据控制单元2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口单元2215可以将存储在缓冲存储器装置2220中的数据提供至非易失性存储器装置2231至223n或将从非易失性存储器装置2231至223n读取的数据提供至缓冲存储器装置2220。
图11示出根据实施例的包括数据存储设备的数据处理***。参照图11,数据处理***3000可以包括主机设备3100和数据存储设备3200。
主机设备3100可以以诸如印刷电路板(PCB)的板形式来配置。虽然未在图11中示出,但是主机设备3100可以包括被配置为执行主机设备3100的功能的内部功能块。
主机设备3100可以包括连接端子3110,诸如插座、插槽或连接器。数据存储设备3200可以安装在连接端子3110上。
数据存储设备3200可以以诸如PCB的板形式来配置。数据存储设备3200可被称为存储器模块或存储卡。数据存储设备3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储设备3200的全部操作。控制器3210可以被配置成具有与图10中所示的控制器2210相同的配置。
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输至主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储设备3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供至数据存储设备3200的内部。PMIC 3240可以根据控制器3210的控制来管理数据存储设备3200的电力。
连接端子3250可以联接至主机设备3100的连接端子3110。诸如命令、地址、数据和电力的信号可以通过连接端子3250在主机设备3100和数据存储设备3200之间传输。根据主机设备3100和数据存储设备3200之间的接口连接方法,连接端子3250可以以各种方式配置。连接端子3250可以被布置在数据存储设备3200的任意一侧上。
图12示出根据实施例的包括数据存储设备的数据处理***。参照图12,数据处理***4000可以包括主机设备4100和数据存储设备4200。
主机设备4100可以以诸如PCB的板形式来配置。虽然未在图12中示出,但是主机设备4100可以包括被配置为执行主机设备4100的功能的内部功能块。
数据存储设备4200可以以表面安装封装形式来配置。数据存储设备4200可以通过焊球4250安装在主机设备4100上。数据存储设备4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储设备4200的全部操作。控制器4210可以被配置成具有与图10中所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以通过控制器4210的控制被传输至主机设备4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储设备4200的存储介质。
图13示出根据实施例的包括数据存储设备的网络***5000。参照图13,网络***5000可以包括通过网络5500联接的服务器***5300和多个客户端***5410至5430。
服务器***5300可以响应于多个客户端***5410至5430的请求来服务数据。例如,服务器***5300可以存储从多个客户端***5410至5430提供的数据。再例如,服务器***5300可以将数据提供至多个客户端***5410至5430。
服务器***5300可以包括主机设备5100和数据存储设备5200。数据存储设备5200可以由图1的存储装置10、图9的SSD 2200、图11的数据存储设备3200或图12的数据存储设备4200来配置。
图14是示出根据实施例的包括在数据存储设备中的非易失性存储器装置100。非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器140、数据读取/写入块130、电压生成器150和控制逻辑160。
存储器单元阵列210可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器120可以通过字线WL1至WLm联接至存储器单元阵列110。行解码器120可以通过控制逻辑160的控制而操作。行解码器120可以解码从外部设备(未示出)提供的地址。行解码器120可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压生成器150提供的字线电压提供至字线WL1至WLm。
数据读取/写入块130可以通过位线BL1至BLn联接至存储器单元阵列110。数据读取/写入块130可以包括与位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块130可以根据控制逻辑160的控制而操作。数据读取/写入块130可以根据操作模式作为写入驱动器或读出放大器而操作。例如,在写入操作中,数据读取/写入块130可以作为被配置成将从外部设备提供的数据存储在存储器单元阵列110中的写入驱动器而操作。再例如,在读取操作中,数据读取/写入块130可以作为被配置成从存储器单元阵列110读取数据的读出放大器而操作。
列解码器140可以通过控制逻辑160的控制而操作。列解码器140可以解码从外部设备(未示出)提供的地址。列解码器140可以基于解码结果将数据读取/写入块130的、与位线BL1至BLn相对应的读取/写入电路RW1至RWn和数据输入/输出(I/O)线(或数据I/O缓冲器)联接。
电压生成器150可以生成用于非易失性存储器装置100的内部操作的电压。通过电压生成器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作中生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。又例如,在读取操作中生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部设备提供的控制信号来控制非易失性存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作和擦除操作。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,不应基于所描述的实施例来限制本文已经描述的数据存储装置和数据存储装置的操作方法。

Claims (19)

1.一种用于控制非易失性存储器的操作的控制器,所述控制器包括:
存储器,存储映射更新列表,映射信息待被更新的映射段的信息被寄存在所述映射更新列表中;以及
取消映射模块,所述取消映射模块:
生成指示已经寄存在所述映射更新列表中的映射段的列表信息位图,
使用生成的列表信息位图检查一个或多个取消映射目标映射段是否与在所述映射更新列表中寄存的所述映射段重叠,并且
根据检查结果将所述一个或多个取消映射目标映射段选择性地寄存到所述映射更新列表中。
2.根据权利要求1所述的控制器,其中所述取消映射模块将所述生成的列表信息位图存储在所述存储器中。
3.根据权利要求2所述的控制器,其中当所述一个或多个取消映射目标映射段的寄存完成时,所述取消映射模块从所述存储器中擦除所述列表信息位图。
4.根据权利要求1所述的控制器,其中所述取消映射模块是存储在非暂时性计算机可读介质中的源代码组,所述源代码组在由所述控制器执行时使所述控制器执行下列操作:生成所述列表信息位图、检查所述一个或多个取消映射目标映射段是否与在所述映射更新列表中寄存的所述映射段重叠,并且将所述一个或多个取消映射目标映射段寄存到所述映射更新列表中。
5.根据权利要求1所述的控制器,其中所述映射更新列表包括N个空间,待被更新的映射段的信息被寄存在所述N个空间中,其中N是等于或大于2的自然数。
6.根据权利要求5所述的控制器,其中所述列表信息位图包括分别与多个映射段相对应的M位,其中M是等于或大于2的自然数并且大于N。
7.一种控制器的操作方法,所述控制器控制非易失性存储器的操作,所述操作方法包括:
从主机接收具有一个或多个取消映射目标逻辑地址的取消映射命令;
基于映射更新列表生成列表信息位图,映射信息待被更新的映射段已被寄存在所述映射更新列表中;
使用生成的列表信息位图检查与所述一个或多个取消映射目标逻辑地址相关的一个或多个取消映射目标映射段是否与在所述映射更新列表中寄存的所述映射段重叠;以及
根据检查结果将所述一个或多个取消映射目标映射段选择性地寄存到所述映射更新列表中。
8.根据权利要求7所述的操作方法,其中生成所述列表信息位图包括形成位图,在所述位图中,与所述映射更新列表中寄存的所述映射段相对应的位被设置为指示“设置”状态的第一值,并且与其它映射段相对应的位被设置为指示“重置”状态的第二值。
9.根据权利要求8所述的操作方法,其中检查与所述一个或多个取消映射目标逻辑地址相关的所述一个或多个取消映射目标映射段是否与在所述映射更新列表中寄存的所述映射段重叠包括检查所述列表信息位图中、与所述一个或多个取消映射目标映射段相对应的位是否具有所述第一值。
10.根据权利要求7所述的操作方法,进一步包括当在将所述一个或多个取消映射目标映射段选择性地寄存在所述映射更新列表中之后所述一个或多个取消映射目标映射段的寄存完成时,擦除所述生成的列表信息位图。
11.一种存储装置,包括:
非易失性存储器;
存储器,存储映射更新列表,关于映射信息待被更新的映射段的信息被寄存在所述映射更新列表中;以及
控制器,控制所述非易失性存储器的操作,
其中所述控制器:
生成指示寄存在所述映射更新列表中的映射段的列表信息位图,
使用生成的列表信息位图检查一个或多个取消映射目标映射段是否与在所述映射更新列表中寄存的所述映射段重叠;并且
根据检查结果将所述一个或多个取消映射目标映射段选择性地寄存到所述映射更新列表中。
12.根据权利要求11所述的存储装置,其中所述控制器响应于从主机接收到包括一个或多个取消映射目标逻辑地址的取消映射命令来生成所述列表信息位图。
13.根据权利要求12所述的存储装置,其中所述一个或多个取消映射目标映射段对应于包括所述一个或多个取消映射目标逻辑地址的逻辑地址的映射段。
14.根据权利要求11所述的存储装置,其中所述控制器将所述生成的列表信息位图存储在所述存储器中。
15.根据权利要求14所述的存储装置,其中当所述一个或多个取消映射目标映射段的寄存完成时,所述控制器从所述存储器中擦除所述列表信息位图。
16.根据权利要求11所述的存储装置,其中所述映射更新列表具有N个空间,待被更新的映射段的信息被寄存在所述N个空间中,其中N是等于或大于2的自然数。
17.根据权利要求16所述的存储装置,其中所述列表信息位图包括分别与多个映射段相对应的M位,其中M是等于或大于2的自然数并且大于N。
18.根据权利要求11所述的存储装置,其中所述控制器通过将与所述所述映射更新列表中寄存的所述映射段相对应的位设置为指示“设置”状态的第一值,并且将与其它映射段相对应的位设置为指示“重置”状态的第二值来生成所述列表信息位图。
19.根据权利要求18所述的存储装置,其中所述控制器检查所述列表信息位图中、与所述一个或多个取消映射目标映射段相对应的位是否具有所述第一值,以便检查所述一个或多个取消映射目标映射段是否与在所述映射更新列表中寄存的所述映射段重叠。
CN201911220516.6A 2019-08-05 2019-12-03 控制器、控制器的操作方法以及包括控制器的存储装置 Withdrawn CN112328516A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0094835 2019-08-05
KR1020190094835A KR20210018570A (ko) 2019-08-05 2019-08-05 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치

Publications (1)

Publication Number Publication Date
CN112328516A true CN112328516A (zh) 2021-02-05

Family

ID=74319798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911220516.6A Withdrawn CN112328516A (zh) 2019-08-05 2019-12-03 控制器、控制器的操作方法以及包括控制器的存储装置

Country Status (3)

Country Link
US (1) US11281590B2 (zh)
KR (1) KR20210018570A (zh)
CN (1) CN112328516A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023045867A (ja) * 2021-09-22 2023-04-03 キオクシア株式会社 メモリシステム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651132B1 (en) * 2000-07-17 2003-11-18 Microsoft Corporation System and method for emulating the operation of a translation look-aside buffer
JP2004164208A (ja) * 2002-11-12 2004-06-10 Canon Inc 画像処理方法
US7711900B2 (en) * 2007-03-05 2010-05-04 International Business Machines Corporation Method, system and program product for equitable sharing of a CAM table in a network switch in an on-demand environment
US20090276604A1 (en) * 2008-05-01 2009-11-05 Broadcom Corporation Assigning memory for address types
US8301865B2 (en) * 2009-06-29 2012-10-30 Oracle America, Inc. System and method to manage address translation requests
US8194340B1 (en) * 2010-03-18 2012-06-05 Western Digital Technologies, Inc. Disk drive framing write data with in-line mapping data during write operations
KR101810932B1 (ko) * 2011-04-27 2017-12-20 시게이트 테크놀로지 엘엘씨 주소 사상 정보 관리 방법, 디스크 드라이브에서의 액세스 방법, 저장 장치, 컴퓨터 시스템, 네트워크를 통한 주소 사상 정보 관리 방법 및 컴퓨터로 읽을 수 있는 저장 매체
US9069657B2 (en) 2011-12-12 2015-06-30 Apple Inc. LBA bitmap usage
KR101465460B1 (ko) 2013-11-25 2014-11-26 성균관대학교산학협력단 트림 방법 및 데이터 관리 장치
US9916356B2 (en) * 2014-03-31 2018-03-13 Sandisk Technologies Llc Methods and systems for insert optimization of tiered data structures
GB2527529B (en) * 2014-06-24 2021-07-14 Advanced Risc Mach Ltd A device controller and method for performing a plurality of write transactions atomically within a non-volatile data storage device
US9804786B2 (en) * 2015-06-04 2017-10-31 Seagate Technology Llc Sector translation layer for hard disk drives
US9892060B2 (en) * 2015-12-02 2018-02-13 International Business Machines Corporation Identifying stale entries in address translation cache
KR101735065B1 (ko) 2015-12-10 2017-05-24 한국외국어대학교 연구산학협력단 비트맵 기반의 트림 코맨드를 이용하는 데이터 관리 시스템 및 방법
US10599569B2 (en) * 2016-06-23 2020-03-24 International Business Machines Corporation Maintaining consistency between address translations in a data processing system
US10168902B2 (en) * 2016-07-18 2019-01-01 International Business Machines Corporation Reducing purging of structures associated with address translation
US10635584B2 (en) * 2017-06-29 2020-04-28 Western Digital Technologies, Inc. System and method for host system memory translation
JP7074454B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 計算機システムおよび制御方法
KR20200033625A (ko) * 2018-09-20 2020-03-30 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 체크 방법 및 장치
KR20200085967A (ko) 2019-01-07 2020-07-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
KR20200088713A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20200100955A (ko) * 2019-02-19 2020-08-27 에스케이하이닉스 주식회사 메모리 시스템의 맵 데이터 관리 방법 및 장치
KR20210011216A (ko) * 2019-07-22 2021-02-01 에스케이하이닉스 주식회사 메모리 시스템의 메타 데이터 관리 방법 및 장치

Also Published As

Publication number Publication date
US20210042232A1 (en) 2021-02-11
KR20210018570A (ko) 2021-02-18
US11281590B2 (en) 2022-03-22

Similar Documents

Publication Publication Date Title
CN110858129B (zh) 数据存储装置及其操作方法
CN111506516B (zh) 数据存储装置及数据存储装置的操作方法
CN110083545B (zh) 数据存储装置及其操作方法
CN111414312B (zh) 数据存储装置及其操作方法
US11249897B2 (en) Data storage device and operating method thereof
KR20190057887A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN111414313B (zh) 数据存储装置及数据存储装置的操作方法
US20200057725A1 (en) Data storage device and operating method thereof
US11520694B2 (en) Data storage device and operating method thereof
KR20190054383A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11782638B2 (en) Storage device with improved read latency and operating method thereof
US20210397364A1 (en) Storage device and operating method thereof
CN112286443A (zh) 控制器、存储器***及其操作方法
CN114385070B (zh) 主机、数据存储装置、数据处理***以及数据处理方法
US11281590B2 (en) Controller, operating method thereof and storage device including the same
CN113805793A (zh) 存储装置及其操作方法
CN112084118A (zh) 数据存储装置及其操作方法
US11144246B2 (en) Memory system using available bad block based on data storage reliability and operating method thereof
CN111857563A (zh) 数据存储装置、包括其的电子装置及其操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210205