JP5813589B2 - メモリシステムおよびその制御方法 - Google Patents
メモリシステムおよびその制御方法 Download PDFInfo
- Publication number
- JP5813589B2 JP5813589B2 JP2012157985A JP2012157985A JP5813589B2 JP 5813589 B2 JP5813589 B2 JP 5813589B2 JP 2012157985 A JP2012157985 A JP 2012157985A JP 2012157985 A JP2012157985 A JP 2012157985A JP 5813589 B2 JP5813589 B2 JP 5813589B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- log information
- recording position
- parallel operation
- storage unit
- 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
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
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)
Description
データ開始チャネル=n modulo m ・・・(1)
データ開始チャネル=n modulo m ・・・(2)
データ開始バンク=n/m modulo s ・・・(3)
図8は、書き込み処理の手順の一例を示すフローチャートである。ホスト装置からデータの書き込み要求を受けると、データ処理部153は、書き込み対象データを書き込むNANDメモリ12中の論理ブロックと、その論理ブロック内の書き込みを行う論理ページと、を決定する(ステップS11)。ついで、ログ情報記録位置決定部151は、決定された書き込みを行う論理ページ番号に基づいて、上記した(2)式と(3)式を用いて、書き込み対象データのデータ開始位置、すなわちデータ開始チャネルとデータ開始バンク、を決定する(ステップS12)。その結果、ログ情報記録位置も決まることになる。
読み出し処理では、ホスト装置からデータの読み出し要求を受けると、データ処理部153は、データ記録位置管理テーブル1421から読み出し対象データの論理クラスタアドレスに対応するデータ記録位置を取得する。そして、データ処理部153は、取得したデータ記録位置からデータを読み出すように読み出しコマンドを生成し、NANDメモリ12からデータを読み出す。データは、図2などに示されるように、並列動作要素121−0〜121−7にまたがってNANDメモリ12に書き込みが行われているので、8個の並列動作要素121−0〜121−7から同時にデータが読み出され、読み出しバッファ1411へと記憶される。そして、読み出しバッファ1411からホスト装置へとデータが渡される。以上によって、読み出し処理が終了する。
図9は、コンパクション処理の手順の一例を示すフローチャートである。まず、コンパクション処理が開始されると、ブロック管理部156は、コンパクション対象ブロックリスト1423からコンパクション対象となる1つの論理ブロックを取得する(ステップS31)。一般的には、コンパクション対象となる論理ブロックとして、コンパクション対象ブロックリスト1423中の最も有効クラスタ数が少ない論理ブロックが選択される。
Claims (13)
- 記憶領域が複数の並列動作要素で構成され、記録されるデータの位置管理をデータ管理単位で行い、前記データ管理単位の自然数倍のアクセス単位の大きさのアクセス領域が前記並列動作要素ごとに設けられてなるデータ記録領域を所定の数含むデータブロックを複数有する不揮発性の第1記憶部と、
ホスト装置と前記第1記憶部との間でやり取りされるデータ、または前記第1記憶部内で移動されるデータを一時的に記憶する第2記憶部と、
前記第1記憶部と前記第2記憶部との間のデータ転送を行う制御部と、
を備えるメモリシステムであって、
前記第2記憶部は、前記第1記憶部に記憶されるデータに関して、割り当てられるアドレスと、前記第1記憶部内での前記データブロックと前記データ管理単位とで規定されるデータ記録位置と、を対応付けたデータ記録位置管理情報を有し、
前記制御部は、
データを前記第1記憶部に書き込む前に、前記データが書き込まれるデータ記録位置とそのアドレスとを対応付けたログを、書き込み先の前記データ記録領域の前記データ管理単位ごとに生成したログ情報を生成するログ情報生成手段と、
前記データを前記第1記憶部に書き込む前に、書き込み先のデータブロック内で前記ログ情報の書き込み位置が前記並列動作要素間で分散されるように、前記データの開始位置を決定するログ情報記録位置決定手段と、
前記第2記憶部の前記データと前記ログ情報とを前記開始位置から始まるように前記データ記録領域に書き込む書き込み処理と、前記第1記憶部から前記第2記憶部にデータを読み出す読み出し処理と、を行うデータ処理手段と、
コンパクション処理を行う際に、コンパクション対象となるデータブロック内の全ての前記データ記録領域の前記ログ情報と、前記データ記録位置管理情報と、を用いて、前記データブロック中の有効データの記録位置を取得するコンパクション対象データ判定手段と、
を備え、
前記データ処理手段は、コンパクション処理時に、前記コンパクション対象データ判定手段から取得した前記有効データの記録位置を用いて前記有効データを前記第2記憶部に読み出し、該有効データを前記ログ情報生成手段によって生成されたログ情報とともに、書き込み先のデータ記録領域に書き込むことを特徴とするメモリシステム。 - 前記データブロック内の前記データ記録領域に対して順に付された番号をn(nは0以上の整数)とし、前記並列動作要素に対して順に付された番号をm(mは自然数)とした場合に、
前記ログ情報記録位置決定手段は、前記データの書き込み開始位置となるデータ開始並列動作要素を次式(1)によって求めることを特徴とする請求項1に記載のメモリシステム。
データ開始並列動作要素=n modulo m ・・・(1) - 前記並列動作要素は、複数のバンクを有し、
前記データ記録領域は、前記各並列動作要素に対して前記バンクの数の前記アクセス領域を有し、
前記データ処理手段は、バンクインタリーブによって、前記データ記録領域への前記データの書き込み、または前記データ記録領域からの前記データの読み出しを行い、
前記ログ情報記録位置決定手段は、前記データ記録領域が属する前記データブロック内で前記ログ情報の書き込み位置が前記並列動作要素間で分散されるとともに、前記バンク間でも分散されるように、前記データの開始位置を決定することを特徴とする請求項1または2に記載のメモリシステム。 - 前記データブロック内の前記データ記録領域に対して順に付された番号をn(nは0以上の整数)とし、前記並列動作要素に対して順に付された番号をm(mは自然数)とし、前記バンクに対して順に付された番号をs(sは自然数)とした場合に、
前記ログ情報記録位置決定手段は、前記データの書き込み開始位置となるデータ開始並列動作要素とデータ開始バンクをそれぞれ次式(2)、(3)によって求めることを特徴とする請求項3に記載のメモリシステム。
データ開始並列動作要素=n modulo m ・・・(2)
データ開始バンク=n/m modulo s ・・・(3) - 前記データ処理手段は、コンパクション処理の際に、前記各並列動作要素から前記コンパクション対象となる前記データブロックの異なる前記データ記録領域の前記ログ情報を含む前記アクセス領域を読み出すことを特徴とする請求項1から4のいずれか1つに記載のメモリシステム。
- 前記コンパクション対象データ判定手段は、前記ログの前記データのアドレスに対応付けられた前記データ記録位置と、前記データ記録位置管理情報中の対応する前記データ記録位置と、が一致する場合に、前記データ記録位置に記録されているデータを有効データと判定し、前記データ記録位置を取得することを特徴とする請求項1から5のいずれか1つに記載のメモリシステム。
- 記憶領域が複数の並列動作要素で構成され、記録されるデータの位置管理をデータ管理単位で行い、前記データ管理単位の自然数倍のアクセス単位の大きさのアクセス領域が前記並列動作要素ごとに設けられてなるデータ記録領域を所定の数含むデータブロックを複数有する不揮発性の第1記憶部と、
ホスト装置と前記第1記憶部との間でやり取りされるデータ、または前記第1記憶部内で移動されるデータを一時的に記憶し、前記第1記憶部に記憶されるデータに関して、割り当てられるアドレスと、前記第1記憶部内での前記データブロックと前記データ管理単位とで規定されるデータ記録位置と、を対応付けたデータ記録位置管理情報を有する第2記憶部と、
前記第1記憶部と前記第2記憶部との間のデータ転送を行う制御部と、
を備えるメモリシステムの制御方法であって、
コンパクション対象となるデータブロックを構成する前記データ記録領域から、データが書き込まれるデータ記録位置とそのアドレスとを対応付けたログを前記データ記録領域の前記データ管理単位ごとに生成したログ情報を読み出すログ情報読み出し工程と、
前記ログ情報読み出し工程で読み出されるコンパクション対象となるデータブロック内の全ての前記データ記録領域の前記ログ情報と、前記データ記録位置管理情報と、を用いて、前記データブロック中の有効データの記録位置を取得するコンパクション対象データ判定工程と、
前記コンパクション対象データ判定工程で取得した前記有効データの記録位置を用いて前記有効データを前記第2記憶部に読み出す有効データ読み出し工程と、
読み出した前記有効データを書き込み先のデータ記録領域に書き込むコンパクション工程と、
を含むことを特徴とするメモリシステムの制御方法。 - データを前記第1記憶部に書き込むデータ書き込み工程をさらに含み、
前記コンパクション工程または前記データ書き込み工程では、
データが書き込まれるデータ記録位置とそのアドレスとを対応付けた前記ログを、書き込み先の前記データ記録領域の前記データ管理単位ごとに生成した前記ログ情報を生成するログ情報生成工程と、
書き込み先のデータブロック内で前記ログ情報の書き込み位置が前記並列動作要素間で分散されるように、前記データの開始位置を決定するログ情報記録位置決定工程と、
前記第2記憶部の前記データと前記ログ情報とを前記開始位置から始まるように前記データ記録領域に書き込む書き込み工程と、
を含むことを特徴とする請求項7に記載のメモリシステムの制御方法。 - 前記データブロック内の前記データ記録領域に対して順に付された番号をn(nは0以上の整数)とし、前記並列動作要素に対して順に付された番号をm(mは自然数)とした場合に、
前記ログ情報記録位置決定工程では、前記データの書き込み開始位置となる前記データ開始並列動作要素を次式(4)によって求めることを特徴とする請求項8に記載のメモリシステムの制御方法。
データ開始並列動作要素=n modulo m ・・・(4) - 前記並列動作要素は、複数のバンクを有し、
前記データ記録領域は、前記各並列動作要素に対して前記バンクの数の前記アクセス領域を有し、
前記ログ情報読み出し工程では、バンクインタリーブによって、前記データ記録領域からの前記ログ情報を含むデータの読み出しを行い、
前記ログ情報記録位置決定工程では、前記データ記録領域が属する前記データブロック内で前記ログ情報の書き込み位置が前記並列動作要素間で分散されるとともに、前記バンク間でも分散されるように、前記データの開始位置を決定することを特徴とする請求項8に記載のメモリシステムの制御方法。 - 前記データブロック内の前記データ記録領域に対して順に付された番号をn(nは0以上の整数)とし、前記並列動作要素に対して順に付された番号をm(mは自然数)とし、前記バンクに対して順に付された番号をs(sは自然数)とした場合に、
前記ログ情報記録位置決定工程では、前記データの書き込み開始位置となる前記データ開始並列動作要素と前記データ開始バンクをそれぞれ次式(5)、(6)によって求めることを特徴とする請求項10に記載のメモリシステムの制御方法。
データ開始並列動作要素=n modulo m ・・・(5)
データ開始バンク=n/m modulo s ・・・(6) - 前記ログ情報読み出し工程では、前記各並列動作要素から読み出す前記アクセス領域は、前記コンパクション対象となる前記データブロックの異なる前記データ記録領域の前記ログ情報を含む前記アクセス領域を読み出すことを特徴とする請求項8から11のいずれか1つに記載のメモリシステムの制御方法。
- 前記コンパクション対象データ判定工程では、前記ログ情報の前記データのアドレスに対応付けられた前記データ記録位置と、前記データ記録位置管理情報中の対応する前記データ記録位置と、が一致する場合に、前記データ記録位置に記録されているデータを有効データと判定し、前記データ記録位置を取得することを特徴とする請求項7から12のいずれか1つに記載のメモリシステムの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012157985A JP5813589B2 (ja) | 2012-07-13 | 2012-07-13 | メモリシステムおよびその制御方法 |
US13/779,458 US9323661B2 (en) | 2012-07-13 | 2013-02-27 | Memory system and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012157985A JP5813589B2 (ja) | 2012-07-13 | 2012-07-13 | メモリシステムおよびその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014021622A JP2014021622A (ja) | 2014-02-03 |
JP5813589B2 true JP5813589B2 (ja) | 2015-11-17 |
Family
ID=49914994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012157985A Expired - Fee Related JP5813589B2 (ja) | 2012-07-13 | 2012-07-13 | メモリシステムおよびその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9323661B2 (ja) |
JP (1) | JP5813589B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055215B2 (en) | 2017-09-13 | 2021-07-06 | Toshiba Memory Corporation | Memory system and control method for garbage collection in a memory system |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384124B2 (en) | 2012-07-20 | 2016-07-05 | Kabushiki Kaisha Toshiba | Data storage device, memory control method, and electronic device with data storage device |
DE102013203905B4 (de) * | 2013-03-07 | 2016-12-29 | Telemotive AG | Prozessorgesteuertes Speichergerät und Verfahren |
US9875064B2 (en) * | 2015-03-11 | 2018-01-23 | Toshiba Memory Corporation | Storage system architecture for improved data management |
US10254967B2 (en) | 2016-01-13 | 2019-04-09 | Sandisk Technologies Llc | Data path control for non-volatile memory |
KR102664665B1 (ko) * | 2016-08-22 | 2024-05-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US10528286B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528255B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528267B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Command queue for storage operations |
US10114589B2 (en) * | 2016-11-16 | 2018-10-30 | Sandisk Technologies Llc | Command control for multi-core non-volatile memory |
JP6765321B2 (ja) * | 2017-02-28 | 2020-10-07 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2018160156A (ja) * | 2017-03-23 | 2018-10-11 | 東芝メモリ株式会社 | メモリシステム |
JP7109949B2 (ja) * | 2018-03-23 | 2022-08-01 | キオクシア株式会社 | メモリシステム及びメモリシステムの制御方法 |
KR20200033625A (ko) * | 2018-09-20 | 2020-03-30 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 유효 데이터 체크 방법 및 장치 |
CN109446174A (zh) * | 2018-10-30 | 2019-03-08 | 东软集团股份有限公司 | 日志数据记录方法、装置及计算机可读存储介质 |
CN117372236B (zh) * | 2022-07-06 | 2024-09-06 | 格兰菲智能科技股份有限公司 | 共享内存的访问方法、装置、计算机设备 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
JP5076411B2 (ja) * | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
JP2008123473A (ja) * | 2006-10-20 | 2008-05-29 | Toshiba Corp | 記憶装置及びその制御方法 |
KR100843135B1 (ko) * | 2006-11-20 | 2008-07-02 | 삼성전자주식회사 | 비휘발성 메모리 관리 방법 및 장치 |
WO2009053961A2 (en) * | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
JP2008112455A (ja) | 2007-11-12 | 2008-05-15 | Renesas Technology Corp | メモリカード |
EP2225643B1 (en) * | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
KR101067457B1 (ko) * | 2008-03-01 | 2011-09-27 | 가부시끼가이샤 도시바 | 메모리 시스템 |
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
JP5010505B2 (ja) * | 2008-03-01 | 2012-08-29 | 株式会社東芝 | メモリシステム |
JP2009211215A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
KR101102136B1 (ko) * | 2008-03-01 | 2012-01-02 | 가부시끼가이샤 도시바 | 메모리 시스템 |
JP5093203B2 (ja) | 2008-09-26 | 2012-12-12 | 株式会社デンソーウェーブ | 警備システム |
JP4551958B2 (ja) * | 2008-12-22 | 2010-09-29 | 株式会社東芝 | 半導体記憶装置および半導体記憶装置の制御方法 |
JP2010152514A (ja) * | 2008-12-24 | 2010-07-08 | Toshiba Corp | メモリシステム |
JP2010157130A (ja) * | 2008-12-27 | 2010-07-15 | Toshiba Corp | メモリシステム |
JP5317689B2 (ja) * | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
JP5198245B2 (ja) * | 2008-12-27 | 2013-05-15 | 株式会社東芝 | メモリシステム |
JP5376983B2 (ja) * | 2009-02-12 | 2013-12-25 | 株式会社東芝 | メモリシステム |
JP2010287049A (ja) * | 2009-06-11 | 2010-12-24 | Toshiba Corp | メモリシステムおよびメモリシステムの管理方法 |
JP5221593B2 (ja) | 2010-04-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
JP2012064158A (ja) * | 2010-09-17 | 2012-03-29 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP5010723B2 (ja) * | 2010-09-22 | 2012-08-29 | 株式会社東芝 | 半導体記憶制御装置 |
JP2012128645A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
-
2012
- 2012-07-13 JP JP2012157985A patent/JP5813589B2/ja not_active Expired - Fee Related
-
2013
- 2013-02-27 US US13/779,458 patent/US9323661B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055215B2 (en) | 2017-09-13 | 2021-07-06 | Toshiba Memory Corporation | Memory system and control method for garbage collection in a memory system |
Also Published As
Publication number | Publication date |
---|---|
US9323661B2 (en) | 2016-04-26 |
JP2014021622A (ja) | 2014-02-03 |
US20140019672A1 (en) | 2014-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5813589B2 (ja) | メモリシステムおよびその制御方法 | |
US10657047B2 (en) | Data storage device and method of performing partial garbage collection | |
US9792067B2 (en) | Trim command processing in a solid state drive | |
EP2920697B1 (en) | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US9239781B2 (en) | Storage control system with erase block mechanism and method of operation thereof | |
US7890550B2 (en) | Flash memory system and garbage collection method thereof | |
US9367451B2 (en) | Storage device management device and method for managing storage device | |
US9910773B2 (en) | Method and system for compacting data in non-volatile memory | |
US9442841B2 (en) | Semiconductor memory device and method for logging monitored events into a buffer | |
JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
KR20020009564A (ko) | 메모리 시스템 | |
US10929303B2 (en) | Data storage device utilizing virtual blocks to improve performance and data storage method thereof | |
JP2010287049A (ja) | メモリシステムおよびメモリシステムの管理方法 | |
US8671257B2 (en) | Memory system having multiple channels and method of generating read commands for compaction in memory system | |
US20150339069A1 (en) | Memory system and method | |
JP2010237907A (ja) | ストレージ装置および記録方法 | |
JP4737223B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2012058770A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US9384124B2 (en) | Data storage device, memory control method, and electronic device with data storage device | |
JP2012068764A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
JP2012037971A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
JP2009211202A (ja) | メモリシステム | |
JP6276208B2 (ja) | メモリシステム及びプログラム | |
JP2015191295A (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140821 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150731 |
|
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: 20150818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150916 |
|
LAPS | Cancellation because of no payment of annual fees |