problems with Ultra DMA operations with ATA HDD

Jun 01, 2005 2 Replies

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



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

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required