Resizing namespaces for storage devices
First Claim
Patent Images
1. A method comprising:
- receiving, by a controller of a storage device and from a host device, a command to resize a first namespace of a plurality of namespaces stored in a non-volatile memory device of the storage device; and
in response to receiving the command to resize the first namespace;
relocating, by the controller, a physical block address for the non-volatile memory device from an entry in a virtual to physical table identified by a first index value to an entry in the virtual to physical table identified by a second index value, wherein the relocating includes moving the entire physical block address; and
in response to relocating the physical block address, updating, by the controller, a mapping, by a namespace table, to indicate an initial index value of a second namespace of the plurality of namespaces to include abutting index values in the virtual to physical table, wherein the namespace table and the virtual to physical table are separate tables, wherein the namespace table includes a namespace identifier that is mapped, by the namespace table, to a corresponding starting virtual to physical index value and to a corresponding namespace size, and wherein each of the namespace sizes represents a specific and separate entry in the namespace table.
5 Assignments
0 Petitions
Accused Products
Abstract
A method may include receiving, by a controller of a storage device and from a host device, a command to resize a first namespace of a plurality of namespaces stored in a non-volatile memory device of the storage device. The method may further include, relocating, by the controller, a physical block address for the non-volatile memory device from an entry in a virtual to physical table identified by a first index value to an entry in the virtual to physical table identified by a second index value, and in response to relocating the physical block address, updating, by the controller, a mapping, by a namespace table, to indicate an initial index value of a second namespace of the plurality of namespaces.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, by a controller of a storage device and from a host device, a command to resize a first namespace of a plurality of namespaces stored in a non-volatile memory device of the storage device; and in response to receiving the command to resize the first namespace; relocating, by the controller, a physical block address for the non-volatile memory device from an entry in a virtual to physical table identified by a first index value to an entry in the virtual to physical table identified by a second index value, wherein the relocating includes moving the entire physical block address; and in response to relocating the physical block address, updating, by the controller, a mapping, by a namespace table, to indicate an initial index value of a second namespace of the plurality of namespaces to include abutting index values in the virtual to physical table, wherein the namespace table and the virtual to physical table are separate tables, wherein the namespace table includes a namespace identifier that is mapped, by the namespace table, to a corresponding starting virtual to physical index value and to a corresponding namespace size, and wherein each of the namespace sizes represents a specific and separate entry in the namespace table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A storage device comprising:
-
a storage element; and a controller configured to; receive, from a host device, a command to resize a first namespace of a plurality of namespaces stored in a non-volatile memory device of the storage device; and in response to receiving the command to resize the first namespace; relocate a physical block address for the non-volatile memory device from an entry in a virtual to physical table identified by a first index value to an entry in the virtual to physical table identified by a second index value, wherein the relocating includes moving the entire physical block address; and in response to relocating the physical block address, update a mapping, by a namespace table, to indicate an initial index value of a second namespace of the plurality of namespaces to include abutting index values in the virtual to physical table, wherein the namespace table and the virtual to physical table are separate tables, wherein the namespace table includes a namespace identifier that is mapped, by the namespace table, to a corresponding starting virtual to physical index value and to a corresponding namespace size, and wherein each of the namespace sizes represents a specific and separate entry in the namespace table. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause one or more processors of a storage device to:
-
receive, from a host device, a command to resize a first namespace of a plurality of namespaces stored in a non-volatile memory device of the storage device; and in response to receiving the command to resize the first namespace; relocate a physical block address for the non-volatile memory device from an entry in a virtual to physical table identified by a first index value to an entry in the virtual to physical table identified by a second index value, wherein the relocating includes moving the entire physical block address; and in response to relocating the physical block address, update a mapping, by a namespace table, to indicate an initial index value of a second namespace of the plurality of namespaces to include abutting index values in the virtual to physical table, wherein the namespace table and the virtual to physical table are separate tables, wherein the namespace table includes a namespace identifier that is mapped, by the namespace table, to a corresponding starting virtual to physical index value and to a corresponding namespace size, and wherein each of the namespace sizes represents a specific and separate entry in the namespace table. - View Dependent Claims (18)
-
-
19. A system comprising:
-
means for receiving, from a host device, a command to resize a first namespace of a plurality of namespaces stored in a non-volatile memory device of a storage device; means for relocating a physical block address for the non-volatile memory device from an entry in a virtual to physical table identified by a first index value to an entry in the virtual to physical table identified by a second index value, wherein the relocating includes moving the entire physical block address; and means for updating a mapping, by a namespace table, to indicate an initial index value of a second namespace of the plurality of namespaces in response to relocating the physical block address to include abutting index values in the virtual to physical table, wherein the namespace table and the virtual to physical table are separate tables, wherein the namespace table includes a namespace identifier that is mapped, by the namespace table, to a corresponding starting virtual to physical index value and to a corresponding namespace size, and wherein each of the namespace sizes represents a specific and separate entry in the namespace table. - View Dependent Claims (20)
-
Specification