Pseudo-data writing method and device, medium and electronic equipment

By determining the priority of the superblocks to be written with pseudo data in the flash memory and writing the pseudo data, the impact of incomplete superblocks on the life of the flash memory is solved, and stable pseudo data write throughput and fast and efficient superblock rewriting are achieved.

CN120631244APending Publication Date: 2025-09-12BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202410276094.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-11
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

If the flash memory physical block is not completely filled before being erased, it will affect the life of the flash memory. How to ensure stable pseudo data write throughput?

Method used

By determining the priority of the super-block to which dummy data is to be written and writing dummy data into the super-block to which dummy data is to be written based on the priority, it is ensured that dummy data is written first to the super-block with high priority, thereby achieving stable dummy data writing throughput.

Benefits of technology

A stable pseudo-data write throughput is achieved, and rewritable super blocks are generated quickly and efficiently, avoiding the shortening of the flash memory life due to incomplete super blocks being written.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120631244A_ABST
    Figure CN120631244A_ABST
Patent Text Reader

Abstract

The invention relates to a pseudo data writing method and device, a medium and electronic equipment, and belongs to the technical field of storage. The pseudo data writing method comprises the following steps: determining the priority of a superblock in which pseudo data is to be written; and based on the priority, writing the pseudo data into the superblock in which the pseudo data is to be written. By adopting the technical scheme, the pseudo data can be preferentially written into the super block with the high priority to be written with the pseudo data, so that the stable pseudo data writing throughput can be ensured, and the free super block (namely the super block which can be rewritten) can be quickly and efficiently generated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of storage technology, and in particular to a method, device, medium, and electronic device for writing dummy data. Background Art

[0002] Flash memory requires that a physical block be fully written before being erased. Erasing a physical block before it is fully written will shorten the lifespan of the flash memory. Therefore, ensuring a stable throughput of pseudo data writes is an urgent issue that needs to be addressed. Summary of the Invention

[0003] This section is provided to briefly introduce the concepts that will be described in detail in the detailed description below. This section is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.

[0004] In a first aspect, the present disclosure provides a method for writing dummy data, comprising: determining a priority of a super block into which dummy data is to be written; and writing dummy data into the super block into which dummy data is to be written based on the priority.

[0005] In a second aspect, the present disclosure provides a pseudo data writing device, comprising: a determination module for determining the priority of a super block to which pseudo data is to be written; and a writing module for writing pseudo data into the super block to which pseudo data is to be written based on the priority.

[0006] In a third aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of any one of the methods described in the first aspect.

[0007] In a fourth aspect, the present disclosure provides an electronic device, comprising:

[0008] a storage device having at least one computer program stored thereon;

[0009] At least one processing device, configured to execute the at least one computer program in the storage device to implement the steps of any one of the methods described in the first aspect.

[0010] By adopting the above technical solution, the priority of the super-block to which the pseudo data is to be written can be determined, and based on the priority, the pseudo data can be written into the super-block to which the pseudo data is to be written. In this way, the pseudo data can be written preferentially into the super-block to which the pseudo data is to be written with a high priority, thereby ensuring a stable pseudo data writing throughput and enabling the rapid and efficient generation of free super-blocks (i.e., super-blocks that can be rewritten).

[0011] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The above and other features, advantages and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale. In the drawings:

[0013] Figure 1 A schematic diagram of the structure of a super block is shown.

[0014] Figure 2 is a flowchart of a method for writing dummy data according to an embodiment of the present disclosure.

[0015] Figure 3 The present invention is a flowchart of writing dummy data into a super block to which dummy data is to be written based on priority according to an embodiment of the present disclosure.

[0016] Figure 4 The flowchart of writing dummy data into a super block selected for writing dummy data according to an embodiment of the present disclosure is shown.

[0017] Figure 5 is a schematic block diagram of a dummy data writing device according to an embodiment of the present disclosure.

[0018] Figure 6 A schematic structural diagram of an electronic device suitable for implementing the embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0019] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0020] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0021] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.

[0022] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0023] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0024] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0025] All actions of acquiring signals, information or data in this disclosure are carried out in compliance with the relevant data protection laws and policies of the country where they are located and with the authorization given by the owner of the corresponding device.

[0026] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0027] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operations of the disclosed technical solution based on the prompt message.

[0028] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.

[0029] It is understandable that the above notification and user authorization process are merely illustrative and do not limit the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0030] At the same time, it is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) must comply with the requirements of relevant laws, regulations and relevant provisions.

[0031] Nand flash memory is a flash memory chip based on flash storage technology. "Nand" stands for "NAND gate" logic device because Nand flash memory uses multiple parallel NAND gate circuits to store and read data. When writing user data to Nand flash memory, it is usually written in units of super blocks. A super block is composed of many super pages, and each super page spans multiple dies. Every three consecutive super pages form a super word line. Figure 1 A structural diagram of a super block is shown, wherein the first column represents die 0, the second column represents die 1, the third column represents die 2, and so on up to die n; the first row represents super page 0, the second row represents super page 1, the third row represents super page 2, the fourth row represents super page 3, and so on up to super page n; label 10 represents a super word line, and label 11 represents a super block.

[0032] When writing user data, it is written in sequence, that is, die 0 → die 1 → die 2 → ... → die n, super word line 0 → super word line 1 → ... → super word line n.

[0033] When a super block is filled with user data, user data cannot be written by overwriting. Instead, the previously written user data must be erased before new user data can be written.

[0034] For the sixth-generation vertical three-dimensional stacking (Bit Cost Scaling, BiCS) flash memory, the physical block needs to be filled before it can be erased. If the physical block is erased when it is not full, it will affect the life of the Nand flash memory.

[0035] User data in Nand flash memory is very unstable. For example, if a superblock is no longer used after writing superpage 0 to superpage 2, dummy data must be written to multiple superwordlines following superpage 2 in the superblock to ensure the stability of the user data in superpages 0 to 2. Typically, eight wordlines of dummy data are written to ensure user data stability.

[0036] For Zoned Name Space (ZNS) solid state drives (SSDs), each partition is typically associated with a superblock. When a partition is closed, the corresponding superblock is no longer used. Of course, this superblock may not be full. Furthermore, if a large number of partitions are closed, a large number of incomplete superblocks will be generated. These incomplete superblocks may need to be filled with dummy data.

[0037] For ZNS SSDs, there are three corresponding operations for each partition: open zone, finish zone, and reset zone. The open zone operation refers to associating the partition with a superblock within the ZNS SSD. The finish zone operation triggers the writing of pseudo data to the superblock to fill it up. The reset zone operation removes the mapping between the partition and the superblock, rendering all user data on the superblock invalid.

[0038] Figure 2 FIG. 1 is a flow chart of a method for writing dummy data according to an embodiment of the present disclosure. The method for writing dummy data is suitable for writing dummy data into an unfilled super block. Figure 2 As shown, the dummy data writing method may include the following steps S21 to S22.

[0039] In step S21 , the priority of the super block into which the dummy data is to be written is determined.

[0040] For example, the priorities of the super-blocks to which the dummy data is to be written may include high priority, medium priority, and low priority, and the order of priority is: high priority > medium priority > low priority.

[0041] In step S22, based on the priority, dummy data is written into the super block where the dummy data is to be written.

[0042] By adopting the above technical solution, the priority of the super-block to which the pseudo data is to be written can be determined, and based on the priority, the pseudo data can be written into the super-block to which the pseudo data is to be written. In this way, the pseudo data can be written preferentially into the super-block to which the pseudo data is to be written with a high priority, thereby ensuring a stable pseudo data writing throughput and enabling the rapid and efficient generation of free super-blocks (i.e., super-blocks that can be rewritten).

[0043] In some embodiments, determining the priority of the super block to which the pseudo data is to be written as described in step S21 may include: determining the priority of the super block to which the pseudo data is to be written based on the operation performed on the partition associated with the super block to which the pseudo data is to be written, and whether the super block to which the pseudo data is to be written needs to be written with pseudo data for ensuring data stability.

[0044] For ZNS SSD, there are usually three partition operations: open partition, end partition, and reset partition.

[0045] If a superblock is no longer used after several superpages of user data have been written into it, dummy data may be written after the superpages into which the user data has been written to ensure the stability of the user data. For example, dummy data for N (e.g., 8) word lines may be written after the superpages into which the user data has been written to ensure the stability of the user data.

[0046] For example, the priority of the super block to be written with pseudo data is determined based on the operation performed on the partition associated with the super block to be written with pseudo data, and whether the super block to be written with pseudo data needs to be written with pseudo data for ensuring data stability. This may include: if the partition associated with the super block to be written with pseudo data has been subjected to a partition end operation and the super block to be written with pseudo data needs to be written with pseudo data for ensuring data stability, then determining the priority of the super block to be written with pseudo data to be the first priority, wherein the priority of the first priority is higher than the priority of other priorities.

[0047] The subregion to be written that the superblock of pseudo data is associated has been performed a subregion end operation, which means that the subregion end operation can trigger the superblock to write pseudo data to fill up the superblock. The superblock of pseudo data to be written needs to be written into the pseudo data for ensuring data stability, which means that the superblock of pseudo data to be written needs to be written into the pseudo data for ensuring user data stability as early as possible, otherwise the user data of having written will face unstable danger. Therefore, by satisfying that the associated subregion has been performed a subregion end operation and needs to be written into the pseudo data this condition for ensuring data stability, the priority of the superblock of pseudo data to be written is determined as the first priority, i.e. the highest priority, so as to ensure that the superblock of this pseudo data to be written is written into pseudo data as soon as possible. The first priority can also be called the highest priority.

[0048] In addition, a first priority list may be created, and the super blocks to be written with dummy data that are determined to be of the first priority may be mounted into the first priority list.

[0049] By way of example, the priority of the super block to be written with pseudo data is determined based on the operation performed on the partition associated with the super block to be written with pseudo data, and whether the super block to be written with pseudo data needs to be written with pseudo data for ensuring data stability. This may include: if a partition reset operation has been performed on the partition associated with the super block to be written with pseudo data, and the pseudo data for ensuring data stability has been written into the super block to be written with pseudo data, then determining that the priority of the super block to be written with pseudo data is the second priority, wherein the priority of the second priority is lower than the priority of the first priority, and the priority of the first priority is the highest priority.

[0050] The partition to which the superblock of pseudo data to be written is associated has been subjected to a partition reset operation, meaning that the mapping relationship between the partition and the superblock of pseudo data to be written has been contacted. The superblock of pseudo data to be written has been written with pseudo data for ensuring data stability, meaning that the user data on the superblock of pseudo data to be written is stable. Therefore, by determining the priority of the superblock of pseudo data to be written that meets the condition that the associated partition has been subjected to a partition reset operation and pseudo data for ensuring data stability has been written to the second priority, that is, a priority lower than the highest priority, it is possible to ensure that the superblock of pseudo data to be written with the highest priority is preferentially written with pseudo data, and to ensure the stable pseudo data write throughput of the superblock of pseudo data to be written with the second priority. The second priority can also be referred to as a medium priority.

[0051] In addition, a second priority list may be created, and the super block to be written with pseudo data determined to be of the second priority may be mounted on the second priority list. In addition, if a super block was previously mounted on another priority list, but if the super block currently meets the second priority, the super block may be deleted from the other priority list and mounted on the second priority list.

[0052] For example, the step of determining the priority of the super block to be written with the dummy data based on the operation performed on the partition associated with the super block to be written with the dummy data, and whether the super block to be written with the dummy data needs to be written with dummy data for ensuring data stability, may include: if the partition associated with the super block to be written with the dummy data has been subjected to a partition end operation and the dummy data for ensuring data stability has been written to the super block to be written with the dummy data, determining that the priority of the super block to be written with the dummy data is the third priority, wherein the priority of the third priority is the lowest priority. The third priority may also be referred to as a low priority.

[0053] The partition to which the superblock of pseudo data to be written is associated has been subjected to a partition end operation, meaning that the partition end operation can trigger the writing of pseudo data in the superblock to fill up the superblock. The superblock of pseudo data to be written has been written with pseudo data for ensuring data stability, meaning that the user data in the superblock of pseudo data to be written is stable, and the superblock of pseudo data to be written is not in urgent need of being written with pseudo data. Therefore, by determining the priority of the superblock of pseudo data to be written that satisfies the condition that the associated partition has been subjected to a partition end operation and pseudo data to be written with pseudo data for ensuring data stability as the third priority, i.e. the lowest priority, it is possible to ensure that the superblock of pseudo data to be written with a priority higher than the third priority is given priority to be written with pseudo data, and it is possible to ensure the stable pseudo data write throughput of the superblock of pseudo data to be written with the third priority.

[0054] In addition, a third priority list may be created, and the superblock to which the pseudo data to be written is determined to be the third priority is mounted to the third priority list. In addition, if a certain superblock was previously determined to be the first priority, then after the pseudo data for ensuring data stability is written to the superblock, the priority of the superblock will be changed from the first priority to the third priority, and it will be deleted from the first priority list and mounted to the third priority list. In addition, if a certain superblock was previously determined to be the third priority, then after the partition associated with the superblock is subjected to a partition reset operation, the priority of the superblock will be changed from the third priority to the second priority, and it will be deleted from the first priority list and mounted to the second priority list.

[0055] By adopting the above technical solution, the priority of the super-block to which the pseudo-data is to be written can be determined based on the operation performed on the partition associated with the super-block to which the pseudo-data is to be written, and whether the super-block to which the pseudo-data is to be written needs to be written with pseudo-data for ensuring data stability, thereby ensuring that pseudo-data is written preferentially to the super-block to which the pseudo-data is to be written with a high priority, ensuring a stable pseudo-data writing throughput, and being able to quickly and efficiently generate free super-blocks (i.e., super-blocks that can be rewritten).

[0056] Figure 3 The present invention is a flowchart of writing dummy data into a super block to which dummy data is to be written based on priority according to an embodiment of the present disclosure.

[0057] like Figure 3 As shown, first in step S221, based on the priority, one of the super blocks to be written with dummy data is selected. For example, the super blocks to be written with dummy data are selected in descending order of priority, and the number of super blocks to be written with dummy data selected at the same time is 1.

[0058] In some embodiments, one of the superblocks of pseudo data to be written can be selected according to the order of priority from high to low and the number of valid data in the superblock of pseudo data to be written in the same priority. For example, assuming that there are superblocks of pseudo data to be written in the first priority list, the second priority list and the third priority list, then according to the order of priority from high to low, it is determined that one of the superblocks of pseudo data to be written needs to be selected from the first priority list first. Then, according to the number of valid data in the superblocks of pseudo data to be written in each of the first priority list, a superblock of pseudo data to be written can be finally selected. When selecting, the first priority list can be traversed to select the superblock of pseudo data to be written with the most valid data. The number of pseudo data that needs to be written in such a superblock is the least, which serves as the superblock of pseudo data to be written that is finally selected. By such a selection method, it is possible to ensure that the superblock of pseudo data to be written that is selected is filled up faster, thereby quickly providing a free superblock.

[0059] Then, in step S222, the dummy data is written into the selected super block to be written with the dummy data.

[0060] By adopting the above technical solution, it is possible to ensure that only one super block to be written with dummy data is allowed to be written with dummy data at the same time, thereby ensuring the stability of the dummy data writing performance.

[0061] Figure 4 The flowchart of writing dummy data into a super block selected for writing dummy data according to an embodiment of the present disclosure is shown.

[0062] like Figure 4 As shown, first, in step S2221, based on the total number of super blocks to which the dummy data is to be written at the priority level to which the selected super block to which the dummy data is to be written belongs, the number of bare chips to which the dummy data is to be written in the selected super block to which the dummy data is to be written is determined.

[0063] For example, the priority of the super block selected to be written with pseudo data is the first priority, and the total number of super blocks to be written with pseudo data currently belonging to the first priority is N. Then, based on the total number N, the number of bare chips in which pseudo data is written at the same time in the super block selected to be written with pseudo data can be determined.

[0064] In some embodiments, for every increase of M in the total number of super-blocks to be written with pseudo-data under the priority to which the selected super-block to be written with pseudo-data belongs, the number of bare chips to which pseudo-data is written at the same time increases by k, where M and k are positive integers. The values ​​of M and k can be set according to actual needs. Taking the first priority as an example, if the total number of super-blocks to be written with pseudo-data belonging to the first priority is within the interval (0, m], the number of bare chips to which pseudo-data is written at the same time in the super-block to be written with pseudo-data selected is k1; if the total number of super-blocks to be written with pseudo-data belonging to the first priority is within the interval (m, m1], the number of bare chips to which pseudo-data is written at the same time in the super-block to be written with pseudo-data selected is k2, and so on, where k2 is greater than k1. By increasing the concurrency of the bare chips to which pseudo-data are written at the same time, free super-blocks can be generated quickly and efficiently while ensuring the stability of the pseudo-data writing performance.

[0065] Then, in step S2222 , based on the number of dies into which the dummy data is simultaneously written, the dummy data is written into the selected super-block to be written with the dummy data.

[0066] By adopting the above technical solution, the concurrency of the bare chips in which the pseudo data is written in the super-block selected to be written to the pseudo data increases as the total number of super-blocks to which the pseudo data is written under the priority level to which the pseudo data is written increases. This can ensure the stability of the pseudo-data writing performance while quickly and efficiently generating free super-blocks, thereby ensuring that operations such as host writing and internal data migration will not be blocked.

[0067] Figure 5 1 is a schematic block diagram of a dummy data writing device according to an embodiment of the present disclosure. The dummy data writing device is suitable for writing dummy data into an unfilled super block. Figure 5 As shown, the dummy data writing device may include: a determining module 51 for determining the priority of the super block to which the dummy data is to be written; and a writing module 52 for writing the dummy data into the super block to which the dummy data is to be written based on the priority.

[0068] By adopting the above technical solution, the priority of the super-block to which the pseudo data is to be written can be determined, and based on the priority, the pseudo data can be written into the super-block to which the pseudo data is to be written. In this way, the pseudo data can be written preferentially into the super-block to which the pseudo data is to be written with a high priority, thereby ensuring a stable pseudo data writing throughput and enabling the rapid and efficient generation of free super-blocks (i.e., super-blocks that can be rewritten).

[0069] Optionally, the determining module 51 determines the priority of the super block to which the dummy data is to be written, including:

[0070] The priority of the super block to be written with dummy data is determined according to the operation executed on the partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability.

[0071] Optionally, the determining module 51 determines the priority of the super-block to be written with the dummy data according to an operation executed on a partition associated with the super-block to be written with the dummy data and whether the super-block to be written with the dummy data needs to be written with dummy data for ensuring data stability, including:

[0072] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the super block to which the pseudo data is to be written needs to be written with the pseudo data for ensuring data stability, then the priority of the super block to which the pseudo data is to be written is determined to be the first priority, wherein the priority of the first priority is higher than the priority of other priorities.

[0073] Optionally, the determining module 51 determines the priority of the super-block to be written with the dummy data according to an operation executed on a partition associated with the super-block to be written with the dummy data and whether the super-block to be written with the dummy data needs to be written with dummy data for ensuring data stability, including:

[0074] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition reset operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the second priority, wherein the priority of the second priority is lower than the priority of the first priority, and the priority of the first priority is the highest priority.

[0075] Optionally, the determining module 51 determines the priority of the super-block to be written with the dummy data according to an operation executed on a partition associated with the super-block to be written with the dummy data and whether the super-block to be written with the dummy data needs to be written with dummy data for ensuring data stability, including:

[0076] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the third priority, wherein the priority of the third priority is the lowest priority.

[0077] Optionally, the writing module 52 writes the dummy data into the super block to be written with the dummy data based on the priority, including:

[0078] Based on the priority, selecting one of the super blocks to be written with dummy data; and

[0079] The dummy data is written into the selected super block to be written with the dummy data.

[0080] Optionally, the writing module 52 writes the dummy data into the selected super block to be written with the dummy data, including:

[0081] Determining the number of dies simultaneously written with the dummy data in the selected super-block to be written with the dummy data based on the total number of super-blocks to be written with the dummy data at the priority level to which the selected super-block to be written with the dummy data belongs;

[0082] Based on the number of dies into which the dummy data is simultaneously written, the dummy data is written into the selected super block into which the dummy data is to be written.

[0083] Optionally, for every increase in the total number of super blocks to be written with dummy data at the priority level to which the selected super block to be written with dummy data belongs by M, the number of bare chips to which the dummy data is simultaneously written increases by k, where M and k are positive integers.

[0084] Optionally, the writing module 52 selects one of the super blocks to be written with the dummy data based on the priority, including:

[0085] One of the super blocks to be written with dummy data is selected according to the order of the priorities from high to low and the number of valid data in the super blocks to be written with dummy data of the same priority.

[0086] The specific implementation of the operations performed by each module in the dummy data writing device according to the embodiment of the present disclosure has been described in detail in the relevant method and will not be repeated here.

[0087] The present disclosure also provides a computer-readable medium having a computer program stored thereon, which implements the steps of any method described in the present disclosure when the program is executed by a processing device.

[0088] The present disclosure also provides an electronic device, comprising:

[0089] a storage device having at least one computer program stored thereon;

[0090] At least one processing device is used to execute the at least one computer program in the storage device to implement the steps of any method described in the present disclosure.

[0091] Reference below Figure 6, which shows a schematic structural diagram of an electronic device 600 suitable for implementing the embodiments of the present disclosure. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 6 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0092] like Figure 6 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the electronic device 600 are also stored in the RAM 603. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0093] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 6 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.

[0094] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.

[0095] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0096] In some embodiments, the client and server can communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0097] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0098] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: determines the priority of the super block to which the dummy data is to be written; and based on the priority, writes the dummy data into the super block to which the dummy data is to be written.

[0099] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0100] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0101] The modules described in the embodiments of the present disclosure may be implemented in software or hardware. The name of a module does not necessarily limit the module itself. For example, a determination module may be described as a "module for determining the priority of a super-block to which dummy data is to be written."

[0102] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0103] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0104] According to one or more embodiments of the present disclosure, Example 1 provides a dummy data writing method, including: determining the priority of a super block to which dummy data is to be written; and writing dummy data into the super block to which dummy data is to be written based on the priority.

[0105] According to one or more embodiments of the present disclosure, Example 2 provides the method of Example 1, wherein determining the priority of the super block to which the dummy data is to be written includes:

[0106] The priority of the super block to be written with dummy data is determined according to the operation executed on the partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability.

[0107] According to one or more embodiments of the present disclosure, Example 3 provides the method of Example 2, wherein determining the priority of the super block to be written with dummy data based on an operation performed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes:

[0108] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the super block to which the pseudo data is to be written needs to be written with the pseudo data for ensuring data stability, then the priority of the super block to which the pseudo data is to be written is determined to be the first priority, wherein the priority of the first priority is higher than the priority of other priorities.

[0109] According to one or more embodiments of the present disclosure, Example 4 provides the method of Example 2, wherein determining the priority of the super block to be written with dummy data based on an operation performed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes:

[0110] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition reset operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the second priority, wherein the priority of the second priority is lower than the priority of the first priority, and the priority of the first priority is the highest priority.

[0111] According to one or more embodiments of the present disclosure, Example 5 provides the method of Example 2, wherein determining the priority of the super block to be written with dummy data based on an operation performed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes:

[0112] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the third priority, wherein the priority of the third priority is the lowest priority.

[0113] According to one or more embodiments of the present disclosure, Example 6 provides the method of any one of Examples 1 to 5, wherein, based on the priority, writing the dummy data into the super block to which the dummy data is to be written includes:

[0114] Based on the priority, selecting one of the super blocks to be written with dummy data; and

[0115] The dummy data is written into the selected super block to be written with the dummy data.

[0116] According to one or more embodiments of the present disclosure, Example 7 provides the method of Example 6, wherein writing the dummy data into the selected super block to be written with the dummy data includes:

[0117] Determining the number of dies simultaneously written with the dummy data in the selected super-block to be written with the dummy data based on the total number of super-blocks to be written with the dummy data at the priority level to which the selected super-block to be written with the dummy data belongs;

[0118] Based on the number of dies into which the dummy data is simultaneously written, the dummy data is written into the selected super block into which the dummy data is to be written.

[0119] According to one or more embodiments of the present disclosure, Example 8 provides the method of Example 7, wherein, for every increase in the total number of super blocks to which the pseudo data is to be written under the priority level of the selected super blocks to which the pseudo data is to be written, the number of bare chips to which the pseudo data is simultaneously written increases by k, wherein M and k are positive integers.

[0120] According to one or more embodiments of the present disclosure, Example 9 provides the method of Example 6, wherein selecting one of the super blocks to be written with the dummy data based on the priority level includes:

[0121] One of the super blocks to be written with dummy data is selected according to the order of the priorities from high to low and the number of valid data in the super blocks to be written with dummy data of the same priority.

[0122] According to one or more embodiments of the present disclosure, Example 10 provides a dummy data writing device, including:

[0123] A determination module, configured to determine the priority of the superblock to which the dummy data is to be written;

[0124] The writing module is configured to write the dummy data into the super block to be written with the dummy data based on the priority.

[0125] According to one or more embodiments of the present disclosure, Example 11 provides the apparatus of Example 10, wherein determining the priority of the super block to which the dummy data is to be written includes:

[0126] The priority of the super block to be written with dummy data is determined according to the operation executed on the partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability.

[0127] According to one or more embodiments of the present disclosure, Example 12 provides the apparatus of Example 11, wherein determining the priority of the super block to be written with the dummy data according to an operation performed on a partition associated with the super block to be written with the dummy data and whether the super block to be written with the dummy data needs to be written with dummy data for ensuring data stability includes:

[0128] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the super block to which the pseudo data is to be written needs to be written with the pseudo data for ensuring data stability, then the priority of the super block to which the pseudo data is to be written is determined to be the first priority, wherein the priority of the first priority is higher than the priority of other priorities.

[0129] According to one or more embodiments of the present disclosure, Example 13 provides the apparatus of Example 11, wherein determining the priority of the super block to be written with dummy data according to an operation performed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes:

[0130] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition reset operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the second priority, wherein the priority of the second priority is lower than the priority of the first priority, and the priority of the first priority is the highest priority.

[0131] According to one or more embodiments of the present disclosure, Example 14 provides the apparatus of Example 11, wherein determining the priority of the super block to be written with dummy data according to an operation performed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes:

[0132] If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the third priority, wherein the priority of the third priority is the lowest priority.

[0133] According to one or more embodiments of the present disclosure, Example 15 provides the apparatus of any one of Examples 10 to 14, wherein, based on the priority, writing the dummy data into the super block to which the dummy data is to be written comprises:

[0134] Based on the priority, selecting one of the super blocks to be written with dummy data; and

[0135] The dummy data is written into the selected super block to be written with the dummy data.

[0136] According to one or more embodiments of the present disclosure, Example 16 provides the apparatus of Example 15, wherein writing the dummy data into the selected super block to be written with the dummy data comprises:

[0137] Determining the number of dies simultaneously written with the dummy data in the selected super-block to be written with the dummy data based on the total number of super-blocks to be written with the dummy data at the priority level to which the selected super-block to be written with the dummy data belongs;

[0138] Based on the number of dies into which the dummy data is simultaneously written, the dummy data is written into the selected super block into which the dummy data is to be written.

[0139] According to one or more embodiments of the present disclosure, Example 17 provides the device of Example 16, wherein, for every increase in the total number of super blocks to which the pseudo data is to be written under the priority level to which the selected super blocks to which the pseudo data is to be written belong, the number of bare chips to which the pseudo data is simultaneously written increases by k, wherein M and k are positive integers.

[0140] According to one or more embodiments of the present disclosure, Example 18 provides the apparatus of Example 15, wherein selecting one of the super blocks to be written with the dummy data based on the priority level includes:

[0141] One of the super blocks to be written with dummy data is selected according to the order of the priorities from high to low and the number of valid data in the super blocks to be written with dummy data of the same priority.

[0142] According to one or more embodiments of the present disclosure, Example 19 provides a computer-readable medium having a computer program stored thereon, which implements the steps of the method described in any one of Examples 1-9 when executed by a processing device.

[0143] According to one or more embodiments of the present disclosure, Example 20 provides an electronic device, including:

[0144] a storage device having at least one computer program stored thereon;

[0145] At least one processing device, configured to execute the at least one computer program in the storage device to implement the steps of the method described in any one of Examples 1-9.

[0146] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also includes other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned disclosed concepts. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.

[0147] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0148] Although the subject matter has been described using language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims. Regarding the apparatus in the above-described embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method and will not be elaborated upon here.

Claims

1. A method for writing dummy data, characterized in that: include: Determine the priority of the superblock to which the dummy data is to be written; Based on the priority, dummy data is written into the super block where the dummy data is to be written.

2. The method according to claim 1, characterized in that Determining the priority of the super block to which the dummy data is to be written comprises: The priority of the super block to be written with dummy data is determined according to the operation executed on the partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability.

3. The method according to claim 2, characterized in that The determining the priority of the super block to be written with dummy data according to an operation executed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes: If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the super block to which the pseudo data is to be written needs to be written with the pseudo data for ensuring data stability, then the priority of the super block to which the pseudo data is to be written is determined to be the first priority, wherein the priority of the first priority is higher than the priority of other priorities.

4. The method according to claim 2, characterized in that The determining the priority of the super block to be written with dummy data according to an operation executed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes: If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition reset operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the second priority, wherein the priority of the second priority is lower than the priority of the first priority, and the priority of the first priority is the highest priority.

5. The method according to claim 2, characterized in that The determining the priority of the super block to be written with dummy data according to an operation executed on a partition associated with the super block to be written with dummy data and whether the super block to be written with dummy data needs to be written with dummy data for ensuring data stability includes: If the partition associated with the super block to which the pseudo data is to be written has been subjected to a partition termination operation and the pseudo data for ensuring data stability has been written into the super block to which the pseudo data is to be written, the priority of the super block to which the pseudo data is to be written is determined to be the third priority, wherein the priority of the third priority is the lowest priority.

6. The method according to any one of claims 1 to 5, characterized in that The step of writing the dummy data into the super block to be written with the dummy data based on the priority level includes: Based on the priority, selecting one of the super blocks to be written with dummy data; and The dummy data is written into the selected super block to be written with the dummy data.

7. The method according to claim 6, characterized in that Writing the dummy data into the selected super block to be written with the dummy data comprises: Determining the number of dies simultaneously written with the dummy data in the selected super-block to be written with the dummy data based on the total number of super-blocks to be written with the dummy data at the priority level to which the selected super-block to be written with the dummy data belongs; Based on the number of dies into which the dummy data is simultaneously written, the dummy data is written into the selected super block into which the dummy data is to be written.

8. The method according to claim 7, characterized in that For every increase in the total number of super blocks to be written with dummy data at the priority level of the selected super block to be written with dummy data by M, the number of dies to which the dummy data is simultaneously written increases by k, where M and k are positive integers.

9. The method according to claim 6, characterized in that The selecting, based on the priority, one of the super blocks to be written with the dummy data comprises: One of the super blocks to be written with dummy data is selected according to the order of the priorities from high to low and the number of valid data in the super blocks to be written with dummy data of the same priority.

10. A dummy data writing device, characterized in that: include: A determination module, configured to determine the priority of the superblock to which the dummy data is to be written; The writing module is configured to write the dummy data into the super block to be written with the dummy data based on the priority.

11. A computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processing device, the steps of the method according to any one of claims 1 to 9 are implemented.

12. An electronic device, characterized in that: include: a storage device having at least one computer program stored thereon; At least one processing device, configured to execute the at least one computer program in the storage device to implement the steps of the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • System and method for managing block writing in a non-volatile memory system

    CN108376120A

  • Method and device for writing data

    CN110716699A

  • Pseudo data processing method and device, execution unit and processor

    CN114327367A

  • Systems and methods with variable size super blocks in zoned namespace devices

    US11853203B1

  • Recording of Data with Special Storage Space Requirements on a Storage Medium

    US20080005756A1