-
Notifications
You must be signed in to change notification settings - Fork 59
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
Timing constraints for RFMab #44
Comments
Yes, your understanding is correct. The standard says that if RAAMMT is reached, no additional ACT commands are allowed. In order to ensure that the refresh management command can be issued as early as possible, we block all bank machines. The timing constraints are checked in the respective timing checker, not the refresh manager. |
What happens if one bank's RAA counter is equal to RAAMMT and the timing constraints of RFMab are not satisfied yet? Will the Refresh manager block all the banks and wait for timing constraints to be satisfied? I'm trying to understand what the standard means exactly. If RAAMMT is reached, are ACTs not allowed to that particular bank or all the banks? I would assume ACTs are blocked to only a particular bank and the refresh manager can choose a policy for issuing RFMab. The 2 possible policies being
|
It will block all banks and wait for timing constraints to be satisfied, yes. If you would allow ACT commands to be issued to other banks, the RFMab would be delayed because it can only be issued if all banks are precharged just like a REFab command. So your second policy does not make much sense. |
Understood. I was just trying to figure out if the ACTs can be launched to other banks. Thank you very much. |
Hi, I am trying to understand the timing constraints for the RFM command. I was hoping to get some help.
Based on my understanding, this code does not check for timing constraints for RFMab, but it blocks ALL the banks if the RAA Counter of even ONE of the banks is greater than RAAMMT.
Question: Is my understanding of the code correct?
DRAMSys/src/libdramsys/DRAMSys/controller/refresh/RefreshManagerAllBank.cpp
Line 142 in caf5845
The text was updated successfully, but these errors were encountered: