Overprovisioning Block Mapping for Namespace
AssigneePetaio Inc.
InventorsJongman Yoon, Huaitao Wang
Life of this patent
Estimating the term…
Abstract
A namespace is a declarative region that provides a scope to identifiers inside the namespace, which identifiers are the names of types, functions, variables, and the like. Namespaces are used to organize code into logical groups. A namespace is a collection of logical block addresses that are accessible to host software. The logical block addresses that comprise a namespace may be utilized to minimize overhead with smaller allocation of resources for multiple namespaces in SSD and to improve the operation of the OS by eliminating the need for defragmentation operations.
Claims20
A controller for a computing device, the controller being programmed to:
- create a namespace;
- perform block mapping and allocate blocks to the namespace, wherein the allocation of blocks includes an overprovisioning of blocks to the namespace;
- and
- minimize the need for defragmentation operations related to the namespace.
A controller for a computing device, the controller being programmed to:
- create initial namespaces, wherein at least two initial namespaces are created, and block mapping is performed to allocate blocks to the initial namespaces, wherein the allocation of blocks to the initial namespaces includes an overprovisioning of blocks to the initial namespaces;
- delete selected namespaces;
- create new namespaces, wherein at least two new namespaces are created, and block mapping is performed to allocate blocks to the new namespaces, wherein the allocation of blocks to the new namespaces includes an overprovisioning of blocks to the new namespaces;
- and
- eliminate the need for defragmentation operations related to all the namespaces.
A controller for a computing device, the controller being programmed to:
- create initial namespaces, wherein at least two initial namespaces are created;
- perform block mapping corresponding to a desired LBA range to allocate blocks to the initial namespaces, wherein the allocation of blocks to the initial namespaces includes an overprovisioning of blocks to the initial namespaces;
- delete selected namespaces from the initial namespaces;
- create new namespaces, wherein at least two new namespaces are created;
- perform block mapping corresponding to a desired LBA range is performed to allocate blocks to the new namespaces, wherein the allocation of blocks to the new namespaces includes an overprovisioning of blocks to the new namespaces.
Dependencies are inferred from the claim text.