JP5480913B2 - 記憶装置、およびメモリコントローラ - Google Patents
記憶装置、およびメモリコントローラ Download PDFInfo
- Publication number
- JP5480913B2 JP5480913B2 JP2011544261A JP2011544261A JP5480913B2 JP 5480913 B2 JP5480913 B2 JP 5480913B2 JP 2011544261 A JP2011544261 A JP 2011544261A JP 2011544261 A JP2011544261 A JP 2011544261A JP 5480913 B2 JP5480913 B2 JP 5480913B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- physical
- scratch
- management table
- 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
- 230000015654 memory Effects 0.000 title claims description 76
- 239000004065 semiconductor Substances 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 4
- 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
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 (6)
- 所定の書き込み単位と前記所定の書き込み単位よりも大きいブロック消去単位を持つ不揮発性半導体メモリと、
データの読み出しおよび書き込みができるメモリと、
外部システムからの命令によって前記不揮発性半導体メモリへの読み出しおよび書き込み処理を行うメモリコントローラと、
を有する記憶装置であって、
前記不揮発性半導体メモリの記憶領域は、
1つ以上の物理ブロックからなるスクラッチブロックと、
1つ以上の物理ブロックからなるデータブロックと、
1つ以上の物理ブロックからなる消去済みブロックと、から構成され、
前記メモリは、
前記スクラッチブロックを管理するためのスクラッチブロック管理テーブルと、
前記データブロックを管理するためのデータブロック管理テーブルと、
前記消去済みブロックを管理するための消去済みブロック管理テーブルと、
物理ブロック管理テーブルと、
を有し、
前記データブロック管理テーブルは、
前記物理ブロックを特定する物理ブロック番号に関連付けて、当該物理ブロックが前記データブロックとして有効であるか否かを示すフラグを記憶しており、
前記物理ブロック管理テーブルは、
前記物理ブロックに関連付けて、有効なデータのページ数を記憶しており、
前記記憶装置は、
前記外部システムからのデータ書き込みを前記スクラッチブロックに対して行い、
前記スクラッチブロック内の空きページが所定の数よりも少なくなった場合あるいは無くなった場合には、そのスクラッチブロックを前記データブロックの1つとして扱い、
新しいスクラッチブロックとして前記消去済みブロックのうちいずれか1つを割り当て、
前記消去済みブロックが不足した場合には、
前記データブロック管理テーブルを参照し、前記データブロックとして登録されている物理ブロックの前記物理ブロック番号を取得し、
前記物理ブロック管理テーブルを参照し、前記取得した物理ブロック番号に対応する前記ページ数を取得し、
前記データブロックの中から、前記取得したページ数が少ない物理ブロックを選択して有効なデータを前記スクラッチブロックにコピーした後、消去することを特徴とする記憶装置。 - 前記記憶装置は、
前記データブロックと前記スクラッチブロックを一定量に分割した論理空間ごとに管理することを特徴とする請求の範囲第1項に記載の記憶装置。 - 前記記憶装置は、
前記書き込み単位ごとに論理アドレス空間を分割することで一意に定められる論理アドレスと前記不揮発性半導体メモリの物理アドレスを対応させるテーブルを前記メモリ内に持ち、
前記メモリコントローラが前記外部システムからのデータ書き込み命令に応じて前記テーブルの書き換えを行うことを特徴とする請求の範囲第1項に記載の記憶装置。 - 外部システムからの命令によって不揮発性半導体メモリへの読み出しおよび書き込み処理、ならびにメモリへの読み出しおよび書き込み処理を行うメモリコントローラであって、
前記メモリコントローラは、
前記不揮発性半導体メモリの記憶領域を、1つ以上の物理ブロックからなるスクラッチブロックと、1つ以上の物理ブロックからなるデータブロックと、1つ以上の物理ブロックからなる消去済みブロックと、から構成されるように扱い、
前記データブロックを管理するためのデータブロック管理テーブルと、物理ブロック管理テーブルと、を前記メモリ内に有し、
前記データブロック管理テーブルは、
前記物理ブロックを特定する物理ブロック番号に関連付けて、当該物理ブロックが前記データブロックとして有効であるか否かを示すフラグを記憶しており、
前記物理ブロック管理テーブルは、
前記物理ブロックに関連付けて、有効なデータのページ数を記憶しており、
前記メモリコントローラは、
前記外部システムからのデータ書き込みを前記スクラッチブロックに対して行い、
前記スクラッチブロック内の空きページが所定の数よりも少なくなった場合あるいは無くなった場合には、そのスクラッチブロックを前記データブロックの1つとして扱い、
新しいスクラッチブロックとして前記消去済みブロックのうちいずれか1つを割り当て、
前記消去済みブロックが不足した場合には、
前記データブロック管理テーブルを参照し、前記データブロックとして登録されている物理ブロックの前記物理ブロック番号を取得し、
前記物理ブロック管理テーブルを参照し、前記取得した物理ブロック番号に対応する前記ページ数を取得し、
前記データブロックの中から、前記取得したページ数が少ない物理ブロックを選択して、有効なデータを前記スクラッチブロックにコピーした後、消去することを特徴とするメモリコントローラ。 - 前記データブロックと前記スクラッチブロックを一定量に分割した論理空間ごとに管理することを特徴とする請求の範囲第4項に記載のメモリコントローラ。
- 前記書き込み単位ごとに論理アドレス空間を分割することで一意に定められる論理アドレスと前記不揮発性半導体メモリの物理アドレスを対応させるテーブルを前記メモリ内に持ち、
前記外部システムからのデータ書き込み命令に応じて前記テーブルの書き換えを行うことを特徴とする請求の範囲第4項に記載のメモリコントローラ。
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 | ||
JP2011544261A JP5480913B2 (ja) | 2009-12-03 | 2010-12-01 | 記憶装置、およびメモリコントローラ |
PCT/JP2010/071429 WO2011068109A1 (ja) | 2009-12-03 | 2010-12-01 | 記憶装置、およびメモリコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011068109A1 JPWO2011068109A1 (ja) | 2013-04-18 |
JP5480913B2 true 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 | 深圳市显控科技股份有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JP2002513484A (ja) * | 1996-11-25 | 2002-05-08 | マクロニクス インターナショナル カンパニー リミテッド | フラッシュメモリ大容量記憶システム |
JP2004078902A (ja) * | 2002-06-19 | 2004-03-11 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
WO2007013372A1 (ja) * | 2005-07-29 | 2007-02-01 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
JP2007334852A (ja) * | 2005-11-30 | 2007-12-27 | Sony Corp | 記憶装置、コンピュータシステム、および記憶装置のアクセス方法 |
JP2008130088A (ja) * | 2006-11-20 | 2008-06-05 | Samsung Electronics Co Ltd | 不揮発性メモリ管理方法及び装置 |
JP2008146254A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
JP2008217208A (ja) * | 2007-03-01 | 2008-09-18 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3904182B2 (ja) | 2000-11-21 | 2007-04-11 | シャープ株式会社 | データ管理システムおよびそれを用いたデータ管理方法 |
WO2004001605A1 (en) | 2002-06-19 | 2003-12-31 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
US7315916B2 (en) | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7451265B2 (en) * | 2006-08-04 | 2008-11-11 | Sandisk Corporation | Non-volatile memory storage systems for phased garbage collection |
WO2008106686A1 (en) * | 2007-03-01 | 2008-09-04 | 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 JP JP2011544261A patent/JP5480913B2/ja not_active Expired - Fee Related
- 2010-12-01 WO PCT/JP2010/071429 patent/WO2011068109A1/ja active Application Filing
- 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
- 2010-12-01 US US13/512,958 patent/US8949515B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JP2002513484A (ja) * | 1996-11-25 | 2002-05-08 | マクロニクス インターナショナル カンパニー リミテッド | フラッシュメモリ大容量記憶システム |
JP2004078902A (ja) * | 2002-06-19 | 2004-03-11 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
WO2007013372A1 (ja) * | 2005-07-29 | 2007-02-01 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
JP2007334852A (ja) * | 2005-11-30 | 2007-12-27 | Sony Corp | 記憶装置、コンピュータシステム、および記憶装置のアクセス方法 |
JP2008130088A (ja) * | 2006-11-20 | 2008-06-05 | Samsung Electronics Co Ltd | 不揮発性メモリ管理方法及び装置 |
JP2008146254A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
JP2008217208A (ja) * | 2007-03-01 | 2008-09-18 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法 |
Also Published As
Publication number | Publication date |
---|---|
GB2488480B (en) | 2017-07-19 |
US8949515B2 (en) | 2015-02-03 |
JPWO2011068109A1 (ja) | 2013-04-18 |
DE112010004667T5 (de) | 2013-01-17 |
US20120246399A1 (en) | 2012-09-27 |
WO2011068109A1 (ja) | 2011-06-09 |
GB201209881D0 (en) | 2012-07-18 |
GB2488480A (en) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5480913B2 (ja) | 記憶装置、およびメモリコントローラ | |
JP4004468B2 (ja) | 大きなページをサポートするようにさせるための方法およびシステム | |
KR100684942B1 (ko) | 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템 | |
US8316176B1 (en) | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification | |
US7487303B2 (en) | Flash memory device and associated data merge method | |
JP4931810B2 (ja) | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 | |
JP5612514B2 (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
WO2011086732A1 (en) | Storage device management device and method for managing storage device | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
JP5570406B2 (ja) | メモリコントローラ、及びデータ記録装置 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
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 | |
US20090210612A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
JP4561246B2 (ja) | メモリ装置 | |
JP4737223B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US11080203B2 (en) | Data storage device and control method for non-volatile memory | |
JP4985108B2 (ja) | データ記憶装置およびその制御方法 |
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 |