Non-volatile Memory Cell Programming Pulse Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing artificial neural networks face challenges in achieving precise programming of non-volatile memory cells in VMM arrays for analog neuromorphic memory systems, particularly in storing a specific and precise amount of charge on floating gates, which is crucial for high-performance information processing.
Innovation Solution
A precision tuning algorithm and apparatus that utilize differential pairs of non-volatile memory cells, where weight values are stored as a difference between two cells, allowing for precise programming and verification of zero values, enabling the storage of one of N different values with extreme precision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If conventional programming methods are used for non-volatile memory cells in VMM arrays, then the programming process is simple, but the precision of charge storage on floating gates is insufficient
Solution Approach 1:
The programming process is segmented into multiple iterations, each applying a portion of the total programming pulse. The floating gate charge is accumulated incrementally across iterations, allowing precise control of the final charge amount by adjusting the number of iterations and pulse characteristics, thereby achieving high programming precision without requiring complex single-step programming circuits
Solution Approach 2:
The programming operation uses periodic pulse sequences applied to the control gate, where multiple pulses are applied in succession during iterations. This periodic action enables precise charge accumulation on the floating gate by controlling pulse frequency, duration, and amplitude, resolving the contradiction between programming precision and complexity
2Manufacturing precision
If multiple programming pulses are applied to achieve precise charge storage, then the precision of weight value storage is improved, but the programming time increases
Solution Approach 1:
The system performs preliminary characterization of memory cell properties before actual programming, storing this information for use during programming iterations. This preliminary action allows the programming algorithm to adapt pulse characteristics optimally, reducing the number of iterations needed and thus decreasing total programming time while maintaining high precision
Solution Approach 2:
The programming process incorporates feedback mechanisms where the system monitors the charging state of the floating gate during iterations and adjusts subsequent pulse parameters accordingly. This feedback control enables the system to achieve precise weight value storage with fewer iterations, thereby reducing programming time without sacrificing precision
3Manufacturing precision
If a single memory cell is used to store weight values, then the device structure is simple, but the precision and range of stored values are limited
Solution Approach 1:
The invention merges the functions of multiple memory cells into a single integrated cell structure with both a floating gate and a control gate. This combined structure allows the cell to store precise charge amounts by controlling electron tunneling to the floating gate while the control gate regulates the programming process, achieving high precision weight value storage without requiring multiple separate cells
Data Source
AI summary
In one example, a method comprises applying a first programming pulse to a terminal of a selected non-volatile memory cell; and applying a second programming pulse to the terminal of the selected non-volatile memory cell, wherein a magnitude of a voltage the second programming pulse is equal to or lower than a magnitude of a voltage of the first programming pulse; wherein the selected non-volatile memory cell is programmed to a target value by the first programming pulse and the second programming pulse.


