RAID, RAM and Cache

  • Hi,


    I am not an expert on this, but I have been investigating and I have several doubts.


    I have a question regarding the use of RAM as a cache of RAID controllers. I
    have read that you can use some of the RAM as a disk cache and I was
    wondering if at least a RAID controller built into the motherboard could
    use part of the RAM with cache. And even if it could also be used as a cache of a RAID controller card, although this I see more difficult. I thought I read in a forum that if the motherboard allows it in any way, it could become possible.

    • Offizieller Beitrag

    I would like to know if it is possible to use part of the RAM of a motherboard as a cache of a RAID controller. It
    may sound a little absurd, but I've seen RAID cards out there that
    apparently have not, and I wondered if they were pulling RAM.

    Most real raid cards have cache on the card. No idea how you would use motherboard ram as cache or why you would want to. If the card doesn't have it, there would probably be very little (if any) benefit.


    said motherboard must have integrated RAID

    Don't use the fake raid that most desktop boards have. It is worse than software raid for performance and you usually can't move it to another board if it fails.

    omv 7.0-32 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.9 | compose 7.0.9 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    Sorry I have reformulated the thread question, because I think I had not expressed it well. I think now I have been more precise in what I look for.

    Maybe specific motherboard raid implementations allow you to use motherboard ram as cache. I have not seen one but I generally ignore onboard raid unless it is a true raid controller like some server motherboards have (my supermicro has an LSI raid controller). That said, I still think this is a waste of time since they are still pretty much software raid and their drivers are usually not good with Linux. I would either use mdadm software raid or if you really need performance, buy a real hardware raid controller. My mdadm raid arrays could easily saturate gigabit which should satisfy most.

    omv 7.0-32 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.9 | compose 7.0.9 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • buy a real hardware raid controller.

    Addition: ...with onboard cache and battery backup module!

    OMV 3.0.100 (Gray style)

    ASRock Rack C2550D4I C0-stepping - 16GB ECC - 6x WD RED 3TB (ZFS 2x3 Striped RaidZ1) - Fractal Design Node 304 -

    3x WD80EMAZ Snapraid / MergerFS-pool via eSATA - 4-Bay ICYCube MB561U3S-4S with fan-mod

  • Re,

    Addition: ...with onboard cache and battery backup module!

    Addition 2: ... and UPS (USV in german) ...


    At least you have to dig through the masses on Caches which come in handy while using RAID:
    - HDD-Cache
    - RAID-Controller-Cache
    - possible SSD-Cache
    - RAM-Cache
    (and this are only the basis physical ones - command-caches and other "specials" not counted in)


    You have to avoid to many Cache-Stages, because that is not performing good at all (time to update the stati in every cache took longer).
    - So, on RAID it is always good to disable the HDD-Caches.
    - RAID-Controller-Caches should only be used, when BBU an UPS is active (or you don't really need your data :P)
    so ... what remains are:
    - possible SSD-Cache (may be sounds unfamilar, but with modern SSDs it can be a good enhancement even to home-NAS-boxes)
    - RAM-Cache


    RAM-Cache is always used and os-dependent - and in case of linux, always the best choice. Linux does RAM-Caching every time it has free ("unused") RAM in larger blocks available. Linux will do the filecaching, while md on top makes the command-caching and the "os-NCQ". It's a good, very old and approved technique.


    I have read that you can use some of the RAM as a disk cache and I was wondering if at least a RAID controller built into the motherboard could use part of the RAM with cache.

    It's going tricky here, mixing things up - you can use RAM as file-cache (RAM-Disk) and use RAM as Data-Cache (Data can be files, temp's and commands/pipes, ... whatever), which are completely other things. RAID-Controller-Cache is both, and Linux "cached mem" is it too - both needs special organisation.
    EDIT: organisation means here not only data organisation, it includes the hit-strategies and algotithms which are needed and used for good cache-performance!


    Every Fake-RAID-Driver uses a little part of RAM as buffer (not cache). Why should such driver use extra RAM for caching, while the OS does it too? I never knew a Fake-RAID-driver with a special Cache-Setting - of course it sound logical, but not for the vendors, because the have to develop own Algorithms and Strategies, which will make the driver more expensive ... capitalism ;)


    And YES, it is generally possible to generate "own" (RAID-)Caches in RAM, but why? Linux does it ... since ... *erm* ... nearly ever. :D
    (and yes, i saw some software (for Windows) which claimed to speed up your PC whil caching data in RAM, but this were the good old days of to less RAM ans slow devices (floppies and IDE-Drives)).


    Sc0rp

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!