IP Library Granted Patent US 11,449,357
Granted Patent B2
US 11,449,357 · App. 16/681,471 · Granted Sep 20, 2022

Configurable integrated circuit to support new capability

Inventor: Jinliang Mao (Milpitas, CA)
Assignee: SK hynix Inc.
G06F9/468G06F9/3838G06F9/3851G06F12/0246G06F13/102G06F13/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,449,357
App. No.
16/681,471
Granted
Sep 20, 2022
Kind
B2
Abstract

Enabling an integrated circuit (IC) to accommodate a new peripheral component interconnect express (PCIe) capability of an updated PCIe specification. Firmware-programmable registers for the IC, spanning a target range of register and function numbers to accommodate the new capability, are created. A host issues configuration requests to the IC, which include a register and function number for the new capability. The IC returns a value of a target register when the register number and function number are in the target range. The host updates the value and triggers a firmware interrupt to add the new capability to a list of existing capabilities.

Claims (29)

1. A method for configuring an integrated circuit with a new capability, the method comprising:

creating a set of firmware-programmable registers for the integrated circuit, the set of registers spanning a target range of register numbers and function numbers to accommodate a new capability;

issuing configuration operation requests, by a host, to the integrated circuit, the configuration operation requests including a register number and function number for the new capability;

checking whether the register number and the function number are in the target range;

returning, by the integrated circuit to the host, a value of a target register of the set, when the register number and function number are in the target range;

updating the value by the host; and

triggering a firmware interrupt to add the new capability to a list of existing capabilities.

2. The method of claim 1 , wherein the set of registers includes multiple register types.

3. The method of claim 2 , wherein the multiple register types include read/write (RW), read-only (RO), read/write 1 to clear (RW1C) and reserved (RSVD).

4. The method of claim 1 , wherein the updating further includes setting permissions for the target register.

5. The method of claim 4 , wherein the permissions include read, write and reserved permissions.

6. A system for enabling a new capability for an endpoint core, the system comprising:

a firmware capability module that defines a register space for the new capability;

a root complex that configures write and read transactions with the endpoint core, including issuing a register number and a function number for the new capability;

the endpoint core being configured to check whether the register number and the function number are within the register space, and return to the root complex, a value of a target register within the register space;

the root complex being further configured to update the value, and trigger a firmware interrupt to add the new capability to a list of existing capabilities.

7. The system of claim 6 , wherein the root complex is a peripheral component interconnect express (PCIe) host, and the endpoint core is an application specific integrated circuit (ASIC).

8. The system of claim 6 , wherein the register space includes multiple register types.

9. The system of claim 8 , wherein the multiple register types include read/write (RW), read-only (RO), read/write 1 to clear (RW1C) and reserved (RSVD).

10. The system of claim 6 , wherein the update operation further includes setting read, write and reserved permissions for the target register.

11. A method for adding a new capability to a peripheral component interconnect express (PCIe) controller that presently implements a plurality of capabilities pointed to by respective host addresses, the last of the plurality of capabilities pointing to null, the method comprising:

reprogramming, with firmware, one of the plurality of capabilities to point to a new address within an address range defined by the host addresses;

programming, with the firmware, a newly defined register value associated with the new address in accordance with a specification of the new capability;

programming bits to define multiple conditions with the firmware;

programming a target function to correspond to a physical function with the firmware; and

enabling a configuration space for host access to perform a configure read and write operation and update the register value of the new capability.

12. The method of claim 11 , further comprising issuing an interrupt to the firmware.

13. The method of claim 12 , further comprising matching the new capability with the specification of the new capability.

14. The method of claim 11 , wherein the programming of bits to define multiple conditions comprises programming a first set of bits to define read only (RO), a second set of bits to define read/write (RW), a third set of bits to define write one to clear (RW1C), and a fourth set of bits to define reserved (RSVD).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2021
From: SK HYNIX MEMORY SOLUTIONS AMERICA INC.
To: SK HYNIX INC.
Reel/Frame 056883/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2019
From: MAO, JINLIANG
To: SK HYNIX MEMORY SOLUTIONS AMERICA INC.
Reel/Frame 050985/0827 →
Continuity (2)
Provisional Application 62760107 · Nov 13, 2018
Related Publication 20200151000A1 · May 14, 2020