IP Library › Granted Patent US 12,517,820
Granted Patent B2
US 12,517,820 · App. 18/604,824 · Granted Jan 6, 2026

Logical block address status identification

Inventors: Gianluca Coppola (Saviano, IT); Marco Di Pasqua (Naples, IT)
Assignee: Micron Technology, Inc.
G06F12/0246G06F12/0808
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,517,820
App. No.
18/604,824
Filed
Mar 14, 2024
Granted
Jan 6, 2026
Kind
B2
Art Unit
2132
USPC
711/154
Abstract

Implementations described herein relate to logical block address status identification. In some implementations, a processing device may send, and a memory device may receive, a command that includes at least a first argument and a second argument. The first argument may indicate a logical block address start value and the second argument may indicate a logical block address range value. The memory device may send, and the processing device may receive, a packet that includes a list of logical block addresses and that indicates, for each logical block address in the list of logical block addresses, whether the logical block address is valid or invalid. The processing device may identify a mismatch between a valid logical block address and a corresponding file system entry, and may send, to the memory device, an erase command that indicates to erase the valid logical block address.

Claims (36)

1 . A memory device, comprising:

one or more components configured to:

receive, from a processing device, a command that includes at least a first argument and a second argument,

wherein the first argument indicates a logical block address start value and the second argument indicates a logical block address range value;

send, to the processing device, a packet that includes a list of logical block addresses and that indicates, for each logical block address in the list of logical block addresses, whether the logical block address is valid or invalid,

wherein a first logical block address in the list of logical block addresses corresponds to the logical block address start value, and wherein a quantity of logical block addresses in the list of logical block addresses corresponds to the logical block address range value; and

receive, from the processing device, after sending the packet to the processing device, an erase command that indicates to erase data from one or more valid logical block addresses, wherein each logical block address of the one or more valid logical block addresses is associated with a mismatch between data stored at the logical block address and data stored at the processing device.

2 . The memory device of claim 1 , wherein a logical block address in the list of logical block addresses is invalid if data has not been written to the logical block address by the processing device or if data has been erased from the logical block address by the processing device, and wherein the logical block address in the list of logical block addresses is valid if data has been written to the logical block address by the processing device and if the data that has been written to the logical block address has not been erased from the logical block address by the processing device.

3 . The memory device of claim 1 , wherein the one or more components are configured to:

determine that a logical block address in the list of logical block addresses is invalid based on no data being written to the logical block address or based on the data being erased from the logical block address; or

determine that the logical block address in the list of logical block addresses is valid based on data being written to the logical block address and based on the data not being erased from the logical block address.

4 . The memory device of claim 1 , wherein the quantity of logical block addresses begins at a logical block address corresponding to the logical block address start value and ends at a logical block address corresponding to the logical block address start value plus the logical block address range value minus one.

5 . The memory device of claim 1 , wherein the list of logical block addresses is a table that includes a plurality of entries, wherein each entry of the plurality of entries includes a logical block address of the quantity of logical block addresses and a bit, wherein the bit having a first value indicates that a corresponding logical block address is valid, and the bit having a second value indicates that the corresponding logical block address is invalid.

6 . A system, comprising:

a processing device configured to:

send, to a memory device, a command that includes at least a first argument and a second argument,

wherein the first argument indicates a logical block address start value and the second argument indicates a logical block address range value; and

receive, from the memory device, a packet that includes a list of logical block addresses and that indicates, for each logical block address in the list of logical block addresses, whether the logical block address is valid or invalid,

wherein a first logical block address in the list of logical block addresses corresponds to the logical block address start value, and wherein a quantity of logical block addresses in the list of logical block addresses corresponds to the logical block address range value; and

detect, for one or more valid logical block addresses in the list of logical block addresses, a mismatch between data stored at the valid logical block address and data stored at the processing device.

7 . The system of claim 6 , wherein a logical block address in the list of logical block addresses is invalid if data has not been written to the logical block address by the processing device or if data has been erased from the logical block address by the processing device, and wherein the logical block address in the list of logical block addresses is valid if data has been written to the logical block address by the processing device and if the data that has been written to the logical block address has not been erased from the logical block address by the processing device.

8 . The system of claim 6 , wherein the quantity of logical block addresses begins at a logical block address corresponding to the logical block address start value and ends at a logical block address corresponding to the logical block address start value plus the logical block address range value minus one.

9 . The system of claim 6 , wherein the list of logical block addresses is a table that includes a plurality of entries, wherein each entry of the plurality of entries includes a logical block address of the quantity of logical block addresses and a bit, wherein the bit having a first value indicates that a corresponding logical block address is valid, and the bit having a second value indicates that the corresponding logical block address is invalid.

10 . The system of claim 6 , wherein the processing device is further configured to send, to the memory device, after receiving the packet from the memory device, an erase command that indicates to erase data from the one or more valid logical block addresses.

11 . An apparatus, comprising:

means for receiving, from a processing device, a command that includes at least a first argument and a second argument,

wherein the first argument indicates a logical block address start value and the second argument indicates a logical block address range value;

means for sending, to the processing device, a packet that includes a list of logical block addresses and that indicates, for each logical block address in the list of logical block addresses, whether the logical block address is valid or invalid,

wherein a first logical block address in the list of logical block addresses corresponds to the logical block address start value, and wherein a quantity of logical block addresses in the list of logical block addresses corresponds to the logical block address range value; and

means for receiving, from the processing device, after sending the packet to the processing device, an erase command that indicates to erase data from one or more valid logical block addresses, wherein each logical block address of the one or more valid logical block addresses is associated with a mismatch between data stored at the logical block address and data stored at the processing device.

12 . The apparatus of claim 11 , wherein a logical block address in the list of logical block addresses is invalid if data has not been written to the logical block address by the processing device or if data has been erased from the logical block address by the processing device, and wherein the logical block address in the list of logical block addresses is valid if data has been written to the logical block address by the processing device and if the data that has been written to the logical block address has not been erased from the logical block address by the processing device.

13 . The apparatus of claim 11 , further comprising:

means for determining that a logical block address in the list of logical block addresses is invalid based on no data being written to the logical block address or based on the data being erased from the logical block address; or

means for determining that the logical block address in the list of logical block addresses is valid based on data being written to the logical block address and based on the data not being erased from the logical block address.

14 . The apparatus of claim 11 , wherein the quantity of logical block addresses begins at a logical block address corresponding to the logical block address start value and ends at a logical block address corresponding to the logical block address start value plus the logical block address range value minus one.

15 . The apparatus of claim 11 , wherein the list of logical block addresses is a table that includes a plurality of entries, wherein each entry of the plurality of entries includes a logical block address of the quantity of logical block addresses and a bit, wherein the bit having a first value indicates that a corresponding logical block address is valid, and the bit having a second value indicates that the corresponding logical block address is invalid.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2024
From: COPPOLA, GIANLUCA; DI PASQUA, MARCO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 066785/0200 →
Continuity (2)
Provisional Application 63604573 · Nov 30, 2023
Related Publication 20250181496A1 · Jun 5, 2025
References Cited (3)
US 11216365B1 · Kuzmin · 2022 [cited by examiner]
US 20110106804A1 · Keeler · 2011 [cited by examiner]
US 20250053338A1 · Jadon · 2025 [cited by examiner]