# US 11,113,159 B2 · Log structure with compressed keys

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

- Number: US 11,113,159 B2
- Document ID: US11113159B2
- Status: Granted
- Kind: B2
- Application number: 16/616,905
- Filed: 2017-06-30
- Published: 2020-05-21
- Granted: 2021-09-07
- Earliest claimed: 2017-06-30
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Zhiyuan Zhang; Xiangbin Wu; Xinxin Zhang; Qianying Zhu; Haitao Ji; Yingzhe Shen
- Web page: https://patentgrep.com/patent/US11113159B2

## CPC

- G06F 11/1471: involving logging of persistent data for recovery
- G06F 11/1435: {using file system or storage system metadata}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1469: {Backup restoration techniques}
- G06F 12/16: Protection against loss of memory contents {(contains no material, see G06F11/00)}
- G06F 17/40: Data acquisition and logging (for input to computer G06F3/00)
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/14: using a plurality of keys or algorithms
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An embodiment of a memory apparatus may include a logger to log memory access data in persistent storage media, a log indexer communicatively coupled to the logger to index the memory access log data in an index table in a system memory, and a key compressor communicatively coupled to the log indexer to compress an index key for the index table. Other embodiments are disclosed and claimed.

## Claims

### Claim 1

An electronic processing system, comprising:
a processor;
a system memory communicatively coupled to the processor;
a solid state drive communicatively coupled to the processor;
a logger communicatively coupled to the processor and the solid state drive, the logger including logic to log memory access data in the solid state drive;
a log indexer communicatively coupled to the logger, the log indexer including logic to index the memory access log data in the system memory in an index table; and
a key compressor communicatively coupled to the log indexer, the key compressor including logic to:
compress an index key for the index table,
identify a conflict in two or more compressed index keys,
append the compressed index key to the index table when a check of metadata determines a full key match and when the check of metadata confirms authorization after the full key match, and
combine key-value pairs corresponding to the conflicted compressed index keys into a new entry when the check of metadata does not determine the full key match.

### Claim 2 (depends on 1)

The electronic processing system of claim 1, wherein the logger includes logic further to maintain the memory access log data in a circular log.

### Claim 3 (depends on 2)

The electronic processing system of claim 2, wherein the logger includes logic further to store metadata and value information for key-value pairs sequentially in a full disk log.

### Claim 4 (depends on 2)

The electronic processing system of claim 2, wherein the index table stored in the system memory comprises entries for all key-value pairs in the circular log.

### Claim 5 (depends on 1)

The electronic processing system of claim 1, wherein the compressed index key comprises a hash of a full key.

### Claim 6

A memory apparatus, comprising:
a logger including logic to log memory access data in persistent storage media;
a log indexer communicatively coupled to the logger, the log indexer including logic to index the memory access log data in an index table in a system memory; and
a key compressor communicatively coupled to the log indexer, the key compressor including logic to:
compress an index key for the index table,
identify a conflict in two or more compressed index keys,
append the compressed index key to the index table when a check of metadata determines a full key match and when the check of metadata confirms authorization after the full key match, and
combine key-value pairs corresponding to the conflicted compressed index keys into a new entry when the check of metadata does not determine the full key match.

### Claim 7 (depends on 6)

The memory apparatus of claim 6, wherein the logger includes logic further to maintain the memory access log data in a circular log.

### Claim 8 (depends on 7)

The memory apparatus of claim 7, wherein the logger includes logic further to store metadata and value information for key-value pairs sequentially in a full disk log.

### Claim 9 (depends on 7)

The memory apparatus of claim 7, wherein the index table comprises entries for all key-value pairs in the circular log in the system memory.

### Claim 10 (depends on 6)

The memory apparatus of claim 6, wherein the compressed index key comprises a hash of a full key.

### Claim 11

A method of logging memory information, comprising:
logging memory access data in persistent storage media;
indexing the memory access log data in an index table in a system memory;
compressing an index key for the index table;
identifying a conflict in two or more compressed index keys;
appending the compressed index key to the index table when a check of metadata determines a full key match and when the check of metadata confirms authorization after the full key match; and
combining key-value pairs corresponding to the conflicted compressed index keys into a new entry when the check of metadata does not determine the full key match.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
maintaining the memory access log data in a circular log.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
storing metadata and value information for key-value pairs sequentially in a full disk log.

### Claim 14 (depends on 12)

The method of claim 12, further comprising:
storing index table entries for all key-value pairs from the circular log in the system memory.

### Claim 15 (depends on 11)

The method of claim 11, further comprising:
hashing a full key to provide the compressed index key.

### Claim 16

At least one non-transitory computer readable medium, comprising a set of instructions, which when executed by a computing device, cause the computing device to:
log memory access data in persistent storage media;
index the memory access log data in an index table in a system memory;
compress an index key for the index table;
identify a conflict in two or more compressed index keys;
append the compressed index key to the index table when a check of metadata determines a full key match and when the check of metadata confirms authorization after the full key match; and
combine key-value pairs corresponding to the conflicted compressed index keys into a new entry when the check of metadata does not determine the full key match.

### Claim 17 (depends on 16)

The at least one non-transitory computer readable medium of claim 16, comprising a further set of instructions, which when executed by a computing device, cause the computing device to:
maintain the memory access log data in a circular log.

### Claim 18 (depends on 17)

The at least one non-transitory computer readable medium of claim 17, comprising a further set of instructions, which when executed by a computing device, cause the computing device to:
store metadata and value information for key-value pairs sequentially in a full disk log.

### Claim 19 (depends on 17)

The at least one non-transitory computer readable medium of claim 17, comprising a further set of instructions, which when executed by a computing device, cause the computing device to:
store index table entries for all key-value pairs from the circular log in the system memory.

### Claim 20 (depends on 16)

The at least one non-transitory computer readable medium of claim 16, comprising a further set of instructions, which when executed by a computing device, cause the computing device to:
hash a full key to provide the compressed index key.
