Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6767532B2 - 半導体記憶装置 - Google Patents
[go: Go Back, main page]

JP6767532B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP6767532B2
JP6767532B2 JP2019044155A JP2019044155A JP6767532B2 JP 6767532 B2 JP6767532 B2 JP 6767532B2 JP 2019044155 A JP2019044155 A JP 2019044155A JP 2019044155 A JP2019044155 A JP 2019044155A JP 6767532 B2 JP6767532 B2 JP 6767532B2
Authority
JP
Japan
Prior art keywords
data
programmed
memory
volatile memory
address
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.)
Active
Application number
JP2019044155A
Other languages
English (en)
Other versions
JP2020149151A (ja
Inventor
規男 服部
規男 服部
Original Assignee
ウィンボンド エレクトロニクス コーポレーション
ウィンボンド エレクトロニクス コーポレーション
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 ウィンボンド エレクトロニクス コーポレーション, ウィンボンド エレクトロニクス コーポレーション filed Critical ウィンボンド エレクトロニクス コーポレーション
Priority to JP2019044155A priority Critical patent/JP6767532B2/ja
Priority to TW108142621A priority patent/TWI721666B/zh
Priority to CN202511745051.1A priority patent/CN121528273A/zh
Priority to CN201911307651.4A priority patent/CN111681697A/zh
Priority to KR1020200002064A priority patent/KR102351933B1/ko
Priority to US16/742,862 priority patent/US10937492B2/en
Publication of JP2020149151A publication Critical patent/JP2020149151A/ja
Application granted granted Critical
Publication of JP6767532B2 publication Critical patent/JP6767532B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

本発明は、半導体記憶装置に関し、特に、NAND型フラッシュメモリのプログラム動作に関する。
通常、NAND型フラッシュメモリは、パッケージ内に、メモリチップと当該メモリチップを制御するためのメモリコントローラとを含んで構成される。メモリコントローラに、メモリチップのエラー訂正やバッドブロックの管理等の一定の負荷を負わせることで、ホスト側のコンピュータの負荷を軽減させることができる。
例えば、特許文献1のフラッシュメモリシステムは、図1に示すように、フラッシュメモリ10と、ホストデバイス40とを含み、フラッシュメモリ10は、メモリコントローラ20とメモリチップ30とを含む。メモリコントローラ20は、ホストデバイス40との間でデータの転送を行うホストインターフェース22、メモリチップ30との間でデータの転送を行うメモリインターフェース24、データ転送やメモリチップの動作を制御するMPU、プログラムやデータを記憶するROM、RAMなどを備えている。メモリチップ30は、例えばNAND型フラッシュメモリのチップである。
特開2009−175877号公報
NAND型のフラッシュメモリでは、読出しおよびプログラムはページ単位で行われ、消去はブロック単位で行われる。ホストデバイスは、これらの動作を指示するとき、読み出し、プログラム、消去のための論理アドレスをメモリコントローラに出力する。メモリコントローラは、受け取った論理アドレスを、SRAMに保持された変換テーブルを参照して物理アドレスに変換し、メモリセルアレイへのプログラム等を行う。変換テーブルは、電源投入時に、メモリセルアレイに用意された領域からSRAMにロードされる。
ホストデバイスは、プログラムを指示するとき、各種制御信号(ALE、CLE等)に加えて、プログラム命令、プログラムすべきデータおよび論理アドレスLADをメモリコントローラへ出力する。論理アドレスLADは、論理ブロックアドレスLBA、論理ページアドレスLPAおよび論理カラムアドレスLCAを含む。メモリコントローラは、上記したように変換テーブルを参照し、論理ブロックアドレスLBAを物理ブロックアドレスPBAに変換し、物理ブロックアドレスPBAで指定されたブロックのページにデータをプログラムする。ブロック内のページは、論理ページアドレスLPAで指定される。
プログラムすべきデータのサイズが1ページよりも小さい場合、そのページにはプログラムに利用されない無駄な領域が生じてしまう。また、NANDフラッシュメモリには、パーシャルページプログラム機能、すなわち1ページ(例えば、2Kバイト)よりも小さいサイズのデータを同一ページに複数回プログラムする機能を備えるものがある。しかし、パーシャルページプログラム機能では、同一ワード線に高いプログラム電圧が繰り返し印加されることの悪影響を防止するため、同一ページに許容されるプログラムの最大回数NOP(number of programming)が規定されている。このため、最大回数NOPに到達した時点でページに未使用な領域があると、無駄な空き容量域が生じてしまう。
また、メモリセルアレイの高集積化に伴い1ページのデータサイズが増加する傾向にある。そうすると、ページ単位でプログラムするデータサイズも大きくなるが、ユーザーとしては、ページサイズよりも小さい単位のデータ(例えば、バイト単位、ワード単位のデータ)のプログラムを望むこともある。しかしながら、上記したようにNOPの制約があると、事実上、小サイズのデータをプログラムすることは不可能である。
本発明は、上記したような従来の課題を解決するものであり、メモリ領域の利用効率を改善しつつ小サイズのデータのプログラムが可能な利便性の高い半導体記憶装置を提供することを目的とする。
本発明に係る半導体記憶装置は、複数のブロックを含むNAND型のメモリセルアレイと、データの読み書きが可能な不揮発性メモリと、外部からプログラムコマンド、アドレス情報およびプログラムすべきデータが入力されたとき、プログラムすべきデータが基準サイズ未満であるとき、プログラムすべきデータおよび前記アドレス情報を前記不揮発性メモリに書込み、プログラムすべきデータが基準サイズ以上であるとき、プログラムすべきデータを前記メモリセルアレイにプログラムするプログラム手段とを有する。
ある実施態様では、前記プログラム手段は、前記不揮発性メモリに蓄積された同一ページのプログラムすべきデータが前記基準サイズ以上になったとき、蓄積されたプログラムすべきデータを前記メモリセルアレイの選択ページにプログラムする。ある実施態様では、半導体記憶装置はさらに、外部から読出しコマンドおよびアドレス情報が入力されたとき、入力されたアドレス情報に一致するアドレス情報が前記不揮発性メモリにある場合には前記不揮発性メモリからデータを読出し、入力されたアドレス情報に一致するアドレス情報が前記不揮発性メモリにない場合には前記メモリセルアレイからデータを読み出す読出し手段を含む。ある実施態様では、半導体記憶装置はさらに、論理アドレスを物理アドレスに変換する変換テーブルを記憶するメモリを含み、前記プログラム手段は、前記変換テーブルを参照して外部から入力された論理アドレスを物理アドレスに変換し、前記不揮発性メモリには、前記アドレス情報として論理アドレスと物理アドレスとが書込まれる。ある実施態様では、前記プログラム手段は、前記不揮発性メモリに蓄積されたプログラムすべきデータを前記メモリセルアレイにプログラムした後に、前記不揮発性メモリの該当するデータを無効にする。ある実施態様では、前記プログラム手段は、見かけ上、前記メモリセルアレイへのバイト単位またはワード単位のプログラムを可能にする。ある実施態様では、前記不揮発性メモリは、抵抗変化型メモリである。
本発明によれば、プログラムすべきデータが基準サイズ未満であるとき、プログラムすべきデータおよびアドレス情報を不揮発性メモリに書込み、プログラムすべきデータが基準サイズ以上であるとき、プログラムすべきデータをメモリセルアレイにプログラムするようにしたので、メモリセルアレイの1ページよりも小さいデータをプログラムすることが可能となり、かつ選択ページの使用されない無駄な空き容量を削減することができる。また、同一ページに許容されるプログラムの最大回数NOPによる制限を受けずに小サイズのデータを繰り返しプログラムすることができるようになるので、NAND型フラッシュメモリの利便性の向上を図ることができる。
さらに不揮発性メモリに蓄積されたデータが基準サイズに到達したとき、不揮発性メモリに蓄積されたデータをメモリセルアレイに書換えるようにしたので、メモリセルアレイのプログラム回数を減らすことができ、これにより、NANDフラッシュメモリのエンデュランス特性やデータ保持特性を改善することができる。
従来の半導体メモリの一例を示す図である。 本発明の実施例に係るフラッシュメモリの全体構成を示す図である。 本発明の実施例に係るメモリコントローラの内部構成を示すブロック図である。 本発明の実施例に係るメモリセルアレイのブロックの内部構成を示す図である。 SRAMに保持された変換テーブルによりホストデバイスからの論理アドレスを物理アドレスに変換する動作を説明する図である。 本発明の実施例に係るプログラム動作のフローを示す図である。 本発明の実施例に係るRRAMの格納例を示す図である。 本発明の実施例に係るRRAMのデータをNANDメモリセルにプログラムするときの動作フローを示す図である。 本発明の実施例に係る読出し動作のフローを示す図である。
次に、本発明の実施の形態について図面を参照して詳細に説明する。本発明のフラッシュメモリは、NAND型ストリングのメモリセルを有するメモリ装置と、メモリ装置を制御するメモリコントローラとを含んで構成される。メモリコントローラは、メモリ装置を形成するチップと同一のチップ上に形成されてもよいし、異なるチップ上に形成されてもよい。また、フラッシュメモリが複数のチップから構成されるとき、複数のチップは積層されるように構成されてもよい。
図2は、本発明の実施例に係るフラッシュメモリ100の構成を示す図である。本実施例のフラッシュメモリ100は、メモリコントローラ200と、1つまたは複数のNAND型メモリ装置300とを含んで構成される。メモリコントローラ200は、ホストデバイスから各種制御信号(コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALEなど)、データ、コマンド等を受け取り、これらの信号等に基づきメモリ装置300の読出し、プログラム(書込み)、消去等を制御する。また、メモリコントローラ200は、メモリ装置の動作状態を示すReady信号やBusy信号をホストデバイス40に出力する。
図3に、メモリコントローラ200の内部構成を示す。本実施例のメモリコントローラ200は、SRAM210、RRAM(抵抗変化型メモリ(220)および書込み/セレクタ230を含んで構成される。なお、メモリコントローラ200は、これ以外にも、マイクロプロセッサ(MPU)やROMなどを含み、ROMに格納されたソフトウエアプログラムを実行することで、メモリ装置300の種々の動作を制御したり、書込み/セレクタ230を制御する。
SRAM210は、メモリ装置300の動作に必要な種々のデータを保持することができる。例えば、上記した論理アドレスと物理アドレスとの関係を規定する変換テーブル、メモリ装置のブロックの各ページのステータス(データが書込まれている、消去されている、無効であるなど)を表すテーブルなどを保持する。これらのデータは、電源投入時にパワーオンシーケンスが実行されたとき、メモリ装置300のメモリセルアレイに用意された領域からロードされる。
RRAM220は、可逆的かつ不揮発性の可変抵抗素子にデータを記憶することができる可変抵抗型ランダムアクセスメモリである。RRAM220は、SRAM210と同様に高速でデータの読み書きが可能であり、かつ電源が喪失してもデータを保持することができる不揮発性のメモリである。
RRAM220は、メモリ装置300のNAND型メモリセルアレイの一時的または代替的なメモリ空間を提供する。具体的には、RRAM220は、メモリ装置300へのプログラムすべきデータが決められた基準サイズUよりも小さいとき、プログラムすべきデータとそのアドレス情報(論理アドレスとその変換された物理アドレスとを含む)とを記憶する。
基準サイズUは、任意に設定可能である。例えば、1ページのデータサイズをPとしたとき、基準サイズUは、U=P−Mに設定することができる。Mを0または非常に小さくすることで、1回のプログラム時に未使用になるデータ領域を極力小さくすることができる。また、フラッシュメモリ100にパーシャルページプログラム機能が搭載されている場合には、基準サイズUは、同一ページに許容される最大プログラム回数NOPに応じて設定されるようにしてもよい。仮にNOPが5回であれば、1回のプログラム時のデータサイズがP/5を下回れば、NOPの許容回数に到達したときページに空き領域が生じる可能性がある(プログラムすべきデータが均等であると仮定した場合)。このため、基準サイズUを、U≧P/5に設定するようにしてもよい。
RRAM220は、プログラムすべきデータが基準サイズUよりも小さければ、そのようなプログラムすべきデータを順次蓄積していく。そして、蓄積されたデータサイズが決められたサイズ、例えば1ページにほぼ等しくなるか、あるいはそれを超えたとき、RRAM220に蓄積されたデータは、メモリ装置300のNANDメモリセルアレイの選択ページに書換えられる。
書込み/セレクタ230は、ホストデバイス40からプログラムの指示を受けたとき、RRAM220またはメモリ装置300を選択し、選択されたRRAM220またはメモリ装置300への書込みまたはプログラムを制御する。また、書込み/セレクタ230は、ホストデバイス40から論理アドレスLADを受け取ると、SRAM210に保持された変換テーブルを参照して論理アドレスLADを物理アドレスPDAに変換する。変換された物理アドレスは、メモリ装置300をアクセスするために使用される。
書込み/セレクタ230は、コントローラ200の制御下において、プログラムすべきデータが基準サイズUよりも小さいとき、プログラムすべきデータとそのアドレス情報とをRRAM220に書込み、プログラムすべきデータが基準サイズU以上であれば、通常通り、プログラムすべきデータをメモリ装置300のメモリセルアレイの選択ページにプログラムする。
メモリ装置300は、NAND型ストリングから構成されるメモリセルアレイ、行アドレスに基づきメモリセルアレイの選択されたブロックのワード線を選択する行選択回路、列アドレスに基づきビット線を選択する列選択回路、選択ワード線により読み出されたデータをセンスしたり、プログラムするデータを保持するページバッファ/センス回路等を含む。行選択回路でデコードされる行アドレスは、物理ブロックアドレスPBAと論理ページアドレスLPAとを含む物理アドレスである。また、列選択回路でデコードされる列アドレスは、論理列アドレスLPAである。
メモリセルアレイの1つのブロックには、図4に示すように、複数のメモリセルを直列に接続したNANDストリングが行方向にn個(例えば、2KB)配列されている。1つのNANDストリングNUは、直列に接続された複数のメモリセルMCi(i=1、2、3・・・、64)と、一方の端部であるメモリセルMC64のドレイン側に接続されたビット線側選択トランジスタTdと、メモリセルMC0のソース側に接続されたソース線側選択トランジスタTsとを含む。ビット線側選択トランジスタTdのドレインは、対応する1つのビット線BLに接続され、ソース線側選択トランジスタTsのソースは、共通のソース線SLに接続される。メモリセルは、1ビットのデータを記憶するもの、あるいはビットのデータを記憶するものいずれであってもよい。さらにメモリセルアレイは、基板上に2次元的に形成されるもの、あるいは基板上に3次元的に形成されるものいずれであってもよい。
読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧(例えば4.5V)を印加し、選択ゲート線SGD、SGSに正の電圧(例えば4.5V)を印加し、ビット線側選択トランジスタTd、ソース線側選択トランジスタTsをオンし、共通ソース線SLを0Vにする。プログラム動作では、選択されたワード線に高電圧のプログラム電圧(例えば、15〜20V)を印加し、非選択のワード線に中間電位(例えば10V)を印加し、ビット線側選択トランジスタTdをオンさせ、ソース線側選択トランジスタTsをオフさせ、データ「0」または「1」に応じた電位をビット線BLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧(例えば20V)を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
次に、フラッシュメモリ100のプログラム動作について説明する。ホストデバイス40は、フラッシュメモリ100へのプログラムを行うとき、各種制御信号に加えて、プログラム命令、プログラムすべきデータ、論理アドレスLADをフラッシュメモリ100に出力する。ホストデバイスから入力される論理アドレスLADは、図5に示すように、論理ブロックアドレスLBA、論理ページアドレスLPAおよび論理カラムアドレスLCAを含んで構成される。
書込み/セレクタ230は、論理アドレスLADを受け取ると、SRAM210に保持された変換テーブルを参照し、論理ブロックアドレスLBAを物理ブロックアドレスPBAに変換する。本例では、メモリ装置300をアクセスするための行アドレスは18ビットであり、列アドレスは12ビットである。行アドレスの上位12ビットがブロックを指定するアドレスであり、下位6ビットがページを指定するアドレスである。論理ページアドレスLPAおよび論理列アドレスLACは、変換されることなくそのまま物理アドレスを構成する。こうして、論理アドレスLADが、メモリ装置をアクセスするための物理アドレスPDA(=PBA+LAP+LCA)に変換される。
書込み/セレクタ230は、コントローラ200の制御下において、変換された物理アドレスをメモリ装置300のワード線選択回路や列選択回路に供給する。これに応答して、ワード線選択回路によりブロック/ページが選択され、列選択回路によりビット線が選択され、選択ページの選択メモリセルにデータがプログラムされる。また、選択メモリセルのベリファイが行われ、プログラムが終了すれば、Ready信号がホストデバイス40に出力され、プログラム中であれば、Busy信号がホストデバイス40に出力される。
次に、ホストデバイス40から基準サイズUよりも小さいデータが入力されたときのプログラム動作を図6のフローを参照して説明する。書込み/セレクタ230(またはコントローラ200)は、ホストデバイス40からプログラム命令、論理アドレス、プログラムすべきデータを受け取ると(S100)、プログラムすべきデータのサイズを算出する(S110)。プログラムすべきデータの算出は、例えば、フラッシュメモリ100の外部入出力端子に供給されたプログラムすべきデータを内部の入力バッファに取り込むときのストローブ信号(例えば、/WE信号)のクロック数をカウントすることにより行われる。あるいは、入力バッファのデータ格納位置を示すアドレスポインタ等から算出するようにしてもよい。
次に、書込み/セレクタ230は、プログラムすべきデータが基準サイズUよりも小さいか否かを判定する(S120)。プログラムすべきデータが基準サイズU以上であれば、入力バッファに保持されたデータは、従来と同様に、ページバッファ/センスアンプにセットされ、メモリ装置300のNANDメモリセルアレイの選択ページにプログラムされる(S130)。他方、基準サイズUより小さい場合には、入力バッファに保持されたデータは、アドレス情報とともにRRAM220に書込まれる(S140)。
図7にRRAM220の格納例を示す。同図に示すように、RRAM220は、例えば、プログラムすべきデータ、論理ブロックアドレスLBA、論理ページアドレスLPA、論理カラムアドレスLCA、物理ブロックアドレスPBA、プログラムすべきデータのサイズ、プログラムすべきデータが有効か否かを示すフラグを格納する。もし、ホストデバイス40から基準サイズUに満たないプログラムすべきデータが連続的または断続的に入力された場合には、RRAM220には、そのような基準サイズUに満たない断片的なプログラムすべきデータが蓄積される。蓄積された断片的なデータが基準サイズUまたは決められたサイズに到達すると、それらのデータがメモリ装置300のNANDメモリセルアレイにプログラムされる。
図8に、RRAMに格納されたデータをメモリ装置300に書換えるときの動作フローを示す。書込み/セレクタ230は、RRAM220のフラグを参照し、有効である断片的なデータを検索する。そして、同一ページの未書換えの断片的なデータサイズの合計をカウントする(S200)。書込み/セレクタ230は、断片的なデータサイズの合計が基準サイズUまたは決められた値を超えるか否かを判定する(S210)。決められた値は、前述したように基準サイズUを、ページサイズP/許容回数NOPに応じて設定した場合には、1ページのデータサイズもしくはそれに近似する値にすることができる。さらに複数ページへの連続プログラムを実行する場合には、決められた値は、複数ページ分のデータサイズもしくはそれに近似する値にすることも可能である。
断片的なデータサイズの合計が基準サイズUまたは決められた値を超える場合には、それらの断片的なデータは、論理カラムアドレスLCAに従いページバッファ/センス回路にセットされ(S220)、次に、物理ブロックアドレスPBA、論理ページアドレスLPAに従い選択ワード線にプログラム電圧が印加され、断片的なデータの集合は、NANDメモリセルアレイの選択ページにプログラムされる(S230)。次に、書込み/セレクタ230は、RRAM220に保持されたデータを無効にするためフラグをリセットするか消去される(S240)。フラグをリセットした場合には、その後、データは消去される。
なお、RRAM220に格納されたデータをメモリ装置300のNANDメモリセルアレイに書換えるタイミングは、フラッシュメモリ100のバックグラウンドで実行されるようにしてもよいし、決められた動作に関連付けして実行されるようにしてもよい。
次に、本発明の実施例に係る読出し動作について図9のフローを参照して説明する。コントローラ200は、ホストデバイス40から読出し命令および論理アドレスを受け取ると(S300)、RRAM220のフラグを参照し、入力された論理アドレス(LBA+LPA+LCA)に一致する未書換えのデータの有無を検索する(S310)。あるいは、入力された論理アドレスを変換した物理アドレス(PBA+LPA+LCA)に一致する未書換えのデータの有無を検索するようにしてもよい。
一致する未書換えのデータが存在するとき(S320)、コントローラ200は、書込み/セレクタ230を介してRRAM220から該当するデータを読出し(S330)、読み出したデータをホストデバイス40に出力する。他方、一致する未書換えデータが存在しないとき、コントローラ200は、書込み/セレクタ230を介してメモリ装置300から該当するデータを読出し(S340)、読み出されたデータをホストデバイス40に出力する。
このように本実施例によれば、基準サイズUに満たない小サイズのデータをRRAM220に書込むことで、フラッシュメモリ100の同一ページの許容最大プログラム回数NOPの制約を受けることなく小サイズのデータをフラッシュメモリ100にプログラムすることができる。また、RRAM220に蓄積されたデータが基準サイズUまたは決められた値に到達したときにNANDメモリセルアレイへの書換えを行うようにしたので、NANDメモリセルアレイへのプログラム回数を減らすことができる。これにより、NANDメモリセルアレイのエンデュランス特性やデータ保持特性を改善することができる。
上記実施例は、例えば、同一ページに連続的に断片的なデータをプログラムしたい場合などに特に有効である。ある実施態様では、ホストデバイス40は、見かけ上、バイト単位あるいはワード単位でフラッシュメモリ100の同一ページにプログラムすることができる。1ページのデータサイズが、例えば2KBであれば、ホストデバイス40は、同一ページの許容プログラム回数NOPに無関係に、バイト単位のデータを2K回繰り返し書込むことが可能になる。
なお、上記実施例では、不揮発性メモリとしてRRAMを使用したが、NAND型メモリよりも高速にデータを書込むことができるものであれば、RRAM以外にもMRAM(磁性体メモリ)を使用することも可能である。
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100:フラッシュメモリ
200:メモリコントローラ
210:SRAM
220:RRAM
230:書込み/セレクタ
300:メモリ装置

Claims (7)

  1. 複数のブロックを含むNAND型のメモリセルアレイと、
    データの読み書きが可能な不揮発性メモリであって、プログラムすべきデータ、アドレス情報、およびプログラムすべきデータが有効か否かを示すフラグを格納する、前記不揮発性メモリと、
    外部からプログラムコマンド、アドレス情報およびプログラムすべきデータが入力されたとき、プログラムすべきデータが基準サイズ未満である場合、前記プログラムすべきデータおよび前記アドレス情報を前記不揮発性メモリに書込み、プログラムすべきデータが基準サイズ以上であるとき、プログラムすべきデータを前記メモリセルアレイにプログラムするプログラム手段と、
    外部から読出しコマンドおよびアドレス情報が入力されたとき、前記不揮発メモリのフラグを参照し、入力されたアドレス情報に一致する有効なプログラムすべきデータが前記不揮発性メモリにある場合には前記不揮発性メモリからプログラムすべきデータを読出し、入力されたアドレス情報に一致する有効なプログラムすべきデータが前記不揮発性メモリにない場合には前記メモリセルアレイからデータを読み出す読出し手段と
    を有する半導体記憶装置。
  2. 前記プログラム手段は、前記不揮発性メモリに蓄積された同一ページのプログラムすべきデータが前記基準サイズ以上になったとき、蓄積されたプログラムすべきデータを前記メモリセルアレイの選択ページにプログラムする、請求項1に記載の半導体記憶装置。
  3. 前記プログラム手段は、前記不揮発性メモリに格納されたプログラムすべきデータの合計が前記基準サイズを超える場合に、それらプログラムすべきデータを前記不揮発性メモリに格納されたアドレス情報に従い前記メモリセルアレイの選択ページにプログラムし、かつ当該プログラムすべきデータを無効にするためにフラグをリセットする、請求項1に記載の半導体記憶装置。
  4. 半導体記憶装置はさらに、論理アドレスを物理アドレスに変換する変換テーブルを記憶するメモリを含み、
    前記プログラム手段は、前記変換テーブルを参照して外部から入力された論理アドレスを物理アドレスに変換し、前記不揮発性メモリには、前記アドレス情報として論理アドレスと物理アドレスとが書込まれる、請求項1に記載の半導体記憶装置。
  5. 前記プログラム手段は、前記不揮発性メモリに蓄積されたプログラムすべきデータを前記メモリセルアレイにプログラムした後に、前記不揮発性メモリの該当するデータを無効にする、請求項1または2に記載の半導体記憶装置。
  6. 前記プログラム手段は、見かけ上、前記メモリセルアレイへのバイト単位またはワード単位のプログラムを可能にする、請求項1ないし5いずれか1つに記載の半導体記憶装置。
  7. 前記不揮発性メモリは、抵抗変化型メモリである、請求項1ないし6いずれか1つに記載の半導体記憶装置。
JP2019044155A 2019-03-11 2019-03-11 半導体記憶装置 Active JP6767532B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2019044155A JP6767532B2 (ja) 2019-03-11 2019-03-11 半導体記憶装置
TW108142621A TWI721666B (zh) 2019-03-11 2019-11-22 半導體儲存裝置
CN202511745051.1A CN121528273A (zh) 2019-03-11 2019-12-18 半导体储存装置
CN201911307651.4A CN111681697A (zh) 2019-03-11 2019-12-18 半导体储存装置
KR1020200002064A KR102351933B1 (ko) 2019-03-11 2020-01-07 반도체 기억장치
US16/742,862 US10937492B2 (en) 2019-03-11 2020-01-14 Semiconductor storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019044155A JP6767532B2 (ja) 2019-03-11 2019-03-11 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2020149151A JP2020149151A (ja) 2020-09-17
JP6767532B2 true JP6767532B2 (ja) 2020-10-14

Family

ID=72423771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019044155A Active JP6767532B2 (ja) 2019-03-11 2019-03-11 半導体記憶装置

Country Status (5)

Country Link
US (1) US10937492B2 (ja)
JP (1) JP6767532B2 (ja)
KR (1) KR102351933B1 (ja)
CN (2) CN121528273A (ja)
TW (1) TWI721666B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210223998A1 (en) * 2021-04-05 2021-07-22 Intel Corporation Method and apparatus to reduce nand die collisions in a solid state drive
US20220365705A1 (en) * 2021-05-17 2022-11-17 Micron Technology, Inc. Object management in tiered memory systems
CN115798549B (zh) * 2022-11-14 2025-10-03 国民技术股份有限公司 一种非易失性存储器编程方法及相关设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728690A (ja) * 1993-07-14 1995-01-31 Hitachi Ltd フラッシュメモリシステム
JP4418439B2 (ja) * 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法
JP2009175877A (ja) 2008-01-22 2009-08-06 Toshiba Corp 半導体メモリ
JP2009199199A (ja) 2008-02-20 2009-09-03 Hitachi Ltd ストレージシステム及びそのデータライト方法
KR101581859B1 (ko) 2009-02-27 2016-01-21 삼성전자주식회사 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법
CN103577344B (zh) * 2012-07-20 2017-03-01 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
CN103559146B (zh) 2013-11-05 2016-03-30 山东大学 一种提高NAND flash控制器读写速度的方法
US10007615B1 (en) * 2015-05-01 2018-06-26 Marvell International Ltd. Methods and apparatus for performing fast caching
US10019161B2 (en) * 2015-08-31 2018-07-10 Sandisk Technologies Llc Out of order memory command fetching
US10503653B2 (en) * 2015-09-11 2019-12-10 Toshiba Memory Corporation Memory system
US20170255561A1 (en) * 2016-03-07 2017-09-07 Intel Corporation Technologies for increasing associativity of a direct-mapped cache using compression
EP3265907B1 (en) * 2016-03-31 2019-08-21 Hewlett-Packard Enterprise Development LP Data processing using resistive memory arrays
TWI601060B (zh) * 2017-01-17 2017-10-01 群聯電子股份有限公司 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元
JP2018120439A (ja) * 2017-01-25 2018-08-02 東芝メモリ株式会社 メモリシステムおよび制御方法
TWI635391B (zh) 2017-02-14 2018-09-11 點序科技股份有限公司 快閃記憶體以及其管理方法
TWI657339B (zh) * 2017-06-25 2019-04-21 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器

Also Published As

Publication number Publication date
KR102351933B1 (ko) 2022-01-14
JP2020149151A (ja) 2020-09-17
TWI721666B (zh) 2021-03-11
CN121528273A (zh) 2026-02-13
US20200294588A1 (en) 2020-09-17
TW202038236A (zh) 2020-10-16
US10937492B2 (en) 2021-03-02
CN111681697A (zh) 2020-09-18
KR20200109238A (ko) 2020-09-22

Similar Documents

Publication Publication Date Title
CN107871521B (zh) 半导体存储装置、快闪存储器及其连续读出方法
KR100874441B1 (ko) 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템
US8363468B2 (en) Semiconductor memory device
US9524781B2 (en) Nonvolatile memory device and operating method thereof
TWI709132B (zh) 記憶體系統
US11221945B2 (en) Semiconductor memory device
JP6767532B2 (ja) 半導体記憶装置
JP2011065736A (ja) 不揮発性半導体記憶装置
KR100953044B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR100953062B1 (ko) 불휘발성 메모리 소자의 어드레스 입력 방법 및 동작 방법
KR20100022229A (ko) 불휘발성 메모리 소자 및 그 동작 방법
JP6708762B1 (ja) 半導体記憶装置
KR100965079B1 (ko) 불휘발성 메모리 장치
KR102789973B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR20090095086A (ko) 플래시 메모리 장치 및 그것의 소거 방법
US20140281163A1 (en) Memory system
JP2006209625A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200901

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: 20200916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200917

R150 Certificate of patent or registration of utility model

Ref document number: 6767532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250