CN111414312B - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111414312B CN111414312B CN201910982842.4A CN201910982842A CN111414312B CN 111414312 B CN111414312 B CN 111414312B CN 201910982842 A CN201910982842 A CN 201910982842A CN 111414312 B CN111414312 B CN 111414312B
- Authority
- CN
- China
- Prior art keywords
- sequential
- data
- unmap
- storage device
- data storage
- 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
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/0608—Saving storage space on 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of 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/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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/1004—Compatibility, e.g. with legacy hardware
-
- 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/1016—Performance 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/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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文描述了数据存储装置及其操作方法。一种数据存储装置包括非易失性存储器装置、存储器和控制器。存储器具有被配置为存储从主机接收的取消映射命令的取消映射命令队列和被配置为存储与针对顺序逻辑地址的取消映射命令相对应的顺序取消映射条目的顺序取消映射表。控制器包括第一核和第二核。第二核被配置为从存储在非易失性存储器装置中的地址映射表中读取包括顺序逻辑地址的取消映射目标映射段,将所读取的取消映射目标映射段存储在存储器中,并且在所存储的取消映射目标映射段内,将映射到顺序逻辑地址的物理地址同时改变为修整指令数据,修整指令数据被包括在顺序取消映射条目中。
Description
相关申请的交叉引用
本申请要求于2019年1月7日提交的韩国申请号10-2019-0001718的优先权,其全部内容通过引用合并于此。
技术领域
各个实施例一般地涉及电子装置,并且更具体地涉及数据存储装置及其操作方法。
背景技术
近来,用于计算环境的范例已经变为普适计算环境,其中计算机***可以被随时随地使用。因此,诸如移动电话、数码相机和笔记本计算机等便携式电子装置的使用已经迅速增加。这样的便携式电子装置通常利用使用存储器装置的数据存储装置。数据存储装置用于存储便携式电子装置中使用的数据。
由于使用存储器装置的数据存储装置不具有机械驱动器,该数据存储装置具有优异的稳定性、优异的耐久性、较高的信息访问速度和低功耗。具有这种优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储器卡、通用闪存存储(UFS)装置和固态驱动器(SSD)。
发明内容
各个实施例涉及能够有效地缩短或减少取消映射操作时间的数据存储装置及其操作方法。
在一个实施例中,一种数据存储装置可以包括:非易失性存储器装置;存储器,其包括被配置为存储从主机接收的取消映射命令的取消映射命令队列和被配置为存储与针对顺序逻辑地址的取消映射命令相对应的顺序取消映射条目的顺序取消映射表;以及控制器,其包括第一核和第二核,第一核被配置为接收从主机传输的取消映射命令并且将所接收的取消映射命令存储在存储器的取消映射命令队列中,第二核被配置为从存储在非易失性存储器装置中的地址映射表中读取包括顺序逻辑地址的取消映射目标映射段,将所读取的取消映射目标映射段存储在存储器中,并且在所存储的取消映射目标映射段内,将映射到顺序逻辑地址的物理地址同时改变为修整指令数据,修整指令数据被包括在顺序取消映射条目中。
在一个实施例中,提供了一种用于数据存储装置的操作方法,该数据存储装置包括非易失性存储器装置和被配置为控制非易失性存储器装置的控制器。该操作方法可以包括:当映射更新操作被触发时,从存储在非易失性存储器装置中的地址映射表中读取包括顺序逻辑地址的取消映射目标映射段,并且将所读取的取消映射目标映射段存储在存储器中;以及在所存储的取消映射目标映射段内,将映射到顺序逻辑地址的物理地址同时改变为修整指令数据,修整指令数据被包括在与顺序逻辑地址相对应的顺序取消映射条目中。
在一个实施例中,提供了一种用于数据存储装置的操作方法。该操作方法可以包括:针对一组顺序逻辑地址生成单条修整数据;以及通过以批处理方式将映射到该组顺序逻辑地址的物理地址集体地改变为该单条修整数据来取消映射该组顺序逻辑地址的映射关系。
附图说明
图1示出了根据实施例的数据存储装置。
图2是示出图1的存储器的图。
图3是示出图2的命令(CMD)队列的图。
图4是示出图2的顺序取消映射表的图。
图5是示出地址映射表的图。
图6是示出修整顺序逻辑地址的映射信息的过程的图。
图7是示出根据实施例的数据存储装置的操作方法的流程图。
图8示出了根据实施例的包括固态驱动器(SSD)的数据处理***。
图9示出了图8所示的控制器。
图10示出了根据实施例的包括数据存储装置的数据处理***。
图11示出了根据实施例的包括数据存储装置的数据处理***。
图12示出了根据实施例的包括数据存储装置的网络***。
图13示出了根据实施例的被包括在数据存储装置中的非易失性存储器装置。
具体实施方式
在下文中,将通过示例性实施例参考附图来描述根据本公开的数据存储装置及其操作方法。
图1示出了根据实施例的数据存储装置10的配置。
参考图1,根据本实施例的数据存储装置10可以存储由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视或车载信息娱乐***等的主机(未示出)访问的数据。数据存储装置10可以被称为存储器***。
根据耦合到主机的接口协议,数据存储装置10可以被制造为各种存储装置中的任何一种。例如,数据存储装置10可以被配置为各种类型的存储装置中的任何一种,包括固态驱动器(SSD)、多媒体卡(MMC)(诸如eMMC、RS-MMC或微型MMC)、安全数字(SD)卡(诸如迷你SD或微型SD)、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储器卡国际协会(PCMCIA)卡类型存储装置、***部件互连(PCI)卡类型存储装置、PCI快速(PCI-E)卡类型存储装置、紧凑型闪存(CF)卡、智能媒体卡和记忆棒。
数据存储装置10可以被制造为各种类型的封装中的任何一种。例如,数据存储装置10可以被制造为各种类型的封装中的任何一种,诸如封装上封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置10可以包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以作为数据存储装置10的存储介质进行操作。非易失性存储器装置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中的一个或多个。例如,存储器单元阵列110可以包括具有二维水平结构的存储器单元和具有三维垂直结构的存储器单元。
控制器200可以控制数据存储装置10的整体操作。控制器200可以处理从主机接收到的请求。控制器200可以基于从主机接收的请求来生成用于控制非易失性存储器装置100的操作的控制信号,并且将所生成的控制信号提供给非易失性存储器装置100。控制器200可以包括第一核210、存储器220和第二核230。
第一核210可以被配置为响应于主机的协议而将主机与数据存储装置10进行对接。因此,第一核210可以被称为协议核。例如,第一核210可以通过USB(通用串行总线)、UFS(通用闪存)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机***接口)、SAS(串行连接的SCSI)、PCI(***部件互连)和PCIe(PCI快速)中的任何一个协议与主机通信。
第一核210可以包括微控制单元(MCU)和中央处理单元(CPU)。第一核210可以接收从主机传输的命令,并且将所接收的命令提供给第二核230。
第一核210可以将从主机接收到的数据(例如,写数据)存储在存储器220的写缓冲器中。对于该操作,控制器200可以进一步包括用于将从主机接收的数据传输到存储器220的写缓冲器的单独的数据传输块(未示出)。例如,数据传输块可以根据从第一核210接收的控制信号来从主机接收数据,并且将所接收的数据存储在存储器220的写缓冲器中。
第一核210可以将存储在存储器220的读缓冲器中的数据(例如,读数据)传输到主机。例如,数据传输块可以根据从第一核210接收的控制信号来读取存储在存储器220的读缓冲器中的数据,并且将所读取的数据传输到主机。
第一核210可以基于从主机接收到的命令来生成描述符,并且将所生成的描述符提供给第二核230。描述符可以指示工作声明,该工作声明包括第二核230处理从主机接收的命令所需要的信息。
当从主机接收到取消映射命令时,第一核210可以在存储器220的命令队列中分配的取消映射命令队列中(将参考图2和图3进行描述)将所接收的取消映射命令排队。
存储器220可以被配置为诸如静态RAM(SRAM)等RAM,但是不限于此。存储器220可以物理地和电气地耦合到第一核220和第二核230。存储器220可以存储由第二核230驱动的固件。此外,存储器220可以存储驱动固件所需要的数据,例如,元数据。也就是说,存储器220可以作为第二核230的工作存储器进行操作。
存储器220可以包括缓冲器,以用于临时存储要从主机传输到非易失性存储器装置100的写数据或要从非易失性存储器装置100传输到主机的读数据。也就是说,存储器220可以操作缓冲存储器进行操作。将参考图2详细描述存储器220的内部配置。
第二核230可以通过驱动加载到存储器220的固件或软件来控制数据存储装置10的整体操作。第二核230可以解码和驱动基于代码的指令或算法,诸如固件或软件。因此,第二核230也可以被称为闪存转换层(FTL)核。第二核230可以包括微控制单元(MCU)和中央处理单元(CPU)。
第二核230可以基于通过第一核210提供的命令来生成用于控制非易失性存储器装置100的操作的控制信号,并且将所生成的控制信号提供给非易失性存储器装置100。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号。第二核230可以向非易失性存储器装置100提供写数据,或者从非易失性存储器装置100接收读数据。
第二核230可以进一步包括纠错码(ECC)电路,其通过对从主机提供的写数据执行ECC编码来生成奇偶校验数据并且使用奇偶校验数据来对从非易失性存储器装置100读取的数据执行ECC解码。
图2是示出图1的存储器220的图。
参考图2,根据本实施例的存储器220可以被划分为第一区域和第二区域,但是本实施例不限于此。例如,存储器220的第一区域可以存储由第二核230分析和驱动的软件以及第二核230执行计算和处理操作所需要的元数据,并且存储器220的第二区域可以包括用于临时存储写数据、读数据、映射数据等的缓冲器。然而,本实施例不限于此。例如,存储器220的第一区域与第一核210和第二核230中的每个核之间的距离可以小于存储器220的第二区域与第一核210和第二核230中的每个核之间的距离,但是本实施例不限于此。由于存储器220的第一区域在物理上靠近第一核210和第二核230,第一核210和第二核230可以快速地访问存储器220的第一区域。
例如,存储器220的第一区域可以存储FTL。FTL可以指示由第二核230驱动的软件,并且第二核230可以驱动FTL以控制非易失性存储器装置100的独有操作,并且向主机提供装置兼容性。在FTL被驱动时,主机可以识别并且使用数据存储装置10作为诸如硬盘等的通用数据存储装置。
FTL可以包括用于执行各种功能的模块。例如,FTL可以包括读模块、写模块、垃圾收集模块、耗损均衡模块、坏块管理模块、映射模块等。FTL可以存储在非易失性存储器装置100的***区域(未示出)中。当数据存储装置10通电时,可以从非易失性存储器装置100的***区域中读取FTL并且将其加载到存储器220的第一区域。可以将加载到存储器220的第一区域的FTL加载到专用于第二核230的并且单独地设置在第二核230内部或外部的存储器(未示出)。
存储器220的第一区域可以包括用于存储驱动FTL中包括的各种模块所需要的元数据的元区域。元区域可以存储由第二核230生成的顺序取消映射表(SUT)。将参考图4描述SUT。
存储器220的第一区域可以包括命令(CMD)队列,从主机接收的命令在该CMD队列中被排队。命令队列可以包括根据命令的属性被划分的多个命令队列。第一核210可以根据命令的属性在对应的命令队列中将从主机接收的命令排队。
存储器220的第二区域可以包括写缓冲器、读缓冲器、映射更新缓冲器等。
写缓冲器可以被配置为临时存储要从主机传送到非易失性存储器装置100的写数据。读缓冲器可以被配置为临时存储从非易失性存储器装置100读取的并且将被传输到主机的读数据。映射更新缓冲器可以被配置为临时存储其映射信息将被更新的映射段。
图3是示出图2的命令队列的图。
如上所述,命令队列可以包括多个命令队列。例如,如图3所示,命令队列可以包括写命令在其中被排队的写命令队列、读命令在其中被排队的读命令队列、以及取消映射命令在其中被排队的取消映射命令队列。为了描述的方便,图3示出了三种类型的命令在其中被排队的三个命令队列,但是本实施例不限于此。
当从主机接收到取消映射命令时,第一核210可以在取消映射命令队列中对所接收的取消映射命令顺序地排队。此时,尽管在图3中未具体示出,但是,每个排队的取消映射命令可以对应于逻辑地址,该逻辑地址从起始逻辑地址开始不间断地行进。每个排队的取消映射命令可以包括起始逻辑地址Start LBA和对应逻辑地址的长度信息(或数据大小信息)Length。长度信息Length可以与对应逻辑地址的总数相对应。数据大小信息可以对应于存储在由对应逻辑地址指示的存储区域中的数据大小之和。
根据对应逻辑地址的长度信息(或数据大小信息),从主机接收的取消映射命令可以分为随机取消映射命令和顺序取消映射命令。例如,在取消映射命令队列中排队的取消映射命令之中,第二核230可以确定其对应逻辑地址的长度信息(或数据大小信息)等于或大于预设阈值的取消映射命令是顺序取消映射命令。
与顺序取消映射命令相对应的逻辑地址可以是具有的长度或数据大小大于预设阈值的顺序逻辑地址。在一个实施例中,与顺序取消映射命令相对应的逻辑地址可以是一个或多个映射段中的逻辑地址,这将参考图6来描述。
图4是示出根据本实施例的顺序取消映射表(SUT)的图。
如上所述,第二核230可以基于取消映射命令中包括的长度信息(或数据大小信息)来确定在取消映射命令队列中排队的每个取消映射命令是否是顺序取消映射命令。如图4所示,第二核230可以生成与顺序取消映射命令相对应的顺序取消映射条目,并且生成由一个或多个顺序取消映射条目组成的SUT。第二核230可以将SUT存储在存储器220的第一区域的元区域中,但是本实施例不限于此。第二核230可以将SUT存储在存储器220的随机区域中。
参考图4,每个顺序取消映射条目可以包括以下字段:与顺序取消映射命令相对应的顺序逻辑地址的起始逻辑地址Start LBA、顺序逻辑地址的长度信息Length和修整指令数据。修整指令数据可以具有任何预定图案,其具有物理地址的格式。例如,修整指令数据指示其中修整位被设置为“置位”状态并且除了修整位以外的其他位被设置为零(0)的地址类型数据。修整指令数据可以替换被映射到与顺序取消映射命令相对应的顺序逻辑地址的物理地址。修整可以指示去除逻辑地址与物理地址之间的映射关系。
例如,当修整指令数据包括32位时,可以将32位中的一个特定位用作修整位。例如,具有第一值的修整位可以指示去除(即,修整)逻辑地址与物理地址之间的关系。例如,具有第二值的修整位可以指示保持逻辑地址与物理地址之间的关系。第一值可以被设置为“1”,而第二值可以被设置为“0”。然而,本实施例不限于此。在本实施例中,将以“1”用作第一值的情况作为示例进行描述。
参考图3和图4,当取消映射命令Unmap CMD1至Unmap CMD3都是顺序取消映射命令时,第二核230可以生成与相应的取消映射命令Unmap CMD1至Unmap CMD3相对应的顺序取消映射条目,并且生成由顺序取消映射条目构成的SUT。例如,每个顺序取消映射条目中包括的修整指令数据具有的值可以为“0x00000001”。这可以指示如下示例:其中包括32位的修整指令数据的第零位被用作修整位,并且除了修整位以外的其他位(即,第一位至第三十一位)被设置为“0”。
图5是示出地址映射表的图。
尽管未在图1中示出,但是非易失性存储器装置100可以包括图5所示的地址映射表。
参考图5,地址映射表可以包括多个映射段。每个映射段可以包括多个逻辑到物理(L2P)条目。每个L2P条目可以包括映射到一个逻辑地址的一个物理地址。可以按照升序对每个映射段中包括的逻辑地址进行排序和固定,并且可以更新映射到相应逻辑地址的物理地址。为了描述的方便,图5示出了如下示例:其中地址映射表包括100个映射段0至99,并且映射段0至99中的每一个包括100个L2P条目。然而,映射段的数目和L2P条目的数目不具体限于此。
图6是示出修整顺序逻辑地址的映射信息的过程的图。这里,“映射信息”可以指示包括逻辑地址和映射到逻辑地址的物理地址的信息。例如,“映射信息”可以指示L2P信息。
当映射更新操作被触发时,第二核230可以读取存储在非易失性存储器装置100的地址映射表中的映射段之中的要更新的映射段,并且将所读取的映射段存储在存储器220的映射更新缓冲器中。可以在各种条件下触发映射更新操作,包括:存储器220的元区域中包括的P2L(物理到逻辑)表已满的情况或者请求是从主机提供的情况。然而,本实施例不限于此,并且根据设计和需要,可以在各种条件下触发映射更新操作。
通常,可以通过以下一系列过程来执行映射更新操作:从地址映射表中读取要更新的映射段,将所读取的映射段存储在存储器220的映射更新缓冲器中,通过参考P2L表来改变映射到逻辑地址的物理地址,以及将其物理地址已经改变的映射段再次存储在地址映射表中。
在映射更新操作期间,可以修整要取消映射的映射段。下文中,要取消映射的映射段将被称为取消映射目标映射段。例如,第二核230可以读取存储在非易失性存储器装置100的地址映射表中的映射段之中的取消映射目标映射段(例如,“映射段0”),并且将所读取的映射段存储在存储器220的映射更新缓冲器中。
参考图6,存储在映射更新缓冲器中的“映射段0”的每个区域可以对应于一个逻辑地址,并且存储在每个区域中的值可以指示当前映射到对应区域的逻辑地址的物理地址。参考图4和图5,存储在图6的映射更新缓冲器中的映射段0可以对应于第一取消映射命令Unmap CMD1。
第二核230可以参考图4的SUT,以便修整存储在映射更新缓冲器中的“映射段0”的逻辑地址“LBA0至LBA99”。例如,第二核230可以检查与SUT中的第一取消映射命令UnmapCMD1相对应的顺序取消映射条目,并且在映射段0内将所有区域(即,从与“LBA0”相对应的第一区域到与“LBA99”相对应的最后区域的区域)中的所有物理地址替换为修整指令数据(即,“0x00000001”)。
因此,修整位为“1”而其他位为“0”的数据可以被存储在映射更新缓冲器中存储的“映射段0”的所有区域中。例如,在“映射段0”的所有区域中将物理地址替换为修整指令数据“0x00000001”的操作可以通过memset函数来被执行。memset函数可以根据诸如起始区域(例如,与“LBA0”相对应的第一区域)、要存储在预设空间(例如,映射段0)中的值(例如,修整指令数据的值“0x00000001”)和预设空间(例如,映射段0)的大小(例如,与LBA0至LBA99相对应的100)等的变量来将相同的值(即,修整指令数据的值“0x00000001”)同时存储在预设空间(例如,映射段0)内的所有区域中。
例如,第二核230可以使用memset函数来在“映射段0”的区域“LBA0至LBA99”中将物理地址同时替换为修整指令数据“0x00000001”。
当在“映射段0”的所有区域中完成将物理地址替换为修整指令数据“0x00000001”时,第二核230可以将修整后的“映射段0”存储在非易失性存储器装置100中,在修整后的“映射段0”中物理地址被替换为修整指令数据“0x00000001”。因此,可以完成针对“映射段0”的修整过程。
如上所述,当提供针对顺序逻辑地址的取消映射请求时,数据存储装置可以生成与顺序逻辑地址相对应的顺序取消映射条目,并且可以通过在映射更新操作期间使用顺序取消映射条目、通过将映射到顺序逻辑地址的物理地址同时(即,以批处理方式)集体改变为单条修整指令数据来取消映射顺序逻辑地址的映射信息,从而缩短了修整过程所需要的时间。
图7是示出根据实施例的数据存储装置的操作方法的流程图。尽管参考图7描述根据本实施例的数据存储装置10的操作方法,但是,可以参考图1至图6中的一个或多个图。
在步骤S710中,控制器200的第二核230可以确定当前条件是否已经达到触发映射更新操作的条件。由于上面已经描述了触发映射更新操作的条件,这里将省略其详细描述。当当前条件达到触发映射更新操作的条件时,过程可以进行到步骤S720。
在步骤S720中,第二核230可以从非易失性存储器装置100的地址映射表中读取包括逻辑地址的取消映射目标映射段,并且将所读取的映射段存储在存储器220的映射更新缓冲器中。
如上所述,每个取消映射命令可以对应于逻辑地址,该逻辑地址从起始逻辑地址开始不间断地行进。每个取消映射命令可以包括起始逻辑地址Start LBA和对应逻辑地址的长度信息(或数据大小信息)Start。在取消映射命令队列中排队的取消映射命令之中,第二核230可以确定其对应逻辑地址的长度信息(或数据大小信息)等于或大于预设阈值的取消映射命令是顺序取消映射命令。与顺序取消映射命令相对应的逻辑地址可以是具有的长度或数据大小大于预设阈值的顺序逻辑地址。
在步骤S730中,第二核230可以响应于顺序取消映射命令而使用memset函数来在映射更新缓冲器中存储的取消映射目标映射段内,将所有区域(例如,从与“LBA0”相对应的第一区域到与“LBA99”相对应的最后区域的区域)中的所有物理地址替换为修整指令数据(例如,“0x00000001”)。修整指令数据具有的修整位可以是“1”并且其他位可以是“0”。取消映射目标映射段中包括的要被修整的相应逻辑地址的修整指令数据可以彼此相等。
在步骤S740中,第二核230可以将修整后的取消映射目标映射段存储在非易失性存储器装置100中。因此,可以完成针对取消映射目标映射段的取消映射操作。
根据本实施例,数据存储装置及其操作方法可以生成与针对顺序逻辑地址的取消映射请求相对应的顺序取消映射条目,并且使用顺序取消映射条目同时修整顺序逻辑地址的映射信息,从而缩短了取消映射操作时间。
图8示出了根据一个实施例的包括固态驱动器(SSD)的数据处理***。参考图8,数据处理***2000可以包括主机装置2100和SSD2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和功率连接器2260。
控制器2210可以控制SSD 2220的整体操作。
缓冲存储器装置2220可以临时存储要存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。可以根据控制器2210的控制来将临时存储在缓冲存储器装置2220中的数据传输到主机装置2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn耦合到控制器2210。一个或多个非易失性存储器装置可以耦合到一个通道。耦合到一个通道的非易失性存储器装置可以耦合到同一信号总线和同一数据总线。
电源2240可以将通过功率连接器2260输入的功率PWR提供给SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以提供功率,使得即使发生突然断电,SSD2200正常地终止。辅助电源2241可以包括能够对功率PWR充电的大容量电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置2100与SSD 2200之间的对接方法,信号连接器2250可以由各种类型的连接器构成。
图9示出了图8的控制器2210。参考图9,控制器2210可以包括主机接口单元2211、控制单元2212、随机存取存储器(RAM)2213、纠错码(ECC)单元2214和存储器接口单元2215。
主机接口单元2211可以根据主机装置2100的协议在主机装置2100与SSD 2200之间执行对接。例如,主机接口单元2211可以通过安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储器卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串行附件SCSI(SAS)协议、***部件互连(PCI)协议、PCI快速(PCI-E)协议和通用闪存(UFS)协议中的任何一个与主机装置2100通信。主机接口单元2211可以执行盘仿真功能,其中主机装置2100将SSD 2200识别为通用数据存储装置,例如,硬盘驱动器HDD。
控制单元2212可以分析和处理从主机装置2100输入的信号SGL。控制单元2212可以根据用于驱动SDD 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。
图10示出了根据实施例的包括数据存储装置的数据处理***。参考图10,数据处理***3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以以诸如印刷电路板(PCB)的板形式配置。尽管未在图10中示出,但是主机装置3100可以包括被配置为执行主机装置3100的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。数据存储装置3200可以安装在连接端子3110上。
数据存储装置3200可以以诸如PCB的板形式配置。数据存储装置3200可以指代存储器模块或存储器卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储装置3200的整体操作。控制器3210可以被配置为具有与图9所示的控制器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之间传输诸如命令、地址和数据的信号以及功率。连接端子3250可以根据主机装置3100与数据存储装置3200之间的对接方法以各种形式配置。连接端子3250可以布置在数据存储装置3200的任一侧。
图11示出了根据实施例的包括数据存储装置的数据处理***。参考图11,数据处理***4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以以诸如PCB的板形式配置。尽管未在图11中示出,但是主机装置4100可以包括被配置为执行主机装置4100的功能的内部功能块。
数据存储装置4200可以以表面安装包装形式配置。数据存储装置4200可以通过焊球4250安装在主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的整体操作。控制器4210可以被配置为具有与图9所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储要存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以通过控制器4210的控制被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图12示出了根据实施例的包括数据存储装置的网络***5000。参考图12,网络***5000可以包括通过网络5500耦合的服务器***5300和多个客户端***5410至5430。
服务器***5300可以响应于多个客户端***5410至5430的请求来服务数据。例如,服务器***5300可以存储从多个客户端***5410至5430提供的数据。服务器***5300可以向多个客户端***5410至5430提供数据。
服务器***5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以由图1的数据存储装置10、图8的SSD 2200、图10的数据存储装置3200或图11的数据存储装置4200构成。
图13示出了根据实施例的被包括在数据存储装置中的非易失性存储器装置。参考图13,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器140、数据读/写块130、电压发生器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线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可以基于解码结果来耦合与位线BL1至BLn相对应的数据读/写块130的读/写电路RW1至RWn和数据输入/输出(I/O)线(或数据I/O缓冲器)。
电压发生器150可以生成用于非易失性存储器装置100的内部操作的电压。通过电压发生器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作中生成的编程电压可以被施加到将要执行编程操作的存储器单元的字线。在另一示例中,在擦除操作中生成的擦除电压可以被施加到将要执行擦除操作的存储器单元的阱区域。在另一示例中,在读取操作中生成的读取电压可以被施加到将要执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部装置提供的控制信号来控制非易失性存储器装置100的整体操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作、擦除操作。
尽管上面已经描述了各种实施例,但是本领域技术人员将理解,所描述的实施例仅是示例。因此,本文中已经描述的数据存储装置及其操作方法不应当基于所描述的实施例而受到限制。
尽管出于说明性目的描述了各种实施例,但是对本领域技术人员很清楚的是,在不脱离如所附权利要求书中限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (14)
1.一种数据存储装置,包括:
非易失性存储器装置;
存储器,包括取消映射命令队列和顺序取消映射表,所述取消映射命令队列被配置为存储从主机接收的取消映射命令,所述顺序取消映射表被配置为存储与针对顺序逻辑地址的取消映射命令相对应的顺序取消映射条目;以及
控制器,包括:
第一核,被配置为接收从所述主机传输的所述取消映射命令,并且将所接收的取消映射命令存储在所述存储器的所述取消映射命令队列中;以及
第二核,被配置为:
从存储在所述非易失性存储器装置中的地址映射表中读取包括所述顺序逻辑地址的取消映射目标映射段;
将所读取的取消映射目标映射段存储在所述存储器中;以及
在所存储的取消映射目标映射段内,将映射到所述顺序逻辑地址的物理地址同时改变为修整指令数据,所述修整指令数据被包括在所述顺序取消映射条目中。
2.根据权利要求1所述的数据存储装置,其中所述顺序取消映射条目包括所述顺序逻辑地址的起始逻辑地址、所述顺序逻辑地址的长度信息和所述修整指令数据。
3.根据权利要求2所述的数据存储装置,其中所述修整指令数据包括包含修整位的多个位,并且所述修整指令数据是所述修整位被设置为置位状态并且其他位被设置为0的映射数据。
4.根据权利要求2所述的数据存储装置,其中所述长度信息对应于包括所述起始逻辑地址的所述顺序逻辑地址的总数。
5.根据权利要求1所述的数据存储装置,其中所述修整指令数据是单条数据。
6.根据权利要求1所述的数据存储装置,其中所述取消映射命令包括所述顺序逻辑地址的起始逻辑地址和所述顺序逻辑地址的长度信息,以及
所述第二核确定在所述存储器的所述取消映射命令队列中排队的取消映射命令之中其长度信息等于或大于预设阈值的取消映射命令是顺序取消映射命令,并且生成与所述顺序取消映射命令相对应的所述顺序取消映射条目并且将所述顺序取消映射条目存储在所述顺序取消映射表中。
7.根据权利要求1所述的数据存储装置,其中所述取消映射命令包括所述顺序逻辑地址的起始逻辑地址和所述顺序逻辑地址的数据大小信息,以及
所述第二核确定在所述存储器的所述取消映射命令队列中排队的取消映射命令之中其数据大小信息等于或大于预设阈值的取消映射命令是顺序取消映射命令,并且生成与所述顺序取消映射命令相对应的所述顺序取消映射条目并且将所述顺序取消映射条目存储在所述顺序取消映射表中。
8.根据权利要求7所述的数据存储装置,其中所述数据大小信息对应于与所述顺序逻辑地址相对应的数据大小之和。
9.根据权利要求1所述的数据存储装置,其中所述第二核使用memset函数将所述取消映射目标映射段内的映射到所述顺序逻辑地址的所有物理地址同时改变为所述修整指令数据。
10.一种数据存储装置的操作方法,所述数据存储装置包括非易失性存储器装置和被配置为控制所述非易失性存储器装置的控制器,所述操作方法包括:
当映射更新操作被触发时,从存储在所述非易失性存储器装置中的地址映射表中读取包括顺序逻辑地址的取消映射目标映射段;
将所读取的取消映射目标映射段存储在存储器中;以及
在所存储的取消映射目标映射段内,将映射到所述顺序逻辑地址的物理地址同时改变为修整指令数据,所述修整指令数据被包括在与所述顺序逻辑地址相对应的顺序取消映射条目中。
11.根据权利要求10所述的操作方法,进一步包括:在将所述物理地址改变为所述修整指令数据之后,将改变后的取消映射目标映射段存储在所述非易失性存储器装置中。
12.根据权利要求10所述的操作方法,其中所述顺序取消映射条目包括所述顺序逻辑地址的起始逻辑地址、所述顺序逻辑地址的长度信息和所述修整指令数据。
13.根据权利要求10所述的操作方法,其中将所述物理地址改变为所述修整指令数据通过memset函数来被执行。
14.一种存储装置的操作方法,所述操作方法包括:
针对顺序逻辑地址的组生成单条修整数据;以及
通过以批处理方式将映射到所述组的物理地址集体地改变为所述单条修整数据来取消映射所述组的映射关系。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0001718 | 2019-01-07 | ||
KR1020190001718A KR20200085967A (ko) | 2019-01-07 | 2019-01-07 | 데이터 저장 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414312A CN111414312A (zh) | 2020-07-14 |
CN111414312B true CN111414312B (zh) | 2023-03-14 |
Family
ID=71403534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910982842.4A Active CN111414312B (zh) | 2019-01-07 | 2019-10-16 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11068206B2 (zh) |
KR (1) | KR20200085967A (zh) |
CN (1) | CN111414312B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210018570A (ko) | 2019-08-05 | 2021-02-18 | 에스케이하이닉스 주식회사 | 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 |
KR20210027563A (ko) * | 2019-08-28 | 2021-03-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN113360423A (zh) * | 2020-03-03 | 2021-09-07 | 瑞昱半导体股份有限公司 | 数据储存***及操作数据储存***的方法 |
US11579799B2 (en) * | 2020-03-18 | 2023-02-14 | Micron Technology, Inc. | Dynamic selection of cores for processing responses |
US11372586B2 (en) * | 2020-05-19 | 2022-06-28 | Hewlett Packard Enterprise Development Lp | System and method for regulating NVMe-oF command requests and data flow across a network with mismatched rates |
US20220075523A1 (en) * | 2020-09-08 | 2022-03-10 | Qualcomm Incorporated | Flash memory local purge |
KR20220050407A (ko) * | 2020-10-16 | 2022-04-25 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR20220049842A (ko) * | 2020-10-15 | 2022-04-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20220060790A (ko) * | 2020-11-05 | 2022-05-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US11755490B2 (en) * | 2020-12-15 | 2023-09-12 | Micron Technology, Inc. | Unmap operation techniques |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346287A (zh) * | 2013-08-09 | 2015-02-11 | Lsi公司 | 在固态介质中使用多级别映射的修整机制 |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN106886558A (zh) * | 2016-12-28 | 2017-06-23 | 浙江宇视科技有限公司 | 一种数据处理方法以及服务器 |
CN108804023A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN109117084A (zh) * | 2017-06-26 | 2019-01-01 | 西部数据技术公司 | 将逻辑储存块动态地重新调整尺寸 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012106362A2 (en) * | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US9069657B2 (en) * | 2011-12-12 | 2015-06-30 | Apple Inc. | LBA bitmap usage |
US9274937B2 (en) * | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
KR101465460B1 (ko) | 2013-11-25 | 2014-11-26 | 성균관대학교산학협력단 | 트림 방법 및 데이터 관리 장치 |
US20160371777A1 (en) * | 2015-06-17 | 2016-12-22 | Fixnetix Limited | Systems and methods for providing real-time pre-trade risk assessment |
KR101735065B1 (ko) | 2015-12-10 | 2017-05-24 | 한국외국어대학교 연구산학협력단 | 비트맵 기반의 트림 코맨드를 이용하는 데이터 관리 시스템 및 방법 |
KR20180080589A (ko) * | 2017-01-04 | 2018-07-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI638263B (zh) * | 2017-07-26 | 2018-10-11 | 大陸商深圳大心電子科技有限公司 | 資料備份方法、資料恢復方法以及儲存控制器 |
TWI670600B (zh) * | 2017-09-18 | 2019-09-01 | 深圳大心電子科技有限公司 | 資料備份方法、資料恢復方法以及儲存控制器 |
KR20190044968A (ko) * | 2017-10-23 | 2019-05-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102567140B1 (ko) * | 2017-11-24 | 2023-08-16 | 삼성전자주식회사 | 데이터 관리 방법 및 이를 수행하는 저장 장치 |
KR102493323B1 (ko) * | 2018-02-21 | 2023-01-31 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20200022118A (ko) | 2018-08-22 | 2020-03-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US11188496B2 (en) * | 2018-09-13 | 2021-11-30 | Toshiba Memory Corporation | System and method for storing data using ethernet drives and ethernet open-channel drives |
-
2019
- 2019-01-07 KR KR1020190001718A patent/KR20200085967A/ko unknown
- 2019-09-23 US US16/578,582 patent/US11068206B2/en active Active
- 2019-10-16 CN CN201910982842.4A patent/CN111414312B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346287A (zh) * | 2013-08-09 | 2015-02-11 | Lsi公司 | 在固态介质中使用多级别映射的修整机制 |
CN106681931A (zh) * | 2015-11-06 | 2017-05-17 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN106886558A (zh) * | 2016-12-28 | 2017-06-23 | 浙江宇视科技有限公司 | 一种数据处理方法以及服务器 |
CN108804023A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN109117084A (zh) * | 2017-06-26 | 2019-01-01 | 西部数据技术公司 | 将逻辑储存块动态地重新调整尺寸 |
Non-Patent Citations (1)
Title |
---|
Fast and flexible successive-cancellation list decoders for polar codes;Hashemi S A;《IEEE Transactions on Signal Processing》;5756-5769 * |
Also Published As
Publication number | Publication date |
---|---|
US20200218470A1 (en) | 2020-07-09 |
CN111414312A (zh) | 2020-07-14 |
US11068206B2 (en) | 2021-07-20 |
KR20200085967A (ko) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414312B (zh) | 数据存储装置及其操作方法 | |
CN110858129B (zh) | 数据存储装置及其操作方法 | |
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
US11249897B2 (en) | Data storage device and operating method thereof | |
CN111414313B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
KR20200020464A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
CN111752853A (zh) | 控制器、存储器***及其操作方法 | |
CN112286443A (zh) | 控制器、存储器***及其操作方法 | |
CN111752858A (zh) | 控制器、存储器***及其操作方法 | |
US20210397378A1 (en) | Storage device and operating method thereof | |
US20210397364A1 (en) | Storage device and operating method thereof | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same | |
US20210397558A1 (en) | Storage device and operating method thereof | |
US20200394134A1 (en) | Data storage device and operating method thereof | |
US11314461B2 (en) | Data storage device and operating method of checking success of garbage collection operation | |
US11144246B2 (en) | Memory system using available bad block based on data storage reliability and operating method thereof | |
US11294587B2 (en) | Data storage device capable of maintaining continuity of logical addresses mapped to consecutive physical addresses, electronic device including the same, and method of operating the data storage device | |
US20200117390A1 (en) | Data storage device and operating method thereof | |
CN111752473A (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 |