US2022214967A1PendingUtilityA1

Management of Storage Resources Allocated from Non-volatile Memory Devices to Users

Assignee: MICRON TECHNOLOGY INCPriority: Jan 19, 2018Filed: Mar 24, 2022Published: Jul 7, 2022
Est. expiryJan 19, 2038(~11.5 yrs left)· nominal 20-yr term from priority
Inventors:Alex Frolikov
G06F 12/0246G06F 2009/45583G06F 3/061G06F 9/45558G06F 3/0631G06F 12/0238Y02D10/00G06F 2212/1052G06F 2212/1016G06F 3/064G06F 3/0664G06F 2212/7205G06F 12/1441G06F 12/1408G06F 2212/7201G06F 3/0679G06F 3/0659G06F 21/602G06F 9/5016
69
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer having a plurality of accounts and a storage device having a host interface, a controller, non-volatile storage media, and firmware. Each account has a namespace identifier that identifies the allocation of a portion of the non-volatile storage media to the account. The storage device stores a namespace map that defines the mapping between the logical addresses in a namespace identified by the namespace identifier and the logical addresses, in a capacity of the storage device, that correspond to the portion of the non-volatile storage media allocated to and accessible to the account. The account accesses the portion of the non-volatile storage media via the logical addresses in the namespace. The firmware of the storage device configures the controller to convert, using the namespace map, the logical addresses in the namespace to the physical addresses of the portion of the non-volatile storage media.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer system, comprising:
 a storage device having:
 a host interface; 
 a controller; 
 non-volatile storage media; and 
 firmware; and 
   a plurality of accounts; and   wherein each respective account in the plurality of accounts has a namespace identifier that identifies allocation of a portion of the non-volatile storage media to the respective account;   wherein the storage device stores a namespace map that defines a mapping between:
 logical addresses in a namespace identified by the namespace identifier, wherein the respective account accesses the portion of the non-volatile storage media via the logical addresses in the namespace; and 
 logical addresses, in a capacity of the storage device, corresponding to the portion of the non-volatile storage media accessible to the respective account; and 
   wherein the firmware includes instructions which when executed by the controller, cause the controller to convert, using the namespace map, the logical addresses in the namespace to physical addresses of the portion of the non-volatile storage media accessible to the respective account.   
     
     
         2 . The computer system of  claim 1 , wherein entire storage resources allocated for user data in the respective account are identified by the namespace identifier. 
     
     
         3 . The computer system of  claim 2 , wherein a size of the namespace corresponds to a quota of the entire storage resources allocated for user data in the respective account. 
     
     
         4 . The computer system of  claim 3 , wherein a size of the portion of the non-volatile storage media allocated to the respective account is smaller than the quota. 
     
     
         5 . The computer system of  claim 4 , wherein the controller of the storage device is configured by the firmware to increase the size of the portion of the non-volatile storage media allocated to the respective account based on usage of the portion of the non-volatile storage media allocated to the respective account. 
     
     
         6 . The computer system of  claim 4 , wherein the controller of the storage device is configured by the firmware to increase the size of the portion of the non-volatile storage media allocated to the respective account in response to a determination that an unused portion, allocated from the non-volatile storage media to the respective account, is smaller than a threshold. 
     
     
         7 . The computer system of  claim 4 , wherein the controller of the storage device is configured by the firmware to increase the size of the portion of the non-volatile storage media allocated to the respective account by adjusting the namespace map. 
     
     
         8 . The computer system of  claim 2 , wherein the controller of the storage device is configured by the firmware to adjust the size of the namespace in response to a change in the quota for the respective account. 
     
     
         9 . The computer system of  claim 8 , wherein the controller of the storage device is configured by the firmware to adjust the size of the namespace by adjusting the namespace map. 
     
     
         10 . The computer system of  claim 9 , wherein the adjusting of the namespace map is performed by adding or removing an identifier of a block of logical addresses in the capacity of the storage device. 
     
     
         11 . The computer system of  claim 10 , wherein the block has a predetermined size. 
     
     
         12 . The computer system of  claim 11 , wherein the predetermined size is a power of two. 
     
     
         13 . The computer system of  claim 1 , wherein the storage device has a register storing a crypto key of the namespace during data access performed in the namespace. 
     
     
         14 . The computer system of  claim 1 , wherein the host interface implements single root I/O virtualization. 
     
     
         15 . The computer system of  claim 14 , wherein the namespace is attached to a virtual function of the storage device implemented via the single root I/O virtualization. 
     
     
         16 . The computer system of  claim 1 , wherein the each respective account in the plurality of accounts is configured with a single namespace identifier for identifying storage resources available to store user data in the each respective account. 
     
     
         17 . A method implemented in a computer system, the method comprising:
 connecting a storage device to a host, the storage device having:
 a host interface; 
 a controller; 
 non-volatile storage media; and 
 firmware; and 
   configuring, in the host, a plurality of accounts, wherein each respective account in the plurality of accounts has a namespace identifier that identifies allocation of a portion of the non-volatile storage media to the respective account;   storing, in the storage device, a namespace map that defines a mapping between:
 logical addresses in a namespace identified by the namespace identifier, wherein the respective account accesses the portion of the non-volatile storage media via the logical addresses in the namespace; and 
 logical addresses, in a capacity of the storage device, corresponding to the portion of the non-volatile storage media accessible to the respective account; and 
   converting, by the controller executing the firmware and using at least the namespace map, the logical addresses in the namespace to physical addresses of the portion of the non-volatile storage media accessible to the respective account.   
     
     
         18 . The method of  claim 17 , further comprising:
 monitoring, by the controller of the storage device, usage of the namespace; and   adjusting, by the controller of the storage device, a size of the namespace based on the usage of the namespace in accordance with a quota of storage resources allocated to the account.   
     
     
         19 . The method of  claim 18 , wherein the adjusting of the size of the namespace includes adding to, or removing from, the namespace map, an identifier of a block of logical addresses in the capacity of the storage device. 
     
     
         20 . A non-transitory computer storage medium storing instructions which, when executed by a computer system, cause the computer system to perform a method, the method comprising:
 configuring, in a host coupled to a storage device, a plurality of accounts, the storage device having:
 a host interface; 
 a controller; 
 non-volatile storage media; and 
 firmware; 
   wherein each respective account in the plurality of accounts has a namespace identifier that identifies allocation of a portion of the non-volatile storage media to the respective account;   storing, in the storage device, a namespace map that defines a mapping between:
 logical addresses in a namespace identified by the namespace identifier, wherein the respective account accesses the portion of the non-volatile storage media via the logical addresses in the namespace; and 
 logical addresses, in a capacity of the storage device, corresponding to the portion of the non-volatile storage media accessible to the respective account; and 
   converting, by the controller executing the firmware and using at least the namespace map, the logical addresses in the namespace to physical addresses of the portion of the non-volatile storage media accessible to the respective account.

Join the waitlist — get patent alerts

Track US2022214967A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.