IP Library › Granted Patent US 12,725,659
Granted Patent B2
US 12,725,659 · App. 18/309,704 · Granted Sep 1, 2026

Adaptively programming memory cells in different modes to optimize performance

Inventors: Karthik Sarpatwari (Boise, ID); Fabio Pellizzer (Boise, ID); Nevil N. Gajera (Meridian, ID)
Assignee: Micron Technology, Inc.
G11C16/10G06F11/1076G06N3/04G06N3/08G11C11/56G11C16/0483
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,725,659
App. No.
18/309,704
Granted
Sep 1, 2026
Kind
B2
Abstract

Systems, methods and apparatus to determine, in response to a command to write data into a set of memory cells, a programming mode of a set of memory cell to optimize performance in retrieving the data back from the set of memory cells. For example, based on usages of a memory region containing the memory cell set, a predictive model can be used to identify a combination of an amount of redundant information to be stored into the memory cells in the set and a programming mode of the memory cells to store the redundant information. Increasing the amount of redundant information can increase error recovery capability but increase bit error rate and/or increase time to read. The predictive model is trained to predict the combination to optimize read performance.

Claims (40)

1 . A device, comprising:

memory cells configured in the device as a group to store a predetermined size of user data;

voltage drivers; and

a logic circuit configured to select, based on a usage history of the memory cells, a mode from a plurality of modes to program the memory cells using the voltage drivers;

wherein when programmed via the different modes, the memory cells have different sizes of storage capacity; and

wherein the device is configured to program the memory cells to store data in which a user portion is exactly of the predetermined size regardless of which mode is selected based on the usage history from the plurality of modes.

2 . The device of claim 1 , wherein the voltage drivers are operable to apply voltages to the memory cells in programming the memory cells to store data.

3 . The device of claim 2 , wherein the logic circuit is configured to select the mode in response to a command to store a data item of a predetermined size into the memory cells.

4 . The device of claim 3 , wherein the plurality of modes include:

a first mode of storing the data item in a predetermined number of memory cells with one bit per memory cell; and

a second mode of storing the data item in an encoded form of an error correction technique in the predetermined number of memory cells with more than one bit per memory cell.

5 . The device of claim 4 , wherein the logic circuit is further configured to predict, based on the usage history, a bit error rate to determine whether to select the second mode.

6 . The device of claim 4 , wherein the logic circuit is further configured to predict a first bit error rate of storing the data item in the first mode and a second bit error rate of storing the data item in the second mode, and compare a performance of reading the data item programmed in the first mode with the first bit error rate and a performance of reading the data item programmed in the second mode with the second bit error rate.

7 . The device of claim 4 , wherein the usage history includes an identification of a read to write ratio, or a count of write operations, or any combination thereof.

8 . A method, comprising:

receiving a request to store a data item in a plurality of memory cells in a device, wherein the plurality of memory cells are configured in the device as a group to store a predetermined size of user data;

selecting, from a plurality of different modes, a mode to program the plurality of memory cells to store the data item, wherein when programmed via the different modes, the plurality of memory cells have different sizes of storage capacity; and

programming the plurality of memory cells according to the mode to store the data item, wherein data stored in the plurality of memory cells as a result of the programming has a user portion that is exactly of the predetermined size.

9 . The method of claim 8 , wherein when programmed via at least a first mode among the different modes, the plurality of memory cells have a storage capacity size larger than the data item; and in response to the first mode being selected to program the plurality of memory cells to store the data item, the method further comprises:

determining a data recovery technique based on the storage capacity size; and

generating, using the data recovery technique, an encoded representation of the data item having the storage capacity size;

wherein the plurality of memory cells are programmed according to the first mode to store the data item in the encoded representation.

10 . The method of claim 9 , wherein the selecting is based at least in part on usage data of a memory region containing the plurality of memory cells.

11 . The method of claim 10 , wherein the data recovery technique includes an error correction code technique.

12 . The method of claim 11 , wherein the usage data includes a read to write ratio in the memory region.

13 . The method of claim 11 , wherein the usage data includes a bit error rate in operations of reading data from the memory region.

14 . The method of claim 9 , wherein the selecting is based at least in part on a prediction of a bit error rate in reading the plurality of memory cells.

15 . The method of claim 14 , further comprising:

comparing performance levels of reading the plurality of memory cells to retrieve the data item programmed in the plurality of different modes;

wherein the selecting is based at least in part on the comparing.

16 . The method of claim 15 , wherein the performance levels are predicted based at least in part on the prediction of the bit error rate.

17 . A computing device, comprising:

a memory having a plurality of memory cells configured in the computing device as a group to store a predetermined size of user data; and

a processor configured to select, from a plurality of redundancy levels and in response to a request to store a data item of the predetermined size, a redundancy level for storage of the data item of the predetermined size in the memory cells;

wherein storage of the data item in an encoded form according to the plurality of redundancy levels requires different amounts of storage space respectively;

wherein the memory cells are programmable in a plurality of modes sufficient to provide the different amounts of storage spaces respectively; and

wherein the device is configured to program the memory cells to store data where a user portion is limited to the data item of the predetermined size regardless of which redundancy level is selected from the plurality of redundancy levels.

18 . The computing device of claim 17 , wherein the processor is configured to select the redundancy level based at least in part on performance of retrieving the data item in the encoded form from the memory cells.

19 . The computing device of claim 18 , wherein the processor is configured to select the redundancy level further based on reliability of retrieving the data item in the encoded form from the memory cells.

20 . The computing device of claim 19 , wherein the processor is configured to select the redundancy level based at least in part on usage data of the memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2023
From: SARPATWARI, KARTHIK; PELLIZZER, FABIO; GAJERA, NEVIL N.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 063486/0135 →
Continuity (2)
Continuation 17221412 · Apr 2, 2021
Related Publication 20230268005A1 · Aug 24, 2023
References Cited (152)
US 1002086A · Scrable · 1911 [cited by applicant]
US 6363008B1 · Wong · 2002 [cited by examiner]
US 6775187B1 · Hamilton et al. · 2004 [cited by applicant]
US 7864567B2 · Gordon et al. · 2011 [cited by applicant]
US 8239735B2 · Shalvi et al. · 2012 [cited by applicant]
US 9099174B2 · Calderoni et al. · 2015 [cited by applicant]
US 9230638B1 · Lim · 2016 [cited by applicant]
US 9275730B2 · Tortorelli et al. · 2016 [cited by applicant]
US 9286993B2 · Lasser · 2016 [cited by applicant]
US 9355715B1 · Kim · 2016 [cited by applicant]
US 9613691B2 · Mantegazza et al. · 2017 [cited by applicant]
US 9627055B1 · Robustelli · 2017 [cited by applicant]
US 9830992B1 · Tsai et al. · 2017 [cited by applicant]
US 10002086B1 · Achtenberg et al. · 2018 [cited by applicant]
US 10026486B1 · Dutta et al. · 2018 [cited by applicant]
US 10043574B2 · Raghunathan et al. · 2018 [cited by applicant]
US 10431301B2 · Mirichigni et al. · 2019 [cited by applicant]
US 10566052B2 · Mirichigni et al. · 2020 [cited by applicant]
US 10636480B2 · Intrater et al. · 2020 [cited by applicant]
US 10861537B1 · Lien et al. · 2020 [cited by applicant]
US 10950315B1 · Jeon et al. · 2021 [cited by applicant]
US 11087849B2 · Chin et al. · 2021 [cited by applicant]
US 11139034B1 · Sarpatwari et al. · 2021 [cited by applicant]
US 11194473B1 · Zhao et al. · 2021 [cited by applicant]
US 11238945B1 · Di Vincenzo · 2022 [cited by applicant]
US 11295822B2 · Sarpatwari et al. · 2022 [cited by applicant]
US 11309023B1 · Giduturi · 2022 [cited by applicant]
US 11309035B1 · Li et al. · 2022 [cited by applicant]
US 11367484B1 · Lee et al. · 2022 [cited by applicant]
US 11514983B2 · Sarpatwari et al. · 2022 [cited by applicant]
US 11615854B2 · Sarpatwari et al. · 2023 [cited by applicant]
US 11664073B2 · Sarpatwari et al. · 2023 [cited by applicant]
US 11880571B2 · Muzzetto et al. · 2024 [cited by applicant]
US 12080359B2 · Sarpatwari et al. · 2024 [cited by applicant]
US 12106803B2 · Lee et al. · 2024 [cited by applicant]
US 20050078513A1 · Tatsukawa et al. · 2005 [cited by applicant]
US 20100122016A1 · Marotta et al. · 2010 [cited by applicant]
US 20100157641A1 · Shalvi · 2010 [cited by examiner]
US 20120124442A1 · Strauss · 2012 [cited by applicant]
US 20120239902A1 · Moran et al. · 2012 [cited by applicant]
US 20130016562A1 · Mun · 2013 [cited by applicant]
US 20130016565A1 · Park et al. · 2013 [cited by applicant]
US 20130055047A1 · Sharon et al. · 2013 [cited by applicant]
US 20130070524A1 · Dutta et al. · 2013 [cited by applicant]
US 20130132652A1 · Wood et al. · 2013 [cited by applicant]
US 20140085995A1 · Greenfield · 2014 [cited by applicant]
US 20140140148A1 · An · 2014 [cited by applicant]
US 20140160842A1 · Takafuji et al. · 2014 [cited by applicant]
US 20140229131A1 · Cohen et al. · 2014 [cited by applicant]
US 20140269055A1 · Kurosawa · 2014 [cited by applicant]
US 20150117129A1 · Jung · 2015 [cited by applicant]
US 20160078947A1 · Yanagida et al. · 2016 [cited by applicant]
US 20160125952A1 · Hu et al. · 2016 [cited by applicant]
US 20160217852A1 · Wu · 2016 [cited by applicant]
US 20170068481A1 · Yoo · 2017 [cited by applicant]
US 20170125097A1 · Tortorelli et al. · 2017 [cited by applicant]
US 20170177235A1 · Nishikubo et al. · 2017 [cited by applicant]
US 20170256309A1 · Yoon · 2017 [cited by applicant]
US 20170365300A1 · Danon et al. · 2017 [cited by applicant]
US 20170365318A1 · Ingalls et al. · 2017 [cited by applicant]
US 20180040370A1 · Tortorelli et al. · 2018 [cited by applicant]
US 20180067697A1 · Lee et al. · 2018 [cited by applicant]
US 20180286488A1 · Sanasi et al. · 2018 [cited by applicant]
US 20180286495A1 · Oh et al. · 2018 [cited by applicant]
US 20180322929A1 · Park et al. · 2018 [cited by applicant]
US 20180341415A1 · Koudele et al. · 2018 [cited by applicant]
US 20180357535A1 · Shulkin et al. · 2018 [cited by applicant]
US 20190043588A1 · Fisher et al. · 2019 [cited by applicant]
US 20190115078A1 · Kim et al. · 2019 [cited by applicant]
US 20190172542A1 · Miladinovic · 2019 [cited by applicant]
US 20190198096A1 · Mirichigni et al. · 2019 [cited by applicant]
US 20190198099A1 · Mirichigni et al. · 2019 [cited by applicant]
US 20190295660A1 · Malshe et al. · 2019 [cited by applicant]
US 20190311768A1 · Wang et al. · 2019 [cited by applicant]
US 20190340070A1 · Lien et al. · 2019 [cited by applicant]
US 20190348127A1 · Chin et al. · 2019 [cited by applicant]
US 20190348143A1 · Zeng et al. · 2019 [cited by applicant]
US 20190354292A1 · O et al. · 2019 [cited by applicant]
US 20190391914A1 · Hsiao et al. · 2019 [cited by applicant]
US 20200005862A1 · Cariello et al. · 2020 [cited by applicant]
US 20200066342A1 · Ha · 2020 [cited by applicant]
US 20200133570A1 · Shadmi et al. · 2020 [cited by applicant]
US 20200152274A1 · Park et al. · 2020 [cited by applicant]
US 20200152278A1 · De Santis et al. · 2020 [cited by applicant]
US 20200160914A1 · Yang · 2020 [cited by applicant]
US 20200234775A1 · Singidi et al. · 2020 [cited by applicant]
US 20200364103A1 · Sharifi Tehrani · 2020 [cited by examiner]
US 20200402582A1 · Yang et al. · 2020 [cited by applicant]
US 20210011769A1 · Xie et al. · 2021 [cited by applicant]
US 20210012856A1 · Xie et al. · 2021 [cited by applicant]
US 20210034291A1 · Shen · 2021 [cited by examiner]
US 20210065828A1 · Yu et al. · 2021 [cited by applicant]
US 20210149592A1 · Papandreou et al. · 2021 [cited by applicant]
US 20210201995A1 · Castro et al. · 2021 [cited by applicant]
US 20210202018A1 · Hirst et al. · 2021 [cited by applicant]
US 20210240385A1 · Tai et al. · 2021 [cited by applicant]
US 20210312976A1 · Pellizzer et al. · 2021 [cited by applicant]
US 20220013167A1 · Robustelli et al. · 2022 [cited by applicant]
US 20220013183A1 · Sarpatwari et al. · 2022 [cited by applicant]
US 20220035706A1 · Laurent · 2022 [cited by applicant]
US 20220068335A1 · Bedeschi et al. · 2022 [cited by applicant]
US 20220068377A1 · Lu et al. · 2022 [cited by applicant]
US 20220068391A1 · Tortorelli et al. · 2022 [cited by applicant]
US 20220115078A1 · Giduturi · 2022 [cited by applicant]
US 20220284957A1 · Lee et al. · 2022 [cited by applicant]
US 20220319587A1 · Sarpatwari et al. · 2022 [cited by applicant]
US 20220319606A1 · Sarpatwari et al. · 2022 [cited by applicant]
US 20220319615A1 · Sarpatwari et al. · 2022 [cited by applicant]
US 20230017981A1 · Jeon et al. · 2023 [cited by applicant]
US 20230058300A1 · Sarpatwari et al. · 2023 [cited by applicant]
US 20230110946A1 · Muzzetto et al. · 2023 [cited by applicant]
US 20230230642A1 · Sarpatwari et al. · 2023 [cited by applicant]
US 20240134533A1 · Muzzetto et al. · 2024 [cited by applicant]
US 20240404606A1 · Sarpatwari et al. · 2024 [cited by applicant]
US 20250014641A1 · Lee et al. · 2025 [cited by applicant]
CN 103050149 · 2013 [cited by applicant]
DE 102007001859 · 2008 [cited by applicant]
WO 2021176244 · 2021 [cited by applicant]
Maddah, Rakan, et al., “Power of One Bit: Increasing Error Correction Capability with Data Inversion.” 2013 IEEE 19th Pacific Rim International Symposium on Dependable Computing, IEEE, 2013. [cited by applicant]
Title: Counter-Based Methods and Systems for Accessing Memory Cells, U.S. Appl. No. 17/044,150, filed Sep. 30, 2020, Status Date: Jan. 3, 2024, Inventors: Riccardo Muzzetto et al., Status: Patented Case. [cited by applicant]
Title: Counter-Based Methods and Systems for Accessing Memory Cells, U.S. Appl. No. 18/396,414, filed Dec. 26, 2023, Status Date: Aug. 15, 2024, Inventors: Riccardo Muzzetto et al., Status: Non Final Action Mailed. [cited by applicant]
Title: Identify the Programming Mode of Memory Cells based on Cell Statistics Obtained during Reading of the Memory Cells, U.S. Appl. No. 17/221,417, filed Apr. 2, 2021, Status Date: Nov. 9, 2022, Inventors: Karthik Sar… [cited by applicant]
Title: Identify the Programming Mode of Memory Cells based on Cell Statistics Obtained during Reading of the Memory Cells, U.S. Appl. No. 17/980,396, filed Nov. 3, 2022, Status Date: Jun. 17, 2024, Inventors: Karthik Sa… [cited by applicant]
Title: Identify the Programming Mode of Memory Cells during Reading of the Memory Cells, U.S. Appl. No. 17/221,420, filed Apr. 2, 2021, Status Date: Mar. 8, 2023, Inventors: Karthik Sarpatwari et al., Status: Patented C… [cited by applicant]
Title: Identify the Programming Mode of Memory Cells During Reading of the Memory Cells, U.S. Appl. No. 18/189,824, filed Mar. 24, 2023, Status Date: Aug. 14, 2024, Inventors: Karthik Sarpatwari et al., Status: Patented… [cited by applicant]
Title: Identify the Programming Mode of Memory Cells During Reading of the Memory Cells, U.S. Appl. No. 18/803,290, filed Aug. 13, 2024, Status Date: Aug. 13, 2024, Inventors: Karthik Sarpatwari et al., Status: Applicat… [cited by applicant]
D.J.C. MacKay, S.T. Wilson, and M.C. Davey. Comparison of constructions of irregular gallager codes. IEEE Transactions on Communications, 47(10):1449-1454, 1999. [cited by applicant]
Hangxuan Cui, Jun Lin, and Zhongfeng Wang, “Information storage bit-flipping decoder for LDPC codes”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 28(11):2464-2468, 2020. [cited by applicant]
International Search Report and Written Opinion, PCT/IB2020/020022, mailed on Jan. 29, 2021. [cited by applicant]
International Search Report and Written Opinion, PCT/US2022/020391, mailed on Jun. 16, 2022. [cited by applicant]
International Search Report and Written Opinion, PCT/US2022/020523, mailed on Jun. 16, 2022. [cited by applicant]
International Search Report and Written Opinion, PCT/US2022/021408, mailed on Jul. 6, 2022. [cited by applicant]
R. Gallager, “Low-density parity-check codes,” IRE Transactions on Information Theory, 8(1):21-28, 1962. [cited by applicant]
Tadashi Wadayama, Keisuke Nakamura, Masayuki Yagita, Yuuki Funahashi, Shogo Usami, and Ichi Takumi, “Gradient descent bit flipping algorithms for decoding LDPC codes”, IEEE Transactions on Communications, 58(6):1610-161… [cited by applicant]
Z. Li, L. Chen, L. Zeng, S. Lin, and W. Fong. Efficient encoding of quasi-cyclic low-density parity-check codes. IEEE Transactions on Communications, 53(11):1973-1973, 2005. [cited by applicant]
Zhang, Chong, et al., “Error Rate Decrease through Hamming Weight Change for NAND Flash. 2010 10th International Symposium on Communications and Information Technologies.” 2010. [cited by applicant]
Title: Multi-step Pre-read for Write Operations in Memory Devices, U.S. Appl. No. 17/154,644, filed Jan. 21, 2021, Status Date: Jun. 1, 2022, Inventors: Yen Chun Lee, et al., Status: Patented Case. [cited by applicant]
Title: Multi-step Pre-read for Write Operations in Memory Devices, U.S. Appl. No. 17/824,776, filed May 25, 2022, Status Date: Feb. 28, 2023, Inventors: Yen Chun Lee, et al., Status: Non Final Action Mailed. [cited by applicant]
Title: Adaptively Programming Memory Cells in Difrerent Modes to Optimize Performance, U.S. Appl. No. 17/221,412, filed Apr. 2, 2021, Status Date: Apr. 23, 2023, Inventors: Karthik Sarpatwari, et al., Status: Publicatio… [cited by applicant]
Title: Counter-based Methods and Systems for Accessing Memory Cells, U.S. Appl. No. 17/044,150, filed Sep. 30, 2020, Status Date: Apr. 20, 2023, Inventors: Riccardo Muzzetto, et al., Status: Non Final Office Action Mail… [cited by applicant]
Title: Identify the Programming Mode of Memory Cells based on Cell Statistics Obtained during Reading of Memory Cells, U.S. Appl. No. 17/221,417, filed Apr. 2, 2021, Status Date: Nov. 9, 2022, Inventors: Karthik Sarpatw… [cited by applicant]
Title: Identify the Programming Mode of Memory Cells based on Cell Statistics Obtained during Reading of Memory Cells, U.S. Appl. No. 17/980,396, filed Nov. 3, 2022, Status Date: Nov. 15, 2023, Inventors: Karthik Sarpat… [cited by applicant]
Title: Identify the Programming Mode of Memory Cells during Reading of Memory Cells, U.S. Appl. No. 17/221,420, filed Apr. 2, 2021, Status Date: Mar. 8, 2023, Inventors: Karthik Sarpatwari, et al., Status: Patented Case. [cited by applicant]
Title: Identify the Programming Mode of Memory Cells During Reading of Memory Cells, U.S. Appl. No. 18/189,824, filed Mar. 24, 2023, Status Date: Apr. 16, 2023, Inventors: Karthik Sarpatwari, et al., Status: Docketed Ne… [cited by applicant]
Title: Multi-Step Pre-Read for Write Operations in Memory Devices, U.S. Appl. No. 17/824,776, filed May 25, 2022, Status Date: Sep. 11, 2024, Inventors: Yen Chun Lee, et al., Status: Patented Case. [cited by applicant]
Title: Multi-Step Pre-Read for Write Operations in Memory Devices, U.S. Appl. No. 18/890,624, filed Sep. 19, 2024, Status Date: Oct. 1, 2024, Inventors: Yen Chun Lee, et al., Status: Docketed New Case—Ready for Examinat… [cited by applicant]
Title: Adaptively Programming Memory Cells in Difrerent Modes to Optimize Performance, U.S. Appl. No. 17/221,412, filed Apr. 2, 2021, Status Date: May 10, 2023, Inventors: Karthik Sarpatwari, et al., Status: Patented Ca… [cited by applicant]
Title: Counter-Based Methods and Systems for Accessing Memory Cells, U.S. Appl. No. 17/044,150, filed Sep. 30, 2020, Status Date: Jan. 3, 2024, Inventors: Riccardo Muzzetto, et al., Status: Patented Cases. [cited by applicant]
Title: Identify the Programming Mode of Memory Cells During Reading of the Memory Cells, U.S. Appl. No. 18/803,290, filed Aug. 13, 2024, Status Date: Aug. 28, 2024, Inventors: Karthik Sarpatwari, et al., Status: Dockete… [cited by applicant]
Huang, Jing, “A Read-Write Control Circuit Based on SRAM,” Journal of Changchun Normal University, vol. 31 No. 3, Abstract only, Dec. 31, 2012. [cited by applicant]
Lin, Yi-Wei, et al., “An All-Digital Read Stability and Write Margin Characterization Scheme for CMOS 6T SRAM Array.” Proceedings of Technical Program of 2012 VLSI Design, Automation and Test, IEEE, Jun. 7, 2012. [cited by applicant]
Pu, Nanjiang, et al., “Data Storage and Invalid Block Management Method for Flash Memory Array.” Nuclear Electronics and Detection Technology, vol. 31 No 6, Abstract only, Dec. 31, 2011. [cited by applicant]