IP Library Granted Patent US 11,347,659
Granted Patent B2
US 11,347,659 · App. 16/227,072 · Granted May 31, 2022

Low cost and low latency logical unit erase

Inventor: Stephen Hanna (Fort Collins, CO)
Assignee: Micron Technology, Inc.
G06F12/1408G06F11/1004G06F12/0246G06F12/1475G06F21/602G06F21/79G11C16/14H03M13/1102H04L9/0861H04L9/0891G06F2212/1052G06F2212/202G06F2212/402G06F2212/7201G06F2212/7205
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,347,659
App. No.
16/227,072
Granted
May 31, 2022
Kind
B2
Abstract

A memory device comprises a memory array including memory cells, a communication interface to a host device, and a memory control unit operatively coupled to the memory array and the communication interface. The memory control unit is configured to generate a scrambler seed and a logical block address (LBA) for a block of write data received via the communication interface, scramble the block of data using the scrambler seed, encrypt the scrambler seed and the LBA using an encryption key, initiate writing a scrambled block of data and encrypted LBA and scrambler seed to the memory array, and change the encryption key in response to an erase command received via the communication interface.

Claims (86)

1. A memory device comprising:

a memory array including memory cells;

a communication interface; and

a memory control unit operatively coupled to the memory array and the communication interface, the memory control unit configured to:

generate a scrambler seed and a logical block address (LBA) for a block of write data received via the communication interface;

generate a flash translation layer (FTL) to map the LBA to a physical address (PA);

scramble the block of data using the scrambler seed;

encrypt the scrambler seed, the LBA, and the PA in the FTL using an encryption key;

initiate writing a scrambled block of data and encrypted LBA and scrambler seed to the memory array;

change the encryption key in response to an erase command received via the communication interface; and

decrypt the FTL using the changed encryption key when the erase command is received.

2. The memory device of claim 1 , wherein the memory control unit is configured to:

generate the encryption key for the block of data;

initiate storing of the encryption key in association with the block of data; and

overwrite the stored encryption key with a new encryption key in response to the erase command.

3. The memory device of claim 1 , wherein the memory control unit includes:

a scrambling queue for storing unencrypted scrambler seed and data block pairs for scrambling blocks of data; and

an encryption queue for storing LBA and scrambler seed pairs for encryption, wherein queued data blocks are scrambled in parallel with encryption of queued LBAs and scrambler seeds of the data blocks.

4. The memory device of claim 1 , wherein the memory control unit is configured to:

initiate reading the scrambled block of data and encrypted LBA and scrambler seed from the memory array;

decrypt the read encrypted LBA and scrambler seed;

descramble the scrambled block of data using the decrypted scrambler seed to generate read data;

determine cyclic redundancy code (CRC) data for the read data; and

transfer the read data to a host via the communication interface when the decrypted LBA matches the CRC data.

5. The memory device of claim 4 , wherein the memory control unit is configured to:

generate CRC data for the received block of data and scrambling the CRC data using the scrambler seed;

descramble the CRC data using the decrypted scrambler seed; and

send the read data to the host when the descrambled CRC data is correct.

6. The memory device of claim 4 , wherein the memory control unit includes parity check circuitry configured to perform a low-density parity check (LDPC) on the scrambled block of data during decrypting of the read encrypted LBA and scrambler seed.

7. The memory device of claim 1 , wherein the memory control unit is configured to:

initiate reading the scrambled block of data and encrypted LBA and scrambler seed from the memory array;

decrypt the read encrypted LBA and scrambler seed using the changed encryption key when the erase command is received;

descramble the scrambled block of data using a scrambler seed decrypted using the changed encryption key to generate incorrect read data; and

communicate a fault via the communication interface in response to generating incorrect read data.

8. The memory device of claim 7 , including:

a CRC circuit configured to determine CRC data for read data; and

wherein the memory control unit is configured to communicate a fault via the communication interface in response to a mismatch between the decrypted LBA and the CRC data.

9. The memory device of claim 8 , wherein the memory control unit is configured to send all zeros data via the communication interface in response to a mismatch between the decrypted LBA and the CRC data.

10. A method of operating a memory device, the method comprising:

receiving a block of data to be written to a portion of a memory array of the memory device;

generating a logical block address (LBA) for the block of data and a scrambler seed;

creating a flash translation layer (FTL) that maps the LBA to a physical address (PA);

scrambling the block of data using the scrambler seed;

encrypting the scrambler seed the LBA, and the PA in the FTL using an encryption key;

writing a scrambled block of data and encrypted LBA and scrambler seed to the memory array;

receiving an erase command to erase the block of data;

changing the encryption key in response to the erase command; and

decrypting the PA using the changed encryption key in response to the erase command.

11. The method of claim 10 , including:

generating the encryption key for the block of data;

storing the encryption key in association with the block of data; and

wherein changing the encryption key includes overwriting the stored encryption key with a new encryption key in response to the erase command.

12. The method of claim 10 , wherein the scrambling and encrypting includes scrambling the block of data using an unencrypted scrambler seed in parallel with encrypting the scrambler seed and LBA.

13. The method of claim 12 , including:

queuing unencrypted scrambler seed and data block pairs for data scrambling using a scrambler engine; and

queuing LBA and scrambler seed pairs for encryption using an encryption engine in parallel to the data scramble.

14. The method of claim 10 , including:

reading the scrambled block of data and encrypted LBA and scrambler seed from the memory array;

decrypting the read encrypted LBA and scrambler seed;

descrambling the scrambled block of data using the decrypted scrambler seed to generate read data;

sending the read data to a host when the scrambled block of data is descrambled using a scrambler seed decrypted using a correct encryption key; and

communicating a fault to the host when the scrambled block of data is descrambled using a scrambler seed decrypted using the changed encryption key.

15. The method of claim 14 , including:

generating CRC data for the received block of data to be written, wherein scrambling the block of data includes scrambling the CRC data and descrambling the data includes descrambling the CRC data;

sending the read data to the host when the descrambled CRC data is correct; and

communicating the fault to the host when the descrambled CRC data is incorrect.

16. The method of claim 14 , including sending all zeros data to the host as the read data when the read encrypted LBA is decrypted using the changed encryption key.

17. A memory device comprising:

a memory array including memory cells;

a communication interface; and

a memory control unit operatively coupled to the memory array and the communication interface, the memory control unit configured to:

generate a logical block address (LBA) and cyclic redundancy code (CRC) data for a block of write data received via the communication interface;

generate a map that translates LBAs of a logical unit (LUN) of the memory array to physical addresses (PAs) of the memory array;

encrypt the LBA and CRC data and the map using an encryption key;

initiate writing encrypted LBA and CRC data to the memory array;

change the encryption key in response to an erase command received via the communication interface; and

decrypt the map using the changed encryption key in response to the erase command.

18. The memory device of claim 17 , wherein the memory control unit is configured to:

generate the encryption key for the block of data;

store the encryption key in association with the block of data; and

overwrite the stored encryption key with a new encryption key in response to the erase command.

19. The memory device of claim 17 , wherein the memory control unit is configured to:

read the block of data, encrypted LBA, and encrypted CRC from the memory array;

decrypt the read encrypted LBA and CRC data;

send the read data to a host when the LBA and CRC are decrypted using a correct encryption key; and

send all zeros data to the host when the LBA and CRC are decrypted using the changed encryption key.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP, LLC
Reel/Frame 064908/0933 →
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051026/0568 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050718/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2019
From: HANNA, STEPHEN
To: MICRON TECHNOLOGY, INC.
Reel/Frame 048125/0315 →
SUPPLEMENT NO. 11 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048082/0860 →
SUPPLEMENT NO. 2 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048082/0889 →