Dynamically-adjusted host memory buffer

US10102135B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10102135-B2
Application numberUS-201615092100-A
CountryUS
Kind codeB2
Filing dateApr 6, 2016
Priority dateApr 6, 2016
Publication dateOct 16, 2018
Grant dateOct 16, 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.

Host memory buffer is dynamically adjusted based on performance. As memory pages are accessed, one or more counts of the memory pages are maintained. If the counts indicate some of the memory pages are identical, then a portion of host system memory allocated to buffer cache may be reduced or decremented in response to repetitive access. However, if the counts indicate different memory pages are accessed, then the host system memory allocated to the buffer cache may be increased or incremented.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for optimizing a buffer cache in a system memory of a host system, comprising: determining, by a disk controller, a capacity associated with a solid state memory drive, the solid state memory drive accessible to the disk controller as a peripheral device via an interface; determining, by the disk controller, the system memory available from the host system; determining, by the disk controller, a count of memory pages in the system memory accessed via the solid state memory drive; and dynamically allocating, by the disk controller, a portion of the system memory as the buffer cache based on a performance threshold associated with the solid state memory drive, the buffer cache storing a flash translation layer file associated with the solid state memory drive, the buffer cache dynamically allocated based on the count of the memory pages accessed via the solid state memory drive by comparing the count of the memory pages to the performance threshold; wherein if the count of the memory pages equals or exceeds the performance threshold, then increasing a size of the buffer cache; and wherein if the count of the memory pages is less than the performance threshold, then decreasing the size of the buffer cache. 2. The method of claim 1 , further comprising configuring an initial value of the size of the buffer cache based on the capacity associated with the solid state memory drive. 3. The method of claim 1 , further comprising configuring an initial value of the size of the buffer cache based on the system memory available from the host system. 4. The method of claim 1 , further comprising determining the count of different ones of the memory pages accessed via the solid state memory drive. 5. The method of claim 1 , further comprising determining the count of repetitive ones of the memory pages accessed via the solid state memory drive. 6. An information handling system, comprising: a processor; and a memory device accessible to the processor, the memory device storing instructions that when executed cause the processor to perform operations including: determining a capacity associated with a solid state memory drive, the solid state memory drive accessible to the processor as a peripheral device via an interface; determining a count of memory pages in a system memory accessed via the solid state memory drive; dynamically allocating a portion of the memory device as a buffer cache based on a performance threshold associated with the solid state memory drive, the buffer cache storing a flash translation layer file associated with the solid state memory drive, the buffer cache dynamically allocated based on the count of the memory pages accessed via the solid state memory drive; comparing the count of the memory pages to the performance threshold; increasing a size of the buffer cache in response to the count of the memory pages equaling or exceeding the performance threshold; and decreasing the size of the buffer cache in response to the count of the memory pages less than the performance threshold. 7. The system of claim 6 , wherein the operations further comprise configuring an initial value of the size of the buffer cache based on the capacity associated with the solid state memory drive. 8. The system of claim 6 , wherein the operations further comprise configuring an initial value of the size of the buffer cache based on a system memory. 9. The system of claim 6 , wherein the operations further comprise determining the count of different ones of the memory pages accessed via the solid state memory drive. 10. The system of claim 6 , wherein the operations further comprise determining the count of repetitive ones of the memory pages accessed via the solid state memory drive. 11. A memory device storing instructions that when executed cause a processor to perform operations, the operations comprising: determining a capacity associated with a solid state memory drive, the solid state memory drive accessible to the processor as a peripheral device via an interface; determining a count of memory pages in a system memory accessed via the solid state memory drive; dynamically allocating a portion of the memory device as a buffer cache based on a performance threshold associated with the solid state memory drive, the buffer cache storing a flash translation layer file associated with the solid state memory drive, the buffer cache dynamically allocated based on the count of the memory pages accessed via the solid state memory drive; comparing the count of the memory pages to the performance threshold; increasing a size of the buffer cache in response to the count of the memory pages equaling or exceeding the performance threshold; and decreasing the size of the buffer cache in response to the count of the memory pages less than the performance threshold. 12. The memory device of claim 11 , wherein the operations further comprise configuring an initial value of the size of the buffer cache based on the capacity associated with the solid state memory drive. 13. The memory device of claim 11 , wherein the operations further comprise configuring an initial value of the size of the buffer cache based on a system memory. 14. The memory device of claim 11 , wherein the operations further comprise determining the count of different ones of the memory pages accessed via the solid state memory drive.

Assignees

Inventors

Classifications

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 US10102135B2 cover?
Host memory buffer is dynamically adjusted based on performance. As memory pages are accessed, one or more counts of the memory pages are maintained. If the counts indicate some of the memory pages are identical, then a portion of host system memory allocated to buffer cache may be reduced or decremented in response to repetitive access. However, if the counts indicate different memory pages ar…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F12/0871. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 16 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).