アカウント名:
パスワード:
ブロック単位での管理として組んであれば制限は 2TBには来ないと思うんだけど。フラッシュのインターフェースってバイト/ワード単位アドレッシングなの?
コントローラのCPUはそんな広域のメモリはアクセスしないと思うんだけど。主なお仕事はコマンドの解釈とウェアレベリングの判断と各種DMAのキューの管理くらいじゃなくて?
仮想セクタ番号と実ページ番号の対応部分の事を言ってるんじゃない?TLBというかCAMというかページテーブルだけど。
あと、ビット数関係ないけど書き込みキャッシュの管理と書き込み作業が超大事。書き込み前にブロック単位での消去が必須だし、消去する前に未変更部分の読み込みも要るし、書き込みはブロックサイズ分必ず行うし、ウェアレベリングが発生したらそのブロックの読み込み・消去・書き込みも居る。こんな手間のかかる作業は最小限にしたいからキャッシュ管理もしっかりやらないと駄目だし、SSDのコントローラはまじめに作るとかなり複雑になるよ。全ての読み書きがページ対応テーブルを参照しながらになるというのもなかなかダルい。
昔は2048bit 1ページでしたが、最近はいくつなんでしょう?ページ単位で管理して符号なし32bitならちょうど1TiBになると思いますが。
しかしポインタ64ビットにするだけでそんなに大変なんかね
その制御チップに、線が余ってれば出来るでしょうね。アドレスバスが32bitしかないのだとしたら、空きのI/O線が一本あれば33bit,二本あれば34bitにできる。I/O線を使ってアドレス範囲を拡張するというのは必要があれば大昔からやられてるから、それ自体はそんな難しい技術じゃないです。特に今は制御チップのファームウェアを書き換えるだけで済むでしょうから。まぁ、そうなると、特に離れたバンクへのアクセスで色々と煩雑な処理が必要になるのかもしれませんが(キャッシュ容量との兼ね合いもあって、特定のバンク範囲に固まってアクセスさせないようにしないといけないとか色々と)。
コントローラのプロセッサから直に見えるアドレス空間にSSDのフラッシュメモリを配置なんてしてないんじゃないかなあ? するメリットがないと思う。
どうせブロック管理だからそんなに手間ではないと思うけどね。それより現状では需要が少ないからコストとか時間を掛けたくないんでないかな。コントローラーの並列なんぞ、高速化の為だけですらやった経験有るだろうに。
バイト単位でアクセスしたら、制限は2GByteじゃないすか?
8bit単位で読み書きするのではなく、たとえば1024bitとか4096bit単位で読み書きしているんだと思えばいいかな
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
リニアアドレスアクセスなの? (スコア:0)
ブロック単位での管理として組んであれば制限は 2TBには来ないと思うんだけど。
フラッシュのインターフェースってバイト/ワード単位アドレッシングなの?
Re:リニアアドレスアクセスなの? (スコア:1)
Re: (スコア:0)
コントローラのCPUはそんな広域のメモリはアクセスしないと思うんだけど。
主なお仕事はコマンドの解釈とウェアレベリングの判断と各種DMAのキューの
管理くらいじゃなくて?
Re: (スコア:0)
仮想セクタ番号と実ページ番号の対応部分の事を言ってるんじゃない?TLBというかCAMというかページテーブルだけど。
あと、ビット数関係ないけど書き込みキャッシュの管理と書き込み作業が超大事。
書き込み前にブロック単位での消去が必須だし、消去する前に未変更部分の読み込みも要るし、書き込みはブロックサイズ分必ず行うし、ウェアレベリングが発生したらそのブロックの読み込み・消去・書き込みも居る。
こんな手間のかかる作業は最小限にしたいからキャッシュ管理もしっかりやらないと駄目だし、SSDのコントローラはまじめに作るとかなり複雑になるよ。
全ての読み書きがページ対応テーブルを参照しながらになるというのもなかなかダルい。
Re: (スコア:0)
昔は2048bit 1ページでしたが、最近はいくつなんでしょう?
ページ単位で管理して符号なし32bitならちょうど1TiBになると思いますが。
Re: (スコア:0)
しかしポインタ64ビットにするだけでそんなに大変なんかね
Re:リニアアドレスアクセスなの? (スコア:1)
その制御チップに、線が余ってれば出来るでしょうね。
アドレスバスが32bitしかないのだとしたら、空きのI/O線が一本あれば33bit,二本あれば34bitにできる。
I/O線を使ってアドレス範囲を拡張するというのは必要があれば大昔からやられてるから、それ自体はそんな難しい技術じゃないです。特に今は制御チップのファームウェアを書き換えるだけで済むでしょうから。
まぁ、そうなると、特に離れたバンクへのアクセスで色々と煩雑な処理が必要になるのかもしれませんが(キャッシュ容量との兼ね合いもあって、特定のバンク範囲に固まってアクセスさせないようにしないといけないとか色々と)。
Re: (スコア:0)
コントローラのプロセッサから直に見えるアドレス空間にSSDのフラッシュメモリを配置なんてしてないんじゃないかなあ? するメリットがないと思う。
Re: (スコア:0)
どうせブロック管理だからそんなに手間ではないと思うけどね。
それより現状では需要が少ないからコストとか時間を掛けたくないんでないかな。
コントローラーの並列なんぞ、高速化の為だけですらやった経験有るだろうに。
Re: (スコア:0)
バイト単位でアクセスしたら、制限は2GByteじゃないすか?
Re:リニアアドレスアクセスなの? (スコア:1)
8bit単位で読み書きするのではなく、たとえば1024bitとか4096bit単位で読み書きしているんだと思えばいいかな