# US 12,602,173 B2 · Serial presence detect logging

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

- Number: US 12,602,173 B2
- Document ID: US12602173B2
- Status: Granted
- Kind: B2
- Application number: 18/775,507
- Filed: 2024-07-17
- Published: 2025-01-02
- Granted: 2026-04-14
- Earliest claimed: 2021-07-15
- Assignees: Rambus Inc.
- Applicants: Rambus Inc.
- Inventors: Aws Shallal; Chen Chen
- Web page: https://patentgrep.com/patent/US12602173B2

## CPC

- G06F 3/0622: {in relation to access}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0637: {Permissions}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0683: {Plurality of storage devices}
- G06F 21/79: in semiconductor storage media, e.g. directly-addressable memories
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A serial presence detect (SPD) device includes a region of nonvolatile memory for SPD data and an additional region for other (e.g., vendor) use. The additional region may be subdivided into write protect regions that can be individually and independently write protected. To configure the write protection, a password key scheme is used to enter a mode whereby the write protection attributes may be configured. Another password key scheme is used to exit the write protection configuration mode.

## Claims

### Claim 1

A controller, comprising:
a serial presence detect device interface to communicate commands and data to a serial presence detect device;
the controller to access, via the serial presence detect device interface, a first plurality of nonvolatile memory locations storing serial presence detect information according to a serial presence detect standard;
the controller to access, via the serial presence detect device interface, a second plurality of nonvolatile memory locations subject to configurable write access protection enforced by the serial presence detect device; and
the controller to configure the serial presence detect device to change the write access protection to be not configurable by transmitting, to the serial presence detect device and via the serial presence detect device interface, a first write command to write a first value stored in a password register of the serial presence detect device and by transmitting, in succession to the first write command, a second write command to write a second value that is not stored in the password register.

### Claim 2 (depends on 1)

The controller of claim 1, wherein the controller is to further configure the serial presence detect device to change the write access protection to be configurable by transmitting, to the serial presence detect device and via the serial presence detect device interface, two successive write commands to write the first value stored in the password register.

### Claim 3 (depends on 1)

The controller of claim 1, wherein the second plurality of nonvolatile memory locations is divided into a plurality of groups of memory locations and whether each group of the plurality of groups of memory locations is subject to write access protection is independently configurable by the controller.

### Claim 4 (depends on 3)

The controller of claim 3, wherein each group of the plurality of groups of memory locations comprises 256 memory locations.

### Claim 5 (depends on 4)

The controller of claim 4, wherein there are three groups of memory locations in the plurality of groups of memory locations.

### Claim 6 (depends on 1)

The controller of claim 1, wherein the controller is to configure the first value.

### Claim 7 (depends on 1)

The controller of claim 1, wherein the controller is to configure the second value.

### Claim 8

A controller, comprising:
a first interface to communicate commands and addresses with a plurality of volatile memory devices disposed on a module;
a second interface to communicate data with the plurality of volatile memory devices disposed on the module;
a serial presence detect device interface to communicate with a serial presence detect device, the serial presence detect device comprising:
a password register;
a first plurality of nonvolatile memory locations to store serial presence detect information about the plurality of volatile memory devices disposed on the module; and
a second plurality of nonvolatile memory locations to store first data, the second plurality of nonvolatile memory locations subject to write access protection; and
the controller to configure the write access protection to be not configurable by transmitting, to the serial presence detect device via the serial presence detect device interface, a first write command to write a first value stored in the password register and by transmitting, in succession to the first write command, to the serial presence detect device, and via the serial presence detect device interface, a second write command to write a second value that is not stored in the password register.

### Claim 9 (depends on 8)

The controller of claim 8, wherein the first plurality of nonvolatile memory locations are to store serial presence detect information according to a serial presence detect standard.

### Claim 10 (depends on 8)

The controller of claim 8, wherein the controller is to configure the write access protection to be configurable by transmitting, to the serial presence detect device via the serial presence detect device interface, two successive write commands to write the first value stored in the password register.

### Claim 11 (depends on 8)

The controller of claim 8, wherein the second plurality of nonvolatile memory locations is divided into a plurality of groups of memory locations and whether each group of the plurality of groups of memory locations is subject to write access protection is independently configurable by the controller.

### Claim 12 (depends on 11)

The module of claim 11, wherein each group of the plurality of groups of memory locations comprises 256 memory locations.

### Claim 13 (depends on 12)

The module of claim 12, wherein there are three groups of memory locations in the plurality of groups of memory locations.

### Claim 14 (depends on 10)

The module of claim 10, wherein the controller is to configure the first value.

### Claim 15 (depends on 14)

The module of claim 14, wherein the controller is to configure the second value.

### Claim 16

A method, comprising:
accessing, by a controller, serial presence detect information stored in a first plurality of nonvolatile memory locations of a serial presence detect device;
accessing, by the controller and subject to write access protection enforced by the serial presence detect device, a second plurality of nonvolatile memory locations that store first data; and
writing, by the controller and to the serial presence detect device, a first value stored in a password register of the serial presence detect device and in succession to writing the first value, writing, by the controller and to the serial presence detect device, a second value that is not stored in the password register of the serial presence detect device to cause the serial presence detect device to change the write access protection of the second plurality of nonvolatile memory locations to become not configurable.

### Claim 17 (depends on 16)

The method of claim 16, wherein serial presence detect information in the first plurality of nonvolatile memory locations of the serial presence detect device is stored according to a serial presence detect standard.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
successively writing two times, by the controller and to the serial presence detect device, the first value that is stored by the password register to configure the write access protection of the second plurality of nonvolatile memory locations.

### Claim 19 (depends on 18)

The method of claim 18, wherein the second plurality of nonvolatile memory locations is divided into a plurality of groups of memory locations, the method further comprising:
independently of the other of the plurality of groups of memory locations, configuring, by the controller, the write access protection of a first group of the plurality of groups of memory locations.

### Claim 20 (depends on 19)

The method of claim 19, wherein each group of the plurality of groups of memory locations comprises 256 memory locations and there are three groups of memory locations in the plurality of groups of memory locations.
