JP4171749B2 - メモリコントローラおよびフラッシュメモリシステム - Google Patents
メモリコントローラおよびフラッシュメモリシステム Download PDFInfo
- Publication number
- JP4171749B2 JP4171749B2 JP2006113395A JP2006113395A JP4171749B2 JP 4171749 B2 JP4171749 B2 JP 4171749B2 JP 2006113395 A JP2006113395 A JP 2006113395A JP 2006113395 A JP2006113395 A JP 2006113395A JP 4171749 B2 JP4171749 B2 JP 4171749B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- plane
- physical
- pair
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
図7に示した例では、1個の論理ブロックに含まれるセクタ数は32セクタとしているので、LZN#0の論理ゾーンにLBA#0〜#15999のセクタが、LZN#1の論理ゾーンにLBA#16000〜#31999のセクタが、LZN#2の論理ゾーンにLBA#32000〜#47999のセクタが、LZN#3の論理ゾーンにLBA#48000〜#63999のセクタが、それぞれ割り当てられている。
また、図9(b)に示すように、各ページは、ユーザ領域と冗長領域とから構成される。ユーザ領域はホストシステムから与えられるデータを格納するための4セクタ(512バイト×4=2048バイト)の領域であり、冗長領域はユーザ領域のデータに対応する誤り訂正符号などの付加情報を格納するための64バイトの領域である。
この一対の物理ブロックに1個の論理ブロックを割り当てた場合、論理ブロックに含まれる512セクタのデータ(セクタ#0〜#511)が、図10に示したような順序で一対の物理ブロック内のページに書き込まれる。つまり、セクタ#0〜#3はプレーン#0のページ番号#0に、セクタ#4〜#7はプレーン#1のページ番号#0に、セクタ#8〜#11はプレーン#0のページ番号#1に、セクタ#12〜#15はプレーン#1のページ番号#1にという順序で書き込まれ、セクタ#504〜#507はプレーン#0のページ番号#63に、セクタ#508〜#511はプレーン#1のページ番号#63に書き込まれる。
複数個の物理ページを含む物理ブロック単位で消去が行われるフラッシュメモリであって、前記フラッシュメモリ内の物理ブロックが第1のプレーン又は第2のプレーンに属し、前記第1のプレーンに属する物理ブロックと前記第2のプレーンに属する物理ブロックに対して並行してデータを書き込むことができる2プレーン書き込み機能を備えたフラッシュメモリに対するアクセスを、ホストシステムから与えられる指示に従って制御するメモリコントローラであって、
前記2プレーン書き込みが可能な物理ブロック同士を組み合わせた一対の物理ブロック単位で空き領域を管理し、前記一対の物理ブロックを対象として前記2プレーン書き込みが可能な一対の空きブロックを検出する第1の検索手段と、
前記一対の物理ブロックのうちのいずれか一方が不良ブロックになったときに、前記一対の物理ブロックのうちの他方の良品ブロックの空き領域を管理し、前記他方の良品ブロックを検索対象として前記2プレーン書き込みを行うことができない空きブロックを検出する第2の検索手段と、
前記フラッシュメモリに対して、前記第1のプレーンに属する物理ブロックと前記第2のプレーンに属する物理ブロックのうちのいずれか一方の物理ブロックに対する前記2プレーン書き込み機能を用いないデータの書き込み、又は前記一対の物理ブロックに対する前記2プレーン書き込み機能を用いたデータの書き込みを指示する書き込み指示手段と、
前記ホストシステム側で管理されているセクタ単位の領域を複数個集めた領域を論理ブロックとして管理し、前記一対の物理ブロック単位又は前記他方の良品ブロックを任意で組み合わせた2個の物理ブロック単位で、前記フラッシュメモリ内の物理ブロックに対して前記論理ブロックを割り当てる記憶領域管理手段とを備え、
前記第1の検索手段により前記一対の空きブロックを検出することができた場合、前記フラッシュメモリは、前記書き込み指示手段から与えられる書き込み指示に基づいて、前記第1の検索手段により検出された前記一対の空きブロックに対して前記2プレーン書き込み機能を用いたデータの書き込みを行い、前記第1の検索手段により前記一対の空きブロックを検出することができなかったときに前記第2の検索手段により空きブロックを検出することができた場合、前記フラッシュメモリは、前記書き込み指示手段から与えられる書き込み指示に基づいて、前記第2の検索手段により検出された空きブロックに対して前記2プレーン書き込み機能を用いないデータの書き込みを行う
ことを特徴とする。
上記のメモリコントローラと、上述の2プレーン書き込み機能を備えたフラッシュメモリと、から構成されることを特徴とする。
一対の空きブロックが検出されなかった場合にだけ、片割れ良品ブロック(一対の物理ブロックの一方が不良ブロックになったときのもう一方の良品ブロック)の空きを検索する。このような空きブロックの検索を行うことにより、一対の物理ブロックの空きがあるときには、2プレーン書き込みが行われ、一対の物理ブロックの空きがないときには、適宜組み合わせた片割れ良品ブロックに対して通常(プレーン毎)の書き込みが行われるため、2プレーン書き込み機能を効率的に利用することができる。
冗長領域26は、ECC(Error Correcting Code)、論理アドレス情報、ブロックステータス(フラグ)等の付加データを記憶するための領域である。
2 フラッシュメモリ
3 コントローラ
4 ホストシステム
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 ROM
13 外部バス
14 内部バス
25 ユーザ領域
26 冗長領域
100 空きブロック検索テーブル
200 片割れ良品ブロックテーブル
300 ダミーペアテーブル
400 アドレス変換テーブル
Claims (3)
- 複数個の物理ページを含む物理ブロック単位で消去が行われるフラッシュメモリであって、前記フラッシュメモリ内の物理ブロックが第1のプレーン又は第2のプレーンに属し、前記第1のプレーンに属する物理ブロックと前記第2のプレーンに属する物理ブロックに対して並行してデータを書き込むことができる2プレーン書き込み機能を備えたフラッシュメモリに対するアクセスを、ホストシステムから与えられる指示に従って制御するメモリコントローラであって、
前記2プレーン書き込みが可能な物理ブロック同士を組み合わせた一対の物理ブロック単位で空き領域を管理し、前記一対の物理ブロックを対象として前記2プレーン書き込みが可能な一対の空きブロックを検出する第1の検索手段と、
前記一対の物理ブロックのうちのいずれか一方が不良ブロックになったときに、前記一対の物理ブロックのうちの他方の良品ブロックの空き領域を管理し、前記他方の良品ブロックを検索対象として前記2プレーン書き込みを行うことができない空きブロックを検出する第2の検索手段と、
前記フラッシュメモリに対して、前記第1のプレーンに属する物理ブロックと前記第2のプレーンに属する物理ブロックのうちのいずれか一方の物理ブロックに対する前記2プレーン書き込み機能を用いないデータの書き込み、又は前記一対の物理ブロックに対する前記2プレーン書き込み機能を用いたデータの書き込みを指示する書き込み指示手段と、
前記ホストシステム側で管理されているセクタ単位の領域を複数個集めた領域を論理ブロックとして管理し、前記一対の物理ブロック単位又は前記他方の良品ブロックを任意で組み合わせた2個の物理ブロック単位で、前記フラッシュメモリ内の物理ブロックに対して前記論理ブロックを割り当てる記憶領域管理手段とを備え、
前記第1の検索手段により前記一対の空きブロックを検出することができた場合、前記フラッシュメモリは、前記書き込み指示手段から与えられる書き込み指示に基づいて、前記第1の検索手段により検出された前記一対の空きブロックに対して前記2プレーン書き込み機能を用いたデータの書き込みを行い、前記第1の検索手段により前記一対の空きブロックを検出することができなかったときに前記第2の検索手段により空きブロックを検出することができた場合、前記フラッシュメモリは、前記書き込み指示手段から与えられる書き込み指示に基づいて、前記第2の検索手段により検出された空きブロックに対して前記2プレーン書き込み機能を用いないデータの書き込みを行うことを特徴とするメモリコントローラ。 - 同一の前記論理ブロックが割り当てられている前記他方の良品ブロックの組み合わせを管理する組み合わせ管理手段を備えることを特徴とする請求項1に記載のメモリコントローラ。
- 請求項1または2に記載のメモリコントローラと、
前記2プレーン書き込み機能を備えたフラッシュメモリと、
から構成されることを特徴とするフラッシュメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006113395A JP4171749B2 (ja) | 2006-04-17 | 2006-04-17 | メモリコントローラおよびフラッシュメモリシステム |
US11/787,734 US7870328B2 (en) | 2006-04-17 | 2007-04-17 | Memory controller and flash memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006113395A JP4171749B2 (ja) | 2006-04-17 | 2006-04-17 | メモリコントローラおよびフラッシュメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007286892A JP2007286892A (ja) | 2007-11-01 |
JP4171749B2 true JP4171749B2 (ja) | 2008-10-29 |
Family
ID=38606175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006113395A Expired - Fee Related JP4171749B2 (ja) | 2006-04-17 | 2006-04-17 | メモリコントローラおよびフラッシュメモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7870328B2 (ja) |
JP (1) | JP4171749B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003940A (zh) * | 2014-12-04 | 2017-08-01 | 高通股份有限公司 | 用于在非统一存储器架构中提供改进的延迟的系统和方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090013148A1 (en) * | 2007-07-03 | 2009-01-08 | Micron Technology, Inc. | Block addressing for parallel memory arrays |
KR100923832B1 (ko) * | 2007-12-28 | 2009-10-27 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 불량 여부 테스트 방법, 블록 관리방법, 소거 방법 및 프로그램 방법 |
JP4702387B2 (ja) * | 2008-03-31 | 2011-06-15 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4840415B2 (ja) * | 2008-07-22 | 2011-12-21 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
KR101103061B1 (ko) * | 2008-07-28 | 2012-01-06 | 주식회사 팍스디스크 | 반도체 스토리지 시스템 및 그 제어 방법 |
KR20100012938A (ko) * | 2008-07-30 | 2010-02-09 | 주식회사 하이닉스반도체 | 웨어 레벨링을 수행하는 반도체 스토리지 시스템 및 그제어 방법 |
KR101083673B1 (ko) * | 2008-10-01 | 2011-11-16 | 주식회사 하이닉스반도체 | 반도체 스토리지 시스템 및 그 제어 방법 |
JP4762323B2 (ja) * | 2009-03-03 | 2011-08-31 | 富士通株式会社 | アクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法 |
US8095765B2 (en) * | 2009-03-04 | 2012-01-10 | Micron Technology, Inc. | Memory block management |
JP4987997B2 (ja) * | 2010-02-26 | 2012-08-01 | 株式会社東芝 | メモリシステム |
JP2012128816A (ja) * | 2010-12-17 | 2012-07-05 | Toshiba Corp | メモリシステム |
US10228875B2 (en) | 2013-12-24 | 2019-03-12 | Feitian Technologies Co., Ltd. | Data writing and reading methods for flash |
US20170123994A1 (en) * | 2015-10-28 | 2017-05-04 | Sandisk Technologies Inc. | Handling Of Plane Failure In Non-Volatile Storage |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5890192A (en) * | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US6570785B1 (en) * | 2000-10-31 | 2003-05-27 | Sandisk Corporation | Method of reducing disturbs in non-volatile memory |
JP4059473B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
JP4173410B2 (ja) | 2003-06-26 | 2008-10-29 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム |
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
JP2006040484A (ja) | 2004-07-29 | 2006-02-09 | Tdk Corp | フラッシュメモリモジュール |
US7627712B2 (en) * | 2005-03-22 | 2009-12-01 | Sigmatel, Inc. | Method and system for managing multi-plane memory devices |
-
2006
- 2006-04-17 JP JP2006113395A patent/JP4171749B2/ja not_active Expired - Fee Related
-
2007
- 2007-04-17 US US11/787,734 patent/US7870328B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003940A (zh) * | 2014-12-04 | 2017-08-01 | 高通股份有限公司 | 用于在非统一存储器架构中提供改进的延迟的系统和方法 |
CN107003940B (zh) * | 2014-12-04 | 2020-04-24 | 高通股份有限公司 | 用于在非统一存储器架构中提供改进的延迟的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070245070A1 (en) | 2007-10-18 |
JP2007286892A (ja) | 2007-11-01 |
US7870328B2 (en) | 2011-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4171749B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4235646B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4710753B2 (ja) | メモリコントローラ及びメモリコントローラを用いたフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4636005B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4241741B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4153535B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4434171B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4661566B2 (ja) | アクセスコントローラ、フラッシュメモリシステム及びアクセス制御方法 | |
JP4609406B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4254933B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4213166B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4636046B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4273106B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4569554B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4227989B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4539621B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4273109B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2006099696A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006099594A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080421 |
|
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: 20080805 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080811 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4171749 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |