# US 12,112,052 B2 · Reading a master boot record for a namespace after reformatting the namespace

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

- Number: US 12,112,052 B2
- Document ID: US12112052B2
- Status: Granted
- Kind: B2
- Application number: 17/708,828
- Filed: 2022-03-30
- Published: 2023-10-05
- Granted: 2024-10-08
- Earliest claimed: 2022-03-30
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Alexei Frolikov
- Web page: https://patentgrep.com/patent/US12112052B2

## CPC

- G06F 3/064: {Management of blocks}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0622: {in relation to access}
- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- 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

Systems, methods, and apparatus related to memory devices. In one approach, a memory has a namespace formatted using a first sector size. Master boot record (MBR) data is written to an MBR region outside of the namespace using the first sector size. After writing the MBR data, the namespace is reformatted using a second sector size. A read command is received from a host for an address in an MBR address range of the namespace. In response to receiving the read command, the MBR data is read from the MBR region. Padding is added to the read MBR data, and the padded MBR data is sent to the host device.

## Claims

### Claim 1

A system comprising:
memory allocated to a namespace; and
a controller configured to:
format the namespace using a first sector size;
write master boot record (MBR) data to an MBR region of the memory that is outside of the namespace, wherein the MBR region is formatted using the first sector size;
after writing the MBR data, format the namespace using a second sector size, requiring any block of data read from the namespace to have a size equal to the second sector size;
receive a read command from a host device, wherein the read command is for an address that corresponds to the MBR region;
in response to receiving the read command, read the MBR data;
add padding to the read MBR data; and
send the padded MBR data to the host device.

### Claim 2 (depends on 1)

The system of claim 1, wherein after formatting the namespace using the second sector size, the host device requires that any block of data read from the namespace to have a size equal to the second sector size.

### Claim 3 (depends on 1)

The system of claim 1, wherein the controller is further configured to, in response to receiving any read command in an address range that corresponds to the MBR region, make a security request for approval to access the MBR region.

### Claim 4 (depends on 3)

The system of claim 3, wherein the memory is configured in a first package, the system further comprising:
a security core configured in a second package;
wherein the security request is sent to the security core.

### Claim 5 (depends on 1)

The system of claim 1, wherein the memory and controller are configured in a solid-state drive, and the address in the namespace is a logical block address (LBA).

### Claim 6 (depends on 1)

The system of claim 1, wherein the controller is further configured to, in response to receiving the read command, translate the address in the namespace to an address in the MBR region, wherein the MBR data is read from the MBR region.

### Claim 7 (depends on 6)

The system of claim 6, wherein the memory is configured in a solid-state drive (SSD), the MBR data is stored in a master boot record that is read by the SSD when booting up, and the controller is further configured to:
determine whether the master boot record is enabled for the namespace;
wherein the address in the namespace is translated in response to determining that the master boot record is enabled for the namespace.

### Claim 8 (depends on 1)

The system of claim 1, wherein the namespace is formatted using logical block addresses (LBAs) into a plurality of blocks configured to store user data.

### Claim 9 (depends on 8)

The system of claim 8, wherein each of the blocks further stores respective metadata having a size equal to the size of the padding.

### Claim 10 (depends on 9)

The system of claim 9, wherein the respective metadata comprises a characteristic associated with user data stored in the same block.

### Claim 11 (depends on 10)

The system of claim 10, wherein the respective metadata is a signature of the user data stored in the block.

### Claim 12 (depends on 1)

The system of claim 1, wherein the MBR data is written to the MBR region in response to receiving a secure command from the host device.

### Claim 13 (depends on 1)

The system of claim 1, further comprising a temporary buffer, wherein the controller is further configured to, prior to sending the padded MBR data to the host device:
store the MBR data in the temporary buffer after reading the MBR data from the MBR region; and
add the padding to the MBR data stored in the temporary buffer.

### Claim 14 (depends on 1)

The system of claim 1, wherein the address range that corresponds to the MBR region is a first 128 MB or 256 MB of the namespace.

### Claim 15 (depends on 1)

The system of claim 1, wherein the padding is a string of ones and zeros in a fixed pattern.

### Claim 16 (depends on 1)

The system of claim 1, wherein:
the MBR region comprises a plurality of sectors, and each sector has the first sector size; and
adding padding to the MBR data comprises adding respective padding to each sector of the MBR data that is read from the MBR region.

### Claim 17

A system comprising:
at least one memory allocated to at least one namespace, wherein a first namespace of the memory is formatted to have a first sector size; and
a controller configured to:
store master boot record (MBR) data in a master boot record that is assigned to the first namespace, wherein a format of the master boot record is the first sector size;
format the first namespace to have a second sector size;
receive a first read command from a host device, wherein the first read command is for an address that corresponds to the master boot record;
in response to receiving the first read command, read the MBR data;
add padding to the MBR data, wherein a size of the padding added is equal to a difference between the first and second sector sizes;
send the padded MBR data to the host device; and
determine whether the master boot record is enabled for the first namespace.

### Claim 18 (depends on 17)

The system of claim 17, wherein a second namespace is formatted to have the first sector size, and the master boot record is stored in the second namespace.

### Claim 19 (depends on 17)

The system of claim 17, wherein the controller is further configured to:
wherein reading the MBR data is further in response to determining that the master boot record is enabled for the first namespace.

### Claim 20 (depends on 17)

The system of claim 17, wherein the controller is further configured to:
receive a second read command from the host device, wherein the second read command is for an address in the first namespace that is within the address range that corresponds to the master boot record;
determine that the master boot record is not enabled for the first namespace;
in response to determining that the master boot record is not enabled, read data from the first namespace; and
send the read data to the host device.

### Claim 21 (depends on 17)

The system of claim 17, wherein the MBR data includes blocks each having a logical block address (LBA).

### Claim 22 (depends on 17)

The system of claim 17, wherein the memory is configured in a solid-state drive (SSD), and the host device requires that data read from any namespace of the SSD be provided to the host device in a format having the same sector size as the namespace from which the data is read.

### Claim 23 (depends on 22)

The system of claim 22, wherein the data read from the namespace of the SSD includes at least one of user data stored in the namespace of the SSD, or MBR data stored in a master boot record assigned to the namespace of the SSD.

### Claim 24 (depends on 17)

The system of claim 17, wherein the controller is further configured to:
for any command received from the host device, send a request to a security core, the request including a namespace corresponding to the command and an address corresponding to the command; and
receive, from the security core, an indication of an action to be taken in response to receiving the command.

### Claim 25 (depends on 24)

The system of claim 24, wherein the address corresponding to the command is in a logical block address (LBA) range associated with the master boot record, and the action is returning MBR data to the host device.

### Claim 26 (depends on 24)

The system of claim 24, wherein authentication of the host device by the security core is required prior to the security core approving access to any MBR data.

### Claim 27

A method comprising:
writing master boot record (MBR) data formatted using a first sector size, wherein the MBR data is written to the MBR region in response to receiving a secure command from the host device;
receiving a read command from a host device, wherein the read command corresponds to a second sector size;
in response to receiving the read command, reading the MBR data;
adding padding to the read MBR data; and
sending the padded MBR data to the host device.

### Claim 28

A system comprising:
memory allocated to a namespace; and
a controller configured to:
format the namespace using a first sector size;
write master boot record (MBR) data to an MBR region of the memory that is outside of the namespace, wherein the MBR region is formatted using the first sector size;
after writing the MBR data, format the namespace using a second sector size;
receive a read command from a host device, wherein the read command is for an address that corresponds to the MBR region;
in response to receiving the read command, read the MBR data;
add padding to the read MBR data; and
send the padded MBR data to the host device;
wherein the MBR data is written to the MBR region in response to receiving a secure command from the host device.

### Claim 29

A system comprising:
at least one memory allocated to at least one namespace, wherein a first namespace of the memory is formatted to have a first sector size; and
a controller configured to:
store master boot record (MBR) data in a master boot record that is assigned to the first namespace, wherein a format of the master boot record is the first sector size;
format the first namespace to have a second sector size;
receive a first read command from a host device, wherein the first read command is for an address that corresponds to the master boot record;
in response to receiving the first read command, read the MBR data;
add padding to the MBR data, wherein a size of the padding added is equal to a difference between the first and second sector sizes; and
send the padded MBR data to the host device;
wherein a second namespace is formatted to have the first sector size, and the master boot record is stored in the second namespace.
