Search

US-12620446-B2 - Memory searching engine, reference array and reference calibrating method

US12620446B2US 12620446 B2US12620446 B2US 12620446B2US-12620446-B2

Abstract

A memory searching engine is provided in present disclosure. The memory searching engine stores at least one reference time and at least one reference voltage corresponding to multiple Hamming distances and comprises a data array and a reference array. The data array stores at least one first pattern data and is configured to perform a data searching according to the difference between at least one input data and the first pattern data. The reference array stores at least one second pattern data and receives the input data. Each of the first and second pattern data comprises m features, wherein m is an integer. The memory searching engine calculates multiple updated reference times and updated reference voltages corresponding to the Hamming distances based on the second pattern data, and update the reference time according to the updated reference times, or update the reference voltage according to the updated reference voltages.

Inventors

  • Yu-Hsuan Lin
  • PO-HAO TSENG

Assignees

  • MACRONIX INTERNATIONAL CO., LTD.

Dates

Publication Date
20260505
Application Date
20240221

Claims (17)

  1. 1 . A memory searching engine, storing at least one reference time and at least one reference voltage corresponding to a plurality of Hamming distances, wherein the memory searching engine comprises: a data array, storing at least one first pattern data and configured to perform a data searching according to the difference between at least one input data and the at least one first pattern data, so as to generate a searching result; and a reference array, storing at least one second pattern data and configured to receive the at least one input data, wherein the memory searching engine is further configured to calculate a plurality of updated reference times and a plurality of updated reference voltages corresponding to the plurality of Hamming distances based on the at least one second pattern data and perform a reference calibrating, so as to update the at least one reference time according to the plurality of updated reference times, or update the at least one reference voltage according to the plurality of updated reference voltages.
  2. 2 . The memory searching engine of claim 1 , wherein the reference array comprises a plurality of bit lines and a plurality of Not-AND (NAND) strings, the plurality of NAND strings are each coupled between one of the plurality of bit lines and a common source line, and wherein the plurality of NAND strings are configured to store the at least one second pattern data, and ones of the plurality of NAND strings coupled to the same bit line respectively store a plurality of portions of the at least one second pattern data, and the plurality of portions are same to each other.
  3. 3 . The memory searching engine of claim 1 , wherein the at least one second pattern data comprises a plurality of second pattern data in different types, and wherein a plurality of combinations of the at least one input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  4. 4 . The memory searching engine of claim 1 , wherein the at least one input data comprises a plurality of input data in different types, and wherein a plurality of combinations of the plurality of input data and the at least one second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  5. 5 . The memory searching engine of claim 1 , wherein the at least one input data comprises a plurality of input data in different types, the at least one second pattern data comprises a plurality of second pattern data in different types, and wherein a plurality of combinations of the plurality of input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  6. 6 . The memory searching engine of claim 1 , wherein each of the first pattern data comprises m features, each of the second pattern data comprises m features, wherein m is an integer.
  7. 7 . A reference array, arranged in a memory searching engine, wherein the memory searching engine stores at least one reference time and at least one reference voltage corresponding to a plurality of Hamming distances, and the memory searching engine comprises a data array storing at least one first pattern data, wherein the reference array is configured to store at least one second pattern data and configured to receive at least one input data, and wherein the at least one second pattern data is configured to be provided to the memory searching engine, so as to calculate a plurality of updated reference times and a plurality of updated reference voltages corresponding to the plurality of Hamming distances, and allow the memory searching engine to perform a reference calibrating, so as to update the at least one reference time according to the plurality of updated reference times, or update the at least one reference voltage according to the plurality of updated reference voltages.
  8. 8 . The reference array of claim 7 , wherein the reference array comprises a plurality of bit lines and a plurality of Not-AND (NAND) strings, the plurality of NAND strings are each coupled between one of the plurality of bit lines and a common source line, and wherein the plurality of NAND strings are configured to store the at least one second pattern data, and ones of the plurality of NAND strings coupled to the same bit line respectively store a plurality of portions of the at least one second pattern data, and the plurality of portions are same to each other.
  9. 9 . The reference array of claim 7 , wherein the at least one second pattern data comprises a plurality of second pattern data in different types, and wherein a plurality of combinations of the at least one input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  10. 10 . The reference array of claim 7 , wherein the at least one input data comprises a plurality of input data in different types, and wherein a plurality of combinations of the plurality of input data and the at least one second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  11. 11 . The reference array of claim 7 , wherein the at least one input data comprises a plurality of input data in different types, the at least one second pattern data comprises a plurality of second pattern data in different types, and wherein a plurality of combinations of the plurality of input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  12. 12 . The reference array of claim 7 , wherein each of the first pattern data comprises m features, each of the second pattern data comprises m features, wherein m is an integer.
  13. 13 . A reference calibrating method, suitable for a memory search engine comprising a data array and a reference array, wherein the memory searching engine stores at least one reference time and at least one reference voltage corresponding to a plurality of Hamming distances, and the data array stores at least one first pattern data, the reference array stores at least one second pattern data, wherein the reference calibrating method comprises: receiving, by the reference array, at least one input data; calculating, by the memory search engine, a plurality of updated reference times and a plurality of updated reference voltages corresponding to the plurality of Hamming distances, based on the at least one second pattern data; and updating, by the memory search engine, the at least one reference time according to the plurality of updated reference times, or the at least one reference voltage according to the plurality of updated reference voltages.
  14. 14 . The reference calibrating method of claim 13 , wherein the reference array comprises a plurality of bit lines and a plurality of Not-AND (NAND) strings, the plurality of NAND strings are each coupled between one of the plurality of bit lines and a common source line, and wherein the plurality of NAND strings are configured to store the at least one second pattern data, and ones of the plurality of NAND strings coupled to the same bit line respectively store a plurality of portions of the at least one second pattern data, and the plurality of portions are same to each other.
  15. 15 . The reference calibrating method of claim 13 , wherein the at least one second pattern data comprises a plurality of second pattern data in different types, and wherein a plurality of combinations of the at least one input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  16. 16 . The reference calibrating method of claim 13 , wherein the at least one input data comprises a plurality of input data in different types, and wherein a plurality of combinations of the plurality of input data and the at least one second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.
  17. 17 . The reference calibrating method of claim 13 , wherein the at least one input data comprises a plurality of input data in different types, the at least one second pattern data comprises a plurality of second pattern data in different types, and wherein a plurality of combinations of the plurality of input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages.

Description

BACKGROUND Technical Field The present disclosure is related to a memory searching engine, a reference array and a reference calibrating method. More particularly, the present disclosure is related to a memory searching engine, a reference array and a reference calibrating method having a function for calibrating the reference voltage and the reference time used for data searching. Description of Related Art With the development of flash memory technology, three-dimensional (3D) flash memory has gradually replaced traditional planar flash memory due to its lower unit cost. In addition, since big data and artificial intelligence technology require a large amount of calculations, data searching and data comparing functions have become important functions in 3D flash memory. However, after long-term storage or internal temperature changes, the electronic properties of the 3D flash memory may shift, which results in changes in the scanned current and further affects the data searching function of the 3D flash memory. Consequently, how to effectively calibrate the search-related parameters as the shift of the electronic properties in 3D flash memory is one of the topics in this field. SUMMARY A memory searching engine is provided in present disclosure. The memory searching engine stores at least one reference time and at least one reference voltage corresponding to a plurality of Hamming distances. The memory searching engine comprises a data array and a reference array. The data array stores at least one first pattern data and is configured to perform a data searching according to the difference between at least one input data and the at least one first pattern data, so as to generate a searching result. Each of the first pattern data comprises m features, wherein m is an integer. The reference array stores at least one second pattern data and is configured to receive the at least one input data. Each of the second pattern data comprises m features. The memory searching engine is further configured to calculate a plurality of updated reference times and a plurality of updated reference voltages corresponding to the plurality of Hamming distances based on the at least one second pattern data and perform a reference calibrating, so as to update the at least one reference time according to the plurality of updated reference times, or update the at least one reference voltage according to the plurality of updated reference voltages. In some embodiments of the memory searching engine, the reference array comprises a plurality of bit lines and a plurality of Not-AND (NAND) strings, the plurality of NAND strings are each coupled between one of the plurality of bit lines and a common source line. The plurality of NAND strings are configured to store the at least one second pattern data, and ones of the plurality of NAND strings coupled to the same bit line respectively store a plurality of portions of the at least one second pattern data, and the plurality of portions are same to each other. In some embodiments of the memory searching engine, the at least one input data comprises an input data, the at least one second pattern data comprises a plurality of second pattern data in different types. A plurality of combinations of the input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages. In some embodiments of the memory searching engine, the at least one input data comprises a plurality of input data in different types, the at least one second pattern data comprises a second pattern data. A plurality of combinations of the plurality of input data and the second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference times, and one of the at least one reference voltage corresponding to each of the plurality of Hamming distances is configured to be updated according to at least one of the plurality of updated reference voltages. In some embodiments of the memory searching engine, the at least one input data comprises a plurality of input data in different types, the at least one second pattern data comprises a plurality of second pattern data in different types. A plurality of combinations of the plurality of input data and the plurality of second pattern data correspond to the plurality of Hamming distances, and one of the at least one reference time corresponding to each of th