IP Library Granted Patent US 12,625,806
Granted Patent B2
US 12,625,806 · App. 18/925,125 · Granted May 12, 2026

Apparatus and methods for statically mapping random write command data

Inventors: Abhinandan Venugopal (Bengaluru, IN); Amit Sharma (Bengaluru, IN); Sourabh Sankule (Bengaluru, IN)
Assignee: Sandisk Technologies, Inc.
G06F12/0246
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,625,806
App. No.
18/925,125
Granted
May 12, 2026
Kind
B2
Abstract

An apparatus includes a memory array including blocks of non-volatile memory cells and a control circuit coupled to the memory array. The control circuit is configured to receive first write commands, determine that the first write commands satisfy predetermined criteria, and process the first write commands by: statically mapping the logical block addresses to corresponding physical block addresses of first ones of the blocks of non-volatile memory cells, and writing data from the first write commands to the first ones of the blocks.

Claims (44)

1 . An apparatus comprising:

a memory array comprising blocks of non-volatile memory cells; and

a control circuit coupled to the memory array, the control circuit configured to:

receive a first plurality of write commands;

determine that the first plurality of write commands satisfies predetermined criteria of only non-overlapping random write commands;

process the first plurality of write commands that satisfies the predetermine criteria by:

statically mapping the logical block addresses to corresponding physical block addresses of a first plurality of the blocks of non-volatile memory cells; and

writing data from the first plurality of write commands to the first plurality of blocks.

2 . The apparatus of claim 1 , wherein the first plurality of write commands comprise random write commands.

3 . The apparatus of claim 1 , wherein each of the first plurality of write commands comprise less than a page of data.

4 . The apparatus of claim 1 , wherein the control circuit is further configured to determine a range of logical block addresses in the first plurality of write commands.

5 . The apparatus of claim 4 , wherein the control circuit is further configured to determine a number of a blocks needed to store data of the determined range of logical block addresses, wherein each block comprises memory cells configured to store one bit of data per memory cell.

6 . The apparatus of claim 1 , wherein determining that the first plurality of write commands satisfies predetermined criteria comprises determining that the first plurality of write commands comprise non-repeating, non-overlapping write commands.

7 . The apparatus of claim 1 , wherein the first plurality of the blocks comprise memory cells configured to store one bit of data per memory cell.

8 . The apparatus of claim 1 , wherein the first plurality of the blocks comprise memory cells that may store more than one bit of data per memory cell, but the control circuit is configured to store only one bit of data per memory cell in the first plurality of the blocks.

9 . The apparatus of claim 1 , wherein the control circuit is further configured to write data to the first plurality of blocks using partial page programming.

10 . The apparatus of claim 1 , wherein the control circuit is further configured to write data to the first plurality of blocks using a one-to-one mapping of logical block addresses to corresponding block offsets.

11 . The apparatus of claim 1 , wherein the control circuit is further configured to:

receive a second plurality of write commands;

determine that the second plurality of write commands does not satisfy the predetermined criteria;

write data from the second plurality of write commands to sequential blocks of non-volatile memory cells; and

create entries corresponding to the second plurality of write commands in a logical to physical address mapping table.

12 . An apparatus comprising:

a memory array comprising non-volatile memory cells; and

a control circuit coupled to the memory array, the control circuit configured to:

receive a plurality of random write commands of only non-overlapping random write commands;

determine a range of logical block addresses in the random write commands;

determine a number of a blocks needed to store data of the random write commands, wherein each block comprises memory cells configured to store one bit of data per memory cell;

simultaneously open the determined number of blocks;

statically map the logical block addresses to corresponding physical block addresses of the opened blocks of non-volatile memory cells; and

write data from the random write commands to non-sequential flash management units in the opened blocks.

13 . The apparatus of claim 12 , wherein the control circuit is further configured to prevent relocation of data in the opened blocks.

14 . The apparatus of claim 12 , wherein the control circuit is further configured to close all of the opened blocks after completing writing data from the random write commands.

15 . The apparatus of claim 14 , wherein the control circuit is further configured to allow relocation of data in the closed blocks.

16 . The apparatus of claim 12 , wherein the plurality of random write commands comprise non-repeating, non-overlapping random write commands.

17 . The apparatus of claim 12 , wherein the control circuit is further configured to write data to the opened blocks using partial page programming.

18 . The apparatus of claim 12 , wherein the control circuit is further configured to write data from the random write commands to the memory array without updating a logical to physical address mapping table.

19 . A method comprising:

receiving a plurality of write commands at a control circuit coupled to a NAND memory array, each write command comprising a corresponding logical block address;

determining that the plurality of write commands of only non-repeating, non-overlapping random write commands;

determining a range of the corresponding logical block addresses of the plurality of write commands;

simultaneously opening a plurality of blocks to store data of the plurality of write commands, each block comprising NAND memory cells each configured to store one bit of data; and

writing the data of the plurality of write commands to the plurality of opened blocks using partial page programming,

wherein the data are written without updating a logical to physical address map for the NAND memory array.

Assignments (3)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Feb 3, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 070088/0320 →
Continuity (1)
Related Publication 20260119390A1 · Apr 30, 2026
References Cited (7)
US 9213645B2 · Aslam et al. · 2015 [cited by applicant]
US 11123561B2 · Li · 2021 [cited by applicant]
US 11567860B2 · Kang · 2023 [cited by applicant]
US 20200089629A1 · Wang · 2020 [cited by examiner]
US 20240094903A1 · Kavirayani et al. · 2024 [cited by applicant]
US 20240385771A1 · Cariello · 2024 [cited by examiner]
Yangsun Lee et al., “Mapping granularity and performance tradeoffs for solid state drive”, The Journal of Supercomputing, Springer.com, Jun. 9, 2012. [cited by applicant]