CN116860179A - 存储装置、存储装置的数据处理方法、计算机设备及介质 - Google Patents
存储装置、存储装置的数据处理方法、计算机设备及介质 Download PDFInfo
- Publication number
- CN116860179A CN116860179A CN202311108361.3A CN202311108361A CN116860179A CN 116860179 A CN116860179 A CN 116860179A CN 202311108361 A CN202311108361 A CN 202311108361A CN 116860179 A CN116860179 A CN 116860179A
- Authority
- CN
- China
- Prior art keywords
- block
- flash memory
- memory module
- flag bit
- blocks
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 238000012546 transfer Methods 0.000 claims description 24
- 239000002356 single layer Substances 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 239000010410 layer Substances 0.000 claims description 12
- 230000003068 static effect Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010998 test method Methods 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/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/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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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]
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及静态存储技术领域,特别涉及存储装置、存储装置的数据处理方法、计算机设备及介质。存储装置包括:至少一个闪存模块,用以接收主机输入的读指令,闪存模块包括多个区块;以及控制模块,电连接于闪存模块,控制模块包括:闪存控制单元,用以确定闪存模块中区块的块类型;闪存转换单元,用以根据每个区块的读次数和预设上限阈值的比较结果,以对区块的标志位进行赋值;中央处理单元,用以根据闪存模块的运行状态及具有标志位赋值的区块的数量,对具有标志位赋值的区块上的数据进行转移处理。本发明可在保证存储装置稳定性的基础上,提高存储装置的运行效率。
Description
技术领域
本发明涉及静态存储技术领域,特别涉及存储装置、存储装置的数据处理方法、计算机设备及介质。
背景技术
存储芯片是嵌入式系统芯片的概念在存储行业的具体应用。无论是系统芯片还是存储芯片,都是通过在单一芯片中嵌入软件,以实现多功能、高性能以及对多种协议、多种硬件和不同应用的支持。存储芯片广泛应用于计算机、移动设备、物联网等领域,用于存储各种数据,如操作系统、应用程序、音乐、视频、照片等。
当存储芯片的容量很大时,读电压所产生的干扰现象非常严重,影响了存储装置的运行性能。因此,存在待改进之处。
发明内容
本发明的目的在于提供存储装置、存储装置的数据处理方法、计算机设备及介质,可用于改善现有技术中对所有闪存块的读次数进行统计,影响存储装置运行性能的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:本发明提出一种存储装置,包括:
至少一个闪存模块,用以接收主机输入的读指令,所述闪存模块包括多个区块;以及
控制模块,电连接于所述闪存模块,所述控制模块包括:
闪存控制单元,用以确定所述闪存模块中区块的块类型;
闪存转换单元,用以根据每个区块的读次数和预设上限阈值的比较结果,以对区块的标志位进行赋值;
中央处理单元,用以根据所述闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,对具有标志位赋值的区块上的数据进行转移处理。
在本发明的一个实施例中,当所述闪存模块中的区块具有多种块类型时,所述中央处理单元用以对多种块类型进行排序,并基于排序次序,在同一时刻对相同块类型且具有标志位赋值的区块上的数据进行转移处理。
在本发明的一个实施例中,当所述闪存模块中区块的块类型为单层单元时,所述闪存转换单元用以判断每个区块的读次数是否达到单层单元的上限阈值,并基于判断结果,以对区块的标志位进行赋值处理。
在本发明的一个实施例中,当所述闪存模块中区块的块类型为多层单元时,所述闪存转换单元用以判断每个区块的读次数是否达到多层单元的上限阈值,并基于判断结果,以对区块的标志位进行赋值处理。
在本发明的一个实施例中,所述中央处理单元用以构建回收位图,并在所述回收位图上,将读次数达到上限阈值的区块的标志位进行赋值处理,将读次数没有达到上限阈值的区块的标志位进行清零处理。
在本发明的一个实施例中,所述中央处理单元还用以对具有标志位赋值的区块上的数据进行转移处理后,在所述回收位图上,对该区块的标志位进行清零处理。
在本发明的一个实施例中,所述中央处理单元还用以判断所述闪存模块是否处于空闲状态,并基于判断结果,对具有标志位赋值的区块上的数据进行转移处理。
在本发明的一个实施例中,当所述闪存模块处于空闲状态时,所述中央处理单元用以遍历所述回收位图,将全部标志位赋值的区块上的数据进行转移处理。
在本发明的一个实施例中,当所述闪存模块处于读状态或者写状态时,所述中央处理单元用以遍历所述回收位图,将部分标志位赋值的区块上的数据进行转移处理。
本发明还提出一种存储装置的数据处理方法,包括:
响应于主机输入的读指令,对闪存模块进行读取,其中,所述闪存模块包括多个区块;
通过闪存控制单元,确定所述闪存模块中区块的块类型;
通过闪存转换单元,在一个区块的读次数达到预设上限阈值时,对该区块的标志位进行赋值;以及
通过中央处理单元,获取所述闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,并对具有标志位赋值的区块上的数据进行转移处理。
本发明还提出一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述存储装置的数据处理方法的步骤。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述存储装置的数据处理方法的步骤。
如上所述,本发明提供了存储装置、存储装置的数据处理方法、计算机设备及介质,在保证存储装置稳定性的基础上,可优化存储装置的数据搬移机制,提高存储装置的运行效率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中一种存储装置的结构示意图。
图2为本发明一实施例中一种存储装置中单层单元闪存模块的回收位图。
图3为本发明一实施例中一种存储装置中多层单元闪存模块的回收位图。
图4为本发明一实施例中一种存储装置的数据处理方法的步骤示意图。
图5为本发明一实施例中图4中步骤S10的步骤示意图。
图6为本发明一实施例中图4中步骤S20的步骤示意图。
图7为本发明一实施例中图4中步骤S30的步骤示意图。
图8为本发明又一实施例中图4中步骤S30的步骤示意图。
图9为本发明一实施例中图4中步骤S40的步骤示意图。
图10显示为本发明的一计算机设备的一结构示意图。
图中:10、主机;20、存储装置;21、控制模块;210、中央处理单元;211、闪存转换单元;212、闪存控制单元;213、缓存控制单元;22、缓存单元;23、闪存模块;230、区块。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。下列实施例中未注明具体条件的试验方法,通常按照常规条件,或者按照各制造商所建议的条件。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容所能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
请参阅图1至图8所示,本发明提供存储装置、存储装置的数据处理方法、计算机设备及介质,可应用于SSD(Solid State Disk,固态硬盘)、eMMC(embedded Multi MediaCard,嵌入式多媒体卡)、UFS(Univeral Flash Storage,通用闪存存储器)等存储装置中。本发明在保证存储装置运行稳定性的基础上,优化存储装置的数据搬移机制,可提高存储装置的运行效率。下面通过具体的实施例进行详细的描述。
请参阅图1所示,在本发明的一个实施例中,本发明提出一种存储装置20,可包括控制模块21、缓存单元22和闪存模块23。控制模块21也可称为主控,作为存储装置20的控制中心,负责控制闪存模块23上数据的识别和读写,控制模块21可完成存储装置20中涉及的所有控制指令操作和数据读写操作。缓存单元22可以是控制模块21使用的内存DRAM(Dynamic Random Access Memory,动态随机存储器),数据暂时存储在缓存单元22中,以缓冲数据交换,并最终将数据写入至闪存模块23中。闪存模块23是数据存储的最终位置,从控制模块21处接收相应的数据并进行长期保存。闪存模块23根据不同的架构,可分为SLC(Single Level Cell,单层单元)、MLC(Multi Level Cell,双层单元)和TLC(Triple LevelCell,三层单元)等。闪存模块23的数量可至少为一个,闪存模块23用以存储主机10写入的数据。主机10可为个人计算机(pc,personal computer)、平板电脑(pad)、移动手机(cellphone)等通信设备。闪存模块23可包括多个区块(super block)230,多个区块230可形成超级块,超级块是指多个平面(plane)上位于相同位置的区块,例如第一平面的第二区块、第二平面的第二区块、第三平面的第二区块可组成一个超级块。控制模块21和闪存模块23电性连接,控制模块21对闪存模块23中的区块230上的数据进行读、写、转移处理。闪存模块23的运行状态可包括空闲状态、正常读状态、正常写状态等。
请参阅图1所示,在本发明的一个实施例中,控制模块21可包括中央处理单元210、闪存转换单元211、闪存控制单元212和缓存控制单元213。闪存控制单元212与闪存模块23通信连接。闪存控制单元212可用以确定闪存模块23中区块230的块类型。闪存转换单元211与中央处理单元210、闪存控制单元212电连接。闪存转换单元211根据闪存模块23上每个区块230的读次数和预设上限阈值的比较结果,对区块230的标志位进行赋值。例如,在区块230的读次数达到上限阈值时,闪存转换单元211将该区块230的标志位进行赋值,标志位赋值可以为数字1。在区块230上的数据转移处理之后,中央处理模块210可清除该区块230上的标志位赋值,可将该区块230的标志位赋值由1调整为0。中央处理模块210可将读次数没有达到上限阈值的区块230的标志位进行清零处理。中央处理单元210根据闪存模块23的块类型、运行状态和具有标志位赋值的区块230的数量,对区块230上的数据进行转移处理。缓存控制单元213与缓存单元22电连接,以实现对缓存单元22中缓存的数据进行调用和转移。
请参阅图1所示,在本发明的一个实施例中,中央处理单元210可先确定闪存模块23中区块230的块类型,然后中央处理单元210根据闪存模块23的运行状态和具有标志位赋值的区块230的具体数量,对区块230上的数据进行转移处理。在中央处理单元210确定区块230的块类型为多种时,中央处理模块210可对多种块类型进行排序。中央处理模块210可根据排序次序,并可在同一时刻中对一个相同块类型具有标志位赋值的多个区块230上的数据进行转移处理,然后再对其他相同块类型的区块230上的数据进行转移处理。通过对区块230的块类型进行分类,可提高搜索的效率。
请参阅图1、图2和图3所示,在本发明的一个实施例中,中央处理单元210可根据区块230的块类型及具有标志位赋值的区块230上的数量,构建不同块类型的区块230的回收位图。在回收位图中,区块230在物理地址上可按照预定顺序进行排列,例如预定顺序可以是先后顺序。在回收位图中,还可显示区块230是否具有标志位赋值。图2可为单层单元区块230的回收位图,在位索引1和位索引2的位置上,区块230的标志位赋值为1,即表明该区块230上的读次数达到上限阈值,需要进行数据的搬运转移处理。在将标志位赋值为1的区块230上数据全部搬运完成之后,中央处理模块210可将该区块230的标志位赋值进行清零处理。在图2中,在位索引0和位索引X的位置上,区块230的标志位赋值为0,即表明该区块230上的读次数没有达到上限阈值,暂时不需要进行数据的搬移处理。图3可为多层单元区块230的回收位图,在位索引1和位索引Y的位置上,区块230的读次数达到上限阈值,在位索引0和位索引2的位置上,区块230的读次数没有达到上限阈值。
请参阅图1、图2和图3所示,在本发明的一个实施例中,闪存模块23的工作状态为空闲状态时,表明闪存模块23不需要进行数据的读、写等操作。中央处理单元210在确定闪存模块23处于空闲状态后,可遍历回收位图上的标志位赋值,对具有标志位赋值的区块230进行数据转移处理。闪存模块23的工作状态为正常读状态或者正常写状态时,表明闪存模块23正在进行数据的读、写操作,如果将读次数超过上限阈值的区块230全部进行数据的搬运转移,将耗费大量的时间并且影响闪存模块23的运行效率。为了在闪存模块23处于正常读状态或者正常写状态提高闪存模块23的运行效率,中央处理单元210在确定闪存模块23处于读状态或者写状态后,可遍历回收位图上的标志位赋值,对部分具有标志位赋值的区块230进行数据转移处理,例如可仅对第一个具有标志位赋值的区块230进行数据转移处理。在闪存模块23处于正常读状态或者正常写状态情况下,仅对一个具有标志位赋值的区块230进行数据的转移搬运处理,可有效的提高存储装置的运行效率。
请参阅图4所示,在本发明的一个实施例中,本发明可提出一种存储装置及其数据处理方法,可包括以下的步骤。
步骤S10、响应于主机输入的读指令,对闪存模块进行读取,其中,闪存模块包括多个区块。
步骤S20、通过闪存控制单元,确定闪存模块中区块的块类型。
步骤S30、通过闪存转换单元,在一个区块的读次数达到预设上限阈值时,对该区块的标志位进行赋值。
步骤S40、通过中央处理单元,获取闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,并对具有标志位赋值的区块上的数据进行转移处理。
步骤S50、存储装置进行其他读写流程。
步骤S10、响应于主机输入的读指令,对闪存模块进行读取,其中,闪存模块包括多个区块。
在本发明的一个实施例中,闪存模块23是数据存储的最终位置,从控制模块21处接收相应的数据并进行长期保存。闪存模块23根据不同的架构,可分为SLC(Single LevelCell,单层单元)、MLC(Multi Level Cell,双层单元)和TLC(Triple Level Cell,三层单元)等。闪存模块23的数量可至少为一个,闪存模块23用以存储主机10写入的存储数据。闪存模块23可包括多个区块(super block)230。控制模块21和闪存模块23电性连接,以对闪存模块23中的区块230上的数据进行读、写、转移处理。闪存模块23的运行状态可包括空闲状态、正常读状态、正常写状态等。
步骤S20、通过闪存控制单元,确定闪存模块中区块的块类型。
在本发明的一个实施例中,控制模块21可包括中央处理单元210、闪存转换单元211、闪存控制单元212和缓存控制单元213。闪存控制单元212与闪存模块23通信连接。闪存控制单元212可用于确定闪存模块23中区块230的块类型。
步骤S30、通过闪存转换单元,在一个区块的读次数达到预设上限阈值时,对该区块的标志位进行赋值。
在本发明的一个实施例中,闪存转换单元211与中央处理单元210、闪存控制单元212电连接。在区块230的读次数达到上限阈值时,闪存转换单元211将该区块230的标志位进行赋值处理,例如标志位赋值可以为数字1。在区块230上的数据转移处理之后,可清除该区块230上的标志位赋值,例如可将该区块230的标志位值由1调整为0。
步骤S40、通过中央处理单元,获取闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,并对具有标志位赋值的区块上的数据进行转移处理。
在本发明的一个实施例中,中央处理单元210根据闪存模块23的运行状态和具有标志位值的区块230的数量,对区块230上的数据进行转移处理。闪存模块23的运行状态可包括空闲状态、正常读状态、正常写状态等,在不同的运行状态下,中央处理单元210可采取不同的方式,对区块230上的数据进行转移处理。缓存控制单元213与缓存单元22电连接,以实现对缓存单元22中缓存的数据进行调用和转移。
请参阅图5所示,在本发明的一个实施例中,步骤S10可包括步骤S110和步骤S120。其中,步骤S110可表示为存储装置收到读命令,即存储装置接收到主机10发送的读命令。步骤S120可表示为根据地址映射表得到区块230的地址,并统计读次数。通过地址映射表中的映射关系,可得出多个区块230的地址,并且针对每个地址上的区块230,可统计出各个区块230上的读次数。
请参阅图6所示,在本发明的一个实施例中,步骤S20可包括步骤S210、步骤S220和步骤S230。其中,步骤S210可表示为判断区块230的类型是否为单层单元。当步骤S210的判断结果为区块230的类型为单层单元时,进入步骤S220。步骤S220可表示为判断区块230的读次数是否达到单层单元的上限阈值。当步骤S210的判断结果为区块230的类型为多层单元时,进入步骤S230。步骤S230可表示为判断区块230的读次数是否达到多层单元的上限阈值。
请参阅图7所示,在本发明的一个实施例中,对于区块230的类型为单层单元时,步骤S30可包括步骤S310、步骤S320和步骤S50。其中,步骤S310可表示为判断区块230的读次数是否达到单层单元的上限阈值。当步骤S310的判断结果为区块230的读次数达到单层单元的上限阈值时,可进入步骤S320。步骤S320可表示为根据区块230的编号,将单层单元回收位图相应标志位赋值为1。当步骤S310的判断结果为区块230的读次数没有达到单层单元的上限阈值时,可进入步骤S50。步骤S50可表示为存储装置进行其他读写流程。
请参阅图8所示,在本发明的一个实施例中,对于区块230的类型为多层单元时,步骤S30可包括步骤S330、步骤S340和步骤S50。其中,步骤S330可表示为判断区块230的读次数是否达到多层单元的上限阈值。当步骤S330的判断结果为区块230的读次数达到多层单元的上限阈值时,可进入步骤S340。步骤S340可表示为根据区块230的编号,将多层单元回收位图相应标志位赋值为1。当步骤S330的判断结果为区块230的读次数没有达到多层单元的上限阈值时,可进入步骤S50。
请参阅图9所示,在本发明的一个实施例中,步骤S40可包括步骤S410至步骤S460。其中,在步骤S320和步骤S340之后,可进入至步骤S410中。步骤S410可表示为判断闪存模块23是否处于空闲状态。可进入步骤S420。当步骤S410中的判断结果为闪存模块23处于空闲状态时,表明闪存模块23不需要进行数据的读、写等操作。步骤S420可表示为中央处理单元210遍历回收位图,将所有标志位赋值为1的区块230上数据全部搬运至其他区块230位置上。并且在将标志位赋值为1的区块230上数据全部搬运完成之后,可将该区块230的标志位赋值进行清零处理,然后可进入步骤S50。
请参阅图9所示,在本发明的一个实施例中,当步骤S410中的判断结果为闪存模块23不处于空闲状态时,可进入步骤S430中。在闪存模块23的工作状态为正常读状态或者正常写状态时,表明闪存模块23正在进行数据的读、写操作,如果将读次数超过上限阈值的区块230全部进行数据的搬运转移,将耗费大量的时间并且影响闪存模块23的运行效率。步骤S430可表示为判断闪存模块23是否处于读状态。当步骤S430的判断结果为闪存模块23处于读状态时,可进入步骤S440。步骤S440可表示为中央处理单元210遍历回收位图,将部分标志位赋值为1的区块上数据全部搬运到其他位置。例如可仅对第一个具有标志位赋值的区块230进行数据转移处理。在闪存模块23处于正常读状态情况下,仅对一个具有标志位赋值的区块230进行数据的转移搬运处理,可有效的提高存储装置的运行效率。在将标志位赋值为1的区块230上数据全部搬运完成之后,中央处理模块210可将该区块230的标志位赋值进行清零处理,然后可进入步骤S50。
请参阅图9所示,在本发明的一个实施例中,当步骤S430的判断结果为闪存模块23既不处于空闲状态又不处于读状态时,可进入步骤S450。步骤S450可表示为判断闪存模块23是否处于写状态。当步骤S450的判断结果为闪存模块23处于写状态时,可进入步骤S460。步骤S460可表示为中央处理单元210遍历回收位图,将部分标志位赋值为1的区块上数据全部搬运到其他位置。例如可仅对第一个具有标志位赋值的区块230进行数据转移处理。在闪存模块23处于正常写状态情况下,仅对一个具有标志位赋值的区块230进行数据的转移搬运处理,可有效的提高存储装置的运行效率。在将标志位赋值为1的区块230上数据全部搬运完成之后,中央处理模块210可将该区块230的标志位赋值进行清零处理,然后可进入步骤S50。当步骤S450的判断结果为闪存模块23不处于写状态时,可进入步骤S50。
请参阅图10所示,本发明一实施例中计算机设备的一结构示意图。在一个实施例中,提供了一种计算机设备,该计算机设备200可以是服务端。该计算机设备200包括通过系统总线连接的处理器201、存储器202、网络接口204和数据库。其中,该计算机设备200的处理器201用于提供计算和控制能力。该计算机设备200的存储器202包括非易失性和/或易失性存储介质、内存储器203。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备200的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种存储装置的数据处理方法服务端侧的功能或步骤。
在一个实施例中,提供了一种计算机设备200,包括存储器202、处理器201及存储在存储器上并可在处理器上运行的计算机程序,处理器201执行计算机程序时实现以下步骤:
响应于主机输入的读指令,对闪存模块进行读取,其中,所述闪存模块包括多个区块;通过闪存控制单元,确定所述闪存模块中区块的块类型;通过闪存转换单元,在一个区块的读次数达到预设上限阈值时,对该区块的标志位进行赋值;以及通过中央处理单元,获取所述闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,并对具有标志位赋值的区块上的数据进行转移处理。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于主机输入的读指令,对闪存模块进行读取,其中,所述闪存模块包括多个区块;通过闪存控制单元,确定所述闪存模块中区块的块类型;通过闪存转换单元,在一个区块的读次数达到预设上限阈值时,对该区块的标志位进行赋值;以及通过中央处理单元,获取所述闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,并对具有标志位赋值的区块上的数据进行转移处理。
需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧以及客户端侧的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明提出一种存储装置及其数据处理方法,在保证存储装置稳定性的基础上,可优化存储装置的数据搬移机制,提高存储装置的运行效率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种存储装置,其特征在于,包括:
至少一个闪存模块,用以接收主机输入的读指令,所述闪存模块包括多个区块;以及
控制模块,电连接于所述闪存模块,所述控制模块包括:
闪存控制单元,用以确定所述闪存模块中区块的块类型;
闪存转换单元,用以根据每个区块的读次数和预设上限阈值的比较结果,以对区块的标志位进行赋值;
中央处理单元,用以根据所述闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,对具有标志位赋值的区块上的数据进行转移处理。
2.根据权利要求1所述的存储装置,其特征在于,当所述闪存模块中的区块具有多种块类型时,所述中央处理单元用以对多种块类型进行排序,并基于排序次序,在同一时刻对相同块类型且具有标志位赋值的区块上的数据进行转移处理。
3.根据权利要求1所述的存储装置,其特征在于,当所述闪存模块中区块的块类型为单层单元时,所述闪存转换单元用以判断每个区块的读次数是否达到单层单元的上限阈值,并基于判断结果,以对区块的标志位进行赋值处理。
4.根据权利要求1所述的存储装置,其特征在于,当所述闪存模块中区块的块类型为多层单元时,所述闪存转换单元用以判断每个区块的读次数是否达到多层单元的上限阈值,并基于判断结果,以对区块的标志位进行赋值处理。
5.根据权利要求1所述的存储装置,其特征在于,所述中央处理单元用以构建回收位图,并在所述回收位图上,将读次数达到上限阈值的区块的标志位进行赋值处理,将读次数没有达到上限阈值的区块的标志位进行清零处理。
6.根据权利要求5所述的存储装置,其特征在于,所述中央处理单元还用以对具有标志位赋值的区块上的数据进行转移处理后,在所述回收位图上,对该区块的标志位进行清零处理。
7.根据权利要求1所述的存储装置,其特征在于,当所述闪存模块处于空闲状态时,所述中央处理单元用以将全部标志位赋值的区块上的数据进行转移处理;
当所述闪存模块处于读状态或者写状态时,所述中央处理单元用以将部分标志位赋值的区块上的数据进行转移处理。
8.一种存储装置的数据处理方法,其特征在于,包括:
响应于主机输入的读指令,对闪存模块进行读取,其中,所述闪存模块包括多个区块;
通过闪存控制单元,确定所述闪存模块中区块的块类型;
通过闪存转换单元,在一个区块的读次数达到预设上限阈值时,对该区块的标志位进行赋值;以及
通过中央处理单元,获取所述闪存模块的块类型、运行状态及具有标志位赋值的区块的数量,并对具有标志位赋值的区块上的数据进行转移处理。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求8所述存储装置的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求8所述存储装置的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311108361.3A CN116860179A (zh) | 2023-08-31 | 2023-08-31 | 存储装置、存储装置的数据处理方法、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311108361.3A CN116860179A (zh) | 2023-08-31 | 2023-08-31 | 存储装置、存储装置的数据处理方法、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860179A true CN116860179A (zh) | 2023-10-10 |
Family
ID=88228899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311108361.3A Pending CN116860179A (zh) | 2023-08-31 | 2023-08-31 | 存储装置、存储装置的数据处理方法、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860179A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150339188A1 (en) * | 2014-05-20 | 2015-11-26 | Transcend Information, Inc. | Method for read disturbance management in non-volatile memory devices |
CN108776614A (zh) * | 2018-05-03 | 2018-11-09 | 华为技术有限公司 | 存储块的回收方法和装置 |
CN108874683A (zh) * | 2018-05-30 | 2018-11-23 | 郑州云海信息技术有限公司 | 固态存储设备的垃圾回收的方法以及计算机设备 |
CN111857586A (zh) * | 2020-07-14 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种SSD Trim优化方法、系统、终端及存储介质 |
CN113419682A (zh) * | 2021-06-30 | 2021-09-21 | 湖南国科微电子股份有限公司 | 一种数据处理方法、装置和计算机闪存设备 |
CN114995756A (zh) * | 2022-05-27 | 2022-09-02 | 济南浪潮数据技术有限公司 | 一种虚拟磁盘空间回收方法、装置及介质 |
CN115129262A (zh) * | 2022-07-29 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种固态硬盘垃圾回收方法、装置、设备及介质 |
CN115756297A (zh) * | 2021-09-06 | 2023-03-07 | 合肥康芯威存储技术有限公司 | 一种预防读取错误的方法、系统及数据存储设备 |
CN115933996A (zh) * | 2023-01-12 | 2023-04-07 | 北京得瑞领新科技有限公司 | Ssd读干扰优化处理方法、装置、存储介质及ssd设备 |
CN116027968A (zh) * | 2022-10-20 | 2023-04-28 | 苏州忆联信息系统有限公司 | 闪存块读取次数压缩方法、装置、计算机设备及存储介质 |
CN116243864A (zh) * | 2023-02-24 | 2023-06-09 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固态硬盘的数据搬移方法、系统、计算机设备及介质 |
-
2023
- 2023-08-31 CN CN202311108361.3A patent/CN116860179A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150339188A1 (en) * | 2014-05-20 | 2015-11-26 | Transcend Information, Inc. | Method for read disturbance management in non-volatile memory devices |
CN108776614A (zh) * | 2018-05-03 | 2018-11-09 | 华为技术有限公司 | 存储块的回收方法和装置 |
CN108874683A (zh) * | 2018-05-30 | 2018-11-23 | 郑州云海信息技术有限公司 | 固态存储设备的垃圾回收的方法以及计算机设备 |
CN111857586A (zh) * | 2020-07-14 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种SSD Trim优化方法、系统、终端及存储介质 |
CN113419682A (zh) * | 2021-06-30 | 2021-09-21 | 湖南国科微电子股份有限公司 | 一种数据处理方法、装置和计算机闪存设备 |
CN115756297A (zh) * | 2021-09-06 | 2023-03-07 | 合肥康芯威存储技术有限公司 | 一种预防读取错误的方法、系统及数据存储设备 |
CN114995756A (zh) * | 2022-05-27 | 2022-09-02 | 济南浪潮数据技术有限公司 | 一种虚拟磁盘空间回收方法、装置及介质 |
CN115129262A (zh) * | 2022-07-29 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种固态硬盘垃圾回收方法、装置、设备及介质 |
CN116027968A (zh) * | 2022-10-20 | 2023-04-28 | 苏州忆联信息系统有限公司 | 闪存块读取次数压缩方法、装置、计算机设备及存储介质 |
CN115933996A (zh) * | 2023-01-12 | 2023-04-07 | 北京得瑞领新科技有限公司 | Ssd读干扰优化处理方法、装置、存储介质及ssd设备 |
CN116243864A (zh) * | 2023-02-24 | 2023-06-09 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固态硬盘的数据搬移方法、系统、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8438361B2 (en) | Logical block storage in a storage device | |
CN107885456B (zh) | 减少io命令访问nvm的冲突 | |
US9448946B2 (en) | Data storage system with stale data mechanism and method of operation thereof | |
US11868652B2 (en) | Utilization based dynamic shared buffer in data storage system | |
US12093172B2 (en) | Memory system and method of controlling nonvolatile memory | |
CN110096221B (zh) | 存储器系统及其控制方法 | |
US11429314B2 (en) | Storage device, storage system and operating method thereof | |
US11914474B2 (en) | Efficient management of failed memory blocks in memory sub-systems | |
CN104503703A (zh) | 缓存的处理方法和装置 | |
CN105917303A (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
US20160170648A1 (en) | Data storage device and operating method thereof | |
CN112035061A (zh) | 固态硬盘资源分配方法、装置和存储介质 | |
US20240086315A1 (en) | Memory access statistics monitoring | |
CN108701488A (zh) | 用于在逻辑上去除非易失性存储器存储设备中的缺陷页的方法和装置 | |
CN108628760B (zh) | 原子写命令的方法与装置 | |
CN116400852A (zh) | 固态硬盘写性能的优化方法、装置、计算机设备及存储介质 | |
CN110119245B (zh) | 用于操作nand闪存物理空间以扩展存储器容量的方法和系统 | |
CN107203341A (zh) | 基于闪存的数据存储方法、装置以及闪存芯片 | |
CN108628761B (zh) | 原子命令执行方法与装置 | |
US11301171B2 (en) | Memory system with controller to write data to memory based on lifetime information in write command | |
TWI759580B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
CN116860179A (zh) | 存储装置、存储装置的数据处理方法、计算机设备及介质 | |
CN110515861B (zh) | 处理刷写命令的存储设备及其方法 | |
CN113253939B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN108614664B (zh) | 基于NAND flash的读错误处理方法和装置 |
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 |
Application publication date: 20231010 |
|
RJ01 | Rejection of invention patent application after publication |