JP4970078B2 - 不揮発性メモリシステム - Google Patents
不揮発性メモリシステム Download PDFInfo
- Publication number
- JP4970078B2 JP4970078B2 JP2007040408A JP2007040408A JP4970078B2 JP 4970078 B2 JP4970078 B2 JP 4970078B2 JP 2007040408 A JP2007040408 A JP 2007040408A JP 2007040408 A JP2007040408 A JP 2007040408A JP 4970078 B2 JP4970078 B2 JP 4970078B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- card
- data
- host
- command
- 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
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
図1は、実施の形態による不揮発性メモリシステムであるメモリカード20の構成を示す。このメモリカード20は、NAND型フラッシュメモリチップ21とその読み出し/書き込みを制御するメモリコントローラ22によりモジュールを構成する。
図5は、このメモリカードに割り当てられたピンの番号、名称及び機能を示している。前述のようにこれは、現状のxDPTMカードのそれと同じである。
メモリカード機能とその適用プロトコルを、図6に示す。
図12Aは、G3カードのパワーオンシーケンスを示しており、図12Bはそのタイミング波形を示している。電源投入直後の初期化動作では、フラッシュメモリ21の読み出し/書き込み制御に必要なフラッシュメモリ21内に保持されたファームウェアが自動的にメモリコントローラ22のレジスタに読み出される。
図13は、IDデータ読み出しのタイミング図である。CLE=“H”の期間に書き込みイネーブル/WEと同期してコマンドCMDを入力し、その後ALE=“H”の期間に書き込みイネーブル/WEと同期してアドレス00hを入力する。その後、読み出しイネーブル/REをトグルさせると、G2カードとG3カードの識別等を行うIDデータData0,Data1,…が出力される。
G3カードは、G2カードスロットにも接続可能に構成されている。そのため、ホストが誤ってG2カードプロトコルに基づくアクセスをすることを防止するために、“G3 mode enable”コマンドが用意されている。G3カードは、このコマンドが発行されるまでは、IDデータ読み出し、リセット、ステータス読み出しの場合を除き、ホストに応答しない。
G3カードのアクセス開始に先立って、ホストはカードの構成(カード容量、追加16Byteの使用/不使用、ECC機能の使用/不使用、機能サービス・セクタカウント等)を設定するための“Card configuration”コマンドを実行する。これは、(1)有効機能を含むカード情報を取得する“Card configuration”取得の機能と、(2)取得情報に基づいてホストが使用する機能を設定する“Card configuration”セットアップの機能とを有する。
“機能サービス・セクタカウント”コマンドを用いると、種々の機能サービスを有効にすることができる。図16に示すように、コマンドに続くアドレスの第2サイクル“ADD1”でモードや転送データサイズを決定する。例えば転送データサイズを、512(または528)Byte、2048(または2112)Byte、4096(または4224)Byte、と種々選択することができる。
(a)別のセクタカウントが入力される、
(b)全てのセクタデータの読み出し/書き込みが終わる、
(c)リセットコマンド<FBh>が入力される、
(d)パワーオンリセットコマンド<FDh>が入力される。
セクタアドレスは、固定4サイクルの論理的アドレスである。セクタサイズは常に、512Byteであり、アドレス範囲は理論的に2TByteまで設定できる。
10.1 セクタ読み出し手順
G3モードでのセクタ読み出しは、論理的セクタアドレスに従って行われる。アドレス可能範囲は、トータルのアドレス可能なセクタ数を規定する“Card configuration”コマンドシーケンスにより決まる。
図22(a)(b)は、セクタ読み出しにおいて、前述した“Card configuration”と“Function service&sector count”により規定される複数種のモードを示している。
ホストは転送データサイズを決めることができる。各転送データサイズには、以下に示すように、選択可能なセクタアドレスに制限がある。
追加16Byteのデータフォーマットは、ECCの場合、図27に示すように、520−522Byte及び525−527Byteの6ByteがECCコード領域として用いられ、それ以外はオール“FFh”とされる。
例えば、セクタカウント(SC)=4の場合について、セクタ読み出しは、コマンドと4サイクルのセクタアドレス、<50h−add*4>を入力して、SC=4の読み出しを設定し、更にコマンドと4サイクルのセクタアドレス<00h−add*4>を入力してセクタ読み出しを指示する。これにより、SC=4対応の読み出しデータDoutが得られる。
セクタ読み出しは、通常モードでもストリーミングモードでも、リセットコマンド<FBh>により強制終了させることができる。これにより、セクタカウントは1にクリアされる。
セクタ読み出し動作の間にホストは、ステータス読み出しコマンド<70h>を発行することができる。この場合図29に示すように、ホストはステータス読み出し後、読み出しイネーブル/REを出して読み出しデータ出力動作を開始する前に、コマンド<00h>を発行しなければならない。
セクタ読み出し動作の間にホストは、バッファリード/ライトコマンド<71h>を発行することができる(その詳細は後述する)。この場合も図30に示すように、読み出しイネーブル/REを出して読み出しデータ出力動作を開始する前に、コマンド<00h>を発行しなければならない。
11.1 セクタ書き込み手順
図32は、セクタ書き込みの手順を示している。セクタ書き込みは、論理セクタアドレスに基づいて行われる。アドレス可能範囲は、“G3 mode enable”に続いて行われる“Card configuration”コマンドの実行により、全アクセス可能なセクタとして定められる。“Card configuration”の中で、“Function service&sector count”を利用することを選択した場合には、セクタ書き込みの開始前にホストは、“Function service&sector count”コマンドを実行することが必要である。
図33(a)(b)は、セクタ書き込みにおいて、前述した“Card configuration”と“Function service&sector count”により規定される複数種のモードを示している。
ホストは転送データサイズを決めることができる。即ち必要なら、“Card configuration”において、追加16Byteを有効にして、各セクタユニット512Byteに16Byteを付加した528Byteのセクタデータサイズとすることができる。
追加16Byteのデータフォーマットは、ECCの場合、CRC16の場合についてそれぞれ図38及び図39のようになる。これらはセクタ読み出しの場合の図27及び図28と同じである。
セクタ書き込みについては、二つのプロトコルがある。一つは、マルチプルセクタの書き込みモードの場合の推奨モードであり、2サイクル目からコマンド−セクタアドレス<80h−add*4>のセクタアドレス入力が必要なく、連続的なセクタデータ書き込みができる。
ホストは、セクタカウントがSC=1になる前、またはストリーミング書き込みが終了する前に、コマンドによる書き込みを中断することができる。具体的には、リセットコマンド<FBh>、パワーオンリセットコマンド<FDh>、パワーダウンコマンド<FEh>等による。
後に説明するCIS読み出し及び、バッファ読み出し/書き込みについては、セクタ書き込みを中断することなく、実行することができる。但し、CIS読み出し及びバッファ読み出し/書き込み後、セクタ書き込みを再開するには、<80h>…<10h>のコマンドシーケンスが必要である。
G3カードは、ある種のデータのランダムアクセスによる性能低下を防止するために、いくつかのキャッシュシステムを持つ。一般に、論理セクタのオーバライトは、内部データスワッピングを起こし、これは性能低下をもたらすオーバーヘッドとなる。この様な事態は例えば、FAT、ディレクトリ、ある種の画像データや動画データの更新の際のランダムアクセス時に生じる。
ホストがあるデータを特別の論理アドレスに書き込みを行う場合、そのデータがキャッシュシステムにより扱われるようにする。例えば、FAT領域の論理セクタアドレスがDOSフォーマットパラメータ(後述する)を通して得られるようにする。
ホストがディレクトリ領域にアクセスする場合に、セクタカウントが小さくなるようにする。従ってそれ以外の場合、G3カードは論理セクタアドレスをジャンプすることになる。
ステータス読み出しは、カードのビジー/レディ状態を監視し、書き込みのパス/フェイルを確認する、といった目的で行われる。カード状態は、コマンド<70h>を入力後、読み出しイネーブル/REのトグルによりI/Oポートに出力される。
G3カードは、論理アドレスベースでアクセスするため、CIS(Card Information Structute)データの読み出し法を定めておく必要がある。
G3カードは、ホストとカードの接続状態を速やかにチェックするために、バッファ読み出し/書き込み機能を有する。ホストが特定のコマンドと共に1Byteのデータを書き込むと、その反転データが読み出し出力されるようになっている。
G3カードは、2タイプのリセットコマンドを有する。その一つは、ハードウェアのリセットを行うパワーオンリセットコマンド<FDh>であり、もう一つはソフトウェアのリセットを行うコマンド<FBh>である。
図48は、パワーダウンコマンド<FEh>のタイミング図である。G3カードのパワーダウンの前には、ホストがこのコマンドを出すことが必要とされている。G3カード内でキャッシュに保持されたデータが残っている場合に、電源オフによりこれが消失するのを防止するためである。
一般にxDPTMカードシステムでは、次の3つの目的を持ってDSC(DOS)フォーマットが定められている。
(b)プレ消去としての全物理ブロックの消去
(c)ユーザーデータの完全消去(セキュリティのため)
LBA方式を用いるG3カードにおいても、(a)及び(c)は必要である。(a)については一般に、ホストがオリジナルDOSパラメータを書いて、全てのファイル情報をクリアすることができ、しかもそれほど時間はかからない。一方(c)については、G3カードではホストが物理的ブロック消去を行うという機能を持たないことを前提としているために、論理セクタアクセスに従ってユーザーデータを全て“00”に書き換える必要があり、非常に長い時間を要する。何故なら、ホストがある論理アドレスのデータを書き換える場合に、G3カード自身が自ら空きブロックを探して書き込み、元の論理アドレスが割り付けられた箇所のデータを消去する、という動作を行うためである。
内部データを完全にクリーンアップするために、物理ブロック消去を行う“Low level format”コマンドが用意されている。消去動作を行うという点を除き、“オートDOSフォーマット”のコマンド機能と同じである。
G3カードは、特殊なコマンドにより読み出すことが許される特殊なIDデータである“Unique ID”がある。“Unique ID”は、カード出荷前に書かれるもので、誰もこれを書き換えることはできない。
G3カードには、G1或いはG2カード世代の機能である(a)自動ブロック消去の機能、及び(b)FFhリセットの機能が残されている。
(a)は、図49のタイミング図に従って、物理アドレスを入力してブロック消去を行う機能である。
(b)は、図50のタイミング図に従って、セクタアドレス及びセクタカウントをクリアする機能である。
G3カードは、主としてフラッシュメモリ内部ディレクトリのテストのため、“Pass through mode”が設定可能である。このモードは、搭載コントローラがコマンドの意味を解釈するのではなく、ホストデバイスからLBA−NANDメモリ内のホストI/FへのアクセスをNANDフラッシュメモリに直接伝えるようにするモードへの切り換えを行うものである。図51に示すように、コマンド<A6h>−<59h>−<99h>が用いられる。
図52及び図53は、セクタカウント設定を行う方式のセクタ読み出しプロトコルである。“Status”読み出しにより、内部的なReady/Busyとは別に、入出力パッドD5を利用して、最初のデータ読み出しからセクタ読み出しの最終データパケットがくるまで連続してビジー状態(D5=“0”)を表示する例を示している。“Status”読み出しは、次のようなコマンドシーケンスとなる。<70h>−[Status value]。この[Status value]を読み出した後、データ読み出しを引き続き行う場合は、<00h>を入れて、データ読み出しモードに復帰させる。書き込みの場合も同様である。
Claims (4)
- 不揮発性メモリと、
この不揮発性メモリの読み出し及び書き込みを制御するメモリコントローラとを備えた不揮発性メモリシステムにおいて、
前記不揮発性メモリシステムは、前記メモリコントローラ内に、ホストから供給される論理アドレスと前記不揮発性メモリの物理アドレスとの対応関係を示すアドレス変換テーブルを持って論理アドレスに従ってアクセス制御されるものであり、
前記メモリコントローラは、
前記不揮発性メモリセルの電源投入後にセクタの数としての第1の初期値を設定し、
前記第1の初期値が設定されている間は、前記ホストからの要求に従い前記不揮発性メモリから前記第1の初期値のセクタの数のデータを読み出し、
前記ホストからのコマンドに従い、前記第1の初期値から前記第1の初期値とは異なる第2の値への切り替えを行い、前記ホストからの新たなコマンドにより前記第2の値が変更されない限り、前記第2の値をセクタの数として維持し、
前記第2の値への切り替えの後、前記メモリコントローラは、前記第2の値が維持されている限り、前記ホストからの要求に従い、前記不揮発性メモリから前記第2の値のセクタの数のデータを読み出す
ことを特徴とする不揮発性メモリシステム。 - 選択的にオンオフ可能なデータ転送エラーをチェックするためのECC機能またはCRC16機能を有する
ことを特徴とする請求項1記載の不揮発性メモリシステム。 - 必要とする動作速度性能に応じて、通常パワーモードと高パワーモードとが切り換え可能に設定される
ことを特徴とする請求項1記載の不揮発性メモリシステム。 - 前記不揮発性メモリシステムはメモリカードである
請求項1乃至3のいずれかに記載の不揮発性メモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007040408A JP4970078B2 (ja) | 2007-02-21 | 2007-02-21 | 不揮発性メモリシステム |
US12/034,306 US20080201553A1 (en) | 2007-02-21 | 2008-02-20 | Non-volatile memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007040408A JP4970078B2 (ja) | 2007-02-21 | 2007-02-21 | 不揮発性メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008204222A JP2008204222A (ja) | 2008-09-04 |
JP4970078B2 true JP4970078B2 (ja) | 2012-07-04 |
Family
ID=39707655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007040408A Expired - Fee Related JP4970078B2 (ja) | 2007-02-21 | 2007-02-21 | 不揮発性メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080201553A1 (ja) |
JP (1) | JP4970078B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5412769B2 (ja) * | 2008-09-03 | 2014-02-12 | 富士通株式会社 | フラッシュメモリ制御装置、フラッシュメモリ制御方法及びフラッシュメモリ制御プログラム |
KR101843918B1 (ko) | 2011-04-25 | 2018-04-02 | 삼성전자주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 그 동작 방법 |
TWI479493B (zh) | 2011-04-25 | 2015-04-01 | Silicon Motion Inc | 快閃記憶裝置及其斷電處理方法 |
KR101856506B1 (ko) * | 2011-09-22 | 2018-05-11 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 쓰기 방법 |
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
JP6274589B1 (ja) * | 2016-09-28 | 2018-02-07 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および連続読出し方法 |
JP6797727B2 (ja) * | 2017-03-21 | 2020-12-09 | キオクシア株式会社 | 半導体記憶装置 |
JP7458740B2 (ja) * | 2019-10-21 | 2024-04-01 | キオクシア株式会社 | メモリシステム及び制御方法 |
CN112905219B (zh) * | 2021-02-07 | 2024-06-18 | 北京云育科技有限公司 | 基于sd卡的软件更新方法、终端及计算机可读存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185609A (ja) * | 1997-09-09 | 1999-03-30 | Mitsubishi Electric Corp | 半導体記憶装置及びそのデータ管理方法 |
TW527604B (en) * | 1998-10-05 | 2003-04-11 | Toshiba Corp | A memory systems |
JP2000112824A (ja) * | 1998-10-05 | 2000-04-21 | Toshiba Corp | メモリシステム |
US6754765B1 (en) * | 2001-05-14 | 2004-06-22 | Integrated Memory Logic, Inc. | Flash memory controller with updateable microcode |
US20030023807A1 (en) * | 2001-06-13 | 2003-01-30 | Youichi Yamamoto | Disk drive device and control device thereof |
US8161225B2 (en) * | 2003-08-06 | 2012-04-17 | Panasonic Corporation | Semiconductor memory card, access device and method |
KR100528482B1 (ko) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
JP3892851B2 (ja) * | 2004-02-04 | 2007-03-14 | 株式会社東芝 | メモリカード及び半導体装置 |
US7427027B2 (en) * | 2004-07-28 | 2008-09-23 | Sandisk Corporation | Optimized non-volatile storage systems |
JP4406339B2 (ja) * | 2004-09-21 | 2010-01-27 | 株式会社東芝 | コントローラ、メモリカード及びその制御方法 |
JP4817836B2 (ja) * | 2004-12-27 | 2011-11-16 | 株式会社東芝 | カードおよびホスト機器 |
-
2007
- 2007-02-21 JP JP2007040408A patent/JP4970078B2/ja not_active Expired - Fee Related
-
2008
- 2008-02-20 US US12/034,306 patent/US20080201553A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20080201553A1 (en) | 2008-08-21 |
JP2008204222A (ja) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4970078B2 (ja) | 不揮発性メモリシステム | |
US11150808B2 (en) | Flash memory system | |
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
US7711889B2 (en) | Nonvolatile memory system, and data read/write method for nonvolatile memory system | |
KR101146059B1 (ko) | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법 | |
JP4129381B2 (ja) | 不揮発性半導体記憶装置 | |
US9437312B2 (en) | Management of write-protected data in a semiconductor memory | |
JPWO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
JP5073402B2 (ja) | メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム | |
JP4843222B2 (ja) | 半導体記憶装置の制御方法、メモリカード、及びホスト機器 | |
JP2009003569A (ja) | 半導体記憶装置 | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US8589620B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
JP4655034B2 (ja) | メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法 | |
JP2009003995A (ja) | 半導体記憶装置 | |
JP2009003994A (ja) | 半導体記憶装置 | |
JP2009003571A (ja) | 半導体記憶装置 | |
JP2009003570A (ja) | 半導体記憶装置 | |
JP2004265447A (ja) | 不揮発性半導体メモリ装置のデータ書き込み方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120123 |
|
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: 20120313 |
|
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: 20120404 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150413 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150413 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |