"データを圧縮する方法において、分析器を用いて、前記データの圧縮の有無を決定するために、前記データを分析する段階と、前記データが入力バッファでバッファリングされる間に分析結果を生成させる段階と、前記分析結果に基づいてバッファされたデータを選択的に圧縮する段階と、を含むことを特徴とするデータを圧縮する方法。前記データを分析する段階は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記分析結果は、前記指示ビットの分析結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。前記データを分析する段階は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値とを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。前記データを分析する段階は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、前記複数のシンボルのそれぞれにコードワードを割り当てる段階と、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データの予測サイズを計算する段階と、前記予測サイズと基準データのサイズとを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。前記データを分析する段階は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析する段階と、前記指示ビットの分析結果に基づいて、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値とを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。前記バッファされたデータを選択的に圧縮する段階は、前記分析結果をメモリに保存する段階と、前記メモリに保存された前記分析結果に基づいて、プロセッサを用いて、前記バッファされたデータを選択的に圧縮する段階と、を含むことを特徴とする請求項1に記載のデータを圧縮する方法。前記データについての分析は、前記入力バッファから前記バッファされたデータが出力される以前に完了することを特徴とする請求項1に記載のデータを圧縮する方法。データ圧縮装置において、入力バッファに伝送されるデータを分析し、該分析結果に基づいて分析コードを生成させるデータパターン分析器と、前記分析コードに基づいて、前記入力バッファから出力された前記データを選択的に圧縮するデータ圧縮管理器と、を含むことを特徴とするデータ圧縮装置。前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を表わす指示ビットを分析し、前記指示ビットの分析結果に基づいて、前記分析コードを生成させることを特徴とする請求項8に記載のデータ圧縮装置。前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、該カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値との比較結果に基づいて、前記分析コードを生成させることを特徴とする請求項8に記載のデータ圧縮装置。前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項8に記載のデータ圧縮装置。前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットに基づいて制御信号を出力するヘッダ分析器と、活性化された前記制御信号に応答してイネーブルされ、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項8に記載のデータ圧縮装置。前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当てるパターン分析器と、前記パターン分析器から出力された前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードを受信し、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項8に記載のデータ圧縮装置。前記データ圧縮管理器は、前記分析コードを保存するためのメモリと、前記入力バッファから出力された前記データを圧縮し、圧縮データを出力するプロセッサと、前記メモリに保存された前記分析コードに基づいて、前記入力バッファから出力された前記データを不揮発性メモリ装置と前記プロセッサとのうちの何れか1つに出力する選択器と、を含むことを特徴とする請求項8に記載のデータ圧縮装置。前記プロセッサは、前記入力バッファから出力された前記データの各シンボルを順次に圧縮し、前記データ内で圧縮されない重複される複数のシンボルの間の関係を指示する情報を出力することを特徴とする請求項14に記載のデータ圧縮装置。不揮発性メモリ装置と、バッファされたデータを選択的に圧縮するデータ圧縮装置と、を含み、前記データ圧縮装置は、前記データをバッファリングする入力バッファと、前記データが、前記入力バッファに伝送される間に、前記データを分析し、前記データの分析結果に基づいて分析コードを生成させるデータパターン分析器と、前記分析コードに基づいて、前記バッファされたデータを選択的に圧縮するデータ圧縮管理器と、を含むことを特徴とするデータ処理装置。前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記指示ビットの分析結果に基づいて、前記分析コードを出力することを特徴とする請求項16に記載のデータ処理装置。前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、該カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値との比較結果に基づいて、前記分析コードとして出力することを特徴とする請求項16に記載のデータ処理装置。前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項16に記載のデータ処理装置。前記データ圧縮管理器は、前記分析コードを保存するためのメモリと、前記バッファされたデータを圧縮し、前記圧縮データを出力するプロセッサと、前記メモリに保存された前記分析コードに基づいて、前記バッファされたデータを前記不揮発性メモリ装置と前記プロセッサとのうちの何れか1つに出力する選択器と、を含むことを特徴とする請求項16に記載のデータ処理装置。前記データ処理装置は、SSDsolidstatedriveであることを特徴とする請求項16に記載のデータ処理装置。前記データ処理装置は、スマートカードまたはメモリカードであることを特徴とする請求項16に記載のデータ処理装置。前記データ処理装置は、スマートフォンまたはタブレットPCであることを特徴とする請求項16に記載のデータ処理装置。前記データ圧縮装置は、前記不揮発性メモリ装置を制御するメモリコントローラの内部に集積されたことを特徴とする請求項16に記載のデータ処理装置。データを圧縮する方法において、入力バッファに伝送されるデータを横取りする段階と、横取りしたデータを分析し、該分析結果を出力する段階と、前記分析結果に基づいて、圧縮データと前記入力バッファから出力された前記データとのうちの1つを出力する段階と、を含み、前記圧縮データは、前記入力バッファの前記データを圧縮して生成されたデータであることを特徴とするデータを圧縮する方法。前記横取りしたデータの分析は、前記データが、前記入力バッファから出力される以前に完了することを特徴とする請求項25に記載のデータを圧縮する方法。前記データは、1つまたはそれ以上のビットを含み、前記入力バッファによってバッファされたデータは、前記データの整数倍であることを特徴とする請求項25に記載のデータを圧縮する方法。前記データを分析する段階は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記分析結果は、前記指示ビットの分析結果によって生成されることを特徴とする請求項25に記載のデータを圧縮する方法。前記データを分析する段階は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、前記複数のシンボルのそれぞれにコードワードを割り当てる段階と、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データの予測サイズを計算する段階と、前記予測サイズと基準データのサイズとを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項25に記載のデータを圧縮する方法。データを圧縮する方法において、データ圧縮装置で、前記データのパターンと前記データのヘッダに含まれた指示ビットの値とのうちの1つに基づいてデータを選択的に圧縮する段階を含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示することを特徴とするデータを圧縮する方法。前記データを圧縮する方法は、前記データが、ヘッダ情報を含むか否かを決定する段階をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データは、前記指示ビットに基づいて選択的に圧縮されることを特徴とする請求項30に記載のデータを圧縮する方法。前記データが、前記ヘッダ情報を含まない時、前記データは、前記データのパターンに基づいて選択的に圧縮されることを特徴とする請求項31に記載のデータを圧縮する方法。前記データを圧縮する方法は、前記データに含まれた各シンボルの頻度数をカウントする段階と、カウントされた頻度数のうちの最大頻度数と最小頻度数とのうちの1つと基準値とを比較する段階と、をさらに含み、前記データは、比較結果に基づいて選択的に圧縮されることを特徴とする請求項32に記載のデータを圧縮する方法。前記データを圧縮する方法は、前記データに含まれた各シンボルの頻度数をカウントする段階と、前記複数のシンボルのそれぞれにコードワードを割り当てる段階と、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データのサイズを予測する段階と、前記予測サイズと基準サイズとを比較する段階と、を含み、前記データは、前記予測サイズと前記基準サイズとの比較結果に基づいて選択的に圧縮されることを特徴とする請求項32に記載のデータを圧縮する方法。データ圧縮装置において、データのパターンと、前記データのヘッダに含まれた指示ビットの値のうちの1つに基づいて、前記データを選択的に圧縮するデータ圧縮管理器とを含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示することを特徴とするデータ圧縮装置。前記データ圧縮装置は、前記データが、ヘッダ情報を含むか否かを決定するデータパターン分析器をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データ圧縮管理器は、前記指示ビットに基づいて、前記データを選択的に圧縮することを特徴とする請求項35に記載のデータ圧縮装置。前記データが、前記ヘッダ情報を含まない時、前記データ圧縮管理器は、前記データのパターンに基づいて、前記データを選択的に圧縮することを特徴とする請求項36に記載のデータ圧縮装置。前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、該カウントされた頻度数のうちの最大頻度数と最小頻度数とのうちの1つと基準値とを比較し、前記データ圧縮管理器は、比較結果に基づいて、前記データを選択的に圧縮することを特徴とする請求項37に記載のデータ圧縮装置。前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データのサイズを予測し、前記予測サイズと基準サイズとを比較し、前記データ圧縮管理器は、前記予測サイズと前記基準サイズとの比較結果に基づいて、前記データを選択的に圧縮することを特徴とする請求項38に記載のデータ圧縮装置。本発明が解決しようとする技術的な課題は、データ圧縮時間を減少させるために、データが入力バッファに伝送される途中で、前記データを分析し、該分析結果によって、前記データの圧縮の有無を決定することができるデータ圧縮方法と該方法を行う装置とを提供するところにある。本発明の実施例によるデータを圧縮する方法は、分析器を用いて、前記データの圧縮の有無を決定するために、前記データを分析する段階と、前記データが入力バッファでバッファリングされる間に分析結果を生成させる段階と、前記分析結果に基づいてバッファされたデータbuffereddataを選択的に圧縮する段階と、を含む。実施例によって、前記データを分析する段階は、前記データのヘッダheaderに含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記分析結果は、前記指示ビットの分析結果に基づいて生成される。他の実施例によって、前記データを分析する段階は、前記データに含まれた複数のシンボルsymbolsのそれぞれの頻度数frequencyをカウントcountする段階と、カウントされた頻度数の最大頻度数maximumfrequencyと最小頻度数minimumfrwquencyとのうちの何れか1つと基準値とを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成される。また他の実施例によって、前記データを分析する段階は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、前記複数のシンボルのそれぞれにコードワードcodewordを割り当てる段階と、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データの予測サイズestimatedsizeを計算する段階と、前記予測サイズと基準データのサイズとを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成される。さらに他の実施例によって、前記データを分析する段階は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析する段階と、前記指示ビットの分析結果に基づいて、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値とを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成される。前記バッファされたデータを選択的に圧縮する段階は、前記分析結果をメモリに保存する段階と、前記メモリに保存された前記分析結果に基づいて、プロセッサprocessorを用いて、前記バッファされたデータを選択的に圧縮する段階と、を含む。前記データについての分析は、前記入力バッファから前記バッファされたデータが出力される以前に完了する。本発明の一実施例によるデータ圧縮装置は、入力バッファに伝送されるデータを分析し、該分析結果に基づいて分析コードを生成させるデータパターン分析器と、前記分析コードに基づいて、前記入力バッファから出力された前記データを選択的に圧縮するデータ圧縮管理器と、を含む。実施例によって、前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を表わす指示ビットを分析し、前記指示ビットの分析結果に基づいて、前記分析コードを生成させる。他の実施例によって、前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、該カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値との比較結果に基づいて、前記分析コードを生成させる。また他の実施例によって、前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算される。さらに他の実施例によって、前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットに基づいて制御信号を出力するヘッダ分析器と、活性化された前記制御信号に応答してイネーブルenableされ、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算される。さらに他の実施例によって、前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当てるパターン分析器と、前記パターン分析器から出力された前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードを受信し、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算される。前記データ圧縮管理器は、前記分析コードを保存するためのメモリと、前記入力バッファから出力された前記データを圧縮し、圧縮データを出力するプロセッサと、前記メモリに保存された前記分析コードに基づいて、前記入力バッファから出力された前記データを不揮発性メモリ装置と前記プロセッサとのうちの何れか1つに出力する選択器と、を含む。前記プロセッサは、前記入力バッファから出力された前記データの各シンボルを順次に圧縮し、前記データ内で圧縮されない重複される複数のシンボルの間の関係を指示する情報を出力する。本発明の実施例によるデータ処理装置は、不揮発性メモリ装置と、バッファされたデータを選択的に圧縮するデータ圧縮装置と、を含み、前記データ圧縮装置は、前記データをバッファリングする入力バッファと、前記データが、前記入力バッファに伝送される間に、前記データを分析し、前記データの分析結果に基づいて分析コードを生成させるデータパターン分析器と、前記分析コードに基づいて、前記バッファされたデータを選択的に圧縮するデータ圧縮管理器と、を含む。前記データ処理装置は、SSDsolidstatedrive、スマートカード、メモリカード、スマートフォンsmartphoneまたはタブレットtabletPCとして具現されうる。前記データ圧縮装置は、前記不揮発性メモリ装置を制御するメモリコントローラの内部に集積される。本発明の他の実施例によって、データを圧縮する方法は、入力バッファに伝送されるデータを横取りするintercept段階と、横取りしたデータを分析し、該分析結果を出力する段階と、前記分析結果に基づいて、圧縮データと前記入力バッファから出力された前記データとのうちの1つを出力する段階と、を含み、前記圧縮データは、前記入力バッファの前記データを圧縮して生成されたデータである。前記データは、1つまたはそれ以上のビットを含み、前記入力バッファによってバッファされたデータは、前記データの整数倍である。本発明の他の実施例によるデータを圧縮する方法は、データ圧縮装置で、前記データのパターンと前記データのヘッダに含まれた指示ビットの値とのうちの1つに基づいてデータを選択的に圧縮する段階を含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示する。前記データを圧縮する方法は、前記データが、ヘッダ情報を含むか否かを決定する段階をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データは、前記指示ビットに基づいて選択的に圧縮される。前記データが、前記ヘッダ情報を含まない時、前記データは、前記データのパターンに基づいて選択的に圧縮される。本発明の他の実施例によるデータ圧縮装置は、データのパターンと、前記データのヘッダに含まれた指示ビットの値のうちの1つに基づいて、前記データを選択的に圧縮するデータ圧縮管理器とを含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示する。前記データ圧縮装置は、前記データが、ヘッダ情報を含むか否かを決定するデータパターン分析器をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データ圧縮管理器は、前記指示ビットに基づいて、前記データを選択的に圧縮する。前記データが、前記ヘッダ情報を含まない時、前記データ圧縮管理器は、前記データのパターンに基づいて、前記データを選択的に圧縮する。前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、該カウントされた頻度数のうちの最大頻度数と最小頻度数とのうちの1つと基準値とを比較し、前記データ圧縮管理器は、比較結果に基づいて、前記データを選択的に圧縮する。前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データのサイズを予測し、前記予測サイズと基準サイズとを比較し、前記データ圧縮管理器は、前記予測サイズと前記基準サイズとの比較結果に基づいて、前記データを選択的に圧縮する。本発明の実施例によるデータ圧縮装置とその動作方法は、データが入力バッファに伝送される途中で、前記データのパターンを分析し、該分析結果によって、前記データの圧縮の有無を決定することができるので、前記データを圧縮する時間を減少させることができる。以下、添付した図面を参照して、本発明を詳しく説明する。図1Aは、本発明の一実施例によるデータ圧縮装置10Aのブロック図を示す。図1Bは、図1Aの入力バッファから出力されるバッファされたデータの出力タイミング図を示す。図1Cは、図1Bに示されたバッファされたデータの構造を示す。図1Aから図1Cを参照すると、データ圧縮装置10Aは、データパターン分析器20A、入力バッファ30、及びデータ圧縮管理器datacompressionmanager40を含む。実施例によって、データ圧縮装置10Aは、出力バッファ50をさらに含みうる。データ圧縮装置10Aは、集積回路、本明細書に記載のハードウェアまたは類似ハードウェアとして具現されうる。データパターン分析器20Aは、入力データDATAのパターンを分析することができるハードウェアまたはプロセッサとして具現されうる。データ圧縮管理器40は、データパターン分析器20Aから出力された分析結果INF1によって、入力バッファ30によってバッファされたデータBDiを選択的に圧縮することができるハードウェアまたはプロセッサとして具現されうる。データパターン分析器20Aは、入力バッファ30に伝送される入力データDATAのパターンを分析し、該分析されたパターンに基づいて分析コードINF1、例えば、分析結果を出力することができる。データパターン分析器20Aは、分析コードINF1の形態を有する分析結果をデータ圧縮管理器40に出力する。図1Aを参照すると、データパターン分析器20Aは、ヘッダ分析器21を含む。ヘッダ分析器21は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析し、前記指示ビットの分析結果によって分析コードINF1を発生させる。分析コードINF1は、1ビットまたはそれ以上のビットとして具現されうる。すなわち、分析コードINF1は、1つのビットのコードまたはマルチビットコードmulti-bitcodeであり得る。ヘッダHEADERに含まれた指示ビットは、入力データDATAのボディーデータDATA1の圧縮の有無を表わす。前述したように、前記指示ビットは、1ビットまたはそれ以上のビットを含みうる。例えば、ボディーデータDATA1が、圧縮データcompresseddata;例えば、マルチメディアデータmulti-mediadataである時、ヘッダHEADERに含まれた指示ビットは、第1値、例えば、1を有しうる。しかし、ボディーデータDATA1が、圧縮されていないデータuncompresseddataである時、ヘッダHEADERに含まれた指示ビットは、前記第1値と異なる第2値、例えば、0を有しうる。この際、ヘッダ分析器21は、前記指示ビットが、前記第1値を有する時、前記第1値を有する分析コードINF1を出力し、前記指示ビットが、前記第2値を有する時、前記第2値を有する分析コードINF1を出力する。入力バッファ30は、データバスを通じて入力された入力データDATAをバッファリングし、該バッファされたデータBDiを出力する。例えば、入力データDATAが、‘a’個のビットを含むマルチビットデータである時、バッファされたデータBDiは、‘b’個のビットを含むマルチビットデータであり得る。ここで、‘a’と‘b’は、自然数であり、a=bまたはbは、‘a’の整数倍であり得る。例えば、入力データDATAが、8ビットデータであり、バッファされたデータBDiが、64ビットデータである時、データパターン分析器20Aは、時間間隔T以内に8ビット入力データの各セットsetのパターンを分析することができる。入力バッファ30は、8個の入力データDATAがいずれも入力される時、活性化されるイネーブル信号ENによって、各バッファされたデータBDii=0、1、2、3、...を出力することができる。図1Aを参照すると、データ圧縮管理器40は、データパターン分析器20Aから出力された分析コードINF1に基づいてバッファされたデータBDiを選択的に圧縮する。データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiの1つまたはバッファされたデータBDiを圧縮して生成された圧縮データCDATAを出力する。すなわち、データ圧縮管理器40は、バッファされたデータBDiの圧縮をバイパスするか、または圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮する。例えば、分析コードINF1が、第2値、例えば、0である時、データ圧縮管理器40は、圧縮データCDATAを生成させるために入力バッファ30から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。一方、分析コードINF1が、第1値、例えば、1である時、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力する。図1Aに示したように、データ圧縮管理器40は、メモリ41、プロセッサ43、及び選択器45を含む。メモリ41は、分析コードINF1を受信して保存する。メモリ41に保存された分析コードINF1またはINF2に基づいて、選択器45は、バッファされたデータBDiを出力バッファ50に出力するか、または圧縮のためにバッファされたデータBDiをプロセッサ43に伝送する。例えば、分析コードINF1が、第1値を有する時、選択器45は、バッファされたデータBDiを出力バッファ50に出力する。しかし、分析コードINF1が、第2値を有する時、選択器45は、圧縮のためにバッファされたデータBDiをプロセッサ43に出力する。プロセッサ43は、圧縮データCDATAを生成させるために選択器45から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。図1Cを参照すると、プロセッサ43は、各シンボルA1、A2、及びA3を順次に圧縮し、以前に圧縮されたシンボルと同じシンボルは圧縮せず、シンボルの間の関係を表わす情報を出力することができる。例えば、プロセッサ43は、最初のシンボルA1は圧縮し、四番目のシンボルA1は圧縮しない。選択的に、プロセッサ43は、バッファされたデータBDiのあらゆるシンボルを圧縮することもできる。図1Aを参照すると、出力バッファ50は、データ圧縮管理器40から出力されたデータ、例えば、バッファされたデータBDiまたは圧縮データCDATAを受信してバッファリングすることができる。図1Aを参照して説明したように、データパターン分析器20Aは、入力データDATAが入力バッファ30に伝送される途中で、及び/または入力データDATAが入力バッファ30によってバッファリングされる途中で、入力データDATAのパターン、例えば、ヘッダHEADERに含まれた指示ビットを分析する。データパターン分析器20Aは、分析結果に基づいて分析コードINF1をデータ圧縮管理器40に伝送しうる。データ圧縮管理器40は、分析結果INF1に基づいてバッファされたデータBDiを圧縮の有無を決定することができる。データ圧縮管理器40は、各入力データDATAのパターンを分析するために、入力バッファ30に保存された各入力データDATAまたは各バッファされたデータBDiを別途にリードする必要がないので、データ圧縮速度は改善されうる。図2は、本発明の他の実施例によるデータ圧縮装置のブロック図を示す。図1Aから図1Cに示された入力データDATAとは異なって、図2に示された入力データDATAは、ボディーデータDATA1が圧縮データであるか否かを指示する指示ビットを含むヘッダを含まない。図2のデータ圧縮装置10Bは、データパターン分析器20B、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置10Bは、出力バッファ50をさらに含みうる。データパターン分析器20Bは、パターン分析器23を含む。入力データDATAが、入力バッファ30に伝送される時、パターン分析器23は、入力データDATAを受信し、入力データDATAのパターンを分析し、該分析結果に基づいて分析コードINF2を出力する。この場合、パターン分析器23は、次にバッファされたデータ図1BのD1が出力される前までも、図1CのバッファされたデータD0に含まれた各入力データについてのパターンを分析することができる。パターン分析器23は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、最大頻度数または、最小頻度数と基準値とを比較し、該比較結果を分析結果INF2としてデータ圧縮管理器40に出力する。1つのシンボルは、kkは、自然数、例えば、k=8ビットを含みうる。図3は、図2に示されたデータパターン分析器の動作を説明するためのテーブルである。図2と図3とを参照すると、パターン分析器23は、入力データDATAに含まれた複数のシンボルAA、BB、CC、DD、EE、FF、...のそれぞれの頻度数10、100、1000、2、5、50、...を決定する。パターン分析器23は、最大頻度数または、最小頻度数と基準値とを比較する。前記最大頻度数が、前記基準値より大きい場合、すなわち、前記最大頻度数に相応するシンボルの反復回数が多い場合、パターン分析器23は、第2値、例えば、0を有する分析コードINF2を圧縮管理器40に出力する。第2値を有する分析コードINF2は、入力データDATAがデータ圧縮管理器40によって必ず圧縮されなければならないことを指示する。第2値を有する分析コードINF2に応答して、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを直接または出力バッファ50を通じて不揮発性メモリ装置、例えば、フラッシュflashメモリ装置に出力することができる。しかし、前記最大頻度数が、前記基準値より小さいか、同じである時、パターン分析器23は、第1値を有する分析コードINF2をデータ圧縮管理器40に出力する。第1値を有する分析コードINF2は、バッファされたデータBDiがデータ圧縮管理器40によって圧縮される必要がないことを指示する。第1値を有する分析コードINF2に応答して、データ圧縮管理器40は、バッファされたデータBDiの圧縮をバイパスbypassし、バッファされたデータBDiを直接または出力バッファ50を通じて不揮発性メモリ装置、例えば、フラッシュメモリ装置に出力することができる。図4は、本発明のまた他の実施例によるデータ圧縮装置のブロック図を示す。図4を参照すると、データ圧縮装置10Cは、データパターン分析器20C、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置10Cは、出力バッファ50をさらに含みうる。データパターン分析器20Cは、ヘッダ分析器25と予測器26とを含む。ヘッダ分析器25は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析する。前記指示ビットによって、ヘッダ分析器25は、制御信号を予測器26に出力し、第1制御コードをデータ圧縮管理器40に出力する。前記制御信号は、予測器26の動作を制御し、前記第1制御コードは、データ圧縮管理器40の動作を制御することができる。例えば、ボディーDATA1に含まれたデータが、圧縮されたデータであることを表わす第1値、例えば、1を有する指示ビットによって、ヘッダ分析器25は、第1値を有する制御信号、例えば、ローレベルlowlevelを有する制御信号を予測器26に出力して予測器26の動作をディセーブルdisableさせる。また、ヘッダ分析器25は、第1制御コードをデータ圧縮管理器40に出力することができる。前記第1制御コードは、バッファされたデータBDiの圧縮のバイパスをデータ圧縮管理器40に指示する。ボディーDATA1に含まれたデータが、圧縮されていないデータであることを表わす第2値、例えば、0を有する指示ビットによって、ヘッダ分析器25は、制御信号、例えば、ハイレベルhighlevelを有する制御信号を予測器26に出力して予測器26の動作をイネーブルさせる。予測器26がイネーブルされれば、予測器26は、図3に示したように、入力データDATA、例えば、ボディーDATA1に含まれた各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...をカウントする。図4を参照すると、予測器26は、コーディングcoding規則に基づいて各シンボルAA、BB、CC、DD、EE、FF、...に各コードワード1011、101、10、10101、10001、110、...を割り当てる。次いで、予測器26は、各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...と各シンボルAA、BB、CC、DD、EE、FF、...に割り当てられた各コードワード1011、101、10、10101、10001、110、...のビット数4、3、2、5、5、3、...とに基づいて圧縮データCDATAのサイズを予測する。次いで、予測器26は、圧縮データの予測されたサイズ以下、‘予測データECDATA’と称すると基準データのサイズとを比較し、該比較結果をデータ圧縮管理器40に出力する。予測器26は、数式1によって予測データECDATAのサイズを計算する。数式1で、nは、自然数であり、ボディーDATA1に含まれたデータのシンボルsymbolの総数を表わし、fiは、i番目のシンボルの頻度数を表わし、Biは、i番目のシンボルに割り当てられたコードワードのビット数を表わす。例えば、図3を参照すると、シンボルAAの頻度数は10であり、シンボルAAに割り当てられたコードワード1011のビット数は3であり、シンボルCCの頻度数は1,000であり、シンボルCCに割り当てられたコードワード10のビット数は2である。さらに具体的な例で、入力データDATAのサイズが5Kbyteであり、基準データのサイズが3Kbyteであり、数式1によって計算された予測データECDATAのサイズが3Kbyteより大きい時、予測器26は、バッファされたデータBDiの圧縮をバイパスさせることを指示する第2制御コードを出力する。一方、数式1によって計算された予測データECDATAのサイズが3Kbyteより小さい時、予測器26は、バッファされたデータBDiを圧縮させることを指示する第2制御コードを出力する。例えば、基準データのサイズは、入力データDATAのサイズのccは、小数、例えば、0.6倍であり得る。図4に示された分析コードINF3は、ヘッダHEADERに含まれた指示ビットによって発生した第1制御コードと、予測データECDATAのサイズと基準データのサイズとの比較結果に基づいて発生した第2制御コードとを含む。図1Aから図4を参照して説明したように、次の場合、バッファされたデータBDiは、圧縮なしにデータ圧縮管理器40から出力される。ボディーDATA1に含まれたデータが既に圧縮された場合;または、ボディーDATA1に含まれたデータが圧縮されていないデータであり、予測データECDATAのサイズが、基準データのサイズより大きい場合。図4を参照すると、データ圧縮管理器40は、データパターン分析器20Cから出力された分析コードINF3を分析し、該分析結果によってバッファされたデータBDiまたは圧縮データCDATAを出力する。ボディーDATA1に含まれたデータが圧縮されていないデータであり、予測データECDATAのサイズが、基準データのサイズより小さい時、データ圧縮管理器40は、データパターン分析器20Cから出力された分析コードINF3によってバッファされたデータBDiを圧縮し、圧縮データCDATAを出力する。前述したように、それぞれの入力データDATAが、入力バッファ30に伝送される間に、データパターン分析器20Cは、それぞれの入力データDATAのパターンを分析し、分析コードINF3をデータ圧縮管理器40に伝送する。データ圧縮管理器40は、分析コードINF3によってバッファされたデータBDiを選択的に圧縮することができる。図5は、本発明のさらに他の実施例によるデータ圧縮装置のブロック図を示す。図5を参照すると、データ圧縮装置10Dは、データパターン分析器20D、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置10Dは、出力バッファ50をさらに含みうる。データパターン分析器20Dは、パターン分析器27と予測器28とを含む。データ圧縮装置10Dの動作は、図3を参照して説明される。図3と図5とを参照すると、パターン分析器27は、入力データDATAに含まれた各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...をカウントし、各シンボルAA、BB、CC、DD、EE、FF、...にコーディング規則に基づいて各コードワード1011、101、10、10101、10001、110、...を割り当てる。そして、パターン分析器27は、各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...と各シンボルAA、BB、CC、DD、EE、FF、...に割り当てられた各コードワード1011、101、10、10101、10001、110、...とを予測器28に伝送する。予測器28は、各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...と各シンボルAA、BB、CC、DD、EE、FF、...に割り当てられた各コードワード1011、101、10、10101、10001、110、...の各ビット数4、3、2、5、5、3、...とに基づいて圧縮データECDATAのサイズを数式1によって予測する。予測器28は、予測データECDATAのサイズと基準データのサイズとを比較し、該比較結果によって分析コードINF4を生成させ、分析コードINF4をデータ圧縮管理器40に出力する。予測データECDATAのサイズが、基準データのサイズより小さい時例えば、圧縮効率に優れる時、データ圧縮管理器40は、データパターン分析器20Dから出力された分析コードINF4、例えば、第2値、例えば、0によってバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。しかし、予測データECDATAのサイズが、基準データのサイズより大きい時例えば、圧縮効率が劣る時、データ圧縮管理器40は、データパターン分析器20Dから出力された分析コードINF4、例えば、第1値、例えば、1によってバッファされたデータBDiを出力する。例えば、予測データECDATAのサイズが、基準データのサイズより小さいことは、優れた圧縮効率superiorcompressionefficiencyを表し、予測データECDATAのサイズが、基準データのサイズより大きいことは、劣った圧縮効率inferiorcompressionefficiencyを表わす。図13は、本発明のさらに他の実施例によるデータ圧縮装置のブロック図を示す。図13を参照すると、データ圧縮装置1310は、データパターン分析器1320、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置1310は、出力バッファ50をさらに含みうる。データパターン分析器1320は、ヘッダ分析器1325とパターン分析器1327とを含む。図13に示されたデータパターン分析器1320は、データパターン分析器1320がヘッダ分析器1325とパターン分析器1327とを含むものを除けば、図1のデータパターン分析器20Aと図2のデータパターン分析器20Bと類似している。データ圧縮装置1310の例示的な動作は、図6に示されたフローチャートを参照して詳しく説明される。図13を参照すると、ヘッダ分析器1325は、入力データDATAがヘッダHEADERを含むか否かを検出する。入力データDATAがヘッダHEADERを含めば、ヘッダ分析器1325は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析し、前記指示ビットの分析に基づいて分析コードINF1を生成させる。図13を参照して説明された分析コードINF1と前記指示ビットは、図1Aを参照して説明された分析コードINF1と前記指示ビットと同一または実質的に同一である。図1Aに示したように、ヘッダ分析器1325は、前記指示ビットが、前記第1値、例えば、1を有する時、第1値、例えば、1を有する分析コードINF1を出力する。しかし、ヘッダ分析器1325は、前記指示ビットが、前記第2値、例えば、0を有する時、第2値、例えば、0を有する分析コードINF1を出力する。図13を参照すると、またデータパターン分析器1320は、パターン分析器1327を含む。ヘッダ分析器1325が、入力データDATAからヘッダHEADERを検出することができなければ、パターン分析器1327は、入力データDATAを受信し、入力データDATAのパターンを分析し、該分析結果に基づいて分析コードINF2を出力する。この場合、パターン分析器1327は、各入力データDATAのパターンを分析する。パターン分析器1327は、入力データDATAに含まれた各シンボルの各頻度数をカウントし、最大頻度数または、最小頻度数と基準値とを比較し、該比較結果を分析結果INF2としてデータ圧縮管理器40に出力する。前述したように、1つのシンボルは、kビットを含み、kは、自然数であり、例えば、k=8であり得る。入力バッファ30は、データバスを通じて受信された入力データDATAをバッファリングし、該バッファされたデータBDiを出力する。例えば、入力データDATAが、‘a’個のビットを含むマルチビットデータである時、バッファされたデータBDiは、‘b’個のビットを含むマルチビットデータであり得る。ここで、‘a’と‘b’は、自然数であり、a=bまたはbは、‘a’の整数倍であり得る。図1を参照すると、データ圧縮管理器40は、データパターン分析器1320から出力された分析コードINF1またはINF2に基づいてバッファされたデータBDiを選択的に圧縮することができる。そして、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiの1つまたはバッファされたデータBDiを圧縮して生成された圧縮データCDATAを出力する。すなわち、データ圧縮管理器40は、バッファされたデータBDiの圧縮をバイパスするか、または圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮する。例えば、分析コードINF1またはINF2が、第2値、例えば、0である時、データ圧縮管理器40は、圧縮データCDATAを生成させるために入力バッファ30から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。一方、分析コードINF1またはINF2が、第1値、例えば、1である時、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力する。図1Aに示したように、データ圧縮管理器40は、メモリ41、プロセッサ43、及び選択器45を含む。メモリ41は、分析コードINF1またはINF2を受信して保存する。メモリ41に保存された分析コードINF1またはINF2に基づいて、選択器45は、バッファされたデータBDiを出力バッファ50に出力するか、または圧縮のためにバッファされたデータBDiをプロセッサ43に伝送する。例えば、分析コードINF1またはINF2が、第1値を有する時、選択器45は、バッファされたデータBDiを出力バッファ50に出力する。しかし、分析コードINF1またはINF2が、第2値を有する時、選択器45は、圧縮のためにバッファされたデータBDiをプロセッサ43に出力する。プロセッサ43は、圧縮データCDATAを生成させるために選択器45から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。出力バッファ50は、データ圧縮管理器40から出力されたデータ、例えば、バッファされたデータBDiまたは圧縮データCDATAを受信してバッファリングすることができる。そして、出力バッファ50から出力されたデータBDiまたはCDATAは、不揮発性メモリに出力される。図6は、データ圧縮装置の動作を説明するためのフローチャートである。図6を参照して説明される方法は、ヘッダ分析器とパターン分析器とを含むデータパターン分析器を含むデータ圧縮装置と共に使われる。このようなデータ圧縮装置についての実施例は、図13に示される。図6に示された方法は、図13に示されたデータ圧縮装置1310に関連する。図1と図13とを参照すると、ヘッダ分析器1325は、入力データDATAがヘッダを含むか否かを検索するステップS10。ヘッダ分析器1325が、入力データDATAがヘッダHEADERを含むと決定すればステップS20、ヘッダ分析器1325は、ヘッダHEADERに含まれた指示ビットに基づいて、入力データDATAが既に圧縮されたか否かを決定するステップS30。ヘッダHEADERに含まれた指示ビットが、ボディーDATA1に含まれたデータが圧縮されたデータであることを指示する時、ヘッダ分析器1325は、入力データDATAが既に圧縮されたと決定する。ヘッダ分析器1325が、ボディーDATA1が既に圧縮されたデータであると決定すればステップS30、ヘッダ分析器1325は、入力データDATAが既に圧縮されたことを指示する分析コードINF1をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、バッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力するか、または圧縮をバイパスするステップS32。データ圧縮管理器40によってバイパスされたバッファされたデータBDiは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存することができる。ステップS30の判断結果、ヘッダ分析器1325が、ボディーDATA1に含まれたデータが圧縮されていないデータであると決定すれば、ヘッダ分析器1325は、ボディーDATA1に含まれたデータが圧縮されていないデータであることを指示する分析コードINF1をデータ圧縮管理器40に伝送する。分析コードINF1に応答して、データ圧縮管理器40は、圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮するステップS34。データ圧縮管理器40から出力された圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存することができるステップS36。図6のステップS20で、ヘッダ分析器1325が、入力データDATAにヘッダHEADERが存在しないと決定すれば、図7を参照して次の過程が説明される。図7は、データ圧縮装置の他の動作を説明するためのフローチャートである。図7に示された方法は、データ圧縮装置10B、10C、及び/または1310と共に説明されうる。説明の便宜上、図7のフローチャートは、図2に示されたデータ圧縮装置10Bを参照して説明される。しかし、データ圧縮装置1310は、図7のフローチャートに対応する動作を行うことができる。図7を参照すると、図2に示されたパターン分析器23は、入力データDATAのパターンを検索するステップS42。そして、パターン分析器23は、入力データDATAのパターンを分析するステップS42。例えば、パターン分析器23は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントする。パターン分析器23は、カウントされた頻度数のうちの最大頻度数または、最小頻度数と基準値とを比較するステップS44。ステップS44の比較結果、前記最大頻度数または、最小頻度数が、前記基準値より大きいか、同じである時、パターン分析器23は、バッファされたデータBDiが圧縮されなければならないことを指示する分析コードINF2をデータ圧縮管理器40に伝送する。分析コードINF2に応答して、データ圧縮管理器40は、バッファされたデータBDiを圧縮するステップS46。そして、圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存されるステップS50。ステップS44の比較結果、前記最大頻度数または、最小頻度数が、前記基準値より小さい時、パターン分析器23は、バッファされたデータBDiが圧縮される必要がないことを指示する分析コードINF2をデータ圧縮管理器40に伝送する。分析コードINF2に応答して、データ圧縮管理器40は、バッファされたデータBDiを圧縮せず例えば、圧縮をバイパスし、バッファされたデータBDiを出力バッファ50に出力するステップS48。図8は、データ圧縮装置のまた他の動作を説明するためのフローチャートである。図8に示された方法は、図5のデータ圧縮装置10Dで実行可能である。図8を参照すると、図5のパターン分析器27は、入力データDATAのパターンを検索するステップS40。パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当て、前記複数のシンボルのそれぞれの頻度数と前記複数のシンボルのそれぞれに割り当てられたコードワードを予測器28に出力するステップS60。予測器28は、パターン分析器27から出力された前記複数のシンボルのそれぞれの頻度数と前記複数のシンボルのそれぞれに割り当てられたコードワードのビット数とを用いて、数式1によって予測データECDATAのサイズを計算するステップS80。予測器28は、予測データのサイズECDATAと基準データのサイズとを比較するステップS82。予測データCDATAのサイズが、前記基準データのサイズより大きい時、予測器28は、バッファされたデータBDiの圧縮が必要ないことを指示する分析コードINF4をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、バッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力するステップS84。次いで、出力バッファ50に保存されたバッファされたデータBDiは、不揮発性メモリ装置に保存されるステップS88。予測データECADATのサイズが、前記基準データのサイズより小さいか、同じである時、予測器28は、バッファされたデータBDiの圧縮を指示する分析コードINF4をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、バッファされたデータBDiを圧縮しステップS86、圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存されるステップS88。パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当てる。前記コーディング規則は、ハフマンコーディング規則Huffmancodingrule、LZWコーディング規則LempelZipWelchrule、算術コーディング規則Arithmeticcodingrule、RLERunLengthEncoding、または他の適当なコーディング規則であり得る。また、前記ハフマンコーディング規則は、静的ハフマンコーディング規則と動的ハフマンコーディング規則とを含む。図9は、静的ハフマンコーディング規則を用いるパターン分析器の動作を説明するためのフローチャートである。図5と図9とを参照すると、パターン分析器27は、入力データDATAのパターンを検索するステップS40。入力データDATAに含まれたシンボルが発見される度にステップS61、パターン分析器27は、当該シンボルの頻度数を1増加させるステップS62。パターン分析器27は、入力データDATAが、いずれも入力されたかまたは、入力データDATAの端部に到逹したかを決定するステップS63。入力データDATAが、いずれも入力された時または、入力データDATAの端部に到逹した時、パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則例えば、静的ハフマンコーディング規則に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当てるステップS64。ステップS63で、入力データDATAが、いずれも入力されなかった時または、入力データDATAの端部に到逹しなかった時、前記方法は、ステップS40に戻り、入力データDATAの次のシンボルについて前述した段階を引き続き行う。ステップS61で、パターン分析器27は、入力データDATAでシンボルを発見することができない時、ステップS63を行う。図10は、動的ハフマンコーディング規則を用いるパターン分析器の動作を説明するためのフローチャートである。図5と図10とを参照すると、パターン分析器27は、入力データDATAのパターンを検索するステップS40。入力データDATAに含まれたシンボルが発見されればステップS66、パターン分析器27は、前記シンボルが新たなシンボルであるか否かを判断するステップS67。前記シンボルが新たなシンボルであれば、パターン分析器27は、前記シンボルをシンボルリストsymbollistに追加しステップS68、当該シンボルの頻度数を1増加させるステップS69。パターン分析器27は、入力データDATAが、いずれも入力されたか否かを確認する。入力データDATAが、いずれも入力された時ステップS70、パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則例えば、動的ハフマンコーディング規則に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当てるステップS71。ステップS70で、入力データDATAが、いずれも入力されなかった時、前記方法は、ステップS40に戻り、入力データDATAの残りの部分について前述した段階を引き続き行う。発見されたシンボルが新たなシンボルではない時ステップS67、当該シンボルの頻度数を1増加させるステップS69。シンボルが、入力データDATAで発見されない時、ステップS70が行われる。図14は、データ圧縮装置のさらに他の動作を説明するためのフローチャートである。図14に示された方法は、図1Aのデータ圧縮装置10Aで行われる。図1Aと図14とを参照すると、ヘッダ分析器21は、ヘッダHEADERに含まれた指示ビットに基づいて入力データDATAが既に圧縮されたか否かを決定するステップS1402。ヘッダHEADERに含まれた指示ビットが、ボディーDATA1に含まれたデータが圧縮されたデータであることを指示する時、ヘッダ分析器21は、入力データDATAが既に圧縮されたと決定する。ヘッダ分析器21が、ボディーDATA1に含まれたデータが圧縮されたデータであると決定すればステップS1402、ヘッダ分析器21は、前記データが既に圧縮されたデータであることを指示する分析コードINF1をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、圧縮していないバッファされたデータBDiを出力バッファ50に伝送するステップS1404。データ圧縮管理器40によってバイパスされたバッファされたデータBDiは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存されるステップS1408。ヘッダ分析器21が、ボディーDATA1に含まれたデータが圧縮されていないデータであると決定すればステップS1402、ヘッダ分析器21は、ボディーDATA1に含まれたデータが圧縮されていないデータであることを指示する分析コードINF1をデータ圧縮管理器40に伝送する。分析コードINF1に応答して、データ圧縮管理器40は、圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮するステップS1404。データ圧縮管理器40から出力された圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存されるステップS1408。図15は、データ圧縮装置のさらに他の動作を説明するためのフローチャートである。図15に示された方法は、図4のデータ圧縮装置10Cで行われる。ヘッダ分析器25は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析して、入力データDATAが、圧縮されたデータであるか否かを決定するステップS1502。ボディーDATA1に含まれたデータが、圧縮されたデータであることを指示する第1値、例えば、1を有する指示ビットによって、ヘッダ分析器25は、第1値を有する制御信号、例えば、ローレベルを有する制御信号を予測器26に出力して予測器26の動作をディセーブルdisableさせるステップS1504。ヘッダ分析器25は、バッファされたデータBDiの圧縮のバイパスをデータ圧縮管理器40に命令することができる分析コードINF3をデータ圧縮管理器40に出力するステップS1506。ボディーDATA1に含まれたデータが、圧縮されていないデータであることを表わす第2値、例えば、0を有する指示ビットによってステップS1502、ヘッダ分析器25は、制御信号、例えば、ハイレベルを有する制御信号を予測器26に出力して予測器26の動作をイネーブルさせるステップS1508。予測器26は、図4を参照して説明したように、圧縮データCDATAのサイズを予測することができるステップS1510。予測器26は、圧縮データ以下、‘予測データECDATA’と称するの予測されたサイズと基準データのサイズとを比較するステップS1512。予測データECDATAのサイズが、基準データのサイズより大きい時、予測器26は、バッファされたデータBDiが圧縮される必要がないことを指示する分析コードINF3をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、圧縮されていないバッファされたデータBDiを出力バッファ50に伝送するステップS1506。出力バッファ50に保存されたバッファされたデータBDiは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存されるステップS1516。予測データECDATAのサイズが、基準データのサイズより小さいか、同じである時、予測器26は、バッファされたデータBDiは必ず圧縮されなければならないことを指示する分析コードINF3をデータ圧縮管理器40に伝送する。分析コードINF3に応答して、データ圧縮管理器40は、バッファされたデータBDiを圧縮するステップS1514。圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存されるステップS1516。図11は、本発明の実施例によるデータ圧縮装置を含むデータ処理システムの一実施例を示す。データ処理システム100は、データ圧縮装置10A、10B、10C、10D、または1310を含みうる。データ処理システム100は、SSDsolidstatedriveとして具現されうる。また、データ処理システム100は、データパターン分析器20A、20B、20C、20D、または1320総括的に20を含みうる。図11を参照すると、データ処理システムまたはデータ処理装置100は、メモリコントローラ90と複数のフラッシュメモリ装置141とを含む。メモリコントローラ90は、データパターン分析器20を含むホストインターフェース101、データ圧縮管理器40、メインプロセッサ110、揮発性メモリ120、及びフラッシュ管理コントローラFlashManagementController、FMC140を含む。各構成要素40、101、110、120、及び140は、データバス100-1を通じて互いにデータ通信を行うことができる。ホストインターフェース101は、ホスト図示せずとメモリコントローラ90でデータ通信のためのインターフェース機能を行う。DRAMdynamicrandomaccessmemoryとして具現された揮発性メモリ120は、図1A、図2、図4、図5、または図13に示された入力バッファ30と出力バッファ50との機能を共に行うことができる。ホストから出力された入力データDATAが、第1データ経路PATH1を通じて揮発性メモリ120に伝送される途中で、データパターン分析器20は、入力データDATAを受信し、入力データDATAのパターンを分析する。入力データDATAのパターンは、図1から図10、図13、図14、及び図15を参照して説明された方法によって分析されうる。データパターン分析器20は、データバス100-1を通じて分析結果による分析コードINF1、INF2、INF3、またはINF4をデータ圧縮管理器40に伝送する。分析コードINF1、INF2、INF3、またはINF4が、データが圧縮される必要がないことを指示する時、データ圧縮管理器40は、第2データ経路PATH2を通じて揮発性メモリ120の入力バッファ30からリードされたバッファされたデータBDiを圧縮せず、揮発性メモリ120の出力バッファ50に保存する。しかし、分析コードINF1、INF2、INF3、またはINF4が、データが圧縮されなければならないことを指示する時、データ圧縮管理器40は、第2データ経路PATH2を通じて揮発性メモリ120の入力バッファ30からリードされたバッファされたデータBDiを圧縮し、圧縮データCDATAを揮発性メモリ120の出力バッファ50に保存する。揮発性メモリ120の出力バッファ50に保存されたデータ、すなわち、バッファされたデータBDiまたは圧縮データCDATAは、第3データ経路PATH3を通じてFMC140に伝送される。そして、バッファされたデータBDiまたは圧縮データCDATAは、FMC140の制御によって複数のフラッシュメモリ装置141のうちの少なくとも1つのフラッシュメモリ装置に伝送される。図12は、本発明の実施例によるデータ圧縮装置を含むデータ処理システムの他の実施例を示す。図12のデータ処理システム200は、データ圧縮装置10A、10B、10C、10D、または1310を含みうる。図12を参照すると、データ処理システムまたはデータ処理装置200は、スマートカードsmartcardまたはメモリカードmemorycardとして具現されうる。データ処理システム200は、カードインターフェース210、メモリコントローラ220、及び不揮発性メモリ装置230を含む。メモリコントローラ220は、データ圧縮装置10A、10B、10C、10D、または1310総括的に10に表示するを含む。実施例によって、データ圧縮装置10は、メモリコントローラ220の外部に具現されることもある。カードインターフェース210は、メモリコントローラ220とホスト図示せずとの間で送受信するデータの交換を制御する。メモリコントローラ220は、不揮発性メモリ装置230の動作、例えば、プログラムprogram動作、リードread動作、及び/またはイレーズerase動作を制御する。ホストから出力され、カードインターフェース210を通じて入力されたデータDATAが、入力バッファ30に伝送される途中で、データ圧縮装置10は、データDATAのパターンを分析する。該分析結果に基づいて、データ圧縮装置10は、バッファされたデータBDiを選択的に圧縮し、バッファされたデータBDiまたは圧縮データCDATAを不揮発性メモリ装置230に出力する。"