Virtualized OCSSDs spanning physical OCSSD channels

US11093177B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11093177-B2
Application numberUS-201916447094-A
CountryUS
Kind codeB2
Filing dateJun 20, 2019
Priority dateDec 21, 2017
Publication dateAug 17, 2021
Grant dateAug 17, 2021

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 system includes reception of a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity, association, in response to the request, of block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel solid state drive and with block addresses of one or more blocks of a second one of the first plurality of channels, reception, from the first application, of a first I/O call associated with one or more block addresses of the virtual address space, determination of block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space, and execution of the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of channels.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a first open-channel solid state drive comprising a first plurality of channels, each of the first plurality of channels comprising a respective plurality of blocks; and a data server comprising a processing unit to execute program code to cause the data server to: associate block addresses of a virtual address space of a first application with block addresses of one or more blocks of a first one of the first plurality of channels and with block addresses of one or more blocks of a second one of the first plurality of channels; receive, from the first application, a first I/O call associated with one or more block addresses of the virtual address space; determine block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space; and execute the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of channels. 2. The system according to claim 1 , wherein the processing unit is to execute program code to cause the data server to: receive, from the first application, a second VO call associated with a second one or more block addresses of the virtual address space; determine block addresses of one or more blocks of the one of the second one of the first plurality of channels which are associated with the second one or more block addresses of the virtual address space; and execute the second VO call on the determined block addresses of one or more blocks of the second one of the first plurality of channels. 3. The system according to claim 1 , further comprising a second open-channel solid state drive located remote from the first open-channel solid state drive. 4. The system according to claim 1 , wherein the processing unit is to execute program code to cause the data server to: receive, from the first application, a second VO call associated with a second one or more block addresses of the virtual address space; determine block addresses of a second one or more blocks of the first one of the first plurality of channels which are associated with the second one or more block addresses of the virtual address space; and execute the second VO call on the determined block addresses of the second one or more blocks of the first one of the first plurality of channels. 5. The system according to claim 1 , wherein the processing unit is to execute program code to cause the data server to: associate block addresses of a virtual address space of a second application with block addresses of a second one or more blocks of a third one of the first plurality of channels and with block addresses of a second one or more blocks of a fourth one of the first plurality of channels; receive, from the second application, a second VO call associated with one or more block addresses of the virtual address space of the second application; determine block addresses of one or more blocks of the third one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space of the second application; and execute the second VO call on the determined block addresses of one or more blocks of the third one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space of the second application. 6. A computer-implemented method comprising: receiving a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity; in response to the request, associating block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel solid state drive and with block addresses of one or more blocks of a second one of the first plurality of channels of the first open-channel solid state drive; receiving, from the first application, a first I/O call associated with one or more block addresses of the virtual address space; determining block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space; and executing the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of channels. 7. The method according to claim 6 , wherein associating block addresses of the virtual address space of the first application with block addresses of one or more blocks of the first one of the first plurality of channels and with block addresses of one or more blocks of the second one of the first plurality of channels comprises: associating block addresses of the virtual address space of the first application with block addresses of one or more blocks of the first one of the first plurality of channels, with block addresses of one or more blocks of the second one of the first plurality of channels, and with block addresses of one or more blocks of a third one of the first plurality of channels. 8. The method according to claim 7 , further comprising: receiving, from the first application, a second VO call associated with a second one or more block addresses of the virtual address space; determining block addresses of one or more blocks of the third one of the first plurality of channels which are associated with the second one or more block addresses of the virtual address space; and executing the second VO call on the determined block addresses of one or more blocks of the third one of the first plurality of channels. 9. The method according to claim 6 , further comprising: receiving, from the first application, a second VO call associated with a second one or more block addresses of the virtual address space; determining block addresses of one or more blocks of the second one of the first plurality of channels which are associated with the second one or more block addresses of the virtual address space; and executing the second VO call on the determined block addresses of one or more blocks of the second one of the first plurality of channels. 10. The method according to claim 6 , further comprising: receiving a request from a second application to create a second virtual open-channel solid state drive associated with a second bandwidth and second capacity; in response to the request, associating block addresses of a virtual address space of the second application with block addresses of a third one or more blocks of the first one of the first plurality of channels and with block addresses of a fourth one or more blocks of the first one of the second plurality of channels; receiving, from the second application, a second VO call associated with one or more block addresses of the virtual address space of the second application; determining block addresses of one or more blocks of the third one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space of the second application; and executing the second VO call on the determined block addresses of one or more blocks of the third one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space of the second application. 11. The method according to claim 10 , wherein associating the block addresses of the virtual address space of the first application with block addresses of one or more blocks of the first one of the first plurality of channels and with block addresses of one or more block

Assignees

Inventors

Classifications

  • G06F3/0631Primary

    by allocating resources to storage systems · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • Isolation or security of virtual machine instances · CPC title

  • where tasks reside in different layers, e.g. user- and kernel-space · CPC title

  • Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · 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 US11093177B2 cover?
A system includes reception of a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity, association, in response to the request, of block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0631. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 17 2021 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).