IP Library Granted Patent US 9,977,737
Granted Patent B2
US 9,977,737 · App. 14/140,494 · Granted May 22, 2018

Method and an apparatus for memory address allignment

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 9,977,737
App. No.
14/140,494
Granted
May 22, 2018
Kind
B2
Abstract

A method and a system embodying the method for a memory address alignment, comprising configuring one or more naturally aligned buffer structure(s); providing a return address pointer in a buffer of one of the one or more naturally aligned buffer structure(s); determining a configuration of the one of the one or more naturally aligned buffer structure(s); applying a modulo arithmetic to the return address and at least one parameter of the determined configuration; and providing a stacked address pointer determined in accordance with the applied modulo arithmetic, is disclosed.

Claims (41)

1. A method for a memory address alignment comprising:

configuring one or more structure(s) of naturally aligned plurality of buffers;

providing a return address pointer in a buffer of one of the one or more structure(s) of naturally aligned plurality of buffers;

determining a configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers;

calculating a remainder as the pointer of the return address modulo the parameter specifying a buffer size;

subtracting the calculated remainder from the return address pointer to yield a naturally aligned base address; and

providing a stacked address pointer determined in accordance with the applied modulo arithmetic.

2. The method as claimed in claim 1 , wherein the configuring one or more structure(s) of naturally aligned plurality of buffers comprises:

initializing for each of the one or more structure(s) of naturally aligned plurality of buffers one or more configuration register(s), wherein one of the one or more configuration registers specifies a size of a buffer; and

configuring one or more structure(s) of naturally aligned plurality of buffers in accordance with the specified size.

3. The method as claimed in claim 2 , wherein the initializing further comprises:

initializing an additional one of the one or more configuration registers specifying a buffer offset; and

the configuring comprises configuring one or more structure(s) of naturally aligned plurality of buffers in accordance with the specified size and the specified buffer offset.

4. The method as claimed in claim 1 , wherein the determining a configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers comprises:

determining a configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers in accordance with the provided return address pointer.

5. The method as claimed in claim 1 , wherein the determining a configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers comprises:

determining a configuration of the one of the one or more naturally aligned buffer structure by providing an identifier of the one of the one or more structure(s) of naturally aligned plurality of buffers.

6. The method as claimed in claim wherein the providing a stacked address pointer determined in accordance with the applied modulo arithmetic comprises:

providing a return address pointer to a naturally aligned base address when no buffer offset is specified in the determined configuration.

7. The method as claimed in claim 1 , wherein the providing a stacked address pointer determined in accordance with the applied modulo arithmetic comprises:

providing a sum of a naturally aligned base address and a buffer offset specified in the determined configuration.

8. An apparatus for memory address alignment, comprising:

one or more structure(s) of naturally aligned plurality of buffers;

a returning entity configured to provide a return address pointer in a buffer of the one or more structure(s) of naturally aligned plurality of buffers; and

a hardware or software entity configured to:

determine a configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers;

calculate a reminder of the pointer of the return address modulo the parameter specifying a buffer size;

to subtract the calculated modulo from the return address pointer to yield a naturally aligned base address; and

provide a stacked address pointer determined in accordance with the applied modulo arithmetic.

9. The apparatus as claimed in claim 8 , wherein each of the one or more structure(s) of naturally aligned plurality of buffers comprises:

a plurality of buffers having a specified size.

10. The apparatus as claimed in claim 9 , wherein the specified size is different for each buffer in the plurality of buffers.

11. The apparatus as claimed in claim 8 , wherein each buffer in at least one of the plurality of buffers comprises a specified buffer offset.

12. The apparatus as claimed in claim 8 , wherein the hardware or software entity determines the configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers in accordance with the provided return address pointer.

13. The apparatus as claimed in claim 8 , wherein the hardware or software entity determines the configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers by being configured to:

receive from the returning entity an identifier of the one of the one or more structure(s) of naturally aligned plurality of buffers; and

to determine the configuration of the one of the one or more structure(s) of naturally aligned plurality of buffers in accordance with the received identifier.

14. The apparatus as claimed in claim 8 , wherein the hardware or software entity provides the stacked address pointer determined in accordance with the applied modulo arithmetic by being configured to:

provide a return address pointer to the naturally aligned base address when no buffer offset is specified in the determined configuration.

15. The apparatus as claimed in claim 8 , wherein the hardware or software entity provides the stacked address pointer determined in accordance with the applied modulo arithmetic by being configured to:

provide a sum of the naturally aligned base address and a buffer offset specified in the determined configuration.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Dec 12, 2019
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 051260/0567 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 25, 2013
From: SNYDER II, WILSON PARKHURST; KUJTKOWSKI, ANNA KAREN
To: CAVIUM, INC.
Reel/Frame 031846/0795 →