i need to be able to update this memory storage device 1000 times per second via MCU in small 8 byte of data chunks trasnfers,
then Flash is the wrong kind of memory for you. Look up how Flash needs to be written. (hint: block erases make your 8 B transfers extremely undesirable)
Also, when you do that for a long time, I hope you make sure your firmware does wear leveling – SPI flash itself (usually) doesn't (SD cards have a built-in MCU that hides the raw memory from you and does error correction and wear leveling for you).
Should I go for the USB SD card reader - easily r/w from both MCU dev board and PC, or is it too slow for such small and fast transfers ?
The 1000 writes of 8 Bytes is 64 kbit/s. Your transfer rate isn't even remotely fast. It's just badly structured.
To solve the structure issue, you need aggregate data that needs to be written in your MCU RAM and write it in larger consecutive chunks (maybe you need to change your data structures to allow for that, I don't know what you're doing).
You need serious amounts of RAM, anyway, should you decide to implement a USB host, a USB storage device interface (and potentially a file system atop of that), so having enough RAM can't be the show-stopper here.
If you have enough RAM, you can aggregate the data in it.
Also, you can talk to SD cards via SPI, so if you should choose to use SD cards (which sounds wise, seeing that they take care of wear leveling, and are incredibly cheap per Megabyte, but then again, you never told us how much data you need to keep in total), you can completely forgo the complex USB stack and just use a SPI-MMC/SD card driver from your favourite RTOS (FreeRTOS certainly has something like that), if your MCU doesn't come with an MMC/SD interface itself (some higher-end MCUs do).