JP2009163652A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2009163652A JP2009163652A JP2008002775A JP2008002775A JP2009163652A JP 2009163652 A JP2009163652 A JP 2009163652A JP 2008002775 A JP2008002775 A JP 2008002775A JP 2008002775 A JP2008002775 A JP 2008002775A JP 2009163652 A JP2009163652 A JP 2009163652A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- length
- input
- memory controller
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】予め設定されたデータ長と異なるデータ長を送信してくる外部システムとの間でも支障のないデータの授受を行うことができる半導体記憶装置を提供する。
【解決手段】半導体記憶装置は、データを記憶するメモリ部21と、ホストデバイスから供給された論理アドレスをメモリ部21の物理アドレスに変換する機能を有し、メモリ部21の読み出し及び書き込みを制御するメモリコントローラ22とを備える。メモリコントローラ22は、外部装置からアクセスされるデータの長さが予め規定された所定のデータ長よりも短い場合、内部でデータ長を整合させてメモリ部21と外部装置との間のデータの授受を行う。
【選択図】図11
【解決手段】半導体記憶装置は、データを記憶するメモリ部21と、ホストデバイスから供給された論理アドレスをメモリ部21の物理アドレスに変換する機能を有し、メモリ部21の読み出し及び書き込みを制御するメモリコントローラ22とを備える。メモリコントローラ22は、外部装置からアクセスされるデータの長さが予め規定された所定のデータ長よりも短い場合、内部でデータ長を整合させてメモリ部21と外部装置との間のデータの授受を行う。
【選択図】図11
Description
この発明は、データを記憶するメモリ部と、その読み出し/書き込み制御を行うメモリコントローラとを備えた半導体記憶装置に関する。
電気的書き換え可能な不揮発性半導体メモリ(EEPROM)の一つとして、NAND型フラッシュメモリが知られている。NAND型フラッシュメモリは、単位セル面積がNOR型に比べて小さく、大容量化が容易である。また、セル単位での読み出し/書き込み速度は、NOR型に比べると遅いが、セルアレイとページバッファとの間で同時に読み出し/書き込みが行われるセル範囲(物理的ページ長)を大きくすることで、実質的に高速の読み出し/書き込みが可能である。
このような特長を活かして、NAND型フラッシュメモリは、ファイルメモリやメモリカードをはじめとする各種記録メディアとして使用されている。
メモリカード等においては、不揮発性メモリとメモリコントローラとをパッケージして、ホストから供給されるコマンドと論理アドレスにより、不揮発性メモリの読み出し/書き込みを制御することが行われる。例えば、ホストから論理アドレスとセクタ数を与えることにより、複数セクタのデータ読み出しを行うことも提案されている(特許文献1参照)。
しかし、従来のこの種のNAND型フラッシュメモリでは、予め受入可能なデータ長を、例えば16Byteの冗長データを含む528Byteか、又は冗長データを含まない512Byteに固定する必要があり、設定されたデータ長と異なるデータ長のデータを送信してくるシステムとの間では、データ長の設定をし直さない限り受入不可能であるという問題があった。
特開2006−155335号公報
この発明は、予め設定されたデータ長と異なるデータ長を送信してくる外部システムとの間でも支障のないデータの授受を行うことができる半導体記憶装置を提供することを目的とする。
この発明の一態様による半導体記憶装置は、データを記憶するメモリ部と、ホストデバイスから供給された論理アドレスを前記メモリ部の物理アドレスに変換する機能を有し、前記メモリ部の読み出し及び書き込みを制御するメモリコントローラとを備え、前記メモリコントローラは、外部装置からアクセスされるデータの長さが予め規定された所定のデータ長よりも短い場合、内部でデータ長を整合させて前記メモリ部と前記外部装置との間のデータの授受を行うことを特徴とする。
この発明によれば、予め設定されたデータ長と異なるデータ長を送信してくる外部システムとの間でも支障のないデータの授受を行うことができる。
以下、図面を参照して、この発明の実施の形態を説明する。
[半導体メモリの構成]
図1は、本実施の形態に係る半導体メモリを示すブロック図である。
図1は、本実施の形態に係る半導体メモリを示すブロック図である。
この実施の形態の半導体メモリは、例えば一つ或いは複数個のNANDフラッシュメモリ21と、その読み出し/書き込みを制御するメモリコントローラ22とにより一体にパッケージ化されたメモリモジュールを構成する。搭載される全てのフラッシュメモリ21は、一つのメモリコントローラ22で論理メモリとしてコントロールされるので、以下これを、論理ブロックアドレス(Logic Block Address)NANDフラッシュメモリ(以下、LBA−NANDメモリと略称する)という。
LBA−NANDメモリ20に搭載されるNANDフラッシュメモリ21は、1又は複数のメモリチップから構成されている。図1では二つのメモリチップchip1,chip2を示しているが、その場合も一つのメモリコントローラ22で制御される。最大搭載メモリチップ数は、レギュレータの電流能力や他のファクタとの関係で決まるが、例えば4チップとする。
メモリコントローラ22は、フラッシュメモリ21との間でデータ転送を行うためのNANDフラッシュインタフェース23、ホストデバイスとの間でデータ転送を行うためのホストインタフェース25、読み出し/書き込みデータ等を一時保持するバッファRAM26、データ転送制御を行うMPU24、NANDフラッシュメモリ21内のファームウェア(FW)の読み出し/書き込みのシーケンス制御等に用いられるハードウェアシーケンサ27を有する1チップコントローラである。
なお、NANDフラッシュメモリ21とメモリコントローラ22とが1チップであるか別チップであるかは、このLBA−NANDメモリ20にとって本質的ではない。
図2は、図1のNANDフラッシュメモリ21のメモリコア部のセルアレイ構成を示している。
メモリセルアレイ1は、複数の電気的書き換え可能な不揮発性メモリセル(図の例では32個のメモリセル)M0−M31が直列接続され、その両端に選択ゲートトランジスタS1,S2がそれぞれ接続されたNANDセルユニット(NANDストリング)NUを配列して構成される。
NANDセルユニットNUの選択ゲートトランジスタS1側の端部はビット線BLo,BLeに、選択ゲートトランジスタS2側の端部は共通ソース線CELSRCにそれぞれ接続される。メモリセルM0−M31の制御ゲートはそれぞれワード線WL0−WL31に接続され、選択ゲートトランジスタS1,S2のゲートは選択ゲート線SGD,SGSに接続される。
ワード線方向に配列されるNANDセルユニットの集合が、データ消去の最小単位となるブロックを構成し、図示のようにビット線の方向に複数のブロックBLK0−BLKn−1が配置される。
ビット線BLe,BLoの一端側に、セルデータの読み出し及び書き込みに供させるセンスアンプ回路3が配置され、ワード線の一端側にワード線及び選択ゲート線の選択駆動を行うロウデコーダ2が配置される。図では、隣接する偶数番ビット線BLeと奇数番ビット線BLoがビット線選択回路により選択的にセンスアンプ回路3の各センスアンプSAに接続される場合を示している。
以上のように構成されたLBA−NANDメモリ20において、コマンド、アドレス(論理アドレス又は物理アドレス)及びデータ、並びにチップ・イネーブル信号/CE、書き込みイネーブル信号/WE、読み出しイネーブル信号/RE、レディ/ビジー信号RY/BY等の外部制御信号は、ホストI/F25に入力される。ホストI/F25では、コマンドや制御信号を、MPU24及びハードウェアシーケンサ27に振り分けると共に、アドレス及びデータをバッファRAM26に格納する。
外部から入力された論理アドレスは、NANDフラッシュI/F23で、NANDフラッシュメモリ21の物理アドレスに変換される。また、各種制御信号に基づくハードウェアシーケンサ27の制御の下、データの転送制御及び書き込み/消去/読み出しのシーケンス制御が実行される。変換された物理アドレスは、NANDフラッシュメモリ21内のアドレスレジスタを介して、ロウデコーダ2やカラムデコーダ(図示せず)に転送される。書き込みデータは、I/O制御回路等を介してセンスアンプ回路3にロードされ、読み出しデータはI/O制御回路等を介して、外部に出力される。
[メモリ領域]
図3は、この実施の形態のLBA−NANDメモリのメモリ領域の詳細を示す図である。
図3は、この実施の形態のLBA−NANDメモリのメモリ領域の詳細を示す図である。
本実施形態のLBA−NANDメモリ20は、コマンドによりアクセスの切り換えが可能な複数のデータ領域(論理ブロックアクセス領域)を持つ。具体的にこの実施の形態では、用途とデータの信頼性により分けられる2つ又は3つのデータ記憶領域がある。
図3(a)に示すスタンダードオペレーションモードでは、それぞれが特性の異なる情報を記憶する2つのデータ記憶領域を有する。1つはSLC(Single Level Cell)を用いた2値データ記憶領域SDA(SLC Data Area)であり、もう一つはMLC(Multi Level Cell)を用いた多値データ記憶領域MDA(MLC Data Area)である。2値データ記憶領域SDAは、ファイルシステム又はネットワーク通信のログデータ等を記憶するのに適し、多値データ記憶領域MDAは、音楽、画像、各種アプリケーション等を記憶するのに適している。
図3(b)に示すオプショナルパワーオンモードでは、上記特性の異なる情報を記憶する2つのデータ記憶領域SDA,MDAに加えて、ブートコードを記憶するブートコードブロックがメモリ領域の先頭に設けられる。
これら2つのモードにおいて、2値データ記憶領域SDAと多値データ記憶領域MDAの境界は、コマンドの指示によって任意に変更可能となっている。例えば、MLC(4値)をSLC(2値)としても使用可能なメモリセルアレイを用い、メモリ領域全てをMLCとして使用した場合の記憶容量が4GBであるメモリにおいて、図4に示すように、2値データ記憶領域SDAの記憶容量を、0MB,50MB,500MB及び1GBにそれぞれ設定した場合、多値データ記憶領域MDAの記憶容量は、それぞれ4GB,3.9GB,3GB及び2GBになる。
図5は、2値データ記憶領域SDAのセットアップのタイミングチャートである。
ここで、CLEはコマンド・ラッチ・イネーブル、CEはチップ・イネーブル、WEはライト・イネーブル、ALEはアドレス・ラッチ・イネーブル、REはリード・イネーブル、RY/BYはReady/Busyの各制御信号を示している。コマンド入力のタイミングで、リードSDAコマンド“00h”を読み込み、続いてアドレス・ラッチの5サイクルで、セットSDAコマンド“A5h”及びアロケーション・ユニット1st,2nd,3rd,4thを順次入力する。アロケーション・ユニットは、例えば図6に示すように、2値データ記憶領域SDAの境界位置を指定する。これにより、メモリコントローラ22に、SDAとMDAとの境界エリアが設定されるので、以後の論理アドレスと物理アドレスの変換処理は、設定された境界エリアに基づいて実行される。
図7は、2値データ記憶領域SDAのサイズ確認のタイミングチャートである。
コマンド入力のタイミングで、リードSDAコマンド“00h”を読み込み、続いてアドレス・ラッチの5サイクルで、ゲットSDAユニットコマンド“B5h”及び4バイトのダミーデータを順次入力する。これにより、SDAの境界エリアがコントローラ22から読み出される。
図8は、多値データ記憶領域MDAのサイズ確認のタイミングチャートである。
コマンド入力のタイミングで、リードSDAコマンド“00h”を読み込み、続いてアドレス・ラッチの5サイクルで、ゲットMDAユニットコマンド“B0h”及び4バイトのダミーデータを順次入力する。これにより、MDAの境界エリアがコントローラ22から読み出される。
[リード/ライト動作]
論理アドレスは、ハードディスクに対するアクセスと同様、セクタアドレスとセクタ数によって与えられる。論理アドレスから物理アドレスへは、メモリコントローラ22によって変換される。図9には、リード/ライト時のシーケンスが示されている。
論理アドレスは、ハードディスクに対するアクセスと同様、セクタアドレスとセクタ数によって与えられる。論理アドレスから物理アドレスへは、メモリコントローラ22によって変換される。図9には、リード/ライト時のシーケンスが示されている。
リード時には、図9(a)に示すように、まず、リードSDAコマンド “00h”かリードMDAコマンド“0Ah”を与える。“00h”は2値データ記憶領域SDAへのリードであることを示し、“0Ah”は多値データ記憶領域MDAへのリードであることを示している。続いて、5サイクルをかけて、セクタ数(下位8ビット)、セクタ数(上位8ビット)、セクタアドレス(下位8ビット)、セクタアドレス(中間8ビット)及びセクタアドレス(上位8ビット)の順にアドレスを入力する。次に、読み出しコマンドであることを示すコード“30h”を入力する。これにより、メモリコントローラ22が論理アドレスを物理アドレスに変換し、変換された物理アドレスがNANDフラッシュメモリ21内のアドレスレジスタに格納されてロウデコーダ2及びカラムデコーダ(図示せず)によってメモリセルアレイ1がアクセスされ、指定されたデータが読み出される。以後は、同様にリードコマンド“0xh”が入力されるが、アドレスとしてセクタアドレスとセクタ数を与えているので、以後のアクセスは、指定されたセクタ数が全て読み出されるまでメモリコントローラ22でアドレスを連続的に更新すればよい。このため、図9(a)のリードシーケンスでは、以後のアドレス指定のサイクルにダミーのアドレスを与えて、内部で生成された物理アドレスでアクセスを行うようにしている。なお、このように2回目以降のアクセスにダミーアドレス及び読み出しコマンド“30h”を与える代わりに、継続コマンド“F8h”を与え、この継続コマンドによってアドレスの更新及び読み出しコマンドの発生を行うようにしても良い。
ライト時には、図9(b)に示すように、まず、オート・プログラム・コマンドとして“80h”か“8Ah”を与える。“80h”は2値データ記憶領域SDAへのライトであることを示し、“8Ah”は多値データ記憶領域MDAへのライトであることを示している。続いて、5サイクルをかけて、セクタ数(下位8ビット)、セクタ数(上位8ビット)、セクタアドレス(下位8ビット)、セクタアドレス(中間8ビット)及びセクタアドレス(上位8ビット)の順にアドレスを入力する。続いて書き込みデータを入力した後、書き込みコマンドであることを示すコード“10h”を入力する。これにより、メモリコントローラ22が論理アドレスを物理アドレスに変換し、変換された物理アドレスによってメモリセルアレイ1にデータが書き込まれる。
[データ構造]
図10は、本実施形態のLBA−NANDメモリで使用されるデータの構造を示している。
図10は、本実施形態のLBA−NANDメモリで使用されるデータの構造を示している。
2値データ記憶領域SDA及び多値データ記憶領域MDA共に、セクタ・マルチプルが1(SM=1)の場合、読み出し及び書き込みとも、図示のデータフォーマットの512Byte(データ本体)と、16Byte(冗長データ)の計528Byteを転送単位とする。
読み出しデータの16Byteの冗長データのフォーマットは、ホストシステムからのコンフィグレーション・コマンドによって幾つかのフォーマットタイプの中から選択することができる。例えば、Type aをスマート・メディア・フォーマットとし、Type bをECCのPass/Fail結果出力とし、Type cをAll 1データとし、これらの中から一つをコマンドによって選択可能にすることができる。これらの冗長データは、読み出し時にLBA−NANDメモリ20内のメモリコントローラ22内で生成されて読み出される。
書き込みデータについては、16Byteの冗長データがダミーデータとなる。転送された528Byteのデータのうち、NAND型フラッシュフラッシュメモリ21に格納されるのは、512Byteである。LBA−NANDメモリ22内では転送されたデータのうち、拡張16バイトを削除し、内部で書き込みデータに合わせたECCコードを生成して、これが書き込みデータと共にフラッシュメモリ22に記憶される。
なお、ECCデータは、LBA−NANDメモリ20内のメモリコントローラ22が生成する。ECCデータで転送されたデータの正しさの確認は、読み出し時にLBA−NANDメモリ20内のメモリコントローラ22が行なう。
16Byteの冗長データを省いた512Byteを転送単位とする読み出し/書き込みもできる。これらは、データ構成の変更、切り換えを指示するためのコンフィグレーション・コマンドによる切り換えは不要である。
セクタ・マルチプルSM=4とすることにより、データ転送単位を2112Byteとすることができる。これは、SM=1のデータフォーマットを4回繰り返すことになる。Type2とType3とは、16Byteの冗長データが528Byteの各データ転送単位内に記録されているか、64Byte分最後にまとめて記録されているかの違いである。
[異なるデータ構造がアクセスされた場合の処理]
上述したように、データ構造は、ホストシステムから与えられるコンフィグレーション・コマンドによって設定できる。本実施形態では、データ構造を、予め16Byteの冗長データを含む528Byteに設定し、外部のホストシステムから、これよりも短いデータ、例えば512Byteのデータ本体部のみが送信されてきた場合でも対応可能とするように、メモリコントローラ22の内部での処理を次のように行っている。
上述したように、データ構造は、ホストシステムから与えられるコンフィグレーション・コマンドによって設定できる。本実施形態では、データ構造を、予め16Byteの冗長データを含む528Byteに設定し、外部のホストシステムから、これよりも短いデータ、例えば512Byteのデータ本体部のみが送信されてきた場合でも対応可能とするように、メモリコントローラ22の内部での処理を次のように行っている。
図11は、データの書き込み時のメモリコントローラ22の内部の処理を示すフローチャートである。まず、書き込みコマンド(8xh)を受信したら(S1)、データを入力し(S2)、次のコマンド(10h)を入力したら(S3)、受信したデータの長さを確認する(S4)。受信したデータが528Byteであれば、予め設定されたデータの長さと等しいため、受信したデータのNANDフラッシュメモリ21への書き込み処理を実行するが(S6)、もし、受信したデータが512Byteのように、データ本体のみであった場合には、不足データ分を内部で生成してデータ本体に付加し(S5)、その後、書き込み処理を実行する(S6)。なお、不足データ分は、例えば512Byteのデータ本体から周知の誤り訂正符号生成処理によって生成される16Byteの冗長データである。
一方、データ読み出し時には、メモリコントローラ22内で生成された冗長ビットを出力時に廃棄するか、ホストシステム側でLBA−NANDメモリ20から読み出された冗長データを無視すれば良い。
このような処理を実行することにより、メモリコントローラ22の内部で設定されたデータ長よりも短いデータでホストシステムとアクセスする場合でも、外部コマンドによってデータ構造を変更することなく、支障のない処理を続行できるという利点がある。
なお、本発明は上述した実施形態に限定されるものではない。例えば、上記実施形態では、フラッシュメモリとしてNAND型を使用しているが、NOR型他の形式のメモリを用いても良い。
1…メモリセルアレイ、2…ロウデコーダ、3…センスアンプ回路、20…LBA−NANDメモリ、21…NANDフラッシュメモリ、22…メモリコントローラ、23…NANDフラッシュインタフェース、24…MPU、25…ホストインタフェース、26…バッファRAM、27…ハードウェアシーケンサ。
Claims (5)
- データを記憶するメモリ部と、
ホストデバイスから供給された論理アドレスを前記メモリ部の物理アドレスに変換する機能を有し、前記メモリ部の読み出し及び書き込みを制御するメモリコントローラと、
を備え、
前記メモリコントローラは、外部装置からアクセスされるデータの長さが予め規定された所定のデータ長よりも短い場合、内部でデータ長を整合させて前記メモリ部と前記外部装置との間のデータの授受を行う
ことを特徴とする半導体記憶装置。 - 前記メモリコントローラは、書き込みデータとして入力したデータの長さが予め設定された所定のデータ長よりも短い場合、不足分のデータを前記入力したデータに付加して所定のデータ処理を実行する
ことを特徴とする半導体記憶装置。 - 前記メモリコントローラは、書き込みコマンドを入力してから次のコマンドが入力されるまでの間に入力されたデータの長さが前記所定の長さと等しいかどうかを確認し、前記入力されたデータの長さが所定の長さと等しい場合には前記所定のデータ処理を実行し、前記入力されたデータの長さが所定の長さよりも短い場合には前記入力されたデータに不足分データを付加した後に前記所定の処理を実行する
ことを特徴とする請求項1記載の半導体記憶装置。 - 前記所定の長さのデータは、データ本体と冗長データとにより構成され、
前記メモリコントローラは、前記入力されたデータが前記データ本体のみからなる場合、前記データ本体から前記冗長データを生成して前記データ本体に付加する
ことを特徴とする請求項1又は2記載の半導体記憶装置。 - 前記メモリコントローラは、外部からのコマンドによって前記データの長さを含むフォーマットを設定することを特徴とする請求項1記載の半導体記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008002775A JP2009163652A (ja) | 2008-01-10 | 2008-01-10 | 半導体記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008002775A JP2009163652A (ja) | 2008-01-10 | 2008-01-10 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009163652A true JP2009163652A (ja) | 2009-07-23 |
Family
ID=40966170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008002775A Withdrawn JP2009163652A (ja) | 2008-01-10 | 2008-01-10 | 半導体記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009163652A (ja) |
-
2008
- 2008-01-10 JP JP2008002775A patent/JP2009163652A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150808B2 (en) | Flash memory system | |
US7679965B2 (en) | Flash memory with improved programming precision | |
US6266273B1 (en) | Method and structure for reliable data copy operation for non-volatile memories | |
KR100939146B1 (ko) | 비휘발성 반도체 메모리 시스템 및 그 데이터 기입 방법 | |
JP4746598B2 (ja) | 半導体記憶装置 | |
US20160141036A1 (en) | Nonvolatile memory and related reprogramming method | |
KR101424782B1 (ko) | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 | |
JP2004265162A (ja) | 記憶装置およびアドレス管理方法 | |
US9524781B2 (en) | Nonvolatile memory device and operating method thereof | |
US11081171B2 (en) | Nonvolatile memory device including a fast read page and a storage device including the same | |
JP2009003569A (ja) | 半導体記憶装置 | |
US8279670B2 (en) | Non-volatile semiconductor storage device | |
JP2009003995A (ja) | 半導体記憶装置 | |
JP2009003994A (ja) | 半導体記憶装置 | |
JP2009003571A (ja) | 半導体記憶装置 | |
JP2009163652A (ja) | 半導体記憶装置 | |
EP3783614B1 (en) | Nonvolatile memory device including a fast read page and a storage device including the same | |
JP2009003570A (ja) | 半導体記憶装置 | |
JP2009163851A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110405 |