>>19
Modern GPUs have generic video memory (VRAM) and shared memory (GART). There are normally two buffers per output controller (crtc in linux-speak), the front left and back left buffers, marked as being used for scanout. For each window (in modern systems anyway) there's another set of front left/back left buffers.
In the case of windows, the buffer is flipped when the backbuffer is ready to be displayed. This is normally sync'd with the crtc refresh rate to avoid needless rendering.
In the case of scanout buffers, they're flipped when their respective crtcs are ready for another refresh.
The important thing to take away from this, is that these buffers are stored in memory in the exact same way that your average C program would store a large chunk - seemingly at random. Of course there are optimizations such as color tiling applied to the buffer layout, where the texture itself is stored in small chunks such that pixels that are physically close to each other are also close to each other in memory.
Asking where the "nVIDIA video buffer" is stored makes about as much sense as asking where the 3DS Max model buffer is stored. The answer in both cases is: wherever the hell the memory manager decided to place that buffer on that particular day.