Method and apparatus for providing differentiated share prioritization in a storage system

US11747997B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11747997-B2
Application numberUS-202117237120-A
CountryUS
Kind codeB2
Filing dateApr 22, 2021
Priority dateApr 22, 2021
Publication dateSep 5, 2023
Grant dateSep 5, 2023

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 Software Defined Network Attached Storage (SDNAS) executes on a storage system to provide access to shared file systems, referred to as “shares”, on the storage system. Users access the shares using protocol clients. To enable the SDNAS to provide differentiated prioritization between the various shares, a share priority table is maintained by the SDNAS. As shares are created, or optionally after the shares have been created, each share is assigned a share priority which is stored in the share priority table. When an IO operation is received from a protocol client on a share, the SDNAS process determines a share priority value of the share from the share priority table. The share priority value is used to specify an IO priority which used by the operating system scheduling mechanism to schedule the IO operation and to establish a CPU priority for the IO operation.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing a method of providing differentiated share prioritization in a storage system, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of: instantiating a Software Defined Network Attached Storage (SDNAS) process on a storage system, the storage system having an operating system configured to receive share access requests from the SDNAS process, retrieve data from physical storage resources in response to the share access requests from the SDNAS process, and return the data to the SDNAS process; exposing shares by the SDNAS process to protocol clients; maintaining a share priority table, by the SDNAS process, the share priority table correlating share priority values with the exposed shares, wherein the share priority values include a plurality of different share priority values; receiving share access requests, by the SDNAS process, from protocol clients on the shares exposed by the SDNAS process; determining a respective share priority value associated with each respective share access request, by the SDNAS process, from the share priority table; determining a respective operating system IO priority value from the determined respective share priority value; determining a respective CPU scheduling priority value from the determined respective share priority value; adding the determined respective operating system IO priority value and CPU scheduling priority value to each respective share access request, by the SDNAS process, prior to passing the respective share access request to the operating system of the storage system; and passing each respective share access request from the SDNAS process to the operating system of the storage system, each respective share access request including the respective operating system IO priority value and the respective CPU scheduling priority value to specify the priority to be used by the operating system to prioritize implementation of the respective share access request relative to other storage access operations in connection with retrieving data associated with the respective share access request from the physical storage resources and returning the data associated with the respective share access request to the SDNAS process; and responding to the share access requests, by the SDNAS process, by forwarding the returned data associated with the respective share access requests to the protocol clients. 2. The non-transitory tangible computer readable storage medium of claim 1 , further comprising implementing each respective share access request, by the operating system on the storage system. 3. The non-transitory tangible computer readable storage medium of claim 2 , wherein the step of implementing each respective share access request comprises using the respective operating system IO priority value and the respective CPU scheduling priority value, by a scheduling mechanism of the operating system, to set a priority of scheduling of the respective share access request relative to the other storage access operations and to determine a CPU assignment to a thread associated with the respective share access request. 4. The non-transitory tangible computer readable storage medium of claim 3 , wherein the respective operating system IO priority value is specific to the respective share access request and configured to be used by the operating system to prioritize IO operations for execution on the storage system. 5. The non-transitory tangible computer readable storage medium of claim 3 , wherein the respective CPU scheduling priority value is specific to the respective share access request and configured to adjust an amount of CPU cycles provided to a thread assigned to implement the respective share access request on the CPU. 6. The non-transitory tangible computer readable storage medium of claim 1 , further comprising receiving the share priority values, by the SDNAS process, from a share management system. 7. The non-transitory tangible computer readable storage medium of claim 6 , wherein receiving the share priority values comprises differentiating between share management system privileges by restricting share priority value ranges according to the share management system privileges. 8. The non-transitory tangible computer readable storage medium of claim 7 , wherein differentiating between share management system privileges comprises providing higher share priority value ranges to enable higher share management system privileges with access to higher share priority values. 9. The non-transitory tangible computer readable storage medium of claim 7 , wherein differentiating between share management system privileges comprises providing only lower share priority value ranges to restrict lower share management system privileges to accessing only the lower share priority values. 10. The non-transitory tangible computer readable storage medium of claim 6 , wherein receiving the share priority values comprises differentiating between share management system user privileges by allocating share priority value ranges according to share management user share access subscription levels. 11. A method of providing differentiated share prioritization in a storage system comprising the steps of: instantiating a Software Defined Network Attached Storage (SDNAS) process on a storage system, the storage system having an operating system configured to receive share access requests from the SDNAS process, retrieve data from physical storage resources in response to the share access requests from the SDNAS process, and return the data to the SDNAS process; exposing shares by the SDNAS process to protocol clients; maintaining a share priority table, by the SDNAS process, the share priority table correlating share priority values with the exposed shares, wherein the share priority values include a plurality of different share priority values; receiving share access requests, by the SDNAS process, from protocol clients on the shares exposed by the SDNAS process; determining a respective share priority value associated with each respective share access request, by the SDNAS process, from the share priority table; determining a respective operating system IO priority value from the determined respective share priority value; determining a respective CPU scheduling priority value from the determined respective share priority value; adding the determined respective operating system IO priority value and CPU scheduling priority value to each respective share access request, by the SDNAS process, prior to passing the respective share access request to the operating system of the storage system; and passing each respective share access request from the SDNAS process to the operating system of the storage system, each respective share access request including the respective operating system IO priority value and the respective CPU scheduling priority value to specify the priority to be used by the operating system to prioritize implementation of the respective share access request relative to other storage access operations in connection with retrieving data associated with the respective share access request from the physical storage resources and returning the data associated with the respective share access request to the SDNAS process; and responding to the share access requests, by the SDNAS process, by forwarding the returned data associated with the respective share access requests to the protocol clients. 12. The method

Assignees

Inventors

Classifications

  • G06F3/0622Primary

    in relation to access · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · 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 US11747997B2 cover?
A Software Defined Network Attached Storage (SDNAS) executes on a storage system to provide access to shared file systems, referred to as “shares”, on the storage system. Users access the shares using protocol clients. To enable the SDNAS to provide differentiated prioritization between the various shares, a share priority table is maintained by the SDNAS. As shares are created, or optionally a…
Who is the assignee on this patent?
Emc Ip Holding Co Llc, Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/0622. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2023 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).