Los grandes servidores usan raid de discos y cluster de almacenamiento, esto permite al sistema operativo ver a miles de discos como uno solo, segun el tipo de raid la paridad de los datos y la redundancia se generara y distribuira de forma diferente. No es que cada usuario tenga un disco para si, de hecho, los datos de un usuario en realidad, estan distribuidos entre miles de discos, pero como te he dicho antes, esto lo administran los discos y el protocolo del raid y el sistema operativo te brinda una abstraccion, quizas en lenguajes compilados como C podrias llegar a programar tus propios driver pero nunca desde php.
Si lo que quieres es que un usuario solo pueda subir 100mb de archivos, es simple, cada usuario tendra una carpeta en el root, sus archivos se subiran a esa carpeta. antes de subir un archivo te fijas si tiene espacio, comparando el
size de su carpeta con el de su cuota maxima, si lo eccede, no podra subir nada