Integrate Sprandom in to FIO #1935
Replies: 7 comments 10 replies
|
Thanks for initiating this discussion here. Happy to discuss the implementation. When you are ready to share patches we can move the discussion to a pull request. |
|
@steven-sprouse-sndk For the sake of argument, I will put forth the following estimates depending on the OP estimate style we want to select. What do you recommend for useful defaults of the OP and the segments? |
|
@steven-sprouse-sndk I have been doing some tests on a small device with sprandom and am hoping for some feedback from you. I ran the following jobs (full seq write followed by rand write) for traditional preconditioning: The first job ran for 1832s and the device required an additional 2000s to reach steady state. The plot below shows bandwidth for the random write job. I then formatted the device and ran the following jobs (sprandom followed by same rand write job as above) to try out sprandom: The sprandom job ran for 2240s and the random write job ran for about 1500s before attaining steady state for a total of 3740s or only a couple minutes faster than the amount of time traditional preconditioning required. The plot below shows bandwidth for the random write job. Do you have any thoughts about how to tweak the sprandom job to make it more effective? |
|
@steven-sprouse-sndk I have some questions Q2: I have conducted some FIO SPrandom experiments, where the address offsets recorded in write_iolog significantly deviated from the expected values, I set the size to 5G and the maximum address recorded by parameter write_iolog is less than 1G. Thanks for your reply |
|
@steven-sprouse-sndk Hello, I am using the sprandom feature to accelerate a drive into its steady state, followed by a 2-hour random write test. The drive has a 6.7% Over-Provisioning (OP) and a capacity of 61.44TB. However, the results I'm getting are significantly higher than the official specification of 45K IOPS. --sprandom=1 --spr_op=0.05 --spr_num_regions=100 |
|
Hello @vincentkfu, I am evaluating Sprandom in fio (v3.41) as part of an SSD validation effort and wanted to ask for your guidance regarding the compute_gc_validity check and the assert(waf > 1.0) condition. I have tested Sprandom on multiple enterprise SSDs with the recommended configuration parameters, including: Samsung enterprise SSDs (8 TB and 16 TB) In all cases, Sprandom aborts very early with: What I am observing on these drives appears to be firmware behavior that aggressively defers garbage collection (large hidden OP, write buffering, endurance optimization), so the predicted WAF remains ≤ 1.0 during the Sprandom validation phase. I wanted to confirm a few points with you: I am mainly trying to understand the intended scope of applicability and ensure I am using the right methodology for these classes of devices. |








Uh oh!
There was an error while loading. Please reload this page.
As SSD capacities increase to 64TB, 128TB and beyond the time to randomly precondition these SSDs is increasing from hours to sometimes day. At an OCP Storage Tech Talk in May '25 we presented Sprandom (SanDisk Pseudo-Random) preconditioning method to accelerate the random preconditioning.
We propose to integrate the Sprandom method in to FIO and are looking to work with the FIO developers to help us accelerate this development. @vincentkfu
All reactions