一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

区块管理方法、存储器控制器和存储器存储装置与流程

2022-02-23 01:37:31 来源:中国专利 TAG:


1.本发明涉及一种存储设备领域,尤其涉及一种区块管理方法、存储器控制器和存储器存储装置。


背景技术:

2.互联网推动下,数字化普及范围越来越广,数据种类日趋多样化,结构越来越复杂化,数据量越来越大,不可避免地带来对服务器存储系统的读取性能的冲击,特别是对于存储系统读取的响应时间、吞吐量以及单位时间请求处理量等的要求越来越高。
3.现实情况中数字化和大数据的快速应用使得各种应用场景对存储系统整体提出了更高的要求。传统的以写为主的负载场景正在向着读密集型方向逐步偏移,尤其体现在电子商务,各大短视频应用等领域。
4.nand flash闪存由于其功耗低、体积小、防震抗摔和访问速度快等优点而选用于简易型可移动和嵌入式设备的存储领域。nand flash闪存以块为擦除单位,以页为编程单位,写入新的数据必须擦除一个块,一页一页分别写入,以nand flash闪存为存储介质的装置中,有效的进行冷热数据的区分操作可以提高垃圾回收管理的效率,从而也提高nand flash的使用寿命,提高装置的整体的读写性能。
5.如果存在一种机制可以将系统经常使用的数据(即热数据)集中在一起读,这样提高数据的读取速度。
6.基于此,本技术提出一种对存储数据的实体区块的管理方法,通过对存储数据的实体区块的细致化管理,提高数据读取速度,此实体区块管理方法可用于各种存储器存储装置中,优选地适用于服务器的存储装置和企业级存储装置。


技术实现要素:

7.本发明的实施例提出一种区块管理方法、存储器控制器和存储器存储装置;以此,来提高存储器存储装置的读写速度。
8.本发明的实施例提出一种区块管理方法,其用于存储器存储装置,其中所述存储器存储装置包括存储器模块,所述存储器模块包括多个实体区块,所述区块管理方法包括:获得所述多个实体区块各别的最近被读取的时间信息;根据所述时间信息将所述多个实体区块划分为多个第一群组;根据所述多个第一群组中的实体区块在单位时间内被读取的次数信息来将所述每一个第一群组划分为多个第二群组;建立管理单位时间内实体区块被读取的次数的表格,所述表格中记录有各个第二群组中的实体区块在单位时间内被读取的次数的明细;根据所述单位时间内实体区块被读取的次数的表格对第二群组中的实体区块进行排序操作,使得第二群组中的实体区块的排列顺序是按照被读取次数从多到少的顺序来排列;建立所述第二群组中被读取次数从多到少的顺序来排列的实体区块的逻辑至实体映射表;以此来提高存储器存储装置的读写速度。
9.本发明的实施例另提出一种存储器控制器,用于控制存储器存储装置,其中所述
存储器存储装置包括存储器模块,所述存储器模块包括多个实体区块,且所述存储器控制器包括:主机接口,用于连接至主机系统;存储器接口,用于连接至所述存储器模块;以及存储器控制电路,连接至所述主机接口与所述存储器接口;其中所述存储器控制电路用于获得所述多个实体区块各别的最近被读取的时间信息;所述存储器控制电路还用于根据所述时间信息将所述多个实体区块划分为多个第一群组;所述存储器控制电路还用于根据所述多个第一群组中的实体区块在单位时间内被读取的次数信息来将所述每一个第一群组划分为多个第二群组;所述存储器控制电路还用于建立管理单位时间内实体区块被读取的次数的表格,所述表格中记录有各个第二群组中的实体区块在单位时间内被读取的次数的明细;所述存储器控制电路还用于根据所述单位时间内实体区块被读取的次数的表格对第二群组中的实体区块进行排序操作,使得第二群组中的实体区块的排列顺序是按照被读取次数从多到少的顺序来排列;所述存储器控制电路还用于建立所述第二群组中被读取次数从多到少的顺序来排列的实体区块的逻辑至实体映射表。
10.本发明的实施例另提出一种存储器存储装置,包括:存储器模块,其包括多个实体区块;连接接口,用于连接至主机系统;以及存储器控制器,连接至所述存储器模块与所述连接接口,其中所述存储器控制器用于获得所述多个实体区块各别的最近被读取的时间信息;所述存储器控制器还用于根据所述时间信息将所述多个实体区块划分为多个第一群组;所述存储器控制器还用于根据所述多个第一群组中的实体区块在单位时间内被读取的次数信息来将所述每一个第一群组划分为多个第二群组;所述存储器控制器还用于建立管理单位时间内实体区块被读取的次数的表格,所述表格中记录有各个第二群组中的实体区块在单位时间内被读取的次数的明细;所述存储器控制器还用于根据所述单位时间内实体区块被读取的次数的表格对第二群组中的实体区块进行排序操作,使得第二群组中的实体区块的排列顺序是按照被读取次数从多到少的顺序来排列;所述存储器控制器还用于建立所述第二群组中被读取次数从多到少的顺序来排列的实体区块的逻辑至实体映射表。
11.基于上述,获得所述多个实体区块各别的最近被读取的时间信息,根据所述时间信息将所述多个实体区块划分为多个第一群组,根据所述多个第一群组中的实体区块在单位时间内被读取的次数信息来将所述每一个第一群组划分为多个第二群组,建立管理单位时间内实体区块被读取的次数的表格,根据所述表格对第二群组中的实体区块进行排序操作,使得第二群组中的实体区块的排列顺序是按照被读取次数从多到少的顺序来排列,建立所述第二群组中被读取次数从多到少的顺序来排列的实体区块的逻辑至实体映射表。以此来提高存储器存储装置的读写速度。
附图说明
12.图1是根据本发明的一实施例所示出的存储器存储装置的示意图;
13.图2是根据本发明的一实施例所示出的存储器控制器的示意图;
14.图3是根据本发明的一实施例所示出的管理存储器模块的示意图;
15.图4是根据本发明的一实施例所示出的单位时间内将实体区块分组并划分为多个第一群组的示意图;
16.图5是根据本发明的一实施例所示出的第一群组队列的表格的示意图;
17.图6是根据本发明的一实施例所示出的第一群组队列按照被读取时间的大小排序
的示意图;
18.图7是根据本发明的一实施例所示出的按照单位时间内次数不同而对第一群组队进行划分得到第二群组的示意图;
19.图8是根据本发明的一实施例所示出的第二群组队列的表格的示意图;
20.图9是根据本发明的一实施例所示出的第二群组队列的表格的示意图;
21.图10是根据本发明的一实施例所示出的管理存储器模块的示意图;
22.图11是根据本发明的一实施例所示出的区块权利方法的流程图。
具体实施方式
23.现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
24.图1是根据本发明的实施例所示出的存储器存储装置的示意图。请参照图1,存储器存储系统10包括主机系统11与存储器存储装置12。主机系统11可为任意形态的计算机系统。例如。主机系统11可为笔记本计算机、台式计算机、智能手机、平板计算机、工业计算机、游戏机、数码相机等各式电子系统。存储器存储装置12用于存储来自主机系统11的数据。例如,存储器存储装置12可包括固态硬盘、u盘、存储卡或其他类型的非易失性存储装置。主机系统11可经由串行高级技术附件(serial advanced technology attachment, sata)接口、高速周边零件连接接口(peripheral component interconnect express, pci express)、通用串行总线(universal serial bus, usb)或其他类型的连接接口电性连接至存储器存储装置12。因此,主机系统11可将数据存储至存储器存储装置12和/或从存储器存储装置12读取数据。
25.存储器存储装置12可包括连接接口121、存储器模块122及存储器控制器123。连接接口121用于将存储器存储装置12连接至主机系统11。例如,连接接口121可支持sata、pci express或usb等连接接口标准。存储器存储装置12可经由连接接口121与主机系统11通信。
26.存储器模块122用于存储数据。存储器模块122可包括存储器模块122。存储器模块122包括存储单元阵列。存储器模块122中的存储单元是以电压的形式来存储数据。例如,存储器模块122可包括单阶存储单元(single level cell, slc)nand型快闪存储器模块、多阶存储单元(multi level cell, mlc)nand型快闪存储器模块、三阶存储单元(triple level cell, tlc)nand型快闪存储器模块、四阶存储单元(quad level cell, qlc)nand型快闪存储器模块或其他具有相似特性的存储器模块。
27.存储器控制器123连接至连接接口121与存储器模块122。存储器控制器123可用于控制存储器存储装置12。例如,存储器控制器123可控制连接接口121与存储器模块122以进行数据存取与数据管理。例如,存储器控制器123可包括中央处理单元(cpu)、或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(digital signal processor, dsp)、可编程控制器、专用集成电路(application specific integrated circuits, asic)、可编程逻辑器件(programmable logic device, pld)或其他类似装置或这些装置的组合。
28.在一实施例中,存储器控制器123亦称为快闪存储器控制器。在一实施例中,存储器模块122也称为快闪存储器模块。存储器模块122可接收来自存储器控制器123的指令序
列并根据此指令序列存取存储单元。
29.图2是根据本发明的一实施例所示出的存储器控制器的概要方块图。请参照图2,存储器控制器123包括存储器控制电路1233、主机接口1231及存储器接口1232。
30.存储器控制电路1233用于控制存储器控制器123的整体运作。具体来说,存储器控制电路1233具有多个控制指令,并且在存储器存储装置12运作时,这些控制指令会被执行以进行数据的写入、读取与擦除等运作。以下说明存储器控制电路1233的操作时,等同于说明存储器控制器123的操作。
31.在本实施例中,存储器控制电路1233的控制指令是以固件型式来操作。例如,存储器控制电路1233具有微处理器单元(图中未示出)与只读存储器(图中未示出),并且控制指令是被烧录至此只读存储器中。当存储器存储装置12运作时,这些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
32.在另一实施例中,存储器控制电路1233的控制指令也可以程序码型式存储于存储器模块122的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器控制电路1233具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,只读存储器具有开机码(boot code),并且当存储器控制器123被致能时,微处理器单元会先执行开机码来将存储于存储器模块122中的控制指令载入至存储器控制电路1233的随机存取存储器中。之后,微处理器单元会运转这些控制指令以进行数据的写入、读取与擦除等运作。
33.此外,在另一实施例中,存储器控制电路1233的控制指令也可以一硬件型式来操作。例如,存储器控制电路1233包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用于管理存储器模块122的存储单元或其群组。存储器写入电路用于对存储器模块122下达写入指令序列以将数据写入至存储器模块122中。存储器读取电路用于对存储器模块122下达读取指令序列以从存储器模块122中读取数据。存储器擦除电路用于对存储器模块122下达擦除指令序列以将数据从存储器模块122中擦除。数据处理电路用于处理欲写入至存储器模块122的数据以及从存储器模块122中读取的数据。写入指令序列、读取指令序列及擦除指令序列可分别包括一或多个程序码或指令码并且用于指示存储器模块122执行相对应的写入、读取及擦除等操作。在一实施例中,存储器控制电路1233还可以下达其他类型的指令序列给存储器模块122以指示执行相对应的操作。
34.主机接口1231是电性连接至存储器控制电路1233并且用于接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口1231来传送至存储器控制电路1233。在本实施例中,主机接口1231是相容于sata标准。然而,必须了解的是本发明不限于此,主机接口1231也可以是相容于pata标准、ieee 1394标准、pci express标准、usb标准、sd标准、uhs-i标准、uhs-ii标准、ms标准、mmc标准、emmc标准、ufs标准、cf标准、ide标准或其他适合的数据传输标准。
35.存储器接口1232是电性连接至存储器控制电路1233并且用于存取存储器模块122。也就是说,欲写入至存储器模块122的数据会经由存储器接口1232转换为存储器模块122所能接受的格式。具体来说,若存储器控制电路1233要存取存储器模块122,存储器接口
1232会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示擦除数据的擦除指令序列、以及用于指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器控制电路1233产生并且通过存储器接口1232传送至存储器模块122。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
36.在本实施例中,存储器控制器123可以针对存储于同一个实体程序化单元中的数据进行单框架(single-frame)编码,也可以针对存储于多个实体程序化单元中的数据进行多框架(multi-frame)编码。根据所采用的编码算法,存储器控制器123可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。
37.在一实施例中,存储器控制器123还包括缓冲存储器1235、错误检查与校正电路1234与电源管理电路1236。缓冲存储器1235是电性连接至存储器控制电路1233并且用于暂存来自于主机系统11的数据与指令或来自于存储器模块122的数据。电源管理电路1236是电性连接至存储器控制电路1233并且用于控制存储器存储装置12的电源。错误检查与校正电路1234是电性连接至存储器控制电路1233并且用于执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器控制电路1233从主机系统11中接收到写入指令时,错误检查与校正电路1234会为对应写入指令的数据产生对应的错误校正码(error correcting code,ecc)和/或错误检查码(error detecting code,edc),并且存储器控制电路1233会将对应写入指令的数据与对应的错误校正码和/或错误检查码写入至存储器模块122中。之后,当存储器控制电路1233从存储器模块122中读取数据时会同时读取数据对应的错误校正码和/或错误检查码,并且错误检查与校正电路1234会依据错误校正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
38.图3是根据本发明的实施例所示出的管理存储器模块的示意图。请参照图1至图3,存储器模块122包括多个实体区块301(0)~301(a),实体区块301(0)~301(a)的每一者都包括多个存储单元且用于非易失性地存储数据。每一个实体区块皆包括多个存储单元且用于非易失性地存储数据。例如,一个实体区块可包括一或多个实体区块。每一个实体区块可包括多个实体程序化单元。一个实体程序化单元可包括一或多个实体页。一个实体程序化单元中的多个存储单元可被同时程序化以存储数据。此外,一个实体区块中的所有存储单元可被同时擦除。经擦除的实体区块亦称为闲置实体区块(或闲置区块)并且可用于存储新数据(例如来自主机系统11的数据)。
39.在一实施例中,实体区块301(0)~301(a)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体区块分别具有多个实体程序化单元,其中属于同一个实体区块的实体程序化单元可被独立地写入且被同时地擦除。然而,必须了解的是,本发明不限于此,每一实体区块是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
40.更详细来说,实体区块为擦除的最小单位。亦即,每一实体区块含有最小数目之一并被擦除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用于存储使用者的数据,而冗余(redundancy)比特区用于存储系统的数
据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体区块为实体区块,并且实体程序化单元为实体页面(page)或实体扇区(sector),但本发明不限于此。
41.示例性地,其中,a为正整数,其为实体区块301的序号或地址值,比如301(1)表示序号或地址值为2的的实体区块301;301(a) 表示序号或地址值为a 1的的实体区块301;存储器模块122包括多个实体区块301(0)~301(a),具体地为存储器模块122中包括总数为a 1个实体区块。示例性地,容量大小为64g的存储器模块122中,a的数值可为1728,实体区块中的实体程序化单元的数量为1254,每个实体程序化单元大小为16kb。
42.在一实施例中,存储器控制电路1233会将实体区块301(0)~301(a)逻辑地分组为数据区31、闲置区33、系统区35与取代区37。
43.必须了解的是,本实施例中在描述存储器模块122的实体区块的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体区块是逻辑上的概念。也就是说,存储器模块122的实体区块的实际位置并未更动,而是逻辑上对存储器模块122的实体区块进行操作。
44.逻辑上属于数据区31与闲置区33的实体区块是用于存储来自于主机系统11的数据。具体来说,数据区31的实体区块是被视为已存储数据的实体区块,而闲置区33的实体区块是用于替换数据区31的实体区块。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器控制电路1233会使用从闲置区33中提取实体区块来写入数据,以替换数据区31的实体区块。当从主机系统11接收到读取指令与欲读取的数据时,存储器控制电路1233会根据相应的逻辑至实体映射表从数据区31中的实体区块中读取数据。
45.逻辑上属于系统区35的实体区块是用于记录系统数据。例如,系统数据包括关于存储器模块122的制造商与型号、存储器模块122的实体区块数、每一实体区块的实体程序化单元数等。
46.逻辑上属于取代区37中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区37中仍存有正常的实体区块并且数据区31的实体区块损坏时,存储器控制电路1233会从取代区37中提取正常的实体区块来更换损坏的实体区块。
47.在一实施例中,数据区31、闲置区33、系统区35与取代区37的实体区块的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置12的运作中,实体区块关联至数据区31、闲置区33、系统区35与取代区37的分组关系会动态地变动。例如,当闲置区33中的实体区块损坏而被取代区37的实体区块取代时,则原本取代区37的实体区块会被关联至闲置区33。
48.在一实施例中,如图3所示,存储器控制电路1233可配置多个逻辑单元302(0)~302(b)来映射实体区块301(0)~301(a)中存储有效数据的实体区块。例如,一个逻辑单元可由一或多个逻辑地址组成。逻辑单元与实体区块之间的映射关系则可记载于逻辑至实体映射表(l2p表)中。逻辑上属于数据区31与闲置区33的实体区块是用于存储来自于主机系统11的数据。
49.逻辑上属于数据区31与闲置区33的实体区块是用于存储来自于主机系统11的数据。具体来说,数据区31的实体区块是被视为已存储数据的实体区块,而闲置区33的实体区
块是用于替换数据区31的实体区块。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器控制电路1233会根据相应的逻辑至实体映射表从闲置区33中提取实体区块来写入数据,以替换数据区31的实体区块。当从主机系统11接收到读取指令与欲读取的数据时,存储器控制电路1233会根据相应的逻辑至实体映射表从数据区31中的实体区块中读取数据。
50.现实情况中数字化和大数据的快速应用使得各种应用场景对存储系统整体提出了更高的要求。传统的以写为主的负载场景正在向着读密集型方向逐步偏移,尤其体现在电子商务,各大短视频应用等领域。
51.基于此,本技术提出一种对数据区31中存储数据的实体区块的管理方法,通过对存储数据的实体区块的细致化管理,提高数据读取速度,此实体区块管理方法可用于各种存储器存储装置中,优选地适用于服务器的存储装置和企业级存储装置。
52.在一实施例中,数据区31中包含的实体区块为301(0)~302(c),c<a。存储器控制电路1233可获得实体区块301(0)~302(c)的数据存储信息。例如,存储数据的实体区块的地址值信息,实体区块中存储数据的的实体程序化单元的地址值信息,哪些实体程序化单元的整个实体程序化单元只是部分容量存储有数据。在一实施例中,实体区块的数据存储信息还可以包括其他类型的信息,只要可反映实体区块的数据存储情况即可。
53.示例性地,还是以上文中容量大小为64g的存储器模块122为例,其有1728个实体区块,每个实体区块中的实体程序化单元的数量为1254,每个实体程序化单元大小为16kb。假如数据区31中的实体区块数量为1200,其余的实体区块以一定数量而被分组至闲置区33、系统区35与取代区37中。存储器控制电路1233可获得实体区块301(0)~302(1200)的数据存储信息为:实体区块301(100)中存储有数据,实体区块301(100)中的实体程序化单元p1000存储有数据,实体程序化单元p1001
‑‑‑
p1254没有存储数据;其中实体程序化单元p800中整个实体程序化单元容量大小为16kb,实际上只存储有4kb的数据。
54.在一实施例中,存储器控制电路1233可获得实体区块301(0)~302(c)的数据存储信息还可为实体区块最近被读取的时间、次数。存储器控制电路1233可根据所获得的数据存储信息将实体区块301(0)~301(c)划分为多个群组。
55.具体地,在一实施例中,存储器控制电路1233可根据实体区块最近被读取的时间t将实体区块301(0)~301(c)划分为多个第一群组,第一群组表示为41(1)
‑‑‑
41(m)。其中每一个第一群组可包含一或多个实体区块,且每一个实体区块最近被读取的时间值只能属于某一第一群组。每一个第一群组最近被读取的时间都是不相同的。每一个第一群组包含的实体区块数量可以是相同的也可是不相同的。在某一时间点,属于同一个第一群组的实体区块具有相同的最近被读取的时间值,而属于不同第一群组的实体区块具有不同最近被读取的时间值。此外,在划分第一群组后,某一个实体区块所属的第一群组可能会动态改变,而非是永远固定的。
56.示例性的,存储器控制电路1233按照实体区块中的数据最近被读取的10个时间值而将实体区块301(0)~301(c) 划分为10个第一群组41(1)
‑‑‑
41(10)。其中10个第一群组如图4所示。具体地,时间值分别为t1≤1s、1s<t2≤5s、5s<t3≤30s、30s<t4≤60s、60s<t5
≤120s、120s<t6≤300s、300s<t7≤600s、600s<t8≤1800s、1800s<t9≤7200s、7200s<t10。图4中,群组41(1)表示实体区块301(0)~301(c)中数据最近被读取的时间值t1≤1s的实体区块被划分到一个群组,该群组包括实体区块301(0)~301(d);群组41(2)表示实体区块301(0)~301(c)中数据最近被读取的时间值1s<t2≤5s的实体区块被划分到一个群组,该群组包括实体区块301(k)~301(e);同理,群组41(3)表示实体区块301(0)~301(c)中数据最近被读取的时间值5s<t3≤30s的实体区块被划分到一个群组(图未示);同理,群组41(4)表示实体区块301(0)~301(c)中数据最近被读取的时间值30s<t4≤60s的实体区块被划分到一个群组(图未示);同理,群组41(5)表示实体区块301(0)~301(c)中数据最近被读取的时间值60s<t5≤120s的实体区块被划分到一个群组(图未示);同理,群组41(6)表示实体区块301(0)~301(c)中数据最近被读取的时间值120s<t6≤300s的实体区块被划分到一个群组(图未示);同理,群组41(7)表示实体区块301(0)~301(c)中数据最近被读取的时间值300s<t7≤600s的实体区块被划分到一个群组(图未示);同理,群组41(8)表示实体区块301(0)~301(c)中数据最近被读取的时间值600s<t8≤1800s的实体区块被划分到一个群组(图未示);同理,群组41(9)表示实体区块301(0)~301(c)中数据最近被读取的时间值1800s<t9≤7200s的实体区块被划分到一个群组(图未示);群组41(10)表示实体区块301(0)~301(c)中数据最近被读取的时间值7200s<t10≤21600s的实体区块被划分到一个群组, 该群组包括实体区块301(l)~301(c)。
57.在一实施例中,存储器控制电路1233还建立管理上述第一群组队列的表格,所述表格中记录有各个第一群组中的实体区块的数据最近被读取的时间明细。示例性的,其中10个第一群组41(1)
‑‑
41(10)如图5所示。
58.在一实施例中,各个第一群组中的实体区块数量是以被读取的时间来进行划分的,因此可知的,各个第一群组中的实体区块数量多少可以是相同的,也可以是不相同的。示例性的,群组41(1)中的时间最小,群组41(1)中的实体区块数量可以是所有10个第一群组中最多的,也可以最少的。一般情况下,可取决于数据区存储的是大文件还是小文件;本技术此处不做具体限定。
59.在一实施例中,第一群组的数量是大于1的,即有多个第一群组。存储器控制电路1233可按照第一群组所对应的时间大小,构建一个第一群组队列,时间短的群组排在群组队列的前面,时间最长的群组排在队列的尾部,并依此类推来管理所有的第一群组队列,如图6所示。
60.在一实施例中,存储器控制电路1233在按照多个数据最近被读取的时间值对数据区31中的实体区块进行群组划分,建立和维护一第一群组队列后。进一步,存储器控制电路1233可以预设一个时间阈值并将超过该时间阈值的所述第一群组队列中的第一群组被淘汰出该第一群组队列。比如,数据区31中的41(h)在超过30天以上的时间内没有被读取,由于随着时间的推延,可能会有更多的数据也是会超过30天以上的时间没有被读取,拆散管理此类数据的原有群组,将其统统划分一个群组41(j)或者不对此类数据不做群组划分。将存储器控制电路1233的性能专注于数据区31中的访问时间最小的实体区块的管理,以此来提高此类数据的被读取速度。一方面是方便第一群组队列中的群组管理,同样长度的群组队列,时间分隔的群组越细,对于群组的管理就更为精细化;另外一方面则可以降低存储器控制电路1233在管理第一群组队列的能耗。
61.在一实施例中,各个群组中的实体区块地址值可以是连续的,也可以不是连续的。比如,若是数据是大文件,该大文件需要占据较大容量的存储空间,即需要多个实体区块来存储之;在以被读取时间来对其进行划分的时候,可以得到一个实体区块地址值连续的第一群组41(f);若是数据是小文件,该小文件只需要占据较小容量的存储空间,即只需要较少的实体区块来存储之;在以被读取时间来对其进行划分的时候,可以得到一个实体区块地址值不连续的第一群组41(g)。
62.在一实施例中,存储器控制电路1233可按照时间对数据区31中的实体区块进行群组划分,得到群组41(1)
‑‑‑
41(m)。进一步,存储器控制电路1233还可按照群组41(1)
‑‑‑
41(m)中的实体区块在单位时间内被读取的次数v来将群组41(1)
‑‑‑
41(m)中的各个群组进一步划分成多个群组,得到第二群组51(1)
‑‑‑
51(w)。其中每一个第二群组可包含一或多个实体区块,且每一个单位时间内的每一个第二群组中的每一个实体区块最近被读取的次数只能属于某一第二群组。进一步,每一个单位时间内的每一个所述第二群组的最近被读取的次数都是不相同的。每一个第二群组包含的实体区块数量可以是相同的也可是不相同的。在某一时间点,属于同一个第二群组的实体区块具有相同的最近被读取的次数,而属于不同第二群组的实体区块具有不同最近被读取的次数。此外,在划分第二群组后,某一个实体区块所属的第二群组可能会动态改变,而非是永远固定的。
63.比如v1、v2和v3的取值分别表示1s内数据被读取的次数,v1、v2和v3的取值: v1≤10、10<v2≤50、50<v3≤100。第一群组41(1)按照v1≤10、10<v2≤50、50<v3≤100来进行进一步群组划分,得到第二群组51(1)、51(2)、51(3);如图7所示。
64.进一步,在一实施例中,存储器控制电路1233还建立管理单位时间内实体区块中的数据被读取的次数的表格,所述表格中记录有各个第二群组中的实体区块的数据在单位时间内被读取的次数的明细。示例性的,如图8所示,图8中表示的是1s内数据被读取的次数的明细。
65.进一步,在一实施例中,存储器控制电路1233依照单位时间内实体区块中的数据被读取的次数的表格对第二群组中的实体区块进行排序操作,使得第二群组中的实体区块的排列顺序是按照次数从多到少的顺序来排列。对第二群组中的实体区块进行排序操作,使得次数多的实体区块排在第二群组队列的前列。以提高数据管理的精细度,从而提高后续数据被读取时的速度。
66.示例性的,如图9所示,群组51(3)由于其在1s内数据被读取的次数比51(2)和51(1)多,所述51(3)排在群组41(1)队列的前列;51(3)中的实体区块301(d)的次数比其所在的群组51(3)中的其它实体区块的次数多,所以实体区块301(d)排在群组51(3)队列的前列;同理,群组51(2)中的实体区块301(n)也是排在其所在群组51(2)的前列;群组51(1)中的实体区块301(r)也是排在其所在群组51(1)的前列。
67.进一步,来自主机系统11的读取指令可分为连续读取操作模式、随机读取操作模式。其中随机读取操作模式表示主机系统11正在对存储器模块122连续下达多个读取指令以分别执行多个读取操作,其中对应每一个读取操作所需使用的映射信息被分散地存储在多个不同的逻辑至实体映射表中。相关技术中要执行随机读取操作,存储器控制电路1233根据上述的多个读取操作所分别对应的逻辑地址,要读取多个不同的逻辑至实体映射表,此举使得在执行随机读取操作的速度比较慢,影响数据读取的速度。具体地,本技术通过上
述方法来对实体区块的管理,然后重新建立所述经过管理的实体区块的逻辑至实体映射表,使得单位时间内数据被读取的次数最多的实体区块的映射信息是存储在同一个逻辑至实体映射表中,提高此类数据的被读取速度,即使这些数据的读取指令是随机读取操作指令。
68.示例性地,如图10所示,存储器控制电路1233可配置多个逻辑单元302(s)、302(t)和302(u)来映射实体区块301(x)、301(y)和301(z)中存储有效数据的实体区块。例如,一个逻辑单元可由一或多个逻辑地址组成。逻辑单元与实体区块之间的映射关系则可记载于逻辑至实体映射表(l2p表)中。其中,实体区块301(x)、301(y)和301(z)表示的是单位时间内被读取次数多的实体区块;其中单位时间内被读取次数的大小关系为301(x)>301(y)>301(z) 。
69.图11是根据本发明的一实施例所示出的区块管理方法的流程图。请参照图11,在步骤s100中,获得所述多个实体区块各别的最近被读取的时间信息;
70.在步骤s200中,根据所述时间信息将所述多个实体区块划分为多个第一群组;进一步,其中所述根据所述时间信息将所述多个实体区块划分为多个第一群组后,还构建一个第一群组队列,时间短的群组排在群组队列的前面,时间最长的群组排在队列的尾部;优选地,其中在构建所述第一群组队列后,还预设一个时间阈值并将超过该时间阈值的所述第一群组队列中的第一群组被淘汰出所述第一群组队列。
71.在步骤s300中,根据所述多个第一群组中的实体区块在单位时间内被读取的次数信息来将所述每一个第一群组划分为多个第二群组;优选地,其中每一个实体区块最近被读取的时间值只能属于某一第一群组;每一个第一群组最近被读取的时间都是不相同的;优选地,其中每一个第一群组或第二群组可包含一或多个实体区块,每一个第一群组或第二群组包含的实体区块数量可以是相同的也可是不相同的。
72.在步骤s400中,建立管理单位时间内实体区块被读取的次数的表格,所述表格中记录有各个第二群组中的实体区块在单位时间内被读取的次数的明细;在步骤s500中,根据所述单位时间内实体区块被读取的次数的表格对第二群组中的实体区块进行排序操作,使得第二群组中的实体区块的排列顺序是按照被读取次数从多到少的顺序来排列;
73.在步骤s600中,建立所述第二群组中被读取次数从多到少的顺序来排列的实体区块的逻辑至实体映射表。
74.然而,图11中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图11中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图11的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
75.综上所述,存储器控制电路1233先是按照实体区块中的数据最近被读取的时间不同而将其划分多个不同的第一群组,存储器控制电路1233可按照第一群组所对应的时间大小,构建一个第一群组队列,时间短的群组排在群组队列的前面,时间最长的群组排在队列的尾部,并依此类推来管理所有的第一群组队列;然后再按照预设时间内最近被读取的次数不同而对第一群组中各个群组进行划分而得到单位时间内最近被读取的次数的第二群组;进一步,存储器控制电路1233还依照单位时间内实体区块中的数据被读取的次数的表格对第二群组中的实体区块进行排序操作,使得第二群组中的实体区块的排列顺序是按照次数从多到少的顺序来排列。对第二群组中的实体区块进行排序操作,使得次数多的实体
区块排在第二群组队列的前列;进一步,本技术通过上述方法来对实体区块的管理,以提高数据管理的精细度,然后重新建立所述经过管理的实体区块的逻辑至实体映射表,使得单位时间内数据被读取的次数最多的实体区块的映射信息是存储在同一个逻辑至实体映射表中,提高此类数据的被读取速度,即使这些数据的读取指令是随机读取操作指令。
76.最后应说明的是:以上各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献