# US 11,029,873 B2 · Storage device with expandable logical address space and operating method thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,029,873 B2
- Document ID: US11029873B2
- Status: Granted
- Kind: B2
- Application number: 16/543,800
- Filed: 2019-08-19
- Published: 2020-06-18
- Granted: 2021-06-08
- Earliest claimed: 2018-12-12
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Jaewon Song; Jaesub Kim; Sejeong Jang
- Web page: https://patentgrep.com/patent/US11029873B2

## CPC

- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0284: {Multiple user address space allocation, e.g. using different base addresses (interprocessor communication G06F15/163)}
- G06F 2212/1044: Space efficiency improvement
- G06F 2212/1048: Scalability
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F 2212/7204: Capacity control, e.g. partitioning, end-of-life degradation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of operating a storage device with a memory includes partitioning an entire area of a first namespace into at least one area based on a reference size. The partitioning is performed in response to a namespace creating request from a host that includes size information corresponding to the entire area of the first namespace. The method further includes partitioning a logical address space of the memory into a plurality of segments, allocating a first segment of the plurality of segments to a first area of the at least one area, and storing mapping information of the first area and the first segment. A size of the logical address space is greater than a size of a physical storage space of the memory identified by the host.

## Claims

### Claim 1

A method of operating a storage device including a memory, the method comprising:
partitioning an entire area of a first namespace into at least one area based on a reference size, the partitioning performed in response to a namespace creating request from a host, the namespace creating request including size information of the first namespace that corresponds to the entire area of the first namespace;
partitioning a logical address space of the memory having a size of a physical storage space of the memory into a plurality of segments each having the reference size;
expanding the logical address space to include an additional segment having the reference size when a first area of the at least one area is smaller than the reference size;
allocating the additional segment of the expanded logical address space to the first area; and
storing mapping information mapping the first area to the additional segment.

### Claim 2 (depends on 1)

The method of claim 1, wherein the logical address space includes:
a first logical address space having the size of the physical storage space; and
a second logical address space of a size based on a number of supportable namespaces.

### Claim 3 (depends on 1)

The method of claim 1, wherein, when a size of the first namespace is greater than the reference size, the first area is a partial area of the entire area of the first namespace.

### Claim 4 (depends on 1)

The method of claim 1, wherein: when a size of the first namespace is not greater than the reference size, the first area is identical to the entire area of the first namespace.

### Claim 5 (depends on 1)

The method of claim 1, wherein the mapping information is stored in a tightly coupled memory (TCM) or a static random access memory (SRAM).

### Claim 6

A method of operating a storage device including a memory, the method comprising:
partitioning an entire area of a first namespace into at least one area based on a reference size, the partitioning performed in response to a namespace creating request from a host, the namespace creating request including size information of the first namespace that corresponds to the entire area of the first namespace;
partitioning a logical address space of the memory having a size of a physical storage space of the memory into a plurality of segments each having the reference size;
expanding the logical address space to include an additional segment having the reference size for each of supported namespaces; and
allocating one of the additional segments of the expanded logical address space to a first area of the at least one area when the first area is smaller than the reference size.

### Claim 7 (depends on 6)

The method of claim 6, wherein, when a size of the first namespace is greater than the reference size, the first area is a partial area of the entire area of the first namespace.

### Claim 8 (depends on 6)

The method of claim 6, wherein, when a size of the first namespace is not greater than the reference size, the first area is identical to the entire area of the first namespace.

### Claim 9 (depends on 6)

The method of claim 6, wherein the expanded logical address space is greater than a physical storage space of the memory identified by the host.

### Claim 10

A storage device, comprising:
a memory;
an address mapping manager configured to manage a logical address space of a memory having a size of a physical storage space of the memory partitioned into a plurality of segments each having a reference size;
a namespace manager configured to partition an entire area of a first namespace into at least one area based on the reference size, the namespace manager configured to partition the entire area of the first namespace in response to a namespace creating request from a host, the namespace creating request including size information corresponding to the entire area of the first namespace, the namespace manager further configured to allocate a first area of the at least one area to a first segment of the plurality of segments; and
a segment mapping table configured to store mapping information of the first area and the first segment,
wherein the address mapping manager expands the logic address space to include an additional segment having the reference size when a first area of the at least one area is smaller than the reference size and allocates the additional segment of the expanded logical address space to the first area.

### Claim 11 (depends on 10)

The storage device of claim 10, wherein the logical address space includes:
a first logical address space having the size of the physical storage space; and
a second logical address space a size based on a number of supportable namespaces.

### Claim 12 (depends on 10)

The storage device of claim 10, further comprising:
an address mapping table configured to store logical addresses corresponding to the logical address space and physical addresses corresponding to the logical addresses.

### Claim 13 (depends on 12)

The storage device of claim 12, wherein a size of the logical address space corresponds to a size of the address mapping table.

### Claim 14 (depends on 10)

The storage device of claim 10, wherein the segment mapping table is stored in a tightly coupled memory (TCM) or a static random access memory (SRAM) of the storage device.

### Claim 15 (depends on 10)

The storage device of claim 10, wherein the storage device and the host communicate with each other based on a non-volatile memory express (NVMe) communication protocol.
