JP2006195990A - 半導体ディスク制御装置 - Google Patents

半導体ディスク制御装置 Download PDF

Info

Publication number
JP2006195990A
JP2006195990A JP2006003004A JP2006003004A JP2006195990A JP 2006195990 A JP2006195990 A JP 2006195990A JP 2006003004 A JP2006003004 A JP 2006003004A JP 2006003004 A JP2006003004 A JP 2006003004A JP 2006195990 A JP2006195990 A JP 2006195990A
Authority
JP
Japan
Prior art keywords
port
data
block
memory
control device
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.)
Granted
Application number
JP2006003004A
Other languages
English (en)
Other versions
JP5032027B2 (ja
Inventor
Dong-Ryul Ryu
同烈 柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006195990A publication Critical patent/JP2006195990A/ja
Application granted granted Critical
Publication of JP5032027B2 publication Critical patent/JP5032027B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】半導体ディスク制御装置を提供する。
【解決手段】第1のポートと、複数のチャネルを有する第2のポートと、CPUバスに連結された中央処理装置と、第2のポートから第1のポートへ又は第1のポートから第2のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、CPUバスに連結され、中央処理装置の制御に応じてバッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御/仲裁ブロックと、第1のポートとバッファ制御/仲裁ブロックとの間に連結され、CPUバスを使用せずにバッファメモリに貯蔵される/から読み取られたデータを伝送するように構成された第1のデータ伝送ブロックと、第2のポートとバッファ制御/仲裁ブロックとの間に連結され、CPUバスを使用せずにバッファメモリに貯蔵される/から読み取られたデータを伝送するように構成された第2のデータ伝送ブロックと、を含む。
【選択図】図1

Description

本発明は、電子装置に関するものであり、より詳しくは、半導体ディスク制御装置に関するものである。
この分野でよく知られているように、コンピュータシステムは一般に多様な形態のメモリシステムを使用する。例えば、コンピュータシステムは、半導体装置から構成された所謂メインメモリを使用する。この半導体装置は、一般に次のような属性を有している。半導体装置は、相当に早いアクセス速度でランダムに書き込まれるか、或いは読み取られ、一般にランダムアクセスメモリと称される。しかし、半導体メモリが比較的高価なので、他の高密度かつ低価格メモリがしばしば使用される。例えば、他のメモリシステムは、マグネチックディスク貯蔵システムを含む。マグネチックディスク貯蔵システムの場合、アクセス速度が数十msである反面、メインメモリの場合は、アクセス速度が数百nsである。ディスク貯蔵装置は、必要時に、メインメモリに、順次、読み取られる大容量データを貯蔵するのに使用される。他の形態のディスクのような貯蔵装置は、半導体ディスク(Solid State Disk;以下、SSDと称する。)(又は、半導体ドライブと称する。)である。SSDは、一般的なハードディスクドライブで使用される回転皿の代わりにデータを貯蔵するのにSDRAMのようなメモリチップを使用したデータ貯蔵装置である。
“SSD”という用語は、二つの異なる種類の製品に使用される。SDRAMのような高速かつ揮発性メモリを用いた一番目の形態のSSDは、相当に早いデータアクセスによって特徴付けられ、ディスクドライブのレイテンシーによって遅延されたアプリケーションの速度を増すのに主に使用される。こうしたSSDは揮発性メモリを使用するので、データ持続性を保障するために内部バッテリー及びバックアップディスクシステムが一般にSSD内に含まれている。もし電源がどんな理由によってであれ遮断されれば、バッテリーは全てのデータをRAMからバックアップディスクへ複写するのに十分な長い時間の間、ユニットに電源を供給する。電源が復旧されることによって、データはバックアップディスクからRAMへ再び複写され、SSDは正常動作を再開する。こうした装置は、特に多量のRAMを有するコンピュータで特に有用である。二番目のタイプのSSDは、データを貯蔵するのにフラッシュメモリを使用する。こうしたSSDは、ハードドライブの代替として一般に使用される。一番目のタイプとの混同を避けるために、こうしたディスクは一般にフラッシュディスクと称される。
本発明の技術的課題は、CPUバス速度の制限なしでデータを伝送できる半導体ディスク制御装置を提供するところにある。
前述した技術的課題を達成するための本発明の特徴によれば、半導体ディスク制御装置は、第1のポートと、複数のチャネルを有する第2のポートと、CPUバスに連結された中央処理装置と、第2のポートから第1のポートへ又は第1のポートから第2のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、CPUバスに連結され、中央処理装置の制御に応じてバッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御/仲裁ブロックと、第1のポートとバッファ制御/仲裁ブロックとの間に連結され、CPUバスを使用せずにバッファメモリに貯蔵される/から読み取られたデータを伝送するように構成された第1のデータ伝送ブロックと、第2のポートとバッファ制御/仲裁ブロックとの間に連結され、CPUバスを使用せずにバッファメモリに貯蔵される/から読み取られたデータを伝送するように構成された第2のデータ伝送ブロックと、を含む。
好適な実施形態において、第1のデータの伝送ブロックは、CPUバスに連結され、中央処理装置の制御に応じて第1のポートを通じて外部ホストとインターフェースするように構成されたホストインターフェース制御ブロックと、ホストインターフェース制御ブロックとバッファ制御/仲裁ブロックとの間にデータの伝送経路を提供するように構成された第1のFIFOと、を含む。
好適な実施形態において、第1のポートは、直列ATAインターフェース方式の外部ホストと連結される第1のチャネルと、並列ATAインターフェース方式の外部ホストと連結される第2のチャネルと、第1のチャネルを通じて入力される/出力されるデータを直列ATAフォーマットに/並列ATAフォーマットに変換する変換ブロックと、第2のチャネルを通じて入力されたデータ又は変換ブロックから出力されたデータを選択的にホストインターフェース制御ブロックにそしてホストインターフェース制御ブロックから出力されたデータを選択的に第2のチャネル又は変換ブロックに伝達するマルチプレクサと、を含む。
好適な実施形態において、第1のポートは、第1のチャネルを通じて入力されたデータがホストインターフェース制御ブロックに直接伝送されるようにそしてホストインターフェースブロックから出力されたデータが第1のチャネルを通じて直列ATAインターフェース方式の外部ホストに直接伝送されるように構成される。
好適な実施形態において、第2のデータ伝送ブロックは、CPUバスに連結され、中央処理装置の制御に応じて第2のポートを通じて半導体メモリとインターフェースするように構成されたメモリインターフェース制御ブロックと、第2のポートのチャネルにそれぞれ対応し、メモリインターフェース制御ブロックとバッファ制御/仲裁ブロックとの間にデータ伝送経路を提供するように構成された複数の第2のFIFOと、を含む。
好適な実施形態において、第2のFIFOにそれぞれ連結され、対応する第2のFIFOを通じて伝送されるデータのエラーを検出するようにそして半導体メモリに伝送されるデータのエラー訂正コードを生成するように構成された複数のエラー訂正コードブロックをさらに含む。
好適な実施形態において、エラー訂正コードブロックのそれぞれは、対応するFIFOを通じて伝達されるデータからエラーが検出されるとき中央処理装置の介入なしでエラーデータを訂正するように構成される。
好適な実施形態において、第2のポートのチャネルのそれぞれには、複数の不揮発性メモリが連結される。
好適な実施形態において、各チャネルに連結された不揮発性メモリは、同一なタイプの不揮発性メモリから構成される。
好適な実施形態において、各チャネルには、同一なタイプの不揮発性メモリが連結される。
好適な実施形態において、各チャネルには、異なるタイプの不揮発性メモリが連結される。
好適な実施形態において、第2のデータ伝送ブロックは、パワーアップ時、第2のポートのチャネルに連結された不揮発性メモリのタイプを診断し、診断された結果により各チャネルの不揮発性メモリの読み取り及び書き込み動作を制御するように構成される。
好適な実施形態において、第2のデータ伝送ブロックは、第2のポートのチャネルについて読み取り及び書き込み動作が要求されるとき、ハードウェア及びソフトウェアインターリーブ方式のうちいずれか一つによって、第2のポートのチャネルに連結された、半導体メモリについての読み取り及び書き込み動作を制御するように構成される。
好適な実施形態において、バッファ制御/仲裁ブロックは、第1及び第2のFIFOからデータ処理要請が発生するとき、ラウンド−ロビン方式によってデータを処理するように構成される。
好適な実施形態において、メモリインターフェース制御ブロックは、第2のポートを通じて半導体メモリに伝送される第1のクロック信号を発生するように構成された制御ロジックと、半導体メモリは、第1のクロック信号に同期されてデータを出力し、第2のクロック信号に同期されて半導体メモリから伝送されるデータをパッチするように構成されたデータパッチレジスターと、第1のクロック信号を遅延させて第2のクロック信号を出力する遅延回路と、を含む。
好適な実施形態において、遅延回路の遅延時間は、外部から提供される遅延情報によって決定される。
好適な実施形態において、メモリインターフェース制御ブロックは、遅延回路の遅延時間を決定するための遅延情報を貯蔵するように構成されたレジスターをさらに含む。
前述したように、半導体ディスク制御装置のデータ伝送がCPUバスを通じて遂行されるのではなく、FIFO経路を通じて遂行されることによって、半導体ディスク制御装置のデータ伝送速度がCPUバスの速度の影響を受けない。
以下、添付した図面を参照して本発明の好適な実施形態を詳細に説明する。
図1は、本発明に従う半導体ディスク制御装置を示すブロック図である。図1を参照すれば、本発明に従う半導体ディスク制御装置1000は、第1のポートと第2のポートとを含む。本発明に従う半導体ディスク制御装置1000は、第1のポートを通じて外部ホスト(図示せず)とデータをやり取りする。第1のポートは、二つのチャネルすなわち、並列ATAバス(parallel AT attachment bus;以下、PATAバスと称する。)1001と直列ATAバス(serial AT attachment;以下、SATAバスと称する。)1002を含む。第2のポートは複数のチャネルを含み、各チャネルには複数の不揮発性メモリが電気的に連結される。ここで、各チャネルには、同一種類のメモリが連結される。単一のチャネルに連結される不揮発性メモリは、単一−レベルフラッシュメモリ、マルチ−レベルフラッシュメモリ、One_NANDフラッシュメモリ(フラッシュメモリコア及びメモリ制御ロジックが単一のチップに具現されたもの)、又はそのようなものを含む。例えば、一つのチャネルには、単一−レベルフラッシュメモリが連結され、他のチャネルには、マルチ−レベルフラッシュメモリが連結され、さらに他のチャネルにはOne_NANDフラッシュメモリが連結できる。SATAインターフェース(図面には、“SATA I/F”と表記される。)1100は、デバイスドングルと称され、直列/並列データを並列/直列データに変換する。例えば、SATAインターフェース1100は、SATAバス1002を通じて伝送される直列データを入力して並列データに変換する。SATAインターフェース1100は、マルチプレクサ1200から出力される並列データを直列データに変換する。マルチプレクサ1200は、PATAバス1001を通じて入力される並列データをホストインターフェース制御ブロック1300に伝達するか、或いはホストインターフェース制御ブロック1300から出力されるデータをPATAバス1001又はSATAインターフェース1100に伝達する。第1のポートのPATAバス1001及びSATAバス1002のうちいずれが使用されるかは予め設定される。
続けて図1を参照すれば、ホストインターフェース制御ブロック1300は、PATAバス1001(又は、内部IDEバスと称する。)、SATAバス1002、およびCPUバス1003に連結されている。ホストインターフェース制御ブロック1300は、CPU1400の制御に応じてインターフェース動作を遂行する。ホストインターフェース制御ブロック1300を通じて入/出力されるデータは、CPUバス1003を経由せずバッファ制御/仲裁ブロック1600とFIFO(L_FIFO)1500を通じてバッファメモリ1700に臨時貯蔵される。例えば、外部から伝送されるデータはCPU1400の制御に応じてホストインターフェース制御ブロック1300、FIFO(L_FIFO)1500、そしてバッファ制御/仲裁ブロック1600を通じてバッファメモリ1700に臨時貯蔵される。同様に、バッファメモリ1700に臨時貯蔵されたデータはCPU1400の制御に応じてバッファ制御/仲裁ブロック1600、FIFO(L_FIFO)1500、そしてホストインターフェース制御ブロック1300を通じて外部に出力される。結果的に、データ伝送動作は、CPUバス1003を使用せずに遂行され、その結果データ伝送速度は、CPUバス1003の速度の影響を受けない。FIFO(L_FIFO)1500は、ホストインターフェース制御ブロック1300とバッファ制御/仲裁ブロック1500との間に連結され、内部バス1004,1005のバンド幅が相異なる場合、データ伝送途中で発生する未処理データを臨時に貯蔵するのに使用される。動作途中でFIFO(L_FIFO)1500が全てデータで満たされないようにFIFOサイズが適切に決定されなければならない。ホストインターフェース制御ブロック1300は、レジスター1301を含み、レジスター1301には、例えば外部からの動作命令及びアドレスが貯蔵される。ホストインターフェース制御ブロック1300は、貯蔵された命令に応答してCPUバス1003を通じてCPU1400に書き込み又は読み取り動作を知らせる。CPU1400は、入力された情報に応じてホストインターフェース制御ブロック1300及びバッファ制御/仲裁ブロック1600を制御する。これは詳細に後述される。
フラッシュインターフェース制御ブロック1800は、第2のポートを通じて外部の不揮発性メモリとデータをやり取りする。フラッシュインターフェース制御ブロック1800は、NANDフラッシュメモリ、One−NANDフラッシュメモリ、およびマルチ−レベルフラッシュメモリを支援するように構成される。フラッシュインターフェース制御ブロック1800は、所定数のチャネルを含む。一つのチャネルには、複数の不揮発性メモリが連結できる。一つのチャネルには同一種類のメモリが連結される。異なるチャネルには、異なる種類又は同一種類のメモリが装着できる。また、本発明に従う半導体ディスク制御装置1000は、多様な種類の不揮発性メモリが存在するとき、ブーティング時、装着された不揮発性メモリの種類を診断する機能を備える。こうした機能はよく知られたデバイスIDの読み取り動作を通じて容易に達成できる。相異なるチャネルについて読み取り及びプログラム動作が遂行されるとき、本発明に従う半導体ディスク制御装置1000のフラッシュインターフェース制御ブロック1800は、ソフトウェア及びハードウェアインターリーブ動作を選択的に遂行するように構成される。
フラッシュインターフェース制御ブロック1800を通じて伝送されるデータは、FIFO(R0_FIFO−Rn_FIFO)とバッファ制御/仲裁ブロック1600とを通じてバッファメモリ1700に臨時貯蔵される。フラッシュインターフェース制御ブロック1800を通じて入/出力されるデータは、CPUバス1003を経由せずバッファ制御/仲裁ブロック1600とFIFO(R0_FIFO−Rn_FIFO)とを通じてバッファメモリ1700に臨時貯蔵される。例えば、第2のポートを通じて入力されたデータはCPU1400の制御に応じてフラッシュインターフェース制御ブロック1800、FIFO、そしてバッファ制御/仲裁ブロック1600を通じてバッファメモリ1700に臨時貯蔵される。同様に、バッファメモリ1700に臨時貯蔵されたデータはCPU1400の制御に応じてバッファ制御/仲裁ブロック1600、FIFO、そしてフラッシュインターフェース制御ブロック1800を通じて第2のポートに伝達される。結果的に、データ伝送動作は、CPUバス1003を使用せずに遂行され、その結果データ伝送速度は、CPUバス1003の速度の影響を受けない。複数のFIFO(R0_FIFO−Rn_FIFO)は、フラッシュインターフェース制御ブロック1800とバッファ制御/仲裁ブロック1600との間に連結され、内部バス1006<0:n>,1007<0:n>のバンド幅が相異なる場合、データ伝送途中で発生する未処理データを臨時に貯蔵するのに使用される。動作途中でFIFOが全てデータで満たされないようにFIFOサイズが適切に決定されなければならない。
バッファ制御/仲裁ブロック1600は、バッファメモリ1700の読み取り及び書き込み動作を制御するように構成される。例えば、バッファ制御/仲裁ブロック1600は、FIFO(L_FIFO)1500を通じて入力されるデータ又はFIFO(R0_FIFO−Rn_FIFO)を通じて入力されるデータをバッファメモリ1700に貯蔵する。バッファ制御/仲裁ブロック1600は、不揮発性メモリに書き込まれる/外部に伝送されるデータをバッファメモリ1700から読み取る。また、バッファ制御/仲裁ブロック1600は、同時にデータ処理要請が発生する場合、ラウンドロビン方式にデータを処理するように構成される。この際、任意の要請を処理するのにあまり多くの時間が消費されないように一回で処理されるデータ量が限定されなければならない。バッファ制御/仲裁ブロック1600は、FIFO(L_FIFO,R0_FIFO−Rn_FIFO)の同時要請を全て処理できるように十分に大きいデータ処理能力を有する。すなわち、データ処理量(バッファ制御/仲裁ブロック)>=バンド幅L_FIFO+ R0_FIFO+...+Rn_FIFO。
バッファ制御/仲裁ブロック1600とフラッシュインターフェース制御ブロック1800との間に並列に連結されたFIFO(R0_FIFO−Rn_FIFO)には、対応するエラー検査訂正(Error Checking and Correction;ECC)ブロック(以下、ECCブロックと称する。)1900_0−1900_nがそれぞれ連結されている。フラッシュインターフェース制御ブロック1800からバッファメモリ1700へデータが任意のFIFO(例えば、R0_FIFO)を通じて伝送されるとき、このFIFO(R0_FIFO)に対応するECCブロック1900_0はFIFO(R0_FIFO)を通じて伝送されるデータについてエラー検出動作を遂行する。もし伝送されるデータでエラーが発生すれば、ECCブロック1900は、バッファ制御/仲裁ブロック1600にエラー訂正を要請してバッファメモリ1700の内部のエラーデータを修正するように構成される。ECCブロック1900_0−1900_nのそれぞれは、対応するFIFOを通じてフラッシュインターフェース制御ブロック1800にメインデータが伝送されるとき、ECCデータを生成するように構成される。生成されたECCデータは、フラッシュインターフェース制御ブロック1800の制御に応じてメインデータと共にフラッシュメモリに貯蔵される。
バッファメモリ1700は、外部(外部ホスト及び不揮発性メモリ)から伝送されるデータを臨時貯蔵するのに使用される。また、バッファメモリ1700は、CPU1400によって運用されるプログラムを貯蔵するのに使用される。バッファメモリ1700は、好ましくは、SRAMから構成される。バッファメモリ1700は、外部(外部ホスト及び不揮発性メモリ)から伝送されるデータを臨時貯蔵するためのSRAMとCPU1400によって運用されるプログラム及びデータを貯蔵するためのSRAMから構成できる。しかし、バッファメモリがここでの開示に限定されないことは当業者に自明である。CPU1400は、ホスト及びフラッシュインターフェース制御ブロック1300,1800内の制御レジスター1301,1801の値を用いて任意の命令を発生するか、或いは読み取り/書き込み動作に必要な多様な制御情報を制御レジスター1301,1801に設定する。例えば、外部から読み取り/書き込み命令が入力されれば、読み取り/書き込み命令はホストインターフェース制御ブロック1300のレジスター1301に貯蔵される。ホストインターフェース制御ブロック1300は、貯蔵された命令に従ってCPU1400に読み取り/書き込み命令が入力されたことを知らせる。CPU1400は、読み取り/書き込み命令に従ってホストインターフェース制御ブロック1300及びバッファ制御/仲裁ブロック1600を制御する。また、CPU1400は、フラッシュインターフェース制御ブロック1800のレジスター1801に読み取り/書き込み命令を貯蔵する。フラッシュインターフェース制御ブロック1800は、レジスター1801に貯蔵された命令に従って第2のチャネルを通じてフラッシュメモリについての読み取り/書き込み動作を制御する。
本発明によれば、第2のポートに連結される不揮発性メモリについての読み取り又は書き込み動作が要求されるとき、データ伝送は半導体ディスク制御装置1000内のCPUバス1003を通じて遂行されるのではなく、FIFO経路を通じて遂行される。すなわち、第1のポートから第2のポートへの(又は第2のポートから第1のポートへの)データ伝送はCPUバス1003を使用せずに遂行され、その結果、データ伝送速度はCPUバス1003の速度の影響を受けない。
図2は、図1に示されたバッファ制御/仲裁ブロックとFIFOとを連結するバス構造を示すブロック図であり、図3A及び図3Bはバッファ制御/仲裁ブロックとFIFOの動作とを説明するためのタイミング図である。
先ず、図2を参照すれば、バッファ制御/仲裁ブロック1600は、FIFO(L_FIFO,R0_FIFO−Rn_FIFO)からデータ処理についての要請があるとき、データ処理要請を承認するように構成される。FIFO(L_FIFO)とバッファ制御/仲裁ブロック1600との間のバス1005は、要請信号REQ0、承認信号GRT0、読み取り/書き込み区別信号RW0、アドレスADDRESS0、読み取りデータRD0、書き込みデータWD0、そしてデータ有効区間信号D_VALID0を伝送するように構成される。同様に、FIFO(R0_FIFO−Rn_FIFO)とバッファ制御/仲裁ブロック1600との間のバス1006_0−1006_nのそれぞれは、要請信号REQ1、承認信号GRT1、読み取り/書き込み区別信号RW1、アドレスADD1、読み取りデータRD1、書き込みデータWD1、そしてデータ有効区間信号D_VALID1を伝送するように構成される。
バッファメモリ1700からFIFO(L_FIFO)へデータを伝送する場合、図3Aに示されたように、FIFO(L_FIFO)は読み取り動作のための要請信号REQ0を活性化させる。これと同時に、読み取ろうとするデータのアドレスADDRESS0がFIFO(L_FIFO)からバッファ制御/仲裁ブロック1600へ伝送される。要請信号REQ0が活性化されるとき、バッファ制御/仲裁ブロック1600は、以前に進行中であるプロセスがないか、或いは終了された場合、承認信号GRT0を活性化させる。データ処理要請が承認されることによって、FIFO(L_FIFO)は、アドレスを順次にバッファ制御/仲裁ブロック1600に送る。バッファ制御/仲裁ブロック1600は、入力されたアドレスADD1−ADD8によってバッファメモリ1700からデータを読み取り、有効なデータ区間信号D_VALID0の活性化間読み取られたデータをFIFO(L_FIFO)に出力する。この際、FIFO(L_FIFO)は予め決められた量のデータ(例えば、8個のN−ビットデータ)が入力されるとき、要請信号REQ0を非活性化させ、これはバッファ制御/仲裁ブロック1600が他のFIFOの要請を処理させる。
FIFO(L_FIFO)からバッファメモリ1700へデータを伝送する場合、図3Bに示されたように、FIFO(L_FIFO)は書き込み動作のための要請信号REQ0を活性化させる。要請信号REQ0が活性化されるとき、バッファ制御/仲裁ブロック1600は以前に進行中であるプロセスがないか、或いは終了された場合承認信号GRT0を活性化させる。データ処理要請が承認されることによって、図3Bに示されたように、FIFO(L_FIFO)は書き取ろうとするデータと共にアドレスをバッファ制御/仲裁ブロック1600に順次に送る。バッファ制御/仲裁ブロック1600は、入力されたデータをバッファメモリ1700に貯蔵する。この際、FIFO(L_FIFO)は、予め決められた量のデータ(例えば、8個のN−ビットデータ)が出力されるとき要請信号REQ0を非活性化させ、これはバッファ制御/仲裁ブロック1600が他のFIFOの要請を処理させる。
バッファメモリ1700からFIFO(Ri_FIFO)へのデータ伝送は、図3Aに示されたことと同一に遂行され、FIFO(Ri_FIFO)からバッファメモリ1700へのデータ伝送は図3Bに示されたことと同一に遂行される。従って、FIFO(R0_FIFO−Rn_FIFO)と関連された読み取り及び書き込み動作は省略される。
図4は、図1に示されたECCブロックのバス構造を示すブロック図であり、図5はECCブロックのエラー検出及び訂正動作を説明するためのタイミング図である。先ず、図4を参照すれば、ECCブロック1900_0とFIFO(R0_FIFO)を連結するためのバスは、ECC要請信号ECC_REQ、ECC読み取り/書き込み区別信号ECC_RW、ECCアドレスECC_ADDRESS、ECC訂正データECC_RMWD、ECC承認信号ECC_GRT、そしてECC読み取りデータECC_RDを伝送するように構成される。
FIFO(R0_FIFO)を経由してバッファメモリ1700にデータが伝送されると仮定しよう。もし伝送されたデータにエラーが発生すれば、ECCブロック1900_0はECC要請信号ECC_REQを活性化させ、この要請信号ECC_REQは、エラーデータのアドレスADD1と共にFIFO(R0_FIFO)を通じてバッファ制御/仲裁ブロック1600に伝達される。バッファ制御/仲裁ブロック1600は、エラー訂正のための要請信号ECC_REQがアドレスADD1と共に入力されるとき、承認信号ECC_GRTを活性化させる。この際、ECC読み取り/書き込み区別信号ECC_RWは読み取り動作を示すようにハイに維持される。ECC読み取り/書き込み区別信号ECC_RWのハイ−レベル状態時、エラーデータはバッファ制御/仲裁ブロック1600の制御下でバッファメモリ1700から読み取られる。そのように読み取られたエラーデータRDは、FIFO(R0_FIFO)を通じてECCブロック1900_0に伝達される。エラーデータRDはECCブロック1900_0で訂正され、エラー訂正されたデータRMWDはFIFO(R0_FIFO)を通じてバッファ制御/仲裁ブロック1600に伝達される。この際、ECC読み取り/書き込み区別信号ECC_RWは書き込み動作を示すローレベルに遷移する。バッファ制御/仲裁ブロック1600は、ECC読み取り/書き込み区別信号ECC_RWに応答してエラー訂正されたデータRMWDがバッファメモリ1700に貯蔵する。以後、バッファ制御/仲裁ブロック1600は承認信号ECC_GRTを非活性化させる。
図6は、図1に示されたフラッシュインターフェース制御ブロックのチャネルのうちいずれか一つを示すブロック図である。
図6を参照すれば、一つのチャネルには複数の不揮発性メモリが連結されている。例示的な実施形態において、不揮発性メモリはNANDフラッシュメモリから構成される。よく知られたように、NANDフラッシュメモリは、命令/アドレス/データマルチプレキシング入/出力構造(command/address/data multiplexing I/O structure)を有する。これは、入出力ピンを通じて命令、アドレス及びデータが提供されることを意味する。一つのチャネルに四つの不揮発性メモリが連結されると仮定すれば、チャネルはメモリM0,M1,M2,M3に共通に連結された入出力ライン1802、対応するメモリにそれぞれ連結された四つのチップイネーブル信号ライン1803a−1803d、そして対応するメモリにそれぞれ連結された四つのレディー/ビジー信号ライン1804a−1804dから構成される。また、図面には示されていないが、/WE,/RE,CLE,ALEなどのような他の制御信号が不揮発性メモリに共通に提供される。
四つのフラッシュメモリM0−M3が一つのチャネルに連結されると仮定しよう。こうした仮定下で、ハードウェア及びソフトウェアインターリーブ方式の書き込み動作が以下詳細に説明される。書き込み動作を遂行するために、CPU1400は、CPUバス1003を通じてフラッシュインターフェース制御ブロック1800のレジスター1801に書き込み命令を貯蔵する。フラッシュインターフェース制御ブロック1800は、レジスター1801に貯蔵された書き込み命令に応答してフラッシュメモリについての書き込み動作を遂行する。前述したチャネル構造の場合、書き取られるセクタ数が二つ以上であれば、フラッシュメモリについての書き込み動作がハードウェア及びソフトウェアインターリーブ方式に遂行できる。先ず、ハードウェアインターリーブ方式の書き込み動作が図7を参照して以下説明される。図7には、4−ウェイ(way)インターリーブ方式による書き込み過程を説明するためのタイミング図が示されている。
図7を参照すれば、一旦CPU1400によって任意チャネルについての書き込み命令がフラッシュインターフェース制御ブロック1800のレジスター1801に書き込まれれば、フラッシュインターフェース制御ブロック1800は、CPU1400の介入なしで連続的にプログラムされるデータをフラッシュメモリM0−M3に伝送する。例えば、プログラムされるデータが命令及びアドレスと共にチャネル(すなわち、入出力ライン)1802を通じてフラッシュメモリM0に連続的に伝送され、伝送されたデータは一定時間tPROG(M0)中フラッシュメモリM0のメモリセルアレイに貯蔵される。フラッシュメモリM0の書き込み動作が遂行されれば、図7に示されたように、フラッシュインターフェース制御ブロック1800はチャネル(すなわち、入出力ライン)1802を通じて他のフラッシュメモリM1にプログラムされるデータを伝送する。同様に、前述したような方式に残りフラッシュメモリM2,M3にプログラムされるデータがそれぞれ伝送される。従って、チャネルは命令、アドレス及びデータ伝送区間中のみフラッシュメモリM0−M3のそれぞれによって占有される。また、チャネルは書き込み動作のパス/フェイル可否を判別するための状態読み取り区間各フラッシュメモリによって占有される。一旦全てのデータがプログラムされれば、フラッシュインターフェース制御ブロック1800は、これをCPU1400に知らせてやる。チャネルに共通に連結されたフラッシュメモリにプログラムされるデータはバッファメモリ1700で読み取られたデータである。
以下、ソフトウェアインターリーブ方式の書き込み動作が図8を参照して後述する。図8には、フラッシュメモリのプログラム時間が一定に維持されるという仮定下で4−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図が示されている。ソフトウェアインターリーブ方式によれば、図8を参照すれば、一旦CPU1400によって任意チャネルについての書き込み命令がフレッシュインターフェース制御ブロック1800のレジスター1801に書き取られれば、フラッシュインターフェース制御ブロック1800は、CPU1400の制御に応じてフラッシュメモリM0−M3の書き込み動作を制御する。例えば、プログラムされるデータWD0が命令及びアドレスと共にチャネル(すなわち、入出力ライン)を通じてフラッシュメモリM0に順次に伝送される。一旦、プログラムされるデータWD0がフラッシュメモリM0に伝送されれば、フラッシュインターフェース制御ブロック1800は、フラッシュメモリM0のデータ伝送が完了されたことをCPU1400に知らせてやる。CPU1400は、プログラムデータが伝送されるチャネルの情報と共に書き込み命令をレジスター1801に貯蔵する。こうした過程(図8で、‘a’に表記された区間)は、フラッシュメモリM0に伝送されたデータWD0がプログラムされる区間tPROG内で遂行される。レジスター1801に再び書き込み命令が貯蔵されれば、フラッシュインターフェース制御ブロック1800は、プログラムされるデータWD1を命令及びアドレスと共にチャネル(すなわち、入出力ライン)を通じてフラッシュメモリM1に順次に伝送する。同様に、残りフラッシュメモリM2,M3へのデータ伝送は、CPU1400の制御に応じて前述したように遂行され、それについての説明はだから省略される。
ハードウェアインターリーブ方式と同様に、チャネルは命令、アドレス及びデータ伝送区間中のみ、フラッシュメモリM0−M3のそれぞれによって占有される。また、チャネルは書き込み動作のパス/フェイルを判別するための状態読み取り区間中、各フラッシュメモリによって占有される。
前述した過程(不揮発性メモリのプログラム時間が一定に維持される。)とは違って、フラッシュメモリのプログラム時間tPROGが一定に維持されることができない。すなわち、フラッシュメモリのプログラム時間が相異なるので、図9に示されたように、ソフトウェアインターリーブ方式の書き込み動作途中に時間損失が発生できる。
図10は、図1に示されたフラッシュインターフェース制御ブロックを示すブロック図である。
よく知られたように、REBのような制御信号を用いてフラッシュメモリからフラッシュインターフェース制御ブロック1800にデータが伝送される。こうした場合、データは入出力ラインのラインローディング又は伝送時間の影響を受けてフラッシュメモリからフラッシュインターフェース制御ブロック1800へ早く又は遅く伝送できる。すなわち、図10に示されたように、A地点のデータがA´地点に伝達される時間は、システムの構成によって常に変わる。こうした変化を克服するために、内部データパッチレジスター1810のデータパッチ時点を決定するパッチクロック信号F_CLKのパッチ時間が調整されなければならない。遅延回路1820は、フラッシュメモリに印加されるREB信号に応答してパッチクロック信号F_CLKを発生し、パッチクロック信号F_CLKはデータパッチレジスター1810に印加される。特に、遅延回路1820の遅延時間は、フラッシュインターフェース制御ブロック1800内のレジスター1830に設定された値によって又は外部パッド1840を通じて印加される値によって調整される。図11に示されたように、REB信号に同期されて出力されるA地点のデータは、△t時間ほど遅延されてA´地点に到達する。従って、遅延回路1820を通じてREB信号を△tほど遅延させてパッチクロック信号F_CLKを生成することによってフラッシュメモリから伝送されるデータを安全にパッチすることが可能である。
図12は、フラッシュインターフェース制御ブロックのチャネルに連結できるメモリ種類を示すブロック図である。
図12を参照すれば、一つのチャネルにはセル当たり1−ビットデータが貯蔵されるNANDフラッシュメモリが共通に連結され、他のチャネルにはセル当たりN−ビットデータが貯蔵されるNANDフラッシュメモリが共通に連結され、さらに他のチャネルには、OneNANDフラッシュメモリが共通に連結できる。異なる種類の不揮発性メモリが各チャネルに連結できることは当業者に自明である。
図13は、本発明に従う半導体ディスク制御装置によって支援される第2のチャネルの異なる構造を示すブロック図である。
図13を参照すれば、x8構造のフラッシュメモリを並列に連結してx16構造のフラッシュメモリが構成できる。こうしたチャネル構造によれば、フラッシュメモリの数及び容量を二倍に増やすことが可能である。二つのチップのうち一つは、入出力ラインIO[7:0]を使用し、もう一つは入出力ラインIO[15:8]を使用する。こうした場合、全ての制御信号は、二つのチップによって共有されなければならない。
以上で、本発明に従う回路の構成及び動作を前述した説明及び図面によって示したが、これは例を挙げて説明したことに過ぎなく、本発明の技術的思想及び範囲を外れない範囲内で多様な変化及び変更が可能なことは勿論である。
本発明に従う半導体ディスク制御装置を示すブロック図である。 図1に示されたバッファ制御/仲裁ブロックとFIFOとを連結するバス構造を示すブロック図である。 バッファ制御/仲裁ブロックとFIFOの動作とを説明するためのタイミング図である。 バッファ制御/仲裁ブロックとFIFOの動作とを説明するためのタイミング図である。 図1に示されたECCブロックのバス構造を示すブロック図である。 ECCブロックのエラー検出及び訂正動作を説明するためのタイミング図である。 図1に示されたフラッシュインターフェース制御ブロックのチャネルのうちいずれか一つを示すブロック図である。 4−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図である。 4−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図である。 4−ウェイインターリーブ方式による書き込み過程を説明するためのタイミング図である。 図1に示されたフラッシュインターフェース制御ブロックを示すブロック図である。 図10に示されたフラッシュインターフェース制御ブロックの遅延回路によって遅延されたパッチクロック信号を示すタイミング図である。 フラッシュインターフェース制御ブロックのチャネルに連結できるメモリ種類を示すブロック図である。 本発明に従う半導体ディスク制御装置によって支援される第2のチャネルの異なる構造を示すブロック図である。
符号の説明
1000:半導体ディスク制御装置
1100:SATAインターフェース
1200:マルチプレクサ
1300:ホストインターフェース制御ブロック
1400:CPU
1600:バッファ制御/仲裁ブロック
1700:バッファメモリ
1800:フラッシュインターフェース制御ブロック
1900_i:ECCブロック

Claims (30)

  1. 第1のポートと、
    複数のチャネルを有する第2のポートと、
    CPUバスに連結された中央処理装置と、
    前記第2のポートから前記第1のポートへ又は前記第1のポートから前記第2のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、
    前記CPUバスに連結され、前記中央処理装置の制御に応じて前記バッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御/仲裁ブロックと、
    前記第1のポートと前記バッファ制御/仲裁ブロックとの間に連結され、前記CPUバスを使用せずに前記バッファメモリに貯蔵される/から読み取られたデータを伝送するように構成された第1のデータ伝送ブロックと、
    前記第2のポートと前記バッファ制御/仲裁ブロックとの間に連結され、前記CPUバスを使用せずに前記バッファメモリに貯蔵される/から読み取られたデータを伝送するように構成された第2のデータ伝送ブロックと、
    を含むことを特徴とする半導体ディスク制御装置。
  2. 前記第1のデータの伝送ブロックは、
    前記CPUバスに連結され、前記中央処理装置の制御に応じて前記第1のポートを通じて外部ホストとインターフェースするように構成されたホストインターフェース制御ブロックと、
    前記ホストインターフェース制御ブロックと前記バッファ制御/仲裁ブロックとの間にデータの伝送経路を提供するように構成された第1のFIFOと、
    を含むことを特徴とする請求項1に記載の半導体ディスク制御装置。
  3. 前記第1のポートは、
    直列ATAインターフェース方式の外部ホストと連結される第1のチャネルと、
    並列ATAインターフェース方式の外部ホストと連結される第2のチャネルと、
    前記第1のチャネルを通じて入力される/出力されるデータを直列ATAフォーマットに/並列ATAフォーマットに変換する変換ブロックと、
    前記第2のチャネルを通じて入力されたデータ又は前記変換ブロックから出力されたデータを選択的に前記ホストインターフェース制御ブロックにそして前記ホストインターフェース制御ブロックから出力されたデータを選択的に前記第2のチャネル又は前記変換ブロックに伝達するマルチプレクサと、
    を含むことを特徴とする請求項2に記載の半導体ディスク制御装置。
  4. 前記第1のポートは、前記第1のチャネルを通じて入力されたデータが前記ホストインターフェース制御ブロックに直接伝送されるようにそして前記ホストインターフェースブロックから出力されたデータが前記第1のチャネルを通じて前記直列ATAインターフェース方式の外部ホストに直接伝送されるように構成されること
    を特徴とする請求項3に記載の半導体ディスク制御装置。
  5. 前記第2のデータ伝送ブロックは、
    前記CPUバスに連結され、前記中央処理装置の制御に応じて前記第2のポートを通じて半導体メモリとインターフェースするように構成されたメモリインターフェース制御ブロックと、
    前記第2のポートのチャネルにそれぞれ対応し、前記メモリインターフェース制御ブロックと前記バッファ制御/仲裁ブロックとの間にデータ伝送経路を提供するように構成された複数の第2のFIFOと、
    を含むことを特徴とする請求項2に記載の半導体ディスク制御装置。
  6. 前記第2のFIFOにそれぞれ連結され、対応する第2のFIFOを通じて伝送されるデータのエラーを検出するようにそして前記半導体メモリに伝送されるデータのエラー訂正コードを生成するように構成された複数のエラー訂正コードブロックをさらに含むこと
    を特徴とする請求項5に記載の半導体ディスク制御装置。
  7. 前記エラー訂正コードブロックのそれぞれは、対応するFIFOを通じて伝達されるデータからエラーが検出されるとき前記中央処理装置の介入なしで前記エラーデータを訂正するように構成されること
    を特徴とする請求項6に記載の半導体ディスク制御装置。
  8. 前記第2のポートのチャネルのそれぞれには、複数の不揮発性メモリが連結されること
    を特徴とする請求項1に記載の半導体ディスク制御装置。
  9. 前記各チャネルに連結された不揮発性メモリは、同一なタイプの不揮発性メモリから構成されること
    を特徴とする請求項8に記載の半導体ディスク制御装置。
  10. 前記各チャネルには、同一なタイプの不揮発性メモリが連結されること
    を特徴とする請求項9に記載の半導体ディスク制御装置。
  11. 前記各チャネルには、異なるタイプの不揮発性メモリが連結されること
    を特徴とする請求項9に記載の半導体ディスク制御装置。
  12. 前記第2のデータ伝送ブロックは、パワーアップ時、前記第2のポートのチャネルに連結された不揮発性メモリのタイプを診断し、前記診断された結果により前記各チャネルの不揮発性メモリの読み取り及び書き込み動作を制御するように構成されること
    を特徴とする請求項8に記載の半導体ディスク制御装置。
  13. 前記第2のデータ伝送ブロックは、前記第2のポートのチャネルについて読み取り及び書き込み動作が要求されるとき、ハードウェア及びソフトウェアインターリーブ方式のうちいずれか一つによって、前記第2のポートのチャネルに連結された、前記半導体メモリについての読み取り及び書き込み動作を制御するように構成されること
    を特徴とする請求項5に記載の半導体ディスク制御装置。
  14. 前記バッファ制御/仲裁ブロックは、前記第1及び第2のFIFOからデータ処理要請が発生するとき、ラウンド−ロビン方式によってデータを処理するように構成されること
    を特徴とする請求項5に記載の半導体ディスク制御装置。
  15. 前記メモリインターフェース制御ブロックは、
    前記第2のポートを通じて半導体メモリに伝送される第1のクロック信号を発生するように構成された制御ロジックと、
    前記半導体メモリは、前記第1のクロック信号に同期されてデータを出力し、
    第2のクロック信号に同期されて前記半導体メモリから伝送されるデータをパッチするように構成されたデータパッチレジスターと、
    前記第1のクロック信号を遅延させて前記第2のクロック信号を出力する遅延回路と、
    を含むことを特徴とする請求項5に記載の半導体ディスク制御装置。
  16. 前記遅延回路の遅延時間は、外部から提供される遅延情報によって決定されること
    を特徴とする請求項15に記載の半導体ディスク制御装置。
  17. 前記メモリインターフェース制御ブロックは、前記遅延回路の遅延時間を決定するための遅延情報を貯蔵するように構成されたレジスターをさらに含むこと
    を特徴とする請求項15に記載の半導体ディスク制御装置。
  18. 第1のポートと、
    複数のチャネルを有する第2のポートと、
    CPUバスに連結された中央処理装置と、
    前記第2のポートから前記第1のポートへ又は前記第1のポートから前記第2のポートへ伝送されるデータを臨時貯蔵するように構成されたバッファメモリと、
    前記第1のポートと前記CPUバスに連結され、前記中央処理装置の制御に応じて外部ホストとインターフェースするように構成されたホストインターフェース制御ブロックと、
    前記CPUバスに連結され、前記中央処理装置の制御に応じて前記バッファメモリを制御するように構成されたバッファ制御/仲裁ブロックと、
    前記ホストインターフェース制御ブロックと前記バッファ制御/仲裁ブロックとの間にデータ伝送経路を提供するように構成された第1のFIFOと、
    前記第2のポート及び前記内部制御バスに連結され、前記中央処理装置の制御に応じて不揮発性メモリとインターフェースするように構成されたメモリインターフェース制御ブロックと、
    前記メモリインターフェース制御ブロックと前記バッファ制御/仲裁ブロックとの間にデータ伝送経路を提供するように構成された複数の第2のFIFOと、
    を含むことを特徴とする半導体ディスク制御装置。
  19. 前記第2のFIFOにそれぞれ連結され、対応する第2のFIFOを通じて伝送されるデータのエラーを検出するようにそして前記不揮発性メモリに伝送されるデータのエラー訂正コードを生成するように構成された複数のエラー訂正コードブロックをさらに含むこと
    を特徴とする請求項18に記載の半導体ディスク制御装置。
  20. 前記エラー訂正コードブロックのそれぞれは、対応するFIFOを通じて伝達されるデータからエラーが検出されるとき前記中央処理装置の介入なしで前記エラーデータを訂正するように構成されること
    を特徴とする請求項19に記載の半導体ディスク制御装置。
  21. 前記各チャネルに連結された不揮発性メモリは、同一なタイプの不揮発性メモリから構成されること
    を特徴とする請求項18に記載の半導体ディスク制御装置。
  22. 前記各チャネルには、同一なタイプの不揮発性メモリが連結されること
    を特徴とする請求項21に記載の半導体ディスク制御装置。
  23. 前記各チャネルには、異なるタイプの不揮発性メモリが連結されること
    を特徴とする請求項18に記載の半導体ディスク制御装置。
  24. 前記メモリインターフェース制御ブロックは、パワーアップ時、前記第2のポートのチャネルに連結された不揮発性メモリのタイプを診断し、前記診断された結果により前記各チャネルの不揮発性メモリの読み取り及び書き込み動作を制御するように構成されること
    を特徴とする請求項18に記載の半導体ディスク制御装置。
  25. 前記メモリインターフェース制御ブロックは、前記第2のポートのチャネルについて読み取り及び書き込み動作が要求されるとき、ハードウェア及びソフトウェアインターリーブ方式のうちいずれか一つによって、前記第2のポートのチャネルに連結された、前記不揮発性メモリについての読み取り及び書き込み動作を制御するように構成されること
    を特徴とする請求項18に記載の半導体ディスク制御装置。
  26. 前記バッファ制御/仲裁ブロックは、前記第1及び第2のFIFOからデータ処理要請が発生するとき、ラウンド−ロビン方式によってデータを処理するように構成されること
    を特徴とする請求項18に記載の半導体ディスク制御装置。
  27. 前記メモリインターフェース制御ブロックは、
    前記第2のポートを通じて半導体メモリに伝送される第1のクロック信号を発生するように構成された制御ロジックと、
    前記不揮発性メモリは、前記第1のクロック信号に同期されてデータを出力し、
    第2のクロック信号に同期されて前記不揮発性メモリから伝送されるデータをパッチするように構成されたデータパッチレジスターと、
    前記第1のクロック信号を遅延させて前記第2のクロック信号を出力する遅延回路と、
    を含むことを特徴とする請求項18に記載の半導体ディスク制御装置。
  28. 前記遅延回路の遅延時間は、外部から提供される遅延情報によって決定されること
    を特徴とする請求項27に記載の半導体ディスク制御装置。
  29. 前記メモリインターフェース制御ブロックは、前記遅延回路の遅延時間を決定するための遅延情報を貯蔵するように構成されたレジスターをさらに含むこと
    を特徴とする請求項27に記載の半導体ディスク制御装置。
  30. 第1のポートと、複数のチャネルを有する第2のポートと、CPUバスに連結された中央処理装置と、データを貯蔵するように構成されたバッファメモリと、前記CPUバスに連結され、前記中央処理装置の制御下でバッファメモリの読み取り及び書き込み動作を制御するように構成されたバッファ制御/仲裁器と、を有する半導体ディスク制御装置の動作方法であって、
    前記CPUバスを経由せず前記バッファメモリと前記第1のポートとの間で前記バッファメモリに貯蔵される/から読み取られたデータを伝送する段階と、
    前記CPUバスを経由せず前記バッファメモリと前記第2のポートとの間で前記バッファメモリに貯蔵される/から読み取られたデータを伝送する段階と、
    を含むことを特徴とする半導体ディスク制御装置の動作方法。
JP2006003004A 2005-01-11 2006-01-10 半導体ディスク制御装置 Active JP5032027B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2005-0002611 2005-01-11
KR1020050002611A KR100621631B1 (ko) 2005-01-11 2005-01-11 반도체 디스크 제어 장치

Publications (2)

Publication Number Publication Date
JP2006195990A true JP2006195990A (ja) 2006-07-27
JP5032027B2 JP5032027B2 (ja) 2012-09-26

Family

ID=36653071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006003004A Active JP5032027B2 (ja) 2005-01-11 2006-01-10 半導体ディスク制御装置

Country Status (6)

Country Link
US (5) US20060152981A1 (ja)
JP (1) JP5032027B2 (ja)
KR (1) KR100621631B1 (ja)
CN (1) CN1828511B (ja)
DE (1) DE102006002526B4 (ja)
TW (1) TWI319191B (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010527059A (ja) * 2007-05-10 2010-08-05 メモライト メモリテック (シェンチェン) カンパニー リミテッド パラレルフラッシュメモリ制御装置、チップ及びその制御方法
JP2011253608A (ja) * 2010-05-31 2011-12-15 Samsung Electronics Co Ltd ダイナミック検証モード選択を有する不揮発性メモリー装置とその動作方法、駆動方法、並びにプログラミング方法、メモリーシステム、メモリーカード及びソリッドステートドライバー
JP2011253609A (ja) * 2010-06-01 2011-12-15 Samsung Electronics Co Ltd 不揮発性メモリー装置、そのプログラム方法、不揮発性メモリー装置を含むメモリーシステム、電子装置及びシステム
JP2012032962A (ja) * 2010-07-29 2012-02-16 Toshiba Corp バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法
JP2012506104A (ja) * 2008-10-15 2012-03-08 マーベル ワールド トレード リミテッド データ・ストレージ・システムのアーキテクチャ
US8341338B2 (en) 2009-05-06 2012-12-25 Samsung Electronics Co., Ltd. Data storage device and related method of operation
JP2013200678A (ja) * 2012-03-23 2013-10-03 Toshiba Corp メモリシステムおよびバンクインターリーブ方法
US8689079B2 (en) 2011-02-25 2014-04-01 Kabushiki Kaisha Toshiba Memory device having multiple channels and method for accessing memory in the same
US8954817B2 (en) 2012-07-31 2015-02-10 Kabushiki Kaisha Toshiba Storage apparatus and controller
JP2015146209A (ja) * 2015-03-26 2015-08-13 株式会社日立製作所 半導体装置、不揮発性メモリ装置の制御方法
US9189383B2 (en) 2008-10-02 2015-11-17 Samsung Electronics Co., Ltd. Nonvolatile memory system and data processing method
JP2015215774A (ja) * 2014-05-12 2015-12-03 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリ制御方法
US9264070B2 (en) 2011-12-28 2016-02-16 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory write method
US9304691B2 (en) 2012-03-23 2016-04-05 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
US20160378375A1 (en) * 2015-06-26 2016-12-29 SK Hynix Inc. Memory system and method of operating the same
US11726705B2 (en) 2020-03-23 2023-08-15 Kioxia Corporation Semiconductor device

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101404083B1 (ko) 2007-11-06 2014-06-09 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7493430B2 (en) * 2005-07-14 2009-02-17 Quantum Corporation Data flow control and bridging architecture enhancing performance of removable data storage systems
US20070299994A1 (en) * 2006-06-21 2007-12-27 Broadcom Corporation, A California Corporation Disk controller, host interface module and methods for use therewith
DE102006045903B4 (de) * 2006-09-28 2016-06-02 Intel Deutschland Gmbh Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8429677B2 (en) * 2007-04-19 2013-04-23 Microsoft Corporation Composite solid state drive identification and optimization technologies
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell
KR101424782B1 (ko) 2007-07-19 2014-08-04 삼성전자주식회사 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법
US8001444B2 (en) * 2007-08-08 2011-08-16 Intel Corporation ECC functional block placement in a multi-channel mass storage device
KR101498673B1 (ko) 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
CN101398745B (zh) * 2007-09-29 2011-12-21 群联电子股份有限公司 并行数据存取架构的固态盘存储系统与固态盘控制器
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8719485B2 (en) * 2008-06-27 2014-05-06 Marvell World Trade Ltd. Solid-state disk with wireless functionality
JP2010020839A (ja) * 2008-07-10 2010-01-28 Panasonic Corp 半導体記憶装置
KR101391362B1 (ko) * 2008-07-23 2014-05-07 삼성전자주식회사 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법
KR101491829B1 (ko) * 2008-08-14 2015-02-12 삼성전자주식회사 읽기 디스터번스를 방지하는 메모리 장치 및 그 방법
US9727473B2 (en) * 2008-09-30 2017-08-08 Intel Corporation Methods to communicate a timestamp to a storage system
TWI385672B (zh) * 2008-11-05 2013-02-11 Lite On It Corp 儲存裝置之適應性多通道控制器及其方法
KR101014149B1 (ko) 2008-11-13 2011-02-14 (주)인디링스 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러
US8341311B1 (en) 2008-11-18 2012-12-25 Entorian Technologies, Inc System and method for reduced latency data transfers from flash memory to host by utilizing concurrent transfers into RAM buffer memory and FIFO host interface
KR20100058166A (ko) * 2008-11-24 2010-06-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US8732350B2 (en) * 2008-12-19 2014-05-20 Nvidia Corporation Method and system for improving direct memory access offload
US9208108B2 (en) * 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
US8694750B2 (en) * 2008-12-19 2014-04-08 Nvidia Corporation Method and system for data structure management
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
US8438455B2 (en) * 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
KR101006748B1 (ko) * 2009-01-29 2011-01-10 (주)인디링스 패드들의 동시 스위칭을 제어하는 고체 상태 디스크를 위한컨트롤러
JP2010176646A (ja) * 2009-02-02 2010-08-12 Toshiba Information Systems (Japan) Corp メモリシステムおよびメモリシステムのインターリーブ制御方法
KR20100097964A (ko) * 2009-02-27 2010-09-06 삼성전자주식회사 불휘발성 메모리 장치의 소거 방법 및 그 독출 방법
TWI404067B (zh) * 2009-02-27 2013-08-01 Macronix Int Co Ltd 記憶體裝置及其操作方法
KR101504338B1 (ko) * 2009-03-04 2015-03-23 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법
KR20100099961A (ko) * 2009-03-04 2010-09-15 삼성전자주식회사 불휘발성 메모리 장치 및 그 동작 방법
US8285917B2 (en) * 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
CN101521041B (zh) * 2009-04-01 2013-02-13 北京泰科源科技有限责任公司 一种基于与非门结构内存的控制电路系统
US20100262773A1 (en) 2009-04-08 2010-10-14 Google Inc. Data striping in a flash memory data storage device
US8595572B2 (en) 2009-04-08 2013-11-26 Google Inc. Data storage device with metadata command
CN101866679A (zh) * 2009-04-17 2010-10-20 众杰科技股份有限公司 固态硬盘的结构
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8438453B2 (en) * 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
WO2011031796A2 (en) 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
KR101574207B1 (ko) * 2009-10-16 2015-12-14 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 저장 방법
US8386650B2 (en) * 2009-12-16 2013-02-26 Intel Corporation Method to improve a solid state disk performance by using a programmable bus arbiter
US8683293B2 (en) * 2009-12-16 2014-03-25 Nvidia Corporation Method and system for fast two bit error correction
US20110161553A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Memory device wear-leveling techniques
US9594675B2 (en) * 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
KR101008923B1 (ko) * 2010-01-15 2011-01-17 주식회사 노바칩스 다양한 종류의 반도체 메모리 장치들을 구비하는 반도체 메모리 시스템 및 이의 제어 방법
US9069687B2 (en) * 2010-01-29 2015-06-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory read-channel with selective transmission of error correction data
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
JP2012128644A (ja) * 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
CN102541459A (zh) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 一种电子硬盘的页数据管理办法
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8918595B2 (en) 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
US8839024B2 (en) * 2011-07-22 2014-09-16 Taejin Info Tech Co., Ltd. Semiconductor storage device-based data restoration
JP2013069047A (ja) * 2011-09-21 2013-04-18 Toshiba Corp メモリシステム
CN103106155B (zh) * 2011-11-10 2015-10-21 群联电子股份有限公司 存储器储存装置、存储器控制器与其数据传输方法
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
JP5624578B2 (ja) * 2012-03-23 2014-11-12 株式会社東芝 メモリシステム
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
JP2014029634A (ja) * 2012-07-31 2014-02-13 International Business Maschines Corporation パケットバッファリングシステムおよび方法
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
KR101951663B1 (ko) * 2012-12-14 2019-02-25 삼성전자주식회사 Crc 부호와 극 부호에 의한 부호화 방법 및 장치
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9706508B2 (en) * 2013-04-05 2017-07-11 Honeywell International Inc. Integrated avionics systems and methods
CN103235770B (zh) * 2013-04-25 2016-05-04 杭州华澜微电子股份有限公司 基于超位宽数字接口界面的固态存储器
US10210114B2 (en) * 2014-08-01 2019-02-19 Universiti Teknologi Malaysia Interrupt-driven I/O arbiter for a microcomputer system
CN104123103A (zh) * 2014-08-05 2014-10-29 南车株洲电力机车研究所有限公司 一种大容量存储装置
KR20160076889A (ko) * 2014-12-23 2016-07-01 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US9772777B2 (en) * 2015-04-27 2017-09-26 Southwest Research Institute Systems and methods for improved access to flash memory devices
TWI714358B (zh) 2015-05-28 2020-12-21 日商東芝記憶體股份有限公司 半導體裝置
KR102417182B1 (ko) * 2015-06-22 2022-07-05 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US20160378352A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Efficient solid state drive data compression scheme and layout
JP6627346B2 (ja) * 2015-09-09 2020-01-08 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システムおよびメモリ制御方法
FR3041806B1 (fr) * 2015-09-25 2017-10-20 Stmicroelectronics Rousset Dispositif de memoire non volatile, par exemple du type eeprom, ayant une capacite memoire importante, par exemple 16mbits
KR102392844B1 (ko) * 2017-03-10 2022-05-03 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 저장 장치
US10642535B2 (en) * 2018-01-23 2020-05-05 International Business Machines Corporation Register access in a distributed memory buffer system
TWI671637B (zh) * 2018-04-25 2019-09-11 點序科技股份有限公司 記憶體管理裝置及其操作方法
US10534551B1 (en) * 2018-06-22 2020-01-14 Micron Technology, Inc. Managing write operations during a power loss
CN110633054A (zh) * 2019-09-18 2019-12-31 深圳市硅格半导体有限公司 一种提高sata逻辑写性能的预启动方法及其系统
CN116635836A (zh) * 2020-12-28 2023-08-22 铠侠股份有限公司 存储器系统
JP2023091307A (ja) * 2021-12-20 2023-06-30 キオクシア株式会社 半導体装置および制御方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0273411A (ja) * 1988-09-09 1990-03-13 Canon Inc ステージ位置決め装置
JPH06119243A (ja) * 1990-06-29 1994-04-28 Digital Equip Corp <Dec> 内部プロセッサレジスターコマンドのi/o空間アドレスへの変換
WO1995026552A1 (fr) * 1994-03-28 1995-10-05 Sony Corporation Appareil et procede d'enregistrement de donnees
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
JPH08234716A (ja) * 1995-02-28 1996-09-13 Toshiba Corp ウインドウ画面表示方式
JPH10106148A (ja) * 1996-06-28 1998-04-24 Toshiba Corp 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置、記録媒体、記録媒体の製造方法および鍵の管理方法
JPH11327798A (ja) * 1998-05-20 1999-11-30 Matsushita Electric Ind Co Ltd データ転送制御装置
JP2001216736A (ja) * 2000-02-02 2001-08-10 Yamaha Corp サンプルデータ再生装置およびサンプルデータ記録再生装置
US20010017076A1 (en) * 2000-02-01 2001-08-30 Yoshio Fujita Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device
US6401149B1 (en) * 1999-05-05 2002-06-04 Qlogic Corporation Methods for context switching within a disk controller
JP2002543514A (ja) * 1999-05-05 2002-12-17 クロジック コーポレーション ディスク・コントローラ・メモリ・アーキテクチャ用システムおよび方法
JP2004314423A (ja) * 2003-04-16 2004-11-11 Seiko Epson Corp プリンタ及びプリンタの制御方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822781A (en) 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5696897A (en) * 1994-01-31 1997-12-09 Sun Microsystems, Inc. Method and apparatus for a multi-layer system quiescent suspend and resume operation
WO1996008926A1 (fr) * 1994-09-16 1996-03-21 Sony Corporation Dispositif de sortie de donnees
US5838935A (en) * 1995-06-15 1998-11-17 Intel Corporation Method and apparatus providing programmable decode modes for secondary PCI bus interfaces
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5875477A (en) * 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
US5754567A (en) * 1996-10-15 1998-05-19 Micron Quantum Devices, Inc. Write reduction in flash memory systems through ECC usage
KR100217181B1 (ko) * 1997-01-21 1999-09-01 윤종용 데이타 고속 전송을 위한 시스템 디코더 및 트랙버퍼링 제어방법
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
JP3821536B2 (ja) * 1997-05-16 2006-09-13 沖電気工業株式会社 不揮発性半導体ディスク装置
JP3734620B2 (ja) * 1998-06-24 2006-01-11 沖電気工業株式会社 半導体ディスク装置
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
US6851069B1 (en) * 2000-01-13 2005-02-01 Intel Corporation Method, apparatus, and system for high speed data transfer using programmable DLL without using strobes for reads and writes
KR100320563B1 (ko) * 2000-04-03 2002-01-15 정문술 메모리 및 입출력 포트 인터페이스 제어 장치
JP2002073411A (ja) 2000-08-24 2002-03-12 Seiko Epson Corp Eepromの記憶容量判別装置およびeepromの記憶容量判別方法
US6691203B1 (en) * 2000-08-30 2004-02-10 Mosel Vitelic Corporation Integrated controller to process both optical reads and optical writes of multiple optical media
US6874039B2 (en) * 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
JP2002288112A (ja) * 2001-03-27 2002-10-04 Hitachi Ltd 通信制御用半導体装置およびインタフェースシステム
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
KR20030035326A (ko) * 2001-10-31 2003-05-09 엘지전자 주식회사 중앙처리장치와 주변 장치간의 버스 인터페이스 회로
US7159048B2 (en) * 2001-12-10 2007-01-02 Emulex Design & Manufacturing Corporation Direct memory access (DMA) transfer buffer processor
TW555100U (en) * 2002-11-27 2003-09-21 Power Quotient Int Co Ltd High speed of data transfer of solid state disk on module
IES20030722A2 (en) * 2003-10-01 2005-04-06 Yqa Now Ltd A data storage device
US7814554B1 (en) * 2003-11-06 2010-10-12 Gary Dean Ragner Dynamic associative storage security for long-term memory storage devices
JP2005166147A (ja) * 2003-12-01 2005-06-23 Yamaha Corp 光ディスクドライブ、光ディスク装置およびおよび光ディスクデバイスドライバプログラム
US7322002B2 (en) * 2004-05-26 2008-01-22 Micron Technology, Inc. Erasure pointer error correction
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7493430B2 (en) * 2005-07-14 2009-02-17 Quantum Corporation Data flow control and bridging architecture enhancing performance of removable data storage systems
KR101020040B1 (ko) * 2010-05-17 2011-03-09 황명구 주변의 관련인물 검색 시스템 및 주변 관련의 관련인물 검색 서비스 방법
CN112840522A (zh) * 2019-06-17 2021-05-25 东芝三菱电机产业系统株式会社 电源装置以及交流电源的异常检测方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0273411A (ja) * 1988-09-09 1990-03-13 Canon Inc ステージ位置決め装置
JPH06119243A (ja) * 1990-06-29 1994-04-28 Digital Equip Corp <Dec> 内部プロセッサレジスターコマンドのi/o空間アドレスへの変換
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5969897A (en) * 1994-03-28 1999-10-19 Sony Corporation Data recording apparatus and method
WO1995026552A1 (fr) * 1994-03-28 1995-10-05 Sony Corporation Appareil et procede d'enregistrement de donnees
JPH08234716A (ja) * 1995-02-28 1996-09-13 Toshiba Corp ウインドウ画面表示方式
JPH10106148A (ja) * 1996-06-28 1998-04-24 Toshiba Corp 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置、記録媒体、記録媒体の製造方法および鍵の管理方法
JPH11327798A (ja) * 1998-05-20 1999-11-30 Matsushita Electric Ind Co Ltd データ転送制御装置
US6401149B1 (en) * 1999-05-05 2002-06-04 Qlogic Corporation Methods for context switching within a disk controller
JP2002543514A (ja) * 1999-05-05 2002-12-17 クロジック コーポレーション ディスク・コントローラ・メモリ・アーキテクチャ用システムおよび方法
US20010017076A1 (en) * 2000-02-01 2001-08-30 Yoshio Fujita Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device
JP2001216736A (ja) * 2000-02-02 2001-08-10 Yamaha Corp サンプルデータ再生装置およびサンプルデータ記録再生装置
JP2004314423A (ja) * 2003-04-16 2004-11-11 Seiko Epson Corp プリンタ及びプリンタの制御方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010527059A (ja) * 2007-05-10 2010-08-05 メモライト メモリテック (シェンチェン) カンパニー リミテッド パラレルフラッシュメモリ制御装置、チップ及びその制御方法
US9189383B2 (en) 2008-10-02 2015-11-17 Samsung Electronics Co., Ltd. Nonvolatile memory system and data processing method
JP2012506104A (ja) * 2008-10-15 2012-03-08 マーベル ワールド トレード リミテッド データ・ストレージ・システムのアーキテクチャ
US9639324B2 (en) 2008-10-15 2017-05-02 Marvell World Trade Ltd. Architecture for writing and reading data in a data storage system
US8706926B2 (en) 2008-10-15 2014-04-22 Marvell World Trade Ltd. Architecture for data storage systems
US8341338B2 (en) 2009-05-06 2012-12-25 Samsung Electronics Co., Ltd. Data storage device and related method of operation
JP2011253608A (ja) * 2010-05-31 2011-12-15 Samsung Electronics Co Ltd ダイナミック検証モード選択を有する不揮発性メモリー装置とその動作方法、駆動方法、並びにプログラミング方法、メモリーシステム、メモリーカード及びソリッドステートドライバー
US9224483B2 (en) 2010-05-31 2015-12-29 Samsung Electronics Co., Ltd. Nonvolatile memory device, system and programming method with dynamic verification mode selection
JP2011253609A (ja) * 2010-06-01 2011-12-15 Samsung Electronics Co Ltd 不揮発性メモリー装置、そのプログラム方法、不揮発性メモリー装置を含むメモリーシステム、電子装置及びシステム
JP2012032962A (ja) * 2010-07-29 2012-02-16 Toshiba Corp バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法
US8327043B2 (en) 2010-07-29 2012-12-04 Kabushiki Kaisha Toshiba Buffer management device which manages buffer transfer, storage apparatus comprising the same device, and buffer management method
US8689079B2 (en) 2011-02-25 2014-04-01 Kabushiki Kaisha Toshiba Memory device having multiple channels and method for accessing memory in the same
US9264070B2 (en) 2011-12-28 2016-02-16 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory write method
US9304691B2 (en) 2012-03-23 2016-04-05 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
JP2013200678A (ja) * 2012-03-23 2013-10-03 Toshiba Corp メモリシステムおよびバンクインターリーブ方法
US8954817B2 (en) 2012-07-31 2015-02-10 Kabushiki Kaisha Toshiba Storage apparatus and controller
JP2015215774A (ja) * 2014-05-12 2015-12-03 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリ制御方法
JP2015146209A (ja) * 2015-03-26 2015-08-13 株式会社日立製作所 半導体装置、不揮発性メモリ装置の制御方法
US20160378375A1 (en) * 2015-06-26 2016-12-29 SK Hynix Inc. Memory system and method of operating the same
US11726705B2 (en) 2020-03-23 2023-08-15 Kioxia Corporation Semiconductor device

Also Published As

Publication number Publication date
US8917565B2 (en) 2014-12-23
US20160132389A1 (en) 2016-05-12
DE102006002526B4 (de) 2011-06-30
US8159889B2 (en) 2012-04-17
US20150067450A1 (en) 2015-03-05
KR20060081928A (ko) 2006-07-14
CN1828511A (zh) 2006-09-06
CN1828511B (zh) 2010-10-06
KR100621631B1 (ko) 2006-09-13
TW200641903A (en) 2006-12-01
US20120173806A1 (en) 2012-07-05
TWI319191B (en) 2010-01-01
US9652324B2 (en) 2017-05-16
DE102006002526A1 (de) 2006-08-03
US9223650B2 (en) 2015-12-29
US20090265513A1 (en) 2009-10-22
US20060152981A1 (en) 2006-07-13
JP5032027B2 (ja) 2012-09-26

Similar Documents

Publication Publication Date Title
JP5032027B2 (ja) 半導体ディスク制御装置
USRE46201E1 (en) Method and controller for performing a sequence of commands
JP6163532B2 (ja) メモリシステムコントローラを含む装置
US9229655B2 (en) Controller and method for performing background operations
JP5759623B2 (ja) メモリシステムコントローラを含む装置および関連する方法
JP5495074B2 (ja) 論理ユニット動作
US8291295B2 (en) NAND flash memory controller exporting a NAND interface
US8493797B2 (en) Memory system and method having volatile and non-volatile memory devices at same hierarchical level
TWI476778B (zh) Ecc控制電路、包含該電路的多通道記憶體系統以及相關操作方法
US20110041039A1 (en) Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110296084A1 (en) Data storage apparatus and method of writing data
US20120047318A1 (en) Semiconductor storage device and method of throttling performance of the same
US20180113614A1 (en) Direct data move between dram and storage on a memory module
US20190042413A1 (en) Method and apparatus to provide predictable read latency for a storage device
WO2011019602A2 (en) Controller and method for providing read status and spare block management information in a flash memory system
WO2011019600A1 (en) Controller and method for detecting a transmission error over a nand interface using error detection code
KR20210155228A (ko) 메모리 장치 및 그 동작 방법
US20070294588A1 (en) Performing a diagnostic on a block of memory associated with a correctable read error
US20230385192A1 (en) Memory module having volatile and non-volatile memory subsystems and method of operation
KR101332774B1 (ko) 비휘발성 메모리 시스템 및 이의 데이터 전송 제어 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120328

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: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120628

R150 Certificate of patent or registration of utility model

Ref document number: 5032027

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: 20150706

Year of fee payment: 3

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