MultiDrive – free backup, clone & wipe disk utility from Atola Technology

All times are UTC - 5 hours [ DST ]


Forum rules


Please do not post questions about data recovery cases here (use this forum instead). This forum is for topics on finding new ways to recover data. Accessing firmware, writing programs, reading bits off the platter, recovering data from dust...



Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: SCSI-ATA Translation Programming
PostPosted: April 25th, 2012, 4:37 
Offline

Joined: March 18th, 2012, 23:11
Posts: 16
Location: Malaysia
Hi,

I have code something for SATA drive run on SCSI standard.
I used ATA PASS-TROUGH(16) command for CDB format. The drive is 3TB.
I was used ATA command 'READ DMA EXT - 25h, with protocol DMA' and passing the ATA command into pass through CDB command.
When I run the test, it prompt the error.

Anybody have this experience before or anybody have other solution to read/write for HDD is greater than 3TB?
Anybody using the command READ DMA EXT (25h), WRITE DMA EXT (35h) in SCSI CDB command by using ATA Pass Through (16)?

Thanks for help.


Top
 Profile  
 
 Post subject: Re: SCSI-ATA Translation Programming
PostPosted: April 25th, 2012, 9:15 
Offline
User avatar

Joined: September 29th, 2005, 12:02
Posts: 3577
Location: Chicago
Not every controller supports ATA PASS-TROUGH in general and not every controller support ATA PASS-TROUGH(16)
If you want an answer - post the code where you filling the ATA PASS TROUGH structure

Also have you consider using ReadFile and WriteFile Windows API functions?

_________________
SAN, NAS, RAID, Server, and HDD Data Recovery.


Top
 Profile  
 
 Post subject: Re: SCSI-ATA Translation Programming
PostPosted: April 25th, 2012, 22:08 
Offline

Joined: March 18th, 2012, 23:11
Posts: 16
Location: Malaysia
Hi Doomer,

Thanks for reply.

We not using Window API, I running on Linux environment. We used sg3_utils-1.32 version as a communication between the HDD.
The PassThrough command can worked for other command which is low LBA like below 2TB. Those drive with > 3TB we wish to use Read DMA EXT, Write DMA EXT... for the read16/write16 cannot support on SATL(SCSI to ATA Translation Layer).
The code we already checked and correct, is follow T10 & T13 standard.

Now we suspect is the driver or the sg3_utils cannot support the command which > 3TB HDD. The new version for sg3_utils-1.33, I'm not yet try. See can get something different.

The error message we get from the log is 'Host keep resetting' if passsing the command READ DMA EXT thru ATA PASS Thru command.


Top
 Profile  
 
 Post subject: Re: SCSI-ATA Translation Programming
PostPosted: April 25th, 2012, 22:36 
Offline
User avatar

Joined: September 29th, 2005, 12:02
Posts: 3577
Location: Chicago
READ DMA EXT supposed to be used for drives bigger than 128GB, not 2TB
If you can read 2TB drives that means you already using READ DMA EXT and the problem is elsewhere

_________________
SAN, NAS, RAID, Server, and HDD Data Recovery.


Top
 Profile  
 
 Post subject: Re: SCSI-ATA Translation Programming
PostPosted: April 25th, 2012, 23:55 
Offline

Joined: March 18th, 2012, 23:11
Posts: 16
Location: Malaysia
We had tried, the command failed to read the capacity which lower LBA < 2TB
We stuck at here...
Our tester is using SAS card, in order to read/write SATA drive, we need to using ATA Pass-Through. There is no other method right?
mmm..... :(


Top
 Profile  
 
 Post subject: Re: SCSI-ATA Translation Programming
PostPosted: April 26th, 2012, 10:10 
Offline
User avatar

Joined: September 29th, 2005, 12:02
Posts: 3577
Location: Chicago
Are you positive that you can use SAT ATA PASS TROUGH(16) call with other commands to your controller?
Because not all of the controllers support it, some only support SAT ATA PASS TROUGH(12)
Also there are 3 different ways to prepare SAT call I don't know which one you using

_________________
SAN, NAS, RAID, Server, and HDD Data Recovery.


Top
 Profile  
 
 Post subject: Re: SCSI-ATA Translation Programming
PostPosted: April 26th, 2012, 10:15 
Offline
User avatar

Joined: September 29th, 2005, 12:02
Posts: 3577
Location: Chicago
ihddCloud wrote:
Our tester is using SAS card, in order to read/write SATA drive, we need to using ATA Pass-Through. There is no other method right?

If you need to read and write only, you can use SCSI Read and SCSI Write, these calls will be mapped by a controller automatically

_________________
SAN, NAS, RAID, Server, and HDD Data Recovery.


Top
 Profile  
 
 Post subject: Re: SCSI-ATA Translation Programming
PostPosted: April 26th, 2012, 23:54 
Offline

Joined: March 18th, 2012, 23:11
Posts: 16
Location: Malaysia
Yes, you are right. We can use the read16/write16 SCSI command to accesss ATA HDD, the SATL will auto map it.
We have tested out with the 3TB WD drive. I think maybe the drive itself cannot support. Need to find out other drive.
According to T10 document, the Read/Write can support on ATA thru SATL.
Will try to get some others OEM drive to test...

Thanks Doomer


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group