# US 11,907,535 B2 · Storage device optimizations in proof of space blockchain systems

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

- Number: US 11,907,535 B2
- Document ID: US11907535B2
- Status: Granted
- Kind: B2
- Application number: 17/584,020
- Filed: 2022-01-25
- Published: 2023-08-17
- Granted: 2024-02-20
- Earliest claimed: 2022-01-25
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Ran Zamir; David Avraham; Alexander Bazarsky
- Web page: https://patentgrep.com/patent/US11907535B2

## CPC

- G06F 3/0608: {Saving storage space on storage systems}
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0658: {Controller construction arrangements}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0683: {Plurality of storage devices}
- G06F 11/108: {Parity data distribution in semiconductor storages, e.g. in SSD}
- G06F 13/12: using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F 13/1668: {Details of memory controller}
- G06F 21/645: {using a third party}
- G11C 29/028: {with adaption or trimming of parameters}
- G11C 29/42: using error correcting codes [ECC] or parity check
- G11C 29/52: Protection of memory contents; Detection of errors in memory contents
- H03M 13/13: Linear codes
- H03M 13/611: {Specific encoding aspects, e.g. encoding by means of decoding}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G11C 2029/0411: {Online error correction}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Storage devices are configured to be utilized in a variety of blockchain related activities that rely on a proof of space consensus model. These storage devices are required to process a lot of read and write cycles on their memory devices to generate the desired proof of space consensus data. The generation and storing of this generated data requires very different types of memory device usage. Storage devices may be configured to optimize these different usage types upon detecting these proof of space blockchain activities. These optimizations can include suspending one or more background or other garbage collection activities. Additional optimizations can further include configuring partitions or namespaces to comprise single-level-cell majority or single-level-cell only memory devices to increase writing speeds. Further optimizations can include interleaving or extending the length of error correction codes. These optimizations, while not suitable for general use, are suitable for proof of space blockchain activities.

## Claims

### Claim 1

A device comprising:
a processor;
a memory array comprising:
a plurality of memory devices;
wherein the plurality of memory devices is configurable into one or more namespaces; and
a proof of space optimization logic configured to:
monitor a device status to determine whether one or more proof of space blockchain activities has been detected;
determine that at least a portion of the memory devices are being utilized for one or more proof of space blockchain activities;
in response to proof of space blockchain activity not being detected, continuing to monitor one or more subsequent status or receive commands;
suspend one or more background operations for the portion of memory devices being utilized for the one or more proof of space blockchain activities; and
reinstate, upon a determination that the proof of space blockchain activities have ended, the one or more background operations for the portion of memory devices utilized.

### Claim 2 (depends on 1)

The device of claim 1, wherein the at least a portion of the memory devices are configured within a namespace.

### Claim 3 (depends on 2)

The device of claim 2, wherein the determination that at least a portion of the memory devices are being utilized for one or more proof of space blockchain activities is based on analyzing namespace identification data.

### Claim 4 (depends on 3)

The device of claim 3, wherein the determination that at least a portion of the memory devices are being utilized for one or more proof of space blockchain activities is in response to namespace identification data matching namespace identification data previously associated with proof of space blockchain activities.

### Claim 5 (depends on 1)

The device of claim 1, wherein the determination that at least a portion of the memory devices are being utilized for one or more proof of space blockchain activities is based on receiving a vendor specific command.

### Claim 6 (depends on 1)

The device of claim 1, wherein the determination that at least a portion of the memory devices are being utilized for one or more proof of space blockchain activities is based on analyzing received host commands.

### Claim 7 (depends on 6)

The device of claim 6, wherein analysis of the received host commands includes comparing memory device read and write activities with known proof of space blockchain activity patterns.

### Claim 8 (depends on 1)

The device of claim 1, wherein the one or more background operations includes read scrubs.

### Claim 9 (depends on 1)

The device of claim 1, wherein the one or more background operations includes updating time tags.

### Claim 10 (depends on 1)

The device of claim 1, wherein the one or more background operations includes garbage collection.
