Multi-streaming mechanism to optimize journal based data storage systems on SSD

US9959046B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9959046-B2
Application numberUS-201615089237-A
CountryUS
Kind codeB2
Filing dateApr 1, 2016
Priority dateDec 30, 2015
Publication dateMay 1, 2018
Grant dateMay 1, 2018

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.

A system and method for using multi-streaming with journal information ( 305 ) and data ( 325 ) is disclosed, when using an application ( 125 ) and/or a data storage system ( 120 ) that performs double-writes. A journal write request ( 310 ) can be sent with the journal information ( 305 ) specifying that the journal information ( 305 ) should be written to one stream ( 315 ). The data write request ( 320 ) can be sent with the data ( 325 ) specifying that the data ( 325 ) should be written to another stream ( 330 ). A controller ( 135 ) on the storage device ( 130 ) can then write the journal information ( 305 ) to a block ( 405, 410 ) associated with the first stream ( 315 ) and the data ( 325 ) to a block ( 415, 420 ) associated with the second stream ( 330 ).

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a computer, including a processor and a memory; a storage device; an application running on the processor, the application operative to send a journal write request to the storage device and to send a data write request to a data storage system running on the processor, the journal write request including a journal information and assigned to a first stream, and the data write request including a data and assigned to a second stream; the data storage system is operative to send a second journal write request to the storage device, the second journal write request including a second journal information and assigned to a third stream, and to send a second data write request to the storage device, the second data write request including the data and assigned to the second stream; and a controller on the storage device, the controller operative to instruct the storage device to write the journal information to a first block assigned to the first stream, to write the data to a second block assigned to a second stream, and to write the second journal information to a third block assigned to the third stream, wherein the first stream, second stream, and third stream are defined by data characteristics. 2. A system according to claim 1 , wherein the controller is operative to receive an invalidate request to delete the journal information after the data write request completes. 3. A system according to claim 2 , wherein the application is operative to send the invalidate request. 4. A system according to claim 3 , wherein the application is operative to send the invalidate request responsive to the application receiving a signal that the data write request has completed. 5. A system according to claim 1 , wherein the data storage system is further operative to send a second invalidate request. 6. A system according to claim 5 , wherein the data storage system is further operative to send the second invalidate request to the storage device to delete the journal information after the second data write request completes. 7. A system according to claim 1 , wherein: the journal write request is sent as a direct Input/Output (I/O) request; and the data write request is sent as a buffered Input/Output (I/O) request, wherein the journal write request is used to ensure that the data in the data write request is written to the storage device. 8. A system according to claim 1 , wherein the data included in the second data write request is the data in the data write request. 9. A system according to claim 1 , wherein the journal write request is used to ensure that the data in the data write request is written to the storage device. 10. A system according to claim 1 , wherein the third block is the first block. 11. A system according to claim 1 , wherein: the journal write request is assigned to the first stream by the application; and the data write request is assigned to the second stream by the application. 12. A system according to claim 1 , wherein the first block and the second block are of a single media type. 13. A method, comprising: identifying a data to be written from an application that performs both a journal write and a data write; sending a journal write request from the application to a storage device that performs garbage collection on invalid data, the journal write request assigned to a first stream, the journal write request sent as a direct Input/Output (I/O) request; sending a data write request from the application to a data storage system, the data write request including the data and assigned to a second stream, the data write request sent as a buffered Input/Output (I/O) request; sending a second journal write request from the data storage system to the storage device, the second journal write request assigned to a third stream; and sending a second data write request from the data storage system to the storage device, the second data write request assigned to the second stream and including the data, wherein the journal write request and the second journal write request are used to ensure that the data in the data write request is written to the storage device. 14. A method according to claim 13 , further comprising sending an invalidate request to the storage device to delete the journal information after the data write request is written to the storage device. 15. A method according to claim 14 , wherein sending an invalidate request to the storage device includes sending the invalidate request from the application to the storage device. 16. A method according to claim 15 , wherein sending an invalidate request from the application to the storage device includes receiving a signal at the application that the data write request on the storage device has completed. 17. A method according to claim 13 , further comprising sending an invalidate request to the storage device to delete the data written by the second journal write request after the second data write request is written to the storage device. 18. An article, comprising a tangible storage medium, the tangible storage medium having stored thereon non-transitory instructions that, when executed by a machine, result in: identifying a data to be written from an application that performs both a journal write and a data write; sending a journal write request from the application to a storage device that performs garbage collection on invalid data, the journal write request assigned to a first stream, the journal write request sent as a direct Input/Output (I/O) request; sending a data write request from the application to a data storage system, the data write request including the data and assigned to a second stream, the data write request sent as a buffered Input/Output (I/O) request; sending a second journal write request from the data storage system to the storage device, the second journal write request assigned to a third stream; and sending a second data write request from the data storage system to the storage device, the second data write request assigned to the second stream and including the data, wherein the journal write request and the second journal write request are used to ensure that the data in the data write request is written to the storage device. 19. An article according to claim 18 , the tangible storage medium having stored thereon further non-transitory instructions that, when executed by the machine, result in sending an invalidate request to the storage device to delete the journal information after the data write request is written to the storage device. 20. An article according to claim 19 , wherein sending an invalidate request to the storage device includes sending the invalidate request from the application to the storage device. 21. An article according to claim 18 , the tangible storage medium having stored thereon further non-transitory instructions that, when executed by the machine, result in sending an invalidate request to the storage device to delete the data written by the second journal write request after the second data write request is written to the storage device.

Assignees

Inventors

Classifications

  • in relation to response time · CPC title

  • in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title

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

  • Cleaning, compaction, garbage collection, erase control · CPC title

  • Space efficiency improvement · 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 US9959046B2 cover?
A system and method for using multi-streaming with journal information ( 305 ) and data ( 325 ) is disclosed, when using an application ( 125 ) and/or a data storage system ( 120 ) that performs double-writes. A journal write request ( 310 ) can be sent with the journal information ( 305 ) specifying that the journal information ( 305 ) should be written to one stream ( 315 ). The data write re…
Who is the assignee on this patent?
Huo Jianjian, Choi Changho, Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 01 2018 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).