Remove-on-delete technologies for solid state drive optimization

US9207876B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9207876-B2
Application numberUS-3019308-A
CountryUS
Kind codeB2
Filing dateFeb 12, 2008
Priority dateApr 19, 2007
Publication dateDec 8, 2015
Grant dateDec 8, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Technologies for identifying data stored on a solid state drive (“SSD”) device that correspond to data associated with a delete event, and marking the deleted data stored on the SSD as invalid such that the SSD can avoid unnecessary operations on the invalid data. Included are interfaces operable to communicate invalid data information and providing a remove-on-delete command that provides invalid data information sufficient to identify the SSD data to be marked as invalid.

First claim

Opening claim text (preview).

The invention claimed is: 1. A system comprising: a computing device that includes at least one processor and memory; a file system; and a solid state drive (“SSD”) driver that, based on execution by the at least one processor, is configured to: receive, from a file system, a remove-on-delete command that includes invalid data information that indicates that, based on a deletion of at least a portion of a file in the file system, particular data that is stored on an SSD and corresponds to the at least the portion of the file is, as indicated by the deletion, considered invalid by the file system; and instruct, based on the received invalid data information, the SSD to mark the particular data invalid on the SSD. 2. The system of claim 1 where the invalid data information is received via a first interface of the SSD driver that is implemented as an input-output control (“IOCTL”) command that extends a conventional input/output control (“IOCTL”) interface, or where the first interface is implemented as an extension to an existing IOCTL command of the conventional IOCTL interface. 3. The system of claim 1 where, prior to being instructed to mark the particular data invalid, the SSD is unaware that the particular data stored on the SSD is considered invalid by the file system. 4. The system of claim 1 where the invalid data information is received in response to a file delete event provided by the file system that indicates that the at least the portion of the file is being or has been deleted by the file system, and where the received invalid data information corresponds to the file. 5. The system of claim 1 where the particular data stored on the SSD being marked as invalid enables the SSD to avoid unnecessary operations. 6. The system of claim 5 where the SSD being enabled to avoid unnecessary operations involves operations of the SSD driver. 7. The system of claim 1 where the SSD is instructed to mark the particular data invalid via a second interface that conforms to an advanced technology attachment (“ATA”) interface or conforms to a small computer system interface (“SCSI”). 8. The system of claim 1 where the SSD is configured to perform wear leveling operations without operating on the particular data marked invalid, or where the SSD comprises a plurality of memory classes where each class of memory has different performance characteristics. 9. The system of claim 1 where valid data stored on the SSD that corresponds to data of the file system that is not considered invalid by the file system is not marked invalid on the SSD. 10. A method performed on a computing device coupled to a solid state drive (“SSD”) driver, the method comprising: receiving, by the SSD driver from a file system of the computing device, a remove-on-delete command that includes invalid data information that indicates that, based on a deletion of at least a portion of a file in the file system, particular data that is stored on an SSD and that corresponds to the at least the portion of the file is, as indicated by the deletion, considered invalid by the file system, where the file system is separate from the SSD driver and the SSD; and instructing, by the SSD driver based on the received invalid data information, the SSD to mark the particular data as invalid on the SSD. 11. The method of claim 10 where the receiving is via a first interface of the SSD driver that is implemented as an input-output control (“IOCTL”) command that extends a conventional input/output control (“IOCTL”) interface, or where the first interface is implemented as an extension to an existing IOCTL command of the conventional IOCTL interface. 12. The method of claim 10 where the instructing is via a second interface that conforms to an advanced technology attachment (“ATA”) interface or conforms to a small computer system interface (“SCSI”). 13. The method of claim 10 where the receiving is in response to a file delete event provided by the file system. 14. The method of claim 10 where the particular data stored on the SSD being marked as invalid enables the SSD to avoid unnecessary operations. 15. At least one computer-readable medium that is not a signal per se, the computer-readable medium comprising: memory that comprises computer-readable instructions that, based on execution by a computing device that comprises a solid state drive (“SSD”) driver, configure the computing device to perform actions comprising: receiving, by the SSD driver from a file system of the computing device, a remove-on-delete command that includes invalid data information that indicates that, based on a deletion of at least a portion of a file in the file system, particular data that is stored on an SSD and corresponds to the at least the portion of the file is, as indicated by the deletion, considered invalid by the file system; and instructing, by the SSD driver based on the received invalid data information, the SSD to mark the particular data invalid on the SSD. 16. The at least one computer-readable medium of claim 15 where the receiving is in response to a file delete event provided by the file system that indicates that the at least the portion of the file is being or has been deleted by the file system, and where the received invalid data information corresponds to the file. 17. The at least one computer-readable medium of claim 15 where the receiving is via a first interface of the SSD driver that is implemented as a new input-output control (“IOCTL”) command that extends a conventional input/output control (“IOCTL”) interface, or where the first interface is implemented as an extension to an existing IOCTL command of the conventional IOCTL interface. 18. The at least one computer-readable medium of claim 15 where the instructing is via a second interface that conforms to an advanced technology attachment (“ATA”) interface or conforms to a small computer system interface (“SCSI”). 19. The at least one computer-readable medium of claim 15 where the invalid data information indicates a location and a length of the particular data stored on the SSD. 20. The at least one computer-readable medium of claim 15 where the SSD driver is further configured for enabling the SSD to avoid performing a merge operation on the particular data marked as invalid.

Assignees

Inventors

Classifications

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • for peripheral storage systems, e.g. disk cache · CPC title

  • Management of files · CPC title

  • Single storage device · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9207876B2 cover?
Technologies for identifying data stored on a solid state drive (“SSD”) device that correspond to data associated with a delete event, and marking the deleted data stored on the SSD as invalid such that the SSD can avoid unnecessary operations on the invalid data. Included are interfaces operable to communicate invalid data information and providing a remove-on-delete command that provides inva…
Who is the assignee on this patent?
Shu Frank J, Obr Nathan S, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 08 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).