Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hardware Memory Test Optimization and Batch Error Reporting #184

Open
biecho opened this issue Aug 15, 2024 · 1 comment
Open

Hardware Memory Test Optimization and Batch Error Reporting #184

biecho opened this issue Aug 15, 2024 · 1 comment

Comments

@biecho
Copy link

biecho commented Aug 15, 2024

Description:
I have a couple of questions regarding potential optimizations in the way memory is checked against bitflips.

  1. Is there a way in the hardware memory test module (which currently reports BistErrors with offset, expected, etc.) to check only if an error occurred in a row, without the extra details?

  2. Is it possible to implement a command that, given a list of row indices, can report whether an error occurred for each row (0 or 1) in one batch via EtherBridge?

Additional Context:

We would like to check for a list of rows as efficient as possible if an error occurred or not for each row. It would be awesome if this can be done within 50-100ms.

@tmichalak
Copy link
Member

tmichalak commented Aug 19, 2024

@biecho If I understand you correctly, you are looking for a procedure that scans the memory and checks if a bitflip occurred in a specific row. The Rowhammer platform doesn't support such a feature at the moment.
In order to achieve this functionality, the Reader module would need to be modified. It would need a new register to hold the row address of interest and be able to calculate the row address from the memory address used to access data in the memory. During data compare the Reader would need to check both data for bitflips and address for selected row, compare the row address with the value stored in the newly added register and store the result in a register called, e.g. detected_bitflips.

As for testing multiple rows in a single run, this could be built upon previous changes by replacing the row address register with a HW FIFO that would be populated with row indices through EtherBone. The result register would also have to be a HW FIFO.

Eventually, we would need to be able to switch between the full error description and row error mode and for that the existing result FIFO will need to be modified as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants