IP Library Granted Patent US 10,983,701
Granted Patent B2
US 10,983,701 · App. 15/690,188 · Granted Apr 20, 2021

Memory system that constructs virtual storage regions for virtual machines

Inventor: Shinichi Kanno (Tokyo, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G06F3/0611G06F3/061G06F3/0637G06F3/0644G06F3/0655G06F3/0688G06F9/45558G06F12/0246G06F12/0638G06F2009/45583G06F2212/205G06F2212/7202
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,983,701
App. No.
15/690,188
Granted
Apr 20, 2021
Kind
B2
Abstract

A memory system connectable to a host includes a nonvolatile memory and a controller. The controller is configured to generate one or more virtual storage regions each of which is associated with a virtual machine running in the host, using physical memory regions of the nonvolatile memory, maintain a threshold value for each of said one or more virtual storage regions, determine a cumulative amount of data that have been written in each of said one or more virtual storage regions, and restrict writing of data with respect to a virtual storage region for which the cumulative amount exceeds the threshold value.

Claims (48)

1. A memory system connectable to a host, comprising:

a nonvolatile memory including a plurality of physical memory blocks; and

a controller configured to, during management of the plurality of physical memory blocks in the nonvolatile memory:

receive, from the host in which one or more virtual machines are running, a virtual storage creation command that designates a user capacity and an over-provisioning capacity of each of one or more virtual storage regions associated with the one or more virtual machines, the overprovisioning capacity being not recognizable as an available user space from the host,

allocate, on receiving the virtual storage creation command from the host, each of the one or more virtual storage regions associated with the one or more virtual machines running in the host, to a memory region in the physical memory blocks of the nonvolatile memory, based on a sum of the user capacity and the over-provisioning capacity designated in the received virtual storage creation command,

maintain, based on the user capacity and the over-provisioning capacity, a threshold value for an amount of data written to the memory region allocated for each of said one or more virtual storage regions,

determine a cumulative amount of data that have been written in the memory region allocated for each of said one or more virtual storage regions, and

restrict writing of data with respect to a memory region for which the cumulative amount exceeds the threshold value.

2. The memory system according to claim 1 , wherein

with respect to the memory region allocated for each of said one or more virtual storage regions, the cumulative amount of data corresponds to a sum of an amount of data that have been received from the host and written in the memory region and an amount of data that have been copied within the memory region.

3. The memory system according to claim 1 , wherein

with respect to the memory region allocated for each of said one or more virtual storage regions, the cumulative amount of data corresponds to an amount of data that have been received from the host and written in the memory region, and does not include an amount of data that have been copied within the memory region.

4. The memory system according to claim 1 , wherein the controller restricts the writing of data by prohibiting writing of data.

5. The memory system according to claim 1 , wherein

the controller is further configured to allocate, with respect to the memory region allocated for each of said one or more virtual storage regions, an access period of time during which an access to the memory region is allowed in each cycle period based on a request from the host.

6. The memory system according to claim 5 , wherein the controller restricts the writing of data by reducing the access period of time.

7. The memory system according to claim 5 , wherein the access includes erasing of data, writing of data, and reading of data.

8. The memory system according to claim 1 , wherein

the controller is further configured to set a bit rate of communication between the memory system and the host based on a request from the host, with respect to the memory region allocated for each of said one or more virtual storage regions.

9. The memory system according to claim 1 , further comprising:

a random access memory, wherein

the controller is further configured to set, in the random access memory, a dedicated memory region for the memory region allocated for each of said one or more virtual storage regions based on a request from the host.

10. A method of controlling a memory system that is connectable to a host and includes a nonvolatile memory including a plurality of physical memory blocks, the method comprising, during management of the plurality of physical memory blocks in the nonvolatile memory:

receiving, from the host in which one or more virtual machines are running, a virtual storage creation command that designates a user capacity and an over-provisioning capacity of each of one or more virtual storage regions associated with the one or more virtual machines, the overprovisioning capacity being not recognizable as an available user space from the host;

allocating, on receiving the virtual storage creation command from the host, each of the one or more virtual storage regions associated with the one or more virtual machines running in the host, to a memory region in the physical memory blocks of the nonvolatile memory, based on a sum of the user capacity and the over-provisioning capacity designated in the received virtual storage creation command;

maintaining, based on the user capacity and the over-provisioning capacity, a threshold value for an amount of data written to the memory region allocated for each of said one or more virtual storage regions;

determining a cumulative amount of data that have been written in the memory region allocated for each of said one or more virtual storage regions; and

restricting writing of data with respect to a memory region for which the cumulative amount exceeds the threshold value.

11. The method according to claim 10 , wherein

with respect to the memory region allocated for each of said one or more virtual storage regions, the cumulative amount of data corresponds to a sum of an amount of data that have been received from the host and written in the memory region and an amount of data that have been copied within the memory region.

12. The method according to claim 10 , wherein

with respect to the memory region allocated for each of said one or more virtual storage regions, the cumulative amount of data corresponds to an amount of data that have been received from the host and written in the memory region, and does not include an amount of data that have been copied within the region.

13. The method according to claim 10 , wherein restricting the writing of data includes prohibiting writing of data.

14. The method according to claim 10 , further comprising:

with respect to the memory region allocated for each of said one or more virtual storage regions, allocating an access period of time during which an access to the memory region is allowed in each cycle period based on a request from the host.

15. The method according to claim 14 , wherein restricting the writing of data includes reducing the access period of time.

16. The method according to claim 10 , further comprising:

set a bit rate of communication between the memory system and the host based on a request from the host, with respect to the memory region allocated for each of said one or more virtual storage regions.

17. The method according to claim 10 , wherein the memory system further includes a random access memory, the method further comprising:

setting, in the random access memory, a dedicated memory region for the memory region allocated for each of said one or more virtual storage regions based on a request from the host.

18. The memory system according to claim 1 , wherein the controller is further configured to, during the management of the plurality of physical memory blocks in the nonvolatile memory, independently perform a garbage collection with respect to each of memory regions allocated for virtual storage regions associated with virtual machines.

19. The memory system according to claim 18 , wherein the controller is further configured to, during the garbage collection with respect to said each of memory regions allocated for virtual storage regions associated with virtual machines, copy valid data stored in a physical memory block storing valid data and invalid data, to another physical memory block.

20. The memory system according to claim 18 , wherein

with respect to the memory region allocated for each of said one or more virtual storage regions, the cumulative amount of data corresponds to a sum of an amount of data that have been received from the host and written in the memory region and an amount of data that have been copied within the memory region during the garbage collection thereof.

21. The method according to claim 10 , wherein the controller is further configured to, during the management of the plurality of physical memory blocks in the nonvolatile memory, independently perform a garbage collection with respect to each of memory regions allocated for virtual storage regions associated with virtual machines.

22. The method according to claim 21 , wherein the controller is further configured to, during the garbage collection with respect to said each of memory regions allocated for virtual storage regions associated with virtual machines, copy valid data stored in a physical memory block storing valid data and invalid data, to another physical memory block.

23. The method according to claim 21 , wherein

with respect to the memory region allocated for each of said one or more virtual storage regions, the cumulative amount of data corresponds to a sum of an amount of data that have been received from the host and written in the memory region and an amount of data that have been copied within the memory region during the garbage collection thereof.

Assignments (7)
CHANGE OF NAME AND ADDRESS Recorded Feb 4, 2022
From: K.K PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058957/0124 →
CHANGE OF NAME AND ADDRESS Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058905/0582 →
MERGER Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: K.K PANGEA
Reel/Frame 058946/0675 →
MERGER Recorded Jan 11, 2022
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 058702/0106 →
CHANGE OF NAME Recorded Jan 11, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058728/0031 →
CHANGE OF NAME Recorded Jan 11, 2022
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058625/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: KANNO, SHINICHI
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 044110/0483 →
Cited By (1)
US 12,561,130