# US 10,310,755 B2 · Memory system having a semiconductor memory device with protected blocks

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

- Number: US 10,310,755 B2
- Document ID: US10310755B2
- Status: Granted
- Kind: B2
- Application number: 15/051,882
- Filed: 2016-02-24
- Published: 2017-03-02
- Granted: 2019-06-04
- Earliest claimed: 2015-08-28
- Assignees: Toshiba Memory Corporation
- Applicants: Toshiba Memory Corporation
- Inventors: Shunsuke Kodera; Toshihiko Kitazume; Kenichirou Kada; Nobuhiro Tsuji; Shinya Takeda; Tetsuya Iwata; Yoshio Furuyama; Hirosuke Narai
- Web page: https://patentgrep.com/patent/US10310755B2

## CPC

- G06F 3/0622: {in relation to access}
- G06F 3/0637: {Permissions}
- G06F 3/064: {Management of blocks}
- G06F 3/0655: {Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices}
- 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]}
- G11C 5/066: {Means for reducing external access-lines for a semiconductor memory clip, e.g. by multiplexing at least address and data signals}
- G11C 7/1063: {Control signal output circuits, e.g. status or busy flags, feedback command signals}
- G11C 16/22: Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A memory system includes a semiconductor memory device including a plurality of blocks, and a controller configured to register a block designated in a protection command as a protected block in a storage region. When the control circuit receives from a host a command to erase the protected block or write to the protected block, the control circuit does not issue a corresponding erase or write command to the semiconductor memory device and notifies the host of the failure to execute the command.

## Claims

### Claim 1

A memory system, comprising:
a semiconductor memory cell array including a plurality of blocks; and
a controller circuit configured to:
communicate with a host apparatus through an interface conforming to Serial Peripheral Interface (SPI),
upon receiving a first command, which is a block protection enable command, from the host apparatus through the interface, enable execution of a second command, which is a block protection command to register a block among the plurality of blocks that is designated in the second command as a protected block,
after receiving the second command from the host apparatus through the interface, following the first command, determine whether or not the block designated in the second command is eligible for protection,
when the block designated in the second command is determined to be eligible for protection, execute the second command to register the block designated in the second command as a protected block, and
upon receiving a third command from the host apparatus through the interface to erase the protected block or write to the protected block, transmit a notification indicating a failure to execute the third command to the host apparatus, without performing an erase operation or a write operation requested by the third command,
wherein the semiconductor memory cell array is implemented in a first semiconductor chip without the controller circuit, and the controller circuit is implemented in a second semiconductor chip without the semiconductor memory cell array, and the second semiconductor chip is stacked on the first semiconductor chip.

### Claim 2 (depends on 1)

The memory system according to claim 1, wherein
the controller circuit determines block eligibility for protection, based on protection settings stored in a storage region that specify one or more blocks that are eligible for protection.

### Claim 3 (depends on 2)

The memory system according to claim 2, wherein
when the designated block is determined to be ineligible for protection, the controller circuit does not register the designated block as the protected block.

### Claim 4 (depends on 3)

The memory system according to claim 3, wherein
when the designated block is determined to be ineligible for protection, the controller circuit transmits a notification to the host apparatus that the second command is denied.

### Claim 5 (depends on 1)

The memory system according to claim 1, wherein
the controller circuit includes a register, and registers the protected block in a region of the register.

### Claim 6 (depends on 5)

The memory system according to claim 5, wherein
the controller circuit enables modification to the region of the register upon receiving the first command, to enable execution of the second command that causes registering of the protected block in the region.

### Claim 7 (depends on 6)

The memory system according to claim 6, wherein
the controller circuit also registers, in the register, a flag that enables execution of the second command, upon receiving the first command.

### Claim 8 (depends on 1)

The memory system according to claim 1, wherein the first command does not change a protection state of any of the plurality of blocks.

### Claim 9

A method of protecting a block of memory cells in a semiconductor memory cell array with a controller circuit that is configured to communicate with a host apparatus through an interface conforming to Serial Peripheral Interface (SPI), the method comprising:
upon receiving a first command, which is a block protection enable command, from the host apparatus through the interface, enabling execution of a second command, which is a block protection command to register a block among the plurality of blocks that is designated in the second command as a protected block;
after receiving the second command from the host apparatus through the interface, following the first command, determining whether or not the block designated in the second command is eligible for protection,
when the block designated in the second command is determined to be eligible for protection, executing the second command to register the block designated in the second command as a protected block; and
upon receiving a third command to erase the protected block or write to the protected block from the host apparatus through the interface, transmitting a notification indicating a failure to execute the third command to the host apparatus, without performing an erase operation or a write operation requested by the third command,
wherein the semiconductor memory cell array is implemented in a first semiconductor chip without the controller circuit, and the controller circuit is implemented in a second semiconductor chip without the semiconductor memory cell array, and the second semiconductor chip is stacked on the first semiconductor chip.

### Claim 10 (depends on 9)

The method according to claim 9, wherein
block eligibility for protection is determined based on protection settings stored in a storage region that specify one or more blocks that are eligible for protection.

### Claim 11 (depends on 10)

The method according to claim 10, wherein
when the designated block is determined to be ineligible for protection, the designated block is not registered as the protected block.

### Claim 12 (depends on 11)

The method according to claim 11, wherein
a notification that the second command is denied is transmitted to the host apparatus, when the designated block is determined to be ineligible for protection.

### Claim 13 (depends on 9)

The method according to claim 9, wherein
the controller circuit includes a register, and the protected block is registered in a region of the register.

### Claim 14 (depends on 13)

The method according to claim 13, wherein
enabling execution of the second command comprises enabling modification to the region of the register upon receiving the first command.

### Claim 15 (depends on 14)

The method according to claim 14, wherein
enabling execution of the second command further comprises registering, in the register, a flag that enables execution of the second command.

### Claim 16 (depends on 9)

The method according to claim 9, wherein the first command does not change a protection state of any of the plurality of blocks.
