JP4470455B2 - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 - Google Patents
メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4470455B2 JP4470455B2 JP2003376133A JP2003376133A JP4470455B2 JP 4470455 B2 JP4470455 B2 JP 4470455B2 JP 2003376133 A JP2003376133 A JP 2003376133A JP 2003376133 A JP2003376133 A JP 2003376133A JP 4470455 B2 JP4470455 B2 JP 4470455B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- flash memory
- holding means
- held
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 22
- 230000004044 response Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 description 56
- 238000009792 diffusion process Methods 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000000758 substrate Substances 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System (AREA)
Description
のパケットで送信されてくるので、その順番で受信したパケットに含まれるデータを、フラッシュメモリ用バッファに転送する必要がある。
ページ毎に書込みが行われるフラッシュメモリに格納されるデータを、前記ページ毎に保持するデータ保持手段と、
前記パケット保持手段に保持されたデータを、前記データ保持手段に、前記パケット毎に転送するデータ転送手段と、
前記データ保持手段に保持されたデータを、書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
前記データ転送手段は、前記パケット保持手段に正常に保持された前記パケットに含まれるデータを、前記パケット保持手段に保持された順番で前記データ保持手段に転送し、更に、その転送データが保持される前記データ保持手段内の領域を、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定し、
前記データ供給手段は、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給を開始することを特徴とするメモリコントローラによって達成される。
受信した前記パケットに含まれるデータを、前記パケット毎にパケット保持手段に保持する保持ステップと、
ページ毎に書込みが行われるフラッシュメモリに格納されるデータを前記ページ毎に保持するデータ保持手段に、前記パケット保持手段に保持されたデータを前記パケット毎に転送する転送ステップと、
前記データ保持手段に保持されたデータを、書込みデータとしてフラッシュメモリに供給する供給ステップとを有し、
前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
前記転送ステップでは、前記パケット保持手段に正常に保持された前記パケットに含まれるデータが、前記パケット保持手段に保持された順番で前記データ保持手段に転送され、更に、その転送データが保持される前記データ保持手段内の領域が、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定され、
前記供給ステップでは、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給が開始されることを特徴とするフラッシュメモリの制御方法によっても達成される。
図1のメモリコントローラ2は、ネットワークインターフェース部3、ネットワーク制御部4、パケット用バッファ5、フラッシュメモリ制御部6、及びフラッシュメモリ用バッファ7で構成されている。又、これらの回路によって構成されるメモリコントローラ2は、一つの半導体チップ上に集積されている。
(1)フラッシュメモリ制御部6を構成する各回路の動作を制御する回路。
(2)内部コマンド(フラッシュメモリ8に与える内部コマンド)を実行する際に必要な情報が設定されるレジスタ及びこのレジスタに情報を設定する回路。
(3)フラッシュメモリ8の制御に必要なデータが一時的に格納されるSRAMで構成された作業領域。
(4)フラッシュメモリ8とデータ、アドレス情報、ステータス情報及び内部コマンド情報を授受するインターフェース回路。
(5)フラッシュメモリ8に書込むデ―タに付加すべきエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する回路。
次に、図2及び3参照して図1に示したフラッシュメモリ8を構成するメモリセル16の具体的な構造について説明する。
次に、フラッシュメモリのメモリ構造を説明する。図4は、フラッシュメモリのメモリ構造を概略的に示す図である。図4に示したように、フラッシュメモリはデータの読出し及び書込みにおける処理単位であるページと、データの消去単位であるブロックで構成されている。
フラッシュメモリはデータの上書きができないため、データの書替えを行なう場合には、ブロック消去されている消去済ブロックに新データ(書替後のデータ)を書込み、旧データ(書替前のデータ)が書込まれていたブロックを消去するという処理を行なわなければならない。この際、消去はブロック単位で処理されるため、旧データ(書替前のデータ)が書込まれていたページが含まれるブロックの、全ページのデータが消去されてしまう。従って、データの書替えを行なう場合、書替えるページが含まれるブロックの、他のページのデータについても、消去済ブロックに移動させる処理が必要となる。
本発明に係るフラッシュメモリシステムは、ネットワークに接続して動作する装置であり、ネットワーク介して受信したパケットに含まれるデータを、フラッシュメモリに書込んでいる。この書込み処理を、図面を参照して説明する。尚、本発明は、パケットロスが発生したときの処理効率の低下を改善したものなので、パケットロスが発生した場合の処理について説明する
図5を参照して、パケットを受信する処理について説明する。この処理では、ネットワーク制御部4の制御のもと、受信したパケットは、ネットワークインターフェース部3で
、ネットワーク制御部4やフラッシュメモリ制御部6で処理することができるデジタル信号に変換され、パケットに含まれる実質的なデータ部分はパケット用バッファ5に保持される。この際、パケットに含まれる付加的情報(実質的なデータ以外の部分)のうち、再構築情報等の情報はネットワーク制御部4内のレジスタや作業領域に保持される。
パケット2に含まれるデータを納めた領域の後にパケット3に含まれるデータを納める領域を空け、その後に順次納められる(図7(c))。その次に転送されるパケット3に含まれるデータは、パケット2に含まれるデータを納めた領域の後に順次納められる(図7(d))。このように転送することにより、パケット1、パケット2、パケット3及びパケット4に含まれるデータは、連結順でフラッシュメモリ用バッファ7に納められ、転送時間はパケット3が再送されて来るのを待った場合よりも短くなる。この転送時間が短縮されることにより、複数のパケットに分割して送信されてくるデータを、効率良くフラッシュメモリに書込むことができる。
1)内部コマンドとして内部書込みコマンドが、フラッシュメモリ制御部内の所定のレジスタに設定される。
2)書込み先のページのアドレスが、フラッシュメモリ制御部内の所定のレジスタに設定される。ここで、上記ページのアドレスは、物理ブロックアドレスにページ番号に相当する5ビット(32のページを識別するためのビット)を付加することによって与えられる
その後、上記書込み処理の設定に基づいて、フラッシュメモリ制御部が処理を実行する。この処理が実行されると、内部バスを介してフラッシュメモリに内部書込みコマンドを実行するためのコマンド情報やアドレス情報等が供給される。又、フラッシュメモリ用バッファに保持されている書込みデータも、内部バスを介してフラッシュメモリに供給される。
2 メモリコントローラ
3 ネットワークインターフェース部
4 ネットワーク制御部
5 パケット用バッファ
6 フラッシュメモリ制御部
7 フラッシュメモリ用バッファ
8 フラッシュメモリ
9 ネットワーク
10 送信元
16 メモリセル
17 P型半導体基板
18 ソース拡散領域
19 ドレイン拡散領域
20 トンネル酸化膜
21 フローティングゲート電極
22 絶縁膜
23 コントロールゲート電極
24 チャネル
25 ユーザ領域
26 冗長領域
Claims (3)
- ネットワークを介して受信したパケットに含まれるデータを、前記パケット毎に保持するパケット保持手段と、
ページ毎に書込みが行われるフラッシュメモリに格納されるデータを、前記ページ毎に保持するデータ保持手段と、
前記パケット保持手段に保持されたデータを、前記データ保持手段に、前記パケット毎に転送するデータ転送手段と、
前記データ保持手段に保持されたデータを、書込みデータとしてフラッシュメモリに供給する書込みデータ供給手段とを備え、
前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
前記データ転送手段は、前記パケット保持手段に正常に保持された前記パケットに含まれるデータを、前記パケット保持手段に保持された順番で前記データ保持手段に転送し、更に、その転送データが保持される前記データ保持手段内の領域を、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定し、
前記データ供給手段は、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給を開始することを特徴とするメモリコントローラ。 - 請求項1に記載のメモリコントローラと、フラッシュメモリとを備えることを特徴とするフラッシュメモリシステム。
- ネットワークを介してパケットを受信する受信ステップと、
受信した前記パケットに含まれるデータを、前記パケット毎にパケット保持手段に保持する保持ステップと、
ページ毎に書込みが行われるフラッシュメモリに格納されるデータを前記ページ毎に保持するデータ保持手段に、前記パケット保持手段に保持されたデータを前記パケット毎に転送する転送ステップと、
前記データ保持手段に保持されたデータを、書込みデータとしてフラッシュメモリに供給する供給ステップとを有し、
前記データ保持手段に保持される1個の前記ページに対応するデータは、複数個の前記パケットに含まれるそれぞれのデータが所定の順番で連結されたものであり、
前記転送ステップでは、前記パケット保持手段に正常に保持された前記パケットに含まれるデータが、前記パケット保持手段に保持された順番で前記データ保持手段に転送され、更に、その転送データが保持される前記データ保持手段内の領域が、その転送データと共に前記パケットに含まれていた付加情報に基づいて決定され、
前記供給ステップでは、複数個の前記パケットに含まれるそれぞれのデータが、前記データ保持手段上で、1個の前記ページに対応するデータとして前記所定の順番で連結されたことに応答して、フラッシュメモリへのデータの供給が開始されることを特徴とするフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003376133A JP4470455B2 (ja) | 2003-11-05 | 2003-11-05 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003376133A JP4470455B2 (ja) | 2003-11-05 | 2003-11-05 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005141420A JP2005141420A (ja) | 2005-06-02 |
JP4470455B2 true JP4470455B2 (ja) | 2010-06-02 |
Family
ID=34687300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003376133A Expired - Fee Related JP4470455B2 (ja) | 2003-11-05 | 2003-11-05 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4470455B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10789019B2 (en) | 2017-06-30 | 2020-09-29 | Samsung Electronics Co., Ltd. | Storage device capable of managing jobs without intervention of a processor |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100528482B1 (ko) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
US9898402B2 (en) | 2011-07-01 | 2018-02-20 | Micron Technology, Inc. | Unaligned data coalescing |
GB201206409D0 (en) | 2012-03-26 | 2012-05-23 | Continental Automotive Systems | Method and apparatus to reduct flash memory device programming time over a C.A.N. bus |
EP2845105A4 (en) * | 2012-05-01 | 2015-12-23 | Hewlett Packard Development Co | PREPARING DATA FOR RECORDING IN NON-VOLATILE MEMORY |
US9064562B2 (en) | 2013-04-03 | 2015-06-23 | Hewlett-Packard Development Company, L.P. | Memory module having multiple memory banks selectively connectable to a local memory controller and an external memory controller |
-
2003
- 2003-11-05 JP JP2003376133A patent/JP4470455B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10789019B2 (en) | 2017-06-30 | 2020-09-29 | Samsung Electronics Co., Ltd. | Storage device capable of managing jobs without intervention of a processor |
Also Published As
Publication number | Publication date |
---|---|
JP2005141420A (ja) | 2005-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4073799B2 (ja) | メモリシステム | |
US7290082B2 (en) | Flash memory system and data writing method thereof | |
TWI457937B (zh) | 固態磁碟驅動和管理記憶體裝置之方法 | |
JP3802411B2 (ja) | 不揮発性半導体記憶装置のデータコピー方法 | |
JP2005108304A (ja) | 半導体記憶装置及びその制御方法 | |
KR20040038709A (ko) | 비-휘발성 메모리 시스템에서 데이터의 완전성을 관리하기위한 방법 및 장치 | |
KR100823175B1 (ko) | 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것을 포함한 메모리 시스템 | |
KR20070049603A (ko) | 파이프라인 데이터 재배치 및 개선된 칩 구조 | |
WO2002052416A1 (fr) | Systeme de memoire flash | |
JP2005284700A (ja) | メモリカード | |
JP2005190288A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4470455B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
US8832407B2 (en) | Communication device with storage function | |
JP2004272476A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2013131095A (ja) | メモリコントローラ、記憶装置およびメモリ制御方法 | |
JP2010128697A (ja) | メモリシステム | |
JP4282401B2 (ja) | フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム | |
KR101398403B1 (ko) | 레거시 호스트들을 위한 방법 및 메모리 시스템 | |
JP2005018490A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム | |
JP2005190289A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2006244017A (ja) | データコピー方法 | |
JP4213053B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4282410B2 (ja) | フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム | |
US8886989B2 (en) | Memory device | |
JP3999564B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100108 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130312 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4470455 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140312 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |