IP Library Patent Application 13115716
Patent Application
App. No. 13/115,716

SOLID STATE DRIVE WITH LOW WRITE AMPLIFICATION

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 None
App. No.
13/115,716
Abstract

A solid state drive having a non-volatile memory device and methods of operating the solid state drive to compare existing data stored on the memory device to subsequent data in an incoming data stream received by the solid state drive from a host system. If matching data are found, the solid state drive uses the existing data instead of writing the subsequent data to the memory device. Common data patterns can be shared among different files stored on the memory device.

Claims (19)

1 . A solid state drive adapted for use with a host system, the solid state drive comprising:

at least one non-volatile memory device comprising pages that are organized into memory blocks, the pages being sequentially programmable and readable, the memory blocks being minimum-erasable units of the memory device; and

a controller configured to perform direct data comparison between stored data of existing files stored within the non-volatile memory device and subsequent data of an incoming data stream being written by the host system to the solid state drive.

2 . The solid state drive of claim 1 , wherein the non-volatile memory device is a NAND flash-based memory device and the data comparison is done on a sector basis.

3 . A method of operating a solid state drive connected to a host system so as to receive an incoming data stream containing data written by the host system to the solid state drive, the solid state drive comprising a controller and at least one non-volatile memory device comprising pages that are organized into memory blocks, the pages being sequentially programmable and readable, the memory blocks being minimum-erasable units of the memory device, the method comprising:

storing data of the incoming data stream on the non-volatile memory device to define stored data of existing files within the memory blocks of the non-volatile memory device, at least some of the existing files defining valid files that are within some of the memory blocks that contain valid data; and

operating the controller to perform direct data comparison between the stored data of the existing files and subsequent data of the incoming data stream.

4 . The method of claim 3 , wherein the non-volatile memory device is a NAND flash-based memory device and the data comparison is done on a sector basis.

5 . The method of claim 4 , wherein the controller finds a sector content of the subsequent data that is identical to a sector content of a deleted file, and the sector content of the subsequent data is not written to the non-volatile memory device but the file translation layer is updated to point to the existing sector.

6 . The method of claim 5 , further comprising finding a matching sector within one of the memory blocks containing the invalid data that matches a sector of the subsequent data of the incoming data stream, the matching sector is undeleted, and data of the sector of the subsequent data are not written to the non-volatile memory device.

7 . The method of claim 6 , wherein the controller preferentially checks the existing files against incoming files of the subsequent data of the incoming data stream for an incoming file having the same file name as one of the existing files, and the controller preferentially checks the existing files and the incoming files with the same file name for identical sector content.

8 . A method for reducing writes from a host system to a solid state drive that is connected to the host system so as to receive an incoming data stream containing data, the solid state drive comprising a controller and at least one non-volatile memory device comprising pages that are organized into memory blocks, the pages being sequentially programmable and readable, the memory blocks being minimum-erasable units of the memory device, the method comprising:

comparing the data of the incoming data stream to existing data stored within memory blocks of the non-volatile memory device;

writing the data of the incoming data stream to the non-volatile memory device if no match is found between the data of the incoming data stream and the existing data; and

discarding the data of the incoming data stream if a matching data pattern for an existing sector is found between the data of the incoming data stream and the existing data, and updating the file translation layer to point to the existing sector.

9 . The method of claim 8 , wherein the matching data pattern of the existing sector is part of at least one deleted file within memory blocks of the non-volatile memory device.

10 . The method of claim 8 , wherein the existing sector is linked to several logical addresses.

11 . The method of claim 10 , wherein a plurality of repetitive data sectors within one file are stored in one physical sector on the media, the sector being associated with a plurality of addresses.

12 . The method of claim 10 wherein a plurality of data sectors belonging to different files are stored in one physical sector on the media, the sector being associated with a plurality of addresses.

Assignments (10)
RELEASE OF SECURITY INTEREST BY BANKRUPTCY COURT ORDER (RELEASES REEL/FRAME 031611/0168) Recorded Apr 8, 2014
From: COLLATERAL AGENTS, LLC
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 032640/0455 →
RELEASE OF SECURITY INTEREST BY BANKRUPTCY COURT ORDER (RELEASES REEL/FRAME 030092/0739) Recorded Apr 8, 2014
From: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 032640/0284 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE AND ATTACH A CORRECTED ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 032365 FRAME 0920. ASSIGNOR(S) HEREBY CONFIRMS THE THE CORRECT EXECUTION DATE IS JANUARY 21, 2014. Recorded Mar 18, 2014
From: OCZ TECHNOLOGY GROUP, INC.
To: TAEC ACQUISITION CORP.
Reel/Frame 032461/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2014
From: OCZ TECHNOLOGY GROUP, INC.
To: TAEC ACQUISITION CORP.
Reel/Frame 032365/0920 →
CHANGE OF NAME Recorded Feb 27, 2014
From: TAEC ACQUISITION CORP.
To: OCZ STORAGE SOLUTIONS, INC.
Reel/Frame 032365/0945 →
SECURITY AGREEMENT Recorded Nov 11, 2013
From: OCZ TECHNOLOGY GROUP, INC.
To: COLLATERAL AGENTS, LLC
Reel/Frame 031611/0168 →
SECURITY AGREEMENT Recorded Mar 27, 2013
From: OCZ TECHNOLOGY GROUP, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
Reel/Frame 030092/0739 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 030088/0443 →
SECURITY AGREEMENT Recorded May 14, 2012
From: OCZ TECHNOLOGY GROUP, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 028440/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2011
From: SCHUETTE, FRANZ MICHAEL; LEACH, ANTHONY
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 026510/0925 →