I did it as Oliver for a couple of years, then I switched and now I have a handful of directories such as "Analog" "Sensor" "Processor" "Peripherals", of course with a lot of subdirectories - e.g. "Processor" goes to "4bit" "51" "PIC" "AVR" "8bit" "ARM" "MIPS" "Misc" etc.; then "51" splits to "Atmel" "Cypress" etc.

Both approaches have their + and -. Sometimes I found difficult to assign a chip to a "function group" (esp. with "mixed" function chips) - I am trying to solve it creating small "link" files pointing from directory to directory (I don't like to store the pdfs multiple times although that would be a less time-costly solution). In the "per manufacturer" approach, some of the manufacturers have a too wide products portfolio; and also after a certain time one would forget that "XXX" makes very nice yyy's too...

I say "chips" but then there are some bigger devices (e.g. "Modems"), there are appnotes sometimes with more informational value on a particular chip than the datasheet itself etc.etc.; so the "system" has to be flexible enough.

I have seen (participated in) an attempt to build a huge chips database, but that inevitably ends with very vague and practically unusable system. One has do it obviously himself to fit his own requirements.