# US 12,603,137 B2 · Memory systems, operating methods, and readable storage mediums

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,603,137 B2
- Document ID: US12603137B2
- Status: Granted
- Kind: B2
- Application number: 18/743,818
- Filed: 2024-06-14
- Published: 2025-09-11
- Granted: 2026-04-14
- Earliest claimed: 2024-03-08
- Assignees: Yangtze Memory Technologies Co., Ltd.
- Applicants: Yangtze Memory Technologies Co., Ltd.
- Inventors: Teng Zhou; Hua Tan; Weilin Liu; Qian Sun
- Web page: https://patentgrep.com/patent/US12603137B2

## CPC

- G11C 16/26: Sensing or reading circuits; Data output circuits
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 16/08: Address circuits; Decoders; Word-line control circuits
- G11C 16/32: Timing circuits
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

Examples of the present application disclose memory systems, methods of operating the same, and readable storage mediums. An example memory system includes a memory device and a memory controller coupled to the memory device. The memory controller is configured to: in response to a read command, determine a time period to which a time difference between writing and reading of data to be read corresponding to the read command belongs; determine an amount of the voltage shift according to the time period to which the time difference between the writing and reading of the data to be read belongs; and determine a read voltage for reading the data to be read based on the amount of the voltage shift and the default read voltage.

## Claims

### Claim 1

A memory system, comprising:
a memory device; and
a memory controller coupled to the memory device and configured to:
in response to a read command, determine a time period to which a time difference between writing and reading of data to be read corresponding to the read command belongs;
determine an amount of a voltage shift according to the time period to which the time difference between the writing and reading of the data to be read belongs; and
determine a read voltage for reading the data to be read based on the amount of the voltage shift and a default read voltage.

### Claim 2 (depends on 1)

The memory system of claim 1, wherein the time period is to reflect a degree of an initial threshold shift (IVS) corresponding to a memory cell storing data in the memory device, and memory cells in different time periods correspond to different degrees of the IVS, and the memory controller is further configured to determine the amount of the voltage shift according to the time period to which the time difference between the writing and reading of the data to be read belongs and a mapping relationship, wherein the mapping relationship includes multiple sub-mapping relationships of the multiple sub-mapping relationships, and each sub-mapping relationship of the multiple sub-mapping relationships includes a corresponded relationship between the time period and corresponding amount of the voltage shift.

### Claim 3 (depends on 1)

The memory system of claim 1, wherein the memory controller is further configured to:
check a program location in which the memory device is located every first preset time duration, and when different program locations are checked, store a program address information for the different program locations in a first queue according to a sequence for checking; and
in response to the read command, determine the time period to which the time difference between the writing and reading of the data to be read belongs according to the program address information in the first queue and a read address information corresponding to the read command.

### Claim 4 (depends on 3)

The memory system of claim 3, wherein the program address information in the first queue is divided according to the time period to form at least one first group of data, and the memory controller is further configured to:
compare the read address information with the program address information in the first queue to determine the first group of data in which the read address information is located; and
determine the time period to which the time difference between the writing and reading of the data to be read belongs based on the first group of data in which the read address information is located.

### Claim 5 (depends on 3)

The memory system of claim 3, wherein the memory controller is further configured to:
after a depth of the first queue reaches a first depth, and when a change of the program location in which the memory device is located is checked every of a first preset time duration, delete program address information corresponding to a head of the first queue; and
insert new program address information into a tail of the first queue to update the first queue and maintain the first queue at the first depth, wherein, the first depth is determined according to a first target time interval and the first preset time duration, the first target time interval is a boundary value between a first time period and a second time period which are adjacent, and, in the first time period, the amount of the voltage shift is zero, and, in the second time period, the amount of the voltage shift is not zero.

### Claim 6 (depends on 5)

The memory system of claim 5, wherein the depth of the first queue reaches the first depth, and the memory controller is further configured to:
obtain, as a first program address information, the program address information corresponding to a last programming of the memory device when the read command is received;
compare the first program address information with the program address information in the first queue; and
in response to the first program address information being the same as the program address information corresponding to the head of the first queue, determine the time period to which the time difference between the writing and reading of the data to be read belongs to be the first time period.

### Claim 7 (depends on 6)

The memory system of claim 6, wherein the program address information in the first queue is divided according to the time period to form at least one first group of data, and the memory controller is further configured to:
in response to the first program address information being different from the program address information corresponding to the head of the first queue, compare the read address information with the program address information in the first queue; and
in response to the read address information being the same as a second program address information in the first queue:
determine the first group of data in which the read address information is located; and
determine the time period to which the time difference between the writing and reading of the data to be read belongs based on the first group of data in which the read address information is located.

### Claim 8 (depends on 5)

The memory system of claim 5, wherein the depth of the first queue does not reach the first depth, the program address information in the first queue is divided according to the time period to form at least one first group of data, and the memory controller is further configured to:
compare the read address information with the program address information in the first queue to determine the first group of data in which the read address information is located; and
determine the time period to which the time difference between the writing and reading of the data to be read belongs based on the first group of data in which the read address information is located.

### Claim 9 (depends on 7)

The memory system of claim 7, wherein the memory device includes a plurality of memory regions, each memory region of the plurality of memory regions includes a plurality of memory pages, the program address information is address information for a memory page of the plurality of memory pages into which data is written, and the memory controller is further configured to:
store corresponding block information in a second queue according to the sequence in which data is written to the memory region; and
after a depth of the second queue reaches a second depth, in response to data being written into a new memory region:
delete block information for the memory region corresponding to a head of the second queue; and
insert block information for the new memory region into a tail of the second queue to update the second queue and maintain the second queue at the second depth, wherein the second depth is greater than or equal to the first depth.

### Claim 10 (depends on 7)

The memory system of claim 7, wherein the memory device includes a plurality of memory regions, each memory region of the plurality of memory regions includes a plurality of memory pages, the program address information is address information for a memory page of the plurality of memory pages into which data is written, and the memory controller is further configured to determine the time period to which the time difference between the writing and reading of the data to be read belongs according to a system time of the memory system, at least one of first time or second time, wherein, the first time is a recorded time at which the memory region in which the data to be read is located starts to be written with data, and the second time is a recorded time at which the memory region in which the data to be read is located is fully written.

### Claim 11 (depends on 7)

The memory system of claim 7, wherein the memory device includes a plurality of memory regions, each memory region of the purality of memory regions includes a plurality of memory pages, the program address information is address information for a memory page of the plurality of memory pages into which data is written, and the memory controller is further configured to:
determine block information corresponding to a memory region in which the program address information in the first queue is located;
store the block information in a third queue according to the sequence in which the program address information is recorded in the first queue, wherein a depth of the third queue is the same as the depth of the first queue;
divide the block information in the third queue according to the time period to form at least one third group of data; and
in response to the memory region in which the data to be read is located being a memory region fully written with data:
determine the third group of data to which the memory region in which the data to be read is located belongs according to a system time of the memory system and a first time or a second time; and
determine the time period to which the time difference between the writing and reading of the data to be read belongs according to the third group of data to which the memory region in which the data to be read is located belongs, wherein, the first time is a recorded time at which the memory region in which the data to be read is located starts to be written with data, and the second time is the recorded time at which the memory region in which the data to be read is located is fully written.

### Claim 12 (depends on 2)

The memory system of claim 2, wherein the memory controller is further configured to:
in response to the read command, determine a memory region in which the data to be read is located;
obtain time node information corresponding to the memory region in which the data to be read is located; and
obtain the time period to which the time difference between the writing and reading of the data to be read belongs according to the time node information and a read address information corresponding to the read command, wherein the time node information is to indicate the time period to which the time difference between the writing and reading of the data to be written into the memory region belongs.

### Claim 13

A method of operating a memory system, comprising:
in response to receiving a read command, determining a time period to which a time difference between writing and reading of data to be read corresponding to the read command belongs;
determining an amount of a voltage shift according to the time period to which the time difference between the writing and reading of the data to be read belongs; and
determining a read voltage for reading the data to be read according to the amount of the voltage shift and a default read voltage.

### Claim 14 (depends on 13)

The method of claim 13, wherein the time period is to reflect a degree of an initial threshold shift IVS corresponding to a memory cell storing data in a memory device in the memory system, memory cells in different time periods correspond to different degrees of the IVS, and the determining the amount of the voltage shift according to the time period to which the time difference between the writing and reading of the data to be read belongs includes determining the amount of the voltage shift according to the time period to which the time difference between the writing and reading of the data to be read belongs and a mapping relationship, wherein the mapping relationship includes multiple sub-mapping relationships, and each sub-mapping relationship of the multiple mapping relationships includes a corresponding relationship between the time period and corresponding amount of the voltage shift.

### Claim 15 (depends on 13)

The method of claim 13, further including:
checking a program location in which a memory device is located every of a first preset time duration;
when different program locations are checked, storing a program address information for the different program locations in a first queue according to a sequence for checking; and
determining the time period to which the time difference between writing and reading of data to be read corresponding to the read command belongs includes determining the time period to which the time difference between the writing and reading of the data to be read belongs according to the program address information in the first queue and read address information corresponding to the read command.

### Claim 16 (depends on 15)

The method of claim 15, wherein the program address information in the first queue is divided according to the time period to form at least one first group of data, and the determining the time period to which the time difference between the writing and reading of the data to be read belongs according to the program address information in the first queue and the read address information corresponding to the read command includes:
comparing the read address information with the program address information in the first queue to determine the first group of data in which the read address information is located; and
determining the time period to which the time difference between the writing and reading of the data to be read belongs based on the first group of data in which the read address information is located.

### Claim 17 (depends on 15)

The method of claim 15, further including, after a depth of the first queue reaches a first depth, and when a change of the program location in which the memory device is located is checked every of the first preset time duration:
deleting the program address information corresponding to a head of the first queue; and
inserting new program address information into a tail of the first queue to update the first queue and maintain the first queue at the first depth, wherein the first depth is determined according to a first target time interval and the first preset time duration, the first target time interval is a boundary value between a first time period and a second time period which are adjacent, in the first time period, the amount of the voltage shift is zero, and, in the second time period, the amount of the voltage shift is not zero.

### Claim 18 (depends on 17)

The method of claim 17, wherein the depth of the first queue reaches the first depth, and the method further includes:
obtaining, as a first program address information, the program address information corresponding to a last programming of the memory device when the read command is received;
comparing the first program address information with the program address information in the first queue; and
in response to the first program address information being the same as the program address information corresponding to the head of the first queue, determining the time period to which the time difference between the writing and reading of the data to be read belongs to be the first time period.

### Claim 19 (depends on 18)

The method of claim 18, wherein the program address information in the first queue is divided according to the time period to form at least one first group of data, and the method further includes:
in response to the first program address information being different from the program address information corresponding to the head of the first queue, comparing the read address information with the program address information in the first queue; and
in response to the read address information being the same as second program address information in the first queue:
determining the first group of data in which the read address information is located; and
determining the time period to which the time difference between the writing and reading of the data to be read belongs based on the first group of data in which the read address information is located.

### Claim 20

A readable storage medium having a computer program storing thereon, which when executed, implements a method for operating a memory system, comprising:
in response to receiving a read command, determining a time period to which a time difference between writing and reading of data to be read corresponding to the read command belongs;
determining an amount of a voltage shift according to the time period to which the time difference between the writing and reading of the data to be read belongs; and
determining a read voltage for reading the data to be read according to the amount of the voltage shift and a default read voltage.
