News


Computex 2014: Transcend Shows SSD370 with Custom Firmware, SSD & RAM Upgrade Kits for Macs

Computex 2014: Transcend Shows SSD370 with Custom Firmware, SSD & RAM Upgrade Kits for Macs

Transcend has lately been shifting their focus and the company’s strategy now is to concentrate on providing upgrade kits to Mac users. That was evident at their Computex booth since nearly half of the booth was dedicated to products designed for Macs and their demos. 

First up is the JetDrive, which consists of four models: 420, 500, 520 and 720. All these drives are similar in terms of hardware and performance and the only difference is simply the form factor and connector. The controller is labeled as Transcend but the actual silicon is from Silicon Motion (or SMI as often called within the industry) but Transcend has designed the firmware themselves. The NAND is Micron’s 128Gbit 20nm MLC, which allows capacities of up to 960GB. 

The 420 is a standard 2.5″ drive but it’s designed for Macs in the sense that it includes a toolbox for OS X that can enable TRIM along with an aluminum USB 3.0 enclosure for the old hard drive. The 500, 520 and 720 are for MacBook Airs and Retina MacBook Pros that use a unique form factor and connector (supported models can be found here). There is also a USB 3.0 adapter included for the old SSD like the one in the picture above. All models are available at up to 960GB and come with a 5-year warranty

Next up is the JetDrive Lite. It’s also designed for Macs and offers an alternative way to increase the internal storage by utilizing the SD card slot. The JetDrive Lite is designed so that it doesn’t stick out of the SD card slot like normal SD cards do, so it can comfortably be used as permanent storage. Performance is also fairly good at least for sequential IO but I wouldn’t hold my breath for SSD-like IOPS. Once again four different models are available: 130, 330, 350 and 360 with the difference being the Mac model that the card is designed for. The supported models can be found here and all models except the 330 are available in both 64GB and 128GB capacities (the 330 is limited to just 64GB).  

Transcend also offers RAM for nearly all Macs made within the last decade or so, including some rarer models such as the eMac.

The SSD370 is based on the same custom Transcend-SMI controller and firmware with Micron’s 128Gbit 20nm NAND but it is aimed for the PC market as the retail package doesn’t include any enclosures or other accessories that the JetDrive 420 does. I’m trying to get a sample of the drive as I’m eagerly looking forward to seeing what Transcend’s firmware team has been able to add to the drive compared to the stock SMI solution.

Some of Transcend’s OEM customers are already employing the SSD370 in server environments. While the drive is mostly designed for the mainstream market, Transcend believes that it’s also suitable as an entry-level enterprise drive.

The SSD370 (or equivalent to it) is also available in M.2 form factor in various lengths. Maximum capacities range from 256GB to 512GB depending on the length and the controller is the same Transcend-SMI solution.

The CFast 2.0 memory cards are designed for high-end video cameras and DSLRs that are capable of recording 4K video. Good quality 4K video, especially uncompressed one, may easily require hundreds of megabytes of throughput per second, so the cards utilize SATA 6Gbps bus to ensure SSD-class performance.

This year a visit to a memory OEM almost guaranteed a sneak peak of DDR4. While Transcend isn’t one of Intel’s official launch partners, they have a full lineup of DDR4 ready, although it’s mainly geared towards the enterprise market.

Apple’s Swift and What it Means for Developers and Users

Apple’s Swift and What it Means for Developers and Users

On Monday Apple revealed iOS 8 and OS X 10.10 Yosemite. Both of these were expected by everyone who has followed Apple’s pattern of software reveals at WWDC for the past few years. But Apple also revealed new power tools for developers that nobody had expected or even imagined would arrive. One of the most significant of these is Apple’s new Metal API to greatly improve graphic performance by removing the limitations and performance impacts created by using OpenGL. Another, and arguably the most significant of them all, is Swift. Swift is Apple’s new programming language. After four years in development and without a single leak, Apple has created and now revealed what will become the foundation of a new generation of applications for both OS X and iOS.

Safety, modern syntax, and powerful features are three design principles that guided the development of Swift and it really shows. There are huge benefits for developers which translate to benefits for users. Naturally because of that, the first thing to discuss is why Swift is great for programmers before discussing why it will be great for users.

Modern Syntax for Modern Code

Being a brand new language, Swift strives to have a modern syntax that enhances code legibility, and works against bad programming habits. One of the most significant of these syntax changes is the elimination of the use of semicolons at the end of statements. For those who are unfamiliar with programming syntax, a statement essentially states an action to be performed. For example, the statement “X = 5;” would mean to set the variable X to be the number five. In many languages such as C, Java, Flash ActionScript, and of course Apple’s own Objective-C every statement must be ended with a semicolon. In Swift, Apple goes for an approach similar to languages like Python where it is not necessary to end statements with a semicolon. While this may be a difficult change to get used to for programmers used to programming in Objective-C, it will greatly reduce the frustration involved with errors due to the programmer simply forgetting to insert the semicolon at the end of a statement.

Another massive improvement comes in the form of new variable declarations and definitions. Traditionally in programming languages a variable is defined by calling it a variable, setting a name, setting a type, and setting a value. For example, the line “var year: = int “2014”;” indicates that a variable named year is being created and that it is an integer with a value of 2014. In Swift Apple has included support for type inference. Essentially, it is no longer necessary for a programmer to indicate what type of variable they are declaring. Based on what the variable is being declared as, Swift is able to infer what type of variable it should be. This means that the previously mentioned line can be shortened to simply read “var year: = “2014”.” This applies to any variable types and also extends to data structures such as arrays where an array of names can simply be defined as var names = [“Elaine”, “Daniel”, “Jash”] and Swift will know that it is an array of strings.

Now of course, the word variable implies that the programming is making a value they intend to change. But what if the programmer is declaring, for example, an integer that should always remain constant? In Swift the programmer is able to define an immutable constant by using the definition “let” rather than “var”. This is a big part of Swift’s new syntax. Immutability is preferred for values that are not going to be changed. From a visual standpoint, defining a constant makes it very clear to anyone reading over code which values are being altered and which are not. From a performance standpoint, declaring values as constants allows the compiler to better optimise code as it knows which values will be changed and which will remain the same. There are also safety benefits to this which will be touched on more later.

There is one final thing to touch on relating to the new code syntax. With Swift, a programmer can assign essentially any Unicode character to be the name of a variable. This allows the use of symbols like the Greek letter theta to represent an angle which further improves readability and effectively communicates what a variable is intended to be. In addition, it also supports emoji and so programmers can assign an emoticon of a banana to represent the word banana should they see fit.

The Programming Power Tools

Swift wouldn’t be a brand new language without some brand new tools and abilities for programmers to take advantage of. Any programmer who uses Apple’s Foundation Framework will be pleased to know that in Swift all typical variables are able to make sure of Foundation methods, and all methods that return a variable return a standard Swift variable rather than an NS variable.

Swift also includes many new ways to modify variables. With Swift strings, a programmer is able to append characters to the end simply by adding them much like accumulating one integer into another. For example, if the programmer takes the string “var name: = “Elain”” and the character “var end: = “e”” they may then write the statement “name += end” and the string will become “Elaine”. This is a stark contrast to Objective-C which would require the use of the NSMutableString type and much more code. This method also works for other data types. Strings may be added together, and arrays can also have values or even sets of values added. If any of the objects are defined using “let” rather than “var” the compiler will give an error about attempting to alter immutable objects.

One of the most powerful features of Swift is something Apple is calling Generics. Generics allow the programmer to create a function that performs a generic task that can work for multiple variable types. For example, a programmer may create a function that adds two variables together, and they may be integers, doubles, strings, etc. The programmer can create a function with a placeholder type name enclosed in angle brackets after the function definition. All variables passed to the function will be created under the placeholder type and the addition operation will be performed on them. This allows the programmer to have a generic piece of code that can perform the same operation on whatever variable types are passed to it, rather than having a function that is limited to accepting a single type of variable.

Safety

One of the big points emphasized with Swift is that it’s safe. Apple’s SSL bug that was revealed earlier this year is a prime example of how such a small code issue can be catastrophic and how it can be missed for quite some time. The explanation of Apple’s SSL bug is rooted in programming syntax. Traditionally when a programmer writes an “if statement” they are evaluating a statement to see if it is true or not. If it is true, the code contained within the if statement is run. Typically an if statement is opened and closed with brace brackets to designate what code is within it. However, in some programming languages if the if statement is resolved in one line it is not necessary to put brace brackets. This is where the security issue arises. When written with brace brackets, the part in the above code where the error occurs should read like this.

if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) {
          goto fail;
}
goto fail;

As you can see, no matter what occurs with the if statement, the second goto fail line is always reached and the SSL verification is terminated. While this bug was likely created by some sort of accident relating to copying and pasting code, it would have been much easier spotted during review had the brace brackets been there to show how the code actually should appear. Clearly Apple is aware of this sort of issue and with Swift they have addressed it. In Swift the programmer must always include brace brackets to open and close an if statement which prevents a whole slew of bugs that can occur due to what is honestly just sloppy programming practices.

Another safety aspect relates to something touched on earlier which is immutability. In programming there is a concept known as thread safety which requires shared data structures to be altered in such a way that execution by multiple threads at the same time will not cause errors. With Swift pushing for all objects that will not be altered to be declared as immutable constants they ensure thread safety for those specific pieces of data as they are not being altered and can be executed in code on multiple threads safely. Swift also ensures that you know what type of data is held in variables and data structures. For example, in the aforementioned array of strings var names = [“Elaine”, “Daniel”, “Jash”] Swift would throw an error should the programmer attempt to add anything other than a string to the array.

One of the final safety related features relates to switch statements. Switch statements can function in a similar way to if statements in that they test a variety of possible scenarios. If implemented poorly this can open the door for code safety issues if a programmer creates a switch statement that does not satisfy any of the given possibilities. For this reason, Swift requires that all switch statements include a default statement which will be run if all other cases fail.

What This Means for Users

Anyone reading this who is not a programmer may be wondering how this impacts them as a user. Well in fact, all of these changes that Apple has made to make things easier for developers also make things easier for users. Apple’s improvements to syntax will eliminate a great deal of time that developers spend resolving small bugs that are hard to spot and relate to a silly issue like a missing bracket or the semicolons that cause annoyance to no end. This means that a developer can find and resolve issues faster which in turn means faster releases and updates for the user. It also means the developer can spend less time debugging and more time doing what they want to do which is add and improve the features in their applications.

Apple’s new tools and methods for writing code allow developers to perform actions more easily and with shorter, more concise code. For the end user this could potentially mean new features that had been more difficult to implement in the past, and it most certainly means that apps will be faster than ever before. In fact according to Apple, Swift can be nearly twice as fast as Objective-C in complex sorting tasks and in performing encryption.

Apple’s safety improvements also serve to benefit the user by preventing issues with incorrect data input that the programmer may not have foreseen. By trying to protect the language from common programming errors relating to variable mutability, thread safety, and input, the user is much less likely to encounter a scenario where a crash occurs in an application.

We’re still learning about Swift. According to Apple 370,000 people downloaded the handbook on the iBooks Store only a day after it was unveiled at the WWDC Keynote. As people work through the handbook and begin to create new applications and augment their existing ones using this powerful new language both the users and Apple themselves will finally see the fruits of their four year labor. For anyone interested in learning more about Swift and what it offers you can download the official Swift handbook on the iTunes store.

AMD Lists New Kaveri Desktop Processors

AMD Lists New Kaveri Desktop Processors

We are now six months down the line from the AMD Kaveri launch, and the only two Kaveri processors available on Newegg today are the A10-7850K at $170 and the A10-7700K at $160. Both of these SKUs come with games as part of the purchase, but as AMD’s biggest desktop processor launch of the year, one might have expected more processors to come to market by this point. This is especially true as AMD sampled the A8-7600 SKU to media with a configurable TDP which showcased a large jump in graphics APU performance at the 45W TDP margin, but this model number has not hit consumer shelves in North America. Perhaps then we get a sigh of relief that AMD are announcing seven new Kaveri APUs, including that A8-7600.

AMD Kaveri APUs
New Model Modules/
Threads
Base MHz/
Turbo
L2
Cache
GPU Memory TDP
  A10-7850K 2 / 4 3.7 / 4.0 4 MB R7, 512 @
720 MHz
DDR3-2133 95W
New A10 PRO-7850B 2 / 4 3.7 / 4.0 4 MB R7, 512 @
720 MHz
DDR3-2133 95W
New A10-7800 2 / 4 3.5 / 3.9 4 MB R7, 512 @
720 MHz
DDR3-2133 65W / 45W
New A10 PRO-7800B 2 / 4 3.5 / 3.9 4 MB R7, 512 @
720 MHz
DDR3-2133 65W / 35W
  A10-7700K 2 / 4 3.4 / 3.8 4 MB R7, 384 @
720 MHz
DDR3-2133 95W
‘New’ A8-7600 2 / 4 3.1 / 3.8 4 MB R7, 384 @
720 MHz
DDR3-2133 65W / 45W
New A8 PRO-7600B 2 / 4 3.1 / 3.8 4 MB R7, 384 @
720 MHz
DDR3-2133 65W / 35W
New A6-7400K 1 / 2 3.5 / 3.9 1 MB R5, 256 @
756 MHz
DDR3-1866 65W / 45W
New A6 PRO-7400B 1 / 2 3.5 / 3.9 1 MB R5, 256 @
756 MHz
DDR3-1866 65W / 35W

These specifications come directly from AMD’s website rather than a specific press release, and features a new line of PRO branded APUs. These APUs will have similar specifications but are earmarked for longer life support and warranties for OEMs. These PRO processors also have a ‘B’ at the end of the name, similar to previous ‘B’ processors in the past that were aimed at business environments.

There are some interesting trends – the dual module APUs all support DDR3-2133 natively, compared to the single module members that are only DDR3-1866. Similarly the dual module versions have 384-512 GPU cores and are classified as R7 series graphics, whereas the single module APUs have 256 cores and are labelled R5. These latter APUs do have a higher GPU frequency however.

All of the APUs will turbo around the 3.8 GHz to 4.0 GHz range, with varying base frequencies. The consumer APUs will be able to configure TDP from 65W to 45W, whereas the PRO models also have a 35W selection point, which will decrease the maximum turbo frequency.

Exact release date and pricing has not yet been announced. Read our Kaveri launch review with the A10-7850K and A8-7600 here.

Source: CPU-World

The Intel SSD DC P3700 Review Part 2: NVMe on Client Workloads

Last week we reviewed Intel’s first NVMe drive: the DC P3700. Based on a modified version of the controller in Intel’s SSD DC S3700/S3500, the P3700 moves to an 18-channel design, drops internal latencies and sheds SATA for a native PCIe interface. The result is an extremely high performance enterprise SSD that delivers a combination of high bandwidth and very low latencies, across a wide span of queue depths.

Although Intel’s SSD DC P3700 is clearly targeted at the enterprise, the drive will be priced quite aggressively at $3/GB. Furthermore, Intel will be using the same controller and firmware architecture in two other, lower cost derivatives (P3500/P3600). In light of Intel’s positioning of the P3xxx family, a number of you asked for us to run the drive through our standard client SSD workload. We didn’t have the time to do that before Computex, but it was the first thing I did upon my return. If you aren’t familiar with the P3700 I’d recommend reading the initial review, but otherwise let’s look at how it performs as a client drive.