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

Invalid bank state error in LPDDR5 #66

Open
tommarin opened this issue Oct 11, 2024 · 0 comments
Open

Invalid bank state error in LPDDR5 #66

tommarin opened this issue Oct 11, 2024 · 0 comments

Comments

@tommarin
Copy link

tommarin commented Oct 11, 2024

Setup

Frontend:
  impl: SimpleO3
  clock_ratio: 8
  num_expected_insts: 500000
  traces:
    - ../ramulator/cputraces/429.mcf

  Translation:
    impl: RandomTranslation
    max_addr: 2147483648

MemorySystem:
  impl: GenericDRAM
  clock_ratio: 3

  DRAM:
    impl: LPDDR5
    org:
      preset: LPDDR5_4Gb_x16
    timing:
      preset: LPDDR5_6400

  Controller:
    impl: Generic
    Scheduler:
      impl: FRFCFS
    RefreshManager:
      impl: AllBank
    RowPolicy:
      impl: OpenRowPolicy
      cap: 4
    plugins:

  AddrMapper:
    impl: RoBaRaCoCh

Issue description

Simulation fails with this error:

[error] [RowHit::Bank] Invalid bank state for an RD/WR command!

tommarin added a commit to tommarin/ramulator2 that referenced this issue Oct 11, 2024
The use of the RowOpen/RowHit lambdas to detect the
bank state during a RD/WR operation does not consider
the Pre-Opened state, specific to LPDDR5. This results
in assuming the default case, which provokes an execution
error.
This commit fixes this behavior by using custom lambdas
for LPDDR5, to include the additional state.

A similar fix was provided by the PSAL-POSTECH group in
https://github.com/PSAL-POSTECH/ramulator2, commit
bb1d54f.

Fixes issue CMU-SAFARI#66.
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

1 participant