System hangs up on Hard Disk read/writes

From: HASH (anonymous_at_discussions.microsoft.com)
Date: 04/29/04


Date: Thu, 29 Apr 2004 14:01:08 -0700

Hi! I posted it some months ago - now repost it.

Problem - WriteFile/ReadFile functions hangs up with buffers more then ~1K (~1000 bytes) when working with HDD. Platform is Geode. When I encounter this problem, other WinCE programs, like Media Player also completely hangs up the system when reading audio files - HDD LED stays lightening continiously... system is dead.
  With CF-HDD all goes fine. But ordinal 40Gb HDD sometime work normal, sometime hangs up. For example:

char* buffer = new char[1000];

WriteFile(f, buffer, 700, &Written, 0); - ALL GOES FINE

WriteFile(f, buffer, 1000, &Written, 0); - Hang up in this call

I thought, it can be stack problems, but i use dynamic memeory (new or VirtualAlloc - the same result)
Please help - ANY ideas?!? I checked 3 HDD's and 3 different Geode PC's, many OS configurations - helps not. But is seems,
that small disks under FAT16 always fork fine, but FAT32 SOMETIMES works too! Unpredictable error.
Anyone faced this or near this problem?
:-(

Thanks......!