JP2007094639A - メモリコントローラ及びフラッシュメモリシステム - Google Patents

メモリコントローラ及びフラッシュメモリシステム Download PDF

Info

Publication number
JP2007094639A
JP2007094639A JP2005281495A JP2005281495A JP2007094639A JP 2007094639 A JP2007094639 A JP 2007094639A JP 2005281495 A JP2005281495 A JP 2005281495A JP 2005281495 A JP2005281495 A JP 2005281495A JP 2007094639 A JP2007094639 A JP 2007094639A
Authority
JP
Japan
Prior art keywords
data
flash memory
block
host system
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005281495A
Other languages
English (en)
Inventor
Takuma Mitsunaga
琢真 光永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TDK Corp
Original Assignee
TDK Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TDK Corp filed Critical TDK Corp
Priority to JP2005281495A priority Critical patent/JP2007094639A/ja
Publication of JP2007094639A publication Critical patent/JP2007094639A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】本発明は、フラッシュメモリとの間でのデータの転送を迅速、効率的にすることが可能なメモリコントローラ、及び当該メモリコントローラを備えるフラッシュメモリシステムを提供することを目的とする。
【解決手段】コントローラの圧縮伸長ブロック9は、ホストシステム4がフラッシュメモリ2に格納しようとするデータを受け取り、受け取ったデータにロスレス圧縮を施してフラッシュメモリ2に格納する。また、ホストシステム4が取得しようとするデータにロスレス圧縮が施されたものに相当するデータをフラッシュメモリ2より読み出し、読み出したデータを伸張して、ホストシステム4へと出力する。
【選択図】図4

Description

本発明は、メモリコントローラ及び当該メモリコントローラを備えるフラッシュメモリシステムに関する。
近年、不揮発性の記録媒体であるフラッシュメモリの開発が盛んに行われ、デジタルカメラ等の情報機器(ホストシステム)の記憶媒体として普及している。
このような機器によるフラッシュメモリへのアクセスを制御するために、メモリコントローラが用いられる。フラッシュメモリへのデータの書き込み又はフラッシュメモリからのデータの読み出しを円滑化するために、データを一時的に格納するバッファ(例えばFIFOメモリ等)を備えるメモリコントローラが開発されている(例えば特許文献1を参照)。多くの場合、バッファは、複数セクタ(1セクタは512バイト)分のデータを格納できるような構成になっている。
特開2004−326574号公報
しかし、フラッシュメモリへ書き込むデータ又はフラッシュメモリから読み出すデータが大量であると、フラッシュメモリとメモリコントローラとの間でデータの転送にかかる時間が増大する。また、両者間を接続するバスのバス幅が狭いと、全データを転送するために必要な転送の処理の回数も増大する。従って、データの転送が遅く、非効率になるという問題が生じる。
本発明は上記の実情に鑑みてなされたもので、フラッシュメモリとの間でのデータの転送を迅速、効率的にすることが可能なメモリコントローラ、及び当該メモリコントローラを備えるフラッシュメモリシステムを提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るメモリコントローラは、
フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答して前記フラッシュメモリへのアクセスを制御するメモリコントローラであって、
前記ホストシステムが前記フラッシュメモリに格納しようとするデータを受け取り、該受け取ったデータにロスレス圧縮を施して前記フラッシュメモリに格納する圧縮手段と、
前記ホストシステムが取得しようとするデータにロスレス圧縮が施されたものに相当するデータを前記フラッシュメモリより読み出し、該読み出したデータを伸張して、前記ホストシステムへと出力する伸張手段と、を備える、
ことを特徴とする。
前記圧縮手段は、前記ロスレス圧縮が施されたデータに所定の値を有するデータ1個以上を付加して所定長のデータとし、当該所定長のデータのエラー訂正符号を生成して前記フラッシュメモリに格納する手段を備えていてもよい。
前記伸張手段は、
前記ホストシステムが取得しようとするデータにロスレス圧縮が施されたものに相当する圧縮データ、及び当該圧縮データに基づいて生成されたエラー訂正符号を前記フラッシュメモリより読み出す手段と、
前記フラッシュメモリより読み出した圧縮データに所定の値を有するデータ1個以上を付加して所定長のデータとし、当該所定長のデータのエラー訂正を、前記読み出したエラー訂正符号に基づいて行う手段と、を備えていてもよい。
また、本発明の第2の観点に係るフラッシュメモリシステムは、上記のいずれかの特徴を有するメモリコントローラと、フラッシュメモリと、から構成されることを特徴とする。
本発明によれば、フラッシュメモリとの間でのデータの転送を迅速、効率的にすることが可能なメモリコントローラ、及び当該メモリコントローラを備えるフラッシュメモリシステムが実現される。
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。図1に示すように、フラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するコントローラ3で構成されている。
なお、フラッシュメモリシステム1は、外部バス13を介してホストシステム4と接続される。ホストシステム4は、ホストシステム4の全体の動作を制御するためのCPU(Central Processing Unit)、フラッシュメモリシステム1との情報の授受を担うコンパニオンチップ等から構成される。ホストシステム4は、例えば、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。
フラッシュメモリ2は、不揮発性メモリであり、レジスタと、メモリセルアレイと、から構成される。フラッシュメモリ2は、レジスタとメモリセルとの間でデータの複写を行って、データの書き込み又は読み出しを行う。
メモリセルアレイは、複数のメモリセル群と、ワード線と、を備える。各メモリセル群は、複数のメモリセルが直列に接続されたものである。ワード線は、メモリセル群の特定のメモリセルを選択するためのものである。このワード線を介して選択されたメモリセルとレジスタとの間で、データの複写、即ち、レジスタから選択されたメモリセルへの複写又は選択されたメモリセルからレジスタへのデータの複写が行われる。
メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタによって構成される。ここで、上側のゲート、下側のゲートは、それぞれ、コントロールゲート、フローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書き込み若しくはデータの消去が行われる。
このフローティングゲートは、周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。なお、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子が注入される。また、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子が排出される。
ここで、フローティングゲートに電子が注入されている状態が書き込み状態であり、論理値「0」に対応する。また、フローティングゲートから電子が排出されている状態が消去状態であり、論理値「1」に対応する。
このようなフラッシュメモリ2のアドレス空間を図2に示す。フラッシュメモリ2のアドレス空間は、“ページ”と“ブロック”に基づいて分割されている。
ページは、フラッシュメモリ2にて行われるデータ読み出し動作及びデータ書き込み動作における処理単位である。ブロックは、フラッシュメモリ2にて行われるデータ消去動作における処理単位である。
図2に示したフラッシュメモリでは、1つのページは、1セクタ(512バイト)のユーザ領域25と、16バイトの冗長領域26とを含んでいる。又、一つのページが4セクタのユーザー領域と64バイトの冗長領域で構成されているフラッシュメモリもある。ユーザ領域25は、ホストシステム4から供給されるユーザデータを格納する。
冗長領域26は、エラーコレクションコード、対応論理ブロックアドレス、ブロックステータス(フラグ)等の付加データを記憶するための領域である。
エラーコレクションコードは、ユーザ領域25に記憶されているデータに含まれる誤りを検出し、訂正するためのデータである。
対応論理ブロックアドレスは、1つのブロックに含まれている少なくとも1つのユーザ領域25に有効なデータが格納されているとき、そのブロックが対応付けられている論理ブロックのアドレスを示す。
論理ブロックアドレスは、ホストシステム4から与えられるホストアドレスに基づいて決定されるブロックのアドレスである。一方、フラッシュメモリ2内における実際のブロックのアドレスは、物理ブロックアドレスと称される。
1つのブロックに含まれているいずれのユーザ領域25にも有効なデータが格納されていないときには、そのブロックに含まれている冗長領域26に、対応論理ブロックアドレスは格納されていない。
従って、冗長領域26に対応論理ブロックアドレスが格納されているか否かを判定することにより、その冗長領域26が含まれているブロックのデータが消去されているか否かを判定することができる。冗長領域26に対応論理ブロックアドレスが格納されていないとき、そのブロックは、データが消去された状態となっている。
1つのブロックは、複数のページを含んでいる。フラッシュメモリ2では、データの上書きができない。このため、1つのページに格納されたデータのみを書き換えるときであっても、そのページが含まれたブロック内の全ページに格納されたデータを、再度書き込まなければならない。
つまり、通常のデータ書き換えでは、書き換えるページが含まれるブロックの全ページに格納されたデータが、別の消去されているブロックに書き込まれる。この際、データが変更されないページに格納されているデータは、以前に格納されていたデータがそのまま再度書き込まれる。
上記のようにデータを書き換えるにあたっては、書き換えられたデータは、以前に格納されていたブロックとは異なるブロックに書き込まれる。このため、論理ブロックアドレスと物理ブロックアドレスの間の対応関係は、フラッシュメモリ2にてデータが書き換えられる毎に、動的に変化する。
従って、論理ブロックアドレスと物理ブロックアドレスとの対応関係を管理する必要があり、通常、この対応関係は、アドレス変換テーブルによって管理される。このアドレス変換テーブルは、各ページの冗長領域26に記憶されている対応論理ブロックアドレスに基づいて作成される。なお、このような動的なアドレス管理手法は、フラッシュメモリを用いたメモリシステムでは一般的に行われている手法である。
ブロックステータスは、ブロックの良否を示すフラグである。正常にデータの書き込み等を行うことができないブロックは、不良ブロックと判別され、冗長領域26には、不良ブロックであることを示すブロックステータスが書き込まれる。
このようなフラッシュメモリ2は、コントローラ3から、データ、アドレス情報、ステータス情報、内部コマンド等を受信して、データの読み出し処理、書き込み処理、ブロック消去処理、転送処理等の各処理を行う。
ここで、内部コマンドとは、コントローラ3がフラッシュメモリ2に処理の実行を指示するためのコマンドであり、フラッシュメモリ2は、コントローラ3から与えられる内部コマンドに従って動作する。これに対して、外部コマンドとは、ホストシステム4がフラッシュメモリシステム1に対して処理の実行を指示するためのコマンドである。
コントローラ3は、図1に示すように、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、圧縮伸張ブロック9と、フラッシュメモリインターフェースブロック10と、ROM(Read Only Memory)12と、から構成される。これら機能ブロックによって構成されるコントローラ3は、一つの半導体チップ上に集積される。以下に各機能ブロックについて説明する。
マイクロプロセッサ6は、ROM12に記憶されているプログラムに従って、コントローラ3の全体の動作を制御する。例えば、マイクロプロセッサ6は、各種処理等を定義したコマンドセットをROM12から読み出してフラッシュメモリインターフェースブロック10に供給し、フラッシュメモリインターフェースブロック10に処理を実行させる。
ホストインターフェースブロック7は、図3に示すようにコマンドレジスタR1、セクタ数レジスタR2、LBAレジスタR3、を備えており、ホストシステム4との間で、データ、アドレス情報、ステータス情報、外部コマンド等の授受を行なう。すなわち、フラッシュメモリシステム1とホストシステム4は、外部バス13を介して相互に接続される。かかる状態において、ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインターフェースブロック7を入口としてフラッシュメモリシステム1の内部(例えば、圧縮伸張ブロック9)に取り込まれる。また、フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインターフェースブロック7を出口としてホストシステム4に供給される。
ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される。
圧縮伸張ブロック9は、図4に示すように、フラッシュメモリ2に書き込むデータを保持するためのFIFO(First In First Out)型メモリ(以下、書込用FIFOと呼ぶ)901と、圧縮ブロック902と、書込用バッファ903と、選択ブロック904と、エラーコレクションコード生成ブロック905と、読出用バッファ906と、誤り訂正ブロック907と、伸張ブロック908と、選択ブロック909と、ホストシステム4に供給するデータを保持するためのFIFO型のメモリ(以下、読出用FIFOと呼ぶ)910と、より構成されている。なお、1個のFIFO型メモリが書込用FIFO901及び読出用FIFO910の機能を兼ねていてもよい。また、1個のバッファが書込用バッファ903及び読出用バッファ906の機能を兼ねていてもよい。
書込用FIFO901は、フラッシュメモリ2に書き込むべきデータをホストインターフェースブロック7を介して取得、蓄積し、古いデータから順に圧縮ブロック902及び選択ブロック904に供給する。
圧縮ブロック902は、書込用FIFO901が供給したデータを取得して、このデータに適応型ロスレスデータ圧縮(ADLC)を施し、得られたデータ(圧縮データ)を書込用バッファ903に供給する。
書込用バッファ903は、圧縮ブロック902が供給した圧縮データを一時的に蓄積する。すなわち、圧縮ブロック902が供給した圧縮データは、フラッシュメモリ2が書き込み可能な状態となるまで書込用バッファ903に保持され、フラッシュメモリ2が書き込み可能な状態となると、選択ブロック904に供給される。
選択ブロック904は、書込用FIFO901が供給したデータ(非圧縮データ)、又は、書込用バッファ903が供給した圧縮データのうち、たとえば外部から供給される命令等により特定されるいずれか一方を、エラーコレクションコード生成ブロック905へ供給する。
エラーコレクションコード生成ブロック905は、圧縮データ又は非圧縮データを選択ブロック904より供給されると、供給されたデータに、例えばリードソロモン符号化を施すことにより、エラーコレクションコードを生成する。
ただし、供給されたデータが圧縮データであった場合、エラーコレクションコード生成ブロック905は、まずこの圧縮データにパディングを施してから、エラーコレクションコードの生成を行う。すなわち、この圧縮データに所定の値(例えば、値が“1”であるビットの連続)を付加して、データ長を所定の長さ(例えば、512バイト)にし、この所定の長さのデータのエラーコレクションコードを生成する。また、供給されたデータが圧縮データであった場合、エラーコレクションコード生成ブロック905は、パディングされていない状態の圧縮データのデータ長を特定する。
そして、エラーコレクションコード生成ブロック905は、非圧縮データ又はパディングされていない状態の圧縮データと、エラーコレクションコードとを、フラッシュメモリインターフェースブロック10に供給する。また、圧縮データを供給する場合は、この圧縮データのデータ長を示すデータも供給する。
読出用バッファ906は、フラッシュメモリ2から読み出された圧縮データ又は非圧縮データ(圧縮データの場合はさらに当該圧縮データのデータ長を示すデータも)と、エラーコレクションコードとを一時的に蓄積する。すなわち、フラッシュメモリ2から読み出されたこれらのデータは、読出用FIFO910が受け取り可能な状態となるまで読出用バッファ906に保持され、読出用FIFO910が受け取り可能な状態となると、誤り訂正ブロック907に供給される。
誤り訂正ブロック907は、圧縮データ又は非圧縮データ(圧縮データの場合はさらに当該圧縮データのデータ長を示すデータも)と、エラーコレクションコードとを読出用バッファ906より供給されると、エラーコレクションコードを用いて、この圧縮データ又は非圧縮データの誤り訂正を行う。そして、誤り訂正を経た圧縮データを伸張ブロック908に供給し、又は、誤り訂正を経た非圧縮データを選択ブロック909に供給する。
ただし、誤り訂正ブロック907は、圧縮データを供給された場合は、この圧縮データに、エラーコレクションコードの生成時に付加した値と同一の値を付加する形でパディングを施し、パディングされた圧縮データの誤り訂正を行った上、パディングを除去することにより、伸張ブロック908に供給すべき圧縮データを得るものとする。
伸張ブロック908は、誤り訂正ブロック907が供給した圧縮データを取得してこの圧縮データを伸張し、得られたデータ、すなわち非圧縮データを選択ブロック909に供給する。
選択ブロック909は、誤り訂正ブロック907より供給された非圧縮データ、又は伸長ブロック908より供給された非圧縮データを、読出用FIFO910に供給する。
読出用FIFO910は、選択ブロック909より供給された非圧縮データを蓄積し、古い非圧縮データから順に、ホストインターフェースブロック7を介してホストシステム4に供給する。
フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド等の授受を行う。より詳細には、フラッシュメモリインターフェースブロック10は、アドレスレジスタ、コマンドレジスタ、命令処理ブロック等から構成される。
アドレスレジスタは、アクセス先の物理ブロックアドレスを格納するためのレジスタである。物理ブロックアドレスは、フラッシュメモリインターフェースブロック10が実行する一連の制御処理でアクセスするフラッシュメモリ2内のブロックを指定するためのアドレス情報である。
コマンドレジスタは、コマンドセットを構成するシーケンスコマンドを格納するためのレジスタである。このコマンドセットには、コントローラ3内での処理を指示するコマンドや、フラッシュメモリ2への内部コマンド、アドレス情報等の供給を指示するコマンドが含まれている。
命令処理ブロックは、コマンドレジスタに格納されているシーケンスコマンドに従って、フラッシュメモリ2を制御するための内部コマンド、アドレス情報等を出力する。
フラッシュメモリインターフェースブロック10は、命令処理ブロックによって出力される内部コマンド、アドレス情報等をフラッシュメモリ2に供給することにより、フラッシュメモリ2に読み出し、書き込み等を実行させる。
ROM12は、マイクロプロセッサ6による処理の手順を定義するプログラムを格納する不揮発性の記憶素子である。具体的には、ROM12は、例えば、アドレス変換テーブルの作成等の処理手順を定義するプログラムを格納する。
このように構成されるフラッシュメモリシステム1において、ホストシステム4がフラッシュメモリ2にデータを書き込む場合、ホストシステム4は、ホストインターフェースブロック7のセクタ数レジスタR2に、書き込むデータのサイズを設定し、LBAレジスタR3に、書き込みを行うデータの論理アドレスを設定し、その後、コマンドレジスタR1に、書き込み処理を指示する外部コマンドを設定する。
コントローラ3は、書き込み処理を指示する外部コマンドが、コマンドレジスタR1に設定されると、書き込み処理を開始する。
書き込み処理が開始されると、書き込むデータがホストシステム4から順次ホストインターフェースブロック7に供給され、このデータは、ホストインターフェースブロック7から、圧縮伸張ブロック9によって読み出される。
ホストインターフェースブロック7から圧縮伸張ブロック9に読み出されたデータは、圧縮伸長ブロック9によってロスレス圧縮データへと圧縮され、このロスレス圧縮データと、このロスレス圧縮データのデータ長を示すデータと、エラーコレクションコードは、フラッシュメモリ2が書き込み可能な状態になると、フラッシュメモリインターフェースブロック10及び内部バス14を介してフラッシュメモリ2の所望のページのユーザ領域25及び冗長領域26に書き込まれる。なお、圧縮データを書き込む場合、コントローラ3は、各々のページのユーザ領域25には、1セクタ分の非圧縮データを圧縮して得られる分のみの圧縮データを書き込むものとし、この圧縮データを書き込んだ残りの部分には、データを書き込まないものする。
一方、フラッシュメモリシステム1において、ホストシステム4がフラッシュメモリ2からデータを読み出す場合、ホストシステム4は、ホストインターフェースブロック7のセクタ数レジスタR2に、読み出すデータのセクタ数を設定し、LBAレジスタR3に、読み出すデータの論理アドレスを設定し、その後、コマンドレジスタR1に、読み出し処理を指示する外部コマンドを設定する。
コントローラ3は、読み出し処理を指示する外部コマンドが、コマンドレジスタR1に設定されると、読み出し処理を開始する。
読み出し処理では、マイクロプロセッサ6は、論理アドレスを物理アドレスへと変換する。そして、フラッシュメモリ2の該物理アドレスに格納されたデータは、フラッシュメモリインターフェースブロック10及び内部バス14を介して圧縮伸張ブロック9に読み出される。
なお、圧縮データを読み出す場合、コントローラ3は、1個のセクタから、エラーコレクションコード、非圧縮データ1セクタ分に相当する圧縮データ、及びこの圧縮データのデータ長を示すデータとを読み出すと、当該セクタのユーザ領域25の空白部分の読み出しは行わず、直ちに次のセクタの読み出しに移るものとする。
圧縮伸張ブロック9に読み出されたデータが非圧縮データからなる場合、この非圧縮データは、同じく読み出されたエラーコレクションコードを用いて誤り訂正を施された上、圧縮伸張ブロック9から、ホストインターフェースブロック7を介してホストシステム4に供給される。
一方、圧縮伸張ブロック9に読み出されたデータが圧縮データからなる場合、この圧縮データは、同じく読み出されたエラーコレクションコードを用いて誤り訂正を施され、次いで伸張される。伸張により得られた非圧縮データは、圧縮伸張ブロック9から、ホストインターフェースブロック7を介してホストシステム4に供給される。
以上で説明したように、本実施の形態のフラッシュメモリシステム1では、ホストシステム4から供給されたデータがロスレス圧縮された上でフラッシュメモリ2に書き込まれ、また、フラッシュメモリ2から読み出されたデータは伸張された上でホストシステム4に供給される。このため、フラッシュメモリ2とコントローラ3との間でのデータの転送量が減少し、転送が迅速、効率的になる。また、フラッシュメモリ2へのデータの書き込みの処理、及び、フラッシュメモリ2からのデータの読み出しの処理が短縮される。
本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。 フラッシュメモリのアドレス空間の構造を概略的に示す図である。 ホストインターフェースブロックの構成を示すブロック図である。 圧縮伸張ブロックの構成を示すブロック図である。
符号の説明
1 フラッシュメモリシステム
2 フラッシュメモリ
3 コントローラ
4 ホストシステム
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 圧縮伸長ブロック
10 フラッシュメモリインターフェースブロック
12 ROM
13 外部バス
14 内部バス
25 ユーザ領域
26 冗長領域

Claims (4)

  1. フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答して前記フラッシュメモリへのアクセスを制御するメモリコントローラであって、
    前記ホストシステムが前記フラッシュメモリに格納しようとするデータを受け取り、該受け取ったデータにロスレス圧縮を施して前記フラッシュメモリに格納する圧縮手段と、
    前記ホストシステムが取得しようとするデータにロスレス圧縮が施されたものに相当するデータを前記フラッシュメモリより読み出し、該読み出したデータを伸張して、前記ホストシステムへと出力する伸張手段と、を備える、
    ことを特徴とするメモリコントローラ。
  2. 前記圧縮手段は、前記ロスレス圧縮が施されたデータに所定の値を有するデータ1個以上を付加して所定長のデータとし、当該所定長のデータのエラー訂正符号を生成して前記フラッシュメモリに格納する手段を備える、
    ことを特徴とする請求項1に記載のメモリコントローラ。
  3. 前記伸張手段は、
    前記ホストシステムが取得しようとするデータにロスレス圧縮が施されたものに相当する圧縮データ、及び当該圧縮データに基づいて生成されたエラー訂正符号を前記フラッシュメモリより読み出す手段と、
    前記フラッシュメモリより読み出した圧縮データに所定の値を有するデータ1個以上を付加して所定長のデータとし、当該所定長のデータのエラー訂正を、前記読み出したエラー訂正符号に基づいて行う手段と、を備える、
    ことを特徴とする請求項2に記載のメモリコントローラ。
  4. 請求項1から3のいずれか1項に記載のメモリコントローラと、フラッシュメモリと、から構成される、
    ことを特徴とするフラッシュメモリシステム。
JP2005281495A 2005-09-28 2005-09-28 メモリコントローラ及びフラッシュメモリシステム Pending JP2007094639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005281495A JP2007094639A (ja) 2005-09-28 2005-09-28 メモリコントローラ及びフラッシュメモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005281495A JP2007094639A (ja) 2005-09-28 2005-09-28 メモリコントローラ及びフラッシュメモリシステム

Publications (1)

Publication Number Publication Date
JP2007094639A true JP2007094639A (ja) 2007-04-12

Family

ID=37980302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005281495A Pending JP2007094639A (ja) 2005-09-28 2005-09-28 メモリコントローラ及びフラッシュメモリシステム

Country Status (1)

Country Link
JP (1) JP2007094639A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262640A (ja) * 2009-04-30 2010-11-18 Internatl Business Mach Corp <Ibm> 不揮発性メモリの適応型エンデュランス・コーディング方法及びシステム
US8429339B2 (en) 2010-11-19 2013-04-23 Kabushiki Kaisha Toshiba Storage device utilizing free pages in compressed blocks
JP2013516000A (ja) * 2009-12-23 2013-05-09 サンディスク テクノロジィース インコーポレイテッド メモリ装置における制御データの誤り訂正システムおよび方法
JP2013161447A (ja) * 2012-02-08 2013-08-19 Toshiba Corp コントローラ、データ記憶装置及びプログラム
US8738838B2 (en) 2010-04-09 2014-05-27 Samsung Electronics Co., Ltd. Method, device and system for storing data in storage media using a reference condition
WO2015114829A1 (ja) * 2014-02-03 2015-08-06 株式会社日立製作所 情報処理装置
US9146933B2 (en) 2011-12-22 2015-09-29 International Business Machines Corporation Compressed storage access system with uncompressed frequent use data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078853A (ja) * 1996-09-05 1998-03-24 Hitachi Ltd 記憶装置
JPH10207726A (ja) * 1997-01-23 1998-08-07 Oki Electric Ind Co Ltd 半導体ディスク装置
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
WO2004092960A2 (en) * 2003-04-16 2004-10-28 Koninklijke Philips Electronics N.V. Selectable procession / decompression for data stored in memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078853A (ja) * 1996-09-05 1998-03-24 Hitachi Ltd 記憶装置
JPH10207726A (ja) * 1997-01-23 1998-08-07 Oki Electric Ind Co Ltd 半導体ディスク装置
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
WO2004092960A2 (en) * 2003-04-16 2004-10-28 Koninklijke Philips Electronics N.V. Selectable procession / decompression for data stored in memory

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262640A (ja) * 2009-04-30 2010-11-18 Internatl Business Mach Corp <Ibm> 不揮発性メモリの適応型エンデュランス・コーディング方法及びシステム
JP2014170578A (ja) * 2009-04-30 2014-09-18 International Business Maschines Corporation メモリ・アクセス方法およびシステム
JP2013516000A (ja) * 2009-12-23 2013-05-09 サンディスク テクノロジィース インコーポレイテッド メモリ装置における制御データの誤り訂正システムおよび方法
KR101727267B1 (ko) * 2009-12-23 2017-05-02 샌디스크 테크놀로지스 엘엘씨 메모리 디바이스에서 제어 데이터의 오류 정정 시스템 및 방법
US8738838B2 (en) 2010-04-09 2014-05-27 Samsung Electronics Co., Ltd. Method, device and system for storing data in storage media using a reference condition
US8429339B2 (en) 2010-11-19 2013-04-23 Kabushiki Kaisha Toshiba Storage device utilizing free pages in compressed blocks
US9146933B2 (en) 2011-12-22 2015-09-29 International Business Machines Corporation Compressed storage access system with uncompressed frequent use data
JP2013161447A (ja) * 2012-02-08 2013-08-19 Toshiba Corp コントローラ、データ記憶装置及びプログラム
US10572187B2 (en) 2012-02-08 2020-02-25 Toshiba Memory Corporation Controller, data storage device, and computer program product
WO2015114829A1 (ja) * 2014-02-03 2015-08-06 株式会社日立製作所 情報処理装置
JPWO2015114829A1 (ja) * 2014-02-03 2017-03-23 株式会社日立製作所 情報処理装置

Similar Documents

Publication Publication Date Title
US6400602B2 (en) Semiconductor memory device and restoration method therefor
JP5311081B2 (ja) 固体記憶装置におけるデータ収集および圧縮
JP4034971B2 (ja) メモリコントローラおよびメモリシステム装置
US7657697B2 (en) Method of controlling a semiconductor memory device applied to a memory card
JP2007094639A (ja) メモリコントローラ及びフラッシュメモリシステム
JP3875139B2 (ja) 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム
JP4177360B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4254932B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2006221334A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4661369B2 (ja) メモリコントローラ
JP2007179479A (ja) メモリコントローラおよびフラッシュメモリシステム
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4273106B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4692843B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2006331233A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2005316793A (ja) フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4194518B2 (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4273109B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2006048746A (ja) メモリカード

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100824