Non-volatile multi-level-cell memory with decoupled bits for higher performance and energy efficiency
US-2015364191-A1 · Dec 17, 2015 · US
US2016147446A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016147446-A1 |
| Application number | US-201514813070-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 29, 2015 |
| Priority date | Nov 20, 2014 |
| Publication date | May 26, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.