US 12,106,134 B2
Mechanism to dynamically allocate physical storage device resources in virtualized environments
Oscar P. Pinto, San Jose, CA (US)
Assigned to SAMSUNG ELECTRONICS CO., LTD., (KR)
Filed by Samsung Electronics Co., Ltd., Suwon-si (KR)
Filed on Jun. 7, 2021, as Appl. No. 17/341,371.
Application 17/341,371 is a continuation of application No. 15/959,108, filed on Apr. 20, 2018, granted, now 11,036,533.
Application 15/959,108 is a continuation in part of application No. 14/862,145, filed on Sep. 22, 2015, granted, now 10,838,852, issued on Nov. 17, 2020.
Claims priority of provisional application 62/642,596, filed on Mar. 13, 2018.
Claims priority of provisional application 62/149,509, filed on Apr. 17, 2015.
Prior Publication US 2021/0294507 A1, Sep. 23, 2021
Int. Cl. G06F 9/455 (2018.01); G06F 9/50 (2006.01); G06F 12/02 (2006.01); G06F 12/109 (2016.01); G06F 13/00 (2006.01); H04L 47/62 (2022.01)
CPC G06F 9/45558 (2013.01) [G06F 9/5077 (2013.01); G06F 12/0238 (2013.01); G06F 12/0246 (2013.01); G06F 12/109 (2013.01); G06F 13/00 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45595 (2013.01); G06F 2212/151 (2013.01); G06F 2212/206 (2013.01); G06F 2212/657 (2013.01); G06F 2212/7201 (2013.01); H04L 47/6215 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A storage device, comprising:
storage for data;
a first Input/Output (I/O) queue for a first request from a first virtual machine (VM) on a host device; and
a second Input/Output (I/O) queue for a second request from a second VM on a host device,
wherein the storage device supports an I/O queue creation command to request allocation of the first I/O queue for the first VM, the I/O queue creation command including a Logical Block Address (LBA) range attribute for a range of LBAs to be associated with the first I/O queue, and to request allocation of the second I/O queue for the second VM,
wherein the storage device maps the range of LBAs to a range of Physical Block Addresses (PBAs) in the storage for data, and
wherein the I/O queue creation command includes a shared namespace attribute specifying an array of namespaces including at least a first namespace to share access to at least one PBA in the range of PBAs, wherein a second namespace also shares access to the at least one PBA in the range of PBAs.