# US 11,113,003 B2 · Storage apparatus, storage control device, and recording medium with execution command pausing or stopping

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

- Number: US 11,113,003 B2
- Document ID: US11113003B2
- Status: Granted
- Kind: B2
- Application number: 16/720,815
- Filed: 2019-12-19
- Published: 2020-07-09
- Granted: 2021-09-07
- Earliest claimed: 2019-01-08
- Assignees: Fujitsu Limited
- Applicants: Fujitsu Limited
- Inventors: Tomohiko Muroyama
- Web page: https://patentgrep.com/patent/US11113003B2

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0611: {in relation to response time}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A storage apparatus includes a non-volatile storage device configured to store data; a memory; and a processor coupled to the memory and configured to control access to the non-volatile storage device, the processor configured to: receive an instruction from external software as a task, generate a command set for controlling the non-volatile storage device, execute a command included in the generated command set, control firmware revision processing of the storage apparatus, and stop execution of the command after performing processing for suppressing abnormality detection of the external software at a timing at which the command is not executable during the firmware revision processing.

## Claims

### Claim 1

A storage apparatus comprising:
a non-volatile storage device configured to store data;
a memory; and
a processor coupled to the memory and configured to control access to the non-volatile storage device, the processor configured to:
receive an instruction from external software as a task,
generate a command set for controlling the non-volatile storage device
execute a command included in the generated command set,
control firmware revision processing of the storage apparatus,
stop execution of the command after performing processing for suppressing abnormality detection of the external software at a timing at which the command is not executable during the firmware revision processing,
provide an instruction to pause the execution of the command at a timing of separating and incorporating a corresponding one of a plurality of control devices and at a timing of synchronizing a cache table with another one of the plurality of control devices, and
provide an instruction to completely stop the execution of the command at a timing of switching the another one of the plurality of control devices to a master control device.

### Claim 2 (depends on 1)

The storage apparatus according to claim 1, wherein
when a command processing is instructed to pause the execution of the command, the processor is configured to:
when the instruction from the external software includes a timeout requirement, perform a processing until status of the task becomes success or failure and stop the processing, and
when the instruction from the external software includes no timeout requirement, stop the processing upon receiving a response to the command being executed.

### Claim 3 (depends on 2)

The storage apparatus according to claim 2, wherein the processor is configured to, when the executing processing does not complete, within a given time, a processing supposed to be performed until the status of the task becomes success or failure and when the instruction from the external software includes the timeout requirement and the status of the task remains in a pre-execution state, leave the status of the task in the pre-execution state and stop a processing.

### Claim 4 (depends on 1)

The storage apparatus according to claim 1, wherein the processor is configured to, when the executing processing is instructed to stop the execution of the command, perform a processing until status of the task becomes success or failure and stop the processing.

### Claim 5 (depends on 4)

The storage apparatus according to claim 4, wherein
when the executing processing does not complete, within a given time, a processing supposed to be performed until the status of the task becomes success or failure, the processor is configured to,
when the instruction from the external software includes a timeout requirement and the status of the task remains in a pre-execution state, leave the status of the task in the pre-execution state and stop a processing, and
when the instruction from the external software includes no timeout requirement and the status of the task remains in an execution state, stop a processing upon receiving a response to the command being executed.

### Claim 6

A storage control device comprising:
a memory; and
a processor coupled to the memory and configured to:
receive an instruction from external software as a task,
generate a command set for controlling a non-volatile storage device,
execute a command included in the generated command set,
control firmware revision processing of a storage apparatus,
stop execution of the command after performing processing for suppressing abnormality detection of the external software at a timing at which the command is not executable during the firmware revision processing,
provide an instruction to pause the execution of the command at a timing of separating and incorporating a corresponding one of a plurality of control devices and at a timing of synchronizing a cache table with another one of the plurality of control devices, and
provide an instruction to completely stop the execution of the command at a timing of switching the another one of the plurality of control devices to a master control device.

### Claim 7

A non-transitory computer-readable recording medium having stored therein a program that causes a computer to execute a storage control processing, the processing comprising:
receiving an instruction from external software as a task;
generating a command set for controlling a non-volatile storage device;
executing a command included in the generated command set;
controlling firmware revision processing of the storage apparatus;
stopping execution of the command after performing processing for suppressing abnormality detection of the external software at a timing at which the command is not executable during the firmware revision processing;
providing an instruction to pause the execution of the command at a timing of separating and incorporating a corresponding one of a plurality of control devices and at a timing of synchronizing a cache table with another one of the plurality of control devices; and
providing an instruction to completely stop the execution of the command at a timing of switching the another one of the plurality of control devices to a master control device.
