IP Library Granted Patent US 7,392,367
Granted Patent B2
US 7,392,367 · App. 11/471,043 · Granted Jun 24, 2008

Command ordering among commands in multiple queues using hold-off vector generated from in-use vector and queue dependency scorecard

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 7,392,367
App. No.
11/471,043
Granted
Jun 24, 2008
Kind
B2
Abstract

A method, apparatus, system, and signal-bearing medium that in various embodiments determine whether to execute a command in a queue or whether to wait until another command or commands completed. The determination is based on a combination of an in-use vector and a scorecard vector. The in-use vector indicates which slots in various queues contain commands. The scorecard vector indicates the dependencies between various queues. In this way, the scorecard vector, and the thus the queue dependencies can be set and modified after the logic that processes the commands has been designed.

Claims (21)

1. A method comprising:

setting an indication in a plurality of in-use slots in an in-use vector, wherein the indication indicates that a plurality of queue-slots in a plurality of queues contain commands; and

setting a hold-off vector associated with a first queue-slot of the plurality of queue-slots based on a scorecard vector and the in-use vector, wherein the scorecard vector comprises a plurality of scorecard slots that each indicate whether dependencies exist between the plurality of queues, wherein the dependencies comprise whether the command associated with the scorecard slot needs to wait for execution of another of the commands in another of the plurality of queues,wherein the hold-off vector comprises a plurality of slots, and wherein each of the plurality of slots in the hold-off vector is associated with each queue-slot and indicates whether the associated respective queue-slot of the plurality of queue-slot contains a command that needs to execute prior to the command in the first queue-slot, wherein the setting further comprises performing an operation on the scorecard vector and the in-use vector.

2. The method of claim 1 , further comprising:

determining whether to execute the commands based on a combination of the in-use vector and the scorecard vector.

3. The method of claim 2 , wherein the determining further comprises:

performing a logical AND operation on the in-use vector and the scorecard vector.

4. The method of claim 3 , further comprising:

setting a result of the logical AND operation in a hold-off vector.

5. The method of claim 4 , further comprising:

executing the commands if the hold-off vector indicates the commands are free of a dependency with the plurality of queues.

6. The method of claim 5 , further comprising:

clearing the indication after the commands are executed.

7. The method of claim 4 , further comprising:

holding execution of the commands if the hold-off vector indicates the commands have at least one dependency with the plurality of queues.

8. The method of claim 1 , further comprising:

writing values into the scorecard vector.

9. The method of claim 1 , further comprising:

placing the commands into the plurality of command slots.

10. The method of claim 1 , wherein the plurality of queues further comprises:

an interrupt queue, a cache coherency queue, and a load response queue.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0615 →