CN116401180A - 一种数据读写控制方法、装置、介质 - Google Patents
一种数据读写控制方法、装置、介质 Download PDFInfo
- Publication number
- CN116401180A CN116401180A CN202310375794.9A CN202310375794A CN116401180A CN 116401180 A CN116401180 A CN 116401180A CN 202310375794 A CN202310375794 A CN 202310375794A CN 116401180 A CN116401180 A CN 116401180A
- Authority
- CN
- China
- Prior art keywords
- data
- operation instruction
- target
- flash memory
- bits
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 abstract description 22
- 238000013500 data storage Methods 0.000 abstract description 3
- 239000007787 solid Substances 0.000 description 8
- 239000002699 waste material Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000003672 processing method Methods 0.000 description 3
- 101001109455 Homo sapiens NACHT, LRR and PYD domains-containing protein 6 Proteins 0.000 description 2
- 101001113056 Homo sapiens PAN2-PAN3 deadenylation complex subunit PAN3 Proteins 0.000 description 2
- 102100022696 NACHT, LRR and PYD domains-containing protein 6 Human genes 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 101001128135 Homo sapiens NACHT, LRR and PYD domains-containing protein 4 Proteins 0.000 description 1
- 101000982939 Homo sapiens PAN2-PAN3 deadenylation complex catalytic subunit PAN2 Proteins 0.000 description 1
- 101000742934 Homo sapiens Retinol dehydrogenase 14 Proteins 0.000 description 1
- 102100031898 NACHT, LRR and PYD domains-containing protein 4 Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及数据存储领域,公开了一种数据读写控制方法、装置、介质,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据处理效率。
Description
技术领域
本申请涉及数据存储领域,特别是涉及一种数据读写控制方法、装置、介质。
背景技术
随着存储设备发展和用户对数据读写速度需求的提高,固态硬盘(Solid StateDisk,SSD)越来越多的被数据存储设备使用。固态硬盘又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘,其使用NAND作为存储介质,当存储设备控制器向固态硬盘发送存储命令时,固态硬盘根据存储命令将数据写入NAND中。
图1为NAND的架构示意图,如图1所示,NAND Flash的存储结构为:一个Flash由许多个block(块)组成,每个Block由许多个Page组成,每个Page中均包括有效数据区和sparearea区。目前常用的固态硬盘数据处理方法为每次打开一个Block,并将数据写入其中的一个Page中。当数据较多时,需要频繁的执行打开Block、关闭Block的操作,造成计算资源的浪费,同时降低数据的读写速度。
由此可见,如何提供一种高效快速的数据处理方法,以减少数据处理过程中频繁打开Block、关闭Block所造成的资源浪费,提高数据处理速度,是本领域技术人员亟需解决的问题。
发明内容
本申请的目的是提供一种高效快速的数据读写控制方法、装置、介质,以减少数据处理过程中频繁打开Block、关闭Block所造成的资源浪费,提高数据处理速度。
为了解决上述技术问题,本申请提供了一种数据读写控制方法,包括:
获取数据操作指令;
确定所述数据操作指令所对应的操作数据位数;
根据存储信息表获取与所述操作数据位数对应的目标数据位的闪存地址;
根据所述目标数据位的闪存地址执行所述数据操作指令。
优选的,所述获取数据操作指令的步骤前,还包括:
扫描目标存储设备,以获取所述目标存储设备的内存块信息表;
获取各内存块的闪存地址,以确定存储信息表;其中,所述存储信息表中记录有各目标内存数据块的闪存地址,所述目标内存数据块为序号为操作数据位数的整数倍的内存数据块。
优选的,所述数据操作指令包括:读数据指令和写数据指令;
所述数据操作指令所对应的操作数据位数包括:单位、双位和四位。
优选的,当所述数据操作指令为写数据时,所述根据所述目标数据位的闪存地址执行所述数据操作指令包括:
若所述操作数据位数为单位,则将与所述数据操作指令对应的数据写入所述目标数据位的闪存地址;
若所述操作数据位数为多位,则当数据量满足预设条件时,将与所述数据操作指令对应的数据写入所述目标数据位。
优选的,当所述数据操作指令为擦除数据时,所述根据所述目标数据位的闪存地址执行所述数据操作指令包括:
若所述操作数据位数为单位,则擦除所述目标数据位的数据;
若所述操作数据位数为多位,判断当前操作数据位数与所述目标数据位的写入操作数据位数是否一致;
若一致,则同时擦除多位数据。
优选的,所述确定所述数据操作指令所对应的操作数据位数包括:
解析所述数据操作指令,以获取与所述数据操作指令对应的待处理数据的元数据;
根据所述元数据确定所述操作数据位数。
优选的,所述根据所述目标数据位的闪存地址执行所述数据操作指令的步骤后,还包括:
更新所述存储信息表。
为了解决上述技术问题,本申请还提供了一种数据读写控制装置,包括:
第一获取模块,用于获取数据操作指令;
确定模块,用于确定所述数据操作指令所对应的操作数据位数;
第二获取模块,用于根据存储信息表获取与所述操作数据位数对应的目标数据位的闪存地址;
执行模块,用于根据所述目标数据位的闪存地址执行所述数据操作指令。
为了解决上述技术问题,本申请还提供了一种数据读写控制装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的数据读写控制方法的步骤。
为了解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据读写控制方法的步骤。
本申请提供了一种数据读写控制方法,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请所提供的技术方案,通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据处理效率。
此外,本申请还提供了一种数据读写控制装置、介质,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请所提供的技术方案,通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据处理效率。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为NAND的架构示意图;
图2为本申请实施例所提供的一种数据读写控制方法的流程图;
图3为本申请实施例所提供的一种数据读写控制装置的结构图;
图4为本申请实施例所提供的另一种数据读写控制装置的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种高效快速的数据读写控制方法、装置、介质,以减少数据处理过程中频繁打开Block、关闭Block所造成的资源浪费,提高数据处理速度。
在硬盘数据存取的应用场景中,向硬盘存储设备中写入数据包括单PLAN、双PLAN和四PLAN等,各模式所对应的数据操作指令也不相同。其中,单PLAN模式指发送至NAND的每条数据写入指令只能操作一个BLOCK,而四PLAN模式指发送至NAND的每条数据写入指令可以操作四个BLOCK。在数据写入或擦除过程中,频繁的执行打开Block、关闭Block的操作,造成计算资源的浪费,同时降低数据的读写速度。而若采用多PLAN模式对数据进行处理,由于存储设备中存在坏块,则与坏块相邻的存储区域有可能因为不是PLAN的整数倍导致无法使用,降低存储资源的利用率。为了解决这一问题,本申请提供了一种数据读写控制方法,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请所提供的技术方案,通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据处理效率。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图2为本申请实施例所提供的一种数据读写控制方法的流程图,如图2所示,该数据读写控制方法包括:
S10:获取数据操作指令;
S11:确定数据操作指令所对应的操作数据位数;
S12:根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址;
S13:根据目标数据位的闪存地址执行数据操作指令。
在具体实施中,固态硬盘(SSD)通常使用NAND作为存储介质,当固态硬盘获取到数据操作指令时,根据数据操作指令将数据写入NAND中或擦除NAND中的数据。如图1所示,NAND Flash的存储结构为:一个Flash由许多个block(块)组成,每个Block由许多个Page组成,每个Page中均包括有效数据区和spare area区。在数据写入或擦除过程中,需要打开一个Block,并将数据写入其中的一个Page中。当数据较多时,需要频繁的执行打开Block、关闭Block的操作,造成计算资源的浪费,同时降低数据的读写速度。为了解决这一问题,本申请提供了一种数据读写控制方法,预先确定当前Flash的存储信息表,存储信息表中记录有各目标内存(本实施例中以单层单元(Single Level Cell,SLC)数据块为例进行说明)数据块的闪存地址,其中,目标SLC数据块为序号为操作数据位数的整数倍的SLC数据块。例如:若想要使当前存储设备支持双位数据操作,则预先对存储设备Flash进行扫描,以获取Flash内各SLC数据块(Block)的闪存地址,并记录序号为操作数据位数的整数倍的SLC数据块的闪存地址,以便于后续使用。当获取到数据操作指令时,确定数据操作指令所对应的操作数据位数,从而确定与操作数据位数对应的目标SLC数据块。
可以理解的是,可以根据用户需求自行设置目标SLC数据块,例如:记录操作数据位数为3位、4位、8位的目标SLC数据块。但需要注意的是,当存储信息表中存在多种与不同的操作数据位数对应的目标SLC数据块时,可能会由于不同目标SLC数据块间互相干扰,导致存储空间利用率降低,因此,通常将各目标SLC数据块所对应的操作数据位数设置为2的指数次幂,例如:操作数据位数为2位、4位、8位的目标SLC数据块。
在具体实施中,数据操作指令通常包括数据读写指令,数据擦除指令等。
本申请所提供的技术方案,根据输入的数据操作指令所对应的操作数据位数确定相应的目标SLC数据块,从而根据目标SLC数据块所对应的闪存地址快速确定要写入的数据块。
在本实施例中,以单位数据和四位数据混合处理为例进行说明。对于任意的固态存储设备,其均存在坏块,四位数据处理方式需要连续的四个数据块,这一数据处理方法虽然写入数据的速度较快,但当存在坏块时,与坏块相邻的数据块均不能使用,会导致存储资源的浪费。因此,本申请所提供的技术方案可以支持不同数据位数据处理方式,当需要高速处理数据时,则根据存储信息表确定存在四个连续可用数据块的闪存地址,并向其中单次写入四位数据。若数据处理速度无要求或存储设备中不存在四个连续可用数据块,则每次写入一位数据。
本实施例提供了一种数据读写控制方法,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请所提供的技术方案,通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据处理效率。
在具体实施中,由于NAND Flash的工艺不能保证NAND的memory array在其生命周期中保持性能的可靠性,NAND Flash在出厂阶段就会有某些概率出现坏块的现象,此外,在使用过程中也会产生坏块。为了便于后续使用,需要预先对目标存储设备进行扫描,确定其中各SLC数据块的工作状态,以便于后续为不同的数据处理指令分配不同的数据块。
在上述实施例的基础上,获取数据操作指令的步骤前,还包括:
扫描目标存储设备,以获取目标存储设备的SLC块信息表;
获取各SLC块的闪存地址,以确定存储信息表;其中,存储信息表中记录有各目标SLC数据块的闪存地址,目标SLC数据块为序号为操作数据位数的整数倍的SLC数据块。
在具体实施中,在目标存储设备的首次上电时,根据目标存储设备的坏块表对目标存储设备进行扫描,以获取目标存储设备的SLC块信息表(SLC Block INFO),并基于SLCBlock Info获取各SLC块的闪存地址,以确定存储信息表,存储信息表中记录有各目标SLC数据块的闪存地址,目标SLC数据块为序号为操作数据位数的整数倍的SLC数据块。在SLCBLOCK INFO表的基础,读出每个BLCOK所在的FLASH地址,并计算FLASH地址中所在BLOCK的位置是否是数据操作位数的倍数。如果是标位PLAN0,如果不是,按照余数标记为PLAN1\PAN2\PAN3,创建多PLAN BLOCK INFO表。
在具体实施中,数据操作指令包括:读数据指令和写数据指令;相应的,数据操作指令所对应的操作数据位数包括:单位、双位和四位。
当数据操作指令为写数据时,根据目标数据位的闪存地址执行数据操作指令包括:
若操作数据位数为单位,则将与数据操作指令对应的数据写入目标数据位的闪存地址;
若操作数据位数为多位,则当数据量满足预设条件时,将与数据操作指令对应的数据写入目标数据位。
在具体实施中,以单PLAN和四PLAN为例,对数据写入过程进行说明。为将要写入NAND的每组数据分配SLC BLOCK,因元数据特性不同,有的用四plan,有的用单plan模式。所以在分配BLOCK时先判断元数据的类型,从而判断发送模式。
如果是单plan模式,先扫描四PLAN BLOCK IFNO表。如block已经被申请作为四plan用了,那就换下一个,直到找到没被用到的。同时设置对应的四plan block info表擦除次数为0xfffffff0,置slc block info表对应的block位置为0xffffffff。下一组单plan模式需要申请block时,优先选用四plan block info表擦除次数为0xfffffff0的剩余block。将申请到的block写入发往NAND的消息中。
如果是四PLAN模式,扫描四PLAN BLOCK INFO表。如果四plan block info表擦除次数为0xfffffff0或0xffffffff,则换下一个,直到找到擦除次数最小的。并为分配四个BLOCK。分别对应PALN0\PLAN1\PALN2\PAN3。分配完成后,修改已经分配的四PLAN INFO表对应擦除信息为0xffffffff,并修改对应的SLC BLOCK INFO表上的擦除信息为0xffffffff。
需要注意的是,若为四PLAN模式,则在SLC写阶段发往NAND的消息,需要凑够写四个BLCK对应的消息。在具体实施中,将四个BLOCK中,PLAN 0的地址写入发往NAND的消息中,其他消息只传递buffer地址,从而减少传输的信息量。
在上述实施例的基础上,当数据操作指令为擦除数据时,根据目标数据位的闪存地址执行数据操作指令包括:
若操作数据位数为单位,则擦除目标数据位的数据;
若操作数据位数为多位,判断当前操作数据位数与目标数据位的写入操作数据位数是否一致;
若一致,则同时擦除多位数据。
需要注意的是,只有在NAND写入阶段按照四PLAN的模式写入NAND的数据,才会用到四PLAN模式擦除。
在SLC擦除阶段,先判断是否需要进行四PLAN擦除。
若为四PLAN擦除,则从已用到的BLOCK找到在同一个channel,target、lun的四plan block。找到四个BLOCK后,找到BLOCK数是四整数倍的Block,定位plan0。将四个BLOCK中的PLAN 0的地址写入发往NAND的消息中,并发送NAND擦除四PLAN命令。收到NAND擦除完成消息后,将四个Block全部放回到free block列表。更新对应的Block info信息表,更新相应的目标SLC数据块的擦除次数。
若为单plan擦除,则发送给NAND的消息为单plan模式。当存储设备的控制器收到NAND所发送的完成消息后,更新block info表信息和相应的目标SLC数据块的擦除次数。但需要在此block的基础上,判断其对应的四PLAN block是否被占用(例如,擦除的block为plan2,需要查找其对应的plan0,plan1,plan3 block)。若与之对应的四plan为写状态或占用状态,此四plan block不能被用来后续的四plan写操作。如果其他对应的四plan为free状态,则可以被用来进行后续的四plan写操作,对其进行标记。
作为优选的实施例,确定数据操作指令所对应的操作数据位数包括:解析数据操作指令,以获取与数据操作指令对应的待处理数据的元数据;根据元数据确定操作数据位数。需要注意的是,为了保证存储设备中各SLC数据块的高效利用,当执行根据目标数据位的闪存地址执行数据操作指令的步骤后,还需要根据相应的目标数据位的数据写入情况或数据擦除情况更新存储信息表,以便于后续对数据进行操作。
在上述实施例中,对于数据读写控制方法进行了详细描述,本申请还提供数据读写控制装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图3为本申请实施例所提供的一种数据读写控制装置的结构图,如图3所示,该装置包括:
第一获取模块10,用于获取数据操作指令;
确定模块11,用于确定数据操作指令所对应的操作数据位数;
第二获取模块12,用于根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址;
执行模块13,用于根据目标数据位的闪存地址执行数据操作指令。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
此外,本申请所提供的技术方案中,还包括存储信息表确定模块、写操作执行模块、擦除操作执行模块、操作数据位数确定模块、存储信息表更新模块。
其中,存储信息表确定模块用于在执行获取数据操作指令的步骤前,扫描目标存储设备,以获取目标存储设备的内存块信息表;获取各内存块的闪存地址,以确定存储信息表;其中,存储信息表中记录有各目标内存数据块的闪存地址,目标SLC数据块为序号为操作数据位数的整数倍的内存数据块。
在具体实施中,数据操作指令包括:读数据指令和写数据指令;数据操作指令所对应的操作数据位数包括:单位、双位和四位。
写操作执行模块用于若操作数据位数为单位,则将与数据操作指令对应的数据写入目标数据位的闪存地址;若操作数据位数为多位,则当数据量满足预设条件时,将与数据操作指令对应的数据写入目标数据位。
擦除操作执行模块用于若操作数据位数为单位,则擦除目标数据位的数据;若操作数据位数为多位,判断当前操作数据位数与目标数据位的写入操作数据位数是否一致;若一致,则同时擦除多位数据。
操作数据位数确定模块用于解析数据操作指令,以获取与数据操作指令对应的待处理数据的元数据;根据元数据确定操作数据位数。
存储信息表更新模块用于在执行根据目标数据位的闪存地址执行数据操作指令的步骤后,更新存储信息表。本实施例提供了一种数据读写控制装置,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请所提供的技术方案,通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据读写效率。
图4为本申请实施例提供的另一种数据读写控制装置的结构图,如图4所示,数据读写控制装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例数据读写控制装置方法的步骤。
本实施例提供的数据读写控制装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据读写控制方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于数据操作指令、操作数据位数、闪存地址等。
在一些实施例中,数据读写控制装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图4中示出的结构并不构成对数据读写控制装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的数据读写控制装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:
获取数据操作指令;
确定所述数据操作指令所对应的操作数据位数;
根据存储信息表获取与所述操作数据位数对应的目标数据位的闪存地址;
根据所述目标数据位的闪存地址执行所述数据操作指令。
本实施例提供了一种数据读写控制装置,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请所提供的技术方案,通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据读写效率。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。本实施例提供了一种数据读写控制装置,包括:获取数据操作指令,并确定数据操作指令所对应的操作数据位数,以便于根据不同的操作指令对数据进行处理。根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以使操作数据位数不同的操作指令均能够快速执行。最终根据目标数据位的闪存地址执行数据操作指令。由此可见,本申请所提供的技术方案,通过预先确定数据操作指令所对应的操作数据位数,并根据存储信息表获取与操作数据位数对应的目标数据位的闪存地址,以保证对于操作数据位数不同的操作指令,系统中均存在与之相对应的目标数据位,使系统可以同时控制多个不同的数据位的数据写入或数据擦除,从而提高数据处理效率
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的数据读写控制方法、装置、介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据读写控制方法,其特征在于,包括:
获取数据操作指令;
确定所述数据操作指令所对应的操作数据位数;
根据存储信息表获取与所述操作数据位数对应的目标数据位的闪存地址;
根据所述目标数据位的闪存地址执行所述数据操作指令。
2.根据权利要求1所述的数据读写控制方法,其特征在于,所述获取数据操作指令的步骤前,还包括:
扫描目标存储设备,以获取所述目标存储设备的内存块信息表;
获取各内存块的闪存地址,以确定存储信息表;其中,所述存储信息表中记录有各目标内存数据块的闪存地址,所述目标SLC数据块为序号为操作数据位数的整数倍的内存数据块。
3.根据权利要求1所述的数据读写控制方法,其特征在于,所述数据操作指令包括:读数据指令和写数据指令;
所述数据操作指令所对应的操作数据位数包括:单位、双位和四位。
4.根据权利要求3所述的数据读写控制方法,其特征在于,当所述数据操作指令为写数据时,所述根据所述目标数据位的闪存地址执行所述数据操作指令包括:
若所述操作数据位数为单位,则将与所述数据操作指令对应的数据写入所述目标数据位的闪存地址;
若所述操作数据位数为多位,则当数据量满足预设条件时,将与所述数据操作指令对应的数据写入所述目标数据位。
5.根据权利要求3所述的数据读写控制方法,其特征在于,当所述数据操作指令为擦除数据时,所述根据所述目标数据位的闪存地址执行所述数据操作指令包括:
若所述操作数据位数为单位,则擦除所述目标数据位的数据;
若所述操作数据位数为多位,判断当前操作数据位数与所述目标数据位的写入操作数据位数是否一致;
若一致,则同时擦除多位数据。
6.根据权利要求1所述的数据读写控制方法,其特征在于,所述确定所述数据操作指令所对应的操作数据位数包括:
解析所述数据操作指令,以获取与所述数据操作指令对应的待处理数据的元数据;
根据所述元数据确定所述操作数据位数。
7.根据权利要求1至6任一项所述的数据读写控制方法,其特征在于,所述根据所述目标数据位的闪存地址执行所述数据操作指令的步骤后,还包括:
更新所述存储信息表。
8.一种数据读写控制装置,其特征在于,包括:
第一获取模块,用于获取数据操作指令;
确定模块,用于确定所述数据操作指令所对应的操作数据位数;
第二获取模块,用于根据存储信息表获取与所述操作数据位数对应的目标数据位的闪存地址;
执行模块,用于根据所述目标数据位的闪存地址执行所述数据操作指令。
9.一种数据读写控制装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的数据读写控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据读写控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375794.9A CN116401180A (zh) | 2023-04-07 | 2023-04-07 | 一种数据读写控制方法、装置、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375794.9A CN116401180A (zh) | 2023-04-07 | 2023-04-07 | 一种数据读写控制方法、装置、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116401180A true CN116401180A (zh) | 2023-07-07 |
Family
ID=87017580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310375794.9A Pending CN116401180A (zh) | 2023-04-07 | 2023-04-07 | 一种数据读写控制方法、装置、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401180A (zh) |
-
2023
- 2023-04-07 CN CN202310375794.9A patent/CN116401180A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043536B2 (en) | Method of recording mapping information, and memory controller and memory storage apparatus using the same | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US20090265505A1 (en) | Data writing method, and flash storage system and controller using the same | |
US20100042775A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
CN111625188B (zh) | 一种存储器及其数据写入方法与存储系统 | |
JPWO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
US8812772B2 (en) | Data merging method for non-volatile memory and controller and storage apparatus using the same | |
US20190121726A1 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
US11922062B2 (en) | Controller and operating method thereof | |
US11403018B2 (en) | Method and apparatus for performing block management regarding non-volatile memory | |
US9733832B2 (en) | Buffer memory accessing method, memory controller and memory storage device | |
CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
KR102330394B1 (ko) | 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법 | |
CN112230849A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN116401180A (zh) | 一种数据读写控制方法、装置、介质 | |
KR100997819B1 (ko) | 정보 처리 장치 | |
CN112148203B (zh) | 存储器管理方法、装置、电子设备及存储介质 | |
KR100479170B1 (ko) | 메모리 억세스 제어장치 및 방법 | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 | |
CN111897489A (zh) | 数据写入方法、装置、设备及计算机可读存储介质 | |
TW202013183A (zh) | 高效能垃圾收集方法以及資料儲存裝置及其控制器 | |
CN111596859B (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 |