EldoS | Feel safer!

Software components for data protection, secure storage and transfer

How to flush to disk

Also by EldoS: CallbackProcess
A component to control process creation and termination in Windows and .NET applications.
#12092
Posted: 01/12/2010 01:41:42
by Richard Chuang (Priority Standard support level)
Joined: 09/09/2008
Posts: 1

I'm using SolFS Driver Edition under windows. Currently I'm working with a database file in a mounted drive under SolFS Driver.

What is the proper procedure to make sure the data written into the Storage will get posted into the disk in Windows?

Richard
#12095
Posted: 01/12/2010 03:26:09
by Volodymyr Zinin (EldoS Corp.)

It's enough to call the system API FlushFileBuffers.
#12099
Posted: 01/13/2010 09:23:00
by Eugene Mayevski (EldoS Corp.)

Please download new build of SolFS Driver edition from the site. It addresses the issue that FlushFileBuffers flushed only Windows internal buffers, and not SolFS cache. Now both buffers are flushed.


Sincerely yours
Eugene Mayevski
#12102
Posted: 01/13/2010 12:15:12
by Grazia Paoli (Standard support level)
Joined: 01/04/2007
Posts: 6

Hello,

a bit off topic. How can one make sure SolFS Standard Edition properly flushes written data on disk ?
Does the new build of SolFS Driver edition have any affect on SolFS Standard Edition?
We are using SolFS Standard Edition, with callbacks, on some of our devices, and noticed that files sometimes are not written onto flash memory.
Could be this issue?

Thanks.
#12104
Posted: 01/13/2010 12:26:55
by Eugene Mayevski (EldoS Corp.)

Quote
Grazia Paoli wrote:
Hello,

a bit off topic. How can one make sure SolFS Standard Edition properly flushes written data on disk ?


Call Flush method and as you are using callback mechanism, you need to ensure that your data are properly written when the callbacks are called.

Quote
Grazia Paoli wrote:
Does the new build of SolFS Driver edition have any affect on SolFS Standard Edition?
Thanks.


No. The change is the way the IRP coming from the OS is handled by the driver. This has absolutely no relation to SolFS engine.


Sincerely yours
Eugene Mayevski
#12105
Posted: 01/13/2010 12:47:25
by Grazia Paoli (Standard support level)
Joined: 01/04/2007
Posts: 6

Thanks for your quick response.

Is there any caching done in SolFS engine during write operation? If so, is there any way to do stream writes without any buffering? On the devices we use SolFS SE, we don't really have any flushing mechanism, all we have is just raw Read and Write operations to device flash memory. Our SolFS flush callback function doesn't really do anything.

Appreciate your help.
#12107
Posted: 01/13/2010 14:35:21
by Alexander Plas (EldoS Corp.)

Hello.

Yes, SolFS always performs caching for write operations. It is caused by the internal structure of SolFS storage. You can decrease impact of caching by decreasing cache size with StorageSetPageCacheSize function. Minimal cache size is 4 * PageSize. Pages will be written to the storage faster with smaller cache. However, you have to check your program with new cache size to ensure that performance is not affected.
#12108
Posted: 01/14/2010 00:50:12
by Grazia Paoli (Standard support level)
Joined: 01/04/2007
Posts: 6

I couldn't find this function in SolFS documentation.

Can you please let me know the difference between functions StorageSetBuffering and StorageSetPageCacheSize?

What's the correct SolFS SE usage in callback mode, to make sure the data we write onto raw memory device gets flushed right away without performance drawback.

Thank you.
#12110
Posted: 01/14/2010 10:44:14
by Alexander Plas (EldoS Corp.)

Moved to HelpDesk
Also by EldoS: BizCrypto
Components for BizTalk® and SQL Server® Integration Services that let you securely store and transfer information in your business automation solutions.

Reply

Statistics

Topic viewed 4681 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!