This document describes a new software-based online memory compression algorithm that can increase available memory for applications by 150% without modifying applications or hardware. The algorithm, called pattern-based partial match (PBPM), explores frequent patterns within memory words and exploits similarities between words to achieve high compression ratios comparable to Lempel-Ziv compression but with half the runtime. An adaptive memory management technique is also presented to pre-allocate memory for compressed data, further increasing available memory by up to 13%. Experimental results found these techniques effective at doubling the usable memory for a wide range of applications on an embedded portable device.