CN116931842B - 一种存储器、数据处理方法、电子设备及介质 - Google Patents
一种存储器、数据处理方法、电子设备及介质 Download PDFInfo
- Publication number
- CN116931842B CN116931842B CN202311167511.8A CN202311167511A CN116931842B CN 116931842 B CN116931842 B CN 116931842B CN 202311167511 A CN202311167511 A CN 202311167511A CN 116931842 B CN116931842 B CN 116931842B
- Authority
- CN
- China
- Prior art keywords
- data
- data buffer
- host
- sub
- writing
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 134
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 239000000872 buffer Substances 0.000 claims abstract description 218
- 230000005540 biological transmission Effects 0.000 claims description 44
- 238000004364 calculation method Methods 0.000 claims description 26
- 239000010410 layer Substances 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 15
- 239000002356 single layer Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
- 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)
- Read Only Memory (AREA)
Abstract
本发明提供了一种存储器、数据处理方法、电子设备及介质,包括:闪存块,其内设有数据缓冲区;以及主控器,用以对所述闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区;所述主控器还用以响应于主机的数据写入指令,获取主机数据,并向某一所述闪存块内某一子数据缓冲区写入所述主机数据,根据接收所述主机数据的接收时间与传输时间的比较结果,以完成所述某一子数据缓冲区的数据写入,同时,开始向下一子数据缓冲区写入所述主机数据,直至所述主机数据写入完成。通过本发明提供的一种存储器、数据处理方法、电子设备及介质,能够提升存储器的数据写入效率。
Description
技术领域
本发明涉及存储器领域,特别涉及一种存储器、数据处理方法、电子设备及介质。
背景技术
通用闪存存储器(Univeral Flash Storage,UFS)的存储介质为闪存块(NANDflash)。目前主流闪存块的类型为多层存储。由于单层存储(Single-Level Cell,SLC)模式的数据稳定,读写能力强。因此TLC类型的闪存块在实际使用过程中,会有单层存储(Single-Level Cell,SLC)模式与多层存储模式。
在主机数据写入的过程中,对于单层存储模式的闪存块而言,数据写入效率不理想。因此,存在待改进之处。
发明内容
本发明的目的在于提供一种存储器、数据处理方法、电子设备及介质,以提升存储器的数据写入效率。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种存储器,包括:
闪存块,其内设有数据缓冲区;以及
主控器,用以对所述闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区;
所述主控器还用以响应于主机的数据写入指令,获取主机数据,并向某一所述闪存块内某一子数据缓冲区写入所述主机数据,根据接收所述主机数据的接收时间与传输时间的比较结果,以完成所述某一子数据缓冲区的数据写入,同时,开始向下一子数据缓冲区写入所述主机数据,直至所述主机数据写入完成。
在本发明一实施例中,所述主控器用以获取处于多层存储模式的所述闪存块,表示为初始闪存块,获取处于单层存储模式的所述闪存块,表示为中间闪存块,并根据多层存储的层数对所述初始闪存块与所述中间闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区。
在本发明一实施例中,所述主控器用以响应于主机的数据写入指令,向某一所述中间闪存块内的某一子数据缓冲区传输主机数据,以将主机数据写入到所述某一子数据缓冲区中。
在本发明一实施例中,所述主控器用以根据当所述某一子数据缓冲区接收所述主机数据的接收时间达到传输时间后,完成所述某一子数据缓冲区的主机数据写入,同时,开始向所述下一子数据缓冲区写入所述主机数据,直至所述主机数据写入完成。
本发明还提供了一种存储器的数据处理方法,包括:
对闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区;
响应于主机的数据写入指令,获取主机数据,并向某一所述闪存块内某一子数据缓冲区写入所述主机数据;
根据接收所述主机数据的接收时间与传输时间的比较结果,以完成所述某一子数据缓冲区的数据写入,同时,开始向下一子数据缓冲区写入所述主机数据,直至所述主机数据写入完成。
在本发明一实施例中,所述对闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区的步骤包括:
获取处于多层存储模式的闪存块,表示为初始闪存块,获取处于单层存储模式的所述闪存块,表示为中间闪存块;
根据多层存储的层数对所述初始闪存块与所述中间闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区。
在本发明一实施例中,所述响应于主机的数据写入指令,获取主机数据,并向某一所述闪存块内某一子数据缓冲区写入所述主机数据的步骤包括:
响应于主机的数据写入指令,获取主机数据,并向某一中间闪存块内的某一子数据缓冲区传输主机数据;
对所述某一子数据缓冲区中接收的所述主机数据进行计算处理,以将所述主机数据写入到所述某一子数据缓冲区中。
在本发明一实施例中,所述根据接收所述主机数据的接收时间与传输时间的比较结果,以完成所述某一子数据缓冲区的数据写入,同时,开始向下一子数据缓冲区写入所述主机数据,直至所述主机数据写入完成的步骤包括:
判断所述某一子数据缓冲区接收所述主机数据的接收时间是否达到传输时间;
若所述接收时间未达到所述传输时间,则继续接收所述主机数据,直至所述接收时间达到所述传输时间为止;
若所述接收时间达到所述传输时间,则完成所述某一子数据缓冲区的主机数据写入,同时,开始向下一子数据缓冲区写入所述主机数据,直至所述主机数据写入完成。
本发明还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述的存储器的数据处理方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行上述的存储器的数据处理方法。
如上所述,本发明提供一种存储器、数据处理方法、电子设备及介质,能够控制闪存块内不同数据缓存区同步工作,进而能够有效提升存储器的数据写入性能与效率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中存储器的示意图;
图2为本发明一实施例中现有的存储器的数据写入的示意图;
图3为本发明一实施例中本申请的存储器的数据写入的示意图;
图4为本发明一实施例中存储器的数据处理方法的流程图;
图5为图4中步骤S10的流程图;
图6为图4中步骤S20的流程图;
图7为图4中步骤S30的流程图。
图中:100、存储器;110、主控器;120、闪存块;121、第一子数据缓冲区;122、第二子数据缓冲区;123、第三子数据缓冲区;130、固件闪存块;200、主机。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明提供了一种存储器,存储器100可以为通用闪存存储器(Univeral Flash Storage,UFS)。存储器100可以通过安装于电路板上,以作为智能手机、平板电脑、移动互联网设备等电子设备的存储介质。存储器100可以包括主控器110、闪存块120以及固件闪存块130。闪存块120与固件闪存块130可以电连接于主控器110,主控器110可以与主机200电性连接。主控器110可将来自主机200的主机数据写入到不同的闪存块120中。固件闪存块130中可以存储固件,也可通过固件定期控制闪存块120工作。固件(firmware)一般存储于设备中的电可擦除只读存储器(Electrically ErasableProgrammable ROM,EEPROM)或FLASH芯片中。
请参阅图1,在本发明的一个实施例中,闪存块120的类型可包括单层存储(Single-Level Cell,SLC)、双层存储(Multi-Level Cell,MLC)、三层存储(Trinary-LevelCell,TLC)以及四层存储(Quad-Level Cell,QLC)。对于存储器100而言,其内部的闪存块120的类型可以为SLC、MLC、TLC以及QLC中的一种。闪存块120的内部可设有数据缓冲区(data buffer)。对于不同类型的闪存块120,其内部数据缓冲区的大小是不同的。例如,当闪存块120的类型为SLC时,其内部数据缓冲区的大小为16K。当闪存块120的类型为MLC时,其内部数据缓冲区的大小为32K。当闪存块120的类型为TLC时,其内部数据缓冲区的大小为48K。当闪存块120的类型为QLC时,其内部数据缓冲区的大小为64K。
请参阅图1,在本发明的一个实施例中,以存储器100内部的闪存块120的类型为TLC为例进行说明。由于类型为SLC的闪存块120在工作时数据稳定,读写能力强,因此可将部分类型为TLC的闪存块120的工作模式更改为SLC模式,其余部分类型为TLC的闪存块120的工作模式依旧为TLC模式。其中,闪存块120内写入的主机数据(program)的大小为48K。TLC模式的闪存块120与SLC模式的闪存块120的数据缓冲区的结构相同。
在本发明的一个实施例中,主控器110可用以对闪存块120内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区。具体的,当闪存块120的类型为MLC、TLC以及QLC中的一种时,可按照闪存块120的工作模式将其划分为初始闪存块与中间闪存块。其中,初始闪存块可以表示为闪存块120的工作模式未发生更改,即处于多层存储模式。中间闪存块可以表示为闪存块120的工作模式更改为SLC模式,即处于单层存储模式。主控器110可以根据多层存储的层数对初始闪存块与中间闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区。
例如,当闪存块120的类型为MLC时,由于MLC为双层存储,其层数为两层。可以通过对初始闪存块内的数据缓冲区进行分割处理,生成相应的第一子数据缓冲区121与第二子数据缓冲区122。可以通过对中间闪存块内的数据缓冲区进行分割处理,生成相应的第一子数据缓冲区121与第二子数据缓冲区122。对于第一子数据缓冲区121与第二子数据缓冲区122而言,其结构相同,缓存数据的大小也相同。
又例如,当闪存块120的类型为TLC时,由于TLC为三层存储,其层数为三层。可以通过对初始闪存块内的数据缓冲区进行分割处理,生成相应的第一子数据缓冲区121、第二子数据缓冲区122以及第三子数据缓冲区123。可以通过对中间闪存块内的数据缓冲区进行分割处理,生成相应的第一子数据缓冲区121、第二子数据缓冲区122以及第三子数据缓冲区123。对于第一子数据缓冲区121、第二子数据缓冲区122以及第三子数据缓冲区123而言,其结构相同,缓存数据的大小也相同。
再例如,当闪存块120的类型为QLC时,由于QLC为四层存储,其层数为四层。可以通过对初始闪存块内的数据缓冲区进行分割处理,生成相应的第一子数据缓冲区121、第二子数据缓冲区122、第三子数据缓冲区123以及第四子数据缓冲区。可以通过对中间闪存块内的数据缓冲区进行分割处理,生成相应的第一子数据缓冲区121、第二子数据缓冲区122、第三子数据缓冲区123以及第四子数据缓冲区。对于第一子数据缓冲区121、第二子数据缓冲区122、第三子数据缓冲区123以及第四子数据缓冲区而言,其结构相同,缓存数据的大小也相同。
在本发明的一个实施例中,以闪存块120的类型为TLC为例进行说明。主控器110可以用以响应于主机200的数据写入指令,获取相应的主机数据,并向某一闪存块120内的某一子数据缓冲区写入主机数据。具体的,主控器110可以用以响应于主机的数据写入指令,向某一中间闪存块内的某一子数据缓冲区传输主机数据,以将主机数据写入到某一子数据缓冲区中。例如,主控器110可以向某一中间闪存块内的第一子数据缓冲区121传输主机数据。在主机数据的写入过程中,可以先将主机数据传输到存储器100,此时消耗的时间可以表示为传输时间a,该阶段可以表示为传输阶段。在传输完成后,可通过固件对主机数据进行计算,固件算法运行时间可以表示为计算时间b,该阶段可以表示为计算阶段。在计算完成后,可将主机数据写入到闪存块120中,数据写入所消耗的时间可以表示为写入时间c,该阶段可以表示为写入阶段。主机数据在依次经历过传输阶段、计算阶段以及写入阶段后,可以写入到闪存块120中。
在本发明的一个实施例中,主控器110可用以根据接收主机数据的接收时间与传输时间的比较结果,以完成某一子数据缓冲区的数据写入。同时,开始向下一子数据缓冲区写入主机数据,直至主机数据写入完成。具体的,主控器110可用以判断某一子数据缓冲区接收主机数据的接收时间是否达到传输时间。若接收时间未达到传输时间,则继续接收主机数据,直至接收时间达到传输时间为止。若接收时间达到传输时间,则完成某一子数据缓冲区的主机数据写入,同时,开始向下一子数据缓冲区写入主机数据,直至主机数据写入完成。
在本发明的一个实施例中,例如,对于处于SLC模式的闪存块120而言,即中间闪存块,其数据缓冲区可被区分为第一子数据缓冲区121、第二子数据缓冲区122以及第三子数据缓冲区123。在向该中间闪存块写入主机数据时,主控器110可以先将部分主机数据写入到第一子数据缓冲区121中。在第一子数据缓冲区121接收主机数据时,会消耗一定的时间,消耗的时间可以表示为接收时间。此时主控器110可以判断第一子数据缓冲区121的接收时间是否达到传输时间。当接收时间未达到传输时间时,表示第一子数据缓冲区121未被完全利用,即未充分接收到主机数据。此时需要等待,继续接收主机数据,直至接收时间达到传输时间为止。当接收时间达到传输时间时,即第一子数据缓冲区121被完全利用,此时固件可以对第一子数据缓冲区121内的主机数据进行计算,以便后续将该部分主机数据写入到第一子数据缓冲区121中。
在本发明的一个实施例中,进一步的,在第一子数据缓冲区121的接收时间达到传输时间时,主控器110可以开始将另一部分主机数据写入到第二子数据缓冲区122中。同时,主控器110可以判断第二子数据缓冲区122的接收时间是否达到传输时间。若第二子数据缓冲区122的接收时间达到传输时间,则在向该另一部分主机数据写入到第二子数据缓冲区122中的同时,主控器110可以开始将再一部分主机数据写入到第三子数据缓冲区123中。即,在某一子数据缓冲区完成主机数据的接收后,下一子数据缓冲区可以开始对主机数据进行接收。同时,当某一子数据缓冲区处于传输阶段时,下一子数据缓冲区不可进入传输阶段。当某一子数据缓冲区离开传输阶段后,即进入计算阶段或写入阶段时,下一子数据缓冲区可以进入传输阶段。
在本发明的一个实施例中,当然,也可能会存在传输阶段的传输时间a较短,计算阶段的计算时间b较长的情况。例如,传输时间a可以为1个单位时间,计算时间b可以为3个单位时间。当某一子数据缓冲区进入计算阶段时,下一子数据缓冲区可以进入传输阶段。当经过1个单位时间后,此时某一子数据缓冲区仍旧处于计算阶段,而下一子数据缓冲区已完成传输阶段。对于存储器100而言,需要控制下一子数据缓冲区暂停工作,直至某一子数据缓冲区进入写入阶段为止后,下一子数据缓冲区可以开始工作,并进入计算阶段。即,对于不同的子数据缓冲区而言,不可同时进入传输阶段,也不可同时进入计算阶段,还不可同时进入写入阶段。对于传输阶段、计算阶段以及写入阶段而言,其上可由不同的数据缓冲区进行工作。
请参阅图2及图3,在本发明的一个实施例中,以子数据缓冲区的数量为三个为例进行说明。三个子数据缓冲区可以被区分为第一子数据缓冲区121、第二子数据缓冲区122以及第三子数据缓冲区123。传输阶段的传输时间a可以为2个单位时间。计算阶段的计算时间b可以为1个单位时间。写入阶段的写入时间c可以为1个单位时间。对于现有的存储器而言,其工作流程为先完成第一子数据缓冲区121的写入后,才能进行第二子数据缓冲区122的写入。第一子数据缓冲区121的写入需要耗费5个单位时间,第二子数据缓冲区122与第三子数据缓冲区123的写入也需要耗费5个单位时间。因此,对于现有的存储器而言,将主机数据写入到三个子数据缓冲区中需要耗费15个单位时间。对于本申请的存储器100而言,当第一子数据缓冲区121进入计算阶段后,第二子数据缓冲区122进入传输阶段。当第二子数据缓冲区122进入计算阶段后,第三子数据缓冲区123进入传输阶段。因此,对于本申请的存储器100而言,将主机数据写入到三个子数据缓冲区中需要耗费9个单位时间(2+2+5)。本申请的存储器100的数据写入效率相较于现有的存储器而言,其写入效率更高,耗时更少。
请参阅图4,本发明还提供了一种存储器的数据处理方法,该数据处理方法可以应用于上述实施例中的存储器100中,通过对存储器100内部的闪存块120进行优化,以提升存储器100的性能。该数据处理方法可以包括如下步骤:
步骤S10、对闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区;
步骤S20、响应于主机的数据写入指令,获取主机数据,并向某一闪存块内的某一子数据缓冲区写入主机数据;
步骤S30、根据接收主机数据的接收时间与传输时间的比较结果,以完成某一子数据缓冲区的数据写入,同时,开始向下一子数据缓冲区写入主机数据,直至主机数据写入完成。
请参阅图5,在本发明的一个实施例中,当执行步骤S10时,具体的,步骤S10可包括如下步骤:
步骤S11、获取处于多层存储模式的闪存块,表示为初始闪存块,获取处于单层存储模式的闪存块,表示为中间闪存块;
步骤S12、根据多层存储的层数对初始闪存块与中间闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区。
在本发明的一个实施例中,当执行步骤S11及步骤S12时,具体的,主控器110可用以对闪存块120内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区。具体的,当闪存块120的类型为MLC、TLC以及QLC中的一种时,可按照闪存块120的工作模式将其划分为初始闪存块与中间闪存块。其中,初始闪存块可以表示为闪存块120的工作模式未发生更改,即处于多层存储模式。中间闪存块可以表示为闪存块120的工作模式更改为SLC模式,即处于单层存储模式。主控器110可以根据多层存储的层数对初始闪存块与中间闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区。
请参阅图6,在本发明的一个实施例中,当执行步骤S20时,具体的,步骤S20可包括如下步骤:
步骤S21、响应于主机的数据写入指令,获取主机数据,并向某一中间闪存块内的某一子数据缓冲区传输主机数据;
步骤S22、对某一子数据缓冲区中接收的主机数据进行计算处理,以将主机数据写入到某一子数据缓冲区中。
在本发明的一个实施例中,当执行步骤S21及步骤S22时,具体的,主控器110可以用以响应于主机的数据写入指令,向某一中间闪存块内的某一子数据缓冲区传输主机数据,以将主机数据写入到某一子数据缓冲区中。例如,主控器110可以向某一中间闪存块内的第一子数据缓冲区121传输主机数据。在主机数据的写入过程中,可以先将主机数据传输到存储器100,此时消耗的时间可以表示为传输时间a,该阶段可以表示为传输阶段。在传输完成后,可通过固件对主机数据进行计算,固件算法运行时间可以表示为计算时间b,该阶段可以表示为计算阶段。在计算完成后,可将主机数据写入到闪存块120中,数据写入所消耗的时间可以表示为写入时间c,该阶段可以表示为写入阶段。主机数据在依次经历过传输阶段、计算阶段以及写入阶段后,可以写入到闪存块120中。
请参阅图7,在本发明的一个实施例中,当执行步骤S30时,具体的,步骤S30可包括如下步骤:
步骤S31、判断某一子数据缓冲区接收主机数据的接收时间是否达到传输时间;
步骤S32、若接收时间未达到传输时间,则继续接收主机数据,直至接收时间达到传输时间为止;
步骤S33、若接收时间达到传输时间,则完成某一子数据缓冲区的主机数据写入,同时,开始向下一子数据缓冲区写入主机数据,直至主机数据写入完成。
在本发明的一个实施例中,当执行步骤S31及步骤S22时,具体的,对于处于SLC模式的闪存块120而言,即中间闪存块,其数据缓冲区可被区分为第一子数据缓冲区121、第二子数据缓冲区122以及第三子数据缓冲区123。在向该中间闪存块写入主机数据时,主控器110可以先将部分主机数据写入到第一子数据缓冲区121中。在第一子数据缓冲区121接收主机数据时,会消耗一定的时间,消耗的时间可以表示为接收时间。此时主控器110可以判断第一子数据缓冲区121的接收时间是否达到传输时间。当接收时间未达到传输时间时,表示第一子数据缓冲区121未被完全利用,即未充分接收到主机数据。此时需要等待,继续接收主机数据,直至接收时间达到传输时间为止。当接收时间达到传输时间时,即第一子数据缓冲区121被完全利用,此时固件可以对第一子数据缓冲区121内的主机数据进行计算,以便后续将该部分主机数据写入到第一子数据缓冲区121中。在将第一子数据缓冲区121的接收时间达到传输时间时,主控器110可以开始将另一部分主机数据写入到第二子数据缓冲区122中。同时,主控器110可以判断第二子数据缓冲区122的接收时间是否达到传输时间。若第二子数据缓冲区122的接收时间达到传输时间,则在向该另一部分主机数据写入到第二子数据缓冲区122中的同时,主控器110可以开始将再一部分主机数据写入到第三子数据缓冲区123中。
本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述存储器的数据处理方法。计算机可读存储介质可以是电子介质、磁介质、光介质、电磁介质、红外介质或半导体***或传播介质。计算机可读存储介质还可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘可以包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-RW)和DVD。
本发明还提供一种电子设备,包括处理器和存储装置,存储装置存储有程序指令,处理器运行程序指令实现上述的存储器的数据处理方法。处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、 网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称 ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件;存储装置可能包含随机存取存储器 (Random Access Memory,简称RAM),也可能还包括非易失性存储器(Non-Volatile Memory),例如至少一个磁盘存储器。存储装置也可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,处理器、存储装置可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application SpecificIntegrated Circuit,ASIC)。需要说明的是,存储装置中的计算机程序通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
可见,在上述方案中,能够控制闪存块内不同数据缓存区同步工作,进而能够有效提升存储器的数据写入性能与效率。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (8)
1.一种存储器,其特征在于,包括:
闪存块,其内设有数据缓冲区;以及
主控器,用以对所述闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区;
所述主控器还用以响应于主机的数据写入指令,获取主机数据,并向某一所述闪存块内的某一子数据缓冲区写入所述主机数据,根据接收所述主机数据的接收时间与传输时间的比较结果,完成所述某一子数据缓冲区的所述主机数据的写入阶段,同时,开始下一子数据缓冲区的所述主机数据的传输阶段,直至所述主机数据写入完成;
所述主控器用以获取处于多层存储模式的所述闪存块,表示为初始闪存块,获取处于单层存储模式的所述闪存块,表示为中间闪存块,并根据多层存储的层数对所述初始闪存块与所述中间闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区;
所述主机数据依次经过传输阶段、计算阶段以及写入阶段后,以写入到所述闪存块内;
多个所述子数据缓冲区被区分为第一子数据缓冲区、第二子数据缓冲区以及第三子数据缓冲区,当所述第一子数据缓冲区进入计算阶段后,所述第二子数据缓冲区进入传输阶段,当所述第二子数据缓冲区进入计算阶段后,所述第三子数据缓冲区进入传输阶段;
对不同的所述子数据缓冲区而言,不可同时进入传输阶段,也不可同时进入计算阶段,还不可同时进入写入阶段。
2.根据权利要求1所述的存储器,其特征在于,所述主控器用以响应于主机的数据写入指令,向某一所述中间闪存块内的某一子数据缓冲区传输主机数据,以将主机数据写入到所述某一子数据缓冲区中。
3.根据权利要求1所述的存储器,其特征在于,所述主控器用以根据当所述某一子数据缓冲区接收所述主机数据的接收时间达到传输时间后,完成所述某一子数据缓冲区的主机数据的写入阶段,同时,开始所述下一子数据缓冲区的所述主机数据的传输阶段,直至所述主机数据写入完成。
4.一种存储器的数据处理方法,其特征在于,包括:
获取处于多层存储模式的闪存块,表示为初始闪存块,获取处于单层存储模式的所述闪存块,表示为中间闪存块;
根据多层存储的层数对所述初始闪存块与所述中间闪存块内的数据缓冲区进行分割处理,以获取相应的多个子数据缓冲区;
响应于主机的数据写入指令,获取主机数据,并向某一所述闪存块内的某一子数据缓冲区写入所述主机数据;
根据接收所述主机数据的接收时间与传输时间的比较结果,完成所述某一子数据缓冲区的主机数据的写入阶段,同时,开始下一子数据缓冲区的所述主机数据的传输阶段,直至所述主机数据写入完成,其中,多个所述子数据缓冲区被区分为第一子数据缓冲区、第二子数据缓冲区以及第三子数据缓冲区,当所述第一子数据缓冲区进入计算阶段后,所述第二子数据缓冲区进入传输阶段,当所述第二子数据缓冲区进入计算阶段后,所述第三子数据缓冲区进入传输阶段,对不同的所述子数据缓冲区而言,不可同时进入传输阶段,也不可同时进入计算阶段,还不可同时进入写入阶段。
5.根据权利要求4所述的存储器的数据处理方法,其特征在于,所述响应于主机的数据写入指令,获取主机数据,并向某一所述闪存块内的某一子数据缓冲区写入所述主机数据的步骤包括:
响应于主机的数据写入指令,获取主机数据,并向某一中间闪存块内的某一子数据缓冲区传输主机数据;
对所述某一子数据缓冲区中接收的所述主机数据进行计算处理,以将所述主机数据写入到所述某一子数据缓冲区中。
6.根据权利要求4所述的存储器的数据处理方法,其特征在于,所述根据接收所述主机数据的接收时间与传输时间的比较结果,以完成所述某一子数据缓冲区的数据写入,同时,开始向下一子数据缓冲区写入所述主机数据,直至所述主机数据写入完成的步骤包括:
判断所述某一子数据缓冲区接收所述主机数据的接收时间是否达到传输时间;
若所述接收时间未达到所述传输时间,则继续接收所述主机数据,直至所述接收时间达到所述传输时间为止;
若所述接收时间达到所述传输时间,则完成所述某一子数据缓冲区的所述主机数据的写入阶段,同时,开始下一子数据缓冲区的所述主机数据的传输阶段,直至所述主机数据写入完成。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求4~6中任一项所述的存储器的数据处理方法。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如权利要求4~6中任一项所述的存储器的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311167511.8A CN116931842B (zh) | 2023-09-12 | 2023-09-12 | 一种存储器、数据处理方法、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311167511.8A CN116931842B (zh) | 2023-09-12 | 2023-09-12 | 一种存储器、数据处理方法、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116931842A CN116931842A (zh) | 2023-10-24 |
CN116931842B true CN116931842B (zh) | 2023-12-08 |
Family
ID=88382805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311167511.8A Active CN116931842B (zh) | 2023-09-12 | 2023-09-12 | 一种存储器、数据处理方法、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931842B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH098989A (ja) * | 1995-06-19 | 1997-01-10 | Brother Ind Ltd | パラレルデータ転送システム及び電子機器 |
JPH10143486A (ja) * | 1996-11-15 | 1998-05-29 | Hitachi Ltd | 並列計算機におけるデータ送受信方法 |
JP2000134268A (ja) * | 1998-10-23 | 2000-05-12 | Fujitsu Ltd | 送受信バッファを備える集積回路装置 |
CN1291307A (zh) * | 1998-06-19 | 2001-04-11 | 皇家菲利浦电子有限公司 | 用在数据存储设备中的最小帧缓冲器管理器 |
CN103197895A (zh) * | 2012-01-05 | 2013-07-10 | 国际商业机器公司 | 用于带并行写入的可调缓冲器大小设置方法和磁带驱动器 |
CN104461966A (zh) * | 2014-12-19 | 2015-03-25 | 深圳市国微电子有限公司 | 一种基于Nand Flash芯片的数据缓存传输方法及其控制器 |
CN109840215A (zh) * | 2017-11-27 | 2019-06-04 | 西部数据技术公司 | 未对齐写入的处理 |
CN111683396A (zh) * | 2020-05-28 | 2020-09-18 | 为麦智能科技(天津)有限公司 | 信息处理方法、***及电子设备 |
CN112767976A (zh) * | 2021-01-09 | 2021-05-07 | 深圳市德明利技术股份有限公司 | 平稳闪存写速度的方法、装置、存储介质和计算机设备 |
CN113254375A (zh) * | 2020-12-30 | 2021-08-13 | 深圳怡化电脑股份有限公司 | 一种数据传输方法、装置、电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6691205B2 (en) * | 2001-03-05 | 2004-02-10 | M-Systems Flash Disk Pioneers Ltd. | Method for using RAM buffers with simultaneous accesses in flash based storage systems |
US9123422B2 (en) * | 2012-07-02 | 2015-09-01 | Super Talent Technology, Corp. | Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells |
US9098491B2 (en) * | 2012-11-23 | 2015-08-04 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system for performing data transfer with a flash storage medium |
-
2023
- 2023-09-12 CN CN202311167511.8A patent/CN116931842B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH098989A (ja) * | 1995-06-19 | 1997-01-10 | Brother Ind Ltd | パラレルデータ転送システム及び電子機器 |
JPH10143486A (ja) * | 1996-11-15 | 1998-05-29 | Hitachi Ltd | 並列計算機におけるデータ送受信方法 |
CN1291307A (zh) * | 1998-06-19 | 2001-04-11 | 皇家菲利浦电子有限公司 | 用在数据存储设备中的最小帧缓冲器管理器 |
JP2000134268A (ja) * | 1998-10-23 | 2000-05-12 | Fujitsu Ltd | 送受信バッファを備える集積回路装置 |
CN103197895A (zh) * | 2012-01-05 | 2013-07-10 | 国际商业机器公司 | 用于带并行写入的可调缓冲器大小设置方法和磁带驱动器 |
CN104461966A (zh) * | 2014-12-19 | 2015-03-25 | 深圳市国微电子有限公司 | 一种基于Nand Flash芯片的数据缓存传输方法及其控制器 |
CN109840215A (zh) * | 2017-11-27 | 2019-06-04 | 西部数据技术公司 | 未对齐写入的处理 |
CN111683396A (zh) * | 2020-05-28 | 2020-09-18 | 为麦智能科技(天津)有限公司 | 信息处理方法、***及电子设备 |
CN113254375A (zh) * | 2020-12-30 | 2021-08-13 | 深圳怡化电脑股份有限公司 | 一种数据传输方法、装置、电子设备和存储介质 |
CN112767976A (zh) * | 2021-01-09 | 2021-05-07 | 深圳市德明利技术股份有限公司 | 平稳闪存写速度的方法、装置、存储介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116931842A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408087B (zh) | 用于在存储器存取操作期间同时存取存储器的多个存储器平面的设备及方法 | |
US9230670B2 (en) | Semiconductor device, memory system and operating method thereof | |
US20110185225A1 (en) | Memory system with nonvolatile semiconductor memory | |
TWI744632B (zh) | 半導體設備及在一記憶體裝置上執行操作之方法 | |
TWI428918B (zh) | 記憶裝置以及記憶裝置之資料存取方法 | |
US11093388B2 (en) | Method, apparatus, device and storage medium for accessing static random access memory | |
US20170168930A1 (en) | Method for operating storage controller and method for operating storage device including the same | |
US20070067603A1 (en) | Nonvolatile memory device and the method of generation of the address translation table | |
KR102253592B1 (ko) | 초기 문턱 전압 분포 변화를 보상할 수 있는 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템 | |
CN110162491B (zh) | 存储器控制器及其操作方法、应用处理器和数据处理*** | |
US20110258367A1 (en) | Memory system, control method thereof, and information processing apparatus | |
CN110321068A (zh) | 存储器控制器及操作存储器控制器的方法 | |
CN111816240A (zh) | 闪存Nand Flash的动态测试方法、装置、电子设备及存储介质 | |
CN102053913B (zh) | 记忆装置以及记忆装置的数据存取方法 | |
TW202011203A (zh) | 指令處理方法及使用所述方法的儲存控制器 | |
CN110162484B (zh) | 存储器控制器及具有该存储器控制器的存储器*** | |
CN116931842B (zh) | 一种存储器、数据处理方法、电子设备及介质 | |
US20150177816A1 (en) | Semiconductor integrated circuit apparatus | |
KR20170053487A (ko) | 메모리 장치 및 이의 동작 방법 | |
US11669720B2 (en) | Storage device and method of operating the same | |
US8209475B2 (en) | Write timeout control methods for flash memory and memory devices using the same | |
KR20160118602A (ko) | 데이터 저장 장치와 이를 포함하는 장치들 | |
US11221801B2 (en) | Data writing method and storage controller | |
KR20190102588A (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
JP7177948B2 (ja) | 情報処理装置、及び情報処理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |