JP4738038B2 - メモリカード - Google Patents
メモリカード Download PDFInfo
- Publication number
- JP4738038B2 JP4738038B2 JP2005089896A JP2005089896A JP4738038B2 JP 4738038 B2 JP4738038 B2 JP 4738038B2 JP 2005089896 A JP2005089896 A JP 2005089896A JP 2005089896 A JP2005089896 A JP 2005089896A JP 4738038 B2 JP4738038 B2 JP 4738038B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- address
- write
- lba
- 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
- 238000012005 ligant binding assay Methods 0.000 description 22
- 238000000034 method Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 230000008707 rearrangement Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- GOHCTCOGYKAJLZ-UHFFFAOYSA-N ctep Chemical compound CC=1N(C=2C=CC(OC(F)(F)F)=CC=2)C(C)=NC=1C#CC1=CC=NC(Cl)=C1 GOHCTCOGYKAJLZ-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004065 semiconductor Substances 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47B—TABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
- A47B23/00—Bed-tables; Trays; Reading-racks; Book-rests, i.e. items used in combination with something else
- A47B23/002—Bed-tables; Trays; Reading-racks; Book-rests, i.e. items used in combination with something else supported only by a person
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47C—CHAIRS; SOFAS; BEDS
- A47C27/00—Spring, stuffed or fluid mattresses or cushions specially adapted for chairs, beds or sofas
-
- 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/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
図1は、本発明の一実施形態に係るメモリカードに搭載されるデバイス類の概略構成を示す斜視図である。図1に示されるように、本実施形態に係るメモリカード1は、PCB(Printed Circuit Board)基板2と、基板2上に配置されたNAND型フラッシュメモリ(以下、フラッシュメモリと称する)3およびコントローラ4を有する。
次に、図7乃至図32を参照して、上記構成のホストの書き込み動作について説明する。図7は、本実施形態に係るメモリカードのフラッシュメモリのメモリ空間の一部、RAMcp、ep、cpカウンタctcp、ctepを示す図である。図8は、本実施形態に係るメモリカードのフラッシュメモリの書き込み動作を示すフローチャートである。図9乃至図32は、それぞれ、フラッシュメモリのメモリ空間の一部、RAM、カウンタの1つの状態を示している。
図8に示されるように、ホスト20から、あるLBAのデータの書き込み要求が来る(ステップS1)と、コントローラ4は、この書き込まれるLBA(以下、書き込みLBA)が、RAMepに登録されているか否かを判断する(ステップS2)。
書き込みLBAが期待値であった場合、この書き込みLBAのデータは、直前のLBAと同じ通常ブロックに書き込まれる(ステップS4)。
図8のステップS3の判断が偽であった場合、コントローラ4は、書き込みLBAがRAMcpに登録されているか否かを判断する(ステップS5)。登録されていない場合、書き込みLBAをRAMcpに登録するとともに、書き込みLBAに関して計数を行うcpカウンタctcpを“0”にセットする(ステップS6)。次に、コントローラ4は、書き込みLBAのデータを通常ブロックに書き込む(ステップS7)。この際、書き込みLBAのデータは、直前に書き込まれたLBAのデータが書き込まれたブロックと異なるブロックに書き込まれる。
次に、図8のステップS5の判定が真であった場合、コントローラ4は、書き込みLBA用のcpカウンタctcpの値を増加させる(ステップS9)。次に、コントローラ4は、増加させたcpカウンタctcpの値が設定値に達したか否かを判定する(ステップS10)。達していない場合、処理はステップS7に移行し、次いで、必要に応じてステップS8が行われる。
図8のステップS1での判定の結果、書き込みLBAがRAMepに登録されている場合、処理はステップS21に移行する。このことは、書き込みLBAのデータは、キャッシュブロックに書き込まれるべきことを意味する。そして、このタイミングで、必要に応じてキャッシュブロックの整理が行われる。よって、コントローラ4は、キャッシュブロックの整理の要、不要を判断する(ステップS21)。この判断は、例えば、既に一杯のキャッシュブロックが存在する場合等に、整理を行うと判断することができる。
図8のステップS21の判定の結果、キャッシュブロックの整理が行われない場合、今回の書き込みLBAの書き込みを利用して、必要に応じてキャッシュアウトブロックの整理が行われる。ここで、キャッシュアウトブロックとは、後述の所定の条件を満たすことによりキャッシュブロックから追い出されたLBAのデータを格納するブロックである。キャッシュアウトブロックに関しては、後に詳述する。
図8のステップS21の判定の結果、キャッシュブロックの整理が行われる場合、今回の書き込みLBAの書き込みを利用して、キャッシュブロックの整理が行われる。すなわち、キャッシュブロック内の、各LBAの最新のデータが、最後にデータが書き込まれたキャッシュブロック(新アサインキャッシュブロック)にコピーされる。また、同時に、引越しされるLBAのepカウンタctepが減ぜられる(ステップS25)。よって、キャッシュブロックに書き込まれた後、さらに書き込まれることなく新アサインキャッシュブロックにコピーされ続けるデータのLBA用のepカウンタctepの値は、その度に減少し続ける。
ここで、コントローラ4は、既にキャッシュアウトされた他のLBAのデータを格納するキャッシュアウトブロックの有無を判定する(ステップS27)。キャッシュアウトブロックが設けられていない場合、コントローラ4は、新たにキャッシュアウトブロックを用意し、その中に、キャッシュアウト対象のLBAのデータを書き込む(ステップS28)。
ステップS27の判断の結果、キャッシュアウトブロックが既に存在している場合、キャッシュアウト対象の候補のLBAのデータは、キャッシュアウトされずに、新アサインキャッシュブロックへとコピーされる(ステップS29)。これは、メモリ領域の大きさの制限から、キャッシュアウトブロックの存在を1つと設定しているからである。
5…インタフェース部、6…ホストインタフェース、7…バッファ、8…CPU、9…ROM、10…RAM、20…ホスト機器、cp、ep…RAMの領域、ctep…cpカウンタ、ctep…epカウンタ。
Claims (5)
- データを記憶可能な複数の第1ブロックおよび複数の第2ブロックを有し、第1および第2ブロックのそれぞれを消去単位としてデータを消去可能な第1メモリと、
ホスト機器によって付されたアドレスを有する書き込みデータを前記第1メモリに書き込む指示を出す演算部と、
前回に書き込まれたデータのアドレスと連続するアドレスを期待値とし、書き込み要求の際に前記期待値でない前記アドレスを記憶する第2メモリと、
前記期待値でない前記アドレスの前記書き込みデータの書き込み要求があった回数を、前記アドレスごとに数える第1カウンタと、
前記第1カウンタにおける値が第1設定値に達した前記アドレスを記憶する第3メモリと、
を具備し、前記演算部は、前記第3メモリが記憶する前記アドレスの前記書き込みデータの書き込み要求が来た際、このアドレスに関わらず、前記第2ブロックのデータの書き込まれていない個所に前記書き込みデータを書き込む指示を出すことを特徴とするメモリカード。 - 前記メモリカードが、前記書き込みデータが前記第2ブロックに書き込まれる度にこの書き込みデータの前記アドレスに関する値を初期値に設定する第2カウンタをさらに具備することを特徴とする請求項1に記載のメモリカード。
- 前記演算部が、前記第2ブロックが記憶している前記書き込みデータのうちで前記アドレスごとの最新の前記書き込みデータを複数の前記第2ブロックのうちのデータを記憶していない1つである新第2ブロックにコピーする指示を出し、
前記第2カウンタが、前記新第2ブロックにコピーされた前記書き込みデータの前記アドレスに関する値を変化させる、
ことを特徴とする請求項2に記載のメモリカード。 - 前記演算部が、前記第2カウンタにおける値が第2設定値に達した前記アドレスの前記書き込みデータを前記第1ブロックの1つにコピーし、
前記第2設定値に達した前記アドレスの前記書き込みデータがコピーされた後、コピーされた前記書き込みデータの前記アドレスが前記第3メモリから削除される、
ことを特徴とする請求項3に記載のメモリカード。 - 所定数の連続するアドレスが、1つのグループを形成し、
前記演算部が、同じグループに属する複数の前記アドレスのデータが前記第1ブロックの2つに書き込まれている場合に、前記第1ブロックの2つのうちの一方である旧第1ブロックに書き込まれているデータを前記第1ブロックの2つのうちの他方である新第1ブロックに書き込む指示を出し、且つ前記旧第1ブロックのデータを削除する指示を出す、
ことを特徴とする請求項1に記載のメモリカード。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005089896A JP4738038B2 (ja) | 2005-03-25 | 2005-03-25 | メモリカード |
US11/205,125 US20060218347A1 (en) | 2005-03-25 | 2005-08-17 | Memory card |
TW095106685A TW200702991A (en) | 2005-03-25 | 2006-02-27 | Memory card |
KR1020060026848A KR100769402B1 (ko) | 2005-03-25 | 2006-03-24 | 메모리 카드 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005089896A JP4738038B2 (ja) | 2005-03-25 | 2005-03-25 | メモリカード |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006268776A JP2006268776A (ja) | 2006-10-05 |
JP4738038B2 true JP4738038B2 (ja) | 2011-08-03 |
Family
ID=37036544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005089896A Expired - Fee Related JP4738038B2 (ja) | 2005-03-25 | 2005-03-25 | メモリカード |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060218347A1 (ja) |
JP (1) | JP4738038B2 (ja) |
KR (1) | KR100769402B1 (ja) |
TW (1) | TW200702991A (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5002201B2 (ja) | 2006-06-30 | 2012-08-15 | 株式会社東芝 | メモリシステム |
US8533847B2 (en) * | 2007-05-24 | 2013-09-10 | Sandisk Il Ltd. | Apparatus and method for screening new data without impacting download speed |
TWI413984B (zh) | 2008-10-16 | 2013-11-01 | Silicon Motion Inc | 快閃記憶體裝置以及資料更新方法 |
US9015209B2 (en) * | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US8849856B2 (en) * | 2008-12-16 | 2014-09-30 | Sandisk Il Ltd. | Discardable files |
US20100153474A1 (en) * | 2008-12-16 | 2010-06-17 | Sandisk Il Ltd. | Discardable files |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US8375192B2 (en) | 2008-12-16 | 2013-02-12 | Sandisk Il Ltd. | Discardable files |
US8205060B2 (en) | 2008-12-16 | 2012-06-19 | Sandisk Il Ltd. | Discardable files |
US20100235329A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US20100333155A1 (en) * | 2009-06-30 | 2010-12-30 | Philip David Royall | Selectively using local non-volatile storage in conjunction with transmission of content |
US8656110B2 (en) | 2009-08-21 | 2014-02-18 | Panasonic Corporation | Non-volatile storage device, access device, and non-volatile storage system for releasing a cache object in accordance with a data matching flag |
US8549229B2 (en) | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
US9152641B2 (en) | 2011-12-15 | 2015-10-06 | Sandisk Technologies Inc. | Method and system for providing storage device file location information |
US8984032B2 (en) | 2011-12-15 | 2015-03-17 | Sandisk Technologies Inc. | Method and system for providing storage device file location information |
JP2015138272A (ja) * | 2014-01-20 | 2015-07-30 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
KR102309471B1 (ko) | 2014-12-19 | 2021-10-07 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
US10289561B2 (en) | 2017-08-08 | 2019-05-14 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices and methods of controlling the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001318824A (ja) * | 2000-05-10 | 2001-11-16 | Nec Miyagi Ltd | フラッシュメモリのデータ管理方式およびそのプログラムを記録した記録媒体 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4701884A (en) * | 1985-08-16 | 1987-10-20 | Hitachi, Ltd. | Semiconductor memory for serial data access |
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US6421766B1 (en) * | 1998-12-16 | 2002-07-16 | Intel Corporation | Method and apparatus for approximated least-recently-used algorithm memory replacement |
US6748491B2 (en) * | 2001-04-19 | 2004-06-08 | International Business Machines Corporation | Designing a cache using an LRU-LFU array |
US7010662B2 (en) * | 2002-02-27 | 2006-03-07 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
US6895464B2 (en) * | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
KR20190000930U (ko) * | 2017-10-12 | 2019-04-22 | 두리기농업회사법인 주식회사 | 차덖음장치 |
-
2005
- 2005-03-25 JP JP2005089896A patent/JP4738038B2/ja not_active Expired - Fee Related
- 2005-08-17 US US11/205,125 patent/US20060218347A1/en not_active Abandoned
-
2006
- 2006-02-27 TW TW095106685A patent/TW200702991A/zh unknown
- 2006-03-24 KR KR1020060026848A patent/KR100769402B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001318824A (ja) * | 2000-05-10 | 2001-11-16 | Nec Miyagi Ltd | フラッシュメモリのデータ管理方式およびそのプログラムを記録した記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP2006268776A (ja) | 2006-10-05 |
TW200702991A (en) | 2007-01-16 |
US20060218347A1 (en) | 2006-09-28 |
KR20060103219A (ko) | 2006-09-28 |
KR100769402B1 (ko) | 2007-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4738038B2 (ja) | メモリカード | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US10657047B2 (en) | Data storage device and method of performing partial garbage collection | |
CN109240938B (zh) | 存储***以及控制非易失性存储器的控制方法 | |
US11416387B2 (en) | Memory system and method for controlling nonvolatile memory | |
KR100389867B1 (ko) | 플래시 메모리 관리방법 | |
CN101937319B (zh) | 存储器***及其映射方法 | |
US10275361B2 (en) | Managing multiple namespaces in a non-volatile memory (NVM) | |
US8386746B2 (en) | Storage unit management methods and systems | |
US11797436B2 (en) | Memory system and method for controlling nonvolatile memory | |
JP2011519095A (ja) | マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
EP3752905B1 (en) | Append only streams for storing data on a solid state device | |
KR20110117099A (ko) | 메모리 장치에서 맵핑 어드레스 테이블을 유지관리하는 방법 | |
US20220066693A1 (en) | System and method of writing to nonvolatile memory using write buffers | |
US8954658B1 (en) | Method of LUN management in a solid state disk array | |
US20100318726A1 (en) | Memory system and memory system managing method | |
KR20080038368A (ko) | 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱 | |
JP4242245B2 (ja) | フラッシュrom制御装置 | |
CN112100087B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
JP2007102314A (ja) | ディスクキャッシュ制御装置 | |
JP2007233838A (ja) | メモリシステムの制御方法 | |
JP2005115562A (ja) | フラッシュrom制御装置 | |
CN114610228A (zh) | 文件管理***及其文件管理方法、装置 | |
JPS5918786B2 (ja) | 階層構成メモリ・システム | |
US10810132B1 (en) | Object based extent mapping for flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110426 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |