This application claims priority to Taiwan Application Serial Number 113100154, filed Jan. 2, 2024, which is herein incorporated by reference in its entirety.
The present disclosure relates to memory technology, especially a control circuit, an operation method and an electronic device.
The control circuit of the memory reads the memory by applying a threshold voltage to multiple word lines of the memory. Multiple memory units that are frequently operated together (e.g., multiple pages in the same block) may have similar characteristics. For example, the control circuit can use the same threshold voltage setting (eg, a threshold voltage offset) to read multiple pages located in the same block, and when a reading failure occurs, the control circuit can update the threshold voltage setting to reduce the probability of reading failure. However, if the threshold voltage setting is updated every time a reading failure occurs, the memory control circuit may continuously use threshold voltage settings with a lower read success rate, which instead increases the probability of reading failure.
One aspect of the present disclosure is a control circuit coupled to a memory through a plurality of channels. The plurality of channels comprises a first channel, and the control circuit comprises a storage circuit and a processor. The storage circuit is configured to store a plurality of read-voltage tables and an index register. The processor is coupled to the storage circuit. When an error occurs in a read operation of the first channel, the processor is configured to perform a first retry-read test to the memory through the first channel by sequentially using the plurality of read-voltage tables until the first retry-read test is successfully performed by using a target read-voltage table of the plurality of read-voltage tables. When the first retry-read test is successfully performed by the processor, the processor determines whether to update the index register according to an analysis of a change history of a stored data in the index register.
Another aspect of the present disclosure is an operation method applied to a control circuit, wherein the control circuit is coupled to a memory through a plurality of channels, the plurality of channels comprises a first channel, a storage circuit of the control circuit stores an index register and a plurality of read-voltage tables, and the operation method comprises: when an error occurs in a read operation of the first channel, performing a first retry-read test to the memory through the first channel by sequentially using the plurality of read-voltage tables until the first retry-read test is successfully performed by using a target read-voltage table of the plurality of read-voltage tables; and when the first retry-read test is successfully performed, determining whether to update the index register according to an analysis of a change history of a stored data in the index register.
Another aspect of the present disclosure is an electronic device, comprising a memory and a control circuit. The control circuit is coupled to the memory, and is configured to store a plurality of read-voltage tables and an index register. The control circuit is configured to perform a first thread, and the first thread is configured for: when an error occurs in a read operation of the first thread, performing a first retry-read test to the memory by sequentially using the plurality of read-voltage tables until the first retry-read test is successfully performed by using a target read-voltage table of the plurality of read-voltage tables; and when the first retry-read test is successfully performed, determining whether to update the index register according to an analysis of a change history of a stored data in the index register.
It is to be understood that both the foregoing general description and the following detailed description are by examples, and are intended to provide further explanation of the disclosure as claimed.
The present disclosure can be more fully understood by reading the following detailed description of the embodiment, with reference made to the accompanying drawings as follows:
For the embodiment below is described in detail with the accompanying drawings, embodiments are not provided to limit the scope of the present disclosure. Moreover, the operation of the described structure is not for limiting the order of implementation. Any device with equivalent functions that is produced from a structure formed by a recombination of elements is all covered by the scope of the present disclosure. Drawings are for the purpose of illustration only, and not plotted in accordance with the original size.
It will be understood that when an element is referred to as being “connected to” or “coupled to”, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element to another element is referred to as being “directly connected” or “directly coupled,” there are no intervening elements present. As used herein, the term “and/or” includes an associated listed items or any and all combinations of more.
The control circuit 110 includes a processor 112 and a storage circuit 114 coupled to each other. The processor 112 is respectively coupled to multiple logic units (LUN, also known as die) of the memory 120 through multiple channels CH[0]-CH[3]. Each of the logic units 122[0]-122[3] includes multiple blocks, and each of the blocks further includes multiple pages. The storage circuit 114 stores multiple index registers ID0-IDn, a mapping table TA and multiple read-voltage tables TB0-TBk, wherein k is a positive integer greater than 1.
Referring to
For example, as shown in
The following explains the purpose of the read-voltage tables TB1-TBk. When reading the memory 120, the processor 112 sequentially applies one or more threshold voltages to multiple word lines to determine a bit value stored in a memory cell of the memory 120. For example, if the memory 120 is a Multi-Level Cell (MLC) memory, the processor 112 will sequentially apply three different threshold voltages to the word lines. For another example, if the memory 120 is a Triple-Level Cell (TLC) memory, the processor 112 will sequentially apply 7 different threshold voltages to the word lines. Each of the read-voltage tables TB0-TBk records a deflection of one or more threshold voltages mentioned above, and the processor 112 can adjust the threshold voltages applied to the word lines according to the deflection recorded in the read-voltage tables TB0-TBk, so as to compensate for a threshold voltage variation of the memory 120 under different use conditions (e.g., ambient temperature or total usage hours).
When an error occurs in a read operation of the processor 112 reading a certain super page (e.g., a verification error of Error-correcting code), the processor 112 can update an index register corresponding to the super page, in order to use a read-voltage table with better compensation effect in the subsequent read operation. The following will be explained in detail with reference to
In step S410, in response to a received read command for the super page SP0, the processor 112 access the index register ID0 corresponding to the super page SP0 in the multiple index registers ID0-IDn of the storage circuit 114. Accordingly, the processor 112 obtains an original index value (e.g., the index value 1) stored in the index register ID0.
In step S420, the processor 112 performs a first thread. According to a mapping relationship of the original index value (e.g., the index value 1) in the mapping table TA, the first thread (the processor 112) selects a corresponding one (the read-voltage table TB1, as shown in
In step S430, when an error occurs in a read operation of the first thread (or the channel CH0), such as an verification error of ECC, the first thread performs a first retry-read test through the channel CH0 by sequentially using the multiple read-voltage tables TB0-TBk until the first retry-read test is successfully performed by one of the read-voltage tables TB0-TBk. Specifically, the first thread first uses the read-voltage table TB0 to determine a threshold voltage to apply to the word lines, and read a bit value of the memory cell belonging to the super page SP0 in the logic unit 122[0] to determine whether a verification error of ECC has occurred. If the verification error of ECC occurs, which means the first retry-read test is failure, the first thread then uses the read-voltage table TB1 to determine the threshold voltage applied to the word lines, so as to read a bit value of the memory cell belonging to the super page SP0 in the logic unit 122[0] to determine whether a verification error of ECC has occurred, and the like. On the other hand, if the ECC verification of the first retry-read test is correct after the first thread uses a certain read-voltage table, which means that the first retry-read test is success, the control circuit 110 ends with step S430, and the like. For the sake of clarity, the read-voltage table that will enable the first retry-read test to be successfully performed is called a target read-voltage table below.
When the first retry-read test is successfully performed, the first thread will analyze a change history of the index register ID0, and determines whether to update the index register ID0 according to an analysis (i.e., analysis result) of the change history, wherein the change history can be stored in the storage circuit 114. In some embodiments, the change history of the index register ID0 represents an adjustment process of the stored data in the index register ID0 within a preset period (e.g., the periods P0-P10 shown in
Referring to
In some embodiments, the update of the index register ID0 in the first period can be, for example, a second thread performed by the processor 112 triggered by a second retry-read test performed to the super page SP0 through the channel CH1 in the first period. In summary, step S440 is used to analyze the change history of the index register ID0 to determine whether other threads updated the index register ID0 in the first period, and then determine whether to update the index register ID0. If the index register ID0 has been updated by other threads, the index value currently stored in the index register ID0 may have a higher read success rate (that is, the read-voltage table corresponding to the current index value may have a higher read success rate), and step S440 helps the index register ID0 maintain the index value that may have a higher read success rate.
Referring to
Referring to
In some embodiments, the operation method 400 further includes steps S460-S490 performed in parallel with steps S420-S450 (i.e., performed after step S410). In step S460, the processor 112 performs a second thread, the second thread selects a corresponding one (e.g., the read-voltage table TB1) of the multiple read-voltage tables TB0-TBk according to an original index value (e.g., the index value 1) stored in the index register ID0, as shown in
In step S470, when an error occurs in the read operation of the second thread (or the channel CH1), such as a verification error of ECC, the second thread sequentially uses the read-voltage tables TB0-TBk to perform a second retry-read test to the logic unit 122[1] through the channel CH1, until the second retry-read test is successfully performed. Specifically, the second thread first uses the read-voltage table TB0 to decide a threshold voltage applied to the word lines, so as to read a bit value of the memory cell of the super page SP0 in the logic unit 122[1], and determine whether a verification error of ECC has occurred. If the verification error of ECC has occurred, which means that the second retry-read test is failure, and then the second thread uses the read-voltage table TB1 to decide another threshold voltage applied to the word lines, so as to read a bit value of the memory cell in the logic unit 122[1], and determine whether a verification error of ECC has occurred, and the like. On the other hand, if a target read-voltage table of the read-voltage tables TB0-TBk enabling the ECC verification is correct, which means that the second retry-read test is success, and the control circuit 110 ends step S470, and the like.
When the second retry-read test is successfully performed, the second thread will analyze a change history of the index register ID0, and determine whether to update the index register ID0 according to the analysis of the change history. In some embodiments, the change history represent an adjustment process of the stored data in the index register ID0 within a preset period (e.g., the periods P0-P10 shown in
In the periods P1 and P2, the first thread sequentially uses the read-voltage tables TB0 and TB1 to perform the first retry-read test, and the first retry-read test is successfully performed in the period P2. Since the first thread uses the same read-voltage table TB1 in the periods P1 and P2, according to step S450 shown in
In the period P6, the third thread uses the read-voltage table TB0 to perform a third retry-read test successfully. Since the index register ID0 has been updated by the second thread in the period P5, according to step S440 shown in
As mentioned above, when reading the same super page repeatedly, the operation method 400 helps improve the chance of the control circuit 110 using a read-voltage table with a higher read success rate, and reduce the probability of read retry to improve reading efficiency.
In the above multiple embodiments, the index registers ID0-IDn correspond to the super pages SP0-SPn respectively, so multiple pages in each super page share the same index value (i.e., share the same read-voltage table), but the present disclosure is not limited to this. The operation method 400 is also applicable to memory cells in the memory 120 being grouped in other ways to share the index value (i.e., share the read-voltage table). In some embodiments, multiple blocks with the same physical location in the logic units 122[0]-122[3] can be combined into multiple super blocks, and the index registers ID0-IDn correspond to multiple super blocks respectively, so that multiple blocks in each super block share the same index value (e.g., share the same read-voltage table). In other embodiments, multiple pages with the same type of storage units in the logic units 122[0]-122[3] can be combined into a super page, and multiple pages in one super page share the same index value (that is, share the same read-voltage table). For example, multiple pages composed of multi-level cells (MLC) can be combined into one super page, and multiple pages composed of three-level cells (TLC) can be combined into another super page.
Any combination of features of the operation method 400 may be implemented as multiple commands stored in a non-transitory computer-readable storage medium. When performed by the processor 112, these commands cause a part or all of the operation method 400 to be performed. It should be understood that the operation method 400 may include more or fewer steps than shown in the flowchart, and steps in the operation method 300 can be performed in any suitable order. For example, step S440 can be omitted, and the control circuit 110 can directly perform step S450 after the end of step S430. For another example, step S450 can be omitted, and the control circuit 110 can directly update the index register ID0 with the target index value when the result of step S442 is “Yes”.
Some terms are used in specifications and claims to refer to specific components, but one of ordinary skill in the art should understand that the same component may be called by different terms. Specification and claim do not use the difference in name as a way to distinguish components, but use the difference in function of the components as the basis for differentiation. The term “include” recited in the specification and claim are open-ended terms, so it should be interpreted as “including but not limited to”. In addition, “coupled” here includes any direct and indirect means of connection. Therefore, if it is described in the specifications that a first element is coupled to a second element, it means that the first element can be directly connected to the second element through electrical connection or signal connection such as wireless transmission or optical transmission, or it means that the first component can be indirectly electrically or signal-connected to the second component through other components or connection means.
Number | Date | Country | Kind |
---|---|---|---|
113100154 | Jan 2024 | TW | national |