# US 2017/0286205 A1 · Storage device and event notification method for storage device

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

- Number: US 2017/0286205 A1
- Document ID: US20170286205A1
- Status: Published application
- Kind: A1
- Application number: 15/454,985
- Filed: 2017-03-09
- Published: 2017-10-05
- Earliest claimed: 2016-04-01
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: SUNGWON JEONG; MOONSANG KWON
- Web page: https://patentgrep.com/patent/US20170286205A1

## CPC

- G06F 11/0772: {Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- 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/0688: {Non-volatile semiconductor memory arrays}
- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/3037: {where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00)}
- G06F 11/3051: {Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247)}
- G06F 11/3072: {where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting}
- G06F 11/327: {Alarm or error message display}
- G06F 13/24: using interrupt (G06F13/32 takes precedence)
- 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 2201/86: Event-based monitoring
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An event notification method of a storage device includes detecting an event in the storage device, writing an asynchronous event information entry corresponding to the event in a completion queue of a host, and transmitting an interrupt corresponding to a transmission of the asynchronous event information entry to the host. The asynchronous event information entry is provided to the host regardless of reception of an asynchronous event request command from the host.

## Claims

### Claim 1

An event notification method of a storage device comprising:
detecting an event in the storage device by a storage controller included in the storage device;
writing an asynchronous event information entry corresponding to the detected event in a completion queue of a host; and
transmitting an interrupt corresponding to a transmission of the asynchronous event information entry from the storage device to the host,
wherein the asynchronous event information entry is provided by the storage device to the host regardless of whether or not an asynchronous event request command has been received from the host.

### Claim 2 (depends on 1)

The event notification method of claim 1, wherein the asynchronous event information entry comprises asynchronous event detail information that represents a type of the detected event and a type of an error.

### Claim 3 (depends on 2)

The event notification method of claim 2, wherein the type of the error comprises an error state and a state associated with self-monitoring, analysis and reporting technology (SMART)/Health.

### Claim 4 (depends on 2)

The event notification method of claim 2, wherein the asynchronous event detail information comprises a device open error that occurs when the storage device is booted.

### Claim 5 (depends on 1)

The event notification method of claim 1, wherein the host includes a submission queue, and the asynchronous event information entry comprises information about a submission queue head pointer (SQHP), a submission queue identifier (SQID), and a command identifier that are not provided from the host.

### Claim 6 (depends on 5)

The event notification method of claim 5, wherein field values corresponding to the asynchronous event information entry associated with the submission queue head pointer (SQHP), the submission queue identifier (SQID), and the command identifier are set to ‘FFFFh’.

### Claim 7 (depends on 1)

The event notification method of claim 1, wherein the storage device is an NVMe interface-based solid state drive.

### Claim 8 (depends on 1)

The event notification method of claim 1, wherein the storage device comprises a nonvolatile memory device including a three-dimensional memory array.

### Claim 9

A storage device comprising:
a nonvolatile memory device; and
a storage controller configured to control the nonvolatile memory device, detect an event in the storage device and write an asynchronous event information entry corresponding to the detected event into a completion queue of a host regardless of whether or not an asynchronous event request command has been received from the host.

### Claim 10 (depends on 9)

The storage device of claim 9, wherein the storage controller comprises a host interface configured to write the asynchronous event information entry in the host and transmit an interrupt to the host notifying that the asynchronous event information entry has been written in the host.

### Claim 11 (depends on 10)

The storage device of claim 10, wherein the host interface is configured to exchange information with the host according to an NVMe interface protocol.

### Claim 12 (depends on 9)

The storage device of claim 9, wherein the asynchronous event information entry comprises a device open error field indicating an error detected during a booting operation of the storage device.

### Claim 13 (depends on 10)

The storage device of claim 10, wherein the host includes a submission queue, and the asynchronous event information entry comprises a submission queue head pointer (SQHP), a submission queue identifier (SQID), and a command identifier indicating that the asynchronous event information entry is provided to the host without reception of an asynchronous event request command from the host.

### Claim 14 (depends on 13)

The storage device of claim 13, wherein the submission queue head pointer (SQHP), the submission queue identifier (SQID), and the command identifier are respectively set to a maximum value defined in a field of the asynchronous event information entry.

### Claim 15 (depends on 9)

The storage device of claim 9, wherein the nonvolatile memory device comprises a three-dimensional memory array.

### Claim 16

A storage device comprising:
a nonvolatile memory device; and
a storage controller configured to access the nonvolatile memory device responsive to commands from a host, detect occurrence of an event in the storage device, generate an asynchronous event information entry corresponding to the detected event, write the asynchronous event information entry in a completion queue of the host, and thereafter transmit an interrupt to the host,
wherein the storage controller is configured to detect the event independently without direction from the host.

### Claim 17 (depends on 16)

The storage device of claim 16, wherein the detected event comprises a hardware error, a software error or a booting failure in the storage device.

### Claim 18 (depends on 16)

The storage device of claim 16, wherein the storage controller is configured to exchange information with the host according to an NVMe interface protocol.

### Claim 19 (depends on 16)

The storage device of claim 16, wherein the nonvolatile memory device comprises a three-dimensional memory array.

### Claim 20 (depends on 16)

The storage device of claim 16, wherein the host includes a submission queue, and the asynchronous event information entry comprises a submission queue head pointer (SQHP), a submission queue identifier (SQID), and a command identifier indicating that the asynchronous event information entry is provided to the host without reception of an asynchronous event request command from the host.
