CN115390746A - 主机设备、存储设备以及电子设备 - Google Patents
主机设备、存储设备以及电子设备 Download PDFInfo
- Publication number
- CN115390746A CN115390746A CN202210579394.5A CN202210579394A CN115390746A CN 115390746 A CN115390746 A CN 115390746A CN 202210579394 A CN202210579394 A CN 202210579394A CN 115390746 A CN115390746 A CN 115390746A
- Authority
- CN
- China
- Prior art keywords
- partition
- data
- memory
- log
- physical
- 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.)
- Pending
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/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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种主机设备、存储设备及电子设备。该电子设备包括:主机设备,包括:应用,请求写入数据;以及文件系统,响应于应用的请求,生成关于数据属性的日志,并基于日志分配与数据对应的分区;以及存储设备,包括:存储器装置,包括多个存储器管芯;以及存储器控制器,从主机设备接收数据和数据的日志,并控制存储器装置以将数据顺序地存储在对应于分区的存储器装置中的物理区域中,其中存储器控制器可以基于日志分配包括物理区域的超级块,超级块可以基于日志包括多个第一物理区域或包括多个第二物理区域,第一物理区域包括一个存储器管芯中的一个以上的存储器块,第二物理区域包括不同的存储器管芯中包括的每个存储器块的一部分。
Description
技术领域
本发明涉及一种电子设备,具体地,涉及主机设备、存储设备以及电子设备。
背景技术
存储设备将从主机设备接收的逻辑地址转换为物理地址并使用,因此,主机设备中的逻辑区域和存储设备的物理区域是相互关联的。因此,为了提高电子设备的性能,需要一种能够互补地控制主机设备和存储设备的新装置或方法。
发明内容
(一)要解决的技术问题
本发明的实施例提供了一种能够根据每个数据的特性进行有效管理的主机设备、存储设备以及电子设备。
(二)技术方案
根据本发明的实施例的电子设备可以包括:主机设备,包括:应用,请求写入数据;以及文件系统,响应于所述应用的请求,生成关于所述数据属性的日志,并基于所述日志分配与所述数据对应的分区;以及存储设备,包括:存储器装置,包括多个存储器管芯;以及存储器控制器,从所述主机设备接收所述数据和所述数据的日志,并控制所述存储器装置以将所述数据顺序地存储在对应于所述分区的所述存储器装置中的物理区域中,其中所述存储器控制器可以基于所述日志分配包括所述物理区域的超级块,所述超级块可以基于所述日志包括多个第一物理区域或包括多个第二物理区域,所述第一物理区域包括一个存储器管芯中的一个以上的存储器块,所述第二物理区域包括不同的存储器管芯中包括的每个存储器块的一部分。
根据本发明的实施例的主机设备可以包括:应用,请求写入数据;以及文件系统,响应于所述应用的请求,生成关于所述数据属性的日志,并基于所述日志分配与所述数据对应的分区,其中所述文件系统可以基于所述日志确定包括所述分区的分区组,所述分区组可以是一个以上的第一分区组或一个以上的第二分区组,在所述第一分区组中与所述分区组中的分区顺序无关地分配所述分区组中的空分区中的任意一个作为新的分区,在所述第二分区组中根据所述分区组中的分区顺序分配新的分区。
根据本发明的实施例的存储设备可以包括:存储器装置,包括多个存储器管芯;以及存储器控制器,从外部主机接收数据和所述数据的日志,并且在所述存储器装置中分配将要存储数据的超级块,并控制所述存储器装置以将所述数据顺序地存储在所述超级块中包括的物理区域中,其中所述超级块可以基于所述日志包括多个第一物理区域或包括多个第二物理区域,所述第一物理区域包括一个存储器管芯中的一个以上的存储器块,所述第二物理区域包括不同的存储器管芯中包括的每个存储器块的一部分。
根据本发明的实施例的文件系统可以响应于所述应用的请求,生成关于所述数据属性的日志,并基于所述日志分配与所述数据对应的分区,所述文件系统可以基于所述日志确定包括所述分区的分区组,所述分区组可以是一个以上的第一分区组或一个以上的第二分区组,在所述第一分区组中与所述分区组中的分区顺序无关地分配所述分区组中的空分区中的任意一个作为新的分区,在所述第二分区组中根据所述分区组中的分区顺序分配新的分区。
根据本发明的实施例的控制器的操作方法可以包括控制存储器装置以将第一数据存储在第一超级块中并且将第二数据存储在第二超级块中的步骤,其中第一超级块可以包括多个第一区域,每个第一区域由分别属于设置在一个管芯中的不同存储器平面的存储器块形成,第一区域可以映射到为第一数据任意分配的第一逻辑区域组中的每个逻辑区域,第二超级块可以包括多个第二区域,每个第二区域由分别属于跨多个管芯设置的不同存储块的页面形成,第二区域可以映射到为第二数据顺序分配的第二逻辑区域组中的每个逻辑区域。
(三)有益效果
本技术提供了一种能够根据每个数据的特性进行有效管理的主机设备、存储设备以及电子设备。
附图说明
图1是用于说明根据本发明的一个实施例的电子设备的图。
图2是用于说明图1的存储器装置的图。
图3是用于说明图2的存储器单元阵列的图。
图4是用于说明根据本发明的一个实施例的主机设备中的分区分配以及存储设备中的物理区域分配的图。
图5是用于说明由文件系统分配的分区的结构的图。
图6是用于说明根据本发明的一个实施例的第一分区组的新的分区的分配过程的图。
图7a和图7b是用于说明根据本发明的一个实施例的第二分区组的新的分区的分配过程的图。
图8是用于说明根据本发明的一个实施例的第一分区组的复位过程的图。
图9是用于说明根据本发明的一个实施例的第二分区组的复位过程的图。
图10是用于说明根据本发明的一个实施例的数据分类的图。
图11是用于说明根据本发明的另一实施例的数据分类的图。
图12是用于说明根据本发明的一个实施例的存储设备的存储器块管理的图。
图13是用于说明根据本发明的一个实施例的电子设备的存储器块管理过程的图。
图14是用于说明根据本发明的一个实施例的确定用于清理的牺牲分区的过程的流程图。
图15是用于说明根据本发明的一个实施例的在执行清理时将新的分区分配给与牺牲分区中的逻辑地址对应的有效数据的过程的图。
图16是示出图1的存储器控制器的另一实施例的图。
图17是示出应用了根据本发明的实施例的存储设备的存储器卡系统的框图。
图18是示出应用了根据本发明的实施例的存储设备的固态硬盘(SSD)系统的框图。
图19是示出应用了根据本发明的实施例的存储设备的用户系统的框图。
附图标记说明
50:存储设备
100:存储器装置
200:存储器控制器
400:主机
具体实施方式
在本说明书或申请中公开的根据本发明构思的实施例的特定结构或功能说明仅是为了举例说明根据本发明构思的实施例,根据本发明构思的实施例可以以各种形式实施,并且不应被解释为限于在本说明书或申请中说明的实施例。
图1是用于说明根据本发明的一个实施例的电子设备的图。
参照图1,存储设备(storage device)50可以包括存储器装置(memory device)100和存储器控制器(memory controller)200。存储设备50可以是在主机(host)400的控制下存储数据的装置,例如手机、智能手机、MP3播放器、便携式计算机、台式计算机、游戏机、电视、平板计算机或车载信息娱乐系统(in-vehicle infotainment)。或者,存储设备50可以是在一个地方存储大容量数据的在主机400的控制下存储数据的装置,例如服务器或数据中心。
根据作为与主机400的通信方式的主机接口,存储设备50可以被制造为各种类型的存储设备中的任意一种。例如,存储设备50可以被配置为各种类型的存储设备中的任意一种,例如SSD、MMC、eMMC、RS-MMC、micro-MMC形式的多媒体卡(multimedia card);SD、mini-SD、micro-SD形式的安全数字卡(secure digital card);USB(通用串行总线(Universal Serial Bus))存储设备、UFS(通用闪存(Universal Flash Storage))装置、PCMCIA(个人计算机存储卡国际协会(personal computer memory card internationalassociation))卡形式的存储设备;PCI(外围组件互连(peripheral componentinterconnection))卡形式的存储设备;PCI-E(快速的外围组件互连(PCI-express))卡形式的存储设备;CF(紧凑型闪存(compact flash))卡;智能媒体卡;记忆棒(memory stick)。
存储设备50可以以各种类型的封装(package)形式中的任意一种来制造。例如,存储设备50可以以诸如POP(叠层封装(package on package))、SIP(系统级封装(system inpackage))、SOC(片上系统(system on chip))、MCP(多芯片封装(multi-chip package))、COB(板上芯片(chip on board))、WFP(晶圆级制造封装(wafer-level fabricatedpackage))、WSP(晶圆级堆叠封装(wafer-level stack package))的各种类型的封装形式中的任意一种来制造。
存储器装置100可以存储数据。存储器装置100响应于存储器控制器200的控制而操作。存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括用于存储数据的多个存储器单元。
每个存储器单元可以被配置为存储一个数据位的单级单元(Single Level Cell,SLC)、存储两个数据位的多级单元(Multi Level Cell,MLC)、存储三个数据位的三级单元(Triple Level Cell,TLC)或能够存储四个数据位的四级单元(Quad Level Cell,QLC)。
存储器单元阵列(未示出)可以包括多个存储器块。每个存储器块可以包括多个存储器单元。每个存储器块可以包括多个页面。在实施例中,页面可以是用于在存储器装置100中存储数据或读取存储在存储器装置100中的数据的单位。存储器块可以是用于擦除数据的单位。
在实施例中,存储器装置100可以是DDR SDRAM(双倍数据速率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory))、LPDDR4(低功耗双倍数据速率4(Low Power Double Data Rate4))SDRAM、GDDR(图形双倍数据速率(Graphics Double Data Rate))SDRAM、LPDDR(低功耗DDR(Low Power DDR))、RDRAM(存储器总线式动态随机存取存储器(Rambus Dynamic Random Access Memory))、NAND闪存(NAND flash memory)、竖直NAND闪存(Vertical NAND)、NOR闪存(NOR flash memory)、RRAM(阻变式随机存取存储器(resistive random access memory))、PRAM(相变RAM(Phase-change RAM))、MRAM(磁阻式随机存取存储器(magnetoresistive random accessmemory))、FRAM(铁电随机存取存储器(ferroelectric random access memory))、STT-RAM(自旋转移矩随机存取存储器(spin transfer torque random access memory))等。在本说明书中,为了便于说明,假设存储器装置100是NAND闪存。
存储器装置100被配置为从存储器控制器200接收命令和地址,并访问存储器单元阵列中的根据地址选择的区域。存储器装置100可以针对根据地址选择的区域执行命令指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作时,存储器装置100将数据编程到根据地址选择的区域中。在读取操作时,存储器装置100从根据地址选择的区域读取数据。在擦除操作时,存储器装置100擦除存储在根据地址选择的区域中的数据。
存储器控制器200可以控制存储设备50的整体操作。
在实施例中,存储器控制器200可以从主机400接收数据和逻辑地址(logicaladdress,LA),存储器控制器200可以包括能够将逻辑地址(LA)转换为物理地址(PA)的固件(firmware;未示出),该物理地址(PA)指示包括在存储器装置100中的将要存储数据的存储器单元的地址。另外,存储器控制器200可以将构成逻辑地址(LA)和物理地址(PA)之间的映射(mapping)关系的逻辑-物理地址映射表存储在缓冲存储器中。
存储器控制器200可以根据主机400的请求控制存储器装置100执行编程操作、读取操作或擦除操作等。在编程操作时,存储器控制器200可以向存储器装置100提供编程命令、物理地址和数据。在读取操作时,存储器控制器200可以向存储器装置100提供读取命令和物理地址。在擦除操作时,存储器控制器200可以向存储器装置100提供擦除命令和物理地址。或者,存储器控制器200可以根据主机400的请求打开或关闭存储器装置100中的物理区域(physical zone)。打开物理区域可以表示为对应于该物理区域的逻辑地址组,例如为对应于由主机分配给数据的分区的逻辑地址创建映射表。关闭物理区域可以表示在再次接收到该物理区域的打开请求之前,不会有将数据存储在该物理区域中的写入请求。主机400可以将这样的打开或关闭物理区域的请求作为单独的请求提供,或者可以与诸如写入请求的其他请求一起提供。
在实施例中,存储器控制器200可以自己生成命令、地址和数据而不管来自主机400的请求,并将生成的命令、地址和数据传送到存储器装置100。例如,存储器控制器200可以向存储器装置100提供用于执行在执行磨损均衡(wear leveling)、读取回收(readreclaim)、垃圾收集(garbage collection)等时所伴随的编程操作、读取操作和擦除操作的命令、地址和数据。
在实施例中,存储器控制器200可以包括闪存转换层(Flash TranslationLayer)。闪存转换层可以将对应于从主机400接收的请求的逻辑地址(LA)转换为物理地址(PA),并将转换后的物理地址(PA)输出到存储器装置100。
例如,如上所述,闪存转换层可以将对应于编程请求的逻辑地址(LA)转换为物理地址(PA),或者可以将对应于读取请求的逻辑地址(LA)转换为物理地址(PA),或者可以将对应于擦除请求的逻辑地址(LA)转换为物理地址(PA)。闪存转换层可以将转换后的物理地址(PA)输出到存储器装置100,并且存储器装置100可以对对应于物理地址(PA)的页面或存储器块执行操作。
在实施例中,存储器控制器200可以从文件系统(file system)420接收逻辑地址并且将接收的逻辑地址转换为连续的物理地址。当连续的物理地址被输出到存储器装置100时,存储器装置100可以执行对应于连续的物理地址的连续操作。此时,可以根据被分配的物理区域的类型确定连续的物理地址。将参照图4、图12和图13更详细地说明物理区域的类型。
在实施例中,存储设备50可以进一步包括缓冲存储器(未示出)。存储器控制器200可以控制主机400和缓冲存储器(未示出)之间的数据交换。或者,存储器控制器200可以将用于控制存储器装置100的系统数据临时存储在缓冲存储器中。例如,存储器控制器200可以将从主机400输入的数据临时存储在缓冲存储器中,然后将临时存储在缓冲存储器中的数据传送到存储器装置100。
在各种实施例中,缓冲存储器可以用作存储器控制器200的操作存储器和高速缓冲存储器。缓冲存储器可以存储由存储器控制器200执行的代码或命令。或者,缓冲存储器可以存储由存储器控制器200处理的数据。
在实施例中,缓冲存储器可以被实现为诸如DDR SDRAM(双倍数据速率同步动态随机存取存储器)、DDR4 SDRAM、LPDDR4(低功耗双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功耗DDR)、RDRAM(存储器总线式动态随机存取存储器)的DRAM(动态随机存取存储器)或SRAM(静态随机存取存储器)。
在各种实施例中,缓冲存储器可以在存储设备50的外部连接到存储设备50。在这种情况下,在存储设备50的外部连接到存储设备50的易失性存储器装置可以用作缓冲存储器。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。在这种情况下,存储器控制器200可以根据交错方式控制存储器装置100以提高操作性能。交错方式可以是控制至少两个存储器装置100的操作重叠的方式。或者,交错方式可以是控制在一个存储器装置100中划分的多个组的操作重叠的方式。此时,组可以是一个以上的存储器管芯(memory die)单位或一个以上的存储器平面(memory plane)单位。
主机400可以利用诸如USB(通用串行总线(Universal Serial Bus))、SATA(串行高级技术附件(Serial AT Attachment))、SAS(串行连接SCSI(Serial Attached SCSI))、HSIC(高速芯片间(High Speed Interchip))、SCSI(小型计算机系统接口(Small ComputerSystem Interface))、PCI(外围组件互连(Peripheral Component Interconnection))、PCIe(快速的外围组件互连(PCI express))、NVMe(非易失性存储器主机控制器接口规范(NonVolatile Memory express))、UFS(通用闪存(Universal Flash Storage))、SD(安全数字(Secure Digital))、MMC(多媒体卡(MultiMedia Card))、eMMC(嵌入式多媒体卡(embedded MMC))、DIMM(双列直插式存储器模块(Dual In-line Memory Module))、RDIMM(带寄存器的双列直插式存储器模块(Registered DIMM))、LRDIMM(低负载双列直插式存储器模块(Load Reduced DIMM))的各种通信方式中的至少一种与存储设备50进行通信。
在实施例中,主机400可以包括应用(application)410。应用410也被称为应用程序(application program),并且可以是在操作系统(OS)中执行的软件。应用410可以响应于用户输入来处理数据。例如,应用410可以响应于用户输入来处理数据并且将用于将处理后的数据存储在存储设备50的存储器装置100中的请求传送到文件系统420。
文件系统420可以响应于从应用传送的请求分配将要存储数据的逻辑地址(LA)。在实施例中,文件系统420可以是日志结构文件系统(Log structure File System,LFS)。日志结构文件系统(LFS)可以考虑输入数据的属性来生成日志,并且可以基于日志分配与数据对应的分区。此时,分区可以是逻辑地址集合。因此,分配分区可以表示分配与相应数据对应的逻辑地址。被分配分区的数据可以被顺序地存储在对应于分区的存储器装置100的存储区域中。例如,日志结构文件系统(LFS)可以是闪存友好文件系统(flash friendlyfile system,F2FS)。闪存友好文件系统(F2FS)是考虑到固态硬盘(Solid State Drive,SSD)的特性而设计的基于日志的文件系统,可以通过使用多头(Multi-Head)日志来增加SSD内部的并行度。可以为生成不同日志的数据分配不同的分区。日志结构文件系统(LFS)无法覆盖(overwrite)数据。当修改数据时,日志结构文件系统(LFS)可以重新分配与要修改的数据对应的逻辑地址,并将数据写入对应的物理区域。
由应用410请求写入的数据可以存储在主机中的主机存储器(未示出)中,并且可以根据来自应用的请求通过设备接口(未示出)刷新(flush)到存储设备50。主机存储器可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM、GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM、PRAM的非易失性存储器。
图2是用于说明图1的存储器装置的图。
参照图2,存储器装置100可以包括存储器单元阵列110、电压产生部120、地址解码器130、输入/输出电路140和控制逻辑150。
存储器单元阵列110包括多个存储器块(BLK1~BLKi)。多个存储器块(BLK1~BLKi)通过行线(RL)连接到地址解码器130。多个存储器块(BLK1~BLKi)可以通过列线(CL)连接到输入/输出电路140。在实施例中,行线(RL)可以包括字线、源极选择线和漏极选择线。在实施例中,列线(CL)可以包括位线。
在实施例中,存储器单元阵列110可以包括一个以上的存储器管芯(Memory Die),并且每个存储器管芯可以包括一个以上的平面(Plane),该平面包括一个以上的存储器块。
另外,存储器单元阵列110中包括的多个存储器块(BLK)可以被分组成两个以上的超级块(Super Block,SB)。超级块(SB)可以是控制逻辑150管理存储器单元阵列110中包括的多个存储器块(BLK)的单位。一个超级块(SB)可以是同时或在同一时间段内执行读取操作和/或写入操作等或结合执行或相关联地执行读取操作和/或写入操作等的存储器块(BLK)的集合,或者一个超级块(SB)可以是针对一个命令执行读取操作和/或写入操作等的存储器块(BLK)集合,或者一个超级块(SB)可以是在存储器单元阵列110中结合执行或同时执行读取操作和/或写入操作等的存储器块(BLK)的集合。此外,多个存储器块(BLK)中的在管理或操作方面彼此不同的存储器块(BLK)组可以被称为超级块(SB)。两个以上的超级块(SB)中的每一个的大小可以相同。即,两个以上的超级块(SB)中的每一个中包括的存储器块(BLK)的数量可以相同。或者,两个以上的超级块(SB)中的至少一个可以具有与其余的超级块(SB)不同的大小。即,多个超级块(SB)中的至少一个超级块(SB)中包括的存储器块(BLK)的数量可以与其余的超级块(SB)中包括的存储器块(BLK)的数量不同。另外,两个以上的超级块(SB)中的每一个中包括的两个以上的存储器块(BLK)可以都位于相同的一个存储器管芯上。与此不同,两个以上的超级块(SB)中的每一个中包括的两个以上的存储器块(BLK)可以位于两个以上的不同的存储器管芯上。
多个存储器块(BLK1~BLKi)中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。在多个存储器单元中,连接到同一字线的存储器单元可以被定义为一个物理页面。即,存储器单元阵列110可以包括多个物理页面。存储器装置100的每个存储器单元可以被配置为存储一个数据位的单级单元(SLC)、存储两个数据位的多级单元(MLC)、存储三个数据位的三级单元(TLC)或能够存储四个数据位的四级单元(QLC)。
在实施例中,电压产生部120、地址解码器130和输入/输出电路140可以统称为外围电路(peripheral circuit)。外围电路可以在控制逻辑150的控制下驱动存储器单元阵列110。外围电路可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
电压产生部120被配置为利用供应到存储器装置100的外部电源电压产生多个操作电压。电压产生部120响应于控制逻辑150的控制而操作。
在实施例中,电压产生部120可以通过调节外部电源电压来产生内部电源电压。由电压产生部120产生的内部电源电压被用作存储器装置100的操作电压。
在实施例中,电压产生部120可以利用外部电源电压或内部电源电压产生多个操作电压。电压产生部120可以被配置为产生存储器装置100所需的各种电压。例如,电压产生部120可以产生多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个非选择读取电压。
电压产生部120包括接收内部电源电压的多个泵送电容器以产生具有不同电压电平的多个操作电压,并且电压产生部120可以响应于控制逻辑150的控制来选择性地激活多个泵送电容器以产生多个操作电压。
产生的多个操作电压可以通过地址解码器130被供应到存储器单元阵列110。
地址解码器130通过行线(RL)连接到存储器单元阵列110。地址解码器130被配置为响应于控制逻辑150的控制而操作。地址解码器130可以从控制逻辑150接收地址(ADDR)。地址解码器130可以对接收的地址(ADDR)中的块地址进行解码。地址解码器130根据解码的块地址从存储器块(BLK1~BLKi)中选择至少一个存储器块。地址解码器130可以对接收的地址(ADDR)中的行地址进行解码。地址解码器130可以根据解码的行地址从选择的存储器块的字线中选择至少一条字线。在实施例中,地址解码器130可以对接收的地址(ADDR)中的列地址进行解码。地址解码器130可以根据解码的列地址连接输入/输出电路140和存储器单元阵列110。
例如,地址解码器130可以包括诸如行解码器、列解码器、地址缓冲器的组件。
输入/输出电路140可以包括多个页面缓冲器。多个页面缓冲器可以通过位线连接到存储器单元阵列110。在编程操作时,可以根据存储在多个页面缓冲器中的数据将数据存储在选择的存储器单元中。
在读取操作时,可以通过位线感测存储在选择的存储器单元中的数据,并且可以将感测的数据存储在页面缓冲器中。
控制逻辑150可以控制地址解码器130、电压产生部120和输入/输出电路140。控制逻辑150可以响应于从外部设备传送的命令(CMD)而操作。控制逻辑150可以响应于命令(CMD)和地址(ADDR)产生控制信号以控制外围电路。
图3是用于说明图2的存储器单元阵列的图。
参照图3,存储器单元阵列110可以包括一个以上的存储器管芯,并且每个存储器管芯可以包括一个以上的平面,该平面包括一个以上的存储器块。虽然在图3中示出存储器单元阵列110包括四个存储器管芯(DIE#0、DIE#1、DIE#2、DIE#3),但是存储器管芯的数量不限于此。多个存储器管芯可以通过多个通道向存储器控制器传送或从存储器控制器接收,并且每个通道可以连接到一个以上的存储器管芯。例如,如果一个通道连接到一个存储器管芯,则一个存储器管芯一次可以接收一个命令,一个存储器管芯中包括的平面可以并行处理由存储器管芯接收的命令。
图4是用于说明根据本发明的一个实施例的主机设备中的分区(section)分配以及存储设备中的物理区域(physical zone)分配的图。
参照图4,主机设备的文件系统420可以响应于来自应用410的请求写入数据的请求来生成数据属性的日志,并且基于该日志分配与数据对应的分区。分区可以是多个逻辑地址的组,分配与数据对应的分区可以表示将该分区中包括的多个逻辑地址中的一部分或全部分配给该数据。在一个实施例中,对应于一个分区的多个逻辑地址可以是连续的逻辑地址。或者,对应于一个分区的多个逻辑地址可以不连续,但是关于每个分区中包括的逻辑地址的信息可以存储在主机中的存储器或存储设备中的存储器等中,并且可以管理每个分区的逻辑地址。另外,文件系统420可以基于分配给数据的日志确定包括分区的分区组。分区组可以包括多个分区,并且一个分区组中的分区中包括的逻辑地址可以是连续的。或者,一个分区组中的分区中包括的逻辑地址可以不连续,但是关于每个分区组中包括的逻辑地址的信息存储在主机中的存储器或存储设备中的存储器等中,并且可以管理每个分区的逻辑地址。在一个实施例中,分区组可以包括第一分区组和第二分区组,在所述第一分区组中文件系统将分区组中的任意一个空分区分配为新的分区,而不管分区组中的分区顺序如何,在所述第二分区组中文件系统根据分区组中的分区顺序分配新的分区。
另外,主机400可以将由文件系统420分配日志和分区的数据提供给存储设备50。在一个示例中,可以通过主机400中的设备接口(未示出)将数据提供给存储设备50。文件系统420可以将存储设备50中的存储器装置100划分为多个区域并进行管理。在一个实施例中,文件系统420可以将存储器装置100中的存储空间划分为检查点区域(Check PointArea)、段信息表(Segment Info.Table,SIT)、节点地址表(Node Address Table,NAT)、段摘要区域(Segment Summary Area,SSA)和主区域(Main Area)。检查点区域可以存储检查点。检查点是在计算系统运行期间发生诸如突然断电(Sudden Power Off)的系统中断事件时保存系统的逻辑中断点为止的状态的数据,并且可以利用该检查点恢复数据。段信息表(SIT)可以包括每个段中的有效页面信息。节点地址表(NAT)可以包括构成存储在存储器装置100中的文件的索引树的每个节点的标识符和对应于每个节点标识符的物理地址。段摘要区域(SSA)可以包括后面描述的主区域的每个段的摘要信息。主区域可以是存储实际用户使用的各种目录信息、数据、文件信息等的空间。在本说明书中,存储在主区域中的所有数据和信息都被定义为数据。此时,存储在主区域中的数据可以根据其类型分类为节点或数据。节点可以表示索引节点(inode)或索引(index),而数据可以表示目录(directory)或用户文件数据(user file data)。另外,存储的数据可以根据温度进行分类,数据的温度可以分别分类为热、温和冷。因此,文件系统420可以将数据分类为热节点、温节点、冷节点、热数据、温数据、冷数据等,并且数据可以在被分配日志之后存储在主区域中。因此,主区域可以被划分为对应于由文件系统420分配的分区的虚拟区域,并且每个虚拟区域可以分配有特定的日志。另外,这样的虚拟区域可以被分组并区分为对应于由文件系统420确定的分区组的虚拟区域组。另外,每个虚拟区域可以包括多个段,并且数据可以顺序地存储在每个段中。此时,一个段可以对应于一个或多个逻辑地址。这样的虚拟区域可以在主机中的主机存储器(未示出)或存储设备的缓冲存储器装置(未示出)等中物理地实现,或者可以通过在主机存储器或缓冲存储器装置中管理关于每个分区和每个分区组中包括的逻辑地址的信息来逻辑地实现。
存储设备50可以包括存储器控制器200和存储器装置100,并且存储器控制器200可以包括区域管理部210和闪存转换层220。
存储器控制器200可以从主机400接收数据。数据可以是由文件系统420分配日志和分区的数据。区域管理部210可以基于接收的数据的日志来分配将要存储数据的超级块。超级块可以包括多个物理区域,由于包括在其中的物理区域的形态根据超级块的类型而不同,因此分配超级块可以是确定存储数据的物理区域的形态。即,可以确定应被包括在包括一个存储器管芯中的一个以上的存储器块的第一物理区域和包括不同的存储器管芯中包括的每个存储器块的一部分的第二物理区域中的哪个物理区域。此时,包括多个第一物理区域的超级块可以被称为第一超级块,并且包括多个第二物理区域的超级块可以被称为第二超级块。此时,存储在第一超级块中的数据可以是由文件系统420分配了第一分区组中的分区的数据,并且存储在第二超级块中的数据可以是被分配第二分区组中的分区的数据。
区域管理部210可以将关于将要存储数据的物理区域的类型的信息提供给闪存转换层220,并且闪存转换层220可以基于此将被分配分区的数据的逻辑地址转换为物理地址。在一个实施例中,被分配分区的数据可以被赋予分区中包括的逻辑地址,闪存转换层220可以将将要存储的数据的逻辑地址转换为由区域管理部210确定的物理区域中的连续物理地址。
闪存转换层220可以将转换后的物理地址传送到区域管理部210,并且区域管理部210可以控制存储器装置100以将数据存储在接收的物理地址中。
图5是用于说明由文件系统分配的分区的结构的图。
参照图5,分区可以包括多个逻辑地址。一个分区中包括的逻辑地址可以是连续地址或非连续地址。为数据分配分区可以表示分配了分区中的逻辑地址。关于每个分区中包括的地址的信息可以包括在主机中的存储器或存储设备中的存储器中。可以根据请求写入的数据的大小顺序地分配逻辑地址。例如,当有特定大小的数据D1和D2的写入请求并且图5的分区被分配给数据D1和D2时,LA1至LA3的逻辑地址可以被分配给D1,LA4和LA5的逻辑地址可以被分配给D2。
图6是用于说明根据本发明的一个实施例的第一分区组的新的分区的分配过程的图。
参照图6,可以与分区组中的分区顺序无关地分配新的分区的分区组可以被定义为第一分区组421a。此时,包括在分区组中的分区中的逻辑地址可以彼此连续,并且随着分区组中的分区号增加,逻辑地址可以增加。因此,分区顺序可以表示分区组中的分区号顺序,这可以表示逻辑地址增加的方向上的顺序。或者,包括在分区组中的分区中的逻辑地址可以彼此不连续。在这种情况下,可以基于存储在单独的存储器中的分区和关于包括在每个分区组中的逻辑地址的信息来确定分区顺序。在第一分区组421a的情况下,由于可以与分区顺序无关地分配分区并分配逻辑地址,因此第三分区(分区#3)可以先被分配并且第三分区中的所有逻辑地址被分配,从而可以在变成满分区(Full Section)之后分配第一分区(分区#1)并且可以分配新的数据的逻辑地址。当作为打开分区(Open Section)的第一分区的所有逻辑地址被分配给数据并且第一分区变成满分区时,文件系统420可以分配作为空分区(Empty Section)的第零分区(分区#0)和第二分区中的任意一个作为新的分区,并且可以将包括在其中的逻辑地址分配给数据。
图7a和图7b是用于说明根据本发明的一个实施例的第二分区组的新的分区的分配过程的图。
参照图7a和图7b,可以根据分区组中的分区顺序分配新的分区的分区组可以被定义为第二分区组421b。如图7a所示,在第二分区组中,第零分区(分区#0)可以最先被打开并将包括在其中的逻辑地址分配给数据,当第零分区变成满分区时,可以分配作为下一个顺序的分区的第一分区(分区#1)作为新的分区以存储数据。如图7b所示,当第二分区组421b中的所有分区都是满分区时,文件系统420可以在分配新的第二分区组421b之后,分配作为新的第二分区组中的第一个分区的第零分区(分区#0)作为新的分区,并且可以将包括在其中的逻辑地址分配给数据。此时,在第二分区组421b的情况下,可以根据分区组中的分区顺序分配分区,当作为最后一个分区的第三分区(分区#3)是满分区时,在其之前的分区中不可能存在空分区。因此,在第二分区组421b的情况下,无需在分区组中寻找空分区,如果第二分区组421b中不存在下一个顺序的分区,则文件系统420分配新的第二分区组421b。
图8是用于说明根据本发明的一个实施例的第一分区组的复位过程的图。
参照图8,在第一分区组421a中,1)当第零分区(分区#0)被复位时,2)通过丢弃(discard)与第零分区中的逻辑地址对应的所有数据,第零分区变成空(empty)分区,完成复位操作。另外,3)当第一分区(分区#1)被复位时,4)通过丢弃与第一分区中的逻辑地址对应的所有数据,第一分区变成空分区,完成复位操作。另外,5)当第二分区(分区#2)被复位时,6)通过丢弃与第二分区中的逻辑地址对应的所有数据,第二分区变成空分区,完成复位操作。即,当对第一分区组421a中包括的一个分区执行复位操作时,作为响应,与该分区中的逻辑地址对应的数据被丢弃,从而该分区可以立即变成空分区,因此,可以完成复位操作。此时,丢弃与逻辑地址对应的数据可以表示解除逻辑地址和数据之间的映射关系。当与特定的分区中的逻辑地址对应的数据全部无效时执行复位操作,如果存在有效数据,则将其映射到另一分区的逻辑地址,并且可以在将与相应逻辑地址对应的数据处理为无效后执行复位操作。完成复位的分区中包括的逻辑地址可以重新被分配给新数据。这样的复位操作可以由文件系统执行。
图9是用于说明根据本发明的一个实施例的第二分区组的复位过程的图。
参照图4和图9,在第二分区组421b中,1)当第零分区(分区#0)被复位时,2)与第零分区中的逻辑地址对应的数据不会被立即丢弃,并且指示第零分区准备复位的信息存储在位图中。另外,3)当第一分区(分区#1)被复位时,4)与第一分区中的逻辑地址对应的数据不会被立即丢弃,并且指示第一分区准备复位的信息存储在位图中。另外,5)当第二分区(分区#2)被复位时,6)与第二分区中的逻辑地址对应的数据不会被立即丢弃,并且指示第二分区准备复位的信息存储在位图中。另外,7)当第三分区(分区#3)被复位时,8)与第三分区中的逻辑地址对应的数据不会被立即丢弃,并且指示第三分区准备复位的信息存储在位图中。9)因此,当指示第二分区组421b的所有分区准备复位的信息存储在位图中时,与所有所述分区中的所有逻辑地址对应的所有数据都被丢弃,并且第二分区组421b中的所有分区一次性地变成空分区,从而可以完成复位操作。即,在第二分区组421b的情况下,当仅一部分分区被复位时,数据不会被立即丢弃,因此分区不会变成空分区,在对第二分区组421b中的所有分区执行复位操作之后,即在存储了指示所有分区准备复位的信息之后,与包括在第二分区组421b中的所有分区的逻辑地址对应的数据被丢弃,从而第二分区组421b中的所有分区可以同时变成空分区。当复位操作完成时,指示第二分区组421b中的所有分区准备复位的信息可以被删除。此时,存储指示准备复位的信息的位图可以包括在存储设备中的任意位置中。此时,丢弃与逻辑地址对应的数据可以表示解除逻辑地址和数据之间的映射关系。当与特定的分区中的逻辑地址对应的数据全部无效(invalid)时,执行复位操作,如果存在有效数据,则将其映射到另一分区的逻辑地址,并且在与该逻辑地址对应的数据被处理为无效后,可以执行复位操作。完成复位的分区中包括的逻辑地址可以重新分配给新的数据。这样的复位操作可以由文件系统执行。
图10是用于说明根据本发明的一个实施例的数据分类的图。
在一个实施例中,由应用请求写入的数据可以根据其类型分类为节点或数据,并且可以根据温度分类为热、温和冷。因此,文件系统420可以根据数据的属性为数据生成热节点、温节点、冷节点、热数据、温数据、冷数据等的日志。例如,热节点可以是目录的索引节点(inode)或直接节点块(direct node block),因此,热节点可以是覆盖或更新频率非常高并且成为垃圾收集对象的概率也高的数据。温节点可以是普通文件(regular file)的索引节点或直接节点块,因此,温节点可以是覆盖或更新频率高并且成为垃圾收集对象的概率也相当高的数据。冷节点可以是间接节点块(indirect node block),因此,冷节点可以是虽然覆盖和更新频率低但成为垃圾收集对象的概率非常高的数据。热数据可以是目录条目块(directory entry block)、分配量(quota)或64KB以下的容量较小的文件数据,因此,热数据可以是与其他数据相比覆盖或更新频率高并且成为垃圾收集对象的概率高的数据。温数据可以是用户创建的数据块,例如,可以是64KB以上的容量较大的文件数据,因此,温数据可以是虽然更新频率较高但成为垃圾收集对象的概率较低的数据。冷数据可以是通过清理(cleaning)或垃圾收集移动的数据、由用户分类为冷数据的数据块或具有特定格式(ex、.db、.jpg等)的文件数据,例如,多媒体文件数据,因此,冷数据可以是覆盖频率低并且成为垃圾收集对象的概率也较低的数据。然而,这种数据的分类不限于该方法,并且可以修改为具有包括以下图11中的方式的各种标准的方法。在本说明书中,文件系统的清理可以表示为了从主机的角度确保空分区,在将另一分区分配给与牺牲分区中的逻辑地址对应的有效数据之后,解除牺牲分区中的逻辑地址和与其对应的数据之间的关系,垃圾收集可以表示为了从存储设备的角度确保空物理区域或确保空存储器块,在将存储在存储设备的牺牲物理区域中的数据中的有效数据移动到另一物理区域之后擦除该物理区域。
参照图10,第一分区组中包括的分区可以被分配给热节点、温节点、冷节点和热数据,并且第二分区组中包括的分区可以被分配给温数据和冷数据。此时,被分配第一分区组中包括的第一分区的热节点、温节点、冷节点和热数据可以被定义为第一类数据,被分配第二分区组中包括的第二分区的温数据和冷数据可以被定义为第二类数据。然而,包括在第一分区组和第二分区组中的每个数据的分类不限于图10所示的,并且可以根据设置对数据进行各种分类。优选地,第一类数据可以是容量较小的数据,或者可以是被更新或覆盖的可能性高的数据。另外,第二类数据可以是容量较大的数据,或者可以是被更新或覆盖的可能性低的数据。因此,第二类数据可以是比第一类数据相对更受输入/输出性能影响的数据。此时,对于被分类为第一类数据的数据,可以与该数据的具体属性无关地分配一个第一分区组中的分区。或者,即使是相同的第一类数据,当数据类型(节点或数据)或温度(热、温、冷)等属性不同时,可以相应地分配多个不同的第一分区组中的分区。类似地,对于被分类为第二类数据的数据,可以与该数据的具体属性无关地分配一个第二分区组中的分区。或者,即使是相同的第二类数据,当数据类型(节点或数据)或温度(热、温、冷)等属性不同时,可以相应地分配多个不同的第二分区组中的分区。
图11是用于说明根据本发明的另一实施例的数据分类的图。
参照图11,可以根据不同于图10的分类标准对数据进行分类。在图11的情况下,将数据分类为热节点、温节点、热数据、温数据和冷数据。热节点可以包括目录的索引节点、文件的索引节点和直接节点,温节点可以包括间接节点、目录条目块和分配量。另外,热数据可以包括小文件数据,温数据可以包括中文件数据,冷数据可以是大文件数据或具有特定格式的任意大小的文件数据。即,图11所示的数据的分类可以是基于数据类型、数据大小、数据出现频率、覆盖频率等对各种属性的数据进行重新分类,以更适合对分区组和超级块进行划分和管理。因此,被分类的热节点、温节点和热数据可以被分类为第一类数据,并且可以为其分配第一分区组中的分区,并且被分类的温数据和冷数据可以被分类为第二类数据,并且可以为其分配第二分区组中的分区。然而,数据分类标准不限于参照图10说明的内容和图11所示的内容。
图12是用于说明根据本发明的一个实施例的存储设备的存储器块管理的图。
参照图3、图4和图12,存储器单元阵列110可以包括多个存储器管芯,例如,可以包括四个存储器管芯(DIE#0~DIE#3)。另外,每个存储器管芯可以包括多个平面,每个平面包括多个存储器块,例如,可以包括四个平面(PLANE#0~PLANE#3)。区域管理部210可以将存储器单元阵列中的多个存储器块分类为超级块并管理。超级块可以包括一个以上的物理区域。可以跨多个存储器管芯形成超级块,例如,如图12所示,可以跨所有存储器管芯形成超级块。超级块可以根据所包括的物理区域的形态分为第一超级块111a和第二超级块111b。
第一超级块111a中包括的第一物理区域112a可以包括一个存储器管芯中的一个以上的块。例如,如图12所示,对于每个存储器管芯,包括平面0至平面3中包括的一个存储器块的区域可以被指定为一个物理区域,因此,第一超级块111a可以包括四个第一物理区域112a,每个存储器管芯形成一个第一物理区域112a。
第二超级块111b中包括的第二物理区域112b可以包括不同的存储器管芯中包括的每个块的一部分。例如,如图12所示,第二物理区域112b可以跨所有四个存储器管芯(DIE#0~DIE#3)形成,并且可以仅包括每个平面中包括的每个存储器块的一部分。例如,如图12所示,可以仅包括每个平面中包括的每个存储器块的页面中的1/4页面。因此,第二超级块111b可以跨所有存储器管芯形成,并且可以包括形成为仅包括每个存储器块的一部分页面的四个第二物理区域112b。
在一个实施例中,第一超级块111a和第二超级块111b的大小可以相同。即,第一超级块111a和第二超级块111b可以包括相同数量的存储器块。
另外,第一物理区域112a和第二物理区域112b的大小可以相同。即,第一物理区域112a和第二物理区域112b中包括的页面数量可以相同。第一物理区域112a可以形成在一个存储器管芯中,而第二物理区域112b可以跨多个存储器管芯形成。因此,在第二物理区域112b的情况下,可以以管芯交错方式操作,特别地,如图12所示,当第二物理区域112b跨所有存储器管芯形成时,可以以全管芯(full-die)交错方式操作。然而,不能同时分配和编程不同的第二物理区域112b。另外,由于第二物理区域仅包括每个存储器块的一部分,因此当要擦除特定的物理区域时无法立即擦除,当可以擦除部分包括在该物理区域中的每个存储器块的所有页面时,即,当可以擦除包括该物理区域的超级块的所有物理区域时,可以擦除该物理区域。因此,在第二物理区域的情况下,虽然具有可以以存储器管芯为单位以交错方式操作的优点,但考虑到编程和擦除时的限制,可能不适合存储输入/输出频率高的数据。因此,通过同时使用第一超级块和第二超级块,可以在第一超级块的第一物理区域中存储容量较小或输入/输出频率高的数据,并且可以在第二超级块的第二物理区域中存储容量较大或输入/输出频率低的数据,从而可以提高电子设备的性能。
图13是用于说明根据本发明的一个实施例的电子设备的存储器块管理过程的图。
参照图4、图12和图13,主机400的文件系统420基于数据的属性为应用410请求写入的数据生成日志,并且基于此,对数据进行分类并确定包括要分配给数据的分区的分区组。根据各种标准,数据可以分为被分配第一分区组421a中的第一分区422a的第一类数据和被分配第二分区组421b中的第二分区422b的第二类数据。由文件系统分配第一分区组421a中的第一分区422a的数据可以在存储器控制器200的控制下存储在存储器装置100的第一超级块111a中的第一物理区域112a中,并且由文件系统分配第二分区组421b中的第二分区422b的数据可以存储在存储器装置100的第二超级块111b中的第二物理区域112b中。第一分区组421a对应于第一超级块111a,因此,第一分区422a对应于第一物理区域112a。可以与分区组中的分区顺序无关地被分配为新的分区的第一分区422a的特性符合以每个存储器管芯管理的第一物理区域112a的特性,并且第一分区和第一物理区域具有相同的特性,即第一分区或第一物理区域都能够以一个分区或物理区域为单位执行复位或擦除操作。另外,根据分区组中的分区顺序被分配为新的分区的第二分区422b的特性符合跨多个存储器管芯形成的第二物理区域112b的特性,并且第二分区和第二物理区域具有相同的特性,即第二分区和第二物理区域都不能以一个分区或物理区域为单位执行复位或擦除操作,在其各自所属的第二分区组和第二超级块都处于能够复位或擦除的状态之后以分区组和超级块为单位执行复位或擦除操作。
可以与分区顺序无关地分配第一分区组421a中的第一分区422a,并且可以响应于来自主机400的将要存储被分配分区的数据的物理区域分配请求,区域管理部210可以分配形成为一个存储器管芯中的区域的第一物理区域112a。可以根据分区顺序分配第二分区组422b中的第二分区422b,并且可以响应于来自主机400的将要存储被分配分区的数据的物理区域分配请求,区域管理部210可以分配形成为包括多个存储器管芯中的存储器块的一部分的区域的第二物理区域112b。针对主机400的物理区域分配请求,当区域管理部210回复当前使用的超级块中不存在额外的可被分配的物理区域的信息时,文件系统420可以在分配新的分区组之后分配新的分区组中的分区,作为响应,区域管理部210可以在分配新的超级块和包括在其中的新的物理区域之后存储被分配新的分区的数据。或者,文件系统420不从区域管理部210接收关于超级块和物理区域的信息,可以自行分配新的分区组和包括在其中的分区。
图14是用于说明根据本发明的一个实施例的确定用于清理的牺牲分区的过程的流程图。
参照图4和图14,在步骤S1401中,可以计算候选分区的成本(cost)。此时的成本可以以先前用于选择牺牲分区的方法计算。例如,可以以贪心(greedy)方法或成本效益(cost-benefit)方法执行。贪心方法是一种当对应于分区中包括的逻辑地址的有效块的数量最少时,设置较小值的成本,并选择有效块数量最少的分区作为牺牲分区的方法。成本效益方法通过考虑与每个分区中的逻辑地址对应的数据的修改时间和对应于分区中的逻辑地址的有效块的数量来设置成本值,如果分区的修改时间较久或者分区中的有效块的数量越少,则赋予越低的成本,并可以将这样的分区选择为牺牲分区。在一个实施例中,在前台(foreground)清理的情况下,可以以贪心方法计算牺牲分区的成本,在后台(background)清理的情况下,可以以成本效益方法计算牺牲分区的成本。
在步骤S1403中,可以确认计算成本的候选分区的分区类型。即,可以确认该分区是属于第一分区组的第一分区还是属于第二分区组的第二分区。
当在步骤S1405中判断为不是第二分区时,即,当判断为第一分区时,如在步骤S1411中所示,可以将在步骤S1401中计算的成本维持不变。另一方面,当在步骤S1405中判断为第二分区时,如步骤S1407和步骤S1409,可以基于存储有有关准备复位(“Ready toReset”)的信息的分区的数量来修改成本。可以将虽然要对属于第二个分区组的特定的分区执行复位操作,但由于该分区组中存在尚未准备好执行复位操作的其他分区而无法完成复位操作的状态定义为准备复位状态。此时,处于准备复位状态的分区可以将指示准备复位状态的信息存储在单独的位图中。在步骤S1407中,可以考虑在由文件系统420分配的所有分区中准备复位的所有分区的数量。例如,当所有分区中准备复位的分区数量超过阈值时,可以通过降低成本来增加第二分区组中包括的候选分区被选为牺牲分区的概率,当不超过阈值时,可以维持成本。或者,可以根据所有分区中准备复位的分区的数量赋予不同的权重。或者,当所有分区中准备复位的分区数量超过阈值时,在步骤S1409中,可以确认该分区所属的第二分区组中准备复位的分区的数量。当所有分区中准备复位的分区的数量不超过阈值时,可以不执行步骤S1409。在步骤S1409中,当该分区所属的第二分区组中准备复位的分区的数量超过阈值时,可以通过降低成本来增加该分区被选为牺牲分区的概率,并且当不超过阈值时可以维持成本。或者,可以根据第二分区组中准备复位的分区的数量赋予不同的权重。此时,可以执行步骤S1407和步骤S1409,或者可以仅执行两个步骤中的一个步骤。
在计算和修改成本之后,可以在步骤S1413中比较最终的成本值,并且可以确定用于清理分区的牺牲分区。
在一个实施例中,当执行清理时,可以考虑所有分区中包括的逻辑地址中与无效数据对应的逻辑地址的比率来调整下一次执行清理的时间点。此时,在第二分区组的情况下,准备复位的分区中包括的逻辑地址不是可以分配给新的数据的逻辑地址,因此与准备复位的分区中的逻辑地址对应的数据可以被视为无效数据,并且可以调整下一次执行清理的时间点。
图15是用于说明根据本发明的实施例的在执行清理时将新的分区分配给与牺牲分区中的逻辑地址对应的有效数据的过程的图。
参照图15,当通过与图14相同的过程选择牺牲分区时,可以将新的分区分配给与牺牲分区中的逻辑地址对应的有效数据。此时,分配给有效数据的新的分区可以是与包括先前分配的分区的分区组相同类型的分区组中包括的分区。例如,如图15的热节点、温节点、冷节点、热数据,被分类为第一类数据而被分配第一分区组中的第一分区的数据同样被分配第一分区组中的第一分区。如果第一分区组中不存在要分配的第一分区,则可以在分配新的第一分区组之后,将包括在其中的任意一个分区分配给与牺牲分区中的逻辑地址对应的有效数据。另外,如图15的温数据和冷数据,被分类为第二类数据而被分配第二分区组中的第二分区的数据同样被分配第二分区组中的第二分区。如果第二分区组中不存在要分配的第二分区,则可以在分配新的第二分区组之后,将包括在其中的任意一个分区分配给与牺牲分区中的逻辑地址对应的有效数据。
图16是示出图1的存储器控制器的另一实施例的图。
参照图16,存储器控制器1000可以包括处理器1010、内部存储器1020、纠错码电路1030、主机接口1040、缓冲存储器接口1050和存储器接口1060。
处理器1010可以执行用于控制存储器装置100的各种运算或者可以生成各种命令。当处理器1010从主机400接收到请求时,处理器1010可以根据接收的请求生成命令并将生成的命令传送到队列控制器(未示出)。另外,处理器1010可以响应于来自主机400的物理区域分配请求,分配将要存储从主机接收的数据的存储器装置中的超级块和包括在其中的物理区域,并且可以管理分配的超级块和物理区域。
内部存储器1020可以存储存储器控制器1000的操作所需的各种信息。例如,内部存储器1020可以包括逻辑和物理地址映射表。内部存储器1020可以被配置为RAM(随机存取存储器)、动态RAM(DRAM)、静态RAM(SRAM)、高速缓存(cache)和紧耦合存储器(tightlycoupled memory,TCM)中的至少一种。
纠错码电路1030被配置为利用纠错码(ECC)检测并纠正从存储器装置100接收的数据中的错误。处理器1010可以控制存储器装置100以根据纠错码电路1030的错误检测结果调整读取电压并执行重新读取。在示例性实施例中,可以提供纠错块作为存储器控制器1000的组件。
主机接口1040可以在存储器控制器1000和主机400之间交换命令、地址和数据等。例如,主机接口1040可以从主机400接收请求、地址、数据等,并且可以将从存储器装置100读取的数据输出到主机400。主机接口1040可以使用诸如USB(通用串行总线(UniversalSerial Bus))、SATA(串行高级技术附件(Serial AT Attachment))、SAS(串行连接SCSI(Serial Attached SCSI))、HSIC(高速芯片间(High Speed Interchip))、SCSI(小型计算机系统接口(Small Computer System Interface))、PCI(外围组件互连(PeripheralComponent Interconnection))、PCIe(快速的外围组件互连(PCI express))、NVMe(非易失性存储器主机控制器接口规范(NonVolatile Memory express))、UFS(通用闪存(Universal Flash Storage))、SD(安全数字(Secure Digital))、MMC(多媒体卡(MultiMedia Card))、eMMC(嵌入式多媒体卡(embedded MMC))、DIMM(双列直插式存储器模块(Dual In-line Memory Module))、RDIMM(带寄存器的双列直插式存储器模块(Registered DIMM))、LRDIMM(低负载双列直插式存储器模块(Load Reduced DIMM))、ESDI(增强型小型磁盘机接口(enhanced small disk interface))或IDE(电子集成驱动器(Integrated Drive Electronics))的协议来与主机400进行通信。主机接口1040可以接收分配对应于由主机400分配给数据的分区的物理区域的请求。
缓冲存储器接口1050可以在处理器1010和缓冲存储器之间传送数据。缓冲存储器可以用作存储器控制器1000的操作存储器或高速缓冲存储器,并且可以存储在存储设备50中使用的数据。通过处理器1010,缓冲存储器接口1050可以将缓冲存储器用作读取缓冲器、写入缓冲器、映射缓冲器等。根据实施例,缓冲存储器可以包括DDR SDRAM(双倍数据速率同步动态随机存取存储器)、DDR4 SDRAM、LPDDR4(低功耗双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功耗DDR)或RDRAM(存储器总线式动态随机存取存储器)。当缓冲存储器包括在存储器控制器1000内部时,可以省略缓冲存储器接口1050。
存储器接口1060可以在存储器控制器1000和存储器装置100之间交换命令、地址和数据。例如,存储器接口1060可以通过通道(channel)将命令、地址、数据等传送到存储器装置100,并且可以从存储器装置100接收数据等。存储器接口1060可以基于由处理器1010分配和管理的超级块和物理区域向存储器装置100传送命令、地址和数据或从存储器装置100接收命令、地址和数据等。
图17是示出应用了根据本发明的实施例的存储设备的存储卡系统的框图。
参照图17,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100可以被配置为控制存储器装置2200的读取、编程、擦除和后台(background)操作。存储器控制器2100被配置为提供存储器装置2200和主机之间的接口。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件(firmware)。存储器控制器2100可以以与参照图1描述的存储器控制器200相同的方式实现。例如,存储器控制器2100可以在存储器装置2200中分配物理区域和包括该物理区域的超级块,并可以以物理区域和超级块为单位控制存储器装置2200。
例如,存储器控制器2100可以包括诸如RAM(随机存取存储器)、处理单元、主机接口、存储器接口、纠错部的组件。
存储器控制器2100可以通过连接器2300与外部设备进行通信。存储器控制器2100可以根据特定的通信标准与外部设备(例如,主机)进行通信。例如,存储器控制器2100可以被配置为通过诸如USB(通用串行总线(Universal Serial Bus))、MMC(多媒体卡(MultiMedia Card))、eMMC(嵌入式多媒体卡(embedded MMC))、PCI(外围组件互连(Peripheral Component Interconnection))、PCI-E(快速的外围组件互连(PCIexpress))、ATA(高级技术附件(Advanced Technology Attachment))、Serial-ATA(串行ATA)、Parallel-ATA(并行ATA)、SCSI(小型计算机系统接口(Small Computer SystemInterface))、ESDI(增强型小型磁盘机接口(enhanced small disk interface))、IDE(电子集成驱动器(Integrated Drive Electronics))、Firewire(火线)、UFS(通用闪存(Universal Flash Storage))、WIFI、蓝牙(Bluetooth)、NVMe的各种通信标准中的至少一种与外部设备进行通信。例如,连接器2300可以由上述各种通信标准中的至少一种来定义。
例如,存储器装置2200可以被配置为诸如EEPROM(电可擦除可编程ROM(Electrically Erasable and Programmable ROM))、NAND闪存、NOR闪存、PRAM(相变RAM(Phase-change RAM))、ReRAM(电阻RAM(Resistive RAM))、FRAM(铁电RAM(FerroelectricRAM))、STT-MRAM(自旋转移矩RAM(Spin Transfer Torque Magnetic RAM))的各种非易失性存储设备。
存储器控制器2100和存储器装置2200可以集成到一个半导体器件中以构成存储卡。例如,存储器控制器2100和存储器装置2200可以集成到一个半导体器件中以构成诸如PC卡(个人计算机存储卡国际协会(personal computer memory card internationalassociation,PCMCIA))、CF卡、智能媒体卡(SM、SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro、eMMC)、SD卡(SD、miniSD、microSD、SDHC)、通用闪存(UFS)的存储卡。
图18是示出应用了根据本发明的实施例的存储设备的固态硬盘(Solid StateDrive,SSD)系统的框图。
参照图18,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001向主机3100传送信号和从主机3100接收信号,并且通过电源连接器3002接收电力。SSD3200包括SSD控制器3210、多个闪存3221~322n、辅助电源装置3230和缓冲存储器3240。
根据本发明的实施例,SSD控制器3210可以执行参照图1说明的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号来控制多个闪存3221~322n。SSD控制器3210可以通过多个通道CH1~CHn控制多个闪存。一个以上的存储器管芯可以连接到每个通道。例如,信号可以是基于主机3100和SSD 3200的接口的信号。例如,信号可以是由诸如USB(通用串行总线(Universal Serial Bus))、MMC(多媒体卡(MultiMediaCard))、eMMC(嵌入式多媒体卡(embedded MMC))、PCI(外围组件互连(PeripheralComponent Interconnection))、PCI-E(快速的外围组件互连(PCI express))、ATA(高级技术附件(Advanced Technology Attachment))、Serial-ATA(串行ATA)、Parallel-ATA(并行ATA)、SCSI(小型计算机系统接口(Small Computer System Interface))、ESDI(增强型小型磁盘机接口(enhanced small disk interface))、IDE(电子集成驱动器(IntegratedDrive Electronics))、Firewire(火线)、UFS(通用闪存(Universal Flash Storage))、WIFI、蓝牙(Bluetooth)、NVMe的接口中的至少一种定义的信号。
辅助电源装置3230通过电源连接器3002连接到主机3100。辅助电源装置3230可以从主机3100接收电力并进行充电。当来自主机3100的电力供应不顺畅时,辅助电源装置3230可以向SSD 3200供应电力。例如,辅助电源装置3230可以位于SSD 3200内或可以位于SSD 3200外部。例如,辅助电源装置3230可以位于主板上以向SSD3200供应辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪存3221~322n接收的数据,或者缓冲存储器3240可以临时存储闪存3221~322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM、PRAM的非易失性存储器。
图19是示出应用了根据本发明的实施例的存储设备的用户系统的框图。
参照图19,用户系统4000包括应用处理器(Application Processor)4100、存储器模块(Memory Module)4200、网络模块(Network Module)4300、存储模块(Storage Module)4400和用户界面(User Interface)4500。
应用处理器4100可以驱动包括在用户系统4000中的组件、操作系统(OS)、用户程序或文件系统等。例如,应用处理器4100可以包括控制包括在用户系统4000中的组件的控制器、接口和图形引擎等。应用处理器4100可以被提供为片上系统(SoC)。应用处理器4100可以为用户请求写入的数据生成日志,基于该日志分配分区组和分区,并且将被分配有分区的数据提供给存储模块4400。
存储器模块4200可以作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓冲存储器来操作。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2 SDRAM、LPDDR3 SDRAM的易失性随机存取存储器或诸如PRAM、ReRAM、MRAM、FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于POP(叠层封装(Package on Package))封装并且可以被提供为单个半导体封装。
网络模块4300可以与外部设备进行通信。例如,网络模块4300可以支持诸如CDMA(码分多址(Code Division Multiple Access))、GSM(全球移动通信系统(Global Systemfor Mobile communication))、WCDMA(宽带CDMA(wideband CDMA))、CDMA-2000、TDMA(时分多址(Time Division Multiple Access))、LTE(长期演进(Long Term Evolution))、Wimax、WLAN、UWB、蓝牙、Wi-Fi的无线通信。例如,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。或者,存储模块4400可以将存储在存储模块4400中的数据传送到应用处理器4100。例如,存储模块4400可以实现为诸如PRAM(相变RAM(Phase-change RAM))、MRAM(磁性RAM(Magnetic RAM))、RRAM(电阻RAM(Resistive RAM))、NAND闪存、NOR闪存、三维结构的NAND闪存的非易失性半导体存储器器件。例如,存储模块4400可以被提供为诸如用户系统4000的存储卡或外部驱动器的可移动驱动器(removable drive)。
例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以以与参照图1说明的存储器装置100相同的方式操作。存储模块4400可以以与参照图1说明的存储设备50相同的方式操作。
用户界面4500可以包括用于将数据或命令输入到应用处理器4100或者将数据输出到外部设备的界面。例如,用户界面4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器、压电元件的用户输入界面。用户界面4500可以包括诸如LCD(液晶显示器(Liquid Crystal Display))、OLED(有机发光二极管(Organic Light Emitting Diode))显示器、AMOLED(有源矩阵OLED(ActiveMatrix OLED))显示器、LED、扬声器和监视器的用户输出界面。
Claims (20)
1.一种电子设备,包括:
主机设备,包括:应用,请求写入数据;以及文件系统,响应于所述应用的请求,生成关于所述数据属性的日志,并基于所述日志分配与所述数据对应的分区;以及
存储设备,包括:存储器装置,包括多个存储器管芯;以及存储器控制器,从所述主机设备接收所述数据和所述数据的日志,并控制所述存储器装置以将所述数据顺序地存储在对应于所述分区的所述存储器装置中的物理区域中,
所述存储器控制器基于所述日志分配包括所述物理区域的超级块,
所述超级块基于所述日志包括多个第一物理区域或包括多个第二物理区域,所述第一物理区域包括一个存储器管芯中的一个以上的存储器块,所述第二物理区域包括不同的存储器管芯中包括的每个存储器块的一部分。
2.根据权利要求1所述的电子设备,其中,
所述文件系统基于所述日志确定包括被分配的所述分区的分区组,
所述分区组是第一分区组或第二分区组,所述第一分区组包括分配给存储在所述第一物理区域中的数据的第一分区,所述第二分区组包括被分配给存储在所述第二物理区域中的数据的第二分区。
3.根据权利要求2所述的电子设备,其中,
根据所述数据的类型和温度分配所述日志。
4.根据权利要求3所述的电子设备,其中,
存储在所述第一物理区域中的数据比存储在所述第二物理区域中的数据容量小或输入/输出频率高。
5.根据权利要求4所述的电子设备,其中,
存储在所述第一物理区域中的数据的日志是热节点、温节点、冷节点和热数据中的任意一种。
6.根据权利要求4所述的电子设备,其中,
存储在所述第二物理区域中的数据的日志是温数据和冷数据中的任意一种。
7.一种主机设备,包括:
应用,请求写入数据;以及
文件系统,响应于所述应用的请求,生成关于所述数据属性的日志,并基于所述日志分配与所述数据对应的分区,
所述文件系统基于所述日志确定包括所述分区的分区组,
所述分区组是一个以上的第一分区组或一个以上的第二分区组,在所述第一分区组中与所述分区组中的分区顺序无关地分配所述分区组中的空分区中的任意一个作为新的分区,在所述第二分区组中根据所述分区组中的分区顺序分配新的分区。
8.根据权利要求7所述的主机设备,其中,
当与特定的分区对应的数据全部无效时,所述文件系统执行用于将所述分区转换为空分区的复位操作。
9.根据权利要求8所述的主机设备,其中,
当与所述第一分区组中包括的特定的分区对应的数据全部无效时,所述文件系统丢弃所有所述数据,从而完成复位操作。
10.根据权利要求9所述的主机设备,其中,
当与所述第二分区组中包括的特定的分区对应的数据全部无效时,所述文件系统存储指示所述特定的分区准备复位的信息,
在存储指示所述第二分区组中包括的所有分区准备复位的信息之后,丢弃与所述所有分区对应的所有数据,从而完成复位操作。
11.根据权利要求10所述的主机设备,其中,
所述文件系统执行清理以确保空分区,在所述清理中确定牺牲分区并对所述牺牲分区执行所述复位操作。
12.根据权利要求11所述的主机设备,其中,
利用存储有指示所述准备复位的信息的分区的数量来确定所述牺牲分区。
13.根据权利要求12所述的主机设备,其中,
与所述牺牲分区对应的数据中的有效数据被分配与包括所述牺牲分区的分区组相同的类型的分区组中的分区。
14.一种存储设备,包括:
存储器装置,包括多个存储器管芯;以及
存储器控制器,从外部主机接收数据和所述数据的日志,并且在所述存储器装置中分配将要存储数据的超级块,并控制所述存储器装置以将所述数据顺序地存储在所述超级块中包括的物理区域中,
所述超级块基于所述日志包括多个第一物理区域或包括多个第二物理区域,所述第一物理区域包括一个存储器管芯中的一个以上的存储器块,所述第二物理区域包括不同的存储器管芯中包括的每个存储器块的一部分。
15.根据权利要求14所述的存储设备,其中,
所述存储器控制器从所述外部主机接收将要存储的数据的日志,并基于所述日志分配所述超级块。
16.根据权利要求15所述的存储设备,其中,
当从所述主机接收到数据的写入请求时,所述存储器控制器根据被分配的所述超级块,将与所述数据对应的逻辑地址转换为所述超级块中包括的物理区域中的连续的物理地址。
17.根据权利要求14所述的存储设备,其中,
所述第二物理区域跨所有存储器管芯形成。
18.根据权利要求14所述的存储设备,其中,
所述第一物理区域中包括的页面的数量和所述第二物理区域中包括的页面的数量相同。
19.根据权利要求14所述的存储设备,其中,
所述超级块是包括多个所述第一物理区域的第一超级块或包括多个所述第二物理区域的第二超级块,
所述第一超级块和所述第二超级块中包括的存储器块的数量相同。
20.根据权利要求19所述的存储设备,其中,
所述第一超级块和所述第二超级块跨所有存储器管芯形成,并且包括所述所有存储器管芯中的每一个中包括的一个以上的存储器块。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163192877P | 2021-05-25 | 2021-05-25 | |
US63/192,877 | 2021-05-25 | ||
KR10-2021-0086013 | 2021-06-30 | ||
KR20210086013 | 2021-06-30 | ||
KR10-2022-0060466 | 2022-05-17 | ||
KR1020220060466A KR20220159268A (ko) | 2021-05-25 | 2022-05-17 | 호스트 장치, 스토리지 장치 및 전자 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115390746A true CN115390746A (zh) | 2022-11-25 |
Family
ID=84116441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210579394.5A Pending CN115390746A (zh) | 2021-05-25 | 2022-05-25 | 主机设备、存储设备以及电子设备 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11782617B2 (zh) |
CN (1) | CN115390746A (zh) |
TW (1) | TW202246985A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383098A (zh) * | 2023-06-05 | 2023-07-04 | 成都佰维存储科技有限公司 | 地址索引方法、装置、可读存储介质及电子设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240220138A1 (en) * | 2023-01-03 | 2024-07-04 | Western Digital Technologies, Inc. | Dynamic zone group creation and recalibration balancing |
CN116009790A (zh) * | 2023-02-03 | 2023-04-25 | 合肥兆芯电子有限公司 | 有效节点管理方法、存储装置及存储器控制电路单元 |
TWI865275B (zh) * | 2023-03-01 | 2024-12-01 | 南亞科技股份有限公司 | 邏輯位址轉換裝置及方法 |
TWI833588B (zh) * | 2023-03-01 | 2024-02-21 | 南亞科技股份有限公司 | 邏輯位址轉換裝置、方法以及非暫態電腦可讀取儲存媒體 |
US20250085857A1 (en) * | 2023-09-07 | 2025-03-13 | Samsung Electronics Co., Ltd. | Host-device garbage collection coordination for storage devices |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315894B2 (en) * | 2001-07-17 | 2008-01-01 | Mcafee, Inc. | Network data retrieval and filter systems and methods |
US8799572B2 (en) | 2009-04-20 | 2014-08-05 | Microsoft Corporation | Sliding-window multi-class striping |
US9773014B2 (en) | 2014-06-03 | 2017-09-26 | Samsung Electronics Co., Ltd. | Heterogeneous distributed file system using different types of storage mediums |
JP6450598B2 (ja) * | 2015-01-19 | 2019-01-09 | 東芝メモリ株式会社 | 情報処理装置、情報処理方法およびプログラム |
KR102681659B1 (ko) | 2017-01-12 | 2024-07-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102457564B1 (ko) * | 2017-09-20 | 2022-10-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
JP7074453B2 (ja) | 2017-10-30 | 2022-05-24 | キオクシア株式会社 | メモリシステムおよび制御方法 |
KR102524432B1 (ko) * | 2018-04-09 | 2023-04-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102624911B1 (ko) | 2018-06-13 | 2024-01-12 | 삼성전자주식회사 | 개선된 메타 데이터 관리를 통한 플래시 메모리의 내구성 향상 방법 |
US11269552B2 (en) * | 2019-06-14 | 2022-03-08 | Micron Technology, Inc. | Multi-pass data programming in a memory sub-system having multiple dies and planes |
US11341010B2 (en) | 2020-01-15 | 2022-05-24 | EMC IP Holding Company LLC | Dynamic reclamation of storage stripes |
US11586385B1 (en) * | 2020-05-06 | 2023-02-21 | Radian Memory Systems, Inc. | Techniques for managing writes in nonvolatile memory |
US11640259B2 (en) * | 2020-05-21 | 2023-05-02 | Western Digital Technologies, Inc. | Use of surplus erase block pairs in super block formation |
US11221802B2 (en) * | 2020-06-10 | 2022-01-11 | Western Digital Technologies, Inc. | Zone allocation for data storage device based on zone reset behavior |
US11455124B2 (en) * | 2020-10-09 | 2022-09-27 | Western Digital Technologies, Inc. | Command prioritization to reduce latencies of zone commands |
US11989445B2 (en) | 2021-05-13 | 2024-05-21 | Micron Technology, Inc. | Automatic operating mode management for memory using workload profile data |
-
2022
- 2022-05-24 TW TW111119341A patent/TW202246985A/zh unknown
- 2022-05-24 US US17/752,128 patent/US11782617B2/en active Active
- 2022-05-25 CN CN202210579394.5A patent/CN115390746A/zh active Pending
-
2023
- 2023-09-11 US US18/464,289 patent/US20230418485A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383098A (zh) * | 2023-06-05 | 2023-07-04 | 成都佰维存储科技有限公司 | 地址索引方法、装置、可读存储介质及电子设备 |
CN116383098B (zh) * | 2023-06-05 | 2023-09-12 | 成都佰维存储科技有限公司 | 地址索引方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20220382470A1 (en) | 2022-12-01 |
US20230418485A1 (en) | 2023-12-28 |
TW202246985A (zh) | 2022-12-01 |
US11782617B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782617B2 (en) | Host device, storage device, and electronic device | |
US11543986B2 (en) | Electronic system including host, memory controller and memory device and method of operating the same | |
US11954350B2 (en) | Storage device and method of operating the same | |
US11861359B2 (en) | Storage device and method of operating the same | |
US12056359B2 (en) | Storage device, electronic device including storage device, and operating method thereof | |
CN114115709A (zh) | 存储器控制器及其操作方法 | |
KR20220005322A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US11520519B2 (en) | Storage device and method of operating the same | |
US12007887B2 (en) | Method and system for garbage collection | |
KR102648790B1 (ko) | 데이터 저장 장치 및 그 동작 방법 | |
KR20220159268A (ko) | 호스트 장치, 스토리지 장치 및 전자 장치 | |
CN113867619B (zh) | 存储器控制器及其操作方法 | |
KR20240019429A (ko) | 스토리지 장치 및 이를 포함하는 전자 장치와 그 동작 방법 | |
KR20230011214A (ko) | 스토리지 장치 및 이의 동작 방법 | |
KR20230139233A (ko) | 메모리 컨트롤러 및 그것의 동작 방법 | |
KR20220159269A (ko) | 스토리지 장치 및 그 동작 방법 | |
US20240264757A1 (en) | Memory system and operating method thereof | |
US20240095181A1 (en) | Storage device, host device, and electronic device | |
US20240289034A1 (en) | Computing system and method of operating the same | |
US20250094372A1 (en) | Computing system for determining resource to perform operation on data and operating method thereof | |
KR20230041570A (ko) | 메모리 컨트롤러, 스토리지 장치 및 호스트 장치 | |
KR20220165106A (ko) | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 | |
CN115708050A (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 |