Storage device and control method and control device thereof

By receiving and verifying programming instructions in Nand flash memory, detecting the status of the storage device, and avoiding programming operations in invalid or programmed conditions, the problem of empty programming is solved, and programming efficiency and stability of the storage device are improved.

CN112951305BActive Publication Date: 2024-12-17GIGADEVICE SEMICON (BEIJING) INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201911257879.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-12-10
Publication Date
2024-12-17
Estimated Expiration
2039-12-10

AI Technical Summary

Technical Problem

When Nand flash memory is programmed, it will perform empty programming operations when the input data is FFh, resulting in low programming efficiency and memory unit damage.

Method used

By receiving programming instructions, verifying the programming data, ending the programming operation if it is invalid, detecting the storage identification and programming state of the storage device, avoiding programming operations in the invalid or programmed state.

Benefits of technology

It effectively avoids empty programming operations, improves programming efficiency, reduces damage to storage units, and improves the working cycle of storage devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112951305B_ABST
    Figure CN112951305B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention discloses a storage device and a control method and a control device thereof. The control method includes: receiving a first programming instruction, and verifying the programming data in the first programming instruction; if it is detected that the programming data in the first programming instruction contains valid programming data, executing a programming operation. In the embodiment of the present invention, the programming data is verified before executing the programming operation. The programming operation is executed only when valid programming data is contained; otherwise, the programming operation is not executed when there is only invalid programming data. Therefore, when the original data input by the user is invalid programming data, i.e., FFh, no programming operation is performed, thereby avoiding a vain programming operation, reducing the programming interference effect on the storage unit, and improving programming efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to storage technology, and more particularly to a storage device and a control method and a control apparatus thereof. Background Art

[0002] Nand flash memory is a type of flash memory that uses a nonlinear macrocell mode inside, providing a cheap and effective solution for the implementation of solid-state large-capacity memory. Nand flash memory has the advantages of large capacity and fast rewrite speed, and is suitable for storing large amounts of data. Therefore, it has been increasingly widely used in the industry, such as embedded products including digital cameras, MP3 player memory cards, and compact USB flash drives.

[0003] When Nand flash is programming, no matter what the programming data input by the user is, it first applies a higher voltage to the selected word line to tunnel the electrons in the substrate into the floating gate, and then performs programming verification. If the verification fails, it raises the voltage of the selected word line and continues programming, and repeats this process until the programming verification succeeds. However, if the original data input by the user is all FFh (that is, there is no bit line that needs to be programmed), then a programming operation will be performed in vain. Summary of the invention

[0004] The embodiment of the present invention provides a storage device and a control method and a control device thereof to avoid empty programming operations.

[0005] An embodiment of the present invention provides a method for controlling a storage device, including:

[0006] receiving a first programming instruction, and verifying programming data in the first programming instruction;

[0007] If it is detected that the program data in the first program instruction contains valid program data, a program operation is performed.

[0008] Furthermore, the method further includes: if it is detected that the programming data in the first programming instruction are all invalid programming data, terminating the programming operation.

[0009] Furthermore, the storage device further comprises a plurality of storage units, and before performing the programming operation, the step further comprises:

[0010] Detecting whether the storage identifier of the storage device is a power-off storage identifier;

[0011] If it is detected that the storage identifier of the storage device is a power-off storage identifier, determining a programming state of a storage unit corresponding to the first programming instruction;

[0012] If it is determined that the storage unit corresponding to the first programming instruction is in an unprogrammed state, a programming operation is performed.

[0013] Furthermore, after determining the programming state of the storage unit corresponding to the first programming instruction, the method further includes:

[0014] If it is determined that the storage unit corresponding to the first programming instruction is in a programmed state, the programming operation is terminated.

[0015] Based on the same inventive concept, an embodiment of the present invention further provides a control device for a storage device, including:

[0016] A verification module, configured to receive a first programming instruction and verify programming data in the first programming instruction;

[0017] The operation module is configured to execute a program operation if it is detected that the program data in the first program instruction contains valid program data.

[0018] Furthermore, the operation module comprises an end operation unit, and the end operation unit is used to end the programming operation if it is detected that the programming data in the first programming instruction are all invalid programming data.

[0019] Furthermore, the storage device further includes a plurality of storage units, and the operation module further includes:

[0020] An identification detection unit, used to detect whether the storage identification of the storage device is a power-off storage identification;

[0021] a state determination unit, configured to determine a programming state of a storage unit corresponding to the first programming instruction if it is detected that the storage identifier of the storage device is a power-off storage identifier;

[0022] The execution operation unit executes a programming operation if it is determined that the storage unit corresponding to the first programming instruction is in an unprogrammed state.

[0023] Furthermore, the operation module includes an end operation unit, and the end operation unit is used to end the programming operation if it is determined that the storage unit corresponding to the first programming instruction is in a programmed state.

[0024] Based on the same inventive concept, an embodiment of the present invention further provides a storage device, including:

[0025] one or more processors;

[0026] A storage module, used for storing one or more programs;

[0027] When the one or more programs are executed by the one or more processors, the one or more processors implement the control method of the storage device as described above.

[0028] In an embodiment of the present invention, a first programming instruction is received, and the programming data in the first programming instruction is verified; if it is detected that the programming data in the first programming instruction contains valid programming data, a programming operation is performed. In an embodiment of the present invention, the programming data is verified before performing the programming operation, and the programming operation is performed only when valid programming data is contained; otherwise, the programming operation is not performed when there is only invalid programming data. Therefore, when the original data input by the user is invalid programming data, i.e., FFh, no programming operation is performed, thereby avoiding a vain programming operation, reducing the programming interference effect on the storage unit, and improving programming efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0030] Figure 1 is a schematic diagram of a storage device provided by an embodiment of the present invention;

[0031] Figure 2 is a schematic diagram of a storage device control method provided by an embodiment of the present invention;

[0032] Figure 3 It is a schematic diagram of a control device of a storage device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0033] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described through implementation methods with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0034] refer to Figure 1 FIG. 1 is a schematic diagram of a storage device provided by an embodiment of the present invention, referring to FIG. Figure 2As shown, it is a flow chart of a control method of a storage device provided by an embodiment of the present invention. The storage device provided by this embodiment may be a flash memory, such as Nand flash. The storage device provided by this embodiment also includes a plurality of storage units 1, and the storage unit 1 may be the smallest storage unit in the storage device, for example, the storage unit is a page storage unit of Nand flash. The control device 2 in the storage device performs an operation on the storage unit 1 according to the operation command, and the control device 2 may be implemented by software and / or hardware to execute the control method of the storage device.

[0035] This embodiment provides a storage device control method, including:

[0036] Step 110: Receive a first programming instruction, and verify the programming data in the first programming instruction.

[0037] In this embodiment, the control device of the storage device receives various operation instructions transmitted by the host and performs corresponding operations according to the operation instructions. Here, the control device receives a first programming instruction, which carries programming data and a programming address. The control device can determine the storage unit to be programmed and the programming data to be written in the storage unit according to the first programming instruction.

[0038] In this embodiment, after receiving the first programming instruction, the control device verifies the programming data carried in the first programming instruction, that is, verifies whether the programming data is invalid programming data. Invalid programming data does not need to be programmed, and the programming address corresponding to the corresponding invalid programming data does not need a bit line. Therefore, the specific process of the control device verifying the programming data in the programming instruction can be to check whether there is a bit line address in the programming address. If not, it means that the programming instruction does not have a bit line that needs to be programmed. If yes, it means that the programming instruction has a bit line that needs to be programmed, that is, there is valid programming data.

[0039] Step 120 : If it is detected that the programming data in the first programming instruction contains valid programming data, a programming operation is performed.

[0040] In this embodiment, the control device verifies the programming data carried in the first programming instruction, and when it is found that the programming address in the first programming instruction contains a bit line address, it means that the programming instruction has a bit line that needs to be programmed, that is, there is valid programming data. At this time, the control device executes the first programming instruction.

[0041] In this embodiment, a first programming instruction is received, and the programming data in the first programming instruction is verified; if it is detected that the programming data in the first programming instruction contains valid programming data, the programming operation is performed. In this embodiment, the programming data is verified before the programming operation is performed, and the programming operation is performed only when valid programming data is contained; otherwise, the programming operation is not performed when there is only invalid programming data. Therefore, when the original data input by the user is invalid programming data, i.e., FFh, the programming operation is not performed, thus avoiding a programming operation in vain, reducing the programming interference effect on the storage unit, and improving the programming efficiency.

[0042] Exemplarily, based on the above technical solution, the control method may further include: if it is detected that the programming data in the first programming instruction are all invalid programming data, the programming operation is terminated. In this embodiment, invalid programming data does not need to be programmed, and the programming address corresponding to the corresponding invalid programming data does not need a bit line. Therefore, after the control device detects whether there is a bit line address in the programming address in the programming instruction, if it does not indicate that the programming instruction does not have a bit line that needs to be programmed, the programming operation is not performed at this time, avoiding the empty programming operation caused by FFh.

[0043] Exemplarily, based on the above technical solution, the optional storage device further includes a plurality of storage units, and before executing the programming operation in step 120, the following steps are further included:

[0044] S121, detecting whether the storage identifier of the storage device is a power-off storage identifier;

[0045] S122: if it is detected that the storage identifier of the storage device is a power-off storage identifier, determine the programming state of the storage unit corresponding to the first programming instruction;

[0046] S123: If it is determined that the storage unit corresponding to the first programming instruction is in an unprogrammed state, execute a programming operation.

[0047] Optionally, after determining the programming state of the storage unit corresponding to the first programming instruction, the method further includes: if it is determined that the storage unit corresponding to the first programming instruction is in a programmed state, ending the programming operation.

[0048] In the prior art, if during the programming process, the threshold of the storage unit has reached or is close to the target threshold, the storage device is prone to abnormal power failure, and then the programming instruction needs to be sent again after the power is restored. Since the threshold of the storage unit may have reached the target threshold before the power failure, directly performing the programming operation at this time will cause the threshold of the storage unit to be raised too high, thereby causing the working cycle of the storage device to deteriorate. Based on this, in this embodiment, after the control device determines that the programming data in the first programming instruction contains valid programming data, it will determine whether the storage device has experienced a power failure when executing the first programming instruction, that is, detect whether the storage identifier of the storage device is a power failure storage identifier.

[0049] If the storage identifier of the storage device is a power-off storage identifier, it indicates that the storage device has experienced a power failure when executing the first programming instruction. At this time, the first programming instruction received by the control device is the first programming instruction that is reissued after the storage device is powered off and then powered on again. Based on this, the control device needs to determine whether the first programming instruction has been executed before the last power failure, that is, to determine the programming status of the storage unit corresponding to the first programming instruction. If the storage unit corresponding to the first programming instruction is in an unprogrammed state, it means that the first programming instruction was not executed before the last power failure, and the programming operation corresponding to the first programming instruction needs to be executed at this time. If the storage unit corresponding to the first programming instruction is in a programmed state, it means that the first programming instruction has been executed before the last power failure, and the programming data corresponding to the first programming instruction has been written into the corresponding storage unit. At this time, there is no need to repeat the first programming instruction and the programming operation ends directly.

[0050] On the other hand, if the storage device has no storage identifier or the storage identifier is different from the power-off storage identifier, it indicates that the storage device is executing the first programming instruction for the first time. At this time, the control device directly executes the first programming instruction.

[0051] It should be noted that when the storage device is powered off, the working voltage is lower than the working standard voltage. If the control device detects that the working voltage of the storage device is lower than the working standard voltage, it is determined that the storage device has a power failure. At this time, the control device will mark the storage device as power failure, that is, mark the storage identifier of the storage device as consistent with the power failure storage identifier. This makes it easier to determine whether the storage device has a power failure.

[0052] In this embodiment, the original programming data input by the user is first verified. If it is found during the verification process that the original data input by the user contains valid data, it is then determined whether the storage device has experienced an abnormal power failure. If an abnormal power failure has occurred, the storage unit data is first verified, that is, whether the storage unit has been programmed. If the result of the verification is that it has been programmed, the current programming operation is terminated. If the result of the verification is that it has not been programmed, the programming operation is performed. When performing the programming operation, a programming voltage is applied to the selected word line for programming, and then a programming verification is performed until the verification is successful. If the storage device has not experienced an abnormal power failure in the first programming instruction, the same process as the traditional solution is adopted, and the programming voltage is first applied and then verified. Compared with the prior art, a power failure detection is performed first, and then a programming status verification is performed. The programming operation is performed only when the power is off and the programming state is not in the state, which avoids the problem of excessively high threshold voltage of the storage unit caused by direct programming after a power failure, and also improves the working cycle of the storage device.

[0053] Based on the same inventive concept, an embodiment of the present invention further provides a control device for a storage device, which is integrated in the storage device and is used to execute the control method described in any of the above embodiments.

[0054] like Figure 3 As shown, the control device provided in this embodiment includes:

[0055] The verification module 210 is used to receive a first programming instruction and verify the programming data in the first programming instruction; the operation module 220 is used to perform a programming operation if it is detected that the programming data in the first programming instruction contains valid programming data.

[0056] Optionally, the operation module 220 includes an end operation unit, and the end operation unit is used to end the programming operation if it is detected that the programming data in the first programming instruction are all invalid programming data.

[0057] Optionally, the storage device further includes a plurality of storage units, and the operation module 220 further includes:

[0058] An identification detection unit, used to detect whether the storage identification of the storage device is a power-off storage identification;

[0059] a state determination unit, configured to determine a programming state of a storage unit corresponding to a first programming instruction if it is detected that a storage identifier of the storage device is a power-off storage identifier;

[0060] The execution operation unit executes a programming operation if it is determined that the storage unit corresponding to the first programming instruction is in an unprogrammed state.

[0061] Optionally, the operation module 220 includes an end operation unit, and the end operation unit is used to end the programming operation if it is determined that the storage unit corresponding to the first programming instruction is in a programmed state.

[0062] In this embodiment, the control device receives the first programming instruction and verifies the programming data in the first programming instruction; if it is detected that the programming data in the first programming instruction contains valid programming data, the programming operation is performed. In this embodiment, the programming data is verified before the programming operation is performed, and the programming operation is performed only when valid programming data is contained; otherwise, the programming operation is not performed when there is only invalid programming data. Therefore, when the original data input by the user is invalid programming data, i.e., FFh, the programming operation is not performed, thus avoiding a vain programming operation, reducing the programming interference effect on the storage unit, and improving the programming efficiency.

[0063] Based on the same inventive concept, an embodiment of the present invention also provides a storage device, including: one or more processors; a storage module for storing one or more programs; when one or more programs are executed by one or more processors, the one or more processors implement the control method of the storage device described in any of the above embodiments.

[0064] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, combinations and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims

1. A method for controlling a storage device, characterized in that: include: receiving a first programming instruction, and verifying programming data in the first programming instruction; The verifying the programming data in the first programming instruction comprises: detecting whether a bit line address exists in a programming address; If it is detected that the programming data in the first programming instruction exists in the bit line address, it indicates that the first programming instruction contains valid programming data, and a programming operation is performed; The storage device further includes a plurality of storage units, and before performing the programming operation, the storage device further includes: Detecting whether the storage identifier of the storage device is a power-off storage identifier; If it is detected that the storage identifier of the storage device is a power-off storage identifier, determining a programming state of a storage unit corresponding to the first programming instruction; If it is determined that the storage unit corresponding to the first programming instruction is in an unprogrammed state, a programming operation is performed.

2. The control method according to claim 1, characterized in that: Also includes: If it is detected that the programming data in the first programming instruction are all invalid programming data, the programming operation is terminated.

3. The control method according to claim 1, characterized in that: After determining the programming state of the storage unit corresponding to the first programming instruction, the method further includes: If it is determined that the storage unit corresponding to the first programming instruction is in a programmed state, the programming operation is terminated.

4. A control device for a storage device, characterized in that: include: A verification module, configured to receive a first programming instruction and verify programming data in the first programming instruction; The verifying the programming data in the first programming instruction comprises: detecting whether a bit line address exists in a programming address; an operation module, configured to determine that the first programming instruction contains valid programming data and execute a programming operation if it is detected that the programming data in the first programming instruction exists in a bit line address; The storage device further includes a plurality of storage units, and the operation module further includes: An identification detection unit, used to detect whether the storage identification of the storage device is a power-off storage identification; a state determination unit, configured to determine a programming state of a storage unit corresponding to the first programming instruction if it is detected that the storage identifier of the storage device is a power-off storage identifier; The execution operation unit executes a programming operation if it is determined that the storage unit corresponding to the first programming instruction is in an unprogrammed state.

5. The control device according to claim 4, characterized in that: The operation module includes an end operation unit, and the end operation unit is used to end the programming operation if it is detected that the programming data in the first programming instruction are all invalid programming data.

6. The control device according to claim 5, characterized in that: The operation module includes an end operation unit, and the end operation unit is used to end the programming operation if it is determined that the storage unit corresponding to the first programming instruction is in a programmed state.

7. A storage device, characterized in that: include: one or more processors; A storage module, used for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the storage device control method according to any one of claims 1 to 3.