JP2007519119A - 複数のメモリデバイスを使用するポータブルデータ記憶デバイス - Google Patents
複数のメモリデバイスを使用するポータブルデータ記憶デバイス Download PDFInfo
- Publication number
- JP2007519119A JP2007519119A JP2006551010A JP2006551010A JP2007519119A JP 2007519119 A JP2007519119 A JP 2007519119A JP 2006551010 A JP2006551010 A JP 2006551010A JP 2006551010 A JP2006551010 A JP 2006551010A JP 2007519119 A JP2007519119 A JP 2007519119A
- Authority
- JP
- Japan
- Prior art keywords
- data
- flash memory
- control unit
- nand flash
- master control
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/077—Constructional details, e.g. mounting of circuits in the carrier
- G06K19/0772—Physical layout of the record carrier
- G06K19/07732—Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Transfer Systems (AREA)
Abstract
ポータブルデータ記憶デバイスが、USBインターフェイス3と、USB制御装置2と、マスター制御ユニット7と、2つ以上のNANDフラッシュメモリデバイス9、19を含む。マスター制御ユニット7は、並列8ビットバスを通してデータをNANDフラッシュメモリデバイス9、19に同時に送ることができる。マスター制御ユニット7は、メモリデバイス9、19に同一の制御データをそれぞれの制御信号ライン6、16を通して送ることにより、メモリデバイス9、19の動作を制御する。データが記憶されるとき、データはそれぞれのメモリデバイス9、19に送られる部分に分割され、両メモリデバイスはデータを同時に記憶するように命令される。データが検索されるとき、両メモリはデータをMCUに同時に書き戻すように命令される。
【選択図】 図3
【選択図】 図3
Description
本発明はポータブルデータ記憶デバイスに関連し、デバイスを用いてデバイスにデータを記憶させ、デバイスに書き込まれたデータを検索する方法に関連する。
過去数年の間、フラッシュメモリを含み、コンピュータのシリアルバスに接続することのできるデータ記憶デバイスを提供することは大いに関心を引いている。この分野の先行する文書は、“サムドライブ”(登録商標)の下、その後販売されているデバイスを説明している、WO01/61692である。この文書に説明されている1つの実施形態では、コンピュータがUSB制御装置の制御の下、ポータブル記憶デバイスのフラッシュメモリへおよびフラッシュメモリからデータを転送できるように、デバイスの筐体と一体化されている雄USBプラグが、コンピュータの雌USBソケットに直接接続する。このデバイスに対してさまざまな改良が提案されてきた。例えば、WO03/003282は、デバイスに指紋センサが設けられてもよいことや、指紋センサがユーザのスキャンされた指紋を予め記憶されたデータと比較することによって、ユーザの識別子を確認したケースでのみ、デバイス内に記憶されたデータへのアクセスが許可されることが開示されている。これらの両文書の開示は参照によりここに組み込まれている。
そのようなポータブル記憶デバイスの構造は図1において示されているようなものであってもよい。ポータブル記憶デバイスは、1とラベル付けされた筐体内にある。筐体1は、ホストコンピュータ5のシリアルバス4(すなわち、USBソケット)に直接接続されるUSBインターフェイス3(すなわち、USBプラグ)を制御するUSB制御装置2を含む。ホストコンピュータ5からUSBインターフェイス3に転送されたデータはUSB制御装置2を通してマスター制御ユニット7に送られる。データパケットは512バイトの倍数のサイズを有する。マスター制御ユニット7は、8ビットバス8経由でこれらのデータパケットをNANDフラッシュメモリ9に送る。マスター制御ユニット7は、概略的に6として示される1以上のラインによって送られる制御信号によって、NANDフラッシュメモリユニットを制御する。一般的にこれらのライン6は、(WRITEイネーブル信号またはREADイネーブルコマンドのような)コマンドが現在または間もなくバス8を使用してフラッシュメモリ9に書き込まれることになることを示す、“コマンドラッチイネーブル”(CLE)信号を伝えるラインと、バスが現在または間もなくフラッシュメモリ9にバス8を経由してメモリ9内の位置を示す物理アドレスデータを送信することになることを示す、アドレスラッチイネーブル(ALE)信号を伝えるラインと、フラッシュメモリが何らかの動作するためにはある値をとらなければならない、チップENABLE信号を送るラインとを含む。NANDフラッシュメモリ9は、それぞれの“ウィンドウ”に512バイトセクションのデータを記憶するように構成され、各ウィンドウはまた(例えば、10バイトの)セクタを含み、セクタは正しい記憶を確認するデータを記憶する(すなわち、セクタはむしろチェックビットのように動作する)。データがデバイスから転送されるとき、データは8ビットバス8を通してNANDフラッシュメモリ9から512バイトパケットでマスター制御ユニット7に送られる。マスター制御ユニット7は512バイトパケットをUSB制御装置2に送り、USB制御装置2はデバイス1からUSBインターフェイス3を通して512バイトパケットをホスト5に送る。
図2は既知のメモリデバイスの第2の考えられる形態を示している。図1と同じ意味を有している構成要素は同じ参照番号によってラベル付けされている。図1のデバイスとは対照的に、図2のデバイスは、同一のバス8に接続される第2のNANDフラッシュメモリユニット19を含む。マスター制御ユニットは1組の制御ライン16を使用して、第2のメモリ19を制御する。実際には、制御信号を送るマスター制御ユニット7のいくつかのピンは、ライン6の1つと、ライン16の1つの両方に接続されることがあるので、そのピンは同一の制御信号を両メモリ9、19に同時に送るが、しかし少なくともチップENABLE信号は両メモリに同時には送られない。特に、マスター制御ユニットがデータをメモリに書き込むとき、マスター制御ユニットはメモリにチップENABLE信号を送ることにより、メモリ9、19のうちの1つのみをイネーブルする。チップENABLE信号がそのメモリに送られている間、マスター制御ユニットは最初にライン6の適切な1つを経由してCLE信号をメモリに送り、そして同時にWRITEイネーブルコマンド(チップ命令コード)をバス8上で送る。その後、チップENABLE信号が依然としてそのメモリに送られている間、マスター制御ユニットはライン6の適切な1つを経由してALE信号を送り、そして同時にバス8経由でアドレスデータを送る。それから、チップENABLE信号が依然としてそのメモリに送られている間、マスター制御ユニットはバス8を使用して、そこに記憶されることになるデータをメモリに送る。チップENABLE信号によってイネーブルされたメモリ9、19だけがアドレスデータにより示された位置にデータを記憶するが、しかしながら両チップは記憶されることになるデータを受け取り、オプション的にCLEおよびALE信号も受け取ってもよい。
同様にメモリ制御ユニットがデータを読み出すことになるとき、メモリ制御ユニットはライン6またはライン16の対応する1つを使用することにより、メモリにチップENABLE信号を送って、メモリ9、19のうちの1つだけをイネーブルする。チップENABLE信号が送られている間、マスター制御ユニットはライン6またはライン16のうちの1つを使用して、CLE信号をそのメモリに送信し、そして同時にバス8を使用して、READイネーブルコマンド(すなわち、READ命令コード)をそのメモリに送る。その後、チップENABLE信号が送られているとき、マスター制御ユニットはライン6またはライン16のうちの適切な1つを使用して、ALE信号をそのメモリに送り、そして同時にバス8を使用してアドレスデータをそのメモリに送る。フラッシュメモリ19が応答してデータをバス8に書き込む。
用語“読み出し命令”はこの文書中で、メモリデバイスにデータを送信させるチップENABLE信号と同時に、MCUによってメモリデバイスに送られるデータを意味することに使用される。したがって、上で説明したように、“読み出し命令”は最初に制御ライン上で送られるCLE制御信号であり、そして同時にバス上で送られる読み出しイネーブルコマンドであり、次に制御ライン上で送られるALE制御信号であり、そして同時にバス上で送られるアドレスデータである。
用語“書き込み命令”はこの文書中で、メモリデバイスがデータを受け取り記憶するように構成するチップENABLE信号と同時にMCUによってメモリデバイスに送られるデータを意味することに使用される。したがって、上で説明したように、“書き込み命令”は最初に制御ライン上で送られるCLE制御信号であり、そして同時にバス上で送られる書き込みイネーブルコマンドであり、次に制御ライン上で送られるALE制御信号であり、そして同時にバス上で送られるアドレスデータである。
上で説明したデバイス1の商業化されたバージョンは、そのデータ転送レートが15Mbit/s(すなわち、1.2Mbytes/s)に制限されるUSB1.1規格を採用するが、業界は代わりに、そのデータ転送レートが480Mbit/s(すなわち、40Mbytes/s)であるUSB2.0規格の使用に移行している。これらのより新しいデバイスは、上で説明した書き込み/読み出し技術を使用する。
本発明は、新しく有用なポータブルデータ記憶デバイスを提供することを意図し、上で説明した既知のデバイスよりもより高いデータ転送レートを有するデバイスを提供することを特に意図している。
USB1.0より速い通信規格が採用されたとき、データ転送に対するボトルネック(すなわち、バンド帯域の限界)が、USBインターフェイスからデータ記憶デバイスの他の場所に移ることに、本発明の発明者は気付いた。特に、ボトルネックはNANDフラッシュメモリユニットへの8ビットバス接続であるかもしれない。
この問題を取り扱う1つの方法は、メモリを2チップの組として実現することだろう。2チップの組では、データは16ビットバスを通して2つのNANDフラッシュメモリユニットに同時に書き込まれる。しかしながら、この解決法は複雑である。
一般的に言って、同時に動作可能にされている並列バスパスを通して、MCUが2以上のNANDフラッシュメモリユニットへおよび2以上のNANDフラッシュメモリユニットからデータを同時に転送することを、本発明は提案する。
一般的実施形態では、制御信号を送るマスター制御ユニットの1以上(すべてが好ましい)のピンが、それぞれ2つのメモリデバイスに通じる2つの導電性パスにそれぞれ結合されている。
これは各メモリデバイスが同一の量のデータを受け取ることになることを意味する。例えば、2つのメモリデバイスがあった場合、それぞれは記憶のために送信されたデータの半分を受け取ることになる。
特に、本発明の第1の表現は、ポータブルデータ記憶デバイスにおいて、デバイスへおよびデバイスからデータを転送するデータインターフェイスと、インターフェイス制御装置と、マスター制御ユニットと、それぞれのバス経由で、マスター制御ユニットへおよびマスター制御ユニットからデータを転送するために接続された、少なくとも2つのNANDフラッシュメモリユニットとを具備し、インターフェイス制御装置はインターフェイスを通して受け取ったデータをマスター制御ユニットに送るように構成され、マスター制御ユニットは、インターフェイス制御装置から受け取ったデータパケットをデータパケット部分に分割するように構成され、それぞれのデータバスを使用して、データパケット部分の異なるものを各NANDフラッシュメモリユニットに同時に送信するように構成され、両NANDフラッシュメモリユニットに送られる制御信号を使用して、NANDフラッシュメモリユニットを制御するように構成され、バスを使用してデータ部分を送信している間に、メモリ制御デバイスが少なくともチップENABLE信号を両NANDフラッシュメモリユニットに送信するデバイスを提案する。
NANDフラッシュメモリユニットに送られるすべての制御信号は、同一であることが好ましい。さらに、それらはマスター制御ユニットの同一のピンにより出され、それらの各ピンは両NANDフラッシュメモリユニットのそれぞれの制御信号入力に接続されていることが好ましい。
インターフェイスはUSBインターフェイスであることが好ましく、USB2.0またはそれ以上であることがより好ましい。しかしながら、本発明はこの観点において限定されることなく、インターフェイスはファイアワイヤインターフェイス(例えば、ファイアワイヤプラグ)のような他の任意のタイプのインターフェイスであってもよい。
本発明の好ましい特徴を図解のみを目的として、添付の図面を参照してここで説明する。
図3を参照すると、本発明の実施形態であるポータブルデータ記憶デバイスの構造が示されている。実施形態の構成要素は、図1および2の既知のデバイスに対応しており、同一のそれぞれの参照番号によって示されている。
図1および2の既知のデバイスと同じように、図3のデータ記憶デバイスは、ホストコンピュータ5のUSBインターフェイス4に接続するためのUSBインターフェイス3を有している筐体1を備える。一般的に、USBインターフェイス3は、USBソケットであるUSBインターフェイス4に直接プラグインされる雄USBプラグである。しかしながら、他の考えられる実施形態では、インターフェイス3、4の間にケーブルを設けてもよい。さらに、図3の実施形態のUSBインターフェイス3、4は、ファイアワイヤインターフェイスのような他のデータインターフェイスによって置き換えてもよい。
USBインターフェイス3は、USB制御装置2によって制御される。USB制御装置2およびインターフェイス3、4は、USB2.0のような、少なくとも480Mbits/sのデータ転送レートを有するUSB規格にしたがって動作することが好ましい。ポータブルデータ記憶デバイスはインターフェイス3、4を通してホストから出る電力によって電源供給されることが好ましい。
USB制御装置2は、インターフェイス3から受け取ったデータをマスター制御ユニット(MCU)7に送り、MCU7はここでピンと言及されている電気的接点を有する単一集積回路パッケージによって一般的に実現される。マスター制御ユニット(MCU)7は16本の出力ピン経由でデータを出力する。出力ピンのうちの8本は第1の8ビットバス8に接続され、出力ピンのうちの8本は第2の8ビットバス18に接続されている。バス8、18は2つの8ビットNANDフラッシュメモリデバイス9、19にそれぞれ接続されている。
NANDメモリデバイス9の制御信号入力ピンに接続された制御ライン6と、NANDメモリデバイス19の制御信号入力ピンに接続された制御ライン16とを経由して、MCU7はメモリデバイス9、19を制御する。
MCUは(ALE制御信号、チップENABLE制御信号、およびCLE制御信号のような)制御信号を送る多数のピン11を有し、これらの各ピンはライン6のそれぞれ1つ、およびライン16のそれぞれ1つに接続される。したがって、MCUは同一の制御信号を2つのメモリ9、19に同時に送信する。
USB制御装置2は一般的にインターフェイス3を通して受け取った任意のデータを512バイトのパケットサイズでMCU7に送る。MCU7はこのデータを256バイトサイズのデータパケット部分に分割する。最初に、MCU7の制御信号ピン11は、CLEおよびチップENABLE制御信号を両メモリに同時に送信し、両バス8、18を同時に使用してWRITEイネーブルコマンド(すなわち、WRITE命令コード)を両メモリ9、19に同時に送信する。その後、MCU7はチップENABLE制御信号およびALE制御信号を2つのメモリ9、19に同時に送信し、メモリ9、19中のデータが書き込まれることになるそれぞれの物理アドレスをバス8、18を使用して2つのメモリ9、19に(通常は同時に)送信する。それに続いて、MCU7がチップENABLE制御信号を両メモリ9、19に依然として送っている間に、MCU7はバス8、18を使用して、それぞれのメモリ9、19中のそのアドレスに書き込まれることになるデータパケット部分を送信する。
MCU7がUSB制御装置2から受け取るパケット中の各ワードは2バイトへと分けられ、それぞれのバス8、18経由で2つのそれぞれのメモリデバイス9、19に同時に送信されることが好ましい。2バイトはそれぞれのメモリデバイス9、19中の対応したアドレスにおいて記憶されることが好ましい。ALE信号がそのアドレスデータを認識するようにメモリ9、19を構成したときに、バス8、18経由でMCU7から同一のアドレスデータが両メモリデバイスに送られることが好ましいことから、このことが起こる。しかしながら、物理アドレスは異なるかもしれないことに留意すべきである。例えば、物理アドレスはメモリの同じ“行”の一部である(フラッシュ用語において“行”(または“ブロック”)は1組の“ページ”のことであるので、従来のフラッシュデバイスでは、所定行のすべてのページが共に消去される必要があり、したがってメモリ中の物理アドレスは従来、行を示す番号としてエンコードされており、“オフセット”、すなわちその行内のページのうちの特定の1つを示す番号が後続する)が、行の内の同じ“オフセット”位置である。このスキームは簡潔性の利点を有している。しかしながら、他の実施形態では、512バイトは他の方法で分割されてもよい。
(例えばインターフェイス3を通して、ポータブルデータ記憶デバイスに入力される制御信号に対応して)、ポータブルデータ記憶デバイスからデータを取り出すことが望ましいときMCU7は制御信号ライン6の適切な1つと、制御信号ライン16の適切な1つとを使用して、チップENABLE制御信号を両メモリに送り、同時に制御信号ライン6の適切な1つと、制御信号ライン16の適切な1つとを使用してCLE制御信号を両メモリに送り、同時にバス8を使用してREADイネーブルコマンド(例えばREAD命令コード)を2つの両メモリに送る。その後、チップENABLEコードが依然として2つのメモリに送られている間に、MCU7は制御信号ライン6の適切な1つと、制御信号ライン16の適切な1つとを使用して、ALE制御信号を両メモリ9、19に送り、同時にバス8を使用して、アドレスデータを2つの両メモリに送る。応答して、依然としてチップENABLE制御信号を受け取っている間に、メモリ9、19は対応しているデータを対応しているバス8、18に送信する。したがって、MCUは各クロックサイクルにおいて16ビットのデータを受け取る。MCUはUSB制御装置2経由でこのデータをUSBインターフェイス3に送信し、USBインターフェイス3はインターフェイス4にそのデータを送信する。
図3のデバイスにデータを記憶するためのプロセスが図4に示されている。ステップ1では、インターフェイス3、4はデータパケットを受け取り、データパケットはそこからインターフェイス制御装置に送信され、それからマスター制御ユニット7に送信される。ステップ2では、マスター制御ユニット7はインターフェイス制御装置からワードごとに受け取ったデータパケットを、記憶されることになるデータの単一バイトをそれぞれが含む、データパケット部分に分割する。ステップ3では、マスター制御ユニット7は両メモリデバイス9、19に、チップENABLE制御信号そして同時にWRITE命令(すなわち、最初にCLE制御信号そして同時に書き込みイネーブルコマンド、次にALE制御信号そして同時にアドレスデータ)を送信する。ステップ4では、チップENABLE制御信号が依然として送られている間、マスター制御ユニット7は異なるそれぞれのバス8、18を通して同時にデータパケット部分の異なる部分を各NANDフラッシュメモリユニット9、19に送信する。ステップ5において、それぞれのフラッシュメモリユニット9、19はデータパケット部分を記憶する。
図3のポータブルデータ記憶デバイスからデータを検索するプロセスが図5に示されている。ステップ11において、マスター制御ユニット7は(デバイス外部から受け取った命令に応答して)チップENABLE制御信号そして同時に読み出し命令(すなわち、最初にCLE制御信号そして同時に読み出しイネーブルコマンド、次にALE制御信号そして同時にアドレスデータ)をフラッシュメモリユニット9、19に送信する。ステップ12では、チップENABLE制御信号が依然として送られている間に、フラッシュメモリユニットは、読み出し命令に応答して、それぞれのバス8、18を通してマスター制御ユニット7に同時にデータを送信する。ステップ13では、マスター制御ユニット7はフラッシュメモリユニット9、19から受け取ったデータのそれぞれのバイトをワードに組み合わせ、ワードをデータパケットに形成して、データパケットをインターフェイス制御装置2に送信する。ステップ14では、インターフェイス制御装置はデバイスからインターフェイス3を通してデータパケットを送り出す。
ステップ3およびステップ11はそれぞれ次の6つのサブステップによって実行されることに留意すべきである。
a)両メモリチップ9、19をイネーブルする(両メモリチップは書き込みの間を通してイネーブルされ続けている)。
b)両チップにCLEコマンド(制御信号)を送る。
c)コマンド命令コードをデータバス8を通して送り、命令コードはメモリチップ9、19によりコマンドとして解釈されることになる。
d)両チップに対するCLEをディセーブルする。
e)ALEコマンド(制御信号)をイネーブルする。
f)アドレス命令コードをデータバスを通して送り、命令コードはメモリチップ9、19によりアドレスとして解釈されることになる。
g)ALEコマンドをディセーブルする。
図4および5のプロセスは一般的に、ワード毎ベースでその都度実行されることを理解すべきである。言い換えると、図4および5は単一ワードの処理を示している。したがって、例えばデバイスがあるワードに関してステップ2を実行している間、インターフェイス3は次のワードに関してステップ1を実行していてもよい。
代わりに、あまり好ましくないが、本発明の他の実施形態では図4、5のステップは完全なデータパケットに関して実行されてもよい。したがって、図4のケースでは、完全なデータパケットをMCUによって受け取ってもよく、MCUによりそれを分割し始める前に、データキャッシュ中に記憶して、データパケット部分をメモリデバイス9、19に送ってもよい。
我々はこの実施形態では15Mbytes/sのレートでデータをメモリに書き込み、20Mbytes/sのレートでデータを読み出すことができることを測定した。これはMCUがデータを交互に2つのメモリデバイスに書き込む代替構成より簡潔でより早い。
上記の説明は実際にはNANDフラッシュメモリデバイスの要求によって複雑になるかもしれないことに留意すべきである。例えば、上に述べたように、従来のNANDフラッシュメモリデバイスのウィンドウは、二次元配列のウィンドウとして考えることができ、メモリの行全体のみを一度に消去することができる。したがって、図1および2の既知のデバイスでは、メモリデバイス9の行中のボックスのすべてではなく、いくらかを(それらに書き込まれることになる他のデータのためにそれらを解放するために)消去することが望ましく、MCU7は消去されるべきでないボックス中のデータが確実に保存されるようにするためのアクションをとらなければならない。このためのいくつかの方策がある。1つの可能性はコピーされて保存されることになるデータをバス8に書き込むようにMCU7がメモリデバイス9に命令し、MCU7に対してデータをキャッシュに記憶するように命令することである。それからメモリデバイス9の行を消去し、データをキャッシュからメモリデバイスに書き戻すことができる。他の可能性は、消去されることになる行からのデータをメモリデバイス9の他の行にコピーするように、MCU7がメモリデバイス9に命令することである。
これらの両可能性は図3の実施形態にも類似点を有する。特に、MCU7は一般的に両メモリデバイス9、19の完全な行のそれぞれを同時に消去するように構成されており、それらの行の中の削除されるべきでない任意のデータが、削除の発生する前に他の場所に確実に記憶されるようにするために、メモリデバイス9、19と通信するように構成されている。上に述べたように、USB制御装置2からMCU7により受け取られた各個別バイトは2つのメモリデバイス9、19間に分割され、2つの部分は2つのメモリデバイス9、19中の対応するメモリアドレスに記憶されることが好ましいので、一般的なケースでは、それぞれのデバイスのそれぞれの行中に保存されることになるデータは、それぞれのメモリデバイス9、19の行内の同一の位置にあることになる。したがって、MCUは同一の制御信号を2つのメモリデバイス9、19に送ることによってデータを保存することができる。
最初の可能性は、MCU7がデータを受け取り、受け取ったデータをRAM(例えば、データキャッシュとして働くMCU7の内部RAM)内に記憶することができるように、それらの制御信号がメモリデバイス9、19に命令して、消去されるべきでないそれらの行にある任意のデータをバス8、18に転送させることである。次にMCU7がそれぞれの行を消去するために、メモリデバイス9、19に必要な制御信号を送ってもよい。MCU7はそれぞれのデータバス8、18経由でRAMからメモリデバイス9、19にデータを同時に返信して、メモリデバイス9、19に再び書き込まれるようにしてもよい。MCU7は、ライン6、16を通してALE信号を送り、メモリデバイス9、19中のデータが記憶されるべき位置(おそらくそれが元々記憶されていた位置以外の異なるメモリ位置)を示すために、バス8、18を通してアドレス指定する。
代わりに(すなわち、本発明の代替実施形態では、または同じ実施形態の異なる動作モードでは)、MCUは、ライン6、16を使用することにより、そのデータを他の行にコピー(または移動)させるための同一の命令をメモリデバイス9、19に送って、消去されることになる行中のいくつかのデータを保存してもよい。これが実現されているとき、MCUはライン6、16を使用して各メモリデバイス9、19に、それらにデータを消去させる同一の命令を送る。
本発明の単一の実施形態のみがここで開示されているが、本発明の範囲内で数多くの変形が可能であることが、当業者に明らかになるだろう。例えば、NANDフラッシュメモリデバイスの数は2つには限定されておらず、より多くの任意の数でもよい。さらに、USB制御装置によって採用されるUSB規格はバージョン2.0であることが好ましいが、本発明は将来に導入されることになる任意のバージョンのUSB規格とともに実施されてもよい。
また、本発明の実施形態はここで明示的に示されていない数多くの特徴を有してもよいが、それらはパスワード保護、指紋認証のような生体情報認証によるアクセス制御等のような、他の公に入手可能なポータブルデータ記憶デバイスで知られていることに留意すべきである。そのような特徴の実施は当業者にとって明らかになるだろう。
Claims (14)
- ポータブルデータ記憶デバイスにおいて、
前記デバイスへおよび前記デバイスからデータを転送するデータインターフェイスと、
インターフェイス制御装置と、
マスター制御ユニットと、
それぞれのバス経由で、前記マスター制御ユニットへおよび前記マスター制御ユニットからデータを転送するために接続された、少なくとも2つのNANDフラッシュメモリユニットとを具備し、
前記インターフェイス制御装置は前記インターフェイスを通して受け取ったデータを前記マスター制御ユニットに送るように構成され、
前記マスター制御ユニットは、
前記インターフェイス制御装置から受け取ったデータパケットをデータパケット部分に分割するように構成され、
前記それぞれのデータバスを使用して、前記データパケット部分の異なるものを前記各NANDフラッシュメモリユニットに同時に送信するように構成され、
前記両NANDフラッシュメモリユニットに送られる制御信号を使用して、NANDフラッシュメモリユニットを制御するように構成され、
前記バスを使用して前記データパケット部分を送信している間に、前記メモリ制御デバイスが少なくともチップENABLE信号を前記両NANDフラッシュメモリユニットに送信するデバイス。 - 前記NANDフラッシュメモリユニットは前記マスター制御ユニットにデータパケット部分を同時に送信するように構成され、前記マスター制御ユニットは前記データパケット部分を組み合わせてデータパケットを形成し、前記インターフェイスを通しての送信のために、前記データパケットを前記インターフェイス制御装置に送信するように構成されている、請求項1記載のデバイス。
- 2つのNANDフラッシュメモリユニットがあり、記憶されることになるデータの各ワードが、前記NANDフラッシュメモリユニットの異なるユニットに対するデータパケット部分に含まれる2バイトに分割されるように、前記マスター制御ユニットは前記データパケットをデータパケット部分に分割するように構成されている、請求項1記載のデバイス。
- 前記マスター制御ユニットは、前記マスター制御ユニットのピンを通して同一の制御信号を前記両NANDフラッシュメモリユニットに同時に送り、前記マスター制御ユニットのピンはそれぞれ制御信号ラインに電気的に接続され、各制御信号ラインは前記各NANDフラッシュメモリユニットの制御信号入力のそれぞれに至る、請求項1ないし3のいずれか1項記載のデバイス。
- 前記メモリ制御デバイスが、同一のWRITE、READ、ENABLE、ALE信号を前記それぞれのメモリデバイスに送信する、請求項4記載のデバイス。
- 前記インターフェイスはUSBインターフェイスであり、前記インターフェイス制御装置はUSB制御装置である、請求項1ないし5のいずれか1項記載のデバイス。
- 前記インターフェイスは、少なくとも480Mbit/sのデータ転送レートを有するUSB規格にしたがって動作する、請求項6記載のデバイス。
- 前記それぞれの並列データバスは8ビットバスである、請求項1ないし7のいずれか1項記載のデバイス。
- 前記予め定められたパケットサイズは512バイトである、請求項1ないし8のいずれか1項記載のデバイス。
- 前記NANDフラッシュメモリユニットそれぞれのメモリ空間のセクションを前記NANDフラッシュメモリユニットに消去させる信号を、前記NANDフラッシュメモリユニットのそれぞれに送信する前に、各NANDフラッシュメモリユニットに対して、前記メモリ空間のそのセクションに記憶されているデータの部分を異なる位置に転送するように命令するように前記メモリ制御デバイスは動作可能である、請求項1ないし9のいずれか1項記載のデバイス。
- 前記異なる位置はRAMメモリにある、請求項10記載のデバイス。
- 前記異なる位置は消去されることになるセクション以外のそれぞれのメモリ空間中位置にある、請求項10記載のデバイス。
- ポータブルデータ記憶デバイスへおよび前記デバイスからデータを転送するためのデータインターフェイスと、インターフェイス制御装置と、キャッシュメモリを有するマスター制御ユニットと、少なくとも2つのNANDフラッシュメモリユニットとを具備するポータブルデータ記憶デバイスにデータを記憶する方法において、前記方法は、
前記インターフェイス制御装置が、前記インターフェイスを通して受け取ったデータパケットを前記マスター制御ユニットに送信するステップと、
前記マスター制御ユニットが、前記インターフェイス制御装置から受け取った前記データパケットをデータパケット部分に分割し、異なるそれぞれのバスを通して、前記データパケット部分の異なる部分を前記それぞれのNANDフラッシュメモリユニットに同時に送信し、前記両NANDフラッシュメモリユニットに送られる制御信号を使用して前記NANDフラッシュメモリユニットを制御するステップと、
前記メモリ制御デバイスがWRITE命令およびチップENABLE制御信号を前記両NANDフラッシュメモリユニットに送信し、その後、前記チップENABLE制御信号を依然として送っている間に、前記それぞれのバスを使用して前記それぞれのNANDフラッシュメモリユニットに前記データパケット部分を送信するステップと、
前記それぞれのフラッシュメモリユニットが前記データパケット部分を記憶するステップとを含む方法。 - ポータブルデータ記憶デバイスへおよび前記デバイスからデータを転送するためのデータインターフェイスと、インターフェイス制御装置と、キャッシュメモリを有するマスター制御ユニットと、少なくとも2つのNANDフラッシュメモリユニットとを具備するポータブルデータ記憶デバイスからデータを検索する方法において、前記方法は、
前記マスター制御ユニットが前記フラッシュメモリユニットにそれぞれのREAD命令およびチップENABLE信号を同時に発行するステップと、
前記フラッシュメモリユニットが前記READ命令に応答し、前記チップENABLE制御信号を依然として受け取っている間に、異なるそれぞれのバスを通して前記データを前記マスター制御ユニットに同時に送信するステップと、
前記マスター制御ユニットが前記フラッシュメモリユニットから受け取ったデータを組み合わせてデータパケットを形成し、前記データパケットを前記インターフェイス制御装置に送信するステップと、
前記インターフェイス制御装置が、前記マスター制御ユニットから受信したデータパケットを前記データインターフェイスを通して前記デバイスから送り出すステップとを含む方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SG2004/000020 WO2005069150A1 (en) | 2004-01-20 | 2004-01-20 | Portable data storage device using multiple memory devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007519119A true JP2007519119A (ja) | 2007-07-12 |
JP2007519119A5 JP2007519119A5 (ja) | 2008-03-13 |
Family
ID=34793523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006551010A Pending JP2007519119A (ja) | 2004-01-20 | 2004-01-20 | 複数のメモリデバイスを使用するポータブルデータ記憶デバイス |
Country Status (7)
Country | Link |
---|---|
US (1) | US20080228996A1 (ja) |
EP (1) | EP1709542A1 (ja) |
JP (1) | JP2007519119A (ja) |
CN (1) | CN100495369C (ja) |
BR (1) | BRPI0418431A (ja) |
TW (1) | TWI303385B (ja) |
WO (1) | WO2005069150A1 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069896A1 (en) * | 2004-09-27 | 2006-03-30 | Sigmatel, Inc. | System and method for storing data |
US7747833B2 (en) | 2005-09-30 | 2010-06-29 | Mosaid Technologies Incorporated | Independent link and bank selection |
US11948629B2 (en) | 2005-09-30 | 2024-04-02 | Mosaid Technologies Incorporated | Non-volatile memory device with concurrent bank operations |
US20070076502A1 (en) | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
WO2007036050A1 (en) | 2005-09-30 | 2007-04-05 | Mosaid Technologies Incorporated | Memory with output control |
US7652922B2 (en) * | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
CN100397380C (zh) * | 2005-12-27 | 2008-06-25 | 北京中星微电子有限公司 | 多通道闪存传输控制器、芯片及存储设备 |
WO2007095217A1 (en) * | 2006-02-15 | 2007-08-23 | Micron Technology, Inc. | Single latch data circuit in a multiple level cell non-volatile memory device |
ITRM20060074A1 (it) | 2006-02-15 | 2007-08-16 | Micron Technology Inc | Circuito per dati a latch singolo in un dispositivo di memoria volatile e delle a piu livelli |
JP4020934B2 (ja) * | 2006-02-24 | 2007-12-12 | トヨタ自動車株式会社 | 緊急通報装置 |
CN102063931B (zh) * | 2006-03-31 | 2014-07-30 | 莫塞德技术公司 | 闪烁存储器系统控制方案 |
US8407395B2 (en) | 2006-08-22 | 2013-03-26 | Mosaid Technologies Incorporated | Scalable memory system |
US7904639B2 (en) | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
US8086785B2 (en) | 2007-02-22 | 2011-12-27 | Mosaid Technologies Incorporated | System and method of page buffer operation for memory devices |
WO2008101316A1 (en) | 2007-02-22 | 2008-08-28 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
WO2009062280A1 (en) | 2007-11-15 | 2009-05-22 | Mosaid Technologies Incorporated | Methods and systems for failure isolation and data recovery in a configuration of series-connected semiconductor devices |
CN101246464B (zh) * | 2008-03-07 | 2010-11-03 | 威盛电子股份有限公司 | 主控模块、电子装置、电子系统及其数据传输方法 |
US8037235B2 (en) | 2008-12-18 | 2011-10-11 | Mosaid Technologies Incorporated | Device and method for transferring data to a non-volatile memory device |
US8194481B2 (en) | 2008-12-18 | 2012-06-05 | Mosaid Technologies Incorporated | Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation |
JP2013069171A (ja) * | 2011-09-22 | 2013-04-18 | Toshiba Corp | メモリシステムとその制御方法 |
US9336112B2 (en) * | 2012-06-19 | 2016-05-10 | Apple Inc. | Parallel status polling of multiple memory devices |
US20140189201A1 (en) * | 2012-12-31 | 2014-07-03 | Krishnamurthy Dhakshinamurthy | Flash Memory Interface Using Split Bus Configuration |
US10831963B1 (en) * | 2017-08-26 | 2020-11-10 | Kong-Chen Chen | Apparatus and method of parallel architecture for NVDIMM |
US11500576B2 (en) | 2017-08-26 | 2022-11-15 | Entrantech Inc. | Apparatus and architecture of non-volatile memory module in parallel configuration |
CN108920387B (zh) * | 2018-06-06 | 2021-04-20 | 深圳忆联信息系统有限公司 | 降低读延迟的方法、装置、计算机设备及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5359557A (en) * | 1992-12-04 | 1994-10-25 | International Business Machines Corporation | Dual-port array with storage redundancy having a cross-write operation |
US5581723A (en) * | 1993-02-19 | 1996-12-03 | Intel Corporation | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array |
US5699297A (en) * | 1995-05-30 | 1997-12-16 | Kabushiki Kaisha Toshiba | Method of rewriting data in a microprocessor additionally provided with a flash memory |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5933847A (en) * | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
US5890192A (en) * | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US5956473A (en) * | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
US5822245A (en) * | 1997-03-26 | 1998-10-13 | Atmel Corporation | Dual buffer flash memory architecture with multiple operating modes |
US6571312B1 (en) * | 1999-02-19 | 2003-05-27 | Mitsubishi Denki Kabushiki Kaisha | Data storage method and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6553450B1 (en) * | 2000-09-18 | 2003-04-22 | Intel Corporation | Buffer to multiply memory interface |
JP4059473B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
KR100450080B1 (ko) * | 2001-11-13 | 2004-10-06 | (주)지에스텔레텍 | 유에스비기반의 이동형 저장장치 및 그 제어방법 |
US6792501B2 (en) * | 2002-01-31 | 2004-09-14 | Phision Electronic Corp | Universal serial bus flash memory integrated circuit device |
AU2002258343B2 (en) * | 2002-05-13 | 2005-09-29 | Trek 2000 International Ltd. | System and apparatus for compressing and decompressing data stored to a portable data storage device |
JP2003330879A (ja) * | 2002-05-15 | 2003-11-21 | Mitsubishi Electric Corp | Dma回路 |
US6766425B2 (en) * | 2002-05-16 | 2004-07-20 | Delphi Technologies, Inc. | Calibration method implementing segmented flash memory and RAM overlay |
-
2004
- 2004-01-20 CN CNB2004800425082A patent/CN100495369C/zh not_active Expired - Fee Related
- 2004-01-20 BR BRPI0418431-9A patent/BRPI0418431A/pt not_active IP Right Cessation
- 2004-01-20 JP JP2006551010A patent/JP2007519119A/ja active Pending
- 2004-01-20 WO PCT/SG2004/000020 patent/WO2005069150A1/en active Application Filing
- 2004-01-20 EP EP04703556A patent/EP1709542A1/en not_active Ceased
- 2004-01-20 US US10/597,331 patent/US20080228996A1/en not_active Abandoned
- 2004-05-31 TW TW093115485A patent/TWI303385B/zh active
Also Published As
Publication number | Publication date |
---|---|
WO2005069150A1 (en) | 2005-07-28 |
CN1926527A (zh) | 2007-03-07 |
CN100495369C (zh) | 2009-06-03 |
TW200525439A (en) | 2005-08-01 |
TWI303385B (en) | 2008-11-21 |
US20080228996A1 (en) | 2008-09-18 |
BRPI0418431A (pt) | 2007-05-22 |
EP1709542A1 (en) | 2006-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007519119A (ja) | 複数のメモリデバイスを使用するポータブルデータ記憶デバイス | |
US6820148B1 (en) | Multiple removable non-volatile memory cards serially communicating with a host | |
US20180301175A1 (en) | Memory devices having special mode access | |
KR101507628B1 (ko) | 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법 | |
US7392343B2 (en) | Memory card having a storage cell and method of controlling the same | |
US8555144B2 (en) | Memory system, memory system controller, and a data processing method in a host apparatus | |
US20060136687A1 (en) | Off-chip data relocation | |
US20100185808A1 (en) | Methods and systems for storing and accessing data in uas based flash-memory device | |
KR20060129804A (ko) | 엠엠씨 인터페이스를 갖는 플래시 메모리 장치 및 그것을포함한 메모리 시스템 | |
JP4588427B2 (ja) | メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法 | |
WO2010052034A1 (en) | Memory device and method | |
US20090138673A1 (en) | Internal memory mapped external memory interface | |
KR100825535B1 (ko) | 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치 | |
RU2325689C2 (ru) | Портативное устройство хранения данных с использованием множества запоминающих устройств |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080123 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100202 |