11294820

Management of Programming Mode Transitions to Accommodate a Constant Size of Data Transfer between a Host System and a Memory Sub-System

PublishedApril 5, 2022
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, comprising: counting single-page transitions of atomic programming modes performed within a memory sub-system, wherein each of the single-page transitions results in atomic programming of a single page of data of a predetermined size in the memory sub-system; determining whether an odd or even number of the single-page transitions have been counted; determining whether or not to allow any two-page transition of atomic programming modes that results in atomic programming of two pages of data, each having the predetermined size, wherein: when an odd number of the transitions have been counted, no two-page transition of atomic programming modes that results in atomic programming of two pages of the predetermined size is allowed; and when an even number of the transitions have been counted, at least one two-page transition of atomic programming modes that results in atomic programming of two pages of the predetermined size are allowable; and selecting a transition of atomic programming modes based on the determining of whether or not to allow any two-page transition of atomic programming modes.

2

2. The method of claim 1 , further comprising: performing multi-pass programming of a set of pages via a plurality of atomic programming operations in the memory sub-system.

3

3. The method of claim 2 , wherein each atomic programming operation performed for the multi-pass programming of the set of pages transits from a first mode to a second mode.

4

4. The method of claim 3 , wherein the first mode and the second mode are different ones of: no programming; programming to store one bit in each memory cell; programming to store two bits in each memory cell; programming to store three bits in each memory cell; and programming to store four bits in each memory cell.

5

5. The method of claim 4 , wherein the multi-pass programming is for a triple level cell (TLC) mode of the set of pages or a quad-level cell (QLC) mode of the set of pages.

6

6. The method of claim 1 , wherein the single-page transitions of atomic programming modes include a multi-pass programming operation transiting from no programming to atomic programming in a single level cell (SLC) mode.

7

7. The method of claim 6 , wherein the single-page transitions of atomic programming modes include the multi-pass programming operation transiting from the single level cell (SLC) mode to a multi-level cell (MLC) mode.

8

8. The method of claim 7 , wherein the single-page transitions of atomic programming modes include the multi-pass programming operation transiting from the multi-level cell (MLC) mode to a triple level cell (TLC) mode.

9

9. The method of claim 8 , wherein the single-page transitions of atomic programming modes include the multi-pass programming operation transiting from the triple level cell (TLC) mode to a quad-level cell (QLC) mode.

10

10. The method of claim 8 , wherein a two-page transition of atomic programming modes that results in atomic programming of two pages of the predetermined size is from the single level cell (SLC) mode to the triple level cell (TLC) mode.

11

11. The method of claim 8 , wherein a two-page transition of atomic programming modes that results in atomic programming of two pages of the predetermined size is from the multi-level cell (MLC) mode to a quad-level cell (QLC) mode.

12

12. The method of claim 8 , wherein a two-page transition of atomic programming modes that results in atomic programming of two pages of the predetermined size is from no programming to the multi-level cell (MLC) mode.

13

13. A memory sub-system, comprising: a plurality of media units capable of writing data concurrently; and at least one processing device configured to: receive a plurality of streams of write commands from a host system; perform multi-pass programming of a set of pages via a plurality of atomic programming operations in the media units; count single-page transitions of atomic programming modes, wherein each single-page transition results in atomic programming of a single page of data of a predetermined size in the media units; determine whether an odd or even number of the single-page transitions have been counted; determine whether or not to allow any two-page transition of atomic programming modes, wherein each two-page transition results in atomic programming of two pages of data each having the predetermined size, wherein: when an odd number of the transitions have been counted, no two-page transition of atomic programming modes is allowed; and when an even number of the transitions have been counted, one or more two-page transitions of atomic programming modes are allowable; and select a next transition of atomic programming modes based on determining of whether or not to allow any two-page transition of atomic programming modes.

14

14. The memory sub-system of claim 13 , wherein the at least one processing device is further configured to select the next transition to match a size of atomic programming mode resulting from the next transition to a size of a write command from the host system.

15

15. The memory sub-system of claim 14 , wherein the multi-pass programming of a set of pages programs at least page in a triple level cell (TLC) mode or a quad-level cell (QLC) mode.

16

16. The memory sub-system of claim 15 , wherein each atomic programming operation performed for the multi-pass programming of the set of pages transits from a first mode to a second mode.

17

17. The memory sub-system of claim 16 , wherein the first mode and the second mode are different ones of: no programming; programming to store one bit in each memory cell; programming to store two bits in each memory cell; programming to store three bits in each memory cell; and programming to store four bits in each memory cell.

18

18. A non-transitory computer storage medium storing instructions which, when executed in a memory sub-system, causes the memory sub-system to perform a method, the method comprising: receiving a plurality of streams of write commands from a host system; performing multi-pass programming operations, wherein each multi-pass programming operations programs a set of pages via a plurality of atomic programming operations in media units; counting single-page transitions of atomic programming modes, wherein each single-page transition results in atomic programming of a single page of data of a predetermined size in the media units; determining whether or not to allow any two-page transition of atomic programming modes, wherein each two-page transition results in atomic programming of two pages of data each having the predetermined size, wherein: when an odd number of the transitions have been counted, no two-page transition of atomic programming modes is allowed; and when an even number of the transitions have been counted, one or more two-page transitions of atomic programming modes are allowable; and selecting a next transition of atomic programming modes based on the determining of whether or not to allow any two-page transition of atomic programming modes.

19

19. The non-transitory computer storage medium of claim 18 , wherein the next transition is selected to match a size of atomic programming mode resulting from the next transition to a size of a write command from the host system.

20

20. The non-transitory computer storage medium of claim 18 , wherein the each single-page transition is one of: a transition from no programming to programming memory cells to each store a single bit; a transition from programming memory cells to each store a single bit to programming memory cells to each store two bits; a transition from programming memory cells to each store two bits to programming memory cells to each store three bits; and a transition from programming memory cells to each store three bits to programming memory cells to each store four bits; and wherein the each two-page transition is one of: a transition from no programming to programming memory cells to each store two bits; a transition from programming memory cells to each store a single bit to programming memory cells to each store three bits; and a transition from programming memory cells to each store two bits to programming memory cells to each store four bits.

Patent Metadata

Filing Date

Unknown

Publication Date

April 5, 2022

Inventors

Sanjay Subbarao
James Fitzpatrick

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Management of Programming Mode Transitions to Accommodate a Constant Size of Data Transfer between a Host System and a Memory Sub-System” (11294820). https://patentable.app/patents/11294820

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.