# US 12,118,229 B2 · Memory sub-system event log management

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

- Number: US 12,118,229 B2
- Document ID: US12118229B2
- Status: Granted
- Kind: B2
- Application number: 17/946,885
- Filed: 2022-09-16
- Published: 2023-01-19
- Granted: 2024-10-15
- Earliest claimed: 2020-08-27
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Adam J. Hieb; Adam C. Guy; Sanjay Tiwari; Todd A Marquart
- Web page: https://patentgrep.com/patent/US12118229B2

## CPC

- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/064: {Management of blocks}
- G06F 3/0673: {Single storage device}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- 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/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 11/0778: {Dumping, i.e. gathering error/state information after a fault for later diagnosis}
- 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/3072: {where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting}
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 2201/86: Event-based monitoring
- G06F 2201/88: Monitoring involving counting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system includes a memory device and a processing device coupled to the memory device. The memory processing device can perform operations including receiving data indicative of occurrence of a plurality of events. The processing device can perform operations including determining an event log type for each of the plurality of events. The processing device can perform operations including storing an identifier associated with each of the determined event log types. The processing device can perform operations including updating a counter value associated with each identifier in response to occurrence of an event associated with the respective identifier.

## Claims

### Claim 1

A system, comprising:
a memory device; and
a processing device coupled to the memory device to control:
receiving data indicative of occurrence of a plurality of events;
determining respective event log types for the received plurality of events;
associating respective identifiers including a corresponding counter for each of the determined event log types;
determining a best bit to event ratio to identify a bit-size of the corresponding counter to be used for each of the determined event log types, wherein the best bit to event ratio is based at least upon a number of times that the corresponding determined event log types occurred in previous operations;
changing a size of the respective identifier including the bit-size of the corresponding counter based at least upon the corresponding determined best bit to event ratio;
updating corresponding counter values to count a number of occurrence of associated event log type; and
storing the updated counter values and corresponding associated event log data including the respective identifiers and the determined event log types to the memory device; and
wherein the size of each of the identifiers is based on a parameter and the parameter is:
a quantity of the plurality of events; or
a size of a memory space for storing each of the identifiers and associated counters.

### Claim 2 (depends on 1)

The system of claim 1, wherein the associated respective identifiers include a unique identifier for each of the plurality of events.

### Claim 3 (depends on 1)

The system of claim 1, wherein the received data comprise a listing of each event occurring during a particular period of time.

### Claim 4 (depends on 1)

The system of claim 1, wherein the processing device is configured to determine if the event log type is an error event.

### Claim 5 (depends on 1)

The system of claim 1, wherein the processing device is configured to update a counter value associated with each identifier in response to performance of an event associated with the respective identifier.

### Claim 6 (depends on 5)

The system of claim 5, wherein the processing device is configured to generate histogram data from the determined event log types and the updated counter values.

### Claim 7 (depends on 6)

The system of claim 6, wherein the processing device is configured to display the histogram data.

### Claim 8

A method, comprising:
receiving data indicative of occurrence of a plurality of events;
determining respective event log types for the received plurality of events;
associating respective identifiers including a corresponding counter for each of the determined event log types;
determining a best bit to event ratio to identify a bit-size of the corresponding counter to be used for each of the determined event log types based at least upon a number of times that the corresponding determined event log types occurred in previous operations;
changing a size of the respective identifier including the bit-size of the corresponding counter based at least upon the corresponding determined best bit to event ratio;
updating corresponding counter values to count a number of occurrence of associated event log type; and
storing the updated counter values and corresponding associated event log data including the respective identifiers and the determined event log types to a memory device; and
wherein the size of each of the identifiers is based on a parameter and the parameter is:
a quantity of the plurality of events; or
a size of a memory space for storing each of the identifiers and associated counters.

### Claim 9 (depends on 8)

The method of claim 8, wherein the storing is triggered by a triggering event that includes a power down of a system.

### Claim 10 (depends on 8)

The method of claim 8, further comprising: detecting an occurrence of a triggering event; and storing the updated counter values in response to the detected occurrence of the triggering event.

### Claim 11 (depends on 8)

The method of claim 8, further comprising generating histogram data using the determined event log types and the corresponding identifiers and counter values.

### Claim 12 (depends on 8)

The method of claim 8, wherein the event log data includes the identifier associated with each of the determined event log types.

### Claim 13 (depends on 10)

The method of claim 10, wherein the triggering event includes a detection of an end of a time period.

### Claim 14 (depends on 13)

The method of claim 13, wherein the time period includes particular intervals of time.

### Claim 15 (depends on 8)

The method of claim 8, wherein the bit-size of the counter is based at least upon the event to bit ratio of an estimated number of times that the determined event log types occur in a lifetime of the system and an amount of storage space for each counter.

### Claim 16

A system, comprising:
a memory device; and
a processing device coupled to the memory device and configured to perform operations comprising:
receiving data indicative of a plurality of events;
determining respective event log types of the received plurality of events;
associating a respective identifier including a corresponding counter for each of event log types;
determining a best bit to event ratio to identify a size of the corresponding counter to be used for each of the event log types, wherein the best bit to event ratio is based at least upon a number of times that the corresponding event log types occurred in previous operations;
changing a size of the respective identifier including the size of the corresponding counter based at least upon the corresponding determined best bit to event ratio;
updating corresponding counter values to count a number of occurrence of associated event log type;
detecting an occurrence of a triggering event that includes a power down of the system;
in response to the detected occurrence of the triggering event, storing the updated counter values and corresponding associated event log data including the respective identifiers and the determined event log types to the memory device; and
generating histogram data comprising occurrences of each of the plurality of events and the event log types; and
wherein the size of each of the identifier is based on a parameter and the parameter is:
a quantity of the plurality of events; or
a size of a memory space for storing each of the identifiers and associated counters.
