Solid state drive (ssd) memory cache occupancy prediction

US2016147446A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016147446-A1
Application numberUS-201514813070-A
CountryUS
Kind codeA1
Filing dateJul 29, 2015
Priority dateNov 20, 2014
Publication dateMay 26, 2016
Grant date

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.

Embodiments of the inventive concept include a solid state drive (SSD) shared array memory cache system including memory cache occupancy prediction. The system can include multiple SSD modules each including a non-volatile memory section, a cache, and a prediction agent generator logic section. The system can further include a host agent including an occupancy prediction logic section that can receive prediction agents from the prediction agent generator logic section of each of the SSD modules, and predict content occupancy of the cache based at least on the prediction agents. A method for predicting SSD memory cache occupancy can include processing write requests, predicting content occupancy of an SSD's cache, determining whether an address in the cache is probably logically contiguous to the logical memory address, re-directing at least one write request, and coalescing multiple write requests including the re-directed write request into a single I/O for storage on the non-volatile memory of the SSD.

First claim

Opening claim text (preview).

What is claimed is: 1 . A solid state drive (SSD) shared array memory cache system, comprising: a plurality of SSD modules each including a non-volatile memory section, a cache, and a prediction agent generator logic section; and a host agent communicatively coupled to the plurality of SSD modules, the host agent including an occupancy prediction logic section configured to receive one or more prediction agents from the prediction agent generator logic section of each of the SSD modules, and to predict content occupancy of the cache based at least on the one or more prediction agents. 2 . The solid state drive (SSD) shared array memory cache system of claim 1 , wherein: the host agent is configured to process a write request including first data content associated with a particular logical memory address; the host agent is configured to send the write request having the first data content associated with the particular logical memory address to a particular one of the SSD modules; the particular one of the SSD modules is configured to store the first data content associated with the write request at a location in the cache that is associated with the particular logical memory address; and the occupancy prediction logic section is configured to predict a presence of an address in the cache that is logically contiguous to the particular logical memory address. 3 . The solid state drive (SSD) shared array memory cache system of claim 2 , wherein: the write request is referred to as a first write request; the host agent is configured to process a second write request having second data content associated with the particular logical memory address; and the host agent includes an I/O re-direction section that is configured to re-direct the second write request having the second data content to the cache that has the logically contiguous address that is associated with the particular logical memory address. 4 . The solid state drive (SSD) shared array memory cache system of claim 3 , wherein: the I/O re-direction section is configured to send the redirected second write request having the second data content to the particular one of the SSD modules; and the particular one of the SSD modules is configured to store the second data content associated with the redirected second write request to the logically contiguous address in the cache that is associated with the particular logical memory address. 5 . The solid state drive (SSD) shared array memory cache system of claim 4 , wherein: the cache is configured to coalesce the first write request and the redirected second write request into a single I/O, and to send the single I/O to the non-volatile memory section. 6 . The solid state drive (SSD) shared array memory cache system of claim 1 , wherein: the prediction agent generator logic section includes one or more bloom filters and is configured to generate one or more bloom filter vectors based at least on the one or more bloom filters; and the one or more bloom filter vectors include the one or more prediction agents. 7 . The solid state drive (SSD) shared array memory cache system of claim 6 , wherein: the prediction agent generator logic section is configured to periodically broadcast the one or more bloom filter vectors including the one or more prediction agents. 8 . The solid state drive (SSD) shared array memory cache system of claim 6 , wherein: the host agent is configured to periodically query the prediction agent generator logic section for the one or more bloom filter vectors including the one or more prediction agents. 9 . The solid state drive (SSD) shared array memory cache system of claim 6 , wherein: the prediction agent generator logic section is configured to provide an update to the one or more bloom filter vectors, and to transfer the update without transferring the entirety of the one or more bloom filter vectors. 10 . A computer-implemented method for predicting solid state drive (SSD) memory cache occupancy and for reducing I/Os in an SSD shared array, the method comprising: processing, by a host agent, a first write request including first data content associated with a particular logical memory address; processing, by the host agent, a second write request including second data content associated with the particular logical memory address; predicting content occupancy of a cache of a particular SSD from among a plurality of shared SSDs; and determining whether an address in the cache of the particular SSD is probably logically contiguous to the particular logical memory address based on the prediction. 11 . The computer-implemented method of claim 10 , further comprising: generating, by a prediction agent generator logic section, one or more bloom filter vectors associated with the cache of the particular SSD based at least on one or more bloom filters. 12 . The computer-implemented method of claim 11 , further comprising: periodically broadcasting, by the prediction agent generator logic section, the one or more bloom filter vectors. 13 . The computer-implemented method of claim 11 , further comprising: periodically querying the prediction agent generator logic section, by the host agent, the one or more bloom filter vectors. 14 . The computer-implemented method of claim 11 , further comprising: providing an update, by the prediction agent generator logic section, to the one or more bloom filter vectors; and transferring the update to the host agent without transferring the entirety of the one or more bloom filter vectors. 15 . The computer-implemented method of claim 11 , further comprising: receiving, by the host agent, the one or more bloom filter vectors; and redirecting, by a re-direction section of the host agent, the second write request having the second data content to the cache of the particular SSD responsive to determining that the address in the cache of the particular SSD is probably logically contiguous to the particular logical memory address, wherein predicting the content occupancy of the cache of the particular SSD further includes predicting the content occupancy based at least on the one or more bloom filter vectors. 16 . The computer-implemented method of claim 15 , further comprising: coalescing, by the cache, the first write request and the second re-directed write request into a single I/O; and sending, by the cache, the single I/O including the first write request and the second write request to a non-volatile memory section of the particular SSD. 17 . The computer-implemented method of claim 16 , further comprising: storing the first content of the first write request at the particular logical memory address of the cache of the particular SSD; and storing the second content of the second re-directed write request at the logically contiguous address in the cache of the particular SSD. 18 . The computer-implemented method of claim 17 , wherein: the first content and the second content are stored in logically contiguous space within the cache of the particular SSD. 19 . A solid state drive (SSD), comprising: a non-volatile memory section; a cache coupled to the non-volatile memory section; and a prediction agent generator logic section coupled to the cache and configured to generate one or more prediction agents to predict content occupancy of the cache, and to transfer the one or more prediction agents to a host agent that is separate from the SSD. 20 . The solid state driv

Assignees

Inventors

Classifications

  • In host system · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • with prefetch · CPC title

  • Prefetching based on access pattern detection, e.g. stride based prefetch · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · 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 US2016147446A1 cover?
Embodiments of the inventive concept include a solid state drive (SSD) shared array memory cache system including memory cache occupancy prediction. The system can include multiple SSD modules each including a non-volatile memory section, a cache, and a prediction agent generator logic section. The system can further include a host agent including an occupancy prediction logic section that can …
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).