[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to address more peripheral RAM than controller RAM?
Hi,
besides finding boards with enough memory you will have to consider another
effect:
- under NT4.0, buffers for DMA will be allocated form non paged pool in
kernel mode. The maximum non paged pool size under Nt4.0 is limited to
192MB.
I.e. you will have to divide the whole DMA in small junks and copy the data
to paged memory before continuing with the next DMA.
Regards,
Peter Marek
General Director
MarekMicro GmbH
tel.: 049-9621-9732-110
fax: 049-9621-9732-199
www.marekmicro.de
----- Original Message -----
From: "Steven Kan" <steven@kan.org>
To: "PCI Reflector" <pci-sig@znyx.com>
Sent: Friday, February 22, 2002 8:27 PM
Subject: How to address more peripheral RAM than controller RAM?
> We are developing CompactPCI data acquisition cards with large on-board
> memories. The way things are set up right now, the entire on-board
> memory is directly addressable by the controller, which means that our
> system controller has to have more RAM than all the peripheral boards
> combined (to leave room for silly things like an OS :))
>
> We don't have to read the memories in real-time. We capture from the
> outside world to the on-board memory on each card, and then DMA from
> there to the host RAM once the acquisition has completed.
>
> We are running out of room this way, as we are trying to build systems
> with 4 or 8 cards, each with 512 MB on-board, and we can't find
> controllers with 4 and 8 GB of RAM.
>
> What are the other options for doing this? Is there any way to use
> virtual memory? The OS is NT4, but all the address space assignment
> happens before the OS loads, right?
>
> Thanks!