JP2018169688A - メモリシステム及びメモリの管理方法 - Google Patents

メモリシステム及びメモリの管理方法 Download PDF

Info

Publication number
JP2018169688A
JP2018169688A JP2017064935A JP2017064935A JP2018169688A JP 2018169688 A JP2018169688 A JP 2018169688A JP 2017064935 A JP2017064935 A JP 2017064935A JP 2017064935 A JP2017064935 A JP 2017064935A JP 2018169688 A JP2018169688 A JP 2018169688A
Authority
JP
Japan
Prior art keywords
block
blocks
physical
management
information
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.)
Granted
Application number
JP2017064935A
Other languages
English (en)
Other versions
JP6912240B2 (ja
Inventor
敏治 岡田
Toshiharu Okada
敏治 岡田
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co 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 Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2017064935A priority Critical patent/JP6912240B2/ja
Priority to US15/937,816 priority patent/US20180285022A1/en
Priority to CN201810269584.0A priority patent/CN108694130B/zh
Publication of JP2018169688A publication Critical patent/JP2018169688A/ja
Application granted granted Critical
Publication of JP6912240B2 publication Critical patent/JP6912240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Abstract

【目的】本発明は、管理情報の容量増加を抑えて、実使用上の記憶容量を増加することが可能なメモリシステム及びメモリの管理方法を提供することを目的とする。【構成】夫々が複数のメモリセルを含む複数のブロックが形成されているメモリセルアレイと、夫々がk個(kは2以上の整数)のブロックを含む複数の管理グループの各々毎に、管理グループ内に不良ブロックが存在する場合には不良を表す状態情報を対応付けして示す物理ブロック情報を生成するコントローラと、を有し、コントローラは、複数の管理グループのうちで不良を表す状態情報に対応付けされている管理グループ毎に、当該管理グループに含まれるk個のブロックのうちの不良ブロック以外のブロックを再利用ブロックとして設定し、管理グループ毎に設定された再利用ブロックの総数がk個となる場合にk個の再利用ブロックを新たな管理グループとして設定する。【選択図】図1

Description

本発明は、 メモリ及び当該メモリの管理を行うコントローラを含むメモリシステム、及びメモリのブロックを管理するメモリの管理方法に関する。
NAND型のフラッシュメモリシステムは、NAND型のメモリセルの他に、メモリのアドレスを管理するコントローラと、当該アドレスの管理に用いるメモリ管理情報を記憶するRAM(Random access memory)とを有する。
かかるアドレス管理の方法として、消去単位であるブロックや書込み単位であるページなどで独立して管理する方法が知られている。
独立して管理する場合、メモリ容量が増えるとそれに比例してアドレス管理に必要な管理情報のサイズが増加する。それ故、必要なRAMサイズが増大する、或いは一度に全ての情報をRAMに格納することができないという問題が生じる。
そこで、管理情報のサイズを抑える為に、複数のブロックからなるブロック群の単位でアドレスを管理する方法が提案された(例えば、特許文献1を参照)。
特開2007−241896号公報
複数のブロックからなるブロック群の単位でアドレスを管理する場合、単一のブロック単位でアドレスを管理する場合に比べてアドレスに割り当てるビット数を少なくすることができる。
しかしながら、このようなブロック群の単位でアドレスを管理する方法を採用すると、そのブロック群中の1つのブロックだけに不良が発生した場合にも、当該ブロック群を全て使用不可としなければならない。よって、見かけ上の不良ブロック数が実際の不良ブロック数よりも増加する為、実際に使用可能な記憶容量が低下するという問題があった。
そこで、本発明は、管理情報の容量増加を抑えて、実使用上の記憶容量を増加することが可能なメモリシステム及びメモリの管理方法を提供することを目的とする。
本発明に係るメモリシステムは、メモリシステムであって、夫々が複数のメモリセルを含む複数のブロックが形成されているメモリセルアレイと、夫々がk個(kは2以上の整数)の前記ブロックを含む複数の管理グループの各々毎に、前記管理グループ内に不良ブロックが存在する場合には不良を表す状態情報を対応付けして示す物理ブロック情報を生成するコントローラと、を有し、前記コントローラは、前記複数の管理グループのうちで前記不良を表す前記状態情報に対応付けされている前記管理グループ毎に、当該管理グループに含まれる前記k個のブロックのうちの前記不良ブロック以外のブロックを再利用ブロックとして設定し、前記管理グループ毎に設定された前記再利用ブロックの総数が前記k個となる場合に前記k個の前記再利用ブロックを新たな前記管理グループとして設定する。
また、本発明に係るメモリの管理方法は、夫々が複数のメモリセルを含む複数のブロックが形成されているメモリセルアレイを有するメモリの管理方法であって、夫々がk個(kは2以上の整数)の前記ブロックを含む複数の管理グループの各々毎に、前記管理グループ内に不良ブロックが存在する場合には不良を表す状態情報を対応付けして示す物理ブロック情報を生成し、前記複数の管理グループのうちで前記不良を表す前記状態情報に対応付けされている前記管理グループ毎に、当該管理グループに含まれる前記k個のブロックのうちの前記不良ブロック以外のブロックを再利用ブロックとして設定し、前記管理グループ毎に設定された前記再利用ブロックの総数が前記k個となる場合に前記k個の前記再利用ブロックを新たな前記管理グループとして設定する。
本発明では、k(kは2以上の整数)個のブロックからなる管理グループ毎に、当該管理グループを以下のように管理する。
つまり、管理グループ内に不良ブロックが存在する場合には、当該管理グループが不良であることを表す状態情報をこの管理グループに対応づけして生成する。ここで、不良ブロックが存在する管理グループ毎に、当該管理グループに含まれるk個のブロックのうちで不良ブロックを除く他のブロックを再利用ブロックとして設定する。そして、管理グループ毎に設定した再利用ブロックの総数がk個になる場合に、これらk個の再利用ブロックを新たな管理グループとして設定する。
これにより、管理グループ内に不良ブロックが存在しているが故にこの管理グループが使用不可となっても、この管理グループ内に含まれる、不良ブロックを除く他のブロックによって新たな管理グループが設定される。
よって、本発明によれば、管理情報の容量増加を抑えつつも、見かけ上の不良ブロック数を大幅に減少させることが可能となる。更に、ブロックの利用効率が大幅に改善されてメモリ寿命が長くなる。従って、メモリシステムの実質的な記憶容量の増加、及びメモリ寿命の増加に伴うシステムの低コスト化を図ることが可能となる。
本発明に係るメモリシステム100の構成の一例を示すブロック図である。 物理ブロック情報201の内容の一例を示す図である。 変換テーブル202の内容の一例を示す図である。 単独再利用ブロック情報401の内容の一例を示す図である。 管理情報更新処理の一例を示すフローチャートである。 管理情報更新処理の一例を示すフローチャートである。 アクセスブロック番号決定処理の一例を示すフローチャートである。 管理情報更新処理による管理情報(201、202、401)の更新結果の一例を示す図である。 管理情報更新処理による管理情報(201、202、401)の更新結果の一例を示す図である。 本発明に係るメモリシステム100の構成の他の一例を示すブロック図である。 管理グループ情報501及び余りブロック情報の内容の一例を示す図である。 管理情報更新処理の他の一例を示すフローチャートである。 管理情報更新処理の他の一例を示すフローチャートである。 アクセスブロック番号決定処理の他の一例を示すフローチャートである。 管理情報更新処理による管理情報(201、202、501、502)の更新結果の一例を示す図である。 管理情報更新処理による管理情報(201、202、501、502)の更新結果の一例を示す図である。
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図1は、本発明に係るメモリシステム100の構成の一例を示すブロック図である。図1に示すように、メモリシステム100は、メモリセルアレイ10、コントローラ11、及びRAM(Random Access Memory)12を有する。
メモリセルアレイ10は、例えばNAND型の複数のメモリセルが配置された、いわゆるNANDフラッシュメモリである。メモリセルアレイ10では、複数のメモリセルによってアクセスの最小単位となるページが形成され、複数個のページによってブロックが形成されている。メモリセルアレイ10には、このようなブロックが複数個形成されている。
更に、メモリセルアレイ10の記憶領域内には、複数のブロックを、k(kは2以上の整数)個のブロックからなる管理グループの単位で管理する為の管理情報を格納する管理情報領域SAが設けられている。
尚、管理情報は、物理ブロック情報201、変換テーブル202、及び単独再利用ブロック情報401を含む。
物理ブロック情報201は、上記した管理グループ毎に、その管理グループが不良であるか否かを表す情報である。
例えば、物理ブロック情報201には、管理グループ内の全ブロックが良好な状態にある場合には「良好」を表し、当該管理グループ内に1つでも不良なブロックが存在する場合には「不良」を表す状態情報と、管理グループを識別する物理IDとが対応付けして示されている。尚、管理グループが不良である場合、この管理グループに属する全てのブロックは使用不可となる。
図2は、工場出荷時における物理ブロック情報201の内容の一例を示す図である。
図2に示す一例では、管理グループを構成するブロックの数「k」を「2」とし、物理ブロック番号「0」〜「N」にて示される(N+1)個のブロックを2個のブロックからなる管理グループ毎に区分けしている。そして、管理グループの各々に物理IDとして「0」〜「N/2」を割り当て、各物理IDに、その物理IDに属するブロック群が「不良」であるか、或いは「良好」であるのかを示す状態情報を対応付けして示す。
変換テーブル202は、ホスト装置50から供給されたアドレス、つまり論理アドレスを、メモリセルアレイ10のブロックを示す物理IDに変換するためのテーブルである。
図3は、工場出荷時における変換テーブル202の内容の一例を示す図である。図3に示すように工場出荷時には、例えば論理アドレス(0)〜(N/2)に対応した、変換後の物理ID(0)〜(N/2)が変換テーブル202として設定されている。
単独再利用ブロック情報401は、不良状態のブロックを含んでいるが故に「不良」扱いとなった管理グループに含まれるブロック群のうちで良好状態にあるブロックを再利用ブロックとし、この再利用ブロックの物理ブロック番号を新たな物理IDと対応付けして表す情報である。
図4は、工場出荷時における単独再利用ブロック情報401の内容の一例を示す図である。
図4に示すように、工場出荷時には、単独再利用ブロック情報401は、物理ブロック情報201では用いていない物理IDとして、例えば[10000]から1ずつその値が増加する物理IDの各々に、未割り当てを表す識別コード[0xFFFF]が対応付けされたものとなっている。
コントローラ11は、電源投入に応じて、メモリセルアレイ10の管理情報領域SAに格納されている管理情報、つまり物理ブロック情報201、変換テーブル202、及び単独再利用ブロック情報401を読み出し、RAM12に記憶させる。
その後、コントローラ11は、ホスト装置50から送出された各種のコマンド信号(読出指令、書込指令等)、アドレス及びデータを受けると、メモリセルアレイ10に対してデータの読出、書込、消去等のアクセスを行う。
ここで、コントローラ11は、ホスト装置50等の外部装置からの書込アクセスに応じてメモリセルアレイ10への書込み処理を行った際に、その書込みに失敗した場合には、書込を失敗したメモリセルが含まれるブロックを不良ブロックとして検知する。また、コントローラ11は、メモリセルに書き込まれたデータが壊れる前に、当該メモリセルが属するブロックとは別のブロックにそのデータをコピーするリフレッシュ処理を行う。その際、リフレッシュ処理において別のブロックのメモリセルへのデータ書込みに失敗した場合にも、コントローラ11は、書込みに失敗したメモリセルが含まれるブロックを不良ブロックとして検知する。
コントローラ11は、ブロックへの書込み処理に失敗した不良ブロックを検知した場合に、以下の管理情報更新処理を実行する。
図5及び図6は、管理情報更新処理の一例を示すフローチャートである。
先ず、コントローラ11は、RAM12に記憶されている単独再利用ブロック情報401中から、上記した不良ブロックの物理ブロック番号を、物理ブロック番号QNとして検索する(ステップS1)。この検索において、コントローラ11は、単独再利用ブロック情報401中に物理ブロック番号QNが存在するか否かを判定する(ステップS2)。
ステップS2において、単独再利用ブロック情報401中に物理ブロック番号QNが存在しないと判定された場合、コントローラ11は、物理ブロック情報201中において、不良ブロックを含む管理グループの状態情報、つまり物理ブロック番号QNに対応した物理IDの状態情報を「良好」から「不良」に書き換える(ステップS3)。
次に、コントローラ11は、不良ブロックを含む管理グループに含まれるk個のブロックのうちから不良ブロックを省いたブロックを再利用ブロックとして単独再利用ブロック情報401に設定する(ステップS4)。具体的には、コントローラ11は、物理ブロック番号QNに対応した物理IDに属する物理ブロック番号のうちからQNを除いた各物理ブロック番号に、「良好」を表す状態情報を対応づけしたものを単独再利用ブロック情報401に追記する。
尚、上記ステップS2にて単独再利用ブロック情報401中に物理ブロック番号QNが存在すると判定された場合、コントローラ11は、当該単独再利用ブロック情報401において不良ブロックに対応した状態情報を「良好」から「不良」に書き換える(ステップS5)。つまり、コントローラ11は、物理ブロック番号QNに対応した物理IDの状態情報を「良好」から「不良」に書き換える。
次に、コントローラ11は、単独再利用ブロック情報401中において、不良ブロックと組み合わせて再利用する再利用ブロックに対応した状態情報を、「良好」から「不良」に書き換える(ステップS6)。つまり、コントローラ11は、物理ブロック番号QNと組み合わせて再利用する物理ブロック番号に対応した状態情報を、「良好」から「不良」に書き換える。
次に、コントローラ11は、不良ブロックと組み合わせて再利用する再利用ブロックを、単独再利用ブロック情報401に再設定する(ステップS7)。具体的には、コントローラ11は、物理ブロック番号QNと組み合わせて再利用する物理ブロック番号及び「良好」を表す状態情報を、新規な物理IDに対応づけしたものを単独再利用ブロック情報として追記する。
上記ステップS7又はS4の実行後、コントローラ11は、単独再利用ブロック情報401にて設定されている再利用ブロックの数を計数し(ステップS10)、再利用ブロックの数がk個であるか否かを判定する(ステップS11)。
ステップS11において、再利用ブロックの数がk個有ると判定された場合、コントローラ11は、k個の再利用ブロックを再利用管理グループGPとして設定する(ステップS12)。
次に、コントローラ11は、物理ブロック情報201中から「不良」を表す状態情報に対応した物理IDを不良物理IDとして探索する(ステップS13)。
次に、コントローラ11は、変換テーブル202中において、上記した不良物理IDに対応している論理アドレスに対応した物理IDを、再利用管理グループGPの先頭の物理ID、又は「良好」を表す状態情報に対応した物理IDに書き換える(ステップS14)。
尚、ステップS11において、再利用ブロックの数がk個存在しないと判定された場合、コントローラ11は、物理ブロック情報201中から、「不良」を表す状態情報に対応した物理IDを不良物理IDとして探索する(ステップS15)。
次に、コントローラ11は、変換テーブル202中において、上記した不良物理IDに対応している論理アドレスに対応した物理IDを、「良好」を表す状態情報に対応した物理IDに書き換える(ステップS16)。
上記ステップS14又はS16の実行後に、ホスト装置50から送出された論理アドレスを受けると、コントローラ11は、以下のアクセスブロック番号決定処理を実行する。これにより、アクセス対象となるブロックを示す物理ブロック番号を決定する。
図7は、アクセスブロック番号決定処理の一例を示すフローチャートである。
図7において、コントローラ11は、変換テーブル202から論理アドレスに対応した物理IDを取得する(ステップS21)。
次に、コントローラ11は、取得した物理IDが、単独再利用ブロック情報401にて示される先頭の物理IDとしての例えば[10000]未満であるか否かを判定する(ステップS22)。
ステップS22において、取得した物理IDが[10000]未満であると判定された場合、コントローラ11は、物理ID・k〜物理ID・k+(k−1)の範囲内の各整数値で表される物理ブロック番号をアクセス用の物理ブロック番号とする(ステップS23)。
尚、ステップS22において、取得した物理IDが[10000]未満ではないと判定された場合、コントローラ11は、単独再利用ブロック情報に示される、物理ID〜物理ID+(k−1)の範囲内の各物理IDに対応した物理ブロック番号を
アクセス用の物理ブロック番号とする(ステップS24)。
コントローラ11は、上記したステップS23又はS24で取得した物理ブロック番号群によって表される各ブロックをアクセス(読出又は書込)するための制御をメモリセルアレイ10に施す。
以下に、上記した管理情報更新処理及びアクセスブロック番号決定処理による動作について、ブロックの状態を管理する際の最小単位となる管理グループのブロック数、つまり「k」を「2」とした場合を例にとって説明する。
[管理情報更新処理]
図8は、物理ブロック番号「3」、「4」、「8」、「9」、「15」の各ブロックが不良ブロックとして検知された場合に、上記したステップS1〜S4、S11〜S16の処理によって更新された管理情報(201、202、401)の内容を示す図である。
図8に示す一例では、互いに番号が隣接する2つの物理ブロック番号によって、1つの管理グループが構成されるものとする。
図8において、物理ブロック番号「0」及び「1」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、この管理グループを表す物理IDとして「0」が割り当てられる。この際、物理ID「0」に対応した物理ブロック番号「0」及び「1」にて示される2つのブロックは共に良好な状態にあるので、この物理ID「0」に対応した状態情報は「良好」のままである。
また、物理ブロック番号「2」及び「3」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、当該管理グループを表す物理IDとして「1」が割り当てられる。この際、物理ID「1」に対応した物理ブロック番号「2」及び「3」のうちで物理ブロック番号「2」に対応したブロックは良好な状態にあるものの、物理ブロック番号「3」に対応したブロックは不良な状態にある。よって、物理ID「1」に対応した状態情報は「不良」に書き換えられる。
また、物理ブロック番号「4」及び「5」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、当該管理グループを表す物理IDとして「2」が割り当てられる。この際、物理ID「2」に対応した物理ブロック番号「4」及び「5」のうちで物理ブロック番号「5」に対応したブロックは良好な状態にあるものの、物理ブロック番号「4」に対応したブロックは不良な状態にある。よって、物理ID「2」に対応した状態情報は「不良」に書き換えられる。
また、物理ブロック番号「8」及び「9」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、当該管理グループを表す物理IDとして「4」が割り当てられる。この際、物理ID「4」に対応した物理ブロック番号「8」及び「9」は共に不良な状態にあるので、当該物理ID「4」に対応した状態情報は「不良」に書き換えられる。
更に、物理ブロック番号「14」及び「15」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、当該管理グループを表す物理IDとして「7」が割り当てられる。この際、物理ID「7」に対応した物理ブロック番号「14」及び「15」のうちで物理ブロック番号「14」に対応したブロックは良好な状態にあるものの、物理ブロック番号「15」に対応したブロックは不良な状態にある。よって、物理ID「7」に対応した状態情報は「不良」に書き換えられる。
ところで、上記した物理ID「1」、「2」、「7」に対応した状態情報はいずれも「不良」を表すが、これら物理ID「1」、「2」、「7」に夫々対応した管理グループは、いずれも「良好」な状態にあるブロックを含んでいる。
そこで、物理ID「1」、「2」、「7」に夫々対応した、「良好」な状態にあるブロックの物理ブロック番号「2」、「5」及び「14」が、単独再利用ブロック情報401において、先頭の物理ID[10000]、次の物理ID[10001]、更に次の物理ID[10002]に夫々対応付して追記される。
すなわち、物理ブロック番号「2」、「5」及び「14」によって表される各ブロックが、単独再利用ブロック情報401において再利用ブロックとして設定される。
よって、図8に示すように、単独再利用ブロック情報401内には、管理グループを為すブロック数として2つ分の再利用ブロックを表す物理ブロック番号「2」及び「5」が示されている。従って、これら物理ブロック番号「2」及び「5」にて表される再利用ブロックにより、新たな管理グループとしての再利用管理グループGPが構成される。
ここで、図8の物理ブロック情報201に示されるように、物理ID「1」、「2」、「4」、及び「7」に対応した状態情報は「不良」を表す。この際、変換テーブル202における物理IDとして、「不良」状態にあるものを用いることはできない。そこで、変換テーブル202に対して、「不良」状態にある物理ID「1」、「2」、「4」、及び「7」を、「良好」を表す状態情報が対応づけされている物理IDに書き換える処理が為される(ステップS13〜S16)。
例えば、図8に示すように、論理アドレス「1」に対応した物理IDは「3」、論理アドレス「2」に対応した物理IDは「5」、論理アドレス「3」に対応した物理IDは「6」に夫々書き換えられる。更に、論理アドレス「6」に対応した物理IDは、図8に示すように、単独再利用ブロック情報401に含まれる再利用管理グループGPの先頭の物理ID[10000]に書き換えられる。
図9は、図8と同様に、物理ブロック番号「3」、「4」、「8」、「9」、「15」の各ブロックが不良ブロックとして検知され、且つ単独再利用ブロック情報401で示される物理ブロック番号「2」のブロックが不良ブロックとして検知された場合の管理情報(201、202、401)の内容を示す図である。
尚、不良ブロックとしての物理ブロック番号「3」、「4」、「8」、「9」、「15」に基づく更新処理については、図8に示すものと同一である。
よって、以下に、単独再利用ブロック情報401で示される物理ブロック番号「2」のブロックが不良ブロックとして検知された場合に、上記したステップS5〜S7によって為される管理情報(201、401)の更新処理についてのみ説明する。
物理ブロック番号「2」のブロックが不良ブロックとして検知されると、物理ブロック番号「2」と共に、当該物理ブロック番号「2」と組み合わせて再利用管理グループGPを構成していた物理ブロック番号「5」に対応した状態情報が「不良」に書き換えられる。尚、物理ブロック番号「5」に対応したブロック自体は良好な状態にあるので、この物理ブロック番号「5」は、物理ブロック番号「14」の物理ID[10002]に後続する物理ID[10003]に対応付けして、単独再利用ブロック情報401に再び設定される。
これにより、物理ブロック番号「14」及び「5」にて示される2つの再利用ブロックが新たな再利用管理グループGPとして設定される。
尚、上記したような管理情報(201、401)の更新は、RAM12及びメモリセルアレイ10の管理情報領域SAの双方に対して行われる。
[アクセスブロック番号決定処理]
先ず、ホスト装置50から論理アドレス「2」が供給された場合に、図8に示す管理情報(201、202、401)を用いた図7に示すステップS21〜S24の実行によってアクセスブロック番号を決定する動作について説明する。
図8に示す変換テーブル202によれば、論理アドレス「2」に対応した物理IDは「5」である。この際、当該物理IDは、単独再利用ブロック情報401に割り当てられている先頭の物理ID[10000]未満である。よって、この際、当該物理ID「5」に、管理グループを構成するブロック数kとして「2」を乗算して得られた値を有する物理ブロック番号「10」、及び「11」を、アクセスブロック番号とする。
次に、ホスト装置50から論理アドレス「6」が供給された場合に、図8に示す管理情報(201、202、401)を用いた図7に示すステップS21〜S24の処理によって、アクセスブロック番号を決定する動作について説明する。
図8に示す変換テーブル202によれば、論理アドレス「6」に対応した物理IDは[10000]である。この際、当該物理IDは、単独再利用ブロック情報401に割り当てられている先頭の物理ID[10000]以上である。よって、この際、単独再利用ブロック情報401にて示される、物理ID[10000]及び物理ID[10001]に対応した物理ブロック番号「14」及び「5」を、アクセス物理ブロック番号とする。
以上のように、図1に示すメモリシステム100では、夫々が複数のメモリセルを含む複数のブロックが形成されているメモリセルアレイ10に対して、夫々がk個のブロックを含む管理グループの各々を、コントローラ11によって以下のように管理する。
先ず、コントローラ11は、夫々がk個のブロックを含む複数の管理グループの各々毎に、当該管理グループ内に不良ブロックが存在する場合には「不良」を表す状態情報を対応付けして示す物理ブロック情報201を生成する。
ここで、コントローラ11は、複数の管理グループのうちで「不良」を表す状態情報に対応付けされている管理グループ毎に、その管理グループに含まれるk個のブロックのうちから不良ブロックを除くブロックを再利用ブロックとして、単独再生利用ブロック情報401に設定する。そして、コントローラ11は、管理グループ毎に設定された再利用ブロックの総数がk個となる場合にk個の再利用ブロックを新たな管理グループとして設定する。
要するに、少なくとも1つの不良ブロックが含まれているが故に不良状態の扱いとなった管理グループに含まれるk個のブロックのうちで、不良ブロック以外の良好な状態にあるブロックを再利用して、新たな管理グループを設定するのである。
これにより、管理情報の容量増加を抑えつつも、見かけ上の不良ブロック数を大幅に減少させることが可能となる。更に、ブロックの利用効率が大幅に改善されるので、メモリ寿命が長くなり、それに伴いシステムの低コスト化を図ることが可能となる。
また、単独利用ブロック情報401によれば、不良扱いとなる物理IDに属する複数のブロックのうちで良好な状態にあるブロックを示す物理ブロック番号の一覧を確認することができる。よって、その一覧によれば、割り当て済みの再利用管理グループGPを変更することなく、新たな再利用管理グループGPを設定することが可能となる。
図10は、本発明に係るメモリシステム100の構成の他の一例を示すブロック図である。図10に示すメモリシステム100では、図1に示すコントローラ11に代えてコントローラ11Aを採用し、メモリセルアレイ10に代えてメモリセルアレイ10Aを採用している。RAM12は図1に示されるものと同一である。
メモリセルアレイ10Aは、メモリセルアレイ10と同様なNANDフラッシュメモリである。メモリセルアレイ10Aにおける複数のメモリセルによる全記憶領域内には、管理情報としての物理ブロック情報201、変換テーブル202及び余りブロック情報502が格納されている管理情報領域SAが設けられている。更に、メモリセルアレイ10A内において、各ブロックに含まれる少なくとも1つのページの冗長領域JAに、管理情報としての管理グループ情報501が格納されている。
物理ブロック情報201及び変換テーブル202については、図1に示されるものと同一であるので、それらの説明は省略する。
管理グループ情報501は、各物理IDに対応した管理グループ毎に、その管理グループに属するブロックの物理ブロック番号を示す情報である。
余りブロック情報502には、上記した不良ブロックが属する管理グループ内に含まれる不良ブロックを除く良好な状態にあるブロックのうちで、再利用管理グループに含むことができなかった、余りの再利用ブロックの物理ブロック番号が示される。
図11は、工場出荷時における管理グループ情報501及び余りブロック情報502の内容の一例を示す図である。
図11に示すように、管理グループ情報501は、物理ブロック番号毎に、その物理ブロック番号のブロックが属する管理グループに含まれる全ての物理ブロック番号が示されている。尚、本実施例では、2つのブロックで管理グループを構成しているので、連続する2つの物理ブロック番号が、各物理ブロック番号に対応付けして示されている。尚、工場出荷時には、余りブロック情報502にて示される内容は無い。
コントローラ11Aは、電源投入に応じて、メモリセルアレイ10Aの管理情報領域SAに格納されている物理ブロック情報201、変換テーブル202、及び余りブロック情報502を読み出し、RAM12に記憶する。
その後、コントローラ11Aは、ホスト装置50から送出された各種のコマンド信号(読出指令、書込指令等)、アドレス及びデータを受けると、メモリセルアレイ10Aに対してデータの読出、書込、消去等のアクセスを行う。
ここで、コントローラ11Aは、ホスト装置50等の外部装置からのアクセスに応じてメモリセルアレイ10Aへの書込み処理を行った際に、その書込みに失敗した場合には、書込を失敗したメモリセルが含まれるブロックを不良ブロックとして検知する。
コントローラ11Aは、上記したようにブロックへの書込み処理に失敗した不良ブロックを検知した場合に、以下の管理情報更新処理を実行する。
図12及び図13は、管理情報更新処理の一例を示すフローチャートである。
先ず、コントローラ11Aは、物理ブロック情報201において、不良ブロックに対応した物理IDの状態情報を「不良」に書き換える(ステップS31)。
次に、コントローラ11Aは、不良ブロックに対応した管理ブロック内から良好な状態にあるブロックを再利用ブロックとして抽出する(ステップS32)。つまり、コントローラ11Aは、不良ブロックを表す物理IDに属するブロック群内から良好な状態にあるブロックの物理ブロック番号を抽出する。
次に、コントローラ11Aは、抽出したブロック群内のk個の再利用ブロック毎に管理グループを構成し、この管理グループに含まれる再利用ブロックの物理ブロック番号にて、管理グループ情報501の内容を書き換える(ステップS33)。
次に、コントローラ11Aは、抽出した再利用ブロック群内で、管理グループに含まれない再利用ブロックを余り再利用ブロックとし、この余り再利用ブロックの物理ブロック番号を余りブロック情報502に追記する(ステップS34)。
次に、コントローラ11Aは、余りブロック情報502にk個の余り再利用ブロックが含まれているか否かを判定する(ステップS41)。
ステップS41において余りブロック情報502にk個の余り再利用ブロックが含まれていると判定された場合、以下のステップS42の実行に移る。すなわち、コントローラ11Aは、管理グループ情報501において、k個のブロックに夫々対応付けされている物理ブロック番号群を、余りブロック情報502にて示されるk個の余り再利用ブロックの物理ブロック番号群に書き換える(ステップS42)。
次に、コントローラ11Aは、物理ブロック情報201において、余りブロック情報502が示すk個の余り再利用ブロックのうちの1つに対応付けされている状態情報を、「不良」から「良好」に書き換える(ステップS43)。
次に、コントローラ11Aは、余りブロック情報502の内容を削除する(ステップS44)。
上記ステップS44の実行後、或いは上記ステップS41において、余りブロック情報502にk個の余り再利用ブロックが含まれていないと判定された場合、コントローラ11Aは、以下のステップS45の実行に移る。すなわち、コントローラ11Aは、物理ブロック情報201中から「不良」を表す状態情報に対応した物理IDを、不良物理IDとして取得する(ステップS45)。
次に、コントローラ11Aは、変換テーブル202中において、不良物理IDに対応している論理アドレスに対応した物理IDを、「良好」を表す状態情報に対応した物理IDに書き換える(ステップS46)。
上記ステップS46の実行後、ホスト装置50から送出された論理アドレスを受けると、コントローラ11Aは、以下のアクセスブロック番号決定処理を実行する。これにより、アクセス対象となるブロックを示す物理ブロック番号を決定する。
図14は、アクセスブロック番号決定処理の他の一例を示すフローチャートである。
図14において、コントローラ11Aは、変換テーブル202から論理アドレスに対応した物理IDを取得する(ステップS51)。
次に、コントローラ11Aは、管理グループ情報501から、上記した物理IDに属する先頭の物理ブロック番号を含む物理ブロック番号群を抽出し、アクセス用の物理ブロック番号とする(ステップS52)。
コントローラ11Aは、上記したステップS52で取得した物理ブロック番号群によって表される各ブロックをアクセス(読出又は書込)するための制御をメモリセルアレイ10に施す。
尚、上記したような管理情報(201、202、501、502)の更新は、RAM12及びメモリセルアレイ10の管理情報領域SA及び冗長領域JAに対して行われる。
以下に、図12〜図14にて示される管理情報更新処理及びアクセスブロック番号決定処理による動作について、ブロックの状態を管理する際の最小単位となる管理グループのブロック数、つまり「k」を「2」とした場合を例にとって説明する。
[管理情報更新処理]
図15は、物理ブロック番号「3」、「4」、「8」、「15」の各ブロックが不良ブロックとして検知された場合に、上記したステップS31〜S34、S41及びS42の処理によって更新された管理情報(201、202、501、502)の内容を示す図である。
また、 図15に示す一例では、2つの物理ブロック番号によって1つの管理グループが構成するものとする。
図15において、物理ブロック番号「0」及び「1」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、この管理グループを表す物理IDとして「0」が割り当てられる。この際、物理ID「0」に対応した物理ブロック番号「0」及び「1」にて示される2つのブロックは共に良好な状態にあるので、この物理ID「0」に対応した状態情報は「良好」のままである。
また、物理ブロック番号「2」及び「3」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、当該管理グループを表す物理IDとして「1」が割り当てられる。この際、物理ID「1」に対応した物理ブロック番号「2」及び「3」のうちで物理ブロック番号「2」に対応したブロックは良好な状態にあるものの、物理ブロック番号「3」に対応したブロックは不良な状態にある。
また、物理ブロック番号「4」及び「5」にて示される2つのブロックが管理グループを構成し、物理ブロック情報201では、当該管理グループを表す物理IDとして「2」が割り当てられる。この際、物理ID「2」に対応した物理ブロック番号「4」及び「5」のうちで物理ブロック番号「5」に対応したブロックは良好な状態にあるものの、物理ブロック番号「4」に対応したブロックは不良な状態にある。
そこで、夫々が良好な状態を表す物理ブロック番号「2」及び「5」にて表される再利用ブロックの組み合わせによって再利用管理グループが設定される。
よって、図15に示すように、管理グループ情報501内には、物理ブロック番号「2」に対応付けした再利用管理グループとして、物理ブロック番号「2」及び「5」が設定される。更に、物理ブロック番号「5」に対応付けした再利用管理グループとして、物理ブロック番号「2」及び「5」が設定される。
これにより、物理ID「1」には、物理ブロック番号「2」及び「5」の組み合わせによる再利用管理グループが割り当てられる。この際、物理ブロック情報201には、物理ID「1」に対応させて「良好」を表す状態情報が設定される。
また、図15では、物理ブロック番号「8」及び「9」にて示される2つのブロックが管理グループを構成し、当該管理グループを表す物理IDとして「4」が割り当てられている。この際、物理ID「4」に対応した物理ブロック番号「9」に対応したブロックは良好な状態にあるものの、物理ブロック番号「8」に対応したブロックは不良な状態にある。よって、物理ID「4」に対応した状態情報は「不良」に書き換えられる。
更に、図15では、物理ブロック番号「14」及び「15」にて示される2つのブロックが管理グループを構成し、当該管理グループを表す物理IDとして「7」が割り当てられる。この際、物理ID「7」に対応した物理ブロック番号「14」及び「15」のうちで物理ブロック番号「14」に対応したブロックは良好な状態にあるものの、物理ブロック番号「15」に対応したブロックは不良な状態にある。よって、物理ID「7」に対応した状態情報は「不良」に書き換えられる。
ここで、上記した物理ID「4」及び「7」に対応した状態情報はいずれも「不良」を表すが、これら物理ID「4」及び「7」に夫々対応した管理グループは、いずれも「良好」な状態にあるブロックを含んでいる。
そこで、物理ID「4」及び「7」に夫々対応した、「良好」な状態にあるブロックの物理ブロック番号「9」及び「14」が、余り再利用ブロックとして余りブロック情報502に追記される。
ここで、余りブロック情報502内には、管理グループを構成するブロック数の分、つまり2個の物理ブロック番号「9」及び「14」が存在する。
これにより、図15に示すように物理ブロック番号「9」及び「14」にて示される余り再利用ブロックの組み合わせによる再利用管理グループGPが設定される。
よって、図15に示すように、管理グループ情報501において、物理ブロック番号「9」には、物理ブロック番号「9」及び「14」の組み合わせによる再利用管理グループが対応付けされる。更に、物理ブロック番号「14」には、物理ブロック番号「9」及び「14」の組み合わせによる再利用管理グループが対応付けされる。
そして、ステップS43及びS44の実行により、図16に示すように物理ブロック情報201及び余りブロック情報502が更新される。
すなわち、物理ID「7」は、その先頭の物理ブロック番号「14」と、物理ブロック番号「9」との組み合わせからなる再利用管理グループによって、使用可能となる。よって、物理ID「7」に対応した状態情報は、図16に示すように「良好」に書き換えられる。かかる書き換えが完了すると、図16に示すように余りブロック情報502の内容が消去される。
よって、上記した一連の処理により、本来、不良状態にあるが故に使用することができなかった物理ID「7」が、使用可能な状態となる。
[アクセスブロック番号決定処理]
先ず、例えばホスト装置50から論理アドレス「1」が供給された場合に、図16に示す管理情報(201、202、501)に基づく、図14に示すステップS51、S52の実行によってアクセスブロック番号を決定する動作について説明する。
図16に示す変換テーブル202によれば、論理アドレス「1」に対応した物理IDは「1」である。また、物理ブロック情報201によると、物理ID「1」に属する物理ブロック番号は「2」及び「3」である。ここで、物理ブロック番号「2」に対応した管理グループは、管理グループ情報501によれば、物理ブロック番号「2」及び「5」である。よって、物理ブロック番号「2」及び「5」がアクセスブロック番号となる。
以上のように、図10に示すメモリシステム100では、夫々が複数のメモリセルを含む複数のブロックが形成されているメモリセルアレイ10Aのブロック及びk個のブロックを含む管理グループを、コントローラ11Aによって以下のように管理する。
先ず、コントローラ11Aは、夫々がk個のブロックを含む複数の管理グループの各々毎に、当該管理グループ内に不良ブロックが存在する場合には「不良」を表す状態情報を対応付けして示す物理ブロック情報201を生成する。
ここで、コントローラ11Aは、複数の管理グループのうちで「不良」を表す状態情報に対応付けされている管理グループ毎に、当該管理グループに含まれるk個のブロックのうちの不良ブロック以外のブロックを再利用ブロックとして、余りブロック情報502に設定する。そして、余りブロック情報502において管理グループ毎に設定された再利用ブロックの総数がk個となる場合にk個の再利用ブロックを新たな管理グループとして設定する。
このように、メモリシステム10Aでは、不良ブロックが含まれているが故に不良状態の扱いとなった管理グループに含まれる複数のブロックのうちで、当該不良ブロック以外の良好な状態にあるブロックを再利用して、新たな管理グループを設定するのである。
これにより、管理情報の容量増加を抑えつつも、見かけ上の不良ブロック数を大幅に減少させることが可能となる。更に、ブロックの利用効率が大幅に改善されるので、メモリ寿命が長くなり、それに伴いシステムの低コスト化を図ることが可能となる。
また、管理グループ情報501によれば、物理IDに対応した管理グループの物理ブロック番号を直接、知ることができる。よって、図1に示すメモリシステム100のように、管理グループの先頭の物理ブロック番号を用いた演算によって、その他の物理ブロック番号を求めるようにした場合に比べて、アクセス速度を高めることが可能となる。
尚、上記した実施例では、メモリセルアレイ10(10a)として、NANDフラッシュメモリを採用しているが、NOR型のフラッシュメモリ等のいわゆる再書き込み可能な不揮発性半導体メモリであれば良い。
10、10A メモリセルアレイ
11、11A コントローラ
12 RAM
100 メモリシステム
201 物理ブロック情報
202 変換テーブル
401 単独再利用ブロック情報
501 管理グループ情報
502 余りブロック情報

Claims (7)

  1. メモリシステムであって、
    夫々が複数のメモリセルを含む複数のブロックが形成されているメモリセルアレイと、
    夫々がk個(kは2以上の整数)の前記ブロックを含む複数の管理グループの各々毎に、前記管理グループ内に不良ブロックが存在する場合には不良を表す状態情報を対応付けして示す物理ブロック情報を生成するコントローラと、を有し、
    前記コントローラは、
    前記複数の管理グループのうちで前記不良を表す前記状態情報に対応付けされている前記管理グループ毎に、当該管理グループに含まれる前記k個のブロックのうちの前記不良ブロック以外のブロックを再利用ブロックとして設定し、前記管理グループ毎に設定された前記再利用ブロックの総数が前記k個となる場合に前記k個の前記再利用ブロックを新たな前記管理グループとして設定することを特徴とするメモリシステム。
  2. 前記メモリセルアレイには、
    前記物理ブロック情報と共に前記再利用ブロックを表す物理ブロック番号が格納される管理情報領域が設けられていることを特徴とする請求項1に記載のメモリシステム。
  3. 前記コントローラは、
    外部装置からの書込アクセスに応じてデータの書き込み処理を施したブロックのうちでデータの書き込みに失敗したブロックを前記不良ブロックとして検知し、
    前記不良ブロックが検知されたときに、検知された前記不良ブロックを含んでいる前記管理グループに対応付けされている前記状態情報を、不良を表す状態に更新することを特徴とする請求項2に記載のメモリシステム。
  4. 前記コントローラは、
    前記新たな前記管理グループに含まれる前記k個の再利用ブロックのうちから前記不良ブロックが検知された場合には、前記新たな管理グループを不良状態に設定すると共に、前記新たな管理グループに含まれる前記k個の再利用ブロックのうちから前記不良ブロックを除くブロックの物理ブロック番号を前記管理情報領域に追記することを特徴とする請求項3に記載のメモリシステム。
  5. 前記メモリセルアレイには、
    前記複数のブロックの各々に対応付けして、前記管理グループに含まれるブロック各々の前記物理ブロック番号を表す管理グループ情報が格納されていることを特徴とする請求項1〜3のいずれか1に記載のメモリシステム。
  6. 前記メモリセルアレイは、NAND型フラッシュメモリからなり、
    前記管理グループ情報は、前記複数のブロック各々の少なくとも1つのページの冗長領域に格納されることを特徴とする請求項5に記載のメモリシステム。
  7. 夫々が複数のメモリセルを含む複数のブロックが形成されているメモリセルアレイを有するメモリの管理方法であって、
    夫々がk個(kは2以上の整数)の前記ブロックを含む複数の管理グループの各々毎に、前記管理グループ内に不良ブロックが存在する場合には不良を表す状態情報を対応付けして示す物理ブロック情報を生成し、
    前記複数の管理グループのうちで前記不良を表す前記状態情報に対応付けされている前記管理グループ毎に、当該管理グループに含まれる前記k個のブロックのうちの前記不良ブロック以外のブロックを再利用ブロックとして設定し、前記管理グループ毎に設定された前記再利用ブロックの総数が前記k個となる場合に前記k個の前記再利用ブロックを新たな前記管理グループとして設定することを特徴とするメモリの管理方法。
JP2017064935A 2017-03-29 2017-03-29 メモリシステム及びメモリの管理方法 Active JP6912240B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017064935A JP6912240B2 (ja) 2017-03-29 2017-03-29 メモリシステム及びメモリの管理方法
US15/937,816 US20180285022A1 (en) 2017-03-29 2018-03-27 Memory system, memory management method and semiconductor device
CN201810269584.0A CN108694130B (zh) 2017-03-29 2018-03-29 存储器系统及存储器的管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017064935A JP6912240B2 (ja) 2017-03-29 2017-03-29 メモリシステム及びメモリの管理方法

Publications (2)

Publication Number Publication Date
JP2018169688A true JP2018169688A (ja) 2018-11-01
JP6912240B2 JP6912240B2 (ja) 2021-08-04

Family

ID=63672498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017064935A Active JP6912240B2 (ja) 2017-03-29 2017-03-29 メモリシステム及びメモリの管理方法

Country Status (3)

Country Link
US (1) US20180285022A1 (ja)
JP (1) JP6912240B2 (ja)
CN (1) CN108694130B (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018373A (ja) * 2004-06-30 2006-01-19 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20080209107A1 (en) * 2007-02-26 2008-08-28 Micron Technology, Inc. Apparatus, method, and system of NAND defect management
JP2009245163A (ja) * 2008-03-31 2009-10-22 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255733C (zh) * 2001-07-25 2006-05-10 索尼株式会社 非易失性存储器和非易失性存储器的数据改写方法
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
ITVA20050061A1 (it) * 2005-11-08 2007-05-09 St Microelectronics Srl Metodo di gestione di un dispositivo di memoria non volatile e relativa memoria
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
KR101510120B1 (ko) * 2008-11-21 2015-04-10 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
US8832507B2 (en) * 2010-08-23 2014-09-09 Apple Inc. Systems and methods for generating dynamic super blocks
TWI425357B (zh) * 2010-09-27 2014-02-01 Silicon Motion Inc 用來進行區塊管理之方法以及記憶裝置及控制器
US10289480B2 (en) * 2015-03-12 2019-05-14 Toshiba Memory Corporation Memory system
KR102645572B1 (ko) * 2016-11-29 2024-03-11 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018373A (ja) * 2004-06-30 2006-01-19 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20080209107A1 (en) * 2007-02-26 2008-08-28 Micron Technology, Inc. Apparatus, method, and system of NAND defect management
JP2009245163A (ja) * 2008-03-31 2009-10-22 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Also Published As

Publication number Publication date
CN108694130A (zh) 2018-10-23
JP6912240B2 (ja) 2021-08-04
US20180285022A1 (en) 2018-10-04
CN108694130B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9817588B2 (en) Memory device and operating method of same
JP4948793B2 (ja) バッドブロック管理部を含むフラッシュメモリシステム
JP4666080B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US7240178B2 (en) Non-volatile memory and non-volatile memory data rewriting method
JP4666081B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JPWO2009004674A1 (ja) 記憶装置、ディスク装置、書込み判定方法、制御装置
US8316208B2 (en) Memory controller, flash memory system with memory controller, and method of controlling flash memory
JP2007094921A (ja) メモリカードとその制御方法
JP5858081B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP2009086738A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP6912240B2 (ja) メモリシステム及びメモリの管理方法
JP2012174106A (ja) フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置
JP4710918B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4952742B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2013250603A (ja) メモリ管理装置および方法、並びにプログラム
WO2016056290A1 (ja) メモリコントローラ、メモリシステム、記憶装置、情報処理システムおよび記憶制御方法
JP4952741B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP3646679B2 (ja) 不揮発性メモリのデータ書き換え方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP2009181254A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR100892608B1 (ko) 플래시 메모리의 오류블록 관리 방법
JP4760826B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP7030636B2 (ja) メモリシステムおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210708

R150 Certificate of patent or registration of utility model

Ref document number: 6912240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150