IP Library Granted Patent US 10,824,371
Granted Patent B2
US 10,824,371 · App. 16/012,750 · Granted Nov 3, 2020

Managed NAND data compression

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 10,824,371
App. No.
16/012,750
Granted
Nov 3, 2020
Kind
B2
Abstract

Apparatus and methods are disclosed, including providing available data operations for the storage system processor to a host processor, identifying data operations to be performed by the storage system processor, and assigning identified data operations to the storage system processor to reduce bus traffic between the host processor and the storage system processor, to improve host processor performance, and to reduce energy use by the host processor.

Claims (52)

1. A system comprising:

a storage system comprising a memory controller and a single three-dimensional architecture semiconductor memory array comprising a group of non-volatile memory cells, wherein the memory controller is configured to:

receive a write command from a host device and data associated with the write command;

store a first version of the data associated with the write command on the group of non-volatile memory cells;

compress a second version of the data associated with the write command; and

store the compressed second version of the data on the group of non-volatile memory cells.

2. The system of claim 1 , wherein the memory controller is configured to store and maintain the compressed second version of the data contiguously on the group of non-volatile memory cells.

3. The system of claim 1 , wherein the memory controller is configured to provide, upon request of the host device for the data associated with the write command, a selectable one of the first version of the data associated with the write command or a compressed second version of the data associated with the write command.

4. The system of claim 1 , wherein the memory controller is configured to compress a second version of the data association with the write command when the memory controller is otherwise idle.

5. The system of claim 1 , wherein the host device is configured to request one of the stored first version of the data on the group of non-volatile memory cells or the stored compressed second version of the data on the group of non-volatile memory cells.

6. The system of claim 1 , wherein the received data associated with the write command comprises uncompressed data associated with the write command, and

wherein the memory controller is configured to provide, upon request of the host device for the data associated with the write command, the compressed second version of the data associated with the write command.

7. A method comprising:

receiving a write command from a host device and data associated with the write command at a memory controller of a storage system comprising the memory controller and a single three-dimensional architecture semiconductor memory array comprising a group of non-volatile memory cells;

storing a first version of the data associated with the write command on the group of non-volatile memory cells;

compressing, using the memory controller, a second version of the data associated with the write command; and

storing the compressed second version of the data on the group of non-volatile memory cells.

8. The method of claim 7 , wherein storing the compressed second version of the data comprises storing and maintaining the compressed second version of the data contiguously on the group of non-volatile memory cells.

9. The method of claim 7 , comprising:

receiving, at the memory controller, a request from the host device for the data associated with the write command; and

providing, in response to the request, a selectable one of the first version of the data associated with the write command or a compressed second version of the data associated with the write command.

10. The method of claim 7 , wherein compressing the second version of the data association with the write command comprises compressing the second version of the data associated with the write command when the memory controller is otherwise idle.

11. The method of claim 7 , comprising:

requesting, using the host device, one of the stored first version of the data on the group of non-volatile memory cells or the stored compressed second version of the data on the group of non-volatile memory cells.

12. The method of claim 7 , wherein receiving data associated with the write command comprises receiving uncompressed data associated with the write command, and the method further comprises:

providing, using the memory controller, upon request of the host device for the data associated with the write command, the compressed second version of the data associated with the write command.

13. A non-transitory device readable storage medium that provides instructions that, when executed by a memory controller of a storage system comprising the memory controller and a single three-dimensional architecture semiconductor memory array comprising a group of non-volatile memory cells, cause the memory controller to perform operations comprising:

receive a write command from a host device and data associated with the write command;

store a first version of the data associated with the write command on the group of non-volatile memory cells;

compress a second version of the data associated with the write command; and

store the compressed second version of the data on the group of non-volatile memory cells.

14. The non-transitory device readable storage medium of claim 13 , wherein the operation to store the compressed second version of the data comprises to store and maintain the compressed second version of the data contiguously on the group of non-volatile memory cells.

15. The non -transitory device readable storage medium of claim 13 , the operations comprising;

receive a request from the host device for the data associated with the write command; and

provide, in response to the request, a selectable one of the first version of the data associated with the write command or a compressed second version of the data associated with the write command.

16. The non-transitory device readable storage medium of claim 13 , wherein the operation to compress the second version of the data association with the write command comprises to compress the second version of the data associated with the write command when the memory controller is otherwise idle.

17. The non-transitory device readable storage medium of claim 13 , wherein the operation to receive data associated with the write command comprises to receive uncompressed data associated with the write command.

18. The non-transitory device readable storage medium of claim 17 , the operations comprising:

providing, using the memory controller, upon request of the host device for the data associated with the write command, the compressed second version of the data associated with the write command.

19. A system comprising:

a storage system comprising a memory controller and a group of non-volatile memory cells, wherein the memory controller is configured to:

receive a write command from a host device and data associated with the write command;

store a first version of the data associated with the write command on the group of non-volatile memory cells;

compress a second version of the data associated with the write command; and

store the compressed second version of the data on the group of non-volatile memory cells; and

provide, upon request of the host device for the data associated with the write command, a selectable one of the first version of the data associated with the write command or a compressed second version of the data associated with the write command.

20. The system of claim 19 , wherein the memory controller is configured to store and maintain the compressed second version of the data contiguously on the group of non-volatile memory cells.

21. The system of claim 19 , wherein the memory controller is configured to compress a second version of the data association with the write command when the memory controller is otherwise idle.

22. The system of claim 19 , wherein the storage system comprises a single three-dimensional architecture semiconductor memory array comprising the group of non-volatile memory cells.

23. The system of claim 19 , wherein the host device is configured to request one of the stored first version of the data on the group of non-volatile memory cells or the stored compressed second version of the data on the group of non-volatile memory cells.

24. The system of claim 19 , wherein the received data associated with the write command comprises uncompressed data associated with the write command, and

wherein the memory controller is configured to provide, upon request of the host device for the data associated with the write command, the compressed second version of the data associated with the write command.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2023
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP, LLC
Reel/Frame 064685/0009 →
RELEASE OF SECURITY INTEREST Recorded Oct 11, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050713/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: JEAN, SEBASTIEN ANDRE
To: MICRON TECHNOLOGY, INC.
Reel/Frame 048428/0598 →
SUPPLEMENT NO. 9 TO PATENT SECURITY AGREEMENT Recorded Aug 9, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 047282/0463 →