+

CN115938442A - Multi-scene flash memory data migration method and device, electronic equipment and medium - Google Patents

Multi-scene flash memory data migration method and device, electronic equipment and medium Download PDF

Info

Publication number
CN115938442A
CN115938442A CN202211639626.8A CN202211639626A CN115938442A CN 115938442 A CN115938442 A CN 115938442A CN 202211639626 A CN202211639626 A CN 202211639626A CN 115938442 A CN115938442 A CN 115938442A
Authority
CN
China
Prior art keywords
offset
data
voltage
scenario
read voltage
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
Application number
CN202211639626.8A
Other languages
Chinese (zh)
Inventor
贺乐
赖鼐
龚晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Miaocun Technology Co ltd
Original Assignee
Zhuhai Miaocun Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Miaocun Technology Co ltd filed Critical Zhuhai Miaocun Technology Co ltd
Priority to CN202211639626.8A priority Critical patent/CN115938442A/en
Publication of CN115938442A publication Critical patent/CN115938442A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明公开一种多场景的闪存数据偏移方法、装置、电子设备及介质,其中,多场景的闪存数据偏移方法包括:在第一场景下,记录闪存的数据块的原始数据;在第二场景下,对数据块的数据页进行偏移设置,得到与数据页对应的偏移数据,其中,第二场景为对第一场景进行场景调节得到;将原始数据与偏移数据进行对比,得到比特翻转信息;对比特翻转信息进行筛选,得到数据页的最佳读电压偏移。在本发明实施例中,能够在任何场景下,准确获取数据页的最佳读电压偏移。

Figure 202211639626

The present invention discloses a multi-scenario flash memory data offset method, device, electronic equipment and medium, wherein the multi-scenario flash memory data offset method includes: in the first scene, recording the original data of the data block of the flash memory; In the second scenario, set the offset of the data page of the data block to obtain the offset data corresponding to the data page. The second scenario is obtained by adjusting the scene of the first scenario; compare the original data with the offset data, Obtaining bit inversion information; screening the bit inversion information to obtain an optimal read voltage offset of the data page. In the embodiment of the present invention, the optimal read voltage offset of the data page can be accurately obtained in any scenario.

Figure 202211639626

Description

多场景的闪存数据偏移方法、装置、电子设备及介质Multi-scenario flash memory data migration method, device, electronic equipment and medium

技术领域technical field

本申请涉数据处理技术领域,尤其是一种多场景的闪存数据偏移方法、装置、电子设备及介质。The present application relates to the technical field of data processing, in particular to a multi-scenario flash memory data offset method, device, electronic equipment and media.

背景技术Background technique

NAND Flash是现如今广泛使用的存储产片,具有速度快,非易失等优良特性。其内部实际上以存储电荷的形式来表示数据,然而,NAND Flash产品在使用过程中,由于负载的内外部条件的影响,会造成存储电荷内电子数量发生变化,进而导致以默认读电压无法得到正确的数据。其中,导致NAND Flash产品电荷发生变化的典型场景包括:高低温读写场景、数据保持场景、读干扰场景、掉电场景等等。为了在产品实际使用中覆盖这些场景,经常需要做大量的测试,来获取对应场景的读电压偏移。如今常用的测试方法,通常是依赖原厂提供的重读列表。通过做不同场景的实验,在原厂提供的重读列表中匹配相应的重读项。将匹配的重读项标记为该场景最佳重读项。然而,如果原厂重读表没有覆盖某个场景,便无法获取到该场景的最佳读电压偏移,并且从原厂匹配的读电压偏移只是相对最佳读偏移,不是全局最佳读偏移,因此无法获取准确的读电压偏移。NAND Flash is a storage product widely used today, with excellent characteristics such as fast speed and non-volatile. It actually expresses data in the form of stored charge. However, during the use of NAND Flash products, due to the influence of internal and external conditions of the load, the number of electrons in the stored charge will change, resulting in the failure to obtain the default read voltage. correct data. Among them, typical scenarios that lead to changes in the charge of NAND Flash products include: high and low temperature read and write scenarios, data retention scenarios, read interference scenarios, power-off scenarios, and so on. In order to cover these scenarios in the actual use of the product, it is often necessary to do a lot of tests to obtain the read voltage offset corresponding to the scenario. Today's commonly used testing methods usually rely on the reread list provided by the original manufacturer. By doing experiments in different scenarios, match the corresponding stress items in the stress list provided by the original factory. Mark the matching reread as the best reread for the scene. However, if the original factory re-read table does not cover a certain scene, the optimal read voltage offset of the scene cannot be obtained, and the read voltage offset matched from the original factory is only the relative optimal read offset, not the global optimal read offset. offset, so the exact read voltage offset cannot be obtained.

发明内容Contents of the invention

本申请实施例提供了一种多场景的闪存数据偏移方法、装置、电子设备及介质,能够在任何场景下,准确获取数据页的最佳读电压偏移。Embodiments of the present application provide a multi-scenario flash memory data offset method, device, electronic device, and medium, capable of accurately obtaining the optimal read voltage offset of a data page in any scenario.

第一方面,本发明实施例提供了一种多场景的闪存数据偏移方法,所述多场景的闪存数据偏移方法包括:In a first aspect, an embodiment of the present invention provides a multi-scenario flash memory data offset method, the multi-scenario flash memory data offset method comprising:

在第一场景下,记录所述闪存的数据块的原始数据;In the first scenario, record the original data of the data block of the flash memory;

在第二场景下,对所述数据块的数据页进行偏移设置,得到与所述数据页对应的偏移数据,其中,所述第二场景为对所述第一场景进行场景调节得到;In the second scene, offset setting is performed on the data page of the data block to obtain offset data corresponding to the data page, wherein the second scene is obtained by scene adjustment of the first scene;

将所述原始数据与所述偏移数据进行对比,得到比特翻转信息;comparing the original data with the offset data to obtain bit flip information;

对所述比特翻转信息进行筛选,得到所述数据页的最佳读电压偏移。The bit flipping information is screened to obtain the optimal read voltage offset of the data page.

本发明实施例提供的多场景的闪存数据偏移方法,至少具有如下有益效果:首先,在第一场景下,记录闪存的数据块的原始数据,之后在对第一场景进行场景调节得到第二场景,在第二场景下,对数据块的数据页进行偏移设置,得到与数据页对应的偏移数据,从而能够实时获取特定场景下的偏移数据,再将原始数据与偏移数据进行对比,得到比特翻转信息,实现通过原始数据对比得到数据页的偏移数据,便于后续确定当前场景下的最佳偏移电压,最后,对比特翻转信息进行筛选,得到数据页的最佳读电压偏移,从而准确得到当前场景下数据页的最佳读电压偏移,无需依赖原厂提供的重读表,直接通过原始数据与偏移数据对比即可。The multi-scenario flash memory data offset method provided by the embodiment of the present invention has at least the following beneficial effects: first, in the first scene, record the original data of the data block of the flash memory, and then perform scene adjustment on the first scene to obtain the second Scenario, in the second scenario, set the offset of the data page of the data block to obtain the offset data corresponding to the data page, so that the offset data in a specific scenario can be obtained in real time, and then the original data and the offset data are compared By comparison, the bit flip information is obtained, and the offset data of the data page is obtained by comparing the original data, which is convenient for subsequent determination of the best offset voltage in the current scene. Finally, the bit flip information is screened to obtain the best read voltage of the data page offset, so as to accurately obtain the optimal read voltage offset of the data page in the current scenario, without relying on the re-read table provided by the original factory, and directly compare the original data with the offset data.

在一些实施例中,所述对所述数据块的数据页进行偏移设置,得到偏移数据,包括:In some embodiments, the offset setting of the data page of the data block to obtain the offset data includes:

获取所述数据页的数据页类型;Obtain the data page type of the data page;

根据所述数据页类型确定所述数据页的读电压集合,其中,所述读电压集合包括至少一个读电压;determining a read voltage set of the data page according to the data page type, wherein the read voltage set includes at least one read voltage;

根据预设的偏移方向对所述读电压集合中的读电压进行电压偏移,得到所述偏移数据,实现对偏移数据的实时获取。The voltage offset is performed on the read voltages in the read voltage set according to a preset offset direction to obtain the offset data, so as to realize real-time acquisition of the offset data.

在一些实施例中,在所述将所述原始数据与所述偏移数据进行对比,得到比特翻转信息之前,还包括:In some embodiments, before comparing the original data with the offset data to obtain the bit flip information, it further includes:

确定所述读电压集合包括一个读电压。It is determined that the set of read voltages includes one read voltage.

在一些实施例中,所述将所述原始数据与所述偏移数据进行对比,得到比特翻转信息,包括:In some embodiments, the comparing the original data with the offset data to obtain bit flip information includes:

将所述原始数据与所述偏移数据进行对比,得到与所述偏移数据对应的比特翻转数;Comparing the original data with the offset data to obtain the number of bit flips corresponding to the offset data;

对所述比特翻转数进行统计,得到所述比特翻转信息,便于后续确定当前场景下的最佳读电压偏移。The number of bit inversions is counted to obtain the bit inversion information, which is convenient for subsequent determination of an optimal read voltage offset in the current scenario.

在一些实施例中,在所述对所述比特翻转信息进行筛选,得到所述数据页的最佳读电压偏移之前,还包括:In some embodiments, before the screening of the bit flip information to obtain the optimal read voltage offset of the data page, the method further includes:

对所述读电压的偏移次数进行记录,得到电压偏移次数;Recording the number of shifts of the read voltage to obtain the number of voltage shifts;

将所述电压偏移次数与预设的偏移条件进行对比,得到对比结果;Comparing the number of voltage offsets with a preset offset condition to obtain a comparison result;

确定所述对比结果为所述电压偏移次数满足所述偏移条件,从而准确得到数据页的读电压偏移。It is determined that the comparison result is that the number of voltage offsets satisfies the offset condition, so as to accurately obtain the read voltage offset of the data page.

在一些实施例中,所述对所述比特翻转信息进行筛选,得到所述数据页的最佳读电压偏移,包括:In some embodiments, the filtering the bit flip information to obtain the optimal read voltage offset of the data page includes:

对所述比特翻转信息中的比特翻转数进行对比,确定目标比特翻转数;Comparing the number of bit flips in the bit flip information to determine the target number of bit flips;

确定与所述目标比特翻转数对应的偏移数据,将所述偏移数据记录为所述数据页的最佳读电压偏移,从而能够快速、准确的获取到每个数据页的最佳读电压偏移。Determine the offset data corresponding to the target bit flip number, and record the offset data as the optimal read voltage offset of the data page, so that the optimal read voltage offset of each data page can be obtained quickly and accurately. voltage offset.

在一些实施例中,还包括:In some embodiments, also include:

在所述读电压集合包括至少两个读电压的情况下,从所述读电压集合选取第一读电压,并将剩余的读电压的偏移量进行固定,得到读电压子集;When the set of read voltages includes at least two read voltages, selecting a first read voltage from the set of read voltages, and fixing offsets of the remaining read voltages to obtain a subset of read voltages;

根据预设的偏移方向调整所述第一读电压进行移动,得到第一偏移数据;adjusting the first read voltage to move according to a preset offset direction to obtain first offset data;

将所述第一偏移数据与所述原始数据进行对比,得到第一比特翻转信息;Comparing the first offset data with the original data to obtain first bit flip information;

将所述第一比特翻转信息与预设的偏移条件进行对比;comparing the first bit flip information with a preset offset condition;

当所述第一比特翻转信息满足所述偏移条件,根据所述第一比特翻转信息确定第一读电压偏移;When the first bit inversion information satisfies the offset condition, determining a first read voltage offset according to the first bit inversion information;

将所述第一读电压的偏移量固定为所述第一读电压偏移,并将固定后的第一读电压存储至所述读电压子集;fixing an offset of the first read voltage as the first read voltage offset, and storing the fixed first read voltage in the subset of read voltages;

读取所述读电压子集中的第二读电压,并对所述第二读电压进行偏移设置,得到第二偏移数据,直至遍历所述读电压集合中的全部读电压;reading the second read voltage in the read voltage subset, and performing offset setting on the second read voltage to obtain second offset data, until all the read voltages in the read voltage set are traversed;

读取所述读电压集合中的每个读电压的读电压偏移,并根据所述读电压偏移得到所述数据页的最佳读电压偏移,实现通过自动化的程序完成大量的数据分析。Read the read voltage offset of each read voltage in the read voltage set, and obtain the optimal read voltage offset of the data page according to the read voltage offset, and realize a large amount of data analysis through an automated program .

第二方面,本发明实施例还提供了一种多场景的闪存数据偏移装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的多场景的闪存数据偏移方法。In the second aspect, the embodiment of the present invention also provides a multi-scenario flash memory data offset device, including: a memory, a processor, and a computer program stored in the memory and operable on the processor, and the processor executes the The computer program implements the multi-scenario flash memory data offset method as described in the first aspect.

第三方面,本发明实施例还提供了一种固态硬盘,设置有如第二方面所述的多场景的闪存数据偏移装置。In a third aspect, an embodiment of the present invention further provides a solid-state hard disk, which is provided with the multi-scenario flash memory data offset device as described in the second aspect.

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的多场景的闪存数据偏移方法。In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to make a computer perform the A multi-scenario flash data offset method.

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description as well as the appended drawings.

附图说明Description of drawings

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的示例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。The accompanying drawings are used to provide a further understanding of the technical solution of the present invention, and constitute a part of the description, and are used to explain the technical solution of the present invention together with the examples of the present invention, and do not constitute a limitation to the technical solution of the present invention.

图1是本发明实施例提供的多场景的闪存数据偏移方法的整体流程图;FIG. 1 is an overall flowchart of a multi-scenario flash memory data offset method provided by an embodiment of the present invention;

图2是图1中的步骤S102的具体方法流程图;Fig. 2 is the specific method flowchart of step S102 in Fig. 1;

图3是图1中的步骤S103的具体方法流程图;Fig. 3 is the specific method flowchart of step S103 in Fig. 1;

图4是本发明另一实施例提供的多场景的闪存数据偏移方法的整体流程图;4 is an overall flow chart of a multi-scenario flash memory data offset method provided by another embodiment of the present invention;

图5是图1中的步骤S104的具体方法流程图;Fig. 5 is a specific method flowchart of step S104 in Fig. 1;

图6是本发明另一实施例提供的多场景的闪存数据偏移方法的整体流程图;6 is an overall flowchart of a multi-scenario flash memory data offset method provided by another embodiment of the present invention;

图7是本发明一个具体示例提供的闪存数据偏移方法的示意图;FIG. 7 is a schematic diagram of a flash data offset method provided by a specific example of the present invention;

图8是本发明一实施例提供的多场景的闪存数据偏移装置的结构示意图。FIG. 8 is a schematic structural diagram of a multi-scenario flash memory data offset device provided by an embodiment of the present invention.

具体实施方式Detailed ways

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.

本发明实施例提供了一种多场景的闪存数据偏移方法、装置、电子设备及介质,首先,在第一场景下,记录闪存的数据块的原始数据,之后在对第一场景进行场景调节得到第二场景,在第二场景下,对数据块的数据页进行偏移设置,得到偏移数据,从而能够实时获取特定场景下的偏移数据,再将原始数据与偏移数据进行对比,得到比特翻转信息,实现通过原始数据对比得到数据页的偏移数据,便于后续确定当前场景下的最佳偏移电压,最后,对比特翻转信息进行筛选,得到数据页的最佳读电压偏移,从而准确得到当前场景下数据页的最佳读电压偏移,无需依赖原厂提供的重读表。The embodiment of the present invention provides a multi-scenario flash memory data offset method, device, electronic equipment, and medium. First, in the first scene, record the original data of the data block of the flash memory, and then perform scene adjustment on the first scene Get the second scene. In the second scene, offset the data page of the data block to get the offset data, so that the offset data in a specific scene can be obtained in real time, and then the original data is compared with the offset data. Obtain the bit flip information, realize the offset data of the data page by comparing the original data, so as to facilitate subsequent determination of the best offset voltage in the current scene, and finally, filter the bit flip information to obtain the best read voltage offset of the data page , so as to accurately obtain the optimal read voltage offset of the data page in the current scenario, without relying on the re-read table provided by the original manufacturer.

下面结合附图,对本发明实施例作进一步阐述。The embodiments of the present invention will be further described below in conjunction with the accompanying drawings.

参照图1,本发明实施例提供了一种多场景的闪存数据偏移方法,多场景的闪存数据偏移方法包括但不限于以下步骤S101至步骤S104。Referring to FIG. 1 , an embodiment of the present invention provides a multi-scenario flash data migration method, which includes but not limited to the following steps S101 to S104.

步骤S101,在第一场景下,记录闪存的数据块的原始数据;Step S101, in the first scenario, record the original data of the data block of the flash memory;

在一些实施例中,在第一场景下,记录闪存的数据块的原始数据,便于后续与偏移数据进行对比。In some embodiments, in the first scenario, the original data of the data block of the flash memory is recorded for subsequent comparison with the offset data.

需要说明的是,在第一场景下,需要先对闪存的数据块进行擦写操作,之后再记录闪存的数据块的原始数据。It should be noted that, in the first scenario, the data block of the flash memory needs to be erased and written first, and then the original data of the data block of the flash memory is recorded.

步骤S102,在第二场景下,对数据块的数据页进行偏移设置,得到与数据页对应的偏移数据;Step S102, in the second scenario, perform offset setting on the data page of the data block to obtain offset data corresponding to the data page;

需要说明的是,第二场景为对第一场景进行场景调节得到。It should be noted that the second scene is obtained by performing scene adjustment on the first scene.

在一些实施例中,在第二场景下,对数据块的数据页进行偏移设置,得到与数据页对应的偏移数据,便于后续得到最佳读电压偏移。In some embodiments, in the second scenario, offset setting is performed on the data page of the data block to obtain offset data corresponding to the data page, so as to obtain an optimal read voltage offset subsequently.

需要说明的是,本实施例中的第一场景和第二场景可以为使得闪存数据失效的失效场景,例如,高低温读写场景、数据保持场景等等,其中,本实施例中的第一场景为高温读写场景,第二场景为低温读写场景,高温读写场景的温度为85摄氏度,低温读写场景的温度为-25摄氏度,具体的场景设置以及场景参数本实施例不做具体限制。It should be noted that the first scenario and the second scenario in this embodiment may be failure scenarios that make flash memory data invalid, for example, high and low temperature reading and writing scenarios, data retention scenarios, etc., wherein the first scenario in this embodiment The scene is a high-temperature reading and writing scene, and the second scene is a low-temperature reading and writing scene. The temperature of the high-temperature reading and writing scene is 85 degrees Celsius, and the temperature of the low-temperature reading and writing scene is -25 degrees Celsius. The specific scene settings and scene parameters are not specified in this embodiment. limit.

步骤S103,将原始数据与偏移数据进行对比,得到比特翻转信息;Step S103, comparing the original data with the offset data to obtain bit flip information;

在一些实施例中,将记录的原始数据分别与偏移数据进行对比以及统计,得到比特翻转信息,从而能够在任何场景下,比较得到数据页的比特翻转信息,便于后续确定数据页的最佳读电压偏移。In some embodiments, the recorded original data is compared and counted with the offset data to obtain the bit flip information, so that the bit flip information of the data page can be obtained by comparison in any scenario, which is convenient for subsequent determination of the best data page. Read voltage offset.

步骤S104,对比特翻转信息进行筛选,得到数据页的最佳读电压偏移。Step S104, filter the bit flip information to obtain the optimal read voltage offset of the data page.

在一些实施例中,对比特翻转信息进行筛选,选择比特翻转信息中的最小值作为当前场景下数据页的最佳读电压偏移,得到全局最佳读电压偏移,能够快速、准确地得到每个数据页的最佳读电压偏移。In some embodiments, the bit flipping information is screened, and the minimum value in the bit flipping information is selected as the optimal read voltage offset of the data page in the current scenario to obtain the global optimal read voltage offset, which can be quickly and accurately obtained Optimal read voltage offset for each data page.

参照图2,在一些实施例中,步骤S102可以包括但不限于包括步骤S201至步骤S203:Referring to FIG. 2, in some embodiments, step S102 may include, but is not limited to, step S201 to step S203:

步骤S201,获取数据页的数据页类型;Step S201, acquiring the data page type of the data page;

步骤S202,根据数据页类型确定数据页的读电压集合;Step S202, determining the read voltage set of the data page according to the type of the data page;

需要说明的是,读电压集合包括至少一个读电压。It should be noted that the read voltage set includes at least one read voltage.

步骤S203,根据预设的偏移方向对读电压集合中的读电压进行电压偏移,得到偏移数据。Step S203, performing a voltage offset on the read voltages in the read voltage set according to a preset offset direction to obtain offset data.

在一些实施例中的步骤S201至步骤S203中,在得到偏移数据的过程中,需要先获取数据页的数据页类型,之后再根据数据页类型确定不同类型的数据页的读电压集合,最后,根据预设的偏移方向对读电压集中的读电压进行电压偏移,得到偏移数据,实现对偏移数据的实时获取。In steps S201 to S203 in some embodiments, in the process of obtaining offset data, it is necessary to obtain the data page type of the data page first, and then determine the read voltage sets of different types of data pages according to the data page type, and finally , performing a voltage offset on the read voltages in the read voltage concentration according to a preset offset direction to obtain offset data, thereby realizing real-time acquisition of the offset data.

需要说明的是,读电压集合中的读电压数量与数据页类型对应,例如,当数据页为LSB(Least Significant Bit,最低有效位)类型,则此时读电压集合包括一个读电压;当数据页为MSB(Most Significant Bit,最高有效位)类型,则此时读电压集合包括两个读电压;当数据页为CSB(Central Significant Bit,中间有效位)类型,则此时读电压集合包括三个读电压,本实施例不做具体限制。It should be noted that the number of read voltages in the read voltage set corresponds to the data page type. For example, when the data page is of the LSB (Least Significant Bit, least significant bit) type, the read voltage set includes one read voltage; If the page is of MSB (Most Significant Bit, most significant bit) type, then the read voltage set includes two read voltages at this time; when the data page is of CSB (Central Significant Bit, middle significant bit) type, then the read voltage set includes three read voltage, which is not specifically limited in this embodiment.

可以理解的是,原厂提供调整读电压左右偏移的方法,一般而言,允许读电压从默认位置向左右共偏移255个单位,因此本实施例中预设的偏移方向为从左向右偏移。It can be understood that the original factory provides a method to adjust the left and right offset of the read voltage. Generally speaking, the read voltage is allowed to shift 255 units from the default position to the left and right. Therefore, the preset offset direction in this embodiment is from the left to the left. Offset to the right.

在一些实施例中,在将原始数据与偏移数据进行对比,得到比特翻转信息之前,还包括:确定读电压集合包括一个读电压。In some embodiments, before comparing the original data with the offset data to obtain bit flip information, the method further includes: determining that the set of read voltages includes one read voltage.

参照图3,在一些实施例中,步骤S103可以包括但不限于包括步骤S301至步骤S302:Referring to FIG. 3, in some embodiments, step S103 may include, but is not limited to, steps S301 to S302:

步骤S301,将原始数据与偏移数据进行对比,得到与偏移数据对应的比特翻转数;Step S301, comparing the original data with the offset data to obtain the number of bit flips corresponding to the offset data;

步骤S302,对比特翻转数进行统计,得到比特翻转信息。Step S302, counting the number of bit flips to obtain bit flip information.

在一些实施例的步骤S301至步骤S302中,在得到比特翻转信息的过程中,先将原始数据分别与偏移数据的比特翻转数量进行对比,得到与偏移数据位数对应的比特翻转数,之后再对比特翻转数进行统计,得到多个比特翻转信息,便于后续确定当前场景下的最佳读电压偏移。In some embodiments, from step S301 to step S302, in the process of obtaining the bit flip information, the original data is first compared with the bit flip numbers of the offset data to obtain the bit flip numbers corresponding to the number of bits of the offset data, After that, the number of bit flips is counted to obtain multiple bit flip information, which is convenient for subsequent determination of the optimal read voltage offset in the current scenario.

需要说明的是,例如,在高温(85°)场景下,擦写一个SLC(Single-Level Cell,单层单元闪存)数据块,记录写入的原始数据为data_original,之后在低温(-25°)场景下,对SLC page(数据页)进行偏移设置,分别设置SLC page(数据页)的读电压偏移为v1,v2,v3,……v255,读取SLC page的偏移数据。将这些偏移数据分别命名为:data_offset1,data_offset2,data_offset3,……,data_offset_255;之后再将写入的原始数据data_original分别与data_offset1,data_offset2,data_offset3,data_offset255比较。统计翻转比特数,得到比特翻转信息,并将比特翻转信息分别记录为:bit_cnt1,bit_cnt2,bit_cnt3,……,bit_cnt255,便于后续得到当前场景下的最佳读电压偏移。It should be noted that, for example, in a high-temperature (85°) scene, write a SLC (Single-Level Cell, single-level unit flash memory) data block, record the written original data as data_original, and then write it at a low temperature (-25° ) scenario, set the offset of the SLC page (data page), respectively set the read voltage offset of the SLC page (data page) to v1, v2, v3, ... v255, and read the offset data of the SLC page. Name these offset data respectively: data_offset1, data_offset2, data_offset3,..., data_offset_255; then compare the written original data data_original with data_offset1, data_offset2, data_offset3, data_offset255 respectively. Count the number of flipped bits to obtain the bit flipped information, and record the bit flipped information as: bit_cnt1, bit_cnt2, bit_cnt3,..., bit_cnt255, so as to obtain the best read voltage offset in the current scene later.

参照图4,图4是本发明另一实施例提供的多场景的闪存数据偏移方法,多场景的闪存数据偏移方法包括但不限于以下步骤S401至步骤S403。Referring to FIG. 4 , FIG. 4 is a multi-scenario flash data migration method provided by another embodiment of the present invention. The multi-scenario flash data migration method includes but is not limited to the following steps S401 to S403.

需要说明的是,步骤S401至步骤S403发生在对比特翻转信息进行筛选,确定数据页的最佳读电压偏移之前。It should be noted that steps S401 to S403 occur before screening the bit flip information to determine the optimal read voltage offset of the data page.

步骤S401,对读电压的偏移次数进行记录,得到电压偏移次数;Step S401, recording the number of offsets of the read voltage to obtain the number of voltage offsets;

步骤S402,将电压偏移次数与预设的偏移条件进行对比,得到对比结果;Step S402, comparing the number of voltage offsets with a preset offset condition to obtain a comparison result;

步骤S403,确定对比结果为电压偏移次数满足偏移条件。In step S403, it is determined that the comparison result is that the number of voltage offsets satisfies the offset condition.

在一些实施例的步骤S401至步骤S403中,在对比特翻转信息进行筛选之前,还需要对读电压的偏移次数进行记录,得到当前的电压偏移次数,之后将电压偏移次数和预设的偏移条件进行对比,判断电压偏移次数是否满足预设的偏移条件,得到对比结果,在确定对比结果为电压偏移次数满足偏移条件的情况下,再对比特翻转信息进行筛选,从而准确得到数据页的读电压偏移。In steps S401 to S403 of some embodiments, before screening the bit flip information, it is also necessary to record the number of shifts of the read voltage to obtain the current number of voltage shifts, and then compare the number of voltage shifts with the preset Compare the offset conditions, judge whether the number of voltage offsets meets the preset offset conditions, and obtain the comparison result. After confirming that the comparison result is that the number of voltage offsets meets the offset conditions, then filter the bit flip information. Thus, the read voltage offset of the data page can be accurately obtained.

需要说明的是,当确定对比结果为电压偏移次数未满足偏移条件,则需要按照预设的偏移方向继续对读电压进行偏移,并对电压偏移次数进行更新,直至电压偏移次数满足预设的偏移条件。It should be noted that when it is determined that the number of voltage offsets does not meet the offset condition as a result of the comparison, it is necessary to continue offsetting the read voltage according to the preset offset direction, and update the number of voltage offsets until the voltage offset The number of times satisfies the preset offset condition.

可以理解的是,偏移条件可以为偏移次数、偏移方向、偏移阈值电压中的一种或多种组合,其中,允许读电压从默认位置向左右共偏移255个单位,从最左到最右共256个读电压偏移分别称为v1,v2,v3,……,v255,因此本实施例中预设的偏移条件中的偏移次数小于等于255。It can be understood that the offset condition can be one or more combinations of the number of offsets, the offset direction, and the offset threshold voltage, wherein the read voltage is allowed to offset a total of 255 units from the default position to the left and right, from the maximum A total of 256 read voltage offsets from left to right are respectively called v1, v2, v3, ..., v255, so the number of offsets in the preset offset condition in this embodiment is less than or equal to 255.

参照图5,在一些实施例中,步骤S104可以包括但不限于包括步骤S501至步骤S502:Referring to FIG. 5, in some embodiments, step S104 may include but not limited to include steps S501 to S502:

步骤S501,对比特翻转信息中的比特翻转数进行对比,确定目标比特翻转数;Step S501, comparing the number of bit flips in the bit flip information to determine the target number of bit flips;

步骤S502,确定与目标比特翻转数对应的偏移数据,将偏移数据记录为数据页的最佳读电压偏移。Step S502, determining offset data corresponding to the target bit flip number, and recording the offset data as an optimal read voltage offset of the data page.

在一些实施例的步骤S501至步骤S502中,对比特翻转信息中的比特翻转数进行对比,在比特翻转信息中选取最小值作为目标比特翻转数,之后再确定与目标比特翻转数对应的偏移数据,将偏移数据记录为数据页的最佳读电压偏移,即为当前场景下的最佳读电压偏移,从而能够快速、准确的获取到每个数据页的最佳读电压偏移。In some embodiments, from step S501 to step S502, compare the number of bit flips in the bit flip information, select the minimum value in the bit flip information as the target bit flip number, and then determine the offset corresponding to the target bit flip number Data, record the offset data as the optimal read voltage offset of the data page, that is, the optimal read voltage offset in the current scenario, so that the optimal read voltage offset of each data page can be obtained quickly and accurately .

参照图6,图6是本发明另一实施例提供的多场景的闪存数据偏移方法,多场景的闪存数据偏移方法包括但不限于以下步骤S601至步骤S608。Referring to FIG. 6 , FIG. 6 is a multi-scenario flash data migration method provided by another embodiment of the present invention. The multi-scenario flash data migration method includes but is not limited to the following steps S601 to S608.

步骤S601,在读电压集合包括至少两个读电压的情况下,从读电压集合选取第一读电压,并将剩余的读电压的偏移量进行固定,得到读电压子集;Step S601, when the set of read voltages includes at least two read voltages, select the first read voltage from the set of read voltages, and fix the offsets of the remaining read voltages to obtain a subset of read voltages;

步骤S602,根据预设的偏移方向调整第一读电压进行移动,得到第一偏移数据;Step S602, adjusting the first read voltage to move according to the preset offset direction to obtain the first offset data;

步骤S603,将第一偏移数据与原始数据进行对比,得到第一比特翻转信息;Step S603, comparing the first offset data with the original data to obtain the first bit flip information;

步骤S604,将第一比特翻转信息与预设的偏移条件进行对比;Step S604, comparing the first bit flip information with a preset offset condition;

步骤S605,当第一比特翻转信息满足偏移条件,根据第一比特翻转信息确定第一读电压偏移;Step S605, when the first bit inversion information satisfies the offset condition, determine the first read voltage offset according to the first bit inversion information;

步骤S606,将第一读电压的偏移量固定为第一读电压偏移,并将固定后的第一读电压存储至读电压子集;Step S606, fixing the offset of the first read voltage as the first read voltage offset, and storing the fixed first read voltage in the read voltage subset;

步骤S607,读取读电压子集中的第二读电压,并对第二读电压进行偏移设置,得到第二偏移数据,直至遍历读电压集合中的全部读电压;Step S607, read the second read voltage in the read voltage subset, and perform offset setting on the second read voltage to obtain the second offset data, until all the read voltages in the read voltage set are traversed;

步骤S608,读取读电压集合中的每个读电压的读电压偏移,并根据读电压偏移得到数据页的最佳读电压偏移。Step S608, read the read voltage offset of each read voltage in the read voltage set, and obtain the optimal read voltage offset of the data page according to the read voltage offset.

在一些实施例的步骤S601至步骤S608中,在确定读电压集合包括至少两个读电压的情况下,首先从读电压集合中选取第一读电压,将其他剩余的读电压的偏移量进行固定,并将剩余的读电压存储至一个子集中,得到读电压子集,之后再根据预设的偏移方向调整第一读电压进行偏移,得到第一偏移数据,将第一偏移数据与原始数据进行对比,从而得到第一读电压的第一比特翻转信息,其中,第一比特翻转信息包括第一读电压的电压偏移次数和比特翻转数,将第一读电压的电压偏移次数与预设的偏移条件进行对比,当第一比特翻转信息满足预设的偏移条件,则对第一比特翻转信息中的比特翻转数进行比较,筛选出最小比特翻转数作为第一读电压偏移,将第一读电压的偏移量设置为第一电压偏移,对第一读电压的偏移量进行固定,将固定后的第一读电压存储至读电压子集,在第一读电压的偏移量固定的情况下,读取读电压子集中的第二读电压,并对第二读电压进行偏移设置,最后,重复步骤S602至步骤S606,直至遍历完读电压集合中的全部读电压,完成对读电压集合中所有读电压的电压偏移,读取读电压集合中的每个读电压的读电压偏移,并根据读电压偏移得到数据页的最佳读电压偏移,实现通过自动化的程序完成大量的数据分析。In some embodiments, from step S601 to step S608, when it is determined that the set of read voltages includes at least two read voltages, the first read voltage is first selected from the set of read voltages, and the offsets of the other remaining read voltages are calculated. fixed, and store the remaining read voltages in a subset to obtain a subset of read voltages, and then adjust the first read voltage for offset according to the preset offset direction to obtain the first offset data, and the first offset The data is compared with the original data to obtain the first bit inversion information of the first read voltage, wherein the first bit inversion information includes the number of voltage offsets and the number of bit inversions of the first read voltage, and the voltage offset of the first read voltage is The number of shifts is compared with the preset offset condition. When the first bit flip information meets the preset offset condition, the bit flip number in the first bit flip information is compared, and the minimum bit flip number is selected as the first read voltage offset, set the offset of the first read voltage as the first voltage offset, fix the offset of the first read voltage, store the fixed first read voltage in the read voltage subset, and When the offset of the first read voltage is fixed, read the second read voltage in the subset of read voltages, and set the offset for the second read voltage. Finally, repeat steps S602 to S606 until the read voltages are traversed. All the read voltages in the set, complete the voltage offset of all the read voltages in the read voltage set, read the read voltage offset of each read voltage in the read voltage set, and get the best data page according to the read voltage offset Read the voltage offset to realize a large amount of data analysis through an automated program.

可以理解的是,如果读电压集合包括两个读电压,可以通过如下操作得到数据页的最佳读电压偏移,其中,将两个读电压分别命名为level_a和level_b,对level_a的偏移量进行固定,即设置level_a的偏移量为0,再将level_b从左向右偏移,得到第一偏移数据,将第一偏移数据与写入的原始数据进行比较,得到第一比特翻转信息,在第一比特翻转信息满足预设的偏移条件的情况下,对第一比特翻转信息进行筛选,得到最小比特翻转偏移level_b_x;It can be understood that if the read voltage set includes two read voltages, the optimal read voltage offset of the data page can be obtained through the following operations, wherein the two read voltages are respectively named level_a and level_b, and the offset to level_a Fix it, that is, set the offset of level_a to 0, then shift level_b from left to right to get the first offset data, compare the first offset data with the written original data, and get the first bit flip Information, in the case that the first bit flipping information satisfies the preset offset condition, the first bit flipping information is screened to obtain the minimum bit flipping offset level_b_x;

之后,将level_b的偏移量进行固定,设置level_b的偏移量为level_b_x,再将level_a从左向右偏移,得到第二偏移数据,将第二偏移数据与写入原始数据比较,得到第二比特翻转信息,在第二比特翻转信息满足预设的偏移条件的情况下,对第二比特翻转信息进行筛选,得到最小bit翻转偏移level_a_y;After that, fix the offset of level_b, set the offset of level_b to level_b_x, and then offset level_a from left to right to obtain the second offset data, and compare the second offset data with the written original data, Obtaining the second bit inversion information, when the second bit inversion information satisfies the preset offset condition, screening the second bit inversion information to obtain the minimum bit inversion offset level_a_y;

通过上述操作得到的level_a_y和level_b_x即为对应场景下数据页的最佳读电压偏移。The level_a_y and level_b_x obtained through the above operation are the optimal read voltage offset of the data page in the corresponding scenario.

需要说明的是,如果读电压集合中包括三个读电压,则需要先固定两个读电压的偏移量,对另一个读电压进行偏移和对比,得到该读电压的最佳读电压,之后固定已经得到最佳读电压的读电压的偏移量,依次处理剩下两个读电压,从而完成对所有读电压的偏移,得到数据页的最佳读电压偏移,本实施例的读电压扫描方法和数据比较方法都比较容易用软件实现,从而能够准确得到单个page的最佳读电压偏移,当要处理一个block,甚至一个chip的最佳读电压偏移,只需对每个page执行同样的操作,通过自动化的程序完成大量的数据分析,并且不受使用场景的限制。It should be noted that if the set of read voltages includes three read voltages, the offsets of the two read voltages need to be fixed first, and the other read voltage should be offset and compared to obtain the optimum read voltage for the read voltage. After that, the offset of the read voltage that has obtained the best read voltage is fixed, and the remaining two read voltages are processed sequentially, thereby completing the offset of all the read voltages, and obtaining the best read voltage offset of the data page. Both the read voltage scanning method and the data comparison method are relatively easy to implement with software, so that the optimal read voltage offset of a single page can be accurately obtained. When dealing with the optimal read voltage offset of a block or even a chip, it is only necessary to Each page performs the same operation, and completes a large amount of data analysis through an automated program, and is not limited by usage scenarios.

为了更加清楚的说明多场景的闪存数据偏移方法的流程,下面以具体的示例进行说明。In order to more clearly illustrate the flow of the multi-scenario flash memory data offset method, a specific example is used below to illustrate.

示例一:Example one:

参考图7,图7为本发明一个具体示例提供的闪存数据偏移方法的示意图;Referring to FIG. 7, FIG. 7 is a schematic diagram of a flash memory data offset method provided by a specific example of the present invention;

步骤一:擦写一个SLC block,并记录写入的原始数据;Step 1: Erase and write an SLC block, and record the original data written;

步骤二:确定与数据页对应的读电压集合,并调整校正读电压集合中的某一个读电压;Step 2: Determine the read voltage set corresponding to the data page, and adjust and correct a certain read voltage in the read voltage set;

步骤三:调整读电压从左向右进行偏移,得到偏移数据;Step 3: Adjust the read voltage to offset from left to right to obtain offset data;

步骤四:将偏移数据与原始数据进行对比,记录比特翻转数量以及电压偏移次数;Step 4: Compare the offset data with the original data, record the number of bit flips and the number of voltage offsets;

步骤五:判断电压偏移次数是否达到255次;Step 5: Determine whether the number of voltage offsets reaches 255 times;

步骤六:若是,确定比特翻转数量中最小翻转比特数,将最小翻转比特数对应的偏移记录为当前读电压的最佳读电压偏移;Step 6: If yes, determine the minimum number of flipped bits in the number of bit flips, and record the offset corresponding to the minimum flipped number of bits as the best read voltage offset for the current read voltage;

步骤七:若否,则继续调整读电压从左向右进行偏移,得到偏移数据;Step 7: If not, continue to adjust the read voltage to offset from left to right to obtain offset data;

步骤八:判断是否遍历读电压集合中全部读电压;Step 8: Determine whether to traverse all the read voltages in the read voltage set;

步骤九:若否,则继续调整校正读电压集合中的其他读电压;Step 9: If not, continue to adjust and correct other read voltages in the set of read voltages;

步骤十:若是,则根据所有最佳读电压偏移确定数据页的最佳读电压偏移。Step ten: If yes, determine the optimal read voltage offset of the data page according to all the optimal read voltage offsets.

在一些实施例中,本实施例可以在任何场景下,快速、准确、自动地获取到每个闪存页的最佳读电压偏移,不受原厂给出的重读表的限制。In some embodiments, this embodiment can quickly, accurately and automatically obtain the optimal read voltage offset of each flash memory page in any scenario, without being limited by the reread table provided by the original factory.

请参阅图8,图8示意了另一实施例的多场景的闪存数据偏移装置,多场景的闪存数据偏移装置包括:Please refer to FIG. 8. FIG. 8 illustrates a multi-scenario flash data offset device of another embodiment. The multi-scenario flash data offset device includes:

处理器801,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application SpecificIntegrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;The processor 801 can be implemented by a general-purpose CPU (Central Processing Unit, central processing unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute related program to realize the technical solutions provided by the embodiments of the present application;

存储器802,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器802可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器802中,并由处理器801来调用执行本申请实施例的多场景的闪存数据偏移方法;The memory 802 may be implemented in the form of a read-only memory (Read Only Memory, ROM), a static storage device, a dynamic storage device, or a random access memory (Random Access Memory, RAM). The memory 802 can store operating systems and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 802 and called by the processor 801 to execute the implementation of this application. Example multi-scenario flash data offset method;

输入/输出接口803,用于实现信息输入及输出;The input/output interface 803 is used to realize information input and output;

通信接口804,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;The communication interface 804 is used to realize the communication interaction between the device and other devices, and the communication can be realized through a wired method (such as USB, network cable, etc.), or can be realized through a wireless method (such as a mobile network, WIFI, Bluetooth, etc.);

总线805,在设备的各个组件(例如处理器801、存储器802、输入/输出接口803和通信接口804)之间传输信息;A bus 805, which transmits information between various components of the device (such as a processor 801, a memory 802, an input/output interface 803, and a communication interface 804);

其中处理器801、存储器802、输入/输出接口803和通信接口804通过总线805实现彼此之间在设备内部的通信连接。The processor 801 , the memory 802 , the input/output interface 803 and the communication interface 804 are connected to each other within the device through the bus 805 .

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述多场景的闪存数据偏移方法。The embodiment of the present application also provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the above multi-scenario flash memory data offset method is implemented.

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。As a non-transitory computer-readable storage medium, memory can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory optionally includes memory located remotely from the processor, and these remote memories may be connected to the processor via a network. Examples of the aforementioned networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

本发明实施例的还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被图8中的一个处理器801执行,可使得上述一个或多个控制处理器执行上述方法实施例中的多场景的闪存数据偏移方法。Embodiments of the present invention also provide a computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by one or more control processors, for example, by the Executed by one processor 801, the one or more control processors may execute the multi-scenario flash memory data offset method in the above method embodiment.

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。The device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。Those skilled in the art can understand that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware and an appropriate combination thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit . Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As known to those of ordinary skill in the art, the term computer storage media includes both volatile and nonvolatile media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. permanent, removable and non-removable media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, tape, magnetic disk storage or other magnetic storage devices, or can Any other medium used to store desired information and which can be accessed by a computer. In addition, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .

以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明所限定的范围内。The above is a specific description of the preferred implementation of the present invention, but the present invention is not limited to the above-mentioned implementation, and those skilled in the art can also make various equivalent deformations or replacements without violating the spirit of the present invention. Equivalent modifications or replacements all fall within the scope of the present invention.

Claims (10)

1. A multi-scenario flash data migration method is characterized by comprising the following steps:
recording original data of a data block of the flash memory in a first scene;
in a second scene, performing offset setting on a data page of the data block to obtain offset data corresponding to the data page, wherein the second scene is obtained by performing scene adjustment on the first scene;
comparing the original data with the offset data to obtain bit flipping information;
and screening the bit overturning information to obtain the optimal reading voltage offset of the data page.
2. The multi-scenario flash data migration method according to claim 1, wherein the performing migration setting on the data page of the data block to obtain migration data corresponding to the data page comprises:
acquiring the data page type of the data page;
determining a set of read voltages for the data page according to the data page type, wherein the set of read voltages includes at least one read voltage;
and performing voltage offset on the reading voltage in the reading voltage set according to a preset offset direction to obtain the offset data.
3. The multi-scenario flash data migration method of claim 2, wherein before comparing the original data with the migration data to obtain bit flipping information, the method further comprises:
determining that the set of read voltages includes one read voltage.
4. The multi-scenario flash data migration method according to claim 1, wherein the comparing the original data with the migration data to obtain bit flipping information comprises:
comparing the original data with the offset data to obtain a bit flipping number corresponding to the offset data;
and counting the bit flipping number to obtain the bit flipping information.
5. The multi-scenario flash data migration method according to claim 1, further comprising, before the screening the bit flipping information to obtain the optimal read voltage migration of the data page:
recording the offset times of the read voltage to obtain the voltage offset times;
comparing the voltage offset times with a preset offset condition to obtain a comparison result;
and determining the comparison result that the voltage offset times meet the offset condition.
6. The multi-scenario flash data migration method according to claim 4, wherein the screening the bit flipping information to obtain the optimal read voltage migration of the data page comprises:
comparing the bit flipping numbers in the bit flipping information to determine a target bit flipping number;
and determining offset data corresponding to the target bit flip number, and recording the offset data as the optimal read voltage offset of the data page.
7. The multi-scenario flash data migration method according to claim 2, further comprising:
under the condition that the reading voltage set comprises at least two reading voltages, selecting a first reading voltage from the reading voltage set, and fixing the offset of the rest reading voltages to obtain a reading voltage subset;
adjusting the first reading voltage to move according to a preset offset direction to obtain first offset data;
comparing the first offset data with the original data to obtain first bit flipping information;
comparing the first bit flipping information with a preset offset condition;
when the first bit flipping information meets the offset condition, determining first reading voltage offset according to the first bit flipping information;
fixing the offset of the first reading voltage as the first reading voltage offset, and storing the fixed first reading voltage into the reading voltage subset;
reading a second reading voltage in the reading voltage subset, and performing offset setting on the second reading voltage to obtain second offset data until all reading voltages in the reading voltage set are traversed;
and reading the read voltage offset of each read voltage in the read voltage set, and obtaining the optimal read voltage offset of the data page according to the read voltage offset.
8. A multi-scenario flash data migration apparatus, comprising: a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the multi-scenario flash data migration method as claimed in any one of claims 1 to 7 when executing the computer program.
9. A solid state disk provided with the multi-scenario flash data migration apparatus of claim 8.
10. A computer-readable storage medium storing computer-executable instructions for performing the multi-scenario flash data migration method of any one of claims 1 to 7.
CN202211639626.8A 2022-12-20 2022-12-20 Multi-scene flash memory data migration method and device, electronic equipment and medium Pending CN115938442A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211639626.8A CN115938442A (en) 2022-12-20 2022-12-20 Multi-scene flash memory data migration method and device, electronic equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211639626.8A CN115938442A (en) 2022-12-20 2022-12-20 Multi-scene flash memory data migration method and device, electronic equipment and medium

Publications (1)

Publication Number Publication Date
CN115938442A true CN115938442A (en) 2023-04-07

Family

ID=86700591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211639626.8A Pending CN115938442A (en) 2022-12-20 2022-12-20 Multi-scene flash memory data migration method and device, electronic equipment and medium

Country Status (1)

Country Link
CN (1) CN115938442A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117012262A (en) * 2023-06-30 2023-11-07 珠海妙存科技有限公司 Flash memory threshold voltage distribution description method and system and electronic equipment
CN118642663A (en) * 2024-08-13 2024-09-13 合肥康芯威存储技术有限公司 A memory and data processing method thereof
CN119356596A (en) * 2024-08-28 2025-01-24 联想(北京)有限公司 A data processing method and device

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107799149A (en) * 2016-08-29 2018-03-13 爱思开海力士有限公司 Data storage device and its operating method
CN108777156A (en) * 2018-05-31 2018-11-09 郑州云海信息技术有限公司 A kind of flash memory data processing method and device
US10210926B1 (en) * 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US20190172542A1 (en) * 2017-09-15 2019-06-06 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10424383B1 (en) * 2018-03-30 2019-09-24 Shenzhen Epostar Electronics Limited Co. Decoding method and storage controller
CN110797068A (en) * 2019-08-06 2020-02-14 广州妙存科技有限公司 Method for quickly searching optimal rereading voltage of NAND flash memory
CN112447245A (en) * 2019-08-28 2021-03-05 国际商业机器公司 Hybrid read voltage calibration in non-volatile random access memory
CN112634973A (en) * 2020-12-29 2021-04-09 合肥致存微电子有限责任公司 Data rereading method and system of storage medium, terminal device and storage medium
CN112988613A (en) * 2019-12-18 2021-06-18 杭州海康存储科技有限公司 Method, device and equipment for determining physical state of flash memory
WO2022099441A1 (en) * 2020-11-10 2022-05-19 华为技术有限公司 Method for reading storage medium, and related device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107799149A (en) * 2016-08-29 2018-03-13 爱思开海力士有限公司 Data storage device and its operating method
US10210926B1 (en) * 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US20190172542A1 (en) * 2017-09-15 2019-06-06 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10424383B1 (en) * 2018-03-30 2019-09-24 Shenzhen Epostar Electronics Limited Co. Decoding method and storage controller
CN108777156A (en) * 2018-05-31 2018-11-09 郑州云海信息技术有限公司 A kind of flash memory data processing method and device
CN110797068A (en) * 2019-08-06 2020-02-14 广州妙存科技有限公司 Method for quickly searching optimal rereading voltage of NAND flash memory
CN112447245A (en) * 2019-08-28 2021-03-05 国际商业机器公司 Hybrid read voltage calibration in non-volatile random access memory
CN112988613A (en) * 2019-12-18 2021-06-18 杭州海康存储科技有限公司 Method, device and equipment for determining physical state of flash memory
WO2022099441A1 (en) * 2020-11-10 2022-05-19 华为技术有限公司 Method for reading storage medium, and related device
CN112634973A (en) * 2020-12-29 2021-04-09 合肥致存微电子有限责任公司 Data rereading method and system of storage medium, terminal device and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117012262A (en) * 2023-06-30 2023-11-07 珠海妙存科技有限公司 Flash memory threshold voltage distribution description method and system and electronic equipment
CN118642663A (en) * 2024-08-13 2024-09-13 合肥康芯威存储技术有限公司 A memory and data processing method thereof
CN119356596A (en) * 2024-08-28 2025-01-24 联想(北京)有限公司 A data processing method and device

Similar Documents

Publication Publication Date Title
CN115938442A (en) Multi-scene flash memory data migration method and device, electronic equipment and medium
JP4950886B2 (en) Nonvolatile storage device, memory controller, and defective area detection method
TWI437568B (en) Method for improving performance when flash memory storage device works in wide temperature range
CN108717385A (en) Data recovery method and system for flash memory
US10068650B1 (en) Characterizing and operating a non-volatile memory device
CN110120234B (en) Solid-state memory device and method for searching for optimum read threshold voltage thereof
US10734079B1 (en) Sub block mode read scrub design for non-volatile memory
CN113223583B (en) Method for re-reading data in NAND FLASH bad blocks, electronic equipment and storage medium
CN110399257A (en) Detection method, electronic equipment and the computer readable storage medium of memory
CN108777156A (en) A kind of flash memory data processing method and device
CN113625947A (en) Data error correction method, device and equipment and computer readable storage medium
JP2020042890A (en) Memory system and controlling method of memory system
CN114327265A (en) Read disturb check method, memory storage device, and control circuit unit
CN107203436B (en) A method and device for verifying Nand Flash data
CN114582402B (en) Non-volatile memory and programming method thereof, and computer system
CN107577440B (en) Method for prolonging service life of memory
CN112562762B (en) WL threshold voltage distribution acquisition method, system and related components
US20200302027A1 (en) Simulation method and simulation device for semiconductor storage device
US8924819B2 (en) Memory device and operation method thereof
CN112447241A (en) Method and device for realizing data rereading, computer storage medium and terminal
CN115713962A (en) Memory test method, system and computer readable storage medium
CN115617567B (en) Data recovery method and device of flash memory, electronic equipment and medium
US20210003718A1 (en) Picture Processing Method and Related Device
CN115035926A (en) Reading method of memory, threshold voltage offset calculation method and storage system
CN111696612B (en) Data reading method, device and medium for nonvolatile memory

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
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载