problems with Ultra DMA operations with ATA HDD

Hi there!

I have the following problem. I develop FPGA IP core for ATA HDD. I have tested it on 40 GB 2.5" Fujitsu HDD. PIO and Ultra DMA operated fine. When I switched to Maxtor DiamondMax HDD (3.5" 60 and 200 GB) it was found out that after I perform Ultra DMA write operation (DMA Write) I get different results using PIO and Ultra DMA read:

- if I read sector using Ultra DMA commands (DMA Read), I get data which was written earlier using PIO write commands (Write Sector) not written by Ultra DMA write commands.

- if I read sector using PIO command (Read Sector), I get data which was written by Ultra DMA write command. The strange thing is that if I read the same sector again using PIO command, I get data which was written earlier using PIO write commands.

What can be the problem? I have tried to turn off cache and read-ahead options but it didn't help. Thanks in advance. Eug

Reply to
Eug
Loading thread data ...

I's hard to say what's wrong, you may try these:

1) Test it with different brands/sizes HDDs 2) If I remember corectly, you may need to use the WriteDMAExt. (48 bit addressing) 3) A Maxtor HDD spec. also help 4) It sounds like the address was truncated/ or wrapped around
Reply to
ccon67

hey, there. do you have the IP code for Ultra DMA with FPGA. I am doing the project for this implementation.. hope you would be kind to help. thank you.

XiaoXiao

-- Message posted using

formatting link
More information at
formatting link

Reply to
xiaoxiao008

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.