Dr. Mark Russinovich Department of Computer Science University of Oregon Eugene, OR 97403 (503) 343-6584 mer@cs.uoregon.edu October 23, 1995 Dear Sirs: I am writing in regard to your SoftRAM 95 product and possible misrepresentation of the product's capabilities and features. Let me introduce myuself by saying that I have a PhD in computer engineering, am employed as a research scientist in the Computer Science Department at the University of Oregon, and have several years of Windows device driver experience including two pending publications in Dr. Dobb's Journal. I recently purchased SoftRAM 95 based on its high visibility in Egg Head Software's poduct catalog and a television advertisement. Over the course of the first week that I used the program I detected no change in the memory characteristics of my Winbdows 95 computer system. However, I was lead to believe from the advertising and the product documentation that the memory resources I would perceive would be approximately double that of my computer's physical memory capacity. I therefore decided to investigate by stepping through the SoftRAM 95 device driver codee (called dynapage.vxd) with Nu Mega Technologies' Soft-ICE 95 advanced Windows debugger. What I discovered in my ensuing exploration shocked me. The first thing that I found lies in SoftRAM's initialization code which appears in the Pagefile_Init_FIle module. It is in this module that the driver queries the Windows system.ini file for a parameter called SoftRamMaxPhys, a paremeter that represents the percentage of the computer's memory SoftRAM will take for its own purposes. The documentation implies that this will be used as a percentage of the computer's physical memory, but in actuality it represents a percentage of the amount of free memory that exists after Windows has completed its initialization. The default for the parameter is 100 so the device tries to allocate for itself all the memory Windows reports to it as free. Unfortunately, Windows 95 will not let this entire space be allocated, so the memory allocation call invariably fails. Upon detecting this failure, SoftRAM quietly disables any special memory management and then only provides the basic functionality of a paging device. This behavior is outrageous. I would estimate that well over 90% of consumer's will install the product without changing the default settings, meaning that well over 90% of users will get absolutely nothing for their $30, not ever realizing it since SoftRAM does not take any corrective action or even inform them of its problem. But that isn't the end of the story. Since my suspicions were aroused by SoftRAM's initial deceit, I decided to pursue my investigation into what SoftRAM does when it gets past the first allocation successfully. I lowered the SoftRamMaxPhys setting to a value that allowed it to allocate the memory it requested and then, again using Soft-ICE, begain exploring the behavior of the Pagefile_Read_Or_Write routine. This is the main entry point to the product after intialization and is where it should be performing its advertised "patent pending" compression technology. Much to my chagrin, I discovered after careful study of the routine that _there is no compression taking place whatsoever_. I created environments where the amount of memory my applications were using wer triple my computer's physical capacity and still found no compression. The only thing SoftRAM does is copy data to and from its grabbed memory. In fact, the copy routine is written in an inefficient manner that one would expect from a beginning assembly language programmer. So, it appears that even if the product remains enabled after initialization, it still does no do anything for the consumer except slow their machine down. The last thing I explored was the use of the so-called _advanced settings_. The documentation describes roughly five variables that the expert user can tune to control SoftRAM's behavior. One of them is even called SoftRamSpeed and one is lead to believe that this setting will control the type of compression used. I found this interesting considering the fact that I found NO compression. Tracing through the device confirmed my expecation that NONE of the parameters are used by SoftRAM. This product strikes me as blatant misrepresentation. This list summarizes what I found: - The product disables itself without warning under the default installation - There is no compression being used even during its normal operation - The programming within it actually slows down a user's machine - The 5 or so setting described in the documentation are disregarded When I compare this to the following advertised claims, all taken from the product's documenation, I find that Syncronous Softcorp. has grossly misrepresented itself in not just one, but in several ways: - "...SoftRAM 95 now achieves RAM compression ratios of up to 5x and higher." - "...instantly speed up Windows." - "...used patent pending RAM compression technology..." - "...RAM Analyst dynamically tracks and records the memory requirements of the application you use and optimizes performance based on your patterns of usage." - Advanced setting allow the user to configure SoftRAM's behavior The major points are that the SoftRAM product is by default disabled, and a performance liability to the consumer when enabled. My ultimate concerns lie with the fact that I, as well as possibly hundreds of thousands of consumers, have all squandered $30 because we have been misled in a malicious manner. I am writing to you so that any misconceptions I have can be clarified before I make a judgement on whether or not to make the information contained in this letter public. Sincerely, Dr. Mark Russinovich Note: The views expressed here do not necessarily represent those of the University of Oregon or the Department of Computer Science. ;---------------------------------------------------------------------- Dr, Mark Russinovich Department of Computer Science University of Oregon Eugene, OR 97403 (503) 343-6584 mer@cs.uoregon.edu Dear Mr. Portner, I was very pleased to receive your FAX wherein you outlined the steps that had been taken once the problems with SoftRAM 95 were discovered. The press release you enclosed confirms what you told me via our phone conversation that the necessary steps are being taken to correct the current situation. I am truly sorry that this entire affair was not avoided with a short phone call last week. I thereby formally retract the letter that was posted on the internet concerning Syncronous Softcorp.'s SoftRAM 95 product. The information and opinions contained within it were incorrect and unsubstantiated. I also apologize for any harm or inconvenience that it may have caused Mr. Rainer Portner, president of Syncronous Softcorp., or the Syncronous Softcorp. organization as a whole and for any deceptive or harmful intentions that I may have ascribed to Syncronous Softcorp. Sincerely, Dr. Mark Russinovich ;---------------------------------------------------------------------- Dr. Mark Russinovich Department of Computer Science University of Oregon Eugene, OR 97403 (503) 343-6584 mer@cs.uoregon.edu November 9, 1995 Dear Sirs: On October 23 I made public on the Internet a letter documenting my experiences with Syncronys Softcorp's SoftRAM 95 (Windows 95 version) product. That letter described the failure of Syncronys to incorporate the basic functionality (memory compression) advertised for SoftRAM (see attachment). My primary desire in making the information public was to ensure that purchasers of SoftRAM would learn of SoftRAM's gross failure to provide its advertised functionality, and be offered the chance to receive reimbursement or free upgrades to a working product. Following the release of that letter I conversed with representatives of Syncronys who admitted to a portion of the problems, stated that they had made a public disclosure of the problems, and threatened me with legal action if I did not withdraw my letter. Since my primary goal was to educate Syncronys customers, and I believed at that time that Syncronys was acting in good faith to protect their customers' best interests (and was certainly not interested in a legal battle), I released a retraction of my letter on October 31 and considered the matter settled. Unfortunately, since that time I have learned that the shortcomings of Syncronys Softcorp's software extends also to the Windows 3.1 version, which I determined after performing a detailed analysis of their code. What I discovered is that the device drivers Softram1.386 and Softram2.386, which supposedly contain Syncronys' "patent pending" technology, are virtually exact duplicates of the Pagefile.386 and Pageswap.386 sample device drivers that are provided by Microsoft with their Windows 3.1 Device Driver Kit (DDK), and thus provide exactly the same functionality as that provided normally by Windows. The only differences are minor and, other than the fact that the software overrides the user setting specifying the desired swap file size, cosmetic. This leads me to the following conclusion: There is NO compression occurring in either the Windows 95 or Windows 3.1 versions of SoftRAM 95. Syncronys Softcorp had led me to believe that they were acting in good faith by revealing and publicizing problems in the Windows 95 version. However, my latest findings indicate that Syncronys is not acting in good faith by not revealing the identical problems with the Windows 3.1 version of the software, which they continue to promote and sell. I therefore retract my previous retraction, and go on the record with the findings presented here. Sincerely, Dr. Mark Russinovich Note: The views expressed here do not necessarily represent those of the University of Oregon or the Department of Computer Science. ;---------------------------------------------------------------------- December 11, 1995 Dr. Mr. Poertner, I'm sure you are aware of my public retraction of my original retraction letter, but I've discovered that you are still using the original retraction letter as representing my position regarding SoftRAM 95. Please cease using that letter. I no longer stand by it. See the attached letter, made public on the date listed, for my current view. In addition, I would like to take this time to address some assertions you have made regarding my, and others, analysis of the Windows 3.1 version of SoftRAM 95. I've heard it said that your claim is that our tools are inadequate for the analysis of SoftRAM 95 because they are 16-bit tools and SoftRAM is made up of 32-bit code. This is false. The tools I have been using are state-of-the-art 32-bit disassembly and debugging tools. The disassembler is 16 and 32-bit Sourcer v5.10 from V Systems. The debugger is Nu Mega Technologies Soft-Ice/W, the de-facto standard for 16-bit application-level as well as 32-bit system-level debugging. You have also stated that I seem "confused" because "first he said there was no compression, then he said he found some." This is a misrepresentation of what I have stated. My position from the start has been that there is no compression taking place in either the Windows 3.1 or Windows 95 versions of SoftRAM 95. I have indicated that there is a block of code in the Windows 3.1 code that looks like compression code, but I have also indicated that source-level as well as run-time analysis show that this block of code is under no condition ever executed. There is no confusion here - SoftRAM 95 does not perform compression. Sincerely, Dr. Mark Russinovich Note: The views expressed here are not necessarily those of the University of Oregon or the Department of Computer Science.