CN111506516A - 数据存储装置及数据存储装置的操作方法 - Google Patents
数据存储装置及数据存储装置的操作方法 Download PDFInfo
- Publication number
- CN111506516A CN111506516A CN201911079270.5A CN201911079270A CN111506516A CN 111506516 A CN111506516 A CN 111506516A CN 201911079270 A CN201911079270 A CN 201911079270A CN 111506516 A CN111506516 A CN 111506516A
- Authority
- CN
- China
- Prior art keywords
- core
- logical block
- block address
- data storage
- cpu
- 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.)
- Granted
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/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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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
- 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/0653—Monitoring storage devices or 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/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/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
- 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/068—Hybrid storage device
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/7211—Wear leveling
Abstract
本公开涉及一种数据存储装置。该数据存储装置可包括:存储器装置;以及控制器,被配置成控制存储器装置的操作。控制器可包括第一CPU和第二CPU,第二CPU包括多个内核,其中第一CPU将第二CPU的多个内核的P/E(编程/擦除)平均计数进行比较,并且执行改变被映射到从主机接收的逻辑块地址的内核的重新映射操作。
Description
相关申请的交叉引用
本申请要求于2019年1月31日向韩国知识产权局提交的申请号为10-2019-0012769的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种电子装置,且更特别地,涉及一种数据存储装置及数据存储装置的操作方法。
背景技术
近来,计算环境范例已经变成可以随时随地使用计算机系统的普适计算环境。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这种便携式电子装置通常使用数据存储装置,该数据存储装置使用存储器装置。数据存储装置用于存储便携式电子装置中使用的数据。
因为使用存储器装置的数据存储装置不具有机械驱动器,所以该数据存储装置的稳定性和耐久性优良,信息访问速度高而功耗低。具有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
在实施例中,一种数据存储装置可包括:存储器装置;以及控制器,被配置成控制存储器装置的操作。控制器可包括第一中央处理单元(CPU)和包括多个内核的第二CPU,其中第一CPU将第二CPU的多个内核的编程/擦除(P/E)平均计数进行比较,并且当多个内核之中存在各自具有P/E平均计数的第一内核和第二内核,并且第一内核的P/E平均计数和第二内核的P/E平均计数的差等于或大于预设阈值时,执行改变被映射到从主机接收的逻辑块地址的内核的重新映射操作。
在实施例中,提供一种数据存储装置的操作方法,该数据存储装置包括:存储器装置;以及控制器,被配置成控制该存储器装置的操作,并且具有第一中央处理单元(CPU)和包括多个内核的第二CPU。该操作方法可包括:将第二CPU的多个内核的编程/擦除(P/E)平均计数进行比较;检查第二CPU的多个内核之中是否存在第一内核和第二内核,其中第一内核和第二内核各自具有P/E平均计数并且第一内核的P/E平均计数和第二内核的P/E平均计数的差等于或大于预设阈值;并且当存在第一内核和第二内核时,执行改变被映射到从主机接收的逻辑块地址的内核的重新映射操作。
附图说明
图1示出根据实施例的数据存储装置。
图2示出HIL(主机接口层)的第一CPU将逻辑块地址映射到FTL(闪存转换层)的第二CPU的各个内核。
图3示出图1的易失性存储器。
图4示出包括FTL的第二CPU中包括的各个内核的P/E(编程/擦除)平均计数的P/E平均计数表。
图5示出包括每个逻辑块地址组的每内核访问计数的内核访问计数表。
图6示出包括逻辑块地址组中的每一个的内核映射偏移的内核映射偏移表。
图7是示出根据实施例的数据存储装置的操作方法的流程图。
图8示出根据实施例的包括固态驱动器(SSD)的数据处理系统。
图9示出图8所示的控制器。
图10示出根据实施例的包括数据存储设备的数据处理系统。
图11示出根据实施例的包括数据存储设备的数据处理系统。
图12示出根据实施例的包括数据存储设备的网络系统。
图13示出根据实施例的数据存储设备中包括的非易失性存储器装置。
具体实施方式
在下文中,下面参照附图,将通过各个实施例描述根据本公开的数据存储装置和数据存储装置的操作方法。
各个实施例可涉及一种能够均衡被分配到各个内核的存储区域的损耗水平的数据存储装置及数据存储装置的操作方法。
图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可被配置成诸如以下的各种类型的非易失性存储器装置中的任意一种: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可包括主机接口层(HIL)和闪存转换层(FTL)。
控制器200的HIL可包括中央处理单元(CPU)。为便于描述,HIL的CPU可被称为“第一CPU CPU1”。控制器200的FTL可包括CPU。为便于描述,FTL的CPU可被称为“第二CPUCPU2”。
第一CPU 210可被配置成响应于主机的协议接口连接主机和数据存储装置10。因此,第一CPU 210可被称为协议CPU。例如,第一CPU 210可通过以下的任意一种协议与主机通信:USB(通用串行总线)、UFS(通用闪存)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串列SCSI)、PCI(外围组件互连)和PCI-E(PCI高速)。
第一CPU 210可接收从主机传送的命令,并且调度接收的命令,并且将调度的命令提供到第二CPU 220。第一CPU 210可向第二CPU 220提供从主机接收的带有命令的逻辑块地址LBA。此时,当第二CPU 220包括多个内核时,第一CPU 210可将从主机接收的逻辑块地址提供到相应的内核。该操作将参照图2进行描述。
第一CPU 210可包括重新映射模块215。在特定条件下,重新映射模块215可由第一CPU 210驱动。特定条件可指示需要执行重新映射的条件。在实施例中,特定条件可指示以下情况:在第二CPU 220的多个内核Core 0至Core i-1之中存在两个内核,该两个内核的编程/擦除(P/E)平均计数的差等于或大于预设阈值。本文使用的关于诸如预设阈值和预设时段等参数的词“预设”表示参数值是参数在进程或算法中使用之前确定的。对于一些实施例,参数值是在进程或算法开始之前确定的。在其它实施例中,参数值是在进程或算法期间但在该进程或算法中使用该参数之前确定的。
当满足特定条件时,即,当在多个内核Core 0至Core i-1之中存在其P/E平均计数的差等于或大于预设阈值的两个内核时,第一CPU 210可驱动重新映射模块215。
重新映射模块215可在多个逻辑块地址组之中选择重新映射目标逻辑块地址组,并且改变重新映射目标逻辑块地址组的内核映射偏移。内核映射偏移可指示用于决定待分别被映射到逻辑块地址组中包括的多个逻辑块地址的内核的偏移。
第一CPU 210可将从主机接收的数据(例如,写入数据)临时存储在易失性存储器300中。第一CPU 210可将临时存储在易失性存储器300中的数据(例如,读取数据)传送到主机。对于该操作,控制器200可进一步包括单独的数据传送块(未示出),该数据传送块被配置成在第一CPU 210的控制下,将从主机接收的写入数据传送到易失性存储器300或将易失性存储器300中存储的读取数据传送到主机。
第二CPU 220可包括多个内核Core 0至Core i-1。非易失性存储器装置100的一些存储区域可被分配到各个内核Core 0至Core i-1。例如,非易失性存储器装置100可包括多个存储区域,并且多个存储区域中的一个或多个存储区域可被分配为各个内核Core 0至Core i-1的专用存储区域。存储区域中的每一个可指示管芯或存储器芯片。
内核Core 0至Core i-1中的每一个可对分配到其的专用存储区域独立地执行操作控制和管理。例如,内核Core 0至Core i-1中的每一个可控制专用存储区域,使得对专用存储区域执行写入操作、读取操作、擦除操作等。此外,内核Core 0至Core i-1中的每一个可独立地管理关于专用存储区域的映射信息,并且独立地对专用存储区域执行垃圾收集和损耗均衡。
内核Core 0至Core i-1中的每一个可通过驱动加载到易失性存储器300或控制器200的内部存储器(未示出)的固件或软件来控制数据存储装置10的整体操作。内核Core 0至Core i-1中的每一个可对诸如固件或软件的基于代码的指令或算法进行解码和驱动。因此,内核Core 0至Core i-1中的每一个也可被称为FTL(闪存转换层)内核。
第二CPU 220的内核Core 0至Core i-1可基于通过第一CPU 210提供的命令来生成用于控制非易失性存储器装置100的操作的控制信号,并且将生成的控制信号提供到非易失性存储器装置100。控制信号可包括用于控制非易失性存储器装置100的命令、地址和操作控制信号。
多个内核Core 0至Core i-1可将易失性存储器300中存储的写入数据提供到非易失性存储器装置100的相应的存储区域,或者将从相应的存储区域读取的读取数据存储在易失性存储器300中。对于该操作,控制器200可进一步包括单独的数据传送块(未示出),该数据传送块被配置成在多个内核Core 0至Core i-1的控制下,将易失性存储器300中存储的写入数据传送到非易失性存储器装置100,或者将从非易失性存储器装置100读取的读取数据传送到易失性存储器300。
易失性存储器300可被配置成诸如动态RAM(DRAM)的随机存取存储器(RAM),但实施例不限于此。图1仅示出易失性存储器300安装在控制器200外部。然而,实施例不限于此,而是控制器200可在其中包括存储器。控制器200的内部存储器可以是静态RAM(SRAM),但实施例不限于此。
易失性存储器300可被配置成临时存储待从主机传送到非易失性存储器装置100的写入数据或者待从非易失性存储器装置100传送到主机的读取数据。此外,易失性存储器300可被配置成存储关于非易失性存储器装置100的映射数据(或映射信息)。在实施例中,映射数据和映射信息可互换使用。下面将参照图3描述易失性存储器300的内部配置。
图2示出第一CPU 210确定被映射到第二CPU 220的各个内核Core 0至Core i-1的逻辑块地址,并且将映射的逻辑块地址提供到各个内核Core 0至Core i-1。
参照图2,非易失性存储器装置100可包括多个管芯D或多个存储区域。此时,j个管芯D1至Dj可被分配并联接到第二CPU 220的内核Core 0至Core i-1中的每一个。此处,j可以是等于或大于2的自然数。图2示出相等数量的管芯,即j个管芯D1至Dj被分配并联接到第二CPU 220的内核Core 0至Core i-1中的每一个,但被分配并联接到各个内核Core 0至Core i-1的管芯的数量可彼此不同。第二CPU 220的内核Core 0至Core i-1中的每一个可独立地对分配到其的管芯D1至Dj执行操作控制和管理。
第一CPU 210可将从主机接收的逻辑块地址LBA提供到第二CPU 220的相应的内核。在实施例中,第一CPU 210可使用模块化算法来确定待映射到从主机接收的逻辑块地址的内核,并且将接收的逻辑块地址提供到相应的内核。
例如,当从主机接收的逻辑块地址是“LBA0”时,第一CPU 210可确定通过将逻辑块地址数量“0”除以第二CPU 220中内核的数量(例如,“i”)而获得的余数,即“0”,是待映射到逻辑块地址“LBA0”的内核数量,并且将逻辑块地址“LBA0”提供到第二CPU 220的内核Core0。以这种方式,第一CPU 210可确定待映射到从主机接收的各个逻辑块地址的内核,并且提供与各个内核对应的逻辑块地址。在图2中,“LBA#0”、“LBA#1”和“LBA#i-1”可表示与余数“0”、“1”和“i-1”对应的逻辑块地址,这些余数分别通过将逻辑块地址数量除以第二CPU220中的内核的数量而获得。
这样,可通过计算来决定并固定提供到第二CPU 220的各个内核Core 0至Core i-1的逻辑块地址。因此,当从主机重复接收到针对特定逻辑块地址的编程命令时,被映射到特定逻辑块地址的内核的专用管芯之中的特定管芯的P/E计数可能快速增加。因此,被映射到特定逻辑块地址的内核的特定管芯可能比分配到其它内核的管芯损耗得更快。也就是说,第二CPU 220的多个内核Core 0至Core i-1的管芯可能损耗不均匀,从而对性能劣化造成影响。
因此,在实施例中,可在特定条件下执行内核之间的逻辑块地址重新映射。例如,第一CPU 210可在每个预设时段中将第二CPU 220的多个内核Core 0至Core i-1的P/E平均计数进行比较,并且检查在多个内核Core 0至Core i-1之中是否存在第一内核和第二内核,其中第一内核的P/E平均计数和第二内核的P/E平均计数的差等于或大于预设阈值。当存在第一内核和第二内核时,第一CPU 210可确定满足了内核之中需要执行逻辑块地址重新映射的特定条件,并且驱动重新映射模块215。此后,为便于描述,假设第一内核的P/E平均计数大于第二内核的P/E平均计数。
重新映射模块215可在多个逻辑块地址组之中选择逻辑块地址组作为重新映射目标逻辑块地址组,该逻辑块地址组满足其中第一内核的访问计数大于第二内核的访问计数的第一条件以及其中第一内核的访问计数和第二内核的访问计数之间的差最大的第二条件。此外,重新映射模块215可重置内核映射偏移,以用于改变被映射到重新映射目标逻辑块地址组的各个逻辑块地址的内核。在重置内核映射偏移之前,重新映射模块215可向内核Core 0至Core i-1提供用于移动与重新映射目标逻辑块地址组的各个逻辑块地址相对应的物理块地址中存储的数据的指令。
图3示出图1的易失性存储器300的配置。
参照图3,易失性存储器300可包括用户数据区域310、元数据区域320及映射数据区域330。用户数据区域310可临时存储待从主机传送到非易失性存储器装置100的写入数据和从非易失性存储器装置100读取并将被传送到主机的读取数据。元数据区域320可存储诸如固件的软件以及用于驱动软件所需的元数据。映射数据区域330可存储映射数据。
元数据区域320可存储P/E平均计数表P/E ACT、内核访问计数表CACT及内核映射偏移表CMOT。P/E平均计数表P/E ACT可被配置成存储第二CPU 220的各个内核Core 0至Core i-1的P/E平均计数,内核访问计数表CACT可被配置成存储各个内核Core 0至Core i-1的每个逻辑块地址组的访问计数,并且内核映射偏移表CMOT可被配置成存储每个逻辑块地址组的内核映射偏移。P/E平均计数表P/E ACT、内核访问计数表CACT和内核映射偏移表CMOT可由HIL的第一CPU 210生成、存储和更新,但实施例不限于此。
第一CPU 210可通过在每个预设时段中参考易失性存储器300中存储的P/E平均计数表P/E ACT将各个内核Core 0至Core i-1的P/E平均计数进行比较,并且检查在多个内核Core 0至Core i-1之中是否存在第一内核和第二内核,其中第一内核的P/E平均计数和第二内核的P/E平均计数的差值等于或大于预设阈值。当存在第一内核和第二内核时,第一CPU 210可驱动重新映射模块215。
P/E平均计数表P/E ACT可包括内核Core 0至Core i-1中的每一个中的专用管芯(或存储区域)的P/E计数的平均值。
重新映射模块215可通过参考易失性存储器300中存储的内核访问计数表CACT来选择逻辑块地址组作为重新映射目标逻辑块地址组,该逻辑块地址组满足其中第一内核的访问计数大于第二内核的访问计数的第一条件以及其中第一内核的访问计数和第二内核的访问计数之间的差最大的第二条件。
内核访问计数表CACT可包括逻辑块地址组LBAG0至LBAGn中的每一个的每内核访问计数Core 0访问计数至Core i-1访问计数。一个逻辑块地址组可包括多个逻辑块地址,并且多个逻辑块地址中的一个或多个逻辑块地址可被映射到内核Core 0至Core i-1中的每一个。例如,参照图5,逻辑块地址LBAG0中包括的多个逻辑块地址之中,具有值“0”作为通过将逻辑块地址数量除以内核数量“i”而获得的余数的一个或多个逻辑块地址“LBA#0”可被映射到“Core 0”。类似地,逻辑块地址组LBAGn中包括的多个逻辑块地址之中,具有值“1”至“i-1”作为通过将逻辑块地址数量除以内核数量“i”而获得的余数的逻辑块地址“LBA#1”至“LBA#i-1”可分别被映射到“Core 1”至“Core i-1”。
因此,图5所示的每内核访问计数Core 0访问计数至Core i-1访问计数中的每一个可指示被映射到相应的内核的逻辑块地址的访问计数的总和。例如,逻辑块地址组LBAG0中的内核“Core 0”的访问计数可指示逻辑块地址组LBAG0中包括的逻辑块地址之中被映射到内核“Core 0”的逻辑块地址的访问计数的总和。
在实施例中,当存在其P/E平均计数的差值等于或大于预设阈值(第一内核的P/E计数>第二内核的P/E计数)的第一内核和第二内核时,满足其中第一内核的访问计数大于第二内核的访问计数的第一条件以及其中第一内核的访问计数和第二内核的访问计数之间的差最大的第二条件的逻辑块地址组可被选择作为重新映射目标逻辑块地址组。原因在于被映射到相应的逻辑块地址组中第一内核的逻辑块地址的数量很可能将不断增加。
重新映射模块215可向内核Core 0至Core i-1提供用于将数据移动到待重新映射的内核的专用管芯的指令,数据存储在与重新映射目标逻辑块地址组的各个逻辑块地址相对应的物理块地址中。第二CPU 220的内核Core 0至Core i-1中的每一个可根据重新映射模块215的指令将数据移动到待重新映射的内核。因此,在重新映射之前各个内核中存储的数据可能无效。
当数据被完全移动时,重新映射模块215可重置内核映射偏移表CMOT中存储的并且与重新映射目标逻辑块地址组对应的内核映射偏移。例如,当第一内核的P/E平均计数大于第二内核的P/E平均计数时,第一内核可变为源内核,第二内核可变为目标内核。也就是说,重新映射模块215可执行重新映射,以将被映射到第一内核的逻辑块地址映射到第二内核。对于该操作,重新映射模块215可将从第一内核到第二内核的偏移重置为重新映射目标逻辑块地址组的内核映射偏移。在实施例中,当第一内核是“Core 0”,并且第二内核是“Core 3”时,偏移量为“3”。因此,可将图6的内核映射偏移表CMOT中与重新映射目标逻辑块地址组(例如,LBAG0)对应的内核映射偏移重置为“3”。
参照图6,可将在初始阶段生成的内核映射偏移表CMOT中的各个逻辑块地址组LBAG0至LBAGn的内核映射偏移的默认值设置为“0”。因此,在重新映射之前从主机接收的逻辑块地址可被映射到与通过将逻辑块地址数量除以内核的数量而获得的余数相对应的内核。此外,在重新映射之后从主机接收的逻辑块地址可被映射到与通过将值除以内核的数量而获得的余数相对应的内核,该值通过将重置内核映射偏移(例如,3)与通过将逻辑块地址数量除以内核的数量而获得的余数相加而获得。
例如,当假设第二CPU 220中的内核的数量为四(Core 0至Core 3),第一内核是“Core 0”,第二内核是“Core 3”,并且第一内核的P/E平均计数大于第二内核的P/E平均计数时,可将内核映射偏移设置为“3”。因此,之前已被映射到“Core 0”的逻辑块地址“LBA0、LBA4、LBA8、……”可被重新映射到“Core 3”,之前已被映射到“Core 1”的逻辑块地址“LBA1、LBA5、LBA9、……”可被重新映射到“Core 0”,之前已被映射到“Core 2”的逻辑块地址“LBA2、LBA6、LBA10、……”可被重新映射到“Core 1”,并且之前已被映射到“Core 3”的逻辑块地址“LBA3、LBA7、LBA11、……”可被重新映射到“Core 2”。
当假设第二内核的P/E平均计数大于第一内核的P/E平均计数时,可将内核映射偏移设置为“1”。因此,之前已被映射到“Core 0”的逻辑块地址“LBA0、LBA4、LBA8、……”可被重新映射到“Core 1”,之前已被映射到“Core 1”的逻辑块地址“LBA1、LBA5、LBA9、……”可被重新映射到“Core 2”,之前已被映射到“Core 2”的逻辑块地址“LBA2、LBA6、LBA10、……”可被重新映射到“Core 3”,并且之前已被映射到“Core 3”的逻辑块地址“LBA3、LBA7、LBA11、……”可被重新映射到“Core 0”。
图7是示出根据实施例的数据存储装置的操作方法的流程图。在参照图7描述根据实施例的数据存储装置10的操作方法的同时,可参照图1至图6中的一个或多个。
在步骤S710中,控制器200的第一CPU 210可在每个预设时段中通过参考易失性存储器300中存储的P/E平均计数表P/E ACT将多个内核Core 0至Core i-1的P/E平均计数进行比较。
在步骤S720中,第一CPU 210可确定在多个内核Core 0至Core i-1之中是否存在第一内核和第二内核,其中第一内核的P/E平均计数和第二内核的P/E平均计数的差等于或大于预设阈值。在实施例中,为便于描述,假设第一内核的P/E平均计数大于第二内核的P/E平均计数。当不存在第一内核和第二内核时,可结束相应的进程。当存在第一内核和第二内核时,进程可进行到步骤S730。在该步骤中,当存在第一内核和第二内核时,第一CPU 210可驱动重新映射模块215以执行步骤S730至S750。
在步骤S730中,由第一CPU 210驱动的重新映射模块215可通过参考易失性存储器300中存储的内核访问计数表CACT来选择逻辑块地址组作为重新映射目标逻辑块地址组LBAG,该逻辑块地址组满足其中第一内核的访问计数大于第二内核的访问计数的第一条件以及其中第一内核的访问计数和第二内核的访问计数之间的差最大的第二条件。
在步骤S740中,重新映射模块215可向内核Core 0至Core i-1提供用于将数据移动到待重新映射的内核的专用管芯或存储区域的指令,数据被分别存储在与重新映射目标逻辑块地址组中包括的逻辑块地址相对应的物理块地址中。根据重新映射模块215的指令,内核Core 0至Core i-1可将数据移动到待重新映射的内核的专用管芯。当数据被完全移动时,进程可进行到步骤S750。
在步骤S750中,重新映射模块215可在内核映射偏移表CMOT中重置对应于重新映射目标逻辑块地址组的内核映射偏移。例如,重新映射模块215可将从源内核(即,第一内核)到目标内核(即,第二内核)的偏移重置为重新映射目标逻辑块地址组的内核映射偏移。
根据本实施例,数据存储装置及其操作方法可通过重新映射被映射到各个内核的逻辑块地址,在各个内核的存储区域之中执行损耗均衡,从而均衡各个内核的存储区域的损耗水平。
图8示出根据实施例的包括固态驱动器(SSD)的数据处理系统。参照图8,数据处理系统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可包括命令、地址、数据等。信号连接器2250可根据主机设备2100和SSD 2200之间的接口连接方法被配置为各种类型的连接器。
图9示出图8的控制器2210。参照图9,控制器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可根据用于驱动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可包括存储器单元MC,该存储器单元MC布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域中。
行解码器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 (16)
1.一种数据存储装置,包括:
存储器装置;以及
控制器,控制所述存储器装置的操作,
其中所述控制器包括第一中央处理单元,即第一CPU,以及第二CPU,所述第二CPU包括多个内核,
其中所述第一CPU将所述第二CPU的多个内核的编程/擦除平均计数即P/E平均计数进行比较,并且当所述多个内核之中存在第一内核和第二内核,并且所述第一内核和所述第二内核各自具有P/E平均计数且所述第一内核的P/E平均计数和所述第二内核的P/E平均计数的差等于或大于预设阈值时,执行改变被映射到从主机接收的逻辑块地址的内核的重新映射操作。
2.根据权利要求1所述的数据存储装置,进一步包括存储器,
其中所述存储器包括:
P/E计数表,包括所述第二CPU的多个内核的P/E平均计数;
内核访问计数表,包括针对多个逻辑块地址组中的每一个的每内核访问计数;以及
内核映射偏移表,包括针对各个逻辑块地址组的内核映射偏移。
3.根据权利要求2所述的数据存储装置,
其中所述存储器装置是非易失性存储器装置,并且
其中所述存储器是易失性存储器。
4.根据权利要求2所述的数据存储装置,其中所述第一CPU包括执行所述重新映射操作的重新映射模块。
5.根据权利要求4所述的数据存储装置,其中当在所述第二CPU的多个内核之中存在所述第一内核和所述第二内核时,所述第一CPU驱动所述重新映射模块以执行所述重新映射操作。
6.根据权利要求4所述的数据存储装置,其中当所述第一内核的P/E平均计数大于所述第二内核的P/E平均计数时,所述重新映射模块通过参考所述内核访问计数表在多个逻辑块地址组之中选择逻辑块地址组作为重新映射目标逻辑块地址组,所述逻辑块地址组满足第一条件和第二条件,在所述第一条件中,所述第一内核的访问计数大于所述第二内核的访问计数,在所述第二条件中,所述第一内核的访问计数和所述第二内核的访问计数之间的差最大。
7.根据权利要求6所述的数据存储装置,其中所述重新映射模块重置所述内核映射偏移表中与所述重新映射目标逻辑块地址组对应的所述内核映射偏移。
8.根据权利要求7所述的数据存储装置,其中所述重新映射模块通过将与所述重新映射目标逻辑块地址组对应的所述内核映射偏移改变为从所述第一内核到所述第二内核的偏移来重置所述内核映射偏移。
9.根据权利要求7所述的数据存储装置,其中在重置所述内核映射偏移之前,所述重新映射模块向所述第二CPU的所述多个内核中的每一个提供指令,以将与所述重新映射目标逻辑块地址组中包括的逻辑块地址相对应的数据移动到待重新映射的内核的专用存储区域。
10.根据权利要求9所述的数据存储装置,其中所述第二CPU的所述多个内核根据从所述重新映射模块提供的指令将数据移动到待重新映射的内核的专用存储区域,所述数据与所述重新映射目标逻辑块地址组中包括的所述逻辑块地址之中的一个或多个相应的逻辑块地址相对应。
11.一种数据存储装置的操作方法,所述数据存储装置包括存储器装置;以及控制器,控制所述存储器装置的操作,并且具有第一中央处理单元,即第一CPU,以及第二CPU,所述第二CPU包括多个内核,所述操作方法包括:
将所述第二CPU的所述多个内核的编程/擦除平均计数即P/E平均计数进行比较;
检查在所述第二CPU的所述多个内核之中是否存在第一内核和第二内核,所述第一内核和所述第二内核各自具有P/E平均计数并且所述第一内核的P/E平均计数和所述第二内核的P/E平均计数的差等于或大于预设阈值;并且
当存在所述第一内核和所述第二内核时,执行改变被映射到从主机接收的逻辑块地址的内核的重新映射操作。
12.根据权利要求11所述的操作方法,其中当所述第一内核的P/E平均计数大于所述第二内核的P/E平均计数时,执行所述重新映射操作包括:
在多个逻辑块地址组之中选择逻辑块地址组作为重新映射目标逻辑块地址组,所述逻辑块地址组满足第一条件和第二条件,在所述第一条件中,所述第一内核的访问计数大于所述第二内核的访问计数,在所述第二条件中,所述第一内核的访问计数和所述第二内核的访问计数之间的差最大;并且
重置与所述重新映射目标逻辑块地址组对应的内核映射偏移。
13.根据权利要求12所述的操作方法,其中所述内核映射偏移是决定待映射到所述逻辑块地址组中的每一个中包括的多个逻辑块地址中的每一个的内核的偏移。
14.根据权利要求13所述的操作方法,其中重置所述内核映射偏移包括:将与所述重新映射目标逻辑块地址组对应的所述内核映射偏移改变为从所述第一内核到所述第二内核的偏移。
15.根据权利要求12所述的操作方法,进一步包括:在重置所述内核映射偏移之前,将数据移动到待重新映射的内核的专用存储区域,所述数据与所述重新映射目标逻辑块地址组中包括的逻辑块地址对应。
16.根据权利要求11所述的操作方法,其中所述存储器装置是非易失性存储器装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190012769A KR20200095103A (ko) | 2019-01-31 | 2019-01-31 | 데이터 저장 장치 및 그 동작 방법 |
KR10-2019-0012769 | 2019-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506516A true CN111506516A (zh) | 2020-08-07 |
CN111506516B CN111506516B (zh) | 2023-03-07 |
Family
ID=71837434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911079270.5A Active CN111506516B (zh) | 2019-01-31 | 2019-11-07 | 数据存储装置及数据存储装置的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10949105B2 (zh) |
KR (1) | KR20200095103A (zh) |
CN (1) | CN111506516B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200104601A (ko) | 2019-02-27 | 2020-09-04 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
KR102456173B1 (ko) | 2017-10-27 | 2022-10-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20210062476A (ko) | 2019-11-21 | 2021-05-31 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102456176B1 (ko) | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11573891B2 (en) | 2019-11-25 | 2023-02-07 | SK Hynix Inc. | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device |
KR20210063724A (ko) | 2019-11-25 | 2021-06-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102406449B1 (ko) | 2020-06-25 | 2022-06-08 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102435253B1 (ko) | 2020-06-30 | 2022-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11755476B2 (en) | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
KR102495910B1 (ko) | 2020-04-13 | 2023-02-06 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20210142477A (ko) | 2020-05-18 | 2021-11-25 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20220049842A (ko) * | 2020-10-15 | 2022-04-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090198946A1 (en) * | 2008-02-04 | 2009-08-06 | Hitachi, Ltd. | Computer system and garbage collection method of disk space |
US20170147504A1 (en) * | 2015-11-19 | 2017-05-25 | Silicon Motion, Inc. | Data storage device and data storage method |
CN107094370A (zh) * | 2012-05-04 | 2017-08-25 | 希捷科技有限公司 | 固态硬盘控制器的0‑1平衡管理 |
US20170262178A1 (en) * | 2016-03-09 | 2017-09-14 | Kabushiki Kaisha Toshiba | Storage system having a host that manages physical data locations of a storage device |
CN108268339A (zh) * | 2016-12-30 | 2018-07-10 | Emc知识产权控股有限公司 | 用于在线编程/擦除计数估计的方法和系统 |
CN108804023A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
KR20200117256A (ko) * | 2019-04-03 | 2020-10-14 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653778B2 (en) * | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US9153337B2 (en) | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US20090150640A1 (en) | 2007-12-11 | 2009-06-11 | Royer Steven E | Balancing Computer Memory Among a Plurality of Logical Partitions On a Computing System |
US7870363B2 (en) | 2007-12-28 | 2011-01-11 | Intel Corporation | Methods and arrangements to remap non-volatile storage |
KR101516580B1 (ko) | 2009-04-22 | 2015-05-11 | 삼성전자주식회사 | 컨트롤러, 이를 포함하는 데이터 저장 장치 및 데이터 저장 시스템, 및 그 방법 |
US8601202B1 (en) * | 2009-08-26 | 2013-12-03 | Micron Technology, Inc. | Full chip wear leveling in memory device |
TWI423024B (zh) | 2009-11-23 | 2014-01-11 | Phison Electronics Corp | 用於快閃記憶體的資料儲存方法及其控制器與儲存系統 |
US8869161B2 (en) | 2010-11-18 | 2014-10-21 | Fujitsu Limited | Characterization and assignment of workload requirements to resources based on predefined categories of resource utilization and resource availability |
EP2631916B1 (en) | 2011-09-06 | 2015-08-26 | Huawei Technologies Co., Ltd. | Data deletion method and apparatus |
US9274839B2 (en) | 2012-09-27 | 2016-03-01 | Intel Corporation | Techniques for dynamic physical memory partitioning |
WO2014105058A1 (en) | 2012-12-28 | 2014-07-03 | Intel Corporation | Optimal logical processor count and type selection for a given workload on platform thermals and power budgeting constraints |
US9384059B2 (en) | 2013-05-31 | 2016-07-05 | Hitachi, Ltd. | Comparing resource costs between allocation plans in a load balance apparatus |
KR102128472B1 (ko) | 2014-02-17 | 2020-06-30 | 삼성전자주식회사 | 인-스토리지 컴퓨팅 동작들을 수행할 수 있는 스토리지 장치, 이의 동작 방법, 및 이를 포함하는 시스템 |
US10261697B2 (en) | 2015-06-08 | 2019-04-16 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
KR102509986B1 (ko) | 2016-03-28 | 2023-03-14 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
KR102610537B1 (ko) | 2016-11-10 | 2023-12-06 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 |
CN107391391B (zh) | 2017-07-19 | 2019-05-14 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 |
US20190227618A1 (en) | 2018-01-23 | 2019-07-25 | Goke Us Research Laboratory | Power Management for a Data Storage Apparatus |
JP6967986B2 (ja) | 2018-01-29 | 2021-11-17 | キオクシア株式会社 | メモリシステム |
US10956318B2 (en) | 2018-06-19 | 2021-03-23 | Macronix International Co., Ltd. | Overlapping ranges of pages in memory systems |
US20200233588A1 (en) | 2019-01-23 | 2020-07-23 | Alibaba Group Holding Limited | Efficient lightweight storage nodes |
-
2019
- 2019-01-31 KR KR1020190012769A patent/KR20200095103A/ko active Search and Examination
- 2019-10-22 US US16/660,651 patent/US10949105B2/en active Active
- 2019-11-07 CN CN201911079270.5A patent/CN111506516B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090198946A1 (en) * | 2008-02-04 | 2009-08-06 | Hitachi, Ltd. | Computer system and garbage collection method of disk space |
CN107094370A (zh) * | 2012-05-04 | 2017-08-25 | 希捷科技有限公司 | 固态硬盘控制器的0‑1平衡管理 |
US20170147504A1 (en) * | 2015-11-19 | 2017-05-25 | Silicon Motion, Inc. | Data storage device and data storage method |
US20170262178A1 (en) * | 2016-03-09 | 2017-09-14 | Kabushiki Kaisha Toshiba | Storage system having a host that manages physical data locations of a storage device |
CN108268339A (zh) * | 2016-12-30 | 2018-07-10 | Emc知识产权控股有限公司 | 用于在线编程/擦除计数估计的方法和系统 |
CN108804023A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
KR20200117256A (ko) * | 2019-04-03 | 2020-10-14 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
Non-Patent Citations (2)
Title |
---|
BISABANBAN PANDA.ETC: "SPAC:A Synergistic Prefetcher Aggressiveness Controller for Multi-Core Systems", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
张骏: "多核、多线程处理器的低功耗设计技术研究", 《计算机科学》 * |
Also Published As
Publication number | Publication date |
---|---|
US10949105B2 (en) | 2021-03-16 |
US20200249854A1 (en) | 2020-08-06 |
KR20200095103A (ko) | 2020-08-10 |
CN111506516B (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US11216362B2 (en) | Data storage device and operating method thereof | |
US10877887B2 (en) | Data storage device and operating method thereof | |
US11068206B2 (en) | Data storage device for processing a sequential unmap entry by using trim instruction data and operating method thereof | |
US10769066B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
CN111414313B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
US10878924B2 (en) | Data storage device intergrating host read commands and method of operating the same | |
CN111916140B (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
US20200310956A1 (en) | Data storage device and operating method thereof | |
US10929289B2 (en) | Controller, memory system and operating method thereof | |
US20210397364A1 (en) | Storage device and operating method thereof | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US20210397558A1 (en) | Storage device and operating method thereof | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
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 | |
US20200117390A1 (en) | Data storage device and operating method thereof |
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 |