IP Library › Granted Patent US 12,436,716
Granted Patent B2
US 12,436,716 · App. 18/349,356 · Granted Oct 7, 2025

Method and system for performing read and write operations in cells of a NAND memory

Inventors: Anantha Sharma (Bengaluru, IN); Pandi Kanniah (Bengaluru, IN); Sharath Kumar Kodase (Bengaluru, IN); Suman Prakash Balakrishnan (Bengaluru, IN); Sandeep Kumar Ananthapalli (Bengaluru, IN)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0659G06F3/0604G06F3/064G06F3/0679
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,436,716
App. No.
18/349,356
Granted
Oct 7, 2025
Kind
B2
Abstract

Example embodiments of the present disclosure disclose method and system for performing read/write operations in NAND memory. A memory controller of the NAND memory receives write request from host controller to write data present in set of support cell blocks of NAND memory into a ‘n’-level cell block of NAND memory. The write request includes information about mapping between set of support cell blocks and ‘n’-level cell block. The mapping between set of support cell blocks and ‘n’-level cell block is used to update L2P table ( 206 ). Further, memory controller performs copyback operation on set of support cell blocks for writing data to ‘n’-level cell block based on L2P table using NAND latches. On receiving read request, host controller retrieves data from at least one support cell block associated with ‘n’-level cell block based on mapping on determining ‘n’-level cell block is listed in active block list.

Claims (30)

1. A method for writing data into cells of a NOT-AND (NAND) memory, the NAND memory including a plurality of non-volatile memory cells and one or more volatile NAND latches configured to temporarily store data before writing the data to the plurality of non-volatile memory cells, the method comprising:

receiving, by a memory controller of the NAND memory, a write request from a host controller to write data present in a set of support cell blocks of the NAND memory into a ‘n’-level cell block of the NAND memory, wherein the write request comprises information on mapping from each page of the set of support cell blocks to a corresponding page in the ‘n’-level cell block;

updating, by the memory controller, a Logical to Physical (L2P) table based on the mapping between the set of support cell blocks and the ‘n’-level cell block; and

performing, by the memory controller, a copyback operation on the set of support cell blocks for writing the data to the ‘n’-level cell block based on the L2P table using the one or more volatile NAND latches as hardware accelerators configured to perform the copyback operation as an internal copyback operation without the host controller tracking intermediate single-level cell (SLC) locations in the L2P table.

2. The method as claimed in claim 1 , wherein the ‘n’-level cell block is one of: a Multi-Level Cell (MLC) block, a Triple Level Cell (TLC) block, a Quad Level Cell (QLC) block and a Penta Level Cell (PLC) block.

3. The method as claimed in claim 1 , wherein the set of support cell blocks are among a plurality of support cell blocks which are idle.

4. The method as claimed in claim 3 , wherein the plurality of support cell blocks comprise one or more of: a Single Level Cell (SLC) block, a Multi-Level Cell (MLC) block, a Triple Level Cell (TLC) block, a Quad Level Cell (QLC) block and a Penta Level Cell (PLC) block.

5. The method as claimed in claim 1 , wherein the set of support cell blocks and the ‘n’-level cell block are listed in an active block list based on the mapping, and wherein the active block list provides information on non-idle ‘n’-level cell blocks and non-idle support cell blocks.

6. The method as claimed in claim 1 , wherein the set of support cell blocks are in an idle support cell block pool after the copyback operation.

7. A method for reading data from cells in a NOT-AND (NAND) memory, the method comprising:

receiving, by a memory controller of a NAND memory, a read request from a host controller to read data from an ‘n’-level cell block of the NAND memory;

checking, by the memory controller, if the ‘n’-level cell block of the NAND memory is listed in an active block list, wherein the active block list comprises information on non-idle ‘n’-level cell blocks and non-idle support cell blocks;

obtaining, by the memory controller, a mapping from each page of a set of support cell blocks to a corresponding page in the ‘n’-level cell block based on determining the ‘n’-level cell block of the NAND memory is listed in the active block list; and

retrieving, by the memory controller, the data by,

retrieving the data from at least one support cell block of the set of support cell blocks associated with the ‘n’-level cell block based on the mapping, in response to the ‘n’-level cell block being in the active block list, and

retrieving the data from the ‘n’-level cell block based on a Logical to Physical (L2P) table, in response to the ‘n’-level cell block not being in the active block list,

wherein the data from the at least one support cell block is provided to the host controller.

8. The method as claimed in claim 7 , wherein the data is retrieved from the ‘n’-level cell block based on determining the ‘n’-level cell block is not in the active block list based on a Logical to Physical (L2P) table.

9. The method as claimed in claim 7 , wherein the at least one support cell block is identified from the set of support cell blocks based on the mapping and the read request.

10. A memory controller for writing data into cells of a NOT-AND (NAND) memory, the NAND memory including a plurality of non-volatile memory cells and one or more volatile NAND latches configured to temporarily store data before writing the data to the plurality of non-volatile memory cells, the memory controller comprising:

a memory configured to store instructions; and

a processor configured to execute the instructions stored in the memory and cause the memory controller to

receive a write request from a host controller to write data present in a set of support cell blocks of the NAND memory into a ‘n’-level cell block of the NAND memory, wherein the write request comprises information on mapping from each page of the set of support cell blocks to a corresponding page in the ‘n’-level cell block,

update a Logical to Physical (L2P) table based on the mapping between the set of support cell blocks and the ‘n’-level cell block, and

perform a copyback operation on the set of support cell blocks for writing the data to the ‘n’-level cell block based on the L2P table using the one or more volatile NAND latches as hardware accelerators that perform the copyback operation as an internal copyback operation without the host controller tracking intermediate single-level cell (SLC) locations in the L2P table.

11. The memory controller as claimed in claim 10 , wherein the ‘n’-level cell block is one of: a Multi-Level Cell (MLC) block, a Triple Level Cell (TLC) block, a Quad Level Cell (QLC) block and a Penta Level Cell (PLC) block.

12. The memory controller as claimed in claim 10 , wherein the processor is configured to execute the instructions stored in the memory such that the set of support cell blocks are among a plurality of support cell blocks which are idle.

13. The memory controller as claimed in claim 12 , wherein the plurality of support cell blocks comprise one or more of: a Single Level Cell (SLC) block, a Multi-Level Cell (MLC) block, a Triple Level Cell (TLC) block, a Quad Level Cell (QLC) block and a Penta Level Cell (PLC) block.

14. The memory controller as claimed in claim 10 , wherein the processor is configured to execute the instructions stored in the memory such that the set of support cell blocks and the ‘n’-level cell block are listed in an active block list based on the mapping, and wherein the active block list provides information on non-idle ‘n’-level cell blocks and non-idle support cell blocks.

15. The memory controller as claimed in claim 10 , wherein the processor is configured to execute the instructions stored in the memory such that the set of support cell blocks are in an idle support cell block pool after the copyback operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2023
From: SHARMA, ANANTHA; KANNIAH, PANDI; KODASE, SHARATH KUMAR; BALAKRISHNAN, SUMAN PRAKASH; ANANTHAPALLI, SANDEEP KUMAR
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064372/0918 →
Priority Claims (1)
IN 202341033728 · May 12, 2023 · national
Continuity (1)
Related Publication 20240377987A1 · Nov 14, 2024
References Cited (19)
US 7336536B2 · Louie · 2008 [cited by examiner]
US 7336537B2 · Louie · 2008 [cited by examiner]
US 20050286337A1 · Louie · 2005 [cited by examiner]
US 20060256633A1 · Louie · 2006 [cited by examiner]
US 20180011635A1 · Shin · 2018 [cited by examiner]
US 20190095116A1 · Igahara et al. · 2019 [cited by applicant]
US 20190102102A1 · Natarajan et al. · 2019 [cited by applicant]
US 20200210335A1 · Sundrani · 2020 [cited by examiner]
US 20210406170A1 · Jung · 2021 [cited by examiner]
US 20220187999A1 · Lam et al. · 2022 [cited by applicant]
US 20230061180A1 · Lam et al. · 2023 [cited by applicant]
US 20230229340A1 · Winterfeld · 2023 [cited by examiner]
US 20230289067A1 · Kantani · 2023 [cited by examiner]
CN 113393884A · 2021 [cited by applicant]
Extended European Search Report issued Feb. 12, 2024 in European Application No. 23192895.3. [cited by applicant]
A. Hsu “New Flash Architecture Combines QLC Density with SLC Speed: X-NAND” [cited by applicant]
S. Gorobets et al., 'Combined QLC Programming Method' in [cited by applicant]
M. Hawthorne, What is SLC Caching?' in Technipages. Jun. 27, 2022, <https://www.technipages.com/what-is-slc-caching?utm_source=rss&utm_medium=rss&utm_campaign=what-is-slc-caching#:˜:text=SLC%20caching%20is%20a%20clever,… [cited by applicant]
‘SLC Cache vs. Direct TLC Write’ in ATP. Apr. 1, 2020, <https://www.atpinc.com/blog/what-is-SLC-cache-difference-between-Dynamic-Static-SLC-cache>. [cited by applicant]