CN117349196A - 存储器控制器、存储装置及其操作方法 - Google Patents
存储器控制器、存储装置及其操作方法 Download PDFInfo
- Publication number
- CN117349196A CN117349196A CN202310405896.0A CN202310405896A CN117349196A CN 117349196 A CN117349196 A CN 117349196A CN 202310405896 A CN202310405896 A CN 202310405896A CN 117349196 A CN117349196 A CN 117349196A
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- file
- files
- host
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 178
- 238000000034 method Methods 0.000 title claims description 26
- 238000013507 mapping Methods 0.000 claims abstract description 21
- 239000000872 buffer Substances 0.000 claims description 51
- 238000012986 modification Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 24
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 18
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 4
- 239000010410 layer Substances 0.000 description 4
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 3
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 101100326515 Rosmarinus officinalis CYP76AH22 gene Proteins 0.000 description 2
- 101100326516 Salvia fruticosa CYP76AH24 gene Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101100226364 Arabidopsis thaliana EXT1 gene Proteins 0.000 description 1
- 101100226366 Arabidopsis thaliana EXT3 gene Proteins 0.000 description 1
- 102100029074 Exostosin-2 Human genes 0.000 description 1
- 101000918275 Homo sapiens Exostosin-2 Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 101150101057 PBA1 gene Proteins 0.000 description 1
- 208000033313 RFVT3-related riboflavin transporter deficiency Diseases 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 208000034420 multiple type III exostoses Diseases 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
- 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/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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
-
- 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/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- 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/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/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/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
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种存储装置,包括:存储器装置,被配置为存储指示逻辑地址和物理地址之间的映射关系的多个地址映射;以及存储器控制器,在存储装置从断电状态变为通电状态时,基于从主机接收到的文件属性信息确定多个地址映射中的每一个的优先级等级,并根据优先级等级依次加载多个地址映射。
Description
相关申请的交叉引用
本申请要求于2022年7月4日提交的申请号为10-2022-0082036的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本公开涉及一种电子装置,并且更具体地,涉及一种存储器控制器、存储装置及其操作方法。
背景技术
存储装置是在诸如计算机或智能电话的主机的控制下存储数据的装置。该存储装置包括存储数据的存储器装置和控制该存储器装置的存储器控制器。存储器装置被分类为易失性存储器装置和非易失性存储器装置。
当接收到主机的请求时,存储装置可以预先加载地址映射以快速处理主机的请求。地址映射是用于将主机提供的逻辑地址转换为存储器装置的物理地址的数据。
此外,随着存储器装置的数据存储容量增加,地址映射的容量也增加。因此,存储装置需要大量时间来加载地址映射。此时,当接收到主机的请求时,会存在出现额外开销的问题,从而会增加延迟时间。
发明内容
本公开的实施例提供一种用于提高操作速度的存储器控制器、存储装置及其操作方法。
根据本公开的实施例,一种存储装置可以包括:存储器装置,被配置为存储指示逻辑地址和物理地址之间的映射关系的多个地址映射;以及存储器控制器,在存储装置从断电状态进入通电状态时,基于从主机接收到的文件属性信息,确定多个地址映射中的每一个的优先级等级,并根据优先级等级依次加载多个地址映射。
根据本公开的实施例,一种存储器控制器可以包括:主机接口,在存储装置从断电状态进入通电状态时,从主机接收多个地址组中包括的文件中的每一个的文件属性信息;存储器接口,被配置为与存储器装置通信,该存储器装置存储指示逻辑地址和物理地址之间的映射关系的多个地址映射;以及处理器,被配置为基于文件属性信息确定与多个地址组相对应的多个地址映射中的每一个的优先级等级,并控制存储器接口根据优先级等级从存储器装置依次加载多个地址映射。
根据本公开的实施例,一种操作存储装置的方法可以包括:在存储装置处于通电状态时,从主机接收多个地址组中包括的文件中的每一个的文件属性信息,基于文件属性信息确定与多个地址组相对应的多个地址映射的优先级等级,并根据优先级等级从存储器装置依次加载多个地址映射。
根据本公开的实施例,可以提供用于提高操作速度的存储器控制器、存储装置及其操作方法。根据本公开的实施例,可以提高启动过程的操作速度,并且可以考虑到数据的属性和存储块的寿命来有效地管理存储块。
根据本公开的实施例,一种控制器的操作方法可以包括:在通电时从主机接收与各组逻辑地址相对应的文件的属性信息,与各地址映射相对应的组分别表示逻辑与物理地址之间的关系,物理地址指示存储器装置内存储文件的存储区域;基于属性信息,将单个的地址映射从存储器装置依次加载到工作存储器;并且响应于在顺序加载期间与逻辑地址一起从主机提供的请求,控制存储器装置通过针对所提供的逻辑地址参考目前为止所加载的地址映射来执行操作。属性信息可以表示对文件中相应一个文件的访问频率和最近访问时间。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出根据本公开的实施例的存储器装置的示图。
图3是示出根据本公开的实施例的第一存储块的示图。
图4是示出根据本公开的实施例的操作存储装置的方法的示图。
图5是示出根据本公开的实施例的文件属性信息的示图。
图6是示出根据本公开的实施例的确定优先级分数(priority score)的方法的示图。
图7是示出根据本公开的实施例的优先级等级(priority rank)的示图。
图8是示出根据本公开的实施例的确定热/冷加权值的方法的示图。
图9是示出根据本公开的实施例的确定热/冷等级的方法的示图。
图10和图11是示出根据本公开的实施例的垃圾收集操作的示图。
图12是示出根据本公开的实施例的应用了存储装置的存储卡的框图。
图13是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)的框图。
具体实施方式
仅示出根据本说明书中公开的构思的实施例的特定结构或功能描述以描述根据本公开的构思的实施例。根据本公开的构思的实施例可以以各种形式实施并且不应被解释为限于本说明书中描述的实施例。
图1是示出根据本公开的实施例的存储装置的示图。
参照图1,存储装置100可以存储数据。根据通信标准或存储数据的方法,存储装置100可以被实施为各种类型的存储装置中的任意一种。例如,存储装置100可以被实施为以下中的任意一种:固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型MMC中的一种存储装置,安全数字(SD)、迷你-SD和微型SD中的一种存储装置,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)类型的存储装置,外围组件互连(PCI)类型的存储装置,高速PCI(PCI-E)类型的存储装置,网络附加存储(NAS)和无线网络存储装置。这里,列举的存储装置仅仅是示例,并且本公开不限于此,并且存储装置100可以被实施为各种存储装置。
存储装置100可以响应于主机200的请求而操作。具体地,存储装置100可以执行与从主机200接收到的请求相对应的操作。例如,当从主机200接收到数据和指示存储数据的请求时,存储装置100可以将数据存储在存储装置100中。作为另一示例,当从主机200接收到指示读取数据的请求时,存储装置100可以向主机200提供存储装置100中存储的数据。
主机200可以是诸如以下的各种电子装置中的一种:台式计算机、膝上型计算机、移动电话、智能手机、游戏机、电视(TV)、平板电脑或可穿戴装置。主机200可以通过使用各种通信标准通信来请求存储装置100存储数据、读取数据或擦除数据。存储装置100可以安装在主机200内部或者被实施为主机200的外部电子装置。
存储装置100可以包括存储器装置110和存储器控制器120。根据实施例的存储装置100可以进一步包括缓冲存储器130。
存储器装置110可以存储数据。为此,存储器装置110可以被实施为各种类型的非易失性半导体存储器装置。例如,存储器装置110可以被实施为NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器等中的一种。
存储器装置110可以包括多个存储块BLK。多个存储块BLK可以存储至少一个文件。文件可以表示一种数据单位。每个存储块BLK可以包括多个页面。存储块BLK和页面可以指示执行与数据相关的操作的单位。多个存储块BLK中的每一个可以是存储用户数据的用户数据块和存储系统数据的系统数据块中的一个。系统数据可以是用于存储器装置110的操作的数据。
存储器装置110可以存储多个地址映射。每个地址映射可以指示逻辑地址和物理地址之间的映射关系。例如,地址映射可以包括逻辑地址和物理地址之间的映射信息。地址映射可以对应于地址组。例如,地址映射可以包括以地址组为单位的映射信息。地址组可以是包括文件的多个逻辑地址的组或列表。换言之,文件或文件的多个逻辑地址可以属于地址组。地址映射可以包括关于属于地址组的文件的多个逻辑地址和多个物理地址的映射信息。这里,逻辑地址指示主机200中使用的数据或文件的存储位置。物理地址指示数据或文件在存储器装置110中的存储位置。多个地址映射可以存储在存储器装置110的系统数据块中。
存储器控制器120可以控制存储器装置110的操作。当从主机200接收到请求和逻辑地址时,存储器控制器120可以将逻辑地址转换成相应的物理地址,并控制存储器装置110对物理地址指示的存储位置执行与请求相对应的操作。例如,该请求可以是写入请求、读取请求、擦除请求等。与写入请求相对应的操作可以是存储数据的编程操作,与读取请求相对应的操作可以是输出所存储的数据的读取操作,并且与擦除请求相对应的操作可以是擦除所存储的数据的擦除操作。存储器控制器120可以加载存储器装置110中存储的地址映射以将逻辑地址转换成相应的物理地址。
缓冲存储器130可以存储存储器控制器120使用的命令或多个地址映射。在实施例中,缓冲存储器130可以以比存储器装置110更快的速度存储数据或输出所存储的数据。
根据实施例,缓冲存储器130可以是动态RAM(DRAM),其可以通过每隔预定时间执行刷新来保存所存储的数据。在这种情况下,缓冲存储器130可以在通电状态下存储数据。在另一个实施例中,缓冲存储器130可以是静态随机存取存储器(SRAM),在SRAM中只要供电就可以持续保存所存储的数据。
主机200可以包括中央处理单元、主机存储器和通信接口。中央处理单元可以使用加载到主机存储器中的数据来执行应用程序或者可以对加载到主机存储器中的数据执行运算过程。可以将应用程序、文件系统、设备驱动程序等加载到主机存储器中。通信接口可以提供主机200和存储装置100之间的物理连接。
主机200可以将主机存储器的部分区域分配为主机存储器缓冲器HMB。也就是说,主机200可以包括主机存储器缓冲器HMB。主机存储器缓冲器HMB可以存储各种数据。例如,主机存储器缓冲器HMB可以存储文件属性信息。这里,文件属性信息是指示文件的各种属性的信息。文件可以指示特定文件系统中的数据单元。例如,文件系统可以是FAT16、FAT32、exFAT、NTFS、EXT2、EXT3、EXT4、HFS、HFS+、APFS等。存储装置100可以访问主机存储器缓冲器HMB中存储的数据。
根据本公开的实施例的存储器控制器120可以从主机存储器缓冲器HMB接收主机200的主机存储器缓冲器HMB中存储的文件属性信息。存储器控制器120可以使用文件属性信息执行各种操作。
在实施例中,当存储器控制器120从断电状态进入通电状态时,存储器控制器120可以基于从主机200接收的文件属性信息来确定多个地址映射中的每一个的优先级等级。存储器控制器120可以根据优先级等级依次加载多个地址映射。因此,当在加载多个地址映射的同时接收到主机200的请求时,可以解决由于开销而出现延迟的问题。
根据本公开的实施例,可以提供用于提高操作速度的存储器控制器120、存储装置100及其操作方法。根据实施例,可以提高启动过程的运行速度。根据实施例,可以考虑到数据的属性和存储块的寿命来有效地管理存储块。在下文中,参照附图更详细地描述本公开的实施例。
图2是示出根据本公开的实施例的存储器装置的示图。
参照图2,存储器装置110可以包括存储器单元阵列111、外围电路112和控制逻辑113。
存储器单元阵列111可以包括多个存储块BLK1至BLKz。存储块BLK1至BLKz中的每一个可以连接到行线RL。这里,行线RL可以包括多条字线。页面PG1至PGn中的每一个可以连接到一条字线。存储块BLK1至BLKz中的每一个可以连接到多条位线BL1至BLm。页面PG1至PGn中的每一个可以连接到多条位线BL1至BLm。
存储块BLK1至BLKz中的每一个可以包括多个页面PG1至PGn。页面PG1至PGn中的每一个可以包括多个存储器单元。存储器单元可以存储以位为单位的数据。例如,存储器单元的阈值电压可以根据存储的电荷量而变化。存储器单元的阈值电压可以指示存储器单元中存储的数据的位值。这里,页面PG1至PGn中的每一个可以包括执行存储数据的编程操作或读取所存储的数据的读取操作的单位的存储器单元。存储块BLK1至BLKz中的每一个可以包括执行擦除数据的擦除操作的单位的存储器单元。
存储块BLK1至BLKz中的每一个可以包括多个存储器单元。多个存储器单元可以设置为二维结构或三维结构。这里,存储器单元可以是半导体存储器装置。一个存储器单元可以连接到一条字线和一条位线。存储器单元的阈值电压可以属于多个编程状态之中的一个编程状态。这里,编程状态的数量可以根据数据存储方法而变化。例如,一个存储器单元可以根据诸如以下的各种数据存储方法存储数据:存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)以及存储4位数据的四层单元(QLC)。
外围电路112可以响应于控制逻辑113的控制而操作。例如,外围电路112可以驱动存储器单元阵列111以执行编程操作、读取操作或擦除操作。
外围电路112可以包括地址解码器112a、电压生成器112b、读取和写入电路112c、数据输入/输出电路112d以及感测电路112e。
地址解码器112a可以通过行线RL连接到存储器单元阵列111。例如,行线RL可以包括漏极选择线、多条字线、源极选择线和源极线。例如,地址解码器112a可以包括诸如行解码器、列解码器和地址缓冲器的组件。
地址解码器112a可以响应于控制逻辑113的控制而操作。例如,地址解码器112a可以从控制逻辑113接收地址ADDR。地址解码器112a可以对接收到的地址ADDR中包括的块地址或页面地址进行解码。这里,页面地址可以指示行地址。地址解码器112a可以将电压生成器112b提供的操作电压Vop施加到存储块BLK1至BLKz之中由块地址确定的所选择存储块。地址解码器112a可以将从电压生成器112b提供的操作电压Vop施加到由块地址确定的所选择存储块中包括的页面之中的、由页面地址确定的所选择页面。这里,操作电压Vop可以包括编程电压、验证电压、编程通过电压、验证通过电压、读取电压、读取通过电压、第一擦除电压和第二擦除电压等中的至少一个。
电压生成器112b可以使用供应给存储器装置110的外部电力来生成各种类型的操作电压Vop。例如,可以使用供应给存储器装置110的外部电力来生成编程电压、验证电压、编程通过电压、验证通过电压、读取电压、读取通过电压、第一擦除电压和第二擦除电压等。
电压生成器112b可以响应于控制逻辑113的控制而操作。例如,当从控制逻辑113接收到操作信号OPSIG时,电压生成器112b可以将与操作信号OPSIG相对应的操作电压Vop提供到地址解码器112a。
读取和写入电路112c可以包括多个页面缓冲器PB1至PBm。多个页面缓冲器PB1至PBm中的每一个可以通过多条位线BL1至BLm之中的相应位线连接到存储器单元阵列111。例如,多个页面缓冲器PB1至PBm中的每一个可以通过一条位线共同连接到多个存储块BLK1至BLKz中的每一个中包括的存储器单元之中的、指示特定列的存储器单元。多个页面缓冲器PB1至PBm中的每一个可以临时存储数据DATA。为此,多个页面缓冲器PB1至PBm中的每一个可以用诸如锁存电路(latch circuit)的各种存储器装置来实施。
读取和写入电路112c可以响应于控制逻辑113的控制而操作。例如,当从控制逻辑113接收到缓冲控制信号PBSIGNALS时,读取和写入电路112c可以通过多条位线BL1至BLm向存储器单元阵列111施加与数据DATA相对应的电压,或者通过多条位线BL1至BLm读取存储器单元阵列111中存储的数据DATA。
数据输入/输出电路112d可以通过数据线DL连接到读取和写入电路112c。数据输入/输出电路112d可以包括接收输入数据DATA的多个输入/输出缓冲器。数据输入/输出电路112d可以响应于控制逻辑113的控制信号而操作。例如,当接收到控制逻辑113的控制信号时,数据输入/输出电路112d可以通过数据线DL将数据DATA传输到读取和写入电路112c,或者通过通道将数据DATA输出到存储器控制器120。
感测电路112e可以响应于从控制逻辑113接收到的允许位信号VRYBIT而生成参考电压。感测电路112e可以根据将从读取和写入电路112c接收的感测电压VPB与参考电压进行比较的结果,向控制逻辑113输出通过信号PASS或失败信号FAIL。这里,通过信号PASS可以指示编程脉冲操作或读取操作通过。失败信号FAIL可以指示编程脉冲操作或读取操作失败。
控制逻辑113可以控制存储器装置110的整体操作。控制逻辑113可以根据从存储器控制器120接收的命令CMD和地址ADDR来控制外围电路112执行编程操作、读取操作或擦除操作。这里,命令CMD可以是编程命令、读取命令或擦除命令。为此,控制逻辑113可以连接到外围电路112。例如,控制逻辑113可以连接到地址解码器112a、电压生成器112b、读取和写入电路112c、数据输入/输出电路112d和感测电路112e。
返回参照图1,存储器控制器120可以包括处理器121、主机接口(I/F)122、存储器接口(I/F)123和缓冲器管理器124中的至少一个。
处理器121可以执行闪存转换层(FTL)的功能。处理器121可以通过地址映射将主机200提供的逻辑地址转换为物理地址。处理器121可以运行固件以控制存储器控制器120的操作。例如,处理器121可以控制存储器控制器120的整体操作并且运行用于执行逻辑操作的固件。
主机接口122可以与主机200通信。为此,主机接口122可以连接到主机200。例如,主机接口122可以通过通道连接到主机200,并且可以通过通道发送和接收信号。
当主机接口122从断电状态进入通电状态时,主机接口122可以从主机200接收多个地址组中包括的文件中的每一个的文件属性信息。例如,主机接口122可以从主机200的主机存储器缓冲器HMB接收文件属性信息。
处理器121可以基于文件属性信息,确定与多个地址组相对应的多个地址映射的优先级等级。处理器121可以控制存储器接口123根据优先级等级从存储器装置110依次加载多个地址映射。
存储器接口123可以与存储器装置110通信。为此,存储器接口123可以连接到存储器装置110。例如,存储器接口123可以通过通道连接到存储器装置110,并且可以通过通道发送和接收信号。
缓冲器管理器124可以与缓冲存储器130通信以管理缓冲存储器130。缓冲器管理器124可以暂时将数据存储在缓冲存储器130中,输出缓冲存储器130中存储的数据或者擦除缓冲存储器130中存储的数据。
缓冲器管理器124可以与处理器121、主机接口122和存储器接口123通信。缓冲器管理器124可以将从处理器121、主机接口122或存储器接口123接收的数据存储在缓冲存储器130中。缓冲器管理器124可以将从缓冲存储器130接收的数据传输到处理器121、主机接口122或存储器接口123。
缓冲器管理器124可以将通过存储器接口123从存储器装置110加载的地址映射存储在缓冲存储器130中。当处理器121执行FTL功能时,缓冲器管理器124可以将缓冲存储器130中存储的地址映射传输到处理器121。
图3是示出根据本公开的实施例的第一存储块的示图。
参照图3,根据本公开的实施例的第一存储块BLK1可以包括多个页面PG1至PG9。以下对第一存储块BLK1的描述可以应用于多个存储块BLK中的每一个。
页面PG1至PG9中的每一个可以具有编程状态和擦除状态中的一个。编程状态可以指示存储了数据的页面,而擦除状态可以指示可以存储数据的页面。数据可以是有效数据和无效数据中的一种。例如,有效数据可以是保存有相应数据的地址映射的数据,而无效数据可以是丢失相应数据的地址映射的数据。
第一存储块BLK1可以存储至少一个或多个文件F1至F3。文件F1至F3可以包括一个页面或多个页面中存储的数据。例如,第一文件F1可以包括第一页面PG1至第三页面PG3中存储的数据。在这种情况下,分配给第一文件F1的逻辑地址可以对应于指示第一页面PG1至第三页面PG3的物理地址。
图4是示出根据本公开的实施例的操作存储装置的方法的示图。
参照图4,主机200可以将多个地址组中包括的文件中的每一个的文件属性信息存储在主机存储器缓冲器HMB中(S410)。这里,文件属性信息是表示文件的属性的信息。例如,文件属性信息可以包括文件的访问频率、文件的最近访问时间、文件创建时间和文件修改时间中的至少一个。文件是数据在存储装置100内部的存储器装置110中存储的单位。
当第一事件发生时,主机200可以控制存储装置100进入省电模式(S415)。例如,第一事件可以是接收到指示进入省电模式的用户命令的情况、在预定时间或更长时间内未接收到用户命令的情况等。例如,省电模式可以是切断向存储装置100供电的运行时间D3(RTD3)状态。
由于存储装置100进入省电模式,存储装置100可能断电(S420)。在这种情况下,存储装置100可能处于供电被切断的断电状态。在这种情况下,缓冲存储器130中存储的数据可能丢失。
此后,当第二事件发生时,主机200可以控制存储装置100解除省电模式(S425)。例如,第二事件可以是通过输入装置(例如,按钮、鼠标、键盘等)接收到用户命令的情况。例如,省电模式的解除可以是向存储装置100供电的RTD3的重启状态。
由于省电模式被解除,存储装置100可以通电(S430)。在这种情况下,可以向存储装置100供电,因此存储装置100可以从断电状态改变为通电状态。另外,存储装置100可以执行启动操作(S440)。例如,启动操作可以是使存储装置100准备处于存储装置100可以执行操作的状态的操作。
当存储装置100处于通电状态时,存储装置100可以从主机200接收多个地址组中包括的文件中的每一个的文件属性信息。这里,可以根据数据的大小为每个文件分配至少一个逻辑地址。根据分配给文件的逻辑地址,每个文件可以包括在逻辑地址组中。
存储装置100可以基于文件属性信息确定与多个地址组相对应的多个地址映射的优先级等级(S450)。一个地址组可以对应于一个地址映射。例如,相互对应的地址组和地址映射可以包括相同的逻辑地址。这里,优先级等级可以指示加载地址映射的顺序。
在实施例中,确定优先级等级(S450)可以针对多个地址组之中的所选择的地址组中包括的文件中的每一个,通过使用文件属性信息中包括的文件中的每一个的访问频率和最近访问时间的加权值计算来确定优先级等级加权值。另外,可以通过比较所选择的地址组和其余地址组之间的优先级分数来确定与所选择的地址组相对应的所选择的地址映射的优先级等级。地址组的优先级分数可以是地址组中包括的文件的优先级加权值的平均值。
存储装置100可以根据优先级等级从存储器装置110依次加载多个地址映射(S460)。由于存储装置100根据优先级等级从存储器装置110依次加载多个地址映射,因此可以完成整个地址映射的加载(S480)。
在实施例中,由于存储装置100根据优先级等级从存储器装置110依次加载多个地址映射,在多个地址映射之中的部分地址映射加载完成的状态下,存储装置可以从主机200接收对数据和逻辑地址的请求。对数据(或文件)的请求可以是数据写入请求或数据读取请求。
在这种情况下,存储装置100可以通过使用加载完成的一些地址映射之中的、与包括接收到的逻辑地址的地址组相对应的地址映射,识别与接收到的逻辑地址相对应的物理地址并且对与物理地址相对应的存储区域执行与请求相对应的操作(S470)。
根据本公开的实施例,在执行启动操作之后,存储装置100可以基于从主机200接收到的文件属性信息来确定优先级等级,并且根据优先级等级依次加载主机200请求的高概率的地址映射,从而提高存储装置100的操作速度并且快速响应主机200的请求而没有延迟。
图5是示出根据本公开的实施例的文件属性信息的示图。
在实施例中,参照图5,多个地址组LBAG1至LBAG2中的每一个中包括的文件F1至F5的文件属性信息510可以包括地址信息、访问信息和文件时间信息中的至少一个。
地址信息可以包括起始逻辑地址LBAa至LBAe和长度L1至L5。起始逻辑地址LBAa至LBAe指示分配给相应文件F1至F5的至少一个逻辑地址之中逻辑地址开始的位置。长度L1至L5指示分配给相应文件F1至F5的逻辑地址的长度。长度L1至L5可以与相应文件F1至F5的大小(或容量)成比例。当多个逻辑地址被分配给文件F1至F5中的每一个时,多个逻辑地址可以是连续的地址。
例如,当第一文件F1的第一起始逻辑地址LBAa为第一逻辑地址且第一文件F1的第一长度L1为3时,存储装置100或主机200可以通过第一文件F1的第一起始逻辑地址LBAa和第一文件F1的第一长度L1识别出第一逻辑地址至第三逻辑地址被分配给第一文件F1。
访问信息可以包括访问频率FA1至FA5和最近访问时间TA1至TA5。访问频率FA1至FA5指示主机200访问(或读取)存储装置100中存储的相应文件F1至F5的次数。最近访问时间TA1至TA5指示主机200最近访问(或读取)存储装置100中存储的相应文件F1至F5的时间。
文件时间信息可以包括文件创建时间TG1至TG5和文件修改时间TE1至TE5。文件创建时间TG1至TG5指示相应文件F1至F5最初存储在存储装置100中的时间。文件修改时间TE1至TE5指示相应文件F1至F5被更新并存储在存储装置100中的时间。
文件属性信息510可以包括关于地址组LBAG1至LBAG2的信息。根据文件F1至F5中的每一个所分配的逻辑地址,文件F1至F5中的每一个可以包括在地址组LBAG1至LBAG2中的一个中。也就是说,地址组LBAG1至LBAG2中的每一个可以包括至少一个文件。地址组LBAG1至LBAG2可以对应于地址映射。例如,彼此对应的地址组LBAG1至LBAG2和地址映射可以具有包括相同逻辑地址的关系。例如,第一文件F1至第四文件F4可以属于第一地址组LBAG1。与第一地址组LBAG1相对应的第一地址映射可以包括第一文件F1至第四文件F4中的每一个的地址映射信息。地址映射信息可以是逻辑地址和物理地址之间的映射信息。
根据实施例的存储器控制器120的处理器121可以基于文件属性信息中包括的最近访问时间和访问频率来确定地址组LBAG1至LBAG2中的每一个的优先级等级。参照图6和图7描述优先级等级的具体内容。
图6是示出根据本公开的实施例的确定优先级分数的方法的示图。
参照图6,根据实施例的处理器121可以针对多个地址组之中所选择的地址组中包括的文件中的每一个,通过使用当前时间和最近访问时间之间的差值以及访问频率的加权值计算来确定优先级加权值。例如,选择所选择的地址组作为包括第一文件F1至第四文件F4的第一地址组LBAG1,如图6的表610中所示。
在实施例中,如第一等式620所示,加权值计算可以是将访问频率乘以第一常数m1得到的值与当前时间和最近访问时间之间的差值乘以第二常数m2得到的值相加的计算。可以获得优先级加权值作为加权值计算的结果。第一常数m1和第二常数m2中的每一个可以是预设值。例如,第一常数m1和第二常数m2中的每一个可以具有大于0且小于1的值。
在这种情况下,处理器121可以通过使用当前时间和最近访问时间TA1之间的差值以及访问频率FA1的加权值计算来获得第一文件F1的第一优先级加权值PV1。以相同的方法,处理器121可以获得第二优先级加权值PV2至第四优先级加权值PV4。
在实施例中,如第二等式630所示,处理器121可以确定优先级加权值PV1至PV4的平均值作为第一地址组LBAG1的第一优先级分数PS1。以相同的方法,处理器121可以确定其他地址组中的每一个的优先级分数。另外,处理器121可以通过将第一地址组LBAG1的优先级分数PS1与其他地址组的优先级分数进行比较,确定与所选择的地址组LBAG1相对应的所选择的地址映射的优先级等级。
图7是示出根据本公开的实施例的优先级等级的示图。
参照图7,根据实施例的处理器121可以将多个地址组LBAG1至LBAG3的优先级分数PS1至PS3的大小进行比较,以确定多个地址组LBAG1至LBAG3中的每一个的优先级等级。
例如,如图7的第一表710所示,当大小按照第二地址组LBAG2的第二优先级分数PS2、第一地址组LBAG1的第一优先级分数PS1和第三地址组LBAG3的优先级分数PS3的顺序减小时,处理器121可以按照第二地址组LBAG2、第一地址组LBAG1和第三地址组LBAG3的顺序确定优先级等级的值。这里,随着优先级等级的值减小,加载地址映射的顺序会更早。也就是说,随着优先级分数的增加,加载地址映射的顺序会更早。
如图7的第二表720所示,多个地址组LBAG1至LBAG3可以对应于多个地址映射M1至M3。处理器121可以根据优先级等级依次加载多个地址映射M1至M3。
例如,处理器121可以控制存储器装置110首先加载与多个地址组LBAG1至LBAG3之中具有最小优先级等级的第二地址组LBAG2相对应的第二地址映射M2。处理器121可以控制存储器装置100加载多个地址组LBAG1至LBAG3之中与具有次小优先级等级的第一地址组LBAG1相对应的第一地址映射M1。以相同的方式,处理器121可以根据优先级等级依次加载多个地址映射M1至M3。
多个地址映射M1至M3中的每一个可以包括逻辑地址和物理地址之间的映射关系。例如,第一地址映射M1包括第一地址组LBAG1中包括的逻辑地址LBA1至LBA20以及分别与逻辑地址LBA1至LBA20相对应的物理地址PBA1至PBA20。
图8是示出根据本公开的实施例的确定热/冷加权值的方法的示图。
参照图8,根据实施例的处理器121可以基于多个文件F1至F4中的每一个的文件创建时间和文件修改时间,确定多个文件F1至F4中的每一个的热/冷加权值HCV1至HCV4。
在具体实施例中,如图8的表810所示,处理器121可以通过使用第一文件F1的文件修改时间TE1和文件创建时间TG1之间的第一差值以及当前时间与文件修改时间TE1之间的第二差值的加权值计算,确定第一文件F1的热/冷加权值HCV1。通过这种方法,处理器121可以确定第二文件F2至第四文件F4中的每一个的热/冷加权值HCV2至HCV4。
例如,如第三等式820所示,加权值计算可以是将文件修改时间和文件创建时间之间的第一差值乘以第一常数h1所获得的值与当前时间和文件修改时间之间的第二差值乘以第二常数h2所获得的值相加的计算。可以获得热/冷加权值作为加权值计算的结果。第一常数h1和第二常数h2中的每一个可以是预设值。例如,第一常数h1和第二常数h2中的每一个可以是大于0且小于1的值。
图9是示出根据本公开的实施例的确定热/冷等级的方法的示图。
参照图9,根据实施例的处理器121可以通过将多个文件F1至F4的热/冷加权值HCV1至HCV4的大小进行比较来确定多个文件F1至F4的热/冷等级。
例如,如图9的表910所示,当大小按照第二热/冷加权值HCV2、第四热/冷加权值HCV4、第三热/冷加权值HCV3和第一热/冷加权值HCV1的顺序减小时,处理器121可以按第二文件F2、第四文件F4、第三文件F3和第一文件F1的顺序确定热/冷等级的值。
这里,随着热/冷等级值减小(或热/冷加权值的值增大),相应文件的类型可能是冷数据。冷数据指示主机200请求次数相对较少的数据。随着热/冷等级值增大(或热/冷加权值减小),相应文件的类型可能是热数据。热数据指示主机200请求次数较多的数据。
在冷数据的情况下,可以执行垃圾收集操作。在下文中,参照图10和图11具体描述对存储诸如图9的表910等的文件F1至F4的存储块执行垃圾收集的方法。
图10和图11是示出根据本公开的实施例的垃圾收集操作的示图。
参照图10,存储器装置110可以包括第一存储块BLK1至第三存储块BLK3。第一存储块BLK1至第三存储块BLK3中的每一个可以包括多个页面PG1至PG9。
第一存储块BLK1的第一页面PG1至第五页面PG5可以存储第一文件F1。第一存储块BLK1的第六页面PG6至第九页面PG9可以存储第二文件F2。第二存储块BLK2的第一页面PG1至第四页面PG4可以存储第四文件F4。第二存储块BLK2的第五页面PG5至第九页面PG9可以存储第三文件F3。第三存储块BLK3可以是空闲块。在空闲块中,存储块中包括的所有页面PG1至PG9可以处于擦除状态。
在实施例中,第三存储块BLK3的擦除计数值可以等于或大于参考值。擦除计数值指示对相应的存储块执行擦除操作的次数。随着擦除计数值增加,相应存储块的剩余寿命可能减少。参考值可以是设定值。
处理器121可以按照热/冷加权值的降序从多个文件F1至F4之中选择文件。例如,如图9的表910所示,处理器121可以根据热/冷加权值的降序选择第二文件F2和第四文件F4。
另外,处理器121可以控制存储器装置110将所选择的文件F2和F4存储在存储器装置110中包括的多个存储块BLK1至BLK3之中的第三存储块BLK3中。例如,处理器121可以控制存储器接口123将指示将所选择的文件F2和F4存储在第三存储块BLK3中的命令传输到存储器装置110。存储器装置110可以根据接收到的命令,执行将所选择的文件F2和F4存储在第三存储块BLK3中的编程操作。
在这种情况下,如图10和图11所示,第一存储块BLK1的第二文件F2和第二存储块BLK2的第四文件F4可以存储在第三存储块BLK3中,而第一存储块BLK1的第二文件F2和第二存储块BLK2的第四文件F4可以作为无效数据处理。
根据如上所述的本公开的实施例,可以使用主机200的文件属性信息有效地管理存储器装置110中包括的存储块。
图12是示出根据本公开的实施例的应用了存储装置的存储卡2000的框图。
参照图12,存储卡2000可以包括存储器装置2100、存储器控制器2200和连接器2300。
存储器装置2100可以执行存储数据的编程操作、读取数据的读取操作或擦除数据的擦除操作。存储器装置2100可以用各种非易失性半导体存储器装置来实施。参照图1等对存储器装置110的描述可以相同地应用于存储器装置2100。
存储器控制器2200可以通过连接器2300与外部装置通信。存储器控制器2200可以根据特定通信标准与外部装置(例如,主机)通信。例如,存储器控制器2200可以通过存储器装置2100和主机200之间的通信来传输数据、命令等。存储器控制器2200可以控制存储器装置2100。存储器控制器2200可以控制存储器装置2100执行编程操作、读取操作或擦除操作。参照图1等对存储器控制器120的描述可以相同地应用于存储器控制器2200。
存储器装置2100和存储器控制器2200可以集成到一个半导体装置中来配置存储卡。例如,存储器装置2100和存储器控制器2200可以集成到一个半导体装置中并且可以被制造为诸如以下的存储卡类型:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)和通用闪存(UFS)。
图13是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)3000的框图。
参照图13,SSD 3000可以包括多个非易失性存储器装置3100_1至3100_n、SSD控制器3200、信号连接器3010、电源连接器3020、辅助电源3030和缓冲存储器3040。
SSD 3000可以通过信号连接器3010与主机3300通信。信号连接器3010可以按照根据各种通信方法的接口的形式实施。例如,信号连接器3010可以是根据各种通信方法的接口中的一个,诸如串行ATA(SATA)接口、迷你SATA(mSATA)接口、高速PCI(PCIe)接口和M.2接口。
多个第一非易失性存储器装置3100_1可以通过第一通道CH1连接到SSD控制器3200,多个第二非易失性存储器装置3100_2可以通过第二通道CH2连接到SSD控制器3200,并且多个第n非易失性存储器装置3100_n可以通过第n通道CHn连接到SSD控制器3200。因此,SSD控制器3200可以与通过彼此独立的通道连接的非易失性存储器装置并行地执行通信。
此外,参照图1对存储器装置110的描述可以相同地应用于多个非易失性存储器装置3100_1至3100_n中的每一个。参照图1对存储器控制器120的描述可以相同地应用于SSD控制器3200。在下文中,省略重复的说明。
SSD 3000可以通过电源连接器3020从主机3300接收外部电力。辅助电源3030可以通过电源连接器3020连接到主机3300。辅助电源3030可以从主机3300接收电力并且用该电力充电。当来自主机3300的电力供应不平稳时,辅助电源3030可以向SSD 3000提供电力。辅助电源3030可以位于SSD 3000内部或位于SSD 3000外部。例如,辅助电源3030可以位于主板上并且可以向SSD 3000提供辅助电源。
缓冲存储器3040可以临时存储数据。例如,缓冲存储器3040可以临时存储从主机3300接收的数据或从多个非易失性存储器装置3100_1至3100_n接收的数据,或者临时存储非易失性存储器装置3100_1至3100_n的元数据(例如,映射表)。缓冲存储器3040可以包括诸如DRAM或SRAM的易失性存储器或诸如EEPROM的非易失性存储器装置。
已经说明和描述了本发明的多种实施例。尽管本文中使用了特定术语,但它们仅用于描述。本发明不限于或受限于任何这样的术语或任何上述实施例,因为在本发明的精神和范围内可以进行许多变型。本发明涵盖所有这些变型,只要它们落入所附权利要求的范围内。此外,可以组合实施例以形成额外的实施例。
Claims (19)
1.一种存储装置,包括:
存储器装置,存储指示逻辑地址和物理地址之间的映射关系的多个地址映射;以及
存储器控制器,当所述存储装置从断电状态进入通电状态时,基于从主机接收到的文件属性信息确定所述多个地址映射中的每个地址映射的优先级等级,并根据所述优先级等级依次加载所述多个地址映射。
2.根据权利要求1所述的存储装置,其中所述文件属性信息包括与所述多个地址映射相对应的多个地址组中包括的文件中的每个文件的访问频率、最近访问时间、文件创建时间和文件修改时间中的至少一个。
3.根据权利要求2所述的存储装置,其中所述存储器控制器基于所述访问频率和所述最近访问时间来确定所述优先级等级。
4.根据权利要求3所述的存储装置,其中所述存储器控制器通过以下方式确定所述优先级等级:
针对所述多个地址组之中的所选择的地址组中包括的所述文件中的每个文件,通过使用所述访问频率以及当前时间与所述最近访问时间之间的差值的加权值计算来确定优先级加权值,
确定所述所选择的地址组中包括的所述文件的优先级加权值的平均值作为所述所选择的地址组的优先级分数,并且
通过将所述所选择的地址组的优先级分数和剩余地址组的优先级分数进行比较来确定与所述所选择的地址组相对应的所选择的地址映射的所述优先级等级。
5.根据权利要求2所述的存储装置,
其中所述存储器装置包括存储多个文件的多个存储块,并且
所述存储器控制器进一步:
基于所述文件创建时间和所述文件修改时间,确定所述多个文件中的每个文件的热/冷加权值,并且
控制所述存储器装置将在所述多个文件之中按照所述热/冷加权值的降序选择的文件存储在所述多个存储块之中具有等于或大于参考值的擦除计数值的空闲块中。
6.根据权利要求5所述的存储装置,其中所述存储器控制器通过使用所述文件修改时间与所述文件创建时间之间的第一差值以及当前时间与所述文件修改时间之间的第二差值的加权值计算,确定所述多个文件中的每个文件的热/冷加权值。
7.根据权利要求1所述的存储装置,其中当在所述多个地址映射之中的地址映射的加载完成的状态下从所述主机接收到对数据和逻辑地址的请求时,所述存储器控制器进一步:
使用地址映射之中与包括接收到的逻辑地址的地址组相对应的地址映射,识别与所述接收到的逻辑地址相对应的物理地址,以及
控制所述存储器装置对与所述物理地址相对应的存储区域执行与所述请求相对应的操作。
8.根据权利要求1所述的存储装置,进一步包括缓冲存储器,所述缓冲存储器在所述通电状态下存储数据,
其中所述存储器控制器进一步控制所述存储器装置根据所述优先级等级依次将所述多个地址映射存储在所述缓冲存储器中。
9.根据权利要求1所述的存储装置,其中所述存储器控制器进一步接收所述主机中包括的主机存储器缓冲器中存储的所述文件属性信息。
10.一种存储器控制器,包括:
主机接口,在存储装置从断电状态进入通电状态时,从主机接收多个地址组中包括的文件中的每个文件的文件属性信息;
存储器接口,与存储器装置通信,所述存储器装置存储指示逻辑地址和物理地址之间的映射关系的多个地址映射;以及
处理器,基于所述文件属性信息确定与所述多个地址组相对应的所述多个地址映射中的每个地址映射的优先级等级,并控制所述存储器接口根据所述优先级等级从所述存储器装置依次加载所述多个地址映射。
11.根据权利要求10所述的存储器控制器,其中所述文件属性信息包括所述文件中的每个文件的访问频率、最近访问时间、文件创建时间和文件修改时间中的至少一个。
12.根据权利要求11所述的存储器控制器,其中所述处理器基于所述访问频率和所述最近访问时间来确定所述优先级等级。
13.根据权利要求12所述的存储器控制器,其中所述处理器:
针对所述多个地址组之中的所选择的地址组中包括的所述文件中的每个文件,通过使用所述访问频率以及当前时间与所述最近访问时间之间的差值的加权值计算来确定优先级加权值,并且
确定所述所选择的地址组中包括的所述文件的优先级加权值的平均值作为所述所选择的地址组的优先级分数。
14.根据权利要求11所述的存储器控制器,其中所述处理器:
基于所述文件创建时间和所述文件修改时间确定所述存储器装置中存储的多个文件中的每个文件的热/冷加权值,
在所述多个文件之中按照所述热/冷加权值的降序选择文件,并且
控制所述存储器接口向所述存储器装置传输命令,所述命令指示将所选择的文件存储在所述存储器装置中包括的多个存储块之中具有等于或大于参考值的擦除计数值的空闲块中。
15.根据权利要求14所述的存储器控制器,其中所述处理器通过使用所述文件修改时间与所述文件创建时间之间的第一差值以及当前时间与所述文件修改时间之间的第二差值的加权值计算,确定所述多个文件中的每一个的热/冷加权值。
16.根据权利要求10所述的存储器控制器,进一步包括缓冲器管理器,所述缓冲器管理器将从所述存储器装置加载的所述多个地址映射存储在缓冲存储器中。
17.一种操作存储装置的方法,所述方法包括:
在所述存储装置处于通电状态时,从主机接收多个地址组中包括的文件中的每个文件的文件属性信息,
基于所述文件属性信息,确定与所述多个地址组相对应的多个地址映射的优先级等级,并且
根据所述优先级等级从存储器装置依次加载所述多个地址映射。
18.根据权利要求17所述的方法,其中所述确定所述优先级等级包括:
针对所述多个地址组之中的所选择的地址组中包括的所述文件中的每个文件,通过使用访问频率和最近访问时间的加权值计算来确定优先级加权值;并且
通过将所选择的地址组和剩余地址组的优先级分数进行比较,确定与所述所选择的地址组相对应的所选择的地址映射的优先级等级,所述优先级分数是相应地址组中包括的所述文件的优先级等级加权值的平均值。
19.根据权利要求17所述的方法,其中所述依次加载包括:
在所述多个地址映射之中的地址映射的加载完成的状态下,从所述主机接收对数据和逻辑地址的请求;
使用所述地址映射之中与包括接收到的逻辑地址的地址组相对应的地址映射,识别与所述接收到的逻辑地址相对应的物理地址;并且
对与所述物理地址相对应的存储区域执行与所述请求相对应的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0082036 | 2022-07-04 | ||
KR1020220082036A KR20240004013A (ko) | 2022-07-04 | 2022-07-04 | 메모리 컨트롤러, 스토리지 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117349196A true CN117349196A (zh) | 2024-01-05 |
Family
ID=89356340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310405896.0A Pending CN117349196A (zh) | 2022-07-04 | 2023-04-17 | 存储器控制器、存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240004811A1 (zh) |
KR (1) | KR20240004013A (zh) |
CN (1) | CN117349196A (zh) |
-
2022
- 2022-07-04 KR KR1020220082036A patent/KR20240004013A/ko unknown
-
2023
- 2023-02-08 US US18/107,008 patent/US20240004811A1/en active Pending
- 2023-04-17 CN CN202310405896.0A patent/CN117349196A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240004811A1 (en) | 2024-01-04 |
KR20240004013A (ko) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243878B2 (en) | Simultaneous garbage collection of multiple source blocks | |
CN109697027B (zh) | 包括共享存储器区域和专用存储器区域的数据存储设备 | |
US11487669B2 (en) | Memory system for storing data of log-structured merge tree structure and data processing system including the same | |
US11334493B2 (en) | Memory system and operating method thereof | |
US20160253257A1 (en) | Data processing system and operating method thereof | |
CN112201292A (zh) | 控制器及其操作方法 | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
KR20190102781A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN112445421A (zh) | 数据存储装置及其操作方法 | |
KR20200086143A (ko) | 저장 장치 및 그것의 데이터 처리 방법 | |
CN110908594A (zh) | 存储器系统的操作方法和存储器系统 | |
KR20190083148A (ko) | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 | |
CN113253912B (zh) | 存储器系统及其操作方法 | |
CN111414131B (zh) | 数据存储装置、其操作方法和包括其的存储系统 | |
CN114519019A (zh) | 控制器及其操作方法 | |
KR20210144249A (ko) | 저장 장치 및 이의 동작 방법 | |
US20220197534A1 (en) | Data storage apparatus and operation method thereof | |
US20220229584A1 (en) | Memory system, operating method thereof and computing system | |
CN114115708A (zh) | 存储装置及其操作方法 | |
KR20220103340A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110908596A (zh) | 数据存储装置、其操作方法和包括存储装置的存储系统 | |
US20230305714A1 (en) | Memory controller and method of operating the same | |
CN111338995A (zh) | 数据存储装置及操作数据存储装置的方法 | |
CN111752854A (zh) | 数据存储装置及其操作方法 | |
KR20200121068A (ko) | 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러 |
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 |