CN117806572A - 一种存储设备以及内存管理方法 - Google Patents
一种存储设备以及内存管理方法 Download PDFInfo
- Publication number
- CN117806572A CN117806572A CN202410232483.1A CN202410232483A CN117806572A CN 117806572 A CN117806572 A CN 117806572A CN 202410232483 A CN202410232483 A CN 202410232483A CN 117806572 A CN117806572 A CN 117806572A
- Authority
- CN
- China
- Prior art keywords
- cache
- controller
- read operation
- data
- cache node
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 45
- 238000013507 mapping Methods 0.000 claims description 67
- 239000000872 buffer Substances 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/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/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/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]
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种存储设备以及内存管理方法,包括控制器,控制器内设有随机存取存储器;以及闪存存储器,闪存存储器划分为多个物理闪存块,且每个逻辑块对应于至少两个物理闪存块;其中,随机存取存储器包括块管理缓存区,块管理缓存区用于缓存擦除操作次数变量以及读操作次数变量,每个逻辑块对应于擦除操作次数变量以及读操作次数变量;以及数据缓存区,数据缓存区划分为多个缓存结点单元,且多个缓存结点单元组成缓存链表。本发明可以大大缩减随机存取存储器的缓存空间占用量,使得缓存空间较小的随机存取存储器可以更好地适配于容量较大的闪存产品。
Description
技术领域
本发明涉及存储器技术领域,特别涉及一种存储设备以及内存管理方法。
背景技术
以闪存作为存储介质的存储设备被广泛应用于各类领域中。在存储设备进行使用时,一般是采用随机存取存储器进行缓存数据。目前,闪存产品的容量越来越大,而随机存取存储器的缓存空间较小,当缓存空间较小的随机存取存储器适配于容量较大的闪存产品时,随机存取存储器往往会出现缓存空间不足的问题。
发明内容
本发明的目的在于提供一种存储设备以及内存管理方法,以解决缓存空间较小的随机存取存储器适配于容量较大的闪存产品时,随机存取存储器往往会出现缓存空间不足的问题。
本发明提供一种存储设备,包括:
控制器,所述控制器内设有随机存取存储器;以及
闪存存储器,所述闪存存储器划分为多个物理闪存块,多个物理闪存块与固件的多个逻辑块对应,且每个所述逻辑块对应于至少两个所述物理闪存块;
其中,所述随机存取存储器包括:
块管理缓存区,所述块管理缓存区用于缓存擦除操作次数变量以及读操作次数变量,每个所述逻辑块对应于所述擦除操作次数变量以及所述读操作次数变量;以及
数据缓存区,所述数据缓存区划分为多个缓存结点单元,且多个所述缓存结点单元组成缓存链表,所述控制器将读操作数据或写操作数据缓存至所述缓存链表中空闲的缓存结点单元。
在本发明一实施例中,所述闪存存储器存储有一级映射表,所述一级映射表用于指示多个逻辑地址以及对应的物理地址之间的映射结构,其中,多个所述逻辑地址在所述一级映射表中被划分为多段分段逻辑地址,所述随机存取存储器包括映射表缓存区,所述映射表缓存区存储有二级映射表,所述二级映射表包括多个映射管理单元,多个所述映射管理单元分别用于指示多段分段逻辑地址以及对应的物理地址之间的映射结构。
在本发明一实施例中,所述映射管理单元的数量等于所述分段逻辑地址的分段数量。
在本发明一实施例中,所述一级映射表中每段分段逻辑地址的存储容量B表示为4KB≤B≤16KB。
在本发明一实施例中,所述缓存链表被区分为空闲链表、写操作链表以及读操作链表,所述空闲链表用于管理空闲的所述缓存结点单元,所述写操作链表用于管理写操作数据的所述缓存结点单元,所述读操作数据链表用于管理读操作数据的所述缓存结点单元,不进行读操作及写操作时,所述缓存结点单元挂载至所述空闲链表上,在进行写操作时,所述控制器将所述空闲链表中的缓存结点单元插入写操作链表,在进行读操作时,所述控制器将所述空闲链表中的缓存结点单元插入读操作链表。
在本发明一实施例中,在写操作完成时,所述控制器将所述写操作链表中空闲的缓存结点单元插入所述空闲链表中。
在本发明一实施例中,在读操作完成时,所述控制器将所述读操作链表中空闲的缓存结点单元插入所述空闲链表中。
在本发明一实施例中,所述控制器每次对所述逻辑块进行写操作时,更新所述逻辑块对应的擦除操作次数变量。
在本发明一实施例中,所述控制器每次对所述逻辑块进行读操作时,更新所述逻辑块对应的读操作次数变量。
本发明还提供一种内存管理方法,应用于存储设备中,所述存储设备包括控制器以及闪存存储器,所述控制器内设有随机存取存储器,所述随机存取存储器包括数据缓存区以及块管理缓存区,所述内存管理方法包括如下步骤:
将所述闪存存储器划分为多个物理闪存块,多个物理闪存块与固件的多个逻辑块对应,且每个所述逻辑块对应于至少两个所述物理闪存块,其中,所述块管理缓存区用于缓存擦除操作次数变量以及读操作次数变量,每个所述逻辑块对应于一个所述擦除操作次数变量以及一个所述读操作次数变量;
将所述数据缓存区划分为多个缓存结点单元,其中,多个所述缓存结点单元组成缓存链表;
在进行读操作时,所述控制器将读操作数据缓存至所述缓存链表中空闲的缓存结点单元,在进行写操作时,所述控制器将写操作数据缓存至所述缓存链表中空闲的缓存结点单元。
为解决上述技术问题,本发明是通过以下技术方案实现的:
如上所述,本发明提供了一种存储设备以及内存管理方法,可以大大缩减随机存取存储器的缓存空间占用量,使得缓存空间较小的随机存取存储器可以更好地适配于容量较大的闪存产品。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中存储设备的结构示意图;
图2为本发明一实施例中缓存链表的结构示意图;
图3为本发明一实施例中物理闪存块与逻辑块的对应结构示意图;
图4为本发明一实施例中二级映射表以及一级映射表的对应结构示意图;
图5为本发明一实施例中内存管理方法的结构示意图。
图中:10、控制器;11、主机接口;12、闪存接口;13、随机存取存储器;131、缓存结点单元;132、缓存链表;133、二级映射表;20;闪存存储器;21、物理闪存块;22、一级映射表;30、逻辑块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明提供的一种存储设备,该存储设备可以包括控制器10以及闪存存储器20。控制器10可以包括用于与主机通信的主机接口11、用于与闪存存储器20连接的闪存接口12以及随机存取存储器13。主机可以通过主机接口11向存储设备的控制器10发送管理命令,存储设备的控制器10可以通过主机接口11向主机发送反馈数据。控制器10可通过闪存接口12向闪存存储器20读取数据,也可通过闪存接口12向闪存存储器20写入数据。随机存取存储器13可用于缓存向闪存存储器20写入的数据,还可用于缓存要向闪存存储器20读取的数据。
请参阅图1,该存储设备可以应用于需要使缓存空间较小的随机存取存储器13适配容量较大的闪存产品的场景下。具体来说,存储设备的随机存取存储器13中缓存的数据可以包括读写操作数据、地址映射表、擦除操作次数、读操作次数以及其他数据,该存储设备通过缩减随机存取存储器13中缓存数据的占用空间,可以大大缩减随机存取存储器13被占用的缓存空间,使得缓存空间较小的随机存取存储器13更好地适配于容量较大的闪存产品。
请参阅图2,随机存取存储器13可以包括数据缓存区,通过数据缓存区可以缓存读写操作数据。在此基础上,通过缩减数据缓存区被占用的缓存空间,可以缩减随机存取存储器13被占用的缓存空间。为了更加充分地管理数据缓存区内的缓存空间,数据缓存区可以划分为多个缓存结点单元131,多个缓存结点单元131可形成缓存链表132。在进行读操作时,控制器10可将读操作数据缓存至所述缓存链表132中空闲的缓存结点单元131,在进行写操作时,所述控制器10可将写操作数据缓存至所述缓存链表132中空闲的缓存结点单元131。通过缓存链表132的管理方式可更加充分地利用随机存取存储器13的缓存空间。
请参阅图2,具体来说,缓存链表132可以被区分为空闲链表、写操作链表以及读操作链表,空闲链表用于管理空闲的所述缓存结点单元131,所述写操作链表用于管理写操作数据的所述缓存结点单元131,所述读操作数据链表用于管理读操作数据的所述缓存结点单元131。所有缓存结点单元131可依次进行编号,编号可对每个缓存结点单元131进行标识。在初始时刻,所有缓存结点单元131未用于数据缓存,处于空闲状态,此时所有缓存结点单元131挂载在空闲链表上。在进行写操作时,控制器10基于写操作数据所需的缓存空间去获取空闲链表的缓存结点单元131,将获取的缓存结点单元131插入写操作链表,以缓存写操作数据。在写操作完成时,控制器10将写操作链表中已完成的空闲缓存结点单元131插入空闲链表中,以便下一次缓存使用。在进行读操作时,控制器10基于读操作数据所需的缓存空间获取空闲链表的缓存结点单元131,将获取的缓存结点单元131插入读操作链表,以缓存读操作数据。在读操作完成时,控制器10将读操作链表中已完成的空闲缓存结点单元131插入空闲链表中,以便下一次缓存使用。通过上述缓存方式缓存数据时,可以充分利用数据缓存区的所有空间进行读操作缓存,也可以充分利用数据缓存区的所有空间进行写操作缓存,提升了数据读写效率。
进一步来说,在进行一段数据的写操作缓存时,一部分缓存结点单元131中的缓存数据会写入闪存存储器20中,该部分缓存结点单元131即变为空闲状态,此空闲状态的缓存结点单元131可以插入至读操作链表,节省出一部分空间进行读操作缓存,缩减了数据缓存区被占用的缓存空间。同样地,在进行一段数据的读操作缓存时,一部分缓存结点单元131中的缓存数据完成读操作后,该部分缓存结点单元131即变为空闲状态,此空闲状态的缓存结点单元131可以插入至写操作链表,节省出一部分空间进行写操作缓存,缩减了数据缓存区被占用的缓存空间,使得缓存空间较小的随机存取存储器13可以更好地适配于容量较大的闪存产品。
请参阅图3,随机存取存储器13还可以包括块管理缓存区,块管理缓存区可用于缓存擦除操作次数变量以及读操作次数变量。需要说明的是,擦除操作次数变量是用于记录闪存存储器20的擦除操作次数的变量,读操作次数变量是用于记录闪存存储器20的读操作次数的变量。当闪存存储器20的容量增大时,块管理缓存区的擦除操作次数变量数据以及读操作次数变量数据也会增加。在此基础上,通过缩减随机存取存储器13中擦除操作次数变量以及读操作次数变量的占用空间,可以大大缩减随机存取存储器13被占用的缓存空间。
请参阅图3,需要说明的是,擦除操作次数变量以及读操作次数变量与固件的逻辑空间的逻辑块30对应,而逻辑块30与闪存存储器20的物理闪存块21对应,在对物理闪存块21进行读写操作时,实际是固件对逻辑块30进行操作进而实现对物理闪存块21进行读写操作,从而更新对应的擦除操作次数变量以及读操作次数变量。在此基础上,可以将闪存存储器20划分为多个物理闪存块21,多个物理闪存块21与固件的多个逻辑块30对应,并且,每个逻辑块30可对应于两个物理闪存块21。通过上述结构,可以将两个物理闪存块21的读操作对应至一个读操作次数变量,并将两个物理闪存块21的擦除操作对应至一个擦除操作次数变量,从而可以将读操作次数变量以及擦除操作次数变量的占用空间缩减一半,可以大大缩减随机存取存储器13被占用的缓存空间。进一步地,每个逻辑块30也可对应于三个物理闪存块21、四个物理闪存块21或者其他数量的闪存块,保证每个逻辑块30可对应于至少两个物理闪存块21,能够缩减占用空间即可。
请参阅图3,进一步来说,当每个逻辑块30对应于两个物理闪存块21,每次对一个逻辑块30进行擦除操作时,需要连续对相对应的两个物理闪存块21进行擦除操作,并将该逻辑块30对应的擦除操作次数变量的数值加一,完成数据更新。当每次对一个逻辑块30进行读操作,只要对两个物理闪存块21中的任意一个进行读操作,即将该逻辑块30对应的擦除操作次数变量的数值加一,完成数据更新。
请参阅图4,随机存取存储器13还可以包括映射表缓存区,映射表缓存区用于缓存地址映射表。在此基础上,通过缩减地址映射表的占用空间,可以大大缩减随机存取存储器13被占用的缓存空间。具体来说,存储设备将地址映射表进行分级管理,闪存存储器20存储有一级映射表22,所述一级映射表22用于指示多个逻辑地址以及对应的物理地址之间的映射结构,其中,多个所述逻辑地址在所述一级映射表22中被划分为多段分段逻辑地址,所述随机存取存储器13包括映射表缓存区,所述映射表缓存区存储有二级映射表133,所述二级映射表133包括多个映射管理单元,多个所述映射管理单元分别用于指示多段分段逻辑地址以及对应的物理地址之间的映射结构。由上述可知,映射管理单元的数量等于所述分段逻辑地址的分段数量,而分段数量是与分段逻辑地址的分段容量相关,分段容量越大,分段数量越少,分段容量越小,分段数量越多。为了缩减二级映射表133中多个映射管理单元的占用空间,可以增加一级映射表22中分段逻辑地址的分段容量,从而缩减映射管理单元的数量。例如,一级映射表22中每段分段逻辑地址的存储容量B可表示为4KB≤B≤16KB,对于小容量的闪存存储器20,一级映射表22中分段逻辑地址的分段容量可设置为4KB,对于大容量存储设备,分段容量可设置为8KB、16KB或者其他大小。
请参阅图5,本发明还提供一种内存管理方法,可应用于上述存储设备中,以使得缓存空间较小的随机存取存储器可以更好地适配于容量较大的闪存产品。该内存管理方法可以包括如下步骤:
步骤S10、将所述闪存存储器划分为多个物理闪存块,多个物理闪存块与固件的多个逻辑块对应,且每个所述逻辑块对应于至少两个所述物理闪存块,其中,所述随机存取存储器的块管理缓存区用于缓存擦除操作次数变量以及读操作次数变量,每个所述逻辑块对应于一个所述擦除操作次数变量以及一个所述读操作次数变量。
步骤S20、将所述数据缓存区划分为多个缓存结点单元,其中,多个所述缓存结点单元组成缓存链表。
步骤S30、在进行读操作时,所述控制器将读操作数据缓存至所述缓存链表中空闲的缓存结点单元,在进行写操作时,所述控制器将写操作数据缓存至所述缓存链表中空闲的缓存结点单元。
请参阅图3及图5,在本发明的一个实施例中,当执行步骤S10时,即将所述闪存存储器20划分为多个物理闪存块21,多个物理闪存块21与固件的多个逻辑块30对应,且每个所述逻辑块30对应于至少两个所述物理闪存块21,其中,所述随机存取存储器13的块管理缓存区用于缓存擦除操作次数变量以及读操作次数变量,每个所述逻辑块对应于一个所述擦除操作次数变量以及一个所述读操作次数变量。具体来说,擦除操作次数变量是用于记录闪存存储器20的擦除操作次数的变量,读操作次数变量是用于记录闪存存储器20的读操作次数的变量。当闪存存储器20的容量增大时,块管理缓存区的擦除操作次数变量数据以及读操作次数变量数据也会增加。在此基础上,通过缩减随机存取存储器13中擦除操作次数变量以及读操作次数变量的占用空间,可以大大缩减随机存取存储器13被占用的缓存空间。
需要说明的是,擦除操作次数变量以及读操作次数变量与固件的逻辑空间的逻辑块30对应,而逻辑块30与闪存存储器20的物理闪存块21对应,在对物理闪存块21进行擦除操作或读操作时,实际是固件对逻辑块30进行操作进而实现对物理闪存块21进行擦除操作或读操作,从而更新对应的擦除操作次数变量以及读操作次数变量。在此基础上,可以将闪存存储器20划分为多个物理闪存块21,多个物理闪存块21与固件的多个逻辑块30对应,并且,每个逻辑块30可对应于两个物理闪存块21。通过上述结构,可以将两个物理闪存块21的读操作对应至一个读操作次数变量,并将两个物理闪存块21的擦除操作对应至一个擦除操作次数变量,从而可以将读操作次数变量以及擦除操作次数变量的占用空间缩减一半,可以大大缩减随机存取存储器13被占用的缓存空间。进一步地,每个逻辑块30也可对应于三个物理闪存块21、四个物理闪存块21或者其他数量的闪存块,保证每个逻辑块30可对应于至少两个物理闪存块21,能够缩减占用空间即可。
进一步来说,当每个逻辑块30对应于两个物理闪存块21,每次对一个逻辑块30进行擦除操作时,需要连续对相对应的两个物理闪存块21进行擦除操作,并将该逻辑块30对应的擦除操作次数变量的数值加一,完成数据更新。当每次对一个逻辑块30进行读操作,只要对两个物理闪存块21中的任意一个进行读操作,即将该逻辑块30对应的擦除操作次数变量的数值加一,完成数据更新。
请参阅图2及图5,在本发明的一个实施例中,当执行步骤S20及步骤S30时,即将所述数据缓存区划分为多个缓存结点单元131,其中,多个所述缓存结点单元131组成缓存链表132。在进行读操作时,控制器10可将读操作数据缓存至所述缓存链表132中空闲的缓存结点单元131,在进行写操作时,所述控制器10可将写操作数据缓存至所述缓存链表132中空闲的缓存结点单元131。通过缓存链表132的管理方式可更加充分地利用随机存取存储器13的缓存空间。
请参阅图2,具体来说,缓存链表132可以被区分为空闲链表、写操作链表以及读操作链表,空闲链表用于管理空闲的所述缓存结点单元131,所述写操作链表用于管理写操作数据的所述缓存结点单元131,所述读操作数据链表用于管理读操作数据的所述缓存结点单元131。所有缓存结点单元131可依次进行编号,编号可对每个缓存结点单元131进行标识。在初始时刻,所有缓存结点单元131未用于数据缓存,处于空闲状态,此时所有缓存结点单元131挂载在空闲链表上。在进行写操作时,控制器10基于写操作数据所需的缓存空间去获取空闲链表的缓存结点单元131,将获取的缓存结点单元131插入写操作链表,以缓存写操作数据。在写操作完成时,控制器10将写操作链表中已完成的空闲缓存结点单元131插入空闲链表中,以便下一次缓存使用。在进行读操作时,控制器10基于读操作数据所需的缓存空间获取空闲链表的缓存结点单元131,将获取的缓存结点单元131插入读操作链表,以缓存读操作数据。在读操作完成时,控制器10将读操作链表中已完成的空闲缓存结点单元131插入空闲链表中,以便下一次缓存使用。通过上述缓存方式缓存数据时,可以充分利用数据缓存区的所有空间进行读操作缓存,也可以充分利用数据缓存区的所有空间进行写操作缓存,提升了数据读写效率。
请参阅图5,进一步来说,在进行一段数据的写操作缓存时,一部分缓存结点单元131中的缓存数据会写入闪存存储器20中,该部分缓存结点单元131即变为空闲状态,此空闲状态的缓存结点单元131可以插入至读操作链表,节省出一部分空间进行读操作缓存,缩减了数据缓存区被占用的缓存空间。同样地,在进行一段数据的读操作缓存时,一部分缓存结点单元131中的缓存数据完成读操作后,该部分缓存结点单元131即变为空闲状态,此空闲状态的缓存结点单元131可以插入至写操作链表,节省出一部分空间进行写操作缓存,缩减了数据缓存区被占用的缓存空间,使得缓存空间较小的随机存取存储器13可以更好地适配于容量较大的闪存产品。
请参阅图4,需要说明的是,在步骤S20之后,即将所述数据缓存区划分为多个缓存结点单元131,其中,多个所述缓存结点单元131组成缓存链表132的步骤之后,还可以包括将闪存存储器20内一级映射表22中每段分段逻辑地址的存储容量设定为B,B表示为4KB≤B≤16KB。具体来说,存储设备将地址映射表进行分级管理,闪存存储器20存储有一级映射表22,所述一级映射表22用于指示多个逻辑地址以及对应的物理地址之间的映射结构,其中,多个所述逻辑地址在所述一级映射表22中被划分为多段分段逻辑地址,而随机存取存储器13包括映射表缓存区,所述映射表缓存区存储有二级映射表133,所述二级映射表133包括多个映射管理单元,多个所述映射管理单元分别用于指示多段分段逻辑地址以及对应的物理地址之间的映射结构。由上述可知,映射管理单元的数量等于所述分段逻辑地址的分段数量,而分段数量是与分段逻辑地址的分段容量相关,分段容量越大,分段数量越少,分段容量越小,分段数量越多。为了缩减二级映射表133中多个映射管理单元的占用空间,可以增加一级映射表22中分段逻辑地址的分段容量,从而缩减映射管理单元的数量。例如,将一级映射表22中每段分段逻辑地址的存储容量B表示为4KB≤B≤16KB,对于小容量的闪存存储器20,一级映射表22中分段逻辑地址的分段容量可设置为4KB,对于大容量存储设备,分段容量可设置为8KB、16KB或者其他大小。
综上所述,通过本发明提供的一种存储设备以及内存管理方法,可以大大缩减随机存取存储器中缓存数据的占用空间,使得缓存空间较小的随机存取存储器更好地适配于容量较大的闪存产品。
在本说明书的描述中,参考术语“本实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种存储设备,其特征在于,包括:
控制器,所述控制器内设有随机存取存储器;以及
闪存存储器,所述闪存存储器划分为多个物理闪存块,多个物理闪存块与固件的多个逻辑块对应,且每个所述逻辑块对应于至少两个所述物理闪存块;
其中,所述随机存取存储器包括:
块管理缓存区,所述块管理缓存区用于缓存擦除操作次数变量以及读操作次数变量,每个所述逻辑块对应于所述擦除操作次数变量以及所述读操作次数变量;以及
数据缓存区,所述数据缓存区划分为多个缓存结点单元,且多个所述缓存结点单元组成缓存链表,所述控制器将读操作数据或写操作数据缓存至所述缓存链表中空闲的缓存结点单元。
2.根据权利要求1所述的存储设备,其特征在于,所述闪存存储器存储有一级映射表,所述一级映射表用于指示多个逻辑地址以及对应的物理地址之间的映射结构,其中,多个所述逻辑地址在所述一级映射表中被划分为多段分段逻辑地址,所述随机存取存储器包括映射表缓存区,所述映射表缓存区存储有二级映射表,所述二级映射表包括多个映射管理单元,多个所述映射管理单元分别用于指示多段分段逻辑地址以及对应的物理地址之间的映射结构。
3.根据权利要求2所述的存储设备,其特征在于,所述映射管理单元的数量等于所述分段逻辑地址的分段数量。
4.根据权利要求2所述的存储设备,其特征在于,所述一级映射表中每段分段逻辑地址的存储容量B表示为4KB≤B≤16KB。
5.根据权利要求1所述的存储设备,其特征在于,所述缓存链表被区分为空闲链表、写操作链表以及读操作链表,所述空闲链表用于管理空闲的所述缓存结点单元,所述写操作链表用于管理写操作数据的所述缓存结点单元,所述读操作数据链表用于管理读操作数据的所述缓存结点单元,不进行读操作及写操作时,所述缓存结点单元挂载至所述空闲链表上,在进行写操作时,所述控制器将所述空闲链表中的缓存结点单元插入写操作链表,在进行读操作时,所述控制器将所述空闲链表中的缓存结点单元插入读操作链表。
6.根据权利要求5所述的存储设备,其特征在于,在写操作完成时,所述控制器将所述写操作链表中空闲的缓存结点单元插入所述空闲链表中。
7.根据权利要求5所述的存储设备,其特征在于,在读操作完成时,所述控制器将所述读操作链表中空闲的缓存结点单元插入所述空闲链表中。
8.根据权利要求1所述的存储设备,其特征在于,所述控制器每次对所述逻辑块进行写操作时,更新所述逻辑块对应的擦除操作次数变量。
9.根据权利要求1所述的存储设备,其特征在于,所述控制器每次对所述逻辑块进行读操作时,更新所述逻辑块对应的读操作次数变量。
10.一种内存管理方法,其特征在于,应用于存储设备中,所述存储设备包括控制器以及闪存存储器,所述控制器内设有随机存取存储器,所述随机存取存储器包括数据缓存区以及块管理缓存区,所述内存管理方法包括如下步骤:
将所述闪存存储器划分为多个物理闪存块,多个物理闪存块与固件的多个逻辑块对应,且每个所述逻辑块对应于至少两个所述物理闪存块,其中,所述块管理缓存区用于缓存擦除操作次数变量以及读操作次数变量,每个所述逻辑块对应于所述擦除操作次数变量以及所述读操作次数变量;
将所述数据缓存区划分为多个缓存结点单元,其中,多个所述缓存结点单元组成缓存链表;
在进行读操作时,所述控制器将读操作数据缓存至所述缓存链表中空闲的缓存结点单元,在进行写操作时,所述控制器将写操作数据缓存至所述缓存链表中空闲的缓存结点单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232483.1A CN117806572A (zh) | 2024-03-01 | 2024-03-01 | 一种存储设备以及内存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232483.1A CN117806572A (zh) | 2024-03-01 | 2024-03-01 | 一种存储设备以及内存管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117806572A true CN117806572A (zh) | 2024-04-02 |
Family
ID=90420250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410232483.1A Pending CN117806572A (zh) | 2024-03-01 | 2024-03-01 | 一种存储设备以及内存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806572A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119046186A (zh) * | 2024-10-30 | 2024-11-29 | 合肥康芯威存储技术有限公司 | 一种存储器及缓存块的优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030167A (zh) * | 2007-01-17 | 2007-09-05 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
CN101122886A (zh) * | 2007-09-03 | 2008-02-13 | 杭州华三通信技术有限公司 | 分配缓存空间的方法和装置以及缓存控制器 |
CN104461391A (zh) * | 2014-12-05 | 2015-03-25 | 上海宝存信息科技有限公司 | 一种存储设备元数据管理处理方法及系统 |
CN115981555A (zh) * | 2022-12-21 | 2023-04-18 | 浙江宇视科技有限公司 | 一种数据处理方法、装置、电子设备及介质 |
CN116303118A (zh) * | 2023-05-18 | 2023-06-23 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
-
2024
- 2024-03-01 CN CN202410232483.1A patent/CN117806572A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030167A (zh) * | 2007-01-17 | 2007-09-05 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
CN101122886A (zh) * | 2007-09-03 | 2008-02-13 | 杭州华三通信技术有限公司 | 分配缓存空间的方法和装置以及缓存控制器 |
CN104461391A (zh) * | 2014-12-05 | 2015-03-25 | 上海宝存信息科技有限公司 | 一种存储设备元数据管理处理方法及系统 |
CN115981555A (zh) * | 2022-12-21 | 2023-04-18 | 浙江宇视科技有限公司 | 一种数据处理方法、装置、电子设备及介质 |
CN116303118A (zh) * | 2023-05-18 | 2023-06-23 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119046186A (zh) * | 2024-10-30 | 2024-11-29 | 合肥康芯威存储技术有限公司 | 一种存储器及缓存块的优化方法 |
CN119046186B (zh) * | 2024-10-30 | 2025-03-14 | 合肥康芯威存储技术有限公司 | 一种存储器及缓存块的优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049397B (zh) | 一种基于相变存储器的固态硬盘内部缓存管理方法及系统 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US20190220396A1 (en) | Data Storage Device | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US20050015557A1 (en) | Nonvolatile memory unit with specific cache | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
US20180129602A1 (en) | Garbage collection method for data storage device | |
US9037814B2 (en) | Flash memory management method and flash memory controller and storage system using the same | |
US9268688B2 (en) | Data management method, memory controller and memory storage apparatus | |
CN104077235A (zh) | 分割物理块的方法及存储器系统 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
US9009442B2 (en) | Data writing method, memory controller and memory storage apparatus | |
CN103294607A (zh) | 一种存储管理方法 | |
US8423707B2 (en) | Data access method for flash memory and storage system and controller using the same | |
US20090319721A1 (en) | Flash memory apparatus and method for operating the same | |
CN117806572A (zh) | 一种存储设备以及内存管理方法 | |
TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN100426259C (zh) | 一种存储器文件数据虚拟存取方法 | |
CN110275678B (zh) | 一种基于stt-mram的固态存储器件随机访问性能提升方法 | |
CN104536906A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN118689408A (zh) | 一种存储设备及其数据处理方法 | |
TWI724550B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN103123610B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20240402 |