# US 2020/0401328 A1 · Storage device and method of operating the same

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

- Number: US 2020/0401328 A1
- Document ID: US20200401328A1
- Status: Published application
- Kind: A1
- Application number: 16/696,764
- Filed: 2019-11-26
- Published: 2020-12-24
- Earliest claimed: 2019-06-21
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Joo Young Lee
- Web page: https://patentgrep.com/patent/US20200401328A1

## CPC

- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/064: {Management of blocks}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A memory controller for controlling one or more memory devices is provided. The memory controller includes a storage area manager and an operation controller in communication with the storage area manager. The storage area manager is configured to determine a number of super block groups having a predetermined size based on a number of the memory devices connected to the memory controller through a channel, allocate at least one memory device to each of the super block groups, and allocate at least two memory blocks included in the at least one memory device in each of the super block groups as a super block. The operation controller is configured to control the at least one memory device in each of the super block groups to store data in the super block or to read data stored in the super block.

## Claims

### Claim 1

A memory controller for controlling one or more memory devices, comprising:
a storage area manager configured to:
determine a number of super block groups having a predetermined size based on a number of memory devices connected to the memory controller through a channel,
allocate at least one memory device to each of the super block groups, and
allocate at least two memory blocks included in the at least one memory device in each of the super block groups as a super block; and
an operation controller in communication with the storage area manager and configured to control the at least one memory device in each of the super block groups to store data in the super block or to read data stored in the super block.

### Claim 2 (depends on 1)

The memory controller of claim 1, wherein the storage area manager is configured to allocate the same number of memory devices to each of the super block groups.

### Claim 3 (depends on 2)

The memory controller of claim 2, wherein the storage area manager is configured to allocate a preset number of memory devices to each of the super block groups.

### Claim 4 (depends on 1)

The memory controller of claim 1, wherein the storage area manager is configured to provide a device identification command to the at least one memory device, and obtain information indicating the number of memory devices connected to the one channel from the at least one memory device.

### Claim 5 (depends on 1)

The memory controller of claim 1, wherein the operation controller is configured to control the at least one memory device in each of the super block groups to store data in a stripe included in the super block or to read data stored in the stripe.

### Claim 6 (depends on 1)

The memory controller of claim 1, further comprising:
a bad block manager configured to generate bad block management information including state information indicating whether the super block is either a normal block or a bad block.

### Claim 7 (depends on 6)

The memory controller of claim 6, wherein, upon generation of a bad block management information indicative of a bad block among the at least two memory blocks allocated as the super block, the bad block manager is configured to update the state information of the super block from the normal block to the bad block.

### Claim 8 (depends on 1)

The memory controller of claim 1, wherein the at least two memory blocks belong to different memory devices included in each of the super block groups.

### Claim 9 (depends on 1)

The memory controller of claim 1, wherein each of the one or more memory devices includes one or more planes, and
the at least two memory blocks belong to different planes included in each of the super block groups.

### Claim 10

A storage device comprising:
one or more memory devices, each including one or more memory blocks; and
a memory controller in communication with the one or more memory devices through a channel and configured to determine a number of super block groups having a predetermined size based on a number of the one or more memory devices, allocate at least one memory device to each of the super block groups, allocate at least two memory blocks included in the at least one memory device in each of the super block groups as a super block, and control the memory devices to store data in the super block or to read data stored in the super block.

### Claim 11 (depends on 10)

The storage device of claim 10, wherein the memory controller is configured to allocate a preset number of memory devices to each of the super block groups having the default size.

### Claim 12 (depends on 10)

The storage device of claim 10, wherein the memory controller is configured to provide a device identification command to the at least one memory device and obtain memory die stack information indicating a number of a plurality of memory dies connected to the channel from the at least one memory device.

### Claim 13 (depends on 10)

The storage device of claim 10, wherein the memory controller is configured to control the at least one memory device in each of the super block groups to store data in a stripe included in the super block or to read data stored in the stripe.

### Claim 14 (depends on 10)

The storage device of claim 10, wherein the at least two memory blocks belong to different memory devices.

### Claim 15 (depends on 10)

The storage device of claim 10, wherein each of the one or more memory devices includes one or more planes, and
the at least two memory blocks belong to different planes included in each of the super block groups.

### Claim 16

A method of operating a storage device including one or more memory devices, comprising:
determining a number of super block groups having a predetermined size based on a number of memory devices connected to a channel;
allocating at least one memory device among the one or more memory devices to each of the super block groups;
allocating at least two memory blocks among memory blocks included in the one or more memory devices of each of the super block groups as a super block; and
performing a read operation or a write operation on the super block.

### Claim 17 (depends on 16)

The method of claim 16, wherein allocating the at least one memory device comprises allocating a preset number of memory devices to each of the super block groups having the default size.

### Claim 18 (depends on 16)

The method of claim 16, wherein performing the read operation or the write operation comprises storing data in a stripe or reading data stored in the stripe.

### Claim 19 (depends on 16)

The method of claim 16, wherein the at least two memory blocks belong to different memory devices.

### Claim 20 (depends on 16)

The method of claim 16, wherein each of the one or more memory devices includes one or more planes, and
the at least two memory blocks belong to different planes included in each of the super block groups.
