JPWO2011068109A1 - 記憶装置、およびメモリコントローラ - Google Patents
記憶装置、およびメモリコントローラ Download PDFInfo
- Publication number
- JPWO2011068109A1 JPWO2011068109A1 JP2011544261A JP2011544261A JPWO2011068109A1 JP WO2011068109 A1 JPWO2011068109 A1 JP WO2011068109A1 JP 2011544261 A JP2011544261 A JP 2011544261A JP 2011544261 A JP2011544261 A JP 2011544261A JP WO2011068109 A1 JPWO2011068109 A1 JP WO2011068109A1
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- scratch
- memory
- physical
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 80
- 239000004065 semiconductor Substances 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 description 26
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
図1は本発明を実現するためのハードウェア構成例を表す図である。
記憶装置6は、メモリコントローラ1と半導体メモリ2から構成される。メモリコントローラ1は、ホストI/F(インターフェース)制御部11と半導体メモリI/F制御部12とマイクロプロセッサ13とメモリI/F制御部14とメモリ15から構成される。メモリ15は、図1で示したようにメモリコントローラと一体である必要は無く、メモリコントローラと接続されたメモリチップであってもよい。また、メモリ15は不揮発性半導体メモリであっても揮発性半導体メモリであっても良い。
メモリ15内の論理/物理変換テーブル151は、ホスト計算機3からのアクセスによって示される論理アドレスと半導体メモリ2上の物理アドレスの対応付けを行うものである。
図3は、本発明の実施の形態における特徴であるメモリ制御方法を実現するためのメモリ使用状態を表した図であり、メモリコントローラ1の制御により半導体メモリ2上の論理的記憶領域がどのように扱われるかを示している。
図4のフローチャートは、マイクロプロセッサ13の半導体メモリ2へのデータ書き込み処理のフローチャートである。以下にその処理の流れを説明する。
次に、図5のフローチャートを用いて、ブロック消去処理の流れを説明する。
マイクロプロセッサ13は、消去済みブロックの数が一定数以下になった際に、ブロック消去処理を開始する(ステップS731“Yes”)。
2 半導体メモリ
3 ホスト計算機
4 データパス
5 メモリバス
6 記憶装置
11 ホストI/F制御部
12 半導体メモリI/F制御部
13 マイクロプロセッサ
14 メモリI/F制御部
15 メモリ
21 ブロック
22 スクラッチブロック
23 データブロック
24 消去済みブロック
151 論理/物理変換テーブル
152 スクラッチブロック管理テーブル
153 データブロック管理テーブル
154 消去済みブロック管理テーブル
155 物理ブロック管理テーブル
211 ページ
221 スクラッチブロック内部構造
1511 論理アドレス
1512 物理アドレス
1521 スクラッチブロック番号
1522、1532 フラグ
1523、1533、1551 物理ブロック番号
1531 データブロック番号
1552 消去回数
1553 有効データページ数
1554 有効データページフラグ
1555 書き込み可能ページ番号
Claims (8)
- 所定の書き込み単位と前記所定の書き込み単位よりも大きいブロック消去単位を持つ不揮発性半導体メモリと、
データの読み出しおよび書き込みができるメモリと、
外部システムからの命令によって前記不揮発性半導体メモリへの読み出しおよび書き込み処理を行うメモリコントローラと、
を有する記憶装置であって、
前記不揮発性半導体メモリの記憶領域は、
1つ以上の物理ブロックからなるスクラッチブロックと、
1つ以上の物理ブロックからなるデータブロックと、
1つ以上の物理ブロックからなる消去済みブロックと、から構成され、
前記メモリは、
前記スクラッチブロック、データブロックおよび消去済みブロックを管理するためのテーブルを有し、
前記記憶装置は、
前記外部システムからのデータ書き込みを前記スクラッチブロックに対して行い、
前記スクラッチブロック内の空きページが所定の数よりも少なくなった場合あるいは無くなった場合には、そのスクラッチブロックを前記データブロックの1つとして扱い、
新しいスクラッチブロックとして前記消去済みブロックのうちいずれか1つを割り当て、
前記消去済みブロックが不足した場合には、前記データブロックの中から有効データページが少ないブロックを選択して有効なデータを前記スクラッチブロックにコピーした後、消去することを特徴とする記憶装置。 - 前記記憶装置は、
前記データブロックと前記スクラッチブロックを一定量に分割した論理空間ごとに管理することを特徴とする請求の範囲第1項に記載の記憶装置。 - 前記記憶装置は、
前記書き込み単位ごとに論理アドレス空間を分割することで一意に定められる論理アドレスと前記不揮発性半導体メモリの物理アドレスを対応させるテーブルを前記メモリ内に持ち、
前記メモリコントローラが前記外部システムからのデータ書き込み命令に応じて前記テーブルの書き換えを行うことを特徴とする請求の範囲第1項に記載の記憶装置。 - 前記記憶装置は、
前記物理ブロックの各ブロックにおける消去回数と有効なデータページを記憶するテーブルを前記メモリ内に持つことを特徴とする請求の範囲第1項に記載の記憶装置。 - 外部システムからの命令によって不揮発性半導体メモリへの読み出しおよび書き込み処理、ならびにメモリへの読み出しおよび書き込み処理を行うメモリコントローラであって、
前記不揮発性半導体メモリの記憶領域を、1つ以上の物理ブロックからなるスクラッチブロックと、1つ以上の物理ブロックからなるデータブロックと、1つ以上の物理ブロックからなる消去済みブロックと、から構成されるように扱い、
前記データブロックを管理するためのテーブルを前記メモリ内に有し、
前記外部システムからのデータ書き込みを前記スクラッチブロックに対して行い、
前記スクラッチブロック内の空きページが所定の数よりも少なくなった場合あるいは無くなった場合には、そのスクラッチブロックを前記データブロックの1つとして扱い、
新しいスクラッチブロックとして前記消去済みブロックのうちいずれか1つを割り当て、
前記消去済みブロックが不足した場合には、前記データブロックの中から有効データページの少ないブロックを選択して、有効なデータを前記スクラッチブロックにコピーした後、消去することを特徴とするメモリコントローラ。 - 前記データブロックと前記スクラッチブロックを一定量に分割した論理空間ごとに管理することを特徴とする請求の範囲第5項に記載のメモリコントローラ。
- 前記書き込み単位ごとに論理アドレス空間を分割することで一意に定められる論理アドレスと前記不揮発性半導体メモリの物理アドレスを対応させるテーブルを前記メモリ内に持ち、
前記外部システムからのデータ書き込み命令に応じて前記テーブルの書き換えを行うことを特徴とする請求の範囲第5項に記載のメモリコントローラ。 - 前記メモリ内に前記物理ブロックの各ブロックにおける消去回数と有効なデータページを記憶するテーブルを持つことを特徴とする請求の範囲第5項に記載のメモリコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011544261A JP5480913B2 (ja) | 2009-12-03 | 2010-12-01 | 記憶装置、およびメモリコントローラ |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009275048 | 2009-12-03 | ||
JP2009275048 | 2009-12-03 | ||
PCT/JP2010/071429 WO2011068109A1 (ja) | 2009-12-03 | 2010-12-01 | 記憶装置、およびメモリコントローラ |
JP2011544261A JP5480913B2 (ja) | 2009-12-03 | 2010-12-01 | 記憶装置、およびメモリコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011068109A1 true JPWO2011068109A1 (ja) | 2013-04-18 |
JP5480913B2 JP5480913B2 (ja) | 2014-04-23 |
Family
ID=44114955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011544261A Expired - Fee Related JP5480913B2 (ja) | 2009-12-03 | 2010-12-01 | 記憶装置、およびメモリコントローラ |
Country Status (5)
Country | Link |
---|---|
US (1) | US8949515B2 (ja) |
JP (1) | JP5480913B2 (ja) |
DE (1) | DE112010004667T5 (ja) |
GB (1) | GB2488480B (ja) |
WO (1) | WO2011068109A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5831298B2 (ja) * | 2012-03-06 | 2015-12-09 | 富士通株式会社 | プログラム、情報処理装置およびインデックス生成方法 |
JP2013222236A (ja) | 2012-04-13 | 2013-10-28 | Hitachi Ltd | メモリの管理方法、記憶装置およびそれを搭載した計算機 |
JP6012432B2 (ja) * | 2012-11-27 | 2016-10-25 | 株式会社メガチップス | 半導体記憶装置 |
US11182284B2 (en) * | 2013-11-07 | 2021-11-23 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US9875064B2 (en) * | 2015-03-11 | 2018-01-23 | Toshiba Memory Corporation | Storage system architecture for improved data management |
US9959175B1 (en) * | 2015-06-30 | 2018-05-01 | Spanning Cloud Apps, LLC | Restoring deleted objects in a web application |
JP2017097404A (ja) * | 2015-11-18 | 2017-06-01 | 株式会社デンソー | マイクロコンピュータ |
KR20180009217A (ko) * | 2016-07-18 | 2018-01-26 | 삼성전자주식회사 | 데이터 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
JP6524039B2 (ja) * | 2016-09-23 | 2019-06-05 | 東芝メモリ株式会社 | メモリシステム及び制御方法 |
JP6618941B2 (ja) * | 2017-03-03 | 2019-12-11 | 株式会社東芝 | 管理装置、情報処理装置および管理方法 |
KR102645142B1 (ko) * | 2018-10-25 | 2024-03-07 | 삼성전자주식회사 | 예측된 유효 페이지들을 이용하여 가비지 콜렉션을 수행하는 스토리지 장치들, 방법들 및 불휘발성 메모리 장치들 |
JP7081443B2 (ja) * | 2018-10-31 | 2022-06-07 | オムロン株式会社 | 信号処理装置、および情報書換装置 |
JP7238647B2 (ja) * | 2019-07-08 | 2023-03-14 | オムロン株式会社 | 信号処理装置 |
CN111966302A (zh) * | 2020-08-26 | 2020-11-20 | 南京扬贺扬微电子科技有限公司 | 一种基于逻辑物理映射表的SPI Nand数据写入方法 |
CN112908390B (zh) * | 2021-02-02 | 2023-07-28 | 深圳市显控科技股份有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2582487B2 (ja) | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
JP3904182B2 (ja) | 2000-11-21 | 2007-04-11 | シャープ株式会社 | データ管理システムおよびそれを用いたデータ管理方法 |
US20060143365A1 (en) | 2002-06-19 | 2006-06-29 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
JP2004078902A (ja) * | 2002-06-19 | 2004-03-11 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
US7315916B2 (en) | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
EP1912123A4 (en) | 2005-07-29 | 2008-10-29 | Matsushita Electric Ind Co Ltd | MEMORY CONTROL UNIT, NON-VOLATILE MEMORY, NON-VOLATILE MEMORY SYSTEM, AND MEMORY ADDRESS MANAGEMENT METHOD |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
JP5076411B2 (ja) | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
US7451265B2 (en) * | 2006-08-04 | 2008-11-11 | Sandisk Corporation | Non-volatile memory storage systems for phased garbage collection |
KR100843135B1 (ko) * | 2006-11-20 | 2008-07-02 | 삼성전자주식회사 | 비휘발성 메모리 관리 방법 및 장치 |
JP2008146254A (ja) | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
JP2008217208A (ja) | 2007-03-01 | 2008-09-18 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法 |
US8380944B2 (en) * | 2007-03-01 | 2013-02-19 | Douglas Dumitru | Fast block device and methodology |
JP4829202B2 (ja) | 2007-11-02 | 2011-12-07 | 株式会社日立製作所 | 記憶装置及びメモリ制御方法 |
US20090271562A1 (en) | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
-
2010
- 2010-12-01 WO PCT/JP2010/071429 patent/WO2011068109A1/ja active Application Filing
- 2010-12-01 US US13/512,958 patent/US8949515B2/en not_active Expired - Fee Related
- 2010-12-01 JP JP2011544261A patent/JP5480913B2/ja not_active Expired - Fee Related
- 2010-12-01 GB GB1209881.0A patent/GB2488480B/en not_active Expired - Fee Related
- 2010-12-01 DE DE112010004667T patent/DE112010004667T5/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
DE112010004667T5 (de) | 2013-01-17 |
GB201209881D0 (en) | 2012-07-18 |
JP5480913B2 (ja) | 2014-04-23 |
GB2488480A (en) | 2012-08-29 |
WO2011068109A1 (ja) | 2011-06-09 |
GB2488480B (en) | 2017-07-19 |
US8949515B2 (en) | 2015-02-03 |
US20120246399A1 (en) | 2012-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5480913B2 (ja) | 記憶装置、およびメモリコントローラ | |
US8316176B1 (en) | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification | |
JP4004468B2 (ja) | 大きなページをサポートするようにさせるための方法およびシステム | |
US7487303B2 (en) | Flash memory device and associated data merge method | |
KR100684942B1 (ko) | 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템 | |
JP5612514B2 (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
JP5570406B2 (ja) | メモリコントローラ、及びデータ記録装置 | |
TW201727472A (zh) | 資料儲存方法及其系統 | |
JP2018160189A (ja) | メモリシステム | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
US20100180072A1 (en) | Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program | |
JP4561246B2 (ja) | メモリ装置 | |
US20090210612A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
JP4737223B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
JP2008197981A (ja) | 半導体記憶装置 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4558054B2 (ja) | メモリシステム | |
US11080203B2 (en) | Data storage device and control method for non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130716 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130917 |
|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5480913 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |