ট্রিম কি FAT32 এর সাথে কাজ করে?


4

উবুন্টু 13.10 এ আমার এসএসডি ছাঁটাই করতে আমাকে সহায়তা করতে আমি এই ওয়েবআপড 8 গাইডটি ব্যবহার করেছি। গাইড বলেছে যে "আপনাকে অবশ্যই নিশ্চিত করতে হবে যে পার্টিশনগুলি EXT4 বা বিটিআরএফএস"। দুর্ভাগ্যক্রমে, আমি নির্বোধের সাথে ধরেছিলাম এইচডিটি এক্সট 4 এ ফর্ম্যাট করা হয়েছে; এটি আসলে ফ্যাট 32

var/log/trimদাড়ায় যে এটা কাজ করে:

*** Sun, 15 Dec 2013 11:30:42 +0000 ***
/: 50567962624 bytes were trimmed

তবে এটি আসলে কিছু করছে? বা ড্রাইভটি পুনরায় ফর্ম্যাট করে আবার শুরু করতে হবে?

যদি এটি কিছুটা ভৌতিক শব্দ মনে হয় তবে দুঃখিত। কোন আশ্বাস অনেক প্রশংসা।


1
আপনার এসএসডি-তে কেন একটি FAT32 ফাইল সিস্টেমের দরকার? দুটি বড় অপারেটিং সিস্টেমের সংমিশ্রণ নেই যা ট্রিম সমর্থনের সাথে যথেষ্ট পরিমাণে সমর্থিত ফাইল সিস্টেম ভাগ করে না (অন্তত অভ্যন্তরীণ স্টোরেজ ডিভাইসের জন্য; উইন্ডোজটি যখন কিছু অপসারণযোগ্য হয় তখন কিছুটা পিক হয়)।
ডেভিড ফোরস্টার

উত্তর:


2

আমি দেখতে পাচ্ছি যে এটি একটি পুরানো প্রশ্ন ... তবে বিষয়টি অনুসন্ধানের প্রথম দিকে উঠে আসে, তাই কার্নেল উত্স থেকে উত্তর দেওয়া ভাল বলে মনে হয়।

লিনাক্স ফাইল সিস্টেম বাস্তবায়ন ট্রিমকে "সমর্থন" করতে পারে তার জন্য দুটি ভিন্ন উপায় রয়েছে:

  • এটি -o discardমাউন্ট বিকল্পটি সমর্থন করতে পারে , তাই বিনামূল্যে যে ব্লকগুলি অবিলম্বে ছাঁটাই হয়

  • এটি FITRIMআইওসিটিএল সমর্থন করতে পারে , যা ইউজারল্যান্ড fstrimকমান্ড অনুরোধের সময় বাল্কে সমস্ত মুক্ত-মুক্ত ব্লকগুলি ছাঁটাইতে ব্যবহার করে

একটি প্রদত্ত ফাইল সিস্টেম বাস্তবায়ন এক, বা অন্য, বা উভয় (বা কিছুই নয়) সমর্থন করতে পারে।

দেখা যাচ্ছে যে discard কার্নেল ২.6.২৮ থেকে এফএটি বাস্তবায়ন করতে সক্ষম হয়েছে । এটি এমনকি মাউন্ট বিকল্পটি পূর্বাভাস দেয়, যা 2.6.33 অবধি উপস্থিত হয়নি। ২.6.২৮ থেকে ২.6.৩২ অবধি, FAT সবে discardশর্তহীনভাবে লেখা হয়েছিল । ২.6.৩৩ সাল থেকে, আপনি এটি নিয়ন্ত্রণে রাখতে পারবেন না এটি হয় কি না।

আইওসিটিএল হিসাবে FITRIM, ভাল, এটি ২.6.৩7-এ একটি জিনিস হয়ে দাঁড়িয়েছে , তবে FAT ফাইল সিস্টেম কোড এটি সমর্থন করে এমন কোনও চিহ্ন আমি দেখতে পাচ্ছি না, এমনকি সর্বশেষতম, বৃহত্তম (আজকের হিসাবে) 13.১১ আরসি 5 তেও । অন্যান্য বেশ কয়েকটি ফাইল সিস্টেম এটি প্রয়োগ করেছে, তবে কেউ FAT এর জন্য বিরক্ত করেছে বলে মনে হয় না।

এটি খুব খারাপ, কারণ কমপক্ষে একটি সাধারণ পরিস্থিতি রয়েছে যেখানে আপনি একবারে সমস্ত বিদ্যমান ফ্রি ব্লকগুলি ট্রিম করার জন্য একটি উপায় চান: আপনি আপনার প্রাচীন কলাটি 6000 ddথেকে সম্পূর্ণ ডিস্ক চিত্রটি তৈরি করে একটি সুন্দর আপগ্রেড দিয়েছেন পুরানো স্পিনিং ড্রাইভটি একটি চকচকে নতুন এসএসডি-তে চালিত করে, তাই এখন পর্যন্ত, এসএসডি-র সম্পর্কিত, ব্লকগুলি সমস্তই লেখা হয়েছে, সেগুলি ফাইল-সিস্টেমের ক্ষেত্রে গুরুত্বপূর্ণ কিনা। সুতরাং, অবশ্যই, আপনি ফাইল সিস্টেম দ্বারা মুক্ত হিসাবে বিবেচিত একগুলি ছাঁটাই করতে চান।

তবে আশা থাকতে পারে। যদিও আমি এখনও এটি চেষ্টা করার সুযোগ পাইনি, আমি মনে করি এটি কার্যকর হতে পারে:

  1. ফাইল সিস্টেমটি মাউন্ট করুন (অবশ্যই ব্যবহার করুন -o discard)।
  2. কিছু খালি ফাইল তৈরি করুন।
  3. fallocate -nএগুলি ব্যবহার করে সর্বোচ্চ সম্ভাব্য আকার পর্যন্ত উড়িয়ে দিন (যা তাদের কাছে কিছু না লিখে ব্লকগুলি বরাদ্দ করে, তাই এসএসডি তে অতিরিক্ত অতিরিক্ত পরিধান রাখবে না)। জন্য FAT32একটি ফাইল, শুধু অধীনে 4 GiB সীমাবদ্ধ যাতে আপনি কেন সব ফ্রি স্থান ব্যবহার করার জন্য অস্থায়ী ফাইল একটি গুচ্ছ প্রয়োজন হতে পারে হয়। (এই পদক্ষেপটি কাজ করার জন্য আপনার 4.5 বা তার পরে কার্নেল প্রয়োজন, যেখানে FAT এর fallocateসমর্থন রয়েছে ))
  4. আপনি সমস্ত খালি স্থান পূরণ করার পরে, সমস্ত মুক্ত ব্লকগুলি সম্পাদনা করে অস্থায়ী ফাইলগুলি থেকে মুক্তি পান discard

এই, অবশ্যই, একটি বলপূর্বক হিসেবে কাজ করতে উচিত fstrimকোন ফাইল সিস্টেম বাস্তবায়ন যে কাজ করতে সক্ষম হয় জন্য বিকল্প discardকিন্তু FITRIM

PS আমি টম ইয়ানের মন্তব্যে নীচে দেওয়া বিকল্প লিঙ্কগুলি পছন্দ করি। আমি বেশি বা কম অফিসিয়াল গিট রেপো থেকে কাজ করছি, তবে টমের সাথে সংযুক্ত পরিষেবাটি সম্পর্কে আমি যা পছন্দ করি তা হ'ল তুলনা করার জন্য আপনি খুব সহজেই কোনও ফাইলের বিভিন্ন সংস্করণের মধ্যে স্যুইচ করতে পারেন।


উত্তরের খারাপ নয়। আমি যদিও এই সঙ্গে আপনার উত্তর দুটি লিঙ্ক প্রতিস্থাপন সুপারিশ করবে: elixir.free-electrons.com/linux/v4.12/source/fs/fat/... elixir.free-electrons.com/linux/v4.12/ident / ফিট্রিম
টম ইয়ান

1

নিম্নলিখিত ফাইল সিস্টেমগুলি TRIM সমর্থন করে: এনটিএফএস, এইচএফএস +, এক্সটি 4, বিটিআরএফস।

অনেকগুলি অপারেটিং সিস্টেম এখন ট্রিম সমর্থন সরবরাহ করে, যা লেখার কর্মক্ষমতা উন্নত করার জন্য ডিজাইন করা হয়েছে। টিআরআইএম কোনও ন্যান্ড ফ্ল্যাশ ডিভাইসের নিয়ামককে মুছে ফেলার প্রক্রিয়া পরিচালনা করার অনুমতি দেয় কোনও সেল থেকে ডেটা মোছার পরে এবং সেই ঘরে পরবর্তী লেখার আগে।

লিনাক্স ২০০৮ এর শেষদিকে ট্রিমকে সমর্থন করা শুরু করেছিল, তবে লিনাক্স সমর্থিত সমস্ত ফাইল সিস্টেম ট্রিম সমর্থন করে না। মাইক্রোসফ্ট উইন্ডোজ ২০০৯ এর শেষ দিকে উইন্ডোজ সার্ভারের সাহায্যে ট্রিমকে সমর্থন করা শুরু করে। ওপেনসোলারিস ২০১০ এর মাঝামাঝি সময়ে টিআরআইএমকে সমর্থন করা শুরু করে mobile

সুতরাং, এই মুহুর্তে, অনেকগুলি নয় তবে সমস্ত বড় অপারেটিং সিস্টেমগুলি ট্রিমকে সমর্থন করে না, যা বর্তমানে কেবল এসটিএ ইন্টারফেসের জন্য উপলব্ধ।

ট্রিম (এছাড়াও বানান ট্রিম) একটি সিরিয়াল এটিএ (এসএটিএ) ইন্টারফেসের একটি নির্দিষ্ট কমান্ড যা একটি অন্তর্নিহিত ন্যাণ্ড ফ্ল্যাশ সলিড স্টেট স্টোরেজ ডিভাইসটি জানায় যা এটি মুছে ফেলতে পারে। ট্রিম, যা ধারণাগতভাবে একটি স্পিনিং হার্ড ড্রাইভের একটি ডিফ্র্যাগ ইউটিলিটির সাথে তুলনা করা যেতে পারে, সক্রিয়ভাবে স্থান খালি করে কর্মক্ষমতা উন্নত করে।

ন্যাণ্ড ফ্ল্যাশ মেমরি পৃষ্ঠাগুলিতে ডেটা সংগঠিত করে এবং পৃষ্ঠাগুলি একসাথে ব্লক করা হয়। পৃষ্ঠা পৃষ্ঠায় ডেটা পড়া ও লেখা যায় তবে কেবল ব্লক স্তরে মুছতে পারে। ফ্ল্যাশ মিডিয়া থেকে ডেটা মুছে ফেলা হলে, সলিড-স্টেট ড্রাইভের সাথে সম্পর্কিত পৃষ্ঠাগুলি মুছে ফেলার জন্য চিহ্নিত করা হয়, তবে মোছা হয় না - কারণ কেবল ব্লকগুলি মোছা যায়। যখন কোনও নতুন ফাইল লেখা হয়, মুছে ফেলার জন্য চিহ্নিত চিহ্নিত পৃষ্ঠাগুলি একটি ব্লকে ভাগ করা হয় যাতে সেগুলি প্রথমে মুছতে পারে, পরবর্তী লেখার জন্য জায়গা তৈরি করে।

টিআরআইএম কমান্ড অপারেটিং সিস্টেমকে সলিড স্টেট ড্রাইভ (এসএসডি) কে অবহিত করতে সক্ষম করে যা কোন নির্দিষ্ট পৃষ্ঠায় থাকা ডেটা ওভাররাইট করা যায়, কঠিন স্টেট ড্রাইভের নিয়ামককে যখন হোস্ট একটি মুছুন আরম্ভ করে এবং সেই সময়টির মধ্যে মুছে ফেলার প্রক্রিয়া পরিচালনা করতে দেয় পরবর্তী লিখুন। লেখার প্রক্রিয়াটি মুছে ফেলার মাধ্যমে লেখাগুলি দ্রুততর হতে পারে।

টিআরআইএম কাজ করার জন্য, হোস্টের অপারেটিং সিস্টেম (ওএস) এবং স্টোরেজ ড্রাইভারদের অবশ্যই ট্রিম কমান্ড সমর্থন করতে হবে support ট্রিম এসএসডি সম্পর্ক কীভাবে কাজ করে তা এখানে। একটি উইন্ডোজ 7 পরিবেশে, উদাহরণস্বরূপ, যখন সলিড স্টেট ড্রাইভটিতে এটিতে ট্রিম সমর্থন রয়েছে তখন অপারেটিং সিস্টেমটি ডিস্ক ডিফ্র্যাগমেন্টেশন অক্ষম করে এবং ট্রিমকে সক্ষম করে। তারপরে, হোস্টের এসএসডি-তে কোনও ফাইল মোছার পরে, ওএস ফ্ল্যাশ কন্ট্রোলারের কাছে একটি ট্রাইম কমান্ড প্রেরণ করে যা বলছে যে কোন ব্লকগুলি মুছে ফেলা যায়। ট্রিম ব্যবহারকারীর দ্বারা ম্যানুয়ালিও শুরু করা যেতে পারে বা প্রতিদিনের ভিত্তিতে নির্ধারিত।

ট্রিম, যা একটি কমান্ড এবং একটি সংক্ষিপ্ত রূপ নয়, বর্তমানে কেবল এসটিএ ইন্টারফেসের জন্য উপলব্ধ। এসএএস কমিটি ইউএনএমএপি, যা ট্রিমের অনুরূপ, এসএএস / এসসিএসআই স্পেসিফিকেশনে যুক্ত করেছে। লেয়া শোয়েব

সম্পাদনা

একটি ট্রিম কমান্ড একটি অপারেটিং সিস্টেমকে সলিড-স্টেট ড্রাইভ (এসএসডি) জানানোর অনুমতি দেয় যা ডেটাগুলির ব্লকগুলি আর ব্যবহারে বিবেচিত হয় না এবং অভ্যন্তরীণভাবে মুছতে পারে।

একটি ট্রিম কমান্ড আপনার অপারেটিং সিস্টেমটিকে চিহ্নিত পৃষ্ঠাগুলির প্রয়োজন হওয়ার আগে এবং সেগুলি পরিষ্কার করার আগে সন্ধান করতে সক্ষম করে। এই ডেটা পৃষ্ঠাগুলি পরিষ্কার করার আগে আপনার সময় সাশ্রয় করে যখন আপনাকে আবার ডেটা পৃষ্ঠাগুলিতে আবার লিখতে হবে। দেখে মনে হচ্ছে আপনার ডেস্কের পাশে আপনার নিজের পুনর্ব্যবহারযোগ্য লোক রয়েছে, কাগজের টুকরোগুলি আসার সাথে সাথে তারা পুনর্ব্যবহার করছেন।

সঠিকভাবে কাজ করতে, ট্রিমকে সলিড-স্টেট ড্রাইভ এবং আপনি যে অপারেটিং সিস্টেমটি ব্যবহার করছেন তা উভয়ই সমর্থন করে। যখন ওএস এবং এসএসডি উভয়ই ট্রিমের পৃথক পৃষ্ঠাগুলি সাফ করতে পারে এবং আপনার সলিড-স্টেট ড্রাইভকে জানানো হবে যে পৃষ্ঠাগুলি এখন ফাঁকা এবং এতে লেখা যেতে পারে।

সমস্ত ফাইল সিস্টেম ট্রিম ব্যবহার করে না। ট্রিম অনুরোধগুলি স্বয়ংক্রিয়ভাবে ইস্যু করতে পারে এমন ফাইল সিস্টেমগুলির মধ্যে হ'ল Ext4, Btrfs, FAT, GFS2 এবং XFS। তবে, পারফরম্যান্স উদ্বেগের কারণে এটি ডিফল্টরূপে অক্ষম করা হয়েছে,

মাইক্রোসফ্ট দাবি করেছে যে, উইন্ডোজ on এ টিআরআইএম শুধুমাত্র এনটিএফএসে প্রয়োগ করা হয়েছে।


1
টিআরআইএম কেবল উইন্ডোজের অধীনে এনটিএফএসের জন্য সমর্থিত। লিনাক্সের অধীনে এটি সমর্থিত নয়।
ফ্যালকনার

আমি জানি যে .... ট্রিমকে সমর্থন করে এমন সমস্ত ওএসের সবেমাত্র তালিকাভুক্ত করেছে :)
মিচ

3
আমি মনে করি না যে এটি ফাইল সিস্টেম যা ট্রিম সমর্থন করে, এটি ফাইল সিস্টেম ড্রাইভার যা এটি সমর্থন করে। সুতরাং এনটিএফএস সমর্থন করে এমন কোনও জিনিস নেই। উইন্ডোজ এনটিএফএস ড্রাইভার এটি সমর্থন করে, লিনাক্স এনটিএফএস ড্রাইভার (এনটিএফএস -3 জি) নয়।
ফ্যালকোনার

@ ফ্যালকোনার যা বলেছিল তাতে যুক্ত করার জন্য - ট্রিম অন্তর্নিহিতভাবে কোনও ফাইল সিস্টেমের সাথে আবদ্ধ নয়। এটি ইন্টারফেস, Sata দ্বারা সংজ্ঞায়িত একটি আদেশ। এটি সিস্টেমের আই / ও ইন্টারফেস (এসএটিএ) ড্রাইভার / মডিউল / যা কিছু দ্বারা প্রেরণ করা হয়। তবে, একটি ট্রাইম কমান্ড কেবল তখনই প্রেরণ করা যায় যখন কোনও ব্লকটি খালি বলে পরিচিত - এবং এটি ওএসের ফাইল-সিস্টেম-নির্দিষ্ট ড্রাইভার / মডিউলের উপর নির্ভর করবে। অন্য কথায়, এটি সম্পূর্ণরূপে বাস্তবায়ন-নির্ভর, এবং FAT32- এ ট্রিম সমর্থনকে প্রযুক্তিগতভাবে প্রতিরোধ করার মতো কিছুই নেই।
বব

1
@ বোবি আপনি বলেছেন "এবং এটি ওএসের ফাইল-সিস্টেম-সংক্রান্ত ড্রাইভার / মডিউলের উপর নির্ভর করবে।" মাইক্রোসফ্ট দাবি করেছে যে, উইন্ডোজ on এ কেবলমাত্র টিটিআইএম এনটিএফএসে প্রয়োগ করা হয়েছে প্লাস প্রযুক্তিগতভাবে আমি এফএটি 32 তে কাজ করে এমন কোনও নিশ্চয়তা দেখতে পাইনি। প্লাস ওপি কেবল FAT32 এর সাথে কাজ করে কিনা তা জানতে চেয়েছিল।
মিচ

0

থেকে Accordind এই :

FAT: একটি মাউন্ট বিকল্প বাতিল করতে

এবং উইকিপিডিয়া :

ট্রিম অনুরোধগুলি স্বয়ংক্রিয়ভাবে Ext4, বিটিআরএফ, ফ্যাট, জিএফএস 2 এবং এক্সএফএস।

হ্যাঁ, এটি সমর্থিত। তবে এই প্রশ্নের উত্তর থেকে পরীক্ষাটি প্রয়োগ করা নিশ্চিত করে নিন ।

আপডেট :

স্মেকি পরীক্ষাটি করেছেন এবং নিশ্চিত করেছেন (মন্তব্য দেখুন) যে টিআরআইএম FAT32 খণ্ডে কাজ করছে।


1
আমি পরীক্ষাটি চেষ্টা করেছিলাম কিন্তু যখন "আউটপুট থেকে কপিটি শুরু_এলবিএ এর নীচে" পেয়েছি তখন অচল। আউটপুটটি আমাকে দিয়েছে: টেম্পাইল: ফাইল সিস্টেম 4096 ব্লক আকার, এলবিএ 999424 এ শুরু হয়; 512 বাইট সেক্টর ধরে। এ ছাড়া শুরু_এলবিএর অধীনে সংখ্যাগুলির 9 সেট রয়েছে। আমি কোন সেট ব্যবহার করব?
স্মেকি

থেকে প্রথম এক begin_LBA কলাম ভাল। (যদি আপনি আরও আউটপুট পান তবে তার অর্থ এই যে ফাইলটি আপনার ড্রাইভে খণ্ডিত হয়েছে But তবে আপনার পার্টিশনটি যেখানে শুরু হবে সেখানেই এটি 9999424 ব্যবহার করবেন না f) এবং fstrim চালাতে আপনি বাতিল করার পরিবর্তে fstrim ব্যবহার করেন কিনা তা ভুলে যাবেন না f সিঙ্ক আগে।
ফ্যালকনার

পরীক্ষার রিপোর্টে ট্রিম ছাঁটাই হচ্ছে। আমি এবং আমার এসএসডি শক্তিশালী স্বস্তি পেয়েছি। আপনার সাহায্যের জন্য ধন্যবাদ.
স্মেকি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.