JP2009205411A - メモリコントローラおよびメモリシステム - Google Patents

メモリコントローラおよびメモリシステム Download PDF

Info

Publication number
JP2009205411A
JP2009205411A JP2008046705A JP2008046705A JP2009205411A JP 2009205411 A JP2009205411 A JP 2009205411A JP 2008046705 A JP2008046705 A JP 2008046705A JP 2008046705 A JP2008046705 A JP 2008046705A JP 2009205411 A JP2009205411 A JP 2009205411A
Authority
JP
Japan
Prior art keywords
data
memory
flash memory
memory controller
controller
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
JP2008046705A
Other languages
English (en)
Other versions
JP4672742B2 (ja
Inventor
Kenta Yasufuku
健太 安福
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008046705A priority Critical patent/JP4672742B2/ja
Priority to US12/392,276 priority patent/US8151036B2/en
Publication of JP2009205411A publication Critical patent/JP2009205411A/ja
Application granted granted Critical
Publication of JP4672742B2 publication Critical patent/JP4672742B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】フラッシュメモリへのデータの書き込みにおいて、バッファのメモリ容量や転送に使用するバスに負担を掛けずに、低消費電力で効率的な書き込みが可能なメモリコントローラを提供すること。
【解決手段】データの書き込み要求情報に従って、ページサイズ単位でデータの書き込みが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記データの書き込み要求情報に従って前記フラッシュメモリへの書き込みを行う書き込みデータのうち前記フラッシュメモリのページサイズ単位に合致しない前記書き込みデータに対して、ダミーデータを付加することによりデータサイズをページサイズ単位に調整して出力する。
【選択図】 図2

Description

本発明は、メモリコントローラおよびメモリシステムに関するものである。
近年、不揮発性半導体メモリは、大型コンピュータから、パーソナルコンピュータ、家電製品、携帯電話等、様々な所で利用されている。特に、NAND型フラッシュメモリは、電気的に書き換えが可能であり、不揮発性、大容量化、高集積化が可能な半導体メモリであり、最近では、ハードディスクドライブ(HDD)の置き換え用途としても考えられている。
このようなNAND型フラッシュメモリを用いた技術としては、例えばフラッシュメモリの読み出し動作を制御するメモリコントローラの制御により、ページデータを一時貯蔵するためのバッファメモリを有するフラッシュメモリからDRAM(Dynamic Random Access Memory)にデータ伝送するデータ処理システムなどが提案されている(たとえば、特許文献1参照)。
ところで、NAND型フラッシュメモリに格納されるデータは、データの書き込み時にECC(Error Check and Correct、エラー訂正符号)が付加されて格納され、読み込み時にECCを用いてエラー訂正が行なわれ、NAND型フラッシュメモリの信頼性を高めている。
このようなNANDフラッシュメモリへの書き込みにおいては、ECCを付加してデータを書き込むため、NANDフラッシュメモリのページサイズ未満で書き込みを行なった場合には、次回の読み出し時にECCエラーが発生して正常な読み込みができない場合が生じる可能性がある。このため、実際にNANDフラッシュメモリに書き込みたいデータのサイズがページサイズ未満である場合は、ページサイズに不足分のダミーデータを作成し、書き込みたいデータに付加して、ページサイズ単位にして書き込むことが必要である。そして、このようなデータの書き込みは、CPUが管理プログラム(FW:firmware)に従ってダミーデータをバッファであるRAM上に用意し、書き込むデータに付加することで行われている。
しかしながら、FW側でRAM上にダミーのデータを用意する場合には、ダミーデータを格納するためのRAM容量の使用、RAM上からNAND型フラッシュメモリにデータを書き込む際にダミーデータを付加した分だけバスの使用率が上昇し、他のマスタがそのRAMにアクセスできなくなる、という問題がある。また、書き込みデータおよびダミーデータを、メモリコントローラを有するチップの外部のDRAMへ用意した場合には、ASICチップ外部へのアクセスが増加するため消費電力が高くなる、という問題がある。
特開2007−87388号公報
本発明は、上記に鑑みてなされたものであって、フラッシュメモリへのデータの書き込みにおいて、バッファのメモリ容量や転送に使用するバスに負担を掛けずに、低消費電力で効率的な書き込みが可能なメモリコントローラを提供することを目的とする。
本願発明の一態様によれば、データの書き込み要求情報に従って、ページサイズ単位でデータの書き込みが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記データの書き込み要求情報に従って前記フラッシュメモリへの書き込みを行う書き込みデータのうち前記フラッシュメモリのページサイズ単位に合致しない前記書き込みデータに対して、ダミーデータを付加することによりデータサイズをページサイズ単位に調整して出力すること、を特徴とするメモリコントローラが提供される。
本発明によれば、ページサイズ単位でデータの書き込みが行われるフラッシュメモリへのデータの書き込みにおいて、バッファのメモリ容量や転送に使用するバスに負担を掛けずに、低消費電力で効率的な書き込みが可能となる、という効果を奏する。
以下に添付図面を参照して、この発明にかかるメモリコントローラおよびメモリシステムの実施の形態を詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
(実施の形態)
図1は、本発明の実施の形態にかかるメモリシステム1を備えた計算機システムの一例を示す概略図である。本実施の形態にかかるメモリシステム1は、ホスト装置(PCなど)に接続される記憶デバイスである。
計算機システムは、中央演算処理装置(CPU:Central Processing Unit)2、DRAM(Dynamic Random Access Memory)等のメインメモリ3、メインメモリ3を制御するメモリコントローラ4、及び本実施の形態にかかるメモリシステム1を備えている。CPU2、メインメモリ3、及びメモリシステム1は、アドレスを扱うアドレスバス5、及びデータを扱うデータバス6を介して接続されている。
このような計算機システムでは、CPU2からの転送要求(読み出し要求、或いは書き込み要求)に応じて、書き込み要求であればCPU2のデータ(外部から入力されたデータを含む)、或いはメインメモリ3のデータがメモリシステム1に転送され、読み出し要求であればメモリシステム1のデータがCPU2、或いはメインメモリ3に転送される。
メモリシステム1は、不揮発性半導体メモリの一種であるNAND型フラッシュメモリ10、及びこのNAND型フラッシュメモリ10を制御するNANDコントローラ11を備えている。以下に、メモリシステム1の構成の一例について説明する。
図2は、メモリシステム1の構成を示す概略図である。メモリシステム1は、NAND型フラッシュメモリ10、DRAM12、ASICチップ13を有する。NAND型フラッシュメモリ10は、データの消去単位であるブロック領域を複数配列して構成されている。
DRAM12は、ASICチップ13の外部に配置され、ホスト装置とのデータ転送や、NAND型フラッシュメモリ10へのデータ読み書き用のバッファとして使用する。NAND型フラッシュメモリ10に書き込むデータはすべてDRAM12に存在する。また、DRAM12には、NANDコントローラ11がディスクリプタ転送を行う場合に参照するテーブルであり、NAND型フラッシュメモリ10にページサイズ単位で書き込むデータのディスクリプタ転送に関する指示情報である転送パラメータが記述されたディスクリプタテーブル31を保持している。
ASICチップ13内には、ホストインターフェース(ホストI/F)21、演算処理装置(MPU:Micro Processing Unit)22、NANDコントローラ11、RAMコントローラ23、ROM24、RAM25およびバス26を備えている。
ホストI/F21は、ホスト装置とのデータ転送を行なうため、NANDコントローラ11とホスト装置(図1のCPU2、メインメモリ3)との間のインターフェース処理を行う。
MPU22は、メモリシステム1全体の動作を制御する。MPU22は、例えば、メモリシステム1が電源供給を受けたときに、ROM24に格納されているファームウェア(制御プログラム)をRAM25上に読み出して所定の処理を実行することにより、各種のテーブルをRAM25上に作成する。また、MPU22は、ホスト装置から書き込み要求、読み出し要求、消去要求を受け、これらの要求に応じてNAND型フラッシュメモリ10に所定の処理を実行する。MPU22は、NANDコントローラ11を介してNAND型フラッシュメモリ10のやりとりを行うことができる。
図3は、NANDコントローラ11の構成例を示す図である。NANDコントローラ11は、図3に示すようにDMA転送制御用のDMAコントローラ41と、ECC回路42と、NANDインターフェース(I/F)43と、を備える。DMA転送制御用のDMAコントローラ41は、バス26から読み込んだNAND型フラッシュメモリ10へ書き込むデータをECCとともにページサイズ単位でNAND型フラッシュメモリ10へ転送するための書き込みデータ転送機能、NAND型フラッシュメモリ10からページサイズ単位で記憶データおよびECCの読み込みを行い、読み込んだデータをバス26に出力する読み込みデータ転送機能を有する。
また、DMA転送制御用のDMAコントローラ41は、ホスト装置からのデータの書き込み要求情報に従ってデータを書き込む際に、書き込むデータのサイズがNAND型フラッシュメモリ10のページサイズ単位に合致しないデータである場合(NAND型フラッシュメモリ10に書き込みたいデータのサイズがページサイズ未満である場合など)は、ページサイズ単位に不足分のダミーデータを作成して書き込みたいデータに付加し、書き込みデータのサイズをページサイズ単位に調整してNAND型フラッシュメモリ10に転送して書き込む固定値書き込み機能を有する。この機能により、データのサイズがページサイズに合致しない書き込みデータにおいても、ページサイズの不足に起因して次回の読み出し時にECCエラーが発生して正常な読み込みができなくなることを防止することができる。
ECC回路42は、NAND型フラッシュメモリ10に書き込むデータにECCを付加する書き込む機能と、NAND型フラッシュメモリ10から読み込まれたデータとECCとから読み込んだデータの誤りを訂正する機能を有する。NAND型フラッシュメモリ10はデータが誤る可能性が高いため、NAND型フラッシュメモリ10に格納されるデータは、データの書き込み時にNANDコントローラ11でECCが付加されて格納され、読み込み時にNANDコントローラ11でECCを用いてエラー訂正が行なわれる。
NANDインターフェース(I/F)43は、NAND型フラッシュメモリ10にアクセスするためにNANDコントローラ11とNAND型フラッシュメモリ10との間のインターフェース処理を行う機能を有する。
RAMコントローラ23は、DRAM12にアクセスするためにNANDコントローラ11とDRAM12との間のインターフェース処理を行う。ROM24は、MPU22により制御される制御プログラム等を格納する。RAM25は、MPU22の作業エリアとして使用され、ROM24からロードされた制御プログラムや各種のテーブルを記憶する。バス26としては、例えばAHBバスが用いられる。
次に、以上のように構成されたメモリシステム1においてホスト装置から転送されたデータ(CPU2或いはメインメモリ3からのデータ、外部から入力されたデータを含む)を一時DRAM12に格納した後にNAND型フラッシュメモリ10に書き込む際の処理について説明する。
まず、MPU22はホスト装置から転送されたデータと書き込み要求情報を受け取ると、該データを一時DRAM12に格納する。また、MPU22は、DRAM12に格納したデータをNAND型フラッシュメモリ10にディスクリプタ転送するかどうかを判断する。ディスクリプタ転送をしないと判断した場合は、MPU22は通常の転送設定パラメータを用いてデータをNAND型フラッシュメモリ10に転送するようにNANDコントローラ11に指示情報を送信する。
NANDコントローラ11では、DMAコントローラ41が該指示情報に基づいてRAMコントローラ23を介してDRAM12からデータを読み出し、ECCを付加してページサイズ単位でNAND型フラッシュメモリ10へ転送し、NAND型フラッシュメモリ10に書き込みが行われる。ここでは、データのあるアドレス、転送サイズを指定し、そのアドレスから、指定したサイズ分の転送を行う。
ディスクリプタ転送すると判断した場合は、MPU22は該ディスクリプタ転送において参照するディスクリプタテーブルを作成してDRAM12に書き込む。また、MPU22は、ディスクリプタテーブルを参照してディスクリプタ転送を実行する旨のディスクリプタ転送指示情報をデータの読み出しアドレス情報とともにNANDコントローラ11に対して送信する。NANDコントローラ11では、MPU22からの読み出しアドレス情報とに基づいてDMAコントローラ41がDRAM12にアクセスし、DRAM12からデータを読み出す。
また、NANDコントローラ11では、MPU22からのディスクリプタ転送指示情報に基づいてDMAコントローラ41がDRAM12にアクセスし、DRAM12に保持されているディスクリプタテーブル31を読み込んで、どのサイズのデータをどのアドレスに転送するか、どのサイズのデータにどのサイズのダミーデータを作成して付加するか、を指示するディスクリプタ転送パラメータを取得する。そして、DMAコントローラ41は、このディスクリプタ転送パラメータに従って、DRAM12から読み出したデータのNAND型フラッシュメモリ10への転送を行う。
このディスクリプタテーブル31の一例を図4に示す。このディスクリプタテーブル31では、各エントリ1、2、3・・・毎に「データ転送先アドレス」と、転送する「データサイズ」が記述されている。このディスクリプタテーブルのデータ転送先アドレスは図2のシステムではバスの転送先アドレスを示し、データの書き込みが行われるNAND型フラッシュメモリ10の領域はこのアドレスの一部にマップされている。
ここで、このディスクリプタテーブル31におけるデータ転送先のアドレスが特別な値、例えば全て0である場合や全て1である場合には、DMAコントローラ41はディスクリプタテーブル31によって指定された転送する「データサイズ」に基づいて所定の容量のダミーデータを作成する。すなわち、DMAコントローラ41は、ディスクリプタテーブルによって指定されたデータサイズから、NAND型フラッシュメモリ10にページサイズ単位で書き込むために必要なダミーデータのサイズを算出してダミーデータを作成する。そして、DMAコントローラ41は、ダミーデータをNAND型フラッシュメモリ10に転送するためにDRAM12から読み出したデータに付加し、また、ECC回路42においてダミーデータに対してもECCを生成、付加して、ページサイズ単位でNAND型フラッシュメモリ10に転送し、書き込みを行う。
これにより、ページサイズ単位で書き込みデータを転送してNAND型フラッシュメモリ10に対して書き込みを行うことができる。そして、DRAM12上にダミーデータを用意しないため、ダミーデータを格納するためにDRAM12の容量を使用することがない。また、ダミーデータはDMAコントローラ41においてデータに付加されるため、ダミーデータに起因してDRAM12からNANDコントローラ11までのバスの使用率が上昇することがない。また、メモリコントローラを有するASICチップ13の外部のDRAM12へ書き込みデータを用意した場合でも、ダミーデータをDRAM12に用意しないため、ダミーデータをDRAM12に書き込むためのASICチップ13外部へのアクセス増加により消費電力が高くなることがない。
ディスクリプタテーブル31の他の例を図5に示す。このディスクリプタテーブルでは、「データ転送先アドレス」と、「フラグ」と、転送する「データサイズ」が記述されている。このディスクリプタテーブルではデータ転送先アドレスにフラグが付されており、このフラグが特定の値である場合に図4に示すディスクリプタテーブルの場合と同様に、ディスクリプタテーブルによって指定された転送する「データサイズ」に基づいて所定の容量のダミーデータを作成する。
以上のような、本実施の形態によれば、NAND型フラッシュメモリ10へのデータの書き込みにおいて、書き込みデータのサイズ調整用のダミーデータをDMAコントローラ41において作成し、DRAM12上に用意しないため、次の効果を得ることができる。すなわち、ダミーデータを格納するためのDRAM12の容量を確保する必要が無く、DRAM12を有効に使用することができる。また、ダミーデータを転送することによるDRAM12からNANDコントローラ11までのバス使用率の増加を防止して、バス26の有効利用を図ることができる。また、ASICチップ13外部のDRAM12へのダミーデータの転送および書き込みにより生じるアクセス時間を削減することができるため、書き込み処理時間の短縮、および消費電力を削減して低消費電力化を図ることができる。
なお、上記においてはバッファをASICチップ外部のDRAMとして説明したが、ASICチップ内部にSRAMなどのRAMを置き、該RAMをバッファとして使用しても良い。また、上記不揮発性半導体メモリとしてNAND型フラッシュメモリを用いたメモリシステムについて説明したが、メモリシステムとしては例えばSDカードやUSBメモリなどに適用することもできる。
[実施例]
上記実施の形態のメモリシステム1をSSD(Solid State Drive)として構成した場合の実施例について説明する。図6は、SSD100の構成を示すブロック図である。
SSD100は、データ保存用の複数のNAND型フラッシュメモリ(NANDメモリ)10、データ転送用または作業領域用のDRAM101、これらを制御するドライブ制御回路102、及び電源回路103を備えている。ドライブ制御回路102は、SSD100の外部に設けられる状態表示用LEDを制御するための制御信号を出力する。
SSD100は、ATAインターフェース(ATA I/F)を介して、パーソナルコンピュータ等のホスト装置との間でデータを送受信する。また、SSD100は、RS232Cインターフェース(RS232C I/F)を介して、デバッグ用機器との間でデータを送受信する。
電源回路103は、外部電源を受け、この外部電源を用いて複数の内部電源を生成する。これらの内部電源は、SSD100内の各部に供給される。また、電源回路103は、外部電源の立ち上がりまたは立ち下りを検知して、パワーオンリセット信号またはパワーオフリセット信号を生成する。これらパワーオンリセット信号及びパワーオフリセット信号は、ドライブ制御回路102に送られる。
図7は、ドライブ制御回路102の構成を示すブロック図である。ドライブ制御回路102は、データアクセス用バス104、第1の回路制御用バス105、及び第2の回路制御用バス106を備えている。
第1の回路制御用バス105には、ドライブ制御回路102全体を制御するプロセッサ107が接続されている。また、第1の回路制御用バス105には、各管理プログラム(FW:firmware)のブート用プログラムが格納されたブートROM108がROMコントローラ109を介して接続されている。また、第1の回路制御用バス105には、電源回路103からのパワーオン/オフリセット信号を受けて、リセット信号及びクロック信号を各部に供給するクロックコントローラ110が接続されている。
第2の回路制御用バス106は、第1の回路制御用バス105に接続されている。第2の回路制御用バス106には、状態表示用LEDにステータス表示用信号を供給するパラレルIO(PIO)回路111、RS232Cインターフェースを制御するシリアルIO(SIO)回路112が接続されている。
ATAインターフェースコントローラ(ATAコントローラ)113、第1のECC(Error Check and Correct)回路114、NANDコントローラ115、及びDRAMコントローラ119は、データアクセス用バス104と第1の回路制御用バス105との両方に接続されている。ATAコントローラ113は、ATAインターフェースを介してホスト装置との間でデータを送受信する。データアクセス用バス104には、データ作業領域として使用されるSRAM120がSRAMコントローラ121を介して接続されている。
NANDコントローラ115は、4つのNANDメモリ10とのインターフェース処理を行うNAND I/F118、第2のECC回路117、及びNANDメモリ−DRAM間のアクセス制御を行うDMA転送制御用DMAコントローラ116を備えている。
図8は、プロセッサ107の構成を示すブロック図である。プロセッサ107は、データ管理部122、ATAコマンド処理部123、セキュリティ管理部124、ブートローダ125、初期化管理部126、デバッグサポート部127を備えている。
データ管理部122は、NANDコントローラ115、第1のECC回路114を介して、NANDメモリ−DRAM間のデータ転送、NANDチップに関する各種機能を制御する。
ATAコマンド処理部123は、ATAコントローラ113、及びDRAMコントローラ119を介して、データ管理部122と協動してデータ転送処理を行う。セキュリティ管理部124は、データ管理部122及びATAコマンド処理部123と協動して各種のセキュリティ情報を管理する。ブートローダ125は、パワーオン時、各管理プログラム(FW)をNANDメモリ10からSRAM120にロードする。
初期化管理部126は、ドライブ制御回路102内の各コントローラ/回路の初期化を行う。デバッグサポート部127は、外部からRS232Cインターフェースを介して供給されたデバッグ用データを処理する。
図9は、SSD100を搭載したポータブルコンピュータ200の一例を示す斜視図である。ポータブルコンピュータ200は、本体201と、表示ユニット202とを備えている。表示ユニット202は、ディスプレイハウジング203と、このディスプレイハウジング203に収容された表示装置204とを備えている。
本体201は、筐体205と、キーボード206と、ポインティングデバイスであるタッチパッド207とを備えている。筐体205内部には、メイン回路基板、ODDユニット(Optical Disk Device)、カードスロット、SSD100等が収容されている。
カードスロットは、筐体205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部208が設けられている。ユーザは、この開口部208を通じて筐体205の外部から追加デバイスをカードスロットに挿抜することが可能である。
SSD100は、従来のHDDの置き換えとして、ポータブルコンピュータ200内部に実装された状態として使用してもよいし、ポータブルコンピュータ200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。
尚、上記実施の形態のメモリシステム1は、SSDに限らず、例えば、SDTMカードに代表されるメモリカードとして構成することも可能である。メモリシステム1をメモリカードとして構成する場合、ポータブルコンピュータに限らず、携帯電話、PDA、デジタルスチルカメラ、デジタルビデオカメラ等、各種電子機器に対して適用可能である。
この発明の一実施形態に従ったメモリシステムを備えた計算機システムの一例を示す概略図である。 この発明の一実施形態に従ったメモリシステムの構成を示す概略図である。 この発明の一実施形態に従ったメモリシステムにおけるNANDコントローラの構成例を示す図である。 この発明の一実施形態に従ったメモリシステムにおけるディスクリプタテーブルの一例を示す図である。 この発明の一実施形態に従ったメモリシステムにおけるディスクリプタテーブルの一例を示す図である。 この発明の一実施例にかかるSSDの構成を示す図である。 この発明の一実施例にかかるドライブ制御回路の構成を示す図である。 この発明の一実施例にかかるプロセッサの構成を示す図である。 この発明の一実施例にかかるSSDを搭載したポータブルコンピュータの一例を示す斜視図である。
符号の説明
1 メモリシステム、2 CPU、3 メインメモリ、4 メモリコントローラ、10 NAND型フラッシュメモリ、11 NANDコントローラ、12 DRAM、13 ASICチップ、21 ホストインターフェース(ホストI/F)、22 演算処理装置(MPU)、23 RAMコントローラ、24 ROM、25 RAM、26 バス、31 ディスクリプタテーブル、41 DMAコントローラ、42 ECC回路、43 NAND I/F。

Claims (6)

  1. データの書き込み要求情報に従って、ページサイズ単位でデータの書き込みが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
    前記データの書き込み要求情報に従って前記フラッシュメモリへの書き込みを行う書き込みデータのうち前記フラッシュメモリのページサイズ単位に合致しない前記書き込みデータに対して、ダミーデータを付加することによりデータサイズをページサイズ単位に調整して出力すること、
    を特徴とするメモリコントローラ。
  2. 前記メモリコントローラは、前記フラッシュメモリのページサイズ単位に合致しない書き込みデータのディスクリプタ転送に関する指示情報を参照して前記ダミーデータを付加することによりデータサイズをページサイズ単位に調整すること、
    を特徴とする請求項1に記載のメモリコントローラ。
  3. 前記メモリコントローラは、前記指示情報においてデータの転送先として特定のアドレスが指定されている前記書き込みデータに対して、前記ダミーデータを付加することによりデータサイズをページサイズ単位に調整すること、
    を特徴とする請求項2に記載のメモリコントローラ。
  4. 前記メモリコントローラは、前記指示情報においてデータの転送先に特定のフラグが付されている前記書き込みデータに対して、前記ダミーデータを付加することによりデータサイズをページサイズ単位に調整すること、
    を特徴とする請求項2に記載のメモリコントローラ。
  5. 前記フラッシュメモリが、NAND型フラッシュメモリであること、
    を特徴とする請求項1に記載のメモリコントローラ。
  6. 請求項1〜5のいずれか1つに記載のメモリコントローラと、前記メモリコントローラがアクセスして記憶データの読み出しを行うフラッシュメモリと、前記指示情報を記憶する他のメモリと、を備えること、
    ことを特徴とするメモリシステム。
JP2008046705A 2008-02-27 2008-02-27 メモリコントローラおよびメモリシステム Expired - Fee Related JP4672742B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008046705A JP4672742B2 (ja) 2008-02-27 2008-02-27 メモリコントローラおよびメモリシステム
US12/392,276 US8151036B2 (en) 2008-02-27 2009-02-25 Memory controller, memory system, and access control method of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008046705A JP4672742B2 (ja) 2008-02-27 2008-02-27 メモリコントローラおよびメモリシステム

Publications (2)

Publication Number Publication Date
JP2009205411A true JP2009205411A (ja) 2009-09-10
JP4672742B2 JP4672742B2 (ja) 2011-04-20

Family

ID=40999427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008046705A Expired - Fee Related JP4672742B2 (ja) 2008-02-27 2008-02-27 メモリコントローラおよびメモリシステム

Country Status (2)

Country Link
US (1) US8151036B2 (ja)
JP (1) JP4672742B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013516000A (ja) * 2009-12-23 2013-05-09 サンディスク テクノロジィース インコーポレイテッド メモリ装置における制御データの誤り訂正システムおよび方法
JP2014186600A (ja) * 2013-03-25 2014-10-02 Nec Corp 記憶装置
JP2015056171A (ja) * 2013-09-13 2015-03-23 株式会社東芝 メモリシステムおよび情報処理装置
US9183143B2 (en) 2011-08-01 2015-11-10 Kabushiki Kaisha Toshiba Memory device that specifies a size of a segment of write data
JP2017510889A (ja) * 2014-05-30 2017-04-13 株式会社日立製作所 データ重複排除ストレージシステムの方法及び装置
KR101837111B1 (ko) * 2010-07-07 2018-04-19 마벨 월드 트레이드 리미티드 비휘발성 반도체 메모리를 위한 인터페이스 관리 제어 시스템 및 방법
CN110412977A (zh) * 2019-08-29 2019-11-05 青岛亿联客信息技术有限公司 一种用于闪断控制设备的测试装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
JP5317689B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
JP5668279B2 (ja) * 2009-08-06 2015-02-12 ソニー株式会社 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム
US8626963B2 (en) * 2010-05-04 2014-01-07 Mediatek Inc. Packet based data transfer system and method for host-slave interface
TWI465905B (zh) * 2010-09-22 2014-12-21 Toshiba Kk 記憶體系統、主機控制器、及直接記憶體存取之控制方法
JP2013077278A (ja) * 2011-09-16 2013-04-25 Toshiba Corp メモリ・デバイス
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9043669B1 (en) * 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
JP6034183B2 (ja) 2012-12-27 2016-11-30 株式会社東芝 半導体記憶装置
US9838500B1 (en) * 2014-03-11 2017-12-05 Marvell Israel (M.I.S.L) Ltd. Network device and method for packet processing
KR102211868B1 (ko) 2014-12-15 2021-02-04 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
JP6254517B2 (ja) * 2014-12-22 2017-12-27 富士通フロンテック株式会社 媒体取扱装置
KR102280433B1 (ko) * 2015-09-23 2021-07-22 삼성전자주식회사 전력 공급 회로 및 이를 포함하는 저장 장치
KR102568203B1 (ko) * 2016-02-23 2023-08-21 삼성전자주식회사 비휘발성 메모리 장치
KR102585871B1 (ko) * 2016-02-26 2023-10-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10394456B2 (en) * 2017-08-23 2019-08-27 Micron Technology, Inc. On demand memory page size
US11210019B2 (en) 2017-08-23 2021-12-28 Micron Technology, Inc. Memory with virtual page size
US11243714B2 (en) * 2019-06-11 2022-02-08 Samsung Electronics Co., Ltd. Efficient data movement method for in storage computation
TW202244732A (zh) * 2021-05-12 2022-11-16 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008009943A (ja) * 2006-06-30 2008-01-17 Toshiba Corp メモリコントローラ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4074029B2 (ja) 1999-06-28 2008-04-09 株式会社東芝 フラッシュメモリ
KR100673013B1 (ko) 2005-09-21 2007-01-24 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템
JP4842719B2 (ja) * 2006-06-28 2011-12-21 株式会社日立製作所 ストレージシステム及びそのデータ保護方法
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
JP2009211233A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
JP4691123B2 (ja) * 2008-03-01 2011-06-01 株式会社東芝 メモリシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008009943A (ja) * 2006-06-30 2008-01-17 Toshiba Corp メモリコントローラ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013516000A (ja) * 2009-12-23 2013-05-09 サンディスク テクノロジィース インコーポレイテッド メモリ装置における制御データの誤り訂正システムおよび方法
KR101837111B1 (ko) * 2010-07-07 2018-04-19 마벨 월드 트레이드 리미티드 비휘발성 반도체 메모리를 위한 인터페이스 관리 제어 시스템 및 방법
US9183143B2 (en) 2011-08-01 2015-11-10 Kabushiki Kaisha Toshiba Memory device that specifies a size of a segment of write data
JP2014186600A (ja) * 2013-03-25 2014-10-02 Nec Corp 記憶装置
JP2015056171A (ja) * 2013-09-13 2015-03-23 株式会社東芝 メモリシステムおよび情報処理装置
JP2017510889A (ja) * 2014-05-30 2017-04-13 株式会社日立製作所 データ重複排除ストレージシステムの方法及び装置
US10254989B2 (en) 2014-05-30 2019-04-09 Hitachi, Ltd. Method and apparatus of data deduplication storage system
CN110412977A (zh) * 2019-08-29 2019-11-05 青岛亿联客信息技术有限公司 一种用于闪断控制设备的测试装置

Also Published As

Publication number Publication date
JP4672742B2 (ja) 2011-04-20
US8151036B2 (en) 2012-04-03
US20090216937A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
JP4672742B2 (ja) メモリコントローラおよびメモリシステム
US11216323B2 (en) Solid state memory system with low power error correction mechanism and method of operation thereof
TWI540583B (zh) 用於具有非揮發性記憶體之一系統的電力預算的動態分配
US9286985B2 (en) Semiconductor device with power mode transitioning operation
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
US20080126776A1 (en) Electronic apparatus
KR20070060101A (ko) 무선 단말기에서의 비휘발성 메모리 관리 시스템 및 방법
KR20080084082A (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
JP2009003939A (ja) フラッシュメモリ装置を含むメモリシステム
TWI454922B (zh) 記憶體儲存裝置及其記憶體控制器與資料寫入方法
KR20220010424A (ko) 메모리 디바이스들의 병렬 부트 실행
US20140223077A1 (en) Memory system
US10467020B2 (en) Memory device, and information-processing device
US20220374216A1 (en) Method of manufacturing information processing apparatus and mobile computer
KR20170132483A (ko) 메모리 장치의 구동 방법
US20170262208A1 (en) Memory device, host device, and information processing device
KR101620349B1 (ko) 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법
JP2007299249A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
US8976589B2 (en) Storage device
JP2009205410A (ja) メモリコントローラおよびメモリシステム
US11609710B2 (en) Host, data storage device, data processing system and data processing method
JP2009258925A (ja) 計算機システムおよび計算機システムのメモリ管理方法
JP2008065725A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
JP2006127245A (ja) 電子機器システム
CN107526694A (zh) 数据存储装置及其操作方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees