JP3977370B2 - フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ - Google Patents
フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ Download PDFInfo
- Publication number
- JP3977370B2 JP3977370B2 JP2004306003A JP2004306003A JP3977370B2 JP 3977370 B2 JP3977370 B2 JP 3977370B2 JP 2004306003 A JP2004306003 A JP 2004306003A JP 2004306003 A JP2004306003 A JP 2004306003A JP 3977370 B2 JP3977370 B2 JP 3977370B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- data
- written
- page
- flash memory
- 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.)
- Active
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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
Description
ところで、このようなフラッシュメモリは、そのハードウェアの特性を考慮するとき、既に書き込まれたメモリセクターに書き込み(write)演算を行うためには、そのセクターが含まれたブロックの全体を消去する(erase)演算を先に行わなければならず、これがフラッシュメモリの性能を低下させる主な要因となっていた。
ホストは、データをフラッシュメモリに書き込むために、論理セクター番号(Logical Sector Number;以下、LSNとも称する)を伝達する。図1に示すようなセクターマッピング手法において、LSNやPSN(Physical Sector Number;以下、PSNとも称する)に対するマッピングテーブル(mapping table)が存在しているため、該当のPSNにデータを書き込めば良い。このとき、該当のPSNに既にデータが存在する場合には空いている他のPSNを検索してデータを書き込み、マッピング情報を変更する。
また、本発明は、論理・物理マッピング情報管理方法を用いてフラッシュメモリのシステムの性能を最大化し、電源の突然の異常時にもシステムを安全に復旧できるようにする方法を提供することを目的とする。
本発明による利点及び特徴、かつ、それらを達成する方法は、添付図面に基づいて詳しく後述される実施形態によって明らかになるだろう。
先ず、大ブロックの論理・物理アドレスマッピングアルゴリズムについて説明する。フラッシュメモリの主要演算としては、書き込み演算と読み出し演算があるが、読み出し演算は、書き込み演算の逆にしたものに過ぎず、ここでは、書き込み演算についてのみ説明する。
前記ステップS130での判断の結果、LPNが使用されたことがあると、有効なLPNを有するページ、即ち、前記使用されたLPNを有するページが複数あれば、最も最近に生成されたページにオフセットが一致するセクター及び次のセクターが空いているどうかを判断し(S140)、空いていると、オフセットが一致するセクターの位置にデータを書き込み(S150)、終了する。ここで、オフセットとは、1つのページにてセクターが占めるように決まっている位置を意味するもので、例えば、あるページにD4、D5、D6及びD7が順に書き込まれることで予め定義されていれば、D4、D5、D6及びD7は、それぞれ0、1、2及び3をオフセット値として有することになる。
二番目の方法は、1対nページマッピング方法であり、図9にそのフローチャートを示す図である。一番目の方法とは異なり、このマッピング方法は、1つのブロック内に有効なページが1つ以上存在できるようにする方法である。即ち、該当のLSNのセクターオフセットは維持したまま、物理アドレスに書き込みを行うが、既存の有効なページから残りの各セクターをコピーしてくるステップは存在しない。これは、本方法では、1つ以上のページに有効なデータが存在できることから、既存の有効なLPNに対するデータをコピーするステップが必要なくなるためである。従って、前記図7のフローチャートと比較すると、残りの各ステップは全て同様であるが、図7のステップS170のようなステップが存在しないという点で異なる。
図17は、六番目の方法であって、オフセット不一致セクターマッピング方法を示すフローチャートである。この方法は、ページ及びセクターオフセットの何れにも拘らず、空いているセクターに順に書き込む方法である。
五番目の方法では、セクターオフセットが一致するため、書き込みアルゴリズムの逆に有効なセクターを見付けると良い。かつ、六番目の方法では、LSN値から有効なセクターを見付けるが、このとき、同様に1つ以上のLSNが存在する場合には、書き込みアルゴリズムの逆に有効なセクターを見付ければ良い。
以下に、論理・物理マッピング情報をフラッシュメモリに格納し、管理する方法の動作を説明する。本手法は、特に、大ブロックフラッシュメモリのみならず、小ブロックフラッシュメモリにも適用できることは言うまでも無い。
311…XIP可能メモリ
312…フラッシュメモリ
313…CPU
400…マップセグメントユニット
410…マップセグメント
420…補助領域
421…エイジ
422…セグメント番号
423…シグネチャ
424…有効マーク
Claims (15)
- 複数のセクターからなる複数のページを有するブロックを一つ以上有し、前記セクターまたは前記ページ単位でデータを書き込み、前記ブロック単位でデータを消去するフラッシュメモリにデータを書き込む方法において、
書き込みたいデータと同じ論理ページ番号を有する物理ページのうちの、最も最近に書き込まれた物理ページに、前記書き込みたいデータを格納できる空いているセクターが存在するかどうかを判断する第1のステップと、
前記判断の結果、空いているセクターが存在すると、前記物理ページの空いているセクターにデータを書き込み、前記物理ページに前記データに対する論理セクター番号を書き込む第2のステップと、
前記判断の結果、空いているセクターが存在しないと、空いている物理ページを選択し、空いているセクターにデータを書き込み、前記選択された空いている物理ページに前記データに対する論理ページ番号及び論理セクター番号を書き込む第3のステップと
を含むことを特徴とするフラッシュメモリにデータを書き込む方法。 - 前記第2のステップ及び前記第3のステップで論理セクター番号を書き込むのは、物理ページの主領域でデータを書き込んだセクターの位置と対応する補助領域での位置に書き込むことを特徴とする請求項1に記載のフラッシュメモリにデータを書き込む方法。
- 前記第1のステップの前に、前記書き込みたいデータの論理ページ番号が書き込まれたことがあるかを判断し、書き込まれたことがあれば、前記第1のステップを行い、書き込まれたことがなければ、既存の物理・論理マッピング情報に基づいて、予め指定された位置にデータ及びそのデータの論理ページ番号を書き込むステップをさらに含むことを特徴とする請求項1に記載のフラッシュメモリにデータを書き込む方法。
- 前記第3のステップで書き込んだ論理ページ番号を有する既存の有効な論理ページに書き込まれたデータのうち、前記第3のステップで書き込んだデータ以外のデータ、及びそのデータの論理セクター番号を前記選択された空いている物理ページにコピーする第4のステップをさらに含むことを特徴とする請求項1に記載のフラッシュメモリにデータを書き込む方法。
- 前記データが上位ページから順次書き込まれる場合に、前記有効な論理ページを検索するのは、1つ以上の同じ論理ページ番号を有する論理ページのうち、最も下位のページを検索することにより行われることを特徴とする請求項4に記載のフラッシュメモリにデータを書き込む方法。
- 前記データがインプレース優先方式で書き込まれる場合に、前記有効な論理ページを検索するのは、1つ以上の同じ論理ページ番号を有する論理ページのうち、インプレース位置にあるページを除いたページを選定し、前記選定されたページのうち、最も下位のページを検索することでさなれることを特徴とする請求項4に記載のフラッシュメモリにデータを書き込む方法。
- 複数のセクターからなる複数のページを有するブロックを一つ以上有し、前記セクターまたは前記ページ単位でデータを書き込み、前記ブロック単位でデータを消去するフラッシュメモリにデータを書き込む方法において、
書き込みたいデータを格納できる空いているセクターが現在のブロックに存在するかどうかを判断する第1のステップと、
前記判断の結果、空いているセクターが存在すると、前記空いているセクターにデータを書き込み、前記空いているセクターが位置した物理ページと同じ物理ページに前記データに対する論理セクター番号を書き込む第2のステップと
を含み、
前記空いているセクターは、前記書き込みたいデータとブロック内のセクターオフセットが一致する空いているセクターである
ことを特徴とするフラッシュメモリにデータを書き込む方法。 - 前記論理セクター番号を書き込むのは、物理ページの主領域でデータを書き込んだセクターの位置と対応する補助領域での位置に書き込むことを特徴とする請求項7に記載のフラッシュメモリにデータを書き込む方法。
- 前記第1のステップは、前記書き込みたいデータと前記オフセットが一致し、次のセクターが空いている空いたセクターが現在のブロックに存在するかを判断することを特徴とする請求項7に記載のフラッシュメモリにデータを書き込む方法。
- 複数のセクターからなる複数のページを有するブロックを一つ以上有し、前記セクターまたは前記ページ単位でデータを書き込み、前記ブロック単位でデータを消去するフラッシュメモリにおいて、
書き込みたいデータと同じ論理ページ番号を有する物理ページのうちの、最も最近に書き込まれた物理ページに、前記書き込みたいデータを格納できる空いているセクターが存在するかどうかを判断し、
前記判断の結果、空いているセクターが存在すると、前記物理ページの空いているセクターにデータを書き込み、前記物理ページに前記データに対する論理セクター番号を書き込み、
前記判断の結果、空いているセクターが存在しないと、空いている物理ページを選択し、空いているセクターにデータを書き込み、前記選択された空いている物理ページに前記データに対する論理ページ番号及び論理セクター番号を書き込むことを特徴とするフラッシュメモリ。 - 前記論理セクター番号を書き込むのは、物理ページの主領域でデータを書き込んだセクターの位置と対応する補助領域での位置に書き込むことを特徴とする請求項10に記載のフラッシュメモリ。
- 前記書き込んだ論理ページ番号を有する既存の有効な論理ページに書き込まれたデータのうち、前記書き込んだデータ以外のデータ、及びそのデータの論理セクター番号を前記選択された空いている物理ページにコピーすることを特徴とする請求項10に記載のフラッシュメモリ。
- 複数のセクターからなる複数のページを有するブロックを一つ以上有し、前記セクターまたは前記ページ単位でデータを書き込み、前記ブロック単位でデータを消去するフラッシュメモリにおいて、
書き込みたいデータを格納できる空いているセクターが現在のブロックに存在するかどうかを判断し、空いているセクターが存在すると、前記空いているセクターにデータを書き込み、前記空いているセクターが位置した物理ページと同じ物理ページに前記データに対する論理セクター番号を書き込むと共に、
前記空いているセクターは、前記書き込みたいデータとブロック内のセクターオフセットが一致する空いているセクターである
ことを特徴とするフラッシュメモリ。 - 前記論理セクター番号を書き込むのは、物理ページの主領域でデータを書き込んだセクターの位置と対応する補助領域での位置に書き込むことを特徴とする請求項13に記載のフラッシュメモリ。
- 前記空いているセクターが現在のブロックに存在するかを判断することは、前記書き込みたいデータと前記オフセットが一致し、次のセクターが空いている空いたセクターが現在のブロックに存在するかを判断することであることを特徴とする請求項13に記載のフラッシュメモリ。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0100488A KR100526188B1 (ko) | 2003-12-30 | 2003-12-30 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007098644A Division JP2007184005A (ja) | 2003-12-30 | 2007-04-04 | フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005196736A JP2005196736A (ja) | 2005-07-21 |
JP3977370B2 true JP3977370B2 (ja) | 2007-09-19 |
Family
ID=34567858
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004306003A Active JP3977370B2 (ja) | 2003-12-30 | 2004-10-20 | フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ |
JP2007098644A Pending JP2007184005A (ja) | 2003-12-30 | 2007-04-04 | フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007098644A Pending JP2007184005A (ja) | 2003-12-30 | 2007-04-04 | フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ |
Country Status (5)
Country | Link |
---|---|
US (1) | US7702844B2 (ja) |
EP (1) | EP1550952A3 (ja) |
JP (2) | JP3977370B2 (ja) |
KR (1) | KR100526188B1 (ja) |
CN (2) | CN1295622C (ja) |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8452938B1 (en) * | 2004-12-30 | 2013-05-28 | Azul Systems, Inc. | Garbage collection with memory quick release |
WO2007058617A1 (en) * | 2005-11-17 | 2007-05-24 | Chee Keng Chang | A controller for non-volatile memories, and methods of operating the memory controller |
JP4633802B2 (ja) * | 2005-12-09 | 2011-02-16 | パナソニック株式会社 | 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法 |
CN100456263C (zh) * | 2005-12-30 | 2009-01-28 | 深圳市桑达实业股份有限公司 | 在税控收款机中使用闪存时处理坏块的方法 |
KR100703806B1 (ko) | 2006-02-16 | 2007-04-09 | 삼성전자주식회사 | 비휘발성 메모리, 이를 위한 데이터 유효성을 판단하는장치 및 방법 |
KR100781517B1 (ko) * | 2006-02-16 | 2007-12-03 | 삼성전자주식회사 | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 |
JP2007233838A (ja) * | 2006-03-02 | 2007-09-13 | Toshiba Corp | メモリシステムの制御方法 |
KR100736103B1 (ko) | 2006-06-27 | 2007-07-06 | 삼성전자주식회사 | 비휘발성 메모리, 상기 비휘발성 메모리의 데이터 유효성을판단하는 장치 및 방법 |
TW200805394A (en) * | 2006-07-07 | 2008-01-16 | Alcor Micro Corp | Memory storage device and the read/write method thereof |
KR100809319B1 (ko) * | 2006-09-13 | 2008-03-05 | 삼성전자주식회사 | 플래시 메모리에서 연속한 섹터 쓰기 요청에 대해 원자성을제공하는 장치 및 방법 |
KR100843133B1 (ko) * | 2006-09-20 | 2008-07-02 | 삼성전자주식회사 | 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법 |
KR100806343B1 (ko) * | 2006-10-19 | 2008-02-27 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법 |
KR100843135B1 (ko) | 2006-11-20 | 2008-07-02 | 삼성전자주식회사 | 비휘발성 메모리 관리 방법 및 장치 |
KR100825802B1 (ko) * | 2007-02-13 | 2008-04-29 | 삼성전자주식회사 | 기입 데이터의 논리적 페이지보다 이전 논리적 페이지들을가지는 데이터들을 데이터 블록으로부터 복사하는 불휘발성메모리 장치의 데이터 기입 방법 |
KR100817087B1 (ko) * | 2007-02-13 | 2008-03-27 | 삼성전자주식회사 | 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법 |
DE112007003388T5 (de) | 2007-03-21 | 2009-12-24 | Intel Corporation, Santa Clara | Verfahren zum Verwalten von Sektoren eines nicht-flüchtigen Speichers |
KR100889781B1 (ko) * | 2007-04-30 | 2009-03-20 | 삼성전자주식회사 | 멀티-비트 데이터를 저장하는 메모리 시스템, 그것의프로그램 방법, 그것을 포함한 컴퓨팅 시스템 |
CN101398759B (zh) * | 2007-06-29 | 2012-06-13 | 北京中星微电子有限公司 | 避免启动代码在数据段搬移时自我覆盖的方法 |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
WO2009037697A2 (en) | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
WO2009072105A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
WO2009074978A2 (en) | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8276051B2 (en) * | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US8327246B2 (en) | 2007-12-18 | 2012-12-04 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
KR100950281B1 (ko) * | 2008-02-28 | 2010-03-31 | 아주대학교산학협력단 | 플래시 메모리 시스템 및 플래시 메모리의 데이터 연산방법 |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
JP2009282678A (ja) * | 2008-05-21 | 2009-12-03 | Hitachi Ltd | フラッシュメモリモジュール及びストレージシステム |
US8555086B2 (en) * | 2008-06-30 | 2013-10-08 | Intel Corporation | Encrypting data on a non-volatile memory |
JP5180726B2 (ja) * | 2008-07-31 | 2013-04-10 | 株式会社日立製作所 | 記憶装置およびデータ書き込み制御方法 |
KR20100021868A (ko) * | 2008-08-18 | 2010-02-26 | 삼성전자주식회사 | 플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법 |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
CN101676882B (zh) * | 2008-09-16 | 2013-01-16 | 美光科技公司 | 存储器装置的内嵌映射信息 |
KR100965051B1 (ko) | 2008-10-01 | 2010-06-21 | 서울시립대학교 산학협력단 | 플래시 메모리 장치를 위한 가변 공간 페이지 사상 방법 및그 장치 |
US8285970B2 (en) * | 2008-11-06 | 2012-10-09 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
KR101510120B1 (ko) | 2008-11-21 | 2015-04-10 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
KR101022001B1 (ko) * | 2008-12-08 | 2011-03-17 | 주식회사 이스트후 | 플래시 메모리 시스템 및 플래시 메모리의 관리 방법 |
JP2010165251A (ja) * | 2009-01-16 | 2010-07-29 | Toshiba Corp | 情報処理装置及びプロセッサ並びに情報処理方法 |
US8819385B2 (en) * | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8296503B2 (en) * | 2009-05-26 | 2012-10-23 | Mediatek Inc. | Data updating and recovering methods for a non-volatile memory array |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US20110231713A1 (en) * | 2009-11-04 | 2011-09-22 | Hitachi, Ltd. | Flash memory module |
US8626988B2 (en) | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US9229970B2 (en) * | 2009-12-07 | 2016-01-05 | International Business Machines Corporation | Methods to minimize communication in a cluster database system |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8341502B2 (en) | 2010-02-28 | 2012-12-25 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
CN102375779B (zh) * | 2010-08-16 | 2015-08-19 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
CN102736981B (zh) * | 2011-04-08 | 2016-02-03 | 航天信息股份有限公司 | 提高nor flash擦写寿命的方法 |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
CN102955741A (zh) * | 2011-08-30 | 2013-03-06 | 联咏科技股份有限公司 | 存储器装置及其写入方法 |
US9417803B2 (en) | 2011-09-20 | 2016-08-16 | Apple Inc. | Adaptive mapping of logical addresses to memory devices in solid state drives |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
CN102541753B (zh) * | 2011-12-29 | 2015-08-19 | 上海爱信诺航芯电子科技有限公司 | 一种嵌入式存储器的读写优化方法 |
CN102609358B (zh) * | 2012-01-12 | 2014-12-03 | 记忆科技(深圳)有限公司 | 聚集静态数据的方法及其固态硬盘 |
JP5687639B2 (ja) * | 2012-02-08 | 2015-03-18 | 株式会社東芝 | コントローラ、データ記憶装置及びプログラム |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
CN102662858B (zh) * | 2012-03-08 | 2015-03-25 | 上海爱信诺航芯电子科技有限公司 | 一种扩展sram容量的虚拟存储方法 |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
CN102831072B (zh) * | 2012-08-10 | 2016-03-02 | 深圳市江波龙电子有限公司 | 闪存设备及其管理方法、数据读写方法及读写装置 |
KR101993704B1 (ko) | 2012-08-24 | 2019-06-27 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 저장 장치 및 플래시 메모리를 제어하는 메모리 컨트롤러의 쓰기 메모리 블록 할당 방법 |
US9921954B1 (en) * | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US20140281132A1 (en) * | 2013-03-15 | 2014-09-18 | Marielle Bundukin | Method and system for ram cache coalescing |
KR101453313B1 (ko) * | 2013-03-25 | 2014-10-22 | 아주대학교산학협력단 | 플래시 메모리 기반의 페이지 주소 사상 방법 및 시스템 |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9489294B2 (en) * | 2013-06-19 | 2016-11-08 | Sandisk Technologies Llc | Data encoding for non-volatile memory |
US9489300B2 (en) | 2013-06-19 | 2016-11-08 | Sandisk Technologies Llc | Data encoding for non-volatile memory |
US9489299B2 (en) | 2013-06-19 | 2016-11-08 | Sandisk Technologies Llc | Data encoding for non-volatile memory |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9390008B2 (en) | 2013-12-11 | 2016-07-12 | Sandisk Technologies Llc | Data encoding for non-volatile memory |
CN103617101A (zh) * | 2013-12-12 | 2014-03-05 | 北京旋极信息技术股份有限公司 | 一种掉电保护方法及装置 |
WO2015096698A1 (zh) * | 2013-12-24 | 2015-07-02 | 飞天诚信科技股份有限公司 | 一种Flash的数据写入和读取方法 |
KR102252419B1 (ko) | 2014-01-09 | 2021-05-14 | 한국전자통신연구원 | 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법 |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
KR102430198B1 (ko) | 2014-06-12 | 2022-08-05 | 삼성전자주식회사 | 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법 |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
DE102015200808A1 (de) * | 2015-01-20 | 2016-07-21 | Continental Automotive Gmbh | Verfahren zur Behandlung von Unterbrechungen der Energieversorgung eines sektorweise löschbaren nichtflüchtigen Datenspeichers, elektronisches System und Computerprogrammprodukt |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
CN106095699B (zh) * | 2015-03-20 | 2020-12-01 | 爱思开海力士有限公司 | 用于快闪存储器的可扩展spor算法 |
TWI574274B (zh) * | 2015-05-07 | 2017-03-11 | 慧榮科技股份有限公司 | 循環區塊模式下的資料存取方法以及使用該方法的裝置 |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
TWI601141B (zh) * | 2015-08-21 | 2017-10-01 | 晨星半導體股份有限公司 | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 |
US9996463B2 (en) * | 2015-11-10 | 2018-06-12 | International Business Machines Corporation | Selection and placement of volumes in a storage system using stripes |
CN105511583A (zh) * | 2015-12-02 | 2016-04-20 | 福建星网锐捷网络有限公司 | 用于存储设备的掉电保护电路及方法 |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
KR102611292B1 (ko) * | 2016-06-22 | 2023-12-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11100996B2 (en) * | 2017-08-30 | 2021-08-24 | Micron Technology, Inc. | Log data storage for flash memory |
JP7020989B2 (ja) * | 2018-04-23 | 2022-02-16 | 株式会社メガチップス | 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法 |
CN110888823B (zh) * | 2019-11-26 | 2022-01-21 | 深圳忆联信息系统有限公司 | 页扫描效率的提升方法、装置及计算机设备 |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11650932B2 (en) | 2020-10-25 | 2023-05-16 | Western Digital Technologies, Inc. | Integrated non-volatile memory assembly with address translation |
KR20230100008A (ko) * | 2021-12-28 | 2023-07-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
CN114816833B (zh) * | 2022-04-15 | 2023-07-18 | 巨翊科技(上海)有限公司 | 一种flash数据的写入方法、装置以及系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
US5359570A (en) | 1992-11-13 | 1994-10-25 | Silicon Storage Technology, Inc. | Solid state peripheral storage device |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JPH08137634A (ja) | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
JP3464836B2 (ja) * | 1995-01-19 | 2003-11-10 | 富士通株式会社 | 記憶装置のメモリ管理装置 |
JP3706167B2 (ja) | 1995-02-16 | 2005-10-12 | 株式会社ルネサステクノロジ | 半導体ディスク装置 |
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
KR100577380B1 (ko) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
KR100644602B1 (ko) | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
TW539946B (en) | 2001-08-07 | 2003-07-01 | Solid State System Company Ltd | Window-based flash memory storage system, and the management method and the access method thereof |
JP2003058417A (ja) * | 2001-08-21 | 2003-02-28 | Matsushita Electric Ind Co Ltd | 記憶装置 |
US6760805B2 (en) | 2001-09-05 | 2004-07-06 | M-Systems Flash Disk Pioneers Ltd. | Flash management system for large page size |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
US6711663B2 (en) | 2001-11-15 | 2004-03-23 | Key Technology Corporation | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP4034971B2 (ja) | 2002-01-21 | 2008-01-16 | 富士通株式会社 | メモリコントローラおよびメモリシステム装置 |
JP3826115B2 (ja) | 2002-06-20 | 2006-09-27 | 東京エレクトロンデバイス株式会社 | 記憶装置、メモリ管理方法及びプログラム |
US7076598B2 (en) * | 2003-09-09 | 2006-07-11 | Solid State System Co., Ltd. | Pipeline accessing method to a large block memory |
-
2003
- 2003-12-30 KR KR10-2003-0100488A patent/KR100526188B1/ko active IP Right Grant
-
2004
- 2004-10-20 JP JP2004306003A patent/JP3977370B2/ja active Active
- 2004-12-22 US US11/018,673 patent/US7702844B2/en active Active
- 2004-12-24 EP EP04258142A patent/EP1550952A3/en not_active Withdrawn
- 2004-12-30 CN CNB2004101040229A patent/CN1295622C/zh active Active
- 2004-12-30 CN CN2006101018722A patent/CN1900919B/zh active Active
-
2007
- 2007-04-04 JP JP2007098644A patent/JP2007184005A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2005196736A (ja) | 2005-07-21 |
EP1550952A3 (en) | 2008-01-23 |
CN1295622C (zh) | 2007-01-17 |
KR20050070672A (ko) | 2005-07-07 |
US7702844B2 (en) | 2010-04-20 |
US20050144368A1 (en) | 2005-06-30 |
EP1550952A2 (en) | 2005-07-06 |
JP2007184005A (ja) | 2007-07-19 |
CN1637721A (zh) | 2005-07-13 |
KR100526188B1 (ko) | 2005-11-04 |
CN1900919B (zh) | 2010-06-16 |
CN1900919A (zh) | 2007-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3977370B2 (ja) | フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
JP4897524B2 (ja) | ストレージシステム及びストレージシステムのライト性能低下防止方法 | |
KR100389867B1 (ko) | 플래시 메모리 관리방법 | |
KR100684887B1 (ko) | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 | |
KR100706242B1 (ko) | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 | |
US6282605B1 (en) | File system for non-volatile computer memory | |
JP4931810B2 (ja) | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 | |
JP3942612B2 (ja) | 記憶装置、メモリ管理方法及びプログラム | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
JP2005242897A (ja) | フラッシュディスク装置 | |
JP2008524705A (ja) | スクラッチパッドブロック | |
KR20000048766A (ko) | 비휘발성 메모리에서 파일의 연속 중복기재를 수행하는 방법 | |
TW200926182A (en) | Memory apparatus and method for accessing a flash memory, and method of evenly using blocks of the flash memory | |
WO2005059966A2 (en) | Rotational use of memory to minimize write cycles | |
US20100318726A1 (en) | Memory system and memory system managing method | |
JP5874525B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
JP2009205689A (ja) | フラッシュディスク装置 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP3826115B2 (ja) | 記憶装置、メモリ管理方法及びプログラム | |
KR100703727B1 (ko) | 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법 | |
JP2004078902A (ja) | 記憶装置、メモリ管理方法及びプログラム | |
US6871260B2 (en) | Non-volatile memory based storage system capable of directly overwriting without using redundancy and its writing method | |
JP2012037971A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
JP5707695B2 (ja) | フラッシュディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070404 |
|
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: 20070522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3977370 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: 20110629 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110629 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120629 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130629 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |