Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


RE: Read/Write performance to disk drives

OSR_Community_UserOSR_Community_User Member Posts: 110,217
Hi Everyone,

I am trying to optimize read/write performance to disk drives. The disk
drive is the initiator of a DMA. The ATA-66 drives that I have tested work
best when the DMA size is around 512KB. The Raid drives that I have tested
work best when the DMA size is 2MB or above. Do these numbers(512KB and
2MB) coorespond to the amount of cache memory that is either on the disk
controller, on the disk itself, or a combination? If the numbers do
coorespond to the amount of cache memory is there a way for an NT4.0 driver
to determine this cache size? Is there a way to tell what size DMA chunck
to use for optimum performance?


Please reply to: [email protected]
Marty Corbett
Integrated Computing Engines (ICE)

Comments

  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    It depends on a lot of things. For purely sequential access,
    read-ahead-cache can help significantly, but it depends on how many segments
    are int he cache and how fast you're sucking data through it. With writes,
    cache can be a large improvement, but it becomes neglegible as data becomes
    more random, and the "working set" becomes larger than the cache.

    I can provide some specific recommendations, but would need to know more
    detail about what you're actually trying to accomplish. If it's jsut a file
    system, that's predominantly random, with hot spots. If it's a database,
    that's more of a mix of random and sequential.

    ALL of this also depends greatly on the disk technology as well. High
    performance RAID systems can sustain >>50,000 IO's per second (512 byte ea)
    if they're sequential, but somewhat less if they're 100% random. What RAID
    technology is sitting behind the box also has a lot to do with it (example:
    RAID 1+0 reads should be about twice as fast as writes, with no cache. With
    cache, they'll be the same until the cache becomes saturated)

    There are lots and lots of variables to all of this.

    > -----Original Message-----
    > From: [email protected]
    > [mailto:[email protected]]On Behalf Of Marty Corbett
    > Sent: Tuesday, April 25, 2000 10:25 AM
    > To: NT Developers Interest List
    > Subject: [ntdev] RE: Read/Write performance to disk drives
    >
    >
    > Hi Everyone,
    >
    > I am trying to optimize read/write performance to disk drives. The disk
    > drive is the initiator of a DMA. The ATA-66 drives that I have
    > tested work
    > best when the DMA size is around 512KB. The Raid drives that I
    > have tested
    > work best when the DMA size is 2MB or above. Do these numbers(512KB and
    > 2MB) coorespond to the amount of cache memory that is either on the disk
    > controller, on the disk itself, or a combination? If the numbers do
    > coorespond to the amount of cache memory is there a way for an
    > NT4.0 driver
    > to determine this cache size? Is there a way to tell what size DMA chunck
    > to use for optimum performance?
    >
    >
    > Please reply to: [email protected]
    > Marty Corbett
    > Integrated Computing Engines (ICE)
    >
    > ---
    > You are currently subscribed to ntdev as: [email protected]
    > To unsubscribe send a blank email to $subst('Email.Unsub')
    >
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 12 September 2022 Live, Online
Internals & Software Drivers 23 October 2022 Live, Online
Kernel Debugging 14 November 2022 Live, Online
Developing Minifilters 5 December 2022 Live, Online