JP5192388B2 - レガシーホストのための方法およびメモリシステム - Google Patents
レガシーホストのための方法およびメモリシステム Download PDFInfo
- Publication number
- JP5192388B2 JP5192388B2 JP2008542499A JP2008542499A JP5192388B2 JP 5192388 B2 JP5192388 B2 JP 5192388B2 JP 2008542499 A JP2008542499 A JP 2008542499A JP 2008542499 A JP2008542499 A JP 2008542499A JP 5192388 B2 JP5192388 B2 JP 5192388B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- legacy
- memory device
- host
- ecc
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Description
図1は、レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストを概略的に示す。レガシーホスト10はコネクタ20を有し、このコネクタがレガシーメモリデバイス30の相補形コネクタ20’と嵌合すると、レガシーホスト10からレガシーメモリデバイス30にかけて1セットのデータおよび制御線21がつながる。
また、図1は、本発明の好適な実施形態に従い、レガシーホストとともに動作するように適応する非レガシーメモリデバイスを示す。非レガシーメモリデバイス100はメモリアレイ110を含み、このメモリアレイは通常、単位記憶当たりの低コストと大容量を提供する後続世代のメモリ技術によって製造される。好適な実施形態において、多状態メモリセルからメモリアレイ110が構成され、そのメモリセルは1ビットより多くのデータを個別に格納する。
本発明の一態様によると、非レガシーメモリデバイスは、非レガシーメモリデバイスの誤り訂正とは異なるレガシーメモリデバイスの誤り訂正を処理するように本来設計されたレガシーホストとともに動作するように適応する。これは、非レガシーメモリデバイスに適したECC(誤り訂正符号)を処理し、次にレガシーECCを計算し、ホストに提示するためのメモリコントローラを非レガシーメモリデバイスとともに提供することにより達成される。かくして、ホストに変更を施さずとも非レガシーメモリデバイスの誤り訂正は処理される。
単一ビット記憶とマルチビット記憶の違いのほかに、非レガシーメモリデバイスは通常、性能を高めるためにより大きい消去可能なブロックサイズを持つ。レガシーメモリデバイス向けに本来設計されたホストに非レガシーメモリデバイスを適合させる場合、ホストにとって、これが、レガシーメモリデバイスと同様のアーキテクチャとアドレス方式を持つものとして映らなければならない。
本発明のもうひとつの態様によると、レガシーホストがセクタのヘッダで更新することを期待するステータス情報は、非レガシーメモリデバイスのコントローラによって格納されるテーブルの中で代わりに保守され、更新される。かくして、非レガシーメモリデバイスが後述する部分上書きを支援しない場合でも、レガシーホストとの適合性は保たれる。
Claims (13)
- 第1のセットのメモリおよび通信特性を有する第1のメモリデバイスを、前記第1のメモリデバイスとともに動作しないが、第2のセットのメモリおよび通信特性を有するレガシーメモリデバイスとともに動作するように本来設計されたホストとともに動作するように適応させる方法であって、
前記第1のメモリデバイスと前記ホストとの間にインターフェイス回路を設けるステップと、
前記第1のセットのメモリおよび通信特性を有する第1のメモリデバイスを、前記第2のセットのメモリおよび通信特性とともに動作する前記ホストに連係するステップと、を含み、
前記連係するステップは、前記第1および第2のセットのメモリおよび通信特性間に存在する少なくとも1つの差異を解決し、前記少なくとも1つの差異は、誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択され、
前記少なくとも1つの差異は、前記第1のセットのメモリおよび通信特性の中でメモリ動作状態を指示するステータスビットを含み、
前記連係するステップは、
前記第1のメモリデバイスに格納されたディレクトリを保守することと、
前記メモリ動作状態の有無に応じて前記ステータスビットの値を前記ディレクトリに格納することと、をさらに含む方法。 - 請求項1記載の方法において、
前記第1のメモリデバイスはマルチビットメモリセルを備え、前記ホストは、単一ビットメモリセルを有する前記レガシーメモリデバイスを動作させるように本来設計された方法。 - 請求項1記載の方法において、
前記少なくとも1つの差異は消去可能なメモリブロックサイズを含み、前記第1のメモリデバイスのメモリブロックサイズは、前記ホストが本来動作するように設計された、前記レガシーメモリデバイスに適合するメモリブロックサイズとは異なり、
前記連係するステップは、前記第1のメモリデバイスのメモリブロックと前記レガシーメモリデバイスに適合するメモリブロックとをマッピングする方法。 - 請求項3記載の方法において、
前記第1のメモリデバイスのメモリブロックサイズは、前記レガシーメモリデバイスに適合するメモリブロックサイズより大きい方法。 - 請求項1記載の方法において、
前記連係するステップは、非同期である方法。 - 第2のメモリシステムとともに動作しないが、第1のメモリシステムとともに動作するように設計され、前記第1のメモリシステムから引き出されたデータの誤りを第1の誤り訂正符号(ECC)により訂正するホストを有するシステムにて、第2のECCを使用する前記第2のメモリシステムとともに前記ホストを動作させる方法であって、
前記第2のメモリシステムに第2のECC計算モジュールを設けるステップと、
前記第2のメモリシステムから引き出されたデータのため、前記第2のECC計算モジュールを用いて前記第2のECCを処理するステップと、
前記第2のECCによって処理されたデータを用いて前記第1のECCを計算するステップと、
データを前記第1のECCとともに前記ホストへ提示するステップと、を含み、
前記第2のメモリシステムはマルチビットメモリセルを備え、前記第1のメモリシステムは単一ビットメモリセルを備える方法。 - メモリデバイスであって、
第1のセットのメモリおよび通信特性を備える少なくとも1つのメモリチップと、
レガシーホストへ結合するためのコネクタと、
前記レガシーホストは、第2のセットのメモリおよび通信特性を有するレガシーメモリデバイスとともに動作するように設計されているが、前記少なくとも1つのメモリチップとともに動作するようには設計されておらず、
前記レガシーホストが前記コネクタへ結合されているときに前記メモリデバイスが前記レガシーメモリデバイスを模倣することを可能にするため、前記コネクタと前記少なくとも1つのメモリチップとの間に結合されるインターフェイス回路と、を備え、
前記インターフェイス回路は、前記第1および第2のセットのメモリおよび通信特性間に存在する少なくとも1つの差異を解決し、前記少なくとも1つの差異は、誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択され、
前記少なくとも1つの差異は、前記第2のセットのメモリおよび通信特性の中で誤り訂正符号(ECC)を含み、
前記インターフェイス回路は、前記ECCを処理するECC計算モジュールを含むメモリデバイス。 - 請求項7記載のメモリデバイスにおいて、
前記メモリデバイスはマルチビットメモリセルを備え、前記レガシーホストは、単一ビットメモリセルを有する前記レガシーメモリデバイスを動作させるように設計されるメモリデバイス。 - 請求項7記載のメモリデバイスにおいて、
前記少なくとも1つの差異は、前記第1のセットのメモリおよび通信特性の中でメモリ動作状態を指示するステータスビットを含み、
前記インターフェイス回路は、
前記少なくとも1つのメモリチップに格納されるディレクトリと、
前記メモリ動作状態の有無に応じて前記ステータスビットの一状態または代替の状態を前記ディレクトリに格納する回路と、を備えるメモリデバイス。 - 請求項7記載のメモリデバイスにおいて、
前記少なくとも1つの差異はメモリブロックサイズを含み、前記メモリデバイスは、前記レガシーメモリデバイスのメモリブロックサイズより大きいメモリブロックサイズを有するメモリデバイス。 - 請求項7記載のメモリデバイスにおいて、
前記少なくとも1つの差異は各メモリセルに格納されるビット数を含み、前記メモリデバイスは、前記レガシーホストが本来動作するように設計された、前記レガシーメモリデバイスより多くのビットを各メモリセルにつき格納するメモリデバイス。 - 請求項7記載のメモリデバイスにおいて、
前記インターフェイス回路は、
前記レガシーホストと連係する非同期ホストインターフェイス装置と、
前記少なくとも1つのメモリチップと連係する非同期メモリチップインターフェイス装置と、
前記非同期ホストインターフェイス装置と前記非同期メモリチップインターフェイス装置とを制御する制御装置と、
をさらに備えるメモリデバイス。 - 請求項12記載のメモリデバイスにおいて、
前記インターフェイス回路は、前記第1および第2のセットのメモリおよび通信特性間に存在する差異を解決するため、前記制御装置によって実行される1セットのコードをさらに備えるメモリデバイス。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/285,992 US7747927B2 (en) | 2005-11-22 | 2005-11-22 | Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system |
US11/286,100 | 2005-11-22 | ||
US11/286,100 US7739472B2 (en) | 2005-11-22 | 2005-11-22 | Memory system for legacy hosts |
US11/285,992 | 2005-11-22 | ||
PCT/US2006/060932 WO2007062307A2 (en) | 2005-11-22 | 2006-11-15 | Method and memory system for legacy hosts |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009516889A JP2009516889A (ja) | 2009-04-23 |
JP5192388B2 true JP5192388B2 (ja) | 2013-05-08 |
Family
ID=37964027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008542499A Expired - Fee Related JP5192388B2 (ja) | 2005-11-22 | 2006-11-15 | レガシーホストのための方法およびメモリシステム |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1952404B1 (ja) |
JP (1) | JP5192388B2 (ja) |
KR (1) | KR101398403B1 (ja) |
AT (1) | ATE467893T1 (ja) |
DE (1) | DE602006014299D1 (ja) |
TW (1) | TWI319879B (ja) |
WO (1) | WO2007062307A2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080306723A1 (en) * | 2007-06-08 | 2008-12-11 | Luca De Ambroggi | Emulated Combination Memory Device |
WO2016054212A1 (en) * | 2014-10-01 | 2016-04-07 | Cacheio Llc | Efficient metadata in a storage system |
JP6443572B1 (ja) * | 2018-02-02 | 2018-12-26 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887145A (en) * | 1993-09-01 | 1999-03-23 | Sandisk Corporation | Removable mother/daughter peripheral card |
JPH1131102A (ja) * | 1997-07-14 | 1999-02-02 | Toshiba Corp | データ記憶システム及び同システムに適用するアクセス制御方法 |
AU4371700A (en) * | 1999-04-30 | 2000-11-17 | Centennial Technologies, Inc. | Combination ata/linear flash memory device |
US6438638B1 (en) * | 2000-07-06 | 2002-08-20 | Onspec Electronic, Inc. | Flashtoaster for reading several types of flash-memory cards with or without a PC |
US6721843B1 (en) * | 2000-07-07 | 2004-04-13 | Lexar Media, Inc. | Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible |
US6349056B1 (en) * | 2000-12-28 | 2002-02-19 | Sandisk Corporation | Method and structure for efficient data verification operation for non-volatile memories |
EP1399819A2 (en) * | 2001-04-24 | 2004-03-24 | Koninklijke Philips Electronics N.V. | Improved error correction scheme for use in flash memory allowing bit alterability |
US20040049627A1 (en) * | 2001-11-09 | 2004-03-11 | Flex-P Industries | Method and system for controlling compact flash memory |
US6704852B2 (en) * | 2001-11-16 | 2004-03-09 | Key Technology Corporation | Control device applicable to flash memory card and method for building partial lookup table |
KR100448905B1 (ko) * | 2002-07-29 | 2004-09-16 | 삼성전자주식회사 | 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 |
JP4314057B2 (ja) * | 2003-04-18 | 2009-08-12 | サンディスク コーポレイション | 不揮発性半導体記憶装置および電子装置 |
US8504798B2 (en) * | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
KR100648243B1 (ko) * | 2004-03-19 | 2006-11-24 | 삼성전자주식회사 | 낸드 플래시 메모리를 사용하는 메모리 카드 |
-
2006
- 2006-11-15 WO PCT/US2006/060932 patent/WO2007062307A2/en active Application Filing
- 2006-11-15 JP JP2008542499A patent/JP5192388B2/ja not_active Expired - Fee Related
- 2006-11-15 AT AT06846313T patent/ATE467893T1/de not_active IP Right Cessation
- 2006-11-15 DE DE602006014299T patent/DE602006014299D1/de active Active
- 2006-11-15 EP EP06846313A patent/EP1952404B1/en not_active Not-in-force
- 2006-11-15 KR KR1020087013507A patent/KR101398403B1/ko active Active
- 2006-11-22 TW TW095143261A patent/TWI319879B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR101398403B1 (ko) | 2014-05-26 |
ATE467893T1 (de) | 2010-05-15 |
DE602006014299D1 (de) | 2010-06-24 |
KR20080089568A (ko) | 2008-10-07 |
TW200811868A (en) | 2008-03-01 |
WO2007062307A2 (en) | 2007-05-31 |
EP1952404B1 (en) | 2010-05-12 |
WO2007062307A3 (en) | 2008-07-10 |
JP2009516889A (ja) | 2009-04-23 |
TWI319879B (en) | 2010-01-21 |
EP1952404A2 (en) | 2008-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739472B2 (en) | Memory system for legacy hosts | |
CN1658171B (zh) | 通过控制频繁受访问扇区对非易失性存储器的更快写操作 | |
KR101517416B1 (ko) | 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기 | |
US6906961B2 (en) | Erase block data splitting | |
TWI575374B (zh) | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
US8041878B2 (en) | Flash file system | |
US5907856A (en) | Moving sectors within a block of information in a flash memory mass storage architecture | |
US6978342B1 (en) | Moving sectors within a block of information in a flash memory mass storage architecture | |
US5754567A (en) | Write reduction in flash memory systems through ECC usage | |
US20110099323A1 (en) | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping | |
TWI785876B (zh) | 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置 | |
US7747927B2 (en) | Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system | |
JP5192388B2 (ja) | レガシーホストのための方法およびメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091028 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120214 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120501 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120510 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121127 |
|
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: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130131 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5192388 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160208 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |