Scalable software stack

US2016335002A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016335002-A1
Application numberUS-201514710492-A
CountryUS
Kind codeA1
Filing dateMay 12, 2015
Priority dateMay 12, 2015
Publication dateNov 17, 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.

A scalable software stack is disclosed. In particular, the present disclosure provides a system and a method directed at allocating logical ownership of memory locations in a shared storage device among two or more associated compute devices that have access to the storage device. The logical ownership allocation can minimize potential conflicts between two simultaneous accesses occurring within the same memory location of the storage device.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for coordinating reading and writing processes among a plurality of processors sharing memory devices, the method comprising: identifying, for each memory device, a corresponding number of computing devices capable of storing data to a particular memory device; creating, for each memory device, a corresponding number of subdivisions within the particular memory device, wherein the number of subdivisions is based on the number of computing devices capable of storing data to the particular memory device; and assigning, for each memory device, a unique subdivision within the particular memory device to each of the computing devices capable of storing data to that particular memory device, wherein the computing device assigned to the unique subdivision has the sole ability to manage data in the unique subdivision. 2 . The method of claim 1 , wherein computing device assigned to a particular unique subdivision performs the following steps: receives a read request from a requesting computing device, the read request for requesting access to data stored in a particular memory location within the unique subdivision, wherein the requesting computing device performs a read operation corresponding to the read request to obtain the requested data stored in the particular memory location within the unique subdivision; and transmits a completion status when the data transmission for the requesting computing device is completed, wherein the completion status is transmitted to the requesting computing device. 3 . The method of claim 1 , wherein requesting computing device assigned to a unique subdivision performs a write operation, the write operation requesting to store data in a particular memory location within the unique subdivision of the memory device. 4 . The method of claim 2 , wherein computing devices not assigned to the particular unique subdivision performs the following steps: initiates an initial read of data stored in the particular unique subdivision not assigned to the computing device; transmits to the computing device assigned to the particular unique subdivision a request for information regarding the data stored in the particular unique subdivision, wherein the information regarding the data includes current ownership of the data and status of the data; receives a completion status from the computing device assigned to the particular unique subdivision if the ownership assignment and status of the data is current. 5 . The method of claim 4 , further comprising: receiving an indication from the computing device assigned to the particular unique subdivision that the data being read is no longer current, wherein the indication is received either prior or during the transmission of the completion status; and transmitting instructions to the computing device not assigned to the particular unique subdivision performing the read process, wherein the instructions include directions to perform a re-read of this or another memory location to obtain the up-to-date version of data. 6 . The method of claim 4 , further comprising: receiving an indication that the computing device assigned to the particular unique subdivision is no longer the current owner of the unique subdivision, wherein the indication is received either prior or during the transmission of the completion status; and transmitting instructions to the computing device not assigned to the particular unique subdivision performing the read process, wherein the instructions include directions to re-evaluate ownership of the unique subdivision, re-requesting data about the particular unique subdivision from the re-evaluated owner of the unique subdivision, and re-reading of this or another memory location to obtain the up-to-date version of data. 7 . The method of claim 2 , wherein the receipt of the read request from the requesting computing device and the requesting computing device performance of the read operation corresponding to the read request is performed simultaneously. 8 . The method of claim 1 , wherein the assigning, for each memory device, the unique subdivision with the particular memory device to each of the computing devices that are connected to the particular memory device is static. 9 . The method of claim 1 , wherein the assigning, for each memory device, the unique subdivision with the particular memory device to each of the computing devices that are connected to the particular memory device is dynamic. 10 . The method of claim 1 , wherein a size of the unique subdivision assigned to a particular memory device is based on frequency of operation of a particular computing device with the particular memory device. 11 . The method of claim 1 , wherein the sole ability to manage data includes an ability to write into a memory location or modify data in the memory location. 12 . A system for coordinating reading and writing processes among a plurality of processors sharing memory devices, the system comprising: a plurality of memory devices, the memory devices including data stored in various memory locations; a plurality of computing devices, the computing devices for performing various operations with the memory devices, wherein each compute device includes memory and executes instructions stored in memory to: identify, for each memory device, a corresponding number of computing devices capable of storing data to a particular memory device; create, for each memory device, a corresponding number of subdivisions within the particular memory device, wherein the number of subdivisions is based on the number of computing devices capable of storing data to the particular memory device; and assign, for each memory device, a unique subdivision within the particular memory device to each of the computing devices capable of storing data to that particular memory device, wherein the computing device assigned to the unique subdivision has the sole ability to manage data in the unique subdivision. 13 . The system of claim 12 , wherein each computing device assigned to a unique subdivision performs the following steps: receives a read request from a requesting computing device, the read request for requesting access to data stored in a particular memory location within the unique subdivision, wherein the requesting computing device performs a read operation corresponding to the read request to obtain the requested data stored in the particular memory location within the unique subdivision; and transmits a completion status when the data transmission for the requesting computing device is completed, wherein the completion status is transmitted to the requesting computing device. 14 . The system of claim 12 , wherein requesting computing device assigned to a unique subdivision performs a write operation, the write operation requesting to store data in a particular memory location within the unique subdivision of the memory device. 15 . The system of claim 13 , wherein computing devices not assigned to the particular unique subdivision performs the following steps: initiates an initial read of data stored in the particular unique subdivision not assigned to the computing device; transmits to the computing device assigned to the particular unique subdivision a request for information regarding the data stored in the particular unique subdivision, wherein the information regarding the data includes current ownership of the data and status of the data; receives a completion status from the computing device assigned to the particular unique subdivision if the ownership assignment and s

Assignees

Inventors

Classifications

  • Plurality of storage devices · CPC title

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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 US2016335002A1 cover?
A scalable software stack is disclosed. In particular, the present disclosure provides a system and a method directed at allocating logical ownership of memory locations in a shared storage device among two or more associated compute devices that have access to the storage device. The logical ownership allocation can minimize potential conflicts between two simultaneous accesses occurring withi…
Who is the assignee on this patent?
Silicon Graphics Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 17 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).