JP6860787B2 - メモリ制御回路、メモリ、及びメモリ制御方法 - Google Patents

メモリ制御回路、メモリ、及びメモリ制御方法 Download PDF

Info

Publication number
JP6860787B2
JP6860787B2 JP2017143315A JP2017143315A JP6860787B2 JP 6860787 B2 JP6860787 B2 JP 6860787B2 JP 2017143315 A JP2017143315 A JP 2017143315A JP 2017143315 A JP2017143315 A JP 2017143315A JP 6860787 B2 JP6860787 B2 JP 6860787B2
Authority
JP
Japan
Prior art keywords
bit string
bits
value
bit
logical
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
JP2017143315A
Other languages
English (en)
Other versions
JP2019023951A (ja
Inventor
伊勢 昌弘
昌弘 伊勢
正純 前田
正純 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017143315A priority Critical patent/JP6860787B2/ja
Priority to US16/037,385 priority patent/US10497445B2/en
Publication of JP2019023951A publication Critical patent/JP2019023951A/ja
Application granted granted Critical
Publication of JP6860787B2 publication Critical patent/JP6860787B2/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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/06Sense amplifier related aspects
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

本発明は、メモリ制御回路、メモリ、及びメモリ制御方法に関する。
フラッシュメモリなどの不揮発性メモリへの書き込み処理は、第1の論理値を保持している状態(消去状態)の各メモリセルの何れかの第1の論理値を、書き込みデータに応じて第2の論理値に反転することで行われる。たとえば、フラッシュメモリでは、論理値“1”を保持している消去状態の各メモリセルの何れかの論理値を、書き込みデータに応じて論理値“0”に反転することで書き込み処理が行われる。
フラッシュメモリにおいて、論理値“0”を書き込む際にはメモリセルのフローティングゲートに、書き込みパルスを用いて少しずつ電子をチャージしていくために時間がかかる。そのため、従来、書き込みデータに論理値“0”のビットが多い場合には、書き込みデータを全ビット反転させてから各メモリセルに書き込む技術があった。
特開2005−157781号公報
しかしながら、書き込みデータを全ビット反転させる従来の技術では、フラッシュメモリにおいて書き込まれる書き込みデータにおける論理値“0”の割合は、ワーストケースでは50%を下回らず、書き込み時間が長くなってしまう可能性があった。なお、フラッシュメモリに限らず、他の不揮発性メモリにおいても同様に、消去状態の論理値から反転するビット数が多くなるほど書き込み時間が長くなるという問題がある。
1つの側面では、本発明は、書き込み時間を短縮することが可能なメモリ制御回路、メモリ、及びメモリ制御方法を提供することを目的とする。
1つの実施態様では、複数の不揮発性メモリセルを有する記憶部に書き込むデータを受ける入力回路と、前記データに含まれる第1のビット数の第1のビット列において、前記複数の不揮発性メモリセルに記憶されている初期値である第1の論理値とは異なる第2の論理値である第2のビット数が、第1の閾値以下の場合、前記第1のビット列と第1の付加値とを対応付けて前記記憶部に書き込み、前記第2のビット数が、前記第1の閾値よりも大きい第2の閾値以上の場合、前記第1のビット列の全ビットの論理値を反転した第2のビット列と第2の付加値とを対応付けて前記記憶部に書き込み、前記第2のビット数が、前記第1の閾値よりも大きく前記第2の閾値よりも小さい場合、前記第1のビット列のうち前記第1のビット数の半分のビット数である第3のビット列と、前記第2のビット列との論理和をとった第4のビット列を生成し、前記第4のビット列において前記第2の論理値である第3のビット数が前記第1の閾値以下である場合、前記第4のビット列と第3の付加値と前記第3のビット列とを対応付けて前記記憶部に書き込み、前記第3のビット数が前記第1の閾値より大きい場合、前記第2のビット列のうち前記第3のビット列に対応するビット位置の第5のビット列と、前記第1のビット列との論理和をとった第6のビット列を生成し、前記第6のビット列と第4の付加値と前記第5のビット列とを対応付けて前記記憶部に書き込む、制御回路と、を有するメモリ制御回路が提供される。
また、1つの実施態様では、メモリが提供される。また、1つの実施態様では、メモリ制御方法が提供される。
1つの側面では、書き込み時間を短縮できる。
第1の実施の形態のメモリ及びメモリ制御回路の一例を示す図である。 SSDの一例を示す図である。 NAND型のフラッシュメモリのメモリマップの一例を示す図である。 データ変換及び書き込み処理の一例を示す図である。 論理値“0”のビット数に応じて適用される変換処理、付加値及び復元コードと、実際に書き込まれるデータにおける論理値“0”のビット数をまとめた例を示す図である。 8ビットのビット列の全データパターンにおいて、変換処理後に実際に書き込まれるデータの論理値“0”の数とその割合の計算結果の例を示す図である。 付加値として使用できる複数の組合せの一例を示す図である。 データ変換及び書き込み処理の他の例を示す図である。 16ビットのビット列を用いる場合のデータ変換及び書き込み処理の例を示す図である。 SSD外部のプロセッサがデータ変換処理を行う例を示す図である。 プロセッサが直接メモリセル単体に書き込む例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態のメモリ及びメモリ制御回路の一例を示す図である。
第1の実施の形態のメモリ10は、記憶部11とメモリ制御回路12を有する。
記憶部11は、複数のメモリセル11a1〜11anを有する。メモリセル11a1〜11anのそれぞれは、不揮発性のメモリセルである。不揮発性のメモリセルとして、フラッシュメモリセル、FeRAM(Ferroelectric Random Access Memory)セル、MRAM(Magnetoresistive Random Access Memory)セルなどがある。なお、記憶部11は、さらに、センスアンプ、コラムデコーダ、ロウデコーダ、データレジスタなどを含むが、図1では図示が省略されている。
メモリ制御回路12は、I/F(インターフェース)12a、制御回路12b、I/F12cを有し、記憶部11を制御する。
I/F12aは、プロセッサである制御回路15から供給される各種コマンド、アドレス、記憶部11へ書き込むデータなどを受ける入力回路の一例である。I/F12aは、上記各種コマンドや、アドレス、データを制御回路12bに供給する。また、I/F12aは、記憶部11から読み出され、後述の処理により制御回路12bにて変換されたデータを受け、制御回路15に供給する出力回路としても機能する。
制御回路12bは、たとえば、論理アドレスから物理アドレスへの変換処理や、ウェアレベリング処理など、各種処理を実行する他、後述のデータ変換及び書き込み処理を実行する。
I/F12cは、制御回路12bで生成された信号やデータを記憶部11に供給する出力回路として機能するとともに、記憶部11から読み出したデータを受ける入力回路としても機能する。
制御回路15は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、制御回路15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。制御回路12bも、プロセッサであってもよい。
以下、制御回路12bによるメモリ制御方法として、書き込みデータに対するデータ変換及び書き込み処理の例を説明する。
制御回路12bは、たとえば、まず、I/F12aが受けた書き込みデータを、所定のビット数のビット列単位に分割する。図1には、書き込みデータ20を8ビットのビット列単位に分割した例が示されている。たとえば、図1の例では、32ビットの書き込みデータ20を分割することで、4つのビット列21,22,23,24が生成されている。
そして、制御回路12bは、ビット列21〜24のそれぞれについて、以下のデータ変換及び書き込み処理を行う。なお、以下では、ビット列21に対するデータ変換処理を説明するが、他のビット列22〜24についても同様の処理が行われる。
制御回路12bは、ビット列21において、メモリセル11a1〜11anに記憶されている初期値である第1の論理値とは異なる第2の論理値であるビット数が第1の閾値以下である場合、ビット列21と付加値25aとを対応付けて記憶部11に書き込む。
また、制御回路12bは、ビット列21において、第2の論理値であるビット数が、第1の閾値よりも大きい第2の閾値以上の場合、ビット列21の全ビットの論理値を反転したビット列(以下反転ビット列21aという)を生成する。そして、制御回路12bは、反転ビット列21aと、付加値25bとを対応付けて記憶部11に書き込む。
以下に説明する例では、メモリセル11a1〜11anは、フラッシュメモリセルであるものとする。メモリセル11a1〜11anがフラッシュメモリセルである場合、初期値である第1の論理値は“1”であり、第2の論理値は“0”である。また、以下に説明する例では、第1の閾値は2ビットであり、第2の閾値は6ビットとする。
論理値“0”が2ビット以下となるビット列21の例として、“00111111”がある。また、論理値“0”が6ビット以上となるビット列21の例として、“00101000”がある。反転ビット列21aの例として、“00101000”を全ビット反転した、“11010111”がある。この場合、論理値“0”の数が全ビット反転前と比べて、6から2に減る。
また、制御回路12bは、ビット列21において、第2の論理値である“0”のビット数が3,4または5ビットである場合、以下の処理を行う。論理値“0”が3,4または5ビットとなるビット列21の例として、“01101110”や“01110000”がある。
制御回路12bは、ビット列21のうち、ビット列21のビット数の半分のビット列、たとえば、ビット列21の下位4ビットのビット列21bと、反転ビット列21aとの論理和をとったビット列(以下第1変換後ビット列21cという)を生成する。
たとえば、ビット列21が“01101110”の場合、反転ビット列21aは、“10010001”となり、ビット列21の下位4ビットのビット列21bは、“1110”であるから、第1変換後ビット列21cは、“10011111”となる。また、ビット列21が“01110000”の場合、反転ビット列21aは、“10001111”となり、ビット列21の下位4ビットのビット列21bは、“0000”であるから、第1変換後ビット列21cは、“10001111”となる。
制御回路12bは、第1変換後ビット列21cにおいて論理値“0”のビット数が2ビット以下である場合、第1変換後ビット列21cと付加値25cと復元コード26aとを対応付けて記憶部11に書き込む。
たとえば、第1変換後ビット列21cが“10011111”の場合、論理値“0”のビット数は2ビット以下であるため、制御回路12bは、“10011111”と、付加値25cと復元コード26aとを記憶部11に書き込む。この例では、第1変換後ビット列21cは、論理値“0”のビット数が2であり、元のビット列21、すなわち“01101110”よりも論理値“0”の数が少なくなる。なお、復元コード26aは、ビット列21bと同じであり、たとえば、“1110”である。
一方、第1変換後ビット列21cにおいて論理値“0”のビット数が2ビットより多い場合、制御回路12bは、以下の処理を行う。制御回路12bは、反転ビット列21aのうち、ビット列21bに対応するビット位置の4ビットの反転ビット列21dと、ビット列21との論理和をとったビット列(以下第2変換後ビット列21eという)を生成する。ビット列21bがビット列21の下位4ビットである場合、反転ビット列21dは、反転ビット列21aの下位4ビットである。
たとえば、第1変換後ビット列21cが“10001111”である場合、論理値“0”のビット数は2ビットより多い。この場合、制御回路12bは、たとえば、反転ビット列21a“1001111”の下位4ビットの反転ビット列21dである“1111”とビット列21“01110000”との論理和である“01111111”を第2変換後ビット列21eとして生成する。
そして、制御回路12bは、第2変換後ビット列21eと、付加値25dと、復元コード26bとを対応付けて記憶部11に書き込む。上記の例では、第2変換後ビット列21eは、論理値“0”のビット数が1であり、元のビット列21、すなわち“01110000”よりも論理値“0”の数が少なくなる。なお、復元コード26bは、反転ビット列21dと同じであり、第2変換後ビット列21eが“01111111”である場合、“1111”である。
記憶部11からの読み出しの際、制御回路12bは、記憶部11から読み出したビット列に対応付けられた付加値や復元コードを検出する。そして、制御回路12bは、付加値25aを検出した場合には、読み出されたビット列をそのまま出力し、付加値25bを検出した場合には、読み出されたビット列を全ビット反転して出力する。
また、制御回路12bは、付加値25cを検出した場合には、読み出したビット列から復元コード26aを減算する。そして、減算結果のビット列を全ビット反転して出力する。たとえば、ビット列21である“01101110”から変換された、第1変換後ビット列21cである“10011111”が読み出された場合、復元コード26aは、“1110”であるため、減算結果は“10010001”となる。このビット列の全ビット反転結果は、“01101110”となり、元のビット列21が復元される。
また、制御回路12bは、付加値25dを検出した場合には、読み出したビット列から復元コード26aを減算して出力する。たとえば、ビット列21である“01110000”から変換された、第2変換後ビット列21eである“01111111”が読み出された場合、復元コード26bは、“1111”であるため、減算結果は“01110000”となる。すなわち、元のビット列21が復元される。
以上のように、制御回路12bは、書き込みデータ20に含まれるビット列21に対し、メモリセル11a1〜11anの初期値と異なるビット数に応じ、全ビット反転処理以外に、上記のような2種類のデータ変換処理を行う。すなわち、制御回路12bは、第1変換後ビット列21cへの変換または、第2変換後ビット列21eへの変換を行う。上記の例ではビット列21が書き込まれる場合、反転ビット列21aが書き込まれる場合、第1変換後ビット列21cが書き込まれる場合は、8ビット中の論理値“0”の数を2ビット以下にできる。また、第2変換後ビット列21eが書き込まれる場合は、8ビット中の論理値“0”の数を1ビット以下にできる。
これにより、書き込みデータにおいて、初期値と異なる論理値が多い場合に全ビット反転させる方法よりも、初期値からの反転数が減り(初期値と異なるビット数が減り)、書き込み時間を短縮できる。
また、書き込み時間の短縮は、書き込み数の低減により得られるため、メモリセル11a1〜11anの劣化を遅らせることが可能となり、記憶部11の長寿命化(高信頼性)の効果も期待できる。
ところで、付加値25a〜25dは、読み出し処理の際、上記4通りの書き込み処理を区別するために設けられ、たとえば、3ビットのビット列である。付加値25a〜25dも、記憶部11に書き込まれるため、付加値25a〜25d自身の論理値“0”のビット数も少ないことが望ましい。たとえば、付加値25aは“011”であり、付加値25bは“111”の3ビットであり、付加値25cは“101”であり、付加値25dは“001”である。4種類の付加値25a〜25dのうち、付加値25dの論理値“0”の数が一番多いが、対応付けられた第2変換後ビット列21eは、論理値“0”の数が4通りの書き込み処理の中で最も少なくなるため、トータルとしての論理値“0”の数の増加は抑制される。
なお、ビット列21のデータパターンによっては、復元コード26a,26bにも論理値“0”が含まれ、15ビット中、5ビットまたは6ビットの論理値“0”の書き込みが発生する場合がある。しかし、後述の計算例に示すように、単に、書き込みデータにおいて、初期値と異なる論理値が多い場合に全ビット反転させる方法よりも、全データパターンの平均の書き込み時間を短縮できる。
なお、ビット列21と付加値25aとを対応付けて記憶部11に書き込むために、たとえば、制御回路12bは、ビット列21と付加値25aとを合わせたビット列を記憶部11に記憶してもよい。また、制御回路12bは、ビット列21と付加値25aとのそれぞれを記憶する記憶部11の異なる領域の各アドレス情報を紐付けして管理することで、ビット列21と付加値25aとを対応付けてもよい。付加値25b〜25cや復元コード26a,26bなども、同様にしてビット列(反転ビット列21a、第1変換後ビット列21c、または第2変換後ビット列21e)と対応付けられる。
なお、上記の例では、第1の閾値を2ビット、第2の閾値を6ビットとしたがこれに限定されず、第1の閾値を3ビット、第2の閾値を5ビットとしてもよい。その場合、記憶部11に書き込まれる8ビットのビット列(反転ビット列21a、第1変換後ビット列21c、または第2変換後ビット列21e)のうち、論理値“0”のビット数を3ビット以下にできる。
また、上記では、ビット列21bをビット列21の下位4ビットとし、反転ビット列21dを反転ビット列21aの下位4ビットとしたがこれに限定されない。ビット列21bをビット列21の上位4ビットとし、反転ビット列21dを反転ビット列21aの上位4ビットとしてもよい。また、ビット列21bをビット列21の任意の4ビットとし、反転ビット列21dをビット列21bに対応するビット位置の反転ビット列21aの4ビットとしてもよい。ただ、この場合、下位4ビットまたは上位4ビットを用いる場合よりも、読み出し時に復元コード26a,26bを用いて減算するビット位置を特定するための情報量が増えることになる。
また、上記では、書き込みデータ20を8ビットのビット列単位に分割した例を示したが、これに限定されず、たとえば、16ビットのビット列単位に分割してもよい。その場合、たとえば、第1の閾値を4ビット、第2の閾値を12ビットとしてもよい。
また、上記では、メモリセル11a1〜11anの初期値は論理値“0”としたが、初期値は論理値“1”であってもよい。
なお、上記の例では、8ビットのビット列以外に、3ビットの付加値と4ビットの復元コードが記憶部11に書き込まれることになるため、そのまま8ビットのビット列を書き込む場合よりも記憶領域が多く用いられる。しかし、近年の微細加工技術の進歩による高集積化や、3次元実装技術、メモリセルの多ビット化などにより、メモリの大容量化が進む中、記憶領域の増大については対処が可能である。
(第2の実施の形態)
以下第2の実施の形態のメモリの一例として、NAND型のフラッシュメモリを有するSSD(Solid State Drive)を説明する。
図2は、SSDの一例を示す図である。
SSD30は、NAND型のフラッシュメモリ31、コントローラIC(Integrated Circuit)32を有する。
フラッシュメモリ31は、図1に示した記憶部11の一例であり、コントローラIC32は、図1に示したメモリ制御回路12の一例である。
フラッシュメモリ31は、複数のメモリセル31a1〜31anを有する。メモリセル31a1〜31anのそれぞれは、フラッシュメモリセルである。なお、フラッシュメモリ31は、さらに、センスアンプ、コラムデコーダ、ロウデコーダ、データレジスタなどを含むが、図2では図示が省略されている。
コントローラIC32は、I/F32a、制御回路32b、I/F32cを有する。
I/F32aは、各種インターフェース規格にしたがって、プロセッサ35との間で各種コマンド、アドレスまたはデータの送受信を行う。各種インターフェース規格として、たとえば、シリアルATA(Advanced Technology Attachment)、PCIe(Peripheral Component Interconnect express)、NVMe(Non-Volatile Memory express)などがある。なお、図2に示すようなプロセッサ35とSSD30は、各種電子装置に搭載可能である。各種電子装置として、サーバ、スーパーコンピュータ、パーソナルコンピュータ、モバイル機器、ネットワーク装置、デジタル機器などがある。
制御回路32bは、論理・物理アドレス変換機能、信頼性管理機能、エラー訂正・管理機能、不良ブロック管理機能、データ変換方式管理機能、バッファメモリ制御機能を実行する。
論理・物理アドレス変換機能は、論理アドレスから物理アドレスへの変換処理を行う機能である。信頼性管理機能は、フラッシュメモリ31の各ブロックの消去回数の管理や、書き換え処理がフラッシュメモリ31の特定のブロックに集中することを避けるためのウェアレベリング処理などを行う機能である。エラー訂正・管理機能は、ECC(Error Check and Correct)などを実行する機能である。不良ブロック管理機能は、不良ブロックを他の正常なブロックに置き換える処理などを行う機能である。データ変換方式管理機能は、後述のデータ変換処理を行う機能である。バッファメモリ制御機能は、コントローラIC32内の図示しないバッファメモリを制御する機能である。なお、上記の各機能は、それぞれ回路で実現されてもよい。また、制御回路32bは、CPUやDSPなどのプロセッサであってもよく、上記の各機能を、図示しないROM(Read Only Memory)に記憶されたプログラムを実行することで実現してもよい。
I/F32cは、制御回路32bで生成された信号やデータをフラッシュメモリ31に供給する出力回路として機能するとともに、フラッシュメモリ31から読み出したデータを受ける入力回路としても機能する。
図3は、NAND型のフラッシュメモリのメモリマップの一例を示す図である。
メモリマップには、フラッシュメモリ31に含まれるメモリセル11a1〜11anによる記憶領域である2つのプレーン40a,40bが含まれる。プレーン40a,40bのそれぞれは、複数のブロック(たとえば、ブロック41a,41b)に分割されている。また、図示を省略しているが、各ブロックは複数のページに分割されている。
さらに、メモリマップには、フラッシュメモリ31に含まれる図示しないキャッシュレジスタとデータレジスタの記憶領域42a1,42b1,43a1,43b1と、冗長領域42a2,42b2,43a2,43b2が含まれる。キャッシュレジスタの記憶領域42a1と冗長領域42a2とを合わせた領域、記憶領域42b1と冗長領域42b2とを合わせた領域にそれぞれ1ページ分のデータが保持される。同様に、データレジスタの記憶領域43a1と冗長領域43a2とを合わせた領域、記憶領域43b1と冗長領域43b2とを合わせた領域にそれぞれ1ページ分のデータが保持される。
NAND型のフラッシュメモリ31において、書き込みや読み出しはページ単位で行われ、消去はブロック単位で行われる。たとえば、プレーン40aのブロック41a内のページには、1ページ分の書き込みデータが、キャッシュレジスタの記憶領域42a1と冗長領域42a2と、データレジスタの記憶領域43a1と冗長領域43a2を介して書き込まれる。各ページに含まれる全メモリセルの初期値は、論理値“1”である。
次に、制御回路32bによるメモリ制御方法として、データ変換及び書き込み処理の一例を説明する。
図4は、データ変換及び書き込み処理の一例を示す図である。
I/F32aがプロセッサ35から書き込みデータを受信すると(ステップS1)、制御回路32bは、書き込みデータを、8ビットのビット列単位に分割する(ステップS2)。そして、制御回路32bは、分割した複数のビット列のうちの1つを選択する(ステップS3)。
その後、制御回路32bは、選択したビット列において、論理値“0”の数が2ビット以下であるか否かを判定する(ステップS4)。論理値“0”の数が2ビット以下である場合、制御回路32bは、無変換のビット列を付加値“011”と対応付けて、フラッシュメモリ31に書き込む(ステップS5)。
論理値“0”の数が2ビットより多い場合、制御回路32bは、論理値“0”の数が6ビット以上であるか否かを判定する(ステップS6)。論理値“0”の数が6ビット以上である場合、制御回路32bは、選択したビット列に対して全ビット反転処理を行うことで反転ビット列を生成する(ステップS7)。その後、制御回路32bは、反転ビット列を付加値“111”と対応付けて、フラッシュメモリ31に書き込む(ステップS8)。
論理値“0”の数が6ビット以上ではない場合、制御回路32bは、ステップS7の処理と同様に反転ビット列を生成するとともに、その反転ビット列と、元のビット列の下位4ビットとの論理和により、第1変換後ビット列を生成する(ステップS9)。そして、制御回路32bは、生成した第1変換後ビット列において、論理値“0”の数が2ビット以下であるか否かを判定する(ステップS10)。第1変換後ビット列における論理値“0”の数が2ビット以下である場合、制御回路32bは、第1変換後ビット列を、付加値“101”と復元コード(ビット列の下位4ビット)と対応付けてフラッシュメモリ31に書き込む(ステップS11)。
第1変換後ビット列における論理値“0”の数が2ビットより多い場合、制御回路32bは、元のビット列と、反転ビット列の下位4ビットとの論理和により第2変換後ビット列を生成する(ステップS12)。そして、制御回路32bは、第2変換後ビット列を、付加値“001”と復元コード(反転ビット列の下位4ビット)と対応付けてフラッシュメモリ31に書き込む(ステップS13)。
ステップS5,S8,S11,S13の後、制御回路32bは、分割した全ビット列を選択したか否かを判定する(ステップS14)。分割した全ビット列が選択されていない場合に、制御回路32bは、ステップS3からの処理を繰り返し、全ビット列が選択された場合には、処理を終了する。
なお、上記の処理順序は一例であり、適宜順序を入れ替えてもよい。
ところで、付加値や復元コードは、たとえば、図3のブロック41a,41bに含まれるページにおいて、冗長領域42a2,42b2,43a2,43b2に対応する領域に書き込まれるようにしてもよい。また、付加値や復元コードは、対応する8ビットのビット列に続けて、図3のブロック41a,41bに含まれるページにおいて、記憶領域42a1,42b1,43a1,43b1に対応する領域に書き込まれるようにしてもよい。
図5は、論理値“0”のビット数に応じて適用される変換処理、付加値及び復元コードと、実際に書き込まれるデータにおける論理値“0”のビット数をまとめた例を示す図である。
分割によって得られた8ビットのビット列において、論理値“0”の数が0〜2ビットの場合には、図4のステップS5の処理のように、ビット列は変換されずに書き込まれる。付加値には論理値“0”が1ビット含まれ、復元コードは未使用(または全て論理値“1”になっている)である。そのため、実際に書き込まれるデータ(8ビット+3ビット+4ビットのデータ)のうち、論理値“0”の数は、ビット列に含まれる論理値“0”の数+1ビットとなる。
8ビットのビット列において、論理値“0”の数が6〜8ビットの場合には、図4のステップS7,S8の処理のように、ビット列は全ビット反転されて書き込まれる。全ビット反転によって得られる反転ビット列に含まれる論理値“0”の数は、0〜2ビットである。付加値には論理値“0”が含まれず、復元コードは未使用(または全て論理値“1”になっている)である。そのため、実際に書き込まれるデータのうち、論理値“0”の数は、0〜2ビットとなる。
8ビットのビット列において、論理値“0”の数が3〜5ビットの場合には、図4のステップS9の処理のように、元のビット列は、反転ビット列と元のビット列の下位4ビットの論理和に変換される(前述の第1変換後ビット列が生成される)。この第1変換後ビット列において、論理値“0”の数が2ビット以下の場合には、ステップS11の処理のように、第1変換後ビット列が書き込まれる。この変換処理が適用される場合の付加値には論理値“0”が1ビット含まれる。復元コードである元のビット列の下位4ビットに含まれる論理値“0”の数を合わせると、実際に書き込まれるデータのうち、論理値“0”の数は、6ビット以下になる。
第1変換後ビット列において、論理値“0”の数が2ビットより多い場合には、図4のステップS12の処理のように、元のビット列は、元のビット列と反転ビット列の下位4ビットの論理和に変換される(前述の第2変換後ビット列が生成される)。そして、ステップS13の処理のように、その第2変換後ビット列が書き込まれる。第2変換後ビット列に含まれる論理値“0”の数は、1ビット以下になる。この変換処理が適用される場合の付加値には論理値“0”が2ビット含まれる。復元コードである元のビット列の下位4ビットに含まれる論理値“0”の数を合わせると、実際に書き込まれるデータのうち、論理値“0”の数は、5ビット以下になる。
図5のように、元のビット列において、論理値“0”の数が3〜5ビットの場合、復元コードによっては、実際に書き込まれるデータの論理値“0”の数が、5ビットまたは6ビットになる場合がある。しかしながら、8ビットのビット列の全データパターン(256パターン)で見た場合には、実際にフラッシュメモリ31に書き込まれる論理値“0”の割合を、単に論理値“0”の数が論理値“1”の数よりも多い場合に全ビット反転する方法よりも少なくできる。このため、単に論理値“0”の数が論理値“1”の数よりも多い場合に全ビット反転する方法よりも、平均の書き込み時間を短縮できる。以下その計算例を説明する。
(書き込み時間の計算例)
図6は、8ビットのビット列の全データパターンにおいて、変換処理後に実際に書き込まれるデータの論理値“0”の数とその割合の計算結果の例を示す図である。
たとえば、元のビット列が“00000001”である場合、図4のステップS7の処理によって、実際にフラッシュメモリ31に書き込まれるビット列は“11111110”になる。また、付加値と復元コードには論理値“0”は含まれないため、実際フラッシュメモリ31に書き込まれるデータの論理値“0”の数は1ビットになる。そして、書き込まれるビット列と付加値と復元コードを合わせた全15ビット中の論理値“0”の割合は1/15=0.067となる。
全256のデータパターン中、実際に書き込まれる15ビットのデータの論理値“0”の数が、0ビットとなり、上記割合が0/15=0.000となるデータパターンの数は1パターンである。また、そのデータの論理値“0”の数が1ビットとなり、上記割合が1/15=0.067となるデータパターンの数は10パターン、論理値“0”の数が2ビットとなり、上記割合が2/15=0.133となるデータパターンの数は45パターンである。また、そのデータの論理値“0”の数が3ビットとなり、上記割合が3/15=0.200となるデータパターンの数は52パターン、論理値“0”の数が4ビットとなり、上記割合が4/15=0.267となるデータパターンの数は64パターンである。また、そのデータの論理値“0”の数が5ビットとなり、上記割合が5/15=0.333となるデータパターンの数は60パターン、論理値“0”の数が6ビットとなり、上記割合が6/15=0.400となるデータパターンの数は24パターンである。
相対書き込み時間を、割合×その割合となるパターン数とした場合、実際に書き込まれる15ビットのデータの論理値“0”の数が0ビットとなるデータパターンの相対書き込み時間は、0.000×1=0となる。また、そのデータの論理値“0”の数が1ビットとなるデータパターンの相対書き込み時間は、0.067×10=0.667となり、そのデータの論理値“0”の数が2ビットとなるデータパターンの相対書き込み時間は、0.133×45=6となる。また、そのデータの論理値“0”の数が3ビットとなるデータパターンの相対書き込み時間は、0.200×52=10.4となり、そのデータの論理値“0”の数が4ビットとなるデータパターンの相対書き込み時間は、0.267×64=17.067となる。また、そのデータの論理値“0”の数が5ビットとなるデータパターンの相対書き込み時間は、0.333×60=20となり、そのデータの論理値“0”の数が6ビットとなるデータパターンの相対書き込み時間は、0.400×24=9.6となる。
したがって、全データパターンが均等に発生する場合(書き込みデータがランダムデータの場合)、平均の相対書き込み時間は、(0+0.667+6+10.4+17.067+20+9.6)/256=0.249となる。
一方、8ビットのビット列において、論理値“0”の数が、4ビット以下の場合には変換せず、付加値“1”を加えて書き込み、4ビットより多い場合には反転ビット列と付加値“0”を加えて書き込む場合、平均の相対書き込み時間は以下のようになる。なお、この場合、付加値は、全ビット反転したか否かを示している。
全256のデータパターン中、実際に書き込まれる9ビット(ビット列の8ビットと付加値の1ビット)のデータの論理値“0”の数が0ビットとなり、上記割合が0/9=0.000となるデータパターンの数は1パターンである。また、そのデータの論理値“0”の数が1ビットとなり、上記割合が1/9=0.111となるデータパターンの数は9パターン、論理値“0”の数が2ビットとなり、上記割合が2/9=0.222となるデータパターンの数は36パターンである。また、そのデータの論理値“0”の数が3ビットとなり、上記割合が3/9=0.333となるデータパターンの数は84パターン、論理値“0”の数が4ビットとなり、上記割合が4/9=0.444となるデータパターンの数は126パターンである。
相対書き込み時間を、割合×その割合となるパターン数とした場合、実際に書き込まれる9ビットのデータの論理値“0”の数が0ビットとなるデータパターンの相対書き込み時間は、0.000×1=0となる。また、そのデータの論理値“0”の数が1ビットとなるデータパターンの相対書き込み時間は、0.111×9=1となり、そのデータの論理値“0”の数が2ビットとなるデータパターンの相対書き込み時間は、0.222×36=8となる。また、そのデータの論理値“0”の数が3ビットとなるデータパターンの相対書き込み時間は、0.333×84=28となり、そのデータの論理値“0”の数が4ビットとなるデータパターンの相対書き込み時間は、0.444×126=56となる。したがって、全データパターンが均等に発生する場合(書き込みデータがランダムデータの場合)、平均の相対書き込み時間は、(0+1+8+28+56)/256=0.363となる。
この相対書き込み時間を1とすると、図4に示したようなデータ変換及び書き込み処理による平均の相対書き込み時間は、0.249/0.363=0.685となる。つまり、図4に示したようなデータ変換及び書き込み処理によれば、単に論理値“0”の数が論理値“1”の数よりも多い場合に全ビット反転する方法よりも、約31%、書き込み時間の短縮が期待できる。
また、書き込み時間の短縮は、書き込み数の低減により得られるため、メモリセル31a1〜31anにおける絶縁層の劣化を遅らせることが可能となり、フラッシュメモリ31の長寿命化(高信頼性)の効果も期待できる。
ところで、付加値は上記の例に限定されない。たとえば、以下のような付加値を用いても同じ効果を得ることができる。
図7は、付加値として使用できる複数の組合せの一例を示す図である。
図7では、処理1〜4のそれぞれで用いられる付加値の組み合わせを示している。処理1は図4のステップS5の処理、処理2は図4のステップS8の処理、処理3は図4のステップS11の処理、処理4は図4のステップS13の処理を示している。
組合せNo.1の4つの付加値は、上記の例と同じ付加値である。4つの処理1〜4を区別でき、かつ、処理1,3で用いられる付加値の論理値“0”の数が1ビットで、処理2で用いられる付加値の論理値“0”の数が0ビットで、処理4で用いられる付加値の論理値“0”の数が2ビットであれば、図7の他の組合せでもよい。
なお、付加値を4ビット以上としてもよい。これにより、付加値に含まれる論理値“0”の数を1ビット以下にできる。
読み出し処理については上記のような付加値や復元コードを用いて、第1の実施の形態で説明した処理と同様の処理により元のビット列を復元できる。
ところで、図4のステップS9の処理では、ビット列の下位4ビットが用いられ、ステップS12の処理では、反転ビット列の下位4ビットが用いられているが、これに限定されない。ビット列の上位4ビット及び反転ビット列の上位4ビットを用いてもよい。
図8は、データ変換及び書き込み処理の他の例を示す図である。
制御回路32bは、図4のステップS9の処理の代わりに、反転ビット列と、ビット列の上位4ビットとの論理和により第1変換後ビット列を生成するステップS9aの処理を行う。また、制御回路32bは、図4のステップS12の処理の代わりに、ビット列と、反転ビット列の上位4ビットとの論理和により第2変換後ビット列を生成するステップS12aの処理を行う。
なお、ステップS11の処理において用いられる復元コードは、ビット列の上位4ビットとなり、ステップS13の処理において用いられる復元コードは、反転ビット列の上位4ビットとなる。その他の処理は、図4に示した処理と同じである。
図8に示すようなデータ変換及び書き込み処理が行われる場合の平均の相対書き込み時間も、0.249となり、図4に示したデータ変換及び書き込み処理が行われる場合と、同様の効果が得られる。
また、上記図4、図8の例では、8ビットのビット列を用いる場合について説明したが、これに限定されない。たとえば、16ビットのビット列を用いることもできる。
図9は、16ビットのビット列を用いる場合のデータ変換及び書き込み処理の例を示す図である。
制御回路32bは、図4のステップS2の処理の代わりに、書き込みデータを16ビットのビット列単位に分割するステップS2aの処理を行う。また、制御回路32bは、図4のステップS4の処理の代わりに、選択した16ビットのビット列において、論理値“0”の数が4ビット以下であるか否かを判定するステップS4aの処理を行う。また、制御回路32bは、図4のステップS6の処理の代わりに、選択した16ビットのビット列において、論理値“0”の数が12ビット以上であるか否かを判定するステップS6aの処理を行う。さらに、制御回路32bは、図4のステップS9の処理の代わりに、反転ビット列と、ビット列の下位8ビットとの論理和により第1変換後ビット列を生成するステップS9bの処理を行う。また、制御回路32bは、図4のステップS10の処理の代わりに、第1変換後ビット列において、論理値“0”の数が4ビット以下であるか否かを判定するステップS10aの処理を行う。また、制御回路32bは、ステップS12の処理の代わりに、ビット列と、反転ビット列の下位8ビットとの論理和により第2変換後ビット列を生成するステップS12bの処理を行う。
なお、ステップS11の処理において用いられる復元コードは、ビット列の下位8ビットとなり、ステップS13の処理において用いられる復元コードは、反転ビット列の下位8ビットとなる。その他の処理は、図4に示した処理と同じである。
また、制御回路32bは、ステップS9bの処理で、反転ビット列と、ビット列の上位8ビットとの論理和により第1変換後ビット列を生成してもよい。その場合、制御回路32bは、ステップS12bの処理では、ビット列と、反転ビット列の上位8ビットとの論理和により第2変換後ビット列を生成する。また、ステップS11の処理において用いられる復元コードは、ビット列の上位8ビットとなり、ステップS13の処理において用いられる復元コードは、反転ビット列の上位8ビットとなる。
16ビットのビット列の全データパターン数は、65536である。図9のデータ変換及び書き込み処理が行われる場合の平均の相対書き込み時間は、8ビットのビット列を用いた場合と同様の計算方法により得られ、0.291となる。一方、16ビットのビット列において、論理値“0”の数が、8ビット以下の場合には変換せず、付加値“1”を加えて書き込み、8ビットより多い場合には反転ビット列と付加値“0”を加えて書き込む場合の平均の相対書き込み時間は、0.402となる。
したがって、図9のデータ変換及び書き込み処理が行われる場合も、単に論理値“0”の数が論理値“1”の数よりも多い場合に全ビット反転する方法よりも、書き込み時間の短縮が期待できる。
ところで、上記のようなデータ変換処理は、コントローラIC32の制御回路32bが行う代わりに、SSD30の外部の制御回路であるプロセッサ35が行ってもよい。
図10は、SSD外部のプロセッサがデータ変換処理を行う例を示す図である。
SSD50の内部のコントローラIC51は、データ変換方式管理機能を有しておらず、SSD50に接続されたプロセッサ35aがその機能を実行する。つまり、プロセッサ35aが、フラッシュメモリ31または他のメモリに記憶されたプログラムを実行することで、図4、図8または図9の処理を行ってもよい。
また、図10の例では、プロセッサ35aは、処理したビット列を、コントローラIC51を介してフラッシュメモリ31に書き込むが、これに限定されない。
図11は、プロセッサが直接メモリセル単体に書き込む例を示す図である。
図11には、プロセッサ35aの他、メモリセル60a1〜60anを有するフラッシュメモリ60a、DRAM(Dynamic Random Access Memory)60b1〜60bn、その他のデバイス60c1〜60cnがバス61に接続された例が示されている。
プロセッサ35aは、図4、図8または図9の処理によって変換したビット列や付加値及び復元コードを、バス61を介して、メモリセル60a1〜60anに直接書き込んでもよい。
なお、上記ではフラッシュメモリ31,60aを用いたが、これに限定されず、書き込み時間が、メモリセルの初期値(消去状態の論理値)から反転させるビット数に依存する他の不揮発性メモリを用いることもできる。
以上、実施の形態に基づき、本発明のメモリ制御回路、メモリ及びメモリ制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
10 メモリ
11 記憶部
11a1〜11an メモリセル
12 メモリ制御回路
12a,12c I/F
12b 制御回路
15 制御回路(プロセッサ)
20 書き込みデータ
21,22,23,24,21b ビット列
21a,21d 反転ビット列
21c 第1変換後ビット列
21e 第2変換後ビット列
25a〜25d 付加値
26a,26b 復元コード

Claims (9)

  1. 複数の不揮発性メモリセルを有する記憶部に書き込むデータを受ける入力回路と、
    前記データに含まれる第1のビット数の第1のビット列において、前記複数の不揮発性メモリセルに記憶されている初期値である第1の論理値とは異なる第2の論理値である第2のビット数が、第1の閾値以下の場合、前記第1のビット列と第1の付加値とを対応付けて前記記憶部に書き込み、
    前記第2のビット数が、前記第1の閾値よりも大きい第2の閾値以上の場合、前記第1のビット列の全ビットの論理値を反転した第2のビット列と第2の付加値とを対応付けて前記記憶部に書き込み、
    前記第2のビット数が、前記第1の閾値よりも大きく前記第2の閾値よりも小さい場合、前記第1のビット列のうち前記第1のビット数の半分のビット数である第3のビット列と、前記第2のビット列との論理和をとった第4のビット列を生成し、前記第4のビット列において前記第2の論理値である第3のビット数が前記第1の閾値以下である場合、前記第4のビット列と第3の付加値と前記第3のビット列とを対応付けて前記記憶部に書き込み、
    前記第3のビット数が前記第1の閾値より大きい場合、前記第2のビット列のうち前記第3のビット列に対応するビット位置の第5のビット列と、前記第1のビット列との論理和をとった第6のビット列を生成し、前記第6のビット列と第4の付加値と前記第5のビット列とを対応付けて前記記憶部に書き込む、
    制御回路と、
    を有するメモリ制御回路。
  2. 前記第1の付加値と前記第2の付加値と前記第3の付加値と前記第4の付加値は、それぞれ異なる3ビット値であり、前記第1の付加値と前記第2の付加値と前記第3の付加値と前記第4の付加値のうち、前記第4の付加値に含まれる前記第2の論理値の数が最も多い、請求項1に記載のメモリ制御回路。
  3. 前記第3のビット列は、前記第1のビット列の下位側の半分のビット列であり、前記第5のビット列は、前記第2のビット列の下位側の半分のビット列である、請求項1または2に記載のメモリ制御回路。
  4. 前記第3のビット列は、前記第1のビット列の上位側の半分のビット列であり、前記第5のビット列は、前記第2のビット列の上位側の半分のビット列である、請求項1または2に記載のメモリ制御回路。
  5. 前記第1のビット数が8ビットである場合、前記第1の閾値は2ビットであり、前記第2の閾値は6ビットである、請求項1乃至4の何れか一項に記載のメモリ制御回路。
  6. 前記第1のビット数が16ビットである場合、前記第1の閾値は4ビットであり、前記第2の閾値は12ビットである、請求項1乃至4の何れか一項に記載のメモリ制御回路。
  7. 前記複数の不揮発性メモリセルのそれぞれは、前記第1の論理値が1であるフラッシュメモリセルである、請求項1乃至6の何れか一項に記載のメモリ制御回路。
  8. 複数の不揮発性メモリセルを有する記憶部と、
    前記記憶部に書き込むデータを受ける入力回路と、前記データに含まれる第1のビット数の第1のビット列において、前記複数の不揮発性メモリセルに記憶されている初期値である第1の論理値とは異なる第2の論理値である第2のビット数が、第1の閾値以下の場合、前記第1のビット列と第1の付加値とを対応付けて前記記憶部に書き込み、前記第2のビット数が、前記第1の閾値よりも大きい第2の閾値以上の場合、前記第1のビット列の全ビットの論理値を反転した第2のビット列と第2の付加値とを対応付けて前記記憶部に書き込み、前記第2のビット数が、前記第1の閾値よりも大きく前記第2の閾値よりも小さい場合、前記第1のビット列のうち前記第1のビット数の半分のビット数である第3のビット列と、前記第2のビット列との論理和をとった第4のビット列を生成し、前記第4のビット列において前記第2の論理値である第3のビット数が前記第1の閾値以下である場合、前記第4のビット列と第3の付加値と前記第3のビット列とを対応付けて前記記憶部に書き込み、前記第3のビット数が前記第1の閾値より大きい場合、前記第2のビット列のうち前記第3のビット列に対応するビット位置の第5のビット列と、前記第1のビット列との論理和をとった第6のビット列を生成し、前記第6のビット列と第4の付加値と前記第5のビット列とを対応付けて前記記憶部に書き込む、制御回路と、を備えたメモリ制御回路と、
    を有するメモリ。
  9. 制御回路が、
    複数の不揮発性メモリセルを有する記憶部に書き込むデータに含まれる第1のビット数の第1のビット列において、前記複数の不揮発性メモリセルに記憶されている初期値である第1の論理値とは異なる第2の論理値である第2のビット数が、第1の閾値以下の場合、前記第1のビット列と第1の付加値とを対応付けて前記記憶部に書き込み、
    前記第2のビット数が、前記第1の閾値よりも大きい第2の閾値以上の場合、前記第1のビット列の全ビットの論理値を反転した第2のビット列と第2の付加値とを対応付けて前記記憶部に書き込み、
    前記第2のビット数が、前記第1の閾値よりも大きく前記第2の閾値よりも小さい場合、前記第1のビット列のうち前記第1のビット数の半分のビット数である第3のビット列と、前記第2のビット列との論理和をとった第4のビット列を生成し、
    前記第4のビット列において前記第2の論理値である第3のビット数が前記第1の閾値以下である場合、前記第4のビット列と第3の付加値と前記第3のビット列とを対応付けて前記記憶部に書き込み、
    前記第3のビット数が前記第1の閾値より大きい場合、前記第2のビット列のうち前記第3のビット列に対応するビット位置の第5のビット列と、前記第1のビット列との論理和をとった第6のビット列を生成し、前記第6のビット列と第4の付加値と前記第5のビット列とを対応付けて前記記憶部に書き込む、
    メモリ制御方法。
JP2017143315A 2017-07-25 2017-07-25 メモリ制御回路、メモリ、及びメモリ制御方法 Active JP6860787B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017143315A JP6860787B2 (ja) 2017-07-25 2017-07-25 メモリ制御回路、メモリ、及びメモリ制御方法
US16/037,385 US10497445B2 (en) 2017-07-25 2018-07-17 Memory control circuit, memory, and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017143315A JP6860787B2 (ja) 2017-07-25 2017-07-25 メモリ制御回路、メモリ、及びメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2019023951A JP2019023951A (ja) 2019-02-14
JP6860787B2 true JP6860787B2 (ja) 2021-04-21

Family

ID=65138311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017143315A Active JP6860787B2 (ja) 2017-07-25 2017-07-25 メモリ制御回路、メモリ、及びメモリ制御方法

Country Status (2)

Country Link
US (1) US10497445B2 (ja)
JP (1) JP6860787B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817430B2 (en) 2018-10-02 2020-10-27 Micron Technology, Inc. Access unit and management segment memory operations

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10302490A (ja) * 1997-04-25 1998-11-13 Mitsubishi Electric Corp 読み出し専用半導体記憶装置
JP2005157781A (ja) 2003-11-26 2005-06-16 Sony Corp 情報処理装置および情報処理方法
JP4719236B2 (ja) * 2008-03-21 2011-07-06 株式会社東芝 半導体記憶装置及び半導体記憶システム
CN101859309A (zh) * 2009-04-07 2010-10-13 慧科讯业有限公司 重复文本识别系统及方法
JP2012133831A (ja) 2010-12-20 2012-07-12 Samsung Yokohama Research Institute Co Ltd 半導体記憶装置、及び記憶方法
JP5488719B2 (ja) * 2010-12-29 2014-05-14 富士通株式会社 映像信号符号化装置、映像信号符号化方法およびプログラム
JP5929790B2 (ja) * 2012-06-19 2016-06-08 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US8984369B2 (en) * 2012-11-21 2015-03-17 Micron Technology, Inc. Shaping codes for memory
JP6442152B2 (ja) * 2014-04-03 2018-12-19 キヤノン株式会社 画像処理装置、画像処理方法

Also Published As

Publication number Publication date
JP2019023951A (ja) 2019-02-14
US10497445B2 (en) 2019-12-03
US20190035469A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
JP4901987B1 (ja) 記憶装置、電子機器及び誤りデータの訂正方法
US8732553B2 (en) Memory system and control method thereof
US20130272078A1 (en) Storage controlling apparatus, memory system, information processing system and storage controlling method
US8417879B2 (en) Method for suppressing errors, and associated memory device and controller thereof
TWI446350B (zh) 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器
JP2015018451A (ja) メモリコントローラ、記憶装置およびメモリ制御方法
KR20140100690A (ko) 메모리 장치 및 메모리 장치의 리프레시 방법
CN105321571B (zh) 数据储存装置及其操作方法
JP2016184398A (ja) 不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
US7310262B2 (en) Ferroelectric memory capable of continuously fast transferring data words in a pipeline
US9467175B2 (en) Decoding method, memory storage device and memory controlling circuit unit
US9990152B1 (en) Data writing method and storage controller
TWI539282B (zh) 非揮發性儲存裝置與控制器
JP6860787B2 (ja) メモリ制御回路、メモリ、及びメモリ制御方法
TWI798630B (zh) 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
JP5283989B2 (ja) メモリシステム及びメモリアクセス方法
US10289334B2 (en) Valid data merging method, memory controller and memory storage apparatus
US10203886B2 (en) Data writing method, memory control circuit unit and memory storage apparatus for writing data from buffer memory and moving valid data
US20140198593A1 (en) Redundancy circuit and semiconductor memory device including the same
US10824340B2 (en) Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus
JP5517184B2 (ja) フラッシュメモリの延命装置、その方法及びそのプログラム
US20130067141A1 (en) Data writing method, and memory controller and memory storage apparatus using the same
KR20170132483A (ko) 메모리 장치의 구동 방법
US10546640B2 (en) Data protecting method and memory storage device
JP2020119007A (ja) 情報処理装置、記憶制御装置および記憶制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200409

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R150 Certificate of patent or registration of utility model

Ref document number: 6860787

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150