IP Library › Granted Patent US 11,853,200
Granted Patent B2
US 11,853,200 · App. 17/653,323 · Granted Dec 26, 2023

Memory system and controller to invalidate data corresponding to a logical address

Inventor: Shinichi Kanno (Ota, JP)
Assignee: Kioxia Corporation
G06F12/0246G06F3/0604G06F3/0652G06F3/0679G06F12/0253G06F12/0292G06F12/0891G06F2212/7201G06F2212/7205G06F2212/7209
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 11,853,200
App. No.
17/653,323
Granted
Dec 26, 2023
Kind
B2
Abstract

According to one embodiment, a controller writes a first data associated with a write request and a first logical address specified by the write request to a first block. The controller updates a logical-to-physical address translation table such that a first physical address indicating a first storage location in the first block in which the first data is written is associated with the first logical address. In response to receiving an invalidation request for invalidating the first data corresponding to the first logical address, the controller acquires, from the logical-to-physical address translation table, the first physical address, and updates a valid data identifier corresponding to a storage location indicated by the first physical address to a value indicating invalidation.

Claims (52)

1. A memory system connectable to a host, the memory system comprising:

a nonvolatile memory including a plurality of blocks; and

a controller configured to manage a plurality of valid data identifiers corresponding to a plurality of storage locations included in each of the plurality of blocks, block by block, using a management table, each of the plurality of valid data identifiers indicating validity or invalidity of data stored in a corresponding storage location, wherein the controller is further configured to:

in response to receiving from the host a write request specifying a first logical address, write both first data associated with the write request and the first logical address to a first block, update a logical-to-physical address translation table such that a first physical address indicating a first storage location in the first block where the first data is written is associated with the first logical address, and update a first valid data identifier in the management table corresponding to the first storage location in the first block to a value indicating validity;

in response to receiving from the host an invalidation request for invalidating the first data corresponding to the first logical address, acquire, from the logical-to-physical address translation table, the first physical address associated with the first logical address, and update the first valid data identifier in the management table corresponding to the first storage location in the first block indicated by the acquired first physical address to a value indicating invalidity;

when executing garbage collection for the nonvolatile memory, select a copy source block for the garbage collection from the plurality of blocks, copy both valid data and a logical address corresponding to the valid data from the copy source block to a copy destination block, based on a plurality of second valid data identifiers in the management table corresponding to a plurality of storage locations in the copy source block, update the logical-to-physical address translation table such that a physical address indicating a copy destination storage location in the copy destination block to which the valid data is copied is associated with the logical address of the valid data, update a third valid data identifier in the management table corresponding a copy source storage location in the copy source block where the valid data is stored to a value indicating invalidity, and update a fourth valid data identifier in the management table corresponding to the copy destination storage location in the copy destination block to a value indicating validity;

in response to receiving a re-validation request for re-validating the first data corresponding to the first logical address from the host, the re-validation request specifying the first logical address:

acquire the first physical address associated with the first logical address from the logical-to-physical address translation table;

read, from the first block, based on the acquired first physical address, a logical address that is stored together with data in the first storage location in the first block indicated by the acquired first physical address;

determine whether the read logical address matches the first logical address specified by the re-validation request;

update the first valid data identifier corresponding to the first storage location in the first block indicated by the acquired first physical address to a value indicating validity, when the read logical address matches the first logical address; and

notify the host of an error when the read logical address does not match the first logical address.

2. The memory system according to claim 1 , wherein the acquired first physical address is maintained in the logical-to-physical address translation table when the first valid data identifier in the management table is updated to the value indicating invalidity.

3. The memory system according to claim 1 , wherein the controller is further configured to:

in response to receiving a read request specifying the first logical address from the host, acquire the first physical address associated with the first logical address from the logical-to-physical address translation table, read from the first block both data stored in the first storage location in the first block indicated by the acquired first physical address and a logical address corresponding to the data, transmit the read data to the host when the read logical address matches the first logical address specified by the read request, and does not transmit the read data to the host when the read logical address does not match the first logical address specified by the read request.

4. The memory system according to claim 1 , wherein the controller is further configured to:

notify the host of the error without updating the first valid data identifier to the value indicating validity, when the read logical address does not match the first logical address specified by the re-validation request.

5. The memory system according to claim 1 , wherein the controller is further configured to:

when the invalidation request is received from the host, update the first valid data identifier to the value indicating invalidity without changing an entry of the logical-to-physical address translation table corresponding to the first logical address from the first physical address to a value indicating an invalidity.

6. A method of controlling a nonvolatile memory including a plurality of blocks, the method comprising:

managing a plurality of valid data identifiers corresponding to a plurality of storage locations included in each of the plurality of blocks, block by block, using a management table, each of the plurality of valid data identifiers indicating validity or invalidity of data stored in a corresponding storage location;

in response to receiving from the host a write request for specifying a first logical address,

writing both first data associated with the write request and the first logical address to a first block;

updating a logical-to-physical address translation table such that a first physical address indicating a first storage location in the first block where the first data is written is associated with the first logical address; and

updating a first valid data identifier in the management table corresponding to the first storage location in the first block to a value indicating validity;

in response to receiving from the host an invalidation request for invalidating the first data corresponding to the first logical address,

acquiring the first physical address associated with the first logical address from the logical-to-physical address translation table; and

updating the first valid data identifier in the management table corresponding to the first storage location in the first block indicated by the acquired first physical address to a value indicating invalidity;

when executing garbage collection for the nonvolatile memory,

selecting a copy source block for the garbage collection from the plurality of blocks;

copying both valid data and a logical address corresponding to the valid data from the copy source block to a copy destination block, based on a plurality of second valid data identifiers in the management table corresponding to a plurality of storage locations in the copy source block;

updating the logical-to-physical address translation table such that a physical address indicating a copy destination storage location in the copy destination block to which the valid data is copied is associated with the logical address of the valid data;

updating a third valid data identifier in the management table corresponding to a copy source storage location in the copy source block where the valid data is stored to a value indicating invalidity; and

updating a fourth valid data identifier in the management table corresponding to the copy destination storage location in the copy destination block to a value indicating validity; and

in response to receiving a re-validation request for re-validating the first data corresponding to the first logical address from the host, the re-validation request specifying the first logical address;

acquiring the first physical address associated with the first logical address from the logical-to-physical address translation table;

reading, from the first block, based on the acquired first physical address, a logical address that is stored together with data in the first storage location in the first block indicated by the acquired first physical address;

determining whether the read logical address matches the first logical address specified by the re-validation request;

updating the first valid data identifier corresponding to the first storage location in the first block indicated by the acquired first physical address to a value indicating validity when the read logical address matches the first logical address; and

notifying the host of an error when the read logical address does not match the first logical address.

7. The method according to claim 6 , wherein

the acquired first physical address is maintained in the logical-to-physical address translation table when the first valid data identifier in the management table is updated to the value indicating invalidity.

8. The method according to claim 6 , further comprising:

in response to receiving from the host a read request for specifying the first logical address,

acquiring the first physical address associated with the first logical address from the logical-to-physical address translation table;

reading, from the first block, both data stored in the first storage location in the first block indicated by the acquired first physical address and a logical address corresponding to the data;

transmitting the read data to the host when the read logical address matches the first logical address specified by the read request; and

not transmitting the read data to the host when the read logical address does not match the first logical address specified by the read request.

9. The method according to claim 6 , wherein

the notifying includes notifying the host of the error without updating the first valid data identifier to a value indicating validity, when the read logical address does not match the first logical address specified by the re-validation request.

10. The method according to claim 6 , wherein

the updating the first valid data identifier includes updating, when the invalidation request is received from the host, the first valid data identifier to the value indicating invalidity without changing an entry of the logical-to-physical address translation table corresponding to the first logical address from the first physical address to a value indicating an invalidity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2022
From: KANNO, SHINICHI
To: KIOXIA CORPORATION
Reel/Frame 060367/0332 →
Priority Claims (1)
JP 2021-102261 · Jun 21, 2021 · national
Continuity (1)
Related Publication 20220405199A1 · Dec 22, 2022