Switch to full style
Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
Post a reply

Writing to specific physical HHD locations

December 3rd, 2021, 1:00

Hi all,

I would like to write specific, non-repeating, patterns of data to specific physical locations of the hard drive, filling the whole platter.

What would be the easiest way to do this? software suggestions?

There is no requirement to keep data, or for the drive to be usable after writing.

Assume a modern SMR Drive is the target.

Cheers

Re: Writing to specific physical HHD locations

December 8th, 2021, 23:49

My first thought about doing this was there must be some software already out there which does this as filling the disk seems very akin to low level formatting?

A follow up idea was to use some of the SpriteMods hacks and going in via the JTAG interface. However this seemed over complicated and slow, especially as I needed to fill the whole platter?

My current thoughts are around maybe hacking a .img file and replacing the data blocks in the .img file with my desired data, then reimaging a disk. Has anyone done this before?

Cheers

Re: Writing to specific physical HHD locations

December 9th, 2021, 2:47

I seem to recall that there is a free tool which writes the LBA number to each LBA. Is that what you are looking for?

Re: Writing to specific physical HHD locations

December 9th, 2021, 9:17

Something like this :
https://forum.hddguru.com/viewtopic.php?f=1&t=41705

Re: Writing to specific physical HHD locations

December 9th, 2021, 10:32

Quenda wrote:Hi all,

I would like to write specific, non-repeating, patterns of data to specific physical locations of the hard drive, filling the whole platter.

What would be the easiest way to do this? software suggestions?

There is no requirement to keep data, or for the drive to be usable after writing.

Assume a modern SMR Drive is the target.

Cheers

if you want to write to physical sectors in contrast with logical sectors aka LBAs then it is all vendor dependent(there is no available software for this) and you won't be able to write to the whole platter, because some areas are not meant to be written in.
If you are talking about LBAs then there are plenty of tools for that, you can use Linux's dd for example.

Re: Writing to specific physical HHD locations

December 9th, 2021, 14:42

This is the tool I was thinking of:

http://www.flash-extractor.com/downloads/Pattern_Writer_v7.rar

https://forum.hddguru.com/viewtopic.php?f=10&t=31308

Re: Writing to specific physical HHD locations

December 10th, 2021, 22:49

Thanks for the feedback guys

@Doomer I definitely want the physical space rather than the LBA. I get that the decoding of LBA to physical address translation is often handled by a separate MCU on the control board.
I would be ok with just filling the data section while keeping the servo track sync mark and ECC etc. but yeah over-writing anything non essential to the task of filling as much of the platter as possible
Any suggestions for what might be expendable would be good. Once again the scenario is write once, an ability to do one validation read would be good but not essential.

@fzabkar thanks for the suggestion on writing LBA numbers to LBA, This is going in the right direction but I believe does not solve the problem of LBA to physical mapping?
However might be helpful for validating a map of physical to LBA if one could also get into the MCU that controls translation.

I know if would be helpful if I could suggest the target drive, but I have not made up my mind which one to buy yet. I want to figure out if the process is possible before parting with cash.

The focus is on high density, SMR drives with as large a sector as possible. Open to suggestions for more easily reversed engineered makes/models.

Re: Writing to specific physical HHD locations

December 10th, 2021, 23:19

The translation is only visible to tools which can access the relevant firmware modules. This requires Vendor Specific Commands which are not publicly documented.
Post a reply