CN111078122B - 数据处理方法、装置和设备 - Google Patents
数据处理方法、装置和设备 Download PDFInfo
- Publication number
- CN111078122B CN111078122B CN201811217609.9A CN201811217609A CN111078122B CN 111078122 B CN111078122 B CN 111078122B CN 201811217609 A CN201811217609 A CN 201811217609A CN 111078122 B CN111078122 B CN 111078122B
- Authority
- CN
- China
- Prior art keywords
- data
- invalid
- storage
- memory
- block
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 316
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据处理方法、装置和设备,该方法包括:根据被写入数据的第一存储块的数据写入信息以及内部存储数据均为无效数据的多个无效存储块的性能状态,从多个无效存储块中确定第二存储块。数据写入信息可以间接表征对第二存储块的需求量。擦除确定出的第二存储块中的无效数据,以得到空白存储块,将数据写入此空白存储块中。上述对第二存储块的擦除实际是一种后擦除过程。结合两方面信息选择第二存储块,再对第二存储块进行擦除,这样能保证选出的第二存储块性能较好同时又满足数据写入需求,不会出现存储块长期处于空白状态的情况,从而提高各存储块内的数据稳定性,也间接提高数据在整个存储器内的稳定性。
Description
技术领域
本发明涉及存储器技术领域,尤其涉及一种数据处理方法、装置和设备。
背景技术
非易失性的可读写存储器是一种常见的存储器,其基本操作可以包括写入、读取以及擦除等等。这类存储器中存储的数据不能被直接覆盖,而是需要先将存无效数据擦除,再进行新数据的写入。并且这类存储器中通常包含多个存储块,对无效数据的擦除通常是以存储块为单位进行的。
在现有技术中,一种常用的擦除方式是前擦除,即若存储器中一存储块内的数据全部无效时,则会立即对此存储块进行擦除,以得到空白存储块,数据可以重新被写入此空白存储块内。但在使用前擦除对数据进行擦除并重新写入数据后,被重新写入的数据在后续的读取过程中很容易出现读取错误,使得存储器内数据的稳定性大大降低。
发明内容
有鉴于此,本发明实施例提供一种数据处理方法、装置和设备,用以提高存储器内数据的稳定性。
第一方面,本发明实施例提供一种数据处理方法,包括:
根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块;
将所述第二存储块内存储的无效数据擦除,以得到空白存储块;
将数据写入所述空白存储块。
第二方面,本发明实施例提供一种数据处理装置,包括:
确定模块,用于根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块;
擦除模块,用于将所述第二存储块内存储的无效数据擦除,以得到空白存储块;
写入模块,用于将数据写入所述空白存储块。
第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的数据处理方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
本发明实施例提供了一种计算机存储介质,用于储存存储计算机程序,所述计算机程序使计算机执行时实现上述第一方面中的数据处理方法。
本发明实施例提供的数据处理方法,根据被写入数据的第一存储块的数据写入信息以及内部存储数据均为无效数据的多个无效存储块的性能状态,从多个无效存储块中确定第二存储块。其中,第一存储块的数据写入信息可以用于间接表征对第二存储块的需求。无效存储块的性能状态可以表征存储块的性能即写入此存储块内存储的数据的稳定性。然后,擦除确定出的第二存储块中的无效数据,以得到空白存储块。最终,将数据写入空白存储块中。
可见,上述方法是处理器根据性能状态在多个无效存储块中确定出一个第二存储块,然后再对其进行擦除的,而并不是只要出现无效存储块就对其进行擦除(即前擦除)。因此,上述对第二存储块的擦除实际上是一种后擦除处理。同时,结合两方面信息来选择第二存储块,并对第二存储块进行擦除,一方面能够保证选出的第二存储块可以满足写入需求,使数据可以连续地写入到第二存储块中,不会出现由于存储块不满足写入需求而导致的“写暂停”情况,也不会出现存储块长期处于空白状态的情况。由于存储块长期处于空白状态是影响后续写入此存储块的数据稳定性的重要影响因素,因此,将数据写入空白状态持续时间较短的第二存储块内,可以提高存储块内的数据稳定性也即是体现出后擦除的优势。另一方面,选出的第二存储块还具有较好的性能,这又能够进一步提高存储块内的数据的稳定性。利用上述方式能够提高存储器中存储于各个存储块内的数据的稳定性也即是间接提高数据在整个存储器内的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理方法的流程图;
图2为本发明实施例提供的另一种数据处理方法的流程图;
图3a为无效存储块擦除过程的示意图;
图3b为空白存储块监测过程的示意图;
图4为本发明实施例提供的数据处理装置的结构示意图;
图5为与图4所示实施例提供的数据处理装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
承接背景技术,本发明提供的下述各实施例均是对非易失性可读写存储器进行的数据写入。实际应用中,此种非易失性可读写存储器下文均简称为存储器。在实际应用中,存储器可以是闪存或者带电可擦写可编程读写存储器(Electrically ErasableProgrammable read only memory,简称EEPROM)等等。以闪存为例,下述各实施例中提及的存储块可以理解成是闪存内部存储组织结构中的一个block。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
基于此,图1为本发明实施例提供的一种数据处理方法的流程图,本发明实施例提供的该数据处理方法可以由处理器来执行。如图1所示,该方法包括如下步骤:
S101,根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从多个无效存储块中确定第二存储块。
S102、将第二存储块内存储的无效数据擦除,以得到空白存储块。
S103,将数据写入空白存储块。
对于需要被写入的数据,处理器可以控制此数据被写入存储器对应的存储块中。可选地,需要被写入的数据可以表现为数据流的形式。存储器中可以包含多个存储块,每个存储块的存储容量都是预先设置的。并且根据制作工艺的不同,各个存储块的存储容量可以相同或者不同。通常情况下,存储器中的每个存储块都具有相同的存储容量也即是每个存储块均可以存储预设数量的数据。每个存储块还可以具有多种状态,比如有效状态、无效状态、被写入状态以及空白状态等等,可以通过存储块中存储的各数据自身的状态标识来表示此存储块的状态。
当处理器控制数据写入第一存储块时,处理器可以获取此被写入数据的第一存储块的数据写入信息。同时,处理器还会根据各存储块内存储的数据各自的状态标识确定出存储器中的无效存储块。性能状态是无效存储块的属性。因此,在确定出无效存储块后,处理器便可以直接获取到各个无效存储块的性能状态。
可选地,第一存储块的数据写入信息可以包括数据写入此第一存储块的数据写入进度和/或被写入第一存储块的数据所属的数据流的数据总量。此数据写入信息可以间接表明对第二存储块的需求,比如在第一存储块写满后,是否需要第二存储块以及需要几个第二存储块等等。可选地,对于数据写入信息中的数据写入进度,其可以为以当前时刻为终点,此第一存储块处于被写入状态的持续时间,或者以当前时刻为起点,此第一存储块被写满数据所需的剩余时间等等。由于存储器内各存储块的存储容量是已知的,因此,处理器可以根据预设的数据写入速度计算出任一存储块从空白到被写满所需的写入总时间,并且持续时间与剩余时间之和即为写入总时间。
可选地,任一无效存储块的性能状态可以包括:成为无效存储块的时间、无效存储块的剩余擦除次数以及此无效存储块进行相邻擦除处理的时间间隔中的一种或几种。顾名思义,此性能状态表明的是无效存储块的性能。性能越好,则写入此无效存储块内的数据的稳定性越好,即数据写入此无效存储块后,在后续数据读取过程中出现读取错误的概率越低。
可选地,处理器可以通过统计一存储块内具有相同状态标识的数据的个数来确定此存储块的状态,其中,状态标识可以为有效或者无效。具体来说,一存储块,若处理器统计出状态标识为无效的数据的数量与此存储块的存储容量相等,也即是此存储块中存储的全部数据的状态标识为无效,则确定此存储块为无效存储块即处于无效状态。若处理器统计出状态标识为有效的数据的数量不为0,则确定此存储块为有效存储块即处于无效状态。若处理器确定存储块中数据数量为0,则确定此存储块为空白存储块即处于空白状态。
在获取到第一存储块的数据写入信息以及多个无效存储块的性能状态后,处理器则可以进一步根据上述两方面信息从多个无效存储块内确定出第二存储块,并对其进行擦除,以得到空白存储块。最终,在第一存储块写满后,则可以将数据继续写入此空白存储块中,也即是实现了数据不间断地写入。可见,前述对第二存储块的擦除实际上是一种后擦除过程。对于第二存储块的擦除时机,可选地,在确定出第二存储块后,处理器可以立即对其进行擦除。
另外,由于数据写入信息可以间接表明对第二存储块的需求,因此,结合上述两方面信息来选择第二存储块,并对选中的第二存储块进行擦除,一方面可以保证选中的第二存储块能够满足写入需求。在第一存储块写满之后,可以使数据不间断地被写入到第二存储块中,不会出现存储块长期处于空白状态的情况。由于存储块长期处于空白状态是影响后续写入此存储块的数据稳定性的重要影响因素,因此,将数据写入空白状态持续时间较短的第二存储块内,可以提高存储块内的数据稳定性也即是体现出存储块后擦除的优势。另一方面,选中的第二存储块的性能又是较好的,性能越好,则表明存储于此存储块内的数据的稳定性越高。这样又进一步提高数据的稳定性,从而保证整个存储器内存储的数据的稳定性。
本发明实施例中,根据被写入数据的第一存储块的数据写入信息以及内部存储数据均为无效数据的多个无效存储块的性能状态,从多个无效存储块中确定第二存储块。其中,第一存储块的数据写入信息可以用于间接表征对第二存储块的需求。无效存储块的性能状态可以表征无效存储块的性能好坏即写入此存储块内存储的数据的稳定性。之后,擦除确定出的第二存储块中的无效数据,以得到空白存储块,前述对第二存储块的擦除实际上一种后擦除过程。最终,将数据写入此空白存储块中。可见,结合两方面信息选择第二存储块,再对第二存储块进行擦除,这样能保证选出的第二存储块性能较好同时又满足数据写入需求,不会出现存储块长期处于空白状态的情况,从而提高各存储块内的数据稳定性,也能够提高数据在整个存储器内的稳定性也即是体现出后擦除的优势。
确定第二存储块的过程中需要使用到两方面的信息,并且每个方面的信息中又都包括多个维度的数据。同时,对于使用到的每个方面的信息又可以使用一个或多个维度的数据来确定第二存储块。因此,可以使用多种数据组合方式来确定第二存储块。具体的数据组合方式可以包括以下几种:
从数据写入信息方面来说,一种可选地方式,数据写入信息可以包括数据写入进度。处理器可以获取第一存储块的数据写入进度以及多个无效存储块各自的性能状态。根据数据写入进度确定在满足数据连续写入条件时对第二存储块的需求,再从多个无效存储块中确定性能状态最佳的存储块为第二存储块。
可选地,数据连续写入条件可以为:第一存储块的剩余时间大于或等于擦除无效存储块内全部无效数据的擦除时间,或者第一存储块的持续时间大于或等于预设时间等等。其中,由于第二存储块的存储容量以及存储器的擦除速度都是已知的,因此,处理器可以直接计算出第二存储块中擦除全部无效数据所需的擦除时间。
另一种可选地方式,数据写入信息可以包括写入第一存储块内的数据所属的数据流的数据总量。处理器可以根据数据总量以及每个存储块的存储容量计算出将此数据流全部写完所需存的第二存储块的目标数量。再从多个无效存储块中选出性能状态最佳的目标数量的存储块作为第二存储块。
上述从数据写入信息方面提供的多种方式,是使用数据写入信息中单一维度的数据以及性能状态来确定第二存储块。并且上述多种方式中使用到的性能状态可以是性能状态中包括的单一维度的数据或多维度的数据。当然,在实际应用中,还可以同时使用数据写入信息包括的多维度数据以及无效存储块的性能状态中的至少一个维度的数据来确定第二存储块。
从性能状态方面来说,一种可选地方式,性能状态可以包括多个无效存储块各自的剩余擦除次数。处理器可以先根据数据写入信息确定第二存储块的需求,再从无效存储块中选择剩余使用次数最多的存储块作为第二存储块。
另一种可选地方式,性能状态可以包括每个无效存储块进行相邻擦除处理的时间间隔。在各无效存储块每次进行擦除处理时,处理器都会记录此执行擦除的时间。基于此,处理器同样可以先确定第二存储块的需求,再根据记录的时间从多个无效存储块中选择相邻两次擦除处理的时间间隔最短的存储块作为第二存储块。其中,时间间隔越短就表明写入此存储块内的数据的稳定性越高。
另一种可选地方式,性能状态可以包括存储块成为无效存储块的时间。处理器会记录各存储块成为无效存储块的时间也即是存储块由非无效状态变为无效状态的时间。处理器可以先确定第二存储块的需求,再从多个无效存储块中选取最早成为无效存储块的作为第二存储块。
对于上述从性能状态方面所提供的多种可选方式,其都可以保证存储器内各存储块的耗损程度保持相对平均,从而避免出现因存储块的耗损程度不同而使得写入不同存储块内的数据的稳定性不同,并最终导致整个存储器内数据的稳定性较差的情况。
上述从性能状态方面所提供的多种可选方式是使用无效存储块的性能状态中单一维度的数据以及数据写入信息来确定第二存储块。并且上述多种方式中使用到数据写入信息可以是数据写入信息中包括的单一维度或多维度的数据。当然,在实际应用中,还可以同时使用性能状态包括的多个维度的数据以及数据写入信息中的至少一个维度的数据来确定第二存储块。
存储块处于空白状态的时间越长,则后续写入其中的数据的稳定性越低。基于此,图2为本发明实施例提供的另一种数据处理方法的流程图,如图2所示,在步骤102之后,该数据写入方法还可以包括如下步骤:
S201,监测空白存储块处于空白状态的持续时间。
S202,判断持续时间是否超过预设时间,若持续时间超过预设时间,则执行S203,否则,执行S103。
S203,转换空白存储块为无效存储块。
在将第二存储块进行擦除,以使第二存储块变为空白存储块后,处理器还会对空白存储块处于空白状态的持续时间进行监测。若持续时间超过预设时间,表明此空白存储块处于空白状态的时间过长,此时有可能已出现“写暂停”情况,造成“写暂停”的原因可以是:不存在需要继续写入的数据或者是数据写入操作发生堵塞等等。此时,处理器会将此空白存储块转换为无效存储块。这样可以避免继续延长存储块处于空白状态的时间,使得后续写入此存储块内的数据的稳定性得以提高。一种可选地方式,处理器可以通过向空白存储块中写入无效数据的方式将空白存储块转换为无效存储块。
实际应用中,如图3a所示,可选地,可以在存储器中分别设置无效存储块池和空白存储块池。处理器可以定时或不定时的确定出存储器中的无效存储块,并将此无效存储块放置于无效存储块池中。在出现数据写入时,处理器才会对无效存储块池中的无效存储块进行擦除,擦除后的空白存储块会被放置于空白存储块池中。如图3b所示,对于空白存储块池中的空白存储块,处理器还会监测每个空白存储块处于空白状态的时间。时间超过预设时间,则将空白存储块转换为无效存储块,并将经过步骤202转换后的无效存储块重新放置于无效存储块池中。
S103,将数据写入空白存储块。
由于存储块处于空白状态的时间越长,则写入此种存储块内的数据的稳定性就越低。基于此,对于第二存储块的擦除时机,另一种可选地方式,处理器先获取擦除第二存储块中全部无效数据所需的擦除时间,再获取第一存储块完成数据写入所需的剩余时间。若剩余时间大于或等于擦除时间,则表明对第二存储块的擦除处理是可以在第一存储块写满之前完成的,这样可以保证在第一存储块被写满后,不间断地将数据写入第二存储块中。此时,处理器则会对第二存储块内的无效数据进行擦除,以得到空白存储块。
与上述实施例中提供的擦除时机相比,此种擦除时机可以进一步缩短存储块处于空白状态的时间,并且这种擦除实际上是后擦除。后擦除可以避免存款块长时间处于空白状态,从而进一步提高存储块内数据的稳定性。
本发明实施例中,处理器会监测空白存储块处于空白状态的持续时间,并将持续时间超出预设时间的空白存储块重新转换为无效存储块,这样可以避免空白存储块继续处于空白状态。对于这些重新转换为无效存储块的存储块,在后续存在数据写入需求时,这些转换后产生的无效存储块可以被重新写入数据。由于监测机制的存在,使得这些无效数据块处于空白状态的时间较短,因此,写入这些存储块的数据是较为稳定的。
综上所述,本发明各实施例提供的数据处理方法实际上是一种基于对无效存储块进行后擦除的数据处理方法。
上述各实施例中并没有对确定出的第二存储块的数量进行限定。确定出第二存储块的数量可以为多个,对于多个第二存储块的擦除时机,可选地,处理器可以一次性将此多个第二存储块进行擦除。但为了避免出现某一第二存储块长时间处于空白状态的情况,可选地,可以在前一第二存储块被写满的时候再对下一个第二存储块进行擦除,比如在上一个第二存储块的剩余时间等于擦除下一个第二存储块中无效数据所需的擦除时间时,开始对此下一个第二存储块进行擦除。也即是逐一地将多个第二存储块进行擦除,这样可以在保证数据连续写入的同时,尽可能减小每个存储块处于空白状态的时间。
另外,被写入数据可以表现为数据流的形式。当有一个数据流需要被写入存储块时,则此时会有一个被写入数据的第一存储块,上述各实施例都是以此为基础进行说明的。而在实际应用中,当同时存在多个数据流需要被写入存储块也即是存在多个第一存储块时,处理器还可以根据多个无效存储块各自的性能状态以及多个第一存储块各自的数据写入信息分别确定出多个第一存储块各自对应的第二存储块。并且,处理器还可以按照数据流自身优先级的高低,优先为优先级高的数据流对应的第一存储块确定出对应的第二存储块。若这需要同时写入的多个数据流对存储块的总需求大于存储器中无效存储块的总量,则处理器可以优先确定出优先级高的数据流所需的第二存储块。此时,处理器可以暂缓对低优先级的数据流的写入操作。
以下将详细描述本发明的一个或多个实施例的数据处理装置。本领域技术人员可以理解,这些数据写入装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图4为本发明实施例提供的数据处理装置的结构示意图,如图4所示,该装置包括:确定模块11、擦除模块12以及写入模块13。
确定模块11,用于根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块。
擦除模块12,用于将所述第二存储块内存储的无效数据擦除,以得到空白存储块。
写入模块13,用于将数据写入所述空白存储块。
可选地,所述确定模块11具体包括:第一获取单元111和第二存储块确定单元112。
所述第一获取单元111,用于获取所述数据写入信息中的数据写入进度以及所述性能状态。
所述第二存储块确定单元112,用于从所述多个无效存储块中确定所述数据写入进度满足数据连续写入条件且所述性能状态最佳的无效存储块为所述第二存储块。
可选地,所述确定模块11具体还包括:数量确定单元113。
所述第一获取单元111,用于获取所述数据写入信息中的写入所述第一存储块内的数据所属的数据流的数据总量以及所述性能状态。
所述数量确定单元113,用于根据每个存储块的存储容量以及所述数据总量确定所述第二存储块的目标数量。
所述第二存储块确定单元112,用于从所述多个无效存储块中确定所述性能状态最佳的所述目标数量的无效存储块为所述第二存储块。
可选地,所述第一获取单元111,用于获取所述数据写入信息以及所述性能状态中的所述多个无效存储块各自的剩余擦除次数。
所述第二存储块确定单元112,用于从所述多个无效存储块中确定所述数据写入信息满足数据写入要求且所述剩余使用次数最多的无效存储块为所述第二存储块。
可选地,所述第一获取单元111,用于获取所述数据写入信息以及所述性能状态中的每个无效存储块进行相邻擦除处理的时间间隔。
所述第二存储块确定单元112,用于从所述多个无效存储块中确定所述数据写入信息满足数据写入要求且所述时间间隔最短的无效存储块为所述第二存储块。
可选地,所述第一获取单元111,用于获取所述数据写入信息以及所述性能状态中的存储块成为无效存储块的时间。
所述第二存储块确定单元112,用于从所述多个无效存储块中确定所述数据写入信息满足数据写入要求且所述时间最早的无效存储块为所述第二存储块。
可选地,所述被写入数据的第一存储块的数量为多个;
所述第二存储块确定单元112,用于获取多个第一存储块各自的数据写入信息以及所述多个无效存储块的性能状态;以及根据所述多个第一存储块各自的数据写入信息以及所述性能状态,从所述多个无效存储块中分别确定所述第一存储块各自对应的第二存储块。
可选地,所述擦除模块12具体包括:第二获取单元121和擦除单元122。
所述第二获取单元121,用于获取擦除所述第二存储块中全部无效数据所需的擦除时间;以及获取所述第一存储块完成数据写入所需的剩余时间。
所述擦除单元122,用于若所述剩余时间大于或等于所述擦除时间,则擦除所述第二存储块内的无效数据,以得到空白存储块。
可选地,所述装置还包括:监测模块21和转换模块22。
所述监测模块21,用于监测所述空白存储块处于空白状态的持续时间。
所述转换模块22,用于若所述持续时间超过预设时间,则转换所述空白存储块为无效存储块。
可选地,所述转换模块22具体用于:将所述空白存储块中全部写入无效数据。
图4所示装置可以执行图1至图2所示实施例的方法,本实施例未详细描述的部分,可参考对图1至图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图2所示实施例中的描述,在此不再赘述。
以上描述了数据处理装置的内部功能和结构,在一个可能的设计中,数据处理装置的结构可实现为一电子设备,该电子设备可以是计算机系统,如图5所示,该电子设备可以包括:处理器31和存储器32。其中,所述存储器32用于存储支持该电子设备执行上述图1至图2所示实施例中提供的数据写入方法的程序,所述处理器31被配置为用于执行所述存储器32中存储的程序。
所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器31执行时能够实现如下步骤:
根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块;
将所述第二存储块内存储的无效数据擦除,以得到空白存储块;
将数据写入所述空白存储块。
可选地,所述处理器31还用于执行前述图1至图2所示实施例中的全部或部分步骤。
其中,所述电子设备的结构中还可以包括通信接口33,用于该电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存上述电子设备所用的计算机软件指令,其包含用于执行上述图1至图2所示方法实施例中数据处理方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种数据处理方法,其特征在于,包括:
在满足数据连续写入条件时,根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块,其中,所述数据写入信息包括数据写入进度,所述数据连续写入条件包括所述第一存储块的剩余时间大于或等于擦除无效存储块内全部无效数据的擦除时间;
将所述第二存储块内存储的无效数据擦除,以得到空白存储块;
若所述空白存储块处于空白状态的持续时间超过预设时间,则转换所述空白存储块为无效存储块,否则将数据写入所述空白存储块。
2.根据权利要求1所述的方法,其特征在于,所述根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块,包括:
获取所述性能状态;
从所述多个无效存储块中确定所述数据写入进度满足所述数据连续写入条件且所述性能状态最佳的无效存储块为所述第二存储块。
3.根据权利要求1所述的方法,其特征在于,所述根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块,包括:
获取所述数据写入信息以及所述性能状态中的所述多个无效存储块各自的剩余擦除次数;
从所述多个无效存储块中确定所述数据写入信息满足数据写入要求且所述剩余使用次数最多的无效存储块为所述第二存储块。
4.根据权利要求1所述的方法,其特征在于,所述根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块,包括:
获取所述数据写入信息以及所述性能状态中的每个无效存储块进行相邻擦除处理的时间间隔;
从所述多个无效存储块中确定所述数据写入信息满足数据写入要求且所述时间间隔最短的无效存储块为所述第二存储块。
5.根据权利要求1所述的方法,其特征在于,所述根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块,包括:
获取所述数据写入信息以及所述性能状态中的存储块成为无效存储块的时间;
从所述多个无效存储块中确定所述数据写入信息满足数据写入要求且所述时间最早的无效存储块为所述第二存储块。
6.根据权利要求1所述的方法,其特征在于,所述被写入数据的第一存储块的数量为多个;
所述根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块,包括:
获取多个第一存储块各自的数据写入信息以及所述多个无效存储块的性能状态;
根据所述多个第一存储块各自的数据写入信息以及所述性能状态,从所述多个无效存储块中分别确定所述第一存储块各自对应的第二存储块。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述将所述第二存储块内存储的无效数据擦除,以得到空白存储块,包括:
获取擦除所述第二存储块中全部无效数据所需的擦除时间;
获取所述第一存储块完成数据写入所需的剩余时间;
若所述剩余时间大于或等于所述擦除时间,则擦除所述第二存储块内的无效数据,以得到空白存储块。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
监测所述空白存储块处于空白状态的持续时间。
9.根据权利要求8所述的方法,其特征在于,所述转换所述空白存储块为无效存储块,包括:
将所述空白存储块中全部写入无效数据。
10.一种数据处理装置,其特征在于,包括:
确定模块,用于在满足数据连续写入条件时,根据被写入数据的第一存储块的数据写入信息,以及内部存储数据均为无效数据的多个无效存储块的性能状态,从所述多个无效存储块中确定第二存储块,其中,所述数据写入信息包括数据写入进度,所述数据连续写入条件包括所述第一存储块的剩余时间大于或等于擦除无效存储块内全部无效数据的擦除时间;
擦除模块,用于将所述第二存储块内存储的无效数据擦除,以得到空白存储块;
写入模块,用于若所述空白存储块处于空白状态的持续时间超过预设时间,则转换所述空白存储块为无效存储块,否则将数据写入所述空白存储块。
11.一种电子设备,其特征在于,包括:存储器、处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至9中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811217609.9A CN111078122B (zh) | 2018-10-18 | 2018-10-18 | 数据处理方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811217609.9A CN111078122B (zh) | 2018-10-18 | 2018-10-18 | 数据处理方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078122A CN111078122A (zh) | 2020-04-28 |
CN111078122B true CN111078122B (zh) | 2024-01-12 |
Family
ID=70308199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811217609.9A Active CN111078122B (zh) | 2018-10-18 | 2018-10-18 | 数据处理方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078122B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524230A (en) * | 1991-07-12 | 1996-06-04 | International Business Machines Incorporated | External information storage system with a semiconductor memory |
TWI228250B (en) * | 2002-07-18 | 2005-02-21 | Mediatek Inc | Method for defect management of optical disk |
CN101458658A (zh) * | 2007-12-13 | 2009-06-17 | 中芯国际集成电路制造(上海)有限公司 | 用于闪存的数据存储方法及装置 |
CN103246536A (zh) * | 2013-04-28 | 2013-08-14 | 常州南京大学高新技术研究院 | 物联定位系统的固件无线升级方法 |
CN105117168A (zh) * | 2015-08-17 | 2015-12-02 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
WO2017193967A1 (zh) * | 2016-05-12 | 2017-11-16 | 华为技术有限公司 | 固态存储器中的数据巡检方法及装置 |
CN107506138A (zh) * | 2017-08-11 | 2017-12-22 | 东莞记忆存储科技有限公司 | 一种固态硬盘提升寿命的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10055137B2 (en) * | 2016-06-29 | 2018-08-21 | Intel Corporation | Method, system, and apparatus for nested suspend and resume in a solid state drive |
-
2018
- 2018-10-18 CN CN201811217609.9A patent/CN111078122B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524230A (en) * | 1991-07-12 | 1996-06-04 | International Business Machines Incorporated | External information storage system with a semiconductor memory |
TWI228250B (en) * | 2002-07-18 | 2005-02-21 | Mediatek Inc | Method for defect management of optical disk |
CN101458658A (zh) * | 2007-12-13 | 2009-06-17 | 中芯国际集成电路制造(上海)有限公司 | 用于闪存的数据存储方法及装置 |
CN103246536A (zh) * | 2013-04-28 | 2013-08-14 | 常州南京大学高新技术研究院 | 物联定位系统的固件无线升级方法 |
CN105117168A (zh) * | 2015-08-17 | 2015-12-02 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
WO2017193967A1 (zh) * | 2016-05-12 | 2017-11-16 | 华为技术有限公司 | 固态存储器中的数据巡检方法及装置 |
CN107368257A (zh) * | 2016-05-12 | 2017-11-21 | 华为技术有限公司 | 固态存储器中的数据巡检方法及装置 |
CN107506138A (zh) * | 2017-08-11 | 2017-12-22 | 东莞记忆存储科技有限公司 | 一种固态硬盘提升寿命的方法 |
Non-Patent Citations (4)
Title |
---|
Che-Wei Tsao ; Yuan-Hao Chang ; Ming-Chang Yang ; Po-Chun Huang.Efficient Victim Block Selection for Flash Storage Devices.IEEE Transactions on Computers .2015,全文. * |
OneNAND Flash的操作性能与应用研究;陈晓风;;海峡科学(第12期);全文 * |
一种基于软件SCI的在线编程方法;杨朝阳;罗永革;;苏州大学学报(工科版)(第02期);全文 * |
应用NAND型闪存的高速大容量图像存储器;余辉龙;何昕;魏仲慧;王东鹤;;光学精密工程(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111078122A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2921963B1 (en) | Memory recycling method and device | |
CN108874309B (zh) | 一种管理固态硬盘中物理块的方法和装置 | |
CA2442188A1 (en) | Methods and mechanisms for proactive memory management | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
CN111737265A (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN109343796B (zh) | 一种数据处理方法和装置 | |
CN113946552A (zh) | 数据处理方法及电子装置 | |
CN114265670B (zh) | 一种内存块整理方法、介质及计算设备 | |
JP6167646B2 (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
CN102981944A (zh) | 一种基于文件系统的日志存储方法 | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
US8988951B2 (en) | Method and device for writing block data to an embedded DRAM free of address conflicts | |
CN108228679B (zh) | 时序数据计量方法和时序数据计量装置 | |
CN108958665B (zh) | 一种历史记录信息的存储方法及装置 | |
CN114005476A (zh) | 闪存器、闪存擦写计数方法、电子设备及计算机存储介质 | |
CN105094742B (zh) | 一种写数据的方法和设备 | |
CN111078122B (zh) | 数据处理方法、装置和设备 | |
RU2615072C2 (ru) | Способ и устройство обработки информации и носитель записи | |
CN108536759B (zh) | 一种样本回放数据存取方法及装置 | |
CN106202262B (zh) | 一种信息处理方法及电子设备 | |
CN110908587A (zh) | 一种用于存储时序数据的方法及其装置 | |
CN106469174B (zh) | 数据读取方法和装置 | |
CN114882922A (zh) | 一种存储单元刷新方法及装置、电子设备 | |
CN110007874B (zh) | 一种三维闪存的数据写入方法、装置及可读存储介质 | |
CN108958658B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |