IP Library Granted Patent US 9,250,913
Granted Patent B2
US 9,250,913 · App. 13/524,139 · Granted Feb 2, 2016

Collision-based alternate hashing

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,250,913
App. No.
13/524,139
Granted
Feb 2, 2016
Kind
B2
Abstract

Embodiments relate to collision-based alternate hashing. An aspect includes receiving an incoming instruction address. Another aspect includes determining whether an entry for the incoming instruction address exists in a history table based on a hash of the incoming instruction address. Another aspect includes based on determining that the entry for the incoming instruction address exists in the history table, determining whether the incoming instruction address matches an address tag in the determined entry. Another aspect includes based on determining that the incoming instruction address does not match the address tag in the determined entry, determining whether a collision exists for the incoming instruction address. Another aspect includes based on determining that the collision exists for the incoming instruction address, activating alternate hashing for the incoming instruction address using an alternate hash buffer.

Claims (33)

1. A computer system for collision-based alternate hashing, the system comprising:

a processor, the processor comprising a prefetch logic, a history table, and an alternate hash buffer, the system configured to perform a method comprising:

receiving, by the prefetch logic, an incoming instruction address;

determining whether an entry for the incoming instruction address exists in the history table based on a hash of the incoming instruction address;

based on determining that the entry for the incoming instruction address exists in the history table, determining whether the incoming instruction address matches an address tag in the determined entry;

based on determining that the incoming instruction address does not match the address tag in the determined entry, determining whether a collision exists for the incoming instruction address, wherein determining whether the collision exists for the incoming instruction address comprises:

decrementing a liveness counter in the determined entry;

incrementing a conflict counter associated with the determined entry;

determining whether the liveness counter is greater than a liveness threshold, and whether the conflict counter is greater than a conflict threshold; and

based on determining that the liveness counter is greater than the liveness threshold and that the conflict counter is greater than the conflict threshold, determining that the collision exists for the incoming instruction address; and

based on determining that the collision exists for the incoming instruction address, activating alternate hashing for the incoming instruction address using the alternate hash buffer.

2. The computer system of claim 1 , further comprising, based on the liveness counter being less than the liveness threshold, replacing the determined entry with a new history table entry for the incoming instruction address.

3. A computer implemented method for collision-based alternate hashing, the method comprising:

receiving, by prefetch logic in a processor of the computer, an incoming instruction address;

determining whether an entry for the incoming instruction address exists in a history table based on a hash of the incoming instruction address;

based on determining that the entry for the incoming instruction address exists in the history table, determining whether the incoming instruction address matches an address tag in the determined entry;

based on determining that the incoming instruction address does not match the address tag in the determined entry, determining whether a collision exists for the incoming instruction address, wherein determining whether the collision exists for the incoming instruction address comprises:

decrementing a liveness counter in the determined entry;

incrementing a conflict counter associated with the determined entry;

determining whether the liveness counter is greater than a liveness threshold, and whether the conflict counter is greater than a conflict threshold; and

based on determining that the liveness counter is greater than the liveness threshold and that the conflict counter is greater than the conflict threshold, determining that the collision exists for the incoming instruction address; and

based on determining that the collision exists for the incoming instruction address, activating alternate hashing for the incoming instruction address using an alternate hash buffer.

4. A computer program product for implementing a collision-based alternate hashing, the computer program product comprising:

a non-transitory tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

receiving, by prefetch logic in a processor of a computer, an incoming instruction address;

determining whether an entry for the incoming instruction address exists in a history table based on a hash of the incoming instruction address;

based on determining that the entry for the incoming instruction address exists in the history table, determining whether the incoming instruction address matches an address tag in the determined entry;

based on determining that the incoming instruction address does not match the address tag in the determined entry, determining whether a collision exists for the incoming instruction address, wherein determining whether the collision exists for the incoming instruction address comprises:

decrementing a liveness counter in the determined entry;

incrementing a conflict counter associated with the determined entry;

determining whether the liveness counter is greater than a liveness threshold, and whether the conflict counter is greater than a conflict threshold; and

based on determining that the liveness counter is greater than the liveness threshold and that the conflict counter is greater than the conflict threshold, determining that the collision exists for the incoming instruction address; and

based on determining that the collision exists for the incoming instruction address, activating alternate hashing for the incoming instruction address using an alternate hash buffer.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2024
From: DAEDALUS BLUE LLC
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LIMITED
Reel/Frame 066749/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: DAEDALUS GROUP, LLC
To: DAEDALUS BLUE LLC
Reel/Frame 051737/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP, LLC
Reel/Frame 051710/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP LLC
Reel/Frame 051032/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2012
From: ALEXANDER, KHARY J.; AVERBOUCH, ILIA; BIRNBAUM, ARIEL J.; HSIEH, JONATHAN T.; SHUM, CHUNG-LUNG K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028382/0869 →