Circular buffer devices?

  • SpinRite v6.1 Release #3
    Guest:
    The 3rd release of SpinRite v6.1 is published and may be obtained by all SpinRite v6.0 owners at the SpinRite v6.1 Pre-Release page. (SpinRite will shortly be officially updated to v6.1 so this page will be renamed.) The primary new feature, and the reason for this release, was the discovery of memory problems in some systems that were affecting SpinRite's operation. So SpinRite now incorporates a built-in test of the system's memory. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

misiu_mp

New member
Nov 10, 2023
3
0
I can think of a controller that would keep first few GB of sectors addresses and the rest use as a circular buffer for incoming write requests. The stored data doesnt need to be contigous in the physical storage - the controller could store a mapping between the requested address and the actual allocated address, which is not much different from what SSDs already do if I understand things right. This way the partition and filesystem, as well as _last_ few GB of written data (independent of where it was written) will be seemingly preserved, but the rest will be continuously overwritten. I dont think validrive would be able to detect such devices, as it writes a small amount of data for speed, which the driver could very well allocate in such a circular buffer fashion. Only way to detect this would be to write and verify an amount of data that is more than the actual storage in the device. Comments?
 
You're 100% correct. What you have described would be called an "MRU" — Most Recently Used — drive, and this has been discussed extensively in GRC's newsgroups while ValiDrive was being created. It's very clear that the only way to be 100% certain of a drive's storage capacity would be to write cryptographically strong pseudo-random data to the drive's entire declared storage media, then re-read the entire drive, comparing what was read to what was written.

No one argues that. But no one has seen the theoretical drive that you have suggested. COULD it exist? Absolutely. DOES it exist? Not so far as anyone knows. And why would anyone create such a thing? The logic that the MRU drive would use would need to be designed from scratch since no existing silicon would do such a thing. Why would anyone go to that length? Instead, what we see out in the world is a tweak to existing flash memory controllers to simply mis-report the drive's size. Otherwise, they're just regular smaller drives.

ValiDrive was designed to detect the fraudulent drives we know exist, and to do so non-destructively and quickly. I've designed a solution that could perform the unspoofable drive validation without destroying the data that's there... but, again, so far no "thumb drive" has acted this way.
 
Ok, so such drive would most likely have to use one of the more advanced controllers, such as those in sata SSDs or NVMes. Maybe there is an opening for fake, Validrive-resistant SSDs, just waiting for proper economical conditions...
 
No. There is no “advanced controller” that allocates in a circular buffer fashion. Why would anyone ever design such a thing? Not only have we never seen such a thing, it would never make any sense for mass storage.

Understand that these are not advanced fraudsters. All they are doing is making a tiny configurable tweak to real controllers to say that there's far more memory than there really is. They are not design anything from the ground up.